Você está na página 1de 14

28/05/2021

Aprendizado de Máquina Tópicos do módulo


Raciocínio Baseado em Casos  Introdução
e Sistemas de Recomendação  Raciocínio baseado em casos
 Sistemas de recomendação
 Principais abordagens
 Filtragem por conteúdo
André Carlos Ponce de Leon F. de Carvalho
 Filtragem colaborativa
Ângelo Garangau Menezes
Daniela Lopes Freire
Marcelo Nascimento Pinto
Robson Parmezan Bonidia
© André de Carvalho - ICMC/USP 2

Motivação Motivação
 Em várias aplicações, precisamos:  Em várias aplicações, precisamos:
 Classificar dados: “Os problemas de ouvido do paciente  Classificar dados: “Os problemas de ouvido do paciente
são parecidos com este caso padrão de otite” são parecidos com este caso padrão de otite”
 Compilar soluções: “Os sintomas do coração do paciente
P1 podem ser explicados da mesma maneira que para o
Resolver (raciocinar) usando
 Compilar soluções: “Os sintomas do coração do paciente
P1 podem ser explicados da mesma maneira que para o
paciente P2 anterior” o que foi feito antes em um
paciente P2 anterior”
Estimar valores: Minha casa é como aquela vendida na Estimar valores: Minha casa é como aquela vendida na
caso (situação) semelhante
 

rua de baixo por R$ 2000.000, mas tem uma vista melhor” rua de baixo por R$ 2000.000, mas tem uma vista melhor”
 Justificar com precedentes: “Este caso de divórcio deve  Justificar com precedentes: “Este caso de divórcio deve
ser decidido da mesma forma que o caso João x Maria, onde ser decidido da mesma forma que o caso João x Maria, onde
a corte definiu que os filhos devem ficar com a esposa” a corte definiu que os filhos devem ficar com a esposa”
 Avaliar opções: “Se nós atacarmos as instalações de  Avaliar opções: “Se nós atacarmos as instalações de
mísseis cubanas, seria como em Pearl Harbor” mísseis cubanas, seria como em Pearl Harbor”
© André de Carvalho - ICMC/USP 3 © André de Carvalho - ICMC/USP 4

Sistemas baseados em regras Raciocínio baseado em casos


 Muito usados no passado
 Problema para construí-los:
 Dificuldade de especialistas em traduzir experiência a
regras

If ....
Then ... EXPERIÊNCIA BASE DE
Else...
EXPERIÊNCIAS
Mas não uma BD!
EXPERIÊNCIA REGRAS
© André de Carvalho - ICMC/USP 5 © André de Carvalho - ICMC/USP 6

1
28/05/2021

Raciocínio baseado em casos Como funciona um sistema de CBR?


 Case-based reasoning (CBR)  Resolve novos problemas adaptando soluções
 Mais que um sistema de gerenciamento de para problemas anteriores que são parecidos
banco de dados
 Sistemas de CBR procuram casos passados
semelhantes ao problema atual
 Buscam por eles em uma base de casos indexada
 Indexação e representação de casos facilitam 2 Nova solução
Solução
 Recuperação de casos relevantes e
 Comparação desses casos com o problema atual
Permitem ainda a adaptação de casos Problema

1 Novo problema

© André de Carvalho - ICMC/USP 7 © André de Carvalho - ICMC/USP 8

Passos de um sistema de CBR O que são casos?


 Apresentar situação atual  Trabalham com dois tipos de casos
 Recuperar casos similares da base de casos  Casos de entrada:
 Adaptar solução  Descrição de características (situações) de
problemas específicos
 Casos armazenados:
 Descrição de características (situações) de
problemas específicos
 Possuem situações anteriores de problemas
Que pacote de Casos semelhantes Adaptação específicos com soluções e resultados
viagem comprar?
© André de Carvalho - ICMC/USP 9 © André de Carvalho - ICMC/USP 10

Casos armazenados Sistemas de CBR


 Estrutura de dados com duas partes Caso 1
preenchidas Descrição do problema:
 Uma parte problema Novo Caso
Ambiente: praia
Duração: 7 dias
 Descreve o caso Região: SE
Custo máximo: 1000
 Sintomas Descrição do problema:
Ambiente: praia
 Usada para identificar o caso Duração: 5 dias
Solução: do problema
 Indexação e recuperação Região: NE
Local: Ubatuba
Custo máximo: 2000
 Uma parte solução Transporte: Ônibus
Acomodação: Hotel Uau
 Explica como este caso foi resolvido anteriormente Solução do problema:
Refeição: Bar do Zé
 De forma bem (ou mal) sucedida Local: ???
Transporte: ???
 Adaptada quando o caso é recuperado Acomodação: ???
Refeição: ???

© André de Carvalho - ICMC/USP 11 © André de Carvalho - ICMC/USP 12

2
28/05/2021

Sistemas de CBR Ciclo de um sistema de CBR


(Aamodt, 1993)
 Em geral, um sistema de CBR possui
cinco processos:
 Representação de casos
 Indexação de casos
 Armazenamento e recuperação de casos
 Adaptação de casos
 Avaliação e reparo de casos

© André de Carvalho - ICMC/USP 13 © André de Carvalho - ICMC/USP 14

Sistemas de CBR Sobrecarga de informação


 Recuperação de casos previamente
armazenados usa medida de similaridade
 Importante passo do ciclo RBC
 Similaridade é geralmente medida por
abordagens simples
 KNN
 Uma boa recuperação depende do uso de
uma função de similaridade adequada
 Frequentemente desconhecida https://pagefair.com/blog/2016/premium-publishers-trust-and-adblocking/ryans-loose-theory-of-tmi/

© André de Carvalho - ICMC/USP 15 © André de Carvalho - ICMC/USP 16

Sobrecarga de informação Netflix


 Torna impossível para uma pessoa processar  Fundada em 1997
toda a informação disponível  Net (internet) Flix (Flicks, sinônimo de filmes)
 Quanto mais opções nós temos, mais difícil fica  Inicio: alugava DVDs de filmes, 1 ano depois enviava
fazer boas escolhas DVDs pelo correio
 Além de levar mais tempo e depender de conhecimento  Vendia todos os filmes e shows de TV já feitos
no tema dos itens  2007
 Necessidade de alternativas automatizadas para  Netflix inicia mudança do seu modelo de negócios
filtrar a informação disponível  Assinantes pagavam mensalidade para ter acesso a
 Mantendo apenas o que for relevante, em quantidade vários filmes 24 horas por dia
gerenciável  Acesso por tvs conectadas, smartfones, tablets e videogames
 Sistemas de recomendação  Desenvolveu método de recomendação de filmes
Cinematch
© André de Carvalho - ICMC/USP 17 © André de Carvalho - ICMC/USP 18

3
28/05/2021

Prêmio Netflix Prêmio Netflix


 Outubro de 2006: lançou uma competição  4º Colocado: Time Simon Funk
com o desafio:  Submetida em julho de 2009
 Tornar seu algoritmo de recomendação 10% mais  Adaptou sua abordagem para decomposição de
preciso valores singulares incremental
 Reduzir RMSE=0.9525 para RMSE<0.857  Não aumentou precisão em mais de 10%
US$ 1.000.000,00 ao primeiro time que conseguir
Vencedor: Time BellKor Pragmatic Chaos


 Disponibilizou conjunto de dados com avaliações
de 17.770 filmes por 480.189 clientes  Fatoração de matrizes
 Vinha tentando por anos melhorar o sistema com  Time The Ensemble
recrutamento de cientistas renomados superou o resultado, mas 20 minutos depois

© André de Carvalho - ICMC/USP 19 © André de Carvalho - ICMC/USP 20

Sistemas de recomendação Matriz de avaliações


 Recommender systems (RSs)  Rating Matrix (RM)
 Permitem lidar com sobrecarga de informação  Matriz Usuário-Item
 U (usuários)
 Quando existe um grande número de opções para Itens (I)
 I (itens)
que uma pessoa (usuário) escolha uma delas
 Rij: avaliação do
Ajudando as pessoas a fazerem escolhas melhores 1 R11 R12 … R1m
 usuário i para o item j
 Assim como algoritmos de aprendizado de 2 R21
Usuários (U)
máquina (AM), RSs usam muito álgebra linear .

.
 Manipulação de matrizes .
Rn1 Rnm
 RSs usam matriz de avaliações n

1 2 … m

© André de Carvalho - ICMC/USP 21 © André de Carvalho - ICMC/USP 22

Matriz de avaliações Predição e recomendação


 Banco de dados com avaliações do  Recomendação podem se considerada uma
usuário atual e de outros usuários generalização da predição
 Conjunto de dados para tarefas preditivas
 Classificação e regressão
Item1 Item2 Item3 Item4 Item5
 Tabela atributo-valor
Eu 5 3 4 ? 7
 Possui atributos preditivos e um atributo alvo
Usuário1 3 1 2 3 3
 Em RSs, a predição de valores pode ser necessária
Usuário2 4 3 4 3 5
para qualquer coluna da matriz de avaliações
Usuário3 3 3 1 5 4
 Não existe distinção entre atributos preditivos e alvo
Usuário4 1 5 5 2 1
 Qualquer atributo pode ser preditivo ou alvo
 Generalização de tarefa preditiva
© André de Carvalho - ICMC/USP 23 © André de Carvalho - ICMC/USP 24

4
28/05/2021

Predição e recomendação Predição e recomendação


Tabela atributo-valor Matriz usuário-item
 Em geral, algoritmos de AM são aplicados a
tabelas atributo-valor completas
Dados de
treinamento
 Conjuntos de dados estruturados com todos os
valores preenchidos
Usuários  Caso existam valores ausentes
 Como alguns algoritmos de AM não funcionam com
Dados de
teste
valores ausentes, eles são estimados antes
 Matrizes de avaliações são geralmente
Itens
incompletas
Atributos Atributo
preditivos alvo  Com grande número de valores ausentes

© André de Carvalho - ICMC/USP 25 © André de Carvalho - ICMC/USP 26

Matriz de avaliações Matriz de avaliações


 Rating matrix (RM)  Banco de dados com avaliações do
 Matriz Usuário-Item usuário atual e de outros usuários
 U (usuários)
Itens (I)
 I (itens)
Item1 Item2 Item3 Item4 Item5
 Rij: avaliação do
1 R11  … R1m
usuário i para o item j Eu 5 3 4 ? 7
 Ausência de Usuário1 3 ? 2 3 3
2 
feedback:  Usuários (U) Usuário2 4 ? 4 3 ?
.
.
… Usuário3 3 3 ? 5 4
.
Usuário4 1 ? ? ? 1
n  Rnm
1 2 … m

© André de Carvalho - ICMC/USP 27 © André de Carvalho - ICMC/USP 28

Predição e recomendação Frequência de avaliações


Tabela atributo-valor Matriz usuário-item
Número de avaliações (Popularidade)

Dados de
treinamento

Usuários

Dados de
teste Cauda longa
Valor ausente

Itens Valore presente Índice do item ordenado por frequência decrescente


Atributos Atributo
preditivos alvo

© André de Carvalho - ICMC/USP 29 © André de Carvalho - ICMC/USP 30

5
28/05/2021

Sistemas de recomendação Sistemas de recomendação


 Recomendam itens a um usuário  Exemplos de produtos recomendados
 Acreditando que o usuário gostará
 Podem ser Livros, filmes, músicas, ...
 Usando preferências (feedbacks) de outros
usuários
 Associados ao conceito de serenpidade
 Serenpidity
 Recomendar-me alguma coisa que eu ainda não
saiba (ou tenha)

© André de Carvalho - ICMC/USP 31 © André de Carvalho - ICMC/USP 32

Principais abordagens de RSs Modelos básicos de RSs


 Filtragem baseada em conteúdo  Utilizam dois tipos de dados
 Usa informações sobre o próprio usuário para  Informações sobre usuários e itens
propor itens  Perfil de usuários
 Filtragem colaborativa (mais comuns)  Comportamento de compra do usuário
 Perfil de itens
 Usa escolhas de itens feitas por outro usuário para
 Palavras chave importantes
propor itens ao usuário atual
 Filtragem baseada em conteúdo
 Sistemas baseados em conhecimento  Interações usuário-item
 Usada para itens que não são frequentemente  Quanto um usuário gostou de um dado item
adquiridos (Ex.: imóveis, veículos e artigos de luxo)  Filtragem colaborativa e filtragem baseada em
conteúdo
 Sistemas híbridos
© André de Carvalho - ICMC/USP 33 © André de Carvalho - ICMC/USP 34

Filtragem baseada em conteúdo Filtragem baseada em conteúdo


 Content-based filtering ou content-based  Não precisa de informação sobre os itens
recommendation (CB)  Mas se tiver, ajuda
 Escolhido quando não é possível acessar as  Precisa:
avaliações de outros usuários  De alguma informação (conteúdo) sobre o item a
 O que impede o uso de filtragem colaborativa ser buscado
Ex.: gênero
Aprende preferências do usuário


 Um perfil do usuário descrevendo suas
 Para recomendar itens que combinam com elas
preferências
 Maioria dos métodos vem da área de recuperação  Ex.: do que ele gosta
de informação
 Primeiros sistemas eram baseados em keywords
© André de Carvalho - ICMC/USP 35 © André de Carvalho - ICMC/USP 36

6
28/05/2021

Filtragem baseada em conteúdo Filtragem baseada em conteúdo


 Exemplos de informações (conteúdos,  Permitem induzir um modelo preditivo para
atributos preditivos) sobre usuários e itens cada usuário usando como
 Perfil de filme: gênero, atores, diretor, ano  Atributos preditivos: descrições dos itens avaliados
 Perfil de usuário: idade, sexo, respostas a um pelo usuário
questionário  Atributo alvo: avaliação dada pelo usuário ou o
 Comportamento de compra do usuário comportamento do usuário para o item
 Na maioria das vezes usa também a RM  Modelo preditivo prediz se o usuário gostará
 Mas apenas as informações do usuário que está ou não de um novo item
fazendo a consulta  Que não foi avaliado por ele ou para o qual seu
comportamento de compra é desconhecido
© André de Carvalho - ICMC/USP 37 © André de Carvalho - ICMC/USP 38

Exemplo Pausa
 Sr. Riso gosta de assistir comédias
 Avaliou bem o filme O Máskara
 Avaliações de outros usuários não
estão disponíveis
 Mas, buscando filmes com descrições
(conteúdos) parecidas, o RS
recomendou o filme Sim Senhor
 Gênero, ator, idioma, duração

© André de Carvalho - ICMC/USP 39 André de Carvalho - ICMC/USP 40

Sistemas baseados em conhecimento Sistemas baseados em conhecimento


 Knowledge based systems (KBS)  Geralmente utilizados para itens raramente
 Recomendações são baseadas em requisitos comprados
explicitamente especificados pelo usuário  Podem não ter o número necessário de avaliações
Problema semelhante ao problema de cold start
 Ao invés do histórico de avaliações do usuário, e 

dados de compras  E quando podem ocorrer alterações nas preferências


 Usuários dizem seus interesses de forma interativa dos usuários para os itens
 Ex.: Modelo de carro pode evoluir ao longo dos anos,
 Que são combinados ao conhecimento do domínio da
levando a mudanças nas preferências dos usuários
aplicação
 Dados relacionados ao contexto podem ser usados  De acordo com a interface com usuário, pode ser:
 Ex.: Informação social, temporal, sobre localização, etc.  Sistema de recomendação baseada em restrições
 Considerados um tipo de filtragem por conteúdo  Sistema de recomendação baseada em casos
© André de Carvalho - ICMC/USP 41 © André de Carvalho - ICMC/USP 42

7
28/05/2021

Sistemas baseados em casos Exemplo


 Usuário especifica casos específicos (casos  José Boaviagem quer passar suas férias em
alvos) e aplica métricas de similaridade uma praia tranquila
 Para recuperar itens com valores similares aos de  Usa um RS para recomendar pacotes de viagem
itens do caso alvo  Usa como caso alvo o pacote que um amigo
 Métricas são definidas de acordo com o domínio comprou no ano passado, mas para praia badalada
da aplicação  Sistema retorna pacote de viagem para a praia
Formam o conhecimento de domínio usado pelo RS
Semprecheia

 Resultados retornados são geralmente usados  Não satisfeito, João muda partes do pacote
como novos alvos retornado, que usa como novo caso alvo para o RS
 Com modificações feitas pelo usuário
© André de Carvalho - ICMC/USP 43 © André de Carvalho - ICMC/USP 44

