Machine learning 实例提取中的cleartk错误

Machine learning 实例提取中的cleartk错误,machine-learning,nlp,uima,cleartk,Machine Learning,Nlp,Uima,Cleartk,我尝试运行介绍性的cleartk示例,对文档进行一些修改并使用不同的数据集进行分类。我得到以下错误: Exception in thread "main" java.lang.NoSuchMethodError: org.uimafit.util.JCasUtil.selectCovered(Lorg/apache/uima/jcas/JCas;Ljava/lang/Class; Lorg/apache/uima/cas/text/AnnotationFS;)Ljava/util/Lis

我尝试运行介绍性的cleartk示例,对文档进行一些修改并使用不同的数据集进行分类。我得到以下错误:

    Exception in thread "main" java.lang.NoSuchMethodError: org.uimafit.util.JCasUtil.selectCovered(Lorg/apache/uima/jcas/JCas;Ljava/lang/Class;
Lorg/apache/uima/cas/text/AnnotationFS;)Ljava/util/List;
    at org.cleartk.classifier.feature.extractor.CleartkExtractor$Covered.extract(CleartkExtractor.java:543)
    at org.cleartk.classifier.feature.extractor.CleartkExtractor$Count.extract(CleartkExtractor.java:744)
    at org.cleartk.classifier.feature.extractor.CleartkExtractor.extract(CleartkExtractor.java:128)
    at org.cleartk.classifier.feature.extractor.CleartkExtractor.extract(CleartkExtractor.java:92)
    at org.cleartk.classifier.feature.transform.extractor.TfidfExtractor.extract(TfidfExtractor.java:98)
    at org.cleartk.classifier.feature.extractor.simple.CombinedExtractor.extract(CombinedExtractor.java:72)
    at com.mesh.classification.tests.DocumentClassificationAnnotator.process(DocumentClassificationAnnotator.java:233)
    at org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(JCasAnnotator_ImplBase.java:48)
    at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:377)
    at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:295)
    at org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:567)
    at org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:409)
    at org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:342)
    at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:267)
    at org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:567)
    at org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:409)
    at org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:342)
    at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:267)
    at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:267)
    at org.uimafit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:98)
    at com.mesh.classification.tests.DocumentClassificationEvaluation.train(DocumentClassificationEvaluation.java:193)
    at com.mesh.classification.tests.TrainModel.main(TrainModel.java:75)
Annotation Question.xml定义为:

<?xml version="1.0" encoding="UTF-8"?>
<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">
  <name>Question</name>
  <version>1.0</version>
  <vendor>All Rights Reserved.</vendor>
  <types>
    <typeDescription>
      <name>com.mesh.classification.tests.type.Question</name>
      <description/>
      <supertypeName>uima.tcas.Annotation</supertypeName>
      <features>
        <featureDescription>
          <name>category</name>
          <description>The category label for the question (ABBREVIATION, ENTITY, DESCRIPTION, HUMAN, LOCATION)</description>
          <rangeTypeName>uima.cas.String</rangeTypeName>
        </featureDescription>
      </features>
    </typeDescription>
  </types>
</typeSystemDescription>

问题:
1
版权所有。
com.mesh.classification.tests.type.Question
uima.tcas.Annotation
类别
问题的类别标签(缩写、实体、描述、人员、位置)
uima.cas.String
有什么线索吗?我发现这个问题可能有些关联


在我看来,您可能正在使用不兼容的ClearTK和UIMA版本。你的项目设置是什么?您是否使用maven或类似工具来解决依赖关系?如果是这样,您可以发布pom.xml吗?该示例在没有修改的情况下工作了吗?该示例使用uimafit-1.4.0.jar,而我的项目使用uimafit-1.3.1.jar。我可以升级而不需要太多麻烦或破坏项目中的其他东西吗?请让我知道。仅供参考:升级解决了错误。只更换罐子,你不会犯太多错误,因为你可以用旧版本再次更换罐子。如果您使用maven,“升级”(通过更改版本号)也总是可以撤消的,因此在这些情况下,您通常不需要担心破坏东西。
instance.addAll(this.extractor.extract(jCas, doc));
<?xml version="1.0" encoding="UTF-8"?>
<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">
  <name>Question</name>
  <version>1.0</version>
  <vendor>All Rights Reserved.</vendor>
  <types>
    <typeDescription>
      <name>com.mesh.classification.tests.type.Question</name>
      <description/>
      <supertypeName>uima.tcas.Annotation</supertypeName>
      <features>
        <featureDescription>
          <name>category</name>
          <description>The category label for the question (ABBREVIATION, ENTITY, DESCRIPTION, HUMAN, LOCATION)</description>
          <rangeTypeName>uima.cas.String</rangeTypeName>
        </featureDescription>
      </features>
    </typeDescription>
  </types>
</typeSystemDescription>