对话状态跟踪器的训练方法及系统转让专利

申请号 : CN201810538670.7

文献号 : CN108847220B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 俞凯谢凯歌

申请人 : 苏州思必驰信息科技有限公司上海交通大学

摘要 :

本发明实施例提供一种对话状态跟踪器的训练方法。该方法包括:通过已标注对话集(L)预训练对话状态跟踪器,以确定未标注对话集(U)中各未标注对话的预测概率和对话轮数;来确定各未标注对话的时间代价参数和/或稳定性参数和/或多元化参数;根据所述参数,确定对应各未标注对话的优先权;按照优先权从未标注对话集(U)中选取部分的未标注对话进行标注,添加至已标注对话集(L);通过添加后的已标注对话集(L)训练对话状态跟踪器。本发明实施例还提供一种对话状态跟踪器的训练系统。本发明实施例的对话状态跟踪器的训练方法根据考虑不同的未标注对话具有不同的时间代价,增加了待标注对话的选择方式而提升对话状态跟踪器的训练效果。

权利要求 :

1.一种对话状态跟踪器的训练方法,包括:

通过已标注对话集(L)预训练对话状态跟踪器,以确定未标注对话集(U)中各未标注对话的预测概率和所述各未标注对话的对话轮数;

根据所述各未标注对话的对话轮数,确定所述各未标注对话的时间代价参数;和/或根据所述各未标注对话的预测概率和所述各未标注对话的对话轮数,确定所述各未标注对话的熵作为稳定性参数;和/或提取所述已标注对话集(L)中各已标注对话的第一特征向量集合(VL),并对所述第一特征向量集合(VL)均值聚类以确定至少一个聚点,提取所述未标注对话集中各未标注对话的第二特征向量集合(VU),并根据所述第二特征向量集合(VU)中各特征向量与所述至少一个聚点的最大距离,确定所述各未标注对话的多元化参数;

根据所确定的所述多元化参数和/或所述稳定性参数和/或所述时间代价参数,确定对应于所述各未标注对话的优先权;

按照优先权从高到低从所述未标注对话集(U)中选取部分数量的未标注对话进行标注,添加至所述已标注对话集(L);

通过添加后的所述已标注对话集(L)训练对话状态跟踪器。

2.根据权利要求1所述的方法,其中,当仅根据所述时间代价参数确定对应于所述各未标注对话的优先权时,所述时间代价参数为对应的未标注对话的对话轮数。

3.根据权利要求1所述的方法,其中,当根据所述多元化参数和所述稳定性参数中的至少一种参数连同所述时间代价参数确定对应于所述各未标注对话的优先权时,所述各未标注对话的时间代价参数为各自的对话轮数ti与所有未标注对话的对话轮数中的最大值tmax的比值。

4.根据权利要求1所述的方法,其中,所述方法包括:

在每轮训练后,检测所述已标注对话集(L)中的对话数量;

直到检测到所述对话数量超过预设阈值时,停止下一轮训练。

5.根据权利要求1所述的方法,其中,所述根据所述各未标注对话的预测概率和所述各未标注对话的对话轮数,确定所述各未标注对话的熵作为稳定性参数包括:将所述各未标注对话对应的每一对话轮数的预测概率与所述预测概率对数乘积总和的均值的相反数作为所述各未标注对话的熵,将所述各未标注对话的熵作为稳定性参数。

6.一种对话状态跟踪器的训练系统,包括:

预训练程序模块,用于通过已标注对话集(L)预训练对话状态跟踪器,以确定未标注对话集(U)中各未标注对话的预测概率和所述各未标注对话的对话轮数;

时间代价参数确定程序模块,用于根据所述各未标注对话的对话轮数,确定所述各未标注对话的时间代价参数;和/或稳定性参数确定程序模块,用于根据所述各未标注对话的预测概率和所述各未标注对话的对话轮数,确定所述各未标注对话的熵作为稳定性参数;和/或多元化参数确定程序模块,用于提取所述已标注对话集(L)中各已标注对话的第一特征向量集合(VL),并对所述第一特征向量集合(VL)均值聚类以确定至少一个聚点,提取所述未标注对话集中各未标注对话的第二特征向量集合(VU),并根据所述第二特征向量集合(VU)中各特征向量与所述至少一个聚点的最大距离,确定所述各未标注对话的多元化参数;

优先权确定程序模块,用于根据所确定的所述多元化参数和/或所述稳定性参数和/或所述时间代价参数,确定对应于所述各未标注对话的优先权;

对话标注程序模块,用于至少按照优先权从高到低从所述未标注对话集(U)中选取部分数量的未标注对话进行标注,添加至所述已标注对话集(L);

对话状态跟踪器训练程序模块,用于通过添加后的所述已标注对话集(L)训练对话状态跟踪器。

7.根据权利要求6所述的系统,其中,当仅根据所述时间代价参数确定对应于所述各未标注对话的优先权时,所述时间代价参数为对应的未标注对话的对话轮数。

8.根据权利要求6所述的系统,其中,当根据所述多元化参数和所述稳定性参数中的至少一种参数连同所述时间代价参数确定对应于所述各未标注对话的优先权时,所述各未标注对话的时间代价参数为各自的对话轮数ti与所有未标注对话的对话轮数中的最大值tmax的比值。

9.根据权利要求6所述的系统,其中,所述系统还用于:

在每轮训练后,检测所述已标注对话集(L)中的对话数量;

直到检测到所述对话数量超过预设阈值时,停止下一轮训练。

10.根据权利要求6所述的系统,其中,所述稳定性参数确定程序模块用于:将所述各未标注对话对应的每一对话轮数的预测概率与所述预测概率对数乘积总和的均值的相反数作为所述各未标注对话的熵,将所述各未标注对话的熵作为稳定性参数。

说明书 :

对话状态跟踪器的训练方法及系统

技术领域

[0001] 本发明涉及智能语音对话领域,尤其涉及一种对话状态跟踪器的训练方法及系统。

背景技术

[0002] DST(Dialogue state tracking,对话状态跟踪)是语音对话系统的重要组成部分,它根据语音对话的历史记录向系统内部跟踪对话状态。对于跟踪的每一对话回合,对话状态跟踪器会输出对话状态的分布,从而语音对话系统需要根据对话状态,采取适当的对话行为与用户互动。
[0003] 为了提高跟踪器的性能,通常使用数据驱动的方法。虽然数据驱动的方法为跟踪器的性能取得了很好的效果,但是由于数据驱动需要标注大量的标注对话,并且需要进行充分的注释,而标注这些对话的成本很高。对于标注单个对话更是困难的,因为对于每轮对话的转换,需要有相应的专家来标注所有的语义槽,并且为了准确性,这通常需要关注整轮对话的上下文对话来标注单个对话,使得成本偏高。
[0004] 为了解决这种问题,通常使用主动学习的方法进行对话标注,来省去专家用于标注对话的时间,降低标注的成本。AL(Active Learning,主动学习)可用于选择有价值的样本进行标注。使用AL方法,与传统的方法相比,在训练模型时需要更少的标注样本,以达到相同甚至更好的性能。
[0005] 在实现本发明过程中,发明人发现相关技术中至少存在如下问题:
[0006] 现有方法没有考虑到对于标注对话而产生的代价问题,对于标注不同的对话,会具有不同的代价,另外标注对话的方式过于单一,导致最终通过主动学习标注对话来训练的对话状态跟踪器的效果不佳。

发明内容

[0007] 为了至少解决现有技术中的主动学习在标注对话时没有考虑到对于标注对话而产生的代价问题,同时标注对话的选择方式过于单一,导致最终通过主动学习标注对话来训练的对话状态跟踪器的效果不佳的问题。申请人意外的发现,通过引入代价敏感进行主动学习,并在标注对话的选择方式中引入更全面的方法,来解决上述问题。
[0008] 第一方面,本发明实施例提供一种对话状态跟踪器的训练方法,包括:
[0009] 1、一种对话状态跟踪器的训练方法,包括:
[0010] 通过已标注对话集(L)预训练对话状态跟踪器,以确定未标注对话集(U)中各未标注对话的预测概率和对话轮数;
[0011] 根据各未标注对话的对话轮数,确定各未标注对话的时间代价参数;和/或[0012] 根据各未标注对话的预测概率和对话轮数,确定各未标注对话的熵作为稳定性参数;和/或
[0013] 提取所述已标注对话集(L)中各已标注对话的第一特征向量集合(VL),并对所述第一特征向量集合(VL)均值聚类以确定至少一个聚点,提取所述未标注对话集中各未标注对话的第二特征向量集合(VU),并根据所述第二特征向量集合(VU)中各特征向量与所述至少一个聚点的最大距离,确定各未标注对话的多元化参数;
[0014] 根据所确定的所述多元化参数和/或所述稳定性参数和/或所述时间代价参数,确定对应于各未标注对话的优先权;
[0015] 按照优先权从高到低从所述未标注对话集(U)中选取部分数量的未标注对话进行标注,添加至所述已标注对话集(L);
[0016] 通过添加后的所述已标注对话集(L)训练对话状态跟踪器。
[0017] 第二方面,本发明实施例提供一种对话状态跟踪器的训练系统,包括:
[0018] 预训练程序模块,用于通过已标注对话集(L)预训练对话状态跟踪器,以确定未标注对话集(U)中各未标注对话的预测概率和对话轮数;
[0019] 时间代价参数确定程序模块,用于根据各未标注对话的对话轮数,确定各未标注对话的时间代价参数;和/或
[0020] 稳定性参数确定程序模块,用于根据各未标注对话的预测概率和对话轮数,确定各未标注对话的熵作为稳定性参数;和/或
[0021] 多元化参数确定程序模块,用于提取所述已标注对话集(L)中各已标注对话的第一特征向量集合(VL),并对所述第一特征向量集合(VL)均值聚类以确定至少一个聚点,提取所述未标注对话集中各未标注对话的第二特征向量集合(VU),并根据所述第二特征向量集合(VU)中各特征向量与所述至少一个聚点的最大距离,确定各未标注对话的多元化参数;
[0022] 优先权确定程序模块,用于根据所确定的所述多元化参数和/或所述稳定性参数和/或所述时间代价参数,确定对应于各未标注对话的优先权;
[0023] 对话标注程序模块,用于至少按照优先权从高到低从所述未标注对话集(U)中选取部分数量的未标注对话进行标注,添加至所述已标注对话集(L);
[0024] 对话状态跟踪器训练程序模块,用于通过添加后的所述已标注对话集(L)训练对话状态跟踪器。
[0025] 第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的对话状态跟踪器的训练方法的步骤。
[0026] 第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的对话状态跟踪器的训练方法的步骤。
[0027] 本发明实施例的有益效果在于:通过确定各未标注对话的时间代价参数、稳定性参数以及多元化参数,考虑到不同的未标注对话具有不同的时间代价,同时通过确定稳定性参数以及多元化参数增加待标注对话的标注方式,从而提升对话状态跟踪器的训练效果。

附图说明

[0028] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029] 图1是本发明一实施例提供的一种对话状态跟踪器的训练方法的流程图;
[0030] 图2是本发明一实施例提供的一种对话状态跟踪器的训练方法的模型结构图;
[0031] 图3是本发明再一实施例提供的一种对话状态跟踪器的训练方法的单个语义槽准确性的数据图;
[0032] 图4是本发明再一实施例提供的一种对话状态跟踪器的训练方法的多个语义槽准确性的数据图;
[0033] 图5是本发明一实施例提供的一种对话状态跟踪器的训练系统的结构示意图。

具体实施方式

