25
Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Embed Size (px)

Citation preview

Page 1: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Truebot: Um chatterbot personalizável

Henrique Borges Alencar Siqueira

Orientador: André M. M. Neves

Page 2: 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

Page 3: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 4: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

O que são Chatterbots?

Sistemas que tentam simular um ser humano conversando com seu usuário

Page 5: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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”

Page 6: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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.

Page 7: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 8: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 9: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 10: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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>

Page 11: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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.

Page 12: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 13: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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ê!”

Page 14: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 15: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 16: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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.

Page 17: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 18: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Truebot

FRASE RESPOSTAINTENÇÃO

2ª FASE1ª FASE

Olá Olá, como vai?Saudar

Page 19: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Truebot

A divisão em fases permite a identificação de componentes reusáveis no chatterbot

Page 20: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Truebot

Mapeamento Frase/Intenção Independente de

personalidade Reuzável

Mapeamento Intenção/Resposta Dependente de

personalidade Personalizado ao criar

um novo chatterbot

Page 21: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 22: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

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

Page 23: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Truebot: Resultados

6 chatterbots completamente distintos em menos de uma semana

Uma base de padrões reutilizável

Page 24: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Obrigado!

Page 25: Truebot: Um chatterbot personalizável Henrique Borges Alencar Siqueira Orientador: André M. M. Neves

Truebot: Um chatterbot personalizável

Henrique Borges Alencar Siqueira

Orientador: André M. M. Neves