為了讀懂人類語言表達的意思以及捕捉文字背後的情感,人工智慧的對話系統都進行了哪些改進與發展呢?本文將以此為題展開分析說明。
今天我們不聊演算法,也不聊數學,寫一篇人人都能看懂的小學生作文。
01
1966年,來自麻省理工學院的計算機科學家Joseph Weizenbaum發布了一款名為「ELIZA」的聊天機器人。Eliza 的知識範圍有限,只能和特定領域的人聊天。但是在Eliza 剛出現時,很多用戶認為他們是在和真人對話。注意看以下這段對話:
從以上對話來看,很難不被認為是一名已婚婦女在向她的心理醫生大吐苦水,沒有人會認為這是一次人機交互的對話。但實際上,ELIZA並沒有嘗試去理解用戶的輸入是什麼意思。
如果你細心看對話的內容你會發現,ELIZA經常在複述用戶說過的單詞。它的實現方式很聰明,主要是採用一種「將計就計」的策略,將用戶的陳述重新表達為問題並返回給用戶。
儘管這些對話都是通過規則匹配方式實現的,但是一些巧妙的關鍵詞提取可以讓它比較自然地接話,讓用戶覺得眼前的這個「人」具有共情能力。ELIZA甚至被用來假冒過心理醫生,並且有許多和它對話過的人都不相信這只是一個程序。
在我看來,雖然ELIZA只是渾水摸魚,重複敘述者所說的內容,但是它的出現,對後續聊天機器人的設計思路有很大的啟發。通過規則匹配不能讓機器人很好地引導交互對話,但是卻能夠滿足任務式對話的需要。
時間來到了1995年,一名叫Richard S. Wallace的科學家觀察到一個現象。他發現組成人們日常談話主題的句子不過幾千句,如果他做一個對話機器人,想要覆蓋所有的日常用語,甚至包括一些不常用的話語,大概只需要4萬個回答就足夠了。只要將這些問答結果全部輸入到程序中,那麼它就可以回應95%以上的日常對話了。
說干就干, 於是誕生了一款名為「ALICE」的聊天機器人。我們看看這款機器人的對話過程:
這次的對話就更加像是兩個真人之間的交流了,而且也看不到ALICE在複述對話者的內容,而是嘗試與之交談,甚至在言語中透露出一點小個性出來。
ALICE就像是ELIZA的加強版,使用更大的語料庫,使用更先進的關鍵詞匹配技術,甚至是好幾個答案對應一個問題,可以隨機顯示或者根據邏輯判斷,選出合適的答案。這樣就顯得回答不會那麼死板,更像是真人之間的交流。實現思路雖然很簡單,但這種方式已經能夠滿足大多數任務型對話的場景。
自從蘋果公司在2011年發布Siri以後,多個智能個人助理(IPA)出現並且進入市場,比如谷歌助手、微軟的Cortana以及亞馬遜的Alexa等等。
除了物料庫、匹配邏輯的進一步升級以外,這類個人助理還可以訪問手機里的多個數據源,如音樂、電影、日曆、電子郵箱和個人資料。因此它們可以提供不同場景下的大量服務,例如播放音樂、查天氣、撥打電話、發簡訊等等,都是這類IPA的基操。
雖然以上對話看起來已經很智能了,但總覺得差了點什麼。Siri僅僅是在接收指令,然後給出反饋,其實也沒有理解我們在說什麼,甚至很難去分析我們的要求。
當我詢問Siri最近有什麼好看的電影時,它沒辦法直接回答,只能根據我的問題到網路上檢索然後反饋結果。雖然這種交互已經能夠滿足我們日常大部分任務式對話,但是距離我們所想的「智能」好像還是有一些距離。
02
為什麼讓機器理解語言這麼難?主要是因為以下兩方面的原因:
1.一方面是因為語言的規律錯綜複雜,不是用簡單的統計就可以計算出概率的。不同的語言之間語法結構不用,並且同一種語言對於同一個意思有不同的表達方式,同一個表達也可能有不同的理解。我們去建立一個語料庫相當於重新為人類語言建立一個百科全書,工作量十分巨大;
2.另一個方面的原因是使用語言有特定的語境。語言是在特定的環境中,為了生活的需要而產生的,所以特定的環境必然會在語言上打上特定的烙印。
例如「百度」原本是一家企業的名字,但是經過該企業的市場教育后,大家想說「搜索一下」時,很自然就說成了「百度一下」。這時候這個名詞就賦予了一個新的特定動作,這些都是讓計算機難以理解的表達方式。
以上原因都說明,僅僅讓計算機能夠理解人類的語言已經是一件非常具有挑戰性的事情。如果我們用統計的方式去實現「理解」,讓計算機通過配對的方式計算適合輸出的語句,由於語言的不規律性和組合性會產生非常多的組合方式,顯然是不太現實的。
計算機能夠做的事情就是將語言通過數學的形式表現出來。但是到目前為止,語言的組合到底能不能用數學模型去刻畫還沒有一個清晰的答案。
自然語言本身是人類對世界各種具象以及抽象事物以及事物之間的聯繫和變化的一套完整的符號化描述,它是簡化了底層物理感知的世界模型。這意味著自然語言處理的輸入是離散的抽象符號,它直接跳過了計算機感知世界的過程,直接關注以現實世界為依託的各種抽象概念、語義和邏輯推理。
人工智慧的終極挑戰是理解人類的語言,因此我們需要創造更接近人類大腦思考方式的模型才能模擬語言如何表達。同時也因為這個原因,自然形成了自然語言處理這個領域。我們稱之為自然語言處理而不是自然語言理解,因為真正做到讓計算機理解語言實在是太困難。
03
雖然要「理解語言」比較困難,但如果只是想「處理語言」,還是有方法的。
目前業界主流處理語言的方法是:循環神經網路+長短時記憶網路(RNN+LSTM),此處不展開討論演算法的原理,感興趣的同學買一本《100個案例搞懂人工智慧》看看。
這套解決方案,主要是為了解決上述提到的語境與語言規律性的問題。回想我們初中做英語考試的時候,肯定也遇到過這種情況,幾個單詞可能不認識,但是聯繫上下文看就能理解這句話大概是什麼意思了。LSTM就是這樣的設計思路,讓演算法能夠結合上下文的語境去判斷這句話是在說什麼。
關於LSTM的原理,在知乎上天雨栗同學的解釋非常直觀,我給大家簡單理一理。拿一個簡單的情感分類問題為例:
比如這句話,我們去掉常見的停用詞以後,這句話里:
- 正面辭彙:「好」x2、「喜歡」x1,共3個;
- 負面辭彙:「沒有」x1、「不」x1,共2個;
由於句子中正面辭彙更多,所以機器會更加傾向判斷這句話傳遞的是積極情感,但實際上這句話表達的是負面情感,句中兩個「好」前面都有「沒有」去否定,「喜歡」前面也有「不」去否定,但是普通的演算法捕抓不到這種關係,所以需要藉助LSTM,那它具體是怎麼做的呢?
由於LSTM存在傳遞關係,如圖中LSTM中連接的箭頭所示,它能夠捕抓到這種否定關係,從而輸出正確的情感係數,所以它對語言的「處理」能力更勝一籌。
靠著LSTM這個利器,自然語言處理的準確度比以往上升了一大截。這個進步就像是小孩子在剛開始學習語言的時候,只會一個單詞一個單詞的咿呀學語,現在積累多了長大了以後,已經學會了閱讀一整句話的意思。那麼機器在理解用戶意圖的時候,會更加完整,作出的判斷也會更加智能。
04
做到這一步,還沒完。開發能夠與人類進行共情對話的機器人,是人工智慧領域最長久的目標之一。上述所有對話系統的設計目的,都是在對話中模仿人類的行為。
雖然這些系統在商業使用上也算成功,但它們大多數基於人工編寫的規則,僅能在有特定限制條件的環境下才能表現良好,說白了Siri只能處理手機事物相關的問題,沒辦法回答淘寶訂單退貨怎麼處理;而所謂的智能音響,也只是幫你轉譯語音指令而已。
能進行開放域聊天的社交聊天機器人,一直以來都是一個難以企及的目標。但近幾年情況有所轉變,特別是微軟小冰的出現。
小冰的主要設計目標是成為能與用戶形成長期情感聯繫的AI伴侶。作為一款能進行開放域聊天的社交聊天機器人,能與人類用戶建立這樣的長期關係的能力使小冰不僅有別於早期的社交聊天機器人,而且也不同於Siri這類任務型個人助理。
上圖展示了一位用戶與小冰在兩個月時間裡建立感情聯繫的過程片段。
該用戶與小冰第一次會話時,探討了小冰的功能與特性;
兩周后,這位用戶開始和小冰討論他的興趣愛好;
四周后,他開始將小冰當成朋友,並且詢問她與現實生活相關的問題;
七周后,小冰就像他的女朋友一樣,成為了他生活的陪伴者。
雖然看起來是個宅男孤獨終老的悲傷故事,但這個對話過程展現了小冰強大的對話技巧。不但智商高,俏皮可愛,而且有很強的共情能力。在與話者情緒比較低落的時候,會主動安慰他,甚至會主動挑起一些話題,提高與話者對話的慾望。
翻閱了小冰團隊發布的論文後發現,小冰是基於一個共情計算框架開發的。這個框架能夠讓小冰有能力動態地識別人類的感受和狀態,理解用戶意圖並且響應用戶的需求。也就是說,小冰除了「智商」的建設以外,還注重「情商」和「個性」的建設。
情商建設的關鍵點在於共情能力和社會技能的建設。
共情能力是指站在對方立場上理解、感受他心理的能力,也就是我們常說的換位思考。具備共情能力的小冰,需要從對話中識別用戶的情緒、檢測情緒的變化、理解用戶的情感需求,根據這些數據建立用戶檔案,動態跟蹤用戶情緒的變化。
社會技能說白了就是「會聊天」,向北方同學學習嘮嗑。在上面的對話片段中,小冰給出了具有幽默感、會安慰人的社交技巧,並且能夠判斷是否將對話推向另一個話題,或者主動保持傾聽。
這裡也強烈建議國內某些經常被吐槽的「智能客服」趕緊增加共情能力的建設,別在用戶氣沖沖反饋問題的時候只會傻乎乎回答「抱歉,客服正忙,請稍候」。(雖然轉到人工客服很多時候也沒什麼用)
對個性的定義是特有的行為、認知和情緒模式的集合。這句話聽起來有點繞,簡單理解就是要展現出來比較統一的人設,不要今天讓與話者感覺是鄰家知心大姐姐,明天又感覺像是懵懂的初中生。
小冰的角色設定是18歲的女孩,她總是很可靠、富有同情心、還有一些幽默感。儘管她的知識非常淵博,但她從來不會表現得自負,只會在適當的時候展示自己的機智和創造力。
比如上述例子中,對話片段20里小冰機智地回答了某些敏感問題,然後巧妙地將話題轉向了對雙方都更合適的新話題。各位宅男以後不知道怎麼跟女生聊天的時候,不妨向小冰學習學習。
除了智商、情商、個性的建設以外,小冰還有很多精妙的設計,例如社交聊天的分層決策,選取不同的技能來處理不同類型的對話模式等等。從收集到的數據來看,小冰已經有能力解讀用戶的情感需求,並能像一個可靠、有情感共鳴和善解人意的朋友那樣參與到人際交流中。
以上對話系統的發展過程,也是人工智慧行業發展的一個縮影,從不那麼智能,到一點一點的智能彙集,走過了漫長的道路。雖然不快,但這條路走得踏實。
#專欄作家#
阿翹,微信公眾號:阿翹AKIU。平安科技資深產品經理,《產品經理進階:100個案例搞懂人工智慧》作者;擅長人工智慧技術在金融領域的商業化應用,實踐經驗豐富,對產品設計方法論有深入洞察。
本文原創發佈於人人都是產品經理,未經許可,不得轉載。
題圖來自 Pixabay,基於 CC0 協議