Interface MRCP para ASR

Campos de cabeçalho para Reconhecimento

A tabela abaixo descreve os campos de cabeçalho disponíveis no Servidor MRCP do CPqD para o recurso de ASR. Os métodos estão divididos em dois grupos:

«Requisição»
Significa que a mensagem será trocada no sentido Cliente -> Servidor
«Resposta»
Significa que a mensagem será trocada no sentido Servidor -> Cliente
Header Versão do MRCP PARAMS Eventos Métodos
  v1 v2      
  SET/GET   Requisição Resposta
Content-ID X X NÃO - RECOGNIZE DEFINE-GRAMMAR -
Completion-Cause X X NÃO RECOGNITION-COMPLETE - RECOGNIZE DEFINE-GRAMMAR
Confidence-Threshold X X SIM - RECOGNIZE GET-RESULT -
N-Best-List-Length X X SIM - RECOGNIZE GET-RESULT -
No-Input-Timeout X X SIM - RECOGNIZE -
Recognition-Timeout X X SIM - RECOGNIZE -
Recognizer-Start-Timers X - SIM - RECOGNIZE -
Start-Input-Timers - X SIM - RECOGNIZE -
Speech-Complete-Timeout X X SIM - RECOGNIZE -
DTMF-Interdigit-Timeout X X SIM - RECOGNIZE -
DTMF-Term-Char X X SIM - RECOGNIZE -
Vendor-Specific-Parameters X X SIM - RECOGNIZE -

Parâmetros de Configuração

Os parâmetros abaixo descritos podem ser configurados via SET-PARAMS (válido para toda a sessão) e RECOGNIZE (válido somente para o Reconhecimento corrente).

Confidence-Threshold

O Confidence-Threshold determina o valor mínimo de score (índice de confiança) aceitável para se ter um Reconhecimento de sucesso. Qualquer alternativa obtida no Reconhecimento com score menor que o Confidence-Threshold é descartada. Se nenhuma alternativa com score maior ou igual ao Confidence-Threshold for obtida no Reconhecimento, o retorno será «NO-MATCH».

Domínio
MRCP v1: número inteiro entre 0 e 100. MRCP v2: número decimal entre 0,0 e 1,0. (valor default = 30%)
N-Best-List-Length

O N-Best-List-Length determina a quantidade máxima de alternativas que podem ser retornadas no Reconhecimento.

Domínio
Número inteiro, positivo (valor default = 1)
No-Input-Timeout

O No-Input-Timeout determina o tempo máximo que o ASR aguardará até o evento de início de fala. Se o parâmetro Start-Input-Timers estiver habilitado no envio da mensagem RECOGNIZE, o No-Input-Timeout começará a contar desde então. Se o parâmetro Start-Input-Timers estiver desabilitado no envio da mensagem RECOGNIZE, o No-Input-Timeout começará a contar a partir do envio da mensagem START-INPUT-TIMERS. Se estourar o No-Input-Timeout, o evento RECOGNITION-COMPLETE será disparado com Completion-Cause igual a «no-input-timeout» (002).

Domínio
Número inteiro, positivo em milissegundos (valor default = 10000)
Recognition-Timeout

O Recognition-Timeout determina o tempo máximo entre o evento de início de fala e a entrega de um resultado. Se estourar o Recognition-Timeout, o evento RECOGNITION-COMPLETE será disparado com Completion-Cause igual a «recognition-timeout» (003 no MRCP v1 e 015 no MRCP v2).

Domínio
Número inteiro, positivo em milissegundos (valor default = 30000)
Start-Input-Timers (Recognizer-Start-Timers no MRCP v1)

Inicia automaticamente a contagem do No-Input-Timeout juntamente com o recebimento da mensagem RECOGNIZE. Se desativado, o No-Input-Timeout será iniciado de forma manual, no recebimento da mensagem START-INPUT-TIMERS, se MRCP v2 ou RECOGNITION-START-TIMERS, se MRCP v1.

Domínio
Booleano (valor default = true)*
Speech-Complete-Timeout
O Speech-Complete-Timeout determina a duração do silêncio dentro do áudio para a detecção do fim da fala.
DTMF-Interdigit-Timeout
Determina o tempo para aguardar o próximo digito DTMF.
DTMF-Term-Char
Específica o caractere esperado para finalizar a detecção do DTMF.
Vendor-Specific-Parameters

Utilizado para configurar parâmetros específicos do CPqD. O Vendor-Specific-Parameters tem prioridade sobre os outros parâmetros.

Exemplo para habilitar o textify usando o metodo SET-PARAMS:

MRCP/2.0 145 SET-PARAMS 1
Channel-Identifier: e13c68ea4f5d11ea@speechrecog
Vendor-Specific-Parameters: br.com.cpqd.asr.textify.enabled=true

Completion-Cause

Descrição do Completion-Cause para o evento RECOGNITION-COMPLETE

Result-Status do ASR MRCP v1 MRCP v2 Descrição
RECOGNIZED 000 000 O reconhecimento ocorreu sem problemas
NO_MATCH 001 001
O reconhecimento não encontrou nenhuma alternativa com confiança acima do
Confidence-Threshold
NO_INPUT_TIMEOUT 002 002 Nenhum pacote de áudio foi recebido no período do No-Input-Timeout
RECOGNITION_TIMEOUT 003 015
O evento START-OF-INPUT foi disparado e o reconhecimento não foi concluído dentro
do período do Recognition-Timeout

Métodos Disponíveis

O Servidor CPqD MRCP para ASR suporta as seguintes mensagens:

Métodos MRCP v1 MRCP v2 Servidor CPqD Descrição
SET-PARAMS X X X Configura parâmetros do Reconhecimento para toda a sessão
GET-PARAMS X X X Recupera valores dos parâmetros de Reconhecimento no instante da chamada
DEFINE-GRAMMAR X X X Define um rótulo do tipo «session:<meu_rotulo>» para uma gramática inline ou URI
RECOGNIZE X X X Solicita um Reconhecimento dado uma gramática inline, URI ou rotulo do DEFINE-GRAMMAR
INTERPRET - X X Solicita a interpretação de um texto dado uma gramática inline, URI ou rotulo do DEFINE-GRAMMAR
GET-RESULT X X X Recupera o resultado (NLSML) do RECOGNIZE anterior
RECOGNITION-START-TIMERS X - X Dispara a contagem dos timers No-Input-Timeout e Recognition-Timeout para MRCP v1
START-INPUT-TIMERS - X X Dispara a contagem dos timers No-Input-Timeout e Recognition-Timeout para MRCP v2
STOP X X X Cancela o Reconhecimento em andamento

Eventos Disponíveis

Os eventos do ASR estão descritos na tabela abaixo:

Eventos MRCP v1 MRCP v2 Servidor CPqD Descrição
START-OF-INPUT - X X Ocorre quando o reconhecedor detecta Início de Fala
START-OF-SPEECH X - X Ocorre quando o reconhecedor detecta Início de Fala
RECOGNITION-COMPLETE X X X Sinaliza que o Reconhecimento foi finalizado
INTERPRETATION-COMPLETE X X X Sinaliza que a interpretação de texto foi finalizada