改變世界的七大NLP技術,你瞭解多少?(下)

摘要: 這裏有改變世界的7大NLP技術,點進來了解一下吧!

改變世界的七大NLP技術,你瞭解多少?(上)

clipboard.png

在第1部分中,我介紹了自然語言處理(NLP)領域以及爲其提供支持的深度學習。我還介紹了NLP中的3個關鍵概念:文本嵌入(字符串的矢量表示),機器翻譯(使用神經網絡翻譯語言),以及Dialogue和Conversations(可以實時與人進行對話的技術)。在第2部分中,我將介紹另外4項重要的NLP技術,你應該關注這些技術,以跟上這一研究領域快速增長的步伐。

技術4:情緒分析

人際交往不僅僅是文字和其明確的含義,而且它還是微妙且複雜的。即使在完全基於文本的對話中,你也可以根據單詞選擇和標點符號判斷客戶是否感到憤怒。你可以閱讀產品在天貓平臺的評論,並瞭解評論者是否喜歡或不喜歡它,即使他們從未直接說過。爲了使計算機真正理解人類每天的交流方式,他們需要理解的不僅僅是客觀意義上的詞語定義、而且他們需要了解我們的情緒。情緒分析是通過較小元素的語義組成來解釋較大文本單元(實體、描述性術語、事實、論據、故事)的含義的過程。

傳統情感分析的方法是將句子視爲一個詞袋,並查閱“積極”和“消極”單詞的策劃列表,以確定該句子的情緒。這需要手工設計的特徵來捕捉情緒,所有這是非常耗時和不可擴展的。

用於情感分析的現代深度學習方法可用於形態學、語法和邏輯語義,其中最有效的是遞歸神經網絡。顧名思義,遞歸神經網絡開發的主要假設遞歸是描述語言的自然方式。遞歸在消歧方面很有用,有助於某些任務引用特定的短語,並且對於使用語法樹結構的任務非常有效。

clipboard.png

遞歸神經網絡非常適合具有嵌套層次結構和內部遞歸結構的設置。語法的句法規則是高度遞歸的,因此,我們利用遞歸神經網絡!使用RNN對句子進行建模的另一個好處是,我們現在可以輸入任意長度的句子,這對於在NLP中使用神經網絡來說是一個巨大的難題,使用非常聰明的技巧使句子的輸入向量具有相同的大小,儘管句子的長度不相等。

clipboard.png

標準RNN是一種遞歸神經網絡的最基本的版本。它具有最大邊距結構預測架構,可以在複雜的場景圖像和句子中成功地運用這種結構。它用於爲自然語言句子提供有競爭力的語法分析器比如說Penn Treebank。作爲參考,Penn Treebank是第一個大型樹形數據集,由華爾街日報三年(WSJ)收集的24,799個故事組成,它廣泛用於句法註釋。此外,它優於語義場景分割、註釋和分類的替代方法。

然而,標準RNN並不能捕獲語法短語的完整語法。在語法上解開RNN,也被稱爲成分矢量語法(CVG),這個方法是解決這個問題的一個重大升級。它使用語法解開的遞歸神經網絡來學習句法語義和組合向量表示。該模型能夠像標準RNN一樣快速地進行訓練和實施。

clipboard.png

另一個演變是Matrix-Vector RNN,它能夠捕獲更長短語的組成含義。該模型爲解析樹中的每個節點分配一個向量和一個矩陣:向量用於捕獲成分的固有含義,而矩陣捕獲它如何改變相鄰單詞或短語的含義。而且該矩陣向量RNN可以在命題邏輯和自然語言中學習運算符的含義。
該模型在三個不同的實驗中獲得過不錯的表示:

  • 預測副詞-形容詞對的細粒度情感分佈;
  • 對電影評論的情感標籤進行分類;
  • 使用它們之間的句法路徑對名詞之間的語義關係(例如因果關係)進行分類。

clipboard.png

迄今爲止用於情感分析的最強大的RNN模型是遞歸神經張量網絡,其在每個節點處具有神經網絡的樹結構。該模型可用於邊界分割,以確定哪些詞組是積極的,哪些是消極的。在Sentiment Treebank上接受訓練時,該模型在幾個指標上的表現優於所有以前的方法。

技術5:問答系統

問答(QA)系統的想法是直接從文檔、對話、在線搜索和其他地方提取信息,以滿足用戶的信息需求。QA系統不是讓用戶閱讀整個文檔,而是更喜歡簡短而簡潔的答案。如今,QA系統可以非常容易地與其他NLP系統結合使用,並且一些QA系統甚至超越了對文本文檔的搜索,並且可以從圖片集合中提取信息。

事實上,大多數NLP問題都可以被視爲一個問題回答問題。範例很簡單:我們發出查詢指令,機器提供響應。通過閱讀文檔或一組指令,智能系統應該能夠回答各種各樣的問題。

clipboard.png

強大的深度學習架構(稱爲動態內存網絡(DMN))已針對QA問題進行了專門開發和優化。給定輸入序列(知識)和問題的訓練集,它可以形成情節記憶,並使用它們來產生相關答案。該體系結構具有以下組件:

  • 語義內存模塊(類似於知識庫)被用來創建從輸入句子的嵌入字序列預先訓練手套載體。
  • 輸入模塊處理與問題有關的輸入矢量稱爲事實。該模塊使用門控循環單元實現,GRU使網絡能夠了解當前正在考慮的句子是否相關或與答案無關。
  • 問題模塊逐字處理疑問詞,並且使用輸出相同權重的GRU輸入模塊的向量。事實和問題都被編碼爲嵌入。
  • 情景記憶模塊接收從輸入中提取和編碼的嵌入事實和問題載體。這使用了一個受大腦海馬體啓發的想法,它可以檢索由某些反應觸發的時間狀態,如景點或聲音。
  • 答案生成模塊,通過適當的響應,情景記憶應該包含回答問題所需的所有信息。該模塊使用另一個GRU,使用正確序列的交叉熵錯誤分類進行訓練,然後可以將其轉換回自然語言。

clipboard.png

DMN不僅在質量保證方面做得非常好,而且在情感分析和詞性標註方面也優於其他架構。自開發以來,動態內存網絡已經有了重大改進,進一步提高其在問答環境中的準確性,包括:

  • 用於視覺和文本問題的動態存儲網絡問答應用基本上是將DM​​N應用於圖像,其內存和輸入模塊已升級,以便能夠回答視覺問題。該模型改進了許多基準Visual
    Question Answering數據集的現有技術水平,而不支持事實監督。
  • 用於問題應答的動態Coattention網絡解決了從對應於不正確答案的局部最大值恢復的問題。它首先融合了問題和文件的共同依賴表示,以便集中於兩
    者的相關部分。然後,動態指向解碼器迭代潛在的答案跨度,該迭代過程使模型能夠從對應於不正確答案的初始局部最大值中恢復。

技術6:文本摘要
人類很難手動彙總大型文本文檔。文本摘要是NLP爲源文檔創建簡短、準確和流暢的摘要問題。隨着推送通知和文章摘要獲得越來越多的注意力,爲長文本生成智能且準確摘要的任務每天都在增長。

通過首先計算整個文本文檔的單詞頻率來自動彙總文本。然後,存儲和排序100個最常用的單詞。然後根據它包含的高頻詞數對每個句子進行評分,更高頻率的詞,價值更大。最後,根據它們在原始文本中的位置來獲取和排序前X個句子。

clipboard.png

文本摘要有兩種基本方法:提取和抽象。前者從原始文本中提取單詞和單詞短語以創建摘要。後者是學習內部語言表示以生成更像人類的摘要,解釋原始文本的意圖。

提取摘要的方法是通過選擇子集來工作。這是通過從實際文章中提取短語或句子以形成摘要來完成的,LexRank和TextRank是衆所周知的摘要總結,它們都使用了Google PageRank算法的變體。

  • LexRank是一種無監督的基於圖形的算法,它使用IDF修改的餘弦作爲兩個句子之間的相似性度量。該相似度用作兩個句子之間的圖形邊緣的權重。LexRank還採用了智能後處理步驟,確保爲摘要選擇的頂級句子彼此不太相似。
  • TextRank是一種類似於LexRank的算法,具有一些增強功能,例如使用詞形化而不是詞幹,結合詞性標註和命名實體分辨率,從文章中提取關鍵短語,以及根據這些短語提取摘要句子。除了文章摘要外,TextRank還從文章中提取了有意義的關鍵短語。

抽象概括的模型屬於深度學習。使用深度學習的文本摘要已經取得了一定的突破。以下是一些NLP領域最大公司最顯着的公佈結果:

  • Facebook的神經注意是一種神經網絡架構,它利用基於本地注意力的模型,能夠根據輸入句子生成摘要中的每個單詞。
  • Google
    Brain的Sequence-to-Sequence模型遵循編碼器-解碼器架構。編碼器負責讀取源文檔並將其編碼爲內部表示,解碼器是一種語言模型,負責使用源文檔的編碼表示在輸出摘要中生成每個單詞。
  • IBM Watson使用類似的序列到序列模型,但具有注意力和雙向遞歸神經網絡功能。

技術7:注意力機制

神經網絡中的注意力機制是基於人類的視覺注意機制。人類的視覺注意力雖然存在不同的模型,但它們都基本上歸結爲能夠以“高分辨率”聚焦於圖像的某個區域,同時以“低分辨率”感知周圍的圖像,然後隨着時間的推移調整焦點。

想象一下,你正在閱讀一篇完整的文章:不是按順序瀏覽每個單詞或字符,而是潛意識地關注一些信息密度最高的句子並過濾掉其餘部分。你的注意力有效地以分層方式捕獲上下文信息,這樣就可以在減少開銷的同時做出決策。

那爲什麼這很重要?諸如LSTM和GRU之類的模型依賴於讀取完整的句子並將所有信息壓縮爲固定長度的矢量。這需要基於文本統計屬性的複雜特徵工程,用幾個單詞表示的數百個單詞的句子肯定會導致信息丟失,翻譯不足等。

