2

Eclipse で UIMA フレームワークを使用しようとしていますが、最初のチュートリアルの 1 つを自分で実行できませんでした...

(私は最初に単語などを使って独自のアノテーターを作成しようとしましたが、次のようにまったく同じエラーが発生しました: Annotator クラス "*" が見つかりませんでした。それでもこの種のエラーが発生します:/)

ここに私のファイル/ディレクトリ構造があります

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 は、チュートリアルの 1 つのコピー アンド ペーストです ( http://uima.apache.org/d/uimaj-2.3.1/tutorials_and_users_guides.html#d4e236 )

正しい環境変数 UIMA_HOME を設定したと思います。

サンプル ディレクトリ プロジェクトと、そこにある DocumentAnalyzer を使用して、独自の RoomNumerAnnotator をチェックします。

そして、私は常に次のようになります:

* org.apache.uima.resource.ResourceInitializationException: Annotator クラス "RoomNumberAnnotator" が見つかりませんでした。(記述子: file:/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 がある場所と uimaj-examples で提供される組み込みの DocumentAnalyzer の間のリンクがいくつか見落とされているように見えますか? ところで、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>
4

1 に答える 1

4

あなたのクラスをクラスパスに含めていないことは間違いありません。Eclipse で次のことを試してください。

  1. 実行構成の選択
  2. Java Application の下に、Java CAS Visual Debugger があります (これは、チュートリアル全体に従い、Eclipse にインポートされた uimaj-examples プロジェクトがあることを前提としています)。
  3. Classpath -> Add Projects... に移動し、作成したサンプル プロジェクトを追加します。
  4. Java CAS Visual Debugger を実行し、[Run] -> [Load AE] を選択して、ハードディスク上の記述子ファイルを見つけてロードします。
  5. テキスト フィールドにテキストを入力し、Run -> Run AE を使用して入力テキストに注釈を付けます。

問題が解決することを願っています。

于 2012-04-13T15:03:08.810 に答える