文本特征的提取方法、装置、计算机设备及存储介质与流程

文档序号:26815061发布日期:2021-09-29 03:36阅读:355来源:国知局
文本特征的提取方法、装置、计算机设备及存储介质与流程

1.本技术涉及数据分析技术领域,尤其涉及一种文本特征的提取方法、装置、计算机设备及存储介质。


背景技术:

2.目前,自然语言处理(natural language processing,nlp)的应用已经普及到各个领域,而自然语言处理的普及的主要原因之一,则是由于自然语言处理对预训练模型的使用,通过预训练模型解决了自然语言处理模型在使用前需要进行大量的训练的问题,预训练模型能够适应在不同的数据集上执行不同的自然语言处理操作,而不再需要从头开始构建模型。
3.在常见的预训练模型中,bert模型的出现显著提高nlp中的分类任务的准确率,而bert模型可以通过无标记的样本文件进行预先训练得到。但是,现有的技术方案中,bert模型在文本特征提取的过程,bert模型是将分词后的字符序列,根据各字符在字符序列中所占的权重,针对各字符分别进行不同维度的特征提取,这种特征提取方式,会忽略文本内容的整体性,导致输出的文本特征的分类结果不够准确,从而降低了bert模型在分类任务中的准确率。


技术实现要素:

4.本技术提供一种文本特征的提取方法、装置、计算机设备及存储介质,解决了bert模型在文本特征提取过程中,针对各字符分别进行多维度的特征提取,忽略文本内容的整体性,而导致输出的文本特征的分类结果准确率降低的技术问题。
5.一种文本特征的提取方法,包括:
6.获取文本文件,通过分词器将所述文本文件的文本内容进行分割,得到字符序列;
7.通过预先训练好的bert模型的n个特征提取层,分别对所述字符序列进行特征提取,得到n个特征向量;其中,n为大于1的整数;
8.基于注意力机制将所述n个特征向量进行融合,得到融合向量;所述融合向量用于描述所述文本文件的文本特征。
9.一种文本特征的提取装置,包括:
10.分割模块,获取文本文件,通过分词器将所述文本文件的文本内容进行分割,得到字符序列;
11.提取模块,通过预先训练好的bert模型的n个特征提取层,分别对所述字符序列进行特征提取,得到n个特征向量;其中,n为大于1的整数;
12.融合模块,基于注意力机制将所述n个特征向量进行融合,得到融合向量;所述融合向量用于描述所述文本文件的文本特征。
13.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文本特征的提取方法
的步骤。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述文本特征的提取方法的步骤。
15.本技术提供的文本特征的提取方法、装置、计算机设备及存储介质,通过获取文本文件,利用分词器将所述文本文件的文本内容进行分割,得到字符序列;将所述字符序列输入预先训练好的bert模型进行特征提取,得到多个特征向量;基于注意力机制将所述n个特征向量进行融合,得到融合向量;所述融合向量用于描述所述文本文件的文本特征。由于n个特征提取层对字符序列进行特征提取时,针对的特征内容不同,因此得到的n个特征向量分别能从不同角度对文本文件进行特征描述,故将n个特征向量进行融合,得到的融合向量能够更全面地表征文本文件的文本特征,从而提高了bert模型在分类任务中的准确率。
附图说明
16.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1是本技术一实施例提供的文本特征的提取方法的应用环境示意图;
18.图2是本技术一实施例提供的文本特征的提取方法的实现流程图;
19.图3是本技术一实施例提供的文本特征的提取方法中步骤s10的流程图;
20.图4是本技术一实施例提供的文本特征的提取方法中步骤s30的流程图;
21.图5是本技术一实施例提供的文本特征的提取方法中步骤s302的流程图;
22.图6是本技术一实施例提供的文本特征的提取装置的结构示意图;
23.图7是本技术一实施例提供的计算机设备的示意图。
具体实施方式
24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.本技术实施例提供的文本特征的提取方法,可应用在如图1示出的应用环境中。如图1所示,客户端(计算机设备)通过网络与服务器进行通信。其中,客户端(计算机设备)包括但不限于为各种个人计算机、笔记本电脑、智能手机、平板电脑、摄像头和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本实施例提供的文本特征的提取方法可以由服务端执行,例如,用户通过服务端将待处理的文本文件发送至服务端,服务端基于该待处理的文本文件,执行本实施例提供的文本特征的提取方法,进而得到对目标文本的文本特征,最后还可以将该文本特征发送至客户端。
26.在图1之外的一些场景中,还可以是由客户端执行该文本特征的提取方法,直接根据已确定的目标文本,通过执行本实施例提供的文本特征的提取方法,得到对目标文本的文本特征,然后将该目标文本的文本特征发送至服务端进行存储。。
27.可以理解地,为了节省自然语言处理(natural language processing,nlp)的计算资源和时间成本,自然语言处理使用了预训练模型,预训练模型包括多种,常见的预训练模型包括bert模型(bidirectional encoder representations from transformers,bert),bert模型是基于transformer的双向编码表示模型。
28.本实施例提供的文本特征的提取方法,则是针对自然语言处理的预训练模型中,基于bert模型的文本特征提取过程的进一步改进。
29.图2示出了本技术一实施例提供的文本特征的提取方法的实现流程图。如图2所示,提供一种文本特征的提取方法,其技术方案主要包括以下步骤s10

s30:
30.s10、获取文本文件,通过分词器将所述文本文件的文本内容进行分割,得到字符序列。
31.在步骤s10中,文本文件为记录有文本内容的文件,例如,txt文件、word文件等。分词器,被配置为对文本文件的文本内容进行字符分割。这里,通过分词器将文本文件的文本内容进行分割后,得到的字符序列与该文本文件对应。
32.在实现时,如果文本文件为多个,则可以为不同的文本文件配置序列号,同时对以该文本文件为基础进行文本内容分割得到的字符序列也配置与文本文件相同的序列号,用于实现文本文件与字符序列之间的对应关系。
33.需要说明的是,在自然语言处理中,因为自然语言处理模型无法直接处理文本字符,所以要通过分词器对获取的文本文件进行分词和转换,而且将文本文本中的字或词,根据所述字典进行编码转换为字典中对应的字符向量后,自然语言处理模型才能处理所输入的文本。
34.这里,分词器可以是通过word2vec算法将词语转换成字符向量,也可以通过bert模型中的basictokenizer算法将文本转换成字符向量。其中,basictokenizer算法将文本进行编码转换、标点符号分割、小写转换、中文字符分割、去除重音符号等操作,最后返回的是关于词的数组。
35.图3示出了本技术一实施例提供的获取文本文件,通过分词器将所述文本文件的文本内容进行分割,得到字符序列的流程图。如图3所示,作为一个实施例,步骤s10包括:
36.s101、获取文本文件,通过分词器将所述文本文件的文本内容进行分割,并插入分隔符。
37.s102、通过查询字典中的文本编码对所述分隔符分割开的每个文本进行识别,并将得到的字符向量、段向量和位置向量作为字符序列。
38.在步骤s101中,bert模型所需要输入的文本文件可以为一个或者两个文本文件。通过分词器将文本文件的文本内容进行分割,并将分割后的文本插入分隔符,根据不同的需求标记分割后的文本。分词器所划分中的词汇识别方式,根据分词器所预设的字典中已设置好的文本编码,匹配文本内容所对应的文本编码进行识别和分割,所插入的分隔符包括[cls]、[sep]和[pad],其中[cls]用于整个字符序列的表示,进行文本的前段的符号;[sep]用于分隔不同文本文件的文本;[pad]用于作为占位符使用,充当填充空白,例如:当文本文件仅有一个时,其中内容为“今天天气不错”,文本分割后插入分隔符为“[cls]今天天气不错”;当文本文件有两个且具有上下文关系时,其中内容为“今天天气不错”与“可以去钓鱼”,文本分割后插入分隔符为“[cls]今天天气不错[sep]可以去钓鱼[sep]”,以上举
例使用了空格表示字符之间的分割关系。
[0039]
在一实施例中,文本文件中文本内容的语言种类据需求进行获取,例如中文文本、英文文本等不同语言的文本。当文本文件的文本为中文文本时,通过分词器对中文文本中每一个字进行一个分割;当文本文件的文本为英文文本时,通过分词器对英文文本中的每个英文词汇进行分割;英文词汇进行分割后,分词器还包括wordpiecetokenizer算法,所述wordpiecetokenizer是一种词条分词算法,会针对英文单词进行子词分割(subword segmentation),这样分词器所预设的字典中,英文词汇字典可以通过词根与词缀的组合来新增单词语义,从而精简英文词汇字典,子词分割是英文词汇的构词进行了拆解,例如文本内容为“i like playing”中的“playing”,经过子词分割后为“play##ing”,其中示例词汇中中带“##”的就是被子词分割开的部分。
[0040]
在步骤s102中,自然语言处理中,由于自然语言处理模型无法直接处理文本字符,文本中的字或词通常根据查询字典中的文本编码对所述分隔符分割开的每个文本识别为字符向量作为输入,而根据所述bert模型的输入向量,除了字符向量(token embedding)还需要多个维度的向量,根据所述字符向量增加段向量(segment embedding)和位置向量(position embedding),将以上三个维度的向量作为字符序列进行输入。其中字符向量是通过查询字典中的文本编码将中文字符或单词转换成字符向量;段向量的取值在输入模型后还会自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合;位置向量为bert模型对不同位置的字/词分别附加一个位置向量以作区分,是由于出现在文本不同位置的字/词所携带的语义信息存在差异(比如:“我打你”和“你打我”)。
[0041]
在一实施例中,所述字符序列的字符长度为提前设定的固定长度,当只有一个文本文件所分割的文本长度超出时,截掉最后超出的部分;当有两个文本文件所分割的文本长度超出时,则先删掉较长的文本文件的文本末尾分隔符,如果两个文本文件长度相等,则轮流删掉两个文本文件末尾的分隔符,直到总长度达到要求;当所分割的文本文件的文本长度不足时,则在所分割的文本最后添加分隔符[pad]进行填充,使长度达到要求。
[0042]
在一实施例中,所述分词器通过使用字典vocab.txt将中文文字或单词转换成字符向量。
[0043]
s20、通过预先训练好的bert模型的n个特征提取层,分别对所述字符序列进行特征提取,得到n个特征向量;其中,n为大于1的整数。
[0044]
在步骤s20中,预先训练后的bert模型的多个特征提取层,分别对所述字符序列进行特征提取。特征向量用于描述文本文件的特征内容,由于字符序列是对文本文件的字符分割后得到的内容,因此利用预先训练后的bert模型对字符序列进行特征提取得到多个特征向量,用来体现出文本内容的特征。
[0045]
在一实施例中,将字符序列输入预先训练后的bert模型,并通过预先训练好的bert模型的n个特征提取层,分别对所述字符序列进行特征提取,得到n个特征向量;其中,n为大于1的整数。
[0046]
在一实施例中,bert模型基于transformer的双向编码表示,transformer为nlp领域中一个利用注意力(attention)机制来提高模型训练速度的模型,而bert模型利用transformer结构构造了一个多层双向的encoder(编码)网络。其中,bert模型中是由多个transformer结构中的encoder部分构成,一个transformer的encoder单元由一个多头注意
力(multi

head

attention)和层归一化(layer normalization)叠加产生;多头注意力(multi

head

attention)由多个自注意力(self

attention)构成;层归一化(layer normalization)对某一层神经网络节点作0均值1方差的标准化;利用transformer的结构可以通过上下文来预测掩盖(mask)的字符(token),从而捕捉字符向量得双向关系。
[0047]
应当理解的是,所述bert模型由多个所述特征提取层组成,在实际应用中,bert模型可以包括多个特征提取层,每个特征提取层存在一个encoder单元,在比较大的bert模型中,有24层特征提取层,每层中有16个attention,特征向量的维度为1024;在比较小的bert模型中,有12层特征提取层,每层有12个attention,特征向量维度为768。
[0048]
每个所述特征提取层分别提取所述字符序列的不同特征,得到多个特征向量。不同特征的所述特征向量包括词法特征的特征向量、句法特征的特征向量和语义特征的特征向量。由于不同的特征提取层对字符序列所提取的特征是不同的,因此利用预先训练后的bert模型对字符序列进行特征提取,能够得到多个不同特征的特征向量。以12层特征提取层的bert模型举例:layer_1至layer_4为低层,学到的是词法特征,如:词语是动词还是形容词、词语由哪些字符组成等等;layer_5至layer_8为中层,学到的是句法特征,如:句子中字词的数量、句子中字词与字词之间的依存关系等等;layer_9至layer_12为高层,所学到的是语义特征,如:句子表达的语义是什么、句子中哪些是关键词等等。
[0049]
作为一个示例,特征提取层中所提取的特征向量根据需求进行计算,计算方式包括线性变换、激活函数(activation function)、多头自注意力(multi

head self

attention)、跳跃连接(skip connection)、层标准化和随机失活。
[0050]
s30、基于注意力机制将所述n个特征向量进行融合,得到融合向量;所述融合向量用于描述所述文本文件的文本特征。
[0051]
在步骤s30中,n个特征向量中的每个特征向量能够用于表征文本文件在某一维度上的特征,所表征的特征包括词法特征、句法特征和语义特征。这里,将n个特征向量进行融合得到的融合向量,能够直接用于描述文本文件的整体特征。
[0052]
可以理解地,在bert模型中,各个特征提取层不但所提取的特征不同,对所提取的特征向量的利用权重也是不同的,虽然bert模型的特征提取层相互串联,在提取的特征向量时需要利用到所有特征提取层,但是特征向量不同且各层所提取的特征向量不共享参数,从而导致各个所述特征提取层单独都无法很好地提取所述字符序列的特征,所以需要对各层的特征向量进行融合降维,再利用bert模型去学习各个特征提取层的权重,得到融合向量。所述融合向量用于描述所述文本文件的文本特征,以供下游任务利用。
[0053]
图4示出了本技术一实施例提供的基于注意力机制将所述n个特征向量进行融合,得到融合向量;所述融合向量用于描述所述文本文件的文本特征的流程图。如图4所示,作为一个实施例,步骤s30包括:
[0054]
s301、分别对所述n个特征向量中的每个特征向量进行向量精简操作,得到与所述n个特征向量一一对应的n个精简向量;
[0055]
s302、采用所述注意力机制测算每个所述精简向量的权重;
[0056]
s303、基于每个所述精简向量的权重,对所述n个精简向量进行融合处理,得到融合向量。
[0057]
在步骤s30中,利用预先训练好的bert模型的n个特征提取层,分别对字符序列进
行特征提取,得到n个特征向量,其中,n为大于1的整数;基于注意力机制采用所述注意力机制测算每个所述精简向量的权重,基于每个所述精简向量的权重,对所述n个精简向量进行融合处理,得到融合向量。由于n个特征提取层对字符序列进行特征提取时,针对的特征内容不同,因此得到的n个特征向量分别能从不同角度对文本文件进行特征描述。将n个特征向量基于注意力机制测算每个所述精简向量的权重进行融合,有利于提高对关权重较高的精简向量的利用,从而得到的融合向量能够更全面地表征文本文件的文本特征,提高了bert模型在分类任务中的准确率。
[0058]
s301、分别对所述n个特征向量中的每个特征向量进行向量精简操作,得到与所述n个特征向量一一对应的n个精简向量;
[0059]
在步骤s301中,输入所述bert模型的字符序列为具有多个分隔符以及对应的字符向量,所述n个特征提取层提取的n个特征向量同样包括多个分隔符和对应的字符向量,分别对所述n个特征向量中的每个特征向量进行向量精简操作,得到与所述n个特征向量一一对应的n个精简向量。在特征向量融合前,对所述特征向量进行精简得到精简向量,可以尽可能地减少例如“的”、“了”这类停用词的字符向量,所对应的特征向量的干扰,保证特征提取层中所述高层的语义特征,
[0060]
在一实施例中,所述bert模型在处理中,针对特征向量进行精简,保留其中分隔符[cls]的特征向量部分,作为精简向量。利用各个所述特征提取层中的第一个分隔符[cls]的特征向量部分,在一定程度上可以在保证准确率的同时,减少一定的运算量。
[0061]
s302、采用所述注意力机制测算每个所述精简向量的权重。
[0062]
在步骤s302中,由于所述精简向量通过特征向量进行精简得出,所述精简向量依然保留所对应的特征向量的特征,通过利用注意力机制,有利于提高对关权重较高的精简向量的利用,从而得到的融合向量能够更全面地表征文本文件的文本特征。
[0063]
图5示出了本技术一实施例提供的采用所述注意力机制测算每个所述精简向量的权重的流程图。如图5所示,作为一个实施例,步骤s302包括:采用所述注意力机制测算每个所述精简向量的权重,包括:
[0064]
s3021、将多个所述精简向量进行合并,利用线性变换处理合并后的所述精简向量,得到对应的查询向量、键向量和值向量。
[0065]
s3022、对查询向量和键向量进行相似度计算,并采用softmax函数对相似度计算结果进行归一化处理,得到所述精简向量的权重。。
[0066]
在步骤s3021中,通过将多个维度的所述精简向量进行合并,但是合并后精简向量需要通过线性变换(fully connected,也被称为全连接)进行降维,并得到合并后的所述精简向量对应的查询(query)向量、键(key)向量和值(value)向量,才能用于权重的计算。
[0067]
在步骤s3022中,计算查询(query)向量与键(key)向量的相似度,并采用softmax函数对相似度计算结果进行归一化(softmax)处理,得到所述精简向量的权重。其中,相似度函数包括点积,拼接和感知机;而查询(query)向量与键(key)向量的相似度的取值进行归一化处理,转换为均值为0方差为1的数据,也就是将其范围映射到[0,1],得到精简向量的权重。归一化处理保证将精简向量的权重的输出值变成一个概率分布,防止注意力(attention)机制的梯度消失或者梯度爆炸,而且还可以加快收敛。
[0068]
在一实施例中,假设精简向量为a,原特征向量的维度为768,n个特征提取层,通过
将n层的a个768进行合并处理(merge),得出的n*a*768;通过线性变换(fully connected,fc,也被称为全连接)进行降维,得到n*a*1以及a向量所对应的(query)向量、键(key)向量和值(value)向量;计算计算查询(query)向量与键(key)向量相似度,通过softmax(归一化)将a向量权重的取值范围映射到[0,1],得到所对应a向量的权重。
[0069]
s303、基于每个所述精简向量的权重,对所述n个精简向量进行融合处理,得到融合向量。
[0070]
在步骤s303中,由于所述精简向量通过特征向量进行精简得出,所述精简向量依然保留所对应的特征向量的特征,再利用所述精简向量的权重,将所述精简向量的权重与值向量进行加权平均,得到加权平均值作为融合向量。通过注意力(attention)机制参与,比原bert模型学到更多各个特征提取层之间的细粒度特征关联。其中的加权平均可以利用数乘(multiply)的方式进行平均。
[0071]
在一实施例中,将所述精简向量的权重与值向量进行加权平均,可以通过数乘(multiply)并进行平均,得到融合向量a*768。
[0072]
可以理解地,提取出的所述融合向量用于描述所述文本文件的文本特征,所述文本特征需要通过将所述融合向量通过线性变换(fully connected,fc,也被称为全连接),才能映射到所述字符序列中进行输出,用于下游任务。
[0073]
在一实施例中,针对所述bert模型下游任务,对于不同的nlp任务模型输出的利用也有差异,对bert模型所输出的所述文本特征进行微调(fine

tunning)。可以选择是否fine

tune(微调),如果不选择fine

tune,当成文本特征提取器使用,只需利用bert模型所输出的文本特征的权重,;若使用fine

tune,则相当于在训练过程中微调bert模型中对不同的字符向量所赋予的权重,以适应我们当前的任务。
[0074]
s40、在所述通过预先训练好的bert模型的n个特征提取层,分别对所述字符序列进行特征提取,得到n个特征向量的步骤之前,还将所述bert模型进行预先训练。
[0075]
可以理解地,所述bert模型属于自然语言处理的模型一种,所以bert模型也需要通过大量的样本文件进行预先训练后,才能保证文本文件处理的准确率。
[0076]
s401、采用数据增强算法对预设的样本文件进行数据增强,得到增补文件。
[0077]
可以理解地,bert模型在处理文本文件前,需要对其进行进行预先训练,所述bert模型的预先训练,通过未标记的文本文件作为样本文件,输入bert模型进行训练,但是bert模型的预先训练需要大量的样本文件才能保证bert模型的鲁棒性和学习性能。所述样本文件包括多个预设的样本文件及采用数据增强算法对预设的样本文件进行数据增强所得到的增补文件。
[0078]
所述数据增强的方法包括但不限于词汇替换、文本回译、mixup数据增强算法等,所述词汇替换通过近义词替换文本中的原始单词,从而在保持文本语义尽量不发生改变的前提下,得到新的表述方式;所述文本回译通过将原始文档翻译变为其他语言的文本,然后再被翻译回来得到原语言的增补文件;mixup数据增强算法起源于计算机视觉领域中的图像增强算法,将两个不同类别的图像像素组合在一起,以生成用于训练的合成示例,而mixup数据增强算法很少用于自然语言处理。
[0079]
在一实施例中,提供了一种基于mixup数据增强算法的用于自然语言处理的文本混合,从而得到增补文件。其方法包括wordmixup、sentmixup和tokenmixup。其中,
wordmixup基于词级别,获取两个随机的句子,将它们零填充为相同的长度,对输入的词汇向量按一定比例进行插值混合;sentmixup采用两个句子,将它们零填充为相同的长度,通过bert编码器进行特征编码,得到句向量之后,按一定比例进行插值混合;与wordmixup不同的是,wordmixup为词汇的替换,而tokenmixup则是基于字符级别去做的嵌入向量融合,如英文词汇“playing”分割为字符后为“play##ing”,以更好地解决未登录词(out of vocabulary words,oov words)的问题。
[0080]
mixup数据增强算法的具体流程,举例从多个文本文件中随机选取了2个文本文件,内容分别为:
[0081]
1、[cls]她们上到餐厅,找到自己的座位,在足有二十人的长桌旁边[sep]这个餐厅相当的大,有一定的容量。[sep]
[0082]
2、[cls]差点没回来,北京这大雨把我们搁在外面怎么办呢[sep]北京下了一场大雨。[sep]
[0083]
上述每个样本文件为方便理解通过间隔符间隔开,分别表示样本文件中的两个文本句子有语义上的联系)。
[0084]
接下来分别将样本文件1和样本文件2中的文本部分作为文本a(即样本文件1中的“[cls]她们上到餐厅,找到自己的座位,在足有二十人的长桌旁边[sep]这个餐厅相当的大,有一定的容量。[sep]”)和文本b(即样本文件2中的“[cls]差点没回来,北京这大雨把我们搁在外面怎么办呢[sep]北京下了一场大雨。[sep]”)分别转换为字符序列,并输入bert模型进行处理,并经过bert模型进行特征提取后分别得到两个特征向量a和b,接着对这两个特征向量赋予权重,并根据权重进行混合,得到新的特征向量c,最后将得到的特征向量c和分隔符[sep]作为新的样本文件进行训练。根据bert模型特征提取后的特征向量进行融合,可以尽可能地减少例如“的”、“了”这类停用词的字符向量,所对应的特征向量的干扰。
[0085]
s402、利用所述预设的样本文件与所述增补文件组成的样本文件,对初始bert模型进行训练,得到所述预先训练好的bert模型。
[0086]
在步骤s402中,利用所述预设的样本文件与所述增补文件组成的样本文件,对初始bert模型进行训练,得到所述预先训练好的bert模型。利用样本文件对bert模型进行的预先训练任务包括nsp(next sentence prediction,文本文件分类任务)和mlm(masked language model,随机屏蔽,训练双向特征)。
[0087]
在一实施例中,针对样本文件输出的文本特征进行文本文件分类任务,对于单文本分类,与文本中已有的其它字符相比,这个无明显语义信息的符号会更“公平”地融合文本中各个字符的语义信息;双文本文件(有联系)分类任务,实际应用场景包括问答(判断一个问题与一个答案是否匹配)、语句匹配(两句话是否表达同一个意思)等,分别对两句话附加两个不同的文本向量以作区分。
[0088]
在一实施例中,为了训练字符序列的双向特征,通过mlm的预训练方法,随机屏蔽所述字符序列中的部分字符(token),然后只预测那些被屏蔽的字符向量。随机遮蔽语料中15%的字符向量,然后将遮蔽字符向量位置输出的特征向量送入归一化处理,来预测遮蔽字符向量。当所述都用标记[mask]代替字符向量会影响模型,所以在随机遮蔽的时候采用以下策略:80%的单词用[mask]字符向量来代替“my dog is hairy”转化为“my dog is[mask]”;10%单词用任意的词来进行代替“my dog is hairy”转化为“my dog is apple”;
10%单词不变“my dog is hairy”转化为“my dog is hairy”。
[0089]
在一实施例中,提供一种文本特征的提取装置,该文本特征的提取装置与上述实施例中文本特征的提取方法一一对应。如图6所示,该文本特征的提取装置包括分割模块11、提取模块12和融合模块13,各功能模块详细说明如下:
[0090]
分割模块11,分割模块,获取文本文件,通过分词器将所述文本文件的文本内容进行分割,得到字符序列;
[0091]
提取模块12,通过预先训练好的bert模型的n个特征提取层,分别对所述字符序列进行特征提取,得到n个特征向量;其中,n为大于1的整数;
[0092]
融合模块13,基于注意力机制将所述n个特征向量进行融合,得到融合向量;所述融合向量用于描述所述文本文件的文本特征;
[0093]
关于文本特征的提取装置的具体限定可以参见上文中对于文本特征的提取方法的限定,在此不再赘述。上述文本特征的提取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0094]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端或者服务端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机程序和数据库。该内存储器为可读存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文本特征的提取方法。
[0095]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中文本特征的提取方法。
[0096]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中文本特征的提取方法。
[0097]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0098]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0099]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1