基于双数组字典树的模板匹配方法及系统技术方案

技术编号:32858846 阅读:56 留言:0更新日期:2022-03-30 19:34
本发明专利技术公开了基于双数组字典树的模板匹配方法及系统,属于模板匹配技术领域,要解决的技术问题为如何基于双数组Trie树实现大量模板的快速匹配。包括如下步骤:将历史输入文本作为目标文本,进行预处理,得到包括词和词性的输入序列;基于词、词性和特殊字符设计模板,并配置模板匹配规则;将设计的模板作为字典项构建DAT字典树,所述DAT字典树通过两个数组实现,分别为转移函数数组和验证数组;对于待检测输入文本作为目标文本,对进行预处理,得到包括词和词性的输入序列作为代检索输入序列;基于DAT字典树的检索规则以及模板匹配规则对所述待检索输入序列进行模板匹配。规则对所述待检索输入序列进行模板匹配。规则对所述待检索输入序列进行模板匹配。

【技术实现步骤摘要】
基于双数组字典树的模板匹配方法及系统


[0001]本专利技术涉及模板匹配
,具体地说是基于双数组字典树的模板匹配方法及系统。

技术介绍

[0002]随着计算机技术的不断发展和信息化程度的不断提高,社会进入了万物互联、智能化的时代。模板匹配是一种常见的方法,在众多领域有着广泛的应用,其可以用于知识抽取、搜索意图识别、聊天机器人等
,对大量的模板进行高效快速的匹配可以有效提高这些技术的性能和准确性,对于智能化技术的进步有较大的意义。双数组Trie树(DoubleArray Tree DAT)是一种Trie字典树的高效实现,具有高效率、节省空间的特点,可以用于字符串的快速检索。
[0003]如何基于双数组Trie树实现大量模板的快速匹配,并提高性能,是需要解决的技术问题。

技术实现思路

[0004]本专利技术的技术任务是针对以上不足,提供基于双数组字典树的模板匹配方法及系统,来解决如何基于双数组Trie树实现大量模板的快速匹配,并提高性能的技术问题。
[0005]第一方面,本专利技术的基于双数组字典树的模板匹配方法,将每个模板作为一个字典项构建DAT树,基于DAT树的检索方法进行模板匹配,所述方法包括如下步骤:
[0006]将历史输入文本作为目标文本,对所述目标文本进行预处理,得到包括词和词性的输入序列;
[0007]基于词、词性和特殊字符设计模板,并配置模板匹配规则;
[0008]将设计的模板作为字典项构建DAT字典树,所述DAT字典树等同于一个自动机,状态为树节点的编号,边为字符,所述DAT字典树通过两个数组实现,分别为转移函数数组和验证数组,所述转移函数表示一个状态可以按字符c转移到另一个状态,所述验证数组用于验证转移的有效性;
[0009]对于待检测输入文本作为目标文本,对所述目标文本进行预处理,得到包括词和词性的输入序列作为代检索输入序列;
[0010]基于DAT字典树的检索规则以及模板匹配规则对所述待检索输入序列进行模板匹配。
[0011]作为优选,通过NLP工具对目标文本进行预处理,包括进行分词和词性标注处理,得到包括词和词性的输入序列。
[0012]作为优选,所述特殊字符为通配符和标记符,包括*和#;
[0013]所述模板匹配规则包括:当模板遇到*时,能够进行如下两种操作:跳过当前词,从下个词继续匹配;不跳过当前词,继续匹配;匹配完成后,输出所有的匹配模板以及匹配模板中模板元素和输入序列的映射;
[0014]所述模板元素为词、词性和特殊字符。
[0015]作为优选,转移函数数组和验证数组满足如下转移方程:
[0016]base[r]+c=s
[0017]check[s]=r
[0018]其中,c为字符的整数编码值
[0019]转移函数g(r,c)=s表示状态r可以按字符c转移到状态s,check数组表示验证数组。
[0020]作为优选,基于DAT字典树的检索规则对所述待检索输入序列进行模板匹配,包括如下步骤:
[0021]步骤1、对输入序列逐个字符代入转移方程中的c,进行状态转移并校验;
[0022]步骤2、校验成功则说明字符匹配成功,将步骤1计算得到的状态s赋值给r,并读取下一个字符代入c,执行步骤2,如果校验失败说明没有匹配模板,结束;
[0023]步骤3、所有字符均读取完毕,匹配成功,输出匹配的模板。
[0024]第二方面,本专利技术的基于双数组字典树的模板匹配系统,用于执行如第一方面1

