O documento apresenta um sistema para sugerir tags relevantes para artigos da Wikipédia em português usando o texto dos verbetes. Ele descreve a extração do corpus de artigos, a criação de um índice e a extração de tags, bem como os resultados dos testes realizados, que incluíram a criação do índice em 3 minutos e 26 segundos e a sugestão de tags para 10 documentos e o corpus total. O autor também discute possíveis melhorias futuras para o sistema.
1. Sugestão de Tags
Ícaro Medeiros
CIn - UFPE
18 de Novembro de 2008
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 1 / 34
2. Roteiro
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 2 / 34
3. Seções
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 3 / 34
4. Tags
Palavras-chave usadas para organizar e descrever recursos
Classificar conteúdo na Web usando tags é uma atividade comum
e eficiente
Usuários ficam a cargo de rotular os recursos (Social tagging
systems)
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 4 / 34
5. Nuvem de Tags
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 5 / 34
6. Sugestão de Tags
Ajudar os usuários a etiquetar recursos recomendando tags
relevantes
Principal estratégia: tags já usadas para descrever o mesmo
conteúdo ou recursos similares
Nesse projeto: sugestão baseada no conteúdo textual (artigos da
Wikipédia)
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 6 / 34
7. Tags na Wikipédia - Por quê?
Classificação usada (multi-rótulo hierarquizada) é difícil de ser
percorrida (muitos níveis)
Distorções: Ciência da Computação -> Redes de
Computadores -> Internet -> WWW -> Sites -> Wiki ->
Wikipédia -> Versões da Wikipédia -> Wikipédia em
Georgiano
Organização, recuperação e visualização
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 7 / 34
8. Seções
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 8 / 34
9. Objetivo Principal
Sugerir tags relevantes para artigos da
Wikipédia em Português usando o texto dos
verbetes
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 9 / 34
10. Arquitetura do Sistema
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 10 / 34
11. Subseções
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 11 / 34
12. Dados do Corpus
Artigos nas categorias Redes de Computadores, Engenharia de
Software e Inteligência Artificial da Wikipédia em português
201 sub-categorias
6098 artigos
20.5MB (XML)
16MB (texto)
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 12 / 34
13. Passos para Extração
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 13 / 34
14. Subseções
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 14 / 34
15. Preparação dos Documentos
Modelo vetorial
Base de índices invertidos usando Lucene
Stopwords
Sem stemming
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 15 / 34
16. Heurística de Peso de Termos
Específica para artigos Wikipédia
Termos no começo dos artigos e hyperlinks para outros verbetes
tem peso maior. Ex: “A inteligência artificial (IA) é uma área de
pesquisa da ciência da computação...”
Diferente campos têm fatores de importância associados
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 16 / 34
17. Fatores de Importância
Começo da página (50 primeiros termos):
Não é hyperlink (f1 );
É hyperlink e a Wiki para o qual ele aponta existe (f2 );
É hyperlink, mas a Wiki para o qual ele aponta não existe (f3 ).
Restante do documento:
Não é hyperlink (f4 );
É hyperlink e a Wiki para o qual ele aponta existe (f5 );
É hyperlink, mas a Wiki para o qual ele aponta não existe (f6 ).
Valores usados: {4, 8, 5, 1, 3, 2}
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 17 / 34
18. Termos Separados em Campos
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 18 / 34
19. Peso de Termos e tf-idf
Peso de um termo tk no documento dj
n
wkj = f1 × tfidfk 1 + ... + fn × tfidfkn = fm × tfidfkm (1)
m=1
TD-IDF de um termo tk em um determinado campo
freq(tk )
tf
tfidftk = (2)
= N
idf 1 + log nk
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 19 / 34
20. Subseções
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 20 / 34
21. Sugestão de Tags
Para um Documento:
Equação 1 - (5) Termos de maior peso são retornados
Para o corpus:
Equação 3 - (30) Tags sugeridas para vários documentos são
importantes para o corpus como um todo
j∈T
wkj ) × |T |
wcorpustk = ( (3)
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 21 / 34
22. Seções
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 22 / 34
23. Especificações
Java 6 e Lucene 2.4.0
30 classes, mais de 1200 linhas de código
Perl e ParseMediaWikiDump (2 módulos) (XML->Texto)
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 23 / 34
24. Seções
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 24 / 34
25. Dados do Teste
Tarefas: Criação do índice, do dicionário de termos e exemplos de
tags sugeridas a 10 documentos e ao corpus
Tempo total: 4min:16s
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 25 / 34
26. Criação do índice e do dicionário
3:26 minutos para indexar os 6098 arquivos, 29 por segundo
Criação do Índice Lucene totalizando 38.0MB
Dicionário de termos (68209) com cálculo de IDF (27s)
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 26 / 34
27. Exemplos de tags sugeridas
C++
Programação C Linguagem Software Código
Internet Relay Chat
Internet IRC Chat protocolo redes
Rede Neural
Computação redes rede brasil função
Empresas ponto com
Internet ponto empresas submarino serviços
BitTorrent
Internet BitTorrent rede linux download
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 27 / 34
28. Exemplos de tags sugeridas II
Padrões de requisitos
Engenharia Requisitos Software Padrão padrões
Sistema de recomendação
Computador Programa Sistema Processo Usuário
UML
Software Modelagem Engenharia UML Desenvolvimento
Model Driven Architecture
Software Desenvolvimento Programação Modelo
Processo
Transmission Control Protocol
Internet Protocolo Dados Rede Redes
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 28 / 34
29. Tags para o corpus
Software Internet Programação
Linguagem Sistema Linux Código Computador X Livre
Rede Web Windows Dados Redes Língua Computadores Programa
Programas Linguagens Domínio Site Brasil Topo C GNU Sistemas
Google Microsoft Inglês
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 29 / 34
30. Seções
Introdução
1
Descrição do Sistema
2
Extração do Corpus
Criação do Índice
Extração de Tags
Protótipo
3
Avaliação e Testes
4
Conclusões
5
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 30 / 34
31. Melhorias Propostas
Automatização das constantes
Uso de agrupamento e outras fórmulas para sugestão de tags.
Ex: tags de documentos similares
Comparação com documentos já classificados em sistemas como
Digg, Del.icio.us, etc.
Identificação de conceitos e relações para uma ontologia
Explorar mais metadados dos artigos da Wikipédia
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 31 / 34
32. Concluindo...
A idéia parece boa, mas...
É preciso automatizar os testes para analisar o comportamento
de diferentes fórmulas,
Testar técnicas da literatura como em (Oliveira et al., 2008) e
Testar a aplicação com interface e usuários efetivamente
usando-a!
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 32 / 34
33. Referências
Baeza-Yates, R. and Ribeiro-Neto, B. (1999). Modern Information Retrieval. Addison Wesley.
Calefato, F., Gendarmi, D., and Lanubile, F. (2007). Towards social semantic suggestive tagging.
In Proc. of Semantic Web Applications And Perspectives (Swap 2007).
Mika, P. (2007). Ontologies are us: A unified model of social networks and semantics. Journal of
Web Semantics, 5(1):5–15.
Oliveira, B., Calado, P., and Pinto, H. S. (2008). Automatic tag suggestion based on resource
contents. In Gangemi, A. and Euzenat, J., editors, EKAW, volume 5268 of Lecture Notes in
Computer Science, pages 255–264. Springer.
Wikipedia (2007). Computer help desk - parsemediawikidump — wikipedia, the free
encyclopedia. [Online, accessado em 2 de Fevereiro de 2008].
Wikipedia (2008). Tag cloud — wikipedia, the free encyclopedia. [Online; accessed
10-September-2008].
Xu, Z., Fu, Y., Mao, J., and Su, D. (2006). Towards the semantic web: Collaborative tag
suggestions. In WWW2006: Proceedings of the Collaborative Web Tagging Workshop,
Edinburgh, Scotland.
Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 33 / 34