Python的NLTK与相关的Java库相比如何?

11
我以前的Java项目专注于对大量英文文本进行文本(预)处理(索引,XML标记,主题检测等),并使用了LingPipe、斯坦福的NER、RiTa和各种句子相似度库。也许我是一个糟糕的Java程序员,但当我切换到不同的语料库时,我发现自己要输入很多代码并使用很多库。总之,我感觉可能有更好的工具来完成这项工作。
我的问题是,如果我切换到Python和NLTK进行信息检索/语言处理,我会受益吗?还是优缺点足够主观,无法确定? NLTK是否直观易学?
我想亲自动手,但在接下来的几天里我将无法使用个人计算机。
2个回答

12

NLTK 是用于自然语言处理的好工具,我在我的数据挖掘项目中使用了它。你可以训练自己的分析器。学习曲线不陡峭。

NLTK 拥有大量的语料库可供您训练分析器。您也可以提供自己的数据集,例如一个词性标注的期刊。

由于 Python 在文本处理方面非常优秀,您可能会想尝试一下。此外,它还有一个在线教程

请不要忘记使用 Python 2.x 版本。建议使用 Python 2.6 版本。NLTK 可能无法与 Python 3.x 兼容。


谢谢你的建议。看起来大多数人在这个领域更喜欢Python和NLTK,但是Java解决方案的数量让我觉得我正在放弃一个更有活力的选择。 - wnewport

7
如果你已经了解NLP的基础知识,那么我认为NLTK应该很容易掌握。它有大量的文档、两本书,而我也写了一些文章和教程在streamhacker.com上。如果你不想失去Java包中的任何东西,你可以使用Jython(或许还有execnet)来与NLTK结合使用。
此外,你可能还想看看Pattern库。

我想我认识你......Jacob,在我的毕业论文中引用了你的一篇文章! - lamwaiman1988
很酷,被引用总是很不错的 :) - Jacob
你不能使用Jython,因为Jython上没有numpy库 :(. - Andy Chase

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