• Nenhum resultado encontrado

3 FERRAMENTAS DE EDIÇÃO DE CATEGORIAS AIML

3.5 CONSIDERAÇÕES DO CAPÍTULO

Neste capítulo foi feita a avaliação de duas ferramentas de edição de categorias AIML. A avaliação foi baseada em cinco critérios, mais especificamente cinco módulos, considerados necessários para a composição da ferramenta que irá auxiliar na manutenção da base de conhecimento do chatterbot.

Cada ferramenta foi avaliada separadamente, conforme os critérios de cadastro, importação, teste, pesquisa e ajuda. A ferramenta que mais se aproximou das características ideais foi a primeira, Pandorabot, tendo somado 4 pontos quando atendeu completamenta ao critério de importação e parcialmente aos critérios de ajuda e cadastro. A outra ferramenta, AIMLpad, somou 3 pontos, somente atingindo parcialmente aos critérios de teste, importação e filtros de busca. No capítulo seguinte será apresentada a descrição da ferramenta implementada, com exemplos de utilização das suas funcionalidades.

48

4 FERRAMENTA DESENVOLVIDA

A partir da análise de algumas ferramentas que, entre outras funções, possibilitam o cadastro e edição de categorias AIML em bases de conhecimento, foi proposta a construção de uma nova ferramenta, voltada para a melhoria da base de conhecimento de um agente de conversação específico. Este agente foi construído com o propósito de auxiliar usuários na aprendizagem de Qualidade de Software. Com o intuito de tornar o processo de inserção de conhecimento na base menos complexo e mais ágil, a ferramenta permite que pessoas sem conhecimento na linguagem AIML possam cadastrar categorias, além de automatizar ações repetitivas. Os módulos que compõem a ferramenta são: Cadastro, Importação, Pesquisa e Teste.

4.1 CADASTRO:

A base de conhecimento atual está dividida em 4 arquivos. Esta divisão foi feita apenas para facilitar sua visualização. Os 4 arquivos que compõem a base são: saudacao.aiml, qualidade.aiml, gerais.aiml e conhecimentosGerais.aiml. O arquivo saudacao.aiml possui categorias de saudação, despedida e introdução de conversas. Qualidade.aiml comporta categorias sobre Qualidade de Software, principalmente com conceitos de diversos tópicos referentes a este assunto. O arquivo gerais.aiml é composto por categorias que correspondem as diversas maneiras de se formular uma pergunta ou de se abordar um assunto. O asterisco (*) adicionado ao pattern da categoria, substitui o assunto propriamente dito. Este símbolo representa o pattern da categoria a qual o foco será remetido. E, finalmente, o arquivo conhecimentosGerais.aiml abrange categorias de assuntos diversos, peculiaridades do agente e seus conhecimentos.

49

Este módulo apresenta 5 possibilidades diferentes de cadastro, como mostra o menu na figura 21, cobrindo todos os tipos de categorias. A nomenclatura dos itens de menu não corresponde exatamente aos nomes corretos dos tipos de categorias segundo a teoria da linguagem AIML, sendo que, o objetivo é justamente facilitar a compreensão por usuários leigos na linguagem.

Figura 21 – Cadastro de Categorias – Tipos de Categorias

Para fazer qualquer tipo de cadastro, o usuário deve primeiramente abrir o arquivo AIML no qual deseja inserir categorias, clicando na opção “Abrir” do Menu “Arquivo”, de acordo com a figura 22.

50

Após selecionar o arquivo e abrí-lo (Figura 23), a ferramenta exibe o mesmo em uma caixa de texto na própria janela de cadastro (Figura 24).

Figura 23 – Popup Window – Seleção do Arquivo

Figura 24 – Cadastro de Categorias – Arquivo exibido na tela

