2017 - TCC - Chatbot

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 49

UNIVERSIDADE FEDERAL DO CEARÁ

CAMPUS QUIXADÁ
BACHARELADO EM ENGENHARIA DE SOFTWARE

FELIPE NEVES BRITO

DESENVOLVIMENTO DE UM CHATTERBOT PARA A PÁGINA WEB DE UM


CURSO DE NÍVEL SUPERIOR

QUIXADÁ
2017
FELIPE NEVES BRITO

DESENVOLVIMENTO DE UM CHATTERBOT PARA A PÁGINA WEB DE UM CURSO DE


NÍVEL SUPERIOR

Monografia apresentada no curso de Engenharia


de Software da Universidade Federal do Ceará,
como requisito parcial à obtenção do título de
bacharel em Engenharia de Software. Área de
concentração: Computação.

Orientador: Prof. Dr. Marcos Antonio


de Oliveira

QUIXADÁ
2017
Dados Internacionais de Catalogação na Publicação
Universidade Federal do Ceará
Biblioteca Universitária
Gerada automaticamente pelo módulo Catalog, mediante os dados fornecidos pelo(a) autor(a)

B875d Brito, Felipe Neves.


Desenvolvimento de um chatterbot para a página web de um curso de nível superior / Felipe Neves
Brito. – 2017.
48 f. : il. color.

Trabalho de Conclusão de Curso (graduação) – Universidade Federal do Ceará, Campus de Quixadá,


Curso de Engenharia de Software, Quixadá, 2017.
Orientação: Prof. Dr. Marcos Antonio de Oliveira.

1. Processamento de linguagem natural. 2. Inteligência Artificial. 3. Representação do conhecimento. I.


Título.
CDD 005.1
FELIPE NEVES BRITO

DESENVOLVIMENTO DE UM CHATTERBOT PARA A PÁGINA WEB DE UM CURSO DE


NÍVEL SUPERIOR

Monografia apresentada no curso de Engenharia


de Software da Universidade Federal do Ceará,
como requisito parcial à obtenção do título de
bacharel em Engenharia de Software. Área de
concentração: Computação.

Aprovada em:

BANCA EXAMINADORA

Prof. Dr. Marcos Antonio de Oliveira (Orientador)


Campus Quixadá
Universidade Federal do Ceará – UFC

Paulo de Tarso Guerra Oliveira


Campus Quixadá
Universidade Federal do Ceará - UFC

Ticiana Linhares Coelho da Silva


Campus Quixadá
Universidade Federal do Ceará - UFC
Dedico este trabalho ao professor Marcos, por
ter sido meu orientador na minha bolsa de
pesquisa e durante o desenvolvimento desta
monografia.
AGRADECIMENTOS

Ao Prof. Dr. Marcos A. de Oliveira, pela excelente orientação.


Aos colegas da turma, pelas reflexões, críticas e sugestões recebidas.
“I don’t have dreams. I have goals.”
(Harvey Spector)
RESUMO

Com o avanço da tecnologia os serviços de atendimento ao cliente e de perguntas frequentes têm


ficado cada vez mais inteligentes e autônomos. O presente trabalho apresenta o desenvolvimento
de um chatterbot utilizando o IBM Watson Conversation capaz de responder à perguntas sobre o
curso de Sistemas de Informação (SI), da Universidade Federal do Ceará - Campus Quixadá. O
objetivo do chatterbot desenvolvido consistiu no mesmo ser capaz de responder às principais
perguntas sobre o curso de SI, de maneira rápida e com uma alta taxa de disponibilidade, além de
conseguir manter um diálogo com várias pessoas simultaneamente. Após a primeira validação
do chatterbot ele foi treinado de modo que aprendesse com os erros cometidos na validação. Na
segunda validação foi possível obter resultados positivos a respeito da capacidade do chatterbot
de responder as perguntas de maneira satisfatória para os usuários, sendo eles alunos ou não do
curso de SI.

Palavras-chave: Processamento de linguagem natural. Inteligência Artificial. Representação do


conhecimento
ABSTRACT

With the advancement of technology, customer service and frequently asked questions systems
have become increasingly more intelligents and autonomous. This paper presents the
development of a chatterbot able to answer questions about the course Information Systems,
from the Federeal University of Ceará - Quixadá Campus, using IBM Watson Conversation. The
goal of the project was to be able to respond to the main questions about the course, in a quickly
and with a high availability rate matter, besides being able to maintain a dialogue with several
people simultaneously. After the first validation of the chatterbot it was trained in order to learn
from it’s mistakes made in the validation and in the second validation, it was possible to obtain
positive results regarding the ability of the chatterbot to answer the questions in a satisfactory
way for the users, whether they are students or not.

Keywords: Natural language processing. Artificial intelligence. Knowledge representation


LISTA DE FIGURAS

Figura 1 – Mapa mental das áreas de conhecimento . . . . . . . . . . . . . . . . . . . 21


Figura 2 – Arquitetura - Visão de Componentes . . . . . . . . . . . . . . . . . . . . . 22
Figura 3 – Código principal do Webhook . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 4 – Início do Fluxo de Diálogos . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figura 5 – Saber Sobre - Fluxo de Diálogos . . . . . . . . . . . . . . . . . . . . . . . 26
Figura 6 – Saber Sobre - Fluxo de Diálogos . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 7 – Saber sobre formas de ingresso - Fluxo de Diálogos . . . . . . . . . . . . . 28
Figura 8 – Fluxo do chatterbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 9 – Público da primeira validação . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 10 – Público da validação final . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figura 11 – Gráfico de sucesso da tarefa um - validação um . . . . . . . . . . . . . . . 33
Figura 12 – Gráfico de sucesso da tarefa um - validação final . . . . . . . . . . . . . . . 33
Figura 13 – Gráfico de sucesso da tarefa dois - validação um . . . . . . . . . . . . . . . 34
Figura 14 – Gráfico de sucesso da tarefa dois - validação final . . . . . . . . . . . . . . 35
Figura 15 – Gráfico de sucesso da tarefa 03 . . . . . . . . . . . . . . . . . . . . . . . . 36
Figura 16 – Gráfico de sucesso da tarefa 03 . . . . . . . . . . . . . . . . . . . . . . . . 36
Figura 17 – Gráfico de sucesso da tarefa quatro - validação um . . . . . . . . . . . . . . 37
Figura 18 – Gráfico de sucesso da tarefa quatro - validação final . . . . . . . . . . . . . 38
Figura 19 – Gráfico de sucesso da tarefa cinco - validação um . . . . . . . . . . . . . . 39
Figura 20 – Gráfico de sucesso da tarefa cinco - validação final . . . . . . . . . . . . . . 39
Figura 21 – Gráfico de sucesso da tarefa seis - validação um . . . . . . . . . . . . . . . 40
Figura 22 – Gráfico de sucesso da tarefa seis - validação final . . . . . . . . . . . . . . . 41
Figura 23 – Gráfico de sucesso da tarefa sete - validação um . . . . . . . . . . . . . . . 42
Figura 24 – Gráfico de sucesso da tarefa sete - validação final . . . . . . . . . . . . . . 42
Figura 25 – Gráfico de sucesso da tarefa oito - validação um . . . . . . . . . . . . . . . 43
Figura 26 – Gráfico de sucesso da tarefa oito - validação final . . . . . . . . . . . . . . 44
Figura 27 – Satisfação dos usuários na tarefa nove - validação um . . . . . . . . . . . . 45
Figura 28 – Gráfico de sucesso da tarefa node - validação final . . . . . . . . . . . . . . 45
LISTA DE ABREVIATURAS E SIGLAS

FAQ Frequently Ask Questions

SI Sistemas de Informação

UFC Universidade Federal do Ceará


SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . . . . . 14
2.1 AGEbot: um chatterbot em AIML voltado para responder questões
sobre Epilepsia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Desenvolvimento de um chatbot para auxiliar o ensino de Espanhol
como Língua Estrangeira . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . . . . . 16
3.1 Sistemas de Resposta a Perguntas . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Chatterbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Engine Chatterbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Facebook Messenger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.5 FAQ do curso de SI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 DESENVOLVIMENTO DO CHATTERBOT . . . . . . . . . . . . . . . . 20
4.1 Escolher o tipo de chatterbot . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 Definir as áreas de conhecimento do chatterbot . . . . . . . . . . . . . . . 20
4.3 Desenvolvimento da Arquitetura do Chatterbot . . . . . . . . . . . . . . 21
4.4 Implementação do Servidor Webhook . . . . . . . . . . . . . . . . . . . 22
4.5 Implementação do Servidor CMS . . . . . . . . . . . . . . . . . . . . . . 23
4.6 Implementação no Watson Conversation . . . . . . . . . . . . . . . . . . 24
4.7 Implementação do Chatterbot . . . . . . . . . . . . . . . . . . . . . . . . 28
4.8 Realização de testes de aceitação . . . . . . . . . . . . . . . . . . . . . . 30
4.9 Analisar dados coletados . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.10 Implementar mudanças com base nos dados analisados . . . . . . . . . . 30
5 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1 Tarefa um da validação . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2 Tarefa dois da validação . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 Tarefa três da validação . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4 Tarefa quatro da validação . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Tarefa cinco da validação . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6 Tarefa seis da validação . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7 Tarefa sete da validação . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.8 Tarefa oito da validação . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.9 Tarefa nove da validação . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
ANEXO A – LISTA DE PERGUNTAS DA VALIDAÇÃO . . . . . . . . 48
13

1 INTRODUÇÃO

Inteligência Artificial é um campo da Ciência da Computação que estuda a síntese e


a análise de agentes computacionais que agem de forma inteligente (POOLE; MACKWORTH,
2010). Poole e Mackworth (2010) definem os objetivos centrais de pesquisa da Inteligência
Artificial como sendo: analisar agentes naturais e agentes artificiais; formular e testar hipóteses
sobre o que é necessário para a criação de agentes inteligentes; e projetar, estudar e fazer
experimentos com sistemas computacionais que executam tarefas que requerem inteligência.
O avanço da tecnologia tem permitido a criação de sistemas cada vez mais
inteligentes e autônomos, dentre eles destaca-se o surgimento dos chatterbots. O termo
chatterbot vem do inglês em que chatter significa conversador e bot é uma abreviação para robot
que significa robô. Sganderla, Ferrari e Geyer (2003) definem chatterbots como sistemas
computacionais que simulam o comportamento humano em conversas, e que são capazes de
analisar, interpretar e responder perguntas.
A autonomia e capacidade de tomada de decisão dos chatterbots tornou possível
a substituição de operadores humanos por assistentes virtuais no suporte de sistemas de FAQ
(Frequentlly Asked Questions) de diversas áreas, tornando esse atendimento disponível a todo
momento e sem a necessidade de esperas longas.
Este trabalho propõe a criação de um chatterbot utilizando o IBM Watson
Conversation para dar suporte ao sistema de FAQ da página do curso de Sistemas de Informação
da Universidade Federal do Ceará, Campus Quixadá.
Levando-se em consideração que os chatterbots simulam o comportamento humano
de forma autônoma, será verificado se é possível a criação de um sistema que responda às
perguntas frequentes da página do curso de Sistemas de Informação (SI) de modo que substitua
a necessidade de um operador humano. As perguntas devem ser respondidas de modo que quem
esteja utilizando o sistema consiga a resposta desejada e tenha a sensação de que estas respostas
sejam oriundas de um operador humano.
Os resultados obtidos em Ferreira e Uchôa (2008) mostram indícios de que a
utilização de chatterbots cria um aumento no interesse e curiosidade dos usuários, e no caso do
FAQ de SI, é importante despertar esse interesse dos usuários, já que o atual FAQ possui poucos
acessos. Além de responder a perguntas dos alunos, o chatterbot também é capaz de responder
perguntas de pessoas que ainda não são alunos e querem conhecer mais sobre o curso, de uma
maneira mais interativa e fluente, diferente do FAQ estático presente no site de SI.
14

2 TRABALHOS RELACIONADOS

Nesta seção serão apresentados os trabalhos relacionados, destacando as diferenças


deles para o trabalho atual.

2.1 AGEbot: um chatterbot em AIML voltado para responder questões sobre Epilepsia

AIML é uma abreviação do termo em inglês Artificial Intelligence Markup


