AI 斷詞大解密 – 聊天機器人如何知道我們在說什麼?

Photo by Glen Carrie on Unsplash

現在隨處可見的聊天機器人(chatbot)是如何理解人類的語言呢?想必這是一個大家都有的疑問吧!

我們先回想一下在之前的文章中,像圖書管理員一樣,把堆疊成山的書分類成小說、散文或是詩集;或是英國文學、日本文學、本土文學⋯⋯。

但是,把一整本書的內容丟給電腦,電腦很難去理解這是一本什麼類型的書;將一大串話丟給電腦也是。電腦沒有辦法像人類一樣厲害,可以馬上理解書的內容。這時候,我們需要像教小朋友一樣,先從簡單的字詞開始教起。因此,就需要經過一個重要的步驟——「斷詞」。

什麼是斷詞?

在認識斷詞之前,我們可以先想一下,一篇文章是由好幾個段落組成,一個段落又可以分成一句一句話,每一句話可以再分類成最小的字詞。正確地將最小且有意義的字詞辨識出來,就必須透過「斷詞」。

一篇文章的構成

把字詞拆分開來讓電腦去理解,電腦才有辦法進行更高層次的分析。因此,斷詞的正確性也是自然語言處理的關鍵。

舉個例子,「努力才能成功」,正確的斷詞為「努力/才/能/成功」,這個結果輸入電腦之後,電腦便會利用它學習過的經驗再去判斷其他句子。例如,「他的領導才能很傑出」,電腦可能因為過去的經驗,把它切分成「他/的/領導/才/能/很/傑出」,但實際上正確的斷詞應為「他/的/領導/才能/很/傑出」。

斷詞示意圖

解決沒斷好的詞

而現在大部分的斷詞系統是如何解決這樣的問題呢?有幾種常見的方法:

  • 正向最大匹配法:我們會有一個字典,從字典中收錄的字一一比對最長詞在字典中的匹配結果,就可以判斷出「他|的|領導|才能|很|傑出」。
  • 逆向最大匹配法:一樣利用字典,而這次我們倒過來,從後向前跟字典收錄的字做比對,一一比對最長詞的匹配結果,就可以斷出「傑出|很|才能|領導|的|他」,因此就知道「他|的|領導|才能|很|傑出」是對的斷詞結果。
  • 正向最大匹配法結合逆向最大匹配法:兩相比對,取得最符合的斷詞。
正向最大匹配法與逆向最大匹配法

不過上述的方法有個缺點,就是如果該詞沒有被收錄到字典中,就無法做匹配,那麼出來的結果就有可能是錯誤的。因此,現在大部分比較好的斷詞系統都是使用全切分方法,切分出與詞庫匹配的所有可能,再運用統計模型計算出最好的切分結果。

了解電腦是怎麼處理人類語言之後,我們接下來會更進一步介紹在聊天的過程中,電腦是如何利用斷詞後的詞彙,來預測出正確的回覆。

參考資料

中文斷詞:斷句不要悲劇 / Head first Chinese text segmentation

你也可以在這兒找到Justka的文章喔!

相關文章
Photo by The Verge on Pinterest

AI 是位天才音樂家 — 你聽過 AI 所創作的音樂嗎?

傳言在今年初,蘋果公司收購了一家名為 AI Music 的新創公司,這家公司就如同它的名字,是利用人工智慧技術自動生成出音樂。這家公司的 AI 技術甚至可以根據使用者的心跳,創造出適合的音樂。

艾斯AI研究室
艾斯AI研究室
以白話文來解釋人工智慧為一生志業
回到頂端

訂閱JustKa

獲得我們的即時公告與最新資訊