Título: Case Recommender: Utilizando Python para desenvolver sistemas de recomendação
Palestrante: Arthur Fortes da Costa
Data: Sexta 29/08/2018
Que tal falar sobre recomendação? Os sistemas de recomendação são uma subárea de recuperação de informação (do inglês, Information Retrival) que tem por objetivo fazer novas sugestões personalizadas que possam vir a ser de interesse do usuário, com base nos seus feedback (sejam implícitos ou explícitos) ou nas escolhas feitas por outros usuários com gostos similares. Bons sistemas de recomendação podem aumentar as vendas/acessos em vários pontos percentuais. É por isso que eles se tornaram um recurso essencial para lojas e serviços online e têm sido uma área bastante procurada no mercado. Devido a esta necessidade de conquista, a personalização tem se apresentado como um fator facilitador no momento de "cativar" o usuário. Ao navegar por sites como Amazon, Facebook e Americanas você já se deparou com frases como “Quem viu este produto, viu também…”, “Clientes que compraram este item também compraram…” e “Porque você comprou este produto…” ? Ou quem sabe, ao assistir um filme ou ouvir uma música no Netflix/Spotify, encontrou, dentre as sugestões, alguma outra produção que se encaixava direitinho com seu gosto? Este tutorial dará uma visão geral sobre os sistemas de recomendação utilizados nas tarefas de personalização, assim como ferramentas e bibliotecas que podem auxiliar os desenvolvedores a implementar esses sistemas em Python.
Serão apresentadas diversas bases de dados públicas reais, scripts e algoritmos em Python, para gerar e avaliar a recomendação, além dos principais problemas que surgem durante a implementação de um recomendador. A fim de facilitar a aprendizagem e a compreensão do conceito, este tutorial irá se utilizar do framework Case Recommender: uma ferramenta implementada em Python, que possui uma série de populares algoritmos de recomendação, tanto para feedback implícito quanto explícito, em diferentes abordagens baseadas nos principais tipos de recomendação, sendo eles previsão de notas e ranking. Serão abordados, ainda, conceitos de Aprendizado de Máquina e Inteligência Artificial, como Cross Validation, KNN, SVD, métricas de similaridade, entre outros, utilizando as bibliotecas numpy, scipy e sklearn do Python. Assim, serão apresentados os principais conceitos e estratégias que os sistemas de recomendação utilizam para transformar dados em informação personalizada altamente poderosa.
- Python >= 3
- Numpy
- Scipy
- Pandas
- sklearn
- jupyter
- caserecommender
MovieLens 100k (Pasta /dataset)