一种基于隐多粒度局部特征的中文分词方法与流程

文档序号:11230438阅读:410来源:国知局
一种基于隐多粒度局部特征的中文分词方法与流程

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



背景技术:

中文分词是中文自然语言处理中的基础任务,它的目的在于将中文汉字序列转换为中文词语的序列。中文词语是中文语义表达的基本单元,所以分词的好坏会直接影响到中文自然语言处理的上层任务,例如,信息检索和机器翻译。

目前最普遍的分词方法是把分词任务作为一个有监督的序列标注任务来完成。比较常见的传统分词模型有结构化感知器、条件随机场(crfs)等。但是这些传统模型都十分依赖人工设计的特征,需要复杂的特征才能取得较好的分词效果。最近,由于神经网络可以自己学习特征以代替复杂的人工设计特征,大大减轻特征工程的负担,许多工作尝试将神经网络应用于中文分词任务。但是这些工作并没有很好地提取和利用句子中的局部特征,也没有很好地将局部特征和上下文的信息结合起来。而本发明为了解决上述的问题,采用了多卷积核的卷积神经网络,结合循环神经网络,得到了较好的分词效果。



技术实现要素:

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

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

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

步骤三,隐多粒度局部特征经过一个k-max池化层,k-max池化层仅保留局部特征中比较重要的一些,对局部特征进行了一个筛选。

步骤四,经过筛选的隐多粒度局部特征再送入一个双向lstm循环神经网络层。双向的lstm循环神经网络再引入字符前后句子中上下文信息,这就使得多粒度的局部信息和上下文信息结合到了一起。

步骤五,将之前所得到的信息送入一个前向网络中,得到各个字符序列标注的标签概率。

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

附图说明

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

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

具体实施方式

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

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

步骤s1:输入句子的字符向量参数化;

步骤s2:卷积神经网络提取隐多粒度局部信息;

步骤s3:k-max池化操作增强非线性,并控制参数个数;

步骤s4:双向循环神经网络提取长距离的上下文信息;

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

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

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

步骤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:使用k-max池化层对步骤s2中提取到的隐多粒度特征进行池化。池化操作是卷积神经网络经常使用的一种方法,本发明中所使用的是在特征向量上的k-max池化。k-max池化仅保留特征向量中最大的k个值,有很强的非线性,能够帮助卷积神经网络训练出更好的特征,同时也能够控制网络整体的参数个数,防止过拟合。

步骤s4:使用双向循环神经网络提取长距离的上下文信息。循环神经网络擅长于抽取长距离的依赖关系,也被广泛用于自然语言处理各个任务。但是传统循环神经网络由于结构比较简单,很容易出现梯度爆炸和梯度弥散的问题。梯度弥散会使得网络训练变得非常缓慢,梯度爆炸会使得训练变得困难,甚至导致网络发散。而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是logisticsigmoid函数和hyperbolictangent函数。⊙是数值对位相乘。w、u和b是权重矩阵和偏置项。是计算出来的候选记忆单元状态。记忆单元状态c在输入门、遗忘门的控制下,从候选记忆单元状态和前一时刻的记忆单元状态更新得到。而输出门则控制记忆单元状态的输出。循环神经网络将步骤s3输出的经过池化的特征作为输入。双向循环神经网络有正向、反向两个网络单元,分别引入当前位置前文和后文的长距离信息。两个网络单元得到的输出向量被拼接起来,作为当前位置新的特征表示,此时这个特征表示已经同时包含了隐多粒度的局部信息和前后文的长距离上下文信息。

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

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

其中s(yt)为该标签本身的概率得分,n为句子长度。本发明使用维特比算法计算得到最优标签路径。

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

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

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

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