Language (Linguagem de Marcação para Inteligência Artificial), que representa uma linguagem
de marcação desenvolvida para o uso na Inteligência Artificial (WALLACE, 2005).
Em Fossatti, Rabello e Marchi (2011), é apresentado o processo de criação de um
chatterbot voltado para responder perguntas sobre epilepsia. Através dos resultados obtidos em
Fossatti, Rabello e Marchi (2011), os autores concluíram que o chatterbot atingiu seus objetivos,
respondendo e sanando dúvidas dos seus usuários sobre epilepsia. Concluíram ainda que os
resultados mostram indícios de que a utilização de chatterbots cria um aumento no interesse e
curiosidade dos usuários.
O chatterbot proposto em Fossatti, Rabello e Marchi (2011) possui uma base de
conhecimento voltada apenas para responder a perguntas sobre epilepsia, deixando a desejar
fatores sociais do chatterbot. Essa base de conhecimentos foi inicialmente construída através de
uma coleta de informações em diversos livros sobre epilepsia, em seguida outros dados foram
coletados em websites informativos e por fim dados foram retirados de fóruns de discussão
frequentados por epilépticos. Como proposta de trabalhos futuros, os autores propõem
incrementar a base de conhecimento do chatterbot, aumentando o escopo de respostas, e
adicionar categorias sociais ao chatterbot, atribuindo mais personalidade ao sistema.
O chatterbot proposto neste trabalho, para a página web do curso de SI propõe a
inclusão de uma base de conhecimento extra, além dos conhecimentos técnicos, com o intuito
de atribuir mais personalidade ao chatterbot, assim como a proposta de trabalhos futuros em
Fossatti, Rabello e Marchi (2011).

2.2 Desenvolvimento de um chatbot para auxiliar o ensino de Espanhol como Língua


Estrangeira

Ferreira e Uchôa (2008) propõem a criação de um chatterbot para auxiliar o ensino


de língua estrangeira. Os autores buscaram desenvolver um chatterbot que seguisse os seguintes
15

critérios:
• Que fosse simples;
• E que pudesse ser modificado por pessoas relativamente leigas em informática;
Levando estes critérios em consideração, o IBM Watson Conversation foi
selecionado pois atende ao critério de funcionamento, sendo utilizados amplamente e validado
pelos programas que os utilizam. Também atende ao critério de simplicidade, o console de
controle do Watson possui uma estrutura simples, de fácil desenvolvimento e um escopo de
definições pequeno. Por ser uma ferramenta de estruturação simples, em geral, pessoas com
pouco conhecimento em informática conseguem entender e realizar modificações sem muito
esforço, portanto o terceiro critério também é atendido.
Após a implantação do chatterbot proposto no presente trabalho, na página web
do curso de SI, sua base de conhecimentos será mantida por uma equipe de secretaria e de
comunicação, que podem ou não possuir conhecimentos avançados em informática. Sendo
assim, o critério de que o chatterbot possa ser modificado por pessoas relativamente leigas em
informática, citado em Ferreira e Uchôa (2008), foi um dos fatores contribuintes para a utilização
do CMS no desenvolvimento do chatterbot proposto.
Ferreira e Uchôa (2008) concluem que é possível criar um chatterbot simples, de
forma fácil e rápida, de modo ainda que mesmo pessoas que não possuem conhecimentos
em programação de computadores, com um treinamento mínimo, conseguem criar padrões de
respostas para o chatterbot.
Ferreira e Uchôa (2008) deixam como trabalho futuro a ampliação da base de
conhecimentos do chatterbot de forma que ele tenha mais conhecimentos sobre o mundo,
atribuindo-lhe assim mais personalidade. O chatterbot proposto para o curso de SI possui essa
diferenciação por já conter alguns aspectos sociais.
16

3 FUNDAMENTAÇÃO TEÓRICA

Nesta seção serão apresentados os principais conceitos necessários para o


desenvolvimento deste trabalho, e como estes conceitos impactam seu desenvolvimento.

3.1 Sistemas de Resposta a Perguntas

Um Sistemas de Resposta a Perguntas é um sistema que analisa uma pergunta dada,


em primeiro momento, e retorna uma ou mais respostas baseado na pergunta. É importante
entender a intenção do usuário ao fazer a pergunta: seja ela querer saber o nome de uma pessoa,
sobre um local, sobre uma organização ou sobre qualquer outra coisa (LEE et al., 2001).
O avanço dos Sistemas de Resposta a Perguntas pode ajudar profissionais de diversas
áreas, em sistemas críticos e sistemas tempo-sensíveis, como sistemas de saúde, sistemas
comerciais, sistemas de segurança e sistemas de suporte ao consumidor (FERRUCCI et al.,
2010).
Ferrucci et al. (2010) afirma que o domínio de Sistemas de Resposta a Perguntas
consiste em um domínio atrativo e um dos mais desafiadores para a área de Computação e
Inteligência Artificial, pois requer a síntese de recuperação de informações, processamento
de linguagem natural, representação de conhecimento, aprendizado de máquina e interfaces
humano-computador.
Para este projeto foi desenvolvido um chatterbot como um Sistemas de Resposta
a Perguntas para responder perguntas frequentes sobre o curso de Sistemas de Informação, da
Universidade Federal do Ceará.

3.2 Chatterbot

O termo chatterbot vem do inglês em que chatter significa conversador e bot é uma
abreviação para robot que significa robô. Sganderla, Ferrari e Geyer (2003) definem chatterbots
como sistemas computacionais que simulam o comportamento humano em conversas, capazes
de analisar, interpretar e responder perguntas.
Para o desenvolvimento do chatterbot é necessário primeiro conhecer os diferentes
tipos de chatterbots, buscando a abordagem que melhor se encaixa para este projeto. Para Kunze
(2016), há dois tipos principais de chatterbots: os chatterbots de utilidade e os chatterbots
dirigidos a conteúdo. Os chatterbots de utilidade são capazes de realizar alguma tarefa quando
17

solicitados. Já os chatterbots dirigidos à conteúdo, possuem o objetivo de seguir um roteiro e


