蔣鳴珂,曾偉紅
(湘潭大學(xué) 信息工程學(xué)院,湖南 湘潭 411105)
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,人們能夠在互聯(lián)網(wǎng)中找到各種有用的信息,特別是近年來大數(shù)據(jù)技術(shù)的迅速發(fā)展,社會(huì)已經(jīng)進(jìn)入了大數(shù)據(jù)時(shí)代。在現(xiàn)代社會(huì),企業(yè)的負(fù)面信息對于我們來說是非常重要的,銀行放貸時(shí)需要確定該企業(yè)是否有負(fù)面信息,以此判斷該企業(yè)是否有能力還貸然后再發(fā)放貸款,而我們在尋找合作伙伴時(shí)也需要這些信息來幫助我們做個(gè)判斷。企業(yè)在互聯(lián)網(wǎng)中的負(fù)面信息可以通過爬蟲來獲取,但是,有時(shí)通過爬蟲獲取的數(shù)據(jù)并不能直接被判斷為是負(fù)面信息,所以,我們需要對爬蟲獲取的初步數(shù)據(jù)進(jìn)行進(jìn)一步的分析和去噪,從而精確獲取企業(yè)負(fù)面信息。獲取精確的企業(yè)負(fù)面信息能夠便于銀行和某些特定用戶直觀地看到企業(yè)狀況,從而做出相應(yīng)的決定。
文本作為一種重要的信息表達(dá)方式,如何分辨一段文本是否是負(fù)面信息呢?我們需要對其進(jìn)行情感分析,研究文本語義和情感傾向。
對于一段文本來說,能夠表達(dá)其情感傾向的主要是構(gòu)成文本的詞語。所以,判斷一段文本是否為負(fù)面信息,主要是判斷其中某些關(guān)鍵字的語義傾向。張錦明提出了一種基于詞匯的語義傾向向量空間模型表示算法(SOVR算法),它結(jié)合了語法、語義、語用,將統(tǒng)計(jì)測度方法與機(jī)器學(xué)習(xí)方法結(jié)合起來,大大提升了判斷性能。但是,這種方法還存在側(cè)重統(tǒng)計(jì)方法、規(guī)則利用較為單一、對特定領(lǐng)域依賴較大等問題。以單詞為基礎(chǔ)的語義傾向研究是對文章語義傾向研究的基礎(chǔ)。Vasileios Hatzivassiloglou和Kathleen R.McKeown依賴于文本語料庫對形容詞語義進(jìn)行分析,他們發(fā)現(xiàn),形容詞語義會(huì)受到連接詞的影響,所以,可分析連接詞前后2個(gè)形容詞來判斷其是否有相同或者不同的取向。文中提出一種四步走的方法來有效判別一個(gè)形容詞的語義傾向。Peter D.Turney運(yùn)用統(tǒng)計(jì)方法,使用點(diǎn)互信息(PMI)和潛在語義分析(LSA)對正面和負(fù)面樣例詞匯進(jìn)行語義傾向分析,從而提高各類詞統(tǒng)計(jì)的準(zhǔn)確率。
機(jī)器學(xué)習(xí)方法在情感分類中發(fā)揮著非常重要的作用。Bo Pang和Lillian Lee使用機(jī)器學(xué)習(xí)解決文本情感分類,利用樸素貝葉斯、最大熵分類器和SVM這3種方法分析電影評論數(shù)據(jù)。經(jīng)過實(shí)驗(yàn)對比,在對相同數(shù)據(jù)進(jìn)行文本語義傾向分析時(shí),在這3種方法中,樸素貝葉斯效果相對比較差,而SVM的效果相對比較好。情感傾向研究在互聯(lián)網(wǎng)中被廣泛應(yīng)用。楊歡在其文章中闡述將文本分類用于微博中情感傾向的研究,解決了以往檢索和采集以關(guān)鍵字為基礎(chǔ)難以支持情感傾向挖掘的問題。同時(shí),他還提出了一種基于主題情感相關(guān)的改進(jìn)k最近鄰算法,這種方法能夠?qū)η楦羞M(jìn)行正面、負(fù)面和中性的分類,在處理微博熱門中文主題情感時(shí)有一定的可行性。從目前情況來看,這個(gè)領(lǐng)域還沒有一個(gè)完整的語料庫。因此,楊江等人提出建設(shè)漢語語義傾向語料庫,以語言主觀性多維度描述體系為指導(dǎo)理論,將類別、程度、形式、成分、關(guān)聯(lián)和模式6個(gè)維度構(gòu)成一個(gè)體系,每個(gè)維度表示一種屬性,從而構(gòu)建一個(gè)具有檢索統(tǒng)計(jì)、結(jié)果檢查、可視化等特點(diǎn)的語料庫工具箱系統(tǒng),這對于人們理解語言主觀性有一定的幫助。朱嫣嵐、閔錦等人基于HowNet提出語義相似度和基于語義相關(guān)場的2種語義傾向計(jì)算方法,通過選擇褒貶基準(zhǔn)詞,計(jì)算被測試詞與基準(zhǔn)詞之間的語義緊密程度,從而得到這個(gè)詞的語義傾向值。這種方法在漢語常用詞中效果比較好,具有一定的實(shí)用價(jià)值。
基于百度搜索使用爬蟲來獲取所需要的數(shù)據(jù),使用“公司全稱或者簡稱+負(fù)面詞”的方式搜索,使用420個(gè)負(fù)面詞循環(huán)抓取百度搜索結(jié)果前10頁的數(shù)據(jù),最終獲取了10萬多條數(shù)據(jù)并對其進(jìn)行分析。
對于獲取到的數(shù)據(jù),具體處理流程是:①判斷是否有簡稱或全稱+負(fù)面詞。②識別內(nèi)容中的實(shí)體,判斷公司名稱是否為全稱。例如搜索的簡稱是“國基建設(shè)”,全稱是“湖北國基建設(shè)”,結(jié)果內(nèi)容中實(shí)體卻是“湖南國基建設(shè)”,則這個(gè)結(jié)果不符合,就要去除。③對包含負(fù)面詞的句子調(diào)用HanLP進(jìn)行依存句法分析,進(jìn)一步解析,判斷其是否為負(fù)面信息。爬蟲獲取的整個(gè)網(wǎng)頁的原始數(shù)據(jù)被存放在一個(gè)json中,在處理數(shù)據(jù)時(shí),會(huì)先從這段文本中找出負(fù)面關(guān)鍵字所在的句子,將其提取出來,然后調(diào)用HanLP對其進(jìn)行依存句法解析,并根據(jù)解析結(jié)果得到依存句法樹。數(shù)據(jù)處理流程如圖1所示。

