宮法明,朱朋海
(中國石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,青島 266580)
語義是指信息包含的概念和意義.語義不僅表述事物本質(zhì),還表述事物之間的因果、上下位、施事等各種邏輯關(guān)系.因此,語義是對(duì)事物的描述和邏輯表示.語義分析就是對(duì)信息所包含的語義的識(shí)別,并建立一種計(jì)算模型,使其能夠像人那樣理解自然語言.語義分析是自然語言理解的根本問題,它在自然語言處理、信息檢索、信息過濾、信息分類、語義挖掘等領(lǐng)域有著廣泛的應(yīng)用.在互聯(lián)網(wǎng)時(shí)代,面對(duì)海量的信息資源,要想準(zhǔn)確地進(jìn)行信息抽取,檢索所需信息、挖掘潛在的信息價(jià)值、提供智能的知識(shí)服務(wù),都離不開面向機(jī)器理解的語義分析.尤其在大數(shù)據(jù)環(huán)境下,語義分析的地位越來越凸顯出來[1].
關(guān)于語義分析研究方法主要有基于專業(yè)詞典的方法[2–4]、基于詞匯-句法模式的方法[5-6]、基于Harris假設(shè)的方法[7–9]、基于關(guān)聯(lián)規(guī)則的方法[10,11]、基于模式匹配的方法和幾種方法的混合方法.但這些方法存在很大的局限性,無法涵蓋所有的內(nèi)容,不能針對(duì)石油領(lǐng)域組合詞多的特點(diǎn)進(jìn)行語義識(shí)別,沒有領(lǐng)域適應(yīng)性.
為了克服以上算法的缺點(diǎn),本文提出了一種基于改進(jìn)詞向量的語義關(guān)系識(shí)別模型,該模型克服了傳統(tǒng)詞向量訓(xùn)練模型固定大小的缺點(diǎn),考慮到句子的完整性對(duì)詞向量訓(xùn)練的重要作用.具體地,以CBOW模型為基礎(chǔ),在輸入層前增加一個(gè)預(yù)處理層,對(duì)句子進(jìn)行預(yù)處理,轉(zhuǎn)換成統(tǒng)一輸入格式,方便進(jìn)行訓(xùn)練.為了適應(yīng)石油領(lǐng)域組合詞以及具有父子關(guān)系的詞多的特點(diǎn),對(duì)訓(xùn)練語料進(jìn)行擴(kuò)展,增加正樣本訓(xùn)練比重,使訓(xùn)練結(jié)果更加準(zhǔn)確.通過負(fù)采樣和二次采樣提高訓(xùn)練效率和訓(xùn)練精度.將訓(xùn)練好的詞向量進(jìn)行代數(shù)運(yùn)算提取特征進(jìn)行SVM分類識(shí)別出語義關(guān)系.對(duì)樣本的準(zhǔn)確率、召回率和F值進(jìn)行計(jì)算分析,與傳統(tǒng)的CBOW模型相比,我們的語義關(guān)系識(shí)別效果更好.本文貢獻(xiàn)如下所示:
(1)提出了一種適用石油領(lǐng)域改進(jìn)的詞向量訓(xùn)練方法;
(2)本文提出的詞向量能夠準(zhǔn)確識(shí)別石油文檔中的類義關(guān)系;
(3)為石油文檔語義識(shí)別提供了一個(gè)思路.
本文章安排具體如下:第2節(jié)介紹相關(guān)理論與方法;第3節(jié)介紹改進(jìn)的詞向量表示方法;第4節(jié)是實(shí)驗(yàn)結(jié)果及分析;最后對(duì)本文工作進(jìn)行了總結(jié),并指出為未來的工作方向.
基于詞向量的文檔語義識(shí)別,通過對(duì)語料庫中的文本進(jìn)行分詞處理,統(tǒng)計(jì)各個(gè)詞語出現(xiàn)的頻率,采用one-hot表示方法初始化詞向量,構(gòu)建詞語矩陣,利用矩陣變換訓(xùn)練調(diào)整詞向量.該算法有簡單方便、易于訓(xùn)練、效果好等優(yōu)點(diǎn),但也有領(lǐng)域適應(yīng)性差、計(jì)算復(fù)雜、效率低等缺點(diǎn).周慧霞[12]提出了一種基于詞向量的中文詞匯蘊(yùn)含關(guān)系識(shí)別方法,利用詞向量技術(shù)對(duì)維基百科上的的語料進(jìn)行訓(xùn)練,設(shè)計(jì)詞向量分類特征進(jìn)行詞匯蘊(yùn)含關(guān)系的識(shí)別.由于石油領(lǐng)域組合詞多,該方法領(lǐng)域適用性差,并不適用石油領(lǐng)域,并且也不能識(shí)別上下義關(guān)系.蔣振超[13]等提出了一種新的基于神經(jīng)網(wǎng)絡(luò)的詞向量訓(xùn)練模型,借助大規(guī)模文本數(shù)據(jù),利用依存關(guān)系和上下文關(guān)系來訓(xùn)練詞向量.但此方法需要依據(jù)大規(guī)模文本數(shù)據(jù),由于石油行業(yè)的保密性較強(qiáng),無法提供充分的文本數(shù)據(jù)進(jìn)行訓(xùn)練.杜漫[14]等提出了一種面向情緒分類的融合詞內(nèi)部信息和情緒標(biāo)簽的詞向量學(xué)習(xí)方法.在CBOW模型基礎(chǔ)上,引入詞內(nèi)部成分和情緒標(biāo)簽信息,以適應(yīng)微博情緒表達(dá)的不規(guī)范,但這種方法只針對(duì)微博信息進(jìn)行處理,領(lǐng)域性太強(qiáng),不適合石油領(lǐng)域.
盡管他們能夠取得比較好的語義關(guān)系識(shí)別結(jié)果,但都沒有領(lǐng)域針對(duì)性,對(duì)領(lǐng)域?qū)I(yè)詞之間的語義關(guān)系識(shí)別效果并不太好.在本文中,我們提出了一種基于改進(jìn)詞向量的石油文檔語義識(shí)別模型算法,該算法能夠很好的識(shí)別領(lǐng)域?qū)I(yè)詞語之間的語義關(guān)系,特別是針對(duì)石油領(lǐng)域這樣組合詞多的領(lǐng)域.
CBOW模型是常用的詞向量訓(xùn)練模型,CBOW模型的訓(xùn)練輸入是一個(gè)特征詞的上下文相關(guān)詞對(duì)應(yīng)的詞向量,而輸出就是這特定詞的詞向量.CBOW模型的結(jié)構(gòu)如圖1,該模型一方面根據(jù)C&W[15]模型的經(jīng)驗(yàn),使用一段文本的中間詞作為目標(biāo)詞;另一方面,又以NNLM[16,17]作為藍(lán)本,并在其基礎(chǔ)上做了兩個(gè)簡化.

