1) O documento discute sistemas de recomendação, incluindo os componentes básicos e etapas de sistemas de recomendação, como filtragem de informação baseada em conteúdo, filtragem colaborativa e híbrida.
2) Métodos como cosseno e vizinhos mais próximos são usados para medir similaridade entre usuários e itens. Isso permite prever avaliações e fornecer recomendações personalizadas.
3) Métricas como precisão e revocação são usadas para avaliar o qu
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
Personalização: O que é?
1. Personalização
Prof.ª Ms. Elaine Cecília Gatto
Prof.º Dr. Sergio Donizetti Zorzo
Universidade Federal de São Carlos – UFSCar
Departamento de Computação – DC
Grupo de Sistemas Distribuídos e Redes – GSDR
Privacidade & Personalização – P&P
2. Personalização
Automatiza um processo comum do cotidiano das
pessoas. Exemplo:
Eu gostaria de assistir
a um “anime”. Mas
não sei qual!
Eu tenho uma
sugestão para você.
Que tal assistir
“Death Note”? É um
„anime‟ muito bom.
Hehehehe!
3. Personalização
Pessoas gostam de:
◦ Descrever seu grau de satisfação sobre
coisas/pessoas;
◦ Confiam na opinião dos outros;
Pessoas sempre estão sobrecarregadas de
informação;
Mas o que interessa de fato para cada um?
Motivação: Sobrecarga de informação
5. Sistemas de Recomendação:
componentes básicos
Sistemas de recomendação concentram-se em
encontrar informações que podem ser úteis ao
usuário. A recomendação é obtida a partir da
identificação das preferências – perfil do usuário – e
da interação com o próprio sistema.
6. Etapas Básicas de um S. R.
De quem são esses dados?
Pra quem vai a recomendação?
7. Etapas Básicas de um S. R.
Explícita: o usuário fornece as suas preferências
usualmente pelo preenchimento de um
formulário;
Implícita: o sistema obtém as informações do
usuário pelo registro de sua navegação;
8. Etapas Básicas de um S. R.
Aplicadas para descobrir as similaridades entre as
preferências dos usuários e os itens a serem
recomendados e, em seguida, gerar as recomendações;
Núcleo do sistema de recomendação;
Utiliza algoritmos da ciência cognitiva, teoria da
aproximação, recuperação de informação, filtragem de
informação, teorias de previsão e/ou mineração de dados,
etc.
9. Etapas Básicas de um S. R.
Entrega da recomendação ao usuário. Duas formas:
Push: o usuário não precisa pedir a recomendação, o
sistema se encarrega de apresentá-las;
Pull: é necessário que o usuário solicite a
recomendação para que a mesma seja apresentada.
Exemplo: “Temos recomendações para você, veja!”
10. Filtragem de Informação
Sistemas de Filtragem de Informação:
São projetados para a filtragem de dados não
estruturados ou semi-estruturados;
Descrevem uma variedade de processos que
envolvem a prestação de informações a pessoas
que delas necessitam;
11. Filtragem Baseada em Conteúdo –
FBC
A filtragem de informação é baseada na análise
do conteúdo do item e no perfil do usuário;
Princípio: os usuários tendem a se interessar por
itens que já se interessaram antes;
Técnicas para medir a similaridade e
recomendar itens relevantes: índices de busca
booleana, filtragem probabilística, modelos
vetoriais, etc.
12. Filtragem Baseada em Conteúdo –
FBC
Avaliação de Itens (ranking) como fazer?
Como descobrir o quanto um item é
importante/relevante para aquele usuário?
O usuário deve dizer isso explicitamente ou o
sistema implementa uma forma para tal;
Obs.: Itens são descritos por suas
características (ou atributos)
14. Filtragem Baseada em Conteúdo –
FBC:Vantagens
Usuário Independente:
Sistemas que utilizam FBC exploram apenas
as avaliações fornecidas pelo usuário ativo
para construir o seu próprio perfil.
Já os métodos de filtragem colaborativa
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 os itens que são
mais apreciados pelos vizinhos do usuário
ativo serão recomendados;
15. Filtragem Baseada em Conteúdo –
FBC:Vantagens
Novo Item:
Capazes de recomendar itens que ainda
não foram avaliados por qualquer usuário;
Não sofrem com o problema do primeiro
avaliador (FC);
Em sistemas que usam FC é necessário
que um item seja avaliado por um número
considerável de usuários;
16. Filtragem Baseada em Conteúdo –
FBC: Desvantagens
Análise de conteúdo limitada:
Nenhum sistema de recomendação
baseado em conteúdo pode fornecer
sugestões adequadas se, o conteúdo
analisado não contém informação
suficiente para discriminar os itens que o
usuário gosta, de itens que o usuário não
gosta.
Características/Atributos/Ontologias/Con
hecimento do domínio de aplicação
17. Filtragem Baseada em Conteúdo –
FBC: Desvantagens
Superespecialização:
Não tem nenhum método inerente para encontrar
algo inesperado/surpresa.
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 já recomendados
(semelhantes aos já classificados).
Grau limitado de novidade;
Para dar um exemplo, quando um usuário gosta de
filmes dirigido por Stanley Kubrick, ele sempre vai
receber recomendações sobre esse tipo de filme.
A "perfeita" técnica com base em conteúdo
raramente encontraria romance, limitando o leque de
aplicações para o qual seria útil.
18. Filtragem Baseada em Conteúdo –
FBC: Desvantagens
Novo Usuário:
“Avaliações” suficientes têm de ser
recolhidas antes de um sistema baseado
em conteúdo poder realmente entender
as preferências do usuário e fornecer
recomendações precisas (gde qtde
dados);
Para um novo usuário, o sistema não será
capaz de fornecer recomendações
confiáveis, pois ainda não o conhece
suficiente.
19. Filtragem Colaborativa
Ao invés de recomendar itens que são
semelhantes aos que um usuário tenha
preferido no passado, recomenda-se itens
semelhantes às preferências de outros
usuários que tenham interesses em
comum;
Métodos utilizados: Cosseno, Pearson,
Vizinhos mais próximos, etc.
20. Filtragem Colaborativa
Normalmente, um sistema FC utiliza uma
matriz em que os usuários são
representados por linhas e os itens por
colunas;
É necessário que os usuários avaliem os
itens;
21. Filtragem Colaborativa
FBC: recomenda de acordo com as características
inerentes aos itens;
FC:
◦ Método baseado no usuário:
Encontra usuários parecidos comigo (em
termos de itens) e recomenda o que eles
gostaram;
◦ Método baseado em item:
Recomenda itens que se parecem (em termos
de audiência) com itens que eu gostei no
passado;
22. Filtragem Colaborativa:Vantagens
Produz recomendações inesperadas;
Independente de conteúdo;
Produz recomendações de alta qualidade:
Como perceber a qualidade de um item?
Avaliações dos itens pelos usuários.
23. Filtragem Colaborativa:
Desvantagens
Esparsidade:
Quando a matriz possui poucas avaliações
(muitos usuários que não avaliaram itens);
O que recomendar se não há avaliação?
Soluções: técnicas de aprendizagem de
máquina, regras de associação, técnicas de
recuperação de informação, etc.
24. Filtragem Colaborativa:
Desvantagens
Problema do primeiro avaliador:
Quando novos itens são adicionados ao
sistema, compreensivelmente, os usuários
não os avaliaram ainda.
Com apenas o uso de filtragem
colaborativa, o sistema não pode
recomendar esses itens até que um
número suficiente de usuários os avaliem.
25. Filtragem Colaborativa:
Desvantagens
Cold-Start:
Causado por novos usuários que não
tenham apresentado quaisquer avaliações;
Utiliza avaliações dos usuários para
associar os usuários semelhantes;
O que este usuário, que ainda não avaliou
nada, contribuirá na geração das
recomendações? Com quem ele é
parecido?
Solução: enquanto não avaliar um número
N de itens, não receberá recomendações
26. Filtragem Híbrida
Quando o sistema é construído utilizando
tanto a técnica de filtragem de informação
de conteúdo, quanto colaborativa
Configurações possíveis:
30. Cosseno
O Cosseno mede o ângulo existente
entre dois vetores que representam
usuários e itens ou usuários e usuários e
retorna valores entre 1 (um) – máxima
correlação – e 0 (zero) – mínima
correlação.
Exemplo: Calcular a similaridade entre o
perfil do usuário João com os valores [ 0,
1, 5, 9, 7 ] e o perfil do usuário Douglas
com os valores de [ 9, 5, 1, 3, 7 ].
32. Vizinhos mais próximos
A técnica é implementada como um
algoritmo de classificação em que, para
cada item/usuário não conhecido, verifica-
se a similaridade entre ele e todos os
outros itens/usuários da base, através de
uma medida de distância, como: o
Cosseno, a distância euclidiana, a
manhatan, etc.
34. Predição de Avaliação
Quem é semelhante a quem?
Itens não avaliados pelos usuários;
O sistema fará a previsão de qual avaliação o usuárioValter dará
para o livro 3.
35. Predição de Avaliação
Ana eValter compartilham os mesmos gostos;
Edson, Rosalina e Paula não compartilham - totalmente - dos mesmos
gostos que Ana eValter (isso é visualizado pelas pontuações dadas)
Portanto,Ana influenciará na previsão da nota deValter
Cálculos matemáticos – que medem a similaridade - são utilizadas para
fazer a previsão
36. Avaliação do Sistema
Quão boa é uma recomendação?
Quanto o sistema está acertando?
Ordenação das melhores recomendações;
Comparação entre previsto e real;
Precisão: proporção dos realmente bons
entre os previstos como bons;
Revocação: proporção dos realmente bons
entre todos os bons;
Medida F: média harmônica de precisão e
revocação;
37. Métricas
Métrica para analisar a precisão do sistema em
apresentar conteúdo relevante às expectativas do
usuário. Precisão > = 70% indica que as
recomendações sendo ofertadas são relevantes
aos usuários.
𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 =
𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑟𝑒𝑐𝑜𝑚𝑒𝑛𝑑𝑎çõ𝑒𝑠 𝑎𝑐𝑒𝑖𝑡𝑎𝑠 𝑝𝑒𝑙𝑜𝑠 𝑢𝑠𝑢á𝑟𝑖𝑜𝑠
𝑛ú𝑚𝑒𝑟𝑜 𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑟𝑒𝑐𝑜𝑚𝑒𝑛𝑑𝑎çõ𝑒𝑠 𝑠𝑜𝑙𝑖𝑐𝑖𝑡𝑎𝑑𝑎𝑠
* 100
38. Métricas
Métrica para avaliar o grau de relevância da
lista de recomendação aos usuários.
Considera a ordem dos elementos na lista para
calcular a eficiência das recomendações
ofertadas.
O primeiro item da lista é de fato relevante
para este usuário?
Se o usuário seleciona sempre a primeira
recomendação da lista, então o sistema tem
eficiência de 100%
39. Exemplos Práticos
Base de dados MOVIELENS.SQL
Quatro tabelas:
Genres – generos;
Movies – filmes;
Ratings – avaliações;
Users – usuários;
42. Exemplos Práticos
Quais os filmes mais avaliados (e suas notas)?
select count(*) as nratings, title, avg(rating) from
ratings join movies on ratings.movieid =
movies.movieid group by ratings.movieid order
by nratings desc;
43. Exemplos Práticos
Quais os filmes avaliados com nota maxima?
select title from ratings join movies on
ratings.movieid = movies.movieid where rating
= 5;
44. Exemplos Práticos
Qual o usuário com mais avaliações?
select count(*) as nratings, ratings.userid,
avg(rating) from ratings join users on
ratings.userid = users.userid group by
ratings.userid order by nratings desc;
45. Exemplos Práticos
Filmes que o usuário 531 assistiu:
select ratings.movieid, title, rating from ratings,
movies where userid=531 and ratings.movieid =
movies.movieid order by rating desc;
46. Exemplos Práticos
Construindo um perfil:
Select avg(unknown), avg(action), avg(adventure),
avg(animation), avg(children), avg(comedy),
avg(crime), avg(documentary), avg(drama),
avg(fantasy), avg(filmnoir), avg(horror),
avg(musical), avg(mystery), avg(romance), avg(scifi),
avg(thriller), avg(war), avg(western) from ratings,
movies where userid=531 and ratings.movieid =
movies.movieid order by rating desc;
47. Exemplos Práticos
Depois de encontrar o perfil do usuário,
encontrar as recomendações:
Para FBC:
◦ Calcular a distância do cosseno;
◦ Calcular a norma; (normalização dos
dados)
◦ Calcular o Cosseno;
◦ (códigos sql no arquivo em anexo)
Para ambas as filtragens, é necessária a criação
de tabelas auxiliares nesse processo;
48. Exemplos Práticos
Depois de encontrar o perfil do usuário,
encontrar as recomendações:
Para FC:
◦ Calcular a distância dos itens;
◦ Calcular a norma dos usuários e do usuário
em análise;
◦ Encontrar os knn usuários para os programas
e para os itens;
◦ Calcular o quanto cada usuário é parecido
com o outro;
49. Exemplos Práticos
Lista de Recomendação gerada.
0.855 é considerado um bom valor do
COSSENO, isto é, o item é relevante!
50. Referências Bibliográficas
RICCI, F.; ROKACH, L.; SHAPIRA, B.;
KANTO, P. B. Recommender Systems
Handbook. Editora Springer.
ZORZO, S. D.; GATTO, E. C. Relatório
Técnico: Aplicando Filtragem Baseada em
Conteúdo aos dados de TV fornecidos
pelo IBOPE.