StanfordNLP POS给出了不同的结果

时间:2017-01-03 16:37:28

标签: java stanford-nlp part-of-speech

我正在测试Stanford NLP POS Tagger,我的结果好坏参半。

SOP(StanfordNLP.getInstance().getPOSMap("WHEAT flour(whole)".toLowerCase()));
SOP(StanfordNLP.getInstance().getPOSMap("Whole wheat flour".toLowerCase()));

给我以下输出

{NN=[wheat, flour, whole]}
{JJ=[whole], NN=[wheat, flour]}

我该如何处理这些问题?它实际上是重新排列的相同单词。

修改

也许,我应该解释一下这个问题。

我想比较两句话。我的方法是在两个字符串上执行POS,然后从两个字符串中单独比较和评分名词/形容词/动词。

但是由于基于单词顺序的模糊标记(也被@Elliott提到),我的排名在某些情况下失败了。有人可以提出解决方法吗?

是否有分类统计数据给出了被归类为形容词或动词等的名词的概率,我可以在我的得分算法中使用它来提供权重?

感谢 Chahat

2 个答案:

答案 0 :(得分:0)

POS标记器总是给出混合结果; POS标记是上下文的,因为单词可以是不同上下文中的名词,形容词或动词。 POS标记的AI component决定了如何根据句子中的顺序标记单词。

答案 1 :(得分:-2)

Stanford POS Tagger相当不错。但是,如果您希望轻松地与标准NLTK和其他名为Senna的质量标签进行比较,您可以尝试这样做: https://github.com/StealthyK/TaggerTimer