pós-graduação em ciência da computação · abordado neste é um processo e torna-se um desafio...

99
Pós-Graduação em Ciência da Computação AVALIAÇÃO QUALITATIVA DA AUDIÊNCIA DE TELEVISÃO BASEADA NA CLASSIFICAÇÃO DE SENTIMENTO DE USUÁRIOS EM REDES SOCIAIS” Por Artur Vieira Tenorio Dissertação de Mestrado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao RECIFE 2014

Upload: others

Post on 14-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Pós-Graduação em Ciência da Computação

“AVALIAÇÃO QUALITATIVA DA AUDIÊNCIA DE

TELEVISÃO BASEADA NA CLASSIFICAÇÃO DE

SENTIMENTO DE USUÁRIOS EM REDES SOCIAIS”

Por

Artur Vieira Tenorio

Dissertação de Mestrado

Universidade Federal de Pernambuco

[email protected]

www.cin.ufpe.br/~posgraduacao

RECIFE 2014

Page 2: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Universidade Federal de Pernambuco

CENTRO DE INFORMÁTICA

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Artur Vieira Tenorio

“AVALIAÇÃO QUALITATIVA DA AUDIÊNCIA DE TELEVISÃO BASEADA NA CLASSIFICAÇÃO DE SENTIMENTO DE USUÁRIOS EM REDES

SOCIAIS."

Este trabalho foi apresentado à PÓs-Graduação em Ciência da COMPUTAÇÃO do Centro de INFORMáTICA DA Universidade Federal de Pernambuco como requisito parcial para obtenção do grau de MESTRE EM Ciência da Computação.

ORIENTADOR(A): CARLOS ANDRÉ GUIMARÃES FERRAZ

RECIFE 2014

Page 3: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Catalogação na fonte Bibliotecária Jane Souto Maior, CRB4-571

Tenório, Artur Vieira Avaliação qualitativa da audiência de televisão baseada na classificação de sentimento de usuários em redes sociais / Artur Vieira Tenório. - Recife: O Autor, 2014. 98 f., fig., tab. Orientador: Carlos André Guimarães Ferraz.

Dissertação (mestrado) - Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2014. Inclui referências e apêndice. 1. Sistemas Distribuídos. 2. TV digital. 3. Sensibilidade a contexto. I. Ferraz, Carlos André Guimarães (orientador). I. Título. 004.36 CDD (23. ed.) MEI2014 – 124

Page 4: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Dissertação de Mestrado apresentada por Artur Vieira Tenorio à Pós-Graduação em

Ciência da Computação do Centro de Informática da Universidade Federal de

Pernambuco, sob o título “Avaliação de Audiência Qualitativa de Televisão Baseadas

na Classificação de Sentimento de Usuários em Redes Sociais” orientada pelo Prof.

Carlos André Guimarães Ferraz e aprovada pela Banca Examinadora formada pelos

professores:

______________________________________________

Prof. Kiev Santos da Gama Centro de Informática / UFPE ______________________________________________ Profa. Yvana Carla Fechine de Brito Departamento de Comunicação Social / UFPE _______________________________________________ Prof. Carlos André Guimarães Ferraz

Centro de Informática / UFPE Visto e permitida a impressão. Recife, 28 de fevereiro de 2014. ___________________________________________________ Profa. Edna Natividade da Silva Barros Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

Page 5: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Dedicado aos aos meus pais, fundamentais na

minha vida

Page 6: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Agradecimentos

Agradeço primeiramente aos meus pais, pois sem o esforço e dedicação deles eu

não teria as oportunidades que tive. Os constantes conselhos e incentivos e ajudas

dados pelo meu pai, Agenor Tenorio e minha mãe Solange Tenório foram fundamentais

para que eu tivesse atingido este objetivo. Aos meus irmãos, Fábio e Vitor, que mesmo

indiretamente estiveram presentes durante toda a elaboração deste trabalho.

Agradeço também à minha namorada e futura companheira para toda a vida, Adriana

Lemos, onde encontrei apoio e compreensão nas fases mais complicadas. Espero não

precisar compartilhar mais dias tão stressantes com você.

Ao meu orientador Prof. Dr. Carlos Ferraz pela compreensão, paciência e longas

conversas sempre proveitosas durante as reuniões que resultaram na elaboração deste

trabalho.

Ao CESAR (Centro de Estudos e Sistemas Avançados do Recife), onde adquiri

conhecimento e experiência na área de televisão digital dentre outras tecnologias.

Aos meus amigos mais próximos, que por vezes confundidos como irmãos, que

direta ou indiretamente me ajudaram bastante durante todo o período deste projeto. Em

especial Cirdes Borges, onde pude tirar dúvidas relacionadas ao desenvolvimento deste

projeto utilizando tecnologias que eu tinha pouco domínio. Cleano, Felipe “Lapeta”,

Renata, Romero “Mafra”, verdadeiros companheiros para todos os momentos bons e

ruins.

Page 7: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

“A ciência nunca resolve um problema sem criar pelo menos

outros dez.”

George Bernard Shaw

Page 8: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Resumo

O televisor é o aparelho eletrônico mais popular no Brasil, sendo considerado uma

ferramenta com grande poder de influência e formação de opinião pública devido à sua

facilidade de acesso, abrangência e popularidade. A crescente inclusão digital vista no

Brasil, juntamente com o acesso às redes sociais, permitiu que telespectadores

pudessem expressar opinião a respeito de programas televisivos, não somente entre os

seus próximos, mas entre milhões de outros telespectadores durante um programa

através de notebooks, celulares e tablets, conhecidos também como a “segunda tela”.

Dentre as redes sociais com grande acesso, destaca-se o Twitter quando se deseja ler

estes dados. Utilizando técnicas de Análise de Sentimentos (AS), diversas ferramentas

surgiram para determinar a polaridade das opiniões, sendo positiva, negativa ou neutra.

Automatizar o processo de captura de dados, levando em consideração a relevância

destes sobre um programa televisivo, e identificar o sentimento empregado pelo

telespectador, é uma forma de qualificar a audiência. Esta é uma informação útil para

produtores de conteúdo quando se deseja tomar uma decisão ou verificar se alguma

parte do conteúdo não agrada o público. Entretanto, estas informações estão dispersas,

ocasionando um eventual processo manual de verificação. Visando identificar todas as

dificuldades existentes neste processo, é proposto um sistema capaz de automatizar

todas as etapas envolvidas. São utilizadas informações contextuais sobre o programa

televisivo e o telespectador para determinar se o conteúdo de uma publicação feita por

este tem relação com o conteúdo do programa em questão. Em seguida e com o apoio

das ferramentas de classificação de sentimentos mais mencionadas em trabalhos

acadêmicos na área de Análise de Sentimentos (SentiWordNet e SentiStrenght),

determinar a polaridade do texto publicado por um telespectador. Os resultados obtidos

mostram que as propostas para seleção de dados relevantes são eficazes, entretanto

existem diversas dificuldades envolvidas quando se deseja classificar o sentimento

empregado. O fato de não existir ferramentas de AS adequadas para a grafia das redes

sociais e que sejam compatíveis com a língua portuguesa, torna-se um fator dificultante.

Além disto, determinar a intenção do telespectador em relação ao programa ou ao tema

abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência

da computação.

Palavras-chave: TV Digital, Classificação de Sentimentos, Redes Sociais.

Page 9: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Abstract

The television is the most popular electronic equipment of Brasil and it is considered

a resource with great power to influence the public opinion due the facility to be reached,

comprisement and popularity.The growing digital inclusion observed in Brasil along with

access to social networks, permited the TV viewers could to express your opinions

regarding TV programs, not only between their neighbors but also among millions of

another TV viewers during the time of one TV program by the use of notebooks, mobiles

and tablets, known also as "second screen". Among the social networks with big access,

we can highlight the Twiter when we wish to read these informations. By the use of

technics of Sentiment Analysis, several tools have emerged to determine the polarity of

opinions, being positive, negative or neutral. Automate the process of capturing data,

considering the relevance of these on a television program, and identify the feeling by the

TV viewer, is a way to qualify the audience. This is a useful information to programs

producers when they want to take a decision or to verify if the public did not like any part

of the contents. However, this information is scattered on the Internet, causing a possible

manual verification. With the objective of to identify all the dificulties in this process, we

propose a system capable of automate all the steps involved. It is used context

information in order to determine a relation between the TV program and the social

network text provided by the TV viewers. Then, with the support of the tools that classify

sentiment mentioned in academic works in the area of Sentiment Analysis (SentiWordNet

and SentiStrenght), to determine the polarity of the text published by a TV viewer. The

results shows that the proposals for the selection of relevant data are effective, however

there are several difficulties involved when we want to classify the feeling used. The fact

of not exist appropriate feeling analysis tools for social networks and that be compatible

with the Portuguese language, becomes a difficult factor. Moreover, determine the intent

of the TV viewer regarding to the TV program or the topic covered in this process

becomes a challenge that involves areas beyond computer science field.

Keywords: Digital Television, Sentiment Analysis, Social Networks

Page 10: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Lista de Figuras FIGURA 1: TRANSMISSÃO DE SINAL DIGITAL. FONTE:(FERRAZ; SQUIRRA; FECHINE, 2009) ....................................................... 20 FIGURA 2: MULTIPLEXAÇÃO DE UM TS; FONTE: (ARIB B-31, 2005) ........................................................................................ 21 FIGURA 3: PACOTE DE DADOS EM UM TS; FONTE: (ISO/IEC 13818-1, 1995) ........................................................................... 22 FIGURA 4: ATIVIDADES TÍPICAS DE USUÁRIOS DE INTERNET MÓVEL E TV. .................................................................................... 28 FIGURA 5: EXEMPLO SENTISTRENGTH. ................................................................................................................................. 35 FIGURA 6: EXEMPLO SWN PALAVRA LOVE; ........................................................................................................................... 36 FIGURA 7: VISÃO GERAL DO TV AUDIENCE ANALYZER. ............................................................................................................ 44 FIGURA 8: REQUISITOS DO SISTEMA. FONTE: PRÓPRIO AUTOR .................................................................................................. 48 FIGURA 9: TRANSMISSÃO TS. FONTE: (ABNT NBR 15601, 2008) .......................................................................................... 49 FIGURA 10: CAPTURA IMAGEM VLC. FONTE: PRÓPRIO AUTOR ................................................................................................. 50 FIGURA 11: FUNCIONAMENTO DA REST API. FONTE: TWITTER ................................................................................................ 53 FIGURA 12: COMUNICAÇÃO STREAM API TWITTER. FONTE: (TWITTER, 2013B) ..................................................................... 54 FIGURA 13: TWEETS GERADOS POR CONTAS DE EMISSORAS. FONTE: TWITTER ............................................................................. 57 FIGURA 14: EXEMPLO HASHTAG RELACIONADA AO PROGRAMA. FONTE: TWITTER MOBILE ............................................................. 58 FIGURA 15: ARQUITETURA TV AUDIENCE ANALYZER .............................................................................................................. 62 FIGURA 16: DIAGRAMA DE CLASSES EPG READER .................................................................................................................. 68 FIGURA 17: PACOTE MPEG2-TS. ...................................................................................................................................... 69 FIGURA 18: FLUXO EPG READER ........................................................................................................................................ 70 FIGURA 19: DIAGRAMA ER TV AUDIENCE ANALYZER .............................................................................................................. 71 FIGURA 20: FLUXO TWITTER COLLECTOR .............................................................................................................................. 71 FIGURA 21: EXEMPLO ORDENAÇÃO ARQUIVOS TWITTER COLLETCTOR. ....................................................................................... 74 FIGURA 22: EXEMPLO DE CAPTURA DE TWEETS. STRING DE BUSCA: #ENCONTROFATIMA ................................................................ 74 FIGURA 23: DIAGRAMA DE CLASSES SENTIMENT DETECTOR ...................................................................................................... 75 FIGURA 24: TWEETS ELIMINADOS POR DATA ......................................................................................................................... 78 FIGURA 25: COMPARATIVO DE IDIOMAS ............................................................................................................................... 79 FIGURA 26: COMPARATIVO DE APIS .................................................................................................................................... 82 FIGURA 27: EXEMPLO DE ERROS STREAM API. .................................................................................................................... 84

Page 11: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Lista de Tabelas TABELA 1: CLASSIFICAÇÃO REDES SOCIAIS; FONTE: AUTORIA PRÓPRIA. ....................................................................................... 30 TABELA 2: TERMOS UTILIZADOS TWITTER; FONTE: AUTORIA PRÓPRIA ........................................................................................ 31 TABELA 3: POLARIDADE SWN ............................................................................................................................................ 37 TABELA 4: COMPARATIVO NIELSEN E TWITTER....................................................................................................................... 41 TABELA 5: DADOS DE EVENTOS. FONTE: PRÓPRIA AUTORIA ...................................................................................................... 52 TABELA 6: RELAÇÃO DE CIDADES EM QUE FORAM COLETADOS TSS. ............................................................................................ 64 TABELA 7: NOMENCLATURA ADOTADA PARA PROGRAMAS PELAS EMISSORAS ANALISADAS .............................................................. 65 TABELA 8: RESULTADOS OBTIDOS ........................................................................................................................................ 66 TABELA 9: RESULTADOS PROGRAMA ENCONTRO COM FÁTIMA BERNARDES ................................................................................. 80 TABELA 10: TERMOS NORMALIZADOS .................................................................................................................................. 85 TABELA 11: RESULTADOS ENCONTRO COM FÁTIMA BERNARDES ............................................................................................... 87 TABELA 12: RESULTADOS THE VOICE BRASIL ......................................................................................................................... 87

Page 12: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

LISTA DE ABREVIATURAS E SIGLAS

TV – Televisão

SI – Service Information

EIT - Event Information Table

EIT-H – Relacionada ao segmento de HDTV.

EIT-M – Relacionada ao segmento de SDTV.

EIT-L – Relacionada ao segmento de LDTV.

IBOPE – Instituto Brasileiro de Opinião Pública e Estatística

EPG – Eletronic Program Guide

SBTVD – Sistema Brasileiro de Televisão Digital.

API – Application Programming Interface

TS – Transport Stream

LDTV – Low Definition Television (320x240)

SDTV – Standard Definition Television (720x480)

HDTV – High Definition Television (1280x720 e 1920x1080)

RT – Re Tweet (Repetir Tweet)

SWN – Senti World NET

MPEG – Moving Picture Experts Group

Page 13: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

Sumário 1. INTRODUÇÃO .............................................................................................................................................. 14

1.1 JUSTIFICATIVA ................................................................................................................................................... 14 1.2 PROBLEMA E QUESTÃO DE PESQUISA ..................................................................................................................... 15 1.3 PROPOSTA DE SOLUÇÃO ...................................................................................................................................... 15 1.4 OBJETIVO GERAL ............................................................................................................................................... 15 1.5 OBJETIVOS ESPECÍFICOS ...................................................................................................................................... 16 1.6 LIMITAÇÕES ...................................................................................................................................................... 16 1.7 ESTRUTURA DA DISSERTAÇÃO ............................................................................................................................... 17

2. FUNDAMENTAÇÃO TEÓRICA ....................................................................................................................... 18

2.1 TELEVISÃO DIGITAL ............................................................................................................................................ 18 2.1.1 Sistema Brasileiro de Televisão Digital ................................................................................................ 19 2.1.2 Tabelas de SI ........................................................................................................................................ 21 2.1.3 A audiência .......................................................................................................................................... 23 2.1.4 Engajamento do telespectador ........................................................................................................... 25 2.1.5 Segunda tela ........................................................................................................................................ 27

2.2 REDES SOCIAIS .................................................................................................................................................. 29 2.2.1 Análise de opinião ............................................................................................................................... 31 2.2.2 Integração por Software (API) ............................................................................................................. 32

2.3 CLASSIFICAÇÃO DE SENTIMENTOS.......................................................................................................................... 32 2.3.1 SentiStrength ....................................................................................................................................... 34 2.3.2 Senti World Net (SWN) ........................................................................................................................ 35 2.3.3 Os sentimentos de um telespectador .................................................................................................. 37

2.4 CONTEXTO COMPUTACIONAL ............................................................................................................................... 37 2.5 TRABALHOS RELACIONADOS ................................................................................................................................. 39

2.5.1 Sistemas comerciais de análise de audiência usando o Twitter .......................................................... 39 2.5.2 Trabalhos acadêmicos que relacionam Twitter e TV ........................................................................... 40 2.5.3 Trabalhos acadêmicos que relacionam classificação de sentimentos em redes sociais ..................... 42

2.6 CONSIDERAÇÕES FINAIS ...................................................................................................................................... 43

3. TV AUDIENCE ANALYZER ............................................................................................................................. 44

3.1 VISÃO GERAL DO SISTEMA PROPOSTO .................................................................................................................... 44 3.2 LEVANTAMENTO DE REQUISITOS FUNCIONAIS (RF) ................................................................................................... 45

3.2.1 Visão geral dos requisitos .................................................................................................................... 48 3.3 REQUISITOS NÃO FUNCIONAIS (RNF) .................................................................................................................... 48 3.4 COLETA DE TS ................................................................................................................................................... 49 3.5 EPG READER .................................................................................................................................................... 51 3.6 TWITTER COLLECTOR .......................................................................................................................................... 52

3.6.1 Acesso aos dados do Twitter ............................................................................................................... 53 3.6.2 Definição das strings de busca ............................................................................................................ 56 3.6.3 Informações Contextuais ..................................................................................................................... 58 3.6.4 Preparação de dados ........................................................................................................................... 59 3.6.5 Tradução para o Inglês ........................................................................................................................ 60

3.7 SENTIMENT DETECTOR ........................................................................................................................................ 61 3.8 ARQUITETURA ................................................................................................................................................... 61 3.9 CONSIDERAÇÕES FINAIS ....................................................................................................................................... 63

4. IMPLEMENTAÇÃO DO SISTEMA................................................................................................................... 64

4.1 DESCRIÇÃO DO AMBIENTE ................................................................................................................................... 64 4.2 DESCRIÇÃO DE UM CENÁRIO DE USO ...................................................................................................................... 65 4.3 IMPLEMENTAÇÃO DOS MÓDULOS .......................................................................................................................... 66

4.3.1 EPG READER ........................................................................................................................................ 67 4.3.2 Twitter Collector .................................................................................................................................. 71 4.3.3 Sentiment Detector ............................................................................................................................. 75

4.4 VALIDAÇÃO DE REQUISITOS .................................................................................................................................. 76

Page 14: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

Artur Vieira Tenório

4.4.1 A Assertividade de tweets relacionados obtida................................................................................... 76 4.4.2 Contexto Temporal .............................................................................................................................. 77 4.4.3 Contexto geográfico ............................................................................................................................ 78 4.4.4 Contexto de Atividade ......................................................................................................................... 80 4.4.5 String de busca utilizadas .................................................................................................................... 80 4.4.6 Considerações...................................................................................................................................... 81

4.5 COMPARATIVO DE APIS DO TWITTER ..................................................................................................................... 81 4.6 COMPREENSÃO DO TEXTO ................................................................................................................................... 85 4.7 RESULTADOS CLASSIFICAÇÃO DE SENTIMENTOS ........................................................................................................ 86 4.8 CONSIDERAÇÕES FINAIS ....................................................................................................................................... 89

5. CONCLUSÕES .............................................................................................................................................. 90

5.1 RESULTADOS OBTIDOS ........................................................................................................................................ 90 5.2 CONTRIBUIÇÕES ................................................................................................................................................ 91 5.3 LIMITAÇÕES DO ESTUDO ...................................................................................................................................... 92 5.4 TRABALHOS FUTUROS ......................................................................................................................................... 92 5.5 CONSIDERAÇÕES FINAIS ....................................................................................................................................... 93

6. REFERÊNCIAS .............................................................................................................................................. 94

Page 15: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

14

Artur Vieira Tenório

1. Introdução

Pesquisas periódicas divulgadas pelo IBGE apontam a aproximação de 100% dos

domicílios que possuem televisores no Brasil. A mais recente pesquisa aponta 94,8% da

população (IBGE, 2013) o que comprova que este ainda é o principal veículo de notícias

e entretenimento para a população. A audiência televisiva no Brasil tem como principal

aferidor o (IBOPE, 2013). Este utiliza técnicas consolidadas para aferição, como as

pesquisas de rua e caixas coletoras de dados instaladas nos lares, que analisam o canal

e o horário que um programa é visto. Tais dados refletem quantitativamente a preferência

de conteúdo de grande parte da população.

Há também pesquisas que apontam o crescente uso de Internet por parte dos

brasileiros. Mais de 21% da população com mais de 10 anos de idade teve algum contato

com a Internet em 2011 (IBGE, 2011). O crescente acesso à Internet, associado à TV

impulsionou o uso da segunda tela (CESAR; BULTERMAN; JANSEN, 2008),

denominação para dispositivos dotados de tela e acesso à Internet que são utilizados

durante um programa televisivo. Segundo relatórios gerados pelo ConsumerLab

(ERICSSON CONSUMERLAB, 2012) o habito dos telespectadores de assistir televisão

tem mudado com o uso de outras plataformas para percepção de conteúdo. Foi visto que

69% dos entrevistados consideram que a Internet e a TV são partes naturais do consumo

de conteúdo televisivo. As interações são em geral são: consumo de conteúdo

complementar, procura por horários de programas e expressão de opinião sobre um

programa, que em geral é realizada através de redes sociais.

A opinião do telespectador torna-se então uma informação computacionalmente

possível de ser determinada, o que permite à criadores de conteúdo e empresas na área

de publicidade terem informações complementares sobre a audiência.

1.1 Justificativa

Com a tendência crescente de acesso às redes sociais durante um programa

televisivo, gerando o desvio de atenção temporário do telespectador, é comum que

sejam compartilhados dados relacionados ao que está passando na TV. Entre estes

dados, estão expressões de sentimentos, como felicidade, irritação, angústia. São

