- 人工智能:語言智能處理
- 黃河燕 史樹敏等編著
- 14551字
- 2021-02-22 11:13:00
2.2 詞向量構造方法
2.2.1 詞向量(Word Embedding)構造方法概述
詞向量(以下表述為Word Embedding)構造方法是從大規模語料中自動學習詞的向量表示,屬于一種語料驅動的數據表示方法。好的詞向量表示方法具有存儲方便、攜帶詞的語義信息等優勢,可通過數學計算度量詞的語義關系。Word Embedding構造方法的理論依據是由Warren Weaver[4]提出的統計語義假說(Statistical Semantics Hypothesis):人類自然語言的統計信息可以表示人類語言的語義,以及著名的分布式假說[5,6](Distributional Hypothesis):相似的詞具有相似的上下文。在此理論基礎上,Word Embedding構造方法主要關注兩個對象:詞和上下文,主要研究的問題包括上下文的表示、詞與上下文關系的表示、詞的語義特征學習等。
本節結合目前Word Embedding訓練方法和實際應用,概括Word Embedding構造和應用的過程。Word Embedding構造和應用的基本框架如圖2-4所示。

圖2-4 Word Embedding構造和應用的基本框架
Word Embedding構造和應用的基本框架主要包括以下部分。
(1)語料
Word Embedding構造方法是一種語料驅動的學習方法,通過挖掘語料中詞的潛在特征獲取詞的向量化表示。語料是Word Embedding構造方法的原始輸入信息,是構建高質量Word Embedding的重要影響因素之一。這種影響一方面體現在為提升學習質量,通常需要對語料進行標準化、還原大小寫、詞根化處理等預處理;另一方面,Siwei Lai等人[7]通過實驗驗證的方法發現語料的不同屬性(例如語料規模和語料領域)對訓練Word Embedding質量的影響規律:在語料規模方面,語料規模越大,訓練結果越好;在語料領域方面,通常利用同一領域的語料訓練所得到的Word Embedding質量更高。語料領域的影響比語料規模的影響更大。
(2)建模
語料建模是指依據語言學假說、預測任務的特點將文本處理為蘊含語義特征的數據形式。其中,語言學假說包括統計語義假說、分布式假說、擴展的分布式假說[8]、潛在聯系假說[9]等;預測任務最常見的是語言模型中的下文預測任務,以及自然語言處理任務(POS、Chunking、NER、SRL)等。
原始語料無法被直接利用的主要原因是原始語料中的多種信息都可以表示詞的語義特征,如上下文信息、主題、句子順序、句內詞序等。這些信息隱藏在自然語言中,具有稀疏、無結構、多形態等特點,很難被全部提取并用統一的數據形式表示。因此需要原始語料建模過程,建立映射關系,將原始語料的信息處理為可以直接利用的數據形式。常見的數據形式包括窗口、矩陣。其中,窗口是指將原始語料中與目標詞緊鄰的上下文看作一個窗口,通過窗口的滑動逐步向模型中輸入信息;矩陣是刻畫原始語料中詞與其上下文共現的統計信息的數據形式,每行對應一個詞,每一列對應詞的上下文,矩陣元素是從原始語料中統計的二者之間的關聯信息。
(3)特征學習
特征學習是指學習詞語的潛在語義特征并獲得Word Embedding的過程,是對原始語料信息的一種近似非線性轉化。其模型結構決定了輸入信息與輸出信息之間非線性關系的描述能力。常見的特征學習模型包括受限玻耳茲曼機、神經網絡、矩陣分解、聚類分類等。
在Word Embedding構造方法中,語料建模的數據形式直接決定了特征學習的模型,例如針對矩陣數據通常使用矩陣分解方法、針對窗口數據通常使用神經網絡方法。語料建模與特征學習緊密相關,因此通過對現有Word Embedding構造方法進行總結,可歸納出三類方法:
①基于全局統計信息的構造方法:將語料數據建模為矩陣的形式,利用統計的方法計算矩陣元素,特征學習方法主要是矩陣分解。
②基于預測任務的構造方法:將語料數據建模為窗口的形式,根據預測任務設定目標函數,特征學習方法主要是神經網絡。
③利用外部信息的構造方法:同時利用無標注的語料和語義詞典、高質量結構化知識庫等外部信息,在語料建模和特征學習過程中增強語義約束。
2.2.2 基于全局統計信息的Word Embedding構造方法
基于全局統計信息的Word Embedding構造方法利用統計的方法處理語料,將語料數據建模為蘊含語義特征的詞-上下文的共現信息,借助數學方法(例如矩陣分解)學習Word Embedding,實現能夠從語料中自動學習詞的特征表示[10]。
基于全局統計信息的Word Embedding構造方法基本框架如圖2-5所示。圖中,語料建模過程將語料處理為詞-上下文共現矩陣,核心是上下文的選擇、目標詞與上下文之間關系的描述;特征學習的過程通常使用矩陣分解的方法。該方法的上下文通常選擇文檔、句子、模式等粒度的文本數據。整體上,上下文的全局統計信息類型分為三類:詞-文檔共現統計、詞-詞共現統計和模式對共現統計。

圖2-5 基于全局統計信息的Word Embedding構造方法基本框架
2.2.2.1 基于詞-文檔共現統計的方法
詞-文檔共現統計是將詞所在的文檔作為上下文,統計詞與文檔之間的相關性信息。這種表示方法基于詞袋假說[11](Bag of Words Hypothesis):文檔中詞出現的頻率反映文檔與詞之間的相關程度。通常,語料建模為詞-文檔共現矩陣,矩陣中的每一行對應一個詞,每一列表示一個文檔,矩陣中的每個元素都是統計語料中詞和文檔的共現數據。
潛在語義分析[12](Latent Semantic Analysis,LSA)方法是一種分析詞與文檔相關性的方法。LSA方法將語料構建為詞-文檔共現矩陣,利用矩陣分解的方法將詞和文檔映射到同一個低維語義空間,獲得詞的向量化表示。因此,LSA方法也是一種基于全局統計信息構建詞-文檔共現矩陣學習Word Embedding的方法,將高維度的詞表示映射到低維空間,通過降低向量空間的維度降低高維空間中的噪聲,挖掘詞的潛在語義特征。原始高維度的共現信息是對文本數據的直接統計,是一種直接的、稀疏的詞表示形式,反映從語料中統計的真實的詞-文檔共現信息。矩陣分解的方法可構造低維語義空間,獲得一種間接的、稠密的詞表示形式,反映詞-文檔的近似共現信息。因此,最終學習得到的Word Embedding不是簡單的詞條出現頻率和分布關系,而是強化語義關系的向量化表示。
在語料建模過程中,LSA方法首先構建一個詞-文檔共現矩陣X。矩陣X的元素是從語料中統計的TF-IDF值[13]。其中,TF代表詞頻(Term Frequency),是詞在文檔中出現的頻率;IDF代表逆文檔頻率(Inverse Document Frequency),是一個詞語普遍重要性的度量。TF-IDF的主要思想:如果某個詞在一個文檔中出現的頻率(TF)高,并且在其他文檔中很少出現,則這個詞具有很好的文檔區分能力。
在矩陣分解過程中,LSA方法對矩陣X采用奇異值分解(Singular Value Decomposition,SVD)的方法進行分解,將矩陣X分解為三個矩陣,即

其中,U和V是正交矩陣,即UUT=I,VVT=I,矩陣U代表詞的向量空間,矩陣V代表文檔的向量空間;Σ是記錄矩陣X奇異值的對角矩陣。SVD方法可對這三個矩陣進行降維,生成低維的近似矩陣,最小化近似矩陣與矩陣X的近似誤差。其過程為:假設矩陣X的秩為r,給定正整數k<r,選取Σ前k個數據構造矩陣Σk,則構造矩陣和Vk應滿足

其中,Uk可實現將詞從高維空間映射到k維空間的潛在語義表示;Vk可實現將文檔從高維空間映射到k維空間的潛在特征表示。當與矩陣X的近似誤差最小
時,可獲得LSA方法的優化結果,矩陣Uk即代表學習獲得的Word Embedding。
為了提升學習效果,研究人員引入多種矩陣分解方法到詞-文檔矩陣分解過程中。例如,主題模型[14](Topical Model)方法將矩陣X分解為詞-主題矩陣與主題-文檔矩陣;NNSE(Non-Negative Sparse Embedding)方法[15]使用非負矩陣分解[16](Non-negative Matrix Factorisation,NMF)方法,在矩陣所有元素均為非負數的約束條件下對矩陣進行分解。
2.2.2.2 基于詞-詞共現統計的方法
詞-詞共現統計是將目標詞附近的幾個詞作為上下文,統計目標詞與上下文中各個詞的相關性。這種方法基于分布式假說(Distributional Hypothesis):相似的詞具有相似的上下文。通常,語料被處理為詞-詞共現矩陣。其中,矩陣中的每一行對應一個目標詞,矩陣中的每一列代表對應上下文中的詞。
早期利用詞-詞共現矩陣學習Word Embedding的方法是Brown Clustering方法[17],利用層級聚類方法構建詞與其上下文之間的關系,根據兩個詞的公共類別判斷這兩個詞語義的相近程度。2014年,由Jeffrey Pennington等人提出GloVe方法[18]。該方法是目前具有代表性的基于詞-詞共現矩陣的Word Embedding構造方法。
詞-詞共現矩陣中的元素代表語料中兩個詞的關聯信息:由一個詞可以聯想到另外一個詞,說明這兩個詞是語義相關的;反之,為語義無關的。如何從語料中統計關聯信息直接影響Word Embedding的質量。傳統的方法是統計兩個詞在語料中的共現概率,對詞與詞之間共現關系的描述能力比較弱。GloVe方法盡可能保存詞與詞之間的共現信息。詞-詞共現矩陣中的元素是統計語料中兩個詞共現次數的對數(取log值,即矩陣中第i行、第j列的值為詞wi與詞wj在語料中的共現次數xij的對數),以更好地區分語義相關和語義無關。在矩陣分解步驟中,GloVe方法使用隱因子分解(Latent Factor Model)的方法,在計算重構誤差時,只考慮共現次數非零的矩陣元素。
GloVe方法融合了全局矩陣和局部窗口,提出了Log BiLinear的回歸模型,利用隱因子分解的方法對矩陣進行處理。GloVe方法的優勢是在生成詞-詞共現矩陣的過程中,既考慮了語料全局信息,又考慮了局部上下文信息,并且矩陣元素的計算方法可以合理地區分詞的語義相關程度。GloVe方法的訓練結果在詞相似度、詞間關系推理、NER等任務中效果突出。
2.2.2.3 基于模式對共現統計的方法
在模式對(pair-pattern)共現統計信息中,詞對(pair)代表具有聯系的詞,例如<錢鐘書,圍城>,模式(pattern)是指詞對出現的上下文,如“錢鐘書寫了《圍城》”“《圍城》的作者是錢鐘書”。利用模式對共現統計信息Word Embedding構造方法的理論基礎是擴展的分布式假說[19](Extended Distributional Hypothesis)和潛在聯系假說[20](Latent Relation Hypothesis)。擴展的分布式假說是指在相似的詞對中所出現的模式具有相似的含義;潛在聯系假說是指在相似的模式中所包含的詞對具有相似的含義。
2001年,Lin等人提出潛在關聯分析方法(Latent Relational Analysis,LRA)[19]。LRA方法從語料中自動提取模式信息,將語料建模生成模式對共現矩陣。利用SVD方法對矩陣進行分解,最終獲得Word Embedding。LRA方法可直接統計具有關聯的詞對在語料中的共現信息,在關系發掘等方面效果明顯。Danushka Bollegala等人[21]提出將語義關系(Semantic Relations)作為一種模式,通過從語料中抽取語義關系并使用共現矩陣對詞與詞之間的語義關系進行表達,利用分類器區分語義相關和語義無關。
Yang Liu等人[22]于2015年提出Topical Word Embedding(TWE)方法,利用LDA方法從語料中抽取<目標詞,主題>共現信息,將含有目標詞的固定窗口作為對應的模式,利用單層神經網絡學習獲得詞向量。
2.2.2.4 方法小結
基于全局統計信息的Word Embedding構造方法是統計語料中全局的詞-上下文共現信息,在特征學習過程中挖掘詞的語義特征,從而獲得Word Embedding。該類方法的語料建模方式是基于統計的方法,不同的構造方法在選擇上下文、詞與上下文相關性計算、學習方法等方面各有不同。表2-2為基于全局統計信息的Word Embedding構造方法比較。
表2-2 基于全局統計信息的Word Embedding構造方法比較

