Stanford NLP for Python

Stanford NLP for Python,第1张

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个答案中的一些已被删除,另一些已转换为评论)。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5644090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存