圖1 CBOW模型結(jié)構(gòu)圖
(1)CBOW沒有隱藏層,去掉隱藏層之后,模型從神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)直接轉(zhuǎn)化為log線性結(jié)構(gòu),與Logistic回歸一致.log線性結(jié)構(gòu)比三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)少了一個(gè)矩陣運(yùn)算,大幅度地提升了模型的訓(xùn)練速度.
(2)CBOW去除了上下文各詞的詞序信息,使用上下文各詞詞向量的平均值,代替神經(jīng)網(wǎng)絡(luò)語言模型使用的上文各詞詞向量的拼接.形式化地,CBOW模型對(duì)于一段訓(xùn)練樣本wi?(n?1),···,wi,輸入為:

由于沒有隱藏層,CBOW模型的輸入層直接就是上下文的表示.CBOW模型根據(jù)上下文的表示,直接對(duì)目標(biāo)詞進(jìn)行預(yù)測(cè):

上述二式中,目標(biāo)詞w和上下文c的定義與C&W模型中的公式一致.e為詞語w的詞向量.對(duì)于整個(gè)語料而言,與神經(jīng)網(wǎng)絡(luò)語言模型類似,CBOW的優(yōu)化目標(biāo)為最大化:

石油領(lǐng)域文檔具有組合詞和上下義關(guān)系詞多的特點(diǎn),傳統(tǒng)的CBOW訓(xùn)練方法固定上下文,沒有針對(duì)石油領(lǐng)域文檔的特點(diǎn)進(jìn)行訓(xùn)練,不具有領(lǐng)域針對(duì)性,對(duì)石油領(lǐng)域的詞語訓(xùn)練結(jié)果較差.本文提出的改進(jìn)的詞向量訓(xùn)練方法,是在CBOW模型的基礎(chǔ)上進(jìn)行改進(jìn)的.例如“游梁式抽油機(jī)”、“抽油機(jī)”和“磕頭機(jī)”等,“游梁式抽油機(jī)”、“抽油機(jī)”和“磕頭機(jī)”具有相似的上下文語義結(jié)構(gòu),所以訓(xùn)練“游梁式抽油機(jī)”、“抽油機(jī)”和“磕頭機(jī)”采用的語料包括“抽機(jī)油”的上下文、“磕頭機(jī)”的上下文和“游梁式抽油機(jī)”的上下文,強(qiáng)化正樣本.其次,詞語包含在句子中,每個(gè)詞語受同一句中的詞語影響較大,受不同句中的詞語影響較小.對(duì)詞語進(jìn)行訓(xùn)練的時(shí)候,選取包含詞語所在句子為原則,然后進(jìn)行語料擴(kuò)充,而不是采用CBOW的固定上下文.
首先按照石油詞典找出石油領(lǐng)域?qū)I(yè)詞語w,找出w的組合詞v1,···,vm.選取中心詞wi所在的句子作為待處理語料,獲取句子長度l與中心詞在句子中的位置i,計(jì)算中心詞與句子兩端的距離l1=i,l2=l?i,訓(xùn)練窗口為nw.

選取wi上下文長度為nw的詞語wi?(nw?1)/2,···,wi+(nw?1)/2.選取中心詞wi的組合詞v1,···,vm進(jìn)行同樣預(yù)處理,獲取v1,···,vm上下文詞語w1i?(nv1?1)/2,···,w1i+(nv1?1)/2,w2i?(nv2?1)/2,···,w2i+(nv2?1)/2,···,wmi?(nvm?1)/2,···,wmi+(nvm?1)/2.將wi與v1,···,vm的訓(xùn)練語料進(jìn)行合并,制作新的訓(xùn)練數(shù)據(jù)集c={wi?(nw?1)/2,···,wi+(nw?1)/2,w1i?(nv1?1)/2,···,w1i+(nv1?1)/2,···,wmi?(nvm?1)/2,···,wmi+(nvm?1)/2},公式(1)變成

(1)負(fù)采樣技術(shù)
為了進(jìn)一步提升最后一層的效率,借鑒C&W模型采用的構(gòu)造負(fù)樣本的方法,提出了負(fù)采樣技術(shù).通過構(gòu)造優(yōu)化目標(biāo),實(shí)現(xiàn)最大化正樣本的似然,同時(shí)最小化負(fù)樣本的似然.使用負(fù)采樣,對(duì)語料庫進(jìn)行排序,通過隨機(jī)選取一個(gè)較少數(shù)目的負(fù)樣本來更新對(duì)應(yīng)的權(quán)重,并且仍然為正樣本更新對(duì)應(yīng)的權(quán)重,如果選到自己就跳過重新選擇.
(2)二次采樣技術(shù)
在大規(guī)模語料中,高頻詞通常就是停用詞(如英語中的“the”、漢語中的“的”).一方面,這些高頻詞只能帶來非常少量的語義信息,比如幾乎所有的詞都會(huì)和“的”共同出現(xiàn),但是并不能說明這些詞的語義都相似.另一方面,訓(xùn)練高頻詞本身占據(jù)了大量的時(shí)間,但在迭代過程中,這些高頻詞的詞向量變化并不大.為了解決這一問題,提出了二次采樣技術(shù),具體而言,如果詞w在語料中的出現(xiàn)頻率大于閾值t,則有的概率在訓(xùn)練時(shí)跳過這個(gè)詞.

本文利用多個(gè)向量多個(gè)特征進(jìn)行語義識(shí)別,對(duì)于兩個(gè)向量u=<u1,···,un>和v=<v1,···,vn>,如果兩個(gè)詞語具有相似關(guān)系,則兩個(gè)向量在同維度上的分量也具有相似關(guān)系,他們的向量差就很小,某一維度的分量和就很大.各個(gè)向量特征定義如下:
向量差特征:

向量和特征:

向量乘特征:

向量連接特征:

本算法是基于改進(jìn)詞向量模型實(shí)現(xiàn)的,根據(jù)石油領(lǐng)域文檔組合詞多的特點(diǎn),實(shí)現(xiàn)適合石油領(lǐng)域詞向量的訓(xùn)練模型,利用詞向量的加、減、乘和連接特征訓(xùn)練SVM分類器進(jìn)行語義識(shí)別.具體實(shí)現(xiàn)算法如下:
(1)利用隱馬爾科夫模型對(duì)文檔D進(jìn)行分詞處理,將文檔分成單詞的詞語,構(gòu)建語料庫S;
(2)對(duì)單詞進(jìn)行詞頻統(tǒng)計(jì),利用詞頻夠?qū)⒊跏蓟~向量;
(3)利用石油詞典找出待訓(xùn)練的石油專業(yè)術(shù)語w,統(tǒng)計(jì)術(shù)語所在句子長度l和相關(guān)的組合詞v1,···,vm等信息;
(4)利用w的上下文詞語和v1,···,vm的上下文詞語,結(jié)合負(fù)采樣和二次采樣對(duì)w進(jìn)行詞向量訓(xùn)練,得到詞語w的詞向量;
(5)對(duì)訓(xùn)練好的詞向量進(jìn)行向量差、和、乘和連接特征計(jì)算,進(jìn)行語義關(guān)系標(biāo)記,制作訓(xùn)練數(shù)據(jù)集;
(6)將訓(xùn)練好的數(shù)據(jù)集導(dǎo)入SVM分類器進(jìn)行語義關(guān)系訓(xùn)練;
算法流程圖如圖2所示.
本文基于中文維基百科語料庫和100篇石油文檔,涵蓋了油氣地質(zhì)勘探、油氣田開發(fā)與開采等石油領(lǐng)域的10個(gè)子學(xué)科,每個(gè)子學(xué)科10篇文檔.然后利用3.5節(jié)所述特征,利用libsvm工具進(jìn)行訓(xùn)練詞匯語義關(guān)系SVM分類器,最后在測(cè)試語料庫上對(duì)識(shí)別效果進(jìn)行綜合評(píng)價(jià).
首先從維基百科的語料庫中下載中文維基百科數(shù)據(jù)集并進(jìn)行處理,將100篇石油文檔進(jìn)行處理制作數(shù)據(jù)集,然后用隱馬爾科夫模型進(jìn)行分詞和詞性標(biāo)注,制作成語料庫.然后利用word2vec對(duì)語料進(jìn)行訓(xùn)練,得到50維、100維、200維和400維詞向量.
利用是有詞典查找語料庫中包含的具有代表性的石油專業(yè)術(shù)語150個(gè),制作語義關(guān)系訓(xùn)練數(shù)據(jù)集,三類關(guān)系分別提取1500個(gè)詞對(duì).每類關(guān)系取1000個(gè)詞對(duì)作為訓(xùn)練集,500個(gè)詞對(duì)作為測(cè)試集.本文模型及參數(shù)設(shè)置如表2所示.

圖2 語義識(shí)別流程圖

表1 模型參數(shù)設(shè)置表
為了準(zhǔn)確定義評(píng)價(jià)指標(biāo),定義一個(gè)評(píng)價(jià)矩陣C(2×3),cij(i∈{1,2,3},j∈{0,1})表示詞對(duì)數(shù)量,i表示關(guān)系類別(包括上下義關(guān)系、總分關(guān)系和類義關(guān)系),j=0表示關(guān)系識(shí)別錯(cuò)誤,j=1表示關(guān)系識(shí)別正確.本文使用準(zhǔn)確率、召回率和F值對(duì)本文提出的方法進(jìn)行評(píng)價(jià).其中,準(zhǔn)確率是語義關(guān)系識(shí)別正確的詞語數(shù)與具有語義關(guān)系詞語總數(shù)的比率,衡量的是語義關(guān)系識(shí)別結(jié)果的查準(zhǔn)率;召回率是語義關(guān)系識(shí)別正確的詞語數(shù)與實(shí)際具有語義關(guān)系詞語總數(shù)的比率,衡量的是語義關(guān)系識(shí)別結(jié)果的查全率.兩者取值在0和1之間,數(shù)值越接近1,準(zhǔn)確率或召回率就越高,定義如下:


基于4.1節(jié)所述數(shù)據(jù)集,利用第3節(jié)所述方法進(jìn)行試驗(yàn),最后在測(cè)試集上進(jìn)行評(píng)價(jià).
表2給出了三種關(guān)系分別在50維、100維、200維和400維的詞向量表示條件下,基于向量差、向量和、向量和乘和向量連接這4中不同分類特征時(shí)SVM分類的F值.

表2 不同詞向量維度、不同特征下語義關(guān)系識(shí)別F值
為了更直觀的觀察不同維度對(duì)語義關(guān)系識(shí)別的效果,將表2中的數(shù)據(jù)以折線圖的形式進(jìn)行展示,如圖3、圖4、圖5所示.
從表2和圖3、圖4、圖5中可以看出,不同詞向量維度和向量特征對(duì)詞匯語義關(guān)系的識(shí)別有一定的差異.總體來看,當(dāng)詞向量維度越大時(shí),識(shí)別效果越好.向量和對(duì)上下義關(guān)系識(shí)別較好,而向量乘則對(duì)總分關(guān)系識(shí)別較好.綜合識(shí)別效果和計(jì)算復(fù)雜度等因素,最終選擇維度為200的詞向量進(jìn)行特征組合試驗(yàn),測(cè)試不同特征對(duì)識(shí)別效果的影響,實(shí)驗(yàn)結(jié)果如表3和圖6所示.

圖3 不同詞向量維度下的上下義關(guān)系F值

圖4 不同詞向量維度下的總分關(guān)系F值

圖5 不同詞向量維度下的類義關(guān)系F值

表3 不同特征組合時(shí)的三種語義關(guān)系識(shí)別F值

圖6 不同特征下三種關(guān)系F值
實(shí)驗(yàn)結(jié)果表明,在使用單個(gè)特征進(jìn)行識(shí)別時(shí),fadd特征的綜合性最好.因此在的基礎(chǔ)上再組合其他特征.通過表3和圖6可以看出,隨著特征的增加,識(shí)別效果的F值也在增加,說明增加特征可以提高語義關(guān)系的識(shí)別效果.當(dāng)四種特征全部組合時(shí),識(shí)別效果達(dá)到最好,三種語義關(guān)系的F值分別達(dá)到了0.791、0.784和0.802,效果非常好.
最后與傳統(tǒng)CBOW模型訓(xùn)練的詞向量進(jìn)行試驗(yàn)對(duì)比,維度為200維,特征包含向量差、和、乘、連接四種特征,實(shí)驗(yàn)結(jié)果如表4和圖7所示.

表4 傳統(tǒng)CBOW模型詞向量與改進(jìn)詞向量F值

圖7 不同傳統(tǒng)CBOW模型詞向量與改進(jìn)詞向量F值
實(shí)驗(yàn)結(jié)果表明,傳統(tǒng)CBOW模型詞向量對(duì)上下義關(guān)系、總分關(guān)系和類義關(guān)系識(shí)別的F值分別為0.655、0.701和0.687,改進(jìn)的詞向量對(duì)三種關(guān)系的識(shí)別F值分別為0.791、0.784和0.802.改進(jìn)的詞向量相對(duì)于傳統(tǒng)的詞向量,對(duì)三種語義關(guān)系的識(shí)別效果提高了20.8%、11.8%和16.7%,識(shí)別效果提高顯著.
石油領(lǐng)域文檔的語義關(guān)系識(shí)別是構(gòu)建石油領(lǐng)域本體的重要步驟.本文提出基于改進(jìn)詞向量的石油文檔語義關(guān)系識(shí)別算法,利用CBOW模型對(duì)是由專業(yè)術(shù)語進(jìn)行擴(kuò)展訓(xùn)練,增加正樣本權(quán)重,結(jié)合負(fù)采樣和二次采樣提高準(zhǔn)確率和效率,再利用SVM對(duì)語義關(guān)系進(jìn)行識(shí)別.實(shí)驗(yàn)結(jié)果表明,本文提出的方法在石油領(lǐng)域?qū)I(yè)術(shù)語語義關(guān)系識(shí)別方面具有明顯的優(yōu)勢(shì).結(jié)合“向量差”、“向量和”、“向量乘”和“向量并”特征,在語義關(guān)系識(shí)別方面具有很好的效果.同時(shí),各種特征及其組合特征在測(cè)試集上的F值大部分都在0.8以下,說明語義關(guān)系識(shí)別仍然不夠準(zhǔn)確.在下一步工作中,尋求更好的分類特征和新的詞向量表示形式是研究重點(diǎn).