CN106919542A - 规则匹配方法及装置 - Google Patents
规则匹配方法及装置 Download PDFInfo
- Publication number
- CN106919542A CN106919542A CN201510993093.7A CN201510993093A CN106919542A CN 106919542 A CN106919542 A CN 106919542A CN 201510993093 A CN201510993093 A CN 201510993093A CN 106919542 A CN106919542 A CN 106919542A
- Authority
- CN
- China
- Prior art keywords
- matched
- sequence
- matching
- rule
- symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种规则匹配方法及装置。该方法包括:获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号,多个标记符号是根据不同的业务需求对文本进行标记的符号;根据多个标记符号确定多个匹配规则模板;根据多个标记符号对目标文本进行转化处理,得到待匹配序列;以及使用多个匹配规则模板对待匹配序列进行匹配处理。通过本申请,解决了相关技术中规则匹配方法不能匹配文本隐含信息的问题。
Description
技术领域
本申请涉及自然语言处理领域,具体而言,涉及一种规则匹配方法及装置。
背景技术
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,可以达到以下目的:1、给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2、可以通过正则表达式,从字符串中获取用户想要的特定部分。正是由于这种强大的特性,使得正则表达式在自然语言处理和文本处理领域具有很重要的地位。但随着对这一领域文本处理需求的日益增加,对于这样一类问题,正则表达式已不能很高效地满足需求。例如,欲识别某一类语法的句子,如“{某时某地},{某人}做了{某事}”。再例如,欲抽取一些实体及其关系,但实体词的可能性很大,或是无法一一枚举,如“{某人甲}是{某人乙}的丈夫”中抽取夫妻关系等。这一类需求的相同点是通过文本本身很少能够找到通用的匹配规则,{某人甲}的可能性很多,并且,中文文本中人名与其上下文相连没有断句,即不能匹配到文本的隐含信息。
针对相关技术中规则匹配方法不能匹配文本隐含信息的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种规则匹配方法及装置,以解决相关技术中规则匹配方法不能匹配文本隐含信息的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种规则匹配方法。该方法包括:获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号,多个标记符号是根据不同的业务需求对文本进行标记的符号;根据多个标记符号确定多个匹配规则模板;根据多个标记符号对目标文本进行转化处理,得到待匹配序列;以及使用多个匹配规则模板对待匹配序列进行匹配处理。
进一步地,使用多个匹配规则模板对待匹配序列进行匹配处理包括:在多个匹配规则模板中确定当前匹配规则模板,其中,当前匹配规则模板包括多个匹配项;使用当前匹配规则模板中的每个匹配项与待匹配序列中的字符逐一进行匹配;若待匹配序列中存在与当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则匹配结果为真;以及若待匹配序列中不存在与当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则将多个匹配规则模板中的下一匹配规则模板作为当前匹配规则模板与待匹配序列进行匹配,直到匹配结果为真、或者全部匹配规则模板均与待匹配序列进行匹配为止。
进一步地,该方法还包括:确定匹配结果为真对应的匹配规则模板中的目标项,其中,目标项是匹配结果为真对应的匹配规则模板中标识的需要返回的结果项;从待匹配序列中提取目标项的值,得到目标内容;以及发送目标内容至目标地址。
进一步地,根据多个标记符号对目标文本进行转化处理,得到待匹配序列包括:对目标文本进行分词处理,得到字符串序列,其中,字符串序列为具有标识能力的字符串单元组成的序列;根据多个标记符号确定字符串序列中的每个字符串单元对应的标记符号序列,得到标记符号序列集合;以及将标记符号序列集合作为待匹配序列。
进一步地,该方法还包括:在得到标记符号序列集合之后,将字符串序列与标记符号序列集合进行合并处理,得到待匹配序列。
为了实现上述目的,根据本申请的另一方面,提供了一种规则匹配装置。该装置包括:第一获取单元,用于获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号,多个标记符号是根据不同的业务需求对文本进行标记的符号;第一确定单元,用于根据多个标记符号确定多个匹配规则模板;转化单元,用于根据多个标记符号对目标文本进行转化处理,得到待匹配序列;以及匹配单元,用于使用多个匹配规则模板对待匹配序列进行匹配处理。
进一步地,匹配单元包括:第一确定模块,用于在多个匹配规则模板中确定当前匹配规则模板,其中,当前匹配规则模板包括多个匹配项;第一匹配模块,用于使用当前匹配规则模板中的每个匹配项与待匹配序列中的字符逐一进行匹配;获取模块,用于若待匹配序列中存在与当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则匹配结果为真;以及第二匹配模块,用于若待匹配序列中不存在与当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则将多个匹配规则模板中的下一匹配规则模板作为当前匹配规则模板与待匹配序列进行匹配,直到匹配结果为真、或者全部匹配规则模板均与待匹配序列进行匹配为止。
进一步地,该装置还包括:第二确定单元,用于确定匹配结果为真对应的匹配规则模板中的目标项,其中,目标项是匹配结果为真对应的匹配规则模板中标识的需要返回的结果项;第二获取单元,用于从待匹配序列中提取目标项的值,得到目标内容;以及发送单元,用于发送目标内容至目标地址。
进一步地,转化单元包括:处理模块,用于对目标文本进行分词处理,得到字符串序列,其中,字符串序列为具有标识能力的字符串单元组成的序列;第二确定模块,用于根据多个标记符号确定字符串序列中的每个字符串单元对应的标记符号序列,得到标记符号序列集合;以及第三确定模块,用于将标记符号序列集合作为待匹配序列。
进一步地,该装置还包括:处理单元,用于在得到标记符号序列集合之后,将字符串序列与标记符号序列集合进行合并处理,得到待匹配序列。
通过本申请,采用以下步骤:获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号;根据多个标记符号确定多个匹配规则模板;根据多个标记符号对目标文本进行转化处理,得到待匹配序列;以及使用多个匹配规则模板对待匹配序列进行匹配处理,解决了相关技术中规则匹配方法不能匹配文本隐含信息的问题。通过对目标文本进行转化处理得到的待匹配序列背后隐藏的标记符号建立规则和进行匹配,进而达到了能够匹配出文本隐含信息的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的规则匹配方法的流程图;以及
图2是根据本申请实施例的规则匹配装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请的实施例,提供了一种规则匹配方法。
图1是根据本申请实施例的规则匹配方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号,多个标记符号是根据不同的业务需求对文本进行标记的符号。
在本申请中的目标文本为需要对其中的文本数据进行匹配的文本。该目标文本可以来自资料和文件,也可以是来自互联网中的网页中的文本。
可选地,在本申请实施例提供的规则匹配方法中,在获取预先设定的标记符号集合和目标文本之前,该方法还包括:在多种业务需求中确定目标业务需求;根据目标业务需求确定标记符号,得到多个标记符号;以及通过多个标记符号组成标记符号集合。
对于不同的业务需求,完全可以定义不同类型的标记,用以支持具体的业务。例如,多种业务需求中包括:命名实体识别、Query意图理解、语义理解、词性标注任务、中文分词任务等等。如果以中文分词任务为目标业务需求,对于中文分词任务,要求标记的对象是组成一个词的不同元素,可以定义“B”作为一个词的首字,“E”作为一个词的尾字,“M”作为一个词的中间部分,如此,形如“苹果”的词可以打上“B E”的标记,形如“天安门”的词可以打上“B M E”的标记。或者,如果以词性标注任务为目标业务需求,标记的对象是分词结果的一个切分词,可以定义“Noun”作为名词词性,“Verb”作为动词词性等。或者,如果以依存句法分析为目标业务需求,标记对象可以表示当前词所修饰的对象与当前词的相对位置关系,可以定义“SBV_3”作为主谓关系并且中心词位于当前词后移3个词位置的标记等等。除此之外,对于命名实体识别、Query意图理解,语义理解等业务需求,也可以根据具体情况定制对应的标记形式。例如,可以给人名定义“Person”的标记,也可以给地名定义“Location”的标记,或者,可以给人名的姓氏定义“Last Name”,并给名字定义“First Name”等等。
根据目标业务需求确定出多个标记符号,得到标记符号集合。
步骤S102,根据多个标记符号确定多个匹配规则模板。
上述已根据目标业务需求得到包括多个标记符号的标记符号集合。在确定标记符号集合之后,为了从目标文本的字符串中抽取信息,预先根据需要抽取的信息内容确定多个匹配规则模板。例如,标记符号定义了“Person”表示人名,“De”表示的,“Noun”表示除人名外的其他名词,那么匹配规则模板为:“*/Person+的/De+*/Noun”就可以表示“{某人}的{某物}”这样的一系列的对应关系。对于一些复杂的情形,如根据业务需求是想得到“<{某物},属于,{某人}>”这样的三元组关系,并且能够表述该关系的表达方式不仅仅是上述一种情形,那么,可以通过另外确定匹配规则模板的方式继续覆盖其他的表述方式,如匹配规则模板为:“*/Noun+是/%+*/Person+的/De”,其中,“*”和“%”都是本申请中定义的通配符,分别对应着任意字符串和任意标记,同样,对于通配符的具体符号,在本申请中不作限定。由此可知,本申请的匹配规则模板同时包含对字符串的匹配条件和对标记符号的匹配条件,而标记符号包含了字符串背后隐藏的含义和规则,因此,通过这两个匹配条件可以匹配出特定业务需求下的文本。
步骤S103,根据多个标记符号对目标文本进行转化处理,得到待匹配序列。
其中,该待匹配序列为对目标文本中的文本数据经过转化处理后组成的序列。
可选地,在本申请实施例提供的规则匹配方法中,根据多个标记符号对目标文本进行转化处理,得到待匹配序列包括:对目标文本进行分词处理,得到字符串序列,其中,字符串序列为具有标识能力的字符串单元组成的序列;根据多个标记符号确定字符串序列中的每个字符串单元对应的标记符号序列,得到标记符号序列集合;以及将标记符号序列集合作为待匹配序列。
目标文本中的文本数据是通常意义下的文章、句子或短语、词组形式的字符串,例如,“张三的笔记本在桌子上”、“这是李四的手机”等。字符串序列是指具有独立标记符号标识能力的字符串单元组成的序列,这里的字符串单元可能是一个词,也可能是一个单字,例如上例中,“张三的笔记本在桌子上”是一个字符串序列,因为“张三”、“的”、“笔记本”、“在”、“桌子”、“上”都可以对应独立的词性标记。同样,若以姓氏和名字作为独立标记,“张三”也可以分成“张”和“三”分别作为独立的字符串单元进行处理。最后,标记序列是指对于字符串序列中每一个字符串单元所对应的标记符号序列,上例中,“Person De Noun Prep Noun Prep”是“张三的笔记本在桌子上”对应的标记序列,将“Person De Noun Prep Noun Prep”作为待匹配序列。
可选地,在本申请实施例提供的规则匹配方法中,该方法还包括:在得到标记符号序列集合之后,将字符串序列与标记符号序列集合进行合并处理,得到待匹配序列。
由于字符串序列和标记序列之间存在一一对应的关系,可以将两序列合并进行表示,如“张三/Person的/De笔记本/Noun在/Prep桌子/Noun上/Prep”,将“张三/Person的/De笔记本/Noun在/Prep桌子/Noun上/Prep”作为待匹配序列。
需要说明的是,将目标文本中的文本数据转化为字符串序列和标记序列的方法有很多种,无论哪一种方法,都是实现该转化目的的措施。例如,转化方法有以下几种:第一种方式,通过人工标注的方式实现转化,例如前面的例子,可以通过人工的方式将一个文本数据进行字符串单元的拆分,并对每一个字符串单元设置标记符号。第二种方式,通过外部资源进行自动转化。例如,通过常用人名词典资源进行处理,只要文本数据中出现词典中出现的人名,则将该人名作为一个字符串单元独立出来,并为其赋予Person的标记。第三种方式,通过序列标注模型进行自动转化。例如,可以使用常用的序列标注算法,HMM或者CRF或者其他算法,将转化问题看作是标注一个序列标签的问题,进行对待。这种方式比较适合自动化要求高的系统,此外,对于如语义角色标注等复杂的标记类型,使用这种转换方法较为适合。在本申请中不限定具体的实现转化的方式。
步骤S104,使用多个匹配规则模板对待匹配序列进行匹配处理。
使用上述确定出的多个匹配规则模板对待匹配序列进行匹配处理。
可选地,在本申请实施例提供的规则匹配方法中,使用多个匹配规则模板对待匹配序列进行匹配处理包括:在多个匹配规则模板中确定当前匹配规则模板,其中,当前匹配规则模板包括多个匹配项;使用当前匹配规则模板中的每个匹配项与待匹配序列中的字符逐一进行匹配;若待匹配序列中存在与当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则匹配结果为真;以及若待匹配序列中不存在与当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则将多个匹配规则模板中的下一匹配规则模板作为当前匹配规则模板与待匹配序列进行匹配,直到匹配结果为真、或者全部匹配规则模板均与待匹配序列进行匹配为止。
例如,令:rule_index、term_index分别表示匹配规则模板的索引位置和待匹配序列的索引位置;T[term_index]表示待匹配序列相应索引位置下的字符串单元和标记符号;R[rule_index]表示规则模板相应索引位置下的匹配模板。Tlength表示待匹配序列的长度;Rlength表示匹配规则模板的长度;Boolean IsMatch(Rule r,Term t)表示匹配的方法。初始化,判断Tlength>Rlength,若为False直接跳出;否则,置全部初始的索引位置为零,即:rule_index=0,term_index=0。对于多个匹配规则模板中的每条匹配规则模板和待匹配序列,具体的匹配过程包括如下几个步骤:
第一步,对当前索引位置的Term和Rule进行匹配,并记匹配结果为isMatch。若isMatch为True,表示当前索引位置匹配成功,转入第二步;否则,若isMatch为False,表示当前索引位置匹配不成功,转入第三步。
第二步,判断rule_index<(Rlength-1),即是否为匹配规则模板的最后一项,如果True,表示已成功匹配整个模板,转入第五步;如果False,表示匹配尚未结束,转入第四步。
第三步,当匹配不成功时,需要回退至下一个要匹配的位置上,进行后续的匹配工作。具体地,term_index回退rule_index个索引位置,即term_index=-rule_index,然后,重置rule_index=-1,并转入第四步。
第四步,执行下一次匹配的准备,即判断term_index后面是否还有剩余项,若无,则表示待匹配序列已经到最后,但规则还未匹配完毕,即匹配失败,返回输出False或Null;否则,rule_index++;term_index++;并转入第一步。
第五步,匹配结果返回,若匹配模板中无特殊标识,则返回匹配成功True。
例如,待匹配序列为“张三/Person的/De笔记本/Noun在/Prep桌子/Noun上/Prep”,匹配规则模板一为“*/Person+的/%+*/Noun”。进行匹配时,第一步,匹配“张三/Person”与“*/Person”成功,转入第二步,判断未到模板最后项,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“的/De”与“的/%”成功,转入第二步,判断模板最后项,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“笔记本/Noun”与“*/Noun”成功,转入第二步,判断模板最后项,转入第五步,输出True。
匹配规则模板二为“*/Noun+是/%+*/Person+的/%”。进行匹配时,第一步,匹配“张三/Person”与“*/Noun”失败,转入第三步,回退索引位置,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“的/De”与“*/Noun”失败,转入第三步,回退索引位置,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“笔记本/Noun”与“*/Noun”成功,转入第二步,判断未到模板最后项,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“在/Prep”与“是/%”失败,转入第三步,回退索引位置,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“在/Prep”与“*/Noun”失败,转入第三步,回退索引位置,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“桌子/Noun”与“*/Noun”成功,转入第二步,判断未到模板最后项,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“上/Prep”与“是/%”失败,转入第三步,回退索引位置,转入第四步,判断未到待匹配序列最后项,更新索引位置,转入第一步,匹配“上/Prep”与“*/Noun”失败,转入第三步,回退索引位置,转入第四步,判断已经达到待匹配序列最后项,规则匹配失败,返回False。
可选地,在本申请实施例提供的规则匹配方法中,该方法还包括:确定匹配结果为真对应的匹配规则模板中的目标项,其中,目标项是匹配结果为真对应的匹配规则模板中标识的需要返回的结果项;从待匹配序列中提取目标项的值,得到目标内容;以及发送目标内容至目标地址。
若匹配规则模板中标识了需要返回的结果项,则需要提取对应项的值并作为返回结果输出。例如,在成功与匹配规则模板匹配后,根据要求提取匹配到的全部或者部分内容,作为返回值,以满足更丰富的业务需求。例如,对于上述例子,“张三的笔记本在桌子上”、“这是李四的手机”,可以返回存在“{某人}的{某物}”的布尔结果,还可以返回“{某人:张三,某物:笔记本}”、“{某人:李四,某物:手机}”这样的抽取结果。
需要说明的是,由于匹配规则模板中包含本申请中定义的通配符,因此抽取结果可以提取到两个实体A和B以及两个实体之间的关系R,例如:匹配规则模板为:“*/男人+是/%+*/女人+的/%+丈夫/%”,抽取结果可以为<陈某,李某>,<王某,张某>等,灵活的获取到文本中的隐含信息。抽取结果还可以提取实体A以及实体所处的状态,例如,<宝马,关于购车咨询>等等。抽取结果中包含了文本的隐含信息等,并将抽取结果发送至目标地址,供后续的对抽取结果进行分析。
通过以上步骤,本申请根据不同的业务需求逻辑产生不同类型的标记符号,并轻松地建立规则和对文本中的隐含信息进行匹配。
本申请实施例提供的规则匹配方法,通过获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号;根据多个标记符号确定多个匹配规则模板;根据多个标记符号对目标文本进行转化处理,得到待匹配序列;以及使用多个匹配规则模板对待匹配序列进行匹配处理,解决了相关技术中规则匹配方法不能匹配文本隐含信息的问题。通过对目标文本进行转化处理得到的待匹配序列背后隐藏的标记符号建立规则和进行匹配,进而达到了能够匹配出文本隐含信息的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种规则匹配装置,需要说明的是,本申请实施例的规则匹配装置可以用于执行本申请实施例所提供的用于规则匹配方法。以下对本申请实施例提供的规则匹配装置进行介绍。
图2是根据本申请实施例的规则匹配装置的示意图。如图2所示,该装置包括:第一获取单元10、第一确定单元20、转化单元30和匹配单元40。
第一获取单元10,用于获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号,多个标记符号是根据不同的业务需求对文本进行标记的符号。
第一确定单元20,用于根据多个标记符号确定多个匹配规则模板。
转化单元30,用于根据多个标记符号对目标文本进行转化处理,得到待匹配序列。
匹配单元40,用于使用多个匹配规则模板对待匹配序列进行匹配处理。
本申请实施例提供的规则匹配装置,通过第一获取单元10获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号;第一确定单元20根据多个标记符号确定多个匹配规则模板;转化单元30根据多个标记符号对目标文本进行转化处理,得到待匹配序列;以及匹配单元40使用多个匹配规则模板对待匹配序列进行匹配处理,解决了相关技术中规则匹配方法不能匹配文本隐含信息的问题,通过对目标文本进行转化处理得到的待匹配序列背后隐藏的标记符号建立规则和进行匹配,进而达到了能够匹配出文本隐含信息的效果。
可选地,在本申请实施例提供的规则匹配装置中,匹配单元40包括:第一确定模块,用于在多个匹配规则模板中确定当前匹配规则模板,其中,当前匹配规则模板包括多个匹配项;第一匹配模块,用于使用当前匹配规则模板中的每个匹配项与待匹配序列中的字符逐一进行匹配;获取模块,用于若待匹配序列中存在与当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则匹配结果为真;以及第二匹配模块,用于若待匹配序列中不存在与当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则将多个匹配规则模板中的下一匹配规则模板作为当前匹配规则模板与待匹配序列进行匹配,直到匹配结果为真、或者全部匹配规则模板均与待匹配序列进行匹配为止。
可选地,在本申请实施例提供的规则匹配装置中,该装置还包括:第二确定单元,用于确定匹配结果为真对应的匹配规则模板中的目标项,其中,目标项是匹配结果为真对应的匹配规则模板中标识的需要返回的结果项;第二获取单元,用于从待匹配序列中提取目标项的值,得到目标内容;以及发送单元,用于发送目标内容至目标地址。
可选地,在本申请实施例提供的规则匹配装置中,转化单元30包括:处理模块,用于对目标文本进行分词处理,得到字符串序列,其中,字符串序列为具有标识能力的字符串单元组成的序列;第二确定模块,用于根据多个标记符号确定字符串序列中的每个字符串单元对应的标记符号序列,得到标记符号序列集合;以及第三确定模块,用于将标记符号序列集合作为待匹配序列。
可选地,在本申请实施例提供的规则匹配装置中,该装置还包括:处理单元,用于在得到标记符号序列集合之后,将字符串序列与标记符号序列集合进行合并处理,得到待匹配序列。
所述规则匹配装置包括处理器和存储器,上述第一获取单元、第一确定单元、转化单元和匹配单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元实现相应功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数进行规则匹配。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(Flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取预先设定的标记符号集合和目标文本,标记符号集合包括多个标记符号;根据多个标记符号确定多个匹配规则模板;根据多个标记符号对目标文本进行转化处理,得到待匹配序列;以及使用多个匹配规则模板对待匹配序列进行匹配处理。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种规则匹配方法,其特征在于,包括:
获取预先设定的标记符号集合和目标文本,所述标记符号集合包括多个标记符号,所述多个标记符号是根据不同的业务需求对文本进行标记的符号;
根据所述多个标记符号确定多个匹配规则模板;
根据所述多个标记符号对所述目标文本进行转化处理,得到待匹配序列;以及
使用所述多个匹配规则模板对所述待匹配序列进行匹配处理。
2.根据权利要求1所述的方法,其特征在于,使用所述多个匹配规则模板对所述待匹配序列进行匹配处理包括:
在所述多个匹配规则模板中确定当前匹配规则模板,其中,所述当前匹配规则模板包括多个匹配项;
使用所述当前匹配规则模板中的每个匹配项与所述待匹配序列中的字符逐一进行匹配;
若所述待匹配序列中存在与所述当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则匹配结果为真;以及
若所述待匹配序列中不存在与所述当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则将所述多个匹配规则模板中的下一匹配规则模板作为当前匹配规则模板与所述待匹配序列进行匹配,直到匹配结果为真、或者全部匹配规则模板均与所述待匹配序列进行匹配为止。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定匹配结果为真对应的匹配规则模板中的目标项,其中,所述目标项是所述匹配结果为真对应的匹配规则模板中标识的需要返回的结果项;
从所述待匹配序列中提取所述目标项的值,得到目标内容;以及
发送所述目标内容至目标地址。
4.根据权利要求1所述的方法,其特征在于,根据所述多个标记符号对所述目标文本进行转化处理,得到待匹配序列包括:
对所述目标文本进行分词处理,得到字符串序列,其中,所述字符串序列为具有标识能力的字符串单元组成的序列;
根据所述多个标记符号确定所述字符串序列中的每个字符串单元对应的标记符号序列,得到标记符号序列集合;以及
将所述标记符号序列集合作为所述待匹配序列。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在得到标记符号序列集合之后,将所述字符串序列与所述标记符号序列集合进行合并处理,得到所述待匹配序列。
6.一种规则匹配装置,其特征在于,包括:
第一获取单元,用于获取预先设定的标记符号集合和目标文本,所述标记符号集合包括多个标记符号,所述多个标记符号是根据不同的业务需求对文本进行标记的符号;
第一确定单元,用于根据所述多个标记符号确定多个匹配规则模板;
转化单元,用于根据所述多个标记符号对所述目标文本进行转化处理,得到待匹配序列;以及
匹配单元,用于使用所述多个匹配规则模板对所述待匹配序列进行匹配处理。
7.根据权利要求6所述的装置,其特征在于,所述匹配单元包括:
第一确定模块,用于在所述多个匹配规则模板中确定当前匹配规则模板,其中,所述当前匹配规则模板包括多个匹配项;
第一匹配模块,用于使用所述当前匹配规则模板中的每个匹配项与所述待匹配序列中的字符逐一进行匹配;
获取模块,用于若所述待匹配序列中存在与所述当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则匹配结果为真;以及
第二匹配模块,用于若所述待匹配序列中不存在与所述当前匹配规则模板中的每个匹配项逐一相匹配的连续字符,则将所述多个匹配规则模板中的下一匹配规则模板作为当前匹配规则模板与所述待匹配序列进行匹配,直到匹配结果为真、或者全部匹配规则模板均与所述待匹配序列进行匹配为止。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于确定匹配结果为真对应的匹配规则模板中的目标项,其中,所述目标项是所述匹配结果为真对应的匹配规则模板中标识的需要返回的结果项;
第二获取单元,用于从所述待匹配序列中提取所述目标项的值,得到目标内容;以及
发送单元,用于发送所述目标内容至目标地址。
9.根据权利要求6所述的装置,其特征在于,所述转化单元包括:
处理模块,用于对所述目标文本进行分词处理,得到字符串序列,其中,所述字符串序列为具有标识能力的字符串单元组成的序列;
第二确定模块,用于根据所述多个标记符号确定所述字符串序列中的每个字符串单元对应的标记符号序列,得到标记符号序列集合;以及
第三确定模块,用于将所述标记符号序列集合作为所述待匹配序列。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
处理单元,用于在得到标记符号序列集合之后,将所述字符串序列与所述标记符号序列集合进行合并处理,得到所述待匹配序列。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510993093.7A CN106919542B (zh) | 2015-12-24 | 2015-12-24 | 规则匹配方法及装置 |
US16/065,810 US10796077B2 (en) | 2015-12-24 | 2016-11-25 | Rule matching method and device |
PCT/CN2016/107314 WO2017107738A1 (zh) | 2015-12-24 | 2016-11-25 | 规则匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510993093.7A CN106919542B (zh) | 2015-12-24 | 2015-12-24 | 规则匹配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106919542A true CN106919542A (zh) | 2017-07-04 |
CN106919542B CN106919542B (zh) | 2020-04-21 |
Family
ID=59089025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510993093.7A Active CN106919542B (zh) | 2015-12-24 | 2015-12-24 | 规则匹配方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10796077B2 (zh) |
CN (1) | CN106919542B (zh) |
WO (1) | WO2017107738A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182234A (zh) * | 2017-12-27 | 2018-06-19 | 中科鼎富(北京)科技发展有限公司 | 正则表达式筛选方法和装置 |
CN108256925A (zh) * | 2018-03-16 | 2018-07-06 | 北京星汇银通咨询服务有限责任公司 | 广义互换交易 |
CN108268623A (zh) * | 2018-01-09 | 2018-07-10 | 顺丰科技有限公司 | 一种文本提取方法、装置、设备和介质 |
CN109376847A (zh) * | 2018-08-31 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 用户意图识别方法、装置、终端及计算机可读存储介质 |
CN110472015A (zh) * | 2019-08-13 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 一种文本信息提取方法、装置、终端及存储介质 |
CN111611788A (zh) * | 2020-04-14 | 2020-09-01 | 大唐软件技术股份有限公司 | 一种数据处理的方法及装置、电子设备、存储介质 |
CN113408271A (zh) * | 2021-06-16 | 2021-09-17 | 北京来也网络科技有限公司 | 基于rpa及ai的信息抽取方法、装置、设备及介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111490889B (zh) * | 2019-01-28 | 2023-01-20 | 上海大唐移动通信设备有限公司 | 一种无线业务增长预估方法及装置 |
CA3132157A1 (en) * | 2019-03-05 | 2020-09-10 | Stash Financial, Inc. | Stock rewards in consumer transactions |
CN112187739B (zh) * | 2020-09-11 | 2022-12-20 | 苏州浪潮智能科技有限公司 | 一种强制访问规则的配置方法、系统、终端及存储介质 |
CN112182400B (zh) * | 2020-10-16 | 2024-03-29 | 中国工商银行股份有限公司 | 消息处理方法、消息处理装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1392497A (zh) * | 2002-07-24 | 2003-01-22 | 彭泉 | 大字符串匹配方法 |
CN101727466A (zh) * | 2008-10-31 | 2010-06-09 | 北大方正集团有限公司 | 一种业务对象数据的验证方法及其装置 |
CN102541960A (zh) * | 2010-12-31 | 2012-07-04 | 北大方正集团有限公司 | 一种模糊检索的方法及装置 |
CN102609459A (zh) * | 2012-01-12 | 2012-07-25 | 神州数码网络(北京)有限公司 | 基于正则表达式的字符串匹配方法和装置 |
CN103235774A (zh) * | 2013-04-27 | 2013-08-07 | 杭州电子科技大学 | 一种科技项目申请书特征词提取方法 |
CN103440315A (zh) * | 2013-08-27 | 2013-12-11 | 北京工业大学 | 一种基于主题的Web页面清洗方法 |
CN103440252A (zh) * | 2013-07-25 | 2013-12-11 | 北京师范大学 | 一种中文句子中并列信息提取方法及装置 |
CN104572636A (zh) * | 2015-02-04 | 2015-04-29 | 苏州大学 | 一种调序模型建立方法、装置及翻译方法 |
WO2015087075A1 (en) * | 2013-12-11 | 2015-06-18 | Touchtype Limited | System and method for inputting text into electronic devices |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055578A (zh) * | 2006-04-12 | 2007-10-17 | 龙搜(北京)科技有限公司 | 基于规则的文档内容挖掘器 |
US20110035210A1 (en) * | 2009-08-10 | 2011-02-10 | Benjamin Rosenfeld | Conditional random fields (crf)-based relation extraction system |
CN103136221B (zh) | 2011-11-24 | 2017-06-06 | 北京百度网讯科技有限公司 | 一种生成需求模板的方法、需求识别的方法及其装置 |
CN103455471B (zh) | 2012-06-01 | 2016-12-14 | 阿里巴巴集团控股有限公司 | 一种将文本解析成键值对的方法和装置 |
CN103631882B (zh) * | 2013-11-14 | 2017-01-18 | 北京邮电大学 | 基于图挖掘技术的语义化业务生成系统和方法 |
JP6403382B2 (ja) | 2013-12-20 | 2018-10-10 | 国立研究開発法人情報通信研究機構 | フレーズペア収集装置、及びそのためのコンピュータプログラム |
CN105183733A (zh) * | 2014-06-05 | 2015-12-23 | 阿里巴巴集团控股有限公司 | 一种文本信息的匹配、业务对象的推送方法和装置 |
CN104361127B (zh) | 2014-12-05 | 2017-09-26 | 广西师范大学 | 基于领域本体和模板逻辑的多语种问答接口快速构成方法 |
US9684496B1 (en) * | 2016-03-25 | 2017-06-20 | Norman L. Reid | Method for parsing programming languages and structured data |
-
2015
- 2015-12-24 CN CN201510993093.7A patent/CN106919542B/zh active Active
-
2016
- 2016-11-25 US US16/065,810 patent/US10796077B2/en active Active
- 2016-11-25 WO PCT/CN2016/107314 patent/WO2017107738A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1392497A (zh) * | 2002-07-24 | 2003-01-22 | 彭泉 | 大字符串匹配方法 |
CN101727466A (zh) * | 2008-10-31 | 2010-06-09 | 北大方正集团有限公司 | 一种业务对象数据的验证方法及其装置 |
CN102541960A (zh) * | 2010-12-31 | 2012-07-04 | 北大方正集团有限公司 | 一种模糊检索的方法及装置 |
CN102609459A (zh) * | 2012-01-12 | 2012-07-25 | 神州数码网络(北京)有限公司 | 基于正则表达式的字符串匹配方法和装置 |
CN103235774A (zh) * | 2013-04-27 | 2013-08-07 | 杭州电子科技大学 | 一种科技项目申请书特征词提取方法 |
CN103440252A (zh) * | 2013-07-25 | 2013-12-11 | 北京师范大学 | 一种中文句子中并列信息提取方法及装置 |
CN103440315A (zh) * | 2013-08-27 | 2013-12-11 | 北京工业大学 | 一种基于主题的Web页面清洗方法 |
WO2015087075A1 (en) * | 2013-12-11 | 2015-06-18 | Touchtype Limited | System and method for inputting text into electronic devices |
CN104572636A (zh) * | 2015-02-04 | 2015-04-29 | 苏州大学 | 一种调序模型建立方法、装置及翻译方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182234A (zh) * | 2017-12-27 | 2018-06-19 | 中科鼎富(北京)科技发展有限公司 | 正则表达式筛选方法和装置 |
CN108182234B (zh) * | 2017-12-27 | 2021-07-09 | 鼎富智能科技有限公司 | 正则表达式筛选方法和装置 |
CN108268623A (zh) * | 2018-01-09 | 2018-07-10 | 顺丰科技有限公司 | 一种文本提取方法、装置、设备和介质 |
CN108268623B (zh) * | 2018-01-09 | 2022-06-03 | 顺丰科技有限公司 | 一种文本提取方法、装置、设备和介质 |
CN108256925A (zh) * | 2018-03-16 | 2018-07-06 | 北京星汇银通咨询服务有限责任公司 | 广义互换交易 |
CN109376847A (zh) * | 2018-08-31 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 用户意图识别方法、装置、终端及计算机可读存储介质 |
CN110472015A (zh) * | 2019-08-13 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 一种文本信息提取方法、装置、终端及存储介质 |
CN110472015B (zh) * | 2019-08-13 | 2022-12-13 | 腾讯科技(深圳)有限公司 | 一种文本信息提取方法、装置、终端及存储介质 |
CN111611788A (zh) * | 2020-04-14 | 2020-09-01 | 大唐软件技术股份有限公司 | 一种数据处理的方法及装置、电子设备、存储介质 |
CN111611788B (zh) * | 2020-04-14 | 2024-02-09 | 大唐软件技术股份有限公司 | 一种数据处理的方法及装置、电子设备、存储介质 |
CN113408271A (zh) * | 2021-06-16 | 2021-09-17 | 北京来也网络科技有限公司 | 基于rpa及ai的信息抽取方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US10796077B2 (en) | 2020-10-06 |
US20190012300A1 (en) | 2019-01-10 |
WO2017107738A1 (zh) | 2017-06-29 |
CN106919542B (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919542A (zh) | 规则匹配方法及装置 | |
CN103123618B (zh) | 文本相似度获取方法和装置 | |
CN110134800A (zh) | 一种文档关系可视化处理方法及装置 | |
CN106776538A (zh) | 企业非标准格式文档的信息提取方法 | |
CN105022733B (zh) | Dinfo‑oec文本分析挖掘方法与设备 | |
CN107168957A (zh) | 一种中文分词方法 | |
CN106610951A (zh) | 改进的基于语义分析的文本相似度求解算法 | |
CN106970802A (zh) | 在领域特定语言中集成编程脚本语言的方法及装置 | |
CN111046656A (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN107679110A (zh) | 结合文本分类与图片属性提取完善知识图谱的方法及装置 | |
CN106611041A (zh) | 一种新的文本相似度求解方法 | |
US11170169B2 (en) | System and method for language-independent contextual embedding | |
CN109522338A (zh) | 临床术语挖掘方法、装置、电子设备及计算机可读介质 | |
CN111444324A (zh) | 基于断句的多意图识别方法、装置、设备及存储介质 | |
CN105335350A (zh) | 一种基于集成学习的语种识别方法 | |
CN109255117A (zh) | 中文分词方法及装置 | |
CN113722483A (zh) | 话题分类方法、装置、设备及存储介质 | |
CN112989208A (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN111325034A (zh) | 多轮对话中语义补齐的方法、装置、设备及存储介质 | |
CN111190873B (zh) | 一种用于云原生系统日志训练的日志模式提取方法及系统 | |
CN109800418A (zh) | 文本处理方法、装置和存储介质 | |
CN110413972B (zh) | 一种基于nlp技术的表名字段名智能补全方法 | |
CN110929518A (zh) | 一种使用重叠拆分规则的文本序列标注算法 | |
CN103218420A (zh) | 一种网页标题提取方法及装置 | |
CN112560425A (zh) | 模板生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |