張露晨 張 良 孫昊良 方 芳 曹 陽 曹存根
1(國家計算機網絡應急技術處理協調中心 北京 100029)2(中國科學院計算技術研究所智能信息處理重點實驗室 北京 100190)3(廣西師范大學計算機科學與信息工程學院 廣西 桂林 541000)
?
基于領域文法的微博輿情分析方法及其應用
張露晨1張良1孫昊良1方芳2曹陽3曹存根2
1(國家計算機網絡應急技術處理協調中心北京 100029)2(中國科學院計算技術研究所智能信息處理重點實驗室北京 100190)3(廣西師范大學計算機科學與信息工程學院廣西 桂林 541000)
傳統的輿情分析方法存在兩個缺陷:由于缺少對輿情文本必要的語義處理,傳統的基于關鍵詞或熱詞的網絡輿情分析方法往往分析結果不準確,即漏判率和假陽性比較高;在輿情發展初期,由于數據稀疏,一般不能及時發現輿情“苗頭”。針對這些問題,提出一種基于領域文法的分析方法對微博文法進行分析,并給出一套通用的領域文法的設計原則以及分析方法?;陬I域文法的方法與統計方法相比主要的優點和創新點包括:領域文法可以在數據稀疏的情況下依然可以很好的工作;領域文法的方式不需要對信息進行統計,不會受到距離的影響;領域文法的方法可以很好地提取真正有用的信息而不會像統計方法易受到詞搭配的影響。為論證該方法,選擇貪腐類輿情作為一個驗證應用。實驗表明,貪腐輿情文法很好地對貪腐類微博輿情文本內容進行識別和提取,從而達到貪腐輿情監控的目的。
微博輿情分析領域文法文法設計反貪腐領域
隨著網絡技術的迅猛發展,網絡輿情以輿論多元化為最大的特點,而網絡輿情信息的豐富程度呈現“爆炸”的趨勢。造成這個現象的主要原因一是網絡輿情信息量非常龐大;二是輿情的類別繁多;三是背景信息復雜[1,2]。
如今,微博已經成為最流行的社交工具之一,它變成人們實時了解社會與獲取新聞的流行形式。而微博的起源是國外的Twitter[3],它的主要功能是實現即時的分享。隨著微博的產生,一些隱蔽的、不為人知的消息變得透明化[4]。如果可以有效地分析微博、博客以及論壇等內容,不僅對及時掌握百姓的輿情具有重要的意義,而且對國家安全、政府官員行為、企業產品聲譽、個人形象等信息的及時掌握具有重要作用[5]。
目前,輿情分析的主要研究方法都是依靠關鍵字進行測試驗證,然而這種方法的準確率較低[6]。為了提高對輿情文本內容分析的準確率,提出領域文法設計這一思想。該方法的主要目標是對文本內容進行文法分析,建立形式文法到語義的一個映射,利用語義文法將無結構的網絡輿情文本轉化成結構化的網絡輿情語義表示[7,8]。
一般而言,常用的自然語言處理方法主要分為詞法分析、文法分析和語義分析等。其中,文法分析的主要工作是跟據語料總結文法以及它們之間的相互關系來產生一個文法庫。上下文無關文法CFG(Context Free Grammar)是被看作接近自然語言的表示形式。為了解決文法的歧義問題,有人還提出了概率上下文無關文法和概率詞匯化上下文無關文法等方法[9-11]。
雖然上下文無關文法有很強的表達能力,但是一般文法的編寫結構是混亂的,文法之間也沒有聯系,缺乏語義理解的信息。因此,我們引入“領域文法”的概念。領域文法與候圣巒提出的語義文法[12]類似,但是不同的是,領域文法強調某領域的文法,即在文法中加入領域的語義信息,可以給出文本中豐富的領域語義結構,得到豐富的領域信息。
領域文法與普通的文法相比有自己的特點,主要特點包括:
(1) 領域文法的建立一定適合某個具體的領域
就像上述介紹的領域文法一樣,領域文法中包含特定的領域語義信息。因為不同的領域有自己的領域特點,語句中也會有適合自己的特點,因此對于不同領域建立特定的領域文法,可以突出各個領域的特點。
(2) 領域文法的建立是結合本體的思想,設計過程中突出該領域的語義,并且用非終結符表示出來
本體是人工智能領域提出的思想,是用來研究特定領域內的知識的對象分類、對象屬性及對象間關系,它為領域知識提供描述術語。一個領域本體對該領域進行了一個清晰的、可共享的刻畫,保持了語義上的一致[13]。一般文法的建立,通常采用的方法是巴科斯范式BNF[14,15]。我們在BNF中融入語義,與本體相結合。這是通過非終結符來體現的,即在非終結符命名中加入語義信息。
(3) 文法設計過程中,按照領域進行文法設計任務分解
領域文法中領域語義與本體相結合,還可以按照領域對文法設計的任務進行分解。也就是對文法進行領域分析,對整個領域的特點和內容進行描述和劃分。
本文提到的基于領域文法的分析方式相較于統計的方法主要的優點和創新點包括:
(1) 當關鍵信息以及相關信息數據稀疏的情況下,領域文法的方式依然可以很好地監測到,但是統計的方式卻因為數據稀疏丟掉重要內容。
(2) 領域文法的方式不需要對信息進行統計,這樣就可以避免相關信息內容因為距離太遠而不能找到的情況,同時領域文法可以更好地精確查找信息。
(3) 從搭配的角度來看,有些詞匯之間只有搭配起來使用才會起到一定的作用和意義,統計的方法會受到無用冗余信息的影響,而領域文法的方法可以很好地提取真正有用的信息。
但基于領域文法的方式也存在相應的弱點:
(1) 領域文法并不是萬能的和開放的,只是針對一個具體領域。
(2) 正是因為第一條,因此領域文法并不能解決所有領域的大規模數據,但是卻可以通過并行解析,實行一個領域中的大規模數據分析。
(3) 由于是針對特定領域的(包括電子產品或是有行情等都進行過嘗試和運用),如果出現缺少文法的情況會影響分析率。因此我們正在研究文法的自動學習算法,重點是對已經形成的種子的文法而自動產生新的文法。
在反貪腐領域的文法,在輿情分析中的主要作用是抓住輿情的苗頭,而不受到關注度以及轉發度、評論以及是否熱門的影響,從而達到最快抓住苗頭的目標。
在文法設計的過程中,為了使文法更容易維護更健壯,且文法之間不會出現重疊,我們總結出以下文法設計原則。遵守以下原則,可以更容易地進行文法設計工作。我們中間以貪腐主題語料的文法設計為例來解釋說明每條原則。
1.1語料采集原則
在文法設計之前,為了使文法有更好準確率和覆蓋面,語料的準備和采集變得至關重要,因此在前期語料準備工作中我們應該遵守和參考以下原則:
① 語料采樣、覆蓋面要足夠廣。
在查找語料時,要選擇盡量涉及不同類別內容的語料;語句也盡量涉及更多不同類型、不同結構。只有語料的選擇面、采樣面廣,才能使得文法的涉及面更廣,對領域分析帶來幫助。
② 語料要選擇對文法有意義的語句,要選擇符合要求內容的語句。
選擇對自己設計的文法有意義的語料,選擇符合領域且對目的有幫助的語句。文法的篩選過程就是參照該原則。
1.2頂層設計原則
在語料準備完成以后進入語句文法設計之前,首先要進行一個頂層的設計。該設計就是建立語法樹根基,只有根基建立得穩定才會使整個語法樹更加健壯、穩定,也更容易維護。該過程我們應遵守以下原則:
① 頂層設計要方便維護。
對于整個大的知識系統來說,必不可少要面對維護的問題,因此在設計頂層的時候一定要方便以后的維護。我們采用的方式是將結構自頂向下進行層層分類,以后維護時只維護某一層的某一項即可。
例如:在貪腐領域的應用中,當出現一個語句不屬于某一類時,可以直接將一個形成一個新類進行提升。當要修改其中一個類別的內容以及語句文法時,也不用顧忌其他的語句文法和類別。這樣對于維護來說,變得更加容易省時。
② 頂層設計的各類之間不要有重疊。
對于某一層的各類之間不要出現語句的重疊,這樣會使得整個頂層看起來干凈清晰。
例如:“<指名道姓腐敗描述語句_不明房產>”和“<指名道姓腐敗描述語句_買賣官職>”下面的文法語句中,不會出現重復的內容,分類清晰明了。這樣不僅使得整個文法結構分明還可以幫助我們更加方便查看和修改。
③ 語法樹的結構越清晰越好。
設計的文法最終會轉化成一棵語法樹,因此頂層設計的好壞決定了該語法樹的結構。語法樹的結構越清晰越好,因此頂層設計的結構和類之間越清晰越好。
1.3語句文法設計原則
頂層設計后是對語句進行文法編寫,在文法設計的過程中,我們要不斷地修改頂層設計以及非終結符設計從而適應語料、語句增多的變化。在文法設計過程中,要遵照一定的原則,才會使得每個語句文法準確、簡單以及涵蓋面廣等。
① 文法編寫要采用正規的BNF語法。
該原則是文法編寫的主要以及首要原則,所有的語句編寫文法時必須采用正規的BNF語法。
② 編寫文法的語句劃分,主要采用“,”進行斷句。
在文法設計時,語料中編寫文法的語句以“,”為一句,對于每一句有用的語句都要進行文法編寫。
③ 當一個句子的同一位置可以由兩個非終結字符的選擇時,我們可以選擇將兩個終結符合并或者寫成兩個語句。
在文法編寫時出現同一個語法結構和句型,某一個非終結符換成另一個非終結符依然成立。這時處理辦法主要有兩種:一是將可以替換的非終結符進行合并,二是形成多個文法語句。對于兩種方法的選擇,要考慮非終結符是否可以合并,以及多個文法語句是否累贅等因素。
例如:文法“<指名道姓貪腐主語>[<任職期間>]<無視><法律法規>”和文法“<指名道姓貪腐主語>[<任職期間>]<無視><黨紀詞連用>”兩者之前句型類似,但這里我們選擇寫成兩句,因為兩者在語義上理解不適合合并。
④ 文法設計過程中要時刻注意保證文法的可讀性。
文法的可讀性是指編寫的文法可以很容易看出中心思想、相應的句子結構以及所屬的類型。對于貪腐領域文法來說,文法應該可以一眼就看出是跟貪污腐敗相關。
例如:對于語句“XX省藥監局長黃某坐擁84套房產”,我們設計的文法為“<指名道姓貪腐主語><含有詞><房產數量詞><房產詞連用>”,很容易看出來文法很好地反映了語句是關于有過多非法房產的貪污腐敗語句。這樣設計的文法可讀性很強,也很容易他人和自己理解。
⑤ 當某些語句本身并不與主題相關,但是卻是輔助和說明語句,這時我們也要將該句也編寫成文法。
當一個語句要與前面或后面連起來才會反應出主題,這時我們也要將其用文法編寫出,因為只有這樣才是一個完整的語句,才可以反映出中心思想。
例如:語句“通過各種非法途徑,獲取住宅樓房和沿街商品房共70套”,前半句單獨使用時,不符合語法也不能反映出貪污腐敗的事實,而 “,”設置成可省。最后形成的語句文法是“[<指名道姓貪腐主語>][<其>][<本人>]<通過>[<各種>]<非法><方法>[<間隔標點>]<獲取><房產>[<共>]<房產數量詞>”。
⑥ 文法非終結符的可選要注意可選后語句是否通順,是否符合文法的主題和中心思想,一般修飾性的、做狀語的等非終結符都是可以省略的。
為了擴展文法,最簡單的方法就是對非終結符進行可選的操作,判斷一個非終結符是否可以可選,主要遵從以下原則:首先要看不加該非終結符以后,整個文法語句是否通順是否符合我們的語法要求;然后判斷省略該非終結符后的文法是否還符合整體主題;最后則是判斷省略該非終結符后的文法是否還符合之前所屬分類,如果屬于則不用修改,若不屬于,則要將省略后的文法放置本該屬于的類中。
例如:文法“<看來><指名道姓貪腐主語><先后><收受><人稱代詞><的><價值數量詞><好處費>”中,可以很明顯地看出非終結符“<看來>”、“<先后>”、“<人稱代詞>”以及“<的>”、 “<價值數量詞>”都是可以省略的。通過上述的分析我們得到最后的文法為“[<看來>][<指名道姓貪腐主語>][<先后>]<收受>[<人稱代詞>][<的>][<價值數量詞>]<好處費>”。
⑦ 設置非終結符可選時要注意文法沒有主語的情況。
雖然規則6中已經給出了文法中非終結符可選的原則,但是當非終結符為主語時,在考慮是否可選時,要注意文法缺少主語時是否文法所表達的意義符合中心思想,且不會匹配到其他無關的語句。
例如:文法“<指名道姓貪腐主語><玩弄包養>[<多個>]<女受害者>”中的非終結符“<指名道姓貪腐主語>”在句中做主語,而如果將該主語設置為可選,文法“<玩弄包養>[<多個>]<女受害者>”卻不只是可以匹配官員貪污腐敗的情況,還可以匹配其他商人等一些其他方面內容,因此該主語就不能設置成為可選。
⑧ 文法編寫時,要適當的對文法進行擴充。
文法擴充主要包括兩個方法。一是改變文法的結構從而形成一個新的文法;二則是根據一個文法進行聯想,可以是對同一個語意的不同說法,也可以是同一種結構的不同語意。
例如:文法“<指名道姓貪腐主語><長期><以來><貪污受賄成語連用>”可以聯想到將非終結符“<貪污受賄成語連用>”換成“<貪污受賄短語>”,也符合要求的文法,因此產生了一個新的文法“<指名道姓貪腐主語><長期><以來><貪污受賄短語>”。
1.4非終結符設計原則
在整個文法設計中另外一個重要的部分就是非終結符的設計。在文法語句設計進行過程中,要同時對非終結符進行設計,非終結符設計的好壞也對文法設計的質量有影響。為了更好地進行非終結符設計,我們要遵守以下幾條原則:
① 非終結字符的名字定義,要符合終結字符的共同表達,能夠反映終結字符的含義,并可以看出文法的中心思想。
例如:非終結符“<程度副詞>”可以看出它定義的終結符是表示程度的,還可以看出在句子中是作為副詞使用的。
② 對于非終結字符來說,為了更好地維護和更準確地表示其含義,有時要對非終結符繼續進行細分。
例如:非終結符“<政府管理部門>”這個非終結字符,包含的范圍很廣,因此按照不同的級別進行劃分,得到的非終結符為“<國家政府管理部門>”、“<省政府管理部門>”等。這樣可以很好地維護非終結符,也使他們的定義更加準確單一。
③ 根據句法的應用,有時要對非終結字符進行合并。
例如:文法“<指名道姓貪腐主語><娶有><人數數量詞><妻>”中非終結符“<娶有>”可以換成 “<含有詞>”,合并兩者,文法就變得簡單并容易維護。
④ 當表示兩個非終結符的終結字符出現交叉的時候,對這兩個非終結字符要進行合并。
在設計非終結符使,如果出現兩個非終結符定義的終結符有重疊,這時要考慮這兩個非終結符是否可以合并。
例如:非終結符“<女受害者>”和“<有夫之婦>”,定義時出現了重疊,這時將兩者合并形成一個非終結符“<女受害者>”。這樣文法就減少了冗余。
⑤ 在合并非終結符時,我們要考慮是否可以合并。
驗證是否可以合并最好的方法是在出現一個非終結符的句子中替換成另一個非終結符,若句子是通順的,相反亦然時就可以將兩個非終結符合并。
例如:非終結符“<販賣>”和“<出讓>”兩者都有賣的意思,在“XX販賣土地謀取私利”可以替換,但是 “XX販賣官職”這時并不能將“販賣”替換為“出讓”,這樣做可保證文法的準確性。
⑥ 當多個非終結符經常成組出現,考慮合并抽象成更高層的非終結符,這樣可以簡化文法增加文法的可維護性。
例如:非終結符“<利用>”和“<職權>”在句子中經常一起出現,這時可以將兩者組合形成高一層的非終結符“<利用職權>”,采用這種方式可以使文法更加簡潔且更方便維護。
本文主要采用領域文法分析的方式對微博進行輿情分析,而為了得到的結果更加準確以及文法的涉及面夠廣,領域文法設計的過程變得非常重要。
對貪污腐敗語料分析可以起到對政府官員們監督和督促的作用,減少現當今官員貪污腐敗、不受信賴的現狀。本節主要以領域文法設計在貪污腐敗語料的應用來說明文法設計的主要過程。
2.1領域分析
領域分析主要是根據本體的思想理念,結合領域自身的特點來對整個領域文法從語義方面進行劃分和刻畫。我們可以通過觀察語料對語句進行分析,將貪腐輿情領域劃分不同的類,而劃分的標準則是使類與類之間可以很好的區別開,結果可以很明顯看出屬于貪腐輿情的范圍。
首先,我們可以大致對類進行劃分,然后根據語料進行修改和擴展。本文通過語句的語義,按照貪腐的不同表現對整個貪腐輿情領域進行劃分。劃分的類的結果如圖1所示。

