什么是用于词性标注的优秀Java库?

时间:2010-02-19 02:08:42

标签: java nlp

我在Java中寻找一个好的开源POS Tagger。这是我到目前为止所提出的。

有人有任何建议吗?

3 个答案:

答案 0 :(得分:16)

您是否希望在特定域中标记POS?大多数通用标记器都接受过新闻专线文本的培训。通常,当您在特定域(例如生物医学文本)中使用它们时,它们表现不佳。还有其他标记符专门针对此类域进行了培训,例如dTagger(java)用于生物医学文本。​​

对于新闻专线文章,Adwait Ratnaparkhi的MXPOST非常好,是我推荐的。

其他Java实现包括:

  1. MontyLingua
  2. Berkeley Parser(不是真正的POS标记器,但所有完整的解析器通常都包含POS标记器.Google用于 Java语法分析器,你会发现很多。)
  3. QTag
  4. LBJ
  5. 其他海报发布的

    OpenNLPLingpipe也相当不错。

    可以找到有关POS标记最新技术的信息here。正如你所看到的那样,LTAG-Spinal(另一张海报也提到过)排名最好,但各种标签的变化并不多。我自己没有使用过LTAG。

    另请注意,POS标记的基准性能约为90%。基线意味着 - (a)用词典中最频繁的POS标签标记每个单词,(b)将每个未知单词标记为名词。

答案 1 :(得分:3)

我使用OpenNLP效果很好。您还可以查看MorphAdorner

答案 2 :(得分:3)

我使用了LingPipe和Stanford的POS Tagger。后者是state-of-the-art POS Tagger,但根据我的经验,它太慢了(尽管它们确实提供了不太准确的模型,但速度相当快)。当然,它总是取决于你想要达到的目标,并且总是会在速度和准确性之间进行权衡。

我曾经使用过基于LBJ的NER软件,尽管它非常准确,但源代码完全混乱。 LingPipe和斯坦福的资料来源都很干净且记录良好。

您还可以查看LTAG-spinal。我还没有使用它,但从算法描述和列出的准确性来看,它肯定比你到目前为止的替代方案更好。

希望它有所帮助。