网络信息过滤插件研究

时间:2022-12-13 09:07:08

网络信息过滤插件研究

摘要:随着互联网时代的发展,伴随着信息服务技术的不断迭代,由网络技术产生的相关应用逐步受到诸多行业的青睐,为了使上网更加方便快捷,越来越多的用户放弃传统的应用程序而选择安装相应插件,用以简化电脑环境。该文设计了一个过滤插件,该插件主要通过DFA过滤算法,实现了在网页中对含有敏感词汇的过滤。结果表明,与其他过滤算法相比,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.

作者:李应霆 叶传奇 李玉进 尚嘉琳 肖洋洋 闫凯 单位:河南科技大学 软件学院