Architecture ApacheOpenNLP与NLTK

Architecture ApacheOpenNLP与NLTK,architecture,nlp,nltk,opennlp,Architecture,Nlp,Nltk,Opennlp,我们有一个与Node.js和socket.io聊天应用程序集成的spring引导应用程序,我们希望将自然语言处理集成到其中。不了解这两个框架中的哪一个是更好的选择,因为这两个框架都提供了我们需要的处理方式 对于框架提供的特性,它们都很好。两者都有我们正在寻找的功能。除了如何在功能之间进行选择外,我更希望从一个角度来看什么更适合我们的体系结构 有什么建议吗 如果不知道你的需求是什么,很难回答关于哪种产品能更好地满足你需求的问题。OpenNLP可以执行标记化、句子检测、词性标记、命名实体检测、语言检

我们有一个与Node.js和socket.io聊天应用程序集成的spring引导应用程序,我们希望将自然语言处理集成到其中。不了解这两个框架中的哪一个是更好的选择,因为这两个框架都提供了我们需要的处理方式

对于框架提供的特性,它们都很好。两者都有我们正在寻找的功能。除了如何在功能之间进行选择外,我更希望从一个角度来看什么更适合我们的体系结构


有什么建议吗

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


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

就我个人而言,我非常喜欢OpenNLP,因为你只需要将OpenNLP依赖项添加到maven+下载模型中。我认为它将很容易与spring boot应用程序集成我做这件事很简单。我相信NLTK社区会争辩说,即使它们是基于python的,您也可以将其集成到java应用程序中。长话短说,我建议使用openNLP。但是请记住,我和openNLP一起工作,也在openNLP上工作,所以我有一个亲openNLP的偏见。你觉得使用openNLP怎么样?这个框架为许多NLP框架提供了一个通用的API,并作为Maven依赖项提供。这意味着您可以交换任何框架。如果您还通过构建自己的语料库来使用特定于领域的NLP模型,则可以使用来确定您的领域的最佳NLP管道。如果您有任何问题,请告诉我。@Schrieveslaach我不熟悉DKPro Core,但它似乎为UIMA封装了许多不同的NLP项目。如果您正在创建基于UIMA的解决方案,这将非常有用。但我不确定Sharanya是否在考虑UIMA,这带来了它自己的问题。@Howyado,UIMA确实增加了另一个架构层,但DKPro Core通过包装器统一了所有NLP工具。这意味着Sharanya可以交换这些工具中的任何一个。我不知道应用程序域,但是如果应用程序域与新闻报纸不同(NLP模型不会很好地工作),那么模型和工具可以很容易地与更好的工作版本交换。因此,Sharanya可以使用为应用程序域找到最好的NLP工具。我查看了它,我不喜欢使用UIMA。。所以我选择了OpenNLP。。。非常感谢各位:-)