16

Sistemas de recomendação

Embed Size (px)

DESCRIPTION

A rede mundial de computadores vivencia o processo de transformação de um “mar de documentos” em um “mar de conhecimento”, sistemas que entendam como fazer o melhor uso da informação, representa um “conselheiro” para os usuários, passando a conquistar sua con- fiança e possibilitando o aumento de valores de vendas para as empresas, através da qualidade das recomendações apresentadas.

Citation preview

Page 1: Sistemas de recomendação

Revisão Bibliográ�ca - Sistemas de

Recomendação

E. Q. Silva

Technical Report - RT-INF_006-11 - Relatório TécnicoOctober - 2011 - Outubro

The contents of this document are the sole responsibility of the authors.

O conteúdo do presente documento é de única responsabilidade dos autores.

Instituto de Informática

Universidade Federal de Goiás

www.inf.ufg.br

Page 2: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação

Edjalma Queiroz da Silva ∗

[email protected]

Celso G. Camilo Jr †

[email protected]

1 IntroduçãoO acesso a novas tecnologias de informação de maneira cada vez mais fácil, contribui

para o crescimento exponencial no volume de dados e o seu tratamento em tempo útil tornou-seinexequível. Para se ter uma ideia deste crescimento, em três anos (período entre 2005 e 2008)o percentual de brasileiros de dez anos ou mais de idade que acessaram ao menos uma vez aInternet pelo computador aumentou 75, 3%, passando de 20, 9% para 34, 8% das pessoas nessafaixa etária, ou 56 milhões de usuários, em 2008. No mesmo período, a proporção dos quetinham telefone celular para uso pessoal passou de 36, 6% para 53, 8% da população de dezanos ou mais de idade, sendo que, para 44, 7% dessas pessoas (ou cerca de 38,6 milhões debrasileiros), o celular era o único telefone para uso pessoal. Os números são do Suplemento daPesquisa Nacional por Amostra de Domicílios (Pnad) 2008 sobre Acesso à Internet e Posse deTelefone Móvel Celular para Uso Pessoal.

Este crescimento impulsiona o surgimento de um fenômeno complexo que abarca o con-junto de novas tecnologias de comunicação mais participativas, mais rápidas e mais popularese as apropriações sociais que foram e que são geradas em torno dessas ferramentas. É ummomento de hiperconexão em rede, onde estamos não apenas conectados, mas onde transcreve-mos nossos grupos sociais e, através do suporte, geramos novas formas de circulação, filtrageme difusão dessas informações.

O paradigma da web social pode ser observado na manifestação de uma crescente tendên-cia em explorar, de maneira explícita ou implícita, a riqueza dos elos que se firmam com ainteração social mediada pelas tecnologias de informação. Essa mudança de paradigma revela-se também no desenvolvimento e no crescimento de popularidade de uma nova classe de apli-cações para web, a exemplo dos sistemas colaborativos para produção de conhecimento (e.g.enciclopédias livres).[11]

A rede mundial de computadores vivencia o processo de transformação de um “mar dedocumentos” em um “mar de conhecimento”, sistemas que entendam como fazer o melhor usoda informação, representa um “conselheiro” para os usuários, passando a conquistar sua con-fiança e possibilitando o aumento de valores de vendas para as empresas, através da qualidadedas recomendações apresentadas.

Um dos objetivos da maioria das empresas é proporcionar a melhor experiência de compraaos seus clientes. Pode-se elencar desde fatores concretos, como preço e prazo de pagamento,até questões subjetivas, como qualidade do produto, tempo de entrega, tratamento individual-izado para dizer o que está relacionado com à experiência de compra. Com a grande variedade

∗Mestrando em Ciência da Computação, INF-UFG†Orientador

1

Page 3: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 2

de produtos e serviços e entre as várias alternativas que lhe são apresentadas, as pessoas seesbarram na dificuldade em tomar uma decisão. Surgem os “sistemas de recomendação” com-putacionais, que têm por objetivo reduzir a sobrecarga de informação, através da seleção deconteúdo baseado em preferências do usuário. Além disso sistemas de compras se apoiam emexperiência de compra (bem ou mal sucedida) dos usuários para sugerir (recomendar) produtosà outros usuários que estão de alguma forma relacionados.

Esses sistemas têm sido classificados em três categorias no que tange à abordagem uti-lizada para recomendação [3]:

1. Abordagem baseada em conteúdo, nos quais são recomendados itens similares com aque-les que o usuário mostrou preferência no passado;

2. Abordagem colaborativa, na qual são recomendados itens escolhidos por pessoas compreferências similares às do usuário e;

3. Abordagens híbridas, que de alguma forma combinam técnicas na tentativa de solucionaralguns problemas potenciais das abordagens puras anteriores.

Dizer aqui o que será tratado neste artigo.

2 Personalização através de Sistemas de RecomendaçãoA adequação de um produto ou serviço para atender as necessidades de um indivíduo po-

dem trazer várias vantagens. Por exemplo, através da constante seleção de conteúdos relaciona-dos aos interesses do usuário, um sistema personalizado pode reduzir o tempo em estes levampara encontrar informações relevantes. O tratamento individualizado do usuário em sistemacomputacional necessita de um conjunto específico de funções. Enquanto o usuário navega nosistema, toda sua interação deve ser monitorada de alguma forma como citado em 3.2. A apre-sentação do documento pode ser modificada de modo a sugerir ao usuário os próximos passos.Em um contexto geral os sistemas de recomendação conseguem solucionar este problema coma criação de uma página personalizada por usuário, ou seja, cada usuário possui sua “própria”home page. Nestas páginas o sistema adicionam, removem, modificam e reorganizam links como intuito de apresentar, esconder ou enfatizar fragmentos de uma página, assegurando que seuconteúdo inclua informação apropriada para o usuário em questão.

Desta forma a probabilidade de que um usuário acesse ou adquira um item é bem maiordo que em sistemas não personalizados. Do ponto de vista empresarial e adotando esta abor-dagem sistemática de “recomendar” itens mais interessantes para o usuário, o sistema consegue“fidelizar” um cliente pois representa um “conselheiro” para os usuários, passando a conquistarsua confiança e possibilitando o aumento de valores de vendas para as empresas, através daqualidade das recomendações apresentadas.

Os Sistemas de Recomendação são grandes aliados da personalização de sistemas com-putacionais, principalmente na plataforma web. Da literatura, a definição do termo “sistema derecomendação” varia de acordo com o autor. Alguns pesquisadores usam “filtragem colabo-rativa” e “Filtragem social”[4]. Inversamente, outros “sistema de recomendação”, e “filtragemsocial” tratam “sistema de recomendação”, como um descritor genérico que representa diversasrecomendação/previsões técnicas, incluindo colaboração, social e filtragem baseada em con-teúdo, redes Bayesianas e regras de associação [22, 8].

Page 4: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 3

3 Usuário e o seu perfilPara que seja possível recomendar produtos, serviços ou pessoas a um usuário é

necessário ter-se conhecimento sobre quem é este usuário. Antes mesmo de pensar em cap-turar e armazenar suas informações pessoais e comportamentais é necessário identificar qualo tipo de informação será relevante para a geração da recomendação visando uma eficientepersonalização dos produtos, serviços e pessoas. Para a correta geração da recomendação adefinição do perfil do usuário e coleta de informações é imprescindível.[6]

De acordo com (Cazella et al. 2010) [6] para a formação de perfis de usuários é necessárioestar atento a 3 aspectos que serão tratados nas próximas seções.

3.1 Identidade do UsuárioNote que no mundo virtual onde não há presença física e consequentemente não há per-

cepção de características sutis da Identidade, várias pistas que possivelmente identificariamdicas de preferências, comportamentos, habilidades sociais, entre outras, são ausentes, ao con-trário do que ocorre no mundo real [9]. Donath [10] afirma que conhecer a Identidade dapessoa é vital para uma adequada personalização de uma ambiente no mundo virtual. Giddens[12] concorda que sem experiências sociais o “eu” não pode internalizar evolução. Giddensainda afirma que a identidade de um individuo não é estática, ela pode ser representada em con-stante evolução, principalmente porque o componente social é dinâmico e esta sempre sendomodificado.

Considerando a identidade como um canal importante onde as características objetivas esubjetivas das pessoas emergem, denomina-se de fundamental importância seu uso em Sistemasde Recomendação no intuito de fornecer pistas sobre os futuros comportamentos e necessidadesdos usuários em um dado ambiente onde a personalização se faz eficaz, por exemplo.

3.1.1 Perfil de Usuário

Donath [9] afirma que para a formação eficiente de uma Identidade Virtual é crucial queo usuário tenha definida sua Identidade Interna e sua Identidade Social. No mundo virtual aIdentidade Interna do usuário é definida por ele próprio similar ao mundo real (algumas vezestambém é descoberta através de técnicas de Machine Learning). Enquanto a Identidade Social édefinida pelos outros membros do mundo virtual. Tanto a Identidade Interna, como a IdentidadeSocial são armazenadas no Perfil do Usuário.

Perfis de Usuários são conceitos aproximados, eles refletem o interesse do usuário comrelação a vários assuntos em um momento particular. Cada termo que um Perfil de Usuárioexpressa é, num certo grau, características de um usuário particular [7] incluindo todas as in-formações diretamente solicitadas a ele e aprendidas implicitamente durante sua interação naweb [19]. Fisicamente, o Perfil do Usuário pode ser visto como uma base de dados onde ainformação sobre o usuário, incluindo seus interesses e preferências, é armazenada e pode serdinamicamente mantido [7].

3.1.2 Reputação

A reputação pode ser definida como o retorno social recebido sobre a personalidade dealguém. A reputação pode ser compatível ou não com a descrição feita no Perfil de Usuário. Areputação ajuda as pessoas escolherem parceiros confiáveis no mundo virtual que são credíveis

Page 5: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 4

no mundo real. Geralmente nas redes de Reputação, os usuários encorajam os comportamentosconfiáveis discriminando a participação de pessoas desabilitadas moralmente ou desonestas.[6]

Em processos comerciais, como por exemplo, no eBay [17, 16] um consumidor compraum certo produto de alguém. Depois disso, ele deixa um feedback sobre o produto comprado e,ou o comportamento do vendedor durante o processo de venda.

Em contraste, em situações sociais como, por exemplo, Orkut, IKarma, Opinity, LinkedIn,Mendeley [5], usuários são membros de comunidades virtuais ou redes sociais. Eles são capazesde coletar gerenciar e promover Reputação de usuário entre seus clientes e contatos da comu-nidade ou rede. Isto é, usuários (prestadores de serviço) que tem profile na Rede de Reputação,que é também uma rede social podem ser “tagged” e rankeados pelos seus clientes e, ou con-tatos. Usuários podem ser encontrados através de tags em e-mail ou, também, alguém podeencontrar um contato de um prestador de serviço simplesmente procurando em tags na própriarede de reputação.

3.2 Coleta de InformaçõesHoje é bastante comum no mundo dos negócios a coleta de informações do usuário. Ao

abrir uma conta bancária, adquirir um bem imobilizado ou até para fazer uma compra pelainternet por exemplo, é exigido que o cliente forneça dados pessoais como nome, endereço,telefone, etc, até números de documentos. E isso se torna importante para se ter conhecimentosobre quem é este usuário.

Diante deste fato é necessário identificar o usuário no momento em que ele acessa o sis-tema onde foram implantadas as rotinas de recomendação. De acordo com [20] há duas formasmais habituais de identificação de usuário. A primeira é a Identificação no servidor, que nor-malmente disponibiliza ao usuário uma área de cadastro com informações pessoais, tais como:nome, data de nascimento e outros. Além disso, solicita obrigatoriamente um login1 e senha.Este mecanismo permite que o web site identifique com mais precisão o usuário que nele seconecta. A segunda forma é a Identificação no cliente, que normalmente utiliza cookies2, ummecanismo pelo qual um web site consegue identificar que determinado computador está seconectando mais uma vez a ele. Este método assume que a máquina conectada é utilizada sem-pre pela mesma pessoa. Trata de um mecanismo mais simples que o primeiro, porém menosconfiável, principalmente se o computador identificado for utilizado por mais de uma pessoa.Ainda de acordo com [20] depois de identificar o usuário, é possível coletar dados sobre estede forma implícita ou explícita. Na modalidade de coleta explícita o usuário indica espontanea-mente o que lhe é importante. Por exemplo, o usuário pode indicar suas seções favoritas emuma livraria virtual são Design e Música.

Na modalidade implícita, através de ações do usuário infere-se informações sobre suasnecessidades e preferências. Por exemplo, armazenando-se dados de navegação do usuário(páginas consultadas, produtos visualizados, etc) é possível detectar que ele se interessa por A

1De acordo com a Wikipédia : Em termos informáticos, Login (derivado do inglês log in, sendo por vezestambém utilizada a alternativa sign in) define o processo através do qual o acesso a um sistema informático écontrolado através da identificação e autenticação do utilizador através de credenciais fornecidas por esse mesmoutilizador. Essas credenciais são normalmente constituídas por um Nome de Utilizador ou apenas Utilizador (doinglês username) e uma Palavra-passe ou Senha (do inglês Password) - ocasionalmente, dependendo do sistema,apenas é pedida a Senha.

2De acordo com a Wikipédia: Cookie (do inglês, literalmente: bolacha), testemunho de conexão, ou simples-mente, testemunho é um grupo de dados trocados entre o navegador e o servidor de páginas, colocado num arquivo(ficheiro) de texto criado no computador do utilizador. A sua função principal é a de manter a persistência desessões HTTP.

Page 6: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 5

ou B.

Figura 1: Exemplo de recomendação do website da Amazon.com

Utilizando-se desta estratégia é possível conhecer melhor a preferência dos usuários semque eles tenham que fornecer informações explicitamente, e em seguida utilizar estes dadospara fazer recomendações. A figura 1 mostra uma página da Amazon.com personalizada paraum usuário que se mostra interessado por diversos assuntos listados na parte inferior da página.

3.3 Privacidade em Sistemas de RecomendaçãoPesquisas mostram que a maior parte dos usuários está disposta a fornecer informações

suas para que possam receber ofertas personalizadas. No entanto, o censo americano mostra que75% dos usuários daquele país se preocupam com a possível divulgação de dados que fornecemàs empresas [2]. Os usuários buscam sempre conhecer os objetivos da coleta de dados e seestes dados serão fornecidos a terceiros. A figura 2 mostra uma coleta de dados incentivando aparticipação do usuário para que as recomendações feitas a ele sejam mais eficientes.

Ao analisar a informação anterior notamos que não teria problema algum se as empre-sas que empregam Sistemas de Recomendação tivessem uma coleta de dados associada a umapolítica de privacidade adequada. Porém, não é incomum encontrar empresas que, além decoletar dados para personalizar o relacionamento com seus clientes, vendam estes dados paraoutras empresas, uma prática que alimenta o aumento de spam. Estas atitudes prejudicam orelacionamento com o cliente e aumentam a distância entre estes e a empresa.

