摘 要:比較句是表明事物之間關系的常見表達方式,對于文本挖掘,特別是情感分析,具有重要的價值。目前漢語比較句的研究還是一個新穎的課題,包括漢語比較句的識別和比較關系的抽取。對于漢語比較句的識別,在前人研究的基礎上,以SVM為分類器,以特征詞和CSR序列規則為特征,同時利用CRF算法抽取實體對象,并增加以實體對象的信息作為特征,顯著提高了比較句識別的準確率、召回率和F-度量,最高分別達到96.55%、88.63%和92.43%。對于漢語比較關系的抽取,在CRF算法抽取實體對象的基礎上,通過定義一些規則,抽取比較主體和比較基準,也取得了較好的效果,其中比較主體的抽取效果要好于比較基準。
關鍵詞:比較句; 比較關系; CRF模型; 比較主體; 比較基準
中圖分類號:TP309文獻標志碼:A
文章編號:1001-3695(2010)06-2061-04
doi:10.3969/j.issn.1001-3695.2010.06.018
Mining Chinese comparative sentences and relations based on CRF algorithm
HUANG Gao-hui, YAO Tian-fang, LIU Quan-sheng
(Dept. of Computer Science Engineering, Shanghai Jiaotong University, Shanghai 200240, China)
Abstract:Comparative sentences are a common kind of expression to indicate the relations of different objects. They are valuable for text mining, especially for opinion mining. It is a novel research to identify Chinese comparative sentences and extract comparative relations. To identify Chinese comparative sentences, this paper took SVM as classifier and regarded keywords and class sequential rule as feature based on the previous research, and then used CRF algorithm to identify entity and also took the entity’s information as feature. Finally, remarkably improve the precision, recall and F-measure for identifying comparative sentences and got the result up to 96.55%, 88.63% and 92.43% respectively. To mine comparative relations, extracted comparative subject and objected by defining some rules together with the result of CRF algorithm for identifying entity, and obtained good result. And the result to extract comparative subject is better than comparative object.
Key words:comparative sentence; comparative relation; CRF model; comparative subject; comparative object
0 引言
比較句是日常生活中常見的一種表達方式。通過比較,人們能夠很方便地表達自己的想法和情感,從而得知不同事物之間孰優孰劣。比較句的研究對于文本挖掘,特別是情感分析,具有非常重要的價值。比如在對論壇和博客上的產品評論進行研究時,可以利用比較句分析同類產品之間的異同和優劣,從而正確指導用戶購買產品。同時,在情感問答系統中存在著一類與比較相關的問題,如問句“寶馬和奔馳相比,誰的性價比更高?”,回答這個情感問題需要對寶馬和奔馳進行比較,而直接對語料庫中與寶馬和奔馳相關的比較句進行分析,將是最直接最有效的方式。
目前,有關比較句的研究還不是很多。在英語方面,Jindal等人[1]首先利用支持向量機(SVM)和CSR(class sequential rules)算法對比較句進行識別,最高取得了84%的準確率和83%的召回率;然后他們又利用LSR(label sequential rules)算法對比較元素進行抽取,取得了較好的效果[2]。Feldman等人[3]利用規則的方法從論壇上抽取產品的名稱和屬性,并對不同產品進行比較。Sun等人[4,5]則通過Web搜索來尋找兩個對象之間的關系。
在漢語方面,比較句的研究主要集中在語言學領域,包括比較的范疇[6]、典型的比較句式[7]、比較的語義[8]等。但是從計算語言學和數據挖掘等領域對漢語比較句的研究較少,北京大學的黃小江等人[9]在Nitin研究的基礎上,利用SVM和CSR算法對漢語比較句進行識別,取得了較高的準確率,但是召回率不高,平均只有70%左右。
由于漢語的句式更加靈活多樣,漢語比較句的研究相對更加困難。比較句的研究包括兩個任務:首先需要正確識別比較句;然后抽取比較關系。本文利用條件隨機場(CRF)模型,對文獻[1,9]中的比較句識別分類算法進行了改進,顯著提高了準確率、召回率和F-度量;然后結合CRF算法對比較關系進行分析,取得了較好的效果。
1 漢語比較句介紹
漢語比較句描述了兩個或多個對象在某個屬性上的位置關系,結合文獻[1,9]的定義,一個典型的漢語比較句包含四個基本比較元素,即比較主體、比較基準、比較點和比較結果。本文把比較主體和比較基準稱為比較實體對象,比較點稱為比較屬性。同時,這個四元組也構成了比較關系,如例句“諾基亞的性能比三星好”,這個比較句可以表示成四元組〈諾基亞,三星,性能,好〉。當然,并不要求一個比較句都具備這四個比較元素。比如,在比較句“諾基亞好于三星”中,比較點是缺省的;而在比較句“諾基亞的質量是最好的”中,比較基準則是缺省的。要抽取比較關系,就是要抽取這四個比較元素。
語義上,根據比較所描述的關系,可以進一步對比較句進行細分。目前,具體的劃分方法在語言學界還存在爭議,本文采用文獻[9]中的劃分方法,如表1所示。由于差比中的不同并沒有直接反映比較主體與比較基準之間的關系,將只研究平比、高下和極比三種比較句類型。
表1 比較的次范疇
次范疇語義例句
平比被比較對象的屬性相同或近似法拉利和保時捷一樣高貴
兩者之間有順序上的差異法拉利的速度比保時捷更快
差高下多者之間的極值保時捷是最時尚的
比極比不同兩者存在差異,但沒有高低之分法拉利和保時捷的生產商不同
在英文中,比較句的特征往往比較明顯,如形容詞和副詞的比較級和最高級形態等。漢語比較句的特征則復雜多樣,這也使得準確識別漢語比較句比較困難。參考文獻[9]所作的歸納,漢語比較句的特征如下:a)相對程度副詞,包括最、極、頂、更、更加、越發、愈發等詞,如例句“奧迪車是性價比最高的”;b)比較虛詞,包括比、于等詞,是比較句的重要標志,如例句“法拉利跑車的流線感好于保時捷”;c)比較實詞,包括超過、一樣、差不多等詞;d)句法模式,主要是一些比較固定的比較句句法模式,如“X 像Y一樣(R)”等。
2 漢語比較句的識別和關系抽取
2.1 漢語比較句的識別
比較句的識別任務就是對一個任意的句子判斷其是否屬于比較句,這是一個二分類問題。文獻[1,9]均采用了基于特征詞的分類算法和基于CSR的分類算法,分別對英語和漢語比較句進行研究。所謂CSR就是指類序列規則,主要是從句法上抽取一些序列模式作為特征。文獻[9]列舉了大量的漢語比較句的類序列規則,如“和/p … 相近/a”“和/p …比/v”“*/n… 比/p”“*/a… 于/p”“*/v… 于/p”“相比/v … */n”“*/n比/p */n”“沒有/d */v”等。其中“*”表示任意滿足條件的詞。通過定義規則的窗口大小,可以抽取句子中滿足條件的序列規則。采用SVM算法,分別以特征詞和CSR序列規則為特征,文獻[1]對于英語比較句最高取得了84%的準確率和83%的召回率,文獻[9]對于漢語比較句最高取得了90%以上的準確率,但是召回率平均只達到70%。由此可見,不論以特征詞為特征還是以CSR序列規則為特征,召回率都較低。通過觀察語料,發現這是因為在比較句中有一大類特征詞和CSR序列規則,在非比較句中也很常見,同時由于數據稀疏,從而造成了分類錯誤。如例句:
(1)諾基亞手機的質量強于三星。
(2)諾基亞的總部位于芬蘭。
(3)三星沒有諾基亞好用。
(4)三星手機沒有抗震功能。
在上述例句中,以特征詞為特征,例句(1)和(2)具有特征詞“于”,例句(3)和(4)具有特征詞“沒有”;以CSR序列規則為特征,例句(1)和(2)都滿足序列規則“*/v… 于/p”,例句(3)和(4)都滿足序列規則“沒有/d */v”。但是只有例句(1)和(3)是比較句,例句(2)和(4)則是非比較句。若只采用比較詞或CSR序列規則作為特征,上述例句將很容易被誤分類,而這類句子在比較句中占有很大的比例。
一個完整的比較句具有比較主體和比較基準兩個比較對象。在比較句中,比較主體和比較基準往往位于比較特征詞和CSR序列規則的兩側,如例句(1)中,比較主體“諾基亞手機”位于比較詞“于”之前,而比較基準“三星”則位于比較詞“于”之后;例句(3)中,比較主體“三星”和比較基準“諾基亞”分別位于CSR序列規則“沒有/d */v”前后。而非比較句則往往不具備這樣的特征,它們往往只有一個描述實體對象。因此,本文將在文獻[1,9]的研究基礎上,以特征詞、CSR序列規則和實體對象信息(主要是對象的位置和數量)作為特征,對比較句進行識別。而實體對象本質上是句子中的主題,具體針對某個領域則是領域主題,如例句(1)中的實體對象諾“基亞手機”和“三星”都是數碼產品領域主題。目前,在主題的識別算法中,CRF算法取得了較好的效果,因此本文將采用CRF算法識別實體對象。而且在抽取實體對象的信息時,只需要抽取實體對象的位置和數量,對于主題識別的準確率要求并不高,因此CRF算法識別主題的誤差對于比較句分類的影響不大。同時,利用CRF算法抽取的實體對象,也可以用于后面的比較關系抽取。
2.2 條件隨機場模型
條件隨機場(CRF)由Lafferty等人[10]于2001年提出,結合了最大熵模型和隱馬爾可夫模型的特點,是一種無向圖模型,近年來在分詞、詞性標注和命名實體識別等序列標注任務中取得了很好的效果。條件隨機場是一個典型的判別式模型,其聯合概率可以寫成若干勢函數聯乘的形式,其中最常用的是線性鏈條件隨機場。若讓x=(x1,x2,…,xn)表示被觀察的輸入數據序列,y=(y1,y2,…,yn)表示一個狀態序列,在給定一個輸入序列的情況下,線性鏈的CRF模型定義狀態序列的聯合條件概率為
p(y|x)=1Z(x)exp∑ni=1∑jλjfj(yi-1,yi,x,i)
Z(x)=∑yexp∑ni=1∑jλjfj(yi-1,yi,x,i)
其中:Z是以觀察序列x為條件的概率歸一化因子;fj(yi-1,yi,x,i)是一個任意的特征函數;λj是每個特征函數的權值。
對于條件隨機場模型的訓練,一般是利用最大似然法則獲得定義特征的權值;而在預測實例中,則采用Viterbi算法來尋找在觀測序列x條件下,具有最大條件概率的狀態序列,即arg max P(y|x)。
在本文中實體對象本質上屬于句子中的主題,特別是領域主題,因此實體對象的識別實際上是一個序列標注問題,可以采用CRF模型。在CRF模型中,特征的選擇至關重要。在這里選取的特征為詞(W)、詞性(P)、領域詞典(D)和停用詞詞典(S),以及由它們組合而成的復雜特征。特征模板如表2所示。
表2 CRF模型特征模板
特征模板原子特征復合特征
模板1W,P,SWnPnSn,PnPn+1 SnSn+1,WnWn+1 n=-2,-1,0,1
模板2W,P,S,DWnPnSn,PnPn+1 SnSn+1,WnWn+1 DnDn+1 n=-2,-1,0,1
2.3 漢語比較句的關系抽取
在識別出比較句之后,可以進一步研究比較句的關系。根據第1章的定義,漢語比較句可以表示為一個四元組〈比較主體,比較基準,比較點,比較結果〉,抽取比較句的關系,就是抽取這四個比較元素。
對于比較主體和比較基準,Jindal等人在文獻[2]中采用LSR算法進行抽取,主要是利用一些英語短語的關系來抽取規則。由于漢語中的短語更加復雜,而且漢語分詞和詞性標注的準確率與英語相比還存在較大差距,這種基于短語規則的方法不能簡單應用于漢語比較句。
本文將采用CRF算法與規則相結合的方法抽取比較主體和比較基準這兩個對象。在比較句的識別過程中,已經利用CRF算法對實體對象進行了識別。在此基礎上,針對比較句的每個特征詞和序列句式定義了一系列規則。例如,在 “X 相比/v Y”“X比/p Y”“X與/p Y相比/v”等句式中,X為比較主體,Y為比較基準;而在“相比/v X,Y”“相對/p X, Y”等句式中,X為比較基準,Y為比較主體。通過定義這些規則,結合CRF算法識別出的實體對象,能夠很方便地利用比較詞與比較對象之間的位置關系抽取出比較主體和比較基準。
由于比較點往往是一些比較對象的屬性,如在汽車領域,比較點往往是價格、質量、外觀、性價比等屬性詞,暫時只利用一些領域屬性詞典進行抽取。
對于比較結果,首先對比較句進一步分類,如表1所示,包括“平比”“高下”和“極比”。由于這三類比較句的特征都很明顯,將只采用關鍵字進行分類,然后利用情感詞典識別比較句中的情感詞,結合前面的分類結果最終得到比較結果。
3 實驗
3.1 數據集
目前對于漢語比較句的研究還很少見,沒有公開的評測數據集。因此,筆者收集了一些評測數據,并進行人工標注,數據來源于“百度知道”,包括汽車領域和數碼產品領域。本文共有兩個數據集,第一個數據集用于CRF算法的訓練和測試,第二個數據集用于比較句的識別和關系抽取。數據集的樣本情況如表3、4所示。
表3 數據集一樣本情況
數據汽車領域/句數碼領域/句總計/句
CRF訓練7007001 400
CRF測試200200400
表4 數據集二樣本情況
數據句子汽車領域/句數碼領域/句總計/句
訓練比較句非比較句2007002007004001 400
測試比較句非比較句150300150300300600
3.2 實驗結果
3.2.1 實體對象識別
由于將實體對象相對于比較詞的位置和數量作為比較句識別的特征,首先需要采用CRF算法識別句子中的實體對象。實驗數據采用數據集一,CRF算法所選取的特征模板見表2,實驗結果如表5所示。
表5 CRF算法識別實體對象實驗結果
模板準確率/%召回率/%F-度量/%位置準確率/%
182.6490.0986.2091.66
287.3094.8290.9095.45
在表5中,位置準確率是指CRF算法所識別出的實體對象與實際實體對象的位置是否一致,如在例句“奔馳的E級車性能比寶馬3系車好”中,前一個實體對象為“奔馳的E級車”,如果CRF算法所識別出的實體對象為“奔馳”,那么識別結果是錯誤的,但是識別結果的位置是正確的。實體對象的位置信息將作為比較句識別分類算法的一個特征。從實驗結果可知,模板2的各項實驗評測指標都好于模板1,這是由于實體對象往往是與領域相關的,而模板2增加了領域詞典作為特征;同時模板1和2識別實體對象的位置準確率都達到了90%以上。其中模板2達到95.45%,這也保證了將實體對象的信息作為比較句識別分類算法的一個特征時所造成的二次錯誤可以忽略。
3.2.2 比較句識別
在比較句識別中,本文選取了SVM算法作為分類器,在文獻[1,9]的研究基礎上,增加實體對象信息(位置和數量)作為特征。獲取實體對象信息的CRF算法采用模板2作為特征模板,實驗數據采用數據集二,實驗結果如表6所示。其中,Keyword表示以比較特征詞作為特征,CSR表示以CSR序列規則作為特征,Entity表示以實體對象的位置和數量信息作為特征。
表6 比較句識別實驗結果
特征詞準確率/%召回率/%F-度量/%
Keyword88.4567.0476.27
Keyword,Entity95.0587. 591.12
CSR92.0573.8681.96
CSR,Entity94.382.9588.26
Keyword,CSR93.8580.6886.77
Keyword,CSR,Entity96.5588.6392.43
由表6可以看出,增加實體對象信息作為特征后,準確率、召回率和F-度量都明顯提高了,尤其是顯著提高了召回率,有效克服了文獻[1,9]中召回率低的缺點。其中以召回率為例,相比以Keyword為特征,召回率提高了20.46%;相比以CSR為特征,召回率提高了9.09%;相比以Keyword和CSR為特征,召回率提高了7.95%。
3.2.3 比較關系抽取
比較關系由四元組〈比較主體,比較基準,比較點,比較結果〉構成。比較主體和比較基準的抽取采用CRF算法與規則相結合的方法。其中CRF算法采用模板2作為特征模板,實驗數據采用數據集二,實驗結果如表7所示。
表7 比較主體和比較基準抽取結果
比較關系準確率/%召回率/%F-度量/%
比較主體809285
比較基準708075
由表7可知,比較主體抽取的準確率、召回率和F-度量分別達到80%、92%和85%;而比較基準抽取的準確率、召回率和F-度量則只達到70%、80%和75%,均都要低于表5所示的各項指標。這是因為比較對象的抽取不僅要識別實體對象,還需要利用規則判斷實體對象是屬于比較主體還是比較基準,必然造成誤差。同時,比較基準的準確率、召回率和F-度量也均低于比較主體。通過觀察語料,發現比較基準更傾向于以縮寫或者指代的形式出現。比如例句“諾基亞N97的功能比5630更加豐富”和“奔馳的性能明顯比其他車好”。前一個例句中,比較基準為“5630”,是“諾基亞5630”的簡寫;后一個例句中,比較基準為“其他車”,是一種指代形式,這些因素都將對比較對象的正確識別帶來更大的困難。
對于比較結果的抽取,首先需要進一步對比較句進行分類,包括“平比”“高下”和“極比”。本文以關鍵字為特征進行分類,取得了很好的效果。其中平比的關鍵字如“一樣”“差不多”等;高下的關鍵字為“更”“超過”等;極比的關鍵字如“最”等。實驗結果如表8所示。然后利用情感詞典進一步識別情感詞,最終得到比較結果。
表8 比較句類型的分類實驗結果
比較句類別準確率/%召回率/%
平比9589
高下9290
極比9690
對于比較點的抽取,暫時只是簡單采用領域屬性詞典進行識別,更加深入的工作有待于以后進一步研究。
4 結束語
目前,漢語比較句的研究還是一個新穎的課題。對于漢語比較句的識別,本文在Jindal和黃小江等人的研究基礎上,采用SVM分類器,利用CRF算法識別出實體對象,然后增加實體對象的信息作為特征,顯著提高了比較句識別的準確率、召回率和F-度量。對于比較關系的抽取,本文利用CRF算法所識別出的實體對象,結合定義的規則,識別比較主體和比較基準,對比較主體的識別取得了較好的效果,對比較基準的識別效果比較一般。這是由于比較基準更傾向于采用縮寫和指代的形式,這對比較基準的正確識別帶來了困難,也是將來進一步研究的一個方向。對比較點和比較結果的抽取,本文只是簡單利用詞典進行識別,這也需要將來進行更加深入的研究。另外,在實驗數據方面,建立一個更大規模的比較句語料庫也是非常重要的。
參考文獻:
[1]JINDAL N, LIU Bing. Identifying comparative sentences in text documents[C]//Proc of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM Press,2006:244-251.
[2]JINDAL N, LIU Bing. Mining comparative sentences and relations[C]//Proc of the 21st National Conference on Artificial Intelligence.Boston:AAAI Press,2006:1331-1336.
[3]FELDMAN R,FRESKO M,GOLDENBERG J. Extracting product comparisons from discussion boards[C]//Proc of the 7th IEEE Inter-national Conference on Data Mining.Washington DC:IEEE Compu-ter Society,2007:469-474.
[4]SUN Jian-tao, WANG Xuan-hui, SHEN Dou, et al. CWS: a comparative Web search system[C]//Proc of the 15th International Conference on World Wide Web.New York:ACM Press:2006:467-476.
[5]LUO Gang, TANG Chun-qiang, TIAN Ying-li. Answering relationship queries on the Web[C]//Proc of the 16th International Conference on World Wide Web.New York:ACM Press,2007:561-570.
[6]許國萍. 現代漢語差比范疇研究[M]. 上海:學林出版社,2007.
[7]車競. 現代漢語比較句論略[J]. 湖北師范學院學報,2005,25(3):60-63.
[8]劉焱. 現代漢語比較范疇的語義認知基礎[M]. 上海:學林出版社,2004.
[9]黃小江,萬小軍,楊建武. 漢語比較句識別研究[J]. 中文信息學報,2008,22(5):30-37.
[10]LAFFERTY J D, McCALLUM A, PEREIRA F C N. Conditional random fields:probabilistic models for segmenting and labeling sequence data[C]//Proc of the 18th International Conference on Machine Learning.San Framcisce CA:Morgan Kaufmann Publishers Inc,2001.