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