李渝勤,孫麗華
(1.北京信息科技大學(xué),北京100101;2.北京拓爾思信息技術(shù)股份有限公司,北京100101)
隨著互聯(lián)網(wǎng)的普及,中國網(wǎng)民超過3.38億人,已經(jīng)成為世界第一大網(wǎng)民國家。Web2.0時代,網(wǎng)絡(luò)具有傳播快、成本低、聯(lián)動性強等特點,使得傳播環(huán)境與傳播者都發(fā)生了天翻地覆的變化。網(wǎng)絡(luò)論壇、博客、SNS等給人們提供了眾多可以盡情表達的渠道,從以前只能看與聽,變成現(xiàn)在的可以評論,甚至還可以有自己的讀者。大多全國性乃至世界性影響事件的傳播,均首先來自于網(wǎng)絡(luò)。網(wǎng)絡(luò)輿論熱點層出不窮,如上海市戶籍新政、陜西神木縣全民免費醫(yī)療、做俯臥撐、躲貓貓、樓脆脆、替誰說話、周久耕事件等等,都是通過網(wǎng)絡(luò)進行第一時間傳播?;ヂ?lián)網(wǎng)已經(jīng)成為政府了解民情的直接渠道,也是新形勢下政府部分的重要輿論陣地。只有及時發(fā)現(xiàn)互聯(lián)網(wǎng)的熱點信息,快速發(fā)現(xiàn)、快速處理有較大影響的重要事件,并進行快速識別和定向跟蹤,才可能更快更全面地掌握輿情動向,從而進行正面引導(dǎo)輿論和宣傳。
互聯(lián)網(wǎng)的熱點信息包括熱點事件、熱點專題、熱點詞語(簡稱熱詞)等方面,其中熱詞作為一種詞匯現(xiàn)象,反映了某一特定時空范圍內(nèi)人們普遍關(guān)注的問題和事物,反映一個時期的熱點話題及民生問題。近幾年,網(wǎng)絡(luò)的的確確制造了許許多多的網(wǎng)絡(luò)熱詞。它們不僅僅吸引了網(wǎng)民的注意,同樣還得到了眾多媒體的關(guān)注。這應(yīng)該是一種值得關(guān)注的網(wǎng)絡(luò)文化現(xiàn)象。
本文探討如何對互聯(lián)網(wǎng)的信息進行實時分析、挖掘,從而獲取近期流行熱詞的相關(guān)技術(shù)問題。概括地說,熱詞分析技術(shù)包括熱詞發(fā)現(xiàn)、熱詞關(guān)聯(lián)技術(shù),熱詞關(guān)聯(lián)技術(shù)又稱為詞群關(guān)系技術(shù),下節(jié)將詳細闡相關(guān)的技術(shù)內(nèi)容。
熱詞挖掘是從互聯(lián)網(wǎng)不斷更新的信息中尋找一定時期熱度高的那些短語,比如人名、地名、機構(gòu)名和其他常見短語,很多網(wǎng)絡(luò)熱詞是詞典中未收錄的新詞語。按領(lǐng)域可分為政治、經(jīng)濟、軍事、娛樂、體育、衛(wèi)生、科技、社會生活等各個領(lǐng)域的熱詞。
互聯(lián)網(wǎng)無時不在源源不斷地產(chǎn)生熱詞。新聞留言板、論壇、博客、微博等內(nèi)容豐富的網(wǎng)絡(luò)傳播媒介和渠道已經(jīng)成為熱詞展示魅力的舞臺。然而,這些熱詞的傳播往往呈現(xiàn)出無序、散亂的狀態(tài),如何在海量信息海洋中準(zhǔn)確地找到熱詞的來龍去脈并非易事,這也是自然語言處理和文本挖掘領(lǐng)域?qū)W者們不斷研究和探索的方向。本文通過分析互聯(lián)網(wǎng)熱詞的呈現(xiàn)特點,綜合詞語本身的詞頻信息和詞語與時間因素的關(guān)聯(lián)性,研究得出熱詞發(fā)現(xiàn)算法模型,及時發(fā)現(xiàn)互聯(lián)網(wǎng)熱詞。
互聯(lián)網(wǎng)熱詞呈現(xiàn)的主要特點之一主要表現(xiàn)為詞語在互聯(lián)網(wǎng)上出現(xiàn)的頻度高、分布范圍廣、涉及領(lǐng)域多,即在新聞網(wǎng)站、論壇、博客、微博客等新興網(wǎng)絡(luò)載體上都有非常廣泛的傳播,這些詞演變?yōu)闊嵩~的可能性非常大;此外,互聯(lián)網(wǎng)熱詞呈現(xiàn)的另一顯著特點是詞語隨時間推移而出現(xiàn)突然的異動,即時間因子對熱詞具有非常明顯的影響。
圖1 熱詞的呈現(xiàn)特點示意
從圖1我們可以看出,例如我們常見的詞語“網(wǎng)絡(luò)”一詞,雖然該詞的出現(xiàn)頻度較高,但是歷史波動與近期波動比較平穩(wěn),因此不屬于熱詞范疇,屬于高頻詞匯。而“階梯電價”一詞在10月份詞頻出現(xiàn)頻率開始升高,到十月中旬該詞的出現(xiàn)頻率呈現(xiàn)迅速增長的態(tài)勢,
歷史波動與近期波動表現(xiàn)為突發(fā)性的異動增長,則判斷該詞屬于熱詞范圍的詞語;“生活”一詞屬于波動變化較小,頻率出現(xiàn)不是很高的詞匯,屬于一般網(wǎng)絡(luò)詞匯。
候選短語識別分為命名實體短語和非實體短語識別兩部分。命名實體短語包括人名、地名、機構(gòu)名的識別。非實體短語指的是除了人名、地名、機構(gòu)名的其他短語串。實體短語識別采用的是基于隱馬爾科夫模型的命名實體識別技術(shù)[1-2]。非實體短語目前采用Nagao算法,進行高頻串的識別及其串頻統(tǒng)計工作,后續(xù)準(zhǔn)備采用C-valule值等多詞串抽取方法,進行對比試驗[8],以期獲得更好的識別精度。
2.2.1 命名實體識別
隱馬爾可夫模型是一種在自然語言處理領(lǐng)域中被廣泛應(yīng)用的統(tǒng)計模型。中文命名實體識別中的人名識別、地名識別、譯名識別以及機構(gòu)名識別等都可以用隱馬爾可夫模型來解決。本文采用了的層疊隱馬爾可夫模型[3-4](Cascaded Hidden Markov Model,簡稱Cascaded HMM)在統(tǒng)一的隱馬爾可夫模型中來識別各類命名實體,并在這些隱馬爾可夫模型中建立起一定的聯(lián)系,形成一個一體化的命名實體識別系統(tǒng)。
整個命名實體識別的層疊隱馬爾可夫模型由三級互相聯(lián)系的隱馬爾可夫模型構(gòu)成,自底向上分別為人名識別HMM,地名識別HMM和機構(gòu)名識別HMM,每一級都是以隱馬爾可夫模型作為基本的算法模型,整個算法的時間復(fù)雜度和隱馬爾可夫模型的時間復(fù)雜度相同,分析時間隨著輸入串長度的增長而線性增長,速度非???。各層隱馬爾可夫模型之間以下兩種方式互相關(guān)聯(lián),形成一種緊密的耦合關(guān)系:
每一層隱馬爾可夫模型都采用N-Best策略,將產(chǎn)生的最好的若干個結(jié)果送到詞圖中供高層模型使用;低層的隱馬爾可夫模型通過詞語的生成模型為高層隱馬爾可夫模型的參數(shù)估計提供支持。
其中第一層人名識別的輸入為粗切分的分詞序列,每一層隱馬爾可夫模型都采用改進的Viterbi算法(N-Best),輸出最好的若干個結(jié)果作為高一級隱馬爾可夫模型的輸入。最高級隱馬模型將在人名識別和地名識別的基礎(chǔ)之上進行機構(gòu)名識別。
2.2.2 非實體串的識別
采用Nagao算法進行字串頻率統(tǒng)計[5-7],統(tǒng)計出現(xiàn)頻率大于一定值的N到M元的字串;然后以一定策略進行子串歸并,長串歸并掉短串,初步過濾掉候選串中的垃圾;最后綜合三種策略,對候選串進行最后的過濾,得到高頻詞串,對高頻詞串進行實體串的帥選之后得到非實體串。
數(shù)據(jù)源是通過網(wǎng)絡(luò)爬蟲采集的互聯(lián)網(wǎng)數(shù)據(jù),存儲到文件中,把此文件看成一個很長的字符串讀入內(nèi)存,并以Unicode編碼。每個字符占2字節(jié)空間。如果待處理語料包括m個字符,則需要2m字節(jié)的存儲空間。以下用Ci表示C中第i個字符。
接著構(gòu)造一個長為m的P表(pointer table)。P表的每一項Pi保存一個指向C中子串Si的指針。Pi指向的子串Si定義為從Pi所指字符Ci到C中最后一個字符Cm中的m-i+1個字符所組成的字符串。這樣S1,S2,…,Sm的串長依次遞減,最后一個子串Sm只包括一個字符Cm。P表構(gòu)建好以后就可以根據(jù)P表項所指的子串對P表進行升序排序,在使用快速排序算法的情況下排序時間復(fù)雜度為O(nlogn)。
接下來可以在已排序的P表的基礎(chǔ)上構(gòu)建記錄相鄰子串相同最長左子串長度的L表。L表與P表大小相同,其中的表項Li記錄排序后相鄰子串Spi-1和Spi相同最長左子串長度,即從串首開始相同字符的個數(shù)(L1=0)。例如:若Pi指向的子串Spi=“吸收外資最多的國家”,Pi-1指向的子串Spi-1=“吸收外資最多的一年”,則 Li=6。
在構(gòu)建好P表和L表之后,可使用如下算法對長度為N(1≤N≤255)的統(tǒng)計串進行串頻統(tǒng)計:
算法:長度為N(1≤N≤255)的統(tǒng)計串串頻統(tǒng)計算法。輸入:P表,L表,N。
輸出:所有N元統(tǒng)計串及其頻次。
1. P1指向的N元串賦給X,X的頻次置為1
2. for i=2 to m
3. if Li≥N
4. X的頻次加1
5. else
6. 輸出X及其頻次
7. Pi指向的N元串賦給X,X的頻次置為1
8. 輸出最后的X及其頻次
經(jīng)過串頻統(tǒng)計之后,可獲得長度不小于m1且不大于m2(m1,m2∈N且m1<m2)的高頻串集合Ω。Ω中仍包含許多“垃圾”不宜都用來作為候選短語串。如漢語字串“斯特洛夫斯”出現(xiàn)10次,“奧斯特洛夫斯基”出現(xiàn)9次,則前者也可能為“垃圾”。我們把從高頻串集合中刪除同頻子串的過程稱為等頻子串歸并,刪除近頻子串的過程稱為近頻子串歸并,統(tǒng)稱為子串歸并。經(jīng)過子串歸并后的統(tǒng)計串即是我們要獲取的候選串。
采用通用度過濾、IWP過濾、互信度濾以及首尾字過濾等手段進行垃圾串的過濾工作,最后得到候選的子串,在候選子串中進行實體串的過濾即得到非實體串。
候選實體短語和非實體短語串很多,需要進行熱度排序,取大于設(shè)定閾值的詞語為熱詞。排序是根據(jù)詞語的熱度權(quán)值高低進行的排序。根據(jù)熱詞的定義,熱度權(quán)值分成兩個部分:基礎(chǔ)權(quán)值和波動權(quán)值?;A(chǔ)權(quán)值由在標(biāo)題出現(xiàn)頻率和文檔頻率組合計算來確定。該頻率不僅僅指出現(xiàn)次數(shù),另外還考慮了該詞的上下文信息,如“記者:張曉霞”中“張曉霞”雖出現(xiàn)于很多文章,但由于它的上下文只有一個,所以頻率為1。
波動權(quán)值則考慮了長、中、短期三種時間長度中基礎(chǔ)權(quán)值的變化過程,短期頻率與長期頻率比值越高,則波動權(quán)值越高。最后賦予波動權(quán)值更高的權(quán)值,因為我們更看重的是該詞的新穎程度,最終的歷史波動權(quán)值越高,則新穎度越高,更符合熱詞的含義。
具體熱度權(quán)值計算公式如下:
式(1)為詞語的原始基本權(quán)值計算公式,baseweight值為原始基本權(quán)值,titledf短語在標(biāo)題出現(xiàn)的頻率,contentd f為短語在正文出現(xiàn)的文檔頻率。計算原始基本權(quán)值以天為單位,公式中標(biāo)題中詞語的詞頻數(shù)乘2,強調(diào)詞語在標(biāo)題出現(xiàn)的重要程度要高于正文出現(xiàn)。
式(2)是對原始基礎(chǔ)權(quán)值做的數(shù)值平滑處理,目的是平衡低頻、高頻短語的。baseweight為原始基礎(chǔ)權(quán)值,convbaseweight為平滑后的基礎(chǔ)權(quán)值。
式(3)為詞語的歷史權(quán)值的計算公式,longavg為基礎(chǔ)權(quán)值的長時期的平均值,shortavg為基礎(chǔ)權(quán)值的短時期的平均值,midavg為基礎(chǔ)權(quán)值的中時期的平均值。式中midavg與longavg的比值是中時期與長時期的一個比值,系數(shù)為0.28;shortavg與longavg的比值是短時期與長時期的比值,系數(shù)為0.46;shortavg與midavg的比值是短時期與中時期的比值,系數(shù)為0.36。該公式中更強調(diào)短時期與長時期的比值的重要性。系數(shù)值的選取都是大量試驗之后,總結(jié)得出的一個經(jīng)驗值。
式(4)為詞語的最終熱度權(quán)值計算公式,f inalweigth為詞語的最終熱度權(quán)值,convbaseweight為平滑處理后的基礎(chǔ)權(quán)值,convhistoryweight為歷史權(quán)值。公式中0.25和0.75分別為基礎(chǔ)權(quán)值和歷史權(quán)值的系數(shù),是強調(diào)兩個權(quán)值不同的重要程度,此公式中更強調(diào)歷史權(quán)值的重要性,因此歷史權(quán)值的系數(shù)設(shè)定更高一些。系數(shù)值的選取,主要依靠大量的實驗測試,根據(jù)大量的測試結(jié)果來選取此系數(shù)值。
通過上述詞語的熱度權(quán)值計算之后,按權(quán)值的大小對詞語進行熱度排序。得到一段時間的熱點人名、熱點地名、熱點機構(gòu)名及熱點非實體詞語。
在TRS輿情監(jiān)測系統(tǒng)中對熱詞進行自動發(fā)現(xiàn),計算熱詞的時間區(qū)間可以隨機設(shè)定,例如計算1天熱詞、3天熱詞和7天的熱詞。數(shù)據(jù)來源通過T RS InfoRadar對互聯(lián)網(wǎng)的信息進行采集。數(shù)據(jù)源除選擇互聯(lián)網(wǎng)新聞外,還選擇網(wǎng)絡(luò)論壇和博客的信息,尤其重點選取論壇的信息。論壇信息是所有網(wǎng)絡(luò)信息中,信息量最大的,也是網(wǎng)民關(guān)注度,參與度最大的、它的影響力也是不容低估的,選擇了主流的論壇如新華網(wǎng)論壇、人民網(wǎng)論壇、天涯論壇、貓撲和凱迪等。對采集的數(shù)據(jù)過濾、抽取之后,存儲到T RS數(shù)據(jù)庫中。參與分析的歷史數(shù)據(jù)集的范圍,也可隨機設(shè)定,通過熱詞分析配置文件來設(shè)定。熱詞分析的配置文件的配置參數(shù)如表1所示。
表1 熱詞分析的配置參數(shù)表
表1為TRS熱詞分析模塊識別的2010-6-10當(dāng)天的熱詞,包括熱點人、地名及其非實體熱詞。歷史數(shù)據(jù)的參考時間范圍是半個月。命名實體識別的性能目前為每秒500k左右的識別速度,從熱詞應(yīng)用的角度,目前的識別速度可以滿足工程需求,識別性能還有一定的提升空間,后續(xù)還需不斷的改進。非實體串的識別速度非???每秒達到2M左右的識別速度,目前還存在很多誤識的垃圾串,需要優(yōu)化過濾算法,提高非實體串的識別精度。
表2 熱點人名表
表3 熱點地名表
表4 熱點非實體表
熱詞關(guān)聯(lián)技術(shù)包括兩部分。第一部分為熱詞類信息的確定,第二部分為熱詞類之間的關(guān)聯(lián)性計算。
第一部分熱詞類信息的確定方法。對所有備選熱詞短語根據(jù)權(quán)重高低進行排序,取權(quán)重高的形成熱詞類,同時把同現(xiàn)程度很高的熱詞短語合并成一個類。熱詞短語出現(xiàn)的文章確定為類內(nèi)的文章,第二部分為熱詞類關(guān)聯(lián)性的確定,通過同現(xiàn)率等特點確定類之間的關(guān)聯(lián)性,采用詞群關(guān)系圖展現(xiàn)。關(guān)聯(lián)信息在詞群關(guān)系圖中表現(xiàn)為連接類與類之間的連線,生成最終詞群聚類結(jié)果。
形成詞群關(guān)系圖的具體步驟為首先把所有類分成組,分組的過程為:首先計算所有類兩兩間的相似度,相似度的計算方法為兩個類的文檔同現(xiàn)率,然后每次取相似度最大的兩個類所在的組合并形成一個新的大組,為了防止出現(xiàn)過于極端的情況,這里強制一個組中最大的類數(shù)目為10。合并過程中,所用的相似度最大的兩個類之間就形成一個關(guān)系,最終就形成這樣一個局面:所有的類被分成幾個組,每個組之間的關(guān)系形成一個無環(huán)圖。
組形成之后,計算各組內(nèi)各個類點的坐標(biāo)信息。關(guān)系并不需要計算坐標(biāo),因為類點坐標(biāo)確定了,線也就確定了。詞群關(guān)系圖中點坐標(biāo)的計算方法如下:
假設(shè)畫布是個正方形,首先根據(jù)組數(shù)目計算畫布分塊,比如7~9個組會分成3×3,5~6個組會分成3×2等等,力爭分布最美觀。然后,在每個分塊內(nèi)繪制一個組(有的塊內(nèi)會沒有組),由于組內(nèi)類數(shù)目不同,所以有的塊會擁擠,而有的塊會比較空曠,現(xiàn)在沒有更好的辦法處理這個問題,后期不斷優(yōu)化。
塊內(nèi)類分布計算如下:
如果組內(nèi)類數(shù)目為1個,則在塊內(nèi)中心附近隨機產(chǎn)生一個位置;
否則,如果組內(nèi)類數(shù)目小于6,則,選擇一個最大的類作為中心,其他類均勻分布在周圍。如圖2所示。
為了美觀而不死板,周圍點的分布有一定的隨機旋轉(zhuǎn)。
如果組內(nèi)數(shù)目大于6,則,選擇最大的兩個類,作為雙中心,分布在矩形塊的對角線上,然后分別以這兩個類為中心,其他類半圓分布,典型的情況如圖3所示。
圖2 組內(nèi)單圓心點坐標(biāo)的示意圖
圖3 組內(nèi)雙圓心點坐標(biāo)的示意圖
實驗數(shù)據(jù)最近七天的熱詞分析及其詞群關(guān)系展示情況,歷史參比數(shù)據(jù)選擇30天的數(shù)據(jù)規(guī)模大約百萬級。圖4中近七天的熱詞形成的詞群關(guān)系分成8個大組,例如:組1中“金融機構(gòu)”、“債務(wù)危機”和“歐元區(qū)”為一組;組2中“分析師”和“創(chuàng)業(yè)板”為一組 ;組 3 中“認貸” 、“房貸”、“二手房” 、“調(diào)控政策”和“中國新聞”為一組等。
圖4 七天的詞群關(guān)系圖
實驗數(shù)據(jù)中,每一個節(jié)點點擊之后都可以看到該熱詞所在的文章標(biāo)題列表,點擊標(biāo)題列表可以看到熱詞在文章出現(xiàn)的具體位置,采用標(biāo)紅顯示。熱詞識別方法已經(jīng)成功應(yīng)用到T RS輿情監(jiān)測系統(tǒng)的熱點發(fā)現(xiàn)模塊,熱詞發(fā)現(xiàn)模塊包括熱點事件、熱點專題、熱點詞語識別等。TRS熱點發(fā)現(xiàn)模塊已經(jīng)取得很好的工程實踐效果,在很多輿情項目中得到成功應(yīng)用。
互聯(lián)網(wǎng)信息有復(fù)雜多變信息量大等特點,目前的熱詞分析模塊效果不是很理想,需要提升的空間還很大,需要改進的方面還很多。例如熱詞的權(quán)值計算方法,還需要分析考慮詞語在正文中出現(xiàn)位置、詞性、短語長度等特征信息;人名、地名、機構(gòu)名的識別的準(zhǔn)確率還有待提高,目前系統(tǒng)中還有一定的誤識問題;非實體串識別中,還有很多垃圾串,有待于提高垃圾串的過濾工作;詞熱類的劃分方法以及計算類之間的關(guān)聯(lián)性還不是很準(zhǔn)確,需要更精確的劃分熱詞類,繼續(xù)探索除了貢獻特征以前的其他方法來計算關(guān)聯(lián)性,比如間接關(guān)聯(lián)性等??傊?輿情熱詞串的識別效果還不是很理想,需要不斷的改進、優(yōu)化識別策略及其算法等。
[1]呂雅娟,趙鐵軍,等.基于分解與動態(tài)規(guī)劃策略的漢語未登錄詞識別[J].中文信息學(xué)報,2001,15,(1):28-33.
[2]L.R.Rabiner(1989)A Tutorial on Hidden Markov M odels and Selected A pplications in Speech Recognition[C]//Proceedings of IEEE.77(2):257-286.
[3]張華平,劉群.基于角色標(biāo)注的中國人名自動識別技術(shù)[J].計算機學(xué)報,2004,(1):85-91.
[4]沈嘉懿,李芳,等.中文組織結(jié)構(gòu)名稱與簡稱識別[J].中文信息學(xué)報,2007,21(6):17-21.
[5]Satoshi S.,Nagao M.Toward memory-based translation[C]//Proceedings of the 13th International Conference on Computational Linguistics(COLING-90).Helsinki,Finland,1990:247-252.
[6]呂學(xué)強.面向機器翻譯的E-Chunk獲取與應(yīng)用研究[D].博士畢業(yè)論文.東北大學(xué).2005:27-52.
[7]Nagao M.,Mori S.A new method of n-gram statistics for large number of n and automatic extraction of words and phrases from large text data of Japanese[C]//Proceedings from the 15th International Conference on Computational Linguistics,Kyoto 1994:611-615.
[8]李超,王會珍,等.基于領(lǐng)域類別信息C-value的多詞串自動抽取[J].中文信息學(xué)報,2010,24(1):94-98.