使用 OCI Speech 转录自然语言

Oracle Cloud Infrastructure (OCI) Speech 是云原生 AI 服务之一。您可以使用语音服务将音频文件转换为以 JSON 格式存储的可读文本。

语音通过允许您轻松地将包含人类语音的音频文件转换为高度准确的文本转录来利用口语的力量。该服务是 OCI 本机应用,您可以使用 Web 应用、REST API、SDK、CLI 或控制台访问。

语音使用自动语音识别 (ASR) 技术来提供视频和音频文件的语法正确转录。语音处理低保真音频录音,并转录具有挑战性的录音,如会议或呼叫中心呼叫。使用语音功能,您可以将存储在 OCI 对象存储或数据资产中的文件转换为准确、规范化、带时间戳且经过亵渎过滤的文本。下游服务提供了此功能。例如,您可以使用语言和预测等其他服务来分析拜访情绪、定位广告内容、为媒体文件夹编制索引以及使用 Oracle Cloud Infrastructure Lakehouse 创建媒体搜索引擎。

体系结构

此架构演示了典型系统中以 OCI Speech 为核心的各个组件之间的关系。

此体系结构可以应用于多种类型的应用程序。例如,Web 应用程序可以记录服务中心代表与报告问题的客户的对话。对话的音频文件将保存到 OCI 对象存储中,该文件为新音频文件发出事件。OCI Events 触发 OCI Functions 应用,该应用使用对 OCI Speech 服务的 REST API 调用创建转录请求。Speech 承担工作,从 OCI Object Storage 检索音频文件,将文件馈送至预先训练的声学和语言模型,并将输出传输到 JSON 文本文件。JSON 文件存储在 OCI Object Storage 中。OCI Object Storage 可检测新的文本文件并发出事件。OCI 事件会触发 OCI 函数来提取文本文件并将文本和元数据上载到 MySQL 数据库。OCI 事件还会在成绩单准备就绪时触发 OCI 通知发布消息,以通知订阅事件的 Web 应用程序。Web 应用程序在服务中心代表创建的票证中显示记录。

(可选)Web 应用程序可以检索音频文件元数据,例如音频文件持续时间、大小、开始日期和时间,并将其保存在服务中心请求单中。

OCI Object Storage 中存储的音频和文本文件可以使用 Oracle Cloud Infrastructure Lakehouse (图中未显示)输入到下游分析工具中。

下图说明了此引用体系结构。

下面是 architecture-ai-speech.png 的说明
插图 architecture-ai-speech.png 的说明

architecture-ai-speech-oracle.zip

该体系结构具有以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。

  • 可用性域

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共享电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。

  • 容错域

    容错域是可用性域内的一组硬件和基础设施。每个可用性域都有三个容错域,它们具有独立的电源和硬件。在多个容错域之间分配资源时,应用可以承受容错域内的物理服务器故障、系统维护和电源故障。

  • 虚拟云网络 (VCN) 和子网

    VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • 区间

    区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源、控制对资源的访问并设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定谁可以访问资源以及可以执行哪些操作。

  • 负载平衡器

    Oracle Cloud Infrastructure Load Balancing 服务提供从单个入口点到后端多个服务器的自动流量分配。

  • 安全列表

    对于每个子网,可以创建安全规则来指定必须允许进出子网的通信的源、目标和类型。

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) 是 Oracle Cloud Infrastructure (OCI) 和 Oracle Cloud Applications 的访问控制层。通过 IAM API 和用户界面,您可以管理身份域和身份域中的资源。每个 OCI IAM 身份域代表一个独立的身份和访问管理解决方案或不同的用户群体。

  • 对象存储

    通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地存储数据,然后直接从互联网或云平台检索数据。您可以在不降低性能或服务可靠性的情况下扩展存储。将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。

  • 函数

    Oracle Cloud Infrastructure Functions 是一个完全托管的多租户、高度可扩展的按需函数即服务 (FaaS) 平台。它由 Fn Project 开源引擎提供支持。使用函数可以部署代码,也可以直接调用代码或触发代码以响应事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。

  • 事件

    Oracle Cloud Infrastructure 服务发出事件,这些事件是描述资源更改的结构化消息。发出事件以进行创建、读取、更新或删除 (CRUD) 操作、资源生命周期状态更改以及影响云资源的系统事件。

  • 监视

    Oracle Cloud Infrastructure Monitoring 服务使用指标主动和被动监视云资源,监视资源和警报,以便在这些指标满足警报指定的触发器时通知您。

  • 审计

    Oracle Cloud Infrastructure Audit 服务将对所有受支持的 Oracle Cloud Infrastructure 公共应用编程接口 (API) 端点的调用自动记录为日志事件。目前,所有服务都支持 Oracle Cloud Infrastructure Audit 日志记录。

  • 通知

    Oracle Cloud Infrastructure Notifications 服务通过发布 - 订阅模式向分布式组件广播消息,为托管在 Oracle Cloud Infrastructure 上的应用提供安全、高度可靠、低延迟和持久的消息。

  • Oracle Cloud Infrastructure Speech

    Oracle Cloud Infrastructure Speech 是一项新的 AI 服务,它使用自动语音识别 (ASR) 将语音转换为文本。

  • Oracle MySQL Database Service

    Oracle MySQL Database Service 是完全托管的 Oracle Cloud Infrastructure (OCI) 数据库服务,可帮助开发人员快速开发和部署安全的云原生应用。Oracle MySQL Database Service 针对 OCI 专有功能进行了优化,由 OCI 和 MySQL 工程团队 100% 构建、管理和支持。

    Oracle MySQL Database Service 具有集成的高性能分析引擎 (HeatWave),可直接对可操作的 MySQL 数据库运行复杂的实时分析。

推荐

您的要求可能与此处描述的体系结构不同。使用以下建议作为起点。

  • VCN

    创建 VCN 时,请根据您计划附加到 VCN 中子网的资源数量,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。

    选择不与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure 、您的内部部署数据中心或其他云提供商中)重叠的 CIDR 块。

    创建 VCN 后,您可以更改、添加和删除其 CIDR 块。

    设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到可以用作安全边界的同一子网。

  • 安全

    使用 Oracle Cloud Guard 主动监视和维护 Oracle Cloud Infrastructure 中资源的安全性。Cloud Guard 使用检测器配方,您可以定义这些配方来检查资源是否存在安全漏洞,以及监视操作员和用户是否有风险活动。检测到任何配置错误或不安全活动时,Cloud Guard 会根据您可以定义的响应器配方推荐更正操作并协助执行这些操作。

    对于需要最高安全性的资源,Oracle 建议您使用安全区域。安全区域是与 Oracle 定义的基于优秀实践的安全策略配方关联的区间。例如,安全区域中的资源必须无法从公共 Internet 访问,并且必须使用客户管理的密钥对它们进行加密。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure 会根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。

  • Cloud Guard

    克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定哪种类型的安全违规会生成警告,以及允许对它们执行哪些操作。例如,您可能希望检测可见性设置为公共的对象存储桶。

    在租户级别应用 Cloud Guard,以涵盖最广泛的范围并减轻维护多个配置的管理负担。

    还可以使用“托管列表”功能将某些配置应用于检测器。

  • 安全区域

    克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定哪种类型的安全违规会生成警告,以及允许对它们执行哪些操作。例如,您可能希望检测可见性设置为公共的对象存储桶。

    在租户级别应用 Cloud Guard,以涵盖最广泛的范围并减轻维护多个配置的管理负担。

    还可以使用“托管列表”功能将某些配置应用于检测器。

  • 负载平衡器带宽

    创建负载平衡器时,您可以选择提供固定带宽的预定义配置,也可以指定定制的弹性配置,在其中设置带宽范围并允许服务根据流量模式自动扩展带宽。通过任一方法,您都可以在创建负载平衡器后随时更改配置。

注意事项

  • 性能

    使用 Oracle 云原生服务—事件、函数、通知和 AI 语音来部署可根据工作负载自动扩展的无服务器应用。这些服务由 Oracle 管理。

    AI 语音作业以严格的先入先出方式进行处理。您可以在租户级别创建最多包含 10,000 个任务的作业队列。如果提交的任务超过最大任务数,则该作业将失败。作业将保留 90 天。

  • 访问权限

    OCI Speech 支持通过 OCI 控制台、Java 和 Python SDK 客户端和 OCI CLI 进行访问。在测试时,建议使用 CLI 工具或控制台。

  • 可用性

    在此示例中,数据库不是高可用性数据库。对于关键应用,请考虑在高可用性模式下使用 3 个副本运行 MySQL Database Service。

  • 成本

    使用 Oracle 云原生服务—事件、函数、通知和 AI 语音来部署不产生固定成本的无服务器应用。只有在使用服务请求时,您才需要为其付费。

确认

  • 授权者Wei Han, Zaid Al Qaddoumi
  • 贡献者Sreya Dutta

更改日志

此日志列出了重大更改: