Utiliser le service de parole pour OCI pour transcrire le langage naturel

Le discours sur Oracle Cloud Infrastructure (OCI) est l'un des nombreux services d'IA en nuage natifs. Vous pouvez utiliser le service Speech pour convertir des fichiers audio en texte lisible stocké dans le format JSON.

La parole exploite la puissance de la langue parlée en vous permettant de convertir facilement des fichiers audio contenant de la parole humaine en transcriptions de texte très précises. Le service est une application native OCI à laquelle vous pouvez accéder à l'aide d'une application Web, d'une API REST, d'une trousse SDK, d'une interface de ligne de commande ou d'une console.

Speech utilise la technologie de reconnaissance vocale automatique (ASR) pour fournir une transcription grammaticalement correcte des fichiers vidéo et audio. Speech gère les enregistrements audio de faible fidélité et transcrit les enregistrements difficiles tels que les réunions ou les appels au centre d'appels. À l'aide de Speech, vous pouvez transformer les fichiers stockés dans le stockage d'objets OCI ou une ressource de données en texte exact, normalisé, horodaté et filtré par profanité. Cette fonctionnalité est disponible avec les services en aval. Par exemple, vous pouvez utiliser des services supplémentaires tels que la langue et les prévisions pour analyser le sentiment des appels, cibler le contenu à des fins publicitaires, indexer vos dossiers de médias et créer un moteur de recherche de médias à l'aide d'Oracle Cloud Infrastructure Lakehouse.

Architecture

Cette architecture démontre la relation entre les différents composants d'un système typique qui a OCI Speech à sa base.

Cette architecture peut s'appliquer à de nombreux types d'applications. Par exemple, une application Web peut enregistrer la conversation d'un représentant du centre d'assistance avec un client qui signale un problème. Le fichier audio de la conversation est enregistré dans le stockage d'objets OCI qui émet des événements pour les nouveaux fichiers audio. Le service Événements OCI déclenche une application du service Fonctions OCI qui crée une demande de transcription à l'aide d'un appel d'API REST pour le service de reconnaissance de la parole OCI. La parole prend la tâche, extrait le fichier audio du stockage d'objets OCI, alimente le fichier dans des modèles acoustiques et linguistiques préentraînés et transfère la sortie dans un fichier texte JSON. Le fichier JSON est stocké dans le stockage d'objets OCI. Le service Stockage d'objets OCI détecte le nouveau fichier texte et émet un événement. Le service Événements OCI déclenche le service Fonctions OCI pour extraire le fichier texte et charger le texte et les métadonnées dans une base de données MySQL. Le service Événements OCI déclenche également le service Avis OCI pour publier un message lorsque la transcription est prête, qui avise l'application Web qui s'abonne à l'événement. L'application Web affiche la transcription dans le ticket créé par le représentant du service d'assistance.

Facultativement, l'application Web peut récupérer des métadonnées de fichier audio telles que la durée, la taille, la date et l'heure de début du fichier audio, et les enregistrer dans le ticket du service d'assistance.

Les fichiers audio et texte stockés dans le service Stockage d'objets OCI peuvent être alimentés dans des outils d'analyse en aval à l'aide d'Oracle Cloud Infrastructure Lakehouse (non représentés dans le diagramme).

Le diagramme suivant illustre cette architecture de référence.

Description d'architecture-ai-speech.png ci-dessous
Description de l'illustration architecture-ai-speech.png

architecture-discours-oracle.zip

