análise de sentimento - parte i
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