標籤:

NLP 專題論文解讀:從 Chatbot 到 NER(文末有彩蛋)

在碎片化閱讀充斥眼球的時代,越來越少的人會去關注每篇論文背後的探索和思考。 在這個欄目里,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。 點擊即刻加入社區,查看更多最新論文推薦。

這裡是第 11 期 PaperDaily。

本期論文筆記是由 PaperWeekly 社區用戶 @Jeffreygao@robertdlut@lc222 帶來的 NLP 專題,涵蓋對話系統命名實體識別(NER)QA 系統

如果有合你心意的論文,複製鏈接到瀏覽器即可查看原文。

對話系統

論文 | Affective Neural Response Generation

鏈接 | paperweekly.site/papers

作者 | Jeffreygao

1. 論文動機

論文來自華為諾亞方舟實驗室。

都說人工智慧要有情感,能體會到人的喜怒哀樂,今天就來介紹一篇帶有情緒的 chatbot。在以往的研究中,大部分對話系統都只關注生成對話的語法語義是否合理,這裡面有考慮上下文的,有結合主題的,有生成長句子的等等。但很少有對話系統關注情感,這是很不合理的。因為在聊天中,當一個人表示難過的時候,另一方經常會回應適當的安慰;當一方感到開心時,另一方也會為其感到快樂。就好比 A 說「我的寵物狗去世了」,B 很自然應該回復「我為你感到難過」這樣類似的話,同時這種帶有情感交互的例子在我們日常對話中數不勝數。

實際上個人看來這個也是開放域對話之後一個很好的研究方向,畢竟有太多的 paper 去解決如何不產生「呵呵」這種無意義回答的問題了,只有真正的模擬人類的交談才是好的 chatbot。

2. 相關工作

在這篇文章中作者提到了兩個相關工作一個是 ACL2017 上的 Affect Language Model [Ghosh et al. 2017],另一個是 Emotion Chatting Machine(ECM)[Zhou et al. 2017],看 arXiv 的排版應該是投給了 AAAI2018。

ECM 的模型相當漂亮,但是問題的定義很不合理,不合理在哪呢?這個模型是在給出 context,同時給出你想要生成的 response 的 emotion,然後生成一句帶有這個 emotion 的 response。但是在日常對話中,並不會有上帝去給你指定要回復的 emotion。

3. 模型

這篇論文的模型以 seq2seq 為背景,主要在三個點上做改進。(1)在 embedding 上加情感信息(2)改進 loss function(3)beam search 時考慮情感。

3.1 帶有情緒的詞向量

在這裡使用了 VAD 字典,解釋如下:「Valence (V, the pleasantness of a stimulus), Arousal (A, the intensity of emotion produced, or the degree of arousal evoked, by a stimulus), and Dominance (D, the degree of power/control exerted by a stimulus). V-- 1, 5 and 9 corresponds to a word being very negative (e.g., pedophile), neutral (e.g., tablecloth) and very positive (e.g., happiness), respectively. A-- 1, 5 and 9 corresponds to a word having very low (e.g., dull), moderate (e.g., watchdog), and very high (e.g., insanity) emotional intensity, respectively. D-- 1, 5 and 9 corresponds to a word/stimulus that is very powerless (e.g., dementia), neutral (e.g., waterfall) and very powerful (e.g., paradise), respectively.」

簡單地說就是現在有個已經其他人評估好的詞向量表了,詞向量維度三維,每一維度分別採用感情的一個方面,表示形如:(V_score, A_score, D_score)。如果訓練集中的單詞在這個 VAD 表裡,就取這個詞向量;如果是不在表中的 oov 詞,取 [5, 1, 5] 作為比較中性的詞,其實就相當於我們平時處理 oov 詞時候的 unk 一樣。

文章中具體的做法是將傳統的詞向量和這個情緒向量 W2VA 連在一起,作為 encoder 和 decoder 的 input。其實這個方法和 emotion chatting machine 的第一步是異曲同工的,只不過在 ecm 中這個情緒向量是學來的,沒有用外部詞典。

