一种基于中文细粒度词表的预训练模型的生成方法

文档序号:36093724发布日期:2023-11-18 13:28阅读:30来源:国知局
一种基于中文细粒度词表的预训练模型的生成方法

本发明涉及自然语言处理和深度学习,尤其涉及一种中文语言模型预训练模型的生成方法。


背景技术:

1、中文预训练,即在中文语言的场景下利用大规模语料进行预训练的技术,其目标是通过无监督学习从大量未标注的中文文本中学习到语言的潜在结构和语义信息,为各种自然语言处理任务提供基础支持,是中文自然语言处理领域的一项重点研究课题。中文预训练的结果为: 输入中文文本和其中字符的向量表示。

2、中文预训练是从bert模型[1]发布之后逐渐发展起来的,bert模型使用transformer编码器进行堆叠作为主体模型,采用了语言掩蔽模型和下一个句子判断作为预训练任务,其中下一个句子判断是判断输入中的两段话是否是自然相邻的关系。之后一些技术在bert的基础上,主要通过三种方式来提升中文预训练模型的效果:

3、(1)在模型的输入层或者中间层中加入额外的嵌入向量。文献[1]提出了一个同时融合汉字字形和拼音信息的中文预训练语言模型,对汉字图像编码可从视觉特征中获得汉字不同字体的字形嵌入向量,通过拼音嵌入表征汉字发音,处理汉语普遍存在的多音字现象。文献[2]使用额外的编码器处理词、拼音、五笔编码和笔画等多种字音字形序列获得额外的嵌入向量,然后在输入层融合了以上多种嵌入信息来增强语言模型的理解能力。

4、(2)改变掩蔽语言任务中的掩蔽粒度。文献[3]提出了一种通过知识整合增强表示模型,利用知识遮蔽策略进行预训练,在基本遮蔽策略的基础上,采用短语层面和实体层面两种知识遮蔽策略。将短语或实体作为一个整体进行遮蔽,而不是仅遮蔽单个词或字符。通过这种方式,短语和实体的先验知识可以在训练过程中被隐式学习。

5、(3)在训练的过程加入额外的预训练任务。文献[5]提出了一种持续预训练框架,可以高效支持自定义训练任务,并以增量方式进行持续多任务学习,同时构建了三种无监督语言处理任务来验证所提出框架的有效性。文献[6]提出了基于混淆集的遮蔽策略,被遮蔽的词随机替换为混淆集内相似字符,同时,模型在输入加入每个字符的笔画序列嵌入序列和拼音序列嵌入向量,并在语言掩蔽任务的基础上加入了预测拼音的预训练任务。

6、以上各种技术,如文献[2][3],在输入层加入额外的先验知识,加入字音、字形嵌入信息,做法简单直接,先验知识的质量及与语义融合的程度还有提升空间,因为两者只是机械地在字嵌入向量上加入其他向量,此外,输入层加入嵌入向量也增加了模型参数量,而过多先验知识的引入反而可能对模型语义建模产生干扰,同时对字音字形编码也需要额外的计算,尤其是对于汉字图像的编码计算。

7、如文献[4]将掩蔽语言任务中的掩蔽粒度扩展到实体词组,虽然能一定程度上帮助模型学习词组实体的语义信息,但也只是在单字和词组粒度的信息学习,并未有效利用到汉字部首结构信息以及部首的语义信息,对汉字的内在结构的有效学习可以提升对汉字及文本的理解能力,在一些语言理解和文本纠错任务上会有帮助,这也是很多模型加入部首信息的原因,另一方面,此方法也需要使用命名实体识别模型对大规模语料中的实体词组进行识别,这会耗费很多资源与时间。

8、参考文献:

9、[1] devlin j, chang m w, lee k, et al. bert: pre-training of deepbidirectional transformers for language understanding[j]. arxiv preprintarxiv:1810.04805, 2018.

10、[2] sun z, li x, sun x, et al. chinesebert: chinese pretrainingenhanced by glyph and pinyin information[j]. arxiv preprint arxiv:2106.16038,2021.

11、[3] lv c, zhang h, du x k, et al. stylebert: chinese pretraining byfont style information[c]//2022 ieee 10th joint international informationtechnology and artificial intelligence conference (itaic). ieee, 2022, 10:646-652.

12、[4] sun y, wang s, li y, et al. ernie: enhanced representationthrough knowledge integration[j]. arxiv preprint arxiv:1904.09223, 2019.


技术实现思路

1、为了解决上述问题,实现对汉字字形结构信息的有效建模学习,并且不增加预训练的难度以及模型的参数量,本发明提供一种基于中文细粒度词表的预训练方法,直接将部首信息加入到词表中,构建一个由部首组成的中文细粒度词表,将部首序列而不是字序列输入模型,让模型直接学习部首序列的上下文信息,而且加入了更高质量的先验知识,如通过不同分割符表示汉字的上下左右等结构信息,而在字的整个部首序列掩蔽加强了部首之间和部首与汉字的联系,可以让模型更直接、更有效地学习到部首的语义信息,并融入到对整个文本的理解中,而且没有增加模型的参数、没有将掩蔽粒度扩大并且一定程度上加快了模型训练的速度,为挖掘汉字内在结构提供了新思路。

2、本发明提供的一种基于中文细粒度词表的预训练模型的生成方法,包括:

3、s1、根据拆分映射表和中文细粒度词表对语料进行数据处理,得到语料部首序列;

4、s2、将所述语料部首序列输入预训练模型进行训练,获得所述预训练模型。

5、进一步地,所述拆分映射表的构建方法包括:

6、将汉字进行拆字处理,拆字策略包括:

7、(1) 独体字,不拆分,保留原字;

8、(2) 左右结构的汉字,进行拆分,并在拆字项间使用第一分割符;

9、(3) 上下结构的汉字,进行拆分,并在拆字项间使用第二分割符;

10、(4) 其他结构的汉字,进行拆分,并在拆字项间添加第一分割符;

11、如果拆分的部首依然可以被拆分,则将拆字项按照所述拆字策略再次拆分;

12、将拆分得到的拆字项作为部首序列与汉字本身进行一一对应的映射,形成汉字与其部首序列对应的拆分映射表;

13、优先的,从bert词表、ernie词表和中文维基百科语料库中统计所述汉字。

14、进一步地,所述中文细粒度词表的构建方法包括:

15、将所有字的拆字项,去除掉相同项,得到中文细粒度词表。

16、进一步地,在所述步骤s1中,所述对语料进行数据处理的方法包括:

17、s11、去除语料中非汉字字符;

18、s12、使用拆分映射表,将语料文本中的每个汉字替换成其对应的拆分部首,然后将各部首在中文细粒度表中的位置信息组合为汉字部首序列;

19、s13、重复步骤s12,直到语料中的所有汉字都使用中文细粒度词表的部首位置信息进行替换,从而得到语料部首序列;

20、优选的,若语料中的某个汉字无法完全匹配中文细粒度词表中的拆字表达,保留该汉字原表达式。

21、进一步地,在所述步骤s2中,所述预训练模型包括输入层、transformer层、池化层和输出层,所述预训练模型的训练方法包括:

22、s21、随机掩蔽一定比例的所述语料部首序列并传输到输入层,使预训练模型预测被掩蔽的部首;

23、s22、计算预测结果与被遮蔽部首之间的损失,根据反向传播算法,优化所述预训练模型的参数。

24、进一步地,

25、输入层,用于将输入训练数据编码为嵌入向量表示,包括字嵌入和位置嵌入;

26、transformer层,由多个transformer的编码器块构成;

27、池化层,通过最大池化或平均池化操作,合并所有的编码器输出,形成语义向量作为下游任务的特征表示;

28、输出层:输出语料中各文本的向量表示。

29、进一步地,所述步骤s21中的随机掩蔽的方法包括:

30、随机掩蔽输入15%的部首,采用全字掩码的方式,对于遮掩的部首,查找包含此部首的字,将该字的全部部首进行掩蔽。

31、进一步地,在步骤s212中,预训练模型的预测结果的计算公式为:

32、

33、

34、

35、

36、其中,为输入序列,为位置编码序列,为字嵌入向量,为位置嵌入,为掩蔽的位置,为经过transformer编码器的最后一层隐含向量,为对应掩蔽位置的隐向量。

37、进一步地,在所述步骤s22中,所述反向传播算法的损失函数为:

38、

39、

40、其中,表示输入序列,表示被掩蔽的部首位置集合,表示将位置的词元掩蔽后的输入序列。

41、进一步地,在所述步骤s22中,还使用adamw优化器更新所述预训练模型的参数。

42、本发明所述的一种基于中文细粒度词表的预训练模型的生成方法,具有如下有益效果:

43、(1)本发明通过构建中文细粒度词表有效地对汉字字形结构进行拆解表达,使模型可以学习汉字内部的组成规律,更好地对汉字语义进行了建模。

44、(2)本发明所获得预训练模型可以用于下游任务上进行迁移学习。在多个下游任务上的评测指标可以超过复现的中文bert基准模型,所复现模型使用与本发明训练过程同样的中文语料,其词表为谷歌发布的中文bert模型原始词表。

45、(3)本发明可以不增加额外的参数,利用 transformer 的多层结构,通过拆字后的中文细粒度词表学习字形信息,避免了引入额外模块或嵌入向量带来的计算成本,同时,相比基于完全字粒度词表的预训练,缩小了词表,使掩蔽语言任务的分类难度下降,能够一定程度上提升预训练速度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1