2

我目前正在使用 NLTK 的“nltk.pos_tag”进行一些词性标注。我想知道 NLTK 的标记器是否使用当前标记的单词之外的信息来确定单词的 POS?

如果没有,NLTK 是否有一个标记器可以做到这一点?

在此先感谢您的任何信息!

4

1 回答 1

10

pos_tag函数调用加载pickleat _POS_TAGGER这是一个可能在Penn Treebank POS 注释文本上训练的最大熵标注器。MaxEnt 标注器用于确定词性的信息将基于训练中使用的特征集。这意味着,它在技术上只能使用单个单词的特征,但这不太可能,因为标注器会不准确(并且它不会充分利用使用机器学习来生成标注器)。考虑使用 Python 进行自然语言处理的第 5 章中给出的示例,

>>> text = nltk.word_tokenize("They refuse to permit us to obtain the refuse permit")
>>> nltk.pos_tag(text)
[('They', 'PRP'), ('refuse', 'VBP'), ('to', 'TO'), ('permit', 'VB'), ('us', 'PRP'),
('to', 'TO'), ('obtain', 'VB'), ('the', 'DT'), ('refuse', 'NN'), ('permit', 'NN')]

由于“拒绝”和“允许”根据上下文分别被赋予不同的标签,我们可以肯定地说它确实使用了之前单词的特征(比如它们的词性标签)。

于 2013-03-22T23:02:38.233 回答