市北GMIS | 位元組跳動李航:自然語言對話技術的發展機遇與挑戰
機器之心報道
演講者:李航
整理:一鳴
說起李航老師,熟悉機器學習領域的讀者朋友不會陌生,他所編寫的《統計學習方法》一書,可謂是機器學習入門的寶典。現在,李航老師是位元組跳動人工智慧實驗室總監,在學術界是 IEEE Fellow 和 ACM 傑出科學家。在今年上海召開的市北?GMIS 2019 大會上,我們邀請到了李航老師,分享自然語言對話技術領域的相關觀點。
以下為演講主要內容,機器之心進行了不改變原意的整理:
大家好!非常高興今天有機會跟大家交流。
可能每天大家都會使用各種自然語言對話系統,今天我想跟大家分享一下對對話技術的一些觀點。
語音對話技術的發展和應用
首先看一個視頻(見前文視頻),這個是 1992 年美國的一個電視節目。現在大家都知道,各種語音助手熱成什麼樣,給大家看看 27 年前的技術。27 年前是這個水平,語音合成的是非常機械的聲音,是科幻電影裡面機器人的聲音,能夠識別的命令也不多。儘管現在看來很粗糙,根據李開復博士的介紹,當時的這項對話技術能夠學習連續的對話,理解連續的語音,還能理解多個不同的話者的語音,在當時來說是很大的進步了。
相比剛才看到的視頻,目前我們可以使用各種語音對話技術,比如語音助手、問答系統、呼叫中心等,可見 27 年來,自然語言對話行業和領域發生了很大的變化。我們日常生活當中,也有各種對話系統:電視、車載、手機、智能音響、呼叫中心、問答系統,還有閑聊機器人。
對話技術已經在市場上開始普及。在國內,有調查顯示,在去年每天使用語音助手的用戶中,頻繁使用的用戶(每天使用和每周使用語音助手的用戶)可以佔總用戶數量的 3/4 左右。
但是市場調查也發現,真正使用語音助手的用戶並不是特別多。例如,儘管智能手機上基本都有語音助手,但是大概只有 5% 的用戶使用或使用過這樣的技術。
在汽車和電視平台上,使用語音助手的用戶比例稍微多一點,30%-45%。因為這個場景比較適合使用語音對話,不方便用手操作,或者說如果要執行命令,操作會比較複雜,而用語音對話是一個更自然的方式。此外,使用各種智能音箱的頻率大概也是 25% 左右。
語音對話技術在兩方面應用較多,一方面是命令,另一方面則是問答。這兩種技術都比較成熟,已經可以看到很多相關領域的應用。
但是開放領域對話實現依然非常困難。在各種各樣的聊天機器人應用中,真正和用戶實現自然聊天的非常少。現有的技術還不能夠真正解決用戶實際的痛點,不能解決實際的問題。只能幫助用戶節省一些時間和勞力,不能夠幫助用戶完成很多的事情,這就是我們所看到的挑戰。
雖然現階段一些基本的技術比較成熟,但是要繼續發展也有很多的挑戰和瓶頸,需要今後不斷的努力。
劃分一下對話技術,大概可以分成這樣幾個方面。首先是有應用,基本上分為命令和問答。這兩點目前已經可以完成得很好了。在實現方法上可以基於規則或基於機器學習來實現。如果沒有數據,可能需要使用規則,有數據的情況下則使用機器學習。從對話技術來說,又可以分為單輪多輪技術。更具體的來說,有基於分析、檢索或基於生成的技術,可以應用在不同的場景中。
為什麼自然語言對話非常困難,總結起來有兩個問題非常難解決,如果能夠解決,就可以實現人類一樣的智能。
首先是自然語言理解問題,這一問題涉及到人的智能的所有方面,實現起來非常困難。另一方面,人工智慧技術實現對話任務也非常困難。從功能來看,對話本身是一種任務——雙方通過對話進行信息交流,以達成某種目的。比如說,對話中,雙方交流信息和感情。困難的地方在於,在對話過程中,整個任務不斷的被設置、被終止、被恢復,現有的人工智慧技術很難實現。現在強化學習或人工規則可以實現一些功能,但是讓對話系統像人一樣定義任務、產生任務、完成任務,需要涉及到人類智能的各個方面,是非常具有挑戰的問題。語言理解和任務完成是人工智慧中最有挑戰的問題,但是短期內無法實現。
短期內的語音對話技術發展方向
那麼短期內(5-10 年),一方面我們需要繼續推動技術發展,另一方面我們需要關注對話技術的商業前景。
比如上圖中的這位作者,他寫了一本書,書名叫《像愛迪生一樣去創新》。作者總結了愛迪生髮明創造的基本原則,其中一條是:愛迪生非常強調發明創新在市場上的價值。我們在進行真正的創新時,要考慮到發明在市場中可以給用戶帶來多大的價值。通俗的說,用戶買單的不是簡簡單單的想法的實現,而是真正能夠幫助用戶解決實際的問題。這樣的產品才是有市場價值的發明創造。這本書的作者認為,愛迪生一生在踐行這一想法。
回到對話系統中,對話技術不僅僅是藉助語言進行信息交互,而是需要考慮人類對話中的特性。人類的對話的本質是帶有情感信息的分享。在人與人之間的對話中,語言需要遵循社會規範和當前的習俗。對話系統應當反映這樣的特徵。所以要建立一個對話系統,能夠和用戶在不同的場景里去做信息交流,甚至是感情的交流。在這個過程中,不僅需要考慮技術,還需要考慮設計,將技術和設計結合起來,支持不同的功能,並考慮到系統和用戶交流中感情、社會方面的因素。這是其中一個需要考慮的因素。
另一方面,雖然技術永遠在不斷進步,但是不一定能夠滿足用戶的需求。有兩個概念,叫做技術的上界和使用的下界。比如說技術性能指標中的準確率,隨著技術在不斷進步,性能的上界也不斷的提高,但是用戶使用的時候主要關注的是下界,準確率達不到一定水平的話,用戶不願意使用的。
用戶使用的技術下界不一定絕對值非常高,有可能 50% 就可以滿足需求。比如說,在視頻領域抓捕犯人,準確率達到 50% 就可以使用了。在安防領域,即使一些應用的準確率並沒有達到 80%、90% 的水平,也已經可以使用了。但是在一些場景中,用戶的需求要求非常高,準確率達到 99% 才能夠使用。即使技術性能達到 95% 也是不可以使用的。所以我們要結合技術大概能達到的上界是多少,用戶使用的性能要求的下界是多少。只有技術上界達到了用戶需要的下界才能使用。
案例
未來對話技術可以應用在很多場景中。首先是由任務驅動的對話機器人。這種應用現在非常普遍,比如各種各樣的語音助手。
還有其他幾類機器人,如信息類的機器人、情感類的機器人、遊戲類的機器人。我覺得這些未來都有發展的空間。可以看一些例子:
信息類機器人
在信息類機器人方面,已經有一些公司在開發這樣的產品。比如,亞馬遜的 Alexa 智能音箱。亞馬遜近幾年還舉辦了一個 Alexa Price 比賽,邀請大學的老師和同學參加。在任務上,這個音箱機器人不是傳統意義上的明顯需要完成任務的機器人,而是進行信息交互,讓音箱機器人可以在互聯網、社交媒體找到各種有趣的信息,和用戶進行對話。雖然有時候對話的完成情況並不理想,但是很有意思,能夠幫助用戶更好的獲得信息。
當用戶和 Alexa 系統進行互動的時候,用戶可以說是和系統的一個技能進行互動。比如用戶說「我們談談體育吧(Let』s talk about sports)」,當用戶提到這句話的時候,技能就會啟動,並調動體育方面的技能。系統可以和用戶一起談論體育方面的內容,比如相關的新聞、社交媒體上的評論等。
在評價對話系統的好壞的時候,評價的指標也是多維度的,比如用戶的滿意度、聊天長度、討論內容的豐富度等。
這種對話方式是一種新的幫助人們獲取信息的方式。我們知道,人們獲取信息的方式,主要有兩種:搜索和推薦。大家每天獲得信息基本靠這樣兩種方式。但是這種 social bot 的方式,又提供了另外一種可能的信息收集的方式——不是嚴肅的去搜索出一個結果,也不是給用戶精準推薦一個東西,而是以聊天的形式幫助用戶獲得信息。
情感類機器人
還有一個例子我覺得挺有意思,這個不是對話機器人,但是是一個機器人,是日本去年發布的,叫「Lovot」。(見視頻介紹)這個機器人很有意思,我和他們公司的 CEO 交流過,談到了 Lovot 產品沒有正式發布時他們的一些想法。他認為 Lovot 不能被設計成智能化的產品。他們需要告訴用戶,Lovot 沒有生命,自身也不是很智能,但是它能幫助用戶發現自己。用戶通過和 lovot 的互動,和它有情感上的交互。用戶其實能夠在交互中發現自己,這就是 Lovot 的定位。比如說 Lovot 有一個攝像頭,看到人以後,它就會把雙臂張起來,希望用戶能抱一抱。用戶還可以給它換衣服,跟它進行情感上的交流。機器人本身不是很智能,但是能夠真正在情感上幫助用戶。
為什麼要設計這種產品呢?Lovot CEO 認為,人都是很怕孤獨的。而 Lovot 這樣的機器人就能夠幫助我們去避免孤獨,發現自己,像是一種智能寵物。我們在養寵物的時候,不會認為寵物是人,也不會認為它們那麼的智能,但是我們養寵物的時候非常開心,非常願意跟寵物進行各種交互。這種機器人未來應該也能夠擁有這樣的能力。
遊戲類應用
對話系統還有一種機會就是在遊戲裡面。比如說,這個是比較古老的遊戲,叫做 facade。有一對夫婦住在一個公寓裡面,玩家可以進入這個公寓,兩個夫婦正在吵架,玩家需要敲鍵盤,用英語跟他們對話。聊天對話的結果有兩種,一種是幫助這兩個人和好,一種是幫助這兩個人分手,還有一種是用戶說話的時候得罪了這兩個人,最後被趕出房間。大家都說這個遊戲設計得很有意思,得了很多獎。
這個例子可以說明,遊戲也是對話技術一個能夠發揮的地方。我們有這麼多的對話技術,在遊戲中設計好,就可以使得玩家覺得非常有意思。因為在遊戲裡面,語言理解的錯誤是可以被用戶容忍的,但是用戶會覺得很有意思。比如用戶自己敲了一句話,系統沒有理解,但是用戶反而覺得非常有意思,有趣味性,這是我們可以考慮的。
所以綜合起來我們看到,未來對話機器人,都有很多可以發揮的場景,包括信息類、情感類、遊戲類,再加上完成任務的機器人,我們真的可以讓對話技術在不同的領域裡面開花結果。
設計對話系統的原則
現在我分享個人總結的在位元組跳動和以前華為工作的一些經驗,設計對話系統中應該遵循的原理或者規則。大概有四條。
第一條,產品能夠實現在一個場景里的自封閉。我做自然語言處理,以及以前做自然語言介面,需要把自然語言轉化成資料庫的語句。當時大家有非常清晰的共識——用戶跟系統對話的時候不喜歡限定什麼能說,什麼不能說。用戶不想去記憶可以表達和不能表達的語句。自然語言是用戶可以自由表達,而系統能直接理解的東西。限制的結果是,用戶不想使用這個產品了。所以說,在一個場景裡面,一定要讓用戶能夠完成一個事情,完成一個功能,用戶不管怎麼表達,系統都能夠理解,這是比較重要的。
我們永遠都有一個 80%、20% 的規律。我們不可能讓系統在開發的時候,在某個場景中,把所有可能的說法都覆蓋,這是不可能的。能夠覆蓋百分之八九十已經不錯了,這百分之八九十的內容,需要系統理解得非常準確。特別是標準的說法,一定要理解得非常準確。
另外一個重要的原則是,系統不可能百分之百理解用戶在這個場景里提到所有東西,比如語音識別有噪音,在家庭場景中,旁人說了一句話,卻被這個系統識別出來,導致系統誤反應。總之會出現一些這樣的問題,我們人可以很好的應對,但是現在的技術不一定可以。
所以第二個原則是,在系統失敗的時候一定要非常優雅。在系統處理不好的時候,能夠給用戶提示,表示系統現在聽不懂,而且表達得相對比較自然。這個我們剛才講到,設計非常重要。不同時候的系統失敗要很好的處理,讓用戶感到舒適。系統失敗的時候不能立刻結束,而影響用戶體驗。
比如說,我們現在的 iPhone,或者其他的安卓手機的系統都有一個「home」功能。當用戶操作某一個應用的時候,有時候程序會卡死,按一下「home」就可以回到主界面。其實對話系統也是這樣的,一旦發現和用戶對話失敗的時候,要能夠很好的降落到「home」界面,使得用戶知道可以重新開始對話,這是一個重要的原則。
第三個原則是,要在對話中融入情感和文化。我們之前已經提到,對話技術不僅是語言本身的問題,也包括了情感和文化的因素。怎麼樣能使得對話更加富有情感,包含文化方面的因素,這也是非常重要的問題。
最後一個原則是,不要讓系統裝得非常智能。我個人最不喜歡這樣的系統設計。比如說某個系統宣稱自己什麼都能理解,看上去非常智能。但是用戶稍微換一個說法,或者出一個類似的問題時,系統卻不能很好的響應。這會讓用戶覺得這個系統根本不智能,反而露餡了。
所以,儘管我們希望系統越來越智能,大家用起來越來越方便,最終真的覺得這個對話系統就像真人一樣。但是這要一步步來,如果沒有達到這個水平,硬是偽裝得很智能化,這不是很好的做法。
總結
最後做一個總結:
今天我們主要談到了自然語言對話的現狀。我跟大家分享了一下對未來發展的一些想法。
現在,一些技術已經比較成熟,能夠實用,但是之後更大的突破,需要更長時間的努力,還有很多非常有挑戰的問題需要解決。但是我們當前既不需要非常悲觀,也不要特別樂觀。我們雖然解決了一部分的問題,但是大部分問題,特別是代表用戶真正痛點的問題還沒有被真正解決,現在的系統只是一個智能助手。用戶的任何表達都能理解的系統,短時間還是無法開發出來。
但是我們有希望,而且還有很多的商業機會,重點是一定要考慮到怎麼樣給用戶帶來真正的價值,這是發明創造的核心。我們看到業界已經有這樣趨勢,不僅僅是傳統的完成任務方面的對話系統,在信息分享、情感、遊戲等領域中,對話系統都有很大的發展前景。當然,我們在設計這樣的系統時,應該遵循幾個原則。系統在一個場景里應該盡量自封閉、能夠優雅的失敗、能夠加入情感社交的因素、盡量不要假裝智能。謝謝大家!
※數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元
※不學C++也能玩轉超算編程,斯坦福大學推出超算編程語言Regent
TAG:機器之心 |