一种基于嵌入式表示的自适应中文分词方法与流程

文档序号:11230436阅读:318来源:国知局
一种基于嵌入式表示的自适应中文分词方法与流程

本发明涉及信息处理领域,特别涉及一种基于神经网络中文分词的领域迁移方法。



背景技术:

中文分词是中文自然语言处理中的基础任务,它的目标是将以中文汉字为组成的序列转换为以中文词语组成的序列。因为中文词语是中文语义表达的基本单元,中文分词是非常重要的基础任务,而且分词系统的性能会直接影响到中文自然语言处理的上层任务,例如,信息检索和机器翻译。

在过去的十几年里,中文分词方面有许多研究工作,也取得了很多瞩目的成果。一方面,许多中文分词的标准数据集被建立了起来;另一方面,许多统计学习的分类器被应用到中文分词任务中,目前最普遍的分词方法是把分词任务作为一个有监督的序列标注任务来完成。比较常见的传统分词模型有结构化感知器、条件随机场(crfs)等。但是这些传统模型都十分依赖人工设计的特征,需要复杂的特征才能取得较好的分词效果。最近,由于神经网络可以自己学习特征以代替复杂的人工设计特征,大大减轻特征工程的负担,许多工作尝试将神经网络应用于中文分词任务。正是由于这些大量的标注数据和不断改进的统计学习模型,中文分词在标准数据集上取得了很好的效果,有些模型在标准数据集上的准确率甚至超过了98%。

然而中文分词并不能说是一个已经解决了的任务,由于大量标注的数据主要是新闻语料,这使得在这些数据上训练得到的分词器在例如专利、文学、金融等领域的文本上性能大大下降。这一问题就是著名的领域迁移问题。领域迁移问题,由可得到的资源可进一步细分为两个大类,一个是全监督领域迁移,一个是半监督领域迁移。这两个类别的主要区别在于迁移的目标领域是否有标注数据。全监督领域迁移中,我们有大量的源领域标注数据和少量目标领域标注数据。在半监督领域迁移中,我们有大量源领域标注数据,但是在目标领域我们只能得到无标注的数据。

而本发明主要为了解决上述的半监督领域迁移问题,采用了一种基于嵌入式表示的领域迁移方法,利用语言模型建模中文文本字符之间的共现关系,将这一跨领域信息通过嵌入式表示传递给神经网络分词器,得到了较好的领域迁移分词效果。



技术实现要素:

为了解决现有的技术问题,本发明提供了一种基于神经网络分词的领域迁移方法。方案如下:

训练时,分词网络和语言模型网络同时工作:

步骤一,我们将输入的已标注句子和随机抽取的未标注句子的每个字符都映射为字符向量,通过这一步将句子参数化,句子各映射为一个数值矩阵。

步骤二,我们使用一个多卷积核的卷积神经网络对参数化的已标注句子进行卷积操作,不同窗口大小的卷积核从句子中提取到隐多粒度的局部特征。

步骤三,将隐多粒度局部特征送入一个前向网络中,得到各个字符序列标注的标签概率。

步骤四,在句子层面上,对整个句子中各个字符的标签概率进行维特比解码,得到句子层面的最优分词结果和分词网络的损失函数值。

步骤五,未标注的句子送入一个基于长短期记忆单元(lstm)循环神经网络的字符语言模型。得到各个字符位置的隐层表示。

步骤六,将隐层表示送入一个前向网络中,得到各个字符位置的下一个字符的概率分布。得到语言模型网络的损失函数值。

步骤七,将分词网络的损失函数值与语言模型网络的损失函数值进行组合,利用反向传播算法回传损失,更新两个网络的参数值。

分词时,仅只用分词网络一侧:

步骤一,我们将输入句子的每个字符都映射为字符向量,通过这一步将句子参数化,句子映射为一个数值矩阵。

步骤二,我们使用一个多卷积核的卷积神经网络对参数化的句子进行卷积操作,不同窗口大小的卷积核从句子中提取到隐多粒度的局部特征。

步骤三,将隐多粒度局部特征送入一个前向网络中,得到各个字符序列标注的标签概率。

步骤四,在句子层面上,对整个句子中各个字符的标签概率进行维特比解码,得到句子层面的最优分词结果。

附图说明

图1是本发明提供的分词领域迁移方法的网络结构图

图2为lstm循环神经网络单元的内部结构图

具体实施方式

接下来将对本发明的实施方法作更详细的描述。

图1是本发明提供的分词方法的网络结构图,其中包括:

训练部分:

步骤s1:共享的字符嵌入式表示层,将输入的已标注句子和随机抽取的未标注句子字符向量参数化;

步骤s2:卷积神经网络对已标注句子提取隐多粒度局部信息;

步骤s3:前向神经网络计算各个字符的标签得分;

步骤s4:使用标签推断方法得到最优标签序列和损失函数值;

步骤s5:未标注的句子送入一个基于长短期记忆单元(lstm)循环神经网络的字符语言模型,得到各个字符位置的隐层表示;

步骤s6:将隐层表示送入一个前向网络中,得到各个字符位置的下一个字符的概率分布,得到语言模型网络的损失函数值;

步骤s7:将分词网络的损失函数值与语言模型网络的损失函数值进行组合,利用反向传播算法回传损失,更新两个网络的参数值;

分词部分,仅使用分词网络部分:

步骤s1:共享的字符嵌入式表示层,将输入句子字符向量参数化;

步骤s2:卷积神经网络对已标注句子提取隐多粒度局部信息;

步骤s3:前向神经网络计算各个字符的标签得分;

步骤s4:使用标签推断方法得到最优标签序列;

下面将对每个步骤进行具体的说明:

步骤s1:向量参数化,为了克服传统one-hot表示法所带来的稀疏性和无关性的问题,本发明首先将句子中的各个字符参数化,通过一个映射字典,将字符映射为不稀疏的向量表示。假设中文汉字一共有c个字符,那么整个映射字典可以表示为一个c*d维的数值矩阵,其中每一个行是一个字符的数值表示,一个d维的数值向量。那么一个句子,就可以表示为句子中每一个字符都映射为向量后组成的数值矩阵。

其中x为句子的矩阵表示,xi为句子中第i个字符映射后的向量,表示向量的连接。

在这一步骤中,借鉴去噪自动编码器的思想,本发明引入了dropout的机制,在训练网络时,随机将一部分参数置零,使得参数训练更具有鲁棒性,训练过程更为平滑。

步骤s2:使用卷积神经网络层提取隐多粒度局部信息。卷积神经网络擅长于局部特征的提取,并已经被广泛用于中文自然语言处理任务中,如:情感分类、文档分类。不同的卷积核卷积句子,得到不同的局部特征。卷积神经网络提取到的局部特征比传统使用的uni-gram、bi-gram有更好的表现。所以本发明中将多卷积核的卷积神经网络引入中文分词中,用于提取更好的局部特征。

对于文本处理中的卷积神经网络而言,一个窗口为w的卷积核可以表示为一个w*d维的矩阵,其中d是文本参数化后的向量维度。则卷积核对窗口内的w个向量的卷积操作,可以表示为:

其中c为提取到的局部特征,表示卷积操作,b是一个偏置项,f是一个非线性函数,例如sigmoid函数、relu函数。由于relu函数更适合用于深度神经网络中,所以本发明中选择使用的是relu函数。

而且中文词语的成词规律有很多种,仅仅用一个特征是不能表示的,所以我们对不同的窗口都引入了多个卷积核。假设我们对窗口w引入n个卷积核,则在句子中一个字符周围窗口为w个字符提取到的局部特征就可以表示为各个卷积核卷积提取到的特征的组合。

其中c为句子中一个字符周围提取到的特征向量,ci表示一个卷积核提取到的局部特征。

步骤s3:使用前向神经网络计算各个字符的标签得分。在步骤s2中,卷积神经网络得到了隐多粒度局部特征,这一步中的前向网络就是利用之前提取到的局部信息对序列进行标注生成标签概率。以bies四标签体系为例,则输出标签共有4个,分别表示字符是一个词语的开头、中间、结尾和当前字是一个单字词语。这个前向网络是一个输入为卷积神经网络输出维度,输出维度是4的全连接网络。前向网络的输入是步骤s2中得到的输出向量,输入是bies四标签的得分,最后使用softmax函数对输出的标签得分进行概率化,得到四个标签对应的概率。在这一层中,本发明还使用了dropout策略,提升网络的整体性能,防止过拟合。

步骤s4:使用标签推断方法得到最优标签序列。本发明将中文分词作为一个序列标注的问题,其中的标注标签并不是相互无关的,以bies四标签体系为例,b表示字符是一个词语的开始,i表示字符在一个词语的内部,e表示字符是一个词语的结尾,s表示字符是一个单字词语。存在明确的约束关系,标签b之后符合约束的只能是标签i或者e,标签e后面符合约束的只能是标签b或者s,标签i之后符合约束的只能是标签e,标签s之后符合约束的只能是标签b或者s。这些约束关系表明标注标签之间有很强的依赖关系。为了建模这种关系,本发明中加入了标签的跳转得分。同时为了从各个字符的标签概率分布得到句子的最优标签序列。本发明使用标签推断来计算得到整个句子层面上的最优标签路径。路径的得分有两部分组成,一个是标签的跳转得分,一个是标签本身的概率得分。假设标签转移矩阵是a,其中的第i行第j列的元素表示从标签i跳转到标签j的得分。则一个句子上某一个标签路径的得分为:

其中s(yt)为该标签本身的概率得分,n为句子长度。本发明使用维特比算法计算得到最优标签路径。网络用最大化对数似然函数进行训练:

其中y(s)表示输入句子s的所有可能标签序列。

步骤s5:将步骤s1中参数化的未标注句子送入一个基于长短期记忆单元(lstm)循环神经网络的字符语言模型,得到各个字符位置的隐层表示。循环神经网络擅长于抽取长距离的依赖关系,也被广泛用于自然语言处理各个任务。但是传统循环神经网络由于结构比较简单,很容易出现梯度爆炸和梯度弥散的问题。梯度弥散会使得网络训练变得非常缓慢,梯度爆炸会使得训练变得困难,甚至导致网络发散。而lstm(长短期记忆)单元通过使用类似门电路的方式控制记忆单元的遗忘和更新,使得循环神经网络能够更有效地学习到长距离的依赖关系。

图2给出了一种lstm单元的单元结构,一个lstm单元在坐标点t可以描述为:

it=σ(wi·xt+ui·ht-1+bi)

ft=σ(wf·xt+uf·ht-1+bf)

ot=σ(wo·xt+uo·ht-1+bo)

ht=ot⊙tanh(ct)

其中x是输入,c是记忆单元状态,i、f、o分别是输入门,遗忘门和输出门,σ和tanh是逻辑斯蒂克函数和双曲正切函数。⊙是数值对位相乘。w、u和b是权重矩阵和偏置项。是计算出来的候选记忆单元状态。记忆单元状态c在输入门、遗忘门的控制下,从候选记忆单元状态和前一时刻的记忆单元状态更新得到。而输出门则控制记忆单元状态的输出。循环神经网络将步骤s1输出的未标注句子的参数表示为输入。字符语言模型神经网络只有一个正向的网络单元,输出各个字符位置的隐层表示。

步骤s6:语言模型预测下一个字符。将步骤s5中得到的隐层表示送入一个前向网络中,使用softmax函数得到各个字符位置的下一个字符的概率分布,语言模型使用交叉熵的损失函数,计算得到语言模型网络的损失函数值。

步骤s7:损失函数组合,更新参数。将步骤s4中得到的分词网络损失函数值与步骤s6中得到的语言模型网络的损失函数值进行组合:

loss=lossseg+a·losslm

其中lossseg为分词网络损失函数,losslm为语言模型网络损失函数,α为一个平衡两个网络损失的超参数。最后利用反向传播算法回传损失,更新两个网络的参数值。

分词时,仅激活分词网络一侧,执行步骤s1、s2、s3、s4即可得到分词结果。

以上结合附图对所提出的一种基于隐多粒度局部特征的中文分词方法及各模块的具体实施方式进行了阐述。通过以上实施方式的描述,所属领域的一般技术人员可以清楚的了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现,但前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现,该软件产品存储在一个存储介质中,包括若干指令用以使得一台或多台计算机设备执行本发明各个实施例所述的方法。

依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

以上所述的本发明实施方式,并不构成对发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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