对话式人工智能/自然语言处理

语音 AI 技术实现与服务机器人的自然交互

 

从在餐厅点菜、为您提供食物,到与您一起玩扑克,服务机器人正变得越来越普遍。在全球范围内,您可以在医院、机场和零售店找到这些服务机器人。

根据 Gartner 的数据,到 2030 年, 80% 的人每天都会与智能机器人打交道 ,由于智能机器人在智能、社交互动和人类增强能力方面的进步,比现在的不足 10% 有所提高。

准确的 语音人工智能 或语音 AI 接口能够快速理解人类并模仿人类的语音,这对于服务机器人的易用性至关重要。开发人员正在将 自动语音识别 (ASR) 和文本转语音( TTS )与服务机器人集成,以实现基本技能,例如理解和用自然语言回答人类问题。这些基于语音的技术构成了语音 AI 。

这篇文章解释了 ASR 和 TTS 如何在服务机器人应用中使用。我提供了一个演练,说明如何根据机器人的部署位置,使用针对行业特定术语、语言和方言的语音 AI 软件工具定制它们。

为什么要在服务机器人应用中添加语音 AI ?

服务机器人就像元宇宙中的数字人,只是它们在物理世界中运行。这些服务机器人可以帮助支持仓库工作人员,执行危险任务,同时遵循人工指令,甚至可以协助需要非接触式服务的活动。例如,酒店业的服务机器人可以招呼客人、搬运行李和接受订单。

为了让所有这些服务机器人能够以类似人类的方式理解和响应,开发人员必须结合实时运行的高精度语音 AI 。

支持语音 AI 的服务机器人应用示例

今天,服务机器人被广泛应用于各行各业。

餐厅

在线送餐服务在全球范围内越来越受欢迎。为了在不影响质量的情况下处理客户需求的增加,服务机器人可以帮助员工完成诸如接单或亲自为客户送餐等任务。

医院

在医院,服务机器人可以通过处理与患者相关的任务来支持和授权患者护理团队。例如,支持语音 AI 的服务机器人可以与患者进行移情对话,为他们提供陪伴或帮助改善他们的心理健康状况。

环境辅助生活

在环境辅助生活环境中,技术主要用于支持老年人或弱势成年人的独立性和安全性。服务机器人可以协助日常活动,例如将食物托盘从一个位置运送到另一个位置,或者使用智能机器人药片分配器及时管理药物。借助语音 AI 技能,服务机器人还可以提供情感支持。

服务机器人参考体系结构

服务机器人以多种方式帮助企业提高质量保证和提高生产力:

  • 协助一线员工在餐厅或制造环境中完成日常重复任务
  • 帮助客户在零售店找到所需物品
  • 为医生和护士提供医院的患者保健服务

在这些设置中,机器人必须能够准确地处理和理解用户正在转发的内容。这对于可能发生危险或严重伤害的情况尤其如此,例如医院。能够与人类自然对话的服务机器人也有助于为应用程序提供积极的整体用户体验。

Workflow architecture diagram showing how speech inputs map to robot tasks through a dialog manager and back out as text converted to speech.
图 1 。服务机器人设计审查工作流架构

图 1 显示了服务机器人使用语音识别来理解用户在说什么,使用 TTS 以合成语音响应用户。其他组件,如 NLP 和对话管理器,用于帮助服务机器人理解上下文并生成用户问题的适当答案。

此外,机器人任务(如感知、导航和映射)下的模块帮助机器人了解其物理环境并朝正确的方向移动。

服务机器人的语音用户界面

语音用户界面包括两个主要组件:自动语音识别和文本到语音。自动语音识别,也称为语音到文本,是将原始语音转换为文本的过程。文本到语音,也称为语音合成,是将文本转换为类人语音的过程。

开发语音 AI 管道有其自身的挑战。例如,如果服务机器人部署在餐馆中,它应该能够理解 matchacappuccinoristretto 等单词。它甚至应该在嘈杂的环境中转录,因为大多数与这些应用程序交互的人都在开放空间中。

机器人不仅必须理解正在说的话,而且还应该能够正确地说出这些话。同样,每个行业都有自己的术语,这些机器人必须实时理解和响应。

自动语音识别

Diagram showing the models and modules of an end-to-end speech-to-text pipeline (all are listed in the post).
图 2 :语音到文本管道

ASR 管道中每个模型或模块的角色如下:

  • feature extractor 将原始音频转换为谱图或 mel 谱图。
  • acoustic model 获取这些谱图并生成一个矩阵,该矩阵在每个时间步长上具有字符或单词的概率。
  • 解码器和语言模型 将这些字符/单词组合成一份成绩单。
  • 标点和大写模型 在正确的位置应用逗号、句点和问号,以提高可读性。

文本到语音

Diagram showing the models and modules of an end-to-end text-to-speech pipeline (all are listed in the post).
图 3 :文本到语音管道

TTS 管道中每个模型或模块的角色如下:

  • 文本规范化和预处理 阶段,文本被转换为动词形式。例如:“ at 10 : 00 ” – >“ at ten 点钟”
  • text encoding module 将文本转换为编码矢量。
  • pitch predictor 预测你必须给出特定单词的高低,而 duration predictor 预测发音一个字符或单词需要多长时间。
  • spectrogram generator 使用编码向量和其他支持向量作为输入来生成谱图。
  • vocoder model 将频谱图作为输入,并产生类似人类的声音作为输出。

语音 AI 软件套件

NVIDIA 提供各种数据集、工具和 SDK ,帮助您构建端到端语音 AI 管道。根据您所在行业的特定词汇、语言和方言定制管道,并在几毫秒内运行,以实现自然和有趣的交互。

数据集集合

为了使语音 AI 技术民主化和多样化, NVIDIA 与 Mozilla Common Voice ( MCV )合作。 MCV 是一个众包项目,志愿者将语音数据提供给公共数据集,任何人都可以使用该数据集来训练语音技术。您可以从 MCV 下载各种语言音频数据集,以开发 ASR 和 TTS 模型。

NVIDIA 还与 Defined.ai 合作,后者是一家培训数据的一站式商店。您可以下载多个领域、语言和口音的音频和语音训练数据,以用于语音 AI 模型。

预训练模型

NGC 提供了在各种开放和专有数据集上训练的几个预训练模型。所有型号都在 NVIDIA DGX 服务器上进行了数十万小时的优化和培训。

您可以在相关数据集上微调这些高度精确的预训练模型,以进一步提高准确性。

开源工具

如果您正在寻找开源工具, NVIDIA 提供 NeMo ,这是一个用于构建和训练最先进的 AI 语音和语言模型的开源框架。 NeMo 建立在 PyTorch 和 PyTorch Lightning 之上,使您可以轻松开发和集成已经熟悉的模块。

语音 AI SDK

使用 NVIDIA Riva ,一个免费的 GPU 加速语音 AI SDK ,构建和部署完全可定制的实时 AI 管道。 Riva 通过 NGC 提供最先进的、高度精确的预训练模型:

  • 英语
  • 西班牙的
  • 普通话
  • 印地语
  • 俄语
  • 韩国人
  • 德国的
  • 法语
  • 葡萄牙语

日语、阿拉伯语和意大利语即将推出。

使用 NeMo ,您可以 fine-tune these pretrained models 了解特定行业的行话、语言、方言和口音,并优化语音 AI 技能,以便实时运行。

您可以在所有云、本地、边缘和嵌入式设备上部署 Riva 流式或离线技能。

在嵌入式机器人应用程序上运行 Riva 语音 AI 技能

在本节中,我将向您展示如何在嵌入式设备上使用 Riva 运行开箱即用的 ASR 和 TTS 技能。为了获得更好的准确性和性能, Riva 还允许您自定义或微调特定领域数据集上的模型。

您可以在流媒体和离线模式下运行 Riva 语音 AI 技能。首先,在嵌入式系统上设置并运行 Riva 服务器。

先决条件

  • Access to NGC .
    • 按照所有步骤,可以从命令行界面( CLI )运行ngc命令。
  • 访问 NVIDIA Jetson Orin 、 NVIDIA [CVK4] AGX Xavier 或 NVIDIA ZVK4] NX Xavier 。
  • Jetson 平台上的 NVIDIA JetPack 5.0.2 版。

有关详细信息,请参阅 Support Matrix

服务器设置

通过运行以下命令从 NGC 下载脚本:

ngc registry resource download-version nvidia/riva/riva_quickstart_arm64:2.7.0

初始化 Riva 服务器:

bash riva_init.sh

启动 Riva 服务器:

bash riva_start.sh

有关最新步骤的详细信息,请参阅 Quick Start Guide

运行 C ++ ASR 客户端

对于嵌入式, Riva 服务器附带了示例客户端,您可以无缝地使用它们进行推理。

为流式 ASR 运行以下命令:

riva_streaming_asr_client --audio_file=/opt/riva/wav/en-US_sample.wav

有关为您的行业特定术语、语言、方言和口音定制 Riva ASR 模型和管道的更多信息,请参阅 Riva 文档中 Model Overview 上的说明。

运行 C ++ TTS 客户端

对于嵌入式上的 Riva TTS 客户端,运行以下命令以合成音频文件:

riva_tts_client --voice_name=English-US.Female-1 \
--text="Hello, this is a speech synthesizer." \
--audio_file=/opt/riva/wav/output.wav

有关在域特定数据集上定制 TTS 模型和管道的更多信息,请参见 Riva User Guide 中的 Model Overview

开发语音 AI 应用程序的资源

语音人工智能使服务机器人和其他交互式应用程序能够理解细微差别的人类语言并轻松响应。

从呼叫中心的真人到各个行业的服务机器人,它赋予了一切力量。要了解在现实生活中,语音 AI 技能是如何与能取饮料的机器狗相结合的,请参见 Low-code Building Blocks for Speech AI Robotics

或者,浏览 speech AI posts 了解 speech AI conceptsspeech recognition deployment challenges and tipsunique ASR applications

您还可以访问开发人员电子书,如 End-To-End Speech AI pipelines 以了解有关语音 AI 管道中的模型和模块的更多信息, Building Speech AI Applications 以了解如何为应用程序构建和部署实时语音 AI 管道。

 

Tags