Возможности "TF-IDF ranker"

Коллеги, добрый день! Я правильно понимаю, что TF-IDF ranker представляет из себя часть Document retriever из DrQA пока без возможности доставать факты из документа вместе с возвращаемым документом. Простыми словами, он повторяет возможности классической индексации текста (tf-idf) в обратный индекс (lucene, solr, sphinx), но через хэширование n-грам и их быструю выборку БЕЗ машинного обучения и без возможности добавлять документы в корпус на лету (без переучивания всех хэшей).

Пытаюсь понять бизнес-кейсы применения данной модели. Может она показывает лучшие recall/precision, чем классические ранжировщики систем с обратным индексом. Тогда можно добавить в нее редко меняющиеся документы (FAQ или ответы техподдержки) и вместо lucene/solr/sphinx отдавать документы на запросы со значительно улучшенным ранжированием?

Добрый день,

Всё верно, реализация в DeepPavlov сделана по статье про DrQA. Плюсы хэширования - меньше съедает оперативной памяти при подгрузке tf-idf матрицы, а также быстро ранжирует. На лету нет возможности добавлять документы в текущей реализации, так как делали скорее рисерч с возможностью комбинировать различные варианты ранжирования, чем продакшн-систему по типу Elastic.

Я сравнивала качество работы алгоритма в DeepPavlov и Elastic search в базовой конфигурации из коробки, и сравнение было в пользу DeepPavlov. В документации у нас приведены метрики качества только для английского, для русского они чуть повыше, так как дамп русскоязычной Википедии, на котором тестируется качество, меньше.

Но дело в том, что Elastic плох только в базовой конфигурации из коробки - если собрать ранжировщик не только из tfidf, но и из разнообразных плагинов lucene, то качество может стать приемлемым.

1 Like

Спасибо большое за развернутый ответ!