一種含敏感度計算的網頁過濾方法
2023-04-22 22:31:51 1
一種含敏感度計算的網頁過濾方法
【專利摘要】本發明涉及一種含敏感度計算的網頁過濾方法,屬於信息過濾【技術領域】。本發明通包括步驟:S1,實驗語料庫收集;S2,語料庫的構建及敏感信息語料庫的構建;S3,頁面信息預處理;S4,頁面詞語總數統計及敏感詞語總數統計;S5,頁面敏感度的判斷。本發明採用含頁面敏感度計算的搜索結果中有效地剔除了敏感信息,且根據當前頁面的連結計算該連結所含信息的敏感度,從而可以深度挖掘敏感信息並予以避免;通過閾值的控制以及敏感度的計算可有效地將不同暴力指數的暴力遊戲頁面顯示出來,從而可以有效地控制不同級別或年齡段人群的需求。
【專利說明】一種含敏感度計算的網頁過濾方法
【技術領域】
[0001]本發明涉及一種含敏感度計算的網頁過濾方法,屬於信息過濾【技術領域】。
【背景技術】
[0002]敏感信息過濾是當前自然語言處理研究中的熱點問題之一,如何判斷一個文本或網頁信息中是否含有敏感性信息問題,是當前搜尋引擎以及社交網絡研究的關鍵問題。目前網絡環境中充斥著大量違背倫理道德、社會安定等信息。
[0003]為了淨化網絡環境,已經出現了很多敏感性詞彙過濾的方法。通常在敏感信息過濾中,敏感詞庫的收集、敏感詞過濾的方法、對應語料庫和敏感詞庫的組織結構以及敏感詞的匹配策略均是敏感信息過濾的重要組成部分,其直接影響敏感信息過濾的準確率和效率。通常人們為了避免敏感詞過濾而主觀地加上一些如〃$、&、*〃等一些特殊字符。一般的敏感信息過濾算法遇到這種情況則無法判斷該詞是否為敏感詞、從而可通過人為幹預避開過濾算法的作用。普通的敏感信息過濾策略通過捕獲頁面信息中的敏感詞,只要含有敏感詞彙均不予以顯現。從安全控制級別以及信息需要的角度來看,這種策略不能靈活地修改控制力度。
【發明內容】
[0004]本發明提供了一種含敏感度計算的網頁過濾方法,以用於解決普通的過濾算法不能靈活地修改控制力度的問題。
[0005]本發明的技術方案是:一種含敏感度計算的網頁過濾方法,所述網頁過濾方法的具體步驟如下:
A、實驗語料庫收集:收集敏感詞作為敏感詞語料庫;收集敏感詞及非敏感詞作為語料庫,將敏感詞語料庫添加到語料庫中形成新的語料庫;
B、語料庫的構建及敏感信息語料庫的構建:根據語料庫及敏感信息語料庫規模的不同分別以不同的組織結構存放在內存裡:其敏感信息語料庫規模較小,採用List結構;語料庫規模較大,採用Trie樹結構;
C、頁面信息預處理:首先對頁面信息進行URL連結提取,用以獲取二級頁面信息,將當前頁面和二級頁面信息進行無效詞語及符號刪除;
D、頁面詞語總數統計及敏感詞語總數統計:
將頁面信息的分詞結果與語料庫一一比對,把匹配到的詞語及該詞語出現的總次數以{keyl: valuel, key2: value2,...}結構存放在 Python 的 Dictionary 中,然後將Dictionary結構轉換成[[wl, vl], [w2, v2],...]形式的逆序嵌套List ;通過計算List中嵌套List的value之和便可統計出頁面所有詞語出現的總次數Ta ;
將頁面信息的分詞結果與敏感信息語料庫一一比對,把匹配到的敏感詞語及該詞語出現的總次數以{keyl: valuel, key2: value2,...}結構存放在 Python 的 Dictionary 中,然後將Dictionary結構轉換成[[wl,vl], [w2, v2],...]形式的逆序嵌套List ;通過計算List中嵌套List的value之和便可統計出頁面所有敏感詞語出現的總次數Ts ;
E、頁面敏感度的判斷:根據頁面所有詞語出現的總次數7;和所有敏感詞語出現的總次數Ts,計算敏感度S二 arcsin、TjTa\並將S與閾值Vs進行比較:
如果K > &則說明頁面信息敏感度沒有超過閾值,顯示頁面信息;
如果K ( A則說明頁面信息敏感度超過了閾值,不顯示頁面信息。
[0006]所述無效詞語及符號包括語氣助詞以及數字。
[0007]所述閾值匕的取值範圍為0-1。
[0008]本發明的有益效果是:採用含頁面敏感度計算的搜索結果中有效地剔除了敏感信息,且根據當前頁面的連結計算該連結所含信息的敏感度,從而可以深度挖掘敏感信息並予以避免;通過閾值的控制以及敏感度的計算可有效地將不同暴力指數的暴力遊戲頁面顯示出來,從而可以有效地控制不同級別或年齡段人群的需求。
【專利附圖】
【附圖說明】
[0009]圖1為本發明的流程圖。
【具體實施方式】
[0010]實施例1:如圖1所示,一種含敏感度計算的網頁過濾方法,所述網頁過濾方法的具體步驟如下:
A、實驗語料庫收集:收集敏感詞作為敏感詞語料庫;收集敏感詞及非敏感詞作為語料庫,將敏感詞語料庫添加到語料庫中形成新的語料庫;
B、語料庫的構建及敏感信息語料庫的構建:根據語料庫及敏感信息語料庫規模的不同分別以不同的組織結構存放在內存裡:其敏感信息語料庫規模較小,採用List結構;語料庫規模較大,採用Trie樹結構;
C、頁面信息預處理:首先對頁面信息進行URL連結提取,用以獲取二級頁面信息,將當前頁面和二級頁面信息進行無效詞語及符號刪除;
D、頁面詞語總數統計及敏感詞語總數統計:
將頁面信息的分詞結果與語料庫一一比對,把匹配到的詞語及該詞語出現的總次數以{keyl: valuel, key2: value2,...}結構存放在 Python 的 Dictionary 中,然後將Dictionary結構轉換成[[wl, vl], [w2, v2],...]形式的逆序嵌套List ;通過計算List中嵌套List的value之和便可統計出頁面所有詞語出現的總次數Ta ;
將頁面信息的分詞結果與敏感信息語料庫一一比對,把匹配到的敏感詞語及該詞語出現的總次數以{keyl: valuel, key2: value2,...}結構存放在 Python 的 Dictionary 中,然後將Dictionary結構轉換成[[wl,vl], [w2, v2],...]形式的逆序嵌套List ;通過計算List中嵌套List的value之和便可統計出頁面所有敏感詞語出現的總次數Ts ;
E、頁面敏感度的判斷:根據頁面所有詞語出現的總次數7;和所有敏感詞語出現的總次數Ts,計算敏感度S二 arcsin、TjTa\並將S與閾值Vs進行比較:
如果K > &則說明頁面信息敏感度沒有超過閾值,顯示頁面信息;
如果K ( A則說明頁面信息敏感度超過了閾值,不顯示頁面信息。
[0011]所述無效詞語及符號包括語氣助詞以及數字。[0012]所述閾值匕的取值範圍為0-1。
[0013]實施例2:如圖1所示,一種含敏感度計算的網頁過濾方法,所述網頁過濾方法的具體步驟如下:
A、實驗語料庫收集:收集敏感詞作為敏感詞語料庫;收集敏感詞及非敏感詞作為語料庫,將敏感詞語料庫添加到語料庫中形成新的語料庫;
B、語料庫的構建及敏感信息語料庫的構建:根據語料庫及敏感信息語料庫規模的不同分別以不同的組織結構存放在內存裡:其敏感信息語料庫規模較小,採用List結構;語料庫規模較大,採用Trie樹結構;
C、頁面信息預處理:首先對頁面信息進行URL連結提取,用以獲取二級頁面信息,將當前頁面和二級頁面信息進行無效詞語及符號刪除;
D、頁面詞語總數統計及敏感詞語總數統計:
將頁面信息的分詞結果與語料庫一一比對,把匹配到的詞語及該詞語出現的總次數以{keyl: valuel, key2: value2,...}結構存放在 Python 的 Dictionary 中,然後將Dictionary結構轉換成[[wl, vl], [w2, v2],...]形式的逆序嵌套List ;通過計算List中嵌套List的value之和便可統計出頁面所有詞語出現的總次數Ta ;
將頁面信息的分詞結果與敏感信息語料庫一一比對,把匹配到的敏感詞語及該詞語出現的總次數以{keyl: valuel, key2: value2,...}結構存放在 Python 的 Dictionary 中,然後將Dictionary結構轉換成[[wl,vl], [w2, v2],...]形式的逆序嵌套List ;通過計算List中嵌套List的value之和便可統計出頁面所有敏感詞語出現的總次數Ts ;
E、頁面敏感度的判斷:根據頁面所有詞語出現的總次數7;和所有敏感詞語出現的總次數Ts,計算敏感度S二 arcsin、TjTa\並將S與閾值Vs進行比較:
如果K > &則說明頁面信息敏感度沒有超過閾值,顯示頁面信息;
如果K ( A則說明頁面信息敏感度超過了閾值,不顯示頁面信息。
[0014]所述無效詞語及符號包括語氣助詞以及數字。
[0015]所述閾值匕的取值範圍為0-1。
[0016]所述方法的具體實施步驟為:
步驟s1:實驗語料庫收集。
[0017]實驗訓練語料庫來源於兩部分:第一部分是1998年人民日報的切分預料(約19980122個漢字,含重複字,其中包含環境、人文、交通、社會、經濟、體育、藝術、政治、犯罪、外交、生活等多個方面的信息)作為語料庫;第二部分是通過爬取和暴力、反動、色情、恐怖、賭博、教唆犯罪等相關的頁面信息(一共爬取了 100000個頁面)作為敏感信息語料庫;將得到的敏感信息語料庫添加到語料庫中,以形成新的語料庫。
[0018]步驟s2:語料庫(上述新的語料庫)的構建及敏感信息語料庫的構建。
[0019]語料庫的構建結構取決於訓練得到的字典規模。
[0020]Trie樹結構的數據結構可有效減少分詞處理詞語匹配時對整個語料庫的掃描。它首先對詞語首字匹配,若匹配到對應的字則將首字設為root進行下一個字的匹配,若首字不匹配則說明以該字為首的詞語也不可能匹配,從而可以大大減少匹配詞語時的時間消耗。Trie樹搜索算法在最壞情況下的時間複雜度為0(level), level是Trie樹的層數。
[0021]敏感信息語料庫的構建。敏感信息語料庫與前面的語料庫主要的不同之處在於它的規模較語料庫要小很多,其屬於前面的語料庫的一部分,但不含詞頻。主要是用與分詞後敏感信息的提取,以獲取頁面中的敏感信息。敏感信息語料庫採用Python List結構存儲在內存中,主要是因為Python的List結構提供了不同的數據類型支持以及豐富的API,且在數據規模較小的情況下,判斷List中是否含有某一元素效率極高。
[0022]步驟s3:頁面信息預處理。利用Python開源組件BeautifulSoup中的prettify函數來格式化頁面信息,通過在頁面信息中查找標籤』 』開頭的語句定位url連結所處的位置,然後通過獲取以』』開始的信息中』href』後面的連結來獲取當前頁面信息中的所有url連結。根據當前頁面URL連結獲取該些連結所指頁面信息。除掉獲取到的頁面信息中無用的詞語(如:啊、的、得、呢等)及阿拉伯數字(0-9)。
[0023]步驟s4:頁面詞語總數統計及敏感詞語總數統計(包括當前頁面及二級頁面信息)。通過Trie樹查找算法將頁面中的信息分詞後,存儲在Python Dictionary結構中,其Dictionary中元素的組織結構為:{key:value,...},採用以頁面信息中的詞語為key,詞語出現的次數為value,根據Dictionary的特點(key值不能為重複值這一特性),對於重複的key,通過對Dictionary中key的value值加1來統計詞語出現的次數。判斷某一敏感詞是否重複出現來統計該敏感詞出現的詞頻: 設某敏感詞為K1,第一次出現K1時,其保存的數據結構為{K1:1},若下一個敏感詞仍為K1時,Dictionary的結構為{Kl:2}即將value增加1,否則保存為{K2:l},依次類推。為了方便計算詞語的總次數,將Dictionary中的{keyl: valuel, key2: value2,...}結構轉換為逆序嵌套List,即為[[wl, vl], [w2, v2],...]結構,採用經過由Dictionary轉換而來的List存儲格式可以極大地減少空間的浪費,可方便地統計某敏感詞出現的次數,且提高了數據的聚合性。
[0024]步驟s5:頁面敏感度的判斷。
[0025]通過上述步驟將獲取到的所有敏感詞語出現的總次數Ts以及所有詞語出現的總次數Ta求反正弦arcsin、TjTa\並將其值與閾值Vs進行比較。
[0026]if arcsin (TjTa) < Vs:
htm = html.get (’title』)+ 〃 〃 + html.get (’rel』)//顯不頁面標題以及url 連結elif arcsin (Ts/Ta) >= Vs:htm = null //不顯示任何消息表1暴力遊戲領域頁面敏感度計算實驗結果
閾值控制級別閾值為0閾值為0.5閾值為1
搜索類別暴力-戲
搜索規糢(條)100100100
不含敏感詞記錄數(條)75196
符合率(%)7%51%96%
通過以上的實驗和實例數據分析,閾值為0即沒有任何的敏感度過濾處理時搜索結果中含有近93%的超過未成年人可接受的信息暴力信息,而符合未成年人的遊戲信息顯示的較少,且在閾值控制級別不同的情況下搜索到的含暴力信息的數據量也相對有所不同,實驗表明通過控制不同級別的閾值控制可以有效地控制搜索結果中的敏感信息量。
[0027]上面結合附圖對本發明的【具體實施方式】作了詳細說明,但是本發明並不限於上述實施方式,在本領域普通技術人員所具備的知識範圍內,還可以在不脫離本發明宗旨的前提下作出各種變化。
【權利要求】
1.一種含敏感度計算的網頁過濾方法,其特徵在於:所述網頁過濾方法的具體步驟如下:A、實驗語料庫收集:收集敏感詞作為敏感詞語料庫;收集敏感詞及非敏感詞作為語料庫,將敏感詞語料庫添加到語料庫中形成新的語料庫;B、語料庫的構建及敏感信息語料庫的構建:根據語料庫及敏感信息語料庫規模的不同分別以不同的組織結構存放在內存裡:其敏感信息語料庫規模較小,採用List結構;語料庫規模較大,採用Trie樹結構;C、頁面信息預處理:首先對頁面信息進行URL連結提取,用以獲取二級頁面信息,將當前頁面和二級頁面信息進行無效詞語及符號刪除;D、頁面詞語總數統計及敏感詞語總數統計:將頁面信息的分詞結果與語料庫一一比對,把匹配到的詞語及該詞語出現的總次數以{keyl: valuel, key2: value2,...}結構存放在 Python 的 Dictionary 中,然後將Dictionary結構轉換成[[wl, vl], [w2, v2],...]形式的逆序嵌套List ;通過計算List中嵌套List的value之和便可統計出頁面所有詞語出現的總次數Ta ;將頁面信息的分詞結果與敏感信息語料庫一一比對,把匹配到的敏感詞語及該詞語出現的總次數以{keyl: valuel, key2: value2,...}結構存放在 Python 的 Dictionary 中,然後將Dictionary結構轉換成[[wl,vl], [w2, v2],...]形式的逆序嵌套List ;通過計算List中嵌套List的value之和便可統計出頁面所有敏感詞語出現的總次數Ts ;E、頁面敏感度的判斷:根據頁面所有詞語出現的總次數7;和所有敏感詞語出現的總次數Ts,計算敏感度S二 arcsin、TjTa\並將S與閾值Vs進行比較:如果K > &則說明頁面信息敏感度沒有超過閾值,顯示頁面信息;如果K ( A則說明頁面信息敏感度超過了閾值,不顯示頁面信息。
2.根據權利要求1所述的含敏感度計算的網頁過濾方法,其特徵在於:所述無效詞語及符號包括語氣助詞以及數字。
3.根據權利要求1或2所述的含敏感度計算的網頁過濾方法,其特徵在於:所述閾值匕的取值範圍為0-1。
【文檔編號】G06F17/30GK103678602SQ201310685717
【公開日】2014年3月26日 申請日期:2013年12月16日 優先權日:2013年12月16日
【發明者】張晶, 劉志, 陳沫良, 嚴涵, 沈江炎 申請人:昆明理工大學