sistemas de recomendaÇÃo baseados em contexto fÍsico …

67
Alysson Bispo Peireira SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO E SOCIAL Dissertação de Mestrado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao RECIFE 2016

Upload: others

Post on 05-Jul-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Alysson Bispo Peireira

SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO

FÍSICO E SOCIAL

Dissertação de Mestrado

Universidade Federal de [email protected]

www.cin.ufpe.br/~posgraduacao

RECIFE2016

Page 2: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Alysson Bispo Peireira

SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTOFÍSICO E SOCIAL

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: Ricardo Bastos Cavalcante Prudêncio

RECIFE2016

Page 3: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Catalogação na fonteBibliotecária Joana D’Arc Leão Salvador CRB 4-572

P436s Pereira, Alysson Bispo. Sistemas de recomendação baseados em contexto físico e social /

Alysson Bispo Pereira. – 2016. 66 f.: fig., tab.

Orientador: Ricardo Bastos Cavalcante Prudêncio. Dissertação (Mestrado) – Universidade Federal de Pernambuco. CIN.

Ciência da Computação, Recife, 2016. Inclui referências e apêndice.

1. Inteligência artificial. 2. Aprendizado do computador. I. Prudêncio, Ricardo Bastos Cavalcante (Orientador). II. Titulo.

006.3 CDD (22. ed.) UFPE-MEI 2016-97

Page 4: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Alysson Bispo Pereira

Sistemas de Recomendação Baseados em Contexto Físico e Social

Dissertação de Mestrado apresentada ao

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

Computação da Universidade Federal de

Pernambuco, como requisito parcial para a

obtenção do título de Mestre em Ciência da

Computação.

Aprovado em: 29/06/2016.

BANCA EXAMINADORA

____________________________________________

Profa. Dra. Patricia Cabral de Azevedo Restelli Tedesco

Centro de Informática / UFPE

_______________________________________________

Prof. Dr. Rafael Ferreira Leite de Mello

Departamento de Estatística e Informática / UFRPE

__________________________________________________

Prof. Dr. Ricardo Bastos Cavalcante Prudêncio

Centro de Informática / UFPE (Orientador)

Page 5: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Agradecimentos

Em primeiro lugar a minha família, em especial à minha mãe, meu pai e meu irmão,pela força, sabedoria, estrutura e por sempre estar ao meu lado durante toda minha jornada. ÀGabrielly Faustino, pela compreensão, apoio, carinho e paciência. À meu orientador RicardoPrudêncio por toda paciência, prontidão e presteza durante a elaboração deste trabalho.

Enfim, a todos que contribuíram direta ou indiretamente para o desenvolvimento dessetrabalho. A todos, meu muito obrigado!

Page 6: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Resumo

Em meio a grande sobrecarga de dados disponíveis na internet, sistemas de recomendaçãotornam-se ferramentas indispensáveis para auxiliar usuários no encontro de itens ou conteúdosrelevantes. Diversas técnicas de recomendação são aplicadas em diversos tipos de domíniosdiferentes. Seja na recomendação de filmes, música, amigos, lugares ou notícias, sistemas derecomendação exploram diversas informações disponíveis para aprender as preferências dosusuários e promover recomendações úteis. Uma das estratégias mais utilizadas é a de filtragemcolaborativa. A qualidade dessa estratégia depende da quantidade de avaliações disponíveis eda qualidade do algoritmo utilizado para predição de avaliação. Estudos recentes demonstramque informações provenientes de redes sociais podem ser muito úteis para aumentar a precisãodas recomendações. Assim como acontece no mundo real, no mundo virtual usuários buscamrecomendações e conselhos de amigos antes de comprar um item ou consumir algum serviço,informações desse tipo podem ser úteis para definição do contexto social da recomendação.Além do social, informações físicas e temporais passaram a ser utilizadas para definição docontexto físico de cada recomendação. A companhia, a localização e as condições climáticas sãobons exemplos de elementos físicos que levam um usuário a preferir certos itens. Um processode recomendação que não leve em consideração elementos contextuais pode fazer com que ousuário tenha uma péssima experiência consumindo determinado item recomendado equivoca-damente. Esta dissertação tem como objetivo investigar técnicas de filtragem colaborativa queutilizam contexto a fim de realizar recomendações que auxiliem usuários no encontro de itensrelevantes. Nesse tipo de técnica, um sistema de recomendação base é utilizando para fornecerrecomendações para o usuário alvo. Em seguida, são filtrados apenas os itens consideradosrelevantes para contextos previamente identificados nas preferências do usuário alvo. As técnicasimplementadas foram aplicadas em dois experimentos com duas bases de dados de domíniosdiferentes: uma base composta por eventos e outra por filmes. Na recomendação de eventos,investigamos o uso de contextos físicos (i.e., tempo e local) e de contextos sociais (i.e., amigosna rede social) associados aos itens sugeridos aos usuários. Na recomendação de filmes, por suavez, investigamos novamente o uso de contexto social. A partir da aplicação de pós-filtragem emtrês algoritmos de filtragem colaborativa usados como base, foi possível recomendar itens deforma mais precisa, como demonstrado nos experimentos realizados.

Palavras-chave: Sistemas de Recomendação. Contexto Social. Contexto Físico. FiltragemColaborativa

Page 7: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Abstract

The overload of data available on the internet makes recommendation systems becomeindispensable tools to assist users in meeting items or relevant content. Several recommenda-tion techniques were has been userd in many different types of domains. Those systems canrecommend movies, music, friends, places or news; recommender systems can exploit differentinformation available to learn preferences of users and promote more useful recommendations.The collaborative filtering strategy is one of the most used. The quality of this technique dependson the number of available ratings and the algorithm used to predict. Recent studies show thatinformation from social networks can be very useful to increase the accuracy recommendations.Just as in the real world, the virtual world users ask recommendations and advice from friendsbefore buying an item or consume a service. Furthermore, the context of each rating may becrucial for the definition of new ratings. Location, date time and weather conditions are goodexamples of useful elements to define what should be the best items to recommend for someuser. A recommendation process that does not respect those elements can provide a user a badexperience. This dissertation investigates collaborative filtering techniques based on context, andmore specifically techniques based on post-filtering. First, a recommendation system was usedto provide recommendations for a specific user. Then, only relevant items according to contextpreferences for the target user will be recommended. The techniques implemented was appliedin two case studies with two different domains databases: one base composed of events andanother of movies. In the event of recommendation, we investigated the use of physical contexts(i.e., time and place) and social contexts (i.e., friends in the social network) associated with itemssuggested to users. On the recommendation of movies, in turn, again we investigated the use ofsocial context. From the application of post-filtering in three collaborative filtering algorithmsused as a baseline, it was possible to recommend items more accurately, as demonstrated in theexperiments.

Keywords: Recommender Systems. Social Context. Physical Context. Collaborative Filtering.Post Filtering

Page 8: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Lista de Figuras

2.1 Filtragem baseada em Usuário . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Filtragem Colaborativa Baseada em Item . . . . . . . . . . . . . . . . . . . . . 192.3 Arquitetura para integração de confiança em sistemas de recomendação proposta

por (MASSA; AVESANI, 2009) . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1 Arquitetura de Predição de Avaliações Tradicional Utilizando Filtragem Colabo-rativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2 Arquitetura de aplicação da pós filtragem social . . . . . . . . . . . . . . . . . 353.3 Arquitetura de aplicação da pós filtragem utilizando Contexto Físico . . . . . . 36

4.1 Distribuição das 11244924 Avaliações . . . . . . . . . . . . . . . . . . . . . . 404.2 Distribuição da quantidade de amigos por usuário da base de dados de Eventos 414.3 Distribuição das Avaliações para base Douban . . . . . . . . . . . . . . . . . . 434.4 Distribuição da quantidade de amigos por usuário da base de dados de Filmes . 434.5 Caso de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.6 Cobertura x N e Filtragem Social . . . . . . . . . . . . . . . . . . . . . . . . 484.7 Cobertura x N e Contexto Físico . . . . . . . . . . . . . . . . . . . . . . . . . 484.8 Cobertura x Precisão e Filtragem Social . . . . . . . . . . . . . . . . . . . . . 484.9 Cobertura x Precisão com Contexto Físico . . . . . . . . . . . . . . . . . . . 484.10 Cobertura x N e Filtragem Social para a Base de Dados de Filmes . . . . . . . 494.11 Precisão x Cobertura e Contexto Social para a Base de Filmes . . . . . . . . . 50

A.1 Cobertura x N e Filtragem Social . . . . . . . . . . . . . . . . . . . . . . . . . 61A.2 Precisão x Cobertura e Contexto Social . . . . . . . . . . . . . . . . . . . . . 62A.3 Cobertura x Precisão e Conexto Físico . . . . . . . . . . . . . . . . . . . . . . 63A.4 Cobertura x Precisão e Filtragem Social. . . . . . . . . . . . . . . . . . . . . . 64A.5 Cobertura x Precisão e Filtragem Social. . . . . . . . . . . . . . . . . . . . . . 65A.6 Cobertura x Precisão e Contexto Físico . . . . . . . . . . . . . . . . . . . . . . 66

Page 9: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Lista de Tabelas

2.1 Comparativo entre trabalhos relacionados . . . . . . . . . . . . . . . . . . . . 31

4.1 Tabela de Conversão de Resposta a Convites em Avaliação . . . . . . . . . . . 394.2 Tabela resultado de exemplo de aplicação da metododologia de avaliação Top N 46

Page 10: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Sumário

1 Introdução 111.1 Sistemas de recomendação baseado em contexto . . . . . . . . . . . . . . . . . 121.2 Sistemas de recomendação social . . . . . . . . . . . . . . . . . . . . . . . . . 131.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.4 Organização do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Fundamentação teórica 162.1 Sistemas de Recomendação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.1 Filtragem Baseada em Conteúdo (FBC) . . . . . . . . . . . . . . . . . 172.1.2 Filtragem Colaborativa . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.1.2.1 Filtragem Colaborativa Baseada em Usuário . . . . . . . . . 182.1.2.2 Filtragem Colaborativa Baseada em Item . . . . . . . . . . . 192.1.2.3 Fatoração de Matrizes . . . . . . . . . . . . . . . . . . . . . 19

2.2 Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.3 Sistemas de Recomendação Sensíveis ao Contexto . . . . . . . . . . . . . . . 23

2.3.1 Paradigmas de Incorporação de Contexto em Sistemas de Recomendação 252.4 Recomendação social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.4.1 Relações de Confiança . . . . . . . . . . . . . . . . . . . . . . . . . . 262.4.2 Confiança em Sistemas de Recomendação . . . . . . . . . . . . . . . . 28

2.5 Comparativo entre Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . 302.6 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Recomendação Baseada em Contexto Físico e Social 343.0.1 Filtragem Social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.0.2 Contexto Físico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4 Experimentos 384.1 Recomendação de Eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.1.1 Base de dados de Eventos . . . . . . . . . . . . . . . . . . . . . . . . 394.1.2 Filtragem Social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.1.3 Contexto Físico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2 Recomendação de Filmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2.1 Base de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2.2 Filtragem Social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.3.1 Algoritmos Avaliados . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Page 11: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.3.2 Metodologia de Avaliação . . . . . . . . . . . . . . . . . . . . . . . . 454.3.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.3.3.1 Resultados para Recomendação de Eventos . . . . . . . . . . 474.3.3.2 Resultados para Recomendação de Filmes . . . . . . . . . . 49

4.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5 Conclusão 525.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Referências 54

Apêndice 59

A Gráficos Completos 60

Page 12: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

111111

1Introdução

O crescimento da internet nos últimos anos causou um aumento gigantesco na quantidadede dados disponíveis na web, fazendo com que a tarefa de encontrar dados, que de fato sejamrelevantes, se torne muito complexa (BAWDEN; ROBINSON, 2009). Sistemas de recomendaçãopossuem a difícil tarefa de encontrar bons itens para usuários baseado nos seus interesses.Recomendar bons itens em meio à grande quantidade de informações disponíveis é uma boaforma de otimizar o tempo gasto pelo usuário visualizando itens que não são de seu interesse.Para realizar boas recomendações, diversas aplicações fazem uso de dados oriundos de redessociais como Facebook1 e Twitter2 para definir preferências e realizar recomendações maisprecisas (JIANG et al., 2012). Informações diversas sobre usuários e de suas interações comoutros usuários podem ser recuperadas e auxiliar na definição de suas preferências com dadosreais.

Além disso, o contexto de cada avaliação pode ser muito importante para a definição denovas recomendações. A companhia, informações temporais ( i.e. dia da semana e hora do dia),a localização e as condições climáticas são bons exemplos de elementos que levam um usuário apreferir certos itens. Um processo de recomendação que não leve em consideração o contextopode fazer com que o usuário tenha uma péssima experiência consumindo determinado itemrecomendado equivocadamente. Por exemplo, o contexto perfeito para um determinado usuárioir a praia pode ser em dias ensolarados, na companhia dos amigos e praias que não fiquem amais de 100 quilômetros de sua localização atual. Uma recomendação em dias nublados podelevar o usuário a uma péssima experiência. O objetivo desse trabalho é realizar uma investigaçãoda aplicação de contexto na recomendação afim de melhorar os resultados de recomendaçõesque utilizam algoritmos tradicionais.

1www.facebook.com2www.twitter.com

Page 13: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

1.1. SISTEMAS DE RECOMENDAÇÃO BASEADO EM CONTEXTO 12

1.1 Sistemas de recomendação baseado em contexto

De acordo com (MULVENNA; ANAND; BÜCHNER, 2000), personalização é o com-ponente chave para sistemas modernos. Tradicionalmente, sistemas de recomendação fazem usoapenas do usuário e item para realizar recomendações e não fazem uso de nenhuma informaçãocontextual. A depender do domínio que a recomendação deve atuar, diversos fatores contextuaispodem influenciar nas escolhas dos usuários.

(ADOMAVICIUS; TUZHILIN, 2011) aponta que a partir da quantidade de fatores con-textuais que sistemas de recomendação conseguem capturar, podemos definir os ambientes deacordo com o nível de observação em: totalmente, parcialmente ou não observáveis. Recomen-dações que atuam em ambientes totalmente observáveis não precisam executar operações pararecuperar fatores contextuais, a definição do contexto acontece diretamente. Além disso, fatorescontextuais podem ser classificados como dinâmicos ou estáticos de acordo com a frequênciacom que mudam durante seu uso. A definição do ambiente e dos fatores são de suma importânciapara a qualidade da recomendação.

De acordo com (FLING, 2009), existem 4 tipos de contextos já utilizados em aplicações,são eles: físico, social, interação e modal. O contexto físico está relacionado a todos os fatorescontextuais que envolvem informações de tempo e localização. O contexto social é encarregadode definições contextuais que podem envolver avaliações de outros amigos ou até mesmo acompanhia na avaliação de itens. Contexto de iteração tenta a partir do meio com que o usuárioestá interagindo (i.e., o dispositivo que o usuário esta utilizando para interagir) afim de forneceruma boa experiência. Por fim, o contexto modal, talvez o mais completo de se definir em sistemascomputacionais, trabalha com o humor, emoções e capacidades cognitivas do usuário.

O contexto físico é um dos mais utilizados em diversos domínios, os fatores contextuaisfísicos podem ser facilmente extraídos pela localização geográfica do usuário e a partir dissodiversas variáveis podem ser inferidas. Diariamente diversas decisões envolvem atributos detempo e espaço. Onde seria o melhor local para trabalhar, onde passar as férias, onde compraruma casa e etc são decisões diárias que envolvem locais e objetivos do usuário. Um determinadoitem, que logicamente possua atributos físicos e/ou temporais, deve ser recomendado utilizandocomo entrada o contexto físico atual, ou seja, informações sobre hora e lugar que o usuáriose encontra. Esses elementos tornam-se fundamentais quando se trata de recomendações queenvolvem localização.

O contexto podem ser integrados em vários estágios do processo de recomendação.A utilização de contexto em sistemas de recomendação pode reduzir o espaço de busca darecomendação antes da utilização dos algoritmos de recomendação através de uma pre filtragem,otimizar a função de recomendação inserindo diretamente no código fatores contextuais com ouso de uma modelagem contextual ou até mesmo reduzir a lista de itens recomendados para ousuário com apenas os itens mais relevantes através da pós filtragem.

Page 14: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

1.2. SISTEMAS DE RECOMENDAÇÃO SOCIAL 13

1.2 Sistemas de recomendação social

Em meio a grande quantidade de dados existentes na internet, existem diversos fatoressociais que inter-relacionam itens distintos. Seja a partir de fóruns, redes sociais ou até mesmopáginas de comercio eletrônico, diversas pessoas compartilham experiências, avaliam e conso-mem itens, ou até mesmo serviços, publicamente. Mesmo não conectadas diretamente, usuáriosconseguem ler conteúdos e opiniões de outros e até mesmo podem criar novos laços de amizade.

Ao longo do tempo, foram desenvolvidas diversas técnicas que utilizam relações sociaispara realizar recomendações mais precisas. Além do uso de informações dos amigos de usuáriosmelhorar a recomendação, relações sociais podem ser úteis para resolução de problemas clássicosde sistemas de recomendação como a falta de dados suficientes para realizar recomendações paraum determinado usuário (PARK et al., 2006) (SCHEIN et al., 2002). Mesmo em bases de dadosem que já é possível realizar boas recomendações, o uso de informações sociais possibilita arealização de recomendações ainda mais precisas (MA et al., 2011) (KAUTZ; SELMAN; SHAH,1997) (GUY; GEYER, 2014) (LI; WU; MAMOULIS, 2014).

Recomendação social são recomendações que fazem uso das relações sociais do usuáriopara recomendar itens. Usuários tendem a estabelecer relações sociais com outros de diversasformas, os laços sociais entre usuários podem ser de amizade, confiança, seguidores ou deaté mesmo membros de uma mesma comunidade (KING; LYU; MA, 2010). MA et al. (2011)expandiu essa definição e afirmou que sistemas de recomendação social podem ainda ser sistemasque fazem recomendações no domínio social. Ou seja, recomendam amigos, comunidades,seguidores e etc.

Assim como a incorporação contextual propõe a inserção de informações contextuaisem sistemas de recomendação além dos tradicionais usuários e item, sistemas de recomendaçãosociais propõem a entrada de relacionamentos sociais do usuário. Além desse tipo de recomen-dação conseguir fazer uso dos usuários diretamente conectados, esse conceito ainda pode serexpandidos para utilização também de amigos de usuários que não precisam estar diretamenteconectados.

Técnicas de filtragem colaborativa buscam similaridades entre usuários ou itens em umabase de dados para criar vizinhanças e recomendar itens. A recomendação social já possui umavizinhança definida através dos amigos dos usuários, a existência de um laço de amizade podeaumentar e muito a influencia que um usuário pode ter em outros. O mesmo procedimentoutilizado no mundo real de buscar sugestões de amigos para consumir novos conteúdos é utilizadonas redes sociais e influencia muito o usuário em tomadas decisões (SINHA; SWEARINGEN,2001). Portanto, usuários confiam nos seus amigos e em suas avaliações.

Apesar de já ser objeto de estudo há diversos anos da psicologia, a partir da grandeexploração de informações de redes sociais nos últimos anos, dados relativos a confiança entreusuários passaram a ser muito utilizados em sistemas de recomendação (DOU et al., 2004)(ADOMAVICIUS; TUZHILIN, 2005) (ZIEGLER; GOLBECK, 2007). Naturalmente, um

Page 15: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

1.3. OBJETIVOS 14

indivíduo tende a se relacionar e ser influenciado por outros que possuem atributos e interessessemelhantes (WASSERMAN; FAUST, 1994). Os primeiros resultados demonstraram querecomendações desse tipo apresentam maior precisão do que técnicas tradicionais, como filtragemcolaborativa, assumindo que a rede de confiança já é conhecida explicitamente (MASSA;AVESANI, 2004).

1.3 Objetivos

O objetivo geral desse trabalho investigar a aplicação de contexto através de técnicasde pós filtragem para que, a partir de algoritmos tradicionais de recomendação que utilizam aestratégia de filtragem colaborativa, seja possível recomendar novos itens de forma mais precisade acordo com as preferências contextuais do usuário. Mais especificamente, pode-se destacar:

� Uso de contexto físico a partir de informações geográficas e temporais de itens paraconstrução de listas com preferências contextuais a partir de dados históricos.

� Uso de contexto social a partir das avaliações de amigos para definição de relevânciaou não de itens a serem recomendados.

� Validação de técnicas de pós filtragem em bases reais

Para alcançar os objetivos acima, implementamos uma técnica de pós filtragem paraque a partir da filtragem colaborativa seja possível realizar uma filtragem de itens relevantesde acordo com o contexto físico e social. Para tal, foram realizados dois estudos de casos comduas bases de dados de domínios diferentes: uma base composta de filmes e outra por eventos.Para recomendação de eventos e filmes, foi possível fazer uso do contexto social. O contextofísico, por sua vez, foi aplicado apenas no estudo de caso de recomendação de eventos pela nãodisponibilidade de dados físicos na base de filmes.

1.4 Organização do Documento

O presente trabalho está organizado da seguinte forma:

� Capitulo 2: é apresentada uma breve revisão da literatura e dos principais conceitospara a contextualização do problema. Serão apresentadas técnicas de incorporaçãocontextual, os tipos de contextos já definidos na literatura e um resumo de algunstrabalhos que fizeram uso de informações sociais em sistemas de recomendação.

� Capítulo 3: são apresentados os modelos utilizados para definição da filtragem sociale contexto físico.

Page 16: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

1.4. ORGANIZAÇÃO DO DOCUMENTO 15

� Capítulo 4: são apresentadas as duas bases de dados que serão utilizadas nos ex-perimentos, a metodologia de avaliação utilizada e os gráficos correspondentes acobertura e precisão resultantes da execução dos experimentos.

� Capítulo 5: é apresentada uma breve conclusão a partir dos experimentos e emseguida diversas colocações para trabalhos futuros são propostas.

Page 17: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

161616

2Fundamentação teórica

2.1 Sistemas de Recomendação

Sistemas de recomendação são técnicas e ferramentas, normalmente focadas em um de-terminado domínio, que sugerem itens para usuários específicos (RICCI; ROKACH; SHAPIRA,2011). As recomendações são personalizadas de acordo com preferências explicitamente ouimplicitamente adquiridas. Pode-se recomendar desde livros, músicas e filmes ou até mesmorestaurantes e museus. Nesses sistemas, novos itens são recomendados comumente baseados nohistórico de itens consumidos previamente pelos usuários.

Com o grande avanço do comercio eletrônico e das redes sociais, sistemas desse tipotornaram-se ferramentas de grande importância, auxiliando usuários a fazerem boas escolhase otimizando o tempo gasto em busca de itens relevantes. A partir da rede de amigos oude escolhas passadas, sistemas de recomendação atuam em diversos sites como: Amazon1,YouTube2, Netflix3, Yahoo4, Lastfm5, Facebook6 e Foursquare7. Além disso, grandes empresaspassaram a desenvolver suas próprias soluções de acordo com seus domínios específicos afim defornecer sistemas cada vez mais precisos.

Um grande exemplo de investimento em sistemas desse tipo foi uma competição organi-zada pelo Netflix em 2006. Nesta ocasião, foram disponibilizados 100 milhões de avaliaçõesfeitas por aproximadamente 500 mil usuários de mais de 17 mil filmes de sua própria base dedados e foi oferecido um prêmio de 1 milhão de dólares para algum time de desenvolvedoresque conseguisse obter um desempenho preditivo 10% melhor do que o algoritmo existentepara recomendação de filmes (KOREN; BELL; VOLINSKY, 2009). Mais de 48 mil timesprovenientes de 182 países diferentes participaram da competição. Foi a primeira vez na históriaque uma competição online desse tipo usou dados reais de usuários e disponibilizou na web.

1www.amaon.com2www.youtube.com3www.netflix.com4www.yahoo.com5www.lastfm.com6www.facebook.com7www.foursquare.com

Page 18: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.1. SISTEMAS DE RECOMENDAÇÃO 17

Sistemas de recomendação podem ser considerados filtradores de informação que predi-zem o quanto um usuário pode gostar ou não de um determinado item. Tais previsões baseiam-seem preferências, características dos itens ou até mesmo em avaliações e atributos de outrosusuários. A partir disso, pode-se classificar algumas técnicas de acordo com sua estratégiautilizada para filtrar itens em: filtragem baseada em conteúdo e colaborativa.

2.1.1 Filtragem Baseada em Conteúdo (FBC)

Nesse tipo de filtragem, a recomendação é feita comparando-se características de itensanteriormente avaliados com novos itens a serem recomendados. Por exemplo, na recomendaçãode livros, pode-se fazer uma análise dos livros já lidos e buscar novos com conteúdos em comum,tais como: autor, gênero, título e etc. A partir das preferências de conteúdo, busca-se livros comalto grau de semelhança com os lidos no passado.

Um dos grandes problemas desse tipo de recomendação é a necessidade de processaruma boa quantidade de itens para possibilitar o preenchimento das preferências do usuário.Entretanto, uma grande vantagem desse tipo de recomendação é a de não necessitar de umagrande quantidade de usuários envolvidos, a verificação de similaridade é feita apenas entre itensoriundos das preferências do usuário e novos itens ainda não avaliados. Além disso, apresentagrande facilidade de implementação e integração.

2.1.2 Filtragem Colaborativa

A Filtragem Colaborativa (FC) é uma das técnicas mais populares para construção desistemas de recomendação. Esse tipo de recomendação busca semelhanças entre usuários e nãomais entre conteúdo de itens. Em FC, ainda é possível medir a similaridade entre itens, com adiferença de que não é mais levando em consideração o conteúdo. Portanto, busca-se usuárioscom padrões semelhantes e a partir disso verifica-se itens que alguns usuários ainda não tenhamavaliado para realizar a recomendação.

Diversos sistemas foram construídos utilizando filtragem colaborativa ao longo do tempo.Com o grande crescimento das redes sociais, abordagens passaram a fazer uso de confiança eda rede de amigos para aumentar a precisão das recomendações que utilizam FC. Abordagenshíbridas que fazem uso de FC e alguma outra técnica foram exploradas por diversos trabalhos(MELVILLE; MOONEY; NAGARAJAN, 2002) (PAZZANI, 1999) (ZHANG; FENG, 2012).Em (DUBOIS et al., 2009), afirma-se que usuários que são amigos confiáveis compartilham damesma opinião. O autor cria grupos baseados em confiança e através da FC recomenda novositens para usuários respeitando o grupo que ele pertence. Se essa abordagem for aplicada apenaspara um domínio específico pode ser de grande serventia, entretanto, a formação de gruposconfiáveis pode falhar para outros domínios. Usuários podem não ser confiáveis para todos osdomínios e, portanto, não serem boas referências para recomendações.

Um dos grandes problemas da FC é de não conseguir encontrar usuários semelhantes

Page 19: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.1. SISTEMAS DE RECOMENDAÇÃO 18

Figura 2.1: Filtragem baseada em Usuário

Fonte: Elaborada pelo Autor

para usuários mais novos no sistema, portanto, usuários com poucas avaliações ou nenhuma.Além disso, novos itens podem demorar a ser recomendados enquanto não obtiverem um bomnúmero de avaliações dos usuários. Mesmo assim, pela simplicidade e eficiência em produ-zir recomendações precisas em muitos casos, abordagens baseadas em filtragem colaborativatornaram-se bem populares.

Para recomendar itens utilizando a filtragem colaborativa, pode-se fazer uso de duasestratégias: recomendar com base nos usuários ou itens.

2.1.2.1 Filtragem Colaborativa Baseada em Usuário

Essa estratégia de filtragem colaborativa foi a primeira desenvolvida (RESNICK et al.,1994) e, portanto, é a mais tradicional. Trata-se da busca de usuários com comportamentossemelhantes ao que se deseja recomendar algo e, a partir das avaliações semelhantes, encontraritens que podem ser do interesse do usuário em questão. Para calcular essa semelhança sãoutilizados algoritmos de similaridade e correlação afim de definir os usuários mais próximos.

A Figura 2.1 apresenta como é feita filtragem baseada em usuário. A partir das avaliações,percebe-se uma similaridade entre os Usuários 1 e 2 por terem avaliado os itens 2 e 3. Devido aesta similaridade, a filtragem colaborativa recomenda os Itens 1 e 2 para o Usuário 2 por seremitens já avaliados pelo Usuário 1.

O grande desafio dessa estratégia é a definição de um algoritmo apropriado para calculara relação entre os usuários. Um dos algoritmos mais utilizados é o de Pearson correlation.Trata-se do calculo estatístico utilizando a correlação de Pearson para que a partir de avaliaçõesem comum defina-se a correlação entre dois usuários.

Page 20: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.1. SISTEMAS DE RECOMENDAÇÃO 19

Figura 2.2: Filtragem Colaborativa Baseada em Item

Fonte: Elaborada pelo Autor

2.1.2.2 Filtragem Colaborativa Baseada em Item

Uma das grandes desvantagens de utilizar a filtragem baseada em usuário é de quandose utiliza grandes bases de dados. Perde-se muito em escalabilidade quando se tem muitosusuários e, consequentemente, muitas avaliações. Utilizada pela primeira vez em pela Amazon 8

(LINDEN; SMITH; YORK, 2003), a filtragem colaborativa baseada em item busca similaridadesentre itens e não mais entre usuários como a anterior. Por exemplo, se um mesmo item tendea ter avaliações semelhantes por determinados usuários, estes podem ter as preferências bemsemelhantes.

