掌桥专利:专业的专利平台
掌桥专利
首页

一种基于多任务模型进行文本处理的方法、装置、计算机装置及计算机可读取存储介质

文献发布时间:2023-06-19 11:45:49


一种基于多任务模型进行文本处理的方法、装置、计算机装置及计算机可读取存储介质

技术领域

本发明涉及自然语言处理技术领域,特别地,涉及一种基于多任务模型进行文本处理的方法、装置、计算机装置及计算机可读取存储介质。

背景技术

自然语言处理通常包括分词、词性标注、命名实体识别等过程,其中,分词结果的准确与否直接影响到对搜索结果的相关度排序,而词性标注则有利于词义消歧、提高基于词义的特征、规划化和词型合并等,而命名实体识别可以识别出文本中具有特殊意义的实体,也是自然语言处理的重要组成部分。传统的自然语言处理方法是一个模型只处理一个任务,随着任务的增多需要更多的模型。具体地,先采用分词模型将文本分割成单个词或者字,然后再使用词性标注模型和命名实体识别模型分别进行处理。但是,采用上述处理方式会存在以下缺点:

1)分词模型的误差会传播至词性标注和命名识别中,整体精度较差;

2)需要训练三个不同的模型,需要很多的计算资源和训练时间;

3)模型加载和预测时间较长;

4)多个任务需要多个不同的标签体系,容易造成标签体系混淆。

而利用一个模型同时处理多个任务的难点在于:制作分词、词性标注和命名实体识别的训练语料和标签的难度较大,如何将三个任务的标签进行融合以及后续进行拆分。

发明内容

本发明提供了一种基于多任务模型进行文本处理的方法、装置、计算机装置及计算机可读取存储介质,以解决现有的中文文本分析处理方式存在的整体精度差、使用的模型数量多、模型加载和预测时间长、标签体系容易混淆的技术问题。

根据本发明的一个方面,提供一种基于多任务模型进行文本处理的方法,包括以下过程:

构建多任务模型;

将待处理的文本输入训练好的多任务模型,同时进行分词处理、词性标注和命名实体识别,输出标签文本;

将标签文本拆分成分词标签、词性标签和命名实体识别标签;

对拆分后的三种标签进行格式化处理,规范化后输出结果。

进一步地,所述将待处理的文本输入训练好的多任务模型,同时进行分词处理、词性标注和命名实体识别,输出标签文本,具体包括以下过程:

将待处理的原始文本拆分成单个字符,并利用内部字符索引表和词典将单个字符转换成索引并生成索引文本,同时生成必要的数据;

将索引文本输入训练好的多任务模型中进行预测,输出每个字符的标签索引;

基于每个字符的标签索引生成预测数据标签的索引序列;

利用预先定义好的标签映射表将标签索引序列转换成标签文本。

进一步地,所述将索引文本输入训练好的多任务模型中进行预测,输出每个字符的标签索引,具体包括以下过程:

利用BERT模型对输入的索引文本进行语义特征提取,得到输入文本的深度语义特征;

利用BiLSTM模型对提取的深度语义特征进行进一步的信息提炼,得到观测序列依赖矩阵;

利用CRF模型对观测序列依赖矩阵进行处理,得到状态序列依赖矩阵,输出每个字符的标签索引。

进一步地,多任务模型的训练具体包括以下过程:

获取大量的标注语料作为样本数据,语料中包括原始文本、中文分词后的文本、分词标签、词性标注标签和命名实体标签;

对样本数据中的每一类型标签分别进行定义,并将三个标签体系融合成一个新的标签体系;

将所有的样本数据划分成训练集、测试集和验证集,对多任务模型进行训练,直至模型收敛。

进一步地,对分词标签使用SBI进行定义,对词性标注标签使用大类别标签系统进行定义,对命名实体标签以BIO进行定义。

进一步地,所述将三个标签体系融合成一个新的标签体系的过程具体为:用#将三个不同标签连接起来形成一个标签集合。

另外,本发明还提供一种基于多任务模型进行文本处理的装置,包括:

模型构建模块,用于构建多任务模型;

预测模块,用于将待处理的文本输入训练好的多任务模型,同时进行分词处理、词性标注和命名实体识别,输出标签文本;

标签文本拆分模块,用于将标签文本拆分成分词标签、词性标签和命名实体识别标签;

格式化处理模块,用于对拆分后的三种标签进行格式化处理,规范化后输出结果。

进一步地,所述预测模块包括:

预处理子模块,用于将待处理的原始文本拆分成单个字符,并利用内部字符索引表和词典将单个字符转换成索引并生成索引文本,同时生成必要的数据;

预测子模块,用于将预处理子模块输出的索引文本输入训练好的多任务模型中进行预测,输出每个字符的标签索引;

序列标注子模块,用于基于每个字符的标签索引生成预测数据标签的索引序列;

标签文本转换子模块,用于利用预先定义好的标签映射表将标签索引序列转换成标签文本。

另外,本发明还提供一种计算机装置,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上所述的方法的步骤。

另外,本发明还提供一种计算机可读取存储介质,用于存储基于多任务模型进行文本处理的计算机程序,该计算机程序在计算机上运行时执行如上所述的方法的步骤。

本发明具有以下效果:本发明的基于多任务模型进行文本处理的方法,利用一个多任务模型即可同时进行分词处理、词性标注和命名实体识别这三个任务,模型加载快、预测时间短,不存在不同预测模型之间的误差传播,整体精度较高,并且在模型推理过程中通过将分词标签、词性标签和命名实体识别标签融合成一个标签文本,即三个任务使用同一套标签系统,避免了标签系统多而导致可能产生混淆的问题,在模型输出标签文本之后再将融合标签拆分成三个任务对应的标签,然后经过格式化处理后输出,结果更加规范、直观。另外,本发明的基于多任务模型进行文本处理的装置、计算机装置及计算机可读存储介质同样具有上述优点。

除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明优选实施例的基于多任务模型进行文本处理的方法的流程示意图。

图2是本发明优选实施例的基于多任务模型进行文本处理的方法的逻辑处理顺序示意图。

图3是本发明优选实施例中的BiLSTM模型、CRF模型结合BERT模型的网络结构示意图。

图4是本发明优选实施例中的BERT模型的Transformer层的网络结构示意图。

图5是本发明优选实施例中对多任务模型进行训练的流程示意图。

图6是图1中的步骤S1的子流程示意图。

图7是图3中的步骤S12的子流程示意图。

图8是本发明优选实施例的基于多任务模型进行文本处理的方法的应用场景示意图。

图9是现有的单任务模型进行文本处理的推理结果示意图。

图10是本发明优选实施例的多任务模型进行文本处理的推理结果示意图。

图11是本发明另一实施例的基于多任务模型进行文本处理的装置的模块结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1和图2所示,本发明的优选实施例提供一种基于多任务模型进行文本处理的方法,包括以下过程:

步骤S0:构建多任务模型;

步骤S1:将待处理的文本输入训练好的多任务模型,同时进行分词处理、词性标注和命名实体识别,输出标签文本;

步骤S2:将标签文本拆分成分词标签、词性标签和命名实体识别标签;

步骤S3:对拆分后的三种标签进行格式化处理,规范化后输出结果。

可以理解,本实施例的基于多任务模型进行文本处理的方法,利用一个多任务模型即可同时进行分词处理、词性标注和命名实体识别这三个任务,模型加载快、预测时间短,不存在不同预测模型之间的误差传播,整体精度较高,并且在模型推理过程中通过将分词标签、词性标签和命名实体识别标签融合成一个标签文本,即三个任务使用同一套标签系统,避免了标签系统多而导致可能产生混淆的问题,在模型输出标签文本之后再将融合标签拆分成三个任务对应的标签,然后经过格式化处理后输出,结果更加规范、直观。

可以理解,在所述步骤S0中,具体采用BERT模型、BiLSTM模型和CRF 模型来构建多任务模型的网络架构。如图3和图4所示,Transformer层是BERT 模型的主要结构,BERT模型一共有12层Transformer层,其主要作用是获取输入文本的深层语义信息。图中的x1和x2表示输入,规定输入文本单个字符数不能大于150个。其中,ENCODER表示对输入进行编码,即将输入文本的深层语义信息解析出来,保存在隐藏层神经元中。DECODER表示对ENCODER 层输出信息进行解码,将隐藏层信息转换成任务需要的形式。使用BERT模型对输入文本进行编码得到深层语义信息后,将信息输入到BiLSTM-CRF网络结构中,其中BiLSTM层对输入信息进行双向循环解析,再将解析后的数据输入到CRF层中进行序列分析,CRF利用输入的信息得到状态转移概率矩阵和观测状态概率矩阵,即可对文本序列进行标注。其中BERT层输出向量维度为256 维,BiLSTM层的隐藏层向量维度为128维,最后输出的标签类别数量是601 个。本发明的多任务模型通过采用由BERT模型、BiLSTM模型和CRF模型组成的网络架构,不仅可以更加准确地解析出输入文本中的深层语义信息,同时 CRF模型还可以对BiLSTM模型的输出进行约束,确保得到的标签更加符合逻辑。

可以理解,如图5所示,所述步骤S1中多任务模型的训练过程具体包括以下过程:

步骤S111:获取大量的标注语料作为样本数据,语料中包括原始文本、中文分词后的文本、分词标签、词性标注标签和命名实体标签;

步骤S112:对样本数据中的每一类型标签分别进行定义,并将三个标签体系融合成一个新的标签体系;

步骤S113:将所有的样本数据划分成训练集、测试集和验证集,对多任务模型进行训练,直至模型收敛。

可以理解,在所述步骤S111中,大量的样本数据来源于本专利申请人的业务数据,当然在本发明的其它实施例中,也可以采用爬虫技术从网络中获取大量的样本数据,在此不做具体限定。例如,从公司业务数据中随机抽样25 万条数据进行训练,每一条数据有“Word”、“Chunk”、“Tag”和“Ner”4列,其中,“Word”表示分词后的原始文本,“Chunk”表示分词后对应的标签,“Tag”表示词性标注后对应的标签,“Ner”表示命名实体识别后对应的标签。具体如表1所示:

表1业务数据的表示形式

可以理解,标注语料中的原始文本可由业务数据中的“word”拼合而成。

在所述步骤S112中,对三种任务中的每一类型标签进行整理分析,对分词标签使用SBI(S表示单字为词,B表示词的首字,I表示词的其它位置)进行定义,对词性标注标签则使用大类别标签系统进行定义,即动词以“v”表示,名词以“n”表示等,对命名实体标签以BIO进行定义,BIO指的是三位标注 (begin,inside,outside),其中,B-X表示实体X的开头,I-X表示实体X的结尾,O代表不属于任何类型。通过采用上述三种标签体系分别对分词标签、词性标注标签和命名实体标签进行定义,以便于后续进行标签体系的融合以及拆分。

另外,本发明还针对命名实体识别定义了多种命名实体类型,除了地点 (LOC)、人物(PER)和组织(ORG)之外,还有职位(JOB)、公司(COM)、产品(PROD)、书籍(BOOK)、时间(TIME)、邮箱(EMAIL)、电话号码(TEL)、 IP地址(IP)和网址链接(URL)共12种类型,丰富了命名实体的类型。对于任一条样本数据都有3个不同的标签体系,即分词、词性标注和命名实体识别这三套标签体系,然后,将定义好的标签进行拼接,拼接后的标签可以同时表示三种任务,具体地,用#将三个不同标签连接起来形成一个标签集合,从而建立了一个新的标签体系,如表2所示。

表2融合后的标签集合

在所述步骤S113中,将所有的样本数据划分成3个数据集,分别为测试集、训练集和验证集,它们的比例为8:1:1,即在25万条数据中,训练集有20 万条,测试集和验证集都为2.5万条。然后利用测试集、训练集和验证集对多任务模型进行训练,直至模型收敛。

本发明的多任务模型与常规的多任务模型不同的是,常规的多任务模型是每个任务对应的标签是不同的,任务越多,标签体系就越多,容易出现标签系统的混淆。而本发明通过将三个不同任务的标签融合在一起,不仅将3套不同的标签体系融合为一个标签体系,而且大大减少了标签的数量。融合后的新标签体系共有标签600余个,其中部分标签如下:

S#y#I-BOOK,B#s#I-COM,S#a#B-ORG,S#f#B-PER,B#m#B-PROD, B#t#I-PROD,B#q#I-PROD,S#h#I-ORG,I#email#I-EMAIL,S#n#B-ORG, B#n#B-COM,B#t#I-LOC,S#m#I-LOC,B#s#B-PER……。

其中,每个标签都由3个子标签构成,其中第一个子标签为中文分词的标签,第二个子标签为词性标注的标签,第三个子标签为命名实体识别的标签。

可以理解,如图6所示,所述步骤S1具体包括以下过程:

步骤S11:将待处理的原始文本拆分成单个字符,并利用内部字符索引表和词典将单个字符转换成索引并生成索引文本,同时生成其它必要的数据;其中,必要的数据包括映射表、字符掩码等,映射表反映了字符与索引之间的映射关系。

步骤S12:将索引文本输入训练好的多任务模型中进行预测,输出每个字符的标签索引;

步骤S13:基于每个字符的标签索引生成预测数据标签的索引序列;

步骤S14:利用预先定义好的标签映射表将标签索引序列转换成标签文本。

可以理解,在将文本输入至多任务模型之前先将原始文本转换为索引文本,减少了后续多任务模型的处理数据量,进一步提高了模型加载速度和预测速度。然后将索引文本输入事先训练好的多任务模型中同时进行分词处理、词性标注和命名实体识别三个任务,多任务模型输出每个字符的标签索引。再将每个字符的标签索引串成索引序列,即可得到文本对应的标签索引序列。最后,基于预先定义好的标签映射表将标签索引序列转换成标签文本。

比如:原始文本为“百度的李彦宏在北京”,输出的标签索引序列是11,56, 89,53,513,513,452,204,593,333,但是无法知道每个索引的具体含义,因此需要将索引映射成相应的标签文本。经过转换后,上述标签索引序列转变成 ['B#n#B-COM','I#n#I-COM','S#u#O','B#n#B-PER','I#n#I-PER','I#n#I-PER', 'S#p#O','B#n#B-LOC','I#n#I-LOC','S#w#O'],而转换后的标签就是融合而成的统一标签。

可以理解,如图7所示,所述步骤S12具体包括以下过程:

步骤S121:利用BERT模型对输入的索引文本进行语义特征提取,得到输入文本的深度语义特征;

步骤S122:利用BiLSTM模型对提取的深度语义特征进行进一步的信息提炼,得到观测序列依赖矩阵;

步骤S123:利用CRF模型对观测序列依赖矩阵进行处理,得到状态序列依赖矩阵,输出每个字符的标签索引。

可以理解,索引文本输入至多任务模型后需要经历三个阶段进行模型推理,分别为语义特征抽取阶段、语义特征提炼阶段和标签类别预测阶段。

其中,语义特征抽取阶段是利用预训练模型(BERT模型)对输入的索引文本进行语义特征抽取,以得到输入文本的深度语义特征,由于输入的文本序列被拆分成了单个字符,经过BERT模型的12层隐藏层可以抽取得到每个字符的特征语义,输出的特征语义向量个数会比输入的文本序列对应的字符个数多2个,本发明优选取第一个特征语义向量作为整个文本序列的特征表示,作为后续网络的输入。

语义特征提炼阶段是利用BiLSTM(双向长短时记忆网络)模型对前一步的深度语义特征进行进一步信息提炼,获取观测序列依赖矩阵。由于文本序列特征需要从两个方向进行语义特征抽取,因此使用了双向长短时记忆网络对 BERT网络层的语义特征进一步提炼信息,得到更深层的语义信息。

标签类别预测阶段是使用CRF(条件随机场)模型对得到的观测序列依赖矩阵进行处理,得到状态序列依赖矩阵,得到预测数据,即模型的输出。由于 BiLSTM模型输出的观测序列依赖矩阵可能会产生不正确的标签输出,因此需要CRF模型对观测序列进行约束,使得到的标签符合逻辑。比如BiLSTM模型对命名实体的预测输出标签是:B-PER、B-LOC、I-PER、I-LOC……,而正常输出应该是B-PER、I-PER、B-LOC、I-LOC。但CRF模型生成的状态序列依赖矩阵可以约束BiLSTM模型的输出,使得I-PER处于B-PER之后。

可以理解,在所述步骤S2中,将多任务模型输出的融合标签拆分成分词标签、词性标签和命名实体识别标签三个子标签,在标签文本拆分过程中根据 #位置即可快速地进行标签拆分,例如,上述原始文本“百度的李彦宏在北京”所对应的标签文本则拆分为:

分词标签:B I S B I I S B I S

词性标签:n n u n n n p n n w

实体标签:B-COM I-COM O B-PER I-PER I-PER O B-LOC I-LOC O。

可以理解,所述步骤S2输出的是3种不同的序列,每种序列的表示形式不一样,结果展示不直观。在所述步骤S3中,将拆分后的标签进行格式化处理,比如对中文分词结果展示位以空格隔开每一个分词的形式,最终得到中文分词、词性标注和命名实体识别三个任务对应的标签结果。经过格式化处理后,最终的输出结果展示如下:

Text:'百度的李彦宏在北京。'

Seg:['百度','的','李彦宏','在','北京','。']

POS:['n','u','n','p','n','w']

Ner:[[((0,2),'百度','COM'),((3,6),'李彦宏','PER'),((7,9),'北京','LOC')]]。

如图8所示,本发明的应用场景为:对文本进行自然语言处理时需要对文本进行语义分析,中文分词将句子分割成词的组合,中文词性标注为每个词定义语义属性,命名实体识别识别出句子中用户关注的专有名称,通过三种任务组合分析,可以分析出文本的部分语义信息,并为后续的深层语义分析提供帮助,最后用于其他方面应用。

如图9和图10所示,本发明对常规的单任务模型与本发明的多任务模型的文本处理过程进行了对比分析。以输入文本“2009年广州举办了夏季博览会”为例,在单任务模型中,若想对文本进行中文分词、中文词性标注、中文命名实体识别处理,需要三个模型,并且需要三次重复输入,总耗时为每个模型执行时间之和,即900ms,文本处理效率较低。而在本发明的多任务模型中,若想对文本进行中文分词、中文词性标注、中文命名实体识别处理,只需要一个多任务模型(为便于理解,图10中画了三个子模型,实质为能完成三个不同任务的一个模型),该模型体积与常规的单任务模型中的任意一个模型相近,只需要一个输入,就可以输出三个不同任务的结果,简化了处理流程,且总耗时仅为单任务模型总耗时的三分之一,即300ms,文本处理效率明显提升。

另外,如图11所示,本发明的另一实施例还提供一种基于多任务模型进行文本处理的装置,优选采用如上所述的基于多任务模型进行文本处理的方法,该装置包括:

模型构建模块,用于构建多任务模型,具体采用BERT模型、BiLSTM模型和CRF模型来构建多任务模型的网络架构;

预测模块,用于将待处理的文本输入训练好的多任务模型,同时进行分词处理、词性标注和命名实体识别,输出标签文本;

标签文本拆分模块,用于将标签文本拆分成分词标签、词性标签和命名实体识别标签;

格式化处理模块,用于对拆分后的三种标签进行格式化处理,规范化后输出结果。

可以理解,本实施例的基于多任务模型进行文本处理的装置,利用一个多任务模型即可同时进行分词处理、词性标注和命名实体识别这三个任务,模型加载快、预测时间短,不存在不同预测模型之间的误差传播,整体精度较高,并且在模型推理过程中通过将分词标签、词性标签和命名实体识别标签融合成一个标签文本,即三个任务使用同一套标签系统,避免了标签系统多而导致可能产生混淆的问题,在模型输出标签文本之后再将融合标签拆分成三个任务对应的标签,然后经过格式化处理后输出,结果更加规范、直观。

可以理解,该装置还包括模型训练模块,所述模型训练模块具体包括:

样本采集单元,用于获取大量的标注语料作为样本数据,语料中包括原始文本、中文分词后的文本、分词标签、词性标注标签和命名实体标签;

标签定义单元,用于对样本数据中的每一类型标签分别进行定义;

标签拼接单元,用于将三个标签体系融合成一个新的标签体系;

训练单元,用于将所有的样本数据划分成训练集、测试集和验证集,对多任务模型进行训练,直至模型收敛。

可以理解,所述预测模块包括:

预处理子模块,用于将待处理的原始文本拆分成单个字符,并利用内部字符索引表和词典将单个字符转换成索引并生成索引文本,同时生成必要的数据;

预测子模块,用于将预处理子模块输出的索引文本输入训练好的多任务模型中进行预测,输出每个字符的标签索引;

序列标注子模块,用于基于每个字符的标签索引生成预测数据标签的索引序列;

标签文本转换子模块,用于利用预先定义好的标签映射表将标签索引序列转换成标签文本。

可以理解,在将文本输入至多任务模型之前先利用预处理子模块将原始文本转换为索引文本,减少了后续预测子模块的处理数据量,进一步提高了模型加载速度和预测速度。然后将索引文本输入事先训练好的多任务模型中同时进行分词处理、词性标注和命名实体识别三个任务,多任务模型输出每个字符的标签索引。再通过序列标注子模块将每个字符的标签索引串成索引序列,即可得到文本对应的标签索引序列。最后,通过标签文本转换子模块基于预先定义好的标签映射表将标签索引序列转换成标签文本。

可以理解,所述预测子模块具体包括:

语义信息抽取单元,用于采用BERT模型对输入的索引文本进行语义特征提取,得到输入文本的深度语义特征;

语义信息提炼单元,用于采用BiLSTM模型对提取的深度语义特征进行进一步的信息提炼,得到观测序列依赖矩阵;

标签类别预测单元,用于利用CRF模型对观测序列依赖矩阵进行处理,得到状态序列依赖矩阵,输出每个字符的标签索引。

可以理解,本实施例的装置中各个模块和单元的工作过程与上述方法实施例的各个步骤相对应,具体内容在此不再赘述。

另外,本发明还提供一种计算机装置,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上所述的方法的步骤。

另外,本发明还提供一种计算机可读取存储介质,用于存储基于多任务模型进行文本处理的计算机程序,该计算机程序在计算机上运行时执行如上所述的方法的步骤。

一般计算机可读取存储介质的形式包括:软盘(floppy disk)、可挠性盘片(flexible disk)、硬盘、磁带、任何其与的磁性介质、CD-ROM、任何其余的光学介质、打孔卡片(punch cards)、纸带(paper tape)、任何其余的带有洞的图案的物理介质、随机存取存储器(RAM)、可编程只读存储器(PROM)、可抹除可编程只读存储器(EPROM)、快闪可抹除可编程只读存储器 (FLASH-EPROM)、其余任何存储器芯片或卡匣、或任何其余可让计算机读取的介质。指令可进一步被一传输介质所传送或接收。传输介质这一术语可包含任何有形或无形的介质,其可用来存储、编码或承载用来给机器执行的指令,并且包含数字或模拟通信信号或其与促进上述指令的通信的无形介质。传输介质包含同轴电缆、铜线以及光纤,其包含了用来传输一计算机数据信号的总线的导线。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于多任务模型进行文本处理的方法、装置、计算机装置及计算机可读取存储介质
  • 基于交并比的多模型融合的人脸检测方法、装置与计算机可读取存储介质
技术分类

06120113046941