Você está na página 1de 88

Ricardo Batista Rodrigues

RECCLOUD: UM MODELO DE RECOMENDAO DE ARQUIVOS


PARA SISTEMAS DE ARMAZENAMENTO EM NUVEM

Dissertao de Mestrado

Universidade Federal de Pernambuco


posgraduacao@cin.ufpe.br

www.cin.ufpe.br/~posgraduacao

RECIFE
2014

Universidade Federal de Pernambuco


Centro de Informtica
Ps-graduao em Cincia da Computao

Ricardo Batista Rodrigues

RECCLOUD: UM MODELO DE RECOMENDAO DE ARQUIVOS


PARA SISTEMAS DE ARMAZENAMENTO EM NUVEM

Trabalho apresentado ao Programa de Ps-graduao em


Cincia da Computao do Centro de Informtica da Universidade Federal de Pernambuco como requisito parcial para
obteno do grau de Mestre em Cincia da Computao.

Orientador: Vinicius Cardoso Garcia


Co-Orientador: Frederico Araujo Duro

RECIFE
2014

Ricardo Batista Rodrigues


RecCloud: Um Modelo de Recomendao de Arquivos Para Sistemas de Armazenamento em Nuvem/ Ricardo Batista Rodrigues. RECIFE, 201484 p. : il. (algumas color.) ; 30 cm.
Orientador Vinicius Cardoso Garcia
Dissertao de Mestrado Universidade Federal de Pernambuco, 2014.
1. Palavra-chave1. 2. Palavra-chave2. I. Orientador. II. Universidade xxx. III.
Faculdade de xxx. IV. Ttulo
CDU 02:141:005.7

Dissertao de mestrado apresentada por Ricardo Batista Rodrigues ao programa de PsGraduao em Cincia da Computao do Centro de Informtica da Universidade Federal
de Pernambuco, sob o ttulo RecCloud: Um Modelo de Recomendao de Arquivos Para
Sistemas de Armazenamento em Nuvem, orientada pelo Prof. Vinicius Cardoso Garcia e
aprovada pela banca examinadora formada pelos professores:

Prof. Bernadette Farias Lscio


Centro de Informtica/UFPE

Prof. Rodrigo Elia Assad


Departamento de Estatstica e Informtica/UFRPE

Prof. Vinicius Cardoso Garcia


Centro de Informtica/UFPE

A meu pai, Jose de Almeida Rodrigues Ferreira,


A minha me, Boaventura Batista Rodrigues,
Aos meus irmos, Renata Batista e Rodrigo Batista.

Agradecimentos
Agradeo. . .


Em primeiro lugar a Deus por sua graa e pelas bnos derramadas constantemente
sobre mim de maneira maravilhosa;
A minha famlia, meus pais e meus irmos, pelo amor e por fornecer o suporte
emocional imprescindvel em todos os momentos de minha vida;
Aos professores Vinicius Garcia e Frederico Duro pela pacincia e dedicao na
orientao deste trabalho;
A todos os meus amigos e colegas que contriburam direto e indiretamente para a
realizao deste sonho;
A Fundao de Amparo Cincia e Tecnologia de Pernambuco (FACEPE) por
apoiar, financia e conceder bolsa para o desenvolver desta pesquisa, sob o processo
IBPG-0483-1.03/11.

Muito Obrigado!

"Algo s impossvel at que algum duvide e acabe provando o contrrio."


EINSTEIN (Albert Einstein, 1929)

Resumo
O desenvolvimento tecnolgico vivenciado nos ltimos anos proporcionou o crescimento
do universo digital de forma exponencial, e parte desse universo digital encontra-se armazenado
em sistemas de armazenamento em nuvem. A cada dia surgem mais destes sistemas, que
oferecem o armazenamento de dados de forma distribuda com alta taxa de disponibilidade,
o que tem impucionado cada vez mais usurios a migrarem seus dados para a nuvem. No
entanto, a grande quantidade de arquivos armazenada nestes sistemas dificulta a filtragem de
contedo relevante, demandando tempo e trabalho por parte do usurio na busca por arquivos
com contedo similar as suas preferncias. Diante deste cenrio, esta pesquisa prope um
modelo de recomendao para sistemas de armazenamento em nuvem, que tem como objetivo
utilizar caractersticas da nuvem associadas tcnica de recomendao baseada em contedo
para filtrar e recomendar arquivos com o contedo similar as preferncias dos usurios, alm
disso, recomendar arquivos que proporcione a melhor utilizao dos recursos do ambiente em
nuvem.
Palavras-chave: Sistema de recomendao, modelo de recomendao, computao em nuvem,
sistema de armazenamento em nuvem.

Abstract
The technological development in recent years has experienced the exponentially growth
of the digital universe, and part of this digital universe lies stored in cloud storage systems. With
each day, more of these systems come out, offering data storage in a distributed manner with
the proposal to provide high availability rate, what has driven more and more users who have
migrated your data to the cloud. However, the large amount of files stored in these systems
makes it difficult to filter relevant content, requiring time and labor by the user in searching
for files with similar content to your preferences. Face of this scenario, this study proposes a
model for recommendation of files in cloud storage systems, which aims to use cloud features
associated with the technique of content-based recommendation for filtering and recommending
files with similar content preferences of users, furthermore, recommend files that provide the
best use of the cloud environment resources.
Keywords: Recommendation system, recommendation model, cloud computing, cloud storage.

Lista de Figuras
Expectativa de crescimento da quantidade de dados digitais gerados GANTZ;
REINSEL (2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

2.1

Arquitetura em camadas para computao em nuvem MACHADO (2013) . . .

30

2.2

Modelo do Processo de Recomendao. . . . . . . . . . . . . . . . . . . . . .

34

2.3

Opinies dos usurios do site Netshoes sobre um item da loja NETSHOES.


DISPONVEL EM: <HTTP://WWW.NETSHOES.COM.BR/> (2013) . . . . .

35

Lista dos livros mais vendidos do site Submarino SUBMARINO. DISPONVEL


EM: <HTTP://WWW.SUBMARINO.COM.BR/> (2013) . . . . . . . . . . . .

36

Exemplo de uso da Amazon.com em que o sistema sugere outros produtos


relevantes para o usurio interessado no disco Kind Of Blue SAMPAIO (2006) .

36

Recomendao gerada pelo sistema do IMDB a partir do filme As Good As It


Gets SAMPAIO (2006) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

3.1

Processo de Recomendao Baseado em Contedo. . . . . . . . . . . . . . . .

55

3.2

Processo de Recomendao RecCloud. . . . . . . . . . . . . . . . . . . . . . .

55

3.3

Arquitetura do JXTA HEISS (2005). . . . . . . . . . . . . . . . . . . . . . . .

57

3.4

Arquitetura do Ustore SILVA A.; MEIRA (2012). . . . . . . . . . . . . . . . .

57

3.5

ndice invertido no Apache Lucene HATCHER; GOSPODNETIC (2004). . . .

59

3.6

Arquitetura do Apache Lucene HATCHER; GOSPODNETIC (2004). . . . . .

60

3.7

Arquitetura do Apache Tika MATTMANN; ZITTING (2011). . . . . . . . . .

61

3.8

Processo do Critrio Disponibilidade. . . . . . . . . . . . . . . . . . . . . . .

62

4.1

Grfico comparando a taxa de preciso variando a quantidade de artigos recomendados para cada ranque de recomendao gerado. . . . . . . . . . . . . . .

68

Grfico comparando a taxa de preciso nos 3 (nveis) de variao na quantidade


de artigos recomendados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

Grfico comparando a taxa de recall variando a quantidade de artigos recomendados para cada ranque de recomendao gerado. . . . . . . . . . . . . . . . .

69

Grfico apresentando a comparao da taxa de recall obtida nos 3 (nveis) de


variao na quantidade de artigos recomendados. . . . . . . . . . . . . . . . .

69

Grfico comparando a taxa de F-Measure variando a quantidade de artigos


recomendados para cada ranque de recomendao gerado. . . . . . . . . . . .

70

Grfico apresentando a comparao da taxa de F-Measure obtida nos 3 (nveis)


de variao na quantidade de artigos recomendados. . . . . . . . . . . . . . . .

70

Tempo gasto no download dos arquivos recomendados pelo modelo RecCloud.

71

1.1

2.4
2.5
2.6

4.2
4.3
4.4
4.5
4.6
4.7

4.8

Tempo gasto no download dos arquivos recomendados pelo modelo baseado em


contedo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9 Comparao do tempo gasto no download dos arquivos recomendados pelos
dois modelos avaliados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 Mdia, mnimo e mximo do tempo gasto no download das recomendaes. . .

71
72
72

Lista de Tabelas
3.1
3.2
3.3

Pesos dos Critrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Exemplo do Clculo de Recomendao do Modelo RecCloud. . . . . . . . . .
Arquivos Recomendados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51
54
54

4.1

Nveis utilizados para avaliar as mtricas definidas . . . . . . . . . . . . . . .

67

Lista de Acrnimos
CB

Content-based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

CF

Filtragem Colaborativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

DTV

Televiso Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

IAAS

Infrastructure-as-a-Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

JDK

Java Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

SAAS

Software-as-a-Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

SR

Sistemas de Recomendao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

SRN

Sistema de Recomendao em Nuvem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Sumrio
1

Introduo

23

1.1

Contextualizao e Motivao . . . . . . . . . . . . . . . . . . . . . . . . . .

23

1.2

Definio do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

1.3

Soluo Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

1.4

Estrutura deste Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

Fundamentao terica e Trabalhos Relacionados

29

2.1

Computao em Nuvem . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

2.1.1

Armazenamento de Dados em Nuvem . . . . . . . . . . . . . . . . . .

32

Sistemas de Recomendao . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.2.1

Tarefas de um Sistema de Recomendao . . . . . . . . . . . . . . . .

35

Tcnicas de Sistemas de Recomendao . . . . . . . . . . . . . . . . . . . . .

37

2.3.1

Sistemas de Recomendao por Filtragem Colaborativa . . . . . . . . .

38

2.3.2

Sistemas de Recomendao Baseados em Contedo . . . . . . . . . . .

39

Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

2.4.1

Sistemas de Recomendao de Arquivos . . . . . . . . . . . . . . . . .

40

2.4.2

Sistemas de Recomendao em Nuvem . . . . . . . . . . . . . . . . .

41

2.4.3

Sistemas de Armazenamento em Nuvem . . . . . . . . . . . . . . . .

44

Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

2.2
2.3

2.4

2.5
3

RecCloud

47

3.1

Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

3.2

O Modelo de Recomendao . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

3.2.1

Pesos dos Critrios . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

3.2.2

Clculo de Recomendao . . . . . . . . . . . . . . . . . . . . . . . .

53

3.2.3

Exemplo do Clculo de Recomendao . . . . . . . . . . . . . . . . .

53

3.2.4

O Processo de Recomendao . . . . . . . . . . . . . . . . . . . . . .

55

Detalhes da Implementao . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

3.3.1

Ustore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

3.3.2

Arquitetura do Ustore . . . . . . . . . . . . . . . . . . . . . . . . . .

56

3.3.3

Sistema de Recomendao do Ustore . . . . . . . . . . . . . . . . . .

58

3.3.4

Implementao dos Critrios . . . . . . . . . . . . . . . . . . . . . . .

60

Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

3.3

3.4

22
4

Avaliao
4.1 Testes . . . . . . . . . . . . . .
4.2 Coleo de Dados . . . . . . . .
4.3 Julgamento de Relevncias . . .
4.4 Ambiente de Teste . . . . . . .
4.5 Mtricas de Avaliao . . . . . .
4.6 Cenrios de Avaliao . . . . .
4.7 Resultados . . . . . . . . . . . .
4.7.1 Resultados do Cenrio I
4.7.2 Resultados do Cenrio II
4.8 Discusso dos Resultados . . . .
4.9 Possveis Ameaas Validade .
4.10 Consideraes Finais . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

63
63
64
64
64
65
66
67
67
70
73
74
74

Concluses e Trabalhos Futuros


5.1 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77
77
78

Referncias

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

81

23

1
Introduo
Neste captulo, apresentada a contextualizao sobre a tmatica abordada nesta pesquisa,
alm de descrever os objetivos e as motivaes que conduziram esse trabalho.

1.1

Contextualizao e Motivao

Vivemos em uma era de efervescncia informacional, a cada dia se produz mais informao e, geralmente, estas informaes so armazenadas em meios digitais. O tamanho do universo
digital cresce de forma exponencial. Segundo relatrio publicado pela EMC Corporation 1
GANTZ; REINSEL (2011), em 2005, o volume de dados chegou a 130 exabytes2 ; em 2010,
superou 1 zettabyte e a previso que em 2015 chegue a quase 8 zettabytes 3 MACHADO (2013),
conforme mostrado na Figura 1.1.

Figura 1.1: Expectativa de crescimento da quantidade de dados digitais gerados GANTZ;


REINSEL (2011).

Este universo digital citado em Gantz e Reinsel GANTZ; REINSEL (2011) expande
1 http://www.emc.com

Acessado em: 07/09/2013


1.000.000.000 GB
3 Aproximadamente, 1.000.000.000.000 GB
2 Aproximadamente,

24

CAPTULO 1. INTRODUO

e torna cada vez mais complexa a tarefa de filtragem de contedo relevante que atenda s
preferncias do usurio.
De acordo com Lopes a escassez de informao disponvel deu lugar a uma imensa
massa de dados ao alcance de todos LOPES (2012). Entretanto, esta inverso tambm acabou
gerando um problema: onde e como armazenar essa massa de dados digitais? Uma opo que
atende a est demanda a computao em nuvem.
Com o desenvolvimento tecnolgico surgiram diversas tecnologias como, a computao
em nuvem que, dentre as suas inovaes, trouxe os sistemas de armazenamento. Com o crescimento da utilizao dos sistemas de armazenamento em nuvem, a massa de dados disponvel
na base destes sistemas aumenta a cada dia. Este cenrio implica na ocultao de informaes
relevantes aos usurios, que deixam de descobrir novos contedos e gasto uma maior quantidade
de tempo na filtragem de contedo, por no disporem de meios eficientes que os auxiliem na
filtragem de contedo.
Outro problema gerado com a exploso de dados armazenados em nuvem, como encontrar e extrair informao relevante em tempo hbil no meio desta quantidade de informaes?
Dentre as tcnicas utilizadas na filtragem de contedo podemos citar os sistemas de busca que,
permitem ao usurio realizar buscas por informaes similares as suas preferncias SAMPAIO
(2006). Nesta pesquisa proposto como resposta para este questionamento o uso dos sistemas
de recomendao.
Quando preciso filtrar um grande conjunto de dados, podemos utilizar tcnicas de
recomendao para facilitar o processo de filtragem de informaes relevantes e similares com
as preferncias do usurio. Para isto, necessrio informaes sobre o indivduo alvo da
recomendao ou sobre o ambiente que influenciar na gerao da recomendao. A partir da,
um sistema de recomendao poder localizar os arquivos que apresentem maior similaridade
com as preferncias ou caractersticas do usurio, ou do seu ambiente.
No desenvolvimento de Sistemas de Recomendao (SR) existem variadas tcnicas, mas
duas delas possuem destaque na literatura: sistemas de recomendao Content-based (CB) e
sistemas de recomendao por Filtragem Colaborativa (CF) SU; KHOSHGOFTAAR (2009).
Sistemas de recomendao pela tcnica CB apiam-se no princpio de que os usurios
tendem a interessar-se por itens similares aos que demonstraram interesse no passado, como,
por exemplo, visualizao de um item em uma loja virtual. A preocupao deste tipo de sistema
definir a similaridade entre o contedo dos itens e uma das suas dificuldade conseguir
representar estes contedos.
Os sistemas de recomendao por CF foram desenvolvidos para superar as dificuldades
da abordagem baseada em contedo, uma das principais diferenas entre as tcnicas justamente
por no exigir a compreenso dos contedos dos itens, baseando apenas nas caractersticas do
usurio, normalmente disponibilizadas por ele mesmo ao sistema. A natureza desta tcnica
est na troca de experincia entre os usurios, baseando-se na teoria de que usurios com
caractersticas semelhantes demostram intresses pelos mesmos itens. O objetivo desta tcnica

25

1.2. DEFINIO DO PROBLEMA

definir a proximidade entre os usurios a partir de suas interaes com o sistema, como, por
exemplo, avaliao de itens.
Um dos principais problemas da tcnica por filtragem colaborativa a de existir poucos
usurios, informaes ou participao no sistema, este problema tambm conhecido como
esparsidade dos dados HERLOCKER (2000). Este problema foi um dos motivos que levaram
est pesquisa a no utilizar a tcnica de recomendao baseada em filtragem colaborativa, e sim
optar pela tcnica baseada em contedo para compor o modelo proposto. A esparsidade de dados
pode ser considerada frequente em sistemas de armazenamento em nuvem, observando que, no
momento em que um novo usurio entra no sistema, este pode disponibilizar poucas ou nenhuma
informao a seu respeito ou que represente suas preferncias e interesses. Isso torna complexa
a atividade de recomendar contedo que atenda s expectativas do usurio, sem informaes que
possibilitem o processo.
Tomando este cenrio como base, esta pesquisa prope um modelo para recomendao
de arquivos baseado em caractersticas da nuvem e em contedo. O modelo foi desenvolvido de
forma que seja possvel ser utilizado em diferentes sistemas de armazenamento em nuvem.

1.2

Definio do Problema

A maioria dos sistemas de armazenamento em nuvem, como: Amazon S3 4 , Dropbox5 ,


SugarSync6 , entre outros, no oferecem servios de recomendao de arquivos ao usurio. A
maioria somente permite que o usurio faa consultas por um determinado arquivo a partir de
palavras-chave. Isso torna a busca por contedo relevante, repetitiva e trabalhosa, demandando
certa quantidade de tempo na filtragem de contedo, considerando uma grande massa de dados.
E nem sempre o arquivo encontrado pelo usurio em uma busca manual, proporciona a melhor
utilizao dos recursos do sistema em nuvem e de seus recursos computacionais, como, por
exemplo, o download deste arquivo, que pode demandar mais tempo do que o disponvel pelo
usurio e mais recursos computacionais de que os disponveis para realizar esta tarefa.
A utilizao de sistemas de recomendao tem como objetivo recomendar ao usurio
o contedo que melhor se adeque a necessidade, preferncia e expectativas do usurio alvo da
recomendao. Visto que a utilizao de sistemas de armazenamento em nuvem permite que o
usurio armazene uma grande quantidade de dados, o problema que esta dissertao se prope a
resolver pode ser definido como:
Com a disponibilidade para que usurios armazenem grandes quantidades de arquivos
em nuvem, tornou-se complexa a filtragem de contedo relevante em meio a essa massa de dados.
Demandando maior tempo e utilizando mais recursos computacionais para a realizao desta
tarefa.
4 http://aws.amazon.com/pt/s3/

Acessado em: 07/09/2013


Acessado em: 07/09/2013
6 https://www.sugarsync.com/googtrans(en|pt) Acessado em: 07/09/2013
5 https://www.dropbox.com/

26

CAPTULO 1. INTRODUO

1.3

Soluo Proposta

O estudo apresentado neste trabalho investiga qual a melhor forma de utilizar caractersticas de sistemas de armazenamento em nuvem na gerao de recomendao de arquivos
nestes sistemas. Assim assume-se que ao associar as caractersticas do ambiente tcnica de
recomendao baseada em contedo, podem ser geradas recomendaes de arquivos por meio
de um modelo que atenda as preferncias do usurio e proporcione uma melhor utilizao dos
recursos disponveis pelos sistemas de armazenamento em nuvem.
Definida a proposta que solucione os problemas de pesquisa, apresentados ao longo
desse trabalho, investigada a aplicabilidade da proposta em um sistema de armazenamento em
nuvem Ustore7 . Desta forma, pode-se definir que o objetivo geral deste trabalho propor e
avaliar um modelo de recomendao de arquivos para sistemas de armazenamento em nuvem
que utilize caractersticas da nuvem no processo de recomendao.
Ao final deste trabalho, espera-se propor um modelo de recomendao de arquivos
para sistemas de armazenamento em nuvem. Esse modelo permitir recomendar contedo que
atenda as preferncias do usurio e que proporcionem amenizao do tempo gasto na filtragem
por contedo relevante e no tempo gasto no download desses arquivos, alm de recomendar
arquivos que apresentem as melhores taxas de disponibilidade. Para alcanar o objetivo principal
apresentado nesta seo, os seguintes passos foram definidos:


Realizar uma reviso bibliogrfica sobre Sistema de Recomendao em Nuvem


(SRN), agregando maior entendimento terico ao tema. A partir desta reviso, pdese identificar limitaes nos trabalhos relacionados.
Identificar as propostas adotadas hoje pelos sistemas de armazenamento em
nuvem para realizar recomendaes e quais tcnicas e critrios so utilizados na
gerao destas recomendaes.
Realizar um levantamento de caractersticas de sistemas de armazenamento
em nuvem para que sejam propostos critrios a serem utilizados pelo modelo na
gerao de recomendaes.

Definir os critrios que sero utilizados na gerao de recomendaes.

Definir a relevncia de cada critrio na gerao de recomendaes.

Definir o modelo do clculo de recomendao para a gerao de novas recomendaes.


Realizar um estudo para avaliar o modelo proposto em um cenrio real.

7 http://usto.re/

27

1.4. ESTRUTURA DESTE DOCUMENTO

O modelo proposto neste trabalho tem como objetivo possibilitar a recomendao de


contedo em sistemas de armazenamento em nuvem, e para isto, primeiramente, foi executado a
reviso da literatura disponvel sobre sistemas de recomendao, sistemas de armazenamento e
computao em nuvem, analisando as propostas disponveis na literatura. Como complementos
foram analisados os modelos de filtragem de contedo utilizados por sistemas de armazenamento em nuvem, que apresentem em suas caractersticas alguma semelhana com a proposta
desta pesquisa. Este processo de reviso gerou contedo e conhecimento que auxiliaram o
desenvolvimento deste projeto.
Foi realizada uma reviso detalhada da bibliografia referente ao tema desta pesquisa,
os trabalhos relacionados ao trabalho foram encontrados em bibliotecas ou repositrios de
publicaes. Todos os trabalhos relacionados ao tema da pesquisa foram armazenados como
resultados das buscas, bem como catalogadas todas as referncias utilizadas na dissertao. Com
toda a reviso da literatura j realizada sobre o tema desta pesquisa, em seguida foi modelada a
proposta apresentada neste trabalho.
Na modelagem da proposta foram realizadas atividades de definio do modelo de
recomendao, para isso foram realizadas anlises e estudos em trabalhos encontrados na reviso da literatura. Para avaliar a proposta, foi desenvolvido um prottipo de um sistema
de recomendao utilizando o modelo RecCloud, com o objetivo de simular a aplicao
do modelo em um ambiente real de armazenamento em nuvem, para isso foram utilizadas
ferramentas de apoio ao desenvolvimento, tais como Eclipse (THE ECLIPSE FOUNDATION - ECLIPSE PROJECTS. DISPONVEL, 2013), com auxlio do Java Development
Kit (JDK) da linguagem de programao Java (JAVA PLATFORM, STANDARD EDITION
<TTP://WWW.ORACLE.COM/TECHNETWORK/JAVA>, 2013). O prottipo foi desenvolvido
como parte integrante do sistema de recomendao baseado em contedo do sistema de armazenamento em nuvem Ustore 8 . O desenvolvimento do prottipo possibilitou a coleta de resultados,
e para isto alguns dados sobre o cenrio de execuo foram simulados.

1.4

Estrutura deste Documento

Neste captulo foi apresentada uma breve introduo sobre esta pesquisa, foram mostrados problemas que justificam e motivam a execuo de tal pesquisa, bem como apresentado os
objetivos da mesma. O resto deste trabalho est dividido nos seguintes captulos:
Captulo 2 apresenta a Fundamentao Terica acerca da pesquisa, recursos que contriburam para este trabalho e os trabalhos relacionados.
Captulo 3 apresenta o modelo RecCloud como desenvolvimento desta pesquisa e os
detalhes da implementao.
Captulo 4 apresenta a avaliao do modelo proposto e os resultados obtidos.
Captulo 5 apresenta a concluso da pesquisa apontando possveis trabalhos futuros.
8 http://usto.re/

29

2
Fundamentao terica e Trabalhos Relacionados
Neste captulo sero apresentados os conceitos de computao em nuvem, sistemas de
armazenamento em nuvem, sistemas de recomendao e suas principais tcnicas, conceitos-chave
desta dissertao, bem como alguns trabalhos relacionados ao tema desta pesquisa.

2.1

Computao em Nuvem

O National Institute of Standards and Technology (NIST) define computao em nuvem


como um modelo que permite que um conjunto de recursos computacionais possam ser fornecidos
sob demanda de forma a permitir que os mesmos sejam fornecidos e liberados rapidamente com
o mnimo de esforo de gesto ou interao do fornecedor MELL; GRANCE (2009). Vaquero et
al.VAQUERO et al. (2008) define computao em nuvem como um grande conjunto de recursos
virtualizados (hardware, plataformas de desenvolvimento e/ou servios) facilmente usveis e
acessveis. A arquitetura da computao nas nuvens comumente representada em camadas:
Software como servio, Plataforma como Servio e Infraestrutura como servio. Nesse modelo
cada camada est construda sobre os servios oferecidos pela camada de baixo LENK et al.
(2009), conforme apresentado na Figura 2.1.


Infrastructure-as-a-Service (IAAS): o fornecimento de recursos computacionais


como: capacidade de processamento, armazenamento e conectividade. Tomando
armazenamento como um exemplo, quando o usurio usa um servio de armazenamento em computao em nuvem, ele somente paga a parte que foi efetivamente
consumida sem comprar nenhum disco rgido ou at mesmo sem nem conhecer a
localizao dos seus dados armazenados. Um exemplo de IaaS o Amazon Web
Services (Amazon AWS)1 , principalmente, atravs do Amazon Elastic Compute
Cloud (Amazon EC2) 2 ;

1 http://aws.amazon.com/

Acessado em: 16/09/2013


Acessado em: 16/09/2013

2 http://aws.amazon.com/ec2/

30

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS

Figura 2.1: Arquitetura em camadas para computao em nuvem MACHADO (2013)

paas! (paas!): Fornece a infraestrutura e d suporte a um conjunto de interfaces de


programao para aplicaes em nuvem. o meio entre o hardware e as aplicaes.
Um bom exemplo de PaaS a plataforma de servios do Microsoft Azure 3 ;
Software-as-a-Service (SAAS): Em SaaS o objetivo substituir as aplicaes que
rodam nos computadores. Ao invs de comprar o software por um preo relativamente
alto, o usurio paga pelo que usado do SaaS, o que pode gerar economia, observando
que o usurio s pagar pelo que usar. Um dos pincipais problemas a baixa taxa de
transmisso de dados na rede em determinadas localidades o que fatal para algumas
aplicaes, como sistemas de tempo real. Um exemplo muito conhecido de SaaS o
Dropbox 4 ;

A computao em nuvem traz trs novos aspectos em Hardware VOGELS (2008):


a) A iluso de recursos computacionais infinitos disponveis sob demanda, eliminando
assim a necessidade dos usurios planejarem muito frente para provisionamento de
recursos;
b) A eliminao de um compromisso antecipado por parte dos usurios da nuvem,
permitindo que as empresas comecem pequeno e aumentem os recursos de hardware
apenas quando h um aumento de suas necessidades;
3 http://www.windowsazure.com/
4 http://www.dropbox.com

Acessado em: 16/09/2013


Acessado em: 18/09/2013

31

2.1. COMPUTAO EM NUVEM


c) A capacidade de pagar somente pelo que foi usado dos recursos computacionais (por
exemplo, os processadores por hora e armazenamento por dia), e liberar recursos
contratados facilmente quando no so mais necessrios;

A computao em nuvem composta por Software e Hardware, do ponto de vista de


implementao, a computao em nuvem se destaca em 4 (quatro) vertentes:


Nuvem Privada: oferece servios para a prpria organizao, sendo operada e


utilizada apenas pela mesma.
Nuvem Comunitria: baseia-se em um ambiente de computao em nuvem compartilhado entre organizaes com interesses em comum.
Nuvem Pblica: um modelo que disponibiliza ambientes para o pblico em
geral e so normalmente comercializadas por corporaes com grande poder de
armazenamento e processamento.
Nuvem Hbrida: basea-se na composio entre dois ou mais ambientes de estruturas
distintas, nuvem privada e nuvem pblica, por exemplo, gerando uma nica nuvem,
porm a conexo entre essas feita a partir de tecnologias proprietrias.

De acordo com Mell e Grance (2009) MELL; GRANCE (2009), computao em nuvem
possui algumas caractersticas que se destacam, so elas:


Servio sob demanda: o provimento automatizado de funcionalidades computacionais, no necessitando de interveno humana com o provedor do servio;
Amplo acesso a servios: permite a disponibilizao de recursos atravs da rede,
habilitando o acesso a clientes de diferentes e diversos dispositivos que podem ser
computadores, smartphones, dentre outros;
Multitenncia: permite o provimento de servios a mltiplos usurios, e tais servios
podem ser alocados dinamicamente de acordo com a demanda;
Elasticidade: correspondente escalabilidade. Oferece ao usurio a sensao de ter
os recursos disponveis de forma ilimitada e a qualquer instante;
Tarifao: segue o conceito pay-as-you-go, ou seja, o usurio paga somente pelo
que for usado.

Dentre os principais desafios da computao em nuvem, destacam-se os desafios de


prover segurana e a instvel conexo de Internet de lugares geograficamente remotos. A
segurana em ambientes em nuvem constantemente contestada e se torna tema frequente de
discursos cientficos, questionando sempre sobre a segurana e o sigilo de dados armazenados

32

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS

principalmente em nuvens pblicas. Locais geograficamente remotos apresentam baixas taxas


de transferncias de dados pela Internet, impossibilitando o uso eficiente de servios em nuvem,
em contraste de grandes centros com altas taxas de conexo com a Internet, possibilitando o uso
de servios em nuvem em sua total capacidade.

2.1.1

Armazenamento de Dados em Nuvem

Na Seo anterior, apresentamos que a utilizao da computao em nuvens permite que


os usurios possam alocar recursos dinamicamente, de acordo com sua necessidade. Entre esses
recursos est o de armazenamento, o qual prov recursos e servios de armazenamento baseados
em servidores remotos que utilizam os princpios da computao em nuvem ZENG et al. (2009).
Armazenamento em nuvem tem duas caractersticas bsicas: a primeira trata da infraestrutura da
nuvem, a qual baseia-se em clusters de servidores baratos; a segunda tem o objetivo de, atravs
dos clusters de servidores, armazenamento distribudo e redundncia de dados, fazer mltiplas
cpias dos dados armazenados para alcanar dois requisitos: alta escalabilidade e alta usabilidade.
A alta escalabilidade significa que o armazenamento em nuvem pode ser dimensionado para um
grande aglomerado com centenas de ns ou peers de processamento. Alta usabilidade significa
que o armazenamento em nuvem pode tolerar falhas de ns e que estas falhas no afetam todo o
sistema DENG et al. (2010).
Com a popularizao da computao em nuvem, cresceu o nmero de sistemas utilizados
para armazenamento em nuvem. O servio oferecido por estes sistemas baseiam-se no software
que executado em um cluster de servidores, os quais armazenam em seus discos rgidos os
arquivos dos clientes. Normalmente, cada cliente possui um processo que controla a transferncia
de arquivos entre a mquina do usurio e os servidores na nuvem. Este processo tambm tem a
funo de se certificar que os dados enviados sejam espalhados por outros servidores no cluster
e manter a sincronia dos dados na mquina do cliente e os dados armazenados, ou seja, novos
dados gerados na mquina do cliente devero ser salvos na nuvem e, caso os dados locais sejam
perdidos, recuper-los MACHADO (2013).
Com a expanso do mercado e das tecnologias em nuvem surgiram diversos sistemas
de armazenamento de dados em nuvem, como, por exemplo, DropBox5 , Box6 , Mozy Review7 ,
JustCloud Review8 e Ustore9 , estes so alguns dentre os diversos sistemas de armazenamento
em nuvem existentes.
Os sistemas de armazenamento em nuvem se mostram bastantes atrativos aos usurios,
por fornecerem as opes de acesso, recuperao e armazenamento de arquivos de qualquer
lugar e a qualquer hora. Desta forma, os usurios desses servios podem armazenar arquivos em
5 https://www.dropbox.com/

Acessado em: 18/09/2013


Acessado em: 18/09/2013
7 http://www.mozy.com/ Acessado em: 18/09/2013
8 http://www.justcloud.com/ Acessado em: 18/09/2013
9 http://usto.re/ Acessado em: 18/09/2013
6 https://www.box.com/

33

2.2. SISTEMAS DE RECOMENDAO

diversos formatos e tamanhos (.pdf, .doc, HTML, XML, RTF, arquivos compactados, imagens,
arquivos de udio e diversos outros formatos de arquivos), alguns desses servios limitam o
tamanho mximo de um nico arquivo que pode ser armazenado, normalmente esta limitao
acontece em sistemas pblicos. Os sistemas de armazenamento em nuvem, em sua maioria
baseiam-se nos princpios de pay-as-you-go, ou seja, o usurio paga pelo espao que utilizar no
sistema.
As vantagens e atrativos apresentados por este tipo de sistemas atraem cada vez mais
usurios, o que acaba contribuindo para o crescimento da massa de dados na nuvem. O que torna
a atividade de filtragem de contedo considerado relevante, complexa e trabalhosa, fazendo com
que usurios demandem mais tempo na busca por contedo de seu interesse. Observando este
cenrio possvel afirmar que a utilizao de mecanismos de recomendao em sistemas de
armazenamento em nuvem torna-se imprescindvel, devido ao crescimento constante no volume
de dados nesses sistemas.
O sistema de armazenamento em nuvem Ustore utilizado como ambiente de avaliao da
proposta desta pesquisa pode ser classificado como PaaS (Plataforma como um servio). Por
ser um software que oferece ao usurio um servio para armazenamento e backup de dados em
nuvem privada ou pblica de forma mais barata por meio da utilizao de recursos ociosos j
existentes nas estaes de trabalho ou servidores SILVA A. MACHADO (2013).

2.2

Sistemas de Recomendao

(SR) so softwares e tcnicas que fornecem sugestes de itens que podem ser teis ao
usurio. As sugestes apresentadas tm como objetivo apoiar os seus utilizadores em vrios
processos de tomada de deciso, tais como que produto comprar, qual msica ouvir, ou que
notcia ler. Sistemas de recomendao provaram ser, meios valiosos para os usurios on-line
para lidar com a sobrecarga de informao e tornaram-se uma das ferramentas mais poderosas
e populares do comrcio eletrnico. Correspondentemente, vrias tcnicas para a gerao de
recomendao foram propostas durante a ltima dcada RICCI et al. (2011).
Os mecanismos de recomendao tentam automatizar a filtragem de dados buscados por
um item a partir dos dados desse mesmo usurio ou de outros similares que o sistema j tenha
incorporado. Esses dados costumam ser: visitas a determinadas pginas, dados geogrficos, sexo,
preferncias, entre outros. Devido a essa propriedade, mecanismos de recomendao tm sido
muito utilizados por empresas para tentar conhecer as preferncias de seus consumidores, assim
podendo encontrar sempre a melhor sugesto para um determinado cliente ADOMAVICIUS;
TUZHILIN (2005) CHAKOO; GUPTA; HIREMATH (2008).
Um sistema de recomendao normalmente se concentra em um tipo especfico de item
e usurio, por exemplo artigos acadmicos para professores e, consequentemente, a sua tcnica
de recomendao usada para fazer as recomendaes, so todas personalizadas para fornecer
informaes teis e eficazes para um tipo especfico de item e usurio RICCI et al. (2011).

34

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS

Uma recomendao pode se basear nas preferncias de quem a faz e pode ser dirigida a
um indivduo especfico, ou para um pblico maior. Para a pessoa que recebe a recomendao,
ela funciona como um filtro ou uma viso particular de um universo de possibilidades geralmente
inacessvel. Ela pode levar em considerao tambm a preferncia de quem est procura de
sugestes e no apenas de quem a faz. possvel at mesmo fazer recomendao baseada nas
opinies de outras pessoas. Algum que no admirador do gnero Rock pode recomendar discos
baseado no que seus amigos que apreciem tal estilo costumam ouvir. Ainda, a recomendao
pode incluir explicaes sobre como ela foi gerada para permitir que o seu recebedor a avalie
SAMPAIO (2006) .
A Figura 2.2 ilustra o modelo geral para o processo de recomendao apresentado por
Terveen et al. TERVEEN; HILL (2001). Esta Figura ser til para entendermos o funcionamento
e a utilizao dos sistemas de recomendao.

Figura 2.2: Modelo do Processo de Recomendao.

Os elementos envolvidos no processo so:




Alvo da recomendao: principal ator do processo e destinatrio da recomendao.


O usurio pode apenas receber as sugestes ou pode fornecer tambm suas opinies
sobre os itens da base de informao, gerando contedo para novas recomendaes;
Base de informao: local onde se encontram todas as escolhas e informaes de
interesse do usurio;
Provedor de Recomendao: agente que seleciona e recomenda os itens da base
de informao que tm maior similaridade com as preferncias do usurio. Para
identificar quais so esses itens, o provedor da recomendao pode se basear nas
preferncias informadas pelo prprio usurio, nas preferncias de outras pessoas e/ou
no contedo dos itens;
Provedores de preferncia: todo processo de recomendao est baseado em indicadores humanos de preferncia. Assim, os provedores de preferncia podem ser um

35

2.2. SISTEMAS DE RECOMENDAO


conjunto de pessoas ou um nico indivduo cujas opinies podem ser utilizadas pelo
provedor de recomendaes para gerar as sugestes;

2.2.1

Tarefas de um Sistema de Recomendao

importante entendermos quais so as principais tarefas realizadas por sistemas de


recomendao. As tarefas de um SR dizem respeito sua comunicao com o usurio e a
satisfao dos objetivos do usurio ao utiliz-lo SAMPAIO (2006).
A seguir descrevemos algumas das principais atividades realizadas por sistemas de
recomendaes juntamente com exemplos em sistemas reais.


Mostrar as opinies dos usurios do sistema acerca de um item de informao:


Sistemas de informao on-line possibilitam que usurios forneam suas opinies
a respeito de: produtos de consumo, artigos cientficos, negociadores de leilo e
etc. Essas opinies tornam-se visveis a outros usurios do sistema, permitindo-lhes
embasar a sua deciso nas opinies de outras pessoas da comunidade. A indicao
de preferncia geralmente feita atravs de uma nota que o usurio atribui a um
item podendo tambm anexar uma descrio textual de seu ponto de vista SAMPAIO
(2006). Na Figura 2.3 apresentado um exemplo de como a indicao de preferncia
feita pelo usurio;

Figura 2.3: Opinies dos usurios do site Netshoes sobre um item da loja NETSHOES.
DISPONVEL EM: <HTTP://WWW.NETSHOES.COM.BR/> (2013)

Mostrar os itens mais comumente acessados da base: Essa uma das tarefas
mais comumente presentes em sistemas de recomendao. comum em sites de
comrcio eletrnico haver uma lista de itens mais vendidos ou mais populares. Essa
caracterstica apoia-se no fato de que as pessoas frequentemente procuram saber a
opinio da maioria no momento de tomar uma deciso SAMPAIO (2006). Na Figura
2.4 apresentamos um exemplo de livros mais vendidos no site Submarino;

36

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS

Figura 2.4: Lista dos livros mais vendidos do site Submarino SUBMARINO.
DISPONVEL EM: <HTTP://WWW.SUBMARINO.COM.BR/> (2013)

Mostrar uma lista de itens relevantes para um usurio com base no contexto
visualizado por ele em dado momento: Atualmente vrios sites de comrcio eletrnico como por exemplo, Mercado Livre10 , Amazon11 e Netshoes12 , so capazes de
identificar os itens nos quais o usurio demonstra interesse ao longo de uma sesso
de uso do sistema e, com base nisto, selecionar outros itens que podem ser relevantes
para ele. Geralmente, os itens que o sistema assume como sendo do interesse do
usurio so os que os usurios procuram, visualizam ou compram SAMPAIO (2006).
A Figura 2.5 mostra um exemplo em que um sistema fornece recomendaes de
outros discos, DVDs e livros que podem interessar a um usurio que est procurando
por um determinado lbum;

Mostrar ao usurio uma lista de itens interessantes levando em considerao


o seu perfil: Neste caso, o sistema de recomendao capaz de manter um perfil
contendo os interesses demonstrados pelo usurio no decorrer dos uso que ele fez
do sistema. Com essa caracterstica, o sistema capaz de fornecer um alto grau
de personalizao nas recomendaes feitas, apresentando ao usurio uma viso
bastante particular da base de informaes. A Figura 2.6 mostra a lista de filmes
sugeridos a partir do filme As Good As It Gets;

10 http://www.mercadolivre.com.br/

Acesso em 21/01/2014
Acesso em 21/01/2014
12 http://www.netshoes.com.br/Acesso em 21/01/2014
11 http://www.amazon.com.br/

37

2.3. TCNICAS DE SISTEMAS DE RECOMENDAO

Figura 2.5: Exemplo de uso da Amazon.com em que o sistema sugere outros produtos
relevantes para o usurio interessado no disco Kind Of Blue SAMPAIO (2006)

Figura 2.6: Recomendao gerada pelo sistema do IMDB a partir do filme As Good As It
Gets SAMPAIO (2006)

2.3

Tcnicas de Sistemas de Recomendao

O desenvolvimento de sistemas de recomendao um esforo multidisciplinar, que envolve especialistas de diversas reas, como a inteligncia artificial, interao Humano-Computador,
minerao de dados, estatstica, sistemas de apoio deciso e marketing RICCI et al. (2011).

38

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS

Com o objetivo de implementar a sua funo principal, identificando os itens similares


aos interesses do usurio, um sistema de recomendao deve prever se vale a pena recomendar
um item. O sistema deve ser capaz de prever a utilidade dos itens recomendados, ou, pelo menos,
comparar a utilidade de alguns itens, e ento decidir quais itens recomendar RICCI et al. (2011).
As duas tcnicas de recomendao mais utilizadas e destacadas na literatura so sistemas
de recomendao por filtragem colaborativa e sistemas de recomendao baseado em contedo
SU; KHOSHGOFTAAR (2009). Na prtica essas duas tcnicas normalmente so usadas combinadas com outras tcnicas de recomendao ADOMAVICIUS; TUZHILIN (2005) BURKE
(2002) PALAU et al. (2004).

2.3.1

Sistemas de Recomendao por Filtragem Colaborativa

A abordagem de recomendao por filtragem colaborativa foi proposta inicialmente para


suprir as deficincias da abordagem baseada em contedo. Com o passar dos anos, conquistou
tamanha aceitao que hoje provavelmente a tcnica mais amplamente conhecida, implementada e utilizada para sistemas de recomendao ANSARI; ESSEGAIER; KOHLI (2000)
HERLOCKER (2000) RICCI et al. (2011).
Na abordagem colaborativa, em contraste com a recomendao baseada em contedo,
a compreenso ou conhecimento do contedo dos itens totalmente prescindvel. Ao invs
de buscar itens disponveis com contedos similares aos previamente avaliados positivamente
pelo usurio para indic-los, ela se apoia inteiramente na similaridade entre os usurios do
sistema para o processo de sugesto. Partindo do princpio de que as melhores recomendaes
para um indivduo so aquelas feitas por pessoas com preferncias similares s dele, o sistema
identifica estas pessoas para sugerir itens que as mesmas tenham aprovado e ainda no tenham
sido consumidos pelo indivduo SAMPAIO (2006).
Dentro da categoria de mecanismos de recomedao colaborativa, existem ainda duas
outras subtcnicas: Baseado em Modelo e Baseado em Memria ADOMAVICIUS; TUZHILIN
(2005) BURKE (2002).


Filtro Colaborativo Baseado em Modelo: O objetivo desta tcnica de fazer predies de agrupamento de usurios, criando modelos, para realizar as recomendaes.
Para criar os agrupamentos, utilizam-se tcnicas como redes neurais;
Filtro Colaborativo Baseado em Memria: A tcnica Baseada em Memria um
mecanismo que gera recomendaes a partir de avaliaes anteriores dadas pelos
usurios e outros dados do sistema. Para isso, utiliza-se algoritmos de correlao
como a correlao de cossenos;

Normalmente estas duas tcnicas se complementam na implementao de sistemas de


recomendao, para situaes onde agrupamentos so viveis, utiliza-se a tcnica baseada em

39

2.3. TCNICAS DE SISTEMAS DE RECOMENDAO

modelo. Quando agrupamentos no so viveis, utiliza-se a tcnica baseada em memria VIEIRA


(2013).
De acordo com Sampaio (2006) SAMPAIO (2006), o processo de recomendao por
filtragem colaborativa pode ser definido em trs etapas, explicadas a seguir:

Coleta de dados: nesta etapa coletado as preferncias do usurio para a definio


do seu perfil. As preferncias podem ser obtidas tanto de forma explcita como
implcita. Na primeira, o sistema espera do usurio avaliaes objetivas e diretas
dos itens. So dados fceis para se trabalhar, entretanto a desvantagem deste tipo de
coleta que a responsabilidade fica na mo do usurio, que pode no querer dispor do
seu tempo para avaliar os itens. Na segunda forma, o sistema aprende sobre o usurio
a partir das suas aes, do seu comportamento. Por exemplo, o acesso voluntrio
de um arquivo pode ser visto como uma aprovao. Esta forma no depende da boa
vontade do usurio, entretanto oferece dados difceis para se trabalhar e por vezes
esbarra na barreira da privacidade;
Formao de vizinhana: o objetivo desta etapa identificar os usurios mais
similares ao usurio alvo, baseando-se nas suas preferncias em comum. Este grupo
de usurios recebe o nome de vizinhana;
Recomendao: nesta etapa a recomendao realizada com base na vizinhana do
usurio, o qual receber como sugestes os itens mais bem avaliados pela mesma;

De acordo com McLaughlin e Herlocker (2004) MCLAUGHLIN; HERLOCKER (2004)


a abordagem por filtragem colaborativa simples e eficiente na gerao de recomendaes
personalizadas, e pode ser aplicada em diversos domnios, e perfeitamente alinhada com a
definio da evoluo da Internet.
Existem desvantagens em utilizar o Filtro Colaborativo. Um dos principais problemas
o do novo item ou novo usurio, em que um item pode ter poucas avaliaes ou um usurio pode
ter poucos itens que gosta ADOMAVICIUS; TUZHILIN (2005). Outra questo ocorre devido
diversidade humana a ovelha negra, em que os usurios so iguais em alguns aspectos, mas
no necessariamente querem sempre o mesmo item BURKE (2002).
Na utilizao da tcnica de recomendao por filtragem colaborativa em sistemas de
armazenamento em nuvem, o principal problema pode ser considerado o do novo item, que
pode gerar reflexos negativos nas recomendaes. Pelo fato que em sistemas de armazenamento
sempre so adicionados novos arquivos que podem ser relevantes ao usurio, porm por ser
um novo item no sistema, este pode ter poucas ou nenhuma avaliao. Este cenrio motivou a
utilizao da tcnica de recomendao baseada em contedo para compor o modelo proposto
nesta pesquisa.

40

2.3.2

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS

Sistemas de Recomendao Baseados em Contedo

Esta categoria de sistemas recomenda ao usurio itens semelhantes queles em que ele
demonstrou interesse no passado. Para tanto, o sistema analisa as descries dos contedos dos
itens avaliados pelo usurio para montar o seu perfil, o qual utilizado para filtrar os demais
itens da base BLANCO-FERNANDEZ et al. (2008) PAZZANI; BILLSUS (1997) RICCI et al.
(2011). Esse contedo no qual ele se baseia so elementos explcitos como nome, descrio, tags,
contedo, categorizao ou rating do item a ser recomendado VIEIRA (2013). Os resultados so
o julgamento da relevncia daqueles itens para o usurio, e a consequente recomendao ou no
SAMPAIO (2006).
Uma das vantagem de implantar o Filtro Baseado em Contedo que a quantidade de
usurios no sistemas no interfere na eficcia do SR, j que se baseia somente no histrico do
que o usurio j acessou. Em contrapartida, um sistema assim precisa de itens bem descritos,
com informao suficiente para categoriz-los STORMER H.; WERRO; RISCH (2006). Outro
problema encontrado nesse tipo de recomendao a sugesto de itens sempre muito parecidos,
limitando os usurios de conhecer itens diferentes VIEIRA (2013).
O melhor uso do Filtro Baseado em Contedo descrito at agora se aplica em sistemas
com poucos usurios e muita informao sobre os itens. Quando um usurio novo em
um sistema, o Filtro Baseado em Contedo tambm possui muita utilidade, pois no temos
muita informao sobre aquele novo usurio e outras tcnicas como o Filtro Colaborativo, que
mostremos anteriormente, so pouco eficientes quando h pouca informao sobre o usurio
ADOMAVICIUS; TUZHILIN (2005) BURKE (2002).
O modelo proposto nesta pesquisa utiliza a tcnica de recomendao por filtragem
baseada em contedo associada s caractersticas da nuvem. Est tcnica foi a que mais se
encaixou no cenrio de aplicao desta proposta, onde sistemas de armazenamento em nuvem
nem sempre contm uma grande quantidade de usurios, e o sistema necessita recomendar
arquivos a partir das informaes de apenas um nico usurio. Outro ponto que motivou
a escolha desta tcnica foram os itens, que na maioria das vezes, so bem descritos nestes
ambientes, a partir do contedo dos mesmos. Alm destes aspectos, a partir desta proposta
pode-se amenizar um dos principais problemas desta tcnica, ponderando os critrios propostos
evitando assim a recomendao de itens muitos similares e no ocultando novos contedos ao
usurio.

2.4

Trabalhos Relacionados

Nesta seo, sero analisados os trabalhos relacionados com sistemas de recomendao


baseados em contedo, e demonstra como os principais sistemas de recomendao utilizam as
caractersticas da nuvem para prover recomendaes. Os trabalhos selecionados so os que mais
se aproximam da proposta desta pesquisa.

41

2.4.1

2.4. TRABALHOS RELACIONADOS

Sistemas de Recomendao de Arquivos

Sistemas de recomendao de arquivos so amplamente utilizados em bibliotecas digitais


e ambientes de ensino e pesquisa. Na implementao destes sistemas so utilizadas as mais
variadas tcnicas de recomendao, como, por exemplo, recomendaes baseadas em contedo,
onde os arquivos so recomendados de acordo com a similaridade entre o arquivo e as preferncias
do alvo da recomendao. Outra forma utilizada na recomendao de arquivos a recomendao
por filtragem colaborativa, recomendado arquivos a usurios pela similaridade entre os prprios
usurios. A seguir, so apresentados alguns trabalhos encontrados na literatura que apresentam
propostas de sistemas de recomendao de arquivos.
JIANG et al. (2012) apresenta um sistemas de recomendao de artigos acadmicos
utilizando a tcnicas de recomendao baseada em contedo. A proposta tem como objetivo
recomendar artigos cientficos que tenham o contedo do seu resumo similar ao contedo de
artigos que o usurio tenha demostrado preferncia. A preferncia do usurio medida de acordo
com os artigos que ele realizou a leitura. Neste caso, se o usurio leu um determinado artigo,
o sistema entende que este artigo representa as suas preferncias. Para calcular a similaridade
entre o artigo que representa s preferncias do usurio e os artigos candidatos recomendao,
utilizada a tcnica de similaridade do cosseno, esta abordagem amplamente utilizada em
sistemas de recomendao para calcular a similaridade entre itens.
O trabalho de JIANG et al. (2012), se assemelha com a proposta desta pesquisa, por
propor um sistema de recomendao baseado em contedo, utilizando a tcnica de similaridade
do cosseno, e tambm prope uma contribuio relevante em sua avaliao, que a utilizao da
tcnica NDCG, tcnica que utilizada para avaliar este tipo de sistema. O modelo RecCloud se
diferencia desta abordagem, por propor a utilizao de caractersticas do ambiente em nuvem
associadas tcnica de recomendao baseada em contedo.
TIAN; JING (2013) prope um sistema de recomendao hbrido (baseado em contedo
e que utilize caractersticas da tcnica de recomendao por filtragem colaborativa). Este trabalho
tem como objetivo amenizar um dos principais problemas da tcnica CB, que a recomendao
de contedo sempre muito similar s preferncias do usurio, o que pode ocultar novos contedos.
Outro problema que esta proposta objetiva amenizar, a recomendao sempre de artigos muito
antigos, por serem artigos bem citados e referenciados, ocultando novos artigos que podem trazer
contribuies relevantes aos usurios. Na avaliao da proposta utilizada a mtrica Recall. Este
trabalho se diferencia da proposta desta pesquisa por apresentar um sistema de recomendao
hbrido e por no utilizar caractersticas do ambiente em nuvem na gerao de recomendaes.

2.4.2

Sistemas de Recomendao em Nuvem

Existem alguns trabalhos na literatura que discutem e apresentam sistemas de recomendao em nuvem. Nesta seo, sero apresentados alguns SRs destacando o modelo de
recomendao utilizado, objetivando avaliar as contribuies e diferenciais desta pesquisa.

42

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS


a) LEE; LEE; LEE (2010), apresentam um sistema de recomendao de canais Televiso
Digital (DTV) em um ambiente em nuvem. Estes propem a anlise, a utilizao dos
padres de visualizaes do usurio no ambiente para personalizar a recomendao
de canais e o uso eficiente dos recursos computacionais do contexto. As recomendaes desta proposta so geradas por meio da tcnica de recomendao baseada
em contedo, onde o sistema analisa as interaes passadas do usurio no ambiente,
tornando essas as preferncias do usurio. Nesse trabalho, so utilizadas tecnologias
de computao em nuvem para realizar a anlise de padres de visualizaes dos
consumidores, com o objetivo de personalizar a recomendao de canais.
A proposta de LEE; LEE; LEE (2010), se assemelha a proposta desta pesquisa por
apresentar um modelo de recomendao em um sistema em nuvem e por ter como
objetivo prover o uso eficiente dos recursos computacionais da nuvem. O sistema de
recomendao para canais de TV Digital poderia ter melhorias significativas fazendo
uso dos critrios propostos nesta pesquisa, como o critrio disponibilidade, desta
forma os canais recomendados seriam os canais que apresentassem as melhores
taxas de disponibilidade podendo utilizar como parmetro de acesso a localidade
e a conexo do usurio. Outro ponto que poderia ser agregado proposta seria
disponibilizar ao prprio usurio a opo de solicitar suas recomendaes para as
preferncias que ele escolhesse e no apenas receber recomendaes de acordo com
suas interaes no sistema. Diante destas observaes, observamos a importncia
de utilizar a disponibilidade dos arquivos na nuvem e a conexo do usurio com o
sistema, para proporcionar a melhor utilizao dos recursos computacionais pelo
usurio.
b) Outro trabalho que pode ser mencionado o de LAI et al. (2011) que apresentam um
sistema de recomendao de programas de televiso (TV) baseado em computao
em nuvem e um framework map-reduce. Esta proposta de arquitetura tem como
objetivo ofertar um backend escalvel para suportar a demanda de processamento de
dados em larga escala para um sistema de recomendao. No que tange os usurios,
LAI et al. (2011), os agrupam de acordo com suas preferncias, cada programa de
TV recebe um peso, que atribudo de acordo com o perodo de tempo que o usurio
o assistiu. A popularidade de um programa indicada pelo seu peso, os programas
populares em um grupo de usurios, so recomendados para usurios de outros
grupos que tenham semelhanas de preferncias entre si. Nesta pesquisa os autores
prope a utilizao de tcnicas de computao em nuvem para lidar com grandes
conjuntos de dados, devido ao seu poder computacional e de estrutura escalvel.
O trabalho de LAI et al. (2011), se torna interessante para est pesquisa por propor
a utilizao de recursos de computao em nuvem para filtrar grandes conjuntos de
dados, com o objetivo de recomendar canais de TV. Uma caracterstica interessante

43

2.4. TRABALHOS RELACIONADOS


desta proposta a relevncia dada a cada canal candidato a ser recomendado. A relevncia atribuda de acordo com a quantidade de tempo que o usurio permaneceu
assistindo um canal, ou seja, o canal ser mais relevante que os demais se o usurio
tiver passado um perodo maior de tempo assistindo-o. Diante desta observao, propomos como critrio de relevncia para os artigos candidatos a serem recomendados,
a quantidade de downloads realizados de um arquivo na nuvem, assim sendo, quanto
mais downloads um arquivo tiver mais relevante socialmente ele ser na nuvem.
c) Outro trabalho relacionado o de KONG; ZHAI (2012) que apresentam um sistema
de recomendao de servios em nuvem, que tem por finalidade recomendar a
usurios da nuvem servios similares as suas preferncias. O sistema baseado em
confiana e orientado a servios de computao em nuvem. A ideia bsica do SR
proposto calcular a confiana de servios em nuvem disponveis, onde o valor da
confiana a combinao de confiana direta e a recomendao de confiana por
parte do usurio.
KONG; ZHAI (2012) utiliza a confiana direta com a recomendao de confiana dos
usurios para gerar recomendaes de servios em nuvem, onde o principal objetivo
recomendar servios que atendam as necessidades e caractersticas do usurio, como,
custo benefcio e segurana. A partir da anlise desse trabalho, foi observado que o
critrio de recomendao de confiana do usurio pode ser utilizado como indicado
de relevncia social, desta forma, um arquivo seria relevante se fosse indicado por
vrios usurios, como indicao nesta pesquisa propomos a utilizao dos downloads
feitos por um usurio. Se um determinado usurio realizar download de um arquivo
em nuvem, ento esse arquivo pode ser recomendado como contedo relevante. Um
ponto a ser discutido na proposta de KONG; ZHAI (2012), a utilizao de aes
comuns em sistemas em nuvem, como por exemplo, o compartilhamento de arquivos,
que pode ser um indicador de recomendao de segurana, baseando-se na hiptese
que um usurio apenas compartilharia contedo relevante e seguro com um contato
seu.
d) JUNG et al. (2013), apresentam a plataforma CloudAdvisor de recomendao em
nuvem. A proposta desta plataforma recomendar configuraes de nuvem de
acordo com as preferncias do usurio como oramento, expectativa de desempenho
e economia de energia para determinada carga de trabalho. Permitindo ainda que o
usurio faa comparao das recomendaes recebidas, como qual o melhor preo
para a carga de servio desejada. A plataforma tem como objetivo auxiliar o usurio
na escolha dos melhores servios e proporcionar aos provedores de servio em nuvem
oportunidade de adequao as expectativas e preferncias dos usurios.
A proposta de JUNG et al. (2013) recomenda servios a usurios baseando-se em
caractersticas fornecidas pelo prprio usurio, como a expectativas de desempenho,

44

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS


expectativa de preo e carga de trabalho. A utilizao de caractersticas de servios
em nuvem que o usurio tenha utilizado pode ser um critrio interessante a ser
adicionado no modelo CloudAdvisor, desta forma, no exigiria que o usurio tivesse
que dedicar certo tempo fornecendo informaes para poder receber a recomendao
do servio em nuvem que melhor se adeque as suas expectativas. O trabalho de JUNG
et al. (2013) motivou est pesquisa a no utilizar o modelo de solicitar caractersticas
e informaes ao usurio para poder montar o seu perfil de preferncias, com o
objetivo de evitar a cansativa e repetitiva tarefa de responder formulrios. Como
preferncias do usurio, adotamos os arquivos salvos na nuvem pelo prprio usurio,
com a tendncia de que se um usurio salva um arquivo em sua conta na nuvem,
isso significa que o contedo deste arquivo de certa forma representa uma de suas
preferncias.

Existem diversos sistemas de recomendao disponveis na Internet, e boa parte destes


sistemas esto relacionados nuvem, seja como parte de sistemas em nuvem ou hospedados
em servidores em nuvem. Muitos deste utilizam dados da nuvem em suas recomendaes ou
caractersticas da nuvem para gerar recomendaes. A proposta desta pesquisa se diferencia
das demais descritas nesta seo por utilizar caractersticas da nuvem na gerao de suas
recomendaes, atribuindo pesos a cada caracterstica. Desta forma, cada critrio parte da
recomendao, que tem como objetivo proporcionar aos usurios a melhor utilizao dos recursos
em nuvem disponveis.

2.4.3

Sistemas de Armazenamento em Nuvem

As maiores empresas da Internet que atuam como fornecedoras de servios em nuvem


e Amazon14 apostam na tecnologia de sistemas de recomendao, a primeira para
recomendar contedo personalizado a seus usurios e a segunda para vender produtos, como
livros e eletrnicos. Por sua vez os servios de armazenamento em nuvem oferecido por
estas empresas, Google Drive15 e Amazon S316 (Simple Storage Systems), no dispem desta
tecnologia para auxiliar os usurios na filtragem de contedo relevante.
Google13

O Amazon S3 s permite que o usurio realize buscas e consultas, ou seja, ele no


oferece o servio de recomendao de arquivos. O mesmo acontece com o Google Drive, que
no disponibiliza o servio de recomendao aos seus usurios. Desta forma, torna-se difcil
e complexa a tarefa de filtragem de contedo relevante em meio imensido de dados que se
forma nos sistemas de armazenamento em nuvem.
13 https://www.google.com.br,

Acessado em 05/12/2013
Acessado em 05/12/2013
15 https://drive.google.com, Acessado em 05/12/2013
16 http://aws.amazon.com/s3/, ltimo acesso em 05/12/2013
14 http://www.amazon.com/,

45

2.5. CONSIDERAES FINAIS

Outros sistemas de armazenamento em nuvem como Dropbox17 , SugarSync18 , Wuala19 ,


iCloud20 , ZipCloud21 , no disponibilizam servios de recomendao de arquivos, o que dificulta
a filtragem de contedo. A partir da anlise realizada, perceptvel que a maioria dos sistemas no
permite e no oferece o servio de recomendao de arquivos. Diante deste cenrio, propomos
um modelo de recomendao voltado para ambientes de armazenamento em nuvem.

2.5

Consideraes Finais

Neste captulo, foi apresentada uma reviso dos conceitos de sistemas de recomendao,
computao em nuvem e sistemas de armazenamento de dados em nuvem. Alm disso, foi
detalhado o processo de um sistema de recomendao, as principais tcnicas utilizadas em
SR, suas principais funcionalidades e alguns sistemas de recomendaes que so utilizados
atualmente no mercado, assim como, alguns dos principais sistemas de armazenamento de dados
em nuvem.
Ainda neste captulo, foram apresentados alguns trabalhos relacionados sistemas de
recomendao em nuvem. A partir da reviso da literatura, foram analisados trabalhos que
apresentam relao com o modelo proposto neste trabalho ou que, de alguma forma, apresentem
contribuies para o desenvolvimento desta pesquisa. Foram realizadas anlises minuciosas na
literatura e nos trabalhos relacionados, com o objetivo de elencar as relaes entre o modelo
proposto, os modelos j validados e em uso na indstria e na comunidade acadmica.
Durante o decorrer desta pesquisa, no foram encontrados trabalhos que proponham
um modelo de recomendao que utilize as mesmas caractersticas da nuvem propostas neste
trabalho. Desta forma, podemos afirmar que esta proposta indita na literatura referente rea
de sistemas de recomendao para ambientes de armazenamento em nuvem.
A pesquisa bibliogrfica ocorreu durante os anos de 2012 e 2013, onde foram selecionados trabalhos relacionados ou com caractersticas semelhantes a proposta desta pesquisa. As
selees foram realizadas nas bibliotecas digitais ACM Library22 , IEEE Xplore Digital Library23 ,
Scopus 24 e Science Direct25 , de onde foram extrados os trabalhos que embasaram o desenvolver
da pesquisa.
Na maioria dos trabalhos analisados, so apresentados modelos e sistemas de recomendao que funcionam em ambientes em nuvem ou que recomendam arquivos e informaes
que esto armazenadas em nuvem. Este trabalho se diferencia dos demais por apresentar uma
17 http://www.dropbox.com,

Acessado em 05/12/2013
Acessado em 05/12/2013
19 http://www.wuala.com/, Acessado em 05/12/2013
20 https://www.icloud.com/, Acessado em 05/12/2013
21 http://www.zipcloud.com/, Acessado em 05/12/2013
22 http://dl.acm.org/, ltimo acesso em 08/12/2013
23 http://ieeexplore.ieee.org/, ltimo acesso em 08/12/2013
24 http://www.scopus.com/, ltimo acesso em 08/12/2013
25 http://www.sciencedirect.com/, ltimo acesso em 08/12/2013
18 http://www.sugarsync.com/,

46

CAPTULO 2. FUNDAMENTAO TERICA E TRABALHOS RELACIONADOS

proposta de modelo para recomendao de arquivos em sistemas de armazenamento em nuvem


que, utilize caractersticas da nuvem associadas tcnica de recomendao baseada em contedo.
No prximo captulo ser apresentado o modelo proposto por este trabalho.

47

3
RecCloud
Durante todo o perodo de execuo deste trabalho, foram realizados estudos e pesquisas
que tiveram como principal finalidade elaborar uma modelo capaz de gerar recomendaes de
arquivos para ambientes de armazenamento em nuvem. Para isto, foram realizados estudos
nas bibliografias pertinentes a este tema e os resultados destes estudos serviram para que fosse
possvel elaborar o modelo baseado em caractersticas da nuvem. Deste modo, este captulo
destinado a descrever o modelo proposto nesta pesquisa.

3.1

Proposta

A partir da anlise da literatura e dos sistemas de armazenamento em nuvem mais


populares e utilizados atualmente, notrio que esses sistemas no fornecem ao usurio o
servio de recomendao de arquivos. Na maioria dos sistemas de armazenamento em nuvem, a
filtragem de contedo realizada por sistemas de busca, onde o usurio fornece termos chaves
e o sistema retorna arquivos com o ttulo ou contedo similar aos termos apresentados pelo
usurio.
Por outro lado, a enorme quantidade de sistemas de recomendao que rodam em nuvem,
no utilizam caractersticas da nuvem na gerao de suas recomendaes. Esses sistemas
normalmente possuem como objetivo recomendar itens que atendam as preferncias dos usurios,
sem considerar requisitos do ambiente. Neste trabalho investiga-se a utilizao de caractersticas
da nuvem que podem ser usadas no processo de recomendao de arquivos em ambiente de
armazenamento em nuvem.
O modelo proposto nesta pesquisa foi denominado de RecCloud: Um Modelo de Recomendao de Arquivos Para Sistemas de Armazenamento em Nuvem. O processo de recomendao modelado neste trabalho formado por caractersticas da nuvem associadas a tcnica de
recomendao baseada em contedo.

48

3.2

CAPTULO 3. RECCLOUD

O Modelo de Recomendao

O modelo de recomendao proposto composto por cinco critrios, que foram utilizados
no processo de recomendao. Os critrios propostos foram definidos a partir da observao de
sistemas de armazenamento em nuvem. Os critrios so: Similaridade, Disponibilidade, Taxa de
Download, Tamanho do Arquivo e Popularidade do Arquivo.
A seguir foram detalhados cada critrio e o seu respectivo clculo:


critrio Similaridade: Este critrio atende ao requisito referente s preferncias do


usurio, neste critrio calculado a similaridade entre o contedo de um arquivo
no qual o usurio tenha demostrado preferncia e arquivos armazenados em nuvem,
que so candidatos a serem recomendados. Para calcular a similaridade entre os
contedos dos arquivos, proposto a utilizao da tcnica de similaridade do cosseno,
que retorna um valor entre 0 (zero) e 1 (um) BAEZA-YATES; RIBEIRO-NETO
(1999). Esta abordagem foi proposta por ser bastante utilizada e citada na literatura
para a avaliao de semelhana entre dois itens CHEN; HUANG; HUANG (2009)
LEE; LEE; LEE (2010) YU; ZHOU (2004). O clculo de similaridade do cosseno
apresentado pela Equao 3.1:
St = cos( ) =

AB
kAkkBk


3.1

Na Equao 3.1 calculada a similaridade entre dois arquivos onde o contedo de


cada um representando por um vetor (vetores A e B), de onde se obtm o produto de
A e B e calcula-se a magnitude dos vetores A e B. Tais magnitudes so multiplicadas
e divididas pelo produto escalar dos vetores A e B. Os arquivos que sejam similares
ao arquivo que represente as preferncias do usurio sero ranqueados de acordo
com o seu grau de similaridade, ou seja, quanto maior o score de similaridade do
arquivo, melhor ranqueado ele ser em referncia aos demais similares a ele. Por
exemplo, caso o SR encontre dois arquivos A e B, estes similares s preferncias
do usurio e com score de similaridade igual a arquivo A = 0.8 e arquivo B = 0.5,
neste cenrio o arquivo A ser melhor ranqueado que o arquivo B no critrio
similaridade. A similaridade entre o contedo dos arquivos a serem recomendados
com um arquivo que o usurio tenha demostrando interesse, torna-se imprescindvel
neste modelo de recomendao. Para tanto objetiva atender as preferncias dos
usurios em relao filtragem por contedo relevante em meio a uma grande massa
de dados.


Critrio Disponibilidade: Refere-se ao tempo em que um arquivo estar disponvel


para o usurio. A disponibilidade, neste modelo, medida em horas, ou seja a
quantidade de horas em que um arquivo a ser recomendado est disponvel na nuvem.

49

3.2. O MODELO DE RECOMENDAO


Um arquivo s deve ser recomendado ao usurio se o mesmo estiver disponvel
e possibilitando o seu download. O critrio disponibilidade representa uma das
principais caractersticas e anseios quanto tecnologia de computao em nuvem. A
maioria dos usurios que migram para a nuvem so atrados pela oferta de altas taxas
de disponibilidade, elasticidade e mobilidade, que torna possvel armazenar arquivos
em grande quantidade e que estejam disponveis e acessveis a qualquer momento a
partir da conexo com a Internet CARVALHO (2012) MELL; GRANCE (2009). O
clculo do critrio disponibilidade apresentado na Equao 3.2:
 
1
Dp = Dh
n


3.2

No clculo do critrio disponibilidade, Dh a quantidade horas em que um arquivo