Nesta tela, o usuário poderá cadastrar tanto uma categoria atômica, quanto padrão e recursiva. Ao preencher somente pergunta e resposta, ele estará cadastrando uma categoria atômica. Se além de pergunta e resposta, o usuário preencher o campo “Depende do Contexto”, estará cadastrando uma categoria com contexto, sem a necessidade de saber que o mesmo deve estar entre as tags <that> e </that>. O usuário apenas precisa saber que o contexto é utilizado para o agente não se perder no andamento da conversa, lembrando da sua última resposta ou pergunta. Esta tela

51

apresenta ainda a opção de “Direcionar para a categoria”, inserida entre as tags <srai> e </srai> e que faz parte do template. Esta opção permite que a resposta seja direcionada para outra categoria. Isto corresponde à recursividade em AIML, sendo utilizada, geralmente, quando uma ou mais entradas podem apresentar uma mesma saída. Toda a categoria adicionada, é inserida ao final do arquivo, considerando que, independe do local onde estejam na base, ao rodar o sistema do Chatterbot, todas as categorias são carregadas em um único arquivo. A seguir serão apresentados, através das figuras (25 – 28), todos os tipos de categorias possíveis de serem cadastradas na tela de cadastro simples:

Figura 25 – Cadastro de Categorias – Categoria Simples - 1

52

Figura 27 – Cadastro de Categorias – Categoria Simples - 3

Figura 28 – Cadastro de Categorias – Categoria Simples - 4

A ferramenta disponibiliza uma tela específica para o cadastro de categorias cuja resposta é randômica. Neste tipo de categoria, o chatterbot sorteia uma resposta entre várias.

53

A interface exibida na figura 29, permite que o usuário também abra um arquivo, se o mesmo não tiver sido aberto na tela anterior. Permite também a adição de n respostas à categoria antes do seu cadastro.

A figura 30 mostra o resultado do cadastro da categoria randômica:

Figura 30 – Cadastro de Categorias – Resposta Randômica - 1

A próxima tela corresponde ao cadastro de categoria recursiva, utilizando o princípio mencionado anteriormente, a respeito da divisão da base de conhecimento. O arquivo gerais.aiml possui uma coleção de categorias representando diversos tipos de perguntas, ou seja, diversos tipos de entradas. Neste caso, o que realmente interessa ao agente, é o assunto propriamente dito, que é representado pelo asterisco (*). A figura 31 mostra os campos preenchidos para o cadastro das categorias e a figura 32 o resultado do cadastro no arquivo.

54

Figura 32 – Cadastro de Categorias – Perguntas Diversas - 2

Outro tipo de categoria recursiva é a que trabalha com sinônimos. Utilizando a recursividade em AIML, por meio da tag <srai>, é possível mapear n sinônimos a uma única entrada e uma única resposta.

Na tela a seguir (Figura 33), o usuário pode adicionar um ou mais sinônimos que serão transformados em categorias.

Figura 33 – Cadastro de Categorias – Sinônimos – 1

Resultado do cadastro:

55

A última tela deste módulo, permite o cadastro de categorias do tipo Palavra- Chave. Este tipo de categoria é utilizada quando se deseja definir uma resposta quando uma determinada palavra for encontrada em qualquer parte da frase de entrada.

Ao cadastrar uma palavra-chave e a resposta, a ferramenta cria outras 3 categorias compondo o grupo necessário para cobrir todas as posições da palavra na frase, utilizando os símbolos “_” e “*”, de acordo com a figura 35.

Figura 35 – Cadastro de Categorias – Palavra-Chave

O usuário tem a possibilidade de ver o cadastro acontecendo, quando visualiza o arquivo e as categorias sendo adicionadas. Para concluir o cadastro, é preciso ainda, salvar o arquivo utilizando o botão “Salvar Arquivo”.

Com este módulo a ferramenta busca cobrir todos os requisitos de cadastro especificados na sua proposta. Todos os tipo de categorias, descritos no capítulo 2, são possíveis de serem cadastrados, considerando que, o usuário não necessita conhecer as funções das tags e a estrutura do documento, para efetuar o cadastro.

4.2 IMPORTAÇÃO

A importação de categorias para a base de conhecimento, contribui consideravelmente para a rapidez no cadastro. Se a importação for de um arquivo

56

AIML, basta salvar uma cópia do arquivo no diretório onde estão os outros arquivos da base de conhecimento. Mas se o usuário deseja transformar um arquivo texto em categorias, este deve estar em formato de diálogo, iniciando com a entrada seguida da resposta do agente. Entradas e respostas devem estar separadas por no mínimo uma linha em branco. Seguindo o mesmo processo de cadastro, inicialmente é preciso abrir o arquivo ao qual deseja inserir categorias. Clicando na opção Importar no menu Categorias (Figura 36), a ferramenta exibe uma janela onde o usuário seleciona o arquivo texto que deseja converter em categorias (Figura 37).

Figura 36 – Categorias – Importar

57

A figura 38 mostra o arquivo texto aberto e a figura 39 apresenta o mesmo arquivo transformado em categorias.

Figura 38 – Arquivo texto

Figura 39 – Resultado da Importação

Este módulo atende aos requisitos de importação de categorias descritos na proposta da ferramenta, sendo também um dos critérios de avaliação das ferramentas no capítulo 3.

4.3 PESQUISA

De acordo com a especificação da ferramenta, a pesquisa deve ser possível tanto por pattern (entrada) quanto por template (resposta). Nos dois casos, existe ainda a pesquisa por pattern específico ou template específico, por palavra-chave, por caracter inicial ou por grupo de caracteres. O retorno será uma categoria ou um grupo de categorias. O usuário poderá editá-las como desejar.

Tanto na busca por pattern quanto por template, o usuário digita a palavra, a frase, o caracter ou o grupo de caracteres e clica em perquisar ao lado do campo de texto.

58

Abaixo, na figura 40 está um exemplo de busca por pattern e a seguir na figura 41, um exemplo de busca por template.

Figura 40 – Busca por Pattern

59

4.4 TESTE

Este módulo não precisou ser implementado, sendo que, a ferramenta apenas possui um link com o agente de conversação. Inicialmente foi determinado que o teste poderia ser apenas de uma categoria, ou de um grupo de categorias, ou mesmo de toda a base de conhecimento. No entanto, como o agente, ao ser rodado, carrega toda a base de conhecimento em um único local, independente de quantos arquivos AIML possua na base, optou-se sempre pelo teste de toda a base. Portanto, ao clicar na opção Testar, no menu Categorias, o chatterbot é executado, possibilitando o teste de todas as categorias da base, inclusive aquelas cadastradas recentemente. A seguir será exemplificado um processo de cadastro e teste de uma categoria. Na tela abaixo, ocorre o cadastro de uma categoria simples (Figura 42). Logo após, na figura 43, o agente em funcionamento, mostrando o reconhecimento da categoria cadastrada.

Figura 42 – Cadastro antes de executar o Teste

Figura 43 – Categorias – Testar

O módulo de teste é fundamental em uma ferramenta como esta. Ele permite que o usuário verifique o funcionamento das categorias cadastradas.

60

4.5 CONSIDERAÇÕES DO CAPÍTULO

Este capítulo apresentou a descrição da ferramenta implementada, mostrando o cumprimento dos requisitos estabelecidos após a análise feita no capítulo 3.

O desenvolvimento desta ferramenta foi um dos objetivos atingidos neste trabalho, mostrando facilitar a entrada de categorias na base de conhecimento. O mecanismo de inserção de categorias em um arquivo AIML demanda menos esforço repetitivo quando a ferramenta coloca automaticamente as entradas entre as tags específicas, por meio dos módulos de cadastro e importação. Além disto, o módulo de pesquisa permite que o usuário encontre rapidamente categorias já cadastradas. E, por último, o módulo de teste mostra a base em funcionamento, utilizando-se do próprio

chatterbot.

O próximo capítulo demonstrará a estrutura da base de conhecimento inicial, o processo feito a partir desta base e, as melhorias alcançadas.

61

5 APLICAÇÃO DA FERRAMENTA

Documentos relacionados