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), «no-match-maxtime» (015 no MRCP v2) em caso de nenhum reconhecimento e «success-maxtime» (008 no MRCP v2) em caso de algum reconhecimento até o estouro da temporização.
- 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
- Account-Tag
Trata-se de um «Vendor Parameter» utilizado para marcação nos bilhetes de cobrança para uso do cliente. Desta forma, irá permitir a identificação customizada da origem da solicitação de reconhecimento. Para isso o usuáro deverá enviar o parâmetro br.com.cpqd.asr.licenseManager.accountTag
MRCP/2.0 145 SET-PARAMS 1 Channel-Identifier: e13c68ea4f5d11ea@speechrecog Vendor-Specific-Parameters: br.com.cpqd.asr.licenseManager.accountTag=Cliente-Um
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 |
|
NO_INPUT_TIMEOUT | 002 | 002 | Nenhum pacote de áudio foi recebido no período do No-Input-Timeout |
RECOGNITION_TIMEOUT | 003 | 015 |
|
SUCCESS_MAXTIME | — | 008 |
|
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 |