從JIMI的FAQ談現(xiàn)有的聊天機器人限制

一切從一份誠實的FAQ開始

關于JIMI聊天機器人,你們看它的FAQ 幫助中心-京東 就能看出現(xiàn)在的聊天機器人的限制。這個里面所列的技巧,就是請求用戶按照這種方式說話,為什么呢?我來翻譯一下

技巧一:省略問候語。

也就是說機器人的上下文分析能力很弱,同時問候語增加了噪音,降低了模板匹配成功率(其實所謂DeepQA的匹配和模板匹配依然差不多)

技巧二:問題簡潔明了,避免冗長。

這條依然是怕用戶的問題太長,噪音太多,降低匹配成功率。

技巧三:一次性提問完整,避免一個問題分兩次發(fā)送。

這個“技巧”是告訴大家,機器人的上下文處理能力很弱很弱,例如你問“上海天氣怎么樣”,機器人會回答,如果你分成兩句,第一句:“你告訴我些天氣信息吧”,第二句:“上海的”,那機器人就萌逼了。

技巧四:一次發(fā)送一個問題,避免一個問題里包含兩個提問。

機器人能準確回答一個問題就已經很難為它了,你還想一句話問兩件事兒,你想瘋?。?/p>

技巧五:發(fā)起咨詢內容應盡量減少錯別字,否則JIMI可能無法識別.。

模板匹配,模板匹配,模板匹配。(這句FAQ后面有一個英文句號,原網址就有,至少現(xiàn)在有,呵呵)

技巧六:快捷查詢。

求求你,能快速查詢的東西點按鈕好伐?不要問我啦?我準確率其實沒那么高的。我因為準確率沒那么高才要你去按按鈕啊,寫表單啊之類的,能別問就別問。

技巧七:客戶問題引導。

這種是一種假上下文模式,就是將用戶帶入一個故事,例如用戶說:“我想買披薩”,機器人就可能進入這種模式,然后接下來問你一系列的:“多大?”,“什么料”,“要飲料嗎”,這種用戶story是很多常見的機器人平臺的做法,因為你直接說一個“我想要一個12寸的夏威夷披薩多放醬油”,機器人需要識別其中的內容太多(例如12寸,夏威夷,醬油),技術難度太高。

技巧八:JIMI處理范疇。

我們是“人工,智能”,如果智能錯了,我們馬上接人工,謝謝不客氣。

總結:從JIMI的FAQ就能看出來它的限制,我只能說京東還是非常的誠實的。我是相信京東的技術是業(yè)界領先水平(有錢就有技術,不要質疑這一點)。但是在現(xiàn)有技術下很多功能無法完成的,你讓京東怎么辦?他只能很誠實的告訴你“技巧”好伐?

聊天機器人背后的技術

搜索一些關于JIMI的內容,能搜索到這樣一篇文章,例如 DeepQA系統(tǒng)為京東JIMI提供“最強大腦”_網易新聞 。里面提到了JIMI用了深度學習啦,DeepQA啦,呵呵。其實這個很簡單的,至少這個文章里面的流程圖(雖然這個文章很老)里面的這種所謂DeepQA的系統(tǒng)很簡單。就是把問題向量化(就好像word2vec是詞向量化,我們想辦法做句子向量化),然后把所有答案向量化,再去根據向量距離尋找答案?;蛘咧苯影褑栴}答案丟到一個模型里,本質也是在模型內部向量化。向量化的目的就是為了尋找問題和答案的相關性,我們就可以定義一個距離,例如問題和答案配對的越好,距離越近?;蛘邌栴}和機器人平臺已經有的問題越近似,距離越近。從而找到一個用戶輸入問題的最近似答案。

這樣的論文其實不少,例如用LSTM的 [1511.04108] LSTM-based Deep Learning Models for Non-factoid Answer Selection ,用CNN的 https://www.aclweb.org/anthology/P/P15/P15-2114.pdf

