52

Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada
Page 2: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada
Page 3: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Abstract

The goal of this thesis is to do a set of experiments in text driven forecasting. With those experi-

ments we expect to compare the obtained results from three different models: ridge regression, Lasso

and Elastic Net. The experiments will be made using the optimization algorithm SpaRSA, which is

an algorithm rarely used in this field of studies. The experiments that are going to be made intend

to predict movie’s revenues using reviews published in several newspapers and magazines. We also

intend to predict the number of clicks in news articles posted in an news’s website using the text from

the news. In both cases it will also be used metadata in order to improve the results. The obtained

results were positive since the error of the tested models was lower than the error obtained using the

baseline model. Analyzing the results, it is possible to see that metadata is important since it improves

the performance of the models. Also, which and how metadata is used changes the way the models

perform.

Keywords

Prediction, Text, News, Movies, Sparsa, Lasso, Rigde Regression, Elastic Net

i

Page 4: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada
Page 5: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Resumo

O objectivo deste trabalho é realizar um conjunto de experiências no âmbito de previsão orientada

por texto. Com estas experiências espera-se comparar com algum detalhe os resultados obtidos de

três modelos distintos: ridge regression (regularização `1), Lasso (regularização `2) e Elastic Net

(regularização `1 e `2). As experiências foram feitas usando o algoritmo de optimização SpaRSA,

que é um algoritmo que não costuma ser utilizado nesta área de estudos. As experiências realizadas

serão feitas com o intuito de prever as receitas geradas por filmes usando a informação contida em

reviews publicas em jornais e revistas. Para esta experiência também foram usados metadados so-

bre os filmes, tais como os actores e directores presentes no filme. Outras experiências foram feitas

com o objectivo que prever o número de cliques numa notícia presente num site através do texto que

constitui a notícia. Para este caso também foram considerados alguns metadados relacionados com

as notícias. Os resultados obtidos foram positivos. O erro apresentado pelos modelos usados foram

inferiores ao erro obtido, quando comparada uma previsão usada como base de comparação. Anali-

sando os resultados percebeu-se que os metadados são importantes para melhorar a performance

dos modelos. A escolha e pré-processamento dos metadados também é importante já que influencia

bastante os resultados finais.

Palavras Chave

Previsão, Texto, Notícias, Filmes, SpaRSA, Lasso, Ridge Regression, Elastic Net

iii

Page 6: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada
Page 7: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Conteúdo

1 Introdução 1

1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Estado da Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Previsão Guiada por Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Modelos Estatísticos de Regressão . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.3 Algoritmos de Optimização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Contribuições Originais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Organização da Tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Modelos e Algoritmos Estatísticos para Regressão 7

2.1 Regressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.1 Regressão Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.2 Regularização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Ridge Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 Forma Fechada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.2 Método Iterativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Least Absolute Shrinkage and Selection Operator (Lasso) . . . . . . . . . . . . . . . . . 12

2.4 Características Lasso Vs ridge regression . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5 Elastic Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.6 Melhoramentos dos Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.6.1 Step size fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.6.2 Step size variável . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.6.2.A Inversamente proporcional à raiz quadrada do número da iteração . . . 17

2.6.2.B Sparse Reconstruction by Separable Approximation (SpaRSA) (Sparse

Reconstruction by Separable Approximation) . . . . . . . . . . . . . . . 18

2.6.3 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 Previsão Orientada por Texto 21

3.1 Definição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2 Representação dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Previsão de Receitas dos Filmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 Previsão de Número de Cliques em Notícias . . . . . . . . . . . . . . . . . . . . . . . . 24

v

Page 8: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

4 Aplicação dos Modelos 25

4.1 Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.1 Descrição dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.2 Extracção dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.2 Previsão de Receitas de Filmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2.2 Análise dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3 Previsão de Cliques nas Notícias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3.2 Análise dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5 Conclusões e Trabalho Futuro 33

5.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.2 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Bibliography 35

vi

Page 9: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Lista de Figuras

2.1 Exemplo do funcionamento do método do gradiente (Imagem retirada de http://pt.wikipedia.org/wiki/Otimiza%C3%A7%C3%A3o) 11

2.2 Imagem da estimação do Lasso (esquerda) e do ridge regression (direita) (Imagem

retirada de http://www.stanford.edu/~hastie/local.ftp/Springer/OLD/

/ESLII_print4.pdf) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3 Evolução do vector de pesos ao longo de vários λ . . . . . . . . . . . . . . . . . . . . . 14

2.4 Exemplos de funcionamento do Ridge para vários step size fixos . . . . . . . . . . . . . 16

2.5 Exemplo de funcionamento do Ridge para step size variável . . . . . . . . . . . . . . . 17

2.6 Exemplo de funcionamento do ridge regression usando o SpaRSA . . . . . . . . . . . . 19

2.7 Comparação entre os 3 métodos considerados através da evolução da função objec-

tivo ao longo das iterações. A vermelho a evolução do SpaRSA, a azul a evolução com

step size fixo e a verde com evolução segundo n√t

. . . . . . . . . . . . . . . . . . . . . 20

vii

Page 10: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada
Page 11: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Lista de Tabelas

4.1 Diferença dos metadados com e sem a feature número de salas. O erro é medido em

MAE em milhões de dólares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 MAE em milhões de dólares sem separação das fontes das reviews . . . . . . . . . . . 28

4.3 MAE em milhões de dólares com separação das fontes . . . . . . . . . . . . . . . . . . 28

4.4 Metadados com peso mais positivo e mais negativo para o Ridge . . . . . . . . . . . . . 28

4.5 Palavras com peso mais positivo e mais negativo para o Ridge . . . . . . . . . . . . . . 29

4.6 Palavras com peso mais positivo e mais negativo para o Ridge com separação da fonte 29

4.7 Erro no conjunto de teste da notícias com os dados separados por blocos . . . . . . . . 30

4.8 Palavras com peso mais positivo e mais negativo para o Ridge apenas considerando

o texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.9 Palavras com peso mais positivo e mais negativo para o ridge regression considerando

o texto e os metadados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

ix

Page 12: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada
Page 13: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Abreviaturas

SVR Support Vector Regression

NFL National Football League

Lasso Least Absolute Shrinkage and Selection Operator

SpaRSA Sparse Reconstruction by Separable Approximation

LAR Least-Angle Regression

GPSR Gradient Projection for Sparse Reconstruction

FIST Fast Iterative Shrinkage Thresholding

TwIST Two Steps Iterative Shrinkage Thresholding

IST Iterative Shrinkage Thresholding

IRS Iterative Reweighted Shrinkage

NLTK Natural Language Tool Kit

xi

Page 14: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada
Page 15: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Lista de Símbolos

X matriz de dimensão M × N que contem as features, em que M é o número de

documentos e N o número de features . . . . . . . . . . . . . . . . . . . . . . . . . . 8

y Vector coluna de dimensão M contendo os valores que se pretende prever . . . . . . 8

w Vector coluna de dimensão N com os pesos das features . . . . . . . . . . . . . . . . 8

β0 Coeficiente de polarização (offset) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

y Vector coluna de dimensão M com os valores previstos pelo modelo . . . . . . . . . 8

w Vector coluna de dimensão N com o peso das features estimado através do pro-

cesso de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

F (w) Função de custo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

λ Parâmetro que regula a quantidade de regularização usada . . . . . . . . . . . . . . 9

Q(w) Função de erro quadrático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

R(w) Função de regularização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

η passo (step size), define o tamanho do passo dado por algoritmo iterativo . . . . . . 11

t Número da iteração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

i Índice do vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

α Parâmetro que regula regula o uso da norma `1 e `2 no Elastic Net . . . . . . . . . . 14

k Constante definida no Elastic Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

bi Entrada i do vector w dividido por k . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

K Constante definida no Elastic Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

n Parâmetro que define o tamanho do passo . . . . . . . . . . . . . . . . . . . . . . . . 17

xiii

Page 16: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada
Page 17: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

1Introdução

Contents1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Estado da Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Contribuições Originais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Organização da Tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1

Page 18: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

1.1 Motivação

Nos dias que correm, a Internet tornou-se um fenómeno que alterou completamente a maneira

como as pessoas comunicam e se expressam. O uso da Internet tornou-se um hábito diário para

uma enorme quantidade de pessoas, fazendo com que o volume de informação que viaja por este

meio seja muito grande. Alguns serviços em particular, como redes sociais e blogs, são extrema-

mente utilizados para que os utilizadores partilhem opiniões e expressem sentimentos. Foram estes

serviços que impulsionaram esta mudança na interacção e expressão social, pela facilidade com que

se tem acesso a eles, mas também pela rapidez com que a informação se propaga. Por exemplo,

o Twitter, que é uma rede de partilha de informação em tempo real, tem mais de 500 milhões de

utilizadores activos e são criadas 135 mil contas por dia. Em média, nessa rede são feitos 58 mi-

lhões de tweets por dia 1. Também o Facebook é um grande centro de partilha de informação, com

cerca de 1.2 mil milhões de utilizadores 2. Toda esta quantidade enorme de informação despertou

um grande interesse na comunidade cientifica, já que se trata de uma nova fonte de dados. Uma uti-

lidade possível para estes novos dados é a previsão de algo que esteja de certa maneira relacionada

com a informação disponibilizada pelas pessoas na Internet. A informação partilhada a cada dia por

este meio dá-nos informação acerca do estado actual do mundo segundo o ponto de vista de muitas

pessoas.

“Forecasting the future hinges on understanding the present” - Noah Smith [1]

No entanto, esta descrição está distribuída de uma maneira incompreensível para o ser humano

[1]. Isto acontece porque a quantidade de informação é enorme, está dispersa por uma grande quan-

tidade de fontes e está codificado em texto. É preciso destacar que o acesso a esta informação não

é problema com uma solução trivial. A informação é de difícil acesso já que normalmente esta está

codificada em texto que tem características ruidosas, esparsas e é pouco estruturado. Dependendo

da natureza do texto, estas características podem evidenciar-se mais, como por exemplo em docu-

mentos de opinião, ou outros onde são descritos emoções ou percepções, em que a linguagem é

mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem

factos. Outro problema que pode surgir na previsão orientada por texto é a constante evolução da

língua ou até mesmo a evolução da própria sociedade em relação ao tema do que se está a tentar

prever. O processamento de linguagem natural complica-se ainda mais porque existem diferentes lín-

guas e dialectos, cada uma com o seu enorme e esparso vocabulário que muda diariamente, regras

gramaticais e excepções a essas regras e ainda por causa da existência de frases ambíguas. No

entanto, avanços recentes no processamento de linguagem natural permitem-nos, através de mode-

los estatísticos, analisar o texto e ligá-lo a fenómenos mensuráveis do mundo real. A aplicabilidade

da previsão guiada por texto é enorme, nomeadamente na área dos negócios e finanças, como por

exemplo no cálculo do risco associado a um investimento ou a previsão do sucesso de um filme nas

bilheteiras. Através destas previsões é possível, por exemplo, para o caso dos filmes, controlar as1Retirado de: http://www.statisticbrain.com/twitter-statistics2Dados de http://www.statisticbrain.com/social-networking-statistics/

2

Page 19: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

despesas de publicidade sabendo o sucesso do filme ou para as notícias a colocação relativa que

se deve dar à notícia na página de rosto tendo em conta a previsão obtida para o número de cliques.

Para alcançar este objectivo vão ser testados e comparados vários modelos estatísticos. Estes mo-

delos, depois de devidamente treinados, conseguem fazer uma previsão usando documentos novos

que não estejam contidos no conjunto de documentos usados para o treino.

1.2 Estado da Arte

1.2.1 Previsão Guiada por Texto

O uso de texto em modelos estatísticos para fazer previsões é recente. Enumeramos em se-

guida vários trabalhos associados a esta linha de investigação. Nesta tese são usados dados sobre

filmes. Estes dados foram compilados por Joshi et al. [2]. Nesse artigo, tal como mais à frente

nesta tese, pretendem-se prever as receitas de bilheteira de um determinado filme a partir de um

conjunto de reviews feitas a esse filme. Nesta previsão, são usados também alguns metadados.

O objectivo é encontrar, através de modelos estatísticos, palavras ou metadados que sejam bons

indicadores da tendência do público para ver cada filme. Outras experiências com dados diferentes

foram feitas, tais como em previsão de risco financeiro a partir de relatórios financeiros [3], em que

é usado o modelo Support Vector Regression (SVR) [4]. Neste caso, o risco financeiro é medido

através da medida stock return volatility. Na área das finanças, volatilidade consiste numa medida

de variação do preço de um determinado instrumento financeiro ao longo do tempo. Também foram

feitos testes no sentido de prever os resultados da National Football League (NFL) e resultados das

apostas desportivas a partir dos tweets publicados no twitter e das estatísticas dos jogos [5], usando

regressão linear e logística [6], de onde se conclui que a análise dos tweets oferece, para alguns

casos, melhores resultados que a análise das estatísticas retiradas dos jogos. Para além das que

já foram mencionadas, ainda foram experimentados outros tipos de dados para prever quantidade

mensuráveis. Por exemplo, previsão da idade do autor de um artigo usando como dados o texto que

este escreveu [7]. Outro exemplo consiste em fazer a previsão da reacção da comunidade científica

a um artigo publicado [8], neste caso para mostrar como a comunidade científica reagiu ao artigo

usaram-se o número de downloads e citações do artigo e usou-se o texto do artigo para fazer a pre-

visão. Para o número de downloads usou-se um modelo de regressão linear e para as citações um

modelo logístico. Noutra experiência, tentou prever-se a sobrevivência de uma lei americana [9]. As

leis americanas são avaliadas por um comité do parlamento e são, ou não, recomendadas por esse

comité. As leis que não são recomendadas, têm uma probabilidade muito baixa de serem aprovadas,

enquanto que as que são recomendadas têm uma probabilidade elevada de serem aprovadas. Estas

experiências têm o objectivo de prever o resultado da avaliação deste comité e assim conseguir fazer

uma previsão se a lei será aprovada ou não. Outra experiência feita na área da politica foi a previsão

da opinião das pessoas sobre candidatos políticos a eleições através do texto publicado nos jornais

sobre os debates políticos [10].

3

Page 20: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

1.2.2 Modelos Estatísticos de Regressão

Vários modelos estatísticos de regressão têm sido propostos pela comunidade de aprendizagem

estatística, sendo ferramentas adequadas para construir um sistema de previsão a partir de texto.

Exemplos são o ridge regression que utiliza regularização `2 [11], o Least Absolute Shrinkage and

Selection Operator (Lasso) [12] que utiliza regularização `1 e o Elastic Net que utiliza uma combina-

ção das regularizações `2 e `1. [13]. O ridge regression é o que traz uma regularização mais simples

usada para evitar o overfitting, que consiste na pouca capacidade de generalização do modelo. O

ridge regression também permite lidar com sistemas de equações indeterminados. O ridge regres-

sion tem ainda uma forma fechada. O Lasso por seu lado conduz a modelos esparsos, já que a

regularização `1 tende a anular os pesos de certas features o que permite fazer selecção das mes-

mas. O Elastic Net apresenta vantagens a nível de algoritmos de optimização, tornando a função

objectivo fortemente convexa. O Elastic Net é, no entanto, mais complexo que o o Lasso e que o

ridge regression e, por isso, é computacionalmente mais pesado. Estes modelos serão explicados

em mais detalhe no capítulo 2. Para casos em que a variável de saída apenas toma dois valores,

usa-se um modelo que não é linear denominado regressão logística.

1.2.3 Algoritmos de Optimização

Existem vários algoritmos que podem ser usados para minimizar as funções objectivo que são

obtidas através dos modelos. Nesta tese é usado o Sparse Reconstruction by Separable Approxi-

mation (SpaRSA) [14], que será explicado com mais detalhe no próximo capitulo. Outro exemplo é

o algoritmo denominado Least-Angle Regression (LAR) [15] que utiliza a correlação da direcção to-

mada para cada passo da iteração e o resíduo (distância da solução). Este algoritmo pertence a uma

categoria de algoritmos denominados Active Set Methods que consistem em algoritmos que dividem

o problema em problemas mais pequenos que são posteriormente resolvidos sequencialmente. Um

algoritmo que pode ser usado é o Gradient Projection for Sparse Reconstruction (GPSR) [16]. Com

este algoritmo tenta-se resolver o problema convertendo-o num programa quadrático, separando o

vector de pesos em dois que contenham os pesos negativos e os pesos positivos. Existe ainda um

conjunto de algoritmos Proximal Gradient que podem ser usados para resolver o problema de mi-

nimização de uma função de custo. Alguns algoritmos que pertencem a esta categoria são o Fast

Iterative Shrinkage Thresholding (FIST) [17] e o Two Steps Iterative Shrinkage Thresholding (TwIST)

[18], ambos baseados no Iterative Shrinkage Thresholding (IST) que consiste em alternar passos de

gradiente com soft-thresholding, como será descrito com mais detalhe no Capitulo 2. O TwIST junta

o melhor do Iterative Reweighted Shrinkage (IRS) [19] e cada iteração depende das duas ultimas

iterações em vez de depender apenas da anterior. Por seu lado o FIST é baseado em métodos de

gradiente acelerados propostos por Nesterov [20] e é um algoritmo que continua a usar apenas um

gradiente por iteração mas calcula um ponto adicional que pode ser calculado facilmente mas adici-

ona um termo adicional de “momento”, obtendo-se melhores taxas de convergência assimptótica.

Outro algoritmo muito usado é o Coordinate Descent [21]. Este algoritmo pode ser usado em

4

Page 21: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

qualquer um dos modelos utilizados nesta tese e aproveita a esparsidade dos dados e pode ser

usado quando se tem uma quantidade muito grande de dados. Este algoritmo procura o mínimo

através de pesquisa linear apenas na direcção de um eixo de cada vez em que a escolha do eixo é

feita ciclicamente.

1.3 Contribuições Originais

Nesta tese abordam-se dois problemas concretos:

• Previsão de receitas de filmes a partir das reviews feitas aos filmes

• Previsão da quantidade de cliques numa determinada notícia online a partir do seu conteúdo.

Relacionados com estes dois tópicos, várias contribuições originais são feitas nesta tese. Em

ambos os casos foi feita uma comparação detalhada de vários modelos de regularização com o ob-

jectivo de encontrar o modelo que apresenta melhores resultados. No caso dos filmes, é preciso

destacar que os dados utilizados são públicos e já foram alvo de estudos, mas os resultados apre-

sentados por esses estudos consideraram apenas um dos modelos testados nesta tese. Por outro

lado, os dados das notícias não são públicos e nunca foram utilizados anteriormente com o propósito

de fazer previsão de cliques. Todos os resultados obtidos para estes dados foram obtidos através de

tratamento dos mesmos sem ter por base nenhum trabalho anteriormente feito. Também a escolha

dos modelos e algoritmos a utilizar constitui trabalho original.

O algoritmo SpaRSA foi o escolhido por nós para resolver os problemas de minimização das

funções objectivo. Este algoritmo já deu contribuições importantes noutras áreas de estudo, tais

como em processamento de imagem e de sinais. No entanto, nesta tese, este algoritmo foi utilizado

para o processamento de linguagem natural

1.4 Organização da Tese

Esta tese está organizada da forma que em seguida se descreve. Começaremos por apresentar

modelos e algoritmos para regressão. Os modelos considerados foram o ridge regression, Lasso e

Elastic Net e foi usado o SpaRSA para encontrar o mínimo da função objectivo. Esta apresentação

é feita no Capitulo 2. No Capitulo 3 será discutido o tema da tese: “Previsão Orientada por Texto”.

Em seguida, no Capitulo 4, são apresentados e analisados os resultados obtidos nos vários dados

usados para as experiências. Estes resultados foram obtidos com várias configurações e combina-

ções de texto e metadados. As conclusões retiradas dos resultados obtidos nas experiências serão

apresentadas no Capitulo 5.

5

Page 22: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

6

Page 23: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

2Modelos e Algoritmos Estatísticos

para Regressão

Contents2.1 Regressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Ridge Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Lasso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Características Lasso Vs ridge regression . . . . . . . . . . . . . . . . . . . . . . 132.5 Elastic Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.6 Melhoramentos dos Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

7

Page 24: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Modelos e Algoritmos Estatísticos para Regressão

Neste capítulo, apresentaremos uma breve descrição dos vários modelos de regressão linear que

podem ser utilizados com o objectivo de conseguir atingir o objectivo de fazer previsões usando texto.

Também são apresentados algoritmos de optimização que tentam resolver o problema de minimiza-

ção das funções objectivos. Este capítulo não contém trabalho original, contém antes informação

necessária para que se possam compreender e realizar previsões guiadas por texto.

2.1 Regressão

2.1.1 Regressão Linear

Nesta tese, com o objectivo de prever uma quantidade a partir de texto foram utilizados algoritmos

baseados em regressão linear. A regressão linear é da forma

y ≈ Xw + β0, (2.1)

em que X é uma matriz que contém os dados relacionados com o texto, dispostos de tal maneira

que cada linha da matriz representa um documento e cada coluna uma característica (feature), seja

ela metadado, uma palavra ou um conjunto de palavras. A matriz X é portanto uma matriz de di-

mensões M por N , onde M é o número de documentos e N o número de features. O vector coluna

y, de dimensão M , onde estão armazenados os valores que se pretende prever, sendo que cada

elemento representa um documento. Finalmente, w é um vector coluna de dimensão N , contendo

os coeficientes de regressão, ou seja, o peso de cada feature presente em X para prever os valores

de y. O parâmetro β0 é o coeficiente de polarização (offset). A maneira como estas matrizes podem

ser preenchidas no âmbito deste trabalho está explicado com mais detalhe em 3.2. O vector w pode

ser obtido através da resolução de um problema de optimização. Para o treino da regressão linear

é necessário um conjunto de dados que contenham tanto o X como o y. Este processo de treino

consiste em descobrir o vector w que minimiza a diferença entre a previsão Xw e o y verdadeiro que

faz parte dos dados com que iniciamos o processo de treino. Este processo pode ser representado

pela seguinte expressão matemática:

w = arg minw

{‖Xw− y‖22

}(2.2)

Note-se que o offset, β0, é considerado igual a ~0. Isto será feito porque será usada uma feature

com igual peso para todos documentos e assim β0 deixará de ser necessário. Depois de treinada a

regressão linear, e dado o novo documento xT , faz-se uma previsão. Note-se que o vector linha xT

é uma linha da matriz X. A previsão é feita de acordo com:

y = Xw, (2.3)

sendo y a matriz dos valores estimados.

8

Page 25: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

2.1.2 Regularização

Apesar de este processo de treino simples produzir um w que permite fazer futuras previsões de y

dado um vector de features x, esta regressão apenas permite obter uma previsão com um erro baixo

nos dados em que foi treinado. Isto acontece porque o algoritmo produz um vector w demasiado

adaptado ao X usado para o processo de treino. Este efeito chama-se overfitting e reduz a qualidade

do modelo para dados diferentes dos que foram usados para o processo de treino pois o modelo não

conseguirá generalizar bem para dados que não foram ainda observados. Por isso é usual adicionar

ao processo de treino um regularizador de forma a penalizar a complexidade do modelo e assim

evitar o overfitting. Isto pode ser feito usando a função de custo do tipo :

F (w) = Q(w) + λR(w) (2.4)

e o seu processo de treino consiste em resolver o seguinte problema de optimização:

w = arg minw

{Q(w) + λR(w)} (2.5)

em que λ é um parâmetro que regula a quantidade de regularização usada e Q(w) é a regressão

linear simples anteriormente apresentada :

Q(w) =1

2‖Xw− y‖22 (2.6)

e R(w), a função regularizadora. É de notar que toda a expressão foi multiplicada por 12 para simpli-

ficar futuros cálculos do gradiente que serão necessários. Nesta tese vamos explorar várias funções

de regularização: a norma `2 (modelo ridge regression), a norma `1 (modelo Lasso) e uma combina-

ção entre as duas normas (modelo Elastic Net).

2.2 Ridge Regression

No ridge regression [11] a regularização usada é a norma `2, por outras palavras, a função de

regularização RRidge(w) é a seguinte:

RRidge(w) =1

2‖w‖22 (2.7)

Note-se que se volta a usar o factor multiplicativo de 12 pelos mesmos motivos que foi usado na

expressão (2.6). Assim, mantendo a expressão do Q(w) igual à expressão (2.6), a expressão final

da função de objectivo FRidge(w) é:

FRidge(w) =1

2‖Xw− y‖22 +

1

2λ‖w‖22 (2.8)

e a expressão usada para o treino do algoritmo é:

w = arg minw

{1

2‖Xw− y‖22 +

1

2λ‖w‖22

}(2.9)

O processo de treino dado pela função de custo representado na expressão (2.8) pode ser feito

através de dois métodos distintos, um utilizando uma expressão para a solução em forma fechada e

outra com um algoritmo iterativo.

9

Page 26: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

2.2.1 Forma Fechada

No processo de treino procura-se o mínimo da função de custo (2.8). O mínimo da função pode

ser encontrado através da anulação do gradiente. Quando o gradiente da função for zero, significa,

para qualquer função diferenciável e convexa, que a função apresenta um mínimo global. Para

funções estritamente convexas, o gradiente da função apenas se anula num ponto enquanto que

para funções que apenas sejam convexas isto pode acontecer para vários pontos. Neste caso, a

função não tem máximo e só possui um mínimo por ser uma função estritamente convexa (não tem

mínimos locais). Por isso encontrando o w que torna o gradiente igual a zero encontra-se o mínimo

da função e, consequentemente, encontra-se o w que minimiza a função de custo. Sendo FRidge(w)

a função de custo (2.8) este foi o processo usado para se chegar à formula em forma fechada:

∇F (w)Ridge = ∇(

1

2‖Xw− y‖22 +

1

2λ‖w‖22

)= ∇

(1

2(wTXTXw + yTy− 2yTXw)) +

1

2λwTw

)=

