1、人機對話概述ubuntu
人機對話(Human-Machine Conversation)是指讓機器理解和運用天然語言實現人機通訊的技術,如圖1所示。經過人機對話交互,用戶能夠查詢信息,如示例中的第一輪對話,用戶查詢天氣信息;用戶也能夠和機器進行聊天,如示例中的第二輪對話;用戶還能夠獲取特定服務,如示例中的最後兩輪對話,用戶獲取電影票預約服務。
安全
圖1 人機對話示例網絡
人機對話是人工智能的重要挑戰,最近幾年隨着人工智能的興起,人機對話的研究也愈來愈火熱。圖2是NLP頂級會議ACL和EMNLP自2010年以來對話相關論文的數量,能夠看出從2016年開始對話論文的數量增加迅猛,2018年相比於2010年對話論文數量有數倍的增加。對話相關技術的逐步成熟也引起了工業界研發對話產品的熱潮,產品類型主要包括語音助手、智能音箱和閒聊軟件。app
一、語音助手是指在硬件設備或APP軟件上植入人機對話程序輔助用戶經過語音方式使用宿主設備或程序上的功能,如內容搜索、信息查詢、音樂播放、鬧鈴設定以及餐館和票務的預約等功能,該類型的產品有百度小度、蘋果Siri、Google Now、微軟小娜、阿里小蜜;框架
二、智能音箱是爲對話系統獨立設計的音箱產品,和語音助手的區別是,智能音箱獨立設計了一套語音輸入輸出系統,用於實現遠場語音控制,即遠距離的語音對話交互,如家居環境下家電設備的控制,該類型的產品有百度小度音箱和小度在家、亞馬遜Echo、Google Home、阿里天貓精靈、小米小愛等;less
三、閒聊軟件主要是藉助情感計算技術和用戶進行情感交流,如微軟小冰。dom
圖2 對話論文在NLP會議上的增加趨勢學習
2、人機對話技術測試
人機對話技術的研究最先能夠追溯到上世紀六十年代,自阿蘭·圖靈提出經過圖靈測試[1]來檢驗機器是否具備人類智能的設想以來,研究人員就開始致力於人機對話系統的研究。1966年MIT的計算機科學家Joseph Weizenbaum開發了Eliza[2]聊天系統,用於模擬心理治療師對精神病患者進行心理治療。1972年精神病醫生Kenneth Colby基於Eliza的原理開發了Parry[3]聊天系統,只不過模擬的不是心理治療師,而是精神病患者。1998年CMU的Randy Pausch開發的Alice[4]被認爲是最像人類的聊天機器人,還得到了三屆人工智能競賽大獎-羅布納獎(2000年、2001年和2004年),同時孕育了用於開發聊天機器人的AIML語言。ui
隨着深度學習技術的興起,以對話語料爲基礎使用神經網絡模型進行對話學習是近幾年人機對話的主流研究方法。人機對話根據功能不一樣能夠分爲任務完成、問答和聊天三種類型,不一樣類型採用的技術手段和評價方法也不一樣。下面咱們對這三種類型對話進行簡單的介紹:
一、任務完成類型
用於完成用戶的特定任務需求,好比電影票預訂、機票預約、音樂播放等,以任務完成的成功率做爲評價標準。這類對話的特色是用戶需求明確,每每須要經過多輪方式解決,主流的解決方案是2013年Steve Young提出的POMDP[5]框架,如圖3所示,涉及語言理解、對話狀態跟蹤、回覆決策、語言生成等技術。
圖3 POMDP框架
(1)語言理解(Natural Language Understanding),理解用戶輸入中的語義和語用信息。語義信息一般由意圖和槽位信息構成,一個意圖表示一個用戶需求,每一個任務有多種類型的意圖,每一個意圖有多個槽位信息。在電影票預約中,意圖類型有電影票預約、取消預約、修改預約等意圖,槽位有影院、日期、人數等;語用信息主要是指交際功能(Dialogue Act),如詢問、回答、陳述等,語言學家Harry Bunt 等人設計了一套通用的交際功能分類標準[6],共有88類,通常選用其中的幾類便可。
(2)對話狀態跟蹤(Dialogue State Tracking),一個用戶需求會包含一個意圖和多個槽位信息,而一次對話交互只能提供其中的一部分信息,所以對話狀態跟蹤是根據每輪對話信息完善用戶的完整需求信息。
(3)回覆決策(Policy Modeling),根據DST輸出的結果決策當前的回覆動做,如槽位詢問、槽位澄清或結果輸出等,每一個回覆動做由一個交際功能和幾個槽位構成。
(4)語言生成(Natural Language Generation),根據Policy輸出的動做生成一個天然語言句子。
系統實現上分爲Pipeline方式和End2End方式。Pipeline方式指每一個技術模塊單獨實現,而後以管道形式鏈接成整個系統[7]。End2End方式是指一個模型同時實現各個技術模塊的功能,使模塊之間進行充分的信息共享[8]。
二、問答類型
用於解決用戶的信息查詢需求,主要是一問一答的對話形式,如「美國總統是誰」,以回覆答案的準確率做爲評價標準。和NLP傳統Question Answering (QA)任務不一樣的是對話中的問答會涉及上下文的成分補全和指代消解技術。
三、聊天類型
用於解決用戶的情感傾訴需求以及其它類型對話之間的銜接需求。和前兩種對話類型的區別是該類型對話是開放性對話,用戶的輸入是開放的,用戶能夠輸入任何合理的天然語言句子;系統的輸出也是開放的,好比圖1示例中用戶輸入「看來今天不適合出門啊」,系統能夠回覆「是啊,仍是呆在家好」,也能夠回覆「能夠去電影院看電影」,甚至能夠回覆「滿足吧,至少你有機會出門,我沒腳只能每天呆機房」等等。因爲對話的開放性,其技術難度和挑戰性要遠高於其它類型對話,目前的解決方案主要是檢索和生成兩種。
(1)檢索方案
檢索方案採用的是信息檢索的技術,分爲候選回覆召回和候選回覆排序兩個階段,如圖4所示。召回階段先離線對對話語料創建倒排索引庫,在線對話時根據用戶輸入從索引庫中檢索候選回覆。排序階段根據對話上下文進一步計算候選回覆的相關性,以選出最佳候選做爲系統輸出,2016年Zhou等人提出在字粒度和句子粒度級別分別計算對話上下文和候選回覆的相關性而後進一步融合,有效改善了排序效果,提高回覆質量[9]。
檢索方案從百億級的語料庫中檢索回覆,能夠有效解決聊天類型對話的開放性問題,並且檢索出的回覆語義豐富度和流暢性都很好,在單輪對話中表現很好,但在多輪對話中,檢索方案就問題重重了。對話具備很強語境關聯性,多輪對話確立的語境在語料庫中基本不存在,使用檢索方案從語料庫中選出的回覆很難適用於當前的語境,會存在多輪邏輯衝突、語義相關性差等問題,這是檢索方案的致命缺陷。
圖4 檢索方案
(2)生成方案
生成方案不是從語料庫中選出歷史回覆,而是生成全新的回覆,語料庫只用於對話邏輯的學習,是目前學術界的一個研究熱點。生成方案主要採用機器翻譯的Seq2Seq對話框架,對話的上文做爲模型輸入,下文做爲模型輸出[10],使用Encoder表示輸入,Decoder預測輸出,如圖5所示。除了Seq2Seq框架,有很多研究人員也開展了基於GAN和強化學習的對話框架,GAN模型中generator模型用於生成回覆,discriminator模型用於判斷輸入回覆是標準回覆仍是預測回覆[11];強化學習模型中reward爲語義相關性、句子流暢性等,action爲生成的回覆句子[12]。
生成方案訓練時從對話語料中學習對話邏輯,預測時根據用戶輸入預測和上下文相關的回覆輸出。目前生成模型還存在安全回覆、機器個性化和效果評估等幾個挑戰性問題。
圖5 生成方案
因爲聊天型對話的開放性特色,對話模型的效果評估上具備很大的挑戰性,常見的評估方法——預測結果和標準結果的匹配程度,難以準確的衡量聊天型對話的效果,目前可靠的評估方法依然是人工評估,2017年Bengio團隊提出用模型擬合人工評估的方式探索自動評估的解決方案[13]。閒聊對話系統能夠經過和用戶交互的輪次來自動衡量系統的效果,交互輪次越多說明用戶對聊天效果越滿意,也能夠間接說明聊天系統效果越好。這和任務完成類型的評估是截然相反的,任務完成類型在成功完成任務的前提下對話輪次越少說明模型的效果越好。
3、人機對話語料
早期的對話系統依賴於模板匹配技術,經過文本匹配查找類似輸入的回覆做爲輸出回覆,使得系統的對話能力和靈活性存在很大的侷限性。所以上世紀九十年代以來,研究人員開始進行基於數據驅動的對話系統研究。1990年Hemphill等人建設了旅行信息系統(ATIS)數據集[14],用於機票預訂對話系統的研究[15];2001年Walker等人建設旅行規劃數據集,用於旅行規劃系統Communicator的研究[16];2013年微軟建設了公交時刻表查詢對話數據集用於對話狀態跟蹤(DSTC)技術的研究[17];2015年Alessandro Sordoni等人在Twitter上整理了2900萬人-人對話數據集[18],用於聊天對話技術的研究;2016年Ryan Lowe等人從Ubuntu技術論壇上整理了700萬Ubuntu社區聊天數據集用於限定領域下的聊天技術研究[19]。2018年Nikita Moghe等人基於電影知識數據人工標註了電影領域的聊天數據集,用於知識對話技術的研究[20]。
4、人機對話技術展望
人機對話通過半個世紀的發展有了長足的進步,不過如今的技術水平還處於初級階段,未來在如下幾個方面須要進一步攻克:
(1)通用語言理解和語言生成技術:目前任務完成類型對話每一個任務都有各自的語言理解和語言生成模型,領域遷移困難,通用的語言理解和語言生成技術是解決這一問題的關鍵。
(2)深度融合知識和常識信息:對話中話語背後蘊含了豐富的知識和常識等語境信息,話語的理解和生成與知識和常識信息密不可分。
(3)記憶機制:經過記憶機制記住、提煉並整合歷史對話內容,對話時結合記憶信息輔助對話決策模型(Policy Model)進行下一步決策。
(4)多模態的對話技術:人類對話中不只有語言交互,還有視頻、圖像等信息的交互,如對話中的手勢、說話時的情緒等信息,語言理解時融合多模態信息可使得機器掌握更完整的語境信息,語言生成時融合多模態信息可使對話更加生動形象。
5、2019 語言與智能技術競賽
爲了推動人機對話技術的進步,百度提出了知識驅動的對話任務,機器根據知識信息構建的圖譜主動和用戶進行聊天,讓機器具有模擬人類使用天然語言進行信息傳遞的能力。爲此,百度在電影和娛樂人物領域構建了具備14萬實體360萬知識的圖譜,並基於該圖譜衆包標註了12萬輪對話數據。相比於自動挖掘的對話數據,百度數據對知識的使用更加充分,並且對話中機器角色可以根據給定對話目標主動引導對話的進程,向用戶傳遞知識信息。
今年中國計算機學會、中國中文信息學會和百度公司聯合舉辦了「2019語言理解與智能技術競賽」,旨在推進機器語言理解與交互技術發展。知識驅動對話也是該比賽的任務之一,歡迎學術界和工業界的學者、開發者報名參加(http://lic2019.ccf.org.cn)。
人機對話技術還出於探索階段,百度但願經過設立新的對話任務探索新的人機對話技術,同時經過開放數據和開源基線系統促進人機對話技術的進步。
引用
[1] Alan M Turing. 2009. Computing machinery and intelligence. In Parsing the Turing Test.
[2] Weizenbaum, Joseph. 1966. ELIZA---a computer program for the study of natural language communication between man and machine. Communications of the ACM.
[3] Colby, Kenneth Mark. 2013. Artificial paranoia: a computer simulation of paranoid processes. Elsevier.
[4] Wallace, Richard S. 2009. The anatomy of ALICE. Parsing the Turing Test.
[5] Steve Young, Milica Gasic, Blaise Thomson, and Jason D Williams. 2013. Pomdp-based statistical spoken dialog systems: A review. In Proceedings of IEEE.
[6]DIT++ taxonomy of dialogue acts. https://dit.uvt.nl/
[7] Henderson, Matthew, Blaise Thomson, and Jason D. Williams. 2014. The second dialog state tracking challenge. In Proceedings of SIGDIAL.
[8] Bordes, Antoine, Y-Lan Boureau, and Jason Weston. 2016. Learning end-to-end goal-oriented dialog. arXiv.
[9] Zhou, Xiangyang, et al. 2016. Multi-view response selection for human-computer conversation. In Proceedings of EMNLP.
[10] Shang, Lifeng, Zhengdong Lu, and Hang Li. 2015. Neural responding machine for short-text conversation. In Proceedings of ACL.
[11] Xu, Zhen, et al. 2017. Neural response generation via gan with an approximate embedding layer. In Proceedings of EMNLP.
[12] Li, Jiwei, et al. 2016. Deep reinforcement learning for dialogue generation. In Proceedings of EMNLP.
[13] Lowe, Ryan, et al. 2017. Towards an automatic turing test: learning to evaluate dialogue responses. In Proceedings of ACL.
[14] Hemphill, Charles T., John J. Godfrey, and George R. Doddington. 1990. The ATIS spoken language systems pilot corpus. In Speech and Natural Language: Proceedings of a Workshop Held at Hidden Valley, Pennsylvania.
[15] Price, Patti J. 1990. Evaluation of spoken language systems: The ATIS domain. In Speech and Natural Language: Proceedings of a Workshop Held at Hidden Valley, Pennsylvania.
[16] Walker, Marilyn, et al. 2001. DARPA Communicator dialog travel planning systems: The June 2000 data collection.In Proceedings of EUROSPEECH.
[17] Williams, Jason, et al. 2013. The dialog state tracking challenge. In Proceedings of SIGDIAL.
[18] Sordoni, Alessandro, et al. 2015. A neural network approach to context-sensitive generation of conversational responses. In Proceedings of NAACL.
[19] Lowe, Ryan, et al. 2015. The ubuntu dialogue corpus: a large dataset for research in unstructured multi-turn dialogue systems. In Proceedings of SIGDIAL.
[20] Moghe, Nikita, et al. 2018. Towards exploiting background knowledge for building conversation systems. In Proceedings of EMNLP.
你們認爲人機對話還有哪些應用場景呢?請在本文下方留言吧!
得贊數排名前5的同窗送定製T恤衫一件
歡迎你們多多留言給小編哦(^o^)
本文分享 CSDN - 飛槳PaddlePaddle。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。