Reconhecimento

Parâmetros relacionados ao reconhecimento de fala.

Alguns parâmetros aqui listados podem ser utilizados como uma configuração global e (ou) informados através de requisição.

Quando utilizados como configuração global atuam no reconhecimento de todas as requisições do sistema.

Quando utilizados em uma requisição atuam no reconhecimento daquela requisição isoladamente.

Como configuração global a função deve ser inserida no arquivo /opt/cpqd/asr/config/engine/engine.conf e não deve haver espaço em torno no símbolo de igual «=».

Aviso

Quando o parâmetro existir como uma configuração global e o mesmo também for informado através de requisição via API, o valor informado via API prevalece em relação ao inserido na configuração global.

Para integração via MRCP consulte também a documentação específica

hints.words

Descrição: Adiciona novas palavras ao Modelo de Língua ou aumenta a probabilidade de aparecimento de palavras já existentes.

Valores: Lista de palavras com ou sem atributos de boost ou pronúncia. Default: vazio.

Formato:

<palavra>:<boost> [<pronúncia>], <palavra>:<boost> [<pronúncia>], ...

Onde, <boost> e <pronúncia> são opcionais.

Importante:

  • A pronúncia deve sempre estar entre colchetes [ ], e não deve haver espaço entre os colchetes e a pronúncia escrita dentro deles.

  • Cada palavra, com seus atributos, deve estar separada por vírgula ,.

  • A cada palavra só pode ser atribuída uma pronúncia. Caso deseje mais de uma pronúncia por palavra, é necessário repetir a palavra.

  • A palavra só pode conter letras e traço

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--hints.words=mexirica:1.8 [mixirica], siciliano:2, castanha-do-pará

Aviso

Este parâmetro quando usado como configuração global altera a classificação de palavras do modelo para todas as requisições, por este motivo recomenda-se o uso por requisição e não por configuração. Desta forma as palavras passadas como word hints auxiliarão no reconhecimento do contexto específico da requisição, não causando interferência no reconhecimento de palavras que estão em outros contextos.

textify.enabled

Descrição: Habilita a formatação automática de números, datas, horários, etc.

Valores: “true” ou “false”. Valor padrão: “false”.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--textify.enabled=true

am.models

Descrição: Indica que modelos acústicos devem ser carregados pelo motor ASR na sua inicialização. Atualmente, apenas um modelo pode ser indicado. O valor passado aqui deve ser um dos diretórios contidos no diretório /opt/cpqd/asr/lang.

Valores: Texto. Valor padrão: default.

Forma de uso: Configuração Global

Exemplo:

--am.models=default

lm.preloadModels

Descrição: Indica que modelos da língua devem ser pré-carregados pelo motor ASR na sua inicialização. Os modelos carregados aqui nunca serão descarregados da memória e podem ser atualizados apenas com a reinicialização do ASR. Normalmente é usado para carregar o modelo de fala livre ou alguma gramática muito grande.

Valores: O valor deve ser a lista de modelos separados por vírgula.

Forma de uso: Configuração Global

Exemplo:

--lm.preloadModels=builtin:slm/general

lm.timeToLive

Descrição: Tempo máximo depois do qual um modelo da língua será descarregado da memória. Trata-se do tempo de vida do modelo em memória.

Valores: Valor inteiro em minutos. Valor padrão: 60

Forma de uso: Configuração Global

Exemplo:

--lm.timeToLive=60

lm.timeToIdle

Descrição: Tempo depois do qual um modelo da língua será descarregado da memória se não for usado para reconhecimento, ou seja, tempo máximo ocioso.

Valores: Valor inteiro em minutos. Valor padrão: 10

Forma de uso: Configuração Global

Exemplo:

--lm.timeToIdle=10

decoder.partialResultEnabled

Descrição: Indica se resultados parciais estão habilitados. Um resultado parcial é o texto reconhecido quando o áudio ainda não foi recebido completamente.

Valores: “true” ou “false”. Valor padrão: “false”.

Forma de uso: Configuração Global

Exemplo:

--decoder.partialResultEnabled=false

