-
语义角色标注(Semantic Role Labeling,SRL)属于浅层语义分析,目的是识别出句子中所有与谓词相关的语义角色. 同深层语义分析相比,SRL具有标注简便、结构清晰、易于展现等特点,是自然语言处理的重要技术之一. 目前,SRL在自动问答、信息抽取、阅读理解等领域具有广泛实用价值前景.
使用传统的统计机器学习方法进行SRL,需要人工抽取特征,工作沉重繁琐,同时模型无法解决长句中上下文语义依赖问题. 随着深度学习的兴起,特别对循环神经网络的研究取得巨大进步,实现模型自动抽取特征,同时兼顾长句上下文语义信息. 在现有的SRL研究基础上,本文提出使用BiLSTM-MaxPool -CRF模型,同时融合多特征进行汉语SRL研究. 经过多组实验论证,在经典的序列标注模型BiLSTM-CRF上融入MaxPool技术,可以进一步提升模型性能.
-
当前汉语SRL的相关研究主要从两个方面进行:一方面,研究对序列标注模型的结构进行优化,期待取得模型架构方面的巨大突破;另一方面,研究在模型中针对性引入其它资源,提升模型标注性能.
-
SRL属于序列标注任务. 在基于统计机器学习的汉语SRL研究方面,刘挺等[1]使用最大熵分类模型进行汉语SRL,获得了较好的结果;Yu等[2]将更为先进的条件随机场模型引入该领域,最终准确率达到80.43%,召回率达到63.55%. 随着深度学习的发展,自然语言处理的各种子任务有了另一种更加高效便捷的解决方案. 循环神经网络(Recurrent Neural Network,RNN)由于其特有的网络结构,被广泛应用于文本任务,但是随着网络层数的增加,存在梯度爆炸问题. 长短时记忆神经网络(Long Short-Term Memory,LSTM)作为RNN的改进模型,可以兼顾更长距离的上下文语义信息,同时缓解了梯度爆炸的现象. 因此,Zhou等[3]采用LSTM模型进行SRL,实验效果远超使用统计机器学习模型取得的结果;但是LSTM模型只能从前往后提取序列特征,Wang 等[4]使用两个LSTM分别提取前向和后向的语义信息,在不引入其它资源的情况下,取得了当时最好的成绩. 王一成等[5]将BiLSTM和最大池化技术结合,简化了模型训练难度,进一步优化模型结构. 但是使用BiLSTM作为序列标注模型存在非法标签被预测的现象,针对上述问题,Huang等[6]提出新的序列标注模型BiLSTM-CRF,该模型可以利用条件随机场(Conditional Random Field, CRF)从训练数据中学习到相邻词的标签约束,提升标注模型性能. 此后,BiLSTM-CRF成为解决序列标注问题的首选模型.
-
王步康等[7]实现了基于中文依存句法分析的SRL系统,融入可以体现语义结构的依存句法特征,模型标注性能取得不错的效果. 邵艳秋等[8]基于北京大学的语义词典,将配价数、主客体语义类等词汇语义特征引入SRL研究,F1值提高了1.11%. 李国臣等[9]基于同义词词林语义资源库构建新的特征加入CRF模型中,新构建的词林信息特征显著提高SRL的性能. 何保荣等[10]分析句式和句模的对应关系,并总结出一套基于句式的SRL规则,正确率达到78.73%. 王一成等[11]将词性、句式等多层次语言学特征融入CRF模型,准确率可以达到80.52%. 张苗苗等[12]使用BiLSTM-CRF模型,并且引入了Gate机制对词向量进行调整,最后F1值可以达到79.53%. 王旭阳等[13]利用语义距离概念,将“模糊”机制引入词向量的转换过程,最终F1值高达 81.24%.
总体来说,SRL领域中取得较好成绩的模型大部分都基于LSTM及其改进模型. 由于可供训练的汉语标注语料的匮乏,相比于英文SRL,中文SRL研究相对滞后,研究工作值得继续深入.
-
本文采用CPB(Chinese PropBank)SRL体系. 在模型训练过程中,利用AvgPool技术对多特征组进行采样选取. 并将MaxPool技术融入BiLSTM-CRF模型中,降低BiLSTM-CRF模型的训练难度,提升模型性能.模型主要由输入层、AvgPool层、BiLSTM层和MaxPool层、CRF层组成. 模型结构如图1所示.
-
词性是按照词的语法功能划分出来的类别,能够反映这类词的语法特征. 在SRL中,名词常常作为施事或者受事存在,动词则一般被标记为核心成分,因此在实验语料中添加词性特征可以帮助模型更好地理解各个标签所代表的语言学含义. 短语句法结构旨在标记出句子序列的短语结构层级,其中蕴藏丰富的语言学线索和语义信息,所以短语句法特征可以增强模型处理长句的能力. 针对以上两种特征的特性,将其作为附加特征与句子序列共同送入模型.
-
本文中SRL模型融入了多层级线索特征,丰富的特征信息可以有效增强模型的标注性能,但是过多的线索特征增加了训练难度和特征选择工作量,以及模型训练中会存在较多无用特征信息,反过来制约标注模型性能. 位置信息特征对于自然语言处理,尤其是SRL显得尤为重要[5]. 例如句首一般是施事,句尾通常是受事,核心成分则介于二者之间[5]. 由于平均池化技术具有特征旋转不变、同时减少网络参数等特点. 故针对以上特性,本文利用平均池化手段对多特征组采样提取,剔除冗余,更好地释放多线索特征给模型性能带来的提升. 平均池化层特征向量映射关系如图2所示.
-
多特征组经过平均池化层的采样选取,与句子序列映射的词嵌入共同拼接成新的输入,送入BiLSTM层. BiLSTM由两个方向相反的LSTM组成,分别提取前向和后向的语义信息,最后拼接成新的融合上下文语义信息的隐藏层特征. 第i个词的隐藏层状态如下:
$ {h_i} = \left[ {\overrightarrow {{h_t}} \oplus \overleftarrow {{h_t}} } \right], $ 其中,
$ {h_i} $ 为第i个词的隐藏层状态,$ {{\overrightarrow {h}_t}}$ 为t时刻正向隐藏层状态,$ {{\overleftarrow {h}_t}}$ 为t时刻反向隐藏层状态,$ \oplus $ 为正反向隐藏层状态做拼接. -
最大池化技术在卷积网络中具有减少网络参数、降低网络复杂度,减少模型训练时间的作用. 针对以上特性,将MaxPool引入模型,对BiLSTM层输出的隐藏状态进行采样提取,剔除BiLSTM输出的冗余信息.
-
不同于一般的序列标注任务,SRL任务中,相邻词语之间存在较强关联. 例如,标签B-ARG2 之后只能是O、B-X或者I-ARG,其余的标签都是明显错误的. 因此,直接将BiLSTM输出的最大概率对应的标签作为预测标签是不合理的. CRF层可以学习到标签之间的约束关系,提升模型性能.
-
本文基于Pytorch深度学习框架搭建实验所需的模型,借助开源的自然语言处理工具包Berkeley Parser[14]对语料进行短语句法分析,共解析出24种短语句法关系. 实验采用的CPB数据集语义描述全面、标签准确,且附带对应的词性标注. 经过筛选和统计,训练集共有178 212句,测试集共有1 115句. 统计18 418个词,选取前13 000个词作为词表,不在其中的词全部替换成_UNK. 在原始语料中加入词性组成基础语料. 图3为基础语料中的一句话.
此外,本文采取准确率(Precision)、召回率(Recall)和F1值作为SRL中论元识别性能评测指标.
-
模型使用表1中超参数设定值进行训练.
超参数 设定值 词向量维度 300 Dropout丢弃率 0.5 学习率 0.003 表 1 超参数设置表
Table 1. The table of hyperparameter setting
-
实验1:在原始语料中添加词性特征,组成基础语料作为本次实验的训练语料. 测试对比BiLSTM、BiLSTM-CRF和BiLSTM-MaxPool-CRF 3种模型的评价指标. 表2是3种模型性能测试对比结果,其中BiLs是BiLSTM的简写,MaxP是MaxPool的简写,接下来的实验图表全部使用这种缩写方式.
模型 准确率 召回率 F1值 BiLs 73.58 71.06 72.26 BiLs-CRF 74.51 78.84 76.61 BiLs-MaxP-CRF 80.24 77.39 78.79 表 2 3种模型性能测试对比
Table 2. Performance comparison of three models
% 通过分析表2可知,本文提出的BiLSTM- MaxPool-CRF模型效果最优,F1值达到78.79%. BiLSTM模型各方面指标均远远落后于其它两种模型,因此本文接下来的实验研究只选用BiLSTM-CRF和BiLSTM-MaxPool-CRF两种模型. 通过对模型预测结果进行分析,发现3种模型在预测长句核心成分时,错误率较高;BiLSTM预测的结果中,非法标签大量被预测,这是导致其F1值低的主要原因.
实验2:分析实验1中3种模型的标记结果,发现模型在处理长句时,核心成分错误标记现象较多,限制了模型整体性能的提升. 通过对语料构成进行分析,发现语料中句子长度存在较大差距,且长句式居多. 考虑到句式长度对标注模型性能的影响,本实验探索针对性添加论元标记特征是否可以增强BiLSTM-CRF和BiLSTM- MaxPool-CRF两种模型对核心成分的识别能力,进一步提升模型性能.
图4是不同句式占比情况统计,其中将句子的组成超过20个词语的统计为超长句;小于20个词语大于15个词语的统计为长句;小于15个词语,大于10个词语的统计为中长句;小于10个词语的统计为短句.
观察发现,语料中超长句最多,短句最少. 图5是论元标记图,即将一句话中核心成分标记为rel,其余所有成分均标记为0.
表3是两种模型添加论元特征之后,模型性能测试对比结果.
模型 准确率 召回率 F1值 BiLs-CRF 76.96 77.57 77.26 BiLs-MaxP-CRF 79.37 79.30 79.34 表 3 融入论元特征性能测试对比
Table 3. Performance comparison of models fused with argument features
% 分析表3结果,两种模型各项指标均出现提升,提升幅度类似. 通过对预测结果分析,发现长句中核心成分标记准确率确实得到提升,本次实验论证了添加论元标记特征可以有效地帮助模型识别核心成分,达到提升模型性能的效果.
实验3:在实验2添加词性、论元标记两种特征的基础上,进一步添加短语句法特征. 测试对比融入短语句法特征对模型性能的提升效果,测试结果如表4所示.
模型 准确率 召回率 F1值 BiLs-CRF 77.39 79.82 78.59 BiLs-MaxP-CRF 79.84 80.54 80.19 表 4 融入短语句法特征性能测试对比
Table 4. Performance comparison of models fused with short syntax features
% 分析表4可以看出,融合短语句法特征的模型性能出现显著提升. 短语句法作为反应句子短语层次结构的特征,含有丰富的语言学线索和语义信息,能为模型识别语义角色提供帮助.
实验4:前3组实验通过分别添加词性、论元标记、短语句法特征,证明针对性添加的多特征组可以有效增加模型性能. 但是随着添加特征的增多,模型训练难度也相应增加. 本实验探索使用不同池化技术是否可以进一步强化多特征组对模型性能的提高. 表5中的模型采用平均池化技术对特征组进行采样,表6中的模型采用最大池化技术对多特征组进行采样,其中AvgP是AvgPool的缩写,接下来图表皆使用这种简写.
模型 准确率 召回率 F1值 AvgP-BiLs-CRF 80.36 80.71 80.53 AvgP-BiLs-MaxP-CRF 80.99 82.42 81.70 表 5 平均池化技术对模型性能提升测试对比
Table 5. Comparison of the improvement of model performance by average pooling technology
% 模型 准确率 召回率 F1值 MaxP-BiLs-CRF 79.92 79.08 79.50 MaxP-BiLs-MaxP-CRF 80.95 80.63 80.79 表 6 最大池化技术对模型性能提升测试对比
Table 6. Comparison of the improvement of model performance by maximum pooling technology
% 通过对测评结果进行分析,可以发现采取AvgPool技术对多特征向量组进行采样的两组模型各方面指标提升显著,采取MaxPool技术的两组模型评价指标略有提升. 因为相比于MaxPool技术选取窗口内最大特征的做法,AvgPool对窗口内特征求和取平均的做法可以更加有效地保留特征组所包含的语言学信息,同时还起到简化训练参数,降低训练难度的作用. 因此,本文采取AvgPool技术对特征组进行采样.
图6是模型性能对比图. 其中Base代表基础语料;Rel代表基础语料中添加论元标记;Phrase代表基础语料中添加论元标记、短语句法特征;AvgP代表添加词性、论元标记、短语句法3种特征,同时采用AvgPool技术对多特征组进行平均池化.
从图6可知,在语料相同的情况下,采取MaxPool技术对BiLSTM层的输出采样,均可以有效地提升模型性能. 融合词性、论元标记、短语句法特征,同时采用AvgPool技术对多特征组进行平均池化的模型性能最优,F1值达到81.7%.
-
本文设置多组对照实验,首先实验1使用融入词性特征的语料作为训练语料,测试对比BiLSTM、BiLSTM-CRF和BiLSTM-MaxPool–CRF 3种序列标注模型的综合性能. 发现添加CRF层可以有效地学习到相邻词语间的约束关系,对模型标注性能提升较大
实验2、3是在实验1的基础上,分析两组模型预测的错误结果,猜想可能存在的原因且提出解决问题的方案,进而通过实验验证猜想的正确性. 对预测的错误结果统计分析发现有两种错误现象较为明显,分别是长句的谓语成分预测错误率较高和短句的非核心成分预测错误率较高. 句子的长短对模型性能影响较大,在处理长句时,模型不能较好地捕捉句子长距离的语义依赖关系,就会出现谓语成分预测错误,甚至一句话预测多个谓语成分的现象,实验2引入的论元标记特征提升了模型识别谓语成分的准确率,尤其在处理长句时提升效果更为显著. 相比于长句谓语成分错误率较高,两组模型在处理短句时,识别一些常见的短语结构容易出错. 实验3融合的短语句法特征解决了这个问题. 实验2、3通过融合针对性特征解决模型预测时出现的问题,但是发现融合特征的种类越多,模型收敛速度越慢,模型训练难度越大,并且特征对模型性能提升幅度减缓. 实验4通过对多特征采取平均池化手段,进一步提升模型标注性能,同时降低模型训练难度.
-
将前人SRL结果与本文最终得到的实验结果进行对比,结果如表7所示.
表 7 最终实验结果与前人结果对比
Table 7. Comparison of final experimental results with previous results
% 文献[12]和文献[13]同本文实验所采取的语料均为CPB数据集. 通过表7对比可知,基于本文提出的方法进行SRL,模型性能优于前人结果.
-
针对经典序列标注模型BiLSTM-CRF存在的网络参数多、训练难度大等问题,提出借助最大池化技术对BiLSTM层输出采样选取,减少模型参数,降低模型拟合难度;同时在模型中融入多种语言学特征,帮助模型更好地理解汉语语义;最后采取平均池化技术对多特征组采样,进一步提升模型性能. 通过分析预测结果,发现模型不能较好地分辨语料中出现频率较少的语义角色,例如外国地名、人名等. 在未来的研究工作中,拟探索使用大规模语料训练的预训练模型作为CPB数据集的词嵌入,将开放领域学习到的知识迁移到SRL模型中,提升模型性能.
结合池化技术和特征组的汉语语义角色标注
Chinese Semantic Role Labeling combined with pooling technology and feature groups
-
摘要: 利用基于统计机器学习方法进行汉语语义角色标注(Semantic Role Labeling,SRL)存在人工抽取特征工作繁琐低效、模型难以捕捉长句上下文语义信息等问题. 对此,提出BiLSTM-MaxPool-CRF融合模型进行汉语SRL,同时进行模型性能优化研究. 首先,在训练语料中融入词性、论元标记、短语句法等多层级语言学特征;然后,结合AvgPool技术对特征组进行采样选取;最后,通过多组实验结果表明,相比于未采样提取的多特征组,经过池化技术采样提取的多特征能够显著提高模型的性能.
-
关键词:
- 汉语语义角色标注 /
- BiLSTM-CRF /
- 池化技术 /
- 语言学特征 /
- 多特征
Abstract: There are problems in Chinese Semantic Role Tagging (SRL) based on statistical machine learning methods. For example, manual feature extraction is cumbersome and inefficient, and the model is difficult to capture the contextual semantic information of long sentences. Regarding the issue above, this paper proposes a BiLSTM-MaxPool-CRF fusion model for Chinese SRL, and conducts model performance optimization research. Firstly, multi-level linguistic features such as part of speech, argument markers, short syntax are incorporated into the training corpus. Then, the average pooling technology is used to sample and select multiple feature vector groups to eliminate feature redundant information. Finally, the results of multiple sets of experiments show that compared to the multi-level features extracted without sampling, the multi-features extracted through the average pooling technique can significantly improve the performance of the sequence annotation model. -
表 1 超参数设置表
Table 1. The table of hyperparameter setting
超参数 设定值 词向量维度 300 Dropout丢弃率 0.5 学习率 0.003 表 2 3种模型性能测试对比
Table 2. Performance comparison of three models
% 模型 准确率 召回率 F1值 BiLs 73.58 71.06 72.26 BiLs-CRF 74.51 78.84 76.61 BiLs-MaxP-CRF 80.24 77.39 78.79 表 3 融入论元特征性能测试对比
Table 3. Performance comparison of models fused with argument features
% 模型 准确率 召回率 F1值 BiLs-CRF 76.96 77.57 77.26 BiLs-MaxP-CRF 79.37 79.30 79.34 表 4 融入短语句法特征性能测试对比
Table 4. Performance comparison of models fused with short syntax features
% 模型 准确率 召回率 F1值 BiLs-CRF 77.39 79.82 78.59 BiLs-MaxP-CRF 79.84 80.54 80.19 表 5 平均池化技术对模型性能提升测试对比
Table 5. Comparison of the improvement of model performance by average pooling technology
% 模型 准确率 召回率 F1值 AvgP-BiLs-CRF 80.36 80.71 80.53 AvgP-BiLs-MaxP-CRF 80.99 82.42 81.70 表 6 最大池化技术对模型性能提升测试对比
Table 6. Comparison of the improvement of model performance by maximum pooling technology
% 模型 准确率 召回率 F1值 MaxP-BiLs-CRF 79.92 79.08 79.50 MaxP-BiLs-MaxP-CRF 80.95 80.63 80.79 -
[1] 刘挺, 车万翔, 李生. 基于最大熵分类器的语义角色标注[J]. 软件学报, 2007, 18(3): 565-573. DOI: 10.1360/jos180565. Liu T, Che W X, Li S. Semantic role labeling with maximum entropy classifier[J]. Journal of Software, 2007, 18(3): 565-573. [2] Yu J D, Fan X Z, Pang W B, et al. Semantic role labeling based on conditional random fields[J]. Journal of Southeast University: English Edition, 2007, 23(3): 361-364. [3] Zhou J, Xu W. End-to-end learning of semantic role labeling using recurrent neural networks[C] //Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing, Beijing, China, 2015: 1 127-1 137. [4] Wang Z, Jiang T S, Chang B B, et al. Chinese semantic role labeling with bidirectional recurrent neural networks[C]// Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, Lisbon, Portugal, 2015: 1 626-1 631. [5] 王一成, 万福成, 马宁. 融合多层次特征的中文SRL[J]. 智能系统学报, 2020, 15(1): 107-113. Wang Y C, Wan F C, Ma N. Chinese semantic role labeling with multi-level linguistic fertures[J]. CAAI Transactions on Intelligent Systems, 2020, 15(1): 107-113. [6] Huang Z Y, Xu W, Yu K. Bidirectional LSTM-CRF models for sequence tagging[J]. arXiv: 1508. a991, 2015. [7] 王步康, 王红玲, 袁晓虹, 等. 基于依存句法分析的中文SRL[J]. 中文信息学报, 2010, 24(1): 25-29. DOI: 10.3969/j.issn.1003-0077.2010.01.005. Wang B K, Wang H L, Yuan X H, et al. Chinese dependency parse based semantic role labeling[J]. Journal of Chinese Information Processing, 2010, 24(1): 25-29. [8] 邵艳秋, 穗志方, 吴云芳. 基于词汇语义特征的中文SRL研究[J]. 中文信息学报, 2009, 23(6): 3-10. DOI: 10.3969/j.issn.1003-0077.2009.06.001. Shao Y Q, Sui Z F, Wu Y F. Chinese semantic role labeling based on lexical semantic features[J]. Journal of Chinese Information Processing, 2009, 23(6): 3-10. [9] 李国臣, 吕雷, 王瑞波, 等. 基于同义词词林信息特征的语义角色自动标注[J]. 中文信息学报, 2016, 30(1): 101-107. Li G C, Lyu L, Wang R B, et al. Semantic role labeling based on Tongyici Cilin derived features[J]. Journal of Chinese Information Processing, 2016, 30(1): 101-107. [10] 何保荣, 邱立坤, 孙盼盼. 基于句式与句模对应规则的SRL[J]. 中文信息学报, 2018, 32(4): 59-65. He B R, Qiu L K, Sun P P. Semantic role labeling based on correspondence rules between syntactic pattern and semantic pattern[J]. Journal of Chinese Information Processing, 2018, 32(4): 59-65. [11] 王一成, 万福成, 马宁. 基于条件随机场的多线索中文SRL[J]. 云南大学学报: 自然科学版, 2020, 42(3): 474-480. DOI: 10.7540/j.ynu.20190397. Wang Y C, Wan F C, Ma N. Multi-clue Chinese semantic role labeling based on conditional random fields[J]. Journal of Yunnan University: Natural Scien ces Edition, 2020, 42(3): 474-480. [12] 张苗苗, 刘明童, 张玉洁, 等. 融合Gate过滤机制与深度Bi-LSTM-CRF的汉语SRL[J]. 情报工程, 2018, 4(2): 45-53. Zhang M M, Liu M T, Zhang Y J, et al. The integration of gated filtering mechanism and deep Bi-LSTM-CRF for Chinese semantic role labeling[J]. Technology Intelligence Engineering, 2018, 4(2): 45-53. [13] 王旭阳, 朱鹏飞. 基于模糊机制和语义密度聚类的汉语自动SRL研究[J]. 计算机应用与软件, 2019, 36(9): 76-82. DOI: 10.3969/j.issn.1000-386x.2019.09.014. Wang X Y, Zhu P F. Chinese automatic semantic role labeling based on fuzzy mechanism and semantic density clustering[J]. Computer Applications and Software, 2019, 36(9): 76-82. [14] Berkeley Parser[Z/QL]. [2020-07-16]. http://code.google.com/p/berkeleyparser/ -