一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文本匹配方法、装置、计算设备及计算机存储介质与流程

2022-11-15 23:40:51 来源:中国专利 TAG:


1.本发明涉及文本匹配技术领域,具体涉及一种文本匹配方法、装置、计算设备及计算机存储介质。


背景技术:

2.多关键词匹配就是快速判断出某一文本中是否包含关键词集合中的一个或多个关键词。目前有aho-corasick,ac-bm,wu-manber等优秀的多关键词匹配算法。
3.关键词组合策略是一种有效识别垃圾文本消息的方法。一条关键词组合策略通常是由多个关键词和“与”、“或”逻辑运算符组成,其定义了一种垃圾消息的词语特征。当文本消息与一条关键词组合策略匹配时,则可判定该文本消息为垃圾消息。举例来说,假设定义策略(a|b)&(c|d),则包含关键词a或b并且包含关键词c或d文本消息被判定为疑似垃圾消息。
4.现有关键词组合策略组合匹配方法一般把关键词组合策略拆分为只包含逻辑关系“与”的关键词组合。例如(a|b)&(c|d)可拆分为a&c、a&d、b&c和b&d关键词组合,再使用多关键词匹配方法从文本消息中匹配只包含逻辑关系“与”的关键词组合。一种改进方法是:定义一个“power”值用于统计,它的值越大,表示匹配到关键词组合的可能性越大。例如当文本消息中出现关键词a的时候令power加1,当同时出现关键词a和b时令power加10,这样使匹配的结果更加准确。
5.但是,发明人在实现本发明的过程中发现:在匹配长文本消息时,现有的关键词组合策略匹配方法由于没有考虑关键词在文本中出现的位置,会增大误匹配概率。例如匹配广告类策略“推出&积分&优惠”,在一条字数大于1000的长文本消息中,可能在相隔文字个数较多的位置先后包含了“推出新政策”、“积分落户”和“税收优惠”,现有的匹配方法恰好能够匹配到“推出”、“积分”和“优惠”等三个关键词,从而把该正常消息误判为垃圾消息。


技术实现要素:

6.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的文本匹配方法、装置、计算设备及计算机存储介质。
7.根据本发明的一个方面,提供了一种文本匹配方法,包括:
8.根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息,查询包含待审核关键词的关键词组合策略,关键词组合策略由逻辑运算符和关键词组成;
9.将关键词组合策略包含的逻辑运算符作为分支结点,将关键词组合策略包含的关键词作为叶子结点,构建得到二叉树;
10.遍历二叉树,针对于每一个叶子结点,判断是否存在审核关键词与其对应的关键词一致,若是,则确定该叶子结点的布尔值为真,在该叶子结点保存一致的待审核关键词的位置信息;
11.针对于每一个分支结点,根据其对应的逻辑运算符及其两个子结点的布尔值进行
布尔运算得到该分支结点的布尔值,根据该分支结点对应的逻辑运算符和布尔值确定保存在该分支结点的位置信息;
12.其中,保存在该分支结点的位置信息为其两个子结点所保存的位置信息或者其两个子结点所保存的位置信息组合的小于预设区间阈值的覆盖区间;
13.若根结点的布尔值为真,则确定待审核文本命中关键词组合策略,并根据根结点保存的位置信息,输出待审核文本片段。
14.可选地,位置信息为上下文区间的形式;待审核关键词的上下文区间的开始和结束相等,均为待审核关键词的首字符在待审核文本中的位置序号。
15.可选地,根据该分支结点对应的逻辑运算符和布尔值确定保存在该分支结点的位置信息进一步包括:
16.若该分支结点对应的逻辑运算符为或运算符且布尔值为真,则将两个子结点的上下文区间全部保存在该分支结点;
17.若该分支结点对应的逻辑运算符为与运算符且布尔值为真,则将两个子结点的上下文区间组合成的且小于预设区间阈值的覆盖区间保存在该分支结点;
18.若该分支结点的布尔值为假,则将该分支结点的位置信息保存为空。
19.可选地,方法进一步包括:
20.若该分支结点对应的逻辑运算符为与运算符且布尔值为真,且其两个子结点的上下文区间组合成的各个覆盖区间均不小于预设区间阈值,则将该分支结点的布尔值修改为假。
21.可选地,方法进一步包括:
22.根据关键词组合策略对应的二叉树,确定关键词组合策略的最小关键词匹配量;
23.判断待审核文本中包含的关键词的数量是否小于最小关键词匹配量;
24.若是,则过滤该关键词组合策略。
25.可选地,根据关键词组合策略对应的二叉树,确定关键词组合策略的最小关键词匹配量进一步包括:
26.将各个叶子结点所对应的关键词用数值1代替,得到替换的二叉树;
27.遍历替换的二叉树,当分支结点逻辑运算符为或运算符时,则该分支结点的取值为其两个子结点的取值中的最小值,当分支结点逻辑运算符为与运算符时,则该分支结点的取值为其两个子结点的取值的和;
28.确定替换后的二叉树的根结点的取值为该关键词组合策略的最小关键词匹配量。
29.可选地,根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息进一步包括:
30.利用ac自动机对策略关键词集合处理得到关键词索引,根据关键词索引,匹配得到待审核文本中的待审核关键词及其位置信息。
31.根据本发明的另一方面,提供了一种文本匹配装置,包括:
32.关键词匹配模块,适于根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息;
33.查询模块,适于查询包含所述待审核关键词的关键词组合策略,所述关键词组合策略由逻辑运算符和关键词组成;
34.构建模块,适于将所述关键词组合策略包含的逻辑运算符作为分支结点,将所述关键词组合策略包含的关键词作为叶子结点,构建得到二叉树;
35.策略匹配模块,适于遍历所述二叉树,针对于每一个叶子结点,若存在待审核关键词与其对应的关键词一致,则确定该叶子结点的布尔值为真,在该叶子结点保存一致的待审核关键词的位置信息;
36.针对于每一个分支结点,根据其对应的逻辑运算符及其两个子结点的布尔值进行布尔运算得到该分支结点的布尔值,根据该分支结点对应的逻辑运算符和布尔值确定保存在该分支结点的位置信息;
37.其中,保存在该分支结点的位置信息为其两个子结点所保存的位置信息或者其两个子结点所保存的位置信息组合的小于预设区间阈值的覆盖区间;
38.若根结点的布尔值为真,则确定所述待审核文本命中所述关键词组合策略,并根据根结点保存的位置信息,输出待审核文本片段。
39.可选地,位置信息为上下文区间的形式;待审核关键词的上下文区间的开始和结束相等,均为待审核关键词的首字符在待审核文本中的位置序号。
40.可选地,策略匹配模块进一步适于:若该分支结点对应的逻辑运算符为或运算符且布尔值为真,则将两个子结点的上下文区间全部保存在该分支结点;
41.若该分支结点对应的逻辑运算符为与运算符且布尔值为真,则将两个子结点的上下文区间组合成的且小于预设区间阈值的覆盖区间保存在该分支结点;
42.若该分支结点的布尔值为假,则将该分支结点的位置信息保存为空。
43.可选地,策略匹配模块进一步适于:
44.若该分支结点对应的逻辑运算符为与运算符且布尔值为真,且其两个子结点的上下文区间组合成的各个覆盖区间均不小于预设区间阈值,则将该分支结点的布尔值修改为假。
45.可选地,装置还包括过滤模块,适于根据关键词组合策略对应的二叉树,确定关键词组合策略的最小关键词匹配量;判断待审核文本中包含的关键词的数量是否小于最小关键词匹配量;若是,则过滤该关键词组合策略。
46.可选地,过滤模块进一步适于:将各个叶子结点所对应的关键词用数值1代替,得到替换的二叉树;遍历替换的二叉树,当分支结点逻辑运算符为或运算符时,则该分支结点的取值为其两个子结点的取值中的最小值,当分支结点逻辑运算符为与运算符时,则该分支结点的取值为其两个子结点的取值的和;确定替换后的二叉树的根结点的取值为该关键词组合策略的最小关键词匹配量。
47.可选地,关键词匹配模块进一步适于:利用ac自动机对策略关键词集合处理得到关键词索引,根据关键词索引,匹配得到待审核文本中的待审核关键词及其位置信息。
48.根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
49.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述文本匹配方法对应的操作。
50.根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述文本匹配方法对应的操作。
51.根据本发明的文本匹配方法、装置、计算设备及计算机存储介质,首先,根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息,查询包含待审核关键词的关键词组合策略,关键词组合策略由逻辑运算符和关键词组成;其次,将关键词组合策略包含的逻辑运算符作为分支结点,将关键词组合策略包含的关键词作为叶子结点,构建得到二叉树;然后,遍历二叉树,针对于每一个叶子结点,判断是否存在审核关键词与其对应的关键词一致,若是,则确定该叶子结点的布尔值为真,在该叶子结点保存一致的待审核关键词的位置信息;针对于每一个分支结点,根据其对应的逻辑运算符及其两个子结点的布尔值进行布尔运算得到该分支结点的布尔值,根据该分支结点对应的逻辑运算符和布尔值确定保存在该分支结点的位置信息;其中,保存在该分支结点的位置信息为其两个子结点所保存的位置信息或者其两个子结点所保存的位置信息组合的小于预设区间阈值的覆盖区间;最终,若根结点的布尔值为真,则确定待审核文本命中关键词组合策略,并根据根结点保存的位置信息,输出待审核文本片段。通过上述方式,基于二叉树完成关键词组合策略和待审核文本的精匹配,其中考虑了关键词的位置信息,仅匹配相对集中的关键词组合,将关键词组合出现在相对集中的文本中才视为命中策略,避免了关键词离散分布在长文本中所导致的误匹配问题,降低了误判率,而且输出位置信息符合要求的文本作为匹配证据,有利于人工审核,可大幅提高审核效率。
52.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
53.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
54.图1示出了本发明实施例提供的文本匹配方法的流程图;
55.图2示出了本发明一个实施例中关键词组合策略对应的二叉树的示意图;
56.图3示出了本发明另一实施例提供的文本匹配方法的流程图;
57.图4a示出了本发明实施例中对关键词组合策略建立关键词索引的流程示意图;
58.图4b示出了本发明实施例中对待审核文本进行关键词匹配的流程示意图;
59.图5示出了最小关键词匹配量的计算过程示意图;
60.图6示出了本发明实施例中策略匹配过程的示意图;
61.图7示出了本发明实施例提供的文本匹配装置的结构示意图;
62.图8示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
63.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
64.图1示出了本发明实施例提供的文本匹配方法的流程图,该方法可由任意具有数据处理能力的设备来执行。如图1所示,该方法包括以下步骤:
65.步骤s101,根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息,查询包含待审核关键词的关键词组合策略,关键词组合策略由逻辑运算符和关键词组成。
66.首先,将关键词组合策略集合转换为策略关键词集合,关键词组合策略如:(发票|娱乐城)&现金、恭喜&中奖;然后,根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息。
67.举例来说,对于待审核文本“海王娱乐城2限时福利现金9筹码”来说,关键词“娱乐城”距离文本开头有两个字符,所以其位置为2,可以在关键词的右上角用“2”表示其位置信息,同理,关键词“现金”的位置为9,则这两个关键词之间的相对位置距离为9-2=7。
68.然后,根据待审核关键词进行查询,得到包含待审核关键词的关键词组合策略,之后,只需根据包含待审核关键词的关键词组合策略进行策略匹配即可,而不必跟所有的关键词组合策略匹配,减小策略匹配次数。
69.步骤s102,将关键词组合策略包含的逻辑运算符作为分支结点,将关键词组合策略包含的关键词作为叶子结点,构建得到二叉树。
70.针对于每一个查询到的关键词组合策略,将关键词组合策略转换为逻辑嵌套的二叉树,借助逻辑运算符栈和关键词栈构建二叉树,二叉树的分支结点为关键词组合策略所包含的各个逻辑运算符,叶子结点为关键词组合策略所包含的各个关键词。图2示出了本发明一个实施例中关键词组合策略对应的二叉树的示意图,关键词组合策略为(a|b|c&d)&(e|f|g)。
71.步骤s103,遍历二叉树,针对于每一个叶子结点,判断是否存在审核关键词与其对应的关键词一致,若是,则确定该叶子结点的布尔值为真,在该叶子结点保存一致的待审核关键词的位置信息
72.在构建得到关键词组合策略对应的二叉树之后,则就基于二叉树进行关键词组合策略和待审核文本的匹配处理。
73.具体地,遍历二叉树,针对于每一个叶子结点,若存在待审核关键词与其对应的关键词一致,也即,叶子结点的关键词是待审核文本中匹配到的待审核关键词,则将该叶子结点添加true标志,并将该待审核关键词的位置信息也写入到该叶子结点中。相应地,如果不存在待审核关键词与其对应的关键词,也即,叶子结点的关键词不是待审核文本中匹配到的待审核关键词,则将该叶子结点添加false标志,该叶子结点无位置信息。
74.步骤s104,针对于每一个分支结点,根据其对应的逻辑运算符及其两个子结点的布尔值进行运算得到该分支结点的布尔值,根据该分支结点对应的逻辑运算符和运算结果确定保存在该分支结点的位置信息。
75.其中,保存在该分支结点的位置信息为其两个子结点所保存的位置信息或者其两个子结点所保存的位置信息组合的小于预设区间阈值的覆盖区间。
76.预设区间阈值是判断两个关键词是否集中出现的标准,例如,当两个关键词组合的上下文区间超过预设区间阈值,则说明这两个关键词相距较远。
77.举例来说,叶子结点a的关键词为a1,叶子结点b的关键词为b1,待匹配文本中同时
出现关键词a1和关键词b1,则叶子结点a的布尔值为真,且叶子结点b的布尔值为真,关键词a1的位置信息为a2,关键词b1的位置信息为b2,叶子结点a和叶子结点b为分支结点c的两个子结点。
78.第一种情况,若分支结点c(根节点)的逻辑运算符为或,则表示待匹配文本出现a1和b1中的任一个,都会命中相应的关键词组合策略,无需考虑关键词a1和关键词b1之间的距离。具体到运算中,根据分支结点c的逻辑运算符及叶子结点a的布尔值和叶子结点b的布尔值进行布尔运算的结果为真,则表示待匹配文本命中了关键词组合策略,则将叶子结点a保存的位置信息a1和叶子结点b保存的位置信息b1保存到分支结点c中。
79.第二种情况,若分支结点c(根节点)的逻辑运算符为与,则表示待匹配文本中同时出现a1和b1才会命中关键词组合策略,本实施例中为了避免长文本中关键词出现不集中所导致的误判问题,还需考虑两个关键词之间的位置距离,因此,当关键词a1和关键词b1距离小于预设值,即关键词a1和关键词b1同时出现且较为集中时,将关键词a1和关键词b1的位置信息所组成的覆盖区间保存到分支结点c中。具体到运算中,根据分支结点c的逻辑运算符及叶子结点a的布尔值和叶子结点b的布尔值进行布尔运算的结果为真,且叶子结点a保存的位置信息a2和叶子结点b保存的位置信息b2之间的差值小于预设值,则将位置信息a2和位置信息b2构成的覆盖区间保存在该根节点中。
80.步骤s105,若根结点的布尔值为真,则确定待审核文本命中该关键词组合策略,并根据根结点保存的位置信息,输出待审核文本片段。
81.最终,获取根结点的布尔值,若为真,则判定待审核文本命中该关键词组合策略,根据根节点保存的位置信息,确定待审核文本中对应于该位置信息的待审核文本片段,将该待审核文本片段进行输出,以便后续过程中对待审核文本片段作进一步审核。
82.沿用上述示例,第一种情况中,根节点的布尔值为真,且根节点所保存的位置信息为位置信息a2和位置信息b2,则说明待审核文本命中了a1或b1的关键词组合策略,根据根节点保存的位置信息,可以提取出分别关键词a1和b1。第二种情况中,根节点的布尔值为真,且根节点保存的位置信息即位置信息a2和位置信息b2所构成的覆盖区间,可提取出待审核文本片段为该覆盖区间所对应的文本片段。
83.由此可见,根据本实施例所提供的文本匹配方法,基于二叉树完成关键词组合策略和待审核文本的精匹配,其中考虑了关键词的位置信息,仅匹配相对集中的关键词组合,将关键词组合出现在相对集中的文本中才视为命中策略,避免了关键词离散分布在长文本中所导致的误匹配问题,降低了误判率,而且输出位置信息符合要求的文本作为匹配证据,有利于人工审核,可大幅提高审核效率。
84.图3示出了本发明另一实施例提供的文本匹配方法的流程图,该方法可由任意具有数据处理能力的设备来执行。如图3所示,该方法包括以下步骤:
85.步骤s301,利用ac自动机对策略关键词集合处理得到关键词索引,根据关键词索引,匹配得到待审核文本中的待审核关键词及其位置信息。
86.图4a示出了本发明实施例中对关键词组合策略建立关键词索引的流程示意图,如图4a所示,首先将关键词组合策略转换为策略关键词集合,再利用ac自动机(aho-corasick automation)对关键词建立索引,在关键词组合策略集合没有改动的情况下,只需建立一次ac自动机便可持续使用。图4b示出了本发明实施例中对待审核文本进行关键词匹配的流程
示意图,借助ac自动机,能够识别出待审核文本中所包含的关键词及定位到关键词的位置。通过上述方式,能够提高待审核文本的关键词匹配速度。
87.本实施例中,位置信息用上下文区间表示,上下文即两个关键词中间的文本,对于某一关键词来说,其上下文区间的开始和结束相等,均为该关键词的首字符在待审核文本中的位置序号。
88.步骤s302,查询包含待审核关键词的关键词组合策略。
89.其中,当待审核文本中包含多个不一样的待审核关键词时,则针对于每一个待审核关键词,查询关键词对应的策略索引表,得到包含待审核关键词的关键词组合策略,将查询到的关键词组合策略作为待匹配的策略,后续过程中,只需根据包含待审核关键词的关键词组合策略进行策略匹配即可,而不必跟所有的关键词组合策略匹配,减小策略匹配次数。
90.步骤s303,将关键词组合策略包含的逻辑运算符作为分支结点,将关键词组合策略包含的关键词作为叶子结点,构建得到二叉树。
91.针对于每一个查询到的关键词组合策略,将关键词组合策略转换为逻辑嵌套的二叉树,借助逻辑运算符栈和关键词栈构建二叉树,二叉树的分支结点为关键词组合策略所包含的各个逻辑运算符,叶子结点为关键词组合策略所包含的各个关键词,具体可参见图2。
92.步骤s304,根据关键词组合策略对应的二叉树,确定关键词组合策略的最小关键词匹配量。
93.其中,关键词组合策略的最小关键词匹配量指的是保证命中策略的最小关键词数量,举例来说,策略(a|b|c&d)&(e|f|g)一共包含七个关键词,在第一个小括号内任选a或b,在第二个小括号任选e或f或g即可命中该策略,故该策略的最小关键词匹配量为2。
94.具体实施方式如下:将各个叶子结点所对应的关键词用数值1代替,得到替换的二叉树;遍历替换的二叉树,当分支结点逻辑运算符为或运算符时,则该分支结点的取值为其两个子结点的取值中的最小值,当分支结点逻辑运算符为与运算符时,则该分支结点的取值为其两个子结点的取值的和;确定替换后的二叉树的根结点的取值为该关键词组合策略的最小关键词匹配量。具体参照图5,图5示出了最小关键词匹配量的计算过程示意图,其中,该二叉树对应的关键词组合策略为(a|b|c&d)&(e|f|g),如图5所示,最终计算出该关键词组合策略的最小关键词匹配量为2,也就是说,待审核文本中的待审核关键词的数量大于或者等于2,则待审核文本可能命中该关键词组合策略,反之,待审核文本中的待审核关键词的数量小于2,则待审核文本不可能命中该关键词组合策略。
95.可选地,预先计算各个关键词组合策略的最小关键词匹配量,将其作为关键词组合策略的属性信息进行存储,以便在匹配时直接索引使用。
96.步骤s305,判断待审核文本中包含的关键词的数量是否小于最小关键词匹配量;若是,则执行步骤s306,若否,则执行步骤s307。
97.步骤s306,过滤该关键词组合策略。
98.如果待审核文本中包含的关键词的数量小于最小关键词匹配量,则说明该审核文本不可能命中该关键词组合策略,为了节省计算资源,将该关键词组合策略过滤。可见,本实施例的方式通过计算关键词组合策略的最小关键词匹配量进行了一次粗匹配,能够减少
后续精匹配所需处理的关键词组合策略,以便提升匹配效率。
99.步骤s307,遍历二叉树,针对于每一个叶子结点,判断是否存在待审核关键词与其对应的关键词一致;若是,则确定该叶子结点的布尔值为真,在该叶子结点保存一致的待审核关键词的位置信息;若否,则确定叶子结点的布尔值为假。
100.如果待审核文本中包含的关键词的数量大于或等于关键词组合策略的最小关键词匹配量,表明待审核文本可能命中关键词组合策略,则对该关键词组合策略继续进行精匹配。
101.下面结合图6来说明精匹配过程,图6示出了本发明实施例中策略匹配过程的示意图,图6中的二叉树以关键词组合策略(a|b|c&d)&(e|f|g)构建。
102.首先,针对于叶子结点,若叶子结点的关键词是待审核文本中定位到的待审核关键词,则在该叶子结点加入true标志,并将该待审核关键词在待审核文本中的位置信息也保存在该叶子结点中,位置信息以上下文区间的形式表示,上下文即两个关键词中间的文本,保存在叶子结点的上下文区间的开始和结果相等,均为叶子结点所对应关键词的首字符在待审核文本中的位置序号。例如,对于待审核文本“海王娱乐城2限时福利现金9筹码”来说,关键词“娱乐城”的位置信息为[2,2],关键词“现金”上下文区间为[9,9]。若叶子结点的关键词不是待审核文本中定位到的待审核关键词,则在该叶子结点中加入false标志,无位置信息。参照图6,假设待审核文本中匹配到的关键词为a、b、c、d、e、f,则将二叉树中分别对应该6个关键词的叶子结点中加入true标志以及该6个关键词在待审核文本中的位置信息,其中,a
[33,33]
中的[33,33]表示关键词a的首字符位于待审核文本中的第33位,其他的类似,在此不进行赘述。对于未在待审核文本中匹配到的关键词g,则在对应的叶子结点中加入false标志即可。
[0103]
步骤s308,针对于每一个分支结点,根据其对应的逻辑运算符及其两个子结点的布尔值进行布尔运算得到该分支结点的布尔值,根据该分支结点对应的逻辑运算符和布尔值确定保存在该分支结点的位置信息。
[0104]
其中,保存在该分支结点的位置信息为其两个子结点所保存的位置信息或者其两个子结点所保存的位置信息组合的小于预设区间阈值的覆盖区间。
[0105]
具体地,在分支结点的布尔值为假的情况下,无需作其他考虑,直接将该分支结点的上下文区间保存为空。
[0106]
在分支结点的布尔值为真的情况下,还需考虑分支结点的运算符和其两个结点所保存的上下文区间,确定保存在该分支结点的上下文区间。若该分支结点对应的逻辑运算符为或运算符且布尔值为真,则将其两个子结点的上下文区间全部保存在该分支结点;若该分支结点对应的逻辑运算符为与运算符且布尔值为真,则将两个子结点的上下文区间组合成的且小于预设区间阈值的覆盖区间保存在该分支结点,进一步地,若两个子结点的上下文区间组合成的覆盖区间均不小于预设区间阈值,则将该分支结点的布尔值修正为假。
[0107]
参照图6,当分支结点的逻辑运算符为或运算符时,则该分支结点的布尔值的取值为其两个子结点的布尔值进行“或”运算的结果。若分支结点的布尔值为false,则该分支结点的上下文区间保存为空。若分支结点的布尔值为true,则将其两个子结点所保存的上下文区间全部拷贝到该分支结点,具体参见图6中的情况1和情况3。
[0108]
当分支结点的逻辑运算符为与运算符时,则该分支结点的布尔值的取值为其两个
子节点的布尔值进行“与”运算的结果。若分支结点的布尔值为false,则该分支结点的上下文区间保存为空。若分支节点的布尔值为true,则该分支结点的上下文区间保存为其两个子结点所保存的上下文区间组合后计算所得的小于预设区间阈值的覆盖区间。
[0109]
进一步地,当分支结点的逻辑运算符为与运算符时,计算出的分支节点的布尔值为true,但组合后的覆盖区间中不存在小于预设区间阈值的覆盖区间,则将该分支结点的布尔值修正为false。参见图6中的情况2,首先对关键词c对应的分支结点的布尔值,与关键词d对应的分支结点的布尔值进行与运算,得到分支结点的布尔值确定为true,之后,关键词c的上下文区间[22,22]和关键词d的上下文区间[135,135]组合成的覆盖区间为[22,135],覆盖区间的长度为135-22=113,大于预设区间阈值100,表明待审核文本中关键词c和关键词d的位置之间的差距超过了预定值,这两个关键词不集中,为了避免文字数量较多导致策略误匹配的问题,将这种情况进行过滤,并这两个叶子结点相应的分支结点的布尔值修正为false。参见图6中的情况4,分支结点的两个子结点的布尔值均为true,其左子结点所保存的上下文区间为[33,33]和[100,100],右边子结点左保存的上下文区间包括[10,10]和[66,66],组合而成的上下文区间包括[10,33]、[33,66]、[66,100]、[10,100],每一个覆盖区间都小预设区间阈值,则全部保存至该分支结点中。
[0110]
步骤s309,若根结点的布尔值为真,则确定待审核文本命中该关键词组合策略,并根据根结点保存的位置信息,输出待审核文本片段。
[0111]
最终,获取根节点的相关信息,若根节点的布尔值为真,则确定待审核文本命中该关键词组合策略,并根据根节点保存的上下文区间,确定待审核文本片段。参见图6,输出的待审核文本片段包括:第10个字符到第33个字符的文本片段,关键词a和关键词e都位于这个待审核文本片段中;第33个字符到第66个字符的文本片段,关键词a和关键词f都位于该待审核文本片段中;第10个字符到第100个字符的文本片段,关键词e和关键词b都位于该待审核文本片段中;第66个字符到第100个字符的文本片段,关键词f和关键词b都位于该待审核文本片段中。将待审核文本片段进行输出,以便作进一步的人工审核或者其他审核,能够大幅度提高审核效率。
[0112]
根据本实施例所提供的文本匹配方法,该方式中将关键词组合策略转换为逻辑嵌套的二叉树,基于二叉树完成关键词组合策略的粗匹配和精匹配,一方面,利用二叉树求取关键词组合策略的最小关键词匹配量,根据最小关键词匹配量完成粗匹配,当待审核文本中定位到的关键词的数量小于该最小关键词匹配量,则直接判定无法命中该关键词组合策略,当审核文本定位到的关键词的数量大于或等于该最小关键词匹配量,则判定待审核文本可能命中对应的关键词组合策略,继续进行精匹配,由此实现关键词组合策略的粗匹配,能够提升匹配效率。另一方面,基于二叉树完成关键词组合策略和待审核文本的精匹配,其中考虑了关键词的位置信息,仅匹配相对集中的关键词组合,将关键词组合出现在相对集中的文本中才视为命中策略,避免了关键词离散分布在长文本中所导致的误匹配问题,降低了误判率,而且输出上下文区间符合要求的文本作为匹配证据,有利于人工审核,可大幅提高审核效率。本实施例中的基于位置信息的匹配方式能够广泛应用于长文本匹配的应用场景中,例如可用于匹配审核5g长消息、邮件正文、多条连续聊天文本构成的文字空间、新闻消息、网页文字、小说。
[0113]
图7示出了本发明文本匹配装置实施例的结构示意图。如图7所示,该装置包括:
[0114]
关键词匹配模块71,适于根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息;
[0115]
查询模块72,适于查询包含待审核关键词的关键词组合策略,关键词组合策略由逻辑运算符和关键词组成;
[0116]
构建模块73,适于将关键词组合策略包含的逻辑运算符作为分支结点,将关键词组合策略包含的关键词作为叶子结点,构建得到二叉树;
[0117]
策略匹配模块74,适于遍历二叉树,针对于每一个叶子结点,若存在待审核关键词与其对应的关键词一致,则确定该叶子结点的布尔值为真,在该叶子结点保存一致的待审核关键词的位置信息;
[0118]
针对于每一个分支结点,根据其对应的逻辑运算符及其两个子结点的布尔值进行布尔运算得到该分支结点的布尔值,根据该分支结点对应的逻辑运算符和布尔值确定保存在该分支结点的位置信息;
[0119]
其中,保存在该分支结点的位置信息为其两个子结点所保存的位置信息或者其两个子结点所保存的位置信息组合的小于预设区间阈值的覆盖区间;
[0120]
若根结点的布尔值为真,则确定待审核文本命中关键词组合策略,并根据根结点保存的位置信息,输出待审核文本片段。
[0121]
在一种可选的方式中,位置信息为上下文区间的形式;待审核关键词的上下文区间的开始和结束相等,均为待审核关键词的首字符在待审核文本中的位置序号。
[0122]
在一种可选的方式中,策略匹配模块74进一步适于:
[0123]
若该分支结点对应的逻辑运算符为或运算符且布尔值为真,则将两个子结点的上下文区间全部保存在该分支结点;
[0124]
若该分支结点对应的逻辑运算符为与运算符且布尔值为真,则将两个子结点的上下文区间组合成的且小于预设区间阈值的覆盖区间保存在该分支结点;
[0125]
若该分支结点的布尔值为假,则将该分支结点的位置信息保存为空。
[0126]
在一种可选的方式中,策略匹配模块74进一步适于:
[0127]
若该分支结点对应的逻辑运算符为与运算符且布尔值为真,且两个子结点的上下文区间组合成的各个覆盖区间均不小于预设区间阈值,则将该分支结点的布尔值修改为假。
[0128]
在一种可选的方式中,装置还包括过滤模块,适于根据关键词组合策略对应的二叉树,确定关键词组合策略的最小关键词匹配量;判断待审核文本中包含的关键词的数量是否小于最小关键词匹配量;若是,则过滤该关键词组合策略。
[0129]
在一种可选的方式中,过滤模块进一步适于:
[0130]
将各个叶子结点所对应的关键词用数值1代替,得到替换的二叉树;
[0131]
遍历替换的二叉树,当分支结点逻辑运算符为或运算符时,则该分支结点的取值为其两个子结点的取值中的最小值,当分支结点逻辑运算符为与运算符时,则该分支结点的取值为其两个子结点的取值的和;
[0132]
确定替换后的二叉树的根结点的取值为该关键词组合策略的最小关键词匹配量。
[0133]
在一种可选的方式中,关键词匹配模块71进一步适于:
[0134]
利用ac自动机对策略关键词集合处理得到关键词索引,根据关键词索引,匹配得
到待审核文本中的待审核关键词及其位置信息。
[0135]
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的文本匹配方法。
[0136]
可执行指令具体可以用于使得处理器执行以下操作:
[0137]
根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息,查询包含待审核关键词的关键词组合策略,关键词组合策略由逻辑运算符和关键词组成;
[0138]
将关键词组合策略包含的逻辑运算符作为分支结点,将关键词组合策略包含的关键词作为叶子结点,构建得到二叉树;
[0139]
遍历二叉树,针对于每一个叶子结点,判断是否存在审核关键词与其对应的关键词一致,若是,则确定该叶子结点的布尔值为真,在该叶子结点保存一致的待审核关键词的位置信息;
[0140]
针对于每一个分支结点,根据其对应的逻辑运算符及其两个子结点的布尔值进行布尔运算得到该分支结点的布尔值,根据该分支结点对应的逻辑运算符和布尔值确定保存在该分支结点的位置信息;
[0141]
其中,保存在该分支结点的位置信息为其两个子结点所保存的位置信息或者其两个子结点所保存的位置信息组合的小于预设区间阈值的覆盖区间;
[0142]
若根结点的布尔值为真,则确定待审核文本命中关键词组合策略,并根据根结点保存的位置信息,输出待审核文本片段。
[0143]
由此可见,根据本实施例基于二叉树完成关键词组合策略和待审核文本的精匹配,其中考虑了关键词的位置信息,仅匹配相对集中的关键词组合,将关键词组合出现在相对集中的文本中才视为命中策略,避免了关键词离散分布在长文本中所导致的误匹配问题,降低了误判率,而且输出位置信息符合要求的文本作为匹配证据,有利于人工审核,可大幅提高审核效率。
[0144]
图8示出了本发明计算设备实施例的结构示意图,本发明具体实施例并不对计算备的具体实现做限定。
[0145]
如图8所示,该计算设备可以包括:处理器(processor)802、通信接口(communications interface)804、存储器(memory)806、以及通信总线808。
[0146]
其中:处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。处理器802,用于执行程序810,具体可以执行上述用于计算设备的文本匹配方法实施例中的相关步骤。
[0147]
具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。
[0148]
处理器802可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0149]
存储器806,用于存放程序810。存储器806可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0150]
程序810具体可以用于使得处理器802执行以下操作:
[0151]
根据策略关键词集合,匹配得到待审核文本中的待审核关键词及其位置信息,查
询包含待审核关键词的关键词组合策略,关键词组合策略由逻辑运算符和关键词组成;
[0152]
将关键词组合策略包含的逻辑运算符作为分支结点,将关键词组合策略包含的关键词作为叶子结点,构建得到二叉树;
[0153]
遍历二叉树,针对于每一个叶子结点,判断是否存在审核关键词与其对应的关键词一致,若是,则确定该叶子结点的布尔值为真,在该叶子结点保存一致的待审核关键词的位置信息;
[0154]
针对于每一个分支结点,根据其对应的逻辑运算符及其两个子结点的布尔值进行布尔运算得到该分支结点的布尔值,根据该分支结点对应的逻辑运算符和布尔值确定保存在该分支结点的位置信息;
[0155]
其中,保存在该分支结点的位置信息为其两个子结点所保存的位置信息或者其两个子结点所保存的位置信息组合的小于预设区间阈值的覆盖区间;
[0156]
若根结点的布尔值为真,则确定待审核文本命中关键词组合策略,并根据根结点保存的位置信息,输出待审核文本片段。
[0157]
由此可见,根据本实施例基于二叉树完成关键词组合策略和待审核文本的精匹配,其中考虑了关键词的位置信息,仅匹配相对集中的关键词组合,将关键词组合出现在相对集中的文本中才视为命中策略,避免了关键词离散分布在长文本中所导致的误匹配问题,降低了误判率,而且输出位置信息符合要求的文本作为匹配证据,有利于人工审核,可大幅提高审核效率。
[0158]
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0159]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0160]
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0161]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权
利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0162]
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0163]
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0164]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献