1

この小さな問題で、私は数晩眠れなくなりました。

次の UIMA Ruta スクリプトがあります。

(Action.type=="info_req"{->CREATE(CompAction,"type"=Action.type)}
Preposition? Article? ServiceItem{->FILL(CompAction,"target"=ServiceItem, "num_targets"=1),SHIFT(CompAction,1,4)}
(Preposition? Article? ServiceItem)?{
    ->FILL(CompAction, "target2"=ServiceItem, "num_targets"=2, "selection"="OR") })
    {->SHIFT(CompAction,1,1)}
    ;

次の文に一致するはずです。

ゴールドクレジットカードについて カードの情報が欲しい

  • 注釈アクションは「情報が欲しい」に一致します
  • 注釈前置詞は「約」に一致します
  • 注釈記事は「the」に一致します
  • アノテーション ServiceItem は「card」および「gold credit card」に一致します

望ましい結果は、次の機能を備えた CompAction アノテーションである必要があります。

  • 機能対象: (タイプ ServiceItem) カード
  • 機能のターゲット 2: (タイプ ServiceItem) ゴールド クレジット カード

残念ながら、私が得る結果は次のとおりです。

  • 機能対象: (タイプ ServiceItem) カード
  • 機能のターゲット 2: (タイプ ServiceItem) カード

つまり、同じ ServiceItem を 2 回取得します。これは、非常に間違ったことをしていない限り、参照の問題のようです。

4

1 に答える 1