est disponvel na nuvem, e n representa a quantidade de horas em que um arquivo
pode ficar disponvel na nuvem. Caso a nuvem fique online durante todo o dia, n
ser igual a 24 (vinte e quatro) horas, a quantidade de horas de disponibilidade
normalizada em um valor entre 0 (zero) e 1 (um). O exemplo a seguir demonstra como
o critrio disponibilidade contribui para a gerao de uma recomendao. Considere
que dois arquivos A e B so similares, o arquivo A est disponvel na nuvem no
intervalo de tempo 14 s 16 horas, totalizando duas horas de disponibilidade. O
arquivo B est disponvel na nuvem de 14 s 18 horas, totalizando quatro horas de
disponibilidade. Desta maneira, o arquivo que ser melhor ranqueado o arquivo B,
por estar disponvel na nuvem por um tempo superior que o arquivo A, permitindo o
seu download em um espao de tempo maior. O objetivo central diminuir o risco
de o usurio no poder realizar o download e garantir que um arquivo recomendado
esteja sempre acessvel ao usurio.

Critrio Taxa de Download: Refere-se taxa disponvel para a realizao do download de um arquivo na nuvem. O objetivo que arquivos que proporcionam melhores
condies para a reduo no tempo gasto no download sejam melhor ranqueados
que os demais arquivos. A contribuio deste critrio na reduo do tempo gasto
no download de um arquivo recomendado produzida em conjunto com o critrio
Tamanho do Arquivo, apresentado no prximo item. Por exemplo, no caso de
termos dois arquivos similares s preferncias do usurio, onde o arquivo A tem o seu
tamanho igual a 10 (dez) Gigabytes e o arquivo B tem o seu tamanho igual a 2 (dois)
Gigabytes, o arquivo A ser melhor ranqueado que o arquivo B, por proporcionar
uma maior economia no tempo gasto em seu download. A taxa de download pode
modificar o ranque de recomendaes dependendo do momento em que a recomendao for calculada, principalmente em ambientes onde a taxa de download oscilante.
Este critrio tem valor de 0 (zero) a 3 (trs) Megabits por segundo (Mbps), este valor

50

CAPTULO 3. RECCLOUD
representa a media global de taxa de downloads apresentada pela Akamai 1 . Este
critrio calculado pela Equao 3.3:
 
1
T d = ns
n


3.3

Na Equao 3.3 a Taxa de Download representada por T d, onde ns representa


taxa de download em Mbps, em seguida este valor normalizado em um valor entre
0 (zero) e 1 (um), onde n representa o valor da media global de taxa de downloads
em Mbps.


Critrio Tamanho do Arquivo: Este critrio corresponde ao tamanho do arquivo


candidato a ser recomendado, e tem como objetivo contribuir na tarefa de amenizar
o tempo gasto no download de um arquivo recomendado. Como explicado no item
critrio Taxa de Download, o critrio Tamanho do Arquivo, est diretamente
relacionado com o critrio que mensura a taxa de download disponvel. O ranque
de recomendao mudar de acordo com a taxa disponvel para download, caso a
taxa de download seja baixa, os arquivos com tamanho menores devem ser melhor
ranqueados que seus similares que so maiores. Da mesma forma, quando a taxa de
download alta, os arquivos com tamanhos maiores devem ser recomendados no
topo do ranking. Exemplificando sobre o ranqueamento deste critrio considerando
que, um arquivo A similar ao arquivo B, o arquivo A tem o tamanho igual a 9
(nove) Gigabytes. O arquivo B tem tamanho igual a 2 (dois) Gigabytes. Desta forma,
o arquivo B ser mais bem ranqueado por apresentar melhores condies para a
realizao do seu download (menor tamanho), considerando que a taxa de download
seja baixa. O clculo deste critrio realizado pela Equao 3.4:
 
1
S=T
n


3.4

Na Equao 3.4 o critrio Tamanho do Arquivo representado por S. O tamanho


do arquivo medido em Gigabytes (GB), pelo fato de que boa parte dos sistemas de
armazenamento em nuvem limita o tamanho mximo de um arquivo que pode ser
salvo em nuvem e o espao disponvel para o usurio no sistema em Gigabytes. O
tamanho do arquivo multiplicado por 1n , para que seja normalizado por um valor
de 0 (zero) a 1 (um), o valor 1 (um) divido por n que o tamanho mximo de um
arquivo aceito no sistema de armazenamento em nuvem utilizado para implantao
do modelo.


Critrio Popularidade do Arquivo: Este critrio representa a importncia social


de um arquivo na nuvem, avaliado por meio da quantidade de downloads que foram

1 http://www.akamai.com/stateoftheinternet/

Acessado em 27/11/2013

51

3.2. O MODELO DE RECOMENDAO


realizados de um mesmo arquivo. Quanto maior a quantidade de downloads
realizados de um arquivo, maior ser a popularidade desse arquivo na rede, resultando
em um melhor ranqueamento deste arquivo. Um exemplo sobre o ranqueamento
deste critrio: um arquivo A similar ao arquivo B, o arquivo A j teve 10 (dez)
downloads realizados, e o arquivo B j teve 16 (dezesseis) downloads realizados.
Desta forma, o arquivo B ser melhor ranqueado, por obter um nmero maior de
downloads efetuados no sistema de armazenamento em nuvem que o arquivo A. O
clculo deste critrio representado pela Equao 3.5:
 
1
R = Qd
n


3.5

Na Equao 3.5 o critrio Popularidade do Arquivo representado por R. A cada


download realizado de um determinado arquivo, o contador de downloads desse
arquivo incrementado em 1 (um). Este valor medido de 0 (zero) a n, onde n a
maior quantidade de downloads realizados em um nico arquivo no sistema, o valor
de n obtido na observao do histrico de downloads de arquivos no sistema de
armazenamento em nuvem. No clculo do critrio, a quantidade de downloads de um
arquivo Qd normalizada, multiplicando Qd por 1n , desta forma o valor resultante
deste critrio ser entre 0 (zero) e 1 (um).

3.2.1

Pesos dos Critrios

Em um mecanismo de recomendao os critrios devem ser ponderados por pesos, para


compor o score de recomendao, resultando em um ranking com os itens que devem ser
recomendados ao usurio. No modelo proposto nesta pesquisa, foram definidos pesos para cada
critrio, com base na relevncia do critrio na construo do objetivo da proposta do modelo. A
partir da realizao de testes de execuo no clculo de recomendao que ser apresentado na
subseo 3.2.2, com diferentes pesos, propomos a utilizao dos pesos descritos na Tabela 3.1.
Os testes realizados tiveram como objetivo verificar a variao no resultado do score final de
recomendao e quais pesos apresentaria a menor variao no score. Desta forma, os arquivos
recomendados no apresentariam uma grande variao de similaridade com as preferncias dos
usurios. Os pesos propostos para cada critrio so apresentados na Tabela 3.1.
Tabela 3.1: Pesos dos Critrios

Critrio
Similaridade
Disponibilidade
Taxa de Download
Tamanho do Arquivo
Popularidade do Arquivo

Peso
4
2
2
1
1

52

CAPTULO 3. RECCLOUD
A seguir detalhamos a ponderao dos pesos para cada critrio.


Similaridade: tem peso 4 (quatro), para garantir que o contedo de um arquivo


recomendado ao usurio seja similar as suas preferncias. Outro ponto motivador para
o critrio similaridade corresponder a 40% do score de recomendao o objetivo de
amenizar ou solucionar um dos principais problemas da tcnica de recomendao
baseada em contedo, que a sugesto de itens sempre muito parecidos, limitando os
usurios de conhecer novos contedos RICCI et al. (2011) STORMER H.; WERRO;
RISCH (2006) VIEIRA (2013). Desta forma, o nosso modelo de recomendao
atender as preferncias do usurio e ao mesmo tempo estar recomendando novos
contedos que so relacionados aos contedos de preferncia do usurio. O critrio
Similaridade medido de 0 (zero) a 1 (um), um arquivo que possua similaridade igual
a 0 (zero) em comparao as preferncias do usurio, somente ser recomendado
caso ele tenha uma alta taxa de popularidade na rede, e mesmo assim, o arquivo no
ser bem ranqueado em relao aos demais que apresentem alguma similaridade com
as preferncias do usurio.
Disponibilidade: tem peso 2 (dois), este um dos critrio mais importante do
modelo proposto, por representar o tempo em que um arquivo est disponvel na
nuvem, tornando possvel o download de um arquivo recomendado. Este critrio
relevnte para a recomendao de arquivos baseada em caractersticas da nuvem, por
representar uma das principais caractersticas e vantagens da utilizao de sistemas
de armazenamento em nuvem. O valor do critrio Disponibilidade ser de 0 (zero) a
1 (um), um arquivo somente poder ser recomendado ao usurio, se o mesmo estiver
disponvel.
Taxa de Download: tem peso 2 (dois). Este critrio ter o seu valor medido de
0 (zero) a 1 (um). Um arquivo que possua uma baixa taxa de download e seu
tamanho seja maior que o tamanho dos demais arquivos similares a ele, o seu score
de recomendao ser menor, e consequentemente ele no ser to bem ranqueado
quanto seus similares, porque o seu processo de download demandar mais tempo e
processamento. Um arquivo com baixa taxa de download poder aparecer no topo do
ranking de recomendao, desde que seu tamanho seja proporcional. Para que um
arquivo na nuvem se torne recomendvel, esse critrio deve ser maior que 0 (zero),
desta forma ser possvel realizar o download do arquivo.
Tamanho do Arquivo: possui peso 1 (um). Este critrio tem peso inferior aos
demais critrios, por no ser um critrio crtico. Assim, um arquivo que tenha o
tamanho igual ao mximo aceito pelo ambiente, poder ser recomendado se a sua
taxa de download for alta, garantindo bom desempenho no download do arquivo.

53

3.2. O MODELO DE RECOMENDAO




3.2.2

Popularidade do Arquivo: atribudo o peso 1 (um). Este critrio tem o seu peso
inferior aos demais critrios, por no ser um critrio crtico. Portanto, um arquivo
que no seja popular na nuvem poder ser recomendado ao usurio, o mesmo ocorre
com os arquivos novos na rede, se o arquivo for bem ranqueado nos outros critrios
do modelo.

Clculo de Recomendao

Nesta subseo apresentamos o clculo de recomendao, que consiste na ponderao


dos critrios com os seus pesos. O clculo das recomendaes representado pela Equao 3.6:
 
1
RecScore = (((Dp d) (T d t) (Ta a)) ((S s) + (R r)))
n


3.6

No clculo apresentado, o score de recomendao igual ao resultado da ponderao dos


critrios por seus respectivos pesos. A partir dos critrios ponderados por seus pesos, o modelo
multiplica o critrio Disponibilidade Dp pelo critrio Taxa de Download T d, o produto desta
multiplicao subtrado pelo critrio Tamanho do Arquivo Ta, o resultado multiplicado pelo
critrio Similaridade S somado ao critrio Popularidade do Arquivo R. Aps este processo o

resultado obtido normalizado entre 0 (zero) e 1 (um) por 1n , onde n o valor total que a
primeira parte da equao pode atingir antes da normalizao, neste caso n ser igual a 20 (vinte).
Desta forma, o score de recomendao ser sempre um valor entre 0 (zero) e 1 (um).
O critrio Popularidade do Arquivo somado ao critrio Similaridade, com o objetivo
de recomendar arquivos que atendam aos requisitos propostos no modelo e, que arquivos que
sejam mais relevantes na nuvem, sejam melhores ranqueados no ranking de recomendao. O
critrio Tamanho do Arquivo penaliza os critrios Disponibilidade e Taxa de Download, com
o objetivo de proporcionar ao usurio melhores condies para a realizao do download do
arquivo recomendado. Resultando na diminuio do tempo gasto no download e recomendando
arquivos que tenham maior taxa de disponibilidade na nuvem. Cada arquivo candidato a
recomendao receber um score, em seguida ser criado um ranque de recomendao com os
arquivos ordenados do maior para o menor score, destes, os arquivos que obtiverem os maiores
scores sero recomendados ao usurio.

3.2.3

Exemplo do Clculo de Recomendao

Nesta subseo, ser abordado um exemplo da aplicao do clculo de recomendao


do modelo apresentado neste captulo. Na tabela ??, apresentamos um exemplo utilizando um
usurio. Neste cenrio, temos o clculo de 10 (dez) recomendaes, com a participao de um
usurio A, as preferncias do usurio so representadas pelo arquivo 01. O sistema calcula
o score de recomendao a partir dos valores de cada critrio. So calculadas recomendaes
utilizando 10 (dez) arquivos distintos: arquivo 02, arquivo 03, arquivo 04, arquivo 05, arquivo

54

CAPTULO 3. RECCLOUD

06, arquivo 07, arquivo 08, arquivo 09, arquivo 10 e arquivo 11. A seguir na Tabela ??, consta o
valor de cada critrio utilizado neste exemplo e o resultado do score de recomendao aps a
aplicao da Equao 3.6, que calcula as recomendaes do modelo RecCloud.
Tabela 3.2: Exemplo do Clculo de Recomendao do Modelo RecCloud.

Arquivos em Nuvem
Arquivo 02
Arquivo 03
Arquivo 04
Arquivo 05
Arquivo 06
Arquivo 07
Arquivo 08
Arquivo 09
Arquivo 10
Arquivo 11

Dp
1.0
0.9
0.0
0.5
0.4
0.2
0.6
0.9
1.0
1.0

Td
1.0
1.0
0.6
0.2
0.5
0.7
0.9
0.1
1.0
1.0

S
0.5
1.0
0.4
0.2
0.1
0.3
0.3
0.0
1.0
0.0

Sd
1.0
0.9
0.6
0.4
0.0
0.2
0.8
0.0
1.0
1.0

R
1.0
0.6
0.0
0.8
0.4
0.5
0.0
0.7
1.0
1.0

Score
0.8
0.5
0.0
0.0
0.0
0.0
0.2
0.0
0.7
1.0

Na Tabela ??, foram apresentados os valores utilizados neste exemplo e o resultado do


score de recomendao de cada arquivo. A partir da anlise dos resultados apresentados, podemos
inferir que, o ranking de recomendaes para as preferncias do usurio A, representado pelo
Arquivo 01, seria apresentado da seguinte forma:
Tabela 3.3: Arquivos Recomendados

Critrio
Arquivo 11
Arquivo 02
Arquivo 10
Arquivo 03
Arquivo 08

Peso
1
0.8
0.7
0.5
0.2

Na Tabela 3.3, foi apresentada a ordenao em forma decrescente das recomendaes


geradas, esta a ordem dos arquivos em que o usurio A receberia como resultado da sua
solicitao por recomendaes a partir das preferncias apresentadas por ele. Na ordenao
apresentada na Tabela 3.3, so apresentados 5 (cinco) dos 10 (dez) arquivos utilizados no clculo
de recomendaes.
O Arquivo 04 no foi apresentado na lista de recomendaes porque o seu score foi
igual a 0 (zero), porque a sua taxa de disponibilidade igual a 0 (zero), desta forma o arquivo
no est indisponvel na nuvem. Arquivos com score de recomendao igual a 0 (zero), no
devem ser recomendados.
O Arquivo 05 no foi apresentado na lista de recomendaes porque o seu score foi
igual a 0 (zero), justifica-se por sua baixa taxa de download que foi desproporcional ao tamanho
do arquivo.

55

3.3. DETALHES DA IMPLEMENTAO

O Arquivo 06 no foi apresentado na lista de recomendaes porque o seu score foi


igual a 0 (zero), isso por no possuir similaridade com as preferncias do usurio e por apresentar
uma baixa taxa de disponibilidade.
O Arquivo 07 no foi apresentado na lista de recomendaes porque o seu score foi
igual a 0 (zero), por sua baixa taxa de disponibilidade e, pouca similaridade com as preferncias
do usurio.
O Arquivo 09 no foi apresentado na lista de recomendaes porque o seu score
foi igual a 0 (zero), por sua baixa taxa de download e, por no possuir similaridade com as
preferncias do usurio.

3.2.4

O Processo de Recomendao

Nesta seo, apresentado o processo de recomendao do modelo proposto e do


modelo baseado puramente em contedo. Na Figura 3.1, apresentado parte do processo de
recomendao do modelo RecCloud, o processo apresentado corresponde ao critrio Similaridade,
que utiliza a tcnica de recomendao baseada em contedo.

Figura 3.1: Processo de Recomendao Baseado em Contedo.

Na Figura 3.1, o usurio elcita suas preferncias atravs do Arquivo A, o mecanismo


de recomendao compara o contedo do Arquivo A com o contedo dos demais arquivos no
ambiente e recomenda ao usurio o Arquivo C, por possuir o contedo mais similar ao contedo
do arquivo de sua preferncia. Na Figura 3.2, apresentamos o processo de recomendao
completo do modelo RecCloud.
Na Figura 3.2, o usurio elcita suas preferncia atravs do Arquivo Y, em seguida o
modelo comea a calcular o score de recomendao de um arquivo da nuvem Arquivo X. O
score de recomendao composto por 5 (cinco) critrios de recomendao, aps ser calculados
o modelo gera um score final de recomendao e em seguida recomendado um arquivo (Arquivo
X) ao usurio.

3.3

Detalhes da Implementao

O modelo foi implementado a partir do sistema de recomendao baseado em contedo


do sistema Ustore. Foram implementados os critrios propostos no modelo RecCloud e o clculo

56

CAPTULO 3. RECCLOUD

Figura 3.2: Processo de Recomendao RecCloud.

de recomendao do modelo.

3.3.1

Ustore

O Ustore uma ferramenta de armazenamento em nuvem baseada em uma arquitetura


P2P hbrida que tem como objetivo armazenar dados com baixo custo e de forma que os mesmos
no se tornem indisponveis com eventuais problemas na rede ASSAD R. MACHADO (2012).
Os dados a serem armazenados so quebrados em pedaos menores de tamanho pr-definido,
chamados de chunks. Os chunks so armazenados em outros peers da rede, utilizando para isto
os recursos ociosos disponveis na rede. Estes peers podem, por exemplo, ser computadores da
prpria empresa utilizados para outros fins, mas que possuam espao livre em disco, suficientes
para serem compartilhados. A utilizao deste modelo faz com que o Ustore garanta um baixo
custo para o armazenamento em nuvem MACHADO (2013).

3.3.2

Arquitetura do Ustore

A arquitetura do Ustore consiste de uma arquitetura P2P hbrida em trs camadas, onde
h peers representando papis distintos compondo a soluo final. Os peers so agrupados
em federaes de dados, o que traz diversas vantagens, como, minimizar a sobrecarga na rede,
em cada peer e reduzir a quantidade de mensagens trocadas. Este agrupamento permite uma
maior escalabilidade do sistema, j que no h limites para a quantidade de federaes criadas
DURO F. ASSAD (2013) MACHADO (2013) SILVA A. MACHADO (2013).
A comunicao entre as entidades internas do sistema feita atravs da plataforma
JXTA2 . O JXTA um projeto de software livre de protocolos P2P baseados em mensagens
XML para o desenvolvimento de aplicativos distribudos, permitindo que qualquer dispositivo
conectado em uma rede, independente de sua plataforma, natureza, ou protocolo de rede possa
interagir, compartilhar recursos, e formar uma rede distribuda, descentralizada e cooperativa.
Os peers podem possuir capacidades computacionais distintas, uma das grandes vantagens de
2 http://java.net/projects/jxta,

Acesso em 20/03/2014

57

3.3. DETALHES DA IMPLEMENTAO

JXTA garantir o uso racional e adequado dos recursos sem abrir mo da portabilidade HEISS
(2005). A Figura 3.3 representa a arquitetura do JXTA.

Figura 3.3: Arquitetura do JXTA HEISS (2005).

Cada peer JXTA cria uma rede sobreposta virtual, permitindo a interao com outros
pares normalmente inacessveis, como os protegidos por dispositivos reguladores de trfego ou
que utilizem outro tipo de transporte de rede. Estes peers tambm podem ser organizados em
grupos de uma forma descentralizada BAROLLI; XHAFA (2011). Na Figura 3.4 apresentada
os tipos de peers do Ustore SILVA A.; MEIRA (2012):

Figura 3.4: Arquitetura do Ustore SILVA A.; MEIRA (2012).

Cliente Ustore: Os clientes so os responsveis por armazenar os chunks dos arquivos, atravs deles que os usurios podem solicitar operaes de backup e recuperao de arquivos. Cada cliente possui um horrio de funcionamento determinado

58

CAPTULO 3. RECCLOUD
inicialmente, que utilizado para garantir a disponibilidade dos dados. No Ustore os
clientes para armazenar os chunks so escolhidos atravs de um algoritmo estatstico
que localiza os clientes que possuem o horrio de funcionamento similar ao horrio
determinado inicialmente ao cliente, desta forma o Ustore garante a disponibilidade
dos arquivos no horrio determinado DUARTE (2010). Com o objetivo de garantir
uma maior taxa de disponibilidade, os chunks so replicados dentro da prpria rede
MACHADO (2013).


3.3.3

Servidor Ustore: Os servidores so os peers que disponibilizam os servios para


serem utilizados pelos clientes e compem as federaes. O Ustore adota uma
proposta de criao de nveis hierrquicos que implementam servios bem definidos
e que podem crescer horizontalmente MACHADO (2013).
Super peer: responsvel por informar aos clientes, onde esto os servidores e
permite a troca de mensagens entre clientes que estejam em redes diferentes. O
papel do super peer definir as federaes de dados quando cada cliente solicita
conexo rede. Outra funo deste peer escolher dinamicamente os clientes e
servidores das federaes baseando-se em um algoritmo de proximidade DUARTE
(2010) MACHADO (2013).

Sistema de Recomendao do Ustore

O mecanismo de recomendao do Ustore baseado em contedo, onde so realizadas


recomendaes com base nas preferncias que o usurio tenha demonstrado interesse no passado.
No SR do Ustore, as preferncias do usurio so representadas por arquivos que o usurio salvou
em sua conta no sistema. O SR apresenta recomendaes baseada na similaridade entre o arquivo
de preferncia do usurio e os arquivos armazenados na nuvem. Para que o usurio receba uma
recomendao, ela deve ser solicitada a partir de um arquivo em sua conta.
O usurio solicita recomendaes para um determinado arquivo, e recebe recomendaes
de arquivos armazenados no sistema, assim, o sistema de recomendao entende que o arquivo
para qual foi solicitado recomendaes representa as preferncias do usurio.
No Ustore as recomendaes so ordenadas de forma decrescente, de acordo com o
grau de similaridade entre os arquivos recomendados e as preferncias do usurio, que obtida
pela tcnica de Similaridade do Cosseno. A similaridade calculada a partir do contedo dos
arquivos, que so extrados pelo Apache Lucine verso 3.63 e o Apache Tika verso 1.24 .


Apache Lucene: O Apache Lucene uma biblioteca de cdigo aberto para consultas
full-text desenvolvida em Java. O principal objetivo do Lucene adicionar a funcionalidade de busca de forma fcil para uma aplicao ou pginas web. A biblioteca

3 https://lucene.apache.org/core/
4 http://tika.apache.org/

Acesso em 15/03/2014
Acesso em 15/03/2014

59

3.3. DETALHES DA IMPLEMENTAO


composta por 2 (dois) mdulos principais (indexao e busca). Na indexao so
processados os dados originais gerando uma estrutura de dados inter-relacionada para
a pesquisa por palavras-chave. No mdulo de busca realizada a consulta ao ndice
pelas palavras inseridas em uma consulta e organiza os resultados pela similaridade
do texto com as palavras da consulta. O Lucene permite que o desenvolvedor crie um
sistema de busca sem a necessidade de conhecer as rotinas e algoritmos de indexao
e busca, sendo necessrio utilizar apenas a API do Lucene MACHADO (2013). O
Apache Lucene utiliza uma estrutura de dados conhecida como ndice invertido, desta
forma, cada termo adicionado possui uma referncia para o documento que o contm.
Os ndices invertidos so estruturas compostas por duas partes, so o vocabulrio
e as ocorrncias. O vocabulrio incorpora o conjunto de todas as palavras distintas
existentes no documento, para cada palavra do vocabulrio so construdas listas que
contm as exatas posies nas quais aparecem dentro do texto. A ocorrncia o
conjunto de todas as listas, em uma coleo de documentos, para cada palavra existente armazenado tambm o nmero do documento no qual ocorre. A busca em um
arquivo invertido se d atravs da verificao das entradas do arquivo e a recuperao
de todos os documentos que contm em seu corpo o termo usado BAEZA-YATES;
RIBEIRO-NETO (1999). Para cada documento no resultado de uma busca atribudo

Figura 3.5: ndice invertido no Apache Lucene HATCHER; GOSPODNETIC (2004).

uma pontuao que representa a similaridade do documento com os termos usados na


consulta. O clculo dessa pontuao feito baseando-se no modelo de recuperao
de informao escolhido. O Apache Lucene suporta alguns modelos, como, por
exemplo, Modelo Espao Vetorial, Modelo Probalstico (Exemplo: Okapi BM25 e
DFR) e o Modelo baseado em Linguagem Natural. Na Figura 3.6, apresentada a
arquitetura do Apache Lucene.
O Apache Lucene no possui um parser prprio, desta forma, foi necessrio utilizar
outra biblioteca que tivesse parser prprio. No Ustore foi utilizado o Apache Tika,
que um detector e extrator de contedo e texto estruturado em arquivos de diversos

60

CAPTULO 3. RECCLOUD

Figura 3.6: Arquitetura do Apache Lucene HATCHER; GOSPODNETIC (2004).

formatos arquivos.


Apache Tika: um kit de ferramentas para a extrao de metadados e contedo de


diversos tipos de arquivos. A extrao do contedo feita por parsers especficos
para cada tipo de arquivo. O Apache Tika fornece uma API padro e faz uso de
bibliotecas de terceiros para fazer a extrao do contedo, como as bibliotecas POI5
e a PDFBox6 , que so utilizadas para extrair contedo de arquivos Word, Excel,
PowerPoint e PDF.
A Figura 3.7, apresenta a arquitetura do Apache Tika, nela possvel identificar a
camada Tika Facade que responsvel por receber o arquivo que ser processado,
identificar o tipo do mesmo, o seu idioma e selecionar um parser adequado para
extrair seu contedo.

3.3.4

Implementao dos Critrios

Os critrios propostos no modelo RecCloud, foram implementados e adicionados ao


sistema de recomendao do Ustore. A seguir descrito como ocorreu implementao de cada
critrio do modelo proposto:


Critrio Similaridade: o critrio Similaridade utilizado foi do SR do sistema Ustore,


onde feita o uso da tcnica de Similaridade do Cosseno para comparar o contedo
dos artigos.

5 http://poi.apache.org/

Acessado em 15/03/2014
Acessado em 15/03/2014

6 http://pdfbox.apache.org/

61

3.3. DETALHES DA IMPLEMENTAO

Figura 3.7: Arquitetura do Apache Tika MATTMANN; ZITTING (2011).

Critrio Disponibilidade: No Ustore cada cliente possui um horrio de funcionamento determinado inicialmente, que utilizado para garantir a disponibilidade. Para
chegar ao valor da taxa de disponibilidade de um cliente, subtramos o tempo total
possvel para um cliente estar disponvel em um dia (24 horas), pelo tempo em que o
cliente ficou off-line. Desta forma, obtemos a quantidade de horas em que um cliente
esteve disponvel durante o dia. O clculo apresentado na Equao 3.7:
Dh = (Ht Ho)


3.7

Na Equao 3.7, Dh a disponibilidade do cliente em horas, igual h Ht total de


horas em que o cliente pode ficar on-line em determinado espao de tempo, subtrado
pela quantidade de horas que o cliente ficou off-line Ho.
No Ustore consideramos a utilizao de um sistema de replicao de dados, desta
forma, enquanto estiverem clientes on-line na nuvem, os arquivos armazenados nela
estaro disponveis. Diante disso, calculamos a mdia de disponibilidade para os
clientes da nuvem. O clculo da mdia de disponibilidade apresentado na Equao
3.8:

n Dh
Md = i=0
3.8

n
A mdia de disponibilidade igual soma da disponibilidade em horas Dh de todos
os clientes, dividida pela quantidade de clientes n. Desta forma, a disponibilidade
em horas de um arquivo Dh ser igual a mdia de disponibilidade da nuvem Md.

62

CAPTULO 3. RECCLOUD
Na Figura 3.8 ilustrado o processo do clculo do critrio Disponibilidade, onde
calculada a mdia da disponibilidade dos clientes no Ustore.

Figura 3.8: Processo do Critrio Disponibilidade.

Critrio Taxa de Download: A Taxa de Download obtida a partir da observao


do download de um arquivo qualquer, a partir de informaes sobre o tempo gasto
no download do arquivo e seu tamanho, chegamos taxa de download da rede em
Kilobits. Para termos de avaliao, a taxa mxima de download utilizada foi a mdia
global de taxa de downloads 3 (trs) Megabits por segundo. Caso a taxa do usurio
apresente um valor maior que a mdia global, o critrio Taxa de Download ser
igual a 1 (um), representa que este critrio recebeu o valor mximo no clculo da
recomendao.
Critrio Tamanho do Arquivo: O tamanho do arquivo obtido na base do Ustore
em Kilobytes e convertido em GigaBytes. Para termos de avaliao da proposta, o
tamanho mximo de um nico arquivo no ambiente foi estabelecido em 10 Gigabytes,
desta forma, se um arquivo apresentar tamanho superior ao limite mximo estabelecido, este receber o valor 1 (um), que representa a maior taxa ponderada do critrio
Tamanho do Arquivo.
Critrio Popularidade do Arquivo: A popularidade do arquivo representada pela
quantidade de vezes em que foram realizados download de um arquivo. No Ustore a
quantidade de vezes em que foi realizado o download de um arquivo pode ser obtida
diretamente na base de dados do sistema. Para termos de avaliao desta proposta,
atribumos a quantidade de 10 downloads, como a maior quantidade de downloads
realizados de um nico arquivo na rede.

Aps calculado o valor de todos os critrios, o SR calcula o score de recomendao pela


Equao 3.6.

63

3.4

3.4. CONSIDERAES FINAIS

Consideraes Finais

Este captulo apresentou um modelo de recomendao de arquivos para sistemas de


armazenamento em nuvem, que faz uso da tcnica de recomendao baseada em contedo
associada a caractersticas da nuvem. Foram abordados ainda, o clculo de recomendao, o
processo de recomendao e os detalhes da implementao do prottipo utlizado para testar e
avaliar o modelo proposto. No prximo captulo sero apresentados os testes realizados e seus
resultados.

65

4
Avaliao
Neste captulo, ser apresentada uma srie de testes realizados com o objetivo de avaliar
o modelo de recomendao proposto. A avaliao consiste em diversos testes visando avaliar
diferentes aspectos do modelo RecCloud como, o desempenho do mecanismo de recomendao.
Na literatura podem ser encontradas diversas mtricas para avaliao de mecanismos de
recomendao, algumas das mais conhecidas so preciso, recall, F-measure, curva Roc, mtrica
de Breese, Npdm e o feedback do destinatrio da recomendao SAMPAIO (2006) YAO (1995).
Estas so algumas das opes dentre uma vasta lista de mtricas para avaliar recomendaes.
Herlocker (2000) HERLOCKER (2000) apresenta um estudo avanado sobre esses tipos de
mtricas. Neste trabalho, foram utilizadas as mtricas de preciso, recall, F-measure e tambm
foi avaliado o tempo gasto no download dos artigos recomendados. As tcnicas utilizadas nesse
trabalho foram as que mais se adequaram ao modelo proposto, por analisarem a preciso de cada
ranking de recomendao gerado, alm de mostrar a eficincia do modelo.

4.1

Testes
Os testes foram divididos em 3 (trs) partes:
a) Inicialmente, realizou-se uma anlise das recomendaes geradas, com o objetivo de
avaliar se os arquivos recomendados atendem as preferncias de contedo do usurio;
b) Foram realizados downloads dos arquivos recomendados pelo SR utilizando o modelo
RecCloud e pelo SR baseado puramente em contedo do Ustore. O objetivo foi observar se houve a amenizao do tempo gasto no download dos arquivos recomendados
pelo modelo RecCloud em relao ao SR baseado puramente em contedo;
c) Realizou-se tambm uma anlise das recomendaes para avaliar o desempenho do
mecanismo de recomendao utilizando o modelo proposto.

O objetivo destes experimentos foram avaliar o desempenho do mecanismo de recomendao em um sistema de armazenamento em nuvem, levando em considerao o modelo baseado
em caractersticas da nuvem.

66

CAPTULO 4. AVALIAO

4.2

Coleo de Dados

Para avaliao deste trabalho, foi utilizada uma base de dados composta por 469 (quatrocentos e sessenta e nove) artigos acadmicos publicados nos anos de 2012 e 2013, perodo no
qual se deu o desenvolver desta pesquisa. Os artigos utilizados foram publicados no Simpsio
Brasileiro de Sistemas de Informao e na conferncia ACM Conference on Recommendation
System, disponveis respectivamente nas bibliotecas BDBComp1 e ACM Digital Lybrari2 .
Estes artigos foram utilizados por serem de carter pblico e de fcil acesso, em sua
totalidade formando uma base de dados que tornou possvel a execuo dos testes desse trabalho.
Outro critrio que motivou a utilizao destes artigos foi similaridade entre o contexto dos
artigos publicados na RecSys com os artigos utilizados para representar as preferncias do
usurio, este critrio foi utilizado na gerao da lista de artigos mais relevantes para o ranque de
recomendao.

4.3

Julgamento de Relevncias

Para a realizao dos testes necessrio que os arquivos tenham uma classificao que
indique quais so os mais relevantes para o ranque de recomendao que ser gerado. Para fazer
essa classificao no conjunto de dados foi utilizada a similaridade entre o contexto dos artigos
com o contedo dos artigos utilizados para representar as preferncias do usurio. Desta forma,
todos os artigos que forem relacionados ao termo sistemas de recomendao, foram considerados
relevantes para o ranque de recomendao. As preferncias do avaliador foram representadas
por artigos acadmicos que descrevem sistemas de recomendao. A quantidade de artigos
relevantes utilizados foi de 156 (cento e cinquenta e seis) artigos, representando 33% (trinta e
trs) da base de dados utilizada na realizao dos testes.

4.4

Ambiente de Teste

Os testes foram realizados em um ambiente controlado onde alguns valores foram


simulados (Critrio Popularidade do Arquivo), este critrio foi simulado por no dispormos
de um histrico de utilizao do ambiente utilizado na validao. A principal desvantagem
deste cenrio a no disponibilidade de um histrico real de utilizao do ambiente, porm vale
ressaltar que este cenrio mostrou que a utilizao do modelo proposto pode ser bem sucedida
em novos ambientes com poucas informaes sobre os usurios. Com objetivo de deixar o
ambiente o mais prximo do real, para realizao dos testes foi utilizada uma mquina com 2
(dois) clientes Ustore.
1 http://www.lbd.dcc.ufmg.br/bdbcomp/sbsi
2 http://recsys.acm.org/

67

4.5. MTRICAS DE AVALIAO

Foram armazenados 479 (quatrocentos e setenta e nove) artigos em uma conta de usurio
no sistema de armazenamento Ustore. Em seguida solicitamos recomendaes para 10 (dez)
arquivos diferentes e foram recomendados 100 (cem) artigos pelo sistema. Para representar as
preferncias do usurio foram utilizados artigos escritos sobre esta pesquisa, discorrendo sobre
sistemas de recomendaes.

4.5

Mtricas de Avaliao

Para avaliao deste trabalho foi utilizada a metodologia proposta por Jain em 1991 JAIN
(1991), onde defendido que para realizar uma avaliao preciso definir objetivos, mtricas,
fatores e nveis MACHADO (2013).
As mtricas escolhidas para avaliar o desempenho do modelo RecCloud, esto descritas
a seguir:
a) Preciso: a taxa de itens relevantes recomendados no resultado. dada atravs da
proporo entre o nmero de arquivos relevantes recomendados e o nmero total de
arquivos recomendados BAEZA-YATES; RIBEIRO-NETO (1999) LEE; LEE; LEE
(2010), representada pela Equao 4.1:
| {arquivos relevantes} {arquivos recomendados} |
Preciso =
{arquivos recomendados}
T


4.1

Na Equao 4.1, arquivos relevantes a quantidade de arquivos recomendados que fazem parte do ranking de relevncia apresentado na Tabela ??, e arquivos recomendados
a quantidade de arquivos recomendados para cada solicitao de recomendao. O
resultado representado por valores entre 0 (zero) e 1 (um). Quanto mais prximo
de 1 (um) mais preciso o sistema.
b) Recall: a taxa de itens relevantes recomendados em relao a quantidade total de
itens relevantesLEE; LEE; LEE (2010), dado pela Equao 4.2:
| {arquivos relevantes} {arquivos recomendados} |
Recall =
{arquivos relevantes}
T


4.2

Na Equao4.2, arquivos relevantes a quantidade de arquivos recomendados que fazem parte do ranking de relevncia apresentado no anexo??, e arquivos recomendados
a quantidade de arquivos recomendados para cada solicitao de recomendao. O
resultado representado por valores entre 0 (zero) e 1 (um). Quanto mais prximo
de 1 (um) mais o sistema satisfaz a solicitao da recomendao.
c) F-measure: a mdia ponderada da preciso e recall. Pode ser representada pela

68

CAPTULO 4. AVALIAO
Equao 4.3 BAEZA-YATES; RIBEIRO-NETO (1999) LEE; LEE; LEE (2010).
F measure =

(1 + ) preciso recall
( preciso) + recall


4.3

Neste teste as taxas de preciso e recall tm o mesmo fator de importncia, desta


forma o valor de igual a 1 (um). Logo, esta funo s retornar um valor no
intervalo entre 0 (zero) e 1 (um). Maiores valores para a taxa F-measure representa
que o sistema de recomendao oferece resultados mais precisos DURO (2008)
GARCIA et al. (2006) LEE; LEE; LEE (2010).

d) Tempo gasto no Download: foram efetuados downloads dos arquivos recomendados


e medido o tempo gasto para realizar cada download. Os resultados obtidos sero
comparados com o tempo gasto no download de arquivos recomendados utilizando
um modelo baseado em contedo. O tempo total economizado no download na
comparao entre os dois modelo dado pela Equao 4.4.
n

T = Tc Tn
i=0

i=0


4.4

O tempo total amenizado no download dos arquivos recomendados dado pela subtrao do resultado da soma do tempo gasto no download de todas as recomendaes
realizadas pelo modelo RecCloud ni=0 T n pela soma do tempo gasto no download de
todas as recomendaes do modelo utilizado para comparao de resultado ni=0 T c.
Calculada a mdia do tempo economizado no download por recomendao, dado
pela Equao 4.5.

ni=0 T c ni=0 T n
T=
4.5

Nrec
A mdia do tempo amenizado no download de cada arquivo recomendado dada pelo
resultado da soma do tempo gasto em todos os downloads baseadas em caractersticas
da nuvem ni=0 T n subtraido pelo resultado da soma do tempo gasto no download
de todos os arquivos recomendados do modelo utilizado para avaliao ni=0 T c,
dividido pelo nmero total de recomendaes utilizado para a avaliao Nrec.

Como parmetros para comparao, nesta avaliao foram consideradas satisfatrias


taxas de preciso de 0.40 e recall de 0.42, resultados semelhantes obtidos por Blank et al.
(2013)BLANK; ROKACH; SHANI (2013) e Zhang et al. (2013)ZHANG et al. (2013). A partir
destas taxas, foi calculada a taxa de F-Measure. Esta teve como melhor resultado alcanado
0.42, obtido no nvel 3.

69

4.6

4.6. CENRIOS DE AVALIAO

Cenrios de Avaliao

A avaliao foi dividida em 2 (dois) cenrios. A diviso em cenrios tem como objetivo
detalhar o que est sendo avaliado e torna mais fcil o entendimento de todo o processo. Todos
os cenrio e testes deste trabalho foram realizados em um ambiente controlado simulando uma
nuvem. Na execuo dos experimentos em todos os cenrios no foram utilizados usurios reais.
Todos os experimentos foram realizados somente pelo avaliador, em alguns pontos a utilizao
do sistema por usurios foi simulada, para melhor se aproximar do cenrio real. Na execuo, os
cenrios foram montados da seguinte forma:


Cenrio I: no primeiro cenrio o objetivo foi avaliar o desempenho do modelo


RecCloud. Foram solicitadas recomendaes para 10 (dez) diferentes arquivos
e avaliada a quantidade de arquivos recomendado para cada solicitao. Neste
cenrio foram avaliadas as mtricas preciso, recall e F-Measure observando os
arquivos recebidos como recomendao, os ranques de recomendao analisados
foram divididos em nveis, apresentados na Tabela 4.1.
Tabela 4.1: Nveis utilizados para avaliar as mtricas definidas

Quantidade de artigos recomendados

4.7

Nveis
5, 10, 15

Cenrio II: o objetivo foi medir o tempo gasto no download de arquivos recomendados e comparar os resultados com um modelo baseado em contedo. Com isso,
foi possvel avaliar se o modelo proposto atingiu um dos objetivos que amenizar o
tempo gasto no download dos arquivos recomendados. Neste cenrio avaliamos a
mtrica 4 (quatro), analisando o tempo gasto no download de 100 artigos recomendados, 50 artigos de cada modelo avaliado. Nesta mtrica foi utilizado ranques de
recomendao com 5 (cinco) artigos retornado para cada solicitao de recomendao.

Resultados

Os testes foram executados nos 2 (dois) cenrios de avaliao e a seguir so apresentados


os resultados obtidos.

4.7.1

Resultados do Cenrio I

No primeiro cenrio a avaliao foi dividida em 3 (trs) nveis, cada nvel retorna uma
quantidade diferente de artigos para cada solicitao de recomendao, o primeiro nvel retornou

70

CAPTULO 4. AVALIAO

5 (cinco) artigos, o segundo 10 (dez) artigos e o terceiro 15 (quize) artigos. Foram solicitadas recomendaes para 10 (dez) artigos no modelo RecCloud, estas solicitaes resultaram
respectivamente em 50 (cinquenta), 100 (cem) e 150 (cento e cinquenta) artigos recomendados.

Figura 4.1: Grfico comparando a taxa de preciso variando a quantidade de artigos


recomendados para cada ranque de recomendao gerado.

A Figura 4.1, apresenta a preciso alcanada utilizando o modelo RecCloud para cada
solicitao de recomendao e variando a quantidade de artigos recomendados 5 (cinco), 10
(dez) e 15 (quinze). Os resultados apresentados mostraram que as maiores taxas de preciso
foram obtidas no nvel 1, e o nvel 3 apresentou as menores taxas de preciso. Na Figura
4.2, apresentada uma comparao da taxa de preciso atingida por cada nvel.

Figura 4.2: Grfico comparando a taxa de preciso nos 3 (nveis) de variao na


quantidade de artigos recomendados.

A partir dos resultados apresentados nos grficos das Figuras 4.1 e 4.2, percebemos
que a taxa de preciso obtida no nvel 1 (0.68) foi maior que a taxa obtida no nvel 2

71

4.7. RESULTADOS

(0.46) e nvel 3 (0.44), onde so recomendados 5 (cinco) artigos para cada solicitao de
recomendao. Diante destes resultados, observamos que a maior parte dos artigos relevantes
foram recomendados no incio dos ranques. Este resultado se justifica pelo peso do critrio
similaridade ser superior ao peso dos demais critrios utilizados na gerao das recomendaes,
desta forma os arquivos com maior similaridade foram recomendados no incio dos ranques
e os artigos que se mostraram recomendveis, mas que no apresentaram uma alta taxa de
similaridade foram recomendados no final dos ranques de recomendao. Na Figura 4.3 so
apresentados os resultados da taxa de recall obtidos nesta avaliao.

Figura 4.3: Grfico comparando a taxa de recall variando a quantidade de artigos


recomendados para cada ranque de recomendao gerado.

A Figura 4.3, Apresenta a taxa de recall alcanada utilizando o modelo RecCloud para
cada solicitao de recomendao e variando a quantidade de artigos recomendados 5 (cinco),
10 (dez) e 15 (quinze).

Figura 4.4: Grfico apresentando a comparao da taxa de recall obtida nos 3 (nveis) de
variao na quantidade de artigos recomendados.

Na Figura 4.4, so apresentados os resultados da taxa de recall de cada nvel de variao

72

CAPTULO 4. AVALIAO

na quantidade de artigos recomendados. A partir dos resultados apresentados nos grficos das
Figuras 4.3 e 4.4, percebemos que a taxa de recall obtida no nvel 3 (0.42) foi maior que a taxa
obtida no nvel 1 (0.21) e nvel 2(0.29).
A partir das taxas de preciso e recall definidas calculamos a taxa F-measure. A Figura
4.5, apresenta a taxa de F-Measure alcanada para cada solicitao de recomendao e variando
a quantidade de artigos recomendados.

Figura 4.5: Grfico comparando a taxa de F-Measure variando a quantidade de artigos


recomendados para cada ranque de recomendao gerado.

Na Figura 4.6, so apresentados os resultados da taxa F-Measure para cada nvel de


variao na quantidade de artigos recomendados.

Figura 4.6: Grfico apresentando a comparao da taxa de F-Measure obtida nos 3


(nveis) de variao na quantidade de artigos recomendados.

A partir dos resultados apresentados nos grficos das Figuras 4.5 e 4.6, observamos que
a taxa de F-Measure obtida no nvel 3 (0.42) foi maior que a taxa obtida no nvel 2 (0.35) e
nvel 1 (0.32).

73

4.7.2

4.7. RESULTADOS

Resultados do Cenrio II

No segundo cenrio foram solicitadas recomendaes para 10 (dez) artigos diferentes no


modelo RecCloud e no modelo baseado em contedo do Ustore, estas solicitaes resultaram
em 100 (cem) artigos recomendados. Foi analisado o tempo gasto no download de cada arquivo
recomendado utilizando os 5 (cinco) primeiros arquivos do ranking de recomendaes retornado
em cada solicitao. Para avaliao e comparao entre os modelos, o tempo gasto no download
dos arquivos recomendados pelo modelo RecCloud so apresentados na Figura 4.7.

Figura 4.7: Tempo gasto no download dos arquivos recomendados pelo modelo
RecCloud.

Na Figura 4.7 apresentado o tempo gasto no download de 50 (cinquenta) arquivos


recomendados pelo modelo RecCloud, o tempo gasto no download foi apresentando em milissegundos. O tempo mdio gasto no download de um arquivo foi de 959,56 ms, variando de
410 ms a 2.203 ms. A seguir, na Figura 4.8, apresentado o tempo gasto no download dos
arquivos recomendados no modelo baseado puramente em contedo do Ustore. Para efeitos de
comparao dos resultados, foram realizadas as mesmas solicitaes nos dois modelos.
Na Figura 4.8 foi apresentado o tempo gasto no download de 50 (cinquenta) arquivos
recomendados pelo modelo baseado em contedo. O tempo mdio gasto no download de um
arquivo foi de 1.166,42 ms, variando de 129 ms a 2.717 ms.
Na Figura 4.9, foi apresentada a variao do tempo gasto no download de cada arquivo
recomendado pelos dois modelos em anlise neste experimento. O tempo gasto no download
dos arquivos foi apresentado em milissegundos. A partir dos resultados apresentados na Figura
4.9, percebe-se que no modelo RecCloud apresenta as menores taxas de download.
Na Figura 4.10, foi apresentada uma comparao entre a mdia, o mximo e o mnimo
de tempo gasto nos downloads realizados pelos modelos RecCloud e o modelo baseado em
contedo (CB). O modelo baseado em contedo obteve o menor tempo gasto nos downloads,

74

CAPTULO 4. AVALIAO

Figura 4.8: Tempo gasto no download dos arquivos recomendados pelo modelo baseado
em contedo.

Figura 4.9: Comparao do tempo gasto no download dos arquivos recomendados pelos
dois modelos avaliados.

porm, tambm obteve o maior tempo, enquanto o modelo RecCloud teve uma menor variao
no tempo dos downloads. A partir dos resultados apresentados na Figura 4.10, pode ser afirmado
que o modelo proposto nesta pesquisa proporcionou reduo no tempo gasto no download das
recomendaes. A reduo mdia de tempo gasto nos downloads foi de 207,06 milissegundos, o
que representa uma reduo de 17,8%. Est amenizao aplicada a ambientes onde so realizados
centenas ou at milhares de downloads por hora, pode proporcionar ganhos significativos na
economia de tempo gasto em downloads de arquivos armazenados em nuvem e ao mesmo tempo
recomendar contedo relevante aos usurios do sistema.

75

4.8. DISCUSSO DOS RESULTADOS

Figura 4.10: Mdia, mnimo e mximo do tempo gasto no download das recomendaes.

4.8

Discusso dos Resultados

Os testes mostraram que o modelo RecCloud obteve resultados satisfatrios de acordo


com os valores obtidos por BLANK; ROKACH; SHANI (2013) e ZHANG et al. (2013). Na
execuo da avaliao, os testes foram divididos em 3 (trs) nveis, cada nvel retornou uma
quantidade diferente de artigos recomendados para uma solicitao de recomendao. A melhor
taxa de preciso obtida foi de 0.68 no nvel 1, onde foram retornados 5 (cinco) artigos para
cada solicitao de recomendao, os nveis 2 e 3 obtiveram as respectivas taxas 0.46 e 0.44.
Diante destes resultados, podemos concluir que o nvel 1 obteve melhores taxas de preciso.
Os resultados obtidos na mtrica de preciso foram superiores aos resultados utilizados como
referncia para termos de comparao.
A melhor taxa de recall foi obtida no nvel 3 (0.42) onde so retornados 15 (quinze)
artigos para cada solicitao de recomendao. Os nveis 1 e 2 apresentaram respectivamente
0.21 e 0.29. A melhor taxa de recall obtida nesta avaliao foi similar taxa obtida no trabalho
de Zhang et al. (2013). Desta forma podemos considerar como satisfatria avaliao realizada
neste trabalho. A partir das taxas de preciso e recall, calculamos a taxa de F-Measure onde
obtivemos como melhor taxa o valor 0.42, este valor foi obtido no nvel 3.
A partir dos resultados apresentados observamos que o melhor resultado da taxa de
preciso foi obtido em nvel diferente do nvel onde foi obtida a melhor taxa de recall, e que
a maioria dos artigos relevantes recomendados estava no incio dos ranques de recomendao.
Este cenrio se justifica pelo critrio de similaridade que representa 40% de cada recomendao.
Desta forma, os artigos com maiores taxas de similaridade ficaram no incio dos ranques e os
artigos que mesmo tendo a sua taxa de similaridade baixa se mostraram recomendveis foram
recomendados no final dos ranques de recomendao.

76

CAPTULO 4. AVALIAO

Os resultados obtidos no cenrio II mostraram que o modelo RecCloud proporcionou


uma reduo no tempo gasto no download de arquivos recomendados. A reduo obtida em
comparao com o tempo gasto no download de recomendaes geradas pelo SR baseado em
contedo do Ustore. A mdia de tempo economizado ficou em 207,6 milissegundos. Desta
forma, pode-se inferir que o modelo proposto nesta pesquisa ameniza o tempo gasto no download
de arquivos recomendados em relao ao modelo baseado em contedo.
A partir da comparao dos resultados apresentados no decorrer deste captulo com
resultados encontrados na literatura como, por exemplo, os trabalhos de BLANK; ROKACH;
SHANI (2013) e ZHANG et al. (2013), pode-se concluir que a proposta apresentada por est
pesquisa apresentou resultados satisfatrios na gerao de recomendaes de arquivos em
sistemas de armazenamento em nuvem, utilizando caractersticas do ambiente associadas
tcnica de recomendao baseada em contedo.

4.9

Possveis Ameaas Validade

Os resultados encontrados na presente pesquisa possuem algumas ameaas, as quais


devem ser levadas em considerao:

Conjunto de dados utilizados: a primeira ameaa refere-se relevncia dos dados


utilizados na realizao dos experimentos descritos neste trabalho. No que tange
a quantitatividade. O volume de dados utilizados pode ser considerado pequeno
em comparao a quantidade de dados que podem ser encontrados em sistemas de
armazenamento em nuvem. No entanto, acredita-se que a quantidade de artigos
utilizados no desmerea os resultados obtidos nesta pesquisa.
Ambiente controlado: o ambiente de teste utilizado na realizao dos experimentos
foi parcialmente controlado, onde os valores que representam os fatores oriundos da
nuvem foram simulados. Este cenrio se deu devido dificuldade em utilizar uma
estrutura real em nuvem para a realizao dos experimentos.
Mtricas de avaliao: diante de inmeras tcnicas apresentadas na literatura para a
avaliao de sistemas de recomendaes foram escolhidas as mtricas de preciso,
recall e F-measure, que so utilizadas na avaliao de SRs de acordo com BLANK;
ROKACH; SHANI (2013), ZHANG et al. (2013), LEE; LEE; LEE (2010). Diante
disto, em trabalhos futuros podem ser utilizadas novas tcnicas de avaliao de
sistemas de recomendaes, como, por exemplo, Validao cruzada. Com o objetivo
de confrontar os resultados aqui apresentados e propor melhorias no modelo proposto.

