语句分析模型的构建方法、语句分析方法、装置、介质和计算设备与流程

文档序号:29418738发布日期:2022-03-26 13:48阅读:164来源:国知局
语句分析模型的构建方法、语句分析方法、装置、介质和计算设备与流程

1.本发明的实施方式涉及自然语言处理领域,更具体地,本发明的实施方式涉及语句分析模型的构建方法、语句分析方法、装置、介质和计算设备。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.当今,互联网已经成为信息的重要载体,尤其是近些年,随着电子商务及社交网站的兴起,互联网上出现了大量的评论,这些评论一般明确包含或隐含一些情绪。研究文本传达的情绪信息有助于了解和分析人们对事物或事件的观点态度,例如,传达开心、高兴等情绪词的文本表达的是对事物或事件的支持,相反,传达生气、烦恼等情绪词的文本表达的是反对。在此背景下,语句分析正逐渐成为自然语言处理领域中一项越来越受关注的研究课题。
4.目前,通常是采用分类模型对语句中包含的情绪进行分析,每种特定的情绪分析任务都需要维护一个分类头,随着任务的增多,分类头也会逐渐增多,增加存储负担;另外,现有技术中的分类头只能对应分类特定情绪分析任务中的情绪,即所述分类头智能分类训练所述分类头时训练数据中包括的情绪,没有泛化能力。


技术实现要素:

5.在本上下文中,本发明的实施方式期望提供一种语句分析模型的构建方法、语句分析方法、装置、介质和计算设备。
6.在本发明实施方式的第一方面中,提供了一种语句分析模型的构建方法,包括:
7.获取语句样本以及与所述语句样本对应的结果标签;
8.将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,其中,所述语句分析模型基于文本生成任务构建;
9.基于所述概率计算优化损失;
10.基于所述优化损失调整所述语句分析模型。
11.在本实施方式的一个实施例中,将所述语句样本输入语句分析模型进行处理之前,所述方法还包括:
12.对所述语句样本进行分词处理,得到所述语句样本的词序列;
13.将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,包括:
14.将所述词序列输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
15.在本实施方式的一个实施例中,对所述语句样本进行分词处理,得到所述语句样本的词序列,包括:
16.将所述语句样本和对应的结果标签,按照预设形式转化为格式化语句样本;
17.对所述格式化语句样本进行分词处理,得到所述格式化语句样本的词序列。
18.在本实施方式的一个实施例中,所述将所述语句样本和对应的结果标签,按照预设形式转化为格式化语句样本,包括:
19.将所述语句样本和对应的结果标签,按照预设形式转化为问答语句,其中,所述语句样本转化为问题,所述结果标签转化为答案,所述答案为自然语言。
20.在本实施方式的一个实施例中,所述将所述词序列输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率,包括:
21.将所述词序列输入语句分析模型,得到所述语句分析模型基于所述词序列中第i个词之前的所有词,在预设的词表中生成第i个词的概率,其中,所述词序列中包括n个词,i=[2,
···
,n];
[0022]
以及基于所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0023]
在本实施方式的一个实施例中,所述基于所述概率计算优化损失,包括:
[0024]
根据所述语句分析模型在预设的词表中生成各个词以及标签结果的各个概率,计算对应的多个优化损失;
[0025]
将多个优化损失联合,优化调整所述语句分析模型。
[0026]
在本实施方式的一个实施例中,所述将所述词序列输入语句分析模型进行处理,包括:
[0027]
将所述词序列中的所有词转化为对应的词向量;
[0028]
将所述词向量输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0029]
在本实施方式的一个实施例中,所述结果标签的类型包括情感标签和意图标签中的一种。
[0030]
在本发明实施方式的第二方面中,提供了一种语句分析方法,包括:
[0031]
采用第一方面中任一项所述的语句分析模型的构建方法构建语句分析模型;
[0032]
将待分析语句输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0033]
在本实施方式的一个实施例中,所述将待分析语句输入所述语句分析模型,包括:
[0034]
对所述待分析语句进行分词处理,得到所述待分析语句的词序列;
[0035]
对所述词序列中的各个词进行编码,得到各个词的词向量;
[0036]
将各个词的词向量依次输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0037]
在本发明实施方式的第三方面中,提供了一种语句分析模型的构建装置,包括:
[0038]
预处理模块,被配置为获取语句样本以及与所述语句样本对应的结果标签;
[0039]
处理模块,被配置为将所述语句样本输入语句分析模型进行处理,至少得到所述
语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,其中,所述语句分析模型基于文本生成任务构建;以及
[0040]
基于所述概率计算优化损失;
[0041]
模型构建模块,被配置为基于所述优化损失调整所述语句分析模型。
[0042]
在本实施方式的一个实施例中,所述预处理模块,还被配置为对所述语句样本进行分词处理,得到所述语句样本的词序列;
[0043]
所述处理模块,还被配置为将所述词序列输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0044]
在本实施方式的一个实施例中,所述预处理模块至少包括:
[0045]
转换单元,被配置为将所述语句样本和对应的结果标签,按照预设形式转化为格式化语句样本;
[0046]
分词单元,被配置为对所述格式化语句样本进行分词处理,得到所述格式化语句样本的词序列。
[0047]
在本实施方式的一个实施例中,所述转换单元还被配置为,将所述语句样本和对应的结果标签,按照预设形式转化为问答语句,其中,所述语句样本转化为问题,所述结果标签转化为答案,所述答案为自然语言。
[0048]
在本实施方式的一个实施例中,所述处理模块,包括:
[0049]
词向量生成单元,被配置为将所述词序列中的所有词转化为对应的词向量;
[0050]
概率计算单元,被配置为将所述词向量输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0051]
在本实施方式的一个实施例中,所述处理模块包括:
[0052]
语句生成概率获取单元,被配置为将所述词序列输入语句分析模型,得到所述语句分析模型基于所述词序列中第i个词之前的所有词,在预设的词表中生成第i个词的概率,其中,所述词序列中包括n个词,i=[2,
···
,n];
[0053]
情感生成概率获取单元,被配置为获取基于所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率;
[0054]
优化损失计算单元,被配置为根据所述语句分析模型在预设的词表中生成各个词以及标签结果的各个概率,计算对应的多个优化损失;
[0055]
所述模型构建模块,还被配置为将多个优化损失联合,优化调整所述语句分析模型。
[0056]
在本实施方式的一个实施例中,所述结果标签的类型包括情感标签和意图标签中的一种。
[0057]
在本发明实施方式的第四方面中,提供了一种语句分析装置,采用第三方面中任一项所述的语句分析模型的构建装置构建语句分析模型,包括:
[0058]
语句分析模块,被配置为将待分析语句输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0059]
在本实施方式的一个实施例中,所述语句分析模块,包括:
[0060]
分词单元,被配置为对所述待分析语句进行分词处理,得到所述待分析语句的词序列;
[0061]
编码单元,被配置为对所述词序列中的各个词进行编码,得到各个词的词向量;
[0062]
分析单元,被配置为将各个词的词向量依次输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0063]
在本发明实施方式的第五方面中,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序在被处理器执行时能够实现第一和第二方面中任一项所述的方法。
[0064]
在本发明实施方式的第六方面中,提供了一种计算设备,所述计算设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行第一和第二方面中任一项所述的方法。
[0065]
根据本发明实施方式的语句分析模型的构建方法、语句分析方法、装置、介质和计算设备,该语句分析模型的构建方法包括:获取语句样本以及与所述语句样本对应的结果标签;对所述语句样本进行分词处理,得到所述语句样本的词序列;将所述词序列输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率,其中,所述语句分析模型基于文本生成任务构建;基于所述概率计算优化损失;基于所述优化损失调整所述语句分析模型。通过基于文本生成任务构建语句分析模型,将现有技术的分类任务转化为生成任务,基于文本生成任务构建的文本分析模型可以建模待分析语句从词表中生成结果标签的过程,从而可以使得训练完成的语句分析模型基于任何待分析语句生成其对应的结果标签,即使需要执行多种不同的情绪分析任务,也无需维护一一对应的分类头,从而显著地降低存储负担,为用户带来了更好的体验;另外由于本发明基于文本生成任务来对文本的情绪或意图进行分析,可以对训练数据中不包括的情绪或意图进行分析,具备更强的泛化能力。
附图说明
[0066]
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
[0067]
图1示意性地示出了现有的通过分类模型对语句情绪进行分析的示意图;
[0068]
图2示意性地示出了根据本发明一个实施例的训练语句分析模型以及测试语句分析模型的示意图;
[0069]
图3示意性地示出了本发明一实施例提供的语句分析模型的构建方法的流程示意图;
[0070]
图4示意性地示出了本发明一实施例提供的语句分析模型的构建装置的结构示意图;
[0071]
图5示意性地示出了本发明实施例的一种介质的结构示意图;
[0072]
图6示意性地示出了本发明实施例的一种计算设备的结构示意图。
[0073]
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
[0074]
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这
些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0075]
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0076]
根据本发明的实施方式,提出了一种语句分析模型的构建方法、语句分析方法、装置、介质和计算设备。
[0077]
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0078]
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
[0079]
人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术;在软件层面上,其主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0080]
其中,机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习和式教学习等技术。
[0081]
自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。nlp技术通常包括文本处理、语义理解、机器翻译、机器人问答和知识图谱等技术。
[0082]
基于上述人工智能技术中所提及的自然语言处理和机器学习等技术,本技术实施例提出了一种基于输入语句分析其包含的情感或意图的方法。
[0083]
发明概述
[0084]
发明人发现,现有的基于预训练技术的文本情感分析模型一般都遵循如下的流程:
[0085]
首先在大规模非监督语料上使用语言模型损失函数训练得到预训练模型,然后对于一个特定的下游任务(如特定场景下的情感分类任务),在预训练模型权重的基础上添加分类所需的分类头,然后微调整个模型的参数。
[0086]
现有技术主要有如下缺点:
[0087]
1.在模型预训练阶段,现有技术往往只会使用非监督的自然语句作为预训练语料,并且所使用的预训练损失函数只会使用自回归语言模型(auto-regressive language model loss)损失函数或者掩码语言模型(masked language model loss)损失函数。当把这些预训练模型应用到下游任务中时,预训练阶段和微调阶段之间的差距较大,原因在于,预训练阶段所使用的损失函数与微调阶段所使用的损失函数并不统一,微调阶段所使用的损失函数是在标签集合空间的交叉熵损失。传统方式在微调阶段需要抛弃掉预训练阶段的语言模型预测头,及language model head,并且重新初始化用于意图分类的分类头。。
[0088]
2.对于每一个特定的下游任务,都需要添加一个和该任务相关的分类头,这样,随着任务的增多,分类头也会逐渐增多,增加存储负担。比如图1所示,一个二分类情绪分析任务的模型大致结构需要两个分类头,具体地,对于两个情感分类数据集d1和d2(即两个情感分类任务),数据集d1中一共有5类情感标签,而数据集d2中一共有3类情感标签,如果使用传统的方法,需要为数据集d1维护一个3分类头,为数据集d2维护一个5分类头。
[0089]
3.对于每一种特定的下游任务,都需要设计特定的优化函数,并不能使用统一的优化目标处理所有的下游任务。
[0090]
为了解决发明人发现的以上问题,发明人考虑可以将分类任务转化为生成任务,即,假设一个语句样本对应一个情绪结果标签,首先可以对所述语句样本的出现概率进行条件概率分解,即首先将上述语句样本通过分词器(tokenizer)转化成一个词序列(token sequence),假设这个序列中一共有n个词:x1,x2,