Filtragem colaborativa Filtragem colaborativa


 Collaborative filtering (CF)  Baseada em comportamento passado,
 Assume que um usuário U deve gostar de itens sem a criação de perfis explícitos
escolhidos por usuários semelhantes
 Com gostos parecidos
 Usa a matriz de avaliações
 Mas o usuário U não precisa conhecer os usuários com  Analisa relacionamentos entre usuários
gostos semelhantes
e interdependências entre itens
 Caso U queira comprar um novo produto
 Um RS deve encontrar usuários com preferências  Para identificar novas associações usuário-
semelhantes às de U em outros produtos item
 E recomendar, a U, um produto que eles gostam

© André de Carvalho - ICMC/USP 45 © André de Carvalho - ICMC/USP 46

Filtragem colaborativa Feedback explícito


 O nome vem da possibilidade de  Usuários atribuem valores para avaliar itens,
utilizar avaliações de outros usuários que indicam preferências a itens
sobre vários itens  Representa as reais preferências dos usuários
 Ex. 1: nota de 1 a 10 a um produto da amazon
 Avaliações podem ser entendidas como  Ex. 2: like ( ) ou dislike ( ) um vídeo no YouTube
feedback  Maior dificuldade para a coleta das primeiras
 Explícito relações
 Implícito  Problema de cold start
 Com frequência, não é dado
© André de Carvalho - ICMC/USP 47 © André de Carvalho - ICMC/USP 48

8
28/05/2021

Formas de feedback explícito Feedback implícito


 Como o usuário pode avaliar cada item  Coletado a partir do comportamento do
 Valores binários: usuário
Se um item é positivo (bom) ou negativo (ruim)
Ex.: número de clicks em links retornados


 Valores escalares em uma dada faixa:
 A nota que o usuário dá a um item (Ex.: 1 a 5)
por uma busca, tempo gasto em um site
 Valores ordinais:  Coleta de dados é não intrusiva
O que o usuário acha de um determinado item (Ex.:
Permite coleta de um volume de dados

muito, razoável, pouco) 

 Valor unário grande e diverso


 Se gostou ou comprou um item (Ex.: usuário pode deixar
o item sem avaliação)
© André de Carvalho - ICMC/USP 49 © André de Carvalho - ICMC/USP 50

Exemplo Abordagens clássicas


 Speedy quer comprar um carro novo, mas  Entrada:
não sabe qual  Matriz de avaliações
 Speedy vai a uma concessionária e o vendedor, o
Falabela tem uma conversa muito boa  Possíveis saídas
 Speedy se abre e começa a falar sobre ele,  O valor numérico predito
sobre o que ele gosta e sobre o que não gosta  Indicando o quanto o usuário vai gostar ou não
 Falabela se lembra de um cliente anterior com de um dado item
gostos parecidos aos de Speedy  Um lista com os N itens mais
 Que gostou muito do carro que comprou
recomendados (Top-N)
 Ele então recomenda o mesmo carro a Speedy

© André de Carvalho - ICMC/USP 51 © André de Carvalho - ICMC/USP 52

Filtragem colaborativa Métodos baseados em modelos


 Utiliza basicamente dois tipos de  Modelos preditivos induzidos por algoritmos
métodos de aprendizado de máquina
Árvores de decisão
Métodos baseados em modelos


 Redes profundas
 Algoritmos de AM
 Modelos de fatores latentes
 Métodos baseados em memória
 Latent fator models (LFMs)
 Vizinhança
 Definem avaliações a partir de itens e de usuários
 Cada fator equivale a uma característica
 Vários dos métodos funcionam bem para
matrizes esparsas
© André de Carvalho - ICMC/USP 53 © André de Carvalho - ICMC/USP 54

9
28/05/2021

Métodos baseados em memória Métodos baseados em usuário


 Usam algoritmos baseados em vizinhança  Recomendam a um usuário U uma avaliação
 Primeiras versões de CF para um item alvo I
 Baseiam-se nas seguintes premissas:  Usa avaliações feitas por um grupo de usuários
semelhantes a U para itens diferentes de I
 Usuários semelhantes avaliam itens de forma
Usuários são semelhantes quando possuem avaliações
semelhante 

semelhantes para os demais itens


 Preferências de usuários se mantêm estável e  Avaliação recomendada pode ser média
