Você está na página 1de 9

(IJACSA) International Journal of Advanced Computer Science and Applications,

Vol. 6, No. 7, 2015

Pesquisa sobre técnicas de design de chatbot em fala


Sistemas de Conversação

Sameera A. Abdul-Kader Dr. John Woods


Escola de Ciência da Computação e Engenharia Eletrônica / Escola de Ciência da Computação e Engenharia Eletrônica /
University of Essex Colchester / Reino Unido University of Essex Colchester / Reino Unido
Universidade Diyala / Diyala / Iraque

Abstrato - A Fala Humano-Computador está ganhando força como trabalhos selecionados são comparados com aqueles usados em Chatbots do Prêmio
técnica de interação com o computador. Houve um aumento recente nos Loebner. Os resultados são discutidos e as conclusões são tiradas no final.
mecanismos de busca e assistentes baseados na fala, como Siri, Google
Chrome e Cortana. Técnicas de processamento de linguagem natural
(NLP), como NLTK para Python, podem ser aplicadas para analisar a fala, II. B ACKGROUND
e respostas inteligentes podem ser encontradas projetando-se um
mecanismo para fornecer respostas humanas apropriadas. Este tipo de A. Interação de fala humano-computador
programa é denominado Chatbot, que é o foco deste estudo. Este artigo O reconhecimento de voz é uma das técnicas mais naturais e procuradas na
apresenta um levantamento das técnicas utilizadas para desenhar interação entre computadores e dispositivos em rede, apenas recentemente
Chatbots e é feita uma comparação entre diferentes técnicas de desenho (últimas duas décadas) com o advento da computação rápida.
de nove artigos cuidadosamente selecionados de acordo com os
principais métodos adotados. Esses documentos são representativos das
melhorias significativas em Chatbots na última década. A fala é um sinal sofisticado e ocorre em diferentes níveis: “semântico,
linguístico, articulatório e acústico” [3]. A fala é considerada o mais natural entre
os aspectos da comunicação humana, devido à grande quantidade de
informações existir implicitamente além do significado das palavras faladas. Uma
das etapas de extração de informações de fala é a conversão de voz em texto
Palavras-chave - AIML; Chatbot; Prêmio Loebner; PNL; NLTK; SQL; Teste de Turing por meio do Reconhecimento Automático de Fala (ASR) e mineração de
informações de fala [4]; então, o texto resultante pode ser tratado para extrair o
significado das palavras.
EU. Eu NTRODUÇÃO

A fala é uma das formas mais poderosas de comunicação entre humanos;


O reconhecimento de voz é amplamente aceito como o futuro da interação
portanto, é a ambição dos pesquisadores no campo de pesquisa de interação
com computadores e aplicativos móveis; não há necessidade de usar
humano-computador melhorar a interação de fala entre o ser humano e o
dispositivos de entrada tradicionais como o mouse, teclado ou tela sensível ao
computador a fim de simular a interação de fala humano-humano. A interação
toque e é especialmente útil para usuários que não têm a capacidade de usar
por voz com dispositivos modernos de computação em rede tem recebido um
esses dispositivos tradicionais [5]. Pode ajudar pessoas com paralisia, por
interesse crescente nos últimos anos com contribuições do Google, Android e
exemplo, a interagir com dispositivos modernos facilmente apenas pela voz, sem
IOS. Por serem mais naturais do que as interfaces baseadas em gráficos, os
mover as mãos.
sistemas de diálogo falado estão começando a formar o método principal de
interação com uma máquina [1]. Portanto, a interação da fala terá um papel
significativo na humanização das máquinas em um futuro próximo [2]. B. Kit de ferramentas de linguagem natural (NLTK)

Para lidar com e manipular o texto resultante do reconhecimento de fala e da


conversão de fala em texto, kits de ferramentas específicos são necessários para
organizar o texto em frases e depois dividi-las em palavras, para facilitar a extração
Muitos trabalhos de pesquisa têm se concentrado em melhorar as taxas de semântica e de significado. Um desses kits de ferramentas é o NLTK amplamente
reconhecimento da voz humana e a tecnologia agora está se aproximando da usado, que é um plug-in gratuito para Python.
viabilidade para a interação humano-computador baseada na fala. A interação de fala
se divide em mais de uma área, incluindo: reconhecimento de fala, análise de fala,
O Natural Language ToolKit (NLTK) é um conjunto de módulos, tutoriais e
PNL (Processamento de linguagem natural), identificação de palavras-chave, design /
exercícios que são de código aberto e cobrem o Processamento de Linguagem
personalidade do Chabot, inteligência artificial, etc. Chatbot é um programa de
Natural simbólica e estatisticamente. O NLTK foi desenvolvido na Universidade
computador que tem a capacidade de manter uma conversa com humanos usando a
da Pensilvânia em 2001, permitindo a linguística computacional com três
fala em linguagem natural.
aplicações educacionais em mente: projetos, atribuições e demonstrações [6]
[7]. Ele pode ser encontrado nas Bibliotecas Python para manipulação de
Neste artigo, é apresentado um levantamento das técnicas de design do gráficos, licença GPL aberta. O NLTK é usado para dividir palavras em uma
Chatbot na conversação por fala entre o ser humano e o computador. Nove string de texto e separar o texto em classes gramaticais marcando rótulos de
estudos que fizeram contribuições identificáveis no design do Chatbot nos últimos palavras de acordo com suas posições e funções na frase. O resultado
dez anos são selecionados e, então, revisados. As diferentes técnicas usadas para marcado
Chatbots no

72 Página
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 7, 2015

as palavras são então processadas para extrair o significado e produzir uma resposta
como fala ou ação, conforme necessário. Diferentes regras gramaticais são usadas para
categorizar as palavras marcadas no texto em grupos ou frases relacionadas a seus
vizinhos e posições. Esse tipo de agrupamento é chamado de divisão em frases, como
sintagmas nominais e sintagmas verbais.

C. Estratégias de chatbot

Para dar respostas adequadas a palavras-chave ou frases extraídas da


fala e para manter a conversa contínua, é necessário construir um sistema de
diálogo (programa) chamado Chatbot (Chatter-Bot). Os chatbots podem auxiliar
na interação humano-computador e têm a capacidade de examinar e influenciar
o comportamento do usuário [8], fazendo perguntas e respondendo às
perguntas do usuário. O Chatbot é um programa de computador que simula Fig. 1. Componentes do Chatbot [11]
uma conversa inteligente. A entrada para este programa é um texto em
linguagem natural e o aplicativo deve fornecer uma resposta que seja a melhor D. Técnicas e abordagens de design fundamental do Chatbot
resposta inteligente para a frase de entrada.
Para projetar qualquer Chatbot, o designer deve estar familiarizado com uma série
de técnicas:
Este processo é repetido como o
a conversa continua [9] e a resposta é texto ou fala. 1) Análise: essa técnica inclui analisar o texto de entrada e manipulá-lo
usando várias funções da PNL; por exemplo, árvores em Python NLTK.

Construção uma Chatbot necessidades altamente profissional


habilidades de programação e desenvolvedores experientes para atingir até mesmo um 2) Correspondência de padrões: é a técnica que é usada na maioria dos

nível básico de realismo. Existe uma plataforma de desenvolvimento complicada por Chatbots e é bastante comum em sistemas de perguntas e respostas, dependendo dos
trás de qualquer Chatbot que será tão bom quanto sua base de conhecimento, que tipos de correspondência, como pesquisas em linguagem natural, declarações simples
mapeia as palavras do usuário para a resposta mais apropriada. O desenvolvedor do ou significado semântico das pesquisas [12].
bot geralmente também constrói a base de conhecimento. No entanto, existem
algumas plataformas que fornecem um ambiente de aprendizagem. Escrever um 3) AIML: é uma das principais técnicas usadas no design comum do
Chatbot perfeito é muito difícil porque ele precisa de um banco de dados muito grande
Chatbot. Mais detalhes sobre esta técnica e a linguagem usada são explicados
e deve fornecer respostas razoáveis para todas as interações. Há uma série de
na seção 2.5 abaixo.
abordagens para criar uma base de conhecimento para um Chatbot e incluir escrever à
4) Script de bate-papo: é a técnica que ajuda quando nenhuma correspondência
mão e aprender com um corpus. Aprender aqui significa salvar novas frases e usá-las
ocorre no AIML. Ele se concentra na melhor sintaxe para construir uma resposta padrão
mais tarde para dar respostas apropriadas para frases semelhantes [10].
sensata. Ele fornece um conjunto de funcionalidades, como conceitos de variáveis, fatos e
lógica e / ou.
5) SQL e banco de dados relacional: é uma técnica usada recentemente
no design do Chatbot para fazer o Chatbot lembrar de conversas anteriores.
Projetar um pacote de software Chatbot requer a identificação das partes
Mais detalhes e explicações são fornecidos na seção 2.6 abaixo.
constituintes. Um Chatbot pode ser dividido em três partes: Respondente,
Classificador e Graphmaster (conforme mostrado na Figura. 1) [11], que são
descritos a seguir: 6) Cadeia de Markov: é usado em Chatbots para construir respostas que são mais
aplicáveis probabilisticamente e, conseqüentemente, mais corretas. A ideia das
Cadeias de Markov é que existe uma probabilidade fixa de ocorrências para cada letra
1) Respondente: é a parte que desempenha o papel de interface
ou palavra no mesmo conjunto de dados textuais [13].
entre as principais rotinas do bot e o usuário. As tarefas do respondente são:
transferir os dados do usuário para o Classificador e controlar a entrada e a
7) Truques de linguagem: são sentenças, frases ou mesmo parágrafos
saída.
disponíveis no Chatbots para adicionar variedade à base de conhecimento e
2) Classificador: é a parte entre o Respondente e o
torná-la mais convincente. Os tipos de truques de linguagem são:
Graphmaster. As funções desta camada são: filtrar e normalizar a entrada,
segmentar a entrada inserida pelo usuário em componentes lógicos, transferir
• Respostas enlatadas.
a frase normalizada para o Graphmaster, processar a saída do Graphmaster e
lidar com as instruções da sintaxe do banco de dados (por exemplo, AIML). • Erros de digitação e simulação de pressionamentos de tecla.

• Modelo de história pessoal.

3) Graphmaster: é a parte para correspondência de padrões que • Non Sequitur (não é uma conclusão lógica)

executa as seguintes tarefas: organizar o conteúdo do cérebro, armazenar e manter os Cada um desses truques de linguagem é usado para satisfazer um propósito específico
algoritmos de correspondência de padrões. e para fornecer respostas alternativas às questões [13].

73 Página
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 7, 2015

8) Ontologias: eles também são chamados de redes semânticas e são um o Chatbot nesta faixa [16]. De acordo com esse julgamento, o Chatbot mais
conjunto de conceitos que estão interconectados relacional e hierarquicamente. humano é o vencedor.
O objetivo de usar ontologias em um Chatbot é calcular a relação entre esses Nenhum Chatbot jamais alcançou a medalha de ouro e passou no teste
conceitos, como sinônimos, hipônimos e outras relações que são nomes de para ganhar o Prêmio Loebner. No entanto, alguns Chatbots pontuaram tão
conceitos de linguagem natural. A interconexão entre esses conceitos pode ser alto quanto 3 dos 12 juízes acreditando que eles eram humanos. Há um bot
representada em um gráfico que permite ao computador pesquisar usando vencedor todos os anos e há uma lista de Chatbots chamada Loebner Prized
regras particulares de raciocínio [13]. Chatbots. Esta lista começa em 1991 até a data atual.

E. Prêmio Loebner e Teste de Turing c) Chatbots premiados e suas técnicas de design


