AI会议智能:实时转写、说话人分离与自动纪要 会议场景是语音技术商业化的头号战场需求高频、付费意愿明确、效果可感知。但做过这个方向的工程师都知道demo 里 98% 的字准率和真实会议室里能用的体验之间隔着一整条工程鸿沟。本文拆解会议智能系统的三大核心模块——实时转写、说话人分离、自动纪要聊聊每个环节的技术选型和那些只有踩过才知道的坑。实时转写流式 ASR 的工程权衡实时转写的技术底座是流式语音识别。离线 ASR如 Whisper 原版可以看完整段音频再解码流式 ASR 必须在几百毫秒内增量输出延迟和准确率天然矛盾。主流架构有两类Cascaded 流式模型RNN-T、流式 Conformer如 Paraformer 的流式版本、WeNet 的 U2用 chunk-based 注意力平衡延迟与上下文。这是工业界主力字错率和延迟都可控。伪流式方案把 Whisper 这类非流式大模型切小段滑窗跑配合时间戳对齐。实现简单但滑窗边界的词经常被切坏需要额外的重打分逻辑。工程上的关键指标不是单一字准率而是一个组合| 指标 | 含义 | 会议场景参考值 | |------|------|--------------| | CER/WER | 字/词错误率 | 中文会议 8% 可用 | | 首字延迟 | 说话到首个字上屏 | 500ms | | 尾字延迟 | 话音落到文本定稿 | 1.5s | | 流式稳定性 | 已上屏文本被回改的频率 | 越低越好频繁回改很伤体验 |回改是流式转写特有的体验杀手模型先输出我们去签约多听了一秒后改成我们去签协议界面上文字闪烁跳动。工程上常用局部端点检测 延迟定稿策略缓解——字幕分临时态和定稿态两种渲染定稿后的文本绝不再改。说话人分离谁说了这句话说话人分离Speaker Diarization回答谁在什么时候说话。传统管线是 VAD语音活动检测→ 分段 → 声纹嵌入提取x-vector、ECAPA-TDNN→ 聚类谱聚类、AHC。这套方案成熟稳定但在两人交叠说话时直接抓瞎——传统管线假设每个时刻只有一个人说话而真实会议里插话、抢话的比例经常超过 15%。新一代方案有两个方向EENDEnd-to-End Neural Diarization把分离建模成多标签分类直接输出每个时刻每个说话人的活动概率天然支持交叠。缺点是说话人数量扩展性一般需要配合聚类的混合方案EEND-EDA、EEND-vector clustering。目标说话人分离Target-Speaker ASR如果与会者提前注册了声纹企业内部会议很常见可以不做盲分离直接用注册声纹做条件抽取把这个声音说的内容单独拎出来识别。准确率比盲分离高一截字节的 Seed-ASR、微软的 VibeVoice 系列都走了这条路。还有一个实用技巧如果会议系统能拿到每路麦克风的独立音轨比如每人一个领夹麦或会议系统本身的通道分离分离问题直接退化成通道归属判断比任何算法都准。能靠硬件解决的问题别硬上算法。端侧与云侧的部署权衡会议系统绕不开隐私问题。金融、法律、医疗行业的客户往往明确要求音频不出内网。这就引出了端侧部署的方案对比| 部署方式 | 优点 | 缺点 | 适用客户 | |---------|------|------|---------| | 纯云端 | 模型大、效果好、易迭代 | 数据出域、依赖网络 | 通用办公 | | 云端 私有化 | 效果与合规兼顾 | 部署维护成本高 | 中大型企业 | | 纯端侧边缘盒子/PC | 数据不出设备 | 模型受限、算力受限 | 高保密行业 |端侧方案现在越来越可行Whisper small / SenseVoice-Small 级别的模型量化后可以在普通 NPU 盒子甚至高端 CPU 上实时跑配合蒸馏版的小 LLM 做纪要一台会议室主机就能撑起整套系统。代价是专业领域词汇公司内部的行话、产品代号的识别率会打折扣需要热词增强机制兜底——在解码阶段给业务词表加偏置是投入产出比极高的优化。自动纪要LLM 的最后一块拼图转写文本 说话人标签喂给大模型生成纪要这个流程看起来简单但做好有几个细节长文本切分。两小时的会议转写可能超过三万 token。直接塞进长上下文模型是一种办法但更稳的做法是先按话题切段用语义切分或说话人轮换点分段摘要后再做全局汇总这种 map-reduce 结构对关键决议的召回率明显更好。幻觉防控。纪要里最不能容忍的是编造行动项——会议里没说的 deadline 被模型补全出来会出真实的事故。工程上的对策要求模型在输出行动项时附带原文引用quote grounding生成后用一个校验模块核对引用是否真实存在于转写文本中不存在的条目直接丢弃或标黄。结构化输出。纪要模板要显式定义 schema议题、结论、行动项、负责人、时间点用 JSON mode 或 function calling 约束输出别让模型自由发挥。下面是一个简化示例import json from openai import OpenAI client OpenAI() SUMMARY_PROMPT 你是会议纪要助手。根据以下带说话人标签的会议转写 输出 JSON 格式纪要schema 如下 { topics: [{title: str, conclusion: str}], action_items: [{task: str, owner: str, due: str|null, evidence: str}