• Nenhum resultado encontrado

Sistemas de recomendação baseados em contexto físico e social

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas de recomendação baseados em contexto físico e social"

Copied!
67
0
0

Texto

(1)

Alysson Bispo Peireira

SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO

FÍSICO E SOCIAL

Dissertação de Mestrado

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br www.cin.ufpe.br/~posgraduacao

RECIFE 2016

(2)

Alysson Bispo Peireira

SISTEMAS DE RECOMENDAÇÃO BASEADOS EM CONTEXTO

FÍ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

RECIFE 2016

(3)

Catalogação na fonte

Bibliotecá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.

(4)

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

(5)

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 Ricardo Prudê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 desse trabalho. A todos, meu muito obrigado!

(6)

Resumo

Em meio a grande sobrecarga de dados disponíveis na internet, sistemas de recomendação tornam-se ferramentas indispensáveis para auxiliar usuários no encontro de itens ou conteúdos relevantes. Diversas técnicas de recomendação são aplicadas em diversos tipos de domínios diferentes. Seja na recomendação de filmes, música, amigos, lugares ou notícias, sistemas de recomendação exploram diversas informações disponíveis para aprender as preferências dos usuários e promover recomendações úteis. Uma das estratégias mais utilizadas é a de filtragem colaborativa. A qualidade dessa estratégia depende da quantidade de avaliações disponíveis e da qualidade do algoritmo utilizado para predição de avaliação. Estudos recentes demonstram que informações provenientes de redes sociais podem ser muito úteis para aumentar a precisão das recomendações. Assim como acontece no mundo real, no mundo virtual usuários buscam recomendaçõ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 do contexto físico de cada recomendação. A companhia, a localização e as condições climáticas são bons exemplos de elementos físicos que levam um usuário a preferir certos itens. Um processo de recomendação que não leve em consideração elementos contextuais pode fazer com que o usuá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 que utilizam contexto a fim de realizar recomendações que auxiliem usuários no encontro de itens relevantes. Nesse tipo de técnica, um sistema de recomendação base é utilizando para fornecer recomendações para o usuário alvo. Em seguida, são filtrados apenas os itens considerados relevantes para contextos previamente identificados nas preferências do usuário alvo. As técnicas implementadas foram aplicadas em dois experimentos com duas bases de dados de domínios diferentes: 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., amigos na rede social) associados aos itens sugeridos aos usuários. Na recomendação de filmes, por sua vez, investigamos novamente o uso de contexto social. A partir da aplicação de pós-filtragem em três algoritmos de filtragem colaborativa usados como base, foi possível recomendar itens de forma mais precisa, como demonstrado nos experimentos realizados.

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

(7)

Abstract

The overload of data available on the internet makes recommendation systems become indispensable 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 can recommend movies, music, friends, places or news; recommender systems can exploit different information 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 depends on the number of available ratings and the algorithm used to predict. Recent studies show that information 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 friends before buying an item or consume a service. Furthermore, the context of each rating may be crucial for the definition of new ratings. Location, date time and weather conditions are good examples of useful elements to define what should be the best items to recommend for some user. A recommendation process that does not respect those elements can provide a user a bad experience. This dissertation investigates collaborative filtering techniques based on context, and more specifically techniques based on post-filtering. First, a recommendation system was used to provide recommendations for a specific user. Then, only relevant items according to context preferences for the target user will be recommended. The techniques implemented was applied in two case studies with two different domains databases: one base composed of events and another 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 items suggested to users. On the recommendation of movies, in turn, again we investigated the use of social context. From the application of post-filtering in three collaborative filtering algorithms used as a baseline, it was possible to recommend items more accurately, as demonstrated in the experiments.

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

(8)

Lista de Figuras

2.1 Filtragem baseada em Usuário . . . 18

2.2 Filtragem Colaborativa Baseada em Item . . . 19

2.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 . . . 35

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

4.1 Distribuição das 11244924 Avaliações . . . 40

4.2 Distribuição da quantidade de amigos por usuário da base de dados de Eventos 41 4.3 Distribuição das Avaliações para base Douban . . . 43

4.4 Distribuição da quantidade de amigos por usuário da base de dados de Filmes . 43 4.5 Caso de teste . . . 46

4.6 Cobertura x N e Filtragem Social . . . 48

4.7 Cobertura x N e Contexto Físico . . . 48

4.8 Cobertura x Precisão e Filtragem Social . . . 48

4.9 Cobertura x Precisão com Contexto Físico . . . 48

4.10 Cobertura x N e Filtragem Social para a Base de Dados de Filmes . . . 49

4.11 Precisão x Cobertura e Contexto Social para a Base de Filmes . . . 50

A.1 Cobertura x N e Filtragem Social . . . 61

A.2 Precisão x Cobertura e Contexto Social . . . 62

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

A.4 Cobertura x Precisão e Filtragem Social. . . 64

A.5 Cobertura x Precisão e Filtragem Social. . . 65

(9)

Lista de Tabelas

2.1 Comparativo entre trabalhos relacionados . . . 31 4.1 Tabela de Conversão de Resposta a Convites em Avaliação . . . 39 4.2 Tabela resultado de exemplo de aplicação da metododologia de avaliação Top N 46

(10)

Sumário

1 Introdução 11

1.1 Sistemas de recomendação baseado em contexto . . . 12

1.2 Sistemas de recomendação social . . . 13

1.3 Objetivos . . . 14

1.4 Organização do Documento . . . 14

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

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

2.1.2 Filtragem Colaborativa . . . 17

2.1.2.1 Filtragem Colaborativa Baseada em Usuário . . . 18

2.1.2.2 Filtragem Colaborativa Baseada em Item . . . 19

2.1.2.3 Fatoração de Matrizes . . . 19

2.2 Contexto . . . 20

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

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

2.4.1 Relações de Confiança . . . 26

2.4.2 Confiança em Sistemas de Recomendação . . . 28

2.5 Comparativo entre Trabalhos Relacionados . . . 30

2.6 Considerações Finais . . . 32

3 Recomendação Baseada em Contexto Físico e Social 34 3.0.1 Filtragem Social . . . 35

3.0.2 Contexto Físico . . . 36

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

4.1.1 Base de dados de Eventos . . . 39

4.1.2 Filtragem Social . . . 40 4.1.3 Contexto Físico . . . 41 4.2 Recomendação de Filmes . . . 42 4.2.1 Base de Dados . . . 42 4.2.2 Filtragem Social . . . 44 4.3 Experimentos . . . 44 4.3.1 Algoritmos Avaliados . . . 44

(11)

4.3.2 Metodologia de Avaliação . . . 45

4.3.3 Resultados . . . 47

4.3.3.1 Resultados para Recomendação de Eventos . . . 47

4.3.3.2 Resultados para Recomendação de Filmes . . . 49

4.4 Considerações Finais . . . 50 5 Conclusão 52 5.1 Trabalhos Futuros . . . 53 Referências 54 Apêndice 59 A Gráficos Completos 60

(12)

11 11 11

1

Introdução

O crescimento da internet nos últimos anos causou um aumento gigantesco na quantidade de dados disponíveis na web, fazendo com que a tarefa de encontrar dados, que de fato sejam relevantes, se torne muito complexa (BAWDEN; ROBINSON,2009). Sistemas de recomendação possuem 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 boa forma 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 redes sociais como Facebook1 e Twitter2 para definir preferências e realizar recomendações mais precisas (JIANG et al.,2012). Informações diversas sobre usuários e de suas interações com outros usuários podem ser recuperadas e auxiliar na definição de suas preferências com dados reais.

Além disso, o contexto de cada avaliação pode ser muito importante para a definição de novas 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 a preferir certos itens. Um processo de recomendação que não leve em consideração o contexto pode fazer com que o usuário tenha uma péssima experiência consumindo determinado item recomendado equivocadamente. Por exemplo, o contexto perfeito para um determinado usuário ir a praia pode ser em dias ensolarados, na companhia dos amigos e praias que não fiquem a mais de 100 quilômetros de sua localização atual. Uma recomendação em dias nublados pode levar o usuário a uma péssima experiência. O objetivo desse trabalho é realizar uma investigação da aplicação de contexto na recomendação afim de melhorar os resultados de recomendações que utilizam algoritmos tradicionais.

1www.facebook.com 2www.twitter.com

(13)

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 uso apenas do usuário e item para realizar recomendações e não fazem uso de nenhuma informação contextual. A depender do domínio que a recomendação deve atuar, diversos fatores contextuais podem 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 de acordo 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 para recuperar fatores contextuais, a definição do contexto acontece diretamente. Além disso, fatores contextuais podem ser classificados como dinâmicos ou estáticos de acordo com a frequência com que mudam durante seu uso. A definição do ambiente e dos fatores são de suma importância para 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 fatores contextuais que envolvem informações de tempo e localização. O contexto social é encarregado de definições contextuais que podem envolver avaliações de outros amigos ou até mesmo a companhia na avaliação de itens. Contexto de iteração tenta a partir do meio com que o usuário está interagindo (i.e., o dispositivo que o usuário esta utilizando para interagir) afim de fornecer uma boa experiência. Por fim, o contexto modal, talvez o mais completo de se definir em sistemas computacionais, 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 contextuais físicos podem ser facilmente extraídos pela localização geográfica do usuário e a partir disso diversas variáveis podem ser inferidas. Diariamente diversas decisões envolvem atributos de tempo e espaço. Onde seria o melhor local para trabalhar, onde passar as férias, onde comprar uma casa e etc são decisões diárias que envolvem locais e objetivos do usuário. Um determinado item, que logicamente possua atributos físicos e/ou temporais, deve ser recomendado utilizando como entrada o contexto físico atual, ou seja, informações sobre hora e lugar que o usuário se encontra. Esses elementos tornam-se fundamentais quando se trata de recomendações que envolvem 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 da recomendaçã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 o uso de uma modelagem contextual ou até mesmo reduzir a lista de itens recomendados para o usuário com apenas os itens mais relevantes através da pós filtragem.

