2017-08-16 70 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標記器時,您需要標準化括號。它接受了標準化括號的數據的培訓。