在线训练模型的方法、装置、设备及存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉及一种在线训练模型的方法、在线训练模型的装置、在线训练模型的设备以及计算机可读存储介质。
背景技术
随着NLU(Natural Language Understanding,自然语言理解)技术的发展,人机会话技术的应用也越来越广泛。
人机会话模型是基于NLU技术得到的智能会话模型,该模型能够代替人工与对方进行沟通。在一种技术方案中,在人机会话结束后,获取人机会话中多个轮次的会话消息,对每个轮次的会话消息进行独立标注,基于标注的会话消息对人机会话模型进行训练。但是,在这种技术方案中,一方面,没有考虑到上下文的信息,难以准确地对会话内容进行标注;另一方面,不能对人机会话模型的结果进行实时反馈,从而无法根据反馈进行实时地优化模型。
发明内容
本申请实施例的目的是提供一种在线训练模型的方法、在线训练模型的装置、在线训练模型的设备以及计算机可读存储介质,以解决难以准确地对会话内容进行标注以及无法对模型进行实时反馈与优化的问题。
为解决上述技术问题,本申请实施例是这样实现的:
根据本申请实施例的第一方面,提供了一种在线训练模型的方法,包括:接收当前会话的发起方发送的会话消息;基于所述当前会话的上下文信息对所述会话消息进行标注,得到所述会话消息的标注意图;通过意图识别模型对所述会话消息进行意图识别,得到所述会话消息的识别意图;基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,以使所述差异小于第一预定阈值。
在本申请的一些实施例中,基于上述方案,所述方法还包括:基于所述识别意图通过回应生成模型生成与所述会话消息对应的原始回应消息,所述识别意图包含意图属性;基于所述当前会话的上下文信息对所述原始回应消息进行评分,得到所述原始回应消息的评分结果;若所述评分结果小于第二预定阈值,则基于所述当前会话的上下文信息对所述原始回应消息进行调整,以生成有效回应消息。
在本申请的一些实施例中,基于上述方案,所述基于所述当前会话的上下文信息对所述原始回应消息进行调整,以生成有效回应消息,包括:基于所述当前会话的上下文信息对所述原始回应消息进行调整,生成中间回应消息;基于所述当前会话的上下文信息对所述中间回应消息进行评分,得到所述中间回应消息的评分结果;若所述中间回应消息的评分结果大于所述第二预定阈值,则将所述中间回应消息作为所述有效回应消息。
在本申请的一些实施例中,基于上述方案,所述方法还包括:确定所述原始回应消息与所述有效回应消息之间的差异;基于所述原始回应消息与所述有效回应消息之间的差异对所述回应生成模型的参数进行调整。
在本申请的一些实施例中,基于上述方案,所述确定所述原始回应消息与所述有效回应消息之间的差异,包括:对所述原始回应消息以及所述有效回应消息进行分词处理;基于分词处理的结果生成所述原始回应消息的词向量以及所述有效回应消息的词向量;确定所述原始回应消息的词向量与所述有效回应消息的词向量之间的距离,将所述距离作为所述原始回应消息与所述有效回应消息之间的差异。
在本申请的一些实施例中,基于上述方案,所述基于所述当前会话的上下文信息对所述会话消息进行标注,包括:对所述当前会话的所述会话消息进行分词处理,得到多个词语;基于所述当前会话的上下文信息对所述多个词语进行词法、句法以及语法分析;基于分析的结果对所述会话消息进行标注。
在本申请的一些实施例中,基于上述方案,所述通过意图识别模型对所述会话消息进行意图识别,得到所述会话消息的识别意图,包括:基于所述会话消息的上下文对所述会话消息进行主题分析,确定所述会话消息所处的主题;基于所述主题以及意图识别模型对所述会话消息进行意图分析,确定所述会话消息的识别意图。
在本申请的一些实施例中,基于上述方案,所述基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,包括:对所述标注意图以及所述识别意图进行分词处理;基于分词处理的结果确定所述标注意图对应的词向量以及所述识别意图对应的词向量;确定所述标注意图对应的词向量与所述识别意图对应的词向量之间的距离;基于所述距离对所述意图识别模型的参数进行调整。
在本申请的一些实施例中,基于上述方案,所述基于所述识别意图通过回应生成模型生成与所述会话消息对应的原始回应消息,包括:基于所述识别意图确定所述会话消息的会话类型,所述会话类型包括:问答型、任务型或语聊型;基于所述会话类型确定对应的回应生成模型;基于所确定的回应生成模型生成与所述会话消息对应的原始回应消息。
根据本申请示例的第二方面,提供了一种在线训练模型的装置,包括:接收模块,用于接收当前会话的发起方发送的会话消息;标注模块,用于基于所述当前会话的上下文信息对所述会话消息进行标注,得到所述会话消息的标注意图;意图识别模块,用于通过意图识别模型对所述会话消息进行意图识别,得到所述会话消息的识别意图;第一调整模块,用于基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,以使所述差异小于第一预定阈值。
在本申请的一些实施例中,基于上述方案,所述装置还包括:回应生成模块,用于基于所述识别意图通过回应生成模型生成与所述会话消息对应的原始回应消息,所述识别意图包含意图属性;评分模块,用于基于所述当前会话的上下文信息对所述原始回应消息进行评分,得到所述原始回应消息的评分结果;回应调整模块,用于若所述评分结果小于第二预定阈值,则基于所述当前会话的上下文信息对所述原始回应消息进行调整,以生成有效回应消息。
在本申请的一些实施例中,基于上述方案,所述回应调整模块包括:中间回应生成单元,用于基于所述当前会话的上下文信息对所述原始回应消息进行调整,生成中间回应消息;中间结果生成单元,用于基于所述当前会话的上下文信息对所述中间回应消息进行评分,得到所述中间回应消息的评分结果;有效回应生成单元,用于若所述中间回应消息的评分结果大于所述第二预定阈值,则将所述中间回应消息作为所述有效回应消息。
在本申请的一些实施例中,基于上述方案,所述装置还包括:第一差异确定模块,用于确定所述原始回应消息与所述有效回应消息之间的差异;第二调整模块,用于基于所述原始回应消息与所述有效回应消息之间的差异对所述回应生成模型的参数进行调整。
在本申请的一些实施例中,基于上述方案,所述第一差异确定模块包括:第一分词处理单元,用于对所述原始回应消息以及所述有效回应消息进行分词处理;第一词向量生成单元,用于基于分词处理的结果生成所述原始回应消息的词向量以及所述有效回应消息的词向量;距离确定单元,用于确定所述原始回应消息的词向量与所述有效回应消息的词向量之间的距离,将所述距离作为所述原始回应消息与所述有效回应消息之间的差异。
在本申请的一些实施例中,基于上述方案,所述标注模块包括:第二分词处理单元,用于对所述当前会话的会话消息进行分词处理,得到多个词语;语法分析单元,用于基于所述当前会话的上下文信息对所述多个词语进行词法、句法以及语法分析;标注单元,用于基于分析的结果对所述会话消息进行标注。
在本申请的一些实施例中,基于上述方案,所述意图识别模块包括:主题确定单元,用于基于所述会话消息的上下文对所述会话消息进行主题分析,确定所述会话消息所处的主题;意图分析单元,用于基于所述主题以及意图识别模型对所述会话消息进行意图分析,确定所述会话消息的识别意图。
在本申请的一些实施例中,基于上述方案,所述第一调整模块包括:第三分词处理单元,用于对所述标注意图以及所述识别意图进行分词处理;第二词向量生成单元,用于基于分词处理的结果确定所述标注意图对应的词向量以及所述识别意图对应的词向量;第二距离确定单元,用于确定所述标注意图对应的词向量与所述识别意图对应的词向量之间的距离;调整单元,用于基于所述距离对所述意图识别模型的参数进行调整。
在本申请的一些实施例中,基于上述方案,所述回应生成模块包括:会话类型确定单元,用于基于所述识别意图确定所述会话消息的会话类型,所述会话类型包括:问答型、任务型或语聊型;模块确定单元,用于基于所述会话类型确定对应的回应生成模型;原始回应生成单元,用于基于所确定的回应生成模型生成与所述会话消息对应的原始回应消息。
根据本申请实施例的第三方面,提供了一种在线训练模型的设备,包括:处理器;以及被配置成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现上述第一方面中任一项所述的在线训练模型的方法的步骤。
根据本申请实施例的第四方面,提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现上述第一方面中任一项所述的在线训练模型的方法的步骤。
通过本申请实施例中的技术方案,一方面,一方面,基于当前会话的上下文信息对会话消息进行标注,能够结合上下文对会话内容进行标注,提高了标注的准确性;另一方面,通过意图识别模型对当前会话的会话消息进行意图识别,基于标注的标注意图以及识别的识别意图之间的差异对意图识别模型的参数进行调整,能够在线实时地对模型的预测结果进行反馈,从而能够实时地优化模型。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请的一些实施例提供的在线训练模型的方法的流程示意图;
图2示出了根据本申请的一些实施例提供的生成有效回应消息的流程示意图;
图3示出了根据本申请的一些实施例提供的回应生成模型为决策树模型的示意图;
图4示出了根据本申请的另一些实施例提供的在线训练模型的方法的流程示意图;
图5示出了根据本申请的一些实施例提供的在线训练模型的装置的示意框图;
图6示出了根据本申请的一些实施例提供的在线训练模型的装置的示意框图;
图7示出了根据本申请的另一些实施例提供的在线训练模型的装置的示意框图;以及
图8示出了根据本申请的一些实施例提供的在线训练模型的设备的示意框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1示出了根据本申请的一些实施例提供的在线训练模型的方法的流程示意图。该方法可以应用于终端设备,终端设备包括但不限于手机、平板电脑、智能音箱、智能手表、台式计算机等,也可以应用其他适当的设备,本申请对此不进行特殊限定。该方法包括步骤S110至步骤S140,下面结合图1对示例实施例中的在线训练模型的方法进行详细的说明。
参照图1所示,在步骤S110中,接收当前会话的发起方发送的会话消息。
在示例实施例中,在一个双人会话过程中,定义双方每人说一句为一个轮次的对话,在当前第n轮对话中,当前会话的发起方发送第n轮对话消息。例如,在购物的场景下,当前会话的发起方输入会话消息“买耐克鞋”。
在步骤S120中,基于当前会话的上下文信息对该会话消息进行标注,得到该会话消息的标注意图。
在示例实施例中,对当前会话的会话消息进行分词处理,得到多个词语,基于当前会话的上下文信息对多个词语进行词法、句法以及语法分析,基于分析的结果对该会话消息进行标注,得到该会话消息的标注意图。例如,将当前会话的会话消息“买耐克鞋”进行分词处理,得到“买”、“耐克”、“鞋”三个词语,获取当前会话的上下文信息例如购物场景,其中,“买”为动词、“耐克”、“鞋”为名词,从而能够得到该会话消息的意图为购物,意图的属性包含“鞋”、“耐克”,因此,会话消息“买耐克鞋”的标注意图为“购物”、标注的意图属性为“鞋”、“耐克”。
进一步地,在示例实施例中,可以预先设置意图模板,意图模板中包含预定词汇与对应意图的映射关系,基于该映射关系对会话消息中的意图进行标注,例如“买”映射到“购物”、“播放”映射到“听音乐”、“火车票”映射到“出行”、“酒店”映射到“住宿”等。
在示例实施例中,可以通过Word2Vector方式对会话消息进行分词处理以及词性标注,也可以通过其他方式例如Glove或ELMo对会话消息进行分词处理及词性标注,本申请对此不进行特殊限定。此外,在另一些实施例中,也可以通过人工的方式对会话消息进行词法、句法、语法以及意图标注,得到该会话消息的标注意图以及意图属性。进一步地,将标注后的包含标注意图的会话消息存储到语料库中。
在步骤S130中,通过意图识别模型对当前会话的会话消息进行意图识别,得到所述会话消息的识别意图。
在示例实施例中,意图识别模型为机器学习模型中的分类模型,例如SVM(SupportVector Machine,支持向量机)模型、CNN(Convolutional Neural Networks,卷积神经网络)模型、LSTM(Long Short-Term Memory,长短期记忆)模型等,也可以为其他适当的分类模型,本申请对此不进行特殊限定。
进一步地,在示例实施例中,基于当前会话的会话消息的词标注结果生成对应的特征向量,将生成的特征向量输入到意图识别模型,基于该意图识别模型对当前会话的会话消息进行意图识别,得到该会话消息的识别意图。例如,基于会话消息“买耐克鞋”的词标注结果“买”、“鞋”、“耐克”,生成对应的词向量作为特征向量,将生成的特征向量输入到意图识别模型,基于该意图识别模型得到该会话消息的识别意图即“购物”,识别意图的参数为“鞋”、“耐克”。
在步骤S140中,基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,以使所述差异小于预定阈值。
在示例实施例中,当前会话的会话消息为训练样本,标注意图为对训练样本的标注结果,识别意图为意图识别模型对该训练样本的识别结果,基于训练样本的识别结果与标注结果之间的差异对意图识别模型的参数进行调整,训练样本的识别结果与标注结果之间的差异表示预测值与真实值之间的差异即损失函数,损失函数的值越小,表示预测值与真实值之间的差异越小,模型的预测结果越准确,在损失函数的值小于预定阈值时,得到训练好的意图识别模型,预定阈值可以根据样本数据量的大小以及计算资源的大小来确定。
具体而言,对当前会话的会话消息的标注意图以及识别意图进行分词处理;基于分词处理的结果确定标注意图对应的词向量以及识别意图对应的词向量;确定标注意图对应的词向量与识别意图对应的词向量之间的距离;基于距离对所述意图识别模型的参数进行调整,在该距离小于预定阈值时,说明意图识别模型的识别结果较为准确,模型训练达到预期目标。
需要说明的是,各个词向量之间的距离可以为海明距离、欧式距离、余弦距离,但是本申请的示例性实施例中的距离不限于此,例如距离还可以为马氏距离、曼哈顿距离等。
根据图1的示例实施例中的在线训练模型的方法,一方面,基于当前会话的上下文信息对会话消息进行标注,能够结合上下文对会话内容进行标注,提高了标注的准确性;另一方面,通过意图识别模型对当前会话的会话消息进行意图识别,基于标注的标注意图以及识别的识别意图之间的差异对意图识别模型的参数进行调整,能够在线实时地对模型的预测结果进行反馈,从而能够实时地优化模型。
此外,为了准确地对会话消息进行意图识别,在示例实施例中,基于该会话消息的上下文对会话消息进行主题分析,确定会话消息所处的主题;基于主题以及意图识别模型对所述会话消息进行意图分析,确定所述会话消息的识别意图。例如,会话消息的内容“买火车票”,若上下文对话中包含旅游景点信息,则会话消息的主题为出游,基于该主题以及意图识别模型对会话消息进行意图分析,确定该会话消息的识别意图。
图2示出了根据本申请的一些实施例提供的生成有效回应消息的流程示意图。
参照图2所示,在步骤S210中,基于当前会话的会话消息的识别意图通过回应生成模型生成与该会话消息对应的原始回应消息。
在示例实施例中,获取当前会话的会话消息的识别意图以及意图属性,基于会话消息的识别意图以及意图属性生成与该会话消息对应的原始回应消息。例如,设当前会话消息为“买耐克鞋”,该会话消息的识别意图为“购物”,意图属性为“鞋”、“耐克”,基于该会话消息的识别意图以及意图属性通过回应生成模型生成与该会话消息对应的回应消息,回应生成模型可以为决策树模型,基于决策树模型生成该会话消息对应的回应消息,参照图3所示,首先确定用户的意图为购物,购物意图下的商品类型即鞋,然后确定商品的品牌、尺寸等参数信息是否完整,如果参数信息完整,则输出对应的商品信息供用户选择;如果信息不完整,则输出与缺失的信息对应的回应消息。例如,在用户输入“买耐克鞋”之后,商品鞋的参数信息至少有2个,即品牌、尺寸,缺少鞋的尺寸信息,则生成对应的回应消息为“您想要多大尺寸的鞋?”。
在步骤S220中,基于当前会话的上下文信息对原始回应消息进行评分,得到原始回应消息的评分结果。
在示例实施例中,基于当前会话的上下文信息从会话数据库中获取与原始回应消息对应的真实回应消息,基于上下文信息以及真实回应消息对原始回应消息进行评分,会话数据库中预先存储有大量会话的会话消息。例如,可以基于上下文信息判断原始回应消息与真实回应消息之间的差异,基于该差异确定原始回应消息的评分结果。
在另一些示例实施例中,通过人工基于当前会话的上下文信息对原始回应消息进行评分,得到原始回应消息的评分结果,例如,基于上下文信息判断原始回应消息对上文的理解是否准确,回应是否可以与上文衔接,能否引导对话方向,是否具有拟人的语言等。
在步骤S230中,若原始回应消息的评分结果小于预定阈值,则基于当前会话的上下文信息对原始回应消息进行调整,以生成有效回应消息。
在示例实施例中,若原始回应消息的评分结果小于预定阈值,则基于当前会话的上下文信息对原始回应消息进行调整,生成中间回应消息;基于当前会话的上下文信息对该中间回应消息进行评分,得到该中间回应消息的评分结果;若该中间回应消息的评分结果大于第二预定阈值,则将该中间回应消息作为有效回应消息。例如,基于当前会话的上下文信息从会话数据库中查询到对应的多个中间回应信息,依次对多个中间回应信息进行评分,若某个中间回应消息的评分结果大于第二预定阈值,则将该中间回应消息作为有效回应消息。
在另一些实施例中,也可以人工基于当前会话的上下文信息对原始回应消息进行调整,生成中间回应消息;基于当前会话的上下文信息对该中间回应消息进行评分,得到该中间回应消息的评分结果;若该中间回应消息的评分结果大于第二预定阈值,则将该中间回应消息作为有效回应消息。
此外,在示例实施例中,可以根据用户的识别意图确定会话消息的会话类型,会话类型包括:问答型、任务型或语聊型,基于所确定的会话类型确定对应的回应生成模型,基于所确定的回应生成模型生成与该会话消息对应的回应消息。例如,若用户的当前会话的会话消息为“买火车票”,该会话消息的识别意图为“购票”,则确定该会话消息的会话类型为任务型,与任务型的会话对应的回应生成模型为决策树模型;若用户的当前会话的会话消息为“明天天气怎么样”,则该会话消息的识别意图为“提问”,则确定该会话消息的会话类型为问答型,与问答型的会话对应的回应生成模型为检索模型;若用户的当前会话的会话消息为“我心情不好”,该会话消息的识别意图为“聊天”,则确定该会话消息的会话类型为语聊型,与语聊型的会话对应的回应生成模型为深度学习模型。
进一步地,在示例实施例中,在得到有效回应消息之后,确定原始回应消息与有效回应消息之间的差异,基于原始回应消息与有效回应消息之间的差异对回应生成模型的参数进行调整。例如,对原始回应消息以及有效回应消息进行分词处理;基于分词处理的结果生成原始回应消息的词向量以及有效回应消息的词向量;确定原始回应消息的词向量与有效回应消息的词向量之间的距离,将该距离作为原始回应消息与有效回应消息之间的差异,基于该差异对回应生成模型的参数进行调整,使得该差异小于预定阈值。
图4示出了根据本申请的另一些实施例提供的在线训练模型的方法的流程示意图。
参照图4所示,在步骤S410中,会话的发起方发送会话消息。在一个双人会话过程中,定义双方每人说一句为一个轮次的对话,在当前第n轮对话中,当前会话的发起方发送第n轮对话消息。
在步骤S420中,对当前会话的会话消息进行分词处理,得到多个词语,基于当前会话的上下文信息对多个词语进行词法、句法以及语法分析,基于分析的结果对该会话消息进行标注,得到该会话消息的标注意图以及意图属性,将标注的结果传入到语料库。
在步骤S430中,基于意图识别模型对当前会话的会话消息进行意图识别,得到该会话消息的识别意图。例如,基于当前会话的会话消息的词标注结果生成对应的特征向量,将生成的特征向量输入到意图识别模型,基于该意图识别模型对当前会话的会话消息进行意图识别,得到该会话消息的识别意图。
在步骤S440中,获取当前会话的会话消息的识别意图以及意图属性,基于会话消息的识别意图以及意图属性生成与该会话消息对应的原始回应消息。
在步骤S450中,基于当前会话的上下文信息对原始回应消息进行评分,得到原始回应消息的评分结果,例如,基于上下文信息判断原始回应消息对上文的理解是否准确,回应是否可以与上文衔接,能否引导对话方向,是否具有拟人的语言等。
在步骤S460中,人工基于当前会话的上下文信息对原始回应消息进行调整例如修改或重写,生成中间回应消息;基于当前会话的上下文信息对该中间回应消息进行评分,得到该中间回应消息的评分结果;若该中间回应消息的评分结果大于第二预定阈值,则将该中间回应消息作为有效回应消息。
在步骤S470中,向对方返回有效回应消息。
图5示出了根据本申请的一些实施例提供的在线训练模型的装置的示意框图。
参照图5所示,该在线训练模型的装置包括在线标注模块510、在线训练模块520、反馈模块530以及已标注语料库540,在线标注模块510用于对会话消息以及回应消息进行标注;在线训练模块520用于对会话消息的意图进行识别,以及基于识别结果生成对应的回应,并基于标注的对话消息以及回应消息对模型进行训练;反馈模块530用于基于标注意图与识别意图之间的差异对意图识别模块进行反馈调整,以及基于原始回应消息与真实回应消息之间的差异对回应生成模块进行反馈调整。
其中,在线标注模块510包含:语义标注单元512、意图标注单元514以及回应标注单元516。其中,语义标注单元512用于对会话消息进行语法、词法以及句法标注,例如,将当前会话的会话消息“买耐克鞋”进行分词处理,得到“买”、“耐克”、“鞋”三个词语,其中,“买”为动词、“耐克”、“鞋”为名词。意图标注单元514用于基于当前会话的上下文信息对会话消息的意图进行标注,例如,当前会话的会话消息“买耐克鞋”的上下文信息为购物场景,基于动词“买”以及购物场景确定用户的意图为购物。回应标注单元514用于对回应消息进行标注,例如,基于上下文信息判断回应消息对上文的理解是否准确,回应是否可以与上文衔接,能否引导对话方向,是否具有拟人的语言等,对回应消息进行标注。
在线训练模块520包括:意图识别单元522以及回应生成单元524,意图识别单元522用于通过意图识别模型对当前会话的会话消息的意图进行识别,生成对应的识别意图。意图识别模型为机器学习模型中的分类模型,例如SVM(Support Vector Machine,支持向量机)模型、CNN(Convolutional Neural Networks,卷积神经网络)模型、LSTM(LongShort-Term Memory,长短期记忆)模型等,也可以为其他适当的分类模型,本申请对此不进行特殊限定。回应生成单元524用于基于意图识别单元522生成的识别意图以及上下文信息生成对应的回应消息。
反馈模块530包括:模型识别效能确定单元532以及模型回应效能确定单元534,其中,模型识别效能确定单元532用于确定意图识别单元522生成的识别意图与意图标注单元514生成的标注意图之间的差异,将该差异反馈至意图识别单元522,对意图识别模型进行调整。模型回应效能确定单元534用于确定回应生成单元524生成的回应消息以及回应标注单元516生成的标注消息之间的差异,将该差异反馈至回应生成单元524,以对回应生成模型进行调整。
在本申请的示例实施例中,还提供了一种在线训练模型的装置。参照图6所示,该装置600包括:接收模块610、标注模块620、意图识别模块630以及第一调整模块640。其中,接收模块610用于接收当前会话的发起方发送的会话消息;标注模块620用于基于所述当前会话的上下文信息对所述会话消息进行标注,得到所述会话消息的标注意图;意图识别模块630用于通过意图识别模型对所述会话消息进行意图识别,得到所述会话消息的识别意图;第一调整模块640用于基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,以使所述差异小于第一预定阈值。
在本申请的一些实施例中,基于上述方案,所述装置600还包括:回应生成模块,用于基于所述识别意图通过回应生成模型生成与所述会话消息对应的原始回应消息,所述识别意图包含意图属性;评分模块,用于基于所述当前会话的上下文信息对所述原始回应消息进行评分,得到所述原始回应消息的评分结果;回应调整模块,用于若所述评分结果小于第二预定阈值,则基于所述当前会话的上下文信息对所述原始回应消息进行调整,以生成有效回应消息。
在本申请的一些实施例中,基于上述方案,所述回应调整模块包括:中间回应生成单元,用于基于所述当前会话的上下文信息对所述原始回应消息进行调整,生成中间回应消息;中间结果生成单元,用于基于所述当前会话的上下文信息对所述中间回应消息进行评分,得到所述中间回应消息的评分结果;有效回应生成单元,用于若所述中间回应消息的评分结果大于所述第二预定阈值,则将所述中间回应消息作为所述有效回应消息。
在本申请的一些实施例中,基于上述方案,所述装置还包括:第一差异确定模块,用于确定所述原始回应消息与所述有效回应消息之间的差异;第二调整模块,用于基于所述原始回应消息与所述有效回应消息之间的差异对所述回应生成模型的参数进行调整。
在本申请的一些实施例中,基于上述方案,所述第一差异确定模块包括:第一分词处理单元,用于对所述原始回应消息以及所述有效回应消息进行分词处理;第一词向量生成单元,用于基于分词处理的结果生成所述原始回应消息的词向量以及所述有效回应消息的词向量;距离确定单元,用于确定所述原始回应消息的词向量与所述有效回应消息的词向量之间的距离,将所述距离作为所述原始回应消息与所述有效回应消息之间的差异。
在本申请的一些实施例中,基于上述方案,所述标注模块包括:第二分词处理单元,用于对所述当前会话的会话消息进行分词处理,得到多个词语;语法分析单元,用于基于所述当前会话的上下文信息对所述多个词语进行词法、句法以及语法分析;标注单元,用于基于分析的结果对所述会话消息进行标注。
在本申请的一些实施例中,基于上述方案,所述意图识别模块630包括:主题确定单元710,用于基于所述会话消息的上下文对所述会话消息进行主题分析,确定所述会话消息所处的主题;意图分析单元720,用于基于所述主题以及意图识别模型对所述会话消息进行意图分析,确定所述会话消息的识别意图。
在本申请的一些实施例中,基于上述方案,所述第一调整模块包括:第三分词处理单元,用于对所述标注意图以及所述识别意图进行分词处理;第二词向量生成单元,用于基于分词处理的结果确定所述标注意图对应的词向量以及所述识别意图对应的词向量;第二距离确定单元,用于确定所述标注意图对应的词向量与所述识别意图对应的词向量之间的距离;调整单元,用于基于所述距离对所述意图识别模型的参数进行调整。
在本申请的一些实施例中,基于上述方案,所述回应生成模块包括:会话类型确定单元,用于基于所述识别意图确定所述会话消息的会话类型,所述会话类型包括:问答型、任务型或语聊型;模块确定单元,用于基于所述会话类型确定对应的回应生成模型;原始回应生成单元,用于基于所确定的回应生成模型生成与所述会话消息对应的原始回应消息。
根据图6的示例实施例中的在线训练模型的装置,一方面,一方面,基于当前会话的上下文信息对会话消息进行标注,能够结合上下文对会话内容进行标注,提高了标注的准确性;另一方面,通过意图识别模型对当前会话的会话消息进行意图识别,基于标注的标注意图以及识别的识别意图之间的差异对意图识别模型的参数进行调整,能够在线实时地对模型的预测结果进行反馈,从而能够实时地优化模型。
本申请实施例提供的在线训练模型的装置能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本申请实施例还提供了一种在线训练模型的设备,如图8所示。
在线训练模型的设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对在线训练模型的设备中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在在线训练模型的设备上执行存储器802中的一系列计算机可执行指令。在线训练模型的设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806等。
在一个具体的实施例中,在线训练模型的设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对在线训练模型的设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:接收当前会话的发起方发送的会话消息;基于所述当前会话的上下文信息对所述会话消息进行标注,得到所述会话消息的标注意图;通过意图识别模型对所述会话消息进行意图识别,得到所述会话消息的识别意图;基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,以使所述差异小于第一预定阈值。
可选地,计算机可执行指令在被执行时,所述方法还包括:基于所述识别意图通过回应生成模型生成与所述会话消息对应的原始回应消息,所述识别意图包含意图属性;基于所述当前会话的上下文信息对所述原始回应消息进行评分,得到所述原始回应消息的评分结果;若所述评分结果小于第二预定阈值,则基于所述当前会话的上下文信息对所述原始回应消息进行调整,以生成有效回应消息。
可选地,计算机可执行指令在被执行时,所述基于所述当前会话的上下文信息对所述原始回应消息进行调整,以生成有效回应消息,包括:基于所述当前会话的上下文信息对所述原始回应消息进行调整,生成中间回应消息;基于所述当前会话的上下文信息对所述中间回应消息进行评分,得到所述中间回应消息的评分结果;若所述中间回应消息的评分结果大于所述第二预定阈值,则将所述中间回应消息作为所述有效回应消息。
可选地,计算机可执行指令在被执行时,所述方法还包括:确定所述原始回应消息与所述有效回应消息之间的差异;基于所述原始回应消息与所述有效回应消息之间的差异对所述回应生成模型的参数进行调整。
可选地,计算机可执行指令在被执行时,所述确定所述原始回应消息与所述有效回应消息之间的差异,包括:对所述原始回应消息以及所述有效回应消息进行分词处理;基于分词处理的结果生成所述原始回应消息的词向量以及所述有效回应消息的词向量;确定所述原始回应消息的词向量与所述有效回应消息的词向量之间的距离,将所述距离作为所述原始回应消息与所述有效回应消息之间的差异。
可选地,计算机可执行指令在被执行时,所述基于所述当前会话的上下文信息对所述会话消息进行标注,包括:对所述当前会话的所述会话消息进行分词处理,得到多个词语;基于所述当前会话的上下文信息对所述多个词语进行词法、句法以及语法分析;基于分析的结果对所述会话消息进行标注。
可选地,计算机可执行指令在被执行时,所述通过意图识别模型对所述会话消息进行意图识别,得到所述会话消息的识别意图,包括:基于所述会话消息的上下文对所述会话消息进行主题分析,确定所述会话消息所处的主题;基于所述主题以及意图识别模型对所述会话消息进行意图分析,确定所述会话消息的识别意图。
可选地,计算机可执行指令在被执行时,所述基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,包括:对所述标注意图以及所述识别意图进行分词处理;基于分词处理的结果确定所述标注意图对应的词向量以及所述识别意图对应的词向量;确定所述标注意图对应的词向量与所述识别意图对应的词向量之间的距离;基于所述距离对所述意图识别模型的参数进行调整。
可选地,计算机可执行指令在被执行时,所述基于所述识别意图通过回应生成模型生成与所述会话消息对应的原始回应消息,包括:基于所述识别意图确定所述会话消息的会话类型,所述会话类型包括:问答型、任务型或语聊型;基于所述会话类型确定对应的回应生成模型;基于所确定的回应生成模型生成与所述会话消息对应的原始回应消息。
本申请实施例提供的在线训练模型的设备能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
此外,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:接收当前会话的发起方发送的会话消息;基于所述当前会话的上下文信息对所述会话消息进行标注,得到所述会话消息的标注意图;通过意图识别模型对所述会话消息进行意图识别,得到所述会话消息的识别意图;基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,以使所述差异小于第一预定阈值。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述方法还包括:基于所述识别意图通过回应生成模型生成与所述会话消息对应的原始回应消息,所述识别意图包含意图属性;基于所述当前会话的上下文信息对所述原始回应消息进行评分,得到所述原始回应消息的评分结果;若所述评分结果小于第二预定阈值,则基于所述当前会话的上下文信息对所述原始回应消息进行调整,以生成有效回应消息。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述当前会话的上下文信息对所述原始回应消息进行调整,以生成有效回应消息,包括:基于所述当前会话的上下文信息对所述原始回应消息进行调整,生成中间回应消息;基于所述当前会话的上下文信息对所述中间回应消息进行评分,得到所述中间回应消息的评分结果;若所述中间回应消息的评分结果大于所述第二预定阈值,则将所述中间回应消息作为所述有效回应消息。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述方法还包括:确定所述原始回应消息与所述有效回应消息之间的差异;基于所述原始回应消息与所述有效回应消息之间的差异对所述回应生成模型的参数进行调整。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述确定所述原始回应消息与所述有效回应消息之间的差异,包括:对所述原始回应消息以及所述有效回应消息进行分词处理;基于分词处理的结果生成所述原始回应消息的词向量以及所述有效回应消息的词向量;确定所述原始回应消息的词向量与所述有效回应消息的词向量之间的距离,将所述距离作为所述原始回应消息与所述有效回应消息之间的差异。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述当前会话的上下文信息对所述会话消息进行标注,包括:对所述当前会话的所述会话消息进行分词处理,得到多个词语;基于所述当前会话的上下文信息对所述多个词语进行词法、句法以及语法分析;基于分析的结果对所述会话消息进行标注。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述通过意图识别模型对所述会话消息进行意图识别,得到所述会话消息的识别意图,包括:基于所述会话消息的上下文对所述会话消息进行主题分析,确定所述会话消息所处的主题;基于所述主题以及意图识别模型对所述会话消息进行意图分析,确定所述会话消息的识别意图。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述标注意图与所述识别意图之间的差异对所述意图识别模型的参数进行调整,包括:对所述标注意图以及所述识别意图进行分词处理;基于分词处理的结果确定所述标注意图对应的词向量以及所述识别意图对应的词向量;确定所述标注意图对应的词向量与所述识别意图对应的词向量之间的距离;基于所述距离对所述意图识别模型的参数进行调整。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述识别意图通过回应生成模型生成与所述会话消息对应的原始回应消息,包括:基于所述识别意图确定所述会话消息的会话类型,所述会话类型包括:问答型、任务型或语聊型;基于所述会话类型确定对应的回应生成模型;基于所确定的回应生成模型生成与所述会话消息对应的原始回应消息。
本申请实施例提供的计算机可读存储介质能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。