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
笔记:
timeout
以毫秒为单位,我将其设置为10秒以上。如果将大量Blob传递给服务器,则应增加它。- 还有更多选项,您可以使用列出它们
--help
。 -mx5g
应该分配足够的内存,但是YMMV,并且如果您的盒子电源不足,则可能需要修改该选项。
标准包装
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
- 您将整个文本传递到服务器,然后将其拆分为句子。它还将句子拆分为标记。
- 情感归属于每个 句子 ,而不是 全文 。句子之间的均值
sentimentValue
可以用来估计整个文本的情绪。 - 句子的平均情绪在
Neutral
(2)和Negative
(1)之间,范围从VeryNegative
(0)到VeryPositive
(4),这似乎非常少见。 - 您可以通过在启动它的终端上键入或使用shell命令来停止服务器。是默认端口,您可以在启动服务器时使用该选项进行更改。
Ctrl-C``kill $(lsof -ti tcp:9000)``9000``-port
timeout
如果收到超时错误,则增加服务器或客户端的时间(以毫秒为单位)。sentiment
仅仅是 一个 注释器,还有更多注释器,您可以请求多个注释器,并用逗号分隔:'annotators': 'sentiment,lemma'
。- 请注意,情感模型在某种程度上是特质的(例如,结果是不同的,具体取决于您提到David还是Bill)。
PS 。我不敢相信我添加了 第9个
答案,但是我想我必须这样做,因为现有的答案都没有帮助我(以前的8个答案中的一些已被删除,另一些已转换为评论)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)