NLP需要回歸語言本質,走向語義和計算的融合

泰嶽語義工廠發表於2019-01-24

深度學習推動NLP發展

近幾年來,利用統計機器學習方法、端到端的深度學習方法,NLP取得了長足的發展。尤其近三年來,深度學習給 NLP 帶來了新的進步,包括 Word2Vec、ELMO、OpenAI GPT、Glove、Fasttext等主流模型也在這一段時間內湧現。最近Google公司AI團隊新發布的BERT模型,在機器閱讀理解頂級水平測試SQuAD1.1中表現出驚人的成績:在全部兩個衡量指標上全面超越人類,並且還在11種不同NLP測試中創出最佳成績。可預見的是,BERT將為NLP帶來里程碑式的改變,也是NLP領域近期最重要的進展。微軟亞洲研究院開發的基於神經機器翻譯的中英機器翻譯系統,在 WMT2017 新聞領域測試資料集上的翻譯質量達到了與人類專業翻譯質量相媲美的水平。遷移學習等技術的應用,也使得NLP不同任務的訓練模型可以遷移、共享,從而提高那些本身缺乏充足訓練資料的自然語言處理任務的效果。

NLP需要回歸語言本質,走向語義和計算的融合

 NLP需要回歸語言本質

毫無疑問,深度學習是NLP有力的工具,在一個個單獨的NLP任務中,深度學習表現優異。但同時,深度學習也有侷限性,試圖把所有的NLP任務當做端到端的序列學習,學習的過程是個黑盒子,很難用語言學知識進行解釋。以機器閱讀理解為例,其理解的過程是把潛在的答案和使用者問題當做一個序列,與原始文字中的序列,進行匹配,將匹配度高的潛在答案作為結果輸出,這個過程無法生成一個與閱讀文字意思相關的答案,也無法給出其“中心思想”,就像小學考試中經常做的那樣。提到“中心思想”,NLP研究者會說,這是另外一個任務--自動摘要,與回答問題不是一個任務,需要用到不同的演算法和模型,進行不同的資料標註和訓練。但是,從語言學的角度來說,它們都是對同一文字的理解,應該建立在某種共同的基礎之上。這種基礎應該與我們對語言的認識是符合的,也就是運用了語言的特徵,符合語言的結構。

語言知識是NLP的“定海神針”,語言知識可以為演算法提供基礎的特徵,可以為演算法提供基本的資料資源,可以驗證演算法的合理性。最重要的是,只有充分利用語言知識,才能獲得NLP的可解釋性。

01 需要重視基本的語言特徵

深度學習大神Yoshua Bengio最近提到:“當我說小貓時,它不僅僅是一個抽象的概念,我腦海會有貓的影象,我能想起貓跳到腿上後的感覺。所有這些感受是不容易用語言形容的。但這些感受是我說話時隨之而來的,所有這些對於理解句子來說是非常重要的。單純的字元是無法體現這些感受,這些問題還沒有得到解決,BERT 也沒有解決這個問題,而且只針對文字的訓練是不能解決這些問題的。”

顯然,語言的特徵是抽象的,它不僅僅是我們看到的一個個字或詞的形式(字形或詞形),而應該是一個詞語所表達的全部內涵和外延

傳統語言學從語法、語義、語用幾個維度來描述。比如“飛翔”的詞性是動詞,可以做謂語(語法),可用於描述帶翅膀的動物(語義),在“飛翔的教室”這樣的描述中,就是修辭手法(語用)。傳統語言學的表示,對基本語言特徵的分類、定義是清晰、明確,可解釋的,但其缺點是可計算性不強。機器學習深度學習方法,則是把語言特徵轉換為頻度、權值這樣的數值化,並形成維度更大的向量來刻畫。即使深度學習訓練的層級達到幾百層以上,其原始的特徵也是基本的形式數值特徵,很少涉及抽象概念表示。機器學習的表示,優點是引數化、可計算性強,但缺點是可解釋性差。我們認為,NLP對語言特徵的處理,特別是深度學習演算法的輸入和輸出,都需要提高可解釋性,至少要可以用語言學的術語來解釋,以提高NLP的一致性。

02 需要利用語言知識構建標準的資料資源

語言的表述從字詞,到短語,到句子,再到篇章,逐級疊加,語言的結構也從組詞法,到短語結構(主謂結構、述補結構等),到句子結構(形容詞謂語句、流水句等),再到篇章結構(三段論、總分總等)逐級聚合,下一級結構經常引用上一級結構的結果,比如述補結構的短語做謂語的句子。各層級的語言結構,以及結構中的關係,是相對穩定的,可以形成語言結構的本體。

對每一類語言結構,都可以給出一批典型語料的標註,形成一個所謂的“黃金標準”,也就是標準資料集。標註的語料庫可以用於各種機器學習演算法來學習語言結構的知識。如賓州大學的賓州樹庫,就是句法結構的標註集,幾乎所有的基於機器學習演算法的句法分析系統,都採用賓州樹庫進行學習訓練。

03 需要重視語言結構對演算法的影響

語言的結構是語言所固有的屬性。比如中文是“SVO”型語言(指主語+謂語+賓語這樣的句子結構),可以有主謂結構(如“花貓逮住了一隻耗子”)、述補結構(如“他吃得越來越胖”)等句法結構,也可以有流水句(一個小句接一個小句,很多地方可斷可連。如“營業員手一扳,轉過櫃檯,竹殼熱水瓶擺到紹興酒罈旁邊,漏斗插進瓶口”)、兼語句(如“我請他作報告”)、形容詞謂語句(如“先別告訴他比較好”)等句子表達方式。

目前的深度學習處理結構的手段,是採用Attention、LSTM等演算法模型,對結構的層級、結構的反饋機制等進行處理。這些演算法模型,如何與語言中的類似述補結構進行融合,還沒有看到很好的方法。對結構資訊的處理,或者說結構與深度學習的融合,目前學術界尚沒有達成共識。深度學習大牛Yan LeCun將“結構”稱為“必要的惡”,主張使用簡單而強大的神經架構執行復雜任務,不需要大量針對特定任務的特徵工程。而史丹佛教授Chris Manning則將“結構”(structure)稱為“必要的善”,積極推動將更多的語言結構融入深度學習

泰嶽語義工廠——語義與深度學習技術的融合實踐

01 語義的符號化

當前的深度學習演算法主要利用頻度這樣的淺層特徵進行計算,其根本原因在於傳統語言學的語法、語義的知識無法符號化。如果能將語義符號化,將可大大豐富深度學習演算法可使用的特徵集,更大的發揮演算法的威力。

基於概念層次網路理論,我們對詞語、句子層面的語言特徵進行了符號化描述。

詞語的符號化表示,對詞語本身的語義符號化,如“方便”有多個詞義,動詞的符號化為“v632”(去衛生間方便一下),名詞的符號化為“gu932”(去辦事時能提供下方便)。同時,符號化中對詞語之間的關係也進行了刻畫,比如“勝利”對應的符號“b30e11”,“失敗”對應的符號是“b30e12”,其中的“e11”和“e12”之間的符號差異表示了“反義關係”。“高興”的符號是“7131”,符號中可以得到它是“情緒”(“713”)的下位。

NLP需要回歸語言本質,走向語義和計算的融合

句子結構的符號化,共有57個基本句類,3192個混合句類的結構。通過這樣的句子結構,對同樣意思的不同句子表達方式,可以有效地歸一化處理。如下面這幾個句子,都可以歸一化到一個表關係的結構上“RB1(泰國隊)+R(b30e11勝利)+RB2(中國隊)”。

“泰國隊大敗中國隊”、“中國隊大敗於泰國隊”、“泰國隊大勝中國隊”、“中國隊惜敗泰國隊”、“中國隊惜敗於泰國隊”、“中國隊被泰國隊幹掉了”、“泰國隊把中國隊幹掉了”。

NLP需要回歸語言本質,走向語義和計算的融合

我們已經構建了中文、英文的基礎語言特徵集,其中包括80000多個常用詞彙,覆蓋了大部分常用詞彙。據統計中文常用的5萬個詞可以覆蓋人民日報新聞用詞的99%。基礎的語言特徵集是分類的,比如針對情感計算的基礎語言特徵中包含了140多種情緒。

基礎的語言特徵集,必須通過人工方式構建。我們有30多人的語言學團隊,經過長達10年的積累,已初步構建完善。

02 語言結構的深層處理

語言結構是可以遞迴巢狀的,在不同的語言中,巢狀的手段各不相同。在英文中,是用“which、that、where”等從句來引出巢狀。但在中文,卻沒有這樣明顯的標記,處理起來也更為困難。

包含4層巢狀關係:

例:含有從燃料電池排出的氫廢氣的陽極廢氣向系統外排出的氣體流路貫穿了整個通道。

第一層: 核心句

......氣體流路貫穿了整個通道

第二層: "氣體"的限定語也是一個句子

......陽極廢氣向系統外排出的氣體[流路]

第三層: "陽極廢氣"的限定語也是一個句子

含有......氫廢氣的陽極廢氣

第四層: "氫廢氣"的限定語也是一個句子

從燃料電池排出的氫廢氣

這種複雜的語言結構巢狀,在書面語中很普遍,特別是在有專業背景的業務場景中,如公安、司法、專利、醫療等場景。泰嶽語義工廠對這種具有複雜結構的句子,除了利用詞語組合、概率統計等表層特徵和方法,還加入了遠距離的語義約束計算,以及句子序列的切分和層級處理。目前我們已經可以識別出3層以上語言結構的遞迴巢狀。

03 與深度學習技術的融合 

我們聯合北京師範大學等機構的研究者開源了「中文詞向量語料庫」Chinese Word Vectors,目前最全的中文預訓練詞向量集合。該庫包含經過數十種用各領域語料(百度百科、維基百科、人民日報 1947-2017、知乎、微博、文學、金融、古漢語等)訓練的詞向量,涵蓋各領域,且包含多種訓練設定。該專案提供使用不同表徵(稀疏和密集)、上下文特徵(單詞、n-gram、字元等)以及語料庫訓練的中文詞向量(嵌入)。在這裡,你可以輕鬆獲得具有不同屬性的預訓練向量,並將它們用於各類下游任務。

我們研發了基於詞的BERT模型。BERT(BidirectionalEncoder Representations from Transformers)是谷歌AI語言研究人員在文字表示學習方面提出的模型。它在NLP任務中表現驚人,在11項任務呈現最先進的結果。雖然BERT模型提供的預訓練字向量已有了很好的結果,但是考慮到在很多下游任務中(如分類任務、閱讀理解等),詞向量一般比字向量有著更好的結果,因此進行了遷徙學習字(Char)到詞(Word)的嘗試,並且通過實驗證明嘗試的方法有效。

NLP是處理語言的,NLP處理的結果和過程,都需要具備語言的可解釋性。深度學習對語言結構的處理能力依然很弱。迴歸語言本質,將語言知識和深度學習技術深度融合,將是NLP未來的可行之路,泰嶽語義工廠,已經在路上~

相關文章