郭鴻奇 李國(guó)佳
摘 要: 針對(duì)詞語(yǔ)向量化表示的問題,根據(jù)詞語(yǔ)詞向量表示的思想以及借助多義詞詞典,在K-means聚類多義詞語(yǔ)上下文表示的基礎(chǔ)上,獲得詞語(yǔ)的多原型向量表示。對(duì)句子中的多義詞語(yǔ),通過(guò)計(jì)算詞語(yǔ)多原型向量表示與詞語(yǔ)上下文表示的相似度來(lái)進(jìn)行詞義消歧,根據(jù)2個(gè)句子集中共有詞語(yǔ)和差異詞語(yǔ)的詞義相似度,給出一種基于詞語(yǔ)多原型向量表示的句子相似度計(jì)算方法,實(shí)驗(yàn)結(jié)果顯示了該方法的有效性。
關(guān)鍵詞: 詞語(yǔ)多原型向量表示;詞義消歧;句子相似度
Abstract:In view of vectorized representation of word according to the idea of Word Embedding as well as the use of external polysemy dictionary on the basis of polysemous words context representation based on K-means clustering algorithm,the paper presents a method for obtaining a word's multi-prototype vector representation. Word sense disambiguation is performed on polysemous words in sentences by calculating the similarity between the word multi-prototype vector representation and the words context representation. According to the semantic similarity of the common words and the difference words in the two sentence sets a sentence similarity computation method based on multi-prototype vector representation is given. The experimental results show the effectiveness of the method.
Key words: multi-prototype vector representation;word sense disambiguation;sentence similarity
引言
詞語(yǔ)是語(yǔ)言的基本組成單元,詞語(yǔ)的向量表示在自然語(yǔ)言處理任務(wù)中有著廣泛的應(yīng)用。詞語(yǔ)詞向量表示(Word Embedding或Word Representation)是基于大語(yǔ)料庫(kù)利用詞語(yǔ)的上下文為每一個(gè)詞語(yǔ)構(gòu)建一個(gè)向量表示,通常能夠保留詞語(yǔ)的語(yǔ)義和句法的信息。這種詞向量表示能夠作為一個(gè)特征或輸入用在信息檢索、文本分類、自動(dòng)文本摘要等自然語(yǔ)言處理的研究中。
大多數(shù)的詞向量表示方法都使用一個(gè)向量表示一個(gè)詞語(yǔ)(單向量表示),單向量表示無(wú)法有效地傳達(dá)多義詞語(yǔ)的不同詞義。針對(duì)這個(gè)問題,Reisinger等人于2010年[1]提出了一個(gè)多原型向量空間模型,其中每個(gè)詞語(yǔ)的上下文首先將會(huì)聚類為簇,通過(guò)對(duì)聚類簇內(nèi)詞語(yǔ)所有的上下文向量表示進(jìn)行平均生成詞語(yǔ)不同的原型向量。Huang等人則在2012年[2]遵循這一思想,基于神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型,結(jié)合詞語(yǔ)全局語(yǔ)義信息利用K-means算法聚類每個(gè)詞語(yǔ)的上下文表示,并在語(yǔ)料庫(kù)中將每個(gè)詞語(yǔ)的出現(xiàn)情況標(biāo)記為其所關(guān)聯(lián)的聚類類別,再訓(xùn)練獲得詞語(yǔ)的多個(gè)詞向量表示。Guo等人又在2014年[3]利用雙語(yǔ)平行語(yǔ)料庫(kù)學(xué)習(xí)生成詞語(yǔ)特定語(yǔ)義的詞向量表示,基于源語(yǔ)言中具有不同意義的同一詞語(yǔ)在外語(yǔ)中應(yīng)有不同翻譯這一原理,通過(guò)聚類詞語(yǔ)翻譯,并映射回原語(yǔ)言語(yǔ)料庫(kù)中對(duì)應(yīng)的詞語(yǔ),訓(xùn)練獲得一個(gè)詞語(yǔ)的情境語(yǔ)義表示。這些基于聚類的模型通過(guò)聚類詞語(yǔ)上下文來(lái)開展無(wú)監(jiān)督的詞義歸納,對(duì)原文詞語(yǔ)的上下文直接進(jìn)行聚類或者利用跨語(yǔ)言知識(shí)進(jìn)行語(yǔ)義映射后聚類,再訓(xùn)練獲得詞語(yǔ)在不同語(yǔ)境中具體詞義對(duì)應(yīng)的詞向量表示。
同一時(shí)期,Chen等人也在2014年[4]提出了聯(lián)合詞義表示和消歧的統(tǒng)一模型,根據(jù)WordNet知識(shí)庫(kù)對(duì)詞語(yǔ)的注釋說(shuō)明生成詞語(yǔ)的語(yǔ)義向量,對(duì)多義詞語(yǔ)進(jìn)行詞義消歧,修改Skip-gram模型訓(xùn)練目標(biāo)來(lái)聯(lián)合學(xué)習(xí)詞語(yǔ)的詞向量和語(yǔ)義向量。繼而,Niu等人更在2017年[5]結(jié)合知網(wǎng)將詞語(yǔ)詞義的義原信息融入到詞語(yǔ)表示學(xué)習(xí)模型中,提升了詞向量的表示能力。這類方法借助外部知識(shí)庫(kù)(WordNet或HowNet)對(duì)詞語(yǔ)不同語(yǔ)義的解釋或描述,來(lái)辨析識(shí)別多義詞語(yǔ)具體的語(yǔ)義。
為此,本文研究給出了一種基于詞語(yǔ)多原型表示的句子相似度計(jì)算方法。根據(jù)詞語(yǔ)詞向量表示的思想以及借助多義詞詞典,基于K-means算法聚類多義詞語(yǔ)上下文表示,訓(xùn)練獲得詞語(yǔ)多原型向量表示。結(jié)合詞語(yǔ)多原型向量表示與詞語(yǔ)上下文表示的相似度來(lái)進(jìn)行語(yǔ)義消歧,獲得句子中每個(gè)詞語(yǔ)特定語(yǔ)義的詞向量表示,然后根據(jù)2個(gè)句子集中的共有詞語(yǔ)和差異詞語(yǔ)相似度來(lái)綜合計(jì)算句子相似度。
1 詞語(yǔ)多原型向量表示
1.1 詞語(yǔ)詞向量表示
one-hot representation是一種簡(jiǎn)單的詞語(yǔ)詞向量表示。這是把每一個(gè)詞語(yǔ)表示為一個(gè)長(zhǎng)向量,向量的維度等于詞語(yǔ)表的規(guī)模,向量只有一個(gè)元素的值為1,這個(gè)維度代表當(dāng)前的詞語(yǔ)。已有研究指出該方法的缺點(diǎn)是向量維數(shù)等于所有詞語(yǔ)的數(shù)目,存在維數(shù)災(zāi)難問題,也不能刻畫詞語(yǔ)和詞語(yǔ)之間的語(yǔ)義聯(lián)系。
詞語(yǔ)的詞向量表示(word Embedding或word representation)是一種分布式的表示,把每個(gè)詞語(yǔ)表示為一個(gè)固定長(zhǎng)度的低維實(shí)數(shù)向量,通?;谏窠?jīng)網(wǎng)絡(luò)訓(xùn)練語(yǔ)言模型訓(xùn)練海量文本語(yǔ)料集得到詞語(yǔ)詞向量表示,特點(diǎn)是能夠捕捉詞語(yǔ)及其上下文之間的語(yǔ)義關(guān)系,相似或者相關(guān)的詞語(yǔ)在向量空間距離上也將更為接近。一些經(jīng)典的訓(xùn)練獲得詞向量的神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型有:Bengio 的神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(NNLM)[6]、Collobert等人的SENNA模型(C&W;)[7]、Mnih等人的hierarchical log-bilinear模型(HLBL)[8]、Mikolov 的循環(huán)神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型(RNNLM)[9],以及廣泛付諸使用的Google公司開發(fā)的CBOW 模型和Skip-gram 模型、斯坦福大學(xué)的GloVe模型。本文采用Skip-gram模型訓(xùn)練獲得詞語(yǔ)詞向量表示。
1.2 詞語(yǔ)多原型向量表示
在語(yǔ)言現(xiàn)象中,同一個(gè)詞語(yǔ)符號(hào)在不同的上下文語(yǔ)境中可以反映不同的語(yǔ)義,每個(gè)詞語(yǔ)只對(duì)應(yīng)一個(gè)詞向量不能有效地表示和識(shí)別多義詞語(yǔ)。詞語(yǔ)的不同詞義即需對(duì)應(yīng)著不同的詞向量表示,詞語(yǔ)的多原型向量表示對(duì)于多義詞語(yǔ)的每個(gè)詞義都將對(duì)應(yīng)一個(gè)詞向量,故而能提高詞語(yǔ)表示的精確性。
本文根據(jù)多原型向量空間模型的思想以及借助外部知識(shí)庫(kù),基于神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型訓(xùn)練獲得詞語(yǔ)的多原型向量表示,研究過(guò)程可分為3個(gè)步驟,具體如下:
(1)利用外部知識(shí)庫(kù)(例如《現(xiàn)代漢語(yǔ)多義詞詞典》、《HowNet》)統(tǒng)計(jì)多義詞語(yǔ)及獲得其詞義的個(gè)數(shù);
(2)在海量文本語(yǔ)料集中基于K-means算法來(lái)聚類多義詞語(yǔ)的上下文窗口表示,并將其關(guān)聯(lián)的聚類類別標(biāo)記為原始文本語(yǔ)料集;
(3)在標(biāo)記的文本語(yǔ)料集上基于神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型訓(xùn)練獲得詞語(yǔ)的多原型向量表示。
1.3 基于K-means聚類詞語(yǔ)上下文表示
《現(xiàn)代漢語(yǔ)多義詞詞典》共收錄了現(xiàn)代漢語(yǔ)多義詞8 100條,《HowNet》是一個(gè)在應(yīng)用上較為知名的中文語(yǔ)義資源平臺(tái),對(duì)多義詞語(yǔ)有多個(gè)概念及義原關(guān)系的描述,每個(gè)概念表示一種詞義,可以統(tǒng)計(jì)獲得每個(gè)多義詞的詞義個(gè)數(shù)。
多義詞語(yǔ)的上下文窗口,是指多義詞語(yǔ)的上下文中前面和后面k個(gè)詞語(yǔ),k為窗口大小。詞語(yǔ)的上下文窗口表示由詞語(yǔ)上下文中詞語(yǔ)的詞向量進(jìn)行平均求得,可得其計(jì)算公式為:
在時(shí)下的各類文本聚類算法中,K-means算法獲得了廣泛使用。對(duì)文本語(yǔ)料集中的所有多義詞語(yǔ),基于K-means算法對(duì)多義詞語(yǔ)在原始文本語(yǔ)料集中所有樣本的上下文窗口表示進(jìn)行聚類,得到K個(gè)聚類簇。在文本語(yǔ)料集中按照K個(gè)類別對(duì)多義詞語(yǔ)添加標(biāo)記,不同的聚類類別代表多義詞語(yǔ)的不同詞義。在標(biāo)記的文本語(yǔ)料集上基于神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型訓(xùn)練詞語(yǔ)詞向量,得到詞語(yǔ)在不同上下文中表達(dá)不同詞義的多原型向量表示。
假設(shè)多義詞語(yǔ)Wp的詞義個(gè)數(shù)為K,基于K-means算法聚類詞語(yǔ)上下文窗口表示的步驟流程可簡(jiǎn)述如下:
利用外部知識(shí)庫(kù)統(tǒng)計(jì)獲得的多義詞語(yǔ)的詞義個(gè)數(shù),可以作為K-means聚類算法K的初始值,聚類結(jié)果數(shù)值K即為多義詞語(yǔ)的詞義個(gè)數(shù),不需要事先指定聚類數(shù)目,符合詞語(yǔ)在不同文本上下文中具有多種詞義表示的數(shù)目不能確定的實(shí)際情況。
詞語(yǔ)上下文窗口聚類簇中樣本的個(gè)數(shù)可以表示詞語(yǔ)一個(gè)詞義在統(tǒng)計(jì)學(xué)中出現(xiàn)的次數(shù),能夠說(shuō)明實(shí)際中最常使用的是哪個(gè)特定的詞義。在文本語(yǔ)料集中,按照K個(gè)聚類簇中的樣本對(duì)多義詞語(yǔ)進(jìn)行標(biāo)記。例如多義詞語(yǔ)“算賬”一般包含2個(gè)詞義,對(duì)文本語(yǔ)料集中詞語(yǔ)“算賬”的所有樣本的上下文窗口表示設(shè)計(jì)展開K-means聚類,然后在文本語(yǔ)料集中對(duì)詞語(yǔ)“算賬”根據(jù)聚類樣本的類別分別標(biāo)記為“算賬1”、“算賬2”,最后在標(biāo)記的文本語(yǔ)料集訓(xùn)練得到“算賬1”、“算賬2”兩個(gè)詞義的多原型向量表示。
2 詞義消歧
[JP4]高質(zhì)量的詞語(yǔ)詞義表示(word sense representation,WSR)能捕獲豐富的語(yǔ)義和句法信息,有助于實(shí)現(xiàn)詞義消歧。高質(zhì)量的詞義消歧能提供可靠的消歧語(yǔ)料,可以更好地學(xué)習(xí)詞語(yǔ)詞義的表示。對(duì)語(yǔ)句中的多義詞語(yǔ),通過(guò)詞義消歧獲得詞語(yǔ)在上下文中特定語(yǔ)義,因而能提升句子的表示效率。研究中,詞義消歧過(guò)程可解析分述為3個(gè)步驟,內(nèi)容如下:
(1)識(shí)別句子中多義的詞語(yǔ);
(2)計(jì)算多義詞語(yǔ)的上下文窗口表示;
(3)獲得多義詞語(yǔ)在上下文中特定語(yǔ)義的詞向量表示。
基于詞語(yǔ)的語(yǔ)義由其上下文決定的思想,多義詞語(yǔ)在上下文中特定語(yǔ)義,可以通過(guò)計(jì)算多義詞語(yǔ)的上下文窗口表示和多義詞語(yǔ)的各個(gè)詞向量表示間的相似度來(lái)獲得,將最大相似度值所對(duì)應(yīng)的詞向量表示作為多義詞語(yǔ)在上下文中特定語(yǔ)義的詞向量表示,研究可得計(jì)算方法的數(shù)學(xué)公式為:
3 句子相似度
3.1 詞語(yǔ)相似度計(jì)算
本文通過(guò)2個(gè)詞語(yǔ)詞向量的夾角余弦值來(lái)度量詞語(yǔ)的相似性,詞語(yǔ)相似度的數(shù)學(xué)公式可表述為:
3.2 句子相似度計(jì)算
根據(jù)2個(gè)句子集中的共有詞語(yǔ)和差異詞語(yǔ)的詞義相似度,給出一種基于詞語(yǔ)多原型向量表示的句子相似度計(jì)算方法,計(jì)算過(guò)程主要可研究分解為如下3個(gè)步驟:
(1)對(duì)句子進(jìn)行分詞預(yù)處理得到詞語(yǔ)序列;
(2)識(shí)別詞語(yǔ)序列中的多義詞語(yǔ)并獲得每個(gè)詞語(yǔ)特定語(yǔ)義的詞向量表示;
(3)由給定的句子相似度計(jì)算方法進(jìn)行相似度度量。
4 實(shí)驗(yàn)結(jié)果及分析
4.1 實(shí)驗(yàn)數(shù)據(jù)
詞語(yǔ)多原型向量表示實(shí)驗(yàn)中,原始數(shù)據(jù)集為Wiki中文語(yǔ)料(20171103,2.7 G)以及搜狗實(shí)驗(yàn)室2012年搜狐新聞?wù)Z料(648 M)。對(duì)原始語(yǔ)料實(shí)現(xiàn)預(yù)處理,將繁體轉(zhuǎn)化為簡(jiǎn)體,利用自定義詞典對(duì)文本語(yǔ)料集中的常用英文縮寫替換為中文詞語(yǔ),去除非中文字符和數(shù)字外的其它字符,清洗后得到約15億字。采用jieba分詞進(jìn)行分詞處理,訓(xùn)練詞語(yǔ)詞向量的神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型采用word2vec的Skip-gram 模型[10],詞向量維度設(shè)定為150維,其他參數(shù)默認(rèn)設(shè)置。多義詞詞典根據(jù)《現(xiàn)代漢語(yǔ)多義詞詞典》統(tǒng)計(jì)獲得常用的各多義詞及其詞義個(gè)數(shù)。詞語(yǔ)的上下文窗口大小為5。
句子相似度計(jì)算實(shí)驗(yàn),采用400對(duì)句子作為測(cè)試集,測(cè)試句子集來(lái)源于北京大學(xué)中國(guó)語(yǔ)言學(xué)中心CCL語(yǔ)料庫(kù)。從CCL語(yǔ)料庫(kù)中分別檢索多義詞語(yǔ)“壓力”和“蘋果”,在結(jié)果中人工選取包含關(guān)鍵詞“壓力”和“蘋果”句子各200句,句子長(zhǎng)度為包含關(guān)鍵詞及前后至少10個(gè)詞語(yǔ)的完整句子。含有詞語(yǔ)“壓力”的句子集按照詞義分為3類,含有詞語(yǔ)“蘋果”的句子集按照詞義分為2類。每個(gè)詞語(yǔ)的詞義類別經(jīng)過(guò)人工聚類,按照相似程度共得到27個(gè)小類別。每個(gè)小類別中選取任意一個(gè)句子作為基準(zhǔn)句子,該類別中其它句子,記為N句,和同一詞語(yǔ)的句子集合中其它小類別的句子一起作為噪音句。
4.2 實(shí)驗(yàn)結(jié)果及分析
在實(shí)驗(yàn)數(shù)據(jù)集上基于Skip-Gram模型分別訓(xùn)練獲得詞語(yǔ)詞向量表示和詞語(yǔ)多原型向量表示。表1給出一些詞語(yǔ)及其具體詞義上最相近的詞語(yǔ),最相近詞語(yǔ)相似度由公式(3)來(lái)指定計(jì)算,無(wú)標(biāo)簽的詞語(yǔ)對(duì)應(yīng)詞語(yǔ)詞向量的表示,詞語(yǔ)特定的詞義對(duì)應(yīng)詞語(yǔ)多原型向量表示,例如,“蘋果2”是詞語(yǔ)“蘋果”的第二個(gè)詞義。實(shí)驗(yàn)結(jié)果顯示詞語(yǔ)的多原型向量表示能夠捕捉詞語(yǔ)的語(yǔ)義信息。
從表1中可以觀察到詞語(yǔ)多原型向量表示的一些區(qū)分詞義的結(jié)果:對(duì)于多義詞而言,多原型向量表示對(duì)應(yīng)其不同的語(yǔ)義含義。例如,“蘋果1”的詞向量表示與其作為IT公司相對(duì)應(yīng),“蘋果2”則表示其作為一種水果的意義。
在句子相似度計(jì)算實(shí)驗(yàn)中,對(duì)每個(gè)小類別的句子,按照本文相似度計(jì)算方法,計(jì)算基準(zhǔn)句子和各噪音句子的相似度值,同時(shí)依據(jù)順序記錄相似度值最大的前N個(gè)句子,計(jì)算召回率R(前N個(gè)句子與基準(zhǔn)句子屬于同一小類的句子個(gè)數(shù)的平均值)。句子相似度計(jì)算方法則需關(guān)注本文3.2節(jié)公式(4),由此可得基于詞語(yǔ)詞向量與基于詞語(yǔ)多原型向量表示的句子相似度計(jì)算結(jié)果可見表2。
從表2中可以看出,基于詞語(yǔ)多原型向量表示句子相似度計(jì)算結(jié)果在整體上要優(yōu)于詞語(yǔ)詞向量方法的運(yùn)算求解。由于多原型向量表示在一定程度上區(qū)分詞語(yǔ)在上下文中不同詞義,能夠更加集中優(yōu)質(zhì)地保留詞義信息。根據(jù)詞語(yǔ)的多原型向量表示對(duì)句子中多義詞語(yǔ)進(jìn)行消歧,提高了詞語(yǔ)在上下文中詞義表示的精確性,句子相似度計(jì)算結(jié)果也將更加有效。
5 結(jié)束語(yǔ)
本文通過(guò)探討詞語(yǔ)詞向量表示的思想以及借助多義詞詞典,同時(shí)結(jié)合K-means聚類算法,并基于Skip-gram模型來(lái)研究獲得了詞語(yǔ)多原型向量表示,其中每個(gè)詞語(yǔ)的詞義對(duì)應(yīng)一個(gè)向量表示。對(duì)句子中的多義詞語(yǔ)進(jìn)行詞義消歧,獲得多義詞語(yǔ)在上下文中特定語(yǔ)義,最后根據(jù)句子集中的共有詞語(yǔ)和差異詞語(yǔ)的詞義相似度,來(lái)綜合衡量句子相似度。實(shí)驗(yàn)結(jié)果表明,詞語(yǔ)多原型向量表示能夠捕捉詞語(yǔ)的語(yǔ)義信息,基于詞語(yǔ)多原型向量表示在句子相似度計(jì)算上性能要優(yōu)于詞語(yǔ)單一的詞向量表示。試下,依然存在亟待進(jìn)一步研究的問題主要有:語(yǔ)料庫(kù)的規(guī)模和領(lǐng)域影響詞向量表示的精度,基于詞典統(tǒng)計(jì)多義詞詞義的數(shù)量未能臻至準(zhǔn)確,融合句子其它特征綜合計(jì)算句子相似度。
參考文獻(xiàn)
[1] REISINGER J MOONEY R J. Multi-prototype vector-space models of word meaning[C]// Proceedings of the 11th Annual Conference of the North American Chapter of the Association for Computational Linguistics (NAACL-2010). Los Angeles:ACL 2010:109-117.
[2] HUANG E H SOCHER R MANNING C D et al. Improving word representations via global context and multiple word prototypes[C]//Meeting of the Association for Computational Linguistics. Jeju Island:ACM,2012:873-882.
[3] GUO Jiang CHE Wanxiang WANG Haifeng et al. Learning sense-specific word embeddings by exploiting bilingual resources[C]//Proceedings of COLING. Dublin:ACL,2014:497-507.
[4] CHEN Xinxiong LIU Zhiyuan SUN Maosong. A unified model for word sense representation and disambiguation[C]//Conference on Empirical Methods in Natural Language Processing. Doha:ACL 2014:1025-1035.
[5] NIU Yilin XIE Ruobing LIU Zhiyuan et al. Improved word representation learning with sememes[C]//Meeting of the Association for Computational Linguistics. Vancouver:ACL,2017:2049-2058.
[6] BENGIO Y DUCHARME R VINCENT P et al. A neural probabilistic language model[J]. Journal of Machine Learning Research,2003,3(6) :1137-1155.
[7] COLLOBERT R WESTON J BOTTOU L et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research 2011(12):2493-2537.
[8] MNIH A HINTON G E. A scalable hierarchical distributed language model[C] // Proceedings of NIPS. Vancouver:NIPS,2008:1081-1088.
[9] MIKOLOV T KARAFIT M BURGET L et al. Recurrent neural network based language model[C] // Interspeech 2010. Makuhari:ISCA 2010:1045-1048.
[10]曾琦,周剛,蘭明敬,等. 一種多義詞詞向量計(jì)算方法[J]. 小型微型計(jì)算機(jī)系統(tǒng),2016,37(7):1417-1421.