• No results found

P ROBLEM S TATEMENT AND O BJECTIVES

1. INTRODUCTION

1.2 P ROBLEM S TATEMENT AND O BJECTIVES

O problema de criar um léxico de sentimento segundo a abordagem baseada em corpus pode ser definido formalmente da seguinte maneira. Dado um conjunto de textos T do domínio escolhido, onde t ∈ T é uma string de caracteres, o léxico de sentimentos associado a esse domínio é um conjunto de tuplas Γ = {γ1, γ2, γ3, ...}. Cada tupla γx pode

ser definida como γx = (w, s), onde w ∈ T T é um token e s ∈ R é a nota associada a w.

O conjunto T T pode ser definido como o conjunto de todos os tokens extraídos dos textos de T , ou seja, T T = ∪tok(t), ∀t ∈ T , onde tok(x) é o conjunto de tokens resultado da tokenização de x. A tokenização de uma frase refere-se ao processo de dividir essa frase nas suas palavras constituintes, eliminando pontuação e outros elementos desneces- sários ao processamento da frase. Ou seja, tok(t) é uma função que recebe uma string de caracteres e retorna um conjunto de strings de caracteres referentes às suas partes constituintes.

A nota s associada a um token w é um indicativo do sentimento desse token. Se s ≥ 0, então w possui uma conotação positiva. Por outro lado, se s < 0, então w possui uma conotação negativa.

Já o problema de criar um léxico de sentimento segundo a abordagem baseada em dicio- nário possui a mesma saída esperada, qual seja, um conjunto de tuplas Γ = {γ1, γ2, γ3, ...}.

Porém, nesse caso, a entrada do problema é diferente, pois é constituída de um dicionário formal constituído de sinônimos e antônimos, além de informações de um etiquetador morfológico (part-of-speech).

3.2

Análise de Sentimento

Linguagem Natural é definida como uma linguagem que é usada para a comunicação diária de humanos, ou seja, linguagens como inglês e português [6]. Ao contrário de lin- guagens artificiais, como linguagens de programação e notações matemáticas, linguagens naturais evoluíram através das gerações, sendo difícil muitas vezes explicar as suas regras de construção.

Processamento de linguagem natural (NLP) é definido como qualquer tipo de ma- nipulação por computador de uma linguagem natural. Por um lado, pode ser simples como contar a frequência de palavras para comparar diferentes estilos de escrita. Por outro lado, NLP envolve entender a comunicação humana e conseguir dar respostas úteis para perguntas feitas por humanos. Um dos problemas existentes no NLP é a análise de sentimentos. Segundo [31], análise de sentimento é a área de estudo responsável por ana- lisar as opiniões, sentimentos, avaliações, atitudes e emoções das pessoas sobre entidades

como produtos, serviços, organizações, indivíduos, assuntos, eventos, tópicos, e os seus atributos.

Há também vários nomes e subtarefas relacionadas à análise de sentimento, como mineração de opiniões, extração de opiniões, mineração de sentimentos, análise de emoções e mineração de reviews.

NLP tem sido estudado por cientistas da computação há bastante tempo. Porém, o interesse pela análise de sentimentos é mais recente. A grande quantidade de dados dispo- níveis nas redes sociais e em blogs, que muitas vezes expressam opiniões ou sentimentos, impulsionou o interesse por essa área. Na análise do sentimento de um texto, há diferentes níveis de análise:

1. Nível de documento: o objetivo é saber o sentimento geral do texto sobre o assunto a que ele se refere. O mesmo texto pode conter frases positivas e negativas sobre o assunto e é preciso consolidar o sentimento predominante do texto.

2. Nível de sentença: o objetivo é saber o sentimento de uma sentença do texto. A mesma sentença pode ter ter sentimentos conflitantes e, da mesma forma, a intenção é saber o sentimento predominante da sentença.

3. Nível de palavra: o objetivo é saber se uma determinada palavra no texto tem conotação positiva ou negativa.

Em alguns casos, o documento ou sentença não apresenta nenhum sentimento ou opi- nião. Por isso, para algumas aplicações, é necessário saber se um determinado documento é objetivo ou subjetivo. Isso é chamado de polaridade-SO, onde SO significa subjetivo e objetivo. O sentimento do texto é analisado apenas se ele for subjetivo. O sentimento pode ser positivo ou negativo. Isso é chamado de polaridade-PN. Por exemplo, a frase ’I bought an iPhone’ é objetiva e não contém nenhuma opinião sobre o objeto, enquanto a frase ’I loved my new iPhone’ é subjetiva e implica em uma opinião positiva.

Outra abordagem para esse problema é categorizar o sentimento de um texto como positivo ou negativo. Por exemplo, na análise de sentimento de tweets sobre um determi- nado assunto é suficiente saber a quantidade de tweets negativos e positivos. Com isso, é possível extrair a opinião geral das pessoas no Twitter sobre o assunto.

Em outras aplicações isso não é suficiente. Por exemplo, se um usuário deseja comprar um celular novo, pode não ser suficiente saber se a opinião geral dos usuários sobre o celular é positiva ou negativa. Pode ser mais interessante saber sobre alguns aspectos específicos do produto, como a bateria ou a resolução da tela.

Para isso, foi criado o conceito de quíntuplas de opiniões [31]. Segundo o autor, uma opinião pode ser definida como uma quíntupla de informações que contêm o nome da

entidade, o aspecto da entidade, o sentimento a respeito daquele aspecto, a pessoa que deu a opinião e quando a opinião foi emitida. Essa definição é importante quando se deseja extrair diversas opiniões diferentes e consolidar isso em relatórios detalhados.

O nível de análise do sentimento extraída de um texto depende da aplicação. Para o propósito deste estudo, define-se análise de sentimento como sendo a subtarefa de cate- gorizar o sentimento de um texto como positivo ou negativo.

3.2.1

Análise de Sentimento de Tweets

A análise de sentimentos de tweets é uma tarefa relacionada à análise de sentimentos tradicional, com algumas peculiaridades. Por um lado, a análise de tweets pode ser considerada mais fácil do que a análise de textos tradicionais pelo tamanho curto dessas mensagens, o que faz com que normalmente elas sejam mais objetivas na opinião que querem expressar. Por outro lado, o uso de gírias, abreviações, sarcasmo, emoticons, hashtags, menções e links podem dificultar o trabalho de processamento desses textos, tornando-os mais difíceis do que textos tradicionais.

A análise de sentimentos de tweets normalmente é usada para analisar a opinião geral dos usuários sobre um determinado tópico, normalmente através de filtros de hashtags, usuários ou termos. Então, na maioria dos casos, é suficiente extrair se o tweet apresenta uma opinião positiva ou negativa, sem precisar quebrar em quíntuplas como foi visto na seção anterior.

Muitas abordagens para esse problema podem ser encontradas na literatura. Uma boa parte delas faz uso de algoritmos de aprendizagem de máquina ([38], [2], [56], [15]). Os algoritmos mais comuns usados com essa finalidade são máquinas de vetores de suporte, entropia máxima e classificador Naive Bayes.

3.2.2

Descrição Formal do Problema

Para o presente trabalho, a análise de sentimento de textos pode ser definido formal- mente da seguinte maneira. Dado um conjunto de textos T , onde t ∈ T é uma string de caracteres, a análise de sentimento desse conjunto corresponde a um conjunto de tuplas Γ = {γ1, γ2, γ3, ...}. Cada tupla γx pode ser definida como γx = (t, n, s), onde t ∈ T ,

n ∈ R é a nota associada a t e s ∈ {P ositivo, Negativo} é o sentimento de t. O sentimento s é derivado de n através da Equação 3.1.

s = (

P ositivo se n ≥ 0

O sentimento geral do conjunto de textos pode ser extraído computando a porcentagem deles que são positivos e negativos.