Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves
Motivação E-commerce Suporte on-line 24/7 Entretenimento Educação
Roteiro O que são chatterbots Como chatterbots são implementados AIML (Artificial Inteligence Markup Language) Porque é difícil editar e personalizar um chatterbot em AIML iAIML: Organizando AIML para tratar intenção Truebot: Um chatterbot personalizável
O que são Chatterbots? Sistemas que tentam simular um ser humano conversando com seu usuário
Exemplo de diálogo Vendedor: “Olá! O que você está procurando?” Usuário: “Um notebook para meu negócio de consultoria.” Vendedor: “Por favor descreva se você tem alguma restrição de preços.” Usuário: “Não é muito importante. Estou interessado em alta performance.” Vendedor: “Você está procurando algum notebook topo-de-linha?” Usuário: “Sim, exatamente!” Vendedor: “Acredito que temos o produto certo para você. Clique aqui para ver o ThinkPad770”
Como chatterbots são implementados Diversas abordagens já foram tentadas: 1966 – ELIZA – Casamento de padrões 1994 – JULIA – Redes Neurais 1996 – ALICE – Casamento de padrões com uma linguagem simples e baseada em XML (AIML) O casamento de padrões ainda é a melhor solução encontrada e vem sendo utilizado desde a década de 60.
Como chatterbots são implementados Frases são entendidas através dos padrões A resposta do chatterbot depende do padrão que casou a frase
Como chatterbots são implementados As implementações mais simples e bem sucedidas atualmente utilizam casamento de padrões com a linguagem AIML. Mais de 50 mil chatterbots implementados em AIML
Artificial Inteligence Markup Language (AIML) Linguagem de marcação utilizada para: Definir os padrões compreendidos pelo chatterbot Definir as réplicas de cada padrão
Artificial Inteligence Markup Language (AIML) Elementos Category: Unidade básica Pattern: Padrão de entrada Template: Resposta do chatterbot <category> <pattern>Olá</pattern> <template> Olá, usuário </template> </category>
Por que é difícil personalizar um chatterbot em AIML Para mudar a resposta de um padrão, edita-se a categoria. Implementações comuns em AIML contém mais de 45 mil categorias.
Por que é difícil personalizar um chatterbot em AIML iGOD Um dos chatterbots mais visitados atualmente Teve sua base de conhecimentos baseada em ALICE Sem condições de personalizar completamente os quase 50 mil padrões, seu criador deixou inconsistências na base de conhecimentos
Por que é difícil personalizar um chatterbot em AIML Diálogo com iGOD em dezembro de 2005: Usuário: “Quem é você?” iGOD: “Eu sou o Todo-poderoso.” Usuário: “Quem é ALICE?” Usuário: “Não estava me referindo a você!”
iAIML: Organizando AIML para tratar intenção Tese de doutorado de André M.M. Neves apresentada em fevereiro de 2005 Propunha uma reorganização da base AIML, em que o diálogo gira em torno de intenções
iAIML: Organizando AIML para tratar intenção O número de intenções é bem menor que o número de padrões 11 mil padrões divididos em apenas 73 intenções Saudar: 56 padrões Perguntar o sexo do chatterbot: 650 padrões Xingar: 839 padrões
iAIML: Organizando AIML para tratar intenção A reorganização da base AIML permitiu a criação de chatterbots personalizáveis: Antes: Respostas em 11 mil padrões Depois: Respostas em menos de 100 padrões, um para cada intenção.
Truebot No Truebot, vemos o processamento do diálogo como duas fases distintas Mapeamento Frase/Intenção Determina o que o usuário quis dizer Mapeamento Intenção/Resposta Determina como o chatterbot deve responder
Truebot 1ª FASE 2ª FASE FRASE INTENÇÃO RESPOSTA Olá Saudar Olá, como vai?
Truebot A divisão em fases permite a identificação de componentes reusáveis no chatterbot
Truebot Mapeamento Frase/Intenção Mapeamento Intenção/Resposta Independente de personalidade Reuzável Mapeamento Intenção/Resposta Dependente de personalidade Personalizado ao criar um novo chatterbot
Truebot: Resultados Seguindo a divisão em fases proposta, foram criadas duas bases para o Truebot, uma para cada fase: Base Genérica Base Específica
Truebot: Resultados Base Genérica Base Específica Mapeamento Frase/Intenção Após o mapeamento, redireciona para a Base Específica 10.994 padrões sem nenhuma resposta Inviável personalizar, mas desnecessário Base Específica Mapeamento Intenção/Resposta 73 padrões, um por arquivo, com as respostas de cada intenção Facilmente personalizável
Truebot: Resultados 6 chatterbots completamente distintos em menos de uma semana Uma base de padrões reutilizável
Obrigado!
Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves