语言模型预训练方法技术

技术编号:21658708 阅读:18 留言:0更新日期:2019-07-20 05:39
本发明专利技术公开了一种语言模型预训练方法,其包括如下步骤:对模型中的语料按字、子词进行分词;对生成的各分词随即抽取15%进行位置掩盖、并计算掩盖后的语义分布;以独立的门控制单元对模型中的子词混合进行控制;对语义分布和掩盖词的预测进行同步训练。本发明专利技术能够明显改善BERT预训练后模型的预测结果。

Pre-training Method of Language Model

【技术实现步骤摘要】
语言模型预训练方法
本专利技术属于人工
,尤其是涉及一种基于混合字符及子词的改进BERT模型的语言模型预训练方法。
技术介绍
自然语言处理是人工智能领域的一个重要分支。预训练语言模型在实践中被证明具有相当突出的有效性。语言模型(LanguageModel)是一串词序列的概率分布。具体来说,语言模型是为一个长度为m的文本确定一个概率分布P,表示这段文本存在的可能性。较为常用的语言预训练方法是基于BRRT模型的语言预训练,其包括如下步骤:1、准备带有上下句的文本语料;2、使用BPE(bytepieceencoding、即简单分词算法)将文本语料转化为整数序列的分词;3、掩盖/替换15%的分词;4、对被掩盖的分词进行预测,并同时预测该分词的上下句。这种预训练方法存在以下问题:1、其直接预测每个位置该出现的词,由于词表巨大导致各位置均出现高频词导致样本的不均衡;2、其基于分词后的序列建模,对于中文这种分词有歧义的语言不友好,且阻碍了中文在下游应用的迁移;3、建模句子对的关系中,上下句的负例构造具有随意性,对最后的训练效果造成随机性影响。因此,如何针对上述问题,对BERT模型进行改进,实现一种新型的语言模型预训练方法,是本领域技术人员需要研究的方向。
技术实现思路
为克服现有BRRT模型语言预训练存在的问题,本专利技术提供了一种语言模型预训练方法。其采用的技术方案如下:一种语言模型预训练方法,其包括如下步骤:S1:对模型中的语料按字、子词进行分词;S2:对S1生成的各分词随即抽取15%进行位置掩盖、并计算掩盖后的语义分布;S3:以独立的门控制单元对模型中的子词混合进行控制;S4:对语义分布和掩盖词的预测进行同步训练。优选的是,上述语言模型预训练方法中:所述步骤S2包括如下步骤:S21:初始化空的映射表;S22:从分词表当前位置反向扫描,直至由扫描位置处至当前位置为止构成的字符串出现在词表中;S23:找出该字符串对应的ID标号,对映射表中该ID出现的频次增加1;S24:对映射表中的各个ID标号按出现频次由高到低排序,截取排序后的前K个ID标号并分别记录这些ID标号的频次;S25:将S24所得K个ID的频次分别除以频次和,得到所述K个ID的估计概率;S26:以S25所得K个ID以及该K个ID的频次作为整个词表被掩盖的语义分布。更优选的是,上述语言模型预训练方法中:所述步骤S3包括如下步骤:S31:对第i个位置的第j种分词结果的词进行嵌入,得到嵌入表示wi,j;S32:根据位置编码机制,并对这个位置得到一个位置嵌入pi,所述pi为第i个位置所用的位置编码向量,一般用最长512个位置,且各个位置都由一个向量表示以建模词的位置关系;所述pi的维度等于所述wi,j的维度k;S33:基于ai,j=θ*[wi,j,pi]+b的运算逻辑获得wi,j和pi的兼容度,所述ai,j为嵌入位置;S34:以S33所得兼容度为权重,对wi,j和pi拼接出来的向量加权求和,得到融合后的表示。通过采用上述技术方案:在步骤S1生成字符级别的分词作为MLM部分的预测目标,缩小了预测目标的范围,使得模型训练更稳定并减少了计算量。对BERT中的输入序列,使用子词和字符混合的方式,同时设置独立门控制单元来混合多种表示,把被掩盖位置的字和词作为一个整体语义分布、统一预测该分布;针对整个篇章而不是句子级别建模,对下游分类任务更为友好以下对本文提出的方法详细描述。与现有技术相比,本申请能够明显改善BERT预训练后模型的预测结果,进一步提高其预测准确率。附图说明下面结合附图与具体实施方式对本专利技术作进一步详细的说明:图1为实施例1的流程示意图。具体实施方式为了更清楚地说明本专利技术的技术方案,下面将结合各个实施例作进一步描述。实施例1:以公司内部职位分类数据为语料,目标是对每段工作经历,预测这段内容对应的职位分类。在本例中,职位分类共有1930类。网络结构采用BERT模型中的Transformer作为基础,输入一段工作经历,经过Transformer后,输出的特征表示使用Attention机制,输出对1930类的预测。训练目标使用交叉熵优化,Transformer中的参数使用预训练好的BERT模型中的参数值。分别采用直接预测、基于BERT预训练后预测和在本专利技术提出的方法进行预训练后预测,三组实验进行预测结果的比对。其中,采用本申请提出的方法进行的预训练过程如下:S1:对模型中的语料按字、子词进行分词;S2:对S1生成的各分词随即抽取15%进行位置掩盖、并计算掩盖后的语义分布;S3:以独立的门控制单元对模型中的子词混合进行控制;S4:对语义分布和掩盖词的预测进行同步训练。三组实验的结果如下:(1)不采用预训练模型进行直接预测,其预测准确率为50%。(2)基于BERT预训练后的模型进行预测,其预测准确为52%。(3)基于本专利技术提出的方法进行预训练后的模型进行预测,其预测准确率为54%。由此可知,本专利技术提出的方法对预训练的结果起到了明显的改进作用。以上所述,仅为本专利技术的具体实施例,但本专利技术的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本专利技术公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本专利技术的保护范围之内。本专利技术的保护范围以权利要求书的保护范围为准。本文档来自技高网...

【技术保护点】
1.一种语言模型预训练方法,其特征在于,包括如下步骤:S1:对模型中的语料按字、子词进行分词;S2:对S1生成的各分词随即抽取15%进行位置掩盖、并计算掩盖后的语义分布;S3:以独立的门控制单元对模型中的子词混合进行控制;S4:对语义分布和掩盖词的预测进行同步训练。

【技术特征摘要】
1.一种语言模型预训练方法,其特征在于,包括如下步骤:S1:对模型中的语料按字、子词进行分词;S2:对S1生成的各分词随即抽取15%进行位置掩盖、并计算掩盖后的语义分布;S3:以独立的门控制单元对模型中的子词混合进行控制;S4:对语义分布和掩盖词的预测进行同步训练。2.如权利要求1所述语言模型预训练方法,其特征在于,所述步骤S2包括如下步骤:S21:初始化空的映射表;S22:从分词表当前位置反向扫描,直至由扫描位置处至当前位置为止构成的字符串出现在词表中;S23:找出该字符串对应的ID标号,对映射表中该ID出现的频次增加1;S24:对映射表中的各个ID标号按出现频次由高到低排序,截取排序后的前K个ID标号并分别记录这些ID标号的频次;S25:将S24所得...

【专利技术属性】
技术研发人员:陈瑶文
申请(专利权)人:人立方智能科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1