A Figura 2.2 apresenta como é feita filtragem baseada em item. A partir das avaliações,percebe-se uma similaridade entre os Itens 1 e 2 por terem sido avaliados pelos Usuários 1 e 2.Devido a esta similaridade, a filtragem colaborativa recomenda o Item 1 para o Usuário 3 pelasimilaridade com o item 3 já avaliado pelo Usuário 3.

A filtragem colaborativa baseada em item diferencia-se da filtragem baseada em conteúdopor não fazer uso de nenhuma informação de conteúdo do item em si, utilizando apenas comoreferências as avaliações que os usuários fizeram dos mesmos.

2.1.2.3 Fatoração de Matrizes

Uma das técnicas de fatoração de matrizes mais exploradas em sistemas de recomendaçãoé a decomposição em valores singulares ou Singular Vector Decomposition (SVD) (KOREN;BELL; VOLINSKY, 2009). Além disso, SVD também é muito utilizada no processamentode imagens, de sinais e na estatística (ZHANG, 2008). Trata-se de uma técnica de redução de

8www.amazon.com

Page 21: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.2. CONTEXTO 20

dimensionalidade que busca encontrar os fatores latentes mais importantes em uma matriz deavaliações ( Usuário x Item x Avaliação ). Tais fatores podem ser interpretados como conceitossemânticos e a relevância de cada conceito pode ser calculada.

A decomposição de uma matriz R, composta por avaliações, de dimensão m x n utilizandoSVD pode ser representada da seguinte forma:

R = U x S x V T

U, S e V possuem as dimensões m x m, m x n e n x n respectivamente. U e V são duasmatrizes ortogonais e S é uma matriz diagonal de dimensão m x n também chamada de matrizsingular (SARWAR et al., 2002). Após a seleção dos fatores latentes a matriz R é recomposta.

A redução de dimensionalidade proposta pela abordagem de SVD pode ser muito útil paraa filtragem colaborativa, aproximando usuários que tenham avaliados itens similares, ou seja, nãoexatamente iguais. Além disso, sistemas de recomendação baseados em filtragem colaborativacomumente possuem problemas de escalabilidade e esparsidade. Soluções alternativas para taisalgoritmos foram desenvolvidas ao longo do tempo para possibilitar a recomendação fazendouso de bases de dados com grande volume de dados e muito esparsas. Apesar de SVD apresentarresultados melhores que outras estratégias de recomendação, por utilizar fatoração de matriz,possuem um alto custo computacional (SARWAR et al., 2002).

2.2 Contexto

A necessidade cada vez mais constante de tornar sistemas mais adaptados a cada usuário,a cada situação e até mesmo a cada ambiente, faz com que sistemas que fazem inferências paradefinição do contexto atual permitam uma diminuição do esforço do usuário no manuseio deaplicações e promovam uma relação mais amigável entre homem e máquina. Para tal, sistemasdesse tipo adaptam suas operações ao contexto atual sem, preferencialmente, fazer uso deinformações explicitas do usuário.

Nos dias atuais, através do desenvolvimento de dispositivos cada vez mais personalizadose com a grande evolução das redes de comunicação sem fio, existe uma grande facilidade parase obter informação e serviços em qualquer lugar e em qualquer hora através de dispositivoscada vez mais evoluídos e adaptados. Nesse contexto, surge a Computação Ubíqua, formadapor grande conjunto de dispositivos que visam expandir tarefas da natureza humana com novosserviços que podem se adaptar as circunstâncias de sua utilização (COUTAZ et al., 2005). Nesseenredo, surgiram os sistemas sensíveis ao contexto. Estes, possuem a flexibilidade de se adaptarao o ambiente e ao usuário através da manipulação de dados oriundos de diversas fontes e, apartir disso, definir o contexto atual (VIEIRA; TEDESCO; SALGADO, 2009).

O primeiro sistema sensível ao contexto foi desenvolvido por (WANT et al., 1992)fazendo uso da localização atual do usuário para definir o contexto corrente. Após essa iniciativa,

Page 22: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.2. CONTEXTO 21

diversas aplicações surgiram com foco em turismo para apresentar ao usuários informações sobreo local atual do mesmo (ABOWD et al., 1997) (SUMI et al., 1998) (CHEVERST et al., 2000).

A definição do contexto não se limita apenas a localização atual, mas também as pessoase objetos que estão envolvidos no ambiente e, principalmente, as mudanças que ocorrem nosmesmos com o passar do tempo (DEY, 2001) (COUTAZ et al., 2005). Tais definições contextuais,evitam fazer uso de informações obtidas explicitamente de usuários e buscam realizar inferênciasa partir de informações históricas obtidas pelas aplicações (DEY, 2001).

A depender do domínio das aplicações, o contexto da escolha do item pode ser influenci-ado por uma quantidade enorme de fatores. Apesar do conceito de contexto ter sido exploradopor diversas áreas, ainda existem muitas definições para o mesmo. (BAZIRE; BRÉZILLON,2005) apontam aproximadamente 150 definições diferentes de contexto provenientes de diversasáreas do conhecimento e chega a concluir que contexto é de natureza multifacetada e de difícildefinição unificadora sem determinar qual definição das abordadas seria a mais adequada.

Construir aplicações flexíveis, capazes de agir em nome do usuário e cada vez maisadaptáveis a diversas situações é uma tarefa complexa para desenvolvedores. Para tal, o processode modelagem contextual torna-se primordial na identificação das informações contextuais efornece diversos benefícios na formalização das informações adquiridas. Além disso, objetiva-sea partir da modelagem fazer com que as aplicações evoluam, melhorando sua capacidade demanutenção e adaptação.

Diversas técnicas de modelagem foram desenvolvidas ao longo do tempo baseadas nasnecessidades de aplicações de diversos domínios. A partir da definição do foco da aplicação,pode-se inferir qual seria a melhor técnica de modelagem a ser empregada utilizando as própriasdefinições de domínio da engenharia de software para aplicação. Desta forma, aspectos comoexpressividade, desempenho, escalabilidade e o apoio que a técnica pode oferecer para o raciocí-nio com base nas informações contextuais são levados em consideração na definição da melhortécnicas a ser empregada.

Alguns modelos foram desenvolvidas ao longo do tempo e inúmeras aplicações dediversos domínios fizeram uso de técnicas de modelagem para o gerenciamento de contexto. Osrequisitos definidos por (BETTINI et al., 2010) são:

� Heterogeneidade e mobilidade: tais modelos devem ser capazes de fazer uso deinformações contextuais oriundas de diferentes fontes, com uma grande variedadede abstrações semânticas e que podem ser atualizadas em frequências de tempodiferentes. O grande problema da heterogeneidade é a constate necessidade deaplicações sensíveis ao contexto possuem de sempre estarem adaptadas a situaçãoreal, portanto, quaisquer mudanças no contexto do mundo real pode ser de grandeserventia no raciocínio.

� Relacionamento e dependências: durante a modelagem pode-se encontrar relaciona-mentos e dependências entre informações contextuais. Por exemplo, quanto maior

Page 23: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.2. CONTEXTO 22

foi a aceleração empenhada em um carro, maior será o consumo de combustível.

� Acesso a dados históricos: fazer uso de informações contextuais é de grande serventiapara essas abordagens. Através de estados passados, pode-se prever estados futurosde contexto. Entretanto, tento em vista a grande quantidade de atualizações quepode-se ter em aplicações desse tipo, administrar informações históricas pode seruma tarefa complexa.

� Imperfeição: a dinamicidade presente em aplicações contextuais pode provocarmuitas vezes falta de precisão e de qualidade nas informações contextuais adquiridas.Além disso, dados provenientes de sensores podem chegar na aplicação incompletospor uma simples falha na transmissão dos dados.

� Raciocínio: uma aplicação que faz uso de informações contextuais deve sempre estarprocessando novos dados a medida que os recebe. Essa necessidade constante deraciocínio para definição do contexto atual deve ser feita respeitando a consistênciados dados e deve-se ter cuidados com a complexidade de raciocínio dependendo dasituação atual.

� Usabilidade do formalismo de modelagem: abordagens que fazem modelagem deinformações contextuais são planejadas para serem usadas por aplicações do mundoreal no uso de informações contextuais de maneira simples.

� Provisionamento de contexto inteligente: para este ultimo requisito, destaca-se anecessidade do acesso eficiente ao conjunto de dados. Deve-se prover a seleção deobjetos relevantes através de caminhos eficientes. Para tal, geralmente, faz-se o usode índices.

Além dos requisitos, as abordagens de modelagem de contexto podem ser analisadas e escolhidasde acordo com algumas limitações impostas pelas mesmas (BETTINI et al., 2010), tais como:

� Capacidade de capturar uma grande variedade de tipos de contexto.

� Capturar relacionamentos, dependências e qualidade da informação contextual.

� Capacidade de verificar consistência

� Suporte no raciocínio do contexto quando o contexto é incerto e existe uma grandeabstração de contexto

A depender da situação, deve-se escolher a técnica de modelagem que mais se adapta a realidadeda aplicação. Não existe técnica perfeita, e sim a mais adequada para determinados domínios erequisitos de sistema.

Page 24: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.3. SISTEMAS DE RECOMENDAÇÃO SENSÍVEIS AO CONTEXTO 23

2.3 Sistemas de Recomendação Sensíveis ao Contexto

Frequentemente, sistemas de recomendação fazem uso de modelos tradicionais de fil-tragem baseada em conteúdo e colaborativa para recomendar itens. Geralmente, tais sistemasapenas utilizam avaliações passadas e atributos dos usuários para fazer recomendações. A princí-pio, nenhuma informação das situações em que tais itens foram avaliados é armazenada. Porexemplo, a escolha de um filme pode ser influenciada por diversos fatores, tais como: companhia,dia da semana, temperatura ou até mesmo do humor do usuário no momento.

Em (ADOMAVICIUS; TUZHILIN, 2011) alguns fatores contextuais são abordadoscomo elementos importantes para sistemas de recomendação, tais como: tempo, localização epropósitos que levaram a escolha. De acordo com o numero de fatores contextuais no ambienterelevantes que os sistemas de recomendação conseguem observar, pode-se classificá-los como:

� Totalmente observável: fatores importantes para a aplicação são conhecidos explici-tamente. Através disso, consegue-se identificar de forma direta qual o contexto daescolha.

� Parcialmente observável: Para este tipo de ambiente, apenas alguns fatores contex-tuais importantes são conhecidos. Desta forma, faz-se necessário o uso de algumaferramenta ou metodologia para definição dos fatores desconhecidos.

� Não observável: nenhuma informação sobre nenhum fator contextual é conhecidaexplicitamente. Apenas estimativas podem ser realizadas.

Ambientes não observáveis necessitam fortemente do auxílio de métodos de aprendiza-gem de máquina, probabilísticos e outros para auxiliar na predição. Entretanto, nos ambientesque os fatores contextuais são parcialmente ou totalmente observáveis, informações contextuaistornam as recomendações mais precisas e adequadas para cada momento sem aumentar muito ocusto computacional.

Além de verificar o quanto os fatores contextuais são conhecidos para cada aplicação,deve-se levar em consideração que tais fatores podem mudar com o passar do tempo. Dependendoda frequência com que eles mudam, pode-se classificá-los da seguinte forma:

� Estáticos: fatores contextuais não mudam muito com o tempo. Por exemplo, se paraum usuário o contexto de ida ao cinema é na companhia de amigos, no domingo atarde, tais fatores são sempre válidos e, portanto, já são suficientes para a escolha dapraia.

� Dinâmicos: Fazendo uso de uma situação hipotética de ida à praia, caso o usuárioseja um surfista, novos fatores devem ser adicionados, tais como: tamanho das ondasno momento de acordo com a maré, tipo de transporte para levar a prancha e seos amigos que praticam o mesmo esporte vão estar presentes. Ou seja, muda-se

Page 25: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.3. SISTEMAS DE RECOMENDAÇÃO SENSÍVEIS AO CONTEXTO 24

completamente o contexto da escolha a depender de fatores que podem vir a mudardinamicamente.

Fatores contextuais dinâmicos, necessitam de uma flexibilidade maior das aplicaçõespara a adição ou retirada de fatores com o passar do tempo. Tais mudanças, dependendo do nívelde observação que se tem de fatores contextuais no ambiente, necessitam constantemente deinferências implícitas e feedbacks do usuário para aprimorar sua precisão.

Sistemas de recomendação tradicionais predizem avaliações de usuários para determi-nados itens a partir das preferências do mesmo. Tal tipo de recomendação faz uso de duasdimensões por utilizar apenas usuário e item na predição. Ou seja, uma avaliação no sistema derecomendação depende do par Usuário X Item.

O que se faz na recomendação utilizando contexto é incluir evidencias provenientes dousuário ou do item que podem ser relevantes na estimativa da avaliação. Com tais informações, arecomendação torna-se multidimensional por incorporar pelo menos uma informação contextual.Em sistemas de recomendação baseados em contexto, cada avaliação armazenada consideraUsuário, Item e Contexto.

Vale salientar que o mesmo item e usuário podem ser combinado com diversas informa-ções contextuais e, consequentemente, produzir avaliações diferentes. Além disso, o contextovai ser definido por um conjunto de fatores contextuais, exceto em ambientes não observáveis.O contexto pode ser obtido de diversas formas, explicita ou implicitamente, de sensores emambientes ou de informações sobre lugares e etc.

De acordo com (FLING, 2009) existe 4 tipos de contexto que já foram utilizados emaplicações conhecidas, são eles:

� Contexto físico: nesse tipo de contexto estão fatores como tempo, condições cli-máticas, temperatura e até mesmo atividade corrente do usuário são levados emconsideração.

� Contexto social: verifica a presença e o papel de outras pessoas envolvidas direta-mente ou não nas aplicações e ainda pode definir se o mesmo encontra-se com outraspessoas ou sozinho.

� Contexto de interação: faz alusão ao meio com que o usuário está utilizando a aplica-ção. Seu principal objetivo é fornecer uma boa experiência de usuário adaptando aaplicação de acordo com o dispositivo de acesso.

� Contexto modal: nesse tipo de contexto existe um esforço para definição do humor,experiências e até mesmo capacidades cognitivas dos usuários.

Page 26: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.3. SISTEMAS DE RECOMENDAÇÃO SENSÍVEIS AO CONTEXTO 25

2.3.1 Paradigmas de Incorporação de Contexto em Sistemas de Recomen-dação

A adição de contexto na predição de avaliações pode ser feita a partir das preferências dousuário ou até mesmo do contexto atual. Cada relação entre usuário e item pode possuir diversosfatores contextuais e produzir avaliações diferentes.

O bom uso de contexto em sistemas de recomendação pode, além de melhorar a acuráciada avaliação, reduzir o espaço de busca de itens a serem recomendados antes da utilização dosalgoritmos de recomendação, otimizar a função de recomendação inserindo diretamente nocódigo fatores contextuais ou até mesmo reduzir a lista de itens recomendados para o usuáriocom apenas os itens mais relevantes.

De acordo com (ADOMAVICIUS; TUZHILIN, 2011), a incorporação pode se dar detrês formas:

� Pré-filtragem contextual: o contexto atual é considerado para filtrar avaliações feitasem contextos semelhantes ao contexto corrente do usuário alvo da recomendaçãoantes da aplicação do algoritmo de predição. Após isso, a recomendação acontece deforma tradicional utilizando apenas duas dimensões, Usuários x itens, mais relevantes.O contexto atual reduz o espaço de busca fornecendo para o algoritmo apenasitens relevantes para o contexto corrente do usuário. Um contexto bem definidonaturalmente traz informações relevantes e de forma rápida. Entretanto, a definiçãodo contexto nem sempre é clara e precisa em muitos sistemas, exigindo assimaproximações para viabilizar esse tipo de paradigma. Outro problema que pode serencontrado para alguns domínios de aplicação é que passando apenas avaliaçõespassadas e itens específicos pode tendenciar demais o resultado da recomendação enão vir a apresentar itens que o usuário poderia julgar interessantes para determinadocontexto.

� Pós-filtragem contextual: Inicialmente, qualquer informação contextual é negligenci-ada. O algoritmo continua utilizando apenas duas dimensões para prover a lista deitens recomendados. Entretanto, antes de apresentar a lista final, faz-se um ajusteatravés do contexto dos itens que são compatíveis com o contexto do usuário alvo.Esse ajuste pode se dar retirando todos os itens não relevantes para o contexto oureordenando a lista final de itens recomendados com os mais relevantes para o con-texto no inicio da lista. Para isso, modelos que utilizam esse paradigma podem serclassificados como:

� Heurísticos: quando buscam atributos e características semelhantes entreitens de acordo com um determinado contexto para fazer o ajuste na listafinal de itens recomendados.

Page 27: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.4. RECOMENDAÇÃO SOCIAL 26

� Baseados em modelos: predizem a probabilidade do usuário escolherdeterminado item em determinado contexto e utiliza essa estimativa paraajustar a recomendação.

� Modelagem contextual: nesse tipo de incorporação, fatores contextuais são utilizadosdiretamente na função de predição da avaliação. Neste caso, a função de recomen-dação deve ser adaptada para, além de considerar o usuário e o item, adicionar ocontexto na predição. Desta forma, tendo em vista que um item pode ser avaliado deformas distintas dependendo do contexto, cria-se um problema multidimensional nãotão trivial quando comparado com os outros paradigmas de incorporação contextual.

A partir de métodos tradicionais de recomendação que utilizam duas dimensões, usuárioe item, consegue-se fazer diversos tipos de ajustes que irão refletir na lista final de itens recomen-dados de acordo fazendo uso de contexto. Para cada usuário e situação pode-se gerar uma listade itens recomendados diferente. Através disso, pode-se recomendar nas primeiras posições ositens mais relevantes para o usuário de acordo com o contexto utilizado.

2.4 Recomendação social

Apesar dos primeiros trabalhos envolvendo recomendação e informações sociais tereminiciado em 1997 (KAUTZ; SELMAN; SHAH, 1997), nos últimos anos, com a rápido cresci-mento de grandes rede sociais como o Facebook e o Twitter, diversas novas iniciativas de utilizara rede de amigos para recomendar itens foram realizadas. A grande popularização das redessociais proporcionaram o desenvolvimento de diversas técnicas de recomendação sociais (GUY;CARMEL, 2011). Pode-se definir recomendação social como qualquer recomendação que utilizerelações sociais, independente do domínio, para recomendar itens (TANG; HU; LIU, 2013),etiquetas (SIGURBJÖRNSSON; VAN ZWOL, 2008), pessoas (CHEN et al., 2009) (AGARWAL;BHARADWAJ, 2013) ou até mesmo comunidades (CHEN et al., 2009). Essas relações podemser de confiança, amizade (i.e. apenas conectados em uma rede social), seguidores ou até mesmoentre membros de comunidades. Desta forma, usuários podem estar conectados de diversasformas mesmo sem apresentar diretamente um relacionamento de amizade.

2.4.1 Relações de Confiança

Confiança passou a ser nos últimos anos a ser um objeto de interesse de diversas áreas(FOLKERTS, 2005; HUSSAIN; HUSSAIN; CHANG, 2007). Uma das mais citadas afirma quea confiança é caracterizada quando as ações de um determinado usuário influência na ação deoutros usuários. (DASGUPTA, 2000).

A confiança pode ser expressa de diversas formas e em diferentes níveis. De acordo comsuas propriedades ela pode possuir as seguintes características:

Page 28: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.4. RECOMENDAÇÃO SOCIAL 27

� Subjetiva: cada usuário pode possuir níveis de confiança diferentes sobre o mesmousuário.

� Assimétrica: o nível de confiança entre dois usuários não é necessariamente igual.Ou seja, um usuário A pode confiar mais em um usuário B do que B em A.

� Contextualizada: quando a confiança é medida de acordo com um determinadocontexto e não pode ser estendida diretamente para outros contextos.

� Transitiva: quando se utiliza a confiança de um amigo confiável em um terceirousuário, que não seja amigo do usuário em questão, para se definir a confiança.

O cálculo do nível de confiança pode utilizar métricas globais e locais de acordo coma modelagem da aplicação (ZIEGLER; LAUSEN, 2004) (GOLBECK; PARSIA; HENDLER,2003). Quando se utiliza métricas locais são analisadas apenas as opiniões subjetivas dos usuários(MASSA; AVESANI, 2004). Desta forma, o grau de confiança local é diretamente proporcionala quantidade de indivíduos utilizados no cálculo. O custo computacional para definir a confiançade usuário em usuário é alto, mas a chance de erro é menor por excluir usuários não confiáveisexplicitamente da propagação de confiança.

Métricas globais analisam como uma determinada comunidade confia em um usuário.O custo computacional para processar a rede é menor por acontecer basicamente uma vez.Entretanto, falhas nesse processo podem ser constantes por existir pessoas não confiáveis quepodem levar vantagem nessa métrica (GORI; WITTEN, 2005). Um usuário pode receberrecomendação de um outro não confiável de acordo com o mesmo mas, pela média global,confiável por uma comunidade.

A desconfiança, muitas vezes ignorada por alguns trabalhos (RICHARDSON; AGRAWAL;DOMINGOS, 2003), deve ser considerada em modelos que utilizam confiança e principalmentequando fazem sua propagação. Alguns autores defendem que a desconfiança é apenas o opostode confiança (GANS et al., 2003) e outros que ela pode ser a falta de confiança (STEPHEN,1994). Portanto, usuários devem ser mais propensos a receberem recomendações dos que elesainda não definiram o nível de confiança ao invés daqueles que os mesmos rotularam como nãoconfiáveis.

O uso da desconfiança é fundamental para os usuários definirem suas redes de confiança(GUHA et al., 2004). Por exemplo, admitindo a existência de três usuários A, B e C, admitindo-se que A confie 50% em B, B 100% em C e A não confie em C, caso a desconfiança nãofosse considerada nesse modelo, pela propagação de confiança, o usuário A poderia receberrecomendações de C mesmo sem confiar no mesmo.

A predição de um nível de confiança entre usuários sem utilizar informações explicitaspode ser uma tarefa de grande complexidade. O fato de um usuário seguir ou compartilharalguma postagem de outro não quer dizer necessariamente que existe confiança de um para como outro (FALCONE; CASTELFRANCHI, 2010). Além disso, a afirmação de confiança entre

Page 29: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.4. RECOMENDAÇÃO SOCIAL 28

Figura 2.3: Arquitetura para integração de confiança em sistemas de recomendaçãoproposta por (MASSA; AVESANI, 2009)

Fonte: (MASSA; AVESANI, 2009)

usuários produz muito mais impacto em sistemas de recomendação do que uma simples relaçãosocial (YUAN; CHEN; ZHAO, 2011).

2.4.2 Confiança em Sistemas de Recomendação

Técnicas tradicionais de recomendação apresentam bons resultados a depender da basede dados e da precisão que se deseja no sistema. Por exemplo, a FC, apesar de ser uma dastécnicas mais simples, apresentam bom resultados com relação as recomendações (RESNICK;VARIAN, 1997) e tornou-se uma das técnicas mais utilizadas em sistemas de recomendação(BREESE; HECKERMAN; KADIE, 1998). Apesar de aparentar simplicidade, a afirmaçãode que dois usuários são afins necessita de uma boa quantidade de itens avaliados por ambosem comum (MASSA; AVESANI, 2009) e, geralmente, em bases de dados do mundo real, égrande a quantidade de usuários que avaliaram poucos itens, muitos itens podem possuir poucasavaliações e, portanto, diversos usuários podem não ser semelhantes com nenhum outro.

O fato de dois perfis possuírem avaliações semelhantes não quer dizer que eles devempossuir opiniões iguais para todos os itens. Quando não se tem usuários muito semelhantes,os sistemas de recomendação tradicionais tendem a escolher os que possuem maior afinidade.Entretanto, essa escolha pode ser péssima para a recomendação. A ideia principal de utilizarconfiança em sistemas de recomendação é substituir esse processo de encontrar usuários se-melhantes por usuários confiáveis. A confiança ainda pode proporcionar a criação de redes deamigos confiáveis a partir dos amigos dos amigos confiáveis. Essa rede pode ser reajustada deacordo com o contexto de cada recomendação e proporcionar recomendações cada vez maisprecisas.

Para (MASSA; AVESANI, 2009), a arquitetura ideal para sistemas de recomendaçãoque utilizam confiança pode ser representada pela Figura 2.3. Para a entrada temos uma matrizde confiança com N usuários e outra com avaliações(Rating) dos usuários para M itens e como

Page 30: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.4. RECOMENDAÇÃO SOCIAL 29

saída uma matriz formada pelas as avaliações preditas dos usuários para os itens. Basicamente, adiferença entre sistemas que utilizam apenas FC é de também poder fazer uso de uma matrizda confiança entre usuários. A ideia do autor seria deixar para a etapa de procurar usuáriossemelhantes, First step, as duas opções disponíveis e o modelo definir qual seria mais adequadapara recomendação. De fato, essa estratégia consegue manter o tradicionalismo de utilizar FCe, para os casos em que a semelhança não seja satisfatória, utilizar confiança. Entretanto, umaabordagem hibrida que consiga unir as duas informações ao mesmo tempo poderia ser umasolução mais precisa.

Em (O’DONOVAN; SMYTH, 2005), além da similaridade entre usuários, os autorespropõem que se deve calcular o quanto um usuário é confiável. Sistemas de recomendaçãotradicionais geralmente buscam apenas usuários semelhantes para realizar recomendações denovos itens, entretanto, pode acontecer de alguns não serem confiáveis para itens específicos.Segundo o autor, além de buscar usuários semelhantes, deve-se analisar o histórico de recomen-dações feitas a partir dos mesmos para verificar se as mesmas eram confiáveis. Sua proposta éa de operar de dois modos, calculando a confiança de perfis globalmente e a desses com itensespecíficos, ou seja, é calculada a confiança a nível de usuário e item. Um problema que podecriar informações imprecisas com relação ao perfil global é a de usuários não confiáveis passema ser. A confiança possui características muito dinâmicas e pode variar muito entre combinaçõesdiferentes de usuários. Utilizando uma estratégia desse tipo, um usuário A que não seja confiávelpara B pode tornar a ser por ser confiável para uma comunidade.

(MA et al., 2011) propõe dois métodos de recomendação baseados em informaçõessociais fazendo uso de fatoração de matriz que podem ser usados em sistemas de recomendaçãobaseados em confiança. Para tal, os autores utilizam todas as conexões de amizade do usuário,amigos que não possuem gostos semelhantes são tratados de forma diferenciada para demonstrara diversidade de amigos que o mesmo pode ter. Contudo, essa estratégia pode gerar "ruídos"nasrecomendações se não tratar bem essa diversidade. Usuários não semelhantes se não tratadoscomo não confiáveis podem levar o sistema a propor itens, mesmo que não seja nas primeirasposições das listas, ruins e fazer com que o usuário final diminua sua confiança no sistema.

A recomendação de filmes utilizando redes de confiança e filtragem colaborativa foiexplorada em (GOLBECK, 2006). Trata-se de uma combinação de rede social com foco emavaliação de filmes. Para o calculo da confiança, o sistema, a cada novo amigo que o usuáriodeseja adicionar, pede para que seja avaliado o novo amigo com um numero de acordo como nível de confiança. Afim de predizer a avaliação de um usuário para um determinado filme,faz-se uma soma ponderada das avaliações de acordo com o nível de confiança em cada amigo,ou até mesmo amigos de amigos. Apesar de forçar o usuário a definir uma avaliação semprequando for adicionar um novo amigo, os resultados se mostraram superiores quando comparadosa estimativa sem uso de rede de confiança.

Ainda utilizando redes de confiança definidas a partir da definição explícita do usuá-rio, (MASSA; AVESANI, 2007) apresenta uma proposta de utilizar filtragem colaborativa

Page 31: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.5. COMPARATIVO ENTRE TRABALHOS RELACIONADOS 30

substituindo a etapa de encontrar usuários similares por definir os que sejam de confiança. Aexpectativa é conseguir executar a estratégia em bases de dados esparsas onde, muitas vezes, édifícil definir similaridade entre usuários baseado em itens avaliados em comum. Para conduziros experimentos o autor afirma utilizar uma estimativa de confiança explicitamente informadapelo usuário e a partir disso define sua rede de confiança verificando estimativas de outrosamigos para criar ligações diretas e indiretas de confiança, fazendo uso também dos amigosde amigos confiáveis. A estratégia apresenta resultados superiores quando comparados comtécnicas tradicionais de filtragem colaborativa para usuários fazendo uso de poucas avaliações.

(MA et al., 2009) utiliza o site Epinions.com9 de compartilhamento de avaliações deprodutos com o objetivo de, a partir da analise das interações utilizando agrupamentos, predizeras relações de confiança entre usuários na base de dados. As interações são observadas pelasrevisões feitas de alguns produtos por usuários e os subsequentes comentários e avaliações deoutros usuários. O trabalho conclui que quanto mais usuários na rede de confiança mais precisase torna a predição de confiança entre usuários.

Ainda utilizando base de dados do mesmo site Epinions, (JAMALI; ESTER, 2009) parteda premissa que a confiança pode ser um bom adicional na filtragem colaborativa para resolver oproblema da recomendação para usuários com poucas avaliações. Diferentemente de (MASSA;AVESANI, 2007), propõe-se um modelo que combina redes de confiança e filtragem colaborativabaseada em item. Sendo assim, considera-se além da confiança entre usuários a similaridadeentre itens, percorrendo a rede de confiança do usuário afim de predizer avaliações.

(MA et al., 2011) propõe a incorporação de informações de redes sociais para atravésde uma fatoração de matrizes predizer avaliações. Além de apresentar os benefícios dessaincorporação, o autor apresenta uma interpretação das diferenças entre sistemas de recomendaçãobaseados em redes sociais, onde a relação entre dois usuários é bidirecional, ou seja, de amizade,dos que utilizam redes de confiança, onde a relação é em apenas uma direção, portanto, umusuário possui um nível de confiança no outro. A partir das relações bidirecionais, o autor fazuma regularização na matriz fatorada afim de recomendar novos itens e ainda afirma que, damesma forma que foi utilizada a relação social, pode-se estender a regularização com outrostipos de contexto.

2.5 Comparativo entre Trabalhos Relacionados

Nesta seção será apresentado um comparativo entre os principais trabalhos relacionadosjá citados durante esse capítulo através da Tabela 2.1. Observa-se que muitos trabalhos utilizambases de dados extraídas do site Epinions. Neste, usuários compartilham dados relativos aexperiências passadas com compras e consumo de produtos e ajudam outros usuários na decisãode compra de novos produtos. Desta forma, usuários definem explicitamente a confiança que

9http://www.epinions.com/

Page 32: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.5. COMPARATIVO ENTRE TRABALHOS RELACIONADOS 31

Tabe

la2.

1:C

ompa

rativ

oen

tre

trab

alho

sre

laci

onad

os

Trab

alho

Bas

ede

Dad

osE

stra

tégi

aM

etod

olog

iade

Ava

liaçã

oPr

ediç

ão

(SIG

UR

BJÖ

RN

SSO

N;V

AN

ZW

OL

,200

8)Fl

ickr

FBC

Mea

nR

ecip

roca

lR

ank,

Succ

ess

atra

nkk,

Prec

isio

nat

rank

k

Tags

(CH

EN

etal

.,20

09)

Red

eSo

cial

daIB

MFB

C,F

CU

suár

ios

Pess

oas

(AG

AR

WA

Let

al.,

2011

)R

edes

Soci

ais

FCM

ean

Abs

olut

eE

rror

(MA

E)

Pess

oas

(CH

EN

etal

.,20

09)

Ork

utFC

Ass

ocia

tion

Rul

eM

inin

g(A

RM

),L

aten

tDir

ichl

etA

lloca

tion

(LD

A)

Com

unid

ades

(MA

SSA

;AV

ESA

NI,

2009

)E

pini

ons

FCe

Con

fianç

aM

ean

Abs

olut

eE

rror

(MA

E)

Iten

s

(O’D

ON

OVA

N;S

MY

TH

,200

5)M

ovie

Len

sFC

eC

onfia

nça

Mea

nA

bsol

ute

Err

or(M

AE

)It

ens

(GO

LB

EC

K,2

006)

Film

Trus

tFC

eC

onfia

nça

Mea

nA

bsol

ute

Err

or(M

AE

)It

ens

(MA

SSA

;AV

ESA

NI,

2007

)E

pini

ons

FCe

Con

fianç

aM

ean

Abs

olut

eE

rror

(MA

E)

itens

(MA

etal

.,20

09)

Epi

nion

sM

iner

ação

deda

dos

F1M

easu

reC

onfia

nça

Ent

reus

uári

os

Font

e:E

labo

rada

pelo

Aut

or

Page 33: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.6. CONSIDERAÇÕES FINAIS 32

possuem em determinadas empresas e produtos e isso é de grande serventia para experimentosque desejam avaliar ou predizer confiança.

Observa-se também na Tabela 2.1 que muitos trabalhos utilizam FC como principalestratégia para recomendação e um grande uso da Mean Absolute Error (MAE) para avaliaçãodessas recomendações. MAE é uma técnica que compara o valor o predito com o valor realde uma avaliação e definir o quanto a estratégia se aproximou do valor real. É uma técnica deavaliação simples e que pode ser facilmente utilizada em diversos casos.

Além da predição de novos itens, alguns trabalhos buscam predizer confiança entreusuários, sugerir novas comunidades e ainda sugerir pessoas. Como esses trabalhos atuamfortemente em redes sociais, essa especialização na predição aumenta a usabilidade explorandopredições não tão comuns em sistemas tradicionais como os de comércio eletrônico.

2.6 Considerações Finais

Cada vez mais sistemas de grandes empresas utilizam algoritmos de recomendação paraaprimorar o tempo gasto pelos usuários para encontrar itens do seu interesse. Desta forma,torna-se cada vez mais necessário o uso de técnicas auxiliares afim de melhorar a qualidade dasrecomendações. Acompanhando o crescimento das redes sociais e a evolução dos dispositivosmóveis, o uso de contexto, confiança e redes sociais tornou-se cada vez mais comum.

As redes sociais possuem as mesmas características dos relacionamentos tradicionaisfeitos face a face no mundo real. O que mudou foi o elo de ligação entre as pessoas, que agoraé, além do físico, o virtual. Com muito mais comodidade e interatividade, pessoas consegueminfluenciar na vida de outras mesmo não estando perto. Além disso, os relacionamentos nãoficam restritos ao mundo virtual, pessoas tendem a interagir também no mundo real. Comisso, proporciona-se um ambiente, tanto no virtual como no físico, colaborativo e que cresceconstantemente.

O contexto pode proporcionar uma recomendação mais direcionada ao usuário de acordocom as informações do ambiente, da companhia ou até mesmo da hora do dia. Entretanto, alémda definição do contexto ser uma tarefa difícil de ser realizada, a falta de informações contextuaisconfiáveis pode ser considerada um grande problema em aplicações que fazem uso de contexto.Além disso, a tarefa de definir um nível de confiança entre dois usuários é muito complexa epode aumentar o custo computacional da recomendação exponencialmente quando se utilizatoda a rede de amigos do usuário.

Apesar de já existirem muitas soluções que utilizam contexto, confiança e redes sociaisem sistemas de recomendação, a grande maioria é especialista em determinado domínio. Ade-mais, unir esses três elementos pode tornar o processo de treinamento e a recomendação muitomais lentos se não forem utilizados corretamente.

O presente trabalho utilizou apenas técnicas de filtragem colaborativa, portanto, nenhumatécnica de filtragem baseada em conteúdo foi implementada. Além disso, os contextos foram

Page 34: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

2.6. CONSIDERAÇÕES FINAIS 33

baseados em dados históricos, logo, estáticos. A modelagem contextual foi feita a partir doacesso a dados históricos, através de dados passados foi feita a previsão de estados futuros decontextos.

A pós-filtragem foi escolhida por não alterar a base de dados antes da aplicação dosalgoritmos tradicionais de recomendação não impactando na entrada dos dados e, portanto,sendo uma técnica de fácil integração em sistemas tradicionais. Além disso, foi utilizada após-filtragem heurística, apenas atributos e características dos itens foram utilizadas, o uso deprobabilidade poderia sobrecarregar a pós-filtragem.

A confiança foi utilizada integrada com o contexto social mas sem nenhuma técnicaespecífica para definição do quanto um amigo pode ser confiante ou não. Fazendo uso deboas experiências e, consequentemente, boas avaliações de amigos para determinados itens,determina-se se um item deve ser relevante ou não para um determinado usuário.

Page 35: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

343434

3Recomendação Baseada em Contexto Físicoe Social

Tradicionalmente, o problema de recomendar novos itens resume-se em predizer aavaliação de um usuário para um determinado item ainda não avaliado pelo mesmo, predição estaque reflete no possível nível de interesse do usuário no item em questão. Para tal, sistemas derecomendação, geralmente, utilizam avaliações passadas para predizer novas. Um dos algoritmosmais utilizados é o de Filtragem Colaborativa (FC). Por fazer uso de uma matriz Usuário x Itemde avaliações para treinamento, considera-se um problema de duas dimensões ( 2D ).

A Figura 3.1 pode ilustrar o processo de FC. Observa-se que na entrada recebe-se umusuário alvo e um item qualquer para predição de avaliação. Na aplicação da FC, recebe-secomo entrada ainda uma matriz de avaliações diversas para treinamento de duas dimensõesusuário e item. Por fim, é possível definir a predição de avaliação do usuário alvo u para o item i.Alternativamente, a entrada poderia ser apenas um usuário e a saída uma lista com diversos itensrecomendados ordenados pela predição de avaliação.

Portanto, a Figura 3.1 representa uma arquitetura tradicional de sistemas de recomenda-ção. Além da FC, pode-se utilizar diversos algoritmos para predizer novas avaliações utilizando

Figura 3.1: Arquitetura de Predição de Avaliações Tradicional Utilizando FiltragemColaborativa

Fonte: Elaborada pelo autor

Page 36: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

35

Figura 3.2: Arquitetura de aplicação da pós filtragem social

Fonte: Elaborada pelo autor

a mesma matriz de avaliações Usuário x Item para treinamento. Apesar de ser uma arquiteturaeficiente para alguns casos, nenhuma informação contextual é utilizada. Os contextos de cadaavaliação da matriz de avaliações podem ser úteis para definição das preferências contextuais deum determinado usuário. Além da entrada de um usuário alvo e de um item para avaliação, aarquitetura poderia ser enriquecida com a entrada de informações contextuais.

O objetivo desse trabalho é o de investigar técnicas de incorporação contextual emsistemas de recomendação para melhorar a precisão das recomendações. Para tal, dois tipos decontextos diferentes foram explorados:

� Contexto Físico: definido a partir de informações físicas e temporais dos itens. Hora,dia da semana e localização de itens avaliados são bons exemplos de elementos quesão analisados para definição do contexto físico.

� Contexto Social: foi definido a partir da avaliação dos amigos do usuário. Ou seja, seos amigos avaliarem bem um determinado item, este possui grandes chances de serum bom item para o usuário.

3.0.1 Filtragem Social

A filtragem social utilizada no presente trabalho tem como objetivo selecionar fatoressociais favoráveis para o usuário avaliar bem determinados itens. O resultado final é a definiçãose o item é relevante ou não para um determinado usuário a partir das avaliações de amigos. Aarquitetura da filtragem social está definida na Figura 3.2. Pode-se observar que recebe-se como

Page 37: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

36

Figura 3.3: Arquitetura de aplicação da pós filtragem utilizando Contexto Físico

Fonte: Elaborada pelo autor

entrada um usuário alvo u e um item i assim como a arquitetura tradicional de recomendaçãoapresentada no início do capítulo na Figura 3.1. A partir de avaliações passadas de amigos parao item i em questão, recupera-se uma lista de amigos que avaliaram o item como relevante. Apartir dessa lista é definido se o item i é relevante ou não para o usuário u.

Portanto, a pós filtragem social apenas utiliza os critérios definidos na implementaçãopara definir se o item é relevante ou não para o usuário alvo baseado em dados históricos deamigos. Para a filtragem social, foram utilizados os relacionamentos de amizade de cada usuárioobtidos diretamente da base de dados. A filtragem social faz uso apenas dos amigos diretamenteconectados, portanto, nenhuma análise da quantidade de amigos de amigos conectados foi feita.

3.0.2 Contexto Físico

O contexto físico pode ser visto como fundamental para itens que envolvem localização.Tal definição pode determinar se o item pode ser alcançável em determinado momento ou atémesmo verificar se um item possui características físicas presentes nas preferências do usuárioalvo. No caso de eventos, esses fatores são muito relevantes por possuírem data, hora e locaismarcados, geralmente, com muita antecedência e precisão.

A arquitetura de aplicação da pós filtragem física está apresentada na Figura 3.3. Assimcomo a filtragem social, recebe-se um usuário alvo e um item como entrada. A partir de avaliaçõespassadas é definido se o item é relevante ou não. Entretanto, para a filtragem contextual física,apenas avaliações passadas do usuário são analisadas sem fazer uso de nenhuma informaçãosocial.

O retorno da filtragem contextual física é uma lista de preferências contextuais. Cadacontexto é composto por: país, estado e uma variável que define se o item foi avaliado no final de

Page 38: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

37

semana ou não. Mesmo se esses contextos virem a se repetir, nenhuma definição de como maisrelevantes que outros contextos foi feita. Ou seja, é recuperada apenas uma lista dos diferentescontextos que são detectados na filtragem. Por exemplo, mesmo que o usuário tenha avaliadobem um item 10 vezes em Recife no final de semana e apenas um item em João Pessoa durantea semana, nenhum peso será atribuído ao contexto de Recife no final de semana para tornaresse mais relevante que João pessoa na semana. Tal decisão foi tomada para não sobrecarregaro processo de recomendação analisando todas as combinações possíveis de contexto físico oudefinindo prioridades para um determinado contexto físico.

A saída da arquitetura da filtragem física proposta, assim como a social, também é umadefinição do item como relevante ou não. Para tal, é verificado se o item da entrada da arquiteturaé compatível com algum dos contextos recuperados a partir de avaliações passadas do usuário.Apenas se esse item for totalmente compatível com algum contexto da lista ele é tido comorelevante.

Page 39: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

383838

4Experimentos

Ao longo desse capítulo serão discutidos dois experimentos realizados em duas bases dedados de diferentes domínios. Além do uso de 3 algoritmos tradicionais para recomendação, foiutilizada a técnica de incorporação contextual de pós-filtragem. Para a base de dados que envolveeventos foram utilizados o contexto social e físico e para a base de dados composta por filmesapenas o contexto social pela limitação de informações disponíveis. Logo após a descrição dosdados disponíveis em casa base de dados e de quais informações contextuais foram utilizadas,são apresentados os resultados dos algoritmos tradicionais de recomendação comparados comresultados dos mesmos algoritmos com incorporação de contexto.

4.1 Recomendação de Eventos

No primeiro experimento, lidamos com o problema de recomendação de eventos. Tendoem vista que eventos geralmente acontecem em um determinado local, com data e hora marcadose podem envolver diversas pessoas, o problema de recomendar eventos pode ser uma tarefacomplexa. Diversas informações sociais e físicas podem ser consideradas na recomendação. Acompanhia, o dia da semana ou até mesmo a hora do evento são fatores de grande importânciana definição de recomendar ou não o evento.

Todos os dados para realização desse experimento foram obtidos através de uma com-petição de recomendação de eventos1 promovido pelo Kaggle2. A intenção da competição erade premiar uma equipe com o modelo de melhor desempenho em predizer quais eventos osusuários teriam mais interesse a partir de eventos passados e dados demográficos. As informaçõesfornecidas da base de dados foram obtidas a partir de um patrocinador da página não informadoexplicitamente.

1https://www.kaggle.com/c/event-recommendation-engine-challenge2https://www.kaggle.com/

Page 40: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.1. RECOMENDAÇÃO DE EVENTOS 39

4.1.1 Base de dados de Eventos

