带有Tf-Idf的python搜索引擎

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有Tf-Idf的python搜索引擎相关的知识,希望对你有一定的参考价值。

这是我的代码

 from sklearn.feature_extraction.text import TfidfVectorizer
 corpus = [
     "this is first document ","this is second document","this is third","which document is first", ]

 vectorizer = TfidfVectorizer()

X = vectorizer.fit_transform(corpus)

X.toarray()

现在这就是我想做的?

当我搜索document时,应该给我[1,2,4]个文档(句子)

当我搜索first document时,应该给我[1]个文档(句子)

当我搜索second时,应该给我[2]个文档(句子)

我想使用TfIdf进行此操作(我无法进行常规搜索)

我该怎么做?

答案

首先,您必须问自己一个问题:TfidfVectorizer做什么?答案是:它将文档转换为向量。您如何进一步进行?一种解决方案是通过使用矢量化程序将您的查询也转换为矢量。然后,您可以比较转换后的查询向量和数据库中文档的每个向量之间的余弦相似度。与查询向量的余弦相似度最高的文档是最相关的文档(至少根据向量空间模型而言)。https://towardsdatascience.com/tf-idf-for-document-ranking-from-scratch-in-python-on-real-world-dataset-796d339a4089是示例实现。

以上是关于带有Tf-Idf的python搜索引擎的主要内容,如果未能解决你的问题,请参考以下文章

Python:在 Pandas 中计算两列之间的 tf-idf 余弦相似度时出现 MemoryError

翻译: 词频逆文档频率TF-IDF算法介绍及实现 手把手用python从零开始实现

翻译: 词频逆文档频率TF-IDF算法介绍及实现 手把手用python从零开始实现

翻译: 词频逆文档频率TF-IDF算法介绍及实现 手把手用python从零开始实现

启动带有地址的片段地图进行搜索

没有带有拉动刷新的互联网消息 webview 片段