当前位置: 首页 > 知识库问答 >
问题:

并行使用StanfordCoreNLP

姚昊焱
2023-03-14
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"]))

假设我有+10000个句子,我想像这个例子一样分析。有可能并行处理这些和多线程吗?

共有1个答案

吴举
2023-03-14

不确定这个方法。在java中,我使用corenlp和我想要使用的管道设置了单例类。然后,我在单例中调用一个方法,多个线程使用同一个实例,它使用几个句子,并对它们进行注释,对结果进行一些处理。所以这种类型的多线程是有效的。我已经做了几年了,没有任何问题

你能考虑一下你的代码来做这件事吗?因此,设置您的管道,然后在您的线程池中一次调用几个句子的注释?应该不需要太多的努力。

希望这有意义。

 类似资料:
  • 问题内容: 我有一个测试,可以从数据提供者那里接收数据。我希望此测试与数据提供者的不同值并行运行。 我尝试了类似的方法: } 我收到的输出是: 你好:10 你好:12 你好:17 你好:11 你好:16 你好:14 你好:13 你好:15 产生10个线程,而我在线程池大小中指定5个。您能否告诉我们必须在上述代码段中添加哪些内容来控制数据提供程序线程池的大小。 问题答案: 您需要使用。在和不需要的值

  • 我使用testNg用于使用java的自动化,我使用从excel获取数据并作为参数传递给测试脚本。 假设我在中有10行数据,我的测试用例将按顺序执行10次,但现在我想并行运行这10个测试,同时使用线程。 这能做到吗?如果是的话,有人能给我一个同样的例子吗?

  • 问题内容: 我有一堆JSON数组文件(准确地说是AVRO),每个文件都产生多个样本来训练Keras模型。通过使用@GPhilo和@jsimsa的想法,我能够想到这一点来并行化我的输入管道。无法弄清楚如何设计来划分处理文件的工作。代码内部失败,因为该函数需要一个字符串文件路径而不是一个, 这里正确的设计方法是什么 这是使用和设计输入管道的优化方法吗? 问题答案: 在我看来,发电机不必要地使您的生活变

  • Javav8. x-Springv5. xcucumberv4.2.0 我尝试了temyers/cucumber jvm并行插件,效果很好,但当我进入他们的gitihub页面时,他们宣布停止使用该插件b/c cucumber已经开始支持cucumber jvm 4.0的并行测试运行支持。0 我有使用以下maven依赖项的现有测试。 我有两个问题让我困惑。 为了使用cucumber-jvm,我必须更

  • 我对Spring的靴子是陌生的,在它们到来的时候学习。我有一个关于并行API调用的快速问题。 我有一个ID数组,我将把它附加到第三方APIendpoint,发出GET请求,聚合数据,并在所有3000个调用完成后从中生成一个文件。 这里的问题是Array的大小为3000,即我预计会进行3000次调用。我觉得使用for循环并迭代超过3000次没有任何意义,而且效率较低。 有谁能给我建议一个最好、最有效

  • 是否可以在gradle.properties文件中定义test.maxParallelForks=runtime.runtime.availableProcessors(),而不是在test任务下的每个build.gradle文件中定义它?