menu

Para variar um pouco, decidi preparar um artigo um pouco mais técnico para todos os amantes e profissionais de tecnologia. Como técnico de gestor de projetos, é o meu trabalho estar sempre atualizado com as novas tecnologias e tendências que vão surgindo. Só assim é que consigo fornecer soluções de alta qualidade que garantam o melhor resultado tanto para o cliente como para a nossa equipa. Durante as minhas sessões de autoaprendizagem, cheguei à conclusão que passo muito tempo a lidar e a estudar a inteligência artificial e a explorar Plato.

O que é Plato?

O Plato Research Dialogue System é uma estrutura que pode ser usada para criar, treinar e avaliar agentes conversacionais a partir da inteligência artificial (IA). Plato é uma ferramenta, fornecida pela Uber em 2020, que pode ser usada para criar agentes de conversação que suportam interações através do meio da fala, texto ou diálogo. Para simplificar, existem quatro componentes principais em Plato:

  • O diálogo que define e implementa ações de diálogo e estados de diálogo;
  • O domínio que inclui a ontologia do diálogo e a base de dados que o sistema de diálogo consulta;
  • O controlador, que organiza as conversas;
  • O agente que implementa os diversos componentes de cada agente conversacional.

A imagem abaixo, representa exatamente o que acabei de mencionar:

plato dialogue system artificial intelligence

Agora, deixe-me explicar o que cada um desses componentes realmente significa.

Domínio (Domain):

Existem dois elementos que constituem o domínio do sistema de diálogo:

  1. Ontologia do sistema de diálogo. Em aplicações orientadas a tarefas, a ontologia determina slots informativos (o utilizador fornece essas informações), slots requisitáveis (o utilizador solicita essas informações) e slots requisitáveis pelo sistema (o sistema solicita essas informações) para a conversa, refletindo o esquema da base de dados que o agente consulta para obter as informações corretas para enviar.
  2. Banco de dados de itens (restaurantes, pratos, respostas a perguntas, etc.). Embora a base de dados já exista, o Plato fornece ferramentas para construir o domínio e a base de dados de um sistema de diálogo a partir de dados.

Diálogo (Dialogue):

Plato facilita conversas entre agentes através de conceitos bem definidos na teoria do diálogo, tais como estados do diálogo e atos do diálogo. Um agente Plato pode precisar de executar ações não diretamente relacionadas ao diálogo (por exemplo, invocar uma API) ou ações que comuniquem informações em outras modalidades além da fala. Plato modela ações e estados como recipientes abstratos a partir dos quais os atos do diálogo e os estados do mesmo são criados. Se necessário, para aplicações específicas (por exemplo, agentes de conversação multimodais), podemos ter atos e estados de diálogo específicos da tarefa.

Controlador (Controller):

Em Plato, os controladores são objetos que organizam conversas entre os agentes. Um controlador representa os agentes, inicia-os para cada diálogo, passa as entradas e saídas de acordo e mantém o controlo das estatísticas.

plato dialogue system artificial intelligence

Agente (Agent):

Cada aplicação conversacional em Plato pode ter um ou mais agentes. Cada agente tem uma função e um conjunto de componentes como a NLU (Natural Language Understanding), DM (Dialogue Management), DST (Dialogue State Tracking), Dialogue Policy e NLG (Natural Language Generation). Um agente pode ter um módulo explícito para cada um desses componentes ou, alternativamente, alguns desses componentes podem ser combinados em um ou mais módulos.

Durante a aprendizagem do Plato, recolhi alguns artigos interessantes sobre este tópico, onde pode dar uma vista de olhos nos links a seguir, AQUI e AQUI.

Alguns dos resultados:

O processo de aprendizagem do framework Plato foi integrado no programa de pesquisa e desenvolvimento da LOAD, cujo principal objetivo era implementar a determinação da intenção do utilizador, extração da entidade (por exemplo, tópico, dia), geração de linguagem e gestão da interação. Neste contexto, e com um estudo aprofundado de Plato (uma vez que Plato é um framework de open-source), foi feita uma reestruturação ao framework para que este servisse as nossas necessidades específicas, cujo principal objetivo era a extração de intenções e entidades de um determinado texto recebido do utilizador e a geração da sua resposta, conforme a imagem abaixo.

plato dialogue system artificial intelligence

Como é que esta aprendizagem foi útil para a LOAD?

Com todo, o desenvolvimento tecnológico que ocorre diariamente, não devemos (e não podemos) focar-nos apenas na nossa zona de conforto. Em vez disso, precisamos de tomar a iniciativa de aprender novas tecnologias, desafiando a nós mesmos para nos tornarmos melhores profissionais. Neste artigo e nas conversas que acontecem, cada vez mais, sobre a evolução digital, ouvimos as pessoas falarem de inteligência artificial e da necessidade da sua presença no nosso dia a dia.
Tendo isso em conta, e como verdadeiros amantes da tecnologia, na LOAD queremos estar sempre na vanguarda da tecnologia e continuarmos a aprender mais para entregarmos soluções de última geração às necessidades dos nossos clientes e expandir o conhecimento interno da nossa equipa. 

 

NÃO PERCA NENHUMA HISTÓRIA!Junte-se à nossa comunidade em crescimento e seja inspirado pelo nossos artigos.
Sem brincadeiras, sem jogos, sem publicidade. Somente um clique para subscrever.
ENPT
lang
Load-chatbot