创建基于 Web 的具有语音输入和输出的聊天机器人

本文已纳入 Watson Assistant 学习路径。参阅 Watson Assistant 页面,了解有关功能和入门的更多信息。

摘要

众所周知,聊天机器人是 AI 改善客户服务和节省成本的答案。聊天机器人可在许多用户界面和输入形式中使用。先前的 Code Pattern 已经展示了如何使用各种媒介(例如 Slack、Web 界面和 Facebook Messenger)来创建聊天机器人。在本 Code Pattern 中,我们还是使用 Web 界面,但使用的是语音输入和输出,而不是使用文本输入。本 Code Pattern 将使用 Watson Assistant 来控制对话,并使用 Watson Speech to TextWatson Text to Speech 服务来处理语音识别和回放。

概览

我们创建了几个使用不同用户输入形式的 Code Pattern,例如 Watson Assistant 和 Slack Code Pattern(使用文本和 Slack 界面)和 Facebook Messenger 和 Watson 教程(使用文本和 Facebook)。本 Code Pattern 将展示一个基于 Web 的应用程序,该应用程序会使用 Watson Text to Speech、Watson Speech to Text 和 Watson Assistant。 我们将使用语音输入和音频输出,并使用 Web 浏览器作为界面。

将使用 jQuery 构建主要网站,并使用 Python flask 进行 API 调用。将创建一个 WebSocket 连接以调用各种 Watson 服务,并且将使用保险对话样本作为对话。

学完本 Code Pattern 后,您应该掌握如何:

  • 使用 WebSocket 连接进行 Watson Speech To Text 调用
  • 进行 Watson Text to Speech REST API 调用
  • 使用 REST API 来与 Watson Assistant 传递消息
  • 在 Web 应用程序中集成 Watson Speech To Text、Watson Text To Speech 和 Watson Assistant

流程

voice chatbot

  1. 用户在浏览器中选择麦克风选项并讲话。
  2. 通过 WebSocket 连接来将语音传递到 Watson Speech to Text。
  3. 提取来自 Watson Speech to Text 的文本并将其作为输入发送到 Watson Assistant。
  4. 将 Watson Assistant 的响应传递到 Watson Text to Speech。
  5. 将音频输出发送到 Web 应用程序并回放给用户,而 UI 也显示相同的文本。

操作说明

参阅 README,获取详细的操作说明。这些步骤解释了如何:

  1. 克隆存储库。
  2. 创建服务并部署 Web 应用程序。
  3. 上传 Watson Assistant 工作空间。
  4. 配置环境变量。

结束语

本 Code Pattern 展示了如何在聊天机器人中使用 Watson Assistant 来控制对话,并使用 Watson Speech to Text 和 Watson Text to Speech 服务来处理语音识别和回放。本 Code Pattern 已纳入 Watson Assistant 学习路径。要继续学习并了解更多 Watson Assistant 功能,请查看下一个 Code Pattern:创建银行业务聊天机器人

本文翻译自:Create a web-based chatbot with voice input and output(2018-09-17)