Google 讓機器更懂語言的博大精深,釋出最大消除歧義資料庫

作者 | 發布日期 2017 年 01 月 20 日 8:00 | 分類 AI 人工智慧 , Google , 開放資料 follow us in feedly

理解語言的核心自然是了解詞語在文本中的不同含義。先來說個中文笑話:



上司:「你這是什麼意思?」

下屬:「沒什麼意思,意思意思。」

上司:「你這就不夠意思了。」

下屬:「小意思,小意思。」

上司:「你這人真有意思。」

下屬:「其實也沒有別的意思。」

上司:「那我就不好意思了。」

下屬:「是我不好意思。」

如果讓機器來理解這到底是什麼意思,想必它會很頭痛的吧。

那麼用相對簡單的英文?也沒有那麼簡單。畢竟一個單詞可能包括數十個意思。

舉個例子:「He will receive stock in the reorganized company.」這個句子中,我們結合上下詞就能知道,「stock」是股票的意思,我們可以從牛津字典中找到更專業的解釋。

但同樣在牛津字典中,stock 這個詞還有超過 10 個不同的含義,比如「(商店裡的)庫存」或是「(鞭子、釣竿等的)柄」。對於電腦演算法而言,如何從博大精深的含義中找尋某個句子中對應的詞義?這的確是一個詞義消歧難題,也就是 AI-Complete 問題。

19 日 Google 研究院又發出了重量級新聞,他們釋出了利用 MASC&SemCor 資料集的大規模有監督詞義消歧語詞。這些語詞會與牛津字典上的例句互相映照,廣泛適用於各個社群。與此同時,本次釋出也是最大的全句釋義語詞程式庫之一。

有監督詞義消歧

人們透過對句子中詞語的內容進行理解,因為我們能透過常識判斷內文的含義。比如同一個例子,「『stock』 in a business.」代表的自然是股票的意思,而「『stock』 in a bodega.」更有可能是庫存的意思,即使這裡的 bodega 也可能指酒窖生意。我們希望為機器提供足夠的背景資訊,並應用於理解字句中詞語的含義。

有監督詞義消歧(WSD)嘗試解決這一問題,也就是讓機器學習使用人工記號的資料,並與字典中的詞語所代表的典型含義符合。我們希望構建這樣的監督模型,能夠不考慮複雜語境,並符合句中單詞在詞典中最可能表達的含義。雖然這一點富有挑戰性,但監督模型在大量訓練資料支援下表現良好。

透過釋出資料集,我們希望社群能夠提出更好的算法,讓機器對自然語言產生更深刻的理解,支援以下的應用:

  • 從文本中自動搭建資料庫存,這樣一來,機器可以回答問題,並將檔案中的知識串聯起來。舉個例子,機器在經過學習後,明白「hemi engine」指的是一種自動化機械,而「locomotive engine」則與火車有關;也能理解「Kanye West is a star」指的是名人的意思,而「Sirius is a star」則是天文學概念。
  • 消除歧義。我們希望讓文本在查詢中能夠呈現不同的含義,避免張冠李戴,與此同時還能返回有相關語義的檔案。

人工註釋

在人工記號的資料集中,每一個詞義註釋都由 5 個評估者進行審核。為了確保品質,這些評估者會進行訓練(gold annotation),即讓語言學家對一些研究樣本進行標記。以下是我們的標記頁面。58805a4bddf68

在頁面左邊呈現的是 general 的常用詞義及例句,在右側的文本中,general 一詞會標亮顯示。除了符合詞義,評估者還能對詞語進行判斷,可以指出包括「拼字錯誤」、「上述情況都不符合」、「不確定」等 3 種情況。此外,評估者可以對一些含有隱喻的詞語進行記號並評論。

這些人工的詞義標注採用 Krippendorff’s alpha(α >= 0.67 則具有一定可信度,α >= 0.80 則表示具有很高的可信度)進行判斷,結果顯示得分為 0.869。這是一個非常不錯的成績了。588059bc9abf6

Wordnet Mappings

與此同時,Google 也釋出了兩個從牛津詞典到 Wordnet 的對映。小的資料集中含有 2,200 個單詞,而大的資料集則是演算法構建的。這兩個對映內容能更將 Wordnet 的內容應用於牛津詞典的語料庫中,也能在使用過程中實行系統的構建。

研究成果已經收錄在「Semi-supervised Word Sense Disambiguation with Neural Models」中,主要採用的是 LSTM 語言處理模型及半監督學習演算法。

(本文由 雷鋒網 授權轉載,首圖來源:Flickr/Valery Kenski CC BY 2.0)

延伸閱讀:

發表迴響