[0034] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035] 如图1所示为本发明一实施例提供的一种对话状态跟踪器的训练方法的流程图,包括如下步骤:
[0036] S11:通过已标注对话集(L)预训练对话状态跟踪器,以确定未标注对话集(U)中各未标注对话的预测概率和对话轮数;
[0037] S12:根据各未标注对话的对话轮数,确定各未标注对话的时间代价参数;和/或[0038] S13:根据各未标注对话的预测概率和对话轮数,确定各未标注对话的熵作为稳定性参数;和/或
[0039] S14:提取所述已标注对话集(L)中各已标注对话的第一特征向量集合(VL),并对所述第一特征向量集合(VL)均值聚类以确定至少一个聚点,提取所述未标注对话集中各未标注对话的第二特征向量集合(VU),并根据所述第二特征向量集合(VU)中各特征向量与所述至少一个聚点的最大距离,确定各未标注对话的多元化参数;
[0040] S15:根据所确定的所述多元化参数和/或所述稳定性参数和/或所述时间代价参数,确定对应于各未标注对话的优先权;
[0041] S16按照优先权从高到低从所述未标注对话集(U)中选取部分数量的未标注对话进行标注,添加至所述已标注对话集(L);
[0042] S17:通过添加后的所述已标注对话集(L)训练对话状态跟踪器。
[0043] 在本实施方式中,主动学习工作流程与对话状态跟踪器的类型无关。对于对话中的每一对话回合,对话状态跟踪器在这个对话中接收所有串联的历史单词,并且连同这些历史单词的ASR(Automatic Speech Recognition,自动语音识别)置信度分数,输出一个预测。其模型结构如图2所示,其中,符号W⊕U表示向量W(单词)和U(置信度)的拼接,其中,FC(fully connected layers,全连接层)输出由LSTM(Long Short-Term Memory,长短期记忆网络)编码器进行Enc编码,将编码的最后一个作为输出,发送至softmax层。以便在t时刻、语义槽s的所有N个预测值上进行预测
[0044] 对于步骤S11,通过已标注对话集L预训练对话状态跟踪器,以确定未标注对话集U,例如,已标注对话集L{对话1、对话2、…、对话n},
[0045] 通过使用已标注对话集L训练对话状态跟踪器,从而确定了未标注对话集U{对话1、对话2、…、对话m},其中,已标注对话集L中n的数量是可知的。虽然未标注对话集U中各对话是未标注的,但是因为对话的内容是已知的,所以有多少未标注对话是已知的,对话交互了多少轮次也是已知的,未标注对话集U中的每个对话轮次的数量m也就已知。
[0046] 从而,根据对话状态跟踪器,也就知道了每个对话对应的每个轮次的概率预测。相应的,未标注对话集U中各未标注对话的预测概率为
[0047] 假设未标注对话集U中的“对话1”具有3轮对话,也就是对话轮次为3,语义槽共有4个,例如分别为(food,price range,name,area),也就是说s一共有4个可能的取值,假定s=1对应food,s=2对应price range,s=3对应name,s=4对应area。所以s的取值范围为1,2 ,3 ,4。那 么 未标 注“对话 1”相对 应的 预 测 概 率为 其 中 包 括[0048] 假设 对于area这个语义槽(s=4对应area),有7个取值,分别是:north,south,east,west,center,none,dontcare。因此 所对应一个长度为7的向量,向量中的每个值,代表了对应的取值的可能性,并且 ,这7个值的和为1。例如
所代表的意思是:针对于对话的第一个轮次,
语义槽4的时候(也就是area)。预测得到的概率为 具体的说area=north的可能性是
0.1,area=south的可能性是0.15,area=east的可能性是0.15,area=west的可能性是
0.05,area=center的可能性是0.05,area=none的可能性是0.1,area=dontcare的可能性是0.4。
[0049] 对于步骤S12,根据各未标注对话的对话轮数,确定各未标注对话的时间代价参数,所述时间代价参数的意义为,假设每一整个“对话m”所具有的信息量是大致相同的,那么在这种情况下,对话交互的轮数越少,也就使得专家用在标注上时间的也会越少。例如,上文中未标注“对话1”所对应的对话轮数为3,所以,通过未标注对话轮数3,确定所述未标注“对话1”的时间代价参数。
[0050] 对于步骤S13,根据各未标注对话的预测概率和对话轮数,确定各未标注对话的熵作为稳定性参数,其稳定性参数的意义为,希望挑选对话状态跟踪器难以分辨的词组语句(例如各未标注对话的预测概率相近),在此使用了熵作为指标,由于所述预测概率越平稳,也就越不确定,难以分辨。继续以未标注“对话1”为例,通过已经确定的未标注“对话1”的预测概率 以及对话轮数,来确定信息熵指标,从而将所述熵作为稳定性参数。
[0051] 对于步骤S14,其多元化参数的意义为,希望挑选出具有多样性的对话,根据各未标注对话的多样性,在所述未标注对话中挑选与已标注对话集中不相似的对话。而通过与已标注对话集中各对话不相似的对话来训练对话状态跟踪器,可以以更少的对话训练更好的效果。
[0052] 可以通过使用unsupervised dialogue embedding(无监督对话嵌入)的方法,来提取已标注对话集L和未标注对话集U中每个对话的特征向量。即提取所述已标注对话集(L)中各已标注对话的第一特征向量集合(VL), 提取所述未标注对话集(U)中各未标注对话的第二特征向量集合(VU), 在得到特征向量
之后,首先对第一特征向量集合(VL)中的向量进行球面k-means聚类,获得
其聚点的数量为Nc,在得到Nc个聚点之后,通过计算第二特征向
量集合(VU)中每个向量到每个聚点的cosine距离。具体来说,针对于第二特征向量集合(VU)中的某个向量,可以得到Nc个距离值,在这Nc个距离中,挑选最大的距离值,将所述最大的距离值作为所述某个向量到已标注对话集(L)的真正距离(其中cosine的距离越大,也就意味着越相似)。
[0053] 例如两个向量:x=[1,2],y=[2,4],利用公式 确定x与y的cosine距离。得到cosine距离为1,当cosine距离为1时,意味着两个向量是同向的,同向的也就是最相似的。反之,如果x=[1,2],y=[-2,-4],那么x与y的cosine距离为-1,当cosine距离为-1时,意味着两个向量是反向的,反向的也就是最不相似的。
[0054] 至此,确定了第二特征向量集合(VU)中每个向量到已标注对话集(L)的距离,这个距离越大,也就说明这个向量与已标注对话集越相似。从而通过距离的相反数来确定最不相似多元化参数D(x)。
[0055] 根据公式
[0056] 对于步骤S15,根据步骤S12确定的时间代价参数和/或步骤S13确定的稳定性参数和/或步骤S14确定的多元化参数确定各未标注对话的优先权。例如可以使用加权运算来确定优先权。
[0057] 在实际使用中,通常需要在不同的学习阶段进行不同的标注策略,基于所述不同的标注策略,需要考虑三种不同的参数,以便更全面地标注未标注对话。
[0058] 具体的来说,所需要标注的是时间代价低,稳定性高以及更多元化的未标注对话,基于此,根据时间代价参数的相反数、稳定性参数以及多元化参数进行加权运算确定优先权M(x)。
[0059] 其中时间代价参数越大所消耗的时间越多,所以通过时间代价参数的相反数来确定时间代价小、稳定、多元化的未标注对话。
[0060] 根据公式M(x)=-αC(x)+βUs(x)+γD(x),其C(x)中代表时间代价参数,Us(x)代表稳定性参数,D(x)代表多元化参数,α,β和γ是可以调整的正加权参数,以便在这三个参数之间找到较优的折衷。
[0061] 对于步骤S16,按照在步骤S15确定的各未标注对话的优先权,根据优先权从高到低的从所述未标注对话集(U)中选取部分数量的未标注对话进行标注,并添加至所述已标注对话集(L)中。
[0062] 对于步骤S17,通过添加后的已标注对话集(L)训练对话状态跟踪器。
[0063] 通过该实施方法可以看出,通过确定各未标注对话的时间代价参数、稳定性参数以及多元化参数,考虑到不同的未标注对话具有不同的时间代价,同时通过确定稳定性参数以及多元化参数增加待标注对话的选择方式,从而提升对话状态跟踪器的训练效果。
[0064] 作为一种实施方式,在本实施例中,当仅根据所述时间代价参数确定对应于各未标注对话的优先权时,所述时间代价参数为对应的未标注对话的对话轮数。
[0065] 在本实施方式中,如果仅根据所述时间代价参数确定各未标注对话的优先权时,例如,未标注“对话1”的对话轮数为3,此时将所述对话轮数确定为未标注对话1的时间代价参数,未标注“对话2”的对话轮数为5,将所述对话轮数确定为未标注“对话2”的时间代价参数。从而根据时间代价参数确定未标注“对话1”、“对话2”的优先权。
[0066] 作为另一种实施方式,在本实施例中,当根据所述多元化参数和所述稳定性参数中的至少一种参数连同所述时间代价参数确定对应于各未标注对话的优先权时,所述各未标注对话的时间代价参数为各自的对话轮数ti与所有未标注对话的对话轮数中的最大值tmax的比值。
[0067] 在本实施方式中,为了进行加权,C(x),Us(x)和D(x)应该具有相同的尺度,所以需要进行尺度转换。其中,Us(x)的范围是(0,1),不需要转换。C(x)的取值范围是1到对话轮数的最大值,因此,使用Cm(x)=C(x)/Cmax代替M(x)=-αC(x)+βUs(x)+γD(x)中的C(x),其中Cmax为各未标注对话中最大的对话轮数,也就是上文所述的tmax。
[0068] D(x)的取值范围是(-1,1),所以仅用Dm(x)=(D(x)+1)/2代替M(x)=-αC(x)+βUs(x)+γD(x)中的中的D(x)。
[0069] 最后得到M(x)=-αCm(x)+βUs(x)+γDm(x)。
[0070] 例如未标注“对话1”的对话轮数为3,未标注“对话2”的对话轮数为5,未标注“对话3”的对话轮数为10,此时,在所有未标注对话中,对话轮数最大值tmax为10,通过公式Cm(x)=C(x)/Cmax进行替换。则未标注“对话1”的Cm(1)为0.3,未标注“对话2”的Cm(2)为0.5,未标注“对话3”的Cm(3)为1。
[0071] 通过以上两个实施方法可以看出,本实方式根据所选择的参数类型来确定优先权的方式。从而保证了在确定优先权时,各项参数的尺度对等,从而保证了确定各未标注对话优先权的准确性。
[0072] 作为一种实施方式,在本实施例中,在每轮训练后,检测已标注对话集L中的对话数量;
[0073] 直到检测到对话数量超过预设阈值时,停止下一轮训练。
[0074] 在本实施方式中,在每轮训练后,检测已标注对话集L的对话数量,由于标注了未标注对话集U中的部分对话,使得已标注对话集L中的对话数量增加。例如,经过每轮训练后会从未标注对话集标注2个对话,添加至已标注对话集L中。例如,已标注对话集L中的对话数量为15,每轮添加2个标注对话,设定对话数量的阈值为20时,当第一轮训练后,已标注对话集L中有17个对话,继续标注2个未标注对话进行添加,进行训练,在第二轮训练后,已标注对话集L中有19个对话,继续标注2个未标注对话进行添加,进行训练,在第三轮训练后,已标注对话集L中有21个对话,超过预设阈值,结束训练。
[0075] 通过该实施方式可以看出,在每轮训练后来检测已标注对话集L中的对话数量,从而限制了训练对话状态跟踪器对话的数量,大幅度减少对应标注的工作量。提高了训练效率,并且限制了对话状态跟踪器的大小。
[0076] 作为一种实施方式,在本实施例中,所述根据各未标注对话的预测概率和对话轮数,确定各未标注对话的熵作为稳定性参数包括:
[0077] 将各未标注对话对应的每一对话轮数的预测概率与所述预测概率对数乘积总和的均值的相反数作为各未标注对话的熵,将所述各未标注对话的熵作为稳定性参数。
[0078] 在本实施方式中,以未标注“对话1”为例,未标注“对话1”所对应的预测概率为[0079] 根据公式 来计算。
[0080] 其中,Us(x)代表稳定性参数,C(x)代表对话轮数(时间代价参数,非Cm(x)),其中Ns代表各 的向量,例如上文中所述的 是一个长度为7的向量,所以 的Ns为7。确定各预测概率集合中的预测值与所述预测值对数乘积的总和。
[0081] 例如,通过上述公式Us(x)中的部分公式 计算
[0082]
[0083] 再根据公式将其他 进行计算,从而将计算后求和,将求和后的总值与所述未
标注对话的对话轮数进行相除。从而根据公式Us(x)将确定的每一对话轮数的平均值的相反数作为熵,根据所述熵,确定稳定性参数Us(x)。
[0084] 通过该实施方式可以看出,通过给出一种具体的稳定性参数的计算方法,通过使用信息熵作为指标,准确的挑选出最稳定从而难以分辨的未标注对话进行标注,提高了通过稳定性参数标注未标注对话训练对话状态跟踪器的训练效果。
[0085] 下面说明所述方案的整体效果,
[0086] 实验分别评估了使用单个语义槽的和多个语义槽联系上下文来查询选择标注策略的性能。使用的数据集是DSTC2(Dialogue State Tracking Challenge,对话状态跟踪挑战)数据集。通过使用上述实施例中的对话状态跟踪器。所述对话状态跟踪器使用SGD(Stochastic Gradient Descent,随机梯度下降)进行训练,并与渐变剪裁启发式合作以避免梯度爆炸等其他问题。
[0087] 通过使用五个不同的标注策略在单个语义槽的时候进行比较。除了上述实施例中介绍的时间代价参数C(x)对应的时间代价CS策略,稳定性参数Us(x)对应的稳定性US策略,多元化参数D(x)对应的多元化DS策略,混合参数M(x)对应的混合CUD策略之外,使用现有随机选择策略对应的基准RS策略。RS意味着随机选择对话进行标注注释。根据以上五种策略,每次标注两个对话样本,图3中显示了使用不同策略的训练精度曲线。使用标注对话的轮数作为x轴,这可以视为标注的成本代价。结果表明,基于单一测量准则的三种标注策略(CS/US/DS)比基准策略RS具有更好的性能。DS开始时表现不佳的原因在于极为稀缺的数据不足以培养有效的多元化模型。使用的混合策略CUDS在所有标注策略中实现了最佳性能,证明了混合策略CUDS的有效性。考虑到标注成本,虽然DSTC2训练集合共11677个回合(共1612个对话),但CUDS只需要约3000转(约520个对话)进行训练以达到收敛。此外,RS在收敛时消耗5000圈(约700次对话),而CUDS只需要消耗2000圈(约360次对话)即可达到与RS的收敛水平相当的性能,成本降低60%。
[0088] 图4中显示了五种不同查询测量的多个语义槽联系上下文使用不同标注策略训练的准确性曲线。在不同的阶段,最佳性能的策略是不同的。一开始DS在初期分散,US上涨的较快。其原因包括:为了最终达到收敛,跟对话状态跟踪器需要看到多元化的样本,这使得它可以考虑多个语义槽,然而,熵值大的样本可以为对话状态跟踪器提供关于最有争议的对话具体的信息,这有助于它从头开始快速学习,混合策略CUDS结合了这两者的优势,同时最大限度地降低了成本,从而获得了性能提升。由于模型的限制,最终的收敛水平不是很高,但是并没有削弱标注策略的有效性。
[0089] 如图5所示为本发明一实施例提供的一种对话状态跟踪器的训练系统的结构示意图,本实施例的技术方案可适用于对设备的对话状态跟踪器的训练方法,该系统可执行上述任意实施例所述的对话状态跟踪器的训练方法,并配置在终端中。
[0090] 本实施例提供的一种对话状态跟踪器的训练系统包括:预训练程序模块11,时间代价参数确定程序模块12,稳定性参数确定程序模块13,多元化参数确定程序模块14,优先权确定程序模块15,对话标注程序模块16和对话状态跟踪器训练程序模块17。
[0091] 其中,预训练程序模块11用于通过已标注对话集(L)预训练对话状态跟踪器,以确定未标注对话集(U)中各未标注对话的预测概率和对话轮数;时间代价参数确定程序模块12用于根据各未标注对话的对话轮数,确定各未标注对话的时间代价参数;和/或稳定性参数确定程序模块13用于根据各未标注对话的预测概率和对话轮数,确定各未标注对话的熵作为稳定性参数;和/或多元化参数确定程序模块14用于提取所述已标注对话集(L)中各已标注对话的第一特征向量集合(VL),并对所述第一特征向量集合(VL)均值聚类以确定至少一个聚点,提取所述未标注对话集中各未标注对话的第二特征向量集合(VU),并根据所述第二特征向量集合(VU)中各特征向量与所述至少一个聚点的最大距离,确定各未标注对话的多元化参数;优先权确定程序模块15用于根据所确定的所述多元化参数和/或所述稳定性参数和/或所述时间代价参数,确定对应于各未标注对话的优先权;对话标注程序模块16用于至少按照优先权从高到低从所述未标注对话集(U)中选取部分数量的未标注对话进行标注,添加至所述已标注对话集(L);对话状态跟踪器训练程序模块17用于通过添加后的所述已标注对话集(L)训练对话状态跟踪器。
[0092] 进一步地,当仅根据所述时间代价参数确定对应于各未标注对话的优先权时,所述时间代价参数为对应的未标注对话的对话轮数。
[0093] 进一步地,当根据所述多元化参数和所述稳定性参数中的至少一种参数连同所述时间代价参数确定对应于各未标注对话的优先权时,所述各未标注对话的时间代价参数为各自的对话轮数ti与所有未标注对话的对话轮数中的最大值tmax的比值。
[0094] 进一步地,所述系统还用于:
[0095] 在每轮训练后,检测已标注对话集L中的对话数量;
[0096] 直到检测到对话数量超过预设阈值时,停止下一轮训练。
[0097] 进一步地,所述稳定性参数确定程序模块用于:
[0098] 将各未标注对话对应的每一对话轮数的预测概率与所述预测概率对数乘积总和的均值的相反数作为各未标注对话的熵,将所述各未标注对话的熵作为稳定性参数。
[0099] 本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的对话状态跟踪器的训练方法;
[0100] 作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
[0101] 通过已标注对话集(L)预训练对话状态跟踪器,以确定未标注对话集(U)中各未标注对话的预测概率和对话轮数;
[0102] 根据各未标注对话的对话轮数,确定各未标注对话的时间代价参数;和/或[0103] 根据各未标注对话的预测概率和对话轮数,确定各未标注对话的熵作为稳定性参数;和/或
[0104] 提取所述已标注对话集(L)中各已标注对话的第一特征向量集合(VL),并对所述第一特征向量集合(VL)均值聚类以确定至少一个聚点,提取所述未标注对话集中各未标注对话的第二特征向量集合(VU),并根据所述第二特征向量集合(VU)中各特征向量与所述至少一个聚点的最大距离,确定各未标注对话的多元化参数;
[0105] 根据所确定的所述多元化参数和/或所述稳定性参数和/或所述时间代价参数,确定对应于各未标注对话的优先权;
[0106] 按照优先权从高到低从所述未标注对话集(U)中选取部分数量的未标注对话进行标注,添加至所述已标注对话集(L);
[0107] 通过添加后的所述已标注对话集(L)训练对话状态跟踪器。
[0108] 作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的测试软件的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的对话状态跟踪器的训练方法。
[0109] 非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据测试软件的装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至测试软件的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0110] 本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的对话状态跟踪器的训练方法的步骤。
[0111] 本申请实施例的客户端以多种形式存在,包括但不限于:
[0112] (1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
[0113] (2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
[0114] (3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
[0115] (4)其他具有语音功能的电子装置。
[0116] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0117] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0118] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0119] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。