(14)

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 fatores sociais que inter-relacionam itens distintos. Seja a partir de fóruns, redes sociais ou até mesmo pá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ários conseguem 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 sociais para realizar recomendações mais precisas. Além do uso de informações dos amigos de usuários melhorar a recomendação, relações sociais podem ser úteis para resolução de problemas clássicos de sistemas de recomendação como a falta de dados suficientes para realizar recomendações para um determinado usuário (PARK et al.,2006) (SCHEIN et al.,2002). Mesmo em bases de dados em que já é possível realizar boas recomendações, o uso de informações sociais possibilita a realizaçã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ário para recomendar itens. Usuários tendem a estabelecer relações sociais com outros de diversas formas, os laços sociais entre usuários podem ser de amizade, confiança, seguidores ou de até 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 sistemas que 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 contextuais em sistemas de recomendação além dos tradicionais usuários e item, sistemas de recomendação sociais 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 ser expandidos para utilização também de amigos de usuários que não precisam estar diretamente conectados.

Técnicas de filtragem colaborativa buscam similaridades entre usuários ou itens em uma base de dados para criar vizinhanças e recomendar itens. A recomendação social já possui uma vizinhança definida através dos amigos dos usuários, a existência de um laço de amizade pode aumentar e muito a influencia que um usuário pode ter em outros. O mesmo procedimento utilizado no mundo real de buscar sugestões de amigos para consumir novos conteúdos é utilizado nas 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 grande exploração de informações de redes sociais nos últimos anos, dados relativos a confiança entre usuários passaram a ser muito utilizados em sistemas de recomendação (DOU et al.,2004) (ADOMAVICIUS; TUZHILIN, 2005) (ZIEGLER; GOLBECK, 2007). Naturalmente, um

(15)

1.3. OBJETIVOS 14 indivíduo tende a se relacionar e ser influenciado por outros que possuem atributos e interesses semelhantes (WASSERMAN; FAUST, 1994). Os primeiros resultados demonstraram que recomendações desse tipo apresentam maior precisão do que técnicas tradicionais, como filtragem colaborativa, 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écnicas de pós filtragem para que, a partir de algoritmos tradicionais de recomendação que utilizam a estratégia de filtragem colaborativa, seja possível recomendar novos itens de forma mais precisa de 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 para

construçã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ância

ou 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 para que a partir da filtragem colaborativa seja possível realizar uma filtragem de itens relevantes de acordo com o contexto físico e social. Para tal, foram realizados dois estudos de casos com duas 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 contexto físico, por sua vez, foi aplicado apenas no estudo de caso de recomendação de eventos pela não disponibilidade 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 conceitos para a contextualização do problema. Serão apresentadas técnicas de incorporação contextual, os tipos de contextos já definidos na literatura e um resumo de alguns trabalhos 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 social

(16)

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 a cobertura e precisão resultantes da execução dos experimentos.

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

(17)

16 16 16

2

Fundamentaçã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 ou implicitamente adquiridas. Pode-se recomendar desde livros, músicas e filmes ou até mesmo restaurantes e museus. Nesses sistemas, novos itens são recomendados comumente baseados no histórico de itens consumidos previamente pelos usuários.

Com o grande avanço do comercio eletrônico e das redes sociais, sistemas desse tipo tornaram-se ferramentas de grande importância, auxiliando usuários a fazerem boas escolhas e otimizando o tempo gasto em busca de itens relevantes. A partir da rede de amigos ou de escolhas passadas, sistemas de recomendação atuam em diversos sites como: Amazon1, YouTube2, Netflix3, Yahoo4, Lastfm5, Facebook6e Foursquare7. Além disso, grandes empresas passaram a desenvolver suas próprias soluções de acordo com seus domínios específicos afim de fornecer 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ções feitas por aproximadamente 500 mil usuários de mais de 17 mil filmes de sua própria base de dados e foi oferecido um prêmio de 1 milhão de dólares para algum time de desenvolvedores que conseguisse obter um desempenho preditivo 10% melhor do que o algoritmo existente para recomendação de filmes (KOREN; BELL; VOLINSKY,2009). Mais de 48 mil times provenientes de 182 países diferentes participaram da competição. Foi a primeira vez na história que uma competição online desse tipo usou dados reais de usuários e disponibilizou na web.

1www.amaon.com 2www.youtube.com 3www.netflix.com 4www.yahoo.com 5www.lastfm.com 6www.facebook.com 7www.foursquare.com

(18)

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-se em preferências, características dos itens ou até mesmo em avaliações e atributos de outros usuários. A partir disso, pode-se classificar algumas técnicas de acordo com sua estratégia utilizada 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 itens anteriormente avaliados com novos itens a serem recomendados. Por exemplo, na recomendação de 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 com alto grau de semelhança com os lidos no passado.

Um dos grandes problemas desse tipo de recomendação é a necessidade de processar uma 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 uma grande quantidade de usuários envolvidos, a verificação de similaridade é feita apenas entre itens oriundos das preferências do usuário e novos itens ainda não avaliados. Além disso, apresenta grande 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 de sistemas de recomendação. Esse tipo de recomendação busca semelhanças entre usuários e não mais entre conteúdo de itens. Em FC, ainda é possível medir a similaridade entre itens, com a diferença de que não é mais levando em consideração o conteúdo. Portanto, busca-se usuários com padrões semelhantes e a partir disso verifica-se itens que alguns usuários ainda não tenham avaliado 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 e da rede de amigos para aumentar a precisão das recomendações que utilizam FC. Abordagens hí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 da mesma opinião. O autor cria grupos baseados em confiança e através da FC recomenda novos itens para usuários respeitando o grupo que ele pertence. Se essa abordagem for aplicada apenas para um domínio específico pode ser de grande serventia, entretanto, a formação de grupos confiáveis pode falhar para outros domínios. Usuários podem não ser confiáveis para todos os domínios e, portanto, não serem boas referências para recomendações.

(19)

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 bom nú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 colaborativa tornaram-se bem populares.

Para recomendar itens utilizando a filtragem colaborativa, pode-se fazer uso de duas estraté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 comportamentos semelhantes ao que se deseja recomendar algo e, a partir das avaliações semelhantes, encontrar itens que podem ser do interesse do usuário em questão. Para calcular essa semelhança são utilizados 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 a esta similaridade, a filtragem colaborativa recomenda os Itens 1 e 2 para o Usuário 2 por serem itens já avaliados pelo Usuário 1.

O grande desafio dessa estratégia é a definição de um algoritmo apropriado para calcular a 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ções em comum defina-se a correlação entre dois usuários.

(20)

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 quando se utiliza grandes bases de dados. Perde-se muito em escalabilidade quando se tem muitos usuários e, consequentemente, muitas avaliações. Utilizada pela primeira vez em pela Amazon8 (LINDEN; SMITH; YORK,2003), a filtragem colaborativa baseada em item busca similaridades entre itens e não mais entre usuários como a anterior. Por exemplo, se um mesmo item tende a ter avaliações semelhantes por determinados usuários, estes podem ter as preferências bem semelhantes.

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 pela similaridade com o item 3 já avaliado pelo Usuário 3.

A filtragem colaborativa baseada em item diferencia-se da filtragem baseada em conteúdo por não fazer uso de nenhuma informação de conteúdo do item em si, utilizando apenas como referê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 processamento de imagens, de sinais e na estatística (ZHANG,2008). Trata-se de uma técnica de redução de

(21)

2.2. CONTEXTO 20 dimensionalidade que busca encontrar os fatores latentes mais importantes em uma matriz de avaliações ( Usuário x Item x Avaliação ). Tais fatores podem ser interpretados como conceitos semâ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 utilizando SVD pode ser representada da seguinte forma:

R= U x S x VT