prover conteúdo aos seus usuários. A assistente da Apple, a Siri1 e a assistente da Microsoft,
Cortana2 , podem desempenhar ambas funções, respondendo sobre condições climáticas ou
ativando o alarme do celular quando solicitadas, por exemplo.
É importante destacar a diferença entre um chatterbot e um Question Asnwering
System. Um chatterbot dirigido a conteúdo consiste em um Question Asnwering System, pois
analisa, interpreta e responde perguntas. No entanto, um chatterbot é capaz de desempenhar
funções muito além de responder perguntas, que é o caso dos chatterbots de utilidade.
Como o objetivo deste projeto é o desenvolvimento de um chatterbot capaz de
responder às perguntas frequentes do curso de Sistemas de Informação, foi desenvolvido um
chatterbot dirigído a conteúdo.

3.3 Engine Chatterbot

O componente mais importante de um chatterbot consiste na sua engine. A engine é


responsável por transformar linguagem natural em uma ação entendível por máquinas. As engines
de chatterbots geralmente são desenvolvidas utilizando-se vários modelos de Processamento de
Linguagem Natural e Aprendizado de Máquina para prover níveis aceitáveis de precisão (KAR;
HALDAR, 2016).
Para este projeto a engine utilizada para o chatterbot foi a IBM Watson
Conversation3 .
O Watson Conversation utiliza em conjunto aprendizado de máquina e processamento
de linguagem natural para conseguir extrair intenções e entidades de um diálogo e assim conseguir
elaborar uma resposta mais precisa. Nesta sessão serão listados os principais conceitos chave
contidos em uma engine de chatterbots, que são: Entidades, Intenções, Contexto, e Diálogo.
Entidades: As entidades são informações específicas de um domínio, que são
extraídas de uma expressão no qual mapeiam as frases de linguagem natural para as suas frases
canônicas com o objetivo de entender a intenção (KAR; HALDAR, 2016).
Elas ajudam a identificar os parâmetros necessários para tomar ações específicas.
Para o treinamento do chatterbot na platafomra do Watson Conversation, as entidades são
agrupadas em domínios de aplicação (KAR; HALDAR, 2016).
1 http://www.apple.com/br/ios/siri/
2 https://support.microsoft.com/pt-br/help/17214/windows-10-what-is
3 https://www.ibmwatsonconversation.com/
18

Intenções: As intenções são cruciais em uma aplicação de chatterbot. As intenções


representam o que os usuários estão buscando realizar ou saber, dada aquela mensagem (KAR;
HALDAR, 2016).
Contexto: Determinar o contexto de uma expressão criada pelo usuário é uma
funcionalidade considerada importante em chatterbots modernos. O contexto pode ser usado
para lidar com situações onde a a entrada do usuário seja muito vaga ou possui múltiplos
significados baseado no histórico de conversação. Contextos representam a habilidade dos
agentes de manter o estado da conversa para utilizar como forma de identificar a intenção do
usuário (KAR; HALDAR, 2016).
Diálogos: O diálogo utiliza as intenções, as entidades e o contexto da aplicação para
retornar uma resposta baseado na entrada do usuário.
Como exemplo, podemos supor que um aluno deseja saber a quantidade de horas de
atividades complementares ele precisa para a conclusão do curso. Nesse contexto, a intenção
do aluno é saber a quantidade de algo. E a entidade ao qual retrata sua intenção consiste em
"Atividade Complementar". Portanto o fluxo de diálogo consiste em unir a intenção de saber a
quantidade de algo à entidade “Atividade Complementa” para elaborar uma resposta. Caso o
aluno queira saber a quantidade de créditos necessários em disciplinas optativas para se formar,
a intenção continua sendo de saber a quantidade de algo, porém as entidades passam a ser
"Créditos"e "Disciplinas Optativas".

3.4 Facebook Messenger

Para a interação do usuário com o chatterbot é necessária uma interface humano-


computador. Canais chaterbot são aplicações que permitem rodar chatterbots em dispositivos
móveis suportados ou em aplicações desktop. Eles tipicamente são construídos sobre plataformas
de conversação existentes. Plataformas de Canais chatterbot populares incluem o Facebook
Messenger, Slack, Telegram, Kik, Skype, dentre outros (KAR; HALDAR, 2016).
Em algumas aboragens, como no Facebook Messenger, os canais possuem uma
interface separada da plataforma de chatterbot e utilizam Webhooks para a comunicação com os
canais (KAR; HALDAR, 2016).
Para esse projeto, foi utilizado o Facebook Messenger para fazer a interface com o
usuário, uma vez que o curso já possui uma página no Facebook e o este é amplamente utilizado
pelos alunos.
19

3.5 FAQ do curso de SI

Pinheiro (2014) propõe a inclusão de um sistema de FAQ para a página do curso de


Sistemas de Informação, da Universidade Federal do Ceará, como uma técnica para a gestão
do conhecimento. Segundo Pinheiro (2014), por mais que determinadas informações sejam
úteis, um sistema não será uma boa ferramenta de compartilhamento de conhecimento se o seu
conteúdo for estático, sem a possibilidade de externalização contínua de experiência. Para de
permitir essa externalização contínua, foi analisado se o chatterbot deve seguir uma abordagem
baseado em regras ou se deve utilizar-se de aprendizado de máquina.
Uma das vantagens de utilizar aprendizado de máquina é que uma vez que o
chatterbot for instalado, não haverá a necessidade de uma pessoa para manter o conhecimento
constantemente atualizado. O chatterbot terá a capacidade de aprender com seus usuários e
assim aumentar seu escopo de conhecimento. Utilizando uma abordagem baseada em regras
seria necessário que uma pessoa atualizasse constantemente o sistema para manter a
externalização contínua do conhecimento.
Por outro lado, a utilização de aprendizado de máquina para a construção do
chatterbot permite que o mesmo obtenha conhecimentos através do dialogo com seus usuários,
tornando o seu escopo de conhecimento mais abrangente, o que poderá acarretar em um desvio
de função. Se os parâmetros de aprendizado não forem definidos corretamente, o chatterbot
evolui rapidamente e deixa de exercer o comportamento apropriado (KUNZE, 2016). Entretanto,
um chatterbot desenvolvido através de aprendizado de máquina pode representar um risco
quando implantado, se não for definido corretamente, em uma página de uma instituição de nível
superior, devido ao seu aprendizado poder absorver conteúdos não desejáveis.
Levando em consideração as vantagens e desvantagens de cada abordagem para a
criação do chatterbot com foco no FAQ do curso de SI, será desenvolvido um chatterbot misto.
O para atualizar o chatterbot com novas perguntas, será necessário a inserção de novas regras
de diálogo, no entanto o sistema aprenderá com as regras já existentes como os usuários se
combinam as intenções com as entidades na busca de uma resposta e assim aumentando seu
nível de precisão para as mesmas.
20

