基于深度学习的机器人对话交互方法及装置与流程

文档序号:12733621阅读:203来源:国知局
基于深度学习的机器人对话交互方法及装置与流程

本发明涉及智能机器人领域,具体地说,涉及一种基于深度学习的机器人对话交互方法及装置。



背景技术:

当前的机器人行业发展迅速,特别是聊天类的机器人已经被越来越多的人所接受。聊天机器人(chatterbot)是一个用来模拟人类对话或聊天的程序。聊天机器人产生的原因是,研发者把自己感兴趣的回答放到数据库中,当一个问题被抛给聊天机器人时,它通过相似度匹配算法,从数据库中找到最相近的问题,然后根据问题与答案的对应关系,给出最贴切的答案,回复给它的聊伴。

因此,在对话系统中就需要维护一个庞大的知识库以供检索。每当接收到用户的聊天语句之后,系统就会到知识库中检索出与用户的询问意思相同的语句,然后把语句对应的答案返回给对话模块,这样便形成了问答交互。

然而,由于中文博大精深,同样一个句子通常会有很多种表达方式。甚至,在某些情况下,仅仅是个别的词汇差异便有可能改变整个句子的意思。因此,想要判定两个语句的意思是否相同事实上是一件很困难的事情。

传统的NLP(Natural Lanuage)技术一般都是基于TF-IDF或者编辑距离等方式,这些方式基本都只会考虑词之间的相似度,而忽略了组成句子以后的语义。

因此,目前需要提供一种能够准确地获取两个语句之间的相似程度的方法和装置。



技术实现要素:

本发明的目的在于,提供一种基于深度学习的机器人对话交互方法及装置来解决上述技术问题。在本发明的基于深度学习的机器人对话交互方法中,其包括以下步骤:

接收用户输入的对话语句;

抽取所述对话语句中的各个语义特征单元,并根据所述语义特征单元进行知识库检索以得到近似对话语句;

在学习模型中分别生成对应于输入的对话语句和近似对话语句的句类向量和句向量,并输出针对输入的对话语句的句向量与句类向量组合和针对近似对话语句的句向量与句类向量组合之间的相似度;

选择相似度最高的近似对话语句所对应的答复语句进行输出。

在一个实施例中,本发明的基于深度学习的机器人对话交互方法优选地包括:

通过神经网络对所述学习模型进行训练学习以提高所输出的相似度值的准确度。

在一个实施例中,本发明的基于深度学习的机器人对话交互方法优选地包括对所述学习模型进行训练的步骤:

在抽取所述对话语句中的各个语义特征单元时,首先进行分词以将对话语句转换为词向量;

将所述词向量按顺序组成矩阵;

将所述矩阵输入到神经网络中进行训练以分别得到生成句向量和句类向量的子模型;

将两个语句的句向量和句类向量输入到神经网络中进行训练以得到生成相似度值的总模型。

在一个实施例中,根据本发明的基于深度学习的机器人对话交互方法,优选的是,所述相似度通过余弦相似度计算

根据本发明的另一个方面,还提供了一种基于深度学习的机器人对话交互装置。该装置包括:

对话语句接收模块,其用以接收用户输入的对话语句;

特征单元抽取模块,其用以抽取所述对话语句中的各个语义特征单元,并根据所述语义特征单元进行知识库检索以得到近似对话语句;

向量生成模块,其用以在学习模型中分别生成对应于输入的对话语句和近似对话语句的句类向量和句向量,并输出针对输入的对话语句的句向量与句类向量组合和针对近似对话语句的句向量与句类向量组合之间的相似度;

语句选择输出模块,其用以选择相似度最高的近似对话语句所对应的答复语句进行输出。

在一个实施例中,本发明的基于深度学习的机器人对话交互装置优选地还包括:

训练模块,其用以通过神经网络对所述学习模型进行训练学习以提高所输出的相似度值的准确度。

在一个实施例中,根据本发明的基于深度学习的机器人对话交互装置,优选的是,在所述训练模块中还包括:

转换单元,其用以在抽取所述对话语句中的各个语义特征单元时,首先进行分词以将对话语句转换为词向量;

矩阵单元,其用以将所述词向量按顺序组成矩阵;

子模型生成单元,其用以将所述矩阵输入到神经网络中进行训练以分别得到生成句向量和句类向量的子模型;

总模型生成单元,其用以将两个语句的句向量和句类向量输入到神经网络中进行训练以得到生成相似度值的总模型。

在一个实施例中,根据本发明的基于深度学习的机器人对话交互装置,优选的是,所述相似度通过余弦相似度计算。

本发明的有利之处在于,根据本发明,机器人不仅可以根据中文单个词来判断语义,还能够判断这些词组成的语句语义以及由相同单词构成的不同语句之间的相似程度,从而更精确地针对交谈对象的意图找到贴切回答进行输出,大大提高了人机交互体验效果。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:

图1显示了根据本发明一个实施例的进行深度学习的机器人对话交互方法的总体流程图;

图2显示了根据本发明一个实施例的采用神经网络对学习模型进行训练以进行深度学习的方法流程图;

图3显示了根据本发明的一个实施例的针对单个语句进行向量拼接分析的原理图;

图4显示了根据本发明的一个实施例的分析两个语句的相似度的原理图;

图5显示了根据本发明一个实施例的基于深度学习的机器人对话交互装置的结构框图;以及

图6显示了根据本发明一个实施例的训练模块的内部结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明实施例作进一步地详细说明。

由于中文中不同句型的形式意思都很不一样,而传统判断句子相似的方法,会忽略掉句型对句子含义的影响,这会导致判断相似句子的准确率降低。因此本申请提供了一种结合句型进行句子相似度判断的方法,以提高在智能机器人与用户进行交互时,对用户输入的语句进行相似匹配的正确率。

如图1所示,其中显示了根据本发明原理的进行深度学习的机器人对话交互方法的总体流程图。

在图1中,机器人对话交互方法开始于步骤S101。在起始步骤中,一般系统会进行一些参数的初始化操作等。接下来,进行到步骤S102,在该步骤中,机器人接收用户输入的对话语句。机器人接收的方式随用户输入的对话语句的输入方式而不同。例如,如果用户输入的对话语句为一段文本,则机器人通过扫描或者其他文本输入方式获取该对话语句。如果用户输入的对话语句为一段语音,则机器人可通过音频输入接口获取该语音,同时启用音频转文本功能将其转化为相应的文本。

在步骤S103中,系统抽取对话语句中的各个语义特征单元,并根据语义特征单元进行知识库检索以得到近似对话语句。具体说,对于对话语句“我喜欢你!”系统将抽取出“我”“喜欢”“你”以及“!”这些语义特征单元。在中文语义表达中,标点符号具有很强的意思表达,因此本发明在抽取语义特征单元时,也会抽取标点来作为一个语义特征。此外,如果是一段语音,则机器人会感知这段语音中的语气,了解该语句属于陈述句、疑问句、反问句中的哪一类。例如,对于用户输入的反问语句“你难道不知道他去上班了吗?”,系统如果检索出陈述语句“他去上班了。”与其进行比较,则反问句中的标点符号以及其中的“难道”等语义特征单元是非常有必要提取出来,从而作为判断这两个语句相似的基准,即使它们中包含的很多其他语义特征单元相同也不相似。

接下来,在步骤S104中,在学习模型中分别生成对应于输入的对话语句和近似对话语句的句类向量和句向量,并输出针对输入的对话语句的句向量与句类向量组合和针对近似对话语句的句向量与句类向量组合之间的相似度。句类向量由上述提到的可表示本语句属于哪一类语句的语义特征单元构成,或者由它们变形而得到的句类标记构成。一般地,从语气上对句子进行分类,可包括陈述句、疑问句、祈使句和感叹句。

如图2所示,其中详细显示了根据本发明对学习模型进行训练的过程。

在图2中,步骤S201,在抽取所述对话语句中的各个语义特征单元时,首先进行分词以将对话语句转换为词向量。接下来,在步骤S202中,将这些词向量按顺序组成矩阵。将矩阵输入到神经网络中进行训练以分别得到生成句向量和句类向量的子模型,步骤S203。将两个语句的句向量和句类向量输入到神经网络中进行训练以得到生成相似度值的总模型,步骤S204。

具体而言,图2所显示的流程步骤还可通过图3的方式表达出来。如图3所示,其中详细显示了根据本发明的原理针对单个输入语句生成句向量与句类向量组合的示意图。如图3所示,在本发明中,使用得到的语料和学习模型文件,先对句子进行分词。然后将句子转换为词向量,将词向量顺序拼接起来得到一个二维的矩阵。

具体地,图3中显示的所输入的一个语句包含了词1、词2…词7。这里词的含义已经不完全是“词”,例如语句中的“我”。而应该还包括语气词以及标点符号这些能够单个或者组合起来区分句类的单元。因此,这里也将“词”称为语义特征单元。当按照一定规则将语句切割成单个的词或者语义特征单元之后,便会进行向量变换操作。变换后的向量以矩阵的形式出现。接下来,将矩阵输入到不同的两个初始学习模型中通过神经网络进行训练。第一个模型训练后得到一个句向量,第二个模型训练后得到一个句类向量。然后通过拼接的方式,将两个向量组合起来。

以上是针对单个语句的训练结果。

如图4显示的,当将两个语句都输入到同一个学习模型中后,分别得到两个拼接的向量。然后,根据余弦相似度比较得出它们之间的相似度分值。

学习模型最终会输出一个例如0到1之间的分值。在本发明中,可以定义0为不相似,而1为相似。学习模型会根据距离正确值的差异来反复调整其中的权重,最后训练出一个合适的模型。通过该训练后的模型,当输入两个不同的语句后,可以得出较为准确的能够反应它们是否相似以及相似程度的结果。

也就是说,对于任意两个语句,经过本发明训练的模型都可以得到一个分值。这个分值越接近1表示越相似,可以认为定义一个阈值,例如0.5,大于该阈值的分数可以表示这两个语句是相似的,分数越大,表示相似程度越高。

例如针对语句“我喜欢你”陈述句句类,和“你喜欢我吗?”疑问句句类,经过上述过程之后会得到不相似的判断结果。虽然它们的基本词汇都相同,但是句类不同,所表达的含义完全不同。这样,机器人才会根据该结果继续检索知识库,以找到最匹配的答案语句来。

再比如,另一个语句“积分能干什么”疑问句句类,“积分可以干啥?”疑问句句类,在经过上述过程之后,虽然其中的个别词汇并不相同,但是最终得到的相似度分值却接近1,因此得出相似的判断结果。

另一个例子,语句“你难道不知道他去上班了吗?”反问句句类,“他去上班了。”陈述句句类,虽然后一语句的全部词汇都包含在前一语句中,但是句类完全不同。经过上述训练模型后,发现他们的相似度也接近1,得出相似的判断结果。这是因为,前一语句中的个别语义特征单元与其句类向量结合起来修正了单纯靠词汇分割判断的句子含义的结果。

本发明的学习模型分为三个部分来实现。第一个部分主要实现的功能是,使用神经网络训练的模型得出语句的句类。第二个部分是使用神经网络训练的模型得到一个句子的句向量表示。而第三部分是合并上述信息计算相似度分值。在计算相似度分值的步骤中,首选通过计算余弦相似度来确定出相似度最高的语句。

接下来,在步骤S105中,选择相似度最高的近似对话语句所对应的答复语句进行输出。所述相似度通过余弦相似度计算最后,方法运行到步骤S106便结束操作。

由于本发明的方法描述的是在计算机系统中实现的。该计算机系统例如可以设置在机器人的控制核心处理器中。例如,本文所述的方法可以实现为能以控制逻辑来执行的软件,其由机器人控制系统中的CPU来执行。本文所述的功能可以实现为存储在非暂时性有形计算机可读介质中的程序指令集合。当以这种方式实现时,该计算机程序包括一组指令,当该组指令由计算机运行时其促使计算机执行能实施上述功能的方法。可编程逻辑可以暂时或永久地安装在非暂时性有形计算机可读介质中,例如只读存储器芯片、计算机存储器、磁盘或其他存储介质。除了以软件来实现之外,本文所述的逻辑可利用分立部件、集成电路、与可编程逻辑设备(诸如,现场可编程门阵列(FPGA)或微处理器)结合使用的可编程逻辑,或者包括它们任意组合的任何其他设备来体现。所有此类实施例旨在落入本发明的范围之内。

因此,根据本发明的另一个方面,还提供了一种基于深度学习的机器人对话交互装置500。如图5所示,装置500包括:

对话语句接收模块501,其用以接收用户输入的对话语句;

特征单元抽取模块502,其用以抽取所述对话语句中的各个语义特征单元,并根据所述语义特征单元进行知识库检索以得到近似对话语句;

向量生成模块503,其用以在学习模型中分别生成对应于输入的对话语句和近似对话语句的句类向量和句向量,并输出针对输入的对话语句的句向量与句类向量组合和针对近似对话语句的句向量与句类向量组合之间的相似度;

语句选择输出模块504,其用以选择相似度最高的近似对话语句所对应的答复语句进行输出。

在一个实施例中,本发明的基于深度学习的机器人对话交互装置优选地还包括:

训练模块505,其用以通过神经网络对所述学习模型进行训练学习以提高所输出的相似度值的准确度。

如图6所示,在一个实施例中,根据本发明的基于深度学习的机器人对话交互装置500,优选的是,在所述训练模块505中还包括以下部分:

转换单元505a,其用以在抽取所述对话语句中的各个语义特征单元时,首先进行分词以将对话语句转换为词向量;

矩阵单元505b,其用以将所述词向量按顺序组成矩阵;

子模型生成单元505c,其用以将所述矩阵输入到神经网络中进行训练以分别得到生成句向量和句类向量的子模型;

总模型生成单元505d,其用以将两个语句的句向量和句类向量输入到神经网络中进行训练以得到生成相似度值的总模型。

在一个实施例中,根据本发明的基于深度学习的机器人对话交互装置,优选的是,所述相似度通过余弦相似度计算。

应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。

说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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