您當前的位置:首頁 > 收藏

Distributed Represent of Sentences and Documents

作者:由 紅葉紅不紅 發表于 收藏時間:2022-03-07

Abstract

許多機器學習演算法需要固定輸入表徵為特定長度的特徵向量,對於文字而言,其中一個常用固定長度的方法是bag-of-words。儘管其較為流行,但bag-of-words有兩個主要的缺點:它們失去了單詞的順序資訊,和忽略了單詞的語義,例如“powerful”,“strong”和 “Paris”的距離相等。本文提出一種Paragraph Vector,一種從變長的文字片段中學習固定長度特徵表徵的無監督演算法,如句子,段落和篇章。本文演算法透過在文件中預測單詞訓練一個稠密的向量對每個文件進行表徵,演算法有克服bag-of-words缺點的潛力,實驗結果也證明了Paragraph Vector對比bag-of-words和其他用於文字表徵的方法要更優,最後我們在一些文字分類和情感分類任務上取得了最好的效果。

Introduction

文字分類和聚類在應用中有著重要的作用,如文章檢索,web檢索和垃圾郵件過濾等,這些應用的核心是機器學習演算法,如LR或K-means,這些演算法需要將輸入文字變化為長度固定的特徵向量。文字中最常見固定向量長度的表徵方法是bag-of-words和bag-of-n-grams,它們簡單,有效率和不錯的準確率。但是BOW模型也有缺點,單詞的順序丟失了,只要不同句子中有相同的單詞,句子會有相同的表徵,即便bag-of-n-grams在短文字中考慮順序,其也有資料稀疏性和高維問題的困擾。Bag-of-words和bag-of-n-grams含有較少語義資訊,更多的是單詞間的距離資訊,這意味著“powerful”,“strong”和 “Paris”的距離相等,語義上來說“powerful”相對“strong”要更接近“Paris”。

本文我們提出了Paragraph Vector,一種用於學習文字片段連續分佈詞向量表徵的無監督學習框架,文字是變長的,可以是句子,段落和篇章,方法叫Paragraph Vector的原因是強調其可以用於文字片段的學習方法,不論是短語、句子還是長文件。模型中訓練的詞向量表徵可以用來預測段落中的單詞,在給定的上下文中,我們透過拼接paragraph vertor和幾個段落中的word vector去預測接下來的單詞。word vector和paragraph vector都是透過隨機梯度下降和反向傳播訓練的,paragraph vector在段落之間是獨立的,word vector是共享的。在預測階段,透過固定單詞向量並訓練新的paragraph vector直至收斂。本文的方法啟發於近期透過神經網路學習詞表徵的一些工作(Bengio et al。, 2006; Collobert & Weston, 2008; Mnih & Hinton, 2008; Turian et al。, 2010; Mikolov et al。, 2013a;c),在上述方法中,每個單詞由一個向量表示,透過其他上下文詞向量的拼接和求平均所得的詞向量再用於預測上下文的其他單詞。如 (Bengio et al。, 2006)提出的神經網路語言模型,透過拼接前面單詞的詞向量形成網路的輸入,進而預測之後的單詞。在模型訓練之後,單詞被對映到一個詞向量空間,空間中相似的詞有著類似的詞表徵(e。g。, “strong” is close to “powerful”)。

一些研究者也將單詞層次模型拓展到短語層次,句子層次的表徵(Mitchell & Lapata, 2010; Zanzotto et al。,2010;Yessenalina&Cardie, 2011;Grefenstette et al。, 2013;Mikolov et al。, 2013c)。簡單的方法是將文件所有詞向量進行加權平均,更復雜的方法是透過句子的解析樹對單詞順序進行解析,透過matrix-vector操作(Socher et al。, 2011b)。兩種方法都有缺點,第一種方法加權平均詞向量,這和bag-of-words類似,丟棄了單詞的順序資訊。第二種方法使用瞭解析樹結合單詞資訊,這隻能作用於句子,因為其依賴解析樹。Paragraph Vector能對變長輸入序列構建表徵,不像之前的方法,其適用於任意文字長度,單詞,段落和文件。它也不需要,基於任務進行特定的單詞加權函式計算,或者依賴於解析樹。更進一步,我們透過一些基準實驗,證明了Paragraph Vector的優勢,比如情感分析任務中相比其他方法的最好表現,文字分類任務中打敗了bag-of-words,提升接近30%。

Algorithms

1)Learning Vector Representation of Words

本節介紹分散式詞向量表徵的概念,一個學習詞向量的經典框架是圖1,該方法透過單詞的上下文對單詞進行預測。

Distributed Represent of Sentences and Documents

在該框架中每個單詞都被對映成唯一的詞向量,透過矩陣W的列表示,列的索引是單詞在詞典中的位置,最後對這些詞向量進行拼接或求和構成特徵來預測句子中接下來的單詞。更普遍的給定訓練單詞序列

w_1,w_2,...,w_T

,詞向量的目標是最大化平均Log機率:

Distributed Represent of Sentences and Documents

預測任務由典型的多分類器完成,如softmax

Distributed Represent of Sentences and Documents

每個yi是每個輸出單詞i的非標準化Log機率,計算如下

Distributed Represent of Sentences and Documents

其中U和b是softmax的引數,h從W單詞矩陣中抽取詞向量進行拼接或平均操作。實踐中 hierarchical softmax (Morin & Bengio, 2005;Mnih & Hinton, 2008; Mikolov et al。, 2013c) 是常用的softmax用於加速訓練。本文中 hierarchical softmax是二進位制霍夫曼樹,其中短路徑賦予了常見單詞,這是一個很好的加速技巧,因為常見詞能快速訪問,二進位制霍夫曼樹的使用和 (Mikolov et al。, 2013c)類似。詞向量網路的訓練透過反向傳播和隨機梯度下降,這類模型是常見的神經網路語言模型 (Bengio et al。, 2006)。一個經典的詞向量網路演算法的實現是code。google。com/p/word2vec/ (Mikolov et al。,2013a)。

訓練收斂後,含義相近單詞在詞向量空間中有相似位置,如“powerful” and “strong”會比較接近,其中“powerful”和“Paris”會更接近。單詞之間的差異也有含義,如詞向量可以用簡單代數計算回答類比問題,“King”-“man”+“woman”=“Queen” (Mikolov et al。, 2013d)。其也能學習線性矩陣在語言之間翻譯單詞和短語 (Mikolov et al。, 2013b)。這些性質使得詞向量被引入許多自然語言任務,如語言建模(Bengio等,2006; Mikolov,2012),自然語言理解(Collobert&Weston,2008; Zhila等,2013),統計機器翻譯。 (Mikolov等人,2013b; Zou等人,2013),影象理解(Frome等人,2013)和關係提取(Socher等人,2013a)。

2)Paragraph Vector: A distributed memory model

我們學習段落向量的思路是從學習詞向量方法所啟發,啟發點在於詞向量對於預測句子中下一個單詞有所貢獻,儘管實際中詞向量是隨機初始化的,他們最終能捕獲語義特徵為預測任務的間接結果。我們將類似思路應用在paragraph vector中,從段落中取樣的許多上下文,paragraph vector也需要對預測任務中下一個單詞有所作用。在Paragraph Vector framework中(見圖2),每個段落對映成唯一的向量,透過矩陣D的列表徵,每個單詞被對映為唯一個向量,透過矩陣W表徵。其中paragraph vector和word vector透過平均和拼接用於預測上下文的下一個單詞,在實驗中,我們使用拼接的方法連線詞向量。

Distributed Represent of Sentences and Documents

更一般描述是與式1中詞向量框架相比,h由W和D構成。段落被視為另一種單詞,其充當記憶記錄當前上下文或本段主題中缺少的內容,因此,我們將模型稱為段落向量的分散式儲存模型(PV-DM)。上下文是固定長度的,並從段落上的滑動視窗取樣,段落向量在同一段落中生成的上下文中共享,但不跨段落共享,但單詞向量矩陣W是所有段落共享的。Paragraph vector和word vector是透過隨機梯度下降和反向傳播訓練的,每一步隨機梯度下降中,從段落中隨機取樣固定長度的上下文,透過圖2的網路計算梯度誤差,並透過gradient去更新模型引數。在預測階段,需要一個推理步驟計算新段落的段落向量,這也透過梯度下降獲得。在此步驟中,固定模型其餘的引數,單詞向量矩陣W和softmax權重等。

假設語料中有N個段落,詞典中有M個單詞,則我們需要學習paragraph vectors,每個paragraph vector被對映為p維,每個單詞被對映為q維,則模型一共有

N * p + M * q

個引數,除去softmax的引數,即使當N較大時,引數量級較大,但訓練過程中更新通常較少,也較有效率。訓練後,每個paragraph vectors被視為段落的特徵,將這些特徵直接輸入到如LR,SVM,K-means之類的機器學習演算法中。演算法本身主要分兩步,首先透過無監督訓練得到詞向量矩陣W,推理階段獲得段落向量矩陣D,最後使用D根據標準分類器進行標籤的預測。

Paragraph Vector的一個重要的優勢是其為無監督方法,因此對於沒有足夠標籤資料的任務上也能表現較好。其也解決了bag-of-words模型的一些缺點,首先它繼承了詞向量的重要特徵,單詞語義資訊,在空間中,“powerful”is closer to“strong” than to“Paris。”

第二個優點是paragraph vector至少在較小的上下文中,和較大n的n-gram模型一樣考慮了單詞的順序。這很重要,因為n-gram模型保留了段落中大部分資訊,和單詞的順序資訊,即本文模型優於bag-of-n-grams模型,因為bag-of-n-grams模型會產生一個非常高維的表徵,使得該形式難以推廣。

3)Paragraph Vector without word ordering: Distributed bag of words

前面的方法考慮在文字的劃窗中拼接段落向量和詞向量預測接下來的單詞,另一種方法是忽略輸入的上下文單詞,強制模型在輸出中預測段落中隨機取樣的單詞。實際中,在隨機梯度下降的每步迭代,我們從文字中取樣一個劃窗,基於給定的paragraph vector,從劃窗中隨機取樣一個單詞訓練分類器,該技術見圖3。

Distributed Represent of Sentences and Documents

將這種方法稱為Distributed Bag of Words version of Paragraph Vector (PV-DBOW),而不是前文所述的Distributed Memory version of Paragraph Vector (PV-DM)。除了概念上較簡單,模型也儲存更少的資料,只需要儲存softmax的權重而不是像之前模型需要儲存softmax權重係數和詞向量引數,模型和word2vec中的Skip-gram模型類似。在實驗中,每個paragraph vector由兩個向量拼接,一個透過PV-DM學習所得,一個由PV-DBOW學習所得,單獨使用PV-DM在多數任務表現不錯,但結合PV-DBOW實驗中在多數任務上結果會更加一致,因此強烈建議這樣使用。

Experiments

下面透過實驗更好的理解paragraph vector,主要透過兩種文字理解任務來進行,透過paragraph vector學習固定長度的向量表徵,進行情感分析和資訊檢索。在情感分析中,使用資料集Stanford sentiment treebank dataset (Socher et al。, 2013b) and IMDB dataset (Maas et al。, 2011)。這些資料中的文件都是不等長的。另外將本文方法在資訊檢索任務上進行試驗,目標是給定一個查詢,是否返回一篇文件。

1)Sentiment Analysis with the Stanford Sentiment Treebank Dataset

Dataset:該資料作為情感分析的benchmark首先由 (Pang & Lee,2005)提出,由 (Socher et al。, 2013b)擴充套件。資料中有11855個從Rotten Tomatoes網站摘取的電影評論句子,資料包括三部分,8544個訓練樣本,2210個測試樣本,1101個驗證樣本。資料集中每個句子都有一個標籤,從消極到積極,從0。0到1。0。資料從http://nlp。Stanford。edu/sentiment/可以下載。

Tasks and Baselines:在(Socher et al。, 2013b)中,作者提出了兩個benchmarking,首先考慮五類別的細粒度分類問題,標籤為 {Very Negative, Negative, Neutral, Positive, Very Positive},或兩類分類問題。另一個維度是我們是否應該標註整個句子或者句子中所有的短語,本文中我們僅考慮標註整個句子。Socher et al。 (Socher et al。, 2013b)在該資料集中使用了多種方法,發現Recursive Neural Tensor Network效果要好於bag-of-words模型。電影評論通常較短,合成結構對於評論正負的判定具有重要作用,給定的訓練資料集規模較小,單詞之間的相似性也類似。

Experimental protocols: 本文實驗方法照 (Socher et al。, 2013b)所述,為了利用可用的標籤資料,在模型中,每個短語被視為一個獨立的句子,在訓練資料中學習所有子短語的表徵。學習了句子和其子短語表徵後,將他們輸入到 logistic regression預測電影評分。在測試階段,固定每個單詞表徵,透過梯度下降學習句子表徵。當測試句子的向量表徵被學得,將其輸入到 logistic regression預測電影評分。實驗中在驗證集上對視窗尺寸進行交叉驗證,最佳視窗尺寸為8,輸入到分類器中的向量是拼接而成的,一個透過PV-DBOW學習所得,一個透過PV-DM學習所得。在PV-DBOW中,學到的向量表徵具有400維,在PV-DM中,學到的段落和句子表徵也都是400維的。為了預測第八個單詞,我們拼接段落向量和7個單詞向量,若段落少於9個單詞,則透過pad特殊的NULL單詞標記。

