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

基于小样本语料的意图分类方法、装置及计算机设备与流程

2022-05-18 16:20:04 来源:中国专利 TAG:


1.本技术涉及人工智能领域,特别涉及一种基于小样本语料的意图分类方法、装置及计算机设备。


背景技术:

2.意图分类是机器人的重要功能,意图分类指的是机器人需要对用户的意图进行识别。例如,用户a:“帮我查查明天的天气如何”,用户a的意图为“查询天气”。用户b:“你好啊,你的名字叫什么”,用户b的意图为闲聊。聊天机器人要能够准确识别出用户的意图才能够为后续处理(如词槽抽取)奠定基础,提高用户满意程度。
3.机器人意图分类通常可以分为闲聊型和任务型,相关技术中,意图分类通常采用基于监督学习的方法实现,该方法需要大量人工标注的数据。在实际应用场景中,很少或者几乎没有可以利用的与实际业务相关的语料,随着一段时间的对话日志积累,能够获取与实际业务相关的语料数据,然而通过人工对上述语料数据进行标注会耗费大量的人力、物力和财力资源。


技术实现要素:

4.本技术的旨在至少一定程度解决现有技术的问题,提供一种基于小样本语料的意图分类方法、装置及计算机设备,能够在少量标注样本和未标注样本的基础上得到无需微调的意图分类模型,节省人力、物力和财力资源,实现意图分类。
5.本技术实施例的技术方案如下:
6.第一方面,本技术提供了一种基于小样本语料的意图分类方法,所述方法包括:
7.构建第一样本数据集,所述第一样本数据集包括带标签样本数据集和无标签样本数据集,其中,所述带标签样本数据集包括多个第一样本语料和所述第一样本语料对应的标注标签,所述无标签样本数据集包括多个无标注标签的第二样本语料;
8.获取多个初始弱分类模型,所述多个初始弱分类模型设置有不同的模板-分类标签对,所述模板-分类标签对用于表征模板与分类标签的映射关系;
9.基于所述带标签样本数据集对各个所述初始弱分类模型进行训练,得到与所述多个初始弱分类模型逐一对应的目标弱分类模型;
10.针对无标签样本数据集中的每一个第二样本语料,输入至各个所述目标弱分类模型中,得到各个所述目标弱分类模型输出的对应于所述第二样本语料的第一预测分类标签;
11.基于所有所述第二样本语料和各个所述第二样本语料对应的第一预测分类标签,构建第二样本数据集;
12.基于所述第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型;
13.利用所述目标意图分类模型进行意图分类,输出意图分类结果。
14.根据本技术的一些实施例,所述带标签样本数据集包括带标签样本训练集和带标签样本测试集;
15.所述基于所述带标签样本数据集对各个所述初始弱分类模型进行训练,得到与所述多个初始弱分类模型逐一对应的目标弱分类模型,包括:
16.基于所述带标签样本训练集对各个所述初始弱分类模型进行训练,得到与所述多个初始弱分类模型逐一对应的目标弱分类模型;
17.在所述得到与所述多个初始弱分类模型逐一对应的目标弱分类模型之后,所述方法还包括:
18.遍历每一个所述目标弱分类模型,针对当前遍历的所述目标弱分类模型,执行如下处理:
19.将所述带标签样本测试集中的每个第一样本语料输入所述目标弱分类模型,以使所述目标弱分类模型输出与各个所述第一样本语料对应的第二预测分类标签;
20.根据各个所述第一样本语料对应的所述第二预测分类标签和所述标注标签,确定所述目标弱分类模型的预测准确率。
21.根据本技术的一些实施例,所述基于所述带标签样本训练集对各个所述初始弱分类模型进行训练,得到与所述多个初始弱分类模型逐一对应的目标弱分类模型,包括:
22.将所述带标签样本训练集的每个第一样本语料输入所述初始弱分类模型,以使所述初始弱分类模型输出第三预测分类标签;
23.根据各个所述第一样本语料对应的所述第三预测分类标签和所述标注标签,确定所述初始弱分类模型的第一损失函数的值;
24.在所述第一损失函数的值满足预设的训练结束条件情况下,结束训练,得到所述目标弱分类模型;
25.在所述第一损失函数的值不满足预设的训练结束条件情况下,调整所述初始弱分类模型的模型参数,并基于所述带标签样本训练集继续对所述初始弱分类模型进行训练。
26.根据本技术的一些实施例,所述基于所有所述第二样本语料和各个所述第二样本语料对应的第一预测分类标签,构建第二样本数据集,包括:
27.根据各个所述目标弱分类模型的预测准确率和各个所述目标弱分类模型输出的第四预测分类标签,确定各个所述第二样本语料对应的第一预测分类标签;
28.根据所有所述第二样本语料和各个所述第二样本语料对应的所述第一预测分类标签构建所述第二样本数据集。
29.根据本技术的一些实施例,所述根据各个所述目标弱分类模型的预测准确率和各个所述目标弱分类模型输出的第四预测分类标签,确定各个所述第二样本语料对应的第一预测分类标签,计算公式为:
[0030][0031]
其中,ω(p)表示所述预测准确率,s
p
(l|x)表示所述第四预测分类标签,p表示所述模板-分类标签对,x表示所述第二样本语料,l表示所述第一预测分类标签。
[0032]
根据本技术的一些实施例,所述基于所述第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型,包括:
[0033]
将所述第二样本数据集的每一个第二样本语料输入所述初始意图分类模型,以使所述初始意图分类模型输出第五预测分类标签;
[0034]
根据各个所述第二样本语料对应的所述第五预测分类标签和所述第一预测分类标签,确定所述初始意图分类模型的第二损失函数的值;
[0035]
在所述第二损失函数的值满足预设的训练结束条件情况下,结束训练,得到所述目标意图分类模型;
[0036]
在所述第二损失函数的值不满足预设的训练结束条件情况下,调整所述初始弱分类模型的模型参数,并基于所述带标签样本训练集继续对所述初始弱分类模型进行训练。
[0037]
根据本技术的一些实施例,所述根据各个所述第二样本语料对应的所述第五预测分类标签和所述第一预测分类标签,确定所述初始意图分类模型的第二损失函数的值,包括:
[0038]
利用kl散度计算所述第五预测分类标签的分布与所述第一预测分类标签的分布之间的距离,得到kl散度值;
[0039]
根据所述kl散度值,确定所述第二损失函数的值。
[0040]
第二方面,本技术提供了基于小样本语料的意图分类装置,包括:
[0041]
数据集构建模块,用于构建第一样本数据集,所述第一样本数据集包括带标签样本数据集和无标签样本数据集,所述带标签数据集,其中,所述带标签样本数据集包括多个第一样本语料和所述第一样本语料对应的标注标签,所述无标签样本数据集包括多个无标注标签的第二样本语料;
[0042]
模型获取模块,用于获取多个初始弱分类模型,所述多个初始弱分类模型设置有不同的模板-分类标签对,所述模板-分类标签对用于表征模板与分类标签的映射关系;
[0043]
第一训练模块,用于基于所述带标签样本数据集对各个所述初始弱分类模型进行训练,得到与所述多个初始弱分类模型逐一对应的目标弱分类模型;
[0044]
数据标注模块,用于针对无标签样本数据集中的每一个第二样本语料,输入至各个所述目标弱分类模型中,得到各个所述目标弱分类模型输出的对应于所述第二样本语料的第一预测分类标签;
[0045]
数据集构建模块还用于基于所有所述第二样本语料和各个所述第二样本语料对应的第一预测分类标签,构建第二样本数据集;
[0046]
第二训练模块,用于基于所述第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型;
[0047]
处理模块,用于利用所述目标意图分类模型进行意图分类,输出意图分类结果。
[0048]
第三方面,本技术提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如上第一方面描述的任一项所述方法的步骤。
[0049]
第四方面,本技术还提供了一种计算机可读存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上第一方面描述的任一项所述方法的步骤。
[0050]
本技术实施例所提供的技术方案具有如下的有益效果:
[0051]
本技术实施例,通过构建第一样本数据集,第一样本数据集包括带标签样本数据集和无标签样本数据集;获取多个初始弱分类模型,多个初始弱分类模型设置有不同的模板-分类标签对,模板-分类标签对用于表征模板与分类标签的映射关系;基于上述带标签样本数据集对各个初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型,通过模板-分类标签对实现文本填空形式,能够提高预测词汇准确率;针对上述无标签样本数据集中的每一个第二样本语料,输入至各个目标弱分类模型中,得到各个目标弱分类模型输出的对应于第二样本语料的第一预测分类标签;基于所有第二样本语料和各个第二样本语料对应的第一预测分类标签,构建第二样本数据集;基于第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型,从而增加模型泛化性,利用上述目标意图分类模型进行意图分类,输出意图分类结果。本技术实施例能够在少量标注样本和未标注样本的基础上得到无需微调的意图分类模型,节省人力、物力和财力资源,实现意图分类。
附图说明
[0052]
图1是本技术的一个实施例提供的基于小样本语料的意图分类方法的流程示意图;
[0053]
图2是图1中步骤s130的子步骤流程示意图;
[0054]
图3是本技术的另一个实施例提供的基于小样本语料的意图分类方法的流程示意图;
[0055]
图4是图2中步骤s131的子步骤流程示意图;
[0056]
图5是图1中步骤s150的子步骤流程示意图;
[0057]
图6是图1中步骤s160的子步骤流程示意图;
[0058]
图7是图6中步骤s162的子步骤流程示意图;
[0059]
图8是本技术的一个实施例提供的基于小样本语料的意图分类装置的结构示意图;
[0060]
图9是本技术的一个实施例提供的基于小样本语料的意图分类装置的初始弱分类网络结构示意图;
[0061]
图10是本技术的一个实施例提供的基于小样本语料的意图分类装置的目标弱分类网络结构示意图;
[0062]
图11是本技术的一个实施例提供的基于小样本语料的意图分类装置的初始意图分类网络结构示意图;
[0063]
图12是本技术实施例提供的计算机设备的结构示意图。
具体实施方式
[0064]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0065]
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申
请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
[0066]
首先,对本技术中涉及的若干名词进行解析:
[0067]
人工智能(artificialintelligence,ai):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0068]
自然语言处理(naturallanguageprocessing,nlp):自然语言处理是指利用人类交流所使用的自然语言与机器进行交互通讯的技术。通过人为的对自然语言的处理,使得计算机对其能够可读并理解。自然语言处理的相关研究始于人类对机器翻译的探索。虽然自然语言处理涉及语音、语法、语义、语用等多维度的操作,但简单而言,自然语言处理的基本任务是基于本体词典、词频统计、上下文语义分析等方式对待处理语料进行分词,形成以最小词性为单位,且富含语义的词项单元。
[0069]
提示(prompt)模板:prompt模板给定输入文本x,有函数f(x)将其转化为设置的格式,具有以下两步操作,使用一个模板,模板通常为一段自然语言,并且包含有两个空位置:用于填输入x的位置[x]和用于生成答案文本z的位置[z];把输入x填到[x]的位置。prompts有空位置来填充答案,这个位置一般在句中或者句末,如果在句中,称这种prompt为cloze prompt;如果在句末,称这种prompt为prefix prompt。[x]和[z]的位置以及数量都可能对结果造成影响,因此可以根据需要灵活调整。人工可以根据实际业务情况定义模板格式,或者通过神经网络自动定义模板格式。
[0070]
编码器表示(bidirectional encoder representation from transformers,bert):bert模型是一种nlp模型,bert模型进一步增加词向量模型泛化能力,充分描述字符级、词级、句子级甚至句间关系特征,基于transformer构建而成。bert中有三种表征向量(embedding),即tokenembedding,segmentembedding,positionembedding;其中tokenembeddings是词向量,第一个单词是cls标志,可以用于之后的分类任务;segmentembeddings用来区别两种句子,因为预训练不光做lm还要做以两个句子为输入的分类任务;positionembeddings,这里的位置词向量不是transfor中的三角函数,而是bert经过训练学到的。但bert直接训练一个positionembedding来保留位置信息,每个位置随机初始化一个向量,加入模型训练,最后就得到一个包含位置信息的embedding,最后这个positionembedding和wordembedding的结合方式上,bert选择直接拼接。
[0071]
损失函数(lossfunction):损失函数是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。
[0072]
交叉熵损失(binary cross-entropy loss)函数:交叉熵损失函数可以预测真实值和预测值之间的区别,通过loss值来判断预测模型之间的好坏。交叉熵损失函数经常用于分类问题中,特别是在神经网络做分类问题时,也经常使用交叉熵作为损失函数,此外,
由于交叉熵涉及到计算每个类别的概率,所以交叉熵几乎每次都和sigmoid(或softmax)函数一起出现。在二分的情况下,模型最后需要预测的结果只有两种情况,对于每个类别预测得到的概率为p和1-p。
[0073]
kl散度(kullback-leiblerdivergence)损失函数:kl散度损失函数是两个概率分布间差异的非对称性度量,通过损失值来判断两个分布之间的差异,当两个随机分布相同时,它们的相对熵为零,当两个随机分布的差别增大时,它们的相对熵也会增大。kl散度可以用于比较文本的相似度,先统计出词的频率,然后计算kl散度。
[0074]
基于此,本技术实施例提供了一种基于小样本语料的意图分类方法、装置及计算机设备,能够在少量标注样本和未标注样本的基础上得到无需微调的意图分类模型,从而实现意图分类。
[0075]
本技术实施例提供的基于小样本语料的意图分类方法可以基于人工智能技术(artificialintelligence,ai)对相关的数据进行获取和处理。ai是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。随着人工智能技术研究和进步,人工智能技术已经在多个领域广泛展开研究和应用,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
[0076]
本技术实施例可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0077]
参见图1,图1示出了本技术实施例提供的一种基于小样本语料的意图分类方法的流程示意图。上述方法包括但不限于有步骤s110、步骤s120、步骤s130、步骤s140、步骤s150、步骤s160和步骤s170。
[0078]
步骤s110,构建第一样本数据集,第一样本数据集包括带标签样本数据集和无标签样本数据集,其中,带标签样本数据集包括多个第一样本语料和第一样本语料对应的标注标签,无标签样本数据集包括多个无标注标签的第二样本语料。
[0079]
可以理解的是,在工业应用场景中,可能不存在与实际业务相关的语料数据,通过一段时间的积累得到相应的语料数据,从而构建第一样本数据集,第一样本数据集包括一小部分带标签样本数据集τ1以及第一样本数据集中剩余部分的无标签样本数据集τ2,其中,带标签样本数据集通过人工标注标签,由于带标签样本数据集包含的第一样本语料较少,人工标注花费的时间相对较少。上述设置能够解决人工标注大量数据耗费大量人力、物力和财力资源的问题,节省了人工参与工作时间。
[0080]
需要说明的是,第一样本数据集为实际业务场景语料构成的集合;第一样本语料和第二样本语料可以为业务场景中的文本数据,也可以为语音数据,若为语音数据,需对语音数据进行文本信息提取,这里不作赘述,也可以其他形式的数据,转化为文本数据即可。
[0081]
步骤s120,获取多个初始弱分类模型,多个初始弱分类模型设置有不同的模板-分类标签对,模板-分类标签对用于表征模板与分类标签的映射关系。
[0082]
可以理解的是,每一个不同的模板-分类标签对皆包括prompt模板和本文词汇与标签映射关系(verbmap),prompt模板和verbmap能够根据实际业务场景由人工设置格式,也可以通过模型自动设置格式。示例性地,在闲聊型和任务型意图分类中,说明上述模板-分类标签对设置方式,标签y={y_1,y_2},其中y_1表示闲聊型意图,y_2表示任务型意图,对于输入“what is your name”可以将prompt模板进行如下两种方式定义:p1(a)=it was[mask].what is your name?p2(a)=what is your name?was[mask]。其中,p1(a)表示一种方式,p2(a)表示另一种方式。[mask]处的值为词汇表中的词,如“chat”,“task”等,其中“chat”对应“闲聊”意图类,“task”对应“任务型”意图类,该词到标签y的映射关系用v表示,即v(“闲聊型”)=“chat”,v(“任务型”)=“task”。根据实际业务场景,通过上述设置构成了多个不同模板-分类标签对,表示为(pn,vn),能够使用设置的模板-分类标签对进行后续操作。
[0083]
步骤s130,基于带标签样本数据集对各个初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型。
[0084]
在一些实施例中,带标签样本数据集包括带标签样本训练集和带标签样本测试集。参考图2和图9,基于带标签样本数据集对各个初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型,包括但不限于有以下步骤:
[0085]
步骤s131,基于带标签样本训练集对各个初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型。
[0086]
可以理解的是,将带标签样本训练集输入初始弱分类模型,可以一次输入一个带标签样本训练集中的第一样本语料至初始弱分类模型,也可以将带标签样本训练集中第一样本语料按照预设的批处理量一次输入至初始弱分类模型,其中,预设的批处理量可以4,也可以为8,还可以根据实际训练情况对批处理量进行修改。通过对初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型,能够使用目标弱分类模型进行后续运算,并且由于是在少量标注好的语料上进行分类训练,所以上述训练过程耗费的时间和资源较少。
[0087]
需要说明的是,将带标签样本训练集的每个第一样本语料输入初始弱分类模型之前,对每个第一样本语料进行词向量转换,也可以进行其他格式转换,满足初始弱分类模型的输入格式即可。
[0088]
参考图4和图10,基于带标签样本训练集对各个初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型,包括但不限于有以下步骤:
[0089]
步骤s1311,将带标签样本训练集的每个第一样本语料输入初始弱分类模型,以使初始弱分类模型输出第三预测分类标签。
[0090]
可以理解的是,初始弱分类模型包含预训练语言模型(pretraining language model,plm);全连接层(fully connect layer,fc);softmax层。其中,预训练语言模型对输入的带标签样本训练集中的第一样本语料进行特征提取和词向量预测,全连接层将预训练语言模型输出的多个特征向量进行融合,然后将融合结果输入softmax层,softmax层输出预测概率。将第一样本语料输入初始弱分类模型,以使初始弱分类模型输出第三预测分类
标签,第三预测分类标签表示为y1和y2。初始弱分类模型具有多个,预训练语言模型与初始弱分类模型相对应,一个预训练语言模型与上述描述的一个模板-分类标签对相对应,初始弱分类模型为深度学习模型,也可以为浅层神经网络模型,能够充分提取第一样本语料的特征,预训练模型中还包括步骤s120中描述的词汇表,该词汇表的词用于填入prompt模板中[mask]位置,结合模板-分类标签对引导初始弱分类模型进行第三预测分类标签的预测,提高预测填入prompt模板词汇的准确性。
[0091]
需要说明的是,预训练模型可以为bert,也可以采用一种鲁棒优化的bert预训练方法(a robustly optimized bert pretraining approach,roberta),还可以为其他神经网络模型,能够应用于自然语言处理进行词汇预测即可。其中,roberta是在bert基础上做了以下调整:训练时间更长,批处理量(batch size)更大,训练数据更多;移除了下一预测损失(next predict loss);训练序列更长;动态调整掩码(masking)机制。
[0092]
还需要说明的是,第三预测分类标签是输入初始弱分类模型为带标签样本训练集,初始弱分类模型预测输出的标签。
[0093]
步骤s1312,根据各个第一样本语料对应的第三预测分类标签和标注标签,确定初始弱分类模型的第一损失函数的值。
[0094]
可以理解的是,采用交叉熵损失函数对第三预测分类标签和标注标签进行计算,得到第一损失函数的值,通过对第一损失函数的值对权重和偏置进行反向传播求导计算,从而实现对初始弱分类模型参数的更新,以便得到目标弱分类模型。也可以采用其他用于分类的损失函数,这里不作赘述。
[0095]
需要说明的是,第一损失函数的值为通过第一样本语料输入初始弱分类模型输出第三预测分类标签,对第三预测分类标签和标注标签进行计算得到。
[0096]
步骤s1313,在第一损失函数的值满足预设的训练结束条件情况下,结束训练,得到目标弱分类模型。
[0097]
可以理解的是,结束训练条件可以为第一损失函数的值小于预设的损失值,结束训练;也可以为训练迭代次数作为结束训练条件,示例性地,预设的训练次数为1000次,循环参数达到该预设的训练次数则结束训练;也可以为其他结束训练条件,能够结束训练即可。结束训练输出目标弱分类模型,该目标弱分类模型用于进行后续运算。
[0098]
步骤s1314,在第一损失函数的值不满足预设的训练结束条件情况下,调整初始弱分类模型的模型参数,并基于带标签样本训练集继续对初始弱分类模型进行训练。
[0099]
可以理解的是,将带标签样本训练集输入初始弱分类模型继续训练,若第一损失函数的值经过多次训练仍不能结束训练,则采用训练迭代次数作为结束训练条件,当达到预设的训练次数,不考虑第一损失函数的值是否满足预设的训练结束条件,结束训练,得到目标弱分类模型,通过将不同的训练结束条件相结合,能够避免出现无限循环问题,其中,多次为训练次数大于100000,该数值可根据实际情况进行修改。也可以采用其他结合方式,能够避免无限循环问题即可。
[0100]
参考图3,图3示出了本技术的一个实施例提供的基于小样本语料的意图分类方法的流程示意图,在得到与多个初始弱分类模型逐一对应的目标弱分类模型之后,上述实施例的一种基于小样本语料的意图分类方法还包括但不限于有步骤s210、步骤s220和步骤s230。
[0101]
步骤s210,遍历每一个目标弱分类模型,针对当前遍历的目标弱分类模型,执行步骤s220和步骤s230。
[0102]
步骤s220,将带标签样本测试集中的每个第一样本语料输入目标弱分类模型,以使目标弱分类模型输出与各个第一样本语料对应的第二预测分类标签。
[0103]
可以理解的是,该目标弱分类模型由上述初始弱分类模型经过训练得到,将带标签样本测试集的每个第一样本语料输入目标弱分类模型,可以一次输入一个带标签样本测试集中的第一样本语料至目标弱分类模型,也可以将带标签样本测试集中第一样本语料按照预设的批处理量一次输入至目标弱分类模型,其中,预设的批处理量可以2,也可以为4,可以根据实际训练情况对批处理量进行修改。使用少量标注好的语料对目标弱分类模型进行测试,能够节省测试过程耗费的时间和资源。
[0104]
需要说明的是,将带标签样本测试集的每个第一样本语料输入目标弱分类模型之前,对每个第一样本语料进行词向量转换,也可以进行其他格式转换,满足目标弱分类模型的输入格式即可。
[0105]
还需要说明的是,第二预测分类标签是输入目标弱分类模型为带标签样本测试集,目标弱分类模型预测输出的标签。
[0106]
步骤s230,根据各个第一样本语料对应的第二预测分类标签和标注标签,确定目标弱分类模型的预测准确率。
[0107]
可以理解的是,根据步骤s220得到第二预测分类标签,示例性地,一次输入一个带标签样本测试集中的第一样本语料至目标弱分类模型得到对应的第二预测分类标签,将第二预测分类标签对应的值除以标注标签对应的值得到各个相应的预测准确率,预测准确率表示为ωn。也可以为对批处理方式进行准确率计算,还可以采用其他准确率计算方法,这里不作赘述。通过上述方式得到准确率以便后续求解计算。
[0108]
步骤s140,针对无标签样本数据集中的每一个第二样本语料,输入至各个目标弱分类模型中,得到各个目标弱分类模型输出的对应于第二样本语料的第一预测分类标签。
[0109]
可以理解的是,该目标弱分类模型由上述初始弱分类模型经过训练得到,将无标签样本数据集输入目标弱分类模型,该输入方式与步骤s131和步骤s220类似,这里不作赘述。通过该步骤能够得到第二样本语料对应的第一预测分类标签,将无标签的第二样本语料转换为有第一预测分类标签的第二样本语料,无需人工参与数据标注,节省人力、物力和财力资源,并且实现了模型增强,提高了模型的泛化性。
[0110]
需要说明的是,将无标签样本数据集的每个第二样本语料输入目标弱分类模型之前,对每个第二样本语料进行词向量转换,也可以进行其他格式转换,满足目标弱分类模型的输入格式即可。
[0111]
还需要说明的是,第一预测分类标签是输入目标弱分类模型为无标签样本数据集,目标弱分类模型最终输出的软标签,即第一预测分类标签是与第一预测分类标签相对应的第二样本语料的标签。
[0112]
步骤s150,基于所有第二样本语料和各个第二样本语料对应的第一预测分类标签,构建第二样本数据集。
[0113]
参考图5,基于所有第二样本语料和各个第二样本语料对应的第一预测分类标签,构建第二样本数据集,包括但不限于有以下步骤:
[0114]
步骤s151,根据各个目标弱分类模型的预测准确率和各个目标弱分类模型输出的第四预测分类标签,确定各个第二样本语料对应的第一预测分类标签。
[0115]
可以理解的是,给定输入无标签样本数据集中的第二样本语料x,并将其输入各个目标弱分类模型,目标弱分类模型输出第四预测分类标签,第四预测分类标签l表示为s
p
(l|x)=m(v(l)|p(x)),其中,p(x)表示prompt模板信息,v(l)表示本文词汇与标签映射关系,m表示目标分类模型。结合由上述步骤s230得到的预测准确率,对预测准确率和第四预测分类标签进行加权求和运算,得到各个第二样本语料对应的第一预测分类标签。通过该过程处理,能够将无标签的第二样本语料转换为有第一预测分类标签的第二样本语料,无需人工参与数据标注,节省人力、物力和财力资源。
[0116]
需要说明的是,第四预测分类标签是输入目标弱分类模型为无标签样本数据集,目标弱分类模型中间过程输出的标签。
[0117]
在一些实施例中,根据本技术的一些实施例,根据各个目标弱分类模型的预测准确率和各个目标弱分类模型输出的第四预测分类标签,确定各个第二样本语料对应的第一预测分类标签,计算公式为:
[0118][0119]
其中,ω(p)表示预测准确率,s
p
(l|x)表示第四预测分类标签,(l|x)表示第四预测分类标签,p表示模板-分类标签对,x表示第二样本语料,l表示第一预测分类标签。
[0120]
需要说明的是,由所有第二样本语料和各个第二样本语料对应的第四预测分类标签构成的数据集表示为τ2n。
[0121]
步骤s152,根据所有第二样本语料和各个第二样本语料对应的第一预测分类标签构建第二样本数据集。
[0122]
需要说明的是,第二样本数据集中的所有第二样本语料皆具有与其对应的第一预测分类标签,第二数据集表示为τ

