35
Adicionando Escalabilidade ao Framework de Recomendação Idealize Alex Amorim Dutra Orientador: Álvaro R. Pereira Jr. Co-Orientador: Felipe Martins Melo

Adicionando Escalabilidade ao Framework de Recomendação Idealize

  • Upload
    heba

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Adicionando Escalabilidade ao Framework de Recomendação Idealize. Alex Amorim Dutra Orientador: Álvaro R. Pereira Jr. Co-Orientador: Felipe Martins Melo. Um sistema de recomendação. Muitas vezes desperdiçamos muito tempo tentando encontrar conteúdo relevante. - PowerPoint PPT Presentation

Citation preview

Page 1: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Adicionando Escalabilidade ao Framework de Recomendação

IdealizeAlex Amorim Dutra

Orientador: Álvaro R. Pereira Jr. Co-Orientador: Felipe Martins Melo

Page 2: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Muitas vezes desperdiçamos muito tempo tentando encontrar conteúdo relevante.

Os dados na WEB tendem a crescer a cada dia.

Sistemas de recomendação levam a seus utilizadores informações relevantes.

Um sistema de recomendação

Page 3: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Processamento de dados de forma distribuída.

Demanda de processamento de dados de acordo com a necessidade do cliente.

Adicionar máquinas para processar os dados à medida que estes aumentarem.

Escalabilidade

Page 4: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Crescente ocorrência de artigos nas conferências relacionadas como KDD e CIKM.

Criação de uma nova conferência pela ACM, a RecSys (ACM Conference on Recommender Systems).

Crescente interesse na área acadêmica

Page 5: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Imagens (photoree.com) Músicas (lastfm.com) Vídeos (youtube.com) Filmes (movielens.umn.edu) Produtos (amazon.com) Notícias (idgnow.com.br) E diversos outros itens

Podemos recomendar

Page 6: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Notícias – idgnow.com.br

Page 7: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Notícias – idgnow.com.br

Page 8: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Explícita Dados fornecidos pelo usuário.

Ex. : crítica ou questionários.

ImplícitaComportamento ao utilizar a aplicação – dados de uso (objetos comprados, vistos, baixados, clicados).

Inferência Aprender o perfil ou comportamento do usuário.

Formas para coletar dados do usuário

Page 9: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Top N

Baseada em Conteúdo

Filtragem Colaborativa

Baseada em Dados de Uso

Híbrida

Abordagens de sistemas de recomendação

Page 10: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Mais lidos, vendidos, baixados, apontados ou citados.

Uma das técnicas de recomendação mais vista hoje em dia.

Não oferece conteúdo para usuários específicos.

Top N

Page 11: Adicionando Escalabilidade ao Framework de Recomendação Idealize

A recomendação é feita comparando conteúdo que o usuário já acessou, recomendando itens similares.

Recomendação Baseada em conteúdo

Page 12: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Perfil X Item: recomendar itens classificados no perfil do usuário.

Ex.: Livros com assuntos definidos no perfil do usuário.

Item X Item: recomendar itens similares a itens relacionados ao usuário.

Ex.: Outros CDs do mesmo artista.

Recomendação Baseada em conteúdo

Page 13: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Problemas

Um novo usuário não possui itens classificados.

Usuário não irá receber conteúdo muito diferente do que já foi visto.

Recomendação Baseada em conteúdo

Page 14: Adicionando Escalabilidade ao Framework de Recomendação Idealize

É o processo de filtragem por informação ou padrões usando técnicas que envolvem colaboração entre múltiplos agentes.

Filtragem Colaborativa

Page 15: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Usuário X Usuário: recomendar itens relacionados a pessoas com características semelhantes (atributos ou preferências).

Filtragem Colaborativa

Page 16: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Filtragem Colaborativa

Page 17: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Filtragem Colaborativa

Page 18: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Filtragem Colaborativa

Page 19: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Problemas

Um novo usuário não pertence a nenhum grupo.

Novos itens são adicionados o tempo todo e ainda não foram avaliados.

Filtragem Colaborativa

Page 20: Adicionando Escalabilidade ao Framework de Recomendação Idealize

A recomendação é realizada analisando as ações de um usuário em determinada aplicação.

Exemplo: A sequência de links que determinado usuário clicou ao navegar em um site de compras.

Baseada em dados de uso

Page 21: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Combinação entre as diversas abordagens de recomendação, desta forma uma abordagem supre as falhas das outras.

Híbrida

Page 22: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Framework de Recomendação Idealize (IRF) e

Aplicação de recomendação baseada em conteúdo desenvolvida utilizando o IRF

Page 23: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Um framework provê uma solução para uma família de problemas semelhantes.

Um conjunto de classes e interfaces que mostra como decompor a família de problemas.

Objetivo de um framework

Page 24: Adicionando Escalabilidade ao Framework de Recomendação Idealize

O IRF é composto por três setores, sendo eles: Input, Cache e Batch.

Estes setores são utilizados em três máquinas, cada uma instanciada com um setor correspondente.

Descrição do IRF

Page 25: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Este setor é destinado a armazenar as recomendações já calculadas.

Fornece respostas rápidas aos pedidos de recomendações que chegam a sua fachada.

Setor de Cache

Page 26: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Este setor é responsável por executar recomendações em lote e processar os feedbacks.

Este setor é destinado a ser executado em um cluster de modo a ser capaz de lidar com a enorme quantidade.

Setor de Batch

Page 27: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Através deste setor o usuário pode fazer operações tais como inserção, remoção e atualização sobre os itens e os dados do usuário.

Foi criado a fim de dissociar a produção de recomendações e feedbacks das tarefas de gerenciamento das bases de dados.

Setor de Input

Page 28: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Modelo de Produção

Page 29: Adicionando Escalabilidade ao Framework de Recomendação Idealize

BaseCache, CacheObserver, Constants, IdealizeExceptions,

IdelizeFacades, PropertiesLoader, IdealizeLogger

Hot SpotsInstantiatorWorker, IdealizeDataModel, BaseBean,

InputInterpreter, Controller, DataManipulator, BatchProcessors, RecommendationSerializer,

IdealizeRecommender, BaseStorable

classes.properties

Principais Componentes do IRF

Page 30: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Arquitetura do Setor de Batch

Page 31: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Execução da Aplicação de Recomendação Baseada em Conteúdo

Page 32: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Padrões de projeto.

Tecnologia RMI provida pela linguagem Java.

Sistemas de recomendação e métodos de recomendação.

Início dos estudos sobre Hadoop e sistemas escaláveis.

Estudos realizados para desenvolvimento

das aplicações

Page 33: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Implementação da arquitetura escalável no IRF.

Desenvolver uma aplicação que utilize a nova arquitetura escalável, sendo esta aplicação de qualquer abordagem de recomendação.

Trabalhos Futuros

Page 34: Adicionando Escalabilidade ao Framework de Recomendação Idealize

CronogramaAno 2011

Tarefa a ser realizada

Janeiro Estudo do Hadoop e sistemas escaláveisImplementação da arquitetura escalável no IRF

Fevereiro Implementação da arquitetura escalável no IRF

Março Implementação de uma aplicação de recomendação escalável sobre o IRF

Abril Realização de testes e correções

Maio Escrever monografia II

Junho Escrever monografia IIApresentar

Page 35: Adicionando Escalabilidade ao Framework de Recomendação Idealize

Perguntas?