Cloud Computing

Cloud Computing

Introdução ao LUIS – Parte 02: criando modelos

18 jan, 2018
Publicidade

Introdução

No artigo anterior, apresentei conceitos importantes para definição do modelo usado por uma aplicação do LUIS.

Agora vamos conversar sobre detalhes deste modelo.

Criando o modelo

O modelo preditivo do LUIS tenta identificar padrões da linguagem humana para interpretar o conteúdo de uma conversação através da interação entre os conceitos de intenção, entidade e sentenças.

O diagrama a seguir ilustra como a estrutura de uma sentença pode ser compreendida de diversas formas.

No caso, solicitante é sempre a pessoa que interage com o LUIS. O objetivo é identificar a ação (intenção) e o objeto (entidade) da sentença.

A criação do modelo preditivo começa pela identificação das principais ações relacionadas ao tema da aplicação, ou seja, as intenções que se pretende identificar com o modelo.

As intenções devem necessariamente ser bem distintas uma das outras para garantir um bom nível de acerto da aplicação. Em termos práticos, a ideia de eliminar ambiguidades está diretamente associada à capacidade de treinar o modelo com sentenças suficientemente distintas a ponto de caracterizar cada uma das intenções escolhidas.

Para fins de exemplo, consideremos um modelo de uma agência de turismo em que precisamos reconhecer as seguintes intenções:

  • Intenções escolhidas
  • Comprar
  • Cancelar
  • Pagar

O segundo passo é escolher as entidades, que são os objetos sobre os quais agiremos.

Entidades

  • Produto (“passagem aérea”, “hotel”, “pacote turístico”, “voo”).
  • Pedido (valor numérico – ordinal).
  • Preço (valor numérico – moeda).
  • Condição (“à vista”, “à prazo”, “parcelamento”).

Finalmente, precisamos definir as sentenças que serão usadas para treinar cada intenção do modelo e mapear as entidades dentro de cada sentença. No caso, eu selecionei cinco sentenças para cada ação. A listagem a seguir mostra estas sentenças.

Como construir uma aplicação

O meio mais fácil de se criar uma aplicação do LUIS é utilizando a interface online em www.luis.ai. Para situações mais específicas, é possível construir aplicações customizadas usando a sua API de programação.

O roteiro a seguir mostra a criação da aplicação via interface online. Após se conectar na sua conta do Azure, clique o botão Create new app para iniciar uma nova aplicação, informe os dados solicitados e clique o botão Done. É muito importante informar que a língua usada é “Brazilian Portuguese”.

A tela seguinte permite o cadastramento das intenções que se pretende reconhecer. Observe que a intenção default (“None” ou nenhuma intenção) já faz parte do modelo. A “None” serve para apontar sentenças que aparentemente não têm conexão com nenhuma das intenções que se deseja identificar.

Cadastre todas as intenções do modelo. Neste ponto, não é necessário se preocupar com as sentenças de treinamento, porque ainda não existem as entidades que vão se associar a estas intenções.

O passo seguinte é criar as entidades do modelo, informando o tipo considerado para cada uma delas. Veja o caso do cadastramento da entidade “Condição de Pagamento”, chamada aqui apenas de condição.

Por se tratar de uma lista de valores, para a entidade condição é preciso informar os elementos reconhecidos e sinônimos de cada elemento. Neste ponto, pode ser útil cadastrar sinônimos com erros ortográficos, considerando que o solicitante pode enviar uma requisição com este tipo de problema.

Pensando nisso, eu cadastrei os seguintes elementos e seus “sinônimos”.

A Seguir

Uma vez cadastradas todas as intenções e entidades, podemos iniciar o treinamento do modelo para uso em produção, o que será objeto do próximo artigo desta série.

Até lá!