Skip to content

choseenonee/lct-misis-ryazan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏆 ЛЦТ. Якутия. 2023

Всероссийский ИТ-конкурс для лучших специалистов по разработке цифровых решений в самом большом регионе России.

❓ Задача

Нужно было разработать сервис для анализа социальных сетей в целях профориентации молодежи. Кейс был представлен от компании Профилум.

🎉 Результат

  • 🥈 2 место
  • Кейсодержатели обещали посотрудничать
  • Почёт и уважение от хакатон-клуба

🚀 Как запустить?

ml_with_backend

Чтобы развернуть МЛ сервис, необходимо установить python версии 3.10 и выше, а так же, с помощью pip, установить зависимости из requirements.txt с помощью команды pip install -r requirements.txt.
Затем Вы можете запустить сервис с помощью команды python3 main.py

frontend_with_backend

Для запуска этого сервиса, вам необходимо установить docker, docker-compouse, а так же make.
После установки вы можете запустить весь сервис командой make. Для выключения сервиса используется make clean.

📝 Решение

😇 Baseline

Попробовали взять данные о подписках пользователя. Взяли названия групп, пропустили через суммаризатор T5. После чего при помощи ruBert получили эмбеддинги текста после суммаризации и текста-описании професии. Расчитали косинусную близость эмбеддингов и получили для каждой профессии свое значение близости.

📈 Улучшаем

Далее вместо суммаризатора T5 решили использовать YandexGPT Lite. Поработали над промтом и выводит гораздо лучшую информацию. Отсеивает мемы, выделяет интересы и хобби. Вместо получения эмбеддингов использовали sentence-rubert, который сразу же выдает косинусную близость текстов и, соответственно, заранее обучен под такую задачу.

💥 Киллер-фича, или то, что оценили эксперты

Пришла идея рассматривать характер пользователя. Получилось найти модель bert-base-personality, которая проводит психолингвистический анализ письменной коммуникации пользователя. Модель выдает так называемые BigFive показатели: экстраверсия, добросовестность, невротизм, дружелюбие и открытость к опыту. На основе этого можно судить о характере пользователя и возможной предрасположенности к той или иной профессии. Эти показатели вместе с промтом мы подаем в YandexGPT, которую мы просим описать личность/характер пользователя и порассуждать, какие профессии ему могут подойти. Это вместе с текстом о хобби мы подаем в модель sentence-bert и получаем косинусную близость эмбеддингов текста о пользователе и текста об описании профессии. Кстати говоря, описание профессии мы сделали таким, чтобы в нем говорилось о том, какой характер личности должен быть, какие интересы должны быть, то есть подстроились под наши данные.

⚡ Веб-сервис

Backend реализовали на Fastapi и Docker. Примечательно, что мы реализовали сервис на двух серверах. Это пришлось сделать, потому что мы начали делать на одном сервере, к которому привязан домен. Этот домен мы привязали к VK api. Но в какой-то момент память на сервере закончилась, нам не кайф было переделывать VK api на другой домен и мы просто арендовали второй сервер для ML части)
Frontend реализовали на React, Vite и Tailwind. Мы рисовали дизайн сами, дополняя к написанным стилям спрайты из фигмы.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published