張建華,翁 鳴,李曉樂,劉 芳
(廣西財經(jīng)學(xué)院 實驗教學(xué)中心,廣西 南寧 530003)
基于依存句法和二叉樹模型的評價對象抽取
張建華,翁 鳴,李曉樂,劉 芳
(廣西財經(jīng)學(xué)院 實驗教學(xué)中心,廣西 南寧 530003)
識別出評論中的評價對象有利于商家了解用戶關(guān)心的產(chǎn)品特征,為進(jìn)一步設(shè)計和升級產(chǎn)品提供決策。根據(jù)詞之間的相互依賴關(guān)系,提出一種基于依存句法分析和二叉樹模型的評價對象識別方法。首先通過依存關(guān)系分析,得到句法結(jié)構(gòu)語句;然后采用二叉樹模型,將名詞和名詞詞組出現(xiàn)頻率高的句法結(jié)構(gòu)構(gòu)造成二叉樹;最后采用二叉樹遍歷算法對樹庫中的每一棵二叉樹進(jìn)行遍歷,將所得的字符串進(jìn)行組合,最終得到具有完整意義的評價對象。實驗結(jié)果表明,該方法在兩類測試集上都取得了一定的效果。
依存句法分析;評價對象;二叉樹
用戶常對購買服飾的尺碼、款型或電腦價格、售后服務(wù)等做出評價,這些經(jīng)過用戶評價的實體屬性被稱為評價對象(Evaluation Object)[1]。識別出正確的評價對象對信息發(fā)布者和生產(chǎn)商都有著巨大的利益。商家從評價對象中能夠了解用戶最在意的產(chǎn)品特征,使其在生產(chǎn)商品時從用戶的角度出發(fā),設(shè)計生產(chǎn)出符合用戶需要的產(chǎn)品。然而與傳統(tǒng)的信息抽取不同的是,在網(wǎng)絡(luò)評論中評價對象所在的上下文環(huán)境復(fù)雜,評論用語不規(guī)范,評論句長短不一。這使得評論中的很多句子無法被正確分詞,同時造成詞性標(biāo)注錯誤。因此評價對象的識別問題面臨著巨大挑戰(zhàn)。目前已有研究人員進(jìn)行了相關(guān)的工作。
Eirinaki等[2]將由大量形容詞描述的名詞作為關(guān)鍵特征,對名詞累計計分,通過預(yù)設(shè)的閾值排除分值較低的名詞,剩下名詞作為重要的評價對象。文坤梅等[3]針對無主謂句法的句子建立root規(guī)則,抽取評價對象。針對極性詞對潛在評價對象的依賴關(guān)系建立target規(guī)則,抽取評價詞。為了提高召回率,在root規(guī)則和target規(guī)則上,根據(jù)評價對象之間的連接關(guān)系,建立extend規(guī)則,從已知的評價對象出發(fā)找到未知的評價對象。但僅對微博領(lǐng)域的句子進(jìn)行處理。Qiu等[4]首先使用詞性標(biāo)注工具尋找形容詞和名詞,建立候選評價詞庫,然后使用句法分析工具建立評價詞和評價對象之間的雙向抽取規(guī)則。徐葉強(qiáng)等[5]利用詞性規(guī)則抽取候選的評價對象,再通過一些特殊詞以及評價對象的非完整性等對候選的對象進(jìn)行噪聲過濾,最后對評價對象進(jìn)行置信度計算,從而確定最終的評價對象。許細(xì)清等[6]根據(jù)上下文線索對候選對象進(jìn)行過濾,其中包括點互信息PMI方式;通過對候選對象和評論領(lǐng)域進(jìn)行相關(guān)性分析確定評價對象。Yu等[7]在統(tǒng)計學(xué)和句法規(guī)則的基礎(chǔ)上,根據(jù)評價對象出現(xiàn)的相對頻率找到候選評價對象,通過改進(jìn)它們的TF-IDF值,找到大于設(shè)定閾值的對象作為最終結(jié)果。戴敏等[8]在CRF模型的基礎(chǔ)上引入豐富的句法特征抽取評價對象。文獻(xiàn)[9]從評論中抽取頻繁的名詞、名詞短語作為候選特征,通過對這些特征建立單一的SVM分類器來識別評價對象。CRF、SVM都屬于監(jiān)督學(xué)習(xí)的一種,這種方法依賴于大量語料集,需要人工對訓(xùn)練集事先標(biāo)記。而網(wǎng)絡(luò)上的信息大規(guī)模地增長,僅依靠人力對這些數(shù)據(jù)進(jìn)行標(biāo)記和訓(xùn)練根本無法實現(xiàn)。無監(jiān)督學(xué)習(xí)模型LDA無需事先對數(shù)據(jù)集進(jìn)行標(biāo)記。Titov等[10]認(rèn)為標(biāo)準(zhǔn)的LDA模型抽取的主題主要是針對某個品牌的,無法進(jìn)一步細(xì)化到產(chǎn)品的具體特征上。為解決LDA在特征抽取時造成的品牌傾斜問題,Titov等提出一種多粒度的主題模型。文獻(xiàn)[11]將LDA應(yīng)用到句子級上,通過設(shè)置少量的主題數(shù)抽取評價對象,有效解決了Titov等提出的問題。但LDA更適合處理特征豐富的文本。
除上述方法之外,依存句法分析也經(jīng)常被應(yīng)用到數(shù)據(jù)挖掘和文本分析領(lǐng)域,也有一些研究者采用依存句法分析抽取評價對象[12-13]。不同于已有的研究工作,文中鑒于構(gòu)成評價對象的名詞或名詞詞組多出現(xiàn)在主謂關(guān)系、并列關(guān)系等句法結(jié)構(gòu)中,在依存句法分析的基礎(chǔ)上,采用二叉樹對名詞或名詞詞組出現(xiàn)頻率較高的句法結(jié)構(gòu)進(jìn)行挖掘。首先通過依存句法分析生成依存句法關(guān)系結(jié)構(gòu)語句,為方便對這些語句進(jìn)行遍歷,以其中一些結(jié)構(gòu)語句(如主謂關(guān)系結(jié)構(gòu))為核心構(gòu)造二叉樹。然后遍歷每一棵二叉樹,最終識別出具有完整含義的評價對象。該方法在兩類測試集上都取得了不錯的效果。
圖1是抽取評價對象的整個處理過程。
圖1 評價對象抽取工作流程
描述如下:
(1)數(shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理主要是指分詞和詞性標(biāo)注,這是依存句法分析的前提。
(2)依存句法分析。依存句法分析(Dependency Parsing,DP)最早由法國的語言學(xué)家L.Tesniere提出[14],指通過分析句子內(nèi)各詞語之間的依賴關(guān)系識別出“主謂賓”、“定狀補(bǔ)”等語法關(guān)系。依存句法分析可服務(wù)于關(guān)鍵詞識別、自動問答等與自然語言處理相關(guān)的各種任務(wù)。其分析結(jié)果對應(yīng)于一棵依存樹(如圖2所示),依存樹展示了句子各個成分之間的依賴關(guān)系。
圖2 依存樹示例
通過依存句法分析,得到依存句法關(guān)系結(jié)構(gòu)庫,每一個句法結(jié)構(gòu)描述了單詞在文本中出現(xiàn)的位置以及各單詞之間的句法關(guān)系。
(3)二叉樹構(gòu)造。為了發(fā)現(xiàn)文本中的評價對象,需要遍歷句法結(jié)構(gòu)庫。文中將庫中的結(jié)構(gòu)語句構(gòu)造成一棵棵二叉樹,得到二叉樹庫。
(4)二叉樹遍歷。對二叉樹庫中的每一棵樹進(jìn)行中序或后序遍歷,將得到的字符串組合得到最終的評價對象。
(5)建模與測試。為驗證算法的性能,使用三類數(shù)據(jù)集分別用于建模和測試。
2.1 依存句法分析
通過依存句法分析,生成一系列依存句法關(guān)系結(jié)構(gòu),如表1所示。
表1 依存句法關(guān)系結(jié)構(gòu)示例
用戶評論中的評價對象大都以單一名詞或者名詞詞組的方式出現(xiàn)。通過依存句法分析發(fā)現(xiàn),名詞直接出現(xiàn)在一些主謂關(guān)系、并列關(guān)系、動賓關(guān)系等結(jié)構(gòu)語句中。構(gòu)成名詞詞組的詞語主要出現(xiàn)在主謂關(guān)系、并列關(guān)系等前后結(jié)構(gòu)中。如“酒店的位置不錯”對應(yīng)的句法結(jié)構(gòu)為“酒店_0位置_2 ATT/的_1 酒店_0 RAD/位置_2 不錯_3 SBV/不錯_3 -1 HED”。完整的評價對象“酒店的位置”由詞“酒店”、“位置”組成,“位置”出現(xiàn)在“位置_2 不錯_3 SBV”主謂關(guān)系結(jié)構(gòu)中,“酒店”出現(xiàn)在前面的結(jié)構(gòu)“酒店_0位置_2 ATT”和“的_1 酒店_0 RAD”中,且三者之間通過一些共同的詞語產(chǎn)生了聯(lián)系。
文中主要對8種成分的依存關(guān)系進(jìn)行分析。8種成分的依存關(guān)系及其示例見表2。
表2 依存關(guān)系類型及示例
2.2 二叉樹構(gòu)造和遍歷
表3顯示了在二叉樹構(gòu)造和遍歷算法中使用的部分符號的含義,其余符號可類推。
表3 符號約定
算法1:二叉樹構(gòu)造。
1)將T分成M個獨(dú)立的段落,構(gòu)造第一棵二叉樹。
(1)按行號依次遍歷Tm,找到X1_x1Y1_y1SBV,繼續(xù)遍歷,若發(fā)現(xiàn)Y1_y1Y2_y2SBV,且X2=Y1,執(zhí)行(2),否則執(zhí)行(3)。
(2)將X2_x2Y2_y2SBV中的Y2作為根,X2作為Y2左孩子;同時將X1_x1Y1_y1SBV中的X1作為X2的左孩子,生成一棵二叉樹。
(3)將X1_x1Y1_y1SBV中的Y1作為根,X1作為Y1左孩子,生成一棵二叉樹。
(4)繼續(xù)遍歷Tm,尋找Z1_z1Y1_y1VOB。存在,將Z1作為Y1的右孩子;否則尋找Z1_z1Y1_yIOB,將Z1作為Y1的右孩子;否則尋找Z1_zY1_y1FOB,將Z1作為Y1的右孩子;否則尋找Z1_z1Y1_y1POB,將Z1作為Y1的右孩子。若都不滿足,執(zhí)行(5)。
(5)尋找C1_c1Y1_y1COO,存在記Y1=C1,再次執(zhí)行(4),否則執(zhí)行(6)。
(6)Y1沒有賓語,Y1的右孩子為空。
2)第一棵二叉樹構(gòu)造結(jié)束,在第一棵二叉樹的基礎(chǔ)上構(gòu)造后續(xù)的二叉樹。
(1)X1作為第2棵二叉樹的根,遍歷Tm,尋找X1L1_x1l1X1_x1ATT或X1L2_x1l2X1_x1ADV或X1L3_x1l3X1_x1VOB,X1L1作為X1的左孩子,右孩子為空;按照x1l1、x1l2、x1l3由小到大的順序構(gòu)造X1的左子樹。
(2)以X1L1為根,X1L1L1_x1l1l1X1L1_x1l1ATT或X1L1L2_x1l1l2X1L1_x1l1ADV,同(1),構(gòu)造X1L1的左子樹。
(3)同(2),構(gòu)造X1L2,X1L3,…的左子樹。
(4)尋找C2_c2X1_x1COO,X1的左子樹作為C2的左子樹,X1的右子樹作為C1的右子樹,構(gòu)造以C1為根的后續(xù)二叉樹。
3)若Y1的右子樹不空,則構(gòu)造一系列以Z為根的二叉樹,否則執(zhí)行4)。
(1)同2)步驟(1),構(gòu)造Z1的左子樹Z1L1,右子樹空;構(gòu)造Z1L1的左子樹Z1L1L1,右子樹空。
(2)同2)步驟(4),尋找句法關(guān)系D1_d1Z1_z1COO,Z1的左子樹作為D1的左子樹,Z1的右子樹作為Z1的右子樹,構(gòu)造以D1為根的后續(xù)二叉樹。
4)Y1的右子樹為空,構(gòu)造Y1樹。尋找Y1L1_y1l1Y1_y1ATT或Y1L2_y1l2Y1_y1ADV,類似于2)步驟(1),若yl1
算法2:二叉樹遍歷。
(1)對二叉樹進(jìn)行中序遍歷,得到的第一個節(jié)點X1(如果X2不存在,否則X2作為候選的評價對象)作為候選評價對象,Z作為候選評價詞。
(2)后序遍歷以X1、X1L1、X1L1L1…為根的二叉樹,得到后序序列newX1、newX1L1、newX1L1L1,構(gòu)造字符串X1=…+newX1L1L1+newX1L1+newX1,作為最終評價對象。
(3)后序遍歷以Z1、Z1L1、Z1L1L1…為根的二叉樹,得到后序序列newZ1、newZ1L1、newZ1L1L1,構(gòu)造字符串Z1=…+newZ1L1L1+newZ1L1+newZ1,作為最終評價詞。
(4)得到評價對象和評價詞的二元組
(5)后序遍歷以D1、D1L1、D1L1L1…為根的二叉樹,得到后序序列newD1、newD1L1、newD1L1L1,構(gòu)造字符串D1=…+newD1L1L1+newD1L1+newD1,作為新的評價詞。
(6)得到新的評價對象和評價詞的二元組
(7)若X1的并列對象C1存在,則后續(xù)遍歷C1,得到C1…+newC1L1L1+newC1L1+newC1。得到新的評價對象C1和評價詞二元組
圖3是二叉樹構(gòu)造的示例。通過上述算法挖掘句子“酒店環(huán)境,房間檔次都很不錯,服務(wù)水平專業(yè)。住了兩天,感覺確實比較不錯,二樓自助燒烤給人賓至如歸的感覺”的評價對象有“房間檔次”、“酒店環(huán)境”、“二樓燒烤”。
圖3 二叉樹構(gòu)造示例
文中使用的數(shù)據(jù)集如表4所示。
表4 數(shù)據(jù)集
其中,CⅠ用于建模,CⅡ和CⅢ作為測試集來進(jìn)一步驗證算法的性能。CⅠ中文本長短不一,50字左右的評論占3/5左右;CⅡ中大部分評論的字?jǐn)?shù)在100字左右;CⅢ中大部分的評論字?jǐn)?shù)在20字左右。
三類數(shù)據(jù)集得到的各個性能指標(biāo)如表5所示。
表5 測試結(jié)果
從表5中,可以得到以下結(jié)論:
(1)文中提出的算法在兩類測試集上能夠取得一定的效果。
(2)CⅠ和CⅡ的召回率比準(zhǔn)確率高。數(shù)據(jù)集中,主觀性句子的出現(xiàn)影響了準(zhǔn)確率。雖然通過依存關(guān)系分析能夠挖掘到主觀句中的名詞或名詞詞組,但這些詞語僅是對事物的陳述,不含用戶的任何感情色彩,并不能作為評價對象。
(3)CⅢ得到的召回率較低,準(zhǔn)確率較高。由于CⅢ中大部分的評論句較短,句法結(jié)構(gòu)不規(guī)則,生成的一些句法結(jié)構(gòu)出現(xiàn)錯誤。
由于網(wǎng)絡(luò)用語使用不規(guī)范,每一個商業(yè)領(lǐng)域都有自己專用的術(shù)語,使得評價對象在網(wǎng)絡(luò)評論中的識別問題面臨著巨大挑戰(zhàn)。雖然一些分詞、詞性標(biāo)注工具在處理新聞等時事類文章時表現(xiàn)出優(yōu)越的性能,但是對網(wǎng)絡(luò)評論這類語句的分詞、標(biāo)注處理得并不理想。為了解決評價對象識別問題,一些專家學(xué)者不斷提出、改進(jìn)新的算法,這些算法針對一些特定的問題能夠取得較高的指標(biāo),但是目前仍沒有形成統(tǒng)一的、相對成熟的模型來解決這類普遍的問題。
文中選擇對評價對象出現(xiàn)頻率高的句法關(guān)系結(jié)構(gòu)構(gòu)造二叉樹,減少了對于無效句法關(guān)系結(jié)構(gòu)的挖掘。經(jīng)驗證,該算法取得了不錯的效果,且召回率在不同的數(shù)據(jù)集上都趨于穩(wěn)定。在下一步的工作中,將針對主觀性句子對算法的影響進(jìn)行分析,在去除主觀性句子的基礎(chǔ)上進(jìn)一步研究算法的性能,并將算法拓展到其他知識領(lǐng)域。
[1] 劉鴻宇,趙妍妍,秦 兵,等.評價對象抽取及其傾向性分析[J].中文信息學(xué)報,2010,24(1):84-88.
[2]EirinakiM,PisalS,SinghJ.Feature-basedopinionminingandranking[J].JournalofComputerandSystemSciences,2012,78(4):1175-1184.
[3] 文坤梅,徐 帥,李瑞軒,等.微博及中文微博信息處理研究綜述[J].中文信息學(xué)報,2013,26(6):27-37.
[4]QiuG,LiuB,BuJ,etal.Opinionwordexpansionandtargetextractionthroughdoublepropagation[J].ComputationalLinguistics,2011,37(1):9-27.
[5] 徐葉強(qiáng),朱艷輝,王文華,等.中文產(chǎn)品評論中評價對象的識別研究[J].計算機(jī)工程,2012,38(20):140-143.
[6] 許細(xì)清,林世平.Web文檔評價對象抽取研究[J].計算機(jī)工程,2011,37(6):30-31.
[7]YuL,DuanX,TianS,etal.Topicextractionbasedonproduct
reviews[J].JournalofComputationalInformationSystems,2013,9(2):773-780.
[8] 戴 敏,王榮洋,李壽山,等.基于句法特征的評價對象抽取方法研究[J].中文信息學(xué)報,2014,28(4):92-97.
[9]YuJ,ZhaZJ,WangM,etal.Domain-assistedproductaspecthierarchygeneration:towardshierarchicalorganizationofunstructuredconsumerreviews[C]//Proceedingsoftheconferenceonempiricalmethodsinnaturallanguageprocessing.[s.l.]:AssociationforComputationalLinguistics,2011:140-150.
[10]TitovI,McDonaldR.Modelingonlinereviewswithmulti-graintopicmodels[C]//Proceedingsofthe17thinternationalconferenceonworldwideweb.NewYork:ACM,2008:111-120.
[11]BrodyS,ElhadadN.Anunsupervisedaspect-sentimentmodelforonlinereviews[C]//Proceedingsofhumanlanguagetechnologies:the2010annualconferenceoftheNorthAmericanchapteroftheassociationforcomputationallinguistics.Str-oudsburg,PA:AssociationforComputationalLinguistics,2010:804-812.
[12] 任 彬,車萬翔,劉 挺.基于依存句法分析的社會媒體文本挖掘方法—以飲食習(xí)慣特色分析為例[J].中文信息學(xué)報,2014,28(6):208-215.
[13] 陶新竹,趙 鵬,劉 濤.融合核心句與依存關(guān)系的評價搭配抽取[J].計算機(jī)技術(shù)與發(fā)展,2014,24(1):118-121.
[14]DebusmannR.Anintroductiontodependencygrammar[J].HausarbeitfurdasHauptseminarDependenzgrammatikSoSe,2000,99:1-16.
Extraction of Evaluation Object Based on Dependency Parsing and Binary Tree
ZHANG Jian-hua,WENG Ming,LI Xiao-le,LIU Fang
(Experimental Teaching Center,Guangxi University of Finance and Economics,Nanning 530003,China)
It’s beneficial for finding productions’ feature that users care,by identifying the evaluation objects in comments,which provides decision basis for improving productions’ equality.According to the interdependence between words,an evaluation object identifying method based on dependency parsing and binary tree was proposed.By dependency relation analyzing,grammar relations sentences are found.Then construct binary trees with noun and noun phrases based on the binary tree model.Finally,traverse all binary trees,output relative strings,and combined the outputting strings,get evaluation objects with complete meaning.Experimental results show that this method has good effects in two specific test sets.
dependency parsing;evaluation object;binary tree
2015-05-12
2015-08-14
時間:2016-01-26
廣西高等學(xué)校科學(xué)技術(shù)研究項目(2013YB215);廣西財經(jīng)學(xué)院數(shù)量經(jīng)濟(jì)學(xué)創(chuàng)新團(tuán)隊開放性基金項目(2014CX07)作者簡介:張建華(1986-),女,碩士研究生,研究方向為數(shù)據(jù)挖掘、自然語言處理;翁 鳴,博士,副教授,研究方向為數(shù)據(jù)挖掘、電子商務(wù)。
http://www.cnki.net/kcms/detail/61.1450.TP.20160126.1520.042.html
TP393.4;TP391.1
A
1673-629X(2016)02-0052-04
10.3969/j.issn.1673-629X.2016.02.012