
1.本发明属于成分句法分析树构造技术领域,具体涉及一种用于构建英文句子成分句法分析树的自下而上规则结合神经网络的成分句法分析树构造方法。
背景技术:2.随着机器学习和神经网络技术在各领域中不断取得成就,将机器学习和神经网络技术应用到自然语言处理领域已经是当前的学术热点。其中,成分句法分析是自然语言处理任务中的基础性任务,是许多高级任务如智能问答、机器翻译的重要前置任务。成分句法分析任务的目标是确定整个句子的语法结构,并用树形图呈现出来。
3.传统的成分句法分析树构造方法主要是规则句法分析算法和概率统计句法分析算法。在规则句法分析算法中,包括自下而上、自上而下、自下而上与自上而下相结合三种规则,依据人工提取出上下文组合规则表,进行句法分析树的构造,其中代表性的方法包括线图(chart)分析算法、cyk(cocke younger kasami algorithm)分析算法。在概率统计句法分析算法中,最常应用的算法是pcfg(probabilistic context
‑
free algorithms,概率上下文无关算法)算法,该方法通过人工提取出上下文组合规则表,统计所有可能的上下文组合的概率,构造出所有可能的句子解析树,将拥有最大概率的解析树作为最终结果。
4.在传统方法基础上,将神经网络的方法应用到成分句法分析中是当前研究的热点。神经网络方法的应用使得在构造成分句法分析树时不再依赖于人工提取规则表,而是由神经网络模型代替人工来寻找规则,对句子中潜在的关系进行特征提取,以此来生成分析树。目前神经网络方法在成分句法分析树的构造上实现许多应用,并取得很好的效果。
5.现有技术中,将自上而下的规则与神经网络进行结合的方式已经被提出,并取得很好的效果。但是应用自上而下的规则的方法具有局限性,这种方法不能对句法分析树低层的信息加以利用。而在成分句法分析树的构造过程中,低层信息又十分重要,它可以帮助判断成分句法分析树的上层结构内容。
技术实现要素:6.针对现有技术的不足,本发明提出一种自下而上规则结合神经网络的成分句法分析树构造方法,它是一种将自下而上的规则与神经网络结合的成分句法分析树构造方法,旨在将自下而上的规则与神经网络的方法结合起来,发挥分析树低层信息的作用,同时利用神经网络自动提取信息,构建英文句子的成分句法分析树。
7.为解决上述技术问题,本发明中的自下而上规则结合神经网络的成分句法分析树构造方法,包括以下步骤:
8.步骤1:获取ptb数据集并对ptb数据集进行预处理;
9.步骤2:创建句法分析树构造模型,模型包括一个bi
‑
lstm神经网络,一个标签分类器和一个连接分类器;
10.所述bi
‑
lstm,用于提取句子中的各个部分带有上下文信息的特征向量;
11.所述标签分类器,用于对输入序列的各部分的标签进行预测,完成标签分类任务;
12.所述连接分类器,用于对输入序列的每个部分在成分句法分析树的下一层中是否与其后面相邻的部分相连做预测;
13.步骤3:利用ptb数据集中的句子和句子的成分句法分析树的结构信息对步骤2中构建的成分句法分析树构造模型进行训练;
14.步骤4:给定一个句子及句子中词所对应的pos标签,利用经过步骤3训练后的成分句法分析树构造模型对这个句子进行成分句法分析树构造。
15.进了一步地,根据所述自下而上规则结合神经网络的成分句法分析树构造方法,所述步骤1所述的对ptb数据集进行预处理包括:
16.a)将数据集中出现的所有词、所有pos标签和非叶子节点标签分别用不同的向量来表示,向量的数值随机生成;
17.b)提取ptb数据集中每个句子的成分句法分析树的结构信息,包括:分析树中每一层上各部分内容、分析树中每一层上各部分在下一层与其后面相邻部分是否属于同一部分、以及分析树中每一层上各部分的标签。
18.进了一步地,根据所述的自下而上规则结合神经网络的成分句法分析树构造方法,所述标签分类器和连接分类器均基于crf模型。
19.进了一步地,根据所述的自下而上规则结合神经网络的成分句法分析树构造方法,所述步骤3包括以下步骤:
20.步骤3.1:将句子中每个词的词向量与pos标签向量连接起来得到每个词的表示向量,将句子中所有词的表示向量同时输入bi
‑
lstm神经网络,由bi
‑
lstm神经网络对句子提取上下文特征,bi
‑
lstm神经网络的输出为与其输入等长的向量序列;
21.步骤3.2:将句子中任意跨度内的部分记为span,根据bi
‑
lstm神经网络的输出,得到span所对应的特征向量为sp;
22.步骤3.3:首先将句法分析树中的span所对应的特征向量sp分别逐层输入给标签分类器和连接分类器、将各span的真实的非叶子节点标签及其所对应的非叶子节点标签向量逐层输入给标签分类器、将各span在成分句法分析树下一层中与其后面相邻span是否属于同一部分的真实情况逐层输入给连接分类器;然后标签分类器输出对每一层序列中各span的预测标签、及对每一层序列进行预测得到的非叶子节点标签与真实的非叶子节点标签之间的误差值;连接分类器输出对每一层序列中各span的连接情况预测、及对每一层序列进行预测得到的结果与真实结果之间的误差值;
23.步骤3.4:分别将步骤3.3中标签分类器和连接分类器在每一层得到的误差值累计求和,再将这两部分的预测误差值累计值求和后,将总和值传递给步骤2构建的句法分析树构造模型,应用反向传播算法调整模型中各部分所包含的参数。
24.进了一步地,根据所述的自下而上规则结合神经网络的成分句法分析树构造方法,所述步骤3.2中是针对当前句子所对应的成分句法分析树逐层提取特征向量sp的。
25.进了一步地,根据所述的自下而上规则结合神经网络的成分句法分析树构造方法,所述步骤4包括以下步骤:
26.步骤4.1:根据a),获得与句子中词对应的词向量及与词所对应的pos标签向量;
27.步骤4.2:将句子中的词向量与词所对应的pos标签向量连接起来传给bi
‑
lstm神
经网络,由它对句子中的词提取上下文特征,其输出为与输入等长的向量序列;
28.步骤4.3:将句子中的每个词作为一个span,根据bi
‑
lstm的输出结果,得到每一个span的特征向量sp,进而组成与句子所对应的sp序列;
29.步骤4.4:将sp序列分别输入给标签分类器和连接分类器,标签分类器与连接分类器分别给出预测结果:标签分类器输出对序列中各span的标签进行预测的结果;连接分类器对序列中各部分的连接情况进行预测;
30.步骤4.5:根据步骤4.4中得到的连接分类器对各span连接情况的预测结果,依次将span序列中预测结果为1的span与其后相邻的span连接起来,预测结果为0的span不与其后相邻的span相连,形成一个新的span序列;
31.步骤4.6:将步骤4.5中得到的新span序列中的每一个span,根据步骤4.3中bi
‑
lstm输出的结果得到其所对应的特征向量sp,形成一个新的sp序列;
32.步骤4.7:重复执行步骤4.4至步骤4.6,直到步骤4.5得到新span序列中仅含有一个span,将该span所对应的特征向量sp传递给标签分类器,由标签分类器对其进行标签预测。
33.进了一步地,根据所述的自下而上规则结合神经网络的成分句法分析树构造方法,所述步骤4.4中所述连接分类器对序列中各部分的连接情况进行预测,若当前部分与其后相邻部分相连则输出1,否则输出0。
34.本发明提出的自下而上规则结合神经网络的成分句法分析树构造方法,是一种全新的成分句法分析树的构造方法,应用自下而上的规则将神经网络与句法分析树构造任务结合到一起,具有以下有益效果:自下而上地构建成分句法分析树,在构造过程中利用句法分析树的低层信息,帮助判断句法分析树的上层结构,即将整个句子中的词对应的词向量与pos标签向量一同传递给bi
‑
lstm,bi
‑
lstm可以有效地提取到句子中每个词的上下文信息,并且可以推断出句子中每个span的上下文信息,充分利用了神经网络提取特征的能力,根据所提取的信息来进行span的连接判断从而自下而上地构建完全句法分析树;bi
‑
lstm神经网络擅长处理序列型输入,它的应用可以更具针对性地从句子中提取出构建句法分析树所需要的信息,从而克服依靠人工提取规则的局限性;应用连接分类器与标签分类器分别进行句子结构与成分的预测,将span的特征向量同时分别传递给标签分类器与连接分类器,分别得到关于标签与结构的预测结果,两个分类器均基于crf模型,将每一层输入的序列看作一个整体,而不是将每一层中的各部分割裂开,从而给出关于序列的一个整体的预测,且两部分预测由两个分类器分别进行,它们之间的预测结果不会互相干扰,从而提升句法分析树构造模型的准确性。
附图说明
35.图1为ptb数据集中一个英文句子示例的成分句法分析树示意图;
36.图2为图1示例句子的成分句法分析树的层级结构划分示意图;
37.图3为本实施方式自下而上规则结合神经网络构造成分句法分析树方法流程图;
38.图4为本实施方式中成分句法分析树构造模型内部结构示意图;
39.图5为利用ptb数据集中一个句子及其成分句法分析树信息对模型训练一次的流程图;
40.图6为利用训练后的成分句法分析树构造模型对给定句子进行成分句法分析树构造的流程图;
41.图7为利用训练后的成分句法分析树构造模型对给定句子进行成分句法分析树构造的过程示意图。
具体实施方式
42.为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施方式。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本申请的公开内容理解的更加透彻全面。
43.完全句法分析的基本任务是确定句子的语法结构,这种结构以树形图的形式呈现。本实施方式中,以公开的ptb数据集中的英文句子“bell industries inc.increased its quarterly to 10cents from seven cents a share.”(以下简称“该句子”)为例对本实施方式的自下而上规则结合神经网络的成分句法分析树构造方法进行说明。该句子的成分句法分析树如图1所示,其中树的叶子节点为组成句子的单词(包括标点符号)及与其所对应的pos(part of speech,词性标注)标签,例如图1中的第一个叶子节点为“nnp
‑
bell”;非叶子节点上的标签,如np、vp,表示该节点跨度内的所有词所构成的句子成分。
44.应用神经网络方法进行成分句法分析树的构建,首先要搭建构造模型,使得模型以生成正确的句法分析树为目标,再用数据对模型进行训练,不断进行模型内参数的优化与调整。当对模型的训练结束之后,为了检验模型生成正确句法分析树的能力,用测试数据对模型进行测试,以检验模型是否能表现良好。本次构建的模型基于dynet 2.1框架,dynet框架是由卡内基梅隆大学和其他机构共同开发的神经网络库,它可以在cpu或gpu上运行得更高效,并且能很好地与具有动态结构的网络一起工作,所以它在自然语言处理的许多方面都有应用。本发明自下而上构造成分句法分析树的过程中,由于树的每一层的节点数目会有变化,需要构造的是一个动态结构的网络模型,所以应用dynet框架不但可以提高效率,还可以为编码过程提供很多便捷。本发明中所应用到的训练模型的数据集为ptb(penn tree bank)数据集,由宾夕法尼亚大学开发,语料来源为1989年华尔街日报,该数据集是研究成分句法分析方法的通用数据集。
45.ptb数据集中每一个句子的成分句法分析树的形式为:由括号分隔各组成部分,同一对括号内的内容作为一个句子成分,在这组括号的前面标有这一组成成分所对应的标签。以该句子为例,数据集中该句子所对应的句法分析树的形式如下:(top(s(np(nnp bell)(nnp industries)(nnp inc.))(vp(vbd increased)(np(prp$its)(nn quarterly))(pp(to to)(np(cd 10)(nns cents)))(pp(in from)(np(np(cd seven)(nns cents))(np(dt a)(nn share)))))(..)))。该句子所对应的具有更清楚的层次结构的成分句法分析树如图2所示。所述标签包括pos标签和非叶子节点标签两种。
46.pos(part of speech,词性标注)标签为根据上下文信息对句子中的词进行词性说明的标签。pos标签共有45种,分别为:'#','$',"”",',','
‑
lrb
‑
','
‑
rrb
‑
','.',':','cc','cd','dt','ex','fw','in','jj','jjr','jjs','ls','md','nn','nnp','nnps','nns','pdt','pos','prp','prp$','rb','rbr','rbs','rp','sym','to','uh','vb','
vbd','vbg','vbn','vbp','vbz','wdt','wp','wp$','wrb','``'。
47.成分句法分析树中的非叶子节点标签共有26种,分别为:'adjp','advp','conjp','frag','intj','lst','nac','np','nx','pp','prn','prt','qp','rrc','s','sbar','sbarq','sinv','sq','ucp','vp','whadjp','whadvp','whnp','whpp','x'。另外,再添加一个标签“0”来表示当前部分不能构成一个独立的成分,不能对应一个传统的非叶子节点标签,将其定义为本实施过程中的一个非叶子节点标签。
48.本实施方式的自下而上规则结合神经网络的成分句法分析树构造方法,如图3所示,包括以下步骤:
49.步骤1:获取ptb数据集并对ptb数据集进行预处理;
50.a)将数据集中出现的所有词、所有pos标签和非叶子节点标签分别用不同的向量来表示,向量的数值随机生成。自然语言文本不能直接由计算机识别,需要将其转化为数值形式。将数据集中所有句子中出现的词,包括标点,都分别转换为向量,同一个词用相同的向量表示,不同的词用不同的向量表示,向量维度可以设定为100,向量的数值随机生成。同理,pos标签与非叶子节点标签也需要转化为向量,向量维度可以设定为50,向量的数值随机生成。
51.b)提取ptb数据集中每个句子的成分句法分析树的结构信息,包括:分析树中每一层上各部分内容、分析树中每一层上各部分在下一层与其后面相邻部分是否属于同一部分、以及分析树中每一层上各部分的标签;
52.例如,根据该句子的成分句法分析树,得到分析树的每一层上各部分内容,这一结果如表1所示:
53.表1该句子的成分句法分析树的每层内容列表
[0054][0055]
根据成分句法分析树,得到分析树中每一层上各部分在下一层与其后面相邻部分是否属于同一部分,即各部分的连接情况,这一结果如表2所示,表2中的1表示上层部分在下一层与其后面相邻部分属于同一部分,表2中的0表示上层部分在下一层与其后面相邻部
分不属于同一部分。
[0056]
表2该句子的成分句法分析树的层级中各部分的连接情况表
[0057]
层级每一层上各部分在下一层与其后面相邻部分是否属于同一部分叶子节点层1 1 0 0 1 0 0 1 0 0 0 1 1 0 0第一层0 0 0 0 0 0 1 0 0第二层0 0 0 1 0 1 0 0第三层0 1 1 1 0 0第四层1 1 0第五层0
[0058]
根据成分句法分析树,得到分析树每一层上各部分的非叶子节点标签,这一结果如表3所示:
[0059]
表3每一层上各部分的非叶子节点标签表
[0060]
层级每一层上各部分的非叶子节点标签叶子节点层0 0 0 0 0 0 0 0 0 0 0np np np 0第一层np 0np 0np 0np 0 0第二层0 0 0 0 0 0np 0第三层0 0 0pp pp 0第四层0vp 0第五层s
[0061]
步骤2:创建句法分析树构造模型,模型包括一个bi
‑
lstm神经网络,一个标签分类器和一个连接分类器,两个分类器均基于crf模型。
[0062]
bi
‑
lstm(bi
‑
directional long and short term memory,双向长短时记忆神经网络)由前向的lstm与后向的lstm组合而成,lstm的单个神经元是由遗忘门、记忆门和输出门构成,相较于其他类型的神经网络,它可以更好地提取出序列化输入过程中前面输入的内容传递下来的信息,前向的lstm与后向的lstm一同构成的bi
‑
lstm就可以提取出序列化输入信息的前向内容与后向内容传递过来的信息,可以更好地把握住句子中各部分的上下文信息,所以它在自然语言处理中有着广泛的应用。在本发明中,也同样使用bi
‑
lstm来提取句子中的各个部分带有上下文信息的特征向量。
[0063]
标签分类器用于对输入序列的各部分的标签进行预测,完成标签分类任务,分类的结果为27个非叶子节点标签(包括26个传统的非叶子节点标签以及表示未能构成一个句法分析过程中一个完整成分的标签“0”),标签分类器内部是crf(conditional random field,条件随机场模型)模型,它会对输入序列中的每个部分的标签做预测。
[0064]
连接分类器的任务是对每一层上各部分在成分句法分析树的下一层与其后面相邻部分是否属于同一部分做出判断,分类结果为相连或不相连,对应输出1或0。连接分类器内部构造是crf模型,它会对输入序列中的每个部分在成分句法分析树的下一层中是否与其后面相邻的部分相连做预测。
[0065]
成分句法分析树构造模型的内部结构及数据传递如图4所示,将句子信息输入后,利用bi
‑
lstm神经网络对句子提取上下文信息,bi
‑
lstm的输出经过处理后再分别传递给两个分类器。
[0066]
步骤3:利用ptb数据集中的句子和句子的成分句法分析树的结构信息对步骤2中构建的成分句法分析树构造模型进行训练;
[0067]
模型经过训练之后,可以直接使用,依据训练的方式执行任务。训练过后的句法分析树构造模型,就可以用来对一个新获得的句子进行句法分析树构建。图5为利用ptb数据集中的一个句子及其成分句法分析树信息对模型训练一次的流程图,具体步骤如下,按照相同的训练步骤,利用ptb数据集中的部分句子或者全部句子逐一完成对模型的训练。
[0068]
步骤3.1:将句子中每个词的词向量与pos标签向量连接起来得到每个词的表示向量,将句子中所有词的表示向量同时输入bi
‑
lstm神经网络,由bi
‑
lstm神经网络对句子提取上下文特征,bi
‑
lstm神经网络的输出为与其输入等长的向量序列;
[0069]
将词向量与词的pos标签向量连接,这种方式可以更好地表示当前单词在上下文中的含义。以该句子中单词“bell”为例,其所对应的词向量为w={w1,w2,
…
w
100
},其所对应的pos标签的向量为p={p1,p2,
…
p
50
},则单词“bell”的表示向量为wp={w1,w2,
…
w
100
,p1,p2,
…
p
50
}。将句子中所有词的表示向量作为bi
‑
lstm的输入,bi
‑
lstm的输出是一个包含多个向量的序列,向量数目与输入的词的表示向量数目相等。
[0070]
步骤3.2:将句子中任意跨度内的部分记为span,根据bi
‑
lstm神经网络的输出,得到span所对应的特征向量为sp;
[0071]
例如,将句子中从第i个词到第j个词这一跨度范围内的内容记为span[i,j],其对应的特征向量为sp(i,j),以该句子为例,span[1,2]代表“bell industries”。由bi
‑
lstm的特性,可以计算得到句子中任意span[i,j]的上下文特征向量sp(i,j):
[0072]
sp_f(i,j)=lstm(j)
‑
lstm(i)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0073]
sp_b(i,j)=lstm(i+1)
‑
lstm(j+1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0074]
sp(i,j)=[sp_f(i,j),sp_b(i,j)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中lstm(i)表示bi
‑
lstm输出向量序列中的第i个向量,lstm(j)表示bi
‑
lstm输出向量序列中第j个向量,lstm(i+1)表示bi
‑
lstm输出向量序列中第i+1个向量,lstm(j+1)表示bi
‑
lstm输出向量序列中第j+1个向量,sp_f(i,j)代表从序列中前向部分中提取出的特征向量,sp_b(i,j)表示从序列后向部分提取出的特征向量。sp(i,j)代表将两种特征结合起来的前后向特征向量,代表句子中从第i个词到第j个词的上下文特征。
[0075]
本实施方式中,是针对当前句子所对应的成分句法分析树逐层提取特征向量sp的,即逐层提取每一层上所有span的特征向量sp,根据bi
‑
lstm的输出结果,得到每一个span的特征向量sp;
[0076]
假设将句子中的每一个词按照顺序添加标号从1至n,那么第一层的span序列可以表示为:span[1,1],span[2,2],span[3,3]
…
span[n,n],根据公式(1)(2)(3)可以分别求得第一层各部分的上下文特征向量sp(1,1),sp(2,2),sp(3,4)
…
sp(n,n),以该句子为例,这个句子所对应的第一层span序列为:“[bell][industries][inc][increased][its][quarterly][to][10][cents][from][seven][cents][a][share][.]”,再分别得到每个span所对应的特征向量sp;按照同样的方法,再提取出当前句子所对应的成分句法分析树上其他各层的每个span所对应的特征向量sp。
[0077]
步骤3.3:首先将句法分析树中的span所对应的特征向量sp分别逐层输入给标签分类器和连接分类器,将各span的真实的非叶子节点标签及其所对应的非叶子节点标签向
量逐层输入给标签分类器,各span在成分句法分析树下一层中与其后面相邻span是否属于同一部分的真实情况逐层输入给连接分类器。然后标签分类器输出对每一层序列中各span的预测标签、及对每一层序列进行预测得到的非叶子节点标签与真实的非叶子节点标签之间的误差值;连接分类器输出对每一层序列中各span的连接情况预测、及对每一层序列进行预测得到的结果与真实结果之间的误差值;
[0078]
此处输入为各层级上span所对应的特征向量sp的序列,以该句子“bell industries inc.increased its quarterly to 10cents from seven cents a share.”为例,将该句子成分句法分析树的第一层span序列所对应的sp向量:“sp(1,1),sp(2,2),sp(3,4)
…
sp(15,15)”,与第一层中的span所对应的真实标签:“0 0 0 0 0 0 0 0 0 0 0np np np 0”及其所对应的标签向量输入给标签分类器,标签分类器给出预测结果和第一层预测产生的误差值为loss_l01;接下来将第二层span序列所对应的sp向量:“sp(1,3),sp(4,4),sp(5,6),sp(7,7),sp(8,9),sp(10,10),sp(11,12),sp(13,14),sp(15,15)”,与第二层中span所对应的真实标签:“np 0 np 0 np 0 np 0 0”输入给标签分类器,标签分类器给出预测结果和第二层预测产生的误差值为loss_l02。依照上述形式可以得到各层的预测误差值:loss_l01,loss_l02,loss_l03,loss_l04,loss_l05,loss_l06,将他们累计求和,得到成分句法分析树构造模型对该句子预测的第一部分误差值loss_label。
[0079]
将该句子的成分句法分析树的第一层span序列所对应的sp向量:“sp(1,1),sp(2,2),sp(3,4)
…
sp(15,15)”,及第一层中的span在下一层中与其后面相邻span连接的真实情况:“11 0 0 1 0 0 1 0 0 0 1 1 0 0”,输入给连接分类器,连接分类器给出预测结果和第一层预测产生的误差值loss_l11;接下来将第二层span序列所对应的sp向量:“sp(1,3),sp(4,4),sp(5,6),sp(7,7),sp(8,9),sp(10,10),sp(11,12),sp(13,14),sp(15,15)”,与第二层中span在下一层中与其后面相邻span连接的真实情况:“0 0 0 0 0 0 1 0 0”输入给连接分类器,连接分类器给出预测结果和第二层预测产生的误差值loss_l12。依照上述形式可以得到各层的预测误差值:loss_l11,loss_l12,loss_l13,loss_l14,loss_l15,loss_l16,将它们累计求和,得到成分句法分析树构造模型对示例句子预测的第二部分误差值loss_connect。
[0080]
步骤3.4:分别将步骤3.3中标签分类器和连接分类器在每一层得到的误差值累计求和,再将这两部分预测误差值累计值求和后,将总和值传递给步骤2构建的句法分析树构造模型,应用反向传播算法调整模型中各部分所包含的参数;
[0081]
将标签分类器在各层的预测误差值loss_l01、loss_l02、loss_l03、loss_l04、loss_l05和loss_l06进行累计求和,得到成分句法分析树构造模型对该句子预测的第一部分误差值loss_label。
[0082]
将连接分类器在各层的预测误差值loss_l11、loss_l12、loss_l13、loss_l14、loss_l15和loss_l16进行累计求和,得到成分句法分析树构造模型对该句子预测的第二部分误差值loss_connect。
[0083]
再将loss_label和loss_connect这两部分预测误差值求和,将总和值反向传递给步骤2构建的句法分析树构造模型,用于调整模型中各部分所包含的参数。
[0084]
如步骤2所述,句法分析树构造模型包括bi
‑
lstm神经网络,一个标签分类器,一个连接分类器,各部分均含有待调整参数,本实施方式中根据误差值、应用反向传播算法对这
些参数的值进行调整,这一过程的目的是期望模型通过调整参数后,再次重新执行此过程后得到的误差值变小,误差值变小说明模型预测的结果更准确,从而达到了训练模型的目的。
[0085]
步骤4:给定一个句子及句子中词所对应的pos标签,利用经过步骤3训练后的成分句法分析树构造模型对这个句子进行成分句法分析树构造;
[0086]
如图6所示,包括如下步骤:
[0087]
步骤4.1:根据步骤1的a)部分,获得与句子中词对应的词向量及与词所对应的pos标签向量,即句子中的词用a)部分中生成的词向量来表示,pos标签向量用a)部分中生成的pos标签向量来表示;
[0088]
例如,新输入句子:“this time,the firms were ready.”(以下简称新句子),同时输入新句子中单词所对应的pos标签为:“dt nn,dt nns vbd jj.”。从a)部分中分别找到与新句子中每个单词和标签所对应的向量,用不同的词向量来表示新句子中不同的单词,用不同的pos标签向量来表示新句子中与词所对应的不同的pos标签。
[0089]
步骤4.2:将句子中的词向量与词所对应的pos标签向量连接起来传给bi
‑
lstm神经网络,由它对句子中的词提取上下文特征,其输出为与输入等长的向量序列;
[0090]
将句子中每个单词的词向量与标签向量相连,作为该单词的表示向量,将每个单词的表示向量输入到bi
‑
lstm神经网络中。
[0091]
步骤4.3:将句子中的每个词作为一个span,根据bi
‑
lstm的输出结果,得到每一个span的特征向量sp,进而组成与句子所对应的sp序列;
[0092]
以新句子为例,每一个词作为一个span,可以得到span序列为:“[this][time,][,][the][firms][were][ready][.]”,再分别得到每个span所对应的特征向量sp,得到sp序列:sp(1,1),sp(2,2),sp(3,3),sp(4,4),sp(5,5),sp(6,6),sp(7,7),sp(8,8)。
[0093]
步骤4.4:将sp序列分别输入给标签分类器和连接分类器,标签分类器与连接分类器分别给出预测结果:标签分类器输出对序列中各span的标签进行预测的结果;连接分类器对序列中各部分的连接情况进行预测,若当前部分与其后相邻部分相连则输出1,否则输出0;
[0094]
以新句子为例,将从步骤4.3得出的序列分别输入给标签分类器和连接分类器,标签分类器给出预测结果:“0 0 0 0 0 0adjp 0”,连接分类器给出预测结果:“1 0 0 1 0 1 0 0”。
[0095]
步骤4.5:根据步骤4.4中得到的连接分类器对各span连接情况的预测结果,依次将span序列中预测结果为1的span与其后相邻的span连接起来,预测结果为0的span不与其后相邻的span相连,形成一个新的span序列;
[0096]
以新句子为例,从步骤4.4得出的连接分类器预测结果:“1 0 0 1 0 1 0 0”,当前序列为:“[this][time,][,][the][firms][were][ready][.]”,由此构建的新span序列为:“[this time,][,][the firms][were ready][.]”。
[0097]
步骤4.6:将步骤4.5中得到的新span序列中的每一个span,根据步骤4.3中bi
‑
lstm输出的结果得到其所对应的特征向量sp,形成一个新的sp序列;
[0098]
以新句子为例,从步骤4.5得到的新span序列为:“[this time,][,][the firms][were ready][.]”,其所对应的新的sp序列为:sp(1,2),sp(3,3),sp(4,5),sp(6,7),sp(8,
8)。
[0099]
步骤4.7:重复执行步骤4.4
‑
4.6,直到步骤4.5得到新span序列中仅含有一个span,说明句法分析树已经构建完成,该过程停止,将最终的span所对应的特征向量sp传递给标签分类器,由标签分类器对其进行标签预测。
[0100]
以新句子“this time,the firms were ready.”的成分句法分析树构造过程中从叶子节点到成分句法分析树第二层的构造过程为例,步骤4.4
‑
4.6的处理过程如图7所示:将由单个词span所对应sp组成的序列分别输入给标签分类器与连接分类器,标签分类器与连接分类器分别给出预测结果,标签分类器预测的结果为句法分析树的第一层中各部分所对应的非叶子节点标签,连接分类器给出的预测结果为各span在分析树下一层中是否与其后面相邻的span组成一个部分,根据连接分类器对各span连接情况的预测结果对span进行连接,形成新的span序列,再将其对应的特征向量序列传递给标签分类器与连接分类器,得到第二层的预测结果。
[0101]
句法分析树被完全构造出来的标志是,在步骤4.5中形成的新span序列中仅含有一个span,代表所有的部分都被连接起来,循环过程便可停止。由标签分类器对这个span进行标签预测。如图7中所示,新构建的span序列中仅含有一个span,将其所对应的特征向量传递给标签分类器,预测出句子所对应的成分句法分析树的根节点。
[0102]
应当理解的是,本领域技术人员在本发明技术构思的启发下,在不脱离本发明内容的基础上,还可以根据上述内容作出各种改进或变换,这仍落在本发明的保护范围之内。