U, S e V possuem as dimensões m x m, m x n e n x n respectivamente. U e V são duas matrizes ortogonais e S é uma matriz diagonal de dimensão m x n também chamada de matriz singular (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 para a filtragem colaborativa, aproximando usuários que tenham avaliados itens similares, ou seja, não exatamente iguais. Além disso, sistemas de recomendação baseados em filtragem colaborativa comumente possuem problemas de escalabilidade e esparsidade. Soluções alternativas para tais algoritmos foram desenvolvidas ao longo do tempo para possibilitar a recomendação fazendo uso de bases de dados com grande volume de dados e muito esparsas. Apesar de SVD apresentar resultados 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 para definição do contexto atual permitam uma diminuição do esforço do usuário no manuseio de aplicações e promovam uma relação mais amigável entre homem e máquina. Para tal, sistemas desse tipo adaptam suas operações ao contexto atual sem, preferencialmente, fazer uso de informações explicitas do usuário.

Nos dias atuais, através do desenvolvimento de dispositivos cada vez mais personalizados e com a grande evolução das redes de comunicação sem fio, existe uma grande facilidade para se obter informação e serviços em qualquer lugar e em qualquer hora através de dispositivos cada vez mais evoluídos e adaptados. Nesse contexto, surge a Computação Ubíqua, formada por grande conjunto de dispositivos que visam expandir tarefas da natureza humana com novos serviços que podem se adaptar as circunstâncias de sua utilização (COUTAZ et al.,2005). Nesse enredo, surgiram os sistemas sensíveis ao contexto. Estes, possuem a flexibilidade de se adaptar ao o ambiente e ao usuário através da manipulação de dados oriundos de diversas fontes e, a partir 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,

(22)

2.2. CONTEXTO 21 diversas aplicações surgiram com foco em turismo para apresentar ao usuários informações sobre o 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 pessoas e objetos que estão envolvidos no ambiente e, principalmente, as mudanças que ocorrem nos mesmos 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ências a 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 explorinfluenci-ado por 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ícil definiçã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 mais adaptáveis a diversas situações é uma tarefa complexa para desenvolvedores. Para tal, o processo de modelagem contextual torna-se primordial na identificação das informações contextuais e fornece diversos benefícios na formalização das informações adquiridas. Além disso, objetiva-se a partir da modelagem fazer com que as aplicações evoluam, melhorando sua capacidade de manutenção e adaptação.

Diversas técnicas de modelagem foram desenvolvidas ao longo do tempo baseadas nas necessidades 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óprias definições de domínio da engenharia de software para aplicação. Desta forma, aspectos como expressividade, 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 melhor técnicas a ser empregada.

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

 Heterogeneidade e mobilidade: tais modelos devem ser capazes de fazer uso de informações contextuais oriundas de diferentes fontes, com uma grande variedade de abstrações semânticas e que podem ser atualizadas em frequências de tempo diferentes. O grande problema da heterogeneidade é a constate necessidade de aplicações sensíveis ao contexto possuem de sempre estarem adaptadas a situação real, portanto, quaisquer mudanças no contexto do mundo real pode ser de grande serventia 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

(23)

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 serventia

para essas abordagens. Através de estados passados, pode-se prever estados futuros de contexto. Entretanto, tento em vista a grande quantidade de atualizações que pode-se ter em aplicações desse tipo, administrar informações históricas pode ser uma tarefa complexa.

 Imperfeição: a dinamicidade presente em aplicações contextuais pode provocar muitas 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 incompletos por uma simples falha na transmissão dos dados.

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

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

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

Além dos requisitos, as abordagens de modelagem de contexto podem ser analisadas e escolhidas de 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 grande abstração de contexto

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

(24)

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 sistemas apenas 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. Por exemplo, 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 abordados como elementos importantes para sistemas de recomendação, tais como: tempo, localização e propósitos que levaram a escolha. De acordo com o numero de fatores contextuais no ambiente relevantes 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 da escolha.

 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 alguma ferramenta ou metodologia para definição dos fatores desconhecidos.

 Não observável: nenhuma informação sobre nenhum fator contextual é conhecida explicitamente. 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 ambientes que os fatores contextuais são parcialmente ou totalmente observáveis, informações contextuais tornam as recomendações mais precisas e adequadas para cada momento sem aumentar muito o custo 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. Dependendo da 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 para um usuário o contexto de ida ao cinema é na companhia de amigos, no domingo a tarde, tais fatores são sempre válidos e, portanto, já são suficientes para a escolha da praia.

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

(25)

2.3. SISTEMAS DE RECOMENDAÇÃO SENSÍVEIS AO CONTEXTO 24 completamente o contexto da escolha a depender de fatores que podem vir a mudar dinamicamente.

Fatores contextuais dinâmicos, necessitam de uma flexibilidade maior das aplicações para a adição ou retirada de fatores com o passar do tempo. Tais mudanças, dependendo do nível de observação que se tem de fatores contextuais no ambiente, necessitam constantemente de inferê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 duas dimensões por utilizar apenas usuário e item na predição. Ou seja, uma avaliação no sistema de recomendação depende do par Usuário X Item.

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

Vale salientar que o mesmo item e usuário podem ser combinado com diversas informa-ções contextuais e, consequentemente, produzir avaliainforma-ções diferentes. Além disso, o contexto vai 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 em ambientes ou de informações sobre lugares e etc.

De acordo com (FLING,2009) existe 4 tipos de contexto que já foram utilizados em aplicaçõ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 em consideraçã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 outras pessoas 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 a aplicaçã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.

(26)

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 do usuário ou até mesmo do contexto atual. Cada relação entre usuário e item pode possuir diversos fatores contextuais e produzir avaliações diferentes.

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

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

 Pré-filtragem contextual: o contexto atual é considerado para filtrar avaliações feitas em contextos semelhantes ao contexto corrente do usuário alvo da recomendação antes da aplicação do algoritmo de predição. Após isso, a recomendação acontece de forma 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 apenas itens relevantes para o contexto corrente do usuário. Um contexto bem definido naturalmente traz informações relevantes e de forma rápida. Entretanto, a definição do contexto nem sempre é clara e precisa em muitos sistemas, exigindo assim aproximações para viabilizar esse tipo de paradigma. Outro problema que pode ser encontrado para alguns domínios de aplicação é que passando apenas avaliações passadas e itens específicos pode tendenciar demais o resultado da recomendação e não vir a apresentar itens que o usuário poderia julgar interessantes para determinado contexto.

 Pós-filtragem contextual: Inicialmente, qualquer informação contextual é negligenci-ada. O algoritmo continua utilizando apenas duas dimensões para prover a lista de itens recomendados. Entretanto, antes de apresentar a lista final, faz-se um ajuste atravé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 ou reordenando 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 ser classificados como:

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

(27)

2.4. RECOMENDAÇÃO SOCIAL 26

 Baseados em modelos: predizem a probabilidade do usuário escolher determinado item em determinado contexto e utiliza essa estimativa para ajustar a recomendação.

 Modelagem contextual: nesse tipo de incorporação, fatores contextuais são utilizados diretamente 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 o contexto na predição. Desta forma, tendo em vista que um item pode ser avaliado de formas distintas dependendo do contexto, cria-se um problema multidimensional não tã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ário e 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 lista de itens recomendados diferente. Através disso, pode-se recomendar nas primeiras posições os itens 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 terem iniciado 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 utilizar a rede de amigos para recomendar itens foram realizadas. A grande popularização das redes sociais 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 utilize relaçõ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 podem ser de confiança, amizade (i.e. apenas conectados em uma rede social), seguidores ou até mesmo entre membros de comunidades. Desta forma, usuários podem estar conectados de diversas formas 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 que a confiança é caracterizada quando as ações de um determinado usuário influência na ação de outros usuários. (DASGUPTA,2000).

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

(28)

2.4. RECOMENDAÇÃO SOCIAL 27

 Subjetiva: cada usuário pode possuir níveis de confiança diferentes sobre o mesmo usuá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 determinado contexto e não pode ser estendida diretamente para outros contextos.

 Transitiva: quando se utiliza a confiança de um amigo confiável em um terceiro usuá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 com a 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 proporcional a quantidade de indivíduos utilizados no cálculo. O custo computacional para definir a confiança de usuário em usuário é alto, mas a chance de erro é menor por excluir usuários não confiáveis explicitamente 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 que podem levar vantagem nessa métrica (GORI; WITTEN, 2005). Um usuário pode receber recomendaçã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 principalmente quando fazem sua propagação. Alguns autores defendem que a desconfiança é apenas o oposto de 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 eles ainda não definiram o nível de confiança ao invés daqueles que os mesmos rotularam como não confiá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ão fosse considerada nesse modelo, pela propagação de confiança, o usuário A poderia receber recomendaçõ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 explicitas pode ser uma tarefa de grande complexidade. O fato de um usuário seguir ou compartilhar alguma postagem de outro não quer dizer necessariamente que existe confiança de um para com o outro (FALCONE; CASTELFRANCHI,2010). Além disso, a afirmação de confiança entre

(29)

2.4. RECOMENDAÇÃO SOCIAL 28

Figura 2.3: Arquitetura para integração de confiança em sistemas de recomendação

proposta por (MASSA; AVESANI,2009)

Fonte: (MASSA; AVESANI,2009)

usuários produz muito mais impacto em sistemas de recomendação do que uma simples relação social (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 base de dados e da precisão que se deseja no sistema. Por exemplo, a FC, apesar de ser uma das té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ção de que dois usuários são afins necessita de uma boa quantidade de itens avaliados por ambos em 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 poucas avaliaçõ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 devem possuir 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 utilizar confianç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 de amigos confiáveis a partir dos amigos dos amigos confiáveis. Essa rede pode ser reajustada de acordo com o contexto de cada recomendação e proporcionar recomendações cada vez mais precisas.

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

(30)

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

Em (O’DONOVAN; SMYTH,2005), além da similaridade entre usuários, os autores propõem que se deve calcular o quanto um usuário é confiável. Sistemas de recomendação tradicionais geralmente buscam apenas usuários semelhantes para realizar recomendações de novos 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 itens específicos, ou seja, é calculada a confiança a nível de usuário e item. Um problema que pode criar informações imprecisas com relação ao perfil global é a de usuários não confiáveis passem a ser. A confiança possui características muito dinâmicas e pode variar muito entre combinações diferentes de usuários. Utilizando uma estratégia desse tipo, um usuário A que não seja confiável para 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ções sociais fazendo uso de fatoração de matriz que podem ser usados em sistemas de recomendação baseados 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 demonstrar a diversidade de amigos que o mesmo pode ter. Contudo, essa estratégia pode gerar "ruídos"nas recomendações se não tratar bem essa diversidade. Usuários não semelhantes se não tratados como não confiáveis podem levar o sistema a propor itens, mesmo que não seja nas primeiras posiçõ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 foi explorada em (GOLBECK,2006). Trata-se de uma combinação de rede social com foco em avaliação de filmes. Para o calculo da confiança, o sistema, a cada novo amigo que o usuário deseja adicionar, pede para que seja avaliado o novo amigo com um numero de acordo com o 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 sempre quando for adicionar um novo amigo, os resultados se mostraram superiores quando comparados a 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

(31)

2.5. COMPARATIVO ENTRE TRABALHOS RELACIONADOS 30 substituindo a etapa de encontrar usuários similares por definir os que sejam de confiança. A expectativa é 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 conduzir os experimentos o autor afirma utilizar uma estimativa de confiança explicitamente informada pelo usuário e a partir disso define sua rede de confiança verificando estimativas de outros amigos para criar ligações diretas e indiretas de confiança, fazendo uso também dos amigos de amigos confiáveis. A estratégia apresenta resultados superiores quando comparados com té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 de produtos com o objetivo de, a partir da analise das interações utilizando agrupamentos, predizer as relações de confiança entre usuários na base de dados. As interações são observadas pelas revisões feitas de alguns produtos por usuários e os subsequentes comentários e avaliações de outros usuários. O trabalho conclui que quanto mais usuários na rede de confiança mais precisa se torna a predição de confiança entre usuários.

Ainda utilizando base de dados do mesmo site Epinions, (JAMALI; ESTER,2009) parte da premissa que a confiança pode ser um bom adicional na filtragem colaborativa para resolver o problema 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 colaborativa baseada em item. Sendo assim, considera-se além da confiança entre usuários a similaridade entre 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és de uma fatoração de matrizes predizer avaliações. Além de apresentar os benefícios dessa incorporação, o autor apresenta uma interpretação das diferenças entre sistemas de recomendação baseados 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, um usuário possui um nível de confiança no outro. A partir das relações bidirecionais, o autor faz uma regularização na matriz fatorada afim de recomendar novos itens e ainda afirma que, da mesma forma que foi utilizada a relação social, pode-se estender a regularização com outros tipos de contexto.

2.5

Comparativo entre Trabalhos Relacionados

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

(32)

2.5. COMPARATIVO ENTRE TRABALHOS RELACIONADOS 31 T abela 2.1: Comparati v o entre trabalhos relacionados T rabalho Base de Dados Estratégia Metodologia de A v aliação Predição ( SIGURBJÖRNSSON; V AN ZW OL , 2008 ) Flickr FBC Mean Reciprocal Rank, Success at rank k, Precision at rank k T ags ( CHEN et al. , 2009 ) Rede Social da IBM FBC, FC Usuários Pessoas ( A GAR W AL et al. , 2011 ) Redes Sociais FC Mean Absolute Error (MAE) Pessoas ( CHEN et al. , 2009 ) Orkut FC Association Rule Mining (ARM), Latent Dirichlet Allocation (LD A) Comunidades ( MASSA; A VESANI , 2009 ) Epinions FC e Confiança Mean Absolute Error (MAE) Itens ( O’DONO V AN; SMYTH , 2005 ) Mo vieLens FC e Confiança Mean Absolute Error (MAE) Itens ( GOLBECK , 2006 ) FilmT rust FC e Confiança Mean Absolute Error (MAE) Itens ( MASSA; A VESANI , 2007 ) Epinions FC e Confiança Mean Absolute Error (MAE) itens ( MA et al. , 2009 ) Epinions Mineração de dados F1 Measure Confiança Entre usuários F onte: Elaborada pelo Autor

(33)

2.6. CONSIDERAÇÕES FINAIS 32 possuem em determinadas empresas e produtos e isso é de grande serventia para experimentos que desejam avaliar ou predizer confiança.

Observa-se também na Tabela 2.1 que muitos trabalhos utilizam FC como principal estratégia para recomendação e um grande uso da Mean Absolute Error (MAE) para avaliação dessas recomendações. MAE é uma técnica que compara o valor o predito com o valor real de uma avaliação e definir o quanto a estratégia se aproximou do valor real. É uma técnica de avaliaçã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 entre usuários, sugerir novas comunidades e ainda sugerir pessoas. Como esses trabalhos atuam fortemente em redes sociais, essa especialização na predição aumenta a usabilidade explorando prediçõ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 para aprimorar 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 das recomendações. Acompanhando o crescimento das redes sociais e a evolução dos dispositivos mó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 tradicionais feitos 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 conseguem influenciar na vida de outras mesmo não estando perto. Além disso, os relacionamentos não ficam restritos ao mundo virtual, pessoas tendem a interagir também no mundo real. Com isso, proporciona-se um ambiente, tanto no virtual como no físico, colaborativo e que cresce constantemente.

O contexto pode proporcionar uma recomendação mais direcionada ao usuário de acordo com as informações do ambiente, da companhia ou até mesmo da hora do dia. Entretanto, além da definição do contexto ser uma tarefa difícil de ser realizada, a falta de informações contextuais confiá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 e pode aumentar o custo computacional da recomendação exponencialmente quando se utiliza toda a rede de amigos do usuário.

Apesar de já existirem muitas soluções que utilizam contexto, confiança e redes sociais em 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 muito mais lentos se não forem utilizados corretamente.

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

(34)

2.6. CONSIDERAÇÕES FINAIS 33 baseados em dados históricos, logo, estáticos. A modelagem contextual foi feita a partir do acesso a dados históricos, através de dados passados foi feita a previsão de estados futuros de contextos.

A pós-filtragem foi escolhida por não alterar a base de dados antes da aplicação dos algoritmos 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 a pós-filtragem heurística, apenas atributos e características dos itens foram utilizadas, o uso de probabilidade poderia sobrecarregar a pós-filtragem.

A confiança foi utilizada integrada com o contexto social mas sem nenhuma técnica específica para definição do quanto um amigo pode ser confiante ou não. Fazendo uso de boas 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.

(35)

34 34 34

3

Recomendação Baseada em Contexto Físico

e Social

Tradicionalmente, o problema de recomendar novos itens resume-se em predizer a avaliação de um usuário para um determinado item ainda não avaliado pelo mesmo, predição esta que reflete no possível nível de interesse do usuário no item em questão. Para tal, sistemas de recomendação, geralmente, utilizam avaliações passadas para predizer novas. Um dos algoritmos mais utilizados é o de Filtragem Colaborativa (FC). Por fazer uso de uma matriz Usuário x Item de 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 um usuário alvo e um item qualquer para predição de avaliação. Na aplicação da FC, recebe-se como entrada ainda uma matriz de avaliações diversas para treinamento de duas dimensões usuá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 itens recomendados 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 Filtragem Colaborativa

(36)

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 arquitetura eficiente para alguns casos, nenhuma informação contextual é utilizada. Os contextos de cada avaliação da matriz de avaliações podem ser úteis para definição das preferências contextuais de um determinado usuário. Além da entrada de um usuário alvo e de um item para avaliação, a arquitetura poderia ser enriquecida com a entrada de informações contextuais.

O objetivo desse trabalho é o de investigar técnicas de incorporação contextual em sistemas de recomendação para melhorar a precisão das recomendações. Para tal, dois tipos de contextos 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 que sã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, se os amigos avaliarem bem um determinado item, este possui grandes chances de ser um bom item para o usuário.

3.0.1

Filtragem Social

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

(37)

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ção apresentada no início do capítulo na Figura 3.1. A partir de avaliações passadas de amigos para o item i em questão, recupera-se uma lista de amigos que avaliaram o item como relevante. A partir 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ção para definir se o item é relevante ou não para o usuário alvo baseado em dados históricos de amigos. Para a filtragem social, foram utilizados os relacionamentos de amizade de cada usuário obtidos diretamente da base de dados. A filtragem social faz uso apenas dos amigos diretamente conectados, 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ário alvo. No caso de eventos, esses fatores são muito relevantes por possuírem data, hora e locais marcados, 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. Assim como a filtragem social, recebe-se um usuário alvo e um item como entrada. A partir de avaliações passadas é 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ção social.

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

Referências

Documentos relacionados

„ Recomendação da ANVISA para utilização de monoterapia com Claritromicina. „ Poucos estudos com

A avaliação do risco de EAGPV graves versus o benefício da vacinação deve ser individualizada, considerando o tipo de doença de base, a gravidade, seu nível de

Apresentar às relações das ações de combate as perdas reais aplicadas a sistema de distribuição de água através de métodos de priorização de áreas para a pesquisa

Com base no experimento e no resultado apresentado, a avaliação heurística mostrou-se um método eficaz para identificar os problemas de usabilidade em ambientes de

Este trabalho reflete o estudo de dez currículos de especialização em Gestão de Serviços de TI, sendo cinco de outros países e cinco nacionais, partindo da hipótese

sobre a proposta de decisão do Conselho que autoriza os Estados-Membros a assinar, no interesse da União Europeia, o Protocolo que altera a Convenção do Conselho da Europa para

Como estes sistemas têm de lidar com uma elevada quantidade de dados, a utilização conjunta de elementos de Modelação do Utilizador e de Recomendação, podem

Como se pode observar, sobre o impacto das fontes materiais descritas no correr desse texto, concordamos com Lafer (2008, p.305) quando diz que a Carta da ONU e a Declaração