O conjunto de dados contém diversas informações sobre os usuários, tais como: localiza-ção, ano de nascimento, sexo e lista de amigos. Além disso, para cada evento que um determinadousuário tenha sido convidado, existe um registro de respostas que define o nível de interesse dousuário em participar do evento, mesmo não respondendo ao convite, o registro de que ele foiapenas convidado é feito. Vale salientar que de 3 milhões apenas 38202 usuários possuíam umperfil propriamente dito com relacionamentos sociais e dados demográficos, portanto, apenasesses usuários foram considerados como válidos para os casos de teste.

Apesar de conter muitas informações, não existe qualquer informação sobre as avaliaçõesdos eventos feitas por usuários. Afim de inferir essa informação e viabilizar o uso de algoritmostradicionais de recomendação que necessitam de avaliações, foram utilizadas as respostas dadaspelos usuários aos convites de eventos para converter em avaliações. As respostas possíveisaos convites são: sim, não, talvez ou convidado. A respostas Sim e Não representam umcomprometimento em ir ou não ao evento, em contrapartida, a resposta Talvez remete a dúvidado usuário em ir ou não ao evento e, por fim, quando na resposta Convidado, o usuário foiconvidado para um determinado evento e não realizou nenhuma ação de responder ao convite.

O fato da resposta do usuário estar apenas como convidado para o evento quer dizerque ele não respondeu ao convite, portanto, poderia ter sido um evento relevante ou não. Emcontrapartida, as respostas Sim, Talvez e Não revelam um nível de comprometimento em ir ounão ao evento. Desta forma, foi feita uma estimativa de avaliação que é apresentada na Tabela4.1.

Tabela 4.1: Tabela de Conversão de Resposta a Convites em Avaliação

Resposta ao Convite AvaliaçãoSim 3

Talvez 2Convidado 1

Não 0

Fonte: Elaborada pelo Autor

Partindo do pior caso em que a resposta é Não, avaliação = 0, ordenou-se as respostas deacordo com o nível de comprometimento em comparecer ao evento e definiu-se que a avaliaçãoestaria em um intervalo entre 0 e 3, por existirem 4 tipos diferentes de respostas. A partir dessadefinição, foram geradas 11244924 avaliações.

A distribuição das avaliações geradas é apresentada na Figura 4.1. Apesar da grandequantidade de avaliações obtidas, observa-se que 83,74% delas correspondem apenas aos convitessem respostas, ou seja, avaliação = 1. Sendo assim, grande parte dos eventos que os usuários sãoconvidados ficam sem repostas para esse conjunto de dados.

Apesar desse grande desbalanceamento na proporção de avaliações, tendo em vistaque foram extraídas 11244924 avaliações, cerca de 7%, ou seja, mais de 700 mil registros,

Page 41: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.1. RECOMENDAÇÃO DE EVENTOS 40

Figura 4.1: Distribuição das 11244924 Avaliações

Fonte: Elaborada pelo autor

correspondem ao melhor caso, onde os usuários confirmaram presença nos eventos. Além disso,as respostas Não ( avaliação 0 ) e Talvez ( avaliação 2 ), correspondem a mais de 400 mil registroscada. Ou seja, apesar dos registros que de fato representam respostas explícitas dos usuárioscorresponder a pouco mais de 14% dos dados, ainda assim existe um grande número de registrosexplícitos de fundamental importância para recomendar itens.

A base de dados utilizada contém ainda informações sobre os amigos de cada usuário,o que será usado para definir o contexto social. A Figura 4.2 apresenta uma distribuição daquantidade de amigos por usuário respeitando 5 níveis distintos. Observa-se que apenas 17%dos usuários possuem menos de 100 amigos e que 73% dos usuários ( 34% entre 100 e 500amigos, 22% entre 500 e 1000 amigos e 17% entre 1000 e 2000 amigos ) possuem entre 100e 2000 amigos em sua rede social, portanto, pelo menos 100 amigos. Ou seja, a maioria dosusuários possuem uma boa quantidade de amigos para auxiliar na definição do contexto social,aumentando assim as chances de bons resultados.

4.1.2 Filtragem Social

Adaptando para o problema de recomendação de eventos do presente trabalho, foidefinido que basta apenas um amigo já ter confirmado presença no evento para que o mesmopasse a ser relevante para o usuário alvo. Aplicando essa arquitetura na recomendação de eventos,afim de definir se um evento é relevante ou não, foram consideradas apenas avaliações iguais a 3.Portanto, foi assumido que apenas usuários que confirmaram a presença no evento julgaram omesmo como relevante. Além disso, a definição final se o item é relevante ou não foi tomadaverificando apenas se a lista de amigos que marcaram o mesmo item como relevante não é vazia.Portanto, se pelo menos um amigo confirmar presença no evento em questão, avaliação 3, oevento passa a possuir características sociais relevantes para ser recomendado e o evento passa a

Page 42: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.1. RECOMENDAÇÃO DE EVENTOS 41

Figura 4.2: Distribuição da quantidade de amigos por usuário da base de dados deEventos

Fonte: Elaborada pelo autor

ser relevante para o usuário alvo.Apesar de apenas o valor 3 para avaliação ter sido ter sido utilizado para a definir

como relevante, essa implementação poderia ainda assumir valores entre 2 e 3 por exemplo.Entretanto, a precisão dos resultados poderia ficar comprometida tendo em vista que a avaliação2 corresponde ao talvez nas respostas aos convites dos eventos. Além disso, não existem valoresde avaliações entre 2 e 3. Devido a definição da avaliação a partir das respostas aos convitesanteriormente discutida, os valores possíveis seriam: 0, 1, 2 e 3.

Além disso, em vez de verificar se o evento é relevante para pelo menos um amigo,poderia ter sido feita a média de avaliações dos amigos. Desta forma, teria-se um valor paradefinir a relevância do item mais justo por não verificar a existência apenas de um amigo quetenha julgado o item como relevante. Entretanto, a filtragem social seria muito mais custosapor verificar as avaliações de todos os amigos que avaliaram o item e ainda fazer uma médiadessas avaliações. Além disso, toda a rede de amigos pode não ser confiável e não possuir asmesmas preferências que o usuário alvo, tornando assim a média uma estratégia não tão boa paraa definição de item como relevante ou não.

4.1.3 Contexto Físico

Além da filtragem social, através das informações de localização, tais como: país, estadoe dia da semana, foi possível definir o contexto físico de cada evento. Através de uma pósfiltragem, utilizando informações físicas de cada evento, utilizou-se as respostas dadas aosconvites de eventos passados para definir quais contextos físicos seriam favoráveis em eventosfuturos. Por exemplo, caso um determinado usuário tenha avaliado bem um evento que aconteceuna cidade do Recife durante o final de semana, existem grandes chances dele retornar a mesma

Page 43: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.2. RECOMENDAÇÃO DE FILMES 42

cidade para outro evento também no final de semana.Da mesma forma que na arquitetura anterior, apenas avaliações iguais a 3 são conside-

radas como válidas. Além disso, apenas o comprometimento da confirmação de ida ao eventocontinua sendo uma constatação relevante.

4.2 Recomendação de Filmes

No segundo estudo de caso, lidamos com o problema de recomendação de filmes. Muitasvezes, a escolha de um filme reflete em diversos fatores contextuais. Companhia, humor e dia dasemana podem ser bons exemplos de contextos que podem ser utilizados em recomendações defilmes. Além disso, usuários costumam verificar opiniões e avaliações de amigos sobre filmesantes de assistir. Tais opiniões podem fazer com que um determinado usuário assista ou não umfilme.

A base de dados foi extraída do site Douban3, trata-se de uma das redes sociais maispopulares na China que possibilita ao usuário assistir, gravar e avaliar diversos filmes. Diferente-mente do problema de recomendação de eventos, os filmes não possuem a priori característicasfísicas que possibilitasse uma filtragem física. Portanto, apenas a filtragem social foi aplicadajunto com os algoritmos tradicionais de recomendação.

4.2.1 Base de Dados

Para o presente trabalho, foram utilizados dados relativos a avaliações, informações deusuários e seus relacionamentos de amizade extraídas de dezembro de 2012 até março de 2013(FENG; QIAN, 2013). Desta forma, foi possível extrair 900 mil avaliações de 2965 usuários queavaliaram 39695 filmes categorizados em 36 categorias distintas.

Portanto, as avaliações foram extraídas diretamente sem a necessidade de nenhumaestratégia de conversão como a utilizada na base de eventos apresentada anteriormente. ParaDouban, obteve-se a distribuição de avaliações representada na Figura 4.3. Diferentemente dabase de eventos apresentada na Seção 4.1, esta base de dados demonstra muito mais equilíbriona distribuição de avaliações.

Observa-se a partir da Figura 4.3 que as avaliações 3, 4 e 5 representam 92% dos dados.Ou seja, encontrar itens relevantes para determinados usuários pode se dar de forma mais fácilpela grande quantidade de avaliações com valores altos.

Apesar do grande equilíbrio nas avaliações, os usuários apresentaram uma quantidadebem menor de amigos em sua rede social quando comparada a base anterior de eventos. Como épossível observar na Figura 4.4, 61% dos usuários possuem até 10 amigos e 36% entre 10 e 50amigos. Ou seja, 97% dos usuários possuem até 50 amigos, o que diminui o espaço de buscae dificulta a aplicação do modelo para filtragem social apresentado no Capítulo 3. Além disso,

3www.douban.com/

Page 44: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.2. RECOMENDAÇÃO DE FILMES 43

Figura 4.3: Distribuição das Avaliações para base Douban

Fonte: Elaborada pelo autor

Figura 4.4: Distribuição da quantidade de amigos por usuário da base de dados de Filmes

Fonte: Elaborada pelo autor

Page 45: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.3. EXPERIMENTOS 44

não foi possível aplicar o contexto físico, pelo fato dos filmes na base não possuírem nenhumainformação relativa a localização.

4.2.2 Filtragem Social

A filtragem social para recomendação de filmes se deu de forma semelhante a recomen-dação de eventos, a única diferença foi a definição de item relevante. Neste caso, os filmesconsiderados relevantes foram os de avaliação igual a 5, ou seja, o valor máximo para avaliaçãode um filme. Nenhum outro experimento foi realizado variando o valor da avaliação para valoresmenores que 5.

Além disso, a quantidade de amigos com avaliações relevantes para definir um itemcomo relevante continua sendo 1. Ou seja, a partir da entrada de um usuário alvo e de um filme,se algum amigo do usuário alvo avaliou o filme como um valor igual a 5 o filme passa a serconsiderado como relevante. Mais uma vez, nenhum experimento para buscar mais de um amigoque satisfaça essa condição foi realizado e muito menos nenhum cálculo de média de avaliaçõesfoi feito.

4.3 Experimentos

Nessa seção serão apresentados os resultados dos experimentos realizados com as basesde dados apresentadas anteriormente de eventos e filmes. De início, serão apresentados osalgoritmos avaliados e a metodologia de avaliação utilizada e os parâmetros utilizados naimplementação. Em seguida são apresentados os resultados graficamente para cada base dedados junto com breves comentários a respeito dos resultados alcançados.

4.3.1 Algoritmos Avaliados

No presente estudo de caso, 3 algoritmos tradicionais de recomendação foram utilizadoscomo base. Através da implementação fornecida pelo framework Mahout (OWEN et al., 2011)para predizer novas avaliações, são utilizados os seguintes algoritmos:

� Singular Value Decomposition (SVD): foram utilizados como parâmetros: 20 parao número de características ou fatores, 0.065 para lambda e 4 para a quantidadede interações para treinamento do modelo. O numero de características reflete emagrupamentos que o SVD faz que podem ser entendidos como categorias, gênerosou até mesmo tipos de eventos. O lambda é um fator que regula a definição de cadacaracterística. A partir de 4 interações no treinamento o modelo apresenta estouro dememória a depender dos recursos de hardware disponíveis, por esta razão foi fixadoesse valor. Além disso, qualquer aumento nos parâmetros de quantidade de fatores e

Page 46: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.3. EXPERIMENTOS 45

lambda elevam o custo computacional e as chances de estouro de memória para umgrande conjunto de dados.

� Filtragem Colaborativa utilizando similaridade entre usuários (FCU): foi utilizadoo cálculo da similaridade entre usuários com base na correlação de Pearson. Avizinhança para calculo da similaridade foi limitada por usuários que fossem pelomenos 70% similares. Ou seja, se fosse definido a priori uma quantidade X de amigosna vizinhança, o modelo poderia definir usuários não tão semelhantes para apenasconseguir chegar na quantidade X indicada. Apesar da definição a priori de usuáriosna vizinhança possuir um espaço de busca constante, poderia reduzir a qualidade darecomendação pelo fato de usuários não tão semelhantes fazerem parte da mesmavizinhança.

� Filtragem Colaborativa utilizando similaridade entre itens (FCI): a similaridade entreitens também é calculada através da correlação de Pearson. A estratégia foi calcularpreviamente a similaridade entre todos os itens através da correlação de Pearson.A vizinhança é definida por itens que possuem alguma similaridade, ou seja, quepossuam similaridade diferente de zero. Apenas essa definição já consegue restringira quantidade de itens para serem analisados.

Para realizar a pós filtragem, foram utilizados os algoritmos tradicionais de recomendaçãoanteriormente citados mais a filtragem social definidos por:

� FCI + Filtragem Social: FCI com pós-filtragem utilizando a filtragem social.

� FCU + Filtragem Social: FCU com pós-filtragem utilizando a filtragem social.

� SVD + Filtragem Social: SVD com pós-filtragem utilizando a filtragem social.

Para o contexto físico, assim como no social, foram incrementados após a execuçãode cada algoritmo de predição de avaliação FCI, FCU e SVD definidos anteriormente, a pósfiltragem física física:

� FCI + Contexto Físico: FCI com pós filtragem utilizando o contexto físico.

� FCU + Contexto Físico: FCU com pós filtragem utilizando o contexto físico.

� SVD + Contexto Físico: SVD com pós filtragem utilizando o contexto físico.

4.3.2 Metodologia de Avaliação

A metodologia de avaliação no presente trabalho foi proposta por (CREMONESI; KO-REN; TURRIN, 2010). A Figura 4.5 apresenta como foi definido cada caso de teste (CT).

Page 47: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.3. EXPERIMENTOS 46

Figura 4.5: Caso de teste

Fonte: Elaborada pelo autor

Tabela 4.2: Tabela resultado de exemplo de aplicação da metododologia de avaliação TopN

N -> 1 2 3 4 5 ... 101CT 1 0 0 0 0 0 ... 1CT 2 0 0 1 1 1 ... 1CT 3 0 1 1 1 1 ... 1CT 4 1 1 1 1 1 ... 1

... ... ... ... ... ... ... ...CT 100 0 0 1 1 1 ... 1

Fonte: Elaborada pelo Autor

Basicamente, o conjunto de teste foi formado retirando aleatoriamente 100 avaliações com omaior valor possível de avaliação, i.e., itens considerados relevantes. Para o presente trabalho,avaliação 3 e 5, respectivamente, para as bases de eventos e filmes. Portanto, cada avaliação foiassociada assim a um item (evento ou filme) relevante para um dado usuário. Para cada item deteste avaliado por um usuário, foram escolhidos aleatoriamente 100 outros itens não avaliadospelo mesmo. Esses itens foram considerados como não relevantes para o usuário. Ressalta-seque essa avaliação é implícita, ou seja, assume-se que boa parte dos itens não avaliados por umdado usuário são de fato não relevantes (ver (CREMONESI; KOREN; TURRIN, 2010) para umamaior discussão).

As 101 avaliações de cada CT são excluídas do conjunto de treinamento. Em seguida, orestante dos dados foram utilizados no treinamento e através de três algoritmos de recomendaçãoconsiderados (ver seção 4.3.1) foram preditas as avaliações para cada um dos 101 itens de cadaCT. A ideia da avaliação é verificar o quanto o item relevante é bem ordenado em relação aos100 itens não relevantes.

O resultado final dessa avaliação para cada CT será então uma lista ordenada com 101itens (1 relevante e 100 não relevantes a priori), da qual, serão calculadas a precisão e coberturapara cada posição N da lista, seguindo as expressões:

cobertura(N) = #hits|T |

precisao(N) = #hitsN.|T |

|T | é o numero de CTs, no nosso caso T = 100, o hit é um valor igual a 0 ou 1 e #hitsé a soma dos hits. O hit é caracterizado quando p≤ N. Neste caso, p representa a posição do

Page 48: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.3. EXPERIMENTOS 47

item relevante na lista de itens recomendados e N a quantidade de itens que serão avaliadosna recomendação, neste caso N varia entre 1 e 101. Por exemplo, se o item relevante precedetodos os itens não relevantes, temos p = 1, se 3 itens não relevantes precederem o item relevante,teríamos p = 4. A Tabela 4.2 exemplifica a aplicação da metodologia de avaliação em questão.Para os comentários a seguir, serão considerados apenas os CTs: 1, 2, 3, 4 e 100 e as posições deN: 1, 2, 3, 4, 5 e 101.

Portanto, se fossem aplicadas as fórmulas de acordo com a visão resumida da Tabela 4.2para N = 1, N = 2 e N = 3 teríamos:

cobertura(1) = 1100 , cobertura(2) = 2

100 , cobertura(3) = 4100

precisao(1) = 11×100 , precisao(2) = 2

2×100 , precisao(3) = 43×100

Como existe apenas um item relevante para a posição N = 1, ou seja, que tenha possuídoavaliação estimada maior que os outros 100 aleatórios do CT, é considerado apenas 1 hit.Entretanto, para a posição N = 3, em 4 CTs já é possível encontrar 1 hit, portanto, somatório daquantidade de hit igual a 4.

A precisão é calculada através da divisão da cobertura pela posição N. Portanto, quantomaior for a posição N dos hits, menor será a precisão. Além disso, as chances de encontrar umhit cresce de acordo com a quantidade N de itens usados na recomendação e para cada posição Nna lista pode ser calculada a precisão e cobertura. Observa-se que quanto maior for a posiçãoanalisada, maiores as chances de encontrar um bom valor para cobertura. Para N = 1 a coberturacorresponde a 20%, já para N = 1 a cobertura chega aos 80%.

A partir da metodologia de avaliação Top N descrita, foram realizados alguns experimen-tos envolvendo o problema de recomendação de filmes e eventos fazendo uso das bases de dadosjá detalhadas nesse capítulo. A seguir, seguem os resultados encontrados.

4.3.3 Resultados

Nesta seção serão apresentados os resultados dos experimentos realizados através degráficos com foco nas primeiras posições de N. Neste caso, N varia de 1 até 101 e representa onumero de itens recomendados. Todos os gráficos gerados a partir dos experimentos para todasas posições de N estão integralmente no Apêndice A. As linhas contínuas referem-se a aplicaçãodos algoritmos usados como base apresentados previamente, são eles: SVD, FCI e FCU. Aslinhas pontilhadas correspondem a aplicação dos algoritmos mais o paradigma de incorporaçãocontextual de pós filtragem. A seguir, serão apresentados os resultados para cada base de dados.

4.3.3.1 Resultados para Recomendação de Eventos

Para a recomendação de eventos, foi possível aplicar a filtragem social e o contextofísico, definidos anteriormente, na pós filtragem. As Figuras 4.6 e 4.7 representam os resultados

Page 49: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.3. EXPERIMENTOS 48

Figura 4.6: Cobertura x N e Filtragem Social

Fonte: Elaborada pelo autor

Figura 4.7: Cobertura x N e Contexto Físico

Fonte: Elaborada pelo autor

Figura 4.8: Cobertura x Precisão e Filtragem Social

Fonte: Elaborada pelo autor

Figura 4.9: Cobertura x Precisão com Contexto Físico

Fonte: Elaborada pelo autor

relativos a cobertura pela posição N para a filtragem social e o contexto físico, respectivamente.Na Figura 4.6, as linhas pontilhadas que representam a filtragem social apresentam valores bemsuperiores as contínuas desde as primeiras posições de N. Ou seja, a filtragem social faz comque os itens mais relevantes fiquem nas primeiras posições de N. Além disso, observa-se umgrande ganho de cobertura quando se analisa o algoritmo de recomendação SVD em azul.

Nota-se ainda que a filtragem social na Figura 4.6 possui melhores resultados que naFigura 4.7, tal diferença pode ser explicada pelo fato de eventos serem por natureza sociaise, portanto, envolverem outras pessoas naturalmente. Normalmente, eventos são frequentadosem grupos e, para essa base de dados, o contexto social demonstrou ser mais importante que alocalização física para o comprometimento do usuário em participar ou não.

Além da cobertura já mencionada, a relação entre cobertura e precisão para a filtragem

Page 50: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.3. EXPERIMENTOS 49

Figura 4.10: Cobertura x N e Filtragem Social para a Base de Dados de Filmes

Fonte: Elaborada pelo autor

social também apresentou melhores resultados que o físico. Nas Figuras 4.8 e 4.9, observa-se a cobertura pela precisão em relação a posição N. Todas as linhas pontilhadas referentesaos resultados com incorporação de contexto apresentam melhores resultados independenteda posição N. Ou seja, tanto a precisão como a cobertura fazendo uso da filtragem social ouo contexto físico apresentam melhores resultados que a aplicação dos algoritmos tradicionaisapenas para todos os casos dentro do intervalo.

Para SVD, que possui a menor cobertura nas primeiras posições N, os resultados queutilizam a pós filtragem são bem superiores. O simples uso de SVD sem nenhuma incorporaçãoinicia na posição N = 1 com cobertura de 30%, enquanto com a filtragem social já é possívelatingir pouco mais de 80% de cobertura. Além de ser um dos piores para esse tipo de avaliação,SVD apresentou o maior tempo de processamento.

4.3.3.2 Resultados para Recomendação de Filmes

Para a base de dados de filmes, não foi possível aplicar o contexto físico como noproblema de recomendação de eventos. Entretanto, por possuir a rede de amigos de cada usuário,foi possível aplicar a filtragem social.

Como pode ser observado na Figura 4.10, o desempenho da filtragem social para estabase de dados apresentou resultados melhores quando comparados com a aplicação de algoritmos

Page 51: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.4. CONSIDERAÇÕES FINAIS 50

Figura 4.11: Precisão x Cobertura e Contexto Social para a Base de Filmes

Fonte: Elaborada pelo autor

tradicionais de SVD, FCI e FCU apenas. Apesar do desempenho para as primeiras posiçõesde N não serem muito superiores, a cobertura na posição N=20 apresenta resultados bemmelhores quando fazem uso da filtragem social. Enquanto que para N=40 a cobertura com afiltragem social atinge quase 100% de cobertura, as técnicas tradicionais, SVD, FCI e FCU, nãochegam a 70%. Para SVD o ganho é o mais expressivo, enquanto na posição N=40 apenas aaplicação do algoritmo obtém resultados próximos a 50%, o uso da filtragem social consegueresultados próximos a 100%. Ou seja, o modelo proposto consegue quase dobrar a cobertura darecomendação no experimento para SVD.

A relação de precisão e cobertura apresentada na Figura 4.11 para a base de dados defilmes apresentou um baixo desempenho desde as primeiras posições N. Devido a definição daprecisão pela metodologia de avaliação, além da relação precisão e cobertura já serem muitobaixas desde as primeiras posições N, tendem a piorar com o aumento da posição N. Aindaassim, percebe-se melhores resultados para todas as linhas pontilhadas que utilizam filtragem emtodo o gráfico. Para SVD, por exemplo, os resultados que utilizam filtragem social nas primeirasposições de N apresentam-se bem superiores comparado com a aplicação apenas do algoritmopuro. Além disso, em nenhum momento observa-se superioridade da relação de precisão ecobertura de modelos tradicionais sem incorporação contextual.

4.4 Considerações Finais

O desempenho de cada estudo de caso está diretamente ligado a qualidade e quantidadedos dados disponíveis em cada base de dados. Para o problema de recomendação de eventos

Page 52: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

4.4. CONSIDERAÇÕES FINAIS 51

observa-se uma grande quantidade tanto de usuários quanto de avaliações. O espaço de busca noestudo de caso de eventos é bem superior ao problema recomendação de filmes, tal diferençareflete na qualidade das recomendações. A grande diferença nos resultados é perceptível desdeas primeiras posições de N. A aplicação do contexto social foi bem mais expressiva para o estudode caso de recomendação de eventos que o de filmes desde as primeiras posições de N. Talfato pode ser explicado por eventos geralmente reunirem muitas pessoas e essas quase semprefrequentarem eventos em grupo.

Sendo assim, pode-se reduzir o tempo gasto pelo usuário para encontrar novos itens,transformando a lista de itens recomendados em uma nova lista com os itens mais relevantesnas primeiras posições. Além disso, a determinação dos contextos acontece de forma dinâ-mica e eficiente. Por exemplo, para a filtragem social não se faz necessário verificar todos osrelacionamentos possíveis de acordo com a lista de amigos, o que poderia ser bem custosocomputacionalmente para usuários com muitos amigos. A determinação se o item é socialmentefavorável é feita quando se encontra um amigo que tenha avaliado o item em questão com umvalor maior ou igual ao definido na modelagem para itens relevantes.

Tendo em vista que, geralmente, usuários seguem conselhos, dicas e muitas vezescompartilham as mesmas preferências com seus amigos, o uso da rede social para verificar asavaliações dos amigos para os itens a serem recomendados demonstrou ser muito útil. Trata-sede uma demonstração implícita de confiança nos amigos na definição de itens como relevantesou não relevantes.

O contexto físico aplicado na recomendação de eventos não apresentou resultadossuperiores a aplicação apenas dos algoritmos tradicionais. Portanto, o contexto físico nãoapresentou ser uma boa estratégia para recomendação nos experimentos realizados. Logicamente,quanto mais registros forem recuperados de eventos passados, maior a chance do modelo acertarem novos eventos. A lista de contextos físicos favoráveis apresenta tuplas únicas, o que facilita acomparação com novos eventos. Além disso, foram considerados apenas eventos válidos os queeram totalmente compatíveis com os da lista de contextos históricos favoráveis, o que faz comque sejam feitas poucas comparações para verificação do contexto físico favorável.

Page 53: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

525252

5Conclusão

Esta dissertação teve como objetivo investigar técnicas de filtragem colaborativa baseadasem contexto, e mais especificamente técnicas baseadas em pós-filtragem. Primeiramente, apartir de um sistema de recomendação base utilizando filtragem colaborativa foi possível realizarrecomendações para um usuário alvo. Após isso, foi feito uso da pós filtragem com os contextosfavoráveis, físicos e sociais, dos usuários para definição de relevância ou não do item.

Este trabalho apresentou como informações físicas e sociais podem ser úteis para reco-mendar itens. Para tal, foi aplicada uma pós filtragem para selecionar condições favoráveis paraboas avaliações baseadas em avaliações passadas. Através de avaliações de amigos de usuário eatributos dos itens, foi possível identificar quais seriam os melhores itens a serem recomendados.

As técnicas implementadas foram aplicadas em dois estudos de caso com duas basesde dados de domínios diferentes: uma base composta por eventos e outra por filmes. Narecomendação de eventos, investigamos o uso de contextos físicos (i.e., tempo e local) e decontextos sociais (i.e., amigos na rede social) associados aos itens sugeridos aos usuários. Narecomendação de filmes, por sua vez, investigamos novamente o uso de contexto social. A partirda aplicação de pós-filtragem em três algoritmos de filtragem colaborativa usados como base, foipossível recomendar itens de forma mais precisa.

O contexto social demonstrou ser muito importante mesmo depois de já se fazer usoda filtragem colaborativa. A pós filtragem utilizando contexto social através das avaliações deamigos consegue deixar as recomendações ainda mais precisas. Portanto, mesmo depois de severificar inicialmente a similaridade entre itens ou usuários na base com a filtragem colaborativa,a filtragem social ainda pode ser um fator determinante na recomendação.

Além do social, o contexto físico na recomendação de eventos demonstra que usuáriospossuem preferências contextuais físicas marcantes. Mesmo não possuindo resultados tão bonsquanto o contexto social, o contexto físico pode vir a melhorar recomendações direcionandousuários a repetir boas experiências a partir de dados de localização e temporais de avaliaçõespassadas.

Page 54: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

5.1. TRABALHOS FUTUROS 53

5.1 Trabalhos Futuros

Como possíveis trabalhos futuros, pode-se:

� Aplicar o modelo proposto em outras bases de dados de diferentes domínios.Alémdisso, Variar os parâmetros utilizados nos experimentos. A definição de vizinhançapoderia ter sido feito de forma flexível a depender da base de dados. Para SVD,a quantidade de interações de treinamento, numero de fatores e lambda tambémpoderiam variar de acordo com o domínio do problema e a quantidade de hardwaredisponível para aplicação do modelo.

� Aplicar outras metodologias de avaliação. A metodologia de avaliação utilizada focanos primeiros itens da lista de itens a serem recomendados, o uso de outras técnicaspoderia focar na recomendação de apenas um item, ou de poucos itens. Além disso,buscando aleatoriamente eventos que não foram avaliados pelo usuário, a tendênciade que um item bem avaliado apareça nas primeiras posições é alta.

� Utilização do contexto atual no momento da recomendação. Os contextos utilizados,social e físico, foram estático, ou seja, a partir de informações históricas. Alémdisso, outras técnicas de incorporação contextual podem ser exploradas. Além da pósfiltragem, a proposta poderia ter usado outras técnicas de incorporação contextualcomo pré filtragem e modelagem. A combinação do contexto físico e social poderiadeixar as recomendações mais precisas e a definição da lista de preferências decontextos físicos poderia ser ordenada de acordo com a frequência de boas avaliaçõespor cada contexto. Desta forma, alguns contextos físicos poderia se tornar maisimportante que outros.