4 DESENVOLVIMENTO DO CHATTERBOT

Nesta seção serão explicados os passos utilizados no desenvolvimento do chatterbot.

4.1 Escolher o tipo de chatterbot

Na seção 3.2 foram descritos dois tipos de chatterbot. Para este projeto que propõe a
utilização de uma base de conteúdo na criação de um chatterbot para dar suporte a um sistema
de FAQ, foi selecionado desenvolver um chatterbot dirigido a conteúdo.
Com base nas comparações feitas entre utilizar aprendizado de máquina ou usar uma
abordagem dirigida a regras, a utilização de uma abordagem mista foi selecionada.

4.2 Definir as áreas de conhecimento do chatterbot

As áreas de conhecimento do chatterbot foram divididas em duas categorias:


conhecimentos técnicos e conhecimentos extras. A área de conhecimento técnica contém as
informações diretamente ligadas ao curso de Sistemas de Informação da Universidade Federal
do Ceará, Campus Quixadá. Essa base de conhecimento foi extraída da página web do curso,
que inicialmente foi levantada em Pinheiro (2014).
21

Figura 1 – Mapa mental das áreas de conhecimento

Fonte: O Autor

Com o intuito de tornar o comportamento do chatterbot mais parecido com o


comportamento humano, a área de conhecimento extra foi criada. Essa área consiste em uma
série de sub-áreas externas ao curso de SI, que tornam o chatterbot mais social. A Figura 1
mostra um mapa mental criado para definir cada área de conhecimento.

4.3 Desenvolvimento da Arquitetura do Chatterbot

Para o desenvolvimento do chatterbot três módulos são essenciais: uma interface


humano-computador onde o usuário se comunicará com o chatterbot; um sistema de
gerenciamento de conteúdo (CMS) para gerenciar informações variáveis; e o próprio chatterbot.
22

Figura 2 – Arquitetura - Visão de Componentes

Fonte: O Autor

Um webhook, que é a forma de receber informações entre dois sistemas de uma


forma passiva, foi utilizado para fazer o papel de interface humano-computador através do
Facebook Messenger. Para desenvolver uma aplicação para o Facebook Messenger é necessário
que se implemente um servidor webhook (veja Figura 2), que implemente a interface de API
necessária para que o messenger seja integrado com a aplicação.
O CMS foi desenvolvido utilizando o framework Django com uma API REST para a
comunicação com o chatterbot e uma interface web para a inserção dos dados pelos usuários.
Por fim, para o chatterbot foi criado uma aplicação em Python que implementa uma
estrutura básica do chatterbot e se comunica com o IBM Watson Conversation e com o CMS
para elaborar as respostas do chatterbot.

4.4 Implementação do Servidor Webhook

O Webhook é responsável pelo intermédio entre o Facebook Messenger e o chatterbot.


Seu funcionamento é simples, ele fica aguardando requisições do tipo POST oriundas do
23

Facebook Messenger, e para cada mensagem recebida, ele envia a mensagem ao chatterbot e
devolve a resposta obtida para o mesmo.

Figura 3 – Código principal do Webhook

Fonte: O Autor

O Webhook consiste em uma aplicação em Python, rodando em um servidor Ubuntu


14.04. A Figura 3 mostra como foi desenvolvido o script para o Webhook.

4.5 Implementação do Servidor CMS

O servidor CMS foi desenvolvido para que informações sobre o curso que mudam
com frequência possam ser gerenciadas de maneira fácil, por pessoas leigas em computação.
Informações como nome do coordenador, telefone da coordenação, quantidade de horas de
atividades complementares, dentre outras foram as informações gerenciadas pelo CMS. O
servidor utilizado foi o Ubuntu 14.04, e o CMS desenvolvido em Python utilizando o framework
Django.
24

4.6 Implementação no Watson Conversation

Esse passo foi um dos mais importantes, pois é nele que as regras da engine são
definidas. Para facilitar no desenvolvimento, a IBM oferece uma interface gráfica para a definição
das regras.
Primeiro foram definidas as possíveis intenções dos usuários, baseado no mapa
mental apresentado na Figura 1. No total foram definidas seis possíveis intenções de um usuário
ao comunicar com o chatterbot no contexto do curso de SI:
• Iniciar um diálogo;
• Saber sobre algo;
• Saber a quantidade de algo;
• Saber onde fica algo;
• saber quando é algo;
• Agradecer por algo.
Saber qual é a intenção do usuário já é um passo bem importante no desenvolvimento
do diálogo, porém além de conseguir saber a intenção, é importante saber sobre qual entidade
aquela intenção está relacionada. Portanto foram definidas as entidades do chatterbot. No total
foram definidas vinte e duas entidades, agrupadas em sete categorias. O agrupamento foi feito
baseado no domínio de aplicação, de acordo com o mapa mental da Figura 1.
Para unir a intenção do usuário com a entidade relacionada foi criado o fluxo de
diálogos. O fluxo de diálogos funciona como uma árvore de decisão, onde condições são
avaliadas como verdadeiras ou falsas para determinar o fluxo do diálogo. Na primeira camada
do fluxo de diálogos, as intenções do usuário são capitadas para a primeira tomada de decisão do
fluxo, como mostrado na Figura 8.
25

Figura 4 – Início do Fluxo de Diálogos

Fonte: O Autor

Para cada nó no fluxo de diálogo, existe um campo chamado trigger, que é um


gatilho condicional que define se aquele diálogo entra naquele nó ou não. Por exemplo, foi
definida a trigger que representa a intenção “Saber Sobre” no nó saber sobre. Portanto, durante
o diálogo, quando for identificada a intenção do usuário de saber sobre algo, o fluxo do diálogo
será desviada para o nó “Saber Sobre”.
26

Figura 5 – Saber Sobre - Fluxo de Diálogos