Embora nenhum Chatbot tenha ganho o Prêmio Loebner ainda, há um
a) Teste de Turing
Chatbot vencedor a cada ano e o padrão de inscrição continua a melhorar com o
No campo da Inteligência Artificial, Turing foi o primeiro a fazer a pergunta:
tempo. A Tabela 1 mostra os Chatbots premiados como o nome do
"Uma máquina pode pensar?" [14], onde o pensamento é definido como a
programador, o nome do programa, o ano em que eles ganharam e as técnicas
habilidade dos humanos. De acordo com essa questão e definição, Turing
usadas para projetá-los e programá-los.
sugere o “jogo de imitação” como um método para evitar diretamente a
questão e especificar uma medida de desempenho para pesquisadores em
Inteligência Artificial [15] se a máquina parecer humana. O jogo da imitação F. AIML
pode ser jogado entre três pessoas: (A) que é um homem, (B) que é uma Para construir um Chatbot, é necessária uma linguagem flexível, fácil de
mulher e (C) que é o interrogador e pode ser um homem ou uma mulher. O entender e universal. AIML, um derivado do XML, é uma das abordagens
objetivo do interrogador aqui é determinar quem é a mulher e quem é o homem amplamente utilizadas que satisfaz os requisitos. AIML representa o
(A e B). O interrogador conhece os dois como rótulos X e Y e tem que decidir conhecimento colocado em Chatbots e é baseado na tecnologia de software
no final do jogo se “X é B e Y é A” ou “X é A e Y é B”. desenvolvida para ALICE (Artificial Linguistic Internet Computer Entity). Ele
tem a capacidade de caracterizar o tipo de objeto de dados (objetos AIML) e
descrever a condutância parcial dos programas que processa. Esses objetos
consistem em duas unidades: tópicos e categorias; os dados contidos nessas
categorias são analisados ou não analisados [19].
B. Turing então questiona o que acontecerá se A for substituído por uma
máquina; o interrogador pode diferenciar entre os dois? A pergunta original "As
máquinas podem pensar?" pode então ser substituído por esta questão [14].
Neste jogo de imitação, o Chatbot representa a máquina e tenta enganar o O objetivo da linguagem AIML é simplificar o trabalho de modelagem
interrogador a pensar que é o humano ou os designers tentam programá-lo conversacional, em relação a um processo de “estímulo-resposta”. É também
para isso [16]. uma linguagem de marcação baseada em XML e depende de tags que são os
identificadores que fazem trechos de códigos para enviar comandos ao
Chatbot. A classe de objeto de dados é definida em AIML como um objeto
b) Prêmio Loebner AIML, e a responsabilidade desses objetos é modelar padrões de
Em 1990, foi firmado um acordo entre Hugh Loebner e o Cambridge conversação. Isso significa que cada objeto AIML é a tag de idioma associada
Centre for Behavioral Studies para estabelecer uma competição baseada na a um comando de idioma. A estrutura geral dos objetos AIML é apresentada
implementação do Teste de Turing. Uma medalha de ouro e US $ 100.000 por [20]:
foram oferecidos por Hugh Loebner como um grande prêmio para o primeiro
computador que dá respostas que não podem ser distinguidas dos humanos.
<command> Lista de parâmetros </command>
Uma medalha de bronze e um prêmio anual de $ 2.000 ainda são prometidos
em cada competição anual para o computador que parece ser mais humano O objeto mais importante entre os objetos AIML é categoria, padrão e

em relação aos outros competidores, por mais que seja absolutamente bom modelo. A tarefa da tag de categoria é definir a unidade de conhecimento da

[15]. É a primeira competição conhecida que representa uma instanciação conversa. A tag pattern identifica a entrada do usuário e a tarefa da tag

formal de teste de Turing [13]. A competição foi realizada anualmente desde template é responder à entrada específica do usuário [20]; esses são os tags

1991, com pequenas alterações feitas nas condições originais ao longo dos mais frequentes e as bases para projetar Chatbots AIML com uma resposta

anos. O importante nesta competição é criar um Chatbot que tenha a inteligente para conversas em linguagem natural. A estrutura de categoria,

capacidade de conduzir uma conversa. Durante a sessão de bate-papo, o padrão e objeto de modelo é mostrada abaixo:

interrogador tenta adivinhar se eles estão falando com um programa ou com


um humano. Depois de uma conversa de dez minutos entre o juiz e um
Chatbot de um lado e o juiz e um cúmplice independente do outro lado, o juiz <categoria>
tem que nomear qual deles era o humano. A escala de não humano para <pattern> Entrada do usuário </pattern>
humano é de 1 a 4 e o juiz deve avaliar
<template>
Resposta correspondente à entrada
</template>
</category>

74 Página
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 7, 2015

TABELA I. eu OEBNER P RIZED C HATBOTS ‟D ESIGN T ECHNIQUES AND UMA PPROACHES [ 13]

Programa Designer vencedor


Ano Técnica de Design
Nome Nome

1991 Terapeuta de PC Joseph Weintraub

Respostas prontas e não sequenciais, além de correspondência de padrões após a análise e


1992 Terapeuta de PC Joseph Weintraub
vocabulário de palavras que o faz lembrar frases.

1993 Terapeuta de PC Joseph Weintraub

1994 DICAS Thomas Whalen Um banco de dados de modelo de história pessoal como o sistema com correspondência de padrões.

1995 Terapeuta de PC Joseph Weintraub O mesmo que em 1991.

Tem um banco de dados de frases de truque, modelos de cadeia de Markov, correspondência de


1996 HeX Jason Hutchens
padrões e um modelo de história pessoal.

Um banco de dados para fatos, correspondência de padrões, proatividade, sinônimos do WordNet, um


1997 Conversar David Levy analisador estatístico, ontologia, uma lista de nomes próprios e um módulo modular de módulos ponderados.

1998 Albert One Robby Garner


Estrutura hierárquica de Chatbots anteriores, como Fred, Eliza, correspondência de padrões e
proatividade.
1999 Albert One Robby Garner

