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

2019-09-26 15:52

? 人氣

目前斷詞系統中的複合詞主要是針對「名詞複合詞」,但其實我們也在「動詞複合詞」上也累積了不少研究。舉一個實例來說明,例如「開聊」和「聊開」:

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

從語言學的角度,動詞是句子的核心,也是最重要的中心語。「開」這個字有著動詞中心語的起始功能 (inchoative),然而放在詞首、詞尾不同位置會產生些微差異。

除了人名、複合詞,新聞或網路文章還會看到許多新創的專有詞,例如:非典( SARS 重症非典型肺炎的簡稱)、河蟹(意指封鎖、掩蓋負面消息)。這類專有詞可以透過 bottom-up merging algorithm (合併字詞演算法)處理。

以「河蟹」為例,透過合併字詞演算法分析新聞、網路文章等資料,電腦會發現:通常「河」後面就是「蟹」,「蟹」前面就是「河」,「河蟹」兩個字一起出現的統計機率蠻高的,而且整組詞意無法單用「河」或「蟹」的各別字意取代。因此,電腦就會判斷「河蟹」最可能是個專有詞、並做出斷詞。

此外,就算是字典當中已經有的詞彙,有時候仍然會有不同斷詞的情況,我們必須根據上下文決定哪一種斷法才是正確的。例如:「努力才能成功」的「才能」應該切分為兩個詞彙:「才」和「能」,語義接近英文的 “to make";而「他的領導才能很突出」的「才能」是一個詞彙,不可切分,在此表達英文的 “ability" 的意思。

語言學家會把這樣子的斷詞標注清楚,供電腦進行機器學習。經過不同語句的大量標注,電腦最後會自己學會利用「才能」的上下文做判斷。(資料來源/馬偉雲說明)
語言學家會把這樣子的斷詞標注清楚,供電腦進行機器學習。經過不同語句的大量標注,電腦最後會自己學會利用「才能」的上下文做判斷。(資料來源/馬偉雲說明)

Q:電腦理解「詞」了,那「句子」呢?

馬:學會斷詞、並理解個別的詞義之後,下一步我們就要使電腦學會理解整個句子的意思。例如「張三打李四」和「李四被張三打」,兩個句子雖然句型不同,但是語義卻是一樣。

我們怎麼表達句子的語義呢?答案是透過「結構樹」。

「張三打李四」和「李四被張三打」,兩個句子的結構樹。(資料來源/馬偉雲說明)
「張三打李四」和「李四被張三打」,兩個句子的結構樹。(資料來源/馬偉雲說明)

我們將每個詞彙集結成片語,再把每個片語標記上它所扮演的語義角色 (semantic role)。「張三」在兩個結構樹中都是「打」的發動者 (agent) 的角色,而「李四」都是「打」的對象 (goal) 的角色。如此一來,透過包含語義角色的結構樹,我們可以得知這兩個句子擁有相同的語義。

先透過人工訂好結構樹的表達,下一步就是要利用機器學習,使電腦能夠自動針對每一句產生出正確的結構樹。歷年來,中文詞知識庫小組從中央研究院漢語平衡語料庫抽取句子,經由電腦初步剖析成結構樹,再加以人工修正檢驗,共整理了六萬多個中文句結構樹圖,標注了各個中文句的語法以及語義角色,這些就形成機器學習的訓練材料,使得電腦剖析結構樹的工作越做越好。

自然語言處理的進展到了這裡,斷詞有解,句子結構及語義有解,但還有另一個難題──曖昧不清的指代詞

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

本週最多人贊助文章