王 清,李炳澤,王嘉梅
(1.云南民族大學(xué) 云南省高校少數(shù)民族語言文字信息化處理工程研究中心,云南 昆明 650504;2.文山學(xué)院,云南 文山 663000)
云南作為一個多民族、多宗教的邊境省份,因其跨境民族種類最多、民族分布邊境線長等特點(diǎn),涉外信息的傳播和民族網(wǎng)絡(luò)監(jiān)管成為了網(wǎng)絡(luò)信息安全比較棘手的問題[1].特別是,近年來隨著互聯(lián)網(wǎng)的發(fā)展和對外門戶的開放,邊疆民族地區(qū)的涉外信息交流頻繁,而網(wǎng)絡(luò)輿情工作的監(jiān)管和處置將會越加困難.與此同時,由于跨境語言網(wǎng)絡(luò)缺乏有效的技術(shù)和統(tǒng)一的管理,大量有關(guān)政治、宗教等敏感信息充斥其中,給當(dāng)?shù)氐拿褡宸€(wěn)定和社會和諧構(gòu)成了極大的威脅[2].由于跨境民族網(wǎng)絡(luò)上的敏感內(nèi)容大多以文本形式呈現(xiàn),因而檢測、過濾敏感內(nèi)容并對其進(jìn)行敏感度分級成為了我們維護(hù)跨境網(wǎng)絡(luò)輿情安全的關(guān)鍵[3].鑒于跨境民族語言的多樣性和復(fù)雜性,本研究以個案研究為切入點(diǎn),選擇使用較多的跨境語言-彝文為例,構(gòu)建面向彝文網(wǎng)頁的敏感內(nèi)容分級系統(tǒng).
目前,國內(nèi)外對于邊疆民族網(wǎng)絡(luò)輿情分析技術(shù)的研究,大多關(guān)注在輿情信息的采集、傳播和監(jiān)管等理論分析方面.2009年—2016年,國家相繼資助和開展以國家自然科學(xué)基金或社會科學(xué)基金為代表的多項邊疆輿情研究性課題,研究了維吾爾文、藏文、蒙文的輿情觀點(diǎn)挖掘、網(wǎng)絡(luò)輿情監(jiān)測等民族語言輿情處理的關(guān)鍵技術(shù)[4-5].但由于跨境民族文字的特殊性和跨境輿情傳播的復(fù)雜性等綜合因素,相較于漢語,國內(nèi)對于跨境民族語言文字的輿情技術(shù)研究尚處于發(fā)展中階段,民族輿情研究領(lǐng)域缺乏學(xué)科體系的支撐及全面系統(tǒng)的成果[6].針對國內(nèi)外以上研究,本研究設(shè)計了面向彝文網(wǎng)頁的敏感內(nèi)容分級模型,包含4個關(guān)鍵模塊:網(wǎng)絡(luò)信息獲取、文檔的預(yù)處理、敏感內(nèi)容檢測、敏感文檔分級,如圖1所示.
通過對彝文的分析得知,彝文不管是在音節(jié)上還是結(jié)構(gòu)上,用計算機(jī)的方式很難將其從網(wǎng)頁中與中文區(qū)分開來[7].因此,本研究設(shè)計了針對彝文的網(wǎng)頁信息采集方法,和中文不同的是增加了彝文網(wǎng)頁判斷模塊,結(jié)構(gòu)如圖2所示,其主要包括6個模塊,分別初始化彝文URL種子、彝文網(wǎng)頁判別、頁面解析、URL提取和去重、信息提取和數(shù)據(jù)庫等.
彝文網(wǎng)頁中HTML編寫的半結(jié)構(gòu)化文檔中混雜著中英文字符和多媒體信息(如音頻、圖片等),這些噪聲給信息的采集帶來一定的難度[8],但彝文網(wǎng)頁與中英文網(wǎng)站相比較少,這又帶來有利的一面.因而我們統(tǒng)計了部分主流彝文網(wǎng)站的特征,并以初始種子URL鏈接和網(wǎng)頁編碼屬性作為爬蟲的初始URL選取依據(jù),如表1所示.
表1 選取彝文網(wǎng)站的特征屬性分析
通過對彝文HTML文檔分析得知,彝文不管是在音節(jié)上還是結(jié)構(gòu)上,單純的正則匹配很難將其抽取出來[9].而基于網(wǎng)頁編碼類型的判別方法,網(wǎng)頁HTML源代碼的“encoding”和“charset”標(biāo)記字段是區(qū)別彝文特征的關(guān)鍵屬性[10],大多數(shù)彝文編碼類型是GBK或UTF-8,字符類型是方正彝,因而可共同作為彝文特征屬性(文字類型、字符編碼)來判斷和識別網(wǎng)頁文字中的彝文字符.而基于彝文網(wǎng)頁鏈接判別方法,可采用正則表達(dá)式匹配次級URL鏈接(*代指字符串,用于分級標(biāo)記),以找到所有爬蟲的URL鏈接.網(wǎng)頁地址鏈接的匹配(提取URL隊列)可用于讀入彝文網(wǎng)頁,網(wǎng)頁編碼類型的特征(方正彝/GBK)可用于解析彝文網(wǎng)頁中的彝字.本研究創(chuàng)新性地采用了基于網(wǎng)頁編碼類型與基于網(wǎng)頁地址鏈接相結(jié)合的算法,一方面克服了前者對于HTML源代碼中文字的編碼屬性識別效率較低的問題,一方面避免了后者對網(wǎng)頁中包含混雜中英文而出現(xiàn)誤差的情況.采用的彝文爬蟲網(wǎng)頁判別流程如圖3所示,具體算法流程如下:
Step 1 對選取好的初始彝文URL種子,分析其內(nèi)部網(wǎng)頁鏈接結(jié)構(gòu),對每個網(wǎng)站設(shè)計出能夠判別其彝文網(wǎng)頁的正則表達(dá)式;
Step 2 單線程的比對,當(dāng)新抽取的URL符合正則表達(dá)式匹配規(guī)則,則判別為彝文網(wǎng)頁,否則轉(zhuǎn)到步驟3;
Step 3 抽取彝文網(wǎng)頁源代碼中的FONT-FAMILY標(biāo)記字段,判斷字段中是否為方正彝的字體類型并檢測是否包含在Face屬性值中;如果是,則識別為彝文網(wǎng)頁,否則轉(zhuǎn)到步驟4;
Step 4 進(jìn)一步判別,是否包含在該網(wǎng)頁源碼節(jié)點(diǎn)的Style屬性中;如果是,則識別為彝文網(wǎng)頁,否則轉(zhuǎn)入步驟5;
Step 5 最后一次判別,是否包含在該網(wǎng)頁源碼節(jié)點(diǎn)的Face屬性值中;若是,則識別為彝文網(wǎng)頁URL,否則結(jié)束流程.依次讀取并處理下一個彝文網(wǎng)頁,轉(zhuǎn)入步驟1.從人工后臺URL鏈接數(shù)據(jù)庫審查看,改進(jìn)的判別算法比較適用于目前含混合文字的彝文網(wǎng)頁,判別流程分層次進(jìn)行,直觀簡單,而且識別結(jié)果比較準(zhǔn)確.
其中在提取的URL隊列中,為了防止相同的彝文網(wǎng)頁重復(fù)爬取而造成信息冗余,本研究在網(wǎng)頁判別的流程中,還加入了將新識別的URL連接與后臺已采集URL地址數(shù)據(jù)庫比對操作,當(dāng)比對重復(fù)時,應(yīng)加以濾除,整個彝文信息采集一直重復(fù)這個比對過程,直到所有的URL地址抽取完畢.
彝文網(wǎng)頁的HTML解析就是通過應(yīng)用正則表達(dá)式,分別在HTML文件中解析出網(wǎng)頁中對應(yīng)的URL地址、content文本內(nèi)容、title標(biāo)題、time時間等,通過對比分析得到我們想要的內(nèi)容,并對其他內(nèi)容進(jìn)行過濾,把以上關(guān)鍵屬性等信息存儲到后臺ACCESS數(shù)據(jù)庫,對解析的內(nèi)容統(tǒng)一轉(zhuǎn)換成UTF-8編碼的TXT文本文件進(jìn)行保存.本研究抽取的彝文網(wǎng)頁信息的屬性信息如表2所示,對爬取的每個彝文網(wǎng)頁,都有對應(yīng)的以URL作為表頭鏈接網(wǎng)頁標(biāo)題、發(fā)布時間、網(wǎng)頁來源、正文數(shù)據(jù)等字段信息.
表2 彝文網(wǎng)頁數(shù)據(jù)的存儲字段
以中國彝學(xué)網(wǎng)為例,其爬取的彝文網(wǎng)頁文本進(jìn)行去冗余和編碼后的TXT文本如圖4所示.
因而,提出將詞典和統(tǒng)計相結(jié)合的算法來實現(xiàn)彝文文本的分詞,從而發(fā)揮各自的分詞優(yōu)勢.前者可在匹配過程中,將彝文字串與詞典進(jìn)行結(jié)合,能夠深度檢測和識別歧義字段,以提高分詞準(zhǔn)確率;后者可在詞頻統(tǒng)計下,根據(jù)最大概率計算原則消除存在的分詞歧義,可加快分詞的效率[13].彝文網(wǎng)頁的文本分詞流程如圖5所示,其具體算法流程如下:
Step 1 把待切分的彝文文本進(jìn)行斷句預(yù)處理,即根據(jù)標(biāo)點(diǎn)符號標(biāo)記,如句號,逗號,破折號等斷句符號來進(jìn)行切分,從而把待切分的彝文文本切分成幾個連讀較短的彝語短句,并把彝文短句作為步驟2中的輸入;
Step 2 對步驟1中斷句切分出的彝文短句運(yùn)用詞典分詞法,根據(jù)彝文詞庫(章節(jié)4.1說明)進(jìn)行正向最大匹配和反向最大匹配的雙向掃描,并把本次彝文分詞結(jié)果作為步驟3的輸入;
Step 3 對步驟2的兩次彝文分詞結(jié)果比較后可以清楚地發(fā)現(xiàn),按照基于統(tǒng)計分詞法中的最大貝葉斯概率計算來判斷一個分詞結(jié)果是否具有歧義,只需比較一下兩次的切分結(jié)果,倘若相同則無歧義,倘若結(jié)果不同,那么就表示這種分詞是具有歧義的,則接下來就要消除所具有的歧義;
Step 4 重復(fù)操作步驟2和步驟3,直至切分完步驟1中斷句所切分出的全部彝文句子單元.彝文網(wǎng)頁文本分詞的示例如圖6所示.
本文所采用的分詞算法是詞典法改進(jìn)而來的,其中最大正反向匹配模塊是以彝文詞表作為支撐[14],詞表的規(guī)模在一定程度上決定了分詞的準(zhǔn)確率,從而影響最終彝文詞過濾和敏感內(nèi)容分級的準(zhǔn)確性.課題組一直致力于彝文信息化的研究,共計收錄了8 000個彝文詞條,覆蓋不同的領(lǐng)域.具體分為16類,包括:其他類別、人物雜記、成語典故、生化醫(yī)藥、學(xué)科教育、生理衛(wèi)生、文史哲學(xué)、產(chǎn)業(yè)服務(wù)、政治軍事、政策法規(guī)、社會生活、宗教迷信、植物動物、事物用品、文化藝術(shù).彝文分類詞庫的構(gòu)建采用純Excel文件編輯,以中文詞為模板一對一標(biāo)注,并添加詞性和拼音標(biāo)識.彝文分類詞庫的標(biāo)注結(jié)構(gòu)如表3所示.
表3 彝文分類詞庫標(biāo)注的結(jié)構(gòu)表
彝文分類標(biāo)注詞庫是按類別進(jìn)行劃分的,可以幫助快速的篩選彝文敏感詞集,共計收錄732個彝文敏感詞條.其中,“政治反動”敏感詞類的整理來源于彝文標(biāo)注詞庫中的“政治軍事”和“政策法規(guī)”兩個類別,“淫穢色情”敏感詞類的收集主要源于彝文標(biāo)注詞庫中的“生理衛(wèi)生”類別,而其他“暴力恐怖”、“毒物傳染”、“不良言語”的敏感詞類則需要進(jìn)行全部的整合.全庫共計收錄暴力恐怖類敏感詞條共計302條,政治反動類敏感詞條共計63條,淫穢色情類敏感詞條共計143條,毒物傳染類敏感詞條共計64條,邪教賭博類敏感詞條150條,不良言語類敏感詞條共計10條.敏感詞集也是數(shù)據(jù)庫(Excel)文件形式保存,便于詞庫的新增、刪除、修改等操作.部分淫穢色情類彝文敏感詞庫標(biāo)注的結(jié)構(gòu)如表4所示.
表4 彝文敏感詞庫標(biāo)注的結(jié)構(gòu)表
彝文網(wǎng)絡(luò)的敏感信息形勢各樣,而且還在不斷地演變新的內(nèi)容,要對其進(jìn)行全部的敏感標(biāo)記和危害區(qū)分存在較大的難度.但為了區(qū)分不同類別的敏感信息對于網(wǎng)絡(luò)的危險性,我們參考國內(nèi)對不良網(wǎng)站的分級標(biāo)準(zhǔn)[15],對彝文網(wǎng)絡(luò)的敏感內(nèi)容進(jìn)行了初步分類,以提高敏感信息監(jiān)管和危害評級的可操作性.將所有彝文敏感詞的敏感級別劃分6個子項,如表5所示,其中一級敏感包含不良言語和邪教賭博;二級敏感含毒物傳染和淫穢色情;三級敏感包含(政治反動和暴力恐怖,每個子項設(shè)置為3個敏感等級,從“一級→二級→三級”依次表示此敏感類別對輿情安全的危害程度.因此,對于不同種類敏感內(nèi)容過濾或關(guān)注的優(yōu)先級排序為:{暴力恐怖、政治反動}>{毒物傳染、淫穢色情}>{不良言語、邪教賭博}
表5 彝文敏感等級的分級體系表
本研究參考敏感詞決策樹[16]的敏感詞模式匹配方法,采用彝文敏感詞庫構(gòu)建的敏感詞決策樹,以數(shù)據(jù)流形式檢測網(wǎng)頁文本中的敏感詞串,綜合衡量相對詞頻、敏感辭別對文本整理敏感度的計算,并結(jié)合敏感閾值完成危險分級.為了提高搜索效率和解決空間存儲,彝文敏感詞決策樹將彝文敏感詞匯按一一特定構(gòu)詞或分類規(guī)則嵌入到?jīng)Q策樹中.
定義敏感詞庫Aford={a1,…,ai,…,an},1≤i≤n,其中,n為敏感詞個數(shù),ai表示敏感詞,ai={ai1,…,aij,…,ain},1≤j≤n,aij表示第i個敏感詞的第j敏感字,m表示敏感詞長度,彝文敏感詞決策樹構(gòu)建算法如下:
1)初始化i=1,j=1,k=1,k為記錄孩子節(jié)點(diǎn)序號;
2)輸入敏感詞ai,獲取其文本長度為,并提取其首部1彝文字或2個彝文字S;
3)進(jìn)入S子樹查詢,將aij與S子樹的第k個孩子節(jié)點(diǎn)childk進(jìn)行比較;
5)若childk兄弟節(jié)點(diǎn)為空,創(chuàng)建新節(jié)點(diǎn)childk+1,值為aij,記錄aij的字符,j++;
6)若j 7)若childk兄弟節(jié)點(diǎn)不為空,k++,返回步驟2),處理下一個敏感詞; 本算法構(gòu)建的彝文敏感詞決策樹深度為4(敏感詞最長字符單位為4),樹中每個節(jié)點(diǎn)存儲了敏感字符以及其對應(yīng)的漢語,葉節(jié)點(diǎn)還記錄了敏感詞的詞匯頻率、敏感級別,并且將各個詞的頻率都進(jìn)行了初始化. 定義彝文文本流Yitext={b1,…,bi,…,bn},1≤i≤n,其中n為文本長度,bi表示彝文網(wǎng)頁文本中的單個字符,彝文文本中敏感詞的搜索算法如下: Step 1 初始化i=1,j=1,k=1,k為記錄進(jìn)入第一個分支的字符序列號; Step 2 輸入bi,k=i,j=1,提取其首部1彝文字符或2個彝文字符; Step 3 將bi與S的孩子childj相匹配; Step 4 若bi=childj節(jié)點(diǎn)值,i++,直到i≥n,算法結(jié)束. Step 5 若bi≠childj節(jié)點(diǎn)值,查詢childj兄弟節(jié)點(diǎn)是否為空; Step 6 若兄弟節(jié)點(diǎn)不為空j++,則,轉(zhuǎn)步驟3; 在敏感詞決策樹結(jié)構(gòu)的支持下,通過查找樹來處理文本,便于以數(shù)據(jù)流的形式識別彝文文本中的所有敏感詞.為過濾這些敏感詞匯,可用字符/*/替換以達(dá)到屏蔽的目的. 在敏感詞搜索過程中,可并記錄其詞匯頻率和敏感級別提供后續(xù)文本敏感度計算,并根據(jù)計算值和敏感閾值的比較,給出敏感文本的危險級別分類. 詞頻可表征詞在文本中的重要性,為了衡量某個彝文詞在單個彝文文本的貢獻(xiàn),本研究采用了絕對詞頻的計算方法.假設(shè)文本d中的某一個敏感詞條為si,那么詞條si的絕對詞頻權(quán)重計算如下式. 其中,ni(d)表示詞si在文本d中出現(xiàn)的次數(shù);∑ini(d)表示文本d中所有的詞語出現(xiàn)的頻次之和. 但在敏感文本中,實際上敏感詞的詞頻統(tǒng)計工作已經(jīng)在上文的敏感決策樹構(gòu)建過程中通過程序計算完成,再此只是對計算原理加以概述. 文本敏感度的計算流程圖如下圖8所示: 通過查樹處理文本之后,文本中敏感詞的絕對詞頻權(quán)重以及敏感級別權(quán)重都可計算完成.敏感級別權(quán)重記為levs,levs=3,2,1;相對詞頻權(quán)重記為fres,則可得其計算方式: 最終對單個敏感詞條si的權(quán)重計算采用下式,其中α,β都是調(diào)節(jié)的因子,需要實驗設(shè)置合理的調(diào)節(jié)因子. weightsi=α·fres+β·levs. 對于一個彝文文本流d,假定被搜索的敏感詞個數(shù)為k,計算其敏感詞的平均權(quán)重W. 因上式是對所有的彝文敏感詞統(tǒng)計平均權(quán)重,可將W值的大小作為文本敏感性的度量. 在彝文網(wǎng)頁敏感內(nèi)容識別中,考慮到信息安全的要求,需要將敏感內(nèi)容的危險評級考慮在內(nèi).具體操作是根據(jù)已設(shè)定的敏感閾值(φ1,φ2,φ3),對文本的敏感值W進(jìn)行比較,進(jìn)而區(qū)分文本的危險等級.敏感閾值的設(shè)置可根據(jù)的反饋識別結(jié)果進(jìn)行調(diào)整,以提高敏感內(nèi)容分級的準(zhǔn)確率.因而,敏感閾值設(shè)置是影響信息過濾模型的關(guān)鍵因素,是評判敏感文本的危險等級的參考.具體值調(diào)整人工審查的原則,當(dāng)檢出的文本集合的危險評級普遍過低時,需降低φ1的值,增強(qiáng)對敏感內(nèi)容過淺評判的程度;相反當(dāng)危險評級普遍過高時,就要提高φ3的值,減弱過度評判的程度.彝文網(wǎng)頁內(nèi)容的敏感分級標(biāo)準(zhǔn)如表6所示. 表6 彝文網(wǎng)頁內(nèi)容的敏感分級標(biāo)準(zhǔn)表 綜合以上討論的彝文信息爬蟲、彝文本分詞以及敏感詞決策樹構(gòu)建等技術(shù),本研究進(jìn)一步優(yōu)化和開發(fā)了面向彝文網(wǎng)頁輿情分析的敏感內(nèi)容分級系統(tǒng),設(shè)計了7個要素(標(biāo)題、來源、時間、URL、類別、敏感詞、內(nèi)容),其中“敏感等級”項是關(guān)鍵性要素,用以標(biāo)識危險級別,“敏感詞”項指在文本中所有敏感詞匯(中文和彝文).因而系統(tǒng)相比于本課題組開發(fā)的首款彝文敏感信息過濾系統(tǒng),不僅可識別、標(biāo)記和過濾彝文敏感詞,還兼具敏感文本的危險分級,追蹤敏感源的URL、時間等信息.彝文網(wǎng)頁的敏感內(nèi)容分級系統(tǒng)演示如圖9所示. 由于彝文是特有的少數(shù)民族語言文字,因而實驗結(jié)果評測依靠人工判別來完成.在敏感度計算中設(shè)置影響因子α=0.7,β=0.3,敏感閾值φ_1=1.5,φ_2=2,φ_3=2.5,運(yùn)行本系統(tǒng)共識別出176篇彝文文檔是包含敏感內(nèi)容的,經(jīng)過彝學(xué)專家的現(xiàn)場查看和危險評級打分,基本上有140篇文檔檢測和標(biāo)記出包含敏感詞,敏感詞檢測的準(zhǔn)確率是80%;而有92篇危險評級是有誤的,分級檢測的準(zhǔn)確率約84%.通過分析發(fā)現(xiàn),主要是43篇“毒物污染”文檔被分到“淫穢色情”,以及49篇非敏感文檔被檢測識別成不同的敏感評級,敏感文檔的危險評級普遍被系統(tǒng)識別偏高,可能存在2個方面: 1)收集的敏感等級詞庫包含詞匯量本身比較小,甚至有的敏感詞類只有兩位數(shù)量級,明顯不足; 2)敏感文本的敏感度計算和敏感文本的評級標(biāo)準(zhǔn)中,實際上影響因子和敏感閾值的設(shè)置都會對危險評級產(chǎn)生影響. 本文依次對彝文信息獲取、彝文文本分詞、彝文詞匯語料的構(gòu)建、彝文敏感內(nèi)容的檢測、敏感文檔的危險分級等模塊展開彝文網(wǎng)頁敏感內(nèi)容分級系統(tǒng)的研究,綜合這一系列彝文信息化技術(shù)成果,可為其他少數(shù)民族語言網(wǎng)絡(luò)的輿情監(jiān)測提供重要的理論支撐,并且本研究構(gòu)建的彝文網(wǎng)頁敏感內(nèi)容分級系統(tǒng)在跨境民族語言的網(wǎng)絡(luò)輿情監(jiān)管中具有一定的示范作用.同時,本研究構(gòu)建的彝-漢分類標(biāo)注詞庫和彝-漢敏感分級詞庫,可作為彝文輿情研究領(lǐng)域的重要語料資源. 由于本文借鑒中文的方法,而彝文本身有些地方和中文還是有很大的區(qū)別,因而在彝文輿情分析領(lǐng)域還有待進(jìn)一步研究.比如在未來工作中收集更多的敏感詞匯庫,以及改進(jìn)和完善敏感內(nèi)容的檢測算法來提升彝文網(wǎng)頁敏感內(nèi)容分級系統(tǒng)的準(zhǔn)確率.5.3 敏感詞的搜索過濾
6 敏感文檔的危險分級
6.1 敏感詞的相對詞頻權(quán)重
6.2 敏感文本的敏感度計算
6.3 敏感文本的評級標(biāo)準(zhǔn)
7 彝文敏感過濾系統(tǒng)
8 結(jié)語