一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于对话系统的指代消解方法、装置及存储介质与流程

2022-07-31 03:11:19 来源:中国专利 TAG:


1.本发明主要涉及自然语言处理领域,具体地涉及一种用于对话系统的指代消解方法、装置及存储介质。


背景技术:

2.指代消解旨在识别句子中同一实体的多种不同表述方式。在智能座舱的对话系统中,用户时常会习惯性的使用代词来指代在前文中提到过的人、物、概念等实体以避免重复的字、词出现在对话中。例如用户在智能座舱中向语音助手询问:“昨天晚上有国足的比赛,他们进了几个球?他们进了几个乌龙球”,该句子中“他们”即是“国足”的代替表达方式。通常我们称句子中的“国足”为先行语(antecedent),“他们”为照应语(anaphor)。这种人类的直觉性的表达方式在由计算机解析时常会由于结构不够清晰而产生指代消解问题,造成句子的错误理解,从而导致糟糕的用户体验甚至在驾驶过程中产生危险。
3.在一些方案中,将指代消解问题转化为照应语-先行语联合最优解的问题,将照应语-先行语输入联合模型中,求模型的最优解以获得照应语对应的先行语。但是该方案照应语与先行语是一一对应的,无法识别句子中同一个先行语所对应的多个照应语。


技术实现要素:

