SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
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
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
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
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
Nuvem de Tags




 Ícaro Medeiros (CIn - UFPE)   Sugestão de Tags   18 de Novembro de 2008   5 / 34
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
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
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
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
Arquitetura do Sistema




  Ícaro Medeiros (CIn - UFPE)   Sugestão de Tags   18 de Novembro de 2008   10 / 34
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
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
Passos para Extração




 Ícaro Medeiros (CIn - UFPE)   Sugestão de Tags   18 de Novembro de 2008   13 / 34
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
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
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
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
Termos Separados em Campos




 Ícaro Medeiros (CIn - UFPE)   Sugestão de Tags   18 de Novembro de 2008   18 / 34
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Dúvidas




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

Contenu connexe

Similaire à Tag Suggestion

CBSoft 2013 - Descrição dos Problemas (CbE)
CBSoft 2013 - Descrição dos Problemas (CbE)CBSoft 2013 - Descrição dos Problemas (CbE)
CBSoft 2013 - Descrição dos Problemas (CbE)Wildtech
 
Por que Python - PyConBrasil 2008
Por que Python - PyConBrasil 2008Por que Python - PyConBrasil 2008
Por que Python - PyConBrasil 2008Marco Mendes
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a AspectosRicardo Terra
 
Centro Brasileiro de Pesquisas Físicas
Centro Brasileiro de Pesquisas FísicasCentro Brasileiro de Pesquisas Físicas
Centro Brasileiro de Pesquisas FísicasNIT Rio
 
Lp script pug-pe
Lp script pug-peLp script pug-pe
Lp script pug-pehugoesb
 
Arquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGArquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGdjonatascostsa
 
Viagem pelas VMs do python
Viagem pelas VMs do pythonViagem pelas VMs do python
Viagem pelas VMs do pythonRodrigo Araújo
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Porque Python - FISL 9.0
Porque Python - FISL 9.0Porque Python - FISL 9.0
Porque Python - FISL 9.0Marco Mendes
 
PCF03 - 2001 Comentada
PCF03 - 2001 ComentadaPCF03 - 2001 Comentada
PCF03 - 2001 ComentadaWalter Cunha
 
Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Marco Mendes
 
Desenvolva Sistemas Embutidos com Software Livre - Carlos A. M. dos Santos e ...
Desenvolva Sistemas Embutidos com Software Livre - Carlos A. M. dos Santos e ...Desenvolva Sistemas Embutidos com Software Livre - Carlos A. M. dos Santos e ...
Desenvolva Sistemas Embutidos com Software Livre - Carlos A. M. dos Santos e ...Tchelinux
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termosValore I/O
 
Tese modelo-icmc (1)
Tese modelo-icmc (1)Tese modelo-icmc (1)
Tese modelo-icmc (1)SEED PR
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Leandro Moreira
 
Apresentacao tdc 2012
Apresentacao tdc 2012Apresentacao tdc 2012
Apresentacao tdc 2012Jorge Oleques
 

Similaire à Tag Suggestion (20)

Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 
CBSoft 2013 - Descrição dos Problemas (CbE)
CBSoft 2013 - Descrição dos Problemas (CbE)CBSoft 2013 - Descrição dos Problemas (CbE)
CBSoft 2013 - Descrição dos Problemas (CbE)
 
Por que Python - PyConBrasil 2008
Por que Python - PyConBrasil 2008Por que Python - PyConBrasil 2008
Por que Python - PyConBrasil 2008
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a Aspectos
 
Centro Brasileiro de Pesquisas Físicas
Centro Brasileiro de Pesquisas FísicasCentro Brasileiro de Pesquisas Físicas
Centro Brasileiro de Pesquisas Físicas
 
Lp script pug-pe
Lp script pug-peLp script pug-pe
Lp script pug-pe
 
Arquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGArquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMG
 
Viagem pelas VMs do python
Viagem pelas VMs do pythonViagem pelas VMs do python
Viagem pelas VMs do python
 
Linux - Um estudo de caso
Linux - Um estudo de casoLinux - Um estudo de caso
Linux - Um estudo de caso
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Porque Python - FISL 9.0
Porque Python - FISL 9.0Porque Python - FISL 9.0
Porque Python - FISL 9.0
 
PCF03 - 2001 Comentada
PCF03 - 2001 ComentadaPCF03 - 2001 Comentada
PCF03 - 2001 Comentada
 
Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011
 
dotNet framework foundation
dotNet framework foundationdotNet framework foundation
dotNet framework foundation
 
Desenvolva Sistemas Embutidos com Software Livre - Carlos A. M. dos Santos e ...
Desenvolva Sistemas Embutidos com Software Livre - Carlos A. M. dos Santos e ...Desenvolva Sistemas Embutidos com Software Livre - Carlos A. M. dos Santos e ...
Desenvolva Sistemas Embutidos com Software Livre - Carlos A. M. dos Santos e ...
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termos
 
