赞
踩
Python NLTK学习5(词性标注)
发表于: 2017年1月3日 阅读: 12925
除特别注明外,本站所有文章均为小杰Code原创
本系列博客为学习《用Python进行自然语言处理》一书的学习笔记。
词性标注器
一个词性标注器处理一个词序列,为每个词附加一个词性标记,我们先看一个示例:
import nltk
words = nltk.word_tokenize('And now for something completely different')
print(words)
word_tag = nltk.pos_tag(words)
print(word_tag)
结果为:
['And', 'now', 'for', 'something', 'completely', 'different']
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'), ('completely', 'RB'), ('different', 'JJ')]
nltk.word_tokenize(text):对指定的句子进行分词,返回单词列表。
nltk.pos_tag(words):对指定的单词列表进行词性标记,返回标记列表。
从结果我们可以看到something是NN,NN代表名词。
为什么nltk.pos_tag()方法可以对单词进行词性标记?这是因为NLTK预先使用一些语料库训练出了一个词性标注器,这个词性标注器可以对单词列表进行标记。
标注语料库
NLTK中的很多语料库都已经标注了词性,我们之前学习过的布朗语料库就是一个被标注了词性的语料库,每个语料库使用的标记符号可以有所不同。
from nltk.corpus import brown
words_tag = brown.tagged_words(categories='news')
print(words_tag[:10])
结果为:
[('The', 'AT'), ('Fulton', 'NP-TL'), ('County', 'NN-TL'), ('Grand', 'JJ-TL'), ('Jury', 'NN-TL'), ('said'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。