ruta - 在 Ruta 的 CONTAINS 语句中使用条件
问题描述
我正在使用 CLAMP ( https://clamp.uth.edu/ ) 中实现的 Ruta 创建规则。作为步骤之一,我想识别所有包含温度注释的句子。
所以我希望能够在 CONTAINS 函数中为注释指定属性值,如下所示:
Sentence{CONTAINS(ClampNameEntityUIMA{"semanticTag", "Temperature"})
-> CREATE( ClampNameEntityUIMA , "semanticTag" = "TemperatureSentence")};
有效的声明是:
Sentence{CONTAINS(ClampNameEntityUIMA)
-> CREATE( ClampNameEntityUIMA , "semanticTag" = "TemperatureSentence")};
但这会标记所有句子,而不管包含的注释的特征值如何。CLAMP 不允许动态创建类型,因此我无法将新类型声明为满足条件的注释的占位符。所以我只能使用现有的类型 - ClampNameEntityUIMA - 我只能检查特征值来区分注释类。
有没有办法在 CONTAINS 函数中包含附加条件?或者我可以在不必声明新类型的情况下操作注释吗?
解决方案
CONTAINS 条件不支持您需要的内容。如果在您的示例中需要更复杂的条件,则需要切换到内联规则作为条件。如下规则可以解决您的问题:
Sentence{-> CREATE(ClampNameEntityUIMA, "semanticTag" = "TemperatureSentence")}
<- {e:ClampNameEntityUIMA{e.semanticTag == "Temperature"};};
免责声明:我是 UIMA Ruta 的开发人员
推荐阅读
- java - 具有硬逻辑的“微服务”架构模式(Spring Boot)
- python - 在使用 numpy.linalg.inv() 时没有得到具有矩阵的点积及其逆的单位矩阵
- php - 无法在 php 中更新会话
- python - 如何使用 schedule 包安排 python 作业每小时准确运行
- android - 如何仅将带有过渡的 Material 主题用于 android 应用程序中的某些活动?
- git - 如何使用个人访问令牌进行 git commit?
- python - 使用 Python 请求登录 Instagram
- java - Spring Boot Controller 未处理 Thymeleaf 登录表单
- spring - 如何在 Heroku 上部署 Spring Web 项目?
- artificial-intelligence - Planning.domain 求解器中的计划在哪里?