CN107609032A - 一种匹配方法及电子设备 - Google Patents
一种匹配方法及电子设备 Download PDFInfo
- Publication number
- CN107609032A CN107609032A CN201710676586.7A CN201710676586A CN107609032A CN 107609032 A CN107609032 A CN 107609032A CN 201710676586 A CN201710676586 A CN 201710676586A CN 107609032 A CN107609032 A CN 107609032A
- Authority
- CN
- China
- Prior art keywords
- character
- matched
- node
- information
- dictionary
- 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
Landscapes
- Machine Translation (AREA)
Abstract
本发明实施例提供一种匹配方法和电子设备,用于解决现有技术中电子设备使用字典对文本信息进行匹配时的匹配效果较差的技术问题。该方法包括:获取待匹配信息,待匹配信息为来自至少一个应用的通知信息,通知信息包括特殊字符,特殊字符包括字母和/或数字;根据字典树对待匹配信息进行匹配,确定待匹配信息中匹配成功的至少一个分词;其中,字典树为将多个词典格式按照链表格式输出形成的树,字典树中每个节点对应于词典格式中的特殊字符或固定字符,且每个节点的结束标识用于指示节点对应的字符是否为词典格式中的结尾字符,映射表用于指示每个节点的子节点;根据至少一个分词,输出与待匹配信息对应的包含至少两个切分标记的切分信息。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种匹配方法及电子设备。
背景技术
在随着移动互联网的迅猛发展,其产生的信息量正在飞速增加,如何从这些信息中提取我们感兴趣的部分,正是自然语言处理(Neuro-Linguistic Programming,NLP)需要研究的内容。特别是对于移动互联网的入口——手机,已经成为众多互联网公司必争之地。因此,通过对这些应用类文本进行正确解析,可为用户提供更为优质的服务。
文本解析包括文本切分和语义分析两个阶段,对于手机上各类公司企业的应用文本信息,一般结构都较为规整,文字信息量充分,模板变化频度比较小,很适合在第一步文本切分阶段采用字典法。传统字典法都是采用固定词汇的方式定义属性,但是在公司应用信息中,会包含很多数字,英文、特殊含义标示等,传统字典无法完整覆盖这些信息并且准确对原文进行切分。
传统的字符串匹配方法都是针对固定字符串匹配的,其需要在字典中预存较多的固定字符串。例如,若产品名称为:“每天盈201708号,合同为ht089888号”,则相应设置的固定字符串可能为“RMB”,“每天盈”,“合同”,等等,然而在匹配过程中会导致整个语句被切分的非常琐碎,例如会导致与数字或字母有关的特殊变量不能被完整切分,从而破坏语义的完整性,不利于后期语义分析阶段的处理。
综上可知,现有技术中采用传统的字典对文本信息匹配时,匹配效果较差。
发明内容
本发明实施例提供一种匹配方法和电子设备,用于解决现有技术中电子设备使用字典对文本信息进行匹配时的匹配效果较差的技术问题。
第一方面,本发明实施例提供一种匹配方法,应用于电子设备,包括以下步骤:
获取待匹配信息,所述待匹配信息为来自至少一个应用的通知信息,所述通知信息包括特殊字符,所述特殊字符包括字母和/或数字;
根据字典树对所述待匹配信息进行匹配,确定所述待匹配信息中匹配成功的至少一个分词;其中,所述至少一个分词为包含所述特殊字符的字符串,所述字典树为将多个词典格式按照链表格式输出形成的树,所述多个词典格式中每个词典格式用于表征特殊字符在字符串中的分布,所述字典树中每个节点对应于所述词典格式中的特殊字符或固定字符,且每个节点包括结束标识和映射表,所述结束标识用于指示节点对应的字符是否为词典格式中的结尾字符,所述映射表用于指示每个节点的子节点;
根据所述至少一个分词,输出与所述待匹配信息对应的包含至少两个切分标记的切分信息。
可选的,根据字典树对所述待匹配信息进行匹配,确定所述待匹配信息中匹配成功的至少一个分词,包括:
按照排列次序,将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配;
若确定所述字典树中包括与所述第一字符对应的第一节点,将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配;
若匹配到包含结束标识的结束节点,将所述待匹配信息中由所述第一字符至与所述结束节点匹配的字符所形成的字符串确定为一个分词。
可选的,在将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配之前,所述方法还包括:
若确定所述第一字符为大写形式的字母字符,将所述第一字符转换为小写形式的字符;
以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中的节点进行匹配,包括:
以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配;或者
以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配,并在确定所述第一字符与所述至少两个节点匹配失败时,将所述第一字符与所述字典树中对应于特殊字符的节点进行匹配。
可选的,在确定所述第一字符与所述至少两个节点匹配失败时,将所述第一字符与所述字典树中对应特殊字符的节点进行匹配,包括:
在确定所述第一字符与所述至少两个节点匹配失败时,判断所述第一字符是否为特殊字符,及判断所述字典树中是否包含所述第一字符对应的节点;
若确定所述第一字符为特殊字符,且所述字典树中包含所述第一字符对应的节点,则确定所述待匹配信息中从所述第一字符开始直至所述第一字符后首次出现的非特殊字符为止,所述第一字符的匹配结束。
可选的,在将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配之后,所述方法还包括:
若确定所述第一节点对应的映射表为空,或,确定所述第二字符与所述第一节点的映射表指示的多个子节点匹配失败,或,确定所述第二字符匹配成功且所述第二字符为所述待匹配信息的末尾字符,结束当前次的匹配。
第二方面,本发明实施例提供一种电子设备,包括:
获取模块,用于获取待匹配信息,所述待匹配信息为来自至少一个应用的通知信息,所述通知信息包括特殊字符,所述特殊字符包括字母和/或数字;
操作模块,用于根据字典树对所述待匹配信息进行匹配,确定所述待匹配信息中匹配成功的至少一个分词;其中,所述至少一个分词为包含所述特殊字符的字符串,所述字典树为将多个词典格式按照链表格式输出形成的树,所述多个词典格式中每个词典格式用于表征特殊字符在字符串中的分布,所述字典树中每个节点对应于所述词典格式中的特殊字符或固定字符,且每个节点包括结束标识和映射表,所述结束标识用于指示节点对应的字符是否为词典格式中的结尾字符,所述映射表用于指示每个节点的子节点;
输出模块,用于根据所述至少一个分词,输出与所述待匹配信息对应的包含至少两个切分标记的切分信息。
可选的,所述操作模块包括:
第一匹配模块,用于按照排列次序,将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配;
第二匹配模块,用于若确定所述字典树中包括与所述第一字符对应的第一节点,将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配;
确定模块,用于若匹配到包含结束标识的结束节点,将所述待匹配信息中由所述第一字符至与所述结束节点匹配的字符所形成的字符串确定为一个分词。
可选的,所述电子设备还包括:
转换模块,用于在将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配之前,若确定所述第一字符为大写形式的字母字符,将所述第一字符转换为小写形式的字符;
所述第一匹配模块用于:以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配;或者,以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配,并在确定所述第一字符与所述至少两个节点匹配失败时,将所述第一字符与所述字典树中对应于特殊字符的节点进行匹配。
可选的,所述第一匹配模块还用于:
在确定所述第一字符与所述至少两个节点匹配失败时,判断所述第一字符是否为特殊字符,及判断所述字典树中是否包含所述第一字符对应的节点;
若确定所述第一字符为特殊字符,且所述字典树中包含所述第一字符对应的节点,则确定所述待匹配信息中从所述第一字符开始直至所述第一字符后首次出现的非特殊字符为止,所述第一字符的匹配结束。
可选的,所述操作模块还用于:
在将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配之后,若确定所述第一节点对应的映射表为空,或,确定所述第二字符与所述第一节点的映射表指示的多个子节点匹配失败,或,确定所述第二字符匹配成功且所述第二字符为所述待匹配信息的末尾字符,结束当前次的匹配。
本发明实施例中,电子设备获取的待匹配信息为来自至少一个应用的通知信息,且通知信息包括特殊字符,该特殊字符包括字母和/或数字,进而,电子设备可以根据字典树对待匹配信息进行匹配,确定待匹配信息中匹配成功的至少一个分词,该至少一个分词为包含特殊字符的字符串,且该字典树为将多个词典格式按照链表格式输出所形成的树,多个词典格式中每个词典格式用于表征特殊字符在字符串中的分布,字典树中每个节点对应于词典格式中的特殊字符或固定字符,且每个节点包括结束标识和映射表,结束标识用于指示节点对应的字符是否为词典格式中的结尾字符,映射表用于指示每个节点的子节点,进而根据至少一个分词,电子设备可以输出与待匹配信息对应的包含至少两个切分标记的切分信息。
附图说明
图1为本发明实施例中匹配方法的流程图;
图2为本发明实施例中字典树的示意图;
图3为本发明实施例中电子设备的模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
首先,为了便于本领域技术人员的理解,对本发明实施例中所用的部分名词进行解释。
1)待匹配信息,可以是指商户、运营商或企业等机构向用户发送的包含特殊字符的通知信息,例如包含数字和/字母的快递信息、酒店机票预订信息、运营商资费信息、银行卡使用信息或应用推送信息等。
2)词典格式,可以是预先根据采集的来自至少一个数据源的通知信息所确定的词典格式模板,其可以表征特殊字符在字符串中的分布。例如,词典格式可以是S月S日,S:S,本月S日,rmbS.S,S.Smb,Z座S单元S,等等,其中,“S”代表数字(如一个或多个数字),“Z”代表字母(如一个或多个字母),词典格式中的小写字母可表征文本中的固定字符,如rmb或mb等。
3)字典树,可以是将多个词典格式按照链表格式输出所形成的树。在实际应用中,字典树可以是在传统的含有固定字符串的字典的基础上,将词典格式加入传统字典后的混合字典所对应的字典树。字典树中根节点下的每个节点对应于词典格式中的特殊字符或固定字符。在匹配过程中,可根据字典树对待匹配信息中的每个字符进行匹配。
如图1所示,本发明实施例提供一种匹配方法,可以应用在电子设备中,该方法可以描述如下。
S11:获取待匹配信息,待匹配信息为来自至少一个应用的通知信息,通知信息包括特殊字符,特殊字符包括字母和/或数字;
S12:根据字典树对待匹配信息进行匹配,确定待匹配信息中匹配成功的至少一个分词;其中,至少一个分词为包含特殊字符的字符串,字典树为将多个词典格式按照链表格式输出形成的树,多个词典格式中每个词典格式用于表征特殊字符在字符串中的分布,字典树中每个节点对应于词典格式中的特殊字符或固定字符,且每个节点包括结束标识和映射表,结束标识用于指示节点对应的字符是否为词典格式中的结尾字符,映射表用于指示每个节点的子节点;
S13:根据至少一个分词,输出与待匹配信息对应的包含至少两个切分标记的切分信息。
本发明实施例中,至少一个应用可以是同一类或不同类的应用。例如,目前,各类的公司企业都会开发自己的应用程序(Application,APP)或在第三方应用平台上建立自己的服务账号(例如企业服务公众号)为用户提供各种服务。
因此,至少一个应用可以是电子设备中的应用,待匹配信息可以是应用发送的信息。例如,通过站内信、APP通知或者其他方式发送的通知信息。待匹配信息中包括特殊字符,如数字和/或字母。在实际应用中,在特殊字符的字符串中还可以包括部分特殊符号字符,如S.SS中的“.”,或S:S中的“:”,等等。
实际应用中,在S11之前,电子设备可以对字典树的节点定义新的数据结构和规则,进而根据包含词典格式的混合字典生成字典树。
那么,首先,电子设备可对字典树节点定义新的数据结构和规则。例如,定义在混合字典的字典树中的每个节点都有两种情况,一是对应于固定字符,二是特殊规则字符。其中,固定字符中的英文字符一律都采取小写形式,以与特殊规则字符的Z,S进行区别。
然后,其他节点的特性需要定义两个基本属性,一是结束标识,用于表征当前节点对应的字符是否为词典格式中的结尾字符,例如1表示是,0表示否;二为子节点Map对应表,也称映射表,用于指示每个节点的子节点,例如(Word->Node,…),如果Map为null,则表示该节点为最终叶子节点。
最后,将混合字典表构造成一棵树。例如,将上述字典按照链表格式输出成一棵树。根节点为Root节点,剩下的字符按照树的定义串起来。
例如,若词典格式包括:①时间型变量:S年,S月,S:S;②金额型变量:rmbS,S.S元;③产品名称:每天盈S号,合同为ZS号;④地址编号:某某小区Z座S单元S。则Root下的第一个特殊节点的属性可以为{S,0,(年->Node1,月->Node2,:->Node3,.->Node4)},Node1的属性为{年,1,null}。其中,(年->Node1,月->Node2,:->Node3,.->Node4)为S的映射表,生成该映射表的依据是S在词典格式中对应的字符串格式,如S年,S月,S:S,S.S,根据紧邻首字符S后的一个字符即可确定S对应的Map表。例如,图2所示,其为根据词典格式生成的字典树,图中节点内的小黑点代表结束标识为1。
在生成字典树后,S12中,可将待匹配信息的字符与字典树中的节点进行匹配,匹配成功的至少一个分词。在具体匹配过程中,可以按照排列次序,逐个将待匹配信息中的字符与字典树中的节点进行匹配,进而在匹配成功时确定匹配成功的至少一个分词。
具体的,可将待匹配信息中的第一字符与字典树中的节点进行匹配,若确定字典树中包括与第一字符对应的第一节点,将与第一字符相邻的第二字符与第一节点的映射表指示的多个子节点进行匹配,若匹配到包含结束标识的结束节点,将待匹配信息中由第一字符至与结束节点匹配的字符所形成的字符串确定为一个分词。
可选的,在将待匹配信息与字典树的节点进行匹配之前,可将待匹配信息中包含的字母字符转换为小写形式再进行匹配,以避免和字典树中的特殊字符节点(如S或Z)冲突。例如,在将待匹配信息中的第一字符与字典树中的节点进行匹配之前,若确定第一字符为大写形式的字母字符,如RMB,将第一字符转为小写形式的字符,即rmb。
因此,在实际应用中,在将第一字符与字典树中的节点进行匹配时,可以包括但不仅限于以下两种方式:
方式一:以待匹配信息的第一字符为起点,将第一字符与字典树中与固定字符对应的至少两个节点进行匹配。
其中,固定字符可以是固定的字母字符,如rmb、ht或http://www等。其对应的至少两个节点中每个节点即为字母字符中的字符。
若匹配成功,则表明该第一字符为固定字符中的字母,如与“rmb”中的“r”匹配成功,此时可以继续对第一字符之后的字母逐个进行匹配。若第一字符匹配不成功,则表明该第一字符不是固定字符中的字母字符。
方式二:以待匹配信息的第一字符为第一起点,将第一字符与字典树中与固定字符对应的至少两个节点进行匹配,并在确定第一字符与至少两个节点匹配失败时,将第一字符与字典树中对应于特殊字符的节点进行匹配。
即,在通过将第一字符与字典树中与固定字符对应的至少两个节点进行匹配后,确定待匹配信息中的第一字符不为固定字符,此时,则可将第一字符与字典树中的节点进行匹配,例如与字典树中现有的固定字符或特殊字符对应的节点进行匹配。
其中,在确定第一字符与至少两个节点匹配失败时,在将第一字符与字典树中对应特殊字符的节点进行匹配时的过程可以是:在确定第一字符与至少两个节点匹配失败时,判断第一字符是否为特殊字符,及判断字典树中是否包含第一字符对应的节点;若确定第一字符为特殊字符,且字典树中包含第一字符对应的节点,则确定待匹配信息中从第一字符开始直至第一字符后首次出现的非特殊字符为止,第一字符的匹配结束。也就是说,如果确定待匹配信息中第一字符为特殊字符(如数字或字母),且与字典树中的节点匹配成功,则可以将该特殊字符相邻的多个字符一同进行匹配,从而确定待匹配信息中与“Z”匹配的数字串,或与“S”匹配的字母串。
例如,对于待输入字符串ABCDEFG,假设一共含有7个字符。在进行匹配时,可以通过两个游标来体现匹配进度。在匹配开始时,主游标、副游标指向待匹配信息中的第一个字符A,如果A是字符,则转为小写后开始和字典树进行比较,如果字典树的根(Root)下含有A开头的节点(Node),则副游标指向第二个字符B。
如果不含有A字段的Node,则判断当前A是否为字母并且Root下含有“Z”开头的节点,或者判断当前A是否为数字并且Root下含有“S”开头的节点,如果这两种情况之一出现,则表示当前字典树中含有特殊规则,并且是连续字母和/或数字的组合,这时候副游标从A后面的字符往后扫,直到出现第一个非字母和数字的字符。例如,若输入待匹配的字符串为2017年业绩,主游标和副游标开始皆为“2”,字典树中Root下只有“S”开头的节点,属于数字的特殊规则情况,则副游标往右边移动,直到第一个非数字字符“年”,S的特殊规则匹配结束。
对副游标指向的字符继续与前一个字符的子节点进行比较,看是否匹配,比如上述字段中副游标对应的字符“年”正好与S的子节点“年”可以匹配上,而且当前字符(即“年”)对应的节点的结束标记为“1”,且子节点Map为null,则表示在字典中“S年”已经是当前已匹配的最长的词语(lastword),可直接输出。如果词典中还有一个“S年S月”的词语,这时候“年”的子节点Map不为null而为“S”,定义lastword为历史最长字符串,lastword为“S年”,同时原文的副游标需要继续在原文往后走,查找输入字符串是否还有与“S”符合的字符串。
在本发明另一实施例中,在将与第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配之后,若确定第一节点对应的映射表为空,或,确定第二字符与第一节点的映射表指示的多个子节点匹配失败,或,确定第二字符匹配成功且第二字符为待匹配信息的末尾字符,即可结束当前次的匹配。也就是说,在匹配过程中,有三种情况可以退出当前查找/匹配过程,下面分别进行叙述。
情况一:当前副游标已经到待输入字符串末尾G。
例如,若字典中以A开头的词语含有ABCD,ABCDEFGH两个词,当前主游标在A,副游标在H,lastword为ABCD,这时候原文ABCFEFG被切分为ABCD|EFG,即ABCD为一个分词。然后主、副游标同时移动到E字符,开始对EFG字符串新一轮比较。
情况二:当前副游标对应的字在字典中已经没有子节点。
例如,若字典中以A开头的词语含有ABC,ABCD;以G开头的词语含有GH。若当前主游标在A,副游标在D,且当前字典中D的子节点为null,此时,ABCD表示是以A开头的一匹配的最长的词语,就可以直接作为一个分词输出,然后主、副游标到E,进行新一轮匹配;
情况三:当前副游标对应的字与字典中前一个字的所有子节点都不匹配。
例如,若字典中以A开头的词语含有ABC,ABCE词语。此时,主游标在A,副游标在D,lastword为ABC,前一个字C的子节点为(E->Node1),与副游标对应的D不一样。这时候lastword(ABC)可作为一个分词输出,同时,主副游标跳到lastword结束后第一个字符,即D处,开始进入下一轮匹配。
因此,在出现上述三种情况中的任一情况时,均可以结束当前次匹配,并输出已匹配的部分。
在实际应用中,若字典中以A开头的词语含有ACE词语。如果主游标在A,副游标在B,lastword为空,副游标的前一个字符A的子节点为(C->Node1),没有可以匹配的节点。这时候,主游标的单子A作为一个词语输出,主副游标跳到之前主游标结束后第一个字符B,开始进入下一轮匹配。
此外,对于原文含有英文字母的情况,首先需要将英文字母变成小写在继续和字典点的节点进行匹配。例如,以“收入RMB34”举例,当主副游标移到“R”时,将R变成小写形式r与词典进行匹配,发现词典中有“rmbS”,可以固定词汇匹配到b,副游标到3的时候,可以与词典中的S进行匹配,最后将原文中的RMB34切分出来。
通过上述介绍的匹配方法,可将待匹配信息中包括的固执字符串和特殊字符相关的
下面是文本切分的实例。
输入的待匹配的文本:您的保单编号每天赢201980988号3月需要交费1779.98元。
切分后的文本:您的保单编号|每天赢201980988号|3月|需要交费|1779.98元|。
因此,本方案提出的固定字符和特殊字符串混合匹配的方式可以更好的适应现有的应用信息的特征,甚至将专业名词匹配出来,匹配效果较好,有助于对待匹配信息的文本划分,从而解决了传统的字典匹配方法只适合含有固定词汇的词库,且其字典树的设计和匹配方式都是根据固定词库设计的,适用范围比较窄的技术问题。
如图3所示,本发明实施例基于同一发明构思,还提供一种电子设备,该电子设备可以用于执行如图1所示的匹配方法,该电子设备包括获取模块21、操作模块22和输出模块23。
获取模块21可用于获取待匹配信息,所述待匹配信息为来自至少一个应用的通知信息,所述通知信息包括特殊字符,所述特殊字符包括字母和/或数字;
操作模块22可以用于根据字典树对所述待匹配信息进行匹配,确定所述待匹配信息中匹配成功的至少一个分词;其中,所述至少一个分词为包含所述特殊字符的字符串,所述字典树为将多个词典格式按照链表格式输出形成的树,所述多个词典格式中每个词典格式用于表征特殊字符在字符串中的分布,所述字典树中每个节点对应于所述词典格式中的特殊字符或固定字符,且每个节点包括结束标识和映射表,所述结束标识用于指示节点对应的字符是否为词典格式中的结尾字符,所述映射表用于指示每个节点的子节点;
输出模块23可以用于根据所述至少一个分词,输出与所述待匹配信息对应的包含至少两个切分标记的切分信息。
可选的,所述操作模块包括:
第一匹配模块,用于按照排列次序,将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配;
第二匹配模块,用于若确定所述字典树中包括与所述第一字符对应的第一节点,将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配;
确定模块,用于若匹配到包含结束标识的结束节点,将所述待匹配信息中由所述第一字符至与所述结束节点匹配的字符所形成的字符串确定为一个分词。
可选的,所述电子设备还包括:
转换模块,用于在将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配之前,若确定所述第一字符为大写形式的字母字符,将所述第一字符转换为小写形式的字符;
所述第一匹配模块用于:以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配;或者,以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配,并在确定所述第一字符与所述至少两个节点匹配失败时,将所述第一字符与所述字典树中对应于特殊字符的节点进行匹配。
可选的,所述第一匹配模块还用于:
在确定所述第一字符与所述至少两个节点匹配失败时,判断所述第一字符是否为特殊字符,及判断所述字典树中是否包含所述第一字符对应的节点;
若确定所述第一字符为特殊字符,且所述字典树中包含所述第一字符对应的节点,则确定所述待匹配信息中从所述第一字符开始直至所述第一字符后首次出现的非特殊字符为止,所述第一字符的匹配结束。
可选的,所述操作模块23还用于:
在将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配之后,若确定所述第一节点对应的映射表为空,或,确定所述第二字符与所述第一节点的映射表指示的多个子节点匹配失败,或,确定所述第二字符匹配成功且所述第二字符为所述待匹配信息的末尾字符,结束当前次的匹配。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种匹配方法,其特征在于,包括:
获取待匹配信息,所述待匹配信息为来自至少一个应用的通知信息,所述通知信息包括特殊字符,所述特殊字符包括字母和/或数字;
根据字典树对所述待匹配信息进行匹配,确定所述待匹配信息中匹配成功的至少一个分词;其中,所述至少一个分词为包含所述特殊字符的字符串,所述字典树为将多个词典格式按照链表格式输出形成的树,所述多个词典格式中每个词典格式用于表征特殊字符在字符串中的分布,所述字典树中每个节点对应于所述词典格式中的特殊字符或固定字符,且每个节点包括结束标识和映射表,所述结束标识用于指示节点对应的字符是否为词典格式中的结尾字符,所述映射表用于指示每个节点的子节点;
根据所述至少一个分词,输出与所述待匹配信息对应的包含至少两个切分标记的切分信息。
2.如权利要求1所述的方法,其特征在于,根据字典树对所述待匹配信息进行匹配,确定所述待匹配信息中匹配成功的至少一个分词,包括:
按照排列次序,将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配;
若确定所述字典树中包括与所述第一字符对应的第一节点,将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配;
若匹配到包含结束标识的结束节点,将所述待匹配信息中由所述第一字符至与所述结束节点匹配的字符所形成的字符串确定为一个分词。
3.如权利要求2所述的方法,其特征在于,在将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配之前,所述方法还包括:
若确定所述第一字符为大写形式的字母字符,将所述第一字符转换为小写形式的字符;
以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中的节点进行匹配,包括:
以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配;或者
以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配,并在确定所述第一字符与所述至少两个节点匹配失败时,将所述第一字符与所述字典树中对应于特殊字符的节点进行匹配。
4.如权利要求3所述的方法,其特征在于,在确定所述第一字符与所述至少两个节点匹配失败时,将所述第一字符与所述字典树中对应特殊字符的节点进行匹配,包括:
在确定所述第一字符与所述至少两个节点匹配失败时,判断所述第一字符是否为特殊字符,及判断所述字典树中是否包含所述第一字符对应的节点;
若确定所述第一字符为特殊字符,且所述字典树中包含所述第一字符对应的节点,则确定所述待匹配信息中从所述第一字符开始直至所述第一字符后首次出现的非特殊字符为止,所述第一字符的匹配结束。
5.如权利要求2所述的方法,其特征在于,在将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配之后,所述方法还包括:
若确定所述第一节点对应的映射表为空,或,确定所述第二字符与所述第一节点的映射表指示的多个子节点匹配失败,或,确定所述第二字符匹配成功且所述第二字符为所述待匹配信息的末尾字符,结束当前次的匹配。
6.一种电子设备,其特征在于,包括:
获取模块,用于获取待匹配信息,所述待匹配信息为来自至少一个应用的通知信息,所述通知信息包括特殊字符,所述特殊字符包括字母和/或数字;
操作模块,用于根据字典树对所述待匹配信息进行匹配,确定所述待匹配信息中匹配成功的至少一个分词;其中,所述至少一个分词为包含所述特殊字符的字符串,所述字典树为将多个词典格式按照链表格式输出形成的树,所述多个词典格式中每个词典格式用于表征特殊字符在字符串中的分布,所述字典树中每个节点对应于所述词典格式中的特殊字符或固定字符,且每个节点包括结束标识和映射表,所述结束标识用于指示节点对应的字符是否为词典格式中的结尾字符,所述映射表用于指示每个节点的子节点;
输出模块,用于根据所述至少一个分词,输出与所述待匹配信息对应的包含至少两个切分标记的切分信息。
7.如权利要求6所述的电子设备,其特征在于,所述操作模块包括:
第一匹配模块,用于按照排列次序,将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配;
第二匹配模块,用于若确定所述字典树中包括与所述第一字符对应的第一节点,将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配;
确定模块,用于若匹配到包含结束标识的结束节点,将所述待匹配信息中由所述第一字符至与所述结束节点匹配的字符所形成的字符串确定为一个分词。
8.如权利要求7所述的电子设备,其特征在于,所述电子设备还包括:
转换模块,用于在将所述待匹配信息中的第一字符与所述字典树中的节点进行匹配之前,若确定所述第一字符为大写形式的字母字符,将所述第一字符转换为小写形式的字符;
所述第一匹配模块用于:以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配;或者,以所述待匹配信息的第一字符为第一起点,将所述第一字符与所述字典树中与固定字符对应的至少两个节点进行匹配,并在确定所述第一字符与所述至少两个节点匹配失败时,将所述第一字符与所述字典树中对应于特殊字符的节点进行匹配。
9.如权利要求8所述的电子设备,其特征在于,所述第一匹配模块还用于:
在确定所述第一字符与所述至少两个节点匹配失败时,判断所述第一字符是否为特殊字符,及判断所述字典树中是否包含所述第一字符对应的节点;
若确定所述第一字符为特殊字符,且所述字典树中包含所述第一字符对应的节点,则确定所述待匹配信息中从所述第一字符开始直至所述第一字符后首次出现的非特殊字符为止,所述第一字符的匹配结束。
10.如权利要求7所述的电子设备,其特征在于,所述操作模块还用于:
在将与所述第一字符相邻的第二字符与所述第一节点的映射表指示的多个子节点进行匹配之后,若确定所述第一节点对应的映射表为空,或,确定所述第二字符与所述第一节点的映射表指示的多个子节点匹配失败,或,确定所述第二字符匹配成功且所述第二字符为所述待匹配信息的末尾字符,结束当前次的匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710676586.7A CN107609032B (zh) | 2017-08-09 | 2017-08-09 | 一种匹配方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710676586.7A CN107609032B (zh) | 2017-08-09 | 2017-08-09 | 一种匹配方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107609032A true CN107609032A (zh) | 2018-01-19 |
CN107609032B CN107609032B (zh) | 2020-12-04 |
Family
ID=61064687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710676586.7A Active CN107609032B (zh) | 2017-08-09 | 2017-08-09 | 一种匹配方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107609032B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034938A (zh) * | 2018-06-11 | 2018-12-18 | 广东因特利信息科技股份有限公司 | 信息快速筛选匹配方法、装置、电子设备及存储介质 |
CN110851747A (zh) * | 2018-08-01 | 2020-02-28 | 北京国双科技有限公司 | 一种信息匹配方法和装置 |
CN111310450A (zh) * | 2020-03-23 | 2020-06-19 | 中国建设银行股份有限公司 | 一种字符串分词方法、装置、设备及存储介质 |
CN113836367A (zh) * | 2021-09-26 | 2021-12-24 | 杭州迪普科技股份有限公司 | 一种字符反向匹配的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5706496A (en) * | 1995-03-15 | 1998-01-06 | Matsushita Electric Industrial Co., Ltd. | Full-text search apparatus utilizing two-stage index file to achieve high speed and reliability of searching a text which is a continuous sequence of characters |
CN105183788A (zh) * | 2015-08-20 | 2015-12-23 | 及时标讯网络信息技术(北京)有限公司 | 一种基于关键词字典树检索的中文ac自动机工作方法 |
-
2017
- 2017-08-09 CN CN201710676586.7A patent/CN107609032B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5706496A (en) * | 1995-03-15 | 1998-01-06 | Matsushita Electric Industrial Co., Ltd. | Full-text search apparatus utilizing two-stage index file to achieve high speed and reliability of searching a text which is a continuous sequence of characters |
CN105183788A (zh) * | 2015-08-20 | 2015-12-23 | 及时标讯网络信息技术(北京)有限公司 | 一种基于关键词字典树检索的中文ac自动机工作方法 |
Non-Patent Citations (1)
Title |
---|
JIANGWEN127: "IK分词源码分析连载(二)--子分词器", 《HTTP://BLOG.CHINAUNIX.NET/UID-20761674-ID-3424176.HTML》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034938A (zh) * | 2018-06-11 | 2018-12-18 | 广东因特利信息科技股份有限公司 | 信息快速筛选匹配方法、装置、电子设备及存储介质 |
CN109034938B (zh) * | 2018-06-11 | 2022-07-05 | 广东因特利信息科技股份有限公司 | 信息快速筛选匹配方法、装置、电子设备及存储介质 |
CN110851747A (zh) * | 2018-08-01 | 2020-02-28 | 北京国双科技有限公司 | 一种信息匹配方法和装置 |
CN110851747B (zh) * | 2018-08-01 | 2022-08-02 | 北京国双科技有限公司 | 一种信息匹配方法和装置 |
CN111310450A (zh) * | 2020-03-23 | 2020-06-19 | 中国建设银行股份有限公司 | 一种字符串分词方法、装置、设备及存储介质 |
CN111310450B (zh) * | 2020-03-23 | 2023-07-14 | 中国建设银行股份有限公司 | 一种字符串分词方法、装置、设备及存储介质 |
CN113836367A (zh) * | 2021-09-26 | 2021-12-24 | 杭州迪普科技股份有限公司 | 一种字符反向匹配的方法及装置 |
CN113836367B (zh) * | 2021-09-26 | 2023-04-28 | 杭州迪普科技股份有限公司 | 一种字符反向匹配的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107609032B (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190377788A1 (en) | Methods and systems for language-agnostic machine learning in natural language processing using feature extraction | |
CN107609032A (zh) | 一种匹配方法及电子设备 | |
CN1936893B (zh) | 基于互联网信息的输入法词频库的生成方法和系统 | |
CN111930966A (zh) | 一种用于数字政务的智能政策匹配方法及系统 | |
CN113807098A (zh) | 模型训练方法和装置、电子设备以及存储介质 | |
CN105574092B (zh) | 信息挖掘方法和装置 | |
CN110489198A (zh) | 一种工单处理的方法和系统 | |
CN105630938A (zh) | 一种智能问答系统 | |
CN107145481A (zh) | 电子设备、存储介质、网页表单填充方法及装置 | |
CN109740159B (zh) | 用于命名实体识别的处理方法及装置 | |
CN103902269B (zh) | 一种通过xml文件生成mib文件的系统及方法 | |
CN112925898B (zh) | 基于人工智能的问答方法、装置、服务器及存储介质 | |
CN109388717B (zh) | 一种批量生成语料的方法和系统 | |
CN106407377A (zh) | 基于人工智能的搜索方法和装置 | |
CN108090104A (zh) | 用于获取网页信息的方法和装置 | |
CN112016290A (zh) | 一种文档自动排版方法、装置、设备及存储介质 | |
CN106874240A (zh) | 数字出版方法及系统 | |
CN103076894A (zh) | 一种用于根据对象标识信息构建输入词条的方法与设备 | |
JP5485236B2 (ja) | Faq作成支援システム及びプログラム | |
US11620282B2 (en) | Automated information retrieval system and semantic parsing | |
JP2022187507A (ja) | 技術調査支援装置、技術調査支援方法、および技術調査支援プログラム | |
CN106294875B (zh) | 一种命名实体模糊检索方法与系统 | |
CN109871516A (zh) | 一种双层pdf批量生成word的方法 | |
CN103064967A (zh) | 一种用于建立用户二元关系库的方法与设备 | |
CN113448544B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |