網絡信息過濾插件研究
時間:2022-12-13 09:07:08
導語:網絡信息過濾插件研究一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:隨著互聯網時代的發展,伴隨著信息服務技術的不斷迭代,由網絡技術產生的相關應用逐步受到諸多行業的青睞,為了使上網更加方便快捷,越來越多的用戶放棄傳統的應用程序而選擇安裝相應插件,用以簡化電腦環境。該文設計了一個過濾插件,該插件主要通過DFA過濾算法,實現了在網頁中對含有敏感詞匯的過濾。結果表明,與其他過濾算法相比,DFA算法在替換耗時和精確度方面都有較為優秀。
1概述
由于互聯網技術的不斷發展,人們逐步認識到網絡所起到的重要作用,并通過網絡進行信息的傳遞與資源的共享來達到交流的目的。但是,在國內外網絡上傳播有利信息的同時,也會有不法分子利用其開源性、公共性等特點傳播不良信息,使一些是非辨別能力較弱的人受到嚴重影響,更有甚者會危害到國家的安全與社會的穩定發展。因此互聯網在加強人們溝通的同時,也需要更加穩定的過濾技術的加持。網絡信息過濾主要針對互聯網上信息魚龍混雜的問題,但它同樣也可以為解決信息化社會中人們想要自主設置信息獲取的途徑與內容等個性化定制需求提供一些新的思路。
2開發技術
插件。插件是一種遵循一定規范性應用程序接口編寫出來的程序,其只能運行在規定的應用平臺上,不可以脫離指定的應用平臺而單獨實現運行。其結構使應用程序編寫具有良好的擴充和定制功能。其中有三種插件系統的實現方法,其中最重要的是實現插件與主程序之間的交互,一般按照一些特定規則的DLL,主程序將內存中的所有地址接口傳遞給插件,插件根據傳遞的地址接口來調用插件接口,以此完成所需要的功能或資源等。插件的編程實現包括兩個方面:一方面是主程序的插件處理機制,管理每個插件接口并使每個插件進行初始化過程。另一方面是定義插件接口函數,將插件的所有接口函數進行封裝,以便開發者可以自由調用該接口函數。
3主要過濾技術
3.1關鍵詞過濾
關鍵詞過濾方法是對文本中的不良信息或包含在文本里的敏感詞匯進行提取并生成一個敏感詞詞庫。當用戶瀏覽新聞、小說等文本信息時,通過該過濾方法可以對文本內容與詞庫儲存的敏感詞進行分析比對。如果識別成功,那么敏感詞會修改成***。不過關鍵詞過濾技術的使用也包含一些缺點,比如對單個關鍵字進行過濾時并不能取得良好的效果;在不同語境上對文本語義的內容進行過濾可能會產生不準確的結果,過濾后文本的錯報率和漏報率將會上升;同時網絡上存在使用其他詞語、拼音或圖片形式等專門躲避敏感詞的技巧,因此很難識別出這些不良過濾信息。
3.2DFA算法
DFA算法即確定有窮自動機。一個DFA中有窮個狀態,主要分三種:初始狀態、終止狀態和中間狀態。其狀態間的轉換公式為:狀態×輸入字符—>狀態。定義一個DFA:A=(Σ,S,s0,F,N),其中Σ表示一個輸入字符的集合,S為狀態的集合,s0為初始狀態,F為終止集合,N為轉換公式:S×Σ→S。轉換樣例如圖1所示。從圖1可得出一個轉換公式表格如表1所示。
4算法實現
已知DFA的算法原理:包含一個有限狀態集合和從一個狀態通向另一個狀態的有窮性的邊,每條邊上標記一個符號,其中一個狀態是初態,其他某些狀態是終態。將原理轉化為邏輯實現如圖2所示。通過其代碼流程,如圖3所示進行舉例說明:將敏感詞“狗腿子”通過字典樹切割成一個個字:“狗”“腿”“子”。當文本出現“狗”字時,算法開始在字典樹中尋找,若存在該字則返回“狗”下面的子樹,反之則不是敏感詞。接著子樹程序開始匹配第二個字“腿”,若存在則返回“腿”下面的子樹,反之則不是敏感詞。以此類推。若isEnd=1,表明敏感詞搜索已經結束,檢測詞不是敏感詞。如圖4、圖5所示,分別采用10394057字節、4478244字節和36559837字節三組包含不定量的敏感詞的文章,分別記作為A、B、C組來進行敏感詞過濾測試實驗。從圖表中通過對DFA算法過濾方法與其他過濾方法進行的測試對比,從中發現DFA算法在替換耗時和精確度上都有顯著提升。
5插件設計
插件可以動態給軟件添加功能,也可以隨時刪除,這樣的優勢使任何人都可以給這個軟件進行功能上的擴展,而不用去改變軟件本身的代碼。本文以DFA算法為底層代碼做成jar包形式的插件來實現敏感詞過濾??紤]到用戶對敏感詞的需求不一致問題,有兩種方法可供選擇,一種是用戶個性化自定義敏感詞庫,另一種是使用本插件已提供的基礎敏感詞庫。開發插件時,在固定的插件目錄下存儲插件相關文件,以方便之后插件下載、存儲和部署問題。使用時,將jar包導入到需要的項目中,接著在電腦C盤根目錄下新建一個Sensitive⁃Word.txt敏感詞詞庫文件或將已提供好的敏感詞詞庫文件放在C盤根目錄下。在需要過濾文本的程序中創建Sensitiveword⁃Filter實例化對象filter,接著調用jar包中提供的接口,實現過濾方法Set<String>set=filter.getSensitiveWord(string,1),或Set<String>set=filter.getSensitiveWord(string,2)來達到過濾文本的目的。其中set存放的是文本中存在的敏感詞,程序運行完成后可直接在控制臺查看過濾信息;string為待要過濾的文本;1表示最小匹配規則;2表示最大匹配規則。完成文本過濾功能后,輸出文本中的敏感詞將會用***表示。
6結束語
隨著計算機科學和信息技術飛速發展,網絡方便了信息共享,推動社會進步。但通過網絡傳播不良信息仍是一個嚴重的臺建設也可顯著的提升學校的管理水平,通過將學校日常開展的工作逐步轉到線上流轉,采集業務流程辦理的全過程數據,如流程受理時間、流程辦理時間、師生評價、流程訪問數據等一系列數據,進行多維度的分析研判,以真實數據推動流程優化再造,促進管理改革。隨著一站式服務的深入應用,學校的管理水平必然得到提高。總之,“一網通辦”服務體系的建設,提升了高校信息化服務和應用的能力,加快實現從教育教學管理到教育教學治理的轉型,“一網通辦”的建設和應用是當前推進高校信息化建設和治理能力現代化面臨的重要任務。
參考文獻:
[1]陳琳,許林.新時代教育信息化2.0發展策略研究[J].中國電化教育,2021(1):96-101,127.
[2]李潤曄,倪楓,劉姜,等.基于面向服務業務流程管理的系統架構建模[J].上海理工大學學報,2019,41(6):605-616.
[3]冀翠萍.智慧校園業務應用融合的探索與實踐[J].現代教育技術,2018,28(1):66-72.
[4]鄭明釗,張建強.基于微服務的大平臺系統架構演進探討[J].軟件,2017,38(12):165-169.
[5]張穎.大數據背景下高校“一站式”服務模型的探索和實踐[J].計算機應用與軟件,2019,36(7):128-132.
作者:李應霆 葉傳奇 李玉進 尚嘉琳 肖洋洋 閆凱 單位:河南科技大學 軟件學院