Agendacross.dc.uel.br/erbd2016/wp-content/uploads/2016/04/MineracaoOpin... · ¨ A polaridade de um...
Transcript of Agendacross.dc.uel.br/erbd2016/wp-content/uploads/2016/04/MineracaoOpin... · ¨ A polaridade de um...
13/04/16
1
MINERAÇÃO DE OPINIÕES
Karin Becker Instituto de Informática – UFRGS [email protected]
1
Agenda
¨ Parte I ¤ Contexto e Motivação ¤ Fundamentação teórica ¤ Expressão de Opiniões ¤ Recursos Básicos de Processamento de Linguagem Natural
¨ Parte II ¤ Etapas da Mineração de Opiniões ¤ Classificação da Polaridade das Opiniões
¨ Parte III ¤ Estudo de Caso ¤ Mineração de Opiniões e Fontes de Dados ¤ Conclusões
2
Agenda
¨ Parte I ¤ Contexto e Motivação ¤ Fundamentação teórica ¤ Expressão de Opiniões ¤ Recursos Básicos de Processamento de Linguagem
Natural
3
Introdução 4
Introdução
¨ Nosso comportamento é influenciado por opiniões ¤ Opinião de amigos ou família
n Gostaste do último Star Wars? n Estou pensando em comprar um carro … qual tua
experiência com o teu?
¤ Opinião de Especialistas n “personal” <qualquer coisa> n Colunas, críticas n Revistas especializadas
n Proteste, 4 Rodas
5
Introdução
¨ Organizações decidem com base em opiniões que refletem seu público alvo ¤ Pesquisas ¤ Estudos ¤ Consultorias ¤ Publicações especializadas
6
13/04/16
2
Introdução
¨ Métodos de coleta e análise ¤ Pesquisa de campo ¤ Grupo de foco ¤ Questionários, telefonemas
¨ Opinião a ¤ Alto custo ¤ Baixo retorno ¤ Amostragem ¤ Alta latência
7
Introdução
¨ Web 2.0 ¤ Mudamos nossa maneira de compartilhar a informação
n Consumir informação especializada n Anotação ativa de conteúdo n Leitor e escritor
¤ Exemplos n Blog, wiki, fórum, redes sociais n Tags n Comentários n Revisões, notas n etc.
8
Web 2.0 9
Web 2.0 10
Web 2.0 11
Mineração de Opiniões 12
¨ Tarefa de extrair e medir automaticamente a partir de textos a opinião sobre um dado alvo ¤ Alvo
n produto, serviço, entidade, tópico
¤ Sentimento n opinião
¤ Medir n Polaridade (Valência) n Intensidade
13/04/16
3
Mineração de Opinião: Tarefas Básicas
¨ Identificar ¤ Conteúdo subjetivo e objetivo ¤ Alvo da opinião
¨ Classificar ¤ Qual a sua orientação (polaridade)? ¤ Positiva, negativa, neutra
¨ Agregar ¤ Uma opinião é subjetiva, e portanto é necessário
considerar várias opiniões ¤ Sumarizações, visualizações, predições
13
Fontes de Opiniões 14
Fonte: M. Tsytsarau, T. Palpanas, Survey on mining subjective data on the web, Data Mining and Knowledge Discovery. 24 (2012) 478–514.
M.O.: Algumas Aplicações
¨ Revisões de produtos ¤ Sumarização ¤ “opinion spam” ¤ Correção de opiniões
mal classificadas ¤ Alavancar outros tipos
de sistemas, como recomendação, colocação de anúncios, etc
¨ Impacto de notícias ¤ E-government, e-health,
etc
¨ Monitoração de entidades (marcas, celebridades, políticos) ¤ Marketing ¤ Relacionamento com
clientes ¤ Construção de marcas ¤ Etc
¨ Modelos preditivos ¤ Eleições ¤ Preços de produtos ¤ Mercado de ações
15
Agenda
¨ Parte I ¤ Contexto e Motivação ¤ Fundamentação teórica ¤ Expressão de Opiniões ¤ Recursos Básicos de Processamento de Linguagem
Natural
16
Conceitos 17
Definições
¨ A mineração de opiniões opera sobre porções de texto de quaisquer tamanho e formato, tais como páginas web, posts, comentários, tweets, revisões de produto, etc.
¨ Uma opinião é um sentimento (visão, atitude, apreciação) positivo/negativo sobre uma entidade ou aspecto de uma entidade
18
13/04/16
4
Definição de opinião
¨ Elementos chave de uma opinião n um alvo n um sentimento sobre este alvo
¨ Um alvo pode ser uma entidade, aspecto de uma entidade, ou tópico, representando um produto, pessoa, organização, marca, evento, etc.
¨ A polaridade de um sentimento corresponde a um ponto em alguma escala que representa a avaliação do significado deste sentimento ¤ {negativo, neutro, Positivo} ¤ [-1, 1]
19
Análise de Sentimentos
¤ Estudo computacional de sentimentos, opiniões, subjetividade, avaliações, atitudes, emoções, (des)aprovações, etc. contidas em texto (Bing Liu, 2010)
¤ Jornais, blogs, redes sociais, emails, comentários, feedbacks, etc.
¨ Sinônimos ¤ Análise de subjetividade (Tsytsarau e Palpanas 2012)
20
Sentimentos 21
Sentimentos: Emoções 22
¨ Não tem alvo específico ¨ Falta consenso sobre como medi-las
¤ Emoções básicas (Ekman, Plutchnik)
¤ Estados emocionais (quantificar dimensões) n Prazer <-> Desprazer n Energizanter <-> Soporífero n Controle <-> Submissão
Sentimentos: Posicionamento 23
¨ Alvo ¤ Explícito ou implícito
¨ A Favor ou Contra ¨ Não há relação direta com sentimento
Vs.
Níveis de análise
¨ Documento ¤ Identificar se um documento, tratado como um todo,
expressa um sentimento positivo ou negativo. ¤ Esta granularidade é adequada quando o documento
trata de uma única entidade
24
13/04/16
5
Documento 25
Níveis de análise
¨ Sentença ¤ determina o sentimento de uma sentença especíca de
um documento ¤ utilizado quando um mesmo documento contém opiniões
sobre várias entidades. ¤ permite identicar e distinguir sentenças objetivas
(fatos) e subjetivas (opiniões). ¤ alguns autores sugerem ir além do nível de sentença,
dividindo-a em cláusulas n “A cidade é péssima, mas a população é muito simpática”
26
Sentença 27
Níveis de análise
¨ Entidade/aspecto ¤ foca na opinião expressa, independentemente dos
construtos utilizados para expressá-la (e.g. documentos, sentenças, orações).
¤ nível mais complexo de análise, o qual tem sido bastante estudado no contexto de revisões de produtos e serviços
28
Entidade/Aspecto 29
Entidade/Aspecto 30
13/04/16
6
Definição de opinião
¨ Opinião é uma quíntupla (ej, ajk, sijkl, hi, tl)
onde ¨ ei é a entidade alvo ¨ ajk é um aspecto da entidade ej
¨ sijkl é o valor da polaridade do sentimento que o detentor da opinião hi tem sobre o aspecto aij da entidade ej no instante tl
¨ hi é o detentor da opinião ¨ tl é o instante de tempo no qual a opinião foi expressa
Liu, B. (2010). Sentiment analysis and subjectivity. Handbook of natural language processing.
31
Entidade/Aspecto
(Hotel X, geral, +, IzabelaMedeiros, 24/09/2013) (Hotel X, vista, +, IzabelaMedeiros, 24/09/2013) (Hotel X, café da manha, +, IzabelaMedeiros, 24/09/2013) (Hotel X, quarto, +, IzabelaMedeiros, 24/09/2013) (Hotel X, staff, +, IzabelaMedeiros, 24/09/2013) (Hotel X, ar condicionado, -, IzabelaMedeiros, 24/09/2013) (Hotel X, banheiro, -, IzabelaMedeiros, 24/09/2013)
32
Mineração de Opiniões e Mineração de Dados
33 ¨ Data Mining is nothing else than torturing the data
until it confesses… and if you torture it enough, you can get it to confess to anything" (Fred Menger)
Descoberta de Conhecimento em Bases de Dados (DCBD)
¨ Knowledge Discovery in Databases (KDD) ¨ “o processo não trivial de identificação de
padrões novos, válidos, potencialmente úteis e compreensíveis em dados” (Fayyad, Piatetsky-Shapiro & Smith, 1996)
¨ “o processo de extrair de bancos de dados, informação desconhecida, válida e usável para tomar decisões importantes sobre negócios” (Cabena et al, 1998)
Descoberta de Conhecimento em Bases de Dados (DCBD)
¨ Exploração e análise, de modo automático ou semi-automático, de grandes quantidades de dados para descobrir padrões úteis
13/04/16
7
Processo de KDD Padrões Válidos 38
Agenda
¨ Parte I ¤ Contexto e Motivação ¤ Fundamentação teórica ¤ Expressão de Opiniões ¤ Recursos Básicos de Tratamento de Linguagem Natural
39
Expressão de Opiniões 40
Desafios da Linguagem Natural
¨ Opiniões são expressas usando linguagem natural ¤ PLN: Processamento de Linguagem Natural ¤ Problema mais restrito
n Análise da subjetividade
¨ Mineração de opinião estuda questões restritas de subjetividade ¤ Polaridade de opiniões
¨ A mineração de opiniões compartilha técnicas, problemas e soluções com a área de PLN
41
Desafios no tratamento de opiniões
¨ Opinião é subjetiva ¨ Opinião depende do observador ¨ Reconhecimento de conteúdo de opinião ¨ Forma de expressão da opinião ¨ Identificação de menções e tratamento de
pronomes ¨ Negação ¨ Ironia/sarcasmo
42
13/04/16
8
Opinião é subjetiva
?
43
Opinião é subjetiva
?
44
Opinião é subjetiva
?
?
45
Opinião é subjetiva 46
Opinião depende do Observador Opiniões e Palavras de Sentimento
¨ Frequentemente as opiniões são expressas usando palavras (locuções) de sentimento
48
13/04/16
9
Opiniões e Palavras de Sentimento
¨ Presença de palavras de sentimento não é condição nem suficiente, nem necessária
49
Opiniões e Palavras de Sentimento
¨ Presença de palavras de sentimento não é condição nem suficiente, nem necessária ¤ Se encontrar um bom livro, vou comprá-lo! ¤ Fui ver aquele filme considerado excelente pelos críticos. ¤ Comprei este colchão semana passada, e tem um vale
instalado nele. ¤ Aquele filme me fez bocejar muito. ¤ Esta geladeira consome muita energia.
¨ Contexto determina a polaridade destas palavras ¤ “iPhone é caro” vs. “caro amigo” ¤ “este telefone é um peso” vs. “elenco de peso”
50
Tipos de Opinião
¨ Regulares ou comparativas ¤ Amo suco de graviola !! ¤ Gosto mais de suco de graviola, do que de manga.
¨ Diretas ou Indiretas ¤ Este remédio foi péssimo para minha gripe. ¤ Minha gripe piorou depois que tomei este remédio.
¨ Implícitas ou explícitas ¤ Este colchão é uma droga. ¤ Formou-se um vale no colchão que comprei na semana
passada.
51
Tipos de Opinião
¨ Regular, Direta e Explícita
¨ São mais fáceis de serem detectadas e analisadas ¨ Premissa de quase todos os trabalhos
52
Tipos de Opinião
¨ Indiretas, Implícitas, Comparativas
53
Tipos de Opinião
¨ Comparativa, Indireta
54
13/04/16
10
Menções e Co-referências 55
Negação
¨ Inversão do sentido da polaridade ¤ Gosto muito deste telefone. ¤ Não gosto deste telefone. ¤ Dificilmente filmes deste diretor são bons.
56
Sarcasmo
¨ Um dos problemas mais difíceis na mineração de sentimento
¨ Pistas de ironia (Carvalho et al. 2009) ¤ Expressões de sentimento (e.g. Emoticons, símbolos de
risadas, etc.), aspas, etc.
57
Agenda
¨ Parte I ¤ Contexto e Motivação ¤ Fundamentação teórica ¤ Expressão de Opiniões ¤ Recursos Básicos de Processamento de Linguagem
Natural
58
Recursos Básicos de PLN 59
PLN 60
¨ PLN trata computacionalmente os diversos aspectos da comunicação humana, considerando formatos e referências, estruturas e significados, contextos e usos
¨ Compreensão da linguagem (oral ou escrita) em diferentes níveis
13/04/16
11
PLN: Níveis de Compreensão 61
Fonético e fonológico
• Relacionamento entre sons e palavras
Morfológico
Sintático
Semântico
Pragmático
PLN: Níveis de Compreensão 62
Fonético e fonológico
Morfológico • Construção das palavras a partir de
unidades primitivas • Classes Morfológicas
Sintático
Semântico
Pragmático
PLN: Níveis de Compreensão 63
Fonético e fonológico
Morfológico
Sintático
• Relacionamento entre palavras • Papel estrutural das palavras nas
frases • Relacionamento entre frases em
sentenças
Semântico
Pragmático
PLN: Níveis de Compreensão 64
Fonético e fonológico
Morfológico
Sintático
Semântico
• Relacionamento entre palavras e significados
• Combinação de significados em sentenças
Pragmático
PLN: Níveis de Compreensão 65
Fonético e fonológico
Morfológico
Sintático
Semântico
Pragmático • Significado de
frases de acordo com o contexto
PLN: Estágios de Processamento 66
¨ Visão clássica dos principais estágios de processamento
¨ Necessidade de outros recursos ¤ Léxicos ¤ Gram
¨ Granularidade dos estágios reflete a maturidade no processamento morfo-sintático de textos
¨ Concentraremos na discussão prática de sobre como tratar problemas de PLN sujacentes à mineração de opiniões
Tokenização Análise
Léxica Análise Sintática
Análise Semântica
Análise Pragmática
13/04/16
12
M.O.: Processamento Básico de PLN 67
Tokenizador
• Pré-processamento • Segmentaçãoem tokens e
sentenças • Normalização básica
Normalização • Steeming (“Radicais") • Lematização
(POS) Part Of SPeech
• Etiquetamento de Classes Gramaticais
Tratamento Avançado
• Analisador Sintático (Parser)
• Negação • Ironia • Co-referência
Tokenização
¨ Tokenizador (tokenizer) divide um texto bruto em tokens ¤ componentes mais básicos para análise
¨ Descoberta de fronteiras ¤ Entre “palavras” ¤ Entre sentenças ¤ De forma entrelaçada
¨ Na mineração de opinião ¤ Informação que caracterize sentimento é escassa ¤ Formas particulares de expressão (e.g. S2)
68
Tokenização
¨ Pode ser precedida de pré-processamento ¨ Não há uma forma correta de reconhecer sentenças
e tokens ¨ Um token se torna válido ou inválido de acordo
com o objetivo da análise (e.g. palavra, url, hashtag, usuário do Twitter, etc.)
69
Tokenização 70
¨ Diferentes abordagens de separação de tokens ¤ Espaço em branco
n Espaços, tab, nova linha
¤ Estilo Treebank n Caracteres de pontuação
¤ Heurísticas específicas
Tokenização 71
¨ Heurísticas específicas (Potts, 2011) ¤ Reconhecimento de emoticons
n S2, :-)
¤ Marcações específicas da internet n @, http, #
¤ Xingamentos e palavrões n %$#!!, merd@@@
¤ Siglas representando sentimento n LOL
Tokenização 72
sentiment.christopherpotts.net/tokenining
13/04/16
13
Tokenização
Texto bruto: “AAAAAMEEI a nova música do Justin Bieber!! :-D #beliebers http://youtu.be/Ys7-6_t7OEQ”
Tokenizer por espaço em branco: AAAAAMEEI a nova música do Justin Bieber!! :-D #beliebers http://youtu.be/Ys7-6_t7OEQ
73
Tokenizador Treebank
¨ Separa as palavras em tokens utilizando as convenções usadas por Penn Treebank
¨ Assume que o texto já está segmentado em sentenças
¨ Qualquer ponto (.), exceto o último da sentença, são assumidos parte da palavra no qual estão ligados (e.g. abreviações) e não são separados
74
Treebank Tokenizer
Texto bruto: “AAAAAMEEI a nova música do Justin Bieber!! :-D #beliebers http://youtu.be/Ys7-6_t7OEQ”
AAAAMEEI a nova música do Justin Bieber !
! : -D # beliebers http : //youtu.be/Ys7-6_t7OEQ
75
Tokenização: Heurísticas Avançadas
¨ Heurísticas que não apenas dividem o texto em tokens, mas os pré-processam para melhorar a análise ¤ Intensidade de emoção: Regularizar o alongamento de
palavras (e.g. AAAAAMEEI => AMEI) ¤ Preservar nomes próprios (e.g. Justin_Bieber) ¤ Capturar expressões idiomáticas significativas (e.g. “bater
as botas”) ¤ Tratar negações
¨ Custo de algoritmos mais sofisticados de tokenização deve ser pesado face ao tamanho do corpus ¤ Quanto maior o corpus, menor o efeito de perda de tokens
de sentimento não capturados por regras mais simples
76
Tokenização para Análise de Sentimento
Texto bruto: “AAAAAMEEI a nova música do Justin Bieber!! :-D #beliebers http://youtu.be/Ys7-6_t7OEQ”
AMEI a
nova
música
do
Justin_Bieber !
! :-D
#beliebers
http://youtu.be/Ys7-6_t7OEQ
77
Tokenização 78
¨ Ferramentas ¤ Ferramentas ou funções isoladas
n StringTokenizer, String.split() para Java ¤ Toolkit de PLN
n OpenNLP n Standford CoreNLP n NLTK
¤ Português n NLTK n Palavras n LX_Center e Linguateca
13/04/16
14
Normalização 79
¨ Algumas normalizações já são aplicadas/assumidas pelo tokenizador
¨ Redução de vários termos a um único termo comum ¤ “radical” (stem) ¤ Lema : forma canônica
¨ Heurísticas vs. Léxicos
Stemming
¨ O stem ou radical, é a parte que sobra da palavra após a remoção de desinências, afixos e vogais temáticas
bonita bonitas boniteza bonit bonito bonitos
¨ O stem não precisa ser uma palavra válida, contudo ele precisa captar o significado da palavra
¨ Stemmers podem ser mais ou menos agressivos ¨ Cada algoritmo de stemming define um conjunto de regras para
redução ao radical ¤ Inglês: Porter, Lancaster ¤ Português: RSLP, NLTK, Snowball Steemer
stemming stem
80
Stemming
¨ O processo de stemming pode introduzir ruídos nos dados
¨ Pode levar um classificador de sentimento a errar a classificação: extravagânciaà positivo extravag à positivo ou negativo? extravaganteà negativo
¨ Stemming não costuma dar bons resultados em mineração de opiniões
stemming
81
Lematização 82
¨ agrupa várias flexões de uma palavra para que possam ser analisadas como um único ítem
¨ Lema: forma canônica (citação ou dicionário) de um conjunto de palavras ¤ Conjugação de verbos, declinações de substantivos ¤ Correr: verbo (corri, correste, corremos, etc) ¤ Corrida: substativo (corrida, corridas)
¨ Reduz alguns inconvenientes do stemming ¨ Necessita de léxico
Part-of-Speech (POS)
¨ Etiquetamento de classes morfológicas dá informações importantes sobre ela e seus vizinho ¤ substantivos, verbos, adjetivos, preposições, advérbios,
conjunções
¨ POS em Mineração de Sentimento ¤ Tipicamente palavras de sentimento são adjetivos
n e.g.: lindo, bonito, maravilhoso
¤ Pode existir sentimento em outras classes morfológicas n Verbos: enganar, recomendar n Substantivo: aberração
83
POS 84
¨ Rotulação requer léxicos ¤ Classes fechadas
n vocabulário menor e estável n Pronomes, preposições, verbos auxiliares, etc
¤ Classes abertas n Maior número de palavras, mais dinâmico n Adjetivos, advérbios, verbos, substantivos, interjeições
¨ PLN propõe várias estratégias fora do escopo deste tutorial ¤ Desambiguação, alinhamento
13/04/16
15
POS
¨ O processo de etiquetamento POS ¤ Entrada:
n Texto: “Ir para casa” n Tagset:
¤ Saída: Ir (V) para (PREP) casa (N)
85
POS 86
¨ O resultado pode ser mais ou menos completo
¨ Ferramentas ¤ PLN Toolkit ¤ Português
n Palavras n NLTK n LX_Center
Questões avançadas
¨ Análise sintática
¨ Melhorar vários aspectos da MO ¤ Identificação do Alvo ¤ Negação
¨ Desvantagens ¤ Tratamento em larga
escala ¤ Disponibilidade de bons
parsers
87
Questões Avançadas 88
¨ Tratamento da Negação ¤ Palavras com sentimento moderado tem a polaridade
invertida ao serem negadas n Este filme é …..
n Bom, ruim n Excelente, Péssimo
¤ Escopo da negação n Tratamento sintático n Heurísticas
n Janelas de distância n Termos da sentença
Questões Avançadas 89
¨ Co-referência ¤ Diferentes menções para a mesma entidade
n Dilma, Presidenta, Dilmais, Dilmanta
¤ Pronomes n Paris é uma cidade maravilhosa. Ela é uma opção certa de
viagem. Seus restaurantes são excelentes.
¤ M.O.: identificação de alvo e seus aspectos ¤ Recursos
n Heurísticas n Toolkits (OpenNLP, Standford CoreNLP)
Resumindo …. 90
13/04/16
16
Pontos Importantes 91
¨ M.O. tem enorme potencial de aplicação ¨ Mineração de opiniões é um processo de KDD
¤ Objetivo de análise ¤ Pré-processamento consome maior parte do tempo e
impacta resultados ¨ Forte dependência com NLP
¤ Problema restrito ¤ Forma de expressão da opinião impacta a capacidade
de processamento ¤ Recursos básicos de NLP são necessários
13/04/16
1
MINERAÇÃO DE OPINIÕES
Karin Becker Instituto de Informática – UFRGS [email protected]
1
Agenda
¨ Parte I ¤ Contexto e Motivação ¤ Fundamentação teórica ¤ Expressão de Opiniões ¤ Recursos Básicos de Processamento de Linguagem Natural
¨ Parte II ¤ Etapas da Mineração de Opiniões ¤ Classificação da Polaridade das Opiniões
¨ Parte III ¤ Estudo de Caso ¤ Mineração de Opiniões e Fontes de Dados ¤ Conclusões
2
Agenda 3
¨ Parte II ¤ Etapas da Mineração de Opiniões ¤ Classificação da Polaridade das Opiniões
Etapas da Mineração de Opiniões 4
Visão Geral
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
5
Visão Geral
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
6
13/04/16
2
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
1) Identificação 7
1) Identificação
¨ Dado um conjunto de textos extraído de alguma fonte ¤ jornais, redes sociais, plataformas de revisão de produtos/
serviços)
¨ Identificar ¤ Entidades Alvo e seus aspectos ¤ (opcional) conteúdo de opinião
¨ A forma de identificar as entidades/aspectos e conteúdo de sentimento são dependentes ¤ da granularidade escolhida para análise ¤ tipo de texto
8
1) Identificação: entidades
¨ Revisões de Produtos ¤ entidade é o alvo da revisão ¤ desafio é encontrar os aspectos
Adaptado de: M. Tsytsarau, T. Palpanas, Survey on mining subjective data on the web, Data Mining and Knowledge Discovery. 24 (2012) 478–514.
coleçãodepáginasweb
basededados
Identificaçãodesentimento
extraçãodeaspecto
padrãodesentença
taxonomiadeconceitos,aspectosfrequentes
revisõesextraídas
revisõesparaproduto
sentençasopinativas todosaspectos
WebWeb
0.Coletar
1.Identificar
9
1) Identificação: entidades
¨ Aspectos frequentes
Quarto, café da manhã
10
1) Identificação: entidades
¨ Taxonomia
Quarto
Vista Tamanho Banheiro Ar-condicionado
Hotel
Café Staff
11
1) Identificação: entidades
¨ Fontes menos estruturadas ¤ Twitter, redes sociais ¤ Jornais, blogs
¨ Menções explícitas ¤ Celebridades, políticos, marcas ¤ Nomes oficiais, termos informais, hashtags ¤ pronomes
¨ Técnicas de recuperação de informação ¤ entidades nomeadas
12
13/04/16
3
1) Identificação: entidades 13
1) Identificação: entidades
Opiniões positivas dos brasileiros sobre Dilma
14
1) Identificação: entidades 15
1) Identificação: entidades
Opiniões negativas da Dilma sobre espionagem
16
1) Identificação: entidades
Opiniões positivas sobre Dilma
Opiniões negativa sobre Dilma
17
1) Identificação: conteúdo de opinião
¨ Opcional ¨ Depende da granularidade de análise
¤ Documentos com opinião ¤ Sentenças ou tópicos com opinião
¨ Seleção de (porções de) texto com termos de sentimento, relacionados ao alvo ¤ Identificar alvo/aspectos (candidatos) ¤ Identificar termos de sentimento (candidatos)
¨ Recursos ¤ Quebrar em sentenças ¤ Tokenizar ¤ POS (adjetivos, advérbios, padrões linguísticos, substantivos, etc.)
18
13/04/16
4
2) Classificação
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
19
2) Classificação
¨ Dado um texto, determinar sua polaridade ¨ Tipicamente um problema binária
¤ positivo, negativo
¨ Classes com graus de intensidade ¤ Classes discretas
n muitoPositivo, ModeradamentePositivo
¤ Intervalos n [-1, 1]
¤ Definição de um limiar para distinguir níveis de sentimento
20
2) Classificação
¨ Classe Neutra ¤ Reconhecimento do texto sem sentimento a cargo desta
etapa ¤ Caracterização é em função das propriedades que
diferenciam textos neutros, textos positivos, textos negativos
¤ Melhores resultados têm sido obtidos quando a identificação de texto subjetivo é tratado etapa anterior de identificação
21
2) Classificação
¨ Abordagens ¤ Dicionário ¤ Aprendizado de Máquina ¤ Estatística ¤ Semântica ¤ Híbridas
22
2) Classificação
¨ Pré-processamento ¤ Dependentes de abordagem ¤ Tokenização ¤ Normalização (lematização) ¤ POS ¤ Escolha do tipo de termo ¤ Tratamento de negações, intensidades ¤ Palavras, locuções (N-gramas) ¤ Presença vs. Frequência ¤ etc
23
2) Classificação
¨ Resultados nem sempre são de alta precisão ¤ Opinião é subjetiva ¤ Ironia e sarcasmo ¤ Falta de consenso humano sobre a polaridade, e
mesmo sobre o conteúdo de opinião n Consenso dificilmente ultrapassa 75% em anotações
¨ Resultados altamente dependentes do pré-processamento
24
13/04/16
5
3) Sumarização
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
25
3) Sumarização
¨ Opinião isolada não tem relevância ¨ Explorar a “wisdom of the crowds” ¨ Agregar as análise em
¤ Métricas que quantifiquem a diversidade de opiniões encontradas
¤ Formas de visualização que permitam identificar este sentimento n Em um instante, no tempo, em uma localização geográfica
¤ entrada de aplicações n Previsão n Recomendação n Posicionamento de anúncios n etc
26
3) Sumarização
¨ Google Shopping: ¤ Agrega e sumariza revisões de produtos de diversas fontes
(e.g. Best Buy) ¤ nota geral sobre o produto, baseada em uma classificação
de estrelas ¤ sentença que demonstra o sentimento predominante
27
3) Sumarização
¨ UberVU: ¤ Extrai de várias mídias sociais o sentimento de marcas ¤ Analisa menções das marcas
n Demograficamente n Distribuição por gênero
¤ Sentimento n Relógios, série temporais
28
3) Sumarização 29
3) Sumarização
¨ Social Market Analytics: Analisa a bolsa de valores, e ações de uma determinada companhia utilizando o Twitter
¨ Criaram próprias métricas para análise: ¤ S-Score: representação normalizada e ponderada da série de tempo do
sentimento ao longo de um período retrospectivo ¤ S-Mean: média suavizada da métrica anterior
30
13/04/16
6
3) Sumarização 31
Agenda 32
¨ Parte II ¤ Etapas da Mineração de Opiniões ¤ Classificação da Polaridade das Opiniões
Abordagens de classificação 33
Abordagens de Classificação
¨ Baseada em Dicionário ¨ Aprendizagem de máquina ¨ Estatística ¨ Semântica ¨ Combinações destas
34
Sumarização da literatura
Fonte: M. Tsytsarau, T. Palpanas, Survey on mining subjective data on the web, Data Mining and Knowledge Discovery. 24 (2012) 478–514.
35
Pré-processamento
¨ Dependentes de abordagem ¨ Pré-processamento
¤ Tokenização ¤ POS ¤ Escolha do tipo de termo ¤ Tratamento de negações ¤ Tratamento de intensidades ¤ Palavras, locuções (N-gramas) ¤ Presença vs. Frequência ¤ etc
36
13/04/16
7
Polaridade baseada em Dicionário 37
Abordagem baseada em Dicionário
¨ Caracterizada pelo uso de Dicionário de Sentimentos ¨ Dicionário de sentimentos
¤ compilações de palavras ou expressões de sentimento associadas à respectiva polaridade
¤ Dois elementos básicos: n Palavra de sentimento e variações (e.g. bonito, bonita) n Polaridade (-1,0,1)
¨ Também conhecido como: ¤ Léxico de sentimentos ¤ Léxico de opiniões ¤ Dicionário de opiniões
38
Léxicos de Sentimentos
¨ General Inquirer (língua inglesa) - 1966 ¤ Palavras positivas: 1.915 ¤ Palavras negativas: 2.291 ¤ POS ¤ binária ¤ Língua Inglesa
http://www.wjh.harvard.edu/~inquirer
39
Léxicos de Sentimentos
¨ MPQA – OpinionFinder (língua Inglesa) ¤ Palavras positivas: 2.718
¤ Palavras negativas: 4.912 ¤ POS, Stem
¤ Binária, mas com grau de subjetividade
http://www.cs.pitt.edu/mpqa/
40
Léxicos de Sentimentos
¨ SentiWordNet (língua inglesa) ¤ 117.659 entradas ¤ POS ¤ Graus de positividade e negatividade ¤ Tentativas de adaptar ao português
http://sentiwordnet.isti.cnr.it
41
Léxicos de Sentimentos
¨ Linguistic Inquiry and Word Counts (LIWC) ¤ Software de análise de texto, que inclui bases de
dados proprietárias ¤ Suporte a vários idiomas (incluindo português) ¤ Expressões divididas em categorias, incluindo emoções
(affect)
www.liwc.net
42
13/04/16
8
Léxicos de Sentimento: Comparação
¨ A abordagem léxica é extremamente sensível ao dicionário utilizado
Fonte: Cristopher Potts. Sentiment Analsis tutorial. 2011.
43
Léxicos de Sentimento: Português
¨ SentiLex-PT (Português de Portugal) ¤ 82.347 entradas ¤ POS, Lema, Expressões Idiomáticas ¤ Binário ¤ Polaridade em relação a sujeito ou predicado
44
Léxicos de Sentimento: Português
¨ OPLexicon (Português do Brasil) ¤ Palavras positivas: 8.675 ¤ Palavras negativas: 14.469 ¤ POS, Emoticons (“:-)”,“:-(”) ¤ Binário
45
Abordagem Léxica
¨ Pré-processamento ¤ POS : reduzir os termos buscados no dicionário ¤ Normalização (Lema) ¤ Identificação e/ou tratamento de negações e termos
de intensidade, que vão alterar o peso do termo obtido no dicionário n Este telefone é bom (pol = 1) n Este telefone não é bom (inverter polaridade) n Este telefone é muito bom (aumentar polaridade)
46
Abordagem Léxica
¨ Unidades de análise pequenas ¤ Tweets, nível sentença ou tópico ¤ Co-ocorrência entre alvo e palavra polarizada
n Janela de Distância do alvo n Sentença, cláusula
47
Acho Paris simplesmente deslumbrante !!!!!
Abordagem Léxica
¨ Unidades maiores de análise (documentos,
sentenças)
onde ¤ Peso(): distância entre alvo e termo, importância do
termo no texto ¤ Modificador(): negação, intensidade
48
13/04/16
9
Abordagem Léxica: Considerações
¨ Vantagens ¤ Simples ¤ Não necessita de um corpus de treinamento ¤ Pré-processamento simples ¤ Escalável
49
Abordagem Léxica: Considerações
¨ Contudo .... ¤ Altamente dependente do léxico utilizado ¤ Limitação de léxicos genéricos
n Vocabulário dependente de domínio e de contexto n Vocabulários informais e regionais n Dificuldade de verificação da sanidade dos dados
¤ Criação de léxico a partir de corpus n Palavras semente e processo de expansão
n Hu e Liu 2004, Godbole et al. 2007 n Também classificado como abordagem “semântica" de
classificação
50
Polaridade baseada em métodos estatísticas e semânticas
51
Abordagem Estatística
¨ também denominada “não supervisionada” ¨ palavras que traduzem opiniões frequentemente são
encontradas juntas no corpus dos textos ¤ Termos que ocorrem frequentemente com palavras
positivas (negativas) no mesmo contexto, provavelmente são positivos (respect. negativos) n Hotel maravilhoso com vista linda n Buffet maravilhoso com decoração linda
¤ Termos que ocorrem em igual frequência com palavras positivas E negativas devem ser neutras
52
Estatística: PMI
¨ Pointwise Mutual Information (Turney 2002)
onde ¤ Pr(x ∧ y): a probabilidade de co-ocorrência dos termos x e
y ¤ Pr(x).Pr(y) é a probabilidade de co-ocorrência se são
estatisticamente independentes ¨ razão é a medida de grau de independência
estatística entre os dois termos ¨ quantidade de informação ganha se os termos são
observados juntos.
53
Estatística: PMI
¨ Classificação da Polaridade
onde ¤ p: lista de palavras positivas ¤ n: lista de palavras negativas
54
13/04/16
10
Abordagem Semântica
¨ Às vezes classificada como baseada em dicionário ¨ a polaridade é calculada em termos de alguma medida de
distância entre termos ¤ Palavras semente:
n Palavras claramente positivas (negativas) ¤ Relações
n Sinônimos, antônimos ¤ Processo de expansão ou comparação
n Hu e Liu 2004 n Godbole et al. 2007
Fonte: Hu, M. and Liu, B. (2004). Mining and summarizing customer reviews. KDD.
55
Considerações
¨ Só podem ser aplicadas em corpus de tamanho significativo
¨ Bom desempenho ¨ Frequentemente complementam as outras
abordagens ¤ Construção de léxicos especializados ¤ Difíceis de serem validados
56
Polaridade baseada em Aprendizagem de Máquina
57
Conjunto de Treino em M.O. 58
Vetor de termos com representação binária
Técnicas de Classificação
¨ Métodos de classificação com bom desempenho em textos ¤ Naïve-Bayes ¤ Support Vector Machine ¤ Entropy Maximization ¤ Redes neurais ¤ etc
¨ Não existe evidência da superioridade de nenhuma técnica para textos em geral
¨ Maior influência é resultado do pré-processamento das features e sua seleção
59
Preparação das Features 60
¨ Pré-processamento básico ¤ Tokenização ¤ POS ¤ Normalização (Lematização) ¤ Remoção de stop words
¨ Seleção de features ¤ Palavras mais frequentes ¤ Técnicas para seleção de features
13/04/16
11
Preparação de Features 61
¨ Escolha dos termos ¤ Palavras de Sentimento (e.g. polaridade em léxico) ¤ Palavras candidatas a sentimento
n Adjetivo e advérbio n Verbo, substantivo
¤ Qualquer termo ¤ Contagens
n E.g. total de polaridade
Preparação das Features 62
¨ Seleção de Termos ¤ Sentimento
n Adjetivo n Advérbio n Verbo n Substantivo
¤ Todos termos n Remoção de Stop Words
¤ Sumarização da polaridade encontrada em léxicos
GOSTAR ACHAR SUPER PRATICO RUIM NAO GRANDE USAR??
GOSTAR ACHAR PRODUTO SUPER PRATICO RUIM NAO GRANDE FACILIDADE USO ou USAR
GOSTAR DESTE ESTE PRODUTO ACHAR ELE SUPER PRATICO RUIM PORQUE NAO GRANDE FACILIDADE USO ou USAR
Preparação de Features 63
¨ Binário vs Peso ¤ Binário
n presente vs ausente
¤ Peso n Freqüencia
n Adoro x …. Adoro y ….. Adorei tb. ….k Destestei ……l n Normalização pelo tamanho do documento n Normalizada pela ocorrencia do termo no conjunto dos
documentos
n TDF-IF n Palavras raras
Pré-processamento
¨ Termos vs n-gramas ¤ Termos isolados ¤ Termos adjacentes frequentes (domínio, locuções adjetivas, expressões
idiomáticas) ¨ Tratamento de negação
¤ Gosto deste produto ¤ Não gosto deste produto ¤ GOSTAR, GOSTAR_NEG
¨ POS ¤ Complementação ao termo
n Gosto deste produto n O gosto deste produto é horrível n GOSTO_N, GOSTO_V
¤ Número de termos de cada categoria
64
Métodos Supervisionados: Considerações
¨ necessidade de dados rotulados para treino ¤ qualidade do modelo é afetada pela quantidade e
qualidade dos dados de treino ¤ dados sensíveis ao domínio ¤ atividade de anotação é trabalhosa, com alto teor de
subjetividade ¤ não é adequada a domínios com alta volatilidade de
vocabulário (e.g. Twitter)
65
Considerações: Idiomas 66
¨ Carência de recursos ¤ Léxicos, corpus de treinamento ¤ Tradução automática atingiu um nível de maturidade
suficiente para análise de sentimentos n Balahur et al. (2014). “Comparative experiments using supervised
learning and machine translation for multilingual sentiment analysis”
n Não há correlação entre resultados de mineração de sentimentos e qualidade de tradução
n Becker et al. (2016). "Multilingual Emotion Classification using Supervised Learning: Comparative Experiments”
n Combinação de traduções para múltiplos idiomas produz resultados superiores
13/04/16
1
MINERAÇÃO DE OPINIÕES
Karin Becker Instituto de Informática – UFRGS [email protected]
1
Agenda
¨ Parte I ¤ Contexto e Motivação ¤ Fundamentação teórica ¤ Expressão de Opiniões ¤ Recursos Básicos de Processamento de Linguagem Natural
¨ Parte II ¤ Etapas da Mineração de Opiniões ¤ Classificação da Polaridade das Opiniões
¨ Parte III ¤ Estudo de Caso ¤ Mineração de Opiniões e Fontes de Dados ¤ Conclusões
2
Agenda
¨ Parte III ¤ Estudo de Caso ¤ Mineração de Opiniões e Fontes de Dados ¤ Conclusões
3
Estudo de Caso 4
Objetivo
¨ Ilustrar a mineração de opiniões em um estudo de caso real
¨ "Tracking sentiment evolution on user-generated content: A case study in the Brazilian political scene”. Tumitan, D. and Becker, K. SBBD 2013.
¨ “Sentiment-based features for predicting ellection polls: a case study on the Brazilian Scenario. Tumitan, D. and Becker, K. WIC 2014.
¨ Objetivo: ¤ extrair o sentimento sobre candidatos políticos expressos em
comentários associados a notícias de jornais on-line.
5
Ressalva
¨ Os exemplos mostrados nesse estudo de caso são reais e foram extraídos dos comentários do jornal online da Folha de São Paulo
¨ Os exemplos não refletem de forma alguma as opiniões políticas dos autores desse trabalho
¨ Procuramos usar exemplos com todos os candidatos políticos
6
13/04/16
2
Objetivo
Será que os comentários traduzem o sentimento sobre os candidatos e suas propostas?
É possível prever variações na evolução de sentimento?
2.531 comentários 2.488 comentários
2.174 comentários 1.864 comentários
7
Visão Geral 8
Extração
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
9
Conjuntos de Dados 10
¨ Eleições municipais de São Paulo (2012) ¤ Russomano, Serra, Haddad
¨ Eleições Presidenciais (2010) ¤ Marina, Serra, Dilma
¨ Eleições Governamentais de São Paulo (2010) ¤ Mercadante, Alckmin
Extração
¨ Google Reader ¤ Indexa notícias a partir de um RSS ¤ RSS da seção política da Folha de São Paulo, chamada
Poder ¤ Serviço não está mais disponível L
¨ Extrair informações relevantes ¤ conteúdo (tratamento HTML, e.g., ) ¤ Data, hora e local que o conteúdo foi postado ¤ Autor do conteúdo
11
Profiling 12
13/04/16
3
Profiling 13
¨ Múltiplos alvos
¤ Análise em nível de sentença
Profiling 14
¨ Variações nas menções dos candidatos ¤ Serra, Zé Serra, José Serra, Zeh Serra ¤ Denominações com sentimento
n Vampisserra n Mhaldad n Dilmais n TaRussoMano
¤ Decisão: normalizar as menções, coletar os termos em um léxico especializado
Profiling 15
¨ Uso de ¤ termos específicos de sentimento ¤ caracteres especiais para disfarçar xingamentos
Profiling 16
¨ Muitos erros (ortografia, acentuação, gramática) ¨ Palavras informais ou internetês
¨ Decisão: tratar diferenças devidas à acentuação, tentativa de correção ortográfica
Profiling 17
¨ Ironia
¤ Decisão: não tratar ¨ Erros de Manipulação, SPAM
¤ Detectar comentários (quase) similares ¤ Detectar comentários muito curtos
Lembrando … 18
¨ Todo processo de KDD é altamente iterativo e interativo
13/04/16
4
Identificação
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
19
Identificação
¨ Alvos ¤ Políticos que lideraram as pesquisas eleitorais (mais
comentados) ¤ Eleições 2010 eram diferenciadas pelos candidatos
¨ Nível de análise ¤ Sentenças
20
Tokenização 21
¨ NLTK ¤ Quebrar sentenças
n Punkt: corpus de treinamento para portugues
¤ Reconhecer Tokens n Espaço em branco n Expressões regulares
¨ Unix for Poets ¨ Funções em Python
Eliminação de Ruídos 22
¨ Comentários com menos de 4 palavras ¨ Comentários com no mínimo 85% de similaridade
Tokenização
¨ Tokenizar por espaço em branco “Russomanno é o melhor candidato” “Russomanno” “é” “o” “melhor” “candidato”
¨ Definição de heurísticas para correção de palavras mascaradas: ¤ P.a.la.v/r/ã/o à remoção de qualquer caractere
especial entre as letras e que não seja seguido de espaço (ponto final)
¤ p@l@vr@0 à substitui @ por a, 0 por o. ¤ Pode inserir novos erros que antes eram inexistentes
23
Tokenização
¨ expressões que podem carregar grande volume de sentimento ¤ "Esse é o cara"
¨ Identificação de expressões idiomáticas ¤ “comprar gato por lebre” à
“comprar_gato_por_lebre” ¤ Manter Stopwords ¤ Presentes no SentiLex-PT
¨ Posteriormente, detectados novas expressões que não constavam em dicionário
24
13/04/16
5
Identificar Menções
¨ Os sujeitos observados podem ser identificados por diferente menções: ¤ José Serra à vampserra, zehserra ¤ Haddad à marthaddad, malhaddad ¤ Russomanno à russomanco, ruimssomano
¨ Compilar possíveis menções de cada sujeito observado: ¤ Unix For Poets – conjunto de comandos unix que auxiliam
em PLN n Expressões regulares para identificar as variações dos nomes
dos sujeitos observados *serra* ¤ Difícil identificação: José Serra à Mr. Burns
25
Menções: Limitações
¨ Pode-se não identificar o alvo do sentimento corretamente ¤ “Eu voto no Haddad porque não é sem-vergonha como o Serra”
n Polaridade do sentimento para o Haddad: positiva n Polaridade do sentimento para o Serra: negativa
¤ Exige um parser linguístico: Palavras ($10.000 euros) ¤ Linguagem não-estruturada
¨ Sentenças com sentimento são perdidas ¤ Co-referência:
n “Eu nunca votaria no candidato do PT” ¤ Resolução de pronomes:
n “Ontem vi na TV as propostas do Russomanno! Para mim ele é o melhor candidato”
26
O que não foi feito 27
¨ Falta de recursos para português ¤ Lematização ¤ POS ¤ Tratamento adequado de negação (por cláusula) ¤ Análise sintática ¤ Tratamento de co-referencia
¨ Feito, mas não deu certo ¤ Stemming (RSLP, Snowball) ¤ Tratamento de negação por janela de distância
Classificação
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
28
Classificação
¨ Opções disponíveis: ¤ Baseada em dicionário
n Simples n Depende de um dicionário adequado ao contexto
¤ Aprendizado de Máquina n Necessita de uma grande quantidade de corpus anotado n Anotadores à pelo menos 3 anotadores por sentença n Processo custoso e subjetivo n Seleção de features (n-gramas, POS, etc.)
¤ Classificação semântica e Estatística n Exige recursos como o WordNet n Inexistente para Português n Corpus de tamanho significativo n Dificuldade de validação
29
Classificação de Polaridade 30
¨ Corpus de 2012: abordagem léxica ¤ Sentilex-PT ¤ Resultados bastante ruins
¨ Corpus de 2010 + 2012 ¤ Aprendizagem de máquina ¤ Resultados melhores
13/04/16
6
Gold Standard 31
¨ 3 anotadores ¤ Graduação em computação ¤ Escrito explicitamente
¨ 2010: 600 sentenças ¨ 2012: 1000 sentenças ¨ Subjetividade e diferenças L
Dicionários para o Português
¤ OPLexicon (Português do Brasil) n Palavras positivas: 8.675 n Palavras negativas: 14.469 n POS, Emoticons (“:-)”,“:-(”) n Binário
¤ SentiLex-PT (Português de Portugal) n 82.347 entradas n POS, Lema, Expressões Idiomáticas n Binário n Polaridade em relação a sujeito ou predicado
32
Classificação baseada em Dicionário
¨ Baseado em co-ocorrência na mesma sentença
“O político X é muito ruim, pior que ele eu nunca vi”
Negativo (-2)
-1 -1
Agregação das
polaridades
33
Classificação baseada em Dicionário
¨ Deficiência de dicionários de sentimentos binários ¤ SentiLex-PT:
“Apesar do desempenho ruim do candidato X no passado, agora ele está excelente” à Polaridade = neutra???
¨ Dicionários de range ¤ SentiWordNet - Inglês
n Bad = -0.625 e excellent = 1 n Sentimento final positivo
-1
1
34
Classificação baseada em Dicionário
¨ Comentários majoritariamente negativos ¤ Boa precisão para negativos ¤ Baixa precisão para positivos
¨ Tentativas focadas na melhora da classificação positiva ¤ Tratamento de negação ¤ Acentuação ¤ Stemming ¤ Vocabulário enriquecido
35
Dicionário Modificado
¤ Expressões idiomáticas informais brasileiras, e regionalismos não estão presentes n “É o cara” à positivo n “na cabeça” à positivo n “farinha do mesmo saco” à negativo
¤ Palavras exclusivas do contexto politico brasileiro n “mensalão” à negativo n “privataria” à negativo
¤ Gírias, regionalismos n “massa” à positivo n “baixaria” à negativo
36
13/04/16
7
Classificação baseada em léxico: Resultados
37
Dificuldades
¨ Tentativas frustradas de tratar a negação ¨ Stemming ¨ Expressões do português brasileiro, regionais, gírias,
expressões específicas da politica local ¨ Acentuação à erros de português ¨ Difícil para resultados positivos
¤ Raros os comentários que apoiam os candidatos n “SERRA 45!”
¤ Ironia ¨ Opinião por associação
¤ “O politico X é do mesmo partido que o Y, que está envolvido no mensalão”
38
Classificação baseada em ML 39
¨ Exigiu um corpus de treinamento ¤ 600 + 1000 sentenças ¤ Eleições 2012 + 2010 ¤ Diferenças no processo de anotação
Preparação de Features 40
¨ Melhores resultados ¤ Unigramas ¤ Representação por pesos (TDF-IF) ¤ Feature selection com Information-gain ¤ Eliminação de menções aos candidatos
n Atributo mais influente
¨ Experimentos ¤ Bigramas, trigramas ¤ Representacao binária e por contagem normalizada ¤ Remoção de stop words ¤ Outras funções de seleção de features
Classificação baseada em ML 41
¨ SVM, NB, EM, baseado em árvores, baseado em regras
¨ Melhor: SMO (variação de SVM)
Classificação baseada em ML 42
13/04/16
8
Sumarização
Classificação
Base de Dados
Extração
Pré-processamento Classficação de sentimento
Identificação
EntidadesAspectos Conteúdo Subjetivo
Sumarização
Visualização PrediçãoAcompanhamento
43
Métricas
¨ Avaliar qual métrica melhor reflete o sentimento público
44
Sentimento Positivo x Negativo
-200
-150
-100
-50
0
50
100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6
Pos x Neg - Haddad Positivo
Negativo
45
Previsão de Variação na Intenção de Voto
46
Agenda
¨ Parte III ¤ Estudo de Caso ¤ Mineração de Opinião e Fontes de Dados ¤ Conclusões
47
Mineração de Opinião e Fontes de Dados
48
13/04/16
9
Revisão de Produtos
¨ Nível de Documento ¨ Trabalhos pioneiros
¤ Turney, P. D. (2002). "Thumbs up or thumbs down?: semantic orientation applied to unsupervised classification of reviews" n PMI
¤ Pang et al. 2002: "Thumbs up?: sentiment classification using machine learning techniques” n Experimentos com classificação e pré-processamento
49
Revisão de Produtos
¨ Turney 2002 ¤ Identificação de termos para avaliação da polaridade
n POS n Pares de palavras de acordo com padrões
JJ: adjetivos NN: substantivos RB: advérbios VB: verbos
50
Revisão de Produtos
¨ Turney 2002 ¤ Identificação de termos para avaliação da polaridade
n POS n Pares de palavras de acordo com padrões
lindo (JJ) filme (NN)
muito (RB) lindo(JJ)
filme (NN) lindo(JJ)
51
Revisão de Produtos
¨ Turney 2002 ¤ Computar a orientação semântica (SO) de cada locução
n Busca na internet da probabilidade da locução co-ocorrer próximo ao termo excelente ou fraco (número de documentos achados pelo buscador)
¤ Computar a orientação do documento n Média das SOs das locuções
¤ Testado com revisões de carros e de filmes, com acurácia de 84% e 66%, respectivamente
52
Revisão de Produtos
¨ Pang et al 2002 ¤ Pré-processamento
n Seleção dos unigramas e bigramas mais frequentes n Negação dos unigramas n Experimentos com
n POS associados aos termos n Presença vs. Frequencia do termo n posição do termo no documento
¤ Classificadores Naïve Bayes (NB), Maximum Entropy (ME) e Support Vector Machine (SVM)
53
Revisão de Produtos
¨ Pang et al 2002 ¤ Resultados variados, mas bastante parecidos com os de
Turney ¤ Conclusões
n De acordo com cada pré-processamento, um tipo de algoritmo funcionou melhor
n vetor binário de unigramas foi, de uma forma geral, o mais eficaz
n Estilo de narrativa no domínio (revisão de filmes) contrasta ideias
¤ Aponta para a necessidade de análise em nível de aspecto
54
13/04/16
10
Revisão de Produto
¨ Nível de Aspecto ¤ Hu and Liu (2004). “Mining and Summarizing Customer
Reviews” n identificação de aspectos e de sentenças de opinião na etapa de
identificação n Regras de associação para encontrar aspectos frequentes no
domínio n emprego da abordagem semântica para criação de um dicionário
especializado ¤ Qiu et al. (2011) “Expanding Domain Sentiment Lexicon
through Double Propagation” n Explora relacionamentos sintático entre tokens n Palavra de opinião à aspecto n Aspecto à palavra de opinião
55
Revisão de Produtos
¨ Hu e Liu (2004) ¨ POS ¨ Identificar aspectos
¤ Regras de associação envolvendo substantivos
¨ Identificar termos de sentimentos ¤ Adjetivos ¤ Opiniões efetivas: próximas a
aspecto
¨ Construir um léxico especializado usando WordNet
¨ Polarizar usando opiniões efetivas
¨ Sumarização dos aspectos mais frequentes
56
Noticias e Blogs
¨ Desafios ¤ o texto pode conter opiniões sobre múltiplos alvos, e não é
fácil reconhecê-los ¤ o conteúdo de opinião é esparso no texto ¤ a associação da entidade alvo com a opinião é complexa ¤ alguns tipos de texto, como notícias, tendem a não explicitar
a opinião diretamente, fazendo-o através de artifícios n não citar fatos ou perspectivas n frases atribuídas a outras pessoas citadas na notícia
¤ é difícil distinguir entre conteúdo ruim (e.g. um terremoto), e uma opinião boa sobre um conteúdo ruim (e.g. elogiar o socorro às vítimas de um terremoto).
57
Notícias e Blogs
¨ Godbole et al. (2007) ¤ Análise de sentimento em larga escala ¤ Alvo: entidades específicas ¤ Análise de sentimento em nível de sentenças ¤ Construção de dicionários de sentimento por domínio
n Crime, economia, etc.
¨ Balahur et al. (2009, 2010) ¤ A principal contribuição deste trabalho é uma melhor
caracterização da tarefa de mineração de opiniões em citações ¤ Léxicos, dos quais são removidos termos específicos que podem
representar fatos com conotação negativa/positiva (e.g. crise, desastre, carnaval).
¤ Detecção de sentimento em citações
58
Redes Sociais
¨ Maiores desafios ¤ Informalidade no uso da linguagem ¤ Grandes volumes (streaming) ¤ Volatilidade ¤ Conteúdo não explícito
n Vídeos n URL’s n Imagens
59
Twitter 60
¨ Pioneiro ¤ Pak, A. and Paroubek, P. (2010). Twitter as a corpus for sentiment analysis and
opinion mining. ¨ Gerenciamento de Marcas
¤ Castellano et al (2011). LCI: a social channel analysis platform for live customer intelligence
¨ Previsões ¤ Previsão de Eleições
n Tsakalidis et al. (2015). Predicting Elections for Multiple Countries Using Twitter and Polls
n Tumasjan et al. (2011). Predicting elections with twitter: What 140 characters reveal about political sentiment.
¤ Previsões de Ações n Assur et al. (2010). Predicting the future with social media. n Bollen et al. (2011)
¤ Quantidade vs. sentimento …
13/04/16
11
Agenda
¨ Parte III ¤ Estudo de Caso ¤ Trabalhos Relacionados ¤ Conclusões
61
Conclusões 62
Conclusões
¨ Área com crescente interesse ¨ Ferramentas não param de aparecer
¤ Integração com outras dimensões analíticas
¨ Nortear ações e estratégias de negócio ¤ Eventos ¤ Campanhas ¤ Estratégias de marketing ¤ RP ¤ etc
63
Desafios …
¨ Emoções ¨ Contradições ¨ Spams e qualidade de revisões ¨ Ironia e sarcasmo ¨ Mais técnicas
¤ Grandes volumes ¤ Não supervisionadas ¤ Maior precisão ¤ Emoção vs polaridade
¨ Identificação de alvos/aspectos em fontes de pouca estruturação ¨ Outros tipos de texto ¨ Novas aplicações
64
Para saber mais …
¨ Becker, K. (2014) Intodução à mineração de opiniões. Jornadas de Atualização em Informática. Congresso da SBC. Brasilia, 2014. ¤ K. Becker and T. Tumitan (2013). Mineração de Opiniões: conceitos,
aplicações e desafios. Minicurso. Proceedings do SBBD 2013. ¨ M. Tsytsarau and T. Palpanas (2012). Survey on mining subjective
data on the web. Data Mining and Knowledge Discovery, 24:478-514.
¨ Liu B. (2010) Sentiment analysis and subjectivity. In: Indurkhya N, Damerau FJ (eds) Handbook of natural language processing, 2nd edn. CRC Press.
¨ Liu, B. (2012). Sentiment analysis and opinion mining. Morgan & Claypool Publishers.
¨ Pang, B., & Lee, L. (2007). Opinion mining and sentiment analysis. Foundations and Trends in Information Retrieval, 2(1), 1–135.
65
Para saber mais … 66
¨ Datasets ¤ https://www.w3.org/community/sentiment/wiki/Datasets ¤ https://github.com/caesar0301/awesome-public-datasets
¨ Bing Liu ¤ https://www.cs.uic.edu/~liub/FBS/sentiment-analysis.html
¨ Cristopher Pots ¤ http://sentiment.christopherpotts.net/
¨ Saif Mohammad ¤ http://www.saifmohammad.com/WebPages/
ResearchInterests.html
13/04/16
12
Para saber mais …
¨ Outros tutoriais sobre MO com Weka ¤ BrandonWeinberg. Weka Text Classification for First Time
Users & Begginers. https://www.youtube.com/watch?v=IY29uC4uem8
¤ José María Gómez Hidalgo. Compilação de dicas para usar Weka para classificação de texto, muitos sobre M.O. http://www.esi.uem.es/jmgomez/tmweka/index.html
¤ Vários tutoriais sobre weka, muitos sobre M.O. http://sentimentmining.net/weka
¤ Pablo Freire. gbd.dc.ufscar.br/~pablofmatos
67