我最近开始使用NLTK工具包来创建一些使用Python的解决方案。
我听说了很多关于使用斯坦福NLP的社区活动。谁能告诉我NLTK和斯坦福NLP之间的区别?它们是两个不同的库吗?我知道NLTK有一个到斯坦福NLP的接口,但是谁能给出一些基本的区别,甚至更多的细节。
可以通过Python使用Stanford NLP吗?
发布于 2016-10-14 02:13:06
谁能告诉我NLTK和斯坦福NLP有什么不同?它们是两个不同的库吗?我知道NLTK有一个到斯坦福NLP的接口,但是谁能给出一些基本的区别,甚至更多的细节。
(我猜你指的是“Stanford CoreNLP”。)
它们是两个不同的库。
用Java
的Python库
主要的功能差异是NLTK有多个版本或接口到其他版本的NLP工具,而斯坦福CoreNLP只有他们的版本。NLTK还支持安装第三方Java项目,甚至包括instructions for installing some Stanford NLP packages on the wiki。
这两种语言都对英语有很好的支持,但如果您正在处理其他语言:
models for English, Chinese, French, German, Spanish, and Arabic.
也就是说,哪一个是“最好的”将取决于您的特定应用程序和所需的性能(您正在使用的功能、语言、词汇、期望的速度等)。
可以使用斯坦福自然语言处理程序吗?
Yes, there are a number of interfaces and packages for using Stanford CoreNLP in Python (独立于NLTK)。
发布于 2018-06-25 20:02:05
选择将取决于您的用例。对于pre-processing和文本标记化,NLTK非常棒。它还包括一个很好的POS标记器。Standford Core NLP仅用于标记化/POS标记有点夸张,因为Standford NLP需要更多的资源。
但一个根本的区别是,您不能使用NLTK即可解析语法依赖。如果文本域不受限制,您需要为那些可能非常乏味的内容指定一个语法。而Standford NLP为一般文本提供了一个概率解析器作为一个可下载的模型,这是非常准确的。它还内置了NER (命名实体识别)等功能。另外,我会推荐大家看看Spacy,它是用python编写的,使用起来很简单,而且比CoreNLP更具faster特性。
发布于 2019-08-26 05:03:04
看起来您是NLP的新手。
我最近开始使用NLTK工具包
如果你确实是NLP的新手,那么最好的办法就是从简单开始。因此,理想情况下,您应该从nltk开始。我是自然语言处理的新手(只有几个月大)。我可以肯定的是,对于初学者来说,nltk更好,因为它有一个很棒的免费online book,可以帮助初学者快速学习。
一旦你感觉很舒服,并且确实有问题要解决,看看斯坦福核心NLP是否会更好地解决你的问题。
如果你想坚持使用NLTK,你也可以在NLTK中访问斯坦福CoreNLP API。
现在来看看它们的异同:
谁能告诉我NLTK和斯坦福NLP有什么不同?它们是两个不同的库吗?
两者都提供自然语言处理。Stanford Core NLP的一些最有用的部分包括词性标记器、命名实体识别器、情感分析和模式学习。
命名实体识别器在Stanford Core NLP中更好。Stanford Core NLP更擅长语法功能,例如提取主语、宾语、谓语(这就是我从nltk切换到Stanford Core NLP的部分原因)。正如@user812786所说,NLTK有多个接口可以连接到其他版本的NLP工具。NLTK也更适合学习NLP。如果您需要使用多个语料库,请使用NLTK,因为您可以很容易地访问大量text corpora and lexical resources。两者都有POS标签和情感分析。
可以使用斯坦福自然语言处理程序吗?
是的绝对是。您可以使用StanfordNLP,这是一个Python自然语言分析包,能够调用Python包。还有多个使用Stanford CoreNLP server的Python包
https://stackoverflow.com/questions/40011896
复制相似问题