decoder.partialResultInterval

Descrição: Indica o intervalo de tempo para gerar um resultado parcial.

Valores: Valor inteiro em milissegundos. Valor padrão: 1000

Forma de uso: Configuração Global

Exemplo:

--decoder.partialResultInterval=1000

noInputTimeout.enabled

Descrição: Habilita o temporizador noInputTimeout para todos os reconhecimentos.

Valores: “true” ou “false”. Valor padrão: “true”.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--noInputTimeout.enabled=true

noInputTimeout.value

Descrição: Tempo máximo de espera pelo início da fala. Depois desse tempo, o sistema finaliza o reconhecimento e retorna NO_INPUT_TIMEOUT.

Valores: Valor em milissegundos. Valor padrão: 10000.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--noInputTimeout.value=10000

recognitionTimeout.enabled

Descrição: Habilita o temporizador recognitionTimeout para todos os reconhecimentos.

Valores: “true” ou “false”. Valor padrão: “true”.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--recognitionTimeout.enabled=true

recognitionTimeout.value

Descrição: Tempo máximo de espera pelo resultado do reconhecimento. Se o reconhecimento não finalizar até o tempo definido, o sistema finaliza o reconhecimento e retorna RECOGNITION_TIMEOUT.

Valores: Valor inteiro em milissegundos. Valor padrão: 30000

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--recognitionTimeout.value=30000

decoder.confidenceThreshold

Descrição: Valor mínimo de confiança do reconhecimento, para que ele seja considerado válido, caso contrário, retorna NO_MATCH.

Valores: Número inteiro de 0 a 100. Valor padrão: 30.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--decoder.confidenceThreshold=30

decoder.startInputTimers

Descrição: Inicia automaticamente os temporizadores habilitados (noInputTimeout e recognitionTimeout) juntamente com o início do reconhecimento. Se desativado, os temporizadores habilitados serão iniciados de forma manual, no recebimento da mensagem START INPUT TIMERS.

Valores: “true” ou “false”. Valor padrão: “true”.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--decoder.startInputTimers=true

decoder.maxSentences

Descrição: Número máximo de resultados prováveis gerados pelo reconhecimento (sentenças alternativas).

Valores: Número inteiro maior que zero. Valor padrão: 1.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--decoder.maxSentences=1

decoder.continuousMode

Descrição: Habilita o reconhecimento em modo contínuo.

Valores: “true” ou “false”. Valor padrão “false”.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--decoder.continuousMode=true

decoder.wordDetails

Descrição: Controla a exibição dos detalhes por palavra.

Valores: Inteiro (0, 1, 2). Valor padrão “1”.

  1. nenhum detalhe,

  2. somente o primeiro resultado do n-best,

  3. todos os resultados do n-best.

Forma de uso: Configuração Global e (ou) requisição via API

Exemplo:

--decoder.wordDetails=1

loggingTag

Descrição: Identificação fornecida pela aplicação cliente que é registrada nos logs do ASR com o objetivo de rastrear determinada interação com o usuário. Logging-Tag é definida pela aplicação cliente e enviada ao ASR pelas APIs.

Valor: Identificador que o usuário deseja que seja registrado nos logs.

Forma de uso: Requisição via API

Exemplo:

--loggingTag=CompanhiaTelecom

Infer-age-enabled

Descrição: Habilita a classificação da idade do locutor do áudio fornecido.

Valores: “true” ou “false”. Valor padrão: “false”.

Forma de uso: Requisição via API

Exemplo:

--Infer-age-enabled=true

Infer-gender-enabled

Descrição: Habilita a classificação do gênero do locutor do áudio fornecido.

Valores: “true” ou “false”. Valor padrão: “false”.

Forma de uso: Requisição via API

Exemplo:

--Infer-gender-enabled=true

Infer-emotion-enabled

Descrição: Habilita a classificação do tom emocional do locutor do áudio fornecido.

Valores: “true” ou “false”. Valor padrão: “false”.

Forma de uso: Requisição via API

Exemplo:

--Infer-emotion-enabled=true