Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算两个txt.NET文件之间的相似性_Python_Text - Fatal编程技术网

Python 计算两个txt.NET文件之间的相似性

Python 计算两个txt.NET文件之间的相似性,python,text,Python,Text,我有两个不同单词的文本文件。重要的是,文本文件只包含单词而不包含句子。 因此,第一个文件可以如下所示:xyz、acbe、eidjh、eheha。 我想计算这两个文本文件之间的相似性。我想以%的比率显示结果,但也要显示此相似性结果的单词 我读过关于余弦相似性的文章,但我不确定这是否适用于我的问题 一个简单的解决方案是,在读取文件并将其拆分为单词后,只需循环浏览它们,首先将它们分配给字典,以计算每个文件的出现次数,然后计算相对比率,检查哪些单词同时出现在这两个文件中,并计算最终比率: temp1 =

我有两个不同单词的文本文件。重要的是,文本文件只包含单词而不包含句子。 因此,第一个文件可以如下所示:
xyz、acbe、eidjh、eheha。

我想计算这两个文本文件之间的相似性。我想以%的比率显示结果,但也要显示此相似性结果的单词


我读过关于余弦相似性的文章,但我不确定这是否适用于我的问题

一个简单的解决方案是,在读取文件并将其拆分为单词后,只需循环浏览它们,首先将它们分配给字典,以计算每个文件的出现次数,然后计算相对比率,检查哪些单词同时出现在这两个文件中,并计算最终比率:

temp1 = open('yourfile1.txt')
file1 = temp1.read().split(',')
temp1.close()
temp2 = open('yourfile2.txt')
file2 = temp2.read.split(',')
dict1 = {x : file1.count(x) for x in file1}
dict2 = {x : file2.count(x) for x in file2}
similars = set(file1).intersection(set(file2))
rate1 = sum(dict1[w] for w in similars)/len(file1)
rate2 = sum(dict2[w] for w in similars)/len(file2)
print("The rate of similarity is: ", rate1*rate2*100, '%')
print("The similar words are: ", similars)

当然,
yourfile1.txt
yourfile2.txt
是您的文件名。

到目前为止您尝试了什么?你说的相似性是什么意思?你是想数一数有多少个词是相同的还是别的什么?是的,实际上我想数一数有多少个词是相同的。我用same=set(file1).intersection(file2)试过,然后将结果写入输出文本文件。然而,通过交叉点,我只得到了相同的单词。每个文件中都有重复的单词,或者每个单词都是唯一的?每个文件中都有重复的单词。只有一些词是独一无二的。非常感谢!这正是我要找的!不客气!