Python中两个文本文档之间的相似性

Posted

技术标签:

【中文标题】Python中两个文本文档之间的相似性【英文标题】:Similarity between two text documents in Python 【发布时间】:2017-09-23 16:47:06 【问题描述】:

为您提供了四份文件,编号为 1 到 4,每份文件都有一个句子。根据 TF-IDF 分数计算,确定与第一个文档最相似的文档的标识符。

My name is Ankit,
Ankit name is very famous,
Ankit like his name
India has a lot of beautiful cities

输出整数(可以是 2 或 3 或 4),不留前导或尾随空格。

【问题讨论】:

你尝试了什么,显示你的代码。 【参考方案1】:
import numpy as np

from sklearn.feature_extraction.text import TfidfVectorizer

vect = TfidfVectorizer(min_df=1)

tfidf = vect.fit_transform(["My name is Ankit",
                             "Ankit name is very famous",
                             "Ankit like his name",
                             "India has a lot of beautiful cities"])

print ((tfidf * tfidf.T).A)

【讨论】:

如果你有两个数据集[sentencesA,sentenceB],你会怎么做,并获得两者之间的余弦相似度,但不是全部。例如:sent_list_a = ['我吃了披萨','我摔倒了'] 和 sent_list_b = ['我饿了','我受伤了]。对于每一行,我想计算 sent_list_a 和相应的 send_list_b 之间的余弦相似度。

以上是关于Python中两个文本文档之间的相似性的主要内容,如果未能解决你的问题,请参考以下文章

比 tf/idf 和余弦相似度更好的文本文档聚类?

如何运行文本文档编程命令

python 读取文本文档中的数据

请问如何用matlab创建TXT文本文档啊?

如何对法律领域的文本文档进行分类

Python小技巧:打印出来的文本文档中间有空格