文檔詞頻矩陣_論文理解:從詞嵌入到文檔距離

  • 論文作者簡介

本論文第一作者Matt J. Kusner是牛津大學的副教授,致力于設計適應現實世界問題需求的新機器學習模型(例如,fair algorithms, discrete generative models, document distances, privacy, dataset compression, budgeted learning, and Bayesian optimization)。

  • 論文摘要

論文中作者提出了一個度量文本文檔之間距離的新指標,即詞移距離WMD(Word Mover's Distance)。該成果基于Mikolov等人提出的詞嵌入(word embeddings),一種語義上有意義的詞匯表征。具體來說,將每個單詞標記編碼為某個向量,該向量表示為某種“單詞”空間中的一個點(該空間的維數遠遠小于詞匯表的大小|V|),每個維度都會編碼某個含義。WMD距離衡量的是兩個文本文檔之間的差異性,即一篇文檔的詞匯需要對應到另一篇文檔的某一個相近詞匯,取該過程中所生成距離的最小值作為文檔距離。該距離度量可以視為Earth Mover's Distance的一個特例。作者在8個現實世界的文檔分類數據集上,與當時7個state-of-the-art的基準算法相比較,WMD度量取得了前所未有的較低的K最近鄰文檔分類錯誤率。

  • 論文內容介紹

準確地表示兩個文檔之間的距離在文檔檢索、新聞分類和聚類、歌曲識別和多語言文檔匹配中具有廣泛的應用。早先通過詞袋模型BOW(bag of words)或詞頻-逆向文件頻率TF-IDF(term frequency-inverse document frequency)表示文檔的方式,由于它們頻繁的接近正交的特性,故不適用于文檔距離。這些表示方式的另一個顯著缺點是他們沒有捕獲到單詞之間的距離。作者利用Mikolov等人提出的word2vec模型構建了新的文檔距離度量指標Word Mover's Distance (WMD),將文本文檔表示為詞嵌入向量的加權點云,每個詞嵌入向量對應高維空間中的一個點。兩篇文本文檔A和B之間的距離是一個最小累積距離,該距離是來自文檔A的單詞需要travel來精確匹配文檔B的點云。見下方新度量指標的略圖。

d51aedd974130471f54fe2f0285763dc.png

作者還比較了幾個下限方法,這些下限方法可以用作近似計算或者修剪掉被證明不在一個查詢的k個最近鄰中的文檔。WMD距離具有幾個有趣的特性:(1) 沒有超參數,易于理解和使用; (2)高度可解釋的,兩個文檔之間的距離可以分解并解釋為少數幾個單詞之間的稀疏距離;(3)它自然地融入了word2vec空間中的編碼知識并獲得高檢索準確率。作者是首次將高質量的詞嵌入和EMD檢索算法關聯起來進行文檔距離研究的。

  • 詞嵌入向量(word embedding vector)

比如,針對300維的詞嵌入向量,每個維度表示某個特定的含義。詞匯表中所有詞匯構成的詞嵌入矩陣(word embedding matrix)如下圖所示(圖中的每一列表示該詞匯對應的詞嵌入向量,例如單詞man表示的詞嵌入向量為

e91a405b7d361d33ef6fd7636ca17588.png
  • Word Mover's Distance

nBOW:假設有n個單詞的詞匯表的word2vec嵌入矩陣

,第i列表示d維空間中第i個單詞的詞嵌入向量。假設文本文檔表示成歸一化的詞袋向量nBOW(normalized bag-of-words vectors),
,確切地說,如果單詞i在文檔中出現了
次,則以nBOW形式表示的文檔向量的第i個分量
。顯而易見,一個nBOW向量d是非常稀疏的,因為大多數單詞不會在給定的文檔中出現。

Word travel cost:我們的目標是將每個單詞對(例如,President and Obama)之間的語義相似度包含進文檔距離度量中。單詞

和單詞
之間的歐氏距離
。為了避免混淆單詞距離和文檔距離,使用
指代為從一個詞到另一個詞的“旅行”成本。

Document distance:兩個詞之間的“travel cost”是一個自然的構建塊用以創建兩個文檔之間的距離。令

維單純形中兩個文本文檔的nBOW表示形式。首先,我們允許文檔
中的每個單詞
轉換成文檔
中的任何單詞。令
表示一個稀疏的flow matrix,
表示文檔
中單詞
的多少權重流向了文檔
中的單詞
。為了將
完全轉換為
,我們要確保來自單詞
的整個流出權重之和等于
,即
類似的,流向文檔
中單詞
的流入權重之和等于
,即
。最后,將兩個文檔之間的距離定義為將文檔
中的所有單詞移動到文檔
中的最小(加權)累積成本。即,

Transportation problem:在給定約束條件下,將文檔

移動到文檔
的最小累積成本就是以下線性規劃的解決方案。

9970f640c7edae3b506278d92c230d57.png

上述優化問題可以看做是earth mover's distance metric(EMD)的一個特例。

Visualization:考慮WMD度量文檔距離的一個例子,

是兩個句子,我們想要將他們與查詢語句
進行比較。首先,去停用詞(停用詞主要由助詞、冠詞、感嘆詞等不具有實際含義的詞匯以及數字和標點符號構成)。這樣
中就只保留了President, greets, press, Chicago四個單詞,每個單詞的權重
(可以理解為詞頻(term frequency,TF),指的是某一個給定的詞語在該文檔中出現的頻率,該單詞在該文檔中的出現次數/該文檔中的總詞數)。從句子
中的單詞
中的單詞
的箭頭標注為它們對距離
的貢獻值。WMD跟我們的直覺一致,將單詞移動到語義上相似的單詞,比如將Illinois轉換成Chicago比將Japan轉換成Chicago要廉價的多。這是因為在word2vec詞嵌入空間中向量vec(Illinois)更接近于vec(Chicago)而不是vec(Japan)。因此,文檔
的距離(1.07)要明顯小于
的距離(1.63)。

afef62cbbdcec194f091833860fd29a3.png
  • Fast Distance Computation

由于解決WMD優化問題的最佳平均時間復雜度為

,其中p表示文檔中唯一單詞的數量。對于具有許多唯一單詞的數據集(即,高維)或大量文檔,解決WMD最優運輸問題就變得成本高昂令人難以承受。我們可以引入WMD運輸問題幾個廉價的下限計算方法來修剪掉大多數的候選文檔從而不必計算精確的WMD距離。

下限方法1(Word centroid distance):質心距離

確定文檔
之間WMD的下限。根據三角不等式有

948a6293f3a51be6b1d0b3874618f3db.png

note:矩陣向量乘法的第二種形式

f68bfc657e8518008461cbcf8ded8eb2.png

fd0cb7fd9bb5534ed50adb4a9564e6f4.png

將該距離稱為Word Centroid Distance(WCD),每個文檔由其加權平均詞向量表示。該下限計算方法只需要通過幾個矩陣運算便可得出,時間復雜度也只有O(dp)

下限方法2(Relaxed word moving distance):由于WCD計算出的下限比較寬松,通過松弛WMD優化問題并分別移除兩個約束條件中的一個,我們可以得到更嚴格的界限。如果只移除第二個約束條件,優化問題就變成了,

94c9d21f3624463a7d7254d6ee12fbd9.png

這個松弛問題一定會產生WMD距離的一個下限(lower-bound),一個明顯的事實是每個WMD的解決方案(滿足兩個約束條件),一定仍然是移除一個約束條件的松弛問題的一個可行解決方案。令兩個松弛解決方案分別是

,通過取兩個松弛條件的最大值,我們可以得到一個更嚴格的邊界,
,我們稱該條件為Relaxed WMD (RWMD)。這個界限明顯比WCD更嚴格。

Prefetch and prune:我們使用兩個下限來大幅減少我們需要進行的WMD距離計算量,以便找到一個查詢文檔的k個最近鄰。首先將所有文檔按照它們到查詢文檔的WCD距離(該距離計算成本廉價)進行升序排列,然后計算查詢文檔到這些文檔中前k個文檔的精確WMD距離。接下來遍歷剩余的其它文檔。對于余下的每篇文檔我們首先檢查RWMD下限是否超過當前第k個最近文檔的距離,如果是這樣我們就將其修剪掉。否則的話就計算WMD距離并在必要時更新第k個最近鄰。由于RWMD近似非常嚴格,它允許我們在一些數據集上修剪掉高達95%的文檔數。

  • 結果

作者在八個基準文檔分類任務上以kNN分類的形式評估了WMD距離(word mover’s distance)。

1、8個監督學習范疇的公開文檔數據集

33375e4c94d80c21c912d5bff67c669c.png

2、用于與WMD距離相比較的表示文檔的7個基準方法

對于每個基準方法,我們使用歐氏距離進行kNN分類。

bag-of-words (BOW), TFIDF(term frequency-inverse document frequency), BM25 Okapi, LSI(Latent Semantic Indexing), LDA(Latent Dirichlet Allocation), mSDA(Marginalized Stacked Denoising Autoencoder), CCG(Componential Counting Grid)

3、文檔分類結果

在除了兩個(BBCSPORT,OHSUMED)之外的所有數據集上,WMD取得了最低的測試誤差。

c24b76c1e8a002547e9d81b12790b87e.png

4、Lower Bounds and Pruning

最后,作者評估了在m的不同取值下prefetch和prune算法的精確和近似版本的加速性能和準確性。所有加速都是相對于詳盡的WMD度量所需時間(圖的最上方)而報告的,并且在4個核心上并行運行。(8 cores for 20NEWS) of an Intel L5520 CPU with 2.27Ghz clock frequency.首先,我們注意到在所有情況下,通過prefetching增加的錯誤相對較小,而可以獲得可觀的速度提升。

20e8e2f4ef68ecb91365f2eeedbd5481.png

從圖中可以觀察到,誤差在m = k和m = 2k之間下降最多,對于時間敏感的應用來說,這可能會產生一個介于準確率和檢索時間之間的最佳點(sweet spot)。如前所述,使用RWMD直接導致令人印象深刻的低錯誤率,并且在所有數據集上的平均檢索時間低于1秒。

  • 結論

WMD度量在所有數據集上的錯誤率如此之低,我們將其歸因于其利用了word2vec詞嵌入向量高效表征詞匯的能力。

  • 參考文獻:

【1】Matt J. Kusner, From Word Embeddings To Document Distances

【2】Mikolov, T., Chen, K., Corrado, G., and Dean, J. Efficient estimation of word representations in vector space. In Proceedsings of Workshop at ICLR, 2013a.

【3】Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., and Dean, J. Distributed representations of words and phrases and their compositionality. In NIPS, pp. 3111– 3119, 2013b.

Word2Vec Tutorial - The Skip-Gram Model

吳恩達、深度學習第五門課程-序列模型(sequence models)、網易云課堂

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370864.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370864.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370864.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# 線程理解

概念引用:http://blog.csdn.net/yujie_yang/article/details/53173752 多線程和多進程的區別:任務管理器里各種不同的進程就是多進程,或者是你同時運行多個”.exe’程序就可以理解為多進程,多進程是要更多消耗CPU資源的。 多線程是…

c語言主調函數和被調函數,在C語言中,何為主調函數和被調函數,他們之 – 手機愛問...

2007-08-30請詳細一些~最好舉出例子你好。評價寶寶的標準基本上是:技能>資質>成長因為寶寶的評價是一項 仁者見仁的活兒,但其中有些規律我想是可以具體話的,希望能對你有幫助:1:技能:技能的意義有多大…

學習關于display :flex 布局問題!

很多人不明白這個display:flex是到底是什么東西,如何使用的 。 1.什么是display:flex呢? 答:flex是 flexible box的縮寫,意為彈性布局 ;這個東西的引入,為盒模型提供了最大的靈活性&#xf…

QT信號和槽函數學習筆記

//connect 函數有4個參數 分別是 發送者 信號。接受者 ,槽 //connect(sender,signal,receiver,slot) /* * 信號和槽 * 信號 就是一個普通的函數 定義信號的時候需要在函數前面加上signals: ,不需要實現 * 槽 函數 在QT5中科院是類的任意成員函數&#xf…

數據庫和Webapp安全

威脅模型 這是根據我網站上的快速參考頁松散地討論數據庫和Webapp安全的問題。 該頁面變得笨拙,并且使讀者無法輕松地與我或其他人進行交互。 威脅模型 所有安全分析都必須從檢查威脅模型開始。 威脅模型要求您回答四個問題: 我要保護的是什么&#…

note同步不及時 one_一輛理想ONE又“跪了”?理想官方緊急發文回應

汽車行業關注(autochat.com.cn)10月16日報道——10月15日,有網友在社交媒體上發布視頻,從視頻可以看到,一輛理想ONE在遭遇事故后,左前輪脫落在車外疑似斷軸,從視頻未能判定是斷軸引起的事故,還是事故引起的斷軸。針對該…

C語言連續多個空格合并一個,C語言合并連續空格

一開始自己寫的:a:#includemain(){int c;int state0;while (( cgetchar()) ! EOF) {if (c ){state1;continue;}if (state){state0;putchar( );putchar(c);}elseputchar(c);}}網上搜的:b:#include #define NONBLANK avoid main(){int c , last…

Skywalking 中 Agent 自動同步配置源碼解析

文章目錄 前言正文實現架構實現模型OAP 同步 ApolloConfigWatcherRegisterConfigChangeWatcher Agent 側 前言 本文代碼 OAP 基于 v9.7,Java Agent 基于 v9.1,配置中心使用 apollo。 看本文需要配合代碼“食用”。 正文 Skywalking 中就使用這種模型…

華為5720設置靜態路由不通_【干貨分享】交換機與路由器在環路中的處理機制了解一下!...

點擊藍字關注我們-今天小盟帶大家來討論一下交換機與路由器在環路中的處理機制-01基礎配置1---如圖配置路由器各接口地址,AR-2為PC-1的網關路由器2---AR-1配置靜態默認路由,下一跳地址指向AR-2;[AR-1]ip route-static 0.0.0.0 0 12.1.1.2AR-2…

IPC 進程間通信方式——信號量

信號量 本質上是共享資源的數目,用來控制對共享資源的訪問。用于進程間的互斥和同步每種共享資源對應一個信號量,為了便于大量共享資源的操作引入了信號量集,可對多對信號量一次性操作。對信號量集中所有的操作可以要求全部成功,也…

css選擇器的優先級

選擇器的優先級表述為4個部分,用0,0,0,0表示。 !important--1,0,0,0行內樣式ID選擇器--0,1,0,0類選擇器(例如,.example)、屬性選擇器(例如, [type"radio"])或偽類(例如, :hover)--0,0,1,0元素(例…

VisualVM介紹使用

1 打開VisualVM(這個工具放在JDK安裝目錄的bin目錄下,雙擊jvisualvm.exe即可打開),如下圖所示 以VisualVM自身為例,VisualVM本身也是一個java程序,當然也而已用VisualVM來分析 2 概述頁面主要顯示程序…

c語言奇葩錯誤,6個奇葩的(hello,world)C語言版(轉)

//下面的所有程序都可以在GCC下編譯通過,只有最后一個需要動用C的編譯器用才能編譯通過。//程序功能輸出 Hello,world!01.c#define _________ }#define ________ putchar#define _______ main#define _(a) ________(a);#define ______ _______(){#define __ _____…

Java功能的適用性

Java語言和標準庫功能強大,但功能強大, 責任重大 。 一方面看到很多用戶代碼濫用或濫用稀有的Java功能,另一方面卻完全忘記了大多數基本功能之后,我決定撰寫此摘要。 這不是每個Java開發人員都應該探索,了解和使用的要…

臺達b3伺服modbus通訊_【數控系統】臺達伺服壓機控制靈活 精準壓合滿足各種工序需求...

引言壓機是一種利用壓力改變工件形狀的機械設備。隨著制造業少量多樣與客制化的日趨發展,壓機的的優勢逐漸顯現,在汽車、五金與電子制造等產業中的應用不斷增多。傳統壓機在使用操作上耗費人力并需要諸多壓機元件才能完整運作,維修成本高&…

Binary Agents(二進制值轉換字符串)

題目&#xff1a; 傳入二進制字符串&#xff0c;翻譯成英語句子并返回。 二進制字符串是以空格分隔的。 代碼&#xff1a; 1 function binaryAgent(str) {2 var arr str.split( );3 for (var i 0; i < arr.length; i) {4 arr.splice(i,1,String.fromCharCode(BtoD…

我對CSS選擇器的認識

我對CSS選擇器的認識 一、簡述   CSS選擇器是對HTML元素進行選擇的篩選條件&#xff0c;大概可以分為兩類&#xff1a; 特征選擇器——根據元素自身所具有的某種特征進行篩選&#xff0c;比如名稱、ID、屬性等&#xff1b;關系選擇器——根據元素與其他元素的關系進行篩選&…

【USACO2006 Mar】滑雪纜車 skilift

【USACO2006 Mar】 滑雪纜車 skilift Time Limit 1000 msMemory Limit 131072 KBytes Description 科羅拉多州的羅恩打算為奶牛建造一個滑雪場&#xff0c;為此要在山上規劃一條纜車線路。 整座山可以用一條折線來描述&#xff0c;該折線有N個拐點&#xff0c;起點是1&#xff…

yolov4Linux,基于Darknet的YOLOv4目標檢測

目錄一、Windows環境下的YOLOv4目標檢測1、環境配置環境準備&#xff1a;Win10、CUDA10.1、cuDNN7.65、Visual Studio 2019、OpenCV 3.4(1)Visual Studio2019企業版安裝(3)下載并安裝CUDA10.1&#xff0c;下載安裝cuDNN7.65對于cudnn直接將其解開壓縮包&#xff0c;然后需要將b…

二元置信橢圓r語言_醫學統計與R語言:圓形樹狀圖(circular dendrogram)

微信公眾號&#xff1a;醫學統計與R語言如果你覺得對你有幫助&#xff0c;歡迎轉發輸入1&#xff1a; "ggraph")結果1&#xff1a; name 輸入2&#xff1a; <- graph_from_data_frame(myedges1, verticesmyvertices,directed T)ggraph(mygraph, layout dend…