前面讲的都是理解和生成文本的方法,除了文本这种书面表示形式,自然语言还有一种口头表达形式:语音。
接下来我将用两篇文章分别介绍语音识别和语音合成技术。
语音识别是将语音转换为文本的技术。广泛应用于语音助手、自动字幕生成、语音搜索等领域。
对于这两种自然语言的不同表示形式,我们可以对比着看。
与文本处理类似,语音识别技术也经历了多次迭代,包括传统的声学模型、发音词典、隐马尔可夫模型(HMM),以及近年来的深度学习模型(如LSTM和Transformer)的发展。
两者的处理流程也有许多相似之处。例如:
-
文本处理流程
-
语音识别流程语音输入 → 特征提取(如MFCC、Mel频谱图) → 解码输出(通过声学模型和语言模型的结合实现)。
文本输入 → Tokenization(分词) → 特征提取(如Word2Vec或其他词向量表示) → 传统机器学习模型。
或者,直接采用神经网络:文本输入 → Tokenization → Transformer。
在神经网络时代,语音和文本处理逐渐趋于统一。
语音输入
与文本不同的是,语音是一种模拟信号,要让计算机处理,就得先转换成数字信号。
通过对模拟信号进行采样,记录不同时间点代表声波高度的数字,这就是一个未压缩的wav音频文件。
那以什么频率进行采样呢?采样点过少会导致信息丢失,采样点过多又会造成存储浪费。
奈奎斯特定理给出了答案——只要我们的采样速度至少是我们想要记录的最高频率的两倍。
特征提取
假设我们通过采样得到了下面这个音频数字。
可以直接把它输入到神经网络,但直接对原始数据识别语音模式是很困难的。
所以,我们可以通过对音频数据进行一些预处理来简化问题。