Recomendação de hashtags para o Twitter Aluno: Paulo Roberto Cólen Reis Orientador: Marcos Gonçalves Co-orientador: Anderson Ferreira
Twitter Criado em 2006 Rede social, microblogging Textos de até 140 caracteres (tweets) Serviço gratuito 14/set/2010: 175 milhões de usuários
Hashtags Conjunto de caracteres iniciado por “#” Utilizadas para “categorizar” um tweet Um determinado acontecimento/assunto pode ser citado utilizando diversas tags Grupos de usuários interrelacionando-se isoladamente uns dos outros
POC I Criar uma metodologia para recomendar hashtags para os usuários do Twitter, com base no que está sendo falado no momento “Convergência” das hashtags: mais pessoas falando sobre o mesmo assunto utilizando as mesmas hashtags
Objetivo do trabalho Melhorar o desempenho da metodologia desenvolvida em POC I Resultados não foram satisfatórios
Metodologia Revisão do código-fonte Novos métodos para cálculo de similaridade Tipo diferente de similaridade Parametrização diferente do LDA (α e β) Testes: 5-fold cross-validation
Base de tweets Extraída em 2009 Music Monday Michael Jackson 828591 13833801 NULL NULL <d>2007-03-27 20:21:14</d> <s>web</s> <t>Quote of the day: <Amish> Moonlit, Michael Jackson has a cool body (from irc.hak5.org #hak5)</t> LuckyPhil 40 68 232 36000 0 0 <n>Phillip Welch</n> <ud>2007-03-09 10:00:51</ud> <t>Sydney</t> <l>iPhone: -33.789539,151.125092</l> Quote of the day: <Amish> Moonlit, Michael Jackson has a cool body (from irc.hak5.org #hak5) Music Monday Michael Jackson Gripe suína 834414 110230 294172 3030 595 2367 831384 (67,4%) 109635 (8,9%) 291805 (23,7%)
Detecção de tópicos Algoritmo LDA (Latent Dirichlet Allocation) Detecção de tópicos em coleções de documentos não rotulados Probabilístico: caracteriza a construção de documentos a partir de distribuições de probabilidades Iterativo: associa inicialmente de maneira aleatória tópicos documentos/palavras e melhora a solução atual Convergência
Detecção de tópicos Processo de criação de um documento w em um corpus D: Escolher N ~ Poisson(ξ) Escolher θ ~ Dir(α) Para cada uma das N palavras wn Escolher um tópico zn ~ Multinomial(θ) Escolher uma palavra wn com p(wn|zn, β), uma probabilidade multinomial condicionada ao tópico zn
Detecção de tópicos ? Documento X Tweet X
Detecção de tópicos Distribuição de tópicos por termos Distribuição de tópicos por documentos (tweets) Documento X #hashtag
Detecção de tópicos Parâmetros: Stoplist: lista de stopwords número de tópicos número de iterações α = 50/(número de tópicos) β = 0,01 Stoplist: lista de stopwords
… … Modelagem de tópicos Modelo de tópicos: Obtido diretamente a partir da execução do LDA Distribuição de probabilidade de tópicos por token t1 t2 t3 tn tópico 1 tópico 2 tópico 3 tópico m … …
Similaridade de tópicos Para cada token, é somada sua distribuição de probabilidade sobre tópicos Normalização t1 t2 t3 ∑ tópico 1 tópico 2 tópico 3 tópico m x1 y1 z1 x2 y2 z2 x3 y3 z3 ∑xn ∑yn ∑zn … …
Similaridade de tópicos Novo cálculo de similaridade Distância euclidiana Distância cosseno h1 h2 h3 tweet tópico 1 tópico 2 tópico 3 tópico m x1 y1 z1 x2 y2 z2 x3 y3 z3 ∑xn ∑yn ∑zn ~ ~ …
Testes Validação cruzada LDA utilizando 80% da base 20% restantes utilizados para testar o treino realizado Treino Teste 20% 20% 20% 20% 20%
Testes Verificar as hashtags mais recomendadas para cada grupo de tweets (Michael Jackson, Music Monday e gripe suína) Analisar a similaridade entre hashtags recomendadas e as hashtags originais
Obrigado