一种基于深度学习的中文分词方法与流程

文档序号:16402043发布日期:2018-12-25 20:10阅读:885来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
一种基于深度学习的中文分词方法与流程

本发明涉及自然语言处理技术领域,具体涉及一种基于深度学习的中文分词方法。

背景技术

当前大数据环境下,随着物联网数据感知、数据云计算、三网融合以及移动互联网的迅速发展,数据,尤其是非结构化文本的数据量以指数级别迅猛增长,并呈现类型多样化、异构化、信息碎片化和价值密度低等特征。数据的快速膨胀对信息的自动处理带来了巨大挑战,如何高效、准确地处理海量文本,抽取出有价值的信息,成为自然语言处理(naturallanguageprocessing,nlp)的重要课题。

在自然语言处理领域,特别是中文自然语言处理中,分词是一项重要的基准任务,其结果性能的好坏将直接影响到后续机器翻译、情感分析、自动摘要生成、信息检索等语用任务的最终性能。然而由于中文自身的句法和语法特殊性,直接将英语等语言的处理技术应用到中文并不能取得预期的理想效果。传统的中文分词方法分为基于字符串匹配和基于统计两种,基于字符串匹配的分词按照一定规则扫描句子,逐个查找词库进行分词,统计学的方法运用统计语言模型和无监督或半监督的学习算法得出最优的切分结果。诸如此类的方法虽然取得了一定的效果,但大多是面向特定领域任务的,并且需要较强的人工干预进行特征发现,这种干预不仅会导致对词典复杂的运行时依赖关系,而且要求研究人员须具备专业的语言学知识。

深度学习能够利用深层神经网络自动学习出数据表示,为数据构建一种具有更强决策能力、洞察发现力和流程化能力的统一内部表示,形成对数据事实的统一理解,在保留语义信息的基础上降低分布式向量的维度,极大地减少了训练时长,提升了系统性能。

早期基于深度学习的中文分词任务使用简单的反馈神经网络对训练序列中的每个字进行标注,这种方法仅获取固定窗口内的上下文信息,无法很好的学习到数据与之前数据的关联。

递归神经网络,能够通过累积历史记忆,更充分地利用上下文关系,自动学习到更复杂的特征,但在实践中发现递归神经网络存在梯度爆炸和梯度消失的问题,这使得它面临着不能很好处理长距离历史记忆的问题。

鉴于此,确有必要发明一种基于深度学习的中文分词方法,以解决上述问题。



技术实现要素:

本发明的目的是提供一种基于深度学习的中文分词方法,该方法具有序列级别的分词能力。

为了实现上述目的,本发明采用如下技术方案:一种基于深度学习的中文分词方法,包括如下步骤:

s1,对大规模语料集d进行字面字频统计,基于连续词袋模型和层级归一化训练方法,将语料集d中的每个字初始化为字面向量,将获取得到的字面向量按索引保存到字典v中;

s2,将训练语料逐句转化为固定长度的向量,送入深度学习模型中,并对字典v中的字面向量进行精化更新,获取携带上下文语义的特征向量和包含字性特征的向量;

s3,对每个训练句,在逐字进行训练时,根据预设的最大词长切分出所有以当前目标字结尾的候选词,将精化后的特征向量融合成每一个候选词的词向量,递增的将候选词与先前的分词历史连接起来,利用集束搜索的方法进行动态分词。

作为本发明进一步改进的技术方案,步骤s1具体包括:

s11,提取每个汉字的基本特征,通过遍历语料集d进行字典v的构建,字典v面向训练语料记录字的字面、字频和对应的字嵌入向量;

s12,字典v基于字频构建一棵完全的huffman树,字典v中的字都处于树的叶子结点,通过辅助的hash表建立快速索引与查找机制;

s13,基于连续词袋模型和层级归一化的思想将语料集d中的每个字初始化为字面向量,并构造得出系统目标函数

其中,目标字ω为窗口中心,lω为从根结点到目标字ω的路径,dω为从根结点到目标字ω的编码,xω为目标字ω窗口内的上下文字面向量均值,为计算上下文字面向量均值xω在当前分支结点携带的参数值;

s14,定义训练以对路径结点的遍历为一个迭代周期,训练在一个迭代周期内以梯度对参数θ进行更迭,同时累积语义影响因子一个迭代周期结束后,更新目标字ω的窗口内的各个上下文环境字面向量,目标字ω的环境字面向量为:

其中,μ表示学习率。

作为本发明进一步改进的技术方案,步骤s2具体包括:

s21,对于当前序列时刻t,根据索引从字典v执行查找表操作,获取目标字ω的初始向量

s22,对目标字ω的窗口上下文,根据索引取出目标字ω窗口内上下文的初始向量1≤l≤w,w表示窗口宽度,使用门限组合神经网络方法,将窗口内的环境字向量表达为一个组合向量,记为

s23,对于当前序列时刻t,使用门限组合神经网络方法,依照步骤s22的方法计算得到前1~t-1时刻隐态的选择性历史输出同时计算t+1~n时刻隐态的选择性未来输出

s24,在当前序列时刻t,以目标字ω的初始向量与组合向量作为输入,分别送入到深度学习模型中,产生历史特征输出和未来特征输出

s25,对当前序列时刻t上的历史特征输出和未来特征输出进行线性组合形成ht,使用tanh激活函数产生网络输出将网络输出更新到字典v中,获得融入上下文语义的精化字向量

其中,w(o)∈rd*2d与偏置向量b(o)∈rd为各个当前序列时刻上的共享参数;

s26,使用训练集β逐句逐字查表获取融入上下文语义的精化字向量构造句子矩阵表示作为观态矩阵,使用viterbi算法展开迭代训练,定义句子得分公式,确定最佳的标注序列:

其中,ayi,yi+1为状态转移矩阵,输出的标注序列选择使用{bies}标记规则集,其中b表示是一个词的第一个字,i表示是一个词中间的字,e表示是一个词的最后一个字,s表示是单字成词的,将{bies}标记规则集与词性标注标签组合以得到字符序列中的最佳标签转移矩阵

作为本发明进一步改进的技术方案,门限组合神经网络方法包括如下步骤:

步骤1,定义有w个需要组合的字符向量,分别为v1,v2…vw,其中v1,v2…vw∈rd,定义权值矩阵w(r)∈rd*d和偏置向量b(r)∈rd为共享参数,定义重置门rl,通过重置门rl计算组合记忆的概率,重置门rl的计算公式为:

rl=σ(w(r)·vl+b(r))

其中,1≤l≤w;

步骤2,在字符组合中,使用重置门rl计算各个字符向量v1,v2…vw聚集成目标词所产生的语义特征语义特征的计算公式为:

其中,权值矩阵w(l)∈rd*d和偏置向量b(l)∈rd为共享参数;

步骤3,定义更新门zl(1≤l≤w+1)为d维的归一化向量,用于表达融合各个字符向量v1,v2…vw和语义特征的更新概率,更新门zl为:

其中,使用因子矩阵w(z)∈rd*d作为共享参数;

步骤4,利用更新门zl对字符向量v1,v2…vw和语义特征进行选择性的混合与组合处理,聚集成词且得到定长向量vw,其中vw∈rd,vw的计算公式为:

其中,1≤l≤w+1。

作为本发明进一步改进的技术方案,步骤s22具体包括:

s22.1定义重置门rl,计算对目标字ω的影响概率:

其中,1≤l≤w,权值矩阵w(r)∈rd*d和偏置向量b(r)∈rd为各个字符向量间的共享参数;

s22.2,利用重置门rl,计算窗口内各个字符向量对目标字ω的聚集影响的语义特征

其中,为目标字ω窗口内上下文的初始向量;

s22.3,定义更新门zl(1≤l≤w+1)为d维的归一化向量,用于表达融合各个字符向量v1,v2…vw和语义特征的更新概率,更新门zl为:

其中,因子矩阵w(z)∈rd*d为共享参数;

s22.4,利用更新门zl融合目标字ω窗口内上下文的初始向量和语义特征通过选择性的混合与组合处理,聚集得到组合向量

其中,1≤l≤w。

作为本发明进一步改进的技术方案,在步骤s24中,送入深度学习模型后包括如下步骤:

步骤a1,使用门限组合神经网络方法,执行对当前输入vt的窗口上下文环境内字符序列的组合计算,得到窗口上下文的组合向量,记为

步骤a2,使用门限组合神经网络方法,执行对当前序列时刻t之前所有历史隐态输出的组合计算,得到历史隐态输出,记为

步骤a3,在序列遍历的每一个当前序列时刻t上,定义一个重置门rt计算历史隐态输出对当前输入vt产生的记忆概率,重置门rt的计算公式为:

其中,权值矩阵w(r)∈rd*d与偏置向量b(r)∈rd为各个当前序列时刻上的共享参数;

步骤a4,在序列遍历的每一个当前序列时刻t上,对当前输入vt定义一个更新门zt用以计算在历史隐态输出的作用下,受窗口上下文的组合向量影响产生的更新概率,更新门zt的计算公式为:

其中,权值矩阵w(z)∈rd*d与偏置向量b(z)∈rd为各个当前序列时刻上的共享参数;

步骤a5,在序列遍历的每一个当前序列时刻t上,对当前输入vt通过重置门rt强化在历史隐态输出作用下受组合向量影响产生的能量值

其中,权值矩阵w(c)∈rd*d与偏置向量b(c)∈rd为各个当前序列时刻上的共享参数;

步骤a6,在序列遍历的每一个当前序列时刻t上,通过更新门zt计算出当前输入vt受历史隐态输出影响下的隐态输出ht,

其中,zt为更新门。

作为本发明进一步改进的技术方案,步骤s3具体包括:

s31,在每一个当前序列时刻t上,根据预设的最大词长切分出所有以当前目标字结尾的候选词,对于每一个候选词,查表获取候选词中各字的特征向量和对应的标签转移向量线性组合为字符向量vl;

其中,1≤l≤l,l为当前候选词中包含的字符数;

s32,使用门限组合网络方法,将候选词包含的字符向量vl融合为一个候选词向量

s33,将融合好的候选词向量选词向量与一个共享的权值向量参数u内积,计算得到一个词得分

s34,将候选词向量送入到深度学习模型中,经过编码获取当前候选词的历史特征,历史参照使用集束搜索算法,根据预设的集束宽度k,在句子前向遍历的每个当前序列时刻t上,始终记录存储得分较好的k个历史切分,其中切分句尾词的隐态输出为ht;

s35,在序列遍历的每一个当前序列时刻t上,计算出隐态输出ht;

s36,以产生的ht作为输入,使用tanh激活函数为t+1时刻可能产生的候选分词提供预测,预测值pt+1为:

pt+1=tanh(w(p)·ht+b(p))

其中,w(p)∈rd*d与偏置向量b(p)∈rd为各个当前序列时刻上的共享参数;

s37,将候选词向量输入到深度学习模型中,基于深度学习模型的输出ht计算获得对下一个词的预测pt+1,深度学习模型能够获取到之前整个分词历史中的记忆信息,计算一个序列的连接得分linkscore(yt+1):

linkscore(yt+1)=pt+1·yt+1;

s38,设置集束宽度k,在每一步取得分最高的k个结果保留,新的输入在保留的分割上继续操作,利用完整的分割历史,直接对分词结果建模,定义经过深度学习模型预测产生词序列y[1:m],切分的词序列得分函数构造为:

s39,将给定的字符序列xi的正确分词序列表示为yi,定义用于预测分段句子的结构化间隔损失来构造损失函数,反向更新参数。。

作为本发明进一步改进的技术方案,步骤s35具体包括:

s35.1,在序列遍历的每一个当前序列时刻t上,定义一个重置门rt,计算历史隐态输出对当前输入候选词向量产生的记忆概率:

其中,权值矩阵与偏置向量为各个当前序列时刻上的共享参数;

s35.2,在序列遍历的每一个当前序列时刻t上,对当前输入候选词向量定义一个更新门zt,计算在历史隐态输出的作用下产生的更新概率;

其中,权值矩阵与偏置向量为各个当前序列时刻上的共享参数;

s35.3,在序列遍历的每一个当前序列时刻t上,对当前输入候选词向量通过重置门rt强化在历史隐态输出作用下产生的能量值

其中,权值矩阵与偏置向量为各个当前序列时刻上的共享参数;

s35.4,在序列遍历的每一个当前序列时刻t上,通过更新门zt计算出当前输入候选词向量受历史隐态输出影响下的隐态输出ht:

作为本发明进一步改进的技术方案,步骤s39具体包括如下步骤:

s39.1,对于给定的训练句序列sen[1:n],经过模型预测产生词序列y[1:m],分词后的词序列得分函数为:

s39.2,训练采用最大间隔法,将给定的训练句序列sen[1:n]正确的分词序列表示为y(i),t,模型预测的分词序列表示为定义结构化间隔损失为:

其中,μ为衰减参数;

s39.3给定训练集β,加入一个2范数项的损失函数,通过损失函数,反向更新参数:

其中:

本发明的有益效果是:本发明通过初始化每个训练字的字面向量,使用深度学习模型抓取训练字携带的历史特征、未来特征和字性特征,基于门限组合神经网络方法精化分布式向量以表征相应的候选词,将中文分词重新形式化为直接分割学习任务,直接评估不同分词句子的相对可能性,然后搜索分数最高的分词序列,从而获得更多序列级别的分词能力。

附图说明

图1为本发明基于深度学习的中文分词方法的流程示意图。

图2为本发明中门限组合神经网络方法的架构示意图。

图3为本发明中改进型ltsm模型的架构示意图。

图4为本发明中crf层向量精化架构图。

图5为本发明中基于动态规划的集束搜索算法示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施方式对本发明进行详细描述。

如图1所示,一种基于深度学习的中文分词方法,包括如下步骤:

s1,对大规模语料集d进行字面字频统计,基于连续词袋模型(continuousbag-of-words,cbow)和层级归一化(hierarchicalsoftmax,hs)训练方法,将语料集d中的每个字初始化为字面向量,将获取得到的字面向量按索引保存到字典v中;

s2,将训练语料逐句转化为固定长度的向量,送入深度学习模型中,在此,深度学习模型选择改进型lstm模型,并对字典v中的字面向量进行精化更新,获取携带上下文语义的特征向量和包含字性特征的向量;

s3,对每个训练句,在逐字进行训练时,根据预设的最大词长切分出所有以当前目标字结尾的候选词,将精化后的特征向量融合成每一个候选词的词向量,递增的将候选词与先前的分词历史连接起来,利用集束搜索的方法进行动态分词。

其中,步骤s1具体包括以下步骤:

s11,提取每个汉字的基本特征,通过遍历语料集d进行字典v的构建,字典v面向训练语料记录字的字面、字频和对应的字嵌入向量;

s12,字典v基于字频构建一棵完全的huffman树,字典v中的字都处于树的叶子结点,通过辅助的hash表建立快速索引与查找机制;

s13,基于连续词袋模型和层级归一化的思想将语料集d中的每个字初始化为字面向量,并构造得出系统目标函数

其中,目标字ω为窗口中心,lω为从根结点到目标字ω的路径,dω为从根结点到目标字ω的编码,xω为目标字ω窗口内的上下文字面向量均值,为计算上下文字面向量均值xω在当前分支结点携带的参数值;

s14,定义训练以对路径结点的遍历为一个迭代周期,训练在一个迭代周期内以梯度对参数θ进行更迭,同时累积语义影响因子一个迭代周期结束后,更新目标字ω的窗口内的各个上下文环境字面向量,目标字ω的环境字面向量为:

其中,μ表示学习率,训练中依据梯度变化率做出适当调整。

其中,步骤s13具体为:将语料集d中的语料按句输入,以一个动态可变窗口对训练句s做顺序遍历,窗口中心为目标字ω,窗口内的其它字构成了目标字ω的上下文环境context(ω),对于每一个训练样本(ω|context(ω)),都在huffman树中预统计了从根结点到目标字ω的路径lω和编码dω,训练以对路径结点的遍历为一个迭代周期,以目标字ω窗口内的上下文字面向量均值xω为输入,以如下式所示的sigmoid激活函数,以梯度下降法更迭参数θ,计算上下文环境context(ω)对目标字ω的语义影响:

遍历中,路径上的每个分支结点都视为一个隐式二分类器,通过判定其huffman编码中的每一个分量的取值是1(左子树结点)或者0(右子树结点),计算上下文字面向量均值xω在当前分支结点携带的参数值的作用下对目标字ω语义的影响因子,由此构造得出系统目标函数

其中,目标字ω为窗口中心,lω为从根结点到目标字ω的路径,dω为从根结点到目标字ω的编码,xω为以目标字ω窗口内的上下文字面向量均值。

步骤s2具体包括如下步骤:

s21,对于当前序列时刻t,根据索引从字典v执行查找表操作,获取目标字ω的初始向量

s22,对目标字ω的窗口上下文,根据索引取出目标字ω上下文窗口内的初始向量1≤l≤w,w表示窗口宽度,使用门限组合神经网络方法,将窗口内的环境字向量表达为一个组合向量,记为

s23,对于当前序列时刻t,使用门限组合神经网络方法,依照步骤s22的方法计算得到前1~t-1时刻隐态的选择性历史输出作为前向改进型ltsm的输入;同时计算t+1~n时刻隐态的选择性未来输出作为后向改进型ltsm的输入。

s24,在当前序列时刻t,以目标字ω的初始向量与组合向量作为输入,分别送入到改进型lstm模型构建的bi-lstm架构中展开训练,产生历史特征输出和未来特征输出

s25,对当前序列时刻t上的历史特征输出和未来特征输出进行线性组合形成ht,使用tanh激活函数产生网络输出将网络输出更新到字典v中,获得融入上下文语义的精化字向量

其中,w(o)∈rd*2d与偏置向量b(o)∈rd为各个当前序列时刻上的共享参数;

s26,使用训练集β逐句逐字查表获取融入上下文语义的精化字向量送入到crf层构造句子矩阵表示作为观态矩阵,使用viterbi算法展开迭代训练,定义句子得分公式,确定最佳的标注序列:

其中,ayi,yi+1为状态转移矩阵;

输出的标注序列中的字位标签选择使用{bies}标记规则集,其中b表示是一个词的第一个字,i表示是一个词中间的字,e表示是一个词的最后一个字,s表示是单字成词的,将{bies}标记规则集与词性标注标签组合(例如s-v表示单字成词的动词)以得到字符序列中的最佳标签转移矩阵以最佳标签转移矩阵作为后续分词的字性特征依据,标注训练句中字的最佳标签选择。

其中,步骤s22中获得组合向量的步骤具体如下:

s22.1定义重置门rl,计算对目标字ω的影响概率:

其中,1≤l≤w,权值矩阵w(r)∈rd*d和偏置向量b(r)∈rd为各个字符向量间的共享参数;

s22.2,利用重置门rl,计算窗口内各个字符向量对目标字ω的聚集影响的语义特征

其中,为目标字ω窗口内上下文的初始向量。

s22.3,定义更新门zl(1≤l≤w+1)为d维的归一化向量,用于表达融合各个字符向量v1,v2…vw和语义特征的更新概率,更新门zl为:

其中,为目标字ω窗口内上下文的初始向量,因子矩阵w(z)∈rd*d为共享参数;

s22.4,利用更新门zl融合目标字ω窗口内上下文的初始向量和语义特征通过选择性的混合与组合处理,聚集得到组合向量

其中,1≤l≤w。

如图2所示,步骤s22和s23中所提到的门限组合神经网络方法包括如下步骤:

步骤1,定义字符组中有w个需要组合的字符向量,分别为v1,v2…vw,其中v1,v2…vw∈rd,定义权值矩阵w(r)∈rd*d和偏置向量b(r)∈rd为共享参数,定义重置门rl,通过重置门rl计算组合记忆的概率,重置门rl的计算公式为:

rl=σ(w(r)·vl+b(r))

其中,1≤l≤w;

步骤2,在字符组合中,使用重置门rl计算各个字符向量v1,v2…vw聚集成目标词所产生的语义特征语义特征的计算公式为:

其中,权值矩阵w(l)∈rd*d和偏置向量b(l)∈rd为共享参数;

步骤3,定义更新门zl(1≤l≤w+1)为d维的归一化向量,用于表达融合各个字符向量v1,v2…vw和语义特征的更新概率,更新门zl为:

其中,使用因子矩阵w(z)∈rd*d作为共享参数;

步骤4,利用更新门zl对字符向量v1,v2…vw和语义特征进行选择性的混合与组合处理,聚集成词且得到定长向量vw,其中vw∈rd,vw的计算公式为:

其中,1≤l≤w+1。

如图3所示,步骤s24中所说的改进型lstm模型,用于在序列标注问题的顺序遍历中抓取历史记忆信息,包括如下步骤:

步骤a1,使用门限组合神经网络方法,执行对当前输入vt的窗口上下文环境内字符序列的组合计算,得到窗口上下文的组合向量,记为

步骤a2,使用门限组合神经网络方法,执行对当前序列时刻t之前所有历史隐态输出的组合计算,得到历史隐态输出,记为

步骤a3,在序列遍历的每一个当前序列时刻t上,定义一个重置门rt计算历史隐态输出对当前输入vt产生的记忆概率,重置门rt的计算公式为:

其中,权值矩阵w(r)∈rd*d与偏置向量b(r)∈rd为各个当前序列时刻上的共享参数;

步骤a4,在序列遍历的每一个当前序列时刻t上,对当前输入vt定义一个更新门zt用以计算在历史隐态输出的作用下,受组合向量影响产生的更新概率,更新门zt的计算公式为:

其中,权值矩阵w(z)∈rd*d与偏置向量b(z)∈rd为各个当前序列时刻上的共享参数;

步骤a5,在序列遍历的每一个当前序列时刻t上,对当前输入vt通过重置门rt强化在历史隐态输出作用下受组合向量影响产生的能量值

其中,权值矩阵w(c)∈rd*d与偏置向量b(c)∈rd为各个当前序列时刻上的共享参数;

步骤a6,在序列遍历的每一个当前序列时刻t上,通过更新门zt计算出当前输入vt受历史隐态输出影响下的隐态输出ht,

另外,步骤s24中,在前向改进型lstm过程中,首先,定义一个重置门计算历史隐态输出对当前输入产生的记忆概率,重置门为:

其中,权值矩阵w(r)∈rd*d与偏置向量b(r)∈rd为各个当前序列时刻上的共享参数;

然后,定义一个更新门计算在历史隐态输出的作用下,受组合向量影响产生的更新概率,更新门为:

其中,权值矩阵w(z)∈rd*d与偏置向量b(z)∈rd为各个当前序列时刻上的共享参数;

接着,对当前输入的目标字通过重置门强化在历史隐态输出作用下受组合向量影响产生的能量值

其中,权值矩阵w(c)∈rd*d与偏置向量b(c)∈rd为各个当前序列时刻上的共享参数;

最后,更新门主要决定了到底有多少信息需要遗忘和保留,由此计算出当前输入目标字受历史隐态输出和窗口上下文影响下的隐态输出

后向改进型lstm过程与前向类似,首先,定义一个重置门计算未来隐态输出对当前输入产生的预测概率,重置门为:

其中,权值矩阵w(r)∈rd*d与偏置向量b(r)∈rd为各个当前序列时刻上的共享参数;

然后,定义一个更新门计算在来来隐态输出的作用下,受组合向量影响产生的更新概率,更新门为:

其中,权值矩阵w(z)∈rd*d与偏置向量b(z)∈rd为各个当前序列时刻上的共享参数;

接着,对当前输入的目标字通过重置门强化在未来预测作用下受组合向量影响产生的能量值

其中,权值矩阵w(c)∈rd*d与偏置向量b(c)∈rd为各个当前序列时刻上的共享参数;

最后,更新门主要决定了到底有多少信息需要遗忘和保留,由此计算出当前输入目标字受未来预测和窗口上下文影响下的隐态输出

步骤s3具体包括:

s31,在每一个当前序列时刻t上,根据预设的最大词长切分出所有以当前目标字结尾的候选词,对于每一个候选词,查表获取候选词中各字融入了上下文语义的特征向量和对应的标签转移向量线性组合为字符向量vl;

其中,1≤l≤l,l为当前候选词中包含的字符数;

s32,使用门限组合网络方法,将候选词包含的字符向量vl融合为一个候选词向量

s33,将融合好的候选词向量与一个共享的权值向量参数u内积,计算得到一个词得分

s34,将候选词向量送入到改进型lstm模型中,经过编码获取当前候选词的历史特征,历史参照使用集束搜索算法,根据预设的集束宽度k,在句子前向遍历的每个当前序列时刻t上,始终记录存储得分较好的k个历史切分,其中切分句尾词的隐态输出为ht;

s35,在序列遍历的每一个当前序列时刻t上,计算出隐态输出ht;

s36,以产生的ht作为输入,使用tanh激活函数为t+1时刻可能产生的候选分词提供预测,预测值pt+1为:

pt+1=tanh(w(p)·ht+b(p))

其中,w(p)∈rd*d与偏置向量b(p)∈rd为各个当前序列时刻上的共享参数;

s37,将候选词向量输入到改进型lstm模型中,基于改进型lstm模型的输出ht计算获得对下一个词的预测pt+1,改进型lstm模型能够获取到之前整个分词历史中的记忆信息,计算一个序列的连接得分linkscore(yt+1):

linkscore(yt+1)=pt+1·yt+1;

s38,设置集束宽度k,在每一步取得分最高的k个结果保留,新的输入在保留的分割上继续操作,利用完整的分割历史,直接对分词结果建模,定义经过改进型lstm模型预测产生词序列y[1:m],切分的词序列得分函数构造为:

s39,将给定的字符序列xi的正确分词序列表示为yi,定义用于预测分段句子的结构化间隔损失。

其中,步骤s35具体包括:

s35.1,在序列遍历的每一个当前序列时刻t上,定义一个重置门rt,计算历史隐态输出对当前输入候选词向量产生的记忆概率:

其中,权值矩阵与偏置向量为各个当前序列时刻上的共享参数;

s35.2,在序列遍历的每一个当前序列时刻t上,对当前输入候选词向量定义一个更新门zt,计算在历史隐态输出的作用下产生的更新概率;

其中,权值矩阵与偏置向量为各个当前序列时刻上的共享参数;

s35.3,在序列遍历的每一个当前序列时刻t上,对当前输入候选词向量通过重置门rt强化在历史隐态输出作用下产生的能量值

其中,权值矩阵与偏置向量为各个当前序列时刻上的共享参数;

s35.4,在序列遍历的每一个当前序列时刻t上,通过更新门zt计算出当前输入候选词向量受历史隐态输出影响下的隐态输出ht:

步骤s39具体包括如下步骤:

s39.1,对于给定的训练句序列sen[1:n],经过模型预测产生词序列y[1:m],分词后的词序列得分函数为:

s39.2,训练采用最大间隔法,将给定的训练句序列sen[1:n]正确的分词序列表示为y(i),t,模型预测的分词序列表示为定义结构化间隔损失为:

其中,μ为衰减参数,用于调节损失函数值;

s39.3给定训练集β,加入一个2范数项的损失函数,通过损失函数,反向更新参数:

其中:

实施例1

一种基于深度学习的中文分词方法,包括如下步骤:

步骤1:对大规模语料集d进行字面字频统计,基于cbow模型和hs训练方法,将语料集d中的每个字初始化为基本分布式字面向量,将获取到的字面向量按索引保存到字典v中。

步骤2:将训练语料逐句转化为固定长度的向量,送入改进的双向lstm模型中,通过训练该双向lstm模型中的参数,对字典v中字符级别的字面向量进行精化更新,获取携带上下文语义的特征向量和包含字性特征的向量。

步骤3:对每个训练句,在逐字进行训练时,使用全切分的思想在最大词长范围内切分出所有以当前字结尾的候选词,将精化后的字符级别特征向量融合成每一个候选词的词向量,递增的将候选词与先前的分词历史连接起来,利用集束搜索的方法进行动态分词。

具体的,第一步提取每个汉字的基本特征,通过遍历大规模语料集d对语料集d中汉字进行字典v的构建,字典v面向训练语料记录了汉字的字面、字频和对应的字嵌入向量表示。对字典v基于字频构建起一棵完全的huffman树,字典v中的字都处于树的叶子结点,并通过辅助的hash表建立快速索引与查找机制。字面向量的训练使用cbow模型和hs训练方法构造了如下式所示的系统目标函数:

将语料集d中的训练语料按句输入,以一个动态可变窗口对训练句s做顺序遍历,窗口中心为目标字ω,训练在一个迭代周期内以梯度对参数θ进行更迭,同时累积语义影响因子一个迭代周期结束后,以下式更新目标字ω的窗口内的各个上下文环境的字面向量:

其中μ表示学习率,训练中依据梯度变化率做出适当调整。

第二步对每个输入的训练句,逐字进行训练,根据索引从字典v中取出对应的初始向量,记为训练中向量维度d取50,并根据索引取出对应上下文窗口内字向量,并将上下文窗口内字向量使用门限组合神经网络组合成组合向量,记为表达窗口上下文对目标词的影响。

将字面向量与窗口上下文组合向量输入到改进的bi-lstm模型中,前向lstm的输入是序列从左往右传递,后向lstm的输入是序列从右往左的传递。最后,将两个隐藏层单元输出进行拼接,作为整体网络隐藏层的输出。

输出标签t,其词位标签选择使用{bies}标记规则集,其中b表示是一个词的第一个字,m表示是一个词中间的字,e表示是一个词的最后一个字,而s表示是单字成词的,将s与词性标注标签组合,例如s-v表示单字成词的动词,词性标签共13种,与词位标签组合标签集共52种。将隐藏层输出进行映射变换,并进行非线性变换作为输出。

oi=tanh(wo·[hi1,hi2]+bo)

定义句子得分公式为:

其中,θ为模型参数集合,ayi,yi+1是转移状态矩阵,n是训练句的字数。

在解码过程中使用动态规划算法,最终选择的标注序列为计算得分最高的序列:

其中yx为所有可能的标注序列。使用softmax归一化所有标签,得分被计算为一个条件标签路径概率,对条件标签路径概率取对数,得到有效路径的条件概率似然函数,反向训练更新参数和字面向量时,网络通过最大化句子标签的似然函数来训练参数:

模型输出送入crf层使用viterbi算法来确定最佳的标注序列,由转移状态矩阵与网络输出组成句子标签分数,通过最大化句子标签的似然函数来反向更新参数和字面向量训练好的字面向量就是我们需要提取的携带上下文信息的特征向量,记为在状态转移矩阵中,每一行代表了前一个字所有可能的标注转移到当前字某一字性标注的可能性,提取最佳标注序列对应的转移向量作为携带了字性特征的特征向量,记作

第三步为取词操作,逐字遍历第二步标注的训练句集合,对于训练句中每个字,通过查找表操作提取字的向量根据预设的最大词长(比如词长取值为4),使用前向全切分的思想,在最大词长范围内切分出所有以当前字结尾的候选词,使用门限组合神经网络gcnn,基于候选词将字符级别向量融合表示为词级别向量

其中,l为当前候选词中的字符数;

将融合好的词级别向量与一个共享的权值向量参数u内积,计算出当前候选词得分:

将词级别向量输入到改进型lstm模型中,经过编码获得当前候选词的历史特征表示:

由于模型使用动态规划基于最大词长进行全切分,所有可能的切分标注结果数是字符序列的长度的指数级,使得计算所有可能结果的得分是不可能的。另外由于计算当前候选分词表示引入了候选词的历史信息,传统的viterbi算法不再是最佳选择,为了在实际应用中更加发挥作用,模型采用集束算法搜索候选词合适的前一时刻的隐层输出处hj-1进行解码。具体的,集束搜索算法求解优化模型的详细过程如下:

上述算法中,遍历训练句的每一个t时刻产生的每一个候选词,通过改进型lstm模型都融入了与其相匹配的分词历史记忆,并为t+1时刻可能产生的候选分词提供预测:

pt+1=tanh(wpht+bp)

由此计算出t+1时刻的连接得分;

linkscore(yt+1)=pt+1·yt+1

并通过预设的集束宽度k,在每一步的动态前向中始终保留k个得分较高的句子切分,在此过程中,既有效地利用了完整的切分历史,又预测了未来的可能切分,使得模型具有了句子级别的判别能力。假设对于给定的训练句序列sen[1:n],经过模型预测产生了某个词序列y[1:m],此分词后的词序列得分函数为:

训练采用最大间隔法(maxmargincriterion),对于给定的训练句序列sen[1:n],其正确的分词序列表示为y(i),t,模型预测的分词序列表示为定义结构化间隔损失:

其中μ为衰减参数,用于调节损失函数值,起到平滑作用。给定训练集β,加入一个2范数项的损失函数,通过损失函数,反向更新参数:

其中:

模型优化采用adagard算法,并使用dropout正则化技术防止出现过拟合。

在本发明中,图4为字符级bi-lstm-crf向量精化架构图;图5为基于动态规划的集束搜索算法示意图。

综上所述,本发明具有如下优点:

(1)无需工程化的特征提取,不需要过多先验知识的情况下就可以抓取到数据更加抽象的本质特征,通过分布式向量来对文本进行表征;

(2)对字面向量精化的过程使用改进bi-lstm模型使得字符级别向量能够同时获取前文以及后续文中的信息,并且基于注意力机制的方法能够更好地获取远距离的上下文信息;

(3)在字面向量精化过程中获取字面向量的字性特征,利用字性信息辅助分词提高分词的准确率;

(4)在精化字向量训练过程中加入目标字周围窗口内字的语义信息,增强了对目标字向量特征的提取;

(5)基于门控卷积神经网络的融合字向量方法中,在计算时使用共享参数矩阵使得需要训练的参数矩阵维度得到降低,提升了模型计算效率,并且使用门控机制能够更加合理对字符向量进行融合;

(6)集束搜索算法:在每一步取得分最高的k个结果保留,接下来新切分出的候选词在保留的这些分割上继续操作,相比于viterbi算法能够省下很多解码时间,并且能够利用完整的分割历史,直接对分词结果建模。

以上实施例仅用于说明本发明而并非限制本发明所描述的技术方案,对本说明书的理解应该以所属技术领域的技术人员为基础,尽管本说明书参照上述的实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,所属技术领域的技术人员仍然可以对本发明进行修改或者等同替换,而一切不脱离本发明的精神和范围的技术方案及其改进,均应涵盖在本发明的权利要求范围内。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 一种文本形近字的检错与校对方...
  • 一种语义训练方法、短文本中多...
  • 说话继续判定方法、说话继续判...
  • 权利要求书的结构组构装置的制...
  • 语意分析装置、方法及其电脑存...
  • 一种纸上手工阅卷电脑统分的方...
  • 食品数据处理方法及装置与流程
  • 一种通过文档自动化生成配置文...
  • 一种提高准确性和速度的繁体和...
  • 基于汉语含义的汉语编码处理方...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

代做工资流水公司曲靖开工资代付流水宜春打印公司流水郑州工资流水账单开具临沂打工作收入证明潮州银行流水账价格潮州代做银行流水账长春代开工资证明扬州制作薪资银行流水南通自存流水代做长沙流水单多少钱新乡办理贷款工资流水重庆查询背调工资流水打工资流水单北京工资流水费用台州个人流水价格武汉代办工资流水app截图湖州查询工资流水app截图泰州薪资流水费用桂林流水打印淄博公司流水费用南通工资银行流水价格做个人银行流水广州车贷流水遵义流水账单代做海口入职银行流水打印重庆打印房贷收入证明苏州对公银行流水公司金华打自存银行流水大连转账流水打印湛江车贷银行流水 图片香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化