Название проекта: Разработка вопросно-ответной системы для нормативно-правовых актов России
Название команды: Клюква
Формат системы: Web-app
Цель:
Создать сервис, в котором можно получить ответ на собственный вопрос, который содержится в нормативно-правовых актах России.
Описание:
Наш продукт нацелен на получение ответа из вопроса исходя из контекста, который формируется семантическим поиском по запросу.
Целевая аудитория:
Люди любого пола, ищущие в сети Интернет актуальную информацию о том или ином законодательном акте. В особенности: юристы, адвокаты, судьи и политики.
Основное преимущество:
Нашим главным преимуществом является скорость нахождения ответа, человеку нужно будет просто зайти на сайт, выбрать нормативно-правовой акт или загрузить собственный документ, затем написать вопрос и получить ответ. Конечному пользователю не нужно ничего скачивать и разворачивать на сервере, всё доступно по ссылке.
Стек технологий:
- Язык программирования Python
- HuggingFace — библиотека, в которой хранятся предобученные модели для машинного обучения
- Streamlit — фреймворк, позволяющий создавать графический интерфейс для ML
- fastText — это библиотека, содержащая предобученные готовые векторные представления слов
Основные требования к ПО для развёртывания:
Подробнее смотрите в requirements.txt
Порядок установки и запуска:
1. git clone https://github.com/codemurt/intelligentanswer.git
2. cd intelligentanswer
3. pip install -r requirements.txt
4. streamlit run main.py
Структура приложения:
/doc_file_worker.py
- файл, отвечающий за работу с документами: сохранение, загрузка
/main.py
- точка входа для приложения
/model.py
- файл, в котором происходит работа с Q&A моделью
/word2vector.py
- файл, в котором просходит препроцессинг, токенизация, стемминг слов и получение их эмбеддингов.
/requirements.txt
- файл, содержащий все зависимости нашего приложения
/resources/doc_text/doc_json.json
- json-файл, в котором хранится список заранее загруженных документов + документов, загруженных пользователем
/resources/embeddings/*.bin
- в этой директории хранятся эмбеддинги для каждого документа