ESCOLA POLITÉCNICA DE
PERNAMBUCO
Um serviço de recomendação interaplicaçõ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
𝜌: 𝑈 𝘹 𝐼 ⟶ Г
∀𝑣 ∈ 𝑈, 𝑖𝑣′ = arg max𝑖 ∈ 𝐼 𝜌 𝑣, 𝑖
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
𝑖∈𝐼
Ψ 𝑣, 𝑢 =
𝑖∈𝐼
𝑣 𝑖 −𝑣 ∗ 𝑢 𝑖 −𝑢
𝑣 𝑖 −𝑣
2
∗
𝑖∈𝐼
𝑢 𝑖 −𝑢
– Função utilidade
• Baseada em kNN
ρ 𝑣, 𝑖 = 𝑣 +
ℎ
𝑘=1
𝑢𝑘 𝑖 − 𝑢𝑘 ∗ Ψ(𝑣, 𝑢𝑘 )
ℎ
𝑘=1 Ψ(𝑣, 𝑢𝑘 )
2
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
• Serviço
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 interaplicaçõ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
𝑖∈𝐼
Ψ 𝑣, 𝑢 =
𝑖∈𝐼
𝑣 𝑖 −𝑣 ∗ 𝑢 𝑖 −𝑢
𝑣 𝑖 −𝑣
2
∗
𝑖∈𝐼
𝑢 𝑖 −𝑢
• Cálculo da utilidade
ρ 𝑣, 𝑖 = 𝑣 +
ℎ
𝑘=1
𝑢𝑘 𝑖 − 𝑢𝑘 ∗ Ψ(𝑣, 𝑢𝑘 )
ℎ
𝑘=1 Ψ(𝑣, 𝑢𝑘 )
2
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
[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,
Personalization.
J.
Proceedings
A
Framework
of
the
39th
for
Annual
Automatic
Hawaii
Online
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.
development
et
al.
IC-service
-
A service-oriented
of
recommendation
systems.
approach
Proceedings
of
to
the
the
2007
ACM symposium on Applied computing. Seoul: ACM. 2007. p. 1683 - 1688.
Referências
[10]
HOHPE,
G.; WOOLF, B.
Enterprise
Integration Patterns
- Designing,
Building, and Deploying Messaging Solutions. 1st. ed. Boston: AddisonWesley 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,
Evaluating
J.
L.;
KONSTAN,
collaborative
J.
filtering
A.;
TERVEEN,
L.
recommender
G.
&.
R.
systems.
J.
T.
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ê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!
O código fonte do projeto está disponível em
http://code.google.com/p/iars
Download

Apresentação