Especifica los niveles de confianza para la exactitud a nivel de palabra

Puedes especificar que Cloud Speech-to-Text indique un valor de exactitud, o nivel de confianza, para las palabras individuales de una transcripción.

Confianza a nivel de palabra

Cuando Cloud Speech-to-Text transcribe un clip de audio, también mide el grado de exactitud de la respuesta. La respuesta que se envía desde Cloud STT indica el nivel de confianza de toda la solicitud de transcripción como un número entre 0.0 y 1.0. En la siguiente muestra de código, se presenta un ejemplo del valor de nivel de confianza que devuelve Cloud STT.

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.96748614
        }
      ]
    }
  ]
}

Además del nivel de confianza de toda la transcripción, Cloud STT también puede proporcionar el nivel de confianza de palabras individuales en la transcripción. Así, la respuesta incluye los detalles de WordInfo en la transcripción, lo que indica el nivel de confianza de las palabras individuales, como se muestra en el ejemplo siguiente.

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.98360395,
          "words": [
            {
              "startOffset": "0s",
              "endOffset": "0.300s",
              "word": "how",
              "confidence": SOME NUMBER
            },
            ...
          ]
        }
      ]
    }
  ]
}

Habilita la confianza a nivel de palabra en una solicitud

En el siguiente fragmento de código, se muestra cómo habilitar la confianza a nivel de palabra en una solicitud de transcripción para Cloud Speech-to-Text con archivos locales y remotos.

Usa un archivo local

REST

Consulta el extremo de la API de speech:recognize para obtener todos los detalles.

Para realizar un reconocimiento de voz síncrono, haz una solicitud POST y proporciona el cuerpo de la solicitud apropiado. A continuación, se muestra un ejemplo de una solicitud POST con curl. En el ejemplo, se usa la Google Cloud CLI para generar un token de acceso. Para obtener instrucciones sobre cómo instalar la gcloud CLI, consulta la guía de inicio rápido.

En el ejemplo siguiente, se muestra cómo enviar una solicitud POST con curl, en la que el cuerpo de la solicitud habilita la confianza a nivel de palabra.

curl -s -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    https://speech.googleapis.com/v2/projects/{project}/locations/global/recognizers/{recognizers}:recognize \
    --data '{
    "config": {
        "features": {
            "enableWordTimeOffsets": true,
            "enableWordConfidence": true
        }
    },
    "uri": "gs://cloud-samples-tests/speech/brooklyn.flac"
}' > word-level-confidence.txt

Si la solicitud es exitosa, el servidor devuelve un código de estado HTTP 200 OK y la respuesta en formato JSON, que se guarda en un archivo llamado word-level-confidence.txt.

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.98360395,
          "words": [
            {
              "startOffset": "0s",
              "endOffset": "0.300s",
              "word": "how",
              "confidence": 0.98762906
            },
            {
              "startOffset": "0.300s",
              "endOffset": "0.600s",
              "word": "old",
              "confidence": 0.96929157
            },
            {
              "startOffset": "0.600s",
              "endOffset": "0.800s",
              "word": "is",
              "confidence": 0.98271006
            },
            {
              "startOffset": "0.800s",
              "endOffset": "0.900s",
              "word": "the",
              "confidence": 0.98271006
            },
            {
              "startOffset": "0.900s",
              "endOffset": "1.100s",
              "word": "Brooklyn",
              "confidence": 0.98762906
            },
            {
              "startOffset": "1.100s",
              "endOffset": "1.500s",
              "word": "Bridge",
              "confidence": 0.98762906
            }
          ]
        }
      ],
      "languageCode": "en-us"
    }
  ]
}

Python

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud STT, consulta Bibliotecas cliente de Cloud STT. Para obtener más información, consulta la documentación de referencia de la API de Cloud STT para Python.

Para autenticarte en Cloud STT, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

from google.cloud import speech_v1p1beta1 as speech

client = speech.SpeechClient()

speech_file = "resources/Google_Gnome.wav"

with open(speech_file, "rb") as audio_file:
    content = audio_file.read()

audio = speech.RecognitionAudio(content=content)

config = speech.RecognitionConfig(
    encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code="en-US",
    enable_word_confidence=True,
)

response = client.recognize(config=config, audio=audio)

for i, result in enumerate(response.results):
    alternative = result.alternatives[0]
    print("-" * 20)
    print(f"First alternative of result {i}")
    print(f"Transcript: {alternative.transcript}")
    print(
        "First Word and Confidence: ({}, {})".format(
            alternative.words[0].word, alternative.words[0].confidence
        )
    )

return response.results