2000 ALICE Richard Wallace


Correspondência de padrões avançada, AIML.
2001 ALICE Richard Wallace

Truques de linguagem, normalização de frase, correspondência de padrões, WordNet e abreviatura de


2002 Ella Kevin Copple
expansão.

Cadeias de Markov, correspondência de padrões simples, gramática livre de contexto (CFG) e analisador.
2003 Jabberwock Juergen Pirner

2004 ALICE Richard Wallace O mesmo de 2000.

George
2005 Rollo Carpenter
(Jabberwacky) Sem scripts ou correspondência de padrões, um enorme banco de dados de respostas de pessoas, e eles são
Joan baseados no Chatbot Jabberwacky.
2006 Rollo Carpenter
(Jabberwacky)

2007 UltraHAL Robert Medeksza Scripts de correspondência de padrões e combinação de código VB.

2008 Elbot Fred Roberts Sistema comercial de interação de linguagem natural.

2009 Faça muito mais David Levy Propriedade Comercial de Brinquedos Inteligentes.

2010 Suzette Bruce Wilcox


Script de chat baseado em AIML com banco de dados de variáveis, triplos e conceitos.
2011 Roseta Bruce Wilcox

2012 Chip Vivant Mohan Embar Respostas usando script de chat não formatado e IA, e ontologia.

2013 Mitsuku Steve Worswick Baseado em regras escritas em AIML [17].

Ele contém um mecanismo de linguagem natural abrangente para reconhecer o significado da frase de
2014 Rosa Bruce Wilcox entrada com precisão. O script Achat também está incluído no design [18].

A correspondência de palavras ou padrões de frase para Chatbots com A linguagem RDB mais familiar é o SQL ( Linguagem de consulta estruturada ),
palavras-chave deve ser o mais precisa possível. A correspondência de padrões para que pode ser usado para esse fim.
'consulta' de linguagem para AIML é mais simples do que por exemplo SQL. No entanto,
SQL ou MYSQL ganhou um alto reconhecimento em RDB porque é a linguagem de
isso não significa que o AIML seja um banco de dados simples de perguntas e respostas.
alto nível para dados não procedimentais. O aninhamento de blocos de consulta em
Depende de mais de uma categoria correspondente porque usa uma tag recursiva como
profundidades arbitrárias é um dos recursos mais interessantes dele, e a consulta SQL
<srai> [19]. É importante fornecer uma variedade de respostas da base de conhecimento
pode ser dividida em cinco tipos básicos de aninhamento. Algoritmos são desenvolvidos
para obter o maior número possível de correspondências.
para alterar as consultas que incluem esses tipos básicos de aninhamento em "consultas
semanticamente equivalentes". Séries semanticamente equivalentes são ajustáveis para
obter processamento eficaz por meio de subsistemas de processamento de consulta
G. SQL existentes. SQL como linguagem de dados é implementado no ZETA; também como uma

Uma Base de Dados Relacional (RDB) é uma das técnicas usadas linguagem baseada em cálculo e estruturada em blocos, é implementada no System R,

recentemente para construir bases de conhecimento do Chatbot. A técnica foi usada ORACLE, bem como no SEQUEL [21]. Alguns pesquisadores, como visto nas próximas

para construir um banco de dados para um Chatbot, ou seja, para permitir que o seções, recentemente usaram SQL para gerar um

Chatbot se lembre de conversas anteriores e para tornar a conversa mais contínua e


significativa.

75 Página
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 7, 2015

banco de dados que salva o histórico da conversa para facilitar a busca por ou qualquer outra resposta de texto ou fala. A Fig. 4 mostra um breve diagrama do
qualquer palavra ou frase. Esta técnica dá continuidade e precisão ao diálogo terceiro estágio.
porque permite que o sistema de diálogo recupere algumas informações do
histórico anterior. Conversação Chatbot Resposta (fala ou

Palavras-chave açao)

III. S PEECH UMA NÁLISE E R ESPONSE Fig. 4. O estágio de resposta e tomada de ação

A análise de fala pode ser dividida em três estágios: (i) reconhecimento de voz a) Parâmetros principais
e conversão em texto, (ii) processamento de texto e (iii) resposta e execução de
As técnicas de conversação entre um ser humano e um computador podem ser
ações. Essas etapas são explicadas a seguir:
conversando digitando texto ou diálogo de fala usando a voz. O processamento das
informações em ambas as técnicas é o mesmo após a conversão da fala em texto,
Em primeiro lugar, a fala independente do locutor passa por um microfone para no caso do diálogo por fala. Um diagrama que mostra as principais etapas de
um pacote de processamento de sinal digital embutido no computador para análise e processamento necessários para realizar a conversa humano-computador
convertê-lo em um fluxo de pulsos que contém informações de fala. Instruções é mostrado na Fig. 5.
específicas podem ser usadas para ler a fala de entrada e depois convertê-la em
texto. Este estágio fornece texto de fala para processamento no próximo estágio. O
Os principais parâmetros que afetam a qualidade da interação
diagrama que ilustra esta etapa é mostrado na Fig. 2.
humano-computador no design de sistemas de conversação são: (i) as técnicas
usadas para analisar o texto usando diferentes conjuntos de gramática para produzir
palavras-chave, (ii) técnicas de correspondência de padrões usadas dentro do Chatbot
Microfone
e dependem de uma variedade de dados técnicas de acesso à base e (iii) o tipo de
resposta de acordo com a aplicação específica. O foco desta pesquisa está
Digital principalmente nas técnicas de design do Chatbot e uma comparação é feita entre elas
Discurso Discurso
Sinal em termos do software usado, a contribuição para o campo de pesquisa em novas
Entrada
para texto
Em processamento técnicas e a amplitude e profundidade da base de conhecimento usada.

Fig. 2. O estágio de reconhecimento de fala e conversão em texto


Discurso

Em segundo lugar, o texto resultante é dividido em palavras separadas para


