歡迎光臨
每天分享高質量文章

全域性語意語境能改善神經語言模型嗎?

    往智慧手機中輸入文字,搜尋你可能喜歡的新聞,或找到你可能關心的問題的答案,以及許多其他與語言相關的NLP任務都依賴於強大的自然語言處理( NLP )模型。Word embedding也是一種NLP模型,它將word對映成數值向量。這使得尋找某個word相似的向量或向量cluster變得相當簡單,然後透過反向對映以獲得相關的語言資訊。這些模型是新聞、搜尋、Siri、Keyboards和地圖查詢等常見應用的核心部分。在本文中,我們將探討是否可以使用全域性語意背景關係(Global Semantic Context)來改進QuickType keyboard的單詞輸入時,下一個輸入單詞的預測問題。


介紹

    You shall know a word by the company it keeps.

      語言學家,John Rupert Firth

    如今,大多數訓練Word embedding的技術,對於句子中一個給定的單詞,只是選擇單詞前後固定視窗(比如,5個單詞),捕捉固定視窗中local的背景關係資訊,正如上文所說的“the company it keeps”。例如,美國獨立宣言中的“self-evident”這個詞的local context,左邊是上文是“hold these truths to be”,右邊下文是“that all men are created”。

    在本文中,我們將這種方法的進行擴充套件,捕獲了檔案的整個語意結構資訊—例如,《獨立宣言》整個文字資訊。這種全域性語意背景關係資訊能產生更好的語言模型嗎?首先,讓我們來看一下當前Word embedding的用法。


Word Embedding

    透過無監督的方式訓練的連續空間Word embedding對於各種自然語言處理( NLP )任務都是非常有用,如資訊檢索[1]、檔案分類[2]、問答[3]和語言建模[4]等。最簡單的embedding是採用one-hot-to-vector方式進行編碼。更複雜的embedding方法是將單詞對映到低維連續向量空間中的密集向量表示方法。在這種降維過程中,mapping有利地捕獲了一定量的關於單詞的語意、句法和語用(pragmatic)資訊。然後,計算向量之間的距離可以得到單詞之間的相似性,而這些度量不可能直接使用單個單詞本身進行計算。

    對embedding進行降維的方法可以分為兩類:

    1、從單詞的local背景關係得到的表示(representation)(例如,某個單詞的前後L個單詞,其中L通常是比較小的整數)。

    2、利用單詞周圍的全域性背景關係得到的表示(例如,它出現的整個檔案)


利用local背景關係的獲取representation的方法

    (1)、使用神經網路結構的基於預測的方法,如連續單詞袋和skip=gram模型[5]

    (2)、來自connectionist語言建模的投影層技術[6]

    (3)、基於自動編碼器的Bottleneck表示[7]


利用全域性背景關係的方法包括

    (1)、全域性矩陣分解方法,如潛在語意對映(latent semantic mapping, LSM ),它使用單詞-檔案共現次數資訊[8]

    (2)、對數線性回歸建模(log-linear regression modeling),如單詞向量化的全域性向量( GloVe),使用單詞-單詞共現次數資訊[9]

    像LSM這樣的全域性共現計數方法得到的word representation可以被認為是真正語意embedding,因為它們捕獲了整個檔案所包含的語意概念的統計資訊。相比之下,使用神經網路的典型基於預測的解決方法只包含語意關係,以至於它們在以每個單詞為中心的區域性視窗中表現出來(預測時使用的所有內容)。因此,當涉及全域性語意資訊時,這種方法得到的embedding具有有限表達能力。

    儘管有這些限制,但基於神經網路的embedding使用場景越來越多。尤其是連續詞袋和skip-gram模型越來越受歡迎,因為他們能夠實現這麼一種類比:“king is to queen as man is to woman”。“因為基於LSM的方法在很大程度上不能實現這種詞的類比,所以普遍認為基於LSM的方法產生了次優的空間結構,這是由於向量空間的各個維度缺乏精確的含義。

    這一認識促使我們探索基於深度學習的替代方案是否能比我們現有的LSM風格的Word embedding獲得更好地結果。我們特別研究了是否可以透過使用不同型別的神經網路架構來獲得更強大的語意embedding。

    在下一節中,我們將討論在Apple QuickType keyboards中使用這些embedding來提高word預測精度所面臨的挑戰。首先介紹bi – LSTM架構,然後描述用這種架構獲得的語意embedding,以及它們在神經語言建模中的應用。最後,討論我們所獲得的一些結果以及我們對未來發展的看法。


