A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas de Recomendação

Apresentações semelhantes


Apresentação em tema: "Sistemas de Recomendação"— Transcrição da apresentação:

1 Sistemas de Recomendação
Camila Tormena João Guilherme Packer Marcos Eduardo Crivellaro

2 Agenda Introdução Objetivo Definição e histórico
Motivações e Aplicações Métricas

3 Agenda Algoritmos Técnicas Não-Personalizadas Filtragem Colaborativa
Como Não ordenar pela média Como ordenar pela média Filtragem Colaborativa Baseada em Vizinhos Filtragem Baseada em Conteúdo Métodos Híbridos Métodos Utilizados pelo Netflix

4 Agenda Implementação Estudos de caso
Filtragem colaborativa baseada em usuários Filtragem colaborativa baseada em itens Ferramentas Estudos de caso Netflix Google AdSense

5 Agenda Desafios e limitações Considerações Finais Esparcidade
The Cold-Start Problem Fraude Filter Bubble Considerações Finais

6 Seção 1 Introdução

7 Objetivo Visão geral dos sistemas de recomendação
Abordagens e algoritmos Diferentes usos Benefícios Exemplos reais

8 Definição e histórico “O objetivo dos sistemas de recomendação (SR) é gerar recomendações válidas para um conjunto de usuários, de itens que possam interessá-los” (MELVILLE; SINDHWANI, 2010) Personalizadas x Não personalizadas “Obter recomendações de fontes confiáveis é um componente importante do processo natural de tomada de decisões” (MELVILLE; SINDHWANI, 2010). Consumismo + Internet É possível pensar em uma música como uma coleção de atributos: ela pode ter letras de caráter político, uma melodia romântica, ou um som de sinere como fundo. Existem diversas características como estas que podem descrever uma música. Esta idéia surgiu com Tim Westergren, um dos fundadores do Pandora, um serviço de rádio via internet. Quando uma nova música é lançada, um músico ou musicólogo treinado da equipe Pandora verifica uma lista de possíveis atributos e designa uma classificação númerica para a música em cada um deles, processo que demora em torno de 20 minutos e é repetido vezes por mês. Essas informações são armazenadas em um banco de dados cujo objetivo é prever quais músicas o usuário gostaria de ouvir baseado nas músicas que ele já ouviu, ou seja, operam em um sistema de recomendações (GROSSMAN, 2013). O objetivo dos sistemas de recomendação (SR) é gerar recomendações válidas para um conjunto de usuários, de itens que possam interessá-los, como sugestões de livros no Amazon ou filmes no Netflix (MELVILLE; SINDHWANI, 2010). “Item” é um termo geral utilizado para denotar o que o sistema recomenda aos usuários, e geralmente cada sistema foca em um tipo específico de item (por exemplo CDs, livros ou filmes). O design, interface gráfica e a técnica de geração de recomendações são customizadas para oferecer sugestões úteis e efetivas para o tipo específico de item oferecido (RICCI; ROKACH; SHAPIRA, 2011). Estas recomendações podem ser classificadas entre personalizadas e não personalizadas. Nas recomendações personalizadas, cada usuário ou grupo de usuários recebe sugestões diferentes, enquanto nas recomendações não personalizadas, as recomendações são feitas para todos os usuários ao mesmo tempo (um exemplo seria uma lista dos 10 melhores livros de fição do mês). Embora recomendações não personalizadas possam ser úteis em determinadas situações, elas não são tipicamente abordadas no campo de sistemas de recomendação (RICCI; ROKACH; SHAPIRA, 2011). Obter recomendações de fontes confiáveis é um componente importante do processo natural de tomada de decisões. Com o crescimento do consumismo, apoiado pelo crescimento da Internet, aumenta a variedade de escolha dos compradores e os vendedores precisam aprimorar sua publicidade para melhor atingir o público alvo. Além disso, é comum as empresas coletarem grandes volumes de dados sobre transações, que permitem uma análise profunda das relações entre consumidores e produtos oferecidos. Os sistemas de recomendação surgiram para atender a necessidade de ambos os lados: clientes e vendedores, automatizando a geração de recomendações baseadas na análise dos dados (MELVILLE; SINDHWANI, 2010). 8

9 Definição e histórico Problema com sobrecarga de informações
Mais opções nem sempre é melhor As pessoas geralmente apoiam-se em recomendações de outras pessoas para suas decisões diárias Primeiro SR comercial: Tapestry Informações explícitas x implícitas Com o desenvolvimento do comércio eletrônico, tornava-se bastante difícil para os usuários encontrarem os itens adequadas no meio da grande variedade de produtos e serviços oferecidos por um website.. A crescente variedade de informações disponíveis na web e o rápido surgimento de novos serviços de e-business frequentemente sobrecarregavam os usuário, e a disponibilidade de opções, ao invés de trazer benefícios, tornava-se um empecilho – enquanto ter opções é algo bom, mais opções nem sempre é melhor. Sendo assim, surgiu a necessidade de filtrar a quantidade de opções disponíveis (RICCI; ROKACH; SHAPIRA, 2011). O desenvolvimento dos SR (sistemas de recomendação) iniciou da simples observação de que os indivíduos geralmente apoiam-se em recomendações de outras pessoas para suas decisões diárias. É comum, por exemplo, pedir a opinião de amigos para escolher um filme ou livro. Observando este comportamento, os primeiros sistemas de recomendação aplicavam algoritmos para melhorar as recomendações produzidas por uma comunidade de usuários. O primeiro sistema de recomendações comercial chamava-se Tapestry (GOLDBERG et al., 1992), e foi projetado para recomendar documentos de um grupo de noticias para uma coleção de usuário, de forma a melhorar a colaboração entre os mesmos e impedir que usuários fossem sobrecarregados por um número muito grande de documentos. Para realizar sua tarefa, os SR coletam informações sobre as preferencias do usuário, explicitamente expressas através de, por exemplo, avaliações passadas, ou implícitas, através da interpretação das ações do usuário. Por exemplo, um SR pode considerar a navegação de um usuário até a pagina de um determinado produto como uma indicação de sua preferencia pelo tipo de itens apresentado naquela pagina (RICCI; ROKACH; SHAPIRA, 2011). 9

10 Definição e histórico Abordagens
Filtragem colaborativa Filtragem baseada em conteúdo Métodos híbridos Área de pesquisa independente surgiu nos anos 90 Interesse crescente Papel importante em sites altamente conceituados Conferências e workshops dedicados Sessões em conferências de outras áreas Cursos dedicados à área Edições especiais em revistas acadêmicas As inúmeras abordagens para a implementação de sistemas de recomendação podem ser categorizadas em: Filtragem colaborativa, na qual que o usuário recebe recomendações baseadas nas avaliações passadas de todos os usuários, coletivamente; Filtragem baseada em conteúdo, na qual os itens são recomendados de acordo com sua similaridade em relação aos itens que o usuário gostou, ou cujas características estejam relacionadas a atributos pré-definidos do usuário; E métodos híbridos, os quais combinam as abordagens anteriores (MELVILLE; SINDHWANI, 2010). Os sistemas de recomendação emergiram como uma área de pesquisa independente na metade dos anos 90, e o interesse na área cresceu drasticamente nos últimos anos. Atualmente, os sistemas de recomendação têm um papel importante em sites conceituados na internet, como Amazon, YouTube, Netflix, Yahoo, Tripadvisor, Last.fm e IMDB; Existem conferências e workshops dedicados à area (como a ACM Recommender Systems, RecSys, estabelecida em 2007) e sessões sobre sistemas de recomendação estão frequentemente presentes em conferências de outras áreas como bancos de dados, sistemas de informação e sistemas adaptativos; Existem instituições de ensino superior com cursos dedicados aos SR e tutoriais sobre o assunto são bastante populares em conferências de ciência da computação; Existem também diversas edições especiais em revistas acadêmicas cobrindo estes sistemas e pesquisas na área (RICCI; ROKACH; SHAPIRA, 2011). 10

11 Definição e histórico Os sistemas de recomendação iniciais foram os sistemas de filtragem de informação. Alguns trabalhos iniciais incluem: 1988: A rule-based message filtering system (POLLOCK, 1988) 1990: MAFIA: An active mail-filter agent for an intelligent document processing support (LUTZ; KLEIST-RETZOW; HOERNING, 1990) Então surgiu o primeiro sistema de recomendações comercial em 1992: Tapestry (GOLDBERG et al., 1992) 1994: GroupLens: sistema de filtragem colaborativa de artigos para o Usenet (RESNICK et al., 1994) 11

12 Definição e histórico 1997: MovieLens: primeiro sistema de recomendações de filmes, cujo banco de dados é amplamente utilizado para pesquisas. (http://www.movielens.org/) 2000: Pandora inicia o projeto Genoma musical (http://www.pandora.com/about) 2001: Amazon propôs filtragem colaborativa baseada em items (pedido de patente apresentado em 1998 e concedida em 2001) (LINDEN; JACOBI; BENSON, 2001) 2006: Netflix Prize (concedido em 2009) (http://www.netflixprize.com/) 12

13 Motivações e aplicações
“Os SR provaram ser uma ótima abordagem para lidar com o problema de sobrecarga de informações citado” (RICCI; ROKACH; SHAPIRA, 2011) “1/3 dos consumidores que notam as recomendações acabam comprando algo baseado nelas” (GROSSMAN, 2013) SRs são sistemas complexos Informações sobre itens x usuários Os SR provaram ser uma ótima abordagem para lidar com o problema de sobrecarga de informações citado (RICCI; ROKACH; SHAPIRA, 2011). Durante a última década, os sistemas de recomendações se tornaram ubíquos, e um bom sistema de recomendação vale bastante dinheiro. De acordo com um relato publicado por Forrester (analista industrial), um terço dos consumidores que notam as recomendações em um site de comércio eletrônico acabam comprando algo baseado nelas . Mas o problema com os sistemas de recomendação é que, apesar de parecerem simples, eles são complexos e difíceis de desenvolver, pois processam uma grande quantidade de dados e utilizam matemática de alto nível (GROSSMAN, 2013). O Pandora recomenda músicas de uma forma semelhante a como seres humanos o fazem: através de informações sobre o gosto musical. Contudo, esta abordagem é muito trabalhosa, e a maioria dos sistemas de recomendação utilizam uma abordagem diferente: consideram informações não sobre os itens, mas sobre os outros usuários. Esta técnica é chamada de filtragem colaborativa, e o seu principio é que o comportamento de um grupo de pessoas pode ser utilizado para adivinhar o comportamento de um indivídio específico (GROSSMAN, 2013). Um exemplo simples pode ser descrito da seguinte forma:, se várias pessoas gostaram do filme X e do filme Y, então é possível supor que, quando uma pessoa gostar do filme X, ela também gostará do filme Y. 13

14 Motivações e aplicações
Cinematch Sistema de recomendações do Netflix Prêmio Netflix oferecido em 2006 1 milhão de dólares para uma melhora de 10% “Uma melhora de 10% traria para a empresa lucros além do um milhão de dólares oferecido” (THOMPSON, 2008) Ganhador: BellKor's Pragmatic Chaos (2009) Nem sempre as características em comum dos filmes são identificáveis O Netflix possui um sistema chamado Cinematch, que analisa os hábitos de cada usuário quando assistindo aos filmes e recomenda outros filmes que possam interessá-lo. Os algoritmos de recomendação são geralmente mantidos em segredo, mas em 2006 a Netflix tornou pública parte de sua base de dados de avaliação dos filmes (por volta de 100 milhões de avaliações) e ofereceu um prêmio de 1 milhão de dólares para quem conseguisse melhorar seu mecanismo de recomendação em 10% (GROSSMAN, 2013). Um milhão de dólares pode parecer um valor alto demais para uma melhora tão pequena, mas, na verdade, os fundadores do Netflix tentaram por anos melhorar o Cinematch, e sabiam que 10% seria um bom desafio. Além disso, segundo o chefe executivo do Netflix, Reed Hastings, uma melhora de 10% traria para a empresa lucros além do um milhão de dólares oferecido (THOMPSON, 2008). O ganhador do prêmio foi um consórcio formado por 7 pessoas de 4 países diferentes chamado BellKor's Pragmatic Chaos, que incluía Bob Bell e Chris Volinsky, dois pesquisadores da AT&T, que conseguiram o ganho desejado em 2009 (GROSSMAN, 2013). Utilizando o caso da recomendação de filmes como exemplo, a filtragem colaborativa não sabe sobre as características dos filmes, e trabalha apenas com base na reação da audiencia, o que significa que, se várias pessoas gostaram de, por exemplo, “Jogos Mortais” e “A Lagoa Azul”, o sistema é obrigado a considerar que estes dois filmes têm alguma característica em comum. Mas segundo Bell e Volinsky, nem eles são capazes de identificar essas características em todos os casos, e muitas vezes não conseguem encontrar explicações válidas. Nestes casos, o sistema de recomendações pode ter encontrado uma propriedade que não é conhecida mas faz sentido matematicamente (GROSSMAN, 2013). 14

15 Motivações e aplicações
Motivos para implantar um SR Aumentar o número de itens vendidos Vender itens mais diversificados Aumentar a satisfação dos usuários Aumentar a fidelidade dos usuários Melhorar o gerenciamentos dos itens SRs estão sujeitos à falhas Walmart acusado de racismo Problema está na consistência dos dados! Existem inúmeros motivos para sites de comércio eletrônico implantarem um sistema de recomendação. Estes sistemas podem aumentar o número de itens vendidos, pois tendem a satisfazer os desejos e necessidades dos usuários. Outro motivo é a busca por uma venda de itens mais diversificados, pois o sistema permite que os usuários encontrem itens que podem ser difíceis de achar sem as recomendações. Por exemplo, em um sistema de recomendação de filmes como o Netflix, pode ser difícil e arriscado promover os filmes menos populares, mas esse cenário muda quando há indicativos de que um determinado usuário tenha altas chances de gostar deste filme, e o sistema pode então recomendar mesmo os filmes não populares, desde que aos usuários corretos. Outro objetivo é aumentar a satisfação dos usuários, pois recomendações interessantes e relevantes podem melhorar a experiencia dos usuários que desfrutará do sistema. Também pode-se desejar um aumento da fidelidade dos usuários para com o sistema, pois serão reconhecidos e tratados individualmente. Em adição, quanto mais o usuário interagir com o sistema, melhor serão as recomendações obtidas. Por fim, o sistema terá melhor entendimento do que o usuário deseja, e esta informação pode também ser utilizada para gerenciamento de estoque ou produção (RICCI; ROKACH; SHAPIRA, 2011). Apesar da capacidade que os sistemas de recomendação possuem de identificar itens e produtos que os usuários possam gostar, os mesmos estão também sujeitos à falhas. Como exemplo, em 2006 o Walmart foi acusado de racismo quando seu sistema de recomendações agrupou o filme “Planeta dos Macacos” com um documentário sobre Martin Luther King. Mas, em geral, o problema com os sistemas de recomendação não é o software, mas sim os usuários e a consistência nos dados fornecidos, pois usuários avaliam os produtos de forma diferente e em diferentes ocasiões (após um dia cansativo de trabalho ou durante um dia de férias). Em adição, algumas pessoas são mais exigentes ou mais generosas na hora de avaliar do que outras. Usando filmes como exemplo, a avaliação também pode variar dependendo de quanto tempo faz que a pessoa assistiu o filme e o quanto ela gostou de outros filmes que assistiu recentemente. Essas questões mostram a existência de llimites de precisão dos sistemas de recomendação, e mesmo Volinsky admite que existem muitos fatores alteatórios envolvidos no levantamento dos dados (GROSSMAN, 2013). Outro problema com os sistemas de recomendação é que eles mantém os usuários em uma rotina, ou seja, não tentam surpreendê-lo ou tirá-lo de sua zona de conforto para conhecer novos produtos que poderiam chamar sua atenção. Este assunto será abordado em mais detalhes nas seções futuras. 15

16 Métricas Identificar o melhor algoritmo de recomendação é um desafio
Discordância sobre os atributos e métricas Problemas ao avaliar os algoritmos: Algoritmos dependem do conjunto de dados Objetivos da avaliação podem variar Identificar o melhor algoritmo de recomendação para um determinado propósito é um bom desafio, especialmente porque avaliar os sistemas de recomendação e seus algoritmos é uma tarefa complicada. Um dos motivos é o fato de que, ao avaliar os algoritmos, pesquisadores discordam sobre quais atributos devem ser medidos, e quais métricas devem ser utilizadas para cada atributo. Na literatura existem diversas métricas quantitativas e algumas qualitativas para a avaliação de sistemas de recomendação. O primeiro motivo pelo qual a avaliação de sistemas de recomendação é uma tarefa desafiadora é que algoritmos diferentes podem ser melhores ou piores em conjuntos de dados diferentes. Muitos algoritmos de filtragem colaborativa foram projetados especificamente para conjuntos de dados com mais usuários do que itens (por exemplo o conjunto de dados MovieLens possui usuários e 5000 filmes), e tais algoritmos podem ser inapropriados para domínios com mais itens do que usuários (por exemplo um sistema de reomendação de artigos científicos com centenas de usuários, mas milhares de artigos para recomendação). Diferenças similares existem para questões como densidade das avaliações, escalas de avaliações, entre outras propriedades dos conjuntos de dados. O segundo motivo pelo qual a avaliação de um SR é difícil é o fato de que os objetivos da avaliação podem variar. Os métodos de avaliação utilizados inicialmente focavam especificamente na precisão com a qual um algoritmo podia prever a avaliação do usuário. Entretanto, quando os sistemas de recomendação são utilizados para apoiar decisões, torna-se mais importante medir quão frequentemente o sistema leva seus usuários a escolhas erradas (HERLOCKER et al., 2004). 16

17 Métricas A maioria dos métodos foca na precisão
“A falta de padronização leva a uma grande quantidade de métricas sendo utilizadas, tornando-se difícil comparar os resultados de diferentes publicações” (HERLOCKER et al., 2004) As métricas de avaliação podem ser divididas em quatro grandes classes: Precisão preditiva Precisão de classificação Precisão de ranking Não precisão A maioria dos métodos de avaliação de sistemas de recomendação publicados foca na avaliação da precisão dos sistemas. Essa métrica mede empiricamente quão diferente foi a previsão feita pelo sistema de recomendação em relação à avaliação do usuário. O desafio de escolher a melhor métrica é agravado pela grande diversidade de métricas publicadas que têm sido utilizadas para medir a precisão dos sistemas de recomendação. Sem uma padronização, pesquisadores continuam introduzindo novas métricas ao avaliar seus sistemas, e com uma grande diversidade de métricas em uso, é difícil comparar resultados de uma publicação com os de outra (HERLOCKER et al., 2004). A precisão dos sistemas de recomendação tem sido avaliada na literatura desde 1994 (RESNICK et al., 1994) e podem ser divididas em quatro grandes classes: métricas de precisão preditiva, métricas de precisão de classificação, métricas de precisão de ranking e métricas sem precisão (SCHRODER; THIELE; LEHNER, 2011). Entretanto, as métricas sem precisão não tem recebido atenção ou grande interesse de pesquisa e são tratadas apenas como um complemento para as métricas de precisão (ZIEGLER, 2008). 17

18 Métricas Precisão preditiva (Predictive accuracy)
Avaliações estimadas x avaliações do usuário Apropriada nos cenários em que uma predição correta das avaliações para todos os itens é de alta importancia Root mean squared error (RMSE) foi a métrica utilizada na competição do Netflix Fáceis de computar e compreender A métrica de precisão preditiva (Predictive accuracy) mede quão próximas são as avaliações estimadas pelo sistema de recomendação e as avaliações do usuário. Este tipo de métrica é bastante popular para avaliações com mais de duas opções (que não sejam binárias) e é mais apropriada nos cenários em que uma predição correta das avaliações para todos os itens é de alta importancia. Existem diversas formas de calcular esta precisão, e as mais importantes são: mean absolute error (MAE), mean squared error (MSE), root mean squared error (RMSE) e normalized mean absolute error (NMAE). A RMSE foi a métrica utilizada na competição do Netflix para determinar o ganhador do prêmio. Estas métricas são geralmente utilizadas na avaliação de sistemas de recomendação por serem fáceis de computar e compreender, e são também aplicadas em outros contextos além dos SR. Entretanto, não são necessariamente as mais populares, pois dependendo dos objetivos do sistema de recomendação, existem algoritmos mais adequados. Por exemplo, é comum haver uma maior preocupação com a sugestão de produtos específicos que certamente interessarão o usuário do que apresentar uma estimativa de avaliação precisa para uma grande quantidade de produtos que o usuário nunca utilizará (HERLOCKER et al., 2004) (SCHRODER; THIELE; LEHNER, 2011). 18

19 Métricas Precisão de classificação (Classification accuracy)
Mede a qtde de classificações corretas e incorretas Adequada para aplicações levar os usuários a tomar certas ações como comprar produtos ou serviços Precisão de ranking (Rank accuracy) Verifica a habilidade de estimar a ordem correta dos itens em relação à preferência do usuário Adequada para sistemas que oferecem ao usuário uma longa lista ordenada de itens recomendados. A precisão de classificação (classification accuracy) busca estimar a capacidade dos algoritmos de recomendação de tomar decisões corretas. Ela mede a quantidade de classificações corretas e incorretas conforme itens relevantes ou irrelevantes são recomendados pelo sistema, e portanto são úteis em tarefas como encontrar “bons” itens. Esta métrica ignora a avaliação exata dada pelo usuário, e apenas a classificação como correta ou incorreta é levada em consideração. É adequada especialmente para aplicações de comércio eletrônico que tentam levar os usuários a tomar certas ações como comprar produtos ou serviços (HERLOCKER et al., 2004) (SCHRODER; THIELE; LEHNER, 2011). Uma métrica de precisão de ranking (rank accuracy) verifica a habilidade de um sistema de recomendação em estimar a ordem correta dos itens em relação à preferência do usuário. Portanto, este tipo de métrica é mais adequada para sistemas que oferecem ao usuário uma longa lista ordenada de itens recomendados. Esta métrica considera apenas a ordenação relativa das preferências, e é independente dos valores exatos previstos pelo sistema de recomendação. Por exemplo, mesmo se o sistema avaliar todos os itens com um valor menor do que o valor que o usuário escolheria, a ordem relativa ainda estaria correta e portanto a previsão também (HERLOCKER et al., 2004) (SCHRODER; THIELE; LEHNER, 2011). 19

20 Métricas Além da precisão Sistemas precisam também convencer usuários
Depende de características individuais “Um SR deve inspirar confiança, possuir uma lógica razoavelmente transparente, apresentar items novos, prover detalhes sobre os itens, incluir fotos e avaliações da comunidade, e apresentar maneiras de refinar as recomendações” (SWEARINGEN; SINHA, 2001) Apesar de as métricas citadas serem um aspecto importante na avaliação dos sistemas de recomendação, existem outras características que elas não conseguem capturar (ZIEGLER, 2008). A eficácia de um sistema de recomendações depende de fatores além da qualidade do algoritmo de previsão, pois estes sistemas precisam também convencer usuários a ler/assistir/comprar os itens recomendados. Este processo depende das características individuais dos itens e portanto do algoritmo de recomendação em si, e depende também da interação humano-computador suportada pelo sistema no qual os itens são apresentados e comparados. Pela perspectiva do usuário, um sistema de recomendações efetivo deve inspirar confiança no sistema, possuir uma lógica razoavelmente transparente, apresentar aos usuários items novos, prover detalhes sobre os itens recomendados, incluir fotos e avaliações da comunidade, e apresentar maneiras de refinar as recomendações (SWEARINGEN; SINHA, 2001). 20

21 Seção 2 Algoritmos

22 Algoritmos de Sistemas de Recomendação
Utilizam como base informações e atributos de usuários e itens para recomendar que estão disponíveis no sistema. Estes são os principais componentes avaliados com base em diferentes critérios, cada qual com sua abordagem. Imagem de (GATTO, 2012)

23 Categorias Técnicas Não-Personalizadas Filtragem Colaborativa
Como NÃO ordenar pela média Como ordenar pela média Filtragem Colaborativa Baseada em Vizinhos Filtragem Baseada em Conteúdo Métodos Híbridos As inúmeras abordagens para a implementação de sistemas de recomendação podem ser categorizadas em: Filtragem colaborativa, na qual que o usuário recebe recomendações baseadas nas avaliações passadas de todos os usuários, coletivamente; Filtragem baseada em conteúdo, na qual os itens são recomendados de acordo com sua similaridade em relação aos itens que o usuário gostou, ou cujas características estejam relacionadas a atributos pré-definidos do usuário; E métodos híbridos, os quais combinam as abordagens anteriores (MELVILLE; SINDHWANI, 2010). Os sistemas de recomendação emergiram como uma área de pesquisa independente na metade dos anos 90, e o interesse na área cresceu drasticamente nos últimos anos. Atualmente, os sistemas de recomendação têm um papel importante em sites conceituados na internet, como Amazon, YouTube, Netflix, Yahoo, Tripadvisor, Last.fm e IMDB; Existem conferências e workshops dedicados à area (como a ACM Recommender Systems, RecSys, estabelecida em 2007) e sessões sobre sistemas de recomendação estão frequentemente presentes em conferências de outras áreas como bancos de dados, sistemas de informação e sistemas adaptativos; Existem instituições de ensino superior com cursos dedicados aos SR e tutoriais sobre o assunto são bastante populares em conferências de ciência da computação; Existem também diversas edições especiais em revistas acadêmicas cobrindo estes sistemas e pesquisas na área (RICCI; ROKACH; SHAPIRA, 2011).

24 Como Não ordenar pela média
Nota do item = (Avaliações positivas) - (Avaliações negativas) Solução Errada nº 1: Por que está errado: Suponha que um item tenha 600 avaliações positivas e 400 avaliações negativas, ou seja, 60% positivo. Suponha que um segundo item possua 5500 avaliações positivas e 4500 avaliações negativas, ou seja, 55% positivo. Este algoritmo coloca o segundo item (nota = 100, mas com somente 55% das avaliações sendo positivas) acima do primeiro item (nota = 200, e 60% positivo). ERRADO. (MILLER, 2013) Site que comete esse erro: Urban Dictionary

25 Como Não ordenar pela média
Nota do item = média das avaliações = (Avaliações positivas) / (Total de avaliações) Solução Errada nº 2: Site que comete este erro: Amazon.com Por que está errado: A média de avaliações funciona bem se você sempre tiver muitas avaliações, mas suponha que um primeiro item tenha duas avaliações positivas e zero negativas; e suponha que um segundo item tenha cem avaliações positivas e uma negativa. Este algoritmo coloca o segundo item (que possui várias avaliações positivas) abaixo do primeiro item (poucas avaliações positivas). ERRADO. (MILLER, 2013)

26 Como ordenar pela média
Nota do item = Limite inferior do intervalo de confiança da pontuação Wilson para um parâmetro Bernoulli Solução Correta: É preciso equilibrar a proporção das avaliações positivas com a incerteza de um número pequeno de observações. Felizmente, a matemática para calcular isso já foi criada em 1927 por Edwin B. Wilson. A pergunta é: Dado as avaliações que possui, existe uma chance de 95% de que a fração “real” das avaliações positivas é pelo menos o que? Wilson responde esta pergunta. (MILLER, 2013) Nota do item = Limite inferior do intervalo de confiança da pontuação Wilson para um parâmetro Bernoulli Considerando somente avaliações positivas e negativas (i.e. sem considerar avaliações que dão uma nota e.g. 5 estrelas), o limite inferior da proporção das avaliações positivas é dado pela fórmula deste slide: (use menos onde diz mais/menos para calcular o limite inferior) Aqui p̂ é a fração observada das avaliações positivas, zα/2 é o quantil (1-α/2) da distribuição normal padrão, e n é o número total de avaliações (AGRESTI; COULL, 1998)

27 Filtragem Colaborativa
Algoritmo da filtragem baseada em vizinhos Atribua um peso para todos os usuários de acordo com a similaridade com o usuário atual; Selecione k usuários que tenham a maior similaridade possível com o usuário atual - que normalmente é chamado de vizinhança; Compute uma predição de uma combinação ponderada das avaliações dos vizinhos selecionados. Boa parte das abordagens baseadas em vizinhos podem ser generalizadas nos seguintes passos: (MELVILLE; SINDHWANI, 2010)

28 Exemplo de Algoritmo Correlação do Coeficiente de Pearson
Uma abordagem comum para calcular a medida de similaridade é a Correção do Coeficiente de Pearson entre as avaliações dos dois usuários, definido na figura deste slide. Na equação, ra,i e ru,i são, respectivamente, a avaliações de a e u para um item i e ṝa e ṝu são a média das avaliações de a e u . Note que todas as médias e somatórios da fórmula são calculados apenas entre os m itens avaliados por ambos os usuários. A similaridade baseada na correlação de Pearson mede até que ponto existe uma dependência linear entre duas variáveis. (MELVILLE; SINDHWANI, 2010)

29 Exemplo de Algoritmo Alternativa para a correlação de Pearson (passo 1) Como uma alternativa para a correlação de Pearson do passo 1, é possível tratar as avaliações de dois usuários como um vetor em um espaço de m dimensões, e computar a similaridade baseado no cosseno do angulo entre eles, dado por: Este método não permite o uso de avaliações negativas e itens não-avaliados são tratados como tendo uma avaliação de zero pontos. (MELVILLE; SINDHWANI, 2010)

30 Exemplo de Algoritmo No passo 3, as previsões geralmente são computadas como a média ponderada dos desvios da média do vizinho. No passo 3, as previsões geralmente são computadas como a média ponderada dos desvios da média do vizinho, como mostrado em: Por essa fórmula, a predição pa,i do item i para o usuário a será a média de suas avaliações dos itens da base ṝa mais um desvio. A direção e intensidade desse desvio é calculada, na vizinhança de tamanho n, pela diferença entre a média ṝu das avaliações feitas por cada usuário u da vizinhança e sua avaliação ru,i para o item i , ponderada pela razão entre sua a similaridade wa,u com o usuário alvo e a soma das similaridades do usuário alvo com todos os seus vizinhos. (MELVILLE; SINDHWANI, 2010)

31 Filtragem Colaborativa
Métodos baseados no usuário: Ao invés de recomendar itens semelhantes aos visualizados anteriormente pelo usuário, recomendar itens semelhantes aos de interesses em comum de outros usuários; Alguns métodos que seguem essa abordagem: Cosseno; Pearson; Vizinhos mais próximos; etc; (GATTO, 2012)

32 Filtragem Colaborativa
A abordagem mais comum é utilizar uma matriz que lista usuários e itens; Necessário que os usuários avaliem os itens.

33 Filtragem Colaborativa
Características Positivas: Produz recomendações “inesperadas”; Não depende de preferências anteriores do usuário; Produz recomendações de alta qualidade: qualidade de um item avaliada pelos próprios usuários (público alvo). Características Negativas: Avaliações Esparsas; Primeiras Avaliações; Cold-Start. Características Negativas: Precisam das avaliações de outros usuários, a fim de encontrar os "vizinhos mais próximos" do usuário ativo, ou seja, os usuários que têm gostos semelhantes, uma vez que avaliaram os mesmos itens de forma semelhante. Assim, apenas itens mais apreciados pelos vizinhos do usuário serão levantados como boas recomendação, mesmo dentre os diferentes métodos de levantar essa informação Avaliações Esparsas: Um item pode possuir poucas avaliações de usuários; Métodos alternativos devem ser necessários para selecionar o que recomendar quando não há avaliações. Possíveis soluções: técnicas de aprendizagem de máquina, regras de associação, técnicas de recuperação de informação, entre outras. Primeiras Avaliações: Novos itens adicionados no sistema não possuirão avaliações de usuários. A filtragem colaborativa, individualmente, não é capaz de recomendar esses itens até que um número suficiente de usuários os avaliem. Cold-Start: Causado por novos usuários que não tenham apresentado quaisquer avaliações, e portanto não podem ser comparados a outros; Possibilidade de verificar dados do usuário (idade, país, religião, entre vários outros); Possibilidade de verificar preferências de usuário utilizando outros métodos (formulário múltipla escolha, por exemplo, com categorias de itens que o usuário pode afirmar ter preferência). Necessário verificar como que este usuário vai influenciar na recomendação de itens para os demais. (GATTO, 2012)

34 Filtragem Baseada em Conteúdo
Método baseado em recomendação de itens semelhantes aos que determinado usuário selecionou anteriormente. A filtragem de informação é baseada na análise do conteúdo do item (descrito por suas características ou atributos) e no perfil do usuário (que mantém registro de itens selecionados anteriormente); Conceito: usuários tem tendência a se interessar por itens semelhantes aos que já comprou anteriormente; Os sistemas de recomendação que utilizam filtragem baseada em conteúdo fazem a sugestão de itens que sejam semelhantes aos que usuário demonstrou interesse no passado. A aquisição das preferências neste tipo de filtragem apóia-se fortemente na descrição do conteúdo dos itens de informação (e.g. um filme poderia ser descrito pelo conjunto de atributos: nome, diretor, atores, ano, gênero). Com base nas opiniões que o usuário demonstra sobre itens da base e na descrição desses itens, o sistema deve ser capaz de criar um perfil que reflita os tipos de informação nos quais o usuário se interessa. (SAMPAIO, 2007)

35 Filtragem Baseada em Conteúdo
Meios de determinar similaridade e recomendações relevantes: Índices de busca booleana; Filtragem probabilística; Modelos vetoriais; Etc. Avaliação do item: Usuário informa sua opinião explicitamente ou o sistema registra itens adquiridos ou visitados pelo usuário.

36 Filtragem Baseada em Conteúdo
(GATTO, 2012)

37 Filtragem Baseada em Conteúdo
Características Positivas: Usuário Independente; Novo Item. Características Negativas: Análise de Conteúdo Limitada; Especialização; Novo Usuário. Características Positivas: Usuário Independente: Sistemas que utilizam este tipo de filtragem exploram apenas as avaliações fornecidas pelo usuário ativo para construir o seu próprio perfil e preferências. Novo Item: Novos itens registrados podem ser recomendados ao usuário por suas características, caso o usuário tenha adquirido um item semelhante em momento anterior. Características Negativas Análise de Conteúdo Limitada: Recomendações baseadas em conteúdo pode não ser capaz de trazer sugestões adequadas se as informações não forem suficientes para determinar o que o usuário prefere, ou mesmo o que o usuário não gosta. Especialização: Devido a sua natureza de se basear em itens semelhantes a anteriores adquiridos, este tipo de filtragem não apresenta itens inesperados ou diferenciados. O sistema sugere os itens cujas pontuações são altas quando comparadas com o perfil do usuário, portanto, o usuário sempre vai receber recomendações de itens semelhantes aos já exibidos, o que confere limitação se tratando de “novidades”; EXEMPLO: Em um sistema de recomendação de filmes, um usuário que só assistiu filmes de terror nunca receberá sugestões de romances. Novo Usuário: É necessário recolher dados do usuário para este tipo de sistema poder entender suas preferências e fornecer recomendações precisas (o que muitas vezes pode exigir grandes quantidades de dados); Para um novo usuário, o sistema não seria capaz de fornecer recomendações confiáveis, pois não possui dados suficientes do mesmo para tanto.

38 Filtragem Baseada em Conteúdo
Muito da pesquisa desta área tem focado em recomendar itens com conteúdo textual associado páginas web, livros e filmes; onde o conteúdo associado como descrições e avaliações de usuários estão disponíveis. Portanto, várias abordagens tratam este problema como uma tarefa de recuperação de informação, onde o conteúdo associado com as preferências do usuário é tratado como uma consulta; Documentos não-avaliados recebem uma nota de relevância/similaridade de acordo com esta consulta. (MELVILLE; SINDHWANI, 2010)

39 Filtragem Baseada em Conteúdo
Uma alternativa para abordagens de recuperação de informação é tratar recomendações como uma tarefa de classificação: Cada exemplo representa o conteúdo de um item, e as avaliações anteriores do usuário são usadas como rótulos para estes. Algoritmos utilizados nesta classificação: Vizinho K-mais-próximo; Árvores de Decisão; Classificador de Bayes; Redes Neurais. (MELVILLE; SINDHWANI, 2010)

40 Métodos Híbridos A filtragem de informação é baseada na análise do conteúdo do item e no perfil do usuário. As configurações possíveis são: e... Imagem de (GATTO, 2012)

41 Métodos Híbridos Imagem de (GATTO, 2012)
Para aumentar a eficiência dos sistemas de recomendação baseados nas técnicas de filtragem colaborativa e baseada em conteúdo, foram propostos vários métodos híbridos que combinam estes tipos de solução. Uma aproximação simples é permitir que ambos produzam listas separadas de recomendação, e então unir seus resultados para produzir uma lista final. Uma das abordagens usa uma média adaptativa de peso, onde o peso do componente colaborativo aumenta na medida em que os acessos de um determinado item pelos usuários aumentam. Algumas soluções híbridas são baseadas na filtragem colaborativa tradicional, mas também mantém um perfil baseado em conteúdo para cada usuário. Estes perfis, ao invés de serem itens co-avaliados, são usados para encontrar usuários similares. Em uma das abordagens, cada perfil de usuário é representado por um vetor de palavras balanceadas derivado de exemplos de treinamento positivo usando o algoritmo de Winnow. Estimativas são feitas aplicando filtragem colaborativa diretamente a matriz de perfis de usuário (ao invés da matriz de avaliações do usuário). Uma solução alternativa chamada usa informação de relevância para simultaneamente moldar um filtro pessoal em conjunto com um filtro de categoria comunitário. Os itens são inicialmente avaliados pelo filtro de categoria comunitário e então enviados ao filtro pessoal. A relevância para o usuário é utilizada para modificar ambos o filtro pessoal e o filtro comunitário. Também há métodos híbridos que tratam a recomendação como uma tarefa classificatória, e incorporam elementos colaborativos nessa tarefa. Um dos métodos é utilizar um sistema de indução de regras para aprender uma função que toma um usuário e um filme e estima se o filme vai ser apreciado ou não pelo usuário. Este métodcombina informações colaborativas e baseadas em conteúdo através da criação de parâmetros do tipo “comédias apreciadas por um usuário e usuários que gostaram de um filme de gênero X”.

42 Métodos Utilizados pelo Netflix
Matrix factorization (ou também matrix decomposition): Método híbrido; Em sua forma base, caracteriza ambos itens e usuários por vetores; Há vários métodos de diferentes de aplicar, cada qual destinado a determinadas classes de problemas; Ex: na análise numérica, para equações lineares, pode ser utilizada decomposição LU (lower upper). Consiste da fatoração de uma matriz em produtos de matrizes. Nota: o objetivo não é a explicação do método, e sim informar seu conceito.

43 Métodos Utilizados pelo Netflix
Restricted Boltzmann Machines (RBM): Base em filtragem colaborativa; Aplica distribuição de probabilidades em seu conjunto de parâmetros de entrada, de acordo com critérios específicos. Tipo padrão de RBM compõe: Unidades visíveis (v) e escondidas (h) de valores booleanos e pesos de compensação (a para “v” e b para “h”); Uma matriz simétrica de pesos W associada as unidades visíveis e escondida; Energia dada por: Nota: o objetivo não é a explicação do método, e sim informar seu conceito.

44 Métodos Utilizados pelo Netflix
Matrix factorization; Restricted Boltzmann Machines; Linear regression; Logistic regression; Elastic nets; Singular Value Decomposition; Markov Chains Latent Dirichlet Allocation Association Rules Gradient Boosted Decision Trees Random Forests Técnicas de clustering (ex: Affinity Propagation). Alguns métodos usados pela Netflix em seu sistema de recomendação. A Netflix informa que estes são os "principais que se deve saber se você está trabalhando com aprendizado de máquina para personalização“, ou seja, não são todos os métodos utilizados em seu sistema de recomendação.

45 Seção 3 Caso de uso Implementação de um sistema de recomendação simples

46 Implementação de um SR Implementação manual de um algoritmo simples para realizar recomendações Filtragem colaborativa baseada em usuários Filtragem colaborativa baseada em itens Utilização de ferramentas para implementação

47 Coletando preferências
Representando informações Um algoritmo de filtragem colaborativa normalmente trabalha pesquisando em um grande grupo de pessoas para encontrar um conjunto com gostos semelhantes ao seu. Existem várias diferentes formas de decidir quais as pessoas são semelhantes e combinar as suas escolhas, a seguir veremos algumas. Esta seção é baseada no conteúdo apresentado em (SEGARAN, 2007). A primeira coisa que é preciso fazer é encontrar uma maneira de representar diferentes pessoas e suas preferências. Em Python, uma forma muito simples de conseguir isto é utilizando um dicionário, conforme o código apresentado. Este dicionário usa uma classificação de 1 a 5 , como forma de expressar o quanto cada um desses críticos de cinema gostava de um determinado filme. Não importa como as preferências sejamexpressadas , é necessário encontrar uma forma de mapeá -las em valores numéricos . Em um site de compras, por exemplo , é possível usar o valor 1 para indicar que alguém comprou um item no passado e um valor 0 para indicar o contrário. Em outros casos, é possível utilizar o valor 1 para indicar que alguém gostou de algo, -1 para indicar que não gostou e 0 para indicar que não votou.  Utilizar um dicionário para armazenar estas informações é conveniente para fins de ilustração, mas em aplicações reais e grandes conjuntos de dados é adequado armazená-las em um banco de dados. 47

48 Encontrando usuários similares
Identificação de similaridade através da Distância euclidiana Após a coleta de dados sobre as preferências de cada usuário, é necessário encontrar uma maneira de determinar quais pessoas são semelhantes em seus gostos. É possível fazer isso comparando cada duas pessoas e calculando a pontuação de similaridade. Existem várias maneiras de fazer isso , e a seguir será apresentada a maneira mais simples: distância euclidiana, que utiliza os itens avaliados por ambos os usuários como eixos de um gráfico. É possível, então, verificar quão próximas elas estão uma da outra (SEGARAN, 2007). Um outro exemplo de distancia que pode ser utilizado é a correlação de Pearson.  Esta figura mostra as pessoas mapeados no espaço de preferência. Toby, por exemplo, foi plotado em 4,5 no eixo Snakes e em 1,0 no eixo Dupree . Quanto mais próximos dois usuários estiverem neste espaço, mais similares são suas preferências. Apesar de o gráfico ser bidimensional, o princípio é o mesmo para conjuntos com mais dimensões. A fórmula da distância euclidena será menor para as pessoas que estão mais próximas, mas isso é o contrário do que queremos, portanto, ela deve ser modificada adicionando 1 à função (evitando divisões por 0) e invertendo a função. A nova função sempre retorna um valor entre 0 e 1 ,  sendo que o valor 1 significa que as duas pessoas têm preferências idênticas.  48

49 Classificando usuários
É verificada a compatibilidade pela comparação de um usuário com todos os outros, através da métrica de distância previamente definida Exemplo: Distância Euclidiana Agora que com a função para comparar duas pessoas, é possível criar uma função que  encontra as pessoas mais similares, obtendo uma lista ordenada de pessoas com gostos semelhantes ao usuário em questão. Esta função compara uma pessoa com todas as outras usando uma das métricas de distância previamente definida (euclidiana, por exemplo). Em seguida, ele retorna os primeiros n itens dos resultados classificados (o score de similaridade e o nome da pessoa) (SEGARAN, 2007). 49

50 Recomendando itens Problemas ao considerar um único usuário similar
Exclui filmes que o mesmo não assistiu e inclui filmes que apenas ele gostou Solução: pontuação ponderada para os itens Foi possível encontrar os críticos similares, entretanto, o que o usuário realmente quer são recomendações. Seria possível apenas olhar para a pessoa que tem gostos mais semelhantes e verificar quais filmes ela gosta e o usuário ainda não assistiu. Entretanto, tal abordagem poderia excluir filmes o usuário gostaria mas a pessoa similar não assistiu, ou incluir um filme que ela gostou mas possui críticas negativas de todos os outros críticos similares. Para resolver esses problemas, é necessário produzir uma pontuação ponderada a partir dos usuários similares, ou seja, pegar suas avaliações e multiplicar por quão semelhantes eles são para o usuário em questão, conforme a tabela (SEGARAN, 2007). Esta tabela mostra o valor de similaridade para cada crítico em relação ao usuário em questão e as classificações que deram a três filmes ( The Night Listener , Lady in the Water , e Just My Luck ) que o usuário não avaliou. As colunas iniciando com Sx mostram o valor de semelhança multiplicado pela classificação , assim uma pessoa que é semelhante ao usuário vai contribuir mais para a pontuação geral do que uma pessoa que tem gostos diferentes. A linha Total mostra a soma desses valores. Para evitar que os filmes avaliados por mais pessoas tenham vantagem na classificação total, é necessário dividir pela soma da similaridade de todos os críticos que avaliaram o filme. A última linha indica os resultados desta divisão. O resultado destas operações são não apenas uma lista de classificação dos filmes, mas também um palpite sobre qual seria a avaliação do usuário para cada filme. 50

51 Relacionando itens Utilizado em sites de compras on-line
Não possui muitas informações sobre o usuário É possível utilizar os métodos implementados anteriormente Basta inverter o dicionário e chamar a função de similaridade: Agora já é possível recomendar produtos, mas quando o objetivo é ver quais os produtos que são semelhantes entre si, como em sites de compra on-line, é possível determinar a semelhança verificando quem gostou de um item e quais outros itens essas pessoas gostaram. Este é na verdade o mesmo método utilizado anteriormente, bastando inverter as pessoas e os itens. Assim, é possível pode usar os mesmos procedimentos de antes, se o dicionário for transformado como na imagem. (SEGARAN, 2007) Chamando a função de similaridade de usuários retorna agora o conjunto de filmes mais similares. No exemplo mostrado,existem correlações negativas, o que significa que as pessoas que assistem um dos filmes tendem a não gostar do outro. Nem sempre é claro que invertendo as pessoas e itens trará a resultados úteis , mas em muitos casos, ele permitirá comparações interessantes . Um vendedor on-line por exemplo, pode coletar históricos de compra com a finalidade de recomendar produtos para indiindivíduos . Invertendo os produtos com as pessoas, permitiria que ele procurasse por pessoas que possam comprar determinados produtos.  51

52 Filtragem baseada em itens
Computar recomendações a partir todas as avaliações envolve muitas operações Depende do número de usuários e de avaliações de cada usuário Filtragem colaborativa baseada em itens é mais adequada para grandes volumes de dados Cálculos realizados antecipadamente Similaridade entre itens muda com menos frequência A forma como o mecanismo de recomendação foi implementada requer o uso de todas as avaliações de cada usuário para criar um conjunto de dados. Isto provavelmente funcionará bem para alguns milhares de pessoas ou itens , mas sites grandes como a Amazon tem milhões de clientes e produtos, e portanto, comparar um usuário com todos os outros usuários e comparar cada produto que cada usuário já avaliou pode ser muito lento. Além disso, um site que venda milhões de produtos pode ter muito pouca sobreposição entre as pessoas , tornando difícil decidir quais as pessoas são semelhantes (SEGARAN, 2007). A técnica utilizada até agora é chamada de filtragem colaborativa baseada em usuário, e uma alternativa é conhecida como filtragem colaborativa baseada em item. Nos casos com grande conjuntos de dados , filtragem colaborativa baseada em item pode trazer melhores resultados  e permite que muitos dos cálculos sejam realizadas com antecedência para que as recomendações sejam geradas rapidamente (SEGARAN, 2007). O procedimento de filtragem baseada em itens utiliza bastante do que já foi apresentado. De forma geral, a técnica geral computa previamente os itens mais semelhantes à cada item, e então, quando for necessário realizar uma recomendação, basta olhar para a lista de itens melhores avaliados do usuário em questão e buscar a lista ponderada dos itens similares a eles. A principal diferença é que embora todo o conjunto de dados seja examinado no primeiro passo, as comparações entre os itens não mudam tão frequentemente quanto as entre os usuários, e portanto não é necessário recalcular isto o tempo inteiro, podendo ser feito em períodos de baixo tráfego ou em um ambiente separado da aplicação principal (SEGARAN, 2007). 52

53 Construindo o conjunto de similaridades
Etapas: Transformar o dicionário para o formato itens => classificações Iterar sobre cada item e calcular o valor de similaridade com os outros Criar um dicionário com a lista dos itens mais similares Precisa ser executado apenas para manter a lista de similaridades atualizada Para comparar itens, o primeiro passo é escrever uma função para construir o conjunto de itens semelhantes.  Para gerar o conjunto de dados, é criada uma função que inverte o dicionário  como comentado anteriormente , resultando em uma lista de itens juntamente com como eles foram classificados por cada usuário. Em seguida, é feito um loop sobre cada item e é calculado o valor de similaridade dele com todos os outros itens. Finalmente, é criado um dicionário de itens com uma lista dos itens mais similares (SEGARAN, 2007). É bom lembrar que esta função só precisa ser executada com freqüência suficiente para manter a lista de similaridades atualizada. É necessário fazer isso mais vezes no início, quando a base de usuários e o número de avaliações são pequenos, mas conforme a base de usuários cresce, os valores de similaridade entre os itens tendem a se tornar mais estáveis (SEGARAN, 2007). 53

54 Recomendando itens Verificar todos os itens que um usuário avaliou
Encontrar os itens similares Ponderá-los através do dicionário de itens Agora é possível realizar recomendações usando o dicionário de semelhança entre itens sem percorrer o conjunto de dados inteiro.  Basta pegar todos os itens que um usuário avaliou, encontrar os itens similares e ponderá-los de acordo com quão similares eles são através do dicionário de itens  (SEGARAN, 2007).  Cada linha da tabela representa um filme que o usuário já viu junto com sua avaliação. Para cada filme que o usuário não viu , há uma coluna que mostra o quanto ele é similar aos filmes que já foram vistos. Por exemplo, a pontuação de similaridade entre Superman e The Night Listener é 0,103 .  As colunas que começam com Rx mostram a classificação do usuário para o filme, multiplicada pela semelhança - Superman foi avaliado 4.0,  então o valor de R.xNight é 4,0 × 0,103 = 0,412. A linha Total mostra a soma dos valores. Para prever a avaliação do usuário para um filme, basta dividir o total da coluna R.x pelo total da coluna de similaridade. A classificação do usuário para The Night Listener é, portanto, 1.378/0.433 = 3,183. 54

55 Algoritmo implementado
Este fluxograma ilustra os passos desenvolvidos no algoritmo para a filtragem baseada em usuários. Os passos para filtragem baseada em itens são fundamentalmente os mesmos, apenas muda a forma de representação dos dados, como explicado anteriormente. 55

56 Ferramentas Apache Mahout MyMediaLite
Biblioteca para aprendizado de máquina, classificação, clustering e recomendações Fornece ferramentas para construir SR variados Trabalha sobre Apache Hadoop Framework open-source para escalabilidade através de computação e armazenamento distribuídos. Opensource com licença Apache 2.0 MyMediaLite Biblioteca leve para construção de algoritmos para sistemas de recomendação Opensource com licença GPL 56

57 Ferramentas Duine GraphLab Lenskit
Framework para criar mecanismos de predição (calcula quão interessante um item é para um usuário) Opensource com licença LGPLv3 GraphLab Originalmente escrito para tarefas de aprendizado de máquina, mas é atualmente utilizado para um grande número de tarefas de data mining Oferece um toolkit para filtragem colaborativa Opensource com licença Apache 2.0 Lenskit Toolkit para construir, pesquisar e estudar sistemas de recomendação Opensource com licença GPL

58 Seção 4 Estudos de caso

59 Estudos de Caso Netflix Google AdSense

60 Estudo de Caso: Netflix
Netflix: serviço de TV por internet. Importância da Recomendação ao Netflix: Em 2006, criou uma competição que premiaria em 1 milhão de dólares quem conseguisse melhorar seu algoritmo (Netflix Prize); Em 2012, 75% do conteúdo visualizado do Netflix foi proveniente de algum tipo de recomendação; Maior importância: personalização das recomendações ao usuário ativo, a ordenação dos itens recomendados é o parâmetro principal. Conforme definição da Netflix em seu website (https://signup.netflix.com/MediaCenter?id=5380#rhastings): “A Netflix é o principal serviço de TV por Internet, com mais de 40 milhões milhões de assinantes em mais de 40 países assistindo a mais de um bilhão de horas de filmes, séries de TV e produções originais por mês. Por um preço mensal baixo, o assinante Netflix pode assistir a quantos filmes e séries quiser, quando e onde quiser, em praticamente qualquer tela com conexão à Internet. O assinante pode assistir, pausar e voltar a assistir a um título sem comerciais e sem compromisso.” Os assinantes Netflix podem assistir em seus computadores, smartphones, tablets, smart TVS, aparelhos de Blu-Ray, consoles de jogos, como PlayStation 3, XBox, Wii e outros. Existe uma lista dos aparelhos compatíveis, na Wikipédia em Inglês, note que os aparelhos podem variar de acordo com o país. A Netflix entrou em funcionamento no mercado brasileiro no dia 5 de setembro de A assinatura do serviço inicialmente custava R$ 14,90 ao mês sendo ajustado para R$ 16,90 em O primeiro mês é grátis para quem paga com cartão de crédito ou débito automático. A primeira série produzida para o "Netflix Brasil" foi "A Toca" (pela Parafernalha) e tem o ator Felipe Neto no elenco.

61 Estudo de Caso: Netflix
Organização do Estudo – Netflix: Netflix Prize Sistema de Recomendação Netflix Parâmetros Analisados para Recomendação Ordenação dos Itens Recomendados Conclusão

62 Netflix: Netflix Prize
$1 milhão ao vencedor; Critério de vitória: superar o RMSE do algoritmo existente da Netflix (0,9525) em pelo menos 10%. Prêmio melhor progresso anual: $50 mil; Início em 2006 e término em 2009; Vencedor do primeiro Prêmio de Progresso: Equipe da Korbell 8,43% de melhoria; Conjunto de 107 algoritmos. Dois algoritmos aproveitados: Matrix Factorization e Restricted Boltzmann Machines. Em 2006 foi anunciado o “Prêmio Netflix”, uma competição de data mining e aprendizado de máquina para predição de classificação de filmes. Foi oferecido o prêmio de 1 milhão de dólares a qualquer competidor que aumentasse a precisão do sistema existente, nomeado como Cinematch, em torno de 10%. Foi conduzida esta competição para encontrar novas maneiras de melhorar as recomendações fornecidas aos membros, uma parte chave do ambiente de negócio da Netflix (AMATRIAIN; BASILICO, 2012). Contudo, era necessário informar um parâmetro fácil para avaliar e quantificar e o parâmetro escolhido foi a Raiz Quadrada do Erro Quadrático Médio (RMSE – Root Means Square Error) da classificação prevista. A corrida era para vencer o RMSE de 0,9525 obtido pela Netflix, portanto a linha de chegada estava em torno de 0,8572. No primeiro ano de competição, o time da Korbell venceu o primeiro Prêmio de Progresso (oferecido anualmente, no valor de 50 mil dólares), com uma melhoria de 8,43%, com cerca de 2000 horas trabalhadas para chegar a uma combinação final de 107 algoritmos que lhes forneceu o prêmio. E conforme estipulado nas regras, eles forneceram o código fonte da aplicação. Os dois melhores entre o conjunto de algoritmos foram levados, conhecidos como Matrix Factorization (Fatoração de Matrizes) e Restricted Boltzmann Machines (RBM), estes já relacionados e explicados na seção 2. Sozinhos, estes algoritmos forneceram, respectivamente, RMSE 0,8914 e 0,8990. Uma mistura linear dos dois reduziu o erro para 0,88. Para usar estes algoritmos, algumas limitações tiveram de ser quebradas, como por exemplo a de que eles foram construídos para agüentar 100 milhões de classificações, ao invés das mais de 5 bilhões que o Netflix possui. Em adição, os algoritmos não foram construídos para se adaptarem ao fator de que usuários adicionavam mais avaliações. Superadas estas restrições, os algoritmos passaram a fazer parte do sistema de recomendação da Netflix (AMATRIAIN; BASILICO, 2012).

63 Netflix: Netflix Prize
Melhor Resultado: BellKor’s Pragmatic Chaos Melhoria de 10,06%. Quanto ao algoritmo vencedor do grande prêmio, que atingiu os 10%, foi avaliado que os novos métodos empregados não adicionavam ganhos significativos o suficiente para valer o esforço que seria necessário para colocá-los em produção. Em adição, o foco passou a ser a melhorar da personalização do Netflix. Uma das razões para essa mudança de foco do sistema de recomendação é porque o Netflix mudou consideravelmente seus serviços (AMATRIAIN; BASILICO, 2012). O motivo da mudança de foco iniciou em 2007, o Netflix lançou seu serviço de streaming instantâneo, um ano após o Prêmio Netflix começar. Não somente isto alterou a maneira como os membros interagiam com o serviço, mas também os tipos de dados disponíveis para se utilizar nos algoritmos. Para DVDs (escopo inicial do serviço), o objetivo é ajudar as pessoas a escolher o maior número de títulos para demanda para recebem pelo correio em alguns dias ou semanas. Neste caso, a seleção está distante da visualização, e as pessoas escolhem cuidadosamente pois trocar um DVD por outro demora mais que um dia, e não há nenhum feedback durante ou após a visualização (AMATRIAIN; BASILICO, 2012). Em outro contexto, membros de streaming procuram algo de sua preferência para assistir e no momento que acessarem o serviço. Eles podem simplesmente experimentar alguns vídeos antes de se decidir por assistir completamente um deles, ou seja, podem consumir vários em apenas uma sessão, e é possível levantar estatísticas de quais vídeos foram assistidos por completo e quais foram assistidos parcialmente. Outra grande mudança foi a troca de um único website para milhares de dispositivos: Roku player, Xbox, iPhone, PlayStation 3, entre outros. Esta troca teve início em 2008, dois anos já dentro do Prêmio Netflix. Em 2011, foram adicionados 43 países latino americanos ao serviço oferecido. Atualmente o Netflix conta com filmes regionais de alguns países, assim como de outras regiões do mundo, não estando restrito a apenas filmes americanos (AMATRIAIN; BASILICO, 2012). O Netflix adaptou seus algoritmos de personalização ao novo cenário descrito de uma maneira que, no ano de 2012, 75% do que foi assistido é proveniente de algum tipo de recomendação. Este ponto foi atingido principalmente por melhorias constantes na experiência do usuário, no qual os aumentos de satisfação foram identificados principalmente quando a personalização do Netflix para o usuário era melhorada (AMATRIAIN; BASILICO, 2012).

64 Netflix: Sistema de Recomendação
Sistema de Recomendação Netflix Tudo se torna uma recomendação! Recomendações arranjadas em grupos colocados em linhas, e cada coluna é um item do grupo. Ao longo dos anos a equipe do Netflix identificou o tremendo valor de incorporar recomendações para personalizar tanto do Netflix quanto possível. A iniciar pela homepage, que consiste de grupos de vídeos sugeridos arrumados em linhas e colunas, sendo que cada linha representa um grupo e cada coluna um item daquele grupo. Naturalmente, os itens das colunas são relacionados por uma característica semelhante, esta geralmente ligada ao grupo (AMATRIAIN; BASILICO, 2012). Boa parte da personalização desta página ao usuário é baseada na maneira como as colunas são selecionadas, ou seja, como determinar que itens devem ser incluídos nelas, e em qual ordem colocá-los. Por exemplo, os itens sugeridos no Top 10 do usuário é a melhor aposta de recomendação do Netflix para itens que provavelmente o usuário ativo vai gostar. Claro que a conta de usuário em questão pode ser utilizada por mais de uma pessoa, o que implica na possibilidade de diferentes gostos. Tomando uma família como exemplo, portanto, é possível achar no Top 10 itens recomendados ao pai, a mãe e os filhos, ou mesmo para toda a família. Mesmo que ocorra de só haver uma pessoa utilizando a conta, o Netflix ainda propõe que a diversidade é uma parâmetro importante a ser otimizado na recomendação, e não somente a precisão, portanto sua principal sugestão no Top 10 é atingir boa parte dos interesses do usuário (AMATRIAIN; BASILICO, 2012).

65 Netflix: Parâmetros Analisados
Principais Parâmetros de Recomendação: Semelhança (ou Similaridade); Amigos (social); Popularidade; Gênero (ou Categoria); Outros parâmetros podem incluir localização geográfica do usuário ou dados retirados de seu perfil ou outros acessos. Algoritmos observam estes parâmetros em conjunto, não separados. Um elemento importante na personalização do Netflix é a preocupação com informar o usuário das razões pelas quais ele está recebendo determinadas recomendações. O Netflix aposta na informação ao usuário de como está se adaptando aos seus gostos, o que não apenas promove a confiança no sistema, como encoraja os membros a fornecer o feedback que vai resultar em recomendações melhores. O usuário então se torna ciente de que não está recebendo as recomendações porque são melhores ao negócio do Netflix, mas sim porque elas vão de encontro as informações fornecidas por ele: seu gosto explícito e classificações, histórico de visualização e até mesmo recomendações de amigos (AMATRIAIN; BASILICO, 2012).

66 Netflix: Parâmetros Analisados
Similaridade A semelhança ou similaridade (apresentada também na seção 3) é uma fonte importante de personalização nos serviços da Netflix, sendo este um tópico bastante amplo para abordagem: ela pode ser tanto entre características de filmes quanto entre perfis de membros, e pode ser ainda ser multidimensional, tratando de classificações, metadados ou dados de visualização. Em adição, estas similaridades podem ser misturas e usadas como parâmetros adicionais na recomendação baseada em um parâmetro diferente de similaridade (AMATRIAIN; BASILICO, 2012). Portanto, a similaridade pode ser utilizada em múltiplos contextos e analisando diferentes ações, por exemplo em resposta a uma ação de usuário como por exemplo buscar ou adicionar um título de filme na lista. Também é possível criar gêneros temporários baseados na similaridade de filmes que o usuário tenha assistido recentemente (AMATRIAIN; BASILICO, 2012).

67 Netflix: Parâmetros Analisados
Similaridade

68 Netflix: Parâmetros Analisados
Similaridade: Gêneros Temporários

69 Netflix: Parâmetros Analisados
Sugestões de amigos (social) O Netflix apresenta conexão com o Facebook na maioria dos países em que opera. Isto permite levantamento sobre os amigos do usuário, não somentedando ao Netflix outro parâmetro para utilizar em seus algoritmos de personalização da recomendação, como também permitindo que estas recomendações se apoiem em seu círculo social para obter informações (AMATRIAIN; BASILICO, 2012). Esta característica assume a afirmação do provérbio “Me diga com quem andas, e lhe direi quem tu és.” para cruzar informações entre perfis de usuários que possuem alguma relação social.

70 Netflix: Parâmetros Analisados
Popularidade: Através da avaliação dos usuários para os itens assistidos; Através do número de visualizações dos itens, parciais e totais; Netflix possui um mecanismo para medir a popularidade de itens no Facebook, e não apenas em seu sistema. O sistema de avaliação com cinco estrelas é o sistema mais evidente no Netflix para a avaliação da popularidade de um item, mais especificamente de sua reputação. Contudo, não é o único parâmetro capaz de mensurar a popularidade, o número de visualizações também influencia nesta características. Como o Netflix valoriza a diversidade, é possível definir diversas métricas para decidir um escolhido: o item menos popular será o preferido, o item mais popular será o preferido; ou então: a característica de visualizações completas fornece maior relevância na popularidade e recomendação do que as visualizações incompletas, entre outras (AMATRIAIN; BASILICO, 2012). A ligação com o Netflix permite verificar a relevância de conteúdo do Facebook no Netflix, sedo mais um parâmetro de avaliação de popularidade.

71 Netflix: Parâmetros Analisado
Gêneros: Trata-se da organização dos filmes em linhas determinadas por gêneros. Os gêneros de alto nível, mais comuns, são os que geralmente se enquadram os filmes: comédias, dramas, suspense, terror, ação, etc. Filmes também podem ser enquadrados em subgêneros diversos. O método de recomendação por gênero é provavelmente o mais simples e conhecido dos métodos. Trata-se de alinhar filmes de um gênero ou subgênero em comum. Estes podem variar desde gêneros de alto nível, como por exemplo “comédias” e “dramas”, até subgêneros bastante específicos, como por exemplo “Filmes de Vingança”. Cada coluna representa três camadas de personalização para o usuário: o gênero dado, o arranjo de títulos para o gênero informado e a ordenação destes títulos. Como as recomendações baseadas em gênero são bastante populares, uma forma simples do usuário procurar algo dentro do escopo que deseja e também fáceis de compreender, o Netflix investe também na capacidade de seu sistema de recomendação de colocar as linhas de gêneros favoritos do usuário mais próximos do topo da lista de recomendação. Entre outros parâmetros de personalização, também são levadas em conta a diversidade e as novidades disponíveis quando decidindo quais dos gêneros/subgêneros mostrar dos diversos possíveis (AMATRIAIN; BASILICO, 2012).

72 Netflix: Parâmetros Analisados
Gêneros: exemplos de subgêneros

73 Netflix: Parâmetros Analisados
Ordenação: Encontrar a melhor ordem para exibição de itens de cada arranjo; Analisa e atribui ordem de acordo com um ou mais critérios de preferência do usuário ou popularidade do item; É considerada muito importante ao Netflix, pois é fator principal da personalização usuário – serviço. Na maioria dos contextos anteriores, seja na linha Top 10, nas linhas de gênero ou dos similares, a ordenação, a escolha de qual ordem colocar os itens nas colunas de cada linha, é uma consideração crítica e uma decisão importante a se tomar quando se tratando da experiência desejada de personalização. O objetivo do sistema de ordenação é encontrar a melhor ordem possível para um arranjo de itens de um usuário, dentro de um conceito específico, em tempo-real. Ele trata de atribuição de notas, ordenação e filtragem em conjuntos de filmes para apresentação a um membro, visando como objetivo maximizar a satisfação do cliente para mantê-lo satisfeito e manter o contrato do serviço, fatores diretamente relacionados com a maximização de conteúdos de vídeo. Desta forma, os algoritmos são otimizados para dar as maiores notas a títulos em que exista grande probabilidade que o usuário visualize e aproveite (AMATRIAIN; BASILICO, 2012). Naturalmente, também são levados outros parâmetros em conta, como contexto, popularidade, interesses do usuário, diversidade, novidade, entre outros. Apoiar todos os diferentes contextos requer grande gama de algoritmos capazes de atender e trabalhar com estes contextos (AMATRIAIN; BASILICO, 2012).

74 Netflix: Ordenação de Itens
Ordenação: exemplo simples de ordenação O objetivo de um sistema de recomendação é apresentar o maior número de itens atrativos para o usuário ativo. Isto é normalmente realizado através da seleção de itens e ordenação destes de forma que o item em questão satisfaça as expectativas do usuário (ou ao menos lhe seja útil de alguma forma). Como o jeito mais comum de representar itens recomendados é na forma de lista, como é o caso do Netflix, é importante que o modelo de ordenação seja apropriado e possa usar uma grande variedade de informações para atingir a melhor solução de ordenação de itens para cada um dos usuários (AMATRIAIN; BASILICO, 2012). A linha principal e mais óbvia para se seguir neste quesito é observar a popularidade do item. A razão é que se assume a premissa de que, em médio, uma pessoa tende muito mais a assistir algo que muitos outros já assistiram ou estão assistindo. Contudo, a popularidade é diretamente oposta a personalização, parâmetro desejado a todo custo na recomendação da Netflix. Se levada apenas a popularidade em conta, a ordem de vídeos nas fileiras seria a mesma para todos os membros. Neste caso, é necessário utilizar uma função que utilize parâmetros melhores do que apenas a popularidade do item, para satisfazer melhor os usuários que possuem diversas preferências (AMATRIAIN; BASILICO, 2012). Uma aproximação simples, neste caso, é usar uma classificação preditiva baseando-se em itens parecidos que o usuário já visualizou, em conjunto com a popularidade. Usar classificações preditivas sozinhas para ordenação pode levar a recomendação de muitos itens não conhecidos ou de mesmo nixo, e pode excluir itens que o usuário poderia querer assistir mesmo que fosse acabar não gostando tanto deles assim, e atribuir uma classificação mais baixa. Sendo assim, utilizar os parâmetros de popularidade e classificações preditivas em conjunto é uma forma exemplo de compensar algumas das desvantagens de utilizar um ou outro parâmetro individualmente. Existem diversas maneiras que alguém pode construir uma função desta, um exemplo de variação do uso dos dois parâmetros é atribuir diferentes pesos para popularidade e classificação preditiva. A figura de exemplo mostra uma ordenação e classificação muito simples do uso destes dois parâmetros em uma função. É possível perceber que o melhor resultado tem a melhor popularidade, mas não a melhor classificação preditiva. O segundo melhor possui boa classificação preditiva, porém sua popularidade está longe de ser a mais alta. É importate lembrar que os pesos também podem ser definidos pelos usuários (até mesmo para o usuário ativo, que definem o que é mais importante para si: popularidade ou classificação baseada na semelhança com outros itens já avaliados). Outra maneira é definir os pesos diretamente na função determinada (AMATRIAIN; BASILICO, 2012). Naturalmente, o exemplo serve apenas para uma ilustração simples de como parâmetros podem se relacionar na ordenação. O sistema de recomendação do Netflix toma mais alguns parâmetros a parte de popularidade e classificação preditiva. Dos vários parâmetros testados, alguns não mostram resultados positivos enquanto outros melhoram a precisão da ordenação de forma tremenda (AMATRIAIN; BASILICO, 2012).

75 Netflix: Conclusões Sistema de recomendação Netflix utilizada métodos híbridos; O sistema de recomendação é parte fundamental da experiência usuário – serviço, vez que boa parte da visualização de itens é por recomendação; A equipe Netflix busca constantemente a melhoria de seu sistema de recomendação direcionado a personalização, mostrando reconhecimento da importância deste como diferencial do serviço. É possível afirmar que o Netflix utiliza métodos híbridos pelo simples fato de que eles utilizam informações mistas: Envolvem definições do usuário e levantamento de suas preferências e acessos e comparação entre itens dentro destas preferências (base em conteúdo). Também fazem levantamento da avaliação de diversos usuários, desde avaliação das 5 estrelas até número de acessos parciais e totais nos vídeos (filtragem colaborativa). Também é possível lembrar a lista (incompleta) de métodos utilizada pelo Netflix, apresentada na seção 2, que possui tanto métodos voltados para filtragem colaborativa quanto baseada em conteúdo.

76 Estudo de Caso: Google AdSense
Organização do Estudo: AdSense e AdWords Funcionamento do AdSense Site Parceiro: Implantação e Vantagens Parâmetros Analisados Conclusão

77 AdSense e AdWords Google AdSense: Google AdWords: Definição;
Local de Aplicação; Vínculo direto com o Google AdWord. Google AdWords: Funcionamento; Local de Publicação. AdSense: Conforme definição disponível pela Google (https://support.google.com/adsense/answer/76231?hl=pt-BR ): “O programa Google AdSense exibe anúncios do Google AdWords em websites individuais. O Google paga aos editores da web para que os anúncios sejam exibidos em seus sites, com base nos cliques de usuários, nos anúncios ou nas impressões de anúncios, dependendo do tipo de anúncio.” Os donos destas páginas determinam uma posição em sua página da web onde serão disponibilizados os links patrocinados. Antes de proceder com mais detalhes do AdSense, é necessário comentar um pouco sobre o Google AdWords, no qual o AdSense se baseia para retirar os anúncios que serão exibidos nas páginas da web dos colaboradores. É interessante também comentar esta ferramenta associada pois ela tem seu próprio mecanismo de recomendação para análise. AdWords: Definição: É o serviço de Links patrocinados do Google, criado no intuito de disponibilizar um espaço nas páginas de busca para anunciantes que desejam exibir seus produtos e serviços para bilhões de internautas. O Google foi criado em 1998 e apenas três anos mais tarde já havia se tornado referência mundial como mecanismo de busca da internet. Seus fundadores então precisaram adquirir rentabilidade de alguma forma, e nada melhor do que aproveitar do tráfego expressivo de usuário que possuíam. Foi necessário desembolsar 300 milhões de dólares na época para adquirir licença para utilizar a patente dos Links Patrocinados. O investimento deu tão certo que o mecanismo, batizado de Google AdWords, passou a gerar bilhões. É o sistema de Links Patrocinados mais difudido da internet pelo fato de seu hospedeiro ser o número 1 de acessos na rede mundial. Contudo, seu sucesso não se baseia apenas no vínculo: a ferramenta passou por inúmeras melhorias ao longo do tempo a fim de tornar as buscas mais segmentadas, o que garante ao anunciante maior vantagem competitiva, uma vez que o sistema identifica e relaciona a busca do internauta por palavra-chave, perfil e localização geográfica. Naturalmente, o usuário também recebe vantagens: respostas mais precisas que lhes poupam tempo (O QUE É O GOOGLE ADWORDS). Funcionamento: O usuário faz o cadastro de sua empresa e seus anúncios no sistema do AdWords, atribuindo também palavras-chaves de seu serviço e/ou produto (de acordo com o que acredita que seu cliente vai inserir no mecanismo de busca quando estiver procurando algo relacionado a sua área de negócio). Quanto mais precisas as palavras chaves, maiores as probabilidades de atingir o público- alvo. É interessante ressaltar que aqui se difere da publicidade tradicional: somente quem tem interesse na sua área de negócio está visualizando o anúncio. Detalhe interessante é que, o anunciante paga apenas quando um usuário clica em seu anúncio (Custo por Clique), sendo uma maneira muito justa de fazer a publicidade (o valor pago é É proporcional ao retorno recebido). Outras opções permitem configurar quanto se deseja pagar por dia. Se o anúncio apenas aparece no Google, sem receber cliques, não é feita cobrança alguma. Outro detalhe é que você pode alterar seu anúncio conforme desejar, e também ativá-los ou desativá-los conforme julgar necessário. (O QUE É O GOOGLE ADWORDS) Local de Publicação: Quando o usuário utiliza o Google e insere uma consulta de pesquisa por uma palavra ou frase, ele é rapidamente encaminhado para uma página de resultados desta consulta. No lado esquerdo desta página estão os resultados de pesquisa, que são apresentados e ordenados com base num processo de analise complexo e automatizado criado pela Google. Este se baseia num nível de relevância dos sites associados a sua pesquisa. Não é possível influenciar diretamente esses resultados. No entanto também existem blocos de textos que o conteúdo pode de fato influenciar: estes são os Links Patrocinados, que aparecem no lado direto da pagina de resultados e, em alguns, casos no topo. Quando um usuário do Google fizer uma pesquisa relacionada com o negocio de determinado anunciante, é garantido que um link para o site deste anunciante apareça com os resultados dessa pesquisa e poderá escolher quando e onde o seu anúncio deve ser apresentado. A posição do link patrocinado na lista é parcialmente determinada pelo valor que você decidir pagar para cada clique. Outra parcial relevante de determinação da posição do link ocorre pela relevância do seu anúncio em relação à pesquisa. Desta forma, quanto mais segmentado o anúncio e sua lista de palavras-chave, menos dinheiro terá de investir para garantir a apresentação do anúncio nas posições de destaque. Por fim, é necessário lembrar que outros fatores, como a localização geográfica, também possuem influência nos resultados. Em 2010, o Google também criou um mecanismo de busca que utiliza o histórico de pesquisa dos usuários como fonte de dados para trazer anúncios mais relevantes a estes.

78 AdSense e AdWords Exemplo AdWords: Busca por “Anúncios do Google”
No exemplo acima, é possível notar que o AdWords pode apresentar anúncios tanto do lado direito da coluna de resultados da pesquisa quanto antecedendo os resultados da pesquisa. Quando se realiza uma busca por produtos como celulares, por exemplo, os anúncios mais comuns que surgem na página são de aplicações de comércio eletrônico para venda de aparelhos. Desta forma, é possível compreender o quão interessante pode ser contratar o serviço do AdWords, uma vez que seu serviço/produto será listado nestes assuntos uma vez que utilizada alguma das palavras- chaves determinadas para o mesmo no mecanismo de pesquisa do Google.

79 AdSense: Funcionamento
Funcionamento do AdSense: Baseado nos anúncios do AdWords: Os dois sistemas se complementam; Modelo impulsiona o crescimento do comércio eletrônico e garante lucros para a Google; Entidades envolvidas: Anunciante: cria o anúncio e paga sua manutenção; Editor do site parceiro: hospeda anúncios em sua página da web; Ferramenta Google AdSense: gerenciar os anúncios e atribui anúncios condizentes nas páginas dos parceiros. Baseado nos anúncios do AdWords: Primeramente, a Google desenvolveu o AdWords, o sistema de anúncios vinculados aos resultados da busca. Posteriormente, lançou o AdSense, um sistema gerenciador de publicidade para sites ou blogs, na qual os anúncios captados através do AdWords são exibidos. Os dois sistemas se complementam para constituir uma modelagem de negócio que potencializa o crescimento do e- commerce e garante grandes lucros para a Google. Funcionamento: Conforme informado, o AdSense é baseado nos anúncios cadastrados no sistema AdWords. Sendo assim, o AdSense baseia sua funcionalidade na relação entre três entidades: ANUNCIANTE: Insere no sistema AdWords os anúncios que deseja ver publicados na rede de parceiros do Google. Para a publicação no Google AdSense o anunciante pagará um valor por clique (CPC – Custo por Clique) que varia de acordo com a concorrência por palavras-chave escolhidas. EDITOR DO SITE PARCEIRO: O website que deseja incorporar em seu espaço os anúncios Cede ao Google AdSense os espaços nas suas páginas de conteúdo onde deseja inserir os anúncios expostos. FERRAMENTA GOOGLE ADSENSE: Localiza na rede de parceiros AdSense um site ou blog cujo conteúdo seja relacionado ao produto que está sendo anunciado. O Google cede ao site parceiro o direito de utilizar esta ferramenta de tecnologia de gerenciamento de anuncios AdSense. (FELIPINI, GOOGLE...) Para tornar mais claro como um empreendedor da Internet se insere nesse modelo de negócios, imagine que você possua uma loja virtual e também edite um blog. Para anunciar sua loja virtual, você se cadastra no AdWords, cria os anúncios e começa a aparecer nos resultados da busca e nas páginas dos sites parceiros do Google. Já no caso do blog, para monetizar o conteúdo você se cadastra no AdSense, escolhe onde os anúncios vão aparecer e copia alguns códigos fornecidos para sua página. O Google decide quais anúncios serão publicados em seu blog baseado no conteúdo do mesmo e encontra os anunciantes adequados. Moral da história: você é duplamente cliente do Google: como anunciante no Adwords e como editor de blog parceiro no Adsense. No primeiro caso você paga para anunciar, no segundo caso você recebe uma parte do valor pago pelo anuncio e o restante é do Google pelo trabalho de fazer tudo isso acontecer. Pode-se até imaginar uma situação inusitada na qual você veria o anúncio de sua loja virtual em seu próprio blog. Só não pense em clicar, pois a sua comissão será necessariamente menor do que o custo desse clique. Alguém poderia questionar por que o próprio editor não pode instalar um sistema gerenciador de publicidade em seu site e procurar anunciantes? É claro que isso é possível, mas quem já tentou fazer sabe que na maioria absoluta dos casos não é compensador. A dificuldade de conseguir anunciantes e negociar valores aceitáveis é muito maior que a possível receita e o tempo é um bem precioso demais para o pequeno empreendedor, portanto o Adsense é realmente uma grande solução. Juntos, os dois sistemas dão um gigantesco impulso ao e-commerce, além é claro, de consolidar cada vez mais a Google, como a grande referência da Internet. (FELIPINI, ADWORDS...)

80 AdSense: Site Parceiro
Site Parceiro –Vantagens de ser parceiro: Lucro de percentual por clique para o site parceiro apenas disponibilizando espaço; Acesso simples e instantâneo a milhares de anunciantes; Ferramenta controla os anúncios, sendo desnecessária manutenção de anúncios ou da forma que são selecionados. Vantagens ao site parceiro: A principal vantagem do Google AdSense é que para cada clique em um anúncio, o AdSense credita um percentual do valor do clique para o site parceiro. Para os editores de pequenos sites e blogs que tinham muita dificuldade em gerar receitas, o AdSense representa uma grande oportunidade de acesso gratuito e instantâneo a milhares de anunciantes. Além disso, a tecnologia do AdSense permite um controle total sobre o desempenho dos anúncios e facilita muito o gerenciamento e realização de ações de melhoria nos resultados do site. (FELIPINI, GOOGLE...)

81 AdSense: Site Parceiro
Site Parceiro – Modo de Implantar: Cadastre-se no Google AdSense; Escolher os formatos dos anúncios; Instalar os códigos gerados pelo AdSense para sua página; Gerenciar o programa Adsense; Receber a comissão. Modo de Implantar: 1) Cadastrar-se no Google AdSense: Basta preencher um cadastro com os dados do site e do responsável. Link para o AdSense google.com/adsense. 2) Escolher os formatos dos anúncios: O Google AdSense oferece dezenas de formatos com possibilidade de escolher cores que combinem com o padrão do site. 3) Instalar os códigos gerados pelo AdSense na página: O programa gerará um código que você irá inserir no código fonte da página. PRONTO! Os anúncios já estarão aparecendo e você começa a gerar receitas com o seu site. 4) Gerenciar o programa AdSense: O programa oferece inúmeros recursos para acompanhamento da visitação, cliques, desempenho dos anuncios através de inúmeros relatórios e receitas geradas. 5) Receber sua comissão: O pagamento é mensal, sendo que para efetivar o pagamento o Google Adsense exige um mínimo de $100 de receitas. Quando a receita dos cliques não atinge esse mínimo, o montante é transferido para o mês seguinte. Atualmente, os pagamentos do Google Adsense são realizados por meio de transferência eletrônica internacional. (FELIPINI, GOOGLE...) Escolha de Anúncios: A escolha de anúncios do AdSense segue a parametrização definida para o AdWords: levar em consideração a relevância dos anúncios para a busca, o custo optado por pagar por clique, localização geográfica, histórico de pesquisa, histórico de acesso a sites do usuário (por tipo e conteúdo de site), informações de perfil do Google, se o usuário já interagiu com algum anúncio anteriormente, entre outros fatores que podem ser analisados. Contudo, o que difere no AdSense é que a origem do parâmetro de busca (termos) não é proveniente da ferramenta de pesquisa da Google, e sim do conteúdo do site parceiro. Isso significa que o AdSense deve analisar o conteúdo do site que hospeda os links patrocinados para então retornar anúncios recomendados condizentes com aquele conteúdo. O princípio dessa aplicação é de que se o usuário está visualizando um site com determinado conteúdo, ele tem interesse naquele conteúdo, e anúncios relacionados a este podem ser relevantes para aquele usuário. Desta forma, já é possível determinar que um website que trata de peças para automóveis vai ter anúncios relacionados com automóveis. A primeira vista, pode parecer desnecessário fazer essa filtragem, pensando-se em utilizar o AdSense dentro dos parâmetros da publicidade tradicional e mostrar anúncios diversos. Contudo, esta abordagem é inteligente no quesito de que um usuário normalmente não está interessado em visualizar anúncios quaisquer: a probabilidade maior será de que ele esteja visualizando algum conteúdo e tenha interesse de comprar algo relacionado a aquele conteúdo. Este fator ocorre principalmente quando as páginas visualizadas são de produtos e serviços (uma página de comparativos de aparelhos celulares, por exemplo, seria o local ideal para colocar anúncios de celulares, pois a garantia de compra é muito maior). (FELIPINI, ADWORDS...)

82 AdSense: Parâmetros Analisados
Conteúdo da página visualizada; Localização geográfica do usuário; Custo optado a pagar por clique; Histórico de acesso a sites (por tipo e conteúdo); Informações do perfil do Google; Se o usuário já interagiu com anúncios anteriormente; Cookies da DoubleClick no navegador; Entre outros não divulgados. Escolha de Anúncios: A escolha de anúncios do AdSense segue a parametrização definida para o AdWords: levar em consideração a relevância dos anúncios para a busca, o custo optado por pagar por clique, localização geográfica, histórico de pesquisa, histórico de acesso a sites do usuário (por tipo e conteúdo de site), informações de perfil do Google, se o usuário já interagiu com algum anúncio anteriormente, entre outros fatores que podem ser analisados. Contudo, o que difere no AdSense é que a origem do parâmetro de busca (termos) não é proveniente da ferramenta de pesquisa da Google, e sim do conteúdo do site parceiro. Isso significa que o AdSense deve analisar o conteúdo do site que hospeda os links patrocinados para então retornar anúncios recomendados condizentes com aquele conteúdo. O princípio dessa aplicação é de que se o usuário está visualizando um site com determinado conteúdo, ele tem interesse naquele conteúdo, e anúncios relacionados a este podem ser relevantes para aquele usuário. Desta forma, já é possível determinar que um website que trata de peças para automóveis vai ter anúncios relacionados com automóveis. A primeira vista, pode parecer desnecessário fazer essa filtragem, pensando-se em utilizar o AdSense dentro dos parâmetros da publicidade tradicional e mostrar anúncios diversos. Contudo, esta abordagem é inteligente no quesito de que um usuário normalmente não está interessado em visualizar anúncios quaisquer: a probabilidade maior será de que ele esteja visualizando algum conteúdo e tenha interesse de comprar algo relacionado a aquele conteúdo. Este fator ocorre principalmente quando as páginas visualizadas são de produtos e serviços (uma página de comparativos de aparelhos celulares, por exemplo, seria o local ideal para colocar anúncios de celulares, pois a garantia de compra é muito maior). (FELIPINI, ADWORDS...)