3.2 帶有情緒的目標函數

作者在這裡提出了三個不同的 loss function,其實在我看來也是不得已而為之,因為它沒有更好的辦法融合這些東西。

3.2.1 最小化情感失調

在這個 loss function 處,作者做的假設是:兩個人聊天,情感不會太迅速或者頻繁轉變。舉個栗子:你說一句比較友好的話,我也會回你一句比較友好的話,就是客套唄;你說一句挑釁的話,我會回你一句比較憤怒的話。很自然的,loss function 不但要考慮交叉熵還要考慮生成 response 的情感和 input 的情感是不是接近,這裡用歐氏距離來衡量。如下:

3.2.2 最大化情感失調

在這裡,作者又做了個假設,比如兩個不太熟的人聊天,一個人過分友好可能會引起另一個人的反感。然後就儘可能讓兩句話情感不一致,把上面公式的第二項的符號換一下就好了。loss function 符號為 LDMAX

3.2.3 最大化情感內容

這裡是想要模型生成出的句子具有很明顯的情感特徵,以避免生成那種無聊的話,但並不需要指定情感是積極還是消極。變向地,這也是一種避免產生」呵呵「,」我不知道「的一種方法。loss function 如下:

3.3 帶有情緒多樣的解碼

這個解碼是基於 diverse beam search 的,diverse beam search 是在 beam search 的基礎上,把 top B 序列分成 G 個 group,然後加一個額外的懲罰項,這個懲罰項的目的在於讓 group A 中下一時刻的 search 出來的東西儘可能和其他 group 下一時刻 search 出來的東西不一樣,這就達到了 diverse 的目的。這裡也從兩個 level 來衡量,一個是單個詞的情緒,一個是整個句的情緒,標準就用向量的 cosine 函數來衡量相似度。

4. 實驗部分

文章用的是康奈爾電影對話數據集,評估沒有採用 BLEU,ROUGE,METEOR 等作為指標,而是採用找人來評估,能夠理解這種做法,因為 BLEU 等指標對於這種對話來說實際上意義不大,而且可能效果還不如別人的好。注意,在使用情感的 loss function 方法上,先使用普通交叉熵目標函數訓練 40 個 epoch,然後再使用特定的 loss function 訓練 10 個 epoch。文中提到如果上來就使用特定的 loss function 訓練,生成回答的語法會很差。

5. 對模型的感想

總體看來在 seq2seq 的三個必要的步驟里都做了情感的改進,不過方法看上去依然有點勉強,沒有明顯建模情感的交互,不過也算是對話系統里的一個情感的初步嘗試。

6. 參考文獻

[Ghosh et al. 2017] Ghosh, S.; Chollet, M.; Laksana, E.; Morency, L.-P.; and Scherer, S. 2017. Affect-LM: A neural language model for customizable affective text generation. In ACL, 634–642.

[Zhou et al. 2017] Zhou, H.; Huang, M.; Zhang, T.; Zhu, X.; and Liu, B. 2017. Emotional chatting machine: Emotional conversation generation with internal and external memory. arXiv preprint arXiv:1704.01074.

命名實體識別

論文 | End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF

鏈接 | paperweekly.site/papers

作者 | robertdlut

近年來,基於神經網路的深度學習方法在自然語言處理領域已經取得了不少進展。作為 NLP 領域的基礎任務—命名實體識別(Named Entity Recognition,NER)也不例外,神經網路結構在 NER 中也取得了不錯的效果。其中,正如這篇論文,同一時期出現了很多類似的 NN-CRF 結構來進行 NER,並成為目前主流 NER 模型,取得了不錯的效果。在此進行一下總結,和大家一起分享學習。

1. 引言

