一种语义分类的方法、系统及对话处理系统与流程

文档序号:14657847发布日期:2018-06-12 07:35阅读:174来源:国知局

本发明涉及人工智能领域,特别是涉及一种语义分类的方法、系统及对话处理系统。



背景技术:

对话处理系统一直是人工智能领域一个非常重要的分支,这些年不仅受到学术界的研究重视,而且在工业界也有广泛的应用。对话处理系统中使用了大量的自然语言处理技术,该技术中一个非常重要的组成部分是语义分类。语义分类的目的是将用户对话的语义、意图进行区分,将自然语言的抽象含义转换成与业务相关的分类,这样以便对话系统根据用户的语义分类生成相应的回答或执行相应的任务。

现有技术中的语义分类分为两种,一种是对单语句进行分类,也即对当前语句进行分类,另一种是对整段对话进行分类。在实际应用中,如果只对当前语句进行分类,那么就会缺少当前语句的背景信息,使当前语句出现歧义,从而无法正确理解当前语句的含义;而直接将整个对话进行分类,由于整段对话是由多条语句拼接而成,无法区分整段对话的重点,从而无法提取出和当前语句相关的重要信息,这样会给对话处理系统后级的处理模块带来很大的不确定性。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种语义分类的方法、系统及对话处理系统,可以自动提取背景语句组中的重要信息,并将提取的重要信息和当前语句结合,以便更好的理解当前语句的含义,从而提高了对话处理系统后级的处理模块在处理业务时的准确性。

为解决上述技术问题,本发明提供了一种语义分类的方法,应用于对话处理系统,包括:

获取对话中的所有语句,并对每条所述语句进行向量编码,得到每条所述语句的语句向量;

将所述语句向量分为当前语句组和背景语句组,其中,所述当前语句组包括当前语句的语句向量,所述背景语句组包括所有所述语句的语句向量中除所述当前语句的语句向量外的语句向量,所述当前语句为所述对话中的最后一条语句;

通过注意力机制对所述背景语句组中的语句向量进行加权平均处理,得到背景向量;

根据所述当前语句的语句向量和所述背景向量得到所述当前语句的含义向量。

优选的,所述对每条所述语句进行向量编码的过程为:

对每条所述语句进行循环神经网络RNN向量编码。

优选的,所述对每条所述语句进行向量编码的过程为:

对每条所述语句进行卷积神经网络CNN向量编码。

优选的,所述根据所述当前语句的语句向量和所述背景向量得到所述当前语句的含义向量的过程具体为:

将所述当前语句的语句向量和所述背景向量通过多层神经网络处理,得到所述当前语句的含义向量。

为解决上述技术问题,本发明还提供了一种语义分类的系统,应用于对话处理系统,包括:

编码模块,用于获取对话中的所有语句,并对每条所述语句进行向量编码,得到每条所述语句的语句向量;

分组模块,用于将所述语句向量分为当前语句组和背景语句组,其中,所述当前语句组包括当前语句的语句向量,所述背景语句组包括所有所述语句的语句向量中除所述当前语句的语句向量外的语句向量,所述当前语句为所述对话中的最后一条语句;

处理模块,用于通过注意力机制对所述背景语句组中的语句向量进行加权平均处理,得到背景向量;

获取模块,用于根据所述当前语句的语句向量和所述背景向量得到所述当前语句的含义向量。

优选的,所述编码模块具体用于对每条所述语句进行循环神经网络RNN向量编码。

优选的,所述编码模块具体用于对每条所述语句进行卷积神经网络CNN向量编码。

优选的,所述获取模块具体用于:

将所述当前语句的语句向量和所述背景向量通过多层神经网络处理,得到所述当前语句的含义向量。

为解决上述技术问题,本发明还提供了一种对话处理系统,包括如上述任意一项所述的语义分类系统。

本发明提供了一种语义分类的方法,应用于对话处理系统,包括:获取对话中的所有语句,并对每条语句进行向量编码,得到每条语句的语句向量;将语句向量分为当前语句组和背景语句组,其中,当前语句组包括当前语句的语句向量,背景语句组包括所有语句的语句向量中除当前语句的语句向量外的语句向量,当前语句为对话中的最后一条语句;通过注意力机制对背景语句组中的语句向量进行加权平均处理,得到背景向量;根据当前语句的语句向量和背景向量得到当前语句的含义向量。

可见,在实际应用中,采用本发明的方案,预先将对话中的所有语句进行向量编码并分组,通过语句向量来整体考虑背景语句组中的语句对当前语句的影响,并利用注意力机制,将背景语句组中的语句向量进行了加权平均,自动提取背景语句组中的重要信息,将提取的重要信息和当前语句结合,以便更好的理解当前语句的含义,从而提高了对话处理系统后级的处理模块在处理业务时的准确性。

本发明还提供了一种语义分类的系统及对话处理系统,具有和上述语义分类方法相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的一种语义分类方法的步骤流程图;

图2为本发明所提供的一种语义分类系统的结构示意图。

具体实施方式

本发明的核心是提供一种语义分类的方法、系统及对话处理系统,可以自动提取背景语句组中的重要信息,并将提取的重要信息和当前语句结合,以便更好的理解当前语句的含义,从而提高了对话处理系统后级的处理模块在处理业务时的准确性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明所提供的一种语义分类方法的步骤流程图,应用于对话处理系统,包括:

步骤1:获取对话中的所有语句,并对每条语句进行向量编码,得到每条语句的语句向量;

具体的,一段对话中一般包括多条语句,对多条语句按时间顺序进行向量编码,这样就可以将对话中的每一条语句都转换成一个维度较低的语句向量,举例说明,若一段对话中包括十条语句,那么第一条语句的语句向量可以为1,第二条语句的语句向量为2,以此类推,第十条语句也即当前语句的语句向量为10。

具体的,对话处理系统可以为人机对话处理系统,也可以为人人对话处理系统,除了包括语音对话,还包括文字对话,本发明对对话处理系统不做具体限定。

步骤2:将语句向量分为当前语句组和背景语句组,其中,当前语句组包括当前语句的语句向量,背景语句组包括所有语句的语句向量中除当前语句的语句向量外的语句向量,当前语句为对话中的最后一条语句;

具体的,将语句向量分为当前语句组和背景语句组,实际上是按对话中的语句进行分组的,最后一条语句之前的所有语句皆为背景语句,最后一条语句则为当前语句,假设一段对话中包括十条语句,那么背景语句组则包括第一条语句到第九条语句的语句向量,那么第十条语句之前的每条语句均可以称为背景语句,第十条语句的语句向量单为一组即为当前语句组,本发明对对话中的所有语句进行了向量编码,通过语句向量来整体考虑背景语句对当前语句的影响,从而提高了对当前语句的语义理解的正确性。

步骤3:通过注意力机制对背景语句组中的语句向量进行加权平均处理,得到背景向量;

具体的,将背景语句组中的语句向量分别和当前语句进行计算,得到背景语句组中每一条语句向量相对于当前语句的注意力参数,这里的注意力参数可以理解为是背景语句组中任意一条语句的权重,也可以理解为任意一条背景语句和当前语句的相关联程度,然后将背景语句组中所有的语句向量根据注意力矩阵进行加权平均,得到背景语句组的背景向量,其中,注意力矩阵的列表示背景语句组中每一条语句向量的权重。本发明采用注意力机制,将背景语句组中的语句向量进行加权平均,可以自动提取背景语句的重要信息,进一步提高了对当前语句的语义理解的正确性。

步骤4:根据当前语句的语句向量和背景向量得到当前语句的含义向量。

作为一种优选的实施例,根据当前语句的语句向量和背景向量得到当前语句的含义向量的过程具体为:

将当前语句的语句向量和背景向量通过多层神经网络处理,得到当前语句的含义向量

具体的,对当前语句的语句向量和背景向量通过多层神经网络进行计算,即可得到当前语句的含义向量,可以理解的是,含义向量中所对应的信息不仅包括当前语句的信息还包括背景语句的关键信息,是当前语句和背景语句关键信息的结合,本发明可以根据背景语句组提取的关键信息对当前语句进行消歧,以便对当前语句进行准确的分类。

本发明提供了一种语义分类的方法,应用于对话处理系统,包括:获取对话中的所有语句,并对每条语句进行向量编码,得到每条语句的语句向量;将语句向量分为当前语句组和背景语句组,其中,当前语句组包括当前语句的语句向量,背景语句组包括所有语句的语句向量中除当前语句的语句向量外的语句向量,当前语句为对话中的最后一条语句;通过注意力机制对背景语句组中的语句向量进行加权平均处理,得到背景向量;根据当前语句的语句向量和背景向量得到当前语句的含义向量。

可见,在实际应用中,采用本发明的方案,预先将对话中的所有语句进行向量编码并分组,通过语句向量来整体考虑背景语句组中的语句对当前语句的影响,并利用注意力机制,将背景语句组中的语句向量进行了加权平均,自动提取背景语句组中的重要信息,将提取的重要信息和当前语句结合,以便更好的理解当前语句的含义,从而提高了对话处理系统后级的处理模块在处理业务时的准确性。

在上述实施例的基础上:

作为一种优选的实施例,对每条语句进行向量编码的过程为:

对每条语句进行循环神经网络RNN向量编码。

具体的,RNN(Recurrent Neural Network,循环神经网络)神经网络是一种节点定向连接成环的人工神经网络,这种网络的内部状态可以展示动态时序行为记住其以前的输入,当涉及到连续的、与上下文相关的任务(如语音识别)时,具有更大的优势,本发明通过RNN的LSTM(Long Short-Term Memory,长短期记忆网络)模型对对话中的语句进行编码,更准确。

当然,除了可以采用RNN对语句进行向量编码,还可以采用其他方式,本发明在此不做限定。

作为一种优选的实施例,对每条语句进行向量编码的过程为:

对每条语句进行卷积神经网络CNN向量编码。

具体的,CNN(Convolutional Neural Networks,卷积神经网络)是一种特殊的深层神经网络模型,在实际应用中,CNN模型训练时间短,可以降低语句编码的时长,缩短语义分类的时间,进而满足对话处理系统的并发需求。

当然,除了可以采用CNN对语句进行向量编码,还可以采用其他方式,本发明在此不做限定。

请参照图2,图2为本发明所提供的一种语义分类系统的结构示意图,应用于对话处理系统,包括:

编码模块1,用于获取对话中的所有语句,并对每条语句进行向量编码,得到每条语句的语句向量;

分组模块2,用于将语句向量分为当前语句组和背景语句组,其中,当前语句组包括当前语句的语句向量,背景语句组包括所有语句的语句向量中除当前语句的语句向量外的语句向量,当前语句为对话中的最后一条语句;

处理模块3,用于通过注意力机制对背景语句组中的语句向量进行加权平均处理,得到背景向量;

获取模块4,用于根据当前语句的语句向量和背景向量得到当前语句的含义向量。

作为一种优选的实施例,编码模块1具体用于对每条语句进行循环神经网络RNN向量编码。

作为一种优选的实施例,编码模块1具体用于对每条语句进行卷积神经网络CNN向量编码。

作为一种优选的实施例,获取模块4具体用于:

将当前语句的语句向量和背景向量通过多层神经网络处理,得到当前语句的含义向量。

本发明还提供了一种对话处理系统,包括如上述任意一项的语义分类系统。

本发明还提供了一种语义分类的系统及对话处理系统,具有和上述语义分类方法相同的有益效果。

对于本发明所提供的一种语义分类的系统及对话处理系统的介绍请参照上述实施例,本发明在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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