4.本发明所要解决的技术问题是提供一种用于对话系统的指代消解方法、装置及存储介质,可以识别句子中同一个先行语所对应的多个照应语。
5.本发明提供一种用于对话系统的指代消解方法,包括:将对话系统接收到的句子进行编码,得到所述句子的句矩阵;将所述句矩阵输入第一分类器组,获得所述句子的先行语的头索引和尾索引;根据所述先行语的头索引和尾索引获得先行语向量;将所述先行语向量与所述句矩阵作点积得到相关向量;将所述相关向量输入第二分类器组,获得所述句子的一个或多个照应语的头索引和尾索引;根据所述先行语的头索引和尾索引从所述句子中取出先行语,根据所述一个或多个照应语的头索引和尾索引从所述句子中取出一个或多个照应语,得到指代消解结果。
6.在本发明的一实施例中,所述第一分类器组和所述第二分类器组中的分类器为二元分类器。
7.在本发明的一实施例中,所述第一分类器组内的分类器可表示为:
[0008][0009][0010]
其中是句矩阵中第i个位置是先行语的索引的概率,hi是句矩阵中的第i个位置的向量,w
ant
是第一权重矩阵,b
ant
是第一偏置,σ是激活函数,softmax是归一化指数函数,softmax函数将的最大值设为1,其余值为0,是指示第i个位置是否为先行语的索引的结果。
[0011]
在本发明的一实施例中,所述第一分类器组包括第一分类器,用于识别所述句子中的先行语的头索引;第二分类器,用于识别所述句子中的先行语的尾索引。
[0012]
在本发明的一实施例中,根据所述先行语的头索引和尾索引获得先行语向量的步骤包括:取出所述句矩阵中所述先行语的头索引和尾索引之间的所有向量;将取出的所述所有向量求和得到先行语向量。
[0013]
在本发明的一实施例中,所述第二分类器组内的分类器可表示为:采用如下公式计算句矩阵中第i个位置是照应语的索引的概率,
[0014][0015]
其中是句矩阵中第i个位置是照应语的索引的概率,h
′i是相关向量的第i个位置的向量,w
ana
是第二权重矩阵,b
ana
是第二偏置,σ是激活函数;
[0016]
设定第一阈值,将所述照应语的索引的概率大于第一阈值的分类结果设为1,否则,设为0。
[0017]
在本发明的一实施例中,所述第二分类器组包括:第三分类器,用于识别所述句子中的照应语的头索引;第四分类器,用于识别所述句子中的照应语的尾索引。
[0018]
在本发明的一实施例中,在根据所述一个或多个照应语的头索引和尾索引从所述句子中取出一个或多个照应语之前,还包括步骤:将所述一个或多个照应语的头索引和尾索引进行一一配对,未出现头索引的尾索引或未出现尾索引的头索引不进行配对,最终得到一个或多个照应语的索引对。
[0019]
在本发明的一实施例中,通过预训练编码器对所述句子进行编码。
[0020]
在本发明的一实施例中,所述预训练编码器为具有构建上下文依赖能力的编码器。
[0021]
在本发明的一实施例中,所述句矩阵的大小为m*n,其中m为编码后每个字向量或词向量的维度,n为句子长度。
[0022]
在本发明的一实施例中,还包括:对接收到的句子进行预处理,所述预处理包括但不限于分词、词性和去除停用词。
[0023]
本发明为解决上述技术问题还提供一种用于对话系统的指代消解装置,所述装置包括:存储器,用于存储可由处理器执行的指令;处理器,用于执行所述指令以实现上述方法。
[0024]
本发明为解决上述技术问题还提供一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现上述方法。
[0025]
相比传统的指代消解方法,本发明通过第一分类器组识别先行语的索引对以及通过第二分类器组识别一个或多个照应语的索引对,能够识别出句子中同一个先行语所对应的多个照应语,为后续的对话内容处理提供更加完整的信息,增强了对话系统的自然语言理解能力,为用户提供了更加智能化的座舱体验;本发明采用具有构建上下文依赖能力的编码器,在识别先行语和照应语时有了预训练编码器的先验知识的辅助,提高了在依赖距离较长的先行语和照应语间建立正确联系的准确率。
附图说明
[0026]
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
[0027]
图1是本发明一实施例的用于对话系统的指代消解方法的示例性流程示意图;
[0028]
图2是本发明一实施例的对话系统中句子的处理示例性原理图;
[0029]
图3是本发明一实施例的用于对话系统的指代消解装置的系统框图。
具体实施方式
[0030]
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。
[0031]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
[0032]
如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
[0033]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0034]
此外,尽管本技术中所使用的术语是从公知公用的术语中选择的,但是本技术说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本技术。
[0035]
本技术中使用了流程图用来说明根据本技术的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
[0036]
本发明提出一种用于对话系统的指代消解方法,相比传统的指代消解方法,本发明能够识别出句子中同一个先行语所对应的多个照应语,为后续的对话内容处理提供更加完整的信息,增强了对话系统的自然语言理解能力,为用户提供了更加智能化的座舱体验。
[0037]
图1是本发明一实施例的用于对话系统的指代消解方法的示例性流程示意图。如图1所示,本发明实施例的指代消解方法包括如下步骤:
[0038]
步骤s110:将对话系统接收到的句子进行编码,得到句子的句矩阵;
[0039]
步骤s120:将句矩阵输入第一分类器组,获得句子的先行语的头索引和尾索引;
[0040]
步骤s130:根据先行语的头索引和尾索引获得先行语向量;
[0041]
步骤s140:将先行语向量与句矩阵作点积得到相关向量;
[0042]
步骤s150:将相关向量输入第二分类器组,获得句子的一个或多个照应语的头索引和尾索引;
[0043]
步骤s160:根据先行语的头索引和尾索引从句子中取出先行语,根据一个或多个照应语的头索引和尾索引从句子中取出一个或多个照应语,得到指代消解结果。
[0044]
以下结合图1-2对上述的步骤s110-s160进行说明。
[0045]
在步骤s110中,对话系统接收到长度为n的句子s={s1,s2,s3,...,sn-1,sn},其中sn代表句子中的每个字。句子s包括先行语和照应语,照应语的数量可以是一个或多个,本技术对此不作限制。图2是本发明一实施例的对话系统中句子的处理示例性原理图。如图2所示,对话系统接收到的句子s为“导航到大厦,最短路径去那。”句子长度n为13。
[0046]
获取到句子s后,可以通过预训练编码器21对句子进行编码,得到句子的句矩阵h,句矩阵h的大小为m*n,其中m为编码后每个字或词的向量的维度,n为句子长度。在一些实施例中,预训练编码器21为具有构建上下文依赖能力的编码器。例如基于长短期记忆网络(long short-term memory,lstm)的编码器或基于bert(bidirectional encoder representation from transformers,bert)的编码器,具体选择可以根据平台算力资源多寡及最终效果进行调整,本技术对此不作限制。本发明采用具有构建上下文依赖能力的编码器,在识别先行语和照应语时有了预训练编码器的先验知识的辅助,提高了在依赖距离较长的先行语和照应语间建立正确联系的准确率。
[0047]
在一些实施例中,用于对话系统的指代消解方法还包括对接收到的句子进行预处理,预处理包括但不限于分词、词性和去除停用词等。
[0048]
在步骤s120中,第一分类器组中的分类器都是二元分类器,二元分类器的结果的取值为0或1,表示当前位置是否是先行语的头索引或尾索引。二元分类器的模型可以是感知器和多层感知器,具体的模型可以根据需求进行选择,本技术对此不作限制。
[0049]
在一些实施例中,第一分类器组包括第一分类器和第二分类器,第一分类器识别句子中的先行语的头索引,第二分类器识别句子中的先行语的尾索引。
[0050]
在一些实施例中,第一分类器可表示为:
[0051][0052][0053]
其中是句矩阵中第i个位置是先行语的头索引的概率,hi是句矩阵中的第i个位置的向量,w
ant_start
是第一分类器的权重矩阵,b
ant_start
是第一分类器的偏置,σ是激活函数,softmax是归一化指数函数,softmax函数将的最大值设为1,其余值为0,是指示第i个位置是否为先行语的头索引的结果。
[0054]
在一些实施例中,第二分类器可表示为:
[0055][0056]
[0057]
其中是句矩阵中第i个位置是先行语的尾索引的概率,hi是句矩阵中的第i个位置的向量,w
ant_end
是第二分类器的权重矩阵,b
ant_end
是第二分类器的偏置,σ是激活函数,softmax是归一化指数函数,softmax函数将的最大值设为1,其余值为0,是指示第i个位置是否为先行语的尾索引的结果。
[0058]
如图2所示,句矩阵h经过第一分类器组22后,得到代表先行语头索引的独热向量a1和代表先行语尾索引的独热向量a2。在独热向量a1中第4个位置的取值为1,其余位置的值都为0,表示先行语的头索引为4。在独热向量a2中第5个位置的取值为1,其余位置的值都为0,表示先行语的尾索引为5。在步骤s160中根据先行语的头索引和尾索引从句子中取出先行语,取出句子中先行语的头索引和尾索引之间的字即得到先行语。如图2所示,取出句子s中第4个位置和第5个位置之间的字,即“大厦”为先行语。
[0059]
在步骤s130中根据先行语的头索引和尾索引获得先行语向量。在一些实施例中,根据先行语的头索引和尾索引获得先行语向量的步骤包括:
[0060]
步骤s131:取出句矩阵中先行语的头索引和尾索引之间的所有向量;
[0061]
步骤s132:将取出的所有向量求和得到先行语向量。
[0062]
继续如图2所示,取出先行语头索引4和尾索引5之间的所有向量,包括“大”的字向量和“厦”的字向量,可以将“大”的字向量和“厦”的字向量作拼接,获得先行语向量。采用拼接的方式,不同长度的先行语的维度不同,不便于后续的处理。在一些实施例中,采用向量求和的方式获得相同维度的先行语向量,先行语向量v可表示为
[0063][0064]hi
是句矩阵中的第i个位置的向量,index(ant_start)是先行语的头索引,index(ant_end)是先行语的尾索引。
[0065]
在图2中,将“大”的字向量和“厦”的字向量求和,获得先行语“大厦”的先行语向量。采用向量求和的方式计算先行语向量保证了先行语向量维度的统一,便于后续的处理。将先行语向量v与句矩阵h作点积得到相关向量h’,相关向量h’表示先行语向量v与句矩阵h中各个字或词向量的相关性。
[0066]
在步骤s150中第二分类器组中的分类器都是二元分类器,二元分类器的结果的取值为0或1,表示当前位置是否是照应语的头索引或尾索引。
[0067]
在一些实施例中,第二分类器组包括第三分类器和第四分类器,第三分类器识别句子中的照应语的头索引,第四分类器识别句子中的照应语的尾索引。
[0068]
在一些实施例中,第三分类器表示为:
[0069]
采用如下公式计算句矩阵中第i个位置是照应语的头索引的概率,
[0070][0071]
其中是句矩阵中第i个位置是照应语的头索引的概率,h
′i是相关向量的第i个位置的向量,w
ana_start
是第三分类器的权重矩阵,b
ana_start
是第三分类器的偏置,σ是激活函数;
[0072]
设定一个第一阈值,将照应语的头索引的概率大于第一阈值的分类结果设为1,否则,设为0。
[0073]
在一些实施例中,第四分类器表示为:
[0074]
采用如下公式计算句矩阵中第i个位置是照应语的尾索引的概率,
[0075][0076]
其中是句矩阵中第i个位置是照应语的尾索引的概率,h
′i是相关向量的第i个位置的向量,w
ana_end
是第四分类器的权重矩阵,b
ana_end
是第四分类器的偏置,σ是激活函数。将照应语的尾索引的概率大于第一阈值的分类结果设为1,否则,设为0。
[0077]
如图2所示,相关向量h’经过第二分类器组22后,分别得到代表照应语头索引的向量b1和代表照应语尾索引的向量b2。在向量b1中第12个位置的取值为1,其余位置的值都为0。向量b2中第12个位置的取值为1,其余位置的值都为0。将照应语头索引和照应语尾索引配对,在本实施例中,只有1个索引对,表示只有一个照应语。取出句子s中第12个位置和第12个位置之间字,即“那”是照应语。
[0078]
在一些实施例中,向量b1和向量b2中多个位置的取值为1,其余位置为0。将照应语头索引和照应语尾索引配对,获得多个索引对。例如,输入的句子为“导航到大厦,最短路径去那,那有停车场吗?”则向量b1中第12个位置和第14个位置的取值为1,其余位置为0。向量b2中第12个位置和第14个位置的取值为1,其余位置为0。
[0079]
在一些实施例中,在根据一个或多个照应语的头索引和尾索引从句子中取出一个或多个照应语之前,还包括步骤:
[0080]
将一个或多个照应语的头索引和尾索引进行一一配对,未出现头索引的尾索引或未出现尾索引的头索引不进行配对,最终得到一个或多个照应语的索引对。根据一个或多个照应语的索引对,从句子中取出一个或多个照应语。继续以句子“导航到大厦,最短路径去那,那有停车场吗?”为例,将向量b1中的照应语的头索引与向量b2中的照应语的尾索引一一配对,得到第一索引对,第一索引对为向量b1的第12个位置到向量b2的第12个位置,取出第一索引对之间的字,得到第一个照应语“那”。以及第二索引对,第二索引对为向量b1的第14个位置到向量b2的第14个位置,取出第二索引对之间的字,得到第二个照应语“那”。最终的指代消解结果为第一个“那”指代“大厦”,第二个“那”也指代“大厦”。
[0081]
相比传统的指代消解方法,本发明通过第一分类器组识别先行语的索引对以及通过第二分类器组识别一个或多个照应语的索引对,能够识别出句子中同一个先行语所对应的多个照应语,为后续的对话内容处理提供更加完整的信息,增强了对话系统的自然语言理解能力,为用户提供了更加智能化的座舱体验。
[0082]
本发明还包括一种用于对话系统的指代消解装置,包括存储器和处理器。其中,该存储器用于存储可由处理器执行的指令;处理器用于执行该指令以实现前文所述的一种用于对话系统的指代消解方法。
[0083]
图3是本发明一实施例的用于对话系统的指代消解装置的系统框图。参考图3所示,该指代消解装置300可包括内部通信总线301、处理器302、只读存储器(rom)303、随机存取存储器(ram)304以及通信端口305。当应用在个人计算机上时,该指代消解装置300还可以包括硬盘306。内部通信总线301可以实现该指代消解装置300组件间的数据通信。处理器
302可以进行判断和发出提示。在一些实施例中,处理器302可以由一个或多个处理器组成。通信端口305可以实现该指代消解装置300与外部的数据通信。在一些实施例中,该指代消解装置300可以通过通信端口305从网络发送和接收信息及数据。该指代消解装置300还可以包括不同形式的程序储存单元以及数据储存单元,例如硬盘306,只读存储器(rom)303和随机存取存储器(ram)304,能够存储计算机处理和/或通信使用的各种数据文件,以及处理器302所执行的可能的程序指令。处理器执行这些指令以实现方法的主要部分。处理器处理的结果通过通信端口传给用户设备,在用户界面上显示。
[0084]
上述的操作方法可以实施为计算机程序,保存在硬盘306中,并可加载到处理器302中执行,以实施本技术的指代消解方法。
[0085]
本发明还包括一种存储有计算机程序代码的计算机可读介质,该计算机程序代码在由处理器执行时实现前文所述的用于对话系统的指代消解方法。
[0086]
用于对话系统的指代消解方法实施为计算机程序时,也可以存储在计算机可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(cd)、数字多功能盘(dvd))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(eprom)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。
[0087]
应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理器可以在一个或者多个特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。
[0088]
本技术的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本技术的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带
……
)、光盘(例如,压缩盘cd、数字多功能盘dvd
……
)、智能卡以及闪存设备(例如,卡、棒、键驱动器
……
)。
[0089]
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
[0090]
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅
作为示例,而并不构成对本技术的限定。虽然此处并没有明确说明,本领域技术人员可能会对本技术进行各种修改、改进和修正。该类修改、改进和修正在本技术中被建议,所以该类修改、改进、修正仍属于本技术示范实施例的精神和范围。
[0091]
同时,本技术使用了特定词语来描述本技术的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本技术至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本技术的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
[0092]
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本技术一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献