微博等社交媒体数据承载着大量舆情信息及商业信息。近年来,面向微博语料的自然语言处理任务如情感分析[1]、实体识别[2-3]、事件抽取[4]、中文微博分词[5-6]等受到广泛关注。目前,很多分词系统在传统语料(例如新闻和专利)上的效果较好[7-9], 但很多分词系统在微博语料上的分词结果会显著下降[5-6]。
面向微博的分词任务的难点在于:微博语料涵盖内容宽泛,具有跨领域性,且公开的训练语料规模较小,分词器模型得不到充分训练。因此,构建大规模训练语料,可以有效提高面向微博的中文分词效果。在扩充训练语料时,主动学习方法被广泛用于挑选更具标注价值的语料[10-13]。
目前有很多中文分词的主动学习方法,文[13]提出词边界标注模型(word boundary annotation,WBA),根据条件随机场(conditional random fields,CRFs)标注结果计算字标注结果的不确定性,计算如下:
$ \mathit{H}\left( \mathit{c} \right){\rm{ = }}\mathop {{\rm{max}}}\limits_{\mathit{x} \in \left\{ {\mathit{N}{\rm{, }}\mathit{Y}} \right\}} {\rm{}}{\mathit{P}_\mathit{x}}\left( \mathit{c} \right){\rm{ - 0}}{\rm{.5}}{\rm{.}} $ | (1) |
其中:Px(c)表示字符c被标注为x的后验概率;N包括CRFs四字标注集中的B(词首)和M(中间);Y包括E(词尾)和S(单字词)。H(c)值越低,该字的标注结果越不确定,标注价值越高。
文[14]提出使用基于最邻近规则衡量字标签的不确定性,并通过最近邻集合熵和欧氏距离计算样本的多样性。文[15]提出了一种基于置信度的主动学习分词算法。上述方法虽然在传统语料上取得了显著成果,但无法合理处理微博语料,因为微博语料中存在大量局部内容相同但整体不同的句子,如:
样例a:#微评#弱势群体怎能被“弱视”?
样例b:#微评#拍饭有风险!
由于传统主动学习方法对样例差异性的要求过于严苛,若样例a被选中,则样例b通常会被过滤掉,导致样例b中其他有价值的信息无法被考察。为此,本文提出λ-主动学习方法,该方法比基线系统和目前最佳的主动学习方法——WBA提升效果更显著。
1 基于半监督方法的初始分词器基于主动学习的中文分词方法首先需要构建初始分词器。由于大规模未标注语料中存在很多同现信息和字边界信息(例如标点符号通常是前词的右边界,是后词的左边界),因此半监督方法能够有效利用未标注语料来提高分词效果[16-17]。实验中,本文使用CRFs模型作为初始分词器。在训练CRFs模型时,除使用窗口为5的上下文特征外,还使用从未标注语料中自动提取的点互信息和停用字相似度信息作为半监督学习的特征。
1.1 点互信息点互信息(pointwise mutual information, PMI)是一种用来度量关联性的统计量,本文使用PMI来衡量字与字之间的共现程度,计算如下:
$ {\rm{PMI}}\left( {\mathit{x}{\rm{, }}\mathit{y}} \right){\rm{ = log}}\frac{{\mathit{P}\left( {{\mathit{x }},\mathit{y}} \right)}}{{\mathit{P}\left( \mathit{x} \right)\mathit{P}\left( \mathit{y} \right)}}{\rm{.}} $ | (2) |
其中:x、y表示语料中的字,P(x, y)表示x和y作为相邻二元字串出现的概率,P(x)、P(y)分别表示x和y在整个语料中出现的概率。
根据式(2),从未标注语料中统计所有二元字串的PMI。构造训练语料时,考虑CRFs模型学习的特征是离散的,将二元字串的PMI向上取整,获得(C0,
词向量的提出使得在无监督条件下获得语料中词或字的语义信息成为可能[18-19]。在训练CRFs模型时,本文利用word2vec模型在未标注语料上训练得到字向量,并构建停用字集合,进而得到当前字成为停用字的可能性。
构建停用字集合时,首先人工收集高频停用字作为种子集合。根据实验效果,种子集合中保留了11个常用的标点和单字词:{“我”,“是”,“的”,“了”,“在”,“。”,“,”,“、”,“;”,“!”,“?”}。利用字向量计算当前字与种子集合的相似度,进而扩展种子集合。
$ {\rm{AvgSim(token, SCse}}{{\rm{t}}^\mathit{N}}{\rm{) = }}\frac{1}{\mathit{N}}\sum\limits_{\mathit{i} = 1}^\mathit{N} {{\rm{sim(token, char}}{{\rm{a}}_\mathit{i}}{\rm{)}}} {\rm{.}} $ | (3) |
其中:N是种子集合SCset中元素的个数,charai是集合SCset中的第i个停用字字串,
训练字向量时,本文收集了30万条未标注的微博语料,训练得到字向量。训练参数:维度为200,窗口为9,最低词频为1。
利用字向量和式(3)计算得到当前字与种子集合相似度后,按照相似度值从高到低排序,选择相似度较高的前M个字加入种子集合中。经过T(本文实验中T=3,此为经验值)次迭代后得到最终的停用字集合。利用字向量计算语料中每个字与停用字集合中字串的相似度,取其中的最大值作为该字成为停用字的可能性stopProb。考虑CRFs模型学习的特征是离散的,本文对stopProb进行了离散化处理,处理方法如下:
$ {\rm{simCRF = }}\left\{ \begin{array}{l} {\rm{ - 1, }}\;\;\;\;\;\;\;\;{\rm{stopProb < 0;}}\\ {\rm{ - 2, }}\;\;\;\;\;\;\;\;{\rm{stopProb = 0;}}\\ \left\lceil {{\rm{stopProb}} \times {\rm{10}}} \right\rceil {\rm{, }}\;\;\;\;\;\;{\rm{stopProb > 0}}{\rm{.}} \end{array} \right. $ | (4) |
在主动学习过程中,使用初始分词器对未标注语料进行标注,采用一定策略计算每个样例整体的标注价值,根据样例标注价值选取语料,并进行多次迭代直到达到终止条件,获得最终的分词器。图 1为基于主动学习的中文分词算法。
2.2 字边界的差异性
由于微博语料中存在大量局部相同而整体不同的句子(如前言中样例a和样例b所示),在利用主动学习方法选取语料的过程中,如果对样例的差异性要求过于宽松,则会选入很多重复的语料,增加人工标注的工作量;如果对样例的差异性要求过于严苛,则会漏选有价值的语料。
确保样例的多样性是所有主动学习方法选择语料时需要解决的问题,但现有的主动学习方法对于局部相同但整体不同的语料的选择过于严苛,选取语料时无法合理控制此类语料的数量。为此,本文在主动学习过程中引入参数λ。由于字边界的差异性与其上下文字符密切相关,因此本文利用字边界的上下文一元字符来考察字边界的差异性,并构造了式(5)计算字边界的差异性。
$ \mathit{F}\left( \mathit{c} \right){\rm{ = - (}}{\mathit{d}^\mathit{t}}\left( \mathit{c} \right){\rm{/}}\mathit{\lambda }{{\rm{)}}^{\rm{3}}}{\rm{.}} $ | (5) |
其中:c表示当前被考察的字符,dt(c)表示c的上下文t出现的频度,初始时为0,当c第i+1次遇到上下文t时,di+1t(c)=dit(c)+1。该方法通过参数λ对抽取的重复样例的个数进行控制。当dt(c)<λ时,其差异性取值为(-1, 0),对字的标注价值影响较小;而随着dt(c)的增加,F(c)下降的速度会增大,字边界的差异性对字的标注价值的影响越来越大。当λ取不同值时,字边界的差异性的变化曲线如图 2所示。
2.3 字标注结果的不确定性
在主动学习迭代过程中,除确保语料的多样性,还要保证所选样例能够对重新训练模型提供有价值的信息,即所选样例的标注结果应具有不确定性。为此,本文提出新的计算公式,以衡量字标注结果的不确定性:
$ {\mathit{H}_{{\rm{category}}}}\left( \mathit{c} \right){\rm{ = - }}\sum\limits_{\mathit{i}{\rm{ = }}\mathit{N}{\rm{, }}\mathit{Y}}^{} {{\rm{(}}{\mathit{P}_\mathit{i}}\left( \mathit{c} \right){\rm{ + }}\mathit{\varepsilon }{\rm{)log(}}{\mathit{P}_\mathit{i}}\left( \mathit{c} \right){\rm{ + }}\mathit{\varepsilon }{\rm{)}}} {\rm{.}} $ | (6) |
其中:PN(c)=PB(c)+PM(c);PY(c)=PE(c)+PS(c),PB(c)表示根据CRFs模型的标注结果,字符c被标注为B的后验概率; PM(c)、PE(c)、PS(c)的意义与PB(c)的意义类似;c表示当前被考察的字符;ε是调节参数,可防止Pi(c)为0时产生的光滑性问题。Hcategory(c)越大,该字符的不确定性越高,对重新训练模型越有价值。
上述方法将CRFs的标注集划分为2类(即N和Y),可能在一定程度上模糊了标注结果的分布信息。为考察将4种标签合并为2类后是否会掩盖有用信息,本文还提出一种基于4种标签的字标注结果不确定性计算方法:
$ {\mathit{H}_{{\rm{label}}}}\left( \mathit{c} \right){\rm{ = - }}\sum\limits_{\mathit{i}{\rm{ = }}\mathit{B}{\rm{, }}\mathit{E}{\rm{, }}\mathit{M}{\rm{, }}\mathit{S}}^{} {{\rm{(}}{\mathit{P}_\mathit{i}}\left( \mathit{c} \right){\rm{ + }}\mathit{\varepsilon }{\rm{)log(}}{\mathit{P}_\mathit{i}}\left( \mathit{c} \right){\rm{ + }}\mathit{\varepsilon }{\rm{)}}} {\rm{.}} $ | (7) |
选取样例时,综合考虑样例中所包含的字的标注价值,进而获得每个样例整体的标注价值。判断字标注价值时,计算如下:
$ {\mathit{\varphi }_\mathit{c}}\left( \mathit{c} \right){\rm{ = }}\mathit{\alpha H}\left( \mathit{c} \right){\rm{ + }}\mathit{\beta F}\left( \mathit{c} \right){\rm{.}} $ | (8) |
其中H(c)表示字标注结果的不确定性。采用2种计算方法,分别为Hcategory(c)和Hlabel(c);F(c)表示字边界的差异性;α和β表示字标注结果的不确定性和字边界的差异性在计算字的标注价值时的权重,α+β=1。
中文分词任务的训练语料是基于句子的,因此,在选取需要进行人工修正的样例时,样例整体的标注价值比字的标注价值更具有参考性。本文提出3种策略计算样例S整体的标注价值。
(1) Avg:计算样例中所有字的标注价值的平均值作为样例的标注价值φ(S)。
(2) Max:选择样例中所有字的标注价值中的最大值作为样例S的标注价值φ(S)。
(3) AvgMax:将样例中所有字的标注价值的平均值和最大值相加,作为样例S的标注价值φ(S)。
采用这3种策略挑选样例进行人工修正和迭代训练,在实验分析部分会给出采用上述3种方法的实验效果的对比分析。
3 实验设计及结果分析 3.1 实验语料实验使用的训练语料和测试语料是NLPCC 2015公布的面向微博的中文分词评测任务的语料[6](http://nlp.fudan.edu.cn/nlpcc2015),详细信息如表 1所示。此外,本文还使用了未标注的背景语料(包括300 000条微博,约20 000 000个字),用于训练基于半监督方法的初始分词器(http://www.sina.com.cn/)。
3.2 评价方法
实验采用精确率、召回率和F值对分词结果进行评价,3个评价指标的计算方法为:
精确率=分词结果中正确的词语个数/分词结果中的总词数;
召回率=分词结果中正确的词语个数/标准答案中词语的总数;
F值=(2×召回率×精确率)/(召回率+精确率)。
3.3 实验结果1) 初始分词器。
用于主动学习方法的初始分词器是基于字的CRFs序列标注模型。除提取窗口为5的上下文作为CRFs模型的特征外,还利用大量未标注语料获得半监督特征。实验结果如表 2所示。
分词器 | 精确率/% | 召回率/% | F值/% |
Baseline | 93.46 | 92.99 | 93.22 |
BaselinePMI | 93.71 | 93.35 | 93.53 |
BaselinePMI+CE | 94.02 | 93.71 | 93.87 |
(1) Baseline:表示利用上下文等基础特征训练CRFs模型得到的分词器。
(2) BaselinePMI:表示在训练CRFs模型时,除了使用Baseline的基础特征外,还使用语料中连续二字串的PMI值作为特征。
(3) BaselinePMI+CE:表示在训练CRFs模型时,除了使用基础特征和PMI值外,还使用当前字成为停用字的可能性作为特征。
由表 2中可知,从大规模未标注语料中自动提取的PMI值有效提高了初始分词器的分词效果;利用字向量和停用字集合计算得到的停用字相似度这个特征又进一步提高了分词结果。因此,本文选择BaselinePMI+CE作为λ-主动学习的初始分词器。
2) λ-主动学习方法分词结果。
为了更加有效地控制样例的差异性,本文在主动学习过程中引入参数λ,通过参数λ对字边界的差异性进行衡量,从而限制所选的相似样例的数量。实验过程中本研究对参数λ的取值进行了多次调整,λ取不同值时对主动学习方法的影响如图 3所示。
数据表明,当λ=5时,分词结果最佳。该结果说明:每次主动学习迭代的过程中,对于局部相同但整体不同的样例的选取数量控制在5时,模型重新训练后的效果最佳,分词结果提升效果最为显著。最终设定λ-主动学习方法的参数λ的值为5。
在主动学习选择样例的过程中,除引入参数λ外,还提出3种不同的策略对样例整体的标注价值进行衡量。图 4展示了基于不同计算策略的主动学习方法的分词结果的F值随着迭代次数的增加而发生的变化。其中,Avg、Max和AvgMax为节2.4介绍的计算策略;WBA是对目前用于中文分词任务中效果最佳的主动学习方法WBA的重现[13];Random是指在每次迭代过程中随机选择一定数量的语料进行人工修正。为了保证实验对比的公平性,每次迭代过程中,所有策略所选取的语料的数量是相同的(都是500条微博)。实验中,计算字的标注价值时,字标注结果的不确定性的权重α和字边界的差异性的权重β分别取经验值0.5。
图 4数据表明:每次迭代过程中,Max方法的F值都显著高于其他选择策略,说明Max方法在选择语料时,能有效选取更具标注价值的语料;此外,随着迭代次数的增加,所有方法的分词效果均处于上升趋势,说明语料的增加有助于提高分词效果;但是随着语料的不断增加,分词效果的上升速度逐渐趋于平稳,甚至有所下降,该现象的一个可能的原因是,当语料增加到一定规模时,模型出现过拟合现象。
表 3为迭代过程中每种方法所达到的最高F值。可以看出,基于Max方法的分词结果的F值高于其他方法,且该方法与初始分词器相比,有显著提高(提高了0.84%),比文[13]提出的WBA方法也有所提高,再次说明本文提出的Max方法在主动学习过程中能够有效选择具有较高标注价值的样例。
分词器 | 迭代次数 | 精确率/% | 召回率/% | F值/% |
BaselinePMI+CE | — | 94.02 | 93.71 | 93.87 |
Max | 9 | 95.06 | 94.36 | 94.71 |
Avg | 10 | 94.97 | 94.25 | 94.61 |
AvgMax | 10 | 95.05 | 94.33 | 94.69 |
WBA | 8 | 95.01 | 94.34 | 94.67 |
Random | 10 | 94.74 | 94.03 | 94.39 |
此外,还对本文提出的2种衡量字的不确定性的方法Hcategory(c)和Hlabel(c)进行了比较,实验结果如图 5所示,两种方法的实验结果比较接近,但是Hcategory(c)方法更加稳定,且该方法取得的最佳的F值比Hlabel(c)方法更高。该结果说明:将4种标注集划分为2类后,并不会模糊4种标签之间的信息,反而为选取有效样例提供了帮助。因此,本文最终的系统采用Hcategory(c)方法。
4 结论
本文根据微博语料中存在大量局部相同而整体不同的句子的特点,提出了λ-主动学习方法。该方法的初始分词器采用基于半监督方法的CRFs模型,在主动学习迭代的过程中,通过参数λ对字边界的差异性进行衡量,采用基于Max的方法计算样例整体的标注价值。实验结果表明,该方法优于目前该领域最佳的WBA主动学习方法。在下一步的研究中,希望在本文所提方法的基础上,尽量减少或避免人工标注工作,自动获取大规模训练语料。
[1] | NGUYEN T H, SHIRAI K. Topic modeling based sentiment analysis on social media for stock market prediction[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: ACL, 2015: 1354-1364. |
[2] | LIU X H, ZHOU M, WEI F R, et al. Joint inference of named entity recognition and normalization for tweets[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics. Jeju Island, Korea: ACL, 2012: 526-535. |
[3] | LI C, LIU Y. Improving named entity recognition in tweets via detecting non-standard words[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: ACL, 2015: 929-938. |
[4] | DONG G Z, LI R G, YANG W, et al. Microblog burst keywords detection based on social trust and dynamics model[J]. Chinese Journal of Electronics, 2014, 23(4): 695–700. |
[5] | QIU X P, QIAN P, YIN L S, et al. Overview of the NLPCC 2015 shared task:Chinese word segmentation and POS tagging for micro-blog texts[J]. Natural Language Processing and Chinese Computing. Berlin, Germany:Springer, 2015: 541–549. |
[6] | QIU X P, QIAN P, SHI Z. Overview of the NLPCC-ICCPOL 2016 shared task:Chinese word segmentation for micro-blog texts[J]. Natural Language Understanding and Intelligent Applications. Berlin, Germany:Springer, 2016: 901–906. |
[7] | TSENG H, CHANG P C, ANDREW G, et al. A conditional random field word Segmenter for SIGHAN bakeoff 2005[C]//Proceedings of the 4th SIGHAN Workshop on Chinese Language Processing. Jeju Island, Korea: ACL, 2005: 168-171. |
[8] | ZHANG H P, YU H K, XIONG D Y, et al. HHMM-based Chinese lexical analyzer ICTCLAS[C]//Proceedings of the 2nd SIGHAN Workshop on Chinese Language Processing. Sapporo, Japan: ACL, 2003: 184-187. |
[9] |
黄德根, 焦世斗, 周惠巍.
基于子词的双层CRFs中文分词[J]. 计算机研究与发展, 2010, 47(5): 962–968.
HUANG D G, JIAO S D, ZHOU H W. Dual-layer CRFs based on subword for Chinese word segmentation[J]. Journal of Computer Research and Development, 2010, 47(5): 962–968. (in Chinese) |
[10] | TANG M, LUO X Q, ROUKOS S. Active learning for statistical natural language parsing[C]//Proceedings of the 40th Annual Meeting on Association for Computational Linguistics. Philadelphia, USA: ACL, 2002: 120-127. |
[11] | LI S S, XUE Y X, WANG Z Q, et al. Active learning for cross-domain sentiment classification[C]//Proceedings of the 23rd International Joint Conference on Artificial Intelligence. Beijing, China: AAAI, 2013: 2127-2133. |
[12] | CHEN Y K, LASKO T A, MEI Q Z, et al. A study of active learning methods for named entity recognition in clinical text[J]. Journal of Biomedical Informatics, 2015, 58: 11–18. DOI:10.1016/j.jbi.2015.09.010 |
[13] | LI S S, ZHOU G D, HUANG C R. Active learning for Chinese word segmentation[C]//Proceedings of COLING 2012: Posters. New York, USA: ACM, 2012: 683-692. |
[14] |
梁喜涛, 顾磊.
基于最近邻的主动学习分词方法[J]. 计算机科学, 2015, 42(6): 228–232, 261.
LIANG X T, GU L. Active learning in Chinese word segmentation based on nearest neighbor[J]. Computer Science, 2015, 42(6): 228–232, 261. (in Chinese) |
[15] |
冯冲, 陈肇雄, 黄河燕, 等.
基于Multigram语言模型的主动学习中文分词[J]. 中文信息学报, 2006, 20(1): 50–58.
FENG C, CHEN Z X, HUANG H Y, et al. Active learning in Chinese word segmentation based on Multigram language model[J]. Journal of Chinese Information Processing, 2006, 20(1): 50–58. (in Chinese) |
[16] | SUN W W, XU J. Enhancing Chinese word segmentation using unlabeled data[C]//Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing. Edinburgh, UK: ACL, 2011: 970-979. |
[17] | ZHAO H, KIT C Y. Exploiting unlabeled text with different unsupervised segmentation criteria for Chinese word segmentation[J]. Research on Computing Science, 2008, 33: 93–104. |
[18] | MIKOLOV T, YIH W T, ZWEIG G. Linguistic regularities in continuous space word representations[C]//Proceedings of the 2013 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Atlanta, USA: ACL, 2013: 746-751. |
[19] | CHEN X X, XU L, LIU Z Y, et al. Joint learning of character and word embeddings[C]//Proceedings of the 24th International Conference on Artificial Intelligence. Buenos Aires, Argentina: AAAI, 2015: 1236-1242. |