ESCOLA POLITÉCNICA DE PERNAMBUCO Um serviço de recomendação inter-aplicações baseado em filtragem colaborativa Aluno: Jefferson Silva de Amorim Orientador: Prof. Dr. Byron Leite Dantas Bezerra
Objetivos Realizar uma revisão da literatura e propor novos sistemas e técnicas de recomendação inter-aplicações Adaptar a implementação de uma técnica de filtragem colaborativa para realizar recomendações inter-aplicações Desenvolver um Web Service que expõe as principais funcionalidades da técnica de filtragem colaborativa adaptada
Objetivos Desenvolver uma ferramenta web para coleta de dados e suporte à análise de recomendações Analisar as recomendações realizadas pelo serviço de recomendação desenvolvido
Conceitos fundamentais
Sistemas de Recomendação Se utilizam de tecnologias de personalização Oferecem uma experiência personalizada aos usuários Possuem geralmente 2 funcionalidades: Predizer Nota Gerar Lista Personalizada
Sistemas de Recomendação Engenho de personalização
Sistemas de Recomendação Personalização de conteúdo Utiliza de informações do usuário para recomendar itens Função utilidade
Sistemas de Recomendação Técnicas de personalização de conteúdo Baseada em conteúdo Filtragem colaborativa Demográfica
Sistemas de Recomendação Filtragem colaborativa Duas abordagens podem ser utilizadas para definir a função utilidade: Memory-based Definem-se heurísticas Model-based Define-se um modelo a partir das avaliações
Sistemas de Recomendação Filtragem colaborativa (Memory-based) Medida de similaridade Coeficiente de correlação de Pearson Função utilidade Baseada em kNN
Sistemas de Recomendação Filtragem colaborativa (Memory-based) Vantagens: Recomendação inovadoras e surpreendentes Alto grau de reusabilidade Facilidade de extensão Desvantagens Problemas Novo usuário Novo item Esparsidade Ovelhas negras
Arquitetura Orientada a Serviços Unidades lógicas representadas como pequenas unidades Utiliza o paradigma de orientação a serviços Características: Direcionada ao negócio Independente de plataforma Centrada na empresa Direcionada à composição
Arquitetura Orientada a Serviços
Arquitetura Orientada a Serviços Web Services
Arquitetura Orientada a Serviços Princípios de orientação a serviços
Metodologia proposta
Sistema de recomendação inter-aplicações Modelo conceitual
Inter-Applications Recommendation Service Desenvolvido utilizando as tecnologias: Java EE JBoss AS MySQL Mahout
Inter-Applications Recommendation Service Modelo arquitetural
Inter-Applications Recommendation Service Módulo de Serviço
Inter-Applications Recommendation Service Módulo de Contextualização
Inter-Applications Recommendation Service Módulo de Contextualização Descontextualização Contextualização
Inter-Applications Recommendation Service Módulo de Recomendação
Inter-Applications Recommendation Service Módulo de Recomendação Adaptações realizadas em 2 momentos: Coeficiente de correlação de Pearson Cálculo da utilidade
Inter-Applications Recommendation Service Exemplo
Inter-Applications Recommendation Service Repositório de Conhecimento
Análises e Resultados
Coleta de dados e análise de recomendações Ferramenta desenvolvida para dar suporte a coleta de dados e as análises realizadas JSF Facelets Primefaces Composta por 3 módulos Coleta de dados Recomendação Usuário
Coleta de dados e análise de recomendações Módulo de coleta de dados
Coleta de dados e análise de recomendações Módulo de recomendação
Coleta de dados e análise de recomendações Módulo de usuário
Coleta de dados e análise de recomendações Base de dados Existentes Wikilens, MovieLens, Book-Crossing e Jester Joke Coletada 3 contextos 30 itens/contexto 52 usuários 1560 avaliações
Coleta de dados e análise de recomendações Análise das recomendações Recomendação inter-aplicações X Recomendação clássica Itens recomendados Vizinhos do usuário
Coleta de dados e análise de recomendações Itens recomendados Novos itens
Coleta de dados e análise de recomendações Itens recomendados Omissão de itens
Coleta de dados e análise de recomendações Itens recomendados Itens com notas e ordens de utilidade iguais
Coleta de dados e análise de recomendações Itens recomendados Itens com notas iguais e ordens de utilidade diferentes
Coleta de dados e análise de recomendações Itens recomendados Itens iguais com notas diferentes
Coleta de dados e análise de recomendações Vizinhos do usuário Vizinhos iguais com mesma ordem de semelhança
Coleta de dados e análise de recomendações Vizinhos do usuário Vizinhos iguais com ordens de semelhança diferentes
Coleta de dados e análise de recomendações Vizinhos do usuário Vizinhos diferentes
Coleta de dados e análise de recomendações Vizinhos do usuário Vizinhança híbrida
Considerações finais
Resultados e Dificuldades Resultados promissores Ameniza alguns problemas Novo usuário e Ovelha negra Problemas como o do novo item e de esparsidade persistem Houve dificuldade em encontrar uma base de dados para teste Coleta de dados
Trabalhos futuros Experimentos baseados em análises estatísticas Outras técnicas de filtragem CMBF, SMBF e HMBF Representação do conteúdo descritivo de itens pertencentes a diferentes aplicações Análise de Dados Simbólicos
Referências
Referências
Referências
Obrigado! O código fonte do projeto está disponível em http://code.google.com/p/iars