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

Stanford解析器-多线程问题-词汇化解析器

公良鸿风
2023-03-14

首先,根据句子的大小,解析在小的句子集上平稳运行--从200ms到1s的顺序。

我想实现什么?

我想在1-2小时内解析50L个句子。

不知怎么的,我需要把这个转换成->

            for(String sentence: sentences){
               Tree parsed = AnalysisUtilities.getInstance().parseSentence(job).parse;
            }

转换为多线程调用。我编写了一个多线程执行器来做这件事,它看起来像这样->

                MultiThreadExecutor<String> mte = new MultiThreadExecutor<String>(2, new JobExecutor<String>() {
                @Override
                public void executeJob(String job) {
                    Tree parsed = AnalysisUtilities.getInstance().parseSentence(job).parse;
                    inputTrees.add(parsed);
                }
            }, "");


            for(String sentence: sentences){
                mte.addJob(sentence);
            }

有什么办法可以做到吗?我能回答先前提出的问题,但没有什么好处。

共有1个答案

东方淇
2023-03-14

下面是一个将在多线程模式下运行解析器的示例命令:

java -Xmx4g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse -parse.nthreads 4 -ssplit.eolonly -file some-sentences.txt -outputFormat text
 类似资料:
  • 我花了相当多的时间阅读GraphQL教程,但不幸的是,它们似乎没有涵盖足够的深度,我无法理解。我真的很感谢你对这个现实世界的例子的帮助。 在示例中,查询位于解析器对象的根;我可以让它在单级查询中正常工作。但是,当我尝试解析嵌套查询时,嵌套解析程序从未被调用。让我非常困惑的是,我发现graphql网站上没有发布的每一个教程都放在一个查询对象中,并将它们的查询嵌套在下面,而不是根级别。 考虑以下模式:

  • 我正在使用Jsoup解析短html文档,该文档包含对结果进行某些逻辑操作所需的一些自定义标记 这样地: 在这种情况下,内部内容似乎丢失了,outerHtml()方法显示如下: 但是如果“show if”标签包含一个简单的文本,比如你好,它就会像预期的那样工作。 有什么想法吗?谢谢你。

  • 我已经尝试使用斯坦福CorenLP。但是,我似乎无法启动解析器。我已经使用Eclipse在我的项目中导入了所有包含的JAR,并为JVM(-xmx3g)分配了3GB。 错误很尴尬: 线程“main”java.lang.NosuchMethoderror:edu.stanford.nlp.parser.lexparser.lexicalizedParser.loadModel(ljava/lang/s

  • 我对ANTLR相对来说是新的,所以请原谅我。 但是当我试图解析下面的表达式时 我最终出现以下错误: 第1:38行:'''处的令牌识别错误 第1:42行:'''处的令牌识别错误 规则r没有方法或者它有参数 规则'r'的意思是什么?我怎么能理解问题的原因呢?任何帮助都将不胜感激!

  • 上一小节,我们讲了如何定义主题,定义之后,你要决定使用哪个主题。DispatcherServlet会查找一个名称为themeResolver的bean以确定使用哪个ThemeResolver的实现。主题解析器的工作原理与地区解析器LocaleResolver的工作原理大同小异。它会检测,对于一个请求来说,应该使用哪个主题,同时它也可以修改一个请求所应应用的主题。Spring提供了下列的这些主题解析

  • 词法解析、语法解析 这一节我们分析下PHP的解析阶段,即 PHP代码->抽象语法树(AST) 的过程。 PHP使用re2c、bison完成这个阶段的工作: re2c: 词法分析器,将输入分割为一个个有意义的词块,称为token bison: 语法分析器,确定词法分析器分割出的token是如何彼此关联的 例如: $a = 2 + 3; 词法分析器将上面的语句分解为这些token:$a、=、2、+、3