我必须根据以下问题在Python中使用向量空间模型创建演示:
(I)。哪些文件有类似的文字 (ⅱ)。将类似文件放在一个组中[例如:GROUP_1(FILE25,FILE65)]
注意:一个文件可能会添加到多个组中 我的意思是一个文本可以类似于多个组
我目前有以下代码:
import filecmp
files = ['F1.txt', 'F2.txt', 'F3.txt', 'F4.txt', 'F5.txt']
comparisons = {}
for itm in range(len(files)):
try:
res = filecmp.cmp(files[itm], files[itm+1])
comparisons[str(files[itm]) + ' vs ' + str(files[itm+1])] = res
except:
pass
try:
res = filecmp.cmp(files[itm], files[itm+2])
comparisons[str(files[itm]) + ' vs ' + str(files[itm+2])] = res
except:
pass
try:
res = filecmp.cmp(files[itm], files[itm+3])
comparisons[str(files[itm]) + ' vs ' + str(files[itm+3])] = res
except:
pass
try:
res = filecmp.cmp(files[itm], files[itm+4])
comparisons[str(files[itm]) + ' vs ' + str(files[itm+4])] = res
except:
pass
print(comparisons)
这给出了:
{'F1.txt vs F2.txt': True, 'F1.txt vs F5.txt': False, 'F2.txt vs F4.txt': True,
'F3.txt vs F4.txt': False, 'F1.txt vs F4.txt': True, 'F2.txt vs F3.txt': False,
'F2.txt vs F5.txt': False, 'F1.txt vs F3.txt': False, 'F3.txt vs F5.txt': False,
'F4.txt vs F5.txt': False}
如何解决此问题?
答案 0 :(得分:0)
对于上述两个步骤,sklearn中有现成的函数。只是浏览图书馆
或者,您可以简单地使用Fuzzywuzzy。它使用EditDistance(而不是矢量空间)进行比较,但是在很多情况下效果都很好。