簡體   English   中英

uima ruta 中的歧義問題

[英]problems with ambiguity in uima ruta

當遇到模棱兩可的概念時,我有幾個復雜的規則會失敗:這是一個簡單的例子:

ANNOTATIONLIST  temp;
DECLARE TestPerson(uima.tcas.Annotation   concept);
DECLARE TestPlace(uima.tcas.Annotation   concept);
DECLARE TestSubject(uima.tcas.Annotation   concept, uima.cas.FSArray  children, String kind);
DECLARE TestModifier(uima.tcas.Annotation   concept);
DECLARE TestBE;
DECLARE TestAdj;
"bank"  ->  TestPerson;
"bank"  -> TestPlace;
"nice"   -> TestAdj;
"was" -> TestBE;
p:TestPlace{-> CREATE(TestSubject,"concept"=p, "children"=p, "kind"="place")};
p:TestPerson{-> CREATE(TestSubject,"concept"=p, "children"=p, "kind"="person")};
a:TestAdj{-> CREATE(TestModifier,"concept"=a)};

DECLARE TestRelation (uima.tcas.Annotation arg1 ,uima.tcas.Annotation arg2,String kind);

(p:TestSubject TestBE? m:TestModifier)
{ ->
            child:CREATE(TestRelation, "kind"="BE", "arg1"=p.concept, "arg2"=m.concept),
                LOG("child1:" + m.ct),
                LOG("parent1:" + p.ct),
                ASSIGN(temp, p.children),  // what we're stuck with
                ADD(temp, child),
                FILL(TestSubject, "children"=temp)
};

對於輸入句子“銀行很好”。 只有一個銀行含義有 2 個孩子:

<RutaMain:TestPerson xmi:id="2555" sofa="37" begin="4" end="8"/>
  <RutaMain:TestPlace xmi:id="2560" sofa="37" begin="4" end="8"/>
  <RutaMain:TestAdj xmi:id="2565" sofa="37" begin="13" end="17"/>
  <RutaMain:TestBE xmi:id="2569" sofa="37" begin="9" end="12"/>
  <RutaMain:TestSubject xmi:id="2577" sofa="37" begin="4" end="8" concept="2560" children="2555 2657" kind="place"/>
  <RutaMain:TestSubject xmi:id="2591" sofa="37" begin="4" end="8" concept="2555" children="2555" kind="person"/>
  <RutaMain:TestModifier xmi:id="2605" sofa="37" begin="13" end="17" concept="2565"/>
  <RutaMain:TestRelation xmi:id="2622" sofa="37" begin="4" end="17" arg1="2560" arg2="2565" kind="BE"/>
  <RutaMain:TestRelation xmi:id="2657" sofa="37" begin="4" end="17" arg1="2555" arg2="2565" kind="BE"/>

我正在使用 Ruta 2.7.0,但 2.8.1 的歧義問題更嚴重(在其他情況下)

我強烈建議升級到 Ruta 3.2.0

(p:TestSubject TestBE? m:TestModifier)
{ -> child:CREATE(TestRelation, "kind"="BE", "arg1"=p.concept, "arg2"=m.concept),
                ASSIGN(temp, p.children), 
                ADD(temp, child),
                p.children=temp
};

結果注釋

在您的規則中, FILL(TestSubject, "children"=temp)匹配索引中此 position 處的第一個 TestSubject,但與之前的規則元素不匹配。

(我用當前的 Ruta 版本測試了規則)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM