análise de sentimento - parte i

Post on 07-Jan-2017

230 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introdução

Análise de Sentimento - Parte I

Erica Castilho Rodrigues

26 de Março de 2014

1

Introdução

Introdução

2

Introdução

O que será visto nessa aula?I O que é análise de sentimento?I Vale a pena aplicar essa técnica?I Quais são desafios?I De maneira geral, como é feita?

3

Introdução

I O que queremos dizer com sentimento aqui?I atitudes;I emoções;I opiniões.

I Impressões subjetivas e não fatos.

4

Introdução

I Em geral, assume-se que as opiniões assumem umcaráter binário:

I a favor/ contra;I gosta/ não gosta;I bom/ruim.

I Termos muito usados nessa área:I “Orientação Semântica”;I “Polaridade”.

I Se referem a quão negativa ou positiva uma palavra é.I “ótimo” é muito positiva.I “péssimo” é muito negativa.

5

Introdução

Objetivo da Análise de Sentimento:I Usar técnicas de:

I Processamento Natural de Linguagem;I Estatística;I Aprendizagem de Máquina

I para extrair a opinião de um texto.I Também chamada de “Mineração da Opinião”.

6

Introdução

Tipos de perguntas que busca responderI A resenha desse produto é positiva ou negativa?I Nesse e-mail o consumidor parece satisfeito ou não?I Usando uma amostra de tweets:

I como as pessoas estão respondendo à campanha desseproduto?

I Como tem mudado a atitude dos blogueiros em relação aopresidente?

7

Introdução

Exemplo:I Uma empresa está analisando suas vendas de notebooks.

I Ele tem dados sobre:I vendas, preços,

especificações, etc.I Deseja saber qual opinião

do consumidor sobre oproduto e os serviçosprestados:

I o design é feio?I o serviço prestado ao

consumidor deixa adesejar?

8

Introdução

Exemplo:I Verificar se os consumidores não entenderam algum

aspecto sobre os serviços prestados:I acreditam que alguma atualização não está disponível

quando na verdade está.

I É difícil obter informações de consumidores que nãocompraram o produto.

I Podemos aplicar as técnicas de Análise de Sentimentopara:

I procurar opiniões de cliente na internet;I buscar por resenhas deste e outros notebooks em Blogs,

rede sociais, sites de lojas, etc;I resumir toda essa informações e tirar conclusões sobre

opinião das pessoas sobre o produto.

9

Introdução

I A Análise de Sentimento também pode ser aplicada emoutras áreas:

I política;I sociologia;I psicologia;I esportes.

I Exemplo: busca de tweets homofóbicos.I Verificar como muda a opinião de um usuário após um

evento.

10

Introdução

Aplicações na PolíticaI Analisar tendências.I Identificar viéses ideológicos.I Dar publicidade a mensagens e propagandas.I Avaliação das opiniões públicas/eleitores.I Analisar discussões políticas.

11

Introdução

Por que usar a Análise de Sentimentos?I Os seres humanos são criaturas subjetivas.I É muito importante coletar suas opiniões.I Porém é custoso obter essa informação.I Quando não é fornecida de maneira espontânea, nem

sempre condiz com a realidade.

12

Introdução

Desafios da Análise de SentimentoI As pessoas expressam opiniões de maneira complexa.I Podem usar ironias, sarcasmo, etc.I Inversão na ordem das frases também dificulta.I Erros de digitação e gírias.I Pessoas mudam de tópico bruscamente.

13

Introdução

O que queremos classificar?I Há muitas possibilidades do que nós podemos querer

classificar:I Usuários;I Textos;I Sentenças (parágrafos, pedaços de texto);I Palavras;I tweets.

14

Introdução

I Para classificar textos e sentenças, precisamos primeiro:I classificar palavras e expressões.

I Não basta classificar palavras.I “baixo” poderia ser classificada como negativa.I A expressão “preço baixo” é positiva.I Uma forma simples de classificar um texto:

I contar o número de palavras positivas e negativas.

I Problemas com essa abordagem? Claro!I Ironia, sarcasmo, etc.

15

Introdução

I Precisamos então de:I uma lista de palavras positivas e negativas .

I Existem listas extensas para o inglês.I Muitos métodos automáticos buscam expandir essas listas

- tópico de pesquisa.I Para o porguês as listas não são tão grandes.I O processamento de linguagem para o português ainda

está sendo desenvolvido.

16

Introdução

Emoticons/SmilesI Em textos curtos como tweets a análise de sentimento é

mais complicada.I Existe pouca informação nas mensagens.I Os sentimentos são representados através de

smiles/emoticos.: −) : −/ : −(

I Vejamos algumas ferramentas já disponíveis na internet.

17

Introdução

General InquirerI Ferramenta de análise de conteúdo.I Criado em 1966.I Banco de palavras criado manualmente.I Classifica a conotação positiva e negativa das palavras.I Disponível em

http://www.wjh.harvard.edu/~inquirer .

18

Introdução

LIWCI Busca linguística e contagem de palavras.I Semelhante ao GI.I Conta palavras pertencentes às categorias positiva e

negativa.I Disponível em http://www.liwc.net/ .

19

Introdução

WordnetI Banco de sinônimos de palavras em inglês.I Substantivos, verbos, adjetivos e adjetivos são agrupados

em conjuntos de sinônimos.I Uma rede é criada.I Palavras são ligadas de acordo com relações conceituais

e lexicais.I Não foi desenvolvido especificamente para Análise de

Sentimento.I Tem sido usado para aumentar a lista de palavras

positivas e negativas.I Busca sinônimos de palavras que já estão na lista.I Disponível em http://wordnet.princeton.edu/ .

20

Introdução

SentiWordNetI Recurso desenvolvido para mineração da oponião.I Utiliza a base de dados do Wordnet.I A cada sentença se atribui um dos sentimentos:

I positividade, negatividade e objetividade.

I Disponível em http://sentiwordnet.isti.cnr.it/ .

21

Introdução

General SentimentI Coletam opiniões dos consumidores na internet.I Sintetizam e extraem informação dos resultados obtidos.I Auxiliam na tomada de decisões.

22

Introdução

Exemplo de um Relatório

23

Introdução

Exemplo de um Relatório

24

Introdução

Exemplo de um Relatório

25

Introdução

Sentiment140I Aplicativo desenvolvido para Análise de Sentimento de

dados do Twitter.I Coletam os tweets que mencionam determinado termo.I Contam o número de palavras positivas e negativas em

cada um deles.

26

Introdução

Método mais simples...I Tem uma lista de palavras positivas e negativas.I Conta a frequência em cada sentença.I Problemas com essa metodologia:

I não considera níveis de positividade/negatividade diferenteentre as palavras

I bom e ótimo são considerados iguais;I só considera o nível da palavra;I desconsidera o contexto.

27

Introdução

Função em R para calcular o sentimento:

score.sentiment = function(sentences, pos.words,neg.words, .progress=’none’){

require(plyr)require(stringr)# recebe como entrada um vetor de sentenças e uma

lista de palavras positivas e negativas# plyr - pacote para aplicar funções em vetores,

listas, matrizes rapidamente# laply - aplica a função em cada sentença e

retorna um vetor correspondente ao score# de cada umascores = laply(sentences, function(sentence,

pos.words, neg.words) {# clean up sentences with R’s regex-driven global

substitute, gsub(): 28

top related