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未出现的情况,目前无法在一次查询中完成。
技术实现思路
本专利技术实施例为了有效克服现有技术所存在的上述缺陷,创造性地提供一种字符串匹配方法,所述方法包括:获取目标字符串词典;根据所述目标字符串词典构建索引信息,所述索引信息包括目标字符串词典中的字符串条件属性;根据所述索引信息构建多模式匹配字典树。在一可实施方式中,所述根据所述目标字符串词典构建索引信息,包括:根据所述目标字符串词典中目标字符串之间的条件属性进行排序去重,得到去重后的单目标字符串和组合目标字符串,所述条件属性包括与、或及非三种;根据所述去重后的单目标字符串和组合目标字符串建立倒排索引,得到索引信息;所述索引信息包括每个单目标字符串在对应组合目标字符串中 ...
【技术保护点】
1.一种字符串匹配方法,其特征在于,所述方法包括:/n获取目标字符串词典;/n根据所述目标字符串词典构建索引信息,所述索引信息包括目标字符串词典中的字符串条件属性;/n根据所述索引信息构建多模式匹配字典树。/n
【技术特征摘要】
1.一种字符串匹配方法,其特征在于,所述方法包括:
获取目标字符串词典;
根据所述目标字符串词典构建索引信息,所述索引信息包括目标字符串词典中的字符串条件属性;
根据所述索引信息构建多模式匹配字典树。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标字符串词典构建索引信息,包括:
根据所述目标字符串词典中目标字符串之间的条件属性进行排序去重,得到去重后的单目标字符串和组合目标字符串,所述条件属性包括与、或及非三种;
根据所述去重后的单目标字符串和组合目标字符串建立倒排索引,得到索引信息,所述索引信息包括每个单目标字符串在对应组合目标字符串中的条件属性。
3.根据权利要求1或2所述的方法,其特征在于,所述多模式匹配字典树为AC自动机和双数组字典树结合的字典树。
4.根据权利要求3所述的方法,其特征在于,所述根据所述索引信息构建多模式匹配字典树包括:
获取对应于所述单目标字符串的场景属性;
根据所述索引信息和所述单目标字符串的场景属性构建AC自动机和双数组字典树结合的字典树。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取查询字符串;
根据所述查询字符串对所述多模式匹配字典树进行匹配,得到多个匹配字符串;
根据所述多个匹配字符串从所述索引信息中进行筛选,得到匹配目标字符串,所述匹配目标字符串的条件属性与所述查询字符串的条件属性相同。
6.根据权利要求5所述的方法,其特征在于,所述...
【专利技术属性】
技术研发人员:李喜莲,林士翔,雷欣,
申请(专利权)人:出门问问武汉信息科技有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。