圖1 貪腐輿情領域分析圖
2.2語料準備
在領域文法設計之前,我們要做好準備工作,而準備工作當中最重要的則是對語料的準備。
對于語料的查找,可以先根據初步的領域分析,來進行語料的查找,并在語料的過程中對領域分析進行修改,并對新產生的類進行語料的查找,如此循環進行,完成語料的準備工作和領域分析的工作。語料查找方式有很多,使用微博的語料主要采用的準備方法有以下兩種:
(1) 關鍵字搜索,并搭配復雜的搜索
直接通過關鍵字的查找對微博進行搜索,并可以采用多個關鍵字的復雜形式;關鍵字主要是與貪腐相關的字眼。
(2) 關注用戶,從而獲取用戶發布的相關內容
因為當前微博的用戶很多是以機構、單位以及團體等形式的用戶,我們可以根據要搜索的語料類型來對相應的用戶搜索,再對該用戶發布的帖子進行查看,再篩選出相應的語料。
因為關鍵字的查詢,準確率并不高,這時需要對語料進行篩選。首先要選擇真正屬于貪腐的語料,其次在篩選語料時,只選擇原創性和第一次爆料的。因為只有第一次爆料原創性的語料,才會幫助有關部門得到第一手消息對相關人員進行調查。
2.3領域文法設計
完成語料準備工作以后,進入領域文法設計階段。該步驟中,主要是對標注的語句進行分析和文法總結。整個文法設計過程中,我們不僅是對句子進行文法設計,還包括其他方面的設計。其過程如下:
2.3.1頂層設計
頂層設計主要在頂層設計原則的指導下針對各個語句文法的上層進行設計。因此在具體語句文法設計之前,要先對頂層進行設計,同時為了形成一個更好維護的分析樹,頂層設計也要具有層次性。從根到語句文法設計成層次清楚、結構鮮明的形式。
對于貪污腐敗文法的頂層設計,我們首先考慮根的設計。既然我們主要工作是對貪污腐敗的描述進行文法設計,因此我們的根就可以設計成<貪腐描述語句>,下面則是對語句進行細分。為了更好地維護和擴展,要保證每類文法的區分度要大,并且可以很好地表現該類文法的特點。之前領域分析的結果可以很好地滿足需求,因此對于類的劃分可以采用參考領域分析的結果。處理語句的過程中,發現了有些句子是沒有主語的,因此在劃分類之前先對有無主語進行劃分,劃分為<指名道姓貪腐描述語句>和<非指名道姓貪腐描述語句>;然后則是根據其貪污腐敗內容也就是領域分析的結果進行分類,最后我們得到的頂層如圖2所示。

圖2 領域文法設計頂層
2.3.2語句文法設計
在完成頂層設計以后,開始進行語句的文法設計。對語句進行文法設計時,要遵照語句文法設計原則進行領域文法的編寫。
根據每一個語句中的詞語或詞組來設置非終結符,而文法語句就是靠非終結符的連接形成。非終結符的定義可以是終結符、非終結符以及終結符和非終結符的組合。
例如:語句“XX省委羅某昏官!”寫成的簡單文法為“<省><官職><官員名字><昏官>”。
2.3.3非終結符設計
當語句文法完成,要根據非終結符設計原則進行非終結符設計。非終結符設計要對終結符進行聯想,聯想出意思相近或是符合語句的其他詞語,一些情況下還要考慮將非終結符進行合并。
例如:如非終結符“<國外目的地>”可以聯想到的類似詞語有“海外”、“境外”、“國外”等,但是除了這些統稱詞語以外,當語句文法中該位置換成某個國家的名稱,語句也符合。因此“<國外目的地>”最后定義為“<國外目的地>::=海外|境外|國外|外國|<具體國家名稱>”
2.4領域文法修改、合并以及擴充
領域文法設計完成以后,隨著文法語句的增多,要在語句文法設計原則的指導下對文法進行修改合并或擴充。進行文法的修改和合并,主要是檢查是否存在類似的文法,是否存在不通順的文法,是否存在不準確的語句文法。文法的擴充則是為了使文法的涵蓋面更廣通過改變說法、改變句型結構以及聯想等方式來增加文法。
2.4.1文法修改
文法的修改,針對的問題是文法中可選的非終結符導致句子成分殘缺而不成句子或文法語句的結構等不符合我們的習慣,以及文法并不能體現出語句意義的情況。而改進的方法主要是改變文法語法結構、直接刪除或修改非終結符。
例如:文法“[<指名道姓貪腐主語>][<的>]<財產>[<全都詞>]<轉移>[<到>][<國外目的地>]”該語句的主語為“<財產>”可以匹配出不是貪污腐敗的語句,因此在“<財產>”前加入“<非法>”的非終結符。
2.4.2文法合并
文法合并針對的問題包括兩個文法之間類似或一個文法包含另一個文法的情況。這時改進方法是合并文法并改變非終結符的定義,同時適當地對非終結符進行合并;或者對非終結符進行可選設置,從而使得長句子通過可選方式從而形成包含的短句子。
例如:文法“[<指名道姓貪腐主語>][<自己>][<在某地>]<當官><貪污>”和文法“[<指名道姓貪腐主語>][<自己>][<在某地>]<當官><受賄>”,我們可以看到兩句文法類似,這時我們將“<貪污>”“<受賄>”進行合并形成新的非終結符“<貪污受賄>”,最后形成一句文法“[<指名道姓貪腐主語>][<自己>][<在某地>]<當官><貪污受賄>”,新形成的文法更容易維護且文法涵蓋面更廣。
2.4.3文法擴充
雖然完成現有語料的所有語句文法,但是不能保證總結的文法涵蓋所有的語句,特別是語法結構不同,就會變成不同的語句,所以我們要通過改變語法結構或者聯想來擴充文法。
例如:文法“[<原>]<指名道姓貪腐主語><人數數量詞><含有詞><房產數量詞><房產詞連用>”中非終結符“<房產數量詞>”和“<房產詞連用>”交換位置依然成立。因此產生一個新的文法“[<原>]<指名道姓貪腐主語><人數數量詞><含有詞><房產詞連用><房產數量詞>”。
為了驗證上述提出的文法設計方法和原則的有效性, 本文將上述方法應用到貪污腐敗主題的輿情分析中,并采用LL(1)分析方法進行實驗[8]。我們從新浪微博中下載了涉及貪腐的語料,對系統進行了初步的測試。
3.1文法分析器設計
本文選擇通用的分析器,可以從外界導入文法,建立推導、分析樹等。該文法分析器的設計和實現主要參考了一個開源語法分析器,并在此基礎上進行了補充和完善。完善了語句推導過程和文法樹建立過程,補充添加了語句推導導出功能和文法樹保存輸出功能。
文法分析器是一個分析文法并驗證某一個語句是否符合該文法的系統,
整個文法分析器的主要流程包括以下三個步驟:
(1) 導入文法。該系統采用從外界導入文法的形式,用戶將文法寫入一個txt中,然后選擇導入文法功能,將文法導入。
(2) 語句推導。在完成了文法導入操作以后,只要選擇創建推導功能,輸入要判斷的語句進行推導;推導完成后可以選擇查看推導功能,這時系統將顯示推導過程。
(3) 分析樹建立。在完成語句推導之后,可以選擇建立分析樹來更形象的觀察語句的推導過程,還能根據需要將分析樹進行輸出。
根據主要步驟得到的流程如圖3所示。

圖3 文法分析器流程圖
3.2文法驗證
3.2.1實驗
依照上述描述的過程,使用LL(1)文法分析器,根據語料完成的文法數量為526條,共分為38類。語料的主要來源于新浪微博,所有語料準備為重點貪腐語以及首發語句,處理后分成句子223條,其中隨機挑出了100條語料進行文法編寫,所有的223條語料在分析器上進行了運行。下面以幾條例句為例來進行結果的演示:
(1) “XX市國稅局局長任職期間含有三輛豪華高級轎車”
該語句屬于生活腐敗類中,使用文法分析器根據領域文法得到的文法推導過程如圖4所示。

圖4 句(1)文法推導過程
根據推導可以分析得到一棵完整的例句的文法分析樹,分析樹可以很清晰地看出例句到文法的對應關系,得到的文法分析樹如圖5所示。

圖5 句(1)文法分析樹結果
(2) “XX市武裝部部長買支書給妻子當”
該語句屬于買賣官職類,使用文法分析器得到的結果會與上述過程一致,而最終的結果得到的文法樹如圖6所示。

圖6 句(2)文法分析結果
(3) “村干部周某任職我們村主任7年,期間利用職權便利,非法變賣霸占村委集體土地”
本語句表達的方面是關于貪腐關于非法搶占土地的問題, 根據文法,可以分析得到一棵完整的例句的文法分析樹。分析樹可以很清晰地看出例句到文法的對應關系,得到的文法分析樹如圖7所示。

圖7 句(3)文法分析結果
3.2.2結果分析
采用以上幾個典型的例句進行分析,可以很容易地看出我們方法的優越性和準確性。
以上的例句都很容易地可以看出屬于貪腐語句。但如果只是單純地采用關鍵字的搜索,例如一般搜索關鍵字“高級轎車”、“買官”等,會得到很多冗余的信息。因為同樣的說法也可能試用于商業人士或一些明星等,這時為了得到想要的貪腐相關語句,就要對所有的語料進行查看篩選;而如果采用領域文法的形式,就可以很容易地直接得到貪腐的語句,并將一些無關的相似語句排除。另外如果為了準確率而輸入多個關鍵字,限制就會更多,很多相關語句會被過濾掉;而采用領域文法的分析的方式,因為有非終結符可選的靈活使用,就可以對相關的內容很充分地曬選出來。對于微博來說,一些重要事件的暴露主要依靠網友的轉發以及評論,當達到一定數目才會被發覺,而這些是需要時間的;如果采用領域文法的形式,那么再出現的時候就可以很容易地監測出來,實時性更好。
通過以上的分析,可以看出文法分析的優越性以及實時性,以及領域文法分析在輿情分析中的特色。
為了解決語義輿情分析基于關鍵字準確率較低的問題,本文提出基于領域文法設計的方式,并詳細總結和說明了領域文法設計過程和涉及到的原則。本文首先對文法和領域文法進行簡單的介紹,為領域文法設計打下了技術基礎。然后對領域文法設計進行了總結,總結了領域文法設計的原則和過程。
隨后將領域文法設計的過程和原則在貪腐主題的網絡輿情分析中進行應用,形成貪腐領域文法并進行實驗,結果表明該方法對文本分析是有效的。而本研究總結的領域文法設計過程和原則對所有的領域文法設計通用,為基于語義的輿情監測系統的文法設計提供理論基礎,有利于幫助相關工作合理地設計和編寫領域文法,具有重要的理論意義和實用價值。
本文方法相較于統計的方法主要的優點和創新點包括:
(1) 當關鍵信息數據稀疏的情況下,領域文法的方式依然可以很好地監測;
(2) 領域文法的方式不需要對信息進行統計,可以避免相關信息內容因為距離太遠而不能找到,同時可以更好地精確查找信息;
(3) 領域文法的方法可以很好地提取真正有用的信息,避免統計方法的容易受到無用冗余信息的影響,因為有些詞匯之間只有搭配起來使用才會起到一定的作用和意義。
但是也不能忽略其中包含的問題,因此后面要解決的主要問題和方向包括:(1) 雖然文法設計的準確率高,但是卻存在人工耗費過大的缺點,因此要尋找機器學習的方式,從人工的文法設計中,自動提取更多的相關文法,從而提高效率和減少人力。(2) 領域文法只是適用于某個領域,因此并不是開放的,并不能很好地適用于所有領域的大規模數據。 (3) 要設計更有效的檢測方式來對設計的文法檢測,而不是單純的靠語料的對比,還要可以根據方法來檢測文法的模糊性、歧義性、冗余性等方面。
[1] 張超.文本傾向性分析在輿情監控系統中的應用研究[D].北京郵電大學,2008.
[2] 王來華.輿情研究概論[M].天津社會科學院出版社,2003.
[3] Bharath S,Dave F,Hakan F,et al.Short text classification in Twitter to improve information filtering[C]//Crestani F,Marchand-Maillet S,Chen Hsin-Hsi,et al. Proceedings of the 33rd International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM,2010:841-842.
[4] 夏雨禾.微博互動的結構與機制——基于對新浪微博的實證研究[J].新聞與傳播研究,2010(4):60-69.
[5] 朱國華.文本信息處理中漢語句法分析方法研究[D].大連理工大學,2003.
[6] 龐磊,李壽山,周國棟.基于情緒知識的中文微博情感分類方法[J].計算機工程,2012,38(13):156-158,162.
[7] 姚天昉,婁德成.漢語語句主題語義傾向分析方法的研究[J].中文信息學報,2007,21(5):73-79.
[8] 王海濤,曹存根,高穎.基于領域本體的半結構化文本知識自動獲取方法的設計和實現[J].計算機學報,2005,28(12):2010-2018.
[9] 馮志偉.自然語言處理中的概率語法[J].當代語言學,2005,7(2):166-178.
[10] 馮志偉.用上下文無關語法來描述漢字結構[J].語言科學,2006,5(3):14-23.
[11] Jurafsky D,Martin J H,馮志偉.自然語言處理綜論[M].電子工業出版社,2003.
[12] 侯圣巒.基于語義文法的網絡輿情精準分析方法研究[D].北京:北京工業大學,2014.
[13] 楊明輝,郭肇德.基于擴展的BNF文法的通用語法分析算法[J].軟件學報,1992(3):24-32.
[14] Charniak E.Statistical parsing with a context-free grammar and word statistics[C]//Proceedings of the national conference on artificial intelligence.JOHN WILEY & SONS LTD,1997:598-603.
[15] Aho A V,趙建華,鄭滔,等.編譯原理[M].機械工業出版社,2009.
[16] 王海濤.文本知識處理方法及智能敘事生成應用研究[D].北京:中國科學院研究生院,2008.
[17] 黃萱菁,張奇,吳苑斌.文本情感傾向分析[J].中文信息學報,2011,25(6):118-126.
[18] 吳昱明,曹存根.一種介詞-動詞模式的獲取方法[J].計算機科學,2008,35(11):139-143.
A METHOD FOR ANALYSING PUBLIC OPINIONS IN MICROBLOGS BASED ON DOMAIN-SPECIFIC GRAMMAR AND ITS APPLICATION
Zhang Luchen1Zhang Liang1Sun Haoliang1Fang Fang2Cao Yang3Cao Cungen2
1(NationalComputerNetworkEmergencyResponseTeam/CoordinationCenterofChina,Beijing100029,Chima)2(KeyLaboratoryofIntelligentInformationProcessing,InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100190,China)3(CollegeofComputerScienceandInformationTechnology,GuangxiNormalUniversity,GuiLin541000,Guangxi,China)
Traditional public opinion analysis method has two defects: since lacking necessary semantic processing on public opinion texts, traditional network public opinions analysis method based on keywords or bag-of-words usually has inaccurate analysis results, i.e., the false negative and false positive rates are relatively high; and because of sparse data, generally the method can’t timely catch the ″signs″ of public opinions in early stage of public opinion development. To solve these problems, this paper presents a domain-specific grammar-based analysis method for analysing microblogging grammars, and puts forward a list of universal design principles and an analysis method for domain-specific grammar. Compared with statistical method, the advantages and the innovation points of domain-specific grammar-based method include: the domain-specific grammar can still work well in the case of data sparsity; the work mode of domain-specific grammar does not need to make statistics on information, and will not be affected by the distance of words. The domain-specific grammar-based method can well extract really useful information but will not be affected by the word collocation as the statistical method is. To demonstrate the utility of our method, we choose the public opinions of anti-corruption as the verification application. Experiments show that the grammar of public opinions in regard to corruption domain can well recognise and extract the text contents of microblogging public opinions of corruption category, therefore reaches the goal of corruption public opinions inspection.
Microblogging public opinion analysisDomain-specific grammarGrammar designAnti-corruption domain
2014-12-18。國家自然科學基金項目(91224006,6103 5004,61173063,61203284);科技部項目(201303107)。張露晨,工程師,主研領域:網絡與信息安全。張良,高工。孫昊良,工程師。方芳,碩士生。曹陽,碩士生。曹存根,研究員。
TP391
A
10.3969/j.issn.1000-386x.2016.08.010