词性标注调研

定义

词性用来描述一个词在上下文中的作用。词性标注(Part-of-Speech或POS tagging)是指对于句子中的每个词都指派一个合适的词性,也即确定每个词是名词、动词、形容词或其他词的过程,又称词类标注或者简称标注。给定一个句子(或词序列):

我 中 了 一张 彩票 。

对其的标注结果可以是:

我/代词 中/动词 了/助词 一/数词 张/量词 彩票/名词 。/标点

通常为了简化表达,人们常使用一个定义好的标注集去表达上面的标注结果,例如“r”表示代词,“n”表示名词。使用北大计算所词性标注集标注的结果为:

我/r 中/v 了/u 一/m 张/q 彩票/n 。/w

在汉语中,词性标注比较简单,因为汉语词汇词性多变的情况比较少见,大多词语只有一个词性,或者出现频次最高的词性远远高于第二位的词性。据说,只需选取最高频词性,即可实现80%准确率的中文词性标注程序。

而利用一些机器学习算法,可以实现更高准确率的词性标注。

主要方法

词性标注的方法按照是否视其为独立任务可分为两种。

Individual Model

独立模型是将词性标注作为单独的任务,使用统计学习方法在标注语料上训练模型,并使用该模型对测试语料进行词性标注任务的方法。

该方法一般要求输入的句子是经过分词,符合分词标准的词序列。之后模型在序列基础上给出最优标注结果。常见及state-of-the-art的模型包括但不限于:CRF,ME,HMM等等。

Joint Model

中文作为一种词语间没有明显分隔符的语言,中文分词往往是作为词性标注任务的前置条件的。不过有研究表明,利用两个任务之间潜在的语言关系,使用联合模型(Joint Model)进行分词和词性标注会在性能上有所提升。

使用联合模型能够提升性能,那么怎么使不同的任务结合在一起做呢?目前方法课可概括为两种:一种是pipeline方法,另一种则是采用simultaneous方法。

pipeline方法

所谓pipeline方法,是最简单的一种将分词模型和词性标注模型组合在一起使用的方法,即:未切分句子经由分词算法切分,切分结果送入词性标注模型进行词性标注

pipeline方法的思想简单,效果也不错,研究表明使用pipeline方法会使F1值提升在0.2~1%。然而这个方法也有一个很大的缺点,就是会产生错误传播(error propagation),即:分词的错误会导致词性标注的错误。

这种方法也可成为pipeline架构(pipeline framework)。(Qian and Liu, 2012)提出了一个新型的解码算法,用于判别式分词、词性标注、句法分析联合模型,同时完成分词、词性标注和句法分析任务。他们在训练阶段训练三个独立的模型(分词,POS tagging,parsing),在解码阶段基于一个统一的框架再整合利用这些模型。他们扩展了CYK算法,使之可以利用分词和词性标注的特征,称为联合解码算法(joint decoding algorithm)。

simultaneous方法

为了避免错误传播,研究者们开发了许多不同的方法。虽然这些方法不尽相同,但都有一个共同的特点,平等的对待分词和词性标注,希望分词和词性标注两个模型能够互相改善。例如,(Ng and Low, 2004),(Zhang and Clark, 2008),(Hatori et al., 2012)以及(Qian and Liu, 2012)都设计了一个特殊的模型能够同时使用两方的信息,从而避开pipeline架构带来的错误传播。但具体地说,这几篇论文中的方法有各有不同。

(Ng and Low, 2004)使用了一个简单的思想,那就是将基于字标注的分词方法与词性标注结合起来,使用复合标注集。例如,对于名词“人民”,它的词性标注是n,而分词的标注序列是“BE”,于是“人”的标注就是“B_n”,民的标注就是“E_n”。这样一个简单的思想会导致解码过程中搜索空间的膨胀,故他们使用了改进的解码算法进行解码,也使得这样一个序列标注问题的时间复杂度下降到$O((4T)^n)$,其中T为词性标注集大小,n为句子长度,4表示使用4-tag标注集分词。

(Zhang and Clark, 2008)指出,分词和词性标注联合模型遇到的一个问题就是标注空间的急剧膨胀,他们使用了一个新型的multiple-beam search算法,加快了解码速度。他们提出使用词性标注的信息来帮助分词,因此词性标注和分词可以视为一个单独的任务:对给定分词中文句子,标注器考虑所有可能切分及标注情况,在其中选出最好的输出。他们不限制分词和词性标注间的相互作用,利用新的multiple-beam search算法解码,同时利用了分词和词性标注的特征。

(Hatori et al., 2012)提出了一个高效的、基于字标注的解码方法,可以结合目前state-of-the-art分词、词性标注及句法分析工作的特征。他们指出,一个句子的句法信息对于分词、词性标注是有着很大的影响的,特别是处理中文未登录词时,句法信息能在一定程度上纠正分词和词性标注的错误。因此,他们开发了一个能够同时处理分词、词性标注和句法分析的模型,试图捕捉三个任务间的相互作用。

[未完待续]

Reference

以下参考文献按照我阅读的顺序排序,与上一节 simultaneous方法 中的顺序可能不同。

  1. Hwee Tou Ng and Jin Kiat Low. 2004. Chinese part-of-speech tagging: One-at-a-time or all-at-once? Word-based or character-based? In Proceedings of the EMNLP Conference, pages 277–284, Barcelona, Spain.
  2. Yue Zhang, Stephen Clark. Joint Word Segmentation and POS Tagging Using a Single Perceptron[C].ACL. 2008: 888-896.
  3. Jun Hatori, Takuya Matsuzaki, Yusuke Miyao, Jun’ichi Tsujii. Incremental joint approach to word segmentation, pos tagging, and dependency parsing in chinese[C].Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Long Papers-Volume 1. Association for Computational Linguistics, 2012: 1045-1053.
  4. Xian Qian, Yang Liu. Joint Chinese word segmentation, POS tagging and parsing[C].Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Association for Computational Linguistics, 2012: 501-511.
  5. Yue Zhang, Stephen Clark. A fast decoder for joint word segmentation and POS-tagging using a single discriminative model[C].Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2010: 843-852.
  6. Canasai Kruengkrai, Kiyotaka Uchimoto, Jun’ichi Kazama, et al. An error-driven word-character hybrid model for joint Chinese word segmentation and POS tagging[C].Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP: Volume 1-Volume 1. Association for Computational Linguistics, 2009: 513-521.

相关资料

参考学习资料

  1. 我爱自然语言处理上的:HMM在自然语言处理中的应用一:词性标注1
  2. PDF: Part-of-Speech Tagging with HMM
  3. 一个基于HMM的词性标注算法:HanLP词性标注方法

参考工具

  1. Stanford Log-linear Part-of-Speech Tagger

语料库资源汇总

  1. 豆瓣:【汇总】语料库资源

北大计算所词性标注集简表

序号 代码 名称 帮助记忆的诠释
1 Ag 形语素 形容词性语素。形容词代码为a,语素代码g前面置以A。
2 a 形容词 取英语形容词adjective的第1个字母。
3 ad 副形词 直接作状语的形容词。形容词代码a和副词代码d并在一起。
4 an 名形词 具有名词功能的形容词。形容词代码a和名词代码n并在一起。
5 b 区别词 取汉字“别”的声母。
6 c 连词 取英语连词conjunction的第1个字母。
7 Dg 副语素 副词性语素。副词代码为d,语素代码g前面置以D。
8 d 副词 取adverb的第2个字母,因其第1个字母已用于形容词。
9 e 叹词 取英语叹词exclamation的第1个字母。
10 f 方位词 取汉字“方” 的声母。
11 g 语素 绝大多数语素都能作为合成词的“词根”,取汉字“根”的声母。
12 h 前接成分 取英语head的第1个字母。
13 i 成语 取英语成语idiom的第1个字母。
14 j 简称略语 取汉字“简”的声母。
15 k 后接成分
16 l 习用语 习用语尚未成为成语,有点“临时性”,取“临”的声母。
17 m 数词 取英语numeral的第3个字母,n,u已有他用。
18 Ng 名语素 名词性语素。名词代码为n,语素代码g前面置以N。
19 n 名词 取英语名词noun的第1个字母。
20 nr 人名 名词代码n和“人(ren)”的声母并在一起。
21 ns 地名 名词代码n和处所词代码s并在一起。
22 nt 机构团体 “团”的声母为t,名词代码n和t并在一起。
23 nz 其他专名 “专”的声母的第1个字母为z,名词代码n和z并在一起。
24 o 拟声词 取英语拟声词onomatopoeia的第1个字母。
25 p 介词 取英语介词prepositional的第1个字母。
26 q 量词 取英语quantity的第1个字母。
27 r 代词 取英语代词pronoun的第2个字母,因p已用于介词。
28 s 处所词 取英语space的第1个字母。
29 Tg 时语素 时间词性语素。时间词代码为t,在语素的代码g前面置以T。
30 t 时间词 取英语time的第1个字母。
31 u 助词 取英语助词auxiliary 的第2个字母,因a已用于形容词。
32 Vg 动语素 动词性语素。动词代码为v。在语素的代码g前面置以V。
33 v 动词 取英语动词verb的第一个字母。
34 vd 副动词 直接作状语的动词。动词和副词的代码并在一起。
35 vn 名动词 指具有名词功能的动词。动词和名词的代码并在一起。
36 w 标点符号
37 x 非语素字 非语素字只是一个符号,字母x通常用于代表未知数、符号。
38 y 语气词 取汉字“语”的声母。
39 z 状态词 取汉字“状”的声母的前一个字母。