Results:不同方法的誤差情況見表1,其中一個重點是bag-of-words或bag-of-n-grasm模型(NB,SVM,BINB)表現不佳。因為在bag-of-words模型中沒有考慮每個句子的組成情況,單詞順序等,其不能識別複雜的語法現象。結果同時展現了一些先進方法(Recursive Neural Network (Socher et al。, 2013b)),但其需要解析樹和考慮合成性,一定程度能改進效果。我們的方法要超過所有baselines,且不需要解析,在二分類問題上有2。4%錯誤率的降低,這意味著有16%的提升。

Distributed Represent of Sentences and Documents

2) Beyond One Sentence: Sentiment Analysis with IMDB dataset

之前的方法僅作用在句子上,沒有多句子的段落或文件。如Recursive Neural Tensor Network (Socher et al。,2013b),在每個句子上基於解析樹,目前還不清楚如何在多個句子上進行組合,這類方法因此被嚴格限制在句子上,不能作用於段落或文件。我們的方法不需要解析樹,因此能在有多個句子的長文件上學習表徵,這使得我們的方法為相比其他方法具有更泛化的能力,下面透過IMDB上的實驗對此進行說明。

Dataset:IMDB資料由(Maas et al。, 2011)提出作為情感分析的一個benchmark。資料包含從IMDB抽取的100000個電影評論,每個電影評論有幾個句子。100000個電影評論被分為3部分,25000個標註的訓練樣本,25000個標註的測試樣本,50000個未標註的訓練樣本。資料集有兩個類別,Positive and Negative。資料可在 http://ai。Stanford。edu/amaas/data/amaas/data/sentiment/index。html進行下載。

Experimental protocols:我們透過75000個訓練樣本學習詞向量和段落向量,將25000個標註例項透過神經網路進行訓練,網路是有50個單元的隱層和LR分類器用於情感分類預測。在測試階段給定測試句子,將固定模型引數,透過梯度下降方法學習測試集中的段落段落向量,段落向量模型的超引數和之前的工作一樣,以一種類似的方式獲取。透過對視窗尺寸進行交叉驗證,最優的尺寸為10。拼接PV-DBOW和PV-DM的向量輸入分類器中,在PV-DBOW中,學到的向量表徵具有400維,在PV-DM中,學習到的段落和句子表徵也都是400維的。為了預測第八個單詞,我們拼接段落向量和7個單詞向量,若段落少於9個單詞,則透過pad特殊的NULL單詞標記,特殊符號 ,。!?被視為正常單詞。

Results:Paragraph Vector的結果以及其他baseline展示在表2中。表中可以看出,對於長文字,bag-of-word2模型表現不錯,基於詞向量較難改進,其中最大的最佳化是 (Dahl et al。, 2012)基於 Restricted Boltzmann Machines的bag-of-words模型,結合兩個模型,有接近1。5%錯誤率的最佳化。另一個重要的最佳化工作是 (Wang & Manning, 2012),基於許多變體中,結合NBSVM和bigram特徵的效果最好,有接近2%的錯誤率改進。本文的方法錯誤率只有7。42%,相對最佳的方法也有近1。3%的錯誤率最佳化。

Distributed Represent of Sentences and Documents

3)Information Retrieval with Paragraph Vectors

我們將注意力集中在固定長度段落向量表徵的資訊檢索任務上。這是一個搜尋引擎有著1000000個最常見的查詢,每個查詢返回10個段落結果,這些段落也是一個個片段,其展示了網頁的內容,以及如何根據網頁匹配查詢。從該集合中,我們得到一個新的資料集來測試段落向量的表徵,對於每個查詢,構建一個三元組,兩個段落是該查詢的結果,第三個是從剩下不同的查詢中隨機抽取的段落。目的是區分哪些是相同查詢返回的結果,為了該目的,使用段落向量並計算段落向量的距離,一個較好的表徵是,相同查詢對的段落距離較小,不同查詢對的段落距離較大。下面是一些段落案例,其中1,2較3更接近。

Paragraph 1: calls from ( 000 ) 000 - 0000 。 3913 calls reported from this number 。 according to 4 reports the identity of this caller is american airlines 。

Paragraph 2: do you want to find out who called you from +1 000 - 000 - 0000 , +1 0000000000 or ( 000) 000 - 0000 ? see reports and share information you have about this caller

Paragraph 3: allina health clinic patients for your convenience , you can pay your allina health clinic bill online 。 pay your clinic bill now , question and answers。。。

