start work
This commit is contained in:
commit
bf04ab8507
3
.idea/.gitignore
generated
vendored
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
8
.idea/E_Commerce_Review_Engine.iml
generated
Normal file
8
.idea/E_Commerce_Review_Engine.iml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
7
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
7
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="PyInterpreterInspection" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
<inspection_tool class="ReassignedToPlainText" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
</profile>
|
||||
</component>
|
||||
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
||||
7
.idea/misc.xml
generated
Normal file
7
.idea/misc.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Black">
|
||||
<option name="sdkName" value="Python 3.12" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/E_Commerce_Review_Engine.iml" filepath="$PROJECT_DIR$/.idea/E_Commerce_Review_Engine.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
3
data.csv
Normal file
3
data.csv
Normal file
@ -0,0 +1,3 @@
|
||||
1;5;good job
|
||||
2;5;nice price
|
||||
3;5;super work
|
||||
|
80
main.py
Normal file
80
main.py
Normal file
@ -0,0 +1,80 @@
|
||||
# Система анализа и модерации отзывов на товары (E-Commerce Review Engine)
|
||||
|
||||
def clean_text(text: str):
|
||||
|
||||
return str
|
||||
|
||||
|
||||
def extract_keywords(text: str, keywords_dict: dict):
|
||||
|
||||
return list
|
||||
|
||||
|
||||
def calculate_sentiment_score(text: str, positive_words: set, negative_words: set):
|
||||
|
||||
return float
|
||||
|
||||
|
||||
def validate_rating(rating: int):
|
||||
|
||||
return bool
|
||||
|
||||
|
||||
def is_spam(text: str, spam_indicators: list):
|
||||
|
||||
return bool
|
||||
|
||||
|
||||
def enrich_review(review: dict, keywords_dict: dict, positive_words: set, negative_words: set):
|
||||
|
||||
return dict
|
||||
|
||||
|
||||
def filter_valid_reviews(reviews: list):
|
||||
|
||||
return list
|
||||
|
||||
|
||||
def calculate_average_rating_by_topic(reviews: list):
|
||||
|
||||
return dict
|
||||
|
||||
|
||||
def detect_anomalies(reviews: list, sentiment_threshold: float = 0.5):
|
||||
|
||||
return list
|
||||
|
||||
|
||||
def generate_summary_report(valid_reviews: list, all_reviews_count: int, anomalies: list):
|
||||
|
||||
return dict
|
||||
|
||||
|
||||
def main():
|
||||
print("\n======== Введите название файла с форматом .csv или используйте по умолчанию (Enter) ========")
|
||||
name_report = input()
|
||||
if not name_report:
|
||||
name_report = "data.csv"
|
||||
#проверка на правильность ввода имени файла
|
||||
if name_report[-4:] == ".csv":
|
||||
try:
|
||||
report = open(name_report, 'r+', encoding='cp1251')
|
||||
except:
|
||||
print("Файл отсутствует")
|
||||
else:
|
||||
#запись файла в список
|
||||
print("Содержимое файла:")
|
||||
dec_report = list()
|
||||
for i in report:
|
||||
dec_report.append(i)
|
||||
report.close()
|
||||
print("id rating text")
|
||||
for i in dec_report:
|
||||
print(i)
|
||||
else:
|
||||
print("Неверный тип файла! "
|
||||
"\nНеобходимо выбрать файл с форматом .csv")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
Reference in New Issue
Block a user