0
雷鋒網(wǎng)AI研習社按:對話系統(tǒng)是自然語言處理的一個熱門話題,而自然語言理解則是對話系統(tǒng)的關鍵組成部分,現(xiàn)有的很多自然語言理解工具往往以服務的方式獲?。℅oogle 的 API.ai, Facebook 的 Wit.ai 等),使用這些服務往往需要向服務提供商提供自己的數(shù)據(jù),并且根據(jù)自己業(yè)務調(diào)試模型很不方便。本文為大家介紹了一種新方法,即如何基于 rasa 搭建一個中文對話系統(tǒng)。
在近期雷鋒網(wǎng)AI研習社舉辦的線上免費公開課上,來自北京郵電大學網(wǎng)絡技術研究院的張慶恒分享了基于 rasa nlu 構建自己的自然語言理解工具,并結合 rasa core 搭建對話系統(tǒng)框架的一些經(jīng)驗,方便初學者入門,加深對對話系統(tǒng)的理解。本文根據(jù)分享者的直播視頻內(nèi)容整理而成。(推薦觀看直播回放)
張慶恒,北京郵電大學網(wǎng)絡技術研究院,網(wǎng)絡與交換技術國家重點實驗室碩士,主要研究方向為機器學習與自然語言處理。曾在百度實習且多次參加機器學習、深度學習比賽,獲阿里云安全算法挑戰(zhàn)賽獲冠軍,中文標注開源項目Chinese-Annotator主要開發(fā)成員。
分享主題:基于 rasa 搭建中文對話系統(tǒng)
分享提綱:
1. 對話系統(tǒng)的分類和關鍵技術介紹
2. 結合電信業(yè)務查詢辦理場景,借助開源框架 rasa 實現(xiàn)任務導向型聊天機器人 demo。
2.1 rasa nlu 中文自然語言理解實現(xiàn),及其背后的原理
2.2 rasa core 對話管理實現(xiàn),結合源碼介紹其實現(xiàn)方法
主要內(nèi)容:
大家好,今天的分享內(nèi)容首先是為大家介紹基于任務型對話系統(tǒng)的主要概念和它的幾個模塊。第二部分是基于Rasa搭建電信領域任務型對話系統(tǒng)的實操訓練。分別是基于Rasa nlu實現(xiàn)自然語言理解和基于rasa core實現(xiàn)對話管理。

自然語言理解(NLU)和對話管理是任務型對話的主要模塊。自然語言理解是問答系統(tǒng)、聊天機器人等更高級應用的基石。下面列舉三個典型的問答系統(tǒng):
第一個是檢索型問答系統(tǒng),主要針對問答系統(tǒng),提一個問題,給一個答案,不需要參考上下文內(nèi)容的形式。
第二個是任務型對話系統(tǒng),針對買票,訂票之類的任務型對話。
第三個是閑聊系統(tǒng),像微軟小冰,主要陪聊天等。

任務型對話系統(tǒng)示意圖

任務型對話主要包括四部分 ,語音識別,自然語言理解,對話管理,最后是自然語言生成。
下面是一個訂餐應用的例子。

接下來分別來看每個模塊具體實現(xiàn)的方式
首先是自然語言理解。做自然語言理解首先要有一種表示自然語言含義的形式,一般用傳統(tǒng)的三元組方式即:action, slot , value。action就是意圖,slot是需要填充的槽值,value是對應的值。

具體可以用哪些技術做這些事情呢?下面列出了三個方法。
第一個是語法分析,可以通過語法規(guī)則去分析一句話,得到這句活是疑問句還是肯定句,繼而分析出用戶意圖。相應的也可以通過語法結構中找到對應的槽值。
第二種方法是生成模式,主要兩個代表性的HMM,CRF, 這樣就需要標注數(shù)據(jù)。
第三種方法是分類思想,先對一句話提取特征,再根據(jù)有多少個槽值或意圖訓練多少個分類器,輸入一句話分別給不同的分類器,最終得到包含槽值的概率有多大,最終得到這個槽值。
還有一種采用深度學習方式,使用LSTM+CRF兩種組合的方式進行實體識別,現(xiàn)在也是首選的方法 ,但有一個問題是深度學習的速度比較慢 ,一般輕量型的對話系統(tǒng)還是通過語法分析或分類方式或序列標注來做。

對話狀態(tài)應該包含持續(xù)對話所需要的各種信息。DST的主要作用是記錄當前對話狀態(tài),作為決策模塊的訓練數(shù)據(jù)。

系統(tǒng)如何做出反饋動作?

下面是自然語言生成部分。自然語言生成也有多種方法。這里舉三個方法:基于模板,基于語法規(guī)則和基于生成模型方法; 具體可觀看視頻回放。
任務型對話其他模塊

第二部分是用Rasa實現(xiàn)任務型對話系統(tǒng)。Rasa nlu是自然語言理解框架,主要實現(xiàn)實體識別,意圖識別等。Rasa core是對話管理框架,主要實現(xiàn)狀態(tài)跟蹤、policy訓練,在線學習等。

實操部分使用rasa nlu和 rasa core 實現(xiàn)一個電信領域?qū)υ捪到y(tǒng)demo,實現(xiàn)簡單的業(yè)務查詢辦理功能‘’具體代碼實現(xiàn)過程推薦觀看AI慕課學院提供的視頻回放。
雷鋒網(wǎng)更多公開課直播預告敬請關注微信公眾號【AI研習社】)。如果錯過了直播課程,還可到AI慕課學院查找該期的視頻回放。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。