• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于DFA,算法的政务云敏感词汇监测系统实现*

    时间:2022-11-15 12:10:04 来源:雅意学习网 本文已影响 雅意学习网手机站

    周永福,曾 志,黄日胜

    (1.河源职业技术学院电信学院,广东 河源 517000;
    2.惠州学院计算机科学与工程学院,广东 惠州 516007)

    政务云网站是政府信息发布、政务公开、政民互动的重要平台,“错别字”现象屡见不鲜,严重损坏了党和政府的形象。根据权威机构统计,目前中国网站平均存在错别字在5 000 个以上,错别字发生率为0.08%以上,而且随着OCR 设备大量装备和发稿量的激增,网站错别字发生率将呈快速增长趋势,因此对政府网站或者其他网站进行错别字和敏感信息检测是很有必要的。自2015 年中国政府网第一次普查以来,决定将敏感词汇的考核即严重错别字列入“严重错误”的指标,重点清除政务云系统网站中存在的损害政府形象、造成不良影响的敏感词,引导各级政府宣传部门增强责任意识,实时监测完善网站信息内容的检查与纠错机制。

    监测系统出现后,网站信息发布前不用人工进行内容的审核,相比于人工审核,监测系统的检测效率是人工的几千甚至上万倍,大大减轻了工作人员的工作量。使用者可自定义敏感词或者错别字,提高了监测的灵活性。在这个信息化的时代,监测系统能更好监测网站信息,从而为政府树立更良好的形象。

    随着敏感词汇检测技术的进一步发展,国内外相关研究机构与组织也相继推出了一些原型系统和产品,如中科天巩公司研发的天机网络网页关键字监测系统、北京理工大学研发的网络网页关键字分析与预警平台、上海交通大学信息安全工程学院的网络媒体内容监管系统,均取得了良好的效果。到目前为止,可实现Web 服务监测、网络爬取、多媒体检索等的相关技术有很多,如使用Java、Python 语言,采用Contains、正则表达式实现的过滤技术,其检索效率也不尽相同,系统的性能也略有不同。

    鉴于此,本文借鉴DFA 算法快速构建搜索树在检索方面的优势,探讨一种辅以DFA 算法的政务云平台敏感词汇的动态自动监测系统,最终完成一种针对媒体纠错与屏蔽功能的提升自动检测效率的系统平台。

    2.1 系统检测过程

    通常文本检测的方法有在线输入文本过滤、提交文本进行检测、输入URL 检测网站3 种。以URL 检测为例,用户输入被检测URL 网址后,Web 端将URL为参数使用GET 方法发送请求给服务端,服务端处理请求。服务端拿到URL,向指定Web 服务器发起请求,服务端返回一个HTML 文件,再调用过滤器将HTML文件过滤,敏感词和错别字均用*代替。若是第一次处理请求,则会先创建敏感词搜索树,服务端处理相应的在线文本过滤请求并向下调用过滤器接口,将敏感词用字符“*”代替并且将结果返回给前端,具体过程如图1 所示。

    图1 URL 敏感词检测流程图

    2.2 DFA 算法描述

    DFA 即确定有穷自动机,其算法思路是从一个状态输入一个字符集合能到达下一个确定的状态。DFA原理用例如图2 所示。如图2(a)所示,状态S 读入字符a 状态转换为U,即S→a→U,确定的含义是状态以及引起状态转换的事件都是可以确定的,不存在“意外”。有穷的含义是状态以及事件的数量都是可以穷举的。

    文字过滤器是整个系统最核心的部分,它主要提供了过滤敏感词错别字,过滤HTML 标签、SQL 语句、中文及<script>标签的功能,添加和删除敏感词错别字。以上功能均要为上层服务提供接口。最核心的功能是过滤敏感词错别字,它主要通过DFA 算法构建搜索树,从而达到高效的字符串检索效果。

    DFA 算法用例分析如图2(b)所示。“0”状态表示开始状态,当输入“中国人”时候,状态由开始“0”转到“1”到“2”最后到达最终状态“3”。当输入“中华人民”时候,状态由开始“0”到“1”到“4”到“5”达到最终状态“6”,这也就是DFA 算法确定和有穷的含义。

    图2 DFA 原理用例图

    DFA 算法用于匹配敏感词再合适不过。现给定DFA 搜索树数据结构,所有的开始节点用HaspMap 数据结构保存。将词库中的词全部取出,针对每一个词采用循环,依据语句按序建立多颗搜索树,DFA 搜索树构建完成,即可匹配字符了。根据句子的头结点与搜索树进行匹配,直到子节点为Null 即算法停止。DFA 匹配与识别算法如图3 所示。

    图3 DFA 匹配与识别算法

    为实现实时自动监测,设计了基于B/S 架构的政务云敏感词错别字监测系统。采用目前比较流行的前后端分离的方式进行开发。Web 页面端采用VUE+Element UⅠ进行设计,前期可以使用静态数据查看完成效果,待服务端的接口完成再请求相应的数据即可,是整个系统最简单的步骤。服务端的设计采用的是Spring Boot 开源框架。整个服务端又包括业务处理层、核心过滤层、数据层。业务处理层主要处理前端页面发送过来的请求。核心过滤层是整个系统最核心的层面。核心过滤层将实现数据的过滤任务并且向业务层提供过滤的接口,核心过滤层采用的算法是DFA 算法,通过DFA 算法构建搜索树,达到快速检索的目的。数据层是和数据库对接的层面,过滤层通过数据层中提供的接口将数据库中的敏感词取出,同时数据层也向业务层提供增删改查的接口,数据层采用JPA 持久层框架对数据库进行操作。具体架构如图4所示。

    图4 软件框架设计图

    要实现敏感词汇的自动监测,必须关注词库的生成、词汇的搜索技术、自动监测、记录网址日志等几大功能。为此,需进一步验证DFA 算法的可用性与有效性,定义并实现了DFA 搜索树结构、搜索树构建算法、词汇匹配算法。

    用户通过搜索栏输入网站的URL,该URL 作为参数传输给服务端,服务端代替用户请求与URL 对应的网站,网站则会返回一个HTML 文件,HTML 文件经过过滤之后,返回给Web 端的内嵌浏览器(内嵌浏览器的默认SRC 为“https://www.baidu.com/”)。浏览器解析过滤后的HTML 文件,敏感词用*代替。用户人工审核将结果进行存储,之所以需要人工存储是因为敏感词具有一定的时效性,所以需要再进一步进行人工审核。运行效果如图5 所示。

    图5 输入URL 检测指定网站效果图

    用户可以根据自己的需要添加敏感词到词库中,若敏感词已存在则会提示该词已存在,插入失败。若所插入词不重复则将输入词作为参数向服务器发送GET 请求,服务器收到请求后,调用数据库接口,将词存入数据库,存储成功后返回“succeed”并调用reinit方法重新构造DFA 搜索树。若插入失败则返回“faild”,如图6 所示。

    图6 自定义敏感词入库

    自动监测功能是本系统最主要的功能,用户可以根据需要设置监测周期(10 s、30 s、1 min、1 h、12 h、24 h),基于Java 的定时框架完成。用户点击监测网站页面再点击开始爬取,客户端则向服务端发送启动爬虫请求,服务器收到请求后,启动爬虫,爬虫程序爬取新闻网站的新闻的URL,并将URL 以及当前时间存入数据库。爬虫程序运行结束后,用户页面重新加载。客户端再次向服务端发起查询所有监测网站的请求,服务端调用数据库接口返回查询监测网站的数据。系统一旦开始监测,向服务器发送请求,服务端启动WebSocket 与客户端建立通道连接,定时向客户端推送监测结果(前期为了方便测试默认是10 s 监测1 次)同时生成日志将日志存储在数据库中。客户端拿到监测结果,以时间线的形式展示给用户,如图7 所示。用户若需要进一步审核,找到对应的URL 点击查看,页面跳转到检测指定URL 页面,点击搜索按钮,网页的具体内容则会呈现给用户,用户根据自己的判断再次判定是否含有敏感信息,将结果存入数据库。用户可以手动停止某个页面的检测,只需要点击停止监测即可。

    图7 监测结果图

    使用JConsole 可视化工具对Web 端进程进行监控,观察程序的内存消耗情况、CPU 占用率,如图8所示。此外还可以通过BadBoy 录制脚本,导入JMeter对Web 进行性能测试。

    图8 系统运行内存损耗与CPU 占用率

    本文详细阐述了政务云敏感词检测系统的设计与实现,整个开发过程完全按照软件开发的流程。重点探讨了敏感词检测的DFA 算法构建DFA 搜索树的过程。系统采用了Spring Boot+VUE 的前后端分离的方式加以实现,以及使用WebSocket 与客户端建立连接并推送消息机制,借助Spring Boot 的Scheduling 框架完成服务器主动向客户端发送消息实现定时检测。考虑到政务云平台的页面多少不同,采用Python 实现的爬虫技术时间与DFA 算法的时间性能也不同,总体上效率不相上下,下一步可以探讨多种算法对于提升效率的影响。

    猜你喜欢 服务端错别字客户端 ——稳就业、惠民生,“数”读十年成绩单">“人民网+客户端”推出数据新闻
    ——稳就业、惠民生,“数”读十年成绩单人民周刊(2022年17期)2022-10-21旅途中的那些错别字作文大王·笑话大王(2018年4期)2018-05-21多人联机对战游戏的设计与实现电脑知识与技术(2017年34期)2018-01-09基于三层结构下机房管理系统的实现分析智富时代(2017年10期)2017-11-22基于三层结构下机房管理系统的实现分析智富时代(2017年10期)2017-11-22虚拟专用网络访问保护机制研究科学与财富(2017年23期)2017-09-24新闻客户端差异化发展策略中国广播(2017年4期)2017-05-15高考作文常见错别字大全课堂内外·创新作文高中版(2016年7期)2016-08-19错别字先生小天使·二年级语数英综合(2016年5期)2016-05-13浅析IEEE 802.1x及其客户端软件活力(2009年25期)2009-06-02

    推荐访问:算法 政务 词汇

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章