clipboard.png

通過注意力機制,我們不再嘗試將全文編碼爲固定長度的矢量。相反,我們允許解碼器在輸出生成的每個步驟處理源語句的不同部分。我們讓模型根據輸入句子以及它到目前爲止產生的內容來學習要注意的內容。

根據上面從基於注意力的神經機器翻譯的有效方法的圖像,藍色表示編碼器,紅色表示解碼器,因此我們可以看到上下文向量將所有單元格的輸出作爲輸入來計算每個單元格的源語言單詞的概率分佈。解碼器想要生成單個字,通過利用該機制,解碼器可以捕獲全局信息而不是僅基於一個隱藏狀態進行推斷。

除了機器翻譯之外,注意力模型還可以處理各種其他NLP任務。在Show,Attend和Tell:使用視覺注意生成神經圖像標題,作者將注意力機制應用於生成圖像描述的問題。他們使用卷積神經網絡對圖像進行編碼,使用具有注意力機制的遞歸神經網絡來生成描述。通過可視化注意力,他們可以在生成單詞時解釋模型正在查看的內容:

clipboard.png

在語法作爲外語中,作者使用具有注意力機制的遞歸神經網絡來生成句子解析的樹。可視化的注意力矩陣可以深入瞭解網絡如何生成這些樹:

clipboard.png

在閱讀和理解的教學機器中,作者使用迴歸神經網絡來閱讀文本,閱讀問題,然後產生答案。通過可視化關注矩陣,它們可以在嘗試查找問題答案時顯示網絡的外觀:

clipboard.png

然而,注意力機制需要付出代價。我們需要計算輸入和輸出字的每個組合的注意力值。如果你有一個100字的輸入序列並生成一個100字的輸出序列,那將是10,000個注意力值。如果你進行字符級計算並處理由數百個令牌組成的序列,上述機制可能變得非常昂貴。

自然語言處理已經解決的障礙

值得注意的是,研究人員不得不處理各種障礙:算法的侷限性、模型的可擴展性、對人類語言的模糊理解。好消息是,這個領域的發展似乎是一個巨大的開源項目:研究人員不斷構建更好的模型來解決現有問題並與社區分享他們的結果。由於最近的學術研究進展,以下是NLP中已經解決的主要障礙:

  • 沒有單一的模型架構,跨任務具有一致的最新結果。例如,在Question Answering中,我們有強監督的端到端內存網絡 ;
    在情感分析中,我們有Tree-LSTM ;
    在序列標記中,我們有雙向LSTM-CRF。我之前在問題回答部分中提到的動態內存網絡以某種方式解決了這一挑戰,因爲它可以在多個域中一致地運行。
  • 機器學習中一種強大的方法是多任務學習,它共享相關任務之間的表示,以使模型能夠更好地概括原始任務。然而,相關的多任務學習很難,因爲它通常僅限於較低層,僅在任務相關時纔有用,並且在所提出的模型中具有相同的解碼器/分類器。在聯合多任務模型中:爲多個NLP任務增長,作者預先定義了一個由幾個NLP任務組成的分層架構,作爲多任務學習的聯合模型。該模型包括字符n-gram和短路以及最先進的純前饋解析器,能夠執行依賴解析,多句子任務和聯合訓練。
  • 另一個挑戰是重複字表示的問題,其中模型中編碼器和解碼器的不同編碼導致重複的參數/含義。對此最簡單的解決方案是將單詞向量聯繫在一起並聯合訓練單個權重,如“綁定單詞向量”
    和“單詞分類器:語言建模的損失框架”中所示。
  • 另一個障礙是,與諸如卷積神經網絡或前饋神經網絡相比,任何Deep NLP技術的基本構建塊Recurrent Neural
    Networks相當慢。準遞歸神經網絡採用RNN和CNN的最佳部分來提高訓練速度,使用卷積跨越時間的並行性和跨越信道的並行性的元素級門控遞歸。這種方法比語言建模和情感分析中的任何其他模型更好,更快。
  • 最後,在NLP中,架構搜索使用機器學習自動化人工神經網絡設計的過程
    非常緩慢,因爲傳統的手動過程需要大量的專業知識。如果我們可以使用AI爲任何問題找到合適的架構怎麼辦?使用Google
    Brain進行強化學習的神經架構搜索是迄今爲止開發的最可行的解決方案。作者使用循環網絡生成神經網絡的模型描述,並使用強化學習訓練此RNN,以最大化驗證集上生成的體系結構的預期準確性。

結論

本系列文章展示了主要的自然語言處理技術的基本概要,這些技術可以幫助計算機從單個文本或文本序列中提取,分析和理解有用的信息。從跨文化連接人的機器翻譯到幫助客戶服務的對話聊天機器人; 從深刻理解人類情緒的情感分析,到可以模仿我們視覺注意力的注意力機制。因爲NLP的領域過於龐大可能我並沒有完全介紹,所以我鼓勵你進一步探索,無論是通過在線課程,博客教程,或研究論文。

本文作者:【方向】

閱讀原文

本文爲雲棲社區原創內容,未經允許不得轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章