• Nenhum resultado encontrado

3 FERRAMENTAS DE EDIÇÃO DE CATEGORIAS AIML

5.2 o PROCESSO DE TARGETING

Dando continuidade ao processo de targeting, foram recolhidos diversos logs de conversas com o chatterbot. As dificuldades de comunicação foram detectadas logo no início das conversas, tornando necessária a criação de categorias relacionadas a este contexto. A seguir serão mostrados alguns exemplos de logs recolhidos e as respectivas categorias criadas para corrigir as falhas de comunicação com o agente.

64

[Olá][ Oi Desconhecido! ]

[desconhecido?][ Você poderia fazer a sua pergunta de uma outra forma? ] [meu nome é Leticia][ Olá Leticia. ]

[muito prazer][ Não sei nada sobre "muito prazer". Ou, não entendi sua pergunta. ] [eu também sou professor][Estou em constante aprimoramento, mas infelizmente não compreendi sua última frase. ]

[eu dou aula também][ Estou em constante aprimoramento, mas infelizmente não compreendi sua última frase. ]

[sobre o que podemos falar?][ Infelizmente não pude entender sua última frase. ] Quadro 19 – Arquivo de log analisado

<category>

<pattern>DESCONHECIDO</pattern>

<template>É porque ainda não sei seu nome!</template> </category> <category> <pattern>MUITO PRAZER</pattern> <template>obrigado!</template> </category> <category>

<pattern>EU TAMBEM SOU PROFESSOR</pattern>

<template>Interessante, onde você leciona?</template> </category>

<category>

<pattern>EU DOU AULA *</pattern>

<template><srai>EU TAMBEM SOU PROFESSOR</srai></template> </category>

<category>

<pattern>SOBRE O QUE * FALAR</pattern>

<template><srai>ASSUNTOSCONHECIDOS</srai></template> </category>

Quadro 20 – Exemplos de categorias criadas após o processo de targeting

[tudo bom?][ Você poderia fazer a sua pergunta de uma outra forma?] [como vai?][ Não sei nada sobre "como vai". Ou, não entendi sua pergunta.]

[sobre o que vamos conversar?][ Infelizmente não pude entender sua última frase. ] [o que voce sugere?][ Não sei nada sobre "o que voce sugere". Ou, não entendi sua pergunta. ]

[qual seu nome?][ Você poderia fazer a sua pergunta de uma outra forma? ]

[qual é o seu nome?][ Não sei nada sobre "qual é o seu nome". Ou, não entendi sua pergunta.]

[qual o seu nome?][ Me chamo TheBot. ]

[que nome é esse?][ Você poderia fazer a sua pergunta de uma outra forma? ]

[de onde vem o seu nome?][ Estou em constante aprimoramento, mas infelizmente não compreendi sua última frase. ]

65 <category> <pattern>TUDO BOM</pattern> <template><srai>TUDOBEM</srai></template> </category> <category> <pattern>COMO VAI</pattern>

<template><srai>COMO VOCE ESTA</srai></template> </category>

<category>

<pattern>SOBRE O QUE * CONVERSAR</pattern>

<template><srai>ASSUNTOSCONHECIDOS</srai></template> </category>

<category>

<pattern>O QUE VOCE SUGERE</pattern>

<template>Eu sugiro que falemos sobre Qualidade de Software</template> </category>

<category>

<pattern>QUAL SEU NOME</pattern>

<template><srai>QUAL O SEU NOME</srai></template> </category>

<category>

<pattern>QUAL E O SEU NOME</pattern>

<template><srai>QUAL O SEU NOME</srai></template> </category>

<category>

<pattern>QUE NOME E ESSE</pattern>

<template>Vem da minha atividade!<srai>UM CHAT BOT</srai></template> </category>

<category>

<pattern>DE ONDE VEM SEU NOME</pattern>

<template>Vem da minha atividade!<srai>UM CHAT BOT</srai></template> </category>

Quadro 22 – Exemplos de categorias criadas após o processo de targeting

[eu me chamo Leticia][ Infelizmente não pude entender sua última frase. ] [me chamo Leticia][ Você tem um belo nome Leticia. ]

[prazer][ Estou em constante aprimoramento, mas infelizmente não compreendi sua última frase.]

[quem é voce?][ Sou um tipo de professor on-line de Qualidade de Software.]

[como voce está hoje?][ Não sei nada sobre "como voce está hoje". Ou, não entendi sua pergunta. ]

[de onde voce é?][ Estou em constante aprimoramento, mas infelizmente não compreendi sua última frase. ]

[o que voce faz?][ Estou em constante aprimoramento, mas infelizmente não compreendi sua última frase. ]

[onde vc trabalha?][ Não sei nada sobre "onde voce trabalha". Ou, não entendi sua pergunta. ]

66

<category>

<pattern>EU ME CHAMO *</pattern>

<template><srai>MEU NOME E <star/></srai></template> </category> <category> <pattern>PRAZER</pattern> <template>Obrigado</template> </category> <category>

<pattern>COMO VOCE ESTA HOJE</pattern>

<template><srai>COMO VOCE ESTA</srai></template> </category>

<category>

<pattern>DE ONDE VOCE E</pattern>

<template>Sou de Santa Catarina, cidade de São José</template> </category>

<category>

<pattern>O QUE VOCE FAZ</pattern>

<template><srai>MEUSCONHECIMENTOS</srai></template> </category>

<category>

<pattern>ONDE VOCE TRABALHA</pattern>

<template>Na Univali em São José</template> </category>

Quadro 24 – Exemplos de categorias criadas após o processo de targeting

[vamos falar sobre que assunto?][ Não sei nada sobre "que assunto". Ou, não entendi sua pergunta. ]

