![]() |
[讨论]向量相似性比较
目前正在用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循环实现),效率太低!大家讨论下有没有其它高效的办法对矩阵进行两两向量相似度计算。(不知道我说清楚了没撒) |
回复: [讨论]向量相似性比较
思路一、这个有些类似于排序算法中的问题
可以尝试一下多路排序,也就是多路比较 分别随机选择m篇文章,这m篇文章同时和另外m篇文章进行相似度比较 思路二、先聚类,再计算相似度,采用聚类算法 |
所有时间均为北京时间。现在的时间是 05:15。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.