- 深度學習進階:自然語言處理
- (日)齋藤康毅
- 1807字
- 2021-02-07 09:25:58
2.2 同義詞詞典
要表示單詞含義,首先可以考慮通過人工方式來定義單詞含義。一種方法是像《新華字典》那樣,一個詞一個詞地說明單詞含義。比如,當你用字典查“汽車”這個單詞時,就會看到“裝有車輪并依靠它們前行的交通工具或運輸工具……”這樣的說明。通過像這樣定義單詞,計算機或許也能夠理解單詞含義。
回顧自然語言處理的歷史,人們已經嘗試過很多次類似這樣的人工定義單詞含義的活動。但是,目前被廣泛使用的并不是《新華字典》那樣的常規詞典,而是一種被稱為同義詞詞典(thesaurus)的詞典。在同義詞詞典中,具有相同含義的單詞(同義詞)或含義類似的單詞(近義詞)被歸類到同一個組中。比如,使用同義詞詞典,我們可以知道car的同義詞有automobile、motorcar等(圖2-1)。

圖2-1 同義詞的例子:car、auto和automobile等都是表示“汽車”的同義詞
另外,在自然語言處理中用到的同義詞詞典有時會定義單詞之間的粒度更細的關系,比如“上位-下位”關系、“整體-部分”關系。舉個例子,如圖2-2所示,我們利用圖結構定義了各個單詞之間的關系。

圖2-2 根據各單詞的含義,基于上位-下位關系形成的圖(參考文獻[14])
在圖2-2中,單詞motor vehicle(機動車)是單詞car的上位概念。car的下位概念有SUV、compact和hatch-back等更加具體的車種。
像這樣,通過對所有單詞創建近義詞集合,并用圖表示各個單詞的關系,可以定義單詞之間的聯系。利用這個“單詞網絡”,可以教會計算機單詞之間的相關性。也就是說,我們可以將單詞含義(間接地)教給計算機,然后利用這一知識,就能讓計算機做一些對我們有用的事情。
如何使用同義詞詞典根據自然語言處理的具體應用的不同而不同。比如,在信息檢索場景中,如果事先知道automobile和car是近義詞,就可以將automobile的檢索結果添加到car的檢索結果中。
2.2.1 WordNet
在自然語言處理領域,最著名的同義詞詞典是WordNet[17]。WordNet是普林斯頓大學于1985年開始開發的同義詞詞典,迄今已用于許多研究,并活躍于各種自然語言處理應用中。
使用WordNet,可以獲得單詞的近義詞,或者利用單詞網絡。使用單詞網絡,可以計算單詞之間的相似度。這里,我們不對WordNet進行詳細說明,對WordNet的Python實現感興趣的讀者,可以參考附錄B。在附錄B中,我們會安裝WordNet(準確地說,是安裝NLTK模塊),并進行一些簡單的實驗。
在附錄B中,我們將實際使用WordNet來計算單詞之間的相似度。具體來說,就是基于一個人工定義的單詞網絡,來計算單詞之間的相似度。如果能(在一定程度上正確)計算單詞之間的相似度,那么我們就踏出了理解單詞含義的第一步。
2.2.2 同義詞詞典的問題
WordNet等同義詞詞典中對大量單詞定義了同義詞和層級結構關系等。利用這些知識,可以(間接地)讓計算機理解單詞含義。不過,人工標記也存在一些較大的缺陷。下面,我們就來看一下同義詞詞典的主要問題,并分別對其進行簡要說明。
難以順應時代變化
我們使用的語言是活的。隨著時間的推移,新詞不斷出現,而那些落滿塵埃的舊詞不知哪天就會被遺忘。比如,“眾籌”(crowdfunding)就是一個最近才開始使用的新詞。
另外,語言的含義也會隨著時間的推移而變化。比如,英語中的heavy一詞,現在有“事態嚴重”的含義(主要用作俚語),但以前是沒有這種用法的。在電影《回到未來》中,有這樣一個場景:從1985年穿越回來的馬蒂和生活在1955年的博士的對話中,對heavy的含義有不同的理解。如果要處理這樣的單詞變化,就需要人工不停地更新同義詞詞典。
人力成本高
制作詞典需要巨大的人力成本。以英文為例,據說現有的英文單詞總數超過1000萬個。在極端情況下,還需要對如此大規模的單詞進行單詞之間的關聯。順便提一下,WordNet中收錄了超過20萬個的單詞。
無法表示單詞的微妙差異
同義詞詞典中將含義相近的單詞作為近義詞分到一組。但實際上,即使是含義相近的單詞,也有細微的差別。比如,vintage和retro雖然表示相同的含義,但是用法不同,而這種細微的差別在同義詞詞典中是無法表示出來的(讓人來解釋是相當困難的)。
因此,使用同義詞詞典,即人工定義單詞含義的方法存在很多問題。為了避免這些問題,接下來我們將介紹基于計數的方法和利用神經網絡的基于推理的方法。這兩種方法可以從海量的文本數據中自動提取單詞含義,將我們從人工關聯單詞的辛苦勞動中解放出來。
不僅限于自然語言處理,在圖像識別領域,多年來也一直是人工設計特征量。但是,隨著深度學習的出現,現在從原始圖像直接獲得最終結果已成為可能,人為介入的必要性大幅降低。在自然語言處理領域也有類似現象。也就是說,我們正在從人工制作詞典或設計特征量的舊范式,向盡量減少人為干預的、僅從文本數據中獲取最終結果的新范式轉移。