83 AdSense: Exemplo Exemplo do AdSense: GameFAQs
Endereço da GameFAQs: < > Acessar o endereço no anúncio indicado: QBdGqhocEAAAQASCRqbofUKCyw5X5_____wFgzfjqgKgDyAEC4AIAqAMByA OdBKoEfE_QDBwXZjCNgQ- iTRofSqL7HbycTqVJyjOk01kgskdZTrVqEoupyVjZBx9eREmZVL1Ghx5Wu0DnkO YAeRZZn9ac- RHM4AqCZjSYzD3TrJhwIF5OngrWK0UFrxYfrm0N3WXuR78DNG5qRnwTjbCzk eJjXzpT93vdQef7PabgBAGgBhQ&num=0&sig=AOD64_1wKhUbP- _r6okaQPoNZR4NlwQzHw&client=ca-pub &adurl=http://holiday.cnet.com/%23ftag%3DMKT01028f0&nm= 10&nx=173&ny=-39&mb=2&clkt=7&jca=5655

84 AdSense: Exemplo Exemplo AdSense: GameFAQs > CNET
Abrindo o link do anúncio anterior, temos o website da CNET. É possível ver aparelhos eletrônicos relacionados a jogos na página. Esta página também contém anúncios do AdSense. No canto dos anúncios destacados em vermelho, há um ícone de flecha. Ao passar o mouse por cima deste ícone, é exibido “AdChoices”, um dos títulos dados aos anúncios do AdSense nas páginas que os exibem. No caso do exemplo acima, ambos exemplos se referem ao Nexus 7, um modelo de tablet (ou seja, o anúncio está relacionado a aparelhos eletrônicos, conforme o conteúdo da página em questão).

85 AdSense: Conclusões Conclusões:
Método de recomendação baseado em conteúdo, pois nenhum dos parâmetros se baseia em algum tipo de avaliação de usuário; A abordagem tem grande relevância para a Google, uma vez que quanto mais interessante e preciso se tornarem os anúncios, maior o lucro da empresa; Recomendações corretas e otimizadas são essenciais para aumentar o interesse do usuário no anúncio e o número de vendas do anunciante. 1) Tanto o AdSense quanto o AdWords utilizam certo conjunto de parâmetros, mas todos estes se enquadram nos métodos de recomendação por conteúdo, pois não há quaisquer meios de parametrização por avaliação de usuários. 2) Também há o fato de que o anunciante paga pelo número de acessos de interessados no anúncio, o que torna interessante para a Google manter seu mecanismo de recomendação de anúncios o mais relevante possível para os usuários. Da mesma forma, há interesse do site parceiro de manter seu conteúdo bastante claro e os links patrocinados em local ótimo para visualização, pois o mesmo número de cliques será a fonte que lhe renderá o percentual da receita gerada à Google. 3) A recomendação correta e otimizada dos anúncios é a alma do negócio: quanto mais um anunciante vende graças ao serviço, mais satisfeito estará com o serviço. Em adição, existe a possibilidade dele se interessar em aumentar seu custo por clique para melhorar a posição de seu anúncio caso verifique bom rendimento da publicidade.

86 Seção 5 Desafios e limitações

87 Esparcidade The Cold-Start Problem Fraude Filter Bubble
Desafios e Limitações Esparcidade The Cold-Start Problem Fraude Filter Bubble

88 Esparcidade A maioria dos usuários não avalia grande parte dos seus itens; Isso diminui a probabilidade de encontrar usuários com avaliações parecidas (filtragem colaborativa). Como vocês devem saber, a maioria dos usuários não avaliam os itens do sistema. Seja por preguiça, por falta de tempo, por esquecimento, ou entre outras razões, por simplesmente não querer. O resultado disso é que a matriz de avaliaçoes de usuários tende a ser muito esparsa. Isso acaba sendo um problema considerável para sistemas de filtragem colaborativa, já que isso reduz a probabilidade de encontrar um conjunto de usuários com avaliações similares. Este problema ocorre mais frequentemente em sistemas que possuem uma razão muito alta de item para usuário, ou quando o sistema está nos seus estágios iniciais de uso(relacionado ao cold-start problem). (MELVILLE; SINDHWANI, 2010)

89 The Cold-Start Problem
Este problema pode ocorrer quando há itens e usuários novos; Surge principalmente em sistemas de filtragem colaborativa, pois os itens precisam de avaliação anteriores; Este problema também se aplica a itens “obscuros”, ou seja, um item dos menos requisitados Itens novos e usuários novos podem ser um desafio considerável para um sistema de recomendação. Esse tipo de problema é conhecido como o problema cold-start(de “arranque frio”). O primeiro desses problemas surge em sistemas de filtragem colaborativa, onde um certo item não pode ser recomendado a não ser que ele já tenha sido avaliado antes por algum usuário. Este problema se aplica não só a itens novos, mas também a itens “obscuros”, ou seja, um item dos menos requisitados, o que acaba sendo prejudicial para usuários que possuem gostos ecléticos. Por isso, o problema do item novo também é conhecido como o problema do primeiro avaliador. Já que abordagens de sistemas de filtragem baseada em conteúdo não dependem de avaliações de outros usuários, elas podem ser usadas para produzir recomendações para todos os itens, desde que os atributos dos itens estejam disponíveis. É dificil de lidar com o problema do novo usuário, já que não é possível encontrar usuários similares se não há nada para comparar contra os outros, ou para criar um “perfil” para comparações baseadas em conteúdo. (MELVILLE; SINDHWANI, 2010)

90 Fraude Em sistemas que dependem de avaliações de produtos, vendedores podem manipular o sistema; Essa manipulação ocorre utilizando perfis falsos que avaliam os competidores de forma negativa e o vendedor fraudulento de forma positiva. Com o crescimento da adoção de sistemas de recomendação por sites comerciais, esses sistemas tem tido um papel bem significante no lucro em potencial dos vendedores. Por isso, muitos vendedores sem escrúpulos tem começado a realizar várias formas de fraude para aumentar a recomendação dos seus produtos, e consequentemente o seu lucro. Geralmente, os vendedores em questão tentam afetar o sistema de recomendação através da avaliação negativa dos produtos dos seus competidores e da avaliação positiva dos seus próprios produtos. Tais ataques geralmente envolvem a criação de perfis “falsos”, e podem utilizar de diferentes tipos de estratégias para sabotar o sistema.. Por exemplo, o vendedor fraudulento, sabendo qual a avaliação média para o seu produto, pode criar várias avaliações distribuidas aleatoriamente nessa média, com algumas avaliações mais altas para aumentar a média gradativamente. Tais ataques podem prejudicar a previsão de avaliações consideravelmente, embora a filtragem colaborativa baseada em itens tendem a ser mais robustos contra esses ataques. Claramente, métodos que dependem somente das avaliações do próprio usuário, não tem suas recomendações afetadas por esse tipo de fraude(ataque de injeção de fraude).

91 Filter Bubble Fenômeno em que um usuário acaba sendo isolado de outras idéias, culturas e produtos potencialmente benéficos; Ocorre devido à personalização criada pelo sistema de recomendação, que recomenda itens novos baseados nos anteriores, ou em certos perfis. Em uma filter bubble, existem menos chances para um usuário encontrar novos insights e aprendizados. A criatividade pode ser facilmente iniciada pela colisão de idéias de disciplinas e culturas diferentes. Por definição, um mundo construido somente do familiar é um mundo onde não há nada novo para aprender. Um sistema personalizado demais pode evitar que o usuário entre em contato com itens potencialmente beneficiais que o usuário desconheça. (PARISER, 2011)

92 Considerações Finais Sistemas de recomendação podem ser uma ótima forma de aumentar o lucro ou relevância de um serviço online; Possuem vários benefícios para os usuários e prestadores de serviço, mas é necessário tomar cuidado para não infringir a privacidade do usuário nem omitir itens disponíveis no sistema.

93 Referências AJUDA do AdSense. Disponível em: <https://support.google.com/adsense/troubleshooter/ > . Acesso em: 11 nov AMATRIAIN, X; BASILICO, J. Netflix Recommendations: Beyond the 5 stars Disponível em: <http://techblog.netflix.com/2012/04/netflix-recommendations- beyond-5-stars.html>. Acesso em: 11 nov APACHE Mahout. Disponível em: <http://mahout.apache.org/>. Acesso em: 10 de novembro de 2013. DUINE. Disponível em: <http://www.duineframework.org/index.html>. Acesso em: 10 de novembro de 2013.

94 Referências GROSSMAN, L. How Computers Know What We Want — Before We Do. Disponível em: <http://www.time.com/time/magazine/article/0,9171, ,0 0.html>. Acesso em: 20 ago GATTO, E. C. Palestra unesp 2012, 15 out Disponível em: <http://www.slideshare.net/elainececiliagatto/palestra-unesp- 2012>. Acesso em: 10 out. 2013 FELIPINI, D. Adwords e Adsense, os filhos gêmeos do Google. Disponível em: < commerce.org.br/artigos/adsense-adwords.php >. Acesso em: 11 nov FELIPINI, D. Google AdSense. Disponível em: <http://www.e-commerce.org.br/google_adsense.php>. Acesso em: 11 nov

95 Referências GraphLab. Disponível em: <http://graphlab.org/>. Acesso em: 10 de novembro de 2013. INGERSOLL, G. Introdução ao Apache Mahout (2009). Disponível em: <http://www.ibm.com/developerworks/br/java/library/j- mahout/>. Acesso em: 15 de outubro de 2013. LENSKIT. Disponível em: <http://lenskit.grouplens.org/>. Acesso em: 10 de novembro de 2013. MELVILLE, P.; SINDHWANI, V. Encyclopedia of machine learning. [s.l.] Springer-Verlag, chapter Recommender systems, 2010. MILLER, E.; How Not To Sort By Average Rating. Disponível em: <http://www.evanmiller.org/how-not-to-sort-by-average- rating.html>. Acesso em: 9 out

96 Referências MYMEDIALITE. Disponível em: <http://mymedialite.net/>. Acesso em: 10 de novembro de 2013. NETFLIX. Disponível em: <http//pt.wikipedia.org/wiki/Netflix>. Acesso em: 11 nov O QUE é o Google AdWords?. Disponível em: <http://www.clinks.com.br/videos-tutoriais/o-que-e-google- adwords/>. Acesso em: 11 nov PARISER, E. The filter bubble: What the Internet is hiding from you. Penguin (UK)

97 Referências RICCI, F.; ROKACH, L.; SHAPIRA, B. Introduction to Recommender Systems Handbook. In: RICCI, F. et al. (Eds.). Recommender Systems Handbook. Boston, MA: Springer US, p. 1–35. SAMPAIO, I.; Aprendizagem Ativa em Sistemas de Filtragem Colaborativa SCHRODER, G.; THIELE, M.; LEHNER, W. “Setting Goals and Choosing Metrics for Recommender System Evaluations.” UCERSTI Workshop at the ACM Conference on Recommender Systems, 2011. Segaran, Toby. Programming Collective Intelligence: Building Smart Web 2.0 Applications. Beijing: O'Reilly, 2007.


Carregar ppt "Sistemas de Recomendação"

Apresentações semelhantes


Anúncios Google