質問

私は最近UIMAについて知りました(http://uima.apache.org/)。トークン化、文の分割、スピーチの一部のタグ付けなどの単純なNLPタスクで有望に見えます。

パイプラインにOpenNLPコンポーネントを使用している既に構成されている最小Javaサンプルを手に入れることができました。

コードは次のようになります:

public void ApplyPipeline() throws IOException, InvalidXMLException,
        ResourceInitializationException, AnalysisEngineProcessException {

    XMLInputSource in = new XMLInputSource(
            "opennlp/OpenNlpTextAnalyzer.xml");
    ResourceSpecifier specifier = UIMAFramework.getXMLParser()
            .parseResourceSpecifier(in);

    AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(specifier);

    JCas jcas = ae.newJCas();
    jcas.setDocumentText("This is my text.");

    ae.process(jcas);
    this.doSomethingWithResults(jcas);

    jcas.reset();
    ae.destroy();
}

private void doSomethingWithResults(JCas jcas) {
    AnnotationIndex<Annotation> idx = jcas.getAnnotationIndex();
    FSIterator<Annotation> it = idx.iterator();

    while (it.hasNext()) {
        System.out.println(it.next().toString());
    }

}

opennlptextanalyzer.xmlからの抜粋:

<delegateAnalysisEngine key="SentenceDetector">
    <import location="SentenceDetector.xml" />
</delegateAnalysisEngine>
<delegateAnalysisEngine key="Tokenizer">
    <import location="Tokenizer.xml" />
</delegateAnalysisEngine>

Javaコードは、次のような出力を生成します。

Token
   sofa: _InitialView
   begin: 426
   end: 435
   pos: "NNP"

ToString()メソッドが使用する各注釈オブジェクトから同じ情報を取得しようとしています。私はすでにUIMAのソースコードを調べて、値がどこから来ているのかを理解しています。それらのような作品を取得しようとする私の試みは、いかなる方法でも賢くはありません。

JCASオブジェクトから情報を抽出する簡単な例を見つけるのに苦労しています。

たとえば、すべての注釈が私の事後またはSentencesPlitterによって生成される方法を得る方法を探しています。

私は推測する

List<Feature> feats = it.next().getType().getFeatures();

値を取得する開始ですが、UIMAがプリミティブタイプのクラスを所有しているため、注釈クラスのToStringメソッドのソースコードでさえ、顔の平手打ちのように読み取られます。

基本的なUIMAのものを使用するJavaコードはどこにあり、優れたチュートリアル(フレームワーク自体のJavadocを除く)はどこにありますか?

役に立ちましたか?

解決

注釈タイプのJCASラッパークラスを生成します(UIMAに付属するEclipseのタイプシステムエディターUIMAプラグインを使用してこれを行うことができます)。これにより、注釈にアクセスするために使用できるJavaクラスが提供されます。これらは、機能用のゲッターとセッターを提供します。

あなたは見てください uimafit, 、JCASから注釈を取得するための便利な方法を含む、より便利なAPIを提供します。

クイックスタートを見つけることができます グルーヴィーなスクリプト および上のUIMAコンポーネントのコレクション dkproコア ページ。

UIMA@GSCL 2013チュートリアル(スライドとサンプルコード)の資料があります。行け ここ 「チュートリアル」まで下にスクロールします。

開示:UIMA、UIMAFIT、DKProコア、およびUIMA@GSCL 2013ワークショップの共同主催者の開発者です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top