【技术实现步骤摘要】
双阶段语义词向量生成方法
本专利技术属于神经网络领域,具体涉及一种双阶段语义词向量生成方法。
技术介绍
词的表示问题是自然语言处理中的关键问题之一。词的表示方法是否适当,直接影响着句法分析、语义表示和篇章理解等任务的建模方法,也影响着信息检索、问答系统等应用系统的准确性和鲁棒性。目前中文词的表示策略可以归纳为3种:传统的0-1表示,基于潜在语义信息的分布式表示和基于神经网络语言模型的分布式表示。传统的0-1表示有两方面问题:一方面0-1表示造成了数据稀疏,使得该种方式生成的词向量占用大量的空间;另一方面0-1表示只能区分不同的词语,但对于词义的表示没有任何贡献。基于神经网络语言模型很好地解决了维度灾害等问题,代表性工具有Word2vec、glove等。但是它仍在存在另一个问题,它是一种词级表示方式,即只为一个词语生成一个词向量,而不能为多义词的不同词义生成不同的词向量,这会对下游任务造成一定的干扰,从而影响下游任务的效果。于是词义级表示方式开始被研究,它根据词语在语料中的语义为其生成特定的语义词向量。目前,词义嵌入类的模型主要有两类:双阶段型和融合型。在双阶段型中,词义识别过程和词向量生成过程是串行的,而融合型模型则在词向量生成过程中完成词义的识别。国外最早使用双阶段模式的是Schutze,他在1998年提出了上下文分组识别,以期望最大化为目标进行聚类来识别词义,然后生成词义向量。2010年,Reisinger和Moone将上下文表示为一元语法的特征向量,采用MovFV聚类的方法来完成词义识别。Sen ...
【技术保护点】
1.一种双阶段语义词向量生成方法,其特征在于,该方法分为三个阶段,并由5个步骤组成,其中第一阶段是文本矩阵化;第二阶段包括特征提取器的构建、语义识别两个步骤;第三阶段包括神经语言模型的构建、义项词向量的生成两个步骤:/n步骤1:文本矩阵化/n从获取的文本中挑选出含有多义词w的子句s
【技术特征摘要】
1.一种双阶段语义词向量生成方法,其特征在于,该方法分为三个阶段,并由5个步骤组成,其中第一阶段是文本矩阵化;第二阶段包括特征提取器的构建、语义识别两个步骤;第三阶段包括神经语言模型的构建、义项词向量的生成两个步骤:
步骤1:文本矩阵化
从获取的文本中挑选出含有多义词w的子句si,构成集合Dw={s1,s2,s3...},即含有歧义词的子句集合,将子句si与多义词w在该子句的义项类别ci组成一条训练样本(si,ci),将这样的训练样本集合称为数据集,i=1,2,...,n;
取所述集合Dw中出现频率最高的L个字符构成字汇表,为所述字汇表构建一个数据矩阵V,其大小记为L行M列,其中第r行对应字汇表中第r个字符的向量表示,即V中的每一行表示该行对应字符的初始化向量,矩阵V的值使用标准正态分布进行初始化,L是字汇表的大小;
对所述数据集中每个训练样本(si,ci)的子句si进行文本矩阵化,所述文本矩阵化就是将含有多义词w的子句si转换成一个q行M列的数据矩阵Di,其中q是子句si转化成的数据矩阵Di的行数,其大小不超过所述获取的文本中最长的子句具有的字符的个数,且q值由用户根据实际情况指定,q<L;Di是子句si中每个字的字符向量经过拼接之后又做了行数处理之后的结果;拼接的做法是,根据子句si的第k个字符从字汇表数据矩阵V中查得这个字符的向量表示,将其作为数据矩阵Di第k行的值,k=1,2,...,q,行数处理的做法是,若Di的行数大于q,则只取其前q行,若Di的行数小于q,则补相应行数的0使其行数达到q;
步骤2:特征提取器的构建
基于卷积神经网络(CNN)构建一个特征提取器,该特征提取器的结构包含6层,分别是输入层、卷积层、池化层、全连接层1、全连接层2和输出层,其中,每一层的作用分别描述如下:
输入层:利用步骤1的文本矩阵化将所述数据集中每个训练样本(si,ci)中的si转换成对应的数据矩阵Di作为所述特征提取器的输入;
卷积层:利用多个卷积核与矩阵Di进行卷积运算抽取出每个训练样本中的子句si的局部特征,得到多个特征图,其中,为每个不同窗口大小的卷积共设置了256个卷积核,卷积的窗口值设置为[3,4,5];
池化层:使用最大池化,通过降采样的方法对卷积层得到的所述多个特征图进行压缩,得到池化后的特征图,然后将其拼接得到列向量Ei;
全连接层1:根据该层的权重参数矩阵将所述列向量Ei转化为列向量Fi,该列向量Fi的维度设置为128,Fi表示所述特征提取器提取到的si的特征向量;
全连接层2:通过全连接层1得到的si的特征向量Fi来计算si中多义词w被预测为每个义项的可能性,该可能性被表示为一个列向量,全连接层1和全连接层2之间使用dropout函数舍弃部分特征,防止所述特征提取器模型过拟合,提高所述特征提取器模型的泛化能力,所述全连接层2的维度与多义词w的义项数一致;
输出层:使用Softmax函数将全连接层2得到的所述列向量的长度转化为1,得到训练样本中子句si中w被预测为每个义项的概率值;
将由步骤1得到的文本矩阵化后的数据集按照8:2的比例分为训练集和验证集,然后使用交叉熵损失函数及反向调节算法对所述特征提取器的网络参数进行更新;当所述特征提取器的网络参数都收敛之后,保持所述特征提取器中各网络参数不变,即得到训练及验证完成的所述特征提取器;最后将含有多义词w的训练样本重新输入所述训练及验证完成的所述特征提取器,则全连接层1重新输出的Fi即为特征提取器提取到的子句si的特征向量;所述训练集和所述验证集都是在训练过程中使用的,所述特征提取器一边训练一边验证;
步骤3:多义词语义识别
将多义词语义识别作为分类任务处理,采用分类器SVM进行多义词语义识别;对每条训练样本使用步骤2得到的特征向量Fi作为所述分类器SVM的输入,以下式作为目标函数,对所述分类器SVM进行训练:
s.t.yi(whyperφ(xi)+b)≥1-ξi,C>0,ξi≥0,i=1,2,...,n
所述分类器SVM的核心问题是寻求出在多维空间中能够区分正负类样本的最优分离超平面whyperx+b=0,其中whyper和b分别代表了该超平面的法向量与截距;C为惩罚系数;ξ为松弛变量;xi即Fi,为子句si的特征向量;yi即义项类别ci,为xi对应的类别标记;φ(x)为从低维空间到高维空间的非线性映射函数;
对于训练好的分类器SV...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。