本发明涉及文本处理,尤其是一种组合词匹配检测方法、系统、电子设备及存储介质。
背景技术:
1、在传统的文本关键词匹配检测方法中,大多采用单词词表构建trie树并通过逐字匹配的方法实现,尽管这种方法在效率上表现出色,但无法完成组合词形式的匹配。而基于集合或位操作实现组合词匹配的方法不仅效率低下,而且存在着如下缺点进而导致准确率欠佳:1)无法处理字的变形(例如汉字拼音变形、近音变形以及插入变形);2)在长文本中无法处理词元间的距离关系;3)无法消除词元数量或长度对匹配的影响。
2、术语解释:
3、trie树:又称单词查找树,是一种树形结构,哈希树的变种,其特点是低内存消耗和超高的匹配性能。
4、unicode编码:unicode只有一个字符集,中文、日文、韩文三种文字共占用了unicode中0x3000到0x9fff的部分。unicode目前普遍采用的是ucs-2标准,它用两个字节来编码一个字符,比如汉字“经”的编码是0x7ecf。
5、unicode private use area:在unicode中,私人使用区(pua)是一系列代码点,根据定义,unicode联盟不会为其分配字符,以便第三方可以定义自己的字符,而不会与unicode联盟分配冲突。pua定义了三个私人使用区域,其中一个位于基本多语言平面(u+e000–u+f8ff),这些区域中的代码点不能被视为unicode本身的标准化字符。
6、sigmoid函数:以其图像类似s得名,通常用来将实数映射到区间(0,1)之间,特点是在一段区间内较快增长,该区间外趋于饱和。
7、组合词:即由多个单词组成的词序列,例如“线上|扑克”。
8、组合词词元:组合词中的单词,例如组合词为“线上|扑克”,那么词元即为“线上”和“扑克”。
技术实现思路
1、本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
2、为此,本发明实施例的一个目的在于提供一种组合词匹配检测方法,该方法实现了长文本中复杂结构的组合词的匹配检测,提高了组合词匹配检测的效率和准确性。
3、本发明实施例的另一个目的在于提供一种组合词匹配检测系统。
4、为了达到上述技术目的,本发明实施例所采取的技术方案包括:
5、一方面,本发明实施例提供了一种组合词匹配检测方法,包括以下步骤:
6、获取预设的第一组合词,对所述第一组合词进行拆解得到多个第一词元,并根据所述第一词元和所述第一组合词构建第一关系映射表;
7、根据所述第一关系映射表生成单词查找树;
8、获取待检测文本,根据所述单词查找树对所述待检测文本进行词元匹配,得到匹配记录列表,进而对所述匹配记录列表进行聚合处理,得到组合词索引字典;
9、确定所述组合词索引字典的词元最小间隔,并根据所述词元最小间隔计算所述组合词索引字典中各个组合词的匹配得分,得到匹配得分列表;
10、根据文本长度和组合词长度对所述匹配得分列表进行归一化处理,得到所述待检测文本的组合词匹配结果。
11、进一步地,在本发明的一个实施例中,所述获取预设的第一组合词,对所述第一组合词进行拆解得到多个第一词元,并根据所述第一词元和所述第一组合词构建第一关系映射表这一步骤,其具体包括:
12、从预设的组合词表中获取多个所述第一组合词,并确定各所述第一组合词的组合词id;
13、根据组合分隔符对所述第一组合词进行拆解得到多个所述第一词元,并确定各所述第一词元对应的所述组合词id;
14、根据所述第一词元和所述组合词id生成第一键值对,并根据所述第一键值对构建所述第一关系映射表。
15、进一步地,在本发明的一个实施例中,所述根据所述第一关系映射表生成单词查找树这一步骤,其具体包括:
16、根据所述第一关系映射表获取所述第一键值对,将所述第一键值对的第一词元按照字符进行差分并转换为unicode编码序列;
17、根据所述unicode编码序列和所述第一键值对的组合词id确定树根节点和子节点;
18、根据所述树根节点和所述子节点生成所述单词查找树。
19、进一步地,在本发明的一个实施例中,所述根据所述单词查找树对所述待检测文本进行词元匹配,得到匹配记录列表这一步骤,其具体包括:
20、对所述待检测文本进行字符编码,得到unicode编码数组;
21、遍历所述unicode编码数组得到多个待匹配词元编码,并根据所述单词查找树确定所述待匹配词元编码对应的所述组合词id;
22、根据所述待匹配词元编码确定对应的第二词元和匹配索引值,进而根据所述第二词元、所述匹配索引值以及对应的所述组合词id生成所述匹配记录列表。
23、进一步地,在本发明的一个实施例中,所述对所述匹配记录列表进行聚合处理,得到组合词索引字典这一步骤,其具体包括:
24、从所述匹配记录列表获取目标词元,并确定各所述目标词元对应的若干个所述匹配索引值;
25、根据所述目标词元和对应的若干个所述匹配索引值生成第二键值对;
26、确定各所述组合词id对应的若干个所述目标词元,并根据同一组合词id对应的若干个所述目标词元生成的所述第二键值对构建子字典;
27、根据所述组合词id和对应的所述子字典生成第三键值对,并根据所述第三键值对构建所述组合词索引字典。
28、进一步地,在本发明的一个实施例中,所述确定所述组合词索引字典的词元最小间隔,并根据所述词元最小间隔计算所述组合词索引字典中各个组合词的匹配得分,得到匹配得分列表这一步骤,其具体包括:
29、确定各所述组合词id对应的组合词的词元数量,并确定各所述组合词id对应的所述子字典的元素数量;
30、若所述元素数量小于所述词元数量,将对应的所述第三键值对去除,得到筛选后的所述组合词索引字典;
31、确定筛选后的所述组合词索引字典的词元最小间隔,并确定各所述组合词id对应的组合词的组合词长度;
32、根据所述组合词长度、所述词元数量以及所述词元最小间隔计算各所述组合词id对应的组合词的匹配得分,得到所述匹配得分列表。
33、进一步地,在本发明的一个实施例中,所述根据文本长度和组合词长度对所述匹配得分列表进行归一化处理,得到所述待检测文本的组合词匹配结果这一步骤,其具体包括:
34、确定所述待检测文本的文本长度,并确定所述文本长度与各所述组合词id对应的组合词长度的第一差值;
35、根据所述匹配得分列表确定各所述组合词id和对应的所述匹配得分,并根据所述匹配得分与所述第一差值的商确定对应的归一化匹配得分;
36、将各所述归一化匹配得分与预设的第一阈值进行比较,若所述归一化匹配得分小于所述第一阈值,去除所述归一化匹配得分和对应的所述组合词id,得到筛选后的所述归一化匹配得分;
37、根据筛选后的所述归一化匹配得分和对应的所述组合词id确定所述待检测文本的组合词匹配结果。
38、另一方面,本发明实施例提供了一种组合词匹配检测系统,包括:
39、关系映射表构建模块,用于获取预设的第一组合词,对所述第一组合词进行拆解得到多个第一词元,并根据所述第一词元和所述第一组合词构建第一关系映射表;
40、单词查找树生成模块,用于根据所述第一关系映射表生成单词查找树;
41、词元匹配模块,用于获取待检测文本,根据所述单词查找树对所述待检测文本进行词元匹配,得到匹配记录列表,进而对所述匹配记录列表进行聚合处理,得到组合词索引字典;
42、匹配得分计算模块,用于确定所述组合词索引字典的词元最小间隔,并根据所述词元最小间隔计算所述组合词索引字典中各个组合词的匹配得分,得到匹配得分列表;
43、归一化处理模块,用于根据文本长度和组合词长度对所述匹配得分列表进行归一化处理,得到所述待检测文本的组合词匹配结果。
44、另一方面,本发明实施例提供了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如前面所述的组合词匹配检测方法。
45、另一方面,本发明实施例还提供了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如前面所述的组合词匹配检测方法。
46、本发明的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到:
47、本发明实施例获取预设的第一组合词,对第一组合词进行拆解得到多个第一词元,并根据第一词元和第一组合词构建第一关系映射表,根据第一关系映射表生成单词查找树,获取待检测文本,根据单词查找树对待检测文本进行词元匹配,得到匹配记录列表,进而对匹配记录列表进行聚合处理,得到组合词索引字典,确定组合词索引字典的词元最小间隔,并根据词元最小间隔计算组合词索引字典中各个组合词的匹配得分,得到匹配得分列表,根据文本长度和组合词长度对匹配得分列表进行归一化处理,得到待检测文本的组合词匹配结果。本发明实施例通过单词查找树对待检测文本进行词元匹配,并通过聚合处理得到组合词索引字典,进而基于词元最小间隔计算各个组合词的匹配得分,实现了长文本中复杂结构的组合词的匹配检测,提高了组合词匹配检测的效率;基于文本长度和组合词长度对匹配得分列表进行归一化处理,降低了组合词长度和组合词数量对匹配得分的影响,提高了组合词匹配检测的准确性。
1.一种组合词匹配检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种组合词匹配检测方法,其特征在于,所述获取预设的第一组合词,对所述第一组合词进行拆解得到多个第一词元,并根据所述第一词元和所述第一组合词构建第一关系映射表这一步骤,其具体包括:
3.根据权利要求2所述的一种组合词匹配检测方法,其特征在于,所述根据所述第一关系映射表生成单词查找树这一步骤,其具体包括:
4.根据权利要求3所述的一种组合词匹配检测方法,其特征在于,所述根据所述单词查找树对所述待检测文本进行词元匹配,得到匹配记录列表这一步骤,其具体包括:
5.根据权利要求4所述的一种组合词匹配检测方法,其特征在于,所述对所述匹配记录列表进行聚合处理,得到组合词索引字典这一步骤,其具体包括:
6.根据权利要求5所述的一种组合词匹配检测方法,其特征在于,所述确定所述组合词索引字典的词元最小间隔,并根据所述词元最小间隔计算所述组合词索引字典中各个组合词的匹配得分,得到匹配得分列表这一步骤,其具体包括:
7.根据权利要求6所述的一种组合词匹配检测方法,其特征在于,所述根据文本长度和组合词长度对所述匹配得分列表进行归一化处理,得到所述待检测文本的组合词匹配结果这一步骤,其具体包括:
8.一种组合词匹配检测系统,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如权利要求1至7中任一项所述的组合词匹配检测方法的步骤。
10.一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的组合词匹配检测方法的步骤。