一种基于深度学习的多轮自动聊天对话方法及系统与流程

文档序号:11286628阅读:519来源:国知局
一种基于深度学习的多轮自动聊天对话方法及系统与流程

本发明涉及智能聊天机器人领域,尤其是涉及一种基于深度学习的多轮自动聊天对话方法及系统。



背景技术:

近年来,随着人工智能的迅速发展,聊天机器人也受到了学术界和工业界的广泛关注。

聊天机器人是一种通过自然语言模拟人类进行对话的程序。

目前聊天机器人主要分为在线客服,娱乐,教育,个人助理和智能问答这五个种类。无论哪种机器人都能与用户进行一定程度地交互。然而,在当前聊天机器人应用场景中,用户仍然占据主导地位。用户在连续对话中,其上下文的聊天话题存在着承接性和补充性,话题间的跳转也具有随意性的特点。目前的聊天机器人大部分侧重在和用户进行单轮交互,使得机器人并不能很好地获取用户的真实意图,因为用户聊天的重要信息可能在用户之前的对话中。这种基于单轮的聊天机制,忽略了当前用户前几轮的聊天主题和场景分析,因此其返回的答案会存在一定的偏差,甚至返回错误的答案。

因此,能够与用户进行连续多轮对话的聊天机器人比当前大部分基于单轮对话的聊天机器人能够更加满足用户需求,其返回的结果也更加符合用户的预期。



技术实现要素:

本发明的目的在于克服上述技术不足,提出一种基于深度学习的多轮自动聊天对话方法及系统,解决现有技术中的上述技术问题。

为达到上述技术目的,本发明的技术方案提供一种基于深度学习的多轮自动聊天对话方法,包括:

s1、获取当前用户输入的文本信息并对输入的文本信息进行文字处理后得到用户当前输入处理结果;

s2、基于所述用户当前输入处理结果,使用深度学习模型来挖掘用户当前输入意图;

s3、判断用户对话是否是首轮对话,如果不是首轮对话则根据所述用户当前输入意图、上一轮对话的聊天主题及所述用户当前输入处理结果使用深度学习模型来判断所述用户当前输入意图是否和所述上一轮对话的聊天主题一致;

s4、从每一轮用户输入信息中提取特定信息作为当轮对话的实体信息,实体信息存储单元存储实体信息,根据s3的判断结果更新所述实体信息存储单元中存储的实体信息,然后根据所述用户当前输入意图和所述实体信息存储单元中存储的实体信息从预设的答复数据库获取答复内容,并将答复内容发送给用户。

本发明还提供一种基于深度学习的多轮自动聊天对话系统,包括:

文本信息处理模块:获取当前用户输入的文本信息并对输入的文本信息进行文字处理后得到用户当前输入处理结果;

当前输入意图挖掘模块:基于所述用户当前输入处理结果,使用深度学习模型来挖掘用户当前输入意图;

主题判断模块:判断用户对话是否是首轮对话,如果不是首轮对话则根据所述用户当前输入意图、上一轮对话的聊天主题及所述用户当前输入处理结果使用深度学习模型来判断所述用户当前输入意图是否和所述上一轮对话的聊天主题一致;

答复模块:从每一轮用户输入信息中提取特定信息作为当轮对话的实体信息,实体信息存储单元存储实体信息,根据s3的判断结果更新所述实体信息存储单元中存储的实体信息,然后根据所述用户当前输入意图和所述实体信息存储单元中存储的实体信息从预设的答复数据库获取答复内容,并将答复内容发送给用户。

与现有技术相比,本发明的有益效果包括:根据用户当前输入意图、上一轮对话的聊天主题及用户当前输入处理结果使用深度学习模型来判断用户本轮聊天的输入意图是否和上一轮对话的聊天主题一致,根据上下文聊天主题是否一致来更新实体信息存储单元中存储的实体信息,然后根据用户当前输入意图和实体信息存储单元中存储的实体信息从预设的答复数据库获取答复内容,并将答复内容发送给用户,可以实现聊天机器人在与用户进行连续多轮对话时,能够同时考虑本轮对话和上一轮对话的内容、上下文场景信息,通过深度学习模型判断用户本轮聊天的输入意图是否和上一轮对话的聊天主题一致,能够更为准确的判断用户本轮聊天的输入意图,从而答复更为准确的内容给用户,提升回答质量,改善用户使用体验。

附图说明

图1是本发明提供的一种基于深度学习的多轮自动聊天对话方法流程图;

图2是本发明提供的一种基于深度学习的多轮自动聊天对话系统结构框图;

图3是图2中主题判断模块的结构框图。

附图中:1、基于深度学习的多轮自动聊天对话系统,11、文本信息处理模块,12、当前输入意图挖掘模块,13、主题判断模块,14、答复模块,131、上一轮聊天主题向量获取单元,132、用户当前输入意图向量获取单元,133、词向量矩阵及词性向量矩阵获取单元,134、判断单元。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在单轮对话方式的聊天机器人中,当用户输入1时,聊天机器人根据用户输入1给出回复1,当用户输入2时,聊天机器人根据用户输入2给出回复2。例如,在第一轮对话中,用户输入1为“今天星期几”,机器人回复“星期三”,在第二轮对话中,用户输入2为“明天几号”,机器人回复“2017年3月30日”。

这样的单轮对话方式在一问一答的简单聊天模式中效果还是比较理想的,然而,如果用户多轮对话话题之间相关性很强时,那么机器人就不能采用单轮对话的方式进行回复,否则回复会产生较大偏差或错误。例如,当用户接下来输入3为“今天呢”,机器人可能回复“今天是个好日子呀”,这时候机器人并没有考虑用户上一轮对话的输入,其仅仅根据本轮对话的用户输入来回复,这样不能让多轮聊天很好地进行下去。

为了解决这一问题,聊天机器人需要结合与用户之前对话的聊天主题,对用户当前输入进行回复。通过考虑用户当前输入、当前输入的意图以及用户历史的聊天主题来判断当前用户的真实聊天主题,聊天机器人基于真实的聊天主题给予回复,从而提升对话质量。

本发明提供了一种基于深度学习的多轮自动聊天对话方法,包括:

s1、获取当前用户输入的文本信息并对输入的文本信息进行文字处理后得到用户当前输入处理结果;

s2、基于用户当前输入处理结果,使用深度学习模型来挖掘用户当前输入意图;

s3、判断用户对话是否是首轮对话,如果不是首轮对话则根据用户当前输入意图、上一轮对话的聊天主题及用户当前输入处理结果使用深度学习模型来判断用户当前输入意图是否和上一轮对话的聊天主题一致;

s4、从每一轮用户输入信息中提取特定信息作为当轮对话的实体信息,实体信息存储单元存储实体信息,根据s3的判断结果更新实体信息存储单元中存储的实体信息,然后根据用户当前输入意图和实体信息存储单元中存储的实体信息从预设的答复数据库获取答复内容,并将答复内容发送给用户。

本发明所述的基于深度学习的多轮自动聊天对话方法,步骤s1中对当前用户输入的文本信息进行文字处理的步骤为:

对当前用户输入的文本信息进行分词和词性标注,分词和词性标注的方法是基于全局归一化的条件随机场方法;例如用户输入文本信息是“abc”,分词和词性标注结果为a/ab/bc/c,其中abc代表组成用户输入的词语,abc代表用户输入词语所对应的词性,又如用户输入文本信息是“武汉天气怎么样?”分词和词性标注结果为:“武汉/ns天气/n怎么样/ryv”,其中词性“ns”代表地名,“n”代表名词,“ryv”代表谓词性疑问代词;可选的,还可以在分词和词性标注完成后,进一步进行去除停用词的文字处理步骤,去除停用词的步骤为:在分词和词性标注完成后利用预设的停用词表过滤掉分词结果中的停用词。

本发明所述的基于深度学习的多轮自动聊天对话方法,根据用户当前输入的文本信息或者上一轮对话输入的文本信息,利用lstm递归神经网络的深度学习模型挖掘用户当前输入意图或上一轮对话的聊天主题。例如,用户输入文本“武汉天气怎么样?”的输入意图或者聊天主题是“天气”。用户也可以输入语音信息,输入语音信息后首先自动将语音信息语音识别为文本信息,再进行后续其他操作。

本发明所述的基于深度学习的多轮自动聊天对话方法,利用lstm递归神经网络的深度学习模型挖掘用户当前输入意图时会考虑到上一轮对话输入的文本信息以使挖掘的本轮用户当前输入意图更符合上下文内容、场景,更加准确。

本发明所述的基于深度学习的多轮自动聊天对话方法,步骤s3包括:

基于用户上一轮对话输入的文本信息,使用深度学习模型挖掘上一轮对话的聊天主题并将上一轮对话的聊天主题表示为上一轮对话聊天主题向量;

使用深度学习模型来挖掘用户当前输入意图后,将用户当前输入意图表示为用户当前输入意图向量;

以词向量表示分词后的词语,以词性向量表示词语对应的词性标注,将用户当前输入处理结果中的所有分词后的词语和词语对应的词性标注分别表示为词向量矩阵和词性向量矩阵;

以上一轮对话聊天主题向量、用户当前输入意图向量、词向量矩阵、词性向量矩阵为参数,利用卷积神经网络和lstm递归神经网络的深度学习模型判断用户当前输入意图是否和上一轮对话的聊天主题一致。

本发明所述的基于深度学习的多轮自动聊天对话方法,步骤s4中:

从每一轮用户输入信息中提取特定信息作为当轮对话的实体信息,实体信息为人名、地名、电话号码、性别、年龄、时间等。

本发明所述的基于深度学习的多轮自动聊天对话方法,步骤s4中根据s3的判断结果更新实体信息存储单元中存储的实体信息的步骤为:

如果用户当前输入意图和上一轮对话的聊天主题一致,则将上一轮对话的实体信息和本轮对话的实体信息进行结合后的实体信息来替换实体信息存储单元存储的实体信息;

如果用户当前输入意图和上一轮对话的聊天主题不一致,则将本轮对话的实体信息来替换实体信息存储单元存储的实体信息。

本发明所述的基于深度学习的多轮自动聊天对话方法,步骤s3中:

如果判断用户对话是首轮对话,则根据用户当前输入意图和用户首轮输入信息的实体信息从预设的答复数据库获取答复内容,并将答复内容发送给用户。

本发明还提供一种基于深度学习的多轮自动聊天对话系统1,包括:

文本信息处理模块11:获取当前用户输入的文本信息并对输入的文本信息进行文字处理后得到用户当前输入处理结果;

当前输入意图挖掘模块12:基于用户当前输入处理结果,使用深度学习模型来挖掘用户当前输入意图;

主题判断模块13:判断用户对话是否是首轮对话,如果不是首轮对话则根据用户当前输入意图、上一轮对话的聊天主题及用户当前输入处理结果使用深度学习模型来判断用户当前输入意图是否和上一轮对话的聊天主题一致;

答复模块14:从每一轮用户输入信息中提取特定信息作为当轮对话的实体信息,实体信息存储单元存储实体信息,根据s3的判断结果更新实体信息存储单元中存储的实体信息,然后根据用户当前输入意图和实体信息存储单元中存储的实体信息从预设的答复数据库获取答复内容,并将答复内容发送给用户。

本发明所述的基于深度学习的多轮自动聊天对话系统1,文本信息处理模块11中:

对当前用户输入的文本信息进行分词和词性标注。

本发明所述的基于深度学习的多轮自动聊天对话系统1,主题判断模块13包括:

上一轮聊天主题向量获取单元131:基于用户上一轮对话输入的文本信息,使用深度学习模型挖掘上一轮对话的聊天主题并将上一轮对话的聊天主题表示为上一轮对话聊天主题向量;

用户当前输入意图向量获取单元132:使用深度学习模型来挖掘用户当前输入意图后,将用户当前输入意图表示为用户当前输入意图向量;

词向量矩阵及词性向量矩阵获取单元133:以词向量表示分词后的词语,以词性向量表示词语对应的词性标注,将用户当前输入处理结果中的所有分词后的词语和词语对应的词性标注分别表示为词向量矩阵和词性向量矩阵;

判断单元134:以上一轮对话聊天主题向量、用户当前输入意图向量、词向量矩阵、词性向量矩阵为参数,利用卷积神经网络和lstm递归神经网络的深度学习模型判断用户当前输入意图是否和上一轮对话的聊天主题一致。

本发明所述的基于深度学习的多轮自动聊天对话系统1,答复模块14中:

如果用户当前输入意图和上一轮对话的聊天主题一致,则将上一轮对话的实体信息和本轮对话的实体信息进行结合后的实体信息来替换实体信息存储单元存储的实体信息;如果用户当前输入意图和上一轮对话的聊天主题不一致,则将本轮对话的实体信息来替换实体信息存储单元存储的实体信息。

本发明所述的基于深度学习的多轮自动聊天对话系统1,主题判断模块13中:

如果判断用户对话是首轮对话,则根据用户当前输入意图和用户首轮输入信息的实体信息从预设的答复数据库获取答复内容,并将答复内容发送给用户。

与现有技术相比,本发明的有益效果包括:根据用户当前输入意图、上一轮对话的聊天主题及用户当前输入处理结果使用深度学习模型来判断用户本轮聊天的输入意图是否和上一轮对话的聊天主题一致,根据上下文聊天主题是否一致来更新实体信息存储单元中存储的实体信息,然后根据用户当前输入意图和实体信息存储单元中存储的实体信息从预设的答复数据库获取答复内容,并将答复内容发送给用户,可以实现聊天机器人在与用户进行连续多轮对话时,能够同时考虑本轮对话和上一轮对话的内容、上下文场景信息,通过深度学习模型判断用户本轮聊天的输入意图是否和上一轮对话的聊天主题一致,能够更为准确的判断用户本轮聊天的输入意图,从而答复更为准确的内容给用户,提升回答质量,改善用户使用体验。

以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

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