与" tokenize,ssplit,pos,lemma,ner"相比,直接使用CRFClassifier(或NERClassifierCombiner)之间的区别是什么?管道?

时间:2018-03-09 16:37:47

标签: stanford-nlp

我试图在包含文本页面的一组卷上执行NER。我开始创建一个tokenize,ssplit,pos,lemma,ner管道。使用默认设置,在16核计算机上,处理1,360页的页面需要 5分钟(手动控制并行,不使用threads属性 - 这要快得多办法)。鉴于目标是处理可能数千卷,这被认为太慢了。另一项实验涉及通过将ner.useSUTimener.applyNumericClassifiers设置为false来尝试关闭各种NER方面。这似乎没有以任何重要的方式提高处理速度。但是,我无法关闭管道所使用的TokensRegexNERAnnotator。我尝试将ner.regex设置为false,但这似乎不起作用。不确定哪个属性(如果有)控制是否启用此注释器。

然后我决定直接使用NERClassifierCombiner,加载管道加载的相同3个模型(英语)。在相同的音量上运行,这被证明明显更快。它在 15秒中处理整个音量。在比较生成的实体时,它们大部分都是相同的,除了通过管道TokensRegexNERAnnotator生成的实体,我在这里没有添加(也不需要)。

对于这两种方法,处理单位是一页文本。管道使用Annotation(pageText),而直接分类器使用classify(pageText)

主要问题是:这两种方法有何不同?在两种方法中,句子分裂和标记化是否以相同的方式完成?

其他问题:

  1. 使用管道时可以关闭TokensRegexNERAnnotator吗?
  2. 是NER需要的poslemma注释器吗? Documentation似乎表明答案是no。如果不需要,为什么他们listed as dependencies

0 个答案:

没有答案