Uniaff commited on
Commit
6da8f32
·
verified ·
1 Parent(s): 098508e

Update func_ai.py

Browse files
Files changed (1) hide show
  1. func_ai.py +35 -6
func_ai.py CHANGED
@@ -58,20 +58,49 @@ def retrieve_from_vdb(query):
58
  print(f"Ошибка при поиске: {response.text}")
59
  return []
60
 
 
 
 
61
  def analyze_sentiment(comments):
62
  print("Начинаем анализ настроений.")
63
  results = []
 
64
  for i in range(0, len(comments), 50):
65
  batch = comments[i:i + 50]
66
  print(f"Анализируем батч с {i} по {i + len(batch)} комментарий: {batch}")
67
 
68
- # Translate comments into English before sentiment analysis
69
- translated_batch = [GoogleTranslator(source='auto', target="en").translate(comment) for comment in batch]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  print(f"Переведённый батч: {translated_batch}")
71
 
72
- batch_results = sentiment_model(translated_batch)
73
- print(f"Результаты батча: {batch_results}")
74
- results.extend(batch_results)
75
- time.sleep(1) # Задержка для предотвращения перегрузки
 
 
 
 
 
 
 
 
76
  print(f"Анализ настроений завершен. Общие результаты: {results}")
77
  return results
 
 
58
  print(f"Ошибка при поиске: {response.text}")
59
  return []
60
 
61
+ from deep_translator import GoogleTranslator
62
+ import time
63
+
64
  def analyze_sentiment(comments):
65
  print("Начинаем анализ настроений.")
66
  results = []
67
+
68
  for i in range(0, len(comments), 50):
69
  batch = comments[i:i + 50]
70
  print(f"Анализируем батч с {i} по {i + len(batch)} комментарий: {batch}")
71
 
72
+ translated_batch = []
73
+ valid_comments = [] # Список комментариев с успешным переводом
74
+
75
+ for comment in batch:
76
+ try:
77
+ translated = GoogleTranslator(source='auto', target="en").translate(comment)
78
+ if translated:
79
+ translated_batch.append(translated)
80
+ valid_comments.append(comment)
81
+ else:
82
+ print(f"Перевод комментария не удался или вернул пустую строку: {comment}")
83
+ except Exception as e:
84
+ print(f"Ошибка при переводе комментария '{comment}': {e}")
85
+
86
+ if not translated_batch:
87
+ print("Все переводы в этом батче не удались. Пропускаем этот батч.")
88
+ continue # Переходим к следующему батчу, если перевод не удался
89
+
90
  print(f"Переведённый батч: {translated_batch}")
91
 
92
+ try:
93
+ batch_results = sentiment_model(translated_batch)
94
+ print(f"Результаты батча: {batch_results}")
95
+ results.extend(batch_results)
96
+ except Exception as e:
97
+ print(f"Ошибка при анализе настроений: {e}")
98
+ # Добавляем результат с неопределенным настроением для каждого переведенного комментария
99
+ for _ in translated_batch:
100
+ results.append({'label': 'UNKNOWN', 'score': 0.0})
101
+
102
+ time.sleep(1) # Задержка для предотвращения перегрузки API
103
+
104
  print(f"Анализ настроений завершен. Общие результаты: {results}")
105
  return results
106
+