文档词频矩阵_对论文“从词向量到文档距离”的理解
文章:From Word Embeddings To Document Distances
研究背景
在此之前,文檔的兩種最常見的表述方式是通過袋詞(BOW)或詞頻-逆文檔頻率(TF-IDF)。但是無法解決近義詞之間的距離問題,即是BOW和TF-IDF無法表達詞語的含義。由于word2vec的出現,近義詞的問題解決了,通過word2vec將詞語表示成向量,用兩向量的距離表示兩詞語的距離可以很好的區分“不同的詞”,“意思相近的詞”。作者在word2vec的基礎上提出了WMD(Word Mover's Distance)來表示文檔距離,并給出了優化方案,且用實驗證明了用WMD表示文檔距離在分類等問題上效果優于BOW和TF-IDF。
相關知識
1、詞袋(BOW)
假如有兩篇文檔,第一篇文檔的內容是:“I like you”,第二篇文檔的內容是:“I hate you”,則由這兩篇文檔的所有詞組成的詞典為["I", "like", "you", "hate"],詞典的長度即是文檔向量的長度,每一位的表示為:如果該詞在文檔中出現過(不論次數)表示為1,否則為零,即第一篇文檔的向量表示為:[1 1 1 0],第二篇文檔的向量表示為:[1 0 1 1]
2、TF-IDF
TF(詞頻):改詞在當前文檔出現的總次數/所有文檔的的總詞數(注意不能去重)
IDF(逆文檔頻率):某一特定詞語的IDF,可以由總文件數目除以包含該詞語的文件的數目,再將得到的商取對數得到。(注意,為了避免分母為0,常常分母需要+1)
TF-IDF即是兩者的乘積
3、word2vec
如果用一句比較簡單的話來總結,word2vec是用一個一層的神經網絡(即CBOW)把one-hot形式的稀疏詞向量映射稱為一個n維(n一般為幾百)的稠密向量的過程。為了加快模型訓練速度,其中的tricks包括Hierarchical softmax,negative sampling, Huffman Tree等。由于這不是這篇論文的重點,就不在詳細介紹了,具體可查看參考文章word2vec。
Word Mover’s Distance
對于文檔A和B,由兩篇文檔組成的詞袋(去掉停用詞)長度為n,構建n*n的矩陣
,矩陣的橫縱坐標都可以看成是詞袋規定詞向量之間距離的計算公式為:
目標就是約束優化這個矩陣中的元素,使得距離最小化。目標函數和約束條件如下:
Fast Distance Computation
為了加快計算,作者提出的優化方式:
Word centroid distance
其中, 即一個文檔中所有的詞的詞向量按照其詞頻取加權平均值求出的中心點,WCD就是兩個文檔中心點的L2距離。
Relaxed word moving distance
減少約束條件
求最優解只需要對文檔i的每個詞向量,在文檔j中找到與其距離最近的一個詞向量,計算兩個詞向量的距離即可:
prefetch and prune
在計算文檔的k近鄰時,先計算所有文檔的WCD排序,并從小打到排序,選取前k個計算WMD距離,然后,我們遍歷其余的文檔,對于每一個,我們首先檢查 RWMD下限是否超過當前第 K個文檔的距離,如果超過,那么就過濾掉。如果沒有,那么就計算這個文檔的WMD,并且設定最新的RWMD為這一文檔的RWMD。
實驗結果
對8文檔數據集的所有方法進行評估
從實驗結果上來看,基于WMD的KNN錯誤幾乎都是最少的。
WMD優缺點
優點
- 不需要設置超參數
- 無監督,不依賴標注數據
- 有全局最優解
- 可人為干預詞的重要性
缺點
- 詞袋模型,沒有保留語序信息
- 時間復雜度高
參考文章
1、詞袋
2、TF-IDF
3、word2vec
4、https://zhuanlan.zhihu.com/p/88665645
總結
以上是生活随笔為你收集整理的文档词频矩阵_对论文“从词向量到文档距离”的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定时器Timer与TimerTask的使
- 下一篇: 「技术架构」10个提升应用程序性能的倚天