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