fix: keep cross_segment rule single-dimension, guard no-absent-events
This commit is contained in:
@@ -180,7 +180,7 @@ _CROSS_SEGMENT_ENTITY_TRACKING = SubPattern(
|
||||
],
|
||||
distractor_rules=(
|
||||
"干扰项须是视频中【另一真实实体】在相应片段真实做过的动作,"
|
||||
"仅在【动作主体】这一单一维度上与正解不同;或构造只覆盖部分片段的真实子集。"
|
||||
"仅在【动作主体】这一单一维度上与正解不同。"
|
||||
"严禁编造任何实体未做过的缺席动作。"
|
||||
),
|
||||
)
|
||||
|
||||
@@ -2,14 +2,13 @@
|
||||
|
||||
from app.question_gen.strategy_action_recognition import AR_SUB_PATTERNS
|
||||
|
||||
_REQUIRED = ["真实", "单一维度"] # 每个 distractor_rules 都需强调 grounded + 单维
|
||||
|
||||
|
||||
def test_all_sub_patterns_enforce_single_dimension_counterfactual():
|
||||
for sp in AR_SUB_PATTERNS:
|
||||
rules = sp.distractor_rules
|
||||
assert "真实" in rules, sp.name # 干扰项须真实发生
|
||||
assert ("单一维度" in rules or "只在" in rules or "仅在" in rules), sp.name
|
||||
assert ("缺席" in rules or "未出现" in rules or "凭空" in rules), sp.name
|
||||
|
||||
|
||||
def test_sub_pattern_count_unchanged():
|
||||
|
||||
Reference in New Issue
Block a user