Fonction ML.TRANSCRIBE

Ce document décrit la fonction ML.TRANSCRIBE, qui vous permet de transcrire des fichiers audio à partir d'une table d'objets.

Syntaxe

ML.TRANSCRIBE(
  MODEL `project_id.dataset.model_name`,
  TABLE `project_id.dataset.object_table`,
  [RECOGNITION_CONFIG => ( JSON 'recognition_config')]
)

Arguments

ML.TRANSCRIBE utilise les arguments suivants :

  • project_id : ID de votre projet

  • dataset : ensemble de données BigQuery contenant le modèle.

  • model : nom d'un modèle distant avec une valeur REMOTE_SERVICE_TYPE de CLOUD_AI_SPEECH_TO_TEXT_V2.

  • object_table : nom de la table d'objets contenant les URI des fichiers audio.

    Les fichiers audio de la table d'objets doivent être d'un type compatible. Une erreur est renvoyée pour toute ligne contenant des fichiers audio d'un type non compatible.

  • recognition_config : valeur STRING contenant une ressource RecognitionConfig au format JSON.

    Si un outil de reconnaissance a été spécifié pour le modèle distant à l'aide de l'option SPEECH_RECOGNIZER, vous pouvez éventuellement spécifier une valeur recognition_config pour remplacer la configuration par défaut de l'outil de reconnaissance spécifié.

    Cet argument est obligatoire si aucun outil de reconnaissance n'a été spécifié pour le modèle distant à l'aide de l'option SPEECH_RECOGNIZER.

Sortie

ML.TRANSCRIBE affiche les colonnes suivantes :

  • transcripts : valeur STRING contenant les transcriptions du traitement des fichiers audio.
  • ml_transcribe_result : valeur JSON contenant le résultat du processeur de documents de l'API Document AI.
  • ml_transcribe_result_status : valeur STRING contenant l'état de réponse de l'API pour la ligne correspondante. Cette valeur est vide si l'opération a réussi.
  • Les colonnes de la table d'objets.

Quotas

Consultez la page Quotas et limites des fonctions du service Cloud AI.

Emplacement

ML.TRANSCRIBE doit s'exécuter dans la même région que le modèle distant auquel la fonction fait référence. Vous ne pouvez créer des modèles basés sur Speech-to-Text que dans les emplacements suivants :

  • asia-northeast1
  • asia-south1
  • asia-southeast1
  • australia-southeast1
  • eu
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • northamerica-northeast1
  • us
  • us-central1
  • us-east1
  • us-east4
  • us-west1

Limites

La fonction ne peut pas traiter les fichiers audio d'une durée supérieure à une minute. Toute ligne contenant ce type de fichier renvoie une erreur.

Exemple

L'exemple suivant transcrit les fichiers audio représentés par la table audio :

Créer le modèle :

# Create model
CREATE OR REPLACE MODEL
`myproject.mydataset.transcribe_model`
REMOTE WITH CONNECTION `myproject.myregion.myconnection`
OPTIONS (remote_service_type = 'CLOUD_AI_SPEECH_TO_TEXT_V2',
speech_recognizer = 'projects/project_number/locations/recognizer_location/recognizer/recognizer_id');

Transcrivez les fichiers audio sans remplacer la configuration par défaut de l'outil de reconnaissance :

SELECT *
FROM ML.TRANSCRIBE(
  MODEL `myproject.mydataset.transcribe_model`,
  TABLE `myproject.mydataset.audio`
);

Transcrivez les fichiers audio et remplacez la configuration par défaut de l'outil de reconnaissance :

SELECT *
FROM ML.TRANSCRIBE(
  MODEL `myproject.mydataset.transcribe_model`,
  TABLE `myproject.mydataset.audio`,
  recognition_config => ( JSON '{"language_codes": ["en-US" ],"model": "telephony","auto_decoding_config": {}}')
);

Le résultat ressemble à ce qui suit :

transcripts ml_transcribe_result ml_transcribe_status uri
OK Google diffuse Stranger Things depuis Netflix sur ma télévision. D'accord, diffuser Stranger Things depuis Netflix sur la télévision de la maison connectée, et c'est juste... {"metadata":{"total_billed_duration":{"seconds":56}},"results":[{"alternatives":[{"confidence":0.738729,"transcript"... gs://mybucket/audio_files

Étapes suivantes