python 的斯坦福大学 nlp

2024-03-24

我想做的就是找到任何给定字符串的情绪(积极/消极/中性)。在研究过程中,我遇到了斯坦福 NLP。但遗憾的是它是在 Java 中。关于如何让它适用于 python 有什么想法吗?


Use py-corenlp https://github.com/smilli/py-corenlp/

下载斯坦福核心自然语言处理 http://stanfordnlp.github.io/CoreNLP/

此时(2020-05-25)最新版本是4.0.0:

wget https://nlp.stanford.edu/software/stanford-corenlp-4.0.0.zip https://nlp.stanford.edu/software/stanford-corenlp-4.0.0-models-english.jar

如果你没有wget https://www.gnu.org/software/wget/,你可能有curl https://curl.haxx.se/:

curl https://nlp.stanford.edu/software/stanford-corenlp-4.0.0.zip -O https://nlp.stanford.edu/software/stanford-corenlp-4.0.0-models-english.jar -O

如果其他方法都失败,请使用浏览器;-)

安装包

unzip stanford-corenlp-4.0.0.zip
mv stanford-corenlp-4.0.0-models-english.jar stanford-corenlp-4.0.0

开始server http://stanfordnlp.github.io/CoreNLP/corenlp-server.html

cd stanford-corenlp-4.0.0
java -mx5g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -timeout 10000

Notes:

  1. timeout单位是毫秒,我上面设置为10秒。 如果将巨大的 blob 传递到服务器,则应该增加它。
  2. 更多的选择 https://stanfordnlp.github.io/CoreNLP/corenlp-server.html#command-line-flags,你可以列出它们--help.
  3. -mx5g应该分配足够的memory https://stackoverflow.com/q/14763079/850781,但是YMMV,如果您的盒子动力不足,您可能需要修改该选项。

安装python包

标准套餐

pip install pycorenlp

does not使用Python 3.9,所以你需要做

pip install git+https://github.com/sam-s/py-corenlp.git

(也可以看看官方名单 https://stanfordnlp.github.io/CoreNLP/other-languages.html).

Use it

from pycorenlp import StanfordCoreNLP

nlp = StanfordCoreNLP('http://localhost:9000')
res = nlp.annotate("I love you. I hate him. You are nice. He is dumb",
                   properties={
                       'annotators': 'sentiment',
                       'outputFormat': 'json',
                       'timeout': 1000,
                   })
for s in res["sentences"]:
    print("%d: '%s': %s %s" % (
        s["index"],
        " ".join([t["word"] for t in s["tokens"]]),
        s["sentimentValue"], s["sentiment"]))

你会得到:

0: 'I love you .': 3 Positive
1: 'I hate him .': 1 Negative
2: 'You are nice .': 3 Positive
3: 'He is dumb': 1 Negative

Notes

  1. 您将整个文本传递给服务器,服务器将其分割成句子。它还将句子分割成标记。
  2. 感情归于每个人sentence,不是全文. The mean https://en.wikipedia.org/wiki/Mean sentimentValue跨句子可以用来估计整个文本的情绪。
  3. 一个句子的平均情绪介于Neutral(2和Negative(1)、取值范围为VeryNegative (0) to VeryPositive(4) 看起来相当罕见。
  4. You can stop the server https://stanfordnlp.github.io/CoreNLP/corenlp-server.html#stopping-the-server either by typing Ctrl-C at the terminal you started it from or using the shell command kill $(lsof -ti tcp:9000). 9000 is the default port, you can change it using the -port option when starting the server.
  5. 增加timeout(以毫秒为单位)在服务器或客户端中如果出现超时错误。
  6. sentiment只是one注释器,有还有很多 https://stanfordnlp.github.io/CoreNLP/annotators.html,您可以请求多个,用逗号分隔:'annotators': 'sentiment,lemma'.
  7. 请注意,情绪模型有些特殊(例如,根据你提到的是大卫还是比尔,结果会有所不同 https://github.com/stanfordnlp/CoreNLP/issues/351).

PS。我不敢相信我添加了一个9th答案,但是,我想,我必须这样做,因为现有的答案都没有帮助我(之前的 8 个答案中的一些现已被删除,其他一些已转换为评论)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 的斯坦福大学 nlp 的相关文章

  • 使用 InlineKeyboardButton python telegram bot 发送命令

    在Python电报机器人中 是否有可能InlineKeyboardButton发送类似命令 cancel当它被按下时 例如 当用户按下取消按钮时 他们将自动发送 cancel 命令 然后由机器人处理 从这里的例子来看 https githu
  • 安装tensorflow的正确命令

    当尝试在 Anaconda 上安装 Tensorflow 时 我尝试了两种类型的命令 conda install tensorflow gpu工作得很好 然而 当尝试conda install c anaconda tensorflow g
  • 为什么 pandas 在简单的数学运算上比 numpy 更快?

    最近 我观察到 pandas 的乘法速度更快 我在下面的例子中向您展示了这一点 如此简单的操作怎么可能做到这一点 这怎么可能呢 pandas 数据帧中的底层数据容器是 numpy 数组 测量 我使用形状为 10k 10k 的数组 数据框 i
  • 区分大小写的实体识别

    我的关键字全部以小写形式存储 例如 折扣耐克鞋 我正在尝试对其执行实体提取 我遇到的问题是 spaCy 在 NER 方面似乎区分大小写 请注意 我不认为这是 spaCy 特有的 当我跑步时 doc nlp u i love nike sho
  • 在推送到容器注册表之前如何对构建的映像运行测试?

    从 gitlab 文档中可以看出如何使用 kaniko 创建 docker 镜像 build stage build image name gcr io kaniko project executor debug entrypoint sc
  • 在 Jupyter Notebook 中设置环境变量的不同方法

    在某些情况下 我在 Windows 10 计算机上使用 Jupyter 笔记本 我想通过设置环境变量 GOOGLE APPLICATION CREDENTIALS 来向 GCP 进行身份验证 我想知道 这两种设置环境变量的方式有什么区别 当
  • Python 中 time.sleep 和多线程的问题

    我对 python 中的 time sleep 函数有疑问 我正在运行一个脚本 需要等待另一个程序生成 txt 文件 虽然 这是一台非常旧的机器 所以当我休眠 python 脚本时 我遇到了其他程序不生成文件的问题 除了使用 time sl
  • 如何在 numpy 数组中查找并保存重复的行?

    我有一个数组 例如 Array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 2 2 2 我想要输出以下内容的东西 Repeated 1 1 1 2 2 2 保留重复行的数量也可以 例如 Repeated 1 1
  • 样本()和r样本()有什么区别?

    当我从 PyTorch 中的发行版中采样时 两者sample and rsample似乎给出了类似的结果 import torch seaborn as sns x torch distributions Normal torch tens
  • 从字典中绘制直方图

    我创建了一个dictionary计算 a 中出现的次数list每个键的内容 我现在想绘制其内容的直方图 这是我想要绘制的字典的内容 1 27 34 1 3 72 4 62 5 33 6 36 7 20 8 12 9 9 10 6 11 5
  • dask apply:AttributeError:“DataFrame”对象没有属性“name”

    我有一个参数数据框 并对每一行应用一个函数 该函数本质上是几个 sql queries 和对结果的简单计算 我正在尝试利用 Dask 的多处理 同时保持结构和界面 下面的例子有效并且确实有显着的提升 def get metrics row
  • Pandas如何按时间段过滤DataFrame

    我有一个包含下表的文件 Name AvailableDate totalRemaining 0 X3321 2018 03 14 13 00 00 200 1 X3321 2018 03 14 14 00 00 200 2 X3321 20
  • 如何将 Pyspark Dataframe 标题设置到另一行?

    我有一个如下所示的数据框 col1 col2 col3 id name val 1 a01 X 2 a02 Y 我需要从中创建一个新的数据框 使用 row 1 作为新的列标题并忽略或删除 col1 col2 等行 新表应如下所示 id na
  • 一个类似 dict 的 Python 类

    我想编写一个自定义类 其行为类似于dict 所以 我继承自dict 不过 我的问题是 我是否需要创建一个私有的dict我的成员 init 方法 我不明白这个有什么意义 因为我已经有了dict如果我只是继承自的行为dict 谁能指出为什么大多
  • 将 Python Selenium 输出写入 Excel

    我编写了一个脚本来从在线网站上抓取产品信息 目标是将这些信息写入 Excel 文件 由于我的Python知识有限 我只知道如何在Powershell中使用Out file导出 但结果是每个产品的信息都打印在不同的行上 我希望每种产品都有一条
  • 如何处理 Tkinter 中的窗口关闭事件?

    如何在 Python Tkinter 程序中处理窗口关闭事件 用户单击 X 按钮 Tkinter 支持一种称为协议处理程序 http web archive org web 20201111215134 http effbot org tk
  • 如何在 Python 中跟踪日志文件?

    我想在 Python 中提供 tail F 或类似内容的输出 而无需阻塞或锁定 我找到了一些非常旧的代码来做到这一点here http code activestate com recipes 436477 filetailpy 但我认为现
  • 使用 Sphinx 时,如何记录没有文档字符串的成员?

    我正在为我发布的包编写文档 我发现您的文档越全面 人们就越容易找到您的包来使用 废话 实际上 我在充满爱心地编写代码的所有功能和细节方面获得了很多乐趣 然而 我对如何为类级变量编写与 Sphinx 兼容的文档感到完全困惑 特别是 我有一些e
  • 如何在 Qt 中以编程方式制作一条水平线

    我想弄清楚如何在 Qt 中制作一条水平线 这很容易在设计器中创建 但我想以编程方式创建一个 我已经做了一些谷歌搜索并查看了 ui 文件中的 xml 但无法弄清楚任何内容 ui 文件中的 xml 如下所示
  • PYTHON:从 txt 文件中删除 POS 标签

    我有以下 txt 文件 其中包含 POS 词性 http en wikipedia org wiki Part of speech tagging 每个单词的标签 不用 jj到 说 vb 我 ppss是 bedz愤怒 jj在 在 dt无与伦

随机推荐

  • 如何在重置表单时运行 JavaScript 代码?

    我知道我们可以将处理程序附加到表单onsubmit 但是我们如何向表单重置事件添加处理程序 通常当点击
  • #1030 - 从存储引擎 Aria 收到错误 176“读取校验和错误的页面”

    创建了新数据库 但由于此错误而无法创建新用户帐户 有谁知道如何解决这一问题 我找不到任何解决方案来解决这个问题 1030 从存储引擎 Aria 收到错误 176 读取校验和错误的页面 就我而言 上述解决方案不起作用 但解决方案类似于建议的
  • guice 辅助注入 + 多重绑定 + 仿制药

    我试图结合 Guice 的这 3 个功能 注入 多重绑定 泛型 我创建了一个生产项目的原型 所以这里是 首先 这是泛型的一个小层次结构 在生产情况下有 N 个实体的层次结构 public interface Type public clas
  • sqlalchemy:在日期时间列上应用类似 SQL 的 date() 函数

    我想按日期分组并计算结果数id使用 sqlalchemy 不幸的是 我的专栏包含日期信息created datetime是一个日期时间 我想使用像这样的sql函数 group by date created datetime 为了按日期分组
  • 即使应用程序被强制停止,也要重新启动服务,并且即使关闭应用程序后,也要在后台继续运行服务如何?

    我正在尝试在后台运行服务 我的应用程序所做的是 当用户选中复选框时 服务启动 未选中时服务停止 这工作得很好 但问题是 当我从任务管理器关闭应用程序时 它也会停止服务 我想要的是即使在关闭任务管理器后仍保持服务运行 那么停止该服务的唯一方法
  • 类型错误:无法在反应中读取 null 的属性“名称”

    我对 React 和 Redux 很陌生 所以在做了大量研究后我无法轻松解决这个错误 我试图以卡片的形式在单独的页面中显示用户的个人资料 但出现错误 TypeError Cannot read property name of null P
  • 我们如何在 Apache Arrow 中存储哈希表?

    我对 Apache Arrow 很陌生 所以这个问题可能是无知的 Apache Arrow 提供了以标准化内存格式存储原始类型 结构 数组等数据结构的功能 我想知道是否可以使用 Apache Arrow 存储更复杂的数据结构 如哈希表 或平
  • javascript date getYear() 在 IE 和 Firefox 之间返回不同的结果,如何解决这个问题?

    显然 javascript日期对象的方法 getYear 在 IE8 和 Firefox3 6 之间返回不同的结果 我的机器上有这两个 不确定其他浏览器或版本 Date d new Date alert d getYear FF3 6 gt
  • 如何在iis 7.5中使Asp.net网站离线

    我有一个 ASP NET 网站 但我想在我的客户尝试访问该网站时显示 正在维护 页面 有谁知道如何做到这一点 如果您在 NET 4 0 应用程序池 IIS 7 0 或 IIS 7 5 中运行应用程序 或者您的网站配置为 ASP NET 4
  • Angular - 周围的条件 div 容器

    在我的 app component html 中 我想根据当前 url 渲染某些 div 容器 例如 1 如果当前 URL 是authenticate 则呈现以下内容 div div
  • nvm ls-remote 命令结果为“N/A”

    我正在尝试使用 nvm 安装 Node 但是当我输入任何版本时它都不可用 当我打字时nvm ls remote我只是得到 不适用 我可以访问互联网 所以我不知道会发生什么 更新维护 nvm sh 的 LJHarb 的评论 LJHarb 表示
  • 声明 @synthesize 时单下划线和双下划线的区别

    在最近的 Xcode 4 3 项目模板中 一些 synthesze声明为 synthesize window window synthesize managedObjectContext managedObjectContext synth
  • 无法推送到 Gitlab 注册表 | Quarkus - 臂架构建

    我目前正在开发 Quarkus 应用程序 因此需要 CI 管道 容器注册表 由于通过 docker 的容器化不起作用 docker 守护进程 特权模式 我想使用 Jib Quarkus 已经支持它 管道中的命令 mvn clean pack
  • 有没有办法动态配置 nginx(或其他快速反向代理)?

    假设我们有几个相同的节点 它们是某个 n 层服务的应用程序服务器 假设我们使用 Apache ZooKeeper 来保存分布式应用程序的所有配置 另外 我们在此应用程序前面有一个 nginx 作为负载均衡器和反向代理 假设我们执行的命令仅更
  • 使用BIOS int 13h访问不同磁头的扇区

    我的磁盘每磁道有 63 个扇区 根据我的观察 我假设 我想使用 int 13h 读取 16 位引导加载程序上的扇区 例如 如果我想读取扇区号 63 我将执行以下操作 mov dl 0x80 Drive number mov dh 0 Thi
  • 如何在d3中增量绘制网格?

    下面是一个 HTML 文件 它将绘制一个 10x10 的浅灰色和深灰色交替的正方形网格 它填充一个名为的二维数组the grid与 0 或 1 然后填充一个名为的一维数组nodes with x y and color 然后画nodes与
  • JUnitCore 停止

    我想停止 销毁正在运行的 JUnitCore 它的启动方式是 JUnitCore run Request aClass ClassToRun Like pleaseStop 在 RunNotifier 上 有任何想法吗 http junit
  • ajax 请求后重新加载 dojo 小部件

    我是这个主题的新手 我有 div 里面有一些 dojo 小部件 我使用 ajax 重新加载这个 div 但是之后我的 dojo 小部件没有显示 我怎样才能让我的浏览器在ajax请求后再次重新加载小部件 我不想重新加载整个页面 我的ajax视
  • Polymer 2.0:通知并反映到属性

    我是这个框架的新手 希望看到一些有用且简单的通知和反映属性属性的示例 请保持示例简单或为您提供的任何代码添加解释 Notify 可以设置为 True False 假设你有parent element and child element 工作
  • python 的斯坦福大学 nlp

    我想做的就是找到任何给定字符串的情绪 积极 消极 中性 在研究过程中 我遇到了斯坦福 NLP 但遗憾的是它是在 Java 中 关于如何让它适用于 python 有什么想法吗 Use py corenlp https github com s