包西意图标准化模块测试问题集 · 问题用例

测试集:《包西意图标准化模块_测试问题集.xlsx》400 条。400 条逐条结果和混淆矩阵见 D:/xwechat_files/wxid_5pqlkzkrgfn422_d3cd/msg/file/2026-09/包西意图标准化模块_测试结果.xlsx

被测配置:profiles/intent-typo-normalization-dev/profile.yamlintent.test,页面默认参数(纠错开、标准化开、渲染器规范化开),requestTime=2026-09-14T10:00:00+08:00,每条单轮独立。为定位问题另跑了两种对照:标准化开·规范化关、关掉标准化。

总览

配置业务意图命中兜底类不误判
页面默认(纠错+标准化+规范化)275/338 = 81.4%25/39 = 64.1%
标准化开 · 规范化关265/338 = 78.4%34/39 = 87.2%
关掉标准化(纠错+意图)311/338 = 92.0%31/39 = 79.5%

页面默认配置下失败 78 条(不含「需业务确认」的 22 条),按问题所在位置分组:

#问题出在哪条数关掉标准化后通过
1否定词找不到作用对象就挡整句normalization-semantic-core(否定处理)2523
2召回层整句占位 span 被当成真实位置,候选互相重叠normalization-catalog-recall(语义/结构召回通道的 span);阻塞由 normalization-span-resolver 产生1212
3「和」被当成条件连词,缺左右操作数就挡整句normalization-semantic-core(条件处理)33
4「那个」「这个」被当成需要先行词的指代normalization-semantic-core(指代处理)22
5渲染器规范化改写后意图识别判错normalization-renderer(表达规范化)2017
6标准化改写文本后意图识别判错(非阻塞)标准化整条链路的输出文本,经 intent-diagnostics-rpc 投影给 intent-recognition22
7意图识别本身判错(关掉标准化也失败)intent-recognition(召回 / 重排 / LLM 裁决)90
8兜底类被误判成业务意图(关掉标准化也误判)意图目录 baoxi-rail-maintenance(缺 自我介绍/无意义/其他)+ intent-recognition40
9输入在 RPC 层被拒绝intent-diagnostics-rpc(入参校验)10
送进下游的文本本身有错见该节18

「关掉标准化后通过」:同一条在关掉整条标准化(只留纠错+意图)时能判对的条数,用来区分是标准化链路的问题还是意图识别本身的问题。

判定口径:期望为 18 个系统已有业务意图之一时,选中即通过;「A 或 B」任一选中即通过;期望为 自我介绍/无意义/其他 时,系统意图表没有这三类,只判「没被误判成业务意图」;「需业务确认」不计分。槽位只评了车型、车号(页面默认:车型 96%、车号 86%),部件、班组、时间默认值、缺参追问系统目前不具备,未计入问题。

1. 否定词找不到作用对象就挡整句(25 条)

问题出在哪:normalization-semantic-core(否定处理)

  • 否定处理器在「未/不/没」后面找可绑定的候选:找到 1 个就绑,多个记歧义,0 个记 MissingInput,整句降级为 needs_clarification,意图识别以 upstream_blockers 拒绝回答。
  • 当前词表 baoxi-rail-model-only 的状态、动作、部位都是 0 条,「完成」「制冷」「升起」都不是候选,所以只要句子带否定词就一定被挡。「有没有」里的「没」也会触发。
  • 同插件的限定词处理(「近期」「严重」)已改为 warning 只降级不阻塞,否定这边没改。

修改方向:0 个目标时不记 MissingInput,改为 warning(否定词原样留在文本里,下游照样看得到);多个目标仍走歧义裁决。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-10-04帮我把韶四7703空调不制冷提个票提票被标准化挡住帮我把SS4-7703空调不制冷提个票✗ 历史提票
TC-12-02空调不吹冷风怎么解决故障现象分析被标准化挡住空调不吹冷风怎么解决✓ 故障现象分析
TC-12-07和谐电二2503空调不制冷的原因故障现象分析被标准化挡住HXD2-2503空调不制冷的原因✓ 故障现象分析
TC-12-08受电弓升不起来是什么原因故障现象分析被标准化挡住受电弓升不起来是什么原因✓ 故障现象分析
TC-13-01查询和谐电一1905未完成的检修记录班组未完成的检修记录被标准化挡住查询HXD1-1905未完成的检修记录✓ 班组未完成的检修记录
TC-13-02高压组未完成的检修记录班组未完成的检修记录被标准化挡住高压组未完成的检修记录✓ 班组未完成的检修记录
TC-13-03和谐电二1505未完成的检修记录班组未完成的检修记录被标准化挡住HXD2-1505未完成的检修记录✓ 班组未完成的检修记录
TC-13-04高压组今天未完成的检修记录班组未完成的检修记录被标准化挡住高压组2026-09-14未完成的检修记录✓ 班组未完成的检修记录
TC-13-05查询总装组的未完成检修记录班组未完成的检修记录被标准化挡住查询总装组的未完成检修记录✓ 班组未完成的检修记录
TC-13-06和谐电一1901高压组未完成的检修记录班组未完成的检修记录被标准化挡住HXD1-1901高压组未完成的检修记录✓ 班组未完成的检修记录
TC-13-07还有哪些检修记录没完成班组未完成的检修记录被标准化挡住还有哪些检修记录没完成✓ 班组未完成的检修记录
TC-16-03韶四还有哪些未完成的检修记录检修任务被标准化挡住SS4还有哪些未完成的检修记录✗ 班组未完成的检修记录
TC-X-128能不能帮我查查那个受电弓的检修记录啊检修记录被标准化挡住能不能帮我查查那个受电弓的检修记录啊✓ 检修记录同时有指代
TC-X-138高压组的活还有哪些没干完班组未完成的检修记录被标准化挡住高压组的活还有哪些没干完✓ 班组未完成的检修记录
TC-X-139和谐电一1901有啥毛病没机车异常记录被标准化挡住HXD1-1901有啥毛病没✓ 机车异常记录
TC-X-143空调不凉怎么弄故障现象分析被标准化挡住空调不凉怎么弄✓ 故障现象分析
TC-X-144受电弓为啥升不起来故障现象分析被标准化挡住受电工位啥升不起来✓ 故障现象分析
TC-P-026未完成的检修记录班组未完成的检修记录被标准化挡住未完成的检修记录✓ 班组未完成的检修记录
TC-P-126高压组未完成的检修记录班组未完成的检修记录被标准化挡住高压组未完成的检修记录✓ 班组未完成的检修记录
TC-P-127和谐电一1901未完成的检修记录班组未完成的检修记录被标准化挡住HXD1-1901未完成的检修记录✓ 班组未完成的检修记录
TC-P-128和谐电一1901高压组未完成的检修记录班组未完成的检修记录被标准化挡住HXD1-1901高压组未完成的检修记录✓ 班组未完成的检修记录
TC-X-205高压组未完成的检修记录班组未完成的检修记录被标准化挡住高压组未完成的检修记录✓ 班组未完成的检修记录
TC-X-209高压组今天还没做完的活班组未完成的检修记录被标准化挡住高压组2026-09-14还没做完的活✓ 班组未完成的检修记录
TC-X-231受电弓升不起来怎么修故障现象分析被标准化挡住受电弓升不起来怎么修✓ 故障现象分析
TC-X-238司控器最近有没有检修过检修记录被标准化挡住司控器最近有没有检修过✓ 检修记录

2. 召回层整句占位 span 被当成真实位置,候选互相重叠(12 条)

问题出在哪:normalization-catalog-recall(语义/结构召回通道的 span);阻塞由 normalization-span-resolver 产生

  • 语义、结构两个召回通道是整句级检索,没有位置信息,填的是整句占位 span。_rank 在没有 exact 命中时把占位符当真实 span 发出去。
  • 句子里没有车号时,语义通道拿整句和机车花名册算相似度,0.4 出头的噪声全部过线,产生十几到二十几个 span 完全相同的实体候选,互相「重叠」无法裁决,整句被挡。
  • 「近30天」「近90天」同时还有时长被换算成秒的问题(见「送进下游的文本本身有错」一节)。

修改方向:span 只能由带位置的通道(exact_alias/lexical)提供;只有语义/结构命中的不产候选,或降格为整句级证据、不参与 span 竞争。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-04-04和谐电一1901近30天的质量分析质量被标准化挡住分析HXD1-1901近2592000 s的质量✓ 质量
TC-09-01在修机车受电弓的重点活项重点活项被标准化挡住在修机车受电弓的重点活项✓ 重点活项
TC-09-06查询在库机车受电弓的重点活项重点活项被标准化挡住查询在库机车受电弓的重点活项✓ 重点活项
TC-X-105和谐一1901质量质量被标准化挡住和谐一1901质量✓ 质量同时有「和」条件连词
TC-X-154在库机车6A的重点活项排查重点活项被标准化挡住在库机车6 A的重点活项排查✓ 重点活项
TC-P-024在修机车的重点活项重点活项被标准化挡住在修机车的重点活项✓ 重点活项
TC-P-121在修机车受电弓的重点活项重点活项被标准化挡住在修机车受电弓的重点活项✓ 重点活项
TC-P-122在库机车6A的重点活项重点活项被标准化挡住在库机车6 A的重点活项✓ 重点活项
TC-P-215和谐电一1502近90天的故障机车近期故障被标准化挡住HXD1-1502近7776000 s的故障✓ 机车近期故障
TC-X-227在修机车受电弓的重点活项重点活项被标准化挡住在修机车受电弓的重点活项✓ 重点活项
TC-N-046和谐电九9999的质量分析质量被标准化挡住和谐电九9999的质量分析✓ 质量同时有「和」条件连词
TC-N-047查蒸汽机车的机车档案机车档案被标准化挡住查蒸汽机车的机车档案✓ 机车档案

3. 「和」被当成条件连词,缺左右操作数就挡整句(3 条)

问题出在哪:normalization-semantic-core(条件处理)

  • 「A 和 B」里的「和」被识别成条件运算符,处理器去两侧找操作数候选,找不到就各记一条 MissingInput
  • 「库存情况和良好率」「作业流程和检修步骤」是两个查询项并列,不是条件;「和谐一」「和谐电九」里的「和」是车型名的一部分。
  • 和否定作用域是同一个模式:0 个操作数时挡整句。

修改方向:两侧都找不到候选时视为普通并列词,不记 MissingInput;车型名内的「和」不应作为条件标记。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-05-07主变流器的作业流程和检修步骤作业流程被标准化挡住主变流器的作业流程和检修步骤✓ 作业流程
TC-14-07齿轮箱的库存情况和良好率配件管理被标准化挡住齿轮箱的库存情况和良好率✓ 配件管理
TC-X-152重联阀的在库数量和完好率配件管理被标准化挡住重联阀的在库数量和完好率✓ 配件管理

4. 「那个」「这个」被当成需要先行词的指代(2 条)

问题出在哪:normalization-semantic-core(指代处理)

  • 单轮输入没有上文,指代处理器找不到先行词就记 MissingInput
  • 「那个重联阀」里「那个」是口语填充词,所指就是紧跟的「重联阀」;「这个季度」是时间表达,不是指代。
  • 同样是 0 个目标时挡整句。

修改方向:指示词后面紧跟名词时视为限定而非指代;「这个季度/这个月」交给时间解析;单轮找不到先行词时降级不阻塞。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-X-156那个重联阀还有多少库存来着配件管理被标准化挡住那个重联阀还有多少库存来着✓ 配件管理
TC-P-228张三这个季度的评分班组人员评分被标准化挡住张三这个季度的评分✓ 班组人员评分

5. 渲染器规范化改写后意图识别判错(20 条)

问题出在哪:normalization-renderer(表达规范化)

  • 判定依据:同一条在「标准化开 · 规范化关」下通过,打开规范化后失败,差异只在渲染器。
  • 动作闭集只有 查询/分析/提票,模型没有「不适用」的出口:乱码、越权、闲聊也被套上动作,「删除…检修记录」被改写成「查询…检修记录」
  • 「…的故障情况」加上「查询」前缀后,意图识别从临碎修故障偏向配件管理/机车近期故障。
  • 同一开关也救回了 22 条(口语短句、「怎么修」类),净效果约为 0。

修改方向:没有任何标准化替换、或原文不像业务查询时不调模型;动作闭集加「不改写」出口;越权动词(删除/修改/导出/发送)命中时不规范化。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-01-04你能做什么?自我介绍检修任务查询你能做什么✓ 未选中(no_match)
TC-12-03受电弓检修作业中有哪些安全卡控项点故障现象分析作业流程查询受电弓检修作业中的安全卡控项点✓ 故障现象分析
TC-12-06低压柜过热怎么处理故障现象分析临碎修故障查询低压柜过热的处理方式✓ 故障现象分析
TC-X-115禾谐电一1901主断路器的故障情况临碎修故障配件管理查询HXD1-1901主断路器的故障情况✓ 临碎修故障
TC-X-119主段路器的故障情况临碎修故障配件管理查询主段路器的故障情况✓ 临碎修故障
TC-X-135和谐电一*1901#主断路器@故障情况临碎修故障配件管理查询HXD1-1901主断路器的故障情况✓ 临碎修故障
TC-X-151和谐电一1901的主断路器检修履历检修记录配件管理查询HXD1-1901的主断路器检修履历✓ 检修记录
TC-P-009提个票提票未选中(candidates)提票✓ 提票
TC-P-109和谐电一1901空调的故障情况临碎修故障机车近期故障查询HXD1-1901空调的故障情况✗ 机车近期故障
TC-P-111和谐电一1901空调2026年3月的故障情况临碎修故障机车近期故障查询HXD1-1901空调2026-03-01/2026-03-31的故障情况✗ 机车近期故障
TC-X-232受电弓检修作业中有哪些安全卡控项点故障现象分析作业流程查询受电弓检修作业的安全卡控项点✓ 故障现象分析
TC-X-250你会修机车吗自我介绍 或 其他机车档案查询机车维修能力✓ 未选中(no_match)
TC-N-002asdfgh无意义历史提票查询asdfgh✓ 未选中(no_match)
TC-N-010哈哈哈哈哈哈哈哈无意义历史提票+临碎修故障+班组人员评分+计划+配件管理+机车异常记录+重点活项+机车近期故障+检修记录+机车档案查询哈哈哈哈哈哈哈哈✓ 未选中(no_match)
TC-N-015铁路机车检修安全规程有哪些其他检修任务查询铁路机车检修安全规程✓ 未选中(no_match)
TC-N-016和谐电一的牵引功率是多少其他配件管理查询HXD1的牵引功率✗ 机车档案
TC-N-019帮我写一份检修总结其他提票提票新增检修总结✓ 未选中(no_match)
TC-N-028删除和谐电一1901的检修记录其他检修记录查询HXD1-1901的检修记录✓ 未选中(no_match)
TC-N-033帮我给段长发条消息其他历史提票查询给段长发消息的请求✓ 未选中(no_match)
TC-N-037a其他历史提票查询a✓ 未选中(no_match)

6. 标准化改写文本后意图识别判错(非阻塞)(2 条)

问题出在哪:标准化整条链路的输出文本,经 intent-diagnostics-rpc 投影给 intent-recognition

  • 判定依据:关掉规范化仍失败、关掉整条标准化后通过,且不是被 blocker 挡住。
  • 意图检索索引里的示例是原始中文问法(和谐电一1901),标准化后的编码文本(HXD1-1901)和示例的字面重合度下降,召回分数掉到阈值以下,或被推向相近意图。

修改方向:意图识别用原始输入召回、标准化结果只作为证据;或在索引里同时收录标准化后的示例写法。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-08-08和谐电一1901牵引电机的故障情况临碎修故障机车近期故障查询HXD1-1901牵引电机的故障情况✓ 临碎修故障
TC-17-04和谐电二2503的基本信息查询机车档案机车近期故障查询HXD2-2503的基本信息✓ 机车档案

7. 意图识别本身判错(关掉标准化也失败)(9 条)

问题出在哪:intent-recognition(召回 / 重排 / LLM 裁决)

  • 三种配置下都没命中期望意图,问题不在标准化链路。
  • 多为易混意图(临碎修故障 vs 机车近期故障、检修记录 vs 配件管理)或意图表示例覆盖不到的问法。

修改方向:补充意图表示例和边界说明(boundary_notes),或由业务确认意图划分。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-X-114HXD2 2503主断路器的故障情况临碎修故障机车近期故障查询HXD2 2503主断路器的故障情况✗ 机车近期故障
TC-P-020良好率是多少配件管理质量分析良好率✗ 未选中(candidates)
TC-P-1081901空调的故障情况临碎修故障机车近期故障查询1901空调的故障情况✗ 机车异常记录
TC-P-204202605的成本分析成本未选中(no_match)分析202605的成本✗ 未选中(no_match)
TC-X-201高压组的检修记录检修任务检修记录查询高压组的检修记录✗ 检修记录
TC-X-202韶四7703的检修记录检修任务检修记录查询SS4-7703的检修记录✗ 检修记录
TC-X-219主断路器跳闸故障现象分析提票提票主断路器跳闸✗ 提票
TC-X-255高压组今天的检修任务完成情况班组未完成的检修记录检修任务查询高压组2026-09-14的检修任务完成情况✗ 检修任务
TC-N-056和谐电一1901的质量分析;DROP TABLE 机车档案质量机车档案分析HXD1-1901的质量;DROP TABLE 机车档案✗ 机车档案

8. 兜底类被误判成业务意图(关掉标准化也误判)(4 条)

问题出在哪:意图目录 baoxi-rail-maintenance(缺 自我介绍/无意义/其他)+ intent-recognition

  • 意图表只有 18 个业务意图,没有自我介绍、无意义、其他,系统只能靠「不选中任何意图」来表达兜底。
  • 三种配置下都被选中了某个业务意图,说明召回和裁决对非业务问题的拒识不够。

修改方向:意图表增加自我介绍/其他两个意图,或在裁决前加非业务拒识。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-N-012机车检修周期是多久其他机车档案查询机车检修周期✗ 机车近期故障
TC-N-014什么是临碎修其他临碎修故障查询临碎修的定义✗ 临碎修故障
TC-N-018今年的检修工作总体情况其他检修任务查询2026-01-01/2026-12-31的检修工作总体情况✗ 检修记录
TC-N-030预测下个月的成本其他成本分析2026-10-01/2026-10-31的成本✗ 成本

9. 输入在 RPC 层被拒绝(1 条)

问题出在哪:intent-diagnostics-rpc(入参校验)

  • 纯空白输入没有进入识别链路,直接返回 -32602 参数错误,期望是按无意义处理。

修改方向:空白输入在入口直接返回无意义,而不是参数错误。

编号用户问题期望意图页面默认结果送入意图识别的文本关掉标准化时备注
TC-N-035其他RPC 拒绝✗ RPC 拒绝

送进下游的文本本身有错(18 条)

不论意图判没判对,标准化后的文本本身有错;意图判对的那些到参数绑定时同样会出问题。已在上面各节出现过的失败用例这里再列一次,是因为缺陷和失败原因不是同一处。

编号用户问题页面默认结果送入意图识别的文本缺陷
TC-03-032026-05的成本分析成本分析[2026, 5]的成本两个数字被当成数值区间,渲染成列表样式 [a, b](「2026-05」的连字符、「五一到五月」的「到」都会触发;normalization-primitive-core)
TC-03-06和谐电一1175 2026-01到2026-03的成本分析成本分析HXD1-1175 [2026, 1]到[2026, 3]的成本两个数字被当成数值区间,渲染成列表样式 [a, b](「2026-05」的连字符、「五一到五月」的「到」都会触发;normalization-primitive-core)
TC-04-04和谐电一1901近30天的质量分析被标准化挡住分析HXD1-1901近2592000 s的质量「N天」被当成时长量纲换算成秒(normalization-unit)
TC-05-066A系统的检修作业流程作业流程查询6 A系统的检修作业流程数字和字母之间被插入分隔符(「6A」→「6 A」、「1084A节」→「1084 A节」;normalization-renderer)
TC-09-02和谐电一 1901机车6A的重点活项重点活项查询HXD1-1901机车6 A的重点活项数字和字母之间被插入分隔符(「6A」→「6 A」、「1084A节」→「1084 A节」;normalization-renderer)
TC-10-01提票韶四1084A节齿轮箱左3放油堵松动提票提票SS4 1084 A节齿轮箱左3放油堵松动数字和字母之间被插入分隔符(「6A」→「6 A」、「1084A节」→「1084 A节」;normalization-renderer)
TC-X-111HXD1-1901质量分析质量分析HXD的[1, 1901]质量两个数字被当成数值区间,渲染成列表样式 [a, b](「2026-05」的连字符、「五一到五月」的「到」都会触发;normalization-primitive-core)
TC-X-137高压组今天要修哪些车检修任务查询高压族2026-09-14的检修任务纠错把班组名「高压组」改成「高压族」(typo-corrector 模型改字)
TC-X-144受电弓为啥升不起来被标准化挡住受电工位啥升不起来白名单同音归一把「受电弓为啥」里跨词的「弓为」改成「工位」(typo-corrector 白名单)
TC-X-154在库机车6A的重点活项排查被标准化挡住在库机车6 A的重点活项排查数字和字母之间被插入分隔符(「6A」→「6 A」、「1084A节」→「1084 A节」;normalization-renderer)
TC-P-1122026-05成本成本查询[2026, 5]成本两个数字被当成数值区间,渲染成列表样式 [a, b](「2026-05」的连字符、「五一到五月」的「到」都会触发;normalization-primitive-core)
TC-P-115和谐电一1901从2026-03开始的成本成本分析HXD1-1901从[2026, 3]开始的成本两个数字被当成数值区间,渲染成列表样式 [a, b](「2026-05」的连字符、「五一到五月」的「到」都会触发;normalization-primitive-core)
TC-P-122在库机车6A的重点活项被标准化挡住在库机车6 A的重点活项数字和字母之间被插入分隔符(「6A」→「6 A」、「1084A节」→「1084 A节」;normalization-renderer)
TC-P-2012026-05的成本分析成本分析[2026, 5]的成本两个数字被当成数值区间,渲染成列表样式 [a, b](「2026-05」的连字符、「五一到五月」的「到」都会触发;normalization-primitive-core)
TC-P-215和谐电一1502近90天的故障被标准化挡住HXD1-1502近7776000 s的故障「N天」被当成时长量纲换算成秒(normalization-unit)
TC-P-220五一到五月三十号高压连接器的故障情况临碎修故障查询[51, 5]至30号高压连接器的故障情况两个数字被当成数值区间,渲染成列表样式 [a, b](「2026-05」的连字符、「五一到五月」的「到」都会触发;normalization-primitive-core)
TC-X-210提票韶四1084A节齿轮箱左3放油堵松动提票提票SS4 1084 A节齿轮箱左3放油堵松动数字和字母之间被插入分隔符(「6A」→「6 A」、「1084A节」→「1084 A节」;normalization-renderer)
TC-N-042查2026-05-32的质量分析质量分析[2026, 5]-32的质量两个数字被当成数值区间,渲染成列表样式 [a, b](「2026-05」的连字符、「五一到五月」的「到」都会触发;normalization-primitive-core)