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

一种文本分类方法、装置、电子设备和存储介质与流程

2021-11-26 22:17:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种文本分类方法、装置、电子设备和存储介质。


背景技术:

2.相关技术中的短文本分类方法可分为两类:通过人工设计、收集和统计短文本特征进行分类;基于深度神经网络模型进行端到端的监督学习。
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.可选的,所述第一预训练语言模型包括第一嵌入层和第一transformer(转换单元)层;所述第一模型训练单元具体用于:
29.将所述第一训练样本输入所述第一预训练语言模型,基于所述第一嵌入层,对所述第一训练样本中的单词索引,句子索引和位置索引进行嵌入表示,获得对应的第一单词索引嵌入特征,第一句子索引嵌入特征,第一位置索引嵌入特征;
30.将所述第一单词索引嵌入特征,所述第一句子索引嵌入特征和所述第一位置索引嵌入特征进行加和,得到所述第一样本文本对应的第一嵌入表示特征;
31.将所述第一嵌入表示特征输入所述第一预训练语言模型中的transformer层,基于所述第一transformer层对应的第一注意力机制掩码对所述第一嵌入表示特征进行注意力特征提取,获取所述第一样本文本中的分类标志位对应的第一隐向量,其中,所述第一注意力机制掩码是基于所述各个分词之间的依存关系和所述各个分词的词性得到的;
32.基于所述第一隐向量对所述第一样本文本进行类别预测,获取所述第一预训练语言模型输出的所述第一样本文本的预测文本类别。
33.可选的,所述第一预训练语言模型包括l个第一transformer层,l为正整数;所述第一模型训练单元具体用于:
34.保持所述第一预训练语言模型中的前m个第一transformer层的参数不变,并对所
述第一预训练语言模型中的l

m个第一transformer层进行参数调整,其中,m为小于l的正整数,所述目标层为所述l