marcação com rótulos de classes gramaticais de acordo com suas posições e
vizinhos na frase. Diferentes tipos de gramática podem ser usados neste estágio Fala para texto
para agrupar as palavras marcadas individuais a fim de formar frases.
Palavras-chave podem ser extraídas dessas frases eliminando palavras indesejadas
em operações de chinking. Essas palavras-chave podem ser verificadas e corrigidas
se não estiverem corretas. As fases da etapa de processamento do texto são
Dividindo o texto em palavras e
mostradas na Fig. 3.
etiquetando as palavras

Divisão Tagging Chunking


Texto para as palavras o texto Chunking e chinking em frases
Individual por fala para dentro (partes de gramática)

Palavras Peças Frases

Escolha de uma frase

(palavras-chave)

Corrigindo Verificando Omitindo


Existir Palavras-chave Redundante
Erros Palavras
Um chatbot construído usando qualquer

técnica

Fig. 3. O Estágio de Processamento de Texto

Fazendo uma resposta


Finalmente, um chatbot pode ser criado para dar a resposta inteligente
desejada a uma conversa de fala em linguagem natural. A entrada para este
Chatbot são palavras-chave liberadas do processamento de texto de fala; a
saída é a resposta programada, que será, por exemplo, um aplicativo em Fig. 5. As principais etapas de análise e processamento para realizar a conversa
execução humano-computador

76 Página
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 7, 2015

IV. AR EVIEWON R ECENT C HATBOT D ESIGN W ORK Javascript + XML (AJAX). Novamente o malaio é usado. A extensão
do ViDi projetada em [23] torna-o disponível para usuários na internet
Um considerável corpo de trabalho está associado aos Chatbots e recentemente
através de um navegador web.
eles se tornaram uma técnica promissora para a interação humano-computador. Os
sistemas de diálogo foram desenvolvidos para atender a uma variedade de aplicações
e podem ser aplicados em diversos campos. Uma série de estudos selecionados entre • As técnicas de correspondência de padrões também podem ser aplicadas no
2003 e 2013 são analisados e explicados abaixo. mundo do design do Chatbot e podem levar a uma maior precisão de
recuperação. Os autores em [25] propuseram uma nova técnica para
correspondência de palavras-chave usando ViDi, ([23] e atualizado em [24])
• Embora a criação de um novo tipo de Chatbot seja uma contribuição
como um ambiente de teste. A técnica proposta é chamada de One Match ou
para o campo, há um número limitado de opções disponíveis para o
All Match Categories (OMAMC). OMAMC é usado para testar a geração de
designer de software. Os autores em [10] criaram bases de
possíveis palavras-chave associadas a uma frase de amostra. Em seguida, os
conhecimento para Chatbots combinando os atributos de dois outros
resultados são comparados com outras palavras-chave geradas por outro
Chatbots. Os autores processaram as bases de conhecimento usando
Chatbot anterior em torno da mesma frase de amostra. Verificou-se que o
três filtros para eliminar a sobreposição, identificar perguntas pessoais
OMAMC melhora a correspondência de palavras-chave em comparação com
e rejeitar palavras ou tópicos indesejados. O corpus é construído a
as técnicas anteriores. Esta nova abordagem provavelmente será encontrada
partir de uma combinação de um Chatbot tipo fundação ALICE, que é
em futuras instanciações de Chatbots.
um Formulário de QA, e outro, como CLEVERBOT ou JABBERWACKY,
que são bons para lidar com conversas conversacionais. Os autores
processaram o Chatbot para qualquer diálogo ou
• Os sistemas educacionais são outra aplicação do Chatbots. O
objetivo é responder às perguntas dos alunos ou fazer um teste para
Par QA formato de acordo com a ordem de interação coletada. Então, de fazer perguntas e avaliar as respostas. Em [26] os autores se
acordo com a interação processada, eles produziram um corpus de Chat concentram em um aprimoramento do Chatbot CHARLIE (CHAtteR
com cerca de 7.800 pares de interações no total. O objetivo de seu Learning Interface Entity). A plataforma é um Sistema Educacional
estudo era melhorar as técnicas de design do Chatbot. Inteligente (INES) com um AIML Chatbot incorporado. O desempenho
e a contribuição de CHARLIE estão documentados em seu artigo e
CHARLIE é capaz de estabelecer uma conversa geral com os alunos;
• Os chatbots tendem a evoluir de uma contribuição para a próxima
pode mostrar o material dos cursos que estudam e está preparado
com extensões adicionadas por pesquisadores subsequentes,
para fazer perguntas associadas ao material aprendido. As aplicações
adicionando novos recursos ao software. O autor em [22] olhou como
educacionais dos sistemas de diálogo são particularmente úteis e
estender tipos sérios de jogos, adicionando diálogo usando chatbots
altamente interativas. Eles podem ser melhorados e atualizados
simples. Na verdade, é um passo sério e positivo na inserção da
facilmente, pois são usados em um ambiente acadêmico.
conversa no mundo dos games. O existente jogo sério EMERGO foi
usado como um estudo de caso da obra. O autor descreve o
Chatbot-EMERGO, que é projetado para treinar alunos ou estagiários
em um ambiente de tratamento médico [22]. O objetivo do estudo é
melhorar a interação da fala entre o programa de treinamento e os
trainees ou alunos. • A aplicação de Chatbots para atendimento de deficientes requer o desenho
de pacotes e sistemas para capacitar pessoas com deficiência com novas
tecnologias. Os autores em [5] sugeriu sistema educacional de perguntas e
respostas para pessoas com deficiência, considerando a fala em
• Um novo Chatbot pode ser projetado para resolver problemas de saúde
linguagem natural e conversação de palavras isoladas. O sistema foi
ou qualquer outra aplicação em uma ampla variedade de campos. Em
projetado usando uma base de conhecimento AIML com vocabulário
[23] os autores apresentaram o Chatbot ViDi (Virtual Dietician) que
limitado, incluindo reconhecimento de voz ou “grupos de fonemas e
interage com pacientes diabéticos como conselheiro virtual. Os autores
palavras”. O sistema de perguntas e respostas AIML é implementado para
propuseram um design especial para o Chatbot ViDi para fazê-lo
dar respostas às perguntas e, em seguida, dados de treinamento de 2.000
lembrar os caminhos de conversação percorridos durante a sessão de
palavras são usados para testá-lo. 200 palavras dos dados foram
perguntas e respostas. O caminho se divide em três níveis de 9
utilizadas no teste e 156 delas foram reconhecidas; portanto, a precisão do
questões cada e pode ser obtido analisando o parâmetro Vpath que
sistema foi de 78%. O objetivo do estudo foi inseri-lo em um software
determina o caminho percorrido pelo paciente. O idioma natural usado
tutorial de língua inglesa de fácil acesso por pessoas com deficiência.
para fazer interface com o usuário é o idioma local da Malásia.
Pessoas com cegueira e paralisia das mãos podem se beneficiar com a
adição desse tipo de recurso aos sistemas de e-learning.