A figura 3 mostra um trecho da página contendo a política de privacidade do serviço decoleta de dados para melhoria das recomendações do website da Amazon.com. Sites como estecumprem uma exigência legal, que visa garantir que uma empresa agirá com honestidade eprotegerá as informações dos seus clientes.

Algumas instituição com a preocupação de transmitir ao usuário uma melhor reputação(seção 3.1.2) trabalham com selos que garantem que a política de privacidade é adequada ecumprida com rigor. A figura 4 apresenta dois destes selos, fornecidos por grandes instituiçõesna área (TRUSTe, BBBOnline).

Page 7: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 6

Figura 2: Exemplo de Coleta de Dados para melhoria das recomendações do website da Sub-marino

Figura 3: Política de privacidade do website da Amazon.com.

Apesar das garantias oferecidas por estas instituições, questiona-se o fato de que muitasvezes os padrões exigidos não são rígidos o suficiente, e as estratégias de controle das normasnão são rigorosas [1].

Page 8: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 7

Figura 4: Selos de Privacidade.

4 Estratégias de RecomendaçãoDizemos que o principal objetivo dos Sistemas de Recomendação é a fidelização do

cliente para uma dada empresa, trazendo para esta benefícios como a lucratividade. Para tal,empresas investem em sistemas que trata cada usuário como sendo único, para que isso ocorraexistem diversas técnicas como à lista de Produtos Recomendados, itens Semelhantes e MalaDireta Personalizada, que são descritas abaixo:

• Lista de Produtos Recomendados: é uma técnica bem simples que gera uma lista deprodutos por algum critério de avaliação, como: mais vistos, mais vendidos, lista deinteresse, dentre outros. Dessa forma o sistema mostra para todos os usuários a mesmalista sem nenhuma personalização da mesma.

• Itens Semelhantes: é uma técnica que recomenda produtos semelhantes ao que está sendocomprado pelo usuário. O sistema varre o banco de dados em busca de produtos que jáforam vistos, avaliados ou comprados por este ou outros usuários que se assemelha dealguma forma ao item corrente.

• Mala Direta Personalizada: é uma técnica baseada em contato direto com o usuárioatravés do email. Este contato pode se dar por algum motivo, mas sempre baseado nointeresse do usuário, tal como: produto indisponível e que passou estar disponível, pro-moção de algum produto, recomendação de algum item baseado na técnica “Itens Semel-hantes”, dentre outras.

Por considerarmos mais importante daremos destaque a quatro estratégias de recomen-dação que serão apresentadas nas próximas subseções. O Sistemas de Recomendação realizam“filtragens” para definir quais produtos serão recomendados a cada perfil de usuário, esse ato éconhecido como Técnicas de Recomendação e será tratado na seção 5.

4.1 Reputação do ProdutoUm grande exemplo de empresas que se apoiam neste mecanismo são as empresas que

exploram o mercado de comércio eletrônico. Elas utilizam Sistemas de Recomendação baseadano uso das avaliações dos usuários sobre um produto para estabelecer qual é grau de satisfaçãoque este produto representa para pessoas que o compraram. A eficiência deste tipo de abor-dagem está relacionada com a ideia de que as pessoas que compraram o produto voltarão aosite para avaliar o produto adquirido e publicar sua opinião, acreditando assim na veracidadedas informações fornecidas. Alguns sistemas utilizam da técnica de incentivo dando ao usuáriobrindes, descontos entre outros, para estimular usuários a contribuir com as suas opiniões.

Page 9: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 8

Figura 5: Avaliação de um Ar-Condicionado no site do Carrefour www.carrefour.com.br.

4.2 Recomendação por AssociaçãoÉ um outro tipo de recomendação bastante utilizado por web sites de comércio eletrônico.

Em uma base de dados que contem as avaliações dos produtos descrita em 4.1, o sistema con-segue encontrar associação entre os produtos e recomendar estes produtos para o usuário osprodutos com as melhores avaliações ao que ele demonstrou interesse.

Figura 6: Recomendação por Associação no site da Amazon www.amazon.com.

Esta apresentação é a implementação do termo, “Clientes que compraram este item tam-bém comprou. . . ”. No exemplo mostrado na figura 6, a partir da seleção de um Livro sobre“Mineração de Dados em Redes Sociais”, o sistema apresentou itens similares de interesse dousuário.

4.3 Associação por ConteúdoA associação por conteúdo faz a recomendação de duas formas, a primeira é a recomen-

dação de objetos classificados no perfil do usuário e a segunda é a recomendação de objetossimilares aos objetos que o usuário já comprou.

Para a primeira forma de recomendação é feito o uso da avaliação do conteúdo de umdeterminado item, por exemplo, um autor, um compositor ou uma outra propriedade especí-fica. Os itens que possuírem maior “ranking” e que se encaixem no critério de busca serãorecomendados para o usuário.

Page 10: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 9

