Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 稀疏矩阵/内部矩阵维数

好吧,尝试用搜索引擎做点什么。

我已经从5个文档的集合中生成了一个矩阵(term-document)。输出为:

docs = (5,1)1.0000(1,2)0.7071(3,2)0.7071(1,3)0.7071(5,3)0.7071(3,4)1.0000(4,5)1.0000

另外,我已经根据用户查询生成了查询矩阵。

q = (1,1)1(2,1)1

我正在尝试使用向量空间建模来查找与用户查询相似的文档集。代码如下:

% docs is a sprase matrix presenting a number of document. sc=zeros(1, n); doc_inds=zeros(1, n); % q is the user query. sc=q'*docs; %sort documents according to their similarity coefficient with the query [sc, doc_inds]=sort(sc); sc=sc(end:-1:1);doc_inds=doc_inds(end:-1:1); 行sc=q'*docs;总是产生错误说:???内部矩阵尺寸必须同意。

谁能帮我解决这个问题?感谢您的时间。



回答:

根据您示例中的数据, docs为5x5, q为2x1。矩阵乘法q'*docs试图将1x2矩阵与5x5矩阵相乘。矩阵乘法要求第一个矩阵的第二维与第二个矩阵的第一维一致,因此会出现误差。

为什么要在sc=zeros(1, n);行定义sc sc=zeros(1, n);然后用这个矩阵乘法覆盖它?



更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 23:33


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.