1. 程式人生 > >深度學習在自然語言處理中的應用綜述

深度學習在自然語言處理中的應用綜述

由於人工神經網路可以對非線性過程進行建模,因此已經成為解決諸如分類,聚類,迴歸,模式識別,維度簡化,結構化預測,機器翻譯,異常檢測,決策視覺化,計算機視覺和其他許多問題的利器。這種廣泛的能力使得人工神經網路可以應用於許多領域。在本文中,我們討論了人工神經網路在自然語言處理任務(NLP)中的應用。

NLP包括廣泛的語法,語義,會話和語音等任務。我們將主要描述神經網路取得優異成績的一些領域。

資訊抽取

資訊抽取的主要任務是從非結構化文件自動匯出結構化資訊。該任務包括許多子任務,如命名實體識別,一致性解析,關係抽取,術語抽取等。

命名實體識別(NER)

命名實體識別(NER)的主要任務是將諸如Guido van Rossum,Microsoft,London等的命名實體分類為人員,組織,地點,時間,日期等預定類別。許多NER系統已經建立,其中最好系統採用的是神經網路。

在《Neural Architectures for Named Entity Recognition》文章中,提出了兩種用於NER模型。這些模型採用有監督的語料學習字元的表示,或者從無標記的語料庫中學習無監督的詞彙表達[4]。使用英語,荷蘭語,德語和西班牙語等不同資料集,如CoNLL-2002和CoNLL-2003進行了大量測試。該小組最終得出結論,如果沒有任何特定語言的知識或資源(如地名詞典),他們的模型在NER中取得最好的成績。

詞性標註

詞性標註(POS)具有許多應用,包括文字解析,文字語音轉換,資訊抽取等。在《Part-of-Speech Tagging with Bidirectional Long Short-Term Memory Recurrent Neural Network》工作中,提出了一個採用RNN進行詞性標註的系統[5]。該模型採用《Wall Street Journal data from Penn Treebank III》資料集進行了測試,並獲得了97.40%的標記準確性。

文字分類和分類

文字分類是許多應用程式中的重要組成部分,例如網路搜尋,資訊過濾,語言識別,可讀性評估和情感分析。神經網路主要用於這些任務。

Siwei Lai, Liheng Xu, Kang Liu, and Jun Zhao在論文《Recurrent Convolutional Neural Networks for Text Classification》中,提出了一種用於文字分類的迴圈卷積神經網路,該模型沒有人為設計的特徵。該團隊在四個資料集測試了他們模型的效果,四個資料集包括:20Newsgroup(有四類,計算機,政治,娛樂和宗教),復旦大學集(中國的文件分類集合,包括20類,如藝術,教育和能源),ACL選集網(有五種語言:英文,日文,德文,中文和法文)和Sentiment Treebank資料集(包含非常負面,負面,中性,正面和非常正面的標籤的資料集)。測試後,將模型與現有的文字分類方法進行比較,如Bag of Words,Bigrams + LR,SVM,LDA,Tree Kernels,RecursiveNN和CNN。最後發現,在所有四個資料集中,神經網路方法優於傳統方法,他們所提出的模型效果優於CNN和迴圈神經網路。

語義分析和問題回答

問題回答系統可以自動回答通過自然語言描述的不同型別的問題,包括定義問題,傳記問題,多語言問題等。神經網路可以用於開發高效能的問答系統。

在《Semantic Parsing via Staged Query Graph Generation Question Answering with Knowledge Base》文章中,Wen-tau Yih, Ming-Wei Chang, Xiaodong He, and Jianfeng Gao描述了基於知識庫來開發問答語義解析系統的框架框架。作者說他們的方法早期使用知識庫來修剪搜尋空間,從而簡化了語義匹配問題[6]。他們還應用高階實體連結系統和一個用於匹配問題和預測序列的深卷積神經網路模型。該模型在WebQuestions資料集上進行了測試,其效能優於以前的方法。

釋義檢測

釋義檢測確定兩個句子是否具有相同的含義。這個任務對於問答系統尤其重要,因為同樣的問題可以有多種描述方式。

《Detecting Semantically Equivalent Questions in Online User Forums》文中提出了一種採用卷積神經網路來識別語義等效性問題的方法。實驗使用Ask Ubuntu社群問答(Q&A)站點和Meta Stack Exchange資料來進行網路訓練。已經表明,所提出的CNN模型取得了很高的精度,特別是採用領域相關的資料來預訓練Word Embedding之後。作者將他們的模型的效能與支援向量機和重複檢測方法等傳統方法進行了比較。他們表示,他們的CNN模型大大優於傳統的baseline[7]。

《 Paraphrase Detection Using Recursive Autoencoder》文中提出了使用遞迴自動編碼器的進行釋義檢測的一種新型的遞迴自動編碼器架構。它使用遞迴神經網路學習短語表示。這些表示是在n維語義空間中的向量,其中具有相似含義的短語彼此接近[8]。為了評估系統,使用Microsoft Research Paraphrase語料庫和英語Gigaword語料庫。該模型與三個baseline進行比較,優於它們。

語言生成和多文件總結

自然語言生成有許多應用,如自動撰寫報告,基於零售銷售資料分析生成文字,總結電子病歷,從天氣資料生成文字天氣預報,甚至生成笑話。

研究人員在最近的一篇論文《 Natural Language Generation, Paraphrasing and Summarization of User Reviews with Recurrent Neural Networks》中,描述了基於迴圈神經網路(RNN)模型,能夠生成新句子和文件摘要的。該論文描述和評估了俄羅斯語820,000個消費者的評論資料庫。網路的設計允許使用者控制生成的句子的含義。通過選擇句子級特徵向量,可以指示網路學習,例如,“在大約十個字中說出一個關於螢幕和音質的東西”[9]。語言生成的能力可以生成具有不錯質量的,多個使用者評論的抽象摘要。通常,總結報告使使用者可以快速獲取大型文件集中的主要資訊。

機器翻譯

機器翻譯軟體在世界各地使用,儘管有限制。在某些領域,翻譯質量不好。為了改進結果,研究人員嘗試不同的技術和模型,包括神經網路方法。《Neural-based Machine Translation for Medical Text Domain》研究的目的是檢查不同訓練方法對用於,採用醫學資料的,波蘭語-英語機器翻譯系統的影響。採用The European Medicines Agency parallel text corpus來訓練基於神經網路和統計機器翻譯系統。證明了神經網路需要較少的訓練和維護資源。另外,神經網路通常用相似語境中出現的單詞來替代其他單詞[10]。

語音識別

語音識別應用於諸如家庭自動化,行動電話,虛擬輔助,擴音計算,視訊遊戲等諸多領域。神經網路在這一領域得到廣泛應用。

在《Convolutional Neural Networks for Speech Recognition》文章中,科學家以新穎的方式解釋瞭如何將CNN應用於語音識別,使CNN的結構直接適應了一些型別的語音變化,如變化的語速[11]。在TIMIT手機識別和大詞彙語音搜尋任務中使用。

字元識別

字元識別系統具有許多應用,如收據字元識別,發票字元識別,檢查字元識別,合法開票憑證字元識別等。文章《Character Recognition Using Neural Network》提出了一種具有85%精度的手寫字元的方法[12]。

拼寫檢查

大多數文字編輯器可以讓使用者檢查其文字是否包含拼寫錯誤。神經網路現在也被併入拼寫檢查工具中。

在《Personalized Spell Checking using Neural Networks》,作者提出了一種用於檢測拼寫錯誤的單詞的新系統。這個系統通過打字員做出的具體修正的資料進行模型訓練[13]。它揭示了傳統拼寫檢查方法的許多缺點。

概述

在本文中,我們描述了可以使用神經網路解決的自然語言處理問題。神經網路可以用於文字分類,資訊提取,語義解析,問答,釋義檢測,語言生成,多文件分類,機器翻譯,語音識別等諸多領域。在許多情況下,神經網路方法優於其他方法。

參考資源:

更多深度學習NLP方面應用的經典論文、實踐經驗和最新訊息,歡迎關注微信公眾號“深度學習NLPDeepLearning_NLP”或掃描二維碼新增關注。