consistente ao longo do tempo ponderada das avaliações destes usuários
 Podem ser:  As avaliações são preditas usando as avaliações
 Baseados em usuário (usuário-usuário) dos usuários vizinhos
 Baseados em item (item-item)
© André de Carvalho - ICMC/USP 55 © André de Carvalho - ICMC/USP 56

Métodos baseados em usuário Métodos baseados em usuário


 Usam a similaridade entre usuários para  Usa a similaridade entre itens para predizer
predizer avaliações avaliações
 Ex.: Dada a matriz de avaliações abaixo, predizer  Ex.: Dada a matriz de avaliações abaixo, predizer
minha avaliação para o produto 5 minha avaliação para o produto 5
Item1 Item2 Item3 Item4 Item5 Item1 Item2 Item3 Item4 Item5
Eu 5 3 4 4 ? Eu 5 3 4 4 ?
Usuário1 3 1 2 3 3 Usuário1 3 1 2 3 3
Usuário2 4 3 4 3 5 Usuário2 4 3 4 3 5
Usuário3 3 3 1 5 4 Usuário3 3 3 1 5 4
Usuário4 1 5 5 2 1 Usuário4 1 5 5 2 1

© André de Carvalho - ICMC/USP 57 © André de Carvalho - ICMC/USP 58

Métodos baseados em usuário Métodos baseados em item


 Usa a similaridade entre itens para predizer  Recomendam a um usuário U uma avaliação
avaliações para um item alvo I
 Ex.: Dada a matriz de avaliações abaixo, predizer  Usa avaliações feitas por usuários diferentes de U
minha avaliação para o produto 5 para um grupo de itens semelhantes a I
 Itens são semelhantes quando possuem avaliações
Item1 Item2 Item3 Item4 Item5 semelhantes para os demais usuários
Eu 5 3 4 4 4,5
 Avaliação recomendada pode ser média
Usuário1 3 1 2 3 3
ponderada das avaliações destes itens
Usuário2 4 3 4 3 5
 As avaliações são preditas usando as avaliações
Usuário3 3 3 1 5 4
dos itens vizinhos
Usuário4 1 5 5 2 1

© André de Carvalho - ICMC/USP 59 © André de Carvalho - ICMC/USP 60

10
28/05/2021

Métodos baseados em item Métodos baseados em item


 Usam a similaridade entre itens para predizer  Usa a similaridade entre itens para predizer
avaliações avaliações
 Ex.: Dada a matriz de avaliações abaixo, predizer  Ex.: Dada a matriz de avaliações abaixo, predizer
minha avaliação para o produto 5 minha avaliação para o produto 5
Item1 Item2 Item3 Item4 Item5 Item1 Item2 Item3 Item4 Item5
Eu 5 3 4 4 ? Eu 5 3 4 4 ?
Usuário1 3 1 2 3 3 Usuário1 3 1 2 3 3
Usuário2 4 3 4 3 5 Usuário2 4 3 4 3 5
Usuário3 3 3 1 5 4 Usuário3 3 3 1 5 4
Usuário4 1 5 5 2 1 Usuário4 1 5 5 2 1

© André de Carvalho - ICMC/USP 61 © André de Carvalho - ICMC/USP 62

Métodos baseados em item Usuário-usuário X item-item


 Usa a similaridade entre itens para predizer
avaliações
 Ex.: Dada a matriz de avaliações abaixo, predizer Seleciona os usuários Seleciona os itens mais
minha avaliação para o produto 5 mais semelhantes semelhantes

Item1 Item2 Item3 Item4 Item5


Eu 5 3 4 4 4,5
Faz recomendações semelhantes Faz recomendações semelhantes
Usuário1 3 1 2 3 3 aos dos itens vizinhos
aos dos usuários vizinhos
Usuário2 4 3 4 3 5
Usuário3 3 3 1 5 4
Usuário4 1 5 5 2 1

© André de Carvalho - ICMC/USP 63 © André de Carvalho - ICMC/USP 64

Métodos baseados em memória Métodos baseados em memória


 Como medir a similaridade?  Vantagem
 Usar qualquer medida de similaridade vista  Por serem simples, são de fácil
na aula anterior implementação e interpretação
 Ex.: correlação de Pearson  Desvantagem
 Não funcionam bem com matrizes de
avaliações muito esparsas

© André de Carvalho - ICMC/USP 65 © André de Carvalho - ICMC/USP 66

11
28/05/2021

Filtragem colaborativa Modelos de fatores latentes


 Algoritmos mais usados são baseados em:  Latent factor models (LFM)
Vizinhos mais próximos

 Identificam relacionamento entre itens ou entre usuários


 Buscam explicar as notas deixando
 Fatoração de matrizes claras características de itens e usuários
 Definem notas a partir de características de itens e de  Fatores (aspectos) são inferidos de
usuários
padrões de notas
 Cada fator equivale a uma característica

 Aprendizado profundo  Conseguem capturar padrões que outros


modelos não capturam
 Bons para análise semântica

© André de Carvalho - ICMC/USP 67 © André de Carvalho - ICMC/USP 68

Modelos de fatores latentes Exemplo


 Prêmio Netflix  Caso os itens sejam filmes:
 Superou técnicas clássicas com as  N fatores são usados para caracterizar
baseadas em vizinhança cada filme (item)
 Permitem incorporar informações  Fatores podem medir aspectos como:
adicionais  Quantidade de cenas de violência em um filme
 O quanto de comédia é o filme
 Feedback implícito
 Cada filme é representado por seus valores
 Efeitos temporais para os fatores
 Níveis de confiança  Ex.: filme A tem pouca violência e é 70% comédia

© André de Carvalho - ICMC/USP 69 © André de Carvalho - ICMC/USP 70

Exemplo Fatoração de matrizes


 Para cada usuário, cada fator mede  Alguns dos mais bem sucedidos LFM são
correspondência entre: baseados em fatoração de RM
 Nota (gosto) do usuário para o fator e a  Caracteriza itens e usuários por vetores de
nota de cada filme para esse fator fatores
 Ex. Usuário gosta de filme com poucas cenas  Extraídos dos padrões de notas de itens
de violência e filme A tem pouca violência  Correspondência alto entre fatores de itens e de
usuários leva a uma recomendação
 Produto interno pode medir similaridade
entre um filme e o gosto de um usuário  Permitem combinar boa escalabilidade com
alta acurácia preditiva
 Facilitam modelagem de situações reais
© André de Carvalho - ICMC/USP 71 © André de Carvalho - ICMC/USP 72

12
28/05/2021

Fatoração de matrizes Colaboração X conteúdo


 Permite incluir informação adicional
 Quando feedback explícito não esta
disponível, preferências dos usuários
podem ser inferidas por feedback implícito
 Baseada no comportamento do usuário
 Ex.: histórico de compras, histórico de navegação,
padrões de busca ou movimentos do mouse
 Geralmente denota presença ou ausência de
um evento

© André de Carvalho - ICMC/USP 73 © André de Carvalho - ICMC/USP 74

Problema de cold start Problema de cold start


 Não existem avaliações suficientes para  Similar ao que ocorria ao ligar (no passado)
o processo de recomendação carro com motor frio
Variações
Número de avaliações inicialmente


 Cold start item
disponíveis é pequeno  Cold start do usuário
Afeta as abordagens de formas distintas
 Vários métodos têm sido propostos para 

CF para novos usuários e itens


lidar com cold start

 CB apenas para novos usuários


 KBS lidam melhor, por não usar avaliações

© André de Carvalho - ICMC/USP 75 © André de Carvalho - ICMC/USP 76

Sistemas híbridos Referências


 Combinam aspectos positivos de
diferentes abordagens
 Pega o melhor que tem nelas
 Permite criar sistemas mais robustos
em uma ampla variedade de situações
 Pode ter diferentes estruturas
 Paralela
Pipeline
https://www.springer.com/gp/book/9783319296579
 https://www.cambridge.org/core/books/recommender-systems/C6471B59388D8A9F684C49C198691B53

© André de Carvalho - ICMC/USP 77 © André de Carvalho - ICMC/USP 78

13
28/05/2021

Conclusão Perguntas
 Métodos baseados em proximidade
 Raciocínio baseado em casos
 Sistemas de recomendação
 Principais abordagens
 Filtragem por conteúdo
 Filtragem colaborativa
 Exemplos
© André de Carvalho - ICMC/USP 79 © André de Carvalho - ICMC/USP 80

14

Você também pode gostar