與AI對話──漫談聊天機器人

與AI對話──漫談聊天機器人

講者/蔡宗翰教授(國立中央大學資訊工程學系教授)|彙整/葉珊瑀
整理自2019.06.21「AI報你知」校園講座.同名

口語對話系統

學術上將聊天機器人稱為「口語對話系統」,相較於「一般介面設計」,需要騰出手來操作,這在開車等情境下,或對於3C操作不熟悉的年長者而言,非常不方便。若可私訊官方粉絲頁,訂購指定商品,或喊聲「加好友」就可將友人拉進LINE群組,對使用者而言會方便許多。

自然語言理解

如今的機器能夠做到這一步,歸功於機器已經能夠透過深度學習,將每個詞置放於語意空間中。在語意空間中距離相近的詞代表他們的意義也是相近的。例如:

和「好棒」相近的詞彙有:超讚、真不錯、真好、好有趣、好感動
和「好棒棒」相近的詞彙有:不就好棒棒、啊不就好棒、好清高、好高尚

兩個詞之間,雖然只差了一個字,意義卻大不相同,機器已經依此抓到中間些微的差異。

聊天機器人依目的,又可分為任務導向機器人與閒聊機器人兩大類。前者,例如個人助理,能幫你完成生活中可以快速解決的瑣事;後者則是與使用者不著邊際地聊天、對話,聊越久越好,以滿足用戶的心理需求。

語言理解→對話管理→生成回應

任務型機器人有三個模組:機器會先透過語音辨識,將語音轉換成文字,辨識這句話屬於什麼主題(例如電影),接著識別意圖(查電影場次),產生結構化資訊,接著經過「對話管理模組」,生成人類聽得懂的句子給出回應。其中「辨識主題、意圖」,可以透過文本分類訓練。

在對話管理模組中有三要素:觀察,聽見用戶發出指令;狀態,用來記錄用戶的需求;動作,是系統回給用戶的話。以訂電影票為例,必須透過狀態追蹤,確認時間、片名、地點等必要資訊是否取得,才可到後端資料庫中查詢符合條件的電影。基於已取得用戶端資訊的程度,系統會透過「對話策略模組」決定該採取的動作。例如:

通知地點為Taipei 101:inform(location=Taipei 101)
要求地點資訊:request(location)
確認類型為台灣:confirm(type=Taiwanese)

決定對話動作後,系統會透過「回應生成模組」,將上面硬邦邦的結構化資訊轉化成人類可以聽懂的語言,傳達給用戶。常採用模板式生成法,透過設定好的模板,將空缺的關鍵字填入。例如:

inform(location=Taipei 101) → 最近的地點在Taipei 101。
request(location) → 請問你家在哪裡?
confirm(type=Taiwanese) → 你想要的是臺灣食物嗎?

然而隨著模板增加,彼此間可能相抵觸。另外,不同情境的模板可能無法混用,例如推薦餐廳的模板沒辦法直接套用於推薦電影的情境。

閒聊機器人

蔡教授在2015年底美國總統大選時,因應時事,製作可以模仿川普、希拉蕊語氣的聊天機器人。首先,先選出40,000句美國政治影集中的對話作為訓練資料,接著是兩位總統候選人的電視辯論片段,最後是個900句兩位候選人曾說過的話。以下是川普機器人的測試對話:

Q: What do you think of the great wall?
A: A nation without borders is not a nation at all.

Q: What’s your view of the great wall?
A: We must have a wall.

以往的機器人面對類似問句時,常常給出一樣的回應。由上面系統真實的對話可看出,這個機器人能擺脫這個限制,改變回應的說話風格,因此聽起來就像是川氏風格。

動手做聊天機器人

製作聊天機器人的第一步,是文句分析。分析文句的方法有兩種:「關鍵字分析」與「語意理解」。前者透過拆解句子找到關鍵字;後者則是從句子推測用戶的意圖、相關實體(entity)。以「我要一杯咖啡」為例,關鍵字分析可以抓出其中的關鍵字是「咖啡」,語意理解則可以分析出用戶的意圖是要(機器人幫忙)點咖啡。

同一件事物可能有不同的稱謂,此時可以建立同義字(synonym),將「New Taiwan Dollar」與「NTD」都定義為與「新台幣」相同的字詞。在系統測試階段,可能會遇到系統難以回答的問題,這些記錄都可以留下做為日後改進的依據。

(本文為教育部「人工智慧技術及應用人才培育計畫」成果內容)

(Visited 1 times, 1 visits today)
views