在基于全局統計信息的Word Embedding構造方法中,Word Embedding的質量與共現統計的方法密切相關。早期的LSA方法使用簡單的TF-IDF統計詞在文檔中的共現信息,是一種弱的關聯信息,信息不全面。除TF-IDF外,還有很多其他衡量詞與上下文相關性的方法。Pavel Pecina等人[23]采用55種不同的衡量方法進行二元詞匯識別實驗,結果表明,PMI(Pointwise Mutual Information)算法[24]是最好的衡量詞匯相關度的算法之一。后續研究人員對PMI算法進行改進,以更好地表達詞-文檔、詞-詞共現信息,并訓練出了高質量的Word Embedding。例如,NNSE方法利用改進的PMI算法描述詞-上下文之間的相關性。
GloVe方法為了更好地表示詞與詞之間的語義相關和語義無關,提出取log值的方法刻畫詞與上下文共現信息,由訓練獲得的Word Embedding可在詞相似性、關系推理等任務中達到效果最優。
因此,基于全局統計信息的Word Embedding構造方法的關鍵是對詞與上下文共現信息的描述,合理的相關性計算方法能夠更好地體現詞與詞之間的關聯,有助于學習結構提取詞的潛在特征,提升Word Embedding語義特征的表達能力。
2.2.3 基于預測任務的Word Embedding構造方法
基于預測任務的Word Embedding構造方法通常將語料建模為窗口形式,依據實際預測任務設定學習目標,在優化過程中學習Word Embedding[25]。常見的預測任務包括語言模型中的下文預測、自然語言處理任務(POS、Chunking、NER、SRL)等。
基于預測任務的Word Embedding構造方法具有兩個特點:一是語料建模生成窗口信息通常選擇句子或目標詞前后幾個詞作為上下文,是一種利用局部信息的語義特征學習方法;二是神經網絡結構對模型的發展具有決定性的作用,Word Embedding通常是作為神經網絡的副產品被訓練獲得的。
基于預測任務的Word Embedding構造方法基本框架如圖2-6所示:語料建模過程可將語料處理為窗口形式,通過窗口的滑動向模型中逐步輸入訓練語料;特征學習根據預測任務設定目標函數,通常使用神經網絡模型。

圖2-6 基于預測任務的Word Embedding構造方法基本框架
2.2.3.1 神經網絡語言模型方法
Bengio等人[26]于2003年提出神經網絡語言模型(Neural Network Language Model,NNLM)。該模型是基于n-gram語言模型預測任務的Word Embedding構造方法。在語料建模過程中,NNLM將語料中固定長度為n的詞序構建為一個窗口,使用前n-1個詞預測第n個詞,即任務目標是最大化文本的生成概率,特征學習的結構是多層神經網絡。NNLM的基本框架如圖2-7所示。

圖2-7 NNLM的基本框架
NNLM的原理可以形式化描述為:在語料中存在詞序w={w1,w2,…,wn-1,wn},在當前n-1個詞出現的情況下,最大化第n個詞出現的概率。目標函數f可以表示為

NNLM特征學習的過程是借助神經網絡,包括輸入層、投影層、隱藏層、輸出層。
輸入層信息:窗口w中前n-1個詞。
投影層信息:通過查找詞表獲得窗口w中前n-1個詞的Word Embedding表示。
隱藏層信息:H個隱藏結點。
輸出層信息:在給定前n-1個詞的情況下,預測第n個詞出現的概率,此處,需要對詞典中每個詞的出現概率進行預測。
NNLM最后使用softmax函數對輸出層進行歸一化處理,是由于輸出層為預測的詞典中每個詞出現的概率,根據概率原則,需要滿足

NNLM的特征學習結構復雜,運算瓶頸是非線性的tanh函數變換過程。為提高NNLM的效率,Andriy Mnih和Geoffrey Hinton在文獻[27]中提出HLBL(Hierarchical Log-Bilinear Language model)方法,使用樹狀層次結構加速,將詞典中所有的詞構建成一棵二叉樹。詞典中的詞是二叉樹的葉子結點,從二叉樹的根結點到詞的葉子結點的路徑使用一個二值向量表示。假設V代表整個詞典包含的詞效,則HLBL可將計算一次預測概率的復雜度由V降至lnV。這種樹狀層次結構加速的方法廣泛應用在其他的Word Embedding構造方法中,是一種比較流行的優化方法。
2.2.3.2 循環神經網絡語言模型方法
Mikolov等人在提升方法效率和效果方面的研究過程中,提出了基于循環神經網絡語言模型方法(Recurrent Neural Network Language Model,RNNLM)[28,29]。RNNLM與NNLM任務類似,都是基于語言模型預測任務的Word Embedding構造方法。二者的區別在于:RNNLM使用循環神經網絡,其隱藏層是一個自我相連的網絡,可同時接收來自t詞的輸入和t-1詞的輸出作為輸入;相比NNLM只能采用上文n元短語作為近似,RNNLM方法通過循環迭代使每個隱藏層實際上包含了此前所有上文的信息。因此RNNLM包含了更豐富的上文信息,有效提升了Word Embedding的質量。
2.2.3.3 Word2Vec方法
目前,基于預測任務Word Embedding構造方法中最為流行的方法是于2013年由Mikolov提出的Word2Vec方法[30,31]。Word2Vec方法引起了業界的高度重視,是Word Embedding構造方法發展過程中的里程碑式研究成果,包含CBOW模型和Skip-gram模型。兩個模型在語料建模過程中都選取固定長度為n的詞序作為窗口,窗口中心詞設定為目標詞,其余詞為目標詞的上下文。預測任務也基于語言模型:CBOW模型的預測任務是使用上下文預測目標詞;Skip-gram模型的預測任務是使用目標詞預測上下文。Word2Vec方法在學習結構上做了多方面的改進,用于高效、高質量地訓練大規模的Word Embedding。
Word2Vec方法的兩種模型結構如圖2-8所示。

