Mapping 可以在Ruta中匹配两个单词列表吗

Mapping 可以在Ruta中匹配两个单词列表吗,mapping,uima,ruta,Mapping,Uima,Ruta,我需要匹配两个单词列表的值(即,单词列表1的第一个位置与单词列表2的第一个位置),就像将一个列表的第一个元素映射到另一个列表的第一个元素一样 示例单词列表1: A B E C C 示例单词列表2: A92.8 B49.4 E16.0 C16.9 C49.4 首先我需要在文档中找到Wordlist1内容,然后我需要将其与Wordlist2匹配(例如A与A92.8匹配,B与B49.4匹配…),然后我需要将匹配的值添加为功能。是否可能 WORDLIST WL1List='WL1.txt'; DE

我需要匹配两个单词列表的值(即,单词列表1的第一个位置与单词列表2的第一个位置),就像将一个列表的第一个元素映射到另一个列表的第一个元素一样

示例单词列表1:

A
B
E
C
C
示例单词列表2:

A92.8
B49.4
E16.0
C16.9
C49.4
首先我需要在文档中找到Wordlist1内容,然后我需要将其与Wordlist2匹配(例如A与A92.8匹配,B与B49.4匹配…),然后我需要将匹配的值添加为功能。是否可能

WORDLIST WL1List='WL1.txt';

DECLARE WL1(STRING replace);

Document{ -> MARKFAST(WL1,W1List)};


WORDLIST WL2='WL2.txt';

DECLARE WL2;

Document{ -> MARKFAST(WL2,WL2List)};



//MATCH
DECLARE MATCHED;
Some matching process.........{->MARK(MATCHED)};



BLOCK(foreach) WL1{}
{    
STRING matchrepl;

MATCHED{->MATCHEDTEXT(matchrepl)};

WL1{->WL1.replace=matchrepl};
}

WL1{->WL1.replace="NEED TO REPLACE"};
conversion.csv:

A;A92.8
B;B49.4
E;E16.0
C;C16.9
C;C49.4
脚本:

WORDTABLE conversion = 'conversion.csv';
DECLARE Annotation Conversion(STRING match);
Document{->MARKTABLE(Conversion, 1, conversion, "match" = 2)};

在这个答案中,我还有一个结论,C应该同时匹配C16.9和C49.4。这是怎么可能的?这在WORDTABLE的当前实现中是不可能的。您需要一些变通方法,比如两个特性,这当然不是一个好的解决方案。有计划在Ruta中改进这一点。通常,在这种情况下,应用ConceptMapper而不是WORDTABLE。什么是“需要两个特性之类的解决方法”?类似于
声明注释转换(字符串匹配1、字符串匹配2);文档{->MARKTABLE(转换,1,转换,“match1”=2,“match2”=3)}。这当然是不可取的,您需要更改您的csv文件。