我使用tf / idf来计算两个文档之间的相似性。它有一些限制,表现不佳。
我寻找LDA(潜在的dirichlet分配)来计算文档相似度。我不知道 关于这一点。我找不到太多关于我的问题的东西。
您能否提供与我的问题相关的任何教程?或者你能提出一些建议,我怎么能用LDA来完成这项任务?
由于
P.S:还有任何源代码可用于使用LDA执行此类任务吗?
答案 0 :(得分:1)
你看过Lucene和Mahout吗?
这可能很有用 - Latent Dirichlet Allocation与Lucene和Mahout。
答案 1 :(得分:0)
您可能会想到LSA(潜在语义分析),这是解决此类问题的常见方法。
答案 2 :(得分:0)
有点旧,但对于仍然感兴趣的人,请看一下blog post(免责声明:这是我自己的博客)。如果您没有根据任何特定方法设置心脏,那么在那里描述的算法和链接代码可能会做您所需要的。
关于Shashikant的评论,余弦相似性可能不是一个好的选择,因为签名的长度与文档成正比。常数长度签名是优选的。
答案 3 :(得分:0)
尝试此服务来计算两个文档之间的余弦相似性
http://www.scurtu.it/documentSimilarity.html
import urllib,urllib2
import json
API_URL="http://www.scurtu.it/apis/documentSimilarity"
inputDict={}
inputDict['doc1']='Document with some text'
inputDict['doc2']='Other document with some text'
params = urllib.urlencode(inputDict)
f = urllib2.urlopen(API_URL, params)
response= f.read()
responseObject=json.loads(response)
print responseObject