編者按:本文作者 Sergei Burkov 是俄羅斯莫斯科物理技術(shù)學院博士,也是旅游推薦智能機器人公司 Alterra.ai 創(chuàng)始人兼首席執(zhí)行官。
聊天機器人現(xiàn)在非常熱門,但是當我們談到“聊天機器人”時,會發(fā)現(xiàn)它有兩個完全不同的類型:一種是配置對話用戶界面的智能虛擬助手,另一種,則是依賴屏幕按鍵圖像用戶界面的非智能菜單驅(qū)動的程序。相比于前者,以菜單驅(qū)動的聊天程序的確擁有不少劣勢,用戶接受度也不高,比如他們無法支持深度鏈接、創(chuàng)新性較低、同時也缺乏內(nèi)部機器人之間的“bot-to-bot”通訊協(xié)議。相反,智能聊天助手則為上述問題帶來了解決方案,它們無需新協(xié)議或應(yīng)用程序接口就能實現(xiàn)彼此間的通訊,而且也不依賴于類似于 Google Assistant 這樣的“主機器人”。更重要的是,人們用自然語言就能與之交互。
機器人要用自然語言實現(xiàn)交互
過去,每家公司都需要有一個官方網(wǎng)站,以后他們都需要一個專屬的會話式機器人。但是在絕大多數(shù)情況下,你不會直接與它們對話,用戶可能會首先與一個“主機器人”進行交互,比如谷歌的 Google Assistant、三星的 Viv、以及亞馬遜的 Alexa。主機器人會判斷哪一個“下屬”機器人有能力處理你的請求,再把你的請求轉(zhuǎn)發(fā)給它們。
舉個例子,假如你想要在巴黎預(yù)定一個酒店,你只需說:
谷歌,我下周日想去巴黎,請幫我預(yù)訂一個每晚不超過 200 美元的四星級酒店,里面要有免費的 Wi-Fi 和健身房服務(wù),還有,我要住五天。
此時,Google Assistant 會找到一個旅行代理服務(wù)機器人(比如 Expedia、Booking.com、或是 Alterrra 等),然后把這個請求轉(zhuǎn)發(fā)過去,如果“接收方機器人”足夠智能,能夠理解用戶請求,那么就能完成一筆酒店預(yù)訂業(yè)務(wù)。
關(guān)鍵是,“主機器人”和“接收方機器人”之間也能夠使用自然語言彼此交流。再比如,當你和全球私人旅行指南出版商《Lonely Planet》旗下的聊天機器人對話,想問問它阿姆斯特丹有哪些著名的旅游景點,你只需問說:
下周二阿姆斯特丹的天氣怎么樣?。?/p>
此時《Lonely Planet》機器人會把你的請求轉(zhuǎn)發(fā)給 Weather.com 機器人,如果后者有能力回答這種自然語言問題,那么就會把答案傳遞過來。換句話說,英語將變成未來機器人彼此之前的“通訊協(xié)議”。
聊天機器人會變成另一個“亞馬遜土耳其機器人”嗎?
看上去,人工智能技術(shù)對聊天機器人非常有幫助。但可能也不一定,因為我們還有另外一個選擇:由人工支持的聊天代理服務(wù),比如亞馬遜的土耳其機器人模型。事實上,現(xiàn)在不少初創(chuàng)公司已經(jīng)采用了這種方式,但它卻是一個死胡同。
為什么這么說呢?其實還是人類本身的問題——無法實現(xiàn)規(guī)模化拓展,速度也太慢,成本更是無比昂貴。而且我們沒有足夠多的人力,來支持數(shù)以百萬計的機器人服務(wù)世界上每家公司。人類愿意回到手工勞動力時代嗎?想象一下,假如亞馬遜每筆交易都是通過現(xiàn)場銷售人員來為客戶提供服務(wù),他們能夠承受得了嗎?所以結(jié)果很明顯,企業(yè)未來只能選擇人工智能,否則距離破產(chǎn)就不遠了。
傳統(tǒng)的自然語言處理技術(shù)還能發(fā)揮作用嗎?
自然語言處理算法有兩大類:傳統(tǒng)自然語言處理和深度學習。
傳統(tǒng)自然語言處理涉及大量編碼。你必須要預(yù)測用戶在每個場景下可能會說的詞匯和短語、識別說話類型、再提取預(yù)定義的關(guān)鍵詞,等等。換句話說,傳統(tǒng)自然語言處理有很多規(guī)則,很多正則表達式,以及大量的硬編碼。所以,你需要花費大量時間寫代碼,調(diào)試程序bug。但是,一旦用戶在對話時偏離了預(yù)期路徑,之前所設(shè)定的規(guī)則就很容易會被打破,這就是為什么許多機器人讓人感到非常愚蠢的原因。
我們不得不構(gòu)建大量智能虛擬助手,讓它們?nèi)ゾS護自然語言對話。那么問題是,我們能夠用傳統(tǒng)自然語言處理來實現(xiàn)這個功能嗎?貌似看上去不太可能——畢竟難度太大,而且也十分耗時。更重要的是,地球上可能沒有那么多程序員來寫代碼。
依靠深度學習來解決聊天機器人的瓶頸問題
幸運的是,現(xiàn)在我們有一個替代方案,這個技術(shù)給人們帶來了希望,它就是深度學習!相比于特別編寫一個明確的規(guī)則,現(xiàn)在我們只需要構(gòu)建一個人工神經(jīng)網(wǎng)絡(luò),然后給它提供培訓語言。
然而,構(gòu)建人工神經(jīng)網(wǎng)絡(luò)并不簡單,你需要把不同的算法和解決方案縫接在一起。好的一面是,當你完成的時候所有工作后,會得到一個可以理解自然語言的神奇機器。如果你注意到它出現(xiàn)了某些錯誤,完全不需要編寫新代碼來解決問題——只需給它提供更多學習樣本就可以了。而且,你也不需要重新給“機器人大腦”編程,當你有了這樣一種機器,會發(fā)現(xiàn)團隊的工作效率大幅提升,過去需要花費數(shù)年時間才能完成的產(chǎn)品,現(xiàn)在即便人手不足也能快速推出。
不幸的是,我們現(xiàn)在還沒有這樣神奇的機器,然而很多公司都正在朝這個方向努力?,F(xiàn)在幾乎所有的聊天機器人設(shè)計框架都是基于自然語言處理的軟件開發(fā)包,而不是深度學習技術(shù)。換句話說,如今的聊天機器人依然類似于傳統(tǒng)的勞動密集型服務(wù)行業(yè),但是隨著深度學習技術(shù)的不斷發(fā)展,我們應(yīng)該很快就能看到隧道盡頭的曙光了!