博舍

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

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

一个包括语音交互的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

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

语音助手——简介与交互过程

语音助手简介

        语音助手这个产品的目的,是希望通过语音说话的方式,来实现闲聊陪伴、知识获取、设备控制等需求,对应的就有三种不同的助手类型:闲聊型、问答型、指令型。

        闲聊型助手用于实现闲聊陪伴的目的,通过AI的技术来与用户进行对话,感知用户情绪,比如微软小冰。

        问答型助手用于知识获取,通过对话的方式来获取知识,或者解决疑问,比较常见的应用则是各个平台的智能客服,比如京东、淘宝等都有对应的产品。

        指令型助手用于设备控制,通过对话的方式来控制智能设备,实现某种操作,比较常见的应用有智能音响、IOT设备等,比如,语音控制:“打开空调,然后调成25度”。

        而集成了这三个能力的语音助手,则是以一个集大成者的贴心助理的形式存在,比如vivo的Jovi语音助手、小米的小爱同学、IPhone的siri。        

语音助手交互过程

1、首先,来了解一下从用户发出指令到设备端执行,一共经历了哪些流程:

         由上图可以看出,用户发出语音指令,经过语音识别(ASR)服务器转换为文本,然后经过网关进入自然语言理解(NLU)服务器进行语义理解,理解之后经由对话管理中控(DM)进入技能工具箱得到结构化的控制指令,然后经过语音转文字(TTS)服务将文本信息转为语音信息,进入手机端执行命令并且回复用户。

2、下面我们来简单说下各个模块的作用:

        客户端:这里一般是指设备端,比如:手机、音响、智能设备等,用户通过该设备与语音助手进行交互,实现对话、控制设备等操作。 

        语音识别ASR:ASR实现的功能主要为将语音转换为文字,但其实这里还涉及很多其他技术,一个完整的ASR链路主要包括:语音唤醒、语音输入、静音检测(VAD)、信号处理、特征提取、模型转换等。

        网关服务:网关服务顾名思义,是一个网络连接到另一个网络的“关口”,承担了一些请求鉴权、服务转发、配置下发、流量控制等能力。

        语义理解NLU:语义理解的作用为根据文本信息理解句子的含义,这里包含了很多的模块和技术,一般主要分为query预处理和query理解两个部分,在query预处理中一般包含query纠错、问句改写等,在query理解中一般包含分词、依存句法分析、命名实体识别(NER)、场景识别、意图识别、槽位提取、情感分析等。

        对话管理DM:DM控制着人机对话的状态,他的输入为当前的用户输入(经过语义理解之后的内容),输出为下一步的系统行为和更新后的状态。DM中一般需要负责:BOT的分发、BOT结果排序、对话状态维护(DST),多轮会话一般就是在这里控制的,后续的文章中会详细讲解DM和多轮对话的实现。

        技能工具箱:这里存放着支持的各个技能,比如:播放音乐(play_music)、查询天气(weather_forecast)、闹钟操作(operate_alarm)等,这里的技能指的是客户端可以执行的内容,是语义内容经过技能封装、知识填充、知识校验等操作后生成的结构化的数据,客户端拿到后可以直接执行。        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