Uso de OCI Speech para transcribir el lenguaje natural

Oracle Cloud Infrastructure (OCI) Speech es uno de los varios servicios de IA nativos en la nube. Puede utilizar el servicio Speech para convertir archivos de audio en texto legible que se almacena en formato JSON.

El habla aprovecha el poder del lenguaje hablado al permitirle convertir fácilmente archivos de audio que contienen voz humana en transcripciones de texto altamente precisas. El servicio es una aplicación nativa de OCI a la que puede acceder mediante una aplicación web, una API de REST, un SDK, una CLI o una consola.

El habla utiliza la tecnología de reconocimiento automático de voz (ASR) para proporcionar una transcripción gramaticalmente correcta de archivos de vídeo y audio. El habla maneja grabaciones de audio de baja fidelidad y transcribe grabaciones desafiantes como reuniones o llamadas al centro de llamadas. Con Speech, puede convertir los archivos almacenados en OCI Object Storage o un activo de datos en texto preciso, normalizado, con registro de hora y filtrado por palabras malsonantes. Esta función está disponible con los servicios descendentes. Por ejemplo, puede utilizar servicios adicionales como el idioma y la previsión para analizar la percepción de las llamadas, el contenido de destino para la publicidad, indexar las carpetas de medios y crear un motor de búsqueda de medios mediante Oracle Cloud Infrastructure Lakehouse.

Arquitectura

Esta arquitectura demuestra la relación entre los distintos componentes de un sistema típico que tiene OCI Speech como núcleo.

Esta arquitectura se puede aplicar a muchos tipos de aplicaciones. Por ejemplo, una aplicación web puede registrar la conversación de un representante del servicio de ayuda con un cliente que informa de un problema. El archivo de audio de la conversación se guarda en OCI Object Storage, que emite eventos para nuevos archivos de audio. OCI Events dispara una aplicación de OCI Functions que crea una solicitud de transcripción mediante una llamada de API de REST al servicio OCI Speech. Speech realiza el trabajo, recupera el archivo de audio de OCI Object Storage, alimenta el archivo en modelos acústicos y de lenguaje previamente entrenados y transfiere la salida a un archivo de texto JSON. El archivo JSON se almacena en OCI Object Storage. OCI Object Storage detecta el nuevo archivo de texto y emite un evento. OCI Events dispara OCI Functions para extraer el archivo de texto y cargar el texto y los metadatos en una base de datos MySQL. OCI Events también dispara OCI Notifications para publicar un mensaje cuando la transcripción esté lista, lo que notifica a la aplicación web que se suscribe al evento. La aplicación web muestra la transcripción en el ticket que creó el representante del servicio de ayuda.

De manera opcional, la aplicación web puede recuperar metadatos de archivos de audio, como la duración, el tamaño, la fecha y la hora de inicio del archivo de audio, y guardarlo en el ticket del servicio de ayuda.

Los archivos de audio y texto almacenados en OCI Object Storage se pueden introducir en herramientas analíticas descendentes mediante Oracle Cloud Infrastructure Lakehouse (no se muestra en el diagrama).

El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de Architecture-ai-speech.png:
Descripción de la ilustración architecture-ai-speech.png

arquitectura-ai-habla-oracle.zip

La arquitectura tiene los siguientes componentes:

  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlos (entre países e incluso continentes).

  • Dominios de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por tanto, un fallo en un dominio de disponibilidad no debería afectar a los otros dominios de disponibilidad de la región.

  • Dominios de errores

    Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad consta de tres dominios de errores con una potencia y un hardware independientes. Cuando distribuye recursos en varios dominios de errores, las aplicaciones pueden tolerar fallos en el servidor físico, el mantenimiento del sistema y fallos de alimentación dentro de un dominio de errores.

  • Subredes y red virtual en la nube (VCN)

    Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan el control de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

  • Compartimento

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar los recursos en Oracle Cloud, controlar el acceso a los recursos y definir cuotas de uso. Para controlar el acceso a los recursos de un compartimento determinado, debe definir políticas que especifiquen quién puede acceder a los recursos y qué acciones pueden realizar.

  • Equilibrador de carga

    El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada del tráfico desde un único punto de entrada a varios servidores en el backend.

  • Lista de seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) es el plano de control de acceso para Oracle Cloud Infrastructure (OCI) y Oracle Cloud Applications. La API de IAM y la interfaz de usuario le permiten gestionar los dominios de identidad y los recursos del dominio de identidad. Cada dominio de identidad de OCI IAM representa una solución de gestión de identidad y acceso independiente o una población de usuarios diferente.

  • Object Storage

    Object Storage proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido enriquecido, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin experimentar ninguna degradación del rendimiento ni de la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento de acceso directo al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "frío" que conserva durante largos períodos de tiempo y al que rara vez accede.

  • Functions

    Oracle Cloud Infrastructure Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multicliente, altamente escalable y bajo demanda. Está alimentado por el motor de origen abierto Fn Project. Las funciones le permiten desplegar el código y llamarlo directamente o dispararlo en respuesta a eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.

  • Eventos

    Los servicios de Oracle Cloud Infrastructure emiten eventos, que son mensajes estructurados que describen los cambios en los recursos. Los eventos se emiten para operaciones de creación, lectura, actualización o supresión (CRUD), cambios de estado del ciclo de vida de los recursos y eventos del sistema que afectan a los recursos en la nube.

  • Monitoring

    El servicio Oracle Cloud Infrastructure Monitoring supervisa de forma activa y pasiva los recursos en la nube mediante métricas para supervisar los recursos y las alarmas a fin de notificarle cuando estas métricas cumplan los disparadores especificados por la alarma.

  • Auditoría

    El servicio Oracle Cloud Infrastructure Audit registra automáticamente las llamadas a todos los puntos finales de la interfaz pública de programación de aplicaciones (API) de Oracle Cloud Infrastructure soportados como eventos de log. Actualmente, todos los servicios soportan el registro mediante Oracle Cloud Infrastructure Audit.

  • Notifications

    El servicio Oracle Cloud Infrastructure Notifications transmite mensajes a componentes distribuidos a través de un patrón de publicación y suscripción, lo que permite que los mensajes dirigidos a aplicaciones alojadas en Oracle Cloud Infrastructure sean seguros, altamente fiables, duraderos y de baja latencia.

  • Oracle Cloud Infrastructure Speech

    Oracle Cloud Infrastructure Speech es un nuevo servicio de IA que utiliza el reconocimiento automático de voz (ASR) para convertir la voz en texto.

  • Oracle MySQL Database Service

    Oracle MySQL Database Service es un servicio de base de datos de Oracle Cloud Infrastructure (OCI) totalmente gestionado que permite a los desarrolladores desarrollar e implementar rápidamente aplicaciones nativas seguras en la nube. Optimizado y disponible exclusivamente en OCI, Oracle MySQL Database Service está 100% creado, gestionado y soportado por los equipos de ingeniería de OCI y MySQL.

    Oracle MySQL Database Service cuenta con un motor de análisis integrado de alto rendimiento (HeatWave) para ejecutar sofisticados análisis en tiempo real directamente en una base de datos MySQL operativa.

Recomendaciones

Los requisitos pueden diferir de la arquitectura que se describe aquí. Utilice las siguientes recomendaciones como punto de partida.

  • VCN

    Al crear una VCN, determine el número de bloques de CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.

    Seleccione bloques de CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) en la que desee configurar conexiones privadas.

    Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques de CIDR.

    Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.

  • Seguridad

    Utilice Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure de manera proactiva. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de deficiencias de seguridad y para supervisar a los operadores y usuarios en busca de actividades de riesgo. Cuando se detecta cualquier actividad no segura o de configuración incorrecta, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, según las recetas de responsable de respuesta que pueda definir.

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, los recursos de una zona de seguridad no deben ser accesibles desde la red Internet pública y se deben cifrar mediante claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con respecto a las políticas de la receta de zona de seguridad y deniega las operaciones que violan cualquiera de las políticas.

  • Cloud Guard

    Clone y personalice las recetas por defecto proporcionadas por Oracle para crear recetas personalizadas de detector y responsable de respuesta. Estas recetas permiten especificar qué tipo de violaciones de seguridad generan una advertencia y qué acciones se pueden realizar en ellas. Por ejemplo, puede que desee detectar cubos de Object Storage que tengan la visibilidad definida en público.

    Aplique Cloud Guard en el nivel de arrendamiento para abarcar el ámbito más amplio y reducir la carga administrativa que supone mantener varias configuraciones.

    También puede utilizar la función Lista gestionada para aplicar determinadas configuraciones a los detectores.

  • Security Zones

    Clone y personalice las recetas por defecto proporcionadas por Oracle para crear recetas personalizadas de detector y responsable de respuesta. Estas recetas permiten especificar qué tipo de violaciones de seguridad generan una advertencia y qué acciones se pueden realizar en ellas. Por ejemplo, puede que desee detectar cubos de Object Storage que tengan la visibilidad definida en público.

    Aplique Cloud Guard en el nivel de arrendamiento para abarcar el ámbito más amplio y reducir la carga administrativa que supone mantener varias configuraciones.

    También puede utilizar la función Lista gestionada para aplicar determinadas configuraciones a los detectores.

  • Ancho de banda de equilibrador de carga

    Al crear el equilibrador de carga, puede seleccionar una unidad predefinida que proporcione un ancho de banda fijo o especificar una unidad flexible personalizada en la que defina un rango de ancho de banda y permita al servicio escalar el ancho de banda automáticamente en función de los patrones de tráfico. Con cualquier enfoque, puede cambiar la unidad en cualquier momento después de crear el equilibrador de carga.

Consideraciones

  • Rendimiento

    Utilice los servicios nativos en la nube de Oracle: Events, Functions, Notifications y AI Speech para desplegar aplicaciones sin servidor que se escalen automáticamente en función de la carga de trabajo. Los servicios los gestiona Oracle.

    El trabajo de voz de IA se procesa de una manera estricta, primero en salir. Puede crear una cola de trabajos con un máximo de 10 000 tareas en el nivel de inquilino. Si ejecuta un trabajo que supera el máximo de tareas, ese trabajo falla. Los trabajos se conservan durante 90 días.

  • Acceso

    OCI Speech soporta el acceso a través de la consola de OCI, el cliente SDK de Java y Python y OCI CLI. Al probar, se recomienda usar la consola o la herramienta de CLI.

  • Disponibilidad

    En este ejemplo, la base de datos no tiene alta disponibilidad. Para las aplicaciones esenciales, considere la posibilidad de ejecutar MySQL Database Service en modo de alta disponibilidad con 3 réplicas.

  • Costo

    Utilice los servicios nativos en la nube de Oracle: Events, Functions, Notifications y AI Speech para desplegar la aplicación sin servidor que no incurra en costo fijo. Solo paga por la solicitud de servicio cuando la usa.

Confirmaciones

  • Autores: Wei Han, Zaid Al Qaddoumi
  • Contribuyentes: Sreya Dutta

Log de Cambios

Este log muestra cambios significativos: