Sei sulla pagina 1di 52

Introduo a Data Science e

sua aplicao em Anlise de


Sentimentos
Mauricio Onoda
26/10/2016

Bio

Graduao em Computao (ITA - Instituto Tecnolgico de


Aeronutica), 1989

Mestrado em Sistemas Computacionais (COPPE/UFRJ), 2001 Data


Mining

Doutorado em Sistemas Computacionais (COPPE/UFRJ), 2006


Web Mining

+10 anos na rea de TI

H 13 anos trabalho com Machine Learning:


Participei em projetos de Data Mining para a Folha de
So Paulo, UOL, Banco Santander, Renault e Nextel
Trabalhei como pesquisador no Ncleo de Transferncia
de Tecnologia (COPPE/UFRJ) em projetos de Data/Text
Mining para a Petrobras, Light, Furnas, ONS, Oi e FGV
Breve experincia em Game Analytics na Gazeus Games
Atualmente trabalho como Data Scientist na OLX em
projetos envolvendo processamento de textos e de

Data Science
David Taylor, autor da artigo Battle of
the Data Science Venn Diagrams
(out/16) publicado no site kdnuggets.com,
pesquisou as definies de Data Science
"Work that takes more programming skills than
most statisticians have, and more statistics skills
than a programmer has."
"Applied statistics, but in San Francisco."
"The field of people who decide to print 'Data
Scientist' on their business cards and get a salary
bump."

Battle of the Data Science Venn


Diagrams

Drew Conway,

2010

Battle of the Data Science Venn


Diagrams

Brendan Tierney,

Battle of the Data Science Venn


Diagrams

Joel Grus, 2013

Battle of the Data Science Venn


Diagrams

Steven Geringer,

Battle of the Data Science Venn


Diagrams

Matthew Mayo,

Buzzwords importantes
Conceitos
Data Mining
Machine Learning
Big Data
Data Science
Deep Learning X

No incio...
KDD x Data Mining

KDD = Knowledge Discovery in Database

Depois...
Data Mining x Machine
Learning
Machine
Learning

Atualmente
Big Data x Data Science
Data Scientist

Machine
Learning

Data Engineer

Conceitos importantes
Data Mining
Machine Learning
Big Data
Data Science
Modelo

Modelo
uma representao matemtica de um fenmeno
No nosso contexto: uma representao
simplificada de um sistema ou processo real, obtida
a partir dos dados da amostra
, portanto, uma representao dos dados
utilizados na modelagem e NO uma
representao do processo real que produziu
os dados
Um modelo de dados NO capaz de predizer
um comportamento que no est
representado nos dados de treinamento

Construo de Modelos
Atividade Preditiva
Nos problemas preditivos h uma ou mais
variveis de sada (ou variveis dependentes),
que devem ser preditas pelo modelo a partir das
variveis
de
entrada
(ou
variveis
independentes)

Atividade Descritiva
Nos problemas descritivos no h varivel de
sada
Resumem os dados
Caracterizam as propriedades interessantes

Algoritmos
Problemas Descritivos
Clusterizao
Associao

Problemas Preditivos
Classificao
Regresso

Algoritmos de
Aprendizagem No
Supervisionada

Machine
Learning
Algoritmos de
Aprendizagem
Supervisionada
Reconhecimento de
Padres

Data Science x Data Mining


Biblioteca ML do
Spark

Weka

Antes de falar de Anlise


de Sentimentos, preciso
passar por Text Mining

Text Mining
NL
P

Bo
W

Processamento de Linguagem
Natural

Liddy (1998) classifica as tcnicas de NLP de acordo com o


nvel da unidade lingustica e a sua complexidade de
processamento
Pode ser entendido como as fases necessrias que um
sistema computacional precisa para interpretar uma
sentena em linguagem natural

Anlise

Morfolgica
Anlise Lxica

Anlise Semntica
Anlise do Discurso
Anlise Pragmtica

Anlise Sinttica
Liddy, E.D. Enhanced Text Retrieval Using Natural
Language Processing, Bulletin of the American
Society for Information Science, Vol. 24, No. 4, 1998.

Processamento de Linguagem
Natural
Anlise Morfolgica
Analisa as formas variantes de uma determinada palavra com
relao aos seus componentes (prefixos, raiz e sufixos)
A tcnica de stemming, que reduz variantes de uma palavra
sua raiz comum para comparao de termos, um exemplo de
processamento morfolgico

Anlise Lxica

(na prtica, feita antes da Anlise

Morfolgica)
Est relacionado com a anlise da estrutura e significado de
cada palavra
Construo de uma lista de palavras que podem ter baixo
contedo semntico (stop list)
Identificao de personalidades e entidades
Classificao (etiquetador) das palavras em parte do discurso
(part-of-speech, ou POS)
Utilizao de dicionrios

Processamento de Linguagem
Natural
Anlise Sinttica (parsing)
Determina a estrutura sinttica das sentenas
Como tem que avaliar as estruturas possveis, um processo
computacionalmente caro

Fonte:
http://billhails.net/Book/images/
tflaa-tree.png

Processamento de Linguagem
Natural
Anlise Semntica
Tenta interpretar o significado no nvel de sentena
(frase) e no no nvel de palavra isolada
Nesta fase executa-se a desambiguao de palavras,
pois h um contexto de sentena
Processamento sofisticado

Anlise do Discurso
Tenta interpretar a estrutura e o significado de unidades
maiores (pargrafos, documentos, etc.)

Anlise Pragmtica

Utiliza conhecimentos externos (domnio, necessidade,


preferncias, objetivos)

Representao de Documentos
Por questes de eficincia e conciso, no se
trabalha com o texto completo dos documentos
Para representao, recuperao, classificao e
agrupamento dos documentos utilizam-se os
termos resultantes do pr-processamento
A ideia fundamental que a semntica do
documento pode ser expressa por um conjunto de
termos
Os documentos passam a ser representados por
vetores, onde os ndices correspondem aos
termos utilizados e os valores em cada posio
representam a importncia do termo dentro do
documento

BoW (Bag-of-Words)
Para uma coleo de documentos

Fonte: http://homepages.dcc.ufmg.br/~
nivio/cursos/ri08/transp/indexing.pdf

BoW (Bag-of-Words)
Matriz Termo-Documento

Vetor
es

Cada clula expressa a relao termo-documento, com um


peso ajk
O mais comum o TF-IDF (term frequencyinverse
document frequency)
Word2Vec: vetor de representao de palavras (rede
neural)

Ferramentas
www.kdnuggets.com/software/text.html

Acessado no dia
25/10/2016

Anlise de Sentimentos
Conceitos
Emoes
So breves, intensas e disparadas pela avaliao de um
evento ou apreciao de um objeto. Por exemplo: raiva,
tristeza, alegria, medo.

Sentimento experincia subjetiva da


emoo
Atitudes
Referem-se s preferncias e predisposies de um
indivduo para objetos (ou indivduos)
Tendncia de uma pessoa julgar tais objetos/indivduos
Exemplos: gostar, amar, desejar, odiar, valorizar

Opinies
Verbalizaes das atitudes

Adaptado de:
http://www.br-ie.org/pub/index.php/pie/article/download/2342/2097

Anlise de Sentimentos
Definio

a deteco de
atitudes/opinies
1. Sujeito (origem) da atitude
2. Objeto (aspecto) da atitude
3. Tipo da atitude
Exemplos: gostar, amar, desejar, odiar,
valorizar
Ou, simplesmente, a polaridade
ponderada
Positivo, negativo ou neutro, junto com a
intensidade
Mais comum
Fonte:
https://class.coursera.org/nlp/lecture/31

Anlise de Sentimentos
Nveis de complexidade

Tarefa simples
Identificar se a atitude (opinio) do texto
positiva ou negativa

Tarefa mdia
Mensurar a atitude (opinio) do texto
numa escala de 1 a 5, por exemplo

Tarefa difcil
Detectar o sujeito, o objeto e/ou o tipo
da atitude (opinio)

Anlise de Sentimentos
Abordagens
Classificao supervisionada
Documentos
Sentenas
No voltado para fruns, blogs, etc., onde um
mesmo autor pode expressar opinio sobre vrios
produtos/servios, alm de poder compar-los

Classificao no-supervisionada
Palavras
bottom Sentenas
up
Documentos

Identificao e classificao do objeto


(aspecto)

Classificao No-Supervisionada
Palavras

A tarefa mais bsica na Anlise de Sentimentos


identificar a polaridade de uma palavra
A tcnica mais comum a utilizao de um Lxico de
Sentimentos, que uma lista de palavras, com
respectivas polaridades, e expresses utilizadas por
pessoas para expressar sentimentos
Exemplos:
1.

The General Inquirer

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

1915 palavras positivas e 2291 palavras negativas

2.

Bing Liu Opinion Lexicon

