poster
2019-12-14, 20:13
好吧,尝试用搜索引擎做点什么。
我已经从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);然后用这个矩阵乘法覆盖它?
更多&回答... (https://stackoverflow.com/questions/5100742)
我已经从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);然后用这个矩阵乘法覆盖它?
更多&回答... (https://stackoverflow.com/questions/5100742)