Exercício - Configurar a intenção e a compreensão da linguagem natural
Neste módulo, você explorará o reconhecimento de intenção do Serviço de Fala do Azure. O reconhecimento de intenção permite equipar seu aplicativo com comandos de fala alimentados por IA, onde os usuários podem dizer comandos de fala inespecíficos e ainda fazer com que o sistema entenda sua intenção.
Preparar a cena
Na janela Hierarquia, selecione o objeto Lunarcom e, em seguida, na janela Inspetor, use o botão Adicionar componente para adicionar o componente Lunarcom Intent Recognizer (Script) ao objeto Lunarcom.
Na janela Projeto, navegue até o MRTK de ativos>. Tutorials.GettingStarted Prefabs>pasta RocketLauncher, arraste o RocketLauncher_Complete pré-fabricado para sua janela Hierarquia e coloque-o em um local adequado na frente da câmera.> Por exemplo:
- Posição de transformação x = 0, y = 1, z = 1,5
- Rotação da transformada x = 0, y = 90, z = 0
Na janela Hierarquia, selecione o objeto Lunarcom novamente, expanda o objeto RocketLauncher_Complete>Buttons e atribua cada um dos objetos filho do objeto Buttons ao campo Lunar Launcher Buttons correspondente.
Criar o recurso de serviço de idioma do Azure
Nesta seção, você criará um recurso de serviço de idioma do Azure para o aplicativo CLU (Compreensão de linguagem conversacional) que você criará na próxima seção.
Entre no portal do Azure e selecione Criar um recurso e, em seguida, procure e selecione Serviço de Idioma:
Selecione o botão Criar para criar uma instância deste serviço:
Na página Criar Idioma, insira os seguintes valores:
- Em Subscrição, selecione Avaliação gratuita se tiver uma subscrição de avaliação. Se não tiver uma subscrição de avaliação, selecione uma das suas outras subscrições.
- Para o grupo Recursos, selecione o link Criar novo e insira um nome adequado, por exemplo, MRTK-Tutorials. Selecione OK.
Gorjeta
Se você já tiver outro grupo de recursos adequado em sua conta do Azure, poderá usar esse grupo de recursos em vez de criar um novo.
Ainda na página Criar, insira os seguintes valores:
- Em Name, insira um nome adequado para o serviço, por exemplo, MRTK-Tutorials-AzureSpeechServices
- Em Região, escolha um local próximo à localização física dos usuários do aplicativo, por exemplo, Leste dos EUA
- Para Nível de preço, neste tutorial, selecione F0 (5k transações por 30 dias)
Em seguida, selecione Rever + criar, reveja 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 tiver configurado um para ser criado):
Quando o processo de criação de recursos estiver concluído, você verá a mensagem Sua implantação está concluída:
Criar o aplicativo de compreensão de linguagem conversacional (CLU)
Nesta seção, você criará um aplicativo CLU, configurará e treinará seu modelo de previsão e o conectará ao recurso de linguagem do Azure criado na etapa anterior.
Especificamente, você criará uma intenção de que, se o usuário disser que uma ação deve ser tomada, o aplicativo dispara o evento em um dos três botões azuis na cena, dependendo de qual botão o PressableButton.OnClicked()
usuário referencia.
Por exemplo, se o usuário diz para ir em frente e lançar o foguete, o aplicativo prevê que ir em frente significa que alguma ação deve ser tomada, e que o PressableButton.OnClicked()
evento a ser direcionado está no botão de lançamento.
Os principais passos que você tomará para conseguir isso são:
- Criar um aplicativo CLU
- Criar intenções
- Criar exemplos de enunciados
- Criar entidades
- Atribuir entidades aos enunciados de exemplo
- Treinar, testar e publicar o aplicativo
1. Crie um aplicativo CLU
Usando a mesma conta de usuário usada ao criar o recurso do Azure na seção anterior, entre no Language Studio.
Depois de entrar, você será solicitado a selecionar um recurso do Azure. Selecione os valores usados ao criar o recurso de serviço de Linguagem do Azure e selecione Concluído.
Depois de conectar o recurso do Azure, selecione Criar novo > Entendimento de Linguagem de Conversação e insira os seguintes valores na janela pop-up Criar um projeto:
- Em Name, insira um nome adequado, por exemplo: MRTK-Tutorials-AzureSpeechServices. Anote o nome que você selecionou, você precisará dele mais tarde no tutorial.
- Para Idioma principal dos Enunciados, selecione um idioma.
- Para Descrição, opcionalmente, insira uma descrição adequada.
Selecione Avançar para revisar a configuração do projeto. Selecione Create (Criar) para criar o projeto.
Quando o novo aplicativo for criado, você será direcionado para a página de definição de esquema desse aplicativo.
2. Crie intenções
Na página Definição de esquema, selecione Adicionar e insira o seguinte valor na janela pop-up Adicionar uma intenção:
- Para Nome da intenção, digite Pressione Button
Selecione Adicionar intenção para criar a nova intenção:
Atenção
Para o propósito deste tutorial, seu projeto Unity fará referência a essa intenção pelo nome (
PressButton
). É extremamente importante que você nomeie sua intenção exatamente da mesma forma.Quando a nova intenção tiver sido criada, você será levado de volta à página Definição de esquema. A intenção PressButton aparecerá na lista de intenções.
3. Crie exemplos de enunciados
Na barra lateral esquerda, selecione o botão Rotulagem de dados. Na tela Rotulagem de dados, selecione Pressionar botão na lista suspensa Selecionar intenção.
À lista Enunciados de intenção do PressButton , adicione os seguintes exemplos de enunciados :
- ativar sequência de lançamento
- Mostre-me uma dica de posicionamento
- Iniciar a sequência de lançamento
- Pressione o botão Dicas de posicionamento
- Dê-me uma dica
- Pressione o botão de inicialização
- Eu preciso de uma dica
- Pressione o botão Reset
- Hora de redefinir a experiência
- Vá em frente e lance o foguete
Quando você tiver adicionado todos os enunciados de exemplo, sua página de rotulagem de dados deverá ter esta aparência:
Atenção
Para o propósito deste tutorial, seu projeto Unity fará referência às palavras "dica", "dicas", "redefinir" e "iniciar". É extremamente importante que você escreva essas palavras exatamente da mesma maneira em todos os casos.
4. Criar entidades
Na página Rotulagem de dados, selecione Adicionar entidade no painel Atividade à direita e insira os seguintes valores na janela pop-up Adicionar uma entidade:
- Em Nome da entidade, insira Ação
Selecione Adicionar entidade para criar a nova entidade .
Repita a etapa anterior para criar outra entidade chamada Target, para que você tenha duas entidades chamadas Action e Target.
Atenção
Para o propósito deste tutorial, seu projeto Unity fará referência a essas entidades por seus nomes,
Action
eTarget
. É extremamente importante que você nomeie suas entidades exatamente da mesma forma.
5. Atribua entidades aos enunciados de exemplo
Selecione a palavra ir e, em seguida, na palavra à frente e, em seguida, selecione Ação (Simples) no menu pop-up contextual para rotular ir em frente como um valor de entidade de ação.
A frase ir em frente agora é definida como um valor de entidade de ação . Agora há um valor de entidade de ação sob as palavras "vá em frente".
Nota
A linha vermelha que você vê sob o rótulo na imagem indica que o valor da entidade não foi previsto; Isso será resolvido quando você treinar o modelo na próxima seção.
Em seguida, selecione a palavra launch e, em seguida, selecione Target no menu pop-up contextual para rotular launch como um valor de entidade de destino.
A palavra de lançamento agora é definida como um valor de entidade de destino. Agora há um valor de entidade de destino sob a palavra "lançamento".
O enunciado
go ahead and launch the rocket
de exemplo de intenção PressButton agora está configurado para ser previsto da seguinte maneira:- Intenção: Pressione Button
- Entidade de ação: vá em frente
- Entidade alvo: lançamento
Repita o processo anterior para atribuir um rótulo de Ação e uma entidade de destino a cada um dos enunciados de exemplo, tendo em mente que as seguintes palavras devem ser rotuladas como entidades de destino :
- dica (direciona o HintsButton no projeto Unity)
- dicas (alvos HintsButton no projeto Unity)
- reset (destina-se ao ResetButton no projeto Unity)
- launch (tem como alvo o LaunchButton no projeto Unity)
Selecione Guardar alterações. Quando você tiver rotulado todos os enunciados de exemplo, sua página de intenção do PressButton deverá ter esta aparência:
6. Treine, teste e publique o aplicativo
Para treinar o aplicativo, selecione o botão Trem na barra lateral esquerda. Você deve ver a página Empregos de treinamento.
Selecione Iniciar um trabalho de treinamento e selecione os seguintes valores:
- Selecione Treinar um novo modelo e insira um nome adequado, por exemplo, MRTK-Tutorials-AzureSpeechServices.
- Selecione Treinamento padrão.
- Selecione Dividir automaticamente o conjunto de testes dos dados de treinamento.
Selecione Treinar para iniciar o processo de treinamento. Quando o processamento do treinamento terminar, você verá uma notificação de treinamento concluído.
Para revisar os resultados do treinamento, selecione seu modelo de saída na tela Trabalhos de treinamento e, em seguida, selecione a guia Desempenho do modelo.
Para implantar o aplicativo, selecione o botão Implantando um modelo na barra lateral esquerda. Você deve ver a página Implantando um modelo.
Selecione Adicionar implantação e insira os seguintes valores no pop-up Adicionar implantação:
- Selecione Criar um novo nome de implantação e insira um nome adequado. Anote o nome que você selecionou, você precisará dele mais tarde no tutorial.
- Selecione o modelo que você criou anteriormente na lista suspensa Selecione um modelo treinado.
Selecione Implantar e aguarde a conclusão do processo de publicação.
Selecione a nova implantação e selecione o botão Obter URL de previsão.
Conecte o projeto unity ao aplicativo CLU
Enquanto estiver no pop-up Obter URL de previsão, selecione o ícone Copiar para copiar o URL de previsão.
De volta ao seu projeto Unity, na janela Hierarquia, selecione o objeto Lunarcom e, em seguida, na janela Inspetor, localize o componente Lunarcom Intent Recognizer (Script) e configure-o da seguinte maneira.
- No campo Ponto de extremidade da CLU, passe a URL de previsão copiada na etapa anterior.
- No campo Nome do Projeto da CLU, passe o Nome do Projeto que você anotou ao criar um aplicativo CLU.
- No campo Implantação da CLU, passe o Nome da Implantação que você anotou ao criar uma nova implantação.
- No campo Language Service API Key, passe a chave API (Key1 ou Key2) para o seu Language Service. Você pode encontrar isso no portal do Azure selecionando seu serviço de idioma e, em seguida, selecionando Chaves e ponto de extremidade no menu à esquerda.
Testar o reconhecimento de intenção
Para usar o reconhecimento de intenção diretamente no editor Unity, você deve permitir que seu computador de desenvolvimento use ditado. Para verificar essa configuração, abra Configurações do Windows, escolha Fala de Privacidade> e verifique se o reconhecimento de fala online está ativado.
Se você entrar no modo de jogo, poderá testar o reconhecimento de intenção pressionando primeiro o botão de foguete. Então, quando você diz o primeiro exemplo de enunciação, vá em frente e lance o foguete, você verá o lançamento do LunarModule no espaço.
Tente todos os enunciados de exemplo, em seguida, alguma variação dos enunciados de exemplo, em seguida, alguns enunciados aleatórios.