徐梓翔+車萬翔+劉挺
摘要: 關(guān)鍵詞: 中圖分類號: 文獻標志碼: A文章編號: 2095-2163(2017)06-0091-04
Abstract: The main purpose of natural language understanding is to transform natural language to structural representation. One of the methods of natural language understanding is slot filling. In the slot filling task, the input is natural language and the output is slots which is predefined based on the specified intent, such as from location, to location in flight intent. So the paper treats slot filling task as sequence labeling task, then makes experiments with Bi-LSTM-CRF model on slot filling task. The result shows that Bi-LSTM-CRF model has the significant improvement comparing with traditional statistical methods like CRF. Concretely, F1 is used to evaluate the model results.
0引言
隨著人工智能浪潮的興起,智能聊天機器人成為人們研究的熱門,人們希望機器像人一樣思考,與人類對話,并成為人類的幫手。完成這些的首要工作是語義理解。通過語義理解,可以使聊天機器人清晰理解人們的意圖,并成為人類的助手,幫助人們做一系列事情,如訂機票、查詢天氣等等。
任務(wù)的主要目標是:運用自然語言處理的相關(guān)方法,對用戶發(fā)出的命令型語句進行識別和解析,轉(zhuǎn)化成結(jié)構(gòu)化的語義表示,并執(zhí)行相應(yīng)命令。圖1就是對用戶發(fā)出的命令型語句進行解析和執(zhí)行的方法流程。
用戶發(fā)出的指令型語句主要可提煉表述為如下特點:
1)屬于某一個具體的指令領(lǐng)域,例如出行類、音樂類。
2)具有指令型特點,即有具體的指令行為或者目的。例子如下:
① 出行-交通-機票類:幫助查詢一下明天從北京去上海的機票。
② 娛樂-音樂類:播放周杰倫的歌曲。
③ 生活類:明天早上8點叫醒我。
本文的目標是從這些指令型的語句中,解析出語義結(jié)構(gòu),從而能夠正確執(zhí)行指令。主要的思路如下:
步驟1定義指令的領(lǐng)域,為每個領(lǐng)域定義語義槽。即如表1所示,可以定義如下領(lǐng)域。
形式化地講,在語義槽標注任務(wù)中,任務(wù)的輸入是經(jīng)過分詞后的句子L,輸出是每個詞的槽類型S。在統(tǒng)計學(xué)模型中,該任務(wù)通常被建模為:給定詞序列L,任務(wù)的目標是尋找一種槽標注S,使得后驗概率PS|L最大。使用貝葉斯公式,就可以得到:S^=argmaxSPS|L=argmaxSPL|SPS(1)目標函數(shù)即被轉(zhuǎn)換為,給定L和S時,最大化聯(lián)合概率PL|SPS=PL, S。
2基于Bi-LSTM-CRF網(wǎng)絡(luò)的語義槽抽取方法
長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short Term Memory,LSTM)是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)的特殊類型,可以學(xué)習(xí)長期依賴信息。比起傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò),主要有兩個改動的部分。其一,是引入了cell細胞;其二,是加入了gate的機制。
Input Gate是輸入門,輸入的參數(shù)是當前位置的輸入信息和上一個隱層神經(jīng)元傳過來的信息,其作用就是用來決定輸入信息,留下需要的,削減沒用的。
Forget Gate是遺忘門,這是用來決定上一層的隱層神經(jīng)元傳過來的信息需要保留多少,需要刪除多少。
Output Gate是輸出門,用來決定最后生成的輸出信息哪些重要,哪些不重要。
從上面的描述可以看到,對于之前傳統(tǒng)的RNN,因為這個模型共享一套參數(shù),因此不能決定哪個位置的信息更重要,哪個位置的信息不重要,所以在學(xué)習(xí)的時候比較困難,而LSTM引入了這種機制之后就能夠更容易保留研究所需要的重要信息。而且能夠在一定程度上消減了梯度消失的問題。
本文最終采用的模型結(jié)構(gòu)示意如圖3所示。
在LSTM模型的基礎(chǔ)上,本文采用了雙向LSTM和CRF層結(jié)構(gòu),如圖3所示。對其可得闡釋解析如下。
1)使用雙向LSTM。在序列標注任務(wù)中,通常需要同時考慮歷史和未來的上下文信息。然而,LSTM的隱層單元只記錄了歷史信息,對于未來信息一無所知,雙向LSTM模型可用來解決該問題。Bi-LSTM的基本思想是,使用兩個LSTM模型,一個模型的輸入是序列從左往右的順序,另一個模型的輸入是序列從右往左的順序。最后,將兩個LSTM模型的隱層單元輸出進行拼接,作為整體網(wǎng)絡(luò)隱層的輸出。
3評價指標與實驗結(jié)果
3.1實驗語料準備
本文使用ATIS語料作為實驗的數(shù)據(jù)集。該數(shù)據(jù)集存儲的都是英文機票語料。這個數(shù)據(jù)集包括了128種不同的標簽,ATIS-2和ATIS-3的4 978句選作訓(xùn)練語料,隨機抽取其中80%共3 983句作為訓(xùn)練集,剩下20%共995句作為開發(fā)集;同時,使用ATIS-3 Nov93和Dec94數(shù)據(jù)集的893句作為測試集。
3.2評價指標endprint
由F1值可以看出,使用Bi-LSTM模型相比使用CRF的baseline,在開發(fā)集和測試集上,結(jié)果都有顯著提高;Bi-LSTM-CRF的模型相比Bi-LSTM在開發(fā)集和測試集上結(jié)果都有一定提高,在這幾種方法中取得了最好的效果。最終展現(xiàn)即如圖4所示。通過實驗結(jié)果可以看出,Bi-LSTM使用CRF相比使用Viterbi Loss,學(xué)習(xí)的收斂速度更快。圖4中的loss進行了歸一化處理。
4結(jié)束語
自然語言理解任務(wù)的主要目標是運用自然語言處理的相關(guān)方法,對用戶發(fā)出的命令型語句進行解析和執(zhí)行,轉(zhuǎn)化成結(jié)構(gòu)化的語義表示,并執(zhí)行相應(yīng)命令。本文重點研究了基于語義槽抽取的自然語言理解方法。在基于語義槽抽取的自然語言理解任務(wù)中,任務(wù)的輸入是用戶的指令型語句,輸出為指令的語義槽實體標注序列,如出發(fā)日期、出發(fā)地點等,故可將語義槽抽取任務(wù)看作類似于命名實體識別任務(wù),以序列標注任務(wù)的方法解決。本文探討研發(fā)了基于Bi-LSTM-CRF模型的語義槽抽取方法,并在英文語料ATIS上進行了實驗。實驗結(jié)果表明,基于Bi-LSTM-CRF網(wǎng)絡(luò)的方法相比于CRF的基準方法,結(jié)果得到了大幅度的提升。
參考文獻:
[1] QUIRK C, MOONEY R, GALLEY M. Language to code: Learning semantic parsers for if-this-then-that recipes[C]// Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics (ACL-15). Beijing, China:ACL, 2015:878-888.
[2] LI Dong, LAPATA M. Language to logical form with neural attention[J]. arXiv preprint arXiv:1601.01280, 2016.
[3] WONG Y W, MOONEY R J. Learning for semantic parsing with statistical machine translation[C]// Proceedings of the main conference on Human Language Technology Conference of the North American Chapter of the Association of Computational Linguistics. NewYork:ACM, 2006:439-446.
[4] WONGY W, MOONEY R J. Learning synchronous grammars for semantic parsing with lambda calculus[C]// Proceedings of the 45th Annual Meeting of the Association for Computational Linguistics. Prague, Czech Republic:ACL, 2007,45(1):960-967.
[5] MILLER S, STALLARD D, BOBROW R, et al. A fully statistical approach to natural language interfaces[C]//Proceedings of the 34th annual meeting on Association for Computational Linguistics. Santa Cruz, California: ACM, 1996:55-61.
[6] ZELLE J M, MOONEY R J. Learning to parse database queries using inductive logic programming[C]// Proceedings of the thirteenth national conference on artificial intelligence. Portalnd, OR:AAAI,1996:1050-1055.
[7] ARTZI Y, ZETTLEMOYER L. Bootstrapping semantic parsers from conversations[C]//Proceedings of the conference on empirical methods in natural language processing. Edinburgh, United Kingdom: ACM, 2011:421-432.
[8] ZETTLEMOYER L S, COLLINS M. Learning to map sentences to logical form: Structured classification with probabilistic categorial grammars[J]. arXiv preprint arXiv:1207.1420 ,2012.
[9] ZETTLEMOYER L S, COLLINS M. Online learning of relaxed CCG grammars for parsing to logical form[C]//Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Prague, Czech Republic:DBLP,2007:678-687.
[10]ZETTLEMOYER L S, COLLINS M. Learning contextdependent mappings from sentences to logical form[C]// Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP: Volume 2-Volume 2. Suntec, Singapore: ACM, 2009:976-984.endprint