Хранение значений TF-IDF в инвертированном индексе
Я создаю поисковую систему для поиска по списку примерно из 20 тысяч английских фраз, каждая из которых состоит из нескольких слов.
Я изучил способы создания поисковой системы, и в настоящее время я использую TfidfVectorizer из sklearn и Cosine Similarity для вычисления рейтинговых оценок.
Насколько я понимаю, у вас есть этапы поиска и ранжирования, однако я не понимаю, как вы могли бы использовать структуру данных, такую как инвертированный индекс, для ускорения поиска перед использованием TfidfVectorizer? Похоже, что TfidfVectorizer создает матрицу документа-термина, которая отличается от индекса. Не могли бы вы просто сохранить значения TF и IDF в инвертированном индексе и использовать косинусное сходство во время выполнения? В идеале мне нужно автозаполнение фраз, поэтому мне также нужно хранить граничные нграммы, а логическая модель здесь бесполезна.