自然语言的语义提取方法及装置与流程

文档序号:14950707发布日期:2018-07-17 22:29阅读:428来源:国知局

本发明涉及信息技术领域,尤其涉及一种自然语言的语义提取方法及装置。



背景技术:

随着技术的发展,用户利用自然语言进行信息搜索或指示设备执行特定的操作。这样就涉及到设备要如何识别自然语言,准确提取到用户意图,并执行。例如,语音搜索的应用场景,输入的用户输入的语音,用户的语言被转换成自然语言之后,需要提取语义。

在现有技术中对中文语音识别,主要采用的是中文分词进行识别,对输入的一个中文语句,根据样本词的概率,进行语句分割;然后基于正则表达式进行语义的机械提取。

然而由于中文的庞大语系及语音的不断发展,导致识别困难大及识别精确度不稳定等问题。现有技术中一般采用正则表达式加识别模板进行提取,但是基于正则表达式进行匹配识别,会忽略正则表达式中无需匹配部分的含义,导致提取语义错误高的问题。



技术实现要素:

有鉴于此,本发明实施例期望提供一种自然语言的语义提取方法及装置,以提升自然语言的语义提取的正确率和精确度。

为达到上述目的,本发明的技术方案是这样实现的:本发明实施例第一方面提供一种自然语言的语义提取方法,包括:

在字符库中基于单字符粒度查询输入的自然语言中每一个字符,得到表征每一个所述字符各种语义描述的第一语义向量;

神经网络组合排列所述第一语义向量,获得所述第一语义向量不同排列组合对应的各种第二语义向量;

获取各所述第二语义向量对应的备选语义意图及所述备选语义意图对应的权重向量;

选择出符合预设条件的所述备选语义意图作为所述自然语言的最终语义意图,并根据所述最终语义意图对应的权重向量,得到所述最终语义意图对应的关键信息。

基于上述方案,所述神经网络组合排列所述第一语义向量获得第二语义向量,包括:

根据所述自然语言中所述字符的排列,组合形成至少一个所述第二语义向量,其中,所述第二语义向量,由在所述自然语言中连续分布的m个字符对应的第一语义向量组成,所述m为1或大于1的整数。

基于上述方案,所述根据所述自然语言中所述字符的排列,组合形成至少一个所述第二语义向量,包括:

利用n*m的卷积窗口,对按照字符在所述自然语言排列顺序输入的第一语义向量进行卷积处理,形成卷积向量;其中,所述n为正整数;所述m为所述第一语义向量的维度。

基于上述方案,所述获取各所述第二语义向量对应的备选语义意图及所述备选语义意图对应的权重向量,包括:

排列组合所述第二语义向量,得到第三语义向量;

根据所述第二语义向量的语义描述获得的所述权重向量;

根据所述第三语义向量中所述第二语义向量的语义描述,及多个所述第二语义向量的语义描述之间的依赖关系,输出所述第三语义向量对应的且表征所述备选语义意图的第四语义向量。

基于上述方案,所述选择出符合预设条件的所述备选语义意图作为所述自然语言的最终语义意图,包括:

利用分类器对各所述第四语义向量进行分类,得到所述最终语义意图。

基于上述方案,所述根据所述最终语义意图对应的权重向量,得到所述最终语义意图对应的关键信息,包括:

根据所述第四语义向量对应的所述第二语义向量的对应关系,及所述第二语义向量与权重向量的对应关系,确定提取所述关键信息的权重向量;

根据所述权重向量中各个权值,选择权重满足预设关系的所述第二语义向量对应的字符作为所述关键信息输出。

基于上述方案,所述神经网络组合排列所述第一语义向量,获得所述第一语义向量不同排列组合对应的各种第二语义向量,包括:

将所述第一语义向量输入到卷积网,生成卷积向量及所述卷积向量对应的权重向量;

所述获取各所述第二语义向量对应的备选语义意图及所述备选语义意图对应的权重向量,包括:

将所述卷积向量输入到高速连接网,生成混合向量;

将所述混合向量输入到长短记忆网,生成依赖关系向量;

所述选择出符合预设条件的所述备选语义意图作为所述自然语言的最终语义意图,并根据所述最终语义意图对应的权重向量,得到所述最终语义意图对应的关键信息,包括:将所述依赖关系向量输入到分类器,获得所述分类结果;

根据所述分类结果输出所述语义意图;

基于所述权重向量中权重输出所述关键信息。

基于上述方案,所述方法还包括:

预先生成所述字符库,其中,所述字符库包括:语义表;其中,所述语义表包括字符与所述字符的语义描述之间的对应关系;

利用样本数据训练所述神经网络;

获取所述神经网络的运行日志;

根据所述运行日志校正所述神经网络。

基于上述方案,所述预先生成所述字符库,包括:

获取字符,所述字符包括:中文标准汉字符集、中外文标点符号及外文字符;

获得所述字符的语义描述;

建立所述字符与所述字符的语义描述的所述语义表。

基于上述方案,所述获得所述字符的语义描述,包括:

从预定渠道获取文本资料;

从所述文本资料中获取字符,根据所述字符所在的上下文关系,确定所述字符的语义描述。

本发明实施例第二方面提供一种自然语言的语义提取装置,包括:

查询单元,用于在字符库中基于单字符粒度查询输入的自然语言中每一个字符,得到表征每一个所述字符各种语义描述的第一语义向量;

第一获取单元,用于神经网络组合排列所述第一语义向量,获得所述第一语义向量不同排列组合对应的各种第二语义向量;

第二获取单元,用于获取各所述第二语义向量对应的备选语义意图及所述备选语义意图对应的权重向量;

选择确定单元,用于选择出符合预设条件的所述备选语义意图作为所述自然语言的最终语义意图,并根据所述最终语义意图对应的权重向量,得到所述最终语义意图对应的关键信息。

基于上述方案,所述第一获取单元,具体用于根据所述自然语言中所述字符的排列,组合形成至少一个所述第二语义向量,其中,所述第二语义向量,由在所述自然语言中连续分布的m个字符对应的第一语义向量组成,所述m为1或大于1的整数。

基于上述方案,所述第一获取单元,具体用于利用n*m的卷积窗口,对按照字符在所述自然语言排列顺序输入的第一语义向量进行卷积处理,形成卷积向量;其中,所述n为正整数;所述m为所述第一语义向量的维度。

基于上述方案,所述第二获取单元,具体用于排列组合所述第二语义向量,得到第三语义向量;根据所述第二语义向量的语义描述获得的所述权重向量;根据所述第三语义向量中所述第二语义向量的语义描述,及多个所述第二语义向量的语义描述之间的依赖关系,输出所述第三语义向量对应的且表征所述备选语义意图的第四语义向量。

基于上述方案,所述选择确定单元,具体用于利用分类器对各所述第四语义向量进行分类,得到所述最终语义意图。

基于上述方案,所述选择确定单元,具体用于根据所述第四语义向量对应的所述第二语义向量的对应关系,及所述第二语义向量与权重向量的对应关系,确定提取所述关键信息的权重向量;根据所述权重向量中各个权值,选择权重满足预设关系的所述第二语义向量对应的字符作为所述关键信息输出。

基于上述方案,所述第一获取单元,具体用于将所述第一语义向量输入到卷积网,生成卷积向量及所述卷积向量对应的权重向量;

所述第二获取单元,具体用于将所述卷积向量输入到高速连接网,生成混合向量;将所述混合向量输入到长短记忆网,生成依赖关系向量;

所述选择确定单元,具体用于将所述依赖关系向量输入到分类器,获得所述分类结果;根据所述分类结果输出所述语义意图;基于所述权重向量中权重输出所述关键信息。

基于上述方案,所述装置还包括:

生成单元,用于预先生成所述字符库,其中,所述字符库包括:语义表;其中,所述语义表包括字符与所述字符的语义描述之间的对应关系;

训练单元,用于利用样本数据训练所述神经网络;

第三获取单元,用于获取所述神经网络的运行日志;

校正单元,用于根据所述运行日志校正所述神经网络。

基于上述方案,所述生成单元,具体用于获取字符,所述字符包括:中文标准汉字符集、中外文标点符号及外文字符;获得所述字符的语义描述;建立所述字符与所述字符的语义描述的所述语义表。

基于上述方案,所述生成单元,具体用于从预定渠道获取文本资料;从所述文本资料中获取字符,根据所述字符所在的上下文关系,确定所述字符的语义描述。

建立所述字符与所述字符的语义描述的所述语义表从所述文本资料中获取字符,根据所述字符所在的上下文关系,确定所述字符的语义描述建立所述字符与所述字符的语义描述的所述语义表从所述文本资料中获取字符,根据所述字符所在的上下文关系,确定所述字符的语义描述本发明实施例提供的自然语言的语义提取方法及装置,在获得一条自然语言的语句时,会基于单字粒度的逐字符获取每一个字符的语义描述,从而形成表针每一个字符的含义的第一语义向量,在通过排列组合得到所述第一语义向量不同排列组合对应的各种第二语义向量,这样就保留了自然语言中每个字符的每一种第一语义向量排列组合得到的含义,相对于采用正则表达式或各种匹配模板的方式,割裂上下文文意而仅按照模板中匹配成功的一个或多个字符来进行语义提取方法,不会损失掉这种强行拆分导致的含义的丢失,通过后续越好条件的筛选,可以从每一种备选语义意图选择出最有可能的备选语义意图作为最终语义意图输出,并基于权重向量得到关键信息。这种语义提取方法在没有强行去除字符部分含义的情况下,通过神经网络的处理,可以再次确保语义提取的正确率和精确度。

附图说明

图1为本发明实施例提供的第一种自然语言的语义提取方法的流程示意图;

图2为本发明实施例提供的第二种自然语言的语义提取方法的流程示意图;

图3为本发明实施例提供的第一种自然语言的语义提取装置的结构示意图;

图4a为本发明实施例提供的一种自然语言的采集效果示意图;

图4b为基于本发明实施例提供的方法形成的语义意图和关键信息形成的应用效果示意图;

图4c为本发明实施例提供了另一个所述自然语言的语义提取方法的应用效果示意图;

图5为本发明实施例提供的一种自然语言的语义提取方法的流程示意图;

图6为本发明实施例提供的一种连续词袋模型的示意图;

图7为本发明实施例提供的另一种自然语言的语义提取方法的流程示意图;

图8为本发明实施例提供的另一种自然语言的语义提取装置的结构示意图。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

如图1所示,本实施例提供一种自然语言的语义提取方法,包括:

步骤s110:在字符库中基于单字符粒度查询输入的自然语言中每一个字符,得到表征每一个所述字符各种语义描述的第一语义向量;

步骤s120:神经网络组合排列所述第一语义向量,获得所述第一语义向量不同排列组合对应的各种第二语义向量;

步骤s130:获取各所述第二语义向量对应的备选语义意图及所述备选语义意图对应的权重向量;

步骤s140:选择出符合预设条件的所述备选语义意图作为所述自然语言的最终语义意图,并根据所述最终语义意图对应的权重向量,得到所述最终语义意图对应的关键信息。

本实施例提供的语义提取方法,可以应用于一台或多台电子设备中。例如,所述语义提取方法可利用于网络侧的网络服务器中。

当所述网络服务器接收到一条所述自然语言的文本之后,会将该文本拆分成单个字符,然后提取每一个字符所有的语义描述,这些语义描述可理解为字符的含义描述。这些语义描述都可以用数值进行表示。例如,一个字符包括p个语义描述,则所述第一语义向量可包括p个元素的向量。当然,在具体实现过程中,所述第一语义向量包括的元素大于p,但是所述第一语义向量可包括空元素。所述空元素可不表示任何语义描述。

例如,所述自然语言包括s个字符,则在步骤s110中将形成s个第一语义向量。将所述第一语义向量,根据其对应的字符,和字符在所述自然语言中的位置关系,依次输入到神经网络,由神经网络对所述第一语义向量进行处理,这样的话,相对于现有技术中直接对自然语言采用统计概率直接进行分词,会损失掉的很多语义描述,相当于最大限度的保留了所述自然语言可能的表达语义描述,可对每一种语义描述进行处理,然后选择出最有可能的语义意图及与所述语义意图关联的关键信息输出。

例如,自然语言“武汉大学生活如何?”,若利用现有的中文分词法,根据“武汉”、“大学”、“武汉大学”、“大学生”、“武汉大学生”等各种可能的词,这些词中当前统计概率最高的次进行该自然语言的拆分。若当前大学这个词统计概率最高,现有技术就可能以脱离该语言已经的拆分方式,将“大学”为界进行前后拆分,得到了“武汉”、“大学”及“生活如何”这些语言,再根据这些词的意思,进行后续处理。例如,进行信息检索可能会以“大学”为重点进行检索,从而损失了该自然语言的其他种语义意图,由于这种强制拆分,显然并不能精确的而获取自然语言所要表的意思。

在本实施例中以单字符为粒度,获取各个字符的意思,生成第一语义向量。这写第一语义向量由于包括每一个字符的意思,显然就不会存在上述强行直接拆分导致的有些语义的损失,从而能够提升语义意图和关键信息提取的精确度。

在一些实施例中,所述步骤s120可包括:

根据所述自然语言中所述字符的排列,组合形成至少一个所述第二语义向量,其中,所述第二语义向量,由在所述自然语言中连续分布的m个字符对应的第一语义向量组成,所述m为1或大于1的整数。

例如,利用滑动窗口,以一个字符为步长,位于同一个滑动窗口内的所有字符按照排序形成词。每一词所述滑动窗口移动的起始位置不同,第l次移动的起始位置可为第l个;所述l为正整数。每一次所述滑动窗口覆盖了所有自然语言中所有相邻字符,可能组成的词对应的第二语义向量。这样就会形成1个字符、2个字符、3个字符或4个字符或更多个字符组成的词对应的第二语义向量。例如,若自然语言识别之后为“武汉大学生”,若l等于2时,则将被拆分成“武汉”、“大学”及“学生”。当然,即便l等于2,根据滑动窗口的滑动,也会拆分为多种组合,一种所述组合对应于一条第二语义向量。当l等于4时,至少可以拆分成“武汉大学”及“生”这样的表示。故这种通过滑动窗口的不同个数相邻字符组成词,再转换为第二语义向量的操作,可以最大限度保留自然语言中各种语义意图。

进一步地,所述步骤s120可包括:

利用n*m的卷积窗口,对按照字符在所述自然语言排列顺序输入的第一语义向量进行卷积处理,形成卷积向量;其中,所述n为正整数;所述m为所述第一语义向量的维度。

在本实施例中直接用卷积网络的卷积窗口进行m个字符的截取,在通过卷积处理得到作为所述第二语义向量的卷积向量。

在本实施例中所述权重向量的生成可以采用预设方法,以下提供几种可选方式:

可选方式一:根据第二语义向量对应的词的词属性确定。所述词属性可包括:表示该词为名词、动词、形容词或副词的指示信息。不同类型的词对表征语义意图的贡献性是不同的。例如,通常名词的权重可以设置大于形容词或副词,动词的权重也可以设置大于形容词或副词。

可选方式二:根据所述第二语义响铃对应的词在自然语句中的语句成分。所述语句成分可包括:主语、谓语、宾语、状语。例如,所述状语的权重可小于主语或谓语的权重。

可选方式三:直接根据每一个第二语义向量对应的语义描述的丰富程度来确定所述权重向量中每一个权重。这里的丰富程度可以根据每一个第二语义向量对应的词包括的词义种类,该第二语义向量对应的语义描述是否出现过或出现概率等来确定。

这里的排列组合所述第二语义向量中的各个所述词,可包括随机排列组合所述词,会得到词组或短语。不同的排列组合的词组或短语表征的语义意图是不同的。有鉴于此,可以通过排列组合自然语言的一次分割中不同的第二语义向量,会得到表征不同语义意图的第三语义向量。

从而产生新的向量。例如,一个第二语义向量包括两个词分别a和b,通过排列组合之后,至少会形成两个第三语义向量,一条第三语义向量包括a和b,另一条第三语义向量包括b和a。显然两个词的排序不同,则可能产生的语义意图不同。

再例如,一条第二语义向量为:“武汉”、“明天”、“如何”、“天气”、“的”这些词,重新对这些词排序之后,可能会出现一条第三语义向量为:“武汉”、“的”“天气”、“明天”、“如何”;还可能会出现一条第三语义向量为:“武汉”、“明天”、“的”、“如何”、“天气”。获取每一条第三语义向量的词的语义描述,发现“的”表达的意思很不重要,可以直接去掉。再根据各条第三语义向量中词合之后形成短语或句子表达含义的出现概率等参数,从而可以得到各个词之间的依赖程度。通常上述例子中,“武汉”、“明天”分别与“天气”的依赖程度都很高,而“武汉”和“明天”之间的依赖程度可能就比较低了。在本实施例中,会生成第四语义向量,这里的第四语义向量包括指示词的语义描述元素和词之间依赖关系的元素。将所述第四语义向量输入到分类器中,则所述分类器就可以根据第四语义向量提取出语义意图。这样的话,就可以避免将“武汉大学生”这个自然语言强行拆分成奇怪的语义意图的问题,提升了语义提取的精确度。

在一些实施例中,所述步骤s130可包括:

排列组合所述第二语义向量,得到第三语义向量;

根据所述第二语义向量的语义描述获得的所述权重向量;

根据所述第三语义向量中所述第二语义向量的语义描述,及多个所述第二语义向量的语义描述之间的依赖关系,输出所述第三语义向量对应的且表征所述备选语义意图的第四语义向量。

例如,这样在滑动窗口移动过程中,还是产生很多莫名其妙的词,例如,“武汉明天的天气如何”,在所述滑动窗口滑动的过程中,则会出现“的天”这样的词在数据库中可能不存在词的含义或根据统计概率出现的次数非常少。在所述神经网络的训练过程中,根据词的语义描述或统计概率将这种词的权重设置的很小,这样训练得到的神经网络,在应用中时,这些词对应的权重也会很小。故此时,故,这里的权重向量表示的该第二语义向量各个词的重要程度或词的语义描述的丰富程度。例如,当“武汉明天的天气如何”被拆分成了“武汉”“明天”“的”“天气”“如何”,根据词在自然语言中的成分,和/或词本身含义的丰富程度,确定所述权重。所述词的含义的丰富程度,显然“的”与“武汉”相比,“的”的语义的丰富程度是低于“武汉”的语义描述的丰富程度的。这里权重向量的形成,有利于后续根据权重向量中权重的大小,选择这些词作为该自然语言的关键信息输出。由于本实施例采用神网络对第一语义向量进行处理,这些表征每一个词的语义描述的丰富程度和/或重要程度的权重的算法,在训练阶段就完成,故在应用过程中,直接利用该神经网络进行数据处理,就可以生成对应的词的权重。

这里的关键信息可包括场景信息,这里的场景信息可包括:时间信息及地点信息等这句自然语言的最核心的信息。

有一些卷积向量因为词拆分不得当,得到的词在数据库中可能不会产生词义,在本实施例中会对这种第三语义向量进行过滤,然后过滤之后根据各条第三语义向量中词顺序组合得到的语义描述的丰富程度和/或重要程度,就可以知道一条第二语义向量中各个词之间的关联程度,从而得到表征这种关联程度或依赖程度的元素,生成所述第四语义向量。

所述步骤s140可包括:利用分类器对各所述第四语义向量进行分类,得到所述最终语义意图。

在本实施例中所述分类器可为预先通过样本数据训练得到的基于概率等方式进行分类的分类器,例如,向量分类器等,可以选择出当前最有可能的最终语义意图。在本实施例中,所述最终语义意图可能为一条,也可以能为多条。

具体如,所述步骤s120可包括:

将所述第一语义向量输入到卷积网,生成卷积向量及所述卷积向量对应的权重向量;

图2所示,所述步骤s130可包括:

步骤s131:将所述卷积向量输入到高速连接网,生成混合向量;

步骤s132:将所述混合向量输入到长短记忆网,生成依赖关系向量;

所述步骤s140可包括:

步骤s141:将所述依赖关系向量输入到分类器,获得所述分类结果;

步骤s142:根据所述分类结果输出所述语义意图;

步骤s143:基于所述权重向量中权重输出所述关键信息

例如,以中文字符为例,一个中文字相当于一个字符,一个标点符号相当于一个字符,一个数字相当于一个字符。

在本实施例中一条自然语言可以由多个字符组成,每一个字符对应于一个所述第一语义向量,将这些所述第一语义向量按照各个字符在所述自然语言中的排列顺序依次排列,会形成语义矩阵,输入到所述卷积网络中,在所述卷积网络中,利用等于不同字符数的卷积窗口,选择所述语义矩阵中的一个或相邻的两个或两个以上的字符组成词,然后将获得该词的卷积向量。再将每一条卷积向量输入到高速连接网,由高速连接网打乱每一条所述卷积向量中的元素,可以基于一个包括多个元素的卷积向量生成多条顺序打乱之后的混合向量。再将一条卷积向量对应的混合向量输入到所述长短记忆网,长短记忆网可提取不同词之间的长程依赖关系的网络,可以通过对混合向量,得到该条对应的卷积向量中各个词之间的关联关系,同时还可以过滤掉一些语义意图很少或在自然语言中没有特殊意义的字符去掉,例如,没有特殊语义意图的标点符号。所述长短记忆网最后输出一条依赖关系向量,由分类器对依赖关系向量进行处理,再由分类器输出语义意图。

所述依赖关系向量与卷积向量之间有对应关系,例如,所述长短记忆网生成的依赖关系相连是基于卷积向量a生成的,则会根据所述卷积向量a的权重向量中权重a最大或排序在前几位,选择所述卷积向量a中对应该元素作为所述关键信息输出。

在本实施例中,所述关键信息包括场景信息。这里的场景信息可包括时间信息、位置信息和/或人物信息等各种信息。

在一些实施例中,所述方法还包括:

预先生成所述字符库,其中,所述字符库包括:语义表;其中,所述语义表包括字符与所述字符的语义描述之间的对应关系;

利用样本数据训练所述神经网络;

获取所述神经网络的运行日志;

根据所述运行日志校正所述神经网络。

在本实施例中在提取所述自然语言的语义之前,需要预先生成所述字符库,在本实施例中所述字符库由很多的语义表。这些语义表表征的字符与该字符的语义描述之间的对应关系。

这样的话,在获得一条所述自然语言之后,可以通过查询所述字符库可以获得每一个字符的第一语义向量。

在本实施例中将利用样本数据训练所述神经网络,得到神经网络的网络参数。在所述神经网络投入使用之后,还会监控所述神经网络的运行,获得所述神经网络的运行日志,根据所述运行日志对所述神经网络不断进行优化和校正,以提升所述神经网络的处理精确度,从而方便后续精确提取语义意图和关键信息。

在在本实施例中,所述预先生成所述字符库,包括:

获取字符,所述字符包括:中文标准汉字符集、中外文标点符号及外文字符;

获得所述字符的语义描述;

建立所述字符与所述字符的含义的语义表。

所述中文标准汉字符集可为现有收集到标准字库中的字符,例如,可包括常用字符和非常用字符。常用字为经常使用的字符,而非常用字符为使用频次较低的字符。所述中外文标点可包括中文字符和英文等外文符号。所述外文字符可包括常用外文的字符和数字等。这里的常用外文包括英文。

在一些实施例中,由于语言的动态变化,很多字符会产生很多新的含义,本实施例中为了减少字符新的表征新含义的语义描述导致语义提取的精确性低,所述获得所述字符的语义描述,包括:

所述获得所述字符的语义描述,包括:

从预定渠道获取文本资料;

从所述文本资料中获取字符,根据所述字符所在的上下文关系,确定所述字符的语义描述。

这里的预定驱动包括新闻媒体渠道,网络驱动或社交应用渠道。这些渠道由于语言的演化会使得一个字符产生很多新的含义,在本实施例中为了尽可能全面的获得字符的语义描述,会从预定驱动获取文本资料,并对文本资料进行识别,根据对应文本资料中上下文关系,确定一个字符在这种场景下的语义描述,若该语义描述是一个新的语义描述,就更新对应的语义表。

如图3所示,本实施例提供一种自然语言的语义提取装置,包括:

查询单元110,用于在字符库中基于单字符粒度查询输入的自然语言中每一个字符,得到表征每一个所述字符各种语义描述的第一语义向量;

第一获取单元120,用于神经网络组合排列所述第一语义向量,获得所述第一语义向量不同排列组合对应的各种第二语义向量;

第二获取单元130,用于获取各所述第二语义向量对应的备选语义意图及所述备选语义意图对应的权重向量;

选择确定单元140,用于选择出符合预设条件的所述备选语义意图作为所述自然语言的最终语义意图,并根据所述最终语义意图对应的权重向量,得到所述最终语义意图对应的关键信息。

本实施例提供的自然语言的语义提取装置,应用于各种一台或多台服务器中,多台服务器可组成网络平台。这些网络服务器或网络平台与终端连接,可以解析终端提交的自然语言,从而得到所述语义意图及所述关键信息,从而给出相应的响应。

在本实施例中所述查询单元110、第一获取单元120、第二获取单元130及所述选择确定单元140都可对应于处理器或处理电路。所述处理器可包括中央处理器、微处理器、数字信号处理器、应用处理器或可编程阵列等。所述处理电路可包括专用集成电路。所述处理器或处理电路可通过执行预定代码实现上述单元的功能。

在本实施例中所述语义提取装置,不会直接对自然语言进行强制性中文分词,而是先提取每一个字符的语义描述,形成所述第一语义向量,然后再自然语言中各个字符的第一语义向量输入到神经网络,这样的话,就不会存在着强行中文分词导致的有些语义描述流失掉从而导致的语义意图和关键信息提取的不精确的问题,故从这一方面提升了精确性。在另一方面,该装置是利用神经网络进行所述第一语义向量进行处理,而非现有技术中的正则表达式或模板的强行匹配,这样显然同样可以减少自然语言中不同字符脱离上下文的语义描述的错误提取,再次提升了语义提取的精确性和正确性。

在有些实施例中,所述第一获取单元120,具体用于根据所述自然语言中所述字符的排列,组合形成至少一个所述第二语义向量,其中,所述第二语义向量,由在所述自然语言中连续分布的m个字符对应的第一语义向量组成,所述m为1或大于1的整数。

在本实施例中所述第一获取单元120,会根据各个字符在自然语言中的排序,将一个或多个相邻位置的字符组合成词对应的第二语义向量,所述第二语义向量中的元素可为各种编码序列或数值等。

例如,所述第一获取单元120,具体用于利用n*m的卷积窗口,对按照字符在所述自然语言排列顺序输入的第一语义向量进行卷积处理,形成卷积向量;其中,所述n为正整数;所述m为所述第一语义向量的维度。

在本实施例中利用卷积网络处理所述第一语义向量,利用卷积窗口作为前述的滑动窗口,以一个字符为滑动步长,得到自然语言中各个字符的各个词的可能,形成所述卷积向量。这里的卷积向量为前述第二语义向量的一种。

在一些实施例中,所述第二获取单元130,具体用于排列组合所述第二语义向量,得到第三语义向量;根据所述第二语义向量的语义描述获得的所述权重向量;根据所述第三语义向量中所述第二语义向量的语义描述,及多个所述第二语义向量的语义描述之间的依赖关系,输出所述第三语义向量对应的且表征所述备选语义意图的第四语义向量。

在本实施例中还会生成第二语义向量对应的权重向量;权重向量包括的元素为权重,各个权重在权重向量中的排序,与一次第一语义向量的排列组合产生的多个所述第二语义向量中的排序一一对应,这样的话,可以简便的根据权重提取自然语言的关键信息。

在一些实施例中,所述选择确定单元140,具体用于利用分类器对各所述第四语义向量进行分类,得到所述最终语义意图。

