2017-08-16 49 views
0

我可能在POS标记器中发现了一个错误。无论我在“normalizeParentheses = True”还是False中使用“-tokenizerOptions”标志,标记结果都会发生变化。我是从使用Python中的服务器通过设置访问恶搞:在斯坦福NLP POS标记器中,设置normalizeParenthese = True会更改POS结果

pos_args=['java', '-mx400m', '-cp', homedir+'/models/stanfordpostagger.jar','edu.stanford.nlp.tagger.maxent.MaxentTaggerServer','-model','english-bidirectional-distsim.tagger','-port','2021','-loadClassifier',english.all.3class.distsim.crf.ser.gz','-tokenizerOptions','normalizeParentheses=true'] 
POS=Popen(pos_args) 

我用的是​​包实际做的标记。

如果我标记句子 “(鲍勃是好的)” 与normalizeParentheses =真,我得到:

[(u'-LRB-', u'-LRB-'), 
(u'Bob', u'NNP'), 
(u'is', u'VBZ'), 
(u'nice', u'JJ'), 
(u'-RRB-', u'-RRB-')] 

但是,如果使用normalizeParentheses =假,我得到:

[(u'(', u'NNP'), 
(u'Bob', u'NNP'), 
(u'is', u'VBZ'), 
(u'nice', u'JJ'), 
(u')', u'NN')] 

和这个版本的标注器也会将许多单词标记为外来的('FW')。

我尝试过很多其他的选择,只有这一个和normalizeOtherBrackets = False似乎会导致这种行为。这就好像这两个选项会导致使用完全不同的标记方法。我很好奇,如果这确实是一个错误,或者有一个聪明的解决方法?

回答

0

使用POS标记器时,您需要标准化括号。它接受了标准化括号的数据的培训。