基于Trie树的关键词匹配算法在电子政务领域的应用论文

基于Trie 树的关键词匹配算法在电子政务领域的应用

陈有伟,康 磊

(西安石油大学 计算机学院, 西安 710065 )

摘 要: 传统的行政管理方式随着互联网的高速发展,其效率低下的弊端已经逐渐显露。各级部门在依托互联网快速发展的基础上积极引进现代互联网技术,结合现有行政管理的基本方式形成了符合当代环境的电子政务行政管理方式。民生诉求是电子政务的一个重要组成部分,保障和妥善解决民生问题是职能部门的重要职责,是反映其办事效率的一个窗口。然而由于民生诉求涉及到的投诉信息范围广、数量多、情况错综复杂,这给职能部门快速处理民生诉求带来了挑战。本文通过在电子政务系统中引入基于Trie树的关键词匹配算法,对市民提交的信息进行分析、匹配,从而快速分派到相应部门处理、极大地提升了各部门处理事务的效率。

关键词: 电子政务;Trie树;模糊匹配;关键词匹配

1 国内外研究现状

随着经济社会的快速发展,民众的诉求呈现出多样化的趋势,涵盖着从医疗、就业、教育等大的方面,直至寻物、家政等小的方面在内的众多议题观点[1]。研究可知,信息匹配技术在电子政务系统中是处理民生诉求的一项核心技术。如今,信息匹配技术在世界各国都取得了长足进步,依靠国家力量的支持,以信息匹配技术为核心的应用系统也得以广泛的发展[2]。斯坦福大学的特克和郝克特开发了一种基于内容的关键词匹配系统SIFT(Standford Information Filtering T001)[3]。用户凭借这个系统,能够单独创建属于自己的词汇库,并通过使用相关关键字和空间模型来完成用户的诉求和网络信息内容间的相互匹配。美国国家安全局为了应对恐怖活动、军事威胁,建设了“Echelon”通信监视网络[4],可以通过卫星拦截大量包含个人信息的传真、电话和电子邮件等,Echelon也是一个通过关键字匹配来获取通信的电子通信系统[5-6]。在英国,一个专门收集情报机构“英国政府技术援助中心”,在英国政府的主导下也随之成立,这个援助中心可以获取进出英国网络的所有信息[7]

在国内,由于信息匹配技术和文本处理技术革新的相继问世,相关科研机构、高等院校以及公司,也设计了大量结合系统化技术的优秀产品[8]。例如中科天巩公司与中国科学院联合设计研发的“天机网络网页关键字监测系统”[9]。2009年1月国内首个网络关键字安全研究机构在北京交通大学成立,如今该机构正在全方位地推进网络关键字的产生、传播和导控等方向的研究以及网络舆论安全关键技术的研发[10]。北京大学方正技术研究院设计推出了“方正智思网页关键字预警辅助决策支持系统”[11],该系统依靠对网页中的离线数据的自动解析和预报,合理分析并规划网页关键字的监控内容,产生了一种具有生命周期特征的社情民意反馈系统[2]

随着国内外对于网络信息关键字的分析技术逐步成熟,关于信息匹配的软件产品得到了大量推广,国内电子政务领域的处理流程得到了部分改善。但是在处理专用信息上,关键词匹配技术还不够完善。特别是,对于市民提交的民生诉求信息的识别技术也仍表现出一定不足,难以满足智能化的要求,其准确率和时效性也有待提高,存在许多问题亟待解决。

由于消费者对再制造产品的支付意愿不可能大于对新产品的支付意愿,且消费者对再制造产品的支付意愿不可能为负,所以有0<(θ+β)/γ<1。

2 基于关键字的布尔模型匹配算法

布尔模型因为实现方式简单、匹配速度快、检索方式易于用户理解[12]等特点,在诸多领域得到了应用,成为了网站搜索引擎使用的首选方案。布尔模型是结合集合论和布尔代数思想的简单数学模型,这种模型把文本信息中的关键词从文本信息中提取出来,作为文本的特征值[13]。匹配过程也很简单,把匹配词用“与”、“或”、“非”进行连接就可以组成相应的正则表达式,而后利用正则表达式与模型关键词进行对比得出匹配到的内容是否存在于该文档中。

设文档d i (i =1,2,3,…,n )为文本集D =(d 1,d 2,…,d n )中任意一个文档,T i =(t 1,t 2,…,t m )为文档d i 标引词集,对于某检索,形如Q =W 1∧W 2∧…∧W n ,如果存在W 1∈T i ,W 2∈T i ,W i ∈T i ,则称文档d i 存在于检索结果当中,这里d i 为命中文档,反之d i 为不命中文档;对于检索形式为Q =W 1∨W 2∨…∨W n 的检索式,如若存在一个或多个W k ∈T i ,(k =1,2,…,n ),则d i 为命中文档,反之若不存在满足条件的W k ∈T i ,(k =1,2,…,n ),则d i 为不命中文档[14]

$val =>$node, // 使用PHP数组的hash结构,增加子节点的查找速率

先是糯米入锅加水煮,待煮熟后,从锅里捞出,入水,和匀,然后整个扣入捣臼里。江南的捣臼底子小口子大,越到下面越小,越大上面越大,呈现出锅形。就在这样的捣臼里,周财富每天需要拎起木木捶上下挥动,捣上个把小时,一直把糯米饭捣成很粘稠的糊状。当然,糊是稠的厚实的,将这个糊再进行揉搓敲打,使之成为麻糍,再进行切块,撒粉。撒粉的目的是使切块后的麻糍不会相互粘稠。最后在两片麻糍间洒上红糖,使之成为红糖夹心的麻糍。

正是由于民生诉求包含的社会信息十分复杂、庞大,为了能快速地处理这些信息,引入了一种高效的数据结构—Trie树。

(2)无法匹配重点结果。由于布尔模型匹配到的结果是一个大致的范围,对于数据量小的情况比较适用,但是对于在电子政务领域逐步增长的海量数据信息,布尔检索在处理能力上的不足就显得尤为突出。

(3)容易造成匹配结果的冗余。

孩子终究要长大的,秀容月明十五岁了。那天,刚下过雨,秀容月明去田里看豆子,他感觉鞋里有石子,硌脚,就倚在路边桑树上,把鞋脱下。

(4)因为布尔匹配的实现方式过于简单、往往不能完全反映出想要的结果。

(1)布尔模型对满足其前提条件的文档进行匹配时容易造成遗漏。由于布尔模型拥有严格的匹配规则,关键字的选取如果稍有偏差就有可能会被过滤,例如当使用“与”作为连接词进行匹配时,系统匹配仅仅只命中与匹配词一致的文档,但是那些和匹配词不一致、内容却一致的文档通常会被遗漏,所以如何选取合适的匹配词就变得十分困难[15]

3 基于Trie树的匹配算法

3.1 Trie树

Trie树也叫作字典树,是对一组词进行结构化处理后的组织[16]

其中,字典树对含有相同前缀的词进行压缩处理,使其所占用的空间得到了极大优化。同时由于将相同公共前缀的词放在了一起,则使得通过前缀进行匹配也变得十分迅速。研究中构建的一颗字典树即如图1所示。

图1 Trie树示意图
Fig. 1 Schematic of Trie tree

字典树通过从根节点到子节点的路径来表达一个词,图1中e ,f 节点为一个词的最后一个节点,也就是说图1字典树代表的单词有ade 、ad 、bd 、cbf 、cb 。字典树的根节点不表示任何字符。字典树不仅节省了存储空间,同时为模糊匹配技术的发展提供了坚实的基础。

在彻底排除了该车故障后,笔者再次使用试灯测试,作动电磁阀工作时,试灯不能点亮。连接专用诊断仪GDS2,依然读取到故障码P201000(进气歧管通路控制阀控制电路电压过高)。这是为什么呢?通过故障码可以看出,ECM诊断出控制点路上电压过高,设置了故障码,所以不再进行控制。测量试灯电阻为4Ω,远低于正常电磁阀的26Ω,这就导致ECM进行电磁阀电路诊断时,认为电路存在电阻过小的故障,从而设置了P201000 进气歧管通路控制阀控制电路电压过高的故障,不再进行输出控制。

3.2 构造基于中文的Trie树

11月21日,跨安纳托利亚天然气管道和跨亚得里亚海管道在土耳其和希腊边境的马里查河实现对接。据了解,这两个项目都是“南部天然气走廊”计划的重要组成部分。前者是“南部天然气走廊”计划中最长的部分,全长1850公里,2015年动工,今年6月开始供气。后者目前正在建设中,拟从希腊通过阿尔巴尼亚和亚得里亚海抵达意大利。预计2020年向欧洲国家供气。

首先,基于拆词的思想,利用正则表达式将关键词“教育局”拆分为教、育、局三个字。

比如,在向教育局投诉的信息中,根据教育局的相关关键词构建属于教育局的Trie树结构,以关键词“教育局”为例:

接着,检查根节点是否已经有字符“教”节点,如果已经有这个节点,依次重复检验并添加“育”、“局”两个节点。如果没有,则将“教”添加在根加点下。

