一种基于专用语料库字向量的无监督中文分词方法与流程

文档序号:18740718发布日期:2019-09-21 01:44阅读:623来源:国知局
一种基于专用语料库字向量的无监督中文分词方法与流程

本发明属计算机自然语言处理技术领域,涉及一种基于专用语料库字向量的无监督中文分词方法。



背景技术:

自然语言处理问题中,最常见的一类问题是分词。分词方法根据不同的词性、停顿等条件将一个自然语句进行切分,每一个分割作为一个最小的处理单元方便进行后续自然语言的处理。根据不同的语言种类,分词方法也不相同。拉丁文语言,如英文,以若干字母的不同组合作为单词,利用空格等分隔符组成语句,其中单词为最小语言单位;而方块文字,如中文,则以众多等中文语素作为最小语言单位,以字符构成词语再进一步构成语句。因此,适用于一种语言的分词方法对于另一种语言可能并不适用。目前对于分词方法的研究中,对于中文的分词方法研究相对较少。另一方面,分词方法中,目前主流的依然是有监督分词,即通过构造常用词词典,再将语句与词典进行比对的方式来进行分词,目前利用此方法较为成功的有jieba分词,hanlp分词,pynlpir分词等。但此法面临着一些问题,例如在一些较专业的领域中,没有成熟的词典可以用来作为参照,又由于其专业性构造新的词典难度较大,导致监督分词法在专业的中文语料中效果一般,并不适用。因此需要构建一个无监督的中文分词方法来应对以上问题。



技术实现要素:

为解决上述技术问题,本发明提出了一种基于专用语料库字向量的无监督中文分词方法,该方法可以通过对语料进行无监督的训练进行信息提取,并利用信息直接对输入语句进行分词,便于对语料进行命名实体识别等其他任务的处理。

根据本发明的一个实施例,本发明提供了一种基于专用语料库字向量的无监督中文分词方法,所述方法包括如下步骤:

步骤一、预处理语料库,得到在语料库上的每个字对应的字向量;

步骤二、根据所述字向量计算出字间粘连度;

步骤三、计算出最佳分词路径实现无监督中文分词。

优选的,所述步骤一还包括,将语料库预处理,将每个字分隔开,利用开源库gensim中的word2vec模型来进行字向量的训练,由此得到在语料库上的每个字对应的字向量。

优选的,所述根据所述字向量计算出字间粘连度包括通过一定窗范围内的多个字向量余弦距离综合计算出一个字间粘连度。

优选的,所述通过一定窗范围内的多个字向量余弦距离综合计算出一个字间粘连度,具体为,对于一个字间隔,给定窗宽度2L,则字间隔前后L个字共可求得L个字向量的余弦距离,对这L个余弦距离进行加权求和平均的操作,得到该字间隔对应的字间粘连度。

优选的,所述计算字间粘连度具体过程如下:

Q={q0,q1,…,qn}为粘连度向量,qi表示第i个字符和第i+1个字符之间的粘连度,qi的具体计算方法如下:

di,j=cos<vi,vj> (2)

其中,a∈(0,1)为距离衰减系数,当两个字距离较远时,将他们的相似度进行衰减;vi表示句子中第i个字符的字向量,vj表示句子中第j个字符的字向量,di,j表示vi与vj的余弦距离,L为语句中假设的最长语义依赖距离。

优选的,所述计算出最佳分词路径实现无监督中文分词,具体为,

设Q为对每一个字间隔求出的字间粘连度qi组成的向量,S为标记字间隔是否为分词间隔的分割标记si组成向量,若待分词的语句长度为n,则两个向量的长度均为n-1,其中qi为字间粘连度,qi∈[0,1];si为分割标记,si∈{0,1},w为最大词长,则最佳分词路径的计算如下:

目标函数:maxS QS (3)

约束条件:

根据上述公式(3)、(4)求出最佳分词路径即分割向量,从而实现无监督中文分词。

本发明公开了一种基于专用语料库字向量的无监督中文分词方法,该方法的实现包括字向量的训练和语句分割的操作。对于字向量的训练,采用开源的word2vec方法,将中文语料中的每一个字对应得到一个向量。训练后,基于句子中每个字的字向量,计算每两个相邻字的字向量粘连度,在相邻字之间粘连度最小处分割,实现分词。

使用本发明的方法在实际中获得如下效果:

(1)对于有较大规模训练集的语料集,无先验知识条件下分词正确率可以达到90%。

(2)对于电子病历的语料文本,无先验知识条件下分词正确率可以达到70%。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明提出的基于专用语料库字向量的无监督中文分词方法流程图;

图2为本发明提出的基于专用语料库字向量的无监督中文分词方法一实施例图;

图3为本发明提出的基于专用语料库字向量的无监督中文分词方法又一实施例图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本案发明人为了解决现有技术的缺陷,创造性的提出了一种解决方案,在一些较专业的领域中,没有成熟的词典可以用来作为参照,又由于其专业性构造新的词典难度较大,导致监督分词法在专业的中文语料中效果一般,并不适用,从而提出了一种基于专用语料库字向量的无监督中文分词方法。接下来,详细介绍本申请方案,如图1所示,方法包括:

S1、预处理语料库,得到在语料库上的每个字对应的字向量;

具体的,首先将语料库进行预处理,将每个字分隔开,随后利用目前较为主流的开源库gensim来进行字向量的训练,由此得到在语料库上的每个字对应的字向量。

gensim是一款强大的自然语言处理工具,里面包括N多常见模型,基本的语料处理工具包括:LSI、LDA、HDP、DTM、DIM、TF-IDF、word2vec、paragraph2vec。

word2vec工具主要包含两个模型:跳字模型(skip-gram)和连续词袋模型(continuous bag of words,简称CBOW),以及两种高效训练的方法:负采样(negative sampling)和层序softmax(hierarchical softmax)。word2vec词向量可以较好地表达不同词之间的相似和类比关系。因此,在本实施例中,选用的是word2vec模型来进行字向量的训练。

由此得到的字向量应具有以下特点:常常相邻出现的字,其前后的字环境也相似,因此计算出的字向量相似性高;相反,不常共同相邻出现的字,其字环境也不同,因此计算出的字向量相似性低。

S2、根据所述字向量计算出字间粘连度;

具体的,根据字向量进行分词的解释是,由于字向量的相似性与字共同出现频率是正相关的,因此可以通过每两个字的字向量计算出这两个字的字间粘连度,通过这个关系来决定这两个字是否属于同一个词。

定义出的字间粘连度应具有以下特点:若干字应当划分为同一词语的概率,与字间粘连度值应当成正相关关系。与在计算字间粘连度时,使用字向量的余弦距离来衡量字的相似性,这样得到的字间粘连度值与若干字成词概率成正相关关系。利用余弦距离可以直接获得归一化的结果,利于后续利用字间粘连度进行分词路径判断。

在计算字间粘连度时,最简单的做法是直接将两个字的字向量的余弦距离作为字间粘连度。但一般词中的字并不一定只与相邻字具有关系,对于一个字来说其相邻一定大小的窗内的字都需要进行考虑,因此在实际求解时,可以通过一定窗范围内的多个字向量余弦距离综合计算出一个字间黏连度来使用,如图2。具体的方式为,对于一个字间隔,给定窗宽度2L,则字间隔前后L个字共可求得L个字向量的余弦距离,对这L个余弦距离进行加权求和平均的操作,其中每一个距离的权重为一个乘法因子,这个乘法因子的字间隔中央位置向两边依次减小,以表示距离该字间隔越远的字对该字间隔是否为分词间隔的影响越小。乘法因子的双向递减速率是一个输入参数,取值为0到1之间。加权求和平均得到的值即为该字间隔对应的字间粘连度。

具体计算过程如下:Q={q0,q1,…,qn}为粘连度向量,qi表示第i个字符和第i+1个字符之间的粘连度,qi的具体计算方法如下:

di,j=cos<vi,vj> (2)

式子(1)中a∈(0,1)为距离衰减系数,当两个字距离较远时,将他们的相似度进行衰减。di,j定义如式(2),式子(2)中,vi表示句子中第i个字符的字向量,vj表示句子中第j个字符的字向量,di,j表示vi与vj的余弦距离,L为语句中假设的最长语义依赖距离。

S3、计算出最佳分词路径实现无监督中文分词。

得到每相邻两个字之间的字间粘连度后,可以进行最佳分词路径的计算。最佳分词路径的计算方式如下:

设Q为对每一个字间隔求出的字间粘连度qi组成的向量,S为标记字间隔是否为分词间隔的分割标记si组成向量。若待分词的语句长度为n,则两个向量的长度均为n-1。其中qi为字间粘连度,qi∈[0,1];si为分割标记,si∈{0,1}。则最佳分词路径的计算可化为如下的规划问题:

目标函数:maxS QS (3)

约束条件:

式(4)其中w为最大词长,问题即为在限制最大词长w时,如何取值分割向量S才能使所有词的内部字间粘连度之和(即向量积QS)最大。该优化问题为典型的动态规划问题,可求解出最佳分词路径,即分割向量S。

根据本发明的实施例,如图3所示,输入句“患者逐渐出现走路不稳”,根据一份病历集语料训练出的字向量计算字间粘连度,得到如图3结果。再由动态规划算法计算最佳分词路径,可以得到如图的三处分割点,实现分词。分割词结果为“患者|逐渐|出现|行走不稳”。

对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。

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