該三元組被分為三份,80%的訓練集,10%的驗證集和10%的測試集,任意方法可以在訓練集上學習,在驗證集上進行超引數的調整。我們使用四種benchmark方法計算段落向量,bag-of-words, bag-of-bigrams, averaging word vectors and Paragraph Vector。為了最佳化bag-of-bigrams,我們將學習一個加權向量,前兩個段落的距離最小化,第一個和第三個段落的距離最大化,兩個損失之間的因子是超引數。我們記錄每種方法,第一和第二段落的距離小於第一和第三段落距離的次數,錯誤會出現如果一個方法不能在段落的三元組中產生滿足要求的距離。Paragraph Vector和其他baselines方法的結果見圖3,該任務中TF-IDF權重比簡單計數要更有效,因此只給出透過TF-IDF加權的結果。結果表明Paragraph Vector表現最佳,對於錯誤率有近32%的改進,事實證明paragraph vector方法對比bag of words和bigrams方法能更有效的捕獲輸入文字的語義特徵。

Distributed Represent of Sentences and Documents

4)Some further observations

PV-DM經常表現比PV-DBOW要好。PV-DM單獨使用的結果和表2所得結果相近,比如在IMDB中PV-DM的結果為7。63%,結合PV-DM和PV-DBOW通常效果要更好,在IMDB中為7。42%,因此推薦使用。

拼接PV-DM效果通常好於求和,在IMDB中,PV-DM求和效果僅為8。06%,可能是因為模型丟失了順序的資訊。

最好對視窗尺寸進行交叉驗證,在許多實踐中發現一個好的視窗尺寸是在5-12之間,在IMDB中,變化視窗尺寸能引起誤差率的變化在0。7%左右。

Paragraph Vector計算是高成本的,但是其在測試階段能平行計算,使用16核機器在IMDB測試集上計算paragraph vector平均需要30分鐘才能實現。(25000篇文件,平均230個單詞)

Related Work

Distributed representations for words were first proposed in (Rumelhart et al。, 1986) and have become a successful paradigm, especially for statistical language modeling (Elman, 1990; Bengio et al。, 2006; Mikolov, 2012)。 Word vectors have been used in NLP applications such as word representation, named entity recognition, word sense disambiguation, parsing, tagging and machine translation (Collobert & Weston, 2008; Turney & Pantel, 2010; Turian et al。, 2010; Collobert et al。, 2011; Socher et al。, 2011b;Huang et al。, 2012; Zou et al。, 2013)。

Representing phrases is a recent trend and received much attention (Mitchell & Lapata, 2010; Zanzotto et al。, 2010; Yessenalina & Cardie, 2011; Grefenstette et al。, 2013; Mikolov et al。, 2013c)。 In this direction, autoencoder-style models have also been used to model paragraphs (Maas et al。, 2011; Larochelle & Lauly, 2012; Srivastava et al。, 2013)。

Distributed representations of phrases and sentences are also the focus of Socher et al。 (Socher et al。, 2011a;c; 2013b)。 Their methods typically require parsing and is shown to work for sentence-level representations。 And it is not obvious how to extend their methods beyond single sentences。 Their methods are also supervised and thus require more labeled data to work well。 Paragraph Vector,in contrast, is mostly unsupervised and thus can work well with less labeled data。

Our approach of computing the paragraph vectors via gradient descent bears resemblance to a successful paradigm in computer vision (Perronnin & Dance, 2007; Perronnin et al。, 2010) known as Fisher kernels (Jaakkola & Haussler, 1999)。 The basic construction of Fisher kernels is the gradient vector over an unsupervised generative model。

Discussion

我們討論了一種無監督學習句子或文件向量這種變長文字片段表徵的一種演算法Paragraph Vector,向量表徵被學習來預測段落中取樣上下文的單詞。在Stanford Treebank and IMDB sentiment analysis datasets等幾個文字分類任務上證明了,本文方法對比其他方法的有效性。良好的效能證明了Paragraph Vector在獲取段落語義上的優點,事實上,paragraph vector也有潛力克服bag-of-words模型的許多缺點。即使本文關注在文字表徵上,該方法也能用來學習序列資料的表徵,在非文字領域當parsing不可用的時候,我們希望Paragraph Vector能作為bag-of-words和bag-of-n-grams模型的一種有效替代。

參考文獻:

Le Q, Mikolov T。 Distributed representations of sentences and documents[C]//International conference on machine learning。 PMLR, 2014: 1188-1196。

標簽: 向量  單詞  段落  ET  al