這種本質是什么?本質就是相似性的檢索。最簡單的相似性檢索(問題到相似問題),是直接使用“編輯距離”,Levenshtein距離。例如:“今天天氣不錯”和“天氣不錯”的編輯距離是2,因為前一句去掉兩個字(有兩個編輯改動)就可以變?yōu)榈诙洹.斎蛔詈唵蔚木庉嬀嚯x有很多問題,例如“我愛你”和“我恨你”的編輯距離只有1,系統(tǒng)很可能認為它們是相似句子。

現(xiàn)有的DeepQA的學術研究,都沒能真正解決語義上的相似性,這種模型可能不會認為“我愛你”與“我恨你”是相似的,但是它很可能會認為“你知道嗎,我有一句話不知道當講不當講,憋了很久才鼓起勇氣告訴你,我愛你”和“你知道嗎,我有一句話不知道當講不當講,憋了很久才鼓起勇氣告訴你,我恨你”是相似的。

更何況是現(xiàn)實中我們還需要加入上下文了。從連接主義(深度學習)去思考,就連word2vec的能力界限在哪都不清楚,否則也就不會還有fasttext,glove之類的研究了,因為各自的訓練出的語義信息很不穩(wěn)定,也很難真正解釋它們背后的含義。句子的語義相似度更是無底洞,Bengio似乎一直在嘗試(包括14年發(fā)表的Sequence to Sequence Learning)也是嘗試的成果之一 (https://arxiv.org/pdf/1406.1078.pdf ),論文中就提到了關于句子的語義表示的問題,但是沒給出能應用這種表示的意義。

說到Sequence to Sequence Learning,例如這篇文章 聊天機器人的發(fā)展狀況與分類 | 雷鋒網 提到了它作為chatbot的一種模型。深不以為然,我不相信現(xiàn)在真有這樣的服務做出來,因為Sequence to Sequence直接用于答案生成準確率太低了,結果很難控制,而且也很難找到一個足夠好的訓練集去訓練,如果你真的有這樣足夠好的訓練集,用什么方法不行,非得用這種方法嗎?這種方法作用于QA系統(tǒng)最早也是谷歌的論文 [1506.05869] A Neural Conversational Model 不過那個結果已經就看不出來好了。后續(xù)雖然有各種論文通過加入強化學習,改進模型等等的研究,包括百度也做過基于貼吧數據集的Sequence to Sequence研究,但是結果都不可能達到能商用的地步。

作者原來曾經嘗試過Sequence to Sequence Learning在大量數據集上的效果(https://github.com/qhduan/Seq2Seq_Chatbot_QA ),結論是,數據集不是越大越好,還是越準越好。例如在射手網所有中文字幕集(提取了3億對上下文對話),結果反而不如中間很小一部分數據產生出的模型,例如這份語料(https://github.com/rustch3n/dgk_lost_conv

我們還是原始人

最終現(xiàn)在所有的聊天機器人構架,都是基于非常有限的上下文信息的規(guī)則匹配系統(tǒng),為了達到可能實用的程度,它有非常多的工程組件用來解決用戶體驗問題。本質這些都沒有什么太高深的技術,但是能搭建起來一個完整的工程系統(tǒng)本身還是有難度的,否則中國就不會只有世紀佳緣的“一個AI”抄襲的那么好了。至于圖靈機器人,其實根本不算是機器人平臺,它連寫一個完整的用戶story的能力都沒有(參考上面披薩的例子)。

Deep Learning也許會成為這個規(guī)則系統(tǒng)中的某個組成部分,成為各大廠商吹噓的對象,但是它本身不是黑魔法,能力也很弱很弱,需要學術界和同業(yè)界一起不斷的發(fā)展才行。

這種聊天機器人有多有用,我認為還是有待市場驗證的問題。希望我們早日脫離“原始社會”,走向技術新時代吧。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容