本说明书涉及计算机,尤其涉及一种文本匹配的方法及装置。
背景技术:
1、目前,在对文本进行匹配时,为了提高效率,通常需要采用鹅卵石算法(k-shingle),将文本切分为若干个由k个字符组成的文本段。并将该若干个文本段分别转码成向量、哈希值等数据形式,进行文本匹配。
2、在现有技术中,将文本转码成哈希值的数据形式时,通常采用信息摘要算法(message digest algorithm,md),如md4、md5。或者,安全散列演算法(secure hashalgorithm,sha),如sha-1、sha-256等。实时确定各文本段的哈希值。
3、但是,由于md5、sha-256等算法计算复杂度高,而在对文本进行匹配时,需要以哈希值表示的文本段数量繁多,匹配效率低。
技术实现思路
1、本说明书提供一种文本匹配的方法及装置,以部分的解决现有技术存在的上述问题。
2、本说明书采用下述技术方案:
3、本说明书提供了一种文本匹配的方法,包括:
4、拆分待匹配文本,确定各文本段;
5、针对每个文本段,根据已存储的字符与哈希值对应关系,确定该文本段中各字符的哈希值;
6、按照该文本段中各字符的顺序,针对每个字符,将该字符的哈希值与前一个字符对应的运算值进行指定逻辑运算的结果,作为该字符对应的运算值,直至确定该文本段中最后一个字符对应的运算值为止,将所述最后一个字符对应的运算值作为该文本段的哈希值;
7、根据各文本段的哈希值,对所述待匹配文本进行文本匹配。
8、可选的,按照该文本段中各字符的顺序,针对每个字符,将该字符的哈希值与前一个字符对应的运算值进行指定逻辑运算的结果,作为该字符对应的运算值,直至确定该文本段中最后一个字符对应的运算值为止,将所述最后一个字符对应的运算值作为该文本段的哈希值之前,所述方法还包括:
9、根据该文本段中各字符的顺序,确定各字符的顺序标识;
10、根据各字符的顺序标识,分别确定各字符的偏移量,不同顺序标识对应不同的偏移量;
11、针对每个字符,根据该字符对应的偏移量,将该字符的哈希值的各位数按照指定方向进行循环位移,确定该字符更新后的哈希值。
12、可选的,根据各字符的顺序标识,分别确定各字符的偏移量,具体包括;
13、针对每个字符,将该字符的顺序标识对应数字与预设值的和,作为该字符的偏移量。
14、可选的,拆分待匹配文本,确定各文本段,具体包括:
15、获取待匹配文本;
16、从所述待匹配文本中的第一个字符开始,根据预设的滑动窗口宽度以及预设的步长,确定沿所述待匹配文本移动所述滑动窗口,得到的各文本段。
17、可选的,拆分待匹配文本,确定各文本段,具体包括:
18、获取待匹配文本,判断所述待匹配文本的文本长度是否大于预设的长文本阈值;
19、若是,则拆分所述待匹配文本,确定各文本段;
20、若否,则根据预设的自然语义模型,确定所述待匹配文本对应的若干语义向量,并根据所述若干语义向量进行文本匹配。
21、可选的,所述方法还包括:
22、按照预设的文本段长度拆分待匹配文本,确定各文本段;
23、当所述文本段长度为单个字符长度时,针对每个文本段,根据已存储的字符与哈希值对应关系,确定该文本段中字符的哈希值,作为该文本段的哈希值。
24、可选的,按照该文本段中各字符的顺序,针对每个字符,将该字符的哈希值与前一个字符对应的运算值进行指定逻辑运算的结果,作为该字符对应的运算值,直至确定该文本段中最后一个字符对应的运算值为止,将所述最后一个字符对应的运算值作为该文本段的哈希值,具体包括:
25、对于该文本段的第一个字符,根据所述第一个字符的哈希值与预设的运算值进行指定逻辑运算的结果,确定所述第一个字符对应的运算值;
26、按照该文本段中各字符的顺序,从第二个字符开始,针对每个字符,将该字符的哈希值与前一个字符对应的运算值进行指定逻辑运算的结果,作为该字符对应的运算值,直至确定该文本段中最后一个字符对应的运算值为止;
27、将所述最后一个字符对应的运算值作为该文本段的哈希值。
28、本说明书提供了一种文本匹配的装置,包括:
29、拆分模块,拆分待匹配文本,确定各文本段;
30、查询模块,针对每个文本段,根据已存储的字符与哈希值对应关系,确定该文本段中各字符的哈希值;
31、确定模块按照该文本段中各字符的顺序,针对每个字符,将该字符的哈希值与前一个字符对应的运算值进行指定逻辑运算的结果,作为该字符对应的运算值,直至确定该文本段中最后一个字符对应的运算值为止,将所述最后一个字符对应的运算值作为该文本段的哈希值;
32、匹配模块,根据各文本段的哈希值,对所述待匹配文本进行文本匹配。
33、本说明书提供的计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述文本匹配的方法。
34、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述文本匹配的方法。
35、本说明书采用的上述至少一个技术方案能够达到以下有益效果:
36、在本说明书提供的文本匹配的方法中,可对待匹配文本进行拆分,确定需要进行文本匹配的各文本段。并针对每个文本段,根据已存储的字符与哈希值对应关系,确定该文本段中各字符的哈希值。再按照该文本段中各字符的顺序,针对每个字符,将该字符的哈希值与前一个字符对应的运算值进行指定逻辑运算的结果,作为该字符对应的运算值,直至确定该文本段中最后一个字符对应的运算值为止,将该最后一个字符对应的运算值作为该文本段的哈希值。最后,根据各文本段的哈希值,对该待匹配文本进行文本匹配。
37、从上述方法中可以看出,本方法在计算文本段的哈希值时,仅需从已存储的字符与哈希值对应关系中确定该文本段中各字符对应的哈希值,并对各哈希值进行异或运算,便可确定各文本段的哈希值,以进行文本匹配,提高了效率。
1.一种文本匹配的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,按照该文本段中各字符的顺序,针对每个字符,将该字符的哈希值与前一个字符对应的运算值进行指定逻辑运算的结果,作为该字符对应的运算值,直至确定该文本段中最后一个字符对应的运算值为止,将所述最后一个字符对应的运算值作为该文本段的哈希值之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,根据各字符的顺序标识,分别确定各字符的偏移量,具体包括;
4.根据权利要求1的方法,其特征在于,拆分待匹配文本,确定各文本段,具体包括:
5.根据权利要求1的方法,其特征在于,拆分待匹配文本,确定各文本段,具体包括:
6.根据权利要求1的方法,其特征在于,所述方法还包括:
7.根据权利要求1的方法,其特征在于,按照该文本段中各字符的顺序,针对每个字符,将该字符的哈希值与前一个字符对应的运算值进行指定逻辑运算的结果,作为该字符对应的运算值,直至确定该文本段中最后一个字符对应的运算值为止,将所述最后一个字符对应的运算值作为该文本段的哈希值,具体包括:
8.一种文本匹配的装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。