基于字向量的条件随机场的中文分词方法

2020-01-07 05:52
武汉船舶职业技术学院学报 2019年4期
关键词:分词语料库向量

(武汉船舶职业技术学院,湖北武汉 430000)

在中文语言中,单独的词是具有最小意义的表达形式,而很多独立语和关联语的文本不同于英语,单词之间有空格,中文最具有意义的词与词之间没有任何分隔符之类的显示切分词的特征标志[1],中文分词在我们语言实验中,具有极其重要的地位,是诸多应用系统不可或缺的一个重要环节。中文分词是自然语言理解中举足轻重的知识点之一,也是目前在做中文文本处理[12],信息检索,情感文本分类,知识问答等知识的基础问题[3]。分词的好坏将直接影响到后期的分析结果,如命名实体识别[4],句法分析,篇章分析等。传统的中文分词主要包含三大类:①基于理解的中文分词:也称作人工智能的方法。通过让电脑,仿效人对文本中某句话的理解,达到识别词语的意义,然后进行分词。②基于字符串匹配的中文分词,将文本中的一句话以正向或者逆向或者双向最大匹配的方式,和字典进行匹配,按照优先的匹配方式,达到最大或者最小的匹配方式。③基于概率统计的中文分词,此方法只需要对文本中的字词进行统计,而不需要利用词典切分,其主要的技术含有马尔可夫模型[5](Hidden Markov Model,HMM)、基于最大熵模型(Maximum Entropy Models)、基于条件随机场模型[6](conditional random fields, CRF)等。

前面两者依托于各行业高频率词汇[7],没有着重考虑未登录词的识别过程,因而这类方法不能有效的解决歧义词在中文信息处理方面的问题。利用统计的中文分词方法,是后来大多数学者优先考虑的,也是中文信息处理领域常用的算法之一,常用于在知识问答[9]、实体连接[10]、机器翻译[11]等领域常常使用到。条件随机场和隐马尔科夫模型都属于基于统计的模型。而条件随机场和隐马尔科夫模型2好比互反的过程。上面两种统计方法模型都依托于马尔科夫链[8]作为背景,把其中的隐含变量作为概率转移模型[9]。

因此,本文提出了运用deep learning[18]中的词向量来有效的解决CRF中对上下意词的不足,并且利用对条件随机场优化之后的方法能够更好的解决未登录词和新词的识别。

1 CRF模型的理论知识

条件随机场(Conditional Random Fields, CRF):它是一个无向图构成。在条件随机场中,其中最简便的条件随机场就是链式结构,本文第三章会详细谈论,主要利用链式的CRF模型进行中文分词,在这种特殊的条件随机场中,图中形成的链,是由若干个字符标记构成。在只有一阶链式的CRF模型中,全连通子图涵盖了当前的标记,和在它之前的一个标记的集合,和观测序列的任一子集的最大连通图。如下图所示,各顶点的集合就可以看成最大连通子图。[19]

图1 链式条件随机场

在序列标注任务中,随机变量X={a1,a2,a3,…,an}表示可观测序列;随机变量Y={b1,b2,b3,…,bn}表示观测序列对应的标记序列,随机变量Y的链式条件概率分布为:[18]

Zx是只依赖于观测序列的归一化函数(normalizing factor)

在序列标注任务中,给定训练D=(X,Y),观测数据X={X1,X2,……,XN},标记数据Y={Y1,Y2,…,YN}。[16]

在中文分词的方法中,我们运用适当的参数模型,对其语料进行训练,从而得到条件随机场的模型。基于最大似然原则[12](maximum-likelihood principle)对条件随机场进行训练,使得条件概率的log似然值[13](log-likelihood)最大:

条件随机场的推理是指在给定一个观测序列X={X1,X2,…,XN}的条件下,找到一个对应于最可能的标记序列Y={Y1,Y2,…,YN}。[14]

从式(1)可以看到,在条件随机场的分布函数,归一化因子完全独立于标记序列。所以,给定模型参数条件下,求得最可能的标记序列可以表示为:

Y*=argmaxyP(y|x)=argmaxyexp

在当前序列位置为i,当前标记为y的时候,Viterbi算法[15]可以求得至当前位置的最优标记序列的未归一化概率值。其递归形式为:

2 相关工作

2.1 Word Embedding

本文分词算法中的神经网络包含三个层:输入层,隐藏层,输出层[16]

图2 神经网络结构示意图

2.2模型方法

训练语料库:本文算法中提到的字向量是通过Word2Vec工具包训练得到的,对北京大学语料库中的训练语句进行格式调整为符合word2Vec输入格式的文本数据。

字向量:训练语料中的所有字构成一个字典,字典中的每个字对应一个固定长度的字向量,他们通过word2Vec中的Skip-Gram算法训练得到。[17]

2.3 Skip-gram

Skip-gram的目标是寻找集合来最大化如下条件概率的乘积[17]:

等同于下式:

本文使用条件随机场的扩展Softmax对θ进行形式化处理,使得条件概率转化为下式:

其中vc和vw分别表示是c和w的列向量,维度为d。c是所有语境中的单词构成的集合,等同于词汇表V.参数θ就是vc和vw中每一维度的具体取值。

条件随机场中条件概率公式:

由上述所示公式可得到:

图4 改进过后的词向量示意图

3 实验结果与分析

本文试验利用的语料库来自SIGHAN CWS BAKEOFF2006中的PKU和MSR corpora进行训练,训练得到的统计分词模型分别在PKU test corpus和MSR test corpus进行测试。先通过PKU训练语料得到模型,然后利用模型对PKU的测试语料进行测试,我们的评价指标采用了标准的精确率,召回率和F值。实验结果有了明显的提升。

本文算法中提到的字向量是通过Word2Vec工具包训练得到的,对北京大学语料库中的训练语句进行格式调整为符合word2Vec输入格式的文本数据。训练得到的字向量训练语料中的所有字构成一个字典,字典中的每个字对应一个固定长度的字向量,他们通过word2Vec中的Skip-Gram算法训练得到。

图5 PKU(北京大学语料库)实验对比图

在北京大学语料库上面的分词效果,本文相比CRF的精确率要高出0.5%,召回率高出了0.8%,F值也高出了0.6%;和单独使用word2Vec运用到分词中的效果相比,精确率要高出6.1%,召回率高出了3.2%, F值也高出了4.6%.

图6 MSR(微软语料库)实验对比图

在微软语料库上面的分词效果,我们的方法相比CRF的精确率要高出0.4%,召回率高出了0.1%, F值也高出了0.2%;和单独使用word2Vec运用到分词中的效果相比,精确率要高出8.3%,召回率高出了12.1%, F值也高出了15.3%.

图7 PKU,MSR的P, R,F1值在不同模型下的对比

在中文分词中,数据集采用的是BAKEOff-2005,PKU、MSR分别为北京大学语料库和微软语料库考虑一个系统的好坏,主要由精确率(P),召回率(R),两者的调和均值(F)决定的。

准确率(P)=系统输出正确的结果个数/系统输出全部的结果个数

召回率(R)=系统输出正确的结果个数/测试集中正确的答案个数

F-测度值(F)=2*召回率*正确率/(召回率+正确率)

在试验中,通过bakeoff 2005的PKU和MSR两个语料库的training语料库进行实验,利用word2vec进行字向量的训练,根据词义相关性生成自己的一个词典,再然后利用自己的词典进行对语料库中的test语料库中的测试文件进行实验。

在做本实验的优化上,相对传统的条件随机场的模型而言,在我们的召回率和两者的调和均值上面都有明显的优势。我们在使用CRF模型的时候,在对传统的CRF模型进行了改造优化,再利用Google的word2Vec工具进行对数据文本进行词向量的生成,然后利用对隐藏层的激活函数Softmax进行公式的线性变化,使分词效果达到优化。

4 结 语

本次试验,提高F值的同时,在基本的CRF模型上进行优化,然后利用深度学习的方法,对字向量的激活函数加入线性变化,与条件随机场联合,对文本具有更高的分词精准率,然后对算法中融入动态规划算法进行优化,使得效率和分词F值上面都有所提高。我们接下来的工作是在原有的基础上,来对中文分词进行更深的研究。

本文的分词语料库都是新闻方面的,下一步我们将用于其他更多广阔的领域中。例如我们在微博或者朋友圈里面,短小的文本,该如何做到中文分词,更好的识别未登录词等相关问题。

猜你喜欢
分词语料库向量
向量的分解
基于语料库的清末民初日源外来词汉化研究
聚焦“向量与三角”创新题
分词在英语教学中的妙用
《语料库翻译文体学》评介
结巴分词在词云中的应用
结巴分词在词云中的应用
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
语篇元功能的语料库支撑范式介入