• Uma extensão foi feita para o chat bot ViDi quando os autores em [24]
propuseram o redesenho completo do ViDi Chatbot, empregando as
vantagens de um banco de dados relacional. Eles também adicionaram
• A introdução de novos modelos de correspondência representa uma
uma extensão e um algoritmo de pré-requisito para atualizar o ViDi em
verdadeira inovação no Chatbots. Em [27] o autor propôs um novo
um Chatbot baseado na web. Os autores usaram linguagens de
modelo que produz uma nova frase a partir de duas frases existentes. O
programação web, como PHP, HTML e XHR para implementar a
estudo propõe o emprego de um Algoritmo Genético (AG) para construir
codificação do Chatbot além do Assíncrono
um novo

77 Página
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 7, 2015

frase dependendo das frases que são recuperadas de um banco de melhorar a diversidade da resposta do Chatbot. As duas principais
dados disponível. A proposta é apresentada com o objetivo de adaptar o contribuições do estudo são i) converter duas frases em uma e ii)
AG a uma estrutura de linguagem natural. Aplicar técnicas de recuperação de informação a Chatbots.

• A proposta em [27] foi implementada quando os autores em [9] Como visto na revisão acima, as técnicas de conversação podem ser aplicadas
apresentaram sua nova abordagem para o design do Chatbot. A a uma variedade de aplicativos diferentes que envolvem a interação entre pessoas e
abordagem combina métodos de indexação e correspondência de computadores. Os esforços para inserir conversação nesses sistemas diferentes se
consulta com correspondência de padrões e aplica técnicas de mostraram úteis, com todos os estudos concluindo que adicionar um Chatbot a um
Recuperação de Informações (IR) para produzir uma nova frase a partir sistema ou software melhora a interação com o sistema.
das existentes. Em seu estudo, as sentenças existentes se tornaram a
população inicial do GA, então os operadores de troca e crossover foram
aplicados para produzir a nova sentença como uma nova geração do GA. V. S ELEITO F ATORES Eu NFLUENCING C HATBOT D ESIGN

Avaliação experimental para o Chatbot antes e depois de aplicar a Comunalidades e diferenças nos designs do Chatbot foram destacadas
abordagem de combinação de frases foi apresentada. O objetivo da com os fatores influentes incluídos na pesquisa. Um resumo desses fatores
abordagem era pode ser visto na tabela 2.

TABELA II. UMA S RESUMO DO S ELEITO F ATORES Eu NFLUENCING C HABOT D ESIGN

Fatores que influenciam o design do chatbot

Usando
Creatina disponível Uso de SQL Corpus
Estude Voz Texto AIML
g novo le (Relacional Técnica de combinação (conhecimento Inscrição
uso
Chatbot Chatbo Base de dados) base)
ts
Correspondência de Edger Chatbot

técnica (combinação de
Edgar
Pereira et al sim Algoritmos TfIdf com Design do chatbot.
[10] sim sim NÃO sim NÃO Chatbot
linguagem natural

normalização)

Rosmalen [22] NÃO sim NÃO sim sim sim Formulário de correspondência de QA AIML Educação médica

Lokman et al NÃO sim sim NÃO sim sim Formulário de correspondência de QA VP bot Assistência à saúde
[23]
Pré-requisito ViDi
Lokman et al NÃO sim NÃO sim NÃO sim Assistência à saúde
[24] Coincidindo Chatbot

One-Match All-Match ViDi


Lokman et al NÃO sim NÃO sim NÃO sim Assistência à saúde
[25] Categoria (OMAMC) Chatbot

Padrão de categoria AIML Educacional


Mikic et al [26] NÃO sim NÃO sim sim NÃO AIML
Coincidindo sistemas

Bhargava et al Padrão de categoria AIML


sim NÃO sim NÃO sim NÃO AIML E-learning
[5] Coincidindo

Manual
Genético
Vrajitoru NÃO sim sim NÃO NÃO NÃO padrão e Qualquer
[27] Algoritmos (GA)
dados escolhidos

Manual
Genético
Ratkiewicz NÃO sim sim NÃO NÃO NÃO padrão e Qualquer
[9] Algoritmos (GA)
dados escolhidos

VI. S RESUMO DE S IGNIFICANTE Eu MPROVIMENTOS NO VII. D ISCUSSION


UMA NALYSED S ESTUDOS
O exame dos fatores que influenciam o design do Chatbot mostra que
Cada um dos estudos selecionados fez melhorias no design do Chatbot. Um existem semelhanças e diferenças entre os estudos destacados.
resumo das contribuições feitas é mostrado na tabela 3.

78 Página
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 7, 2015

