依不拉音·吾斯曼,郭文強(qiáng),于 凱
新疆財(cái)經(jīng)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,烏魯木齊 830012
在歷史上維吾爾人使用過很多文字,如察哈臺(tái)文、古突厥文、阿拉伯維文、拉丁維文等。最后一次文字改革是1985年,1985年前使用拉丁維文,1985年開始使用現(xiàn)在的傳統(tǒng)維文,因此拉丁維文在維吾爾社會(huì)上有一定的影響力。隨著互聯(lián)網(wǎng)技術(shù)在新疆地區(qū)的發(fā)展和普及,維吾爾族網(wǎng)民的數(shù)量急劇增長(zhǎng),近十幾年來新疆地區(qū)雙語(yǔ)教育的加深,漢語(yǔ)拼音字母和英文字母的影響,加上傳統(tǒng)維文由32 個(gè)字母組成,有120 多個(gè)字形,具有復(fù)雜的鍵盤布置,必須預(yù)裝維文輸入法,書寫方向?yàn)樽杂蚁蜃蠛同F(xiàn)代中英文混合使用非常不便等原因,互聯(lián)網(wǎng)和移動(dòng)網(wǎng)絡(luò)上的維文使用呈現(xiàn)傳統(tǒng)維文和拉丁維文共存的“一語(yǔ)雙文”特點(diǎn)?,F(xiàn)在互聯(lián)網(wǎng)上使用拉丁維文人數(shù)不少于傳統(tǒng)維文人數(shù)。多種維文文字共存的網(wǎng)絡(luò)環(huán)境下,保證網(wǎng)絡(luò)安全對(duì)新疆的社會(huì)穩(wěn)定至關(guān)重要。暴力恐怖活動(dòng)是當(dāng)前國(guó)際社會(huì)普遍面臨的國(guó)家安全威脅。2018年4 月20 日習(xí)近平總書記在全國(guó)網(wǎng)絡(luò)安全和信息化工作會(huì)議中指出“系統(tǒng)部署和全面推進(jìn)網(wǎng)絡(luò)安全和信息化工作”。新疆是反暴力恐怖活動(dòng)的主戰(zhàn)場(chǎng),網(wǎng)絡(luò)中信息內(nèi)容安全監(jiān)控十分必要。對(duì)海量網(wǎng)絡(luò)文本信息進(jìn)行多形式維文(傳統(tǒng)維文和拉丁維文)敏感信息檢測(cè),從而集中處理高關(guān)注的文本內(nèi)容,為快速情報(bào)獲取提供相應(yīng)技術(shù)支撐,從而提高政府對(duì)網(wǎng)絡(luò)信息的事控能力以及處置突發(fā)事件能力,提升維穩(wěn)決策和響應(yīng)能力是區(qū)域重大需求。
目前維文敏感信息檢測(cè)與過濾研究?jī)H限于傳統(tǒng)維文,缺乏拉丁維文敏感信息語(yǔ)料庫(kù)和決策樹的研究,分別使用傳統(tǒng)維文和拉丁維文的敏感信息進(jìn)行檢測(cè),工作量大,效率很低,主要原因是互聯(lián)網(wǎng)上有些人習(xí)慣使用拉丁文,有些人習(xí)慣使用傳統(tǒng)維文,一部分人還混合使用。分別兩次進(jìn)行敏感信息檢測(cè),不但效率低,而且時(shí)間很長(zhǎng)。因此本文構(gòu)建傳統(tǒng)維文和拉丁維文敏感信息語(yǔ)料庫(kù),在此基礎(chǔ)上提出拉丁維文和傳統(tǒng)維文一體化的多形式維文敏感信息決策樹,實(shí)現(xiàn)傳統(tǒng)維文和拉丁維文的敏感信息檢測(cè)與過濾,不但提高了效率,而且縮短了時(shí)間,對(duì)新疆的社會(huì)安全和長(zhǎng)治久安總目標(biāo)的實(shí)現(xiàn)有重大意義。本文主要完成的工作有:
(1)研究傳統(tǒng)維文和拉丁維文的語(yǔ)法特征、編碼特征和映射關(guān)系,提出拉丁維文和傳統(tǒng)維文間的編碼轉(zhuǎn)換算法 ULTC(Uyghur Latin Traditional Conversion),實(shí)現(xiàn)傳統(tǒng)維文與拉丁維文之間的編碼轉(zhuǎn)換。
(2)使用ULTC 轉(zhuǎn)換算法,在現(xiàn)有的傳統(tǒng)維文敏感信息語(yǔ)料庫(kù)中增加對(duì)應(yīng)的拉丁維文敏感語(yǔ)料信息,實(shí)現(xiàn)多形式維文敏感語(yǔ)料庫(kù)ULSC(Uyghur Latin Sensitive Corpus)的構(gòu)建,在此基礎(chǔ)上提出多形式維文文檔敏感值的計(jì)算方法。
(3)針對(duì)現(xiàn)有的維文敏感信息決策樹只包含傳統(tǒng)維文敏感信息不包含拉丁維文敏感信息問題,在ULSC的基礎(chǔ)上構(gòu)建傳統(tǒng)維文與拉丁維文敏感信息一體化的多形式維文敏感信息決策樹LUDT(Latin Uyghur Decision Tree),在LUDT 基礎(chǔ)上提出多形式維文敏感信息過濾算法USF(Uyghur Sensitive Information Filter)。
(4)通過翔實(shí)的實(shí)驗(yàn)來驗(yàn)證ULTC、USF算法的實(shí)際效率。
傳統(tǒng)維文的語(yǔ)法特征:傳統(tǒng)維文是新疆的維吾爾人從1985 年開始使用的以阿拉伯字母為基礎(chǔ)的文字,傳統(tǒng)維文屬于阿勒泰語(yǔ)系中的阿拉伯文系統(tǒng),其文字書寫自右向左,和現(xiàn)代中英文的自左向右書寫有很大區(qū)別。維吾爾語(yǔ)有32個(gè)字母,其中8個(gè)元音字母,24個(gè)輔音字母,每個(gè)字母在詞中出現(xiàn)位置會(huì)不同,有2~4 種不同字形(如:詞首,詞中,詞尾,獨(dú)立式),共有120多種字形,這使得傳統(tǒng)維文的輸入法系統(tǒng)擁有復(fù)雜的鍵盤布置設(shè)定。維吾爾語(yǔ)詞和詞之間有空格隔開,不分大小寫。有些詞首字母由兩個(gè)字符構(gòu)成(如:字母由和兩個(gè)字符組成)。
傳統(tǒng)維文的編碼特征:傳統(tǒng)維文編碼在Unicode 編碼表的阿拉伯編碼區(qū)內(nèi)是分散分布的,詞首字母和大部分獨(dú)立式字母在0627-06AD 范圍內(nèi),詞中、詞尾和部分獨(dú)立式字母在FA8C-FEEE 范圍內(nèi),如圖1 所示,圖中黑色部分是傳統(tǒng)維文編碼所在區(qū)域。維文字母編碼的這種分配對(duì)維文字母的排序、自動(dòng)選型、決策樹的構(gòu)建等帶來很大的不便。
圖1 Unicode編碼分布圖
拉丁維文:拉丁維文是用拉丁字母來拼寫維吾爾語(yǔ)的文字。2000 年新疆大學(xué)和新疆維吾爾自治區(qū)語(yǔ)言文字工作委員會(huì)一起公布了維文與拉丁維文的對(duì)應(yīng)標(biāo)準(zhǔn),把拉丁維文叫作維吾爾族的計(jì)算機(jī)網(wǎng)絡(luò)文字UCY(Uyghur Computer Yeziki)。維吾爾語(yǔ)有32個(gè)字母,而鍵盤上只有26 個(gè)拉丁字母,維吾爾文與拉丁維文對(duì)應(yīng)標(biāo)準(zhǔn)上,只使用了24 個(gè)拉丁字母(不包括讀音重復(fù)的v和c),剩下的8 個(gè)維文字母中的3 個(gè)原音字母與拉丁文擴(kuò)展區(qū)的 ü、ě、ǒ 字母對(duì)應(yīng),剩下的 5 個(gè)輔音字母用ch、ng、zh、sh、gh等雙字母對(duì)應(yīng)[1],如表1所示。
近幾年來維文網(wǎng)頁(yè)信息提取、維文詞法分析、詞干提取、信息檢索技術(shù)研究也有了長(zhǎng)足的進(jìn)步。文獻(xiàn)[2-5]中吾守爾院士、亞森等人介紹了傳統(tǒng)維文、拉丁維文與斯拉夫維文的書寫規(guī)則和對(duì)應(yīng)關(guān)系,提出了它們之間的相互映射關(guān)系和轉(zhuǎn)換規(guī)則。文獻(xiàn)[6]中蔡李等人提出了一種有關(guān)句子特征的信息提取方法,該方法結(jié)合句子的特征對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行提取,使用該文獻(xiàn)中的網(wǎng)頁(yè)正文提取方法可以實(shí)現(xiàn)維吾爾文網(wǎng)頁(yè)信息獲取。文獻(xiàn)[7-9]中吐爾根·依不拉音等人對(duì)維吾爾文的特點(diǎn)進(jìn)行了細(xì)致的剖析,破解了維吾爾語(yǔ)詞法分析、維吾爾語(yǔ)詞匯切分、維吾爾語(yǔ)詞干提取的難點(diǎn),提出了有關(guān)維吾爾語(yǔ)詞法分析的有向圖模型和詞干提取方法,提高了維吾爾文詞干提取的準(zhǔn)確率。詞干提取有效簡(jiǎn)化維吾爾文敏感信息檢測(cè)的過程,是實(shí)現(xiàn)網(wǎng)絡(luò)維吾爾文敏感信息過濾的基礎(chǔ)。文獻(xiàn)[10-11]中鄧一貴、周毅敏等人提出了有關(guān)敏感詞決策樹過濾相關(guān)算法,通過結(jié)合決策樹記錄敏感詞詞頻等信息,最終計(jì)算出文本信息的整體敏感度,實(shí)現(xiàn)了文章敏感度的檢測(cè)。文獻(xiàn)[12-14]中唐華等人分別介紹了中文自適應(yīng)多重過濾模型和基于K近鄰分類算法的涉恐信息過濾模型。文獻(xiàn)[15]中薛朋強(qiáng)和吾守爾院士等人提出了一種基于確定有窮自動(dòng)機(jī)的改進(jìn)算法ST-DFA,實(shí)現(xiàn)了針對(duì)傳統(tǒng)維文敏感詞決策樹的實(shí)時(shí)更新和維文反過濾技術(shù)。
表1 傳統(tǒng)維文與拉丁維文對(duì)應(yīng)標(biāo)準(zhǔn)
現(xiàn)有的研究?jī)H限于傳統(tǒng)維文決策樹構(gòu)建、敏感信息檢測(cè)與過濾算法上,對(duì)拉丁維文信息檢測(cè)研究還是空白,反而互聯(lián)網(wǎng)上使用拉丁維文的用戶日益增多。因此本文研究拉丁維文和傳統(tǒng)維文的編碼特征,提出它們間的編碼轉(zhuǎn)換算法ULTC,通過ULTC 算法在傳統(tǒng)維文敏感信息庫(kù)中形成對(duì)應(yīng)拉丁維文敏感信息語(yǔ)料,構(gòu)建傳統(tǒng)維文和拉丁維文的多形式維文敏感信息語(yǔ)料庫(kù)ULSC。在此基礎(chǔ)上提出拉丁維文和傳統(tǒng)維文一體化的多形式維文決策樹LUDT,在決策樹的基礎(chǔ)上提出多形式維文敏感信息過濾算法USF,彌補(bǔ)目前維文敏感信息檢測(cè)與過濾系統(tǒng)的空白。
針對(duì)現(xiàn)有維文敏感信息檢測(cè)與過濾系統(tǒng)的缺點(diǎn),本文首先設(shè)計(jì)傳統(tǒng)維文與拉丁維文間的編碼轉(zhuǎn)換算法ULTC,使用ULTC 算法現(xiàn)有的維文敏感語(yǔ)料庫(kù)中的傳統(tǒng)維文剖象文件轉(zhuǎn)換成拉丁維文剖象文件,添加到語(yǔ)料庫(kù)中,實(shí)現(xiàn)多形式維文敏感信息語(yǔ)料庫(kù)ULSC 的構(gòu)建。考慮拉丁維文的字形和編碼優(yōu)勢(shì),決策樹按照拉丁文的編碼順序排列,新建節(jié)點(diǎn)并添加節(jié)點(diǎn)內(nèi)容時(shí),在語(yǔ)料庫(kù)中添加拉丁維文敏感信息后還要添加對(duì)應(yīng)的傳統(tǒng)維文敏感信息,實(shí)現(xiàn)拉丁維文與傳統(tǒng)維文一體化的多形式維文決策樹的構(gòu)建。經(jīng)過預(yù)處理準(zhǔn)備好的拉丁維文和傳統(tǒng)維文文檔流經(jīng)決策樹的方法,實(shí)現(xiàn)多形式維文敏感信息的過濾,如圖2所示。
圖2 多形式維文敏感信息過濾算法流程圖
ULTC 算法的主要功能是,根據(jù)傳統(tǒng)維文和拉丁維文的Unicode 編碼特征和表1 中的對(duì)應(yīng)關(guān)系,把傳統(tǒng)維文詞語(yǔ)轉(zhuǎn)換成對(duì)應(yīng)的拉丁維文詞語(yǔ)(如:傳統(tǒng)維文詞語(yǔ)(新疆),轉(zhuǎn)換成拉丁維文詞SHinjang)。
拉丁文編碼是按順序排列的,而傳統(tǒng)維文編碼在Unicode 編碼表的阿拉伯區(qū)內(nèi)是分散分布的,如圖1 所示,所以拉丁維文與傳統(tǒng)維文編碼間有不連續(xù)現(xiàn)象。因此,創(chuàng)建一個(gè)二維數(shù)組LU[Li,Ui],(i=1,2,…,32),其中Ui是32 個(gè)傳統(tǒng)維文詞首字母,Li對(duì)應(yīng)32 個(gè)拉丁字母,再建一個(gè)維文字庫(kù)表UCB(Uyghur Character Base),保存32 個(gè)傳統(tǒng)維文字母的125 種字形,可以網(wǎng)上下載。ULTC 算法如式(1)所示,其中UWi是用戶輸入的傳統(tǒng)維文詞語(yǔ),n是該詞的長(zhǎng)度,i=1 時(shí)讀取UWi中的第一個(gè)字母,LU數(shù)組中找到對(duì)應(yīng)的拉丁維文字母,保存到拉丁維文目標(biāo)詞LWi中,依此類推,做到i=n為止。
具體ULTC編碼轉(zhuǎn)換算法過程如下所示:
1. Public LU[2,36],UCB[3,36],UW,LW as string /*定義拉丁文與傳統(tǒng)維文對(duì)照數(shù)組和維文字庫(kù)*/
2. 根據(jù)數(shù)組LU 中輸入內(nèi)容,創(chuàng)建字母對(duì)照表。
3. 由傳統(tǒng)維文的125種字形創(chuàng)建傳統(tǒng)維文字庫(kù)UCB。
4. 讀取UW中的第一個(gè)傳統(tǒng)維文字母編碼。
5. 使用二分法在LU中查找對(duì)應(yīng)行數(shù)。
6. 讀取第二字段中對(duì)應(yīng)的拉丁文字母,保存到拉丁維文目標(biāo)詞LW中。
7. 檢查循環(huán)是否結(jié)束(循環(huán)變量是否大于UW的長(zhǎng)度),如果是跳轉(zhuǎn)下一步,否則返回第4步繼續(xù)尋找。
8. 形成UW對(duì)應(yīng)的拉丁維文敏感詞。
多形式維文敏感信息語(yǔ)料庫(kù)ULSC 是為決策樹的構(gòu)建提供語(yǔ)料信息。敏感關(guān)鍵詞的語(yǔ)義與其字形無關(guān),因此在現(xiàn)有的傳統(tǒng)維文語(yǔ)料庫(kù)的基礎(chǔ)上,增加一些新的傳統(tǒng)維文敏感詞,用ULTC算法把它們轉(zhuǎn)換成對(duì)應(yīng)的拉丁維文敏感詞錄入語(yǔ)料庫(kù)ULSC 即可。根據(jù)敏感信息在互聯(lián)網(wǎng)的分布情況,主要在貼吧、微薄、Ulinix的論壇和新聞評(píng)論中采集傳統(tǒng)維文的敏感信息,由于敏感信息隨著時(shí)間和事件的發(fā)展而不斷更新,每隔一段時(shí)間要對(duì)敏感信息語(yǔ)料庫(kù)進(jìn)行更新并記錄更新的始末位置,語(yǔ)料庫(kù)的起始位置前和結(jié)束位置后添加特殊符號(hào)標(biāo)記起始位置和結(jié)束位置,這樣下次更新語(yǔ)料庫(kù)時(shí)只需要從起始點(diǎn)標(biāo)記處開始錄入,完成后將標(biāo)記的位置移動(dòng)到錄入截止的位置。這樣就保證了敏感信息決策樹隨著敏感信息語(yǔ)料庫(kù)的擴(kuò)大而實(shí)時(shí)更新。ULSC由兩個(gè)區(qū)域組成,傳統(tǒng)維文語(yǔ)料區(qū)和拉丁維文語(yǔ)料區(qū),首先采集傳統(tǒng)維文的敏感信息語(yǔ)料,ULTC編碼轉(zhuǎn)換算法把它轉(zhuǎn)換成拉丁維文語(yǔ)料,并存入U(xiǎn)LSC的拉丁文區(qū),如圖3所示。
圖3 ULSC構(gòu)建流程圖
傳統(tǒng)維文雖然由32 個(gè)字母組成,但有125 種字形,這對(duì)決策樹的構(gòu)建和查詢帶來很大的不便。因此,鑒于拉丁維文的字形優(yōu)勢(shì),首先構(gòu)建拉丁維文決策樹。決策樹中的節(jié)點(diǎn)包括:葉子節(jié)點(diǎn),該節(jié)點(diǎn)沒有孩子的節(jié)點(diǎn),包含維吾爾敏感信息語(yǔ)料庫(kù)拉丁區(qū)中的最后一個(gè)拉丁維文單詞;非葉子節(jié)點(diǎn),決策樹中有孩子的節(jié)點(diǎn),包含的信息不是維吾爾敏感信息語(yǔ)料庫(kù)拉丁區(qū)的最后一個(gè)拉丁維文敏感詞;偽葉子節(jié)點(diǎn),該節(jié)點(diǎn)在決策樹中有孩子節(jié)點(diǎn),包含的信息是語(yǔ)料庫(kù)中最后一個(gè)拉丁維文敏感詞[16]。
首先在ULSC的拉丁區(qū)中讀取敏感詞,然后添加到?jīng)Q策樹中。為了提高決策樹的查詢速度和效率,在構(gòu)建決策樹時(shí)將根目錄的子樹按照拉丁字母順序排列,在下面的每一棵子樹按照敏感詞的第二個(gè)字母排列,如果第二個(gè)字母相同則按照第三個(gè)字母排列。首字母A 的為第一棵子樹,首字母Z的是最后一棵子樹。相同前綴詞的關(guān)鍵詞只需存儲(chǔ)在相同的前驅(qū)節(jié)點(diǎn),這樣敏感詞相似時(shí),大量減少冗余和節(jié)點(diǎn)數(shù),如對(duì)Namayix(游行)、Namayix wahti(游行時(shí)間)、Namayix orni(游行地點(diǎn))等敏感詞,Namayix wahti 和 Namayix orni 在 Namayix的下一層。這樣可以進(jìn)一步縮小維吾爾文敏感信息決策樹所需要檢索子樹的范圍,并且需要檢索信息的最大長(zhǎng)度不會(huì)高于決策樹的高度。每當(dāng)決策樹需要更新時(shí),只需更新維吾爾文敏感信息詞匯中不同的后綴部分,降低了更新決策樹算法的時(shí)間和空間復(fù)雜度。另外,針對(duì)每一個(gè)節(jié)點(diǎn),通過多形式敏感信息庫(kù)ULSC的傳統(tǒng)維文區(qū)中找到對(duì)應(yīng)的傳統(tǒng)維文敏感詞,并添加到該節(jié)點(diǎn)中,實(shí)現(xiàn)拉丁維文和傳統(tǒng)維文敏感詞的同步查詢。ULSC的信息量越大時(shí),決策樹的冗余也會(huì)很高,這時(shí)在決策樹中調(diào)用ULTC 算法來實(shí)時(shí)形成對(duì)應(yīng)的傳統(tǒng)維文敏感詞,有效控制決策樹冗余。
在決策樹中某一個(gè)節(jié)點(diǎn)是否葉子節(jié)點(diǎn),使用Leaf作為敏感詞是否結(jié)束的標(biāo)志,如Leaf=1是葉子節(jié)點(diǎn),Leaf=0是非葉子節(jié)點(diǎn),Leaf=9是偽葉子節(jié)點(diǎn)。下面以Anangni(媽的)、Ah tamaka(海洛因等各類毒品的總稱)、Namayix(游行)、Namayix wahti(游行時(shí)間)、Namayix orni(游行地點(diǎn))等敏感詞為樣例構(gòu)建敏感信息決策樹,如圖4所示。
圖4 多形式維文敏感信息決策樹
定義1 多形式維文敏感信息語(yǔ)料庫(kù)ULSC(U,L),其中U={u1,u2,…,ui,…,un}是傳統(tǒng)維文敏感信息集合,L={l1,l2,…,li,…,ln} 是拉丁維文敏感信息集合,1 ≤i≤n,n是敏感詞個(gè)數(shù),U和L的敏感詞按順序一一對(duì)應(yīng),ui和li分別是傳統(tǒng)維文和拉丁維文第i個(gè)敏感詞,其中ui={p1,p2,…,pj},li={q1,q2,…,qj}(1 ≤j≤m),pj,qj分別是拉丁維文和傳統(tǒng)維文敏感關(guān)鍵詞,m表示關(guān)鍵詞數(shù),s0表示拉丁文關(guān)鍵詞qi的首字母編碼。
有關(guān)多形式維文敏感信息決策樹的構(gòu)建,首先創(chuàng)建一個(gè)根節(jié)點(diǎn)R(Root),根節(jié)點(diǎn)下再創(chuàng)建A~Z 的32 個(gè)子樹節(jié)點(diǎn),接下來ULSC中的拉丁維文和傳統(tǒng)維文敏感信息按拉丁字母順序添加到?jīng)Q策樹上。具體LUDT 決策樹的構(gòu)建算法如下所示。
創(chuàng)建決策樹T:創(chuàng)建一個(gè)根節(jié)點(diǎn)R,再創(chuàng)建包含信息A~Z的32個(gè)子樹節(jié)點(diǎn)。
輸入:多形式維文敏感信息語(yǔ)料庫(kù)ULSC 中輸入拉丁維文敏感信息集合L和傳統(tǒng)維文敏感信息集合U。
輸出:新的敏感信息決策樹T*。
1. 初始化參數(shù)i=1,j=1;C設(shè)為當(dāng)前處理節(jié)點(diǎn),C=R。
2. 若i≤n,則獲取li和長(zhǎng)度m以及l(fā)i中的第一關(guān)鍵詞qj的第一個(gè)字母s0并執(zhí)行第3步;否則跳轉(zhuǎn)第8步。
3. 如果j >m說明T已經(jīng)包含pj,跳轉(zhuǎn)第6步;否則獲取li中的關(guān)鍵詞pj并校驗(yàn)C是否為R,如果是pj的節(jié)點(diǎn)賦值給C,執(zhí)行下一步。
4. 查找C的子節(jié)點(diǎn)是否包含pj關(guān)鍵詞的節(jié)點(diǎn);如不包含將按照字母順序創(chuàng)建新節(jié)點(diǎn),將pj和它對(duì)應(yīng)的傳統(tǒng)維文敏感詞qj添加到新節(jié)點(diǎn),并令節(jié)點(diǎn)信息中的Leaf=0;否則該子節(jié)點(diǎn)賦值給C,令j++,并跳轉(zhuǎn)第3步。
5. 將新節(jié)點(diǎn)賦值給C,j++;若j≤m跳轉(zhuǎn)至第4 步;否則令節(jié)點(diǎn)C信息中的Leaf=1,且R賦給C,i++并轉(zhuǎn)第2步。
6. 檢測(cè)C是否有孩子節(jié)點(diǎn),如有且Leaf=0則令Leaf=9。
7. 將根節(jié)點(diǎn)Root賦給C,i++并執(zhí)行第2步。
8. 返回更新完成的決策樹T*。
鑒于拉丁文的字形優(yōu)勢(shì),算法中首先建立拉丁維文的決策樹,節(jié)點(diǎn)按照拉丁文的字母順序排列,添加節(jié)點(diǎn)內(nèi)容時(shí),拉丁維文和對(duì)應(yīng)的傳統(tǒng)維文敏感關(guān)鍵詞都添加到節(jié)點(diǎn)中,便于檢測(cè)敏感詞是否結(jié)束,節(jié)點(diǎn)中還存放Leaf 的值。決策樹的高度完全依賴于敏感詞的長(zhǎng)度。具有相同維吾爾文前綴詞的敏感信息,決策樹上只需存儲(chǔ)相同的前驅(qū)節(jié)點(diǎn),后綴詞存儲(chǔ)到前驅(qū)節(jié)點(diǎn)的孩子節(jié)點(diǎn)上,這樣不但降低了空間復(fù)雜度,還提高了查詢速度和算法效率。
多形式維文敏感信息過濾算法USF的功能是,將網(wǎng)上獲取的傳統(tǒng)維文和拉丁維文文本經(jīng)過預(yù)處理后存儲(chǔ)起來,然后以數(shù)據(jù)流的形式流經(jīng)多形式維文敏感信息決策樹,實(shí)現(xiàn)多形式維文網(wǎng)頁(yè)文本信息的檢測(cè)與過濾。為了提高決策樹的檢測(cè)效率,如果語(yǔ)料庫(kù)中有相互包含的敏感詞(如“Namayix”“Namayix orni wahti”)時(shí),按照最大匹配的原則進(jìn)行過濾。
本文收集的多形式網(wǎng)絡(luò)文本信息包含傳統(tǒng)維文網(wǎng)絡(luò)文本信息和拉丁維文網(wǎng)絡(luò)文本信息。多形式敏感信息決策樹的每個(gè)節(jié)點(diǎn)也包含拉丁維文敏感信息和傳統(tǒng)維文敏感信息,因此兩種文字的信息過濾過程是完全一樣的。下面以拉丁維文敏感信息的過濾來介紹算法具體流程。
定義2 拉丁維文網(wǎng)絡(luò)文本信息集為W={w1,w2,…,wj,…,wn},1 ≤i≤j,n為文本長(zhǎng)度,wi是信息集中的一個(gè)關(guān)鍵詞;k0表示wi的首字母;設(shè)定wm是檢測(cè)敏感詞的起始點(diǎn);wij表示wi和wj之間的文本信息。
拉丁維文文本信息檢測(cè)算法要做的就是判斷wij是否包含敏感詞,若包含則該關(guān)鍵詞為wmi。具體USF多形式維文敏感信息過濾算法如下所示。
輸入:拉丁維文網(wǎng)絡(luò)文本信息集W,多形式維文敏感信息決策樹T。
輸出:過濾后的拉丁維文文本信息集W*。
1. 初始化參數(shù):i=1。
2.R賦值給C,獲取wm;若i+(h-2) 3. 如果i >j跳轉(zhuǎn)第6步,否則獲取wij,wi,wj,k0,令i++,如果C=Root,則C的子節(jié)點(diǎn)中值為k0的節(jié)點(diǎn)設(shè)為C,執(zhí)行下一步。 4. 查找C的子節(jié)點(diǎn)是否包含wi節(jié)點(diǎn)內(nèi)容;如果包含,則該節(jié)點(diǎn)設(shè)為C,執(zhí)行下一步,否則跳轉(zhuǎn)第2步。 5. 如果C中 Leaf=0 跳轉(zhuǎn)第 3 步,若 Leaf=1 則是敏感信息,使用*代替wij的值,跳轉(zhuǎn)第3步。 6. 返回不包含敏感信息的拉丁維文數(shù)據(jù)集W*。 在進(jìn)行多形式維文文檔敏感信息過濾時(shí),網(wǎng)上獲取的維文文檔通過預(yù)處理后,構(gòu)成由若干個(gè)敏感詞組成的集合W,W={US,LS},其中US={us1,us2,…,usn}是傳統(tǒng)維文關(guān)鍵詞集合,LS={ls1,ls2,…,lsn}是拉丁維文關(guān)鍵詞集合。多形式維文敏感信息語(yǔ)料庫(kù)ULSC 是由一系列拉丁維文和傳統(tǒng)維文敏感詞組成的集合,ULSC={U,L}={q1,q2,…,qn,p1,p2,…,pn},其中傳統(tǒng)維文敏感詞L和拉丁維文敏感詞U是一一對(duì)應(yīng)的,對(duì)語(yǔ)料庫(kù)ULSC,如果或,則US或LS是多形式維文決策樹上的基本節(jié)點(diǎn)。下面針對(duì)拉丁維文,提出敏感值的計(jì)算公式。 維文文檔敏感值UDS(Uygur Document Sensitivity),拉丁維文關(guān)鍵詞集合LS,關(guān)鍵詞的個(gè)數(shù)為N,和LS匹配的語(yǔ)料庫(kù)L中的敏感詞個(gè)數(shù)為M,L的敏感值為: 敏感值可以表示該文檔的敏感程度,網(wǎng)上獲取的文檔敏感值過高,表示該文檔對(duì)社會(huì)安全不利,及時(shí)向相關(guān)部門反饋,避免一些不好的社會(huì)事件發(fā)生。 表2 ULTC算法實(shí)驗(yàn)結(jié)果 本文對(duì)傳統(tǒng)維文與拉丁維文Unicode 編碼轉(zhuǎn)換算法ULTC和多形式維文敏感信息過濾算法USF,進(jìn)行了實(shí)驗(yàn)研究與測(cè)試,并對(duì)測(cè)試結(jié)果進(jìn)行了分析。實(shí)驗(yàn)由兩個(gè)步驟進(jìn)行:第一步是ULTC 編碼轉(zhuǎn)換算法的測(cè)試;第二步是多形式維文敏感信息過濾算法USF的性能測(cè)試。 (1)實(shí)驗(yàn)環(huán)境 本文所有實(shí)驗(yàn)在一臺(tái)Intel?Pentium?CPU B940@2.4 GHz,內(nèi)存為4 GB的筆記本PC上完成;在Windows7 32 位系統(tǒng)下進(jìn)行;實(shí)驗(yàn)采用Java 語(yǔ)言開發(fā),開發(fā)工具M(jìn)yeclipse2015,運(yùn)行環(huán)境為Tomcat7.0。 (2)前期準(zhǔn)備 建立多形式維文敏感信息語(yǔ)料庫(kù)。首先收集傳統(tǒng)維文敏感信息語(yǔ)料,部分敏感信息在網(wǎng)絡(luò)上下載,下載的主要網(wǎng)站包括維吾爾語(yǔ)論壇、Ulinix、貼吧、新聞下的評(píng)論、個(gè)人微博下的評(píng)論等,因?yàn)檫@些地方話語(yǔ)比較自由,可以獲取敏感信息。另一部分敏感信息從書籍、雜志和一些文章中獲取。除此之外還使用一些常見的中文敏感詞匯進(jìn)行翻譯以對(duì)其進(jìn)行補(bǔ)充。最終收集了傳統(tǒng)維文的1 000 個(gè)敏感詞。通過ULTC 轉(zhuǎn)換算法,把傳統(tǒng)維文敏感詞轉(zhuǎn)換成對(duì)應(yīng)拉丁維文敏感詞,實(shí)現(xiàn)2 000 個(gè)敏感詞組成的多形式維文敏感語(yǔ)料庫(kù)。為了方便多形式維文決策樹的構(gòu)建,敏感語(yǔ)料庫(kù)進(jìn)行簡(jiǎn)單預(yù)處理,語(yǔ)料庫(kù)由傳統(tǒng)維文區(qū)和拉丁維文區(qū)組成,使每個(gè)敏感詞獨(dú)占一行,并且拉丁維文敏感詞和傳統(tǒng)維文敏感詞順序一一對(duì)應(yīng)。為了更好地觀察決策樹更新后的查全率,將1 000個(gè)敏感詞分成兩部分,第一部分包含700 個(gè)敏感詞,在對(duì)網(wǎng)絡(luò)維吾爾文文本信息過濾前添加到語(yǔ)料庫(kù)中,剩下的300個(gè)敏感詞在第二次文檔過濾時(shí)添加到語(yǔ)料庫(kù)中,這樣可以觀察決策樹更新前與更新后的效率。提前在敏感信息較多的Ulinix、貼吧、維語(yǔ)論壇等網(wǎng)站上下載包含傳統(tǒng)維文和拉丁維文的300篇網(wǎng)頁(yè),進(jìn)行預(yù)處理后整理出每篇5 000 字左右的4 篇文本文檔,其中兩篇是傳統(tǒng)維文,兩篇是拉丁維文的TXT文檔。 本文的實(shí)驗(yàn)數(shù)據(jù)是語(yǔ)料庫(kù)中收集的1 000個(gè)傳統(tǒng)維文敏感信息關(guān)鍵詞,這些敏感詞通過ULTC編碼轉(zhuǎn)換算法轉(zhuǎn)換成對(duì)應(yīng)的拉丁維文敏感詞,并添加到語(yǔ)料庫(kù)中。采用人工方式和維軟(Uyghur Soft)公司開發(fā)的AlKatip軟件的多形式維文詞匯庫(kù)來測(cè)試ULTC 編碼轉(zhuǎn)換算法的正確率,測(cè)試結(jié)果表明正確率已達(dá)到了100%,如表2所示。 多形式維文敏感信息決策樹包含拉丁維文和傳統(tǒng)維文的敏感信息,USF算法使用同一個(gè)決策樹來實(shí)現(xiàn)不同形式的維文文檔的敏感信息過濾,并脫離了多形式維文敏感語(yǔ)料庫(kù)的依賴。決策樹按照拉丁文的編碼順序排列,簡(jiǎn)化了傳統(tǒng)維文字形復(fù)雜度給決策樹帶來的查詢復(fù)雜度,提高了檢測(cè)效率。 實(shí)驗(yàn)由兩個(gè)步驟組成:第一步是拉丁維文文檔的敏感信息過濾,分別對(duì)決策樹更新前和更新后的狀態(tài)進(jìn)行敏感信息過濾;第二步是傳統(tǒng)維文文檔的敏感信息過濾,也是分別對(duì)決策樹更新前和更新后的狀態(tài)進(jìn)行過濾。根據(jù)實(shí)驗(yàn)結(jié)果計(jì)算出了USF 過濾算法的查全率和文檔的敏感值,實(shí)驗(yàn)結(jié)果如表3所示。 表3 USF算法實(shí)驗(yàn)結(jié)果 ULTC編碼轉(zhuǎn)換算法的準(zhǔn)確率達(dá)到了100%,表明多形式維文語(yǔ)料庫(kù)中的拉丁維文敏感詞和傳統(tǒng)維文敏感詞完全一一對(duì)應(yīng)。根據(jù)表3可以發(fā)現(xiàn),不管是傳統(tǒng)維文還是拉丁維文,USF敏感信息過濾算法的查全率在決策樹的更新有所下降,傳統(tǒng)維文的下降幅度更高,除此之外傳統(tǒng)維文的查全率比拉丁維文低。主要原因是決策樹按照拉丁文的字母順序排列的,傳統(tǒng)維文敏感詞直接添加到對(duì)應(yīng)的拉丁維文敏感詞的節(jié)點(diǎn)上,因此決策樹上傳統(tǒng)維文敏感詞的順序是比較混亂的,使得部分敏感詞在決策樹更新過程中未能完成節(jié)點(diǎn)的添加或錯(cuò)點(diǎn)添加,這樣算法就無法找到該節(jié)點(diǎn),造成查全率的降低。本實(shí)驗(yàn)結(jié)果與文獻(xiàn)[17]中的中文敏感信息過濾相比,查全率明顯低于文獻(xiàn)[17],主要原因是漢字的字形和語(yǔ)義優(yōu)勢(shì),加上漢字拼音配合決策樹的使用,簡(jiǎn)化了匹配的查詢復(fù)雜度,提高了檢索效率。根據(jù)表3還可以看出文檔的敏感值過低,主要原因是多形式維文敏感語(yǔ)料庫(kù)和下載整理的文檔綜合性比較強(qiáng),沒有彼此之間的針對(duì)性。除此之外,實(shí)驗(yàn)中使用的文檔大部分內(nèi)容是網(wǎng)上下載的,近幾年新疆維穩(wěn)和網(wǎng)絡(luò)監(jiān)控工作力度的加大,網(wǎng)絡(luò)敏感信息數(shù)量大幅下降也有關(guān)系。 多形式維文敏感信息過濾算法的研制對(duì)目前新疆社會(huì)穩(wěn)定和長(zhǎng)治久安總目標(biāo)的實(shí)現(xiàn)具有非常重要的意義。本文提出的多形式維文敏感信息過濾算法實(shí)現(xiàn)了網(wǎng)絡(luò)媒體上的傳統(tǒng)維文和拉丁維文敏感信息的過濾,彌補(bǔ)了現(xiàn)有的維文敏感信息檢測(cè)與過濾系統(tǒng)不支持拉丁維文的空白。由此,本文的研究成果對(duì)新疆的網(wǎng)絡(luò)安全和社會(huì)穩(wěn)定工作具有重要的實(shí)際意義。未來工作包括:進(jìn)一步優(yōu)化多形式維文敏感信息決策樹的結(jié)構(gòu),引入領(lǐng)域本體的概念來提高決策樹和文檔的針對(duì)性,從而提高過濾算法對(duì)傳統(tǒng)維文和拉丁維文敏感信息的過濾效率。3.5 敏感值計(jì)算方法
4 實(shí)驗(yàn)與分析
4.1 實(shí)驗(yàn)環(huán)境與前期準(zhǔn)備
4.2 ULTC文字編碼轉(zhuǎn)換算法實(shí)驗(yàn)
4.3 USF算法性能分析
4.4 實(shí)驗(yàn)結(jié)果分析
5 結(jié)束語(yǔ)