System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及自然语言处理,具体涉及一种基于amr图信息增强的对话状态跟踪方法及系统。
技术介绍
1、ai聊天机器人是使用人工智能(ai)和自然语言处理(nlp)来模拟人类与客户对话的软件应用程序。他们可以回答常见问题、提供信息并执行简单的任务,例如预约、处理付款或更新帐户详细信息。人工智能聊天机器人可以与各种平台集成,例如网站、移动应用程序、社交媒体或消息应用程序,以提供非常多的客户服务,而无需人工代理。
2、ai聊天机器人的核心技术可以分为开放域对话系统和面向任务的对话系统两个大类。但由于人类对话本质上是复杂和模糊的,因此创建一个能够执行任意任务的开放领域对话系统是一个尚未解决的问题。现在实践的重点是建立仅限于特定领域(如航班预订)的任务导向对话(tod)系统。例如考虑一个酒店预订对话系统。用户可能提出类似于:“我要预订明天晚上在市中心的酒店,单间,入住两晚”的请求。任务型对话系统需要理解用户的要求,可能涉及到实体识别(日期、地点、房型等),并与酒店预订系统进行交互来完成预订。
3、对话状态追踪(dialogue state track,dst),是自然语言处理中任务型对话任务流程中的一个重要组成部分,其基本目标是根据对话上下文得到当前对话状态。对话状态是从对话开始到当前对话的用户目标的总结,通常表现为多组槽-值对的组合的形式,有时也会包括对话所属的领域、用户意图等信息。对话状态跟踪是指结合对话历史、当前对话、前一轮对话状态等信息,推断并更新当前对话状态的过程。面向任务的对话系统的目标是针对用户在指定
4、近年来,深度学习方法在自然语言处理的多个领域获得了广泛的应用。深度学习用于对话状态追踪,无需人工进行繁重的规则设计工作,可以自动从对话上下文中提取出语义特征信息。现有的一些方法考虑槽之间是有关联的,他们认为槽并不是条件独立的,例如酒店星级和价格区间。对槽关系进行建模可以分为显式和隐式。一种是使用自注意力显式地考虑这些关系。类似地,manotumruksa采用了一种混合架构,在用图注意力网络(gat)建模槽和值之间关系的同时,实现了基于gpt-2模型的序列值预测。另一类工作使用从领域本体中获得的知识,例如利用其层次结构隐式地建模槽之间的关系。这些关系也可以用一个以槽和域为节点的图来表示。wang首先基于本体构建模式图,然后使用gat将对话历史和模式图中的信息进行融合。chen通过基于对话上下文动态更新模式图中的槽关系来扩展该方法。guo将对话轮次和槽值对同时作为节点,仅考虑相关轮次并解决共指关系。另一些方法考虑将模型适应到新的领域中。dingliwal采用元学习,利用元学习模型参数并对目标域进行初始化微调。围绕基于模式的数据集[19]的工作使用槽描述来处理未见域和槽。这些方法的一个缺点是依赖于未见域和初始微调域之间的相似性。另一组方法试图从资源更丰富的其他任务中挖掘外部知识。使用框架网络语义分析作为弱监督来识别潜在的槽。li在将模型应用于dst之前,提出了不同的方法对阅读理解数据进行预训练。类似地,shin将dst重新定义为基于模板并利用外部标注数据的对话摘要任务。值得注意的是,上述plm自适应方法允许在可用数据较少的情况下进行更有效的学习,也是解决数据稀缺问题的潜在方法。沿着这一思路,mi提出了一种与tod-bert互补的小样本dst自学习方法。
5、但是,上述方案都只建模了插槽与对话上下文之间的关系和槽之间的相关性,对对话文本的表征信息不够明确,导致对话信息能力表达不足、在训练阶段使用全部的对话历史,引入过多与槽无关的对话,导致对话信息冗余、在训练期间使用真实对话状态训练而在预测阶段使用可能有错误的上一轮的对话状态进行预测导致的对话信息不一致性问题。
技术实现思路
1、本专利技术的目的在于提供一种基于amr图信息增强的对话状态跟踪方法及系统,该方法及系统提高了对话状态追踪的准确性,适应性强,提升了用户体验。
2、为了实现上述目的,本专利技术采用的技术方案是:一种基于amr图信息增强的对话状态跟踪方法及系统,包括以下步骤:
3、步骤a:采集对话数据,建立包含对话、对话状态的对话训练集ds;
4、步骤b:构建基于amr图信息增强的深度学习网络模型m,所述深度学习网络模型m通过amr解析器从每一轮对话中提取其amr对话结构,利用图神经网络获取基于amr的对话表征,使用多头注意力机制与原始对话信息交互来融合图和文本信息,从而通过深度学习网络模型m来追踪对话状态;使用对话训练集ds训练基于amr图信息增强的深度学习网络模型m;
5、步骤c:将对话输入到训练好的深度学习网络模型m中,输出对应的对话状态。
6、进一步地,所述步骤a的具体实现方法为:
7、步骤a1:采集对话数据,包括以下内容:
8、用户输入:用户在对话中提出的问题,为文本形式的输入;
9、系统响应:对话系统对用户输入的回应,为文本回复;
10、对话历史:记录对话中的每一轮交互,包括用户输入、系统响应以及涉及到的上下文信息;
11、槽候选值:槽可能出现的值;槽为对话中关键实体的类别;
12、对话状态:对话中的状态信息,包括当前对话的状态、用户的上下文信息;
13、步骤a2:利用采集的一轮对话数据构成一轮对话样本,进而形成对话训练集ds;一轮对话样本包括当前轮对话、对话状态、需要追踪的槽及其候选值。
14、进一步地,所述步骤b具体包括以下步骤:
15、步骤b1:对对话训练集ds中的每一轮对话样本进行初始编码,从而得到每一轮对话、对话状态以及需要追踪的槽以及对应的候选值的初始特征ht、hbt-1、表示槽sj的初始特征,表示槽sj的第n个候选值的初始特征,v为槽候选值;利用amr解析器对对话进行解析,得到每轮对话的amr解析树,对amr解析树进行线性化,得到对话amr实体节点集合n={n1,n2,n3…nk},k∈k和对应的关系集合r={r11,r12,r13…rxy},x∈k,y∈k,其中k为对话amr实体节点个数;rxy为节点x和y的关系;实体节点表示概念或实体,而节点关系表示这些概念或实体之间的语义关系;
16、步骤b2:将步骤b1中得到的对话amr实体节点集合n按照节点的关系集合r连接构成对话结点结构子图g=(n,r),利用n和r构建图g的邻接矩阵a;邻接矩阵a是一个|n|×|n|的矩阵,邻接矩阵a中元素aij表示节点i和节点j之间是否有边,如果两节点间有边,则可在关系r中找到;利用预训练模型对对话的amr实体节点进行编码,得到每个amr实体节点的初始向量表本文档来自技高网...
【技术保护点】
1.一种基于AMR图信息增强的对话状态跟踪方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于AMR图信息增强的对话状态跟踪方法,其特征在于,所述步骤A的具体实现方法为:
3.根据权利要求1所述的基于AMR图信息增强的对话状态跟踪方法,其特征在于,所述步骤B具体包括以下步骤:
4.根据权利要求3所述的基于AMR图信息增强的对话状态跟踪方法,其特征在于,所述步骤B1具体包括以下步骤:
5.根据权利要求4所述的基于AMR图信息增强的对话状态跟踪方法,其特征在于,所述步骤B2中,利用步骤B13得到的实体集合N和关系集合R创建一个的邻接矩阵A,其中所有元素初始值为零,如果实体间存在边(i,j),将邻接矩阵的相应元素Aij设为1;实体集合N输入到预训练模型BERT中编码得到实体的初始向量表示C=BERT(N);将构建好的邻接矩阵和实体的初始向量表示C输入到K层关系图卷积网络中来获取每个实体节点的聚合表示,对于每个节点i,其新的表示其中,Neighbors(i)表示节点i的邻居节点集合;xj为实体的初始向量;deg(i)表示节点i的度
6.根据权利要求5所述的基于AMR图信息增强的对话状态跟踪方法,其特征在于,所述步骤B3具体包括以下步骤:
7.根据权利要求6所述的基于AMR图信息增强的对话状态跟踪方法,其特征在于,所述步骤B4的具体实现方法为:
8.根据权利要求7所述的基于AMR图信息增强的对话状态跟踪方法,其特征在于,所述步骤B5具体包括以下步骤:
9.一种基于AMR图信息增强的对话状态跟踪系统,其特征在于,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现如权利要求1-8任一项所述的方法步骤。
...【技术特征摘要】
1.一种基于amr图信息增强的对话状态跟踪方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于amr图信息增强的对话状态跟踪方法,其特征在于,所述步骤a的具体实现方法为:
3.根据权利要求1所述的基于amr图信息增强的对话状态跟踪方法,其特征在于,所述步骤b具体包括以下步骤:
4.根据权利要求3所述的基于amr图信息增强的对话状态跟踪方法,其特征在于,所述步骤b1具体包括以下步骤:
5.根据权利要求4所述的基于amr图信息增强的对话状态跟踪方法,其特征在于,所述步骤b2中,利用步骤b13得到的实体集合n和关系集合r创建一个的邻接矩阵a,其中所有元素初始值为零,如果实体间存在边(i,j),将邻接矩阵的相应元素aij设为1;实体集合n输入到预训练模型bert中编码得到实体的初始向量表示c=bert(n);将构建好的邻接矩阵和实体的初始向量表示c输入到k层关系图卷积网络中来获取每个实体节点的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。