NLTK中的pos_tag不能正确标记句子

use*_*457 5 nltk

我用过这段代码:

# Step 1 : TOKENIZE
from nltk.tokenize import *
words = word_tokenize(text)

# Step 2 : POS DISAMBIG
from nltk.tag import *
tags = pos_tag(words)
Run Code Online (Sandbox Code Playgroud)

标记两句话:约翰非常好.约翰非常好吗?

第一句中的约翰是NN,而第二句中是约翰!那么,如何在不训练后退标记的情况下纠正pos_tag函数呢?

修改后的问题

我在这里看到了NLTK标记器的演示http://text-processing.com/demo/tag/.当我尝试选择"English Taggers&Chunckers:Treebank"或"Brown Tagger"时,我得到了正确的标签.那么如何使用Brown Tagger而不进行培训呢?

Jac*_*cob 5

简短的回答:你做不到.答案稍长:您可以使用手动创建的UnigramTagger覆盖特定单词.有关此方法的详细信息,请参阅我使用nltk进行自定义标记的答案.