Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

词性标注

词性标注是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

来源:Wikipedia
简介

词性标注的目标是用一个单独的标签标记每一个词,该标签表示了用法和其句法作用,比如名词、动词、形容词等。

在自然语言分析中,机器需要模拟理解语言。为了实现这一点,它必须在一定程度上能够了解自然语言的规则。它首先需要理解的是词,特别是每一个词的性质。它是一个名词还是一个形容词?如果它是一个动词的屈折形式,那么它的不定形式是什么,以及该屈折形式使用了什么对应的时态、人称和数?这个任务被称为词性标注(Part-of-Speech (PoS) tagging)。让我们来看看下面的句子:

John bought a book (John 买了一本书)

那么,有一个直接的方法:我们可以使用一本包含了所有这些词、它们的屈折形式和词性的信息的词典,以计算下面的输出:

John/专有名词

bought/动词过去式

a/限定词

book/名词

好吧,让我们抛开这样一个事实:语言是一种极为丰富的活性实体,因此我们永远无法知道所有的词。如我们所见,即使对最简单的句子而言,这种方法也没有用。bought 这个词也可作形容词,book 还可以是一个动词或名词。作为人类,我们通常可以解决这种歧义。但试试解读下面的句子:

Will Will will the will to Will? (可译为:Will 将会想把遗嘱给 Will 吗?)

真正的 NLP 应用通常使用两类方法执行任务:符号的(symbolic)和统计的(statistical)。符号方法由一组为不同语言现象(language phenomena)建模的规则集合组成,这些规则通常是由人工编写的,但有时也是自动学习到的。统计方法通常使用机器学习算法来学习语言现象。

Brill 标注器可能是最广为人知的基于规则的词性标注器。它使用考虑到语境的转换规则。首先分配一个词性标注(最常见的),然后应用规则以得到正确的输出。所以如果在上面的例子中「bought」首先被标注为了形容词,可以用一个规则对其进行校正:

如果前面一个词的标注是专有名词,那么:形容词→动词

统计方法将词性标注看作是一个序列标注问题。其基本思想是:给定带有各自标注的词的序列,我们可以确定下一个词最可能的词性。在例子中,如果我们已经看到了「John bought a」,而且知道它们的词性,那么我们就可以肯定地说「book」是名词而不是动词。这非常有意义。现在已经有隐马尔可夫模型(HMM)或条件随机域(CRF)等统计模型了,这些模型可以使用有标记数据的大型语料库进行训练,而有标记的数据则是指其中每一个词都分配了正确的词性标注的文本。

[描述来源:人工智能继续进步的关键,自然语言处理概述|机器之心]

词性标注被用在许多重要的自然语言处理目的上:

A. 词义消歧:一些词汇根据用法有很多种意思。例如,下面的两个句子:

  • I.“Please book my flight for Delhi”
  • II. “I am going to read this book in the flight”

“Book”在不同的上下文中出现,然而这两种情况的词性标签却不一样。在第一句中,“book”被用作动词,而在第二句中,它被用作名词。这一点我们在上文已经涉及到。

B. 提高基于词汇的特征:当词汇作为特征时,一个学习模型可以学习到不同的词汇上下文,然而特征与词性连接起来,上下文就被保留了,因此得到了很强的特征。例如:

  • 句 - “book my flight, I will read this book”
  • 标签 – (“book”, 2), (“my”, 1), (“flight”, 1), (“I”, 1), (“will”, 1), (“read”, 1), (“this”, 1)带有POS的标签 – (“book_VB”, 1), (“my_PRP$”, 1), (“flight_NN”, 1), (“I_PRP”, 1), (“will_MD”, 1), (“read_VB”, 1), (“this_DT”, 1), (“book_NN”, 1)

C. 规范化和词形归并(Lemmatization):词性标签是将词转化为其基本形式(引理)的基础

D. 高效移除停止词:词性标签在移除停止词方面也非常有用。

例如,有一些标签总是定义低频/较低重要性的词汇。

例如:(IN – “within”, “upon”, “except”), (CD – “one”,”two”, “hundred”), (MD – “may”, “must” 等)

[描述来源:理解和实现自然语言处理终极指南(附Python代码)|机器之心]

发展历史

关于词性标注的研究与语料库语言学密切相关。第一个用于计算机分析的主要英语语料库是布朗大学的Henry Kučera 和W. Nelson Francis在60年代中期开发的布朗语料库。Greene和Rubin随后花了许多年在布朗语料库上进行词性标记,他们使用了一个清单来手动列出语法规则。比如冠词和名词可以一起出现,但不能和动词一起出现。根据这个标注器,当时取得的正确率大概在70%。

一段时间以来,词性标注被认为是自然语言处理中不可分割的一部分,因为在某些情况下,如果不理解语义甚至语境的运用,就无法确定正确的词性。但词性标注也非常昂贵,尤其是当必须考虑到每个单词的多个词性可能性时,分析会变得很困难。

在20世纪80年代中期,欧洲的研究人员在对Lancaster-Oslo-Bergen语料库进行标记工作时,开始使用隐马尔可夫模型(HMM)来消除词性的歧义。 HMM需要计算频数(这可以使用其他语料库完成,比如布朗语料库),并列出某些序列的概率。例如,一旦你看过冠词“the”,根据此前统计的频数有40%的可能接下来出现的是名词,40%的可能是形容词,20%是数字。一旦知道这一点,程序就可以判断在短语“the can”中“can更可能是名词。

更高级的(“高阶”)HMM不仅学习一对词的概率,还学习三元组甚至更长的序列。举例来说,如果你刚刚看到一个名词,后面跟着一个动词,下一个词可能很可能是介词,冠词或名词,但不太可能是另一个动词。

也是在这段时间,UCREL开发了CLAWS,一个标注程序,这应该也是最早的标注程序之一,当时的准确率在93–95%。

1988年,Steven DeRose和Ken Church各自独立地开发了动态规划算法(dynamic programming) 。Steven DeRose使用了二元组(即一对单词)表格——而Ken Church使用了三元组表格——来估计在布朗语料库中很少出现或未出现过的三元组的,两种方法都取得了95%以上的准确度,一举取得了当时自然语言处理领域的最好表现。这个表现比当时的许多方法都好,特别是许多方法将词性标注与更高层次的语言分析项结合。这使得这个领域的许多人相信,词性标注可以有效地从其他处理级别中分离出来;这反过来又简化了计算机化语言分析的理论和实践,并鼓励研究人员找到将自然语言处理的各部分任务分离的方法。隐马尔可夫模型是随机标注器(stochastic taggers)功能的基础,并被用于各种算法中,其中最广泛使用的是双向推理算法(bi-directional inference algorithm)。

[描述来源:维基百科]

从 2000 年代开始,统计方法变得十分流行。2000年Kristina Toutanova 和Christopher D. Manning提出了基于最大熵(Maximum Entropy )的词性标注器,其主要通过丰富用于标注的信息源来实现卓越的性能。基于最大熵模型属于对数线性模型(log-linear model),在给定训练数据的条件下对模型进行极大似然估计或正则化极大似然估计。他们取得的几个主要的进步是:(i)更好地处理未知词汇的大写字母; (ii)消除动词时态形式; (iii)从介词和副词中去除歧义词。该标注器在 Penn Treebank数据集上取得的最高准确率为96.86%,对以前未见过的词准确率为86.91%。

同年,Andrew McCallum等人提出了MEMM(Maximum Entropy Markov Models),直接学习条件概率。MEMM主要是改进HMM的两个问题,一是其为生成模型(generative model),二是不能使用更加复杂的feature。

2001年,John Lafferty等人提出了条件随机场(CRF),用于分割和标记序列数据。CRF是判别模型,可以通过单词本身的属性来判断标注的概率,即同样改进了HMM是生成模型的问题。从CRF 被提出开始,就在词性标注任务上取得了很好的成绩,目前CRF、HMM和MEMM应当是最常用的几个统计模型。在Github上有一个由 William Xie 负责的课程项目,在词性标注方面的任务上实现且比较了 HMM 与 MEMM,详见附录(其他)。

2003年,Kristina Toutanova等人又提出了一种新的词性标注器,包括几个改进,(1)该标注器能够通过通过依赖性网络表示方法(dependency network representation)使用要判断的词的前后两个标签,(2)广泛使用词汇特征,(3)在条件对数线性模型中能够有效地使用先验(priors),以及(4)对未知单词特征能够进行细粒度建模(fine-grained modeling)。该标注器Penn Treebank WSJ测试集上的准确率达到97.24%,与之前最好的单一自动学习标记结果相比,误差减少了4.4%。

随后,随着深度学习的崛起,神经网络也被用于词性标注任务上。

2016年,Barbara Plank,Anders Søgaard和Yoav Goldberg将Bi-LSTM与传统POS方法在不同语言和数据大小的的任务上进行了比较。 他们还提出了一种新型的biLSTM模型,该模型使用的POS标记损失函数能够更多的考虑到很少出现的词汇。 该模型在22种语言上的测试都取得了当时的最佳性能,他们同时证明了biLSTM对训练数据大小和标签损坏(在小噪声水平下)的情况比此前假设的更不敏感。

2018年,NAACL 2018 公布的最佳论文则是来自艾伦人工智能研究所和华盛顿大学的研究者所著的论文《Deep contextualized word representations》,该研究提出了一种新型深度语境化词表征,可对词使用的复杂特征(如句法和语义)和词使用在语言语境中的变化进行建模(即对多义词进行建模)。其模型使用双向 LSTM ,结果显示较低级别的LSTM 状态可以建模句法结构(如词性标注任务)。

主要事件

年份事件相关论文/Reference
1987UCREL开发了CLAWS,一个标注程序,这应该也是最早的标注程序之一Garside, R. (1987). The CLAWS Word-tagging System. In: R. Garside, G. Leech and G. Sampson (eds), The Computational Analysis of English: A Corpus-based Approach. London: Longman.
1988Steven DeRose和Ken Church各自独立地开发了动态规划算法(dynamic programming)Church, K. W. (1988). A stochastic parts program and noun phrase parser for unrestricted text. ANLC '88: Proceedings of the second conference on Applied natural language processing. Association for Computational Linguistics Stroudsburg, PA.//DeRose, S. J. (1988). Grammatical category disambiguation by statistical optimization. Computational Linguistics 14(1): 31–39.
2000Kristina Toutanova 和Christopher D. Manning提出了基于最大熵(Maximum Entropy )的词性标注器Toutanova, K.; Manning, C. D. (2000). Enriching the Knowledge Sources Used in a Maximum Entropy Part-of-Speech Tagger. In Proceedings of the Joint SIGDAT Conference on Empirical Methods in Natural Language Processing and Very Large Corpora (EMNLP/VLC-2000), pp. 63-70.
2000Andrew McCallum等人提出了MEMM(Maximum Entropy Markov Models)McCallum, A., Freitag, D., and Pereira, F. C. N. (2000). Maximum entropy Markov models for information extraction and segmentation. In ICML 2000, pp. 591–598.
2001John Lafferty等人提出了CRF(conditional random fields)Lafferty, J. D., McCallum, A., and Pereira, F. C. N. (2001). Conditional random fields: Probabilistic models for segmenting and labeling sequence data. In ICML 2001, Stanford, CA.
2003Kristina Toutanova等人又提出了一种新的词性标注器,对他们此前的模型进行了几个改进Toutanova, K. et al. (2003). Feature-Rich Part-of-Speech Tagging with a Cyclic Dependency Network. In Proceedings of HLT-NAACL 2003, pp. 252-259.
2016Barbara Plank,Anders Søgaard和Yoav Goldberg将Bi-LSTM与传统POS方法在不同语言和数据大小的的任务上进行了比较。 他们还提出了一种新型的biLSTM模型Plank, B.; Søgaard, A.; & Goldberg, Y. (2016). Multilingual Part-of-Speech Tagging with Bidirectional Long Short-Term Memory Models and Auxiliary Loss. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics.
2018NAACL 2018 最佳论文《Deep contextualized word representations》提出了一种新型深度语境化词表征,可对词使用的复杂特征(如句法和语义)和词使用在语言语境中的变化进行建模(即对多义词进行建模)Peters, M. E. et al. (2018). Deep contextualized word representations. arXiv:1802.05365v2.

发展分析

瓶颈

若将词性标注等不同任务分别开发不同的算法,在解决一整个问题时可能不方便结合;另外目前流行的深度学习需要大量的数据,这在词性标注问题上几乎是不可能的,因而即便是针对简单问题,深度学习也没有表现出明显的优势。此外,不同语言的标注难度也不同,如目前英文词性标注准确率可以达到97%左右,而中文的词性标注则要难许多。

未来发展方向

词性标注等语言处理任务是后续任何语言处理任务的基础,其重要性不言而喻。更高、更快、多语言的标注器都是可能的发展方向。

Contributor: Yuanyuan Li

简介