ASR 标注分流工具 AI-native ASR annotation routing · v2.0

QWEN-MAX · PRE-SEARCH · OMNI-FLASH
v2.0 · 中台组织效率

设计目标

从纯人工标注 → AI 预判 + 智能分流 + 人机协作,将人力聚焦在 AI 无法决策的困难样本上。系统不做"全自动替代",而是做"证据驱动的分流"——能判的自动判,不能判的给人工提供充分证据。

全链路 Pipeline

Step 1
数据输入
音频URL + 双ASR文本
Step 2
音频转拼音
Qwen3.5-Omni-Flash
Step 3
Pinyin 对齐 + 分类
声学匹配 · 编辑距离
Step 4
实体提取 + 搜索
上下文感知联网验证
Step 5
LLM 综合判定
Qwen-Max 证据驱动
Step 6
智能分流
自动处理 / 人工标注

Step 2 · 音频拼音(Ground Truth)

使用 Qwen3.5-Omni-Flash 多模态模型,直接从原始音频转写拼音序列。这是独立于两个 ASR 候选的第三方物理事实,作为判定的最高优先证据。对内网音频自动下载转 base64 绕过访问限制。

Step 3 · Pinyin 对齐引擎

对两个 ASR 候选做 text→pinyin 转换,逐 token 对齐比较(完全匹配/近似/不匹配),计算与音频拼音的编辑距离和声学匹配度。归一化处理包括:去语气词、声母容差(zh→z, ch→c)、韵母容差(ing→in)、口吃去重。

Step 4 · 上下文感知实体搜索

两步法:① LLM 从双候选中提取疑似专有名词(含拼音联想,如"保龄"→"宝琳");② 对每个实体联网搜索验证,搜索时携带共现实体作为领域上下文(如搜"宝琳"时告知同句还有"瓦里奥"→游戏领域→任天堂角色)。最多并发搜索 6 个实体。

Step 5 · 证据驱动 LLM 判定

所有信号打包为结构化证据注入 Prompt:差异分类、拼音差异位置、声学匹配度、搜索验证结果。LLM 综合判定而非硬规则——系统计算证据,LLM 做整体判断,输出选择、建议答案、置信度、错误等级和核听位置。

处理分支

系统对每条数据先做 Pinyin 对齐分类,然后按以下三个分支处理:

分支 1 · 文本一致

两文本完全相同,或拼音完全一致/近似(声母韵母容差内)。直接跳过 LLM,标记为自动处理。

处理方式:零 API 调用,置信度 99%,即时完成

分支 2 · 仅语气词差异 + 无音频

去除语气词(嗯/啊/哎哎等)后核心内容一致,且没有音频 URL。规则快捷处理:直接选更简洁的版本,不调 LLM。

:"嗯我觉得可以" vs "我觉得可以" → 选后者,P2 微瑕疵

分支 3 · 其余所有情况

走完整 Pipeline:音频转拼音 → 声学匹配 → 实体搜索 → LLM 综合判定。置信度 ≥80% 自动处理,<80% 流入人工标注。

:同音异字(如"霸王别姬/别鸡")、实质差异(如"胡集镇/湖集镇")、有音频的语气词差异
:统计面板中的 Case 1/2/3 是 Pinyin 对齐的分类标签(同音异字 / 语气词差异 / 拼音实质差异),用于观察数据分布。实际处理逻辑按上述三个分支执行,Case 1 和 Case 3 走相同的完整 Pipeline。

核心判定原则

以下原则内置于 LLM 判定 Prompt 中,指导每一条判定决策。原则会根据标注员的 Override 反馈持续迭代更新——每一次修正都可能催生新规则或修正旧规则。

⚡ 格式短路规则(最高优先级)

先判断语义是否一致,若一致则按场景惯用写法选格式更合理的一方,跳过音频拼音比对

按场景选格式:数学算式选符号(÷优于除以),编程选符号(C++优于C加加),专有名词保留汉字(三国演义不写3国),口语量词选汉字(两块钱优于2块钱)

一、音频为锚

音频拼音是唯一的物理事实,必须逐字核对,忠实还原优于润色通顺。

1
逐字核对拼音:将音频拼音与两个候选逐音节对齐比对,不能模糊地说"更接近"
2
忠实 > 通顺:音频中有口吃/重复/语气词,候选保留了这些音节的更优。不能因"删掉口吃更通顺"就选它
3
拼音联想突破:不局限于 A/B 已给出的字,主动考虑同拼音可能对应的其他词汇

二、搜索验证

专有名词不能靠猜——必须联网搜索,但搜到一个不等于另一个不存在。

4
搜索证实优于发音:搜索证实的专有名词正确写法优先,即使因口音/口误发音略有偏差
5
同音专有名词都存在→分流:当两个同音候选的专有名词经搜索都能找到时,降低置信度分流人工
6
领域一致性:多个专有名词共现时,优先同领域解读

三、容差

微小差异不影响判定。

7
P2微瑕不主导:语气词/口吃/标点/儿化音差异属 P2。儿化音在拼音中通常不体现,不能因拼音无儿化就否定含儿化的候选

四、兜底机制

AI 不确定时,主动降低置信度、标明疑点,让人工介入。宁可多分流,不可错判。

8
双劣则弃:两个候选都不通顺/语义难理解时,即使一方稍好也应判定低置信度(<50),流入人工
9
语义分歧则让:两个候选语义完全不同时,必须流入人工核听,通顺不等于正确
10
模糊则让:音频拼音与两候选都有差距且各有含义时,给低置信度(<70)让人工核听
11
完整性优先:一方明显截断/缺失内容时,选择更完整的版本,不因"更简洁"而选截断版
12
标记核听位置:不确定的部分在 focus_points 中标明,引导标注员重点核听

错误等级体系

P0 · 语义错误

关键字误识导致意思完全改变。如"废玻璃"→"非剥离",核心语义偏转。

P1 · 漏转/错字

漏转、多转或错字,但不改变核心语义。如漏掉量词、错别字但读者仍能理解原意。

P2 · 微瑕疵

标点、格式、数字写法、语气词增减等不影响理解的差异。

人工标注界面设计

标注员视角

  • 顶部音频播放器(通过后端代理支持内网音频)+ 核听位置标注
  • 音频拼音作为 Ground Truth 独立展示
  • A/B 双栏对比:拼音 + 文本 + Diff 高亮,差异位置一目了然
  • 六个决策选项:A更优 / B更优 / 差不多 / 不确定 / 都不好 / 其他语言
  • 键盘快捷键 1-6 选择,Enter 确认并进入下一条,左右箭头导航

AI 辅助侧面板

  • AI 建议:推荐答案 + 置信度条(高/中/低三档可视化)
  • 判定理由:30 字内结构化摘要
  • 建议答案:可能综合 A+B 优点或基于拼音推导的更优版本
  • 核听位置:告诉标注员应重点关注哪个片段
  • 搜索结果:已核实的专有名词写法及证据

自迭代优化机制

反馈闭环设计

  • 自动处理 Override:标注员可对 AI 自动决策的结果进行修改并填写原因。这些修改记录随结果一起导出,用于分析 AI 判定的系统性偏差(如某类专有名词总是判错、某个格式规则不合理),进而反馈调整 Prompt 中的判定原则

Prompt 迭代路径

  • 收集 Override 原因 + 偏离 case → 识别高频模式
  • 将模式转化为新的判定原则或修正现有原则
  • 用历史数据回测新 Prompt 的准确率变化
  • 当前已迭代到 12 条原则 + 1 条短路规则,覆盖格式短路、逐字核对、忠实优先、同音分流、语义分歧让渡等场景

技术栈

  • 音频转拼音:Qwen3.5-Omni-Flash(多模态,音频直接输入)
  • 拼音对齐:pinyin-pro(前端)+ 编辑距离 + 声母韵母容差归一化
  • 实体搜索:Qwen-Max + enable_search(DashScope 内置联网搜索)
  • 综合判定:Qwen-Max(证据驱动 Prompt,结构化 JSON 输出)
  • 部署:本地 Python 代理 / Cloudflare Pages Functions

批量输入

支持 JSON 数组 / "A: ... B: ..." 配对格式

已保存的任务

加载中...