Fonte: O Autor

Cada nó seguinte foi mapeado para cada um dos conjuntos de entidade definidos
anteriormente. E para cada conjunto de entidade, foram definidos os seus respesctivos triggers.
A Figura 5 ilustra o fluxo de diálogo para a intenção “Saber Sobre” e para o agrupamento de
entidades sobre apresentação do curso.
27

Figura 6 – Saber Sobre - Fluxo de Diálogos

Fonte: O Autor

E para cada conjunto de entidades, foram definidos nós para as entidades em si.
Caso aquela entidade, dada aquela intenção, fosse algo estático, a resposta já foi inserida
automaticamente no fluxo (Figura 7). Caso contrário, o fluxo de diálogo retornaria um json
com as informações do diálogo, que seriam avaliadas posteriormente pelo chatterbot e consultas
feitas ao CMS caso detectado a necessidade.
28

Figura 7 – Saber sobre formas de ingresso - Fluxo de Diálogos

Fonte: O Autor

4.7 Implementação do Chatterbot

A implementação do servidor do chatterbot se deu na linguagem de programação


Python. O chatterbot fica em constante aguardo por mensagens. Ao receber uma mensagem
ele encaminha a mensagem para o IBM Watson Conversation. Baseado nas regras definidas
do Watson, ele irá elaborar uma resposta e retornar a resposta do chatterbot. Uma vez que o
chatterbot recebe a resposta é feita uma análise se uma consulta ao CMS é necessária. Se sim,
uma consulta é feita ao CMS para obter as informações necessárias e em seguida, a resposta é
retornada.
29

Figura 8 – Fluxo do chatterbot

Fonte: O Autor
30

4.8 Realização de testes de aceitação

A aceitação do chatterbot foi verificada utilizando um questionário, o questionário


em primeiro momento informa o usuário sobre o que se trata o chatterbot e, em seguida apresenta
uma série de perguntas ao qual as respostas devem ser obtidas através de um dialogo com o
chatterbot. O questionário utilizado pode ser visto no Anexo A.

4.9 Analisar dados coletados

Após os dados serem organizados, os mesmos foram analisados de modo que


dificuldades na interação com o chatterbot, falhas no chatterbot ou sugestões dos participantes
foram identificadas. Foi verificado também se todos os participantes conseguiram as respostas
para todas as perguntas da listadas, a fim de identificar se houveram formas de comunicação
utilizada pelos participantes em que o chatterbot não conseguiu responder.

4.10 Implementar mudanças com base nos dados analisados

A base de conhecimentos do chatterbot foi atualizada de acordo com as informações


obtidas pela análise do teste realizado.
31

5 RESULTADOS

Este projeto consistiu no desenvolvimento de um chatterbot que responde perguntas


relacionadas ao curso de Sistemas de Informação, da Universidade Federal do Ceará, Campus
Quixadá. O chatterbot foi dividido em três módulos principais: interface com o usuário, núcleo
do chatterbot e sistema de gerenciamento de conteúdo.
A validação do chatterbot foi realizada em duas etapas. Em um primeiro momento
foi feito um questionário com sete pessoas, sendo que o questionário explica do que se trata
o chatterbot e apresenta uma lista de informações que o usuário deverá obter através de um
diálogo direto com o chatterbot. Após essa primeira validação, o chatterbot foi treinado com
base nas dificuldades e sugestões dos usuários que participaram do primeiro questionário, e
após esse treinamento o questionário foi feito novamente com um novo público. Para cada uma
das informações que o usuário deveria obter através do diálogo com o chatterbot, foi feita uma
pergunta no questionário se o usuário obteve sucesso em obter a informação. As perguntas eram:
“Sim”; “Sim, parcialmente”; e “Não”.

Figura 9 – Público da primeira validação

Fonte: O Autor

A primeira informação coletada teve foco em conhecer as pessoas que estavam


participando do questionário. Dos sete participantes da primeira validação, como resultado,
três dos participantes eram ex alunos da Universidade Federal do Ceará, dois eram alunos da
32

Universidade Federal do Ceará, e aluno do curso de Sistema de Informação, um era aluno da


Universidade Federal do Ceará, porém de outro curso, e um não era aluno e nem ex aluno da
Universidade Federal do Ceará. Na figura 9 pode ser visto o gráfico da relação entre a situação
atual dos participantes.
Como resultado da segunda validação, cinco dos participantes eram ex alunos da
Universidade Federal do Ceará, dois eram alunos da Universidade Federal do Ceará e aluno do
curso de Sistema de Informação, 4 eram alunos da Universidade Federal do Ceará, porém de
outros cursos, e os dois restantes não eram alunos e nem ex alunos da Universidade Federal do
Ceará. Na figura 10 pode ser visto o gráfico da relação entre a situação atual dos participantes.

Figura 10 – Público da validação final

Fonte: O Autor

5.1 Tarefa um da validação

A primeira tarefa dos participantes ao interagir com o chatterbot foi descobrir o que
é o curso de Sistemas de Informação. Na primeira validação todos os usuários tiveram sucesso
na obtenção da resposta desejada. Em todos os casos o chatterbot conseguiu identificar que a
intenção do usuário era saber sobre algo, e com a entidade “curso de SI” presente. Como não foi
identificada nenhuma outra entidade, o chatterbot considerou que os usuários buscavam saber
sobre o curso em si. As Figuras 11 e 12 mostram respectivamente os resultados da primeira e
33

segunda validação.

Figura 11 – Gráfico de sucesso da tarefa um - validação um

Fonte: O Autor

Figura 12 – Gráfico de sucesso da tarefa um - validação final

Fonte: O Autor
34

5.2 Tarefa dois da validação

A tarefa dois pediu para que os usuários descobrissem as formas de ingresso no


curso de Sistemas de Informação. Na primeira validação da tarefa dois (ver Figura 13), seis
participantes obtiveram sucesso em obter a resposta desejada, e um participante não obteve a
informação desejada. Para essa tarefa, o comportamento esperado das perguntas foram de ter a
intenção de saber sobre algo, em conjunto com a entidade “Ingressar”. Os seis participantes que
obtiveram sucesso na obtenção da resposta desejada seguiram esse comportamento. No entanto a
pergunta para o qual o chatterbot não conseguiu responder adequadamente, não foi identificada
a entidade “Ingressar”. Nesse caso a pergunta feita foi: "Como posso entrar para o curso de SI?".
Para treinar o chatterbot, foi indicado ao mesmo que para este contexto o uso da
palavra “entrar” tem o mesmo significado da entidade “Ingressar”.

Figura 13 – Gráfico de sucesso da tarefa dois - validação um

Fonte: O Autor

Na tarefa dois da validação final, com o chatterbot treinado após a validação um,
todas as treze pessoas obtiveram sucesso em obter a resposta desejada, como pode ser viso no
gráfico da Figura 14.
35

Figura 14 – Gráfico de sucesso da tarefa dois - validação final

Fonte: O Autor

5.3 Tarefa três da validação

Na tarefa três foi solicitado aos usuários que descobrissem informações sobre o
mercado de trabalho para o curso de Sistemas de Informação.
Para as respostas da validação um da tarefa três, seis das sete pessoas obtiveram
sucesso na obtenção da resposta desejada como pode ser visto na Figura 15. Para estas seis
pessoas, foi identificada e intenção de saber sobre algo em conjunto com a entidade “Mercado
de Trabalho”. Ao analisar os registros de conversação gravados no servidor do chatterbot, a
pergunta que falhou em dar a resposta desejada ao usuário foi: “Como está o mercado para
profissionais de Sistemas de Informação?”. Portanto foi indicado ao chatterbot que essa pergunta
possui a intenção “Saber Algo”, e a entidade “mercado de trabalho” para que ele possa aprender
com a pergunta para futuras respostas.
Já na validação final, todos os treze participantes obtiveram sucesso na obtenção da
resposta desejada como pode ser viso na Figura 16.
36

Figura 15 – Gráfico de sucesso da tarefa 03

Fonte: O Autor

Figura 16 – Gráfico de sucesso da tarefa 03

Fonte: O Autor
37

5.4 Tarefa quatro da validação

Na tarefa quatro foi solicitado aos usuários que obtivessem informações sobre a
estrutura curricular do curso de SI.
Duas das sete participantes da validação disseram ter falhado na obtenção da resposta
desejada como mostrado na Figura 17. Nos logs do chatterbot, foram identificadas as perguntas
“Quais são as disciplinas do curso e como são estruturadas?” e “qual a estrutura curricular do
curso?” como sendo as perguntas para as quais o chatterbot falhou em dar uma resposta correta.
Foi instruído ao chatterbot que estas perguntas são exemplos de perguntas para quando a intenção
do usuário é saber sobre algo e a entidade seja "Estrutura Curricular", de modo que ele aprenda
para futuras perguntas.

Figura 17 – Gráfico de sucesso da tarefa quatro - validação um

Fonte: O Autor

Na tarefa quatro da validação final, um dos usuários disse não ter obtido a resposta
para a pergunta desejada (veja Figura 18). No entanto no console do chatterbot foi verificado
que houve sucesso em todas as respostas. Portanto, o chatterbot respondeu da maneira esperada,
porém pode ter ocorrido o caso em que o usuário não tenha ficado satisfeito com a resposta ou
esperava por uma resposta diferente.
38

Figura 18 – Gráfico de sucesso da tarefa quatro - validação final

Fonte: O Autor

5.5 Tarefa cinco da validação

A tarefa cinco solicitou que os usuários obtivessem informações sobre o fluxograma


de disciplinas do curso de Sistemas de Informação. As Figuras 19 e 20 mostram respectivamente
os resultados da validação um e da validação final. Nesse caso, em ambas as validações todos os
usuários obtiveram a resposta desejada.
39

Figura 19 – Gráfico de sucesso da tarefa cinco - validação um

Fonte: O Autor

Figura 20 – Gráfico de sucesso da tarefa cinco - validação final

Fonte: O Autor
40

5.6 Tarefa seis da validação

Na tarefa seis, descobrir o nome do coordenador do curso de Sistemas de Informação


foi a atividade dada ao usuário. Para ambas as validações, todos os usuários obtiveram sucesso
na resposta desejada, como mostra nas Figuras 21 e 22.

Figura 21 – Gráfico de sucesso da tarefa seis - validação um

Fonte: O Autor
41

Figura 22 – Gráfico de sucesso da tarefa seis - validação final

Fonte: O Autor

5.7 Tarefa sete da validação

Foi solicitado ao usuário que o mesmo descobrisse a quantidade de horas de


atividades complementares necessárias para um egresso do curso de Sistemas de Informação da
Universidade Federal do Ceará.
Para as respostas da tarefa sete (ver Figura 23), cinco perguntas seguiram o
comportamento esperado, que foi uma pergunta com a intenção de saber a quantidade de algo, e
com a entidade “Atividade Complementar”. Uma também teve a intenção de saber a quantidade
de algo, porém a entidade “Atividade Complementar” não foi identificada na pergunta. Ao
analisar os registros de conversação gravados no servidor do chatterbot, a pergunta que falhou
em dar a resposta desejada ao usuário foi: “precisa fazer quantas horas complementares?”.
Portanto foi indicado ao chatterbot que essa pergunta possui a entidade “atividade
complementar” para que ele possa aprender com a pergunta para futuras respostas.
42

Figura 23 – Gráfico de sucesso da tarefa sete - validação um

Fonte: O Autor

Na validação final todos os usuários obtiveram a resposta desejada para a tarefa sete,
como mostrado na Figura 24.

Figura 24 – Gráfico de sucesso da tarefa sete - validação final

Fonte: O Autor
43

5.8 Tarefa oito da validação

Para a tarefa oito foi solicitado aos usuários que descobrissem as categorias de
atividades complementares.
Na tarefa oito, cinco das perguntas seguiram o comportamento esperado (ver Figura
25), que foi uma pergunta com a intenção de saber sobre algo, e com as entidades “Atividades
Complementares” e “Categorias”. Uma das perguntas também tive a intenção de saber sobre
algo, porém a entidade “Atividades Complemetares” não foi identificada na pergunta. Ao analisar
os registros de conversação gravados no servidor do chatterbot, a pergunta que falhou em dar a
resposta desejada ao usuário foi:“e em quais categorias de atividades posso realizar”. Portanto
o foi indicado ao chatterbot que essa pergunta possui a intenção "Saber Algo", e as entidades
“Atividades Complemetares” e “Categorias” para que ele possa aprender com a pergunta para
futuras respostas.