L'architecture comprend les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres, et de grandes distances peuvent les séparer (dans différents pays ou continents).

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Par conséquent, une défaillance d'un domaine de disponibilité ne devrait pas affecter les autres domaines de disponibilité de la région.

  • Domaines d'erreur

    Un domaine d'erreur est un regroupement de matériel et d'infrastructure au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines d'erreur avec une puissance et un matériel indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines d'erreur, vos applications peuvent tolérer les pannes physiques de serveur, la maintenance du système et les pannes d'alimentation au sein d'un domaine d'erreur.

  • Réseau en nuage virtuel (VCN) et sous-réseaux

    Un VCN est un réseau défini par logiciel personnalisable que vous avez configuré dans une région Oracle Cloud Infrastructure. Comme les réseaux en nuage virtuels traditionnels, ils vous offrent un contrôle sur votre environnement de réseau. Un VCN peut disposer de plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • Compartiment

    Les compartiments sont des partitions logiques inter-régions dans une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser vos ressources dans Oracle Cloud, contrôler l'accès aux ressources et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous devez définir des politiques qui spécifient qui peut accéder aux ressources et les actions qui peuvent être exécutées.

  • Équilibreur de charge

    Le service Oracle Cloud Infrastructure Load Balancing permet une répartition automatisée du trafic à partir d'un point d'entrée unique vers plusieurs serveurs dorsaux.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés à entrer et à sortir du sous-réseau.

  • Service de gestion des identités et des accès (GIA)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) est le plan de contrôle d'accès pour Oracle Cloud Infrastructure (OCI) et Oracle Cloud Applications. L'API IAM et l'interface utilisateur vous permettent de gérer les domaines d'identité et les ressources du domaine d'identité. Chaque domaine d'identité IAM OCI représente une solution autonome de gestion des identités et des accès ou une population d'utilisateurs différente.

  • Stockage d'objets

    Le service de stockage d'objets offre un accès rapide à de grandes quantités de données structurées et non structurées de tous types, notamment des sauvegardes de base de données, des données analytiques et du contenu enrichi, comme des images et des vidéos. Vous pouvez stocker des données en toute sécurité, puis les extraire directement à partir d'Internet ou de la plate-forme en nuage. Vous pouvez adapter le stockage sans que la performance ou la fiabilité des services soit affectée. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archives pour le stockage "à froid" que vous retenez pendant de longues périodes et auquel vous accédez rarement.

  • Oracle Functions

    Oracle Cloud Infrastructure Functions est une plate-forme de fonctions-service (FaaS) sur demande, entièrement gérée, multilocataire et hautement évolutive. Il est alimenté par le moteur open source Fn Project. Les fonctions vous permettent de déployer votre code et de l'appeler directement ou de le déclencher en réponse à des événements. Oracle Functions utilise des conteneurs Docker hébergés dans Oracle Cloud Infrastructure Registry.

  • Événements

    Les services Oracle Cloud Infrastructure émettent des événements, qui sont des messages structurés décrivant les modifications apportées aux ressources. Des événements sont émis pour les opérations de création, de lecture, de mise à jour ou de suppression (CRUD), les modifications d'état du cycle de vie des ressources et les événements système qui ont une incidence sur les ressources en nuage.

  • Surveillance

    Le service Oracle Cloud Infrastructure Monitoring surveille activement et passivement vos ressources en nuage à l'aide de mesures pour surveiller les ressources et les alarmes pour vous aviser lorsque ces mesures répondent aux déclencheurs spécifiés par l'alarme.

  • Vérification

    Le service Oracle Cloud Infrastructure Audit enregistre automatiquement les appels à tous les points d'extrémité d'API (interface de programmation d'applications) publiques Oracle Cloud Infrastructure pris en charge en tant qu'événements de journal. Actuellement, tous les services prennent en charge la journalisation par le service Oracle Cloud Infrastructure Audit.

  • Avis

    Le service Oracle Cloud Infrastructure Notifications diffuse des messages vers des composants répartis au moyen d'un modèle de publication-abonnement. Cela permet une livraison sécurisée, hautement fiable, à faible latence et durable des messages pour des applications hébergées sur Oracle Cloud Infrastructure.

  • Oracle Cloud Infrastructure Speech

    Oracle Cloud Infrastructure Speech est un nouveau service d'intelligence artificielle qui utilise la reconnaissance automatique de la parole pour convertir des données vocales en texte.

  • Oracle MySQL Database Service

    Oracle MySQL Database Service est un service de base de données Oracle Cloud Infrastructure (OCI) entièrement géré qui permet aux développeurs de développer et de déployer rapidement des applications natives en nuage sécurisées. Optimisé pour et exclusivement disponible dans OCI, Oracle MySQL Database Service est créé, géré et pris en charge à 100 % par les équipes d'ingénierie OCI et MySQL.

    Oracle MySQL Database Service dispose d'un moteur d'analyse intégré à haute performance (HeatWave) pour exécuter des analyses en temps réel sophistiquées directement sur une base de données opérationnelle MySQL.

Recommandations

Vos exigences peuvent différer de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.

  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher aux sous-réseaux du VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresses IP privées standard.

    Sélectionnez les blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur place ou un autre fournisseur de nuage) auquel vous voulez configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

  • Sécurité

    Utilisez Oracle Cloud Guard pour surveiller et maintenir la sécurité de vos ressources dans Oracle Cloud Infrastructure de manière proactive. Le service de protection d'infrastructure en nuage utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources afin de détecter les faiblesses en matière de sécurité et pour surveiller les opérateurs et les utilisateurs à la recherche d'activités risquées. Lorsqu'une mauvaise configuration ou une activité non sécurisée est détectée, le service de protection d'infrastructure en nuage recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondant que vous pouvez définir.

    Pour les ressources qui nécessitent une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de politiques de sécurité définie par Oracle et basée sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles par l'Internet public et elles doivent être chiffrées à l'aide de clés gérées par le client. Lors de la création et de la mise à jour de ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations en fonction des politiques de la recette de zone de sécurité et refuse les opérations qui violent l'une des politiques.

  • Protection d'infrastructure en nuage

    Cloner et personnaliser les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondant personnalisées. Ces recettes vous permettent de spécifier quel type de violations de sécurité génèrent un avertissement et quelles actions sont autorisées pour elles. Par exemple, vous pouvez détecter des seaux de stockage d'objets dont la visibilité est réglée à Public.

    Appliquez le service de protection d'infrastructure en nuage au niveau de la location pour couvrir la portée la plus large et réduire le fardeau administratif lié à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonction de liste gérée pour appliquer certaines configurations aux détecteurs.

  • Zones de sécurité

    Cloner et personnaliser les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondant personnalisées. Ces recettes vous permettent de spécifier quel type de violations de sécurité génèrent un avertissement et quelles actions sont autorisées pour elles. Par exemple, vous pouvez détecter des seaux de stockage d'objets dont la visibilité est réglée à Public.

    Appliquez le service de protection d'infrastructure en nuage au niveau de la location pour couvrir la portée la plus large et réduire le fardeau administratif lié à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonction de liste gérée pour appliquer certaines configurations aux détecteurs.

  • Bande passante de l'équilibreur de charge

    Lors de la création de l'équilibreur de charge, vous pouvez sélectionner une forme prédéfinie qui fournit une bande passante fixe, ou spécifier une forme flexible personnalisée dans laquelle vous définissez une plage de bande passante et laissez le service ajuster automatiquement la bande passante en fonction des modèles de trafic. Avec l'une ou l'autre approche, vous pouvez modifier la forme en tout temps après avoir créé l'équilibreur de charge.

Points à considérer

  • Performance

    Utilisez les services natifs en nuage d'Oracle - Événements, fonctions, avis et discours sur l'IA pour déployer des applications sans serveur qui s'adaptent automatiquement en fonction de la charge de travail. Les services sont gérés par Oracle.

    Le travail de parole d'IA est traité d'une manière stricte, première à première intention. Vous pouvez créer une file d'attente de travaux avec un maximum de 10 000 tâches au niveau du client. Si vous soumettez une tâche qui dépasse le nombre maximal de tâches, cette tâche échoue. Les emplois sont conservés pendant 90 jours.

  • Access

    Le service de reconnaissance de la parole pour OCI prend en charge l'accès au moyen de la console OCI, du client de trousse SDK Java et Python et de l'interface de ligne de commande OCI. Lors des tests, il est recommandé d'utiliser l'outil d'interface de ligne de commande ou la console.

  • Disponibilité

    Dans cet exemple, la base de données n'est pas hautement disponible. Pour les applications critiques, envisagez d'exécuter le service MySQL Database en mode haute disponibilité avec 3 répliques.

  • Coût

    Utilisez les services natifs en nuage d'Oracle - Événements, fonctions, avis et discours sur l'intelligence artificielle pour déployer l'application sans serveur qui n'entraîne aucun coût fixe. Vous ne payez la demande de service que lorsque vous l'utilisez.

Confirmation

  • Auteurs : Wei Han, Zaid Al Qaddoumi
  • Contributeurs : Sreya Dutta

Journal des modifications

Ce journal répertorie les modifications importantes :