Allan Lima – [email protected] Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Porque analisar as relações sociais em blogs? Na verdade, o que ganhamos com isso? Podemos descobrir... ◦ Se estão falando mal de um produto ◦ Como um governo é avaliado na internet ◦ Quais são os blogs mais influentes sobre um assunto específico? ◦ Quais são os blogs que poderiam se tornar parceiros? ◦ ... Roteiro Elementos de um modelo de análise social em blogs Mas como classificar um blog? ◦ Ontologias ◦ Técnicas de IA Implementando um classificador ◦ Classificação baysesiana inocente ◦ Arquitetura do classificador ◦ Experimentos realizados Conclusões Trabalhos futuros Elementos de um modelo de análise social em blogs Indexação de acordo com o problema ◦ Crawlers personalizados Grafos com a semântica dos nós e arestas representando relacionamentos sociais Classificação de dados ◦ Ontologias sobre o domínio do problema ◦ Técnicas de classificação Análise dos dados ◦ Algoritmos de busca em grafos ◦ Agentes Autônomos Analisando... Quais são os blogs mais influentes de uma área? ◦ Como determinar o “grau de influência”? ◦ Como classificar um blog? Mas como classificar um blog? Quais são as áreas? ◦ Ontologias para defini-las! Classificar os posts de acordo com a ontologia Utilizando técnicas de IA Classificação bayesiana inocente Base de regras Redes Neurais Ontologia Vocabulário comum que permite o compartilhamento de conhecimento sobre um determinado domínio [Noy & McGuinness, 2001] Representa ◦ ◦ ◦ ◦ classes propriedades atributos instâncias Um exemplo Domínio ◦ Mercado de consoles (jogos eletrônicos) Classes ◦ Nintendo, Sony e Microsoft Propriedades Concorrentes, parceiras Atributos Vendas, data de lançamento Instâncias ◦ Wii, DS, PlayStation, PSP, XBox360 Técnicas de classificação Técnica Contras Classificação baysesiana Base de treinamento Base de regras Definição das regras Redes neurais Base de treinamento Parâmetros de entrada Prós Precisão Facilidade de implementação Facilidade de implementação Precisão Classificação baysesiana inocente Idéia básica [Manning et al, 2008] 1. Aprender quais os termos mais comuns em textos de cada classe Necessita um conjunto de treinamento 2. Criar um dicionário de probabilidades Dado um termo qual a chance dele aparecer em um texto de cada uma das classes? Termo matriz de probabilidades 3. Computar a classe de um texto somando as probabilidades de cada palavra Classificação baysesiana inocente Probabilidade de um termo aparecer em um documento dada uma classe: Tct ˆ P(t | c) Tct tV Nos documentos da classe c ◦ Número de ocorrências do termo dividido pelo número termos de todos os documentos Arquitetura do classificador Posts Crawler Cache Local Indexador Ontologia Dicionário de Termos P(t | e) Classificador Aplicando a técnica Definição do Experimento ◦ Foco na área de games Ontologia (classes) Nintendo, Sony, Microsoft ◦ Blogs do Twitter Menos dados para tratar, facilidade na indexação Tudo cabe na memória! Maior dificuldade na classificação Quanto menos palavras mais difícil de se classificar um post Aplicando a técnica Dados indexados pelo Crawler ◦ 15 blogs, 5 blogs de cada classe ◦ Aproximadamente 200 posts indexados de cada blog ◦ 3000 posts aproximadamente Conjunto de Treinamento ◦ 100 posts indexados de cada blog ◦ 1500 posts aproximadamente Conjunto de Testes ◦ 100 posts indexados de cada um ◦ 1500 posts aproximadamente Resultados Classe Posts Acerto Porcentagem s Nintendo 493 464 94% Sony 489 351 72% Microsoft 494 475 96% Total 1476 1290 87% Análise dos resultados Ótima tacha de acerto para as classes Nintendo e Microsoft Porém, uma tacha muito abaixo da média para classe Sony ◦ Dificuldade de diferenciação entre Sony e Microsoft ◦ Qualidade dods dados indexados Os posts nem sempre estão relacionados com a plataforma Análise dos resultados Sony x Microsoft ◦ Há uma intersecção entre as classes PlayStati0nNews “New Lost Planet 2 Multiplayer Demo coming to #PlayStation Network and Xbox Live http://bit.ly/d3RsmN” Nintendo MS Sony Análise dos resultados Qualidade do dados indexados ◦ Os posts nem sempre estão relacionados com a plataforma PLAYSTATIONTEAM “So Not Loving the Weather Right Now!” Dificuldades encontradas Quantidade de dados ◦ 3000 posts com aproximadamente 500kb de texto ◦ Muito pouco quando comparado com as bases atuais [Manning et al, 2008] Reuters Corpus Volume 1 (RCV1) Mais de 800 mill documentos U.S. National Institute of Standards and Technology (NIST) Mais de 25 milhões de documentos Dificuldades encontradas Limitações da API do Twitter ◦ No máximo os 200 posts mais recentes podem ser extraídos Falta de experiência do uso de técnicas de recuperação de informação Falta de tempo para classificar manualmente o conjunto de testes Conclusões A classificação baysesiana pode obter bons resultados desde que ◦ O conjunto de treinamento seja grande e coerente ◦ As classes tenham uma pequena intersecção Para a implementar o classificador ◦ Muito tempo dedicado as tarefas auxiliares ◦ Muito tempo dedicado a análise e ajuste dos dados Conclusões Legado para teste ◦ Teórico Primeiro passo da criação de um modelo de análise dos relacionamentos sociais ◦ Prático (implementado) Crawler para o Twitter Indexador de dados com diversos conceitos de Recuperação de Informação Tokenização, normalização, stopwords, etc. Classificador bayesiano genérico Trabalhos futuros Integração do classificador com o grafo de influências Maior detalhamento da ontologia Conjuntos de testes mais robustos Estudos de novas técnicas de classificação Análise em blogs e não apenas em microblogs Avaliação de como ele pode ser aplicado em modelo genérico de análises sociais em Blogs Referências [Manning et al, 2008] C. D. Manning, P. Raghavan and H Schütze. Introduction to Information Retrieval. Hardback (ISBN13: 9780521865715). Published: July 2008. [Noy & McGuinness, 2001] Noy, N. F., D. L. McGuinness. Ontology Development 101: A Guide to Creating Your First Ontology. Allan Lima – [email protected] Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs