Cloud Computing

18 jan, 2018

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

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á!