一种具备多任务驱动能力的多轮对话的方法和系统技术方案

技术编号:19903432 阅读:36 留言:0更新日期:2018-12-26 02:54
本发明专利技术公开了一种具备多任务驱动能力的多轮对话的方法和系统。所述方法包括:接收用户的输入信息;确定所述输入信息的状态;根据所述状态生成一个或多个动作概念,其中,所述一个或多个动作概念分别包括生成一句话或调用一个应用程序接口;以及执行所述一个或多个动作概念。所述方法可以在一个统一的系统架构下同时实现开放域聊天及任务型多轮对话,同时可以感知用户的多个意图并向用户提供多个服务。

【技术实现步骤摘要】
一种具备多任务驱动能力的多轮对话的方法和系统
本专利技术涉及人机对话领域,特别涉及一种具备多任务驱动能力的多轮对话的方法和系统。
技术介绍
在人机对话领域中,开放域聊天技术和任务型多轮对话技术是其中常见的两种。借助开放域聊天技术,人们可以在与智能机器聊天时不受话题限制且满足自身倾诉、陪伴、娱乐等情感诉求。借助任务型多轮对话技术,人们可以通过与智能机器的多轮对话获得订餐、订票等服务。但传统的开放域聊天和任务型多轮对话技术存在如下问题:1.两者难以在一个统一的系统架构下同时实现;2.在任务型多轮对话技术中,智能机器仅能将用户输入信息理解为一个意图,进而基于该意图执行唯一任务,而无法满足用户的多意图诉求。例如,用户对智能机器说“如果我出门时快下雨了,请提醒我带伞”,传统的任务型多轮对话技术仅会将该句子的意图理解为“查询天气”或“提醒带伞”中的一个,而用户的原始意图包含“感知出门时刻”、“查询天气”、“提醒带伞”三个。
技术实现思路
针对上述开放域聊天技术和任务型多轮对话技术存在的问题,本专利技术的目的在于在一个统一的系统架构下同时实现开放域聊天及任务型多轮对话,同时可以感知用户的多个意图并向用户提供多个服务,即系统具备多任务驱动能力。为达到上述专利技术目的,本专利技术提供的技术方案如下:本专利技术一方面披露了一种具备多任务驱动能力的多轮对话方法,包括:接收用户的输入信息;确定所述输入信息的状态(state);根据所述状态生成一个或多个动作概念(action),其中,所述一个或多个动作概念分别包括生成一句话或调用一个应用程序接口(ApplicationProgrammingInterface,API);以及执行所述一个或多个动作概念。在本专利技术中,所述确定所述输入信息的状态,进一步包括:将所述输入信息分为一个或多个词(token);按所述输入信息中所述一个或多个词所在位置的顺序依次对所述一个或多个词进行信息提取,生成对应于所述一个或多个词的一个或多个状态;以及将最后一个词的状态作为所述输入信息的状态。在本专利技术中,所述根据所述状态生成一个或多个动作概念基于一个策略模型(policymodel)。在本专利技术中,所述策略模型是一个神经网络模型,包括但不限于递归神经网络(RNN)、卷积神经网络(CNN)。在本专利技术中,所述神经网络模型基于语料库进行训练。在本专利技术中,所述语料库包括对话预料和动作推理的相关数据。在本专利技术中,所述一个或多个动作概念可以由名称(name)及一个或多个槽值对(slot-pair)组成。在本专利技术中,所述执行所述一个或多个动作概念包括:同时执行所述一个或多个动作概念。在本专利技术中,所述执行所述一个或多个动作概念包括:生成所述一个或多个动作概念所对应的一个序列;以及按照所述序列依次执行所述一个或多个动作概念,其中,前一个动作概念作为后一个动作概念的输入。在本专利技术中,所述执行所述一个或多个动作概念包括:发送提示信息给用户,提示用户可以进行下一轮对话。本专利技术另一方面披露了一种具备多任务驱动能力的多轮对话系统,包括:策略模型训练模块,所述策略模型训练模块被配置为训练一个策略模型;评价模块,所述评价模块被配置为强化或改进所述策略模型;用户交互模块,所述用户交互模块被配置为接收用户输入信息或向用户输出信息;状态确定模块,所述状态确定模块被配置为确定所述用户输入信息的状态;动作概念生成模块,所述动作概念生成模块被配置为调用所述策略模型,以生成一个或多个动作概念;以及执行模块,所述执行模块被配置为执行所述一个或多个动作概念。附图说明图1是根据本专利技术提供的一种具备多任务驱动能力的多轮对话系统的结构示意图;图2是根据本专利技术提供的一种具备多任务驱动能力的多轮对话方法的流程示意图;图1标记:110为策略模型训练模块,120为评价模块,130为用户交互模块,140为状态确定模块,150为动作概念生成模块,160为执行模块。具体实施方式下面通过具体实施例并结合附图对本专利技术做进一步描述。如图1所示,所述具备多任务驱动能力的多轮对话系统,可以包括策略模型训练模块110,评价模块120,用户交互模块130,状态确定模块140,动作概念生成模块150,执行模块160。策略模型训练模块110可以训练一个策略模型。所述策略模型可以基于语料库进行训练。在一些实施例中,所述语料库可以是在线的,也可以是离线的。在一些实施例中,所述语料库可以是单语语料库(如中文语料库、或英文语料库等),也是可以是多语语料库(如中英文语料库、中英法语料库等)。在一些实施例中,所述语料库可以包括对话语料和动作推理的相关数据。所述策略模型可以是一个神经网络模型,如递归神经网络(RecurrentNeuralNetwork,RNN)、卷积神经网络(ConvolutionalNeuralNetwork,CNN)等。所述策略模型可以在每轮对话中被动作概念生成模块150调用。评价模块120可以在多轮对话结束后.对所述多轮对话进行评价。评价模块120的评价指标可以包括但不仅限于多轮对话系统100是否完成任务(例如是否完成机票预订任务及天气查询任务)、对话过程是否与真人聊天接近(例如对话结束后,询问用户是否满意)。所述评价模块120可以强化或改进由策略模型训练模块110生成的策略模型。所述评价模块120可以是一个神经网络模型,如递归神经网络(RecurrentNeuralNetwork,RNN)、卷积神经网络(ConvolutionalNeuralNetwork,CNN)等。在一些实施例中,策略模型训练模块110和评价模块120可以是分开的两个模块。在一些实施例中,策略模型训练模块110和评价模块120可以合成为一个模块。例如,评价模块120可以配置为策略模型训练模块110的一部分,用于强化或改进由策略模型训练模块110生成的策略模型。用户交互模块130可以与用户进行交互,例如,可以接收、发送数据。在一些实施例中,用户交互模块130可以接收用户的输入信息,发送至状态确定模块140进行进一步处理。所述进一步处理可以包括基于所述用户的输入信息确定所述输入信息的状态。在一些实施例中,用户交互模块130可以接收来自执行模块160的数据,如一句话,进行显示。在一些实施例中,所述用户的输入信息可以是一句简单表达情绪或感受的话(如“我很烦”、“我很累”等),也可以是一句隐含了一个或多个意图的话(如“帮我预订一张到上海的机票”、“如果我出门时快下雨了,请提醒我带伞”等)。在一些实施例中,所述用户的输入信息可以是一句信息明确的话(如“放阿甘正传”、“找附近的活鱼馆”等),也可以是一句信息模糊的话(如“找些好莱坞大片”、“附近好吃的都有哪些”等)。状态确定模块140可以确定用户输入信息的状态。所述输入信息可以通过用户交互模块130输入。所述输入信息的状态可以是一个包含数值的张量。所述包含数值的张量可以包括本轮对话的信息,以及用户与多轮对话系统100对话的上下文信息等。所述本轮对话的信息可以是用户本轮对话的目的,例如订机票、订餐等。所述上下文信息可以是用户与多轮对话系统100的历史对话信息。例如,状态确定模块140在本轮对话中确定用户本轮对话的目的是“订本周六上午到上海的机票”,但在历史对话中,用户曾输入过“本周六晚本文档来自技高网...

【技术保护点】
1.一种具备多任务驱动能力的多轮对话方法,包括:接收用户的输入信息;确定所述输入信息的状态;根据所述状态生成一个或多个动作概念,其中,所述一个或多个动作概念分别包括生成一句话或调用一个应用程序接口;以及执行所述一个或多个动作概念。

【技术特征摘要】
1.一种具备多任务驱动能力的多轮对话方法,包括:接收用户的输入信息;确定所述输入信息的状态;根据所述状态生成一个或多个动作概念,其中,所述一个或多个动作概念分别包括生成一句话或调用一个应用程序接口;以及执行所述一个或多个动作概念。2.根据权利要求1所述的方法,其特征在于,所述确定所述输入信息的状态,进一步包括:将所述输入信息分为一个或多个词;根据所述输入信息中所述一个或多个词所在位置的顺序依次对所述一个或多个词进行信息提取,生成对应于所述一个或多个词的一个或多个状态;以及将最后一个词的状态作为所述输入信息的状态。3.根据权利要求1所述具备多任务驱动能力的多轮对话方法,其特征在于,所述根据所述状态生成一个或多个动作概念基于一个策略模型。4.根据权利要求3所述的具备多任务驱动能力的多轮对话方法,其特征在于,所述策略模型是一个神经网络模型。5.根据权利要求4所述的具备多任务驱动能力的多轮对话方法,其特征在于,所述神经网络模型基于语料库进行训练。6.根据权利要求3所述的具备多任务驱动能力的多轮对话方法,其特征在于,所述一...

【专利技术属性】
技术研发人员:龙志雄赵奕伟戴晓胜徐亮彭黔平
申请(专利权)人:杭州方得智能科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1