📄 不用强制对齐怎么做单词和语句两级发音评分
标签:#发音评估 | #端到端学习 | #LoRA | #病理语音评估
评分:7.0/10 | 创新 1.5/2 | 技术严谨 1.2/1.5 | 实验充分 1.2/1.5 | 清晰度 0.8/1 | 影响力 1/1.5 | 开源 0/1.5 | 可复现 0.3/0.5 | 工程/实践 1/1.5
👥 作者与机构
- Fu-An Chao:机构信息未在 arXiv HTML 中可靠披露
- Bi-Cheng Yan:机构信息未在 arXiv HTML 中可靠披露
- Berlin Chen:机构信息未在 arXiv HTML 中可靠披露
📌 核心摘要
自动发音评估需要对朗读和自由作答语音给出词级和utterance级发音分数,开放作答缺少人工文本且缺少细粒度标注数据是主要难点。OpenPA输入语音和教师强制文本,在每个词最后一个子词后插入特殊<score>标记,用该位置解码器隐状态经交叉注意力汇聚声学证据并回归词级分数。词表示再经单层Transformer编码器上下文化和方面特定注意力池化得到utterance表示并回归utterance分数。混合文本适配以0.5、0.3、0.2概率采样标准文本、L2适配ASR文本和通用ASR文本进行训练,并用Levenshtein对齐迁移人工分数,对替换词按参考词准确度加权以突出真实发音偏差。在speechocean762模拟开放作答条件下,Qwen3-ASR-0.6B文本上OpenPA全适配词级准确度皮尔逊相关系数为0.544,高于仅用标准文本训练的0.452,指标越高越好。该结论仅适用于仅用speechocean762训练后的域内闭式与模拟开放评估,以及MultiPA五十句人机对话语音的零样本迁移,标准文本下流利度和韵律略逊于HiPPO*,会话域偏移下词级和韵律相关仍偏低。口腔癌98句21人的跨任务评估仅为探索性零样本检验,临床有效性尚未确立。原文未披露训练、推理或部署成本。
🔗 开源与复现资源
- 第三方资源:https://github.com/fuann/open-apa — 链接可访问(HTTP 200)
可达状态仅表示本次链接检查结果,不代表许可证、本文权重或运行复现已验证。
🧭 深度解读
从跟读到自由作答:发音评估要解决什么
自动发音评估的输入是一段学习者语音,目标是给出能指导练习的分数。论文把任务分成两个粒度:单词级指每个单词的发音准确度等分数,语句级指整句的准确度、流利度、韵律等方面的分数。传统做法只处理闭合跟读,也就是学习者照着给定提示文本朗读,评测时有标准文本可用,系统知道学习者本该说什么。更新的需求是开放自由作答,学习者看到问题后自由组织语言回答,推理时没有人工给定的标准文本,只能依赖语音识别生成的转录。
两种条件的共同要求是保留的信息必须包括语音里的声学证据和文本里的词汇内容,输出则是与人工打分一致的分数。论文强调开放条件的难点在于缺少细粒度标注的训练数据,MultiPA 只有 50 个带词级和语句级标注的真实开放回答,更适合做小规模试点评测,不适合直接训练,因此需要在闭合数据上学细粒度评分再迁移。
已有路线为什么依赖强制对齐和多级流水线
在对比开放评估之前,先看已有细粒度评分的典型做法。多数工作先做强制对齐,也就是用外部声学模型把音频和文本按时间对准,给出每个音素或单词的起止边界,再按边界切出语音段,用不同的特征提取器提取发音优劣度、预训练语音表示和词嵌入等特征,最后交给各自的评分模块。论文把这类做法画成级联结构,指出它需要在不同作答条件下部署对齐模型和多个特征提取器,不利于端到端优化。
另一条相关路线是用大语言模型读文本化语音描述做零样本语句评分,论文中以 TextPA 为代表,它不做词级对齐但也不直接学词级分数。本文的比较都限定在相同输入和相同评测协议下进行,例如 MultiPA 上沿用原始的 Whisper medium.en 转录协议,speechocean762 模拟开放条件下用相同的识别转录做词对齐后算相关,不把类别差异说成同条件胜负。
读这张对比图时,注意上下两栏的输入输出是否相同、中间经过了几个模块。
看图路径: 1. 先看上半部分级联流程的三个箭头:音频加文本到强制对齐再到特征提取;2. 再看上半部分标注的外部模型:声学模型与预训练语音和文本模型各起什么作用;3. 最后对比下半部分 OpenPA 如何把三步压缩为一个 Whisper 编码器解码器框
论文图 1。原论文 Figure 1::“Conventional alignment-based APA vs. OpenPA.”。
上栏显示音频加文本先经过强制对齐得到切分边界,再做特征提取才得到多粒度分数,途中还依赖声学模型和预训练语音与文本模型;下栏显示 OpenPA 把音频加文本直接送入一个 Whisper 编码器解码器做联合声学语言建模,再输出多粒度分数。教学上的要点是:上栏的定位靠外部时间戳,下栏的定位靠模型内部注意力,这决定了后文为什么可以省掉对齐模块。
输入输出与两种作答条件如何定义
把问题形式化一下。输入是声学特征序列 X 和一个教师强制输入的转录 T,T 由 N 个词组成,每个词可能被切成多个子词单元。为了同时得到两个粒度的分数,输出包括每个词在各个发音方面的预测分数,以及整句在各个方面的预测分数。闭合条件指 T 用人工标准文本,模拟开放和真实开放条件指 T 用识别文本。关键区别不在模型结构,而在信息条件:闭合时文本可信,开放时文本本身可能有错,评分必须容忍转录错误。
论文还明确了开放词级评测缺乏统一协议,因此在 speechocean762 上用 Levenshtein 对齐把识别词映射到参考词后分匹配加替换、仅匹配、仅替换 3 种情况算皮尔逊相关系数,在 MultiPA 上因无参考文本而沿用原协议,把每个识别词赋值为与其时间重叠的人工评分的时长加权平均后再算相关。理解这些协议才能理解后文数字的分母是什么。
OpenPA 整体流程是怎样的
OpenPA 的整体流程可以沿着一个样本走一遍。左端输入原始波形,先算对数梅尔谱,再送入 Whisper 编码器得到全部时刻的声学状态序列;右端把转录按词切分并在每个词最后一个子词后插入一个特殊<score> 标记,再经分词器变成解码器教师强制输入。解码器逐位置运行,每个<score> 位置的隐状态既通过因果自注意力看到当前词及之前的文本,又通过交叉注意力看到全部声学状态,因此可以直接聚集与该词相关的发音证据,无需外部给出的单词时间戳。
随后词表示分两路使用:一路经按方面划分的回归头得到词级分数,另一路先经一个轻量双向上下文层整合成上下文表示,再按方面做注意力池化得到语句向量并回归语句分数。训练时还保留原始的语音识别生成目标,与两个评分损失联合优化。
看总览图时,先找主数据流,再找评分分支与转录适应分支的汇入点。
看图路径: 1. 从左到右跟随波形到对数梅尔谱到编码器块再到解码器块的主路径;2. 看底部解码器输入中每个单词后插入的
<score>位置与顶部 h2、h4、h6 的对应;3. 看右侧混合转录适应分支如何经分词器汇入同一解码器输入
论文图 2。原论文 Figure 2::“Overview of the proposed OpenPA framework.”。
图中左侧是波形到语谱图到编码器块的堆叠,中间是带 LoRA 的解码器块,底部箭头标出 hello、world、again 每个词后都跟一个<score>,顶部 h2、h4、h6 被挑出来送往右侧的双向上下文层和按方面注意力池化,最终得到语句分数;右下角 3 个转录来源经同一分词器汇入底部输入。这张图把后文 3 个机制放在了同一位置:词表示的抽取、语句聚合、混合转录适应。
单词表示如何不用时间戳得到
这一节只讲词表示的构造。设增强后的标记序列是在每个词尾插入<score> 后得到的序列,ht 表示解码器在位置 t 的隐状态,第 i 个词的表示 ri 取其对应<score> 位置 pi 处的隐状态。它通过交叉注意力以编码器全部状态 Z 为条件,又通过因果自注意力以截至当前词的前缀为条件。因为<score> 跟在词之后,这个状态汇总了该词的词汇内容、在句中的语言上下文以及相关的声学证据。随后每个发音方面 k 有一个回归头 gk,把 ri 映射为该词在该方面的预测分数。
初学者可以这样复述:输入是语音加带<score> 的文本,计算是解码器在<score> 处做一次前向得到向量,输出是每个词的分数。不需要时间戳的原因是注意力可以直接在全部语音帧上加权,而不是先切段再评分。
强制对齐 × 交叉注意力 × <score> 标记: 强制对齐指先用外部声学模型给出每个单词起止时间再切段评分;交叉注意力指解码器每个位置直接对编码器全部语音帧加权求和;<score> 标记指插在每个单词最后一个 BPE 单元后的可学习占位。三者分工是:前者靠时间边界定位,后两者靠注意力权重定位,组合后省掉了外部切分模块,单词表示直接从语音序列里聚集证据。
上式中 Dec 表示解码器在 pi 处的计算,输入是增强序列的前缀和编码器状态,输出就是词表示。得到表示后的映射很直接。
\[\hat{s}_{i,k}=g_{k}(\mathbf{r}_{i}).\]这里 gk 是按方面划分的回归头,输入是词表示,输出是该词该方面的分数。原文把这种设计类比为 BERT 中的类别标记,只是把它按词重复放置,用位置来区分不同的词。
语句分数如何从单词表示聚合
语句分支的输入是全部词表示的序列。先经过一个单层 Transformer 编码器层做双向上下文建模,该层包含多头自注意力和前馈网络,使每个词表示能融入整句其他词的信息,得到上下文表示序列。接着按方面做注意力池化:对每个方面学一个打分器,给每个上下文表示打分再经归一化得到权重,把加权和作为该方面的语句向量。最后每个方面有一个回归头,把语句向量映射为语句分数。这种层级共享同一个 Whisper 主干,语句预测建立在词级证据之上,从而捕捉跨粒度的依赖。
举例来说,如果把 hello、world、again 3 个词的<score> 状态记为 h2、h4、h6,上下文层让它们互相看到彼此,池化再按流利度或韵律的需要给不同词不同权重,而不是简单平均。
单词级评分 × 语句级评分 × 注意力池化: 单词级评分指对每个解码出的单词表示回归一个发音分数;语句级评分指对整句回归流利度、韵律等分数;注意力池化指按方面学权重再加权平均上下文表示。分工是单词表示提供细粒度证据,上下文层补全整句依赖,池化按方面挑选重要单词,组合后语句分数建立在单词证据之上。
\[\hat{y}_{k}=f_{k}(\mathbf{u}_{k}).\]上式中 uk 是加权聚合后的语句向量,fk 是对应方面的回归头,输出是该方面的语句预测分数。需要留意的是,语句分支没有引入独立的声学特征提取器,它的声学信息已经包含在词表示里,上下文层和池化只负责整合与挑选。
混合转录适应与替换加权如何训练
开放条件的训练难点是识别文本有错,而人工分数只标注在参考词上。论文的办法分两步。第一步是转录采样:每个语句以 0.5、0.3、0.2 的概率抽取标准文本、L2 适配识别文本或通用识别文本,被抽到的文本以教师强制方式送入解码器。其中 L2 适配模型是在公开语料上微调的现成模型,通用模型用 Whisper medium.en,在 speechocean762 训练集上的词错率分别为 18.5% 和 21.6%,分别代表更接近学习者语音和更通用的识别条件。
第二步是目标搬运与加权:只用 Levenshtein 对齐把识别文本映射到人工标注参考上以构造训练目标,匹配和替换的识别词继承对应参考词的分数,插入词被掩掉不计损失,删除因无解码标记而不产生词级损失。匹配词给单位权重,替换词的权重按参考词准确度 ai 决定,ai 越低说明参考词本身发音越差,越可能是真实发音偏误而非纯识别错误,因而给更大权重,权重下限为 0.5。
混合转录适应 × 教师强制 × Levenshtein 对齐: 混合转录适应指训练时按比例抽取标准文本、L2 适配 ASR 文本和通用 ASR 文本喂给模型;教师强制指把抽到的转录直接作为解码器输入前缀;Levenshtein 对齐只在构造训练目标时把 ASR 词映射回人工标注词以搬运分数。三者搭配让模型同时见过干净文本和带错文本,推理时既能用标准文本也能用 ASR 文本。
匹配词 × 替换词 × 自适应替换加权: 匹配词指 ASR 与参考文本一致的词,替换词指 ASR 认错但位置对应的词;自适应替换加权指按参考词准确度分给替换词 0.5 到 1 之间的损失权重。分工是匹配词给单位权重稳定学习,替换词按发音差程度区分对待,组合后更可能是真实发音偏误的替换得到更大梯度,更可能是纯识别错误的替换被压低。
\[\omega_{i}=\omega_{\min}+(1-\omega_{\min})(1-a_{i}/10).\]上式中 omega_min 取 0.5,ai 取值在 0 到 10 之间,替换词权重随发音变差而增大。最终优化保留语音识别的词级交叉熵损失,同时优化带自适应权重的词级均方误差和语句级均方误差,三项按系数加权。
\[\mathcal{L}=\lambda_{\mathrm{ASR}}\mathcal{L}_{\mathrm{ASR}}+\lambda_{\mathrm{word}}\mathcal{L}_{\mathrm{word}}+\lambda_{\mathrm{utt}}\mathcal{L}_{\mathrm{utt}}.\]训练实现上在整个 Whisper 上加秩为 16 的 LoRA 适配器并更新评分模块,同时保留解码器的原始识别能力,避免只学评分而破坏表示质量。
在哪些数据和条件下评测
训练只用 speechocean762,它包含 250 名中文母语学习者的脚本化英语朗读,带有细粒度多方面标注。主干用 Whisper-medium,微调 5 轮,秩 16 的 LoRA,批大小 64,学习率 8 乘 10 的负 4 次方。评测分 3 种机制。域内评测用 speechocean762 测试集,分别用标准文本和识别文本对应闭合与模拟开放条件。跨数据集评测用 MultiPA 的 50 个真实开放回答做零样本迁移,沿用其原始的 Whisper medium.en 转录协议,训练时未见过该数据。
跨任务评测用 YouTube 口腔癌语料子集 PathBench 的 98 个语句、21 名说话人,取语句级流利度预测按说话人平均后与严重程度评级比较,同样未参与训练。词级指标用皮尔逊相关系数,方向是越大表示预测与人工打分越一致;模拟开放下还区分匹配加替换、仅匹配、仅替换 3 种统计口径,其中匹配加替换覆盖了绝大多数参考词。
闭合跟读 × 模拟开放作答 × 真实开放作答: 闭合跟读指有标准提示文本、用标准文本评分;模拟开放作答指仍在 speechocean762 上但改用 ASR 文本评分以模仿无文本条件;真实开放作答指 MultiPA 上学习者自由回答且只有 ASR 文本。三者输入条件不同,监督和评测协议也不同,组合起来才能检验从有文本到无文本的迁移。
下面第二张表把训练规模、转录采样与评测覆盖等条件放在一起,比较问题是模型在什么信息条件下训练、在什么转录质量下评测,读数时注意词错率越低表示转录越准,覆盖率越高表示被评到的词越多。
| 条件 | 数据与模型规模 | 训练采样与轮数 | 转录质量与覆盖 | 迁移规模与关键结果 |
|---|---|---|---|---|
| 训练只用脚本化跟读 | 250 名学习者的英语朗读 | 5 轮微调与秩 16 适配 | 训练集词错率 18.5% 和 21.6% | 语句流利度按人平均后相关 0.82 |
| 混合 3 种转录输入 | Whisper-medium 主干 | 采样概率 0.5、0.3 和 0.2 | 评测覆盖 98.37%、98.60% 和 98.95% | 韵律相关从 0.473 提升到 0.644 |
| 域外数据均未参训 | MultiPA 共 50 个开放回答 | 批大小 64 与学习率 8 乘 10 负 4 次方 | 3 种识别转录分别对应上述覆盖 | 口腔癌子集共 98 句来自 21 人 |
这张表不是主结果表,它只交代信息条件:训练数据单一、开放训练信号来自模拟转录而非真实开放标注,词错率和覆盖率随识别器而变。跨任务的 0.82 是说话人级流利度平均后的相关,受语速等时间线索影响,不能直接解读为临床有效性;韵律从 0.473 到 0.644 的提升限定在 MultiPA 零样本协议下,与读文本训练到对话语音的域偏移有关。
域内闭合与模拟开放条件结果如何
域内比较回答的问题是:在同一测试集上,用标准文本和用识别文本时,谁的平均相关更高。论文报告 OpenPA 在两种条件下的总体平均皮尔逊相关上领先被比较系统,主要来自词级的大幅提升。用标准文本时,流利度和韵律略低于复现的 HiPPO 模型,论文认为可能与缺少专用超切分特征有关;但 OpenPA 不用强制对齐也不用单独特征提取,且在识别替换词上保持更高的词相关。
定性分析中提到发音好的词交叉注意力呈局部峰值,发音差的词如 always 和 thought 注意力更分散或偏移,在把 person 误识为 pizza 的例子下,前文注意模式和分数保持稳定,末尾分数仅从 4.20 变为 4.64,用以说明<score> 标记能在无显式边界时定位相关声学区。这些例子只是单个样本的可视化,不能证明所有替换下都稳定。总体结论成立的条件是相同的 speechocean762 划分、相同的词对齐后统计口径和相同的识别转录来源,换识别器或换统计口径时数值会变。
跨数据集与跨任务泛化表现如何
跨数据集比较回答的是:只在跟读上训练的模型能否直接用到真实开放回答。论文在 MultiPA 上做零样本评测,对比了基于强制对齐的 MultiPA 方法和基于大语言模型的 TextPA。报告显示 OpenPA 在两个粒度上优于 MultiPA,在共有的语句指标上优于两种 TextPA 变体,其中韵律相关从 0.473 提升到 0.644。但论文也指出词级和韵律相关相对较低,可能反映了从朗读训练语音到与聊天机器人对话的自发语音的域偏移。跨任务比较回答的是能否从二语发音评估迁移到病理语音。
论文在口腔癌子集上比较了无需参考文本的多种基线和需参考文本的音素错率与发音相关指标,OpenPA 在无病理语音训练时用平均流利度预测得到说话人级相关 0.82,为其中最高。论文同时说明口腔癌严重程度评级考虑了语速,共享的时间线索可能解释了这种迁移,且临床有效性尚未建立。因此这两个结论成立的条件分别是沿用 MultiPA 原始转录与时长加权协议,以及按说话人平均流利度后与严重程度比相关,换聚合方式或换评级维度时结论可能不同。
不同训练策略带来什么变化
消融比较的问题是:只用标准文本训练、加入混合转录、再加入自适应替换加权,三者各带来什么。只用标准文本在匹配词上相关最高,但在替换词上仅约 0.076 到 0.152,说明几乎不会给识别替换词打分。加入混合转录后,匹配加替换、仅替换以及语句平均相关都提升,再加自适应加权后替换词进一步提升。
另一个维度是识别器质量:训练时见过的 medium.en 与未见过的 large-v3、Qwen3-ASR 相比,词错率更低的识别器在评测时得到更高的匹配加替换和语句平均相关,说明模型受益于更高质量的转录,即使识别器在训练时未见过。读表时注意 Seen 和 Unseen 指混合适应时是否见过该识别来源,Full 指在混合基础上加自适应替换加权,语句平均指 4 个语句指标的平均,词准确度栏同时给出匹配加替换、仅匹配、仅替换 3 个口径。
| Transcript | Type | Training | Word Acc. (M+S/M/S)↑ | Utt. Avg.↑ |
|---|---|---|---|---|
| medium.en | GT-only | 0.416 / 0.479 / 0.118 | 0.765 | |
| (WER: 20.1%↓) | Seen | Mixed | 0.504 / 0.471 / 0.287 | 0.779 |
| Full | 0.506 / 0.451 / 0.295 | 0.779 | ||
| large-v3 | GT-only | 0.458 / 0.546 / 0.152 | 0.764 | |
| (WER: 16.3%↓) | Unseen | Mixed | 0.526 / 0.521 / 0.328 | 0.777 |
| Full | 0.526 / 0.504 / 0.335 | 0.780 | ||
| Qwen3-ASR-0.6B | GT-only | 0.452 / 0.547 / 0.076 | 0.779 | |
| (WER: 12.4%↓) | Unseen | Mixed | 0.540 / 0.534 / 0.299 | 0.786 |
| Full | 0.544 / 0.512 / 0.333 | 0.787 |
表后解释主要收益与代价。收益集中在替换词:以 medium.en 为例,仅替换从 0.118 升到 0.295,匹配加替换从 0.416 升到 0.506,语句平均从 0.765 升到 0.779;large-v3 和 Qwen3-ASR 上也有类似模式,且词错率从 20.1% 降到 12.4% 时 Full 的匹配加替换从 0.506 升到 0.544。代价是仅匹配词相关在 Full 下略有下降,例如 medium.en 从 0.479 降到 0.451,说明对替换的强调轻微挤占了干净匹配词的拟合。限制是该表只覆盖单词准确度这一个词级方面和 4 个语句指标的平均,未展示流利度和韵律各自的变化,也未报告显著性与方差,因此不能把平均提升推广到每个方面。
哪些指标未胜出与适用边界
需要单独列出未胜出项和尚未评测的范围。第一,在标准文本的域内条件下,语句级流利度和韵律略落后于 HiPPO 复现模型,论文将其归因于缺少专用超切分特征,这意味着 OpenPA 的优势主要在词级和开放条件下的鲁棒性,而非所有语句韵律建模。第二,MultiPA 上词级和韵律的绝对相关仍不算高,训练与评测之间存在朗读到对话、自发语音风格差异,50 个语句的小样本也使估计不确定性较大。
第三,口腔癌实验只有 98 句、21 人,且只报告了流利度平均后的说话人级相关,没有覆盖更大非典型语音队列和更细的音素粒度,未来工作才计划研究这些。第四,论文没有报告训练资源、推理开销、输出帧率和实际延迟,也没有测量误判率随阈值的变化,因此不能承诺部署成本或实时性会改善。这些边界不否定已报告的相关提升,但把结论限定在给定数据、给定转录和给定聚合方式下。
复现第一步与资源现状
复现时先固定数据与转录条件。第一步是准备 speechocean762 并按论文划分训练与测试,同时准备 3 种转录:标准文本、L2 适配识别文本和 Whisper medium.en 识别文本,训练时按 0.5、0.3、0.2 采样后以教师强制送入解码器;评测时域内用标准文本和 3 种识别文本分别对应闭合与模拟开放,MultiPA 沿用原始的 medium.en 转录与时长加权协议。第二步是按配置搭建 Whisper-medium 主干并加秩 16 的 LoRA,批大小 64,训练 5 轮,联合优化识别交叉熵与 2 级均方误差,替换词权重下限取 0.5。
关于资源,论文正文给出的是第三方链接上的评估代码,当前可达但只证明论文提到了该链接,不证明作者已开源全部训练代码或权重;是否公开权重、可否直接运行,需要与可达链接中的实际内容核对,不能把代码可达等同于权重可下载或系统可运行。复现时还需记录随机种子、硬件与用时,因为原文未报告这些预算,缺失项应在复现报告中明确标出。
何时值得尝试与还缺什么验证
什么时候值得尝试 OpenPA 这条路线。如果任务需要同时输出词级和语句级分数,又希望用同一个模型兼容标准文本和识别文本,且不便部署强制对齐和多个特征提取器,那么基于交叉注意力和<score> 标记的方案值得一试,尤其在模拟开放条件下对替换词的鲁棒性有已报告的提升。复现的第一步是先跑通转录采样与目标搬运,保证匹配加替换、仅匹配、仅替换 3 种口径的统计与论文一致,再检查混合转录与自适应加权是否主要改善替换词而轻微影响匹配词。
还需要补的验证包括:在更大真实开放数据上重复零样本结果并报告方差,在更多识别器和不同词错率下检验稳定性,补充流利度和韵律分方面的完整对照,以及在更大非典型语音队列上检验跨任务迁移并与语速等混杂因素解耦。只有补齐这些,才能把当前限定条件下的相关提升推广到更一般的教学与临床场景。
📎 论文与评分元数据
排名:前50% | 文档类型:方法研究 | arXiv 原文
⚖️ 评分明细
评分属于系统判断,不是论文实验结果;八维数值与总分见页首,原始审计记录保留在后端。
评分规则:type-aware-v1
评分模型:muse-spark-1.3-contributor
评分请求协议:openai_responses
