sugestão de tags · testar técnicas da literatura como em (oliveira et al., 2008) e testar a...

34
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

Upload: others

Post on 13-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sugestão de Tags · 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 -

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

Page 2: Sugestão de Tags · 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 -

Roteiro

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 2 / 34

Page 3: Sugestão de Tags · 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 -

Seções

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 3 / 34

Page 4: Sugestão de Tags · 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 -

Tags

Palavras-chave usadas para organizar e descrever recursosClassificar conteúdo na Web usando tags é uma atividade comume eficienteUsuários ficam a cargo de rotular os recursos (Social taggingsystems)

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 4 / 34

Page 5: Sugestão de Tags · 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 -

Nuvem de Tags

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 5 / 34

Page 6: Sugestão de Tags · 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 -

Sugestão de Tags

Ajudar os usuários a etiquetar recursos recomendando tagsrelevantesPrincipal estratégia: tags já usadas para descrever o mesmoconteúdo ou recursos similaresNesse projeto: sugestão baseada no conteúdo textual (artigos daWikipédia)

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 6 / 34

Page 7: Sugestão de Tags · 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 -

Tags na Wikipédia - Por quê?

Classificação usada (multi-rótulo hierarquizada) é difícil de serpercorrida (muitos níveis)Distorções: Ciência da Computação -> Redes deComputadores -> Internet -> WWW -> Sites -> Wiki ->Wikipédia -> Versões da Wikipédia -> Wikipédia emGeorgiano

Organização, recuperação e visualização

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 7 / 34

Page 8: Sugestão de Tags · 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 -

Seções

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 8 / 34

Page 9: Sugestão de Tags · 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 -

Objetivo Principal

Sugerir tags relevantes para artigos daWikipédia em Português usando o texto dos

verbetes

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 9 / 34

Page 10: Sugestão de Tags · 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 -

Arquitetura do Sistema

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 10 / 34

Page 11: Sugestão de Tags · 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 -

Subseções

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 11 / 34

Page 12: Sugestão de Tags · 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 -

Dados do Corpus

Artigos nas categorias Redes de Computadores, Engenharia deSoftware e Inteligência Artificial da Wikipédia em português201 sub-categorias6098 artigos20.5MB (XML)16MB (texto)

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 12 / 34

Page 13: Sugestão de Tags · 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 -

Passos para Extração

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 13 / 34

Page 14: Sugestão de Tags · 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 -

Subseções

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 14 / 34

Page 15: Sugestão de Tags · 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 -

Preparação dos Documentos

Modelo vetorialBase de índices invertidos usando LuceneStopwordsSem stemming

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 15 / 34

Page 16: Sugestão de Tags · 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 -

Heurística de Peso de Termos

Específica para artigos WikipédiaTermos no começo dos artigos e hyperlinks para outros verbetestem peso maior. Ex: “A inteligência artificial (IA) é uma área depesquisa 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

Page 17: Sugestão de Tags · 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 -

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

Page 18: Sugestão de Tags · 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 -

Termos Separados em Campos

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 18 / 34

Page 19: Sugestão de Tags · 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 -

Peso de Termos e tf-idf

Peso de um termo tk no documento dj

wkj = f1 × tfidfk1 + ... + fn × tfidfkn =n∑

m=1

fm × tfidfkm (1)

TD-IDF de um termo tk em um determinado campo

tfidftk =tfidf

=

√freq(tk )

1 + log Nnk

(2)

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 19 / 34

Page 20: Sugestão de Tags · 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 -

Subseções

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 20 / 34

Page 21: Sugestão de Tags · 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 -

Sugestão de Tags

Para um Documento:Equação 1 - (5) Termos de maior peso são retornadosPara o corpus:Equação 3 - (30) Tags sugeridas para vários documentos sãoimportantes para o corpus como um todo

wcorpustk = (

j∈T∑wkj)× |T | (3)

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 21 / 34

Page 22: Sugestão de Tags · 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 -

Seções

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 22 / 34

Page 23: Sugestão de Tags · 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 -

Especificações

Java 6 e Lucene 2.4.030 classes, mais de 1200 linhas de códigoPerl e ParseMediaWikiDump (2 módulos) (XML->Texto)

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 23 / 34

Page 24: Sugestão de Tags · 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 -

Seções

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 24 / 34

Page 25: Sugestão de Tags · 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 -

Dados do Teste

Tarefas: Criação do índice, do dicionário de termos e exemplos detags sugeridas a 10 documentos e ao corpusTempo total: 4min:16s

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 25 / 34

Page 26: Sugestão de Tags · 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 -

Criação do índice e do dicionário

3:26 minutos para indexar os 6098 arquivos, 29 por segundoCriação do Índice Lucene totalizando 38.0MBDicioná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

Page 27: Sugestão de Tags · 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 -

Exemplos de tags sugeridas

C++Programação C Linguagem Software Código

Internet Relay ChatInternet IRC Chat protocolo redes

Rede NeuralComputação redes rede brasil função

Empresas ponto com

Internet ponto empresas submarino serviços

BitTorrentInternet BitTorrent rede linux download

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 27 / 34

Page 28: Sugestão de Tags · 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 -

Exemplos de tags sugeridas II

Padrões de requisitosEngenharia Requisitos Software Padrão padrões

Sistema de recomendaçãoComputador Programa Sistema Processo Usuário

UMLSoftware Modelagem Engenharia UML Desenvolvimento

Model Driven Architecture

Software Desenvolvimento Programação ModeloProcesso

Transmission Control ProtocolInternet Protocolo Dados Rede Redes

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 28 / 34

Page 29: Sugestão de Tags · 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 -

Tags para o corpus

Software Internet ProgramaçãoLinguagem Sistema Linux Código Computador X Livre

Rede Web Windows Dados Redes Língua Computadores ProgramaProgramas 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

Page 30: Sugestão de Tags · 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 -

Seções

1 Introdução

2 Descrição do SistemaExtração do CorpusCriação do ÍndiceExtração de Tags

3 Protótipo

4 Avaliação e Testes

5 Conclusões

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 30 / 34

Page 31: Sugestão de Tags · 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 -

Melhorias Propostas

Automatização das constantesUso de agrupamento e outras fórmulas para sugestão de tags.Ex: tags de documentos similaresComparação com documentos já classificados em sistemas comoDigg, Del.icio.us, etc.Identificação de conceitos e relações para uma ontologiaExplorar mais metadados dos artigos da Wikipédia

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 31 / 34

Page 32: Sugestão de Tags · 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 -

Concluindo...

A idéia parece boa, mas...É preciso automatizar os testes para analisar o comportamentode diferentes fórmulas,Testar técnicas da literatura como em (Oliveira et al., 2008) eTestar a aplicação com interface e usuários efetivamenteusando-a!

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 32 / 34

Page 33: Sugestão de Tags · 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 -

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 ofWeb Semantics, 5(1):5–15.

Oliveira, B., Calado, P., and Pinto, H. S. (2008). Automatic tag suggestion based on resourcecontents. In Gangemi, A. and Euzenat, J., editors, EKAW, volume 5268 of Lecture Notes inComputer Science, pages 255–264. Springer.

Wikipedia (2007). Computer help desk - parsemediawikidump — wikipedia, the freeencyclopedia. [Online, accessado em 2 de Fevereiro de 2008].

Wikipedia (2008). Tag cloud — wikipedia, the free encyclopedia. [Online; accessed10-September-2008].

Xu, Z., Fu, Y., Mao, J., and Su, D. (2006). Towards the semantic web: Collaborative tagsuggestions. 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

Page 34: Sugestão de Tags · 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 -

Dúvidas

Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 34 / 34