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

2019-09-26 15:52

? 人氣

寫作時為了避免某些詞重複出現,會使用別的指代詞,像是「他」、「某某職稱」等等。用句子舉例,「張三打李四,他很痛」,覺得痛的人究竟是誰?除了考量語句結構,也需基於常識和上下文來理解。

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

若要教電腦理解指代詞、處理「指代消解」(Coreference Resolution) 的問題,有兩種方式。一種較傳統,用程式語言寫好所有判定的人工規則,好處是較精準,壞處是有其侷限,因為列舉的規則不可能對應至世間所有指代情形。另一種是機器學習的方式,當電腦分析所有訓練文章的上下文發現:幾乎都是被打的李四感到痛,「他 = 李四」這個相關性的機率即為最高,進而做為電腦日後判斷的準則。

Q:自然語言處理的方法,有因「深度學習」而改變嗎?

馬:近年來蓬勃發展的深度學習 (Deep Learning),提出了另一種方法來教電腦表達詞彙。這種方法是將詞彙轉換為「詞向量」,也就是 Word Vector 或稱 Word Embedding,作法是讓電腦閱讀大量文章,利用前後文的統計特性,慢慢學習出每一個詞彙的詞向量,不必利用任何語言學知識。

詞向量的概念。(其中的向量數字為舉例)(資料來源/馬偉雲。圖說重製/林婷嫻、張語辰)
詞向量的概念。(其中的向量數字為舉例)(資料來源/馬偉雲。圖說重製/林婷嫻、張語辰)

舉例來說,傳統的符號學中,「蝴蝶」、「瓢蟲」、「爬」是不同的三個詞彙。但改成用向量思考,「蝴蝶」和「瓢蟲」的向量距離就會比較近,「蝴蝶」和「爬」的向量距離就會比較遠,隨著訓練的文本越來越多,電腦可以自動調整各個詞彙的向量,解決訓練資料不足的問題,並提升電腦的抽象化思考。

運用「詞向量」的好處是,很多時候針對特定的自然語言處理任務,訓練資料是不足的。因為許多字詞的語義,在人類語感上明明意思很接近、可以相通,但對機器來說,詞彙符號(也就是字元)不同,就是截然不同的詞彙,造成各個詞彙在訓練資料的統計佔比相當低,無法得到足夠信心水準的分析結果。

然而,訓練過程中,若我們以「詞彙向量」作統計,在向量空間上,有些字詞間的向量很靠近,團結力量大,就會發現相近的詞彙向量在訓練資料的統計佔比大幅提升,解決了訓練資料不足的困境。同時,詞彙向量在深度學習的模型之中,被視為可修改的參數,所以也具備了語義(詞彙向量)自動調整的能力。

You shall know a word by the company it keeps.

John Rupert Firth 這句古老的語言學名言,恰巧能說明「詞向量」的思維。其實每個詞就像一個人,若想了解這個人,可以觀察他身旁的人是什麼模樣,也就是物以類聚的概念。

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

本週最多人贊助文章