Embora as etapas de processamento sejam as mesmas para voz e texto após a evidência da sua utilização em Loebner Prized Chatbots) adicionou uma nova
conversão de voz em texto, existem diferenças distintas no uso em sistemas de técnica às bases de conhecimento, nomeadamente a Base de Dados Relacional,
conversação, particularmente em termos de suas aplicações. O texto é usado na que permite ao Chatbot recordar conversas anteriores através do acesso ao
maioria dos estudos, exceto [5], devido à simplicidade, enquanto a voz é usada em histórico armazenado na base de dados desenhada em SQL. No entanto, uma base
[5] e [10] para aplicações com necessidades especiais, por exemplo, para pessoas de conhecimento AIML ainda é eficaz para projetos de Chatbot; por exemplo,
com deficiência. A resposta no caso de solicitações de deficiência deve ser uma Mitsuku Chatbot ganhou o Prêmio Loebner em 2013 e foi baseado no AIML.
resposta de voz. Os aplicativos móveis comerciais (Chatbots) que surgiram
recentemente, por exemplo, Cortana e Siri, aceitam a fala como uma entrada e
fornecem uma resposta de voz além do texto.
A fim de projetar novos Chatbots ou estender os anteriores, cada estudo
usou um corpus que é diferente do outro, conforme ilustrado na tabela 2. O
corpus que é usado para construir um Chatbot afeta o design porque afeta a
Novos Chatbots foram criados em [5], [9], [23] e [27], que adicionam novas base de conhecimento do O chatbot e a precisão da resposta, já que a
técnicas ou usam designs anteriores aprimorados. Também novas técnicas, resposta é um reflexo da base de conhecimento.
algoritmos ou extensões foram adicionados aos Chatbots existentes em [10],
[22], [24], [25] e [26] a fim de melhorar sua função ou estender o software
A coluna do aplicativo na tabela 2 mostra que cada chatbot foi projetado para
disponível adicionando interação de chat. Por exemplo, o Loebner Prized
atender a certas necessidades de conversação, mantendo um chat com um grupo
Chatbot ALICE (que ganhou três vezes) foi aprimorado várias vezes em
específico de pessoas em uma organização específica. O trabalho no futuro
iterações posteriores, e Joan (Jabberwacky) foi a forma atualizada de George
precisa de mais foco em sistemas de conversação de propósito geral, projetando
(Jabberwacky).
Chatbots com bases de conhecimento mais abrangentes para cobrir tópicos
gerais usando as técnicas mais recentes.
As bases de conhecimento são construídas usando diferentes técnicas.
Por exemplo, AIML, que é a primeira técnica usada com o ALICE Chatbot, é
A Tabela 3, que cobre a contribuição apresentada por cada um dos
usada para construir os Chatbots em [5], [10] e [26], enquanto SQL (ou RDB) é
estudos selecionados, mostra como cada um fez uma melhoria no design do
usado em [24] e [ 25]. Ambos AIML e SQL são usados em [22] e [23]. Nem
Chatbot, apesar de usar diferentes técnicas, algoritmos ou programas.
AIML ou SQL são usados em [9] e [27]. O uso de SQL (sem clareza

TABELA III. UMA S RESUMO DE C ONTRIBUIÇÕES PARA C HATBOT D ENTRAR UMA NALYSED S ESTUDOS

Estude
Melhorias Significativas

Produzir um novo corpus (base de conhecimento) que evita sobreposições, identifica perguntas pessoais e rejeita palavras ou tópicos indesejados
Pereira et al
combinando formatos de controle de qualidade e diálogo disponíveis.
[10]

Estendendo um jogo sério existente, adicionando um simples Chatbot para dar a oportunidade aos trainees de estarem cientes do trabalho e das
Rosmalen [22] atividades no primeiro dia de emprego.

Projetar um novo Chatbot (ViDi) que tenha a capacidade de lembrar conversas anteriores para funcionar como um conselheiro virtual para pacientes
Lokman et al
diabéticos.
[23]

Redesenhar e estender o Chatbot ViDi adicionando as técnicas de correspondência de pré-requisitos para obter uma forma de conversação em vez de um
Lokman et al
formulário de QA e torná-lo disponível para usuários na Internet por meio de um navegador da web.
[24]

Propondo uma nova técnica de correspondência OMAMC para produzir resultados aprimorados, reduzindo o tempo de correspondência e aumentando a flexibilidade do
Lokman et al
contexto.
[25]

Atualização do Chatbot CHARLIE para incorporá-lo na plataforma INtelligent Educational System (INES) com o objetivo de melhorar a
Mikic et al [26] conversação entre alunos e sistemas educacionais.

Projetar um novo Chatbot baseado em AIML de fala em linguagem natural e entrada e saída de palavras limitadas para usá-lo em sistemas de e-learning para permitir que
Bhargava et al
pessoas com deficiência aprendam por meio da fala.
[5]

Propondo uma nova abordagem inovadora de correspondência de padrões em um Chatbot. Os autores ajustaram Algoritmos Genéticos com linguagem natural para
Vrajitoru
gerar uma nova frase a partir das existentes, a fim de melhorar a diversidade de respostas.
[27]

i) Implementar o modelo proposto em [27], ou seja, empregar o GA no casamento de padrões para produzir uma nova sentença a partir de sentenças
Ratkiewicz recuperadas de um banco de dados existente para aumentar a diversidade de respostas. ii). Aplicando técnicas de recuperação de informações ao Chatbot.
[9]

79 Página
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 7, 2015

VIII. C ONCLUSÕES [8] AM Galvão, FA Barros, AM Neves e GL Ramalho, "Personaaiml: Uma arquitetura
desenvolvendo chatterbots com personalidade." pp. 1266-1267, 2004.
Neste artigo, a revisão da literatura cobriu uma série de artigos selecionados
que se concentraram especificamente nas técnicas de design do Chatbot na [9] J. Ratkiewicz, "Combinação de sentenças evolucionárias para Chatterbots Dana Vrajitoru
última década. Uma pesquisa de nove estudos selecionados que afetam o design Computação e Ciências da Informação Indiana University South Bend, 1700 Mishawaka
do Chatbot foi apresentada, e a contribuição de cada estudo foi identificada. Além Ave," 2004.

disso, foi feita uma comparação entre as técnicas de design do Chatbot nos [10] MJ Pereira e L. Coheur, “Just. Chat - uma plataforma de processamento de informações para
uso em chatbots ”, 2013.
estudos selecionados e, em seguida, com as técnicas do Chatbot vencedoras do
Prêmio Loebner. A partir da pesquisa acima, pode-se dizer que o [11] DJ Stoner, L. Ford e M. Ricci, "Simulating Military Radio Communications Using
Speech Recognition and Chat-Bot Technology",
desenvolvimento e a melhoria do design do Chatbot não crescem a uma taxa
2003
previsível devido à variedade de métodos e abordagens usados para projetar
[12] K. Meffert, "Supporting design patterns with annotations." pp. 8 pp.-
um Chatbot. As técnicas de design do Chatbot ainda são um assunto para debate 445, 2006.
e nenhuma abordagem comum ainda foi identificada. Os pesquisadores até [13] D. Mladenić e L. Bradeško, "A survey of chabot system through a Loebner award
agora trabalharam em ambientes isolados com relutância em divulgar quaisquer Competition", 2012.
técnicas aprimoradas que encontraram, consequentemente, retardando as [14] AM Turing, "Computing machines and intelligence," Mind, pp. 433-
melhorias para Chatbots. Além disso, os Chatbots projetados para sistemas de 460, 1950.
diálogo nos estudos selecionados são, em geral, limitados a aplicações [15] B. Kirkpatrick e B. Klingner, “Jogo de Imitação de Turing: uma discussão com o benefício da visão
particulares. Os chatbots de uso geral precisam de melhorias projetando bases posterior,” curso de Ciência da Computação de Berkeley. Consulte http: // www. cs. berkeley. edu / ~
christos / classics / ttest. pdf Acessado, vol.
de conhecimento mais abrangentes.
1, pp. 13, 2009.
[16] P. Hingston, "A turing test for computer game bots," Computational Intelligence and AI
in Games, IEEE Transactions on, vol. 1, não. 3, pp. 169-186, 2009.

Embora alguns produtos comerciais tenham surgido recentemente no mercado [17] R. Higashinaka, K. Imamura, T. Meguro, C. Miyazaki, N. Kobayashi, H. Sugiyama, T. Hirano,
T. Makino e Y. Matsuo, "Rumo a um sistema de conversação de domínio aberto totalmente
(por exemplo, Microsoft Cortana) como chatbots de diálogo, melhorias precisam de
baseado no processamento de linguagem natural ", 2014.
pesquisa contínua e carecem de
solução comum. [18] B. Wilcox, "Ganhando a Loebner's, "
http://www.gamasutra.com/blogs/BruceWilcox/20141020/228091/Winn
Cada pesquisador precisa documentar de maneira robusta quaisquer melhorias ing_the_Loebners.php, 2014.
bem-sucedidas para permitir que a interação da fala humana no computador chegue a um acordo [19] R. Wallace, “The elements of AIML style,” Alice AI Foundation, 2003.
sobre uma abordagem comum. Isso sempre estará em desacordo com as considerações [20] M. d. GB Marietto, RV de Aguiar, G. d. O. Barbosa, WT Botelho,
comerciais. E. Pimentel, R. d. S. França, e VL da Silva, “Artificial Intelligence MArkup
Language: A Brief Tutorial,” arXiv preprint arXiv: 1307.3091,
R EFERÊNCIAS
2013.
[1] CI Nass e S. Brave, Wired for speech: How voice ativa and advance the
[21] W. Kim, "Na otimização de uma consulta aninhada semelhante ao SQL", ACM Transactions on Database
human-computer relationship: MIT Press Cambridge,
Systems (TODS), vol. 7, não. 3, pp. 443-469, 1982.
2005.
[22] P. Van Rosmalen, J. Eikelboom, E. Bloemers, K. Van Winzum e P. Spronck,
[2] Y.-P. Yang, “An Innovative Distributed Speech Recognition Platform for Portable,
"Towards a Game-Chatbot: Extending the Interaction in Serious Games", 2012.
Personalized and Humanized Wireless Devices,” Computational Linguistics and
Chinese Language Processing, vol. 9, não.
2, pp. 77-94, 2004.
[23] AS Lokman e JM Zain, "Um projeto arquitetônico de Dietista Virtual (ViDi) para
pacientes diabéticos." pp. 408-411, 2009.
[3] JP Campbell Jr, “reconhecimento de orador: um tutorial,” Proceedings of the IEEE, vol. 85, nº
9, pp. 1437-1462, 1997.
[24] AS Lokman e JM Zain, “Extension and prerequisite: An algorithm to enable Relations
between responses in Chatbot technology,” Journal of Computer Science, vol. 6,
[4] CH. Lee, "Do conhecimento ignorante à modelagem rica em conhecimento: um novo paradigma de
não. 10, pp. 1212, 2010.
pesquisa da fala para o reconhecimento automático de fala da próxima geração", 2004.
[25] AS Lokman e JM Zain, “One-Match e All-Match Categories for Keywords Matching
in Chatbot,” American Journal of Applied Sciences, vol. 7, não. 10, pp. 1406, 2010.
[5] V. Bhargava e N. Maheshwari, "An Intelligent Speech Recognition System for
Education System", 2009.
[26] FA Mikic, JC Burguillo, M. Llamas, DA Rodríguez e E. Rodríguez, "CHARLIE: Um
[6] E. Loper e S. Bird, "NLTK: The natural language toolkit." pp. 63-70,
Chatterbot baseado em AIML que funciona como uma interface entre INES e
2002
humanos." pp. 1-6, 2009.
[7] S. Bird, "NLTK: the natural language toolkit." pp. 69-72, 2006.
[27] D. Vrajitoru, "Construção de sentenças evolucionárias para chatterbots." pp. 315-
321, 2003.

80 Página
www.ijacsa.thesai.org

Você também pode gostar