1

2(2XTXw− 2XTy) + λw

= XTXw− XTy + λw = 0 (2.10)

Resolvendo em ordem a w:

w = (XTX + λI)−1XTy (2.11)

Sem a regularização (λ = 0) obtém-se a forma fechada da regressão linear simples:

w = (XTX)−1XTy (2.12)

De uma forma intuitiva, esta formula pode ser obtida através da equação y = Xw resolvida em ordem

a w. É de notar que porque o X não tem inversa usa-se em vez disso a pseudo-inversa de X, sendo

a forma desta pseudo-inversa a seguinte:

X+ = (XTX)−1XT (2.13)

Esta pseudo-inversa é conhecida por pseudo-inversa de Moore-Penrose. É preciso notar que esta

psudo-inversa apenas pode ser usada para casos em que o número de pontos é superior ao número

de features já queXTX apenas é invertível nesses casos. A diferença entre a forma fechada do ridge

regression e a forma fechada do regressão simples é apenas a inclusão do parâmetro λ na formula

da pseudo-inversa. A regressão simples, para os casos em que há mais features que documentos,

tem um número infinito de soluções. No entanto ao adicionar-se a função regularizadora isto deixa

de acontecer e o problema tem apenas uma solução.

O processo de treino através da forma fechada do ridge regression permite o cálculo exacto

do w, no entanto necessita que seja feita uma inversa. O processo de inverter uma matriz é um

processo pesado computacionalmente e, por isso, o uso deste método é desencorajado para dados

que contenham muitas features ou muitos documentos porque aumenta o tamanho da matriz X e

com isso o peso do cálculo da sua pseudo-inversa.

10

Page 27: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

2.2.2 Método Iterativo

Como foi referido anteriormente, a forma fechada não é adequada para matrizes X demasiado

grandes. Para esses caso é usado o método iterativo em que o mínimo da função objectivo é en-

contrado através de métodos numéricos, obtendo-se um resultado aproximado que converge para o

valor correcto. Para encontrar o mínimo da função pode-se usar o método do gradiente. O gradiente

da função objectivo aponta na direcção em que a função tem um crescimento mais acentuado, as-

sim, seguindo na direcção oposta, conseguimos aproximar-nos do mínimo da função.

