- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 RUTA 脚本,其中所有句子都用 Sentence 注释进行了注释,各种单词和短语都用它们自己的特定注释进行了注释。一切都按预期工作。
这些注释中的每一个都具有包含它的句子索引的特征。所以在一个人为的例子中并给定文本
Jack and Jill went up the hill. Jack fell down.
我有一个“向下”的注释,我想将句子索引设置为2,表示它在第二个句子中。尽管我知道那是不正确的,但我在想类似下面的事情。
Sentence{CONTAINS(Down) -> Down.sentence_index = index
其中索引是句子的索引。 RUTA 这可能吗?如果是这样,什么是合适的脚本。我可以在单独的分析引擎中执行此操作并且过去也这样做过,但我希望用 ruta 脚本替换其中的一些。
谢谢,
尼克
最佳答案
在 UIMA Ruta 中有多种表达方式。我的第一个猜测是这样的:
// just to have an executable example
DECLARE Sentence;
DECLARE Annotation Down (INT sentence_index);
((# PERIOD){-> Sentence})+;
"down" -> Down;
// the acutal rule with a helper variable
INT index;
Sentence{CONTAINS(Down), CURRENTCOUNT(Sentence, index)} ->
{Down{-> Down.sentence_index = index};};
规则匹配所有包含 Down 注释的句子。此外,CURRENTCOUNT 将 Sentence 注释计数到匹配的位置,并将值存储在变量索引中。然后,内联规则(由第一个“->”表示)匹配匹配句子中的所有 Down 注释,并将变量的值分配给匹配的 Down 注释的特征。根据您是想从 0 还是 1 开始,您需要递增分配的值:
... Down.sentence_index = (index+1)};};
条件 CURRENTCOUNT 也可以接受最小值和最大值,以便表现得像真实条件。它真的很旧,所以我不知道它如何扩展大型文档。
这是另一个示例,但这次没有 CURRENTCOUNT 条件并且用于将索引存储在 Sentence 注释中:
DECLARE Annotation Sentence (INT index);
DECLARE Annotation Down (INT sentence_index);
INT index;
(# PERIOD){-> Sentence, ASSIGN(index, (index + 1)), Sentence.index = index};
PERIOD (# PERIOD){-> Sentence, ASSIGN(index, (index + 1)), Sentence.index = index};
"down" -> Down;
Sentence{CONTAINS(Down) -> ASSIGN(index, Sentence.index)}
-> {Down{-> Down.sentence_index = index};};
请注意,不能使用第一个示例中用于创建句子注释的规则,因为它仅使用一个规则匹配,并且其操作应用于匹配的片段。第二个示例中的规则导致许多规则匹配,因此在处理下一个规则匹配之前应用操作。不同匹配范围的 feautre 值之间的复制不是很好,但可能会在某个时候得到改进。
如果你已经有了 Sentence 注释,你可以为索引分配类似的东西:
Sentence{-> ASSIGN(index, (index + 1)), Sentence.index = index};
示例已使用 UIMA Ruta 2.2.1-SNAPSHOT 进行了测试。
(我是 UIMA Ruta 的开发者)
关于uima - 在 UIMA Ruta 中设置特征值为包含注解的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24812029/
我尝试了一个脚本来使用分数条件来标记日志。 W{REGEXP("Journal",true)->MARK(ONLY_Journal)}; W{REGEXP("Retraction|Retr
有人知道我在 Ruta 中的字符串连接有什么问题吗? FOREACH (d) IngredientConcept{} { d{->CREATE(Entity, "label"="Drug
我的用例是这样的,我在 WORDLIST“MonthNames.txt”中有一个匹配单词列表。 现在我想标记给定文档中这些单词的所有出现,无论文本大小写如何。 PACKAGE uima.ruta.ex
我的用例是这样的,我在 WORDLIST“MonthNames.txt”中有一个匹配单词列表。 现在我想标记给定文档中这些单词的所有出现,无论文本大小写如何。 PACKAGE uima.ruta.ex
这里是 RUTA 新手。我正在使用 RUTA 处理文档,并且在开始注释之前有很多规范化工作要做。我正在尝试找到使用正则表达式和组在 RUTA 中的原始文档上查找和替换字符序列的最佳方法。本质上,我试图
在 uima ruta 中是否可以进行排序。例如: 输入文件: some text Fig 1.1 Table 1.1 Fig 1.2 some text Pic 1.2 Table 1.2 some
实际上我在Wordlist中使用了一些CITY名称和PUBLISHERS名称。在我的理解中,Wordlist会注释文档中任何列表项的所有出现。但是我发现一个问题,当我改变列表中文本的顺序。 例如: 脚
在单词匹配或忽略某些特殊情况的情况下,是否有任何模糊选项。 例如: STRINGLIST AMIMALLIST = {"LION","TIGER","MONKEY"}; DECLARE ANIMAL;
Uima Ruta 中单词表的最大大小是多少?因为我想存储国家、州和城市名称的列表。 最佳答案 UIMA Ruta 中的词表没有最大大小。文件的行通常被传输到基于字符的内存树结构 (TRIE) 中。这
我在示例短语上构建了一些自定义注释以识别关键字。我现在遇到的问题是我无法组合这些注释来构建注释的上层模式。 例如。这些短语是:1.“我要买鸡蛋。”2.“我想吃早餐吃面包。”3.“我早餐想吃鸡蛋。” D
将 ruta 版本从 2.5.0 更新到2.6.1(附加安装详细信息)。如何解决这个异常?执行以下脚本时出现异常。初始化过程需要更多时间。 脚本: FOREACH(hlev) H
我有一个简单的 Ruta 问题。 在来自tools.ruta.book.pdf的示例中 段落{IF(keywordAmount > 5)->MARK(KeywordParagraph)}; 除了执行一
我正在使用 UIMA Ruta 处理文本,并且想要删除重复的注释。如果某些特征(例如名称)具有相同的值,我认为注释是重复的。我尝试了不同的方法,但均未成功,但我希望以下示例能够让您了解我正在尝试做的事
我想在单独的服务器上运行 Ruta 脚本并返回输出以供进一步处理(在 Java 中)。 据我所知,触发 Ruta 脚本的唯一方法是从 Java maven 项目调用 engine.process(ca
我有一个 RUTA 脚本,其中所有句子都用 Sentence 注释进行了注释,各种单词和短语都用它们自己的特定注释进行了注释。一切都按预期工作。 这些注释中的每一个都具有包含它的句子索引的特征。所以在
感谢任何有力的双手! 我有一些像下面这样的文字 aaaaa aaaa aaaaa aaaaaa bbbbb bbbbb bbbb bbbbbb cccccc ccccc ccccc cccccc 我想
在 TextRuler View 中,训练数据的输入数量是否有任何限制。因为它花费了太多时间。有时它正在生成规则,否则它会显示一些 GC 开销限制。 如果我尝试使用算法生成的脚本,它会显示一些错误。
我正在尝试编写一些 Ruta 规则来捕获事物之间的“is-a”关系。我有一个 Relation 类,其中包含实体 1 和实体 2 属性,它们指向关系中涉及的两个事物。 我的理解是,我必须使用已声明的注
有没有办法在 WORDLIST 中使用正则表达式? 我需要实现与 https://issues.apache.org/jira/browse/UIMA-3382 中提到的相同的内容. 或者有什么替代方
我在默认的 UIMA Ruta 项目中使用了 WORDLIST 功能,效果很好。但是,例如,Ruta 项目结构不适合与生产 Web 应用程序一起使用。 当从 Java 使用它时,有没有一种方法可以将整
我是一名优秀的程序员,十分优秀!