Skip to content

Dju999/nn_search

Repository files navigation

Пример рекомендаций: запросы на естественном языке

В скрипте использованы библиотеки для лемматизации (nltk, pymorphy2), различные подходы к векторизации текста (tf-idf, Word2Vec) и показаны некоторые приемы для быстрого поиска по векторному пространству (pysparnn, BallTree, инструменты Gensim).

Входной tsv-файл векторизуется (есть примеры нескольких способов), затем по векторам строится поисковый индекс и пример поиска по запросу на естественном языке.

Пример использования

В файле doc_vectorizer.py пример оформлен в функции main - ищем фильмы про Ирландию

if __name__ == '__main__':
    """Пример работы алгоритма"""
    content2vec = Content2Vec(config)
    content2vec.build()
    content2vec.make_query('Ирландия', engine='gensim-tfidf')

Запускаем скрипт из командой строки, ждём пока сформируется поисковый индекс и видим результат

python doc_vectorizer.py

...
2018-04-06 17:00:30,470 : INFO : loading SparseMatrixSimilarity object from data.0
2018-04-06 17:00:30,587 : INFO : loaded data.0
654850: Ирландия – страна зодчих
573320: Ветер, который качает вереск
1265890: Убийственная поездка
1858510: Волки-перевертыши
2123810: Конец предложения
891820: Сестры Магдалины
1893890: Блок «H»
1072540: Блуждание ягнят
647950: Майкл Коллинз
1559070: Нервозный Тайлер Окли
1092450: Однажды в Ирландии
582680: Охота на Веронику
1148780: Прах Анджелы
1987880: Новенький
859520: Последний Леприкон

Мы построили список фильмов про Ирландию (хотя часто этого слова нет и в названии).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published