Independente da forma escolhida, a recomendação neste tipo de técnica trabalha em umescopo mais restrito e sempre vai retornar produtos bastante similar ao que o usuário está visu-alizando. Ela se baseia na ideia de busca de produto por algum critério importante mostrandopara o usuário os itens de maior relevância.

Figura 7: Recomendação por Associação no site da Submarino www.submarino.com.br.

Na exemplo ilustrado na figura 7 a partir da seleção de um câmera fotográfica outrascâmeras são apresentados. Note que não são apresentados produtos como filmadoras, celularese notebooks que também tem a função de câmera fotográfica, porém não sendo este o focoprincipal destes tipos de produtos não entrando assim no critério de seleção.

4.4 Análise de Sequências de AçõesAssim como ocorre na medicina, administração, no direito e em outros domínios a análise

de Sequências de Ações é um tipo importante de coleta de informações. De acordo com [6] naweb, sequências podem ser utilizadas para capturar o comportamento de usuários através dehistóricos de atividade temporal, como em weblogs e histórico de compras de clientes. As in-formações encontradas nestas sequências temporais podem ser empregadas nas identificaçõesde padrões de navegação e consumo, que em seguida podem servir aos Sistemas de Recomen-dação.

Ainda de acordo com [6] alguns algoritmos buscam agrupar as sequências de ações emclusters como forma de identificar e representar os padrões de comportamentos encontradosnos dados. Por exemplo, representam padrões de sequências em grafos não direcionados eutilizam algoritmos evolucionários com múltiplos objetivos como no processo clusterização.No entanto, um dos algoritmos mais conhecidos na análise de sequência de ações é o SPADE(Sequential PAttern Discovery using Equivalence classes - Descoberta de Padrões Sequenciaisutilizando classes equivalentes). O algoritmo busca associar a cada sequencia encontrada umalista de objetos nos quais ela ocorre. Através deste mecanismo a busca por objetos e sequênciasé otimizada. O algoritmo também reduz o número de varreduras na busca por padrões, o queimplica em um tempo de execução menor.

5 Técnicas de RecomendaçãoSistemas de Recomendação como dito na seção 4 funcionam como um conselheiro, se

comportando de tal maneira a guiar as pessoas em suas descobertas de produtos que podem vira gostar, agindo assim como um amigo que lhe recomenda um livro ou um restaurante.

Page 11: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 10

As Técnicas que implementam as estratégias de recomendação (vista em 4) podem serclassificados em três tipos básicos: A primeira são às Técnicas Baseadas em Conteúdo, a se-gunda são as baseadas na Filtragem Colaborativa e a terceira são uma abordagem Híbrida. Essastécnicas são à base dos Sistemas de Recomendação e são apresentadas nas próximas seções.

5.1 Filtragem Baseada em ConteúdoÉ notório que a web é formada por um grande volume de informação, esse aculumo de da-

dos também é a realidade de inúmeros sistemas que armazenam informações dos mais variadostipos e assuntos. Um problema bastante comum é a ocorrência da sobrecarga de informações.Abstrair informações de grande importância neste mar de informação, gerando de forma au-tomática descrições dos conteúdos dos itens e comparar estas descrições com os interesses dosusuários é conhecida como filtragem baseada em conteúdo. Ela é conhecida por este nome porrealizar uma seleção baseada na análise de conteúdo dos itens e no perfil do usuário.

A obtenção de informação relevante é o objetivo de alguns softwares que trabalhambaseado na filtragem baseada em conteúdo. Esses softwares não são os primeiros com esteobjetivo que, na verdade, tem suas origens na área de recuperação de informação. De acordocom [6] devido aos significativos avanços feitos pelas comunidades de filtragem de informação efiltragem de conteúdo, muitos sistemas baseados em filtragem de conteúdo focam na recomen-dação de itens com informações textuais, como documentos e websites. As melhorias sobreos sistemas tradicionais de recuperação de informação vieram com a utilização do perfil dousuário, que contém suas preferências e necessidades.

Aplicando-se técnicas como indexação de frequência de termos é possível obter infor-mações de interesses do usuário através da análise das informações cedidas pelo próprio usuárioou através de mapeamento de suas interações com o sistema, como aquisição de itens (produ-tos), pesquisa de produtos, dentre outras. Segundo [20] neste tipo de indexação, informaçõesdos documentos e necessidades dos usuários são descritas por vetores com uma dimensão paracada palavra que ocorre na base de dados. Cada componente do vetor é a frequência que umarespectiva palavra ocorre em um documento ou na consulta do usuário. Claramente, os vetoresdos documentos que estão próximos aos vetores da consulta do usuário são considerados osmais relevantes para ele.

Ainda de acordo com [20] outros exemplos de tecnologias aplicadas para filtragembaseada em conteúdo são índices de busca booleana, onde a consulta constitui-se em um con-junto de palavras- chave unidas por operadores booleanos; sistemas de filtragem probabilística,onde raciocínio probabilístico é aplicado para determinar a probabilidade que um documentopossui de atender as necessidades de informação de um usuário; e interfaces de consultas comlinguagem natural, onde segundo o autor as consultas são colocadas em sentenças naturais.

