黄瑞章,靳文繁,陈艳平,秦永彬,郑庆华
(1.贵州大学计算机科学与技术学院,贵州 贵阳 550025;2.贵州省公共大数据重点实验室,贵州 贵阳 550025;3.西安交通大学计算机科学与技术学院,陕西 西安 710049)
谓语中心词是句子的焦点,是支配和关联句子其他语法成分的关键语法单元。在以谓语为中心的句法成分分析中,需要根据谓语中心词来解析句子结构。识别谓语中心词是正确理解句子的前提。正确识别谓语中心词可以解析句子结构、获取句子的语义信息,进一步支撑浅层句法分析的研究,从而支撑机器翻译、信息检索、情感分析等自然语言处理应用。
一个动词在句子中是否是谓语中心词既与它本身的语法属性有关,也与它的上下文环境有关。动词本身的语法属性称为静态特征,与识别谓语中心词有关的上下文环境称为动态特征。由于汉语句子结构松散,传统观点认为汉语句子没有形式上的谓语中心词。
此外,谓语中心词的识别还需要克服以下几个问题。1) 汉语是一种古老的象形文字,缺少分词信息。比如,《现代汉语规范词典》没有收录“撞向”为动词,但收录了“通向”“流向”等词为动词。类似的情况有“下雨”被收录为词,而“下雪”没有。无法正确分词给谓语中心词的识别带来困难。2) 汉语句子结构松散。汉语句子通常包含几个动词,它们中的每一个都可以作为谓语中心词或状语短语来处理,很难识别句子中单词之间的依赖关系。3) 汉语单词中的兼义现象非常严重,存在很多名词、形容词动词化的用法,但没有形态特征来表示它们的动词用法,使区分它们之间的句法作用变得困难。4) 谓语中心词是句子的中心,识别谓语中心词需要对句子的高阶依赖关系进行建模。当前的序列模型难以捕获句子中的高阶依赖关系。在汉语谓语中心词识别方面,现有的序列标注模型还存在不足之处。例如长短时记忆(LSTM,long-short term memory)模型理论上能记忆长距离信息,但是在实际使用中,LSTM 对长实体的识别性能较低。
本文主要的研究工作如下。
1) 针对汉语谓语中心词的特点,提出了一种基于深层双向长短时记忆(BiLSTM,bi-directional LSTM)的汉语谓语中心词识别模型。该模型利用4 层BiLSTM 结构获取句子的抽象语义特征和上下文语义依赖关系。与传统序列标注模型相比,深层BiLSTM模型能更好地获取句子内部不同粒度抽象语义信息,在汉语谓语中心词数据集上有更好的表现。
2) 利用Highway 连接缓解深层模型的梯度消失的问题。随着深度网络层数的不断增加,输入信息在通过网络层到达网络的末端时,可能出现梯度消失的情况。本文通过Highway 网络的引入有效地缓解了训练深层模型时梯度消失的情况。
3) 汉语谓语中心词的唯一性问题。单个句子中通常只有一个谓语中心词,但可以有多个动词。为了解决这个问题,本文在模型的输出中加入约束层,通过约束函数对输出路径进行约束,确保谓语中心词的输出唯一性。
谓语中心词在句中起到组织句法或者语义信息的中心作用,如主语、时间、原因和形式等。识别谓语中心词是理解句子的关键。然而,在汉语自然语言处理领域,关于谓语中心词识别的研究工作却很少。现有工作主要采用基于规则的方法、基于统计学习的方法和规则与统计相结合的方法。
在基于规则的方法中,Luo 等[1]从各种词性的词作为谓语时的语法特点出发,讨论谓语的识别策略,通过规则的方法来判别和确定句子的中心谓语及其相应边界。Li 等[2]提出了一种利用句子的主语和谓语之间的句法关系来识别谓语中心词的方法。该方法除了利用谓语中心词候选项的静态语法特征和动态语法特征外,还加入了对规则间相互影响的考虑,较之前的方法从更高的句法层次上进行了分析。但是特征的应用过程相对复杂,计算量较大,对于一些特殊的句型可能产生错误的结果。Sui 等[3-4]出了一种折中的汉语句子分析方法——骨架依存分析法,利用句子级对齐的双语语料库中英汉谓语中心词的对应来寻找汉语句子的谓语中心词。但是其仅对例句集中的汉语单句识别了谓语中心词,没有从大规模已标注的谓语中心词的汉语例句中实现谓语中心词自动抽取。
在基于统计学习的方法中,陈小荷等[5]采用统计的方法对50 万字的语料库识别了核心谓语。Wang 等[6]组合谓语动词的多个特征,并使用最大熵分类器对谓语中心词进行自动识别。谌志群[7]提出了一种基于统计学原理的汉语句子谓语自动识别概率模型,通过对语料库中句子的谓语所处上下文环境的细致分析,选择影响谓语出现的语境特征,在此基础上通过构建统计模型来计算谓语出现的概率,识别汉语句子的谓语。
在规则与统计学习相结合的方法中,Gong 等[8]将整个谓语识别的过程分为语片捆绑、谓语粗筛选和谓语精筛选3 个阶段。首先,在识别之前加入语片捆绑的预处理工作,有效排除了一些准谓语;然后,用规则的方法进行粗筛选,降低了精筛选的复杂度;最后,利用特征学习的方法进行谓语精筛选,有效解决了规则的不完备和特征重要度排序的问题。但是,该方法还存在一些谓语误识的情况,对于复杂结构的汉语句子不能完全正确识别。另外,Han 等[9]提出一种融合词法与句法特征、结合C4.5机器学习和规则进行谓语识别的方法。该方法表明句法特征能有效提升谓语识别效果。李琳等[10]利用大规模的藏语语料库训练得到藏语词向量,其结果表明词向量特征可显著提高藏语谓语动词短语的识别效果。目前,谓语中心词识别的研究大部分还是使用传统方法,难以建模高阶依赖信息。
在汉语信息抽取领域,与谓语中心词识别相关的任务还有命名实体识别和语义角色标注。其中,命名实体识别通常采用序列标注模型进行识别,如隐马尔可夫模型(HMM,hidden Markov model)[11]、条件随机场(CRF,conditional random field)[12]和LSTM[13]。近年来,基于深度学习模型的实体识别得到了广泛研究。比如,Li 等[14]采用双向LSTM-CRF 结构,在生物医学实体识别上取得了良好的效果。与命名实体识别相比,谓语中心词识别更强调谓语中心词作为句子中心的语法功能,在识别上需要依赖句子的整体结构和语义特征,在输出路径中需要保证标注实体的单一性。
语义角色标注(SRL,semantic role labeling)[15]是浅层语义分析中的一种主要实现方式。该方法主要是对给定句子中存在的每个谓语进行分析,并标注其相应的语义成分。传统的SRL 方法采用基于句法特征的统计机器学习方法,通常将语义角色标注任务转换为有监督的分类问题,主要分为基于短语结构句法分析以及基于依存句法分析2 种语义角色标注方法。比如,Koomen 等[16]和Tackstrom 等[17]采用线性规划或动态规划的方式获得句子的全局约束。随着深度学习的兴起,研究者将基于BiLSTM模型用于语义角色标注任务。比如,Zhou 等[18]使用深度BiLSTM 模型对英文语义角色标注进行了研究。Guo 等[19]重点关注句法路径信息并使用BiLSTM 对其进行建模,从而提高了SRL 系统的性能。王瑞波等[20]使用多特征融合的神经网络结构来构建汉语框架语义角色识别模型。Strubell 等[21]提出了一种基于语言信息的自我注意神经网络模型,它将多头自我注意与多任务学习相结合,包括依赖分析、词性标注、谓语检测和SRL。
本文的Highway-BiLSTM 网络结构如图1 所示。自底向上描述如下。1)使用预训练的维基百科字向量将输入的文本序列映射为向量,作为当前词的特征向量表示;2)经过4 层BiLSTM[22]获取句子内部不同粒度抽象语义信息的直接依赖关系;3)为了防止训练深层BiLSTM 模型时出现梯度消失的问题,层与层之间使用Highway 网络连接;4)通过一个Softmax 层进行归一化处理;5)通过约束层保证谓语中心词的唯一性,得到最优标注序列。句子中包含的谓语中心词用标签{B,I}表示,其中谓语中心词的开始用标签B标记,其余部分用标签I标记。在模型的输出部分,使用P表示预测的句子,模型预测出的谓语中心词使用标签B-V标记,句子中的其他成分使用标签O标记。
图1 Highway-BiLSTM 网络结构
一方面,传统的循环神经网络(RNN,recurrent neural network)在处理长序列数据时容易出现梯度消失或梯度爆炸问题。另一方面,对于基本的RNN来说,它能够处理一定的短期依赖,但是无法处理长期依赖问题。而LSTM 通过引入门结构解决了RNN 的长期依赖问题。由于汉语谓语中心词缺少形态特征、句子结构松散且形式多样、单个句子可能存在多个动词等情况,传统的序列标注模型无法很好地建模句子的高阶依赖特征,获取句子的全局信息。针对上述问题,本文提出利用多层堆叠的BiLSTM构建谓语中心词识别模型。LSTM 通过3 个不同的门来调节单元状态中的信息流,即输入门、遗忘门、输出门控制着信息流的更新与利用。本文设输入的信息流为xl,t,表示第l层和t时刻到LSTM 的输入;细胞状态为cl,t;LSTM 在t时刻的输出信息为hl,t;激活函数为σ;权重矩阵为W;偏置向量为b。
首先,决定从细胞状态中丢弃什么信息。这个决策是通过一个称为“遗忘门”的层来完成的。该门会读取hl,t和xl,t,使用sigmoid 函数输出一个0~1的数值,输出状态cl,t中每个细胞的数值,1 表示完全保留,0 表示完全舍弃。
然后,确定什么样的新信息被存放在细胞状态中。信息包含两部分:一部分是sigmoid 函数,称为“输入门”,决定更新什么值;另一部分是tanh 函数,用于创建一个新的候选值向量,该向量会被加入状态中。这样就能用这2 个信息产生对状态的更新。
最后,运行一个sigmoid 函数来确定输出细胞状态的哪个部分,通过tanh 处理细胞状态,并与sigmoid 门的输出相乘,仅输出确定输出的那部分。
其中,δ l为1 或−1,表示LSTM 在第l层的方向性。在实验中根据Zhou 等[23]的方法以交织模式堆叠LSTM,设每层的特定输入xl,t和方向性δl分别为
本文在实验中使用了4 层的BiLSTM(即8 层LSTM)堆叠模型取得了较好的效果,其中一个关键要素是使用封闭的“Highway 连接”[23-24]。相比于RNN,LSTM 能够在一定程度上缓解梯度消失的问题。理论和经验表明,神经网络的深度是其成功的关键。然而,随着网络层数的不断增加,训练变得更加困难,在网络传输中会出现一个问题:当输入的信息通过许多层,到达网络的末端(或起点)时,信息可能会“消失”。这里的“消失”实际是由于链式法则下多个小于1 的数值相乘导致的。针对这个问题,本文使用Highway 连接各层BiLSTM,使特征信息能够在多个层面上传输。Highway 网络受到LSTM 网络的启发,同样使用自适应门控单元来调节信息流。典型的神经网络是一个仿射变换加一个非线性函数,即y=H(x,WH)。在深层模型的层间连接中,为每一个层的输出添加转换门和进位门,形成Highway 网络。其定义为
Highway 网络的本质是通过shortcut 机制实现深层网络的训练。如图2 所示,shortcut 机制选择合适的层进行转换,通过该机制可以使信息在许多层之间流动而不会衰减,即使在深层模型中,使用Highway 连接也可以通过简单的梯度下降直接进行训练。本文实验通过转换门rt来控制层与层之间线性和非线性变换的权重。
图2 Highway 连接
最后,输出hl,t改为
在训练样本一定的情况下,模型的复杂性越高,就会有越多的参数,训练出的模型越容易产生过拟合的现象。为了避免过拟合,在本文的模型中使用Gal 等[25]所描述的Dropout 机制,通过Dropout提高了模型的泛化能力。定义为
其中,zl在l层上跨时间步共享,以免沿序列放大噪声。
通常,识别任务是给定一个句子作为输入预测一个序列y,每个yi∈y都属于一个离散的标签集合T。句子中包含的谓语中心词用标签{B,I}表示,其中谓语中心词的开始用标签B标记,其余部分用标签I标记。为了避免在单个句子中谓语中心词数量大于一个的现象,本文在模型全连接层之后使用Softmax 层进行归一化处理,并通过约束层对谓语中心词的输出路径进行约束。对于每一个句子,预测它的谓语中心词结构,在所有可能的解空间Y中找到得分最高的标签序列。其约束函数定义为
其中,y∈Y,得分函数f(y)的输入条件为。为了加入额外的信息,比如,结构一致性、语法输入等,在实验中利用惩罚项来增加得分函数,即
其中,给定输入w和长度t的前缀y1:t,每个函数c都应用非负惩罚。
本文的实验使用汉语谓语中心词数据集。该数据来源于“中国裁判文书网”中的762 篇法院刑事判决书。与李婷等[26]的标注规范相同,在标注规范中,把谓语中心词分为以下几种模式。
模式1单个谓语中心词
由于汉语单词之间没有分隔符,在词的划分上存在歧义,因此本文的单个谓语中心词,以词典的收录为准。例如,“取得”在字典中被收录为词,“取出”却没有。那么只有“取得”属于模式1,标注为单个谓语中心词。
模式2复合结构的谓语中心词
汉语句子结构中经常使用重复的表达式来构成复合结构的词,如“跑一跑”“洗洗手”等。
模式3同义并列的谓语中心词
同义动词通常同时使用来作为谓语中心词,如“驱车/行驶”“开发/建设”“抓捕/归案”等。此外,连续的动词表达相反的语义,但属于偏正关系的,如“进进出出”也被标记为一个谓语中心词。
模式4带修饰或带补语的谓语中心词
当句子中的动词带有时态标记、补语或修饰符时,将谓语中心词标注在括号中,如“王某取出一把尖刀”,标记为“王某[(取)出]一把尖刀”。
模式5其他特殊表达的谓语中心词
当句子中存在名词做动词、形容词做动词,以及谚语和成语或典故等时,如“张某[心生不满]”,成语“心生不满”如果切分,则会引起歧义,所以单独标为谓语中心词。该模式还可以用于处理主语−谓语从句,其形式为名词(代词)+动词(形容词)。例如,“我[开心]”等。
通过上述5 种标注模式,本文共标注7 022 条句子,标记7 022 个谓语中心词,其中,模式1 有4 959 个,模式2 有24 个,模式3 有272 个,模式4 有1 651 个,模式5 有116 个。
本文的模型由8 个LSTM 层(4 个正向LSTM层和4 个反向LSTM 层)和一个用于预测输出分布的Softmax 层组成,层与层之间使用Highway 连接。根据文献[27],本文模型中所有权重矩阵都用随机标准正交矩阵初始化。模型参数设置如表1 所示。
表1 参数设置
在实验训练阶段使用了预训练的汉语维基百科字向量字嵌入初始化,每个字经过预训练后的维度都是100 维,并且在训练期间进行更新。维基百科未覆盖的字将替换为随机初始化的
从表 2 的实验结果可以看出,Highway+BiLSTM+Softmax 模型取得了最好的效果。第一组实验使用的是传统的序列标注模型CRF。CRF 通过特征模板扫描整个句子,它更多考虑的是整个句子局部特征的线性加权组合。CRF 计算的是一种联合概率,优化的是整个序列,而不是将每个时刻的最优结果拼接起来。第二组实验加入了BiLSTM,BiLSTM 的优势是可以同时捕捉正反2 个方向的长距离信息,建模上下文的依赖关系。通过实验对比可以看到,BiLSTM 在CRF 的基础上有了较大的提升。但是BiLSTM 只能学习到某个特定维度的特征。第三组实验是李婷等[26]最近的工作,在第二组实验的基础上加入了Attention 机制,Attention 机制可以获取全局与局部的联系,不会像RNN 模型那样对长期依赖的捕捉受到序列长度的影响。在谓语中心词约束部分,文献[26]使用卷积神经网络对序列标注结果进行二分类,得到最终的识别结果。第三组实验使用了多层BiLSTM 叠加获取句子的全局信息,其中层与层之间使用残差模块连接[29],性能较第二组实验有近3%的提升。第四组实验中在使用多层BiLSTM 模型堆叠的同时,利用Highway 连接来缓解梯度消失的问题。通过实验结果可以看出,Highway 连接比残差模块有1%的性能提升。与文献[26]所做的工作相比,本文的模型是端到端的,不需要分步实验就能得到最终的序列标注结果。
表2 实验结果
4.3.1 句子长度对预测结果的影响
本文在实验中比较了不同的句子长度对实验结果的影响,如表3 所示。随着句子长度的增加,准确率、召回率、F值均呈下降趋势。这也充分说明了模型在长距离语义依赖中的表现略差,长距离语义建模成为限制模型性能的一大因素。
表3 不同句长下的实验结果
4.3.2 词向量分析
本文使用汉语维基百科语料为预训练词向量,得到约38 万个字的字向量,可以覆盖99%的训练集和验证集。在查找表中不能找到的词被映射为
表4 不同词向量的实验结果
如图3 所示,采用不同的词向量后F值随着迭代次数的增加而上升,在每一轮迭代中采用预训练的词向量的模型效果都优于随机初始化的模型。预训练的词向量能够更好地表达每个字的特征表示。
图3 不同词向量对F值的影响
4.3.3 层间连接分析
本节实验选取Wiki-100 initialized 词向量的模型进行实验,对比了无连接、残差连接与Highway连接的表现,如表5 所示。
表5 有无Highway 连接的实验结果
Highway 连接与残差连接具有一个相同的特性,即过shortcut 机制来实现深度网络的训练。从表5 可以看出,Highway 连接有更好的表现,其原因是Highway连接比残差连接对跳转连接有更多的控制,Highway 连接启发于LSTM 的门控机制,它的转换门和进位门门控结构允许信息在跳转层和使用之间有一个学习的平衡。通过实验结果可以看出,Highway 连接比残差连接有1%的性能提升。
通过Highway连接可以缓解训练深层模型时梯度消失的情况,同时说明Highway 连接在本文模型中是有效的。为了进一步说明Highway 连接对深层模型的重要性,本文在实验中改变了层与层之间的连接方式,使用残差连接代替Highway 连接。如图4所示,当迭代次数不断增加时,使用残差连接的模型准确率会先上升然后达到饱和,迭代次数继续增加准确率会下降,而使用Highway 连接的模型准确率随着迭代次数的增加而不断上升,最终在100 次迭代后达到饱和。
图4 不同层连接方式对F值的影响
4.3.4 比较层数对模型性能的影响
本节选取了Wiki-100 词向量的模型进行实验,探究模型层数对模型性能的影响。在使用4 层的BiLSTM 叠加后实验效果达到最佳。如表6所示,4 层模型比2 层模型提升了近1.3%的F值。从实验结果可以看出,深层神经网络的特征提取能力更强,在序列标注任务上优于浅层神经网络。
表6 不同层数在验证集上的实验结果
如图5 所示,不同层数的模型训练时的损失值下降速率也不同。从图5 可以看出,设置模型层数为4 层时收敛速度达到最快。
图5 不同层数对训练集损失的影响
本文针对汉语谓语中心词进行识别研究,使用深层神经网络模型对句子进行建模,在汉语谓语中心词数据集上进行实验,F值达到80.424%,并且通过输出路径的约束解决了中心词的唯一性问题。在未来的研究中,需要利用更深层的神经网络模型来获取句子的结构信息,以进一步提升识别性能。此外,下一阶段工作将研究模型与输出路径间的高阶依赖问题,通过在神经网络模型中加入全局约束条件以及构建知识库规则,使模型在训练过程中能够自动学习句子的结构特点,以支撑与谓语中心词相关的研究工作。