孫佳偉 李正華 陳文亮 張民
蘇州大學計算機科學與技術(shù)學院, 蘇州 215006; ? 通信作者, E-mail: zhli13@suda.edu.cn
語料庫是自然語言處理任務(wù)的重要數(shù)據(jù)資源之一。上下位關(guān)系是部分語料庫的基本框架, 如WordNet 和 HowNet。這些由人工構(gòu)造的語料資源準確、清晰, 是進行文本、語言研究的主要數(shù)據(jù)來源。然而, 大型的語料庫資源具有明顯的缺點: 1)維護和更新需要耗費大量的人力資源; 2)語料庫的范圍和領(lǐng)域都非常狹小和固定[1]。因此, 迫切需要研究能夠自動獲取上下位關(guān)系的方法。
上下位關(guān)系分類(hypernym relation classification)是對給定的名詞詞語對<x,y>進行自動分類的自然語言處理技術(shù)。比如, 將詞語對<狗, 動物>判斷為具有上下位關(guān)系的詞對, 判斷<花朵, 蜜蜂>不具有上下位關(guān)系。上下位關(guān)系分類不僅能夠支持更高層次的自然語言處理任務(wù), 如句法分析以及抽象語義表示, 而且在信息處理領(lǐng)域也有廣泛的應(yīng)用價值, 如在語料的屬性詞層次構(gòu)建中, 可用于判斷層次關(guān)系。
本文研究基于漢語的上下位關(guān)系分類方法, 并提出一種新的詞模式, 構(gòu)建融合詞模型。研究目標在于提高基于模式方法的召回率, 降低模式匹配的難度。在融合詞模型中, 詞模式更容易匹配, 能夠在短語模式基礎(chǔ)上大幅度地提高基于模式方法的召回率, 從而提高關(guān)系分類的 F1 值。在詞模式保留上下文信息的基礎(chǔ)上, 本文還結(jié)合詞嵌入的語義信息, 構(gòu)建詞模式嵌入模型。目前, 尚沒有公開的、大型的中文上下位數(shù)據(jù)庫。本文提出上下位關(guān)系數(shù)據(jù)構(gòu)建方法, 數(shù)據(jù)構(gòu)建主要根據(jù)同義詞詞林與NLPCC-2017 測評數(shù)據(jù), 添加部分人工構(gòu)建工作。本文構(gòu)建了 12000 個詞語對的漢語上下位數(shù)據(jù)庫。
在英語數(shù)據(jù)中, WordNet 是目前最重要、涉及范圍最廣、最常用的自然語言系統(tǒng)數(shù)據(jù)集, 該數(shù)據(jù)集分為名詞、副詞、形容詞和動詞 4 組不同且互不干擾的詞語網(wǎng)絡(luò)。其中, 名詞網(wǎng)絡(luò)主要通過上下位關(guān)系連接。WordNet 提供接口軟件, 方便查詢及應(yīng)用。除英文外, WordNet 還有其他語言部分(如EuroNet), 但數(shù)據(jù)規(guī)模遠小于英語的規(guī)模, 不足以進行研究。在荷蘭語中, Sang 等[2]使用 EuroNet 的數(shù)據(jù),但是由于數(shù)據(jù)規(guī)模太小, 他們采用 Snow 等[3]的方法, 抽取出更多的上下位詞語對。目前, 比較成熟的具有上下位關(guān)系的中文數(shù)據(jù)庫有HowNet和同義詞詞林等。
目前, 大部分有關(guān)上下位關(guān)系的研究都是基于英文的, 其他語言的研究與語料庫資源較少。漢語上下位關(guān)系的語料庫規(guī)模也遠遠不及英文語料庫。目前, 針對漢語上下位的研究有劉磊等[4]提出的基于“是一個”模式獲取下位詞概念的方法。
進行上下位關(guān)系分類的方法主要有兩種: 基于模式的方法和基于詞嵌入的方法。
基于模式的方法也稱為基于路徑的方法(pathbased method)。給定詞語對<x,y>, 比如<狗, 動物>, 在“狗是一種動物”一句中, 詞語對之間的短語信息為“是一種”?!笆且环N”是一個具有明顯的上下位關(guān)系的模式, 也可以稱為詞語對之間的路徑。這種詞語對之間的短語信息稱為模式(路徑), 利用模式進行上下位關(guān)系分類的方法就是基于模式的方法。該方法最早由 Hearst[5]提出, 主要是在詞語對同時出現(xiàn)在許多語句中時, 將不同語句提供的詞語對之間的短語信息構(gòu)成集合, 通過集合來判斷對應(yīng)的詞語對的關(guān)系。Hearst[5]提供了幾個具有明顯的上下位信息的模式, 比如: 是一種(is a/an)、例如(such as)、和其他(and other/ or other)等等。除短語信息外, 依存路徑也可以當做模式。Snow 等[3]將詞語對用它們之間依存路徑的集合來表示, 在此基礎(chǔ)上進行上下位關(guān)系分類。使用基于模式的方法會構(gòu)建一個巨大的模式特征空間, 而語言表達的多樣性和模式的可變性使得特征空間十分稀疏。比如, “狗是一種活潑的動物”、“貓是一種可愛的動物”, 都包含“是一種”, 但是不同的修飾詞語導致被識別為兩個不同的模式。修飾語的使用讓模式更難以匹配。為解決這個問題, Nakashole 等[6]構(gòu)建 PATTY模型, 將模式中的詞語用詞性來代替。
在基于詞嵌入的方法(又稱為基于分布的方法)中, 詞語對被離散化地表示為向量(embedding), 通過兩個詞向量之間的運算來判斷詞語對是否為上下位關(guān)系。Lin[7]最早采用基于分布的方法進行上下位關(guān)系的判斷。Kotlerman 等[8]提出另外一種基于分布的方法, 他們假設(shè)基于下位詞的上下文是上位詞的上下文的子集。但是, 基于分布的方法有一個明顯的缺點, 就是訓練出來的分布式向量僅保留詞語的語境信息, 不包含字典等重要的、準確的先驗知識。
目前, 在眾多方法中, 最優(yōu)的基于模式方法的效果比基于分布方法差一些, 主要是由于基于模式的方法要求詞語對出現(xiàn)在同一個句子中[1], 并且模式要進行匹配, 限制了該方法的召回率。
本文構(gòu)建一個基于短語模式與詞模式的上下位關(guān)系分類系統(tǒng), 如圖 1 所示。首先通過語料抽取詞語之間的模式, 然后將其應(yīng)用在關(guān)系分類模型上。關(guān)鍵步驟是在抽取短語模式的基礎(chǔ)上, 添加詞模式的使用。通常情況下, 與短語模式相比, 詞模式更容易抽取與匹配, 且具有更細化的文本信息。因此,本文從一個大規(guī)模的語料中抽取并構(gòu)建詞語的短語模式與詞模式空間, 利用模式空間將詞語的模式集合轉(zhuǎn)化為向量, 使用最大熵算法得到融合詞模型(lexical-word pattern model)。
短語模式是用于處理上下位關(guān)系分類任務(wù)的一種常見模式, 能夠有效地體現(xiàn)詞語在句子中的關(guān)系。本文采用 Sang 等[2]提出的短語模式抽取方法。為了使短語模式更好地保留句子的信息, 在模式抽取之前, 語料需要經(jīng)過分句、分詞與詞性標注這 3個句法分析步驟。本文將3種標點(。? ! )視為斷句的標記。
短語模式指在句子中, 兩個指定名詞之間的詞長度不超過 5 的短語[3]。在句子“蘋果是一種水果”中, 詞語對<水果, 蘋果>之間的短語“是 一 種”是詞長度為 3 的短語模式。當句子不同時包含詞語對中的兩個詞時, 詞語對無法從該句子中抽取短語模式。
圖1 上下位關(guān)系分類系流程Fig.1 Flow chart of hypernym relation classificcation
基于短語模式的分類方法需要構(gòu)建模式空間。抽取出詞語對在語料中的短語模式集合, 由所有的短語集合構(gòu)成模式空間。下面給出兩個詞語對的樣例, 其中例1 為具有上下位關(guān)系的詞語對<水果, 蘋果>的句子, 短語模式集合為{“這一 種”, “是 一種”, “中”};例2 為具有有非上下位詞語對<水果,人>的句子, 模式短語集合為{“對”, “不 愛 吃”}, 雖然例2 第 3 句中包含“水果”和“人”兩個詞語, 但是分詞之后并沒有單獨的名詞“人”出現(xiàn), 所以在這句話中沒有詞語對<水果, 人>的短語模式。由此, 上下位關(guān)系分類可以根據(jù)上下文信息進行估計與推理。
例11)我 只 喜歡蘋果這 一 種水果。
2)蘋果是 一 種水果。
3)水果中蘋果產(chǎn)量 最高 。
例21)多 吃水果對人的 身體 有 好處 。
2)很多人不 愛 吃水果。
3)一 種水果叫人參果 。
基于模式的上下位關(guān)系識別是將模式轉(zhuǎn)化為特征向量的關(guān)系分類任務(wù)。目前, 基于模式的識別方法召回率普遍較低[7]。研究表明, 使用短語模式作為特征, 能有效地進行上下位關(guān)系分類, 但是存在明顯的不足[2]: 1)語料規(guī)模決定短語模式空間的大小, 對實驗產(chǎn)生較大影響; 2)受修飾語、定語和語言習慣的影響, 相同含義的短語模式能夠相似, 但很難相同。要提高基于模式方法的召回率, 就需要擴大模式空間、降低模式匹配難度。。
本文提出一種優(yōu)化的詞模式, 將短語模式中的每一個詞都單獨作為一個特征。根據(jù)短語模式不同但相似這一特點, 本文采用詞模式作為優(yōu)化模式。例3 中, 上下位詞語對<蘋果, 水果>和<動物, 狗>的短語模式分別為“是 一 種 健康 的”以及“是 一種 活潑 的”。
例31)蘋果是 一 種 健康 的水果。
2)狗是 一 種 活潑 的動物。
例3 中, 兩個短語模式表達了相同的意思, 但是不同的修飾詞使得短語模式無法匹配。雖然這兩種模式整體上無法匹配, 但是模式內(nèi)的的詞語大部分是一樣的?;谏鲜隼?本文提出詞模式的概念,嘗試以詞作為模式的基本單位, 以期提高模式的匹 配度。詞模式是將短語模式中的每一個詞都獨立出來,作為一種模式。不同于短語模式體現(xiàn)詞語在句 子中關(guān)系這一觀點, 本文認為詞語之間的每一個中間詞都分別體現(xiàn)詞語之間的的關(guān)系。
詞語對<水果, 蘋果>和<動物, 狗>在例3 中的的短語模式與詞模式如表 1 所示。在短語模式情況下,兩個詞語對分別只有一個短語模式, 且不相同。然而,在詞模式情況下, 兩個詞語對的模式集合長度為 5, 且主要詞模式都是相同的, 兩種集合的重疊 程度有 4/5。
詞模式不僅能夠提高模式匹配度以及方法召回率,也能夠擴大模式空間,減少語料規(guī)模對實驗結(jié)果的影響。所以, 本文在短語模式的基礎(chǔ)上添加了詞模式。
表1 詞語對短語模式與詞模式Table 1 Lexical patterns and word patterns for word pairs
本文利用給定的模式構(gòu)建特征空間, 并利用特征空間將詞語對的模式集合向量化, 將詞語對對應(yīng)的特征向量輸入分類器, 對給定的詞語對進行關(guān)系分類。這種模式的優(yōu)化方法可以降低模式匹配的難度, 從而提高方法的召回率, 使得 F1 值也有明顯的提升。
在 2.2 節(jié)提出的詞模式基礎(chǔ)上, 本文構(gòu)建基于詞模式嵌入表示的上下位關(guān)系分類系統(tǒng)。首先, 根據(jù)大規(guī)模語料獲取詞嵌入[9], 在該語料基礎(chǔ)上獲取詞語對的詞模式。然后, 根據(jù)詞語的詞嵌入及所有詞模式的詞嵌入, 使用簡單前饋神經(jīng)網(wǎng)絡(luò)構(gòu)造詞融合詞模式嵌入模型(word pattern embedding model,WP-EMB)。在此情況下, 本文提出的 WP-EMB 模型不僅充分地利用了語句的上下文信息, 也利用了詞語的語義信息。
基于模式的方法是利用上下文信息對詞語對進行上下位關(guān)系分類, 存在較明顯的缺點: 1)需要詞語對作為獨立名詞, 同時出現(xiàn)在同一個句子中; 2)當詞語對比較少見時, 詞語對甚至可能沒有上下文信息, 無法進行基于模式的分類; 3)僅利用上下文信息, 卻無法使用詞的語義信息[1]。這些缺點限制了基于模式方法的召回率。
與基于模式方法不同, 基于詞嵌入表示的上下位關(guān)系分類方法利用詞嵌入來表示詞語的信息[8,10]。詞嵌入表示既包含詞語的上下文信息, 也在很大程度上表示詞的語義。這一特點使得基于詞嵌入的方法有較高的召回率。目前, 在基于詞嵌入的方法中,詞語對<x,y>通常用特征向量表示。Roller 等[11]與 Baroni 等[12]分別用來表示詞語對。
由于短語模式具有長度較長、包含多個詞語等特點, 目前還難以從整體上將短語模式轉(zhuǎn)變成詞嵌入形式, 基于模式的方法還無法利用語義信息。
本文提出在基于詞模式方法的基礎(chǔ)上添加詞嵌入, 該方法結(jié)合詞模式的上下文信息, 也利用了詞語的語義信息。通常情況下, 基于模式的方法難以添加詞嵌入, 2.2 節(jié)中提出的詞模式是添加詞嵌入的基礎(chǔ)。
首先, 采用與 Baroni 等[12]相同的組合方法來表示詞語對的含義。此外, 通過詞模式嵌入來進一步利用上下文信息。不同詞語對的詞模式集合大小不一致, 采用的向量拼接方法產(chǎn)生的詞模式特征向量維度也不一致, 其中,為詞語對的詞模式i的詞嵌入表示。
為了獲取詞模式集合的特征向量, 并保持特征向量的維度一致, 本文采用對所有詞模式嵌入池化結(jié)果做拼接的方法, 計算過程如式(1)~(4)所示。
基于以上得到的詞模式特征向量表示, 本文將詞語對的詞嵌入和詞模式特征向量相拼接, 將最終拼接的特征向量作為詞語對的表示:
其中,表示詞語對的最終特征向量。此方法能夠同時利用詞語的語義信息與上下文信息, 進行上下位關(guān)系分類。
本文提出的詞語對的最終特征向量既保留了模式的上下文信息, 也獲取了詞語本身的語義信息。在此基礎(chǔ)上, 本文將最終特征向量輸入一個簡單的前饋神經(jīng)網(wǎng)絡(luò), 構(gòu)建一個詞融合詞模式嵌入模型WP-EMB。
本文構(gòu)建的詞模式嵌入的上下位關(guān)系分類模式采用雙層前向神經(jīng)網(wǎng)絡(luò), 結(jié)構(gòu)如圖 2 所示。使用softmax計算類別概率:
其中,W為模型參數(shù),是一個兩維的概率向量。詞語對僅在[1]> 0.5 時被分類為上下位關(guān)系詞語對。
在輸入層, 詞語對被映射為最終特征向作為神經(jīng)網(wǎng)絡(luò)的輸入。在隱層, 神經(jīng)元數(shù)量為 100,采用 sigmoid 激活函數(shù)來提高神經(jīng)網(wǎng)絡(luò)的非線性建模能力。在輸出層, 采用 softmax 計算詞語對被分類為上下位詞語與非上下詞語對的分值。
圖2 基于詞模式嵌入的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.2 Architecture of model based on word pattern embedding
由于目目前沒有公開、大型的上下位數(shù)據(jù)庫資源, 為了完成實驗, 本文構(gòu)建一個由約 4200 個上下位詞對、8500 個非上下位詞語對構(gòu)成的數(shù)據(jù)庫。
Snow 等[3]提供一種主流的方法來構(gòu)建詞庫。根據(jù)現(xiàn)有數(shù)據(jù)訓練出分類器, 從語料中爬取出現(xiàn)在同一個句子中的名詞語對作為測試集。用之前訓練好的分類器對測試集進行分類, 之后再加以人工檢查, 檢查后的數(shù)據(jù)可以繼續(xù)加入詞庫。這個方法較難用于中文語料, 因為中文沒有英文的詞根變化,所以在詞性標注這一步, 很多修飾詞或前綴詞會被標注為名詞, 會出現(xiàn)一句話中有超過 5 個名詞的現(xiàn)象。所以, 本文沒有采取這種方法。
本文構(gòu)建的上下位詞語對約有4200 個, 有3 個來源。
1)從同義詞林和HowNet中爬取可能具有上下位關(guān)系的 20000 對詞語對, 然后通過人工檢查,最終保留 2300 對上下位詞語對。
2)人工構(gòu)建詞類, 包括動物、植物、家電、國家、城市、建筑、方言、樂器、節(jié)日、木材、學學科和職業(yè)等,上位詞為以以上概括的的詞語, 下位位詞為常見的該該類事物。比比如, 節(jié)日的下位詞為清清明、春節(jié)、端午午、中秋節(jié)等等, 樂器的下位位詞為鋼琴、、小提琴、豎笛笛、二胡等。
3)NLPPCC-2017 的測測評任務(wù)涉及及包括上下位位在內(nèi)的 4 種關(guān)系, 主辦方公公開了用于評評價的 2000 對對詞語對, 其中有有500對為上上下位詞語對對。
非下位詞有 8500 個, 主要有兩個來源。
1)NLPCC--2017 公開評價數(shù)據(jù)的 500 個部分整 體的名詞語對。
2)在上述第 2 條中, 采用大類錯開和并列下位詞構(gòu)造的詞語對。比如, 所有節(jié)日的下位詞與樂器 這一詞構(gòu)成非上下位詞語對, 如<端午, 樂器>和<中秋節(jié), 樂器>; 所有大類的下位詞并列, 如節(jié)日的兩個下位詞<端午, 中秋節(jié)>, 國家的兩個下位詞<中國, 古巴>,等等。再對構(gòu)造出的詞語對進行人 工檢查, 保留需要數(shù)目的非上下位詞語對即可。
為了進行對比, 本文將 Sang 等[2]的的基于短語模式的方法在漢語的語料與數(shù)據(jù)上進行實驗。本文需要大量的無標注語料進行模式抽取與詞嵌入訓練,無標注語料主要為百度百科和 BCC 語料庫。百度百科語料包含目前百度百科中的所有詞條信息及其對應(yīng)的網(wǎng)頁數(shù)據(jù)。BCC 語料是由北京語言大學構(gòu) 建的語料平臺,可以根據(jù)需要進行語料查詢和保留。BCC 語料包括報刊、文學、科技和古漢語等多領(lǐng)域語料, 是可以全面地反映當今社會語言生活的大規(guī)模語料庫。各語料的基本情況見表2。
表2 數(shù)據(jù)規(guī)模及語料信息Table 2 Details of corpus for hypernym datasets
本文主要依據(jù) BCC 語料來抽取短語模式與詞模式。部分上下位和非上下位詞語對在 BCC 語料中沒有匹配的語句, 這些沒有相關(guān)語句的詞語對會被直接分類為非上下位, 影響模型的分類效果。在此情況下, 本文也基于百度百科的語料進行同樣的實驗。本文采用精確率(P)、召回率(R)和 F1 值作為評價模型分類效果的指標。
基于短語模式和詞模式, 本文進行實驗的特征有如下幾種。1)短語模式(lexical pattern, LP): 詞語對在句子之間、詞長度不超過 5 的短語。2)詞模式(word pattern, WP): 詞語對在句子之間、長度不超過 5 的短語模式中的每一個詞。3)詞模式頻率 (word frequency pattern, WFP): 由于詞模式非常容易匹配,使得詞模式出現(xiàn)的頻率較高。為了利用詞模式的頻率信息, 采用桶方法統(tǒng)計詞模式出現(xiàn)次數(shù), 將次數(shù)分入不均勻的桶。對于每一個詞模式及其出現(xiàn)次數(shù), 構(gòu)建 6 個桶, 分別為 1~5, 6~10, 11~20, 21~50, 51~100 和≥101。給定詞語對, 當詞模式“是”出現(xiàn)次數(shù)為23 時, “是 21~50”對應(yīng)的特征值為 1, 其余桶值為0。
采用最大熵作為分類模型, 分別在 BCC 語料和百科語料進行對比實驗?;€實驗為基于 LP 的短語模式模型, 本文提出基于 LP 和 WP、基于 LP 和WFP、基于 LP, WP 和 WFP 的 3 種融合詞模型與基于 WP 的詞模型。根據(jù)上述評價指標, 不同特征情況下各模型的正確率和召回率見表3。
從表 3 可以看出, 在 BCC 語料中, 當模式中添加詞模式時, 模型得到的 F1 最高值為 75.15%; 在百度百科語料中, 在短語模式中添加詞模式時, 模型得到的 F1 最高值為 82.46%。根據(jù) McNemar 顯著性檢測, 模型之間的差距(p< 0.05)證明詞模式為基于模式的上下位關(guān)系分類方法的性能帶來可靠性的提高。
表3 基于模式方法對比實驗結(jié)果Table 3 Performance of different models on two corpuses
與已有工作相比, 文本提出的融合詞模型的性能明顯優(yōu)于 Sang 等[2]提出的基于短語模式的模型,說明模式匹配度高的重要性。詞模式能夠有效地降低模式匹配的難度, 提高模式匹配率, 從而提高基于模式方法的召回率。
為了確定最佳的分類模型, 本文以基于單層bilinear 的詞嵌入模型為基線實驗。對比實驗分別為基于單層 bilinear 的詞融合模式嵌入模型、基于linear 的詞模式嵌入模型與基于 linear 的詞融合詞模式嵌入模型。每個模型的輸入與計算方式如表 4所示。
根據(jù)表 5 中基于單層 bilinear 的詞嵌入模型與基于 linear 的詞模式嵌入模型的實驗結(jié)果, 可以看出模式代表的上下文信息與詞嵌入代表的語義信息都是上下位關(guān)系分類的重要信息。本文設(shè)計的詞融合詞嵌入模型在百度百科語料上的 F1 值為 95.36%,與只利用詞嵌入或詞模式的方法相比, 得到的 F1值高, 因為綜合利用了詞語對的上下文信息與語義信息, 提高了上下位關(guān)系識別的精確率與召回率,也能夠解決基于模式方法中部分詞語對沒有模式、無法進行分類的問題。
在表 5 中, 基于 BCC 語料的實驗結(jié)果普遍比基于百度百科語料的結(jié)果好。因為 BCC 語料比百度百科語料規(guī)模小, 部分非上下位詞語對沒有模式。在基于模式的模型中, 不具有模式信息的非上下位詞語對可以被直接分類正確, 而在詞模式嵌入模型中, 需真實分類的詞語對數(shù)量較小。詞語對沒有模式時, 也說明詞語對之間的關(guān)系較遠, 也是一種上下文信息。由此可見, 語料的規(guī)模對實驗結(jié)果也有影響。
表4 模型輸入與計算Table 4 Input and calculation of models
表5 詞模式嵌入實驗結(jié)果Table 5 Performance of pattern embedding model
通過比較不同模型的 F1 值, 說明語義信息與上下文信息對上下位關(guān)系分類都有重要的影響。實驗結(jié)果表明, 本文提出的詞嵌入模型能夠利用上下文信息與語義信息, 進而提高模型分類的性能。
本文在短語模式基礎(chǔ)上提出詞模式, 降低模式的匹配難度。在基于短語模式與詞模式的融合詞模型中, 模型的召回率得到提高, 模式更為簡潔高效。在詞模式基礎(chǔ)上, 本文結(jié)合詞嵌入的語義信息, 構(gòu)建了詞融合詞模式嵌入模型。實驗結(jié)果表明, 本文方法能夠有效地進行上下位詞語對關(guān)系分類, 效果超過基于短語模式的方法。
未來工作中, 我們將從 3 個方面進一步優(yōu)化上下位關(guān)系識別的模型: 在詞模式向量的基礎(chǔ)上, 提高詞模式特征向量的代表性; 構(gòu)建一個能夠從文本中自動挖掘上下位關(guān)系詞語對的方法; 利用依存信息來提高模式的有效性。