2。第二样本数据集为根据实际业务场景得到的无标签样本数据集τ2,通过目标分类模型对第二样本语料处理后,得到的标注有第一预测标签的第二样本语料构成的集合。
[0123]
步骤s160,基于第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型。
[0124]
参考图6和图11,基于第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型,包括但不限于有以下步骤:
[0125]
步骤s161,将第二样本数据集的每一个第二样本语料输入初始意图分类模型,以使初始意图分类模型输出第五预测分类标签。
[0126]
可以理解的是,初始意图分类模型与步骤s130中初始弱分类模型结构类似,这里不作赘述。初始意图分类模型为深度学习模型,也可以为浅层神经网络模型,能够充分提取第二样本语料的特征,结合模板-分类标签对引导初始意图分类模型进行预测,提高预测填入prompt模板词汇的准确性。
[0127]
需要说明的是,第五预测分类标签是输入初始意图分类模型为第二样本数据集中标注第一预测分类标签的第二样本语料,初始意图分类模型预测输出的标签。
[0128]
步骤s162,根据各个第二样本语料对应的第五预测分类标签和第一预测分类标签,确定初始意图分类模型的第二损失函数的值。
[0129]
根据图7,根据各个第二样本语料对应的第五预测分类标签和第一预测分类标签,确定初始意图分类模型的第二损失函数的值,包括但不限于有以下步骤:
[0130]
步骤s1621,利用kl散度计算第五预测分类标签的分布与第一预测分类标签的分布之间的距离,得到kl散度值;
[0131]
步骤s1622,根据kl散度值,确定第二损失函数的值。
[0132]
可以理解的是,利用kl散度计算第五预测分类标签的分布与第一预测分类标签的分布之间的距离,得到kl散度值,对kl散度值求和后进行均值计算,也可以为与交叉熵损失函数相加后求均值等计算,从而得到第二损失函数的值,通过对第二损失函数的值对权重和偏置进行反向传播求导计算,从而实现对初始意图分类模型参数的更新,以便得到目标意图分类模型。也可以采用其他包含kl散度损失函数,这里不作赘述。
[0133]
需要说明的是,第二损失函数的值为将第二样本语料输入初始意图分类模型输出第五预测分类标签,通过kl散度对第五预测分类标签和第一预测分类标签计算得到的分布相似性值。
[0134]
步骤s163,在第二损失函数的值满足预设的训练结束条件情况下,结束训练,得到目标意图分类模型。
[0135]
需要说明的是,在第二损失函数的值满足预设的训练结束条件情况下,执行后续操作与步骤s1313的处理方式类似,这里不作赘述。结束训练,能够得到无需微调的目标意图分类模型,以便进行后续意图分类任务。
[0136]
步骤s164,在第二损失函数的值不满足预设的训练结束条件情况下,调整初始弱分类模型的模型参数,并基于带标签样本训练集继续对初始弱分类模型进行训练。
[0137]
需要说明的是,在第二损失函数的值不满足预设的训练结束条件情况下,执行后续操作与步骤s1314的处理方式类似,这里不作赘述。根据训练结束条件,能够避免出现无限循环训练问题,以获取目标意图分类模型。
[0138]
步骤s170,利用目标意图分类模型进行意图分类,输出意图分类结果。
[0139]
需要说明的是,将实际业务场景中得到的语料数据输入上述得到目标意图分类模型,能够得到输入语料的意图分类,并将该意图分类用于后续处理,提高用户满意度。上述得到的目标意图分类模型能够实现输入不同场景语料数据,给出较为准确的意图分类结果,具有较好的泛化性。
[0140]
还需要说明的是,通过构建第一样本数据集,第一样本数据集包括带标签样本数据集和无标签样本数据集;获取多个初始弱分类模型,多个初始弱分类模型设置有不同的模板-分类标签对,模板-分类标签对用于表征模板与分类标签的映射关系;基于上述带标签样本数据集对各个初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型,通过模板-分类标签对实现文本填空形式,能够提高预测词汇准确率;针对上述无标签样本数据集中的每一个第二样本语料,输入至各个目标弱分类模型中,得到各个目标弱分类模型输出的对应于第二样本语料的第一预测分类标签;基于所有第二样本语料和各个第二样本语料对应的第一预测分类标签,构建第二样本数据集;基于第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型,从而增加模型泛化性,利用上
述目标意图分类模型进行意图分类,输出意图分类结果。本技术实施例能够在少量标注样本和未标注样本的基础上得到无需微调的意图分类模型,节省人力、物力和财力资源,实现意图分类。
[0141]
参考图8,图8示出了本技术的一个实施例提供的基于小样本语料的意图分类装置100的结构示意图,该装置100包括:
[0142]
数据集构建模块110,用于构建第一样本数据集,第一样本数据集包括带标签样本数据集和无标签样本数据集,带标签数据集,其中,带标签样本数据集包括多个第一样本语料和第一样本语料对应的标注标签,无标签样本数据集包括多个无标注标签的第二样本语料;
[0143]
模型获取模块120,用于获取多个初始弱分类模型,多个初始弱分类模型设置有不同的模板-分类标签对,模板-分类标签对用于表征模板与分类标签的映射关系;
[0144]
第一训练模块130,用于基于带标签样本数据集对各个初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型;
[0145]
数据标注模块140,用于针对无标签样本数据集中的每一个第二样本语料,输入至各个目标弱分类模型中,得到各个目标弱分类模型输出的对应于第二样本语料的第一预测分类标签;
[0146]
数据集构建模块110还用于基于所有第二样本语料和各个第二样本语料对应的第一预测分类标签,构建第二样本数据集;
[0147]
第二训练模块150,用于基于第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型;
[0148]
处理模块160,用于利用目标意图分类模型进行意图分类,输出意图分类结果。
[0149]
可以理解的是,采用数据集构建模块110构建第一样本数据集,第一样本数据集包括带标签样本数据集和无标签样本数据集,其中,带标签样本数据集包括多个第一样本语料和第一样本语料对应的标注标签,无标签样本数据集包括多个无标注标签的第二样本语料;采用模型获取模块120获取多个初始弱分类模型,多个初始弱分类模型设置有不同的模板-分类标签对,模板-分类标签对用于表征模板与分类标签的映射关系;第一训练模块130用于基于带标签样本数据集对各个初始弱分类模型进行训练,得到与多个初始弱分类模型逐一对应的目标弱分类模型;数据标注模块140针对无标签样本数据集中的每一个第二样本语料,输入至各个目标弱分类模型中,得到各个目标弱分类模型输出的对应于第二样本语料的第一预测分类标签;数据集构建模块110对基于所有第二样本语料和各个第二样本语料对应的第一预测分类标签,构建第二样本数据集;第二训练模块150基于第二样本数据集对初始意图分类模型进行训练,得到目标意图分类模型,处理模块160利用上述目标意图分类模型进行意图分类,输出意图分类结果。本实施例能够在少量标注样本和大量未标注样本的基础上,得到无需微调的意图分类模型,从而实现意图分类。
[0150]
需要说明的是,利用上述装置100训练得到目标意图分类模型,将实际业务场景中得到的语料数据输入上述得到目标意图分类模型,能够得到输入语料数据的意图分类,并将该意图分类用于后续处理,提高用户满意度。上述装置100训练得到目标意图分类模对输入任意场景的样本语料进行意图分类,能够输出较准确的意图分类结果。
[0151]
本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并
不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
[0152]
图12示出了本技术实施例提供的计算机设备500。该计算机设备500可以是服务器或者终端,该计算机设备500的内部结构包括但不限于:
[0153]
存储器510,用于存储程序;
[0154]
处理器520,用于执行存储器510存储的程序,当处理器520执行存储器510存储的程序时,处理器520用于执行上述的基于小样本语料的意图分类方法。
[0155]
处理器520和存储器510可以通过总线或者其他方式连接。
[0156]
存储器510作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明任意实施例描述的基于小样本语料的意图分类方法。处理器520通过运行存储在存储器510中的非暂态软件程序以及指令,从而实现上述的基于小样本语料的意图分类方法。
[0157]
存储器510可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述的基于小样本语料的意图分类方法。此外,存储器510可以包括高速随机存取存储器,还可以包括非暂态存储器,比如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器510可选包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至该处理器520。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0158]
实现上述的基于小样本语料的意图分类方法所需的非暂态软件程序以及指令存储在存储器510中,当被一个或者多个处理器520执行时,执行本发明任意实施例提供的基于小样本语料的意图分类方法。
[0159]
本技术实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的基于小样本语料的意图分类方法。
[0160]
在一实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器520执行,比如,被上述计算机设备500中的一个处理器520执行,可使得上述一个或多个处理器520执行本发明任意实施例提供的基于小样本语料的意图分类方法。
[0161]
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0162]
本技术的说明书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0163]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两
个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0164]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0165]
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的。共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。
再多了解一些

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

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

相关文献