stanford pos tagger-windows和mapreduce(linux)之间的依赖关系

r6vfmomb  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(372)

我使用以下方法返回带有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%的不正确标签中有“转向”一词。
示例:

Object           |      Windows     |      MapReduce (Linux)
---------------------------------------------------------------------
STEERING COLUMN      |       NN NN      |          VBG NN
STEERING WHEEL       |       NN NN      |          VBG NN
POWER STEERING       |       NN NN      |          NN VBG

任何关于调试这些差异的指导都将不胜感激!

vx6bjr1n

vx6bjr1n1#

结果表明,在Java8中,标记器更精确。
windows版本在java8中运行,而mapreduce版本在java7中运行。

相关问题