Neural Architecture

    word 2vec是建立Word embedding的最著名的框架之一。相反,我們決定研究一種能夠提供全域性語意embedding的神經架構。我們選擇了bi – LSTM遞迴神經網路( RNN )架構。這種方法允許模型訪問關於先前、當前和未來輸入的資訊,從而產生能夠捕捉全域性背景關係的模型。

    我們設計了模型結構,以便它可以接受多達一個完整的檔案作為輸入。它提供了一個與該檔案相關聯的語意類別(semantic category)作為輸出,如圖1所示。由此產生的embedding不僅僅捕獲一個詞的local背景關係—它們還捕獲輸入document的整個語意結構。

這個架構解決了兩個主要問題。第一個問題是以某個單詞為中心的有限大小視窗內的local背景關係的限制。透過切換到用於embedding計算的雙向遞迴實現,該架構原則上可以捕捉無限長度的左右背景關係資訊。這不僅可以處理整個句子,還可以處理整個段落,甚至整篇檔案。

圖1. 用於全域性語意embedding的RNN模型結構

    第二個問題與預測標的本身有關。迄今為止,所有的神經網路解決方法要麼預測背景關係中的單詞,要麼預測區域性背景關係本身,這並不能充分反映全域性語意資訊。相反,圖1所示的模型結構直接從輸入文字預測全域性語意類別。為了簡化語意標簽(semantic labels)的生成過程,我們發現,可以使用LSM [8]來獲得初始word – document embedding的聚類類別(clustered categories)。

    讓我們仔細看看網路是如何工作的。假設當前處理的文字塊(可能是句子、段落或者時整個檔案)包含T個單詞x ( t ),1≤t≤T,並且與全域性的語意類別z相關。我們將這個文字塊作為輸入提供給雙向RNN架構。