Figura 2.1: Exemplo do funcionamento do método do gradiente (Imagem retirada dehttp://pt.wikipedia.org/wiki/Otimiza%C3%A7%C3%A3o)

Na Figura 2.1 pode-se ver um exemplo do funcionamento do método do gradiente. No exemplo da

imagem consideram-se apenas duas features para que seja representável num gráfico.

Para o método iterativo é necessário o gradiente que já foi calculado anteriormente em (2.10):

∇F (w)Ridge = XTXw− XT y + λw (2.14)

É de notar que o gradiente pode ser escrito da seguinte forma:

∇F (w)Ridge = XT (Xw− y) + λw

= XT (ε(w)) + λw (2.15)

em que ε(w) é o erro de predição e é a diferença entre o valor real do y e o valor previsto.

ε(w) = (Xw− y) (2.16)

Sabendo o gradiente da função objectivo, aplica-se o algoritmo pseudo-código representado no Al-

goritmo 1:

Sendo η um parâmetro que caracteriza o salto que se dá na direcção do oposta ao gradiente e

por consequência em direcção ao mínimo da função. Este parâmetro é chamado de passo (step

size). Usando a expressão (2.15) a obtenção de wt+1 , em que t é o número da iteração, também

pode ser feito com a seguinte expressão:

wt+1 ← (1− ηλ)wt − ηXT ε(w) (2.17)

11

Page 28: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Algoritmo 1 Ridge Iterativo

wt ← ~0while t < max_iter do

wt+1 ← wt − η ×∇F (wt)t← t+ 1

end whilereturn wt

Este algoritmo bastante simples pode ser melhorado de forma a que convirja em menos iterações

tornando o valor do step size dinâmico. Com este processo com o step size variável pretende-se que

este diminua quando wt esteja perto da solução e aumente quando esteja longe. É possível também

melhorar o critério de paragem em alternativa a um limite máximo de iterações. Estes melhoramentos

serão introduzidos quando for apresentado o algoritmo SpaRSA na secção 2.6.2.B.

2.3 Lasso

Outro algoritmo possível para o processo de treino dos dados é o Lasso [12]. O Lasso também

assenta no mesmo tipo de equação que o ridge regression, com a forma (2.4):

F (w) = Q(w) + λR(w)

Neste caso o regularizador RLasso(w) é diferente comparando com o caso do Ridge e o Q(w) conti-

nua a ser do tipo (2.6). O RLasso(w) passa a ser a `1 de w em vez da `2 como era no ridge regression:

RLasso(w) = ‖w‖1 (2.18)

Assim, a função objectivo do Lasso é:

FLasso(w) =1

2‖Xw− y‖22 + λ‖w‖1 (2.19)

e o w obtido através do processo de treino obtém-se através do seguinte problema de optimização:

w = arg minw

{1

2‖Xw− y‖22 + λ‖w‖1

}(2.20)

Pode-se notar a ausência do factor multiplicativo de 12 em RLasso(w) ao contrário do que acontecia

no ridge regression. Isto é devido ao facto de que este factor de 12 já não traz qualquer simplificação

dos cálculos visto que o regularizador já não é uma função quadrática. Note-se que o regularizador

do Lasso não é diferenciável no ponto w = ~0 por ser uma `1. Como a função objectivo do Lasso

FLasso(w) não é diferenciável em todo o seu domínio é usado um método diferente para se resolver o

problema. É por isso usado um algoritmo iterativo chamado Proximal Gradient. Este pode ser usado

porque a função objectivo do Lasso tem a forma da equação (2.4), isto é, é uma função separável

em que ambas as partes da função são convexas. Desta maneira a a função objectivo é dividida

em função quadrática, Q(w), e função de regularização, RLasso(w) e as duas partes são tratadas de

maneira diferente. Em Q(w) será usado um Gradient Step semelhante ao usado na forma iterativa

usada no ridge regression. Em relação a RLasso(w) é aplicado um Proximal Step, que pode ser

12

Page 29: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Algoritmo 2 Lasso - Proximal Gradient

wt ← ~0while t < max_iter do

ut ← wt − η ×∇Q(wt) (Gradient Step)wi,t+1 ← 1

2‖ut −wt‖22 + ηλR(ut) (Proximal Step)t← t+ 1

end whilereturn wt

usado quando a função é convexa. O Proximal Step, como visto no Algoritmo 2, tenta resolver um

problema da forma arg minu{

12‖u−w%|22 + ηλR(u)

}. Para o caso em que a função regularizadora

R(u) = ‖u‖1 este problema pode ser resolvido através da função soft thresholding:

wi,t+1 = soft(ui, a) =

ui − a se ui > a0 se u ∈ [−a, a]ui + a se ui < a

(2.21)

= sign(ui)×max(|ui| − a, 0) (2.22)

Sendo a = ηλ e wi,t+1 o índice i do vector w na iteração t+ 1.

2.4 Características Lasso Vs ridge regression

Como já foi visto, a única diferença entre o Lasso e o ridge regression é a função de regularização

R(w). Esta diferença faz com o vector w que é solução de (2.20), tende a ser esparso, isto é os seus

índices tendem para zero. Para o ridge regression isto já não se verifica. Isto acontece porque

enquanto a regularização do ridge regression é proporcional, a do Lasso é a função soft thresholdind

que trunca os índices do vector w a zero. Para o caso em que existem duas features, w1 e w2 as

funções de regularização são equivalentes às seguintes condições:

|w1|+ |w2| ≤ t (Lasso) (2.23)

w21 + w2

2 ≤ t2 (Ridge) (2.24)

Figura 2.2: Imagem da estimação do Lasso (esquerda) e do ridge regression (direita) (Imagem retirada dehttp://www.stanford.edu/~hastie/local.ftp/Springer/OLD//ESLII_print4.pdf)

13

Page 30: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Na Figura 2.2 está representado a diferença entre o Lasso e o ridge regression. As linhas verme-

lhas representam os contornos da função de erro dos mínimos quadrados enquanto que as regiões

azuis representam as condições (2.23) e (2.24). A intersecção entre as linhas vermelhas e a zona

azul é a solução encontrada. No caso do Lasso, sempre que a intersecção se dá num dos cantos da

zona azul esse índice do vector w torna-se zero. No caso do Ridge, devido há inexistência de cantos

a anulação de índices do vector já não acontece com tanta frequência. Em casos mais complexos,

com mais features, a zona azul para o caso do Lasso fica ainda com mais cantos. Esta diferença

entre os dois modelos provoca um comportamento diferente para a evolução dos índices do vector

w ao longo dos λ. A evolução pode ser representada nas seguintes figuras: Como se pode ver na

Figura 2.3: Evolução do vector de pesos ao longo de vários λ

Figura 2.3 a evolução dos índices de w é diferente para os dois modelos. No exemplo da figura

foram usados dois documentos com 5 features. Para o λ mais elevado, no Lasso já todos os índices

convergiram para zero enquanto que no ridge regression, apesar dos índices apresentarem valores

muito próximos de zero, nenhum deles é exactamente zero. Para o caso do ridge regression, quando

λ = 1011, o vector wridge é:

wridge =

0.011990.006420.003680.008420.01794

2.5 Elastic Net

O Elastic Net [13] é um algoritmo que é baseado no ridge regression e no Lasso. Também ele é

uma regressão linear com uma forma do tipo (2.4).A formulação usada para a obtenção do mínimo

da função objectivo é bastante semelhante à do Lasso, sendo a regularização uma combinação entre

a regularização do Lasso e do ridge regression:

F (w) = ‖Xw− y‖22 + λ(α‖w‖1 + (1− α)1

2‖w‖22) (2.25)

em que α é o parâmetro que regula o uso da norma `1 e `2. Para se encontrar o mínimo da função

objectivo do Elastic Net vai ser usado o mesmo algoritmo que no Lasso, o Proximal Gradient. Para

14

Page 31: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

que este algoritmo se possa usar, a expressão usada no Proximal Step tem que estar na forma:

wt+1 = arg minu

{1

2‖u− b‖22 +K‖u‖1

}⇔

⇔wi,t+1 = arg minui

{1

2(ui − bi)2 +K|ui|

}(2.26)

No entanto, para o Elastic Net, tem-se:

wi,t+1 = arg minui

{1

2(ui − wi)2 +

1

2ηλ(1− α)u2i + ηλα|ui|

}(2.27)

Desenvolvendo a expressão anterior com o objectivo de chegar à expressão (2.26) temos:

wi,t+1 = arg minui

{1

2(ui − wi)2 +

1

2ηλ(1− α)u2i + ηλα|ui|

}= arg min

ui

{1

2[u2i − 2wiui + w2

i + ηλu2i − ηλαu2i ] + ηλα|ui|}

= arg minui

{1

2[u2i (1 + ηλ− ηλα)− 2wiui] + ηλα|ui|+

1

2w2i

}

Considerando k = 1 + ηλ− ηλα :

wi,t+1 = arg minui

{k

1

2[u2i −

2wiuik

] + ηλα|ui|+1

2w2i

}= arg min

ui

{k

1

2[u2i −

2wiuik

+(wik

)2] + ηλα|ui|+

1

2w2i +

1

2

(wik

)2}= arg min

ui

{k

1

2

(ui −

wik

)2+ ηλα|ui|+

1

2w2i +

1

2

(wik

)2}= arg min

ui

{k

[1

2

(ui −

wik

)2+ηλα

k|ui|]

+1

2w2i +

1

2

(wik

)2}(2.28)

Retirando as constantes que são irrelevantes para o problema obtém-se:

wi,t+1 = arg minui

{1

2

(ui −

wik

)2+ηλα

k|ui|}⇔

⇔ wt+1 = arg minu

{1

2‖u− w

k‖22 +K‖u‖1

}(2.29)

Assim chega-se à conclusão que se pode usar o algoritmo Proximal Gradient para descobrir o mínimo

da função de custo, considerando que:

K =ηλα

k(2.30)

bi =wik

(2.31)

obtém-se o seguinte algoritmo:

Algoritmo 3 Elastic Net - Proximal Gradient

wt ← 0while t < max_iter do

ut ← wt − η ×∇Q(wt)wi,t+1 ← 1

2‖ut − bt‖22 +KR(ut)t← t+ 1

end whilereturn wt

15

Page 32: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

2.6 Melhoramentos dos Algoritmos

Muitos dos algoritmos usados são iterativos. É por isso importante que estes algoritmos con-

virjam para um resultado perto da solução num número de iterações o mais pequeno possível. A

maneira mais fácil de controlar a velocidade de convergência é modificando o parâmetro step size.

Foram tidas em conta três abordagens para a estimação, uma usando um step size fixo, igual para

todas as iterações, e duas delas com step size variável com garantia que o algoritmo converge as-

simptoticamente para a solução procurada. Em seguida é feita uma comparação entre os métodos

considerados para que se escolha o que menos iterações necessite para convergir para a solução.

2.6.1 Step size fixo

O uso de um step size fixo implica a escolha muito cuidada do mesmo pois a escolha incorrecta do

step size pode levar a um método iterativo que não converge para uma solução que tem associado

a si um erro aceitável. Outra consequência possível de uma má escolha de um step size quando

este se mantém fixo ao longo das iterações pode levar a que o algoritmo leve muito tempo a chegar

a uma solução próxima o suficiente do valor exacto da solução. Isto acontece porque o step size

não tem a capacidade de se adaptar à medida que o algoritmo decorre, seja aumentando quando

a solução se encontra longe, seja diminuindo quando se aproxima da solução. Nas imagens da

Figura 2.4: Exemplos de funcionamento do Ridge para vários step size fixos

Figura 2.4 está representado a evolução do valor da função objectivo do ridge regression (usando

o Lasso o comportamento seria semelhante) ao longo das várias iterações. Foi usado λ = 10 e os

dados usados neste exemplo foram gerados aleatoriamente, tendo sido formado uma matriz X e y

com 100 features e 50 documentos, todos eles usados na partição de treino visto que, para esta

16

Page 33: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

demonstração, não é necessária a partição de desenvolvimento nem de teste. O tracejado vermelho

nas imagens representa o valor da função de custo calculado com o w que a minimiza. Este valor

da função objectivo é FRidge(w) = 4, 5 × 108. Como se pode ver nas imagens, caso se escolha um

step size demasiado grande o processo diverge mas se for demasiado pequeno, o processo também

demora demasiado a convergir. O melhor step size para este caso tem o resultado apresentado na

segunda imagem da Figura 2.4.

2.6.2 Step size variável

O uso de um step size variável permite que este se adapte ao longo das iterações do algoritmo

iterativo. A escolha incorrecta de um método com step size variável leva a que o algoritmo não

convirja da forma desejada. No entanto, ao escolher-se com cuidado a maneira como o step size

evolui, permite reduzir o número de iterações necessárias para que o algoritmo convirja.

2.6.2.A Inversamente proporcional à raiz quadrada do número da iteração

Uma forma possível para regular a evolução do step size é:

η =n√t

(2.32)

em que n é um parâmetro de valor fixo ao longo das iterações escolhido de forma a ser o maior

possível sem que o algoritmo se torne instável e deixe de convergir para a solução. Quanto maior

for este parâmetro n menos iterações necessita o algoritmo para convergir. No entanto, para valores

de n demasiado altos, apesar do algoritmo convergir na mesma, o valor da função objectivo tem um

aumento muito repentino e para valores muito elevados, que faz com que o algoritmo necessite de

mais iterações para convergir.

Figura 2.5: Exemplo de funcionamento do Ridge para step size variável

Na primeira imagem da Figura 2.5 vê-se a evolução do valor da função objectivo ao longo das

iterações para um valor de n bem escolhido. No entanto caso se escolha um n demasiado grande

tem-se a evolução representada na segunda imagem da mesma figura. Note-se que, para este

caso, e para este valor de n, apesar de o método tender para a solução o valor da função objectivo

toma valores muito altos nas primeiras iterações e só depois começa a estabilizar. Este facto atrasa o

algoritmo e leva a que este precise de mais iterações até estabilizar perto da solução final. Apesar da

17

Page 34: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

imagem parecer que a partir da iteração 400 a função objectivo já está perto do mínimo, na verdade

isto não acontece. Isto acontece porque a escala está muito grande para que se possa visualizar o

aumento repentino nas primeiras iterações.

2.6.2.B SpaRSA (Sparse Reconstruction by Separable Approximation)

O SpaRSA [14] é baseado nos métodos Barzilai-Borwein (Espectral) [22] . Na variante mais

básica do Barzilai-Borwein (BB) espectral o η × I, sendo η o step size e I a matriz identidade é

escolhida de tal maneira que aproxima a matriz Hessiana ∇2F (w) da iteração mais recente. Sendo:

rt = ∇F (wt)−∇F (wt−1) (2.33)

st = wt −wt−1 (2.34)

é preciso que αtst ≈ rt no sentido de mínimos quadrados, isto é:

αt = arg minα

‖αst − rt‖22 =(st)T rt(st)Tst

(2.35)

Quando a função pode ser dividida de acordo com a expressão (2.4) e Q(w) = ‖Xw− y‖22, como é o

caso dos modelos tratados nesta tese, a expressão de αt torna-se:

αt =‖Xst‖22‖st‖22

(2.36)

E é a partir deste αt que se obtém o step size variável:

η =n

αt(2.37)

em que n é um parâmetro usado para ajustar o step size caso seja necessário, tem portanto uma

função semelhante ao n apresentado na expressão (2.32). Geralmente considera-se n = 1. O

SpaRSA também propõe um critério de aceitação. O algoritmo só aceita o passo dado se o critério

de aceitação for cumprido, caso contrário o mesmo passo é repetido mas com um step size mais

pequeno. O critério de aceitação pode ser descrito pela seguinte expressão:

F (wt+1) ≤ mini=min(t−M,0),....,t

F (wi)−γ

2αt‖wt+1 −wt‖22 (2.38)

em que γ ∈ (0, 1) é uma constante que normalmente é escolhida de forma a estar perto de 0. A

constante M define quantas iterações para trás é que são usadas no critério de paragem. Nesta

tese foi usado o SpaRSA com M = 0. O SpaRSA pode ser descrito segundo o seguinte pseudo-

código:

18

Page 35: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Algoritmo 4 SpaRSA

while t < max_iter dort ← ∇F (wt)−∇F (wt−1)st ← wt −wt−1

αt ← (st)T rt

(st)T st

η ← nαt

wt+1 ← get_w(η,wt)while F (wt+1) ≥ mini=min(t−M,0),....,t F (wi)− γ

2αt‖wt+1 −wt‖22 doη ← η

2wt+1 ← get_w(η,wt)

end whilet← t+ 1

end whilereturn wt

em que a função get_w descreve qualquer um dos algoritmos usados pelo ridge regression,

Lasso ou Elastic Net para encontrar o wt+1. Para os mesmos dados que foram usados nos exemplos

previamente apresentados tem-se os seguintes resultados usando o SpaRSA:

Figura 2.6: Exemplo de funcionamento do ridge regression usando o SpaRSA

2.6.3 Conclusão

Para que seja mais visível a velocidade de convergência dos três métodos, foi produzido o se-

guinte gráfico:

19

Page 36: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Figura 2.7: Comparação entre os 3 métodos considerados através da evolução da função objectivo ao longodas iterações. A vermelho a evolução do SpaRSA, a azul a evolução com step size fixo e a verde com evoluçãosegundo n√

t

Como se pode verificar na Figura 2.7, é o SpaRSA que minimiza o número de iterações neces-

sárias para a convergência. As três curvas foram obtidas nas mesmas condições, para λ = 10. Para

cada uma delas foram escolhidos os parâmetros de forma a reduzir o número de iterações. Por este

motivo a implementação dos modelos foi feita usando o algoritmo SpaRSA.

20

Page 37: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

3Previsão Orientada por Texto

Contents3.1 Definição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2 Representação dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3 Previsão de Receitas dos Filmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4 Previsão de Número de Cliques em Notícias . . . . . . . . . . . . . . . . . . . . . 24

21

Page 38: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Previsão Orientada por Texto

Neste capítulo será apresentado a definição do problema que nos propomos resolver. Será ainda

mostrado como os dados são codificados e representados nas matrizes de forma a poderem ser

utilizáveis nos modelos. Por fim, serão discutidas as experiências que serão feitas: previsão de

receitas de filmes e previsão do número de cliques em notícias.

3.1 Definição do Problema

O problema de previsão orientada por texto já foi estudado, como foi mostrado no estado da

arte desta tese. Para que este problema possa ser estudado tem que ser primeiramente definido.

O problema foi definido da seguinte maneira. Dado um documento T associado a um determinado

fenómeno social, faz-se uma previsão concreta de uma medidaM desse fenómeno que apenas pode

ser obtido no futuro. Essa previsão faz-se tendo em conta a informação retirada de T que é acessível

no presente. Logo à partida, espera-se que fazer uma previsão, usando como base a informação

escondida em texto, implique que alguns desafios sejam ultrapassados. Para se poderem obter os

melhores resultados nas experiências feitas, estes são os maiores desafios esperados: Escolher os

dados de texto correctos para a previsão que se está a fazer, analisar e pré-processar esses dados,

descobrir a relação complexa entre as pistas textuais e medidas futuras através de aprendizagem

automática.

3.2 Representação dos dados

Por motivos já mencionados na secção 1.1, utilizar a informação contido em documentos não é

uma tarefa fácil. Para que essa informação possa ser usada é preciso primeiramente encontrar uma

maneira de representar os dados em forma de matriz. Só depois de os dados estarem armazenados

em forma de matriz estes podem ser utilizados com o objectivo de fazer previsões. Na secção 2.1.1

já foi explicado quais são as matrizes e vectores que são usados e o que devem conter. Nesta

tese foi considerado que cada feature na matriz X é uma palavra do documento e o seu valor é a

frequência com que esta aparece no documento. Caso a feature seja um metadado, o valor desta

depende da natureza do metadado, pode ser uma de feature binária, aceitando apenas dois valor ou

uma contagem de uma certa quantidade. O seguinte exemplo ilustra a representação dos dados nas

matrizes:

Texto1: “Este bolo é muito muito bom”

Texto2: “Este bolo é péssimo”

Para a construção da matriz X consideramos, para este caso, que cada palavra (e por consequência

cada entrada da matriz) é uma feature. Na primeira linha da matriz introduzimos as features do

texto 1 e na linha 2 as do texto 2. Cada coluna da matriz irá representar uma feature, a coluna 1

22

Page 39: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

representará a feature "Este", a coluna 2 a feature "bolo", etc. No final a matriz X será assim:

X =

“Este′′ “bolo′′ “e′′ “muito′′ “bom′′ “pessimo′′

Texto1 1 1 1 2 1 0

Texto2 1 1 1 0 0 1

O valor das features é a contagem com que cada uma aparece no texto. Nesta abordagem segue-se

o modelo bag of words. Neste modelo considera-se a ordem das palavras desprezável e, por isso,

a representação de features de um documento é invariante a permutações na ordem das palavras.

Como já tinha sido dito, cada texto tem um tema e o algoritmo tenta prever alguma quantidade que

esteja relacionado com o tema da contagem. Neste exemplo considera-se que a quantidade que

se tenciona prever é a quantidade de bolos vendidos, sabendo que o texto 1 e o texto 2 descrevem

bolos diferentes. Neste exemplo vamos considerar que o bolo referente ao texto 1 se vendeu 100 e

o referente ao texto vendeu 3. Assim, o vector y seria:

y =

Novendas

Texto1 100

Texto2 3

(3.1)

No entanto, nem todas as experiências foram feitas com dados em que a variável que se tenta

prever é contínua. Um exemplo é o caso em que o que se prevê é uma variável binária [8]. Naquele

artigo foram escolhidos modelos diferentes para fazer a mesma previsão porque os dois conjuntos

de dados utilizados apresentem uma natureza diferente. Este artigo propõem-se prever se um de-

terminado artigo irá ser citado e prever o número de downloads do artigo. Nas citações, a variável

de saída é binária, pois apenas se faz a distinção entre artigos que foram citados e artigos que não

foram citados, enquanto que a variável de saída para o caso dos downloads é continua. Neste ar-

tigo também é feita a separação temporal das features, enquadrando cada feature num intervalo de

tempo. Com isto resolve-se o problema que surgia quando o peso das features mudavam ao longo

do tempo. Chegou-se à conclusão no artigo que esta separação temporal das features melhorou os

resultados obtidos.

3.3 Previsão de Receitas dos Filmes

Nesta tese foi considerado a previsão das receitas dos filmes e a previsão do número de cliques

nas notícias. No artigo [2], onde foram feitas experiências com os mesmos dados que nesta tese,

usaram apenas o modelo estatístico denominado de Elastic Net, que foi detalhadamente explicado

na secção 2.5. Os autores do artigo decidiram usar unigramas, bigramas e trigramas em qualquer

previsão que faziam, sendo um unigrama uma palavra, um bigrama um conjunto de duas palavras

consecutivas e um trigrama um conjunto de três palavras consecutivas. Para além de testarem

apenas com estes dados de texto (I), consideraram ainda mais dois conjuntos de dados. No grupo

II de dados foi considerado para além dos unigramas, bigramas e trigramas a classe gramatical

das palavras na frase obtidas pelo Stanford part-of-speech tagger (Toutanova and Manning, 2000).

23

Page 40: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Existe ainda um grupo III que para além do texto, tem ainda a análise sintáctica obtida usando o

Stanford parser (Klein and Manning, 2003). São ainda considerados três casos em relação ao texto,

um em que todas as reviews sobre um determinado filme são aglomeradas no mesmo documento,

outro caso em que as reviews de cada filme são separadas de acordo com a sua fonte. Por fim, um

último caso combina os dois últimos. Foram disponibilizados dados sobre as receitas tanto para a

primeira semana como para o total. Os melhores resultados obtidos pelos autores deste paper foi

para quando usaram uma combinação de metadados com os grupos de dados I e III considerando

os dados relativos ás receitas totais. Conclui-se ainda que os metadados obtêm melhores resultados

em comparação com o uso apenas de texto e que separar as várias review de um determinado filme,

também melhora os resultados. Geralmente a inclusão do grupo de dados III também melhora os

resultados obtidos. Analisando os resultados para o caso da receitas apenas da primeira semana

obtêm-se as mesmas conclusões. No artigo chegou-se, por exemplo, à conclusão que will_smith

é uma feature que, quando presente nos metadados, é um excelente indicador de que o filme terá

sucesso nas bilheteiras ou, por exemplo a feature do New York Times, uma das fontes de reviews,

que identifica o rating do filme toma o valor adult, sabe-se que as pessoas terão menos tendência

para assistir ao filme. Em vez de reviews também já foram usados documentos contidos em blogs

para prever a quantidade de vendas de um determinado filme [23].

3.4 Previsão de Número de Cliques em Notícias

Nesta tese também se tenta prever o número de cliques numa determinado notícia que foi publi-

cada online, usando apenas o texto contido na notícia e alguns metadados. Para este caso, como os

dados não são públicos, não existem quaisquer experiências feitas com eles. No entanto, pode-se

esperar que as palavras contidas no título da notícia sejam o exemplo de uma feature que possui

uma relevância muito grande para o resultado da previsão. Vai-se também tirar partido da capaci-

dade da regularização `1 de seleccionar as features mais importantes, anulando as que têm pouca

relevância.

24

Page 41: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

4Aplicação dos Modelos

Contents4.1 Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.2 Previsão de Receitas de Filmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.3 Previsão de Cliques nas Notícias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

25

Page 42: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Aplicação dos Modelos

4.1 Dados

4.1.1 Descrição dos Dados

Nesta tese foram usados dois conjuntos de dados diferentes: filmes e notícias. Para o caso dos

filmes, foram usados dados sobre 1718 filmes de várias fontes: Austin Chronical, Boston Globe, LA

Times, Entertainment Weekly, New York Times, Variety e Village. Só foram utilizados dados sobre

filmes lançados entre 2005 e 2009. Os dados consistem em reviews publicadas nessas fontes e o

objectivo é que se consiga prever o rendimento total obtido na bilheteira para cada filme. A informa-

ção financeira foi retirada de www.the-numbers.com. Os metadados dos filmes foram retirados do

site www.metacritic.com . Toda esta informação foi compilada em [2] e está disponível publicamente

em http://www.ark.cs.cmu.edu/movie$-data/.Estes dados, como já foi visto anteriormente, têm que

ser divididos em várias partições de modo a serem usados pelos algoritmos. Para treino, foram usa-

dos os filmes de 2005, 2006 e 2007, num total de 1147 filmes. Para a partição de desenvolvimento,

foram usados os filmes de 2008, num total de 317 e, na partição de teste, foram usados os filmes de

2009, que são 254.

Para o caso das notícias, os dados foram disponibilizados pela Priberam e não são públicos. Com

estes dados pretende-se prever o número de clicks numa dada notícia a partir do texto dessa notícia.

No total usamos 3609 notícias, em que 80% constituem a partição de treino, 10% a partição de teste

e os restantes 10% a partição de desenvolvimento. No caso das notícias é relevante a forma como

esta divisão é feita: em bloco ou entrelaçada. A divisão feita em bloco consiste em dividir as notí-

cias por ordem temporal, isto é, 2887 notícias mais antigas (80%) são para treino, as próximas 360

(10%) notícias são para a partição de desenvolvimento e, por fim, as restantes 360 (10%) notícias são

para teste. Na divisão entrelaçada, para cada 10 notícias, as primeiras 8 são adicionadas à partição

de treino, a 9a é adicionada à partição de desenvolvimento e a 10a à partição de teste. A existên-

cia desta diferença nos resultados, usando estes dois métodos, deve-se ao facto que o interesse das

pessoas em determinado tipo de notícias varia ao longo do tempo. Na divisão entrelaçada este efeito

é reduzido enquanto que na divisão em blocos este efeito torna-se mais evidente. No entanto, nesta

tese, foi preferida a divisão em blocos, por ser mais realista, já que na divisão entrelaçada teríamos

que ter acesso a notícias que ainda não foram publicadas para serem usadas no processo de treino.

4.1.2 Extracção dos dados

Os dados dos filmes estão armazenados em formato XML divididos por vários ficheiros. Os dados

retirados dos ficheiros XML foram metadados, os documentos e os valores a serem previstos. Os

dados relacionados com o texto foram limpos de forma a evitar que palavras semelhantes fossem

contadas duas vezes. As palavras, ao serem separadas, por vezes contêm ifens ou pontuação

como virgulas e pontos finais. Todos esses caracteres indesejados foram retirados. Na matrix X

o valor de cada feature Xd,f é a contagem de uma determinada palavra d no documento f . Em

26

Page 43: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

relação aos metadados as features podem ser binárias, como no caso do metadado que diz se um

determinado filme foi lançado no Verão ou pode ser a contagem de alguma coisa, como a feature

que expressa o número de actores nomeados para oscar num determinado filme. Os metadados

disponíveis para os filmes são: actores no filme, autores do filme, directores do filme, rating, origem,

autores, género, duração, duração do filme, número de salas com o filme em reprodução, empresa

que produziu, número de actores de sucesso, lançamento de verão, lançamento de natal, lançamento

independente, presença de actores nomeados para oscar, presença de produtores ou directores

nomeados para oscar. Para o caso das notícias, foi usado como metadado a data, a secção da

notícia (retirado do link da mesma) e mais uma flag que indica se a notícia foi acedida alguma vez a

partir da página de rosto.

Durante a extracção dos documentos foi também acrescentada uma feature que toma o valor de

1 para todos os documentos. Esta feature tem como objectivo servir para que o modelo estime um

valor para o offset β0. Este coeficiente serve para ajustar a regressão linear a dados que não se

encontrem centrados.

4.2 Previsão de Receitas de Filmes

4.2.1 Resultados

Para as experiências relacionados com os filmes, começou-se por se considerar um erro de teste

de referência. Este erro foi obtido no conjunto de dados de teste e foi previsto que para todos os

filmes nesse conjunto teriam um rendimento nas bilheteiras igual à média do rendimento dos filmes

que pertencem ao conjunto de treino. Esse valor obtido é de 11.67 milhões de dólares e a média dos

rendimentos dos dados de treino é de 7.05 milhões de dólares. Os erros obtidos são erros absolutos

médios.

Para os filmes foram testados vários conjuntos de dados e metadados. Chegou-se à conclusão

de que o metadado mais importante é o número de salas de cinema em que um determinado filme é

reproduzido.

Tabela 4.1: Diferença dos metadados com e sem a feature número de salas. O erro é medido em MAE emmilhões de dólares

Ridge Lasso Elastic NetMetadados (todos) 5.99 6.14 6.14

Metadados (sem o número de salas) 10.56 9.90 9.65

Como se pode ver pelos resultados, este metadado é muito importante. Na verdade, depois de

vários testes retirando um metadado de cada vez, conclui-se que este é o metadado que mais me-

lhora o erro associado a estas experiências. Em seguida, foram calculados os erros para o conjunto

de dados de teste para os vários modelos em análise. Os resultados estão presentes na tabela 4.2 e

na tabela 4.3. A diferença entre as duas tabelas é que ma primeira as reviews dos filmes foram aglo-

merados num único documento, enquanto que no segundo, caso as várias reviews foram separadas

27

Page 44: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

e as features que representam elementos do texto foram marcadas como pertencendo a uma fonte,

como por exemplo o New York Times ou o Boston Globe.

Tabela 4.2: MAE em milhões de dólares sem separação das fontes das reviews

Ridge Lasso Elastic NetMetadados 5.99 6.14 6.14

Texto 7.52 7.65 7.54Texto + Metadados 5.97* 5.97* 6.03*

Tabela 4.3: MAE em milhões de dólares com separação das fontes

Ridge Lasso Elastic NetTexto 7.54* 7.51* 7.54*

Texto + Metadados 5.99* 6.00* 6.03*

Os valores marcados com * são obtidos retirando algumas palavras muito comuns que não têm

qualquer valor para estas experiências. No entanto, a remoção destas palavras apenas foi benéfica

para alguns casos. A lista de palavras a retirar é a lista de stopwords disponibilizada pela biblioteca

de python denominada Natural Language Tool Kit (NLTK). Pela análise do vector dos pesos, w,

resultante dos modelos, pode-se identificar quais as features que são mais relevantes positivamente

ou negativamente para a previsão final. Para mostrar estes resultados foi usado o vector w resultante

do Ridge. Os resultados estão representados nas tabelas 4.4, 4.5 e 4.6.

Tabela 4.4: Metadados com peso mais positivo e mais negativo para o Ridge

Top positivos Peso ($) Top negativos Peso ($)1 Número de salas 6244.68 Rating:r -0.222 Número de directores com oscar 2.39 Produtora: New Line Cinema -0.093 Número de Actores Famosos 2.33 Produtora: Lions Gate Film -0.054 Rating: pg-13 1.21 Género: Horror -0.055 Época de Lançamento: Verão 1.17 Actor: Billy Bob Thornton -0.046 _____ 1.15 Actor: Luke Wilson -0.047 Género: Aventura 1.11 Actor: Samuel L. Jackson -0.038 Duração: Longo [>90 minutos] 1.10 Actor: Horatio Sanz -.0.039 Género: Acção 0.96 Actor: Paul Giamatti -0.03

10 Género: Fantasia 0.95 Género: Crime -0.03

A feature _____ é a feature que toma o valor de um para todos os filmes. Esta é a feature que

serve de bias.

28

Page 45: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Tabela 4.5: Palavras com peso mais positivo e mais negativo para o Ridge

Top positivos Peso ($) Top negativos Peso ($)1 shrek 675712 film -2168312 jia 646782 years -1823323 spider-man 527144 r -1808214 tao 474451 your -1763855 harry 461018 romero -1668466 transformers 456462 country -1647167 franchise 371181 bang -1637638 chest 332664 kiss -1594169 pirates 325692 shot -158787

10 first 306561 british -158155

Tabela 4.6: Palavras com peso mais positivo e mais negativo para o Ridge com separação da fonte

Top positivos Peso ($) Top negativos Peso ($)1 [VV]jia 600025 [BO]film -3018202 [VA]jigsaw 510736 [BO]about -2756803 [VA]perry 475129 [BO]re -2237964 [VA]new 447242 [EW]to -2228865 [NY]shrek 379312 [BO]young -2190996 [BO]shrek 373038 [VV]their -2183037 [VA]saw 370944 [AC]to -2153458 [BO]this 370596 [VA]life -2148529 [VA]franchise 362270 [NY]adult -206899

10 [VA]michael 356299 [VA]on -204092

4.2.2 Análise dos Resultados

Depois de uma análise detalhada dos resultados obtidos nas experiências feitas com os dados

dos filmes, foram obtidas algumas conclusões. A primeira está na importância do metadado que

indica o número de salas de cinema em que o filme esteve em exibição. É fácil perceber o porque

da grande importância deste metadado em relação aos outros. Os filmes que estão em mais salas

estão mais acessíveis ás pessoas e, regra geral, têm um maior esforço publicitário por trás. Para

além disso, logo à partida há uma grande tendência para que as salas de cinema escolham os

filmes que acham que terão mais audiência, seja pela qualidade do filme ou pela publicidade a

que o filme foi sujeito. Por estes motivos, números baixos de salas de cinema com o filme em

exibição é um bom indicador para que o filme seja pouco visto e um elevado número de salas de

cinema com o filme em exibição é um bom indicador para que o filme seja muito visto e por isso

gere maiores receitas. O peso desta feature está referenciado na tabela 4.4. O peso desta feature

pode ser interpretado da seguinte maneira: para cada sala de cinema com o filme em exposição,

as receitas aumentam, em média, o peso da feature (6.2 mil dólares neste caso). Isto pode ser

generalizado para todas as features, para cada feature f com um determinado peso p presente no

texto sobre o filme m as receitas do filme m aumentam p vezes o número de features f presentes

no texto que caracteriza o filme m. Outra conclusão pode ser retirada analisando as palavras com

pesos mais positivos e mais negativos. É fácil ver que palavras que referenciam filmes de sucesso

apresentam pesos muito altos, tais como spider-man ou harry. Nos mais negativos pode-se encontrar

29

Page 46: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

palavras como “film” que é uma palavra muito frequente e por isso absorve o bias. Em relação aos

modelos, verifica-se que o ridge regression é o que apresenta melhores resultados para este caso

dos filmes, apesar de ser o mais simples. Em relação aos dados usados, o texto sozinho não obteve

tão bons resultados como os metadados sozinhos. No entanto, juntando os dois dados os resultados

foram melhores que qualquer um dos testes usando apenas texto ou apenas metadados. É preciso

notar que os resultados que estão apresentados para texto + metadados foram obtidos retirando-

se algumas palavras muito comuns que não acrescentam qualquer valor ao problema que se está

a tratar. No entanto retirar estas palavras só melhorou os resultados para o caso de metadados

+ texto, para o caso em que se usa apenas texto em que se retirassem estas palavras, provocou

um decrescimento na qualidade dos resultados. Isto deve-se, mais uma vez, à necessidade de o

processo de treino ter de encontrar um conjunto de features que ocorrem com muita frequência que

funcionem como bias.

4.3 Previsão de Cliques nas Notícias

4.3.1 Resultados

Para as notícias, foram utilizados poucos metadados. Foi utilizado o dia da semana em que a

notícia foi lançada, uma flag que indica se a notícia foi acedida a partir da página de rosto (que é um

indicador se a notícia está ou esteve na página de rosto) e a secção da notícia, retirada do url da

notícia. As palavras retiradas do título também foram separadas das palavras provenientes do corpo

da notícia por se supor que estas têm uma importância acrescida na previsão. Para as experiências

relacionados com as notícias, começou-se por se considerar um erro de teste de referência. Este

erro foi obtido no conjunto de dados de teste e foi previsto para todas as notícias nesse conjunto

teriam um número de cliques igual à média de cliques no conjunto de treino. O valor de erro obtido é

de 803.71 cliques e a média dos cliques dos dados de treino é de 775.75 cliques. Os erros obtidos

são erros absolutos médios.

Tabela 4.7: Erro no conjunto de teste da notícias com os dados separados por blocos

Ridge Lasso Elastic NetTexto+Metadados 659.31* 676.42* 659.7*

Texto 665.03* 682.59* 663.71*

É preciso notar que, mais uma vez, os resultados marcados com * são resultados que foram

obtidos retirando-se palavras muito comuns que não apresentam qualquer utilidade neste processo

de previsão. Para estes caso das notícias ao retirarem-se estas palavras, os resultados melhora-

ram para todas as experiências. Mais uma vez, a lista de palavras a retirar é a lista de stopwords

disponibilizada pela biblioteca de python denominada NLTK.

30

Page 47: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Tabela 4.8: Palavras com peso mais positivo e mais negativo para o Ridge apenas considerando o texto

Top positivos Peso (# cliques) Top negativos Peso (# cliques)1 felix 348.05 lusa -131.302 joe 212.69 publicado -96.543 delícias 177.90 hoje -62.284 café 146.37 skyfall -61.735 youtube 140.90 porque -61.426 atriz 139.91 álbum -53.107 vídeo 124.13 jogador -51.418 tributária 113.07 onde -50.059 imagens 108.32 casa -49.92

10 vestido 107.03 mairo -48.31

Tabela 4.9: Palavras com peso mais positivo e mais negativo para o ridge regression considerando o texto e osmetadados

Top positivos Peso (# cliques) Top negativos Peso (#cliques)1 [flag] 322.48 lusa -136.652 Interior[url] 174.28 publicado -99.713 pessoas[url] 167.46 artes[url] -69.854 inicio[url] 144.31 porque -65.685 café 144.09 hoje -62.556 actriz 137.21 faz -53.407 youtube 135.34 álbum -50.818 vídeo 117.12 onde -49.759 tributária 110.07 risco -47.1110 fatura 107.35 pia -46.75

4.3.2 Análise dos Resultados

Para as notícias, a feature com maior importância é o metadado [flag]. Este metadado é uma flag

que indica se a notícia alguma vez foi acedida a partir da pagina de rosto do jornal. Tal como nos

dados dos filmes, neste caso também a remoção de algumas palavras muito comuns melhorou os

resultados obtidos. Para as notícias a remoção destas palavras foi mesmo benéfica para todas as ex-

periências feitas. As palavras que são indicadoras de muitos cliques são bastante fáceis de justificar.

Por exemplo, as palavras “youtube”, “vídeo”, ou “imagem”, mostram que as pessoas têm uma grande

tendência em clicar em notícias que mostram ou referenciam vídeos ou imagens. Também existe

uma certa tendência para as pessoas lerem notícias sobre comida como está mostrado nos pesos

das features “café” ou “delícia”. Nas palavras com pesos negativos, é preciso destacar a palavra

“lusa”. A presença desta palavra nas palavras negativas mostra que as pessoas têm pouca tendên-

cia para clicar nestas notícias e existem várias explicações possíveis para este caso. As notícias da

agência de notícias Lusa são mostradas por todos os jornais, por isso o número de cliques fica logo

à partida distribuído por mais que um jornal, ao contrário das notícias exclusivas que apenas podem

ser lidas no jornal em análise. Este fenómeno pode dar-se também porque as notícias desta agência

de notícias têm tendência para ser mais curtas e o próprio título da notícia já indica quase todo o

conteúdo da notícia, levando as pessoas a não abrirem a notícia. Por fim, pode apenas ser uma

feature muito comum e que por isso esteja a absorver o bias. Mais uma vez, o ridge regression foi o

31

Page 48: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

que obteve melhores resultados. O uso dos metadados voltou a ser importante para obter resultados

com melhor qualidade em comparação com o uso apenas de texto. Para o caso das notícias, não foi

testado o uso exclusivo de metadados visto que estes fazem-se representar por poucas features.

32

Page 49: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

5Conclusões e Trabalho Futuro

Contents5.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.2 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

33

Page 50: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

5.1 Conclusões

Depois de obtidos os resultados relacionados com as experiências que tentam prever receitas de

filmes e cliques de notícias, é possível retirarem-se algumas conclusões. Foi possível verificar que o

comportamento do SpaRSA foi adequado a estes modelos e dados. Os resultados obtidos, usando

este algoritmo, foram satisfatórios. Foi também possível verificar que o ridge regression foi o modelo

que apresentou melhores resultados, apesar das sua simplicidade. Os resultados também mostram

que os metadados tiveram uma grande importância nos casos em estudo, melhorando os resultados

obtidos. Os resultados obtidos, usando apenas texto, apesar de mostrarem melhores resultados que

as experiências usadas como referência, mostram-se distantes dos resultados obtidos quando são

usados metadados.

5.2 Trabalho Futuro

Um dos fenómenos que foi notado durante as experiências foi a influência de pré-processamento

e selecção das features nos resultados finais. A influência causada por estes factores parece maior

do que alterações nos modelos ou nos algoritmos de optimização. Por isso, recomenda-se que,

em futuros trabalhos, se desenvolva a maneira como as features são seleccionadas e processadas

antes de serem usadas no algoritmo. Vários procedimentos podem ser feitos neste campo, como

por exemplo, uma limpeza mais cuidada das palavras e uma escolha igualmente cuidada dos me-

tadados. Existe ainda a possibilidade de utilizar bigramas e trigramas (conjuntos de 2 e 3 palavras)

como features para melhorar os resultados, apesar de isto envolver uma necessidade de poder de

computação maior. Centrar os dados é outro exemplo de pré-processamento que pode melhorar os

resultados. Também pode ser feito trabalho no sentido de tentar fazer previsão orientada por texto

em grupos de dados diferentes, como por exemplo, na avaliação ou previsão de vendas de produ-

tos electrónicos a partir da opinião das pessoas que fazem avaliações dos mesmos em blogues ou

revistas. Esta previsão pode ser mesmo feita antes de o produto ser lançado visto que antes do

lançamento algumas especificações são sempre lançadas e, por vezes, há mesmo grupos de pes-

soas que testam o produto antes de este ser lançado. Assim seria possível corrigir e detectar falhas

no produto mais facilmente e antes deste ser lançado. Outra coisa que poderia ser útil prever seria

o número de exemplares vendidos de um determinado livro para que se possa fazer a gestão da

quantidade de livros produzidos na primeira edição. Os dados poderiam ser obtidos de reviews que

um grupo mais pequeno de pessoas faz antes de o próprio livro ser lançado, ou mesmo, caso haja

capacidade de processamento, a partir do conteúdo do próprio livro. Para casos como este em que

é requerido um grande poder de processamento, também será preciso a escolha de um algoritmo

de optimização capaz de encontrar a solução em poucas iterações e, por isso, algum estudo futuro

pode ser feito nesse sentido.

34

Page 51: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

Bibliografia

[1] N. A. Smith, “Text-driven forecasting,” 2010.

[2] M. Joshi, D. Das, K. Gimpel, and N. A. Smith, “Movie reviews and revenues: An experiment in

text regression,” in Human Language Technologies: The 2010 Annual Conference of the North

American Chapter of the Association for Computational Linguistics. Association for Computati-

onal Linguistics, 2010, pp. 293–296.

[3] S. Kogan, D. Levin, B. R. Routledge, J. S. Sagi, and N. A. Smith, “Predicting risk from financial

reports with regression,” in Proceedings of Human Language Technologies: The 2009 Annual

Conference of the North American Chapter of the Association for Computational Linguistics,

Association for Computational Linguistics. IEEE, 2009, pp. 272–280.

[4] S. R. Gunn, “Support vector machines for classification and regression,” ISIS technical report,

vol. 14, 1998.

[5] S. Sinha, C. Dyer, K. Gimpel, and N. A. Smith, “Predicting the nfl using twitter.”

[6] D. W. Hosmer Jr, S. Lemeshow, and R. X. Sturdivant, Applied logistic regression. Wiley. com,

2013.

[7] D. Nguyen, N. A. Smith, and C. P. Rosé, “Author age prediction from text using linear regression,”

in Proceedings of the 5th ACL-HLT Workshop on Language Technology for Cultural Heritage,

Social Sciences, and Humanities. Association for Computational Linguistics, 2011, pp. 115–

123.

[8] B. Routledge and N. Smith, “Predicting a scientific community’s response to an article,” Prooce-

dings of EMNLP, vol. 11, 2011.

[9] T. Yano, N. A. Smith, and J. D. Wilkerson, “Textual predictors of bill survival in congressional

committees,” in Proceedings of the 2012 Conference of the North American Chapter of the As-

sociation for Computational Linguistics: Human Language Technologies. Association for Com-

putational Linguistics, 2012, pp. 793–802.

[10] K. Lerman, A. Gilder, M. Dredze, and F. Pereira, “Reading the markets: Forecasting public opi-

nion of political candidates by news analysis,” in Proceedings of the 22nd International Confe-

rence on Computational Linguistics-Volume 1. Association for Computational Linguistics, 2008,

pp. 473–480.

35

Page 52: Júri - ULisboa · mais rica em metáforas, ironias e frases ambíguas, em comparação com documentos que descrevem factos. Outro problema que pode surgir na previsão orientada

[11] A. E. Hoerl and R. W. Kennard, “Ridge regression: Biased estimation for nonorthogonal pro-

blems,” Technometrics, vol. 12, no. 1, pp. 55–67, 1970.

[12] R. Tibshirani, “Regression shrinkage and selection via the lasso,” Journal of the Royal Statistical

Society. Series B (Methodological), pp. 267–288, 1996.

[13] H. Zou and T. Hastie, “Regularization and variable selection via the elastic net,” Journal of the

Royal Statistical Society: Series B (Statistical Methodology), vol. 67, no. 2, pp. 301–320, 2005.

[14] S. J. Wright, R. D. Nowak, and M. A. Figueiredo, “Sparse reconstruction by separable approxi-

mation,” Signal Processing, IEEE Transactions on, vol. 57, no. 7, pp. 2479–2493, 2009.

[15] B. Efron, T. Hastie, I. Johnstone, and R. Tibshirani, “Least angle regression,” The Annals of

statistics, vol. 32, no. 2, pp. 407–499, 2004.

[16] M. A. Figueiredo, R. D. Nowak, and S. J. Wright, “Gradient projection for sparse reconstruc-

tion: Application to compressed sensing and other inverse problems,” Selected Topics in Signal

Processing, IEEE Journal of, vol. 1, no. 4, pp. 586–597, 2007.

[17] A. Beck and M. Teboulle, “A fast iterative shrinkage-thresholding algorithm for linear inverse

problems,” SIAM Journal on Imaging Sciences, vol. 2, no. 1, pp. 183–202, 2009.

[18] J. M. Bioucas-Dias and M. A. Figueiredo, “A new twist: two-step iterative shrinkage/thresholding

algorithms for image restoration,” Image Processing, IEEE Transactions on, vol. 16, no. 12, pp.

2992–3004, 2007.

[19] M. A. Figueiredo, J. M. Bioucas-Dias, and R. D. Nowak, “Majorization–minimization algorithms

for wavelet-based image restoration,” Image Processing, IEEE Transactions on, vol. 16, no. 12,

pp. 2980–2991, 2007.

[20] Y. Nesterov, “A method of solving a convex programming problem with convergence rate o (1/k2),”

Soviet Mathematics Doklady, vol. 27, no. 2, pp. 372–376, 1983.

[21] J. Friedman, T. Hastie, and R. Tibshirani, “Regularization paths for generalized linear models via

coordinate descent,” Journal of statistical software, vol. 33, no. 1, p. 1, 2010.

[22] Y.-H. Dai and R. Fletcher, “Projected barzilai-borwein methods for large-scale box-constrained

quadratic programming,” Numerische Mathematik, vol. 100, no. 1, pp. 21–47, 2005.

[23] G. Mishne and N. S. Glance, “Predicting movie sales from blogger sentiment.” in AAAI Spring

Symposium: Computational Approaches to Analyzing Weblogs, 2006, pp. 155–158.

36