Создайте аннотатор с помощью UIMA Framework в Eclipse.

я пытаюсь использовать структуру UIMA с Eclipse и не могу сделать один из первых учебников самостоятельно...

(Сначала я пытался сделать свой собственный аннотатор со словами и т. Д., А затем получил те же самые ошибки: класс аннотатора «*» не был найден, поэтому я вернулся к учебнику, чтобы проверить, что я пропустил, но все равно получаю такие ошибки :/)

вот моя структура файлов/каталогов

uima0
--- src
------- (default package)
---------- RoomNumber.java
---------- RoomNumber_Type.java
---------- RoomNumberAnnotator.java
--- JRE system Library [JavaSE-1.7]
--- Referenced Libraries
------ uima-core.jar
--- descriptors
------ RoomNumberAnnotator.xml
------ typeSystemDescriptor.xml
--- lib
------- uima-core.jar

RoomNumber.java и RoomNumber_Type.java автоматически генерируются через typeSystemDescriptor.xml / Open With / Component Descriptor Editor => JCasGen

Я думаю, что внутри у меня есть именно то, что нужно как для RoomNumberAnnotator.xml, так и для typeSystemDescriptor.xml (см. ниже).

RoomNumerAnnotator.java — это копия и вставка одного из руководств (http://uima.apache.org/d/uimaj-2.3.1/tutorials_and_users_guides.html#d4e236)

Я думаю, что я правильно установил переменные среды UIMA_HOME.

Я использую проект каталога примеров с включенным DocumentAnalyzer, который доступен там, чтобы проверить мой собственный RoomNumerAnnotator.

и я всегда получаю:

*org.apache.uima.resource.ResourceInitializationException: класс аннотатора "RoomNumberAnnotator" не найден. (Дескриптор: файл:/D:/eclipseWorkspace/uima0/descriptors/RoomNumberAnnotator.xml) в org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:207) в org.apache.uima.analysis_engine.impl .PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:156) [...]*

что я забыл или пропустил?

(похоже, он может пропустить некоторые связи между местом, где находится мой RoomNumberAnnotator.java, и встроенным DocumentAnalyzer, снабженным uimaj-примерами? Кстати, я не знал, как сказать/исправить это с файлами конфигурации Eclipse и/или UIMA)

---8‹--- RoomNumberAnnotator.xml:

  <?xml version="1.0" encoding="UTF-8"?>
    <analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
      <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
      <primitive>true</primitive>
      <annotatorImplementationName>RoomNumberAnnotator</annotatorImplementationName>
      <analysisEngineMetaData>
        <name>RoomNumberAnnotator</name>
        <description/>
        <version>1.0</version>
        <vendor/>
        <configurationParameters/>
        <configurationParameterSettings/>
        <typeSystemDescription>
          <imports>
            <import location="typeSystemDescriptor.xml"/> <!-- here putting full path as :  import location="file:/D:/eclipseWorkspace/uima0/descriptors/typeSystemDescriptor.xml" did not help -->
          </imports>
        </typeSystemDescription>
        <typePriorities/>
        <fsIndexCollection/>
        <capabilities>
          <capability>
            <inputs/>
            <outputs>
              <type>RoomNumber</type>
              <feature>RoomNumber:building</feature>
            </outputs>
            <languagesSupported/>
          </capability>
        </capabilities>
        <operationalProperties>
          <modifiesCas>true</modifiesCas>
          <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
          <outputsNewCASes>false</outputsNewCASes>
        </operationalProperties>
      </analysisEngineMetaData>
      <resourceManagerConfiguration/>
    </analysisEngineDescription>

---8‹--- typeSystemDescriptor

<?xml version="1.0" encoding="UTF-8"?>
<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">
  <name>typeSystemDescriptor</name>
  <description/>
  <version>1.0</version>
  <vendor/>
  <types>
    <typeDescription>
      <name>RoomNumber</name>
      <description/>
      <supertypeName>uima.tcas.Annotation</supertypeName>
      <features>
        <featureDescription>
          <name>building</name>
          <description/>
          <rangeTypeName>uima.cas.String</rangeTypeName>
        </featureDescription>
      </features>
    </typeDescription>
  </types>
</typeSystemDescription>

person Christophe Debove    schedule 13.04.2012    source источник


Ответы (1)


Я почти уверен, что вам не хватает включения ваших классов в путь к классам. Попробуйте следующее в Eclipse:

  1. Выберите конфигурации запуска
  2. В приложении Java вы найдете визуальный отладчик Java CAS (при условии, что вы следовали всему руководству и импортировали проект uimaj-examples в Eclipse)
  3. Перейдите в Classpath -> Add Projects... и добавьте созданный вами образец проекта.
  4. Запустите визуальный отладчик Java CAS, выберите «Выполнить» -> «Загрузить AE», найдите файл дескриптора на жестком диске и загрузите его.
  5. Введите текст в текстовое поле и запустите аннотацию к введенному тексту, используя «Выполнить» -> «Выполнить AE».

Я надеюсь, что это решит вашу проблему!

person dvdmllr    schedule 13.04.2012