專利名稱:基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及模式識別領(lǐng)域,尤其涉及一種基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法及系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)發(fā)展,眾多的網(wǎng)絡(luò)應(yīng)用都需要對用戶輸入的文本進行關(guān)鍵詞過濾操作,業(yè)界就如何能更高效地進行大批量文本過濾產(chǎn)生了激烈的討論?;陉P(guān)鍵詞過濾的需求以及用戶體驗出發(fā),一個成功的網(wǎng)絡(luò)應(yīng)用,尤其在大批量關(guān)鍵詞文本過濾應(yīng)體現(xiàn)良好的效率,既保證其過關(guān)鍵詞過濾功能實現(xiàn),又減少用戶因文本過濾而等待的時間。 在對關(guān)鍵詞進行過濾時,現(xiàn)有技術(shù)是采用正則表達式對每一句文本中的內(nèi)容進行檢測。其中正則表達式是指一個用來描述或者匹配一系列符合某個句法規(guī)則的字符串的單個字符串。而使用正則表達式進行關(guān)鍵詞過濾,消耗極大,原因在于,第一、運用自帶的正則表達式消耗較大;第二、使用此方法造成大量的字符串操作,字符串操作主要是指查找字符,替換字符,連接字符。因此,采用現(xiàn)有技術(shù)方案,關(guān)鍵詞過濾效率較低,嚴重影響了網(wǎng)絡(luò)應(yīng)用系統(tǒng)的順暢性及穩(wěn)定性。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法及系統(tǒng),能高效的過濾文本內(nèi)容中的關(guān)鍵詞,提高了網(wǎng)絡(luò)應(yīng)用系統(tǒng)的流暢性以及穩(wěn)定性。為了達到上述發(fā)明目的,本發(fā)明提供了一種基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法,包括獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容;根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述數(shù)據(jù)內(nèi)容進行過濾;輸出經(jīng)過濾后的聊天內(nèi)容。具體地,在所述獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容的步驟之前,所述方法還包括預(yù)先建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。具體地,所述預(yù)先建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫的步驟具體為根據(jù)所述關(guān)鍵詞的字符串長度,分層次建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。具體地,所述根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述文本內(nèi)容進行過濾的步驟具體包括根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,分層次對所述文本內(nèi)容進行關(guān)鍵詞查找,當成功查找到所述關(guān)鍵詞時,用預(yù)定義的符號替代所述文本內(nèi)容中的關(guān)鍵詞。相應(yīng)地,本發(fā)明還提供了一種基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾系統(tǒng),所述系統(tǒng)包括內(nèi)容獲取模塊,用于獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容;過濾模塊,用于根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述內(nèi)容獲取模塊獲取的文本內(nèi)容進行過濾;內(nèi)容輸出模塊輸出經(jīng)所述過濾模塊過濾后的文本內(nèi)容。具體地,所述系統(tǒng)還包括建樹模塊,用于根據(jù)關(guān)鍵詞的字符串長度,分層次建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。具體地,所述過濾模塊包括查找單元,用于根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,分層次對所述內(nèi)容獲取模塊獲取的文本內(nèi)容進行關(guān)鍵詞查找;關(guān)鍵詞替代單元,用于當所述查找單元成功查找到所述關(guān)鍵詞時,用預(yù)定義的符號替代所述文本內(nèi)容中的關(guān)鍵詞。 本發(fā)明的有益效果如下本發(fā)明根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容進行過濾;相對于現(xiàn)有技術(shù)中采用正則表達式過濾關(guān)鍵詞的方式,本發(fā)明提高了關(guān)鍵詞過濾的效率,并保證了網(wǎng)絡(luò)應(yīng)用系統(tǒng)的順暢性及穩(wěn)定性。
圖I是本發(fā)明實施例基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法第一流程示意圖;圖2是本發(fā)明實施例基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法第二流程示意圖;圖3是本發(fā)明實施例基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾系統(tǒng)第一結(jié)構(gòu)組成示意圖;圖4是本發(fā)明實施例基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾系統(tǒng)第二結(jié)構(gòu)組成示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明是基于哈希表快速查找的特點,運用遞歸思想建立以關(guān)鍵詞如敏感詞首字符為鍵的多叉樹數(shù)據(jù)結(jié)構(gòu)。關(guān)鍵詞過濾核心在于如何快速查找關(guān)鍵詞并替換之,基于關(guān)鍵詞多叉樹數(shù)據(jù)結(jié)構(gòu),可以快速查找到關(guān)鍵詞的位置以及內(nèi)容,從而實現(xiàn)過濾操作。本發(fā)明可選用腳本語言實現(xiàn)聊天關(guān)鍵詞過濾。實施例I參見圖1,為本發(fā)明實施例基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法第一流程示意圖,所述方法包括S101、獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容;此處的文本內(nèi)容可包括聊天內(nèi)容等。S102、根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述文本內(nèi)容進行過濾;此處,關(guān)鍵詞主要是指敏感詞等。S103、輸出經(jīng)過濾后的文本內(nèi)容。此處,在具體實施中,輸出經(jīng)過濾后的文本內(nèi)容中,原關(guān)鍵詞如敏感詞等可使用預(yù)定義的符號代替。本發(fā)明根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對文本內(nèi)容進行過濾,相對于現(xiàn)有技術(shù)中采用正則表達式過濾關(guān)鍵詞的方式,本發(fā)明提高了關(guān)鍵詞過濾的效率,并保證了網(wǎng)絡(luò)應(yīng)用系統(tǒng)的順暢性及穩(wěn)定性。實施例2參見圖2,為本發(fā)明實施例基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法第二流程示意圖,所述方法包括S201、預(yù)先建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。此步驟具體為根據(jù)關(guān)鍵詞的字符串長度,分層次建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。S202、獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容;
S203、根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,分層次對文本內(nèi)容進行關(guān)鍵詞查找;此處,關(guān)鍵詞主要是指敏感詞等。S204、當成功查找到所述關(guān)鍵詞時,用預(yù)定義的符號替代所述文本內(nèi)容中的關(guān)鍵詞。當未查找到所述關(guān)鍵詞時,則不需要用預(yù)定義符號替代所述文本內(nèi)容中的關(guān)鍵詞。S205、輸出經(jīng)過濾后的文本內(nèi)容。此處,若在步驟S204中成功查找到關(guān)鍵詞,則此處,輸出經(jīng)過濾后的文本內(nèi)容中原關(guān)鍵詞已用預(yù)定義符號替代。以下結(jié)合具體實例對上述關(guān)鍵詞過濾方法進行詳細描述。首先對數(shù)據(jù)節(jié)點進行描述
CharNode {//過濾節(jié)點類名
Hashmapimap;//關(guān)聯(lián)數(shù)組成員變量;
int: index;//層深成員變量;
string value;//替換字符成員變量;
}map是關(guān)聯(lián)數(shù)組的一個對象,是組成多叉樹節(jié)點的關(guān)鍵類。數(shù)據(jù)節(jié)點以關(guān)鍵詞首字符為鍵,關(guān)鍵詞除首符外的部分為值,依此類推遞歸建立多叉樹;index是指當前層深,指示該數(shù)據(jù)節(jié)點在多叉樹中的深度,這個屬性主要作用是指示關(guān)鍵詞替換的長度;value是替換的內(nèi)容。當遞歸到最后一個關(guān)鍵詞字符時,diet對象無內(nèi)容,index仍為當前層深,value為替換的字符,如字符對步驟S201中,預(yù)先建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫進行舉例說明,為簡單起見,以單個關(guān)鍵詞“fat”為例。
map = Hashmap//首層關(guān)聯(lián)數(shù)組變量
a = CharNode//第二層數(shù)據(jù)節(jié)點
map = Hashmap//第二層關(guān)聯(lián)數(shù)組變量
t — CharNode//第三層數(shù)據(jù)節(jié)點map = Hashmap//第三層關(guān)聯(lián)數(shù)組變量
index = 3//第三層層深
value =“*”//第三層替換字符
index = 2//第二層層深
value =“fa”//第二層替換字符根據(jù)上述代碼,對建樹過程細節(jié)描述如下第一層,CharNode節(jié)點中的map對象,key是“f”,表示以“f”為首字符關(guān)鍵詞的入口標志;第二層,CharNode節(jié)點中的map對象,key是“a”;value是“fa”;index是2 ;第三層,key是“t”,value是“*,,,index是3。關(guān)鍵詞“fat”長度為3,因此,多叉樹的層深為3,另外,由于此例只針對單個關(guān)鍵詞建樹,此樹為一叉樹結(jié)構(gòu)。 若增加一個關(guān)鍵詞,如far,現(xiàn)針對兩個關(guān)鍵詞對建樹過程進行描述,此情況建樹設(shè)計思想適用于多個關(guān)鍵詞由于這兩個關(guān)鍵字“fat”與“far”的前兩字母是相同的(如果關(guān)鍵字不出現(xiàn)相同字母,建樹過程沒有本質(zhì)區(qū)別,思想類同),因此,它們的第一層與第二層的建樹過程是一樣的,下面只給出有差異的第三層的建樹過程第三層,針對“fat”,key 是“t”, value 是“*,,, index 是 3 ;針對“far”, key 是“r”,value 是 “ * ”, index 是 3。對步驟S203、S204涉及的關(guān)鍵詞查找替換過程進行如下說明運用已建立關(guān)鍵詞庫的多叉樹進行遞歸查找,遍歷文本內(nèi)容的每一個字符,并對該字符查找替換,下面給出一個簡單的例子說明關(guān)鍵詞為“fat” ;過濾內(nèi)容為“l(fā)fat3” ;替換字符為在關(guān)鍵詞多叉樹中遞歸查找關(guān)鍵詞“fat”,以首字符“f”為鍵查找,成功并進入第二層查找,關(guān)鍵詞“fat”去掉首符后得到“at”,并以“at”的首字符“a”為鍵查找成功,并進入第三層查找,關(guān)鍵詞“at”去掉首字符后得到“t”,并以“t”的首字符“t”為鍵查找,查找成功,此時value是“*,,, index是3,替換并返回結(jié)果運用本發(fā)明實現(xiàn)關(guān)鍵詞過濾與運用正則表達式實現(xiàn)關(guān)鍵詞過濾的效率對比。測試環(huán)境說明關(guān)鍵詞庫12210個關(guān)鍵詞,其中,“fat”是其中一個關(guān)鍵字;過濾的內(nèi)容在計算機科學中,fat是指一個用來描述或者匹配一系列fat符合某個句法規(guī)則的字符串的單個字符串。替換字符為使用正則表達式過濾過濾時間147ms過濾后的內(nèi)容在計算機科學中,*是指一個用來描述或者匹配一系列*符合某個句法規(guī)則的字符串的單個字符串。使用本發(fā)明技術(shù)方案進行過濾過濾時間1ms過濾后的內(nèi)容在計算機科學中,*是指一個用來描述或者匹配一系列*符合某個句法規(guī)則的字符串的單個字符串。由上可知,運用正則表達式過濾和運用本發(fā)明技術(shù)方案過濾相比,兩者過濾后得到的結(jié)果是一樣的,但兩者的過濾時間不一樣,使用本發(fā)明技術(shù)方案過濾時間較短。本發(fā)明實施例,預(yù)先根據(jù)關(guān)鍵詞的字符串長度,分層次建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,然后,根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,分層次對文本內(nèi)容進行關(guān)鍵詞查找;當成功查找到所述關(guān)鍵詞時,用預(yù)定義的符號替代所述文本內(nèi)容中的關(guān)鍵詞,相對于現(xiàn)有技術(shù)中采用正則表達式過濾文本內(nèi)容的方式,本發(fā)明提高了關(guān)鍵詞過濾的效率,并保證了網(wǎng)絡(luò)應(yīng)用系統(tǒng)的順暢性及穩(wěn)定性。實施例3 參見圖3,為本發(fā)明實施例基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾系統(tǒng)第一結(jié)構(gòu)組成示意圖,所述系統(tǒng)包括內(nèi)容獲取模塊31,用于獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容;過濾模塊32,用于根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述內(nèi)容獲取模塊31獲取的文本內(nèi)容進行過濾;內(nèi)容輸出模塊33 :輸出經(jīng)所述過濾模塊32過濾后的文本內(nèi)容。此實施例中各模塊的執(zhí)行過程與實施例I中各步驟是--對應(yīng)的關(guān)系,對本實施
例各模塊執(zhí)行過程的描述請參考實施例I中相應(yīng)的描述,此處不再贅述。本發(fā)明根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對文本內(nèi)容進行過濾,相對于現(xiàn)有技術(shù)中采用正則表達式過濾文本內(nèi)容的方式,本發(fā)明提高了關(guān)鍵詞過濾的效率,并保證了網(wǎng)絡(luò)應(yīng)用系統(tǒng)的順暢性及穩(wěn)定性。實施例4參見圖4,為本發(fā)明實施例基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾系統(tǒng)第二結(jié)構(gòu)組成示意圖,所述系統(tǒng)包括建樹模塊41,用于根據(jù)所述關(guān)鍵詞的字符串長度,分層次建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。內(nèi)容獲取模塊42,用于獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容;過濾模塊43,用于根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述內(nèi)容獲取模塊42獲取的文本內(nèi)容進行過濾;所述過濾模塊43還包括查找單元431,用于根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,分層次對所述內(nèi)容獲取模塊42獲取的文本內(nèi)容進行關(guān)鍵詞查找;關(guān)鍵詞替代單元432,用于當所述查找單元431成功查找到所述關(guān)鍵詞時,用預(yù)定義的符號替代所述文本內(nèi)容中的關(guān)鍵詞。當查找單元431未查找到所述關(guān)鍵詞時,則不需要用預(yù)定義符號替代所述文本內(nèi)容中的關(guān)鍵詞。內(nèi)容輸出模塊44 :輸出經(jīng)過濾模塊43過濾后的文本內(nèi)容。此實施例中各模塊的執(zhí)行過程與實施例2中各步驟是——對應(yīng)的關(guān)系,對本實施例各模塊執(zhí)行過程的描述請參考實施例2中相應(yīng)的描述,此處不再贅述。本發(fā)明實施例,預(yù)先根據(jù)關(guān)鍵詞的字符串長度,分層次建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,然后,根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,分層次對文本內(nèi)容進行關(guān)鍵詞查找;當成功查找到所述關(guān)鍵詞時,用預(yù)定義的符號替代所述文本內(nèi)容中的關(guān)鍵詞,相對于現(xiàn)有技術(shù)中采用正則表達式過濾文本內(nèi)容的方式,本發(fā)明提高了關(guān)鍵詞過濾的效率,并保證了網(wǎng)絡(luò)應(yīng)用系統(tǒng)的順暢性及穩(wěn)定性。以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的 范圍。
權(quán)利要求
1.一種基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法,其特征在于,所述方法包括 獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容; 根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述數(shù)據(jù)內(nèi)容進行過濾; 輸出經(jīng)過濾后的聊天內(nèi)容。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容的步驟之前,所述方法還包括 預(yù)先建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述預(yù)先建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫的步驟具體為 根據(jù)所述關(guān)鍵詞的字符串長度,分層次建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述文本內(nèi)容進行過濾的步驟具體包括 根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,分層次對所述文本內(nèi)容進行關(guān)鍵詞查找,當成功查找到所述關(guān)鍵詞時,用預(yù)定義的符號替代所述文本內(nèi)容中的關(guān)鍵詞。
5.一種基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾系統(tǒng),其特征在于,所述系統(tǒng)包括 內(nèi)容獲取模塊,用于獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容; 過濾模塊,用于根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述內(nèi)容獲取模塊獲取的文本內(nèi)容進行過濾; 內(nèi)容輸出模塊輸出經(jīng)所述過濾模塊過濾后的文本內(nèi)容。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 建樹模塊,用于根據(jù)關(guān)鍵詞的字符串長度,分層次建立多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述過濾模塊包括 查找單元,用于根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,分層次對所述內(nèi)容獲取模塊獲取的文本內(nèi)容進行關(guān)鍵詞查找; 關(guān)鍵詞替代單元,用于當所述查找単元成功查找到所述關(guān)鍵詞時,用預(yù)定義的符號替代所述文本內(nèi)容中的關(guān)鍵詞。
全文摘要
本發(fā)明提供了一種基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾方法,所述方法包括獲取基于網(wǎng)絡(luò)應(yīng)用的文本內(nèi)容;根據(jù)多叉樹數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵詞文本庫,采用遞歸算法對所述文本內(nèi)容進行過濾;輸出經(jīng)過濾后的文本內(nèi)容。相應(yīng)地,本發(fā)明還提供了一種基于網(wǎng)絡(luò)應(yīng)用的關(guān)鍵詞過濾系統(tǒng),本發(fā)明技術(shù)方案相對于現(xiàn)有技術(shù)中采用正則表達式過濾文本內(nèi)容的方式,提高了關(guān)鍵詞過濾的效率,并保證了網(wǎng)絡(luò)應(yīng)用系統(tǒng)的順暢性及穩(wěn)定性。
文檔編號G06F17/30GK102799596SQ201110140849
公開日2012年11月28日 申請日期2011年5月27日 優(yōu)先權(quán)日2011年5月27日
發(fā)明者江晨, 許昭鵬 申請人:廣州明朝網(wǎng)絡(luò)科技有限公司