Exercício - Configurar intenção e compreensão da linguagem natural
Neste módulo, você explorará o reconhecimento de intenções do Azure Speech Service. O reconhecimento de intenções permite equipar a sua aplicação com comandos de fala movidos a IA, onde os utilizadores podem dizer comandos de fala não específicos e ainda ter a sua intenção entendida pelo sistema.
Preparar a cena
Na janela hierarquia, selecione o objeto Lunarcom e, em seguida, na janela Do Inspetor, utilize o botão Adicionar Componente para adicionar o componente Lunarcom Intent Recogniser (Script) ao objeto Lunarcom:
Na janela Project, navegue até ao AssetsMRTK>. Tutorials.GettingStartedPrefabsRocketLauncher>>, arraste a RocketLauncher_Complete pré-fabricada para a sua janela da hierarquia e coloque-a num local adequado em frente à câmara, por exemplo:
- Transformar posição X = 0, Y = -0,4, Z = 1
- Rotação de Transformação X = 0, Y = 90, Z = 0
Na janela hierarquia, selecione novamente o objeto Lunarcom e, em seguida, expanda o objeto RocketLauncher_Complete>Abton e atribua os objetos do objeto do objeto botões para o campo de botões lunares correspondentes:
Crie o recurso de compreensão da linguagem Azure
Nesta secção, irá criar um recurso de previsão Azure para a aplicação Language Understanding Serviço Inteligente (LUIS) que irá criar na secção seguinte.
Iniciar sessão para portal do Azure e selecione Criar um recurso. Em seguida, procure e selecione Language Understanding:
Selecione o botão Criar para criar uma instância deste serviço:
Na página Criar, selecione a opção Previsão e introduza os seguintes valores:
- Para subscrição, selecione Free Trail se tiver uma subscrição de teste. Se não tiver uma subscrição de teste, selecione uma das suas outras subscrições.
- Para o grupo de Recursos, selecione o novo link Criar , insira um nome adequado, por exemplo: MRKT-Tutorials. Selecione OK.
Nota
A partir do momento desta escrita, não precisa de criar um recurso de autoria, porque uma chave de experimentação de autoria será automaticamente gerada dentro do LUIS quando criar o Serviço Inteligente Language Understanding (LUIS) na secção seguinte.
Dica
Se já tiver outro grupo de recursos adequado na sua conta Azure, poderá utilizar este grupo de recursos em vez de criar um novo.
Enquanto ainda está na página Criar, insira os seguintes valores:
- Para nome, insira um nome adequado para o serviço, por exemplo: MRTK-Tutorials-AzureSpeechServices
- Para a localização da previsão, escolha um local próximo da localização física dos utilizadores da sua aplicação, por exemplo: (EUA) West US
- Para o nível de preços de previsão, para efeitos deste tutorial, selecione F0 (5 chamadas por segundo, 10K Chamadas por mês)
Em seguida, selecione Rever + criar, rever os detalhes e, em seguida, selecione o botão Criar na parte inferior da página para criar o recurso (e o novo grupo de recursos se configurar um a ser criado):
Nota
Criar os seus novos recursos pode levar alguns minutos.
Uma vez concluído o processo de criação de recursos, verá a mensagem A sua implantação está concluída:
Crie o serviço inteligente de compreensão da linguagem (LUIS)
Nesta secção, irá criar uma app LUIS, configurar e treinar o seu modelo de previsão, e conectá-la ao recurso de previsão Azure que criou no passo anterior.
Especificamente, irá criar uma intenção de que se o utilizador disser que deve ser tomada uma ação, a aplicação irá ativar o Interactable. OnClick()
evento num dos três botões vermelhos da cena, dependendo do botão que o utilizador referencia.
Por exemplo, se o utilizador disser para ir em frente e lançar o foguetão, a aplicação irá prever que vá em frente significa que devem ser tomadas algumas medidas , e que o Interactable. OnClick()
evento a atingir está no botão de lançamento .
Os principais passos que tomará para o conseguir são:
- Criar uma aplicação LUIS
- Criar intenções
- Criar palavras de exemplo
- Criar entidades
- Atribuir entidades às expressões de exemplo
- Treine, teste e publique a app
- Atribua um recurso de previsão Azure à app
1. Criar uma aplicação LUIS
Utilizando a mesma conta de utilizador que usou ao criar o recurso Azure na secção anterior, faça sedús para o LUIS, selecione o seu país e concorde com os termos de utilização. No passo seguinte, quando solicitado para ligar a sua conta Azure, escolha Continuar a usar a sua chave de teste, para utilizar um recurso de autoria Azure.
Nota
Se já se inscreveu no LUIS e a sua chave de teste de autoria expirou, pode consultar o Migrate para um recurso Azure que autoria documentação-chave para mudar o seu recurso de autoria LUIS para Azure.
Uma vez assinada, selecione Nova aplicação e introduza os seguintes valores na janela popup da nova aplicação :
- Para nome, insira um nome adequado, por exemplo: TUTORiais MRTK - AzureSpeechServices
- Para Cultura, selecione Inglês
- Para descrição, insira opcionalmente uma descrição adequada
- Para o recurso Prediction, selecione o recurso de previsão por lista de dropdown que tinha sido criado portal do Azure.
Selecione Feito para criar a nova aplicação:
Quando a nova aplicação for criada, será levado para a página do Dashboard da aplicação:
2. Criar intenções
A partir da página Dashboard, navegue para a página Build > App Assets >Intenções , em seguida, selecione Criar e introduzir o seguinte valor na janela popup de novas intenções :
- Para nome de intenção, insira PressButton
Selecione Feito para criar a nova intenção:
Atenção
Para efeitos deste tutorial, o seu projeto De unidade referenciará esta intenção pelo seu nome (
PressButton
). É extremamente importante que diga exatamente a mesma coisa.Quando a nova intenção for criada, será levado para a página dessa intenção:
3. Criar palavras de exemplo
À lista de palavras de exemplo do PressButton, adicione as seguintes declarações de exemplo:
- ativar sequência de lançamento
- mostrar-me uma dica de colocação
- iniciar a sequência de lançamento
- botão de sugestões de colocação de pressão
- dá-me uma dica
- carregar no botão de lançamento
- Eu preciso de uma dica
- pressione o botão de reset
- tempo para redefinir a experiência
- vá em frente e lançar o foguete
Quando tiver adicionado todas as declarações de exemplo, a sua página de intenção PressButton deve ser assim:
Atenção
Para efeitos deste tutorial, o seu projeto Unidade referenciará as palavras "dica", "sugestões", "reset" e "lançamento". É extremamente importante que soletre estas palavras da mesma forma em todos os casos.
4. Criar entidades
A partir da página de intenção PressButton, navegue até à página Build > App Assets >Entities , em seguida, selecione Criar e introduzir os seguintes valores na janela popup da nova entidade :
- Para nome de entidade, insira Ação
- Para o tipo de Entidade, selecione Máquina aprendida
Selecione Criar para criar a nova entidade:
Repita o passo anterior para criar outra entidade chamada Target, para que tenha duas entidades chamadas Action and Target:
Atenção
Para efeitos deste tutorial, o seu projeto De unidade referenciará estas entidades pelos seus nomes,
Action
eTarget
. É extremamente importante que nomeie as suas entidades exatamente da mesma forma.
5. Atribuir entidades às expressões de exemplo
A partir da página De Entidades, volte para a página de intenção do PressButton .
Uma vez de volta na página de intenção pressButton, selecione a palavra ir e, em seguida, na palavra seguinte, em seguida, selecione Ação (Simples) do menu popup contextual para rotular vá em frente como um valor de entidade de Ação :
A frase vai em frente é agora definida como um valor de entidade de ação . Existe agora um valor de entidade de ação sob as palavras "vá em frente":
Nota
A linha vermelha que vê sob o rótulo na imagem indica que o valor da entidade não foi previsto; isto será resolvido quando treinar o modelo na secção seguinte.
Em seguida, selecione o lançamento da palavra e, em seguida, selecione Target (Simple) do menu popup contextual para rotular o lançamento como um valor de entidade alvo :
A palavra de lançamento é agora definida como um valor de entidade-alvo . Existe agora um valor de entidade-alvo sob a palavra "lançamento":
A expressão de exemplo de
go ahead and launch the rocket
intenção pressButton está agora configurada para ser prevista da seguinte forma:- Intenção: PressButton
- Entidade de ação: vá em frente
- Entidade-alvo: lançamento
Repita o processo anterior para atribuir uma etiqueta de Ação e uma entidade-alvo a cada uma das expressões de exemplo, tendo em conta que as seguintes palavras devem ser rotuladas como entidades-alvo :
- dica (alvos do HintsButton no projeto Unidade)
- dicas (alvos HintsButton no projeto Unidade)
- reset (visa o ResetButton no projeto Unidade)
- lançamento (visa o LaunchButton no projeto Unidade)
Quando tiver rotulado todas as expressões de exemplo, a sua página de intenção PressButton deve ser assim:
6. Treine, teste e publique a app
Para treinar a aplicação, selecione o botão Train e aguarde que o processo de treino esteja concluído:
Nota
Como pode ver na imagem acima, as linhas vermelhas sob todas as etiquetas foram removidas, indicando que todos os valores da entidade estão previstos. Além disso, note que o ícone de estado à esquerda do botão Train mudou de cor de vermelho para verde.
Quando o treino terminar o processamento, selecione o botão Teste e, em seguida, escreva em frente e lance o foguete e prima a tecla Enter:
Quando a expressão do teste tiver sido processada, selecione Inspecione para ver o resultado do teste:
- Intenção: PressButton (com uma certeza de 98,5%)
- Entidade de ação: vá em frente
- Entidade-alvo: lançamento
Para publicar a aplicação, selecione o botão Publicar no canto superior direito, em seguida, na janela popup de publicação e definições , selecione Produção e selecione o botão Fazer :
Aguarde que o processo de publicação esteja concluído:
Navegue para a página De Gestão > Definições >Recursos Azure. A sua página de Recursos Azure deve ser semelhante a esta:
Ligação o projeto de unidade à app LUIS
Na página 'Gerir > Definições >Recursos Azure', selecione o ícone Copiar para copiar a Consulta exemplo:
De volta ao seu projeto de Unidade, na janela da Hierarquia, selecione o objeto Lunarcom , em seguida, na janela do Inspetor, localize o componente Lunarcom Intent Recogniser (Script) e configuure-o da seguinte forma:
- No campo LUIS Endpoint , passe o Exemplo de Consulta que copiou no passo anterior. Certifique-se de remover
YOUR_QUERY_HERE
do URL:
- No campo LUIS Endpoint , passe o Exemplo de Consulta que copiou no passo anterior. Certifique-se de remover
Teste e melhore o reconhecimento de intenção
Para utilizar o reconhecimento de intenções diretamente no editor da Unidade, deve permitir que o seu computador de desenvolvimento utilize ditado. Para verificar esta definição, abra Windows Definições, em seguida, escolha PrivacySpeech> e certifique-se de que o reconhecimento de voz online é ligado:
Se entrar no modo Jogo, pode testar o reconhecimento de intenção premindo primeiro o botão do foguetão. Então, assumindo que o seu computador tem um microfone, quando diz o primeiro exemplo, vá em frente e lance o foguete, verá o lançamento da LunarModule no espaço:
Experimente todas as expressões de exemplo, em seguida, alguma variação das expressões de exemplo, bem como algumas expressões aleatórias.
Em seguida, volte ao LUIS e navegue para Construir > Melhorar a página de comentários de ponto> final do ponto final da app. Utilize o botão de alternar para mudar a partir do padrão Entidades Ver para Ver Tokens e, em seguida, rever as expressões:
- Na coluna Utterance , altere e remova as etiquetas atribuídas conforme necessário para que se alinhem com a sua intenção
- Na coluna de intenções alinhadas , verifique se a intenção está correta
- Na coluna Adicionar/Eliminar , selecione o botão de marca de verificação verde para adicionar a expressão ou o botão vermelho x para eliminá-lo.
Quando tiver revisto as palavras que quiser, selecione o botão Train para voltar a treinar o modelo e, em seguida, o botão Publicar para republicar a aplicação atualizada:
Nota
Se uma expressão de ponto final não se alinhar com a intenção do PressButton, mas gostaria que o seu modelo soubesse que a expressão não tem intenção, pode alterar a intenção alinhada para Nenhum.
Repita este processo quantas vezes quiser melhorar o seu modelo de aplicação.
Precisa de ajuda? Veja o nosso guia de resolução de problemas ou faça comentários específicos ao comunicar um problema.