深度学习与人类语言处理-语音识别(part1)
深度学习与人类语言处理课程笔记,上节回顾深度学习与人类语言处理-introduction。这节课将会简单介绍语音识别的最新研究方法,请看正文
语音识别该何去何从?
1969年,J.R. PIERCE:“语音识别就像把水变成汽油、从大海中淘金、治疗癌症、人类登陆月球”
当然,这是50年前的想法,那么语音识别该如何做呢?
一个典型的语音识别系统如下,输入一段语音到模型,模型输出一段文本
Speech:表示一个长度为T,维度为d的向量序列
Text:一个token序列,长度为N,V个不同的token,通常T>N
接下来看看输入可以有哪些可能,输出有哪些可能,首先看下输出部分
输出Token
音位(phoneme,发音的基本单位)
在深度学习没有流行之前,以音位为输出是很常见的,因为音位和声音的对应关系比较强,那输出是一系列音位,怎么变成我们能看懂的文字呢?需要一个词典,需要语言学家标出来,音位同样也需要语言学家帮忙
字母(Grapheme,书写的基本单位)
英文(基本书写单位:字母)
总的token:26个英文字母+一个空格+标点符号
one_punch_man;N=13,V=26+?
中文(基本书写单位:单个汉字)
总的token:常用的汉字(和英文区别在于没有空格)
"一",“拳”,“超人”,“人”;N=4,V=4000+
词(word)
英文:one punch man;N=3,通常V>100K
中文:“一拳 ”超人“;N=2,V=?
使用词做为输出单位很难,因为中文没有空格,没有词的明确分界,对于一些语言,V可能超大,无法穷举
语素(Morpheme,可以传达意思的最小单位,小于词,大于字母)
例如英文中:unbreakable可以拆成 “un“ ”break“ ”able”
那语素如何获取呢?
请语言学家告诉我们;使用统计学方法
字节(bytes)
使用字节作为输出系统是language independent,不受语言限制
所有的语言都用UTF-8编码表示:
那么哪个Token最受欢迎呢,统计了19年语音三大顶会paper ( INTERSPEECH’19, ICASSP’19, ASRU’19 )。发现最多人使用的是grapheme
除了上述形式,还有哪些输出呢?
输入语音,输出word embedding
和翻译系统结合,直接输出另一种语言文本
加入意图识别,输出对应的意图
输出输入中所包含的关键词
输入部分(声学特征,acoustic feature)
对输入的声音信号,使用25ms的时间窗取出一个frame,对应就有400个采样点(16KHz)(使用MFCC会得到39维向量、filter bank输出是80维),通常的每个时间窗的间隔为10ms,那么1s内就有100个frame,如何处理每个frame呢,请看下图
输入声音信号 经过 离散傅里叶变换 变成 频谱图,经过多个不同的 filter bank (古圣先贤们设计出来的) 处理后, 得到向量 使用对数变换,经过 离散余弦变换,使用MFCC方法得到向量
同样我们看下哪种输入信号最受欢迎,19年filter bank成为主流
训练一个语音识别系统需要多少数据?
很多很多,google语音识别系统用了上十万的语音数据。。。
语音识别模型的两个不同的角度
seq-to-seq将要被介绍的模型
Listen, Attend, and Spell (LAS)
Connectionist Temporal Classification (CTC)
RNN Transducer (RNN-T)
Neural Transducer
Monotonic Chunkwise Attention (MoChA)
同样我们看下,19年的趋势
下节课。我们将会依次介绍上述提到的模型
接下来深度学习与人类语言处理-语音识别(part2)
references:
深度学习与人类语言处理-语音识别(part1)相关推荐
- 深度学习与人类语言处理学习笔记(一)—— 语音识别(理论篇)
文章目录 1. 语音识别概述 1.1 Token的表示 1.2 Acoustic Feature 2. 语音识别深度学习模型 2.1 Listen,Attend,and Spell(LAS) 2.2 ...
- 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P28-2)
Audio BERT 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.html 视频链接 ...
- 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P9)
Language Modeling For Speech Recognition 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tl ...
- 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P11)
Voice Conversion 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.htm ...
- 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P10)
Voice Conversion 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.htm ...
- 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P12)
Speech Separation 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.ht ...
- 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P17) 任务精简
Overview of NLP Tasks 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP2 ...
- 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P17) -2
Overview of NLP Tasks 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP2 ...
- 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P19)
BERT and its family:Introduction and Fine-tune 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu. ...
最新文章
- ASP.NET 实现站内信功能(点对点发送,管理员群发)
- 串—KMP算法(详细)
- Java虚拟机调用jni_JNI攻略之十一――启动虚拟机调用java类
- java正则过滤特殊字符
- 第五章 循环结构课后反思
- 【Hibernate】Hibernate查询语言HQL详解
- 刚刚,阿里开源 iOS 协程开发框架 coobjc!
- 将一个16进制数转化为10进制数
- uBLAS——Boost 线性代数基础程序库 (二)
- javascript 数组过滤重复对象
- Anaconda使用conda连接网络时,出现网络错误CondaHTTPError(包括Anaconda安装与入门)
- 记录Android Studio KeyMap 导入的问题
- EBS 销售订单登记提示错误 ORA-00604 LPX-00225
- 不允许对不可访问的基类 类型强制转换 c++
- python爬取网易云_利用python爬取网易云音乐,并把数据存入mysql
- php基本变量,PHP-语法及变量基本操作
- Packet len* is out of range 解决方法
- 机器学习20:基于ResNet50和FaceNet实现人脸识别
- 如何解决eNSP启动AR/WLAN设备失败问题
- vue 点击获取当前时间上/下周 整周数据