圖1 數(shù)據(jù)處理流程圖
依存句法用來描述詞語之間的依存關(guān)系,即用來表示詞語之間句法上的搭配關(guān)系,這種關(guān)系與語義相關(guān)。在依存句法樹中,輸入的句子從普通排列模式變成樹狀結(jié)構(gòu),可以更加直觀地發(fā)現(xiàn)句子內(nèi)部詞語之間的遠(yuǎn)距離搭配或者修飾關(guān)系。中文文本詞性標(biāo)注情況如表1所示。
經(jīng)過依存句法分析后,生成的依存句法樹如圖2所示。

表1 中文文本詞性標(biāo)注

圖2 生成依存句法樹的結(jié)果
通過依存句法樹我們可以清楚看到,負(fù)面詞“涉案”的主語是“員工”,員工一共3名,而員工是“中聯(lián)重科”的員工,所以,該語句可以判斷為是中聯(lián)重科的負(fù)面信息。
在本節(jié)中,對比、分析獲取到的10萬多條數(shù)據(jù),最終得到了若干可能會(huì)造成負(fù)面信息噪聲的因素,并將其歸納為以下幾點(diǎn)。
在眾多影響負(fù)面信息去噪的因素中,負(fù)面詞否定可以說是一種比較直接的影響因素,因?yàn)榉穸ㄐ揎椩~往往直接作用于負(fù)面詞。在此次實(shí)驗(yàn)中,共獲取該類語句8 812條,占總數(shù)據(jù)的8.5%.例如,“從根本上控制污染”中,“污染”是負(fù)面詞,但是“控制”修飾“污染”構(gòu)成動(dòng)賓關(guān)系,“控制污染”并不是負(fù)面詞,所以,該語句不能被列為負(fù)面信息;“并不會(huì)夸張到有95%的創(chuàng)業(yè)公司倒閉”中,“倒閉”是負(fù)面詞,但是,“夸張”和“有”為并列關(guān)系,而“有”修飾“倒閉”,所以,該語句也不能被列為負(fù)面信息;“在沖擊下堅(jiān)挺危機(jī)逆襲”中,“危機(jī)”是負(fù)面詞,但是,“逆襲”作為定語修飾“危機(jī)”,“危機(jī)逆襲”不能表達(dá)出負(fù)面信息,所以,該語句不是負(fù)面信息。
在眾多噪聲因素中,有很多語句包含負(fù)面詞但不是負(fù)面信息這個(gè)問題比較普遍。在本次實(shí)驗(yàn)中,共獲取該類語句17 353條,占總數(shù)據(jù)的16.7%.該問題的出現(xiàn)大致可以分為以下幾種情況:①負(fù)面詞可能夾雜在某個(gè)專有名詞中出現(xiàn),即負(fù)面詞只是作為某個(gè)名詞中的部分出現(xiàn)。例如,“暫停業(yè)務(wù)”中的“停業(yè)”,“遇難題”中的“遇難”,都是負(fù)面詞作為部分出現(xiàn),而“青山寨特產(chǎn)店”中的“山寨”也是作為店鋪名字中部分出現(xiàn),它們都不屬于負(fù)面信息。②有負(fù)面詞但是并不能體現(xiàn)負(fù)面意思。例如,“曝光”“借款”等負(fù)面詞所表示的內(nèi)容可能并不是負(fù)面的,需要對其作進(jìn)一步的判斷。③負(fù)面詞可能是某一個(gè)產(chǎn)品介紹中的詞語。例如,“出現(xiàn)交通事故,車子會(huì)馬上報(bào)警”中的“事故”,“意外傷害保險(xiǎn)”中的“傷害”,“舉報(bào)受理方式”中的“舉報(bào)”,這些雖然都是負(fù)面詞,但具體內(nèi)容均為產(chǎn)品或業(yè)務(wù)介紹,并不屬于負(fù)面信息。④負(fù)面詞體現(xiàn)出正面意思或者是欲揚(yáng)先抑。例如,“正是這樣的困境,構(gòu)成了創(chuàng)新工場人工智能工程院建設(shè)的初衷”中的“困境”,“有很多珠寶企業(yè)資金鏈出現(xiàn)了危機(jī),而該公司卻逆市而上”中的“危機(jī)”均為負(fù)面詞,但卻體現(xiàn)出了目標(biāo)公司的正面形象,不屬于負(fù)面信息。
負(fù)面詞主語問題在噪聲中也算是一個(gè)重要問題。在本次實(shí)驗(yàn)中,共獲取該類語句28 655條,占總數(shù)據(jù)的27.5%.經(jīng)過研究,可以將該問題劃分成以下3類:①語句中表達(dá)的公司不是目標(biāo)公司,或者是目標(biāo)公司去舉報(bào)別的公司。例如,“OKAI公司侵犯了合肥華泰集團(tuán)的商標(biāo)權(quán)”中的目標(biāo)公司為“合肥華泰集團(tuán)”,負(fù)面詞為“侵犯”,“在梯子網(wǎng)倒閉的同時(shí),在線教育行業(yè)遭遇質(zhì)問關(guān)鍵節(jié)點(diǎn),績優(yōu)堂還能受到如此熱捧”中目標(biāo)公司是“績優(yōu)堂”,負(fù)面詞是“倒閉”。這兩句話都可被認(rèn)定為噪聲,因?yàn)樨?fù)面詞所說的公司并不是目標(biāo)公司。②語句中負(fù)面詞的主語不是公司。例如,“有4家規(guī)模較小的企業(yè)出現(xiàn)了大幅虧損”中負(fù)面詞“虧損”,“曾伙同他人在梅縣維也納酒店內(nèi)故意損害酒店財(cái)物,涉案金額總計(jì)8 850元”中“損害”“涉案”為負(fù)面詞。雖然此類例子中有負(fù)面詞,但是,負(fù)面詞的主語與公司無關(guān),所以也是噪聲。③負(fù)面詞反映了一個(gè)行業(yè)的問題。例如,“寶怡珠寶這種穩(wěn)扎穩(wěn)打、有實(shí)力、有準(zhǔn)備的珠寶企業(yè),更容易在危機(jī)中找到進(jìn)一步發(fā)展的機(jī)遇”中“危機(jī)”為負(fù)面詞,但是,該語句說明的是珠寶行業(yè)的問題,與目標(biāo)公司無關(guān),屬于噪聲。
在搜索階段使用公司簡稱搜索可能會(huì)獲得更多的相關(guān)信息,但是,這么搜索在獲得更多信息的同時(shí)也會(huì)出現(xiàn)很多噪聲信息。在本次實(shí)驗(yàn)中,通過簡稱搜索到數(shù)據(jù)36 331條,其中,存在噪聲問題的數(shù)據(jù)有14 323條,占搜索到的額外數(shù)據(jù)的39.4%,占總數(shù)據(jù)的13.8%.出現(xiàn)簡稱問題的原因也有幾種,例如目標(biāo)搜索公司可能有很多分公司,或者有名字相近的公司,但是,使用公司簡稱搜索后可能會(huì)搜到很多分公司信息,或者搜索到了別的公司,而這些信息并不屬于你的目標(biāo)公司,屬于噪聲;又或者搜索到的內(nèi)容中的簡稱關(guān)鍵字可能只是一句話中的某些詞語,對于公司來說并沒有什么意義,也可列為噪聲。
負(fù)面詞庫中負(fù)面詞的設(shè)置不僅決定著爬蟲抓取信息量,還在負(fù)面信息噪聲判斷方面發(fā)揮著重要作用。增加負(fù)面詞庫中的負(fù)面詞數(shù)量,可以使爬蟲在抓取信息過程中獲得更多負(fù)面信息,但是,在去噪過程中,會(huì)發(fā)現(xiàn)有部分負(fù)面詞在大多數(shù)語句中并不能表現(xiàn)為負(fù)面信息,此時(shí)就要?jiǎng)h減負(fù)面詞庫來提升去噪效果。
在爬蟲獲取的大量語句中,除了有以上幾種問題外,還有小部分包含負(fù)面詞的語句可能是疑問句或者是假設(shè)句,等等,這類句子也需要對其進(jìn)行二次判斷才能確定是否為噪聲。例如,“如果發(fā)現(xiàn)有拖欠農(nóng)民工工資等違法違規(guī)行為”是假設(shè)句,“是否會(huì)產(chǎn)生此類危害”是疑問句,但是這都不能直接將其語句列為負(fù)面語句,需要再次判斷。
獲取數(shù)據(jù)分布情況如圖3和圖4所示,可以看出,主語問題在噪聲中占有較大的比例,有負(fù)面詞但不是負(fù)面信息和簡稱問題隨后,占比最小的是負(fù)面詞否定問題。