輸入文字中的每個單詞x ( t )使用1-of-N方式進行編碼;因此,x ( t )是稀疏的,其維數等於n。維數為H的上文向量H ( t-1 )包含來自前一時間步隱藏層中輸出的上文表示。同樣,維度為H的下文向量g ( t + 1 )包含來自未來時間步長的隱藏層中的下文表示。網路在當前時間步計算隱藏節點的輸出值如下:

    h ( t ) = F { X*X ( t ) + W*h ( t-1 ) } h ( t ) = F { X * x( t ) + W *h ( t-1 ) }

    g ( t ) = F { Y*x ( t ) + V*g ( t + 1 ) } g ( t ) = F { Y *x ( t ) + V *g ( t + 1 ) }

    其中:

    f { .}表示啟用函式,如sigmoid、tanh或relu。

    s ( t )表示網路的狀態,它的維度為2H,由左右背景關係隱藏層輸出拼接而成: s ( t ) = [g(t) ,h (t)]。將此狀態視為維度2H的向量空間中單詞x ( t )的連續空間表示。

    網路的輸出是與輸入文字相關聯的語意類別。因此,在每個時間步,對應於當前word的輸出標簽z採用1-of-K方式編碼,並且採用如下公式計算:

    Z = G { Z⋅[ G ( t ) h ( t ) ] Z = G { Z* [ G ( t ) h ( t ) ]

其中:

    g { }表示softmax啟用函式。

    當我們訓練網路時,我們假設有一組可用語意類別註釋。如前所述,這些註釋可能來自使用LSM獲得的初始word-document embedding。

    為了避免典型的消失梯度問題,我們將隱含層的節點改為LSTM或門控遞迴單元( GRU )。此外,可以根據需要將圖1所示的單個隱藏層擴充套件到任意複雜、更深的網路。例如,兩個相互堆疊的RNN或LSTM網路在許多應用中都已經獲得了良好的結果,比如語言識別。


Semantic word embedding

    對於給定詞彙表中的每個單詞,我們使用給定每個單詞出現的文字塊(句子、段落或檔案),訓練一個神經網路模型,並把模型輸出hidden state當作其word representation。當這個詞只出現在一段文字中時,我們會直接使用相應的state(維度2H )做為其表示。如果一個詞出現在多個文字中,我們會相應地對所有相關向量進行平均。

    與LSM一樣,與特定語意類別密切相關的詞往往與代表該語意類別的少量維度相關。相反,虛詞(如“the”、“at”、“you”)傾向於聚集在向量空間的原點附近。

    請註意,最初的語意類別隨後可以透過迭代獲得的連續語意embedding和您想要實現的語意粒度來refine。

    Out-of-Vocabulary(OOV )詞需要特殊處理,因為它們不屬於1 / N編碼樣式。一種方法是給OOV的詞分配一個額外的維度,從而使用1-of-(N+1)的embedding作為輸入。網路的其餘部分保持不變。在這種情況下,維度2H的單個向量可以表示任何OOV單詞。


神經語言建模

    在實驗開始前,我們用一個包含約7000萬word的專門構造的段落語料庫,訓練了semantic embedding,維度2H設定為256。然而,我們發現,即使長度歸一化,也很難處理每個輸入段落長度的巨大變化。此外,由段落資料(paragraph data)訓練得到的embedding和由句子資料(sentence data)的訓練語言模型得到的embedding的不一致性似乎超過了外部加入全域性語意資訊帶來的好處。這與我們之前所觀察到的一致,即任何embedding都是在將要使用它的確切資料集上才能獲得最好的結果。一般來說,資料驅動的Word embedding在不同任務之間很難移植。

    因此,我們決定在用於訓練QuickType神經語言模型的(句子)語料庫的子集上訓練embedding。然後,我們根據我們的標準語言建模測試集上的perplexity來衡量embedding的質量,如表1所示。符號“1-of-N”表示稀疏embedding,而“word 2vec”指的是在大量資料上訓練的Word2vec embedding。

表1. 語言建模測試集的perplexity結果(訓練語料的大小依指示而變化)

    我們驚訝地看到,在少量資料上訓練的bi-LSTM embedding與在大量資料上訓練的word 2vec embedding(7倍)效果大致相同。類似地,bi-LSTM embedding與更大資料集( 5000倍)資料集上訓練的one-hot向量得到結果一致。因此,所提出的方法非常適合於收集大量訓練資料繁瑣或昂貴的場景。


結論

    我們評估了將全域性語意資訊納入神經語言模型的潛在好處。因為這些模型主要是針對區域性預測進行了最佳化,因為它們沒有恰當地利用可能相關的全域性內容。因此,挖掘全域性語意資訊通常有利於神經語言建模。然而,正如我們發現的那樣,這種方法需要解決段落資料上的訓練詞embedding和句子資料上的訓練語言模型之間的長度不匹配。

    我們認為解決這個問題的最佳方法是修改語言模型訓練中使用的標的函式,這樣我們就可以在同一段落資料上同時訓練embedding和語言模型。我們目前正在嘗試用一個多工標的函式來同時預測語意類別(訓練語意embedding)和下一個單詞(訓練神經語言模型)。

    總之,使用bi – LSTM RNNs訓練全域性語意詞embedding確實可以提高神經語言建模的準確性。它還可以大大減少培訓所需的資料量。

    未來,我們認為多工訓練框架有潛力透過利用local和全域性語意資訊來實現兩者的最佳平衡。


參考文獻

[1] C.D. Manning, P. Raghavan, and H. Schütze. Introduction to Information Retrieval. Cambridge University Press, 2008.
[2] F. Sebastiani. Machine Learning in Automated Text Categorization. ACM Computing Surveys, vol. 34, pp. 1–47, March 2002.
[3] S. Tellex, B. Katz, J. Lin, A. Fernandes, and G. Marton. Quantitative Evaluation of Passage Retrieval Algorithms for Question Answering. Proceedings of the 26th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 41–47, July–August 2003.
[4] H. Schwenk. Continuous Space Language Models. Computer Speech and Language, vol. 21, issue 3, pp. 492–518, July 2007.
[5] T. Mikolov, W.T. Yih, and G. Zweig. Linguistic Regularities in Continuous Space Word Representations. Proceedings of NAACL-HLT 2013, June 2013.
[6] M. Sundermeyer, R. Schlüter, and H. Ney. LSTM Neural Networks for Language Modeling. InterSpeech 2012, pp. 194–197, September 2012.
[7] C.Y. Liou, W.C. Cheng, J.W. Liou, and D.R. Liou. Autoencoder for Words.Neurocomputing, vol. 139, pp. 84–96, September 2014.
[8] J.R. Bellegarda. Exploiting Latent Semantic Information in Statistical Language Modeling. Proceedings of the IEEE, vol. 88, issue 8, pp. 1279–1296, August 2000
[9] J. Pennington, R. Socher, and C.D. Manning. GloVe: Global Vectors for Word Representation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp 1532–1543, October 2014. 

往期精彩內容精選

神經網路程式設計精品課程-基於PyTorch的深度學習實戰

Yann LeCun – 深度學習及人工智慧的未來

NLP聖經《自然語言處理綜述》2018最新版推薦

2018-Geoffrey Hinton-深度學習基礎

-《Pro Deep Learning with TensorFlow》分享

AI實戰聖經《Machine Learning Yearning》第1-52章中英文版pdf分享

神聖的NLP!一文理解詞性標註、依存分析和命名物體識別任務

精品文章分享-0818

CMU-2018年8月-深度學習基礎課程影片分享

《純乾貨》2018-2019年國際AI會議最全資訊整理分享

深度學習實戰-從原始碼解密AlphGo Zero背後基本原理

每週論文推薦-0803

掃描下方二維碼可以訂閱哦!

DeepLearning_NLP

深度學習與NLP

       商務合作請聯絡微訊號:lqfarmerlq

贊(0)

分享創造快樂