发明内容
有鉴于此,本发明提供了一种自然语言信息的处理方法及装置,以克服现有技术中由于语音识别软件只能识别语音信息中的特定词语而导致的用户不能通过语言对软硬件资源进行深层次操作的问题。
为实现上述目的,本发明提供如下技术方案:
一种自然语言信息的处理方法,包括:
接收用户输入的自然语言信息;
确定所述自然语言信息的任务类型;
根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式;
根据查找到的所述解析方式解析所述自然语言信息。
可选的,所述自然语言信息包括语音信息和文本信息;
在所述语言信息为语音信息的情况下,在接收用户输入的自然语言信息后,还包括:
将所述语音信息识别为文本信息。
可选的,所述确定所述自然语言信息的任务类型,包括:
采用机器学习方法分别对所述自然语言信息和各个任务类型进行相关度分析,得到所述自然语言信息与各个任务类型的相关度值;
将与所述自然语言信息相关度值最高的一个或多个任务类型确定为所述自然语言信息的任务类型。
可选的,所述查找所述自然语言信息的解析方式,包括:
将所述自然语言信息的各个任务类型对应的语义解析方式确定为语义解析侯选集;
依次尝试采用所述语义解析侯选集中的不同的语义解析方式解析所述自然语言信息;若解析成功,则终止尝试解析;若解析不成功,则继续尝试采用所述语义解析侯选集中的、尚未尝试的语义解析方式解析所述自然语言信息,直至所述自然语言信息解析成功。
可选的,在根据查找到的所述解析方式解析所述自然语言信息后,还包括:
根据解析结果生成操作指令;
根据所述操作指令执行相应的任务动作。
可选的,还包括:
根据用户输入的调整信息来更新所述预设的任务类型与解析方式关系表。
可选的,所述根据用户输入的调整信息来更新所述预设的任务类型与解析方式关系表,包括:
接收用户输入的待调整任务类型与待调整解析方式的对应关系;
查找预存的任务类型与解析方式关系表中是否存在所述待调整任务类型;
若存在,则将预存的任务类型与解析方式关系表中的所述待调整任务类型对应的解析方式修改为待调整解析方式;
若不存在,将所述待调整任务类型与待调整解析方式的对应关系添加至预设的任务类型与解析方式关系表中。
一种自然语言信息的处理装置,包括:
信息接收模块,用于接收用户输入的自然语言信息;
任务类型确定模块,用于确定所述自然语言信息的任务类型;
解析方式查找模块,用于根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式;
解析模块,用于根据查找到的所述解析方式解析所述自然语言信息。
可选的,所述自然语言信息包括语音信息和文本信息;
在所述语言信息为语音信息的情况下,还包括:
语音识别模块,用于将所述语音信息识别为文本信息。
可选的,所述任务类型确定模块包括:
相关度确定模块,用于采用机器学习方法分别对所述自然语言信息和各个任务类型进行相关度分析,得到所述自然语言信息与各个任务类型的相关度值;
任务类型确定子模块,用于将与所述自然语言信息相关度值最高的一个或多个任务类型确定为所述自然语言信息的任务类型。
可选的,所述解析方式查找模块包括:
解析方式侯选集确定模块,用于将所述自然语言信息的各个任务类型对应的语义解析方式确定为语义解析侯选集;
尝试解析模块,用于依次尝试采用所述语义解析侯选集中的不同的语义解析方式解析所述自然语言信息;若解析成功,则终止尝试解析;若解析不成功,则继续尝试采用所述语义解析侯选集中的、尚未尝试的语义解析方式解析所述自然语言信息,直至所述自然语言信息解析成功。
可选的,还包括:
指令生成模块,用于根据解析结果生成操作指令;
执行模块,用于根据所述操作指令执行相应的任务动作。
可选的,还包括:
更新调整模块,用于根据用户输入的调整信息来更新所述预设的任务类型与解析方式关系表。
经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种自然语言信息的处理方法及装置,所述自然语言信息的处理方法在接收到用户输入的自然语言信息后,会对该自然语言信息进行任务分类,并根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式,进而根据查找到的解析方式解析自然语言信息。该方法由于对自然语言信息够进行分类解析处理,从而能够更专业的、深层次针对性的解析出自然语言信息的真实动作意图,并生成对应的指令,进而可以通过指令的执行完成人机交互。该方法使得用户通过比较轻松自然的语言信息就可以准确操控电子设备,大大提升了用户的人机交互体验感。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例公开的自然语言信息的处理方法流程图,参见图1所示,所述方法可以包括:
步骤101:接收用户输入的自然语言信息;
其中,所述自然语言信息为符合人类自然说话习惯形式的信息,例如“我想听一首***的歌曲”。所述自然语言信息可以为用户输入的语音信息或文本信息。在所述自然语言信息为语音信息的情况下,在接收用户输入的自然语言信息后,还需要包括将所述语音信息识别为文本信息的步骤,以便于后续对所述自然语言信息进行进一步的识别解析的过程;而如果所述自然语言信息为文本信息,则后续可直接根据该文本信息进行相应的识别解析。其中所述文本信息可以是用户通过电子设备上安装的输入法软件输入的文本信息。
其中,将语音信息识别为文本信息可以通过调用各种模态对应的识别单元来将用户输入的语音信息转换为文本表示。
步骤102:确定所述自然语言信息的任务类型;
系统中的任务类型一般有多种,例如,可以包括天气查询、电视节目查询、医疗问题查询、闹钟设定、设备铃声设定等任务类型。
本步骤中,之所以要确定任务类型,是因为后续步骤中要以确定的任务类型对应的解析方式解析所述自然语言信息。此处以天气查询和电视节目查询的任务类型为例,天气查询的任务解析过程需要识别出两个参数,即“城市+日期”;而电视节目查询的任务解析过程需要识别出的参数包括“电视台+时间+节目类型”。因此,为了更加准确的解析自然语言信息,需要为不同的任务类型配置专用的解析方式,而各种解析方式只解析与自身配置参数对应的自然语言信息,从而能够很大程度上保证解析结果的准确性。
在一个示意性的示例中,确定所述自然语言信息的任务类型的具体过程可以参见图2,图2为本发明实施例公开的确定自然语言信息的任务类型的流程图,如图2所示,可以包括:
步骤201:采用机器学习方法分别对所述自然语言信息和各个任务类型进行相关度分析,得到所述自然语言信息与各个任务类型的相关度值;
步骤201的过程可以是根据分词方法识别出所述自然语言信息中的所有分解词,然后确定各个任务类型配置的识别词是否包含在所述分解词中,进而依据在分解词中出现的任务类型的识别词个数以及该任务类型的所有识别词的个数计算出所述自然语言信息与该任务类型的相关度。举例来说,考虑天气查询和电视节目查询两种任务类型,如果用户输入的自然语言信息为“我想看中央一台的电视剧”,通过分词方法将所述自然语言信息分解为“我想看中央一台的电视剧”,而由于这些分解词中不包含与天气相关的识别词,包含“中央一台”和“电视剧”等电视节目的识别词,系统就会将所述自然语言信息的任务类型确定为电视节目查询。
本步骤中,进行相关度分析可以是使用机器学习方法用各个任务的知识信息对自然语言信息进行评估打分。也可以理解为采用机器学习技术计算出自然语言信息的最可能归属的n个任务类别。
步骤202:将与所述自然语言信息相关度值最高的一个或多个任务类型确定为所述自然语言信息的任务类型。
步骤202可以根据预设的配置信息来执行,例如,预设的配置信息规定需要选取相关度值最高的三个任务类型确定为自然语言信息的任务分类集。当然,预设的配置也可以规定将相关度值最高的一个或五个任务类型确定为自然语言信息的任务类型集。具体要求可以根据用户需要来配置。
自然语言信息的任务分类,可以形式化为一个对时间序列分类的问题。时间序列的分类问题定义如下:给定一个数据样本集合,每个数据样本包括:一个输入时间序列Xi=x(1)i,x(2)i,…及其离散的分类标签Ci,其中,x(t)i∈Rn是一个n维向量,Ci∈{1,2,…,NC},目标是预测新的时间序列的类标签。时间序列分类问题比一般分类问题困难的原因主要在于要分类的时间序列数据不等长,这使得一般的分类算法不能直接应用。即使是等长的时间序列,由于不同序列在相同位置的数值一般不可直接比较,因此一般的分类算法依然还是不适合直接应用。
本发明实施例的任务分类方法的整体思路可以分两步。第1步,将数据转化成等长向量。其中一个关键问题是如何保留尽量多的时间和序列的信息。本发明实施例中,利用一个基于模型的聚类方法来进行数据的转化。第2步,在经过转化的等长数据集上使用一般的分类算法作分类,如k-近邻搜索、决策树、最大似然方法、SVM(Support Vector Machine,一种可训练的机器学习方法)等。不失一般性地,当等长向量的长度为1的时候,此处所做的对文本序列的分类操作就变成了使用bag-of-word的文本分类方法了。
转回图1,进入步骤103。
步骤103:根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式;
其中,所述预存的任务类型与解析方式关系表可以通过一个注册单元实施。具体的,该注册单元负责维护任务句柄的列表,每个句柄对应一个任务,句柄指向的单元包含该任务的注册信息,包括任务的功能描述以及语义解析方式的描述信息,语义解析方式的描述信息包括能够实施该解析方式的语义解析单元ID。进一步的,所述预存的任务类型与解析方式关系表中还可以包括对应于各个任务类型的执行单元的描述信息。
在步骤102中确定的所述自然语言信息的任务类别多于一个时,步骤103的具体过程可以参见图3,图3为本发明实施例公开的查找自然语言信息的解析方式的流程图,如图3所示,可以包括:
步骤301:将所述自然语言信息的各个任务类型对应的语义解析方式确定为语义解析侯选集;
步骤302:依次尝试采用所述语义解析侯选集中的不同的语义解析方式解析所述自然语言信息;
步骤303:判断当前解析是否成功;如果是,进入步骤304;如果否,进入步骤302;
步骤304:终止尝试解析。
这样,通过上述步骤301-304,会依次尝试采用所述语义解析侯选集中的语义解析方式解析所述自然语言信息,直至找到所述自然语言信息合适的解析方式。
继续返回图1,进入步骤104。
步骤104:根据查找到的所述解析方式解析所述自然语言信息。
其中,语义解析单元可以采用自然文本处理和理解等人工智能技术从自然语言信息中抽取出操作命令和参数,得到文本意图,也即用户想要电子设备执行的动作。根据解析得到的文本意图生成的操作指令可以包括命令名称和命令参数列表。
整个的语义解析过程包括分词、词性标注、命名实体识别、词义消歧、句法分析、语义分析。分词采用基于n-gram(大词汇连续语音识别中常用的一种语言模型)的分词方法,同时能够区分出检索单元和语义单元;命名实体识别和词性标注采用基于CRF的序列标注方法;词义消歧采用基于语料库的方法,利用知网HowNet提供的词义定义,综合利用多种知识实现词义消歧,例如上下文的词性、歧义词的词法、同现词以及一些句法关系等等;句法分析采用的是依存句法分析,训练语料来自宾州中文树库;语义分析主要使用采用汉语语义角色标注和语句意图分析两方面的技术。
一个语义解析的例子可以是“给我播放一首刘德华的歌曲”,经过整个的解析和语义解析过程,得到这样的语义表示:request(Action=播放,obj=歌曲,artist=刘德华)。则语义解析单元就会生成一个指示播放刘德华的一首歌曲的指令。
本实施例中,所述自然语言信息的处理方法在接收到用户输入的自然语言信息后,会对该自然语言信息进行任务分类,并根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式,进而根据找到的解析方式解析自然语言信息。该方法由于对自然语言信息够进行分类解析处理,从而能够更专业的、深层次针对性的解析出自然语言信息的真实动作意图,并生成对应的指令。该方法使得用户通过比较轻松自然的语言信息就可以准确操控电子设备,大大提升了用户的人机交互体验感。
实施例二
图4为本发明实施例公开的另一种自然语言信息的处理方法流程图,参见图4所示,所述方法可以包括:
步骤401:接收用户输入的自然语言信息;
所述自然语言信息可以为用户输入的语音信息或文本信息。在所述自然语言信息为语音信息的情况下,在接收用户输入的自然语言信息后,还需要包括将所述语音信息识别为文本信息的步骤,以便于后续对所述自然语言信息进行进一步的识别解析的过程。
步骤:402:确定所述自然语言信息的任务类型;
其中,一个自然语言信息确定的任务类型可以为一个或多个。在确定的任务类型为多个的情况下,对应的语义解析单元也为多个,这时可以通过依次尝试解析的方式解析所述自然语言信息。
步骤403:根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式;
步骤404:根据查找到的所述解析方式解析所述自然语言信息;
步骤405:根据解析结果生成操作指令;
解析过程中会识别出自然语言信息的文本意图,而该文本意图即代表了用户的操作意图,步骤405可以讲用户的操作意图转换为操作指令。
步骤406:根据所述操作指令执行相应的任务动作。
步骤404可以由系统的处理器控制相应的执行部件执行。
本实施例中,所述自然语言信息的处理方法在接收到用户输入的自然语言信息后,会对该自然语言信息进行任务分类,并根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式,进而根据找到的解析方式解析所述自然语言信息。该方法由于对自然语言信息够进行分类解析处理,从而能够更专业的、深层次针对性的解析出自然语言信息的真实动作意图,并生成对应的指令,进而可以通过指令的执行完成人机交互。该方法使得用户通过比较轻松自然的语言信息就可以准确操控电子设备,大大提升了用户的人机交互体验感。
实施例三
图5为本发明实施例公开的又一种自然语言信息的处理方法流程图,参见图5所示,所述方法可以包括:
步骤501:接收用户输入的自然语言信息;
其中,所述自然语言信息可以为用户输入的语音信息或文本信息。在所述自然语言信息为语音信息的情况下,在接收用户输入的自然语言信息后,还需要包括将所述语音信息识别为文本信息的步骤,以便于后续对所述自然语言信息进行进一步的识别解析的过程。
步骤502:确定所述自然语言信息的任务类型;
其中,一个自然语言信息确定的任务类型可以为一个或多个。在确定的任务类型为多个的情况下,对应的语义解析单元也为多个,这时可以通过依次尝试解析的方式解析所述自然语言信息。
步骤503:根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式;
步骤504:根据查找到的所述解析方式解析所述自然语言信息;
步骤505:根据用户输入的调整信息来更新所述预设的任务类型与解析方式关系表。
需要说明的是,步骤505可以在步骤501-步骤504执行过程中的任何时间进行,本发明实施例中,不对其执行顺序位置进行限制。
在一个示意性的示例中,步骤505的具体过程可以参见图6,图6为本发明实施例公开的更新预设的任务类型与解析方式关系表的流程图,如图6所示,可以包括:
步骤601:接收用户输入的待调整任务类型与待调整解析方式的对应关系;
用户输入的调整信息必须包括调整任务类型及与其具有对应关系的调整解析方式。
步骤602:查找预存的任务类型与解析方式关系表中是否存在所述待调整任务类型;若是,进入步骤603;若否,进入步骤604;
步骤603:将预存的任务类型与解析方式关系表中的所述待调整任务类型对应的解析方式修改为待调整解析方式;
在步骤602判断结果为是的情况下,说明预存的任务类型与解析方式关系表中的所述待调整任务类型原先对应的解析方式是不合适的,或者当前时间下,对于所述待调整任务类型,具有更好更准确的解析方式,则这种情况下,需要将所述预存的任务类型与解析方式关系表中的所述待调整任务类型原先对应的解析方式修改为调整解析方式。
步骤604:将所述待调整任务类型与待调整解析方式的对应关系添加至预设的任务类型与解析方式关系表中。
在步骤602的判断结果为否的情况下,证明预存的任务类型与解析方式关系表中没有用户输入的待调整任务类型,这种情况下则直接将用户输入的待调整任务类型与待调整解析方式的对应关系添加至预设的任务类型与解析方式关系表中。
此外,也可以通过用户手动修改预存的任务类型与解析方式关系表中的方式来更新任务类型与解析方式关系表。
本实施例中,所述自然语言信息的处理方法在接收到用户输入的自然语言信息后,会通过注册的任务信息对该自然语言信息进行任务分类,并根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式,进而解析自然语言信息。该方法由于对自然语言信息够进行分类解析处理,从而能够更专业的、深层次针对性的解析出自然语言信息的真实动作意图,并生成对应的指令,进而可以通过指令的执行完成人机交互。该方法使得用户通过比较轻松自然的语言信息就可以准确操控电子设备,大大提升了用户的人机交互体验感。同时,该方法还能时时通过用户的输入控制更新预存的任务类型与解析方式关系表,使得自然语言信息的解析工作更加准确、具备时代特点。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
实施例四
图7为本发明实施例公开的一种自然语言信息的处理装置的结构示意图,参见图7所示,所述自然语言信息的处理装置70可以包括:
信息接收模块701,用于接收用户输入的自然语言信息;
所述自然语言信息可以为用户输入的语音信息或文本信息。在所述自然语言信息为语音信息的情况下,在接收用户输入的自然语言信息后,还需要包括将所述语音信息识别为文本信息的语音识别模块,以便于后续对所述自然语言信息进行进一步的识别解析。
任务类型确定模块702,用于确定所述自然语言信息的任务类型;
在一个示意性的示例中,所述任务类型确定模块702的具体结构可以参见图8,图8为本发明实施例公开的任务确定单元的结构示意图,如图8所示,所述任务类型确定模块702可以包括:
相关度确定模块801,用于采用机器学习方法分别对所述自然语言信息和各个任务类型进行相关度分析,得到所述自然语言信息与各个任务类型的相关度值;
进行相关度分析可以是使用机器学习方法用各个任务的知识信息对自然语言信息进行评估打分。
任务类型确定子模块802,用于将与所述自然语言信息相关度值最高的一个或多个任务类型确定为所述自然语言信息的任务类型。
除了上述信息接收模块701和任务类型确定模块702外,所述自然语言信息的处理装置70还包括解析方式查找模块703和解析模块704。
解析方式查找模块703,用于根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式;
所述解析方式查找模块703的一个示意性结构如图9所示,图9为本发明实施例公开的解析方式查找模块的结构示意图,如图9所示,所述解析方式查找模块703可以包括:
解析方式侯选集确定模块901,用于将所述自然语言信息的各个任务类型对应的语义解析方式确定为语义解析侯选集;
尝试解析模块902,用于依次尝试采用所述语义解析侯选集中的不同的语义解析方式解析所述自然语言信息;若解析成功,则终止尝试解析;若解析不成功,则继续尝试采用所述语义解析侯选集中的、尚未尝试的语义解析方式解析所述自然语言信息,直至所述自然语言信息解析成功。
解析模块704,用于根据查找到的所述解析方式解析所述自然语言信息。
其中,语义解析单元可以采用自然文本处理和理解等人工智能技术从自然语言信息中抽取出操作命令和参数,得到文本意图,也即用户想要电子设备执行的动作。根据解析得到的文本意图生成的操作指令可以包括命令名称和命令参数列表。
在其他的实施例中,自然语言信息的处理装置除了信息接收模块、任务类型确定模块、解析方式查找模块和解析模块外,还可以包括更新调整模块,该更新调整模块用于根据用户输入的调整信息来更新所述预设的任务类型与解析方式关系表。具体更新方式可以是:接收用户输入的待调整任务类型与待调整解析方式的对应关系;查找预存的任务类型与解析方式关系表中是否存在所述待调整任务类型;若存在,则将预存的任务类型与解析方式关系表中的所述待调整任务类型对应的解析方式修改为待调整解析方式;若不存在,将所述待调整任务类型与待调整解析方式的对应关系添加至预设的任务类型与解析方式关系表中。
在其他的实施例中,自然语言信息的处理装置除了信息接收模块、任务类型确定模块、解析方式查找模块和解析模块外,还可以包括指令生成模块和执行模块,其中,所述指令生成模块用于根据解析结果生成操作指令;所述执行模块用于根据所述操作指令执行相应的任务动作。
本实施例中,所述自然语言信息的处理装置在接收到用户输入的自然语言信息后,会对该自然语言信息进行任务分类,并根据预存的任务类型与解析方式关系表查找所述自然语言信息的解析方式,进而解析所述自然语言信息。该装置由于对自然语言信息够进行分类解析处理,从而能够更专业的、深层次针对性的解析出自然语言信息的真实动作意图,并生成对应的指令。该装置使得用户通过比较轻松自然的语言信息就可以准确操控电子设备,大大提升了用户的人机交互体验感。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。