杜隆胤
摘 要: 基于GPRS的移動互聯(lián)網(wǎng)分布式文本分類系統(tǒng)沒有足夠的CPU和RAM資源可以調(diào)用,所以難以使用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)系統(tǒng)進(jìn)行文本分類,這與當(dāng)前的互聯(lián)網(wǎng)大數(shù)據(jù)需求存在一定的矛盾。在此使用占用CPU和RAM資源較少的語義分析算法,采用局端與用戶端聯(lián)合運算的方式,使用比較結(jié)果字符串替代明文傳輸?shù)姆绞綔p少GPRS鏈路占用,研究了基于語義分析的計算機(jī)文本分類技術(shù)。
關(guān)鍵詞: 語義分析; 文本分類; 移動互聯(lián)網(wǎng); 計算機(jī)智能
中圖分類號: TN919?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)05?0147?02
文本分類技術(shù)是人工智能的重要組成部分,而語義分析算法是傳統(tǒng)的腳本編譯算法[1?2]。傳統(tǒng)的文本分類算法包括決策樹,Rocchio,樸素貝葉斯,神經(jīng)網(wǎng)絡(luò),支持向量機(jī),線性最小平方擬合,KNN,遺傳算法,最大熵,Generalized Instance Set等[3]。將語義分析算法應(yīng)用在文本分類中[4]是本文研究的重點。
1 需求分析
這里需要一種可以運行在云端的文本分類軟件,軟件主要運行在安卓客戶端和云端服務(wù)器之間。要求軟件使用最小數(shù)據(jù)量實現(xiàn)最大程度的云端數(shù)據(jù)整合和文本分析準(zhǔn)確率。
1.1 流程分析
本文需求并不要求更智能化的識別方式,而是通過語義分析法,通過對特殊關(guān)鍵詞和關(guān)鍵詞組合的方式進(jìn)行識別得到文本分類結(jié)果。本文的研究內(nèi)容主要用于識別和分析500字符之內(nèi)的自然文本。這部分自然文本主要應(yīng)用在對網(wǎng)絡(luò)頁面文本進(jìn)行分析,同時用于對捕捉到的超文本標(biāo)識代碼進(jìn)行內(nèi)容文本和代碼段的識別,業(yè)務(wù)流程圖如圖1所示。
1.2 模塊分析
傳統(tǒng)語義分析算法來自人工輸入的特定文本之間的判斷,一般語義分析算法只能識別80~120個關(guān)鍵詞[5]。但此種規(guī)模的識別字典完全不能適應(yīng)本文要求對自然文本的識別,所以本文采用三層識別方法見圖2。
P1.1:根據(jù)固定關(guān)鍵詞,識別超文本標(biāo)識語言中的標(biāo)識段數(shù)據(jù),并將其剔除。
P1.2:根據(jù)自學(xué)習(xí)關(guān)鍵詞,識別自然文本中的關(guān)鍵詞,根據(jù)詞頻和關(guān)聯(lián)度進(jìn)行價值估計。
P1.3:根據(jù)自學(xué)習(xí)關(guān)鍵詞,識別自然文本的含義,評估不同文本段之間的相似度,對文本段進(jìn)行歸納整理。
而本軟件的自學(xué)習(xí)部分(P2)不從傳統(tǒng)的人工智能算法中得到關(guān)鍵詞字典,而是采用語義分析中常用的聯(lián)系算法進(jìn)行關(guān)鍵詞管理[6]。自學(xué)習(xí)部分放在云端服務(wù)器上,自學(xué)習(xí)結(jié)果采用軟件更新的方式發(fā)送到客戶端。自學(xué)習(xí)產(chǎn)生的流量來自服務(wù)器與互聯(lián)網(wǎng)之間的聯(lián)系,并不占用GPRS通道。
軟件的移動端部分(P3)通過相對固定的關(guān)鍵詞字典集合,根據(jù)實際分析得到的數(shù)據(jù)匹配結(jié)果進(jìn)行遠(yuǎn)端比較,但大部分?jǐn)?shù)據(jù)需要提交到P1模塊進(jìn)行局端比較。在移動端形成比較字符串后,可以較大程度地實現(xiàn)GPRS鏈路的數(shù)據(jù)最小化。
1.3 數(shù)據(jù)流分析
P1模塊輸入數(shù)據(jù)D1.1為P1.1的關(guān)鍵詞字典數(shù)據(jù),該數(shù)據(jù)以數(shù)據(jù)庫表的形式保存在數(shù)據(jù)庫中,形成表dataPinSOL。該數(shù)據(jù)主要用于輔助識別字段中的無信息量字符串,如超文本標(biāo)識語言中的標(biāo)識字符串等。
P1模塊輸入數(shù)據(jù)D1.2為P1.2的關(guān)鍵詞字典數(shù)據(jù),該字典數(shù)據(jù)來自自然文本中經(jīng)常出現(xiàn)的字符串,以及用戶易搜索的字符串。這部分字符串來自對海量信息的比較,海量信息來自互聯(lián)網(wǎng)遍歷捕捉文本和搜索引擎的采集文本。
P1模塊輸入數(shù)據(jù)D1.3為P1.3的關(guān)鍵詞字典數(shù)據(jù),該字典數(shù)據(jù)來自對D1.2數(shù)據(jù)進(jìn)行進(jìn)一步挖掘得到的與D1.2數(shù)據(jù)經(jīng)常合并出現(xiàn)的字典數(shù)據(jù)。這部分字典數(shù)據(jù)同樣來自語義分析的分析法。
因為本文算法不采用無限遞歸法[7],而是采用了三層計算的架構(gòu),而將語義分析段代碼用于多層不限制遞歸。所以P1模塊的數(shù)據(jù)流相對簡單。P1模塊的輸出數(shù)據(jù)流為DL1,定義為比較結(jié)果字符串。該字符串作為搜索引擎對語義識別的結(jié)果字符串,不具備人腦識別的功能,但可以在計算機(jī)中給自然語言提供鏡像,可以讓較為模糊的自然語言在計算機(jī)中得到識別和模糊對比。
P2有兩個輸入量,P2.1來自合作搜索引擎的搜索字符串?dāng)?shù)據(jù),該數(shù)據(jù)運行在光纖數(shù)據(jù)干線上,數(shù)據(jù)量較大,不會在GPRS鏈路中出現(xiàn)。此部分合作搜索引擎的數(shù)據(jù)采集內(nèi)容主要包括搜索字符串,搜索時間,發(fā)生IP,發(fā)生IP地域,捆綁賬號等。P2.2來自網(wǎng)絡(luò)隨機(jī)遍歷采集的各種超文本,這些超文本數(shù)據(jù)采用單字段采集和多關(guān)鍵詞分析的方式進(jìn)行挖掘,所以數(shù)據(jù)結(jié)構(gòu)較為簡單。
2 算法設(shè)計
因為篇幅限制,本文僅討論和展示部分核心代碼和算法的設(shè)計,較復(fù)雜的算法過程不再給出偽碼。P1.1是超文本對比算法,超文本對比算法使用了最經(jīng)典的語義分析算法。而P1.2和P1.3采用的算法是在經(jīng)典的語義分析算法的基礎(chǔ)上做的擴(kuò)增[8],這部分?jǐn)U增可以讓語義分析算法更加適用于自然語言下的文本分類。
本文算法的最主要成果是使用最小的CPU和RAM資源,對自然語言文本進(jìn)行比較,從而獲得更高效的適應(yīng)當(dāng)前互聯(lián)網(wǎng)云服務(wù)市場的軟件[9]。
2.1 超文本對比函數(shù)算法(P1.1局部)
讀字典數(shù)據(jù)表,做對比循環(huán)函數(shù)。
對比循環(huán)函數(shù)偽碼如下:
OPEN TABLE DICT
DO WHILE DICT NOT EOF
GET DIG_DICT RECORDSET FORM DICT
OPEN TEXTFILE
GET L_DIG_DICT LENTH DIG_DICT
FOR I 0 TO LENTH TEXTFILE
GET T_TEXTFILE MIDDLE TEXTFILE I L_DIG_DICT
GET SUMSHOW COMPARE DIG_DICT T_TEXTFILE
NEXT I
LOOP
RETURN SUMSHOW
2.2 數(shù)據(jù)邏輯網(wǎng)絡(luò)的實現(xiàn)(P1.2局部)
數(shù)據(jù)邏輯網(wǎng)絡(luò)主要是在數(shù)據(jù)庫中使用數(shù)據(jù)結(jié)構(gòu)實現(xiàn)數(shù)據(jù)的邏輯網(wǎng)絡(luò),每個數(shù)據(jù)都有若干個上級數(shù)據(jù)和若干個下級數(shù)據(jù)[10]。每個單個數(shù)據(jù)一般不超過15個漢字(32字符)。上級數(shù)據(jù)和下級數(shù)據(jù)使用專用字段存儲,每個字段使用二維數(shù)組的方式進(jìn)行管理。二維數(shù)組包括目標(biāo)字符串(32字符),響應(yīng)頻率,最后響應(yīng)時間3項。
為了充分調(diào)動數(shù)據(jù)邏輯網(wǎng)絡(luò),采用了全新的遍歷算法,對每個記錄下的兩個二維數(shù)組字段進(jìn)行分別遍歷,以對文章內(nèi)容進(jìn)行逐一比較和計算。在比較中同時記錄其他詞語的詞頻,進(jìn)一步對兩個二維數(shù)組字段進(jìn)行維護(hù)和更新。因為篇幅限制,只在本文模型下進(jìn)行設(shè)計分析。
2.3 文本相似度評估算法(P1.3局部)
本文采用的文本相似度評估算法分為兩段:
第一段對輸入文本進(jìn)行比較評估,對字典中每個關(guān)鍵詞進(jìn)行詞頻分析,同時對關(guān)鍵詞出現(xiàn)的位置進(jìn)行[t]檢驗和[χ2]檢驗,將結(jié)果使用Minmax處理為(0,1)值域。將每個處理結(jié)果進(jìn)行匯總制表。與此同時,將輸入文本與每個關(guān)鍵詞的關(guān)聯(lián)詞進(jìn)行詞頻分析,同時對關(guān)鍵詞的關(guān)聯(lián)詞位置進(jìn)行[t]檢驗和[χ2]檢驗,將結(jié)果同樣使用Minmax處理為(0,1)值域。Minmax結(jié)果設(shè)計為小數(shù)點后12位小數(shù)。將每個處理結(jié)果進(jìn)行匯總制表。
第二段將第一段中形成的兩個數(shù)據(jù)表與系統(tǒng)中存儲的數(shù)據(jù)表進(jìn)行[t]檢驗和[χ2]檢驗,獲取檢驗結(jié)果的[P]值。當(dāng)[P<]0.05時,認(rèn)為兩篇文章具有相似度,且[P]值越小,文章的相似度越高。本文算法經(jīng)過檢驗,完全相同的兩篇自然語言文章輸入系統(tǒng)后,兩篇文章的[P]值接近于0,表示本文算法擁有較高的識別性。
3 結(jié) 語
本文就基于語義分析在計算機(jī)技術(shù)文本分類中的應(yīng)用進(jìn)行了軟件工程分析和設(shè)計,在面向?qū)ο蟮脑O(shè)計模型中,本文實現(xiàn)了不使用任何神經(jīng)網(wǎng)絡(luò)遞歸算法就可以得到高效率的軟件系統(tǒng)。這個算法系統(tǒng)可以在移動互聯(lián)網(wǎng)設(shè)備中得到較廣泛的應(yīng)用。
參考文獻(xiàn)
[1] 萬源.基于語義統(tǒng)計分析的網(wǎng)絡(luò)輿情挖掘技術(shù)研究[D].武漢:武漢理工大學(xué),2012.
[2] 李智星.用于文本分類的簡明語義分析技術(shù)研究[D].重慶:重慶大學(xué),2011.
[3] 王奕.基于概率潛在語義分析的中文文本分類研究[J].甘肅聯(lián)合大學(xué)學(xué)報(自然科學(xué)版),2011(4):55?59.
[4] 鐘將,劉榮輝.一種改進(jìn)的KNN文本分類[J].計算機(jī)工程與應(yīng)用,2012,48(2):139?142.
[5] 季鐸,畢臣,蔡東風(fēng).基于類別信息優(yōu)化的潛在語義分析分類技術(shù)[J].中國科學(xué)技術(shù)大學(xué)學(xué)報,2015(4):112?114.
[6] 何兆興.文本分類相關(guān)算法研究[J].計算機(jī)工程與應(yīng)用,2014(3):59?61.
[7] 劉東華.計算機(jī)語義分析算法革新研究[J].計算機(jī)工程與應(yīng)用,2013(4):41?42.
[8] 劉海東.文本分類與計算機(jī)語義分析的關(guān)聯(lián)研究[J].中國科學(xué)技術(shù)大學(xué)學(xué)報,2015(2):167?169.
[9] 蔡虎燕.語義分析算法在文本分類中的應(yīng)用研究[D].濟(jì)南:山東大學(xué),2013.
[10] 王玉.語言分類與計算機(jī)人工智能關(guān)聯(lián)性研究[J].計算機(jī)工程與應(yīng)用,2012(5):36?37.