2011-02-24 97 views
1

那麼,試着用搜索引擎的東西。稀疏矩陣/內部基質尺寸

我已經產生從5個文檔的集合的矩陣(術語的文檔)。輸出是:

文檔= (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;總是產生錯誤說:???內矩陣尺寸必須爲同意。

誰能幫助我得到一個想法來處理呢?欣賞你的時間。

回答

3

根據您的示例中的數據,docs是5×5和q是2×1。矩陣乘法q'*docs試圖乘以1×2矩陣5x5矩陣。矩陣乘法要求第一個矩陣的第二個維度與第二個矩陣的第一個維度一致,從而產生錯誤。

爲什麼你在sc=zeros(1, n);行定義sc然後用這個矩陣乘法覆蓋它?

+0

我理解矩陣尺寸要求。但是,我無法控制尺寸,並且它們通常會有所不同。公式要求它們相乘。@ b3,沒有聲明變量的大小是一種好的做法? – Tinglin 2011-02-24 11:05:03

+1

@Tinglin - 在不瞭解算法的情況下,很難評論。看來你需要檢查你的假設。查詢和文檔矩陣必須是可乘的,或者算法必須改變。 – 2011-02-24 11:37:28

+0

我現在將通過假設。感謝您指出。如果我找不到任何東西,我會爲你和其他人提供見解。 – Tinglin 2011-02-24 23:19:39