Figura 25 – Gráfico de sucesso da tarefa oito - validação um

Fonte: O Autor

Na validação final todos os usuários obtiveram a resposta desejada para a tarefa oito,
como mostrado na Figura 26.
44

Figura 26 – Gráfico de sucesso da tarefa oito - validação final

Fonte: O Autor

5.9 Tarefa nove da validação

Na tarefa nove foi solicitado ao usuário buscar informações sobre o trabalho de


conclusão de curso de SI.
Como mostra na Figura 27, seis de sete pessoas obtiveram a resposta desejada para a
validação um. Na validação final todos os usuários obtiveram a resposta desejada para a tarefa
nove, como mostrado na Figura 28.
45

Figura 27 – Satisfação dos usuários na tarefa nove - validação um

Fonte: O Autor

Figura 28 – Gráfico de sucesso da tarefa node - validação final

Fonte: O Autor
46

6 CONCLUSÕES

Com o avanço da tecnologia e o avanço dos estudos na área de Inteligência


Computacional, os chatterbots estão cada vez mais presentes no dia a dia das pessoas, sendo em
forma de Serviço de Atendimento ao Consumidor, em forma de FAQ ou até em formas mais
avançadas.
O presente trabalho visou a criação de um chatterbot para responder as perguntas
frequentes sobre o curso de Sistemas de Informação. Uma das vantagens na utilização do
chatterbot para auxiliar em responder as perguntas frequentes é o tempo de resposta. Por mais
que existem funcionários responsáveis por responder as perguntas, eles geralmente são limitados
ao horário comercial, diferentemente do chatterbot, que está disponível a todo momento. Outra
vantagem é a capacidade do chatterbot manter um diálogo simultâneo com diversas pessoas,
diferente de um atendente físico.
Após a primeira validação do chatterbot pode-se concluir que ele conseguiu
responder a maioria das perguntas em um nível satisfatório. No entanto tiveram algumas
perguntas em que o chatterbot não conseguiu responder por não conseguir entender a intenção
na pergunta, coisa que um operador humano entenderia. Na pergunta "como está o mercado para
o curso de SI?", o chatterbot não conseguiu identificar que a pergunta se tratava do mercado de
trabalho. Na segunda validação o seu entendimento do domínio de aplicação estava melhor que
na primeira, uma vez que o chatterbot aprendeu com os erros anteriormente cometidos.
No contexto de aprendizagem de máquina, quanto maior o número de interações
que o chatterbot tiver, melhor será seu desempenho em responder perguntas de seu domínio.
Portanto fica como trabalho futuro fazer uma nova validação com o chatterbot depois que ele
esteja funcionando há algum tempo para ver seu desempenho. Além disso expandir as áreas de
conhecimento do chatterbot para dar suporte a outros assuntos da UFC, como infraestrutura.
47

REFERÊNCIAS

FERREIRA, L. P.; UCHÔA, J. Q. Desenvolvimento de um chatbot para auxiliar o ensino de


Espanhol como Língua Estrangeira. 2008.

FERRUCCI, D.; BROWN, E.; CHU-CARROLL, J.; FAN, J.; GONDEK, D.; KALYANPUR,
A. A.; LALLY, A.; MURDOCK, J. W.; NYBERG, E.; PRAGER, J. et al. Building watson: An
overview of the deepqa project. AI magazine, v. 31, n. 3, p. 59–79, 2010.

FOSSATTI, M. C.; RABELLO, R. d. S.; MARCHI, A. C. B. D. Agebot: um chatterbot em aiml


voltado para responder questões sobre epilepsia. In: Anais do XXXI Congresso da Sociedade
Brasileira da Computação. [S.l.: s.n.], 2011.

KAR, R.; HALDAR, R. Applying chatbots to the internet of things: Opportunities and
architectural elements. arXiv preprint arXiv:1611.03799, 2016.

KUNZE, L. What is a chatbot, how do you build one, who is building them and are they
good? [S.l.], 2016. Disponível em: <http://www.techworld.com/apps/
what-is-chatbot-how-do-you-build-one-who-is-building-them-are-they-any-good-3638740/>.
Acesso em: 26.9.2016.

LEE, G. G.; SEO, J.; LEE, S.; JUNG, H.; CHO, B.-H.; LEE, C.; KWAK, B.-K.; CHA, J.; KIM,
D.; AN, J. et al. Siteq: Engineering high performance qa system using lexico-semantic pattern
matching and shallow nlp. In: TREC. [S.l.: s.n.], 2001.

PINHEIRO, T. S. de M. Site corporativo de curso de graduação como ferramenta para


gestão do conhecimento. Dissertação (Monografia) — UNIVERSIDADE ESTÁCIO DE SÁ,
2014.

POOLE, D. L.; MACKWORTH, A. K. Artificial Intelligence: foundations of computational


agents. [S.l.]: Cambridge University Press, 2010.

SGANDERLA, R. B.; FERRARI, D. N.; GEYER, C. F. R. Bonobot: Um chatterbot para


interação com usuários em um sistema tutor inteligente. XIV Simpósio Brasileiro de
Informática na Educação, 2003.

WALLACE, R. Artificial Intelligence Markup Language (AIML) Version 1.0.1. [S.l.], 2005.
Disponível em: <http://www.alicebot.org/TR/2005/WD-aiml/WD-aiml-1.0.1-008.html>.
Acesso em: 25.9.2016.
48

ANEXO A – LISTA DE PERGUNTAS DA VALIDAÇÃO

• Descubra o que é o curso de SI;


• Tente descobrir as formas de ingresso do curso de SI;
• Obtenha informações sobre o mercado de trabalho para SI;
• Encontre informações sobre a estrutura curricular do curso de SI;
• Obtenha o fluxograma de disciplinas do curso;
• Descubra o nome do coordenador do curso de SI;
• Descubra quantas horas de atividades complementares são necessárias para concluir o
curso de SI;
• Descubra quantas quais são as categorias de atividades complementares existentes no
curso de SI;
• Busque informações sobre o TCC.

Você também pode gostar