77

4.10

4.10. CONSIDERAES FINAIS

Consideraes Finais

Neste captulo foram apresentados os experimentos realizados com o objetivo de avaliar


o modelo proposto. A avaliao foi realizada para analisar o impacto de sua adoo em sistemas
de armazenamento em nuvem: a amenizao do tempo gasto no download de arquivos recomendados, bem como os nveis de preciso, recall e F-Measure obtidos, os quais foram utilizados
para analisar o desempenho do modelo proposto na gerao de recomendaes.
O modelo de recomendao baseado em caractersticas na nuvem foi comparado com o
modelo de recomendao baseado em contedo. Os resultados mostraram que o modelo proposto
se mostra eficiente na recomendao de contedo relevante, ameniza o tempo gasto no download
de arquivos recomendados, e se mostra vivel a sua utilizao em sistemas de armazenamento
em nuvem.
No prximo captulo sero apresentadas as concluses, as contribuies alcanadas e
possveis trabalhos futuros desta pesquisa.

79

5
Concluses e Trabalhos Futuros
Esta dissertao abordou o problema de filtragem de contedo em meio imensido de
dados em sistemas de armazenamento em nuvem. A identificao de caractersticas da nuvem
possibilita gerar recomendaes similares as preferncias dos usurios, como tambm proporcionem a melhor utilizao de recursos da nuvem. Com o objetivo de amenizar este problema, foi
apresentado um modelo para a gerao de recomendaes em sistemas de armazenamento em
nuvem, formado por caractersticas da nuvem somadas a tcnica de recomendao baseada em
contedo.
Os testes realizados neste trabalho foram executados em um sistema real de armazenamento em nuvem, o Ustore. Na execuo dos testes foi observado o tempo gasto no download de
arquivos recomendados, com objetivo de avaliar se o modelo RecCloud proporciona amenizao
desse tempo, em comparao a tcnica baseada em contedo. Na execuo dos testes tambm
foi avaliado o desempenho do modelo proposto.

5.1

Contribuies
A seguir apresentamos as principais contribuies deste trabalho:


Um estudo sobre modelos de recomendao baseados em nuvem. Embora existam


muitos trabalhos sobre recomendao em nuvem, este trabalho props a utilizao de
caractersticas da nuvem na gerao de recomendao de arquivos em sistemas de
armazenamento em nuvem.
Um modelo de recomendao de arquivos para sistemas de armazenamento em
nuvem, composto por caractersticas da nuvem e a tcnica de recomendao baseada
em contedo. O modelo por completo foi apresentado no decorrer desta dissertao.
A implementao do modelo proposto no sistema de armazenamento em nuvem
Ustore, que possibilitou avaliar a abordagem proposta nesta pesquisa.

Cinco artigos foram escritos com o objetivo de difundir o conhecimento produzido nesta
pesquisa, os quais foram aceitos para publicao:

80

CAPTULO 5. CONCLUSES E TRABALHOS FUTUROS


Publicados:


Rodrigues, Ricardo B., Silva, C., Ferreira, W., Campos, G., Assad, R., Duro, F.,
Garcia, V. A Cloud-based Recommendation System. IADIS International Conference
WWW-INTERNET (ICWI), Out., 2013, Fort Worth, Texas.
Rodrigues, Ricardo B., Assad, R., Duro, F., Garcia, V. RecCloud: Um Sistema de
Recomendao Baseado em Nuvem. Workshop de Teses e Dissertaes do Congresso
Brasileiro de Software (WTDSoft). Set., 2013, Braslia, Distrito Federal, Brasil.
Rodrigues, Ricardo B., Duro, F., Assad, R., Garcia, V. Um Sistema de Recomendao Baseado em Nuvem. III Escola Regional de Informtica de Pernambuco (ERIPE).
Nov., 2013, Garanhuns, Pernambuco, Brasil.
Rodrigues, Ricardo B., Duro, F., Assad, R., Garcia, V. A Cloud-based Recommendation Model. 7th Euro American Association on Telematics and Information Systems,
2014, Valparaso, Chile.

Aceito para publicao:




5.2

Rodrigues, Ricardo B., Duro, F., Assad, R., Garcia, V. RecCloud: A Recommendation Model for Cloud Storage Systems. 10th International Conference on Web
Information Systems and Technologies, 2014, Barcelona, Espanha.

Trabalhos Futuros

Este trabalho objetiva utilizar caractersticas da nuvem na gerao de recomendaes


de arquivos aos usurios de sistemas de armazenamento em nuvem. Desta forma, o escopo
desta dissertao no abrange todas as possveis caractersticas da nuvem e de sistemas de
armazenamento em nuvem que podem ser utilizadas na gerao de recomendaes. Os testes
realizados para avaliar o modelo proposto foram realizados no ambiente Ustore, fazendo uso de
tcnicas de avaliao de sistemas de recomendao. Estes so alguns aspectos que podem ser
inclusos em trabalhos futuros:


Realizar experimentos com usurios reais, afim de, avaliar o contedo recomendado
pelo modelo proposto.
Aplicar outras tcnicas de avaliao de sistemas de recomendao ao modelo, com
objetivo de comparar os resultados obtidos neste trabalho.
Realizar os experimentos com pesos diferentes para cada fator do modelo proposto,
com o objetivo de comparar os resultados e propor a melhor combinao de pesos,
para proporcionar os melhores resultados ao modelo RecCloud.

81

5.2. TRABALHOS FUTUROS




Expanso dos critrios utilizados: podem ser adicionados ao modelo novos critrios
oriundos da nuvem, assim como, caractersticas de sistemas de armazenamento em
nuvem.
Utilizar a tcnica de recomendao por filtragem colaborativa, que associada aos
critrios propostos neste modelo podem trazer resultados positivos.
Propor um modelo de recomendao hbrido, utilizando as duas tcnicas de recomendao mais populares entre os sistemas de recomendao (Filtragem colaborativa e
filtragem baseada em contedo), associadas s caractersticas da nuvem.

83

Referncias
ADOMAVICIUS, G.; TUZHILIN, A. Toward the next generation of recommender systems: a
survey of the state-of-the-art and possible extensions. Knowledge and Data Engineering,
IEEE Transactions on, [S.l.], v.17, n.6, p.734749, 2005.
ANSARI, A.; ESSEGAIER, S.; KOHLI, R. Internet recommendation systems. JOURNAL OF
MARKETING RESEARCH, [S.l.], v.37, n.3, p.363375, 2000.
ASSAD R. MACHADO, M. S. P. S. A. S. T. G. V. Desafios em cloud computing:
armazenamento, banco de dados e big data. Tpicos em Multimdia, Hipermdia e Web,
[S.l.], p.7611, 2012.
BAEZA-YATES, R. A.; RIBEIRO-NETO, B. Modern Information Retrieval. Boston, MA,
USA: Addison-Wesley Longman Publishing Co., Inc., 1999.
BAROLLI, L.; XHAFA, F. JXTA-Overlay: a p2p platform for distributed, collaborative, and
ubiquitous computing. Industrial Electronics, IEEE Transactions on, [S.l.], v.58, n.6,
p.21632172, June 2011.
BLANCO-FERNANDEZ, Y. et al. Providing entertainment by content-based filtering and
semantic reasoning in intelligent recommender systems. IEEE Trans. Consumer Electronics,
[S.l.], v.54, n.2, p.727735, 2008.
BLANK, I.; ROKACH, L.; SHANI, G. Leveraging the Citation Graph to Recommend
Keywords. In: ACM CONFERENCE ON RECOMMENDER SYSTEMS, 7., New York, NY,
USA. Proceedings. . . ACM, 2013. p.359362. (RecSys 13).
BURKE, R. Hybrid Recommender Systems: survey and experiments. User Modeling and
User-Adapted Interaction, [S.l.], v.12, n.4, p.331370, 2002.
CARVALHO, J. F. S. Um Mapeamento Sistematico de Estudos em Cloud Computing. 2012.
Dissertao (Mestrado em Cincia da Computao) Universidade Federal de Pernambuco
(UFPE).
CHAKOO, N.; GUPTA, R.; HIREMATH, J. Towards Better Content Visibility in Video
Recommender Systems. In: FRONTIER OF COMPUTER SCIENCE AND TECHNOLOGY,
2008. FCST 08. JAPAN-CHINA JOINT WORKSHOP ON. Anais. . . [S.l.: s.n.], 2008.
p.181185.
CHEN, Y.-C.; HUANG, H.-C.; HUANG, Y.-M. Community-based program recommendation for
the next generation electronic program guide. Consumer Electronics, IEEE Transactions on,
[S.l.], v.55, n.2, p.707712, 2009.
DENG, J. et al. Research and Application of Cloud Storage. In: INTELLIGENT SYSTEMS
AND APPLICATIONS (ISA), 2010 2ND INTERNATIONAL WORKSHOP ON. Anais. . .
[S.l.: s.n.], 2010. p.15.
DUARTE, M. Um algoritmo de disponibilidade em sistemas de backup distribudo seguro
usando a plataforma peer-to-peer. 2010. Dissertao (Mestrado em Cincia da Computao)
Centro de Informtica UFPE.

84

REFERNCIAS

DURO, F. A. Applying a semantic layer in a source code retrieval tool. 2008. Dissertao
(Mestrado em Cincia da Computao) Centro de Informtica, Universidade Federal de
Pernambuco (UFPE).
DURO F. ASSAD, R. F. A. F. J. G. V. T. F. USTO.RE: a private cloud storage software system.
In: DANIEL, F.; DOLOG, P.; LI, Q. (Ed.). Web Engineering. [S.l.]: Springer Berlin
Heidelberg, 2013. p.452466. (Lecture Notes in Computer Science, v.7977).
GANTZ, J.; REINSEL, D. Extracting Value from Chaos State of the Universe : an
executivesummary. 1-12.
GARCIA, V. C. et al. From Specification to Experimentation: a software component search
engine architecture. In: GORTON, I. et al. (Ed.). Component-Based Software Engineering.
[S.l.]: Springer Berlin Heidelberg, 2006. p.8297. (Lecture Notes in Computer Science, v.4063).
HATCHER, E.; GOSPODNETIC, O. Lucene in Action (In Action Series). Greenwich, CT,
USA: Manning Publications Co., 2004.
HEISS, J. J. Jxta technology brings the internet back to its origin. [S.l.]: Oracle, 2005.
HERLOCKER, J. L. Understanding and improving automated collaborative filtering
systems. 2000. Tese (Doutorado em Cincia da Computao) University of Minnesota.
AAI9983577.
JAIN, R. K. The Art of Computer Systems Performance Analysis: techniques for
experimental design, measurement, simulation, and modeling. 1.ed. [S.l.]: Wiley, 1991.
JAVA Platform, Standard Edition <ttp://www.oracle.com/technetwork/java>. ultimo acesso em
07/06/2013.
JIANG, Y. et al. Recommending Academic Papers via Users Reading Purposes. In: SIXTH
ACM CONFERENCE ON RECOMMENDER SYSTEMS, New York, NY, USA.
Proceedings. . . ACM, 2012. p.241244. (RecSys 12).
JUNG, G. et al. CloudAdvisor: a recommendation-as-a-service platform for cloud configuration
and pricing. In: SERVICES (SERVICES), 203 IEEE NINTH WORLD CONGRESS ON.
Anais. . . [S.l.: s.n.], 2013. p.456463.
KONG, D.; ZHAI, Y. Trust Based Recommendation System in Service-oriented Cloud
Computing. In: CLOUD AND SERVICE COMPUTING (CSC), 2012 INTERNATIONAL
CONFERENCE ON. Anais. . . [S.l.: s.n.], 2012. p.176179.
LAI, C.-F. et al. CPRS: a cloud-based program recommendation system for digital tv platforms.
Future Gener. Comput. Syst., Amsterdam, The Netherlands, The Netherlands, v.27, n.6,
p.823835, June 2011.
LEE, S.; LEE, D.; LEE, S. Personalized DTV Program Recommendation System Under a Cloud
Computing Environment. IEEE Trans. on Consum. Electron., Piscataway, NJ, USA, v.56, n.2,
p.10341042, May 2010.
LENK, A. et al. Whats inside the Cloud? An architectural map of the Cloud landscape. In:
SOFTWARE ENGINEERING CHALLENGES OF CLOUD COMPUTING, 2009.
CLOUD.ICSE WORKSHOP ON, Washington, DC, USA. Anais. . . IEEE, 2009. p.2331.
(CLOUD 09, v.0).

85

REFERNCIAS

LOPES, A. R. S. Sistemas de Recomendao Utilizando Similaridade Globais para Aliviar


o Problema da Esparcidade. 2012. Dissertao (Mestrado em Cincia da Computao)
Universidade Federal de Pernambuco (UFPE).
MACHADO, M. A. S. Uma Abordagem para Indexacao e Buscas Full-Text Baseadas em
Contedo em Sistemas de Armazenamento em Nuvem. 2013. Dissertao (Mestrado em
Cincia da Computao) Universidade Federal de Pernambuco (UFPE).
MATTMANN, C.; ZITTING, J. Tika in Action. Greenwich, CT, USA: Manning Publications
Co., 2011.
MCLAUGHLIN, M. R.; HERLOCKER, J. L. A collaborative filtering algorithm and evaluation
metric that accurately model the user experience. In: ACM SIGIR CONFERENCE ON
RESEARCH AND DEVELOPMENT IN INFORMATION RETRIEVAL, 27., New York, NY,
USA. Proceedings. . . ACM, 2004. p.329336. (SIGIR 04).
MELL, P.; GRANCE, T. The NIST Definition of Cloud Computing. [S.l.]: National Institute
of Standards and Technology, Information Technology Laboratory, 2009.
NETSHOES. Disponvel em: <http://www.netshoes.com.br/>. Ultimo acesso em 05/12/2013.
PALAU, J. et al. Collaboration Analysis in Recommender Systems Using Social Networks. In:
KLUSCH, M. et al. (Ed.). Cooperative Information Agents VIII. [S.l.]: Springer Berlin
Heidelberg, 2004. p.137151. (Lecture Notes in Computer Science, v.3191).
PAZZANI, M. J.; BILLSUS, D. Learning and Revising User Profiles: the identification of
interesting web sites. Machine Learning, [S.l.], v.27, n.3, p.313331, 1997.
RICCI, F. et al. (Ed.). Recommender Systems Handbook. [S.l.]: Springer, 2011.
SAMPAIO, I. A. Apredizagem Ativa em Sistemas de Filtragem Colaborativa. 2006.
Dissertao (Mestrado em Cincia da Computao) Universidade Federal de Pernambuco,
UFPE.
SILVA A., M. M. S. P. J. T. G. V. A. R.; MEIRA, S. Usto.re uma plataforma descentralizada para
storage de contedo em nuvens privadas. In: CBSOFT2012 - INDUSTRIA. Anais. . . [S.l.: s.n.],
2012.
SILVA A. MACHADO, M. S. P. J. T. G. V. A. R. Desenvolvendo aplicativos peer-to-peer (p2p)
no contexto de data storage para ambientes de cloud computing. Computao, S. B., editor,
SBSI., [S.l.], 2013.
STORMER H.; WERRO, N.; RISCH, D. Recommending Products with a Fuzzy Classification.
CollECTeR Europe, [S.l.], 2006.
SU, X.; KHOSHGOFTAAR, T. M. A survey of collaborative filtering techniques. Adv. in Artif.
Intell., New York, NY, United States, v.2009, p.4:24:2, Jan. 2009.
SUBMARINO. Disponvel em: <http://www.submarino.com.br/>. Ultimo acesso em
05/12/2013.
TERVEEN, L.; HILL, W. Beyond Recommender Systems: helping people help each other. In:
HCI IN THE NEW MILLENNIUM. Anais. . . Addison-Wesley, 2001. p.487509.

86

REFERNCIAS

THE Eclipse Foundation - Eclipse projects. Disponvel. Ultimo acesso em 07/06/2013.


TIAN, G.; JING, L. Recommending Scientific Articles Using Bi-relational Graph-based
Iterative RWR. In: ACM CONFERENCE ON RECOMMENDER SYSTEMS, 7., New York,
NY, USA. Proceedings. . . ACM, 2013. p.399402. (RecSys 13).
VAQUERO, L. M. et al. A break in the clouds: towards a cloud definition. SIGCOMM
Comput. Commun. Rev., New York, NY, USA, v.39, n.1, p.5055, Dec. 2008.
VIEIRA, D. M. Sobre a interdependencia da recomendacao de contedo e do desempenho
da rede. 2013. Dissertao (Mestrado em Cincia da Computao) Universidade Federal do
Rio de Janeiro, UFRJ.
VOGELS, W. A head in the clouds - the power of infrastructure as a service. First workshop
on Cloud Computing and in Applications (CCA 2008), [S.l.], 2008.
YAO, Y. Y. Measuring Retrieval Effectiveness Based on User Preference of Documents. J. Am.
Soc. Inf. Sci., New York, NY, USA, v.46, n.2, p.133145, Mar. 1995.
YU, Z.; ZHOU, X. TV3P: an adaptive assistant for personalized tv. Consumer Electronics,
IEEE Transactions on, [S.l.], v.50, n.1, p.393399, 2004.
ZENG, W. et al. Research on cloud storage architecture and key technologies. In:
INTERNATIONAL CONFERENCE ON INTERACTION SCIENCES: INFORMATION
TECHNOLOGY, CULTURE AND HUMAN, 2., New York, NY, USA. Proceedings. . . ACM,
2009. p.10441048. (ICIS 09).
ZHANG, Z. et al. Improving Augmented Reality Using Recommender Systems. In: ACM
CONFERENCE ON RECOMMENDER SYSTEMS, 7., New York, NY, USA. Proceedings. . .
ACM, 2013. p.173176. (RecSys 13).