NLTK之词性(POS)标注
2019-04-29 本文已影响0人
writ
词性(POS),目前最先进的词性标注算法在预测给定单词的词性上已经有了较高的精确度(约97%),但词性标注领域中仍有大量的研究等着我们。
POS标记器

调用word_tokenize
import nltk
from nltk import word_tokenize
s = "I was watching TV"
print(nltk.pos_tag(word_tokenize(s)))
#[('I','PRP'),('was','VBD'),('watching','VBG'),('TV','NN')]
Stanford标注器
from nltk.tag.stanford import POSTagger
import nltk
stan_tagger = POSTagger()
tokens = nltk.word_tokenize(s)
stan_tagger.tag(tokens)
顺序性标注器
N-gram标注器
正则表达式标注器
Brill标注器
基于机器学习的标注器
最大熵分类器(MEC),隐性马尔可夫模型(HMM),条件随机场(CRF)
命名实体识别(NER)
NER标注器
import nltk
from nltk import ne_chunk
sent = "Mark is studing"
print(ne_chunk(nltk.pos_tag(word_tokenize(sent)),binary=False))
Stanford NER标注器
from nltk.tag.stanford import NERTagger
st = NERTagger()
st.tag('Rami Eid is studying at Stony Brook University in NY'.split())