圖2-8 Word2Vec方法的兩種模型結構
Word2Vec方法的原理與NNLM相似,都是利用固定長度的窗口信息,最大化文本生成概率。Word2Vec方法在窗口信息處理、神經網絡結構、方法優化等方面進行了如下改進。
(1)移除窗口內詞序信息
Word2Vec方法利用固定長度為n的窗口作為模型輸入信息。與NNLM將前n-1個詞拼接的方法不同,Word2Vec方法選取窗口的中心詞作為目標詞,對其余n-1個詞求平均值。因此,Word2Vec方法不再保存詞的順序信息。
圖2-8中,CBOW模型使用目標詞上下文預測目標詞,映射層的信息是輸入層的向量平均值;Skip-gram模型利用目標詞預測上下文,映射層的信息是目標詞的向量。
(2)單層神經網絡結構
為了進一步提升學習效率,Word2Vec方法移除了NNLM中計算最復雜的非線性層,僅使用單層神經網絡。
(3)優化方法
Word2Vec方法為降低預測下一個詞出現概率過程的計算復雜度,采用兩種優化方法:基于哈夫曼樹的層次方法(Hierarchical Softmax,HS)和負采樣方法(Negative Sampling,NS)。HS雖然利用了HLBL方法中的層次加速方法,但與HLBL方法不同。HS將詞典中所有的詞構造成一棵哈夫曼樹,樹的每個葉子結點均代表一個詞,每個詞都對應一個哈夫曼編碼,保證詞頻高的詞對應短的哈夫曼編碼,從而減少了預測高頻詞的參數,提升了模型的效率。為了進一步簡化模型,NS不再使用復雜的哈夫曼樹,而是使用隨機負采樣的方式進一步提高了訓練速度,改善詞向量的質量。例如,在CBOW模型中,假設目標詞wt與其上下文context(wt)的組合是一個正樣本,將wt換成詞典中的其他詞wi,則context(wt)與目標詞wi的組合就是一個負樣本,隨機選取負樣本即可組成負采樣集合NEG(wt)。NS的目標是在提高正樣本概率的同時,降低負樣本的概率。
2.2.3.4 SENNA方法
SENNA方法[32]是由Ronan Collobert和Jason Weston提出的一種利用局部信息學習的Word Embedding構造方法。SENNA方法的預測任務是判斷一個詞序是否為正確的詞序,即模型目標函數對句子打分,使正確句子的分數達到最大化。SENNA方法在語料建模過程中將語料中的詞序作為正確詞序,使用Pairwise Random方法生成噪聲詞序。SENNA方法的學習結構是卷積神經網絡。預測任務是分別對這兩類詞序打分。任務目標是最大化正確詞序的打分,即

其中,語料中以目標詞wt為中心的長度為n的詞序列{w1,w2,…,wt,…,wn}是一個正確的詞序列,w代表正確的目標詞;c代表目標詞的上下文;正確序列的打分記作S(w,c);隨機使用詞wi替換目標詞wt,生成噪聲序列{w1,w2,…,wi,…,wn},打分記作S(w′,c)。SENNA方法的目標是極大化正確序列的打分,極小化錯誤序列的打分。
SENNA方法的結構如圖2-9所示。輸入層是目標詞wt和上下文,在投影層映射為Word Embedding,通過拼接組合成上下文的向量,經過一個含有隱藏層的卷積神經網絡將詞序列映射為一個打分S。

圖2-9 SENNA方法的結構
2.2.3.5 方法小結
基于預測任務的Word Embedding構造方法從預測任務的角度對語料建模,特征學習通常使用神經網絡。不同的構造方法在處理語料、設計目標函數、選擇神經網絡方面各有差異。表2-3為基于預測任務的Word Embedding構造方法比較。
表2-3 基于預測任務的Word Embedding構造方法比較

續表

由表2-3可知,基于預測任務的Word Embedding構造方法具有兩個顯著的特點:①利用局部窗口信息學習詞的語義特征;②Word Embedding是作為神經網絡的副產品被訓練獲得的,神經網絡結構對模型的發展具有決定性的作用。下面對這兩個特點進行說明。
基于預測任務的Word Embedding構造方法將語料建模為固定或可變長度的窗口。在本質上,利用窗口信息的方法與詞-詞共現矩陣的方法是一致的:兩種方法的理論基礎都是分布式假說,選擇目標詞附近的n個詞為上下文,統計目標詞與上下文中詞的共現信息來表示共現特征。例如,在Word2Vec方法中,Skip-gram模型的窗口與詞-詞共現矩陣是等價的。
詞-詞共現矩陣需要確定矩陣的元素,即如何描述詞與上下文之間的相關性。Omer Levy和Yoav Goldberg證明利用PPMI(Positive Pointwise Mutual Information)信息的詞-詞共現矩陣方法與Skip-gram在類比任務(Word Analogy Task)中的效果相似[33]。其中,PPMI是改進的PMI方法。PMI方法中的互信息(Mutual Information)是信息論中的信息度量,利用概率論和統計的方法衡量變量之間的依賴程度,將詞看作可統計互信息的點,詞x、詞y之間的點互信息的值為

