1 / 35

Adicionando Escalabilidade ao Framework de Recomendação Idealize

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.

heba
Download Presentation

Adicionando Escalabilidade ao Framework de Recomendação Idealize

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Um sistema de recomendação • 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.

  3. Escalabilidade • 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.

  4. Crescente interesse na área acadêmica • 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 Conferenceon Recommender Systems).

  5. Podemos recomendar • Imagens (photoree.com) • Músicas (lastfm.com) • Vídeos (youtube.com) • Filmes (movielens.umn.edu) • Produtos (amazon.com) • Notícias (idgnow.com.br) • E diversosoutrositens

  6. Notícias – idgnow.com.br

  7. Notícias – idgnow.com.br

  8. Formas para coletar dados do usuário • Explícita Dados fornecidos pelo usuário. Ex. : crítica ou questionários. • Implícita Comportamento ao utilizar a aplicação – dados de uso (objetos comprados, vistos, baixados, clicados). • Inferência Aprender o perfil ou comportamento do usuário.

  9. Abordagens de sistemas de recomendação • Top N • Baseada em Conteúdo • Filtragem Colaborativa • Baseada em Dados de Uso • Híbrida

  10. Top N • 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.

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

  12. Recomendação Baseada em conteúdo • 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.

  13. Recomendação Baseada em conteúdo • 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.

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

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

  16. Filtragem Colaborativa

  17. Filtragem Colaborativa

  18. Filtragem Colaborativa

  19. Filtragem Colaborativa • 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.

  20. Baseada em dados de uso • 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.

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

  22. Framework de Recomendação Idealize (IRF) e Aplicação de recomendação baseada em conteúdo desenvolvida utilizando o IRF

  23. Objetivo de um framework • 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.

  24. Descrição do IRF • 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.

  25. Setor de Cache • Este setor é destinado a armazenar as recomendações já calculadas. • Fornece respostas rápidas aos pedidos de recomendações que chegam a sua fachada.

  26. Setor de Batch • 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.

  27. Setor de Input • 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.

  28. Modelo de Produção

  29. Principais Componentes do IRF • Base Cache, CacheObserver, Constants, IdealizeExceptions, IdelizeFacades, PropertiesLoader, IdealizeLogger • Hot Spots InstantiatorWorker, IdealizeDataModel, BaseBean, InputInterpreter, Controller, DataManipulator, BatchProcessors, RecommendationSerializer, IdealizeRecommender, BaseStorable • classes.properties

  30. Arquitetura do Setor de Batch

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

  32. Estudos realizados para desenvolvimento das aplicações • 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.

  33. Trabalhos Futuros • 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.

  34. Cronograma

  35. Perguntas?

More Related