Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar)....

27
Recognizing emotions in text using ensemble of classifiers Isidoros Perikos, Ioannis Hatzilygeroudis Department of Computer Engineering & Informatics, University of Patras, 26504 Patras, Greece. Revista: Engineering Applications of Artificial Intelligence (fev, 2016) 191–201 Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Computação e Sistemas Digitais PCS 5869 – Inteligência Artificial Daniella Vieira

Transcript of Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar)....

Page 1: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Recognizing emotions in text using ensemble of classifiers Isidoros Perikos, Ioannis Hatzilygeroudis Department of Computer Engineering & Informatics, University of Patras, 26504 Patras, Greece. Revista: Engineering Applications of Artificial Intelligence (fev, 2016) 191–201

Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Computação e Sistemas Digitais PCS 5869 – Inteligência Artificial

Daniella Vieira

Page 2: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Emoções constituem o fator chave da natureza humana.

Page 3: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Pessoas demonstram seus pensamentos e se comunicam por meio de textos.

As emoções em IA foram pesquisadas inicialmente por Picard (1997).

O texto escrito é a forma mais comum de comunicação entre as pessoas, sendo esta a espinha dorsal da web e das mídias sociais.

Page 4: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Proposta

O trabalho trata de um sistema de análise de sentimento para reconhecimento automático de emoções expressas em texto, usando um conjunto de classificadores.

Page 5: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Emotion models

A maneira que as emoções são representadas é um aspecto essencial para o sistema de reconhecimento de emoção.

Os modelos mais populares para representar as emoções são o categórico e o dimensional.

• O modelo categórico assume que há um número finito de emoções básicas e discretas, onde cada um está servindo a um propósito particular.

• O modelo dimensional assume que é criado um espaço emocional e cada emoção encontra-se neste espaço.

Page 6: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Emotion models

.

Ekman’s model (1999) Ortony–Clore–Collins

(1988)

Parrot's model (2001),

Um modelo categórico muito

popular e amplamente

utilizado.

Especifica seis emoções

humanas básicas: raiva,

nojo, medo, felicidade,

tristeza, surpresa.

Modelo OOC especifica 22

categorias de emoção, com

base em reações

emocionais humanas para

várias situações.

Modela as emoções

humanas em geral.

Constitui-se de um grupo de

seis emoções básicas, que

são: amor, alegria, surpresa,

raiva, tristeza e medo.

Criou uma estrutura de

árvore de emoções,

consistindo em três níveis.

Cada nível refina a

granularidade do nível

anterior, fazendo emoções

abstratas se tornarem mais

concretas.

Identifica mais de 100

emoções.

Page 7: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Emotion models

.

Plutchik's model (2001) Russell (1980)

É um modelo dimensional que define 8

emoções básicas (bipolar).

Organizados em: alegria vs tristeza, raiva vs

medo, confiança vs desgosto e surpresa vs

antecipação.

Cada emoção pode ser dividida em três

graus, por exemplo, a serenidade é um

menor grau da alegria, e, êxtase é um grau

mais intenso de alegria.

Além disso, as oito emoções básicas podem

ser combinadas aos sentimentos.

As emoções são representadas em um

espaço bidimensional circular.

A uma dimensão do espaço é usada para

representar a polaridade da emoção e a

outra dimensão ativação a emoção

A dimensão de polaridade caracteriza uma

emoção como positivo ou negativo.

A ativação caracteriza uma emoção como

ativado ou desativado.

Page 8: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Related work

Abordagens de reconhecimento de emoções por aprendizado de máquina

Alm et al. (2005)

Sentenças em contos de fadas.

Neviarouskaya et al.

(2007)

Reconhecimento do modelo de Ekman em blogs

posts (70% de resultado)

Brilis et al. (2012) Classificou letras de música em categorias de

humor (stemming, TF-IDF, Random Forest

algorithm).

Danisman and Alpkocak

(2008)

Modelo do espaço vetorial para classificar emoções

em texto.

Ho and Cao (2012) Abordagem de Markov para especificar emoções

prováveis em um dado texto.

Page 9: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Related work

Outras abordagens

Osherenko and André

(2007)

Abordagem estatística.

Chaumartin (2007) Abordagem KB para reconhecer emoções textuais.

Desenvolveu uma ferramenta.

Ptaszynski et al.(2013) Analise de emoções textuais em narrativas

japonesas.

Xia et al.(2011) Para reconhecer a polaridade do texto combina:

Naïve Bayes, Maximum Entropy e Vector Machine.

Wang et al.(2014) Combina: Naïve Bayes, Maximum Entropy, Decision

Tree, K-nearest Neighbor e Vector Machine.

Page 10: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Arquitetura

An ensemble classifier system for sentiment analysis of textual data. Estatísticos

Análise de linguagem

natural

Determina se a

sentença é emocional

ou neutra.

Se for emocional,

determina a polaridade.

Page 11: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Feature representation

Para representação do texto em linguagem natural utilizou-se a técnica bag-of-words (BOW).

Um documento é considerado uma coleção não ordenada de palavras.

• A sentença é inicialmente “tokenizada”.

• Cada termo passa pelo processo de “lematização”.

• As stop words são retiradas e características da sentença são encaminhadas para base learners.

(1) Token: as instâncias dos termos que ocorrem no documento.

(2) Lematização: Se refere ao uso correto do vocabulário e a análise morfológica da palavra.

(3) Stop Words: Termos comuns que tem pouco valor para a recuperação de informação.

Page 12: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Emotion recognition system

Naïve Bayes e Maximum entropy são treinados para reconhecer sentimentos em bases textuais usando o International Survey on Emotion Antecedents and Reaction (ISEAR) e Affective text datasets.

A KB faz uma análise profunda das estruturas de linguagem natural, especifica dependências de palavras e determina o modo como as palavras são conectadas.

Page 13: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Naïve Bayes classifier

Pressupõe que as palavras são independentes entre si e assim, cada palavra individual é considerada uma indicação da emoção.

Python NLTK toolkit

Page 14: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Maximum Entropy classifier

• Pode realizar tarefas de classificação difíceis apresentando bom desempenho em diversas tarefas de processamento de linguagem natural, como segmentação de sentenças, modelagem de linguagem e reconhecimento de entidades nomeadas.

• Pode ser usada também quando não se pode assumir independência dos termos.

• Exige mais tempo de treinamento.

Python's Text Blob

Page 15: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Treinamento

O treinamento foi enriquecido com sentenças neutras e que denotam surpresa adicionais do Twitter e artigos.

Assim, todas as categorias foram contempladas já que o ISEAR não incluía sentenças que denotam surpresa!!!

Page 16: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Knowledge-based classification tool

Named Entity Recognizer (NER) utilizado para detectar nomes próprios e entidades com o

objetivo de auxiliar a análise das sentenças e especificar o modo como partes emocionais

do texto são associadas com estas entidades.

Page 17: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Knowledge-based classification tool

1. Uses Tree tagger to specify the words' lemmas and

grammatical roles.

2. Uses Stanford parser to analyze sentence structure and get

the dependencies and the dependency tree.

3. Uses NER to recognize named entities and persons.

4. For each word uses the knowledge base to determine whether it

is emotional or not. If it is,

4.1 Analyzes its relationships.

4.2 Checks if a modification relationship with quantification

words exists, analyzes it and determine emotion strength.

4.3 Analyzes the dependency tree, recognizes sentence

pattern/ structure and based on it, determines the sentence's

emotional content.

Page 18: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

“She kissed her aunt with great happiness”

Page 19: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Determining sentence emotional content

“Subject–Verb–Object”

1. Analyze the sentence dependencies and extract the

subject-verb-object pattern.

2. For each grammatical role of the pattern (e.g. object or

verb or subject).

2.1 Specify whether it is an emotional part

2.2 Analyze its relationships with emotional parts (if

any)

2.3 Specify its emotional content.

3. Combine emotional contents of the parts to specify the

sentence overall emotions.

Page 20: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Ensemble classifier voting

O classificador determinou se a sentença é neutra ou emocional. No caso de ser emocional, determina a polaridade de conteúdo.

Cada classificador tem um voto.

Page 21: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Specify emotional polarity

(Russell, 1980)

Page 22: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Evaluation study

Para fins de avaliação, foi criado um corpo de prova de diferentes fontes. Um especialista fez as anotações manualmente para determinar a polaridade (+, - ou neutra).

Sentenças 750

Fonte BBC, CNN, Euronews e Twitter posts.

Corpo de prova 250 títulos

250 artigos

250 posts do Twitter

Anotação (a) existência, e (b) grau frente as emoções,

onde 0 representa ausência e 100 representa

emoções muito fortes.

Page 23: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Evaluation results

Saída binária, sobre as seguintes métricas: exatidão, precisão, sensibilidade e especificidade.

TP: número de casos válidos corretamente classificados.

TN: número de casos inválidos corretamente classificados.

FN: número de casos válidos que foram classificados incorretamente.

Page 24: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Evaluation results

Page 25: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Evaluation results

KB teve um desempenho bom para títulos e artigos.

NB e MaxEnt para Tweets

Contudo, o sistema elaborado teve a melhor performance.

Page 26: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Conclusões e trabalhos futuros

• O desempenho foi positivo.

• Há um equívoco na fórmula apresentada.

• Percepção diferente sobre as emoções dado a perspectiva

Eu ri dele

Ele riu para mim

• Tema de doutorado pode vir a adotar uma estrutura similar a da utilizada pelos autores.

Page 27: Recognizing emotions in text using ensemble of classifiers · emoções básicas (bipolar). Organizados em: alegria vs tristeza, raiva vs medo, confiança vs desgosto e surpresa vs

Daniella Vieira

[email protected]

+55(48)8823-0321

+55(48)3304-0311

www.pectem.com

Perguntas