26
Um Classificador Um Classificador Baysesiano Baysesiano para a Análise das para a Análise das Relações Sociais em Relações Sociais em Blogs Blogs Allan Lima – [email protected]

Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – [email protected]

Embed Size (px)

Citation preview

Page 1: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Um Classificador Um Classificador Baysesiano Baysesiano para a Análise das para a Análise das Relações Sociais em Relações Sociais em BlogsBlogs

Allan Lima – [email protected]

Page 2: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Porque analisar as relações Porque analisar as relações sociais em blogs?sociais em blogs?

Na verdade, o que ganhamos com isso?

Page 3: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Podemos descobrir...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?

◦...

Page 4: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

RoteiroRoteiroElementos de um modelo de análise social

em blogsMas como classificar um blog?

◦ Ontologias◦ Técnicas de IA

Implementando um classificador◦ Classificação baysesiana inocente◦ Arquitetura do classificador◦ Experimentos realizados

ConclusõesTrabalhos futuros

Page 5: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Elementos de um modelo de Elementos de um modelo de análise social em blogsanálise social em blogsIndexaçã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

Page 6: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Analisando...Analisando...

Quais são os blogs mais influentes de uma área?◦Como determinar o “grau de

influência”?◦Como classificar um blog?

Page 7: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Mas como classificar um Mas como classificar um blog?blog?Quais são as áreas?

◦Ontologias para defini-las!Classificar os posts de acordo

com a ontologiaUtilizando técnicas de IA

Classificação bayesiana inocente Base de regras Redes Neurais

Page 8: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

OntologiaOntologia

Vocabulário comum que permite o compartilhamento de conhecimento sobre um determinado domínio [Noy & McGuinness, 2001]

Representa◦classes◦propriedades ◦atributos◦ instâncias

Page 9: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Um exemploUm exemploDomínio

◦Mercado de consoles (jogos eletrônicos)Classes

◦Nintendo, Sony e MicrosoftPropriedades

Concorrentes, parceirasAtributos

Vendas, data de lançamentoInstâncias

◦Wii, DS, PlayStation, PSP, XBox360

Page 10: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Técnicas de classificaçãoTécnicas de classificação

Técnica Contras PrósClassificação baysesiana

Base de treinamento

PrecisãoFacilidade de implementação

Base de regras

Definição das regras

Facilidade de implementação

Redes neurais

Base de treinamentoParâmetros de entrada

Precisão

Page 11: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Classificação baysesiana Classificação baysesiana inocenteinocente Idéia básica [Manning et al, 2008]

1. Aprender quais os termos mais comuns em textos de cada classe

Necessita um conjunto de treinamento2. 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 probabilidades3. Computar a classe de um texto

somando as probabilidades de cada palavra

Page 12: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Classificação baysesiana Classificação baysesiana inocenteinocenteProbabilidade de um termo aparecer

em um documento dada uma classe:

Nos documentos da classe c◦Número de ocorrências do termo

dividido pelo número termos de todos os documentos

Vtct

ct

TTctP )|(ˆ

Page 13: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Arquitetura do Arquitetura do classificadorclassificador

Posts

Crawler

CacheLocal

Indexador

Dicionário de Termos

P(t | e)

Classificador

Ontologia

Page 14: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Aplicando a técnicaAplicando a técnicaDefiniçã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

Page 15: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Aplicando a técnicaAplicando a técnicaDados 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

Page 16: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

ResultadosResultados

Classe Posts

Acertos

Porcentagem

Nintendo

493 464 94%

Sony 489 351 72%Microsoft

494 475 96%

Total 1476

1290 87%

Page 17: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Análise dos resultadosAnálise dos resultadosÓtima tacha de acerto para as

classes Nintendo e MicrosoftPoré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

Page 18: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Análise dos resultadosAnálise dos resultadosSony x MicrosoftSony x Microsoft

◦Há uma intersecção entre as classes

Nintendo

SonyMS

“New Lost Planet 2 Multiplayer Democoming to #PlayStation Network and

Xbox Live http://bit.ly/d3RsmN”

PlayStati0nNews

Page 19: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Análise dos resultadosAnálise dos resultadosQualidade do dados indexados

◦Os posts nem sempre estão relacionados com a plataforma

“So Not Loving the Weather Right Now!”

PLAYSTATIONTEAM

Page 20: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Dificuldades encontradasDificuldades encontradasQuantidade 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

Page 21: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Dificuldades encontradasDificuldades encontradasLimitaçõ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

Page 22: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

ConclusõesConclusõesA classificação baysesiana pode obter aysesiana pode obter

bons resultados desde quebons resultados desde que◦O conjunto de treinamento seja grande e O conjunto de treinamento seja grande e

coerentecoerente◦As classes tenham uma pequena As classes tenham uma pequena

intersecçãointersecçãoPara a implementar o classificador Para a implementar o classificador

◦Muito tempo dedicado as tarefas Muito tempo dedicado as tarefas auxiliaresauxiliares

◦Muito tempo dedicado a análise e ajuste Muito tempo dedicado a análise e ajuste dos dadosdos dados

Page 23: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

ConclusõesConclusõesLegado para testeLegado 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

Page 24: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Trabalhos futurosTrabalhos futurosIntegração do classificador com o grafo

de influênciasMaior detalhamento da ontologiaConjuntos de testes mais robustosEstudos de novas técnicas de

classificaçãoAnálise em blogs e não apenas em

microblogsAvaliação de como ele pode ser aplicado

em modelo genérico de análises sociais em Blogs

Page 25: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

ReferênciasReferências[Manning et al, 2008] C. D.

Manning, P. Raghavan and H Schütze. Introduction to Information Retrieval. Hardback (ISBN-13: 9780521865715). Published: July 2008.

[Noy & McGuinness, 2001] Noy, N. F., D. L. McGuinness. Ontology Development 101: A Guide to Creating Your First Ontology.

Page 26: Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima – adsl@usp.br

Um Classificador Um Classificador Baysesiano Baysesiano para a Análise das para a Análise das Relações Sociais em Relações Sociais em BlogsBlogs

Allan Lima – [email protected]