Función ML.TRANSCRIBE

En este documento, se describe la función ML.TRANSCRIBE, que te permite transcribir archivos de audio desde una tabla de objetos.

Sintaxis

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

Argumentos

ML.TRANSCRIBE toma los siguientes argumentos:

  • project_id: ID del proyecto

  • dataset: Es el conjunto de datos de BigQuery que contiene el modelo.

  • model: Es el nombre de un modelo remoto con un REMOTE_SERVICE_TYPE de CLOUD_AI_SPEECH_TO_TEXT_V2.

  • object_table: Es el nombre de la tabla de objetos que contiene los URI de los archivos de audio.

    Los archivos de audio en la tabla de objetos deben ser de un tipo compatible. Se devuelve un error para cualquier fila que contenga un archivo de audio de un tipo no compatible.

  • recognition_config: un valor STRING que contiene un recurso RecognitionConfig en formato JSON.

    Si se especificó un reconocedor para el modelo remoto a través de la opción SPEECH_RECOGNIZER, puedes especificar un valor recognition_config para anular la configuración predeterminada. del reconocedor especificado.

    Este argumento es obligatorio si no se especificó ningún reconocedor para el modelo remoto a través de la opción SPEECH_RECOGNIZER.

Salida

ML.TRANSCRIBE devuelve las siguientes columnas:

  • transcripts: Es un valor STRING que contiene las transcripciones del procesamiento de los archivos de audio.
  • ml_transcribe_result: Es un valor JSON que contiene el resultado del procesador de documentos de la API de Document AI.
  • ml_transcribe_result_status: un valor STRING que contiene el estado de respuesta de la API para la fila correspondiente. Este valor está vacío si la operación se realizó con éxito.
  • Las columnas de la tabla de objetos

Cuotas

Consulta Cuotas y límites de las funciones del servicio de Cloud AI.

Ubicaciones

ML.TRANSCRIBE debe ejecutarse en la misma región que el modelo remoto al que hace referencia la función. Solo puedes crear modelos basados en Speech-to-Text en las siguientes ubicaciones:

  • 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

Limitaciones

La función no puede procesar archivos de audio que duren más de 1 minuto. Cualquier fila que contenga ese archivo devuelve un error.

Ejemplo

En el siguiente ejemplo, se transcriben los archivos de audio representados por la tabla audio:

Crea el modelo:

# 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');

Transcribe los archivos de audio sin anular la configuración predeterminada del reconocedor:

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

Transcribe los archivos de audio y anula la configuración predeterminada del reconocedor:

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": {}}')
);

El resultado es similar al siguiente:

transcripciones ml_transcribe_result ml_transcribir_status uri
Ok Google transmite Stranger Things de Netflix a mi TV. Ok, Stranger Things de Netflix se está reproduciendo en el hogar inteligente de la TV y es... {"metadata":{"total_billed_duration":{"seconds":56}},"results":[{"alternatives":[{"confidence":0.738729,"transcript"... gs://mybucket/audio_files

¿Qué sigue?