,xn。那么这n个词的联合概率分布p(x1,x2,

,xn)可以分解为如下形式:
[0091]
p(x1,x2,

,xn)=p(x1)*p(x2|x1)*p(x3|x1,x2)*p(x4|x1,x2,x3)

p(xn|x1,x2,

,xn-1)
[0092]
由此,可以使用类似于transformer的神经网络模型近似上述公式右端的各个条件概率分布,即p(xi|x1,x2,

,xi-1}),从而完整构建语句样本和结果标签之间的映射关系。
[0093]
由此,可以提出一个通用的语句分析模型预训练方案,如图2所示,这一预训练方案可以作为各类文本分类任务的基座,并且对于不同的下游任务,基于本发明所构建的预训练基座可以使用统一的任务形式进行微调,并不需要为每一个下游任务都维护一个分类头。
[0094]
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
[0095]
示例性方法
[0096]
下面参考图3来描述根据本发明示例性实施方式的用于语句分析模型的构建的方法。
[0097]
本发明是实施方式提供一种语句分析模型的构建方法,包括:
[0098]
步骤s110,获取语句样本以及与所述语句样本对应的结果标签;
[0099]
在本实施方式的一个实施例中,所述语句样本可以来自于真实世界的真实语句,或者通过文本生成模型等数字化技术生成的语句,本实施例对此不做限定,所述语句样本为一个完整的语句,例如“今天天气真好。”,相应地,“今天天气真好。”的结果标签可以是“高兴”这一表示开心情绪的词语。可以理解的是,所述结果标签也可以不是自然语言表示
的情绪,例如可以是其他形式(索引,键等等)表示的情绪,只要在后续训练步骤中,输入输出对应转化为自然语言即可,即输入所述语句分析模型的训练数据都是自然语言语句。
[0100]
接下来,执行步骤s120,将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,其中,所述语句分析模型基于文本生成任务构建;
[0101]
在本实施方式中,所述语句分析模型基于文本生成任务构建,即将原来的分类任务转化为生成任务,由原来的基于语句样本进行情绪分类转化为基于语句样本生成对应的情绪。在文本生成任务中,训练相应的模型时,需要将自然语言形式的训练数据转化为向量形式。
[0102]
由此,在本实施方式的一个实施例中,将所述语句样本输入语句分析模型进行处理之前,所述方法还包括,对所述语句样本进行分词处理,得到所述语句样本的词序列;
[0103]
在本实施方式的一个实施例中,在将所述语句样本输入语句分析模型进行训练之前,需要对所述语句样本进行分词处理,所述分词处理即为将所述语句样本由一个完整的句子转换为一个词序列,例如,“今天天气真好。”这一语句样本可以通过分词器(tokenizer)转换为词序列{今天,天气,真好}。
[0104]
在本实施方式的又一个实施例中,为了方便所述语句分析模型建模语句样本和对应结果标签之间的关系,将所述语句样本和对应的结果标签转化为一个完整的语句,从而使得所述语句分析模型将语句样本和对应的标签作为一个整体进行处理,方便根据所述语句样本生成对应的结果标签,具体地,对所述语句样本进行分词处理,得到所述语句样本的词序列,包括:
[0105]
将所述语句样本和对应的结果标签,按照预设形式转化为格式化语句样本,其中,所述格式化语句样本的最后一个词为所述结果标签的自然语言表示;
[0106]
在本实施例中,所述预设形式可以是对话形式,问答形式或其他可以将语句样本和对应结果标签统合为一个整体的形式;
[0107]
具体地,在本实施方式的一个实施例中,将语句样本和对应结果标签转化为问答形式,包括:
[0108]
将所述语句样本和对应的结果标签,按照预设形式转化为问答语句,其中,所述语句样本转化为问题,所述结果标签转化为答案,所述答案为自然语言;
[0109]
例如,对于“今天天气真好”“高兴”这一对语句样本和结果标签,可以按照上述方式转化为:
[0110]“今天天气真好中的情感是什么?高兴”这一问答语句。
[0111]
或者例如,可以转化为对话形式:
[0112]“今天天气真好。我感到你很高兴。”[0113]
或者例如,可以直接转化为:
[0114]“今天天气真好,高兴。”[0115]
需要说明的是,在上述示例中,结果标签是直接以“高兴”这一自然语言表示的,但是并不代表在真实的生产环境中,所述结果标签是直接以自然语言的形式表示,也即需要将非自然语言形式表示的结果标签转化为自然语言形式,然后再结合相应的语句样本,构建所述预设形式的格式化语句样本。
[0116]
对所述格式化语句样本进行分词处理,得到所述格式化语句样本的词序列。
[0117]
在本实施方式的实施例中,按照预设形式将语句样本和对应的结果标签转化为格式化语句样本之后,还需要继续执行之前实施例中的步骤,对所述格式化语句样本进行分词处理,得到相应的词序列,具体的,可以采用分词器进行所述分词处理,所述分词过程和结果与上述在前实施例类似,本实施例中不再对具体的分词过程进行详细描述。
[0118]
需要说明的是,在本技术的又一个实施例中,所述语句分析模型可以预设前处理模块,将所述语句样本和/结果标签转化为相应的词序列,例如可以在所述语句分析模型中预设分词器。
[0119]
也就是说,本实施方式包括两种不同结构的语句分析模型,一种语句分析模型可以直接接受完整的语句输入,然后由所述语句分析模型的前处理模块对完整的语句进行分词处理;另外一种语句分析模型不能直接接受完整的语句输入,需要先将完整的语句分词得到词序列后,对所述词序列进行分析处理。可以理解的是,本实施方式的分词处理和词序列不仅仅指两个字以上的词语,还可以是单字,也就是说说分词处理可以是分字处理,词序列还可以是字序列,本实施方式对此不做限定,具体是输入完整语句还是词序列或字序列,根据模型的具体结构而定,本实施方式的关键在于,语句分析模型可以采用文本生成的方式建模语句样本和结果标签,得到一个语句样本生成对应结果标签的概率。
[0120]
在介绍了如何得到所述语句样本和/结果标签的词序列之后,所述将所述词序列输入语句分析模型进行处理,包括:
[0121]
将所述词序列中的所有词转化为对应的词向量;
[0122]
在本实施例中,将词序列中的所有词转化为对应的词向量的方式可以是神经网络,单词共生矩阵的降维,概率模型,可解释的知识库方法中的任意一种,例如,在本实施方式的一个实施例中,可以采用以下神经网络语言模型中的任意一种,将词序列转化为各个词语的词向量:
[0123]
1.neural network language model,nnlm
[0124]
2.log-bilinear language model,lbl
[0125]
3.recurrent neural network based language model,rnnlm
[0126]
4.collobert和weston在2008年提出的c&w模型
[0127]
5.mikolov等人提出了cbow(continuous bagof-words)和skip-gram模型。
[0128]
需要说明的是,在上述实施例中,本技术提出的语句分析模型不具备将自然语言形式的词转化为词向量的功能,也即所述语句分析模型能够接受的输入为词向量形式。
[0129]
在本实施方式的又一个实施例中,所述语句分析模型也可以集成词向量生成功能,即包括一些采用上述词向量转化方法的模块,由此,所述语句分析模型的输入也可以是自然语言形式的语句。
[0130]
在得到所述词序列的各个词语的词向量之后,将所述词向量输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0131]
在本实施方式的一个实施例中,假设基于transformer模型构建所述语句分析模型,在将所述语句样本的词序列的各个词语的词向量输入所述语句分析模型后,所述语句分析模型中堆叠的transformer block通过计算得到所述词序列的最后一个词的表示向
量,接下来,将所述表示向量输入到线性映射层,将所述标识向量映射为n维向量,所述n为词表(可以是基于词典构建的包括所有表示情绪的词的集合)的大小,之后将n维向量输入到softmax层后,可以得到一个预设词表上的概率分布,接下来,确定这一概率分布中,情绪标签对应的自然语言表示的词的概率;在本实施例中,所述语句分析模型相当于建立了完整语句样本的整体与结果标签的映射,所述语句分析模型的输入可以仅仅是语句样本(词序列的各个词的词向量),然后再确定所述语句样本最后一个词的表示向量,可以在预设的词表中,映射出所述结果标签对应的自然语言表示的词的概率,也可以是语句样本与结果标签转化为的格式化语句样本(词序列的各个词的词向量),然后再确定所述格式化语句样本的倒数第二个词的表示向量,可以在预设的词表中,映射出所述格式化语句样本的最后一个词(结果标签对应的自然语言表示的词)的概率,。
[0132]
在本实施方式的又一个实施例中,还可以从更细的粒度建模所述语句样本与对应的结果标签的关系,即建模所述语句分析模型对所述语句样本中的每一个词的生成概率,以及建模所述语句样本与对应的结果标签的关系,包括:
[0133]
将所述词序列输入语句分析模型,得到所述语句分析模型基于所述词序列中第i个词之前的所有词,在预设的词表中生成第i个词的概率,其中,所述词序列中包括n个词,i=[2,
···
,n];
[0134]
在本实施例中,所述语句分析模型将计算语句样本中的每一个词在预设词表的生成概率,即假设语句样本y的词序列为{x1,x2,

,xn},xn表示所述语句样本y中的第n个词,那么,所述语句分析模型将分别计算:
[0135]
p(x2|x1),p(x3|x1,x2),p(x4|x1,x2,x3)

p(xn|x1,x2,

,xn-1)。
[0136]
以及所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0137]
在本实施例中,各个词在预设词表的生成概率的计算方式如前实施例所述的方式类似,此处不再赘述。
[0138]
接下来执行步骤s140,基于所述概率计算优化损失;
[0139]
在本实施方式中,需要根据在步骤s130中得到的概率分布数量计算优化损失,在本实施方式的一个实施例中,如果步骤s130仅仅得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率,则可以仅仅根据所述一个概率计算交叉熵损失作为优化损失。
[0140]
在本实施方式的又一个实施例中,如果步骤s130得到所述语句样本中的每一个词在预设词表的生成概率,以及所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率,则可以根据所述每一个概率计算一个交叉熵损失,然后将所有的交叉熵损失联合作为优化损失。
[0141]
最后,执行步骤s150,基于所述优化损失调整所述语句分析模型。
[0142]
需要说明的是,在本实施方式的各个实施例中,所述结果标签的类型包括情感标签和意图标签中的一种。也即,本技术训练的语句分析方法可以适用于情感分析或意图分析的应用场景,本实施方式对此不做限定。
[0143]
本实施方式的各个实施例提供的语句分析模型的构建方法,通过基于文本生成任务构建语句分析模型,将现有技术的分类任务转化为生成任务,基于文本生成任务构建的
文本分析模型可以建模待分析语句从词表中生成结果标签的过程,从而可以使得训练完成的语句分析模型基于任何待分析语句生成其对应的结果标签,即使需要执行多种不同的情绪分析任务,也无需维护一一对应的分类头,从而显著地降低存储负担,为用户带来了更好的体验。
[0144]
另外,通过本实施方式的各个实施例构建的语句分析模型作为现有情感分析系统的基座模型,从而,在没有特定任务数据集的情况下,基于本本实施方式的各个实施例开发的基座模型可以直接被用于zero-shot预测;另外,在能收集到特定任务数据集的情况下,可以使用所述特定任务数据集在基座模型上做微调,从而在所述特定任务数据集上获得更好的性能。
[0145]
总的来说,本实施方式的各个实施例所提出的语句分析模型的构建方法,可以通过统一的分类形式(即文本生成),将不同的任务统一起来,对于全新的任务或者数据集,不需要维护额外的权重,从而节省了存储的开销。并且所述统一的任务形式可以更好地利用预训练模型的能力,减少预训练和微调之间的差距,从而获得更好的性能。另外,由于本实施方式的各个实施例采用文本生成任务构建语句分析模型,使得模型可以对训练数据中不包括的情绪或意图进行分析,具备更强的泛化能力。
[0146]
本实施方式的另外一个方面,还提供一种语句分析方法,包括:
[0147]
采用所述的语句分析模型的构建方法构建语句分析模型;
[0148]
将待分析语句输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0149]
在本实施方式的一个实施例中,所述将待分析语句输入所述语句分析模型,包括:
[0150]
对所述待分析语句进行分词处理,得到所述待分析语句的词序列;
[0151]
对所述词序列中的各个词进行编码,得到各个词的词向量;
[0152]
将各个词的词向量依次输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0153]
示例性装置
[0154]
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明示例性实施方式的一种语句分析模型的构建装置进行说明,包括:
[0155]
预处理模块410,被配置为获取语句样本以及与所述语句样本对应的结果标签;
[0156]
处理模块420,被配置为将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,其中,所述语句分析模型基于文本生成任务构建;以及
[0157]
基于所述概率计算优化损失;
[0158]
模型构建模块430,被配置为基于所述优化损失调整所述语句分析模型。
[0159]
在本实施方式的一个实施例中,所述预处理模块410,还被配置为对所述语句样本进行分词处理,得到所述语句样本的词序列;
[0160]
所述处理模块420,还被配置为将所述词序列输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0161]
在本实施方式的一个实施例中,所述预处理模块410至少包括:
[0162]
转换单元,被配置为将所述语句样本和对应的结果标签,按照预设形式转化为格
式化语句样本;
[0163]
分词单元,被配置为对所述格式化语句样本进行分词处理,得到所述格式化语句样本的词序列。
[0164]
在本实施方式的一个实施例中,所述转换单元还被配置为,将所述语句样本和对应的结果标签,按照预设形式转化为问答语句,其中,所述语句样本转化为问题,所述结果标签转化为答案,所述答案为自然语言。
[0165]
在本实施方式的一个实施例中,所述处理模块420,包括:
[0166]
词向量生成单元,被配置为将所述词序列中的所有词转化为对应的词向量;
[0167]
概率计算单元,被配置为将所述词向量输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0168]
在本实施方式的一个实施例中,所述处理模块420包括:
[0169]
语句生成概率获取单元,被配置为将所述词序列输入语句分析模型,得到所述语句分析模型基于所述词序列中第i个词之前的所有词,在预设的词表中生成第i个词的概率,其中,所述词序列中包括n个词,i=[2,
···
,n];
[0170]
情感生成概率获取单元,被配置为获取基于所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率;
[0171]
优化损失计算单元,被配置为根据所述语句分析模型在预设的词表中生成各个词以及标签结果的各个概率,计算对应的多个优化损失;
[0172]
所述模型构建模块430,还被配置为将多个优化损失联合,优化调整所述语句分析模型。
[0173]
在本实施方式的一个实施例中,所述结果标签的类型包括情感标签和意图标签中的一种。
[0174]
在本发明实施方式的又一个方面中,提供了一种语句分析装置,采用如前所述的语句分析模型的构建装置构建语句分析模型,包括:
[0175]
语句分析模块,被配置为将待分析语句输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0176]
在本实施方式的一个实施例中,所述语句分析模块,包括:
[0177]
分词单元,被配置为对所述待分析语句进行分词处理,得到所述待分析语句的词序列;
[0178]
编码单元,被配置为对所述词序列中的各个词进行编码,得到各个词的词向量;
[0179]
分析单元,被配置为将各个词的词向量依次输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0180]
示例性介质
[0181]
在介绍了本发明示例性实施方式的方法和装置之后,接下来,参考图5对本发明示例性实施方式的计算机可读存储介质进行说明,请参考图5,其示出的计算机可读存储介质为光盘50,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,获取语句样本以及与所述语句样本对应的结果标签;将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,其中,所述语句分析模型基于
文本生成任务构建;基于所述概率计算优化损失;基于所述优化损失调整所述语句分析模型;各步骤的具体实现方式在此不再重复说明。
[0182]
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0183]
示例性计算设备
[0184]
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图对本发明示例性实施方式的用于文本分析的计算设备。
[0185]
图6示出了适于用来实现本发明实施方式的示例性计算设备60的框图,该计算设备60可以是计算机系统或服务器。图6显示的计算设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0186]
如图6所示,计算设备60的组件可以包括但不限于:一个或者多个处理器或者处理单元601,系统存储器602,连接不同系统组件(包括系统存储器602和处理单元601)的总线603。
[0187]
计算设备60典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备60访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0188]
系统存储器602可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)6021和/或高速缓存存储器6022。计算设备60可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,rom6023可以用于读写不可移动的、非易失性磁介质(图6中未显示,通常称为“硬盘驱动器”)。尽管未在图6中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线603相连。系统存储器602中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0189]
具有一组(至少一个)程序模块6024的程序/实用工具6025,可以存储在例如系统存储器602中,且这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块6024通常执行本发明所描述的实施例中的功能和/或方法。
[0190]
计算设备60也可以与一个或多个外部设备604(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(i/o)接口605进行。并且,计算设备60还可以通过网络适配器606与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器606通过总线603与计算设备60的其它模块(如处理单元601等)通信。应当明白,尽管图6中未示出,可以结合计算设备60使用其它硬件和/或软件模块。
[0191]
处理单元601通过运行存储在系统存储器602中的程序,从而执行各种功能应用以及数据处理,例如,获取语句样本以及与所述语句样本对应的结果标签;将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中
生成对应的结果标签的概率,其中,所述语句分析模型基于文本生成任务构建;基于所述概率计算优化损失;基于所述优化损失调整所述语句分析模型。各步骤的具体实现方式在此不再重复说明。
[0192]
应当注意,尽管在上文详细描述中提及了语句分析模型的构建装置以及语句分析装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
[0193]
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0194]
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
[0195]
通过上述的描述,本发明的实施例提供了以下的技术方案,但不限于此:
[0196]
1.一种语句分析模型的构建方法,包括:
[0197]
获取语句样本以及与所述语句样本对应的结果标签;
[0198]
将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,其中,所述语句分析模型基于文本生成任务构建;
[0199]
基于所述概率计算优化损失;
[0200]
基于所述优化损失调整所述语句分析模型。
[0201]
2.如方案1所述的语句分析模型的构建方法,其中,将所述语句样本输入语句分析模型进行处理之前,所述方法还包括:
[0202]
对所述语句样本进行分词处理,得到所述语句样本的词序列;
[0203]
将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,包括:
[0204]
将所述词序列输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0205]
3.如方案2所述的语句分析模型的构建方法,其中,对所述语句样本进行分词处理,得到所述语句样本的词序列,包括:
[0206]
将所述语句样本和对应的结果标签,按照预设形式转化为格式化语句样本;
[0207]
对所述格式化语句样本进行分词处理,得到所述格式化语句样本的词序列。
[0208]
4.如方案3所述的语句分析模型的构建方法,其中,所述将所述语句样本和对应的结果标签,按照预设形式转化为格式化语句样本,包括:
[0209]
将所述语句样本和对应的结果标签,按照预设形式转化为问答语句,其中,所述语句样本转化为问题,所述结果标签转化为答案,所述答案为自然语言。
[0210]
5.如方案2-4中任一项所述的语句分析模型的构建方法,其中,所述将所述词序列输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率,包括:
[0211]
将所述词序列输入语句分析模型,得到所述语句分析模型基于所述词序列中第i个词之前的所有词,在预设的词表中生成第i个词的概率,其中,所述词序列中包括n个词,i=[2,
···
,n];
[0212]
以及基于所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0213]
6.如方案4所述的语句分析模型的构建方法,其中,所述基于所述概率计算优化损失,包括:
[0214]
根据所述语句分析模型在预设的词表中生成各个词以及标签结果的各个概率,计算对应的多个优化损失;
[0215]
将多个优化损失联合,优化调整所述语句分析模型。
[0216]
7.如方案2-6中任一项所述的语句分析模型的构建方法,其中,所述将所述词序列输入语句分析模型进行处理,包括:
[0217]
将所述词序列中的所有词转化为对应的词向量;
[0218]
将所述词向量输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0219]
8.如方案1-7中任一项所述的语句分析模型的构建方法,其中,所述结果标签的类型包括情感标签和意图标签中的一种。
[0220]
9.一种语句分析方法,包括:
[0221]
采用如方案1-8中任一项所述的语句分析模型的构建方法构建语句分析模型;
[0222]
将待分析语句输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0223]
10.如方案9所述的语句分析方法,其中,所述将待分析语句输入所述语句分析模型,包括:
[0224]
对所述待分析语句进行分词处理,得到所述待分析语句的词序列;
[0225]
对所述词序列中的各个词进行编码,得到各个词的词向量;
[0226]
将各个词的词向量依次输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0227]
11.一种语句分析模型的构建装置,包括:
[0228]
预处理模块,被配置为获取语句样本以及与所述语句样本对应的结果标签;
[0229]
处理模块,被配置为将所述语句样本输入语句分析模型进行处理,至少得到所述语句分析模型基于所述语句样本在预设的词表中生成对应的结果标签的概率,其中,所述语句分析模型基于文本生成任务构建;以及
[0230]
基于所述概率计算优化损失;
[0231]
模型构建模块,被配置为基于所述优化损失调整所述语句分析模型。
[0232]
12.如方案11所述的语句分析模型的构建装置,其中,所述预处理模块,还被配置为对所述语句样本进行分词处理,得到所述语句样本的词序列;
[0233]
所述处理模块,还被配置为将所述词序列输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0234]
13.如方案12所述的语句分析模型的构建装置,其中,所述预处理模块至少包括:
[0235]
转换单元,被配置为将所述语句样本和对应的结果标签,按照预设形式转化为格式化语句样本;
[0236]
分词单元,被配置为对所述格式化语句样本进行分词处理,得到所述格式化语句样本的词序列。
[0237]
14.如方案13所述的语句分析模型的构建装置,其中,所述转换单元还被配置为,将所述语句样本和对应的结果标签,按照预设形式转化为问答语句,其中,所述语句样本转化为问题,所述结果标签转化为答案,所述答案为自然语言。
[0238]
15.如方案12-14中任一项所述的语句分析模型的构建装置,所述处理模块,包括:
[0239]
词向量生成单元,被配置为将所述词序列中的所有词转化为对应的词向量;
[0240]
概率计算单元,被配置为将所述词向量输入语句分析模型进行处理,至少得到所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率。
[0241]
16.如方案12-15中任一项所述的语句分析模型的构建装置,所述处理模块包括:
[0242]
语句生成概率获取单元,被配置为将所述词序列输入语句分析模型,得到所述语句分析模型基于所述词序列中第i个词之前的所有词,在预设的词表中生成第i个词的概率,其中,所述词序列中包括n个词,i=[2,
···
,n];情感生成概率获取单元,被配置为获取基于所述语句分析模型基于所述词序列在预设的词表中生成对应的结果标签的概率;
[0243]
优化损失计算单元,被配置为根据所述语句分析模型在预设的词表中生成各个词以及标签结果的各个概率,计算对应的多个优化损失;
[0244]
所述模型构建模块,还被配置为将多个优化损失联合,优化调整所述语句分析模型。
[0245]
17.如方案12-16中任一项所述的语句分析模型的构建装置,其中,所述结果标签的类型包括情感标签和意图标签中的一种。
[0246]
18.一种语句分析装置,采用如方案11-17中任一项所述的语句分析模型的构建装置构建语句分析模型,包括:
[0247]
语句分析模块,被配置为将待分析语句输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0248]
19.如方案18所述的语句分析装置,其中,所述语句分析模块,包括:
[0249]
分词单元,被配置为对所述待分析语句进行分词处理,得到所述待分析语句的词序列;
[0250]
编码单元,被配置为对所述词序列中的各个词进行编码,得到各个词的词向量;
[0251]
分析单元,被配置为将各个词的词向量依次输入所述语句分析模型,由所述语句分析模型生成所述待分析语句的情绪。
[0252]
20.一种计算机可读存储介质,存储有程序代码,所述程序代码当被处理器执行时,实现如方案1-10之一所述的方法。
[0253]
21.一种计算设备,包括处理器和存储有程序代码的存储介质,所述程序代码当被处理器执行时,实现如方案1-10之一所述的方法。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1