Tese modelo-icmc (1)
Tese modelo-icmc (1)Tese modelo-icmc (1)
Tese modelo-icmc (1)
 
Curso python
Curso pythonCurso python
Curso python
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
 
Apresentacao tdc 2012
Apresentacao tdc 2012Apresentacao tdc 2012
Apresentacao tdc 2012
 

Plus de Ícaro Medeiros

Data Science and Culture
Data Science and CultureData Science and Culture
Data Science and CultureÍcaro Medeiros
 
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...Ícaro Medeiros
 
Web Semântica na Globo.com (Novas Mídias UFRJ)
Web Semântica na Globo.com (Novas Mídias UFRJ)Web Semântica na Globo.com (Novas Mídias UFRJ)
Web Semântica na Globo.com (Novas Mídias UFRJ)Ícaro Medeiros
 
Linked data at globo.com - Web of Linked Entities (WoLE 2013) - WWW 2013
Linked data at globo.com - Web of Linked Entities (WoLE 2013) - WWW 2013Linked data at globo.com - Web of Linked Entities (WoLE 2013) - WWW 2013
Linked data at globo.com - Web of Linked Entities (WoLE 2013) - WWW 2013Ícaro Medeiros
 
Engenharia de ontologias
Engenharia de ontologiasEngenharia de ontologias
Engenharia de ontologiasÍcaro Medeiros
 
Schema.org - HTML semântico - Front in Maceio 2012
Schema.org - HTML semântico - Front in Maceio 2012Schema.org - HTML semântico - Front in Maceio 2012
Schema.org - HTML semântico - Front in Maceio 2012Ícaro Medeiros
 
R2R Framework: Ontology Mapping
R2R Framework: Ontology MappingR2R Framework: Ontology Mapping
R2R Framework: Ontology MappingÍcaro Medeiros
 
SameAs Networks and Beyond: Analyzing Deployment Status and Implications of o...
SameAs Networks and Beyond: Analyzing Deployment Status and Implications of o...SameAs Networks and Beyond: Analyzing Deployment Status and Implications of o...
SameAs Networks and Beyond: Analyzing Deployment Status and Implications of o...Ícaro Medeiros
 
Tag Suggestion using Multiple Sources of Knowledge
Tag Suggestion using Multiple Sources of KnowledgeTag Suggestion using Multiple Sources of Knowledge
Tag Suggestion using Multiple Sources of KnowledgeÍcaro Medeiros
 
Expressões regulares no Linux
Expressões regulares no LinuxExpressões regulares no Linux
Expressões regulares no LinuxÍcaro Medeiros
 

Plus de Ícaro Medeiros (10)

Data Science and Culture
Data Science and CultureData Science and Culture
Data Science and Culture
 
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
 
Web Semântica na Globo.com (Novas Mídias UFRJ)
Web Semântica na Globo.com (Novas Mídias UFRJ)Web Semântica na Globo.com (Novas Mídias UFRJ)
Web Semântica na Globo.com (Novas Mídias UFRJ)
 
Linked data at globo.com - Web of Linked Entities (WoLE 2013) - WWW 2013
Linked data at globo.com - Web of Linked Entities (WoLE 2013) - WWW 2013Linked data at globo.com - Web of Linked Entities (WoLE 2013) - WWW 2013
Linked data at globo.com - Web of Linked Entities (WoLE 2013) - WWW 2013
 
Engenharia de ontologias
Engenharia de ontologiasEngenharia de ontologias
Engenharia de ontologias
 
Schema.org - HTML semântico - Front in Maceio 2012
Schema.org - HTML semântico - Front in Maceio 2012Schema.org - HTML semântico - Front in Maceio 2012
Schema.org - HTML semântico - Front in Maceio 2012
 
R2R Framework: Ontology Mapping
R2R Framework: Ontology MappingR2R Framework: Ontology Mapping
R2R Framework: Ontology Mapping
 
SameAs Networks and Beyond: Analyzing Deployment Status and Implications of o...
SameAs Networks and Beyond: Analyzing Deployment Status and Implications of o...SameAs Networks and Beyond: Analyzing Deployment Status and Implications of o...
SameAs Networks and Beyond: Analyzing Deployment Status and Implications of o...
 
Tag Suggestion using Multiple Sources of Knowledge
Tag Suggestion using Multiple Sources of KnowledgeTag Suggestion using Multiple Sources of Knowledge
Tag Suggestion using Multiple Sources of Knowledge
 
Expressões regulares no Linux
Expressões regulares no LinuxExpressões regulares no Linux
Expressões regulares no Linux
 

Tag Suggestion

  • 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
  • 34. Dúvidas Ícaro Medeiros (CIn - UFPE) Sugestão de Tags 18 de Novembro de 2008 34 / 34