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

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

Лучшей моделью была признана "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:
- 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"}