胡慧华
菜单
首页人工智能机器学习深度学习项目实践关于我
跳至课程正文
← 人工智能课程

ARTIFICIAL INTELLIGENCE · COURSE 08

语音与多模态:连接声音、文字和图片

区分语音识别、语音合成和跨模态任务,认识错误传递。

第 08 / 18 课20–30 分钟(含实验)无需密钥 · 本地实验
声音波形、文字信息和带检测框的图像在三块透明面板中汇合
读懂文字、图像与声音
  • 语音流程
  • 多模态
01

START WITH A QUESTION

会议纪要把“不要停机”写成了“要停机”

录音转成文字,再把文字整理成待办,看起来只是两个简单功能串联。但第一步漏掉一个“不”,第二步就可能生成相反的行动。多模态流程的风险往往发生在信息交接处。

模态是信息的表现形式,如声音、文字与图像。多模态系统利用不止一种形式的信息。本课跟踪同一个指令在声音转写、文字整理和图片佐证之间怎样传递。

02

BUILD YOUR VOCABULARY

先把三个概念讲清楚

CONCEPT 01

语音识别

把音频转换成文字,也称 ASR。噪声、口音、专有词和多人重叠说话都可能造成转写错误。

放进场景看

“不要停机,先检查报警”被漏写为“要停机”。

CONCEPT 02

语音合成

把文字转换为可播放的声音,也称 TTS。它负责表达给定文字,不负责核实文字是否正确。

放进场景看

朗读一条错误的待办,并不会让待办变正确。

CONCEPT 03

跨模态对齐

将同一事件在声音、文字、图片中的片段对应起来。需要时间、来源和对象标识,不能把不同时间的图片当作互相证明。

放进场景看

同一设备同一时刻的报警照片,可以辅助核对录音内容。

03

FOLLOW THE PROCESS

把原理放进完整流程

  1. 01

    保存原始片段

    保留时间戳与来源,后续可以回听,而不是只留摘要。

  2. 02

    转写与标注

    转写文字,标出不确定的设备名、数字与否定指令。

  3. 03

    对齐与核对

    把相关图片和文字关联,发现冲突时请求确认。

  4. 04

    确认后形成待办

    涉及实际行动时由负责人确认,避免把转写误差变成执行指令。

一次错误怎样向下传递
步骤输入 / 输出检查点
录音不要停机保留原音频
错误转写要停机否定词缺失
摘要待办:停机流畅但含义相反
确认回听并更正恢复为先检查报警
04

CHANGE ONE THING & OBSERVE

观察一个否定词如何改变待办

切换转写是否经过核对,以及是否附带同时间的设备图片说明,比较后续待办与提示。声音仅以教学转写文本呈现,不会录音。

INTERACTIVE LAB / 08
输入检查
  1. 原音频文字稿 · 00:32“不要停机,先检查报警。”
  2. 语音识别输出要停机,先检查报警。
  3. 未经确认的摘要候选待办:停机并检查报警。
候选摘要与原音频含义相反,必须阻止自动行动并回听。
05

KNOW THE LIMITS

哪些结论不能直接推出?

声音自然不代表信息准确

朗读质量、转写质量和任务正确性需要分别评价。

多一种模态不一定更可靠

图片过期、对象不一致或来源不明时,会增加误导而不是减少错误。

06

READ, RUN & EXPLAIN

为行动保留来源和确认状态

以下示例仅使用 Python 3 标准库,可复制到本地 Python 环境运行。先看每一行的作用,再修改一个输入观察结果;无需网络或密钥。

Python 3 · 完整示例下载 .py
record = {'time': '00:32', 'text': '不要停机,先检查报警', 'confirmed': False}
has_negation = '不要' in record['text']
if not record['confirmed']:
    action = '回听原片段并确认'
elif has_negation:
    action = '不自动停机,交由负责人检查报警'
else:
    action = '按权限提交待办草稿'
print(action)

复制或下载只获取本课示例,不会自动执行。

逐行解释(9 行)
  1. 第 1 行record = {'time': '00:32', 'text': '不要停机,先检查报警', 'confirmed': False}

    用字典保存片段时间、转写和是否已确认。示例为虚构记录。

  2. 第 2 行has_negation = '不要' in record['text']

    识别明确否定短语,仅演示一个检查点,并不覆盖完整语言理解。

  3. 第 3 行if not record['confirmed']:

    未经确认时,优先拦住自动行动。

  4. 第 4 行 action = '回听原片段并确认'

    把输出设置为核对任务,而不是实际操作设备。

  5. 第 5 行elif has_negation:

    确认后仍保留否定含义。

  6. 第 6 行 action = '不自动停机,交由负责人检查报警'

    给出符合本例原文的状态说明。真实设备操作必须遵守现场规程。

  7. 第 7 行else:

    其他情况也不意味着自动获得操作权限。

  8. 第 8 行 action = '按权限提交待办草稿'

    仅提交草稿,由有权限的人处理。

  9. 第 9 行print(action)

    由于本例未确认,输出应为回听与确认。

预期输出
回听原片段并确认
07

CHECK YOUR UNDERSTANDING

换一个角度,检查自己是否理解

已回答 0 / 3 题 · 当前答对 0 题

1. ASR 的主要输出是什么?
2. 两份信息时间不同,还能直接相互佐证吗?
3. 把错误文字朗读得更自然能修正错误吗?
08

TAKE IT WITH YOU

带走三个判断,再做一次迁移练习

  • 区分语音识别、语音合成和信息对齐。
  • 保留否定词、数字、来源与时间。
  • 在行动前确认,阻止上游错误直接传播到执行。
延伸:多模态与扩散模型入门
参考与延伸阅读

本课例子、代码和模拟数据为教学设计。以下一手文档用于延伸核对,不代表对本示例的认证。