命名實體識別(Named Entity Recognition,NER)就是從一段自然語言文本中找出相關實體,並標註出其位置以及類型,如下圖。它是 NLP 領域中一些複雜任務(例如關係抽取,信息檢索等)的基礎。NER 一直是 NLP 領域中的研究熱點,從早期基於詞典和規則的方法,到傳統機器學習的方法,到近年來基於深度學習的方法,NER 研究進展的大概趨勢大致如下圖所示。

在基於機器學習的方法中,NER 被當作是序列標註問題。與分類問題相比,序列標註問題中當前的預測標籤不僅與當前的輸入特徵相關,還與之前的預測標籤相關,即預測標籤序列之間是有強相互依賴關係的。例如,使用 BIO 進行 NER 時,正確的標籤序列中標籤 O 後面是不會接標籤I的。

在傳統機器學習中,條件隨機場(Conditional Random Field,CRF)是 NER 目前的主流模型。它的目標函數不僅考慮輸入的狀態特徵函數,而且還包含了標籤轉移特徵函數。在訓練時可以使用 SGD 學習模型參數。在已知模型時,給輸入序列求預測輸出序列即求使目標函數最大化的最優序列,是一個動態規劃問題,可以使用維特比演算法進行解碼。不過 CRF 依賴於特徵工程,常用的特徵如下:

接下里我們重點看看如何使用神經網路結構來進行 NER。

2. NER中主流的神經網路結構

2.1 NN/CNN-CRF模型

其實,比這篇論文更早,《Natural language processing (almost) from scratch》就使用神經網路進行 NER。

在這篇論文中,作者提出了窗口方法與句子方法兩種網路結構來進行 NER。這兩種結構的主要區別就在於窗口方法僅使用當前預測詞的上下文窗口進行輸入,然後使用傳統的 NN 結構;而句子方法是以整個句子作為當前預測詞的輸入,加入了句子中相對位置特徵來區分句子中的每個詞,然後使用了一層卷積神經網路 CNN 結構。

在訓練階段,作者也給出了兩種目標函數:一種是詞級別的對數似然,即使用 softmax 來預測標籤概率,當成是傳統一個分類問題;另一種是句子級別的對數似然,其實就是考慮到 CRF 模型在序列標註問題中的優勢,將標籤轉移得分加入到了目標函數中。後來許多相關工作把這個思想稱為結合了一層 CRF 層,所以我這裡稱為 NN/CNN-CRF 模型。

在作者的實驗中,上述提到的 NN 和 CNN 結構效果基本一致,但是句子級別似然函數即加入 CRF 層在 NER 的效果上有明顯提高。

2.2 RNN-CRF模型

借鑒上面的 CRF 思路,在 2015 年左右出現了一系列使用 RNN 結構並結合 CRF 層進行 NER 的工作,其中就包括了這篇論文。代表工作主要有:

將這些工作總結起來就是一個 RNN-CRF 模型,模型結構如下圖:

它主要有 Embedding 層(主要有詞向量,字元向量(在字元向量實現的具體方法上,有使用 CNN 比如這篇論文,還有使用 RNN,不過效果我感覺差不多)以及一些額外特徵),雙向 RNN 層,tanh 隱層以及最後的 CRF 層構成。它與之前 NN/CNN-CRF 的主要區別就是他使用的是雙向 RNN 代替了 NN/CNN。這裡 RNN 常用 LSTM 或者 GRU。

實驗結果表明 RNN-CRF 獲得了更好的效果,已經達到或者超過了基於豐富特徵的 CRF 模型,成為目前基於深度學習的 NER 方法中的最主流模型。在特徵方面,該模型繼承了深度學習方法的優勢,無需特徵工程,使用詞向量以及字元向量就可以達到很好的效果,如果有高質量的詞典特徵,能夠進一步獲得提高。

3. 近期的一些工作

最近的一年在基於神經網路結構的 NER 研究上,主要集中在兩個方面:一是使用流行的注意力機制來提高模型效果(Attention Mechanism),二是針對少量標註訓練數據進行的一些研究。

3.1 Attention-based

《Attending to Characters in Neural Sequence Labeling Models》該論文還是在 RNN-CRF 模型結構基礎上,重點改進了詞向量與字元向量的拼接。使用 attention 機制將原始的字元向量和詞向量拼接改進為了權重求和,使用兩層傳統神經網路隱層來學習 attention 的權值,這樣就使得模型可以動態地利用詞向量和字元向量信息。實驗結果表明比原始的拼接方法效果更好。

另一篇論文《Phonologically aware neural model for named entity recognition in low resource transfer settings》,在原始 BiLSTM-CRF 模型上,加入了音韻特徵,並在字元向量上使用 attention 機制來學習關注更有效的字元,主要改進如下圖。

3.2 少量標註數據

對於深度學習方法,一般需要大量標註數據,但是在一些領域並沒有海量的標註數據。所以在基於神經網路結構方法中如何使用少量標註數據進行 NER 也是最近研究的重點。其中包括了遷移學習《Transfer Learning for Sequence Tagging with Hierarchical Recurrent Networks》和半監督學習。

這裡我提一下最近 ACL2017 剛錄用的一篇論文《Semi-supervised sequence tagging with bidirectional language models》。該論文使用海量無標註語料庫訓練了一個雙向神經網路語言模型,然後使用這個訓練好的語言模型來獲取當前要標註詞的語言模型向量(LM embedding),然後將該向量作為特徵加入到原始的雙向 RNN-CRF 模型中。

實驗結果表明,在少量標註數據上,加入這個語言模型向量能夠大幅度提高 NER 效果,即使在大量的標註訓練數據上,加入這個語言模型向量仍能提供原始 RNN-CRF 模型的效果。整體模型結構如下圖:

4. 總結

論文的實驗部分我就不介紹了,最後進行一下總結,目前將神經網路與 CRF 模型相結合的 NN/CNN/RNN-CRF 模型成為了目前 NER 的主流模型。我認為對於 CNN 與 RNN,並沒有誰佔據絕對的優勢,各自有相應的優點。由於 RNN 有天然的序列結構,所以 RNN-CRF 使用更為廣泛。

基於神經網路結構的 NER 方法,繼承了深度學習方法的優點,無需大量人工特徵。只需詞向量和字元向量就能達到主流水平,加入高質量的詞典特徵能夠進一步提升效果。對於少量標註訓練集問題,遷移學習,半監督學習應該是未來研究的重點。

5. 參考文獻

[1] Lafferty J, McCallum A, Pereira F. Conditional random fields: Probabilistic models for segmenting and labeling sequence data. Proceedings of the eighteenth international conference on machine learning, ICML. 2001, 1: 282-289.

[2] Sutton C, McCallum A. An introduction to conditional random fields. Foundations and Trends? in Machine Learning, 2012, 4(4): 267-373.

[3] Collobert R, Weston J, Bottou L, et al. Natural language processing (almost) from scratch. Journal of Machine Learning Research, 2011, 12(Aug): 2493-2537.

[4] Lample G, Ballesteros M, Subramanian S, et al. Neural Architectures for Named Entity Recognition. Proceedings of NAACL-HLT. 2016: 260-270.

[5] Huang Z, Xu W, Yu K. Bidirectional LSTM-CRF models for sequence tagging. arXiv preprint arXiv:1508.01991, 2015.

[6] Ma X, Hovy E. End-to-end sequence labeling via bi-directional lstm-cnns-crf. arXiv preprint arXiv:1603.01354, 2016.

[7] Chiu J P C, Nichols E. Named entity recognition with bidirectional LSTM-CNNs. arXiv preprint arXiv:1511.08308, 2015.

[8] Rei M, Crichton G K O, Pyysalo S. Attending to Characters in Neural Sequence Labeling Models. arXiv preprint arXiv:1611.04361, 2016.

[9] Akash Bharadwaj, David Mortensen, Chris Dyer, Jaime G Carbonell. Phonologically aware neural model for named entity recognition in low resource transfer settings. EMNLP, pages 1462–1472, 2016.

[10] Yang Z, Salakhutdinov R, Cohen W W. Transfer Learning for Sequence Tagging with Hierarchical Recurrent Networks. ICLR, 2017.

[11] Matthew E. Peters, Waleed Ammar, Chandra Bhagavatula, Russell Power. Semi-supervised sequence tagging with bidirectional language models. ACL, 2017.

QA系統

論文 | Gated End-to-End Memory Networks

鏈接 | paperweekly.site/papers

作者 | lc222

本文是在 End-To-End Memory Networks 這篇論文的基礎上做了一些修改。因為 End-To-End Memory Networks 在 multi-fact QA、 positional reasoning、 dialog 等領域的效果還不是很好,所以本文參考 CV 領域中 HighWay Networks 和 Residual Networks 涉及到的 shortcut connections,引入 Gated 機制,以實現對 memory 的正則化,從而讓模型可以動態的修改 memory。

因為 End-To-End Memory Networks 已經很熟悉了,所以我們先來介紹一下 Highway Networks 的想法。其主要是在網路輸出下一層之前引入了一個 transform gate T 和一個 carry Gated C,以讓網路學習什麼、多少信息應該被傳到下一層。我們假設本層網路的輸出為:y=H(x),那麼就加入下面的映射函數:

往往我們會選擇 C = 1-T,所以上面的公式可以轉化為:

而殘差網路則可以視為是Highway網路的一種特例,因為其直接把 T 和 C 都當做 I,所以就相當於 y=H(x) + x。但是這裡背後的原理我還沒來得及搞明白,為什麼這樣就可以讓更深的網路很容易就訓練成功,等有時間再看看相關的論文學習下。

然後我們來看一下如何將其融入到 End-To-End Memory Networks 中,由於其每個 hop 的功能都可以視為 u=H(u),所以對應到上面的公式,u 就相當於輸入 x,o 就相當於輸出 y,所以代入上式得:

也就是修改一下原來模型中輸出層的公式即可。然後參數 W 和 b 有全局和每個 hop 獨立兩種方式,後面實驗結果證明,每個 hop 保持獨立效果會比較好。論文的創新點倒不是很大,只不過是將兩篇論文結合一下,但是看有實驗效果好像還有挺大的提升。最終的模型架構圖如下所示:

實驗結果

本文所提出的模型不僅僅在 bAbI 數據集上取得了很好的效果,而且在 dialog bAbI 對話數據集上也取得了很好的效果。這個數據集應該會在後面的文章中進行介紹,這裡就不贅述了。這裡也貼上兩張實驗結果的圖:

第二張圖揭示得是 MemNN 與本文提出模型各個 hop 對每個句子的權重計算,可以看出本文的模型更加集中在最重要的那個句子上面,而 MemNN 則比較分散,也說明了本文模型效果更好。

本文由 AI 學術社區 PaperWeekly 精選推薦,社區目前已覆蓋自然語言處理、計算機視覺、人工智慧、機器學習、數據挖掘和信息檢索等研究方向,點擊即刻加入社區

我是彩蛋

解鎖新姿勢:用微信刷論文!

PaperWeekly小程序上線啦

今日arXiv√猜你喜歡√熱門資源√

隨時緊跟最新最熱論文

解鎖方式

1. 掃描下方小程序碼打開小程序

2. 用PaperWeekly社區賬號進行登陸

3. 登陸後即可解鎖所有功能

關於PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平台。如果你研究或從事 AI 領域,歡迎在公眾號後台點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

微信公眾號:PaperWeekly

新浪微博:@PaperWeekly


推薦閱讀:

「小會話,大學問」 - 如何讓聊天機器人讀懂對話歷史?| 論文訪談間 #03
線下沙龍 x 上海 | PaperWeekly + 上財智能金融課題組 = 「知識圖譜與自然語言理解」學術分享會
斯坦福博士李紀為:如何打造對話機器人 | 直播預告·PhD Talk #14

TAG:NER | chatbot |