我们该打字还是语音与LLM智能体交互?------语音与键盘输入扰动全面研究
论文arXiv编号:2608.03970v1 | 发布日期:2026-08-04
论文在线HTML:https://arxiv.org/html/2608.03970v1
论文PDF:https://arxiv.org/pdf/2608.03970v1
作者
胡子昭、Nathan Elijah Segura、Mohammad Rostami、Jesse Thomason
单位:南加州大学、圣莫尼卡学院、南加州信息科学研究所
通讯邮箱:zizhaoh@usc.edu、jessetho@usc.edu
摘要
人类向大模型输入内容分为键盘打字 、语音听写 两种主流渠道,两类输入会带来完全不同的文本扰动噪声:键盘输入产生按键错位、字符漏输等拼写噪声;语音经转录后会填充口语停顿词、语序重构、同音替换等口语化扰动。本文提出HIVE(Human Input-Variation Engine) 人类输入扰动生成引擎,包含17种标准扰动算子+2组对照算子,可精准复现真实打字、语音听写带来的文本变形。基于HIVE在5款主流指令微调大模型、6类标准评测集开展大规模对照实验,得到7条核心结论:
- 所有测试模型均会因语音转录扰动出现准确率下滑,损伤核心来自语序重构,而非口语填充词;
- QWERTY键盘扰动带来的精度损失更小,模型可耐受大量打字错误后才会性能骤降;
- 两类输入损伤的统一根源:原始文本token被破坏,单纯新增填充token几乎不影响模型正确率;
- 模态精度差距仅存在于推理生成类任务,选择题两类输入无明显性能差异;
- 精度下降并非测试集数据泄露导致,在去污染重构数据集上结论保持一致;
- 轻量化LoRA自适应微调无法修复语音输入带来的精度损失,还会损害干净文本基线性能;
- 模型思维(CoT)机制几乎可完全抵消键盘噪声影响,但对语音重构类扰动无效,压缩式语音转录甚至会加剧性能衰减。
本研究量化了语音/打字两种交互渠道对LLM推理的差异化负面影响,为语音助手、代码智能体、办公听写前端的输入预处理策略提供工程指导。
1 引言
研究背景
当下语音助手(Siri、谷歌助手)、代码智能体(Claude Code)、听写工具已普及,用户大量使用语音口述替代打字输入。但两类输入的文本噪声存在本质差异:
- 键盘输入噪声:物理按键误触带来邻键替换、字符换位、重复、漏空格等机械类拼写错误;
- 语音转录噪声 :ASR输出自带um/like等停顿填充词、口语倒装、同音异形词替换,主流听写工具还会调用LLM对原文全局改写压缩语序。
现有鲁棒性研究存在两大空白: - 扰动算子多为理论对抗噪声,无法复现人类真实输入错误;
- 缺少打字/语音两大渠道的标准化对照评测,无法量化两种交互模式对模型推理的差异化伤害。
本文四大核心贡献
- HIVE扰动引擎:设计17类真实人类输入算子(11种语音转录扰动、6种QWERTY键盘扰动)+2组实验对照算子,配套完整提示词、生成脚本,可批量生成带真实噪声的评测样本;
- 跨渠道量化评测:固定模型、任务、样本,仅切换输入扰动类型,精准分离打字/语音带来的精度损失;
- 损伤归因分析:定位token完整性为性能损伤核心预测指标,区分"新增token""破坏原有token"两类扰动的不同影响;
- 工程可行优化方案:验证思维推理、输入预处理、微调方案的优劣,为语音听写前端给出落地优化建议。
2 相关工作

2.1 LLM输入鲁棒性研究
现有文本扰动研究分为字符级、词级、句子级三类,但大多为对抗性人工噪声,不符合人类真实输入规律:
- 字符级:随机拼写错误、字符替换,但未贴合QWERTY邻键物理错误分布;
- 词级:同义词替换、乱序,不区分口语自然倒装;
- 句子级:释义改写,但无语音听写专用压缩重构算子。
现有工具如CheckList仅提供通用文本测试,无法区分打字、语音两大交互场景。
2.2 语音转录鲁棒性相关研究
过往语音QA、语音助手评测仅使用原始ASR识别文本,未区分原生口语转录 、LLM改写压缩转录两种主流听写输出;且缺少打字渠道作为对照组,无法横向对比两类噪声危害。现有研究证实语音同音词、停顿词会降低代码、数学推理精度,但未系统拆解语序重构、填充词两类独立损伤来源。
3 HIVE人类输入扰动引擎
整体架构
HIVE包含三类输入分支:语音转录扰动、QWERTY键盘扰动、无噪声复制粘贴(干净文本基准);算子分为LLM风格迁移生成、确定性规则变换两类,全部算子开源可批量生成扰动样本,配套统一评测流水线。
3.1 11种语音转录扰动算子
分为LLM改写类(口语化/压缩改写)、确定性规则修改类(填充词、同音替换等)两大组:
- spoken-casual:闲聊口语转录,大量停顿填充词、倒装句式(Qwen2.5-7B少样本风格迁移生成);
- spoken-formal:正式演讲口语,少量犹豫词、完整长句;
- spoken-succinct:极简课本式压缩,大幅重构语序(损伤最大算子);
- spoken-clean:规整口语,保留原句语序仅精简冗余;
- spoken-clean(Llama):更换大模型重写的规整口语对照;
- spoken-filler-stripped:在闲聊口语基础上删除所有填充词;
- clean+fillers:干净文本强制插入um/like等口语填充词;
- clean+numwords:数字替换为英文单词(5→five);
- clean−func-words:删除冠词、介词等功能词;
- clean−case/punct:移除大小写、全部标点;
- clean+homophone:同音异形词替换(无数字替换)。
3.2 6种QWERTY键盘确定性扰动算子
全部基于达美-莱文斯坦编辑距离,数字token全程保护不会被修改,保证标准答案有效:
- random-replace:随机字符替换(无键盘邻键约束,负面对照);
- keyboard-neighbor:QWERTY物理邻键替换(真实打字高频错误);
- key-swap:相邻两个字符换位;
- repeated-key:按键长按重复字符;
- connected-key:同时触达两个邻键,额外插入字符;
- missed-space:单词间漏输空格。
两类全局对照算子(实验控制变量)
- context/question swap:问题与上下文交换位置;
- option-permutation:选择题选项顺序打乱。
HIVE算子完整对照表(核心实验基准)
| 扰动类型 | 算子名称 | 平均精度损失(GSM8K) | 扰动生成方式 |
|---|---|---|---|
| 语音闲聊口语 | spoken-casual | -5.7 | LLM少样本迁移 |
| 语音正式口语 | spoken-formal | -2.6 | LLM少样本迁移 |
| 语音极简压缩 | spoken-succinct | -26.3(全局最差) | LLM重构改写 |
| 口语规整保留语序 | spoken-clean | -6.6 | LLM精简 |
| 填充词剥离口语 | spoken-filler-stripped | -6.2 | 规则删除填充词 |
| 干净文本加填充词 | clean+fillers | -3.4 | 规则插入 |
| 数字转单词 | clean+numwords | -0.5 | 规则替换 |
| 删除功能词 | clean−func-words | -0.7 | 规则删减 |
| 清除标点大小写 | clean−case/punct | -2.2 | 规则处理 |
| 同音词替换 | clean+homophone | -1.0 | 规则替换 |
| 随机字符替换 | random-replace | -5.1 | 确定性随机 |
| QWERTY邻键替换 | keyboard-neighbor | -4.2 | 邻键映射规则 |
| 字符换位 | key-swap | -1.9 | 规则换位 |
| 重复按键 | repeated-key | -0.6 | 规则复制 |
| 多键粘连 | connected-key | -1.3 | 规则插入 |
| 漏空格 | missed-space | -1.0 | 规则删除空格 |
4 完整实验设置
4.1 测试底座大模型(5款7~14B指令微调模型)
Llama-3.1-8B-Instruct、Qwen2.5-7B-Instruct、Mistral-7B-v0.3、Qwen3-8B、Phi-4;解码策略固定贪心采样,消除随机采样干扰。
4.2 六大标准评测数据集
- GSM8K/GSM-Symbolic/GSM1k:数学推理应用题(生成式任务);
- HumanEval:Python代码生成(单元测试pass@1打分);
- MMLU-Pro(STEM子集)、TruthfulQA MC1:选择题(仅匹配选项,无自由生成);
每数据集抽取200条样本(HumanEval全集164条),每条样本匹配干净/所有扰动版本,5个随机种子重复实验,总生成55万条模型输出用于统计。
4.2 控制变量实验方案
- 数据集去污染对照:GSM-Symbolic基于数学公式重新生成题目,表面文本完全改写,消除训练集记忆干扰;
- 思维开关对照:Qwen3-8B开启/关闭内置CoT推理模块,单独测试推理机制降噪效果;
- LoRA自适应微调对照:基于扰动样本蒸馏轻量化适配器,测试微调修复能力。
5 核心实验结果可视化
5.1 全局精度损失总览
- 语音类扰动整体伤害远高于键盘:语音算子几何平均损失-9.7个百分点,键盘仅-3.0;
- 极简语序压缩spoken-succinct是全局最差扰动,数学推理精度暴跌26.3%;
- 选择题(MMLU-Pro、TruthfulQA)所有扰动平均损失仅1.1个百分点,几乎不受噪声影响;
- QWERTY邻键错误比纯随机字符替换损伤低0.55个百分点,模型更适配真实打字噪声。