最后,当插入了每个关键词时,在其末尾增加一个标志符,使用这个字符作为此关键词的结束标志(如图2中的灰色三角),利用这个字符来标记查找到了这个关键词。

英文Trie 树的结点是由26个英文字母组成的,所以英文Trie树的一个节点最多拥有26个子节点。但是中文却不一样,生活中常用的汉字就高达7 000多个,如果按照英文Trie树的构建法则来构建中文Trie树,将会极大地降低匹配的效率。因此如何构造基于中文的Trie树结构就有着至关重要的研究意义。

循环插入所有关键词。构造出的中文Trie树如图2所示。

图2 中文Trie树
Fig. 2 The Chinese Trie tree

3.3 利用中文Trie树解决中文匹配

以一则民生投诉为例:“我是X中初四学生家长,听孩子说上体育课跑操时老师大声骂学生,有时还用脚踢学生,学生真害怕,3、4班的。请求帮助。”利用图2已经构造好的中文Trie树来开始匹配。

首先,将投诉内容利用正则表达式拆成单个字符“我”、“是”、…;从根节点处查找第一个字符“我”,并没有查找到以“我”为首字符的关键词,然后继续移动字符指针,直到查找到符合条件的字符节点“学”;接着在“学”这个字符节点下查找字符节点值为“生”的节点,成功找到时计算子树的深度为2,关键词的长度是2,此时字符指针继续移动,如果发现结束标志,就意味着匹配成功,将匹配到的关键词返回,如果未碰到结束标志则继续向后移动指针结点寻找下一个字符。

循环遍历完毕,返回所有匹配到的关键词。

3.4 Trie树的数据结构设计

Trie树的数据结构设计采用PHP语言,结合了PHP数组的hash特性,代码如下:

Private $root = array(

‘depth’=>$depth,

// 深度,用来判断命中的字数

‘next’=> array(

根据选定的填充材料采购了三个厂家的焊条,分别为smc、山特维克、林肯,并对三种焊条的操作性能和焊缝成形做比较。经试验对比,smc厂家焊条焊接过程中电弧稳定,脱渣性能好,产生飞溅少,焊条过热受损量小,能够满足焊接需要。

采用日立S-3400N电镜扫描仪对煤样进行扫描,扫描前先用固定胶将煤样固定于载物台上,扫描前需要在表面喷金,镀膜厚度控制在5~10nm,加速电压0.5~30kV,调整试样的距离、扫描的衬度,照像观察。

布尔模型的优势表现在其匹配速度快、实现方式简单等方面,但是这种模型的不足也十分明显。对此可做阐释分析如下。

你会骑自行车吗?或者,你游泳得心应手吗?哈,啾啾先生是想向小朋友们提个问题:如果不去实践,能不能从书上学会骑车和游泳?或者,只听别人讲解,自己不去领悟和行动,会不会突然就会呢?

)

含平衡机约束条件的区间直流潮流模型与方法//鲁广明,严剑峰,丁涛,谢昶,李方兴,吕颖,毛学魁//(20):80

在冯阿姨家一年多的工作中,我认为自己可以胜任这些零碎的家务活了,想挑战自己换家客户试试,换个工作环境,提高自己的工作水平,当然也希望在工资待遇方面可以更高。几经考虑之后,我和阿姨商量,阿姨同意了我的请求,就这样我怀着不舍和对未来的期待离开了我的第一个客户家。在门店短暂休息后,我很快去了第二个客户家——一个三口之家。客户黄女士怀有身孕,我的工作是给他们做饭,打扫卫生,照顾孕妇,接送八岁的孩子上学。他们是山东人,喜欢吃面食,正好我擅长做面食,加上在冯阿姨家学到的做菜方法,这些工作对我来说得心应手。特别是她家的孩子很喜欢吃我做的土豆沙拉、 油饼、蛋卷。

)

4 实验结果及分析

实验环境为MacBook Pro(Retina,15-inch,Mid 2015),处理器为2.2 GHz Intel Core i7,内存16 GB 1600 MHz DDR3,使用PHP语言实现。实验中的给定文本内容来源于某市民心网1 000个市民提交的诉求问题。

将1 000个市民提交的问题内容分成4个小组,每组250篇,并计算其查全率、查准率以及所耗时间。基于Trie树结构的关键词匹配结果,见表1。

基于正则表达式的关键词匹配结果,见表2。

表1 基于Trie树的关键词匹配结果

Tab. 1 Key word matching results based on Trie

表2 基于正则表达式的关键词匹配结果

Tab. 2 Keyword matching results based on regular expressions

要应用在电子政务领域,至关重要的就是效率与准确率。通过以上实验结果可以发现,与在电子政务系统中单纯使用正则表达式相比,使用Trie树结构处理250条数据基本耗时在1 s左右,并且根据关键词匹配到的结果,将其分发到命中的部门,准确率基本都高达93%以上,明显改善了处理民生诉求问题的效率,符合电子政务领域的基本要求。

5 结束语

本文通过在电子政务系统中引入Trie树这种效率极高的数据结构结合正则表达式,极大地提高了匹配效率,使得职能部门在处理民众诉求时,能够及时将民众反映的相关问题分派到相应的部门去办理,优化部门办事效率,提升了民众对职能部门的工作满意度。

参考文献

[1] 麦范金, 李东普, 岳晓光. 基于双向匹配法和特征选择算法的中文分词技术研究[J].昆明理工大学学报(自然科学版),2011,36(1):47-51.

[2] 靳瑞敏. 网页关键字过滤研究及改进[D]. 呼和浩特:内蒙古大学,2012.

[3] http://zjnustdl.blogdriver.com/zjnustdl//1196699.html.

[4] 俞文洋,张连堂,段淑敏. KMP模式匹配算法的研究[J].郑州轻工业学院学报(自然科学版),2007,22(5):64-66.

[5] HARALICK R M. Statistical and structural approaches to texture[J] . Proceedings of the IEEE, 1979,67(5):786-804.

[6] TAMURA H, MORI S, YAMAWAKI T. Textural features corresponding to visual perception[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1978,8(6):460-473.

[7] CHEN Yixin, WANG J Z, KROVETZ R. Clue:Cluster-based retrieval of images by unsupervised learning[J]. IEEE Transactions on Image Processing: A Publication of the IEEE Signal Processing Society, 2005,14(8):1187-1201.

[8] FLECK M, FORSYTH D,BREGLER C. Finding naked people[C]// 1996 European Conference on Computer Vision. Berlin, Germany:Springer-Verlag, 1996,2:592-602.

[9] WU S, MANBER U. A fast algorithm for multi-pattern searching[R].Tucson:University of Arizona, 1994.

[10]SAGE D, NEUMANN F R, HEDIGER F,et al. Automatic tracking of individual particles:Application to the study of chromosome dynamics[J].IEEE Transactions on Image Processing, 2005,14(9):1372-1383.

[11]http://www.ekany.corn/wd998/cg/tutorialapter8/lesson8-6.html.

[12]李静.基于概念匹配度模型的文献检索系统[D].成都:西南交通大学,2009.

[13]段立娟,崔国勤,高文,等.多层次特定类型图像过滤方法[J].计算机辅助设计与图形学学报,2002,14(5): 404-409.

[14]范晓,申铱京.基于IE浏览器的色情图片过滤器「J].吉林大学学报(信息科学版),2004,22(6): 631-637.

[15]冯军红,刘桂林,高立新,等.基于小样本训练集的肤色模型建立方法「J].计算机工程与应用,2003(28):67-71.

[16]赵晓晖.基于内容的敏感图片过滤技术的研究及其在IE浏览器中的实现[D].长春:吉林大学,2005.

Application of keyword matching algorithm based on Trie tree in e -government

CHEN Youwei, KANG Lei

(School of Computer Science, Xi'an Shiyou University, Xi'an 710065, China)

Abstract 】With the rapid development of the Internet, the dilemma of the low efficiency of traditional administrative management methods has gradually emerged. On the basis of the rapid development of the Internet, departments at all levels actively introduce modern Internet technologies, and in combination with the basic methods of government administration, form an e-government administrative approach that conforms to the contemporary environment. People's livelihood appeal is an important part of e-government. Safeguarding and properly solving people's livelihood issues is an important duty of the department and a window reflecting the efficiency of department affairs. However, due to the wide range of complaints and the large number of complaints involved in the people's livelihood appeals, this has brought challenges to the department's rapid handling of people's livelihood demands. This paper introduces Trie tree based on keyword matching algorithm in the e-government system to analyze the information submitted by the citizens, and then quickly dispatch them to the corresponding departments for processing, which greatly increases the efficiency of the department's handling of affairs.

Key words 】e-government; Trie tree; fuzzy matching; keyword matching

文章编号: 2095-2163(2019)05-0167-04

中图分类号: TP301.6

文献标志码: A

作者简介: 陈有伟(1994-),男,硕士研究生,主要研究方向:计算机系统结构、管理信息系统; 康 磊(1968-),女,副教授,主要研究方向:嵌入式系统、计算机体系结构。

收稿日期: 2019-06-03

标签:;  ;  ;  ;  ;  

基于Trie树的关键词匹配算法在电子政务领域的应用论文
下载Doc文档

猜你喜欢