Skip to content

Dimmas/text_comparator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

text_comparator

Задание NLP

Необходимо реализовать алгоритм, определяющий смысловую схожесть двух текстов небольшой длины (до 50 слов). Для тестирования результатов и/или обучения заказчик рекомендовал использовать датасет ParaPhraser (http://paraphraser.ru/) Решение должно представлять из себя бинарный классификатор, принимающий на вход две фразы, а на выходе предоставляющий информация о схожести фраз. Решение должно быть реализовано в виде веб-сервиса на языке Python, разрешается использовать любые сторонние библиотеки.

В качестве результата необходимо предоставить исходные коды, желательно выложить GitHub, Bitbucket.

Решение:

Для решения использовал transformers, PyTorch и предобученную модель SBERTA от Сбербанк. Сравнивал схожесть полученных векторов через коссинусное расстояние (cosine_similarity из sklearn.metrics.pairwise) Оформил решение на Flask. Понятно, что для продакшн потребовалось бы делать валидацию, выносить подключение sbert_large_nlu_ru в инициализатор Flask и сборку легкого docker-контейнера, но для тестового задания на junior data-scientist думаю этого может быть достаточно. Если бы входные данные были на английском языке, то для решения я бы использовал Spacy и решил задачу в три строки, без какого-либо вникания под капот.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published