CN115129863A - 意图识别方法、装置、设备、存储介质和计算机程序产品 - Google Patents
意图识别方法、装置、设备、存储介质和计算机程序产品 Download PDFInfo
- Publication number
- CN115129863A CN115129863A CN202210380464.4A CN202210380464A CN115129863A CN 115129863 A CN115129863 A CN 115129863A CN 202210380464 A CN202210380464 A CN 202210380464A CN 115129863 A CN115129863 A CN 115129863A
- Authority
- CN
- China
- Prior art keywords
- intention
- subclass
- entry
- class
- sample
- 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
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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种意图识别方法、装置、计算机设备、存储介质和计算机程序产品。该方法涉及人工智能技术的自然语言处理,该方法包括:获取待进行意图识别的词条集合;通过训练好的意图大类识别模型,分别对词条集合中的每个词条进行意图大类识别,得到词条集合中每个词条各自所属的意图大类;对于词条集合中属于目标意图大类的词条,通过训练好的目标意图大类对应的意图子类识别模型,对属于目标意图大类的词条进行意图子类识别,得到属于目标意图大类的词条所属的意图子类,各意图子类隶属于目标意图大类。采用本方法能够对于不同领域的词条构成的词条集合,可以全面识别出对应的意图大类与意图子类,提升意图识别效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种意图识别方法、装置、计算机设备、存储介质和计算机程序产品,还涉及一种意图识别模型的处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
近年来,人工智能技术迅猛发展,推动了科技进步与社会发展,给人们生活带来了巨大的改变。自然语言处理(NLP,Natural Language Processing)是计算机科学领域与人工智能领域中的一个重要方向,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
意图识别(Intention Recognition)是自然语言处理的一个方向,可以将文本解析为结构化的、机器可读的意图,广泛应用于身份识别、语音识别、语言翻译、倾向性识别等场景中。例如,在搜索场景中,识别搜索词条的意图。
然而,目前对于搜索词条的意图识别,仅限于对某个领域的词条进行意图识别,无法全面地直接对全量搜索词条进行意图识别,识别效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对全量搜索词条进行意图识别的意图识别方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
本申请提供了一种意图识别方法。所述方法包括:
获取待进行意图识别的词条集合;
通过训练好的意图大类识别模型,分别对所述词条集合中的每个词条进行意图大类识别,得到所述词条集合中每个词条各自所属的意图大类;
对于所述词条集合中属于目标意图大类的词条,通过训练好的所述目标意图大类对应的意图子类识别模型,对所述属于目标意图大类的词条进行意图子类识别,得到所述属于目标意图大类的词条所属的意图子类,各所述意图子类隶属于所述目标意图大类。
本申请还提供了一种意图识别装置。所述装置包括:
获取模块,用于获取待进行意图识别的词条集合;
意图大类识别模块,用于通过训练好的意图大类识别模型,分别对所述词条集合中的每个词条进行意图大类识别,得到所述词条集合中每个词条各自所属的意图大类;
意图子类识别模块,用于对于所述词条集合中属于目标意图大类的词条,通过训练好的所述目标意图大类对应的意图子类识别模型,对所述属于目标意图大类的词条进行意图子类识别,得到所述属于目标意图大类的词条所属的意图子类,各所述意图子类隶属于所述目标意图大类。
在一个实施例中,意图大类识别模块,还用于将所述词条输入训练好的意图大类识别模型,输出所述词条的向量化表示,计算所述词条的向量化表示与各意图大类的意图原型表示之间的距离,对各个距离进行归一化处理后,将归一化处理后的距离最小的意图原型表示所对应的意图大类,作为所述词条所属的意图大类。
在一个实施例中,所述装置还包括意图原型表示确定模块,用于获取训练所述意图大类识别模型时所使用的已标注意图大类的样本词条,将属于相同意图大类的样本词条,划分为支持集与查询集,对于每个意图大类,将相应的支持集中样本词条输入所述训练好的意图大类识别模型,得到所述支持集中各样本词条的向量化表示,计算所述支持集中各样本词条的向量化表示的均值,得到各意图大类的意图原型表示。
在一个实施例中,意图子类识别模块,还用于获取训练好的所述目标意图大类对应的意图子类识别模型,查询字向量表,将所述词条中每个字转换为字向量后,通过所述意图子类识别模型中的语义表示网络,根据所述字向量获得所述词条的分类向量表示,所述分类向量表示用于表征所述词条的全局语义信息,通过所述意图子类识别模型中的分类预测网络,根据所述分类向量表示,获得所述词条属于所述目标意图大类下的各意图子类的预测概率,根据所述预测概率确定所述词条所属的意图子类。
在一个实施例中,所述装置还包括:
第一训练模块,用于获取已标注意图大类的样本词条;将属于相同意图大类的样本词条,划分为支持集与查询集;对于每个意图大类,分别将相应的支持集与查询集中的样本词条输入意图大类识别模型,得到各样本词条的向量化表示,根据所述支持集中各样本词条的向量化表示,确定每个意图大类的意图原型表示;以相应的查询集中的样本词条的向量化表示,与所述样本词条的标注意图大类的意图原型表示之间的差异最小化、与除所述标注意图大类以外的意图大类的意图原型表示之间的差异最大化为目标,构建意图大类识别损失;根据所述意图大类识别损失,优化所述意图大类识别模型。
在一个实施例中,所述第一训练模块,还用于对于每个意图大类,计算相应的查询集中的样本词条的向量化表示与各个意图大类的意图原型表示之间的距离,将最小距离的意图原型表示所对应的意图大类作为所述样本词条对应的预测意图大类;根据所述预测意图大类与所述样本词条的标注意图子类,计算交叉熵,得到每个意图大类的交叉熵损失;将每个意图大类的交叉熵损失求和,得到意图大类识别损失。
在一个实施例中,所述装置还包括:
第二训练模块,用于获取属于目标意图大类的、且已标注意图子类的样本词条;通过预训练的语义表示网络,输出所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,通过所述分类预测网络,根据所述分类向量表示,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
在一个实施例中,所述第二训练模块,还用于查询字向量表,将所述样本词条中每个字转换为字向量;将所述每个字对应的字向量、分类符号对应的字向量共同输入所述预训练的语义表示网络,输出所述每个字的语义向量表示以及所述分类符号对应的分类向量表示,所述分类向量表示用于表征所述样本词条的全局语义信息。
在一个实施例中,所述第二训练模块,还用于将所述分类向量表示输入所述分类预测网络;依次通过所述分类预测网络的全连接层与激活层的运算,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率。
在一个实施例中,所述第二训练模块,还用于根据所确定的预测意图子类与所述样本词条的标注意图子类,计算交叉熵,得到意图子类识别损失;以所述意图子类识别损失最小化为目标,更新所述预训练的语义表示网络与所述分类预测网络的网络参数后,返回所述获取属于目标意图大类的、且标注意图子类的样本词条的步骤继续训练,直至满足训练停止条件。
在一个实施例中,所述第二训练模块,还包括预训练子模块,用于获取粗标意图子类的粗标样本词条,对所述粗标样本词条中的字进行随机遮掩处理后,将随机遮掩后的粗标样本词条输入语言模型,输出所述粗标样本词条的分类向量表示与遮掩位置的语义向量表示;将所述分类向量表示输入分类预测网络,获得所述粗标样本词条属于各意图子类的预测概率,根据各所述预测概率确定所述粗标样本词条对应的预测意图子类;根据所述遮掩位置的语义向量表示,确定遮掩位置的预测字;根据所述粗标样本词条的标注意图子类与所述预测意图子类之间的差异,以及遮掩字与所述预测字之间的差异,构建预训练损失;根据所述预训练损失训练所述语言模型,得到预训练的语义表示网络。
在一个实施例中,所述获取模块,还用于获取预定周期内资源搜索平台的全量搜索词条;所述装置还包括:资源发布模块,用于在得到所述全量搜索词条中各词条所属的意图大类与意图子类之后,确定每个意图大类下的各个意图子类的词条的数量分布;在所述资源搜索平台中,按所述数量分布发布属于相应意图类别的资源。
本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待进行意图识别的词条集合;
通过训练好的意图大类识别模型,分别对所述词条集合中的每个词条进行意图大类识别,得到所述词条集合中每个词条各自所属的意图大类;
对于所述词条集合中属于目标意图大类的词条,通过训练好的所述目标意图大类对应的意图子类识别模型,对所述属于目标意图大类的词条进行意图子类识别,得到所述属于目标意图大类的词条所属的意图子类,各所述意图子类隶属于所述目标意图大类。
本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待进行意图识别的词条集合;
通过训练好的意图大类识别模型,分别对所述词条集合中的每个词条进行意图大类识别,得到所述词条集合中每个词条各自所属的意图大类;
对于所述词条集合中属于目标意图大类的词条,通过训练好的所述目标意图大类对应的意图子类识别模型,对所述属于目标意图大类的词条进行意图子类识别,得到所述属于目标意图大类的词条所属的意图子类,各所述意图子类隶属于所述目标意图大类。
本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待进行意图识别的词条集合;
通过训练好的意图大类识别模型,分别对所述词条集合中的每个词条进行意图大类识别,得到所述词条集合中每个词条各自所属的意图大类;
对于所述词条集合中属于目标意图大类的词条,通过训练好的所述目标意图大类对应的意图子类识别模型,对所述属于目标意图大类的词条进行意图子类识别,得到所述属于目标意图大类的词条所属的意图子类,各所述意图子类隶属于所述目标意图大类。
上述意图识别方法、装置、计算机设备、存储介质和计算机程序产品,在获取到待进行意图识别的词条集合后,对于词条集合中的每个词条,都先通过训练好的意图大类识别模型,分别识别出每个词条各自所属的意图大类,对于其中属于同一目标意图大类的词条,再进一步通过该目标意图大类下对应的意图子类识别模型,识别出词条所属的该目标意图大类下的意图子类。这样,相比于相关技术中仅能够识别出某个领域的词条所属的意图子类,本申请对于不同领域的词条构成的词条集合,可以全面识别出对应的意图大类与意图子类,提升意图识别效率。
本申请还提供了一种意图识别模型的处理方法,所述方法包括:
通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到所述样本词条各自所属的意图大类;
获取属于目标意图大类的、且已标注意图子类的样本词条;
将所述样本词条输入预训练的语义表示网络,得到所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;
根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述预训练的语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
本申请还提供了一种意图识别模型的处理装置,所述装置包括:
获取模块,用于通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到所述样本词条各自所属的意图大类,获取属于目标意图大类的、且已标注意图子类的样本词条;
预测模块,用于将所述样本词条输入预训练的语义表示网络,得到所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;
更新模块,用于根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述预训练的语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到所述样本词条各自所属的意图大类;
获取属于目标意图大类的、且已标注意图子类的样本词条;
将所述样本词条输入预训练的语义表示网络,得到所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;
根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述预训练的语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到所述样本词条各自所属的意图大类;
获取属于目标意图大类的、且已标注意图子类的样本词条;
将所述样本词条输入预训练的语义表示网络,得到所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;
根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述预训练的语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到所述样本词条各自所属的意图大类;
获取属于目标意图大类的、且已标注意图子类的样本词条;
将所述样本词条输入预训练的语义表示网络,得到所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;
根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述预训练的语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
上述意图识别模型的处理方法,在训练意图子类识别模型时,先通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到所述样本词条各自所属的意图大类,由于已经识别出训练样本的意图大类,对目标意图大类下的意图子类识别模型的训练,就只需要使用少量的全部属于目标意图大类的、且已标注意图子类的样本词条,具体是将这些样本词条输入预训练的语义表示网络,得到样本词条的分类向量表示,再将分类向量表示输入分类预测网络,获得样本词条属于目标意图大类下的各意图子类的预测概率,根据各预测概率确定样本词条对应的预测意图子类,最后根据所确定的预测意图子类与样本词条的标注意图子类之间的差异,对预训练的语义表示网络与分类预测网络共同进行模型训练,得到目标意图大类下的意图子类识别模型。由于输入到网络中的样本词条全部属于目标意图大类,那么仅需要少量样本即可实现网络微调训练,得到目标意图大类下的意图子类识别模型,节省了人工标注成本。此外,训练好的目标意图大类下的意图子类识别模型与上述训练好的意图大类识别模型结合,可用于对各个不同领域的词条所构成的词条集合,全面识别出对应的意图大类与意图子类,提升意图识别效率。
附图说明
图1为一个实施例中意图识别方法的应用环境图;
图2A为相关技术中识别汽车领域文本的细分意图的流程示意图;
图2B为一个实施例中意图识别方法的整体流程示意图;
图3为一个实施例中意图识别方法的流程示意图;
图4为一个实施例中目标客户端中的“搜一搜”界面的示意图;
图5为一个实施例中进行意图大类识别的流程的示意图;
图6为一个实施例中输出每个词条各自所属的意图大类的示意图;
图7为一个实施例中意图子类识别模型的结构示意图;
图8为一个实施例中训练意图大类识别模型的流程示意图;
图9为一个实施例中对意图子类识别模型进行预训练的模型结构示意图;
图10为一个实施例中微调训练意图子类识别模型的流程示意图;
图11为一个实施例中分类预测网络的网络结构示意图;
图12为一个实施例中微调训练意图子类识别模型的模型结构示意图;
图13为一个实施例中多个意图大类共享语义表示网络进行多任务训练的模型结构示意图;
图14为一个实施例中意图识别平台工具的界面示意图;
图15为一个实施例中意图识别平台的处理流程示意图;
图16为一个实施例中对待分类的Query集统计的分布情况示意图;
图17为一个实施例中意图识别装置的结构框图;
图18为一个实施例中意图识别模型的处理装置的结构框图;
图19为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
本申请实施例提供的意图识别方法与意图识别模型的处理方法,均可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。
在一个实施例中,终端102上可以安装并运行有目标客户端,服务器104可以是为目标客户端提供搜索服务的服务器,用户可以通过在目标客户端中输入搜索词条(Query)搜索想要搜索的内容。目标客户端可以是即时通讯客户端、视频客户端、电子商务客户端等等。服务器104可以搜集在目标客户端中输入的海量的搜索词条,作为待进行意图识别的词条集合,再由服务器104或终端102通过训练好的意图大类识别模型,分别对词条集合中的每个词条进行意图大类识别,得到词条集合中每个词条各自所属的意图大类,意图大类可以理解为词条所涉及的领域,例如汽车、教育、购物、金融等等。对于词条集合中属于目标意图大类的词条,服务器104或终端102进一步通过训练好的目标意图大类对应的意图子类识别模型,对属于目标意图大类的词条进行意图子类识别,得到属于目标意图大类的词条所属的意图子类,各意图子类隶属于目标意图大类,例如目标意图大类为汽车,则相应的意图子类可包括询价词、品牌词、车型词、通用词等等。
此外,服务器104或终端102还可以根据词条集合属于各类意图大类与意图子类的词条的数量分布,进行数据分析,指导搜索场景下各类内容引入。例如,当统计到大量的搜索词条中,关于某个品牌汽车的某个车型的搜索频次很高,计算机设备可以将更多的推广槽位用于投放关于该车型的信息,或者可以提升该品牌的其它车型信息的发布量,避免将投放信息所需的硬件资源与网络资源用于那些搜索量很低的内容上,提升硬件资源与网络资源的利用率。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
相关技术中,意图识别,通常只能对具体某个领域的文本的细分意图进行识别,以汽车领域为例,细分意图包括通用词、车型词、询价词、品牌词、经销商、车主服务、知识问答、摩托车等等,对于汽车领域的文本,识别细分意图包括2个阶段:在模型的训练阶段,需要先由人工标注大量的精标数据,标注出汽车领域的文本相应的细分意图,而后根据这些大量的精标数据训练关于汽车领域的细分类的多分类模型;在模型的测试阶段或模型的应用阶段,直接通过训练好的多分类模型判断文本所属的细分类意图。如图2A所示,相关技术中,以汽车领域为例,训练多分类模型,需要大量的人工标注数据,标注数据应当标注出汽车领域的词条所对应的细分意图,那么标注成本十分高昂,而且,仅限于对汽车领域的词条进行细分意图识别,如果不是汽车领域的词条仅能给出负例的识别结果,无法全面地直接对涉及很多领域的全量搜索词条进行意图识别,意图识别效果有限、效率低下。
本申请实施例提供的意图识别方法,如图2B所示,对于不同领域的词条构成的词条集合,先通过意图大类识别模型识别出意图大类,对于目标意图大类的词条,进一步通过对应的意图子类识别模型识别出相应的意图子类,可以直接地、全面识别出对应的意图大类与意图子类,提升意图识别效果。而且在训练时,通过训练好的意图大类识别模型,识别出样本词条的意图大类,使输入到意图子类识别模型中的样本词条全部属于目标意图大类,那么仅需要少量样本即可实现意图子类识别模型的网络微调训练,得到目标意图大类下的意图子类识别模型,大大节省意图子类识别模型进行模型训练所需的人工标注成本。
在一个实施例中,如图3所示,提供了一种意图识别方法,以该方法应用于图1中的计算机设备(例如终端102或服务器104)为例进行说明,包括以下步骤:
步骤302,获取待进行意图识别的词条集合。
其中,词条集合是来自各个不同的领域的词条所形成的集合。这些词条涉及多个领域,不同的领域即不同的意图大类,同一个领域中的搜索词条又可以对应不同的意图子类。例如,词条所属的领域,可以包括汽车、教育、购物、金融等等,其中汽车领域的词条又可以进一步划分为通用词、车型词、询价词、品牌词、经销商、车主服务、知识问答、摩托车等,教育领域的词条又可以进一步划分为早教、英语、培训、体能运动、游泳、书法等等。计算机设备通过对词条集合中每个词条进行意图识别,可以得到相应的意图大类与意图子类。计算机设备还可以进一步根据词条集合属于各类意图大类与意图子类的词条的数量分布,进行数据分析,指导搜索场景下各类资源引入,这样,可以将投放资源所需要的硬件资源与网络资源用于大多数群体所搜索的对象上,有效利用投放资源所需要的硬件资源与网络资源。
在一个实施例中,终端上可以安装并运行有目标客户端,对于不同用户通过目标客户端输入的搜索词条,终端可以基于输入的搜索词条,向服务器发起搜索请求,服务器响应于搜索请求反馈相应的资源或服务,服务器还可以记录这些搜索词条,形成待进行意图识别的词条集合。例如,服务器可以统计一天内、一周内或一个月内通过目标客户端输入的搜索词条,形成词条集合。目标客户端所提供的搜索服务,可以是提供资讯搜索、商品搜索、视频搜索、图文搜索等等。如图4所示,为一个实施例中目标客户端中的“搜一搜”界面的示意图,参照图4,用户可以在该界面的搜索框中输入搜索词条进行搜索,搜索范围可以包括“朋友圈”、“小程序”、“公众号”、“文章”、“音乐”、“表情”等。
步骤304,通过训练好的意图大类识别模型,分别对词条集合中的每个词条进行意图大类识别,得到词条集合中每个词条各自所属的意图大类。
本申请中,训练好的意图大类识别模型,是事先通过训练样本完成模型训练后,得到的具备自动识别搜索词条所属的意图大类的能力的机器学习模型。关于意图大类识别模型的训练过程,将在后文进行详细介绍。本申请中,对于词条集合中每个搜索词条,计算机设备均可以将其输入到训练好的意图大类识别模型中,通过该意图大类识别模型,输出每个词条各自所属的意图大类。
在一个实施例中,步骤304包括:将词条输入训练好的意图大类识别模型,输出词条的向量化表示;计算词条的向量化表示与各意图大类的意图原型表示之间的距离,对各个距离进行归一化处理后,将归一化处理后的距离最小的意图原型表示所对应的意图大类,作为词条所属的意图大类。
本申请中,意图大类识别模型可以采用用于少量样本学习的原型网络。如图5所示,为一个实施例中通过训练好的意图大类识别模型进行意图大类识别的流程的示意图。参照图5,意图大类模型包括深度语义表示单元与运算单元,计算机设备可以将词条,输入深度语义表示单元,得到词条的向量化表示,再通过运算单元计算词条的向量化表示与各意图大类的意图原型表示之间的距离,对各个距离进行归一化处理后,将归一化处理后的距离最小的意图原型表示所对应的意图大类,作为词条所属的意图大类。
计算机设备在将词条输入深度语义表示单元时,需要先通过查询字向量表,获得词条中每个字对应的字向量形成字向量序列,再将该字向量序列作为意图大类识别模型的输入,输入至深度语义表示单元中,通过深度语义表示单元中多层神经网络的运算,输出词条的向量化表示。深度语义表示单元可以采用BERT(一种自编码语言模型)进行短文本的向量化表示。
接着,计算机设备通过运算单元分别计算该向量化表示到各个意图大类的意图原型表示的距离,该距离可以是欧式距离,而后再通过归一化函数进行归一化处理,选择距离最短的意图原型表示,作为该词条对应的意图大类。其中,归一化函数例如可以是softmax函数。如图6所示,分别计算向量化表示X与各个意图大类的意图原型表示的距离:教育、购物、汽车、金融、其他,各自的意图原型表示为C1、C2、C3、C4和C5,距离表示X与汽车的意图原型表示C3的距离最近,则判定X所表示的词条属于汽车意图大类。
这样,通过训练好的意图大类识别模型,输出每个词条各自所属的意图大类,确定了词条集合中每个词条各自所属的领域,便于后续进一步采用该领域的意图子类识别模型进行意图子类的识别。
在一个实施例中,各意图大类的意图原型表示可以通过以下方式确定:
获取训练意图大类识别模型时所使用的已标注意图大类的样本词条;其中属于相同意图大类的样本词条,被划分为支持集与查询集;对于每个意图大类,将相应的支持集中样本词条输入训练好的意图大类识别模型,得到支持集中各样本词条的向量化表示,计算支持集中各样本词条的向量化表示的均值,得到各意图大类的意图原型表示。
具体地,意图大类模型在训练时是基于少量样本训练的,训练可以采用“N-way;K-shot”的方式,即每次参与训练的有N个意图大类,每个意图大类划分为支持集和查询集,支持集中样本词条的数量为K。在完成对意图大类识别模型的训练后,可以获得训练集中,属于每种意图大类的支持集中的样本词条的向量化表示。参照图6,属于同一个不规则方块代表一种意图大类,不规则方块内,外围的小圆圈代表某一意图大类的支持集中各样本词条的向量化表示,中间的小圆圈代表通过计算该支持集中各样本词条的向量化表示得到的均值,表示该某一意图大类的意图原型表示。
步骤306,对于词条集合中属于目标意图大类的词条,通过训练好的目标意图大类对应的意图子类识别模型,对属于目标意图大类的词条进行意图子类识别,得到属于目标意图大类的词条所属的意图子类,各意图子类隶属于目标意图大类。
本申请中,每种意图大类可以进一步细分为不同的意图子类,故而每个意图大类对应了不同的意图子类识别模型。可以理解的是,不同意图大类对应的意图子类识别模型的模型结构可以是相同的,仅仅是模型参数存在差异,计算机设备可以获取事先训练好的与各个意图大类对应的意图子类识别模型的模型参数,分别将其导入事先构建的初始意图子类识别模型中,获得不同意图大类对应的意图子类识别模型,再利用这些意图子类识别模型,并行地对样本词条所属的意图子类进行识别。
训练好的目标意图大类对应的意图子类识别模型,是事先通过目标意图大类的训练样本完成模型训练后,得到的具备自动识别搜索词条所属的意图子类的能力的机器学习模型。关于意图子类识别模型的训练过程,将在后文进行详细介绍。目标意图大类,是预定意图大类中的任意一种,在识别出样本词条各自所属的意图大类之后,计算机设备可以使用相应意图大类对应的意图子类识别模型,进一步对词条进行意图子类识别,得到词条所属的意图子类。
在一个实施例中,步骤306包括:获取训练好的目标意图大类对应的意图子类识别模型;查询字向量表,将词条中每个字转换为字向量后,通过意图子类识别模型中的语义表示网络,根据字向量获得词条的分类向量表示,分类向量表示用于表征词条的全局语义信息;通过意图子类识别模型中的分类预测网络,根据分类向量表示,获得词条属于目标意图大类下的各意图子类的预测概率;根据预测概率确定词条所属的意图子类。
如图7所示,为一个实施例中意图子类识别模型的结构示意图。参照图7,目标意图大类对应的意图子类识别模型包括语义表示网络与分类预测网络,语义表示网络可以采用BERT进行短文本的向量化表示,其中,语义表示网络的输入,包括属于目标意图大类的待识别的词条,将词条中每个字Tok1、Tok2、Tok3…对应的字向量E1、E2、E3…输入语义表示网络,此外,为了获得待识别的词条的全局语义信息,语义表示网络的输入还包括分类符号[CLS]对应的字向量E[CLS],与分隔符[SEP]对应的字向量E[SEP]。经过语义表示网络内部多层神经网络的运算,输出每个字对应的语义向量表示T1、T2、T3…和表征输入的词条的全局语义信息的分类向量表示T[CLS],其中语义表示网络可以采用BERT进行短文本的向量化表示。再通过分类预测网络,根据分类向量表示T[CLS]获得输入的词条属于目标意图大类下的各意图子类的预测概率,将最大的预测概率所对应的意图子类作为词条所属的意图子类。
上述意图识别方法,在获取到待进行意图识别的词条集合后,对于词条集合中的每个词条,都先通过训练好的意图大类识别模型,分别识别出每个词条各自所属的意图大类,对于其中属于同一目标意图大类的词条,再进一步通过该目标意图大类下对应的意图子类识别模型,识别出词条所属的该目标意图大类下的意图子类。这样,相比于相关技术中仅能够识别出某个领域的词条所属的意图子类,本申请对于不同领域的词条构成的词条集合,可以全面识别出对应的意图大类与意图子类,提升意图识别效果。
下面介绍意图大类识别模型的训练过程。
如图8所示,在一个实施例中,意图大类识别模型的训练步骤包括:
802,获取已标注意图大类的样本词条;
804,将属于相同意图大类的样本词条,划分为支持集与查询集;
806,对于每个意图大类,分别将相应的支持集与查询集中的样本词条输入意图大类识别模型,得到各样本词条的向量化表示,根据支持集中各样本词条的向量化表示,确定每个意图大类的意图原型表示;
808,以相应的查询集中的样本词条的向量化表示,与样本词条的标注意图大类的意图原型表示之间的差异最小化、与除标注意图大类以外的意图大类的意图原型表示之间的差异最大化为目标,构建意图大类识别损失;
810,根据意图大类识别损失,优化意图大类识别模型。
本实施例中,意图大类识别模型采用可以用于Few-shot learning的原型网络。需要获取少量的不同意图大类的精标样本数据,例如标注了意图大类分别为汽车、教育、购物、金融等。模型采用“N-way;K-shot”的方式,即每次参与训练的有随机采样的N个意图大类,每个意图大类划分为支持集和查询集,支持集中包括随机采样的样本词条,样本词条的数量可以取K,查询集中包括随机采样的样本词条,样本词条的数量可以取1,具体取值例如可以是:N=5,K=6。
在每次训练时,将参与训练的N个意图大类的支持集与查询集中的样本词条输入意图大类识别模型,得到各样本词条的向量化表示,根据支持集中各样本词条的向量化表示,确定当前训练状态下,每个意图大类的意图原型表示,模型优化的目标是:满足本意图的查询集中样本词条的向量化表示,到本意图的意图原型表示的距离最近,而到其他意图原型表示的距离最远。
在完成对意图大类识别模型的优化后,可以根据各个意图大类的训练样本的支持集中的样本词条的向量化表示,确定每个意图大类的意图原型表示。在模型的测试阶段,根据测试样本进行测试,测试样本是无标注的样本词条,测试过程与前文图5所描述的识别过程是一致的。具体地。将测试样本输入优化后意图大类识别模型中,获得测试样本的向量化表示,计算测试样本的向量化表示到各个意图大类的意图原型表示的距离,而后对各个距离进行归一化处理后,将归一化处理后的距离最小的意图原型表示所对应的意图大类,作为测试样本所属的意图大类,根据对大量测试样本的识别结果,评估对意图大类识别模型的优化效果,在优化效果满足预设的训练结束条件时,得到训练好的意图大类识别模型。
在一个实施例中,步骤808包括:对于每个意图大类,计算相应的查询集中的样本词条的向量化表示与各个意图大类的意图原型表示之间的距离,将最小距离的意图原型表示所对应的意图大类作为样本词条对应的预测意图大类;根据预测意图大类与样本词条的标注意图子类,计算交叉熵,得到每个意图大类的交叉熵损失;将每个意图大类的交叉熵损失求和,得到意图大类识别损失。
本实施例中,意图大类识别模型在训练过程中的损失函数,可以采用交叉熵损失。举例来说,每次训练时,从随机选的N个意图大类的支持集中,分别各自随机采样6个样本词条,输入意图大类识别模型,得到各样本词条的向量化表示后,对该N个意图大类,分别计算6个样本词条的向量化表示的均值,获得N个意图大类各自的意图原型表示Ci(i的取值为1至N),将从N个意图大类的查询集中分别各自采样的1个样本词条输入意图大类识别模型,得到向量化表示bi(i的取值为1至N),计算该向量化表示bi与各个意图原型表示Ci的距离,再将该各个距离归一化,得到与bi距离最近的意图原型表示,将该距离最近的意图原型表示所对应的意图大类,作为样本词条的预测意图大类,根据该预测意图大类与标注意图大类的差异,得到每个意图大类的交叉熵损失,对所有类别的交叉熵损失求和,得到意图大类识别损失,以最小化该意图大类识别损失为目标,优化意图大类识别模型。至此,通过小样本学习实现了意图大类模型的训练。
下面介绍意图子类识别模型的训练过程。
本实施例中,意图子类识别模型包括语义表示网络与分类预测网络,语义表示网络是基于语言模型的表示网络,意图子类识别实质是一个多分类任务,将训练过程分为两个阶段:预训练阶段与微调训练阶段。
通常,多分类任务的训练过程是,在预训练阶段,使用大规模无监督文本语料对基于语言模型的语义表示网络进行预训练,再采用小规模人工标注的有监督语料进行微调训练,最终完成下游多分类任务。例如,在预训练阶段,采用中文维基百科的语料,根据MLM任务与NSP任务,完成对语义表示网络(基于语言模型实现的)的预训练,预训练时的损失为采用交叉熵计算得到的Loss_MLM与Loss_NSP之和。其中,MLM任务与NSP任务主要是为了语言模型的学习,MLM任务是基于掩盖的语言模型(Masked Language Model)的简称,MLM任务通过随机掩盖掉输入序列中的Token,在语义表示网络的输出结果中取对应掩盖位置上的向量进行预测,计算预测向量与遮掩Token向量的差异损失,使预测结果尽可能逼近遮掩Token。NSP任务是下句预测任务(Next Sentence Prediction)的简称,即同时输入两句话到模型中,然后预测第2句话是不是第1句话的下一句话。
而本申请中,为保持预训练阶段与微调阶段的一致性,在预训练阶段,引入了下游多分类任务,即CLF任务,而CLF任务需要标注数据,因此,在预训练时采用搜索场景的粗标样本数据进行训练,可以更好的适配微调阶段时下游的多分类任务,也就是预训练阶段的处理任务包括MLM任务与CLF任务,损失为采用交叉熵计算得到的Loss_MLM与Loss_CLF之和。粗标样本数据是标注的意图子类不那么精准的样本数据,由于预训练阶段主要是对意图子类识别模型中基于语言模型的语义表示网络进行预训练,那么可以采用粗标样本数据对意图子类识别模型进行预训练。用于语义表示网络的预训练的粗标意图子类的粗标样本词条,可以是未经过意图大类的识别、直接采用人工方式粗略标注了意图子类的样本词条。
在一个实施例中,语义表示网络的预训练步骤包括:获取粗标意图子类的粗标样本词条,对粗标样本词条中的字进行随机遮掩处理后,将随机遮掩后的粗标样本词条输入语言模型,输出粗标样本词条的分类向量表示与遮掩位置的语义向量表示;将分类向量表示输入分类预测网络,获得粗标样本词条属于各意图子类的预测概率,根据各预测概率确定粗标样本词条对应的预测意图子类;根据遮掩位置的语义向量表示,确定遮掩位置的预测字;根据粗标样本词条的标注意图子类与预测意图子类之间的差异,以及遮掩字与预测字之间的差异,构建预训练损失;根据预训练损失训练语言模型,得到预训练的语义表示网络。
参照图9,为一个实施例中意图子类识别模型进行预训练的模型结构示意图。参照图9,每次训练时,将粗标样本词条中的每个字Tok1、Tok2、Tok3…对应的字向量E1、E2、E3…输入语义表示网络,为了获得该粗标样本词条的全局语义信息,语义表示网络的输入还包括分类符号[CLS]对应的字向量E[CLS],经过语义表示网络内部多层神经网络的运算,输出每个字对应的语义向量表示T1、T2、T3…和表征输入的粗标词条的全局语义信息的分类向量表示T[CLS],其中语义表示网络可以采用BERT进行短文本的向量化表示。根据遮掩位置的语义向量表示,确定遮掩位置的预测字。此外,再通过下游的分类预测网络,根据分类向量表示T[CLS]获得输入的粗标词条属于各意图子类的预测概率,将最大的预测概率所对应的意图子类作为粗标词条所属的预测意图子类。最后,根据粗标样本词条的标注意图子类与预测意图子类之间的差异,以及遮掩字与预测字之间的差异,构建预训练损失。
在完成对语义表示网络的预训练之后,如图10所示,为一个实施例中目标意图大类对应的意图子类识别模型的微调训练步骤,具体包括:
步骤1002,获取属于目标意图大类的、且已标注意图子类的样本词条。
具体地,计算机设备可以使用训练好的意图大类识别模型,对搜集的样本词条进行意图大类识别,得到属于目标意图大类的样本词条。再通过该人工标注的方式,对目标意图大类的样本词条标注相应的意图子类,标注的意图子类均隶属于目标意图大类,从而得到少量的精标样本数据,用于微调训练。
步骤1004,通过预训练的语义表示网络,输出样本词条的分类向量表示,将分类向量表示输入分类预测网络,通过分类预测网络,根据分类向量表示,获得样本词条属于目标意图大类下的各意图子类的预测概率,根据各预测概率确定样本词条对应的预测意图子类。
以目标意图大类为汽车为例,计算机设备获取属于汽车领域的样本词条之后,再通过人工标注方式得到少量的汽车领域标注了意图子类的样本词条,例如,意图子类可以包括通用词、车型词、询价词、品牌词、经销商等共计8个子类。在微调训练阶段,仅通过CLF任务对意图子类识别模型进行微调训练,训练过程中,同时优化语义表示网络与分类预测网络的网络参数。
具体地,计算机设备将属于目标意图大类的样本词条,直接输入预训练的语义表示网络,得到样本词条的分类向量表示,该分类向量表示表征了输入的该样本词条的全局语义信息,接着,通过分类预测网络基于该分类向量表示进行预测,确定样本词条对应的预测意图子类。
在一个实施例中,通过预训练的语义表示网络,输出样本词条的分类向量表示,包括:查询字向量表,将样本词条中每个字转换为字向量;将每个字对应的字向量、分类符号对应的字向量共同输入预训练的语义表示网络,输出每个字的语义向量表示以及分类符号对应的分类向量表示,分类向量表示用于表征样本词条的全局语义信息。
具体地,预训练的语义表示网络中包括多层卷积运算单元,计算机设备将样本词条中每个字以及分类符号对应的字向量共同输入到预训练的语义表示网络中,通过多层卷积运算单元的层层运算,得到分类符号对应的表征样本词条的全局语义信息的分类向量表示。
在一个实施例中,通过分类预测网络,根据分类向量表示,获得样本词条属于目标意图大类下的各意图子类的预测概率,包括:将分类向量表示输入分类预测网络;依次通过分类预测网络的全连接层与激活层的运算,获得样本词条属于目标意图大类下的各意图子类的预测概率。
本实施例中,分类预测网络由2层全连接层和激活层构成:
AT=WTT[CLS]+bT;
PG=WGtanh(AT)+bG;
其中,T[CLS]表示表征样本词条的全局语义信息的分类向量表示,WT表示分类预测网络中第一层全连接层的权重系数,bT表示该第一层全连接层的偏置,AT表示第一层全连接层的输出;WG表示分类预测网络中第二层全连接层的权重系数,bG表示该第二层全连接层的偏置,PG表示该第二层全连接层的输出;tanh表示激活函数。
如图11所示,为一个实施例中分类预测网络的网络结构示意图。参照图11,分类预测网络的输入是分类向量表示T[CLS],而后经过分类预测网络中两层全连接层和激活层的处理,得到获得样本词条属于目标意图大类下的各意图子类的预测概率。计算机设备可以将预测概率最大的意图子类,作为样本词条所属的预测意图子类。
如图12所示,为一个实施例中意图子类识别模型进行微调训练的模型结构示意图。具体地,将样本词条中每个字Tok1、Tok2、Tok3…对应的字向量E1、E2、E3…输入预训练的语义表示网络,此外,为了获得样本词条的全局语义信息,语义表示网络的输入还包括分类符号[CLS]对应的字向量E[CLS],经过语义表示网络内部多层神经网络的运算,输出样本词条中每个字对应的语义向量表示T1、T2、T3…和表征输入的样本词条的全局语义信息的分类向量表示T[CLS],其中语义表示网络可以采用BERT进行短文本的向量化表示。再通过分类预测网络,根据分类向量表示T[CLS]获得输入的样本词条属于目标意图大类下的各意图子类的预测概率,将最大的预测概率所对应的意图子类作为样本词条所属的预测意图子类,最后仅根据CLF任务计算相应的Loss_CLF,对语义表示网络与分类预测网络进行微调。
步骤1006,根据所确定的预测意图子类与样本词条的标注意图子类之间的差异,对语义表示网络与分类预测网络共同进行模型训练,得到目标意图大类下的意图子类识别模型。
在微调训练阶段,主要是根据少量标注了意图子类的样本,构建多分类任务的损失,作为意图子类识别模型的优化依据,根据该损失同时对语义表示网络与分类预测网络的网络参数进行优化,直至微调训练结束时,就可以得到训练好的意图子类识别模型。
在一个实施例中,步骤1006,包括:根据所确定的预测意图子类与样本词条的标注意图子类,计算交叉熵,得到意图子类识别损失;以意图子类识别损失最小化为目标,更新预训练的语义表示网络与分类预测网络的网络参数后,返回获取属于目标意图大类的、且标注意图子类的样本词条的步骤继续训练,直至满足训练停止条件。
微调训练阶段,对于目标意图大类的意图子类识别任务进行微调训练时,输入到语义表示网络中的样本词条是准确的、属于目标意图大类的样本词条,这样可以仅需要少量样本即可实现意图子类识别模型的网络微调训练,得到目标意图大类下的意图子类识别模型,大大节省意图子类识别模型进行模型训练所需的人工标注成本。在微调训练阶段,还可以采用数据增强方式,具体是在训练时通过加入对抗扰动,通过对抗训练提高模型的泛化能力。
在完成对语义表示网络的预训练之后,需要使用属于目标意图大类的且已标注意图子类的样本词条进行微调训练,得到目标意图大类对应的意图子类识别模型,这样看来,每个意图大类都需要使用该领域的样本训练相应的意图子类识别模型。为提升各个领域的意图子类识别模型的训练效率,在一个实施例中,预训练的语义表示网络的下游结构可以设置多个意图大类的细分类任务,比如同时设置有汽车领域的意图子类识别任务、教育领域的意图子类识别任务、购物领域的意图子类识别任务等,也就是说,多个意图大类对应的意图子类识别任务,共享同一个预训练的语义表示网络。
如图13所示,多个意图大类共享语义表示网络的编码,每个意图大类又各自设置独立的下游结构进行微调训练,具体可以采用多任务的训练方式,总的损失函数设置如下:
其中,N表示意图大类的总数,Lossi表示每个意图大类的损失。
至此,意图子类识别模型完成了小样本学习。
本申请实施例,还提供了意图识别平台工具。如图14所示,当业务方存在需要识别某个领域的Query的意图时,可以在意图识别平台工具中,定义该领域以及该领域的各个细分意图,并提供相应的标注样本,如对该领域的样本标注了一级类别、二级类别、三级类别、四级类别等,提交至意图识别平台。意图识别平台基于提交的样本进行模型训练,并保存模型。平台基于保存的模型,可对新提交Query数据进行意图识别。
在一个实施例中,步骤302,获取待进行意图识别的词条集合,包括:获取预定周期内资源搜索平台的全量搜索词条;方法还包括:在得到全量搜索词条中各词条所属的意图大类与意图子类之后,确定每个意图大类下的各个意图子类的词条的数量分布;在资源搜索平台中,按数量分布发布属于相应意图类别的资源。
完整处理流程如图15所示。参照图15,该意图识别工具平台包括2个方面的功能。其一是分类能力构建,也就是,业务方根据行业分析需求,定义意图类别,标注小样本数据,并提交小样本数据到意图识别平台,创建一个训练意图识别模型的任务,而后自动化触发训练流程,训练结束后可以产出对应的分类模型。其二是对Query集进行分类预测,业务方可以通过意图识别平台工具提交一个待分类的Query集,利用已经训练好的某个模型进行预测,预测任务运行结束后,可以查看预测结果的统计情况,同时可以下载提交的所有Query的预测结果。例如,业务方可以从基础业务日志中,获取最近1天在目标客户端的全量搜索Query,利用已经训练好的某个模型进行预测,任务运行结束后,可以查看预测结果的统计情况,同时可以查看抽样Query的预测结果。以汽车领域为例,使用方提交一个待分类的Query集,最终可以得到每条Query的预测结果如下表所示,统计的分布情况如图16所示。
在一个实施例中,还提供了一种意图识别模型的处理方法,以该方法应用于图1中的计算机设备(例如终端102或服务器104)为例进行说明,例如,服务器104可以通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到样本词条各自所属的意图大类,而后,获取属于目标意图大类的、且已标注意图子类的样本词条,再将样本词条输入预训练的语义表示网络,得到样本词条的分类向量表示,将分类向量表示输入分类预测网络,获得样本词条属于目标意图大类下的各意图子类的预测概率,根据各预测概率确定样本词条对应的预测意图子类,最后根据所确定的预测意图子类与样本词条的标注意图子类之间的差异,对预训练的语义表示网络与分类预测网络共同进行模型训练,以得到目标意图大类下的意图子类识别模型。
可选地,将样本词条输入预训练的语义表示网络,得到样本词条的分类向量表示,包括:查询字向量表,将样本词条中每个字转换为字向量;将每个字对应的字向量、分类符号对应的字向量共同输入预训练的语义表示网络,输出每个字的语义向量表示以及分类符号对应的分类向量表示,分类向量表示用于表征样本词条的全局语义信息。
可选地,将分类向量表示输入分类预测网络,获得样本词条属于目标意图大类下的各意图子类的预测概率,包括:将分类向量表示输入分类预测网络;依次通过分类预测网络的全连接层与激活层的运算,获得样本词条属于目标意图大类下的各意图子类的预测概率。
可选地,根据所确定的预测意图子类与样本词条的标注意图子类之间的差异,对预训练的语义表示网络与分类预测网络共同进行模型训练,得到目标意图大类下的意图子类识别模型,包括:根据所确定的预测意图子类与样本词条的标注意图子类,计算交叉熵,得到意图子类识别损失;以意图子类识别损失最小化为目标,更新预训练的语义表示网络与分类预测网络的网络参数后,返回获取属于目标意图大类的、且标注意图子类的样本词条的步骤继续训练,直至满足训练停止条件。
关于该意图识别模型的处理方法的各个步骤的描述及实施例,可参考前文对意图子类识别模型的训练步骤的描述。该意图识别模型的处理方法,在训练意图子类识别模型时,先通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到样本词条各自所属的意图大类,由于已经识别出训练样本的意图大类,对目标意图大类下的意图子类识别模型的训练,就只需要使用少量的全部属于目标意图大类的、且已标注意图子类的样本词条,具体是将这些样本词条输入预训练的语义表示网络,得到样本词条的分类向量表示,再将分类向量表示输入分类预测网络,获得样本词条属于目标意图大类下的各意图子类的预测概率,根据各预测概率确定样本词条对应的预测意图子类,最后根据所确定的预测意图子类与样本词条的标注意图子类之间的差异,对预训练的语义表示网络与分类预测网络共同进行模型训练,得到目标意图大类下的意图子类识别模型。由于输入到网络中的样本词条全部属于目标意图大类,那么仅需要少量样本即可实现网络微调训练,得到目标意图大类下的意图子类识别模型,节省了人工标注成本。此外,训练好的目标意图大类下的意图子类识别模型与上述训练好的意图大类识别模型结合,可用于对各个不同领域的词条所构成的词条集合,全面识别出对应的意图大类与意图子类,提升意图识别效率。
在一个具体的实施例中,意图识别方法包括以下步骤:
获取已标注意图大类的样本词条;
将属于相同意图大类的样本词条,划分为支持集与查询集;
对于每个意图大类,分别将相应的支持集与查询集中的样本词条输入意图大类识别模型,得到各样本词条的向量化表示,根据支持集中各样本词条的向量化表示,确定每个意图大类的意图原型表示;
对于每个意图大类,计算相应的查询集中的样本词条的向量化表示与各个意图大类的意图原型表示之间的距离,将最小距离的意图原型表示所对应的意图大类作为样本词条对应的预测意图大类;
根据预测意图大类与样本词条的标注意图子类,计算交叉熵,得到每个意图大类的交叉熵损失;
将每个意图大类的交叉熵损失求和,得到意图大类识别损失;
根据意图大类识别损失,优化意图大类识别模型;
获取粗标意图子类的粗标样本词条,对粗标样本词条中的字进行随机遮掩处理后,将随机遮掩后的粗标样本词条输入语言模型,输出粗标样本词条的分类向量表示与遮掩位置的语义向量表示;
将分类向量表示输入分类预测网络,获得粗标样本词条属于各意图子类的预测概率,根据各预测概率确定粗标样本词条对应的预测意图子类;根据遮掩位置的语义向量表示,确定遮掩位置的预测字;
根据粗标样本词条的标注意图子类与预测意图子类之间的差异,以及遮掩字与预测字之间的差异,构建预训练损失;
根据预训练损失训练语言模型,得到预训练的语义表示网络;
获取属于目标意图大类的、且已标注意图子类的样本词条;
通查询字向量表,将样本词条中每个字转换为字向量;
将每个字对应的字向量、分类符号对应的字向量共同输入预训练的语义表示网络,输出每个字的语义向量表示以及分类符号对应的分类向量表示,分类向量表示用于表征样本词条的全局语义信息;
将分类向量表示输入分类预测网络,将分类向量表示输入分类预测网络,依次通过分类预测网络的全连接层与激活层的运算,获得样本词条属于目标意图大类下的各意图子类的预测概率,根据各预测概率确定样本词条对应的预测意图子类;
根据所确定的预测意图子类与样本词条的标注意图子类,计算交叉熵,得到意图子类识别损失;
以意图子类识别损失最小化为目标,更新预训练的语义表示网络与分类预测网络的网络参数后,返回获取属于目标意图大类的、且标注意图子类的样本词条的步骤继续训练,直至满足训练停止条件,得到目标意图大类下的意图子类识别模型;
获取待进行意图识别的词条集合;
通过训练好的意图大类识别模型,分别对词条集合中的每个词条进行意图大类识别,得到词条集合中每个词条各自所属的意图大类;
对于词条集合中属于目标意图大类的词条,通过训练好的目标意图大类对应的意图子类识别模型,对属于目标意图大类的词条进行意图子类识别,得到属于目标意图大类的词条所属的意图子类,各意图子类隶属于目标意图大类。
上述意图识别方法,在训练意图子类识别模型时,先通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到样本词条各自所属的意图大类,由于已经识别出训练样本的意图大类,对目标意图大类下的意图子类识别模型的训练,就只需要使用少量的全部属于目标意图大类的、且已标注意图子类的样本词条,节省了人工标注成本。此外,训练好的目标意图大类下的意图子类识别模型与上述训练好的意图大类识别模型结合,可用于对各个不同领域的词条所构成的词条集合,全面识别出对应的意图大类与意图子类,提升意图识别效率。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的意图识别方法的意图识别装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个意图识别装置实施例中的具体限定可以参见上文中对于意图识别方法的限定,在此不再赘述。
在一个实施例中,如图17所示,提供了一种意图识别装置1700,包括:获取模块1702、意图大类识别模块1704和意图子类识别模块1706,其中:
获取模块1702,用于获取待进行意图识别的词条集合;
意图大类识别模块1704,用于通过训练好的意图大类识别模型,分别对词条集合中的每个词条进行意图大类识别,得到词条集合中每个词条各自所属的意图大类;
意图子类识别模块1706,用于对于词条集合中属于目标意图大类的词条,通过训练好的目标意图大类对应的意图子类识别模型,对属于目标意图大类的词条进行意图子类识别,得到属于目标意图大类的词条所属的意图子类,各意图子类隶属于目标意图大类。
在一个实施例中,意图大类识别模块,还用于将词条输入训练好的意图大类识别模型,输出词条的向量化表示,计算词条的向量化表示与各意图大类的意图原型表示之间的距离,对各个距离进行归一化处理后,将归一化处理后的距离最小的意图原型表示所对应的意图大类,作为词条所属的意图大类。
在一个实施例中,装置还包括意图原型表示确定模块,用于获取训练意图大类识别模型时所使用的已标注意图大类的样本词条,将属于相同意图大类的样本词条,划分为支持集与查询集,对于每个意图大类,将相应的支持集中样本词条输入训练好的意图大类识别模型,得到支持集中各样本词条的向量化表示,计算支持集中各样本词条的向量化表示的均值,得到各意图大类的意图原型表示。
在一个实施例中,意图子类识别模块,还用于获取训练好的目标意图大类对应的意图子类识别模型,查询字向量表,将词条中每个字转换为字向量后,通过意图子类识别模型中的语义表示网络,根据字向量获得词条的分类向量表示,分类向量表示用于表征词条的全局语义信息,通过意图子类识别模型中的分类预测网络,根据分类向量表示,获得词条属于目标意图大类下的各意图子类的预测概率,根据预测概率确定词条所属的意图子类。
在一个实施例中,装置还包括:
第一训练模块,用于获取已标注意图大类的样本词条;将属于相同意图大类的样本词条,划分为支持集与查询集;对于每个意图大类,分别将相应的支持集与查询集中的样本词条输入意图大类识别模型,得到各样本词条的向量化表示,根据支持集中各样本词条的向量化表示,确定每个意图大类的意图原型表示;以相应的查询集中的样本词条的向量化表示,与样本词条的标注意图大类的意图原型表示之间的差异最小化、与除标注意图大类以外的意图大类的意图原型表示之间的差异最大化为目标,构建意图大类识别损失;根据意图大类识别损失,优化意图大类识别模型。
在一个实施例中,第一训练模块,还用于对于每个意图大类,计算相应的查询集中的样本词条的向量化表示与各个意图大类的意图原型表示之间的距离,将最小距离的意图原型表示所对应的意图大类作为样本词条对应的预测意图大类;根据预测意图大类与样本词条的标注意图子类,计算交叉熵,得到每个意图大类的交叉熵损失;将每个意图大类的交叉熵损失求和,得到意图大类识别损失。
在一个实施例中,装置还包括:
第二训练模块,用于获取属于目标意图大类的、且已标注意图子类的样本词条;通过预训练的语义表示网络,输出样本词条的分类向量表示,将分类向量表示输入分类预测网络,通过分类预测网络,根据分类向量表示,获得样本词条属于目标意图大类下的各意图子类的预测概率,根据各预测概率确定样本词条对应的预测意图子类;根据所确定的预测意图子类与样本词条的标注意图子类之间的差异,对语义表示网络与分类预测网络共同进行模型训练,得到目标意图大类下的意图子类识别模型。
在一个实施例中,第二训练模块,还用于查询字向量表,将样本词条中每个字转换为字向量;将每个字对应的字向量、分类符号对应的字向量共同输入预训练的语义表示网络,输出每个字的语义向量表示以及分类符号对应的分类向量表示,分类向量表示用于表征样本词条的全局语义信息。
在一个实施例中,第二训练模块,还用于将分类向量表示输入分类预测网络;依次通过分类预测网络的全连接层与激活层的运算,获得样本词条属于目标意图大类下的各意图子类的预测概率。
在一个实施例中,第二训练模块,还用于根据所确定的预测意图子类与样本词条的标注意图子类,计算交叉熵,得到意图子类识别损失;以意图子类识别损失最小化为目标,更新预训练的语义表示网络与分类预测网络的网络参数后,返回获取属于目标意图大类的、且标注意图子类的样本词条的步骤继续训练,直至满足训练停止条件。
在一个实施例中,第二训练模块,还包括预训练子模块,用于获取粗标意图子类的粗标样本词条,对粗标样本词条中的字进行随机遮掩处理后,将随机遮掩后的粗标样本词条输入语言模型,输出粗标样本词条的分类向量表示与遮掩位置的语义向量表示;将分类向量表示输入分类预测网络,获得粗标样本词条属于各意图子类的预测概率,根据各预测概率确定粗标样本词条对应的预测意图子类;根据遮掩位置的语义向量表示,确定遮掩位置的预测字;根据粗标样本词条的标注意图子类与预测意图子类之间的差异,以及遮掩字与预测字之间的差异,构建预训练损失;根据预训练损失训练语言模型,得到预训练的语义表示网络。
在一个实施例中,获取模块,还用于获取预定周期内资源搜索平台的全量搜索词条;装置还包括:资源发布模块,用于在得到全量搜索词条中各词条所属的意图大类与意图子类之后,确定每个意图大类下的各个意图子类的词条的数量分布;在资源搜索平台中,按数量分布发布属于相应意图类别的资源。
上述意图识别装置,在获取到待进行意图识别的词条集合后,对于词条集合中的每个词条,都先通过训练好的意图大类识别模型,分别识别出每个词条各自所属的意图大类,对于其中属于同一目标意图大类的词条,再进一步通过该目标意图大类下对应的意图子类识别模型,识别出词条所属的该目标意图大类下的意图子类。这样,相比于相关技术中仅能够识别出某个领域的词条所属的意图子类,本申请对于不同领域的词条构成的词条集合,可以全面识别出对应的意图大类与意图子类,提升意图识别效率。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的意图识别模型的处理方法的意图识别装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个意图识别模型的处理装置实施例中的具体限定可以参见上文中对于意图识别模型的处理方法的限定,在此不再赘述。
在一个实施例中,如图18所示,提供了一种意图识别模型的处理装置1800,包括:获取模块1802、预测模块1804和更新模块1806,其中:
获取模块1802,用于通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到样本词条各自所属的意图大类,获取属于目标意图大类的、且已标注意图子类的样本词条;
预测模块1804,用于将样本词条输入预训练的语义表示网络,得到样本词条的分类向量表示,将分类向量表示输入分类预测网络,获得样本词条属于目标意图大类下的各意图子类的预测概率,根据各预测概率确定样本词条对应的预测意图子类;
更新模块1806,用于根据所确定的预测意图子类与样本词条的标注意图子类之间的差异,对预训练的语义表示网络与分类预测网络共同进行模型训练,得到目标意图大类下的意图子类识别模型。
在一个实施例中,预测模块1804,还用于查询字向量表,将样本词条中每个字转换为字向量;将每个字对应的字向量、分类符号对应的字向量共同输入预训练的语义表示网络,输出每个字的语义向量表示以及分类符号对应的分类向量表示,分类向量表示用于表征样本词条的全局语义信息。
在一个实施例中,预测模块1804,还用于将分类向量表示输入分类预测网络;依次通过分类预测网络的全连接层与激活层的运算,获得样本词条属于目标意图大类下的各意图子类的预测概率。
在一个实施例中,更新模块1806,还用于根据所确定的预测意图子类与样本词条的标注意图子类,计算交叉熵,得到意图子类识别损失;以意图子类识别损失最小化为目标,更新预训练的语义表示网络与分类预测网络的网络参数后,返回获取属于目标意图大类的、且标注意图子类的样本词条的步骤继续训练,直至满足训练停止条件。
上述意图识别模型的处理装置,在训练意图子类识别模型时,先通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到样本词条各自所属的意图大类,由于已经识别出训练样本的意图大类,对目标意图大类下的意图子类识别模型的训练,就只需要使用少量的全部属于目标意图大类的、且已标注意图子类的样本词条,具体是将这些样本词条输入预训练的语义表示网络,得到样本词条的分类向量表示,再将分类向量表示输入分类预测网络,获得样本词条属于目标意图大类下的各意图子类的预测概率,根据各预测概率确定样本词条对应的预测意图子类,最后根据所确定的预测意图子类与样本词条的标注意图子类之间的差异,对预训练的语义表示网络与分类预测网络共同进行模型训练,得到目标意图大类下的意图子类识别模型。由于输入到网络中的样本词条全部属于目标意图大类,那么仅需要少量样本即可实现网络微调训练,得到目标意图大类下的意图子类识别模型,节省了人工标注成本。
上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1所示的终端或服务器,其内部结构图可以如图19所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的服务器或终端通过网络连接通信。该计算机程序被处理器执行时以实现一种意图识别方法或意图识别模型的处理方法。
当该计算机设备为服务器时,该计算机设备的非易失性存储介质,还存储有数据库。当该计算机设备为终端时,该计算机设备还可以包括与系统总线连接的显示单元和输入装置。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图19中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各个实施例所描述的意图识别方法或意图识别模型的处理方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例所描述的意图识别方法或意图识别模型的处理方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各个实施例所描述的意图识别方法或意图识别模型的处理方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (18)
1.一种意图识别方法,其特征在于,所述方法包括:
获取待进行意图识别的词条集合;
通过训练好的意图大类识别模型,分别对所述词条集合中的每个词条进行意图大类识别,得到所述词条集合中每个词条各自所属的意图大类;
对于所述词条集合中属于目标意图大类的词条,通过训练好的所述目标意图大类对应的意图子类识别模型,对所述属于目标意图大类的词条进行意图子类识别,得到所述属于目标意图大类的词条所属的意图子类,各所述意图子类隶属于所述目标意图大类。
2.根据权利要求1所述的方法,其特征在于,所述通过训练好的意图大类识别模型,分别对所述词条集合中的每个词条进行意图大类识别,得到所述词条集合中每个词条各自所属的意图大类,包括:
将所述词条输入训练好的意图大类识别模型,输出所述词条的向量化表示;
计算所述词条的向量化表示与各意图大类的意图原型表示之间的距离,对各个距离进行归一化处理后,将归一化处理后的距离最小的意图原型表示所对应的意图大类,作为所述词条所属的意图大类。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取训练所述意图大类识别模型时所使用的已标注意图大类的样本词条;
将属于相同意图大类的样本词条,划分为支持集与查询集;
对于每个意图大类,将相应的支持集中样本词条输入所述训练好的意图大类识别模型,得到所述支持集中各样本词条的向量化表示,计算所述支持集中各样本词条的向量化表示的均值,得到各意图大类的意图原型表示。
4.根据权利要求1所述的方法,其特征在于,所述通过训练好的所述目标意图大类对应的意图子类识别模型,对所述属于目标意图大类的词条进行意图子类识别,得到所述属于目标意图大类的词条所属的意图子类,包括:
获取训练好的所述目标意图大类对应的意图子类识别模型;
查询字向量表,将所述词条中每个字转换为字向量后,通过所述意图子类识别模型中的语义表示网络,根据所述字向量获得所述词条的分类向量表示,所述分类向量表示用于表征所述词条的全局语义信息;
通过所述意图子类识别模型中的分类预测网络,根据所述分类向量表示,获得所述词条属于所述目标意图大类下的各意图子类的预测概率;
根据所述预测概率确定所述词条所属的意图子类。
5.根据权利要求1所述的方法,其特征在于,所述意图大类识别模型的训练步骤包括:
获取已标注意图大类的样本词条;
将属于相同意图大类的样本词条,划分为支持集与查询集;
对于每个意图大类,分别将相应的支持集与查询集中的样本词条输入意图大类识别模型,得到各样本词条的向量化表示,根据所述支持集中各样本词条的向量化表示,确定每个意图大类的意图原型表示;
以相应的查询集中的样本词条的向量化表示,与所述样本词条的标注意图大类的意图原型表示之间的差异最小化、与除所述标注意图大类以外的意图大类的意图原型表示之间的差异最大化为目标,构建意图大类识别损失;
根据所述意图大类识别损失,优化所述意图大类识别模型。
6.根据权利要求5所述的方法,其特征在于,所述以相应的查询集中的样本词条的向量化表示,与所述样本词条的标注意图大类的意图原型表示之间的差异最小化、与除所述标注意图大类以外的意图大类的意图原型表示之间的差异最大化为目标,构建意图大类识别损失,包括:
对于每个意图大类,计算相应的查询集中的样本词条的向量化表示与各个意图大类的意图原型表示之间的距离,将最小距离的意图原型表示所对应的意图大类作为所述样本词条对应的预测意图大类;根据所述预测意图大类与所述样本词条的标注意图子类,计算交叉熵,得到每个意图大类的交叉熵损失;将每个意图大类的交叉熵损失求和,得到意图大类识别损失。
7.根据权利要求1所述的方法,其特征在于,所述意图子类识别模型的训练步骤包括:
获取属于目标意图大类的、且已标注意图子类的样本词条;
通过预训练的语义表示网络,输出所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,通过所述分类预测网络,根据所述分类向量表示,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;
根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
8.根据权利要求7所述的方法,其特征在于,所述通过预训练的语义表示网络,输出所述样本词条的分类向量表示,包括:
查询字向量表,将所述样本词条中每个字转换为字向量;
将所述每个字对应的字向量、分类符号对应的字向量共同输入所述预训练的语义表示网络,输出所述每个字的语义向量表示以及所述分类符号对应的分类向量表示,所述分类向量表示用于表征所述样本词条的全局语义信息。
9.根据权利要求7所述的方法,其特征在于,所述通过所述分类预测网络,根据所述分类向量表示,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,包括:
将所述分类向量表示输入所述分类预测网络;
依次通过所述分类预测网络的全连接层与激活层的运算,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率。
10.根据权利要求7所述的方法,其特征在于,所述根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型,包括:
根据所确定的预测意图子类与所述样本词条的标注意图子类,计算交叉熵,得到意图子类识别损失;
以所述意图子类识别损失最小化为目标,更新所述预训练的语义表示网络与所述分类预测网络的网络参数后,返回所述获取属于目标意图大类的、且标注意图子类的样本词条的步骤继续训练,直至满足训练停止条件。
11.根据权利要求7所述的方法,其特征在于,所述语义表示网络的预训练步骤包括:
获取粗标意图子类的粗标样本词条,对所述粗标样本词条中的字进行随机遮掩处理后,将随机遮掩后的粗标样本词条输入语言模型,输出所述粗标样本词条的分类向量表示与遮掩位置的语义向量表示;
将所述分类向量表示输入分类预测网络,获得所述粗标样本词条属于各意图子类的预测概率,根据各所述预测概率确定所述粗标样本词条对应的预测意图子类;根据所述遮掩位置的语义向量表示,确定遮掩位置的预测字;
根据所述粗标样本词条的标注意图子类与所述预测意图子类之间的差异,以及遮掩字与所述预测字之间的差异,构建预训练损失;
根据所述预训练损失训练所述语言模型,得到预训练的语义表示网络。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述获取待进行意图识别的词条集合,包括:
获取预定周期内资源搜索平台的全量搜索词条;
所述方法还包括:
在得到所述全量搜索词条中各词条所属的意图大类与意图子类之后,确定每个意图大类下的各个意图子类的词条的数量分布;
在所述资源搜索平台中,按所述数量分布发布属于相应意图类别的资源。
13.一种意图识别模型的处理方法,其特征在于,所述方法包括:
通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到所述样本词条各自所属的意图大类;
获取属于目标意图大类的、且已标注意图子类的样本词条;
将所述样本词条输入预训练的语义表示网络,得到所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;
根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述预训练的语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
14.一种意图识别装置,其特征在于,所述装置包括:
获取模块,用于获取待进行意图识别的词条集合;
意图大类识别模块,用于通过训练好的意图大类识别模型,分别对所述词条集合中的每个词条进行意图大类识别,得到所述词条集合中每个词条各自所属的意图大类;
意图子类识别模块,用于对于所述词条集合中属于目标意图大类的词条,通过训练好的所述目标意图大类对应的意图子类识别模型,对所述属于目标意图大类的词条进行意图子类识别,得到所述属于目标意图大类的词条所属的意图子类,各所述意图子类隶属于所述目标意图大类。
15.一种意图识别模型的处理装置,其特征在于,所述装置包括:
获取模块,用于通过训练好的意图大类识别模型,对样本词条进行意图大类识别,得到所述样本词条各自所属的意图大类,获取属于目标意图大类的、且已标注意图子类的样本词条;
预测模块,用于将所述样本词条输入预训练的语义表示网络,得到所述样本词条的分类向量表示,将所述分类向量表示输入分类预测网络,获得所述样本词条属于所述目标意图大类下的各意图子类的预测概率,根据各所述预测概率确定所述样本词条对应的预测意图子类;
更新模块,用于根据所确定的预测意图子类与所述样本词条的标注意图子类之间的差异,对所述预训练的语义表示网络与所述分类预测网络共同进行模型训练,得到所述目标意图大类下的意图子类识别模型。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210380464.4A CN115129863A (zh) | 2022-04-12 | 2022-04-12 | 意图识别方法、装置、设备、存储介质和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210380464.4A CN115129863A (zh) | 2022-04-12 | 2022-04-12 | 意图识别方法、装置、设备、存储介质和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115129863A true CN115129863A (zh) | 2022-09-30 |
Family
ID=83376493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210380464.4A Pending CN115129863A (zh) | 2022-04-12 | 2022-04-12 | 意图识别方法、装置、设备、存储介质和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129863A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117786427A (zh) * | 2024-02-26 | 2024-03-29 | 星云海数字科技股份有限公司 | 一种车型主数据匹配方法及系统 |
-
2022
- 2022-04-12 CN CN202210380464.4A patent/CN115129863A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117786427A (zh) * | 2024-02-26 | 2024-03-29 | 星云海数字科技股份有限公司 | 一种车型主数据匹配方法及系统 |
CN117786427B (zh) * | 2024-02-26 | 2024-05-24 | 星云海数字科技股份有限公司 | 一种车型主数据匹配方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | Convolutional matrix factorization for document context-aware recommendation | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN110909164A (zh) | 一种基于卷积神经网络的文本增强语义分类方法及系统 | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN113627447B (zh) | 标签识别方法、装置、计算机设备、存储介质及程序产品 | |
CN113505204B (zh) | 召回模型训练方法、搜索召回方法、装置和计算机设备 | |
CN112100401B (zh) | 面向科技服务的知识图谱构建方法、装置、设备及存储介质 | |
CN111274822A (zh) | 语义匹配方法、装置、设备及存储介质 | |
CN112101042A (zh) | 文本情绪识别方法、装置、终端设备和存储介质 | |
CN114896386A (zh) | 基于BiLSTM的电影评论语义情感分析方法及系统 | |
CN116304748A (zh) | 一种文本相似度计算方法、系统、设备及介质 | |
Zhen et al. | The research of convolutional neural network based on integrated classification in question classification | |
Feng et al. | Ontology semantic integration based on convolutional neural network | |
CN114282528A (zh) | 一种关键词提取方法、装置、设备及存储介质 | |
CN115129863A (zh) | 意图识别方法、装置、设备、存储介质和计算机程序产品 | |
CN117197569A (zh) | 图像审核方法、图像审核模型训练方法、装置和设备 | |
Menéndez et al. | Damegender: Writing and Comparing Gender Detection Tools. | |
Ermatita et al. | Sentiment Analysis of COVID-19 using Multimodal Fusion Neural Networks. | |
CN116975271A (zh) | 文本相关性的确定方法、装置、计算机设备和存储介质 | |
CN116541517A (zh) | 文本信息处理方法、装置、设备、软件程序以及存储介质 | |
CN113869068A (zh) | 场景服务推荐方法、装置、设备及存储介质 | |
CN113157892A (zh) | 用户意图处理方法、装置、计算机设备及存储介质 | |
CN112925983A (zh) | 一种电网资讯信息的推荐方法及系统 | |
CN116050428B (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 |