5.2 关键量化指标:Token留存率
扰动后原始干净token留存比例与精度损失强相关(相关系数r=0.79):
- 仅新增填充词、不删除原有token:精度几乎无下降(clean+fillers仅-3.4);
- 重构语序、大量删除原有token(spoken-succinct):留存率仅52.1%,精度暴跌;
- 键盘漏空格、字符换位仅少量token改动,损失极小。

5.3 任务类型分化规律
生成类任务(数学、代码)语音/打字精度差距6~7个百分点;选择题两类输入无显著差异,模型只需匹配选项,无需完整逻辑推导。
6 七大核心研究发现

发现1:语音转录损伤根源是语序重构,填充词仅充分非必要条件
实验对照:干净文本插入填充词仅损失3.4分,但删除口语转录全部填充词后,精度几乎无恢复(-7.6 vs -7.4)。说明停顿填充词会损伤模型,但不是核心伤害;口语倒装、句子拆分带来的语序重构才是精度下滑主因。
发现2:QWERTY打字噪声容错性更强,损伤非线性累积
打字错误占比低于12%时模型精度几乎持平,超过阈值后性能断崖下跌;相同编辑距离下,邻键真实错误比随机替换损伤更低,人类打字噪声对LLM更友好。
发现3:输入损伤统一核心:原始token被破坏
仅新增文本(填充词、额外数字)几乎不影响正确率;删除、改写原有关键token会带来巨大性能衰减,字符层面规律完全一致。token留存率是唯一强预测指标。
发现4:模态差距仅存在于需要自主推导的生成任务
选择题只需匹配给定选项,无需完整逻辑链,语音/打字输入无精度差异;数学、代码等从零构造答案的任务,语音输入劣势显著。
发现5:精度下降并非数据集记忆泄露导致
GSM-Symbolic全部题目文本重写、推理逻辑不变,语音扰动精度损失幅度与原版GSM8K几乎一致(-8.99 vs -8.77),证明损伤来源于推理逻辑破坏,而非模型背诵训练集样本。
发现6:轻量化LoRA自适应无法修复语音损伤
高秩LoRA虽能小幅提升扰动样本精度,但会大幅损害干净文本基线;低秩微调不破坏原始性能,但完全无法抵消语音噪声,不存在两全微调方案。

