Авторство задачи: Рязанская область.
Решение основано на алгоритмов машинного обучения для классификации текстовых данных. Алгоритмы обучаются размеченных исторических данных, после чего они готовы к автоматической работе с новыми данными (классификация обращений) в реальном времени. В частности, в сервисе используется несколько моделей, основанных на алгоритме Логистической регрессии. В качестве метода векторизации текста используется TF-IDF.
Данное решение является кроссплатформенным т.к. оно запускается в виде веб-сервиса на удаленном сервере.
Используемый язык программирования: Python 3.6.
Для запуска через Docker необходимо выполнить следующие команды (находясь в корневой папке проекта):
docker build -t appeals-webservice:latest . docker run -it -p 8080:8080 appeals-webservice
Если у вас установлен Python 3.6 и pip, можно запустить проект следующими командами:
pip install -r requirements.txt python app.py
В обоих случаях приложение запускается на локальной машине по адресу 0.0.0.0:8080
Пример взаимодействия с UI:
Внешний вид главной страницы сервиса
Пример взаимодействия с API на Python:
import requests, json
if __name__ == "__main__":
prediction_data = ["В нашем городе очень плохие дороги. Много выбоин и ям", "У нас в подъезде валяется мусор, он пахнет. Уберите пожалуйста",]
response = requests.get(url='http://localhost:8080/classify', params={'prediction_data': json.dumps(prediction_data), 'predict_proba': json.dumps(True), 'user_mode': json.dumps(True)})
print(response.json())
response = requests.get(url='http://localhost:8080/classify', params={'prediction_data': json.dumps(prediction_data), 'predict_proba': json.dumps(False), 'user_mode': json.dumps(False)})
print(response.json())```