5任一项所述的基于双数组字典树的模板匹配方法,所述系统包括:
[0025]预处理模块,所述预处理模块用于分别将历史输入文本和待检索文本作为目标文本进行预处理,得到包括词和词性的输入序列
[0026]模板设计模块,所述模板设计模块用于基于词、词性和特殊字符设计模板,并配置模板匹配规则;
[0027]字典树构建模块,所述字典树构建模块用于将设计的模板作为字典项构建DAT字典树,所述DAT字典树等同于一个自动机,状态为树节点的编号,边为字符,所述DAT字典树通过两个数组实现,分别为转移函数数组和验证数组,所述转移函数表示一个状态可以按字符c转移到另一个状态,所述验证数组用于验证转移的有效性;
[0028]模板匹配模块,所述模板匹配模块用于基于DAT字典树的检索规则以及模板匹配规则对所述待检索输入序列进行模板匹配。
[0029]作为优选,所述预处理模块用于通过NLP工具对目标文本进行预处理,包括进行分词和词性标注处理,得到包括词和词性的输入序列。
[0030]作为优选,所述特殊字符为通配符和标记符,包括*和#;
[0031]所述模板匹配规则包括:当模板遇到*时,能够进行如下两种操作:跳过当前词,从下个词继续匹配;不跳过当前词,继续匹配;匹配完成后,输出所有的匹配模板以及匹配模板中模板元素和输入序列的映射;
[0032]所述模板元素为词、词性和特殊字符。
[0033]作为优选,转移函数数组和验证数组满足如下转移方程:
[0034]base[r]+c=s
[0035]check[s]=r
[0036]其中,c为字符的整数编码值
[0037]转移函数g(r,c)=s表示状态r可以按字符c转移到状态s,check数组表示验证数组。
[0038]作为优选,所述匹配模块用于通过如下步骤基于DAT字典树的检索规则对所述待
检索输入序列进行模板匹配:
[0039]步骤1、对输入序列逐个字符代入转移方程中的c,进行状态转移并校验;
[0040]步骤2、校验成功则说明字符匹配成功,将步骤1计算得到的状态s赋值给r,并读取下一个字符代入c,执行步骤2,如果校验失败说明没有匹配模板,结束;
[0041]步骤3、所有字符均读取完毕,匹配成功,输出匹配的模板。
[0042]本专利技术的基于双数组字典树的模板匹配方法及系统具有以下优点:
[0043]1、基于DAT树检索快、占用空间小的特点,通过双数组Trie树的检索规则和可配置的模板匹配规则,实现了大量模板的灵活快速匹配;
[0044]2、在模板中添加通配符、标记符等特殊字符,在利用双数组Trie树进行检索时,进行针对处理,可以提高模板的灵活性和准确性。
附图说明
[0045]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046]下面结合附图对本专利技术进一步说明。
[0047]图1为实施例1基于双数组字典树的模板匹配方法的流程框图。
具体实施方式
[0048]下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于双数组字典树的模板匹配方法,其特征在于将每个模板作为一个字典项构建DAT树,基于DAT树的检索方法进行模板匹配,所述方法包括如下步骤:将历史输入文本作为目标文本,对所述目标文本进行预处理,得到包括词和词性的输入序列;基于词、词性和特殊字符设计模板,并配置模板匹配规则;将设计的模板作为字典项构建DAT字典树,所述DAT字典树等同于一个自动机,状态为树节点的编号,边为字符,所述DAT字典树通过两个数组实现,分别为转移函数数组和验证数组,所述转移函数表示一个状态可以按字符c转移到另一个状态,所述验证数组用于验证转移的有效性;对于待检测输入文本作为目标文本,对所述目标文本进行预处理,得到包括词和词性的输入序列作为代检索输入序列;基于DAT字典树的检索规则以及模板匹配规则对所述待检索输入序列进行模板匹配。2.根据权利要求1所述的基于双数组字典树的模板匹配方法,其特征在于通过NLP工具对目标文本进行预处理,包括进行分词和词性标注处理,得到包括词和词性的输入序列。3.根据权利要求1所述的基于双数组字典树的模板匹配方法,其特征在于所述特殊字符为通配符和标记符,包括*和#;所述模板匹配规则包括:当模板遇到*时,能够进行如下两种操作:跳过当前词,从下个词继续匹配;不跳过当前词,继续匹配;匹配完成后,输出所有的匹配模板以及匹配模板中模板元素和输入序列的映射;所述模板元素为词、词性和特殊字符。4.根据权利要求1所述的基于双数组字典树的模板匹配方法,其特征在于转移函数数组和验证数组满足如下转移方程:base[r]+c=scheck[s]=r其中,c为字符的整数编码值转移函数g(r,c)=s表示状态r可以按字符c转移到状态s,check数组表示验证数组。5.根据权利要求4所述的基于双数组字典树的模板匹配方法,其特征在于基于DAT字典树的检索规则对所述待检索输入序列进行模板匹配,包括如下步骤:步骤1、对输入序列逐个字符代入转移方程中的c,进行状态转移并校验;步骤2、校验成功则说明字符匹配成功,将步骤1计算得到的状态s赋值给r,并读取下一个字符代入c,执行步骤2,如果校验失败说明没有匹配模板,结束;步骤3、所有字符均读取完毕,匹配成功,输出匹配的模板。6.基于双数组字典树的模板匹配系统,其特征在于用于执...

【专利技术属性】
技术研发人员:陈晏鹏夏华崔盛雅
申请(专利权)人:浪潮软件科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1