Como descobrir e classificar coisas usando machine learning sem compilcação
Palestra unesp 2012
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
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/C
onhecimento 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
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
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:
27. Filtragem Híbrida
FBC FC
Mesclador ou
Combinador
Lista de
Recomendações
28. Filtragem Híbrida
Sistema com
Filtragem
Colaborativa
Filtro de Conteúdo
Lista de
Recomendações
29. Filtragem Híbrida
Sistema com
Filtragem de
Conteúdo
Filtro Colaborativo
Lista de
Recomendações
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ário
Valter dará para o livro 3.
35. Predição de Avaliação
Ana e Valter compartilham os mesmos gostos;
Edson, Rosalina e Paula não compartilham - totalmente - dos
mesmos gostos que Ana e Valter (isso é visualizado pelas
pontuações dadas)
Portanto, Ana influenciará na previsão da nota de Valter
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;
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. 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.