informações geradas em tempo real, por uma quantidade considerável de pessoas.

Surge então a oportunidade de interpretar estes dados em favor dos produtores de

Page 16: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

15

Artur Vieira Tenório

conteúdo. Dando-lhes uma nova fonte de audiência, menos invasiva do que a feita por

institutos como o IBOPE, pois o telespectador não precisa ter qualquer aparelho em sua

residência para aferir estes dados, bastando-lhe apenas manter seu habito de comentar

em redes sociais.

1.2 Problema e Questão de Pesquisa

Entende-se hoje que há forma mais eficaz para identificação de postagens

relacionadas a um programa e a detecção de sentimento empregado na mesma é feita

por profissionais focados em ler e interpretar o que foi dito. Por ser manual, a quantidade

de dados processados é limitada. Outro fator redutor de eficácia neste processo é a

limitação visual de dados expostos ao acessar estes dados via usuário comum,

diretamente pelo site de uma rede social.

1.3 Proposta de solução

O presente projeto propõe um sistema denominado TV Audience Analyzer, capaz de

aferir qualitativamente a audiência televisiva, levando em consideração a manifestação

de sentimento do telespectador em redes sociais. Desta forma, há a possibilidade de ter

dados complementares sobre a audiência de programas televisivos, dando ao produtor

do conteúdo uma informação relacionada à satisfação do telespectador, sem uso de

decodificadores in loco (como o IBOPE) e de forma natural, utilizando técnicas de

identificação de sentimentos através de termos e contexto computacional.

O sistema deve ser capaz de integrar dados de redes sociais e grade de

programação televisiva. Este deve fazer uma análise semântica nos comentários

gerados em redes sociais a fim de identificar o humor empregado naquela postagem. Só

serão analisados textos relacionados com a programação vigente. A grade de

programação será utilizada para auxiliar na identificação de relação entre um texto e um

programa de TV.

1.4 Objetivo Geral

Este trabalho tem por objetivo propor e implementar um sistema capaz de detectar

o sentimento empregado em publicações feitas por usuários nas redes sociais, levando

em consideração o que está sendo transmitido no momento pelas emissoras televisivas.

Page 17: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

16

Artur Vieira Tenório

O sistema proposto é modelado exclusivamente para o padrão brasileiro de televisão

digital.

1.5 Objetivos Específicos

Uso de ferramentas de classificação de sentimentos para classificar o sentimento

empregado em um comentário.

Identificar os programas televisivos de acordo com o horário, utilizando a grande

de programação enviada pelas emissoras.

Determinação de informações contextuais para identificação de comentários

relacionados com os programas televisivos.

Fornecer estatísticas do sentimento empregado nos comentários de acordo com

o programa televisivo.

1.6 Limitações

O TV Audience Analyzer é uma ferramenta voltada à identificação de textos

relacionados à programação televisiva e em seguida a classificação de sentimento dos

mesmos.

As ferramentas de classificação de sentimentos utilizadas neste projeto foram

elaboradas para a língua inglesa. Por este motivo, são feitas as seguintes ressalvas:

Todos os textos foram traduzidos para o idioma inglês através de uma

ferramenta gratuita.

Foram utilizadas técnicas desenvolvidas pelo autor da pesquisa para a

normalização de textos provindos de redes sociais (com grande índice de

jargões, abreviações e erros ortográficos). Estas foram desenvolvidas

apenas para que a pesquisa pudesse ser realizada, sem apoio em trabalhos

acadêmicos ou estudo aprofundado, visto que isto foge dos objetivos

propostos.

A intenção do telespectador em falar sobre o programa de TV ou algum

assunto que o mesmo abordava não foi tratada nesta pesquisa, pois foge dos

objetivos propostos.

Page 18: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

17

Artur Vieira Tenório

1.7 Estrutura da Dissertação

Este trabalho está estruturado da seguinte maneira:

Capítulo 1 – Introdução: Neste capítulo é apresentada a motivação,

justificativa, objetivos e as contribuições do trabalho.

Capítulo 2 – Fundamentação Teórica: Onde será revisada toda a literatura

relacionada ao tema do projeto.

Capítulo 3 – TV Audience Analyzer: É apresentada a ferramenta proposta,

seus requisitos e descrito seu funcionamento.

Capítulo 4 – Implementação do Sistema: Neste capítulo é apresentada a

forma como o sistema foi implementada e os resultados obtidos são expostos.

Capítulo 5 – Análise dos Resultados: Neste capítulo são analisados os

resultados obtidos pela ferramenta, as conclusões, contribuições e trabalhos

futuros.

Page 19: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

18

Artur Vieira Tenório

2. Fundamentação Teórica

Neste capítulo será apresentado todo o referencial teórico envolvido nesta

dissertação, contemplando as tecnologias e tópicos envolvidos. Inicialmente

serão abordadas informações sobre a TV Digital e o Sistema Brasileiro de TV

Digital (SBTVD). Em seguida, serão vistas as características relacionadas aos

telespectadores, descrevendo conceitos de audiência, a sua forma de aferição,

e as características deste tipo de usuário.

No tópico seguinte serão tratadas as definições, características e

possibilidades de uso em Redes Sociais. A seguir serão vistos os conceitos de

contexto computacional e como pode ser aplicado à audiência televisiva. Em

seguida, conceitos relacionados à área de Análise de Sentimentos serão vistos,

e como é aplicada por pesquisadores em diversas áreas, dentre elas a televisão.

No fim deste capitulo será possível verificar trabalhos relacionados ao desta

pesquisa.

2.1 Televisão Digital

O termo TV Digital é abrangente e pode compreender diversas tecnologias

e definições, de acordo com a perspectiva de análise. O mesmo pode-se dizer

da TV aberta, transmitida por radiodifusão terrestre, TVs por assinatura, antenas

parabólicas e em alguns casos, via Internet; nestes casos é intrínseco que há

digitalização de conteúdo via transmissão de binários (BECKER, 2011). Devidas

às estas possibilidades, é importante ressaltar que todas as menções

relacionadas à TV aberta neste trabalho é relacionada às emissoras que

transmitem de forma gratuita seu sinal via broadcast terrestre. As menções de

TV digital são relacionadas à tecnologia de transmissão e recepção de sinal

televisivo utilizando o padrão ISDB-Tb.

Conceitua-se TV digital, como o termo designado para a forma de

transmissão de TV utilizando sinal digital, no lugar do tradicional analógico. O

processo de digitalização está em um estágio avançado no Brasil, com cobertura

nas principais cidades do país, incluindo todas as capitais(SBTVD, 2014). O

Page 20: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

19

Artur Vieira Tenório

início das transmissões no Brasil foi em Dezembro de 2007, na cidade de São

Paulo pela Rede Globo de Televisão. Até o ano de 2018 o sinal analógico deverá

ser descontinuado, sendo uma obrigação das emissoras que em janeiro de

2015 seja iniciado o cronograma de desligamento (NACIONAL, 2013).

Dentre as vantagens obtidas com a adoção do modelo nacional, destaca-se

a melhoria na qualidade de imagem e som, da resolução padrão (720x480 pixels

por polegada) para a alta definição (1980x1080); permitindo ao telespectador

acesso à um conteúdo rico em detalhes.

2.1.1 Sistema Brasileiro de Televisão Digital

O Sistema Brasileiro de Televisão Digital (SBTVD) é um fórum responsável

por conduzir a implantação da TV digital no Brasil. É composto por diversos

veículos radio difusores, indústria de transmissão e recepção, setor acadêmico

e algumas empresas de software1. Este se define (FORUM SBTVD, 2008):

“É uma entidade sem fins lucrativos, criada

para estimular o desenvolvimento e

implementação das melhores práticas para TV

Digital”.

As discursões e projetos desenvolvidos pelo SBTVD tiveram enfoque

técnico, visando desenvolver a infraestrutura da TV digital. Não houve

preocupação com audiência durante a elaboração das normas técnicas que

definiam a padronização de transmissão nacional. Áreas como recepção de

conteúdo e interatividade foram estudadas sob a ótica da engenharia e da

computação, com pouco apoio dos geradores de conteúdo(BECKER, 2011).

Foram analisadas as principais tecnologias de transmissão digital existentes

no mundo. Os sistemas Europeu e Japonês tornaram-se as melhores opções

devida à melhor compatibilidade com o cenário nacional, onde antenas internas

para recepção compunham mais de 40% dos domicílios, além de complexidades

geográficas, como áreas rurais e áreas altamente populosas, como as favelas.

1 Mais informações em: http://forumsbtvd.org.br/associados/

Page 21: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

20

Artur Vieira Tenório

Foi escolhido o padrão japonês por conta da capacidade de recepção por

dispositivos moveis, compatibilidade com multiprogramação2 em uma única

faixa, robustez de seu desempenho em relação ao sistema DVB (europeu)

devido ao padrão de modulação Orthogonal Frequency Division Multiplex

(OFDM) e a capacidade de segmentação de banda em treze partes,

flexibilizando o espectro(ARIB B-31, 2005; BECKER, 2011).

O processo entre a criação do conteúdo, o que inclui a etapa de filmagens,

até que o sinal chegue a um domicilio é descrito na Figura 1:

Figura 1: Transmissão de sinal digital. Fonte:(FERRAZ; SQUIRRA; FECHINE, 2009)

O sinal codificado no padrão ISDB-Tb permite a transmissão de um ou

mais Transport Streams, definidos pelo padrão MPEG2 Transport-Stream

(MPEG-2 TS) Systems, sendo então remultiplexados formando um único

TS(ARIB B-31, 2005).

A definição da codificação de dados utilizando o padrão MPEG2-TS

(ISO/IEC 13818-1, 1995) pode ser feita de duas formas: Transport Stream (TS)

2 No Brasil a multiprogramação ainda não está em uso.

Page 22: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

21

Artur Vieira Tenório

e Program Stream (PS). Cada um destes é otimizado para um uso específico. O

TS é direcionado para fluxos contínuos, provindos de fontes transmissoras como

antenas e satélites. O PS é direcionado para transmissão de dados provindos de

mídias físicas, como DVDs e discos rígidos. Ambos os formatos são

encapsuladores de mídias, e sua codificação é orientada à pacotes. No padrão

de transmissão escolhido no Brasil, há uma ou mais mídias de vídeo no padrão

H.264 e uma ou mais mídias de áudio no padrão AAC.

Neste streams estão contidos todas as informações geradas por emissoras

e que são necessárias para um televisor no padrão DTV seja capaz de

transformar em conteúdo audiovisual. Na Figura 2 é possível identificar o

processo definido pela norma japonesa, ARIB.

Figura 2: Multiplexação de um TS; Fonte: (ARIB B-31, 2005)

Três camadas definidas compõem todos os dados inclusos em um TS:

vídeo, áudio e dados. O conteúdo gerado por estúdios de gravação e edição em

emissoras preenche as duas primeiras camadas, e todos os dados relacionados

à informações complementares e como estes se integram ficam localizados na

camada de dados. Também é nesta camada que são encontradas as tabelas de

informação, denominadas Service Information(SI).

2.1.2 Tabelas de SI

A norma brasileira 15603-1 (ABNT NBR 15603-1, 2008) define as tabelas SI

como um conjunto hierarquicamente associado de tabelas que compõem o

Page 23: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

22

Artur Vieira Tenório

MPEG-2/PSI3. Com os dados transmitidos por estas torna-se possível, através

de um receptor digital de televisão terrestre a seleção de canais existentes.

Diferentemente do sinal analógico, o sinal digital possui identificações que

permitem a visualização do nome do canal, nome do programa e descrição do

evento, todas disponíveis para o telespectador. Estas tabelas também permitem

que o receptor configure de forma automatizada os serviços presentes naquele

TS. Também através destas tabelas é possível que seja visualizada a guia de

programação, comumente conhecida como Eletronic Guide Program (EPG).

Para que seja possível ler os dados de uma tabela, diferenciando pacotes

de áudio e vídeo, é necessário identificar o Program Identifier (PID)

correspondente à tabela, localizado no cabeçalho de cada pacote lido em um

TS. Na Figura 3 é possível identificar a estrutura de um pacote de dados em um

sistema MPEG2-TS.

Figura 3: Pacote de dados em um TS; Fonte: (ISO/IEC 13818-1, 1995)

3 MPEG-2/PSI é a nomenclatura utilizada para as tabelas Program Specific Information.

Page 24: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

23

Artur Vieira Tenório

Para este trabalho, a identificação e leitura destas tabelas é fundamental,

visto que se faz necessário obter informações contextuais relacionadas à

programação de uma emissora de forma algorítmica e automatizada.

2.1.3 A audiência

No livro “Audience Analysis” (MCQUAIL, 1997, p. 1), seu autor define

audiência como: “termo coletivo designado para ‘receptores’ em modelo simples

e sequencial em um processo de comunicação em massa”4. Esta definição

envolve mídias impressas, ouvintes de rádio e telespectadores. Ou seja, engloba

o público que apenas consome algo enviado via broadcast de forma que não há

interação direta. Não importando a classe social ou localização geográfica.

Existe uma visão (DEFLEUR; BALL-ROCKEACH, 1971) voltada para a época

da primeira guerra mundial, onde o fenômeno da comunicação em massa era o

principal recurso midiático, alimentado pelas grandes guerras mundiais. Neste

período, as formas de massificação de informação em geral eram cartazes,

livros, fotos, filmes e discos. A audiência tinha papel passivo.

Com a modernidade, televisores e rádios tornaram-se os principais meios de

comunicação em massa. A Rede Globo, a maior emissora de televisão no Brasil

(REDE GLOBO, [s.d.]), define de forma simplória como o conjunto de pessoas

que estão assistindo a determinado programa de TV.

Direta ou indiretamente é a audiência que mantém redes de televisão, rádio

e atualmente portais de notícias e entretenimento na Internet. Diretamente,

através de ingressos ou mensalidade é possível obter um conteúdo de qualidade

sem a necessidade de que propaganda publicitárias sejam vistas, sendo este o

conteúdo pago. Indiretamente, quando o conteúdo é propagado de forma

gratuita, entretanto empresas pagam quantias altas para que seus nomes e

propagandas sejam divulgados, sendo esta então a forma indireta. No segundo

caso, o fator crucial para determinação do quanto custará esta publicidade é a

quantidade de pessoas que compõem a audiência que determinado meio de

4 Tradução própria.

Page 25: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

24

Artur Vieira Tenório

comunicação possui. Por não ser pago, e distribuído via broadcast - logo não há

qualquer contato ou identificação com o consumidor - torna-se um desafio

mensurar este valor, principalmente em locais com população elevada, como é

o caso de diversas capitais do Brasil.

Histórico

A origem da audiência remete ao público em espetáculos teatrais e musicais,

ou jogos esportivos. A noção de métrica era relacionada com à presença física,

o que permitia além da contabilização exata, também a compreensão/satisfação

daqueles presentes. As aferições mais antigas provavelmente vem de cidades

romanas ou gregas (MCQUAIL, 1997, p. 03). Com o surgimento da comunicação

em massa – inicialmente via rádio e jornais, em seguida com televisores – onde

um emissor envia o conteúdo para um número ilimitado de receptores, novas

percepções de audiência surgiram. Os novos meios diferiam na escala e em

operação. O alcance era maior; a forma de gerar conteúdo era diferente. O

produtor não tinha mais a mesma noção visual de sua audiência.

A falta de contato entre o receptor e o produtor de conteúdo gerou uma

separação entre ambos, onde a figura do emissor é feita por poucos e a do

receptor por aqueles que tem acesso. A televisão tornou-se o meio de maior

destaque, sendo assim a principal tecnologia do mercado de medição de

audiência (BECKER, 2011).

A primeira ideia de dispositivo para aferição foi através de uma patente

desenvolvida em 1929 por um estudante da Universidade de Columbia,

denominada audímetro. Esta previa um dispositivo que registrava quando um

rádio estava ligado e qual era a frequência sintonizada. Anos mais tarde, em

1934, o Massachusetts Institute of Technology (MIT) desenvolveu o primeiro

protótipo baseado nesta patente.

Atualmente

A principal empresa responsável por aferir a audiência no Brasil é Instituto

Brasileiro de Opinião Pública e Estatística (IBOPE). O seu legado nesta área de

tão vasto tornou o nome da empresa como sinônimo de aferição de audiência

pela população e pelos próprios canais, permitindo que expressões como: “O

IBOPE do Jornal Nacional bateu 30 pontos”; sejam utilizadas. Segundo Becker

Page 26: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

25

Artur Vieira Tenório

(BECKER, 2011) citando autor Bailén, apenas uma empresa pode medir

audiência no mesmo mercado, evitando conflito de dados. Caso empresas

concorrentes utilizem as mesmas metodologias, obterão resultados

semelhantes. Caso contrário, não haverá consenso sobre qual é o melhor e mais

adequado. E é sob esta ótica que o IBOPE se mantem como única fonte de

referência para estes dados. Apesar de constantes questionamentos, a

aceitação do mercado publicitário é vital, guiando investimentos destas

empresas.

As metodologias utilizadas por este instituto sofreram poucas melhorias com

os anos, e se derivam das desenvolvidas pelo Nielsen Research Institute (NRI),

instituição que faz as métricas nos Estados Unidos, maior referência em medição

de audiência no mundo. Abaixo são descritos os principais métodos utilizados

pelo NRI e pelo IBOPE (IBOPE, 2013; NIELSEN - FAQ, 2013; NIELSEN, 2013):

People Meter: Consiste de um caixa (decodificador) que é instalado

em domicílios previamente selecionadas, através de um contrato de

12 meses. O dispositivo é ligado ao televisor e registra cada canal

sintonizado. Cada morador deve se identificar antes de utilizar. Até

quatro aparelhos são instalados em cada domicilio. No Brasil o IBOPE

desenvolveu o aparelho, nomeado DIB.

Viewer Diary: São diários escritos por telespectadores, descrevendo

os programas assistidos em um período de uma semana.

Questionários: É feito um estudo preliminar sobre o tema de estudo

através de um levantamento completo de informações referentes ao

assunto. Após esta etapa, são elaboradas questões neutras e

insentas para que a avaliação possa ser criteriosa por parte do

formulador. As questões não podem induzir o entrevistado à alguma

resposta.

2.1.4 Engajamento do telespectador

É constante não somente no Brasil, mas em outros países, como os Estados

Unidos, a redução de índices de audiência em programas tradicionais como o

Big Brother Brasil (BBB), jogos de futebol e programas dominicais, como é

lembrado por Becker (2011). Paradoxalmente, os anúncios feitos nestes

Page 27: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

26

Artur Vieira Tenório

mesmos programas batem recordes de arrecadação anualmente (OUTRO

CANAL, 2013; TELEVISÃO UOL, 2013; ZAPPING, 2013). Este comportamento

está ligado à forma como o conteúdo é consumido por uma população. O uso de

outros meios de comunicação para obter o conteúdo transmitido, principalmente

a Internet, faz com que a audiência momentânea de um programa não seja igual

à quantidade de pessoas que ela atinge.

Entretanto, a redução dos níveis de audiência real não significa

necessariamente que a TV perde importância para a sociedade, nem o poder

exercido pelas maiores emissoras do país é menor. Fechine (FECHINE, 2004)

pontua a capacidade destes veículos midiáticos:

“A programação da TV pauta nossas conversas

e nossos momentos de lazer, determina certas

atividades domésticas e compromissos, rege

nossos horários e embala inclusive nosso

sono.”

Conceitualmente, o telespectador, no papel de consumidor da mídia

televisiva, assimila o conteúdo transmitido visualmente e auditivamente. A forma

como ocorre a percepção do que é televisionado pode ser classificado em duas

formas de absorção, como define Fechine: O regime do “olhar” e o da “olhadela”.

O primeiro tipo, caracteriza-se pelo foco do telespectador, fixo,

contemplando e absorvendo o conteúdo. Este é o comportamento ideal para os

produtores de conteúdo e anunciantes publicitários, pois a atenção está voltada

para o programa televisivo, e o telespectador tente à assistir aos comerciais para

não correr o risco de perder algum trecho do programa. Para a emissora, há uma

dedução que aquilo que está passando é interessante, logo deve ser mantido na

grade de programação. Para o anunciante é ideal pois sua propaganda

publicitaria e em paralelo a marca atrelada é vista pelo telespectador.

O segundo é o olhar vago, espiadela. Neste regime o espectador

“acompanha” a televisão, e em muitos casos realiza outras atividades em

paralelo, reduzindo a atenção dada à TV. Este pode inclusive estar “zapeando”

os canais, ou seja, procurando o que ver, mas sem atenção à uma programação.

Dentre as atividades, quando há o uso de dispositivos eletrônicos como

smartphones, tablets ou laptops, para fins não relacionados com o conteúdo

transmitido.

Page 28: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

27

Artur Vieira Tenório

Quando, durante o primeiro regime, há acesso à Internet por algum

dispositivo móvel, como celulares, tablets ou notebooks, e o conteúdo visto é

relacionado com o conteúdo da programação, é evidenciado o uso da “segunda

tela”. Através dela os consumidores podem se tornar replicadores, propagando

informações relacionadas com um conteúdo assistido para outros consumidores

que não compunham a audiência real naquele momento. Em geral é

compartilhado algum trecho do programa ou algum destaque, como

personagem, mas há casos de compartilhamento de propagandas, quando estas

causam uma sensação positiva ao consumidor. Uma definição da “segunda tela”

pode ser vista na sessão à seguir.

2.1.5 Segunda tela

O termo “Segunda Tela” define o uso de alguma tecnologia que reproduza

imagens, sendo possível que ocorra uma interação entre o usuário e o meio

podendo se estender para outras pessoas através da Internet. O trabalho

apresentado por Cesar, Bulterman e Jansen (2008) define duas áreas de

pesquisa que tiram proveito deste uso: conhecimento interativo e seleção de

conteúdo.

O aprimoramento do conhecimento pode ser provido em diversos cenários,

como por exemplo no auxílio à compreensão de novas culturas e línguas. O

dispositivo neste cenário serve como uma fonte de consulta em que o usuário

determina o que deseja saber sobre algo que está assistindo, aprimorando o

conhecimento adquirido sobre determinado assunto. A seleção de conteúdo

permite que o acesso ao tipo de conteúdo de um programa seja facilitado. O uso

de formas de personalizar um guia de programação eletrônico, indicando mais

dados sobre um determinado filme ou documentário que iniciará em instantes

pode ser fundamental para a escolha do que será assistido por um telespectador.

De acordo com o relatório sobre o comportamento dos usuários de Internet

através de algum dispositivo móvel – celulares, notebooks e tablets – realizado

pelos institutos Nielsen e Yahoo (ALI et al., 2011), mais de 85% dos usuários

declararam que quando estavam em casa, geralmente viam TV enquanto

utilizavam um dispositivo. Na Figura 4, é possível identificar que tipo de atividade

é exercida enquanto os telespectadores estão em regime de “olhadela”,

acessando a Internet.

Page 29: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

28

Artur Vieira Tenório

Figura 4: Atividades típicas de usuários de Internet Móvel e TV. Fonte: Autoria própria, baseada em (ALI et al., 2011)

Através do gráfico é possível identificar que apenas 24% dos usuários estão

procurando por termos relacionados à programação. Provavelmente os

resultados obtidos por Nielsen/Yahoo são em termos gerais, o que acredita-se

varia bastante de acordo com o tipo de programa que está sendo transmitido.

Com a crescente popularidade e quantidade de reality shows, aliado à

facilidade de acesso à Internet e redes sociais, permite que a segunda tela ganhe

mais uma possibilidade, a TV Social. Esta é a denominação para as interações

entre telespectadores utilizando o controle remoto, em ambiente fechado,

controlado por uma emissora ou provedor de TV à cabo (HARBOE; MASSEY;

METCALF, 2007), que iam além da troca de canais e volume. Os

telespectadores enviam informações para as emissoras através de programas,

como perguntas à audiência e votações em tempo real. Este termo acabou

sendo modernizado com a adicação da segunda tela e as redes sociais, devido

às novas possibilidades de envio de dados e maior largura de banda, bem como

a popularização das redes sociais.

Destaca-se o Twitter dentre as redes sociais como o mais utilizado na

interação entre emissor de conteúdo e o consumidor. Os tópicos de um programa

podem ser moldados de acordo com o que os telespectadores compartilham

nestas redes, usando termos específicos que identificam o desejo de assimilação

Page 30: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

29

Artur Vieira Tenório

de conteúdo. Em sua pesquisa, Lochrie e Coulton (LOCHRIE; COULTON,

2012a) analisam este comportamento, comprovando o crescimento deste

comportamento através de análises de dados gerados pelo Twitter durante

determinados programas. Os comentários realizados por usuários durante o

programa The X Factor UK (um reality show realizado em um auditório)

apareceram durante a transmissão, dando origem ao que eles denominam

“audiência invisível”.

Dados de uma pesquisa realizada pelo IBOPE (2011) mostram que no Brasil,

27% da população consome simultaneamente TV e Internet. E dos que acessam

Internet por smartphone, cerca de 50% consomem TV em paralelo. Devida à

inclusão digital e o crescimento de redes sociais com o passar dos anos,

provavelmente estes valores estão maiores nos dias atuais.

O presente projeto busca identificar e classificar a opinião deste tipo de

audiência, desta forma, é de fundamental importância o estudo e compreensão

do comportamento destes telespectadores.

2.2 Redes Sociais

As redes sociais, também conhecidas por mídias sociais, são sites que, em

geral, estão associados ao uso maciço por parte de seus usuários. Nos últimos

anos o crescimento em acesso tanto por computadores, quanto por dispositivos

móveis foi exponencial. Não por acaso, são assunto recorrente em pesquisas

acadêmicas, não somente na área da tecnologia, mas também em marketing,

comunicação e psicologia. Existem diversas definições, dentre as quais, na

visão da psicologia, Mislove (2009) procurou definir redes sociais como: um

sistema onde (a) usuários fazem parte de uma classe primária de entidades com

perfis semi-públicos, (b) usuários podem criar vínculos com outros usuários ou

algum tipo de conteúdo, e (c) usuários podem navegar pelas redes social através

de links e perfis de outros usuários. Na visão da computacional, Golbeck (2005)

define de uma forma simplista, como sendo repositórios de dados que

armazenam informações sobre seus usuários, sendo este alimentado pelos

mesmos.

Existem diversas opções de sites, que procuram se diferenciar em algum

aspecto para atrair usuários. Este comportamento permitiu que diversas

variantes surgissem, podendo ser classificadas de acordo com a sua finalidade

Page 31: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

30

Artur Vieira Tenório

principal, como é demonstrado na tabela abaixo, onde as principais de cada

categoria são demonstradas:

Tabela 1: Classificação redes sociais; Fonte: Autoria própria.

Nome Segmentação

Facebook, Google+ Amizades, compartilhamento de momentos.

Instagram, Flickr Compartilhamento de fotos

Youtube, Vimeo, Hulu Compartilhamento de vídeos

LinkedIn Empregos/Negócios

Twitter, Blogger, Mashable Blog/Micro-blogging

LastFM, Deezer Música e artistas

Dentre as várias opções existentes, destacam-se três sites, por estarem no

mercado a um certo tempo e lideram seus segmentos: Facebook, Youtube e

Twitter.

O Facebook, criado em 2004, atualmente é a rede social mais popular, com

mais de 1,19 bilhões de usuários ativos, sendo apenas 20% dos usuários

residentes nos Estados Unidos e Canadá (FACEBOOK, 2014). Seu foco está em

compartilhamento momentos com outros contatos, em geral ilustrados por fotos,

vídeos ou eventos. Não há limitação formal de caracteres em cada postagem.

O YouTube é uma rede social criada em 2007, sendo comprada pela Google

anos depois. Seu foco é exclusivamente vídeos, onde é possível assistir e

compartilhar de forma ilimitada. Atualmente tem um público de aproximadamente

1 bilhão de usuários por mês. Cerca de 6 bilhões de horas em vídeos são vistas

a cada mês. Por volta de 80% do tráfego de dados é provindo de países fora do

eixo Estados Unidos Canadá (YOUTUBE, 2014). Recentemente o serviço

ganhou maior integração com a rede social Google+, pertencente ao Google.

O Twitter é uma rede social criada em 2006 que se auto denomina uma rede

de informação em tempo real. Através desta é possível ler e criar postagens

relacionadas à diversos assuntos, produzidas por usuários comuns e empresas.

As postagens são denominadas tweets e possuem limitação de 140 caracteres;

esta restrição juntamente com a dinâmica de interação usuário categoriza esta

rede social como microblogging. Atualmente (primeiro semestre de 2014) tem

uma base de usuários ativos em torno de 241 milhões e apriximadamente 500

milhões de tweets enviados por dia. Aproximadamente 77% dos usuários estão

fora dos Estados Unidos(TWITTER, 2014). Além das pesquisas simples por

assuntos, é possível identificar os termos que se destacam no mundo em tempo

real, através do recurso: trending topics.

Page 32: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

31

Artur Vieira Tenório

Na Tabela 2, é possível identificar as principais nomenclaturas utilizadas no

Twitter e os seus significados.

Tabela 2: Termos utilizados Twitter; Fonte: Autoria própria

Termo Descrição

Hashtag (#) Nome dado à uma palavra que é destacada das

demais em um texto. Permite dar uma identificação, semelhante às tags.

Tweet Termo dado aos textos enviados por usuários.

Timeline É o nome dado aos tweets que compõem o histórico de um usuário. É possível visualizar o dia hora e em

alguns casos o local.

Trending topics Termo dado ao recurso que permite identificar os

assuntos mais falados na rede.

Re-Tweet (RT) Quando um usuário deseja replicar um tweet

realizado por outra pessoa.

Seguir É a ação de adicionar alguma pessoa aos seus contatos. Todos os tweets gerados por quem é

seguido aparecem na timeline do seguidor.

Seguidores Denominação para as pessoas que adicionaram uma outra e recebem em suas timeline todos os

tweets gerados por aquele usuário.

2.2.1 Análise de opinião

As redes sociais cada vez mais são mais vistas como ricas fontes de dados

sobre a opinião de internautas (PAK; PAROUBEK, 2010), sendo o Twitter a que

tem maior destaque neste campo. Apesar do Facebook ser mais popular

(DUGGAN; SMITH, 2013) dentre as redes sociais, ainda não é a mais utilizada

para pesquisas de opinião através de analise de publicações. Dentre os fatores

que favorecem o Twitter, dois se destacam. O primeiro é a sua quantidade

limitada de caracteres, fazendo com que um usuário seja obrigado a gerar textos

mais precisos e expressivos em relação à outros tipos de redes sociais.

Publicações no Facebook, por exemplo, podem ser textos que dificilmente

permitem uma qualificação de opinião via software.

O segundo fator, este de forma mais limitante é o acesso aos dado. O

Facebook restringe o acesso às publicações apenas à empresas selecionadas.

Mais detalhes podem ser vistos na seção 2.2.2.

A importância do Twitter para análise de opinião pode ser vista durante

eventos marcantes ao redor do mundo, como protestos políticos no Egito e na

Page 33: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

32

Artur Vieira Tenório

Turquia (KRAVETS, 2011) (REYNOLDS, 2014). Em assuntos voltados a TV, sua

relevância pode ser comprovada com a criação de uma nova metodologia de

aferição em conjunto com o principal institudo nesta finalidade o Nielsen

(NIELSEN; TWITTER, 2014a) que entrou em funcionamento no ano de 2014.

Por conta das características acima citadas, este trabalho usará o Twitter

como fonte de dados relacionados à métrica qualitativa de audiência. Na sessão

2.5, serão vistas algumas pesquisas que utilizam o Twitter como base de dados.

2.2.2 Integração por Software (API)

Para que os dados gerados por usuários de redes sociais sejam acessíveis

computacionalmente, as principais redes sociais disponibilizam uma Application

Programming Interface (API). Cada rede social determina quais informações

podem ser acessadas, de acordo com o tráfego de dados envolvido nas

solicitações e o tipo de dado que se deseja obter. O Twitter, rede social escolhida

para compor a base de dados do TV Audience Analyzer, disponibiliza duas

formas de acesso aos seus dados, através das APIs: REST API e Stream API.

Ambas possuem á obrigatoriamente de acesso via autenticação de usuário

utilizando o padrão OAUTH5 para acesso de grande quantidade de dados e

funcionalidades mais específicas. Para a obtenção de credenciais neste padrão,

é necessária uma conta de usuário com credenciais de desenvolvedor. Desta

forma, são geradas as chaves necessárias por este protocolo.

Kwak et al. (2010) demonstrou a capacidade de obtenção de dados desta

API fazendo analises dos milhares de dados minerados nesta rede. Mais de 106

milhões de tweets foram coletados através das APIs de comunicação desta rede

social.

2.3 Classificação de Sentimentos

A classificação de sentimentos, mais conhecido como Sentiment Analysis

(SA) é um ramo da informática que cresce ao longo dos anos, motivado

principalmente pelas redes sociais, consideradas uma fonte de opinião e

5 Um protocolo de autenticação aberto, utilizado pela maioria das redes sociais e e-mails. Este framework permite que aplicações terceiras obtenham acesso limitado à um serviço HTTP. Mais informações em: http://oauth.net/

Page 34: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

33

Artur Vieira Tenório

sentimentos sobre eventos e temas variados. Institutos de renome como o Pew

Research Center (MITCHELL; HITLIN, 2013), costumam desenvolver relatórios

periódicos informando o comportamento de usuários de mídias sociais e o

sentimento/opinião acerca de algum assunto.

O Twitter em especial é a principal fonte de dados, devido à característica

dos comentários gerados nesta rede: textos curtos (140 caracteres); é possível

inferir emoção de forma menos custosa, como é comprovado por (LI; LI, 2013),

onde é feito um estudo voltado para a área de marketing e opinião pública.

O método mais utilizado para determinar a classificação de sentimento em

um texto ou frase é através do cálculo da polaridade. Este cálculo é feito baseado

em análise léxica de palavras e a determinação de pontuação de acordo com o

sentido identificado em cada palavra. A polaridade pode ser ampliada de acordo

com o critério adotado pelo algoritmo de classificação. Alguns exemplos de

somadores de polaridade (para negativo ou positivo) são os advérbios de

intensidade, como “muito”, “assaz”; e uso de exclamação “!!!”.

A determinação de polaridade baseada em palavras mostra-se complexa

quando os textos são provindos de redes sociais, onde jargões e abreviações

são comuns, o que impede que a simples comparação entre a palavra e a sua

polaridade seja eficaz. Uma solução alternativa para este cenário envolve

metodologias relacionadas a aprendizagem de máquina, como é feito por

(PANG; LEE, 2008). Na abordagem proposta por Pang, um classificador de

sentimentos pode ser treinado para distinguir termos positivos, negativos e

neutros em um texto.

Além da abordagem de Pang, existem diversos estudos relacionados à esta

área, onde inclusive são disponibilizadas diversas ferramentas com finalidades

acadêmicas e profissionais, que visam classificar textos e frases. Araújo

(ARAÚJO et al., 2013) alerta para o fato de existir um desconhecimento em

relação ao funcionamento destas ferramentas no contexto das redes sociais. Em

especial levando em consideração o fato de que a maioria dos experimentos

divulgados no meio acadêmico tem desempenho testado em sentenças longas.

Quando o cenário muda para redes sociais, os resultados podem ser diversos,

como aponta o estudo comparativo realizado por Araújo (ARAÚJO et al., 2013).

Desta pesquisa, o resultado final destaca duas ferramentas por serem as

mais difundidas no meio acadêmico, tendo inclusive diversos trabalhos

Page 35: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

34

Artur Vieira Tenório

acadêmicos relacionados. O Sentistrength e o Senti Word Net obtiveram

resultados melhores do que as demais ferramentas analisadas e por isto foram

escolhidas para compor o módulo de classificação de sentimentos do TV

Audience Analyzer.

2.3.1 SentiStrength

O SentiStrength (SENTISTRENGTH, 2012) e um projeto desenvolvido pela

University of Wolverhampton no Reino Unido. É descrita como uma ferramenta

que estima a polaridade, se positiva, negativa ou neutra em pequenos textos, e

até mesmo utilizando linguagem informal. Foi otimizada para ter uma precisão

semelhante a um humano para textos pequenos gerados em redes sociais,

exceto textos políticos. Sua polaridade varia entre:

Seu idioma de origem é o inglês, entretanto possui implementações que

permitem classificação em outros idiomas, mas sem o nível de precisão existente

na língua inglesa.

Esta ferramenta utiliza métodos baseados em aprendizado de máquina. Seu

dicionário de termos é uma versão otimizada para redes sociais do Linguistic

Inquiry and Word Count (LIWC) proposto por Tauscik (TAUSCZIK;

PENNEBAKER, 2009). O estudo que originou o projeto LIWC é baseado em

análise de textos, onde é feita a contagem de palavras relacionando seu

significado de forma psicológica. O resultado da classificação de um texto curto

é visualizado abaixo na Figura 5, onde a frase: “I love you but hate current

political climate” gerou o resultado ilustrado.

-1 (não negativo) até -5 (extremamente negativo) 1 (não positivo) até 5 (extremamente positivo)

Page 36: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

35

Artur Vieira Tenório

Figura 5: Exemplo SentiStrength. Fonte: Imagem copiada do site oficial da ferramenta (SENTISTRENGTH, 2012)

A polaridade obtida pela ferramenta resultou no valor -1. O que pode ser

traduzido como não negativo, ou neutro. Para o TV Audience Analyzer, foi

considerado positivo quando o somatório foi maior do que 2, negativo quando o

somatório for menor que -2 e demais valores, considerados neutro.

2.3.2 Senti World Net (SWN)

O Senti World Net (SWN) é uma ferramenta resultante de um estudo

realizado e mantido pelo Istituto di Scienza e Tecnologie dell’Informazione “A.

Faedo”; pertencente ao Conselho Nacional de Pesquisa na Itália(ESULI;

SEBASTIANI; MORUZZI, 2006; SENTI WORLD NET, 2010).

Sua finalidade é a mineração de opinião utilizando o dicionário WordNet

(MILLER, 1995) como fonte de dados. WordNet é um grande banco de dados

lexical da língua inglesa. São agrupados substantivos, verbos, adjetivos e

advérbios em conjunto com seus sinônimos cognitivos, cada um expressando

um conceito distinto, denominado synset. O dicionário WordNet é gratuito e está

disponível através do site da Princeton University para fins acadêmicos.

A relação do WordNet com SentiWordNet é feita através da associação de

cada synset com três valores de pontuação que indicam o sentimento de um

texto: positivo, negativo e neutro. Cada palavra identificada e recebe uma

pontuação, variando de 0 a 1.

Page 37: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

36

Artur Vieira Tenório

Para exemplificar o comportamento desta ferramenta, a palavra “love” foi

classificada. Quando identificada como um substantivo, pode ser avaliada como

um intensificador de emoção positiva. Em outro contexto, pode ser identificada

como atividade sexual entre duas pessoas, neste caso a polaridade é 0

indicando neutralidade. Quando identificada como um verbo, usualmente é

atrelada à sentimentos positivos. Quando sua relação na frase é traduzível em

português para “gostar” remete à positividade moderada. Quando a sua tradução

de acordo com o contexto é realmente amar, relacionado à alguma atividade,

remete à grande intensidade de positividade.

Na Figura 6, abaixo, é possível visualizar os possíveis synset para a palavra

“love”.

Figura 6: Exemplo SWN palavra love; Fonte: Autoria própria, imagens do retiradas do site (SENTI WORLD NET, 2010).

Quando identificada como um substantivo, de acordo com o contexto

identificado, pode ter pontuação positiva: 0.625; negativa: 0; neutra: 0.375;

quando identificada por verbo, a pontuação positiva é:0.5; negativa: 0; neutra:

0.5.

Page 38: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

37

Artur Vieira Tenório

Os critérios de determinação de polaridade desta ferramenta seguem a

pontuação detalhados abaixo, na Tabela 3:

Tabela 3: Polaridade SWN

Resultado Pontuação

Positivo Acima de 0.25

Neutro Entre 0.25 e -0.25

Negativo Abaixo de -0.25

2.3.3 Os sentimentos de um telespectador

Becker (BECKER, 2011) busca explicar o tipo de sentimento envolvido na

atividade de assistir à um programa de televisão. Este é relacionado diretamente

com o conteúdo que envolve este processo. A capacidade de despertar

sensações através de imagens e sons, remete ao estabelecimento de uma

conexão entre o telespectador e o objeto, mas a TV como forma tecnológica é

incapaz de despertar possibilidades emotivas. Este papel é daqueles que

produzem o conteúdo, sendo traduzidos para um domicilio através deste meio

eletrônico.

Estas sensações podem variar de acordo a afinidade entre telespectador e

o programa de TV. Transmissões de futebol costumeiramente geram por parte

dos torcedores sentimentos opostos em intervalos curtos de tempo, sempre

ligados à emoção, como a raiva, empatia, angústia e medo, em um extremo, e

felicidade, alívio e realização, no outro extremo. No caso de novelas e reality

shows, estes sentimentos podem se prolongar por semanas ou meses.

2.4 Contexto Computacional

A primeira definição de contexto computacional, sob nome de context-aware

computing foi introduzida em 1994 por Schilit et al (1994). Para ele, três aspectos

eram fundamentais se tratando de informações contextuais: onde o usuário está,

com quem ele está e quais são os recursos disponíveis ao redor. Um sistema

capaz de identifica-los era capaz de examinar um ambiente de forma

computacional e reagir às possíveis mudanças neste.

Page 39: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

38

Artur Vieira Tenório

As definições nesta área com o tempo ganharam novas visões, levando em

consideração os avanços tecnológicos ao longo dos anos. A definição de

contexto para Dey (2001) é:

“Contexto é qualquer informação que possa

ser utilizada para caracterizar uma situação de

determinada entidade. Esta entidade pode ser

uma pessoa, lugar ou objeto que é considerada

relevante para a interação entre usuário e

aplicação, incluindo os próprios usuário e

aplicação.”6

Dentre as diversas outras definições existentes, é visto que a maioria dos

autores utiliza exemplos para chegar à alguma definição, como afirma

Zimmermann (ZIMMERMANN; LORENZ; OPPERMANN, 2007). Para ele, as

informações contextuais, como qualquer informação, são utilizada para

caracterizar a situação de uma entidade. É possível dividir em cinco categorias,

as informações contextuais de uma entidade: Individualidade, Tempo,

Localização, Atividade e Relações.

A individualidade diz respeito à qualquer coisa relacionada diretamente à

entidade, sendo possível caracterizar como ativo, passivo, real ou virtual, em

relação ao ambiente que está inserida. O tempo pode considerar o fuso horário,

hora atual, hora virtual, ou datas, relacionados à entidade. A localização está

relacionada à posição geográfica da entidade, podendo ser verificada por GPS

no caso de um local real. A atividade como informação contextual diz à respeito

de um objetivo ou intenção de ação da entidade. Por fim, as relações entre as

entidades, que podem envolver qualquer tipo e interação ou troca de dados, de

forma à identificar comportamentos distintos.

Para o presente projeto, as informações contextuais do telespectador e de

um programa televisivo são fundamentais para que seja possível determinar uma

ligação entre comentários gerados por estes e assuntos contidos em programas

de TV.

6 Tradução própria

Page 40: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

39

Artur Vieira Tenório

2.5 Trabalhos Relacionados

Existem diversos trabalhos comerciais e na literatura que envolvem temas

relacionados com o objetivo proposto neste projeto. Não foram encontrados

trabalhos que realizem precisamente análise qualitativa de audiência no Brasil,

logo, nesta seção serão vistos trabalhos que envolvem análise de sentimentos

no Twitter, e análises de dados relacionados à TV. Inicialmente serão vistos os

trabalhos comerciais e em seguida os acadêmicos.

2.5.1 Sistemas comerciais de análise de audiência usando o Twitter

Por ser um tema em evidência, explorar as possibilidades em relacionar

dados de redes sociais e televisão criou a possibilidade de sites comerciais

abordarem este assunto.

Qual Canal TV

Esta startup (QUAL CANAL TV, 2013) surgiu em 2005. Se consideram os

pioneiros neste assunto no Brasil. Esta empresa tem por objetivo monitorar

comentários gerados em mídias sociais sobre programas de TV brasileiros. Esta

empresa possui apoio do IBOPE e do Twitter para desenvolver métricas e

ferramentas que auxiliam seus clientes, em geral emissoras e empresas de

publicidade. Não é informado quais são os métodos utilizados para obtenção de

resultados, nem as redes sociais que compõem a base de dados.

TTV

Esta empresa (TTV, 2012) foi criada em 2010 por engenheiros e

pesquisadores com visão em computação natural. O foco é monitorar redes

sociais, de forma quantitativa e qualitativa. Seu público alvo, assim como o Qual

Canal TV, são emissoras e empresas na área de publicidade. A metodologia

utilizada para obtenção de resultados não é divulgada, nem as redes sociais que

são base de dados.

Social Guide

No fim de 2013, foi lançado o Social Guide (NIELSEN; TWITTER, 2014b),

empresa resultante da parceria entre o Instituto Nielsen e a rede social Twitter.

Este serviço permite analisar a audiência televisiva em tempo real. Atua apenas

nos Estados Unidos. Por ser resultado da junção das maiores empresas na área

Page 41: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

40

Artur Vieira Tenório

de aferição de audiência e microblogging, há potencial para serem os maiores

no mundo também na área de análise de dados para TV.

2.5.2 Trabalhos acadêmicos que relacionam Twitter e TV

Nesta sessão serão vistos trabalhos que contemplam a análise de dados do

Twitter relacionados com TV.

Sharing the View Throught Second Screens

Nesta pesquisa (LOCHRIE; COULTON, 2012a) os autores propõem uma

investigação sobre o papel emergente dos celulares (no papel de segunda tela)

como facilitadores de conteúdos de TV. O objeto de estudo do referente trabalho

é um reality show realizado no Reino Unido, denominado “The X Factor”. Esta

pesquisa levou em consideração o comportamento previamente estudado

(LOCHRIE; COULTON, 2012b), que sugere uma prévia combinação por parte

das emissoras sobre quais elementos do Twitter serão explorados durante a

exibição do programa para estimular a interação dos telespectadores.

Para o TV Audience Analyzer, este estudo é relevante pois faz uma análise

de um programa em que costumeiramente há muita interação através da

segunda tela. Neste tipo de programa – reality show – costumeiramente há

sentimentos intensos por parte dos telespectadores, demonstrando aflição,

alegria e surpresa durante a exibição de cada episódio. A metodologia optada

pelos autores foi o filtro e quantificação de tweets contendo a hashtag “#xfactor”

durante a exibição do programa.

Entretanto, por ser uma pesquisa focada em avaliação da quantidade de

comentários gerados por uma plataforma móvel, e apenas um programa de TV

foi avaliado, foi verificado que não existiu uma preocupação em determinar quais

tweets eram considerados SPAM nem as repetições intencionais ou não de

comentários feitos por um mesmo autor em um curto intervalo de tempo.

Towards better TV viewing rates: exploiting crowd's media life logs

over Twitter for TV rating

O estudo realizado no Japão (WAKAMIYA; LEE; SUMIYA, 2011),

confrontou os resultados de audiência publicados pelo Nielsen Institute e os

possíveis valores reais. Com a justificativa de que o instituto Nielsen apenas

Page 42: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

41

Artur Vieira Tenório

afere a recepção de conteúdo em televisores, desconsiderando outras formas

de recepção como Internet e dispositivos móveis. Wakamiya utilizou o Twitter

como fonte de dados visando quantificar a audiência de programas de TV

populares nas redes sociais.

Foi visto que em 2011, época da pesquisa, a segunda tela tinha relevância

no Japão, o que permitia que a interação emissora e telespectador pudesse ser

estimulada com a participação destes em redes sociais. Os dados gerados eram

analisados pelo referido trabalho visando identificar quando mencionavam algo

relacionado à um programa de TV.

Para comprovar a relevância desta pesquisa, Wakamiya desenvolveu um

comparativo, descrito na Tabela 4, entre o que é aferido pelo Nielsen e o que

poderia ser feito com o Twitter.

Tabela 4: Comparativo Nielsen e Twitter. Fonte: (WAKAMIYA; LEE; SUMIYA, 2011)

Dados do Nielsen TV Dados do Twitter

Participação Seleção aleatória de casas Qualquer pessoa

Unidade Quantidade de domicílios Pessoas

Audiência Participantes pagos Voluntários

Percepção Consciente Nenhuma ou inconsciente

Período Baseado em dia Quase em tempo real

Local No domicílio Em qualquer lugar

Custo Os participantes são pagos Quase zero

Metodologia Estatística Análise de dados gerados

pelos participantes

Pontos

positivos

Bem estabelecido

Estatísticas claras em

relação à idade e sexo.

Amostragem maciça

Geolocalização

Opinião e sentimento

Pontos

negativos

Pequena taxa de

amostragem

Pouca diversidade

Não considera opinião e

sentimento

Imprecisão das

características de

audiência

Possibilidade de ruído e

dados inconstantes

Page 43: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

42

Artur Vieira Tenório

O método utilizado para identificação de um tweet como relacionado à um

programa foi feito através de hashtags pré-selecionadas. O TV Audience

Analyzer utilizou o mesmo princípio, entretanto foi implementada uma

automatização no processo de determinação destes dados, através de um

aprendizado de acordo com o que era publicado pelos próprios programas

através das suas contas de Twitter, em suas timelines, comprovando o

comportamento visto por Lochrie e Coulton (2012b).

A identificação de programas foi feita através da leitura de dados provindos

de um site, que disponibilizada o EPG dos canais desejados. Entretanto este

método não é o mais preciso uma vez que este site concentra as informações

de diversos canais, e possíveis alterações na grade de programação podem não

serem refletidas a tempo na base de dados. Há também o fator localidade. No

Brasil é comum canais abertos terem programações locais com nomenclaturas

diferenciadas. Por fim, a qualificação de audiência enumerada como um dos

fatores positivos na utilização do Twitter como fonte de dados, visto na Tabela 4

elaborada do Wakamiya, é contemplada pelo presente trabalho.

2.5.3 Trabalhos acadêmicos que relacionam classificação de sentimentos

em redes sociais

Existem diversos trabalhos na literatura associados à classificação de

sentimentos em redes sociais (alguns serão apresentados a seguir). A temática

envolvida varia de acordo com o direcionamento da pesquisa analisada. Dentre

os trabalhos lidos durante o desenvolvimento deste projeto, diversas evidencias

indicavam que na maioria das vezes em que alguém expressava um sentimento

sobre algo em redes sociais, este era negativo. Uma pesquisa realizada pelo

Instituto Pew Research Center (MITCHELL; HITLIN, 2013) reforçou esta

suspeita, que, nos trabalhos à seguir descritos, também se mantem.

An emotional polarity analysis of consumers’ airline service tweets

Mostafa (2013) realizou uma pesquisa para avaliar as companhias aéreas

do mundo, em especial as asiáticas. Sua pesquisa visou identificar comentários

em redes sociais que tivessem relação com cias aéreas e em seguida buscou

classificar os resultados obtidos entre positivo, negativo e neutro. A ferramenta

Page 44: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

43

Artur Vieira Tenório

adotada por este estudo foi a SentiWordNet, por ser voltada à linguagem natural,

sendo esta uma das áreas de pesquisa do trabalho citado.

Apesar de analisar uma área onde a língua inglesa não predomina, neste

trabalho apenas foram considerados textos neste idioma, a fim de eliminar

problemas relacionados à tradução de textos, uma vez que a ferramenta

escolhida suporta nativamente o inglês. A rede social escolhida foi o Twitter, e

os tweets analisados foram oriundos de uma base de dados, sem utilização de

APIs para coleta dos dados.

Sentiment in Twitter Events

Neste trabalho, Thelwall (2011) realiza uma análise de comentários gerados

no Twitter, utilizando a língua inglesa, visando identificar que tipo de sentimento

foi empregado em cada texto. Os dados utilizados são originados da companhia

Spinn3r, empresa que tem por finalidade disponibilizar grandes quantiadades de

dados provenientes de redes sociais para que possam ser analizados por

empresas e trabalhos acadêmicos. A ferramenta utilizada foi a SentiStrength

(SENTISTRENGTH, 2012) devida à sua característica de ser otimizada para

textos curtos, com abreviações, como os encontrados no Twitter.

Na abordagem proposta não houve tratamento de repetições de comentários

por um mesmo autor, intencionais ou não, nem preocupação com SPAM. Através

dos resultados obtidos, Thelwall conclui que há forte evidencia de que eventos

populares geralmente remetem aos comentários negativos, e há evidencias de

que no auge de interesse em alguns eventos há positividade. Dentre os eventos

selecionados durante a análise de dados, boa parte deles eram relacionados à

televisão, como o Oscar e escândalo sexual do golfista Tiger Woods.

2.6 Considerações Finais

Ao término deste capítulo foi possível apresentar todo o referencial teórico

envolvido nesta pesquisa. A seguir será apresentada a proposta deste trabalho,

denominada TV Audience Analyzer. Esta busca demonstrar todos as etapas e

complexidades envolvidas na classificação qualitativa de comentários gerados

em redes sociais voltados à programação televisiva, em tempo real e utilizando

a língua portuguesa.

Page 45: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

44

Artur Vieira Tenório

3. TV Audience Analyzer

Após a análise dos conceitos relacionados ao presente trabalho, é apresentada a

proposta de solução, denominada: TV Audience Analyzer. Este sistema deverá ser

capaz de identificar qualitativamente a audiência de determinado programa de TV. Neste

capítulo será vista uma visão geral do sistema, os requisitos, detalhamento de cada

módulo que compõe o sistema proposto e um cenário de uso explicando cada etapa

envolvida.

3.1 Visão geral do Sistema proposto

O TV Audience Analyzer é um sistema capaz de integrar dados provindos do EPG

(Eletronic Guide Program, ou guia de programação) emitido por uma emissora de TV

que transmite seu sinal no padrão digital (SBTVD, 2014) e os gerados pelos

telespectadores utilizando uma rede social (Twitter), classificando o sentimento e

expressado em seus comentários sobre determinado programa, de forma automatizada.

O resultado é uma aferição qualitativa da audiência de determinado programa de TV em

um poucos minutos. Desta forma é possível entregar ao produtor do conteúdo dados que

auxiliam no processo de tomada de decisão, tanto em tempo real quanto para decisões

futuras. A Figura 7 ilustra um cenário de uso.

Figura 7: Visão geral do TV Audience Analyzer. Fonte: Adaptado de (WAKAMIYA; LEE; SUMIYA, 2011)

Page 46: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

45

Artur Vieira Tenório

O processo se dá inicialmente com a transmissão de TV por parte das emissoras de

conteúdo (item 1). A recepção do sinal é feita por televisores compatíveis com o padrão,

no caso digital, ISDB-Tb. Os receptores, denominados telespectadores, absorvem o

conteúdo visual e auditivo emitido resultante da transmissão. O módulo EPG Reader

procura na camada de dados a grade de programação. Todos os eventos de uma

emissora são identificados e guardados em um banco de dados, de forma que sejam

acessíveis futuramente pelos demais módulos do TV Audience Analyzer.

Telespectadores que sejam usuários de um dispositivo capaz de acessar a Internet,

por sua vez, comentam sobre a programação em redes sociais (item 2). Este

comportamento é cada vez mais comum, como foi visto em pesquisas como: “As

hashtags (#) da TV” (IBOPE; NIELSEN, 2011).

O Audience Analyzer (item 3) através de seu módulo Twitter Collector procura por

tweets, relacionando as informações obtidas pelo EPG Reader sobre a programação. Os

dados obtidos são preparados para que possam ser classificados (item 4) e devolvidos

em forma de resultados para o criador do conteúdo.

3.2 Levantamento de requisitos funcionais (RF)

Os requisitos que compõem o TV Audience Analyzer serão divididos em quatro

grupos, contemplando os módulos do sistema e a obtenção de TS.

Coleta de TS

A seguir serão vistos os requisitos que envolvem a etapa de captura de arquivo TS.

RF-CT.001: Padrão de transmissão de TV

Informações: A transmissão a ser capturada deve ser feita no padrão ISDB-Tb de

transmissão digital. Contemplando as normas ABNT NBR definidas pelo SBTVD.

Relacionado: N/A.

RF-CT.002: Captura de Sinal

Informações: O sinal de transmissão deve ser capturado por um dispositivo de

captura, capaz de interpretar dados da camada Full Seg.

Relacionado: RF-CT.001

RF-CT.003: Software de captura do sinal

Page 47: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

46

Artur Vieira Tenório

Informações: Deve ser utilizado um software para criação de um arquivo no padrão

MPEG2-TS a partir de um sinal de TV..

Relacionado: RF-CT.002

EPG Reader

A seguir serão vistos os requisitos do primeiro módulo do TV Audience Analyzer,

responsável por ler os TSs gerados pelo processo de coleta de TS.

RF-EC.001: Ler arquivos do tipo TS

Informações: Será possível ler arquivos no formado MPEG2-TS, seguindo o padrão

ISDB-Tb, adotado pelo Brasil. O arquivo deverá ter o tamanho de pacote de dados entre

188, 192 e 204 bytes.

Relacionado: RF-CT.002 e RF-CT.003

RF-EC.002: Identificação de tabelas SI

Informações: Identificar as tabelas de informação que se localizam na camada de

dados de um arquivo TS. Nestas estão as tabelas que descrevem um EPG.

Relacionado: RF-EC.001

RF-EC.003: Identificação de informações contextuais

Informações: Todas as informações relacionadas à um programa de TV devem ser

identificadas. Dentre elas estão: nome do programa, data e hora de exibição, idioma,

localização geográfica.

Relacionado: RF-EC.002

RF-EC.004: Gravar dados no Banco de Dados

Informações: Todas as informações sobre a grade de programação obtidas devem

ser salvas em um banco de dados.

Relacionado: RF-EC.002 e RF-EC.003

Twitter Collector A seguir, serão vistos os requisitos do segundo módulo do TV Audience Analyzer,

responsável por coletar tweets via Internet e salvá-los para que possam ser lidos pelo

Sentiment Detector.

Page 48: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

47

Artur Vieira Tenório

RF-TA.001: Acesso à API do Twitter

Informações: O uso de uma API disponibilizada pela rede social para obtenção de

dados do Twitter.

Relacionado: N/A

RF-TA.002: Pesquisar Tweets

Informações: Através da API, serão realizadas buscas por tweets para obtenção de

dados à ser classificados. As buscas são feitas utilizando informações contextuais de um

programa.

Relacionado: RF-EC002, RF-EC003, RF-TA.001.

RF-TA.003: Gravar em arquivo os tweets

Informações: Os tweets obtidos devem ser gravados em arquivos, identificando o

dia e o programa relacionado.

Relacionado: RF-TA.002, RF-TA.005

RF-TA.004: Normalização de textos

Informações: Os tweets devem ser normalizados para que a classificação seja feita.

Estão inclusos processo de remoção de duplicidade, spam, e ajustes gramaticais e

ortográficos e remoção de tweets não relacionados com o programa televisivo.

Relacionado: RF-TA.003

RF-TA.005: Tradução para o Inglês

Informações: Os textos coletados e normalizados devem ser traduzidos para a

língua inglesa, de forma que possam ser lidos pelos classificadores de sentimentos.

Relacionado: RF-TA.004

Sentiment Detector

A seguir serão apresentados os requisitos que contemplam o último módulo do TV

Audience Analyzer.

RF-SD.001: Leitura de arquivos

Informações: Serão lidos os arquivos em que estão salvos os tweets normalizados

e traduzidos.

Relacionado: RF-TA 003, RF-TA.004

Page 49: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

48

Artur Vieira Tenório

RF-SD.002: Classificação de Tweets

Informações: Os textos obtidos pela leitura de arquivos devem ser enviados para

uma ferramenta que classifique o sentimento empregado.

Relacionado: RF-SD.001

RF-SD.003: Resultados

Informações: Os resultados obtidos pela classificação de sentimentos devem ser

compilados e demonstrados.

Relacionado: RF-SD.002

3.2.1 Visão geral dos requisitos

Através da Figura 8 é possível visualizar cada requisito do sistema, de acordo com

seu grupo:

Figura 8: Requisitos do sistema. Fonte: Próprio autor

3.3 Requisitos Não Funcionais (RNF)

Abaixo serão listados os requisitos não funcionais (RNF) que foram considerados na

elaboração da solução descrita no presente projeto.

Page 50: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

49

Artur Vieira Tenório

RNF.1: Localização.

O sistema deve rodar exclusivamente no ambiente (composto de transmissão e

programas) nacional. Devem ser consideradas a norma e o padrão de transmissão

especificado pelo SBTVD7.

RNF.2: Relevância.

O sistema deve utilizar informações contextuais do programa televisivo para

determinar se um tweet deve ser considerado relevante.

RNF.3: Disponibilidade.

O sistema deve estar disponível, desde que o Twitter e a conexão com a Internet

estejam também disponíveis.

3.4 Coleta de TS

Para que a leitura do EPG fornecido pelas emissoras aconteça, é necessário um

sistema capaz de ler o sinal transmitido por antenas seguindo o padrão ISDB-Tb – o

padrão adotado no Brasil – e identificar a tabela responsável por conter estes valores,

que está contida na camada de dados.

Uma transmissão começa com as camadas de vídeo/áudio, que são multiplexadas

com os dados referentes ao conteúdo. Através deste processo é obtido um stream no

padrão MPEG2-TS. Estes são modulados e amplificados, seguindo para a antena de

transmissão (ABNT NBR 15601, 2008). Este processo é visto na Figura 9, abaixo.

Figura 9: Transmissão TS. Fonte: (ABNT NBR 15601, 2008)

A leitura deste sinal é feita através de receptores capazes de transformar o sinal

modularizado em um TS. Neste projeto, foi utilizado um receptor de TV digital Full Seg8

7 Sistema Brasileiro de Televisao Digital 8 Receptor USB Leadership: http://www.leadership.com.br/Receptor-TV-Digital-FullHD.html?codproduto=90

Page 51: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

50

Artur Vieira Tenório

para recepção de sinal. Este produto em específico possui um sistema para visualização

da transmissão, entretanto o sistema não é capaz de realizar gravações. Para a captura

de sinal seguindo o padrão MPEG2-TS, foi utilizado o aplicativo reprodutor de mídias e

streams VLC.

O projeto VideoLanClient (VLC)9 surgiu em 1996 na França resultante de um trabalho

acadêmico voltado ao desenvolvimento de um tocador de mídias. Dentre as suas

principais características estão a capacidade de tocar qualquer mídia graças à sua vasta

quantidade de codecs embutidos.

O VLC possui a opção de receber dados provindos de um dispositivo de captura,

bem como gravá-los. Para isto é necessário utilizar a opção correspondente, usando

como parâmetro a frequência do canal digital desejado.

Em Recife, por exemplo, a Rede Globo está no canal 35 UHF sob frequência 599142

kHz. No exemplo da visto na Figura 10, foi feita uma captura do programa Sai de Baixo,

na TV TEM (Sorocaba – SP) canal UHF 26, frequência 545143 khz.

Figura 10: Captura imagem VLC. Fonte: Próprio autor

9 Mais informações em: http://www.videolan.org/vlc/index.html

Page 52: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

51

Artur Vieira Tenório

3.5 EPG Reader

A linguagem de programação JAVA foi utilizada para a leitura de arquivos TS e o

framework Hibernate10 para leitura e escrita de dados no banco de dados. O Hibernate

é um framework utilizado para mapeamento dos objetos Java e as tabelas de um banco

de dados. No presente projeto, o PostgreSQL11 foi escolhido como ferramenta de

gerenciamento de banco de dados.

O EPG Reader é o módulo responsável por ler os arquivos do tipo TS coletados para

a identificação dos dados sobre a programação televisiva. Este módulo foi elaborado

especificamente para o padrão brasileiro de TV Digital, o ISDB-Tb (ABNT NBR 15603-1,

2008). Através das especificações relacionadas ao padrão MPEG2-TS (ISO/IEC 13818-

1, 1995) e tabelas SI, vistas na seção 2.1.2 da fundamentação teórica, é possível

construir um sistema capaz de ler as tabelas contidas na camada de dados de um TS,

sendo o áudio e o vídeo ignorados pois não fazem parte do escopo proposto.

Cabe à este módulo contemplar os requisitos relacionados à leitura de TS,

identificação de eventos que compõem um EPG, programas de TV e ordenação de

acordo com a data e horário de realização. A descrição de cada evento é atrelada ao dia

e horário, pois pode ocorrer variação, como ocorre em eventos esportivos e filmes. Esta

ordenação permite que sejam acessíveis via banco de dados os dados relacionados a

um programa de acordo com o horário e data desejada.

Para garantir que qualquer tipo de arquivo MPEG2-TS seja lido, desde que de acordo

com o padrão estabelecido, é necessário detectar o tamanho de cada pacote de dados

que compõem o TS. Estes variam entre 188, 192 e 204 bits por unidade. A variação é

devida a inserção ou não e do tipo do Digital Storage Media Command and Control

(DSMCC) que é o carrossel de dados em que uma aplicação interativa se

encontra(ISO/IEC 13818-6, 2000).

Todos os pacotes de dados que compõem um TS devem ter uma identificação de

início feita pelo byte de sincronia (ISO/IEC 13818-1, 1995) cujo valor é: 0x48. Este fica

localizado no cabeçalho do pacote, onde também está localizado o Packet Identifier PID,

que identifica qual é o conteúdo contido no corpo do pacote. Podem ser divididos em três

grupos, pacotes de áudio, vídeo e dados, como pode ser visto na Figura 9 (página 49).

Estes grupos estão contidos em todos as segmentações de uma transmissão ISDB-Tb,

10 Disponível em: http://hibernate.org/ 11 O banco de dados PostgreSQL é gratuito, e está disponível em: http://www.postgresql.org/

Page 53: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

52

Artur Vieira Tenório

denominadas camadas. A camada A é voltada para a transmissão em High Definition TV

(HDTV), a alta definição ou resolução, sendo a principal camada de transmissão digital

e seu identificador é o valor 0x12. A camada B é voltada para a transmissão Standard

Definition TV (SDTV), a definição padrão, a mesma dos televisores analógicos e seu

identificador é o valor 0x26. Por fim, a camada C, voltada para a transmissão One-Seg

ou Lower Definition TV (LDTV), sendo esta a camada de transmissão para dispositivos

móveis, como celulares e alguns tablets. Seu identificador é o valor 0x27.

Apenas os pacotes de dados relacionados à camada A foram lidos para identificação

das tabelas Event Information Table (EIT) identificadas pelo PID 0x12 (coincidentemente

o mesmo valor identificador da camada A), que contém os dados de eventos da grade

de programação (ABNT NBR 15603-1, 2008). Nesta tabela devem conter

obrigatoriamente as informações cronológicas relativas aos eventos. Cada tabela EIT é

segmentada em event_information_sections, onde é possível verificar quando um evento

inicia e a sua duração. Cada programa é identificado pelo descritor de serviço curto.

As informações obtidas de cada evento e programa descritas na Tabela 5,

juntamente com um exemplo de dado capturado.

Tabela 5: Dados de eventos. Fonte: Própria autoria

Nome Exemplo

Start Date “11/10/2013”

Start Time “07:35:00

Duration “00:45:00”

Country Availability (País) “Brasil”

Short Event Programa jornalístico matinal.

Event Name Bom dia Brasil

Para evitar redundância de dados, é necessário que cada programa identificado seja

verificado no banco de dados. Isto impede que mesmo em casos de variação na escrita

do título, um mesmo programa tenha mais de uma ocorrência.

3.6 Twitter Collector

O módulo do sistema responsável por coletar dados de redes sociais e prepara-los

para que sejam classificados por ferramentas específicas, é responsável por lidar com

textos e dados provindos da Internet.

Page 54: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

53

Artur Vieira Tenório

Foi escolhida a linguagem Python para implementação do sistema, devido à

facilidade na manipulação de dados textuais e por possuir diversas bibliotecas que

facilitam o acesso às APIs do Twitter e demais serviços Web necessários para atender

aos requisitos deste sistema.

3.6.1 Acesso aos dados do Twitter

Existem duas APIs de acesso aos dados do Twitter, a REST API e a STREAM API,

previamente citadas na fundamentação teórica deste trabalho. Nesta seção serão vistas

as principais características e as formas de uso de cada uma destas formas de acesso.

REST API

A REST API utiliza a a arquitetura Representional State of Transfer (REST),

estabelecendo uma comunicação entre o aplicativo e o servidor, permitindo que sejam

feitas solicitações em uma sessão. As requisições são feitas via HTTP, o servidor HTTP

acessa os dados internos do Twitter e os entrega serializados no padrão JSON. Uma

aplicação pode realizar até 180 pesquisas em um intervalo de 15 minutos12.

A Figura 11 abaixo ilustra o processo de solicitação de dados através desta API.

Figura 11: Funcionamento da REST API. Fonte: Twitter

São disponibilizados comandos do tipo get e set, sendo possível acessar os dados

da conta do usuário atrelado às chaves OAUTH (TWITTER, 2013). É possível acessar a

12 https://dev.twitter.com/docs/rate-limiting/1.1

Page 55: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

54

Artur Vieira Tenório

timeline, enviar tweets, fazer pesquisas por termos, dentre diversas outras

funcionalidades que não são relevantes para este trabalho. As pesquisas por tweets

retornam até 200 resultados por requisição, onde a palavra utilizada como termo consta

no texto gerado por um usuário. Mesmo que naquele momento mais de 200 tweets

tenham sido gerados, sendo responsabilidade do Twitter escolher quais serão os textos

retornados, visando sempre resultados com qualidade em conteúdo, ou seja, baixa taxa

de SPAM. É possível visualizar tweets gerados até uma semana antes da requisição.

Cada tweet retornado possui dados relacionados ao usuário que gerou, localização e

idioma. Possui uma latência elevada devido à geração de um arquivo como resposta, e

a realização de filtros mais elaborados de SPAM.

STREAM API

Através desta interface de comunicação é estabelecida uma conexão que não

permite envio de comandos, sendo possível exclusivamente receber dados via stream.

A pesquisa por tweets retorna dados em tempo real, a partir do momento da solicitação

de forma ilimitada, com baixa latência. Uma vez solicitada um filtro por tweets, todas as

postagens geradas a partir daquele momento que possuem a palavra indicada são

enviadas para a aplicação solicitante(TWITTER, 2013). O processo é ilustrado na Figura

12, abaixo.

Figura 12: Comunicação STREAM API Twitter. Fonte: (TWITTER, 2013)

Twython

Page 56: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

55

Artur Vieira Tenório

Dentre as diversas bibliotecas Python que facilitam acesso às APIs de redes sociais,

dentre elas o Twitter, foi escolhido o Twython13. Esta biblioteca cria uma interface de

comunicação entre a rede social e o código Python, sendo possível acessar ambas as

APIs do Twitter através de métodos get e set. Dentre as funcionalidades permitidas,

destacam acesso à timeline e busca por termos pela REST API e filtragem de strings

utilizando a STREAM API.

Considerações

A API REST foi escolhida como a principal para as finalidades do presente projeto.

Os principais fatores que motivaram esta escolha são destacados abaixo:

Possiblidade de leitura de dados em uma timeline, inclusive a do usuário que

foi utilizado para acesso à API.

Capacidade receber dados anteriores à data da pesquisa. Sendo assim foi

possível analisar programas mesmo após o seu início, o que corriqueiramente

aconteceu durante a implementação do sistema, principalmente durante o

período do horário de verão, onde um programa iniciava em um determinado

horário e o mesmo iniciava uma hora após em alguns estados do Brasil.

Limitação de palavras que possam ser traduzidas pelo Bing Tradutor (será

detalhado na seção 3.6.5)

Melhor filtro de SPAM e repetições em relação ao Stream API, desta forma foi

possível reduzir o ruído encontrado nos dados relacionados ao programa

aferido.

Segundo a documentação das APIs do Twitter (TWITTER DEVELOPERS,

2013), quando há foco em relevância, a REST API é a mais indicada, o que é

fator vital para o TV Audience Analyzer.

É importante destacar que para a avaliação de desempenho de um programa de TV,

a API STREAM consegue obter dados em tempo real e em maior quantidade, como será

demonstrado (seção 4.5, página 81). Foram feitos testes utilizando esta API para

demonstração da sua capacidade.

13 Biblioteca gratuita, disponível no GitHub através do link: https://github.com/ryanmcgrath/twython

Page 57: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

56

Artur Vieira Tenório

A forma padrão de coleta de tweets é a utilização da função search da REST API

recebe os argumentos abaixo:

• Query: O termo de pesquisa – Hashtag ou palavra relacionada;

• Count: A quantidade máxima de resultados;

• Lang: O idioma que se deseja procurar;

• Until: Limita os resultados até a data utilizada.

O termo de pesquisa é o principal argumento utilizado nesta função pois é ele quem

define o que é procurado naquele momento. Todos os tweets que retornados pela busca

possuem esta palavra contida. A sua determinação é fundamental para captar os tweets

relacionados com um programa de TV.

3.6.2 Definição das strings de busca

A definição do string de busca é essencial para garantir a eficácia de textos

relacionados a audiência de um programa televisivo. O processo é semelhante a uma

pesquisa em um site de buscas. Quanto mais relevante for a string pesquisada, maiores

as chance de respostas relacionadas com o assunto desejado. A problemática nesta

etapa é a definição do que procurar em relação à um programa, ou seja, quais termos

são relevantes para uma busca voltada aos comentários de programas televisivos.

Estudos realizados no Reino Unido (LOCHRIE; COULTON, 2012b) sugerem que é

cada vez mais comum que produtores de conteúdo combinem em tempo real elementos

de interação que deem ser utilizados no Twitter para que seja possível realizar uma

interação entre telespectador e emissora. Dentre eles, são vistas menções14, hashtags

ou sugestões de contas que devem ser seguidas. Cremonesi et al. (2013) provou a

eficácia desta abordagem ao detectar direcionamento de tweets à programas televisivos

através de hashtags.

No Brasil, foi constatado que a maioria dos programas de grande audiência e as

principais emissoras possuem contas oficiais no Twitter. São sugeridas hashtags que,

ao serem utilizadas, podem fazer com que aquele tweet seja visto ao vivo para todos os

telespectadores. Para este projeto, foram priorizadas as hashtags promovidas pelas

emissoras e as mais promovidas pelos programas.

14 Termo utilizado no Twitter quando um usuário cria um tweet direcionado a um usuário.

Page 58: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

57

Artur Vieira Tenório

Abaixo, na Figura 13, há um exemplo deste comportamento. No domingo à noite, a

conta @rede_globo (conta oficial da emissora) tweetou uma informação seguida de uma

hashtag “#SaideBaixo” que é relacionada ao programa que iria ao ar logo após o

programa que estava em exibição, Fantástico. A conta @showdavida (conta oficial do

programa Fantástico) instantes depois tweetou um assunto relacionando ao programa,

promovendo a hashtag #Fantástico.

Figura 13: Tweets gerados por contas de emissoras. Fonte: Twitter

Entretanto, apenas um exemplo de busca não atendia à expectativa deste projeto.

Há casos em que os usuários se referem a um programa sem usar a hashtag especifica

do programa, mas alguma relacionada à um conteúdo de uma das atrações do mesmo.

Casos como o programa Caldeirão do Huck possuem quadros que de tão populares

tomam vários minutos do programa, causando uma impressão de serem um programa à

parte.

No exemplo visto na Figura 14, onde a hashtag “#seeufossevoce” foi promovida pela

conta oficial do programa, levando diversas pessoas à comentarem usando ela no texto.

Este termo referencia um quadro dos principais quadros do programa, “Se eu fosse

você”; na tarde em que foi ao ar, o convidado era o ator Caio Castro. Por coincidência,

no mesmo dia, algumas horas antes do quadro ir ao ar, um filme de mesmo nome passou

em outra emissora, a FOX. É possível verificar que apesar de ser uma forma alternativa

de capturar termos relacionados à um programa, que não seja o próprio nome, pode

retornar textos publicados com referncia à outro programa.

Page 59: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

58

Artur Vieira Tenório

Figura 14: Exemplo hashtag relacionada ao programa. Fonte: Twitter Mobile

3.6.3 Informações Contextuais

O uso de informações contextuais para pesquisas de tweets visa eliminar o ruído de

dados que pode surgir ao realizar a busca por um termo. Procurar por um programa,

como o dominical Fantástico (Rede Globo) pode retornar resultados relacionados a um

filme que tenha sua reprodução no mesmo dia (ex.: Quarteto Fantástico). Restringir os

tweets obtidos de acordo com informações fornecidas pelo EPG que diferenciem o

programa do filme torna-se uma forma de evitar que dados inconsistentes sejam

atrelados ao programa de TV a ser analisado.

Qualquer informação que possa ser utilizada para caracterizar uma determinada

entidade (DEY, 2001) é definida como informação contextual. Este trabalho se propõe à

utilizar as informações disponíveis na grade de programação, coletadas pelo EPG

Reader para determinação de dados que auxiliem a determinação de relação entre tweet

e assunto relacionado, onde este pode ou não ser o programa televisivo em questão.

Visando adaptar algumas das categorias de informações contextuais definidas por

Zimmerman (2007) à realidade encontrada no projeto apresentado, são extraídas as

Page 60: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

59

Artur Vieira Tenório

seguintes características de cada programa: Nome do programa, idioma, data/hora

início, duração e país.

A adequação dos dados fornecidos por um TS se faz necessária para que sejam

compatíveis com os valores que as APIs do Twitter esperam. O idioma enviado pelas

emissoras é denominado “PORT”, que é então ajustado para “pt” (formado esperado pela

rede social). A localização geográfica fornecida pelo EPG é apenas o nome do país, no

caso Brasil. Entretanto, em cada tweet são encontrados valores de latitude e longitude

do emissor de conteúdo. Para solucionar este problema, é utilizada a API Google Maps

V315, fornecida pela Google e acessada via Python pela biblioteca geopy16. Esta

implementação permite que seja possível verificar se a latitude e longitude de um tweet

está contida no país atrelado ao programa, permitindo a exclusão de tweets não

relacionados.

3.6.4 Preparação de dados

Após o refinamento dos resultados retornados de uma pesquisa, reduzindo a

quantidade de tweets com conteúdo não relacionado ao visto no programa televisivo, se

faz necessário preparar os tweets com intuito de aprimorar a eficácia das ferramentas de

classificação de sentimentos.

Filtragem de Tweets

É comum encontrar tweets repetitivos gerados por um mesmo autor no Twitter, o que

acarreta em dados redundantes que podem ser computados no TV Audience Analyzer.

Visando reduzir o esforço dos processos subsequentes, todas as repetições de conteúdo

são eliminadas do sistema. Em muitos casos, há uma tentativa de promover hashtags

com propósitos geralmente relacionados à SPAM (LOCHRIE; COULTON, 2012a).

A remoção destes dados permite que os resultados de uma análise quantitativa

sejam contaminados pelos comentários de alguns indivíduos mal intencionados.

Normalização de textos

15 https://developers.google.com/maps/documentation/javascript/ 16 https://code.google.com/p/geopy/

Page 61: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

60

Artur Vieira Tenório

As palavras contidas em um comentário enviado a uma rede social costumeiramente

possuem jargões, gírias e expressões não usuais, sendo comum os casos de erros

gramaticais e ortográficos. As diversidades linguísticas presentes no idioma português

crescem quando o ambiente em questão são as redes sociais. Casos como “muiiiiitooo

booooooomm” ou “kkkkkkkk” são vistos constantemente nestes ambientes e em especial

no Twitter, sendo necessária uma normalização prévia destes termos, como a descrita

por Han (HAN; BALDWIN, 2011). Desta forma, estes textos podem ser identificados

corretamente por sistemas classificadores de sentimento, que usualmente esperam as

palavras contidas em banco de dados provindos de textos e dicionários.

A abordagem mais comum para esta problemática é a utilização de algoritmos

voltados ao aprendizado de máquina juntamente com diversos textos à serem

aprendidos (THELWALL, 2011).

Estas abordagens fogem dos objetivos propostos no TV Audience Analyzer visto que

a língua portuguesa não possui tantos trabalhos relacionados quanto a inglesa.

Uma implementação simples para normalização da maioria dos jargões identificados

foi utilizada no Twitter Collector visando melhorar o desempenho dos classificadores de

sentimento, entretanto não foram feitos estudos avançados nesta área. Nesta etapa,

cabe ao sistema substituir os termos identificados por palavras que tenham o mesmo

sentido, mas também façam parte da gramática.

3.6.5 Tradução para o Inglês

Como será visto na seção 3.7, é necessário traduzir do português para o inglês os

textos coletados para classificação de sentimentos. A solução identificada para o

desenvolvimento desta etapa foi a utilização do tradutor de textos Bing17 (Microsoft),

Através deste serviço é possível enviar até 2 milhões de caracteres por mês de forma

gratuita, o que permite traduzir até 14285 tweets por mês, totalizando aproximadamente

476 tweets por dia.

Esta limitação ressalta a importância da remoção de tweets repetitivos, spams e de

termos ou jargões como os vistos na etapa de normalização, que no geral não são

traduzidas pelo Bing, mas são contabilizadas na cota mensal. Devida à opção pela REST

17 Disponível em: http://www.microsoft.com/web/post/using-the-free-bing-translation-apis

Page 62: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

61

Artur Vieira Tenório

API (seção 3.6.2) neste projeto, o valor médio de tweets por dia que podem ser

traduzidos é a quantidade suficiente para os objetivos estabelecidos.

3.7 Sentiment Detector

O objetivo deste módulo é demonstrar uma abordagem para qualificação de

audiência relacionada a um programa televisivo. Não é objetivo principal elaborar

especificamente um algoritmo que analise textos e efetue a classificação em relação ao

sentimento empregado. A determinação de quais ferramentas seriam utilizadas para este

módulo foi feita após uma análise de viabilidade de uso. A existência de APIs que

facilitem o uso em um sistema computacional e a liberdade de uso para fins acadêmicos

foram fatores primordiais a seleção de ferramentas candidatas. Os resultados obtidos

em um comparativo de classificadores de sentimentos (ARAÚJO et al., 2013) apontou

para as ferramentas SentiStrength e SentiWorldNet (SWN) como as mais adequadas

para o propósito desejado, além de possuírem um melhor desempenho.

A classificação de sentimentos de acordo com a hashtag utilizada (RODRIGUES

BARBOSA et al., 2012) já foi objeto de estudo, sendo uma abordagem alternativa e que

não está atrelada a ferramentas de classificação. Demonstra ser bastante eficaz, mas

não pode ser utilizada para o objetivo proposto neste trabalho. O público que se deseja

atingir difere do abordado por Rodrigues Barbosa et al., uma vez que a busca é feita por

um tema em questão, e no caso do estudo realizado, visava eleições. O TV Audience

Analyzer, através do Sentiment Detector visa classificar textos com diversos assuntos,

mas que estão ligados à um programa televisivo, que caracterizam-se por ter temas que

iniciam e terminam durante a transmissão, não permitindo que seja constante a utilização

de hashtags indicadoras de sentimentos.

Não foram encontradas ferramentas de classificação que contemplem a língua

portuguesa, sendo necessário então que a tradução (seção 3.6.5) para o idioma inglês

dos textos obtidos. Este módulo limita-se à enviar os comentários obtidos pelo Twitter

Collector e classificar através das APIs de integração dos classificadores de sentimento

escolhidos. Foi utilizada a linguagem de programação JAVA para este propósito, visando

a compatibilidade com as ferramentas (SENTI WORLD NET, 2010; SENTISTRENGTH,

2012).

3.8 Arquitetura

A arquitetura adotada para o TV Audience Analyzer é dividida em três camadas:

Interface, Negócios e Dados. Através da camada de interface é possível selecionar os

Page 63: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

62

Artur Vieira Tenório

TS que devem ter suas EPGs lidas e salvas no banco de dados da aplicação. Também

através desta camada é possível adicionar manualmente hashtags relacionadas ao

programa televisivo em que se deseja pesquisar. Por fim, nela são apresentados os

resultados. Na camada de negócios estão todas as funcionalidades necessárias para

verificação de relevância de tweets, preparação dos dados e classificação de

sentimentos. Por fim, na camada de dados estão os arquivos TXT gerados e os dados

armazenados no banco de dados do sistema.

Com o intuito de ilustrar a arquitetura geral do sistema, de forma unificada, podendo

ser vista a integração dos três projetos em uma visão única, é apresentada a Figura 15.

Figura 15: Arquitetura TV Audience Analyzer

Page 64: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

63

Artur Vieira Tenório

3.9 Considerações finais

O TV Audience Analyzer é uma solução capaz de aferir qualitativamente a audiência

de determinados programas de TV, entregando para os produtores de conteúdo uma

ferramenta automatizada. Neste capítulo, foi possível detalhar a especificação da

solução proposta, sendo explanadas as funcionalidades e etapas necessárias para a

coleta a obtenção dos resultados desejados.

A opção de uma estrutura composta de três módulos, formando uma arquitetura em

três camadas (interface, negócios e dados), viabiliza a possibilidade de uso em paralelo

e em locais distintos, desde que interligados pelo acesso aos artefatos gerados e ao

banco de dados. Esta abordagem é válida, visto que o processo de captura e leitura de

TS envolve um ambiente fisicamente localizado em um uma área com cobertura do sinal

de TV da emissora desejada.

A implementação do EPG Reader pode ser utilizada como referência para outros

projetos focados em leitura de dados de TS, pois são identificadas todas as tabelas de

dados descritas na norma de TV digital (FORUM SBTVD, 2008) tendo a grade de

programação como foco. Foi automatizada a solução encontrada por emissores de

conteúdo para obter termos de pesquisas, utilizados pelo Twitter Collector. Foram

apresentadas soluções que visam melhorar a capacidade de qualificação de textos

enviados por telespectadores através das redes sociais, tendo o objetivo de demonstrar

uma solução computacional capaz de identificar textos relacionados à um programa de

TV e adaptá-los para que possam ser compreendidos por sistemas classificadores de

sentimentos, eximindo a preocupação em classificar termos específicos de redes sociais.

O sistema responsável por identificar o sentimento empregado foi uma

implementação com fins de prova de conceito, uma vez que a tradução para inglês, a fim

de utilizar as soluções apresentadas tornou-se um fator redutor de eficácia por um motivo

além dos propostos aqui. O uso de um sistema classificador de sentimentos o português

provavelmente traria resultados melhores, mas as complexidades envolvidas nesta

construção extrapolariam o escopo deste trabalho.

Page 65: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

64

Artur Vieira Tenório

4. Implementação do Sistema

Após a apresentação da arquitetura e funcionalidades do TV Audience Analyzer,

será apresentada a implementação dos requisitos propostos, juntamente com os

resultados obtidos. Cada etapa descrita na visão geral do sistema será ilustrada com os

trechos correspondentes de código para cada módulo do sistema. Os cenários de uso

elaborado visam comprovar a relevância de cada requisito proposto. Como forma de

obtenção de uma referência, alguns resultados foram comparados com os obtidos por

um ser humano.

4.1 Descrição do Ambiente

Para a utilização do sistema foi utilizada um notebook dotado do sistema operacional

Windows 7 64bits, com o Java Software Development Kit 7, Python 2.7 e PostgreeSQL

9.3 instalados; acesso à Internet e um receptor de TV Digital Full Seg via porta USB do

fabricante Leadership.

Foi viabilizada a realização das análises em três cidades distintas, com

características que puderam dar uma perspectiva melhor das especificidades que podem

ser encontradas no país, como: diversidade de conteúdo, fuso horário e a não

padronização na nomenclatura de programas; Estas são algumas das inconsistências

encontradas nestas cidades, descritas na Tabela 6.

Tabela 6: Relação de cidades em que foram coletados TSs.

Cidade Fuso horário Característica

Recife – PE UTC -03:00 Localizada no nordeste do país.

Grande quantidade de programas locais.

Rio de Janeiro - RJ

UTC -02:00 (Horário de verão)

Segunda maior cidade do país, cidade sede da principal emissora

pesquisada: Globo.

Sorocaba - SP Cidade do interior de São Paulo,

pouco conteúdo local.

A diferença de horário encontrado nestas cidades durante o período do horário de

verão gerou a necessidade de alteração no algoritmo de coleta de tweets, sendo o

horário de coleta de dados ampliado para um tempo próximo à duração do programa

antes ou após a hora da coleta, de acordo com o lugar. Desta forma foi possível captar

tweets de usuários que viam o programa em horários distintos.

Page 66: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

65

Artur Vieira Tenório

A falta de padrão na nomenclatura de programas utilizado por estas cidades e entre

as emissoras demonstrou ser um fator dificultador para o EPG Reader, visto que o seu

RF-EC.002 prevê que os programas sejam salvos no banco de dados de acordo com o

nome, a fim de permitir que a busca por palavras chave (hashtags) atreladas a este seja

feita para o evento do horário corrente. É possível visualizar alguns casos encontrados

de acordo com a emissora e localidade, na Tabela 7.

O Rio de Janeiro, cidade onde está a sede da Rede Globo, tende à utilizar a

nomenclatura correta, em Recife não é visto o uso de caracteres especiais (ex.: “&” e “ª”)

no título dos programas. Já em Sorocaba, é frequente o uso de caixa alta, além da

ausência de caracteres especiais. Por fim, os programas jornalísticos regionais, com

nomenclatura especifica, exigem adaptações no sistema para que a verificação de

localização seja mais especifica, sendo a cidade e não o país um fator determinante.

Tabela 7: Nomenclatura adotada para programas pelas emissoras analisadas

Globo Rio de Janeiro Globo Recife Globo Sorocaba

Amor & Sexo Amor e Sexo AMOR E SEXO

Festival de Sucessos – A Força em Alerta

Festival de Sucessos FESTIVAL DE SUCESSOS

Globo Notícia Globo Notícia GLOBO NOTICIAS

RJ TV – 1ª Edição NETV – 1a. Edição TEM NOTÍCIAS

4.2 Descrição de um cenário de uso

Com o intuito de demonstrar o funcionamento pleno da ferramenta, é apresentado

um caso de uso, onde é possível descrever todas as etapas compreendidas na análise

qualitativa de sentimentos. Foram utilizados dados hipotéticos baseados em uma

transmissão real.

“A emissora Rede Globo deseja avaliar o desempenho do programa semanal

apresentado por Luciano Huck, intitulado Caldeirão do Huck. O TV Audience Analyzer é

utilizado para aferir qualitativamente a audiência durante o decorrer do programa. Um

arquivo de TS é gerado resultante da transmissão feita na cidade escolhida dois dias

antes da transmissão do programa.

O arquivo gerado é lido pelo EPG Reader. Todos os eventos identificados no TS

são salvos no banco de dados (BD) da aplicação. Os programas que ainda não estavam

cadastrados no BD são automaticamente inseridos. No sábado, durante um intervalo do

programa, após a apresentação do cantor Luan Santana, o Twitter Collector (TC) é

acionado para preencher a base de dados com tweets relacionados.

Page 67: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

66

Artur Vieira Tenório

O TC verifica na conta oficial do programa @caldeiraodohulk e na conta oficial do

apresentador @LucianoHuck quais foram as hashtags enviadas nos comentários cerca

de 30 minutos antes do início do programa até o presente momento. Foram encontrados:

#seeufossevoce, #luansantananocaldeirao e #caldeirao; Estes valores são utilizados

como query (03 buscas) na procura por tweets relacionados.

São retornadas 215 ocorrências na somatória das três buscas iniciais utilizando a

API REST do Twitter. São descartados 05 tweets pois eles foram realizados em um

horário superior à 30 minutos antes do programa – neste momento passava um filme

chamado “Se eu fosse você” em outra emissora – e 01 tweet com a hashtag #caldeirao

tinha a localização fora do Brasil (a latitude e longitude indicavam Portugal). O filtro de

redundância é utilizado e detecta 40 Tweets que podem ser descartados pois são

idênticos (provável SPAM). O segundo filtro é aplicado e outros 14 tweets compostos

apenas de uma palavra são removidos (nestes casos é impossível classificar algum

sentimento ou relacionar ao programa de TV).

Do total, 155 tweets são considerados válidos. Estes passam pelo normalizador de

textos, corrigindo as palavras: “adooooorooo” por “adoro” e “kkkkkkkk” por risos. O

resultado dos filtros é traduzido para inglês usando o BING Translator API. O Sentiment

Analyzer é acionado para classificar os textos finais. Os resultados são apresentados na

Tabela 8:

Tabela 8: Resultados obtidos

Programa Positivo Negativo Neutro

SentiStrength 35% 15% 50%

SentiworldNET 34% 6% 60%

Avaliação Humana 29% 11% 60%

Através dos resultados parciais, é possível identificar que o programa não está

causando impacto negativo considerável na audiência.”

4.3 Implementação dos módulos

Nesta sessão será possível identificar as principais funções implementadas neste

projeto, bem como diagramas de sequência e de classes ilustram a interação entre as

classes de cada módulo.

Page 68: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

67

Artur Vieira Tenório

4.3.1 EPG READER

A aplicação possui uma classe Main responsável por iniciar o processo de leitura de

um TS, localizado na classe TSChecker. Os parâmetros que a aplicação recebe,

identificados por argumentos são as cidades desejadas para leitura de TSs capturados.

A inicialização padrão pode ser exemplificada da seguinte forma:

A leitura destes argumentos pela função main pode ser visualizada na

implementação abaixo:

Para o funcionamento correto, é necessário que a estrutura de pastas siga o padrão

determinado, ilustrado abaixo, desta forma é possível identificar algoritmicamente a

cidade e a emissora relacionados com o TS a ser lido.

O arquivo do tipo TS é lido, e cada um dos seus pacotes interpretado pela classe

TSParser, responsável por preencher objetos do tipo Packet para que possam ser lidos

pelo sistema. Após a identificação, cada pacote é enviado para o objeto estático

ParsePacket, que faz a leitura de todos os valores contido em um pacote, preenchendo

uma estrutura definida com todos os dados das tabelas SI.

Todos os dados relacionados aos eventos que compõem um EPG são salvos em

uma lista de objetos do tipo EPGValues, para seguir a estrutura estabelecida no banco

de dados. Através da classe EPGConstructor, estes dados são espelhados com banco

de dados através de uma classe DataBaseFacade. O diagrama de classes na Figura 16

(página 68) ilustra as principais classes e a sua integração.

java -jar EPGReader.jar Recife Sorocaba “Rio de Janeiro”

public static void main(String[] argumentos) { System.out.println("Iniciando EPG READER"); if (args.length > 0) { String places[] = args; fillData(places); listProgramsByBroadCaster(); } else { System.out.println("É preciso inserir as cidades em que se deseja ler os TSs."); } }

<Pasta com os TS>\<Nome da cidade>\<Emissora>\<nome do arquivo>.ts

Page 69: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

68

Artur Vieira Tenório

Figura 16: Diagrama de classes EPG Reader

Page 70: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

69

Artur Vieira Tenório

A leitura de arquivos do tipo TS no padrão especificado pelo SBTVD realizada pelo

EPG Reader é feita utilizando uma função de leitura de arquivos, com o tamanho do

buffer detectado de acordo com o tamanho padrão dos pacotes de dados que compõem

o arquivo através do byte de sincronia identificado por 0x47 (ABNT NBR 15602-3, 2008).

Através deste dado é possível ler as informações relacionadas ao tipo de pacote no seu

cabeçalho e o conteúdo no corpo do pacote. Na Figura 17 é possível visualizar a

estrutura de um pacote de dados que compõe um arquivo do tipo MPEG2-TS.

Figura 17: Pacote MPEG2-TS.

Fonte: http://erg.abdn.ac.uk/research/future-net/digital-video/mpeg2-trans.html

Cada pacote lido é enviado para a classe ParsePacket, responsável por identificar o

Program Identified Descriptor (PID) contido no cabeçalho, em seguida construir a tabela

correspondente ao identificador. A tabela EIT-H (Event Information Table HDTV)

identificada pelo PID 0x12, possui os dados necessários para a construção do EPG. Esta

é composta por vários eventos contendo dados relacionados ao programa, descrição, e

data/horário de início e fim. Um ou mais pacotes de dados podem conter as informações

necessárias para a criação da tabela, um bit de identificação determina se determinado

pacote é o último ou não em uma sequência.

A função utilizada para filtrar cada tipo de tabela EIT além de calcular as informações

relacionadas à data de início, duração, idioma, país, descrição e título está localizado

também na classe ParsePacket e é descrito abaixo:

Page 71: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

70

Artur Vieira Tenório

Trecho Código 1: Código para leitura de tabela EIT e um TS

Uma vez que todos os eventos são identificados e inseridos em uma estrutura do

tipo HashSet, é utilizado o framework hibernate para realizar a gravação dos dados em

um banco de dados PostgreSQL, localizados na classe EPGConstructor. Na Figura 18,

abaixo, é possível visualizar o fluxo principal da aplicação.

Figura 18: Fluxo EPG Reader

Todos os eventos identificados, juntamente com os programas de TV, são salvos no

banco de dados (BD) da aplicação. É realizada uma verificação de redundância de dados

de forma que seja possível eliminar a duplicidade de programas de TV na tabela

private void parseEIT(PSITable table) {

int transportStreamID = ((table.fullTable[table.i++] & 0xff) << 8)

| (table.fullTable[table.i++] & 0xff);

int originalNetworkID = ((table.fullTable[table.i++] & 0xff) << 8)

| (table.fullTable[table.i++] & 0xff);

table.i++; /* segment_last_section_number */

table.i++; /* last_table_id */

while (table.i < table.sectionEnd) {

int event_id = ((table.fullTable[table.i++] & 0xff) << 8) |

(table.fullTable[table.i++] & 0xff);

EPGValues epgTemp = new EPGValues(event_id, transportStreamID,

originalNetworkID);

epgTemp.setStartDate(convertMJDtoDate(table.fullTable,

table.i));

table.i+=2;

epgTemp.setStartTime(getTime(table.fullTable, table.i));

table.i+=3;

epgTemp.setDurationTime(getTime(table.fullTable, table.i));

table.i+=3;

int running_status = ((table.fullTable[table.i] >> 5) & 0x7);//

epgTemp.setRunningStatus(running_status);

addEPGToList(epgTemp); // ADDS THE EVENT TO THE EPG

int descriptorsLoopLength = ((table.fullTable[table.i++] << 8)

& 0xf00) | (table.fullTable[table.i++] & 0xff);

int descriptorsLoopEnd = table.i + descriptorsLoopLength;

while (table.i < descriptorsLoopEnd) {

table.i += parseDescriptor(table.pid,event_id,

table.fullTable, table.i);

}

}

}

Page 72: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

71

Artur Vieira Tenório

respectiva. O diagrama de entidades e relacionamentos apresentado na Figura 19

identifica todas as tabelas que compõem o BD do Audience Analyzer.

Figura 19: Diagrama ER TV Audience Analyzer

4.3.2 Twitter Collector

A implementação deste módulo foi feita utilizando a linguagem Python devido à sua

facilidade de manipulação com dados textuais e a diversidade de frameworks/plug-ins

para acesso à serviços Web que cobrem os requisitos descritos neste projeto. Foi

implementada na camada de negócios uma classe com acesso aos dados do Twitter

através da biblioteca denominada Twython. O ciclo completo de uso é descrito abaixo na

Figura 20.

Figura 20: Fluxo Twitter Collector

Page 73: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

72

Artur Vieira Tenório

O processo começa com a função getProgramByChannelAndDate na classe

__init__.py, localizada no pacote core. Esta função gera um código SQL que é utilizado

para retornar a tupla18 com todos os dados do programa que está passando naquele

horário. Abaixo é possível verificar um exemplo do de SQL gerado por esta função:

Trecho Código 2: SQL para consulta de programa televisivo e emissora.

Estes dados são provenientes do banco de dados populado pelo módulo leitor de

TS. Com estas informações, são feitas as pesquisas no Twitter via a biblioteca de acesso

às APIs da rede social: Twython. O código utilizado para que seja feita a busca por tweets

leva em consideração a codificação da língua portuguesa, que não é padrão para a

linguagem Python nem para o Twitter, sendo utilizada a codificação UTF-8. São dados

como argumentos o termo de busca, a quantidade máxima de resultados desejada, o

idioma escrito (de acordo com o especificado pelo usuário que criou o texto) e o período

desejado. Abaixo a implementação:

Trecho Código 3: Procura por tweets usando idioma e data como informações contextuais

O argumento language é provindo do Country Code encontrado no evento unitário

de uma EPG, lido pelo EPG Reader. O argumento quantidade possui o valor máximo. A

18 Tupla é uma lista de valores do tipo String acessíveis também via um valor.

SELECT epg_event.startdate, epg_event.starttime, epg_event.durationtime, broadcaster.name, program.name, epg_event.descriptor FROM public.epg_event, public.program, public.broadcaster WHERE program.program_id = epg_event.program AND broadcaster.id = program.broadcaster AND broadcaster.name = 'Globo' AND epg_event.startdate = '21/10/2013' ORDER BY epg_event.starttime

def seachByLangAndDate(self, language, date, qnt, query):

search_result = self.twitter.search(q=query.decode('utf-8'),

count=qnt, lang=language, until=date)

tweets_result = search_result['statuses']

return tweets_result

Page 74: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

73

Artur Vieira Tenório

consulta é de acordo com a detectada com o horário. O resultado desta pesquisa é um

arquivo do tipo JSON, que é lido e interpretado pelo Twython, sendo gerado uma tupla

com todos os tweets e os dados relacionados.

Os textos, data de criação e nome de usuário são salvos em um arquivo do tipo TXT,

onde ficam todos os tweets coletados na primeira busca. Cada arquivo contém o termo

utilizado na busca. O processo seguinte é preparar os dados para que sejam

classificados. Todos os textos com menos de duas palavras são removidos, pois na

maioria dos casos não é possível identificar o sentimento empregado. A partir deste valor

existem diversas ocorrências, como:

Na etapa seguinte, a biblioteca geopy é utilizada como interface de acesso aos

métodos da API Google Maps v3, sendo possível determinar a latitude e longitude de um

local. Através da função geocode(cityName), localizada abaixo, é possível identificar a

latitude e longitude de uma cidade ou país, atendendo ao requisito RF-TC.012.

Trecho Código 4: Pesquisa por cidade usando latitude e longitude

O resultado da função, para o argumento “Brasil” é: -14.23500, -51.92528; São

filtrados apenas os tweets que possuem o valor de geolocalização ativo. Este dado não

é obrigatório19.

A classe TextHandler foi desenvolvida para realizar todos os tratamentos

necessários relacionados ao conteúdo do texto. É uma implementação que serve apenas

como referência, pois não contempla todos os cenários, entretanto atende às

necessidades básicas do requisito RF-TC.015. Os artefatos gerados por este processo

são descritos a seguir.

Artefatos gerados

Este módulo gera arquivos no formato TXT, ordenados por nome do programa de

TV, dia e hora, string de busca utilizada. Os arquivos são lidos pelo Sentiment Detector

19 Detalhes em: https://dev.twitter.com/docs/api/1.1/get/search/tweets

Obtido: “Amuu muito #encontroFatima”

from geopy import geocoders

def geocode(cityName):

g = geocoders.GoogleV3()

place, (lat, lng) = g.geocode(cityName,exactly_one=True)

print ("%s: %.5f, %.5f" % (place, lat, lng))

Page 75: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

74

Artur Vieira Tenório

para que possam ser classificados. Na Figura 21 é possível visualizar um exemplo de

arquivos gerados durante o programa “Encontro com Fátima Bernardes”.

Figura 21: Exemplo ordenação arquivos Twitter Colletctor.

O conteúdo de cada TXT segue o formato adotado por este projeto. Em cada tweet

identificado há a data/hora de criação, auto e o comentário criado. Na Figura 22 é

possível visualizar os tweets salvos em um arquivo TXT.

Figura 22: Exemplo de captura de tweets. String de busca: #encontrofatima

Após a criação dos arquivos TXT, os mesmos textos são traduzidos para o inglês

seja feita através da implementação da classe translator. Foi implementada a solução

proposta por Denis Papathanasiou20 para enviar e receber os dados via Python. A API é

20 Disponível em: http://denis.papathanasiou.org/2012/05/07/using-microsofts-translator-api-with-python/

Page 76: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

75

Artur Vieira Tenório

acessada através de um ID fornecido pela Microsoft, que identifica a aplicação que fará

as requisições, neste caso Twitter Collector. O envio é feito utilizando o protocolo HTTP,

sendo a resposta um arquivo do tipo JSON com a tradução solicitada. Os textos obtidos

são gravados em arquivos TXT em uma pasta especifica, indicando que são traduzidos.

4.3.3 Sentiment Detector

Este é o módulo mais simples do sistema, sua atribuição é ler os arquivos TXT

gerados pelo Twitter Collector, e classificar cada tweet de acordo com o especificado na

documentação de cada ferramenta de classificação. As classes que compreendem este

projeto estão listadas no diagrama da Figura 23.

Figura 23: Diagrama de classes Sentiment Detector

O processo é iniciado na classe main, após a leitura do arquivo TXT com os tweets,

estes são salvos em uma lista de strings. Esta lista é enviada para a classe

SWNManager, e é feito o acesso à este sistema, via linha de comando, onde cada

palavra é comparada com a base de dados do sistema previamente instalada e

configurada no sistema operacional. Cada comparação gera um valor, positivo ou

Page 77: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

76

Artur Vieira Tenório

negativo, que somados geram um resultado final. Este resultado pode ser de 1, 0.75,

0.25 ou 0 para determinar a positividade e os valores abaixo de zero para determinar a

negatividade. Após a classificação feita pelo SWN, o SentiStrength é acionado, sendo

utilizada a classe SentiStrenghtManager para gerenciar os dados e acessar a API

fornecida pelo sistema através de um arquivo do tipo JAR. A determinação da polaridade

varia entre superior à 1 (positivo), 0 (neutro) e inferior a -1 (negativo).

Como a primeira ferramenta possui mais definições foi decidido que os valores entre

0.25 e -0.25 eram neutros, juntamente com 0. Acima ou abaixo, indicam a polaridade.

Desta forma existem apenas três variações de resultados. Os resultados de forma

consolidada e indicando os valores de cada ferramenta são visualizados via console,

sendo possível salvá-los em um arquivo TXT.

4.4 Validação de requisitos

Abaixo serão apresentados cenários diversos com resultados visando validar os

principais requisitos relacionados com uso de informações contextuais para melhoria na

assertividade de tweets relacionados com a programação selecionada para a execução

do sistema. Cada requisito foi validado com cenários distintos.

4.4.1 A Assertividade de tweets relacionados obtida

O uso de informações contextuais no processo de eliminação de tweets não

relacionados com o programa visa aumentar o nível de assertividade de tweets

relacionados à programação da televisão. Durante os testes, foi possível identificar a

eficácia de cada dado contextual utilizado, sendo possível gerar um comparativo entre

alguns deles. Foram consideradas três informações contextuais definidas por

Zimmermann et al. (2007):

Tempo (dia/hora);

Localização (país e idioma);

Atividade.

Através da função getEPGEvent, descrita abaixo, localizada na classe

database_access.py, é possível acessar o banco de dados do sistema e recuperar todas

as informações contextuais de um dado evento, através de um canal, data e hora. Para

cada canal desejado, a função foi chamada uma vez.

Page 78: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

77

Artur Vieira Tenório

Com a tupla resultante desta função as informações contextuais obtidas pelo EPG

Reader e salvas no banco de dados. Manualmente foi adicionado o país Brasil, visto que

o country_code não estava presente em alguns TS avaliados.

4.4.2 Contexto Temporal

A eliminação por data detecta quando um termo buscado não está de acordo com o

horário do programa obtido pelo EPG. Nestes casos aquele termo pode ter sido usado

para comentários não relacionados com o programa. A determinação de tempo é feita

algoritmicamente, com uma comparação entre a data que o tweet foi gerado e a data do

início de programa, sendo considerados válidos os tweets que se encontravam eu um

período compreendido de 30 min antes do início do programa e 30 minutos após o fim.

Desta forma é possível agregar tweets gerados uma hora antes ou após, devido ao

horário de verão e possível diferença de fuso horário de acordo com a região analisada.

Após análises durante o período da manhã, instantes após o início do programa

“Encontro com Fátima Bernardes” e horas após o fim do programa, considerando os

horários do mesmo, a taxa média de tweets eliminados foi de 19% como é demonstrado

pelo gráfico abaixo. Por existir relação direta com tempo, foi utilizada a API REST para

esta análise.

def getEPGEvent(self, channel_name, date, time): query = """

SELECT

epg_event.startdate, epg_event.starttime, epg_event.durationtime,

broadcaster.name,

broadcaster.language, program.name

FROM

public.epg_event,

public.program,

public.broadcaster

WHERE

program.program_id = epg_event.program AND broadcaster.id =

program.broadcaster AND

broadcaster.name = '%s' AND

epg_event.startdate = '%s' AND

epg_event.starttime = '%s'

ORDER BY

epg_event.starttime

""" %(channel_name, date,time)

self.cursor.execute(query) return self.cursor.fetchall()

Page 79: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

78

Artur Vieira Tenório

Figura 24: Tweets eliminados por data

4.4.3 Contexto geográfico

Após a eliminação por tempo, é feita a eliminação considerando a localização e o

idioma do usuário. Desta forma é possível eliminar tweets realizados por pessoas que

não estejam se referenciando ao programa televisivo em questão, mas utilizam o mesmo

termo. Nos testes realizados, foi possível identificar que o uso de palavras em português

obtiveram baixo índice de tweets eliminados.

Para a comprovação deste fato, foram feitas quatro análises, sendo uma utilizando

uma palavra que estava entre os trending topics do Twitter, para servir de comparação

mundial. Em seguida, três termos encontrados na grade de programação foram

pesquisados:

Big Brother: Programa originalmente holandês, mas que possui exibição

em diversos outros países, sob o mesmo formato. Exibido no Brasil pela

Rede Globo. Hashtag utilizada: #BigBrother;

Chaves: Programa originalmente Mexicano, exibido no Brasil pelo SBT,

mas possui exibição em outros países. Também é atrelado a outros

assuntos. Hashtag utilizada: #chaves;

Encontro com Fátima Bernardes: Principal string de busca relacionada ao

programa Encontro com Fátima Bernardes, exibido pela Rede Globo

(exclusivamente). Hashtag utilizada: #encontro.

Dentre os dados analisados, foi constatado que em todos os tweets existia a

indicação de idioma, mas na minoria existia a localização geográfica. Por este motivo,

apenas o idioma foi contabilizado nesta análise.

81%

1904ral%TWEETS ELIMINADOS POR TEMPO

Tweets Válidos

Eliminados por data

Page 80: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

79

Artur Vieira Tenório

Na Figura 25, é possível visualizar o resultado das comparações, as coletas foram

realizadas em horários aleatórios, não necessariamente durante a transmissão do

programa. Por não existir uma dependência de tempo, nem a necessidade de tradução

para a língua inglesa, foi utilizada a API STREAM para coleta de tweets.

Figura 25: Comparativo de idiomas

De acordo com os dados obtidos, tweets gerados com o idioma português

representavam aproximadamente 25% da média mundial nos horários em que as

medições foram feitas. É possível identificar que a pesquisa por Big Brother retornou 40x

mais tweets em idiomas estrangeiros. A maioria dos resultados foram gerados em inglês

e quando existia localização geográfica a Inglaterra teve maior índice, indicando a

possível transmissão do programa naquele país.

As palavras Chaves e Encontro constavam em textos no português em mais de 7x

em relação a outras línguas. Este resultado tem relação direta com os programas

televisivos de mesmo nome que são transmitidos durante a tarde por emissoras

nacionais. Uma análise humana foi realizada em todos os valores relacionados a palavra

Encontro e foi detectado que esta abordagem nem sempre é precisa. Foram

contabilizados 6 textos como língua estrangeira, entretanto todos estavam em português.

Este comportamento pode ser justificado pelo costume de alguns usuários configurarem

seu Twitter em um idioma estrangeiro, mas serem brasileiros. Mesmo com este

resultado, esta abordagem é considerada válida, principalmente quando a string utilizada

é uma palavra popular mundialmente, como o Big Brother.

Português; Média Geral; 1906ral

Português; Encontro; 1904ral

Português; Chaves; 1908ral

Português; Big Brother; 1904ral

Não Português; Média Geral; 1914ral

Não Português; Encontro; 1904ral

Não Português; Chaves; 1904ral

Não Português; Big Brother; 1910ral

Média Geral Encontro Chaves Big Brother

Não Português 1914ral 1904ral 1904ral 1910ral

Português 1906ral 1904ral 1908ral 1904ral

Comparativo IdiomasNão Português Português

Page 81: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

80

Artur Vieira Tenório

4.4.4 Contexto de Atividade

Apesar dos filtros baseados em informações contextuais que foram utilizados no

sistema para reduzirem o ruído de tweets não relacionados à programação, ainda assim

foi possível identificar oscilações na relevância dos termos procuradas pelo Twitter

Collector. Uma análise humana verificou que diversos tweets com conteúdo não

relacionado ao programa ou repetitivos não tinham sido eliminados. A intenção destes

usuários não condizia com alguém que deseja expor sua opinião sobre um programa.

Foi identificado que os termos não relacionados eram do tipo spam, sendo

necessário implementações mais complexas para eliminá-los. Para as repetições, foi

implementada de forma paliativa uma função que elimina repetições de textos.

Entretanto, este tipo de dado deve utilizar formas mais eficazes para obtenção de

resultados melhores visto que podem existir repetições de tweets com uma pequena

alteração de caractere. Para a verificação deste aspecto, foi feita uma análise simples

durante o programa: “Encontro com Fátima Bernardes” entre os dias 20 e 21 de outubro,

além do dia 09 de janeiro. A tabela abaixo ilustra os resultados obtidos.

Tabela 9: Resultados programa Encontro com Fátima Bernardes

Dia/Hora Total Obtido Relacionados SPAM/Repetições

20/11/2013 214 98% 2%

22/11/2013 161 79% 21%

09/01/2013 872 96% 4%

É importante salientar que a quantidade de spam pode variar de acordo com a

capacidade do Twitter de eliminai-los previamente. A rede social possui algoritmos de

proteção e consegue fazer um filtro melhor de conteúdo deste tipo através da sua API

REST21, entretanto a coleta do dia 09/01 foi realizado utilizando a STREAM API, que

normalmente possui menos pré-processamento.

4.4.5 String de busca utilizadas

A determinação de strings de busca foi obtida de duas formas: Inclusão manual e

automatizada, através da verificação de timeline da emissora ou programa escolhido.

Para que fosse possível determinar automaticamente as hashtags mais relevantes de

um programa e utilizá-la como termo de pesquisa de tweets foi criada uma conta de

21 Mais detalhes em: https://dev.twitter.com/docs/faq

Page 82: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

81

Artur Vieira Tenório

Twitter e os principais programas e emissoras que possuíam contas oficiais no Twitter

foram adicionados como contatos. Desta forma, todos os tweets gerados por estes

estariam acessíveis na timeline da conta gerada. A função getTimeLine pertencente à

classe twitter_rest é utilizada para leitura destes dados.

Os tweets obtidos são todos os que foram realizados pelos contatos ligados à conta

criada. O passo seguinte é identificar quais tweets pertencem à conta do programa

televisivo escolhido e à emissora. Todos os que foram gerados no intervalo de tempo

compreendido pelo evento determinado pela EPG são selecionados, sendo feita uma

procura por hashtags (#). O resultado obtido é somado às hashtags inseridas

manualmente no banco de dados.

4.4.6 Considerações

A abordagem utilizada para eliminação de textos não realizados na língua

portuguesa e no Brasil necessita de mais estudos, visto que houve perda de dados

constatados como válidos por um humano.

Durante as análises relacionadas ao tipo de atividade dos usuários da rede social, é

possível identificar que diversos usuários repetiram seus tweets alterando apenas a

hashtag indicativa. Em alguns casos é uma tentativa de aparecer no programa, em outros

é apenas uma correção porque o usuário acreditou estar usando o termo errado, quando

desejava realizar uma relação. Estes casos geram inconsistência nos dados, pois podem

fazer um usuário opinar mais de uma vez, mas evitar que o mesmo tenha mais de um

texto classificado não é um comportamento esperado pelo sistema. É compreensível que

este pode também enviar um texto no início do programa, demonstrando sua expectativa

sobre o que virá, e em seguida, num tempo posterior, a sua percepção sobre o que foi

televisionado.

4.5 Comparativo de APIs do Twitter

A escolha de uma API para utilização é determinante para a quantidade de qualidade

dos dados que serão gerados pelo Twitter. A seguir serão mostradas características de

ambas e um comparativo visando explicar a opção utilizada neste projeto.

def getTimeLine(self):

tweet_list = self.twitter.get_home_timeline(count='100')

return tweet_list

Page 83: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

82

Artur Vieira Tenório

A hora em que uma solicitação é feita, utilizando ambas as APIs (STREAM e REST)

é determinante para a obtenção de dados, quer seja por quantidade, quer seja por

relevância. Para comprovação, foi feita uma análise de dados durante o programa “Amor

e Sexo”, em que a audiência de internautas é considerada elevada devida ao forte

estímulo desta emissora através de votações e interação entre os telespectadores e os

participantes.

Figura 26: Comparativo de APIs

Através dos resultados demonstrados na Figura 26 é claramente perceptível que a

STREAM API (SA) é capaz de coletar mais tweets do que a REST API (RA). A cada

minuto, o crescimento de dados foi exponencial, na SA em relação à RA, que teve seu

crescimento estabelecido. Em um cenário ideal, não restaria dúvidas de que a SA é a

mais indicada para a qualificação de audiência devida a velocidade e quantidade de

dados obtidos. Contudo, existem três fatores que indicam a RA como a ideal para o

presente projeto.

O primeiro fator existente é a limitação de caracteres existente no sistema tradutor

utilizado, Bing. Caso o gráfico apresentado tenha uma taxa média de 135 tweets lidos

por minuto, em um programa com 50 minutos, estima-se que sejam coletados cerca de

6750 tweets. Com a limitação de 140 caracteres em cada texto do Twitter, atinge-se um

total máximo possível de caracteres em aproximadamente 945 mil um único programa.

A limitação mensal do Bing (tradutor utilizado nesta pesquisa) é de 2 milhões de

caracteres, o que inviabilizaria o uso da STREAM API para este projeto por se tratar de

uma pesquisa acadêmica. Ainda que este problema seja sanado, existe um segundo

00:40 00:41 00:42 00:43 00:44 00:45 00:46 00:47

Stream (Durante programa) 1904ral 1904ral 1904ral 1905ral 1905ral 1906ral 1906ral 1907ral

REST (Durante Programa) 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral

Stream (Na semana seguinte) 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral

REST (Na semana seguinte) 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral 1904ral

Stream (Durante programa); 00:40;

1904ral

Stream (Durante programa); 00:41;

1904ral

Stream (Durante programa); 00:42;

1904ral

Stream (Durante programa); 00:43;

1905ral

Stream (Durante programa); 00:44;

1905ral

Stream (Durante programa); 00:45;

1906ral

Stream (Durante programa); 00:46;

1906ral

Stream (Durante programa); 00:47;

1907ral

REST (Durante Programa); 00:40;

1904ral

REST (Durante Programa); 00:41;

1904ral

REST (Durante Programa); 00:42;

1904ral

REST (Durante Programa); 00:43;

1904ral

REST (Durante Programa); 00:44;

1904ral

REST (Durante Programa); 00:45;

1904ral

REST (Durante Programa); 00:46;

1904ral

REST (Durante Programa); 00:47;

1904ralStream (Na semana seguinte); 00:40;

1904ral

Stream (Na semana seguinte); 00:41;

1904ral

Stream (Na semana seguinte); 00:42;

1904ral

Stream (Na semana seguinte); 00:43;

1904ral

Stream (Na semana seguinte); 00:44;

1904ral

Stream (Na semana seguinte); 00:45;

1904ral

Stream (Na semana seguinte); 00:46;

1904ral

Stream (Na semana seguinte); 00:47;

1904ral

REST (Na semana seguinte); 00:40;

1904ral

REST (Na semana seguinte); 00:41;

1904ral

REST (Na semana seguinte); 00:42;

1904ral

REST (Na semana seguinte); 00:43;

1904ral

REST (Na semana seguinte); 00:44;

1904ral

REST (Na semana seguinte); 00:45;

1904ral

REST (Na semana seguinte); 00:46;

1904ral

REST (Na semana seguinte); 00:47;

1904ral

COMPARATIVO APIS

Page 84: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

83

Artur Vieira Tenório

ponto, a latência. Cada tradução demora em média 2 segundos para ser concluída.

Sendo necessário aproximadamente 270 segundos para traduzir os tweets lidos em 1

minuto. O resultado final da qualificação da audiência poderia demorar horas para ser

gerado.

O segundo fator é o tempo. Durante a pesquisa, nem sempre foi possível analisar

um programa exatamente durante a sua realização. A RA permite que sejam acessados

dados até uma semana após a realização do tweet. Como é visto na Figura 27, a

pesquisa pela string de busca do programa em questão pôde obter dados gerados na

semana anterior (o programa em questão é semanal). A SA por sua vez só retorna dados

gerados após o início do processo de pesquisa.

Por fim, o último fator que pesa favoravelmente para a RA é a qualidade dos dados

obtidos. Segundo o Twitter (TWITTER DEVELOPERS, 2013), quando o objetivo é

qualidade em relação a quantidade, é preferível optar pela RA pois existem filtros de

spam mais eficazes que são utilizados. Também existem processos de filtragem

envolvidos, reduzindo erros no dados disponibilizados.

Em uma pesquisa realizada durante a novela Além do Horizonte, foi possível

identificar manualmente dados inconstantes retornados pela SA. Na Figura 27 (página

84), há um exemplo em que a string procurada não consta no texto retornado, como visto

nas linhas 2, 4, 6, 9, 14, 19, 20 e 21.

Page 85: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

84

Artur Vieira Tenório

Figura 27: Exemplo de erros STREAM API. Realizado no dia 8 de janeiro de 2014 em Sorocaba - SP, minutos após o fim da novela. Os dados retornados foram gerados provavelmente nas cidades

em que o horário de verão não estava vigente, logo, nestes lugares a novela ainda estava sendo transmitida.

.

Page 86: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

85

Artur Vieira Tenório

4.6 Compreensão do texto

Por se tratar de um ambiente informal, não há preocupação em respeitar

ortograficamente e gramaticalmente o idioma respectivo em redes sociais. Os

internautas tem o intuito de elaborar um texto que reflita o pensamento em um curto limite

de caracteres e em geral via celular, onde é demandada velocidade. O resultado são

termos que dificultam a eficácia de sistemas que fazem a classificação de textos. A

técnica descrita por Jiang et al. (2011) na etapa de pré-processamento de seu sistema

foi parcialmente implementada, sendo feitas trocas de palavras que expressavam algum

sentimento mas não estavam de acordo com a gramática pelo seu significado. Esta

implementação visou melhorar o desempenho dos classificadores de sentimento,

atendendo ao RF015. Por não ser o foco deste projeto, apenas alguns termos foram

analisados, sendo os mais repetidos durante as análises. A Tabela 10 evidencia estes

casos e as trocas feitas pelo Twitter Collector para que estes termos pudessem ser

traduzidos para os valores correspondentes em inglês. Foram utilizadas expressões

regulares (regex) para substituição das palavras.

Tabela 10: Termos normalizados

Termo encontrado Termo substituído Termo traduzido

“kkkkkkkkk” / “hahahahhaha” Risos laughter

hj Hoje today

“amuuu” / ”amoooo” Amo love

“q” Que that

“bunito” / “bunitu” Bonito Beautiful/handsome

“td” / ”tdu” / “tudu” Tudo all

No caso da tradução de “risos” e “amo”, os textos foram detectados como positivos,

devido à positividade encontrada nestas palavras, mesmo que a tradução para o inglês

torne o conteúdo com uma leitura não natural, a classificação de sentimentos procura

pelos termos chave para determinar a polaridade. É perceptível que alguns casos são

complexos para a interpretação pelos classificadores, principalmente quando se trata da

língua portuguesa, em que o entendimento de uma frase pode não ser trivial para um

computador ou mesmo os erros de português impedem a classificação correta.

O caso abaixo serve como exemplo:

Obtido: Sou muito anciosa, quero td na hora #encontrofatima

Traduzido: "I'm very anxious, I want everything on time #encontrofatima".

Page 87: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

86

Artur Vieira Tenório

Neste cenário, felizmente o tradutor BING da Microsoft fez a correção de “anciosa”

para “ansiosa”, e o sistema de preparo dos textos para tradução realizado no projeto

Twitter Detector corrigiu o termo “td” para “tudo”. Este comportamento não é requisito de

sistemas tradutores, podendo ocasionar um erro de interpretação.

No caso seguinte, nem o presente projeto nem o Bing Tradutor foram capazes de

fazer as correções necessárias para que a classificação fosse feita corretamente:

A complexidade compreendida em textos deste tipo é elevada, sendo necessário

utilizar técnicas especificas, como a normalização léxica proposta por Bo Han & Baldwin

(2011).

Além do processo de correções gramaticais e léxicas, há mais um fator que pode

gerar resultados não confiáveis: o sentido da frase. Nos dois exemplos abaixo,

capturados durante as novelas Malhação e Amor à Vida. No primeiro, é possível

identificar que a autora gosta do programa, pois está triste com o seu fim e expressa que

gostaria de ver ainda mais, quando fala que a próxima atração é chata. A polaridade

deste texto é negativa, quando na verdade deveria ser positiva, pois há a clara intenção

do telespectador.

No segundo exemplo, a polaridade foi considerada entre neutra e positiva. Entretanto, a intenção real é demonstrar que o programa dá sono, concluindo um desejo negativo de expressão.

Tais resultados demonstram a complexidade envolvida neste processo, e a

incompatibilidade entre a língua portuguesa utilizada em um ambiente informal, com as

atuais ferramentas de classificação disponíveis academicamente.

4.7 Resultados classificação de sentimentos

Nesta sessão serão descritos os resultados obtidos e o cenário utilizado para

obtenção dos resultados, sendo utilizados todos os requisitos planejados pelo projeto.

Cenário 01: Programa Encontro com Fátima Bernardes - Rede Globo. Dias: 19 até

22 de novembro de 2013. Palavras chave utilizadas: encontro,

Obtido: “#encontroFatima fas 2 meses q to longe do meu amor”

Traduzido: "#encontroFatima fas 2 months q to away from my love”

@alana: que pena acabo malhação , agora é a novela mais chata que passa na glodo

@ Paloma e Bruno: ZzzzzzzzZzzZzzzzzz... melhor sonífero. #AmorAVida

Page 88: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

87

Artur Vieira Tenório

encontrocomfatimabernardes e fatimabernardes. Os resultados obtidos estão na Tabela

11, identificando o resultado do somatório dos três dias.

Tabela 11: Resultados Encontro com Fátima Bernardes

Positivo Neutro Negativo

MANUAL 61 388 28

SENTISTRENGTH 146 208 23

SWN 135 282 60

Considerações: Neste programa foi possível detectar que a maioria dos tweets

coletados tinham relação com um dos três principais tópicos do programa: A banda

Natiruts, o tema ansiedade e alguns convidados do programa The Voice Brasil. De um

total de 51 tweets relacionados ao programa, 87,27% foram relacionados aos temas do

programa, onde os a classificação de sentimentos pode ser duplamente interpretada. É

visto que muitos usuários gostam de uma atração, mas não necessariamente do

programa, sendo o inverso também verdadeiro.

A maioria dos tweets considerados neutros foram criados por telespectadores que

queriam expressar sua opinião em relação à questão debatida no momento ou

comentavam algo relacionado à banda que iria tocar.

Cenário 02: Programa The Voice Brasil – Rede Globo. Dia: 12 de Dezembro de

2013. Palavras chave utilizadas: TheVoice. TheVoiceBrasil, VBR.

Tabela 12: Resultados The Voice Brasil

Positivo Neutro Negativo

MANUAL 33 322 17

SENTISTRENGTH 71 284 17

SWN 75 288 9

Relacionados ao tema (verificação

manual) 73 274 25

Considerações: O programa The Voice Brasil é um reality show onde há uma

competição entre times. Foi visto que a participação dos telespectadores em redes

sociais foi com foco em falar sobre os participantes, elevando a diferença de polaridade

obtida nos resultados. Por este motivo, foi feita uma análise manual também levando em

consideração se o que era falado tinha relação com o programa ou com os participantes.

Todos os casos em que um telespectador se referenciava com torcendo para um

Page 89: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

88

Artur Vieira Tenório

candidato foi contabilizada como neutra, e apenas os casos em que foi demonstrada

alguma positividade ou negatividade foram considerados na análise manual. Neste

programa há o apelo passional e menos de 4% dos usuários expressaram negatividade

em relação ao programa. Os dados obtidos pelas ferramentas de classificação se

aproximam mais da verificação manual em relação ao tema do que em relação ao

programa.

A forma como uma pessoa se expressa na língua portuguesa, ou em qualquer

linguagem natural, pode ter significado negativo, mesmo que não esteja explícito. No

exemplo abaixo, um telespectador tentou mostrar que prefere ver outro evento ao

programa em questão. Algoritmicamente achar uma forma de compreender este sentido

é um desafio.

Cenário 03: Programa do Ratinho – SBT. Dias 29 e 30 de outubro de 2013. Palavras

chave utilizadas: ratinho, programadoratinho, botecodoratinho.

Positivo Neutro Negativo

MANUAL 14 206 20

SENTISTRENGTH 46 182 12

SWN 33 196 11

Relacionados ao tema 29 207 4

Considerações: O requisito de tradução de textos de português para inglês

demonstrou mais resultados que pudessem gerar polaridade não intencional, com

traduções de nomes artísticos. Foram os casos do nome do apresentador, traduzido de

Ratinho para “little mouse”, e de um dos convidados, Xororó (da dupla Chitãozinho e

Xororó) para “Crying”. Na segunda tradução errônea, dependendo do contexto linguístico

da frase, um classificador pode interpretar como polaridade negativa.

O tipo de grafia verificada na maioria dos textos relacionados com este programa

possuía muitos erros ortográficos e gramaticais. O processo manual de verificação

demonstrou ser mais complexo visto que para um ser humano identificar o sentido de

alguns textos não era tão trivial como foi visto nas outras análises.

RT @Eltonex: #TheVoice ??? O Negocio é a #NFLnaESPN @everaldomarques !!!!

Page 90: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

89

Artur Vieira Tenório

4.8 Considerações finais

Neste capítulo foram demonstrados trechos da implementação dos módulos que

constituem o TV Audience Analyzer. Foi possível verificar como os dados são gerados

inicialmente pelo EPG Reader, e em seguida pelo Twitter Collector, sendo por fim

analisados pelo Sentiment Detector.

Os requisitos previstos pelo principal módulo deste projeto (Twitter Collector) foram

validados através de análises dos dados gerados pelo sistemas e comparações com

resultados de verificações manuais, feitas por humanos. Foi possível demonstrar todas

as etapas e peculiaridades que compreendem o processo de determinação de tweets

relacionados à um programa televisivo e a sua classificação em relação ao sentimento

empregado.

Page 91: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

90

Artur Vieira Tenório

5. Conclusões

A aferição qualitativa da audiência televisiva utilizando redes sociais como fonte de

dados é uma forma elevar a compreensão da consumidor por parte das emissoras,

visando não somente valores quantitativos. Desta forma, produtores de conteúdos

podem identificar pontos positivos e negativos na sua grade de programação e procurar

melhorar a experiência do telespectador em relação ao conteúdo consumido.

Foi apresentado o TV Audience Analyzer, um sistema capaz de utilizar informações

contextuais relacionadas a um programa televiso para buscar comentários gerados por

telespectadores em uma rede social, em seguida preparar o conteúdo para ser

classificado por ferramentas analisadoras de sentimento. O TV Audience Analyzer

demonstrou ser eficaz no processo de determinação de tweets relacionados à

programação de TV, contudo foi comprovado que é necessário um aprofundamento de

estudo em relação ao comportamento do usuário das redes socais no Brasil, em especial

o Twitter. A falta de ferramentas e estudos voltados à gramática empregada em redes

sociais utilizando a língua portuguesa é um fator que contribui para reduzir a eficácia das

classificações de sentimentos.

5.1 Resultados Obtidos

A automatização da identificação de tweets relacionados à programação de televisão

demonstrou ser eficaz, na maioria das análises foi constatado 100% de acerto. Acredita-

se que este valor pode decair quando for realizada uma aferição de filmes ou reality

shows que estejam passando em outros países no mesmo horário do programa

selecionado para a classificação.

Foi possível constatar que as ferramentas atuais de classificação de sentimentos

ainda não são capazes de verificar de forma segura a polaridade de um texto gerado em

redes sociais utilizando a língua portuguesa. Durante a análise de dados, foi verificada a

complexidade envolvida na identificação do direcionamento de um texto, quando um

autor se refere diretamente ao programa de TV ou ao conteúdo de algum trecho do

programa. A não preocupação com este fator pode gerar resultados errôneos em relação

ao sentimento da audiência. Foram identificados dois grupos de programas que

exemplificam esta problemática:

Page 92: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

91

Artur Vieira Tenório

Programas de auditório: possuem em muitos casos comentários

relacionados aos convidados ou à algum tema. As ferramentas que

pretendem classificar estes casos, devem levar em consideração as atrações

e possíveis comentários que a princípio são negativos, mas podem indicar o

oposto. É o caso de comentários relacionados à temas que geram discursão

e envolvem opiniões contrarias, mas não necessariamente aquilo está

gerando uma emoção negativa por parte do telespectador.

Reality Shows: possuem a maioria dos comentários diretamente ligados aos

participantes, e ocasionalmente gera sentimento de insatisfação devido à

alguma eliminação ou ação por parte daqueles que compõem o show. Mais

uma vez, nestes casos, comentários negativos não podem ser ligados à

negatividade do programa sem uma prévia análise em relação ao contexto

envolvido naquele texto, como por exemplo um evento que ocorreu naquele

instante.

A identificação destes dois grupos foi possível graças a uma comparação e análise feita

pelo autor desta pesquisa, classificando cada programa por grupos e verificando as

semelhanças encontradas.

5.2 Contribuições

Este trabalho teve como principal contribuição a definição de uma arquitetura capaz

de integrar de forma computacional e automatizada os dados gerados por emissoras de

televisão aberta (através da leitura de arquivos TS) e redes sociais para a qualificação

da audiência consumidora do conteúdo. O TV Audience Analyzer define um conjunto de

informações capazes de determinar as palavras chaves utilizadas como string de busca

para obtenção de comentários relevantes gerados em redes sociais voltados à

programação televisiva.

Após a obtenção dos dados, são descritos os passos necessários para a

normalização dos textos obtidos de forma que possam ser analisados por ferramentas

classificadoras de sentimentos, uma vez que a maioria destas ferramentas espera textos

dentro das regras gramaticais e léxicas do idioma em questão.

Esta pesquisa segue a tendência dos usuários de redes sociais, que costumam

expressar sentimentos em seus comentários (ARAÚJO et al., 2013; MOSTAFA, 2013;

PANG; LEE, 2008; THELWALL, 2011) aliando ao crescente uso da segunda tela

Page 93: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

92

Artur Vieira Tenório

(CESAR; BULTERMAN; JANSEN, 2008) por telespectadores visando obter algum tipo

de interação ou conteúdo relacionado à programação, como é lembrado por Silva (2012).

Adicionalmente foram feitas análises manuais das traduções automatizadas

realizadas por uma ferramenta popular e gratuita (Bing) do português para o inglês.

Através desta foi possível identificar as limitações deste tipo de abordagem, como

quantidade de dados que podem ser traduzidos e o tempo necessário para esta tarefa.

Por fim, foram feitas análises das APIs de acesso aos dados do Twitter,

demonstrando as possibilidades de uso, características principais e a mais adequada

para o uso proposto, a qualificação de audiência televisiva.

5.3 Limitações do estudo

Não foram encontradas soluções para classificação de sentimentos no idioma

português, sendo então necessário o uso de um tradutor para a conclusão dos

experimentos. Esta abordagem limitou a quantidade de dados analisados e alterou o

sentido de alguns textos, podendo comprometer a polaridade resultante.

Estudos na área comportamental são necessários para a compreensão do sentido

de um texto relacionado à um programa. Foram vistos diversos casos em que o autor do

tweet se referia à um tema abordado ou à um convidado, e não necessariamente ao

programa televisivo. Sem a determinação da intenção do autor os resultados obtidos

podem ser errôneos. Estudos na área cognitiva e emocional relacionados ao

comportamento do telespectador devem ser analisados sob uma ótica psicológica e

linguística. Apenas estudos computacionais não são suficientes para determinar a

intenção de um texto, uma vez que há cargas emocionais envolvidas.

5.4 Trabalhos Futuros

A arquitetura proposta pelo TV Audience Analyzer permite que sejam adicionados

ou alterados requisitos ligados à classificação de sentimentos. A falta de ferramentas

para o idioma português foi um obstáculo que precisou ser contornado através da

tradução para o inglês. Este processo ocasionou em perdas significativas na precisão da

determinação da polaridade de um texto. O desenvolvimento de uma pesquisa nesta é

um indicativo de trabalho futuro.

A determinação do sentido de um texto, quer seja em relação a um conteúdo do

programa analisado ou diretamente o programa é outra problemática encontrada e não

Page 94: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

93

Artur Vieira Tenório

solucionada neste trabalho, sendo uma possibilidade de trabalho futuro interligando

áreas como psicologia, linguística e computacional.

Também nesta linha de raciocínio, após análises das hashtags utilizadas como

termos de busca, pode-se observar o sugimento de termos relacionados com o

programa, mas que foram criados pela própria audiência, sem intervenção da emissora,

como sugere Lochrie (2012a). Durante a novela transmitida pela Rede Globo, “Avenida

Brasil” durante o ano de 2012, diversos termos surgiram, remetendo ações de algum

personagem ou características, destacando-se: “#CarminhaVirouCrente”,

“#OiOiOiFinal”, “#Nina e Carminha”(CANDIDO, 2012). Um estudo visando identificar e

analisar a relação destes termos com os programas televisivos torna-se um desafio

computacional.

Por fim a interpretação humana de uma amostragem dos textos classificados

automaticamente por ferramentas de classificação de sentimentos a fim de comprovar a

eficácia destas é um possível trabalho futuro.

5.5 Considerações finais

A área de classificação de sentimento possui diversas pesquisas como pode ser

constatado na fundamentação teórica desta pesquisa. Apesar das dificuldades

encontradas para a obtenção dos resultados, foi possível verificar que o comportamento

dos usuários de redes sociais muda quando estes falam sobre televisão. Alguns

trabalhos indicavam a maior incidência de negatividade (MITCHELL; HITLIN, 2013;

MOSTAFA, 2013) nos tweets de usuários que desejavam falar sobre algum tema. Em

todas as análises realizadas pelo TV Audience Analyzer, a negatividade deve valores

bem abaixo da positividade, mesmo quando era analisado um Reality Show, que

remetem à emoções mais fortes (BECKER, 2011).

Page 95: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

94

Artur Vieira Tenório

6. Referências

ABNT NBR 15601. 15601, Norma Brasileira. Televisão digital terrestre—Sistema de Transmissão, v. 7, 2008.

ABNT NBR 15602-3. 15602-3, Norma Brasileira. Televisão digital terrestre-Codificação de vídeo, áudio e multiplexação, v. 3, 2008.

ABNT NBR 15603-1. 15603-1, Norma Brasileira. Televisão digital terrestre-Multiplexação e serviços de informação (SI)-Parte 1., v. 1, 2008.

ALI, A. et al. The Mobile Shopping Framework Study : The Role of Mobile Devices in the Shopping Process Contents. [s.l: s.n.].

ARAÚJO, M. et al. Métodos para Análise de Sentimentos no TwitterWebMedia ’13 Proceedings of the 19th Brazilian symposium on Multimedia and the web. Anais...: WebMedia ’13.New York, NY, USA: ACM, 2013Disponível em: <http://doi.acm.org/10.1145/2526188.2526196>

ARIB B-31. TRANSMISSION SYSTEM FOR DIGITAL TERRESTRIAL TELEVISION BROADCASTING. ARIB STANDARD, v. B31 Versio, 2005.

BECKER, V. Ambiente de medição da audiência para TV digital. [s.l.] Universidade de São Paulo - USP, 2011.

CANDIDO, F. Final de Avenida Brasil domina redes sociais. Disponível em: <http://info.abril.com.br/noticias/internet/final-de-avenida-brasil-faz-sucesso-nas-redes-sociais-19102012-46.shl>. Acesso em: 6 mar. 2014.

CESAR, P.; BULTERMAN, D.; JANSEN, A. Usages of the secondary screen in an interactive television environment: control, enrich, share, and transfer television content. Changing television environments, p. 168–177, 2008.

CREMONESI, P. et al. TV Program Detection in Tweets Categories and Subject Descriptors. In: EuroITV. New York, New York, USA: ACM New York, 2013. p. 45–53.

DEFLEUR, M.; BALL-ROCKEACH, S. Teorias da comunicação de massa. New York, New York, USA: Zahar, 1971. p. 179 e 180

DEY, A. K. Understanding and Using Context. Personal and Ubiquitous Computing, v. 5, n. 1, p. 4–7, 28 fev. 2001.

DUGGAN, M.; SMITH, A. Social Media Update 2013. [s.l: s.n.]. Disponível em: <http://www.pewinternet.org/2013/12/30/social-media-update-2013/>.

ERICSSON CONSUMERLAB. TV AND VIDEO: An analysis of evolving consumer habits. [s.l: s.n.].

Page 96: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

95

Artur Vieira Tenório

ESULI, A.; SEBASTIANI, F.; MORUZZI, V. G. SENTIWORDNET: A publicly available lexical resource for opinion miningIn Proceedings of the 5th Conference on Language Resources and Evaluation (LREC´06). Anais...2006Disponível em: <http://gandalf.aksis.uib.no/lrec2006/pdf/384_pdf.pdf>

FACEBOOK. Key-Facts - Facebook’s latest news, announcements and media resources. Disponível em: <http://newsroom.fb.com/Key-Facts>. Acesso em: 29 jan. 2014.

FECHINE, Y. PROGRAMAÇÃO DIRETA DA TV: SENTIDO E HÁBITO (DIRECT PROGRAMMING OF THE TV: SENSE AND HABIT). Revista Brasileira de Semiótica, N.22, p. 41–57, 2004.

FERRAZ, C.; SQUIRRA, S.; FECHINE, Y. Análise e perspectivas da interatividade na TV Digital. Porto Alegre: Editora Sulina, 2009. p. 15–43

FORUM SBTVD. Sobre o Fórum | Fórum SBTVD. Disponível em: <http://forumsbtvd.org.br/sobre-o-forum/>. Acesso em: 11 jun. 2013.

GOLBECK, J. A. Computing and Applying Trust in Web-based Social Networks. College Park, MD, USA: University of Maryland at College Park, 2005.

HAN, B.; BALDWIN, T. Lexical Normalisation of Short Text Messages : Makn Sens a # twitter. Computational Linguistics, ACL-HLT ’11. v. V, n. 212, p. 368–378, 2011.

HARBOE, G.; MASSEY, N.; METCALF, C. Perceptions of value: The uses of social television. Interactive TV: a Shared …, 2007.

IBGE. Acesso à Internet e posse de telefone móvel celular para uso pessoal 2011. Brasilia, Brasil: [s.n.]. Disponível em: <http://www.ibge.gov.br/home/estatistica/populacao/acessoainternet2011/default.shtm>.

IBGE. IBGE. Disponível em: <http://seriesestatisticas.ibge.gov.br/series.aspx?no=1&op=1&vcodigo=FED214&t=domicilios-particulares-permanentes-televisao>. Acesso em: 14 nov. 2013.

IBOPE. IBOPE-TV. Disponível em: <http://www.ibope.com.br/pt-br/relacionamento/duvidas-frequentes/Paginas/Audiencia-de-televisao.aspx>. Acesso em: 12 jul. 2013.

IBOPE; NIELSEN. As #hashtags da TV. [s.l: s.n.]. Disponível em: <http://www4.ibope.com.br/download/socialtv_2011_versaopublica.pdf>.

ISO/IEC 13818-1. International Organization for Standardization and International Electrotechnical Commission and others. Information Technology-Generic Coding of Moving Pictures and Associated Audio Information, v. 1, 1995.

ISO/IEC 13818-6. IEC 13818-6: Information Technology—Generic coding of Moving Pictures a nd Associated Audio Inf ormation. Internacional Standard, v. 2000, 2000.

Page 97: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

96

Artur Vieira Tenório

JIANG, L. et al. Target-dependent Twitter Sentiment Classification. ACL, p. 151–160, 2011.

KRAVETS, D. Twitter blocked in Egypt amid street protests. CNN International, p. 01, 2011.

LI, Y.-M.; LI, T.-Y. Deriving market intelligence from microblogs. Decision Support Systems, v. 55, n. 1, p. 206–217, 2013.

LOCHRIE, M.; COULTON, P. Sharing the viewing experience through second screens. EuroiTV ’12 Proceedings of the 10th European conference on Interactive tv and video, p. 199–202, 2012a.

LOCHRIE, M.; COULTON, P. Tweeting with the telly on!Consumer Communications and Networking Conference (CCNC), 2012 IEEE. Anais...jan. 2012b

MCQUAIL, D. Audience analysis. illustrate ed. [s.l.] SAGE, 1997, 1997.

MILLER, G. A. WordNet: a lexical database for English. Communications of the ACM, v. 38, n. 11, p. 39–41, 1995.

MISLOVE, A. Online social networks: measurement, analysis, and applications to distributed information systems. [s.l.] RICE UNIVERSITY - Houston, Texas, 2009.

MITCHELL, A.; HITLIN, P. Twitter Reaction to Events Often at Odds with Overall Public OpinionPew Research Center. Washington, DC, USA: [s.n.]. Disponível em: <http://www.pewresearch.org/2013/03/04/twitter-reaction-to-events-often-at-odds-with-overall-public-opinion/>.

MOSTAFA, M. M. An emotional polarity analysis of consumers’ airline service tweets. Social Network Analysis and Mining, v. 3, n. 3, p. 635–649, 4 abr. 2013.

NACIONAL, I. Diário Oficial da União No 145. Brasília, v. 145, p. 1, 2013.

NIELSEN. Social Media Strategy. Disponível em: <http://www.nielsen.com/us/en/nielsen-solutions/social-media-strategy.html>. Acesso em: 4 ago. 2013.

NIELSEN - FAQ. FAQ TV Diary. Disponível em: <http://www.nielsen.com/content/panel/tvdiary7_en_us/faq.html>. Acesso em: 05 jan. 2014.

NIELSEN; TWITTER. Social Guide.

NIELSEN; TWITTER. Social Guide. Disponível em: <http://www.socialguide.com/>. Acesso em: 5 jan. 2014b.

OUTRO CANAL. “BBB 13” tem o triplo de merchandising do “BBB 12.”Disponível em: <http://outrocanal.blogfolha.uol.com.br/2013/02/06/bbb-13-tem-o-triplo-de-merchandising-do-bbb-12/>. Acesso em: 17 jul. 2013.

Page 98: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

97

Artur Vieira Tenório

PAK, A.; PAROUBEK, P. Twitter as a Corpus for Sentiment Analysis and Opinion Mining. LREC, p. 1320–1326, 2010.

PANG, B.; LEE, L. Opinion Mining and Sentiment Analysis. Found. Trends Inf. Retr., v. 2, n. 1-2, p. 1–135, 2008.

QUAL CANAL TV. Qual Canal TV - Sobre Nós. Disponível em: <http://www.qualcanal.tv/sobre_nos.html>. Acesso em: 12 dez. 2013.

REDE GLOBO. Manual Básico de Mídia - Audiência de TV. Disponível em: <http://comercial.redeglobo.com.br/informacoes_comerciais_manual_basico_de_midia/manual_basico_audiencia.php>. Acesso em: 11 mar. 2014.

REYNOLDS, J. Twitter website “blocked” in Turkey. BBC News Europe, p. 01, 2014.

RODRIGUES BARBOSA, G. A. et al. Characterizing the effectiveness of twitter hashtags to detect and track online population sentiment. Proceedings of the 2012 ACM annual conference extended abstracts on Human Factors in Computing Systems Extended Abstracts - CHI EA ’12, p. 2621, 2012.

SBTVD. Cidades com cobertura - DTV. Disponível em: <http://www.dtv.org.br/cidades-onde-a-tv-digital-esta-no-ar/>. Acesso em: 11 nov. 2013.

SCHILIT, B. et al. Context-Aware Computing ApplicationsProceedings of the 1994 First Workshop on Mobile Computing Systems and Applications. Anais...: WMCSA ’94.Washington, DC, USA: IEEE Computer Society, 1994Disponível em: <http://dx.doi.org/10.1109/WMCSA.1994.16>

SENTI WORLD NET. Senti World Net. Disponível em: <http://sentiwordnet.isti.cnr.it/>. Acesso em: 27 jul. 2013.

SENTISTRENGTH. SentiStrength. Disponível em: <http://sentistrength.wlv.ac.uk/>. Acesso em: 21 jul. 2012.

SILVA, J. S. DA. Connected-Ginga : Um Modelo de TV Híbrida para Acesso a Conteúdo Web Sensível à Programação de TV ". [s.l.] Universidade Federal de Pernambuco - UFPE, 2012.

TAUSCZIK, Y. R.; PENNEBAKER, J. W. The Psychological Meaning of Words: LIWC and Computerized Text Analysis Methods. Journal of Language and Social Psychology, v. 29, n. 1, p. 24–54, 8 dez. 2009.

TELEVISÃO UOL. Média de audiência do “BBB13” empata com “BBB11” na pior marca do reality show. Disponível em: <http://televisao.uol.com.br/bbb/bbb13/noticias/redacao/2013/03/27/media-de-audiencia-do-bbb13-empata-com-bbb11-na-pior-marca-do-reality-show.htm>. Acesso em: 17 jul. 2013.

THELWALL, M. Sentiment in Twitter events. Journal of the American …, v. 62, n. 2, p. 406–418, 2011.

Page 99: Pós-Graduação em Ciência da Computação · abordado neste é um processo e torna-se um desafio que envolve áreas além da ciência da computação. Palavras-chave: ... FUNCIONAMENTO

98

Artur Vieira Tenório

TTV. TTV. Disponível em: <http://ttv.tuilux.com.br/?page_id=29>. Acesso em: 5 jan. 2014.

TWITTER. The Streaming APIs. Disponível em: <https://dev.twitter.com/docs/api/streaming>. Acesso em: 11 nov. 2012.

TWITTER. About Twitter, Inc. Disponível em: <https://about.twitter.com/company>.

TWITTER DEVELOPERS. Using the Twitter Search API. Disponível em: <https://dev.twitter.com/docs/using-search>. Acesso em: 5 jan. 2014.

WAKAMIYA, S.; LEE, R.; SUMIYA, K. Towards better TV viewing rates: exploiting crowd’s media life logs over Twitter for TV rating. Proceedings of the 5th International Conference on Ubiquitous Information Management and Communication, 2011.

YOUTUBE. Statistics - YouTube. Disponível em: <http://www.youtube.com/yt/press/>. Acesso em: 29 jan. 2014.

ZAPPING. “BBB 13” deve ter a pior audiência de todas as edições. Disponível em: <http://f5.folha.uol.com.br/colunistas/zapping/1251595-bbb-13-deve-ter-a-pior-audiencia-de-todas-as-edicoes.shtml>. Acesso em: 29 jan. 2014.

ZIMMERMANN, A.; LORENZ, A.; OPPERMANN, R. An operational definition of context. In: Modeling and using context; Lecture notes in computer science. [s.l.] Springer Berlin Heidelberg, 2007. v. 4635p. 558–571.