Um serviço de recomendação inter-aplicações baseado em filtragem colaborativa Aluno: Jefferson...

Post on 17-Apr-2015

107 views 4 download

Transcript of Um serviço de recomendação inter-aplicações baseado em filtragem colaborativa Aluno: Jefferson...

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