Skip to content

DoOoMB/Alabuga-hackathon

Repository files navigation

Alabuga-hackathon

Данный репозиторий является решением кейса для хакатона Алабуги. Задача заключалась в анализе тональности относительно конкретных организаций в статьях Ленты.

Эксперименты

Результаты экспериментов по нахождению именованных сущностей (в том числе, организаций) можно видеть в следующей таблице image

Результаты экспериментов по анализу тональности (с учётом сущностей): image

Лучшей моделью была признана "RuBERT x2 (binary classifications, 1-10ep, 0.01lr; 2-20ep, 0.01lr)", как показывающая лучшие результаты на всех классах. Данная модель является последовательным применением двух бинарных классификаторов, один из которых опеределяет нейтральные фразы, а второй - позитивные и отрицательные.

Сами эксперименты можно посмотреть здесь (также этот файл можно увидеть в папке notebooks). Данные расположены здесь.

Сервер

Чтобы запустить код на локальной машине необходимо выполнить следующие команды (необходимо наличие Python на компьютере). Код тестировался на Windows 10, Python 3.11.

git clone https://github.com/DoOoMB/Alabuga-hackathon
python -m pip install -r requirements.txt
python manage.py

На сервере реализована авторизация, история запросов каждого пользователя, а также доступно API.

Команды API:

  1. POST-запрос на страницу https://<домен-сайта>/guest с json вида {"url": "https://lenta.ru/news/2024/07/03/v-dagestane-zapretili-nosit-nikab-ranee-k-etomu-prizyval-bastrykin/"} выдаст данные об организациях и отношении к ним в этом тексте в формате {"status": "ok", "output": {"companies": [{"name": "OrgName1", "estimate": "POSITIVE"}]}}. В случае ошибки: {"status": "error", "message": "error message"}