Stanford nlp 为什么在使用pycorenlp.StanfordCoreNLP.annotate时,我得到的字符串应该在哪里得到dict?

Stanford nlp 为什么在使用pycorenlp.StanfordCoreNLP.annotate时,我得到的字符串应该在哪里得到dict?,stanford-nlp,sentiment-analysis,pycorenlp,Stanford Nlp,Sentiment Analysis,Pycorenlp,我使用pycorenlp Stanford Core NLP python包装器运行它,但是annotate函数返回一个字符串而不是dict,因此,当我迭代它以获得每个句子的情感值时,我得到以下错误:“字符串索引必须是整数” 我能做些什么来克服它?有人能帮我吗?提前谢谢。 代码如下: from pycorenlp import StanfordCoreNLP nlp_wrapper = StanfordCoreNLP('http://localhost:9000') doc = "I like

我使用pycorenlp Stanford Core NLP python包装器运行它,但是annotate函数返回一个字符串而不是dict,因此,当我迭代它以获得每个句子的情感值时,我得到以下错误:“字符串索引必须是整数”

我能做些什么来克服它?有人能帮我吗?提前谢谢。 代码如下:

from pycorenlp import StanfordCoreNLP
nlp_wrapper = StanfordCoreNLP('http://localhost:9000')
doc = "I like this chocolate. This chocolate is not good. The chocolate is delicious. Its a very 
    tasty chocolate. This is so bad"
annot_doc = nlp_wrapper.annotate(doc,
                                 properties={
                                            'annotators': 'sentiment',
                                            'outputFormat': 'json',
                                            'timeout': 100000,
                                 })
for sentence in annot_doc["sentences"]:
      print(" ".join([word["word"] for word in sentence["tokens"]]) + " => "\
            + str(sentence["sentimentValue"]) + " = "+ sentence["sentiment"])

你应该使用官方的stanfordnlp软件包!(注意:名称将在某个时候更改为节)

以下是所有详细信息,您可以从服务器获得各种输出格式,包括JSON


你应该使用官方的stanfordnlp软件包!(注意:名称将在某个时候更改为节)

以下是所有详细信息,您可以从服务器获得各种输出格式,包括JSON


如果您提供错误堆栈跟踪,那就太好了。原因是注释器会更快超时,并返回断言消息“文本太大…”。它的数据类型是。此外,我将进一步阐明彼得·马图斯卡的评论。通过查看您的示例,很明显,您的目标是找到句子的情绪及其情绪分数。
在使用CoreNLPCLient时,未找到情绪分数和结果。我面临类似的问题,但我确实解决了这个问题。如果文本较大,则必须将超时值设置为更高的值(例如,timeout=500000)。注释器还会生成字典,因此会消耗大量内存。对于较大的文本语料库,这将是一个很大的问题!!因此,如何处理代码中的数据结构取决于我们。还有一些替代方法,例如使用插槽、tupple或命名tupple,以实现更快的访问

如果您提供错误堆栈跟踪,那就太好了。原因是注释器会更快超时,并返回断言消息“文本太大…”。它的数据类型是。此外,我将进一步阐明彼得·马图斯卡的评论。通过查看您的示例,很明显,您的目标是找到句子的情绪及其情绪分数。
在使用CoreNLPCLient时,未找到情绪分数和结果。我面临类似的问题,但我确实解决了这个问题。如果文本较大,则必须将超时值设置为更高的值(例如,timeout=500000)。注释器还会生成字典,因此会消耗大量内存。对于较大的文本语料库,这将是一个很大的问题!!因此,如何处理代码中的数据结构取决于我们。还有一些替代方法,例如使用插槽、tupple或命名tupple,以实现更快的访问

如果粘贴错误堆栈跟踪,那就太好了。我也经历过类似的事情。我想我曾经将输出转换成字典。如果粘贴错误堆栈跟踪,那就太好了。我也经历过类似的事情。我想我曾经把输出转换成字典。
from stanfordnlp.server import CoreNLPClient
with CoreNLPClient(annotators=['tokenize','ssplit','pos','lemma','ner', 'parse', 'depparse','coref'], timeout=30000, memory='16G') as client:
    # submit the request to the server
    ann = client.annotate(text)