聊天機器人(也可以稱為語音助手、聊天助手、對話機器人等)是目前非常熱的個人工智能研發(fā)與產(chǎn)品方向。很多大型互聯(lián)網(wǎng)公司投入重金研發(fā)相關(guān)技術(shù),并陸續(xù)推出了相關(guān)產(chǎn)品,究其原因在于大都將聊天機器人定位為未來各種服務(wù)的入口,尤其是移動端App及可穿戴設(shè)備場景下提供各種服務(wù)的入口。
聊天機器人
聊天機器人的類型
目前市場上有各種類型的聊天機器人,比如有京東JIMI客服機器人,兒童教育機器人,小冰娛樂聊天機器人,Alexa居控制、車載控制機器人,Viv全方位服務(wù)類型機器人等。這是從應(yīng)用方向?qū)α奶鞕C器人的種劃分。
如果對應(yīng)用目的或者技術(shù)手段進行抽象,聊天機器人可以有以下兩種劃分方法。
目標驅(qū)動(Goal Driven) VS. 無目標驅(qū)動(Non-Goal Driven)聊天機器人
目標驅(qū)動的聊天機器人指的是聊天機器人有明確的服務(wù)目標或者服務(wù)對象,比如客服機器人、兒童教育機器人、類似Viv的提供天氣/訂票/訂餐等服務(wù)的服務(wù)機器人等,這種目標驅(qū)動的聊天機器人也可以稱作特定領(lǐng)域的聊天機器人。
無目標驅(qū)動聊天機器人指的是聊天機器人并非為特定領(lǐng)域服務(wù)目的而開發(fā),比如純粹聊天或者出于娛樂聊天目的以及計算機游戲中的虛擬人物聊天機器人都屬于此類。這種無明確任務(wù)目標的聊天機器人也可以稱作為開放領(lǐng)域的聊天機器人。
檢索式 VS. 生成式聊天機器人
檢索式聊天機器人指的是事先存在個對話庫,聊天系統(tǒng)接收到用戶輸入句子后,通過在對話庫中以搜索匹配的方式進行應(yīng)答內(nèi)容提取。很明顯,這種方式對對話庫要求很高,需要對話庫足夠大,能夠盡量多地匹配用戶問句,否則會經(jīng)常出現(xiàn)找不到合適回答內(nèi)容的情形(因為在真實場景下用戶說什么都是可能的),但它的好處是回答質(zhì)量高,因為對話庫中的內(nèi)容都是真實的對話數(shù)據(jù),表達比較自然。
生成式聊天機器人則采取不同的技術(shù)思路,在接收到用戶輸入句子后,采用定技術(shù)手段自動生成句話作為應(yīng)答,這個路線機器人的好處是可能覆蓋任意話題的用戶問句,但是缺點是生成應(yīng)答句子質(zhì)量很可能會存在問題,比如語句不通順、句法錯誤等看上去比較低的錯誤。
好聊天機器人應(yīng)該具備的特點
般而言,個的開放領(lǐng)域聊天機器人應(yīng)該具備如下特點:
先,針對用戶的回答或者聊天內(nèi)容,機器人產(chǎn)生的應(yīng)答句應(yīng)該和用戶的問句語義致并邏輯正確,如果聊天機器人答非所問或者不知所云,或者總是回答說“對不起,我不理解您的意思”,無疑是毀滅性的用戶體驗。
其次,回答應(yīng)該語法正確。這個看似是基本要求,但是對于采用生成式對話技術(shù)的機器人來說其實有定困難,因為機器人的回答是個字個字生成,要保證這種生成的若干個字句法正確,并不容易做得那么。
再次,應(yīng)答應(yīng)該是有趣、多樣而非沉悶無聊的。盡管有些應(yīng)答看上去語義沒什么問題,但目前技術(shù)訓(xùn)練出的聊天機器人很容易產(chǎn)生“安全回答”的問題,就是說,不論用戶輸入什么句子,聊天機器人總是回答“好啊”、“是嗎”等諸如此類,看上去語義說得過去,但是這給人很無聊的感覺。此外,聊天機器人應(yīng)該給人“個性表達致”的感覺。因為人們和聊天機器人交流,從內(nèi)心習(xí)慣還是將溝通對象想象成個人,而個人應(yīng)該有相對致的個性特征,如果用戶連續(xù)問兩次“你多大了”,而聊天機器人分別給出不同的歲數(shù),那么會給人交流對象精神分裂的印象,這即是典型的個性表達不致。而好的聊天機器人應(yīng)該對外體現(xiàn)出各種基本背景信息以及愛好、語言風(fēng)格等方面致的回答。
幾種主流技術(shù)思路
當(dāng)前聊天機器人的幾種主流技術(shù)包括:基于人工模板、基于檢索、基于機器翻譯技術(shù),以及基于深度學(xué)習(xí)的聊天機器人。
基于人工模板的技術(shù)通過人工設(shè)定對話場景,并對每個場景編寫針對性的對話模板,模板描述了用戶可能的問題以及對應(yīng)的答案。這個技術(shù)路線的好處是精準,缺點是需要大量人工工作,而且可擴展性差,需要個場景個場景去擴展。目前市場上各種類似于Siri的對話機器人中都大量使用了人工模板的技術(shù),但其精準性是其他方法還無法比擬的。
基于檢索技術(shù)的聊天機器人則走的是類似搜索引擎的路線,事先存儲好對話庫并建立索引,根據(jù)用戶問句,在對話庫中進行模糊匹配找到合適的應(yīng)答內(nèi)容。
基于機器翻譯技術(shù)的聊天機器人把聊天過程比擬成機器翻譯過程,就是說將用戶輸入聊天信息Message,翻譯成聊天機器人應(yīng)答Response的過程類似于把英語翻譯成漢語。基于這種假設(shè),就完全可以將統(tǒng)計機器翻譯領(lǐng)域相對成熟的技術(shù)直接應(yīng)用到聊天機器人開發(fā)中來。
基于深度學(xué)習(xí)的聊天機器人技術(shù)是本文后續(xù)內(nèi)容主要介紹的技術(shù)路線,總體而言,絕大多數(shù)技術(shù)都是在Encoder-Decoder(或者稱作Sequence to Sequence)深度學(xué)習(xí)技術(shù)框架下改進的。使用深度學(xué)習(xí)技術(shù)來開發(fā)聊天機器人相對傳統(tǒng)方法來說,整體思路非常簡單并可擴展。