发现7:思维推理(CoT)可修复键盘噪声,无法抵消语序重构语音损伤
开启模型思考模块后,所有键盘算子精度损失几乎抹平;但spoken-casual、spoken-succinct等重构类语音扰动损伤仅小幅缓解,压缩改写甚至会让精度进一步下跌33.5%。
原因:打字仅局部字符错误,思维可通过上下文还原;语音重构彻底改变题干逻辑结构,推理无法修复题干本身的语序错乱。

7 结论与工程落地建议
核心结论
- 语音听写输入对LLM推理伤害远大于键盘打字,核心损伤来自听写工具的全局语序压缩重构,而非口语停顿词;
- 模型对局部打字拼写错误容错极强,但无法处理大规模句子结构改写;
- 思维推理仅能弥补字符级噪声,无法修复语序重构带来的逻辑偏差;
- 轻量化微调无法兼顾干净文本与口语噪声,听写前端预处理是更优方案。
工程实践指导
- 语音听写前端优化:
- 禁止LLM全局压缩重构用户口述内容,仅删除少量填充词,完整保留原句语序;
- 不要同音词自动替换原文,减少关键token改写;
- 交互渠道选型:数学、代码、复杂推理场景优先键盘输入;简单问答、选择题可放心使用语音;
- 模型侧优化:开启CoT思维模块可大幅提升打字输入鲁棒性,但不能依赖其解决语音重构问题。
研究局限性
- 全部算子、评测集仅支持英文,不覆盖中文、多语言场景;
- 仅测试7~14B开源底座,未测试GPT、Claude等闭源超大模型;
- 实验均为单轮问答,未覆盖多轮长对话智能体场景;
- 键盘仅针对QWERTY布局,未适配九宫、手机拇指键盘;
- 语音扰动为LLM文本模拟口语,未使用真实音频ASR转写,缺少声学噪声。
附录A 完整实验方法与算子规范
A.1 HIVE算子生成完整脚本(伪代码)
python
# 1. LLM口语改写算子执行流程
def generate_spoken_text(raw_question, style_prompt, shots):
messages = [
{"role":"system", "content":style_prompt + shots},
{"role":"user", "content":f"WRITTEN: {raw_question}"}
]
outputs = model.chat(messages, temp=0.1)
return extract_tag(outputs, "<spoken>")
# 2. QWERTY确定性扰动函数
def qwerty_perturb(text, op, word_ratio=0.2):
char_map = get_qwerty_neighbor_dict()
words = text.split()
target_num = int(len(words)*word_ratio)
seed_rng = Random(hash(text))
target_words = seed_rng.sample(words, target_num)
new_words = []
for w in words:
if w in target_words and not w.isdigit():
new_w = apply_key_op(w, op, char_map)
new_words.append(new_w)
else:
new_words.append(w)
return " ".join(new_words)
A.2 全套LLM提示词模板(附录C完整原文)
- spoken-casual/spoken-formal口语生成提示;
- spoken-succinct精简压缩提示;
- spoken-clean语序保留精简提示;
- 改写歧义判定打分提示(Meaning-drift judge)。
A.3 统计分析方案
每组实验5个随机种子,采用配对t检验、Bonferroni多重校正,图表误差条为95%学生t置信区间;单样本拆解人工标注20组数学错题,分类故障类型:前提范围偏移(55%)、末尾问题丢失(25%),无计算错误。
附录B HIVE算子完整对照表
包含17种扰动算子的生成方式、控制参数、修改样例、语义漂移占比,见论文Table4,所有算子可直接复现用于鲁棒性评测。
资源完整下载清单
- 论文HTML在线版:https://arxiv.org/html/2608.03970v1
- 论文PDF全文:https://arxiv.org/pdf/2608.03970v1
- HIVE扰动生成完整Python代码:论文配套开源仓库(见文末github地址)
- 全套提示词模板:仓库
prompts/目录 - 批量评测执行脚本:
run_benchmark.py、stat_analysis.py - 实验结果绘图代码:
plot_exp_figures.py - 处理后扰动评测数据集:HuggingFace数据集仓库
- LoRA自适应微调训练脚本:
train_lora_adapt.py