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
Download

Truebot - IC1