Apache Open NLP 与 NLTK

Sha*_*K M 4 architecture nlp nltk opennlp

我们有一个与 Node.js 和 socket.io 聊天应用程序集成的 Spring Boot 应用程序,我们希望将自然语言处理集成到其中。由于这两个Apache-OpenNlp or NLTK框架都提供了我们需要的处理类型,因此无法确定这两个框架中的哪一个对我们来说是更好的选择。

对于框架提供的功能,它们都很好。两者都有我们正在寻找的功能。不仅仅是如何在功能之间进行选择,更适合我们的架构的是我想要的视角。

有什么建议 ?

How*_*ing 6

在不知道您的需求是什么的情况下,很难回答关于哪种产品更能满足您的需求的问题。OpenNLP 可以执行标记化、句子检测、词性标注、命名实体检测、语言检测、文档分类、分块和句子解析。它还具有对最大熵和朴素贝叶斯分类器的较低级别的访问权限。我经常使用 OpenNLP。NLTK 似乎做同样的事情(我并没有真正使用它,所以我不能告诉你它的所有好处)。一个小的区别是 OpenNLP 是 java 而 NLTK 是 python。所以你的偏好可以发挥作用。另一个区别是 NLTK 内置了下载语料库的方法。

如果你对自己想要的东西更具体一点,人们可以给你更好的建议。

  • 就我个人而言,我非常喜欢 OpenNLP,因为您只需要将 OpenNLP 依赖项添加到 maven + 下载模型中即可。我认为它可以轻松地与 Spring Boot 应用程序集成。——我就是这样做的,而且很容易。我确信 NLTK 社区会争辩说,即使它们是基于 Python 的,您也可以将其集成到 Java 应用程序中。长话短说,我建议使用 openNLP。但请记住,我使用 AND ON openNLP,所以我有支持 OpenNLP 的偏见。 (2认同)