【问题标题】:Java Parser for Natural Language自然语言的 Java 解析器
【发布时间】:2010-09-30 14:21:56
【问题描述】:

我正在寻找能够执行以下操作的 java 解析器(或生成的解析器):

  1. 我将提供已标记词性的句子。我将使用我自己的标签集。
  2. 我没有任何统计数据。因此,如果解析器是统计的,我希望能够在没有此功能的情况下使用它。
  3. 轻松适应其他语言。学习曲线低

【问题讨论】:

    标签: java parsing nlp


    【解决方案1】:

    Stanford Parser(已在其他 SO 问题中列出)将完成您列出的所有操作。

    您可以提供自己的 POS 标签,但如果它们尚未采用该格式,则需要对 Penn TreeBank 集进行一些翻译。解析器要么是统计的,要么不是。如果不是,则需要一组语法规则。除了作为玩具之外,再也没有真正以这种方式构建解析器,因为它们真的很糟糕™。因此,您可以依赖 Stanford Parser 使用的统计数据(无需您进行额外的工作)。但是,这确实意味着有关您自己的标签的统计信息(如果它们不直接映射到 Penn TreeBank 标签)将被忽略。但是,由于您无论如何都没有标签的统计信息,因此应该可以预料到。

    他们也为其他几种语言训练了解析器,但如果您想使用他们没有的语言,则需要您自己的标记数据。无论您使用哪种解析器,都无法解决这个问题。

    如果您了解 Java(我假设您知道),Stanford Parser 非常简单易懂。他们的邮件列表也是一个很好的资源并且相当活跃。

    【讨论】:

    • 除了它自己的页面之外,你知道一些关于斯坦福解析器的好文档吗?
    • 我很久以前写了一篇博文,其中有点介绍它并引用了您可能需要的 Penn TreeBank 内容:
    • +1。斯坦福解析器真的很好,我正在使用它。它是一个基于最大熵算法的统计 NLP 标注器。
    【解决方案2】:

    我不太清楚你想要什么,但我首先想到的是 Mallet:

    http://mallet.cs.umass.edu/index.php

    【讨论】:

    • Mallet 库好像没有解析器。
    • Mallet 是一种序列标注工具,也叫浅解析。
    猜你喜欢
    • 2013-09-12
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2010-11-27
    • 2010-10-10
    相关资源
    最近更新 更多