SISTEMA DE APOIO AO SUPORTE TÉCNICO DE UMA EMPRESA DE SOFTWARE COM UTILIZAÇÃO DE ONTOLOGIA SYSTEM OF SUPPORT TO THE TECHNICAL SUPPORT OF A COMPANY OF SOFTWARE WITH USE OF ONTOLOGY Vagner Fagundes1 Roberto Heinzle2 Fernando A. Ostuni Gauthier3 RESUMO: O presente trabalho investiga as aplicações e potencialidades do uso de Ontologias no desenvolvimento de Sistemas help desk, para auxiliar o técnico de suporte na busca de soluções para problemas dos clientes. Sendo que o objetivo é desenvolver um sistema de apoio ao departamento de suporte técnico de uma empresa que desenvolva sistemas (software-house), visando informatizar suas atividades, no que diz respeito ao registro de chamadas e atendimento ao cliente, utilizando a tecnologia das ontologias. O projeto tem em vista a viabilidade do uso de ontologias no suporte técnico com intenção de construir mecanismos computacionais capazes de simular na máquina algumas das características da inteligência humana, que tem sido um desafio para os pesquisadores da área de Inteligência Artificial. PALAVRAS-CHAVES: Ontologia. Sistema Help Desk. Suporte Técnico. ABSTRACT: The present work investigates the applications and potentialities of the use of Ontology’s in the development of Systems help desk, to aid the support technician in the search of solutions for the customers' problems. And the objective is to develop a support system to the department of technical support of a company that develops systems (software-house), seeking to computerize your activities, in what concerns the registration of calls and attendance to the customer, using the technology of the ontology’s. The project has in mind the viability of the ontology’s use in the technical support with intention of building mechanisms computational capable to simulate in the machine some of the characteristics of the human intelligence, that has been a challenge for the researchers of the area of Artificial Intelligence. KEY WORDS: Ontology. Help Desk System. Technical Support. INTRODUÇÃO 1 Acadêmico do Curso de Sistemas de Informação do Centro Universitário de Brusque - Unifebe. E-mail: [email protected] 2 Doutorando em Engenharia e Gestão do Conhecimento pela Universidade Federal de Santa Catarina – UFSC. Docente da Unifebe e da FURB. E-mail: [email protected] 3 Docente e Pesquisador do Programa de Pós-Graduação em Engenharia e Gestão do Conhecimento da UFSC. E-mail: [email protected] Com o crescente uso de computadores em vários campos do conhecimento, a principal preocupação da área de Tecnologia de Informação tem sido dispor informações para apoiar a solução de problemas. Entretanto, como resultado deste esforço, nos últimos anos, um novo problema surgiu: o numero grande de recurso de informação, juntamente à falta de semântica para guiar uma busca por recursos realmente relevantes para o contexto em mãos. Assim como a falta de informação cria um grave problema, o excesso de recursos de informação também é sendo assim pode não ser possível coletar em tempo hábil a informação necessária para apoiar o suporte técnico, das decisões durante a resolução de problemas. O crescimento rápido e contínuo do volume de informações torna cada vez mais difícil encontrar, organizar, acessar e manter informação requerida por usuários. Muitas vezes, pedaços importantes de informação relevante estão espalhados em diferentes recursos de informação e o meio mais utilizado para encontrá-los é através de máquinas de busca. No entanto, as máquinas de busca tradicionais retornam listas de recursos, oferecendo pouca ou quase nenhuma informação sobre as relações semânticas existentes entre eles. Por conseqüência, o usuário tem de perder uma quantidade grande de tempo acessando e lendo, para então descobrir como esses recursos de informação estão relacionados e onde eles se encaixam na estrutura geral do domínio do problema. É neste contexto que se percebe que a maioria das empresas desenvolvedoras de sistemas tem uma enorme preocupação voltada ao apoio técnico da área de suporte ao cliente usuário do sistema. Diferentes soluções têm sido criadas para que o técnico disponha do apoio de uma ferramenta para auxiliá-lo no fornecimento de soluções que ofereçam rapidez, eficiência e qualidade no atendimento às chamadas dos seus clientes. Para tanto é proposto à criação de um sistema baseado em conhecimento, tipo help desk, que utiliza a tecnologia das ontologias. Uma ontologia é uma especificação formal e explícita de uma conceitualização compartilhada (MOTIK, 2006). Trata-se de um modelo abstrato de algum fenômeno do mundo real onde é formado por um vocabulário controlado e arranjado hierarquicamente, e por relações entre conceitos, como nas taxonomias. São, portanto, instrumentos para descrever e organizar conhecimentos referentes ao sistema de apoio ao suporte técnico de uma empresa de software. ONTOLOGIA Dentre as técnicas desenvolvidas para a representação do conhecimento, têm recebido especial atenção dos pesquisadores as ontologias. O termo ontologia tem sua origem na Filosofia, onde é definida como “a especificação explícita de uma conceitualização”, no entanto o tema é retomado na década de 80 na área de Ciência da Computação e Sistema de Informação, entretanto mais especificamente na área de Inteligência Artificial, para representar o conhecimento em domínios específicos. Com o surgimento da proposta da Web Semântica, que tem como um dos seus fundamentos a questão das ontologias, o tema vem ganhando espaço, ultrapassando as fronteiras da Ciência da Computação, passado a ser utilizado por diferentes grupos focados em formar domínios específicos de conhecimento para torná-los processáveis por programas. No campo da Computação/Informática, o termo é interpretado como um conjunto de entidades e suas relações. Para Pacheco (2001) as ontologias servem para representar à gramática e o vocabulário de alguma área do conhecimento. Elas descrevem conceitos, relações, restrições e axiomas de um determinado domínio, sendo escritas de tal forma que os softwares possam processar estas informações. Em geral, uma ontologia é organizada em hierarquias de conceitos ou taxonomias e inclui um conjunto de regras de inferência. A taxonomia define classes de objetos e relações entre elas. As regras de inferência fornecem o aparato dedutivo (ROSA, 2004). Assim, as aplicações usam ontologias para relacionar os dados disponíveis num repositório às estruturas de conhecimento associadas às regras de inferência. Uma das principais utilidades de uma ontologia é a de servir como uma base de conhecimentos, visão essa muito comum dentro do ramo da gestão de conhecimentos. Essa definição faz uma distinção importante sobre o que é uma ontologia e o que é uma base de conhecimentos. Uma ontologia provê uma estrutura básica na qual em acima dessa estrutura pode-se construir uma base de conhecimentos. A ontologia prove um conjunto de conceitos e termos para descrever um determinado domínio, enquanto a base de conhecimento usa esses termos para descrever uma determinada realidade. Caso essa realidade seja alterada a base de conhecimento será modificada, porém a ontologia permanecerá inalterada desde que o domínio se mantenha sem qualquer tipo de modificação. VANTAGENS DO USO DE ONTOLOGIAS As ontologias fornecem um vocabulário para representação do conhecimento. Esse vocabulário tem por trás uma conceitualização que o sustenta, evitando assim interpretações ambíguas desse vocabulário. Elas permitem o compartilhamento de conhecimento. Sendo assim, caso exista uma ontologia que modele adequadamente certo domínio de conhecimento, essa pode ser compartilhada e usada por pessoas que desenvolvam aplicações dentro desse domínio. Para exemplificar, considere que exista uma ontologia para o domínio de uma biblioteca. Uma vez que essa ontologia está disponível, várias bibliotecas podem construir seus catálogos usando o vocabulário fornecido por essa ontologia sem a necessidade de refazer uma análise do domínio de bibliotecas Possui uma descrição exata do conhecimento, diferente da linguagem natural em que às palavras podem ter sentidos totalmente diferentes conforme o seu contexto, a ontologia por ser escrita em linguagem formal, não deixa espaço para as ambigüidades semântico existente na linguagem natural. A interpretação da palavra pode ser atribuída a um conceito ou outro conforme o estado mental do indivíduo. Porém, se há uma conceitualização comum entre essas duas pessoas a possibilidade de mal entendido diminui muito. Por É possível fazer o mapeamento da linguagem da ontologia sem que com isso seja alterada a sua conceitualização, ou seja, uma mesma conceitualização pode ser expressa em várias línguas. PROTEGÉ Bax (2003) e Noy (2002) registram que desde 1998 estão em desenvolvimento várias das tecnologias, metodologias e ferramentas para o desenvolvimento e a manipulação das ontologias, a exemplo do editor de ontologias do Protegé. Ele é um editor de ontologias de código aberto, onde é também é um framework baseado em conhecimento desenvolvido com a tecnologia Java. Ele permite a criação, visualização e manipulação de ontologias em diferentes formas de representação, tal como a OWL, a XML (eXtensible Markup Language) e o RDF (Resource Description Framework). As funcionalidades do mesmo podem ser estendidas utilizando plug-ins disponíveis na internet ou serem criadas no próprio editor assim como se seguiu esta pesquisa. Para Lawrence (2000) a implementação do editor de ontologias habilitará as máquinas a estruturar, navegar, integrar e processar informação de uma maneira significante, focalizando na recuperação de conhecimento, já que permite a recuperação semântica de dados distribuídos e heterogêneos. SUPORTE TÉCNICO Segundo Ferreira (1999), suporte é “o que suporta algo, que dá apoio”, e técnico, “peculiar a uma arte ou ciência, perito em determinada função”. Trazendo esta definição para a área de informática, suporte técnico representa um grupo de pessoas que dão apoio aos usuários de um determinado sistema, (software), ou a algum produto específico da empresa. Em outras palavras, eles ajudam os usuários quando estes têm dúvidas ou problemas em relação ao produto ou serviço que adquiriram da empresa fornecedora. Este trabalho nem sempre é simples, as queixas são comuns e a área de suporte técnico tem frequentemente sido motivo de descontentamento para muitos. Para Cougo (2002), atualmente a grande maioria das ferramentas voltadas ao ambiente de suporte técnico ou help desk para a área de informática tem focado sua atuação nos aspectos de disponibilização de recursos para a preservação e recuperação da estrutura técnica. Desse modo passam a estar disponíveis nestas ferramentas meios para que: 1- o acervo de hardware e software seja controlado; 2- os diagnósticos e execução de procedimentos de reparo sejam executados, inclusive remotamente; 3- a distribuição de novos recursos na rede possa ser automatizada; 4- o gerenciamento das intervenções solicitadas possa ser executado. Neste panorama se enquadram praticamente a totalidade dos softwares voltados à implementações de um help desk convencional para a área de informática. Eles ficam restritos a alguns fatores que são determinantes ao bom atendimento das necessidades de suporte, são eles: 1- a disponibilidade de técnicos; 2- a disponibilidade de conhecimento específico dos técnicos; 3- a possibilidade de intervenções remotas, sem o deslocamento dos técnicos; 4- os dados sobre as características do equipamento que apresentou problemas e o histórico de problemas desse equipamento; Assim, pode-se observar que a produtividade e a qualidade no atendimento de chamadas e o respectivo suporte técnico operacional, depende basicamente do fator “conhecimento”. Conhecimento de soluções, conhecimento de alternativas, conhecimento de procedimentos, etc. Sendo assim, o presente trabalho, procurou desenvolver um sistema de informação para a área de suporte ao cliente de um software house, dotado de capacidade semântica, obtida através do uso de ontologia MÉTODOS Este projeto foi executado segundo as métricas adotadas na metodologia, onde se teve que pesquisar sobre o que são ontologias até a elaboração e explanação do sistema de apoio ao suporte técnico com base nos seguintes itens: • Desenvolvimento de uma pesquisa exploratória para identificação e avaliação das principais tecnologias, ferramentas e atores envolvidos nos sistemas de suporte técnico nas empresas desenvolvedoras de software; • Desenvolvimento de uma pesquisa exploratória, para identificação e avaliação dos conceitos, principais tecnologias e ferramentas disponíveis para a construção de Ontologias; • Compreensão do comportamento destas tecnologias e ferramentas, dimensionamento de suas potencialidades - por meio de testes computacionais; e • Aquisição e formalização do conhecimento do domínio da aplicação em forma de ontologia; • Especificação e desenvolvimento do sistema; • Testes e ensaios para validação do sistema proposto; • Redação do relatório e artigo final A intenção de construir mecanismos computacionais capazes de simular na máquina algumas das características da inteligência humana tem sido há algum tempo um desafio para os pesquisadores da área de IA-Inteligência Artificial. Neste contexto se justifica o presente trabalho, no qual se pretende avaliar a viabilidade do uso de ontologias no desenvolvimento de sistemas de apoio ao departamento de suporte técnico de uma empresa desenvolvedora de software. CONSIDERAÇÕES FINAIS Esta pesquisa teve como objetivo geral desenvolver um sistema de apoio ao departamento de suporte técnico de uma empresa que desenvolve sistemas (software-house), visando informatizar suas atividades, no que diz respeito ao registro de chamadas e atendimento ao cliente, utilizando a tecnologia das ontologias. A área de pesquisa em ontologias é bastante abrangente sendo que sua origem vem da Filosofia, mas foi retomado na década de 80, na área de Inteligência para representar o conhecimento em domínios específicos. O Sistema de Apoio ao Suporte Técnico que foi iniciado no âmbito de pesquisa em Ontologia tem por objetivo colocar diante dos usuários uma solução mais eficaz, onde os usuários irão gastar menos tempo. Sendo que muitas vezes, pedaços importantes de informação estão espalhados em diferentes recursos de informação e o meio mais utilizado para encontrá-los é através de máquinas de busca. Mas essas máquinas retornam listas de recursos, oferecendo pouca informação sobre as relações semânticas existentes entre eles. Por conseqüência, o usuário tem de perder uma quantidade grande de tempo acessando e lendo, para então descobrir como esses recursos de informação estão relacionados e onde eles se encaixam na estrutura geral do domínio do problema. A criação deste Sistema de Apoio ao Suporte Técnico de uma Empresa de Software se identificar como um avanço tecnológico bem avançado e desenvolvido, mas para que possamos ampliar e melhorar o gerenciamento do Suporte Técnico teremos que contar com a colaboração e cooperação de todos os envolvidos nesse processo. REFERENCIAS BARBOSA, Ilma da Consolação, BRAGA, José Luis. Prospecção de Dados na Manutenção SemiAutomática de Ontologias. Programa de Pós-Graduação em Ciência da Computação, UFMGUniversidade Federal de Minas Gerais, 2003. BAX, Marcello. Tecnologia par Gestão de Informação http://www.bax.com.br/news/News_Item.2004-04-29.8261853316. e Conhecimentos. COUGO, Paulo Sérgio. O papel do helpdesk-3 no suporte técnico e operacional em ambientes corporativos. Tree Tools Informática. [Curitiba],[1999]. Disponível em: <http://www.treetools.com.br/artigos/arthd3.htm>. Acesso em 22 out 2002. DELPIZZO, Vanessa L. Francalacci. Prescrição de atividades físicas através do uso da inteligência artificial. Programa de pós-graduação em engenharia de produção. Universidade Federal de Santa Catarina. [Florianópolis], [1997]. Disponível em: <http://www.eps.ufsc.br/disserta98/delpizzo>. Acesso em: 10 jun. 2008. FERREIRA, Aurélio Buarque de Holanda, et al. Novo Aurélio século XXI: o dicionário da língua portuguesa. 3. ed. Rio de Janeiro: Nova Fronteira, 1999. HEINZLE, Roberto. Protótipo de uma Ferramenta para Criação de Sistemas Especialistas Baseados em Regras de Produção. Dissertação de Mestrado, Programa de Pós-Graduação em Engenharia de Produção, UFSC, 1995. HYVÖNEN, Eero; VALO, Arttu. Publishing Semantic Web Content as Semantically Linked HTML Pages. Helsinki Institute for Information Technology, University of Helsinki. Helsinki, Finlândia. 2004. LAWRENCE, Steve. Context in Web Search. IEEE Data Engineering Bulletin. 2000. MOTIK, Boris, MAEDCHE, Alexander e VOLZ, Raphael. A Conceptual Modeling Approach for Semantics-Driven Enterprise Applications. FZI Research Center for Information Technologies at the University of Karlsruhe. Karlsruhe, Germany, 2006. NOY, Natalya and McGUINNESS, Deborah. Ontology Development 101: A Guide to Creating Your First Ontology. Stanford University. Stanford, USA. 2002. PACHECO, Roberto Carlos dos Santos; KERN, Vinícius Medina. Uma Ontologia Comum para a Integração de Bases de Informações e Conhecimento sobre Ciência e Tecnologia. Ci. Inf., Brasília, v.30, n3, p56-63, 2001. ROSA, Paulo. Universidade Federal de São Paulo – Instituto de Matemática e Estatística, 2004. Disponível em http://www.ime.usp.br/~par/webSemantica.html. Acesso em 07.Nov. 2004. SOUZA, Flávio Joaquim. Bases de Dados e Engenharia do Conhecimento. Revista T.I. 23.Dez.1999. Rio de Janeiro/RJ.