(
http://www.cs.uic.edu/~liub/FBS/opinion-lexicon-English.rar)

6786 palavras, 2006 positivas e 4783 negativas

3.

SentiWordNet

(http://sentiwordnet.isti.cnr.it/)

Graus de positividade, negatividade e neutralidade de


palavras

Lxico de Sentimentos
The General
Inquirer

SentiWordNe
t
Fonte:

Lxico de Sentimentos
Lngua Portuguesa
SentiLex-PT 02

(http://
dmir.inesc-id.pt/project/SentiLex-PT_02)

4779 adjetivos
1081 nomes
489 verbos
666 expresses idiomticas

Lemma e forma flexionada

PoS = categoria gramatical ADJ(etivo), N(ome),


V(erbo), IDIOM(a)
TG = alvo da polaridade, o
qual corresponde a um
nome de tipo humano
(HUM), com funo de
sujeito (N0) e/ou
complemento (N1)
POL = polaridade, a qual pode
ser positiva (1),
negativa (-1) ou neutra
(0)
ANOT =
classificao de
polaridade, a qual pode
ter sido manualmente
(MAN) ou
automaticamente

Classificao No-Supervisionada
Sentenas
A soluo mais simples calcular a
soma (ou a mdia) das polaridades das
palavras presentes na sentena
Exemplos
"Finn is stupid and idiotic -2 + -3 =

-4
"Finn is only a tiny bit stupid and not
idiotic -4
Esta abordagem no considera
AFINN uma
palavras em ingls
palavras de
negao
e lista
de de
incremento

classificadas entre -5 e +5
Estas palavras foram manualmente
rotuladas por Finn rup Nielsen entre 2009
e 2011
A verso AFINN-111 contm 2477 palavras
e frases

Classificao No-Supervisionada
Documentos

Normalmente possui muitas palavras positivas e


negativas
A soluo mais simples calcular a soma das
polaridades de todas as palavras presentes no
documento
Ou definir polaridade das sentenas e depois
calcular a soma das polaridades do documento
Existem opes mais avanadas

Exemplo em Python

https://github.com/sgsinclair/alta/blob/dc47e4b47b133cee24a85e9817592971e67681cd/ipynb/utilities/SimpleSent

Case: Nike x Adidas


Total de posts processados: 50.106 posts (32.521 autores)
Total Adidas: 17.404 posts (12.595 autores)
Total Nike: 32.703 posts (23.747 autores)
Quantidade total de palavras : 4.447.551

Quantidade de palavras distintas (termos): 34.629

Perodo: 11/06/2010 04/07/2010


Fonte: Twitter/Predicta Copa das Marcas

Fonte: NTT/COPPE/UFRJ

Case: Nike x Adidas


Anlise de Sentimentos

Fonte: NTT/COPPE/UFRJ

Classificao Supervisionada
Classifica documentos/sentenas em positivo
ou negativo
Pode utilizar para treinamento base de
documentos pblicos (reviews)
C-NET
Ebay
RottenTomatoes
IMDB

As palavras de sentimento so mais relevantes


Dificuldade para seleo de atributos
Se for score numrico problema de
regresso

Exemplo em Python com NLTK

https://pythonspot.com/en/python-sentiment-

http://textprocessing.com/demo/sentiment/

Anlise de Sentimentos
Dificuldades
Avaliaes racionais x emocionais
Nas avaliaes racionais, as sentenas no expressam
emoo
O som do meu telefone claro

Nas avaliaes emocionais, h casos onde o sentimento


no est definido
Eu estou surpreso em te ver

Aspecto explcito x implcito


Os aspectos aparecem claramente nas frases
A qualidade de foto desta telefone tima

Os aspectos no so mencionados, mas esto implcitos


Este telefone no cabe no bolso

Anlise de Sentimentos
Na prtica
Fcil
Tweets, pois so curtos e normalmente vo direto ao
ponto

Fcil/Mdio
Reviews, pois os objetos/aspectos geralmente so claros
e h pouco rudo

Difcil
Discusses, comentrios e blogs, pois h mltiplos
objetos, h comparaes, rudos, sarcasmos, etc.

Determinar os sentimentos fcil; extrair os


objetos/aspectos difcil; combinar os dois
muito mais difcil!

Aplicaes
Anlise de
Sentimentos do
Twitter comparado
com pesquisa
Gallup de confiana
do consumidor
Brendan O'Connor, Ramnath
Balasubramanyan, Bryan R.
Routledge, and Noah A. Smith.
2010. From Tweets to Polls: Linking
Text Sentiment to Public Opinion
Time Series. In ICWSM-2010

Fonte: www.stanford.edu/class/cs124/lec/sentimen
t.pptx

Aplicaes

Dow Jones

Johan Bollen, Huina Mao, Xiaojun


Zeng. 2011. Twitter mood
predicts the stock market,
Journal of Computational Science
2:1, 1-8.
10.1016/j.jocs.2010.12.007.

CALM

Anlise de
Sentimentos do
Twitter
comparado com
mercado de aes

CALM prev o DowJones


com 3 dias de
antecedncia
Pelo menos um fundo
multimercado est
utilizando este
algoritmo

Fonte:
www.stanford.edu/class/cs124/lec/sentiment.pptx

Anlise de Sentimentos x Data Science

O Futuro de Data Science


What data scientists use today is a combination of
statistical and machine learning algorithms to find patterns
in the predictive models they use.
In the future the tools are going to de-emphasize the
mechanics of doing machine learning. So the data
scientists are going to be more creative about the types of
models they create, freeing them up to have more time for
curiosity to discover new things that may be of value.
Alex Woodie
The Future of Data Science
Setembro/2015

isso!
Perguntas?

Mauricio
Onoda
monoda@gmail

Potrebbero piacerti anche