我试图返回两个文档之间所有相似的句子,我的解决方案是有效的,但速度非常慢。有没有更有效的方法来实现这一点?在
我打开两个文档(A和B),并使用NLTK将两个文档中的每个句子提取到list_A和list_B(fast)。从那里,我循环查看列表_u a中的每个句子,并将每个句子与列表_b中的所有句子进行比较(慢)。如果这两个句子在百分比上是相似的,我会将类似的句子附加到结果列表中,以便以后查看。在
我用来比较两个句子的代码:# Compare two sentences
def compare_sentences( sentences_a, sentences_b ):
# Init our vectorizer
vect = TfidfVectorizer( min_df = 1 )
# Create our tfidf
tfidf = vect.fit_transform( [ sentences_a, sentences_b ] )
# Get an array of results
results = ( tfidf * tfidf.T ).A
# Return percentage float
return float( '%.4f' % ( results[0][1] * 100 ) )
# end compare_sentences()
我已经看到了很多有用的答案,描述了如何在一般意义上比较两个文档,但是我想找到一个解决方案,提供两个文档之间所有相似句子的列表。在
谢谢你的帮助。在