Agendacross.dc.uel.br/erbd2016/wp-content/uploads/2016/04/MineracaoOpin... · ¨ A polaridade de um...

39
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

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., &nbsp;) ¤ 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