� Técnicas de confiança poderiam ser utilizadas para definição dos amigos mais confiá-veis e aprimorar assim a definição de relevância ou não do item a partir de amigosrealmente confiáveis.

Page 55: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

545454

Referências

ABOWD, G. D. et al. Cyberguide: a mobile context-aware tour guide. Wireless networks,[S.l.], v.3, n.5, p.421–433, 1997.

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.

ADOMAVICIUS, G.; TUZHILIN, A. Context-aware recommender systems. In: Recommendersystems handbook. [S.l.]: Springer, 2011. p.217–253.

AGARWAL, A. et al. A Reliable Effective Terascale Linear Learning System. CoRR, [S.l.],v.abs/1110.4198, 2011.

AGARWAL, V.; BHARADWAJ, K. A collaborative filtering framework for friendsrecommendation in social networks based on interaction intensity and adaptive user similarity.Social Network Analysis and Mining, [S.l.], v.3, n.3, p.359–379, 2013.

BAWDEN, D.; ROBINSON, L. The dark side of information: overload, anxiety and otherparadoxes and pathologies. Journal of information science, [S.l.], v.35, n.2, p.180–191, 2009.

BAZIRE, M.; BRÉZILLON, P. Understanding context before using it. In: Modeling and usingcontext. [S.l.]: Springer, 2005. p.29–40.

BETTINI, C. et al. A survey of context modelling and reasoning techniques. Pervasive andMobile Computing, [S.l.], v.6, n.2, p.161–180, 2010.

BREESE, J. S.; HECKERMAN, D.; KADIE, C. Empirical analysis of predictive algorithms forcollaborative filtering. In: FOURTEENTH CONFERENCE ON UNCERTAINTY INARTIFICIAL INTELLIGENCE. Proceedings. . . [S.l.: s.n.], 1998. p.43–52.

CHEN, J. et al. Make new friends, but keep the old: recommending people on social networkingsites. In: SIGCHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS.Proceedings. . . [S.l.: s.n.], 2009. p.201–210.

CHEN, W.-Y. et al. Collaborative filtering for orkut communities: discovery of user latentbehavior. In: WORLD WIDE WEB, 18. Proceedings. . . [S.l.: s.n.], 2009. p.681–690.

CHEVERST, K. et al. Developing a context-aware electronic tourist guide: some issues andexperiences. In: SIGCHI CONFERENCE ON HUMAN FACTORS IN COMPUTINGSYSTEMS. Proceedings. . . [S.l.: s.n.], 2000. p.17–24.

COUTAZ, J. et al. Context is key. Communications of the ACM, [S.l.], v.48, n.3, p.49–53,2005.

CREMONESI, P.; KOREN, Y.; TURRIN, R. Performance of recommender algorithms on top-nrecommendation tasks. In: ACM CONFERENCE ON RECOMMENDER SYSTEMS.Proceedings. . . [S.l.: s.n.], 2010. p.39–46.

DASGUPTA, P. Trust as a commodity. Trust: Making and breaking cooperative relations,[S.l.], v.4, p.49–72, 2000.

Page 56: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

REFERÊNCIAS 55

DEY, A. K. Understanding and using context. Personal and ubiquitous computing, [S.l.], v.5,n.1, p.4–7, 2001.

DOU, W. et al. A recommendation-based peer-to-peer trust model. Journal of software, [S.l.],v.15, n.4, p.571–583, 2004.

DUBOIS, T. et al. Improving recommendation accuracy by clustering social networks with trust.Recommender Systems & the Social Web, [S.l.], v.532, p.1–8, 2009.

FALCONE, R.; CASTELFRANCHI, C. Transitivity in trust a discussed property. , [S.l.], 2010.

FENG, H.; QIAN, X. Recommendation via user’s personality and social contextual. In: ACMINTERNATIONAL CONFERENCE ON CONFERENCE ON INFORMATION &KNOWLEDGE MANAGEMENT, 22. Proceedings. . . [S.l.: s.n.], 2013. p.1521–1524.

FLING, B. Mobile Design and Development: practical concepts and techniques for creatingmobile sites and web apps. [S.l.]: "O’Reilly Media, Inc.", 2009.

FOLKERTS, J. A comparison of reputation-based trust systems. , [S.l.], 2005.

GANS, G. et al. Continuous requirements management for organisation networks: a (dis)trust-based approach. Requirements Engineering, [S.l.], v.8, n.1, p.4–22, 2003.

GOLBECK, J. Generating predictive movie recommendations from trust in socialnetworks. [S.l.]: Springer, 2006.

GOLBECK, J.; PARSIA, B.; HENDLER, J. Trust networks on the semantic web. [S.l.]:Springer, 2003.

GORI, M.; WITTEN, I. The bubble of web visibility. Communications of the ACM, [S.l.],v.48, n.3, p.115–117, 2005.

GUHA, R. et al. Propagation of trust and distrust. In: WORLD WIDE WEB, 13. Proceedings. . .[S.l.: s.n.], 2004. p.403–412.

GUY, I.; CARMEL, D. Social Recommender Systems. In: INTERNATIONAL CONFERENCECOMPANION ON WORLD WIDE WEB, 20., New York, NY, USA. Proceedings. . . ACM,2011. p.283–284. (WWW ’11).

GUY, I.; GEYER, W. Social recommender system tutorial. In: ACM CONFERENCE ONRECOMMENDER SYSTEMS, 8. Proceedings. . . [S.l.: s.n.], 2014. p.403–404.

HUSSAIN, F. K.; HUSSAIN, O. K.; CHANG, E. An overview of the interpretations of trust andreputation. In: EMERGING TECHNOLOGIES AND FACTORY AUTOMATION, 2007. ETFA.IEEE CONFERENCE ON. Anais. . . [S.l.: s.n.], 2007. p.826–830.

JAMALI, M.; ESTER, M. Trustwalker: a random walk model for combining trust-based anditem-based recommendation. In: ACM SIGKDD INTERNATIONAL CONFERENCE ONKNOWLEDGE DISCOVERY AND DATA MINING, 15. Proceedings. . . [S.l.: s.n.], 2009.p.397–406.

JIANG, M. et al. Social contextual recommendation. In: ACM INTERNATIONALCONFERENCE ON INFORMATION AND KNOWLEDGE MANAGEMENT, 21.Proceedings. . . [S.l.: s.n.], 2012. p.45–54.

Page 57: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

REFERÊNCIAS 56

KAUTZ, H.; SELMAN, B.; SHAH, M. Referral Web: combining social networks andcollaborative filtering. Communications of the ACM, [S.l.], v.40, n.3, p.63–65, 1997.

KING, I.; LYU, M. R.; MA, H. Introduction to social recommendation. In: WORLD WIDEWEB, 19. Proceedings. . . [S.l.: s.n.], 2010. p.1355–1356.

KOREN, Y.; BELL, R.; VOLINSKY, C. Matrix factorization techniques for recommendersystems. Computer, [S.l.], n.8, p.30–37, 2009.

LI, H.; WU, D.; MAMOULIS, N. A revisit to social network-based recommender systems. In:ACM SIGIR CONFERENCE ON RESEARCH & DEVELOPMENT IN INFORMATIONRETRIEVAL, 37. Proceedings. . . [S.l.: s.n.], 2014. p.1239–1242.

LINDEN, G.; SMITH, B.; YORK, J. Amazon. com recommendations: item-to-itemcollaborative filtering. Internet Computing, IEEE, [S.l.], v.7, n.1, p.76–80, 2003.

MA, H. et al. Recommender systems with social regularization. In: ACM INTERNATIONALCONFERENCE ON WEB SEARCH AND DATA MINING. Proceedings. . . [S.l.: s.n.], 2011.p.287–296.

MA, N. et al. Trust relationship prediction using online product review data. In: ACMINTERNATIONAL WORKSHOP ON COMPLEX NETWORKS MEET INFORMATION &KNOWLEDGE MANAGEMENT, 1. Proceedings. . . [S.l.: s.n.], 2009. p.47–54.

MASSA, P.; AVESANI, P. Trust-aware collaborative filtering for recommender systems. In: Onthe Move to Meaningful Internet Systems 2004: coopis, doa, and odbase. [S.l.]: Springer,2004. p.492–508.

MASSA, P.; AVESANI, P. Trust-aware recommender systems. In: ACM CONFERENCE ONRECOMMENDER SYSTEMS, 2007. Proceedings. . . [S.l.: s.n.], 2007. p.17–24.

MASSA, P.; AVESANI, P. Trust metrics in recommender systems. In: Computing with socialtrust. [S.l.]: Springer, 2009. p.259–285.

MELVILLE, P.; MOONEY, R. J.; NAGARAJAN, R. Content-boosted collaborative filtering forimproved recommendations. In: AAAI/IAAI. Anais. . . [S.l.: s.n.], 2002. p.187–192.

MULVENNA, M. D.; ANAND, S. S.; BÜCHNER, A. G. Personalization on the Net using Webmining: introduction. Communications of the ACM, [S.l.], v.43, n.8, p.122–125, 2000.

O’DONOVAN, J.; SMYTH, B. Trust in recommender systems. In: INTELLIGENT USERINTERFACES, 10. Proceedings. . . [S.l.: s.n.], 2005. p.167–174.

OWEN, S. et al. Mahout in action. [S.l.]: Manning Shelter Island, 2011.

PARK, S.-T. et al. Naïve filterbots for robust cold-start recommendations. In: ACM SIGKDDINTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING,12. Proceedings. . . [S.l.: s.n.], 2006. p.699–705.

PAZZANI, M. J. A framework for collaborative, content-based and demographic filtering.Artificial Intelligence Review, [S.l.], v.13, n.5-6, p.393–408, 1999.

Page 58: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

REFERÊNCIAS 57

RESNICK, P. et al. GroupLens: an open architecture for collaborative filtering of netnews. In:ACM CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE WORK, 1994.Proceedings. . . [S.l.: s.n.], 1994. p.175–186.

RESNICK, P.; VARIAN, H. R. Recommender systems. Communications of the ACM, [S.l.],v.40, n.3, p.56–58, 1997.

RICCI, F.; ROKACH, L.; SHAPIRA, B. Introduction to recommender systems handbook.[S.l.]: Springer, 2011.

RICHARDSON, M.; AGRAWAL, R.; DOMINGOS, P. Trust management for the semantic web.In: The Semantic Web-ISWC 2003. [S.l.]: Springer, 2003. p.351–368.

SARWAR, B. et al. Incremental singular value decomposition algorithms for highly scalablerecommender systems. In: FIFTH INTERNATIONAL CONFERENCE ON COMPUTER ANDINFORMATION SCIENCE. Anais. . . [S.l.: s.n.], 2002. p.27–28.

SCHEIN, A. I. et al. Methods and metrics for cold-start recommendations. In: ACM SIGIRCONFERENCE ON RESEARCH AND DEVELOPMENT IN INFORMATION RETRIEVAL,25. Proceedings. . . [S.l.: s.n.], 2002. p.253–260.

SIGURBJÖRNSSON, B.; VAN ZWOL, R. Flickr tag recommendation based on collectiveknowledge. In: WORLD WIDE WEB, 17. Proceedings. . . [S.l.: s.n.], 2008. p.327–336.

SINHA, R. R.; SWEARINGEN, K. Comparing Recommendations Made by Online Systems andFriends. In: DELOS WORKSHOP: PERSONALISATION AND RECOMMENDER SYSTEMSIN DIGITAL LIBRARIES. Anais. . . [S.l.: s.n.], 2001. v.1.

STEPHEN, M. Formalising trust as a computational concept. Ph. n dissertation. University ofStirling, scotland, [S.l.], 1994.

SUMI, Y. et al. C-map: building a context-aware mobile assistant for exhibition tours. In:Community computing and support systems. [S.l.]: Springer, 1998. p.137–154.

TANG, J.; HU, X.; LIU, H. Social recommendation: a review. Social Network Analysis andMining, [S.l.], v.3, n.4, p.1113–1133, 2013.

VIEIRA, V.; TEDESCO, P.; SALGADO, A. C. A process for the design of context-sensitivesystems. In: COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN, 2009. CSCWD2009. 13TH INTERNATIONAL CONFERENCE ON. Anais. . . [S.l.: s.n.], 2009. p.143–148.

WANT, R. et al. The active badge location system. ACM Transactions on InformationSystems (TOIS), [S.l.], v.10, n.1, p.91–102, 1992.

WASSERMAN, S.; FAUST, K. Social network analysis: methods and applications. [S.l.]:Cambridge university press, 1994. v.8.

YU, K. et al. Probabilistic memory-based collaborative filtering. Knowledge and DataEngineering, IEEE Transactions on, [S.l.], v.16, n.1, p.56–69, 2004.

YUAN, Q.; CHEN, L.; ZHAO, S. Factorization vs. regularization: fusing heterogeneous socialrelationships in top-n recommendation. In: ACM CONFERENCE ON RECOMMENDERSYSTEMS. Proceedings. . . [S.l.: s.n.], 2011. p.245–252.

Page 59: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

REFERÊNCIAS 58

ZHANG, F. Research on recommendation list diversity of recommender systems. In:MANAGEMENT OF E-COMMERCE AND E-GOVERNMENT, 2008. ICMECG’08.INTERNATIONAL CONFERENCE ON. Anais. . . [S.l.: s.n.], 2008. p.72–76.

ZHANG, Y.; FENG, Y.-q. Hybrid Recommendation method IN Sparse Datasets: combiningcontent analysis and collaborative filtering. JDCTA: International Journal of DigitalContent Technology and its Applications, [S.l.], v.6, n.10, p.52–60, 2012.

ZIEGLER, C.-N.; GOLBECK, J. Investigating interactions of trust and interest similarity.Decision support systems, [S.l.], v.43, n.2, p.460–475, 2007.

ZIEGLER, C.-N.; LAUSEN, G. Analyzing correlation between trust and user similarity inonline communities. In: Trust management. [S.l.]: Springer, 2004. p.251–265.

Page 60: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

Apêndice

Page 61: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

606060

AGráficos Completos

Nesse apêndice são postos todos os gráficos gerados nos experimentos para todas asposições de N e não apenas para as primeiras como foi feito nos experimentos.

Page 62: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

61

Figura A.1: Cobertura x N e Filtragem Social

Page 63: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

62

Figura A.2: Precisão x Cobertura e Contexto Social

Page 64: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

63

Figura A.3: Cobertura x Precisão e Conexto Físico

Page 65: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

64

Figura A.4: Cobertura x Precisão e Filtragem Social.

Page 66: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

65

Figura A.5: Cobertura x Precisão e Filtragem Social.

Page 67: SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO FÍSICO …

66

Figura A.6: Cobertura x Precisão e Contexto Físico