第4章 词性标注:单词识别
词性(Parts-of-speech,POS)标注是NLP中的众多任务之一。它被定义为将特定的词性标记分配给句中每个单词的过程。词性标记可以识别一个单词是否为名词、动词还是形容词等等。词性标注有着广泛的应用,例如信息检索、机器翻译、NER、语言分析等。
本章将包含以下主题:
- 创建词性标注语料库。
- 选择一种机器学习算法。
- 涉及n-gram的统计建模。
- 使用词性标注数据开发分块器。
4.1 词性标注简介
词性标注是一个对句中的每个标识符分配词类(例如名词、动词、形容词等)标记的过程。在NLTK中,词性标注器存在于nltk.tag
包中并被TaggerIbase
类所继承。
考虑一个NLTK中的例子,它为指定的句子执行词性标注:
>>> import nltk
>>> text1=nltk.word_tokenize("It is a pleasant day today")
>>> nltk.pos_tag(text1)
[('It', 'PRP'), ('is', 'VBZ'), ('a', 'DT'), ('pleasant', 'JJ'),
('day', 'NN'), ('today', 'NN')]
我们可以在TaggerI
的所有子类中实现tag( )
方法。为了评估标注器,TaggerI
提供了evaluate( )
方法。标注器的组合可用于形成回退链,如果其中一个标注器无法完成词性标注时,则可以使用下一个标注器进行词性标注。
让我们看看由Penn Treebank提供的那些可用的标记列表(https://www.ling. upenn.edu/
courses/Fall_2003/ling001/penn_treebank_pos.html
):
Get 精通Python自然语言处理 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.