虽然从普通用户眼中,使用语音向天猫精灵发起指令,然后收到后者的语音回复,这个流程似乎很简单,但背后实际上有着人工智能中 ASR(语音识别)、NLP(自然语言处理)、TTS(语音合成)等自然语言处理技术的参与和整合。
我们先来看一个典型的用户通过语音同天猫精灵交互的流程图。
-
用户用语音唤醒天猫精灵,后者接收到用户语音,上传到智能应用平台。
-
平台使用 ASR(音频转文字)和 NLP(自然语言处理)技术,智能解析出用户发出语音包含的意图(通俗的说,即用户当前期望天猫精灵完成什么样的操作)。平台会自动将当前用户指令,匹配到开发人员创建的对应的技能和意图去。具体的匹配过程,就是将平台所有解析到的参数信息,通过 HTTPS 请求访问开发者提供的服务接口。
-
开发者负责实现的服务(托管在自己的应用服务器或者阿里云 Serverless 环境),接收到平台发送的请求参数,执行业务逻辑(比如天气预报查询,智力题,语音游戏等),并组装回复结果。
-
智能应用平台收到开发者服务执行完业务逻辑返回的响应数据后,使用 TTS(文字转音频)合成音频,并将音频推送回天猫精灵。
-
天猫精灵将收到的音频通过麦克风播报出来,本轮同用户的交互就完成了。
分析这个交互场景,不难发现,需要开发人员动手操作的流程包含以下两个方面:
-
在 AliGenie 技能应用平台上创建新的技能和意图,用于接收用户通过语音发送过来的请求。
-
应用开发人员自己选择在应用服务器还是 Serveless 运行环境里实现新的技能需要完成的业务逻辑编写。