• Nenhum resultado encontrado

3.2 A análise baseada em ocorrências de discutir e discutere em mensagens do

3.2.3 A análise automática dos tweets

3.2.3.1 Etapa de pré-processamento dos tweets

O primeiro tratamento aplicado na etapa de pré-processamento dos tweets é chamado de tokenização. A tokenização é a etapa em que um texto é segmentado em unidades linguísticas denominadas tokens. De acordo com Bird, Klein e Loper (2009, p.7, grifo dos autores), “token é o nome técnico para uma sequência de caracteres – como

cabeludo, dele, ou :) – que nós queremos tratar como um grupo”. 65 Segundo Carbonel

(2007, p. 10), o processo de tokenização, ao converter um texto de uma sequência de caracteres a uma sequência de unidades mais significativas (os tokens), resolve problemas tais como: “se um dado ponto é marca de fim de sentença ou pertence a uma abreviatura, ou ainda se uma vírgula é sinal de pontuação ou parte de um número”. Carbonel (2007, p. 10) oferece o seguinte exemplo para demonstrar o processo de tokenização: a sequência de caracteres “Ontem, o Dr. Pedro pagou R$ 50,99.” poderia ser tokenizada como: <‘ontem’ –

64 Texto original: “Natural Language Processing is a theoretically motivated range of computational

techniques for analyzing and representing naturally occurring written or oral texts at one or more levels of linguistic analysis for the purpose of achieving human-like processing for a range of tasks and applications”. (LIDDY, 2003).

65Texto original: “A token is the technical name for a sequence of characters – such as hairy, his, or :) – that

97 ‘,’ – ‘Dr.’ – ‘Pedro’ – ‘pagou’ – ‘R$’ – ‘50,99’ – ‘.’>. Outro exemplo de tokenização pode ser observado no quadro abaixo:

QUADRO 13

Exemplo de tweet tokenizado

Tweet original Tweet tokenizado

Eu disse ao @alexandreanura para

entrar no meu SITE

www.meusite.com.br :)

“Eu”, “disse”, “ao”,

“@alexandreanura”, “para”, “entrar”,

“no”, “meu”, “SITE”,

“www.meusite.com.br”,”:)”

Além de serem tokenizados, todos os tweets foram transformados em caixa baixa. Isso é feito para evitar, por exemplo, que a mesma palavra seja interpretada como duas palavras diferentes se está no início ou no meio da frase. Um exemplo da transformação dos tweets em caixa baixa pode ser visualizado no quadro abaixo:

QUADRO 14

Exemplo de tweet com caixa baixa

Tweet tokenizado Tweet com caixa baixa

“Eu”, “disse”, “ao”,

“@alexandreanura”, “para”, “entrar”, “no”, “meu”, “SITE”, “www.meusite.com.br”,”:)”

“eu”, “disse”, “ao”,

“@alexandreanura”, “para”, “entrar”, “no”, “meu”, “site”, “www.meusite.com.br”,”:)”

98 Além da tokenização e da caixa baixa, os emoticons66 presentes nos tweets também

receberam tratamento específico. Emoticons são entidades que carregam algum tipo de sentimento e, portanto, são fundamentais para essa análise. É importante garantir que os caracteres que compõem um emoticon sejam agrupados e interpretados como uma única informação. Além disso, como o estudo envolve analisar sentimentos positivos ou negativos em tweets, foi implementada uma etapa para interpretar o sentimento que cada emoticon carrega: positivo, neutro ou negativo. Esses emoticons foram, então, substituídos pelas seguintes etiquetas, respectivamente: \EMOT_POS, \EMOT_NEU ou \EMOT_NEG. O quadro seguinte mostra como os emoticons foram classificados: 67

QUADRO 15

Classificação dos emoticons

Emoticons negativos >:[ :-( :( :-c :c :-< :< :-[ :[ :{ ;( :-|| :@ >:( :'-( :'( D:< D: D8 D; D= DX v.v D-': >:\ >:/ :-/ :-. :/ :\ =/ =\ :L =L :S >.<

Emoticons Neutros >:O :-O :O 8-0

:| :-| :$

:-X :X :-# :# >:) >;) >:-) }:-) }:) 3:-) 3:)

Emoticons Positivos :-) :) :o) :] :3 :c) :> =] 8) =) :} :^) :o) :-D :D 8-D 8D x-D xD X-D XD =-D =D =-3 =3 B^D :-)) :'-) :') :* :^* ;-) ;) *-) *) ;-] ;] ;D ;^) :-,

66 Os emoticons são sequências de caracteres usados convencionalmente para representarem a emoção de

quem os usa. Para um panorama do estudo de emoticons e seus significados, ver GONÇALVES, P.; BENEVENUTO, F.; ALMEIDA, V. O que tweets contendo emoticons podem revelar sobre sentimentos coletivos? In: Anais do Workshop Brasileiro de Análises de Rede Sociais e Mineração. Maceió, 2013.

67 A classificação se deu a partir da lista de todos os emoticons ocidentais seguidos de seus significados (List of emoticons, Wikipedia). Dessa forma, a partir dos significados atribuídos aos emoticons, neste trabalho eles

foram classificados em positivos, neutros e negativos. Para acesso à lista:

99 >:P :-P :P :-p :p =p :-Þ :Þ :þ :-þ :-b :b

O:-) 0:-3 0:3 0:-) 0:) 0;^) o/\o ^5 >_>^ ^<_<

No quadro abaixo podemos observar o mesmo tweet utilizado nos quadros 13 e 14 ao passar pelo tratamento dos emoticons:

QUADRO 16

Exemplo de tweet com emoticons tratados

Tweet tokenizado e com caixa baixa Tweet com emoticons tratados

“eu”, “disse”, “ao”,

“@alexandreanura”, “para”, “entrar”, “no”, “meu”, “site”, “www.meusite.com.br”,”:)”

“eu”, “disse”, “ao”,

“@alexandreanura”, “para”, “entrar”,

“no”, “meu”, “site”,

“www.meusite.com.br”,”\EMOT_POS”

Outro tratamento aplicado foi a remoção das chamadas stopwords. As stopwords são “todas aquelas palavras que aparentemente não desempenham um papel importante na classificação automática dos textos” (OTHERO, 2004, p. 5). Stopwords frequentes são: artigos, conjunções, advérbios, pronomes e preposições. Tais palavras, usadas em abundância nos textos, dificultam seu processamento automático e, dessa forma, são excluídas na etapa de preparação dos textos a serem analisados. Nessa etapa de preparação é feita a lista de stopwords (chamada também de stoplist ou dicionário negativo)68 e isso faz

com que as palavras colocadas na stoplist não sejam levadas em consideração quando da análise automática do texto. No QUADRO 17 pode-se observar um exemplo do tratamento das stopwords:

68 As

stopwords em PB foram extraídas da página

<http://snowball.tartarus.org/algorithms/portuguese/stop.txt> e podem ser visualizadas no APÊNDICE I. As

stopwords em italiano foram extraídas da página <http://snowball.tartarus.org/algorithms/italian/stop.txt> e

100 QUADRO 17

Exemplo de tweet com stopwords removidas Tweet tokenizado, com caixa baixa e

emoticons tratados

Tweet com stopwords removidas

“eu”, “disse”, “ao”,

“@alexandreanura”, “para”, “entrar”, “no”, “meu”, “site”, “www.meusite.com.br”,

”\EMOT_POS”

“disse”, “@alexandreanura”, “entrar”, “site”,

“www.meusite.com.br”,”\EMOT_POS”

Os tweets, após passarem pelos tratamentos de tokenização, caixa baixa e remoção de stopwords, também passaram pelo tratamento de tokenização de usuários e websites. Nessa etapa, todos os nomes de usuários foram substituídos pela etiqueta \USER e todos os websites usados nos tweets foram substituídos pela etiqueta \URL. A decisão de tokenizar os usuários e websites se deu porque, para a classificação automática, seria importante se, por exemplo, o fato de um tweet se referir a alguém ou a algum site tivesse mais frequentemente conotação negativa ou neutra/positiva. Entretanto, se vários nomes de pessoas ou vários websites fossem mencionados nos tweets, seria impossível que os algoritmos usados na classificação automática pudessem fazer tal análise. Dessa forma, todos os nomes de usuários e de websites foram substituídos pelas etiquetas citadas, uniformizando os dados a serem tratados na análise automática dos tweets. Um exemplo da tokenização de usuários e de websites pode ser visualizado no quadro que segue:

QUADRO 18

Exemplo de tweet com tokenização de usuários e websites Tweet tokenizado, com caixa baixa,

emoticons tratados e stopwords removidas

Tweet com usuários e websites tokenizados

“disse”, “@alexandreanura”, “entrar”, “site”,

“www.meusite.com.br”,”\EMOT_POS”

“disse”, “\USER”, “entrar”, “site”, “\URL”,”\EMOT_POS”

101 O último tratamento realizado no pré-processamento dos tweets é chamado de stemming. De acordo com Orengo e Huyck (2001, p. 186), stemming (ou radicalização) é o processo de combinar as formas diferentes de uma palavra em uma representação comum. Os autores oferecem, para a língua inglesa, os seguintes exemplos de stemming: as palavras presentation, presented e presenting são reduzidas, por meio desta técnica, à representação comum present. A importância de utilizar a técnica de stemming no pré-processamento do texto a ser analisado automaticamente consiste na tentativa de obter com maior precisão a unidade lexical a ser analisada. No trabalho desenvolvido nesta tese, por exemplo, dado o interesse na análise automática de todas as formas que os verbos discutir e discutere podem assumir (todas as conjugações verbais, bem como todas as formas dos substantivos derivados dos verbos), se todas essas formas fossem tratadas na análise automática como formas diferentes, o processo poderia ser prejudicado e informações poderiam ser perdidas quando da aprendizagem dos padrões por parte do computador. Dessa forma, se, por exemplo, na análise manual há uma tendência a classificar o verbo discutir como negativo quando este aparece na frase junto a determinados tipos de palavras, todo o processo seria dificultado se a aprendizagem automática do computador precisasse criar um novo padrão para cada ocorrência desse verbo e das palavras que o acompanham na frase. O resultado após a técnica de stemming é que todas as variações de uma mesma unidade lexical serão tratadas igualmente, o que facilita a aprendizagem por parte do computador e sua consequente análise automática dos tweets. O algoritmo de stemming utilizado é conhecido como Snowball. 69 Sua utilização se deve ao fato de algoritmos similares existirem para o PB e para o italiano. Um exemplo do tratamento de stemming pode ser observado no QUADRO 19:

69 Mais informações sobre o algoritmo de stemming Snowball podem ser encontradas em

102 QUADRO 19

Exemplo de tweet com tratamento de stemming Tweet tokenizado, com caixa baixa,

emoticons tratados, stopwords removidas e usuários e websites tokenizados

Tweet com tratamento de stemming

“disse”, “\USER”, “entrar”, “site”, “\URL”,”\EMOT_POS”

“di”, “\USER”, “entr”, “site”, “\URL”,”\EMOT_POS”

Apresentados os tratamentos realizados na etapa de pré-processamento do corpus desse estudo, na próxima subseção é apresentada a metodologia usada para a análise automática dos tweets.