Gerenciamento do Vocabulário de Tags do Usuário em
Transcrição
Gerenciamento do Vocabulário de Tags do Usuário em
Gerenciamento do Vocabulário de Tags do Usuário em Sistemas Baseados em Folksonomia José Valderlei da Silva Sérgio Roberto P. da Silva Mestrado em Ciência da Computação - Departamento de Informática - Universidade Estadual de Maringá (UEM) Início: Julho, 2007 - Conclusão: Março, 2009 RESUMO A diversidade de sistemas baseados em folksonomia, cada um com objetos de categorizações diferentes, leva o usuário a manter contas em vários sistemas e, por conseqüência, a criar um vocabulário de tags diferente em cada sistema. A centralização das tags do usuário poderá facilitar a recuperação de recursos categorizados em diversos sistemas baseados em folksonomia, a manutenção do controle em categorizações de objetos diferentes que pertençam ao mesmo contexto como: fotos de um evento, artigos publicados neste evento e blogs que referenciam o evento, utilizando assim tags iguais ou similares. Neste artigo, abordamos as necessidades de gerenciamento do vocabulário de tags do usuário para sistemas baseados em folksonomia, propondo uma arquitetura que dará suporte a este gerenciamento. ABSTRACT The diversity of folksonomy-based systems, each one with objects of different categorizations, makes the user to maintain accounts in several systems, and, consequently, to create this he starts to have a tags vocabulary in each system. The centralization of the user's tags can help him/it in recovering resources classified in several systems based in folksonomy, to maintain control in categorizations of different objects and that belong to the same context as: pictures of an event, goods published in this event and blogs that write about the event, using like this tags same or similar. In this article we approached the needs of administration of the user's tags (vocabulary) for folksonomy-based systems, proposing an architecture that will give support to the administration. Categories and Subject Descriptors: H.3.3 [Information Systems]: Information Search and Retrieval. General Terms: Management, Standardization. Keywords: Folksonomy, tags, manager. 1. INTRODUÇÃO Os sistemas, baseados em folksonomia, permitem que os usuários realizem a categorização de recursos na Web como forma de organização para a recuperação futura e compartilhem esses recursos já organizados com outros usuários que utilizam o sistema por meio das tags associadas a eles. A categorização feita pelos usuários, também denominada de tagging, tem início com o objetivo do usuário em guardar uma referência a um recurso (objeto), organizando a informação, quer seja de recursos que já estão disponíveis na web ou de outros que o usuário disponibilize on-line. Para isso, ele escolhe uma ou mais palavras, que serão utilizadas como tags, que manterão referência ao objeto que está sendo marcado. Portanto, a tag é o elemento que faz a ligação entre o usuário e o objeto. A técnica de tagging foi aplicada em diversos domínios no ambiente Web como, por exemplo, no Delicious (http://del.icio.us) que tem como objeto os bookmarks do usuário; no Flickr (http://flicker.com) que permite a categorização de fotos; e no Youtube (http://youtube.com) que permite o compartilhamento de vídeos. Esses são exemplos de sistemas utilizam tags (parte do vocabulário do usuário) que indexam os recursos de interesse do usuário e permitem que estes recursos sejam compartilhados com outros usuários. O fato de que cada sistema baseado em tagging permite a organização de um único objeto faz com que os usuários precisem manter contas em vários sistemas e, assim, criem e mantenham vocabulários de tags em cada um deles. Isso o leva a ter o seu vocabulário de tags utilizadas para a categorização dispersa em vários sistemas, não sendo fácil reutilizá-lo. Essa limitação contribui para problemas relacionados à falta de padronização do vocabulário do próprio usuário (sinonímia e ambigüidade) e dificulta a manutenção de um vocabulário estruturado e organizado. Além disso, com o vocabulário de um usuário disperso em diversos sistemas baseados em tagging traz vários problemas como, por exemplo, a reutilização de termos em novas categorizações e a dificuldade de recuperar toda a informação conhecida sobre um determinado assunto. Deste modo, visando a resolver estes problemas, propomos um sistema para o gerenciamento das tags utilizadas pelos usuários de sistemas baseados em tagging. Com um gerenciador de tags, podemos auxiliar o usuário na resolução dos problemas citados além de contribuirmos com reestruturação de suas tags provenientes dos diferentes sistemas baseados em tagging. Essa reestruturação melhora a personomia1 do usuário nos sistemas dos quais ele faz parte e, conseqüentemente, deve melhorar também a folksonomia formada pela fusão das personomias de todos os usuários que fazem parte desses sistemas compartilhando tags e recursos. Além disso, com um gerenciador de tags podemos controlar o ciclo de vida de um termo utilizado como tag, observando a freqüência de sua utilização para recuperação de informação e seu uso em novos taggings. Este trabalho apresenta uma arquitetura para o gerenciamento do vocabulário do usuário em sistemas de tagging. O gerenciador proposto centraliza e gerencia as tags de diversos sistemas baseados em tagging em um único repositório. Na definição da estrutura do gerenciador, alguns atributos devem ser anexados ao elemento tag que permitirá o gerenciamento individual da tag, com o objetivo de auxiliar o usuário em novas categorizações e, também, na recuperação de informações advindas de diversos sistemas baseados em taggings que o gerenciador de tags ofereça suporte. 1 Personomia: classificação feita pela pessoa (usuário). ‘ 201 Este artigo está estruturado da seguinte forma: inicialmente, apresentamos uma visão sobre folksonomias e o uso de tags para categorização. Em seguida, abordamos à importância de um gerenciador de tags. No tópico seguinte, apresentamos o modelo arquitetural para o gerenciador de tags. Finalizamos com considerações finais e trabalhos futuros. 2. TAGS E SISTEMAS BASEADOS EM FOLKSONOMIA O termo folksonomia (folksonomy) foi definido por Tomas Vander Wall, em 2004, a partir da junção de folk + taxonomy [1]. O três pivôs da folksonomia são: o usuário (tagger), o objeto e a tag. Uma folksonomia tem seu alicerce centrado na tag, que é o elemento de classificação para o objeto, dessa forma, uma atenção especial deve ser direcionada ao uso de termos (tags) em uma categorização. 2.1 Folksonomia Uma folksonomia é uma taxonomia livre criada e gerenciada pelas pessoas e é uma importante iniciativa na estruturação e na organização da informação na Web [2]. Usando o conceito de folksonomia, o sistema Delicious foi estruturado para organizar os bookmarks individuais de um usuário, permitindo o compartilhamento desses bookmarks com outros usuários. O sistema Delicious, destaca-se como um dos grandes sistemas que tiram proveito da categorização livre. O vocabulário sem controle é um dos pontos conflitantes da folksonomia [3]. Em cada personomia, as pessoas são estimuladas a utilizar qualquer termo para categorizar seus recursos. Essas personomias livres, que virão a formar as folksonomias de cada sistema de tagging, podem ser vantajosas e desvantajosas ao mesmo tempo. Dentre as vantagens podemos citar: que o usuário mantenha suas particularidades e por meio delas podem ser feitas descobertas felizes (serendipismo). Como desvantagens têm-se: os erros ortográficos cometidos na escrita das tags, no momento da categorização, o uso das palavras no singular e plural para classificar de objetos similares (ex. book, books), além da ambigüidade pela falta de controle do contexto, no momento de uma busca. A Figura 1 mostra a estrutura de uma categorização (tagging) com os elementos fundamentais (pivôs) que a compõe com seus relacionamentos: o usuário (tagger), os termos (tags) e um recurso (Object). Figura 1 - Elementos da folksonomia Ao considerar a Figura 1, com os elementos, Tagger, Tag e Object, as seguintes intersecções acontecem: i) A recuperação de informação é feita por indivíduos com interesse em um objeto, por meio de uma tag. Essa recuperação depende apenas da tag e está indicada na intersecção 1 (Tag, Object). ii) Um Tagger (Usuário) possui um conjunto de tags, que representa seu vocabulário utilizado em um sistema baseado em folksonomia. Conhecer quais são essas tags e seus relacionamentos está representado na interseção 2 (Tagger, Tag). Iii) Um Tagger possui interesse nos objetos já categorizados e em objetos novos para serem categorizados. Isso está representado na interseção 3 (Tagger, Object). iv) Uma categorização realizada em uma personomia está representada na intersecção 4 (Tagger, Tag, Object). A relação tagger e tag, na intersecção 2, faz parte de todo sistema baseado em folksonomia e, neste ponto, reside nosso interesse. 2.2 Tags e o vocabulário do usuário em uma folksonomia As tags são úteis para o usuário, elas organizam os recursos e facilitam sua recuperação. Essas tags podem ser úteis para outras pessoas que utilizam o mesmo sistema baseado em folksonomia e que utilizem um vocabulário semelhante na busca de informações. O uso das tags tem caráter individual (organização pessoal) ou coletivo (compartilhamento). Considerando essas duas características, e que nelas exista a dependência do coletivo sobre o individual, as classificações individuais são compartilhadas e passam a fazer parte do coletivo. Deste modo, os cuidados dispensados no momento da criação de um tagging podem favorecer na estruturação do vocabulário individual utilizado para categorizar e afetará o coletivo na recuperação de informação nos sistemas baseados em folksonomia. A organização de objetos de interesse, utilizando tags forma uma rede com propriedades de pequenos mundos [4]. São as tags que permitem que as folksonomias existam na superfície, visível e útil aos usuários. As tags utilizadas numa personomia refletem o vocabulário do usuário, o conhecimento do indivíduo sobre os objetos, e o modo como os conceitos são relacionados em um domínio, o que pode ser útil para a comunidade de uma forma geral [5]. As tags estão se tornando uma nova camada de infra-estrutura na web [6]. O usuário possui um conjunto de tags associadas a recursos de seu interesse que se encontram armazenados em sistemas diferentes em vários servidores conectados a Internet. O problema enfrentado pelo usuário é a formação da camada de tags em cada sistema individualmente, em razão de ter de manter um vocabulário distinto em cada sistema de interesse e em cada um deles utilizar seu vocabulário para categorizar. Para que uma camada de tags faça sentido deve estar sobre todos os sistemas baseados em folksonomia, possibilitando que usuário recupere seus recursos organizados e armazenados (dispersos) nos diversos sistemas (servidores) e que utilizem as tags sempre que forem necessárias. É preciso a criação de um mecanismo que gerencie a camada de tags. Esse gerenciamento deve ser feito para cada indivíduo, sobre as personomias, existentes nos diversos sistemas. Esse seria o trabalho de um gerenciador de tags que, além da centralização, facilitará a recuperação simultânea das informações nos diversos sistemas baseados em folksonomia. A proposta de KIM at al [7] é a criação de um vocabulário denominado de SCOT (Social Semantic Cloud of Tags) com o objetivo de representar o contexto de tags em ambientes sociais, provendo métodos para compartilhar e reutilizar recursos categorizados. A idéia consiste em trazer os taggings de diversos sistemas baseados em folksonomia para um único local, tornandoos públicos e exportando-os quando necessário. Já o sistema MyTag (http://mytag.uni-koblenz.de) faz busca nos sistemas Delicous, Flickr e Youtube, considerando todos os ‘ 202 tagging nos sistemas citados e também usa a personalização da busca, com base nas tags do usuário desses sistemas [8]. O que pretendemos, com nosso trabalho, é gerenciar o vocabulário utilizado para categorizar recursos, ou seja, gerenciar as tags do usuário. O gerenciador de tags preocupa-se com as personomias dentro das folksonomias, com o intuito de ajudar o usuário no gerenciamento de seu vocabulário utilizado como tags. Ele agrupará as tags de diversas personomias, ajudando a evitar ambigüidade, o uso de sinônimos e erros de ortografia nos termos. 3. O GERENCIAMENTO DE TAGS Como mencionado anteriormente, um sistema gerenciador de tags pode ajudar o usuário na utilização do seu vocabulário, quando ele participa de diversos sistemas baseados em folksonomia. Essa ajuda será transparente para o usuário, auxiliando na organização da informação no diversos sistemas que ele participa. Os requisitos não funcionais para o software de gerenciamento de tags devem atender as necessidades de: i) Segurança: O sistema de gerenciamento manterá cópia dos dados necessários para o gerenciamento do vocabulário sem prejuízo ao usuário e aos sistemas baseados em folksonomia. ii) Desempenho: O tráfego de dados na Internet é um fator crítico que afetará o gerenciador de tags em novas categorizações, visto que todo seu vocabulário deverá estar presente no local em que essa categorização ocorrerá. Para minimizar esse problema o formato a ser adotado é o JSON (http://json.com). iii) Facilidade de uso: O sistema deverá manter formas simples de interação que minimizem custo no seu uso na Web. Outra forma de acesso rápido seria a implementação de plugin para browser com cópia dos dados do usuário e que satisfaça os requisitos funcionais nele. 4.1 Casos de uso A visão de caso de uso, apresentada na Figura 3, descreve o comportamento do sistema e como ele deve ser visto pelos usuários finais, analistas (análise, implementação e testes) [9]. Os seguintes casos de uso foram identificados para o gerenciador de tags: cadastrar login, identificar usuário, cadastrar sistemas, sincronizar tags e sugerir tags. Figura 2 - Mapa conceitual para o gerenciamento de tags O sistema de gerenciamento de tags, representado no mapa conceitual da Figura 2, tem como meta principal gerenciar as tags de um usuário que possui contas em diversos sistemas baseados em folksonomia e, dessa forma, auxiliá-lo na recuperação de informações e efetuar novos taggings em qualquer sistema baseado em folksonomia. No mapa conceitual, mostramos que gerenciar tag implica em estar atento ao vocabulário utilizado pelo usuário, pois as tags utilizadas devem fazer parte do seu vocabulário em uso nos sistemas web. O gerenciamento de tags implica em gerenciar o vocabulário do usuário utilizado na recuperação de informação e o uso desse vocabulário em novas categorizações. Esse gerenciamento será feito no processo de recuperação de informações e na categorização de novos objetos, no qual o gerenciador fará o trabalho apoiado pelas estatísticas de uso das tags por parte do usuário do gerenciador. 4. MODELO PARA O GERENCIADOR DE TAGS Considerando que o usuário detém diferentes vocabulários em diversos sistemas baseados em folksonomia e que agrupando essas tags podemos auxiliá-lo no uso destes vocabulários, propomos um gerenciador de tags que permita a centralização desses vocabulários e colabore para sua manutenção. Na seqüência expomos alguns dos principais requisitos nãofuncionais para o gerenciador e demonstramos alguns requisitos funcionais modelados por meio de casos de uso. Figura 3 - Caso de uso para o gerenciamento de tags O usuário deve fazer um cadastro e informar quais sistemas baseados em folksonomia ele utiliza (esses sistemas devem estar homologados). A homologação de um sistema hospedeiro de tagging, junto ao gerenciador de tags, dependerá da forma como ele disponibiliza seus dados – essa forma de disponibilização é discutida por GRUBBER [10]. As manipulações do tagging junto ao sistema são limitadas ao grau de acesso concedido ao usuário. A homologação dependerá dos mecanismos de acesso a dados disponibilizados pelo sistema baseado em folksonomia, podendo ser utilizado o padrão JSON, extração direta na página web ou por uma API (Application Programming Interface). A sincronização das tags (vocabulários utilizados dispersos) com o repositório no gerenciador de tags acontece pela necessidade (quando houver inserção de novas categorizações) ou pela solicitação do usuário (solicitação explícita do usuário). O gerenciador de tags (Figura 4) foi dividido nas camadas de dados, que são responsáveis por manter as tags e dados estatísticos sobre as mesmas que nos permita de gerenciá-las. A camada de persistência é responsável por acessar essa base de dados, gravando e recuperando o vocabulário utilizado e seus ‘ 203 relacionamentos quando necessário. A camada de gerenciamento fará o trabalho de tratamento de dados para o usuário, exercendo, como o próprio nome diz: a função de gerenciar essas tags. A camada de interação receberá as requisições do usuário e repassará para o gerenciamento para resolver. Por fim, a camada de interação do usuário pode ser feita de duas formas, uma via browser, acessando o gerenciador de tags e a outra por meio de um plugin no browser do usuário que permitirá seu gerenciamento sem o acesso ao sistema, dando ao usuário liberdade de trabalho. estará junto ao usuário no momento que for utilizado. Dessa forma, o usuário poderá utilizar os termos de seu vocabulário em novas categorizações, mantendo consistência entre objetos categorizados em diferentes sistemas baseados em folksonomia. O gerenciamento de tags contribuirá para uma folksonomia mais eficiente em razão do vocabulário de cada usuário estar mais consistente. Esse gerenciamento poderá ser feito em uma central de tags que proporcione aos usuários transparência em seu uso. Para futuros trabalhos pretendemos integrar o gerenciador de tags com um sistema que trate os principais erros na ortografia e no uso de caracteres especiais, como separadores de palavras distintas como, por exemplo, web-semantic ou web_semantic, bem como, o uso de iniciais maiúsculas como webSemantic. Também o uso de singular e plural e outros tipos de inconsistências no uso de termos. A integração do gerenciador de tags com sistema que permita a categorização de autoridades, proposta por Pereira [2], deverá melhorar o vocabulário do usuário, baseados no vocabulário de suas autoridades e também o sistema que permitam a categorização de autoridades ganhará com vocabulários mais consistentes. 6. REFERÊNCIAS [1] WALL, T. V. (02 de 02 de 2007). Folksonomy. Acesso em 30 de 03 de 2008, disponível em Thomas Vander Wal's, vanderwal.net: http://www.vanderwal.net/folksonomy.html Figura 4 - Diagrama arquitetura do gerenciador de tags Em razão do gerenciador de tags trabalhar do individual (personomias) para o coletivo (folksonomias), o sistema pode ser considerado como de macro inteligência por depender do agrupamento do vocabulário do usuário. Deste modo, os princípios propostos por Johnson [12] deverão estar presentes na definição da estrutura de dados que permitirá caracterizar uma tag. Assim sendo, a estrutura do elemento tag deverá ser simples, independente e capaz de um autogerenciamento evolutivo (amadurecimento), de percepções, relacionamentos e interações com outras tags, usuário e sistemas. Para isso, na estrutura que compõe a tag será necessário manter: i) a data de uso inicial; ii) um registro que contabilize a quantidade de vezes que a tag foi utilizada na recuperação de informação; e iii) a quantidade de vezes que ela foi utilizada em novas categorizações. Portanto, para uma tag, deve ser mantido um histórico coletivo (folksonomias) e pessoal (personomias), que será utilizado como parâmetro para cálculos estatísticos pelo gerenciador de tags. 5. CONSIDERAÇÕES FINAIS A arquitetura proposta para o gerenciamento ajudará na codificação e funcionamento do gerenciador de vocabulários usado para categorizar e recuperar informação para o usuário nos diversos sistemas baseados em folksonomia. O Gerenciador agrupará as tags do usuário, permitindo, a partir daí, o controle no uso do vocabulário utilizado para categorizar e para recuperar informações nos sistema baseado em folksonomia. Assim, podemos também identificar o vocabulário utilizado para localização de informações em diversos sistemas de buscas como, por exemplo, Google e Yahoo, entre outros, e, assim, fazer ugestões melhores. O vocabulário utilizado para categorização [2] PEREIRA, R., & SILVA, S. R. (2008). The Use of Cognitive Authority for Information Retrieval in Folksonomy.XIII Brazilian Symposium on Multimedia and the Web: WTDWeb. Brasil. 2007. [3] STURTZ, David N. Communal Categorization: The Folksonomy. INFO622: Content Representation. 2004. [4] SHEN, K., & WU, L. (2005). Folksonomy as a Complex Network. Fudan University. ; Shangai; China: Departament of Computer Science. [5] STURTZ, D. N. (2004). Communal Categorization: The Folksonomy.INFO622: Content Representation. 2004. [6] Weinberger, D. (2005, February). Taxonomies to tags: From trees to piles of leaves. Release 1.0, 23, no. 2, 1-33 [7] KIM, Hak-Lae, et al. (2008)The State of the Art in Tag Ontologies: A Semantic Model for Tagging and Folksonomies, In Proceedings of the International Conference on Dublin Core and Metadata Applications, Berlin, Germany, 2008. [8]BRAUN, M., et al. (2008). Personalized Search and Exploration with MyTag. International World Wide Web Conference, Proceeding of the 17th international conference on World Wide Web , pp. 1031-1032. [9] BOOK, G., RUMBAUCH, J., & JACOBSON, I. (2005). UML: Guia do Usuário. (F. F. da Silva, & C. d. Machado, Trads.) Rio de Janeiro, RJ, BR: Campus. [10] GRUBBER, T. (2007). TagCommons Blog. Acesso em 20 de 04 de 2008, disponível em Tagcommons: http://tagcommons.org/ [11] Wikipedia_mashup. (n.d.). Mashup(web application hybrid). Retrieved 01 28, 2008, from Wikipedia, the free encyclopedia: http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid) [12] JOHNSON, Steven (2003). Emergência - A dinâmica de redes em formigas, cérebros, cidades e software.Rio de Janeiro, RJ: Jorge Zahar Ltda, 2003. ‘ 204