CN111708871A - 对话状态跟踪方法、装置及对话状态跟踪模型训练方法 - Google Patents

对话状态跟踪方法、装置及对话状态跟踪模型训练方法 Download PDF

Info

Publication number
CN111708871A
CN111708871A CN202010462879.7A CN202010462879A CN111708871A CN 111708871 A CN111708871 A CN 111708871A CN 202010462879 A CN202010462879 A CN 202010462879A CN 111708871 A CN111708871 A CN 111708871A
Authority
CN
China
Prior art keywords
dialog
slot
state tracking
dialogue
turn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010462879.7A
Other languages
English (en)
Inventor
单勇
李泽康
张金超
冯洋
孟凡东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Tencent Technology Shenzhen Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd, Institute of Computing Technology of CAS filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010462879.7A priority Critical patent/CN111708871A/zh
Publication of CN111708871A publication Critical patent/CN111708871A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本公开提供了一种对话状态跟踪方法、装置,涉及人工智能领域。该方法包括:获取历史对话和当前轮次对话,将历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型;通过对话状态跟踪模型对历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合进行特征提取,以获取与当前轮次对话对应的对话状态;对话状态跟踪模型是基于自适应优化损失函数训练得到的,自适应优化损失函数包括槽优化系数和样本优化系数,并且槽优化系数是根据每个槽在验证数据集上的准确率确定的,样本优化系数是根据各轮次对话样本的置信度确定的。本公开能够改善对话状态跟踪中的槽不均衡问题。

Description

对话状态跟踪方法、装置及对话状态跟踪模型训练方法
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种对话状态跟踪方法、对话状态跟踪装置、对话状态跟踪模型训练方法、对话状态跟踪模型训练装置、计算机可读存储介质及电子设备。
背景技术
随着各种应用程序的开发及智能电子设备的出现,人们可以通过智能电子设备开展各项工作,例如通过人机交互的方式订餐、订酒店、导航等等,这些功能的实现主要基于人工智能中的对话系统实现。
对话系统按功能划分为闲聊型、任务型、知识问答型和推荐型,其中较常使用的对话系统为任务型对话系统,而任务型对话系统中最重要的部分为对话状态跟踪。对话状态跟踪是从多轮的、表达方式多种多样的对话中自动识别出结构化的对话状态,对话状态通常是由一些预定义的槽和它们对应的值组成,比如在订餐任务中,会有‘食品类型’、‘餐厅位置’和‘价位’等槽,以及一些已知值(预定义状态库中的槽值)。目前在对话状态跟踪任务中存在槽不均衡的问题,即不同槽、不同样本的学习难度不均衡的问题,阻碍了模型对于较难槽、较难样本的优化,从而限制了模型对较复杂对话状态的跟踪能力。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的实施例提供了一种对话状态跟踪方法、对话状态跟踪装置、对话状态跟踪模型训练方法、对话状态跟踪模型训练装置、计算机可读存储介质和电子设备,进而至少在一定程度上可以提高对话状态跟踪模型的自适应性,提高对话状态跟踪模型对对话的对话状态的提取效率和对话状态的生成质量,进而提高对话系统的用户体验和交互效率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了一种对话状态跟踪方法,包括:获取历史对话和当前轮次对话,将所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型;通过所述对话状态跟踪模型对所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合进行特征提取,以获取与所述当前轮次对话对应的对话状态;其中,所述对话状态跟踪模型是基于自适应优化损失函数训练得到的,所述自适应优化损失函数包括槽优化系数和样本优化系数,并且所述槽优化系数是根据每个槽在验证数据集上的准确率确定的,所述样本优化系数是根据各轮次对话样本的置信度确定的。
根据本公开实施例的一个方面,提供了一种对话状态跟踪装置,包括:信息获取模块,用于获取历史对话和当前轮次对话,将所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型;对话状态生成模块,用于通过所述对话状态跟踪模型对所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合进行特征提取,以获取与所述当前轮次对话对应的对话状态;其中,所述对话状态跟踪模型是基于自适应优化损失函数训练得到的,所述自适应优化损失函数包括槽优化系数和样本优化系数,并且所述槽优化系数是根据每个槽在验证数据集上的准确率确定的,所述样本优化系数是根据各轮次对话样本的置信度确定的。
在本公开的一些实施例中,基于前述方案,所述对话状态生成模块包括:特征提取单元,用于对所述当前轮次对话中的槽进行编码以获取槽向量,对与所述当前轮次对话中的槽对应的值集合中各个值进行编码以获取值向量,同时对所述历史对话和所述当前轮次对话进行编码以获取对话向量;第一处理单元,用于基于注意力机制对所述槽向量和所述对话向量进行处理,以获取对话中与所述槽相关的特征向量;归一化单元,用于计算所述特征向量与各所述值向量之间的距离,并对所述距离进行归一化处理,以获取各所述值的概率,根据概率最大的值确定与所述当前轮次对话对应的对话状态。
在本公开的一些实施例中,基于前述方案,所述归一化单元配置为:根据所述当前轮次对话中的槽和所述概率最大的值构建槽值对,并将所述当前轮次对话中所有槽对应的槽值对的集合作为所述对话状态。
在本公开的一些实施例中,基于前述方案,所述对话状态跟踪装置还包括:样本获取模块,用于获取训练数据集和验证数据集,所述训练数据集包括所述各轮次对话样本;所述验证数据集包括验证对话样本和与所述验证对话样本对应的对话状态标签;模型训练模块,用于根据所述训练数据集和所述槽优化系数对待训练对话状态跟踪模型进行迭代训练,根据所述验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证并更新所述槽优化系数。
在本公开的一些实施例中,基于前述方案,所述模型训练模块包括:第一输入单元,用于将所述各轮次对话样本输入至所述待训练对话状态跟踪模型进行特征提取,以获取所述各轮次对话样本的第一置信度;第一调参单元,用于根据所述第一置信度和初始槽优化系数构建初始损失函数,并根据所述初始损失函数对所述待训练对话状态跟踪模型进行调参,以获取目标待训练对话状态跟踪模型,其中所述初始损失函数与所述自适应优化损失函数的表达式相同。
在本公开的一些实施例中,基于前述方案,所述模型训练模块包括:槽优化系数更新单元,用于根据所述验证数据集对所述目标待训练对话状态跟踪模型的性能进行验证,以获取更新槽优化系数;模型再训练单元,用于根据所述训练数据集和所述更新槽优化系数对所述目标待训练对话状态跟踪模型进行再训练;循环单元,用于将再训练后的待训练对话状态跟踪模型作为所述目标待训练对话状态跟踪模型,重复上述步骤,直至所述待训练对话状态跟踪模型的损失函数收敛或完成预设次数的训练。
在本公开的一些实施例中,基于前述方案,所述槽优化系数更新单元包括:第二输入单元,用于将所述验证对话样本输入至所述目标待训练对话状态跟踪模型,以获取与所述验证对话样本对应的对话状态预测;更新槽优化系数确定单元,用于根据所述对话状态预测和所述对话状态标签确定所述更新槽优化系数。
在本公开的一些实施例中,所述验证对话样本中包含多个槽,且所述对话状态标签中的各槽值对分别对应于各所述槽;基于前述方案,所述更新槽优化系数确定单元配置为:根据与各所述槽对应的对话状态预测和对话状态标签计算各所述槽在所述验证数据集上的准确率;分别计算一与各所述槽对应的准确率之间的差值,以获取与各所述槽对应的第一信息;将各所述槽对应的第一信息分别与所有槽对应的第一信息的和相除,以获取与各所述槽对应的第二信息;将各所述第二信息分别与所述槽的数量相乘,以获取与各所述槽对应的更新槽优化系数。
在本公开的一些实施例中,基于前述方案,所述模型再训练单元包括:第三输入单元,用于将所述各轮次对话样本输入至所述目标待训练对话状态跟踪模型,通过所述目标待训练对话状态跟踪模型对所述各轮次对话样本进行特征提取,以获取所述各轮次对话样本的第二置信度;第二调参单元,用于根据所述第二置信度和所述更新槽优化系数构建自适应优化损失函数,并根据所述自适应优化损失函数对所述目标待训练对话状态跟踪模型进行调参。
在本公开的一些实施例中,基于前述方案,所述第二调参单元配置为:计算一与所述各轮次对话样本对应的第二置信度之间的差值,并根据预设指数对所述差值进行指数幂运算以确定所述样本优化系数;对所述各轮次对话样本对应的第二置信度求对数,以获取优化因子;将与所述各轮次对话样本中同一槽对应的更新槽优化系数、样本优化系数和优化因子相乘并取负值,以获取损失函数因子;将与所述各轮次对话样本中各个槽对应的所述损失函数因子相加,以获取所述自适应优化损失函数。
在本公开的一些实施例中,基于前述方案,所述对话状态跟踪装置还配置为:将所述各轮次对话样本输入至所述待训练对话状态跟踪模型进行特征提取,以获取与所述各轮次对话样本对应的置信度;根据所述置信度确定交叉熵损失函数,并基于所述交叉熵损失函数对所述待训练对话状态跟踪模型进行预调参。
在本公开的一些实施例中,基于前述方案,所述对话状态跟踪装置还配置为:获取所述各轮次对话样本中的槽,通过所述待训练对话状态跟踪模型对所述各轮次对话样本中的槽和所述各轮次对话样本进行特征提取,以获取对话样本中与所述各轮次对话样本中的槽对应的特征向量;通过所述待训练对话状态跟踪模型对与所述各轮次对话样本中的槽所对应的值集合中的各个值进行编码,以获取值向量;计算所述特征向量和各所述值向量之间的距离,并对各所述距离进行归一化处理;从所述训练数据集中的对话状态标签中获取与所述各轮次对话样本中的槽对应的标签值,所述标签值包含于所述各轮次对话样本中的槽所对应的值集合;将与所述标签值对应的归一化结果作为与所述各轮次对话样本对应的置信度。
根据本公开实施例的一个方面,提供了一种对话状态跟踪模型训练方法,包括:获取训练数据集和验证数据集,所述训练数据集包括各轮次对话样本;根据所述各轮次对话样本对待训练对话状态跟踪模型进行迭代训练,并在每轮训练过程中获取与所述各轮次对话样本对应的置信度作为样本优化系数;根据所述验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证,并获取每个槽在所述验证数据集上的准确率作为槽优化系数;根据所述样本优化系数和所述槽优化系数确定自适应优化损失函数,并根据所述自适应优化损失函数对每轮训练过程中的所述待训练对话状态跟踪模型进行调参。
根据本公开实施例的一个方面,提供了一种对话状态跟踪模型训练装置,包括:获取模块,用于获取训练数据集和验证数据集,所述训练数据集包括各轮次对话样本;训练模块,用于根据所述各轮次对话样本对待训练对话状态跟踪模型进行迭代训练,并在每轮训练过程中获取与所述各轮次对话样本对应的置信度作为样本优化系数;验证模块,用于根据所述验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证,并获取每个槽在所述验证数据集上的准确率作为槽优化系数;调参模块,用于根据所述样本优化系数和所述槽优化系数确定自适应优化损失函数,并根据所述自适应优化损失函数对每轮训练过程中的所述待训练对话状态跟踪模型进行调参。
在本公开的一些实施例中,基于前述方案,所述对话状态跟踪模型训练装置还配置为:在根据所述自适应优化损失函数对每轮训练过程中的所述待训练对话状态跟踪模型进行调参之前,将所述各轮次对话样本输入至所述待训练对话状态跟踪模型进行特征提取,以获取与所述各轮次对话样本对应的置信度;根据所述置信度确定交叉熵损失函数,并基于所述交叉熵损失函数对所述待训练对话状态跟踪模型进行预调参。
根据本公开实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例所述的对话状态跟踪方法或者对话状态跟踪模型训练方法。
根据本公开实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,所述存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述实施例中所述的对话状态跟踪方法或者对话状态跟踪模型训练方法。
在本公开的一些实施例所提供的技术方案中,首先获取历史对话和当前轮次对话;然后将历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型;最后通过对话状态跟踪模型对历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合进行特征提取,以获取与当前轮次对话对应的对话状态;其中对话状态跟踪模型是基于自适应优化损失函数训练得到的,自适应优化损失函数包括槽优化系数和样本优化系数,并且槽优化系数是根据每个槽在验证数据集上的准确率确定的,样本优化系数是根据各轮次对话样本的置信度确定的。本公开的技术方案一方面能够根据槽优化系数和样本优化系数构建自适应优化损失函数,并基于自适应优化损失函数调整模型参数,提高对话状态跟踪模型对不同难度的槽和对话的处理效率,进一步提高了对话状态的精准度;另一方面能够在对话状态跟踪模型性能提升的基础上提高对话系统的用户体验和交互效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;
图2示意性示出了根据本公开的一个实施例的对话状态跟踪方法的流程示意图;
图3示意性示出了根据本公开的一个实施例的对话轮次的示意图;
图4示意性示出了根据本公开的一个实施例的训练待训练对话状态跟踪模型的流程示意图;
图5示意性示出了根据本公开的一个实施例的对待训练对话状态跟踪模型进行初始训练的流程示意图;
图6示意性示出了根据本公开的一个实施例的对待训练对话状态跟踪模型进行再训练的流程示意图;
图7示意性示出了根据本公开的一个实施例的获取更新槽优化系数的流程示意图;
图8示意性示出了根据本公开的一个实施例的确定更新槽优化系数的流程示意图;
图9示意性示出了根据本公开的一个实施例的对目标待训练对话状态跟踪模型进行再训练的流程示意图;
图10示意性示出了根据本公开的一个实施例的构建自适应优化损失函数的流程示意图;
图11示意性示出了根据本公开的一个实施例的一种对话状态跟踪模型的结构示意图;
图12示意性示出了根据本公开的一个实施例的对话状态跟踪装置的框图;
图13示意性示出了根据本公开的一个实施例的对话状态跟踪模型训练装置的框图;
图14示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100包括终端设备101、网络102和服务器103,其中,终端设备101可以是任意的具有话筒等语音输入设备和/或文字输入设备的具有显示屏幕的电子设备,诸如平板电脑、笔记本电脑、台式计算机、智能手机、智能电视等电子设备;网络102用以在终端设备101和服务器103之间提供通信链路的介质,网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的终端设备101、网络102、服务器103的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备101、网络102、服务器103。
在本公开的一个实施例中,用户可以登录搭载于终端设备101中的各类服务平台进行人机对话以完成相应任务,例如通过订餐平台订餐、通过酒店预定平台定房间等等,具体地,用户可以通过终端设备101中内置或外置的语音输入设备和/或文字输入设备,如键盘等,进行人机对话。终端设备101在获取用户输入的语音和/或文字信息后,可以将该些信息通过网络102发送至服务器103,服务器103接收到用户的输入信息后,首先可以确定历史对话和当前轮次对话,同时根据当前轮次对话和系统维护的槽集合能够确定当前轮次对话中的槽,并根据当前轮次对话中的槽可以从系统维护的值集合中获取与当前轮次对话中的槽对应的值集合;然后将历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型;最后通过对话状态跟踪模型对历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合进行特征提取,以获取与当前轮次对话对应的对话状态。其中对话状态为由多个槽和对应的值形成的槽值对的集合。其中,对话状态跟踪模型是基于自适应优化损失函数训练得到的,该自适应优化损失函数包括槽优化系数和样本优化系数,并且该槽优化系数是根据每个槽在验证数据集上的准确率确定的,样本优化系数是根据各轮次对话样本的置信度确定的,由于槽优化系数和样本优化系数是根据槽的准确率及样本置信度确定的,因此可以根据不同槽和不同样本的学习难度动态调整损失函数,也就是获得自适应优化损失函数,那么基于自适应优化损失函数训练的对话状态跟踪模型可以高质量、高效地对各种包含不同槽的对话进行处理,获取其中的对话状态,并基于获取的对话状态制定相应地对话策略。进一步地,可以在采用自适应优化损失函数训练模型之前,通过交叉熵损失函数训练模型,这样可以进一步提高对话状态跟踪模型的性能,提高对话状态的精准度。
本公开实施例的技术方案一方面能够根据槽优化系数和样本优化系数构建自适应优化损失函数,并基于自适应优化损失函数调整模型参数,使得对话状态跟踪模型更好地优化不同难度的槽和对话,提高处理效率和对话状态的精准度,进一步提高对话状态跟踪的效果;另一方面能够在对话状态跟踪模型性能提升的基础上提高对话系统的用户体验和交互效率。
需要说明的是,本公开实施例所提供的对话状态跟踪方法可由服务器执行,相应地,对话状态跟踪装置可设置于服务器中。但是,在本公开的其它实施例中,也可以由终端设备执行本公开实施例所提供的对话状态跟踪方法。
在本领域的相关技术中,在解决对话状态跟踪问题时,通常会采用用于解决对话状态跟踪问题的神经网络方法。
解决对话状态跟踪问题的神经网络方法主要包括:使用神经网络方法来解决对话状态跟踪问题、使用前馈神经网络或卷积神经网络建模槽值对与当前对话之间的交互、使用指针网络来缓解对话状态跟踪问题中对于未知槽值的识别问题、使用全局模块和局部模块分别建模通用特征和槽相关的特征、使用一个长短时记忆网络来编码对话历史中每个轮次的相关信息、使用简单的注意力机制聚合对话历史中的相关信息并在不同领域之间迁移知识、使用启发式规则筛选出对话历史中的相关轮次、或者引入上个轮次的对话状态并使用层级化的编码器解码器结构生成对话状态。但是神经网络方法在不同槽上使用相同的交叉熵函数,导致无法调整不同槽和不同样本的损失函数以帮助模型改善那些较难槽、较难样本(数据集中出现频次较少的槽和样本)的学习过程,也就是说,使用神经网络方法进行对话状态跟踪时存在槽不均衡,对较复杂对话状态的跟踪能力差、处理效率差和对话状态的精准度低的问题。
鉴于相关技术中存在的问题,本公开实施例提供了一种对话状态跟踪方法,该对话状态跟踪方法通过机器学习模型实现,涉及人工智能技术领域。人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV),计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本公开实施例提供的方案涉及人工智能的语音处理技术、自然语言处理技术,具体通过如下实施例进行说明:
图2示意性示出了根据本公开的一个实施例的对话状态跟踪方法的流程图,该方法可由服务器执行,服务器为图1中所示的服务103,也可以由终端设备执行,接下来以由服务器执行该对话状态跟踪方法为例进行说明。参照图2所示,该对话状态跟踪方法至少包括步骤S210至步骤S220,详细介绍如下:
在步骤S210中,获取历史对话和当前轮次对话,将所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型。
在本公开的一个实施例中,对话状态跟踪是指给定过去的对话历史及当前轮次的对话,通过算法得出当前轮次的对话状态,通常表示为若干个槽值对。因此在进行对话状态跟踪任务时,首先需要获取历史对话和当前轮次对话,历史对话即为与当前轮次对话相关联的对话,比如当前轮次对话是第4轮次的对话,那么历史对话就是1-3轮次的对话。在本公开的实施例中,可以将一段完整的对话分为多个轮次turn,图3示出了对话轮次的示意图,如图3所示,用户发起的第一句话为turn1,turn1主要用于体现用户的意图,例如用户想要在市中心找一家便宜的饭店;后面的对话可以根据机器和用户之间的对话分为多个turn,也就是说,在turn1之后的每个turn中包含一句系统答复和一句用户语句,例如turn2中包含的对话为“R:do you have any specific type of food you would like?U:no,I’mnot picky as long as the price are low”,等等。
在本公开的一个实施例中,在通过对话状态跟踪模型对历史对话和当前轮次对话进行处理获取当前轮次对话的对话状态前,还需要确定当前轮次对话中的槽以及与当前轮次对话中的槽对应的值集合,以图3中的turn1、turn2的对话为例,其中的槽为price、food。在本公开的实施例中,系统中会长期维护一个槽集合,该槽集合包含对话状态跟踪任务中可能出现的所有槽,在获取当前轮次对话后,可以根据当前轮次对话从槽集合中确定对应的槽,同时在系统中还维护有与各个槽对应的值集合,其中包含有与槽对应的所有候选值,例如槽为食物,那么其对应的值集合中可能包含的候选值有中国菜、日本菜、法国菜、意大利菜等等。
在本公开的一个实施例中,在确定与当前轮次对话对应的槽和与槽对应的值集合后,可以将历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型进行处理,以获取当前轮次对话中的对话状态。值得注意的是,当前轮次对话中的槽的数量可能为一个,也可能为多个,相应地,与槽对应的值集合的数量也可能为一个或多个。
在步骤S220中,通过所述对话状态跟踪模型对所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合进行特征提取,以获取与所述当前轮次对话对应的对话状态;其中,所述对话状态跟踪模型是基于自适应优化损失函数训练得到的,所述自适应优化损失函数包括槽优化系数和样本优化系数,并且所述槽优化系数是根据每个槽在验证数据集上的准确率确定的,所述样本优化系数是根据各轮次对话样本的置信度确定的。
在本公开的一个实施例中,将历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型中后,对话状态跟踪模型首先可以对历史对话和当前轮次对话进行编码以获取对话向量,对当前轮次对话中的槽进行编码以获取槽向量,对与当前轮次对话中的槽对应的值集合中各个值进行编码以获取值向量;接着可以基于注意力机制对槽向量和对话向量进行处理,以获取对话中与槽相关的特征向量;最后可以计算特征向量与各个值向量之间的距离,并对各个距离进行归一化处理,以获取各个值的概率,进而根据概率最大的值确定与当前轮次对话对应的对话状态。
进一步地,根据概率最大的值确定与当前轮次对话对应的对话状态时,可以根据当前轮次对话中的槽和概率最大的值构建槽值对,并将当前轮次对话中所有槽对应的槽值对的集合作为与当前轮次对话对应的对话状态。
在本公开的一个实施例中,在应用对话状态跟踪模型进行对话状态跟踪前,可以对待训练对话状态跟踪模型进行训练,以获取稳定的对话状态跟踪模型。鉴于采用神经网络方法进行对话状态跟踪时在不同槽上使用相同的损失函数,导致存在槽不均衡的问题,因此本公开实施例中对对话状态跟踪过程中采用的损失函数进行了优化改进。发明人在采用不同方法进行多次试验的过程中,发现Focal Loss损失函数可以在普通交叉熵函数的基础上对不同样本设置不同的权重,使得模型能自动增大难样本的损失,从而鼓励模型对难样本的优化,以缓解目标检测中的类别不均衡问题,与槽不均衡的问题相关,因此尝试应用Focal Loss损失函数解决对话状态跟踪中槽不均衡的问题。但是Focal Loss损失函数中的参数需要人工调整,一般需要进行多组实验才能筛选确定合适的值,并且Focal Loss损失函数在训练过程中也不能动态地调整参数,这使得模型的训练效率和稳定性还是较低。因此有必要设计一种能够针对不同槽、不同样本自动动态调整权重的自适应优化损失函数,以优化槽不均衡的问题,并且能够提高对话状态跟踪模型的训练效率和稳定性。
在本公开的一个实施例中,在对对话状态跟踪模型进行训练时,具体地,可以先获取训练数据集和验证数据集,该训练数据集包括各轮次对话样本;接着可以根据各轮次对话样本对待训练对话状态跟踪模型进行迭代训练,并在每轮训练过程中获取与各轮次对话样本对应的置信度作为样本优化系数;然后根据验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证,并获取每个槽在验证数据集上的准确率作为槽优化系数;最后根据样本优化系数和槽优化系数确定自适应优化损失函数,并根据自适应优化损失函数对每轮训练过程中的待训练对话状态跟踪模型进行调参。为了使本公开实施例中的对话状态跟踪模型训练方法更清晰,接下来对上述训练流程进行详细说明:
在本公开的一个实施例中,图4示出了训练待训练对话状态跟踪模型的流程示意图,如图4所示,在步骤S401中,获取训练数据集和验证数据集,该训练数据集包括各轮次对话样本;该验证数据集包括验证对话样本和与验证对话样本对应的对话状态标签;在步骤S402中,根据训练数据集和槽优化系数对待训练对话状态跟踪模型进行迭代训练,根据验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证并更新槽优化系数。
接下来,对图4所示的训练流程示意图进行详细说明。
在本公开的一个实施例中,训练数据集和验证数据集均是通过采集人与人之间的对话和对该对话中的对话状态进行标注所形成的集合,其中包含了各个场景下的对话样本,例如订机票、订饭店、订酒店等等场景,具体地,训练数据集包含各轮次对话样本和与各轮次对话样本对应的对话状态标签,同时验证数据集包含验证对话样本和与验证对话样本对应的对话状态标签。作为区别,训练数据集用于结合槽优化系数对待训练对话状态跟踪模型进行迭代训练,当待训练对话状态跟踪模型的损失函数收敛或完成预设次数的训练后便可得到对话状态跟踪模型;验证数据集用于对每轮训练后的待训练对话状态跟踪模型的性能进行验证并更新槽优化系数,其中的对话状态标签可以用于验证模型输出的对话状态预测是否准确,并计算槽在验证数据集上的准确率。在获取训练数据集之后,可以根据各轮次对话样本、各轮次对话样本中的槽和与各轮次对话样本中的槽对应的值集合对待训练对话状态跟踪模型进行迭代训练。
在本公开的一个实施例中,根据训练数据集对待训练对话状态跟踪模型进行训练可以分为初始训练和再训练,图5示出了对待训练对话状态跟踪模型进行初始训练的流程示意图,如图5所示,在步骤S501中,将各轮次对话样本输入至待训练对话状态跟踪模型进行特征提取,以获取各轮次对话样本的第一置信度;在步骤S502中,根据第一置信度和初始槽优化系数构建初始损失函数,并根据初始损失函数对待训练对话状态跟踪模型进行调参,以获取目标待训练对话状态跟踪模型,其中初始损失函数与自适应优化损失函数的表达式相同。步骤S502的初始槽优化系数是设定好的一个初始值,例如可以设置为1,等等,本公开对此不作具体限定。
在本公开的一个实施例中,在完成对待训练对话状态跟踪模型的初始训练后,可以对目标待训练对话状态跟踪模型进行一次或多次的再训练,图6示出了对待训练对话状态跟踪模型进行再训练的流程示意图,如图6所示,在步骤S601中,根据验证数据集对目标待训练对话状态跟踪模型的性能进行验证,以获取更新槽优化系数;在步骤S602中,根据训练数据集和更新槽优化系数对目标待训练对话状态跟踪模型进行再训练;在步骤S603中,将再训练后的待训练对话状态跟踪模型作为目标待训练对话状态跟踪模型,重复上述步骤,直至待训练对话状态跟踪模型的损失函数收敛或完成预设次数的训练。其中待训练对话状态跟踪模型在训练过程中的数据处理流程与上述实施例中对话状态跟踪模型的数据处理流程相同,在此不再赘述。
其中,由于验证数据集可以对训练后的目标待训练对话状态跟踪模型的性能进行验证,也就是判断模型输出的对话状态预测与标注好的对话状态标签是否相同或相近,即判断各个槽在验证数据集上的准确率,如果准确率高则说明模型性能较好,如果准确率低则说明模型性能较差,因此可以根据每个槽在验证数据集上的准确率确定槽优化系数,并根据槽优化系数对后续的模型训练进行指导。在本公开的实施例中,模型的训练和模型性能的验证是交替进行的,也就是说,当完成对模型的第一轮训练后,对训练后的模型进行验证,并确定对应的更新槽优化系数;然后以更新槽优化系数为参数对模型进行第二轮训练,当完成对模型的第二轮训练后,再对训练后的模型进行验证,并确定新的更新槽优化系数,以此循环,直至模型性能最优或完成预设次数的模型训练。
图7示出了获取更新槽优化系数的流程示意图,如图7所示,在步骤S701中,将验证对话样本输入至目标待训练对话状态跟踪模型,以获取与验证对话样本对应的对话状态预测;在步骤S702中,根据对话状态预测和对话状态标签确定更新槽优化系数。
在本公开的一个实施例中,在对待训练对话状态跟踪模型进行训练和性能验证时,输入的对话样本是一段完整的对话,其中包含多个轮次的对话,不同于模型应用时,是对历史对话和当前轮次对话进行处理。待训练对话状态跟踪模型对对话样本、对话样本中的槽和与槽对应的值集合进行特征提取后,能够输出与对话样本对应的对话状态,即对话状态预测,其中包括多个由槽和对应的值所形成的槽值对。以图3所示的对话为例,其中包含的槽有food、name、price、time、area、people,通过对话状态跟踪模型进行对话状态跟踪,可以获得图3所示对话的对话状态为{food=Chinese,name=Dojo noodle bar,price=cheap,time=17:30,area=center of the city,people=8people}。相应地,验证数据集中的对话状态标签也包含与验证对话样本中各个槽对应的槽值对。
在本公开的一个实施例中,图8示出了确定更新槽优化系数的流程示意图,如图8所示,在步骤S801中,根据与各个槽对应的对话状态预测和对话状态标签计算各个槽在验证数据集上的准确率;在步骤S802中,分别计算一与各个槽对应的准确率之间的差值,以获取与各个槽对应的第一信息;在步骤S803中,将各个槽对应的第一信息分别与所有槽对应的第一信息的和相除,以获取与各个槽对应的第二信息;在步骤S804中,将各第二信息分别与槽的数量相乘,以获取与各个槽对应的更新槽优化系数。
在本公开的一个实施例中,槽优化系数的计算公式如式(1)所示:
Figure BDA0002511541380000161
其中,αs为槽优化系数,
Figure BDA0002511541380000162
为各槽在验证数据集上的准确率,
Figure BDA0002511541380000163
为所有槽在验证数据集上的准确率,S为所有槽的集合,|S|为槽的数量,
Figure BDA0002511541380000171
是第一信息,是第二信息。
从公式(1)分析可知,对于那些在验证数据集上准确率较低的槽,可以得到一个更大的损失函数权重,从而鼓励对话状态跟踪模型对这些槽的优化,同时公式(1)也是一个归一化操作,通过该操作可以使得所有槽的学习难度得到平衡,因此为了提高对话状态跟踪模型对不同难度槽都具有优异的处理能力,可以根据基于槽优化系数构建的自适应优化损失函数对待训练对话状态跟踪模型的参数进行调整。
在本公开的一个实施例中,更新槽优化系数涉及槽在验证数据集上的准确率,在计算准确率时,可以统计对话状态预测中的真阳预测数和真阴预测数,然后将真阳预测数和真阴预测数之和与总预测数相比,即可获取对话样本中的操信息在验证数据集上的准确率。其中,真阳预测数表示该槽值对存在于对话状态标签中且存在于模型生成的对话状态预测中(即“真阳”),真阴预测数表示该槽值对不存在于对话状态标签中且不存在于模型生成的对话状态预测中(即“真阴”),总预测数为总共的预测数目。
在本公开的一个实施例中,虽然基于槽优化系数能够构建自适应优化损失函数,使得根据自适应优化损失函数进行调整后的对话状态跟踪模型能够处理不同难度的槽,但是通过对话状态跟踪模型确定对话状态还有一个主要的输入,就是对话,对于不同的对话,难度不同,因此为了提高模型输出的对话状态的精准度,根据基于样本优化系数构建的自适应优化损失函数对模型参数进行调整也是必要的。
在本公开的一个实施例中,图9示出了对目标待训练对话状态跟踪模型进行再训练的流程示意图,如图9所示,在步骤S901中,将各轮次对话样本输入至目标待训练对话状态跟踪模型,通过目标待训练对话状态跟踪模型对各轮次对话样本进行特征提取,以获取各轮次对话样本的第二置信度;在步骤S902中,根据第二置信度和更新槽优化系数构建自适应优化损失函数,并根据自适应优化损失函数对目标待训练对话状态跟踪模型进行调参。由于每次再训练的时候,第二置信度和更新槽优化系数是变化的,这样通过多次再训练,就可以使待训练对话状态跟踪模型趋于收敛,达到稳定状态。
在本公开的一个实施例中,由于槽优化系数是根据每个槽在验证数据集上的准确率确定的,样本优化系数是根据各轮次对话样本的置信度确定的,因此为了保证对话状态跟踪模型能够对不同难度的槽和对话进行特征提取,可以根据槽优化系数和样本优化系数构建自适应优化损失函数,图10示出了构建自适应优化损失函数的流程示意图,如图10所示,在步骤S1001中,计算一与各轮次对话样本对应的第二置信度之间的差值,并根据预设指数对该差值进行指数幂运算以确定样本优化系数;在步骤S1002中,对各轮次对话样本对应的第二置信度求对数,以获取优化因子;在步骤S1003中,将与各轮次对话样本中同一槽对应的更新槽优化系数、样本优化系数和优化因子相乘并取负值,以获取损失函数因子;在步骤S1004中,将与各轮次对话样本中各个槽对应的损失函数因子相加,以获取自适应优化损失函数。
在本公开的一个实施例中,第一置信度是对待训练对话状态跟踪模型进行初始训练的过程中得到的样本置信度,第二置信度是对待训练对话状态跟踪模型进行再训练的过程中得到的样本置信度,二者的计算方式相同,具体地,首先获取各轮次对话样本中的槽,通过待训练对话状态跟踪模型对各轮次对话样本中的槽和各轮次对话样本进行特征提取,以获取与各轮次对话样本中的槽对应的特征向量;同时通过待训练对话状态跟踪模型对与各轮次对话样本中的槽所对应的值集合中的各个值进行编码,以获取值向量;接着计算特征向量和各个值向量之间的距离,并对各个距离进行归一化处理;然后从训练数据集中的对话状态标签中获取与各轮次对话样本中的槽对应的标签值,该标签值包含于各轮次对话样本中的槽所对应的值集合;最后将与该标签值对应的归一化结果作为与各轮次对话样本对应的置信度。其中,对各个距离进行归一化处理具体可以是softmax处理,当然也可以是其它的归一化处理方式。
进一步地,初始损失函数和自适应优化损失函数的构建方式也相同,唯一的区别仅在于,初始槽优化系数是预设值,而更新槽优化系数是根据槽在验证数据集上的准确率确定的。因此下面将第一置信度和第二置信度统称为各轮次对话样本的置信度,初始槽优化系数和更新槽优化系数统称为槽优化系数,并根据样本置信度和槽优化系数确定自适应优化损失函数。
在本公开的一个实施例中,样本优化系数和优化因子的表达式如式(2)-(3)所示:
β(s,vt)=(1-p(s,vt))γ (2)
ω=log(p(s,vt)) (3)
其中,p(s,vt)为各轮次对话样本对应的置信度,β(s,vt)为样本优化系数,γ为预设指数,该预设指数为人工设定的超参数,ω为优化因子。
从公式(2)分析可知,对于两个样本{(Ut1,Rt1),(s1,vt1)}、{(Ut2,Rt2),(s2,vt2)},当t1轮对话样本的置信度低于t2轮对话样本的置信度时,说明t1轮对话样本更困难,其对应的样本优化系数更大,这样模型就可以自动增大该对话样本的损失函数权重,从而鼓励模型对该对话样本的优化。
在本公开的一个实施例中,在获取与槽对应的槽优化系数、样本优化系数和优化因子后,可以根据与同一槽对应的该些参数确定模型优化的自适应优化目标,基于该自适应优化目标可以构建自适应优化损失函数,因此可将自适应优化目标记为损失函数因子,具体如式(4)所示:
Ladapt(s,vt)=-αsβ(s,vt)log(p(s,vt)) (4)
其中,Ladapt(s,vt)为自适应优化目标,αs为槽优化系数,β(s,vt)为样本优化系数,log(p(s,vt))为优化因子。
在本公开的一个实施例中,由于槽优化系数是随着槽在验证数据集上的准确率的变化而变化的,样本优化系数是随样本置信度而变化的,因此自适应优化目标可以根据不同难度的槽和不同难度的对话样本进行调整,使得经训练后的对话状态跟踪模型能够较好地处理不同难度的对话,提高了对较复杂对话状态的跟踪能力,并且提高了处理效率和对话状态的精准度,进一步提高了整个对话系统的用户体验和交互效率。
在本公开的一个实施例中,由于每一轮模型参数的调整是在根据验证数据集对训练后的待训练对话状态跟踪模型进行验证后,根据基于自适应优化目标所构建的自适应损失函数进行的,同时,由于每一轮调参的目的都是为了让待训练对话状态跟踪模型输出的对话状态预测与训练数据集或验证数据集中的对话状态标签相近或相同,因此在构建自适应优化损失函数时,需要根据与各轮次对话样本中的槽所对应的标签值构建,该标签值也就是人工标注的与槽对应的值。在本公开的实施例中,在训练待训练对话状态跟踪模型时,是将一段完整的对话样本输入至待训练对话状态跟踪模型中,并根据待训练对话状态跟踪模型输出的所有对话状态进行训练的,因此在最终构建的自适应优化损失函数中应当包含对话样本中所有槽对应的槽优化系数和各轮次对话样本对应的样本优化系数和优化因子,也就是说,通过将与各个槽对应的损失函数因子相加,即可获取自适应优化损失函数。具体表达如式(5)所示:
Figure BDA0002511541380000201
其中,Lfinetune为自适应优化损失函数,S为所有的槽,T为所有的对话轮次,
Figure BDA0002511541380000202
为槽s在t轮次对话样本中的标签值。
在本公开的一个实施例中,由于自适应优化损失函数包含槽优化系数和样本优化系数,而槽优化系数是根据槽在验证数据集上的准确率构建的,样本优化系数是根据各轮次对话样本的置信度构建的,因此根据该自适应优化损失函数可以对对话状态跟踪模型进行精调,但是由于存在训练前期对槽在验证数据集上准确率估计不准的情况,仅采用自适应优化损失函数训练待训练对话状态跟踪模型的话,会出现模型不稳定、输出结果误差大的情况,因此在采用自适应优化损失函数对待训练对话状态跟踪模型进行精调之前,可以采用普通的交叉熵损失函数对待训练对话状态跟踪模型进行预调参,在待训练对话状态跟踪模型稳定之后,再采用自适应优化损失函数来精调待训练对话状态跟踪模型,这样可以进一步提高对话状态跟踪模型的性能,提高对话状态的精准度。
在本公开的一个实施例中,采用交叉熵损失函数训练待训练对话状态跟踪模型,首先可以将各轮次对话样本输入至待训练对话状态跟踪模型进行特征提取,以获取与各轮次对话样本对应的置信度,接着根据置信度确定交叉熵损失函数,最后再基于交叉熵损失函数对待训练对话状态跟踪模型的参数进行预调整。交叉熵损失函数的表达如式(6)所示:
Figure BDA0002511541380000203
其中,Lcross为交叉熵损失函数,S为所有的槽,T为所有的对话轮次,
Figure BDA0002511541380000204
为槽s在t轮次对话样本中的标签值。
在本公开的一个实施例中,可以采用同一对话样本对待训练对话状态跟踪模型进行多轮训练,在每一轮的模型训练过程中,模型都会重新评估各个槽在验证数据集上的准确率,并更新槽优化系数αs,通过多轮训练,直至待训练对话状态跟踪模型的损失函数趋近于最小值,即可认为模型训练完成,当然,也可以预先设定训练次数,当模型训练次数达到预设的训练次数后,即可认为模型训练完成。
本公开实施例中的对话状态跟踪方法在模型训练过程中采用了自适应优化损失函数进行精调,能够对不同难度的槽和对话进行有效的处理,进而得到精准地对话状态。相比于Focal Loss,采用自适应优化损失函数训练模型能够自动计算获取槽优化系数,不需要人工跑多组试验筛选合适的系数,节省了时间和人力;另外,Focal Loss在多分类任务上使用时所有类别的参数都相同,不能起到平衡不同类别的作用,但是自适应优化目标可以动态地设置不同槽在损失函数上的权重,可以更好地拟合数据,充分发挥标注数据的潜力,并通过鼓励对话状态跟踪模型对较难槽、较难样本的优化,学习到追踪复杂对话状态的能力,从而提高对话状态跟踪模型在对话状态跟踪问题上的效果。
在本公开的一个实施例中,采用自适应优化损失函数训练的对话状态跟踪模型能够缓解对话状态跟踪中存在的槽不均衡的问题,同时通过精调来缓解槽不均衡的问题,不影响模型的训练过程,可以方便地集成别的对话状态跟踪模型,也就是说,可以采用任意的对话状态跟踪模型执行本公开实施例中的对话状态跟踪方法,如图2所示的对话状态跟踪方法。图11示出了一种对话状态跟踪模型的结构示意图,如图11所示,对话状态跟踪模型1100包括对话处理单元1101、槽处理单元1102、值集合处理单元1103、多头注意力网络层1104、循环神经网络层1105、层归一化层1106、距离计算层1107和输出层1108,其中对话处理单元1101、槽处理单元1102和值集合处理单元1103的结构相同,都采用BERT结构,BERT是一个强大的预训练语言模型,其中包括多个EMB(embedding)层和多个转换层Trm,分别用于对对话
Figure BDA0002511541380000211
Figure BDA0002511541380000212
和值
Figure BDA0002511541380000213
进行编码,得到t轮次对话的对话向量Ut、槽向量qs和t时刻槽对应的候选值的值向量
Figure BDA0002511541380000214
在获取Ut、qs
Figure BDA0002511541380000215
后,Ut和qs同时输入至多头注意力网络层1104进行处理得到槽在t轮次对话上的向量
Figure BDA0002511541380000216
接着
Figure BDA0002511541380000217
被输入至循环神经网络层1105,通过循环神经网络层1105对t-1时刻的隐状态
Figure BDA0002511541380000218
Figure BDA0002511541380000219
进行处理获取t时刻的隐状态
Figure BDA00025115413800002110
然后通过层归一化层1106对
Figure BDA00025115413800002111
进行处理,可以获取在t轮次对话中与槽对应的特征向量
Figure BDA0002511541380000221
最后通过距离计算层1107计算
Figure BDA0002511541380000222
与各个
Figure BDA0002511541380000223
之间的距离,对距离进行归一化处理以获取各个值的概率,并将概率最大的值和对应的槽组成槽值对,通过输出层1108输出。
图11所示的对话状态跟踪模型1100中采用了循环神经网络层1105,其具有编码历史的作用,因此可以逐次输入当前轮次对话,其实质上也是根据历史对话、当前轮次对话、槽和值集合获取对话中与槽相关的特征向量。值得说明的是,图11中的[CLS]和[SEP]分别是起始标志和结束标志。
本公开实施例中的对话状态跟踪方法是采用基于自适应优化损失函数训练的对话状态跟踪模型对历史对话、当前轮次对话、当前轮次对话中的槽和与当前轮次对话中的槽对应的值集合进行特征提取,以获取与当前轮次对话对应的对话状态。自适应优化损失函数包含根据每个槽在验证数据集上的准确率确定的槽优化系数和根据各轮次对话样本的置信度确定的样本优化系数,因此本公开的技术方案一方面能够提高对话状态跟踪模型的性能,缓解对话状态跟踪任务中的槽不均衡问题,提高对话状态跟踪模型对各种难度的槽和对话的处理效率,进一步提高对话状态的精准度;另一方面能够在对话状态跟踪模型性能提升的基础上提高对话系统的用户体验和交互效率。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的对话状态跟踪方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的对话状态跟踪方法的实施例。
图12示意性示出了根据本公开的一个实施例的对话状态跟踪装置的框图。该装置可以用于执行本申请实施例提供的方法中的相应步骤。
参照图12所示,根据本公开的一个实施例的对话状态跟踪装置1200,包括:信息获取模块1201和对话状态生成模块1202。
其中,信息获取模块1201,用于获取历史对话和当前轮次对话,将所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型;对话状态生成模块1202,用于通过所述对话状态跟踪模型对所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合进行特征提取,以获取与所述当前轮次对话对应的对话状态;其中,所述对话状态跟踪模型是基于自适应优化损失函数训练得到的,所述自适应优化损失函数包括槽优化系数和样本优化系数,并且所述槽优化系数是根据每个槽在验证数据集上的准确率确定的,所述样本优化系数是根据各轮次对话样本的置信度确定的。
在本公开的一个实施例中,所述对话状态生成模块1202包括:特征提取单元,用于对所述当前轮次对话中的槽进行编码以获取槽向量,对与所述当前轮次对话中的槽对应的值集合中各个值进行编码以获取值向量,同时对所述历史对话和所述当前轮次对话进行编码以获取对话向量;第一处理单元,用于基于注意力机制对所述槽向量和所述对话向量进行处理,以获取对话中与所述槽相关的特征向量;归一化单元,用于计算所述特征向量与各所述值向量之间的距离,并对所述距离进行归一化处理,以获取各所述值的概率,根据概率最大的值确定与所述当前轮次对话对应的对话状态。
在本公开的一个实施例中,所述归一化单元配置为:根据所述当前轮次对话中的槽和所述概率最大的值构建槽值对,并将所述当前轮次对话中所有槽对应的槽值对的集合作为所述对话状态。
在本公开的一个实施例中,所述对话状态跟踪装置1200还包括:样本获取模块,用于获取训练数据集和验证数据集,所述训练数据集包括所述各轮次对话样本;所述验证数据集包括验证对话样本和与所述验证对话样本对应的对话状态标签;模型训练模块,用于根据所述训练数据集和所述槽优化系数对待训练对话状态跟踪模型进行迭代训练,根据所述验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证并更新所述槽优化系数。
在本公开的一个实施例中,所述模型训练模块包括:第一输入单元,用于将所述各轮次对话样本输入至所述待训练对话状态跟踪模型进行特征提取,以获取所述各轮次对话样本的第一置信度;第一调参单元,用于根据所述第一置信度和初始槽优化系数构建初始损失函数,并根据所述初始损失函数对所述待训练对话状态跟踪模型进行调参,以获取目标待训练对话状态跟踪模型,其中所述初始损失函数与所述自适应优化损失函数的表达式相同。
在本公开的一个实施例中,所述模型训练模块包括:槽优化系数更新单元,用于根据所述验证数据集对所述目标待训练对话状态跟踪模型的性能进行验证,以获取更新槽优化系数;模型再训练单元,用于根据所述训练数据集和所述更新槽优化系数对所述目标待训练对话状态跟踪模型进行再训练;循环单元,用于将再训练后的待训练对话状态跟踪模型作为所述目标待训练对话状态跟踪模型,重复上述步骤,直至所述待训练对话状态跟踪模型的损失函数收敛或完成预设次数的训练。
在本公开的一个实施例中,所述槽优化系数更新单元包括:第二输入单元,用于将所述验证对话样本输入至所述目标待训练对话状态跟踪模型,以获取与所述验证对话样本对应的对话状态预测;更新槽优化系数确定单元,用于根据所述对话状态预测和所述对话状态标签确定所述更新槽优化系数。
在本公开的一个实施例中,所述验证对话样本中包含多个槽,且所述对话状态标签中的各槽值对分别对应于各所述槽;所述更新槽优化系数确定单元配置为:根据与各所述槽对应的对话状态预测和对话状态标签计算各所述槽在所述验证数据集上的准确率;分别计算一与各所述槽对应的准确率之间的差值,以获取与各所述槽对应的第一信息;将各所述槽对应的第一信息分别与所有槽对应的第一信息的和相除,以获取与各所述槽对应的第二信息;将各所述第二信息分别与所述槽的数量相乘,以获取与各所述槽对应的更新槽优化系数。
在本公开的一个实施例中,所述模型再训练单元包括:第三输入单元,用于将所述各轮次对话样本输入至所述目标待训练对话状态跟踪模型,通过所述目标待训练对话状态跟踪模型对所述各轮次对话样本进行特征提取,以获取所述各轮次对话样本的第二置信度;第二调参单元,用于根据所述第二置信度和所述更新槽优化系数构建自适应优化损失函数,并根据所述自适应优化损失函数对所述目标待训练对话状态跟踪模型进行调参。
在本公开的一个实施例中,所述第二调参单元配置为:计算一与所述各轮次对话样本对应的第二置信度之间的差值,并根据预设指数对所述差值进行指数幂运算以确定所述样本优化系数;对所述各轮次对话样本对应的第二置信度求对数,以获取优化因子;将与所述各轮次对话样本中同一槽对应的更新槽优化系数、样本优化系数和优化因子相乘并取负值,以获取损失函数因子;将与所述各轮次对话样本中各个槽对应的所述损失函数因子相加,以获取所述自适应优化损失函数。
在本公开的一个实施例中,所述对话状态跟踪装置1200还配置为:将所述各轮次对话样本输入至所述待训练对话状态跟踪模型进行特征提取,以获取与所述各轮次对话样本对应的置信度;根据所述置信度确定交叉熵损失函数,并基于所述交叉熵损失函数对所述待训练对话状态跟踪模型进行预调参。
在本公开的一个实施例中,所述对话状态跟踪装置1200还配置为:获取所述各轮次对话样本中的槽,通过所述待训练对话状态跟踪模型对所述各轮次对话样本中的槽和所述各轮次对话样本进行特征提取,以获取对话样本中与所述各轮次对话样本中的槽对应的特征向量;通过所述待训练对话状态跟踪模型对与所述各轮次对话样本中的槽所对应的值集合中的各个值进行编码,以获取值向量;计算所述特征向量和各所述值向量之间的距离,并对各所述距离进行归一化处理;从所述训练数据集中的对话状态标签中获取与所述各轮次对话样本中的槽对应的标签值,所述标签值包含于所述各轮次对话样本中的槽所对应的值集合;将与所述标签值对应的归一化结果作为与所述各轮次对话样本对应的置信度。
图13示意性示出了根据本公开的一个实施例的对话状态跟踪模型训练装置的框图。该装置可以用于执行本申请实施例提供的对话状态跟踪模型训练方法中的相应步骤。
参照图13所示,根据本公开的一个实施例的对话状态跟踪模型训练装置1300,包括:获取模块1301、训练模块1302、验证模块1303和调参模块1304。
其中,获取模块1301,用于获取训练数据集和验证数据集,所述训练数据集包括各轮次对话样本;训练模块1302,用于根据所述各轮次对话样本对待训练对话状态跟踪模型进行迭代训练,并在每轮训练过程中获取与所述各轮次对话样本对应的置信度作为样本优化系数;验证模块1303,用于根据所述验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证,并获取每个槽在所述验证数据集上的准确率作为槽优化系数;调参模块1304,用于根据所述样本优化系数和所述槽优化系数确定自适应优化损失函数,并根据所述自适应优化损失函数对每轮训练过程中的所述待训练对话状态跟踪模型进行调参。
在本公开的一个实施例中,所述对话状态跟踪模型训练装置1300还配置为:在根据所述自适应优化损失函数对每轮训练过程中的所述待训练对话状态跟踪模型进行调参之前,将所述各轮次对话样本输入至所述待训练对话状态跟踪模型进行特征提取,以获取与所述各轮次对话样本对应的置信度;根据所述置信度确定交叉熵损失函数,并基于所述交叉熵损失函数对所述待训练对话状态跟踪模型进行预调参。
图14示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图14示出的电子设备的计算机系统1400仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统1400包括中央处理单元(Central Processing Unit,CPU)1401,其可以根据存储在只读存储器(Read-Only Memory,ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(Random Access Memory,RAM)1403中的程序而执行各种适当的动作和处理,实现上述实施例中所述的图像标注方法。在RAM 1403中,还存储有系统操作所需的各种程序和数据。CPU 1401、ROM 1402以及RAM1403通过总线1404彼此相连。输入/输出(Input/Output,I/O)接口1405也连接至总线1404。
以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理单元(CPU)1401执行时,执行本公开的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的对象状态跟踪装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种对话状态跟踪方法,其特征在于,包括:
获取历史对话和当前轮次对话,将所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型;
通过所述对话状态跟踪模型对所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合进行特征提取,以获取与所述当前轮次对话对应的对话状态;
其中,所述对话状态跟踪模型是基于自适应优化损失函数训练得到的,所述自适应优化损失函数包括槽优化系数和样本优化系数,并且所述槽优化系数是根据每个槽在验证数据集上的准确率确定的,所述样本优化系数是根据各轮次对话样本的置信度确定的。
2.根据权利要求1所述的对话状态跟踪方法,其特征在于,所述通过所述对话状态跟踪模型对所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合进行特征提取,以获取对话状态,包括:
对所述当前轮次对话中的槽进行编码以获取槽向量,对与所述当前轮次对话中的槽对应的值集合中各个值进行编码以获取值向量,同时对所述历史对话和所述当前轮次对话进行编码以获取对话向量;
基于注意力机制对所述槽向量和所述对话向量进行处理,以获取对话中与所述槽相关的特征向量;
计算所述特征向量与各所述值向量之间的距离,并对所述距离进行归一化处理,以获取各所述值的概率;
根据所述当前轮次对话中的槽和所述概率最大的值构建槽值对,并将所述当前轮次对话中所有槽对应的槽值对的集合作为所述对话状态。
3.根据权利要求1所述的对话状态跟踪方法,所述方法还包括:
获取训练数据集和验证数据集,所述训练数据集包括所述各轮次对话样本;所述验证数据集包括验证对话样本和与所述验证对话样本对应的对话状态标签;
根据所述训练数据集和所述槽优化系数对待训练对话状态跟踪模型进行迭代训练,根据所述验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证并更新所述槽优化系数。
4.根据权利要求3所述的对话状态跟踪方法,其特征在于,所述根据所述训练数据集和所述槽优化系数对待训练对话状态跟踪模型进行迭代训练,包括:
将所述各轮次对话样本输入至所述待训练对话状态跟踪模型进行特征提取,以获取所述各轮次对话样本的第一置信度;
根据所述第一置信度和初始槽优化系数构建初始损失函数,并根据所述初始损失函数对所述待训练对话状态跟踪模型进行调参,以获取目标待训练对话状态跟踪模型,其中所述初始损失函数与所述自适应优化损失函数的表达式相同。
5.根据权利要求4所述的对话状态跟踪方法,其特征在于,所述根据所述训练数据集和所述槽优化系数对所述待训练对话状态跟踪模型进行迭代训练,根据所述验证数据集对训练后的所述待训练对话状态跟踪模型的性能进行验证并更新所述槽优化系数,包括:
根据所述验证数据集对所述目标待训练对话状态跟踪模型的性能进行验证,以获取更新槽优化系数;
根据所述训练数据集和所述更新槽优化系数对所述目标待训练对话状态跟踪模型进行再训练;
将再训练后的待训练对话状态跟踪模型作为所述目标待训练对话状态跟踪模型,重复上述步骤,直至所述待训练对话状态跟踪模型的损失函数收敛或完成预设次数的训练。
6.根据权利要求5所述的对话状态跟踪方法,其特征在于,所述根据所述验证数据集对所述目标待训练对话状态跟踪模型的性能进行验证,以获取更新槽优化系数,包括:
将所述验证对话样本输入至所述目标待训练对话状态跟踪模型,以获取与所述验证对话样本对应的对话状态预测;
根据所述对话状态预测和所述对话状态标签确定所述更新槽优化系数。
7.根据权利要求6所述的对话状态跟踪方法,其特征在于,所述验证对话样本中包含多个槽,且所述对话状态标签中的各槽值对分别对应于各所述槽;
所述根据所述对话状态预测和所述对话状态标签确定所述更新槽优化系数,包括:
根据与各所述槽对应的对话状态预测和对话状态标签计算各所述槽在所述验证数据集上的准确率;
分别计算一与各所述槽对应的准确率之间的差值,以获取与各所述槽对应的第一信息;
将各所述槽对应的第一信息分别与所有槽对应的第一信息的和相除,以获取与各所述槽对应的第二信息;
将各所述第二信息分别与所述槽的数量相乘,以获取与各所述槽对应的更新槽优化系数。
8.根据权利要求5所述的对话状态跟踪方法,其特征在于,所述根据所述训练数据集和所述更新槽优化系数对所述目标待训练对话状态跟踪模型进行再训练,包括:
将所述各轮次对话样本输入至所述目标待训练对话状态跟踪模型,通过所述目标待训练对话状态跟踪模型对所述各轮次对话样本进行特征提取,以获取所述各轮次对话样本的第二置信度;
根据所述第二置信度和所述更新槽优化系数构建自适应优化损失函数,并根据所述自适应优化损失函数对所述目标待训练对话状态跟踪模型进行调参。
9.根据权利要求8所述的对话状态跟踪方法,其特征在于,根据所述各轮次对话样本的第二置信度和所述更新槽优化系数构建自适应优化损失函数,包括:
计算一与所述各轮次对话样本对应的第二置信度之间的差值,并根据预设指数对所述差值进行指数幂运算以确定所述样本优化系数;
对所述各轮次对话样本对应的第二置信度求对数,以获取优化因子;
将与所述各轮次对话样本中同一槽对应的更新槽优化系数、样本优化系数和优化因子相乘并取负值,以获取损失函数因子;
将与所述各轮次对话样本中各个槽对应的所述损失函数因子相加,以获取所述自适应优化损失函数。
10.根据权利要求4或8所述的对话状态跟踪方法,其特征在于,所述方法还包括:
获取所述各轮次对话样本中的槽,通过所述待训练对话状态跟踪模型对所述各轮次对话样本中的槽和所述各轮次对话样本进行特征提取,以获取对话样本中与所述各轮次对话样本中的槽对应的特征向量;
通过所述待训练对话状态跟踪模型对与所述各轮次对话样本中的槽所对应的值集合中的各个值进行编码,以获取值向量;
计算所述特征向量和各所述值向量之间的距离,并对各所述距离进行归一化处理;
从所述训练数据集中的对话状态标签中获取与所述各轮次对话样本中的槽对应的标签值,所述标签值包含于所述各轮次对话样本中的槽所对应的值集合;
将与所述标签值对应的归一化结果作为与所述各轮次对话样本对应的置信度。
11.一种对话状态跟踪模型训练方法,其特征在于,包括:
获取训练数据集和验证数据集,所述训练数据集包括各轮次对话样本;
根据所述各轮次对话样本对待训练对话状态跟踪模型进行迭代训练,并在每轮训练过程中获取与所述各轮次对话样本对应的置信度作为样本优化系数;
根据所述验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证,并获取每个槽在所述验证数据集上的准确率作为槽优化系数;
根据所述样本优化系数和所述槽优化系数确定自适应优化损失函数,并根据所述自适应优化损失函数对每轮训练过程中的所述待训练对话状态跟踪模型进行调参。
12.根据权利要求11所述的对话状态跟踪模型训练方法,其特征在于,在根据所述自适应优化损失函数对每轮训练过程中的所述待训练对话状态跟踪模型进行调参之前,所述方法还包括:
将所述各轮次对话样本输入至所述待训练对话状态跟踪模型进行特征提取,以获取与所述各轮次对话样本对应的置信度;
根据所述置信度确定交叉熵损失函数,并基于所述交叉熵损失函数对所述待训练对话状态跟踪模型进行预调参。
13.一种对话状态跟踪装置,其特征在于,包括:
信息获取模块,用于获取历史对话和当前轮次对话,将所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合输入至对话状态跟踪模型;
对话状态生成模块,用于通过所述对话状态跟踪模型对所述历史对话、所述当前轮次对话、所述当前轮次对话中的槽和与所述当前轮次对话中的槽对应的值集合进行特征提取,以获取与所述当前轮次对话对应的对话状态;
其中,所述对话状态跟踪模型是基于自适应优化损失函数训练得到的,所述自适应优化损失函数包括槽优化系数和样本优化系数,并且所述槽优化系数是根据每个槽在验证数据集上的准确率确定的,所述样本优化系数是根据各轮次对话样本的置信度确定的。
14.一种对话状态跟踪模型训练装置,其特征在于,包括:
获取模块,用于获取训练数据集和验证数据集,所述训练数据集包括各轮次对话样本;
训练模块,用于根据所述各轮次对话样本对待训练对话状态跟踪模型进行迭代训练,并在每轮训练过程中获取与所述各轮次对话样本对应的置信度作为样本优化系数;
验证模块,用于根据所述验证数据集对每轮训练后的待训练对话状态跟踪模型的性能进行验证,并获取每个槽在所述验证数据集上的准确率作为槽优化系数;
调参模块,用于根据所述样本优化系数和所述槽优化系数确定自适应优化损失函数,并根据所述自适应优化损失函数对每轮训练过程中的所述待训练对话状态跟踪模型进行调参。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,所述存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至10中任一项所述的对话状态跟踪方法或者权利要求11-12中任一项所述的对话状态跟踪模型训练方法。
CN202010462879.7A 2020-05-27 2020-05-27 对话状态跟踪方法、装置及对话状态跟踪模型训练方法 Pending CN111708871A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010462879.7A CN111708871A (zh) 2020-05-27 2020-05-27 对话状态跟踪方法、装置及对话状态跟踪模型训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010462879.7A CN111708871A (zh) 2020-05-27 2020-05-27 对话状态跟踪方法、装置及对话状态跟踪模型训练方法

Publications (1)

Publication Number Publication Date
CN111708871A true CN111708871A (zh) 2020-09-25

Family

ID=72538618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010462879.7A Pending CN111708871A (zh) 2020-05-27 2020-05-27 对话状态跟踪方法、装置及对话状态跟踪模型训练方法

Country Status (1)

Country Link
CN (1) CN111708871A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113079262A (zh) * 2021-03-24 2021-07-06 北京百度网讯科技有限公司 智能语音对话的数据处理方法和装置、电子设备和介质
CN113377940A (zh) * 2021-06-29 2021-09-10 北京邮电大学 基于阅读理解的多领域对话状态追踪方法和装置
CN114609925A (zh) * 2022-01-14 2022-06-10 中国科学院自动化研究所 水下探索策略模型的训练方法及仿生机器鱼水下探索方法
WO2022160969A1 (zh) * 2021-02-01 2022-08-04 北京邮电大学 基于多轮对话改进的智能客服辅助系统系统和方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022160969A1 (zh) * 2021-02-01 2022-08-04 北京邮电大学 基于多轮对话改进的智能客服辅助系统系统和方法
CN113079262A (zh) * 2021-03-24 2021-07-06 北京百度网讯科技有限公司 智能语音对话的数据处理方法和装置、电子设备和介质
CN113079262B (zh) * 2021-03-24 2022-12-13 北京百度网讯科技有限公司 智能语音对话的数据处理方法和装置、电子设备和介质
CN113377940A (zh) * 2021-06-29 2021-09-10 北京邮电大学 基于阅读理解的多领域对话状态追踪方法和装置
CN114609925A (zh) * 2022-01-14 2022-06-10 中国科学院自动化研究所 水下探索策略模型的训练方法及仿生机器鱼水下探索方法

Similar Documents

Publication Publication Date Title
CN111444340B (zh) 文本分类方法、装置、设备及存储介质
CN111553480B (zh) 图像数据处理方法、装置、计算机可读介质及电子设备
CN111930992B (zh) 神经网络训练方法、装置及电子设备
CN111708871A (zh) 对话状态跟踪方法、装置及对话状态跟踪模型训练方法
CN110659723B (zh) 基于人工智能的数据处理方法、装置、介质及电子设备
CN111046275B (zh) 基于人工智能的用户标签确定方法及装置、存储介质
CN112163165A (zh) 信息推荐方法、装置、设备及计算机可读存储介质
CN111259647A (zh) 基于人工智能的问答文本匹配方法、装置、介质及电子设备
CN110781413B (zh) 兴趣点确定方法及装置、存储介质、电子设备
CN116756574B (zh) 多模态预训练模型的训练方法、使用方法、装置和设备
CN111966800A (zh) 情感对话生成方法、装置及情感对话模型训练方法、装置
CN111930894A (zh) 长文本匹配方法及装置、存储介质、电子设备
CN113761153A (zh) 基于图片的问答处理方法、装置、可读介质及电子设备
CN109710760A (zh) 短文本的聚类方法、装置、介质及电子设备
CN115114974A (zh) 一种模型蒸馏方法、装置、计算机设备和存储介质
CN113870863A (zh) 声纹识别方法及装置、存储介质及电子设备
CN117216223A (zh) 对话文本的生成方法和装置、存储介质及电子设备
CN116610218A (zh) Ai数字人的交互方法、装置及系统
CN116955543A (zh) 连贯性评估模型训练和连贯性评估方法、装置及设备
CN113421551B (zh) 语音识别方法、装置、计算机可读介质及电子设备
CN113535911B (zh) 奖励模型处理方法、电子设备、介质和计算机程序产品
CN113822293A (zh) 用于图数据的模型处理方法、装置、设备及存储介质
CN115186096A (zh) 针对特定类型分词的识别方法、装置、介质及电子设备
CN112328774A (zh) 基于多文档的任务型人机对话任务的实现方法
CN117711001B (zh) 图像处理方法、装置、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination