我想要做的就是找到任何给定字符串的情绪(正面/负面/中性)。在研究过程中,我遇到了 Stanford NLP。但遗憾的是它在 Java 中。关于如何使其适用于 python 的任何想法?
原文由 90abyss 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想要做的就是找到任何给定字符串的情绪(正面/负面/中性)。在研究过程中,我遇到了 Stanford NLP。但遗憾的是它在 Java 中。关于如何使其适用于 python 的任何想法?
原文由 90abyss 发布,翻译遵循 CC BY-SA 4.0 许可协议
最近,斯坦福发布了一个新的 Python 包,用于实现最重要的 NLP 任务的基于神经网络 (NN) 的算法:
它是用 Python 实现的,并使用 PyTorch 作为神经网络库。该软件包包含 50 多种语言 的准确模型。
要安装,您可以使用 PIP:
pip install stanfordnlp
要执行基本任务,您可以将本机 Python 接口与 许多 NLP 算法结合 使用:
import stanfordnlp
stanfordnlp.download('en') # This downloads the English models for the neural pipeline
nlp = stanfordnlp.Pipeline() # This sets up a default neural pipeline in English
doc = nlp("Barack Obama was born in Hawaii. He was elected president in 2008.")
doc.sentences[0].print_dependencies()
编辑:
到目前为止,该库 不支持情感分析,但我没有删除答案,因为它直接回答了问题的“Stanford nlp for python”部分。
原文由 Aleksander Pohl 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
4 回答935 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
使用
py-corenlp
下载 斯坦福 CoreNLP
此时(2020-05-25)的最新版本是4.0.0:
如果你没有
wget
,你可能有curl
:如果一切都失败了,请使用浏览器 ;-)
安装包
启动 服务器
笔记:
timeout
是以毫秒为单位的,我上面设置为10秒。如果将巨大的 blob 传递给服务器,则应该增加它。--help
列出它们。-mx5g
应该分配足够的 内存,但是 YMMV,如果你的盒子动力不足,你可能需要修改选项。安装蟒蛇包
标准包
不适 用于 Python 3.9,所以你需要做
(另请参阅 官方列表)。
用它
你会得到:
笔记
sentimentValue
可用于估计整个文本的情感。Neutral
(2) andNegative
(1), the range is fromVeryNegative
(0) toVeryPositive
(4) 这似乎相当罕见。Ctrl-C
或使用 shell 命令kill $(lsof -ti tcp:9000)
来 停止服务器。9000
是默认端口,您可以在启动服务器时使用-port
选项更改它。timeout
(以毫秒为单位)。sentiment
只是 一个 注释器,还有 更多,您可以请求多个,用逗号分隔:'annotators': 'sentiment,lemma'
。附言。我不敢相信我添加了 第 9 个 答案,但是,我想,我不得不这样做,因为现有的答案都没有帮助我(以前的 8 个答案中的一些现在已被删除,其他一些已转换为评论)。