文档和词项之间的相关度计算汇总
生活随笔
收集整理的這篇文章主要介紹了
文档和词项之间的相关度计算汇总
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
下面針對《Spark高級數(shù)據(jù)分析》中的第六章的實驗
進行原理上的分析
先來個矩陣Mm?nM_{m·n}Mm?n?
| doc1 | |||
| doc2 | |||
| doc3 | |||
| doc4 | |||
| doc5 |
Mm?n≈Um?kSk?k(VT)k?nM_{m·n}≈U_{m·k}S_{k·k}(V^T)_{k·n}Mm?n?≈Um?k?Sk?k?(VT)k?n?
P118有一句十分關(guān)鍵的話:
線性代數(shù)運算告訴我們重構(gòu)矩陣中的兩個列的余弦相似度
正好等于SVTSV^TSVT的相應(yīng)列的余弦相似度
這里的重構(gòu)矩陣的意思就是Mm?nM_{m·n}Mm?n?近似后的結(jié)果(就是上面等式的右側(cè))。
| 特定詞語-每個詞語相關(guān)度 | Vn?kSk?k(VT)k?1V_{n·k}S_{k·k}(V^T)_{k·1}Vn?k?Sk?k?(VT)k?1? | 6.9節(jié) |
| 特定文檔-每個文檔相關(guān)度 | Um?kSk?kU1?kU_{m·k}S_{k·k}U_{1·k}Um?k?Sk?k?U1?k? | 6.10節(jié) |
| 特定詞語-每個文檔相關(guān)度 | Um?kSvt=Um?kSk?k(VT)k?1U_{m·k}Sv_t=U_{m·k}S_{k·k}(V^T)_{k·1}Um?k?Svt?=Um?k?Sk?k?(VT)k?1? | 6.11節(jié) |
| 特定文檔-每個詞語相關(guān)度 | udTSV=U1?kSk?k(VT)k?nu_d^TSV=U_{1·k}S_{k·k}(V^T)_{k·n}udT?SV=U1?k?Sk?k?(VT)k?n? | 6.11節(jié) |
| 多詞項查詢 | Um?kSk?k?多詞項構(gòu)成的向量U_{m·k}S_{k·k}·多詞項構(gòu)成的向量Um?k?Sk?k??多詞項構(gòu)成的向量 | 6.12節(jié) |
(VT)k?1(V^T)_{k·1}(VT)k?1?:表示從Vk?nV_{k·n}Vk?n?中抽取一列,即特定詞語
U1?kU_{1·k}U1?k?:表示從Um?kU_{m·k}Um?k?中抽取一行,即特定文檔
其中多詞項查詢相當(dāng)于:
查詢的多個關(guān)鍵詞做成詞向量,
最后計算該詞向量和每個文檔的相關(guān)度
也就是在模仿前面的“特定詞語-每個文檔相關(guān)度”,
計算的時候把特定詞語對應(yīng)的V中的向量替換成“多個關(guān)鍵詞”構(gòu)成的向量。
總結(jié)
以上是生活随笔為你收集整理的文档和词项之间的相关度计算汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab和python中的svd分解
- 下一篇: 如何选购儿童陪伴机器人(非广告)