栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Stanford NLP for Python

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Stanford NLP for Python

采用
py-corenlp

下载Stanford 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
,则可能有
curl

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.zipmv stanford-corenlp-4.0.0-models-english.jar stanford-corenlp-4.0.0

启动服务器

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

笔记:

  1. timeout
    以毫秒为单位,我将其设置为10秒以上。如果将大量Blob传递给服务器,则应增加它。
  2. 还有更多选项,您可以使用列出它们
    --help
  3. -mx5g
    应该分配足够的内存,但是YMMV,并且如果您的盒子电源不足,则可能需要修改该选项。

安装python包

标准包装

pip install pycorenlp

没有 与Python 3.9,所以你需要做的

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

(另请参阅官方列表)。

用它

from pycorenlp import StanfordCoreNLPnlp = 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 Positive1: 'I hate him .': 1 Negative2: 'You are nice .': 3 Positive3: 'He is dumb': 1 Negative

笔记

  1. 您将整个文本传递到服务器,然后将其拆分为句子。它还将句子拆分为标记。
  2. 情感归属于每个 句子 ,而不是 全文 。句子之间的均值
    sentimentValue
    可以用来估计整个文本的情绪。
  3. 句子的平均情绪在
    Neutral
    (2)和
    Negative
    (1)之间,范围从
    VeryNegative
    (0)到
    VeryPositive
    (4),这似乎非常少见。
  4. 您可以通过在启动它的终端上键入或使用shell命令来停止服务器。是默认端口,您可以在启动服务器时使用该选项进行更改。
    Ctrl-C``kill $(lsof -ti tcp:9000)``9000``-port
  5. timeout
    如果收到超时错误,则增加服务器或客户端的时间(以毫秒为单位)。
  6. sentiment
    仅仅是 一个 注释器,还有更多注释器,您可以请求多个注释器,并用逗号分隔:
    'annotators': 'sentiment,lemma'
  7. 请注意,情感模型在某种程度上是特质的(例如,结果是不同的,具体取决于您提到David还是Bill)。

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/638278.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号