Ative a confiança ao nível da palavra

Pode especificar que a conversão de voz em texto indique um valor de precisão ou nível de confiança para palavras individuais numa transcrição.

Confiança ao nível da palavra

Quando a conversão de voz em texto transcreve um clipe de áudio, também mede o grau de precisão da resposta. A resposta enviada do Speech-to-Text indica o nível de confiança para o pedido de transcrição completo como um número entre 0,0 e 1,0. O seguinte exemplo de código mostra um exemplo do valor do nível de confiança devolvido pelo Speech-to-Text.

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

Além do nível de confiança da transcrição completa, o Speech-to-Text também pode fornecer o nível de confiança de palavras individuais na transcrição. A resposta inclui, em seguida, detalhes de WordInfo na transcrição, indicando o nível de confiança para palavras individuais, conforme mostrado no exemplo seguinte.

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

Ative a confiança ao nível da palavra num pedido

O seguinte fragmento de código demonstra como ativar a confiança ao nível da palavra numa solicitação de transcrição para o Speech-to-Text através de ficheiros locais e remotos.

Use um ficheiro local

Protocolo

Consulte o ponto final da API speech:recognize para ver os detalhes completos.

Para realizar o reconhecimento de voz síncrono, faça um pedido POST e forneça o corpo do pedido adequado. O exemplo seguinte mostra um pedido POST com curl. O exemplo usa a Google Cloud CLI para gerar um token de acesso. Para ver instruções sobre a instalação da CLI gcloud, consulte o início rápido.

O exemplo seguinte mostra como enviar um pedido POST usando curl, em que o corpo do pedido ativa a confiança ao nível da palavra.

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

Se o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK e a resposta no formato JSON, guardada num ficheiro com o nome word-level-confidence.txt.

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

Python

Para saber como instalar e usar a biblioteca cliente do Speech-to-Text, consulte o artigo Bibliotecas cliente do Speech-to-Text. Para mais informações, consulte a documentação de referência da API Python Speech-to-Text.

Para se autenticar no Speech-to-Text, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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