Truebot: Um chatterbot personalizável
description
Transcript of Truebot: Um chatterbot personalizável
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 atualmenteTeve sua base de conhecimentos baseada
em ALICESem 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çõesSaudar: 56 padrões Perguntar o sexo do chatterbot: 650 padrõesXingar: 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õesDepois: Respostas em menos de 100
padrões, um para cada intenção.
Truebot
No Truebot, vemos o processamento do diálogo como duas fases distintasMapeamento Frase/Intenção
Determina o que o usuário quis dizerMapeamento Intenção/Resposta
Determina como o chatterbot deve responder
Truebot
FRASE RESPOSTAINTENÇÃO
2ª FASE1ª FASE
Olá Olá, como vai?Saudar
Truebot
A divisão em fases permite a identificação de componentes reusáveis no chatterbot
Truebot
Mapeamento Frase/Intenção 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éricaBase Específica
Truebot: Resultados 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
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