通过C#使用Stanford CoreNLP时是否可以编写自定义注释器?

时间:2018-06-06 05:29:06

标签: c# stanford-nlp

我使用的是stanford corenlp版本3.9.1的NuGet版本。我可以很好地创建和使用标准管道。但是,我在Java中编写了一些自定义管道注释器,其中一个我也写了C#等价物,所以我有Java和C#实现。我希望像

一样
props.setProperty("annotators", "tokenize, ssplit, pos, lemma, custom.ner");

其中custom.ner可以是C#或Java代码。使用C#版本时,我得到:

  

结果StackTrace:at Java_java_lang_Class.forName0(String name,   布尔值初始化,ClassLoader加载器,类调用者)at   java.lang.Class.forName(String className,CallerID)at   edu.stanford.nlp.util.MetaClass.ClassFactory.construct(String,   类[])at   edu.stanford.nlp.util.MetaClass.ClassFactory..ctor(String,Object [])   在edu.stanford.nlp.util.MetaClass.ClassFactory..ctor(String,   对象[],1)at   edu.stanford.nlp.util.MetaClass.createFactory(Object [] objects)---   内部异常堆栈跟踪结束---       at edu.stanford.nlp.util.MetaClass.createFactory(Object [] objects)at edu.stanford.nlp.util.MetaClass.createInstance(Object [] objects)
  在   edu.stanford.nlp.pipeline.AnnotatorImplementations.custom(属性   properties,String property)at   edu.stanford.nlp.pipeline.StanfordCoreNLP.lambda为$ null $ 67(AnnotatorImplementations   ,属性,字符串)at   edu.stanford.nlp.pipeline.StanfordCoreNLP .__<> Anon39.get()at   edu.stanford.nlp.util.Lazy.3.compute()at   edu.stanford.nlp.util.Lazy.get()at   edu.stanford.nlp.pipeline.AnnotatorPool.get(String name)at   edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(属性,   布尔值,AnnotatorImplementations)   edu.stanford.nlp.pipeline.StanfordCoreNLP..ctor(属性道具,   Boolean enforceRequirements,AnnotatorPool annotatorPool)at   edu.stanford.nlp.pipeline.StanfordCoreNLP..ctor(属性道具,   Boolean enforceRequirements)at   edu.stanford.nlp.pipeline.StanfordCoreNLP..ctor(属性道具)
  在MyPath.NerScoringTests.Initialize()中   MyPath \ NerScoringTests.cs:第139行结果消息:初始化   方法MyPath.NerScoringTests.Initialize抛出异常。   edu.stanford.nlp.util.MetaClass + ClassCreationException:   edu.stanford.nlp.util.MetaClass + ClassCreationException:   java.lang.ClassNotFoundException:MyPath.Annotators.NERAnnotator --->   java.lang.ClassNotFoundException:MyPath.Annotators.NERAnnotator。

我怎么能把它连接起来以便MetaClass能够找到我的自定义注释器类?

0 个答案:

没有答案