Configuração

Como configurar:

A configuração deve ser realizada via API Rest na criação do job (upload do arquivo de mídia).

Na requisição o parâmetro config recebe uma lista de valores de texto, com a configuração.

Exemplos de chamadas curl:

  • Exemplo para habilitar o classificador descritor e adicionar palavras no Word Hints:
curl -X POST "http://localhost:8000/trd/v3/job/create" \
 -H "accept: application/json" \
 -H "Authorization: Bearer <token>" \
 -H "Content-Type: multipart/form-data" \
 -F "upload_file=@<file_path>;type=audio/wav" \
 -F "config=diarization.descriptor.enabled=True" \
 -F "config=recognition.hints.words=mexirica"

ou então:

curl -X POST "http://localhost:8000/trd/v3/job/create" \
 -H "accept: application/json" \
 -H "Authorization: Bearer <token>" \
 -H "Content-Type: multipart/form-data" \
 -F "upload_file=@<file_path>;type=audio/wav" \
 --form-string "config=diarization.descriptor.enabled=True,recognition.hints.words=mexirica"
  • Exemplo para configurar múltiplas callback no webhook:
curl -X POST "http://localhost:8000/trd/v3/job/create" \
 -H "accept: application/json" \
 -H "Authorization: Bearer <token>" \
 -H "Content-Type: multipart/form-data" \
 -F "upload_file=@<file_path>;type=audio/wav" \
 -F "callback_urls=https://172.19.0.9:8443/callback1" \
 -F "callback_urls=https://172.19.0.9:8443/callback2"

ou então:

curl -X POST "http://localhost:8000/trd/v3/job/create" \
 -H "accept: application/json" \
 -H "Authorization: Bearer <token>" \
 -H "Content-Type: multipart/form-data" \
 -F "upload_file=@<file_path>;type=audio/wav" \
 --form-string "callback_urls=https://172.19.0.9:8443/callback1,https://172.19.0.9:8443/callback2"
  • Exemplo para habilitar os classificadores de fala e adicionar word-hints:
curl -X POST "http://localhost:8000/trd/v3/job/create" \
 -H "accept: application/json" \
 -H "Authorization: Bearer <token>" \
 -H "Content-Type: multipart/form-data" \
 -F "upload_file=@<file_path>;type=audio/wav" \
 --form-string "config=recognition.tasks=emotion;age;gender,recognition.hints.words=mexirica:1.8 [mixirica]; siciliano:2; castanha-do-pará"

Criação de Token de autenticação:

Agora para acessar as APIs do transcritor de dialogos será necessario enviar junto as requisições um token de acesso a partir do cabeço Authentication do protocolo HTTP em formato Bearer.

Para criar esse token o usuario deve possuir um usuario e senha fornecidos pelo CPQD. Em posse dessas credenciais o usuario deve fazer uma requisição ao nosso servidores de licença para que o token de acesso possa ser gerado, seguindo o exemplo abaixo:

Exemplos da criação do token:

curl --location --request POST 'http://sl.cpqd.com.br:8082/auth/token' \
 --header 'Authorization: Basic Z0dLaUU1ZkMwY3FNN05ON3pEZTBRaDdjOm9NTGVGaVVVMT'

Note que essas credenciais devem seguir o formato Basic como definido na RFC 7617.

Configurações disponíveis:

Diarização

diarization.vad.chunk_max_silence

Descrição: Limite máximo de silêncio em segundos. Parâmetro para uso interno.

Valores: Número (float). Valor padrão: 1200.0

Exemplo:

diarization.vad.chunk_max_silence=1200.0

diarization.vad.chunk_max_length

Descrição: Limite máximo de áudio em segundos. Parâmetro para uso interno.

Valores: Número (float). Valor padrão: 3600.0

Exemplo:

diarization.vad.chunk_max_length=3600.0

diarization.vad.dual_tone.enabled

Descrição: Habilita o detector de tons (DTMF). Os tons detectados serão considerados silêncio e removidos da transcrição.

Valores: True ou False. Valor padrão: False

Exemplo:

diarization.vad.dual_tone.enabled=False

diarization.clustering.enabled

Descrição: Habilita ou desabilita a etapa de clusterização.

Valores: True ou False. Valor padrão: True

Exemplo:

diarization.clustering.enabled=False

diarization.clustering.threshold

Descrição: Limiar de clusterização. Parâmetro para uso interno.

Valores: Número (float). Valor padrão: -0.4

Exemplo:

diarization.clustering.threshold=-0.4

diarization.descriptor.enabled

Aviso

Descritor está em fase experimental.

Descrição: Habilita ou desabilita o classificador de descrição.

Valores: True ou False. Valor padrão: False

Exemplo:

diarization.descriptor.enabled=True

Resultado: O resultado é retornado em conjunto com a transcrição em «descriptor».

Reconhecimento de Fala

recognition.lm

Descrição: Configura o Modelo de língua a ser utilizado no reconhecimento.

Valores: Texto/URI. Valor padrão: builtin:slm/callcenter-small

Exemplo:

recognition.lm=builtin:slm/callcenter-small

recognition.texfy.enabled

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

Valores: True ou False. Valor padrão: False

Exemplo:

recognition.texfy.enabled=True

recognition.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. Cada atributo deve estar separada por ponto e vírgula (;). Default: vazio.

Formato:

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

Aviso

  • 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 ponto e 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

Exemplo:

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

recognition.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.

Exemplo:

recognition.decoder.maxSentences=10

recognition.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.

Exemplo:

recognition.decoder.wordDetails=2

recognition.tasks

Aviso

Os Classificadores estão em fase experimental. O desempenho e formato dos resultados podem sofrer modificações.

Descrição: Habilita os classificadores de fala.

Valores: Lista de texto com o nome do classificador, separado por ponto e vírgula(;). Valor padrão: vazio

  • emotion: Habilita classificador de emoção.
  • age: Habilita classificador de idade.

Exemplo:

recognition.tasks=emotion;age;gender

Resultado: Para cada classificador é adiciona uma chave dentro de «task_results» de cada segmento no resultado da transcrição. Resultado Agregado: Adicionado um novo campo aggregate_results na estrutura principal do resultado da transcrição. Os classificadores são agregados por canal e locutor.

Webhook

callback_urls

Descrição: Configuração da callback do webhook.

Valores: Lista de URL. Valor padrão: vazio

Aviso

Deve ser utilizado https seguro.

Exemplo:

callback_urls=https://172.19.0.9:8443/callback1