CN113515611B - 一种任务型多意图对话的意图识别方法和识别系统 - Google Patents
一种任务型多意图对话的意图识别方法和识别系统 Download PDFInfo
- Publication number
- CN113515611B CN113515611B CN202110695251.6A CN202110695251A CN113515611B CN 113515611 B CN113515611 B CN 113515611B CN 202110695251 A CN202110695251 A CN 202110695251A CN 113515611 B CN113515611 B CN 113515611B
- Authority
- CN
- China
- Prior art keywords
- intention
- label
- slot
- task
- labeling
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明公开了一种任务型多意图对话的意图识别方法,其中方法包括:获取训练样本语料库;利用多任务模型对训练样本进行基本意图标注,并对其各个单字进行槽位标签标注和意图标签标注,得到标注结果;利用标注结果与训练样本的实际标签之间的误差,校正多任务模型,以通过校正后的多任务模型识别待检测文本的基本意图,并标注其单字槽位标签和单字意图标签,单字意图标签用于确定单字槽位标签与基本意图的归属关系,以通过单字槽位标签对各个基本意图进行准确意图识别。本发明提供的技术方案解决了任务型多意图对话中意图和槽位不能有效匹配的问题。
Description
技术领域
本发明涉及自然语言处理领域,具体涉及一种任务型多意图对话的意图识别方法和识别系统。
背景技术
自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。任务型对话属于封闭域的范畴,对话的内容答案是唯一的,是有限制的,是在提问时给对方一个框架,让对方只能在框架里选择回答的。在车载对话系统中,准确的识别用户的意图(intent)然后确定意图下的槽位(slot)是提高对话系统能力的关键。现实场景中,存在用户一句话表达多个意图的情况。现有的模型虽然有识别多个意图的能力,但是多个意图往往对应多个槽位。现有技术大多对于多意图(multi-intent)的处理作为一个多标签分类任务,然后通过对话系统的人机交互功能再二次确定意图的槽位信息,从而提高意图和槽位的识别精度。现有技术虽然通过人机交互实现了对话槽位的确定,但是降低了对话效率。现有技术虽然尝试了直接在单字(token)级别上识别意图的方式,这种方式应用于单意图对话有良好的表现,但是在多意图的对话中,现有技术即便识别出每一个单字的基本意图和槽位,对话系统的识别结果中还是会出现基本意图与槽位匹配混乱的情况。从而无法准确识别出多意图对话中真正的意图。因此,如何准确识别用户的多意图是待解决的关键问题。
发明内容
有鉴于此,本发明实施方式提供了一种任务型多意图对话的意图识别方法和识别系统,从而提高了意图识别精准度。
根据第一方面,一种任务型多意图对话的意图识别方法,所述方法包括:
获取训练样本语料库,所述训练样本语料库包含对话语料以及与所述对话语料对应的实际标签,所述实际标签包括实际基本意图标签、实际槽位标签和实际意图标签;
利用多任务模型对训练样本进行基本意图标注,并对其各个单字进行槽位标签标注和意图标签标注,得到标注结果,所述标注结果用于所述多任务模型的校正,所述训练样本为所述训练样本语料库中的一条对话语料;
利用所述标注结果与所述训练样本的实际标签之间的误差,校正所述多任务模型,以通过校正后的多任务模型识别待检测文本的基本意图,并标注其单字槽位标签和单字意图标签,所述单字意图标签用于确定所述单字槽位标签与所述基本意图的归属关系,以通过所述单字槽位标签对各个基本意图进行准确意图识别。
可选地,建立所述多任务模型,包括:
建立多意图识别任务,所述多意图识别任务用于识别所述待检测文本的基本意图;
建立槽标填充任务和意标填充任务,所述槽标填充任务和意标填充任务的输入数据根据所述基本意图和单字语义向量构建,所述单字语义向量由所述训练样本的单字编码得到,所述槽标填充任务和所述意标填充任务分别用于填充所述待检测文本的单字槽位标签和单字意图标签。
可选地,所述槽标填充任务和意标填充任务采用图神经网络建立。
可选地,所述槽标填充任务和意标填充任务的输入数据根据所述基本意图和单字语义向量构建,包括:
根据槽位特征对所述单字语义向量进行编码得到第一向量,并根据意图特征对所述单字语义向量进行编码得到第二向量;
根据所述第一向量与所述基本意图的连接关系得到第一图样本,并根据所述待检测文本单字的属性对第一图样本打标签,组成槽位标数据,用作槽标填充任务的输入;
根据所述第二向量与所述基本意图的连接关系得到第二图样本,并根据所述待检测文本单字的意图对第二图样本打标签,组成意图标数据,用作意标填充任务的输入。
可选地,所述利用所述标注结果与所述训练样本的实际标签之间的误差,校正所述多任务模型,包括:
获取所述多任务模型的母损失函数,所述母损失函数的输出值用于表示所述标注结果与所述训练样本的实际标签之间的误差,所述母损失函数由多意图识别任务、槽标填充任务和意标填充任务各自的子损失函数加权构成;
以所述训练样本对所述多任务模型进行训练,并根据所述母损失函数的输出值调整所述多任务模型的参数,当所述母损失函数的结果不再下降时训练结束。
可选地,所述单字意图标签用于确定所述单字槽位标签与所述基本意图的归属关系,以通过所述单字槽位标签对各个基本意图进行准确意图识别,包括:
根据所述单字意图标签和单字槽位标签获取同时标有意图信息和槽位信息的子文本;
将标有同种意图信息的同类子文本与其基本意图进行匹配,并根据所述同类子文本的槽位信息对所述基本意图进行识别。
可选地,标注所述单字意图标签和单字槽位标签的方法采用序列标注法。
根据第二方面,一种任务型多意图对话的意图识别系统,所述系统包括:
信息采集模块,获取训练样本语料库;
校准数据获取模块,利用多任务模型对训练样本进行基本意图标注,并对其各个单字进行槽位标签标注和意图标签标注,得到标注结果,所述标注结果用于所述多任务模型的校正,所述训练样本为所述训练样本语料库中的一条对话语料;
模型校准模块,利用所述标注结果与所述训练样本的实际标签之间的误差,校正所述多任务模型,以通过校正后的多任务模型识别待检测文本的基本意图,并标注其单字槽位标签和单字意图标签,所述单字意图标签用于确定所述单字槽位标签与所述基本意图的归属关系,以通过所述单字槽位标签对各个基本意图进行准确意图识别。
根据第三方面,一种电子设备,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
本发明技术方案,具有如下优点:
本发明实施例提供的一种任务型多意图对话的意图识别方法和识别系统。该方法具体包括:基于机器学习的算法建立槽位标签填充任务和意图标签填充任务的模型,从而实现在单字级别上的槽位标签标注和意图标签标注,通过使用序列标注的方法将同种意图的单字标注上同种标签,加强了单字之间的联系,提高了标注准确率,从而完成了将一句多意图的长对话拆分为多句单意图的短对话,进一步地分析拆分后的短对话的槽位标签,也就是确定了多意图对话中槽位和意图的归属关系,从而实现了意图的精准识别。本发明通过建立多任务训练模型实现多意图识别的功能,首先通过多意图识别任务识别出一句多意图对话的基本意图,与基本意图相关的槽位约束条件通过意标填充任务和槽标填充任务来确定。通过上一级多意图识别任务已识别出的基本意图与参与训练语料的单字语义向量组成的关系拓扑图作为标签填充任务的训练数据,加强了三个任务之间的联系,提高了训练模型的可靠性和准确度。基于图神经网络算法进行标签填充任务的构建,更好的解决意图和槽位此类抽象关系的表述,从而进一步提高了意图识别的准确度。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种任务型多意图对话的意图识别方法的步骤示意图;
图2为本发明实施例的一种任务型多意图对话的意图识别方法的流程示意图;
图3为本发明实施例的一种任务型多意图对话的意图识别方法的图结构训练样本结构示意图;
图4为本发明实施例的一种任务型多意图对话的意图识别系统结构示意图;
图5为本发明实施例的一种电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
请参阅图1和图2,本发明实施例提供的一种任务型多意图对话的意图识别方法,具体包括如下步骤:
步骤S101:获取训练样本语料库,训练样本语料库包含对话语料以及与对话语料对应的实际标签,实际标签包括实际基本意图标签、实际槽位标签和实际意图标签。具体地,本发明实施例提供的多意图对话的意图识别方法主要应用于车载对话系统,所采用的训练样本为车载系统语料库,语料库中的对话范畴包括但不限于天气、娱乐(音乐、视频)、车控(例如打开车窗)、导航,车载系统语料库中的一条语料即为一个训练样本,本发明实施例中的车载语料库通过第三方单位收集以及互联网开源语料库综合构成,具体包含预设数量90万条以上的训练样本。其中语料库中还包括每个训练样本对应的实际基本意图标签、实际槽位标签和实际意图标签,用来对后续步骤的多任务模型进行训练。例如语料为“查询北京天气”那么该语料的实际基本意图标签为查天气;各个单字的实际槽位标签:“查询”对应操作标签,“北京”对应地点标签,“天气”对应天气标签;各个单字对应的实际意图标签均是查天气标签。
步骤S102:利用多任务模型对训练样本进行基本意图标注,并对其各个单字进行槽位标签标注和意图标签标注,得到标注结果,标注结果用于多任务模型的校正,训练样本为训练样本语料库中的一条对话语料。
具体地,目前在各个领域的对话系统中,任务型对话方法是一个计算机系统用来识别人类语言所发出的命令的对话方式,通过分析任务型人类语言中的各个语言组成部分从而识别出人类的意图,例如:“打开屋子的台灯”,现有技术对话系统通过分析这句话可以识别出人类的意图是开灯,从而进一步分析得到进行这个动作的地点,开“屋子”的灯,“屋子”对应的就是这句话的一个槽位,表示地点。但是在多意图对话中,多个槽位和多个意图不能很好的识别,例如:“查询车内的温度和车外的空气质量”,现有对话系统对于本句话可以识别出两个基本意图,分别是“查询温度”和“查询空气质量”,之后对话系统需要进一步确定执行这两个动作的约束条件,也就是所谓的槽位,在这句话中是地点,通过这句话可以分析出执行动作的地点是“车内”和“车外”,但是对于“车内”和“车外”这两个槽位具体属于哪个基本意图对话系统并不能很好的识别。现有技术针对这种情况使用更细化的标注方案进行,也就是对于“车内”和“车外”不标注其为地点属性,而是直接标注为“车内”和“车外”,从而根据前后文的关系,实现一句话多意图槽位的确定,进而识别出一句话的多意图。但是这种方法存在一个很大的问题,如果要具体实现该功能,就需要将所有对话可能的语料都参与训练,而大量的多意图对话语料样本的槽位是非常多的,使用穷举标签的方式进行模型训练是很不现实的,例如“查询XX的天气和XXX的温度”,对于“XX”或“XXX”,所有可能的地点或位置是无法计数的,仅对于查询天气和温度这一项对话,穷举标签的训练方式工作量就是巨大的,因此实现起来非常困难。而现有技术最常用的方式是,先识别出多意图对话中的基本意图,在这个例子中即识别出“查温度”和“查空气质量”,之后通过对话系统与人类的交互,人类告知其执行动作的约束条件,进一步确定槽位和意图的匹配关系。本发明实施例提供的针对任务型多意图的意图识别方法通过建立多任务模型完成了对单字进行意图标签填充,再结合单字的槽位标签来解决上述问题。首先,现有技术可以很好的识别出一个多意图对话中的基本意图,本发明实施例中采用SGM(Sequence Generation Model序列生成模型),一种基于Seq2Seq模型的生成方式,对一句多意图语料进行基本意图的识别。之后根据已识别出的基本意图和语料中各个单字的单字语义向量连接成图结构。得到的图结构作为槽标填充任务和意标填充任务的训练样本,从而实现对一句语料中各个单字均进行意图标签的标注和槽位标签的标注。例如:“查询车内的温度和车外的空气质量”这句话包含15个字,在识别出这句话的基本意图之前,Seq2Seq模型会对每一个字进行编码处理,得到每一个字的语义向量,也就是上述的单字语义向量。对于这15个单字语义向量分别和已识别出的基本意图进行图结构的连接,从而得到15个图数据,这15个图数据在槽标填充任务和意标填充任务的训练过程中使用的标签是不同的,例如“车”“内”字的语义向量组成的样本,在填充槽位标签时这两个单字的标签为“地点”,在意图标签填充时根据上下文的联系这两个单字的标签为“温度”。一个单字只能对应一个槽位标签,但是一个单字以对应多个意图标签,例如“查”字的槽位标签为“操作”,意图标签为“温度”和“空气质量”,通过对每个单字进行意图标签填充把上述例子语料的槽位分配给所对应的基本意图,例如带有基本意图“查温度”标签的槽位文本有:查询-operation(操作)、车内-relative_position(地点)、温度-temperature(温度),之后对于各个基本意图中的槽位“操作”、“地点”、“温度”、“空气”进行逻辑分析可以准确的识别出对应的意图。通过对单字级别的意图标签的标注,实现了槽位和意图归属关系的匹配,解决了意图与槽位归属关系难以确定的问题。上述多任务模型的建立,后级模型所需的输入数据通过预处理前级模型的输出得到,将三个子模型同时训练,加强了模型间的联系,进一步提高了意图识别的准确性。
步骤S103:利用标注结果与训练样本的实际标签之间的误差,校正多任务模型,以通过校正后的多任务模型识别待检测文本的基本意图,并标注其单字槽位标签和单字意图标签,单字意图标签用于确定单字槽位标签与基本意图的归属关系,以通过单字槽位标签对各个基本意图进行准确意图识别。
具体地,本发明实施例提供的多意图对话的意图识别方法主要应用于车载对话系统,所采用的训练样本为车载系统语料库,语料库中的对话范畴包括但不限于天气、娱乐(音乐、视频)、车控(例如打开车窗)、导航,车载系统语料库中的一条语料即为一个训练样本,本发明实施例中的车载语料库通过第三方单位收集以及互联网开源语料库综合构成。之后根据机器学习的算法使用大量训练样本对上述多意图识别任务、槽标填充任务和意标填充任务进行模型训练。本发明实施例中,多意图识别任务的AI模型采用SGM算法,SGM算法是一种基于Seq2Seq模型的生成算法,该技术突破了传统机器学习模型固定长度输入输出的模式,是一种不定长度输入和不定长度输出的框架,在多意图识别时对于不定长度的语料有着良好的识别效果。本发明实施例采用一种基于图神经网络的变形模型GAT(GraphAttention Network图注意力网络)进行槽标填充任务和意标填充任务的训练。在计算机科学中,图是由两个部件组成的一种数据结构:顶点(vertices)和边(edges)。一个图G可以用它包含的顶点V和边E的集合来描述,图神经网络是一种直接在图结构上运行的神经网络。对于单字语义向量和意图之间的关系,传统特征提取方法的特征提取效果并不优秀,通过图来表述这种抽象关系,从而使用图神经网络作为标签填充任务的训练模型,大大提高了意图标签和槽位标签分类的准确度。之后本发明实施例提供的多任务模型,在现有算法的基础上又通过将多意图识别任务识别出的基本意图和单字语义向量连接成图结构,作为槽标填充任务和意标填充任务的输入数据,这一步处理加强了三个任务之间的联系,提高了所训练模型的准确性和可靠性。在训练过程中,各个训练样本的基本意图、单字槽位标签与单字意图标签均已知,通过多任务模型输出的标签结果与已知标签进行比对,从而根据误差来调整多任务模型中的参数,以达到标签无限接近真实值的目的。当多任务模型的母损失函数的结果不再下降时停止训练,此时的多任务模型被认为是一个较好的标签标注模型,从而对待检测文本的单字槽位标签和单字意图标签进行填充。
具体地,使用训练后的多任务模型,通过对待检测对话内容的每个单字进行意图标签的标注和槽位标签的标注,从而将带有同一种意图标签的单字组成文本,对话系统根据这些文本和与之对应的基本意图做意图的综合分析,从而完成准确地识别对话的意图。例如:如表1所示,对于“查询车内的温度和车外的空气质量”这句话规定标签,其中槽位标签包括:Operation代表“操作”对应的文本为查询,relative_position代表“地点”对应车内和车外,Temperature代表“温度”,weather_condition代表“空气质量”。其中意图标签包括weather_in_car_air和weather_in_car_temperature两类,分别对应查温度和查空气质量两个基本意图。
表1.槽位标签和意图标签定义
经过训练后,对于各个单字的槽位标签填充和意图标签填充见表2,其中每个单字对应一个槽位,可能对应多个意图。其中结合槽位标签使得单字根据上下文关系组成的各个子文本,其带有槽位信息,其表示形式为(B开头的标签标识槽位的开始,I表示槽位中间,E表示槽位的结束,O表示不属于任何槽位):查询-operation、车内-relative_position、温度-temperature、车外-relative_position、天气-weather。通过意图标签的结果可以得到由单字组成的各个子文本,其带有意图信息,其表示形式为:查询-weather_in_car_temperature、车内-weather_in_car_temperature、温度-weather_in_car_temperature,查询-weather_in_car_air、车外-weather_in_car_air、天气-weather_in_car_air。
如上模型输出结果分为三部分,基本意图:weather_in_car_temperature,weather_in_car_air;槽位信息并与对应的子文本挂靠:查询-operation、车内-relative_position、温度-temperature、车外-relative_position、天气-weather;意图信息并与对应的子文本挂靠:查询-weather_in_car_temperature、车内-weather_in_car_temperature、温度-weather_in_car_temperature,查询-weather_in_car_air、车外-weather_in_car_air、天气-weather_in_car_air。其中子文本既可以是基本意图的具体约束条件,还作为了查询所包含槽位条件的索引。
对话系统通过逻辑确定与基本意图weather_in_car_temperature挂靠的槽位子文本有查询-operation、车内-relative_position、温度-temperature。与基本意图weather_in_car_air挂靠的槽位子文本有查询-operation、车外-relative_position、天气-weather。通过上述约束条件,系统能够正确的执行查询车内的温度和查询车外的天气。本发明实施例中采用了序列标注的形式,序列标注的形式考虑了单字的上下文关系,比如上面的例子“空”“气”“质”“量”同属于意图查空气质量,若不考虑单字之间上下文关系很可能出现某个单字上识别意图错误的情况。
表2单字的槽位标签和意图标签
具体地,在一实施例中,上述步骤的S102,具体包括如下步骤:
步骤S201:建立多意图识别任务,多意图识别任务用于识别待检测文本的基本意图。具体地,以一个训练样本描述模型构建过程,首先对多意图识别任务的训练过程需要大量的带标签的训练样本。这些训练样本即作为多意图识别任务的训练输入,对应的输出标签即为每个训练样本已知的基本意图。例如:我要吃饭和喝水,这句话即为一个训练样本,已知吃饭和喝水两个基本意图作为训练样本的两个标签,多意图识别任务采用SGM算法构建,实现不定长输入和不定长输入的功能,例如:对一句长语料“查询车内的温度和车外的空气质量”识别出两个短语料“查温度”“查空气质量”两个基本意图,具体算法描述在此不再赘述。
步骤S202:建立槽标填充任务和意标填充任务,槽标填充任务和意标填充任务分别用于填充待检测文本的单字槽位标签和单字意图标签,槽标填充任务和意标填充任务的输入数据根据基本意图和单字语义向量构建,单字语义向量由训练样本的单字编码得到。
具体地,基于图神经网络建立槽标填充任务和意标填充任务,槽位标数据包括用于训练槽标填充任务的输入和输出,意图标数据包括用于训练意标填充任务的输入和输出。具体地,结合图神经网络自身的优势大大提高了本发明实施例多任务模型标签填充的准确度和可靠程度,对于图神经网络的描述见步骤S102,在此不再赘述。对于槽标填充任务和意标填充任务所需的训练数据,以一个训练样本为例,上述例子“查询车内的温度和车外的空气质量”在多意图识别任务中对每个字进行编码,本发明实施例采用但不限于BI-LSTM的编码方法,通过每个单字的编码和已知的两个基本意图“查温度”和“查空气质量”连接成图结构,得到一个图训练数据,15个字得到15个图训练数据,每个图训练数据在槽标填充任务和意标填充任务中对应的输出标签不同,例如对“查”字组成的图训练数据,槽位输出标签是“操作”,意图输出标签是“温度”和“空气质量”。一个图训练数据和一个槽位输出标签组成一个槽位标数据,用于训练槽标填充任务。一个图训练数据和一个意图输出标签组成一个意图标数据,用于训练意标填充任务,其中组成图结构的图训练数据即为两个标签填充任务的输入,对应的标签即为训练标签填充任务时的输出。
具体地,在一实施例中,上述的步骤S202具体包括如下步骤:
步骤S301:根据槽位特征对单字语义向量进行编码得到第一向量,并根据意图特征对单字语义向量进行编码得到第二向量。具体地,以一个用于槽标填充任务和意标填充任务的训练数据为例,为了提高模型训练的准确度,考虑到标签标注存在下述区别:槽位对应的是每个单字属性,比如“时间”、“地点”、“主体”、“操作”。意图对应的是一句话的基本意图,并且槽位是单标签标注,意图是多标签标注。因此根据槽标填充任务和意标填充任务的关注点不同,将单字语义向量进一步编码,本发明实施例采用BI-LSTM方法对单字语义向量进行二次编码。根据槽位特征得到的二次编码向量为第一向量,根据意图特征得到的二次编码向量为第二向量。为槽标填充任务和意标填充任务分别增加了编码步骤,进一步细化训练数据,提高模型训练的准确性。
步骤S302:根据第一向量与基本意图的连接关系得到第一图样本,并根据待检测文本单字的属性对第一图样本打标签,组成槽位标数据,用作槽标填充任务的输入。具体地,将第一向量与已识别的基本意图连接成图结构,对应标注具有词属性特点的槽位标签,即为第一标注。每个单字的第一向量表示{S1,S2,S3,...,Sn},其中一个Si与已识别的意图组成图结构,如图3所示,以上述查温度空气质量的语料中的“查”字为例,该图中两个意图彼此相连,每个意图与“查”字的第一向量相连。之后,将该图训练数据标注上B-operation,即为代表“操作”属性的第一标注。
步骤S303:根据第二向量与基本意图的连接关系得到第二图样本,并根据待检测文本单字的意图对第二图样本打标签,组成意图标数据,用作意标填充任务的输入。具体地,处理步骤参考S302,在此不再赘述。本步骤需要特别关注,意图标签为多标签标注,一个单字可能代表多个意图,而槽位标签为单标签标注。例如对“查”字需要执行两个动作,因此需要对其打上“温度”和“天气”两个标签。
具体地,在一实施例中,上述步骤S103,具体包括如下步骤:
步骤S203:获取多任务模型的母损失函数,母损失函数的输出值用于表示标注结果与训练样本的实际标签之间的误差,母损失函数由多意图识别任务、槽标填充任务和意标填充任务各自的子损失函数加权构成。具体地,在训练过程中,对于每一个训练模型均设有一个损失函数,损失函数的设置方式可以采用但不限于似然函数、交叉熵函数。对三个模型的子损失函数进行加权平均得到母损失函数,参照公式:
L(总任务)=αL(多意图识别任务)+βL(槽标填充任务)+λL(意标填充任务)
其中权重α、β和λ可以根据实际训练情况中三个任务重要程度不同进行调节,三个任务的初始权重均设为1。通过增加权重设置使得后续的训练过程更加灵活,以应对一些突然出现的因素。
步骤S204:以训练样本对多任务模型进行训练,并根据母损失函数的输出值调整多任务模型的参数,当母损失函数的结果不再下降时训练结束。
具体地,在一实施例中,上述步骤S103,还包括如下步骤:
步骤S205:根据训练后的多任务模型对待检测对话内容进行槽位标签填充和意图标签填充。具体地,本发明实施例中槽标填充任务的激活函数为softmax函数,其中输出所有的可能槽位标签中概率最大的槽位标签即为所求。意标填充任务的激活函数为sigmod函数,预设概率阈值,对于输出所有的可能意图标签中,凡是输出概率大于预设概率阈值的均为所求,从而实现了意图的多标签标注。
步骤S206:根据单字意图标签和单字槽位标签获取同时标有意图信息和槽位信息的子文本。
步骤S207:将标有同种意图信息的同类子文本与其基本意图进行匹配,并根据同类子文本的槽位信息对基本意图进行识别。
具体地,步骤S205~207的详细过程描述参照步骤S104,在此不再赘述。其中,步骤S205中标签填充采用序列标注方法对单字进行标注,可用的序列标注方法包括但不限于:BIOES方案、BIO方案、BIOS等。结合上下文对单字进行标注可以在语料重组时提高重组的准确率。例如“查询”动作保证了其开始和结束循序,B-operation代表开始(Begin),E-operation代表结束(End)。传统词标签的方法,如果对于两个字均标注为“操作”,会出现混淆的情况。比如查询,“查”字的意图是“weather_in_car_temperature,weather_in_car_air”但是“询”字的结果可能是“weather_in_car_air”,不能保证一个词有相同的意图结果。但是用序列标注的方式考虑到了字与字之间的关系,可以很好的解决这个问题。
通过执行上述各个步骤,本发明实施例提供的一种任务型多意图对话的意图识别方法,基于机器学习的算法建立槽位标签填充任务和意图标签填充任务的模型,从而实现在单字级别上的槽位标签标注和意图标签标注,通过使用序列标注的方法将同种意图的单字标注上同种标签,加强了单字之间的联系,提高了标注准确率,从而完成了将一句多意图的长对话拆分为多句单意图的短对话,进一步地分析拆分后的短对话的槽位标签,也就是确定了多意图对话中槽位和意图的归属关系,从而实现了意图的精准识别。本发明通过建立多任务训练模型实现多意图识别的功能,首先通过多意图识别任务识别出一句多意图对话的基本意图,与基本意图相关的槽位约束条件通过意标填充任务和槽标填充任务来确定。通过上一级多意图识别任务已识别出的基本意图与参与训练语料的单字语义向量组成的关系拓扑图作为标签填充任务的训练数据,加强了三个任务之间的联系,提高了训练模型的可靠性和准确度。基于图神经网络算法进行标签填充任务的构建,更好的解决意图和槽位此类抽象关系的表述,从而进一步提高了意图识别的准确度。
如图4所示,本实施例还提供了一种任务型多意图对话的意图识别系统,该系统包括:
信息采集模块101,获取训练样本语料库。详细内容参见上述方法实施例中步骤S101的相关描述,在此不再进行赘述。
校准数据获取模块102,利用多任务模型对训练样本进行基本意图标注,并对其各个单字进行槽位标签标注和意图标签标注,得到标注结果,标注结果用于多任务模型的校正,训练样本为训练样本语料库中的一条对话语料。详细内容参见上述方法实施例中步骤S102的相关描述,在此不再进行赘述。
模型校准模块103,利用标注结果与训练样本的实际标签之间的误差,校正多任务模型,以通过校正后的多任务模型识别待检测文本的基本意图,并标注其单字槽位标签和单字意图标签,单字意图标签用于确定单字槽位标签与基本意图的归属关系,以通过单字槽位标签对各个基本意图进行准确意图识别。详细内容参见上述方法实施例中步骤S103的相关描述,在此不再进行赘述。
本发明实施例提供的任务型多意图对话的意图识别系统,用于执行上述实施例提供的任务型多意图对话的意图识别方法,其实现方式与原理相同,详细内容参见上述方法实施例的相关描述,不再赘述。
通过上述各个组成部分的协同合作,本发明实施例提供的任务型多意图对话的意图识别系统,基于机器学习的算法建立槽位标签填充任务和意图标签填充任务的模型,从而实现在单字级别上的槽位标签标注和意图标签标注,通过使用序列标注的方法将同种意图的单字标注上同种标签,加强了单字之间的联系,提高了标注准确率,从而完成了将一句多意图的长对话拆分为多句单意图的短对话,进一步地分析拆分后的短对话的槽位标签,也就是确定了多意图对话中槽位和意图的归属关系,从而实现了意图的精准识别。本发明通过建立多任务训练模型实现多意图识别的功能,首先通过多意图识别任务识别出一句多意图对话的基本意图,与基本意图相关的槽位约束条件通过意标填充任务和槽标填充任务来确定。通过上一级多意图识别任务已识别出的基本意图与参与训练语料的单字语义向量组成的关系拓扑图作为标签填充任务的训练数据,加强了三个任务之间的联系,提高了训练模型的可靠性和准确度。基于图神经网络算法进行标签填充任务的构建,更好的解决意图和槽位此类抽象关系的表述,从而进一步提高了意图识别的准确度。
图5示出了本发明实施例的一种电子设备,该设备包括:处理器901和存储器902,可以通过总线或者其他方式连接,图5中以通过总线连接为例。
处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如上述方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种任务型多意图对话的意图识别方法,其特征在于,所述方法包括:
获取训练样本语料库,所述训练样本语料库包含对话语料以及与所述对话语料对应的实际标签,所述实际标签包括实际基本意图标签、实际槽位标签和实际意图标签,所述实际槽位标签和实际意图标签用于作为所述对话语料的单字的标签;
利用多任务模型对训练样本进行基本意图标注,并对其各个单字进行槽位标签标注和意图标签标注,得到标注结果,所述标注结果用于所述多任务模型的校正,所述训练样本为所述训练样本语料库中的一条对话语料;
利用所述标注结果与所述训练样本的实际标签之间的误差,校正所述多任务模型,以通过校正后的多任务模型识别待检测文本的基本意图,并标注其单字槽位标签和单字意图标签,所述单字意图标签用于确定所述单字槽位标签与所述基本意图的归属关系,以获取所述待检测文本中的多个意图。
2.根据权利要求1所述的方法,其特征在于,建立所述多任务模型,包括:
建立多意图识别任务,所述多意图识别任务用于识别所述待检测文本的基本意图;
建立槽标填充任务和意标填充任务,所述槽标填充任务和意标填充任务的输入数据根据所述基本意图和单字语义向量构建,所述单字语义向量由所述训练样本的单字编码得到,所述槽标填充任务和所述意标填充任务分别用于填充所述待检测文本的单字槽位标签和单字意图标签。
3.根据权利要求2所述的方法,其特征在于,所述槽标填充任务和意标填充任务采用图神经网络建立。
4.根据权利要求2或3所述的方法,其特征在于,所述槽标填充任务和意标填充任务的输入数据根据所述基本意图和单字语义向量构建,包括:
根据槽位特征对所述单字语义向量进行编码得到第一向量,并根据意图特征对所述单字语义向量进行编码得到第二向量;
根据所述第一向量与所述基本意图的连接关系得到第一图样本,并根据所述待检测文本单字的属性对第一图样本打标签,组成槽位标数据,用作槽标填充任务的输入;
根据所述第二向量与所述基本意图的连接关系得到第二图样本,并根据所述待检测文本单字的意图对第二图样本打标签,组成意图标数据,用作意标填充任务的输入。
5.根据权利要求1所述的方法,其特征在于,所述利用所述标注结果与所述训练样本的实际标签之间的误差,校正所述多任务模型,包括:
获取所述多任务模型的母损失函数,所述母损失函数的输出值用于表示所述标注结果与所述训练样本的实际标签之间的误差,所述母损失函数由多意图识别任务、槽标填充任务和意标填充任务各自的子损失函数加权构成;
以所述训练样本对所述多任务模型进行训练,并根据所述母损失函数的输出值调整所述多任务模型的参数,当所述母损失函数的结果不再下降时训练结束。
6.根据权利要求1所述的方法,其特征在于,所述单字意图标签用于确定所述单字槽位标签与所述基本意图的归属关系,以通过所述单字槽位标签对各个基本意图进行准确意图识别,包括:
根据所述单字意图标签和单字槽位标签获取同时标有意图信息和槽位信息的子文本;
将标有同种意图信息的同类子文本与其基本意图进行匹配,并根据所述同类子文本的槽位信息对所述基本意图进行识别。
7.根据权利要求6所述的方法,其特征在于,标注所述单字意图标签和单字槽位标签的方法采用序列标注法。
8.一种任务型多意图对话的意图识别系统,其特征在于,所述系统包括:
信息采集模块,用于获取训练样本语料库,所述训练样本语料库包含对话语料以及与所述对话语料对应的实际标签,所述实际标签包括实际基本意图标签、实际槽位标签和实际意图标签,所述实际槽位标签和实际意图标签用于作为所述对话语料的单字的标签;
校准数据获取模块,用于利用多任务模型对训练样本进行基本意图标注,并对其各个单字进行槽位标签标注和意图标签标注,得到标注结果,所述标注结果用于所述多任务模型的校正,所述训练样本为所述训练样本语料库中的一条对话语料;
模型校准模块,用于利用所述标注结果与所述训练样本的实际标签之间的误差,校正所述多任务模型,以通过校正后的多任务模型识别待检测文本的基本意图,并标注其单字槽位标签和单字意图标签,所述单字意图标签用于确定所述单字槽位标签与所述基本意图的归属关系,以获取所述待检测文本中的多个意图。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695251.6A CN113515611B (zh) | 2021-06-22 | 2021-06-22 | 一种任务型多意图对话的意图识别方法和识别系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695251.6A CN113515611B (zh) | 2021-06-22 | 2021-06-22 | 一种任务型多意图对话的意图识别方法和识别系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515611A CN113515611A (zh) | 2021-10-19 |
CN113515611B true CN113515611B (zh) | 2022-04-26 |
Family
ID=78065939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110695251.6A Active CN113515611B (zh) | 2021-06-22 | 2021-06-22 | 一种任务型多意图对话的意图识别方法和识别系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515611B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473521A (zh) * | 2019-02-26 | 2019-11-19 | 北京蓦然认知科技有限公司 | 一种任务模型的训练方法、装置、设备 |
CN111198937A (zh) * | 2019-12-02 | 2020-05-26 | 泰康保险集团股份有限公司 | 对话生成及装置、计算机可读存储介质、电子设备 |
WO2021003819A1 (zh) * | 2019-07-05 | 2021-01-14 | 平安科技(深圳)有限公司 | 基于知识图谱的人机对话方法及人机对话装置 |
US10978053B1 (en) * | 2020-03-03 | 2021-04-13 | Sas Institute Inc. | System for determining user intent from text |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460123B (zh) * | 2020-04-07 | 2020-10-20 | 中国搜索信息科技股份有限公司 | 一种针对青少年聊天机器人的对话意图识别方法及装置 |
CN111625634B (zh) * | 2020-05-25 | 2023-08-22 | 泰康保险集团股份有限公司 | 词槽识别方法及装置、计算机可读存储介质、电子设备 |
CN111738016B (zh) * | 2020-06-28 | 2023-09-05 | 中国平安财产保险股份有限公司 | 多意图识别方法及相关设备 |
CN112183061B (zh) * | 2020-09-28 | 2024-03-01 | 云知声智能科技股份有限公司 | 一种多意图口语理解方法、电子设备和存储介质 |
-
2021
- 2021-06-22 CN CN202110695251.6A patent/CN113515611B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473521A (zh) * | 2019-02-26 | 2019-11-19 | 北京蓦然认知科技有限公司 | 一种任务模型的训练方法、装置、设备 |
WO2021003819A1 (zh) * | 2019-07-05 | 2021-01-14 | 平安科技(深圳)有限公司 | 基于知识图谱的人机对话方法及人机对话装置 |
CN111198937A (zh) * | 2019-12-02 | 2020-05-26 | 泰康保险集团股份有限公司 | 对话生成及装置、计算机可读存储介质、电子设备 |
US10978053B1 (en) * | 2020-03-03 | 2021-04-13 | Sas Institute Inc. | System for determining user intent from text |
Non-Patent Citations (2)
Title |
---|
A Stack-Propagation Framework with Token-Level Intent Detection for;Libo Qin 等;《arXiv》;20190905;1-10 * |
微博中的社交意图识别与分类技术研究;高永兵,李越超;《内蒙古科技大学学报》;20200630;85-89 * |
Also Published As
Publication number | Publication date |
---|---|
CN113515611A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100349B (zh) | 一种多轮对话方法、装置、电子设备及存储介质 | |
CN110516253B (zh) | 中文口语语义理解方法及系统 | |
WO2021218024A1 (zh) | 命名实体识别模型的训练方法、装置、计算机设备 | |
CN111950269A (zh) | 文本语句处理方法、装置、计算机设备和存储介质 | |
CN108962224B (zh) | 口语理解和语言模型联合建模方法、对话方法及系统 | |
CN110704576B (zh) | 一种基于文本的实体关系抽取方法及装置 | |
CN111062217B (zh) | 语言信息的处理方法、装置、存储介质及电子设备 | |
CN108710704B (zh) | 对话状态的确定方法、装置、电子设备及存储介质 | |
CN111104498A (zh) | 一种任务型对话系统中的语义理解方法 | |
US11636272B2 (en) | Hybrid natural language understanding | |
CN110428823A (zh) | 口语理解装置和使用该装置的口语理解方法 | |
WO2023137911A1 (zh) | 基于小样本语料的意图分类方法、装置及计算机设备 | |
CN110210036A (zh) | 一种意图识别方法及装置 | |
CN111753524A (zh) | 文本断句位置的识别方法及系统、电子设备及存储介质 | |
CN113723105A (zh) | 语义特征提取模型的训练方法、装置、设备及存储介质 | |
CN114676255A (zh) | 文本处理方法、装置、设备、存储介质及计算机程序产品 | |
CN112818996A (zh) | 指令识别方法和装置、存储介质及电子设备 | |
CN111739520A (zh) | 一种语音识别模型训练方法、语音识别方法、装置 | |
CN111274823B (zh) | 一种文本语义理解的方法和相关装置 | |
CN112036186A (zh) | 语料标注方法、装置、计算机存储介质及电子设备 | |
CN114282055A (zh) | 视频特征提取方法、装置、设备及计算机存储介质 | |
CN113761188A (zh) | 文本标签确定方法、装置、计算机设备和存储介质 | |
CN113515611B (zh) | 一种任务型多意图对话的意图识别方法和识别系统 | |
CN116978367A (zh) | 语音识别方法、装置、电子设备和存储介质 | |
CN116401373A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |