一种用户输入信息的处理方法和装置制造方法

文档序号:6504477阅读:124来源:国知局
一种用户输入信息的处理方法和装置制造方法
【专利摘要】本发明实施例公开了一种用户输入信息的处理方法、装置和用户设备;本发明实施例采用获取用户输入信息,确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数并进行命名实体判定,得到至少一个命名实体结果,然后将命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,将中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从中提取命名实体所对应的实际参数,将实际参数与实际规则中的参数串进行拼接,得到拼接后参数串,最后根据实际规则中的命令号对拼接后参数串进行处理,以实现对用户意图进行识别的目的。即便是对于说法比较灵活的场景,该方案也可以较好地识别出用户意图,并精确提取相关参数供后续处理使用。
【专利说明】一种用户输入信息的处理方法和装置

【技术领域】
[0001]本发明涉及通信【技术领域】,具体涉及一种用户输入信息的处理方法、装置和用户设备。

【背景技术】
[0002]随着通信技术的飞速发展,终端应用的种类和功能也越来越多样化,关于用户意图判断的终端应用就是其中的一种。这些终端应用、比如语音处理应用可以接收用户输入的信息,根据这些信息识别出用户意图,然后根据用户意图为用户提供相应的服务,也就是说,通过使用这些终端应用,用户便可以在一定程度上通过自然语言与计算机进行交流,实现人机交互。
[0003]在现有技术中,一般都基于正则规则来对获取到的用户输入信息进行匹配,从而来对用户意图进行识别的。所谓正则规则,也称为正则表达式规则,是一种基于正则表达式所设立的过滤(或称为匹配)规则。而正则表达式,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其中,在对用户输入信息进行匹配时,通常可以通过固定的位置来对用户输入信息中的参数进行提取,因此,对于说法较固定的场景,一般都可以较为准确地提取出相关参数,以及识别出用户意图。
[0004]在对现有技术的研究和实践过程中,本发明的发明人发现,虽然现有方案对于说法较固定的场景,可以较好地对用户意图进行识别,但是对于说法变化比较多的场景,并不能很好地进行识别。


【发明内容】

[0005]本发明实施例提供一种用户输入信息的处理方法、装置和用户设备,即便是对于说法比较灵活的场景,也可以较好地识别出用户意图,并精确提取相关参数供后续处理使用。
[0006]一种用户输入信息处理方法,包括:
[0007]获取用户输入信息;
[0008]确定所述用户输入信息符合预置的正则规则时,从所述用户输入信息中提取中间参数,所述正则规则根据实际规则设置而成,所述实际规则包括规则串、命令号和参数串;
[0009]对提取的中间参数进行命名实体判定,得到至少一个命名实体结果;
[0010]将所述命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,所述剩余部分为提取了中间参数后剩余的用户输入信息;
[0011]将所述中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从所述匹配的中间结果中提取命名实体所对应的实际参数;所述标准正则由实际规则中的规则串转换而成;
[0012]将所述实际参数与实际规则中的参数串进行拼接,得到拼接后参数串;
[0013]根据实际规则中的命令号对所述拼接后参数串进行处理。
[0014]一种用户输入信息处理装置,包括:
[0015]信息获取单元,用于获取用户输入信息;
[0016]提取单元,用于确定所述用户输入信息符合预置的正则规则时,从所述用户输入信息中提取中间参数,所述正则规则根据实际规则设置而成,所述实际规则包括规则串、命令号和参数串;
[0017]判定单元,用于对提取的中间参数进行命名实体判定,得到至少一个命名实体结果;
[0018]第一拼接单元,用于将所述命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,所述剩余部分为提取了中间参数后剩余的用户输入信息;
[0019]第一处理单元,用于将所述中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从所述匹配的中间结果中提取命名实体所对应的实际参数;所述标准正则由实际规则中的规则串转换而成;
[0020]第二拼接单元,用于将所述实际参数与实际规则中的参数串进行拼接,得到拼接后参数串;
[0021]第二处理单元,用于根据实际规则中的命令号对所述拼接后参数串进行处理。
[0022]本发明实施例采用获取用户输入信息,确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数并进行命名实体判定,得到至少一个命名实体结果,然后将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,再将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从中提取命名实体所对应的实际参数,将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串,最后根据实际规则中的命令号对该拼接后参数串进行处理,以实现对用户意图进行识别的目的。由于该方案在对获取到的用户输入信息进行匹配时,可以对提取的中间参数进行命名实体判定,并利用正则规则对用户输入信息进行多次的提取、匹配和拼接,所以可以更灵活和全面地对获取到的用户输入信息进行匹配,以充分地得到符合用户意图的各种可能性,也就是说,即便是对于说法比较灵活的场景,该方案也可以较好地识别出用户意图,并精确提取相关参数供后续处理使用。

【专利附图】

【附图说明】
[0023]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本发明实施例提供的用户输入信息的处理方法的流程图;
[0025]图2是本发明实施例提供的用户输入信息的处理方法的另一流程图;
[0026]图3是本发明实施例提供的用户输入信息的处理装置的结构示意图;
[0027]图4是本发明实施例提供的用户输入信息的处理装置的结构另一示意图;
[0028]图5是本发明实施例提供的终端的结构示意图。

【具体实施方式】
[0029]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]本发明实施例提供一种用户输入信息的处理方法和装置。以下分别进行详细说明。
[0031]实施例一、
[0032]本发明实施例将从用户输入信息的处理装置的角度进行描述,该用户输入信息的处理装置具体可以集成在终端中,该终端具体可以为智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Aud1 Layer III,动态影像专家压缩标准音频层面 3)、MP4 (Moving Picture Experts Group Aud1 Layer IV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机和台式计算机等等。
[0033]一种用户输入信息的处理方法,包括:获取用户输入信息;确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数,对提取的中间参数进行命名实体判定,得到至少一个命名实体结果,将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从该匹配的中间结果中提取命名实体所对应的实际参数,将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串,根据实际规则中的命令号对该拼接后参数串进行处理。
[0034]如图1所示,具体流程可以如下:
[0035]101、获取用户输入信息。
[0036]例如,该用户输入信息可以是用户输入的语音信息或文字信息等。
[0037]102、确定步骤101获取到的用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数。
[0038]其中,该正则规则根据实际规则设置而成,该实际规则可以包括规则串、命令号和参数串;例如,以查询某个城市到另一个城市的火车为例,该实际规则具体可以如下:
[0039]%p28 (到 I 去)%p28 (火车 | 列车 | 车次)1002011 %sl | %s2 | 3 | %s
[0040]其中,%p28 (到I去)%p28 (火车|列车|车次)为规则串部分,10020为命令号,而11 %sl I %s2 I 3 I %s则为参数串。
[0041]也就是说,在获取用户输入信息(即步骤101)之前,该用户输入信息的处理方法还可以包括:
[0042]获取预置的实际规则,其中,该实际规则包括规则串、命令号和参数串;将该实际规则中的规则串转换为正则规则,以及将该实际规则中的规则串转换为标准正则。例如,具体可以如下:
[0043](I)将该实际规则中的规则串转换为正则规则;
[0044]将该规则串中的第一个参数和最后一个参数之间的内容转换为第一标识,其中,该第一标识用于标识按位置提取的参数,比如,该第一标识具体可以为“ %sl”。
[0045]其中,规则串中的“%pxx”即为名实体占位符,也称为命名实体位置参数,在本发明实施例中简称为规则串中的参数,比如,以上述实际规则的规则串中的“%p28”即称为规则串中的参数,以规则串“%p28(到I去)%p28(火车I列车I车次)”为例,如果第一标识为“%sl”,则可以把该规则串中的第一个“ %pxx”和最后一个“ %pxx”之间的内容都转为“ %sl”,即将两个“%P28”之间的内容都转为“%sl”,如下:
[0046]%sl (火车I列车I车次)
[0047](2)将该实际规则中的规则串转换为标准正则;
[0048]分别在该规则串中的所有参数的前后都添加第二标识,其中,该第二标识用于标识允许匹配任意字符串的参数,比如,该第二标识具体可以为*”。
[0049]例如,还是以规则串“%p28 (到I去)%p28 (火车|列车|车次)”为例,如果第二标识为*”,则可以把所有%pxx前后加*”,即把所有“%p28”的前后都加上*”,如下:
[0050].*%ρ28.* (到 I 去).*%ρ28.* (火车 | 列车 | 车次)
[0051]需说明的是,在系统里,可能会存在多条正则规则,具体可以使用多个vector (向量类)来存放这些正则规则,不同优先级的正则规则存放在不同的vector里,高优先级的正则规则优先命中,同一优先级的正则规则按照配置出现的顺序依次处理,也就是说,步骤102具体可以如下:
[0052]根据优先级从高到低的顺序从预置的多条正则规则中确定当前正则规则,确定该用户输入信息符合当前正则规则时,从该用户输入信息中提取中间参数。
[0053]103、对提取的中间参数进行命名实体判定,得到至少一个命名实体结果。例如,具体可以如下:
[0054]将提取的中间参数分别与预置的命名实体库中的命名实体进行匹配,得到至少一个与该提取的中间参数匹配的命名实体结果。
[0055]其中,命名实体就是人名、机构名、地名以及其他所有以名称为标识的实体。更广泛的实体还可以包括数字、日期、货币、地址等等,在此不再赘述。
[0056]其中,命名实体库可以由维护人员预先进行设置,也可以由系统通过在网上收集资源然后自行进行建立,即,在获取用户输入信息(即步骤101)之前,该方法还可以包括:
[0057]建立命名实体库,其中,该命名实体库可以采用双数组字典(Trie)树进行存储。
[0058]104、将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,所述剩余部分为提取了中间参数后剩余的用户输入信息。
[0059]105、将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从该匹配的中间结果中提取命名实体所对应的实际参数。
[0060]其中,标准正则由实际规则中的规则串转换而成,具体可参见步骤102。
[0061]106、将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串。
[0062]107、根据实际规则中的命令号对该拼接后参数串进行处理。例如,具体可以如下:
[0063]根据实际规则中的命令号调用对应的命令字,利用该命令字对该拼接后参数串进行处理。
[0064]由上可知,本实施例采用获取用户输入信息,确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数并进行命名实体判定,得到至少一个命名实体结果,然后将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,再将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从中提取命名实体所对应的实际参数,将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串,最后根据实际规则中的命令号对该拼接后参数串进行处理,以实现对用户意图进行识别的目的。由于该方案在对获取到的用户输入信息进行匹配时,可以对提取的中间参数进行命名实体判定,并利用正则规则对该用户输入信息进行多次的提取、匹配和拼接,所以可以更灵活和全面地对获取到的用户输入信息进行匹配,以充分地得到符合用户意图的各种可能性,也就是说,即便是对于说法比较灵活的场景,该方案也可以较好地识别出用户意图,并精确提取相关参数供后续处理使用。
[0065]实施例二、
[0066]根据实施例所描述的方法,以下将以该用户输入信息的处理装置具体集成在终端中为例进行详细说明。
[0067]在本实施例中,将以列车车次查询场景为例。
[0068]在该场景中,用户可能会说“查一下深圳到北京的火车”、“深圳到北京有哪些车次”、“深圳到北京有没有卧铺”、“查一下广州来这里的火车”等等,其核心句式为“〈火车站城市 > 到〈火车站城市 >(火车I车次I卧铺)”或“〈火车站城市 > 来这里的火车”,其中,“火车站城市”是一个命名实体,为了描述方便,在本发明实施例中,以“%pXX”作为命名实体占位符,即作为该规则串中的参数,其中,“火车站城市”对应的命名实体占位符为“ %P28”。
[0069]以下,将以“查一下深圳到北京的火车”的处理过程为例进行说明。如图2所示,一种用户输入信息的处理方法,具体流程可以如下:
[0070]201、终端获取预置的实际规则。
[0071]其中,该实际规则包括规则串、命令号和参数串。例如,其格式可以如下:
[0072]%p28 (到 I 去)%p28 (火车 | 列车 | 车次)1002011 %sl | %s2 | 3 | %s
[0073]其中,%p28(到I去)%p28(火车|列车|车次)为规则串部分,10020为命令号,而11 %sl I %s2 I 3 I %s则为参数串。
[0074]其中,规则串主要用于在后续转换成正则规则和标准正则以对原串(即原用户输入信息)进行匹配;命令号则是在该规则被匹配到后,进行处理的命令号;而参数串则主要用于后续的参数串拼接。
[0075]在后续拼接参数串时,参数串中的%sn会使用串中命中的第η个命名实体对应的名字替换,比如,%sl会用串中命中的第I个命名实体对应的名字替换,%s2会用串中命中的第2个命名实体对应的名字替换,%s3会用串中命中的第3个命名实体对应的名字替换,等等,而%s会用整个原串(即原用户输入信息)进行替换,比如,如果原串为“查一下深圳到北京的火车”,其中,串中命中的第I个命名实体对应的名字为深圳,串中命中的第2个命名实体对应的名字为北京,则拼接后的参数串为“II深圳I北京|3|查一下深圳到北京的火车”。
[0076]202、终端将该实际规则中的规则串转换为正则规则,例如,具体可以如下:
[0077]将该规则串中的第一个参数和最后一个参数之间的内容转换为第一标识,其中,该第一标识用于标识按位置提取的参数,比如,该第一标识具体可以为“ %sl”。
[0078]例如,以规则串“ %p28(到I去)%p28(火车|列车|车次)”为例,如果第一标识为“%sl”,则可以把该规则串中的第一个“%pxx”和最后一个“%pxx”之间的内容都转为“%sl”,即将两个“%P28”之间的内容都转为“%sl”,如下:
[0079]%sl (火车I列车I车次)
[0080]203、终端将该实际规则中的规则串转换为标准正则。例如,具体可以如下:
[0081]分别在该规则串中的所有参数的前后都添加第二标识,其中,该第二标识用于标识允许匹配任意字符串的参数,比如,该第二标识具体可以为*”。
[0082]例如,还是以规则串“%p28 (到I去)%p28 (火车|列车|车次)”为例,如果第二标识为*”,则可以把所有%pxx前后加*”,即把所有“%p28”的前后都加上*”,如下:
[0083].*%ρ28.* (到 I 去).*%ρ28.* (火车 | 列车 | 车次)
[0084]204、终端获取用户输入信息。
[0085]例如,如果用户在终端上输入:“查一下深圳到北京的火车”,则此时,终端获取到的用户输入信息为:“查一下深圳到北京的火车”,该用户输入信息也称为原字符串,简称原串O
[0086]205、终端确定获取到的用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数。
[0087]例如,如果步骤204中获取到的用户输入信息为“查一下深圳到北京的火车”,则此时,由于“查一下深圳到北京的火车”符合正则规则“%S1 (火车I列车I车次)”,因此,可以从该用户输入信息中提取中间参数:“查一下深圳到北京的”。
[0088]206、终端将提取的中间参数分别与预置的命名实体库中的命名实体进行匹配,得到至少一个与该提取的中间参数匹配的命名实体结果。
[0089]其中,系统中有多种命名实体,所以,需要对每种命名实体都提取验证一次,得到所有可能的组合返回。比如,“北京”不仅是火车站城市命名实体“%P28”,也是首都命名实体“ %pl6”;同时,假设“深圳到北京”是一首歌,对应歌名命名实体“ %p48”,那么,对“查一下深圳到北京的”进行命名实体判定时,就会返回三个命名实体结果:
[0090](I)查一下 %p28 到 %p28 的;
[0091](2)查一下 %p28 到 %pl6 的;
[0092](3 )查一下 %p48 的。
[0093]其中,命名实体库可以由维护人员预先进行设置,也可以由系统通过在网上收集资源然后自行进行建立,其中,该命名实体库可以采用双数组Trie树进行存储。以下将对双数组Trie树的命名实体匹配方法进行简略说明。
[0094]首先,需要收集并整理需要使用到的命名实体列表,以列车车次查询场景为例,我们需要收集“火车站城市名”命名实体库、“首都名”命名实体库和“歌名”命名实体库。
[0095]其次,将这些命名实体库以双数组Trie树的方式进行存储,比如,可以将整理好的领域实体库,使用命名实体作为词汇,命名实体相关信息(此处命名实体的信息可以自定义结构进行存储)存储位置“index”作为Tire树叶子节点的存储值,建立某领域的命名实体库的双数组Trie树存储结构。其中,每一类命名实体都可以对应一个Trie树。
[0096]再者,对于要进行命名实体匹配的句子,依次使用已建好的所有双数组Trie树来进行匹配。还是以“查一下深圳到北京的”为例,首先使用“火车站城市名” Trie树进行匹配,返回“深圳”和“北京”两个命名实体。再使用“首都名” Trie树进行匹配,返回“北京”一个命名实体;最后使用“歌名” Trie树进行匹配,返回“深圳到北京” 一个命名实体,直至全部Trie树进行匹配完毕后,整理得到的所有命名实体和对应类型为:
[0097]深圳、北京一〉火车站城市名;
[0098]北京一〉首都名;
[0099]深圳到北京一〉歌名。
[0100]对这所有的命名实体在源串中可能的组合情况进行组合,会得到如下结果:
[0101](I)查一下〈火车站城市名:深圳 > 到〈火车站城市名:北京 > 的;
[0102](2)查一下 < 火车站城市名:深圳 > 到 < 首都名:深圳 > 的;
[0103](3)查一下 < 歌名:深圳到北京 > 的。
[0104]因此,命名实体匹配完毕后,可以得到三个命名实体结果:
[0105](I)查一下 %p28 到 %p28 的;
[0106](2)查一下 %p28 到 %pl6 的;
[0107](3)查一下 %p48 的。
[0108]207、终端将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,其中,剩余部分为提取了中间参数后剩余的用户输入信息;
[0109]例如,还是以“查一下深圳到北京的火车”为例,如果在步骤206中,返回的命名实体结果为:
[0110](I)查一下 %p28 到 %p28 的;
[0111](2)查一下 %p28 到 %p 16 的;
[0112](3)查一下 %p48 的。
[0113]贝I」,拼接得到的中间结果分别为:
[0114](I)查一下 %p28 到 %p28 的火车;
[0115](2)查一下 %p28 到 %pl6 的火车;
[0116](3)查一下%p48的火车。
[0117]208、终端将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从该匹配的中间结果中提取命名实体所对应的实际参数。
[0118]例如,具体可以使用regexec函数将步骤207得到的三个中间结果分别与预置的标准正则进行正则匹配,发现第一个中间结果“查一下%p28到%p28的火车”和标准正则“.*%ρ28.* (到I去).*%ρ28.* (火车I列车I车次)”是匹配的,因此,确定中间结果“查一下%ρ28到%ρ28的火车”为匹配的中间结果,并从“查一下%ρ28到%ρ28的火车”提取命名实体所对应的实际参数,分别为“深圳”和“北京”。
[0119]209、终端将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串。
[0120]比如,如果在步骤208中,提取到的实际参数分别为“深圳”和“北京”,则将该实际参数和参数串“ 11 %sl I %s2 I 3 I %s”进行拼接,得到参数串为:
[0121]I I深圳I北京|3|查一下深圳到北京的火车
[0122]210、终端根据实际规则中的命令号调用对应的命令字,并利用该命令字对该拼接后参数串进行处理。
[0123]例如,以如下实际规则为例:
[0124]%p28 (到 I 去)%p28 (火车 | 列车 | 车次)1002011 %sl | %s2 | 3 | %s
[0125]则此时,可以调用命令号为“10020”对应的命令字,利用该命令字对该拼接后参数串进行处理,即对“II深圳I北京|3|查一下深圳到北京的火车”进行处理。
[0126]需说明的是,上述描述的仅仅只是某个规则的处理流程,应当理解的是,系统里可能会存在多条正则规则,具体可以使用多个vector (向量类)来存放这些正则规则,不同优先级的正则规则存放在不同的vector里,高优先级的正则规则优先命中,同一优先级的正则规则按照配置出现的顺序依次处理,各条规则的处理流程与上述流程相似,在此不再赘述。
[0127]由上可知,本实施例采用获取用户输入信息,确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数并进行命名实体判定,得到至少一个命名实体结果,然后将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,再将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从中提取命名实体所对应的实际参数,将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串,最后根据实际规则中的命令号对该拼接后参数串进行处理,以实现对用户意图进行识别的目的。由于该方案在对获取到的用户输入信息进行匹配时,可以对提取的中间参数进行命名实体判定,并利用正则规则对用户输入信息进行多次的提取、匹配和拼接,所以可以更灵活和全面地对获取到的用户输入信息进行匹配,以充分地得到符合用户意图的各种可能性,也就是说,即便是对于说法比较灵活的场景,该方案也可以较好地识别出用户意图,并精确提取相关参数供后续处理使用。
[0128]实施例三、
[0129]为了更好地实施以上方法,本发明实施例提供一种用户输入信息的处理装置,如图3所示,该用户输入信息的处理装置包括信息获取单元301、提取单元302、判定单元303、第一拼接单元304、第一处理单元305、第二拼接单元306和第二处理单元307。
[0130]信息获取单元301,用于获取用户输入信息;例如,该用户输入信息可以是用户输入的语首?目息或文字?目息等。
[0131]提取单元302,用于确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数;
[0132]其中,该正则规则根据实际规则设置而成,该实际规则可以包括规则串、命令号和参数串;例如,以查询某个城市到另一个城市的火车为例,该实际规则具体可以如下:
[0133]%ρ28 (到 I 去)%ρ28 (火车 | 列车 | 车次)1002011 %sl | %s2 | 3 | %s
[0134]其中,%p28(到I去)%p28(火车|列车|车次)为规则串部分,10020为命令号,而11 %sl I %s2 I 3 I %s则为参数串。
[0135]判定单元303,用于对提取的中间参数进行命名实体判定,得到至少一个命名实体结果;
[0136]第一拼接单元304,用于将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,其中,该剩余部分为提取了中间参数后剩余的用户输入信息;
[0137]第一处理单元305,用于将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从该匹配的中间结果中提取命名实体所对应的实际参数;
[0138]其中,标准正则由实际规则中的规则串转换而成。
[0139]第二拼接单元306,用于将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串;
[0140]第二处理单元307,用于根据实际规则中的命令号对该拼接后参数串进行处理。
[0141]可选的,在获取用户输入信息之前,还可以获取预置的实际规则,将该实际规则中的规则串转换为正则规则,以及将该实际规则中的规则串转换为标准正则。即,如图4所示,该用户输入信息的处理装置还可以包括规则获取单元308、第一转换单元309和第二转换单元310 ;
[0142]规则获取单元308,用于获取预置的实际规则,其中,该实际规则可以包括规则串、命令号和参数串;
[0143]第一转换单元309,用于将该实际规则中的规则串转换为正则规则;
[0144]第二转换单元310,用于将该实际规则中的规则串转换为标准正则。
[0145]例如,第一转换单元309,具体可以用于将该规则串中的第一个参数和最后一个参数之间的内容转换为第一标识,其中,该第一标识用于标识按位置提取的参数,比如,该第一标识具体可以为“%s I”。
[0146]第二转换单元310,具体可以用于分别在该规则串中的所有参数的前后都添加第二标识,其中,第二标识用于标识允许匹配任意字符串的参数,比如,该第二标识具体可以为 “.*,,。
[0147]其中,判定单元303,具体可以用于将提取的中间参数分别与预置的命名实体库中的命名实体进行匹配,得到至少一个与所述提取的中间参数匹配的命名实体结果。
[0148]其中,命名实体就是人名、机构名、地名以及其他所有以名称为标识的实体。更广泛的实体还可以包括数字、日期、货币、地址等等,在此不再赘述。
[0149]其中,命名实体库可以由维护人员预先进行设置,也可以由系统通过在网上收集资源然后自行进行建立,即如图4所示,该用户输入信息处理装置还可以包括建立单元311 ;
[0150]建立单元311,用于建立命名实体库,其中,命名实体库采用双数组字典树进行存储。
[0151]其中,第二处理单元307,具体可以用于根据实际规则中的命令号调用对应的命令字,利用该命令字对所述拼接后参数串进行处理。
[0152]需说明的是,在系统里,可能会存在多条正则规则,具体可以使用多个vector (向量类)来存放这些正则规则,不同优先级的正则规则存放在不同的vector里,高优先级的正则规则优先命中,同一优先级的正则规则按照配置出现的顺序依次处理,即:
[0153]提取单元302,具体可以用于根据优先级从高到低的顺序从预置的多条正则规则中确定当前正则规则,确定该用户输入信息符合当前正则规则时,从该用户输入信息中提取中间参数。
[0154]具体实施时,以上各个单元可以作为独立的实体实现,也可以进行任意组合,作为同一或若干个实体来实现。以上各个单元的具体实施可以参见前面的实施例,在此不再赘述。
[0155]该用户输入信息的处理装置具体可以集成在终端中,该终端具体可以为智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机等坐寸ο
[0156]由上可知,本实施例的用户输入信息的处理装置的信息获取单元301可以获取用户输入信息,并在确定该用户输入信息符合预置的正则规则时,由提取单元302从该用户输入信息中提取中间参数并由判定单元303进行命名实体判定,得到至少一个命名实体结果,然后由第一拼接单元304将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,再由第一处理单元305将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并由第二拼接单元306从中提取命名实体所对应的实际参数,将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串,最后由第二处理单元307根据实际规则中的命令号对该拼接后参数串进行处理,以实现对用户意图进行识别的目的。由于该方案在对获取到的用户输入信息进行匹配时,可以对提取的中间参数进行命名实体判定,并利用正则规则对用户输入信息进行多次的提取、匹配和拼接,所以可以更灵活和全面地对获取到的用户输入信息进行匹配,以充分地得到符合用户意图的各种可能性,也就是说,即便是对于说法比较灵活的场景,该方案也可以较好地识别出用户意图,并精确提取相关参数供后续处理使用。
[0157]实施例四、
[0158]相应的,本发明实施例还提供一种终端,如图5所示,该终端可以包括射频(RF,Rad1 Frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(WiFi,Wireless Fidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0159]RF电路501可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。通常,RF电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM, Subscriber Identity Module)卡、收发信机、稱合器、低噪声放大器(LNA, Low Noise Amplifier)、双工器等。此外,RF电路501还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM, Global System of Mobile communicat1n)、通用分组无线服务(GPRS,General Packet Rad1 Service)、码分多址(CDMA, Code Divis1n Multiple Access)、宽带码分多址(WCDMA, Wideband Code Divis1n Multiple Access)、长期演进(LTE, LongTerm Evolut1n)、电子邮件、短消息服务(SMS, Short Messaging Service)等。
[0160]存储器502可用于存储软件程序以及模块,处理器508通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。
[0161]输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元503可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器508,并能接收处理器508发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元503还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0162]显示单元504可用于显示由用户输入信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板,可选的,可以采用液晶显示器(LCD, Liquid Crystal Display)、有机发光二极管(OLED, Organic Light-Emitting D1de)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器508以确定触摸事件的类型,随后处理器508根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图5中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
[0163]终端还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0164]音频电路506、扬声器,传声器可提供用户与终端之间的音频接口。音频电路506可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出?’另一方面,传声器将收集的声音信号转换为电信号,由音频电路506接收后转换为音频数据,再将音频数据输出处理器508处理后,经RF电路501以发送给比如另一终端,或者将音频数据输出至存储器502以便进一步处理。音频电路506还可能包括耳塞插孔,以提供外设耳机与终端的通信。
[0165]WiFi属于短距离无线传输技术,终端通过WiFi模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块507,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0166]处理器508是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。
[0167]终端还包括给各个部件供电的电源509 (比如电池),优选的,电源可以通过电源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源509还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0168]尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现各种功能:
[0169]尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:
[0170]获取用户输入信息;确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数,对提取的中间参数进行命名实体判定,得到至少一个命名实体结果,将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从该匹配的中间结果中提取命名实体所对应的实际参数,将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串,根据实际规则中的命令号对该拼接后参数串进行处理。
[0171]例如,其中,根据实际规则中的命令号对该拼接后参数串进行处理具体可以包括:
[0172]根据实际规则中的命令号调用对应的命令字;利用该命令字对所述拼接后参数串进行处理。
[0173]其中,正则规则根据实际规则设置而成,该实际规则可以包括规则串、命令号和参数串,而标准正则也是根据实际规则设置而成的,即在获取用户输入信息之前,还可以包括:
[0174]获取预置的实际规则,其中,该实际规则包括规则串、命令号和参数串;将该实际规则中的规则串转换为正则规则,以及将该实际规则中的规则串转换为标准正则。例如,具体可以如下:
[0175](I)将该实际规则中的规则串转换为正则规则;
[0176]将该规则串中的第一个参数和最后一个参数之间的内容转换为第一标识,其中,该第一标识用于标识按位置提取的参数,比如,该第一标识具体可以为“ %sl”。
[0177](2)将该实际规则中的规则串转换为标准正则;
[0178]分别在该规则串中的所有参数的前后都添加第二标识,其中,该第二标识用于标识允许匹配任意字符串的参数,比如,该第二标识具体可以为*”。
[0179]需说明的是,在系统里,可能会存在多条正则规则,具体可以使用多个vector (向量类)来存放这些正则规则,不同优先级的正则规则存放在不同的vector里,高优先级的正则规则优先命中,同一优先级的正则规则按照配置出现的顺序依次处理,也就是说,步骤“确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数”具体可以包括:
[0180]根据优先级从高到低的顺序从预置的多条正则规则中确定当前正则规则,确定该用户输入信息符合当前正则规则时,从该用户输入信息中提取中间参数。
[0181]可选的,其中,对提取的中间参数进行命名实体判定,得到至少一个命名实体结果,可以包括:
[0182]将提取的中间参数分别与预置的命名实体库中的命名实体进行匹配,得到至少一个与该提取的中间参数匹配的命名实体结果。
[0183]其中,命名实体库可以由维护人员预先进行设置,也可以由系统通过在网上收集资源然后自行进行建立,即,在获取用户输入信息之前,还可以包括:
[0184]建立命名实体库,所述命名实体库采用双数组字典树进行存储。
[0185]以上各个步骤的具体实施可参见前面的实施例,在此不再赘述。
[0186]由上可知,本实施例的终端采用获取用户输入信息,确定该用户输入信息符合预置的正则规则时,从该用户输入信息中提取中间参数并进行命名实体判定,得到至少一个命名实体结果,然后将该命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,再将该中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从中提取命名实体所对应的实际参数,将该实际参数与实际规则中的参数串进行拼接,得到拼接后参数串,最后根据实际规则中的命令号对该拼接后参数串进行处理,以实现对用户意图进行识别的目的。由于该方案在对获取到的用户输入信息进行匹配时,可以对提取的中间参数进行命名实体判定,并利用正则规则对用户输入信息进行多次的提取、匹配和拼接,所以可以更灵活和全面地对获取到的用户输入信息进行匹配,以充分地得到符合用户意图的各种可能性,也就是说,即便是对于说法比较灵活的场景,该方案也可以较好地识别出用户意图,并精确提取相关参数供后续处理使用。
[0187]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM, Read Only Memory)、随机存取记忆体(RAM, RandomAccess Memory)、磁盘或光盘等。
[0188]以上对本发明实施例所提供的一种用户输入信息的处理方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种用户输入信息的处理方法,其特征在于,包括: 获取用户输入信息; 确定所述用户输入信息符合预置的正则规则时,从所述用户输入信息中提取中间参数,所述正则规则根据实际规则设置而成,所述实际规则包括规则串、命令号和参数串;对提取的中间参数进行命名实体判定,得到至少一个命名实体结果; 将所述命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,所述剩余部分为提取了中间参数后剩余的用户输入信息; 将所述中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从所述匹配的中间结果中提取命名实体所对应的实际参数;所述标准正则由实际规则中的规则串转换而成; 将所述实际参数与实际规则中的参数串进行拼接,得到拼接后参数串; 根据实际规则中的命令号对所述拼接后参数串进行处理。
2.根据权利要求1所述的方法,其特征在于,所述获取用户输入信息之前,还包括: 获取预置的实际规则,所述实际规则包括规则串、命令号和参数串; 将所述实际规则中的规则串转换为正则规则,以及将所述实际规则中的规则串转换为标准正则。
3.根据权利要求2所述的方法,其特征在于,所述将所述实际规则中的规则串转换为正则规则,包括: 将所述规则串中的第一个参数和最后一个参数之间的内容转换为第一标识,所述第一标识用于标识按位置提取的参数。
4.根据权利要求2所述的方法,其特征在于,所述将所述实际规则中的规则串转换为标准正则,包括: 分别在所述规则串中的所有参数的前后都添加第二标识,所述第二标识用于标识允许匹配任意字符串的参数。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述对提取的中间参数进行命名实体判定,得到至少一个命名实体结果,包括: 将提取的中间参数分别与预置的命名实体库中的命名实体进行匹配,得到至少一个与所述提取的中间参数匹配的命名实体结果。
6.根据权利要求5所述的方法,其特征在于,还包括: 建立命名实体库,所述命名实体库采用双数组字典树进行存储。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述根据实际规则中的命令号对所述拼接后参数串进行处理,包括: 根据实际规则中的命令号调用对应的命令字; 利用所述命令字对所述拼接后参数串进行处理。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述确定所述用户输入信息符合预置的正则规则时,从所述用户输入信息中提取中间参数,包括: 根据优先级从高到低的顺序从预置的多条正则规则中确定当前正则规则; 确定所述用户输入信息符合当前正则规则时,从所述用户输入信息中提取中间参数。
9.一种用户输入信息的处理装置,其特征在于,包括: 信息获取单元,用于获取用户输入信息; 提取单元,用于确定所述用户输入信息符合预置的正则规则时,从所述用户输入信息中提取中间参数,所述正则规则根据实际规则设置而成,所述实际规则包括规则串、命令号和参数串; 判定单元,用于对提取的中间参数进行命名实体判定,得到至少一个命名实体结果;第一拼接单元,用于将所述命名实体结果分别和剩余部分进行拼接,得到至少一个中间结果,所述剩余部分为提取了中间参数后剩余的用户输入信息; 第一处理单元,用于将所述中间结果分别与预置的标准正则进行正则匹配,以确定匹配的中间结果,并从所述匹配的中间结果中提取命名实体所对应的实际参数;所述标准正则由实际规则中的规则串转换而成; 第二拼接单元,用于将所述实际参数与实际规则中的参数串进行拼接,得到拼接后参数串; 第二处理单元,用于根据实际规则中的命令号对所述拼接后参数串进行处理。
10.根据权利要求9所述的用户输入信息的处理装置,其特征在于,还包括规则获取单元、第一转换单元和第二转换单元; 规则获取单元,用于获取预置的实际规则,所述实际规则包括规则串、命令号和参数串; 第一转换单元,用于将所述实际规则中的规则串转换为正则规则; 第二转换单元,用于将所述实际规则中的规则串转换为标准正则。
11.根据权利要求10所述的用户输入信息的处理装置,其特征在于, 所述第一转换单元,具体用于将所述规则串中的第一个参数和最后一个参数之间的内容转换为第一标识,所述第一标识用于标识按位置提取的参数。
12.根据权利要求10所述的用户输入信息的处理装置,其特征在于, 所述第二转换单元,具体用于分别在所述规则串中的所有参数的前后都添加第二标识,所述第二标识用于标识允许匹配任意字符串的参数。
13.根据权利要求9至11任一项所述的用户输入信息的处理装置,其特征在于, 所述判定单元,具体用于将提取的中间参数分别与预置的命名实体库中的命名实体进行匹配,得到至少一个与所述提取的中间参数匹配的命名实体结果。
14.根据权利要求13所述的用户输入信息的处理装置,其特征在于,还包括建立单元; 所述建立单元,用于建立命名实体库,所述命名实体库采用双数组字典树进行存储。
15.根据权利要求9至11任一项所述的用户输入信息的处理装置,其特征在于, 所述第二处理单元,具体用于根据实际规则中的命令号调用对应的命令字,利用所述命令字对所述拼接后参数串进行处理。
16.根据权利要求9至11任一项所述的用户输入信息的处理装置,其特征在于, 所述提取单元,具体用于根据优先级从高到低的顺序从预置的多条正则规则中确定当前正则规则,确定所述用户输入信息符合当前正则规则时,从所述用户输入信息中提取中间参数。
【文档编号】G06F17/30GK104239343SQ201310246467
【公开日】2014年12月24日 申请日期:2013年6月20日 优先权日:2013年6月20日
【发明者】王飞, 徐浩, 褚攀, 韩贵平, 廖玲 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1