75
Ricardo Batista Rodrigues RECCLOUD: UM MODELO DE RECOMENDAÇÃO DE ARQUIVOS PARA SISTEMAS DE ARMAZENAMENTO EM NUVEM Dissertação de Mestrado www.cin.ufpe.br/~posgraduacao RECIFE 2014

Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Ricardo Batista Rodrigues

RECCLOUD: UM MODELO DE RECOMENDAÇÃO DE ARQUIVOS

PARA SISTEMAS DE ARMAZENAMENTO EM NUVEM

Dissertação de Mestrado

Universidade Federal de Pernambuco

[email protected]

www.cin.ufpe.br/~posgraduacao

RECIFE2014

Page 2: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Universidade Federal de Pernambuco

Centro de InformáticaPós-graduação em Ciência da Computação

Ricardo Batista Rodrigues

RECCLOUD: UM MODELO DE RECOMENDAÇÃO DE ARQUIVOSPARA SISTEMAS DE ARMAZENAMENTO EM NUVEM

Trabalho apresentado ao Programa de Pós-graduação em

Ciência da Computação do Centro de Informática da Univer-

sidade Federal de Pernambuco como requisito parcial para

obtenção do grau de Mestre em Ciência da Computação.

Orientador: Vinicius Cardoso Garcia

Co-Orientador: Frederico Araujo Durão

RECIFE2014

Page 3: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Catalogação na fonte Bibliotecária Joana D’Arc L. Salvador, CRB 4-572

Rodrigues, Ricardo Batista. RecCloud: um modelo de recomendação de arquivos para sistemas de armazenamento em nuvem / Ricardo Batista Rodrigues. – Recife: O Autor, 2014. 73 f.: fig., tab.

Orientador: Vinicius Cardoso Garcia. Dissertação (Mestrado) - Universidade Federal de Pernambuco. CIN. Ciência da Computação, 2014. Inclui referências.

1. Engenharia de software. 2. Inteligência artificial. 3. Computação em nuvem. I. Garcia, Vinicius Cardoso (orientador). II. Título.

005.1 (22. ed.) MEI 2014-99

Page 4: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Dissertação de Mestrado apresentada por Ricardo Batista Rodrigues à Pós-Graduação

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

Pernambuco, sob o título “RecCloud: Um Modelo de Recomendação para Sistemas de

Armazenamento em Nuvem” orientada pelo Prof. Vinicius Cardoso Garcia e aprovada

pela Banca Examinadora formada pelos professores:

______________________________________________

Profa. Bernadette Farias Lóscio

Centro de Informática / UFPE

______________________________________________

Prof. Rodrigo Elia Assad

Departamento de Estatística e Informática / UFRPE

_______________________________________________

Prof. Vinicius Cardoso Garcia

Centro de Informática / UFPE

Visto e permitida à impressão.

Recife, 27 de fevereiro de 2014.

___________________________________________________

Profa. Edna Natividade da Silva Barros Coordenadora da Pós-Graduação em Ciência da Computação do

Centro de Informática da Universidade Federal de Pernambuco.

Page 5: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

A meu pai, Jose de Almeida Rodrigues Ferreira,

A minha mãe, Boaventura Batista Rodrigues,

Aos meus irmãos, Renata Batista e Rodrigo Batista.

Page 6: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Agradecimentos

Agradeço. . .

� Em primeiro lugar a Deus por sua graça e pelas bênçãos derramadas constantementesobre mim de maneira maravilhosa;

� A minha família, meus pais e meus irmãos, pelo amor e por fornecer o suporteemocional imprescindível em todos os momentos de minha vida;

� Aos professores Vinicius Garcia e Frederico Durão pela paciência e dedicação naorientação deste trabalho;

� A todos os meus amigos e colegas que contribuíram direto e indiretamente para arealização deste sonho;

� A Fundação de Amparo à Ciência e Tecnologia de Pernambuco (FACEPE) porapoiar, financia e conceder bolsa para o desenvolver desta pesquisa, sob o processoIBPG-0483-1.03/11.

Muito Obrigado!

Page 7: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

"Algo só é impossível até que alguém duvide e acabe provando o contrário."

—EINSTEIN (Albert Einstein, 1929)

Page 8: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Resumo

O desenvolvimento tecnológico vivenciado nos últimos anos proporcionou o crescimentodo universo digital de forma exponencial, e parte desse universo digital encontra-se armazenadoem sistemas de armazenamento em nuvem. A cada dia surgem mais destes sistemas, queoferecem o armazenamento de dados de forma distribuída com alta taxa de disponibilidade,o que tem impucionado cada vez mais usuários a migrarem seus dados para a nuvem. Noentanto, a grande quantidade de arquivos armazenada nestes sistemas dificulta a filtragem deconteúdo relevante, demandando tempo e trabalho por parte do usuário na busca por arquivoscom conteúdo similar as suas preferências. Diante deste cenário, esta pesquisa propõe ummodelo de recomendação para sistemas de armazenamento em nuvem, que tem como objetivoutilizar características da nuvem associadas à técnica de recomendação baseada em conteúdopara filtrar e recomendar arquivos com o conteúdo similar as preferências dos usuários, alémdisso, recomendar arquivos que proporcione a melhor utilização dos recursos do ambiente emnuvem.

Palavras-chave: Sistema de recomendação, modelo de recomendação, computação em nuvem,sistema de armazenamento em nuvem.

Page 9: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Abstract

The technological development in recent years has experienced the exponentially growthof the digital universe, and part of this digital universe lies stored in cloud storage systems. Witheach day, more of these systems come out, offering data storage in a distributed manner withthe proposal to provide high availability rate, what has driven more and more users who havemigrated your data to the cloud. However, the large amount of files stored in these systemsmakes it difficult to filter relevant content, requiring time and labor by the user in searchingfor files with similar content to your preferences. Face of this scenario, this study proposes amodel for recommendation of files in cloud storage systems, which aims to use cloud featuresassociated with the technique of content-based recommendation for filtering and recommendingfiles with similar content preferences of users, furthermore, recommend files that provide thebest use of the cloud environment resources.

Keywords: Recommendation system, recommendation model, cloud computing, cloud sto-rage.

Page 10: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Lista de Figuras

1.1 Expectativa de crescimento da quantidade de dados digitais gerados GANTZ;REINSEL (2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.1 Arquitetura em camadas para computação em nuvem MACHADO (2013) . . . 202.2 Modelo do Processo de Recomendação. . . . . . . . . . . . . . . . . . . . . . 242.3 Opiniões dos usuários do site Netshoes sobre um item da loja NETSHOES.

DISPONíVEL EM: <HTTP://WWW.NETSHOES.COM.BR/> (2013) . . . . . 252.4 Lista dos livros mais vendidos do site Submarino SUBMARINO. DISPONíVEL

EM: <HTTP://WWW.SUBMARINO.COM.BR/> (2013) . . . . . . . . . . . . 262.5 Exemplo de uso da Amazon.com em que o sistema sugere outros produtos

relevantes para o usuário interessado no disco Kind Of Blue SAMPAIO (2006) . 272.6 Recomendação gerada pelo sistema do IMDB a partir do filme As Good As It

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

3.1 Processo de Recomendação Baseado em Conteúdo. . . . . . . . . . . . . . . . 453.2 Processo de Recomendação RecCloud. . . . . . . . . . . . . . . . . . . . . . . 463.3 Arquitetura do JXTA HEISS (2005). . . . . . . . . . . . . . . . . . . . . . . . 473.4 Arquitetura do Ustore SILVA A.; MEIRA (2012). . . . . . . . . . . . . . . . . 473.5 Índice invertido no Apache Lucene HATCHER; GOSPODNETIC (2004). . . . 493.6 Arquitetura do Apache Lucene HATCHER; GOSPODNETIC (2004). . . . . . 503.7 Arquitetura do Apache Tika MATTMANN; ZITTING (2011). . . . . . . . . . 513.8 Processo do Critério Disponibilidade. . . . . . . . . . . . . . . . . . . . . . . 52

4.1 Gráfico comparando a taxa de precisão variando a quantidade de artigos reco-mendados para cada ranque de recomendação gerado. . . . . . . . . . . . . . . 59

4.2 Gráfico comparando a taxa de precisão nos 3 (níveis) de variação na quantidadede artigos recomendados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.3 Gráfico comparando a taxa de recall variando a quantidade de artigos recomen-dados para cada ranque de recomendação gerado. . . . . . . . . . . . . . . . . 60

4.4 Gráfico apresentando a comparação da taxa de recall obtida nos 3 (níveis) devariação na quantidade de artigos recomendados. . . . . . . . . . . . . . . . . 60

4.5 Gráfico comparando a taxa de F-Measure variando a quantidade de artigosrecomendados para cada ranque de recomendação gerado. . . . . . . . . . . . 61

4.6 Gráfico apresentando a comparação da taxa de F-Measure obtida nos 3 (níveis)de variação na quantidade de artigos recomendados. . . . . . . . . . . . . . . . 61

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

Page 11: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

4.8 Tempo gasto no download dos arquivos recomendados pelo modelo baseado emconteúdo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.9 Comparação do tempo gasto no download dos arquivos recomendados pelosdois modelos avaliados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.10 Média, mínimo e máximo do tempo gasto no download das recomendações. . . 64

Page 12: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Lista de Tabelas

3.1 Pesos dos Critérios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2 Exemplo do Cálculo de Recomendação do Modelo RecCloud. . . . . . . . . . 443.3 Arquivos Recomendados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.1 Níveis utilizados para avaliar as métricas definidas . . . . . . . . . . . . . . . 58

Page 13: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Lista de Acrônimos

CB Content-based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

CF Filtragem Colaborativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

DTV Televisão Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

IAAS Infrastructure-as-a-Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

JDK Java Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

SAAS Software-as-a-Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

SR Sistemas de Recomendação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

SRN Sistema de Recomendação em Nuvem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Page 14: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

Sumário

1 Introdução 141.1 Contextualização e Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2 Definição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3 Solução Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.4 Estrutura deste Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Fundamentação teórica e Trabalhos Relacionados 192.1 Computação em Nuvem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1 Armazenamento de Dados em Nuvem . . . . . . . . . . . . . . . . . . 222.2 Sistemas de Recomendação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.1 Tarefas de um Sistema de Recomendação . . . . . . . . . . . . . . . . 252.3 Técnicas de Sistemas de Recomendação . . . . . . . . . . . . . . . . . . . . . 27

2.3.1 Sistemas de Recomendação por Filtragem Colaborativa . . . . . . . . . 282.3.2 Sistemas de Recomendação Baseados em Conteúdo . . . . . . . . . . . 30

2.4 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.4.1 Sistemas de Recomendação de Arquivos . . . . . . . . . . . . . . . . . 312.4.2 Sistemas de Recomendação em Nuvem . . . . . . . . . . . . . . . . . 312.4.3 Sistemas de Armazenamento em Nuvem . . . . . . . . . . . . . . . . 34

2.5 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3 RecCloud 373.1 Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2 O Modelo de Recomendação . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.2.1 Pesos dos Critérios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2.2 Cálculo de Recomendação . . . . . . . . . . . . . . . . . . . . . . . . 433.2.3 Exemplo do Cálculo de Recomendação . . . . . . . . . . . . . . . . . 433.2.4 O Processo de Recomendação . . . . . . . . . . . . . . . . . . . . . . 45

3.3 Detalhes da Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.3.1 Ustore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.3.2 Arquitetura do Ustore . . . . . . . . . . . . . . . . . . . . . . . . . . 463.3.3 Sistema de Recomendação do Ustore . . . . . . . . . . . . . . . . . . 483.3.4 Implementação dos Critérios . . . . . . . . . . . . . . . . . . . . . . . 50

3.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Page 15: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

4 Avaliação 544.1 Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2 Coleção de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.3 Julgamento de Relevâncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.4 Ambiente de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.5 Métricas de Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.6 Cenários de Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.7 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.7.1 Resultados do Cenário I . . . . . . . . . . . . . . . . . . . . . . . . . 584.7.2 Resultados do Cenário II . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.8 Discussão dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.9 Possíveis Ameaças à Validade . . . . . . . . . . . . . . . . . . . . . . . . . . 654.10 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5 Conclusões e Trabalhos Futuros 675.1 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Referências 70

Page 16: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

141414

1Introdução

Neste capítulo, é apresentada a contextualização sobre a tématica abordada nesta pesquisa,além de descrever os objetivos e as motivações que conduziram esse trabalho.

1.1 Contextualização e Motivação

Vivemos em uma era de efervescência informacional, a cada dia se produz mais informa-ção e, geralmente, estas informações são armazenadas em meios digitais. O tamanho do universodigital cresce de forma exponencial. Segundo relatório 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 previsão é que em 2015 chegue a quase 8 zettabytes 3MACHADO (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

1http://www.emc.com Acessado em: 07/09/20132Aproximadamente, 1.000.000.000 GB3Aproximadamente, 1.000.000.000.000 GB

Page 17: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

15 1.1. CONTEXTUALIZAÇÃO E MOTIVAÇÃO

e torna cada vez mais complexa a tarefa de filtragem de conteúdo relevante que atenda àspreferências do usuário.

De acordo com Lopes a escassez de informação disponível deu lugar a uma imensamassa de dados ao alcance de todos LOPES (2012). Entretanto, esta inversão também acabougerando um problema: onde e como armazenar essa massa de dados digitais? Uma opção queatende a está demanda é a computação em nuvem.

Com o desenvolvimento tecnológico surgiram diversas tecnologias como, a computaçãoem nuvem que, dentre as suas inovações, trouxe os sistemas de armazenamento. Com o cresci-mento da utilização dos sistemas de armazenamento em nuvem, a massa de dados disponívelna base destes sistemas aumenta a cada dia. Este cenário implica na ocultação de informaçõesrelevantes aos usuários, que deixam de descobrir novos conteúdos e gastão uma maior quantidadede tempo na filtragem de conteúdo, por não disporem de meios eficientes que os auxiliem nafiltragem de conteúdo.

Outro problema gerado com a explosão de dados armazenados em nuvem, é como en-contrar e extrair informação relevante em tempo hábil no meio desta quantidade de informações?Dentre as técnicas utilizadas na filtragem de conteúdo podemos citar os sistemas de busca que,permitem ao usuário realizar buscas por informações similares as suas preferências SAMPAIO(2006). Nesta pesquisa é proposto como resposta para este questionamento o uso dos sistemasde recomendação.

Quando é preciso filtrar um grande conjunto de dados, podemos utilizar técnicas derecomendação para facilitar o processo de filtragem de informações relevantes e similares comas preferências do usuário. Para isto, é necessário informações sobre o indivíduo alvo darecomendação ou sobre o ambiente que influenciará na geração da recomendação. A partir daí,um sistema de recomendação poderá localizar os arquivos que apresentem maior similaridadecom as preferências ou características do usuário, ou do seu ambiente.

No desenvolvimento de Sistemas de Recomendação (SR) existem variadas técnicas, masduas delas possuem destaque na literatura: sistemas de recomendação Content-based (CB) esistemas de recomendação por Filtragem Colaborativa (CF) SU; KHOSHGOFTAAR (2009).

Sistemas de recomendação pela técnica CB apóiam-se no princípio de que os usuáriostendem a interessar-se por itens similares aos que demonstraram interesse no passado, como,por exemplo, visualização de um item em uma loja virtual. A preocupação deste tipo de sistemaé definir a similaridade entre o conteúdo dos itens e uma das suas dificuldade é conseguirrepresentar estes conteúdos.

Os sistemas de recomendação por CF foram desenvolvidos para superar as dificuldadesda abordagem baseada em conteúdo, uma das principais diferenças entre as técnicas é justamentepor não exigir a compreensão dos conteúdos dos itens, baseando apenas nas características dousuário, normalmente disponibilizadas por ele mesmo ao sistema. A natureza desta técnicaestá na troca de experiência entre os usuários, baseando-se na teoria de que usuários comcaracterísticas semelhantes demostram intresses pelos mesmos itens. O objetivo desta técnica

Page 18: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

16 1.2. DEFINIÇÃO DO PROBLEMA

é definir a proximidade entre os usuários a partir de suas interações com o sistema, como, porexemplo, avaliação de itens.

Um dos principais problemas da técnica por filtragem colaborativa é a de existir poucosusuários, informações ou participação no sistema, este problema também é conhecido comoesparsidade dos dados HERLOCKER (2000). Este problema foi um dos motivos que levaramestá pesquisa a não utilizar a técnica de recomendação baseada em filtragem colaborativa, e simoptar pela técnica baseada em conteúdo para compor o modelo proposto. A esparsidade de dadospode ser considerada frequente em sistemas de armazenamento em nuvem, observando que, nomomento em que um novo usuário entra no sistema, este pode disponibilizar poucas ou nenhumainformação a seu respeito ou que represente suas preferências e interesses. Isso torna complexaa atividade de recomendar conteúdo que atenda às expectativas do usuário, sem informações quepossibilitem o processo.

Tomando este cenário como base, esta pesquisa propõe um modelo para recomendaçãode arquivos baseado em características da nuvem e em conteúdo. O modelo foi desenvolvido deforma que seja possível ser utilizado em diferentes sistemas de armazenamento em nuvem.

1.2 Definição do Problema

A maioria dos sistemas de armazenamento em nuvem, como: Amazon S3 4, Dropbox5,SugarSync6, entre outros, não oferecem serviços de recomendação de arquivos ao usuário. Amaioria somente permite que o usuário faça consultas por um determinado arquivo a partir depalavras-chave. Isso torna a busca por conteúdo relevante, repetitiva e trabalhosa, demandandocerta quantidade de tempo na filtragem de conteúdo, considerando uma grande massa de dados.E nem sempre o arquivo encontrado pelo usuário em uma busca manual, proporciona a melhorutilização dos recursos do sistema em nuvem e de seus recursos computacionais, como, porexemplo, o download deste arquivo, que pode demandar mais tempo do que o disponível pelousuário e mais recursos computacionais de que os disponíveis para realizar esta tarefa.

A utilização de sistemas de recomendação tem como objetivo recomendar ao usuárioo conteúdo que melhor se adeque a necessidade, preferência e expectativas do usuário alvo darecomendação. Visto que a utilização de sistemas de armazenamento em nuvem permite que ousuário armazene uma grande quantidade de dados, o problema que esta dissertação se propõe aresolver pode ser definido como:

Com a disponibilidade para que usuários armazenem grandes quantidades de arquivosem nuvem, tornou-se complexa a filtragem de conteúdo relevante em meio a essa massa de dados.Demandando maior tempo e utilizando mais recursos computacionais para a realização destatarefa.

4http://aws.amazon.com/pt/s3/ Acessado em: 07/09/20135https://www.dropbox.com/ Acessado em: 07/09/20136https://www.sugarsync.com/googtrans(en|pt) Acessado em: 07/09/2013

Page 19: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

17 1.3. SOLUÇÃO PROPOSTA

1.3 Solução Proposta

O estudo apresentado neste trabalho investiga qual a melhor forma de utilizar caracte-rísticas de sistemas de armazenamento em nuvem na geração de recomendação de arquivosnestes sistemas. Assim assume-se que ao associar as características do ambiente à técnica derecomendação baseada em conteúdo, podem ser geradas recomendações de arquivos por meiode um modelo que atenda as preferências do usuário e proporcione uma melhor utilização dosrecursos disponíveis pelos sistemas de armazenamento em nuvem.

Definida a proposta que solucione os problemas de pesquisa, apresentados ao longodesse trabalho, é investigada a aplicabilidade da proposta em um sistema de armazenamento emnuvem “Ustore7”. Desta forma, pode-se definir que o objetivo geral deste trabalho é propor eavaliar um modelo de recomendação de arquivos para sistemas de armazenamento em nuvemque utilize características da nuvem no processo de recomendação.

Ao final deste trabalho, espera-se propor um modelo de recomendação de arquivospara sistemas de armazenamento em nuvem. Esse modelo permitirá recomendar conteúdo queatenda as preferências do usuário e que proporcionem amenização do tempo gasto na filtragempor conteúdo relevante e no tempo gasto no download desses arquivos, além de recomendararquivos que apresentem as melhores taxas de disponibilidade. Para alcançar o objetivo principalapresentado nesta seção, os seguintes passos foram definidos:

� Realizar uma revisão bibliográfica sobre Sistema de Recomendação em Nuvem(SRN), agregando maior entendimento teórico ao tema. A partir desta revisão, pôde-se identificar limitações nos trabalhos relacionados.

� Identificar as propostas adotadas hoje pelos sistemas de armazenamento emnuvem para realizar recomendações e quais técnicas e critérios são utilizados nageração destas recomendações.

� Realizar um levantamento de características de sistemas de armazenamentoem nuvem para que sejam propostos critérios a serem utilizados pelo modelo nageração de recomendações.

� Definir os critérios que serão utilizados na geração de recomendações.

� Definir a relevância de cada critério na geração de recomendações.

� Definir o modelo do cálculo de recomendação para a geração de novas recomen-dações.

� Realizar um estudo para avaliar o modelo proposto em um cenário real.

7http://usto.re/

Page 20: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

18 1.4. ESTRUTURA DESTE DOCUMENTO

O modelo proposto neste trabalho tem como objetivo possibilitar a recomendação deconteúdo em sistemas de armazenamento em nuvem, e para isto, primeiramente, foi executado arevisão da literatura disponível sobre sistemas de recomendação, sistemas de armazenamento ecomputação em nuvem, analisando as propostas disponíveis na literatura. Como complementosforam analisados os modelos de filtragem de conteúdo utilizados por sistemas de armazena-mento em nuvem, que apresentem em suas características alguma semelhança com a propostadesta pesquisa. Este processo de revisão gerou conteúdo e conhecimento que auxiliaram odesenvolvimento deste projeto.

Foi realizada uma revisão detalhada da bibliografia referente ao tema desta pesquisa,os trabalhos relacionados ao trabalho foram encontrados em bibliotecas ou repositórios depublicações. Todos os trabalhos relacionados ao tema da pesquisa foram armazenados comoresultados das buscas, bem como catalogadas todas as referências utilizadas na dissertação. Comtoda a revisão da literatura já realizada sobre o tema desta pesquisa, em seguida foi modelada aproposta apresentada neste trabalho.

Na modelagem da proposta foram realizadas atividades de definição do modelo derecomendação, para isso foram realizadas análises e estudos em trabalhos encontrados na re-visão da literatura. Para avaliar a proposta, foi desenvolvido um protótipo de um sistemade recomendação utilizando o modelo RecCloud, com o objetivo de simular a aplicaçãodo modelo em um ambiente real de armazenamento em nuvem, para isso foram utilizadasferramentas de apoio ao desenvolvimento, tais como Eclipse (THE ECLIPSE FOUNDA-TION - ECLIPSE PROJECTS. DISPONíVEL, 2013), com auxílio do Java Development

Kit (JDK) da linguagem de programação Java (JAVA PLATFORM, STANDARD EDITION<TTP://WWW.ORACLE.COM/TECHNETWORK/JAVA>, 2013). O protótipo foi desenvolvidocomo parte integrante do sistema de recomendação baseado em conteúdo do sistema de armaze-namento em nuvem Ustore 8. O desenvolvimento do protótipo possibilitou a coleta de resultados,e para isto alguns dados sobre o cenário de execução foram simulados.

1.4 Estrutura deste Documento

Neste capítulo foi apresentada uma breve introdução sobre esta pesquisa, foram mostra-dos problemas que justificam e motivam a execução de tal pesquisa, bem como apresentado osobjetivos da mesma. O resto deste trabalho está dividido nos seguintes capítulos:

Capítulo 2 apresenta a Fundamentação Teórica acerca da pesquisa, recursos que contri-buíram para este trabalho e os trabalhos relacionados.

Capítulo 3 apresenta o modelo RecCloud como desenvolvimento desta pesquisa e osdetalhes da implementação.

Capítulo 4 apresenta a avaliação do modelo proposto e os resultados obtidos.Capítulo 5 apresenta a conclusão da pesquisa apontando possíveis trabalhos futuros.

8http://usto.re/

Page 21: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

191919

2Fundamentação teórica e Trabalhos Relaci-onados

Neste capítulo serão apresentados os conceitos de computação em nuvem, sistemas dearmazenamento em nuvem, sistemas de recomendação e suas principais técnicas, conceitos-chavedesta dissertação, bem como alguns trabalhos relacionados ao tema desta pesquisa.

2.1 Computação em Nuvem

O National Institute of Standards and Technology (NIST) define computação em nuvemcomo um modelo que permite que um conjunto de recursos computacionais possam ser fornecidossob demanda de forma a permitir que os mesmos sejam fornecidos e liberados rapidamente como mínimo de esforço de gestão ou interação do fornecedor MELL; GRANCE (2009). Vaquero etal.VAQUERO et al. (2008) define computação em nuvem como um grande conjunto de recursosvirtualizados (hardware, plataformas de desenvolvimento e/ou serviços) facilmente usáveis eacessíveis. A arquitetura da computação nas nuvens é comumente representada em camadas:Software como serviço, Plataforma como Serviço e Infraestrutura como serviço. Nesse modelocada camada está construída sobre os serviços oferecidos pela camada de baixo LENK et al.(2009), conforme apresentado na Figura 2.1.

� Infrastructure-as-a-Service (IAAS): É o fornecimento de recursos computacionaiscomo: capacidade de processamento, armazenamento e conectividade. Tomandoarmazenamento como um exemplo, quando o usuário usa um serviço de armazena-mento em computação em nuvem, ele somente paga a parte que foi efetivamenteconsumida sem comprar nenhum disco rígido ou até mesmo sem nem conhecer alocalização dos seus dados armazenados. Um exemplo de IaaS é o Amazon WebServices (Amazon AWS)1, principalmente, através do Amazon Elastic ComputeCloud (Amazon EC2) 2;

1http://aws.amazon.com/ Acessado em: 16/09/20132http://aws.amazon.com/ec2/ Acessado em: 16/09/2013

Page 22: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

20 2.1. COMPUTAÇÃO EM NUVEM

Figura 2.1: Arquitetura em camadas para computação em nuvem MACHADO (2013)

� paas! (paas!): Fornece a infraestrutura e dá suporte a um conjunto de interfaces deprogramação para aplicações em nuvem. É o meio entre o hardware e as aplicações.Um bom exemplo de PaaS é a plataforma de serviços do Microsoft Azure 3;

� Software-as-a-Service (SAAS): Em SaaS o objetivo é substituir as aplicações querodam nos computadores. Ao invés de comprar o software por um preço relativamentealto, o usuário paga pelo que é usado do SaaS, o que pode gerar economia, observandoque o usuário só pagará pelo que usar. Um dos pincipais problemas é a baixa taxa detransmissão de dados na rede em determinadas localidades o que é fatal para algumasaplicações, como sistemas de tempo real. Um exemplo muito conhecido de SaaS é oDropbox 4;

A computação em nuvem traz três novos aspectos em Hardware VOGELS (2008):

a) A ilusão de recursos computacionais infinitos disponíveis sob demanda, eliminandoassim a necessidade dos usuários planejarem muito à frente para provisionamento derecursos;

b) A eliminação de um compromisso antecipado por parte dos usuários da nuvem,permitindo que as empresas comecem pequeno e aumentem os recursos de hardware

apenas quando há um aumento de suas necessidades;

3http://www.windowsazure.com/ Acessado em: 16/09/20134http://www.dropbox.com Acessado em: 18/09/2013

Page 23: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

21 2.1. COMPUTAÇÃO EM NUVEM

c) A capacidade de pagar somente pelo que foi usado dos recursos computacionais (porexemplo, os processadores por hora e armazenamento por dia), e liberar recursoscontratados facilmente quando não são mais necessários;

A computação em nuvem é composta por Software e Hardware, do ponto de vista deimplementação, a computação em nuvem se destaca em 4 (quatro) vertentes:

� Nuvem Privada: oferece serviços para a própria organização, sendo operada eutilizada apenas pela mesma.

� Nuvem Comunitária: baseia-se em um ambiente de computação em nuvem com-partilhado entre organizações com interesses em comum.

� Nuvem Pública: é um modelo que disponibiliza ambientes para o público emgeral e são normalmente comercializadas por corporações com grande poder dearmazenamento e processamento.

� Nuvem Híbrida: basea-se na composição entre dois ou mais ambientes de estruturasdistintas, nuvem privada e nuvem pública, por exemplo, gerando uma única nuvem,porém a conexão entre essas é feita a partir de tecnologias proprietárias.

De acordo com Mell e Grance (2009) MELL; GRANCE (2009), computação em nuvempossui algumas características que se destacam, são elas:

� Serviço sob demanda: o provimento automatizado de funcionalidades computacio-nais, não necessitando de intervenção humana com o provedor do serviço;

� Amplo acesso a serviços: permite a disponibilização de recursos através da rede,habilitando o acesso a clientes de diferentes e diversos dispositivos que podem sercomputadores, smartphones, dentre outros;

� Multitenância: permite o provimento de serviços a múltiplos usuários, e tais serviçospodem ser alocados dinamicamente de acordo com a demanda;

� Elasticidade: correspondente à escalabilidade. Oferece ao usuário a sensação de teros recursos disponíveis de forma ilimitada e a qualquer instante;

� Tarifação: segue o conceito pay-as-you-go, ou seja, o usuário paga somente peloque for usado.

Dentre os principais desafios da computação em nuvem, destacam-se os desafios deprover segurança e a instável conexão de Internet de lugares geograficamente remotos. Asegurança em ambientes em nuvem é constantemente contestada e se torna tema frequente dediscursos científicos, questionando sempre sobre a segurança e o sigilo de dados armazenados

Page 24: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

22 2.1. COMPUTAÇÃO EM NUVEM

principalmente em nuvens públicas. Locais geograficamente remotos apresentam baixas taxasde transferências de dados pela Internet, impossibilitando o uso eficiente de serviços em nuvem,em contraste de grandes centros com altas taxas de conexão com a Internet, possibilitando o usode serviços em nuvem em sua total capacidade.

2.1.1 Armazenamento de Dados em Nuvem

Na Seção anterior, apresentamos que a utilização da computação em nuvens permite queos usuários possam alocar recursos dinamicamente, de acordo com sua necessidade. Entre essesrecursos está o de armazenamento, o qual provê recursos e serviços de armazenamento baseadosem servidores remotos que utilizam os princípios da computação em nuvem ZENG et al. (2009).Armazenamento em nuvem tem duas características básicas: a primeira trata da infraestrutura danuvem, a qual baseia-se em clusters de servidores baratos; a segunda tem o objetivo de, atravésdos clusters de servidores, armazenamento distribuído e redundância de dados, fazer múltiplascópias dos dados armazenados para alcançar dois requisitos: alta escalabilidade e alta usabilidade.A alta escalabilidade significa que o armazenamento em nuvem pode ser dimensionado para umgrande aglomerado com centenas de nós ou peers de processamento. Alta usabilidade significaque o armazenamento em nuvem pode tolerar falhas de nós e que estas falhas não afetam todo osistema DENG et al. (2010).

Com a popularização da computação em nuvem, cresceu o número de sistemas utilizadospara armazenamento em nuvem. O serviço oferecido por estes sistemas baseiam-se no software

que é executado em um cluster de servidores, os quais armazenam em seus discos rígidos osarquivos dos clientes. Normalmente, cada cliente possui um processo que controla a transferênciade arquivos entre a máquina do usuário e os servidores na nuvem. Este processo também tem afunção de se certificar que os dados enviados sejam espalhados por outros servidores no cluster

e manter a sincronia dos dados na máquina do cliente e os dados armazenados, ou seja, novosdados gerados na máquina do cliente deverão ser salvos na nuvem e, caso os dados locais sejamperdidos, recuperá-los MACHADO (2013).

Com a expansão do mercado e das tecnologias em nuvem surgiram diversos sistemasde armazenamento de dados em nuvem, como, por exemplo, DropBox5, Box6, Mozy Review7,JustCloud Review8 e Ustore9, estes são alguns dentre os diversos sistemas de armazenamentoem nuvem existentes.

Os sistemas de armazenamento em nuvem se mostram bastantes atrativos aos usuários,por fornecerem as opções de acesso, recuperação e armazenamento de arquivos de qualquerlugar e a qualquer hora. Desta forma, os usuários desses serviços podem armazenar arquivos em

5https://www.dropbox.com/ Acessado em: 18/09/20136https://www.box.com/ Acessado em: 18/09/20137http://www.mozy.com/ Acessado em: 18/09/20138http://www.justcloud.com/ Acessado em: 18/09/20139http://usto.re/ Acessado em: 18/09/2013

Page 25: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

23 2.2. SISTEMAS DE RECOMENDAÇÃO

diversos formatos e tamanhos (.pdf, .doc, HTML, XML, RTF, arquivos compactados, imagens,arquivos de áudio e diversos outros formatos de arquivos), alguns desses serviços limitam otamanho máximo de um único arquivo que pode ser armazenado, normalmente esta limitaçãoacontece em sistemas públicos. Os sistemas de armazenamento em nuvem, em sua maioriabaseiam-se nos princípios de pay-as-you-go, ou seja, o usuário paga pelo espaço que utilizar nosistema.

As vantagens e atrativos apresentados por este tipo de sistemas atraem cada vez maisusuários, o que acaba contribuindo para o crescimento da massa de dados na nuvem. O que tornaa atividade de filtragem de conteúdo considerado relevante, complexa e trabalhosa, fazendo comque usuários demandem mais tempo na busca por conteúdo de seu interesse. Observando estecenário é possível afirmar que a utilização de mecanismos de recomendação em sistemas dearmazenamento em nuvem torna-se imprescindível, devido ao crescimento constante no volumede dados nesses sistemas.

O sistema de armazenamento em nuvem Ustore utilizado como ambiente de avaliação daproposta desta pesquisa pode ser classificado como PaaS (Plataforma como um serviço). Porser um software que oferece ao usuário um serviço para armazenamento e backup de dados emnuvem privada ou pública de forma mais barata por meio da utilização de recursos ociosos jáexistentes nas estações de trabalho ou servidores SILVA A. MACHADO (2013).

2.2 Sistemas de Recomendação

(SR) são softwares e técnicas que fornecem sugestões de itens que podem ser úteis aousuário. As sugestões apresentadas têm como objetivo apoiar os seus utilizadores em váriosprocessos de tomada de decisão, tais como que produto comprar, qual música ouvir, ou quenotícia ler. Sistemas de recomendação provaram ser, meios valiosos para os usuários on-line

para lidar com a sobrecarga de informação e tornaram-se uma das ferramentas mais poderosase populares do comércio eletrônico. Correspondentemente, várias técnicas para a geração derecomendação foram propostas durante a última década RICCI et al. (2011).

Os mecanismos de recomendação tentam automatizar a filtragem de dados buscados porum item a partir dos dados desse mesmo usuário ou de outros similares que o sistema já tenhaincorporado. Esses dados costumam ser: visitas a determinadas páginas, dados geográficos, sexo,preferências, entre outros. Devido a essa propriedade, mecanismos de recomendação têm sidomuito utilizados por empresas para tentar conhecer as preferências de seus consumidores, assimpodendo encontrar sempre a melhor sugestão para um determinado cliente ADOMAVICIUS;TUZHILIN (2005) CHAKOO; GUPTA; HIREMATH (2008).

Um sistema de recomendação normalmente se concentra em um tipo específico de iteme usuário, por exemplo artigos acadêmicos para professores e, consequentemente, a sua técnicade recomendação usada para fazer as recomendações, são todas personalizadas para fornecerinformações úteis e eficazes para um tipo específico de item e usuário RICCI et al. (2011).

Page 26: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

24 2.2. SISTEMAS DE RECOMENDAÇÃO

Uma recomendação pode se basear nas preferências de quem a faz e pode ser dirigida aum indivíduo específico, ou para um público maior. Para a pessoa que recebe a recomendação,ela funciona como um filtro ou uma visão particular de um universo de possibilidades geralmenteinacessível. Ela pode levar em consideração também a preferência de quem está à procura desugestões e não apenas de quem a faz. É possível até mesmo fazer recomendação baseada nasopiniões de outras pessoas. Alguém que não é admirador do gênero Rock pode recomendar discosbaseado no que seus amigos que apreciem tal estilo costumam ouvir. Ainda, a recomendaçãopode incluir explicações sobre como ela foi gerada para permitir que o seu recebedor a avalieSAMPAIO (2006) .

A Figura 2.2 ilustra o modelo geral para o processo de recomendação apresentado porTerveen et al. TERVEEN; HILL (2001). Esta Figura será útil para entendermos o funcionamentoe a utilização dos sistemas de recomendação.

Figura 2.2: Modelo do Processo de Recomendação.

Os elementos envolvidos no processo são:

� Alvo da recomendação: principal ator do processo e destinatário da recomendação.O usuário pode apenas receber as sugestões ou pode fornecer também suas opiniõessobre os itens da base de informação, gerando conteúdo para novas recomendações;

� Base de informação: local onde se encontram todas as escolhas e informações deinteresse do usuário;

� Provedor de Recomendação: agente que seleciona e recomenda os itens da basede informação que têm maior similaridade com as preferências do usuário. Paraidentificar quais são esses itens, o provedor da recomendação pode se basear naspreferências informadas pelo próprio usuário, nas preferências de outras pessoas e/ouno conteúdo dos itens;

� Provedores de preferência: todo processo de recomendação está baseado em indi-cadores humanos de preferência. Assim, os provedores de preferência podem ser um

Page 27: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

25 2.2. SISTEMAS DE RECOMENDAÇÃO

conjunto de pessoas ou um único indivíduo cujas opiniões podem ser utilizadas peloprovedor de recomendações para gerar as sugestões;

2.2.1 Tarefas de um Sistema de Recomendação

É importante entendermos quais são as principais tarefas realizadas por sistemas derecomendação. As tarefas de um SR dizem respeito à sua comunicação com o usuário e asatisfação dos objetivos do usuário ao utilizá-lo SAMPAIO (2006).

A seguir descrevemos algumas das principais atividades realizadas por sistemas derecomendações juntamente com exemplos em sistemas reais.

� Mostrar as opiniões dos usuários do sistema acerca de um item de informação:Sistemas de informação on-line possibilitam que usuários forneçam suas opiniõesa respeito de: produtos de consumo, artigos científicos, negociadores de leilão eetc. Essas opiniões tornam-se visíveis a outros usuários do sistema, permitindo-lhesembasar a sua decisão nas opiniões de outras pessoas da comunidade. A indicaçãode preferência é geralmente feita através de uma nota que o usuário atribui a umitem podendo também anexar uma descrição textual de seu ponto de vista SAMPAIO(2006). Na Figura 2.3 é apresentado um exemplo de como a indicação de preferênciaé feita pelo usuário;

Figura 2.3: Opiniões dos usuários do site Netshoes sobre um item da loja NETSHOES.DISPONíVEL EM: <HTTP://WWW.NETSHOES.COM.BR/> (2013)

� Mostrar os itens mais comumente acessados da base: Essa é uma das tarefasmais comumente presentes em sistemas de recomendação. É comum em sites decomércio eletrônico haver uma lista de itens mais vendidos ou mais populares. Essacaracterística apoia-se no fato de que as pessoas frequentemente procuram saber aopinião da maioria no momento de tomar uma decisão SAMPAIO (2006). Na Figura2.4 apresentamos um exemplo de livros mais vendidos no site Submarino;

Page 28: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

26 2.2. SISTEMAS DE RECOMENDAÇÃO

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

� Mostrar uma lista de itens relevantes para um usuário com base no contextovisualizado por ele em dado momento: Atualmente vários sites de comércio eletrô-nico como por exemplo, Mercado Livre10, Amazon11 e Netshoes12, são capazes deidentificar os itens nos quais o usuário demonstra interesse ao longo de uma sessãode uso do sistema e, com base nisto, selecionar outros itens que podem ser relevantespara ele. Geralmente, os itens que o sistema assume como sendo do interesse dousuário são os que os usuários procuram, visualizam ou compram SAMPAIO (2006).A Figura 2.5 mostra um exemplo em que um sistema fornece recomendações deoutros discos, DVDs e livros que podem interessar a um usuário que está procurandopor um determinado álbum;

� Mostrar ao usuário uma lista de itens interessantes levando em consideraçãoo seu perfil: Neste caso, o sistema de recomendação é capaz de manter um perfilcontendo os interesses demonstrados pelo usuário no decorrer dos uso que ele fezdo sistema. Com essa característica, o sistema é capaz de fornecer um alto graude personalização nas recomendações feitas, apresentando ao usuário uma visãobastante particular da base de informações. A Figura 2.6 mostra a lista de filmessugeridos a partir do filme As Good As It Gets;

10http://www.mercadolivre.com.br/ Acesso em 21/01/201411http://www.amazon.com.br/ Acesso em 21/01/201412http://www.netshoes.com.br/Acesso em 21/01/2014

Page 29: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

27 2.3. TÉCNICAS DE SISTEMAS DE RECOMENDAÇÃO

Figura 2.5: Exemplo de uso da Amazon.com em que o sistema sugere outros produtosrelevantes para o usuário interessado no disco Kind Of Blue SAMPAIO (2006)

Figura 2.6: Recomendação gerada pelo sistema do IMDB a partir do filme As Good As ItGets SAMPAIO (2006)

2.3 Técnicas de Sistemas de Recomendação

O desenvolvimento de sistemas de recomendação é um esforço multidisciplinar, que en-volve especialistas de diversas áreas, como a inteligência artificial, interação Humano-Computador,mineração de dados, estatística, sistemas de apoio à decisão e marketing RICCI et al. (2011).

Page 30: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

28 2.3. TÉCNICAS DE SISTEMAS DE RECOMENDAÇÃO

Com o objetivo de implementar a sua função principal, identificando os itens similaresaos interesses do usuário, um sistema de recomendação deve prever se vale a pena recomendarum item. O sistema deve ser capaz de prever a utilidade dos itens recomendados, ou, pelo menos,comparar a utilidade de alguns itens, e então decidir quais itens recomendar RICCI et al. (2011).

As duas técnicas de recomendação mais utilizadas e destacadas na literatura são sistemasde recomendação por filtragem colaborativa e sistemas de recomendação baseado em conteúdoSU; KHOSHGOFTAAR (2009). Na prática essas duas técnicas normalmente são usadas com-binadas com outras técnicas de recomendação ADOMAVICIUS; TUZHILIN (2005) BURKE(2002) PALAU et al. (2004).

2.3.1 Sistemas de Recomendação por Filtragem Colaborativa

A abordagem de recomendação por filtragem colaborativa foi proposta inicialmente parasuprir as deficiências da abordagem baseada em conteúdo. Com o passar dos anos, conquistoutamanha aceitação que hoje é provavelmente a técnica mais amplamente conhecida, imple-mentada e utilizada para sistemas de recomendação ANSARI; ESSEGAIER; KOHLI (2000)HERLOCKER (2000) RICCI et al. (2011).

Na abordagem colaborativa, em contraste com a recomendação baseada em conteúdo,a compreensão ou conhecimento do conteúdo dos itens é totalmente prescindível. Ao invésde buscar itens disponíveis com conteúdos similares aos previamente avaliados positivamentepelo usuário para indicá-los, ela se apoia inteiramente na similaridade entre os usuários dosistema para o processo de sugestão. Partindo do princípio de que as melhores recomendaçõespara um indivíduo são aquelas feitas por pessoas com preferências similares às dele, o sistemaidentifica estas pessoas para sugerir itens que as mesmas tenham aprovado e ainda não tenhamsido consumidos pelo indivíduo SAMPAIO (2006).

Dentro da categoria de mecanismos de recomedação colaborativa, existem ainda duasoutras subtécnicas: Baseado em Modelo e Baseado em Memória ADOMAVICIUS; TUZHILIN(2005) BURKE (2002).

� Filtro Colaborativo Baseado em Modelo: O objetivo desta técnica é de fazer pre-dições de agrupamento de usuários, criando modelos, para realizar as recomendações.Para criar os agrupamentos, utilizam-se técnicas como redes neurais;

� Filtro Colaborativo Baseado em Memória: A técnica Baseada em Memória é ummecanismo que gera recomendações a partir de avaliações anteriores dadas pelosusuários e outros dados do sistema. Para isso, utiliza-se algoritmos de correlaçãocomo a correlação de cossenos;

Normalmente estas duas técnicas se complementam na implementação de sistemas derecomendação, para situações onde agrupamentos são viáveis, utiliza-se a técnica baseada em

Page 31: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

29 2.3. TÉCNICAS DE SISTEMAS DE RECOMENDAÇÃO

modelo. Quando agrupamentos não são viáveis, utiliza-se a técnica baseada em memória VIEIRA(2013).

De acordo com Sampaio (2006) SAMPAIO (2006), o processo de recomendação porfiltragem colaborativa pode ser definido em três etapas, explicadas a seguir:

� Coleta de dados: nesta etapa é coletado as preferências do usuário para a definiçãodo seu perfil. As preferências podem ser obtidas tanto de forma explícita comoimplícita. Na primeira, o sistema espera do usuário avaliações objetivas e diretasdos itens. São dados fáceis para se trabalhar, entretanto a desvantagem deste tipo decoleta é que a responsabilidade fica na mão do usuário, que pode não querer dispor doseu tempo para avaliar os itens. Na segunda forma, o sistema aprende sobre o usuárioa partir das suas ações, do seu comportamento. Por exemplo, o acesso voluntáriode um arquivo pode ser visto como uma aprovação. Esta forma não depende da boavontade do usuário, entretanto oferece dados difíceis para se trabalhar e por vezesesbarra na barreira da privacidade;

� Formação de vizinhança: o objetivo desta etapa é identificar os usuários maissimilares ao usuário alvo, baseando-se nas suas preferências em comum. Este grupode usuários recebe o nome de vizinhança;

� Recomendação: nesta etapa a recomendação é realizada com base na vizinhança dousuário, o qual receberá como sugestões 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 geração de recomendaçõespersonalizadas, e pode ser aplicada em diversos domínios, e perfeitamente alinhada com adefinição da evolução da Internet.

Existem desvantagens em utilizar o Filtro Colaborativo. Um dos principais problemas éo do novo item ou novo usuário, em que um item pode ter poucas avaliações ou um usuário podeter poucos itens que gosta ADOMAVICIUS; TUZHILIN (2005). Outra questão ocorre devido àdiversidade humana é a ovelha negra, em que os usuários são iguais em alguns aspectos, masnão necessariamente querem sempre o mesmo item BURKE (2002).

Na utilização da técnica de recomendação por filtragem colaborativa em sistemas dearmazenamento em nuvem, o principal problema pode ser considerado o do novo item, quepode gerar reflexos negativos nas recomendações. Pelo fato que em sistemas de armazenamentosempre são adicionados novos arquivos que podem ser relevantes ao usuário, porém por serum novo item no sistema, este pode ter poucas ou nenhuma avaliação. Este cenário motivou autilização da técnica de recomendação baseada em conteúdo para compor o modelo propostonesta pesquisa.

Page 32: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

30 2.4. TRABALHOS RELACIONADOS

2.3.2 Sistemas de Recomendação Baseados em Conteúdo

Esta categoria de sistemas recomenda ao usuário itens semelhantes àqueles em que eledemonstrou interesse no passado. Para tanto, o sistema analisa as descrições dos conteúdos dositens avaliados pelo usuário para montar o seu perfil, o qual é utilizado para filtrar os demaisitens da base BLANCO-FERNANDEZ et al. (2008) PAZZANI; BILLSUS (1997) RICCI et al.(2011). Esse conteúdo no qual ele se baseia são elementos explícitos como nome, descrição, tags,conteúdo, categorização ou rating do item a ser recomendado VIEIRA (2013). Os resultados sãoo julgamento da relevância daqueles itens para o usuário, e a consequente recomendação ou nãoSAMPAIO (2006).

Uma das vantagem de implantar o Filtro Baseado em Conteúdo é que a quantidade deusuários no sistemas não interfere na eficácia do SR, já que se baseia somente no histórico doque o usuário já acessou. Em contrapartida, um sistema assim precisa de itens bem descritos,com informação suficiente para categorizá-los STORMER H.; WERRO; RISCH (2006). Outroproblema encontrado nesse tipo de recomendação é a sugestão de itens sempre muito parecidos,limitando os usuários de conhecer itens diferentes VIEIRA (2013).

O melhor uso do Filtro Baseado em Conteúdo descrito até agora se aplica em sistemascom poucos usuários e muita informação sobre os itens. Quando um usuário é novo emum sistema, o Filtro Baseado em Conteúdo também possui muita utilidade, pois não temosmuita informação sobre aquele novo usuário e outras técnicas como o Filtro Colaborativo, quemostremos anteriormente, são pouco eficientes quando há pouca informação sobre o usuárioADOMAVICIUS; TUZHILIN (2005) BURKE (2002).

O modelo proposto nesta pesquisa utiliza a técnica de recomendação por filtragembaseada em conteúdo associada às características da nuvem. Está técnica foi a que mais seencaixou no cenário de aplicação desta proposta, onde sistemas de armazenamento em nuvemnem sempre contém uma grande quantidade de usuários, e o sistema necessita recomendararquivos a partir das informações de apenas um único usuário. Outro ponto que motivoua escolha desta técnica foram os itens, que na maioria das vezes, são bem descritos nestesambientes, a partir do conteúdo dos mesmos. Além destes aspectos, a partir desta propostapode-se amenizar um dos principais problemas desta técnica, ponderando os critérios propostosevitando assim a recomendação de itens muitos similares e não ocultando novos conteúdos aousuário.

2.4 Trabalhos Relacionados

Nesta seção, serão analisados os trabalhos relacionados com sistemas de recomendaçãobaseados em conteúdo, e demonstra como os principais sistemas de recomendação utilizam ascaracterísticas da nuvem para prover recomendações. Os trabalhos selecionados são os que maisse aproximam da proposta desta pesquisa.

Page 33: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

31 2.4. TRABALHOS RELACIONADOS

2.4.1 Sistemas de Recomendação de Arquivos

Sistemas de recomendação de arquivos são amplamente utilizados em bibliotecas digitaise ambientes de ensino e pesquisa. Na implementação destes sistemas são utilizadas as maisvariadas técnicas de recomendação, como, por exemplo, recomendações baseadas em conteúdo,onde os arquivos são recomendados de acordo com a similaridade entre o arquivo e as preferênciasdo alvo da recomendação. Outra forma utilizada na recomendação de arquivos é a recomendaçãopor filtragem colaborativa, recomendado arquivos a usuários pela similaridade entre os própriosusuários. A seguir, são apresentados alguns trabalhos encontrados na literatura que apresentampropostas de sistemas de recomendação de arquivos.

JIANG et al. (2012) apresenta um sistemas de recomendação de artigos acadêmicosutilizando a técnicas de recomendação baseada em conteúdo. A proposta tem como objetivorecomendar artigos científicos que tenham o conteúdo do seu resumo similar ao conteúdo deartigos que o usuário tenha demostrado preferência. A preferência do usuário é medida de acordocom os artigos que ele realizou a leitura. Neste caso, se o usuário leu um determinado artigo,o sistema entende que este artigo representa as suas preferências. Para calcular a similaridadeentre o artigo que representa às preferências do usuário e os artigos candidatos à recomendação,é utilizada a técnica de similaridade do cosseno, esta abordagem é amplamente utilizada emsistemas de recomendação para calcular a similaridade entre itens.

O trabalho de JIANG et al. (2012), se assemelha com a proposta desta pesquisa, porpropor um sistema de recomendação baseado em conteúdo, utilizando a técnica de similaridadedo cosseno, e também propõe uma contribuição relevante em sua avaliação, que é a utilização datécnica NDCG, técnica que é utilizada para avaliar este tipo de sistema. O modelo RecCloud sediferencia desta abordagem, por propor a utilização de características do ambiente em nuvemassociadas à técnica de recomendação baseada em conteúdo.

TIAN; JING (2013) propõe um sistema de recomendação híbrido (baseado em conteúdoe que utilize características da técnica de recomendação por filtragem colaborativa). Este trabalhotem como objetivo amenizar um dos principais problemas da técnica CB, que é a recomendaçãode conteúdo sempre muito similar às preferências do usuário, o que pode ocultar novos conteúdos.Outro problema que esta proposta objetiva amenizar, é a recomendação sempre de artigos muitoantigos, por serem artigos bem citados e referenciados, ocultando novos artigos que podem trazercontribuições relevantes aos usuários. Na avaliação da proposta é utilizada a métrica Recall. Estetrabalho se diferencia da proposta desta pesquisa por apresentar um sistema de recomendaçãohíbrido e por não utilizar características do ambiente em nuvem na geração de recomendações.

2.4.2 Sistemas de Recomendação em Nuvem

Existem alguns trabalhos na literatura que discutem e apresentam sistemas de reco-mendação em nuvem. Nesta seção, serão apresentados alguns SRs destacando o modelo derecomendação utilizado, objetivando avaliar as contribuições e diferenciais desta pesquisa.

Page 34: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

32 2.4. TRABALHOS RELACIONADOS

a) LEE; LEE; LEE (2010), apresentam um sistema de recomendação de canais TelevisãoDigital (DTV) em um ambiente em nuvem. Estes propõem a análise, a utilização dospadrões de visualizações do usuário no ambiente para personalizar a recomendaçãode canais e o uso eficiente dos recursos computacionais do contexto. As recomen-dações desta proposta são geradas por meio da técnica de recomendação baseadaem conteúdo, onde o sistema analisa as interações passadas do usuário no ambiente,tornando essas as preferências do usuário. Nesse trabalho, são utilizadas tecnologiasde computação em nuvem para realizar a análise de padrões de visualizações dosconsumidores, com o objetivo de personalizar a recomendação de canais.

A proposta de LEE; LEE; LEE (2010), se assemelha a proposta desta pesquisa porapresentar um modelo de recomendação em um sistema em nuvem e por ter comoobjetivo prover o uso eficiente dos recursos computacionais da nuvem. O sistema derecomendação para canais de TV Digital poderia ter melhorias significativas fazendouso dos critérios propostos nesta pesquisa, como o critério disponibilidade, destaforma os canais recomendados seriam os canais que apresentassem as melhorestaxas de disponibilidade podendo utilizar como parâmetro de acesso a localidadee a conexão do usuário. Outro ponto que poderia ser agregado à proposta seriadisponibilizar ao próprio usuário a opção de solicitar suas recomendações para aspreferências que ele escolhesse e não apenas receber recomendações de acordo comsuas interações no sistema. Diante destas observações, observamos a importânciade utilizar a disponibilidade dos arquivos na nuvem e a conexão do usuário com osistema, para proporcionar a melhor utilização dos recursos computacionais pelousuário.

b) Outro trabalho que pode ser mencionado é o de LAI et al. (2011) que apresentam umsistema de recomendação de programas de televisão (TV) baseado em computaçãoem nuvem e um framework map-reduce. Esta proposta de arquitetura tem comoobjetivo ofertar um backend escalável para suportar a demanda de processamento dedados em larga escala para um sistema de recomendação. No que tange os usuários,LAI et al. (2011), os agrupam de acordo com suas preferências, cada programa deTV recebe um peso, que é atribuído de acordo com o período de tempo que o usuárioo assistiu. A popularidade de um programa é indicada pelo seu peso, os programaspopulares em um grupo de usuários, são recomendados para usuários de outrosgrupos que tenham semelhanças de preferências entre si. Nesta pesquisa os autorespropõe a utilização de técnicas de computação em nuvem para lidar com grandesconjuntos de dados, devido ao seu poder computacional e de estrutura escalável.

O trabalho de LAI et al. (2011), se torna interessante para está pesquisa por propora utilização de recursos de computação em nuvem para filtrar grandes conjuntos dedados, com o objetivo de recomendar canais de TV. Uma característica interessante

Page 35: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

33 2.4. TRABALHOS RELACIONADOS

desta proposta é a relevância dada a cada canal candidato a ser recomendado. A rele-vância é atribuída de acordo com a quantidade de tempo que o usuário permaneceuassistindo um canal, ou seja, o canal será mais relevante que os demais se o usuáriotiver passado um período maior de tempo assistindo-o. Diante desta observação, pro-pomos como critério de relevância para os artigos candidatos a serem recomendados,a quantidade de downloads realizados de um arquivo na nuvem, assim sendo, quantomais downloads um arquivo tiver mais relevante socialmente ele será na nuvem.

c) Outro trabalho relacionado é o de KONG; ZHAI (2012) que apresentam um sistemade recomendação de serviços em nuvem, que tem por finalidade recomendar ausuários da nuvem serviços similares as suas preferências. O sistema é baseado emconfiança e orientado a serviços de computação em nuvem. A ideia básica do SRproposto é calcular a confiança de serviços em nuvem disponíveis, onde o valor daconfiança é a combinação de confiança direta e a recomendação de confiança porparte do usuário.

KONG; ZHAI (2012) utiliza a confiança direta com a recomendação de confiança dosusuários para gerar recomendações de serviços em nuvem, onde o principal objetivo érecomendar serviços que atendam as necessidades e características do usuário, como,custo benefício e segurança. A partir da análise desse trabalho, foi observado que ocritério de recomendação de confiança do usuário pode ser utilizado como indicadode relevância social, desta forma, um arquivo seria relevante se fosse indicado porvários usuários, como indicação nesta pesquisa propomos a utilização dos downloads

feitos por um usuário. Se um determinado usuário realizar download de um arquivoem nuvem, então esse arquivo pode ser recomendado como conteúdo relevante. Umponto a ser discutido na proposta de KONG; ZHAI (2012), é a utilização de açõescomuns em sistemas em nuvem, como por exemplo, o compartilhamento de arquivos,que pode ser um indicador de recomendação de segurança, baseando-se na hipóteseque um usuário apenas compartilharia conteúdo relevante e seguro com um contatoseu.

d) JUNG et al. (2013), apresentam a plataforma CloudAdvisor de recomendação emnuvem. A proposta desta plataforma é recomendar configurações de nuvem deacordo com as preferências do usuário como orçamento, expectativa de desempenhoe economia de energia para determinada carga de trabalho. Permitindo ainda que ousuário faça comparação das recomendações recebidas, como qual é o melhor preçopara a carga de serviço desejada. A plataforma tem como objetivo auxiliar o usuáriona escolha dos melhores serviços e proporcionar aos provedores de serviço em nuvemà oportunidade de adequação as expectativas e preferências dos usuários.

A proposta de JUNG et al. (2013) recomenda serviços a usuários baseando-se emcaracterísticas fornecidas pelo próprio usuário, como a expectativas de desempenho,

Page 36: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

34 2.4. TRABALHOS RELACIONADOS

expectativa de preço e carga de trabalho. A utilização de características de serviçosem nuvem que o usuário tenha utilizado pode ser um critério interessante a seradicionado no modelo CloudAdvisor, desta forma, não exigiria que o usuário tivesseque dedicar certo tempo fornecendo informações para poder receber a recomendaçãodo serviço em nuvem que melhor se adeque as suas expectativas. O trabalho de JUNGet al. (2013) motivou está pesquisa a não utilizar o modelo de solicitar característicase informações ao usuário para poder montar o seu perfil de preferências, com oobjetivo de evitar a cansativa e repetitiva tarefa de responder formulários. Comopreferências do usuário, adotamos os arquivos salvos na nuvem pelo próprio usuário,com a tendência de que se um usuário salva um arquivo em sua conta na nuvem,isso significa que o conteúdo deste arquivo de certa forma representa uma de suaspreferências.

Existem diversos sistemas de recomendação disponíveis na Internet, e boa parte destessistemas estão relacionados à nuvem, seja como parte de sistemas em nuvem ou hospedadosem servidores em nuvem. Muitos deste utilizam dados da nuvem em suas recomendações oucaracterísticas da nuvem para gerar recomendações. A proposta desta pesquisa se diferenciadas demais descritas nesta seção por utilizar características da nuvem na geração de suasrecomendações, atribuindo pesos a cada característica. Desta forma, cada critério é parte darecomendação, que tem como objetivo proporcionar aos usuários a melhor utilização dos recursosem nuvem disponíveis.

2.4.3 Sistemas de Armazenamento em Nuvem

As maiores empresas da Internet que atuam como fornecedoras de serviços em nuvemGoogle13 e Amazon14 apostam na tecnologia de sistemas de recomendação, a primeira pararecomendar conteúdo personalizado a seus usuários e a segunda para vender produtos, comolivros e eletrônicos. Por sua vez os serviços de armazenamento em nuvem oferecido porestas empresas, Google Drive15 e Amazon S316(Simple Storage Systems), não dispõem destatecnologia para auxiliar os usuários na filtragem de conteúdo relevante.

O Amazon S3 só permite que o usuário realize buscas e consultas, ou seja, ele nãooferece o serviço de recomendação de arquivos. O mesmo acontece com o Google Drive, quenão disponibiliza o serviço de recomendação aos seus usuários. Desta forma, torna-se difícile complexa a tarefa de filtragem de conteúdo relevante em meio à imensidão de dados que seforma nos sistemas de armazenamento em nuvem.

13https://www.google.com.br, Acessado em 05/12/201314http://www.amazon.com/, Acessado em 05/12/201315https://drive.google.com, Acessado em 05/12/201316http://aws.amazon.com/s3/, último acesso em 05/12/2013

Page 37: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

35 2.5. CONSIDERAÇÕES FINAIS

Outros sistemas de armazenamento em nuvem como Dropbox17, SugarSync18, Wuala19,iCloud20, ZipCloud21, não disponibilizam serviços de recomendação de arquivos, o que dificultaa filtragem de conteúdo. A partir da análise realizada, é perceptível que a maioria dos sistemas nãopermite e não oferece o serviço de recomendação de arquivos. Diante deste cenário, propomosum modelo de recomendação voltado para ambientes de armazenamento em nuvem.

2.5 Considerações Finais

Neste capítulo, foi apresentada uma revisão dos conceitos de sistemas de recomendação,computação em nuvem e sistemas de armazenamento de dados em nuvem. Além disso, foidetalhado o processo de um sistema de recomendação, as principais técnicas utilizadas emSR, suas principais funcionalidades e alguns sistemas de recomendações que são utilizadosatualmente no mercado, assim como, alguns dos principais sistemas de armazenamento de dadosem nuvem.

Ainda neste capítulo, foram apresentados alguns trabalhos relacionados à sistemas derecomendação em nuvem. A partir da revisão da literatura, foram analisados trabalhos queapresentam relação com o modelo proposto neste trabalho ou que, de alguma forma, apresentemcontribuições para o desenvolvimento desta pesquisa. Foram realizadas análises minuciosas naliteratura e nos trabalhos relacionados, com o objetivo de elencar as relações entre o modeloproposto, os modelos já validados e em uso na indústria e na comunidade acadêmica.

Durante o decorrer desta pesquisa, não foram encontrados trabalhos que proponhamum modelo de recomendação que utilize as mesmas características da nuvem propostas nestetrabalho. Desta forma, podemos afirmar que esta proposta é inédita na literatura referente à áreade sistemas de recomendação para ambientes de armazenamento em nuvem.

A pesquisa bibliográfica ocorreu durante os anos de 2012 e 2013, onde foram seleciona-dos trabalhos relacionados ou com características semelhantes a proposta desta pesquisa. Asseleções foram realizadas nas bibliotecas digitais ACM Library22, IEEE Xplore Digital Library23,Scopus 24 e Science Direct25, de onde foram extraídos os trabalhos que embasaram o desenvolverda pesquisa.

Na maioria dos trabalhos analisados, são apresentados modelos e sistemas de recomen-dação que funcionam em ambientes em nuvem ou que recomendam arquivos e informaçõesque estão armazenadas em nuvem. Este trabalho se diferencia dos demais por apresentar uma

17http://www.dropbox.com, Acessado em 05/12/201318http://www.sugarsync.com/, Acessado em 05/12/201319http://www.wuala.com/, Acessado em 05/12/201320https://www.icloud.com/, Acessado em 05/12/201321http://www.zipcloud.com/, Acessado em 05/12/201322http://dl.acm.org/, último acesso em 08/12/201323http://ieeexplore.ieee.org/, último acesso em 08/12/201324http://www.scopus.com/, último acesso em 08/12/201325http://www.sciencedirect.com/, último acesso em 08/12/2013

Page 38: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

36 2.5. CONSIDERAÇÕES FINAIS

proposta de modelo para recomendação de arquivos em sistemas de armazenamento em nuvemque, utilize características da nuvem associadas à técnica de recomendação baseada em conteúdo.

No próximo capítulo será apresentado o modelo proposto por este trabalho.

Page 39: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

373737

3RecCloud

Durante todo o período de execução deste trabalho, foram realizados estudos e pesquisasque tiveram como principal finalidade elaborar uma modelo capaz de gerar recomendações dearquivos para ambientes de armazenamento em nuvem. Para isto, foram realizados estudosnas bibliografias pertinentes a este tema e os resultados destes estudos serviram para que fossepossível elaborar o modelo baseado em características da nuvem. Deste modo, este capítulo édestinado a descrever o modelo proposto nesta pesquisa.

3.1 Proposta

A partir da análise da literatura e dos sistemas de armazenamento em nuvem maispopulares e utilizados atualmente, é notório que esses sistemas não fornecem ao usuário oserviço de recomendação de arquivos. Na maioria dos sistemas de armazenamento em nuvem, afiltragem de conteúdo é realizada por sistemas de busca, onde o usuário fornece termos chavese o sistema retorna arquivos com o título ou conteúdo similar aos termos apresentados pelousuário.

Por outro lado, a enorme quantidade de sistemas de recomendação que rodam em nuvem,não utilizam características da nuvem na geração de suas recomendações. Esses sistemasnormalmente possuem como objetivo recomendar itens que atendam as preferências dos usuários,sem considerar requisitos do ambiente. Neste trabalho investiga-se a utilização de característicasda nuvem que podem ser usadas no processo de recomendação de arquivos em ambiente dearmazenamento em nuvem.

O modelo proposto nesta pesquisa foi denominado de RecCloud: Um Modelo de Reco-mendação de Arquivos Para Sistemas de Armazenamento em Nuvem. O processo de recomen-dação modelado neste trabalho é formado por características da nuvem associadas a técnica derecomendação baseada em conteúdo.

Page 40: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

38 3.2. O MODELO DE RECOMENDAÇÃO

3.2 O Modelo de Recomendação

O modelo de recomendação proposto é composto por cinco critérios, que foram utilizadosno processo de recomendação. Os critérios propostos foram definidos a partir da observação desistemas de armazenamento em nuvem. Os critérios são: Similaridade, Disponibilidade, Taxa deDownload, Tamanho do Arquivo e Popularidade do Arquivo.

A seguir foram detalhados cada critério e o seu respectivo cálculo:

� critério Similaridade: Este critério atende ao requisito referente às preferências dousuário, neste critério é calculado a similaridade entre o conteúdo de um arquivono qual o usuário tenha demostrado preferência e arquivos armazenados em nuvem,que são candidatos a serem recomendados. Para calcular a similaridade entre osconteúdos dos arquivos, é proposto a utilização da técnica 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 literaturapara a avaliação de semelhança entre dois itens CHEN; HUANG; HUANG (2009)LEE; LEE; LEE (2010) YU; ZHOU (2004). O cálculo de similaridade do cosseno éapresentado pela Equação 3.1:

St = cos(θ) =A ·B

‖ A ‖ · ‖ B ‖� �3.1

Na Equação 3.1 é calculada a similaridade entre dois arquivos onde o conteúdo decada um é representando por um vetor (vetores A e B), de onde se obtém o produto deA e B e calcula-se a magnitude dos vetores A e B. Tais magnitudes são multiplicadase divididas pelo produto escalar dos vetores A e B. Os arquivos que sejam similaresao arquivo que represente as preferências do usuário serão ranqueados de acordocom o seu grau de similaridade, ou seja, quanto maior o score de similaridade doarquivo, melhor ranqueado ele será em referência aos demais similares a ele. Porexemplo, caso o SR encontre dois arquivos “A” e “B”, estes similares às preferênciasdo usuário e com score de similaridade igual a “arquivo A = 0.8” e “arquivo B = 0.5”,neste cenário o “arquivo A” será melhor ranqueado que o “arquivo B” no critériosimilaridade. A similaridade entre o conteúdo dos arquivos a serem recomendadoscom um arquivo que o usuário tenha demostrando interesse, torna-se imprescindívelneste modelo de recomendação. Para tanto objetiva atender as preferências dosusuários em relação à filtragem por conteúdo relevante em meio a uma grande massade dados.

� Critério Disponibilidade: Refere-se ao tempo em que um arquivo estará disponívelpara o usuário. A disponibilidade, neste modelo, é medida em horas, ou seja aquantidade de horas em que um arquivo a ser recomendado está disponível na nuvem.

Page 41: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

39 3.2. O MODELO DE RECOMENDAÇÃO

Um arquivo só deve ser recomendado ao usuário se o mesmo estiver disponívele possibilitando o seu download. O critério disponibilidade representa uma dasprincipais características e anseios quanto à tecnologia de computação em nuvem. Amaioria dos usuários que migram para a nuvem são atraídos pela oferta de altas taxasde disponibilidade, elasticidade e mobilidade, que torna possível armazenar arquivosem grande quantidade e que estejam disponíveis e acessíveis a qualquer momento apartir da conexão com a Internet CARVALHO (2012) MELL; GRANCE (2009). Ocálculo do critério disponibilidade é apresentado na Equação 3.2:

Dp = Dh ·(

1n

) � �3.2

No cálculo do critério disponibilidade, Dh é a quantidade horas em que um arquivoestá disponível na nuvem, e n representa a quantidade de horas em que um arquivopode ficar disponível 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 comoo critério disponibilidade contribui para a geração de uma recomendação. Considereque dois arquivos A e B são similares, o arquivo A está disponível na nuvem nointervalo de tempo 14 às 16 horas, totalizando duas horas de disponibilidade. Oarquivo B está disponível na nuvem de 14 às 18 horas, totalizando quatro horas dedisponibilidade. Desta maneira, o arquivo que será melhor ranqueado é o arquivo B,por estar disponível na nuvem por um tempo superior que o arquivo A, permitindo oseu download em um espaço de tempo maior. O objetivo central é diminuir o riscode o usuário não poder realizar o download e garantir que um arquivo recomendadoesteja sempre acessível ao usuário.

� Critério Taxa de Download: Refere-se à taxa disponível para a realização do down-

load de um arquivo na nuvem. O objetivo é que arquivos que proporcionam melhorescondições para a redução no tempo gasto no download sejam melhor ranqueadosque os demais arquivos. A contribuição deste critério na redução do tempo gastono download de um arquivo recomendado é produzida em conjunto com o critério“Tamanho do Arquivo”, apresentado no próximo item. Por exemplo, no caso determos dois arquivos similares às preferências do usuário, onde o arquivo A tem o seutamanho 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 proporcionaruma maior economia no tempo gasto em seu download. A taxa de download podemodificar o ranque de recomendações dependendo do momento em que a recomenda-ção for calculada, principalmente em ambientes onde a taxa de download é oscilante.Este critério tem valor de 0 (zero) a 3 (três) Megabits por segundo (Mbps), este valor

Page 42: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

40 3.2. O MODELO DE RECOMENDAÇÃO

representa a media global de taxa de downloads apresentada pela Akamai 1. Estecritério é calculado pela Equação 3.3:

T d = ns ·(

1n

) � �3.3

Na Equação 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 entre0 (zero) e 1 (um), onde n representa o valor da media global de taxa de downloads

em Mbps.

� Critério Tamanho do Arquivo: Este critério corresponde ao tamanho do arquivocandidato a ser recomendado, e tem como objetivo contribuir na tarefa de amenizaro tempo gasto no download de um arquivo recomendado. Como explicado no itemcritério “Taxa de Download”, o critério Tamanho do Arquivo, está diretamenterelacionado com o critério que mensura a taxa de download disponível. O ranquede recomendação mudará de acordo com a taxa disponível para download, caso ataxa de download seja baixa, os arquivos com tamanho menores devem ser melhorranqueados que seus similares que são maiores. Da mesma forma, quando a taxa dedownload é alta, os arquivos com tamanhos maiores devem ser recomendados notopo do ranking. Exemplificando sobre o ranqueamento deste critério considerandoque, 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 condições para arealização do seu download (menor tamanho), considerando que a taxa de download

seja baixa. O cálculo deste critério é realizado pela Equação 3.4:

S = T ·(

1n

) � �3.4

Na Equação 3.4 o critério “Tamanho do Arquivo” é representado por S. O tamanhodo arquivo é medido em Gigabytes (GB), pelo fato de que boa parte dos sistemas dearmazenamento em nuvem limita o tamanho máximo de um arquivo que pode sersalvo em nuvem e o espaço disponível para o usuário no sistema em Gigabytes. Otamanho do arquivo é multiplicado por 1

n , para que seja normalizado por um valorde 0 (zero) a 1 (um), o valor 1 (um) é divido por n que é o tamanho máximo de umarquivo aceito no sistema de armazenamento em nuvem utilizado para implantaçãodo modelo.

� Critério Popularidade do Arquivo: Este critério representa a importância socialde um arquivo na nuvem, avaliado por meio da quantidade de downloads que foram

1http://www.akamai.com/stateoftheinternet/ Acessado em 27/11/2013

Page 43: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

41 3.2. O MODELO DE RECOMENDAÇÃO

realizados de um mesmo arquivo. Quanto maior é a quantidade de downloads

realizados de um arquivo, maior será a popularidade desse arquivo na rede, resultandoem um melhor ranqueamento deste arquivo. Um exemplo sobre o ranqueamentodeste critério: 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 número maior dedownloads efetuados no sistema de armazenamento em nuvem que o arquivo A. Ocálculo deste critério é representado pela Equação 3.5:

R = Qd ·(

1n

) � �3.5

Na Equação 3.5 o critério “Popularidade do Arquivo” é representado por R. A cadadownload realizado de um determinado arquivo, o contador de downloads dessearquivo é incrementado em 1 (um). Este valor é medido de 0 (zero) a n, onde n é amaior quantidade de downloads realizados em um único arquivo no sistema, o valorde n é obtido na observação do histórico de downloads de arquivos no sistema dearmazenamento em nuvem. No cálculo do critério, a quantidade de downloads de umarquivo Qd é normalizada, multiplicando Qd por 1

n , desta forma o valor resultantedeste critério será entre 0 (zero) e 1 (um).

3.2.1 Pesos dos Critérios

Em um mecanismo de recomendação os critérios devem ser ponderados por pesos, paracompor o score de recomendação, resultando em um ranking com os itens que devem serrecomendados ao usuário. No modelo proposto nesta pesquisa, foram definidos pesos para cadacritério, com base na relevância do critério na construção do objetivo da proposta do modelo. Apartir da realização de testes de execução no cálculo de recomendação que será apresentado nasubseção 3.2.2, com diferentes pesos, propomos a utilização dos pesos descritos na Tabela 3.1.Os testes realizados tiveram como objetivo verificar a variação no resultado do score final derecomendação e quais pesos apresentaria a menor variação no score. Desta forma, os arquivosrecomendados não apresentariam uma grande variação de similaridade com as preferências dosusuários. Os pesos propostos para cada critério são apresentados na Tabela 3.1.

Tabela 3.1: Pesos dos Critérios

Critério PesoSimilaridade 4

Disponibilidade 2Taxa de Download 2

Tamanho do Arquivo 1Popularidade do Arquivo 1

Page 44: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

42 3.2. O MODELO DE RECOMENDAÇÃO

A seguir detalhamos a ponderação dos pesos para cada critério.

� Similaridade: tem peso 4 (quatro), para garantir que o conteúdo de um arquivorecomendado ao usuário seja similar as suas preferências. Outro ponto motivador parao critério similaridade corresponder a 40% do score de recomendação é o objetivo deamenizar ou solucionar um dos principais problemas da técnica de recomendaçãobaseada em conteúdo, que é a sugestão de itens sempre muito parecidos, limitando osusuários de conhecer novos conteúdos RICCI et al. (2011) STORMER H.; WERRO;RISCH (2006) VIEIRA (2013). Desta forma, o nosso modelo de recomendaçãoatenderá as preferências do usuário e ao mesmo tempo estará recomendando novosconteúdos que são relacionados aos conteúdos de preferência do usuário. O critérioSimilaridade é medido de 0 (zero) a 1 (um), um arquivo que possua similaridade iguala 0 (zero) em comparação as preferências do usuário, somente será recomendadocaso ele tenha uma alta taxa de popularidade na rede, e mesmo assim, o arquivo nãoserá bem ranqueado em relação aos demais que apresentem alguma similaridade comas preferências do usuário.

� Disponibilidade: tem peso 2 (dois), este é um dos critério mais importante domodelo proposto, por representar o tempo em que um arquivo está disponível nanuvem, tornando possível o download de um arquivo recomendado. Este critério érelevânte para a recomendação de arquivos baseada em características da nuvem, porrepresentar uma das principais características e vantagens da utilização de sistemasde armazenamento em nuvem. O valor do critério Disponibilidade será de 0 (zero) a1 (um), um arquivo somente poderá ser recomendado ao usuário, se o mesmo estiverdisponível.

� Taxa de Download: tem peso 2 (dois). Este critério terá o seu valor medido de0 (zero) a 1 (um). Um arquivo que possua uma baixa taxa de download e seutamanho seja maior que o tamanho dos demais arquivos similares a ele, o seu score

de recomendação será menor, e consequentemente ele não será tão bem ranqueadoquanto seus similares, porque o seu processo de download demandará mais tempo eprocessamento. Um arquivo com baixa taxa de download poderá aparecer no topo doranking de recomendação, desde que seu tamanho seja proporcional. Para que umarquivo na nuvem se torne recomendável, esse critério deve ser maior que 0 (zero),desta forma será possível realizar o download do arquivo.

� Tamanho do Arquivo: possui peso 1 (um). Este critério tem peso inferior aosdemais critérios, por não ser um critério crítico. Assim, um arquivo que tenha otamanho igual ao máximo aceito pelo ambiente, poderá ser recomendado se a suataxa de download for alta, garantindo bom desempenho no download do arquivo.

Page 45: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

43 3.2. O MODELO DE RECOMENDAÇÃO

� Popularidade do Arquivo: é atribuído o peso 1 (um). Este critério tem o seu pesoinferior aos demais critérios, por não ser um critério crítico. Portanto, um arquivoque não seja popular na nuvem poderá ser recomendado ao usuário, o mesmo ocorrecom os arquivos novos na rede, se o arquivo for bem ranqueado nos outros critériosdo modelo.

3.2.2 Cálculo de Recomendação

Nesta subseção apresentamos o cálculo de recomendação, que consiste na ponderaçãodos critérios com os seus pesos. O cálculo das recomendações é representado pela Equação 3.6:

RecScore = (((Dp ·ωd) · (T d ·ωt)− (Ta ·ωa)) · ((S ·ωs)+(R ·ωr))) ·(

1n

) � �3.6

No cálculo apresentado, o score de recomendação é igual ao resultado da ponderação doscritérios por seus respectivos pesos. A partir dos critérios ponderados por seus pesos, o modelomultiplica o critério Disponibilidade Dp pelo critério Taxa de Download T d, o produto destamultiplicação é subtraído pelo critério Tamanho do Arquivo Ta, o resultado é multiplicado pelocritério Similaridade S somado ao critério Popularidade do Arquivo R. Após este processo oresultado obtido é normalizado entre 0 (zero) e 1 (um) por

(1n

), onde n é o valor total que a

primeira parte da equação pode atingir antes da normalização, neste caso n será igual a 20 (vinte).Desta forma, o score de recomendação será sempre um valor entre 0 (zero) e 1 (um).

O critério Popularidade do Arquivo é somado ao critério Similaridade, com o objetivode recomendar arquivos que atendam aos requisitos propostos no modelo e, que arquivos quesejam mais relevantes na nuvem, sejam melhores ranqueados no ranking de recomendação. Ocritério Tamanho do Arquivo penaliza os critérios Disponibilidade e Taxa de Download, como objetivo de proporcionar ao usuário melhores condições para a realização do download doarquivo recomendado. Resultando na diminuição do tempo gasto no download e recomendandoarquivos que tenham maior taxa de disponibilidade na nuvem. Cada arquivo candidato arecomendação receberá um score, em seguida será criado um ranque de recomendação com osarquivos ordenados do maior para o menor score, destes, os arquivos que obtiverem os maioresscores serão recomendados ao usuário.

3.2.3 Exemplo do Cálculo de Recomendação

Nesta subseção, será abordado um exemplo da aplicação do cálculo de recomendaçãodo modelo apresentado neste capítulo. Na tabela ??, apresentamos um exemplo utilizando umusuário. Neste cenário, temos o cálculo de 10 (dez) recomendações, com a participação de umusuário “A”, as preferências do usuário são representadas pelo “arquivo 01”. O sistema calculao score de recomendação a partir dos valores de cada critério. São calculadas recomendaçõesutilizando 10 (dez) arquivos distintos: arquivo 02, arquivo 03, arquivo 04, arquivo 05, arquivo

Page 46: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

44 3.2. O MODELO DE RECOMENDAÇÃO

06, arquivo 07, arquivo 08, arquivo 09, arquivo 10 e arquivo 11. A seguir na Tabela ??, consta ovalor de cada critério utilizado neste exemplo e o resultado do score de recomendação após aaplicação da Equação 3.6, que calcula as recomendações do modelo RecCloud.

Tabela 3.2: Exemplo do Cálculo de Recomendação do Modelo RecCloud.

Arquivos em Nuvem Dp Td S Sd R ScoreArquivo 02 1.0 1.0 0.5 1.0 1.0 0.8Arquivo 03 0.9 1.0 1.0 0.9 0.6 0.5Arquivo 04 0.0 0.6 0.4 0.6 0.0 0.0Arquivo 05 0.5 0.2 0.2 0.4 0.8 0.0Arquivo 06 0.4 0.5 0.1 0.0 0.4 0.0Arquivo 07 0.2 0.7 0.3 0.2 0.5 0.0Arquivo 08 0.6 0.9 0.3 0.8 0.0 0.2Arquivo 09 0.9 0.1 0.0 0.0 0.7 0.0Arquivo 10 1.0 1.0 1.0 1.0 1.0 0.7Arquivo 11 1.0 1.0 0.0 1.0 1.0 1.0

Na Tabela ??, foram apresentados os valores utilizados neste exemplo e o resultado doscore de recomendação de cada arquivo. A partir da análise dos resultados apresentados, podemosinferir que, o ranking de recomendações para as preferências do usuário “A”, representado pelo“Arquivo 01”, seria apresentado da seguinte forma:

Tabela 3.3: Arquivos Recomendados

Critério PesoArquivo 11 1Arquivo 02 0.8Arquivo 10 0.7Arquivo 03 0.5Arquivo 08 0.2

Na Tabela 3.3, foi apresentada a ordenação em forma decrescente das recomendaçõesgeradas, esta é a ordem dos arquivos em que o usuário “A” receberia como resultado da suasolicitação por recomendações a partir das preferências apresentadas por ele. Na ordenaçãoapresentada na Tabela 3.3, são apresentados 5 (cinco) dos 10 (dez) arquivos utilizados no cálculode recomendações.

O “Arquivo 04” não foi apresentado na lista de recomendações porque o seu score foiigual a 0 (zero), porque a sua taxa de disponibilidade é igual a 0 (zero), desta forma o arquivonão está indisponível na nuvem. Arquivos com score de recomendação igual a 0 (zero), nãodevem ser recomendados.

O “Arquivo 05” não foi apresentado na lista de recomendações porque o seu score foiigual a 0 (zero), justifica-se por sua baixa taxa de download que foi desproporcional ao tamanhodo arquivo.

Page 47: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

45 3.3. DETALHES DA IMPLEMENTAÇÃO

O “Arquivo 06” não foi apresentado na lista de recomendações porque o seu score foiigual a 0 (zero), isso por não possuir similaridade com as preferências do usuário e por apresentaruma baixa taxa de disponibilidade.

O “Arquivo 07” não foi apresentado na lista de recomendações porque o seu score foiigual a 0 (zero), por sua baixa taxa de disponibilidade e, pouca similaridade com as preferênciasdo usuário.

O “Arquivo 09” não foi apresentado na lista de recomendações porque o seu score

foi igual a 0 (zero), por sua baixa taxa de download e, por não possuir similaridade com aspreferências do usuário.

3.2.4 O Processo de Recomendação

Nesta seção, é apresentado o processo de recomendação do modelo proposto e domodelo baseado puramente em conteúdo. Na Figura 3.1, é apresentado parte do processo derecomendação do modelo RecCloud, o processo apresentado corresponde ao critério Similaridade,que utiliza a técnica de recomendação baseada em conteúdo.

Figura 3.1: Processo de Recomendação Baseado em Conteúdo.

Na Figura 3.1, o usuário elícita suas preferências através do “Arquivo A”, o mecanismode recomendação compara o conteúdo do “Arquivo A” com o conteúdo dos demais arquivos noambiente e recomenda ao usuário o “Arquivo C”, por possuir o conteúdo mais similar ao conteúdodo arquivo de sua preferência. Na Figura 3.2, apresentamos o processo de recomendaçãocompleto do modelo RecCloud.

Na Figura 3.2, o usuário elícita suas preferência através do “Arquivo Y”, em seguida omodelo começa a calcular o score de recomendação de um arquivo da nuvem “Arquivo X”. Oscore de recomendação é composto por 5 (cinco) critérios de recomendação, após ser calculadoso modelo gera um score final de recomendação e em seguida é recomendado um arquivo (ArquivoX) ao usuário.

3.3 Detalhes da Implementação

O modelo foi implementado a partir do sistema de recomendação baseado em conteúdodo sistema Ustore. Foram implementados os critérios propostos no modelo RecCloud e o cálculo

Page 48: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

46 3.3. DETALHES DA IMPLEMENTAÇÃO

Figura 3.2: Processo de Recomendação RecCloud.

de recomendação do modelo.

3.3.1 Ustore

O Ustore é uma ferramenta de armazenamento em nuvem baseada em uma arquiteturaP2P híbrida que tem como objetivo armazenar dados com baixo custo e de forma que os mesmosnão se tornem indisponíveis com eventuais problemas na rede ASSAD R. MACHADO (2012).Os dados a serem armazenados são quebrados em pedaços menores de tamanho pré-definido,chamados de chunks. Os chunks são armazenados em outros peers da rede, utilizando para istoos recursos ociosos disponíveis na rede. Estes peers podem, por exemplo, ser computadores daprópria empresa utilizados para outros fins, mas que possuam espaço livre em disco, suficientespara serem compartilhados. A utilização deste modelo faz com que o Ustore garanta um baixocusto para o armazenamento em nuvem MACHADO (2013).

3.3.2 Arquitetura do Ustore

A arquitetura do Ustore consiste de uma arquitetura P2P híbrida em três camadas, ondehá peers representando papéis distintos compondo a solução final. Os peers são agrupadosem federações 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 umamaior escalabilidade do sistema, já que não há limites para a quantidade de federações criadasDURãO F. ASSAD (2013) MACHADO (2013) SILVA A. MACHADO (2013).

A comunicação entre as entidades internas do sistema é feita através da plataformaJXTA2. O JXTA é um projeto de software livre de protocolos P2P baseados em mensagensXML para o desenvolvimento de aplicativos distribuídos, permitindo que qualquer dispositivoconectado em uma rede, independente de sua plataforma, natureza, ou protocolo de rede possainteragir, compartilhar recursos, e formar uma rede distribuída, descentralizada e cooperativa.Os peers podem possuir capacidades computacionais distintas, uma das grandes vantagens de

2http://java.net/projects/jxta, Acesso em 20/03/2014

Page 49: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

47 3.3. DETALHES DA IMPLEMENTAÇÃO

JXTA é garantir o uso racional e adequado dos recursos sem abrir mão 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 interação com outrospares normalmente inacessíveis, como os protegidos por dispositivos reguladores de tráfego ouque utilizem outro tipo de transporte de rede. Estes peers também podem ser organizados emgrupos de uma forma descentralizada BAROLLI; XHAFA (2011). Na Figura 3.4 é apresentadaos tipos de peers do Ustore SILVA A.; MEIRA (2012):

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

� Cliente Ustore: Os clientes são os responsáveis por armazenar os chunks dos arqui-vos, é através deles que os usuários podem solicitar operações de backup e recupe-ração de arquivos. Cada cliente possui um horário de funcionamento determinado

Page 50: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

48 3.3. DETALHES DA IMPLEMENTAÇÃO

inicialmente, que é utilizado para garantir a disponibilidade dos dados. No Ustore osclientes para armazenar os chunks são escolhidos através de um algoritmo estatísticoque localiza os clientes que possuem o horário de funcionamento similar ao horáriodeterminado inicialmente ao cliente, desta forma o Ustore garante a disponibilidadedos arquivos no horário determinado DUARTE (2010). Com o objetivo de garantiruma maior taxa de disponibilidade, os chunks são replicados dentro da própria redeMACHADO (2013).

� Servidor Ustore: Os servidores são os peers que disponibilizam os serviços paraserem utilizados pelos clientes e compõem as federações. O Ustore adota umaproposta de criação de níveis hierárquicos que implementam serviços bem definidose que podem crescer horizontalmente MACHADO (2013).

� Super peer: responsável por informar aos clientes, onde estão os servidores epermite a troca de mensagens entre clientes que estejam em redes diferentes. Opapel do super peer é definir as federações de dados quando cada cliente solicitaconexão à rede. Outra função deste peer é escolher dinamicamente os clientes eservidores das federações baseando-se em um algoritmo de proximidade DUARTE(2010) MACHADO (2013).

3.3.3 Sistema de Recomendação do Ustore

O mecanismo de recomendação do Ustore é baseado em conteúdo, onde são realizadasrecomendações com base nas preferências que o usuário tenha demonstrado interesse no passado.No SR do Ustore, as preferências do usuário são representadas por arquivos que o usuário salvouem sua conta no sistema. O SR apresenta recomendações baseada na similaridade entre o arquivode preferência do usuário e os arquivos armazenados na nuvem. Para que o usuário receba umarecomendação, ela deve ser solicitada a partir de um arquivo em sua conta.

O usuário solicita recomendações para um determinado arquivo, e recebe recomendaçõesde arquivos armazenados no sistema, assim, o sistema de recomendação entende que o arquivopara qual foi solicitado recomendações representa as preferências do usuário.

No Ustore as recomendações são ordenadas de forma decrescente, de acordo com ograu de similaridade entre os arquivos recomendados e as preferências do usuário, que é obtidapela técnica de Similaridade do Cosseno. A similaridade é calculada a partir do conteúdo dosarquivos, que são extraídos pelo Apache Lucine versão 3.63 e o Apache Tika versão 1.24.

� Apache Lucene: O Apache Lucene é uma biblioteca de código aberto para consultasfull-text desenvolvida em Java. O principal objetivo do Lucene é adicionar a funcio-nalidade de busca de forma fácil para uma aplicação ou páginas web. A biblioteca

3https://lucene.apache.org/core/ Acesso em 15/03/20144http://tika.apache.org/ Acesso em 15/03/2014

Page 51: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

49 3.3. DETALHES DA IMPLEMENTAÇÃO

é composta por 2 (dois) módulos principais (indexação e busca). Na indexação sãoprocessados os dados originais gerando uma estrutura de dados inter-relacionada paraa pesquisa por palavras-chave. No módulo de busca é realizada a consulta ao índicepelas palavras inseridas em uma consulta e organiza os resultados pela similaridadedo texto com as palavras da consulta. O Lucene permite que o desenvolvedor crie umsistema de busca sem a necessidade de conhecer as rotinas e algoritmos de indexaçãoe busca, sendo necessário utilizar apenas a API do Lucene MACHADO (2013). OApache Lucene utiliza uma estrutura de dados conhecida como índice invertido, destaforma, cada termo adicionado possui uma referência para o documento que o contém.Os índices invertidos são estruturas compostas por duas partes, são o vocabulárioe as ocorrências. O vocabulário incorpora o conjunto de todas as palavras distintasexistentes no documento, para cada palavra do vocabulário são construídas listas quecontêm as exatas posições nas quais aparecem dentro do texto. A ocorrência é oconjunto de todas as listas, em uma coleção de documentos, para cada palavra exis-tente é armazenado também o número do documento no qual ocorre. A busca em umarquivo invertido se dá através da verificação das entradas do arquivo e a recuperaçãode todos os documentos que contêm em seu corpo o termo usado BAEZA-YATES;RIBEIRO-NETO (1999). Para cada documento no resultado de uma busca é atribuído

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

uma pontuação que representa a similaridade do documento com os termos usados naconsulta. O cálculo dessa pontuação é feito baseando-se no modelo de recuperaçãode informação escolhido. O Apache Lucene suporta alguns modelos, como, porexemplo, Modelo Espaço Vetorial, Modelo Probalístico (Exemplo: Okapi BM25 eDFR) e o Modelo baseado em Linguagem Natural. Na Figura 3.6, é apresentada aarquitetura do Apache Lucene.

O Apache Lucene não possui um parser próprio, desta forma, foi necessário utilizaroutra biblioteca que tivesse parser próprio. No Ustore foi utilizado o Apache Tika,que é um detector e extrator de conteúdo e texto estruturado em arquivos de diversos

Page 52: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

50 3.3. DETALHES DA IMPLEMENTAÇÃO

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

formatos arquivos.

� Apache Tika: É um kit de ferramentas para a extração de metadados e conteúdo dediversos tipos de arquivos. A extração do conteúdo é feita por parsers específicospara cada tipo de arquivo. O Apache Tika fornece uma API padrão e faz uso debibliotecas de terceiros para fazer a extração do conteúdo, como as bibliotecas POI5

e a PDFBox6, que são utilizadas para extrair conteúdo de arquivos Word, Excel,PowerPoint e PDF.

A Figura 3.7, apresenta a arquitetura do Apache Tika, nela é possível identificar acamada “Tika Facade” que é responsável por receber o arquivo que será processado,identificar o tipo do mesmo, o seu idioma e selecionar um parser adequado paraextrair seu conteúdo.

3.3.4 Implementação dos Critérios

Os critérios propostos no modelo RecCloud, foram implementados e adicionados aosistema de recomendação do Ustore. A seguir é descrito como ocorreu à implementação de cadacritério do modelo proposto:

� Critério Similaridade: o critério Similaridade utilizado foi do SR do sistema Ustore,onde é feita o uso da técnica de Similaridade do Cosseno para comparar o conteúdodos artigos.

5http://poi.apache.org/ Acessado em 15/03/20146http://pdfbox.apache.org/ Acessado em 15/03/2014

Page 53: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

51 3.3. DETALHES DA IMPLEMENTAÇÃO

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

� Critério Disponibilidade: No Ustore cada cliente possui um horário de funciona-mento determinado inicialmente, que é utilizado para garantir a disponibilidade. Parachegar ao valor da taxa de disponibilidade de um cliente, subtraímos o tempo totalpossível para um cliente estar disponível em um dia (24 horas), pelo tempo em que ocliente ficou off-line. Desta forma, obtemos a quantidade de horas em que um clienteesteve disponível durante o dia. O cálculo é apresentado na Equação 3.7:

Dh = (Ht−Ho)� �3.7

Na Equação 3.7, Dh é a disponibilidade do cliente em horas, é igual há Ht total dehoras em que o cliente pode ficar on-line em determinado espaço de tempo, subtraídopela quantidade de horas que o cliente ficou off-line Ho.

No Ustore consideramos a utilização de um sistema de replicação de dados, destaforma, enquanto estiverem clientes on-line na nuvem, os arquivos armazenados nelaestarão disponíveis. Diante disso, calculamos a média de disponibilidade para osclientes da nuvem. O cálculo da média de disponibilidade é apresentado na Equação3.8:

Md =∑

ni=0 Dh

n

� �3.8

A média de disponibilidade é igual à soma da disponibilidade em horas Dh de todosos clientes, dividida pela quantidade de clientes n. Desta forma, a disponibilidadeem horas de um arquivo Dh será igual a média de disponibilidade da nuvem Md.

Page 54: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

52 3.3. DETALHES DA IMPLEMENTAÇÃO

Na Figura 3.8 é ilustrado o processo do cálculo do critério Disponibilidade, onde écalculada a média da disponibilidade dos clientes no Ustore.

Figura 3.8: Processo do Critério Disponibilidade.

� Critério Taxa de Download: A Taxa de Download é obtida a partir da observaçãodo download de um arquivo qualquer, a partir de informações sobre o tempo gastono download do arquivo e seu tamanho, chegamos à taxa de download da rede emKilobits. Para termos de avaliação, a taxa máxima de download utilizada foi a médiaglobal de taxa de downloads 3 (três) Megabits por segundo. Caso a taxa do usuárioapresente um valor maior que a média global, o critério Taxa de Download seráigual a 1 (um), representa que este critério recebeu o valor máximo no cálculo darecomendação.

� Critério Tamanho do Arquivo: O tamanho do arquivo é obtido na base do Ustoreem Kilobytes e convertido em GigaBytes. Para termos de avaliação da proposta, otamanho máximo de um único arquivo no ambiente foi estabelecido em 10 Gigabytes,desta forma, se um arquivo apresentar tamanho superior ao limite máximo estabele-cido, este receberá o valor 1 (um), que representa a maior taxa ponderada do critérioTamanho do Arquivo.

� Critério Popularidade do Arquivo: A popularidade do arquivo é representada pelaquantidade de vezes em que foram realizados download de um arquivo. No Ustore aquantidade de vezes em que foi realizado o download de um arquivo pode ser obtidadiretamente na base de dados do sistema. Para termos de avaliação desta proposta,atribuímos a quantidade de 10 downloads, como a maior quantidade de downloads

realizados de um único arquivo na rede.

Após calculado o valor de todos os critérios, o SR calcula o score de recomendação pelaEquação 3.6.

Page 55: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

53 3.4. CONSIDERAÇÕES FINAIS

3.4 Considerações Finais

Este capítulo apresentou um modelo de recomendação de arquivos para sistemas dearmazenamento em nuvem, que faz uso da técnica de recomendação baseada em conteúdoassociada a características da nuvem. Foram abordados ainda, o cálculo de recomendação, oprocesso de recomendação e os detalhes da implementação do protótipo utlizado para testar eavaliar o modelo proposto. No próximo capítulo serão apresentados os testes realizados e seusresultados.

Page 56: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

545454

4Avaliação

Neste capítulo, será apresentada uma série de testes realizados com o objetivo de avaliaro modelo de recomendação proposto. A avaliação consiste em diversos testes visando avaliardiferentes aspectos do modelo RecCloud como, o desempenho do mecanismo de recomendação.

Na literatura podem ser encontradas diversas métricas para avaliação de mecanismos derecomendação, algumas das mais conhecidas são precisão, recall, F-measure, curva Roc, métricade Breese, Npdm e o feedback do destinatário da recomendação SAMPAIO (2006) YAO (1995).Estas são algumas das opções dentre uma vasta lista de métricas para avaliar recomendações.Herlocker (2000) HERLOCKER (2000) apresenta um estudo avançado sobre esses tipos demétricas. Neste trabalho, foram utilizadas as métricas de precisão, recall, F-measure e tambémfoi avaliado o tempo gasto no download dos artigos recomendados. As técnicas utilizadas nessetrabalho foram as que mais se adequaram ao modelo proposto, por analisarem a precisão de cadaranking de recomendação gerado, além de mostrar a eficiência do modelo.

4.1 Testes

Os testes foram divididos em 3 (três) partes:

a) Inicialmente, realizou-se uma análise das recomendações geradas, com o objetivo deavaliar se os arquivos recomendados atendem as preferências de conteúdo do usuário;

b) Foram realizados downloads dos arquivos recomendados pelo SR utilizando o modeloRecCloud e pelo SR baseado puramente em conteúdo do Ustore. O objetivo foi obser-var se houve a amenização do tempo gasto no download dos arquivos recomendadospelo modelo RecCloud em relação ao SR baseado puramente em conteúdo;

c) Realizou-se também uma análise das recomendações para avaliar o desempenho domecanismo de recomendação utilizando o modelo proposto.

O objetivo destes experimentos foram avaliar o desempenho do mecanismo de recomen-dação em um sistema de armazenamento em nuvem, levando em consideração o modelo baseadoem características da nuvem.

Page 57: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

55 4.2. COLEÇÃO DE DADOS

4.2 Coleção de Dados

Para avaliação deste trabalho, foi utilizada uma base de dados composta por 469 (quatro-centos e sessenta e nove) artigos acadêmicos publicados nos anos de 2012 e 2013, período noqual se deu o desenvolver desta pesquisa. Os artigos utilizados foram publicados no SimpósioBrasileiro de Sistemas de Informação e na conferência ACM Conference on Recommendation

System, disponíveis respectivamente nas bibliotecas BDBComp1 e ACM Digital Lybrari2.Estes artigos foram utilizados por serem de caráter público e de fácil acesso, em sua

totalidade formando uma base de dados que tornou possível a execução dos testes desse trabalho.Outro critério que motivou a utilização destes artigos foi à similaridade entre o contexto dosartigos publicados na RecSys com os artigos utilizados para representar as preferências dousuário, este critério foi utilizado na geração da lista de artigos mais relevantes para o ranque derecomendação.

4.3 Julgamento de Relevâncias

Para a realização dos testes é necessário que os arquivos tenham uma classificação queindique quais são os mais relevantes para o ranque de recomendação que será gerado. Para fazeressa classificação no conjunto de dados foi utilizada a similaridade entre o contexto dos artigoscom o conteúdo dos artigos utilizados para representar as preferências do usuário. Desta forma,todos os artigos que forem relacionados ao termo sistemas de recomendação, foram consideradosrelevantes para o ranque de recomendação. As preferências do avaliador foram representadaspor artigos acadêmicos que descrevem sistemas de recomendação. A quantidade de artigosrelevantes utilizados foi de 156 (cento e cinquenta e seis) artigos, representando 33% (trinta etrês) da base de dados utilizada na realização dos testes.

4.4 Ambiente de Teste

Os testes foram realizados em um ambiente controlado onde alguns valores foramsimulados (Critério Popularidade do Arquivo), este critério foi simulado por não dispormosde um histórico de utilização do ambiente utilizado na validação. A principal desvantagemdeste cenário é a não disponibilidade de um histórico real de utilização do ambiente, porém valeressaltar que este cenário mostrou que a utilização do modelo proposto pode ser bem sucedidaem novos ambientes com poucas informações sobre os usuários. Com objetivo de deixar oambiente o mais próximo do real, para realização dos testes foi utilizada uma máquina com 2(dois) clientes Ustore.

1http://www.lbd.dcc.ufmg.br/bdbcomp/sbsi2http://recsys.acm.org/

Page 58: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

56 4.5. MÉTRICAS DE AVALIAÇÃO

Foram armazenados 479 (quatrocentos e setenta e nove) artigos em uma conta de usuáriono sistema de armazenamento Ustore. Em seguida solicitamos recomendações para 10 (dez)arquivos diferentes e foram recomendados 100 (cem) artigos pelo sistema. Para representar aspreferências do usuário foram utilizados artigos escritos sobre esta pesquisa, discorrendo sobresistemas de recomendações.

4.5 Métricas de Avaliação

Para avaliação deste trabalho foi utilizada a metodologia proposta por Jain em 1991 JAIN(1991), onde é defendido que para realizar uma avaliação é preciso definir objetivos, métricas,fatores e níveis MACHADO (2013).

As métricas escolhidas para avaliar o desempenho do modelo RecCloud, estão descritasa seguir:

a) Precisão: é a taxa de itens relevantes recomendados no resultado. É dada através daproporção entre o número de arquivos relevantes recomendados e o número total dearquivos recomendados BAEZA-YATES; RIBEIRO-NETO (1999) LEE; LEE; LEE(2010), é representada pela Equação 4.1:

Preciso =| {arquivos relevantes}

⋂{arquivos recomendados} |

{arquivos recomendados}� �4.1

Na Equação 4.1, arquivos relevantes é a quantidade de arquivos recomendados que fa-zem parte do ranking de relevância apresentado na Tabela ??, e arquivos recomendados

é a quantidade de arquivos recomendados para cada solicitação de recomendação. Oresultado é representado por valores entre 0 (zero) e 1 (um). Quanto mais próximode 1 (um) mais preciso é o sistema.

b) Recall: é a taxa de itens relevantes recomendados em relação a quantidade total deitens relevantesLEE; LEE; LEE (2010), é dado pela Equação 4.2:

Recall =| {arquivos relevantes}

⋂{arquivos recomendados} |

{arquivos relevantes}� �4.2

Na Equação4.2, arquivos relevantes é a quantidade de arquivos recomendados que fa-zem parte do ranking de relevância apresentado no anexo??, e arquivos recomendados

é a quantidade de arquivos recomendados para cada solicitação de recomendação. Oresultado é representado por valores entre 0 (zero) e 1 (um). Quanto mais próximode 1 (um) mais o sistema satisfaz a solicitação da recomendação.

c) F-measure: É a média ponderada da precisão e recall. Pode ser representada pela

Page 59: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

57 4.5. MÉTRICAS DE AVALIAÇÃO

Equação 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 precisão e recall têm o mesmo fator de importância, destaforma o valor de α é igual a 1 (um). Logo, esta função só retornará um valor nointervalo entre 0 (zero) e 1 (um). Maiores valores para a taxa F-measure representaque o sistema de recomendação oferece resultados mais precisos DURãO (2008)GARCIA et al. (2006) LEE; LEE; LEE (2010).

d) Tempo gasto no Download: foram efetuados downloads dos arquivos recomendadose medido o tempo gasto para realizar cada download. Os resultados obtidos serãocomparados com o tempo gasto no download de arquivos recomendados utilizandoum modelo baseado em conteúdo. O tempo total economizado no download nacomparação entre os dois modelo é dado pela Equação 4.4.

T =n

∑i=0

T c−n

∑i=0

T n� �4.4

O tempo total amenizado no download dos arquivos recomendados é dado pela sub-tração do resultado da soma do tempo gasto no download de todas as recomendaçõesrealizadas pelo modelo RecCloud ∑

ni=0 T n pela soma do tempo gasto no download de

todas as recomendações do modelo utilizado para comparação de resultado ∑ni=0 T c.

É Calculada a média do tempo economizado no download por recomendação, dadopela Equação 4.5.

T =∑

ni=0 T c−∑

ni=0 T n

Nrec

� �4.5

A média do tempo amenizado no download de cada arquivo recomendado é dada peloresultado da soma do tempo gasto em todos os downloads baseadas em característicasda nuvem ∑

ni=0 T n subtraido pelo resultado da soma do tempo gasto no download

de todos os arquivos recomendados do modelo utilizado para avaliação ∑ni=0 T c,

dividido pelo número total de recomendações utilizado para a avaliação Nrec.

Como parâmetros para comparação, nesta avaliação foram consideradas satisfatóriastaxas de precisão 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 partirdestas taxas, foi calculada a taxa de F-Measure. Esta teve como melhor resultado alcançado0.42, obtido no “nível 3”.

Page 60: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

58 4.6. CENÁRIOS DE AVALIAÇÃO

4.6 Cenários de Avaliação

A avaliação foi dividida em 2 (dois) cenários. A divisão em cenários tem como objetivodetalhar o que está sendo avaliado e torna mais fácil o entendimento de todo o processo. Todosos cenário e testes deste trabalho foram realizados em um ambiente controlado simulando umanuvem. Na execução dos experimentos em todos os cenários não foram utilizados usuários reais.Todos os experimentos foram realizados somente pelo avaliador, em alguns pontos a utilizaçãodo sistema por usuários foi simulada, para melhor se aproximar do cenário real. Na execução, oscenários foram montados da seguinte forma:

� Cenário I: no primeiro cenário o objetivo foi avaliar o desempenho do modeloRecCloud. Foram solicitadas recomendações para 10 (dez) diferentes arquivose avaliada a quantidade de arquivos recomendado para cada solicitação. Nestecenário foram avaliadas as métricas precisão, recall e F-Measure observando osarquivos recebidos como recomendação, os ranques de recomendação analisadosforam divididos em níveis, apresentados na Tabela 4.1.

Tabela 4.1: Níveis utilizados para avaliar as métricas definidas

NíveisQuantidade de artigos recomendados 5, 10, 15

� Cenário II: o objetivo foi medir o tempo gasto no download de arquivos recomen-dados e comparar os resultados com um modelo baseado em conteúdo. Com isso,foi possível avaliar se o modelo proposto atingiu um dos objetivos que é amenizar otempo gasto no download dos arquivos recomendados. Neste cenário avaliamos amétrica 4 (quatro), analisando o tempo gasto no download de 100 artigos recomen-dados, 50 artigos de cada modelo avaliado. Nesta métrica foi utilizado ranques derecomendação com 5 (cinco) artigos retornado para cada solicitação de recomenda-ção.

4.7 Resultados

Os testes foram executados nos 2 (dois) cenários de avaliação e a seguir são apresentadosos resultados obtidos.

4.7.1 Resultados do Cenário I

No primeiro cenário a avaliação foi dividida em 3 (três) níveis, cada nível retorna umaquantidade diferente de artigos para cada solicitação de recomendação, o primeiro nível retornou

Page 61: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

59 4.7. RESULTADOS

5 (cinco) artigos, o segundo 10 (dez) artigos e o terceiro 15 (quize) artigos. Foram solicita-das recomendações para 10 (dez) artigos no modelo RecCloud, estas solicitações resultaramrespectivamente em 50 (cinquenta), 100 (cem) e 150 (cento e cinquenta) artigos recomendados.

Figura 4.1: Gráfico comparando a taxa de precisão variando a quantidade de artigosrecomendados para cada ranque de recomendação gerado.

A Figura 4.1, apresenta a precisão alcançada utilizando o modelo RecCloud para cadasolicitação de recomendação e variando a quantidade de artigos recomendados 5 (cinco), 10(dez) e 15 (quinze). Os resultados apresentados mostraram que as maiores taxas de precisãoforam obtidas no “nível 1”, e o “nível 3” apresentou as menores taxas de precisão. Na Figura4.2, é apresentada uma comparação da taxa de precisão atingida por cada nível.

Figura 4.2: Gráfico comparando a taxa de precisão nos 3 (níveis) de variação naquantidade de artigos recomendados.

A partir dos resultados apresentados nos gráficos das Figuras 4.1 e 4.2, percebemosque a taxa de precisão obtida no “nível 1” (0.68) foi maior que a taxa obtida no “nível 2”

Page 62: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

60 4.7. RESULTADOS

(0.46) e “nível 3” (0.44), onde são recomendados 5 (cinco) artigos para cada solicitação derecomendação. Diante destes resultados, observamos que a maior parte dos artigos relevantesforam recomendados no início dos ranques. Este resultado se justifica pelo peso do critériosimilaridade ser superior ao peso dos demais critérios utilizados na geração das recomendações,desta forma os arquivos com maior similaridade foram recomendados no início dos ranquese os artigos que se mostraram recomendáveis, mas que não apresentaram uma alta taxa desimilaridade foram recomendados no final dos ranques de recomendação. Na Figura 4.3 sãoapresentados os resultados da taxa de recall obtidos nesta avaliação.

Figura 4.3: Gráfico comparando a taxa de recall variando a quantidade de artigosrecomendados para cada ranque de recomendação gerado.

A Figura 4.3, Apresenta a taxa de recall alcançada utilizando o modelo RecCloud paracada solicitação de recomendação e variando a quantidade de artigos recomendados 5 (cinco),10 (dez) e 15 (quinze).

Figura 4.4: Gráfico apresentando a comparação da taxa de recall obtida nos 3 (níveis) devariação na quantidade de artigos recomendados.

Na Figura 4.4, são apresentados os resultados da taxa de recall de cada nível de variação

Page 63: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

61 4.7. RESULTADOS

na quantidade de artigos recomendados. A partir dos resultados apresentados nos gráficos dasFiguras 4.3 e 4.4, percebemos que a taxa de recall obtida no “nível 3” (0.42) foi maior que a taxaobtida no nível 1 (0.21) e nível 2(0.29).

A partir das taxas de precisão e recall definidas calculamos a taxa F-measure. A Figura4.5, apresenta a taxa de F-Measure alcançada para cada solicitação de recomendação e variandoa quantidade de artigos recomendados.

Figura 4.5: Gráfico comparando a taxa de F-Measure variando a quantidade de artigosrecomendados para cada ranque de recomendação gerado.

Na Figura 4.6, são apresentados os resultados da taxa F-Measure para cada nível devariação na quantidade de artigos recomendados.

Figura 4.6: Gráfico apresentando a comparação da taxa de F-Measure obtida nos 3(níveis) de variação na quantidade de artigos recomendados.

A partir dos resultados apresentados nos gráficos das Figuras 4.5 e 4.6, observamos quea taxa de F-Measure obtida no “nível 3” (0.42) foi maior que a taxa obtida no “nível 2” (0.35) e“nível 1” (0.32).

Page 64: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

62 4.7. RESULTADOS

4.7.2 Resultados do Cenário II

No segundo cenário foram solicitadas recomendações para 10 (dez) artigos diferentes nomodelo RecCloud e no modelo baseado em conteúdo do Ustore, estas solicitações resultaramem 100 (cem) artigos recomendados. Foi analisado o tempo gasto no download de cada arquivorecomendado utilizando os 5 (cinco) primeiros arquivos do ranking de recomendações retornadoem cada solicitação. Para avaliação e comparação entre os modelos, o tempo gasto no download

dos arquivos recomendados pelo modelo RecCloud são apresentados na Figura 4.7.

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

Na Figura 4.7 é apresentado o tempo gasto no download de 50 (cinquenta) arquivosrecomendados pelo modelo RecCloud, o tempo gasto no download foi apresentando em milis-segundos. O tempo médio gasto no download de um arquivo foi de 959,56 ms, variando de410 ms a 2.203 ms. A seguir, na Figura 4.8, é apresentado o tempo gasto no download dosarquivos recomendados no modelo baseado puramente em conteúdo do Ustore. Para efeitos decomparação dos resultados, foram realizadas as mesmas solicitações nos dois modelos.

Na Figura 4.8 foi apresentado o tempo gasto no download de 50 (cinquenta) arquivosrecomendados pelo modelo baseado em conteúdo. O tempo médio gasto no download de umarquivo foi de 1.166,42 ms, variando de 129 ms a 2.717 ms.

Na Figura 4.9, foi apresentada a variação do tempo gasto no download de cada arquivorecomendado pelos dois modelos em análise neste experimento. O tempo gasto no download

dos arquivos foi apresentado em milissegundos. A partir dos resultados apresentados na Figura4.9, percebe-se que no modelo RecCloud apresenta as menores taxas de download.

Na Figura 4.10, foi apresentada uma comparação entre a média, o máximo e o mínimode tempo gasto nos downloads realizados pelos modelos RecCloud e o modelo baseado emconteúdo (CB). O modelo baseado em conteúdo obteve o menor tempo gasto nos downloads,

Page 65: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

63 4.7. RESULTADOS

Figura 4.8: Tempo gasto no download dos arquivos recomendados pelo modelo baseadoem conteúdo.

Figura 4.9: Comparação do tempo gasto no download dos arquivos recomendados pelosdois modelos avaliados.

porém, também obteve o maior tempo, enquanto o modelo RecCloud teve uma menor variaçãono tempo dos downloads. A partir dos resultados apresentados na Figura 4.10, pode ser afirmadoque o modelo proposto nesta pesquisa proporcionou redução no tempo gasto no download dasrecomendações. A redução média de tempo gasto nos downloads foi de 207,06 milissegundos, oque representa uma redução de 17,8%. Está amenização aplicada a ambientes onde são realizadoscentenas ou até milhares de downloads por hora, pode proporcionar ganhos significativos naeconomia de tempo gasto em downloads de arquivos armazenados em nuvem e ao mesmo temporecomendar conteúdo relevante aos usuários do sistema.

Page 66: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

64 4.8. DISCUSSÃO DOS RESULTADOS

Figura 4.10: Média, mínimo e máximo do tempo gasto no download das recomendações.

4.8 Discussão dos Resultados

Os testes mostraram que o modelo RecCloud obteve resultados satisfatórios de acordocom os valores obtidos por BLANK; ROKACH; SHANI (2013) e ZHANG et al. (2013). Naexecução da avaliação, os testes foram divididos em 3 (três) níveis, cada nível retornou umaquantidade diferente de artigos recomendados para uma solicitação de recomendação. A melhortaxa de precisão obtida foi de 0.68 no “nível 1”, onde foram retornados 5 (cinco) artigos paracada solicitação de recomendação, os níveis 2 e 3 obtiveram as respectivas taxas 0.46 e 0.44.Diante destes resultados, podemos concluir que o “nível 1” obteve melhores taxas de precisão.Os resultados obtidos na métrica de precisão foram superiores aos resultados utilizados comoreferência para termos de comparação.

A melhor taxa de recall foi obtida no “nível 3” (0.42) onde são retornados 15 (quinze)artigos para cada solicitação de recomendação. Os níveis 1 e 2 apresentaram respectivamente0.21 e 0.29. A melhor taxa de recall obtida nesta avaliação foi similar à taxa obtida no trabalhode Zhang et al. (2013). Desta forma podemos considerar como satisfatória à avaliação realizadaneste trabalho. A partir das taxas de precisão e recall, calculamos a taxa de F-Measure ondeobtivemos como melhor taxa o valor 0.42, este valor foi obtido no “nível 3”.

A partir dos resultados apresentados observamos que o melhor resultado da taxa deprecisão foi obtido em nível diferente do nível onde foi obtida a melhor taxa de recall, e quea maioria dos artigos relevantes recomendados estava no início dos ranques de recomendação.Este cenário se justifica pelo critério de similaridade que representa 40% de cada recomendação.Desta forma, os artigos com maiores taxas de similaridade ficaram no início dos ranques e osartigos que mesmo tendo a sua taxa de similaridade baixa se mostraram recomendáveis foramrecomendados no final dos ranques de recomendação.

Page 67: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

65 4.9. POSSÍVEIS AMEAÇAS À VALIDADE

Os resultados obtidos no cenário II mostraram que o modelo RecCloud proporcionouuma redução no tempo gasto no download de arquivos recomendados. A redução é obtida emcomparação com o tempo gasto no download de recomendações geradas pelo SR baseado emconteúdo do Ustore. A média de tempo economizado ficou em 207,6 milissegundos. Destaforma, pode-se inferir que o modelo proposto nesta pesquisa ameniza o tempo gasto no download

de arquivos recomendados em relação ao modelo baseado em conteúdo.A partir da comparação dos resultados apresentados no decorrer deste capítulo 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 satisfatórios na geração de recomendações de arquivos emsistemas de armazenamento em nuvem, utilizando características do ambiente associadas àtécnica de recomendação baseada em conteúdo.

4.9 Possíveis Ameaças à Validade

Os resultados encontrados na presente pesquisa possuem algumas ameaças, as quaisdevem ser levadas em consideração:

� Conjunto de dados utilizados: a primeira ameaça refere-se à relevância dos dadosutilizados na realização dos experimentos descritos neste trabalho. No que tangea quantitatividade. O volume de dados utilizados pode ser considerado pequenoem comparação a quantidade de dados que podem ser encontrados em sistemas dearmazenamento em nuvem. No entanto, acredita-se que a quantidade de artigosutilizados não desmereça os resultados obtidos nesta pesquisa.

� Ambiente controlado: o ambiente de teste utilizado na realização dos experimentosfoi parcialmente controlado, onde os valores que representam os fatores oriundos danuvem foram simulados. Este cenário se deu devido à dificuldade em utilizar umaestrutura real em nuvem para a realização dos experimentos.

� Métricas de avaliação: diante de inúmeras técnicas apresentadas na literatura para aavaliação de sistemas de recomendações foram escolhidas as métricas de precisão,recall e F-measure, que são utilizadas na avaliação de SR’s de acordo com BLANK;ROKACH; SHANI (2013), ZHANG et al. (2013), LEE; LEE; LEE (2010). Diantedisto, em trabalhos futuros podem ser utilizadas novas técnicas de avaliação desistemas de recomendações, como, por exemplo, Validação cruzada. Com o objetivode confrontar os resultados aqui apresentados e propor melhorias no modelo proposto.

Page 68: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

66 4.10. CONSIDERAÇÕES FINAIS

4.10 Considerações Finais

Neste capítulo foram apresentados os experimentos realizados com o objetivo de avaliaro modelo proposto. A avaliação foi realizada para analisar o impacto de sua adoção em sistemasde armazenamento em nuvem: a amenização do tempo gasto no download de arquivos recomen-dados, bem como os níveis de precisão, recall e F-Measure obtidos, os quais foram utilizadospara analisar o desempenho do modelo proposto na geração de recomendações.

O modelo de recomendação baseado em características na nuvem foi comparado com omodelo de recomendação baseado em conteúdo. Os resultados mostraram que o modelo propostose mostra eficiente na recomendação de conteúdo relevante, ameniza o tempo gasto no download

de arquivos recomendados, e se mostra viável a sua utilização em sistemas de armazenamentoem nuvem.

No próximo capítulo serão apresentadas as conclusões, as contribuições alcançadas epossíveis trabalhos futuros desta pesquisa.

Page 69: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

676767

5Conclusões e Trabalhos Futuros

Esta dissertação abordou o problema de filtragem de conteúdo em meio à imensidão dedados em sistemas de armazenamento em nuvem. A identificação de características da nuvempossibilita gerar recomendações similares as preferências dos usuários, como também proporcio-nem a melhor utilização de recursos da nuvem. Com o objetivo de amenizar este problema, foiapresentado um modelo para a geração de recomendações em sistemas de armazenamento emnuvem, formado por características da nuvem somadas a técnica de recomendação baseada emconteúdo.

Os testes realizados neste trabalho foram executados em um sistema real de armazena-mento em nuvem, o Ustore. Na execução dos testes foi observado o tempo gasto no download dearquivos recomendados, com objetivo de avaliar se o modelo RecCloud proporciona amenizaçãodesse tempo, em comparação a técnica baseada em conteúdo. Na execução dos testes tambémfoi avaliado o desempenho do modelo proposto.

5.1 Contribuições

A seguir apresentamos as principais contribuições deste trabalho:

� Um estudo sobre modelos de recomendação baseados em nuvem. Embora existammuitos trabalhos sobre recomendação em nuvem, este trabalho propôs a utilização decaracterísticas da nuvem na geração de recomendação de arquivos em sistemas dearmazenamento em nuvem.

� Um modelo de recomendação de arquivos para sistemas de armazenamento emnuvem, composto por características da nuvem e a técnica de recomendação baseadaem conteúdo. O modelo por completo foi apresentado no decorrer desta dissertação.

� A implementação do modelo proposto no sistema de armazenamento em nuvemUstore, que possibilitou avaliar a abordagem proposta nesta pesquisa.

Cinco artigos foram escritos com o objetivo de difundir o conhecimento produzido nestapesquisa, os quais foram aceitos para publicação:

Page 70: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

68 5.2. TRABALHOS FUTUROS

Publicados:

� Rodrigues, Ricardo B., Silva, C., Ferreira, W., Campos, G., Assad, R., Durão, F.,Garcia, V. A Cloud-based Recommendation System. IADIS International ConferenceWWW-INTERNET (ICWI), Out., 2013, Fort Worth, Texas.

� Rodrigues, Ricardo B., Assad, R., Durão, F., Garcia, V. RecCloud: Um Sistema deRecomendação Baseado em Nuvem. Workshop de Teses e Dissertações do CongressoBrasileiro de Software (WTDSoft). Set., 2013, Brasília, Distrito Federal, Brasil.

� Rodrigues, Ricardo B., Durão, F., Assad, R., Garcia, V. Um Sistema de Recomenda-ção Baseado em Nuvem. III Escola Regional de Informática de Pernambuco (ERIPE).Nov., 2013, Garanhuns, Pernambuco, Brasil.

� Rodrigues, Ricardo B., Durão, F., Assad, R., Garcia, V. A Cloud-based Recommenda-tion Model. 7th Euro American Association on Telematics and Information Systems,2014, Valparaíso, Chile.

Aceito para publicação:

� Rodrigues, Ricardo B., Durão, F., Assad, R., Garcia, V. RecCloud: A Recommen-dation Model for Cloud Storage Systems. 10th International Conference on WebInformation Systems and Technologies, 2014, Barcelona, Espanha.

5.2 Trabalhos Futuros

Este trabalho objetiva utilizar características da nuvem na geração de recomendaçõesde arquivos aos usuários de sistemas de armazenamento em nuvem. Desta forma, o escopodesta dissertação não abrange todas as possíveis características da nuvem e de sistemas dearmazenamento em nuvem que podem ser utilizadas na geração de recomendações. Os testesrealizados para avaliar o modelo proposto foram realizados no ambiente Ustore, fazendo uso detécnicas de avaliação de sistemas de recomendação. Estes são alguns aspectos que podem serinclusos em trabalhos futuros:

� Realizar experimentos com usuários reais, afim de, avaliar o conteúdo recomendadopelo modelo proposto.

� Aplicar outras técnicas de avaliação de sistemas de recomendação ao modelo, comobjetivo 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 combinação de pesos,para proporcionar os melhores resultados ao modelo RecCloud.

Page 71: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

69 5.2. TRABALHOS FUTUROS

� Expansão dos critérios utilizados: podem ser adicionados ao modelo novos critériosoriundos da nuvem, assim como, características de sistemas de armazenamento emnuvem.

� Utilizar a técnica de recomendação por filtragem colaborativa, que associada aoscritérios propostos neste modelo podem trazer resultados positivos.

� Propor um modelo de recomendação híbrido, utilizando as duas técnicas de recomen-dação mais populares entre os sistemas de recomendação (Filtragem colaborativa efiltragem baseada em conteúdo), associadas às características da nuvem.

Page 72: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

707070

Referências

ADOMAVICIUS, G.; TUZHILIN, A. Toward the next generation of recommender systems: asurvey of the state-of-the-art and possible extensions. Knowledge and Data Engineering,IEEE Transactions on, [S.l.], v.17, n.6, p.734–749, 2005.

ANSARI, A.; ESSEGAIER, S.; KOHLI, R. Internet recommendation systems. JOURNAL OFMARKETING RESEARCH, [S.l.], v.37, n.3, p.363–375, 2000.

ASSAD R. MACHADO, M. S. P. S. A. S. T. G. V. Desafios em cloud computing:armazenamento, banco de dados e big data. Tópicos em Multimídia, Hipermídia e Web,[S.l.], p.76–11, 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, andubiquitous computing. Industrial Electronics, IEEE Transactions on, [S.l.], v.58, n.6,p.2163–2172, June 2011.

BLANCO-FERNANDEZ, Y. et al. Providing entertainment by content-based filtering andsemantic reasoning in intelligent recommender systems. IEEE Trans. Consumer Electronics,[S.l.], v.54, n.2, p.727–735, 2008.

BLANK, I.; ROKACH, L.; SHANI, G. Leveraging the Citation Graph to RecommendKeywords. In: ACM CONFERENCE ON RECOMMENDER SYSTEMS, 7., New York, NY,USA. Proceedings. . . ACM, 2013. p.359–362. (RecSys ’13).

BURKE, R. Hybrid Recommender Systems: survey and experiments. User Modeling andUser-Adapted Interaction, [S.l.], v.12, n.4, p.331–370, 2002.

CARVALHO, J. F. S. Um Mapeamento Sistematico de Estudos em Cloud Computing. 2012.Dissertação (Mestrado em Ciência da Computação) — Universidade Federal de Pernambuco(UFPE).

CHAKOO, N.; GUPTA, R.; HIREMATH, J. Towards Better Content Visibility in VideoRecommender Systems. In: FRONTIER OF COMPUTER SCIENCE AND TECHNOLOGY,2008. FCST ’08. JAPAN-CHINA JOINT WORKSHOP ON. Anais. . . [S.l.: s.n.], 2008.p.181–185.

CHEN, Y.-C.; HUANG, H.-C.; HUANG, Y.-M. Community-based program recommendation forthe next generation electronic program guide. Consumer Electronics, IEEE Transactions on,[S.l.], v.55, n.2, p.707–712, 2009.

DENG, J. et al. Research and Application of Cloud Storage. In: INTELLIGENT SYSTEMSAND APPLICATIONS (ISA), 2010 2ND INTERNATIONAL WORKSHOP ON. Anais. . .[S.l.: s.n.], 2010. p.1–5.

DUARTE, M. Um algoritmo de disponibilidade em sistemas de backup distribuído segurousando a plataforma peer-to-peer. 2010. Dissertação (Mestrado em Ciência da Computação)— Centro de Informática UFPE.

Page 73: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

71 REFERÊNCIAS

DURãO, F. A. Applying a semantic layer in a source code retrieval tool. 2008. Dissertação(Mestrado em Ciência da Computação) — Centro de Informática, Universidade Federal dePernambuco (UFPE).

DURãO 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 BerlinHeidelberg, 2013. p.452–466. (Lecture Notes in Computer Science, v.7977).

GANTZ, J.; REINSEL, D. Extracting Value from Chaos State of the Universe : anexecutivesummary. 1-12.

GARCIA, V. C. et al. From Specification to Experimentation: a software component searchengine architecture. In: GORTON, I. et al. (Ed.). Component-Based Software Engineering.[S.l.]: Springer Berlin Heidelberg, 2006. p.82–97. (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 filteringsystems. 2000. Tese (Doutorado em Ciência da Computação) — University of Minnesota.AAI9983577.

JAIN, R. K. The Art of Computer Systems Performance Analysis: techniques forexperimental design, measurement, simulation, and modeling. 1.ed. [S.l.]: Wiley, 1991.

JAVA Platform, Standard Edition <ttp://www.oracle.com/technetwork/java>. ultimo acesso em07/06/2013.

JIANG, Y. et al. Recommending Academic Papers via User’s Reading Purposes. In: SIXTHACM CONFERENCE ON RECOMMENDER SYSTEMS, New York, NY, USA.Proceedings. . . ACM, 2012. p.241–244. (RecSys ’12).

JUNG, G. et al. CloudAdvisor: a recommendation-as-a-service platform for cloud configurationand pricing. In: SERVICES (SERVICES), 203 IEEE NINTH WORLD CONGRESS ON.Anais. . . [S.l.: s.n.], 2013. p.456–463.

KONG, D.; ZHAI, Y. Trust Based Recommendation System in Service-oriented CloudComputing. In: CLOUD AND SERVICE COMPUTING (CSC), 2012 INTERNATIONALCONFERENCE ON. Anais. . . [S.l.: s.n.], 2012. p.176–179.

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.823–835, June 2011.

LEE, S.; LEE, D.; LEE, S. Personalized DTV Program Recommendation System Under a CloudComputing Environment. IEEE Trans. on Consum. Electron., Piscataway, NJ, USA, v.56, n.2,p.1034–1042, May 2010.

LENK, A. et al. What’s 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.23–31.(CLOUD ’09, v.0).

Page 74: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

72 REFERÊNCIAS

LOPES, A. R. S. Sistemas de Recomendação Utilizando Similaridade Globais para Aliviaro Problema da Esparcidade. 2012. Dissertação (Mestrado em Ciência da Computação) —Universidade Federal de Pernambuco (UFPE).

MACHADO, M. A. S. Uma Abordagem para Indexacao e Buscas Full-Text Baseadas emConteúdo em Sistemas de Armazenamento em Nuvem. 2013. Dissertação (Mestrado emCiência da Computação) — Universidade Federal de Pernambuco (UFPE).

MATTMANN, C.; ZITTING, J. Tika in Action. Greenwich, CT, USA: Manning PublicationsCo., 2011.

MCLAUGHLIN, M. R.; HERLOCKER, J. L. A collaborative filtering algorithm and evaluationmetric that accurately model the user experience. In: ACM SIGIR CONFERENCE ONRESEARCH AND DEVELOPMENT IN INFORMATION RETRIEVAL, 27., New York, NY,USA. Proceedings. . . ACM, 2004. p.329–336. (SIGIR ’04).

MELL, P.; GRANCE, T. The NIST Definition of Cloud Computing. [S.l.]: National Instituteof Standards and Technology, Information Technology Laboratory, 2009.

NETSHOES. Disponível 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 BerlinHeidelberg, 2004. p.137–151. (Lecture Notes in Computer Science, v.3191).

PAZZANI, M. J.; BILLSUS, D. Learning and Revising User Profiles: the identification ofinteresting web sites. Machine Learning, [S.l.], v.27, n.3, p.313–331, 1997.

RICCI, F. et al. (Ed.). Recommender Systems Handbook. [S.l.]: Springer, 2011.

SAMPAIO, I. A. Apredizagem Ativa em Sistemas de Filtragem Colaborativa. 2006.Dissertação (Mestrado em Ciência da Computação) — Universidade Federal de Pernambuco,UFPE.

SILVA A., M. M. S. P. J. T. G. V. A. R.; MEIRA, S. Usto.re uma plataforma descentralizada parastorage de conteúdo 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. Computação, 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:2–4:2, Jan. 2009.

SUBMARINO. Disponível em: <http://www.submarino.com.br/>. Ultimo acesso em05/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.487–509.

Page 75: Ricardo Batista Rodrigues · 2019. 10. 25. · Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD:

73 REFERÊNCIAS

THE Eclipse Foundation - Eclipse projects. Disponível. Ultimo acesso em 07/06/2013.

TIAN, G.; JING, L. Recommending Scientific Articles Using Bi-relational Graph-basedIterative RWR. In: ACM CONFERENCE ON RECOMMENDER SYSTEMS, 7., New York,NY, USA. Proceedings. . . ACM, 2013. p.399–402. (RecSys ’13).

VAQUERO, L. M. et al. A break in the clouds: towards a cloud definition. SIGCOMMComput. Commun. Rev., New York, NY, USA, v.39, n.1, p.50–55, Dec. 2008.

VIEIRA, D. M. Sobre a interdependencia da recomendacao de conteúdo e do desempenhoda rede. 2013. Dissertação (Mestrado em Ciência da Computação) — Universidade Federal doRio de Janeiro, UFRJ.

VOGELS, W. A head in the clouds - the power of infrastructure as a service. First workshopon 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.133–145, 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.393–399, 2004.

ZENG, W. et al. Research on cloud storage architecture and key technologies. In:INTERNATIONAL CONFERENCE ON INTERACTION SCIENCES: INFORMATIONTECHNOLOGY, CULTURE AND HUMAN, 2., New York, NY, USA. Proceedings. . . ACM,2009. p.1044–1048. (ICIS ’09).

ZHANG, Z. et al. Improving Augmented Reality Using Recommender Systems. In: ACMCONFERENCE ON RECOMMENDER SYSTEMS, 7., New York, NY, USA. Proceedings. . .ACM, 2013. p.173–176. (RecSys ’13).