[meu deus][ Não sei nada sobre "meu deus". Ou, não entendi sua pergunta. ]

[e a sua mãe vai bem?][ Estou em constante aprimoramento, mas infelizmente não compreendi sua última frase. ]

[como vai a família?][ Não sei nada sobre "como vai a família". Ou, não entendi sua pergunta. ]

[voce acredita em Deus][ Você poderia fazer a sua pergunta de uma outra forma? ] [quem sao seus pais?][ Estou em constante aprimoramento, mas infelizmente não compreendi sua última frase. ]

[voce tem amigos?][ Infelizmente não pude entender sua última frase. ] Quadro 25 – Arquivo de log analisado

67

<category>

<pattern>VAMOS FALAR SOBRE QUE ASSUNTO</pattern> <template><srai>ASSUNTOSCONHECIDOS</srai></template> </category> <category> <pattern>MEU DEUS</pattern> <template><srai>CANSEI</srai></template> </category> <category>

<pattern>_ MAE VAI BEM</pattern>

<template>Vai muito bem obrigado!</template> </category>

<category>

<pattern>COMO VAI A FAMILIA</pattern>

<template>Vai muito bem obrigado!</template> </category>

<category>

<pattern>VOCE ACREDITA EM DEUS</pattern>

<template>Sim, eu acredito em Deus!</template> </category> <category> <pattern>_ PAIS</pattern> <template><srai>PAIS</srai></template> </category> <category> <pattern>_ AMIGOS</pattern> <template><srai>AMIGOS</srai></template> </category>

Quadro 26 – Exemplos de categorias criadas após o processo de targeting

Como mencionado na seção 5.1 deste capítulo, a base de conhecimento específico possui cerca de 140 conceitos. Neste trabalho optou-se por trabalhar um número menor de tópicos, buscando maior interação com o usuário. Inicialmente os tópicos escolhidos foram: Qualidade de software em si, Processo de Software, Requisitos de Qualidade, Garantia de Qualidade e Teste de Software. Procura-se ligar um assunto a outro de forma a conduzir o usuário leigo em Qualidade de Software. Os tópicos abordados em um conceito devem também fazer parte da base de conhecimento. Além disto, os conceitos devem ser abordados de forma que o chatterbot pareça um professor e não apenas um dicionário. Para isto, é preciso detalhar ao máximo cada tópico.

68

A seguir será apresentado um exemplo de modificação na base, que reflete a idéia abordada neste parágrafo. Se o usuário demonstra interesse em saber sobre qualidade, a seguinte categoria é processada:

<category>

<pattern>QUALIDADE</pattern>

<template>Qualidade de Software?</template> </category>

Quadro 27 – Exemplo de categoria - Qualidade

Neste caso, o chatterbot tenta especificar mais o assunto, indagando se o interesse é em Qualidade de Software. Se a resposta for “Sim”, a categoria abaixo analisa o contexto, e responde de acordo com o que foi solicitado:

<category>

<pattern>SIM</pattern>

<that>QUALIDADE DE SOFTWARE</that> <template>

A Qualidade de Software é uma área de conhecimento da Engenharia de Software que objetiva garantir a qualidade do software através da definição e normatização de processos de desenvolvimento. Apesar dos modelos aplicados na garantia da qualidade de software atuarem principalmente no processo, o principal objetivo é garantir um produto final que satisfaça às espectativas do cliente, dentro daquilo que foi acordado inicialmente. No desenvolvimento de software, a qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento, desta forma, é comum que a busca por um software de maior qualidade passe necessariamente por uma melhoria no processo de desenvolvimento.

</template> </category>

Quadro 28 – Exemplo de categoria – Qualidade de Software

A resposta sendo negativa, o chatterbot apresenta o conceito geral de qualidade, como mostra o Quadro 29.

<category>

<pattern>NAO</pattern>

<that>QUALIDADE DE SOFTWARE</that> <template>

Neste caso podemos falar de qualidade em geral: Você pode entender a qualidade como sendo a totalidade de características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas. Esta definição é usada pela norma NBR ISO 8402. Para ajudar no entendimento, uma entidade pode ser uma atividade ou um processo, um produto, uma organização ou uma combinação entre eles. </template>

</category>

Quadro 29– Exemplo de categoria – Qualidade - Conceito

A Base inicial possuía 504 categorias, sendo 364 de linguagem natural e 140 de conhecimento específico. Por meio do processo de targeting, foram analisados 77

69

arquivos de log e acrescentadas 282 novas categorias, sendo 270 de linguagem natural e 12 de conhecimento específico.

O processo de targeting não possui necessariamente um fim, sendo que, o conhecimento é infinito. Haverá sempre a possibilidade de aprimorar e acrescentar conhecimento à base. Seguindo o modelo descrito neste capítulo, o objetivo é aumentar gradativamente o número de categorias, tanto de linguagem natural quanto de conhecimento específico, para que o agente possa se comunicar cada vez melhor e servir adequadamente ao seu objetivo maior que é o auxílio no ensino de Qualidade de Software, sendo incorporado à Plataforma Colaborativa de Engenharia de Software, o Projeto PLACES.

5.3 CONSIDERAÇÕES DO CAPÍTULO

Este capítulo mostrou como estava estruturada a base de conhecimento inicial, a análise dos arquivos de log, as modificações feitas e, exemplos de categorias criadas a partir desta análise. A ferramenta acelerou bastante o processo de inserção de categorias, por meio da automatização do cadastro e importação. No capítulo seguinte serão apresentadas as conclusões do trabalho através da análise de cada objetivo específico. Além disto, serão citadas as dificuldades encontradas durante o desenvolvimento do trabalho e, sugestões de trabalhos futuros.

70

Documentos relacionados