PDA

查看完整版本 : [讨论]向量相似性比较


walterhj
2009-03-22, 00:25
目前正在用matlab做中文文本话题发现的实验,现在已经将152篇文章处理成tfidf向量,导入到matlab后是个4014X152的矩阵(x)(4014是词语数量),再用svd函数对这个矩阵进行奇异值分解:
[u,s,v]=svd(x,0),其中:
u为词语相关性矩阵,4014X152;
s为奇异值矩阵,152x152;
v为文章相关性矩阵,152x152;
所以,要找出这152篇文章中关注度最高的文章,需要对v矩阵的152个向量两两比较相似度,平均值最高的就是最受关注的话题。现在的问题是:要求出这个最高相似度,需要对v矩阵进行152X152=23104次dot计算(用for循环实现),效率太低!大家讨论下有没有其它高效的办法对矩阵进行两两向量相似度计算。(不知道我说清楚了没撒)

云龙九现
2009-03-24, 16:23
思路一、这个有些类似于排序算法中的问题
可以尝试一下多路排序,也就是多路比较
分别随机选择m篇文章,这m篇文章同时和另外m篇文章进行相似度比较
思路二、先聚类,再计算相似度,采用聚类算法