智能对话方法、模型训练方法、装置、存储介质及设备
未命名
07-14
阅读:256
评论:0
1.本技术涉及信息处理技术领域,具体涉及一种智能对话方法、模型训练方法、智能对话装置、智能对话的模型训练装置、计算机可读存储介质及计算机设备。
背景技术:
2.目前,闲聊型对话机器人被广泛应用在各种软件中。在实际线上使用时,闲聊型对话机器人经常生成重复或者与前文矛盾的回复,导致聊天机器人与之间的对话不连贯。
技术实现要素:
3.本技术实施例提供一种智能对话方法、模型训练方法、装置、存储介质及设备,可以确保智能对话内容的连贯性。
4.一方面,提供一种智能对话方法,所述方法包括:获取待回复的第一历史对话;将第一历史对话输入训练后的对话模型以生成第一回复文本,对话模型采用真实历史对话和预测回复文本进行预训练,预测回复文本由对话模型生成;根据第一回复文本回复第一历史对话;获取待回复的第二历史对话,第二历史对话至少包括第一回复文本;将第二历史对话输入训练后的对话模型以生成第二回复文本;及根据第二回复文本回复第二历史对话。
5.另一方面,提供一种智能对话的模型训练方法,所述方法包括:获取多轮真实历史对话;从多轮所述真实历史对话中获取待替换对话及采样样本;将所述采样样本输入对话模型,以生成预测回复文本;在多轮所述真实历史对话中采用所述预测回复文本取代所述待替换对话以获取训练样本;及根据所述训练样本对所述对话模型进行预训练,以得到训练后的对话模型。
6.另一方面,提供一种智能对话装置,所述装置包括:第一获取单元,用于获取待回复的第一历史对话,及用于获取待回复的第二历史对话,所述第二历史对话至少包括所述第一回复文本;第一生成单元,用于将所述第一历史对话输入训练后的对话模型以生成第一回复文本,及用于将所述第二历史对话输入训练后的所述对话模型以生成第二回复文本,所述对话模型采用真实历史对话和预测回复文本进行预训练,所述预测回复文本由所述对话模型生成;及回复单元,用于根据所述第一回复文本回复所述第一历史对话,及用于根据所述第二回复文本回复所述第二历史对话。
7.另一方面,提供一种智能对话的模型训练装置,其特征在于,所述装置包括:第二获取单元,用于获取多轮真实历史对话;采样单元,用于从多轮所述真实历史对话中获取待替换对话及采样样本;第二生成单元,用于将所述采样样本输入对话模型,以生成预测回复文本;替换单元,用于在多轮所述真实历史对话中采用所述预测回复文本取代所述待替换对话以获取训练样本;及第一训练单元,用于根据所述训练样本对所述对话模型进行预训练,以得到训练后的对话模型。
8.另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的智能对话方
法或者如上任一实施例所述的智能对话的模型训练方法中的步骤。
9.另一方面,提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上任一实施例所述的智能对话方法或者如上任一实施例所述的智能对话的模型训练方法中的步骤。
10.另一方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上任一实施例所述的智能对话方法或者如上任一实施例所述的智能对话的模型训练方法中的步骤。
11.本技术实施例通过获取待回复的第一历史对话;将第一历史对话输入训练后的对话模型以生成第一回复文本,对话模型采用真实历史对话和预测回复文本进行预训练,预测回复文本由对话模型生成;根据第一回复文本回复第一历史对话;获取待回复的第二历史对话,第二历史对话至少包括第一回复文本;将第二历史对话输入训练后的对话模型以生成第二回复文本;及根据第二回复文本回复第二历史对话。本技术实施例中,第一回复文本可看做对话模型先前生成的历史回复文本,第二历史对话可看做最新的待回复文本,第二回复文本可看做对话模型该次生成的回复文本,第二历史对话至少包括第一回复文本。如此,输入对话模型的待回复文本至少包括对话模型先前生成的历史回复文本,以使对话模型该次生成的回复文本与先前的历史回复文本内容一致,以确保智能对话内容的连贯性。
附图说明
12.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1为申请实施例提供的智能对话方法的应用场景示意图。
14.图2为本技术实施例提供的智能对话方法的流程示意图。
15.图3为本技术实施例提供的智能对话方法的流程示意图。
16.图4为本技术实施例提供的智能对话的模型训练方法的流程示意图。
17.图5为本技术实施例提供的智能对话的模型训练的场景意图。
18.图6为本技术实施例提供的智能对话的模型训练方法的流程示意图。
19.图7为本技术实施例提供的智能对话的模型训练的场景意图。
20.图8为本技术实施例提供的智能对话的模型训练方法的流程示意图。
21.图9为本技术实施例提供的智能对话的模型训练的场景意图。
22.图10为本技术实施例提供的智能对话的模型训练方法的流程示意图。
23.图11为本技术实施例提供的智能对话的模型训练方法的流程示意图。
24.图12为本技术实施例提供的智能对话的模型训练方法的流程示意图。
25.图13为本技术实施例提供的智能对话的模型训练方法的流程示意图。
26.图14为本技术实施例提供的智能对话装置的结构示意图。
27.图15为本技术实施例提供的智能对话装置的结构示意图。
28.图16为本技术实施例提供的智能对话的模型训练装置的结构示意图。
29.图17为本技术实施例提供的智能对话的模型训练装置的结构示意图。
30.图18为本技术实施例提供的计算机设备的结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.本技术实施例提供一种智能对话方法、模型训练方法、装置、计算机设备和存储介质。具体地,本技术实施例的智能对话方法和模型训练方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、智能电视、智能音箱、穿戴式智能设备、智能车载终端等设备,终端还可以包括客户端,该客户端可以是视频客户端、浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
33.本技术实施例可应用于即时通信(比如微信、qq、机器人聊天等)、自然语言处理、机器学习、深度学习、云技术、人工智能、智慧交通等各种场景。
34.首先,在对本技术实施例进行描述的过程中出现的部分名词或者术语作如下解释:
35.人工智能(artificial intelligence,ai):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
36.机器学习(machine learning,ml):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
37.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
38.深度学习(deep learning,dl):是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。深度学习是学习训练样本数据的内在规律和表示层次,这些学习过程中获得的信息对文字、图像和声音等数据的解释有很大的帮助。深度学习的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
39.智慧交通是在整个交通运输领域充分利用物联网、空间感知、云计算、移动互联网等新一代信息技术,综合运用交通科学、系统方法、人工智能、知识挖掘等理论与工具,以全面感知、深度融合、主动服务、科学决策为目标,通过建设实时的动态信息服务体系,深度挖掘交通运输相关数据,形成问题分析模型,实现行业资源配置优化能力、公共决策能力、行业管理能力、公众服务能力的提升,推动交通运输更安全、更高效、更便捷、更经济、更环保、更舒适的运行和发展,带动交通运输相关产业转型、升级。
40.云技术(cloud technology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
41.区块链系统:可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。节点之间形成组成的点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议,在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
42.随着端到端的预训练语言模型的发展,闲聊型对话机器人在标准数据集上取得了较为满意的效果。然而实际线上使用时,闲聊型对话机器人经常生成重复或者与前文矛盾的回复,这主要因为现在的闲聊型对话机器人的训练和测评与实际线上使用有着较大的偏差。在标准数据集上训练和测评模型的时候,以真实的对话历史输入对话机器人的对话模型,对话模型根据真实的对话历史生成预测的回复。然而实际使用时,输入对话模型的对话历史既包含用户输入的回复,也包含前几轮模型预测的回复,导致对话模型可能需要对没有训练过的对话内容进行回复预测。这种在训练时和实际使用时输入模型的对话历史的不一致,是导致对话模型在实际使用时表现不稳定的主要原因。为了缓解这种不一致,本发明提出了一种基于采样的策略,通过在训练过程中,在输入对话模型的对话历史中加入一些模型解码,即对话模型生成的预测回复,以模拟实际使用的场景。本发明还提出了一种测评分类器,用于测评对话模型生成的回复与对话历史之间的连贯性。
43.其中,本技术实施例可结合云技术或区块链网络技术实现。如本技术实施例所公开的智能对话方法和模型训练方法,其中这些数据可保存于区块链上。例如,训练好的智能对话模型、智能对话的测评模型、对话历史以测评结果,均可保存于区块链上。
44.为了便于实现对训练好的对话模型、训练好的测评分类器的存储和查询,可选的,该智能对话方法还包括:将训练好的对话模型、训练好的测评分类器发送至区块链网络中,以使区块链网络的节点将训练好的对话模型、训练好的测评分类器填充至新区块,且当对新区块取得共识一致时,将新区块追加至区块链的尾部。本技术实施例可以将训练好的对话模型及训练好的测评分类器上链存储,实现记录的备份,当需要利用训练好的对话模型生成对话回复时,例如,在聊天机器人腾讯小微根据用户输入发聊天内容生成对话回复时,可直接、快速地从区块链上获取相应的训练好的对话模型,而无需通过对话模型进行一系列处理后,才能够获得预测的回复内容,从而提高数据分析处理以及数据获取的效率;类似地,当需要利用训练好的测评分类器评价对话回复的连贯性时,可直接、快速地从区块链上获取相应的训练好的测评分类器,而无需通过测评分类器进行一系列处理后,才能够获得预测的回复内容,从而提高数据分析处理以及数据获取的效率。
45.请参阅图1,图1为本技术实施例提供的智能对话的模型的应用场景示意图。以智能对话方法由计算机设备执行为例,其中,该计算机设备可以为终端或者服务器等设备。在对话模型的训练阶段时,计算机设备获取训练样本数据,训练样本数据中每一个训练样本包括多轮真实历史对话;从多轮真实历史对话中获取待替换对话及采样样本;将采样样本输入对话模型,以生成预测回复文本;在多轮真实历史对话中采用预测回复文本取代待替换对话以获取训练样本;及根据训练样本对对话模型进行预训练,以得到训练后的对话模型。在对话阶段时,用户可以通过计算机设备中安装的客户端、浏览器客户端或即时通信客户端上传待回复的对话文本,例如待回复的第一历史对话,计算机设备获取上传的待回复的第一历史对话后;将第一历史对话输入训练后的对话模型以生成第一回复文本;根据第一回复文本回复第一历史对话;用户可以根据第一回复文本继续上传待回复的对话文本,例如待回复的第二历史对话,第二历史对话至少包括第一回复文本;计算机设备获取上传的待回复的第二历史对话;将第二历史对话输入训练后的对话模型以生成第二回复文本;及根据第二回复文本回复第二历史对话。
46.需要说明的是,生成回复文本的过程可以在服务器中完成,也可以在终端中完成。当对话模型的训练过程、智能对话过程都在服务器中端完成时,需要使用训练好的对话模型时,可以将待回复文本输入到服务器,服务器生成对应的回复文本后,将得到的回复文本发送至终端进行显示。当模型的训练过程、智能对话过程都在终端中完成时,需要使用训练好的对话模型时,可以将待回复文本输入到终端,终端生成对应的回复文本后,终端将生成的回复文本进行显示。当对话模型的训练过程在服务器中完成,采用对话模型生成回复文本的过程在终端中完成时,需要使用训练好的对话模型时,可以将待回复文本输入到终端,终端生成对应的回复文本后,终端将回复文本进行显示。可选的,可以将服务器中训练好的模型文件(model文件)移植到终端上,若需要对待回复文本进行回复,则将待回复文本输入到训练好的模型文件(model文件),通过计算即可得到对应的回复文本。
47.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
48.本技术各实施例提供了一种智能对话方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行;本技术实施例以智能对话方法由服务器执行为例来进行说明。具体地,终端中设有人工智能聊天机器人(下文简称聊天机器人),例如聊天机器人是腾
讯小微,用户可以和聊天机器人在聊天界面中进行对话。聊天机器人将用户输入聊天界面的待回复文本输入到服务器,服务器生成对应的回复文本后,将得到的回复文本发送至聊天界面进行显示。
49.请参阅图2,图2为本技术实施例提供的智能对话方法的流程示意图,该方法包括:
50.步骤310,获取待回复的第一历史对话。
51.可选的,第一历史对话可以是用户输入的对话文本。例如,请结合图3,在用户与聊天机器人的聊天界面中,用户可通过语音录入、键盘输入等方式通过终端在聊天界面输入对话文本,或者用户可从本地文件、网页、云端等位置复制在剪贴板中的文本粘贴至聊天界面中作为对话文本,在此不作限制。
52.可选的,第一历史对话可以是用户与聊天机器人的对话记录。例如,请结合图3,用户和聊天机器人进行一轮或多轮对话后形成对话记录。聊天机器人将对话记录作为第一历史对话,以根据第一历史对话生成对应的回复文本。
53.可选的,第一历史对话可以仅包括用户发送的文本信息。例如,在用户与聊天机器人的多轮对话后,对话记录中包括用户输入的文本聊天机器人回复的文本,聊天机器人仅提取用户输入的文本作为第一历史对话输入服务器。
54.可选的,第一历史对话可以包括用户发送的文本信息和对话模型生成的回复文本。即,聊天机器人将用户输入的文本和聊天机器人回复的文本均作为第一历史对话输入服务器,以使服务器结合用户输入的文本以及聊天机器人自己的回复生成对应的回复文本。
55.步骤320,将第一历史对话输入训练后的对话模型以生成第一回复文本,对话模型采用真实历史对话和预测回复文本进行预训练,预测回复文本由对话模型生成。
56.可选的,在本例中对话模型设置于服务器,在其他实施例中对话模型也可以设置于终端,在此不作限制。
57.可选的,训练后的对话模型为经过预训练的模型。在本例中,对话模型的预训练在服务器完成,在其他实施例中对话模型的预训练也可以在终端中完成,在此不作限制。
58.对话模型的预训练采用真实历史对话和预测回复文本作为输入。其中,真实历史对话可以是真人与真人之间的对话文本,例如微信的对话记录,真实历史对话包括真人输入的待回复文本以及真人根据待回复文本输入的回复文本。例如微信用户a输入的待回复文本“你支持哪个球队?”以及微信用户b输入的回复文本“我支持湖人队,你呢?”。预测回复文本是对话模型根据真实历史对话生成的预测回复。预测回复是对话模型根据待回复文本的内容预测真人将会怎样回答,而模拟真人的回答生成的回复文本。例如微信用户a输入待回复文本“你支持哪个球队?”,聊天机器人对应生成预测回复文本“我支持湖人队,你呢?”。
59.经过预训练的对话模型能够根据输入的文本内容生成对应的回复文本。将第一历史对话输入对话模型后,对话模型生成与第一历史对话的内容对应第一回复文本。
60.步骤330,根据第一回复文本回复第一历史对话。
61.可选的,聊天机器人从服务器中的对话模型获取第一回复文本,并在用户与聊天机器人的聊天界面中进行显示。
62.步骤340,获取待回复的第二历史对话,第二历史对话至少包括第一回复文本。
63.例如,第二历史对话如下:
64.微信用户a:“你支持哪个球队?”65.聊天机器人:“我支持a队,你呢?”66.微信用户a:“我不喜欢a队,我喜欢b队!”67.其中,对话模型先前生成过的第一回复文本为“我支持a队,你呢?”。在第二历史对话中,用户的输入“你支持哪个球队?”已经得到回复,因此待回复文本是用户输入的最后一句话“我不喜欢a队,我喜欢b队!”。如果对话模型仅根据用户的输入内容:“你支持哪个球队?”、“我不喜欢a队,我喜欢b队!”生成对应的回复,则很有可能生成与第一回复文本相矛盾的内容,例如生成:“我也不喜欢a队,我和你一样支持b队!”,这与聊天机器人之前的回复相矛盾。
68.本技术实施例的智能对话方法将对话模型先前生成过的回复文本一并输入对话模型中,以结合真人输入的待回复文本以及对话模型自己回复过的内容生成对应的回复文本,以确保对话模型生成的回复文本与对话模型先前生成过的回复文本之间的内容一致,确保人与聊天机器人之间的对话连贯。例如,将上述第二历史对话输入对话模型,对话模型在结合第一回复文本的内容“我支持a队”生成逻辑一致的回复文本:“b也是一支不错的队伍,但我还是支持a队。”。
69.在上述对话记录中,聊天机器人在生成第二回复文本前只进行过一次回复,因此上述实施例中的第一回复文本只有对一段对话的回复。在其他实施例中,在用户与聊天机器人之间进行多轮对话的情况下,第一回复文本可以是多轮对话中聊天机器人所有的回复内容中的某一条或多条对话记录。例如第二历史对话中包括聊天机器人回复的十条回复文本,十条回复文本可以均作为第一回复文本输入对话模型;也可以选取十条回复文本中的1条、2条、3条、4条、5条、6条、7条、8条、或9条作为第一回复文本输入对话模型,例如将第二历史对话中聊天机器人的最近3条回复作为第一回复文本输入对话模型。
70.步骤350,将第二历史对话输入训练后的对话模型以生成第二回复文本。
71.可选的,步骤350与步骤320类似,在本例中由终端将第二历史对话输入服务器中的训练后的对话模型,以生成第二回复文本。
72.步骤360,根据第二回复文本回复第二历史对话。
73.可选的,步骤360与步骤33类似,在本例中由终端从服务器中获取第二回复文本,并将第二回复文本在聊天界面中显示以回复第二历史对话。
74.可选的,请参阅图3,智能对话方法还包括:
75.步骤370,获取训练后的测评分类器。
76.其中,测评分类器采用智能对话的测评模型对智能对话进行测评,获取训练后的测评分类器即为采用训练后的测评模型的分类器。
77.可选的,测评分类器包括连贯性分类器、安全性分类器、及合法性分类器中的任意一种。其中,连贯性分类器用于测评对话模型生成的回复之间的连贯性,例如测评对话模型生成的第一回复文本与第二回复文本之间的逻辑是否一致,一致程度越高则连贯性越高。类似地,安全性分类器用于测评对话模型生成的回复内容的安全性,例如测评回复内容是否含有不净词汇、含有侮辱性、侵犯性的语句等,回复内容越“干净”则安全性越高。类似地,合法性分类器用于测评对话模型生成的回复内容的合法性,例如测评回复内容是否包含违法信息,回复内容中的违法信息越少则合法性越高。
78.可选的,请参阅图3,智能对话方法还包括:
79.步骤380,将第二历史对话及第二回复文本输入测评分类器以获取第二回复文本的测评打分。
80.可选的,下面以测评分类器是连贯性分类器为例进行说明。由于第二历史对话中至少包含第一回复文本,因此测评分类器能够根据第二历史对话的语境判别第一回复文本与第二回复文本之间的连贯性。连贯性分类器对第二回复文本的测评打分的分数越高,则代表第一回复文本与第二回复文本之间的逻辑一致性越高;分数越低,则代表第一回复文本与第二回复文本之间的逻辑一致性越低。
81.可选的,请参阅图3,智能对话方法还包括:
82.步骤390,获取预设的分数阈值。
83.可选的,分数阈值用于评价对第二回复文本的测评打分的分数高低,可作为测评的评价标准。例如,连贯性分类器打分的分数大于分数阈值,则测评结果为“连贯”;打分的分数小于分数阈值,则测评结果为“不连贯”。
84.步骤3100,在第二回复文本的测评打分小于分数阈值的情况下,对训练后的对话模型重新进行训练。
85.可选的,例如,连贯性分类器打分的分数小于分数阈值,则测评结果为“不连贯”,说明训练后的对话模型生成的第二回复文本与第一回复文本之间仍不连贯,可以对训练后的对话模型重新进行训练,以提高对话模型生成的回复之间的连贯性。其中,对训练后对话模型重新进行训练可以是在对话模型现有的参数的基础上增加训练次数,以更新参数。例如当前的对话模型经历过1000次训练(迭代)后得到第一参数,重新训练时以第一参数作为初始参数再经历过1000次训练后得到第二参数,以第二参数更新第一参数,此时对话模型共经历过2000次训练。对训练后对话模型重新进行训练还可以是将对话模型的参数重置为初始参数,重新开始训练,在此不作限制。
86.可选的,在训练对话模型时,可将对话模型接入连贯性分类器,以连贯性分类器的测评结果作为模型训练的终止条件。例如,重复训练对话模型,直至连贯性分类器对对话模型输出的回复文本的打分分数大于分数阈值时,停止训练对话模型。
87.上述所有的技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
88.综上,本技术实施例的智能对话方法中,第一回复文本可看做对话模型先前生成的历史回复文本,第二历史对话可看做最新的待回复文本,第二回复文本可看做对话模型该次生成的回复文本,第二历史对话至少包括第一回复文本。如此,输入对话模型的待回复文本至少包括对话模型先前生成的历史回复文本,以使对话模型该次生成的回复文本与先前的历史回复文本内容一致,以确保智能对话内容的连贯性。智能对话方法还能够测评对话模型生成的回复,以直观地对对话模型生成的回复内容进行评价,例如获取对对话模型生成的回复文本的连贯性的评价,以直观地体现对话模型生成的效果。
89.请参阅图4,图4为本技术实施例提供的智能对话的模型训练方法的流程示意图。该方法包括:
90.步骤510,获取多轮真实历史对话。
91.可选的,真实历史对话为至少两人参与的对话记录,一轮真实历史对话可包括一
个或多个句子,在此不作限制。
92.可选的,真实历史对话中包括真实回复文本,真实回复文本是真人根据真实历史对话进行的回复。对话模型可通过学习真人对真实历史对话的回复,以在接收到待回复文本时预测真人对待回复文本所回复的内容,生成预测回复文本。然而,结合前文所述,实际的智能对话过程中,输入对话模型的第二历史对话包含对话模型先前生成的第一回复文本。因此,在训练对话模型的过程中,将对话模型生成的预测回复文本和真实历史对话一并输入对话模型进行训练,以使对话模型生成的预测回复文本与先前生成的预测回复文本之间的逻辑连贯。
93.步骤520,从多轮真实历史对话中获取待替换对话及采样样本。
94.步骤530,将采样样本输入对话模型,以生成预测回复文本。
95.步骤540,在多轮真实历史对话中采用预测回复文本取代待替换对话以获取训练样本。
96.可选的,采样样本是多轮真实历史对话中的部分对话。通过依次执行步骤520、步骤530、步骤540,本技术实施例提供的模型训练方法将对话模型生成的预测回复文本取代多轮真实历史对话中的某一轮对话,并以替换后的多轮真实历史对话作为训练样本,使训练样本能够模拟真实的智能对话场景,即模拟第二历史对话包含对话模型先前生成的第一回复文本的应用场景。
97.步骤550,根据训练样本对对话模型进行预训练,以得到训练后的对话模型。
98.如此,在对对话模型进行预训练时,输入对话模型的训练样本中包括对话模型生成的预测回复,使经过预训练后的对话模型能够根据真实的智能对话场景生成第二历史对话对应的第二回复文本。
99.可选的,预训练可采用bart、dialoguegpt、blender等端到端的预训练模型。
100.可选的,请结合图5,以对话模型为bart模型为例,对话模型包括编码器和解码器。向编码器输入真实历史对话后解码器生成对应的解码,即生成对应的预测回复文本。在训练对话模型的过程中,对多轮真实历史对话进行采样,以获取待替换对话及采样样本,并将对话模型根据采样样本生成的预测回复文本取代待替换对话,即使用对话模型生成的解码替换部分输入解码器的真实文本,以实现在解码端抗噪、模拟真实的智能对话场景的效果。
101.可选的,请结合图6,步骤520,从多轮真实历史对话中获取待替换对话及采样样本,还包括:
102.步骤521,根据几何分布从k轮真实历史对话中采样第i轮真实历史对话,i∈[1,k]。
[0103]
可选的,采样的分布方式还可以为线性分布。
[0104]
步骤522,将第i轮真实历史对话作为待替换对话。
[0105]
步骤523,将第1轮至第i-1轮真实历史对话作为采样样本。
[0106]
可选的,请结合图5及图7,真实历史对话包括k轮,k>1。设输入的k轮真实历史对话为uk,uk={u1,
…uk-1
,
…
uk},其中,ui表示第i轮对话,i∈[1,k-1]。其中,真实对话历史为uk由真实历史对话u
k-1
与真实回复文本uk组成,u
k-1
={u1,
…
,u
k-1
},即真实回复文本uk为真实历史对话u
k-1
对应的回复。
[0107]
请结合图5及图7,采样的过程是根据集合分布从k轮真实对话历史uk中选取第i轮
真实历史对话ui作为待替换对话,并第1轮至第i-1轮真实历史对话u
i-1
作为采样样本,u
i-1
={u1,
……
,u
i-1
}。在执行步骤523后,可通过步骤530将采样样本u
i-1
输入对话模型生成对应的预测回复文本ri,并通过步骤540在k轮真实历史对话uk中采用预测回复ri替换第i轮真实历史对话ui,以获取训练样本u'k。例如,k轮真实历史对话uk={u1,u2,
…
,ui,
…uk-1
,uk},则进行替换后获取的训练样本u'k={u1,u2,
…
,ri,
…uk-1
,uk}。训练样本u'k用于在对话模型的预训练中作为输入编码器的输入样本,在训练样本u'k中既包含真实的回复文本,也包含对话模型生成的预测回复文本ri,能够模拟真实的智能对话场景。对话模型
[0108]
可选的,请结合图8,步骤530,将采样样本输入对话模型,以生成预测回复文本,包括:
[0109]
步骤531,将采样样本及待替换对话的前n个词输入对话模型,以生成预测回复文本,预测回复文本的前n个词与待替换对话的前n个词相同,n∈[0,m]。
[0110]
请结合图5、图7、图9,设待替换对话ui包括m个词,即:ui={x1,
…
,xm},xj是对话ui中的第j个词,j∈[1,m];预测回复文本ri包括t个词,预测回复文本ri={y1,
…
,y
t
},ys是预测回复文本ri中的第s个词,s∈[1,t]。为了使预测回复文本ri的内容与真人的回复内容更接近,可以以待替换对话ui的前n个词{x1,
…
,xn}作为预测回复文本ri中的前n个词{y1,
…
,yn},由对话模型生成预测回复文本ri中的第n+1至第t个词{y
n+1
,
…
,y
t
},即最终生成的预测回复文本为:
[0111]ri
={x1,
…
,xn,y
n+1
,
……yt
}。
[0112]
其中,n的取值越大,则预测回复文本ri的内容与真人的回复内容越接近,n的取值越小,则预测回复文本ri越能够模拟真实的智能对话场景。当n=0时,预测回复文本ri={y1,
…
,y
t
},即对话模型仅根据采样样本u
i-1
={u1,
……
,u
i-1
}生成预测回复文本ri,相当于智能对话场景中聊天机器人仅根据待回复的文本生成答复。当n=m时,预测回复文本ri={x1,
…
,xm},即测回复文本ri与真实历史对话真实u
i-1
对应的回复文本ui完全一致,相当于智能对话场景中聊天机器人根据待回复的文本以真人的答复内容一字不落地进行答复。
[0113]
可选的,请结合图10,步骤550,根据训练样本对对话模型进行预训练,包括:
[0114]
步骤551,将训练样本输入对话模型以生成训练回复文本。
[0115]
步骤552,根据训练样本及训练回复文本计算第一交叉熵损失。
[0116]
步骤553,重复获取训练样本及训练样本对应的训练回复文本,并重复计算第一交叉熵损失,在第一交叉熵损失最小的情况下完成预训练。
[0117]
交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。在本技术的实施例中,在第一交叉熵损失最小的情况下完成对话模型的预训练,以使训练好的对话模型对真实回复内容的预测效果达到最优。
[0118]
请结合图5,设训练回复文本为r
k+1
,表示对训练样本u'k的回复。可以根据训练样本u'k和训练回复文本r
k+1
构建对应的交叉熵损失函数:
[0119][0120]
其中,ys是训练回复文本r
k+1
中的第s个词,s∈[1,t]。由交叉熵损失函数可以得到训练样本u'k与训练回复文本r
k+1
之间的第一交叉熵损失。预训练的过程中将第一交叉熵损失进行反向传播,以及重复向预训练模型输入训练样本及训练样本对应的训练回复文本进
行训练。
[0121]
可选的,步骤553,在第一交叉熵损失最小的情况下完成预训练,在一个实施例中,可以通过梯度下降法对第一交叉熵损失多次迭代至收敛,以确定最小化第一交叉熵损失。在又一个实施例中,可将第一交叉熵损失函数转化为对应的对数似然函数,对该对数似然函数求导以求其最大似然估计,根据最大似然估计确定对应的最小化第一交叉熵损失。
[0122]
可选的,请结合图11,步骤553,重复获取训练样本及训练样本对应的训练回复文本,并重复计算第一交叉熵损失,在第一交叉熵损失最小的情况下完成预训练,包括:
[0123]
步骤5531,获取第一阈值;及
[0124]
步骤5532,在第一交叉熵损失小于第一阈值的情况下完成预训练。
[0125]
可选的,第一阈值是梯度下降法求得的第一交叉熵损失的收敛值。在预训练得到的第一交叉熵损失失小于第一阈值的情况下认为第一交叉熵损失达到最小化,可以完成预训练。
[0126]
可选的,请结合图12,智能对话的模型训练方法还包括:
[0127]
步骤560,将多轮真实历史对话输入对话模型以生成打分回复文本。
[0128]
步骤570,根据真实历史对话中的真实回复文本及打分回复文本,对测评分类器进行训练,以得到训练后的测评分类器。
[0129]
可选的,测评分类器采用智能对话的测评模型对智能对话进行测评。作为一个示例,测评模型可以采用roberta模型。在使用测评模型时,将多轮真实历史对话uk及真实历史对话uk对应的打分回复文本rk转化为输入“[cls]uk[sep]rk[sep]”的格式,并将该格式的真实历史对话uk及打分回复文本rk输入测评模型进行测评。其中,[cls]用于标示输入的序列的首位,[sep]用于分开输入的两段对话。
[0130]
可选的,以测评分类器是连贯性分类器为例,在真实历史对话uk及打分回复文本rk以“[cls]uk[sep]rk[sep]”的格式的输入连贯性分类器后,[cls]位置对应的最后一层隐层状态被喂入到带有softmax的全连接层进行连贯性打分,该连贯性打分用于评价打分回复文本rk参与到真实历史对话uk中的连贯性。
[0131]
可选的,请结合图13,步骤570,根据真实历史对话中的真实回复文本及打分回复文本,对测评分类器进行训练,以得到训练后的测评分类器,包括:
[0132]
步骤571,将真实历史对话及真实历史对话中的真实回复文本输入测评分类器以获取第一打分。
[0133]
步骤572,将真实历史对话及打分回复文本输入测评分类器以获取第二打分。
[0134]
步骤573,根据第一打分和第二打分计算第二交叉熵损失。
[0135]
步骤574,重复获取第一打分及第二打分,并重复计算对应的第二交叉熵损失,在第二交叉熵损失最小的情况下完成测评分类器的训练。
[0136]
可选的,以测评分类器是连贯性分类器为例,第一打分用于评价真实回复文本在真实历史对话中的连贯性,第二打分用于评价打分回复文本在真实历史对话中的连贯性。在训练时通过计算打分和第二打分之间的交叉熵实现对连贯性分类器的优化。在本技术的实施例中,在第二交叉熵损失最小的情况下完成连贯性分类器的预训练,以使训练好的连贯性分类器的打分效果达到最优。
[0137]
可选的,请结合步骤553,第二交叉熵损失的最小化优化方法与第一交叉熵损失的
最小化优化方法类似,可梯度下降法求得的第二交叉熵损失的收敛值作为第二阈值。在预训练得到的第二交叉熵损失失小于第二阈值的情况下认为第二交叉熵损失达到最小化,可以完成测评分类器的预训练。
[0138]
为了更好的说明本技术实施例提供的智能对话的模型训练方法,请参阅图11及图13,本技术实施例提供的智能对话的模型训练方法的流程可总结归纳为下述步骤:
[0139]
步骤510,获取多轮真实历史对话。
[0140]
步骤522,将第i轮真实历史对话作为待替换对话。
[0141]
步骤523,将第1轮至第i-1轮真实历史对话作为采样样本。
[0142]
步骤531,将采样样本及待替换对话的前n个词输入对话模型,以生成预测回复文本,预测回复文本的前n个词与待替换对话的前n个词相同,n∈[0,m]。
[0143]
步骤540,在多轮真实历史对话中采用预测回复文本取代待替换对话以获取训练样本。
[0144]
步骤551,将训练样本输入对话模型以生成训练回复文本。
[0145]
步骤552,根据训练样本及训练回复文本计算第一交叉熵损失。
[0146]
步骤5531,获取第一阈值。
[0147]
步骤5532,在第一交叉熵损失小于第一阈值的情况下完成预训练。
[0148]
步骤560,将多轮真实历史对话输入对话模型以生成打分回复文本。
[0149]
步骤571,将真实历史对话及真实历史对话中的真实回复文本输入测评分类器以获取第一打分。
[0150]
步骤572,将真实历史对话及打分回复文本输入测评分类器以获取第二打分。
[0151]
步骤573,根据第一打分和第二打分计算第二交叉熵损失。
[0152]
步骤574,重复获取第一打分及第二打分,并重复计算对应的第二交叉熵损失,在第二交叉熵损失最小的情况下完成测评分类器的训练。
[0153]
其中,步骤510、步骤522,步骤523,步骤531,步骤540,步骤551,步骤552,步骤5531,及步骤5532属于对话模型的训练方法;步骤560、步骤571,步骤572,步骤573,及步骤574属于测评分类器的训练方法。在智能对话的模型训练过程中,可选择性地执行对话模型的训练方法和/或测评分类器的训练方法,以对应地实现对话模型和/或测评分类器的预训练。在一个实施例中,可在步骤5532执行完成后开始执行步骤560,即在对话模型训练完成后开始训练测评分类器。在又一个实施例中,可以分别开始执行步骤510和步骤560,即分别开始对话模型和测评分类器的训练。在其他实施例中,还可以采用任意结合方式执行上述对话模型的训练方法中的步骤和测评分类器的训练方法中的步骤,在此不作限制。
[0154]
上述所有的技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0155]
本技术实施例通过获取多轮真实历史对话;从多轮真实历史对话中获取待替换对话及采样样本;将采样样本输入对话模型,以生成预测回复文本;在多轮真实历史对话中采用预测回复文本取代待替换对话以获取训练样本;根据训练样本对对话模型进行预训练,以得到训练后的对话模型。如此,对话模型在训练的过程中模拟了实际的智能对话场景,使训练后的对话模型不仅能够根据真实历史对话生成与真实历史对话连贯的回复文本,还能够根据含有对话模型生成的回复文本的历史对话(例如第二历史对话)生成与该历史对话
连贯的回复文本,能够缓解聊天机器人训练时和实际使用时的应用场景不一致(输入的历史文本类型不一致)的问题,以确保对话模型生成的回复文本与输入的历史文本之间连贯。
[0156]
本技术实施例将多轮真实历史对话输入对话模型以生成打分回复文本;根据真实历史对话中的真实回复文本及打分回复文本,对测评分类器进行训练,以得到训练后的测评分类器。通过对测评分类器的训练可以使测评分类器适应实际的智能对话场景,以便于对训练后的对话模型生成的回复文本进行测评。在测评分类器为连贯性分类器的情况下能够帮助直观地判断对话模型生成的回复文本与输入的历史文本之间连贯性;在测评分类器为其他类型的分类器的情况下也能够帮助直观地确定对话模型生成的回复文本的其他特性,例如安全性、合法性等。
[0157]
为便于更好的实施本技术实施例的智能对话方法,本技术实施例还提供一种智能对话装置600。请参阅图14,图14为本技术实施例提供的智能对话装置600的结构示意图。其中,该智能对话装置600可以包括:
[0158]
第一获取单元601,用于获取待回复的第一历史对话,及用于获取待回复的第二历史对话,第二历史对话至少包括第一回复文本。
[0159]
第一生成单元602,用于将第一历史对话输入训练后的对话模型以生成第一回复文本,及用于将第二历史对话输入训练后的对话模型以生成第二回复文本,对话模型采用真实历史对话和预测回复文本进行预训练,预测回复文本由对话模型生成。
[0160]
回复单元603,用于根据第一回复文本回复第一历史对话,及用于根据第二回复文本回复第二历史对话。
[0161]
可选的,请结合图15,第一获取单元601还可用于:
[0162]
获取训练后的测评分类器,及获取预设的分数阈值。
[0163]
智能对话装置600还可以包括:
[0164]
打分单元604,用于将第二历史对话及第二回复文本输入测评分类器以获取第二回复文本的测评打分。
[0165]
重训单元605,用于在第二回复文本的测评打分小于分数阈值的情况下,获取重新进行训练后的对话模型。
[0166]
可选的,重训单元605可以从智能对话的模型训练装置700获取重新进行训练后的对话模型。
[0167]
可选的,本技术实施例还提供一种智能对话的模型训练装置700。如图16所示,图16为本技术实施例提供的智能对话的模型训练装置700的结构示意图。其中,该智能对话的模型训练装置700包括:
[0168]
第二获取单元701,用于获取多轮真实历史对话及多轮所述真实历史对话对应的真实回复文本。
[0169]
采样单元702,用于从多轮所述真实历史对话中获取待替换对话及采样样本。
[0170]
第二生成单元703,用于将所述采样样本输入对话模型,以生成预测回复文本。
[0171]
替换单元704,用于在多轮所述真实历史对话中采用所述预测回复文本取代所述待替换对话以获取训练样本。
[0172]
第一训练单元705,用于根据所述训练样本及所述真实回复文本对所述对话模型进行预训练,以得到训练后的对话模型。
[0173]
可选的,采样单元702,可以用于根据几何分布从k轮真实历史对话中采样第i轮真实历史对话,i∈[1,k];将第i轮真实历史对话作为待替换对话;将第1轮至第i-1轮真实历史对话作为采样样本。
[0174]
可选的,第二生成单元703,可以用于将采样样本及待替换对话的前n个词输入对话模型,以生成预测回复文本,预测回复文本的前n个词与待替换对话的前n个词相同,n∈[0,m]。
[0175]
可选的,第一训练单元705,可以用于将训练样本输入对话模型以生成训练回复文本;根据训练样本及训练回复文本计算第一交叉熵损失;重复获取训练样本及训练样本对应的训练回复文本,并重复计算第一交叉熵损失,在第一交叉熵损失最小的情况下完成预训练。
[0176]
可选的,第一训练单元705,还可以用于获取第一阈值;及在第一交叉熵损失小于第一阈值的情况下完成预训练。
[0177]
可选的,请结合图17,该智能对话的模型训练装置700还包括:第三生成单元706,用于将多轮真实历史对话输入对话模型以生成打分回复文本。
[0178]
可选的,请结合图17,该智能对话的模型训练装置700还包括:第二训练单元707,用于根据真实历史对话中的真实回复文本及打分回复文本,对测评分类器进行训练,以得到训练后的测评分类器。
[0179]
可选的,请结合图17,第二训练单元707,还用于将真实历史对话及真实历史对话中的真实回复文本输入测评分类器以获取第一打分;将真实历史对话及打分回复文本输入测评分类器以获取第二打分;根据第一打分和第二打分计算第二交叉熵损失;重复获取第一打分及第二打分,并重复计算对应的第二交叉熵损失,在第二交叉熵损失最小的情况下完成测评分类器的训练。
[0180]
需要说明的是,本技术实施例中的智能对话装置600与智能对话的模型训练装置700中各模块的功能可对应参考上述各方法实施例中任意实施例的具体实现方式,这里不再赘述。
[0181]
上述装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各个单元可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个单元对应的操作。
[0182]
例如,智能对话装置600、智能对话的模型训练装置700可以集成在具备储存器并安装有处理器而具有运算能力的终端或服务器中,或者该智能对话装置600、智能对话的模型训练装置700为该终端或服务器。
[0183]
可选的,本技术还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0184]
图18为本技术实施例提供的计算机设备的示意性结构图,如图8所示,计算机设备800可以包括:通信接口801,存储器802,处理器803和通信总线804。通信接口801,存储器802,处理器803通过通信总线804实现相互间的通信。通信接口801用于装置800与外部设备进行数据通信。存储器802可用于存储软件程序以及模块,处理器803通过运行存储在存储器802的软件程序以及模块,例如前述方法实施例中的相应操作的软件程序。
[0185]
可选的,该处理器803可以调用存储在存储器802的软件程序以及模块执行如下操
作:获取待回复的第一历史对话;将第一历史对话输入训练后的对话模型以生成第一回复文本,对话模型采用真实历史对话和预测回复文本进行预训练,预测回复文本由对话模型生成;根据第一回复文本回复第一历史对话;获取待回复的第二历史对话,第二历史对话至少包括第一回复文本;将第二历史对话输入训练后的对话模型以生成第二回复文本;及根据第二回复文本回复第二历史对话。
[0186]
可选的,该处理器803可以调用存储在存储器802的软件程序以及模块执行如下操作:获取多轮真实历史对话;从多轮真实历史对话中获取待替换对话及采样样本;将采样样本输入对话模型,以生成预测回复文本;在多轮真实历史对话中采用预测回复文本取代待替换对话以获取训练样本;及根据训练样本对对话模型进行预训练,以得到训练后的对话模型。
[0187]
可选的,计算机设备800例如可以集成在具备储存器并安装有处理器而具有运算能力的终端或服务器中,或者该计算机设备800为该终端或服务器。
[0188]
本技术还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于计算机设备,并且该计算机程序使得计算机设备执行本技术实施例中的上述各方法中的相应流程,为了简洁,在此不再赘述。
[0189]
本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本技术实施例中的上述各方法中的相应流程,为了简洁,在此不再赘述。
[0190]
本技术还提供了一种计算机程序,该计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本技术实施例中的上述各方法中的相应流程,为了简洁,在此不再赘述。
[0191]
应理解,本技术实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0192]
可以理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或
闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0193]
应理解,上述存储器为示例性但不是限制性说明,例如,本技术实施例中的存储器还可以是静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synch link dram,sldram)以及直接内存总线随机存取存储器(direct rambus ram,dr ram)等等。也就是说,本技术实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0194]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0195]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0196]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0197]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0198]
另外,在本技术实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0199]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质
包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0200]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种智能对话方法,其特征在于,包括:获取待回复的第一历史对话;将所述第一历史对话输入训练后的对话模型以生成第一回复文本,所述对话模型采用真实历史对话和预测回复文本进行预训练,所述预测回复文本由所述对话模型生成;根据所述第一回复文本回复所述第一历史对话;获取待回复的第二历史对话,所述第二历史对话至少包括所述第一回复文本;将所述第二历史对话输入训练后的所述对话模型以生成第二回复文本;及根据所述第二回复文本回复所述第二历史对话。2.根据权利要求1所述的智能对话方法,其特征在于,所述智能对话方法还包括:获取训练后的测评分类器;及将所述第二历史对话及所述第二回复文本输入所述测评分类器以获取所述第二回复文本的测评打分。3.根据权利要求2所述的智能对话方法,其特征在于,所述测评分类器包括连贯性分类器、安全性分类器、及合法性分类器中的任意一种。4.根据权利要求2所述的智能对话方法,其特征在于,所述智能对话方法还包括:获取预设的分数阈值;在所述第二回复文本的测评打分小于所述分数阈值的情况下,对所述训练后的对话模型重新进行训练。5.一种智能对话的模型训练方法,其特征在于,包括:获取多轮真实历史对话;从多轮所述真实历史对话中获取待替换对话及采样样本;将所述采样样本输入对话模型,以生成预测回复文本;在多轮所述真实历史对话中采用所述预测回复文本取代所述待替换对话以获取训练样本;及根据所述训练样本对所述对话模型进行预训练,以得到训练后的对话模型。6.根据权利要求5所述的智能对话的模型训练方法,其特征在于,所述真实历史对话包括k轮,k>1,所述从多轮所述真实历史对话中获取待替换对话及采样样本,包括:根据几何分布从k轮所述真实历史对话中采样第i轮所述真实历史对话,i∈[1,k-1];将第i轮所述真实历史对话作为所述待替换对话;及将第1轮至第i-1轮所述真实历史对话作为所述采样样本。7.根据权利要求6所述的智能对话的模型训练方法,其特征在于,所述待替换对话包括m个词,所述将所述采样样本输入对话模型,以生成预测回复文本,包括:将所述采样样本及所述待替换对话的前n个词输入所述对话模型,以生成所述预测回复文本,所述预测回复文本的前n个词与所述待替换对话的前n个词相同,n∈[0,m]。8.根据权利要求5所述的智能对话的模型训练方法,其特征在于,所述根据所述训练样本对所述对话模型进行预训练,包括:将所述训练样本输入所述对话模型以生成训练回复文本;根据所述训练样本及所述训练回复文本计算第一交叉熵损失;及重复获取所述训练样本及所述训练样本对应的训练回复文本,并重复计算所述第一交
叉熵损失,在所述第一交叉熵损失最小的情况下完成所述预训练。9.根据权利要求8所述的智能对话的模型训练方法,其特征在于,重复获取所述训练样本及所述训练样本对应的训练回复文本,并重复计算所述第一交叉熵损失,在所述第一交叉熵损失最小的情况下完成所述预训练,包括:获取第一阈值;在所述第一交叉熵损失小于所述第一阈值的情况下完成所述预训练。10.根据权利要求5所述的智能对话的模型训练方法,其特征在于,所述方法还包括:将多轮所述真实历史对话输入所述对话模型以生成打分回复文本;根据所述真实历史对话及所述打分回复文本,对测评分类器进行训练,以得到训练后的测评分类器。11.根据权利要求10所述的智能对话的模型训练方法,其特征在于,所述根据多轮所述真实历史对话及所述打分回复文本,对测评分类器进行训练,包括:将所述真实历史对话及所述真实历史对话中的真实回复文本输入所述测评分类器以获取第一打分;将所述真实历史对话及所述打分回复文本输入所述测评分类器以获取第二打分;根据所述第一打分和所述第二打分计算第二交叉熵损失;及重复获取所述第一打分及所述第二打分,并重复计算对应的所述第二交叉熵损失,在所述第二交叉熵损失最小的情况下完成所述测评分类器的训练。12.一种智能对话装置,其特征在于,所述生成装置包括:第一获取单元,用于获取待回复的第一历史对话,及用于获取待回复的第二历史对话,所述第二历史对话至少包括所述第一回复文本;第一生成单元,用于将所述第一历史对话输入训练后的对话模型以生成第一回复文本,及用于将所述第二历史对话输入训练后的所述对话模型以生成第二回复文本,所述对话模型采用真实历史对话和预测回复文本进行预训练,所述预测回复文本由所述对话模型生成;及回复单元,用于根据所述第一回复文本回复所述第一历史对话,及用于根据所述第二回复文本回复所述第二历史对话。13.一种智能对话的模型训练装置,其特征在于,所述训练装置包括:第二获取单元,用于获取多轮真实历史对话;采样单元,用于从多轮所述真实历史对话中获取待替换对话及采样样本;第二生成单元,用于将所述采样样本输入对话模型,以生成预测回复文本;替换单元,用于在多轮所述真实历史对话中采用所述预测回复文本取代所述待替换对话以获取训练样本;及第一训练单元,用于根据所述训练样本对所述对话模型进行预训练,以得到训练后的对话模型。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1-4任一项所述的智能对话方法中的步骤,或者执行如权利要求5-11任一项所述的智能对话的模型训练方法中的步骤。15.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器
中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求1-4任一项所述的智能对话方法中的步骤,或者执行权利要求5-11任一项所述的智能对话的模型训练方法中的步骤。16.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1-4任一项所述的智能对话方法中的步骤,或者如权利要求5-11任一项所述的智能对话的模型训练方法中的步骤。
技术总结
本申请公开一种智能对话方法、模型训练方法、装置、存储介质及设备,可应用于即时通信、人工智能、机器人聊天、自然语言处理等场景。该智能对话方法包括:获取待回复的第一历史对话;将第一历史对话输入训练后的对话模型以生成第一回复文本,对话模型采用真实历史对话和预测回复文本进行预训练,预测回复文本由对话模型生成;根据第一回复文本回复第一历史对话;获取待回复的第二历史对话,第二历史对话至少包括第一回复文本;将第二历史对话输入训练后的对话模型以生成第二回复文本;及根据第二回复文本回复第二历史对话。二回复文本回复第二历史对话。二回复文本回复第二历史对话。
技术研发人员:崔乐阳 孟凡东 刘宜进 张岳
受保护的技术使用者:西湖大学
技术研发日:2021.12.29
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
