天天看點

《中國人工智能學會通訊》——7.5 應 用

通過組合,産生不同粒度語言單元的(向量)表示方式,然後通過在向量空間中的運算,就可以支撐多種多樣的應用。例如想要識别兩個句子是否互為複述(Paraphrase),就可以使用以上任意一種神經網絡結構,将兩個句子分别表示為兩個向量,并通過在其之上再建構神經網絡構成二進制分類器的方式,判斷兩個向量之間是否互為複述[9] ;然後通過反向傳播(Back Propagation)算法,就可以學習獲得三個神經網絡的參數。

另外,兩個單元也可以是不同的粒度,如完形填空,空白處的上下文可以使用神經網絡表示為向量,候選詞也可以使用向量表示,然後同樣使用另一個神經網絡模型判斷它們之間是否比對,進而判斷填入該詞是否合适。

這種以向量的形式表示,然後再計算的思想可以擴充為多種語言,進而實作機器翻譯等功能。對于機器翻譯,我們首先将源語言表示為向量,該向量代表了源語言的語義資訊;然後根據該向量,逐詞的生成目智語言[10] 。這套方法又稱為編碼 - 解碼(Encoder-Decoder)或者序列到序列(seq2seq,sequence to sequence)的架構。現實情況中,很難用一個向量表示源語言全部資訊,是以在生成一個目智語言詞時,如果能有其對應的源語言詞作為輸入,則生成的詞會更準确。由于兩種語言之間的詞并非一一對應,是以很難判斷目前的目智語言的詞是由那個源語言生成的,于是人們設計出注意力(Attention)機制[11] ,即目前目智語言的詞是全部源語言的詞經過權重求和後的向量及前一個目标詞的隐含層向量(h t -1)共同生成的,每個權重由 h t -1和每個源語言詞的隐層向量(h s )共同決定,源語言的詞權重越大,說明其對生成該目智語言的貢獻越大,這其實也隐含說明這兩個詞越對齊。

以上的這種 seq2seq 思想又可以進一步應用于更多的自然語言處理任務中,如抽象式文摘(Abstractive Summarization)這一前人很難觸及的任務。傳統的文摘研究多集中于抽取式文摘(Extractive Summarization),即從篇章中摘取重要的句子組成文摘,而缺乏有效的手段能夠将句子打破。基于 seq2seq 技術,就可以将原文表示為一個向量,然後通過該向量,逐詞的生成連貫的文摘,進而不受限于必須抽取原文中的句子。

再進一步将該思想進行擴充,是否也可以将圖檔或者視訊表示為向量,然後在生成對應的文字描述?這正是圖像字幕生成(Image CaptionGeneration)這一非常有趣的研究任務所采用的基本思想,其中圖像的向量可以由卷積神經網絡來生成[12] 。

另外,一些傳統的自然語言處理任務,如詞性标注、句法語義分析等也都受益于深度學習方法。以基于轉移的句法分析器為例,該方法使用一系列由初始到終止的狀态(State 或 Configuration)表示句法分析的過程,一個狀态經過一個轉移動作(Action),如移進(Shift)或歸約(Reduce),變為一個新的狀态。我們的目的就是要學習一個分類器,其輸入為一個狀态,輸出為該狀态下最可能的動作。具體介紹可以參見 Google 最新釋出的 SyntaxNet 文檔1 。傳統的方法通過抽取一系列人工定義的特征來表示狀态,即分類的依據,如棧(Stack)頂的詞、詞性,緩存(Buffer)頂的詞、詞性以及各種特征組合等。顯然,這種人工定義特征的方式存在特征定義不完備等問題。是以可以采用任一種神經網絡結構,如LSTM循環神經網絡[13] ,更全面地表示一個狀态,進而省去了繁瑣的特征定義過程,并能夠獲得更好的分類效果。

繼續閱讀