A filtragem baseada em conteúdo foca no principio de que usuários tendem a interessar-sepor itens similares aos objetos que o usuário já comprou ou que demonstrou algum tipo de inter-esse. Assim vários itens são comparados com itens que o usuário gostou no passado e que foramavaliado positivamente, e os itens com maior similaridade serão recomendados. Vale lembrarque estabelecer essa similaridade pode ser mais difícil de ocorrer em alguns casos. Adomavícius[3] formaliza os Sistemas de Recomendação baseado em conteúdo (ContentBasedPRofile(c))como sendo o perfil do usuário c. Este perfil é obtido através de uma análise do conteúdo dositens previamente avaliados pelo usuário utilizando técnicas de recuperação de informação. Porexemplo, ContentBasedProfile(c) pode ser definido como um vetor de pesos (wc1, ...,wck) ondecada peso wci denota a importância do termo ki para o usuário c utilizando-se a medida TF-IDF(term frequency-inverse document frequency).

Page 12: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 11

Em Sistemas de Recomendação Baseados em Conteúdo, a função de utilidade u(c, s) égeralmente definida conforme a equação:

u(c, s) = score(ContentBasedPro f ile(c),Content(s))Tanto o ContentBasedProfile(c) do usuário c como o Content(s)) podem ser representados

como vetores (TF-IDF) de pesos e termos −→wc e −→ws. Além disso, a função utilidade u(c, s)normalmente é representada, na literatura de recuperação de informação, por algum tipo depontuação heurística sobre vetores, como por exemplo, a medida de similaridade do cosseno.Ainda de acordo com Adomavícius [3] o cálculo para a medida de similaridade do cosseno podeser feito de acordo com a equação abaixo, onde k é o número total de palavras no sistema:

u(c, s) = cos(−→wc,−→ws) =

−→wc.−→ws

‖−→wc‖2×‖

−→ws‖2=

Σki=1wi,cwi,s

√Σk

i=1w2i,c

√Σk

i=1w2i,s

Desta forma, o cálculo de similaridade é realizado computando o cosseno do ângulo for-mado pelos dois vetores que representam os documentos (termos e frequências). A descriçãode interesses do usuário é obtida através de informações fornecidas por ele próprio ou atravésde ações, como seleção e aquisição de itens.

Segundo Adomavícius [3], a abordagem baseada em conteúdo tem as seguintes limi-tações:

1. Análise de conteúdo é limitada: o conteúdo de dados pouco estruturados é difícil deser analisado. A aplicação da filtragem baseada em conteúdo para extração e análise deconteúdo multimídia por exemplo (vídeo, som), é muita mais complexa do que a extraçãoe análise de documentos textuais. Outro problema, relativo a análise de conteúdo textual,é que sistemas baseados em filtragem em conteúdo não conseguem distinguir um artigobem escrito de um artigo mal escrito se eles utilizam termos muito semelhantes.

2. Super especialização: quando o Sistema de Recomendação pode recomendar somenteitens similares a itens avaliados positivamente, pode ocorrer a super especialização. Destaforma, os itens que não fechem com o perfil do usuário não serão apresentados.

5.2 Filtragem ColaborativaNa filtragem colaborativa (FC), ações de um usuário bem como a análise a respeito das

informações gravadas (por exemplo utilizando-se a reputação do produto 4.1) de um determi-nado item são utilizadas para o benefício de uma comunidade maior. Sendo assim membrosdessa comunidade podem se beneficiar da experiência de outros usuários antes de decidir sobrea compra de um determinado produto. A não exigência de reconhecer ou compreender con-teúdo dos itens torna-se a grande diferença entre Filtragem baseada em conteúdo e a FiltragemColaborativa.

A essência da Filtragem Colaborativa está na forma como é recomendado o item, a re-comendação ocorre em função das experiências entre as pessoas que possuem interesses co-muns, os itens então são filtrados baseado nas avaliações feitas pelos usuários. O primeirosistema criado com esta abordagem foi o Tapestry [13], que era um sistema com recursos com-pletos de filtragem de documentos eletrônicos. Neste sistema um usuário poderia criar regrasde filtragem de e-mail como “Mostre-me todos os documentos que são respondidos por outrosmembros do meu grupo de pesquisa”. Este sistema exigia que o usuário para determinar asrelações relevantes preditivas ficasse com uma grande carga cognitiva, como resultado, essessistemas só foram valiosos em pequenas comunidades fechadas onde todo mundo estava cientede interesses e deveres de outros usuários.

Esta técnica tem o objetivo de sugerir novos itens baseado nos hábitos dos usuários parapredizer suas decisões futuras. De posse de uma base de dados de preferências de itens, um novo

Page 13: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 12

