解构语音交互产品--人工智能AI技术

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/plusli/article/details/102702119

在解构语音交互产品-认知篇里,主要讲了VUI的发展、挑战及相关问题,并列举了语音交互产品的应用场景。本文介绍在语音交互产品中使用到的人工智能技术。

一、语音交互的实现原理

语音交互的实现原理如上图所示。我在《点亮技能 I 人机对话系统全面理解》文中讲对话交互时也作过简单介绍。

具体流程:
1)用户说一段话后,语音识别技术会将用户说的话进行纠错、删除、插入单词等操作,将用户所说的话进行补充和改写,这一过程完成了语音转为文本的过程;
2)将识别到的文本经过自然语言理解框架,转换成机器可以理解的语义表示,即抽取出“领域-意图-实体-参数”等信息;
3)对话管理会根据抽取出来的信息,决定如何处理这些意图和实体,判断抽取到的信息是否支撑系统执行命令。如果不行机器人还需要询问下一个问题,提供下一个回答或者报错等等。例如用户说“请帮我订一张北京到上海的机票”,用户的指令中缺失了“出发时间”这个实体的参数,对话管理就会引导用户给出“出发时间”的信息;
4)系统经过语义理解和对话管理后,需要向用户做出回应。根据上下文/语境和对话的类型(问答/任务/闲聊),回应内容可能是系统检索到的结果,也可能是事先在bot平台上写的“追问的语句”、“意图确认回应”等,也可能根据深度强化学习模型生成的回答;
5)最后使用TTS技术将系统回应的文本转化为语音播放给用户。

在任务型对话中,对话的转化漏斗为:

二、语音交互的AI技术

从语音交互的技术流程可以看出,一个语音产品至少需要运用语音技术、NLP技术。而在一些场景中,也会运用图像识别技术。

1.语音识别技术

语音技术包括:语音识别ASR(除了近场,还有远场语音识别)、声纹识别、语音合成TTS。

语音识别ASR,将声音转化为文字的过程。
1)语音识别原理

语音识别的识别方式可分为:“传统”识别和“端到端”识别方式,主要差异在声学模型上。传统机器学习方法使用HMM隐马尔可夫模型,“端到端”采用DNN深度神经网络。

2)语音识别评价指标
语音识别的主要评价指标为:识别准确率

  • 识别率的直接指标是WER词错误率,WER=100%*(S+D+I)/N (S、D、I分别代表替代、删除、插入的词的个数,N为单词总数)
  • 识别率Accuracy = 1 - WER

选择语音技术提供商时除了考虑识别准确率,还要看语音端点检测的表现。语音端点检测是描述计算机如何判断用户何时开始和结束说话的一种说法。

同时也需要考虑ASR工具的一些拓展功能,比如N-Best列表,是否允许参数设置,以及自定义词汇表等。

远场语音识别
远场识别,是远场交互场景下的语音识别技术。
1)语音激活检测 VAD
语音激活检测,即判断什么时候有语音/什么时候没有语音。在随身场景中,如手机APP,用户可以直接用手按着语音按键说话,但在远场识别场景下,用户不能用手接触设备,这时受噪声影响比较大,信噪比SNR较低,必须使用VAD。

2)语音唤醒
在远场识别中,当VAD检测到人声后,需要进行语音唤醒。通过喊“唤醒词”后开始进行识别。如喊“Alexa”唤醒Echo音箱,开始识别语音。
语音唤醒的评价指标:唤醒率(成功被唤醒)、误唤醒率(误报)、唤醒词的音节长度、唤醒响应时间、功耗等

3)麦克风阵列
麦克风阵列由一定数目的麦克风组成,用来对声场的空间特性进行采样并处理的系统。利用多麦克风可以进行远距离拾音
麦克风阵列能对声源定位,并通过自适应波束进行语音增强,在前端完成远场拾音,并解决噪音、家庭环境中墙壁反射形成的混响、回声等带来的影响。

语音打断技术
语音打断,即允许用户打断系统说话。一般的语音产品都采用听到唤醒词停止的策略,例如Amazon智能音箱Echo,需要检测到唤醒词“Alexa”时才会停止说话。
VUI系统除了要注意用户什么时候说话,还要知道用户什么时候停止说话,这种情况叫超时。超时有以下几种情况:

  • 语音终止超时:用户说话可暂停的时间长度,如超过,系统会判断用户说完。一些ASR工具可以设置语音终止超时时间来配置语音端点检测功能。有些会有默认值,例如1.5秒是被认为适用于大多数VUI系统的时长。
  • 无语音超时NSP:系统没有检测到语音。无语音超时的时间通常比较长(如5~10秒),通过无语音超时的数据,系统可以分析哪里存在问题,并给出回应的操作。
  • 言语过多超时TMS:用户说话时间过长,且没有检测到终止超时的停顿时,可以设置TMS超时来打断用户,以便继续对话。

一个用例:在英语口语练习工具-流利说APP中,口语测试环节有个60秒的口语输入时间,在这个时间窗口期即使没有检测到语音也不会终止,只有达到60秒时长或者用户手动点击才会终止。这就要求ASR工具能根据场景自定义设置时长。

数据隐私
不要存储没有意义的用户数据。如果语音设备需要检测唤醒词,在用户喊唤醒词之前,不要保留用户所说的内容。比如Amazon Echo会持续接收唤醒词"Alexa”,但这种语音识别在本地设备上执行,直到唤醒词被识别后,音频才会上传到云端做语音识别。

语音技术相关厂家及数据
市场上有很多提供ASR工具的厂商,国内多数语音厂家在安静状态下的语音识别准确率都通达到95%以上,支持5米远场交互,目前的语音技术的发展方向在非标准环境下提高远场识别准确率、降低误唤醒率及提高响应速度。数据显示,目前国内智能语音市场上科大讯飞占比达到44.2%,百度位居第二,占比也达到了27.8%,两者占比之和超过70%。下图是一些厂家信息(资料来源:格兰研究)

当前技术边界
语音技术的边界,即能做什么不能做什么。在上篇文章里,提到了VUI的挑战之一“语音识别率”也有作过分析。ASR技术目前已经相对成熟,可以商用了。但在一些真实使用场景中,特别是远场交互,识别的错误率还比较高。一些语音识别率不够好的场景有:车载场景、家庭场景中的远场交互、语料数据少的场景(比如儿童语音)、名字拼写和字母数字混合的字符串的处理等。

产品经理可以通过产品体验设计来优化你的产品,从产品层面上来提高语音识别率。例如用户表述过短识别率低的问题,可以通过正确引导用户输入信息; ASR识别响应慢时,机器人可以说“正在为您查询”来用户回应,以减轻用户等待的感觉。

2.情感分析和情绪检测

情感分析
情感分析是使用自然语言处理NLP技术来提取有关用户感受的信息。情感分析可以使VUI更智能,更具有同理心。机器在与用户交流时能预判用户的想法,从而给出最好的对话引导。

基本的情感分析:首先,你需要定义类别。例如“正面”、“负面”。然后通过使用正面和负面的单词列表,可以对用户所说的内容进行相应的分类。(已经有现成的免费单词表可以使用,如MPQA负面和正面词汇列表。也可以使用KNIME等开源工具给你识别结果进行后期处理,并且处理的用户所说的负面词汇和正面词汇的百分比。)

目前IBM Watson AI可以根据某个对话流进行情感分析,预测用户的情绪状态以及情感分析的可信度。如下图:

情绪检测

1)通过语音流的实时声音语调分析进行情绪检测。例如Bevond Verbal的Moodies APP

Beyond Verbal是全球首个通过语音来识别情绪的公司,其系统创建的算法可以通过识别音域变化,从而分析出像愤怒、焦虑、幸福或满足等情绪,心情、态度的细微差别也能被识别到。根据用户反馈,该应用识别情绪准确率约为80%

在VUI产品中运用此项技术,可以更好的理解同户,并提供个性化的服务。例如语音助手/家庭助理类语音产品。

2)应用基于人脸面部特征的情绪检测技术。
Google公司向开发者开放了一个Vison API,可以识别出用户的情绪。如下图中机器判断图中用户高兴的可能性是最高。

语音交互产品不一定需要支持图像识别/表情识别,这主要取决于你的场景和用户需求。比如在教育行类的上课场景,此场景位置固定,学生不随意走动,可以使用了情绪检测方法来判断学生学习的专注度,从而改善教学过程,提高学习效率。那么,家庭的教育机器人是否可以也运用此技术呢?

正确的判断用户的情感状态是非常关键的,错误的检测结果会使你付出高昂的代价。所以在运用用户情绪相关的技术时,要记住不要直接说出用户的情绪,而应该用情感和情绪分析来引导对话

参考材料:
《聊天机器人:对话式体验产品设计》by Amir Shevat
《语音用户界面设计》by Cathy Pearl
一文看懂“语音识别ASR” | AI产品经理需要了解的AI技术概念 hanniman

相关链接:
解构语音交互产品—认知篇
点亮技能 I 人机对话系统全面理解

猜你喜欢

转载自blog.csdn.net/plusli/article/details/102702119