UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO CARLA ADRIÉLI FINK APLICAÇÃO DA TÉCNICA TEXT MINING PARA GESTÃO DO CONHECIMENTO NA CLASSIFICAÇÃO DE INCIDENTES DE SERVICE DESK Proposta de Trabalho de Conclusão de Curso submetida à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso I do curso de Sistemas de Informação — Bacharelado. Prof. Oscar Dalfovo – Orientador BLUMENAU 2010 / I 2 1 INTRODUÇÃO Segundo Mansur (2005) a Information Technology Infrastructure Library (ITIL) é um modelo de referência para gerenciamento de serviços de Tecnologia da Informação cujo objetivo é descrever e utilizar um conjunto de melhores práticas de gestão, permitindo assim o funcionamento eficiente e efetivo de todos os serviços. Um Gerenciamento de Serviços de TI está orientado a entrega de níveis de serviços com qualidade e com a rapidez que o negócio exige. Para isto é necessário ter um processo de tratamento de incidentes eficaz e eficiente. Dentro os processos de gerenciamento de serviços de TI, o gerenciamento de incidentes tem como principal responsabilidade solucionar incidentes com agilidade. Atualmente um dos grandes problemas no ambiente da TI está na disponibilidade dos recursos e dos sistemas com eficiência garantida. A empresa Teclógica Serviços em Informática utiliza-se do recurso de ITIL, neste trabalho apresentado especificamente no gerenciamento de incidentes. O Service Desk deve seguir este processo para minimizar os impactos negativos nas áreas de negócio. Para auxiliar no suporte e classificação de incidentes, identificou-se a demanda de uma ferramenta para classificação de incidentes para gestão do conhecimento, utilizando a técnica text mining. 1.1 PROBLEMA Atualmente os incidentes registrados no Service Desk da empresa Teclógica Serviços em Informática, são classificados no sistema de chamados de forma manual pelo técnico que realiza o atendimento do mesmo. Esta classificação gera automaticamente uma prioridade de acordo com a relevância do problema, que já se encontra cadastrada no sistema de chamados. Realizado o acompanhamento, verificou-se que pela falta de conhecimento do técnico, a classificação incorreta gera a demora no atendimento, além da não priorização de divergências urgentes e direcionamento a áreas ou técnicos incorretos. 3 1.2 JUSTIFICATIVA Durante o acompanhamento realizado no Service Desk da empresa Teclógica Serviços em Informática, foi possível identificar a deficiência no processo e a necessidade de uma solução. Sendo assim, se propôs uma ferramenta para gestão do conhecimento na classificação dos incidentes utilizando a técnica text mining. 1.3 OBJETIVOS O objetivo deste trabalho é automatizar a classificação de incidentes aplicando a técnica text mining a uma base de conhecimento já existente, criando uma ferramenta para isso. Os objetivos específicos do trabalho são: a) apresentar a classificação mais adequada conforme problema apresentado pelo cliente /usuário; b) permitir a seleção e/ou cadastro de um novo problema quando a classificação não for possível ou apresentar incoerência; c) minimizar erros de classificação e prioridades. 1.4 RELEVÂNCIA DO TRABALHO O ITIL é um conjunto de melhores práticas para a gestão de TI, que visa fornecer diretrizes para o entendimento, planejamento e implementação de uma infra-estrutura otimizada de TI. Este conjunto abrange o processo de Gestão de Incidentes, que é responsável pelo monitoramento da solução de todos os incidentes registrados. A classificação do incidente faz parte da atividade realizada pela Gestão de Incidentes, que baseiam as ações posteriores de solução. O Service Desk possui também esta atividade e a executa como um papel importante. O cliente/usuário freqüentemente reporta uma descrição do incidente, mas não necessariamente a raiz/causa do problema. 4 Como o Service Desk está envolvido na restauração rápida dos serviços para seus clientes e usuários, a classificação do incidente de acordo com a descrição repassada pelo cliente e usuário, direciona o técnico no caminho mais curto e correto para que a ação seja realizada de forma ágil. Utilizando a técnica de text mining o sistema irá apresentar uma classificação mais coerente de acordo com a descrição reportada no incidente. A aplicação desta técnica não é trivial para a empresa Teclógica Serviços em Informática, porém é importante devido a necessidade atual enfrentada pela equipe de Service Desk. 5 2 FUNDAMENTAÇÃO TEÓRICA Este capítulo aborda inicialmente os assuntos tais como text mining, uma breve definição sobre ITIL, Gestão de Incidentes e Gestão do Conhecimento, além dos trabalhos correlatos. 2.1 TEXT MINING A tecnologia de text mining refere-se à tecnologia capaz de fazer análises sobre as informações armazenadas em um formato de dados não estruturado, e conforme Gadcon (2006, p. 1), “80% dos dados de uma organização estão armazenados em forma de dados nãoestruturados (texto).” Segundo Tan (1999) Text Mining é o processo de extrair padrões ou conhecimentos interessantes e não triviais a partir de documentos textuais. A mineração de textos possui duas fases principais e seqüentes: a extração de informações e a própria mineração de dados. A primeira destina-se a extrair conceitos, estatísticas e palavras relevantes de um conjunto textual para estruturá-los minimamente, preparando-os para a aplicação das técnicas de mineração de dados. Neste segundo momento aplicam-se as diretrizes e algoritmos de mineração de dados destinados a gerarem regras, classificações ou agrupamentos (HOESCHL; BUENO; BORTOLON; MATTOS; RIBEIRO, 2002). Segundo Wives (2004, p. 72), o text mining possui cinco passos importantes: a) definição de objetivos: compreensão do domínio, identificação do que deve ou do que pode ser descoberto; b) recuperação de informações: localização e recuperação dos textos relevantes para o que o usuário necessita descobrir, encontrando palavras-chaves descritas no texto; c) extração de informação: identificação de itens (características, palavras) relevantes nos documentos, verificando a coerência entre os textos; d) mineração: aplicação de um método de mineração que identifique padrões e relacionamento entre os dados; 6 e) interpretação: a interpretação e a aplicação dos dados encontrados. Esse passo é o resultado final, mostrando para o usuário o que foi encontrado de similaridade entre os textos. De acordo com Wives (2004, p. 23), 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 a visualização entre outros. 2.2 ITIL O ITIL é uma biblioteca composta das boas práticas para Gerenciamento de Serviços de TI, e hoje é o modelo mais utilizado quando se trata de suporte e entrega de serviços. O ITIL surgiu como reconhecimento do fato de que as organizações estão se tornando cada vez mais dependentes da TI para atingir seus objetivos corporativos. De acordo com Van Bom (2006), essa crescente dependência resultou numa necessidade cada vez maior de serviços de TI com uma qualidade que corresponda aos objetivos do negócio e que atendam às exigências e expectativas do cliente. O ITIL é um modelo de processos e não representa os próprios processos com o passo a passo para implementar na organização. Pelo fato de ser um modelo, a ITIL serve como inspiração para definir e melhorar processos de Gerenciamento de Serviços de TI. 2.2.1 GESTÃO DE INCIDENTES O Service Desk é o proprietário de todos os incidentes. Aqueles que não podem ser resolvidos imediatamente podem ser encaminhados a grupos de especialistas. Um item importante no registro de incidentes é sua classificação. Para Dorow (2009) é possível criar níveis de criticidade para os incidentes, com base no impacto (quantas 7 pessoas/sistemas estão sendo afetados) e na urgência (o quão rápido precisa ser restabelecido) do evento. Com base nisto, fica mais claro saber o que precisa ser atendido primeiro. O Gerenciamento de Incidentes inclui as seguintes atividades: a) registro de alerta de incidentes: todos os incidentes devem ser registrados em termos de sintomas, dados de diagnóstico básico e informações sobre o item de configuração e serviços afetados. Independente dos mecanismos ou caminhos com que os incidentes são registrados, o Service Desk deve receber alertas apropriados e manter controle total; b) suporte e classificação de incidentes: novos incidentes registrados devem ser analisados para se descobrir a razão do incidente. Incidentes também devem ser classificados e é neste sistema de classificação que se baseiam as ações posteriores de soluções; c) investigação e diagnóstico: onde quer que seja possível, o usuário deve ser provido com os meios para continuar seu trabalho, às vezes até com um serviço degradado. Todo o esforço deve ser feito para minimizar o impacto do incidente no negócio e fornecer mais tempo para investigar e definir uma solução estrutural. 2.3 GESTÃO DO CONHECIMENTO A gestão do conhecimento possui o objetivo de controlar, facilitar o acesso e manter um gerenciamento integrado sobre as informações em diversos meios. Entende-se por conhecimento a informação interpretada, ou seja, o que cada informação significa e que impactos no meio cada informação pode causar de modo que a informação possa ser utilizada para importantes ações. Conhecimento é um processo. É dinâmico, pessoal e distinta de dados (discreto, os símbolos não estruturadas) e informações (um meio de comunicação explícita). Uma vez que as propriedades dinâmicas do conhecimento estão em foco, a noção de competência individual pode ser usado como um sinônimo justo (SVEIBY, 2001, p.4) 8 2.4 SISTEMA ATUAL Atualmente a empresa Teclógica Serviços em Informática segue o modelo de boas práticas do ITIL no setor de Service Desk, provendo-se da gestão de incidentes para restaurar serviços o mais rápido possível. O setor de Service Desk é responsável pelo registro de incidentes e sua classificação são descritos abaixo: a) o técnico registra um incidente com informações relevantes para o atendimento; b) o técnico classifica o incidente manualmente através de uma base de conhecimento existente, relacionando-o a uma categoria conforme descrição repassada pelo cliente/usuário; - caso o técnico não possua conhecimento para solucionar, o incidente é direcionado ao segundo nível técnico, e assim sucessivamente, conforme uma hierarquia pré-determinada; c) o atendimento do incidente pelo técnico responsável será efetuado conforme prioridade indicada automaticamente logo após a classificação; - caso o direcionamento seja feito para outro nível, a prioridade indicada pelo sistema é padrão, não considerando a importância da divergência tratada no incidente; O principal problema a ser estudado neste processo, é a classificação de incidentes manual, que, por falta de conhecimento, ocasiona erros. Assim o atendimento não é direcionado a equipe técnica responsável correta e priorizado conforme sua devida prioridade. 2.5 TRABALHOS CORRELATOS Pode-se citar como trabalhos correlatos as monografias criadas pelos alunos José Lino Uber e Roger Erivan Gaulke para conclusão do curso na Universidade Regional de Blumenau. O trabalho de Uber (2004) foi desenvolver um software para descobrir novos conhecimentos em textos armazenados em um banco de dados (descrição do problema), utilizando para isso técnicas de text mining, para automatizar a análise dos chamados 9 telefônicos, identificar automaticamente quais os chamados mais freqüentes, identificando o que ocasionou o chamado e fornecer indicadores em nível gerencial. O trabalho de Gaulke (2009) foi implementar um método de text mining no Ambiente do Empreendedor, comparando-se os textos entre os módulos, verificando as inconsistências do plano de negócio criado no Ambiente do Empreendedor, com isso auxiliando o gestor na análise do plano de negócio. Estes trabalhos se identificam com este apresentado pelo método text mining, utilizado então com a finalidade de comparações em busca de resultados com agilidade e automatização. 10 3 DESENVOLVIMENTO Neste capítulo estão descritos a particularidades técnicas do sistema proposto tais como a descrição do mesmo e a apresentação dos requisitos funcionais e não funcionais, principais diagramas de caso de uso e a sua descrição, diagramas de atividades e principais softwares a serem utilizados. 3.1 SISTEMA PROPOSTO Propõem-se o desenvolvimento de uma aplicação web que demonstre a classificação de incidentes de forma automática. A quantidade de informações armazenadas na base de conhecimento já existente no Service Desk é que tornará a ferramenta com maior relevância na classificação de incidentes. Para a construção da aplicação têm-se as seguintes ferramentas de desenvolvimento: a) Hypertext Preprocessor (PHP), como plataforma central de desenvolvimento; b) banco de dados MYSQL para armazenamento de todas as informações. 3.2 ESPECIFICAÇÃO O Quadro 1 apresenta os requisitos funcionais previstos para o sistema e sua rastreabilidade, ou seja, vinculação com o(s) caso(s) de uso associado(s). Requisitos Funcionais RF01: O sistema deverá permitir ao técnico o cadastramento da descrição Caso de Uso UC01 do incidente. RF02: O sistema deverá permitir ao técnico incluir, alterar e excluir UC02 problemas. RF03: O sistema deverá permitir classificar o problema dos incidentes cadastrados utilizando text mining. UC03 11 Quadro 1: Requisitos funcionais O Quadro 2 lista os requisitos não funcionais previstos para o sistema. Requisitos Não Funcionais RNF01: O sistema deverá utilizar banco de dados MYSQL. RNF02: O sistema deverá ser desenvolvido na linguagem PHP. RNF03: O sistema deverá ser compatível com as últimas versões de navegadores disponíveis no mercado, como o Internet Explorer 7 ou superior e Mozilla Firefox 3 ou superior. Quadro 2: Requisitos não funcionais 3.3 MODELAGEM Esta seção apresenta o diagrama que será necessário para o entendimento do sistema proposto. Usa-se de subseções para a apresentação do diagrama de caso de uso. Optou-se por não ser apresentado neste trabalho o diagrama de classes devido ao não conhecimento completo da base que será utilizada. 3.3.1 DIAGRAMAS DE CASO DE USO Esta seção apresenta o diagrama de casos de uso preliminar do sistema proposto, sendo que o detalhamento dos principais casos de uso estão descritos no Apêndice A. Na figura 1, tem-se o diagrama de caso de uso com o ator envolvido no sistema proposto. 12 Figura 1: Diagrama de caso de uso exemplo 13 REFERÊNCIAS BIBLIOGRÁFICAS DOROW, E. Gestão de Incidentes ITIL. Blumenau, 2009. Disponível em: < http://www.profissionaisti.com.br/2009/01/gestao-incidentes-itil/>. Acesso em: 08 abr.2010 GADCON. SPSS lança solução inédita para análise preditiva para português. São Paulo, 2006. Disponível em: <http://www.gadcom.com.br/ultimas_noticias/ultimasnoticias_item.asp?cod=1249>. Acesso em: 01 abr. 2010 GAULKE, R. E. Implementação da técnica text mining via web aplicado no ambiente Empreendedor. 2009. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) - Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. HOESCHL, H. C; BUENO, T. C. D.; BORTOLON, A.; MATTOS, E.; RIBEIRO, M. S. AlphaThemis - Do texto ao conhecimento. 2002. 11 f. Programa de Pós-Graduação em Engenharia de Produção, Universidade Federal de Santa Catarina. Campus Universitário, Trindade, Florianópolis. MANSUR, Ricardo. Governança de tecnologia – itil. Profissionais de Tecnologia. Disponível em: <http://www.profissionaisdetecnologia.com.br/artigos/arquivos/itil.pdf>. Acesso em: 13 Set. 2009. SVEIBY, K. E. Knowledge management:lessons from the Pioneers. EUA,2001. Disponível em: <http://www.portalsbgc.org.br/sbgc/gtoc2/default.aspx?apptabid=3&docid=16>. Acesso em: 08 abr. 2010 UBER, J. L. Descoberta de conhecimento com o uso de text mining aplicada ao SAC. 2004. 54 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. VAN BON, Jan. Fundamentos do gerenciamento de servicos em TI baseado em ITIL/ foundations of IT service management: based on ITIL. Bernan, 2006. Disponível em <http://www.bernan.com/Online_Catalog/Title_Page.aspx?TitleID=82000059>. Acesso em 26 Set. 2009. WIVES, L. 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. 14 APÊNDICE A – Detalhamento dos casos de uso No Quadro 3 apresenta-se o caso de uso "Cadastrar Descrição do Incidente". Nome do Caso de Uso Cadastrar Descrição do Incidente Descrição Usuário acessa a aplicação via navegador Internet e acessa o link Descrição do Incidente para manter dados do incidente. Serão mantidos os dados: número do incidente e descrição do incidente. Ator Técnico Pré-condição Sistema deve estar hospedado no servidor web. Fluxo principal 1. Usuário acessa o sistema; 2. Usuário opta por editar, apagar ou cadastrar uma descrição do incidente. Cenário – Visualização Cenário – Edição Sistema mostra os registros de descrição de incidentes. 1. Sistema mostra registros cadastrados; 2. Usuário seleciona um registro para edição; 3. Sistema mostra o número do incidente e descrição do incidente; 4. Usuário altera registro e seleciona opção para atualizar os dados (número do incidente e descrição do incidente); Cenário – Inclusão Cenário – Exclusão Pós-condição 5. Sistema mostra os registros cadastrados com o registro alterado. 1. Sistema mostra registros cadastrados; 2. Usuário inclui um novo registro; 3. Sistema mostra os registros cadastrados. 1. Sistema mostra registros cadastrados; 2. Usuário seleciona um registro para exclusão; 3. Sistema exclui o registro e mostra os registros restantes. Usuário visualizou, editou, apagou ou cadastrou uma descrição de incidente. Quadro 3 – Descrição do caso de uso Cadastrar Descrição do Incidente No Quadro 4 apresenta-se o caso de uso "Cadastrar Problema". Nome do Caso de Uso Cadastrar Descrição Problema Descrição Usuário acessa a aplicação via navegador Internet e acessa o link Problema para manter dados do problema. Serão mantidos os dados: código do problema, descrição do problema, palavras chaves e prioridade. Ator Técnico Pré-condição Sistema deve estar hospedado no servidor web. Fluxo principal 1. Usuário acessa o sistema; 2. Usuário opta por editar, apagar ou cadastrar uma descrição do incidente. Cenário – Visualização Sistema mostra os registros de problemas. 15 Cenário – Edição 6. Sistema mostra registros cadastrados; 7. Usuário seleciona um registro para edição; 8. Sistema mostra o código do problema, descrição do problema, palavras chaves e prioridade; 9. Usuário altera registro e seleciona opção para atualizar os dados (código do problema, descrição do problema, palavras chaves e prioridade); 10. Sistema mostra os registros cadastrados com o registro alterado. Cenário – Inclusão Cenário – Exclusão Pós-condição 4. Sistema mostra registros cadastrados; 5. Usuário inclui um novo registro; 6. Sistema mostra os registros cadastrados. 4. Sistema mostra registros cadastrados; 5. Usuário seleciona um registro para exclusão; 6. Sistema exclui o registro e mostra os registros restantes. Usuário visualizou, editou, apagou ou cadastrou um problema. Quadro 4 – Descrição do caso de uso Cadastrar Problemas No Quadro 5 apresenta-se o caso de uso "Classificar Incidente". Nome do Caso de Uso Consultar Problema Descrição Usuário acessa a aplicação via navegador Internet e acessa o link Consultar Problema para fazer uma busca nos problemas existentes. Ator Técnico Pré-condição Sistema deve estar hospedado no servidor web. Sistema deve possuir pelo menos uma descrição de incidentes. Fluxo principal 1. Usuário acessa a opção classificar incidente; 2. Usuário visualiza o(s) problema(s) sugeridos pela aplicação após text mining; 3. Sistema exibe o em tela código do problema, descrição do problema, palavras chaves e prioridade. Fluxo alternativo 1. Usuário acessa a opção classificar incidente; 2. Usuário visualiza o(s) problema(s) sugeridos pela aplicação após text mining; 3. Usuário seleciona outro problema cadastrado no sistema após aplicação text mining Pós-condição Usuário visualizou classificação de incidente sugerida após text mining. Quadro 5 – Descrição do caso de uso Classificar Incidente