3.3 implementação - Projeto Pesquisa

Propaganda
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO
APLICATIVO PARA EMPRESA DE HELP DESK BASEADO
EM GESTÃO DO CONHECIMENTO UTILIZANDO A
TÉCNICA DE MINERAÇÃO DE TEXTO.
KLAUBER SCHEFFLER FISCHER
BLUMENAU
2012
2012/1-09
KLAUBER SCHEFFLER FISCHER
APLICATIVO PARA EMPRESA DE HELP DESK BASEADO
EM GESTÃO DO CONHECIMENTO UTILIZANDO A
TÉCNICA DE MINERAÇÃO DE TEXTO.
Trabalho de Conclusão de Curso submetido à
Universidade Regional de Blumenau para a
obtenção dos créditos na disciplina Trabalho
de Conclusão de Curso II do curso de Sistemas
de Informação— Bacharelado.
Prof. Oscar Dalfovo, Doutor - Orientador
BLUMENAU
2012
2012/1-09
APLICATIVO PARA EMPRESA DE HELP DESK BASEADO
EM GESTÃO DO CONHECIMENTO UTILIZANDO A
TÉCNICA DE MINERAÇÃO DE TEXTO.
Por
KLAUBER SCHEFFLER FISCHER
Trabalho aprovado para obtenção dos créditos
na disciplina de Trabalho de Conclusão de
Curso II, pela banca examinadora formada
por:
Presidente:
______________________________________________________
Prof. Oscar Dalfovo, Doutor – Orientador, FURB
Membro:
______________________________________________________
Prof. Roberto Heinzle, Doutor – FURB
Membro:
______________________________________________________
Prof. Cláudio Ratke, Mestre – FURB
Blumenau, 10 de julho de 2012.
Dedico este trabalho aos meus pais,
companheiros de curso, professores e amigos,
especialmente aqueles que me ajudaram
diretamente na realização deste.
AGRADECIMENTOS
A Deus, pela sua compaixão e justiça.
Aos meus pais, Ademar e Madalene, que mesmo longe, sempre estiveram presentes.
Aos meus amigos, pelas fugas e companhias oferecidas nos momentos de estresse.
Ao meu orientador, Oscar Dalfovo, por compartilhar seu conhecimento, ser um
exemplo de profissional e docente, fonte de inspiração.
A todos os professores do Departamento de Sistemas e Computação da Universidade
Regional de Blumenau, em especial o mestre Wilson Pedro Carli.
Seja você quem for, seja qual for à posição
social que você tenha na vida, a mais alta ou a
mais baixa, tenha sempre como meta muita
força, muita determinação e sempre faça tudo
com muito amor e com muita fé em Deus, que
um dia você chega lá. De alguma maneira
você chega lá.
Ayrton Senna
RESUMO
Este trabalho tem como objetivo apresentar um aplicativo de apoio ao setor de suporte aos
clientes de uma empresa. O aplicativo possibilita aos usuários a criação de um banco de dados
com os erros conhecidos e suas soluções. Através de técnicas e regras, o aplicativo permite
fazer a busca das soluções através da técnica text mining, apresentando os resultados de forma
eficaz, facilitando a tomada de decisão do usuário. Para o desenvolvimento do sistema,
utilizou-se a linguagem de programação Java, o ambiente integrado de desenvolvimento
Eclipse, o framework para desenvolvimento de interface web Google web toolkit, o
framework de apoio a linguística computacional LingPipe e o banco de dados Hibernate. A
utilização do aplicativo resultou a possibilidade de gerenciar os erros conhecidos e suas
soluções, tornando o processo de trabalho mais eficaz aos usuários e resultando na melhora do
atendimento aos clientes.
Palavras-chave: Aplicativo para help desk. Gestão do conhecimento. Text mining.
ABSTRACT
This work aims to present an application to help the support sector of a company. The
application enables users to create a database of known incidents and their solutions. Through
techniques and rules, the application enables the search for solutions through text mining,
presenting the results effectively, facilitating the decision of the users. For system
development, was used Java programming language, the Eclipse IDE also the framework for
developing web interface Google Web Tools, the LingPipe framework to support
computational linguistics and the Hibernate database. Using the application resulted in the
ability to manage incidents and their solutions, making the work process more effectively to
the users and resulting in improved customer services.
Key-words: Help desk application. Knowledge management. Text mining.
LISTA DE FIGURAS
Figura 1 - Etapas recomendadas para aplicação da técnica de text mining .............................. 18
Figura 2 - Passo-a-passo da aplicação da técnica de text mining de Wives ............................. 20
Figura 3 - Consulta de similaridades ........................................................................................ 22
Figura 4 - Cadastro de problemas ............................................................................................. 23
Figura 5 – Relatório de Selbach ............................................................................................... 24
Figura 6 - Diagrama de casos de uso ........................................................................................ 28
Figura 7 - Diagrama de classes ................................................................................................. 29
Figura 8 – Login ....................................................................................................................... 32
Figura 9 – Página Inicial ........................................................................................................... 33
Figura 10 – Cadastro de usuários ............................................................................................. 34
Figura 11 – Cadastro de erro conhecido em branco ................................................................. 35
Figura 12 – Cadastro de erro conhecido preenchido ................................................................ 36
Figura 13 - Buscar soluções...................................................................................................... 37
Figura 14 – Resultados da busca .............................................................................................. 38
Figura 15 – Atualizar soluções ................................................................................................. 39
Figura 16 – Relevância dos resultados ..................................................................................... 40
Figura 17 – Cadastrar erro conhecido....................................................................................... 46
Figura 18 – Buscar erro conhecido ........................................................................................... 46
Figura 19 – Satisfação do resultado .......................................................................................... 47
Figura 20 – Percentual de relevância ........................................................................................ 47
Figura 21 – Atualizar os erros conhecidos ............................................................................... 48
Figura 22 – Adequação do aplicativo ....................................................................................... 48
Figura 23 – Coexistência do aplicativo .................................................................................... 49
Figura 24 – Usabilidade............................................................................................................ 49
Figura 25 – Tempo x Trabalho ................................................................................................. 50
LISTA DE QUADROS
Quadro 1 - Requisitos funcionais ............................................................................................. 27
Quadro 2 - Requisitos não funcionais ...................................................................................... 27
Quadro 3 – Stopwords (palavras desnecessárias) ..................................................................... 41
Quadro 4 – Stemmer (derivações) ............................................................................................ 41
Quadro 5 – Conceitos ............................................................................................................... 42
Quadro 6 – Text mining ............................................................................................................ 42
Quadro 7 – Percentual de relevância ........................................................................................ 43
Quadro 8 – Texto original ........................................................................................................ 43
Quadro 9 - Stopwords ............................................................................................................... 43
Quadro 10 - Radicalização ....................................................................................................... 43
Quadro 11 – Conceituação ....................................................................................................... 43
LISTA DE SIGLAS
CIOSP - Congresso Internacional de Odontologia de São Paulo
CSS - Cascading Style Sheets
DCT - Descoberta de Conhecimento a partir de Textos
EA - Enterprise Architect
GWT - Google Web Toolkit
IDE - Integrated Development Environment
IEC - International Electrotechnical Commission
ISO - International Organization for Standardization
ITIL - Information Technology Infrastructure Library
JVM - Java Virtual Machine
KDT - Knowledge Discovery from Text
MU – Manual do Usuário
RBC - Raciocínio Baseado em Casos
RF - Requisitos Funcionais
RNF - Requisitos Não funcionais
TCC - Trabalho de Conclusão de Curso
SUMÁRIO
1 INTRODUÇÃO .................................................................................................................. 12
1.1 OBJETIVOS DO TRABALHO ........................................................................................ 13
1.2 ESTRUTURA DO TRABALHO ...................................................................................... 13
2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 14
2.1 HELP DESK ...................................................................................................................... 14
2.2 GESTÃO DO CONHECIMENTO.................................................................................... 15
2.3 BASE DE CONHECIMENTO.......................................................................................... 17
2.4 DESCOBERTA DE CONHECIMENTO EM TEXTO .................................................... 18
2.5 SISTEMA ATUAL ........................................................................................................... 20
2.6 TRABALHOS CORRELATOS ........................................................................................ 21
3 DESENVOLVIMENTO .................................................................................................... 25
3.1 LEVANTAMENTO DE INFORMAÇÕES ...................................................................... 25
3.2 ESPECIFICAÇÃO ............................................................................................................ 26
3.2.1 Requisitos Principais ....................................................................................................... 26
3.2.2 Diagrama de casos de uso ............................................................................................... 27
3.2.3 Diagrama de Classes ....................................................................................................... 28
3.3 IMPLEMENTAÇÃO ........................................................................................................ 29
3.3.1 Técnicas e ferramentas utilizadas.................................................................................... 30
3.3.1.1 Java ............................................................................................................................... 30
3.3.1.2 Eclipse........................................................................................................................... 30
3.3.1.3 Hibernate....................................................................................................................... 30
3.3.1.4 Google Web Toolkit ..................................................................................................... 31
3.3.1.5 LingPipe ........................................................................................................................ 31
3.3.1.6 Tesauro ......................................................................................................................... 32
3.3.2 Operacionalidade do aplicativo ....................................................................................... 32
3.3.2.1 Login ............................................................................................................................. 32
3.3.2.2 Menus da página inicial ................................................................................................ 33
3.3.2.3 Cadastro de usuários ..................................................................................................... 33
3.3.2.4 Cadastro de erros conhecidos ....................................................................................... 34
3.3.2.5 Busca de soluções ......................................................................................................... 36
3.3.2.6 Detalhes das soluções cadastradas ................................................................................ 38
3.3.2.7 Percentual de relevância dos resultados........................................................................ 39
3.3.2.8 Código fonte da aplicação ............................................................................................ 40
3.4 RESULTADOS E DISCUSSÃO ...................................................................................... 44
4 CONCLUSÕES .................................................................................................................. 51
4.1 EXTENSÕES .................................................................................................................... 52
REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 53
APÊNDICE A – Descrição dos Casos de Uso ...................................................................... 56
12
1 INTRODUÇÃO
As empresas utilizam sistemas denominados help desk, pois este tipo de software tem
a função de auxiliar as equipes de suporte a coordenar e solucionar os erros conhecidos que
ocorrem com os usuários, assegurando que estes chamados não sejam perdidos, esquecidos ou
negligenciados. Este tipo de sistema constitui um mecanismo computacional facilitador da
informação (CAVALARI; COSTA, 2005), porém sem nenhuma gestão de conhecimento
implícita.
A gestão do conhecimento realiza a captação do conhecimento que envolve as rotinas e
práticas dentro da organização, com o objetivo de criar métodos para que este conhecimento
seja unido, expandido e transferido de forma a aumentar o capital intelectual organizacional
(DALFOVO, 2004).
Combinada com os sistemas help desk e gestão do conhecimento, a técnica de text
mining (mineração de texto), conforme Furtado (2004, p1), "auxilia as ferramentas de
descoberta de conhecimento a extraírem informações padrões contidas nos textos, seja uma
única palavra ou um conjunto de palavras".
Ainda de acordo com Furtado (2004), o text mining pode ser usado para formalizar e
explorar o conhecimento tácito, proporcionando a descoberta de soluções e de novos
conhecimentos. As ferramentas de text mining têm o propósito de facilitar o processo de
recuperação de informação, minimizando as dificuldades enfrentadas e apresentando ao
usuário algum tipo de conhecimento útil e novo, satisfazendo as necessidades de novas
informações.
Trazendo este panorama para a empresa HartSystem Informática, porém observa-se
que a utilização de um sistema help desk, não é feita a gestão do conhecimento. Atualmente
cada profissional de suporte da empresa resolve os erros conhecidos utilizando conhecimentos
tácitos, adquiridos com a vivência, pois não existe uma base de dados de conhecimento única,
que apresente todas as soluções conhecidas de forma clara, formatadas e adequadas para
explicação. Os profissionais do suporte dependem de dados memorizados, sem padronização
ou formatação, o que favorece as chances de esquecimento e erros.
Visto isso, o trabalho disponibiliza na empresa HartSystem Informática um aplicativo
help desk onde os usuários podem, além de cadastrar e atualizar as soluções conhecidas
fazendo gestão do conhecimento, também pesquisá-las de forma ágil através da técnica text
mining, fornecendo rapidamente aos clientes soluções preparadas e formatadas na forma ideal.
13
1.1
OBJETIVOS DO TRABALHO
O objetivo geral do trabalho é o desenvolvimento de um aplicativo para empresa
HartSystem Informática, no apoio ao setor de suporte ao cliente, aplicando gestão do
conhecimento e a técnica de text mining (mineração de texto) para o cadastro e pesquisa de
soluções conhecidas.
Os objetivos específicos deste trabalho são:
a) permitir aos profissionais de suporte o cadastramento de erros conhecidos, suas
soluções e a atualização destes cadastros;
b) utilizar a técnica de text mining para possibilitar ao profissional de suporte
pesquisar as soluções dos erros conhecidos cadastrados;
c) apresentar no retorno da busca o percentual de relevância da solução encontrada,
auxiliando o profissional de suporte na tomada de decisão.
1.2
ESTRUTURA DO TRABALHO
No primeiro capítulo tem-se a introdução ao tema principal deste trabalho com a
apresentação da justificativa e dos objetivos.
No segundo capítulo apresenta-se a fundamentação teórica pesquisada, sobre help desk
gestão do conhecimento, base de dados de conhecimento e descoberta de conhecimento em
texto. Também é citado o sistema atual e três trabalhos correlatos.
No terceiro capítulo apresenta-se o desenvolvimento do aplicativo, iniciando-se com o
levantamento de informações tendo na sequência especificação de requisitos, detalhes da
implementação e resultados e discussão.
No quarto capítulo têm-se as considerações finais, bem como as sugestões para
trabalhos futuros.
14
2 FUNDAMENTAÇÃO TEÓRICA
Este capítulo aborda os assuntos help desk, gestão do conhecimento, base de dados de
conhecimento, descoberta de conhecimento em texto - text mining, sistema atual e trabalhos
correlatos.
2.1
HELP DESK
Os sistemas help desk têm a principal característica de ser um facilitador de
informações ao usuário, não importando se esta facilidade é ou não de natureza técnica
computacional. Um sistema help desk constitui um mecanismo facilitador de informação
(MARTINS, 2000).
O termo help desk surgiu com o aparecimento dos computadores pessoais nos anos 80,
quando cresceu a necessidade de suporte aos novos usuários de computadores, entre eles
gerentes, técnicos e secretárias. Assim, muitas empresas criaram os Centros de Informação
para auxiliar no uso dos computadores pessoais. Os primeiros sistemas usados pelos Centros
de Informação foram os sistemas gerenciadores de bancos de dados, com informações sobre
os clientes de software e hardware. Com o advento dos sistemas especialistas, importantes
funções de auxílio a clientes puderam ser desenvolvidas pelos Centros de Informação
(KAMP, 1993 apud WILVERT, 2005, p. 16).
Martins (2000) relata que enquanto nos anos 80 os usuários eram especialistas em
informática, na década de 90 esse quadro se inverteu radicalmente. A população de usuários
de computadores passou a ser composta por pessoas oriundas de áreas onde a informática não
era fundamental e, por essa razão, estas pessoas possuíam praticamente nenhum
conhecimento sobre o uso dos computadores. Essa mudança proporcionou a criação de um
tipo de técnico de suporte capaz de atender a demanda deste novo público. Além disso, as
empresas perceberam que era importante armazenar todos os dados decorrentes dos
problemas ocorridos, assim como a maneira de solucioná-los. Desta forma, o usuário teria um
atendimento mais rápido e personalizado e a empresa teria um controle maior sobre quais são
os problemas mais comuns e as melhores formas de solucioná-los.
15
Statdlober (2006, p. 15) diz que a gestão do atendimento em um help desk procura
oferecer uma metodologia para tratar e gerenciar diversas questões. O processo de
atendimento a erros conhecidos possui inúmeros elementos que o compõem, mas os oito
elementos principais que compõem o processo de atendimento são (STATDLOBER, 2006, p.
15):
a) usuário final contatar a central de atendimento;
b) central de atendimento realizar o atendimento em si;
c) registrar no sistema e encaminhar para solução;
d) qualificar o chamado e encaminhar para uma fila de atendimento;
e) responsável pelo atendimento atuar na solução;
f) gerente possuir acesso a todos os erros conhecidos registrados;
g) solução aplicada ao chamado ficar disponível para futuros erros conhecidos e
demais técnicos;
h) comunicar o usuário final sobre eventos durante o atendimento ao chamado.
Silva (2004, p. 15) afirma que “uma ferramenta de help desk, sem dúvida proporciona
um diferencial que além da documentação e sistematização, oferece possibilidade de análise
dos processos e fluxo de informações”.
2.2
GESTÃO DO CONHECIMENTO
Atualmente vive-se em um cenário complexo onde fenômenos sociais e econômicos,
de abrangência mundial, são responsáveis por constantes reestruturações no ambiente de
negócios. A globalização impulsionada pela tecnologia da informação tornou-se uma
realidade da qual não se pode escapar. É nesse contexto que a gestão do conhecimento se
transforma em um valioso recurso estratégico para a vida das pessoas e das empresas. Sua
aquisição e aplicação sempre representaram estímulo para as conquistas de inúmeras
civilizações. No entanto, apenas "saber muito" sobre alguma coisa não proporciona maior
poder de competição para uma organização (SILVA, 2001 apud DALFOVO, TAMBORLIN,
2010, p. 279).
Conhecimento é a informação apropriada e interpretada pelo ser humano,
possibilitando-o a ter novas ideias. Alguns dos fatores que influenciam nesses processos de
busca do conhecimento são a rápida evolução da tecnologia, o acesso aos mercados globais e
16
como lidar e extrair dados e informações da inteligência competitiva nas organizações
(DALFOVO, 2007).
De acordo com Dalfovo (2004), a gestão do conhecimento pode ser utilizada pelas
empresas, como vantagem competitiva. Isto causa uma reestruturação crescente no modo em
que a organização administra o seu conhecimento e as suas informações. Conforme
Figueiredo (2005) a gestão do conhecimento como estratégia competitiva nas organizações
alavanca e multiplica o capital intelectual. Além disso, a gestão do conhecimento está a cada
dia mais integrada na organização, pois possui gerenciamento, métodos e ferramentas
imprescindíveis para que os executivos das empresas possam utilizá-las com agilidade e
precisão, e ainda, se bem manejadas, a utilização do capital intelectual será o diferencial
competitivo para o negócio.
Nonaka e Takeuchi (1997) classificam o conhecimento em dois tipos:
a) tácito, é um tipo de conhecimento muito difícil de ser expresso por meio de
palavras e é adquirido com a experiência, de maneira prática utilizando-se da
intuição e da subjetividade. Segundo os autores, o aprendizado mais poderoso vem
da experiência direta e é aquele que se articula por meio da linguagem formal, com
afirmações gramaticais, expressões matemáticas, especificações, manuais, etc.;
envolve fatores intangíveis como, por exemplo, crenças pessoais, perspectivas,
sistema de valor, intuições, emoções e habilidades individuais. Este processo pode
ter inclusive sua interatividade prejudicada devido aos ruídos que na maioria das
vezes existem em qualquer processo de comunicação;
b) explícito, é um tipo de conhecimento que pode ser facilmente expresso em
palavras ou números e pode ser prontamente transmitido formalmente e
sistematicamente entre pessoas. Envolve o conhecimento de fatos. É objetivo,
teórico, digital e articula por meio da linguagem formal, com afirmações
gramaticais, expressões matemáticas, especificações, manuais, etc. Esse foi o
modo dominante de conhecimento na tradição filosófica ocidental.
Probst, Raub e Romhardt (2002), explicam que as empresas despendem tempo e
dinheiro para solucionar certos problemas quando, muitas vezes, soluções já haviam sido
encontradas no passado ou estão sendo encontradas por outras equipes. Neste sentido, esses e
outros autores atribuem a importância à identificação da base de conhecimento existente,
sendo abordando no item a seguir.
17
2.3
BASE DE CONHECIMENTO
Figueiredo (2002) considera bases de conhecimento como containers de conhecimento
e informação, concebidas para armazenar, compartilhar e disseminar conhecimentos
específicos, resolvendo questões de volume de armazenamento, organização, recuperação e
herança do conhecimento, mantendo e estimulando os níveis de colaboração e de
compartilhamento de conhecimento e informações relevantes dentro da empresa.
Ferreira, Loureiro e Martinez (2004), afirmam que a base de conhecimento é um
ambiente de trabalho para o compartilhamento, recuperação e distribuição de conhecimento
específico. Afirmam que uma base de conhecimento não possui modelo ou tecnologia
específicos, a sua implementação depende das características e objetivos da empresa que irá
utilizá-la.
Volino e Kendrich (2000 apud WEHRMEISTER, 2008, p. 20), explicam que bases de
conhecimento consideradas simples utilizam busca por palavras-chaves em perguntas e
respostas pré-determinadas. Diante disso, podem-se imaginar diferentes situações pelas quais
as organizações utilizam bases de conhecimentos:
a) quando há necessidade de se resolver um problema e se tenta aplicar uma solução
disponível para tal;
b) quando se tem uma situação e se procura uma experiência anterior que possa
ajudar ou dar pistas para que se possa melhor enfrentá-la;
c) quando se está trazendo alguém que possa ajudar a resolver um problema.
Probst, Raub e Romhardt (2002) salientam que, as mudanças que ocorrem
regularmente na base de conhecimento, através de contribuições dos membros de uma
organização, constituem a aprendizagem organizacional, a criação de estruturas coletivas de
referência e o crescimento da competência da organização para agir e resolver problemas.
18
2.4
DESCOBERTA DE CONHECIMENTO EM TEXTO
A Descoberta de Conhecimento a partir de Textos (DCT), em inglês Knowledge
Discovery from Text (KDT), que neste trabalho será tratada como text mining (mineração de
textos), consiste na aplicação de técnicas de análise de informações e de aprendizado de
máquina em dados textuais (WIVES, 2004).
A técnica busca extrair conhecimento útil ao usuário, recuperando informações e
permitindo ao usuário procurar o conteúdo que lhe seja interessante dentro do conjunto de
textos pré-selecionados, o que reduz o tempo de busca e proporciona um retorno de
informação mais significativo. “A área de text mining se refere ao processo de extrair padrões
não triviais interessantes ou conhecimento a partir de documentos de texto não estruturado,
podendo ser visto como uma extensão do data mining.” (FURTADO, 2004, p. 30).
Na Figura 1 são apresentadas as etapas recomendadas no desenvolvimento de um
aplicativo utilizando text mining.
Fonte: Corrêa (2003).
Figura 1 - Etapas recomendadas para aplicação da técnica de text mining
Visando recuperar informações relevantes, as técnicas de data mining surgiram para
utilização em dados estruturados e as técnicas para text mining estão sendo desenvolvidas
constantemente e aprimoradas para tratar dados não estruturados, representando uma área
interessante (MILLER, 2005 apud FINK, 2010, p. 20).
19
A técnica de text mining vem solucionar grande parte dos problemas relacionados à
busca, recuperação e análise de informações. A sobrecarga de informação é um dos maiores
problemas enfrentados pelos usuários de sistemas atualmente (WIVES, 2004).
Embora a mineração de texto possa trabalhar com qualquer tipo de informação, esta
deve seguir alguns critérios (HOESCHL; BUENO; BORTOLON, 2002), quando da
visualização pelo usuário:
a) a informação recuperada deve ter valor para o operador do conhecimento. A
mineração de textos deve fornecer novas visões sobre os textos para os operadores
do conhecimento. Isto permite a adição de valores à base de conhecimento;
b) o conteúdo deve ser baseado em texto. Para dados numéricos as tecnologias
existentes estão mais bem desenvolvidas;
c) o valor da mineração de textos é diretamente proporcional ao valor do dado que se
está minerando. Quanto mais importante for o conhecimento contido na coleção de
textos, mais valiosa será a mineração;
d) o conteúdo deve estar explicitamente declarado no texto, tais como textos técnicos
e científicos;
e) a mineração de textos é mais valiosa quanto menos estruturado for o texto. Textos
desorganizados, contendo acúmulo de informações são os mais indicados.
De acordo com Wives (2004), existem diferentes tipos de métodos que podem ser
utilizados para a mineração de textos. Entre eles estão o processamento de dados, a predição,
a regressão, a classificação, o agrupamento ou clustering, a análise de associações e
visualização, entre outros. Porém, qualquer um dos métodos de descoberta tradicional pode
ser aplicado nos textos, principalmente se for utilizado o método de extração de informações,
que identifica informações relevantes nos documentos e as coloca em um formato estruturado.
Conforme apresentado na Figura 2, os passos que Wives (2004) utilizou na aplicação
do método text mining para descoberta de conhecimento em texto.
20
Fonte: Wives (2004).
Figura 2 - Passo-a-passo da aplicação da técnica de text mining de Wives
2.5
SISTEMA ATUAL
A HartSystem Informática foi fundada em 23 de Novembro de 1993. Lançou o
software odontológico ProDent no 16º Congresso Internacional de Odontologia de São Paulo
(CIOSP), em Janeiro de 1994. Desde esta data, está se dedicando exclusivamente ao
desenvolvimento e comercialização de licenças do software ProDent (HARTSYSTEM
INFORMÁTICA LDTA, 2012).
O software ProDent é um sistema para administração de clínicas e consultórios
odontológicos. Oferece cadastro de clientes, agenda, odontograma, mala direta, contas a
receber, contas a pagar e outros. Possui também módulos específicos:
a) para clínicas de Radiologia;
21
b) para Operadoras de planos de convênios;
c) para clínicas que emitem Nota Fiscal de Serviço Eletrônica.
A empresa oferece aos clientes o suporte à distância para resolução de erros
conhecidos, dúvidas, erros e sugestões. Atualmente o processo de atendimento inicia-se com a
ligação ou atendimento do cliente pelo bate-papo online, onde o mesmo expõe sua situação ao
profissional de suporte que lhe atender no momento. Se o profissional de suporte souber
solucionar, dará continuidade ao atendimento, caso não saiba, este estará perguntando a
solução a um profissional de suporte mais experiente na área. Frequentemente o profissional
de suporte sabe que já respondeu sobre esta mesma dúvida a outro cliente, no entanto, muitas
vezes não se recorda da solução conhecida.
Diante desta situação o cliente muitas vezes terá que aguardar um longo tempo pela
solução, pois o profissional de suporte irá procurar a solução e ocasionalmente ainda ligará ou
enviará um e-mail contendo a resposta ao questionamento mais tarde.
Cada contato feito pelo cliente é registrado num sistema interno próprio, onde se tenta
descrever como foi solucionado o caso. Porém as soluções conhecidas não estão concentradas
em uma base de dados de conhecimento geral, apenas individualmente em cada cadastro de
cliente, o que torna a pesquisa por soluções conhecidas um processo demorado e pouco
preciso.
Como este processo acima é manual e não integrado, o conhecimento acaba sendo
tácito e está armazenado apenas na memória de cada colaborador, que resolve as ocorrências
com base nos casos já ocorridos anteriormente de acordo com suas lembranças.
2.6
TRABALHOS CORRELATOS
Wilvert (2005) apresentou como Trabalho de Conclusão de Curso (TCC) um sistema
de apoio a help desk utilizando gestão do conhecimento e técnica de Reconhecimento
Baseado em Casos (RBC) para área do suporte, com objetivo de automatizar a busca por
soluções similares a novas ocorrências, conforme Figura 3. O diferencial do trabalho
desenvolvido quanto ao sistema do trabalho de Wilvert é uma aplicação web utilizando a
técnica text mining ao invés de RBC.
22
Fonte: Wilvert (2005).
Figura 3 - Consulta de similaridades
Fink (2010) implementou a técnica text mining para auxiliar o técnico do nível 1 de
um service desk na classificação de erros conhecidos, em uma base de problemas
(conhecimentos) já existente. Além da técnica de text mining, foi utilizado como modelo de
referência o Information Technology Infrastructure Library (ITIL). Este trabalho também se
identifica com a aplicação desenvolvida pela implementação de uma técnica text mining em
ambiente web. Na Figura 4, o cadastro de problema e solução de Fink (2010).
23
Fonte: Fink (2010).
Figura 4 - Cadastro de problemas
Selbach (2010) desenvolveu um sistema web para auxílio em pesquisas e gerência de
dados de entidades de saúde. Trata-se de um sistema que, a partir de dados de pacientes da
entidade permite a criação e manutenção de pesquisas sobre esses dados. Além das pesquisas,
existem relatórios específicos para auxiliar os gestores na tomada de decisão. É utilizado
gestão do conhecimento, data warehouse e data mining. A técnica data mining é voltada para
mineração de dados e números, ao contrário de text mining, voltando para textos estruturados.
Na Figura 5, um exemplo de relatório de Selbach (2010).
24
Fonte: Selbach (2010).
Figura 5 – Relatório de Selbach
Os trabalhos citados possuem objetivos comuns entre a aplicação desenvolvida, cuja
finalidade é buscar de resultados relevantes e precisos de forma automatizada para os
usuários.
25
3 DESENVOLVIMENTO
Neste capítulo estão descritos a particularidades técnicas do aplicativo proposto tais
como a descrição do mesmo e a apresentação dos requisitos funcionais e não funcionais,
diagrama de casos de uso e suas descrições. Na seção de implementação tem-se as técnicas e
ferramentas utilizadas, demonstra-se a operacionalidade do sistema através de telas e por fim
a seção com os resultados e discussões.
3.1
LEVANTAMENTO DE INFORMAÇÕES
O aplicativo web auxilia os profissionais do setor de suporte a compartilhar os
conhecimentos necessários para resolução dos erros conhecidos informados pelos clientes,
permitindo o cadastro das soluções conhecidas, manipulação e pesquisa deste conhecimento.
É importante oferecer aos profissionais de suporte uma melhor forma de gerenciar e
transformar o conhecimento individual em um conhecimento coletivo. A consulta a partir da
base de conhecimento é uma das funções principais do aplicativo desenvolvido. Entendido
como repositório de conhecimento e de informações, este aplicativo armazena, compartilha e
dissemina os conhecimentos dentro da organização.
O primeiro passo é cadastrar uma base de conhecimentos onde são registrados os erros
conhecidos já conhecidos pelo setor de suporte e a solução conhecida destes. As diversas
situações levantadas pelos clientes e suas respectivas soluções são descritas através da
reprodução das mensagens automáticas (tratamento de erros) do sistema ProDent ou em texto
descritivo, utilizando o linguajar do cliente que é leigo e não utiliza os jargões da informática.
As soluções dos erros conhecidos são registradas em seguida do erro conhecido, a
partir do conhecimento dos profissionais de suporte e com base no manual do usuário
existente. A partir da existência do banco de informações, o aplicativo web permite que sejam
efetuadas buscas utilizando a técnica de text mining. De forma que o usuário do setor de
suporte pergunta ao cliente qual a mensagem apresentada, a dificuldade encontrada ou sua
dúvida, (erro conhecido), e digita desta forma para busca do aplicativo no banco. Partindo
disto, o aplicativo apresenta as soluções já cadastradas, baseado no texto pesquisado.
26
Pelo fato de muitas mensagens e erros conhecidos possuírem discretas diferenças em
seu texto (porém soluções distintas), é apresentando um percentual de relevância para as
possíveis soluções encontradas, mediante o termo pesquisado pelo usuário, auxiliando o
usuário a escolher a solução ideal.
As etapas executadas no desenvolvimento do aplicativo são:
a) cadastro dos dados: o text mining deve ser baseado no armazenamento de dados de
forma estruturada;
b) processamento e transformação: elimina da frase os dados que não são adequados
informações, ou seja, artigos, preposições, plural das palavras, conforme Figura 2;
c) mineração de texto: a atividade de descoberta do conhecimento é onde são
processados os algoritmos da técnica de text mining;
d) armazenamento: nesta etapa os dados deverão ser armazenados adequadamente
para facilitar a busca;
e) interpretação/avaliação: os resultados do processo de descoberta do conhecimento
são apresentados de forma que o usuário possa entender e interpretar os resultados
obtidos.
3.2
ESPECIFICAÇÃO
Esta seção descreve os requisitos funcionais (RF) e não funcionais (RNF), bem como
os diagramas de casos de uso e diagrama de classe, desenvolvidos para o aplicativo. A
ferramenta Enterprise Architect (EA), em sua versão 7.5.850, foi utilizada na elaboração dos
diagramas de casos de uso.
3.2.1 Requisitos Principais
O Quadro 1 apresenta os requisitos funcionais previstos para o aplicativo e sua
rastreabilidade, ou seja, vinculação com o(s) caso(s) de uso associado(s).
27
Requisitos Funcionais
Caso de Uso
RF01: O aplicativo deve permitir o cadastramento de usuários (criação,
UC01
alteração, exclusão).
RF02: O aplicativo deve exigir login e senha para permitir o acesso à
UC02
interface inicial.
RF03: O aplicativo deve permitir ao profissional de suporte o cadastro
UC03
dos erros conhecidos e sua(s) solução(s) (criação, alteração, exclusão).
RF04: O aplicativo deve permitir ao profissional de suporte atribuir
UC04
categorias aos erros conhecidos criados.
RF05: O aplicativo deve permitir ao profissional de suporte pesquisar as
UC05
soluções no banco de dados de erros conhecidos, utilizando a técnica de
text mining.
RF06: O aplicativo deve apresentar no resultado da pesquisa o grau de
UC06
relevância do termo pesquisado.
Quadro 1 - Requisitos funcionais
O Quadro 2 lista os requisitos não funcionais previstos para o aplicativo.
Requisitos Não Funcionais
RNF01: O aplicativo deve utilizar a conexão com o banco de dados Hibernate.
RNF02: O aplicativo deve ser desenvolvido utilizando a linguagem Java.
RNF03: O aplicativo deve ser compatível com as mais atuais versões de navegadores
disponíveis no mercado, como o Internet Explorer 8 e Google Chrome 13.
RNF04: O aplicativo deve conter visualização de tela 1024x768.
RNF05: Os usuários poderão acessar o aplicativo utilizando qualquer sistema operacional.
Quadro 2 - Requisitos não funcionais
3.2.2 Diagrama de casos de uso
Esta subseção apresenta os diagramas de caso de uso do aplicativo. Para melhor
entendimento do projeto, o detalhamento dos principais casos de uso se encontra no Apêndice
A. A Figura 6 apresenta os casos de usos relativos às operações realizadas no aplicativo.
28
Figura 6 - Diagrama de casos de uso
3.2.3 Diagrama de Classes
Na Figura 7 apresenta-se o diagrama de classes, contendo a especificação dos registros
que serão armazenados no banco de dados, e o relacionamento entre as classes.
29
Figura 7 - Diagrama de classes
A função de cada classe de entidade está descrita a seguir:
a) Usuario: classe que armazena informações dos usuários do aplicativo;
b) Grupo: armazena informações referentes à categoria dos erros conhecidos;
c) Erro conhecido: classe que armazena as informações dos erros conhecidos
cadastrados;
d) Solução: armazena as informações referente a solução dos erros conhecidos.
3.3
IMPLEMENTAÇÃO
Nesta seção são apresentadas as informações sobre as técnicas e ferramentas utilizadas
para o desenvolvimento deste trabalho. Também são apresentadas as principais
operacionalidades do aplicativo juntamente com algumas telas do mesmo.
30
3.3.1 Técnicas e ferramentas utilizadas
Nesta subseção apresentam-se informações sobre a linguagem Java, o ambiente
Eclipse, o banco de dados Hibernate, o framework Google Web Toolkit (GWT) e o
framework de auxílio à linguística LingPipe.
3.3.1.1 Java
A linguagem Java foi escolhida para o desenvolvimento deste aplicativo por ser um
ambiente gratuito. É utilizado em todo mundo e oferece muitas ferramentas e frameworks
para o seu desenvolvimento, que o tornam ainda mais completo.
De acordo com a Oracle, a linguagem Java é líder de mercado entre as linguagens para
desenvolvimento web, sendo utilizada por mais de sete bilhões de equipamento no mundo e
possui uma grande comunidade de desenvolvedores não remunerados, com intuito de
melhorar a tecnologia e desenvolver suas capacidades. O Java é uma linguagem independente
de plataforma e pode ser executada em qualquer sistema operacional, desde que o mesmo
possua uma Java Virtual Machine (JVM) (ORACLE, 2012).
3.3.1.2 Eclipse
Para escrever o código em Java foi utilizado o Eclipse, que é o Ambiente Integrado de
Desenvolvimento, ou em inglês Integrated Development Environment (IDE), mais utilizado
no mundo (ECLIPSE, 2012). O Eclipse permite o desenvolvimento de diversas outras
linguagens através de plug-ins e tem integração com vários frameworks, por isto foi escolhido
como IDE para o desenvolvimento deste aplicativo.
3.3.1.3 Hibernate
O Hibernate é um framework escrito na linguagem Java que auxilia no mapeamento
objeto-relacional. Este framework facilita o mapeamento dos atributos entre um banco de
31
dados relacional e o modelo Classe/Objeto da aplicação.
O Hibernate não requer interfaces ou classes base e permite que as classes em Java
sejam desenvolvidas incluindo todos os recursos da Orientação a Objetos. O Hibernate possui
um bom desempenho, pois gera boa parte do código SQL necessário em tempo de
compilação. Por não necessitar de nenhum banco de dados ou tabelas adicionais, este
framework também é de fácil utilização (HIBERNATE, 2011).
No desenvolvimento do aplicativo, a consistência de informações no banco de dados é
feita com a ajuda do Hibernate. As classes que são salvas no banco de dados são mapeadas e
salvas em uma tabela do banco de dados.
3.3.1.4 Google Web Toolkit
O GWT é um toolkit (caixa de ferramentas) código-fonte aberto permitindo aos
desenvolvedores criar aplicativos em linguagem de programação Java. O GWT suporta
cliente-servidor e desenvolvimento em qualquer IDE Java. O GWT enfatiza a reutilização e
soluções eficientes para os ambientes web (GOOGLE, 2012). Foi escolhido pela facilidade
que proporciona para criar layouts em linguagem web.
3.3.1.5 LingPipe
O framework LingPipe é um kit de ferramentas para processamento de textos em
linguística computacional. A arquitetura do LingPipe é projetada para ser eficiente, escalável
e reutilizável. Ele fornece suporte à linguagem Java, é multilíngue e multigênero. O
framework pode ser usado para fazer tarefas como (LINGPIPE, 2012):
a) encontrar os nomes de pessoas, organizações ou locais em notícias;
b) classificar automaticamente os resultados da pesquisa em categorias;
c) sugerir ortografias corretas de consultas.
Neste trabalho é usado para remover as stopwords, ou seja, artigos, preposições,
presentes nos termos pesquisados.
32
3.3.1.6 Tesauro
Tesauro, também conhecido como dicionário de ideias afins, é uma lista de palavras
com significados semelhantes, dentro de um domínio específico de conhecimento. Por
definição, um tesauro é restrito. Não deve ser encarado simplesmente como uma lista de
sinônimos, pois o objetivo do tesauro é justamente mostrar as diferenças mínimas entre as
palavras e ajudar o escritor a escolher a palavra exata. Neste trabalho foi utilizado no passo 5
de Wives (2004), conforme a Figura 2, para o descobrimento de conceitos das palavras.
3.3.2 Operacionalidade do aplicativo
Esta subseção apresenta as telas do aplicativo com uma breve apresentação de suas
funcionalidades, onde foram adotas os passos de Wives (2004), conforme Figura 2. Todos os
dados presentes nestas telas são fictícios e servem apenas para exemplificar o funcionamento
da aplicação.
3.3.2.1 Login
O primeiro passo para os usuários acessarem o aplicativo é realizar o login para
identifica-se. Para realizar o login, os usuários devem informar seu e-mail e senha cadastrados
no aplicativo. A Figura 8 apresenta a tela de login.
Figura 8 – Login
Caso o usuário informe um e-mail ou senha inválido, lhe é apresentada uma mensagem
33
informando que não foi possível autenticar-se no aplicativo. Caso o e-mail e a senha
informada estejam cadastrados no aplicativo, a autenticação é realizada com sucesso e o
usuário acessa o menu padrão do aplicativo. Todos os usuários possuem as mesmas
permissões de acesso.
3.3.2.2 Menus da página inicial
Após a realização do login na aplicação, todo usuário é direcionado para tela inicial. A
aplicação exibe o nome do usuário com mensagem de boas vindas. Na Figura 9 pode-se
observar como exemplo um acesso.
Figura 9 – Página Inicial
A lista de menu apresenta todas as opções por onde os usuários podem navegar. A lista
é estática e pode ser vista em todas as páginas, possibilitando ao usuário acesso imediato aos
menus “Alterar os meus dados”, “Cadastro de erros conhecidos” e “Buscar”.
3.3.2.3 Cadastro de usuários
Através da tela de Cadastro de Usuários, os usuários não autenticados devem ser
cadastrados para acessar o aplicativo, bastando preencher os campos conforme Figura 10.
34
Figura 10 – Cadastro de usuários
Caso o usuário já esteja autenticado, pode-se clicar em “Alterar os meus dados”
conforme Figura 10 e os dados são exibidos permitindo então alterar as informações. Para
salvar as alterações basta clicar sobre o botão “Confirmar”.
3.3.2.4 Cadastro de erros conhecidos
Na tela de cadastro de erros conhecidos são cadastrados os erros conhecidos e suas
soluções. A Figura 11 apresenta os campos necessários para o cadastramento onde:
a) campo “Página do MU” é uma referência à página do manual do usuário do
sistema;
b) campo “Grupo” armazena informações referentes à categoria dos erros conhecidos;
c) campo “Erro conhecido” é a descrição do erro conhecido;
d) campo “Solução” é a forma de resolver o erro conhecido da melhor maneira já
conhecida.
O aplicativo aplica a técnica de text mining no texto digitado no campo “Erro
conhecido”, quando o usuário realiza o cadastro e grava o resultado no banco de dados já
formatado.
No campo “Solução” é registrada a melhor forma já conhecida de como o erro
conhecido pode ser solucionado. Estas soluções são apresentadas na Figura 14.
35
Figura 11 – Cadastro de erro conhecido em branco
Na Figura 12 apresenta-se a tela de cadastro de erros conhecidos com um exemplo de
erro conhecido preenchido.
36
Figura 12 – Cadastro de erro conhecido preenchido
Ao clicar em “Cadastrar” é executada a técnica de text mining no texto digitado no
campo “Erro conhecido”, desenvolvida com base nos passos de Wives, (2004) e Figura 2. O
resultado é registrado no banco de dados para possível posterior comparação na hora de
buscar soluções conhecidas.
3.3.2.5 Busca de soluções
A Figura 13 apresenta a tela que possibilita que os usuários façam a busca das soluções
já registradas no banco de dados utilizando a técnica de text mining, um dos objetivos
específicos deste trabalho. Basta digitar o texto desejado e clicar no botão “Buscar”.
37
Figura 13 - Buscar soluções
Após clicar no botão “Buscar” o aplicativo executa as técnicas de text mining sobre o
que foi digitado no campo “Buscar” (Figura 13), semelhante ao que é feito ao cadastrar o erro
conhecido. O resultado deste primeiro filtro é comparado com as informações cadastradas no
cadastro de erros conhecidos (Figura 12) e se houverem soluções conhecidas compatíveis no
banco de dados, são apresentadas conforme Figura 14 a seguir.
38
Figura 14 – Resultados da busca
Estes resultados são apresentados em ordem decrescente, de acordo com o campo “%
de acerto”, que apresenta a relevância do texto digitado pelo usuário em comparação com as
soluções encontradas.
3.3.2.6 Detalhes das soluções cadastradas
Após fazer a busca por soluções, é permitido aos usuários atualizar o texto da solução
cadastrada, clicando no botão “Ver Detalhes”, visível na Figura 14. Desta forma permite-se
aos próprios usuários do setor de suporte a atualização das soluções conhecidas, conforme
39
objetivo específico. Tela para atualização dos erros conhecidos visível na Figura 15.
Figura 15 – Atualizar soluções
Todos os campos na tela são editáveis bastando clicar no botão “Alterar” para
confirmar a alteração e “Excluir” para eliminar o erro conhecido do banco de dados.
3.3.2.7 Percentual de relevância dos resultados
O terceiro objetivo específico pode ser conferido na Figura 16. Destacado está o
percentual de relevância da solução apresentada para a pergunta proposta. Estes resultados são
apresentados em ordem decrescente, auxiliando o usuário do setor de suporte na tomada de
decisão.
40
Figura 16 – Relevância dos resultados
3.3.2.8 Código fonte da aplicação
Parte do código fonte referente ao desenvolvimento e uso da técnica de text mining,
utilizada nas Figuras 12, 14, e 16 é explicado através dos Quadros 3, 4, 5, 6 e 7 que seguem.
O método “limpaTermos” , apresentado no Quadro 3, é utilizado para realizar o passo
número dois da técnica de Wives (2004) - Stopwords, apresentada na Figura 2. Neste método
são removidos as preposições, artigos, advérbios e pronomes com a ajuda do framework
LingPipe.
41
Quadro 3 – Stopwords (palavras desnecessárias)
O método “derivações” é utilizado para realizar o passo três da técnica de Wives
(2004) – Stemmer, apresentada na Figura 2. Neste método as palavras são transformadas para
o seu radical conforme Quadro 4.
Quadro 4 – Stemmer (derivações)
O método “conceituação” é utilizado para realizar o passo cinco da técnica de Wives
(2004) - Conceitos apresentada na Figura 2. Neste método é realizada a conceituação das
palavras, caso existam no mapa de conceitos, conforme Quadro 5.
42
Quadro 5 – Conceitos
O método “limpar” é o método principal do text mining. Este método invoca outros
métodos que fazem a mineração do texto e é utilizado nas execuções das telas apresentadas
nas Figuras 12 e 14. O método é apresentado no Quadro 6.
Quadro 6 – Text mining
No Quadro 7 encontra-se o método que faz o cálculo de percentual de relevância dos
resultados. É feita uma comparação entre o termo buscado na Figura 14 com a descrição dos
43
erros conhecidos da Figura 12. Em ambas as informações já foram efetuadas as técnicas de
text mining, permitindo a comparação exata dos termos. É então feita uma contagem dos
termos que coincidem e um cálculo para extrair o percentual de acerto é efetuado.
Quadro 7 – Percentual de relevância
Aplicando a técnica de text mining no erro conhecido cadastrado na Figura 12, os
passos descritos por Wives (2004) são mostrados nos Quadros 8, 9, 10 e 11. Primeiro passo,
texto normal (original) no Quadro 8.
Quadro 8 – Texto original
No Quadro 9 o passo dois da Figura 2, são retiradas as preposições, advérbios,
pronomes e artigos.
Quadro 9 - Stopwords
No Quadro 10 o passo três e quatro da Figura 2, onde as palavras são transformadas no
seu radical.
Quadro 10 - Radicalização
No Quadro 11 foi realizada a conceituação das palavras, seguindo os passos cinco, seis
e sete da Figura 2.
Quadro 11 – Conceituação
Os passos oito e nove da Figura 2 não foram desenvolvidos no aplicativo por não
serem relevantes para a necessidade dos usuários, que já foram atingidas através dos passos 1
a 7 da Figura 2 de Wives (2004).
44
Com o desenvolvimento do text mining neste aplicativo e sua utilização demonstrada
conforme as figuras e quadros da subseção 3.3.2, concretiza-se o objetivo de satisfazer as
necessidades dos usuários em cadastrar, atualizar e buscar os erros conhecidos através de um
aplicativo web e help desk.
O mecanismo de busca através da técnica de text mining foi funcional no processo de
encontrar soluções conhecidas, melhorando o processo de trabalho dos usuários.
3.4
RESULTADOS E DISCUSSÃO
O desenvolvimento deste trabalho resultou em um aplicativo help desk e web de apoio
aos profissionais do setor de suporte, fornecendo aos mesmos a possibilidade de construir
uma base de conhecimentos com os erros conhecidos, suas soluções e permitindo encontrá-las
de forma eficaz utilizando a técnica de text mining, agilizando e melhorando o processo de
trabalho.
Ao possibilitar o gerenciamento das soluções conhecidas, o aplicativo garante que o
conhecimento não seja esquecido ou expressado de formas fora do padrão da empresa. O fato
de as informações ficarem armazenadas em uma base de dados confere um suporte de
qualidade. Relacionando o aplicativo com o processo de trabalho, o objetivo principal do
trabalho foi alcançado assim como seus objetivos específicos, pois pode-se observar que o
aplicativo forneceu o apoio almejado nos objetivos ao setor de suporte ao cliente, aplicando
gestão do conhecimento e a técnica de text mining para a pesquisa de soluções conhecidas.
Para desenvolver o aplicativo foram utilizados recursos open-source (fontes livres),
como a linguagem Java, IDE Eclipse, banco de dados Hibernate e frameworks GWT e
LingPipe. Isto torna sua implantação viável tanto para a empresa interessada como para
qualquer outra. Pelo fato de ser desenvolvido em Java, não necessita de investimentos extras
em infraestrutura ou sistemas pagos. A técnica de text mining em si permite muita
versatilidade na filtragem de dados, sendo possível configurar o aplicativo para servir em
outras áreas de negócios.
Quanto aos trabalhos correlatos a este, o diferencial deste encontra-se em ser uma
aplicação que proporciona gestão do conhecimento, criação de um repositório de informações
e voltada a aumentar a qualidade do suporte prestado através de buscas eficazes. Os trabalhos
citados possuem objetivos comuns entre a aplicação desenvolvida, cuja finalidade é buscar de
45
resultados relevantes e precisos de forma automatizada para os usuários.
Wilvert (2005) utilizou a técnica de RBC para fazer a busca por soluções similares a
novas ocorrências, enquanto neste trabalho foi explorado o potencial da técnica de text
mining. Já Fink (2010), utilizou gestão do conhecimento e text mining para classificação de
erros conhecidos no setor de service desk, precisando usar um modelo de referência (ITIL),
enquanto este trabalho focou nas necessidades dos usuários. Selbach (2010) utilizou gestão do
conhecimento e data mining com o objetivo de gerar conhecimento para tomada de decisões
gerenciais e relatórios específicos para administradores, não diretamente para os usuários ou o
cliente final como neste trabalho. A técnica de data mining no trabalho de Selbach é voltada
para números e dados, e não texto e informação.
Para validar a aderência do aplicativo com as expectativas dos usuários, foi aplicado
um questionário para os seis usuários da empresa. As perguntas foram desenvolvidas com
base na norma da International Organization for Standardization / International
Electrotechnical Commission (ISO/IEC). A norma ISO 9126 refere-se à funcionalidade do
aplicativo em relação aos objetivos específicos, ao cadastramento de erros conhecidos, a sua
busca, a atualização e o percentual de relevância de cada resultado (ASSOCIAÇÃO
BRASILEIRA DE NORMAS TÉCNICAS, 2003).
De forma geral, os questionados se mostraram satisfeitos com o aplicativo apresentado,
comentando a usabilidade, simplicidade das telas além da grande utilidade no dia-a-dia da
empresa. Foi citado que não obtiveram dificuldades para a utilização da ferramenta, porém
sugeriram algumas melhorias que serão comentadas na seção 4.1 Extensões. Os resultados do
questionário são apresentados na sequência.
Nos gráficos a seguir apresentam-se as primeiras três perguntas do questionário
aplicado. As perguntas são pertinentes à funcionalidade do aplicativo e as respostas de todos
questionados foram positivas. Conforme apresentado nas Figuras 17, 18 e 19.
46
Figura 17 – Cadastrar erro conhecido
Figura 18 – Buscar erro conhecido
47
Figura 19 – Satisfação do resultado
A Figura 20 apresenta a quarta pergunta do questionário, onde a houve uma resposta
negativa quanto à precisão do grau de relevância. Ao cadastrar dois erros conhecidos com
sutis diferenças em seu enunciado e fazer a busca por um destes enunciados (exatamente
como cadastrado), as soluções apresentadas pelo aplicativo tinham o mesmo grau de
relevância, 88%. Porém o usuário alegou que uma delas devia ter 100% e a outra
aproximadamente 80%, por isto avaliou como inadequado o percentual de relevância
apresentado pelo aplicativo.
Figura 20 – Percentual de relevância
A pergunta cinco é relevante ao objetivo específico de permitir que os erros
conhecidos sejam atualizados pelos próprios usuários. A pergunta seis quanto à adequação do
software, que mede o quanto o conjunto de funcionalidades é adequado às necessidades do
48
usuário. Ambas atenderam as expectativas dos usuários, conforme Figuras 21 e 22.
Figura 21 – Atualizar os erros conhecidos
Figura 22 – Adequação do aplicativo
Algumas sugestões foram solicitadas pelos usuários na questão de adequação, não
essenciais para o funcionamento e implantação do aplicativo, mas adendos vistos como
interessantes pelos usuários. Os mesmos foram adicionados na seção 4.1 Extensões.
A resposta à pergunta número sete é interessante, pois conforme citado no item 2.5
Sistema Atual, atualmente os usuários já trabalham com um sistema. Este sistema identifica
os clientes que entram em contato e através dele é registrado o que foi falado ao cliente, como
forma de histórico para consulta posterior. Portanto o aplicativo que foi testado e
desenvolvido neste trabalho precisou coexistir com este sistema de identificação de clientes,
já implantado. Na Figura 23 o gráfico pertinente à pergunta sete.
49
Figura 23 – Coexistência do aplicativo
Exceto para um usuário, a coexistência é funcional. Foi comentado que poderia haver
uma integração, de forma que o aplicativo estivesse integrado ao sistema de identificação de
clientes para não precisar alternar entre ambos (sistema e aplicativo) durante o atendimento.
Na Figura 24 a pergunta imposta aos usuários foi na questão da usabilidade, ou seja, a
capacidade do produto de software ser compreendido, seu funcionamento aprendido, ser
operado e ser atraente ao usuário. Todos participantes avaliaram a usabilidade como funcional
e adequada.
Figura 24 – Usabilidade
50
A pergunta nove, última do questionário é apresentada na Figura 25. As respostas
negativas quanto ao quesito “comportamento em relação ao tempo adequado ao trabalho” se
deveram ao fato de que ao ser executado a primeira vez, o aplicativo demora quase um minuto
para ser carregado, pois é necessário ao processador do computador e a IDE:
a) compilar o aplicativo;
b) converter a programação Java em HyperText Markup Language (HTML),
Cascading Style Sheets (CSS) e Java Script para abrir no navegador web;
c) carregar os índices e classes na memória de forma estática.
Depois que o aplicativo foi aberto pela primeira vez, o tempo de resposta dentro dele é
instantâneo e não houve reclamações quanto a isto. Porém, pelo fato de não estar integrado
com o outro sistema atualmente utilizado, os usuários que avaliaram negativamente este ponto
acabavam fechando o aplicativo logo após os atendimentos, exigindo que fosse carregado
novamente ao atender outros clientes e assim gerando insatisfação quanto ao desempenho.
Figura 25 – Tempo x Trabalho
51
4 CONCLUSÕES
O objetivo deste trabalho foi criar um aplicativo que auxiliasse e melhorasse o
processo de atendimento do setor de suporte aos clientes. Diante dos resultados apontados,
todas as expectativas foram atingidas com a conclusão do mesmo.
Conclui-se que todos os objetivos, tanto geral como específicos foram atingidos e
acredita-se que será de grande valia para o ambiente profissional dos usuários, contribuindo
diretamente no atendimento aos clientes e melhorando a qualidade dos atendimentos. Partindo
do momento em que foi possível cadastrar e atualizar os erros conhecidos e posteriormente
suas soluções padronizadas, os usuários criaram conhecimento e profissionalizaram o
processo de trabalho. Pois enquanto anteriormente cada profissional de suporte tinha uma
solução própria e por vezes inadequada ou não formatada para os erros conhecidos, agora as
soluções são padronizadas e formatadas da melhor maneira possível, retornando aos clientes
sempre a melhor solução possível.
Utilizando as técnicas de text mining foi possível com sucesso executar buscas precisas
no banco de dados criado pelos próprios usuários do aplicativo. Sendo assim o aplicativo
tornou-se uma ferramenta de apoio aos profissionais do setor de help desk, pois não dependem
mais de conhecimentos tácitos e da memória para instruir os clientes a resolver os erros
conhecidos. Quanto à busca destas soluções através do text mining, foi um fator essencial no
processo de trabalho, afinal, não bastaria apenas ter todos os erros conhecidos e soluções
cadastradas se encontrá-las fosse um processo demorado e impreciso. Pelo fato do aplicativo
filtrar os erros conhecidos cadastrados de forma eficaz, utilizando os passos de Wives (2004),
a busca tornou-se ágil e eficaz, facilitando o trabalho dos profissionais de suporte.
Apresentar nos retornos da busca o percentual de relevância do mesmo é importante,
pelo fato de que poderão ser exibidos vários erros conhecidos parecidos no resultado na
busca, porém com soluções distintas, então, para minimizar as eventuais indecisões ao se
optar pela resposta, o percentual de relevância mostrou-se adequado e apreciado.
As ferramentas utilizadas no desenvolvimento se mostraram suficientes e adequadas,
sendo a principal característica a vantagem de serem gratuitas e open-source, havendo assim
vasto material disponível para consulta na internet. As principais dificuldades encontradas
foram a escolha de um framework adequado para o desenvolvimento em web. O trabalho de
Wives (2004) foi essencial para o desenvolvimento da técnica de text mining em Java,
utilizada pelo aplicativo.
52
A realização deste trabalho acresceu também o desenvolvimento pessoal, o
conhecimento na parte técnica, exigindo muita pesquisa e revisão de disciplinas vistas no
decorrer do curso de graduação. Conclui-se assim que o desenvolvimento desta aplicação foi
um aprendizado válido e importante.
4.1
EXTENSÕES
Quanto à implementação atual do sistema, alguns adendos foram sugeridos pelos
usuários e outros stakeholders, como a possibilidade de importar dados (erros conhecidos) de
outros bancos de dados como o Access, o Microsoft SQL, o Oracle, evitando assim o
cadastramento manual dos erros conhecidos.
Dentre as funcionalidades do aplicativo, a emissão de relatórios poderia ser
implementada. Seriam relatórios com informações gerenciais, como por exemplo, quais os
erros conhecidos com maior semelhança, quais os mais buscados, o número total de
cadastrados.
Quanto à usabilidade, seria interessante aos usuários a possibilidade de enviar por email a solução encontrada, diretamente pelo aplicativo.
Um item que não foi desenvolvido, por não fazer parte do escopo do trabalho e não ter
o suporte da empresa, e que poderá fazer parte de uma extensão é o uso do modelo ITIL para
referência na melhora da qualidade dos processos.
53
REFERÊNCIAS BIBLIOGRÁFICAS
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO/IEC9126-1
Engenharia de software - Qualidade de produto - Parte 1: Modelo de qualidade. Rio de
Janeiro, 2003.
CAVALARI, Gabriel O.T.; COSTA, Heitor A. X. Modelagem e desenvolvimento de um
sistema Help-Desk para a prefeitura municipal de Lavras – MG. 2005. 40 f. Trabalho de
Conclusão de Curso (Bacharelado em Ciências da Computação) - Departamento de Ciência
da Computação Universidade Federal de Lavras, Lavras.
CORRÊA, Adriana C. G. Recuperação de documentos baseada em Informação Semântica
no ambiente AMMO. 2003. 92 f. Trabalho de Conclusão de Curso (Bacharelado em
Ciências da Computação) – Universidade Federal de São Carlos, São Carlos. Disponível em
<http://www.bdtd.ufscar.br/tde_busca/arquivo.php?codArquivo=485>. Acesso em 11 maio
2012.
DALFOVO, Oscar; TAMBORLIN, Norberto. Business Intelligence. Blumenau: Edição do
Autor, 2010.
DALFOVO, Oscar. Modelo de integração de um sistema de inteligência competitiva com
um sistema de gestão da informação e de conhecimento. 2007. 234 f. Tese (Doutorado em
Engenharia e Gestão do Conhecimento) - Área de Engenharia e Gestão do Conhecimento,
Universidade Federal de Santa Catarina, Florianópolis.
DALFOVO, Oscar. Sistemas de informação: Estudos e casos. O uso da informação pelos
administradores e executivos que obtêm vantagem competitiva. Blumenau: Acadêmica, 2004.
ECLIPSE. The Eclipse Foundation Open Source Community Web Site. [S.I.], 2012.
Disponível em: <http://www.eclipse.org/>. Acesso em: 10 maio 2012.
FERREIRA, Mônica A.; LOUREIRO, Carlos A.S. ; MARTINEZ, Maurício M. Estudo sobre
a viabilidade de implantação de bases de conhecimento na Embrapa recursos genéticos e
biotecnologia. Brasília, 2004. Disponível em: < http://kmol.online.pt/artigos/2004/11/01/baseconhecimento-embrapa >.Acesso em: 10 maio 2012.
FIGUEIREDO, Saulo P. Gestão do Conhecimento a partir do e-mail. São Paulo, [2002].
Disponível em: <http://www.informal.com.br/artigos/a02052002_001.html>. Acesso em 10
maio 2012.
FIGUEIREDO, Saulo P. Gestão do conhecimento: estratégias competitivas para a criação e
mobilização do conhecimento na empresa. Rio de Janeiro: Qualitymark, 2005.
54
FINK, Carla A. Aplicação da técnica text mining para auxílio na classificação de erros
conhecidos de service desk. 2010. 57 f. Trabalho de Conclusão de Curso (Bacharelado em
Sistemas de Informação) - Centro de Ciências Exatas e Naturais, Universidade Regional de
Blumenau, Blumenau.
FURTADO, Maria I. V. Inteligência competitiva para o Ensino Superior: uma abordagem
através da mineração de texto. 2004. 119 f. Tese (Doutorado em Engenharia Civil) – Área de
Engenharia,
Universidade
Federal
do
Rio
de
Janeiro.
Disponível
em:
<http://wwwp.coc.ufrj.br/teses/doutorado/inter/2004/Teses/FURTADO_MIV_04_t_D_int.pdf
>. Acesso em: 18 abr. 2012.
GOOGLE.
Google
Web
Toolkit.
[S.I],
[2012].
Disponível
em:
https://developers.google.com/web-toolkit/terms?hl=pt-BR>. Acesso em 10 maio 2012.
<
HARTSYSTEM INFORMÁTICA LTDA. ProDent Software Odontológico. Blumenau,
[2012]. Disponível em: <http://www.hartsystem.com.br>. Acesso em: 10 maio 2012.
HIBERNATE.
Why
Hibernate.
Raleigh,
2011.
Disponível
<http://www.hibernate.org/about/why-hibernate>. Acesso em: 10 maio 2012.
em:
HOESCHL, Hugo. C; BUENO, Tânia. C. D.; BORTOLON, André S. AlphaTemis - Do
texto ao conhecimento. 2002. 111 f. Programa de Pós- Graduação em Engenharia de
Produção, Universidade Federal de Santa Catarina, Florianópolis.
LINGPIPE. Home Page. [S.I.], [2012]. Disponível em: < http://alias-i.com/lingpipe/>.
Acesso em: 10 maio 2012.
MARTINS, André. Computação baseada em casos: Contribuições metodológicas aos
modelos de indexação, avaliação, ranking, e similaridade de casos. Campina Grande: UFP,
2000. 193 f. Tese (Doutorado em Engenharia Elétrica) - Universidade Federal da Paraíba,
Campina Grande.
NONAKA, Ikujiro.; TAKEUCHI, Hirotaka. Criação de conhecimento na empresa. Rio de
Janeiro: Campus, 1997.
ORACLE. Java: The Best Environment for Network-Based Applications. Redwood Shores.
[S.I.], 2010. Disponível em: < http://www.oracle.com/us/technologies/java/10045230-br-javac17307-187867.pdf >. Acesso em: 10 maio 2012.
PROBST, Gilbert.; RAUB, Steffen.; ROMHARDT, Kai. Gestão do conhecimento, os
elementos construtivos do sucesso. Porto Alegre: Bookman, 2002.
SELBACH, Frederico C. Sistema web para auxílio em pesquisas e gerência de dados
clínicos. 2010. 65 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da
Computação) – Instituto de Informática, Universidade Federal do Rio Grande do Sul, Porto
Alegre. Disponível em <http://www.lume.ufrgs.br/handle/10183/28337>. Acesso em 11 maio
2012.
55
SILVA, Jaime J. Help Desk com sistema RBC para as gerências de aplicativos do Banco
do Brasil. 2004. 45 f. Trabalho de Conclusão de Curso (Curso de Especialização e
Desenvolvimento, Segurança e Qualidade a Internet) - Instituto de Informática, Universidade
Federal do Rio Grande do Sul, Porto Alegre.
STATDLOBER, Juliano. Help Desk e SAC com qualidade. Rio de Janeiro: Brasport, 2006.
THESAUROS. Thesaurus.com | Find Synonyms and Antonyms of words. [S.I.], 2012.
Disponível em < http://thesaurus.com/ >. Acesso em 04 jul 2012.
WEHRMEISTER, Janira. Sistema de conhecimento em Help Desk utilizando raciocínio
baseado em casos para apoio aos clientes e consultores de softhouse na web. 2008. 74 f.
Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) - Centro de
Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
WILVERT, Carla. Sistema de apoio a Help Desk utilizando gestão do conhecimento e
técnica de raciocínio baseado em casos. 2005. 72f. Trabalho de Conclusão de Curso
(Bacharelado em Sistemas de Informação) - Centro de Ciências Exatas e Naturais,
Universidade Regional de Blumenau, Blumenau.
WIVES, Leandro K. Utilizando conceitos como descritores de textos para o processo de
identificação de conglomerados (clustering) de documentos. 2004. 136 f. Tese (Doutorado
no Programa de Pós-Graduação em Computação) - Instituto de Informática, Universidade
Federal do Rio Grande do Sul, Porto Alegre.
56
APÊNDICE A – Descrição dos Casos de Uso
Este Apêndice apresenta a descrição dos casos de uso conforme previstos nos
diagramas apresentados na subseção 3.3.1.
UC01 Cadastrar usuários
Permite ao cadastrar um novo usuário do aplicativo, bem como alterar ou excluir informações
do usuário.
UC02 Exigir login e senha
É necessário que o usuário esteja previamente cadastrado e possua uma senha de acesso
próprio para acessar o aplicativo.
UC03 Cadastrar os erros conhecidos e sua solução
Permite ao profissional de suporte incluir os erros conhecidos pelo setor de help desk da
empresa, viabilizando a consulta por informações quaisquer do erro conhecido. É necessário
preencher a descrição do “erro conhecido”, página do MU” e “solução”.
Constraints
Pré-condição . O usuário solicitante deve estar cadastrado no aplicativo.
Pós-condição . Um erro conhecido foi incluído no aplicativo.
Cenários
Incluir erro conhecido {Principal}.
1. O profissional de suporte solicita cadastro de erro conhecido;
2. O aplicativo apresenta tela para registro de erro conhecido;
3. O profissional de suporte informa os dados de um novo erro conhecido;
4. O profissional de suporte clica em CADASTRAR;
5. O aplicativo grava as informações.
UC04 Atribuir categorias
Permite ao profissional de suporte atribuir a categoria correta para cada erro conhecido
cadastrado. Cada erro conhecido só pode ter uma categoria. É necessário estar previamente
cadastrada.
UC05 Pesquisar as soluções
Permite ao profissional de suporte fazer a pesquisa a partir de um termo na base de dados de
conhecimento. O aplicativo utilizará a técnica de text mining para pesquisar as informações e
apresentar na tela. Após apresentadas, é possível altera-las ou excluí-las.
Constraints
Pré-condição . O usuário solicitante deve estar cadastrado no aplicativo.
Pós-condição . Uma(s) solução(s) foi(ram) ou não encontrada(s).
Pós-condição . Solução(s) foi(ram) atualizadas(s) ou excluída(as)
Cenários
Pesquisa solução {Principal}.
1. O profissional de suporte clica em Buscar;
57
2. O aplicativo apresenta tela para busca de erros conhecidos;
3. O profissional de suporte escreve no campo de pesquisa o erro conhecido;
4. O profissional de suporte clica em Buscar;
5. O aplicativo, a partir da digitação, faz a busca no banco de dados pelo termo semelhante e
apresenta as soluções encontradas e seu grau de relevância;
8. O profissional de suporte pode copiar o conteúdo, e então explicar para o cliente.
9. O profissional de suporte, se desejar, pode clicar em “Alterar” para editar o cadastro da
solução ou excluir.
10. O profissional de suporte clica em “Alterar”, para confirmar as alterações.
Solução não localizada {Exceção}
No passo 5, caso o aplicativo não encontre solução/erro conhecido correspondente ao termo
pesquisado, não apresentará nenhum resultado na tela.
Alterar erro conhecido {Alternativo}.
No passo 9, o profissional de suporte pesquisa um erro conhecido;
9.1. O aplicativo apresenta os dados;
9.2. O profissional de suporte edita os dados e seleciona ALTERAR;
9.3. O aplicativo altera os dados do erro conhecido.
Excluir erro conhecido {Alternativo}.
No passo 9, o profissional de suporte seleciona um erro conhecido e clica em alterar;
9.1. O aplicativo apresenta os dados;
9.2. O profissional de suporte seleciona EXCLUIR;
9.3. O aplicativo exclui o erro conhecido do banco de dados.
UC06 Apresentar grau de relevância
Ao apresentar o resultado da pesquisa o aplicativo deve apresentar também o grau de
relevância da resposta mediante o termo pesquisado pelo usuário.
Download