基于层叠式神经网络的中文模糊限制信息范围检测方法与流程

文档序号:11063577阅读:412来源:国知局
基于层叠式神经网络的中文模糊限制信息范围检测方法与制造工艺

本发明涉及一种基于长短时记忆网络(Long Short Term Memory networks,简称LSTM)和卷积神经网络(Convolutional Neural Network,简称CNN)相结合的层叠式深度学习模型(LSTM-CNN)的中文模糊限制信息范围检测系统。涉及专利分类号G06计算;推算;计数G06F电数字数据处理G06F17/00特别适用于特定功能的数字计算设备或数据处理设备或数据处理方法。



背景技术:

模糊限制语这一术语最早由G.Lakoff提出,意指“把事情弄得模模糊糊的词语”。由模糊限制语引导的信息称为模糊限制信息。模糊限制信息的检测是为了区分不确定信息和事实,避免模糊信息的干扰,更好的识别和挖掘事实信息。模糊限制信息范围检测在英文方面的研究已经取得了较好的成果,然而中文模糊限制信息范围检测的研究还处于起步阶段。本发明的主要研究是通过在长短时记忆网络之上叠加不同窗口大小的卷积神经网络的方法,进行中文模糊限制信息的范围识别,能够在中文模糊限制信息检测中有效地挖掘深层语义信息。

传统的主流自然语言处理方法是基于统计机器学习的方法,所使用的特征大多数是基于one-hot形式(0-1向量)表示的各种组合特征,这种离散的特征表示会产生数据稀疏,不能充分捕获模糊限制信息范围内部词语间的深层语义信息。近年来,随着深度学习的发展,基于分布式假设表示词语和短语的语义信息在情感分类,关系抽取等自然语言处理任务中已经取得了巨大的成功。递归神经网络因为适合于处理文本序列,例如LSTM能够学习到长期依赖关系,在自动问答、机器翻译等问题上效果非常好。而卷积神经网络能够挖掘出句子内部的深层语义特征,因此两者都被广泛应用在很多自然语言处理的任务上。但是利用长短时记忆网络和卷积神经网络相结合的方法(LSTM-CNN)来进行模糊限制信息范围检测尚未得到探索和应用。Zhou等(Zhou H,Xu J,Yang Y,et al.Chinese Hedge Scope Detection Based on Structure and Semantic Information[M]//Chinese Computational Linguistics and Natural Language Processing Based on Naturally Annotated Big Data.2016.)利用LSTM捕捉句子的语义信息,进行中文模糊限制信息范围检测。但他们并没有探究多种神经网络的方法来有效捕捉模糊限制信息的深层语义信息。

模糊限制信息范围检测任务比较复杂,具有依赖于语义的特点,单纯基于传统的统计机器学习模型,难以挖掘语言内部的深层语义信息。因此,需要探索如何利用深度学习模型,挖掘语言内部深层的语义信息,提高中文模糊限制信息检测性能。



技术实现要素:

鉴于现有方法存在的问题,本发明公开的一种基于层叠式神经网络的中文模糊限制信息范围检测方法,包括如下步骤:

—对待分析实验语料中含有模糊限制语的句子,进行分词处理;

—使用句法解析器对分词处理后的句子进行句法解析,得到所述句子的短语结构树;通过基于短语的候选样例筛选策略找到候选短语,进而确定候选短语的边界词,包括左边界词和右边界词;

—使用抽取窗口分别抽取所述的左、右边界词和模糊限制语的上下文信息;

—将左、右边界词和模糊限制语的上下文信息作为候选样例词序列并映射到实数向量空间,转换为词向量形式;输入基于长短时记忆网络LSTM和卷积神经网络CNN相结合的层叠式学习模型LSTM-CNN进行学习,得到边界分类器;

—使用所述的边界分类器对测试数据进行分类,得到左、右边界的分类结果,完成中文模糊限制信息范围的检测。

作为优选的实施方式,所述的学习至少包括如下步骤:

—通过长短时记忆网络LSTM获得每个时间步的隐层表示;

—通过卷积神经网络CNN对所述的各个时间步的隐层表示进行卷积和池化,捕获上下文的有效信息,得到所述的边界分类器。

作为优选的实施方式,所述的候选样例筛选策略为:

除了模糊限制语的祖先节点,将短语树上所有父亲节点包含模糊限制语的短语和模糊限制语作为模糊限制信息的边界候选短语;

所述的在短语结构树中,祖先短语为当前模糊限制语节点的父亲节点、祖父节及其它上一层级的节点,这些节点均带有短语类型信息,称为祖先短语。

更进一步的,选定左边界以这个短语最左边的词作为左边界候选词,右边界以这个短语最右边的词作为右边界候选词。

作为优选的实施方式,将左边界上下文信息和模糊限制语上下文信息组合成为左边界候候选样例词序列,将右边界上下文信息和模糊限制语上下文信息组合成为右边界候候选样例词序列。

作为优选的实施方式,还具有后处理步骤确保每个句子只有一个左边界和一个右边界,后处理规则如下:

—如果分类器识别出一个F-scope,一个L-scope,则范围开始于标注为F-scope的词,结束于标注为L-scope的词;

—如果分类器没有识别出F-scope,识别出一个L-scope,则模糊限制信息范围开始于模糊限制语,结束于标注为L-scope的词;

—如果分类器识别出一个F-scope,没有识别出L-scope,则模糊限制信息范围开始于标注为F-scope的词,结束于句子的最后一个词(除了句尾标点);

—如果分类器识别出一个F-scope,多个L-scope,则模糊限制信息范围开始于标注为F-scope的词,结束于最后一个标注为L-scope的词;

—如果分类器识别出多个F-scope,一个L-scope,则模糊限制信息范围开始于第一个标注为F-scope的词,结束于标注为L-scope的词。

作为优选的实施方式,所述的层叠式学习模型LSTM-CNN包括:

向量表示层:通过预训练的词向量矩阵/字典,将所述的候选样例词序列中的每一个词映射成为一个d维的向量形成词向量序列x={x1,x2,...,xi,...,xn},其中xi表示词序列中的第i个词wi映射而成的d维的词向量

LSTM层:该层即长短时记忆网络层,该层通过三个门来控制信息的保存、记忆和更新,分别为忘记门(forget gate),输入门(input gate)和输出门(outputgate);

设W是转移矩阵,b代表一个偏置,x为词向量序列,h为LSTM单元的隐层表示,c为LSTM记忆单元的值,σ是sigmoid激活函数。LSTM单元的更新和记忆过程如下:

首先,决定从细胞状态中丢弃何种信息,由所述的忘记门完成:

ft=σ(Wxf·xt+Whf·ht-1+bf)

然后确定何种新信息保存到细胞状态中,通过所述的输入门完成:

it=σ(Wxi·xt+Whi·ht-1+bi)

之后通过所述的忘记门和输入门得到的信息来产生对细胞状态的更新:

最后,、根据当前的细胞状态来获得每个时间步的隐层表示:

ot=σ(Wxo·xt+Who·ht-1+bo)

ht=ot·tanh(ct)

基于LSTM模型得到的各个时间步的隐层表示,将作为下面卷积层的输入,用于进行卷积操作。

卷积层

该层对于某个时刻的窗口,通过神经网络的非线性变换,将这个窗口内的输入值转换为某个特征值ci,随着窗口不断往后移动,这个filter对应的特征值ci不断产生,最终得到这个filter的特征向量(feature map);一个特征值ci由一个窗口内的多个时间步的隐层表示hi:i+j-1产生,其卷积的公式如下所示:

ci=f(w·xi:i+j-1+b)

w是卷积的矩阵,b是代表一个偏置,j是窗口大小;f是一个非线性的激活函数,双曲正切函数;filter被作用于移动窗口内的LSTM隐层表示{h1:j,h2:j+1,...,hn-j+1:n},产生一个特征向量(feature map):

c=[c1,c2,...,cn-j+1]

其中

池化层

针对每种不同的窗口,我们将得到的输出特征向量feature map c输入到最大池化层(max pooling层)进行降维操作。获取其中的最大值作为特征,得到每种窗口的最大池化结果其中m代表filter的个数。对于某个filter抽取到的若干特征值,只取其中最大的那个值作为保留值,其它特征值全部抛弃,通过消除非最大值来减少下一层的计算量;

语义向量表示层

将上一层3种不同窗口的最大池化结果进行拼接,得到深层语义向量表示用于Softmax层进行分类;

Softmax层

将语义向量表示作为Softmax层的输入进行分类,得到最终的边界分类结果。

附图说明

为了更清楚的说明本发明的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明方法的基本流程图;

图2是本发明实施例中实验语料的例句;

图3是本发明图2所示例句经过句法解析后得到的短语结构树示意图;

图4是本发明层叠式神经网络的LSTM-CNN模型图。

具体实施方式

为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

如图1-4所示,本发明使用Zhou等采用的中文模糊限制信息范围语料(Zhou H,Xu J,Yang Y,et al.Chinese Hedge Scope Detection Based on Structure and Semantic Information//Chinese Computational Linguistics and Natural Language Processing Based on Naturally Annotated Big Data.2016.),该语料包含生物医学文献9385句,我们将其随机分成5份,选取其中的四份共7510句作为训练语料,剩余的1875句作为测试语料。

下面结合附图1和技术方案,进一步描述本发明的具体步骤:

步骤一:对实验语料进行预处理。使用Stanford-segmenter工具包(http://nlp.stanford.edu/software/segmenter.shtml)进行中文分词。

步骤二:首先,对分词之后的语料使用Stanford-parser句法解析器(http://nlp.stanford.edu/software/lex-parser.shtml)进行句法解析得到句子的短语结构树,然后基于短语的候选样例筛选策略(除了模糊限制语的祖先节点,将短语树上所有父亲节点包含模糊限制语的短语和模糊限制语作为模糊限制信息的边界候选短语)找出候选短语并确定候选短语的边界词。

考虑到通过筛选策略得到的候选短语在很大程度上不是一个词,而是多个词的组合,我们这里规定左边界以这个短语最左边的词作为左边界候选词,右边界以这个短语最右边的词作为右边界候选词。

图2展示的是语料中一个包含模糊限制语的句子的标注格式和详细内容。

在这个句子中,“<ccue>”和“</ccue>”之间标注的是模糊限制语“可能”。“<scope>”和“</scope>”之间标注了模糊限制语“可能”的控制范围,即“PCAF可能是一种HCC的抑癌因子”。

图2语句结构对应的短语结构树如图3所示,其中模糊限制语为“可能”。以左边界为例,可以得到该模糊限制语的左边界候选短语为“NP11”,“VV31”,“NP61”,以及模糊限制语本身“ADVP71”。

将左边界候选短语的最左边的词作为左边界候选词,得到左边界候选词“上述”、“提示”、“PCAF”和“可能”。以“提示”作为实施例,得到候选边界词的上下文词序列和模糊限制语的上下文词序列。

LSTM-CNN的输入序列如公式(1)、(2)所示:

xcandidate={实验,数据,提示,PCAF,可能} (1)

xhedge={提示,PCA,可能,是,一} (2)

步骤三:抽取左、右边界词和模糊限制语的上下文信息,窗口大小为(-2,+2)。将左边界上下文信息和模糊限制语上下文信息组合成为左边界候候选样例词序列,将右边界上下文信息和模糊限制语上下文信息组合成为右边界候候选样例词序列。

步骤四:使用Google开发的Word2Vec工具包(https://code.google.com/p/word2vec/)训练词向量。将左、右边界词序列映射到实数向量空间,即将左、右边界词序列表示成词向量的形式,

然后通过LSTM学习边界候选词上下文信息,以及边界候选词与模糊限制语之间的语义信息,获得每个时间步的隐层表示。

再基于CNN对各个时间步的隐层表示进行卷积和池化,捕获上下文的有效信息,得到语义向量表示。

最后将语义向量表示传入Softmax层中进行分类,得到左边界分类器和右边界分类器。

利用训练获得的分类器对测试数据进行分类,得到左、右边界的分类结果。

在词向量生成过程中,我们训练的词向量大小为100维,窗口大小为5,训练使用Skip-gram模型,其他参数均采用默认参数。训练词向量使用的语料是搜狗实验室提供的关于搜狐新闻上2012年6月到7月的新闻语料(http://www.datatang.com/data/list/s04-r020-t01-c03-la01-p3),数据大小为1.65GB。

模型的主要参数有:LSTM输出维度100,特征抽取器(filter)的个数为100,窗口的大小分别是2、3、5,词向量的维数为100维。

左、右边界的性能评测采用准确率(P),召回率(R),调和平均值(F值)进行评价。评价计算的公式如下所示:

其中TP代表模型预测为正例的正样本个数,FP表示模型预测为正例的负样本个数,FN表示模型预测为负例的正样本个数。

步骤五:将左、右边界分类器的结果进行后处理,合并成最终的句子级别的结果。模糊限制信息范围是一段连续的字符串,即每个模糊限制语只有唯一的一个左边界、一个右边界。然而,范围检测结果并不能确保为每段模糊限制信息只检测出一个左边界和一个右边界,即检测的边界是一段连续的字符串。因此,为了建立完整的模糊限制信息序列,我们采用后处理规则来确保每个句子只有一个左边界和一个右边界。

本方法用到的关键后处理规则如下:

(1)如果分类器识别出一个F-scope,一个L-scope,则范围开始于标注为F-scope的词,结束于标注为L-scope的词。

(2)如果分类器没有识别出F-scope,识别出一个L-scope,则模糊限制信息范围开始于模糊限制语,结束于标注为L-scope的词。

(3)如果分类器识别出一个F-scope,没有识别出L-scope,则模糊限制信息范围开始于标注为F-scope的词,结束于句子的最后一个词(除了句尾标点)。

(4)如果分类器识别出一个F-scope,多个L-scope,则模糊限制信息范围开始于标注为F-scope的词,结束于最后一个标注为L-scope的词。

(5)如果分类器识别出多个F-scope,一个L-scope,则模糊限制信息范围开始于第一个标注为F-scope的词,结束于标注为L-scope的词。

对左、右边界分类器的结果使用实施过程中的后处理规则,最终得到一段连续的模糊限制信息范围并评价系统的性能。评价指标为句子级别的平均值(Sentence-level F值),计算过程如公式(6)所示:

其中#system_correct为分类正确的句子数,#system_total为测试语料总的句子数。

以下部分是LSTM-CNN模型的介绍:

如图4所示,我们的LSTM-CNN模型主要包括以下六个部分,向量表示层、LSTM层、卷积层、池化层、语义向量表示层和Softmax层。下面将依次介绍各部分的功能:

向量表示层

考虑一个输入的词序列w={w1,w2,...,wi,...,wn},其中wi表示序列中第i个词在字典中的位置下标,输入的序列长度为n。向量表示层通过预训练的词向量矩阵(字典)把这个词序列中的每一个词映射成为一个d维的向量形成词向量序列x={x1,x2,...,xi,...,xn},其中xi表示词序列中的第i个词wi映射而成的d维的词向量

LSTM层

LSTM层即长短时记忆网络层。LSTM层有精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法,包含一个sigmoid激活函数和一个pointwise乘法操作。Sigmoid层输出0到1之间的数值,描述每个部分有多少量可以通过。0代表“不许任何量通过”,1代表“允许任意量通过”。LSTM通过三个门来控制信息的保存、记忆和更新,分别是忘记门(forget gate),输入门(input gate)和输出门(output gate)。设W是转移矩阵,b代表一个偏置,x为词向量序列,h为LSTM单元的隐层表示,c为LSTM记忆单元的值,σ是sigmoid激活函数。LSTM单元的更新和记忆过程如下:

首先,LSTM中的第一步是决定我们要从细胞状态中丢弃什么信息,这个决定通过忘记门完成:

ft=σ(Wxf·xt+Whf·ht-1+bf) (7)

下一步是确定什么样的新信息保存到细胞状态中,通过输入门完成:

it=σ(Wxi·xt+Whi·ht-1+bi) (8)

之后通过这两个门得到的信息来产生对细胞状态的更新:

最后我们根据当前的细胞状态来来获得每个时间步的隐层表示:

ot=σ(Wxo·xt+Who·ht-1+bo) (11)

ht=ot·tanh(ct) (12)

基于LSTM模型得到的各个时间步的隐层表示,将作为下面卷积层的输入,用于进行卷积操作。

卷积层

卷积层本质上是一个特征抽取层,可以设定多个特征抽取器(filter)来获得不同的特征。对于其中某个filter,通过一个j*d大小的移动窗口来滑动卷积输入的词序列矩阵,其中j是filter的窗口大小,d是词向量的维度。对于某个时刻的窗口,通过神经网络的非线性变换,将这个窗口内的输入值转换为某个特征值ci,随着窗口不断往后移动,这个filter对应的特征值ci不断产生,最终得到这个filter的特征向量(feature map)。一个特征值ci由一个窗口内的多个时间步的隐层表示hi:i+j-1产生,其卷积的公式如下所示:

ci=f(w·xi:i+j-1+b) (13)

w是卷积的矩阵,b是代表一个偏置,j是窗口大小;f是一个非线性的激活函数,双曲正切函数;filter被作用于移动窗口内的LSTM隐层表示{h1:j,h2:j+1,...,hn-j+1:n},产生一个特征向量(feature map):

c=[c1,c2,...,cn-j+1] (14)

其中在本系统中,我们设置了3种不同的filter,它们的卷积窗口大小分别是2、3、5,filter的个数均为100。

池化层

针对每种不同的窗口,我们将得到的输出特征向量feature map c输入到最大池化层(max pooling层)进行降维操作。获取其中的最大值作为特征,得到每种窗口的最大池化结果其中m代表filter的个数。对于某个filter抽取到的若干特征值,只取其中最大的那个值作为保留值,其它特征值全部抛弃,通过消除非最大值来减少下一层的计算量。

语义向量表示层

将上一层3种不同窗口的最大池化结果进行拼接,得到深层语义向量表示用于Softmax层进行分类。

Softmax层

将语义向量表示作为Softmax层的输入进行分类,得到最终的边界分类结果。

以下部分详细描述了本发明所构建的基于LSTM-CNN的候选边界检测系统,均以左边界分类器的方法为例,右边界同理。

首先,构建候选边界词的上下文信息的词序列以及模糊限制语的上下文信息的词序列。以左边界为例,将候选边界词序列和模糊限制语词序列映射到实数向量空间,表示成词向量的输入序列。如公式(15)、(16)所示:

xcandidate={Candidate-2,Candidate-1,Candidate,Candidate1,Candidate2} (15)

xhedge={Hedge-2,Hedge-1,Hedge,Hedge1,Hedge2} (16)

其中Candidate表示边界候选词,Hedge代表模糊限制语。然后这两个序列连接而成一个序列x={xcandidate||xhedge}(其中||表示连接操作),用于学习边界词、模糊限制语以及他们之间的深层语义信息,获取语义表示。我们将序列x映射到实数向量空间,然后输入到我们定义的LSTM-CNN模型中训练分类器,用以判断模糊限制信息的范围。右边界采用同样的方法,按照语序右边界候选样例序列表示为x={xhedge||xcandidate}。

本系统在生物医学领域语料上进行中文模糊限制信息范围检测的实验,结果如下表所示。

实验结果表明,我们提出的LSTM-CNN方法比现有的Zhou等LSTM的方法最终Sentence-level F值提高了1.87%,说明我们提出的基于层叠式神经网络的中文模糊限制信息范围检测系统LSTM-CNN能够有效捕获候选边界词和模糊限制语词序列的深层语义信息,在中文模糊限制信息范围检测中取得更好的结果。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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