一种基于排序的字向量训练方法技术

技术编号:24207885 阅读:18 留言:0更新日期:2020-05-20 15:28
一种基于排序的字向量训练方法,相比较现有的Elmo、GPT、BERT等方法,大大缩减了参数量,减少了模型过拟合的可能性,使得模型在小语料数据集上可用度大大提升。而相比较现有的word2vec方法,不仅仅利用到了语料中字与字之间的上下文关系,且利用到了每个字的相对位置关系,利用到了整句的语义理解关系。语料的信息利用率大幅提升,更适合于小语料数据集。

A word vector training method based on sorting

【技术实现步骤摘要】
一种基于排序的字向量训练方法
本专利技术涉及人工智能、机器学习、自然语言处理与文本数据挖掘
,具体涉及一种基于排序的字向量训练方法。
技术介绍
随着人工智能技术,机器学习技术在自然语言处理领域中的不断融合,越来越多的人工智能技术被应用在了自然语言处理领域。其中以word2vec、Elmo、GPT、BERT等为代表的,语言的表示学习方面的应用更是赢得业界交口称赞。但是以上各种方法模型,都基于超大规模的语料数据集,对于有些特殊领域,比如古籍文献,尤其是中医学古籍文献,其语料数量并不大,且字义错综复杂,使用传统的语言表示学习方法效果都不理想。其中以Elmo、GPT、BERT等为代表的方法,所需语料量大于亿字,在小语料环境下,由于其参数量过大,导致小语料环境中极易过学习。以word2vec中skip-gram和CBOW为代表的方法,仅仅使用到了字与字之间是否构成上下文关系,而字与字之间的出现顺序并未考虑,且上下文语义信息未作利用,导致信息利用率低,在小语料中表现不佳。
技术实现思路
本专利技术为了克服以上技术的不足,提供了一种语料信息利用率可以大幅提升,适合于小语料数据集的基于排序的字向量训练方法。本专利技术克服其技术问题所采用的技术方案是:一种基于排序的字向量训练方法,包括如下步骤:a)给定语料数据集,将语料数据集中所有的句子进行断句,将断句后的n个句子组成集合{S1,S2,S3,……,Sn},其中Si表示句子集合中的第i个句子,1≤i≤n,第i个句子对应的长度为集合中字数最多的句子的字数为Lmax;b)将句子集合{S1,S2,S3,……,Sn}中出现的字进行编码并建立出现的字与编码对应的字典,将句子集合{S1,S2,S3,……,Sn}中第i个句子的第j个字的编码表示为Sij;c)对字典中的每个字建立字的维度为d的向量,其中d为正整数,将不在字典中的字归为一个维度为d的向量,将字典中的每个字建立字的维度为d的向量和不在字典中的字归为一个维度为d的向量表示为字向量集合{E0,E1,E2,E3,……,Em},其中E0为不在字典中的字的向量,当i≠0时Ei为字典中编码为i的字的向量,m为字典中字的数量,句子集合{S1,S2,S3,……,Sn}中第i个句子的第j个字对应的向量为将字向量集合中每个向量进行随机初始化;d)对句子集合{S1,S2,S3,……,Sn}中的一句子的字的位置信息建立维度为d的向量集合其中Pi为句子中第i个字的位置的向量;e)通过公式计算位置向量集合,其中d为维度,P(i,2k)为位置向量集合中第i个字的位置的第2k维的值,P(i,2k+1)为位置向量集合中第i个字的位置的第2k+1维的值,k为非负整数,max(2k,2k+1)=d;f)在句子集合{S1,S2,S3,……,Sn}中随机抽出一个使用字典编码好的句子Si,将该句子中每个字对应的向量组成集合并连接成矩阵矩阵为一个行d列的矩阵,将矩阵代入公式计算出Q、K、V的值,其中WQ、WK、WV为d行c列的参数矩阵,c为正整数;g)将Q、K代入公式计算出A的值,A为行列的矩阵,使用Aij表示该矩阵的第i行j列的值,根据公式计算得到矩阵R,矩阵R与A大小相同;h)将R和V的值代入公式Z=tanh(R×V×WL+B)计算出Z的值,Z为一个行列的方阵,式中WL为c行d列的参数矩阵,B为维度为d的参数向量;i)通过公式计算矩阵M的值,矩阵与Z方阵大小相同,式中Zij为方阵Z的第i行j列的值,通过公式Loss=-∑(M·I)得到最终的损失值Loss,式中I为行列的单位矩阵;j)使用优化算法以最小化Loss值为目标,优化步骤c)中的字向量集合{E0,E1,E2,E3,……,Em}、优化步骤f)中的WQ、WK、WV以及优化步骤h)中的WL和B;k)如果优化达到预计目的则停止优化,优化后的{E0,E1,E2,E3,……,Em}为最终要求得到的字向量集合,如果没有达到预计目的则跳转至步骤f)。优选的,步骤a)中语料数据集中所有的句子按句号进行断句。优选的,步骤b)中句子集合{S1,S2,S3,……,Sn}中出现的字使用连续的正整数进行编码,将句子集合中出现的字与正整数编码对应后建立字典,将出现的字输入字典后如果字存在于字典当中,则输出该字对应的正整数编码,如果字不存在在字典当中,则输出0。优选的,步骤c)中d取值为48。优选的,步骤d)中d取值为48。优选的,步骤e)中d取值为48。优选的,步骤f)中c的取值为20。本专利技术的有益效果是:本专利的字向量训练方法,相比较现有的Elmo、GPT、BERT等方法,大大缩减了参数量,减少了模型过拟合的可能性,使得模型在小语料数据集上可用度大大提升。而相比较现有的word2vec方法,不仅仅利用到了语料中字与字之间的上下文关系,且利用到了每个字的相对位置关系,利用到了整句的语义理解关系。语料的信息利用率大幅提升,更适合于小语料数据集。具体实施方式下面对本专利技术做进一步说明。一种基于排序的字向量训练方法,包括如下步骤:a)给定语料数据集,将语料数据集中所有的句子进行断句,将断句后的n个句子组成集合{S1,S2,S3,……,Sn},其中Si表示句子集合中的第i个句子,1≤i≤n,第i个句子对应的长度为集合中字数最多的句子的字数为Lmax;b)将句子集合{S1,S2,S3,……,Sn}中出现的字进行编码并建立出现的字与编码对应的字典,将句子集合{S1,S2,S3,……,Sn}中第i个句子的第j个字的编码表示为Sij;c)对字典中的每个字建立字的维度为d的向量,其中d为正整数,将不在字典中的字归为一个维度为d的向量,将字典中的每个字建立字的维度为d的向量和不在字典中的字归为一个维度为d的向量表示为字向量集合{E0,E1,E2,E3,……,Em},其中E0为不在字典中的字的向量,当i≠0时Ei为字典中编码为i的字的向量,m为字典中字的数量,句子集合{S1,S2,S3,……,Sn}中第i个句子的第j个字对应的向量为将字向量集合中每个向量进行随机初始化;d)对句子集合{S1,S2,S3,……,Sn}中的一句子的字的位置信息建立维度为d的向量集合其中Pi为句子中第i个字的位置的向量;e)通过公式计算位置向量集合,其中d为维度,P(i,2k)为位置向量集合中第i个字的位置的第2k维的值,P(i,2k+1)为位置向量集合中第i个字的位置的第2k+1维的值,k为非负整数,max(2k,2k+1)=d;f)在句子集合{S1,S2,S3,……,Sn}中随机抽出一个使用字典编码好的句子Si,将该句子中每个字对应的向量组成集合并连接成矩阵矩阵为一个行d列的矩阵,将矩阵代入公式计算出Q、K、V的值,其中WQ、WK、WV为d行c列的参数矩阵,c为正整数;g)将Q、K代入公式计算出A的值,A为行列的矩阵,使用Aij表示该矩阵的第i行本文档来自技高网...

【技术保护点】
1.一种基于排序的字向量训练方法,其特征在于,包括如下步骤:/na)给定语料数据集,将语料数据集中所有的句子进行断句,将断句后的n个句子组成集合{S

【技术特征摘要】
1.一种基于排序的字向量训练方法,其特征在于,包括如下步骤:
a)给定语料数据集,将语料数据集中所有的句子进行断句,将断句后的n个句子组成集合{S1,S2,S3,……,Sn},其中Si表示句子集合中的第i个句子,1≤i≤n,第i个句子对应的长度为集合中字数最多的句子的字数为Lmax;
b)将句子集合{S1,S2,S3,……,Sn}中出现的字进行编码并建立出现的字与编码对应的字典,将句子集合{S1,S2,S3,……,Sn}中第i个句子的第j个字的编码表示为Sij;
c)对字典中的每个字建立字的维度为d的向量,其中d为正整数,将不在字典中的字归为一个维度为d的向量,将字典中的每个字建立字的维度为d的向量和不在字典中的字归为一个维度为d的向量表示为字向量集合{E0,E1,E2,E3,……,Em},其中E0为不在字典中的字的向量,当i≠0时Ei为字典中编码为i的字的向量,m为字典中字的数量,句子集合{S1,S2,S3,……,Sn}中第i个句子的第j个字对应的向量为将字向量集合中每个向量进行随机初始化;
d)对句子集合{S1,S2,S3,……,Sn}中的一句子的字的位置信息建立维度为d的向量集合其中Pi为句子中第i个字的位置的向量;
e)通过公式计算位置向量集合,其中d为维度,P(i,2k)为位置向量集合中第i个字的位置的第2k维的值,P(i,2k+1)为位置向量集合中第i个字的位置的第2k+1维的值,k为非负整数,max(2k,2k+1)=d;
f)在句子集合{S1,S2,S3,……,Sn}中随机抽出一个使用字典编码好的句子Si,将该句子中每个字对应的向量组成集合并连接成矩阵矩阵为一个行d列的矩阵,将矩阵代入公式计算出Q、K、V的值,其中WQ、WK、WV为d行c列的参数矩阵,c为正整数;
g)将Q、K代入公式计算出A的值,A为行列的矩阵,使用Aij表示该矩阵的...

【专利技术属性】
技术研发人员:张伯政吴军樊昭磊张述睿张福鑫李福友
申请(专利权)人:山东众阳健康科技集团有限公司
类型:发明
国别省市:山东;37

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

1