自然语言解析工具:现有的有哪些,没有哪些?

8

我正在寻找多种自然语言处理工具,用于我正在开发的一个项目中,目前我发现斯坦福自然语言处理项目最有用。

有人知道是否有其他工具可供语言理解者使用吗?

更重要的是,是否有缺失在外的工具呢?

最具体地说,我正在寻找一个形态音位分析等方面的API。

编辑:我是一名学术人员(正在进行研究项目的学生),主要寻找开源或至少是开放API项目。


我之前问过一个更具体的问题,但这个问题取代了它。 - Ritwik Bose
4
请说明您是否只对免费资源感兴趣,或者您是学术界的人士。我们中有些人会出售此类资源,但我们也乐于帮助学术界的人士。 - bmargulies
4个回答

6
我建议您查看以下内容:
  1. 常见的自然语言处理库,如Open NLPLingPipeNLTKGateUIMA。所有这些都提供解析器和词干提取器(即它们不会返回单词的根,而是其词干)。有些还提供词形还原器。
  2. 收集NLP工具的网站。以下是其中的一些:计算语言学协会的维基语言技术世界,海德堡大学自然语言处理系的网站

我不知道是否有返回单词根的工具,但正如我所说,有词干提取器和词形还原器。对于词形还原,请尝试Tree TaggerMorpha。形态音位分析是一个不够具体的术语,无法得到您想要的结果。

一旦您更加明确地知道需要什么,可以搜索Corpora List的档案或在那里发布问题。


3

NTLK 是一个有趣的工具包,允许构建基于自然语言处理的应用程序。这可以用于需要词性标注或实现简单分类器或实体抽取器等实际应用。

我不确定 "language understander" 应用程序会包含什么内容,但这似乎超出了NLTK所能轻松实现的范围。
完整阅读问题及其对形音义学的引用似乎证实了 NLTK 可能无法很好地满足 OP 的需求;据我所知,NLTK 没有处理文本的模块在这个层面上。但您可能需要自己检查一下,因为 NLTK 是一个广泛且活跃的项目,可能在这个领域看到最近的更新。


3

1

Maluuba刚刚发布了其自然语言处理器的API,可在http://developer.maluuba.com上获得。

Maluuba为其编写了三个库:

Python库:https://github.com/maluuba/napi-python

Ruby库:https://github.com/maluuba/napi-ruby

Java库:https://github.com/maluuba/napi-java

作为其强大功能的示例,可以使用以下查询来提取信息:

>> client.interpret phrase: 'Set up a meeting with Bob tomorrow \
          night at 7 PM to discuss the TPS reports'
=> 
    {:entities=>
      {
        :daterange=>[{:start=>"2012-11-15", :end=>"2012-11-16"}],
        :title=>["meeting to discuss the tps reports"],
        :timerange=>[{:start=>"12:00:00AM", :end=>"12:00:00AM"}],
        :contacts=>[{:name=>"bob"}]
      },
     :action=>:CALENDAR_CREATE_EVENT,
     :category=>:CALENDAR
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接