Upload
internet
View
108
Download
4
Embed Size (px)
Citation preview
Um serviço de recomendação inter-Um serviço de recomendação inter-aplicações baseado em filtragem colaborativaaplicações baseado em filtragem colaborativa
Aluno: Jefferson Silva de AmorimOrientador: Prof. Dr. Byron Leite Dantas Bezerra
ESCOLA POLITÉCNICA DE PERNAMBUCO
ObjetivosObjetivos
• 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
ObjetivosObjetivos
• 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 fundamentaisConceitos fundamentais
Sistemas de RecomendaçãoSistemas 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çãoSistemas de Recomendação
• Engenho de personalização
Sistemas de RecomendaçãoSistemas de Recomendação
• Personalização de conteúdo– Utiliza de informações do usuário para
recomendar itens– Função utilidade
𝜌:𝑈 𝘹 𝐼 ⟶ Г
∀𝑣 ∈𝑈,𝑖𝑣′ = argmax𝑖 ∈ 𝐼𝜌ሺ𝑣,𝑖ሻ
Sistemas de RecomendaçãoSistemas de Recomendação
• Técnicas de personalização de conteúdo– Baseada em conteúdo– Filtragem colaborativa– Demográfica
Sistemas de RecomendaçãoSistemas 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çãoSistemas de Recomendação
• Filtragem colaborativa (Memory-based)– Medida de similaridade
• Coeficiente de correlação de Pearson
– Função utilidade• Baseada em kNN
Ψሺ𝑣,𝑢ሻ= σ ቀ𝑣Ԧሺ𝑖ሻ− 𝑣Ԧቁ∗ቀ𝑢ሬԦሺ𝑖ሻ− 𝑢ሬԦቁ𝑖∈𝐼ටσ ቀ𝑣Ԧሺ𝑖ሻ− 𝑣Ԧቁ2𝑖∈𝐼 ∗σ ቀ𝑢ሬԦሺ𝑖ሻ− 𝑢ሬԦቁ2𝑖∈𝐼
ρሺ𝑣,𝑖ሻ= 𝑣Ԧ+ σ ቀ𝑢ሬԦ𝑘ሺ𝑖ሻ− 𝑢ሬԦ𝑘ቁ∗Ψ(𝑣,𝑢𝑘)ℎ𝑘=1 σ Ψ(𝑣,𝑢𝑘)ℎ𝑘=1
Sistemas de RecomendaçãoSistemas 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çosArquitetura 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çosArquitetura Orientada a Serviços
• Serviço
Arquitetura Orientada a ServiçosArquitetura Orientada a Serviços
• Web Services
Arquitetura Orientada a ServiçosArquitetura Orientada a Serviços
• Princípios de orientação a serviços
Metodologia propostaMetodologia proposta
Sistema de recomendação inter-Sistema de recomendação inter-aplicaçõesaplicações
• Modelo conceitual
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Desenvolvido utilizando as tecnologias:– Java EE– JBoss AS– MySQL– Mahout
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Modelo arquitetural
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Módulo de Serviço
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Módulo de Contextualização
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Módulo de Contextualização– Descontextualização
– Contextualização
ηሺ𝜌′ሻ= ൫𝜌′ − 𝑚𝑖𝑛′ሺ𝜌′ሻ൯൫𝑚𝑎𝑥′ሺ𝜌′ሻ− 𝑚𝑖𝑛′ሺ𝜌′ሻ൯∗൫𝑚𝑎𝑥ሺ𝜌′ሻ− 𝑚𝑖𝑛ሺ𝜌′ሻ൯+ 𝑚𝑖𝑛ሺ𝜌′ሻ
η′ሺ𝜌ሻ= ൫𝜌− 𝑚𝑖𝑛ሺ𝜌ሻ൯൫𝑚𝑎𝑥ሺ𝜌ሻ− 𝑚𝑖𝑛ሺ𝜌ሻ൯∗൫𝑚𝑎𝑥′ሺ𝜌ሻ− 𝑚𝑖𝑛′ሺ𝜌ሻ൯+ 𝑚𝑖𝑛′ሺ𝜌ሻ
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Módulo de Recomendação
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Módulo de Recomendação– Adaptações realizadas em 2 momentos:
• Coeficiente de correlação de Pearson
• Cálculo da utilidade
Ψሺ𝑣,𝑢ሻ= σ ቀ𝑣Ԧሺ𝑖ሻ− 𝑣Ԧቁ∗ቀ𝑢ሬԦሺ𝑖ሻ− 𝑢ሬԦቁ𝑖∈𝐼ටσ ቀ𝑣Ԧሺ𝑖ሻ− 𝑣Ԧቁ2𝑖∈𝐼 ∗σ ቀ𝑢ሬԦሺ𝑖ሻ− 𝑢ሬԦቁ2𝑖∈𝐼
ρሺ𝑣,𝑖ሻ= 𝑣Ԧ+ σ ቀ𝑢ሬԦ𝑘ሺ𝑖ሻ− 𝑢ሬԦ𝑘ቁ∗Ψ(𝑣,𝑢𝑘)ℎ𝑘=1 σ Ψ(𝑣,𝑢𝑘)ℎ𝑘=1
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Exemplo
Inter-Applications Recommendation Inter-Applications Recommendation ServiceService
• Repositório de Conhecimento
Análises e ResultadosAnálises e Resultados
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendaçõ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 Coleta de dados e análise de recomendaçõesrecomendações
• Módulo de coleta de dados
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Módulo de recomendação
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Módulo de usuário
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendaçõ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 Coleta de dados e análise de recomendaçõesrecomendaçõ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 Coleta de dados e análise de recomendaçõesrecomendações
• Itens recomendados– Novos itens
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Itens recomendados– Omissão de itens
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Itens recomendados– Itens com notas e ordens de utilidade iguais
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Itens recomendados– Itens com notas iguais e ordens de utilidade
diferentes
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Itens recomendados– Itens iguais com notas diferentes
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Vizinhos do usuário– Vizinhos iguais com mesma ordem de semelhança
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Vizinhos do usuário– Vizinhos iguais com ordens de semelhança
diferentes
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Vizinhos do usuário– Vizinhos diferentes
Coleta de dados e análise de Coleta de dados e análise de recomendaçõesrecomendações
• Vizinhos do usuário– Vizinhança híbrida
Considerações finaisConsiderações finais
Resultados e DificuldadesResultados 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 futurosTrabalhos 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ênciasReferências[1] LAUNDON, K. C.; TRAVER, C. G. E-Commerce - Business, Technology,
Society. Boston: Addison-Wesley Longman Publishing Co. Inc., 2001.
[2] DRUCKER, P. F. The New Realities. 1ª st: Transaction Publishers, 2003.
[3] BEZERRA, B. L. D. Soluções em personalização de conteúdo baseadas
em classificadores simbólicos modais. Universidade Federal de
Pernambuco. Recife, p. 211. 2008.
[4] NICHOLS, D. M. Implicit Rating and Filtering. In Proceedings of the 5th
DELOS Workshop on Filtering and Collaborative Filtering. Budapest: 1997.
p. 31-36.
[5] RALPH, P.; PARSONS, J. A Framework for Automatic Online
Personalization. Proceedings of the 39th Annual Hawaii International
Conference on System Sciences. : . 2006. p. 137b - 137b.
[6] ADOMAVICIUS, G.; TUZHILIN, A. Toward the next generation of
recommender systems: a survey of the state-of-the-art. IEEE Transactions
on Knowledge and Data Engineering, v. 17, n. 6, p. 734-749, June 2005.
[7] BURKE, R. Knowledge-Based Recommender Systems. In: KENT, A.
Encyclopedia of Library and Information Systems. v. 69, 2000.
[8] WEI, K.; HUANG, J.; FU, S. A Survey of E-Commerce Recommender
Systems. International Conference on Service Systems and Service
Management. 2007. p. 1-5.
[9] BIRUKOU, A. et al. IC-service - A service-oriented approach to the
development of recommendation systems. Proceedings of the 2007
ACM symposium on Applied computing. Seoul: ACM. 2007. p. 1683 - 1688.
ReferênciasReferências[10] HOHPE, G.; WOOLF, B. Enterprise Integration Patterns - Designing,
Building, and Deploying Messaging Solutions. 1st. ed. Boston: Addison-
Wesley Professional, 2003.
[11] AHA, D. W.; KIBLER, D.; ALBERT, M. K. Instance-Based Learning
Algorithms. Machine Learning, v. 6, p. 37 - 66, June 1991.
[12] SHARDANAND, U.; MAES, P. Social information filterin - Algorithms for
automating "word of mouth". Proceedings of ACM CHI'95 Conference on
Human Factors in Computing Systems. Denver: ACM Press/Addison-
Wesley Publishing Co. 1995. p. 210-217.
[13] HERLOCKER, J. L.; KONSTAN, J. A.; TERVEEN, L. G. &. R. J. T.
Evaluating collaborative filtering recommender systems. ACM
Transactions on Information Systems, New York, 22, n. 1, January 2004.
5-53.
[14] HUANG, Z.; ZENG, D.; CHEN, H. A Comparison of Collaborative-Filtering
Recommendation Algorithms for E-commerce. IEEE Intelligent Systems,
Piscataway, v. 22, n. 5, p. 68-78, September 2007.
[15] BELL, R. M.; KOREN, Y. Improved neighborhood-based collaborative
filtering. KDD Cup and Workshop at the 13th ACM SIGKDD International
Conference on Knowledge Discovery and Data Mining. 2007.
[16] ERL, T. SOA Design Patterns. 1st. ed. Indiana: Pearson Education, Inc,
2008.
[17] ERL, T. Service-Oriented Architecture: Concepts, Technology, and
Design. 1st. ed. Indiana: Pearson Education, Inc, 2005.
[18] JOSUTTIS, N. M. SOA na Prática - A Arte da Modelagem de Sistemas
Distribuídos. 1ª Edição. ed. Rio de Janeiro: Alta Books Ltda., 2008.
ReferênciasReferências[19] FIELDING, R. et al. Hypertext Transfer Protocol -- HTTP/1.1, June 1999.
Disponivel em: <http://www.rfc-editor.org/rfc/rfc2616.txt>.
[20] BRAY, T.; PAOLI, J.; SPERBERG-MCQUEEN, M. Extensible Markup
Language (XML) 1.0. 5ª Edição.: World Wide Web Consortium, 2008.
[21] CHRISTENSEN, E. et al. Web Services Description Language (WSDL)
1.1: World Wide Web Consortium, 2001.
[22] GUDGIN, M. et al. SOAP Version 1.2 Part 1: Messaging Framework. 2ª
Edição.: World Wide Web Consortium, 2007.
[23] BELLWOOD, T.; CLÉMENT, L.; RIEGEN, C. V. UDDI Spec Technical
Committee Specification 3.0.1: Organization for the Advancement of
Structured Information Standards, 2003.
[24] THOMPSON, H. S. et al. XML Schema Part 1: Structures. 2ª Edição.:
World Wide Web Consortium, 2004.
[25] THURLOW, R. RPC: Remote Procedure Call Protocol Specification Version
2, 2009. Disponivel em: <ftp://ftp.rfc-editor.org/in-notes/rfc5531.txt>.
[26] NADALIN, A. et al. Web Services Security - SOAP Message Security
1.1: Organization for the Advancement of Structured Information Standards,
2006.
Obrigado!Obrigado!
O código fonte do projeto está disponível em http://code.google.com/p/iars