我正在创建一个搜索引擎来搜索大约 20k 个英语短语的列表,每个短语只有几个单词。
我已经研究了创建搜索引擎的方法,目前我正在使用来自 sklearn 的 TfidfVectorizer 和 Cosine Similarity 来计算排名分数。
根据我对信息检索的了解,您有检索和排名阶段,但是我很困惑如何在使用 TfidfVectorizer 之前使用倒排索引之类的数据结构来加快搜索速度?似乎 TfidfVectorizer 创建了一个与索引不同的术语文档矩阵。您可以将 TF 和 IDF 值存储在倒排索引中并在运行时使用余弦相似度吗?理想情况下,我想要短语的自动完成,所以我还需要存储边缘 ngram,而布尔模型在这里没有用。