一种字符串匹配方法、设备及计算机存储介质组成比例

技术编号:22688962 阅读:24 留言:0更新日期:2019-11-30 03:35
本发明专利技术实施例公开了一种字符串匹配方法、设备及计算机存储介质,所述方法包括:获取目标字符串词典;根据所述目标字符串词典构建索引信息,所述索引信息包括目标字符串词典中的字符串条件属性;根据所述索引信息构建多模式匹配字典树。本发明专利技术实施例实现了带条件的字符串模式匹配,有效提高了组合字符串的匹配效率。

A string matching method, device and computer storage medium

The embodiment of the invention discloses a string matching method, a device and a computer storage medium, the method includes: obtaining a target string dictionary; constructing index information according to the target string dictionary, the index information includes the string condition attribute in the target string dictionary; constructing a multi pattern matching dictionary tree according to the index information. The embodiment of the invention realizes string pattern matching with conditions and effectively improves the matching efficiency of combined strings.

【技术实现步骤摘要】
一种字符串匹配方法、设备及计算机存储介质
本专利技术涉及数据处理
,尤其涉及一种字符串匹配方法、设备及计算机存储介质。
技术介绍
随着信息技术的不断发展,机器在人们的日常生活中发挥着越来越重要的作用,因此,机器功能设计中,用于与人类沟通的对话系统功能显得尤为重要。对话系统中通常包括有各种关键词查询模块,用于进行多模式字符串匹配,比如查找一段文字匹配上了字典中哪些短语,可用于如反垃圾任务中的敏感词查询。现有的匹配方法一种基于哈希映射(hashmap),但其空间和时间复杂度与词典大小正相关;另外一种实现方法是字典树,在空间和时间效率上有较大提升。但对于多个目标字符串,这些已有方案都需要查询多次;并且都不能支持带条件的目标字符串模式匹配,比如要查询A和B出现,但C或D未出现的情况,目前无法在一次查询中完成。
技术实现思路
本专利技术实施例为了有效克服现有技术所存在的上述缺陷,创造性地提供一种字符串匹配方法,所述方法包括:获取目标字符串词典;根据所述目标字符串词典构建索引信息,所述索引信息包括目标字符串词典中的字符串条件属性;根据所述索引信息构建多模式匹配字典树。在一可实施方式中,所述根据所述目标字符串词典构建索引信息,包括:根据所述目标字符串词典中目标字符串之间的条件属性进行排序去重,得到去重后的单目标字符串和组合目标字符串,所述条件属性包括与、或及非三种;根据所述去重后的单目标字符串和组合目标字符串建立倒排索引,得到索引信息;所述索引信息包括每个单目标字符串在对应组合目标字符串中的条件属性。在一可实施方式中,所述多模式匹配字典树为AC自动机(Aho-Corasickautomaton)和双数组字典树结合的字典树。在一可实施方式中,所述根据所述索引信息构建多模式匹配字典树包括:获取对应于所述单目标字符串的场景属性;根据所述索引信息和所述单目标字符串的场景属性构建AC自动机和双数组字典树结合的字典树。在一可实施方式中,所述方法还包括:获取查询字符串;根据所述查询字符串对所述多模式匹配字典树进行匹配,得到多个匹配字符串;根据所述多个匹配字符串从所述索引信息中进行筛选,得到匹配目标字符串,所述匹配目标字符串的条件属性与所述查询字符串的条件属性相同。在一可实施方式中,所述根据所述多个匹配字符串从所述索引信息中进行筛选,得到匹配目标字符串包括:设置大小与所述索引信息中所有单字符串的数量一致的位图;将所述多个匹配字符串在所述位图上的相应位置标记为真值;根据所述多个匹配字符串的属性获取对应于每一个所述匹配字符串的所有字符串;将所述对应于每一个所述匹配字符串的所有字符串中符合在所述位图上的相应位置全部标记有真值的字符串确定为匹配目标字符串。本专利技术实施例另一方面提供一种字符串匹配设备,包括:数据获取模块,用于获取目标字符串词典;数据处理模块,用于根据所述目标字符串词典构建索引信息,所述索引信息包括目标字符串词典中的字符串条件属性;所述数据处理模块还用于,根据所述索引信息构建多模式匹配字典树。在一可实施方式中,所述数据处理模块还用于,根据所述目标字符串词典中目标字符串之间的条件属性进行排序去重,得到去重后的单目标字符串和组合目标字符串,所述条件属性包括与、或及非三种;所述数据处理模块还用于,根据所述去重后的单目标字符串和组合目标字符串建立倒排索引,得到索引信息,所述索引信息包括每个单目标字符串在对应组合目标字符串中的条件属性。在一可实施方式中,所述多模式匹配字典树为AC自动机和双数组字典树结合的字典树。本专利技术实施例另一方面提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可执行指令,当所述指令被执行时用于执行上述中任一项所述的字符串匹配方法。本专利技术实施例提供的字符串匹配方法、设备及计算机存储介质,通过构建带有字符串条件属性的索引信息,再利用根据此索引信息构建的多模式匹配字典树对查询字符串进行匹配,得到匹配字符串,最后再基于得到的匹配字符串从索引信息中筛选得到条件属性与查询字符串的条件属性相同的匹配组合字符串,实现了带条件的字符串模式匹配,有效提高了组合字符串的匹配效率。附图说明通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:在附图中,相同或对应的标号表示相同或对应的部分。图1为本专利技术一实施例所提供的一种字符串匹配方法的一种实现流程示意图;图2为本专利技术一实施例所提供的一种字符串匹配方法的另一种实现流程示意图;图3为本专利技术一实施例所提供的一种字符串匹配方法的一种具体实现流程示意图;图4为本专利技术一实施例所提供的一种字符串匹配设备的一种组成结构图。具体实施方式为使本专利技术的目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本专利技术的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书中的一些方面相一致的方法、装置或设备的例子。如前述,在相关技术中可以采用预设的匹配算法来提高字符串匹配的效率,如可采用Aho–Corasickautomaton算法(AC自动机算法)、Boyer-Moore算法(博伊尔-摩尔算法)或其他算法等。请参考图1,本专利技术实施例一方面提供一种字符串匹配方法,方法包括:步骤101,获取目标字符串词典;步骤102,根据目标字符串词典构建索引信息,索引信息包括目标字符串词典中的字符串条件属性;步骤103,根据索引信息构建多模式匹配字典树。本专利技术实施例中提供的字符串匹配方法可以应用于客户端或服务器,其中客户端包括如台式机、移动手机、甚至应用软件客户端,本专利技术实施例在此不对方法所应用的客户端的具体形式进行限制。本专利技术实施例中的服务器本文档来自技高网...

