You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GATE基础JAPE规则否定逻辑失效,求助解决方法

解决GATE JAPE规则中否定条件不生效的问题

你的问题核心是逻辑运算符使用错误:原规则中把四个否定条件用|(或)连接,导致只要满足其中一个否定条件就会匹配,完全违背了“同时排除chair、model、JJ、VB类型jobtitle”的需求。比如"chair"虽然不满足!Token.string =~ "chair",但满足!Token.string =~ "[Mm]odel",所以还是会被识别为角色。

修正后的JAPE规则

Phase:ActeurIdentif
Input:Lookup Token
Options:Control=appelt
Rule:ActeurId
 
(
 {Lookup.majorType == person_first, Token.orth == upperInitial}
 |
  {Token.string =~ "[Ff]riend"}
 |
  {Token.string =~ "[Cc]lient"}
 |
  {Token.string =~ "[Ss]upplier"}
 |
  {Token.string =~ "[Cc]ustomer"}
 |
  ({Token.string =~ "[Tt]he"}
  ({Token})?
  {Token.string =~ "[Aa]ctor"})
 |
  {Token.string =~ "[Tt]echnician"}
 |
  {Lookup.majorType == jobtitle, 
   !Token.string =~ "[Cc]hair", 
   !Token.string =~ "[Mm]odel", 
   Token.category != JJ, 
   Token.category != VB}
)
:NomActeur

 -->
:NomActeur.Acteur = {rule = "ActeurId"}

关键修正说明

  • 将原来多层嵌套的|改为逗号(逻辑与),确保只有当Lookup.majorType是jobtitle,同时满足:
    1. 字符串不是chair(大小写不敏感)
    2. 字符串不是model(大小写不敏感)
    3. 词性不是JJ(形容词)
    4. 词性不是VB(动词原型)
      这四个条件时,才会被标注为Acteur。
  • 简化了正则表达式的写法,把同类条件合并为一个正则,避免拆分导致的逻辑混乱。

这样修改后,"Chair"、"Model"以及词性为JJ/VB的jobtitle就会被排除,不会被错误标注。

内容的提问来源于stack exchange,提问作者KaoMla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 23:15:47