其中,p(x)代表詞x出現的頻率;p(x,y)代表詞x、詞y同時出現的頻率。在概率論中,如果x和y相互獨立,則p(x,y)=p(x)p(y)。二者相關性越大,p(x,y)相比p(x)p(y)就越大。
Omer Levy和Yoav Goldberg假設,如果Skip-gram模型中的向量維度允許無限大,則該模型可以看作一種改進的PPMI矩陣。因此,Skip-gram模型本質上是一種隱式的矩陣分解。在此基礎上,Yitan Li等人證明了Skip-gram模型等價于矩陣分解[34],并且被分解的矩陣是詞-詞共現矩陣,其第i行、第j列的元素代表了第i個和第j個單詞在窗口內的共現詞數。
因此,基于預測任務的Word Embedding構造方法是利用局部窗口信息的學習方法,并且與利用統計共現信息的方法聯系密切。
神經網絡在Word Embedding構造方法中的作用明顯。Word Embedding構造方法是學習詞的特征表示的方法,屬于機器學習領域中數據表示學習的方法。深度學習與神經網絡的發展推動了機器學習效果的提升。同樣,在Word Embedding構造方法中,神經網絡可自動發現數據之間的關聯,提取詞的語義特征,提取的效果決定模型的效果。另外,通過簡化神經網絡的結構可以提升模型的效率,適用于大規模語料的處理,可更全面地表達詞的特征。例如,Andriy Mnih和Geoffrey Hinton提出使用層次結構組織單詞,降低了模型的復雜度[27];Mikolov提出移除隱藏層簡化神經網絡[30];Andriy Mnih[35]、Mikolov[31]使用負采樣方法加速模型的訓練速度。因此,神經網絡的發展在一定程度上推動了基于預測任務的Word Embedding構造方法的改進。
2.2.4 利用外部信息的Word Embedding構造方法
由于僅利用無標注語料信息的Word Embedding構造方法存在數據稀疏、語義關系描述能力弱等限制,而利用外部信息的Word Embedding構造方法使用的是人類已經抽象好的語義關系約束語料建模和特征學習過程,因此提升了模型的表達能力,獲得了更好的攜帶語義特征的Word Embedding。利用外部信息的Word Embedding構造方法基本框架如圖2-10所示。圖中,語料建模過程是增加外部信息為語義約束;特征學習過程是根據建模的數據類型選擇合適的特征學習結構,學習低維、稠密的Word Embedding。

圖2-10 利用外部信息的Word Embedding構造方法基本框架
在語言學中,詞在語義層面上有多方面的特征,如相似性(Similarity)和相關性(Relatedness)[36]。語義相似度是兩個詞在不同的上下文中可以互相替換使用而不改變文本句法語義結構的程度。語義相關是表示兩個詞的關聯程度,即由一個詞可以聯想到另一個詞。簡單來說,詞的相似性是詞具有相似的屬性;詞的相關性是指詞與詞之間具有關聯;語義相似是語義相關的一種情況,例如“麥克”和“話筒”是相似的,“汽車”和“汽油”是相關的[37]。不同的任務關注詞語義特征的不同方面,例如在文檔檢索中需要按照主題對文檔進行分類,應關注詞與詞之間的相關性;在機器翻譯中需要對應詞的屬性,應關注詞與詞之間的相似性。目前,由語料驅動的Word Embedding構造方法僅依賴語料中詞序、詞共現等信息發掘語料中潛在的詞特征,相似的上下文并不能全面刻畫詞與詞之間的相似性、相關性。
在相似性方面,雖然“汽油”和“汽車”兩個詞常出現在相同的上下文,但是兩個詞之間的相似屬性很少。另外,在自然語言中存在一詞多義現象,即一個詞有不同的屬性信息、對應不同的上下文,將不同的屬性用相同的向量表示也是不合理的。
在相關性方面,同義詞和反義詞具有不同的語義相關。同義詞是同一個語義的不同表達,由于在同一篇文章中可能只出現一種表達,因此同義詞的上下文差距可能很大;反義詞是相反語義的表達,可能出現在相同的上下文中,例如“我很喜歡蘋果”“我很討厭蘋果”,“喜歡”和“討厭”雖然是反義關系,但是在相同的上下文中,其向量表示非常相近,從向量計算的角度無法體現兩個詞之間的關聯信息。
近年來,為了構建攜帶更全面語義表示的Word Embedding,利用外部信息構建的構造方法成為研究熱點。研究人員提出,利用現有的外部信息作為一種語義約束,輔助Word Embedding構造方法挖掘詞與詞之間的語義關聯。目前主要利用兩個類外部信息:①來自人類總結的語義資源,如WordNet和FrameNet等,這些語義知識庫按照詞的意義組成詞網絡,含有精準的語義關聯信息;②多語言語料中的語義對應關系,例如在機器翻譯中,同一個語義的翻譯對具有更近的向量距離。
2.2.4.1 利用語義資源的Word Embedding構造方法
為提升Word Embedding刻畫詞的語義關系的能力,研究人員提出在Word Embedding構造方法中引入由人類抽象總結出來的高質量的語義知識,如語義詞典WordNet、PPDB、FreeBase等。
在增強同義關系的表達方面,Manaal Faruqui等人[38]提出將詞典關系作為監督信息引入Word Embedding構造方法,以詞典中有關聯的詞向量距離更近為條件約束訓練過程。這種引入外部詞典的方法可以在學習、抽象過程中,增強詞與詞之間語義關系的表示。
反義關系也是組合語義的重要方面,通常具有反義關系的詞具有相似的上下文,因此在基于分布式假說的Word Embedding構造方法中,詞與詞之間反義關系的刻畫能力較差。針對這個問題,Quan Liu等人[39]提出在Word Embedding構造方法中利用已知的關系,使同義詞之間的向量相似度大于反義詞之間的向量相似度,提升用訓練結果判別反義詞對的能力。Zhigang Chen等人[40]提出一種不利用語料中的統計信息,僅使用WordNet和The Saurus資源的Word Embedding構造方法。其特征學習結構借鑒Word2Vec方法的結構,目標函數設計的原則是,利用由Cohen[41]提出的Pairwise Ranking方法構造不同的詞對,并使反義詞對的距離比無關系詞對的距離大,近義詞對的距離比無關系詞對的距離小,在由Mohammad提出的GRE數據集[42]上進行實驗,并與效果最好的貝葉斯概率張量分解的方法[43]進行對比,發現了增強反義詞信息的Word Embedding構造方法,在尋找反義詞任務中的準確度可達92%,提升了10%,效果顯著。
在自然語言中存在一詞多義的現象,不同的詞義對應不同的上下文。基于分布式假說的Word Embedding構造方法的訓練結果,使用同一個向量表示詞的不同詞義。為解決這個問題,研究人員通過向模型中引入WordNet、維基百科知識庫等語義資源,輔助實現向量空間中的詞義消歧。典型的研究工作是由Sascha Roth提出的AutoExtend方法[44],即在現有的Word Embedding構造方法中增加詞典資源的約束,將詞、詞義、同義詞在同一個向量空間進行表示,設計了三個約束條件:每個詞是由多個詞義組成的,詞的向量是不同詞義的向量和;同義詞集合也是由多個詞義組成的;同義詞組中相關聯的詞向量距離小。除增加約束外,還利用了稀疏特性加速求解。AutoExtend方法在詞的相似度測量和詞義消歧任務中具有良好的效果。
AutoExtend方法將詞、詞義在同一個向量空間進行表示,詞的向量是詞義向量的和,仍使用一個向量表示同一個詞的不同詞義。由Ignacio Iacobacci等人提出的SensEmbed方法[45],在詞義層次上進行向量化表示,不需要手動匹配詞義和向量。SensEmbed方法使用BabelNet[46]建立語義詞典,利用由Andrea Moro提出的Babelfy語義消歧方法[47]對語料進行消歧,將語料標注為多語義的語料。對語料詞義消歧后,SensEmbed方法可利用CBOW模型訓練得到詞義層次的向量。每個詞的不同詞義對應同一個向量。
2.2.4.2 基于多語言語料的Word Embedding構造方法
機器翻譯的語料是以雙語翻譯對的形式出現的。在雙語語料中,模型的輸入信息是完全相同語義的不同表達;在單語語料中,模型的輸入信息是語義相關的數據。因此,雙語語料的文本數據語義相關性強、噪聲小,是一種高質量的輸入信息。另外,在翻譯對中,詞匯語法的作用更為明顯有效,方便模型挖掘詞在語義上的關聯。因此,基于多語言語料的Word Embedding構造方法可以減少與學習語義特征無關的因素,提高Word Embedding的效果。
在多語言語料中,不同語言中相同語義的兩個詞可在相同句義的語境中出現。據此,Faruqui等人[48]提出將兩種語言的詞向量轉換到一個向量空間中,使其能夠在各自的空間保持詞與詞之間的聯系。這種方法要求兩種語言在詞層次上的數據具有一致性。在詞相似性的任務評測中,Faruqui方法比基于單語語料詞向量的效果更好。Hermann等人[49]提出使用多語言的分布式詞向量表示語義信息,通過實驗證明,繼續增加不同語言的語料,可以進一步提升詞語義表示的效果。Felix Hill等人[50]通過實驗說明,利用多語言語料獲得的語義特征,除能夠很好地表征語義句法信息外,在刻畫概念的相似度(Conceptual Similarity)方面效果更為明顯。
基于多語言語料的Word Embedding構造方法利用任務本身的數據和資源提升Word Embedding的質量,可以訓練更貼近任務的Word Embedding,更好地支持機器翻譯等任務。
2.2.4.3 方法小結
利用外部信息方法訓練Word Embedding,效果有明顯的提升。一方面,借助由人類抽象總結的語義資源作為約束,學習獲得更全面語義的Word Embedding,在詞相似性、詞關系推理等任務中效果顯著。另一方面,利用多語言語料,更加關注詞與詞之間語義的對應關系,利用自然語言處理任務中的約束特征學習結構,提升Word Embedding的質量。整體來說,利用外部資源的Word Embedding構造方法與僅依賴單語語料的方法相比,能更全面地挖掘詞與詞之間的語義關系,訓練效果提升明顯。
與前兩類方法相比,利用外部信息的Word Embedding構造方法在效果上具有優勢。目前流行的Word2Vec方法具有模型簡潔、訓練速度快等特點,在學術界和工業界應用廣泛。相比而言,利用外部信息的Word Embedding構造方法在模型結構上沒有實質性的改進,簡化外部知識利用是Word Embedding構造方法亟待解決的問題。
2.2.5 方法評價
為了比較不同Word Embedding構造方法的性能,學術界提出多種評價方法以便對由訓練得到的Word Embedding質量進行比較[51,52]。目前,評價方法主要分為兩類:①語言學評價;②任務評價。
(1)語言學評價
語言學評價主要是對由訓練得到的Word Embedding在語言學詞匯語義層面上的表達能力進行評價,如測試詞相似度、詞義消歧和同義/反義詞、復數形式判定、不同語種形式判定等。
一種非常流行的方法是由Mikolov提出的由詞與詞之間的類比關系來評測詞向量之間的聯系[30,31],如圖2-11所示。圖中,v(king)-v(queen)≈v(man)-v(woman),與向量v(king)-v(man)+v(woman)距離最近的向量是v(queen)。目前,這種基于類比關系的方法在評價Word Embedding構造方法中被廣泛應用。Mikolov使用的類比關系還包括名詞單-復數(apple-apples:banana-bananas)、動詞第三人稱單數(run-runs:watch-watches)、形容詞比較級-最高級(good-better:rough-rougher)和語義關系(clothing-shirt:dish-bowl)。
(2)任務評價
在自然語言處理任務中使用不同Word Embedding的表現,能夠間接地評價Word Embedding的質量。常見的任務有詞性標注、語義角色標注、短語識別、命名實體識別等。

圖2-11 由Mikolov提出的詞與詞之間的類比關系測試示意圖
筆者對六種Word Embedding構造方法進行實驗,從時間、相似度、準確性等方面對比效果,實驗選用的語料是Word2Vec方法中提供的語料,即英文維基百科語料。不同Word Embedding構造方法的模型訓練時間對比見表2-4。表2-4中,從上到下,網絡結構越來越復雜,訓練時間越來越長。Word2Vec方法使用了單層神經網絡,結構簡單,訓練效率高。由于CBOW模型使用上下文預測目標詞,Skip-gram模型使用目標詞預測上下文,每個目標詞都需要進行(n-1)次預測,因此CBOW模型比Skip-gram模型的訓練速度更快。NNLM模型使用三層神經網絡。SENNA模型采用卷積神經網絡,網絡結構復雜,訓練速度慢。
表2-4 不同Word Embedding構造方法的模型訓練時間對比

對上述方法訓練的Word Embedding結果進行語言學上的對比評價,使用詞相似度指標對訓練結果進行評價,用WS表示詞相似度(Word Similarity)。選取WordSim353數據集中詞對之間的人工打分X衡量詞的語義相似性,詞對之間向量中的余弦距離作為Word Embedding構造方法中的打分Y,通過計算兩個打分之間的Spearman相關系數來判斷人工打分與模型打分之間的相關性,即

表2-5為詞相似度測量任務結果。由表2-5可以看出,在WS指標中,Word2Vec方法的CBOW模型效果最好,由于該模型的預測任務基于語言模型,并利用學習詞與詞之間的關聯訓練Word Embedding,因此詞與詞之間的語義關系刻畫得更加緊密,在詞的相似度測量任務中準確率較高;效果較差的SENNA方法是以句子為單位的,通過對句子打分預測任務,正確的句子來自語料,錯誤的句子來自隨機替換句子中的目標詞,由于語料建模方式對詞與詞之間緊密性的描述能力較弱,因此在詞的相似度測量任務中效果不佳。
表2-5 詞相似度測量任務結果

2.2.6 Word Embedding的應用
Word Embedding在自然語言處理任務中被廣泛應用,效果明顯。例如,在情感分析任務中,針對情感詞的識別問題,傳統的方法是借助外部語義資源獲取詞與詞之間的語義關系,由于外部語義資源沒有相應的新詞,因此很難獲取新詞的詞義信息;若使用Word Embedding構造方法,通過向量表示詞與詞之間的語義相似性,則可擺脫對外部語義資源的依賴,解決發現情感新詞的問題,提升任務效果;在命名實體識別任務中,引入Word Embedding構造方法,利用詞與詞之間的語義關聯,可以解決缺乏標注數據領域的命名實體識別問題。
為介紹Word Embedding在自然語言處理任務中的應用,本節將選取問答系統、機器翻譯和信息檢索三個典型任務,詳細介紹Word Embedding在實際任務中的應用,以期為讀者使用Word Embedding提供借鑒。
2.2.6.1 問答系統
問答系統的問題檢索任務存在詞匯空缺的挑戰,相似的問題有不同的表述方式。Guangyou Zhou等人[53,54]提出了一種結合Word Embedding和詞袋模型的方法Bag-of-Embedded-Words(BoEW)對問句進行向量化表示,將句子相似度的計算問題轉化為向量線性運算。由于句子長度不同,因此BoEW通過Fisher Kernel方法將不同長度的向量轉化為固定長度的向量,通過計算問句間的向量距離完成問題的檢索任務。此外,BoEW還利用問答系統中的元數據(Metadata)作為約束條件,以相同類別問題中的詞間向量距離小為原則,設計訓練Word Embedding模型M-Net。實驗證明,在問題檢索過程中,增加元數據約束的M-Net模型效果比普通的Word Embedding構造方法好。M-Net模型利用問答系統領域的數據作為語料,利用任務中的規則約束學習過程,學習高質量的Word Embedding,提高任務的完成效果,是目前應用Word Embedding的一種流行模式。
Min-Chul Yang等人[55]提出利用問答系統中詞和問題類別數據訓練的Word Embedding建立檢索模型,提升問答系統檢索問題的完成效果。Kai Zhang等人[56]將問答系統中的詞和問題類別映射到同一個向量空間,使用向量線性點乘變換計算問題的相似度。這些方法都在檢索模型中使用Word Embedding輔助計算問句的相似度,以解決問答系統的詞匯空缺現象。
當問答系統出現新的問題時,問答系統需要推薦回答新的問題的最佳用戶。Hualei Dong等人[57]基于問答系統本身的數據訓練Word Embedding,在訓練模型中同時支持主題詞、用戶信息等數據的向量化表示。該方法根據用戶回答問題的歷史記錄數據生成用戶預置文件,建立包含用戶預置文件和問題信息的文檔向量,當問答系統中出現新的問題時,計算用戶的活躍度和權威度,合理推薦解答給用戶。
2.2.6.2 機器翻譯
在實際應用中,機器翻譯一直是關注的熱點。2013年,Mikolov等人[58]將Word Embedding用于機器翻譯任務中,開發了一種詞典和術語表的自動生成機器翻譯方法,利用兩種語言Word Embedding之間的線性向量計算實現機器翻譯。
Mikolov利用Word Embedding實現的機器翻譯示意圖如圖2-12所示:首先構建兩種語言向量空間,在單一語言語料上分別訓練Word Embedding;然后利用小規模的雙語言字典學習不同語言的線性映射關系,關聯不同語言中相同語義的詞,實現一個向量空間向另一個向量空間的映射和轉換。這種方法是利用單語言語料和小規模雙語對照詞典實現機器翻譯模型的。這種模型可以實現高質量的詞、短語翻譯,使英語和西班牙語之間的翻譯準確率高達90%。