【技术保护点】
1.一种字符串匹配方法,其特征在于,所述方法包括:/n获取目标字符串词典;/n根据所述目标字符串词典构建索引信息,所述索引信息包括目标字符串词典中的字符串条件属性;/n根据所述索引信息构建多模式匹配字典树。/n

【技术特征摘要】
1.一种字符串匹配方法,其特征在于,所述方法包括:
获取目标字符串词典;
根据所述目标字符串词典构建索引信息,所述索引信息包括目标字符串词典中的字符串条件属性;
根据所述索引信息构建多模式匹配字典树。


2.根据权利要求1所述的方法,其特征在于,所述根据所述目标字符串词典构建索引信息,包括:
根据所述目标字符串词典中目标字符串之间的条件属性进行排序去重,得到去重后的单目标字符串和组合目标字符串,所述条件属性包括与、或及非三种;
根据所述去重后的单目标字符串和组合目标字符串建立倒排索引,得到索引信息,所述索引信息包括每个单目标字符串在对应组合目标字符串中的条件属性。


3.根据权利要求1或2所述的方法,其特征在于,所述多模式匹配字典树为AC自动机和双数组字典树结合的字典树。


4.根据权利要求3所述的方法,其特征在于,所述根据所述索引信息构建多模式匹配字典树包括:
获取对应于所述单目标字符串的场景属性;
根据所述索引信息和所述单目标字符串的场景属性构建AC自动机和双数组字典树结合的字典树。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取查询字符串;
根据所述查询字符串对所述多模式匹配字典树进行匹配,得到多个匹配字符串;
根据所述多个匹配字符串从所述索引信息中进行筛选,得到匹配目标字符串,所述匹配目标字符串的条件属性与所述查询字符串的条件属性相同。


6.根据权利要求5所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:李喜莲林士翔雷欣
申请(专利权)人:出门问问武汉信息科技有限公司
类型:发明
国别省市:湖北;42

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

1