Sistemas de recomendações tradicionais e suas limitações: A maior parte dos sistemas de recomendações constroem uma vizinhança utilizando "Pearson correlation" ou similaridade cosseno. Após definida a vizinhança, a recomendação é executada de duas possíveis formas: -por uma soma ponderada das correlações entre cada item e todos os vizinhos do usuário e adição da média das qualificações deste item. - recomenda-se uma lista de produtos para o consumidor ("top-N recommendation"). A lista é formada focando-se nas preferências da vizinhança. Limitações: - Esparsses muitos pares de usuários não possuem muita correlação. muitos usuários qualificam muito pouco. muitos itens com poucas qualificações. "reduced coverage problem" perda da transitividade nas correlações. - Escalabilidade - Sinonimia nomes diferentes de produtos podem refere a um mesmo produto. Aplicando SVD para filtragem colaborativa: O problema da esparsses é tratado pela incorporação de agentes de filtragem semi-inteligentes. Estes agentes avaliam cada produto por "features" sintáticas. LSI -> usado para reduzir a dimensionalidade da matriz de qualificações (consumidores x produtos) Técnica muito usada em RI para resolver problemas de sinonimia. Construa duas matrizes de dimensões reduzidas. Reduzindo a dimensionalidade do espaço de produtos, a densidade é aumentada e mais qualificações são encontradas. O problema de sinonimia é, então, resolvido. LSI usa SVD para fatorar a matriz. O resultado da decomposição captura bem as associações latentes entre termos e documentos. SVD: técnica para fatoração de matrix. R = U*S*V' U e V são matrizes ortogonais. É uma matriz diagonal e contém todos valores singulares de R. SVD proporciona a menor aproximações em rank da matriz original R. SVD é usado para duas tarefas distintas: - capturar relações latentes entre consumidores e produtos. - produzir uma representações de menor dimensionalidade do consumidor-produto original. espaço R é uma matriz consumidor-produto muito esparsa. A esparsses é removida pelo uso da média das qualificações por usuário e a média das qualificações por produto. Outras alternativas: z-scores. Rnorm = R + NPR (NPR completa os locais sem qualificações Rnorm é fatorada. Obtem-se uma aproximações de um rank. Para recomendações, a preferência do usuário é considerada como binária. matriz consumidor x produto é preenchida com 0s e 1s. considera-se apenas se o consumidor consumiu ou não o produto. SVD é aplicado, então para redução da dimensionalidade. Para construção da vizinhança, é aplicada a similaridade cosseno no espaço de dimensionalidade reduzida. As preferências da vizinhança são, então, utilizadas para recomendar N produtos para o usuário. Os N produtos são escolhidos por uma simples contagem da frequência de consumo na vizinhança definida. "most frequent item recommendation". A escolha do número de dimensões (k) é crucial para a qualidade das predições. k deve ser grande suficiente para capturar todas as estruturas importantes, mas pequeno o suficiente para evitar "overfitting errors". k é obtido experimentalmente. Previsões em sites de e-commerece: processamento: - componente offline; - componente online; Experimentos: Duas bases de dados: - MovieLens – recomendações de filmes. considerou-se usuários com mais de 20 qualificações. divisão em treino e teste. - histórico de compras de um site de e-commerce. O algoritmo que utiliza o SVD foi comparado com um algoritmo de CF que utiliza "Pearson nearest neighbor algorithm" (CF-Predict). Foi implementado outro algoritmo para comparações que utiliza similaridade cosseno (CF-recommend). Para avaliação, são comuns a adoção de algumas das seguintes métricas: - Para previsão: - "coverage metrics" - calcula a porcentagem de pares consumidoresprodutos que o recomendador consegue prever. - "Statistical accuracy metrics" - mede a qualidade pela comparações das recomendações dadas com as qualificações reais atribuídas ("Mean Absolute Error" por exemplo). - "Decision support accuracy metrics" - avalia o quão efetiva é a predio no sentido de indicar produtos de boa qualidade para o usuário. - Para "Top-N recommendation": - Recall: |intersec(teste, top-N)|/|test| - Precision: |intersec(test, top-N)|/N Estas regras são de natureza conflitante. Combinações delas: "standard F1" Resultados: - Predições: - base de 100000 qualificações. - variou-se a razão treino/teste - o experimento considerando a redução apresentou resultados melhores com o aumento desta razão. de dimensionalidade - Recomendação Top-N - obteu-se o melhor valor da razão treino/teste. - uso da métrica F1 para comparação com diferentes valores de razão. - o experimento considerando a redução de dimensionalidade, novamente, apresentou resultados melhores com o aumento desta razão. - para o melhor valor de razão, variou-se o número de dimensões. Os experimentos mostraram que algoritmos CF baseados em vizinhança são suscetíveis aos efeitos dos dados esparsos é medida que diminui-se o treino. O problema dos dados esparsos parece ser resolvido ou amenizado pela aplicações do SVD. Entretanto, com notável no algoritmo sem Para todo valor algoritmo com redução de o aumento do treino, a melhoria na predição é mais uso do SVD. de k, os experimentos de recomendação mostraram que o dimensionalidade obteve melhores resultados. No geral, os resultados encorajam o uso do SVD em sistemas de recomendações baseados em filtragem colaborativa. Trabalhos futuros podem avaliar o por que do uso do SVD beneficiar algumas aplicações, mas não ser tão adequado para outras. Também podem ser avaliadas novas aplicações para o SVD.