在实施例中将会继续对第三语义向量进行处理,选择备选向量,并获得备选向量中各个元素之间的依赖关系,生成包括两种元素的第四语义向量,并输入分类器,所述分类器可为各种类型的学习机,由所述学习机等分类器对所述第四语义向量进行处理之后,由所述分类器输出提取的语义。

在一些实施例中,所述选择确定单元140,具体用于根据所述第四语义向量对应的所述第二语义向量的对应关系,及所述第二语义向量与权重向量的对应关系,确定提取所述关键信息的权重向量;根据所述权重向量中各个权值,选择权重满足预设关系的所述第二语义向量对应的字符作为所述关键信息输出。

在还有一些实施例中,所述第一获取单元120,具体用于将所述第一语义向量输入到卷积网,生成卷积向量及所述卷积向量对应的权重向量;

所述第二获取单元130,具体用于将所述卷积向量输入到高速连接网,生成混合向量;将所述混合向量输入到长短记忆网,生成依赖关系向量;

所述选择确定单元140,具体用于将所述依赖关系向量输入到分类器,获得所述分类结果;根据所述分类结果输出所述语义意图;基于所述权重向量中权重输出所述关键信息。

在还有一些实施例中,所述装置还包括:

生成单元,用于预先生成所述字符库,其中,所述字符库包括:语义表;其中,所述语义表包括字符与所述字符的语义描述之间的对应关系;

训练单元,用于利用样本数据训练所述神经网络;

获取单元,用于获取所述神经网络的运行日志;

校正单元,用于根据所述运行日志校正所述神经网络。

这里的生成单元、训练单元、获取单元及校正单元,都可以对应于处理器或处理电路。所述处理器或处理电路的详细描述可以参见前述实施例。

在本实施例中在利用字符库形成所述第一语义向量之前,还会获得所述字符库及所述神经网络,在完成字符库的生成及神经网络的训练之后,就可以使用所述字符库和神经网络对自然语言进行信息提取了。在本实施例中,所述神经网络投入运行之后,还会获取所述运行日志,根据运行日志校正所述神经网络,这样确保神经网络的信息提取的正确率和精确度。

在一些实施例中,所述生成单元,还将具体用于按预定时间间隔,更新所述字符库,以使所述字符库根据现实世界中各个字符的含义的变化,发生对应的变化,从而确保后续自然语言中信息提取的精确度。这里的预定时间间隔中的任意两个时间间隔可相等,也可以不等,若任意两个预定时间间隔相等,则是周期性的更新所述字符库。

在有些实施例中,所述生成单元,具体用于获取字符,所述字符包括:中文标准汉字符集、中外文标点符号及外文字符;获得所述字符的语义描述;建立所述字符与所述字符的语义描述的所述语义表。

在本实施例中所述生成单元,获取字符的来源有多个,以尽可能的全面获得字符的语义描述。

在本实施例中,为了获得各个字符的语义描述变迁,所述生成单元,还具体用于从所述文本资料中获取字符,根据所述字符所在的上下文关系,确定所述字符的语义描述语义描述。

这样就可以确保字符库中的字符的语义描述,与现实使用保持步调一致,从而提升识别的精确度。

以下结合上述任意实施例提供几个具体示例:

示例一:

如图4a至图4b所示,本示例提供一种自然语言的语义提取方法的应用场景。用户终端接收利用音频采集单元(如麦克风)等采集到用户输入的自然语言。例如,用户按住如图4a中录音界面的话筒按钮,用户终端开始进行录音,在完成录音之后会将对应的录音转化成包括一个或多个文字的文本。该文本是与录音采集的音频相对应的一种自然语言。在将自然语言转换成文本之后,会采用本发明实施例提供的自然语言的语义提取方法,对自然语言进行语义意图和关键信息的提取,然后根据得到的所述语义意图及所述关键信息,进行信息搜索,得到如图4b所示的搜寻结果,将所述搜寻结果返回给用户终端,用户终端显示所述搜寻结果。

图4c是另一个应用本发明实施例提供的自然语言的语义提取方法的应用示例。在图4c中接收到自然语言“我搜索附近的肯德基”,然后执行图1所示的方法,得到用户的搜索意图和关键信息,依据获得的搜索意图和关键信息进行信息检索,得到的检索结果反馈给用户终端,显示在用户终端的搜索页面上。

在本示例中的所述用户终端可为手机、平板电脑或可穿戴式设备等各种用户使用的电子设备。

示例二:

如图5所示,本示例提供一种自然语言的语义提取方法,主要包括:离线的字符语义训练、深度混合语义模型训练,以及在线应用。在线应用包括利用训练得到的所述字符语义训练得到的字符库及深度混合语义模型训练得到的神经网络,得到输入的自然语言的场景信息和关键信息。

以下分别描述字符语义训练及所述深度混合语义模型训练。

一、字符语义训练:

1.1)字符集选择和生成:

选择中文标准汉字集(6000个常用字+1.4万个非常用字),中英文标点符号,西文字符(英文和数字),作为后续语料和用户描述处理的标准内容。对语料数据和用户描述做如下预处理:繁体中文转简体,全角符号转半角符号,预处理后的字符出现在字符集范围之外的字符使用统一的标识符替换,编码统一转换为8比特万国码(8-bitunicodetransformationformat,utf-8)编码。

1.2)使用词向量模型训练单字粒度的语义描述。通过大规模中文新闻语料,利用字符的出现的前后关系利用神经网络训练每个字符的语义描述。

图6所示为连续词袋(continuousbagofwords,cbow)模型一个示例的示意图,利用上下文来预测当前词概率,如上文为“中国”,下文为“球赛”,当前词为“足”的概率。图6中w(t)指示的为“足”的信息;t表示的自然语言中第t个字,t+1为“足”前一个字符。关联第t个字符前后的字符,得到第t个字符的语义描述或为每一个语义描述的概率。

通过1.2中模型通过神经网络训练得到每个字符的一个p维的向量描述。所述p为不小于2的整数,在本示例中所述p的取值可为20、30、50、80、100或150或200等取值。这样的话,生成的第一语义向量包括p个元素,为p维度的向量。

二、深度混合语义模型训练

2.1)大规模标注语料集:标注语料集为场景构建完成后,针对每一类场景,由人工标注的语料,如“武汉的天气如何”对应于“天气”,“附近的肯德基”对应于“地图”,从而获得训练样本。

领域知识库:实体词库,如果地址信息、音乐歌名、歌手等等,将知识库按所属的场景构建成训练语料,作为模型训练的输入数据

2.2)深度混合语义分类模型,这里的深度混合语义模型可如图7所示。

语义描述:

对训练语料的字符通过查询字符库中的语义表查表找到对应的语义向量,构建语义矩阵作为模型的输入。

字卷积网:

对语义矩阵使用大小分别为n个字符的卷积窗口执行卷积操作,生成卷积向量,卷积向量可用于描述由字组成的词的语义描述,获取不同组合的不同描述,作为后续网络的输入。在在线应用时,这些不同的组合会有不同的权重,也就反应了该组合对场景的重要程度,作为提取场景关键信息的依据。这里的n的取值依次为1、2、3及4等取值。

高速连接网:

对字卷积网生成的组合语义描述,使用高速连接网进行语义混合,对语义向量进行一次混合重计算,达到语义扩展的效果。

长短记忆网(lstm):

自然语言描述的语义具有跳跃性、依赖性,即描述的每个组成部分是具有相互依赖关系的,而字卷积网提取的是局部信息,而未关注这种长程依赖关系。将字卷积网生成的语义向量序列输入到长短记忆网中,提取这种语义的依赖关系,最终生成一个标注语料的语义向量描述,作为分类器的输入。

分类器:

分类器采用softmax算法对长短记忆网生成的语义向量生成场景预测,并和人工标注的场景分类进行比较,计算误差并将误差反向更新到整个模型中进行训练。

使用标注语料对深度混合语义模型进行迭代训练,收敛达到预定的预测精度后得到模型用于在线预测。

三、在线应用。

利用训练得到的字符库查询自然语言中各个字符的语义描述,生成字符语义向量,利用深度混合语义模型加载构建一个在线服务,对于用户输入的自然语言描述,按照深度混合语义模型的训练过程相同的步骤输出场景分类(不做误差更新),同时根据字卷积网的权重提取描述场景的关键信息,作为最后的输出参数,提供给场景服务进行检索,返回最终展现结果。

在一些示例中为了提升后续提取精确度,还会进行字符库及神经网络的迭代更新。在线服务在用户使用过程会产生点击行为,通过日志分析出相应的点击流数据,对模型进行再训练调优。

在本示例中所述深度混合语义模型,为前述神经网络的一种。

示例三:

如图8所示,本示例提供一种自然语言的语义提取装置的一个可选的硬件结构示意图,包括处理器11、输入/输出接口13(例如显示屏、触摸屏、扬声器),存储介质14以及网络接口12,组件可以经系统总线15连接通信。相应地,存储介质14中均存储有用于执行本发明实施例记载的自然语言的语义提取方法可执行指令。图8中示出的各硬件模块可根据需要部分实施、全部实施或实施其他的硬件模块,各类型硬件模块的数量可以为一个或多个,各硬件模块可以在同一地理位置实施,或者分布在不同的地理位置实施,可以用于执行上述图1或图2所示的自然语言的语义提取方法的至少之一。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1