Siri、Alexa說話越來越像真人的秘密:自然語言處理的終極目標──讓AI能像人類一樣讀懂文章

2019-09-26 15:52

? 人氣

輿情分析、聊天機器人等應用需要先讓電腦理解人類所使用的語言,掌握其中的句法結構、分析字裡行間的情緒,才能統計輿情、或讓機器人做出適當的聊天回應。(圖/unsplash)

輿情分析、聊天機器人等應用需要先讓電腦理解人類所使用的語言,掌握其中的句法結構、分析字裡行間的情緒,才能統計輿情、或讓機器人做出適當的聊天回應。(圖/unsplash)

「自然語言處理」是什麼

讓電腦擁有理解人類語言的能力,就是自然語言處理 (Natural Language Processing,縮寫 NLP)。然而,人和人之間就會誤會彼此的語言了,電腦要如何理解語義?中研院資訊科學研究所的馬偉雲助研究員說明:以中文來說,最基本的,要先教電腦學會「斷詞」和「理解詞的意思」。

如何理解一種語言?

小時候學習中文,會背誦課文詞彙的注釋,在作業簿練習這個詞的寫法。到了國中時期學英文,面對像天書般的英文文章,會把不懂的單字圈起來,拿出字典查這個字的意思。為什麼這樣做?

[啟動LINE推播] 每日重大新聞通知

因為,詞彙是語言的最小單位。

然而,中文有一個特殊現象,就是「詞」和「詞」之間沒有邊界,整句串起來像條鎖鏈,不像英文有空格將每個字斷開。所以,若要理解一篇中文文章,必須先學會斷詞,而要學會斷詞,必須先知道這是一個詞、以及這個詞的意思。否則可能會產生這種令人「難過」的情況:

那麼,問題來了,如果聰明的人類都會誤解複雜的語言,那麼只懂 011000110 的電腦有可能學會斷詞、甚至理解同一個詞在不同上下文的意思嗎?其實,這就是自然語言處理 (Natural Language Processing) 的研究目標。本文專訪中研院中文詞知識庫小組計畫主持人馬偉雲,聊聊自然語言處理究竟是什麼。

馬偉雲,是一名對於「讓機器擁有理解語言的能力」深感著迷的計算機科學家。(圖/張語辰攝)
馬偉雲,是一名對於「讓機器擁有理解語言的能力」深感著迷的計算機科學家。(圖/張語辰攝)

Q:「自然語言」有多自然?

馬:我們先來了解「自然語言」的定義,與「程式語言」有什麼差別。

程式語言 vs. 自然語言(圖說設計/林婷嫻、張語辰)
程式語言 vs. 自然語言(圖說設計/林婷嫻、張語辰)

簡要來說,程式語言是人類為了與計算機溝通,而設計的人工語言;而自然語言的自然,是相對於「人工」語言的「自然」,換句話說,自然語言是人們溝通時自然地發展出來的語言。「自然語言處理」的目標,就在於讓電腦理解、或是運用人類語言。

Q:如何教電腦學會一種語言?

馬:若要讓電腦理解人類的語言,以中文來說,分成兩步驟:

第一步是斷詞、理解詞;第二步則是分析句子,包含語法及語義的自動解析。

自然語言處理透過這兩個步驟,將複雜的語言轉化為電腦容易處理、計算的形式。早期是人工訂定規則,現在則是讓機器自己學習。

早期的方式是基於一套詞彙資料庫,用程式語言寫好人工訂定的規則,讓電腦依指令做出反應。但這種人工方式不可能包含所有語言的歧異性,例如,當同樣的詞在不同上下文產生不同意思,就會和原本的人工規則相互牴觸。

1980 年代末期,自然語言處理引進機器學習 (Machine Learning) 的演算法,不再用程式語言命令電腦所有規則,而是建立演算法模型,讓電腦學會從訓練的資料中,尋找資料所含的特定模式和趨勢。我們實驗室——中研院的「中文詞知識庫小組」團隊——就是利用機器學習的演算法,讓電腦學會從訓練的資料中,自動歸納出語言的特性。

關鍵字:
風傳媒歡迎各界分享發聲,來稿請寄至 opinion@storm.mg

本週最多人贊助文章