Usando uma gramática para reconhecimento de voz
Uma vez que o modelo de idioma customizado é criado e treinado com sua gramática, é possível usar a gramática em solicitações de reconhecimento de voz:
- Use o parâmetro de consulta
language_customization_idpara especificar o ID de customização (GUID) do modelo de idioma customizado para o qual a gramática está definida. Um modelo customizado pode ser usado somente com o modelo base para o qual ele é criado. Se o seu modelo customizado for baseado em um modelo diferente do padrão, você também deverá especificar esse modelo base com o parâmetro de consultamodel. Para obter mais informações, consulte Uso do modelo padrão. Deve-se emitir a solicitação com credenciais para a instância do serviço que possui o modelo. - Use o parâmetro
grammar_namepara especificar o nome da gramática. É possível especificar somente uma única gramática com uma solicitação.
Quando você usa uma gramática, o serviço reconhece apenas palavras da gramática especificada. O serviço não usa palavras customizadas que foram incluídas dos corpora, que foram incluídas ou modificadas individualmente ou que são reconhecidas por outras gramáticas.
Para obter mais informações sobre os idiomas e modelos que suportam gramáticas e seu nível de suporte (geralmente disponível ou beta), consulte Suporte ao idioma para customização.
Exemplos de uso de uma gramática com um modelo de idioma customizado
Os exemplos a seguir mostram o uso de uma gramática com um modelo de idioma customizado para cada interface de reconhecimento de voz:
-
Para a interface do WebSocket, você primeiro especifica o ID de customização com o parâmetro
language_customization_iddo método/v1/recognize. Você usa esse método para estabelecer uma conexão do WebSocket com o serviço.var access_token = {access_token}; var wsURI = '{ws_url}/v1/recognize' + '?access_token=' + access_token + '&language_customization_id={customization_id}'; var websocket = new WebSocket(wsURI);Em seguida, especifique o nome da gramática com o parâmetro
grammar_namena mensagem JSONstartpara a conexão ativa. Transmitir esse valor com a mensagemstartpermite mudar a gramática dinamicamente para cada solicitação que você envia por meio da conexão.function onOpen(evt) { var message = { action: 'start', content-type: 'audio/l16;rate=22050', grammar_name: '{grammar_name}' }; websocket.send(JSON.stringify(message)); websocket.send(blob); } -
Para a interface HTTP síncrona, passe os dois parâmetros com o método
POST /v1/recognize.IBM Cloud
curl -X POST -u "apikey:{apikey}" \ --header "Content-Type: audio/flac" \ --data-binary @audio-file.flac \ "{url}/v1/recognize?language_customization_id={customization_id}&grammar_name={grammar_name}"IBM Cloud Pak for Data IBM Software Hub
curl -X POST \ --header "Authorization: Bearer {token}" \ --header "Content-Type: audio/flac" \ --data-binary @audio-file.flac \ "{url}/v1/recognize?language_customization_id={customization_id}&grammar_name={grammar_name}" -
Para a interface de HTTP assíncrona, passe os dois parâmetros com o método
POST /v1/recognitions.IBM Cloud
curl -X POST -u "apikey:{apikey}" \ --header "Content-Type: audio/flac" \ --data-binary @audio-file.flac \ "{url}/v1/recognitions?language_customization_id={customization_id}&grammar_name={grammar_name}"IBM Cloud Pak for Data IBM Software Hub
curl -X POST \ --header "Authorization: Bearer {token}" \ --header "Content-Type: audio/flac" \ --data-binary @audio-file.flac \ "{url}/v1/recognitions?language_customization_id={customization_id}&grammar_name={grammar_name}"