m个第一transformer层。
35.可选的,所述装置还包括:
36.第二模型训练单元,用于通过下列方式训练得到所述第一预训练语言模型:
37.获取第二训练样本数据集,所述第二训练样本数据集包括多个第二训练样本,每个第二训练样本包括一个第二样本文本,以及所述第二样本文本中的掩码词的真实分布;
38.根据所述第二训练样本数据集中的第二训练样本,对第二预训练语言模型执行循环迭代训练,并在训练完毕时,输出训练完毕的所述第一预训练语言模型;其中,在一次循环迭代训练过程中执行以下操作:
39.从所述第二训练样本数据集中选取至少一个第二训练样本,将选取的所述第二训练样本输入所述第二预训练语言模型,获取所述第二预训练语言模型输出的所述第二训练样本中的掩码词的预测分布;
40.基于所述第二训练样本中的掩码词的预测分布与真实分布之间的差异,构建第二损失函数;
41.基于所述第二损失函数,对所述第二预训练语言模型进行参数调整。
42.可选的,所述第二训练样本还包括:对所述第二样本文本进行分词处理得到的各个分词对应的单词索引,句子索引和位置索引;
43.其中,每个分词对应的单词索引表示相应分词在第二训练集单词词典中的编号,句子索引表示相应分词所在第二样文本的编号,位置索引表示相应分词在所述第二样本文本中的位置,所述第二训练集单词词典是基于对所述多个第二样本文本进行分词处理得到的分词构建的。
44.可选的,所述第二预训练语言模型包括第二嵌入层和第二transformer层;
45.所述第二模型训练单元具体用于:
46.将所述第二训练样本输入所述第二预训练语言模型,基于所述第二预训练语言模型中的第二嵌入层,对所述第二训练样本中的单词索引,句子索引和位置索引进行嵌入表示,获得对应的第二单词索引嵌入特征,第二句子索引嵌入特征,第二位置索引嵌入特征;
47.将所述第二单词索引嵌入特征,所述第二句子索引嵌入特征和所述第二位置索引嵌入特征进行加和,得到所述第二样本文本对应的第二嵌入表示特征;
48.将所述第二嵌入表示特征输入所述第二预训练语言模型中的第二transformer层,基于所述第二transformer层对应的第二注意力机制掩码对所述嵌入表示特征进行注意力特征提取,获取所述第二样本文本中的掩码词对应的第二隐向量,其中,所述第二注意力机制掩码是基于所述各个分词之间的依存关系和所述各个分词的词性得到的;
49.基于所述第二隐向量对所述掩码词在所述第二训练集单词词典中的位置进行分布预测,获得所述第二预训练语言模型输出的所述第二样本文本中的掩码词的预测分布。
50.可选的,所述第二模型训练单元还用于通过如下方式确定所述掩码词:
51.对所述第二样本文本中的各个分词进行词性标注,获得所述各个分词对应的词性;
52.基于所述各个分词的词性,对具有目标词性的分词进行随机掩码处理,得到所述掩码词。
53.可选的,所述第二模型训练单元还用于通过如下方式确定所述掩码词:
54.对所述第二样本文本中的各个分词进行词性标注,获得所述各个分词对应的词性,并基于所述各个分词的词性,对具有目标词性的部分分词进行随机掩码处理,得到第一掩码词;以及
55.对所述各个分词中的部分分词进行随机掩码,得到第二掩码词;
56.将所述第一掩码词和所述第二掩码词作为所述掩码词。
57.本技术实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述一种文本分类方法的步骤。
58.本技术实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任意一种文本分类方法的步骤。
59.本技术实施例提供一种计算机可读存储介质,其包括程序代码,当程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行上述一种文本分类方法的步骤。
60.本技术有益效果如下:
61.本技术实施例提供了一种文本分类方法、装置、电子设备和存储介质。由于本技术实施例中将待检测文本中的各个分词进行了依存句法分析,根据依存句法分析的先验信息,更好的学习短文本的结构化和全局语义特征,即本技术实施例中的上下文特征和全局交互特征。本技术实施例在句法分析和语义理解的角度进行特征选择并建模,基于待检测文本的上下文特征和全局交互特征,来对该文本进行分类,可以有效提高短文本分类的分类性能,提高短文本分类的准确性。
62.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
63.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
64.图1为本技术实施例中的一种应用场景的一个可选的示意图;
65.图2为本技术实施例中的一种文本分类方法的流程示意图;
66.图3a为本技术实施例中的一种依存关系示意图;
67.图3b为本技术实施例中的另一种依存关系示意图;
68.图4为本技术实施例中的基于机器学习模型来实现的短文本分类方法的流程图;
69.图5为本技术实施例中的一种待检测文本对应的索引示例的示意图;
70.图6为本技术实施例中的一种预训练语言模型的结构示意图;
71.图7a为相关技术中的一种原生自注意力机制关系图;
72.图7b为本技术实施例中的一种星型注意力机制结合句法分析树关系图;
73.图7c为相关技术中的一种原生自注意力机制掩码的示意图;
74.图7d为本技术实施例中的一种注意力机制掩码的示意图;
75.图8为本技术实施例中的一种预训练语言模型的完整训练方法的流程示意图;
76.图9为本技术实施中的一种目标域模型的结构示意图;
77.图10为本技术实施中的一种目标域模型的完整训练方法的流程示意图;
78.图11为本技术实施例中的另一种文本分类方法的流程示意图;
79.图12为本技术实施例中的一种文本分类装置的组成结构示意图;
80.图13为应用本技术实施例的一种电子设备的一个硬件组成结构示意图;
81.图14为应用本技术实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
82.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术技术方案的一部分实施例,而不是全部的实施例。基于本技术文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术技术方案保护的范围。
83.下面对本技术实施例中涉及的部分概念进行介绍。
84.星型注意力机制(star

attention,star

att):是本技术提出的一种新型注意力机制,由于词语之间的连接关系呈星状结构,因而称作星型注意力机制。基于本技术实施例中的星型注意力机制,在提取文本语义特征的同时减少了模型计算量。
85.基于transformer的双向编码器表示模型(bidirectional encoder representations from transformers,bert):一种预训练语言模型,无需标注数据可有效学习具有上下文语义的词向量和稠密的句子表示。bert的输入可以包含一个句子对(句子a和句子b),也可以是单个句子。此外还增加了一些有特殊作用的标志位:
86.[cls]标志放在第一个句子的首位,经过bert得到的表征向量c可以用于后续的分类任务。[sep]标志用于分开两个输入句子,例如输入句子a和b,要在句子a,b后面增加[sep]标志。[unk]标志指的是未知字符[mask]标志用于遮盖句子中的一些单词,将单词用[mask]遮盖之后,再利用bert输出的[mask]向量预测单词是什么,在本技术实施例中将用[mask]遮盖的词称作掩码词。
[0087]
短文本:字符数较少,样本长度低的文本数据,一般为对话(是指公开信息),内容分享平台中的分享的信息,评论等数据。在本技术实施例中的短文本。
[0088]
索引:在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
[0089]
本技术实施例中的索引有:单词索引(input_ids)、句子索引(segment_ids)、位置索引(pos_ids)和掩码索引(mask_ids)等。其中,单词索引:来自字典,表示单词在字典中的编号;句子索引:表示第几个句子;位置索引:由单词在整个文本中的位置构成;掩码索引:指的是将句子中哪个单词mask了,mask_ids就是对应的单词索引。
[0090]
训练集单词词典:是本技术中在训练模型时构建的,包括第一训练集单词词典和
第二训练集单词词典。其中,第一训练集单词词典是用于训练目标域模型的,主要是基于对多个第一样本文本进行分词处理得到的分词构建的;第二训练集单词词典是用于训练预训练语言模型的,主要是基于对多个第二样本文本进行分词处理得到的分词构建的。需要说明的是,考虑到本技术实施例中的目标域模型是基于预训练语言模型对应的词典的嵌入矩阵权重而得到的,因而本技术实施例中的第一训练集单词词典和第二训练集单词词典可以完全相同,或者大部分相同。在第一训练集单词词典和第二训练集单词词典不完全相同的情况下,第一训练样本中的单词,如果存在于第二训练集单词词典中,则该单词对应的input_ids使用其在第二训练集单词词典的索引,如果不存在则使用unk单词的索引。在本文中,主要是以第一训练集单词词典和第二训练集单词词典相同为例进行举例说明的,在此不做具体限定。
[0091]
本技术实施例涉及人工智能(artificial intelligence,ai)和机器学习技术,基于人工智能中的计算机视觉技术和机器学习(machine learning,ml)而设计。
[0092]
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。
[0093]
人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、自然语言处理技术、以及机器学习/深度学习等几大方向。随着人工智能技术研究和进步,人工智能在多个领域展开研究和应用,例如常见的智能家居、智能客服、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、机器人、智能医疗等,相信随着技术的发展,人工智能将在更多的领域得到应用,并发挥越来越重要的价值。
[0094]
自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
[0095]
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。对比于数据挖掘从大数据之间找相互特性而言,机器学习更加注重算法的设计,让计算机能够自动地从数据中“学习”规律,并利用规律对未知数据进行预测。
[0096]
机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。本技术实施例中的预训练语言模型就是采用机器学习或深度学习技术训练得到的。基于本技术实施例中的预训练语言模型的训练方法,可以执行多个目标任务。
[0097]
在本技术实施例中提出的训练预训练语言模型的方法可分为两部分,包括训练部
分和应用部分;其中,训练部分就涉及到机器学习这一技术领域,在训练部分中,通过机器学习这一技术训练预训练语言模型和目标域模型。具体的,使用本技术实施例中给出的第二训练样本数据集中的第二训练样本来训练预训练语言模型,第二训练样本通过预训练语言模型后,获取预训练语言模型的输出结果,结合输出结果,不断调整模型参数,输出训练完毕的预训练语言模型;进而,在基于第一训练样本数据集中的第一训练样本来训练目标域模型,第一训练样本通过训练完毕的预训练语言模型后,获取训练完毕的预训练语言模型的输出结果,结合输出结果,不断调整训练完毕的预训练语言模型中的部分参数,输出训练完毕的目标域模型;应用部分用于使用在训练部分训练得到的目标域模型来对短文本进行分类。
[0098]
下面对本技术实施例的设计思想进行简要介绍:
[0099]
短文本因为字符数较少、信息量低,成为文本分类任务中的一大难点。理解用户产生的短文本数据,可以更好的构建用户画像和标签体系。例如,会话审计平台为了更准确捕获用户兴趣标签,在短文本理解上发展了多种策略和算法,例如:统计学特征(模式命中、短语命中),机器学习算法,深度学习算法等。但短文本数据所含信息量较少,单纯的依靠人工特征或端到端的深度学习模型均无法很好的完成分类任务。
[0100]
例如“张三今天参加了班级会议”,通过短语命中,该文本将被归为a类,但结合整句语义实际为b类;同样采用深度学习算法,当训练集中包含“张三”词汇的样本大多为a类时,模型很难将该样本正确分类。
[0101]
有鉴于此,本技术实施例提供了一种文本分类方法、装置、电子设备和存储介质。由于本技术实施例中将待检测文本中的各个分词进行了依存句法分析,根据依存句法分析的先验信息,更好的学习短文本的结构化和全局语义特征,即本技术实施例中的上下文特征和全局交互特征。本技术实施例在句法分析和语义理解的角度进行特征选择并建模,基于待检测文本的上下文特征和全局交互特征,来对该文本进行分类,可以有效提高短文本分类的分类性能,提高短文本分类的准确性。
[0102]
以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0103]
如图1所示,其为本技术实施例的应用场景示意图。其为本技术实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。终端设备110与服务器120之间可以通过通信网络进行通信。
[0104]
在一种可选的实施方式中,通信网络是有线网络或无线网络。终端设备110以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
[0105]
在本技术实施例中,终端设备110为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器等具有一定计算能力并且运行有即时通信类软件及网站或者社交类软件及网站的计算机设备。各终端设备110通过无线网络与服务器120连接,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平
板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
[0106]
在本技术实施例中,预训练语言模型和目标域模型可以部署于终端设备110上进行训练,也可以部署于服务器120上进行训练。服务器120中可存储有大量训练样本,包含至少一组样本文本,用于训练预训练语言模型和目标域模型。可选的,在基于本技术实施例中的训练方法训练得到预训练语言模型和目标域模型之后,可直接将训练好的目标域模型部署于服务器120或终端设备110上。一般情况下都是直接将目标域模型部署于服务器120上,在本技术实施例中,目标域模型常用于对短文本进行分类。
[0107]
需要说明的是,本技术实施例提供的训练预训练语言模型和目标域模型和文本分类的方法可以应用于各种包含有文本分类任务的应用场景下,例如一些聊天软件对应的会话审计平台中的会话分类模块,一些内容分享平台中的评论分类模块等,可用于对一些公开信息,公开对话等进行文本分类。以本技术实施例中提出的文本分类方法用于会话审计平台中的会话分类模块为例,其目标是预测用户会话文本属于预定义类别中的哪一类(例如体育,金融和政治等),后续根据类别比例可进行统计数据分析和用户画像分析等,该方法预训练阶段基于大量互联网文本进行预训练。
[0108]
除了将本技术实施例中的文本分类方法应用于上述所列举的会话审计平台中的会话分类模块,负责对实时的会话文本进行分类之外。另外,也可以应用到其他业务场景,例如短信分类,新闻标题分类,内容分享平台中的文本分类,搜索提问分类等具有较少字符和信息量的文本分类任务上。相应的,在不同场景下所使用的训练样本不同,在此不做一一列举。
[0109]
下面结合上述描述的应用场景,参考附图来描述本技术示例性实施方式提供的文本分类方法,需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。
[0110]
参阅图2所示,其为本技术实施例提供的一种文本分类方法的实施流程图,该方法的具体实施流程如下:
[0111]
s21:对待检测文本进行分词处理,获取待检测文本包含的各个分词;
[0112]
其中,分词可以是一个字,也可以是一个词语,一个英文单词等,也可以将多个单词作为一个分词,在此不做具体限定。
[0113]
例如,对于句子1“张三参加了班级会议”,进行分词处理可以得到5个分词,分别为:张三,参加,了,班级,会议。
[0114]
再例如,对于句子2“潮水今天会涨的”,进行分词处理可以得到5个分词,分别为:潮水,今天,会,涨,的。
[0115]
s22:对各个分词进行依存句法分析,获取各个分词之间的依存关系;
[0116]
例如图3a和图3b所示,分别是对句子1和句子2进行依存句法分析所得到的依存关系示意图。需要说明的是,在图3a和图3b中,每一个分词可以作为一个节点,root表示根节点。其中,节点和节点间有关系的会被连在一起,箭头上的标记表示分词和分词之间的依存关系。
[0117]
具体的,图3a所示是对句子1进行依存句法分析所得到的各个分词之间的依存关系,其中,分词“张三”和“参加”之间是主谓关系,分词“参加”和“了”之间是右附加关系,“参
加”和“会议”之间是动宾关系,“班级”和“会议”之间是定中关系。
[0118]
具体的,图3b所示是对句子2进行依存句法分析所得到的各个分词之间的依存关系,其中,分词“潮水”和“涨”之间是主谓关系,分词“今天”和“涨”之间是状中关系,分词“会”和“涨”之间是状中关系,分词“涨”和“的”之间是右附加关系。
[0119]
需要说明的是,从图3a中可知“参加”为关键谓语动词,“张三参加”,“参加会议”,“班级会议”为关键结构。在基于模型来实现文本分类时,如果在模型输入时已知这些关键的先验信息将帮助模型更好的进行语义理解和分类,从理解文本的角度,利用先验信息提取有效的句法结构和语义特征可提高短文本分类任务的准确率。
[0120]
s23:根据各个分词之间的依存关系,提取待检测文本的上下文特征和全局交互特征,其中,上下文特征用于表征待检测文本中相邻分词之间的上下文关系,全局交互特征用于表征待检测文本中的每两个分词之间相互的影响度,即每两个分词之间的依赖关系;
[0121]
s24:基于上下文特征和全局交互特征,获得待检测文本的文本类别。
[0122]
在上述实施方式中,由于本技术实施例中将待检测文本中的各个分词进行了依存句法分析,根据依存句法分析的先验信息,更好的学习短文本的结构化和全局语义特征,即本技术实施例中的上下文特征和全局交互特征。本技术实施例在句法分析和语义理解的角度进行特征选择并建模,基于待检测文本的上下文特征和全局交互特征,来对该文本进行分类,可以有效提高短文本分类的分类性能,提高短文本分类的准确性。
[0123]
需要说明的是,本技术实施例中的文本分类方法可以基于机器学习模型来实现。在本技术实施例中所涉及的机器学习模型包括目标域模型和预训练语言模型。其中,目标域模型用于对短文本进行分类,而目标域模型是通过对预训练语言模型中的目标层的参数进行微调得到的。因而,首先需要基于第二训练样本数据集对预训练语言模型进行训练,得到训练完毕的预训练语言模型,即本技术实施例中的第一预训练语言模型,进而可基于第一训练样本数据集对第一预训练语言模型进行训练,并在训练完毕后得到目标域模型。
[0124]
具体的,本技术采用预训练语言模型获得大量先验信息,然后通过少量有标注数据在目标域进行微调,最后将经微调得到的目标域模型用于目标域测试,获得待检测文本属于某类别的概率。参阅图4所示,其为本技术实施例中的一种基于机器学习模型来实现的短文本分类方法的流程图,具体包括以下步骤:
[0125]
s41、收集大量无标注互联网文本语料,标注少量目标域样本,构建文本语料库;
[0126]
s42:对文本语料库中的数据进行数据清洗;
[0127]
其中,数据清洗是指对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性;
[0128]
s43':通过pyltp开源工具对文本包含的各个分词进行词性标注,得到各个分词对应的词性标签;
[0129]
其中,pyltp是语言技术平台(language technology plantform,ltp)的python封装,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能;
[0130]
s44':基于各个分词对应的词性标签,生成名词、动词和随机掩码;
[0131]
从而获得句法结构的先验信息和增强相应词语的向量表示;
[0132]
s43”:通过pyltp开源工具的依存句法分析树,对文本中的各个分词进行依存句法分析;
[0133]
s44”:基于依存句法分析结果,构建依存关系和星状关系;
[0134]
在本技术实施例中,通过构建星状关系,可提取短文本的上下文特征和全局交互特征;此外,通过句法结构和星状结构可生成att_mask(注意力机制掩码);
[0135]
s43”':获取文本中的各个分词对应的单词索引,句子索引和位置索引;
[0136]
s44”':对文本中的各个分词对应的单词索引,句子索引和位置索引进行嵌入表示,获取相应的单词索引嵌入特征,句子索引嵌入特征和位置索引嵌入特征;
[0137]
s45:基于上述步骤获取到的信息,对预训练语言模型进行训练,得到训练完毕的预训练语言模型;
[0138]
s46、基于目标域样本,对训练完毕的预训练语言模型进行微调,得到目标域模型;
[0139]
s47、基于微调得到的目标域模型进行线上测试,生成短文本样本属于某类别的概率。
[0140]
其中,步骤s43'、s43”和s43”'之间的先后顺序不做具体限定,同样的,s44'、s44”和s44”'之间的先后顺序也不做具体限定。
[0141]
需要说明的是,本技术首先采用pyltp开源工具提取文本的依存句法分析树和词性标签。然后将名词,动词和随机掩码作为掩码标签预训练基于star

