A CONVERSATIONAL NEURAL LANGUAGE MODEL FOR SPEECH RECOGNITION IN DIGITAL ASSISTANTS文献阅读笔记

摘要:对话序列有利于提高数字助手(可以理解为手机的siri,微软小冰等)的能力,我们探索了神经网络语言模型模拟数字助手的对话。我们提出的结果可以有效刻画对话特征,在识别率上相对提高了%4.

1.

    不同于其他领域的语音识别,数字助手主要为对话形式的。所以应该建立一个对话式的语言模型,用于解决语音识别中的歧义(ambiguous)问题。

和前人一样,我们也使用LSTM语言模型用于刻画长文本,一个常用的方法是将speak turn或者context作为一个额外的输入到网络层或者LSTM单元。这是一种修饰语言模型的选项

为了训练一个标准的对话式语言模型,我们探索了几种修饰输入数据的方法。这样可以保证当提供先前的对话作为context用于训练语言模型时,使用一个完全相同、可信赖的通用类语音识别语言模型又很多好处。

2.

人机对话(与数字助手)和人人对话的词分布区别很大。人机对话往往是人发出一个简短的命令,数字助手回复一个冗长的回答,我们在训练语言模型的时候考虑到这个性质,采取了相应方法。使用Rafal Josefowicz, Oriol Vinyals, Mike Schuster, Noam
Shazeer, and Wu Yonghui, “Exploring the limits of language modeling,”中的语言模型。如下图所示:

每一个LSTM单元如下:

xt,为word embedding输入,it,ft,ot为输入门,忘记门,输出门,ct和rt为lstm内部的状态,W, D, b分别为full权重矩阵,对话权重矩阵以及偏置,使用了peephole连接用于学习精确的时间输出,使用回归映射层rt,用于减少状态维度,同时保持记忆能力。

扫描二维码关注公众号,回复: 4151223 查看本文章

人机对话系统需要大量单词,为了减少训练以及测试的计算代价,一方面,我们只使用了训练语料中的top100K单词,没有出现的为unknown,另一方面在百分之三的词汇上使用sampled softmax,即在单词以递减顺序在训练语料中排列时,使用均匀分布的负采样。

3.对话建模

输入数据分为三种:

第一种只有人的一个询问,作为baseline.如:What is the weather today?

第二种只有人一组询问。一组询问为当前询问加上前两个询问,这三个询问在一个5分钟的时间序列内获得。通过语句边界标记进行区分。

第三种为人的一组询问加数字助手的回答。即三个询问加是哪个对应的回答。在此基础上衍生四个变体:

(1)忽略语句边界标记。

(2)在5分钟的时窗里如果提取的语句不足3个询问,仍旧作为训练数据输入模型。该方法可以防止丢失部分训练数据

(3)(4)变体基于这样一个假设,询问的历史数据比数字助手回答的语句更具有影响力。

(3)输入询问的词汇(重复的就去除了)非句子加数字助手的回答

(4)颠倒顺序,首先为回答,然后是询问。

4.lattice rescoring参考文献(Lattice rescoring strategies for long short term
memory language models in speech recognition)

我们使用lattice-recore算法将语言模型集成到语音识别中,每个lattice节点中只保持最好的LSTM状态,因为大量的状态计算代价还高,并不能有效提高识别结果.每一个lattice弧中线性插入LSTM语言模型分布,权重为0.5:

猜你喜欢

转载自blog.csdn.net/yang_daxia/article/details/84260343