Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 2.85 KB

README.md

File metadata and controls

20 lines (15 loc) · 2.85 KB

Это мой диплом.

Идея диплома заключается в том, чтобы брать комментарии с яндекс маркета и анализировать их через нейронную сеть.

Для анализа используются две нейронки, одна возвращает эмбединги, другая нейронка анализирует эмоциональный окрас сообщения.

Каждая нейронка работает отдельным процессом, и под каждую нейронку создан grpc сервер на python, чтобы можно было использовать нейронку из c# с минимальной задержкой (на фоне работы нейронки она даже не чувствуется).

Каждая нейронка передает данные через GRPC Stream.

Главный сервер, на котором происходит анализ и кластеризация написан на c#. Чтобы обходить защиту от робота используется Playwright (на момент написания диплома это работало, сейчас перестало, надо искать другой способ) Чтобы систему сделать отказоустойчивой к различным исключениям, которые могут возникнуть: сеть сломалась, запрос не сработал и т.д используется Hangfire + mssql0 (изначальн использовался Redis, но после переноса разработки на windows оно сломалось с redis и работает с mssql) Чтобы сохранять промежуточные данные во время анализа, прочтенные комментарии, промежуточную кластеризацию и т.д используется redis Используется рекурсивные вызовы планировщика задач из Hangfire пока не закончатся комментарии и они не будут проанализированы Алгоритм анализа сложно описать словами, но если кратко:

  1. Происходит чтения и парсинг данных с яндекс маркета с помощью Hangfire и Playwright
  2. После окончания чтения происходит анализ комментариев с помощью алгоритма k-means. Каждая итерация данного алгоритма это одна задача в Hangfire
  3. Когда анализ закнчивается по SignalR отправляет событие что анализ завершен