att的bert模型,从而增强预训练模型对名词和动词的表示能力。本技术提出一种新颖的短文本分类方法,其通过融入句法信息,名词和动词的启发式掩码学习范式和star

att结构提高了短文本分类模型的性能。
[0142]
接下来将详细介绍本技术所提出的方法,具体包括:数据组织与数据预处理、预训练语言模型、目标域模型、线上服务模型四个部分:
[0143]
在数据组织与数据预处理部分,短文本数据如图3a或图3b所示,采用pyltp开源工具将大量无标注文本进行分词,词性标注和依存句法分析,分词后的文本可表示为s=(w1,w2,

,w
n
),其中w
n
为句子的第n个单词,词性标注为p=(p1,p2,

,p
n
),其中p
n
为句子的第n个单词的词性,依存关系表示为其中head
i
,tail
i
,relation
i
分别为第i个依存关系的头节点,尾节点和关系类别。
[0144]
例如,句子“张三参加了班级会议”,其中w1=张三,w2=参加,w3=了,w4=班级,w5=会议,对应的词性分别为:p1=名词,p2=动词,p3=助词,p4=名词,p5=名词。以“张三”和“参加”之间的依存关系为第1个依存关系为例,head1=张三,tail1=参加,relation1=主谓关系,以此类推即可。
[0145]
需要说明的是,本技术实施例中的训练样本除了包括样本文本以及相应的标注之外,还可包括样本文本中各个分词对应的单词索引、句子索引、位置索引。其中,每个分词对应的单词索引表示相应分词在训练集单词词典中的编号,句子索引表示相应分词所在样文本的编号,位置索引表示相应分词在样本文本中的位置,训练集单词词典是基于对多个样本文本进行分词处理得到的分词构建的。
[0146]
在本技术实施例中,预训练语言模型的输入可由上述信息构建,通过依存关系表示r和星状结构生成att_mask(注意力机制掩码),注意力机制掩码如图7d所示(在下文中会进行详细介绍)。input_ids(单词索引)由文本表示s构成,seg_ids(句子索引)由句子编号构成,例如全部置0,或者全部置1、置2等等,pos_ids(位置索引)由字符在句中位置构成。输出的标签信息由词性标注p获取名词和动词的索引并结合随机掩码生成的mask_ids(掩码
索引)决定。目标域模型同样按照上述方法构成输入信息(具体为:单词索引,句子索引,位置索引和注意力机制掩码),输出为文本类别。目标域模型的输入与预训练语言模型一致,输出由[cls]对应的最后层隐层向量送入softmax层产生的概率分布决定。
[0147]
例如训练集单词词典为:{[sos]:0,[eos]:1,[mask]:2,[cls]:3,[sep]:4,张三:5,没有:6,参加:7,今年:8,的:9,比赛:10,。:11,走向:12

}。
[0148]
其中,[sos]、[eos]、[mask]、[cls]、[sep]这些token(标记)分别表示不同的含义,其中,可在第一个文本开始前加上[sos]token,在每一个文本末尾加上[eos]token,在nlg任务上,[eos]还可以作为文本生成结束的标志。[cls]标志放在第一个句子的首位,[sep]标志用于分开两个输入句子,[mask]用于进行掩码。
[0149]
参阅图5所示,其为本技术实施例中的一种待检测文本对应的索引示例的示意图。对于图中第一个句子,编号为0,即句子0“张三没有参加今年的比赛”,通过分词得到的各个词语分别为:张三没有参加今年的比赛。
[0150]
由图5可知,句子0中的各个词对应的单词索引为:5,6,7,8,9,10,11;句子索引为:0,0,0,0,0,0,0;位置索引为:0,1,2,3,4,5,6。
[0151]
对于图中第2个句子,编号为1,即句子1“张三走向
…”
,通过分词得到的各个词语分别为:张三走向

[0152]
由图5可知,句子1中的各个词对应的单词索引为:5,12;句子索引为:1,1;位置索引为:7,8。
[0153]
下面分别对预训练语言模型和目标域模型的训练过程进行详细介绍。首先介绍预训练语言模型的训练过程:
[0154]
在本技术实施例中,第一预训练语言模型是通过下列方式训练得到的:
[0155]
获取第二训练样本数据集,第二训练样本数据集包括多个第二训练样本,每个第二训练样本包括一个第二样本文本,以及第二样本文本中的掩码词的真实分布;
[0156]
根据第二训练样本数据集中的第二训练样本,对第二预训练语言模型执行循环迭代训练,并在训练完毕时,输出训练完毕的第一预训练语言模型;其中,在一次循环迭代训练过程中执行以下操作:
[0157]
s1:从第二训练样本数据集中选取至少一个第二训练样本,将选取的第二训练样本输入第二预训练语言模型,获取第二预训练语言模型输出的第二训练样本中的掩码词的预测分布;
[0158]
其中,一般都是批量训练,每次选取多个第二训练样本,例如256、512等,在此不做具体限定。
[0159]
s2:基于第二训练样本中的掩码词的预测分布与真实分布之间的差异,构建第二损失函数;
[0160]
s3:基于第二损失函数,对第二预训练语言模型进行参数调整。
[0161]
模型的输入为:第二训练样本,包括对第二训练样本中的第二样本文本进行分词得到的各个分词,以及第二样本文本中的掩码词的真实分词。模型的输出为:掩码词的预测分布。
[0162]
其中,本技术实施例中的掩码词可通过掩码索引确定,预训练语言模型用于预测掩码词在训练集单词词典中的位置,因而掩码词的预测分布可表示为概率值。
[0163]
需要说明的是,第二训练样本还可包括第二样本文本中各个分词对应的单词索引、句子索引、位置索引。其中,每个分词对应的单词索引表示相应分词在第二训练集单词词典中的编号,句子索引表示相应分词所在第二样文本的编号,位置索引表示相应分词在第二样本文本中的位置,第二训练集单词词典是基于对多个第二样本文本进行分词处理得到的分词构建的。
[0164]
参阅图6所示,其为本技术实施例中的一种预训练语言模型的结构示意图。该模型包括嵌入层和l层transformer层,在本技术实施例中,为了和目标域模型进行区分,也可称作第二嵌入层和第二transformer层。需要说明的是,该模型可以是基于bert改进得到的。
[0165]
例如图6所示,第二样本文本为:价格会涨的,另外在输入该模型时,还需要在文本前添加分类标志位[cls]。另外,将input_ids(单词索引)作为模型的输入,首先将单词索引输入到嵌入矩阵为的第二嵌入层,其中m为嵌入向量的维度,d为第二训练集单词字典的大小,令v
t
表示单词w
t
在字典中的索引,则嵌入层的数学表示如下所示:
[0166][0167]
其中,为单词w
t
的嵌入向量,即本技术实施例中的第二单词索引嵌入特征,w[v]表示矩阵w的第v列。同理分别对segment_ids(句子索引)和pos_ids(位置索引)进行嵌入表示,分别得到句子索引嵌入特征(即本技术实施例中的第二句子索引嵌入特征)和位置索引嵌入特征(即本技术实施例中的第二位置索引嵌入特征),将三个表示进行加和得到x
t
,即本技术实施例中的第二嵌入表示特征,对应图6中的e
cls
、e1、

、e
n
‑1、e
n
,其中,n表示分词得到的数量,比如“价格会涨的”通过分词处理得到了4个分词,则n=4。通过收集所有时刻(指第二训练集单词词典中的所有位置)单词的表示得到嵌入矩阵x=(x1,x2,

x
n
),然后计算进行l层transformer层运算获得最终的隐层表示即本技术实施例中的第二隐向量,对应图6中的c、t1、

、t
n
‑1、t
n
,计算公式如下:
[0168]
x
l
=transformer(x
l
‑1)
ꢀꢀꢀꢀꢀꢀ
(2)
[0169]
其中,transformer层中的注意力机制由相关技术中的原生注意力机制对应的计算公式

公式3修改为本技术实施例中的星型注意力机制对应的计算公式

公式4:
[0170][0171][0172]
其中,q,k,v分别为输入x,通过不同的仿射变换得到,为m的平方根,att
mask
通过星状结构和依存句法树生成,具体形式如图7d所示。
[0173]
参阅图7a所示,其为相关技术中的一种原生自注意力机制关系图。由图7a可知,句子“张三参加了班级会议”中的每个分词以及分类标志位[cls]中,每两个不同的词之间都有连线,即表示每个词与除自身之外的其他词之间都具有连接关系。
[0174]
参阅图7b所示,其为本技术实施例中的一种星型注意力机制结合句法分析树关系图。在图7b中,并非是每个词与除自身之外的其他词之间都具有连接关系,而是每两个相邻的分词之间具有连接关系,且每个分词与分类标志位[cls]之间具有连接关系,即基于[cls]建立单词之间的连接关系,是分词与分词之间的距离更近,形成图7b所示的星型结构(也称星状结构)。另外,依据各个分词之间的依存关系和词性进行补充,如图7b中的虚线所示,补充限定动词和名词之间的连接关系,即图中的虚线部分,也就是依据依存句法树添加的依赖。
[0175]
参阅图7c所示,其为相关技术中的一种原生自注意力机制掩码的示意图。其中,掩码数值为1表示两个分词之间有连接关系,可进行交互;掩码数值为0表示两个分词之间无连接关系,不可进行交互;由图7c可知,句子“张三参加了班级会议”中的每个分词以及分类标志位[cls],除了与自身不具有连接关系外,与其他分词都具有连接关系。
[0176]
参阅图7d所示,其为本技术实施例中的一种注意力机制掩码(star

att)的示意图。同样的,其中,掩码数值为1表示两个分词之间有连接关系,可进行交互;掩码数值为0表示两个分词之间无连接关系,不可进行交互;由图7d可知,句子“张三参加了班级会议”中的每个分词以及分类标志位[cls]之间的连接关系显然要比相关技术中的方式对应的连接关系更少一些,如图7a或图7c所示。
[0177]
需要说明的是,本技术实施例中的star

