市场上的智能语音助理,主要的工作原理是什么?

一个包括语音交互的chatbot的架构如下图所示:

在这里插入图片描述

一般chatbot由语音识别(ASR)、语音合成(TTS)、自然语言理解(NLU)、对话管理(DM)、自然语言生成(NLG)几个模块组成,其中:

语音识别:完成语音到文本的转换,将用户说话的声音转化为语音。

自然语言理解:完成对文本的语义解析,提取关键信息,进行意图识别与实体识别。

对话管理:负责对话状态维护、数据库查询、上下文管理等。

自然语言生成:生成相应的自然语言文本。

语音合成:将生成的文本转换为语音。

通常智能助理一个完整的交互流程是这样的:

首先:音频被记录在设备上,经过压缩传输到云端。通常会采用降噪算法来记录音频,以便云端“大脑”更容易理解用户的命令。然后使用“语音到文本”平台将音频转换成文本命令。 通过指定的频率对模拟信号进行采样,将模拟声波转换为数字数据,分析数字数据以确定音素的出现位置。 一旦识别出音素,就使用算法来确定对应的文本。

然后:使用自然语言理解技术来处理文本,首先使用词性标注来确定哪些词是形容词、动词和名词等,然后将这种标记与统计机器学习模型相结合起来,推断句子的含义。

最后:进入对话管理模块,确认用户提供的信息是否完整,否则进行多轮对话直至得到所需全部信息。根据得到的信息进行相应的业务处理,执行命令。同时将结果生成自然语言文本,并由语音合成模块将生成文本转换为语音。在这些模块中,对话管理(DM)模块的首要任务是要负责管理整个对话的流程。

通过对上下文的维护和解析,对话管理模块要决定用户提供的意图是否明确,以及实体槽的信息是否足够进行数据库查询或开始履行相应的任务。

当对话管理模块认为用户提供的信息不全或者模棱两可时,就要维护一个多轮对话的语境,不断引导式地去询问用户以得到更多的信息,或者提供不同的可能选项让用户选择。

对话管理模块要存储和维护当前对话的状态、用户的历史行为、系统的历史行为、知识库中的可能结果等。当认为已经清楚得到了全部需要的信息后,对话管理模块就要将用户的查询变成相应的数据库查询语句去知识库(如知识图谱)中查询相应资料,或者实现和完成相应的任务(如购物下单,或是类似Siri拨打xx的电话,或是智能家居去拉起窗帘等)。

实际实现中,对话管理模块因为肩负着大量杂活的任务,是跟使用需求强绑定的,大部分使用规则系统,实现和维护都比较繁琐。

规则的描述主要基于正则表达式或者类似正则表达式的pattern,用户的问题匹配到这样的pattern上,从而取得答案结果。

使用规则的好处是准确率高,但是缺点也很明显:用户的句式千变万化,规则只能覆盖比较少的部分。

而越写越多的规则也极其难维护,常常有可能会发生互相矛盾的规则,而往往一个业务逻辑的改动就要牵一发而动全身。另一个方法是维护一个庞大的问答数据库,对用户的问题通过计算句子之间的相似度来寻找数据库中已有的最相近的问题来给出相应答案。

目前任务导向chatbot也在逐渐使用基于深度学习的端到端来实现架构。

简要来说就是将用户输入的内容直接映射到系统的回答上,但是这种方式也存在需要大量的训练数据的问题,还不能完全取代传统规则系统。
人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
人工智能快速发展的今天,语音识别现在发展到什么阶段了?
http://www.duozhishidai.com/article-2278-1.html
智能语音技术,主要面临哪些挑战?
http://www.duozhishidai.com/article-1927-1.html
语音的识别过程主要分哪几步,常用的识别方法是什么?
http://www.duozhishidai.com/article-1739-1.html


多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台

猜你喜欢

转载自blog.csdn.net/duozhishidai/article/details/88828785