從語言學到深度學習NLP,一文概述自然語言處理
本文從兩篇論文出發(fā)先簡要介紹了自然語言處理的基本分類和基本概念,再向讀者展示了深度學習中的 NLP。這兩篇論文都是很好的綜述性入門論文,希望詳細了解自然語言處理的讀者可以進一步閱讀這兩篇論文。
首先第一部分介紹了自然語言處理的基本概念,作者將 NLP 分為自然語言理解和自然語言生成,并解釋了 NLP 過程的各個層級和應用,這一篇論文很適合讀者系統(tǒng)的了解 NLP 的基本概念。
第二描述的是基于深度學習的 NLP,該論文首先描述了深度學習中的詞表征,即從 one-hot 編碼、詞袋模型到詞嵌入和 word2vec 等,我們首先需要數(shù)字表征詞匯才能進一步做自然語言處理。隨后,本論文介紹了各種應用于 NLP 的模型,包括卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、長短期記憶和門控循環(huán)神經(jīng)網(wǎng)絡(luò)等,這一些模型加上其它如注意力機制那樣的技巧就能實現(xiàn)十分強大的能力,如機器翻譯、問答系統(tǒng)和情感分析等。
概念基礎(chǔ)
論文地址: https://arxiv.org/abs/1708.05148
自然語言處理(NLP)近來因為人類語言的計算表征和分析而獲得越來越多的關(guān)注。它已經(jīng)應用于許多如機器翻譯、垃圾郵件檢測、信息提取、自動摘要、醫(yī)療和問答系統(tǒng)等領(lǐng)域。本論文從歷史和發(fā)展的角度討論不同層次的 NLP 和自然語言生成(NLG)的不同部分,以呈現(xiàn) NLP 應用的各種最新技術(shù)和當前的趨勢與挑戰(zhàn)。
1、前言
自然語言處理(NLP)是人工智能和語言學的一部分,它致力于使用計算機理解人類語言中的句子或詞語。NLP 以降低用戶工作量并滿足使用自然語言進行人機交互的愿望為目的。因為用戶可能不熟悉機器語言,所以 NLP 就能幫助這樣的用戶使用自然語言和機器交流。
語言可以被定義為一組規(guī)則或符號。我們會組合符號并用來傳遞信息或廣播信息。NLP 基本上可以分為兩個部分,即自然語言理解和自然語言生成,它們演化為理解和生成文本的任務(wù)(圖 1)。
圖 1:NLP 的粗分類
語言學是語言的科學,它包括代表聲音的音系學(Phonology)、代表構(gòu)詞法的詞態(tài)學(Morphology)、代表語句結(jié)構(gòu)的句法學(Syntax)、代表理解的語義句法學(Semantics syntax)和語用學(Pragmatics)。
NLP 的研究任務(wù)如自動摘要、指代消解(Co-Reference Resolution)、語篇分析、機器翻譯、語素切分(Morphological Segmentation)、命名實體識別、光學字符識別和詞性標注等。自動摘要即對一組文本的詳細信息以一種特定的格式生成一個摘要。指代消解指的是用句子或更大的一組文本確定哪些詞指代的是相同對象。語篇分析指識別連接文本的語篇結(jié)構(gòu),而機器翻譯則指兩種或多種語言之間的自動翻譯。詞素切分表示將詞匯分割為詞素,并識別詞素的類別。命名實體識別(NER)描述了一串文本,并確定哪一個名詞指代專有名詞。光學字符識別(OCR)給出了打印版文檔(如 PDF)中間的文字信息。詞性標注描述了一個句子及其每個單詞的詞性。雖然這些 NLP 任務(wù)看起來彼此不同,但實際上它們經(jīng)常多個任務(wù)協(xié)同處理。
2、NLP 的層級
語言的層級是表達 NLP 的最具解釋性的方法,能通過實現(xiàn)內(nèi)容規(guī)劃(Content Planning)、語句規(guī)劃(Sentence Planning)與表層實現(xiàn)(Surface Realization)三個階段,幫助 NLP 生成文本(圖 2)。
圖 2:NLP 架構(gòu)的階段
語言學是涉及到語言、語境和各種語言形式的學科。與 NLP 相關(guān)的重要術(shù)語包括:
- 音系學
- 形態(tài)學
- 詞匯學
- 句法學
- 語義學
- 語篇分析
- 語用學
3、自然語言生成
NLG 是從內(nèi)在表征生成有含義的短語、句子和段落的處理過程。它是 NLP 的一部分,包括四個階段:確定目標、通過場景評估規(guī)劃如何實現(xiàn)目標、可用的對話源、把規(guī)劃實現(xiàn)為文本,如下圖 3。生成與理解是相反的過程。
圖 3:NLG 的組件
4、NLP 的應用
NLP 可被他應用于各種領(lǐng)域,例如機器翻譯、垃圾郵件檢測、信息提取等。在這一部分,該論文對以下 NLP 的應用進行了介紹:
- 機器翻譯
- 文本分類
- 垃圾郵件過濾
- 信息提取
- 自動摘要
- 對話系統(tǒng)
- 醫(yī)療
深度學習中的 NLP
以上內(nèi)容對 NLP 進行了基礎(chǔ)的介紹,但忽略的近年來深度學習在 NLP 領(lǐng)域的應用,因此我們補充了北京理工大學的一篇論文。該論文回顧了 NLP 之中的深度學習重要模型與方法,比如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò);同時還討論了記憶增強策略、注意力機制以及無監(jiān)督模型、強化學習模型、深度生成模型在語言相關(guān)任務(wù)上的應用;最后還討論了深度學習的各種框架,以期從深度學習的角度全面概述 NLP 發(fā)展近況。
如今,深度學習架構(gòu)、算法在計算機視覺、模式識別領(lǐng)域已經(jīng)取得驚人的進展。在這種趨勢之下,近期基于深度學習新方法的 NLP 研究有了極大增長。
圖4:2012 年-2017 年,在 ACL、EMNLP、EACL、NAACL 會議上呈現(xiàn)的深度學習論文數(shù)量增長趨勢。
十幾年來,解決 NLP 問題的機器學習方法都是基于淺層模型,例如 SVM 和 logistic 回歸,其訓練是在非常高維、稀疏的特征上進行的。在過去幾年,基于密集向量表征的神經(jīng)網(wǎng)絡(luò)在多種 NLP 任務(wù)上都產(chǎn)生了優(yōu)秀成果。這一趨勢由詞嵌入與深度學習方法的成功所興起。深度學習使得多層級的自動特征表征的學習成為了可能。傳統(tǒng)的基于機器學習方法的 NLP 系統(tǒng)極度依賴手寫特征,既耗費時間,又總是不完整。
在 2011 年,Collobert 等人的論文證明簡單的深度學習框架能夠在多種 NLP 任務(wù)上超越最頂尖的方法,比如在實體命名識別(NER)任務(wù)、語義角色標注 (SRL)任務(wù)、詞性標注(POS tagging)任務(wù)上。從此,各種基于深度學習的復雜算法被提出,來解決 NLP 難題。
這篇論文回顧了與深度學習相關(guān)的重要模型與方法,比如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)。此外,論文中還討論了記憶增強策略、注意機制以及無監(jiān)督模型、強化學習模型、深度生成模型在語言相關(guān)任務(wù)上的應用。
在 2016 年,Goldberg 也以教程方式介紹過 NLP 領(lǐng)域的深度學習,主要對分布式語義(word2vec、CNN)進行了技術(shù)概述,但沒有討論深度學習的各種架構(gòu)。這篇論文能提供更綜合的思考。
摘要:深度學習方法利用多個處理層來學習數(shù)據(jù)的層級表征,在許多領(lǐng)域獲得了頂級結(jié)果。近期,在自然語言處理領(lǐng)域出現(xiàn)了大量的模型設(shè)計和方法。在此論文中,我們回顧了應用于 NLP 任務(wù)中,與深度學習相關(guān)的重要模型、方法,同時概覽了這種進展。我們也總結(jié)、對比了各種模型,對 NLP 中深度學習的過去、現(xiàn)在與未來提供了詳細理解。
論文地址: https://arxiv.org/abs/1708.02709
圖 2:一個 D 維向量的分布式向量表達,其中 D << V,V 是詞匯的大小。
圖 3:Bengio 等人 2003 年提出的神經(jīng)語言模型,C(i) 是第 i 個詞嵌入。
圖 4:CBOW(continuous bag-of-words)的模型
表 1:框架提供嵌入工具和方法
圖 5:Collobert 等人使用的 CNN 框架,來做詞級別的類別預測
圖 6:在文本上的 CNN 建模 (Zhang and Wallace, 2015)
圖 7:4 個 7-gram 核的 Top7 -grams,每個核對一種特定類型的 7-gram 敏感 (Kim, 2014)
圖 8:DCNN 子圖。有了動態(tài)池化,一頂層只需要小寬度的過濾層能夠關(guān)聯(lián)輸入語句中離得很遠的短語 (Kalchbrenner et al., 2014)。
圖 9:簡單的 RNN 網(wǎng)絡(luò)
圖 10:LSTM 和 GRU 的示圖 (Chung et al., 2014)
圖 11:不同單元類型關(guān)于迭代數(shù)量(上幅圖)和時鐘時間(下幅圖)的訓練、驗證集學習曲線。其中 y 軸為對數(shù)尺度描述的模型負對數(shù)似然度。
圖 12:LSTM 解碼器結(jié)合 CNN 圖像嵌入器生成圖像描述 (Vinyals et al., 2015a)
圖 13:神經(jīng)圖像 QA (Malinowski et al., 2015)
圖 14:詞校準矩陣 (Bahdanau et al., 2014)
圖 15:使用注意力進行區(qū)域分級 (Wang et al., 2016)
圖 16:特定區(qū)域語句上的注意模塊專注點 (Wang et al., 2016)
圖 17:應用于含有「but」語句的遞歸神經(jīng)網(wǎng)絡(luò) (Socher et al., 2013)
圖 18:基于 RNN 的 AVE 進行語句生成(Bowman et al., 2015)