att并非原生bert模型采用的全连接结构,而是依据中心结构和依存句法树构建的一种新式注意力机制,该结构在融入句法信息后,可以更好的建模文本的高层语义特征;同时通过星状结构提取文本上下文特征和全局交互特征,减少了原生bert模型的计算量并有效进行了特征选择避免过拟合。
[0178]
另外,在s2中构建第二损失函数时,主要是将第二训练样本中的掩码词的真实分布与模型预测得到的预测分布进行比较,进而构建得到。具体的,可将mask_ids(掩码索引)对应的单词作为标签进行分类,并构建交叉熵损失函数(即本技术实施例中的第二损失函数)如下:
[0179][0180][0181]
其中,ω为训练集,g为该训练样本的掩码位置集合,p
g
为第g位单词的真实分布,为第g位单词的预测分布,为第g位单词的最后层隐向量。例如图6所示,对应的掩码词为“价格”和“涨”。
[0182]
在本技术实施例中,掩码词是通过随机掩码得到的,具体可基于如下方式确定:
[0183]
掩码方式一、对具有目标词性的词进行随机掩码。
[0184]
在本技术实施例中,目标词性主要是指名词和动词。具体过程为:对第二样本文本中的各个分词进行词性标注,获得各个分词对应的词性,可以是名词、动词、形容词、数词、量词、代词、助词等等;进而,基于各个分词的词性,对分词中的名词和动词进行随机掩码处理,得到掩码词。
[0185]
掩码方式二、对所有分词进行随机掩码,并选取一部分掩码词;以及,对具有目标
词性的词进行随机掩码,并选取一部分掩码词。
[0186]
仍以目标词性主要是指名词和动词为例,具体过程为:对第二样本文本中的各个分词进行词性标注,获得各个分词对应的词性,并基于各个分词的词性,对具有目标词性的部分分词进行随机掩码处理,得到第一掩码词;以及,对各个分词中的部分分词进行随机掩码,得到第二掩码词;最终将第一掩码词和第二掩码词作为掩码词。
[0187]
例如,首先对所有的分词进行随机掩码,然后从得到的掩码词中选取20%作为第一掩码词;进而,再对所有的名词和动词重新进行随机掩码,然后从得到的掩码词中选取80%作为第二掩码词。
[0188]
或者,首先对所有的分词进行20%的随机掩码,即10个词中掩码2个词,得到第一掩码词。进而,再对所有的名词和动词进行80%的随机掩码,即10个词中掩码8个词,得到第二掩码词。
[0189]
在上述实施方式中增加了名词和动词掩码,增强对上述两种词的向量表示,有利于后续的短文本分类任务。
[0190]
需要说明的是,上述实施方式只是举例说明,也可先对具有目标词性的词进行随机掩码,再对所有分词重新进行随机掩码等,在此不做具体限定。
[0191]
参阅图8所示,其为本技术实施例中的一种预训练语言模型的完整训练方法流程图,具体包括以下步骤:
[0192]
s80:从第二训练样本数据集中选取一批第二训练样本,将选取的第二训练样本输入第二预训练语言模型;
[0193]
s81:基于第二预训练语言模型中的第二嵌入层,对第二训练样本中的单词索引,句子索引和位置索引进行嵌入表示,获得对应的第二单词索引嵌入特征,第二句子索引嵌入特征,第二位置索引嵌入特征;
[0194]
s82:将第二单词索引嵌入特征,第二句子索引嵌入特征和第二位置索引嵌入特征进行加和,得到第二样本文本对应的第二嵌入表示特征;
[0195]
s83:将第二嵌入表示特征输入第二预训练语言模型中的第二transformer层,基于第二transformer层对应的第二注意力机制掩码对嵌入表示特征进行注意力特征提取,获取第二样本文本中的掩码词对应的第二隐向量,其中,第二注意力机制掩码是基于各个分词之间的依存关系和各个分词的词性得到的;
[0196]
s84:基于第二隐向量对掩码词在第二训练集单词词典中的位置进行分布预测,获得第二预训练语言模型输出的第二样本文本中的掩码词的预测分布;
[0197]
s85:基于第二训练样本中的掩码词的预测分布与真实分布之间的差异,构建第二损失函数;
[0198]
s86:基于第二损失函数,对第二预训练语言模型进行参数调整;
[0199]
s87:判断是否满足训练停止条件,如果是,则执行步骤s88,否则,返回步骤s80;
[0200]
s88:输出训练完毕的第一预训练语言模型。
[0201]
需要说明的是,本技术实施例中的第二预训练语言模型指未训练的预训练语言模型,第一预训练语言模型指训练完毕的预训练语言模型。第一预训练语言模型是通过对第二预训练语言模型进行多次参数调整后得到的。其中,s87训练停止条件可以是循环迭代次数达到上限,或者是模型收敛等,在此不做具体限定。
[0202]
在上述实施方式中,通过依存句法先验知识和动词、名词掩码可提升短文本分类任务的准确率,通过星状结构可以同时提取上下文和全局依赖并减少模型运算复杂度。基于本技术实施例中提出的星状结构,提取短文本的上下文关系和全局交互依赖,将二次运算降为线性运算,可在减少模型的运算时间的同时避免过拟合。
[0203]
在上述方法预训练阶段基于大量互联网文本进行预训练,首先进行词性标注生成名词、动词和随机掩码,然后进行依存句法分析构建句法依存关系和星状关系,最后基于掩码进行语言建模。待预训练语言模型训练完成后保存权重,并在会话场景中进行目标域微调训练。当收到新的会话文本时,仅需要进行依存句法分析构建句法依存关系和星状关系后,即可获得文本属于某一类别的概率,从而实现短文本分类。
[0204]
因而,在介绍完预训练语言模型的训练过程之后,下面对目标域模型的训练过程进行详细介绍:
[0205]
需要说明的是,本技术实施例中的目标域模型是通过对预训练语言模型中的目标层进行微调得到的。
[0206]
在一种可选的实施方式中,目标域模型是通过下列方式训练得到的:
[0207]
获取第一训练样本数据集,根据第一训练样本数据集中的第一训练样本,对第一预训练语言模型执行循环迭代训练,并在训练完毕时,输出训练完毕的目标域模型;其中,在一次循环迭代训练过程中执行以下操作:
[0208]
s01:从第一训练样本数据集中选取至少一个第一训练样本,将选取的第一训练样本输入第一预训练语言模型,获取第一预训练语言模型输出的预测文本类别;
[0209]
其中,一般都是批量训练,每次选取多个第一训练样本,例如256、512等,在此不做具体限定。
[0210]
s02:基于预测文本类别与真实文本类别之间的差异,构建第一损失函数;
[0211]
s03:基于第一损失函数,对第一预训练语言模型中的目标层进行参数调整。
[0212]
其中,第一训练样本包括一个第一样本文本,以及第一样本文本对应的真实文本类别。
[0213]
在一种可选的实施方式中,第一训练样本还包括:对第一样本文本进行分词处理得到的各个分词对应的单词索引,句子索引和位置索引;其中,每个分词对应的单词索引表示相应分词在第一训练集单词词典中的编号,句子索引表示相应分词所在第一样文本的编号,位置索引表示相应分词在第一样本文本中的位置,第一训练集单词词典是基于对多个第一样本文本进行分词处理得到的分词构建的。
[0214]
下面结合图9所列举的模型结构进行详细介绍。参阅图9所示,其为本技术实施例中的一种目标域模型的结构示意图。该模型同样包括嵌入层和l层transformer层,对应的第一预训练语言模型也包括嵌入层和transformer层。需要说明的是,该模型可以是基于bert改进得到的。
[0215]
在本技术实施例中,为了和预训练语言模型进行区分,也可称作第一嵌入层和第一transformer层。例如图9所示,第一样本文本为:价格会涨的,另外在输入该模型时,也需要在文本前添加分类标志位[cls]。另外,将input_ids(单词索引)、segment_ids(句子索引)和pos_ids(位置索引)也作为模型的输入,基于第一嵌入层进行嵌入表示,得到对应的第一单词索引嵌入特征、第一句子索引嵌入特征和第一位置索引嵌入特征。
[0216]
进而,分别将各个词语(包含分类标志位[cls])对应的三个表示进行加和得到第一嵌入表示特征,即图9中的e
cls
、e1、

、e
n
‑1、e
n
。之后,经过l层第一transformer层进行注意力特征提取,得到各个词语对应第一隐向量,即图9中的c、t1、

、t
n
‑1、t
n
。其中,n表示分词得到的数量,比如“价格会涨的”通过分词处理得到了4个分词,则n=4。
[0217]
待上述预训练语言模型完成后,加载权重,通过少量标注数据在目标域进行微调。由公式2可获得l层transformer层运算的最终隐层表示由公式2可获得l层transformer层运算的最终隐层表示其中为[cls]标识符的最后层的隐层表示c。将其送入softmax层映射到类别维度并进行概率归一化,获得类别预测分布(即预测文本类别),数学表示如下式所示:
[0218][0219]
模型采用多分类交叉熵函数作为损失函数(即本技术实施例中的第一损失函数):
[0220][0221]
其中,ω为训练集,p
t
为样本的真实标签分布(即真实文本类别)。模型采用梯度优化算法和反向传播算法进行参数更新和学习。例如,自适应矩估计(adaptive moment estimation,adam)优化算法。
[0222]
在一种可选的实施方式中,第一预训练语言模型包括l个第一transformer层,l为正整数;在模型训练时固定前m层,微调后l

m层2到3个epoch(迭代)。具体的,保持第一预训练语言模型中的前m个第一transformer层的参数不变,并对第一预训练语言模型中的l

m个第一transformer层进行参数调整,其中,m为小于l的正整数,目标层为l

m个第一transformer层。例如,l=6,m=3。
[0223]
参阅图10所示,其为本技术实施例中的目标域模型的完整训练方法流程图,具体包括以下步骤:
[0224]
s100:从第一训练样本数据集中选取一批第一训练样本,将选取的第一训练样本输入第一预训练语言模型;
[0225]
s101:基于第一嵌入层,对第一训练样本中的单词索引,句子索引和位置索引进行嵌入表示,获得对应的第一单词索引嵌入特征,第一句子索引嵌入特征,第一位置索引嵌入特征;
[0226]
s102:将第一单词索引嵌入特征,第一句子索引嵌入特征和第一位置索引嵌入特征进行加和,得到第一样本文本对应的第一嵌入表示特征;
[0227]
s103:将第一嵌入表示特征输入第一预训练语言模型中的transformer层,基于第一transformer层对应的第一注意力机制掩码对第一嵌入表示特征进行注意力特征提取,获取第一样本文本中的分类标志位(cls)对应的第一隐向量,其中,第一注意力机制掩码是基于各个分词之间的依存关系和各个分词的词性得到的;
[0228]
s104:基于第一隐向量对第一样本文本进行类别预测,获取第一预训练语言模型输出的第一样本文本的预测文本类别;
[0229]
其中,cls对应的第一隐向量即图9中的向量c,将其送入softmax层映射到类别维度并进行概率归一化,即可获得类别预测分布基于该概率值即可确定第一样本文本的预
测文本类别;
[0230]
s105:基于预测文本类别与真实文本类别之间的差异,构建第一损失函数;
[0231]
s106:基于第一损失函数,对第一预训练语言模型中的目标层进行参数调整;
[0232]
s107:判断是否满足训练停止条件,如果是,则执行步骤s108,否则,返回步骤s100;
[0233]
s108:输出训练完毕的目标域模型。
[0234]
其中,s107中的训练停止条件可以是循环迭代次数达到上限,或者是模型收敛等,在此不做具体限定。
[0235]
在待模型完成目标域微调后,可以直接用于线上服务,基本技术实施例中的线上服务模型部分。具体实现流程为:针对实时请求服务的样本s,模型将产生一个预测概率分布p^(p^向量的维度为类别个数),取标量最高值对应维度的索引作为该样本的预测类别。
[0236]
在本技术实施例中,在基于目标域语言模型进行文本分类时,具体流程可参见图11所示,包括如下步骤:
[0237]
s111:将待检测文本输入已训练的目标域模型,基于目标域模型对对待检测文本进行分词处理,获取待检测文本包含的各个分词;
[0238]
s112:对各个分词进行依存句法分析,获取各个分词之间的依存关系;
[0239]
s113:根据各个分词之间的依存关系,提取待检测文本的上下文特征和全局交互特征
[0240]
s114:基于上下文特征和全局交互特征,对待检测文本进行分类处理,获得目标域模型输出的待检测文本的文本类别。
[0241]
由上述实施方式可知,本技术实施例基于bert提出一种新型的预训练语言模型,利用星状结构和句法分析树构建注意力机制,将二次运算降为线性运算,同时带来以下优点:引入句法分析树的先验信息,更好的学习短文本的结构化和全局语义特征;减少训练和测试模型的计算量;避免过拟合。另外,本技术在随机掩码的基础上增加了对名词和动词的掩码,提高预训练语言模型所学的词向量对名词和动词的表达能力。采用上述模型,本技术可以提高短文本分类的运算效率和分类性能。
[0242]
基于相同的发明构思,本技术实施例还提供一种文本分类装置的结构示意图。如图12所示,其为文本分类装置1200的结构示意图,可以包括:
[0243]
处理单元1201,用于对待检测文本进行分词处理,获取待检测文本包含的各个分词;
[0244]
分析单元1202,用于对各个分词进行依存句法分析,获取各个分词之间的依存关系;
[0245]
特征提取单元1203,用于根据各个分词之间的依存关系,提取待检测文本的上下文特征和全局交互特征,其中,上下文特征用于表征待检测文本中相邻分词之间的上下文关系,全局交互特征用于表征待检测文本中的每两个分词之间相互的影响度;
[0246]
分类单元1204,用于基于上下文特征和全局交互特征,获得待检测文本的文本类别。
[0247]
在上述实施方式中,由于本技术实施例中将待检测文本中的各个分词进行了依存句法分析,根据依存句法分析的先验信息,更好的学习短文本的结构化和全局语义特征,即
本技术实施例中的上下文特征和全局交互特征。本技术实施例在句法分析和语义理解的角度进行特征选择并建模,基于待检测文本的上下文特征和全局交互特征,来对该文本进行分类,可以有效提高短文本分类的分类性能,提高短文本分类的准确性。
[0248]
可选的,处理单元1201具体用于:
[0249]
将待检测文本输入已训练的目标域模型,基于目标域模型对待检测文本进行分词处理,获取待检测文本包含的各个分词;
[0250]
分类单元1204具体用于:
[0251]
基于上下文特征和全局交互特征,对待检测文本进行分类处理,获得目标域模型输出的待检测文本的文本类别;
[0252]
其中,目标域模型是基于第一训练样本数据集训练得到的,第一训练样本数据集包括多个第一训练样本,每个第一训练样本包括一个第一样本文本,以及第一样本文本对应的真实文本类别。
[0253]
可选的,装置还包括:
[0254]
第一模型训练单元1205,用于通过下列方式训练得到目标域模型:
[0255]
获取第一训练样本数据集,根据第一训练样本数据集中的第一训练样本,对第一预训练语言模型执行循环迭代训练,并在训练完毕时,输出训练完毕的目标域模型;其中,在一次循环迭代训练过程中执行以下操作:
[0256]
从第一训练样本数据集中选取至少一个第一训练样本,将选取的第一训练样本输入第一预训练语言模型,获取第一预训练语言模型输出的预测文本类别;
[0257]
基于预测文本类别与真实文本类别之间的差异,构建第一损失函数;
[0258]
基于第一损失函数,对第一预训练语言模型中的目标层进行参数调整。
[0259]
可选的,第一训练样本还包括:对第一样本文本进行分词处理得到的各个分词对应的单词索引,句子索引和位置索引;
[0260]
其中,每个分词对应的单词索引表示相应分词在第一训练集单词词典中的编号,句子索引表示相应分词所在第一样文本的编号,位置索引表示相应分词在第一样本文本中的位置,第一训练集单词词典是基于对多个第一样本文本进行分词处理得到的分词构建的。
[0261]
可选的,第一预训练语言模型包括第一嵌入层和第一transformer层;第一模型训练单元1205具体用于:
[0262]
将第一训练样本输入第一预训练语言模型,基于第一嵌入层,对第一训练样本中的单词索引,句子索引和位置索引进行嵌入表示,获得对应的第一单词索引嵌入特征,第一句子索引嵌入特征,第一位置索引嵌入特征;
[0263]
将第一单词索引嵌入特征,第一句子索引嵌入特征和第一位置索引嵌入特征进行加和,得到第一样本文本对应的第一嵌入表示特征;
[0264]
将第一嵌入表示特征输入第一预训练语言模型中的transformer层,基于第一transformer层对应的第一注意力机制掩码对第一嵌入表示特征进行注意力特征提取,获取第一样本文本中的分类标志位对应的第一隐向量,其中,第一注意力机制掩码是基于各个分词之间的依存关系和各个分词的词性得到的;
[0265]
基于第一隐向量对第一样本文本进行类别预测,获取第一预训练语言模型输出的
第一样本文本的预测文本类别。
[0266]
可选的,第一预训练语言模型包括l个第一transformer层,l为正整数;第一模型训练单元1205具体用于:
[0267]
保持第一预训练语言模型中的前m个第一transformer层的参数不变,并对第一预训练语言模型中的l

m个第一transformer层进行参数调整,其中,m为小于l的正整数,目标层为l

