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: – ELIZA – Casamento de padrões 1994 – JULIA – Redes Neurais 1996 – ALICE – Casamento de padrões com uma linguagem simples e baseada em XML (AIML) 1966 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) <category> <pattern>Olá</pattern> <template> Olá, usuário </template> </category> Elementos Category: Unidade básica Pattern: Padrão de entrada Template: Resposta do chatterbot 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?” iGOD: “Eu sou o Todo-poderoso.” 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 Determina o que o usuário quis dizer Mapeamento Frase/Intenção Intenção/Resposta Determina como o chatterbot deve responder Truebot 2ª FASE 1ª FASE FRASE Olá INTENÇÃO Saudar RESPOSTA Olá, como vai? Truebot A divisão em fases permite a identificação de componentes reusáveis no chatterbot Truebot Mapeamento Frase/Intenção Independente personalidade Reuzável de 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 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 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