[发明专利]一种基于关键词字典树构造的中文AC自动机工作方法有效
| 申请号: | 201510515497.5 | 申请日: | 2015-08-20 | 
| 公开(公告)号: | CN105260354B | 公开(公告)日: | 2018-08-21 | 
| 发明(设计)人: | 司冰 | 申请(专利权)人: | 及时标讯网络信息技术(北京)有限公司 | 
| 主分类号: | G06F17/27 | 分类号: | G06F17/27 | 
| 代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 李阳 | 
| 地址: | 100083 北京市海*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 关键词 字典 构造 中文 ac 自动机 工作 方法 | ||
本发明公开了一种基于关键词字典树构造的中文AC自动机工作方法,包括:获取所有关键词,将所有关键词编码,并将所有关键词按其关键词编码的字符顺序排列;建立字典树,并将所有关键词按字符排列顺序加入字典树中;为字典树中的每个非虚根节点加入前缀指针;为字典树中的每个非虚根节点加入失败指针;获取待检测文章,根据包括前缀指针与错误指针的字典树在待检测文章中查询并记录下所有的关键词。本发明通过将关键词按顺序排列加入字典树中的技术方案,有效地将具有相同前缀的关键词排布在字典树中相邻的位置,使得节点对查询其子节点所在位置的信息量被大幅度压缩,降低了中文AC自动机的工作占用空间。
技术领域
本发明涉及信息技术领域,特别地,涉及一种基于关键词字典树构造的中文AC自动机工作方法。
背景技术
AC自动机(Aho-Corasick automaton)是一种著名的多模匹配方法,用于在文章当中检索多个关键词出现的次数。传统的AC自动机只能识别26个英文字母,现有技术则将传统的AC自动机工作原理套用到了中文文章中,但这种方案下中文AC自动机工作的空间复杂度过高,缺乏实际应用价值。
针对现有技术中中文AC自动机工作的空间复杂度过高的问题,目前尚未有有效的解决方案。
发明内容
针对现有技术中系统结构识别与优化方法抑或主观片面、计算能力差,抑或耗时费力、仿真精度低的问题,本发明的目的在于提出一种基于关键词字典树构造的中文AC自动机工作方法,能够用降低中文AC自动机工作时需要的空间复杂度,压缩了中文AC自动机的工作占用空间。
基于上述目的,本发明提供的技术方案如下:
根据本发明的一个方面,提供了一种基于关键词字典树构造的中文AC自动机工作方法,包括:
获取所有关键词,将所有关键词编码,并将所有关键词按其关键词编码的字符顺序排列;
建立字典树,并将所有关键词按字符排列顺序加入字典树中;
为字典树中的每个非虚根节点加入前缀指针;
为字典树中的每个非虚根节点加入失败指针;
获取待检测文章,根据包括前缀指针与错误指针的字典树在待检测文章中查询并记录下所有的关键词。
其中,将所有关键词编码,为将所有关键词按照指定的汉字编码方式以数字组合的形式表示;将所有关键词按其关键词编码的字符顺序排列,为将所有关键词按其编码后每个字符所对应数字的大小顺序对所有关键词进行排列。
并且,数字组合为十六进制数字的数字组合;指定的汉字编码方式为GB2312、GBK、BIG5、UTF-8中的一种。
同时,建立字典树为指定一虚根,并根据虚根建立字典树。
并且,将所有关键词按字符排列顺序加入字典树中包括:
根据字符排列顺序依次指定每个关键词;
为被指定的关键词建立一个树枝,并为被指定的关键词编码的每一位在树枝上建立一个节点,每一位都是其前一位的子节点,每一位都是其后一位的父节点,父子节点在树枝上相邻;
从虚根开始,将指定的关键词的树枝与现有字典树上字符相同的节点合并,直到出现不同的节点为止;
依次指定每个关键词直到所有关键词均加入字典树中。
并且,包括:
为被指定的关键词编码的每一位在树枝上建立一个节点,为最后一位建立一个终止节点,为最后一位之外的每一个其他位建立一个内部节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于及时标讯网络信息技术(北京)有限公司,未经及时标讯网络信息技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510515497.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:终端信息的处理方法和装置
 - 下一篇:仲裁和多路复用电路系统
 