usuário é comparado a esta base de forma a descobrir vizinhos, os quais são outros usuários quepossuem características similares. Os itens de interesse para esses vizinhos são então recomen-dados para o usuário inicial. Essa abordagem parte da premissa de que, se dois usuário X e Ytiverem interesses similares, então os usuários demonstraram interesses pelos mesmos produ-tos. De maneira geral, considere-se uma lista de m usuários U = {u1, u2,...,um} e uma lista de nitens I = {i1, i2,...,in}. Cada usuário ui possui uma lista de itens Iui para os quais expressou seuinteresse. Logo, se Iui ⊂ I e que é possível que Iiu seja um conjunto nulo, existe um usuáriodistinguível UaεU, denominado usuário ativo, para o qual é tarefa o filtro colaborativo encon-trar um item de interesse, em particular buscando recomendações. Assim, haverá uma lista deN itens, Ir ⊂ I, pelos quais o usuário ativo mais se interessará. A lista recomendada deve serde itens ainda não comprados pelo usuário ativo. Esta interface dos algoritmos de FiltragemColaborativa é também conhecida como recomendação Top-N.

Destacam-se, entre as técnicas de filtragem colaborativa baseadas em memória, o métodobaseado em item, que observa o conjunto de itens que o usuário-alvo avaliou previamente, com-puta quão similares são eles com relação a um item- alvo i e então seleciona os k itens mais sim-ilares {i1, i2, i3, . . . ik}. Ao mesmo tempo, as suas similaridades correspondentes {s1, s2, s3, . . . sk}

também são computadas. Encontrados os itens mais similares, a predição é então computadaconsiderando-se a média ponderada das avaliações do usuário-alvo com relação aos itens simi-lares [15].

De acordo com [18] um ponto crítico no algoritmo de FC baseado em itens é computar asimilaridade entre itens e selecionar os mais semelhantes. A ideia básica no cálculo de similar-idade entre dois itens i e j é, primeiramente, isolar usuários que tenham avaliados esses itens eentão aplicar a técnica de cálculo de similaridade para determinar a similaridade si j entre eles.A Figura 8 apresenta o processo, onde as linhas da matriz representam usuários e as colunas,itens.

Figura 8: Isolando itens co-avaliados e cálculo de similaridade

O algoritmo de FC necessita de uma forma de comparar itens de forma a descobrir aquelesmais próximos entre si. A similaridade por cosseno de vetor considera os vetores de avaliaçãoentre dois itens com os quais se quer avaliar a similaridade. Seja A a matriz m× n usuário-item;então, a similaridade entre dois itens i e j é definida pelo cosseno entre os vetores de dimensãon correspondentes à i-ésima e à j-ésima coluna da matriz A. A similaridade por cosseno entreitens i = {i1, i2, . . . , in} e j = { j1, j2, . . . , jn} é dada por:

wi, j = cos(−→i ,−→j ) =−→i .−→j

‖−→i ‖×‖−→j ‖

=i1 j1+i2 j2+...+in jn√

i21+i22+...+i2n√

j21+ j22+...+ j2n

Page 14: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 13

onde “.” denota o produto escalar entre ambos os vetores [21].Apesar da Filtragem Colaborativa apresentar-se como uma boa opção na maioria das apli-

cações e apresentar a vantagem de sugerir aos usuários produtos inesperados, ainda existemgrandes desafios, por este tipo de sistema apresentar alguns problemas como: Problema doprimeiro avaliador - que é a situação onde um novo item aparece no banco de dados e nãoexiste assim uma maneira deste ser recomendado para o usuário; Problema de pontuaçõesesparsas - caso o número de usuários seja pequeno em relação ao volume de informações nosistema; Similaridade - que é a situação em que um usuário tenha gostos que variam do normaleste terá dificuldades para encontrar outros usuários com gostos similares. Esses problemastornam-se mais evidentes em aplicações reais de filtragem colaborativa para sistemas de re-comendação, pois tais aplicações tratam com grande volume de produto, o que torna a avaliaçãodos usuários em cima de uma quantidade substancial de itens uma tarefa difícil.

5.3 Filtragem HíbridaA abordagem da filtragem híbrida procura, basicamente, combinar os pontos fortes da

filtragem colaborativa e filtragem baseada em conteúdo visando criar um sistema que possamelhor atender as necessidades do usuário [14].

Entre as vantagens da abordagem híbrida é que é possível recomendar bons itens a umusuário mesmo que não haja usuários semelhantes a ele, pois com essa abordagem é possívellidar com itens não vistos por outros usuários e caso ocorra o contrário as experiências de outrosusuários são levadas em consideração e o sistema assim sugere alguns itens.

A figura 9 expressa bem a definição da abordagem híbrida que propõem unir duas dasmelhores técnicas de filtragem de informação, eliminando as fraquezas existente em cada uma.

Figura 9: Filtragem Híbrida

6 ConclusãoA proposta deste trabalho foi apresentar de maneira consistente o que são Sistemas de

Recomendação e como esses sistemas podem ser utilizados para que se possa conhecer melhoros hábitos de consumo e de interesses dos clientes. Foi objetivo também demonstrar as técnicasde conhecimento público mais utilizadas para fazer um bom uso deste tipo de conhecimento,objetivando trazer o cliente mais próximo da empresa, através de boas recomendações e emconsequência disso conseguir a fidelização do mesmo.

Page 15: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 14

Trabalhamos em sua maioria com exemplos que se referiam à personalização de websites.No entanto, Sistemas de Recomendações podem ser aplicados nos mais diversos tipos de inter-esse. Uma dessas aplicações é a de Call centers. Otimizar serviços de Call centers e diminuir ocusto de pessoal é um dos benefícios que um Sistema de Recomendação poderia trazer.

Segundo [6] quando de posse do perfil do cliente (empresas de Call centers), o atendentetem maior facilidade de estabelecer a comunicação com ele e de efetuar, por exemplo, algumavenda de produto em oferta. Além disso outras vantagens na utilização de serviços de atendi-mento personalizados são:

• Redução do tempo de atendimento em 7%

• Aumento na satisfação do cliente em 8%

• Redução no abandono de comunicações em 19%

Referências[1] Web Site Privacy Seals: Are they worth it? J. Cline, 2003.

[2] Personalização na Internet. R. Torres, 2004.

[3] Adomavicius, G.; Tuzhilin, A. Toward the next generation of recommender systems:A survey of the state-of-the-art and possible extensions. IEEE TRANSACTIONS ONKNOWLEDGE AND DATA ENGINEERING, 17(6):734–749, 2005.

[4] Breese, J. S.; Heckerman, D.; Kadie, C. Empirical analysis of predictive algorithms forcollaborative filtering. p. 43–52. Morgan Kaufmann, 1998.

[5] C. Jensen, J. Davis, S. F. Finding others online: reputation systems for social onlinespaces. Proceedings of the SIGCHI conference on Human factors in computing systems,New York,NY, USA.ACM., 2002.

[6] Cazella, S.; Nunes, M.; Reategui, E. A Ciência da Opinião: Estado da arte em Sis-temas de Recomendação. CSBC - XXX Congresso da SBC - Jornada de Atualização deInformática-JAI, p. 161–216, 2010.

[7] D. Poo, B. Chng, J. G. A hybrid approach for user profiling. Proceedings of the36th Annual Hawaii International Conference on System Sciences (HICSS’03) - IEEEComputer Society, 2003.

[8] Delgado, J. A. Agent-Based Information Filtering and Recommender System on theInternet. PhD thesis, Nagoya Institute of Technology. Dept. of Intelligence ComputerScience, 2000.

[9] Donath, J. S. Identity and deception in the virtual community. M. A. Smith and P.Kollock, editors, Communities in Cyberspace, 1999.

[10] Donath, J. S. Being real: Questions of tele-identity. Ken Goldberg, editor, The Robot inthe Garden: Telerobotics and Telepistemology in the Age of the Internet, 2000.

[11] Filho, F. M. F.; Geus, P. L.; Albuquerque, J. a. P. Sistemas de Recomendação e Interaçãona Web Social. I Workshop de Aspectios da Interação Humano-Computador na WebSocial, p. 24–27, 2008.

Page 16: Sistemas de recomendação

Revisão Bibliográfica - Sistemas de Recomendação 15

[12] Giddens, A. Modernity and self-identity. self and society in the late modern age.Stanford university Press, Stanford, California, 1991.

[13] Goldberg, D.; Nichols, D.; Oki, B. M.; Terry, D. Using collaborative filtering to weavean information tapestry. Commun. ACM, 35:61–70, December 1992.

[14] Herlocker, J. L. Understanding and improving automated collaborative filtering sys-tems. PhD thesis, University of Minnesota, 2000. AAI9983577.

[15] Karypis, G. Evaluation of item-based top-n recommendation algorithms. p. 247–254,2000.

[16] P. Resnick, R. Zeckhauser, J. S. K. L. The value of reputation on ebay: A controlledexperiment. Experimental Economics, 2006.

[17] P. Resnick, K. Kuwabara, R. Z. E. F. Reputation systems. Commun. ACM, 2000.

[18] Pinto, M. A. G.; Tanscheit, R.; Vellasco, M. Sistema de recomendação de produtos emmarketing com uso de métodos de apoio à decisão. Computational Intelligence, d:1–7,2011.

[19] R. Carreira, J.M. Crato, D. G. J. J. Evaluating adaptive user profiles for news classi-fication. Proceedings of the 9th international conference on Intelligent user interfaces,New York, NY, USA. ACM Press, 2004.

[20] Reategui, Eliseo Berni;Cazella, S. C. Sistemas de Recomendação. XXV Congresso daSociedade Brasileira de Computação. A Universalidade da Computação: Um Agente deInovação e Conhecimento, p. 306–348, 2005.

[21] Sarwar, B.; Karypis, G.; Konstan, J.; Riedl, J. Analysis of recommendation algorithmsfor e-commerce. In: Proceedings of the 2nd ACM conference on Electronic commerce,EC ’00, p. 158–167, New York, NY, USA, 2000. ACM.

[22] Terveen, L.; Hill, W. Beyond recommender systems: Helping people help each other.In: HCI in the New Millennium, p. 487–509. Addison-Wesley, 2001.