m个第一transformer层。
[0268]
可选的,装置还包括:
[0269]
第二模型训练单元1206,用于通过下列方式训练得到第一预训练语言模型:
[0270]
获取第二训练样本数据集,第二训练样本数据集包括多个第二训练样本,每个第二训练样本包括一个第二样本文本,以及第二样本文本中的掩码词的真实分布;
[0271]
根据第二训练样本数据集中的第二训练样本,对第二预训练语言模型执行循环迭代训练,并在训练完毕时,输出训练完毕的第一预训练语言模型;其中,在一次循环迭代训练过程中执行以下操作:
[0272]
从第二训练样本数据集中选取至少一个第二训练样本,将选取的第二训练样本输入第二预训练语言模型,获取第二预训练语言模型输出的第二训练样本中的掩码词的预测分布;
[0273]
基于第二训练样本中的掩码词的预测分布与真实分布之间的差异,构建第二损失函数;
[0274]
基于第二损失函数,对第二预训练语言模型进行参数调整。
[0275]
可选的,第二训练样本还包括:对第二样本文本进行分词处理得到的各个分词对应的单词索引,句子索引和位置索引;
[0276]
其中,每个分词对应的单词索引表示相应分词在第二训练集单词词典中的编号,句子索引表示相应分词所在第二样文本的编号,位置索引表示相应分词在第二样本文本中的位置,第二训练集单词词典是基于对多个第二样本文本进行分词处理得到的分词构建的。
[0277]
可选的,第二预训练语言模型包括第二嵌入层和第二transformer层;
[0278]
第二模型训练单元1206具体用于:
[0279]
将第二训练样本输入第二预训练语言模型,基于第二预训练语言模型中的第二嵌入层,对第二训练样本中的单词索引,句子索引和位置索引进行嵌入表示,获得对应的第二单词索引嵌入特征,第二句子索引嵌入特征,第二位置索引嵌入特征;
[0280]
将第二单词索引嵌入特征,第二句子索引嵌入特征和第二位置索引嵌入特征进行加和,得到第二样本文本对应的第二嵌入表示特征;
[0281]
将第二嵌入表示特征输入第二预训练语言模型中的第二transformer层,基于第二transformer层对应的第二注意力机制掩码对嵌入表示特征进行注意力特征提取,获取第二样本文本中的掩码词对应的第二隐向量,其中,第二注意力机制掩码是基于各个分词之间的依存关系和各个分词的词性得到的;
[0282]
基于第二隐向量对掩码词在第二训练集单词词典中的位置进行分布预测,获得第二预训练语言模型输出的第二样本文本中的掩码词的预测分布。
[0283]
可选的,第二模型训练单元1206还用于通过如下方式确定掩码词:
[0284]
对第二样本文本中的各个分词进行词性标注,获得各个分词对应的词性;
[0285]
基于各个分词的词性,对具有目标词性的分词进行随机掩码处理,得到掩码词。
[0286]
可选的,第二模型训练单元1206还用于通过如下方式确定掩码词:
[0287]
对第二样本文本中的各个分词进行词性标注,获得各个分词对应的词性,并基于各个分词的词性,对具有目标词性的部分分词进行随机掩码处理,得到第一掩码词;以及
[0288]
对各个分词中的部分分词进行随机掩码,得到第二掩码词;
[0289]
将第一掩码词和第二掩码词作为掩码词。
[0290]
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本技术时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
[0291]
在介绍了本技术示例性实施方式的文本分类方法和装置之后,接下来,介绍根据本技术的另一示例性实施方式的用于文本分类装置。
[0292]
所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0293]
在一些可能的实施方式中,根据本技术的文本分类装置可以至少包括处理器和存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书中描述的根据本技术各种示例性实施方式的文本分类方法中的步骤。例如,所述处理器可以执行如图2中所示的步骤。
[0294]
与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器130。在该实施例中,电子设备的结构可以如图13所示,包括存储器1301,通讯模块1303以及一个或多个处理器1302。
[0295]
存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0296]
存储器1301可以是易失性存储器(volatile memory),例如随机存取存储器(random

access memory,ram);存储器1301也可以是非易失性存储器(non

volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid

state drive,ssd);或者存储器1301是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。
[0297]
处理器1302,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器1302,用于调用存储器1301中存储的计算机程序时实现上述文本分类方法。
[0298]
通讯模块1303用于与终端设备和其他服务器进行通信。
[0299]
本技术实施例中不限定上述存储器1301、通讯模块1303和处理器1302之间的具体连接介质。本技术实施例在图13中以存储器1301和处理器1302之间通过总线1304连接,总线1304在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1304可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线
表示,但并不表示仅有一根总线或一种类型的总线。
[0300]
存储器1301中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术实施例的文本分类方法。处理器1302用于执行上述的文本分类方法,如图2中所示的步骤。
[0301]
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图14所示,包括:通信组件1410、存储器1420、显示单元1430、摄像头1440、传感器1450、音频电路1460、蓝牙模块1470、处理器1480等部件。
[0302]
通信组件1410用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(wireless fidelity,wifi)模块,wifi模块属于短距离无线传输技术,电子设备通过wifi模块可以帮助用户收发信息。
[0303]
存储器1420可用于存储软件程序及数据。处理器1480通过运行存储在存储器1420的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1420存储有使得终端设备110能运行的操作系统。本技术中存储器1420可以存储操作系统及各种应用程序,还可以存储执行本技术实施例文本分类方法的代码。
[0304]
显示单元1430还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,gui)。具体地,显示单元1430可以包括设置在终端设备110正面的显示屏1432。其中,显示屏1432可以采用液晶显示器、发光二极管等形式来配置。显示单元1430可以用于显示本技术实施例中的多媒体信息推荐相关的界面等等。
[0305]
显示单元1430还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1430可以包括设置在终端设备110正面的触摸屏1431,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
[0306]
其中,触摸屏1431可以覆盖在显示屏1432之上,也可以将触摸屏1431与显示屏1432集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本技术中显示单元1430可以显示应用程序以及对应的操作步骤。
[0307]
摄像头1440可用于捕获静态图像,用户可以将摄像头1440拍摄的图像通过视频客户端上传评论。摄像头1440可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal

oxide

semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1480转换成数字图像信号。
[0308]
终端设备还可以包括至少一种传感器1450,比如加速度传感器1451、距离传感器1452、指纹传感器1453、温度传感器1454。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
[0309]
音频电路1460、扬声器1461、传声器1462可提供用户与终端设备110之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频
数据,再将音频数据输出至通信组件1410以发送给比如另一终端设备110,或者将音频数据输出至存储器1420以便进一步处理。
[0310]
蓝牙模块1470用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1470与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
[0311]
处理器1480是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1420内的软件程序,以及调用存储在存储器1420内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1480可包括一个或多个处理单元;处理器1480还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1480中。本技术中处理器1480可以运行操作系统、应用程序、用户界面显示及触控响应,以及本技术实施例的文本分类方法。另外,处理器1480与显示单元1430耦接。
[0312]
在一些可能的实施方式中,本技术提供的文本分类方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的文本分类方法中的步骤,例如,计算机设备可以执行如图2中所示的步骤。
[0313]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0314]
本技术的实施方式的程序产品可以采用便携式紧凑盘只读存储器(cd

rom)并包括程序代码,并可以在计算装置上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
[0315]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
[0316]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0317]
可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计
算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
[0318]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0319]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0320]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0321]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0322]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献