【发布时间】:2016-10-06 17:00:59
【问题描述】:
我有以下方法返回一个带有 POS 标签的句子:
String Sentence = "STEERING COLUMN MOVES"
MaxentTagger taggerObject = new MaxentTagger("left3words-wsj-0-18.tagger");
String TaggedSentence = getTaggedSentence(Sentence, taggerObject);
在 Windows 环境中,单词“STEERING COLUMN”返回:NN NN(这是正确的) 但是,在 MapReduce 中实现的完全相同的代码返回:VBG NN
由于某种原因,当我在 MapReduce 的 Mapper 类中调用此方法时,它会将 STEERING 和 COLUMN 标记为单独的对象/概念,而不是一个。
MapReduce 中标记的对象中有 90% 与 Windows 匹配。 10% 是错误的,90% 的错误标签中有 STEERING 字样。
例子:
Object | Windows | MapReduce (Linux)
---------------------------------------------------------------------
STEERING COLUMN | NN NN | VBG NN
STEERING WHEEL | NN NN | VBG NN
POWER STEERING | NN NN | NN VBG
任何有关调试这些差异的指导将不胜感激!
【问题讨论】:
标签: java hadoop mapreduce stanford-nlp pos-tagger