这就是,倾听的智慧
     阅读次数:    发表时间:2021-05-17

倾听,是一项重要的技能,随着语音识别的日渐成熟,车机的理解能力,将成为人机交互的关键,基于倾听和理解,驾乘者与车机的交流,将会充满温度,彼此契合,智慧的倾听方式也会赋予,未来的每一程,全新的智能驾乘体验,那么,倾听的智慧,从何而来?

NLP分类模型:层层深入,语言数字化分类

NLP(自然语言处理)分类模型用来识别用户意图,比如用户说“我要听刘德华的忘情水”, 意图是查询歌手“刘德华”的《忘情水》这首歌。预先给这样的意图编号,比如编号为1代表“歌手歌名查询”。

输入层(one-hot转换层):

用户输入语句的字符串,变成一个个字的索引号,一句话就变成一个索引号的数组。数组元素的值是整型数值,代表这个字的索引。

字嵌入层(字向量):

字嵌入就是用一个多维的浮点数据表示每个字的意思,每个字可以用128个元素的一维数组表示。输入层输出的字索引数组经过字嵌入层变成一个个多维字向量。

卷积层:

卷积层的作用是忽略大部分特征,放大、提取某些特征。卷积层的输入是前面字嵌入层的输出矩阵,输出也是一个矩阵,矩阵大小和卷积核的大小有关,每个尺寸的卷积核有多个,比如128个。

池化层:

把卷积核提取出的特征中重要的特性忽略掉,只看最重要的特征,手段就是“下采样”。所谓“下采样”就是找出矩阵中最大的值,用该最大值替代整个矩阵。每一个卷积核后面接一个池化层,池化层的输出就是一个代表该卷积结果矩阵中的最大值。

融合层:

多个池化层的输出的一个个数据,组合起来组成一个大的一维数组,比如128个3字节卷积池化、128个4字节卷积池化、128个5字节卷积池化,得到的384个数值,组成一个一维数组,数组中每个元素都是一个浮点数。

全连接层:

全连接层接收来自融合层的输出,它是一个384个元素的一维数组,经过全连接层以后变成n个浮点值,n等于预设的分类类别。一般还要做归一化处理,归一化的意思是做等比例缩小,使得所有n个值之和为1。

输出层:

接收连接层输出的n个值,相当于一个有n个元素的一维数组,数组每个元素的下标代表一个分类的分类号, 输出层把分类号转成用户可识别的意图,分类类别号和类别名字是用户预先定义好的。

NER识别模型:井然有序,语义精准解码识别

NLP中NER是用来识别句子中的词槽(词槽类型,位置)的,比如“给我放一首刘德华的忘情水”,NER处理的结果和NER标签(tag)的定义如下:

基于双向LSTM+CRF的NER模型结构,由下到上分别是one-hot转换层(one hot index)、字嵌入(字向量)层、双向LSTM层(BiLstm)、全连接层(BiLstm output)、维特比解码层(CRF Viterbi decode)。

NER网络(BiLstm+CRF)

输入层(one-hot转换层):

用户输入语句的字符串,变成一个个字的索引号,一句话就变成一个索引号的数组。数组元素的值是整型数值,代表这个字的索引。

字嵌入层(字向量):

字嵌入就是用一个多维的浮点数据表示每个字的意思,每个字可以用128个元素的一维数组表示。输入层输出的字索引数组经过字嵌入层变成一个个多维字向量。

双向LSTM层:

双向LSTM层输入是前面字嵌入层的输出,它是一个70*128的矩阵,输出也是一个矩阵,大小是[2*70, HIDDENUNIT], 其中70是指70个字,正向LSTM加反向LSTM就是140, HIDDENUNIT是预设的长度,比如128。矩阵的每个元素同样是一个浮点数。

全连接层:

双向LSTM输出的矩阵[2*70, HIDDENUNIT]经过全连接层变成一个新的矩阵[70, OUTPUTDIM], 其中70代表最大70个字,OUTPUTDIM代表NER标签数量,每个字产生OUTPUTDIM个可能的标签,每个标签用一个浮点数表示,数值越大表示可能性越大。

维特比解码(Viterbi decode):

前面全连接层输出了每个字的标签值,矩阵格式是[70, OUTPUTDIM],最终每个字只能有一个标签,输出格式是70个元素的一维数组。矩阵到一维数组的转换就是维特比解码的功能,上图2中的紫色线就是Viterbi解码选择的最佳路径。

虽然,还有许多正在尝试的新方法,但分类和命名实体识别,是语义理解的基础,正确的识别交互,也是ECARX理解用户的第一步,更具人性化、智能化的,未来驾驶方式

将由ECARX与你共同开启

 
上一篇:智能交互,就用新姿势
下一篇:汽车电子产业联盟《智驾电子》09期
 
 
登录
您输入的账户或密码有误
手机号
请输入密码