250 likes | 364 Views
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)
E N D
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
Elementos Category: Unidade básica Pattern: Padrão de entrada Template: Resposta do chatterbot Artificial Inteligence Markup Language (AIML) <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?” • 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 Frase/Intenção • Determina o que o usuário quis dizer • Mapeamento Intenção/Resposta • Determina como o chatterbot deve responder
Truebot 2ª FASE 1ª 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
Mapeamento Frase/Intenção Independente de personalidade Reuzável Mapeamento Intenção/Resposta Dependente de personalidade Personalizado ao criar um novo chatterbot Truebot
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
Base Genérica 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
Truebot: Resultados • 6 chatterbots completamente distintos em menos de uma semana • Uma base de padrões reutilizável
Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves