Um sistema de recomendação mede a correlação entre classificações de usuários diferentes e gera recomendações para um determinado usuário sobre os itens que podem ser do seu interesse.
No entanto, os gostos mudam com o tempo, portanto , as classificações antigas podem não refletir as preferências atuais e vice-versa. Você pode ter considerado "excelente" um livro que agora classificaria como "não muito nojento" e assim por diante. Além disso, os próprios interesses também mudam.
Como os sistemas de recomendação devem funcionar em um ambiente em mudança?
- Uma opção é cortar as classificações "antigas", o que pode funcionar perfeitamente, desde que você defina corretamente "antigas" (você pode até dizer que as classificações nunca expiram e fingir que o problema não existe). Mas não é a melhor opção possível: é claro que os gostos evoluem, é um fluxo de vida normal e não há razão para não podermos usar o conhecimento extra de classificações anteriores corretas.
- Outra opção é acomodar de alguma forma esse conhecimento extra. Portanto, não podemos apenas encontrar uma "correspondência instantânea" para seus interesses atuais, mas sugerir o que você mais gosta depois (em oposição ao que você pode gostar agora ).
Não tenho certeza se estou explicando isso bem o suficiente. Basicamente, sou a favor da segunda abordagem e estou falando de um Sistema de Recomendadores que mede as correlações de trajetórias de gosto e produz recomendações que atenderão ... bem, vamos chamá-lo de crescimento pessoal - porque elas serão provenientes de pessoas cujas "trajetória de gostos" (e não apenas "instantâneo de gostos") é semelhante ao seu.
Agora a pergunta: gostaria de saber se algo semelhante à "opção 2" já existe e, se existir, gostaria de saber como funciona. E se não existir, você pode discutir como deve funcionar! :)
fonte
Não estou ciente de um sistema em funcionamento, mas não ficaria surpreso se a Amazon, NetFlix ou alguém tiver esse sistema. Até o mecanismo de pesquisa do Google pode ter um tipo semelhante de sistema.
Pensei nisso enquanto fazia o curso do Dr. Ng no semestre passado. A abordagem que primeiro achei ideal seria adicionar um fator de ponderação com base na idade. Quanto mais atual um dado for, mais pesado ele será ponderado. Essa abordagem seria relativamente simples e computacionalmente barata de implementar.
No entanto, depois de pensar sobre essa abordagem com mais cuidado, acho que ela apresenta sérias falhas para muitas aplicações. Pessoalmente, frequentemente acompanho um gênero ou programa por algum tempo, canso dele, passo para outra coisa, mas voltarei ao gênero original mais tarde. Esse ciclo de esgotamento e reavivamento também aparece na sociedade.
Portanto, estou inclinado a um sistema um pouco mais complicado. Os dados precisariam ser divididos em dois conjuntos; dados atuais - o limite precisaria variar dependendo da aplicação mais o comprimento das interações do indivíduo - que seriam mais pesados e os dados "históricos" que seriam classificados mais baixos com um lento declínio nos valores ao longo do tempo. Segundo, um fator seria incluído para tentar detectar "desligamentos" onde um interesse ou envolvimento intenso desaparece repentinamente. Os dados "atuais" que são classificados da mesma forma seriam reclassificados como se fossem históricos.
Nenhuma dessas abordagens tem rigor ou validação, mas acredito que valeria a pena construir algumas tentativas da hipótese.
fonte
A meu ver, uma versão modificada da filtragem colaborativa pode funcionar. No entanto, você precisará manter um registro de data e hora em cada classificação e aplicar uma penalidade ao calcular o peso de uma classificação mais antiga.
fonte