圖3 數(shù)據(jù)分布柱狀圖

圖4 數(shù)據(jù)分布餅圖
本文主要考察了爬蟲獲取的初步文本中噪聲產(chǎn)生的因素,并且分析了判斷一個(gè)語句是否為負(fù)面信息時(shí)噪聲造成的影響。使用HanLP對語句進(jìn)行依存句法分析,得到依存句法樹,然后對其進(jìn)行解析,能夠有效判斷一個(gè)語句是否為負(fù)面信息。
然而本文還有一些地方需要改進(jìn),例如,可能還有其他噪聲因素等待我們?nèi)グl(fā)現(xiàn),需要進(jìn)一步獲取更多數(shù)據(jù)來分析實(shí)驗(yàn)。此外,是否還有其他方法可以用來判斷一個(gè)語句是否為負(fù)面信息還需要我們進(jìn)一步探索,如果有的話,對比現(xiàn)有方法,其在效率、復(fù)雜度上是否更有優(yōu)勢等。
[1]張錦明.中文語義傾向識別的關(guān)鍵算法研究[D].北京:北京郵電大學(xué),2008.
[2]Vasileios Hatzivassiloglou,Kathleen R.McKeown.Predicting the Semantic Orientation ofAdjectives[C]//In:Proceedings of the 35th Annual Meeting of the Association for Computational Linguistics and the 8th Conference of the European Chapter of the ACL,1997:174-181.
[3]Peter D.Turney,Michael L.Littman.Measuring Praise and Criticism:Inference of Semantic Orientation from Association[J].ACM Transactions on Information Systems,2003,21(4):315-346.
[4]Bo Pang,Lillian Lee,Shivakumar Vaithyanathan.Thumbs up Sentiment Classification Using Machine Learning Techniques[C]//In:Proceedings of the 2002 Conference on Empirical Methods in Natural Language Processing,2002:79-86.
[5]楊歡.基于文本分類的微博情感傾向研究[D].重慶:重慶師范大學(xué),2016.
[6]楊江,李薇,彭石玉.漢語語義傾向語料庫的建設(shè)[J].中文信息學(xué)報(bào),2014,28(05):74-82.
[7]朱嫣嵐,閔錦,周雅倩,等.基于HowNet的詞匯語義傾向計(jì)算[J].中文信息學(xué)報(bào),2006(01):14-20.
[8]徐軍,丁宇新,王曉龍.使用機(jī)器學(xué)習(xí)方法進(jìn)行新聞的情感自動(dòng)分類[J].中文信息學(xué)報(bào),2007(06):95-100.
[9]馬妍.商品評論情感分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2015.
[10]宋光鵬.文本的情感傾向分析研究[D].北京:北京郵電大學(xué),2008.
[11]馬那那.面向產(chǎn)品評論的情感文本分類研究[D].合肥:安徽大學(xué),2017.
[12]李鈍,喬保軍,曹元大,等.基于語義分析的詞匯傾向識別研究[J].模式識別與人工智能,2008,21(04):482-487.
[13]李正華.漢語依存句法分析關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.