圖2-12 Mikolov利用Word Embedding實現的機器翻譯示意圖
傳統的統計機器翻譯模型基于翻譯的一些概率原則,首先解析要翻譯的句子,然后生成翻譯結果句子。若利用Word Embedding的機器翻譯模型,則將機器翻譯中的短語用向量表示,利用向量進行機器翻譯。Jiajun Zhang[59]等人提出一種BRAE(Bilingually-constrained Recursive Auto-encoders)的方法自動對短語的語義進行向量表示,實現在向量空間區分不同語義的短語。BRAE的方法是利用神經網絡語言模型預處理詞向量的,可將正確翻譯的短語對之間的距離最小化,使錯誤翻譯的短語對之間的距離最大化,并通過訓練得到兩種語言的短語向量和基于向量進行翻譯的規則。
2.2.6.3 信息檢索
信息檢索領域需要表示長度不固定的文本數據,如詞組、句子、文檔等。Quoc V.Le和Tomas Mikolov提出的Paragrahp Vector(PV)方法[60],可以使用長度固定的向量來表示不固定長度的句子、文檔等文本,通過向量之間的線性計算衡量文本之間語義的相似度。PV方法是改進Word2Vec方法的模型,在單層神經網絡的輸入層中增加句子、文檔等文本的信息,在預測任務中優化向量表示,將句子、文檔等不固定長度的文本信息表示為攜帶語義的向量,在文檔檢索等任務中通過向量的線性計算衡量文檔的相關程度。
信息檢索過程通常需要計算兩個文檔之間的距離。Matt J.Kusner等人[61]提出的Word Mover's Distance(WMD)方法利用Word Embedding和Earth Mover's Distance方法,計算詞向量空間兩個文檔的距離。在WMD方法中,兩個文檔之間的距離通過將一個文檔中的詞移動到另一個文檔所需要的最小距離來表示。其中,詞移動的距離是兩個詞的向量距離。WMD方法利用Word Embedding解決文檔中的語義空缺問題,在文檔檢索、網頁搜索等任務中效果明顯。
在查詢擴展方面,利用Word Embedding從語義層面將查詢詞擴展,提取與查詢詞語義相似、語義相關的詞,可實現對查詢詞的語義擴展,改善信息檢索的準確率。Alessandro Sordoni等人[62]提出將詞和文檔在同一向量空間表示,并學習獲得潛在概念的向量表示(Latent Concept Embedding),結合Quantum Entropy Minimization方法對查詢詞進行擴展。Xiaohua Liu等人[63]提出Compact Aspect Embedding方法,在語義空間表示查詢詞的不同方面屬性,并設計貪婪選擇策略獲得查詢詞的擴展,使擴展后的詞更符合查詢需求。
2.2.7 研究展望
Word Embedding構造方法能解決自然語言處理領域詞的表示、存儲等需求,近年來,相關研究及其應用都取得了很大進展,但還面臨一些挑戰。
(1)大規模并行訓練Word Embedding
Word Embedding的每一維均代表詞的直接或潛在的特征。這種特征不具有解釋性,尤其是利用神經網絡進行特征學習的方法所獲得的向量,難以類比人類所熟知的詞法或語法。與之相比,利用全局共現矩陣和NMF分解的Word Embedding模型的訓練結果更具有解釋性,但在訓練過程中需要構建矩陣,在訓練效率上表現差,難以處理大規模語料。針對這一問題,大規模并行訓練方法學習可解釋的Word Embedding是未來的研究熱點。目前,Hongyin Luo和Zhiyuan Liu等人[64]提出在線可解釋的Word Embedding構造方法(Online Interpretable Word Embedding,OIWE),利用神經網絡學習可解釋的Word Embedding。如何大規模在線并行訓練和提升結果的可解釋性兼具學術價值和工業價值,是當今Word Embedding相關研究的熱點和難點。
(2)引入注意力模型(Attention-based Model)
基于分布式假說的Word Embedding構造方法使用上下文信息來描述目標詞的特征,對上下文中的詞不進行區分,僅僅通過拼接、求和、求均值等方法表示上下文信息。由于上下文中不同詞的信息并不是等價的,這種統一壓縮的方式會丟失上下文中的信息。因此在Word Embedding構造方法中引入注意力模型,在訓練過程中加入關注區域的移動、縮放機制,可以更好地保存上下文信息。如何引入注意力模型并更好地表示上下文信息,是提升Word Embedding質量的研究方向之一。
(3)多模、跨語言的Word Embedding構造方法
Word Embedding構造方法是一種語料驅動的學習方法,訓練效果依賴原始語料的豐富性和多樣性。在一些領域中,由于資源有限、信息不對等、信息表達方式多樣等因素的限制,很難獲取高質量的原始語料,缺失原始語料時很難獲得高質量的Word Embedding。為解決文本數據資源不足的情況,研究人員通常利用領域內的高質量知識庫、本體等資源[65,66],這些資源具有多來源、跨語言、多形態等特點。在未來的研究過程中,若設計多模、跨語言的Word Embedding構造方法將不同形式的輸入數據映射到統一的語義空間,則可以緩解語料缺失的問題,實現利用多源信息學習Word Embedding。
(4)不同語種的Word Embedding構造方法
按照語系劃分,不同語言之間存在不同的性質,在形態學、句法學、語義學和語用學等方面存在巨大的差異,例如英文句子結構多為從句、中文多為分句。近年來,對結合語種特點的Word Embedding構造方法的研究不斷深入,以中文Word Embedding構造方法研究為例,Liner Yang等人[67]利用組成詞的每個字的語義知識,Yaming Sun等人[68]考慮中文文字的部首信息。結合語種的特點改進模型有利于提升Word Embedding的語義表達能力。
(5)利用語料中的多種信息
目前,Word Embedding構造方法主要依賴上下文信息學習詞的特征表示。詞的形態學信息、詞性變化關系、組合信息、詞序信息、句子成分信息等都蘊含豐富的詞的特征。這些信息均來自語料,可代表不同角度的詞的特征。未來的研究一方面需要探討如何對語料建模才能利用這些信息,另一方面需要研究針對語料建模方式的特征學習方法,提升Word Embedding的質量。
(6)應用擴展
Word Embedding構造方法在本質上是一種數據表示方法,成功證明了使用分布式向量表示語義的可行性。在自然語言處理中,不同層次的數據均需要向量表示,例如常見的關系、句子、文檔、知識等。對于文檔檢索、問句匹配等自然語言處理領域的實際任務,僅使用詞的語義表示不足以有效地完成這些任務,還需要學習文檔、句子級別的語義表示。由于文檔的多樣性,因此當直接使用分布式假說構建文檔的語義向量表示時,會遇到嚴重的數據稀疏問題。主流的神經網絡語義組合方法包括遞歸神經網絡方法、循環神經網絡方法和卷積神經網絡方法。這些方法分別采用了不同的組合方式,包括詞級別的語義組合方式、句子和文檔級別的組合方式。Word Embedding構造方法向不同粒度文本數據的擴展是未來研究的方向之一。
- Internet接入·網絡安全
- Practical Data Analysis
- Google Cloud Platform Cookbook
- ESP8266 Home Automation Projects
- Apache Superset Quick Start Guide
- Learning Azure Cosmos DB
- 分數階系統分析與控制研究
- Silverlight 2完美征程
- Mastering Ceph
- Hands-On SAS for Data Analysis
- TensorFlow Deep Learning Projects
- 中老年人學電腦與上網
- 網管員世界2009超值精華本
- Hands-On Microservices with C#
- Practical Network Automation