Polarização

A polarização ajuda a Speech-to-Text OnDevice a reconhecer palavras ou frases específicas com mais frequência do que outras opções que podem ser sugeridas. Neste documento, você vai aprender a aumentar a probabilidade de a Cloud Speech-to-Text reconhecer as palavras e/ou frases necessárias para transcrever dados de áudio.

Para polarizar o modelo de reconhecimento para palavras ou frases específicas, transmita-as como phrases no campo phrase_sets de um objeto SpeechAdaptation. Atribua o objeto SpeechAdaptation ao campo adaptation do objeto RecognitionConfig na solicitação:

config {
    encoding: LINEAR16
    sample_rate_hertz: 16000
    language_code: "en-US"
    adaptation: {
      phrase_sets {
        phrases: "weather is hot"
        phrases: "weather is cold"
    }
}

Usar classes para polarizar o modelo

As classes representam conceitos comuns que ocorrem em linguagem natural, como valores numéricos e datas de agenda. Uma classe permite melhorar a precisão da transcrição para grandes grupos de palavras que mapeiam um conceito comum, mas que nem sempre incluem palavras ou frases idênticas.

Por exemplo, suponha que seus dados de áudio incluem gravações de pessoas dizendo o próprio endereço. É possível ter uma gravação de áudio de alguém dizendo "Minha casa fica na Avenida Central, 123, quarta casa à esquerda". Nesse caso, a Speech-to-Text deve reconhecer a primeira sequência de números ("123") como um endereço, em vez de um número ordinal ("cento e vinte e três"). No entanto, nem todas as pessoas moram na "Avenida Central, 123". Não é prático listar todos os endereços possíveis em frases. Em vez disso, é possível usar uma classe para indicar que um número de rua precisa ser reconhecido, independentemente do número.

Para usar os tokens de classe, inclua-os nas frases de adaptação de fala. Você pode usar classes como itens independentes na matriz de frases ou incorporá-las em frases de várias palavras mais longas. Por exemplo, para melhorar a transcrição de números de endereço do áudio de origem, use a classe $ADDRESSNUM. É possível indicar um número de endereço em uma frase maior incluindo o token de classe em uma string: "Meu endereço é $ADDRESSNUM". No entanto, essa frase não ajuda em casos em que o áudio contém uma frase semelhante, mas não idêntica, como "Estou na Rua Principal, 123". Para o reconhecimento de frases semelhantes, é importante incluir o token de classe sozinho:

adaptation: {
  phrase_sets {
    phrases: "my address is $ADDRESSNUM"
    phrases: "$ADDRESSNUM"
  }
}

Usar classes personalizadas para criar um viés ao modelo

Usar classes personalizadas predefinidas

Uma classe personalizada é uma lista personalizada de itens ou valores relacionados. O Google fornece várias classes personalizadas predefinidas (como contacts ou navigation) que recomendamos usar com a Conversão de voz em texto no dispositivo. Essas classes personalizadas provavelmente representam frases que seu aplicativo pode ter e produzir uma precisão de reconhecimento melhor do que suas próprias classes personalizadas.

PRÁTICAS RECOMENDADAS: a menos que você precise polarizar o modelo para frases específicas que não são cobertas pelas classes predefinidas, recomendamos que você use classes predefinidas em vez de criar suas próprias classes.

IMPORTANTE: se suas necessidades de negócios exigirem que você crie uma classe personalizada, entre em contato conosco para discutir uma solução personalizada.

As classes personalizadas predefinidas são agrupadas em duas categorias, que você precisa referenciar de maneira diferente nas solicitações:

  • Classes personalizadas para que você precisa fornecer phrases e items, por exemplo, contacts.

  • Classes personalizadas que são referenciadas apenas por custom_class_id, por exemplo, navigation.

Para usar uma classe personalizada que exija phrases e items, crie um objeto CustomClass que inclua cada valor em items e faça referência a essa classe pelo custom_class_id em seu phrases, por exemplo:

adaptation: {
  custom_classes {
    custom_class_id: "contacts"
    items: "Asia"
    items: "Alex"
    items: "Nuno Pereira"
  }
  phrase_sets {
    phrases: "call ${contacts}"
  }
}

Não é necessário fornecer phrases e items para comandos navigation. Nesse caso, a lista phrases é uma lista fornecida pela Google das frases mais comuns que os usuários provavelmente usarão nesse contexto (por exemplo, "pegar a rodovia").

adaptation: {
  custom_classes {
    custom_class_id: "navigation"
  }
}

Usar suas próprias classes personalizadas

É possível criar suas próprias classes personalizadas se você tiver uma necessidade comercial específica que não é atendida pelas classes personalizadas predefinidas. Por exemplo, você quer transcrever dados de áudio que provavelmente incluem o nome de qualquer um dos vários restaurantes regionais. Os nomes dos restaurantes são relativamente raros na fala geral e, portanto, menos propensos a serem escolhidos como a resposta "correta" pelo modelo de reconhecimento, a menos que você especifique os nomes em uma classe personalizada. Exemplo:

adaptation: {
  custom_classes {
    custom_class_id: "restaurants"
    items: "sushido"
    items: "taneda sushi"
    items: "altura"
  }
  phrase_sets {
    phrases: "visit restaurants like ${restaurants}"
  }
}