基于語料的情感詞典構(gòu)建方法
【專利摘要】本發(fā)明公開了一種基于語料的情感詞典構(gòu)建方法,通過預先獲得一部分已知情感傾向的形容詞,包括積極的和消極的兩種,再利用轉(zhuǎn)折詞和否定詞,提取并分析未知情感傾向的形容詞,不斷擴展種子詞庫,最后做出判斷。該方法不需要人工干預,且屬于無監(jiān)督的學習方法,能大大提高工作效率。該方法構(gòu)造的情感詞典,可以用于評論分析,能快速地得到其情感傾向,達到快速分析的目的。
【專利說明】基于語料的情感詞典構(gòu)建方法
【技術(shù)領域】
[0001]本發(fā)明屬于人工智能發(fā)明技術(shù),具體涉及一種基于語料的情感詞典構(gòu)建方法。
【背景技術(shù)】
[0002]現(xiàn)存的部分中文情感詞典,都是通過人為總結(jié)一些常用的形容詞來構(gòu)建,效率低下,又不具有領域性。而中文沒有類似于英文wordnet的詞典,無法通過現(xiàn)有詞典來構(gòu)建情感詞詞典?;谡Z料的情感詞典構(gòu)建方法,將人們的語言習慣運用到文本的分析中,構(gòu)造出積極和消極兩類詞典。即節(jié)省了勞動力成本,又具有領域性和對新詞情感的判斷力。
[0003]較早根據(jù)語言規(guī)則來分析語料、構(gòu)建情感詞典的是Hazivassiloglou和McKeown,他們利用一個語料庫和形容詞情感詞種子集,根據(jù)語言規(guī)則,找出其他形容詞的情感指向。比如利用“AND”,“BUT”等連詞。他們還使用聚類算法來確定兩個連詞連接起來的詞具有相同還是相反的極性,從而產(chǎn)生兩個單詞集。Kanayama和Nasukawa使用句內(nèi)和句間情感一致性的概念來生成情感詞典,句間一致性是因為通常相同情感的句子是連著的。情感改變通常是由轉(zhuǎn)折詞造成,比如“but”。但是他們對算法執(zhí)行過程中得到的情感詞的利用率較差。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種基于大規(guī)模語料的情感詞典生成方法,該方法具有準確率高,節(jié)省時間等優(yōu)點,可為評論分析提供重要的參考資料。
[0005]實現(xiàn)本發(fā)明目的的技術(shù)方案為:一種基于語料的情感詞典構(gòu)建方法,包括以下步驟:
第一步,利用中文分詞工具,對語料進行預處理,將語料中連續(xù)的中文句子劃分成一個個詞或者字,用空格隔開,并標記詞或者字的詞性;
第二步,統(tǒng)計出語料中所有形容詞的詞頻并按從高到低進行排序,取前5%-10%有確定情感極性的形容詞作為種子詞構(gòu)成情感詞庫,并分析種子詞的情感極性,將正面評價的詞的極性稱為積極的,將負面評價的詞的極性稱為消極的,分別構(gòu)成兩個種子詞列表,這兩個種子詞列表作為情感詞庫的初始列表,初始詞頻為I ;
第三步,取經(jīng)過預處理的語料中的文本,若有需要分析的語料,按照標點對文本進行斷句,得到多個分句,分句中不含標點,繼續(xù)執(zhí)行第四步;若沒有需要分析的語料,則轉(zhuǎn)至第六
I K
少;
第四步,搜索得到的每一個分句中的形容詞,設定一個閾值K,在形容詞所在位置的前K個詞或字范圍內(nèi)遍歷,根據(jù)漢語詞典中指出的具有否定意義的詞,判斷是否有否定詞,若有,則根據(jù)極性轉(zhuǎn)移規(guī)則添加到相應列表中,否則停止尋找否定詞;再根據(jù)漢語詞典中指出的具有轉(zhuǎn)折意義的詞,判斷該分句是不是以轉(zhuǎn)折詞開頭,若是,則根據(jù)極性轉(zhuǎn)移規(guī)則改變當前極性,否則極性不變;然后分別按極性轉(zhuǎn)移規(guī)則將分句中的形容詞添加到兩個列表S和a中;
第五步,分析第四步得到的兩個列表s和a的極性,即用情感詞庫中的種子詞檢驗列表S和a的極性,若其中一個列表中含有積極種子詞的數(shù)目不少于消極種子詞的,則該列表中所有的詞歸為積極的,另一列表中的詞則歸為消極的;若兩個列表中均分別含有相同數(shù)量的消極種子詞和積極種子詞,則返回第三步;否則,把兩個列表s和a中判斷出極性的形容詞添加到情感詞庫的初始列表中作為種子詞,若初始列表中已有該形容詞,則把其詞頻加1,否則設置該形容詞的詞頻為1,返回第三步;
第六步,對得到的最終的情感詞庫進行遍歷,對同時被判斷為積極和消極的詞,取其詞頻,若屬于積極的詞頻高,則該詞為積極的,否則為消極的。
[0006]本發(fā)明和現(xiàn)有情感詞構(gòu)建方法相比,其顯著優(yōu)點為:(I)節(jié)省了時間和勞動力成本。該方法能根據(jù)語料自動抽取形容詞作為情感詞,并判別其情感極性,生成積極和消極兩個情感詞典。比人工標注大大節(jié)省時間和精力。(2)可靠性強。該情感詞典構(gòu)建方法多次遵循多數(shù)原則,針對可能出現(xiàn)的一些干擾情況做了處理,以保證算法的精確度。(3)通用性強。該算法能根據(jù)各個領域的語料,生成領域情感詞。(4)生成的情感詞典能為評論分析,自然語言處理提供重要的參考依據(jù)。
【專利附圖】
【附圖說明】
[0007]圖1是情感詞列表歸屬判別流程圖。
[0008]圖2是情感詞典生成流程圖。
【具體實施方式】
[0009]本發(fā)明方法包括以下步驟:
第一步:利用已進行分詞處理的語料,這些語料一般是主觀的評論,將出現(xiàn)的形容詞按詞頻從高到低排序,提取前59TlO%有確定情感極性的形容詞,根據(jù)知網(wǎng)(Hownet)標注其情感極性作為種子詞,構(gòu)成情感詞庫;
第二步:按標點符號斷句,生成一個個短句;
第三步:逐個短句掃描,提取形容詞。構(gòu)建兩個臨時列表,用于存儲兩個情感極性的形容詞。針對形容詞,判斷其是否有否定詞修飾,如果有則極性取反,存入相應臨時列表;再判斷短句是否以轉(zhuǎn)折詞開頭,如果是,極性再取反,存入相應臨時列表;
第四步:針對得到的臨時列表,用已有的種子詞庫去判斷。含有積極情感詞多的列表則為積極情感詞列表,否則為消極情感詞列表。這里利用已有的情感詞去判斷未知的情感詞,根據(jù)多數(shù)原則,因為列表中的詞都具有相同情感,若一個未知情感極性的單詞列表含有較多的積極情感的種子詞,那么就認為列表中的情感詞都是積極的,反之如果含有較多的消極情感的種子詞,則列表中的所有詞認為都是消極的,這能間接適當減少因語料不規(guī)范而造成的誤差;
第五步:把第四步得到的新的情感詞添加到種子詞中,作為下次判斷的依據(jù)。這樣不斷擴大原有的情感詞庫,使得隨著讀取語料的增多,判斷的準確率不斷提高。
[0010]第六步:讀取完所有語料之后,得到最后的兩個情感詞詞典。其中可能有一些詞,即在積極情感的詞典中,又在消極情感的詞典中。由于語料可能存在不規(guī)范性,可能導致單詞判斷錯誤,此時根據(jù)多數(shù)原則,按照該單詞多數(shù)情況下所屬類別判斷。
[0011]下面結(jié)合附圖對本發(fā)明作進一步詳細描述。
[0012]本發(fā)明基于語料的情感詞典構(gòu)造方法,首先利用現(xiàn)有的分詞工具,對原始語料進行分詞和詞性標注處理。然后提取詞頻最高的59TlO%,并根據(jù)知網(wǎng)(Hownet)提供的情感分析用詞語集,標注情感極性,作為種子詞。接著給語料按照標點斷句,再掃描語料庫,針對每一條評論,把形容詞劃分為極性相反的兩類,再用已有種子詞進行判斷。得到其情感極性,將他們作為種子詞繼續(xù)判斷后面的評論。最后消除同時屬于兩類的情況,得到最終的情感詞典。該方法任何領域下都適用,只需給出相應語料即可。
[0013]圖1是形容詞列表的生成過程,可以看出,針對一個形容詞,需要根據(jù)有無否定詞,有無轉(zhuǎn)折詞,整體極性是否發(fā)生變化三個條件進行判斷。結(jié)合圖2,本發(fā)明基于語料的情感詞典構(gòu)造算法,步驟如下:
第一步:對原始語料進行分詞、詞性標注處理,語料一般是具有主觀色彩的評論語句。這里可以使用一些開源工具,例如:結(jié)吧,ICTCLAS等,得到一個個分開的單詞或字以及其詞性,標點也被當作一個字處理。
[0014]第二步:掃描所有評論,獲得所有形容詞詞頻,取詞頻最高的前59TlO%,,利用知網(wǎng)(Hownet)提供的‘情感分析用詞語集’中的《正面評價詞語(中文)》和《負面評價詞語(中文)》,標注其情感極性,作為種子詞,構(gòu)成初始情感詞庫。
[0015]第三步:取經(jīng)過預處理的語料中的文本,若有,按照標點對文本進行斷句,得到多個分句,分句中不含標點;若沒有,則轉(zhuǎn)至第七步;
第四步:對含有多句話的評論,逐句掃描,找到形容詞,即后綴為/a或者/an的詞,這就是的候選情感詞。
[0016]第五步:針對語料中的一個完整的句子,設置三個變量。當前極性plor,初始為I ;存放情感詞的兩個列表s和a,分別存放兩個極性的情感詞(但未知其具體情感),s中存放與初始極性相同的詞,a中存放與初始情感相反的詞。查找并定位一個形容詞,設置窗口值大小,根據(jù)需要可取不同值,一般為3,判斷在左邊窗口范圍內(nèi)是否有否定詞,若有,則根據(jù)極性轉(zhuǎn)移規(guī)則添加到相應列表中,否則停止尋找否定詞;再根據(jù)漢語詞典中指出的具有轉(zhuǎn)折意義的詞,判斷該分句是不是以轉(zhuǎn)折詞開頭,若是則根據(jù)極性轉(zhuǎn)移規(guī)則改變當前極性,即Plor取負,否則極性不變,然后分別按極性轉(zhuǎn)移規(guī)則將分句中的形容詞添加到兩個列表s和a中。情感詞放入列表規(guī)則如下:
A.有轉(zhuǎn)折詞沒有否定詞,如果plor=l,說明極性未發(fā)生翻轉(zhuǎn)或者經(jīng)過偶數(shù)次翻轉(zhuǎn)和原始極性相同,則把形容詞放到列表a中,Plor取負;否則,若plor=-l,說明極性發(fā)生奇數(shù)次翻轉(zhuǎn),則放入s中,Plor取負。
[0017]B.有轉(zhuǎn)折詞有否定詞,如果plor=l,把形容詞放到s中,Plor取負;否則放入a中,Plor取負。
[0018]C.沒有轉(zhuǎn)折詞有否定詞,如果plor=l,把形容詞放到列表a中,Plor取負;否則放入s中,Plor取負。
[0019]D.沒有轉(zhuǎn)折詞沒有否定詞,如果plor=l,把形容詞放到列表s中,Plor取負;否則放入a中,Plor取負。
[0020]舉個例子:“總體/n不錯/a。/wp就是/d有點/d貴/a,物流/n不/d是/v很/d快/a。不過/d還是/d很/d滿意/a的/u —次/q網(wǎng)購/n ,/wp贊/v ! /wp”初始plor = I。斷句后找到形容詞,首先找到“不錯”,plor = I,按照窗口大小找否定詞,沒找到,句首不是轉(zhuǎn)折詞,把“不錯”放入S列表;再找到“貴”,前面沒有否定,有“就是”轉(zhuǎn)折詞,所以“貴”和之前的形容詞極性反轉(zhuǎn)了,因為plor=l,所以放入a列表,同時plor變?yōu)?1 ;第三個形容詞“快”,有否定詞,沒有轉(zhuǎn)折詞,因為Plor=-1,所以根據(jù)上述規(guī)則,放入s列表;最后一個形容詞“滿意”,沒有否定,有轉(zhuǎn)折,此時因為plor=-l,放入s列表,同時plor變?yōu)?.最后結(jié)果:s中為“不錯”,“快”,“滿意” ;a中為“貴”。
[0021]第六步:將一句評論中的所有形容詞按規(guī)則分入兩個列表中,用種子詞去判斷這兩個列表中單詞的極性。若一個列表中含有積極情感的種子詞數(shù)多于消極情感的種子詞數(shù),則該列表中所有的形容詞都放入積極情感的種子詞列表中,另一個則放入消極情感的種子詞列表中。
[0022]第七步:最后得到兩個情感詞典以及情感詞在語料中的詞頻。因為語料的不規(guī)范性,可能會存在某個詞在兩個詞典中同時出現(xiàn),這是不被允許的。所以,若該詞屬于積極的詞頻大于加權(quán)后的消極的詞頻,則該詞的情感是積極的,否則視為消極的。
[0023]本發(fā)明方法充分利用算法過程中得到的情感詞,不斷擴大種子詞。最后通過數(shù)據(jù)比對,根據(jù)多數(shù)原則,判別情感,能排除部分干擾數(shù)據(jù),準確率相對較高。
【權(quán)利要求】
1.一種基于語料的情感詞典構(gòu)建方法,其特征在于包括以下步驟: 第一步,利用中文分詞工具,對語料進行預處理,將語料中連續(xù)的中文句子劃分成一個個詞或者字,用空格隔開,并標記詞或者字的詞性; 第二步,統(tǒng)計出語料中所有形容詞的詞頻并按從高到低進行排序,取前5%-10%有確定情感極性的形容詞作為種子詞構(gòu)成情感詞庫,并分析種子詞的情感極性,將正面評價的詞的極性稱為積極的,將負面評價的詞的極性稱為消極的,分別構(gòu)成兩個種子詞列表,這兩個種子詞列表作為情感詞庫的初始列表,初始詞頻為I ; 第三步,取經(jīng)過預處理的語料中的文本,若有需要分析的語料,按照標點對文本進行斷句,得到多個分句,分句中不含標點,繼續(xù)執(zhí)行第四步;若沒有需要分析的語料,則轉(zhuǎn)至第六I K少; 第四步,搜索得到的每一個分句中的形容詞,設定一個閾值K,在形容詞所在位置的前K個詞或字范圍內(nèi)遍歷,根據(jù)漢語詞典中指出的具有否定意義的詞,判斷是否有否定詞,若有,則根據(jù)極性轉(zhuǎn)移規(guī)則添加到相應列表中,否則停止尋找否定詞;再根據(jù)漢語詞典中指出的具有轉(zhuǎn)折意義的詞,判斷該分句是不是以轉(zhuǎn)折詞開頭,若是,則根據(jù)極性轉(zhuǎn)移規(guī)則改變當前極性,否則極性不變;然后分別按極性轉(zhuǎn)移規(guī)則將分句中的形容詞添加到兩個列表S和a中; 第五步,分析第四步得到的兩個列表s和a的極性,即用情感詞庫中的種子詞檢驗列表s和a的極性,若其中一個列表中含有積極種子詞的數(shù)目不少于消極種子詞的,則該列表中所有的詞歸為積極的,另一列表中的詞則歸為消極的;若兩個列表中均分別含有相同數(shù)量的消極種子詞和積極種子詞,則返回第三步;否則,把兩個列表s和a中判斷出極性的形容詞添加到情感詞庫的初始列表中作為種子詞,若初始列表中已有該形容詞,則把其詞頻加1,否則設置該形容詞的詞頻為1,返回第三步; 第六步,對得到的最終的情感詞庫進行遍歷,對同時被判斷為積極和消極的詞,取其詞頻,若屬于積極的詞頻高,則該詞為積極的,否則為消極的。
2.根據(jù)權(quán)利要求1所述的基于語料的情感詞典構(gòu)建方法,其特征在于所述第四步中的極性轉(zhuǎn)移規(guī)則具體如下: 設置Plor變量,用于表示分句間的極性是否發(fā)生轉(zhuǎn)移,初始為1,I表示出現(xiàn)偶數(shù)次轉(zhuǎn)折詞,使得標點連接的分句是和初始極性相同,-1表示出現(xiàn)奇數(shù)次轉(zhuǎn)折,使得標點連接的分句和初始極性相反;默認放到與初始極性相同的列表s中,列表a中放與初始極性相反的詞,分為四種情況: 分句開頭有轉(zhuǎn)折詞,形容詞前K個詞或者字中沒有否定詞,如果plor=l,把形容詞放到列表a中,否則放入列表s中,Plor變-1 ; 分句開頭有轉(zhuǎn)折詞,形容詞前K個詞或者字中有否定詞,如果plor=l,把形容詞放到s中,否則放入列表a中,Plor變-1 ; 分句開頭沒有轉(zhuǎn)折詞,形容詞前K個詞或者字中有否定詞,如果plor=l,把形容詞放到列表a中,否則放入列表s中; 分句開頭沒有轉(zhuǎn)折詞,形容詞前K個詞或者字中沒有否定詞,如果pl0r=l,把形容詞放到列表s中,否則放入列表a中。
【文檔編號】G06F17/30GK104317965SQ201410649358
【公開日】2015年1月28日 申請日期:2014年11月14日 優(yōu)先權(quán)日:2014年11月14日
【發(fā)明者】夏睿, 王科, 周清清, 劉超 申請人:南京理工大學