Wprowadzenie do systemów rekomendacji - prezentacja z seminarium Instytutu Informatyki Politechniki Warszawskiej.
W zalewie informacji odnalezienie tych które nas rzeczywiście interesują staje się bardzo trudne. Wspomagają nas w tym systemy IR, np. w postaci wyszukiwarek internetowych. O krok dalej idą systemy rekomendacji, próbując odgadnąć preferencje użytkownika i zaoferować najlepiej spersonalizowane treści automatycznie.
Podejście do problemu rekomendacji użytkownikowi najbardziej dopasowanych informacji zmieniało się w czasie. Aktualnie do wyboru mamy szereg gotowych do zastosowania metod: od prostego opisu podobieństwa użytkowników, kończąc na złożonych modelach data mining. Trudność zaczyna stanowić poprawne zrozumienie problemu/domeny, odpowiednie dobranie metody rekomendacji oraz sposób jej pomiaru.
Na prezentacji zostanie przedstawione krótkie wprowadzenie do tematyki systemów rekomendacji. Omówione zostaną metod rekomendacji oraz sposoby ich ewaluacja. Zaprezentowane zostanie podejście do rekomendacji jako "ranking top-N". Całość uzupełniona zostanie doświadczeniami i ciekawymi problemami z implementacji platformy rekomendacyjnej dla największego serwisu e-commerce w Polsce.
Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...Bartlomiej Twardowski
W zalewie informacji odnalezienie tych które nas rzeczywiście interesują staje się bardzo trudne. Wspomagają nas w tym systemy IR, np. w postaci wyszukiwarek internetowych. O krok dalej idą systemy rekomendacji, próbując odgadnąć preferencje użytkownika i zaoferować najlepiej spersonalizowane treści automatycznie.
Podejście do problemu rekomendacji użytkownikowi najbardziej dopasowanych informacji zmieniało się w czasie. Aktualnie do wyboru mamy szereg gotowych do zastosowania metod: od prostego opisu podobieństwa użytkowników, kończąc na złożonych modelach trenowanych przez metody ML. Trudność zaczyna stanowić poprawne zrozumienie problemu/domeny, odpowiednie dobranie metody rekomendacji oraz sposób jej pomiaru.
Na prezentacji zostanie przedstawione krótkie wprowadzenie do tematyki systemów rekomendacji. Omówione zostaną metod rekomendacji oraz sposoby ich ewaluacja. Zaprezentowane zostanie podejście do problemu jako "ranking top-N" najlepszych ofert. Całość uzupełniona zostanie doświadczeniami i ciekawymi problemami z implementacji platformy rekomendacyjnej dla największego serwisu e-commerce w Polsce.
Recommendation Systems: Applying Amazon's Collaborative Filtering Methods to ...Nguyen Cao
This document discusses recommendation services used by Amazon and how they could be implemented on 123Mua.vn. It describes Amazon's business model for recommendations, including recommending products based on browsing history, viewing history, and purchases. It also discusses the research model, including content-based filtering, collaborative filtering, and how they calculate similarity. Finally, it proposes how 123Mua.vn could implement a recommendation engine using items of known interest, popular items, similar item lists, and a weighting scheme to generate recommendations.
Recommendation systems, also known as recommendation engines, are a type of information system whose purpose is to suggest, or recommend items or actions to users.
The recommendations may consist of:
-> retail items (movies, books, etc.) or
-> actions, such as following other users in a social network.
It can be said that, Recommendation engines are nothing but an automated form of a “shop counter guy”. You ask him for a product. Not only he shows that product, but also the related ones which you could buy. They are well trained in cross selling and up selling. So, does our recommendation engines.
This document discusses recommender systems, including:
1. It provides an overview of recommender systems, their history, and common problems like top-N recommendation and rating prediction.
2. It then discusses what makes a good recommender system, including experiment methods like offline, user surveys, and online experiments, as well as evaluation metrics like prediction accuracy, diversity, novelty, and user satisfaction.
3. Key metrics that are important to evaluate recommender systems are discussed, such as user satisfaction, prediction accuracy, coverage, diversity, novelty, serendipity, trust, robustness, and response time. The document emphasizes selecting metrics based on business goals.
This document provides an overview of recommender systems. It defines recommender systems as tools that suggest items like books, movies, music or products to users based on their preferences and behavior. It then describes several common types of recommender system algorithms including content-based, collaborative filtering using similarity measures, and latent factor models. The document also briefly discusses open problems in recommender systems like how to evaluate and improve different evaluation metrics over time.
Rekomendujemy - Szybkie wprowadzenie do systemów rekomendacji oraz trochę wie...Bartlomiej Twardowski
W zalewie informacji odnalezienie tych które nas rzeczywiście interesują staje się bardzo trudne. Wspomagają nas w tym systemy IR, np. w postaci wyszukiwarek internetowych. O krok dalej idą systemy rekomendacji, próbując odgadnąć preferencje użytkownika i zaoferować najlepiej spersonalizowane treści automatycznie.
Podejście do problemu rekomendacji użytkownikowi najbardziej dopasowanych informacji zmieniało się w czasie. Aktualnie do wyboru mamy szereg gotowych do zastosowania metod: od prostego opisu podobieństwa użytkowników, kończąc na złożonych modelach trenowanych przez metody ML. Trudność zaczyna stanowić poprawne zrozumienie problemu/domeny, odpowiednie dobranie metody rekomendacji oraz sposób jej pomiaru.
Na prezentacji zostanie przedstawione krótkie wprowadzenie do tematyki systemów rekomendacji. Omówione zostaną metod rekomendacji oraz sposoby ich ewaluacja. Zaprezentowane zostanie podejście do problemu jako "ranking top-N" najlepszych ofert. Całość uzupełniona zostanie doświadczeniami i ciekawymi problemami z implementacji platformy rekomendacyjnej dla największego serwisu e-commerce w Polsce.
Recommendation Systems: Applying Amazon's Collaborative Filtering Methods to ...Nguyen Cao
This document discusses recommendation services used by Amazon and how they could be implemented on 123Mua.vn. It describes Amazon's business model for recommendations, including recommending products based on browsing history, viewing history, and purchases. It also discusses the research model, including content-based filtering, collaborative filtering, and how they calculate similarity. Finally, it proposes how 123Mua.vn could implement a recommendation engine using items of known interest, popular items, similar item lists, and a weighting scheme to generate recommendations.
Recommendation systems, also known as recommendation engines, are a type of information system whose purpose is to suggest, or recommend items or actions to users.
The recommendations may consist of:
-> retail items (movies, books, etc.) or
-> actions, such as following other users in a social network.
It can be said that, Recommendation engines are nothing but an automated form of a “shop counter guy”. You ask him for a product. Not only he shows that product, but also the related ones which you could buy. They are well trained in cross selling and up selling. So, does our recommendation engines.
This document discusses recommender systems, including:
1. It provides an overview of recommender systems, their history, and common problems like top-N recommendation and rating prediction.
2. It then discusses what makes a good recommender system, including experiment methods like offline, user surveys, and online experiments, as well as evaluation metrics like prediction accuracy, diversity, novelty, and user satisfaction.
3. Key metrics that are important to evaluate recommender systems are discussed, such as user satisfaction, prediction accuracy, coverage, diversity, novelty, serendipity, trust, robustness, and response time. The document emphasizes selecting metrics based on business goals.
This document provides an overview of recommender systems. It defines recommender systems as tools that suggest items like books, movies, music or products to users based on their preferences and behavior. It then describes several common types of recommender system algorithms including content-based, collaborative filtering using similarity measures, and latent factor models. The document also briefly discusses open problems in recommender systems like how to evaluate and improve different evaluation metrics over time.
Recommender systems attempt to predict a user's preferences to recommend relevant items. They use algorithms like collaborative filtering on user data to deliver personalized recommendations. To scale, techniques like clustering users and dimensionality reduction are used. Learning to rank models combine user preferences, item attributes, and business goals to generate a ranked list of recommendations. Open source datasets and frameworks can help get started with implementing recommender systems.
Past, Present & Future of Recommender Systems: An Industry PerspectiveJustin Basilico
Slides from our talk at the RecSys 2016 conference in Boston, MA 2016-09-18 on our perspective for what are important areas for future work in recommender systems.
Tutorial: Context In Recommender SystemsYONG ZHENG
This document provides an overview of a tutorial on context-aware recommender systems. The tutorial will cover traditional recommendation techniques, context-aware recommendation which incorporates additional contextual information such as time and location, and context suggestion. It includes an agenda with topics, background information on recommender systems and evaluation metrics, and descriptions of techniques for context-aware recommendation including context filtering and modeling.
• Performed memory-based collaborative filtering techniques like Cosine similarities, Pearson’s r & model-based Matrix Factorization techniques like Alternating Least Squares (ALS) method
• Studied the scalability of these methods on local machines & on Hadoop clusters
Past, present, and future of Recommender Systems: an industry perspectiveXavier Amatriain
Keynote for the ACM Intelligent User Interface conference in 2016 in Sonoma, CA. I start with the past by talking about the Recommender Problem, and the Netflix Prize. Then I go into the Present and the Future by talking about approaches that go beyond rating prediction and ranking and by finishing with some of the most important lessons learned over the years. Throughout my talk I put special emphasis on the relation between algorithms and the User Interface.
The Recommendation Engine is a tool which provides the various users a chance to buy different things and check what is in trend or what is liked by most of the people by going through the recommendations given to them on the basis of their past searches and other people’s buying history.
This document summarizes recommender systems used in e-commerce and their benefits. It outlines examples of recommender systems from companies like Amazon, CDNOW, and eBay. It then categorizes recommender systems based on their interface (browsing, top-N lists, etc.) and recommendation technology (item-to-item correlation, people-to-people correlation, etc.). Finally, it discusses how recommender systems can enhance e-commerce by helping customers find products, suggesting additional purchases, and creating customer loyalty.
Overview of the Recommender system or recommendation system. RFM Concepts in brief. Collaborative Filtering in Item and User based. Content-based Recommendation also described.Product Association Recommender System. Stereotype Recommendation described with advantage and limitations.Customer Lifetime. Recommender System Analysis and Solving Cycle.
This document discusses different types of recommender systems. It begins by introducing recommender systems and their purposes. It then describes content-based recommendation, which recommends items similar to those a user liked in the past. Next, it covers collaborative filtering recommendation, including k-nearest neighbor, which predicts ratings based on similar users' ratings, association rules for recommendations, and matrix factorization techniques.
Recommender Systems represent one of the most widespread and impactful applications of predictive machine learning models.
Amazon, YouTube, Netflix, Facebook and many other companies generate an important fraction of their revenues thanks to their ability to model and accurately predict users ratings and preferences.
In this presentation we cover the following points:
→ introduction to recommender systems
→ working with explicit vs implicit feedback
→ content-based vs collaborative filtering approaches
→ user-based and item-item methods
→ machine learning and deep learning models
→ pros & cons of the methods: scalability, accuracy, explainability
Talk with Yves Raimond at the GPU Tech Conference on Marth 28, 2018 in San Jose, CA.
Abstract:
In this talk, we will survey how Deep Learning methods can be applied to personalization and recommendations. We will cover why standard Deep Learning approaches don't perform better than typical collaborative filtering techniques. Then we will survey we will go over recently published research at the intersection of Deep Learning and recommender systems, looking at how they integrate new types of data, explore new models, or change the recommendation problem statement. We will also highlight some of the ways that neural networks are used at Netflix and how we can use GPUs to train recommender systems. Finally, we will highlight promising new directions in this space.
Session-based recommendations with recurrent neural networksZimin Park
This document summarizes a research paper on using recurrent neural networks for session-based recommendations. Some key points:
- RNNs were first used for session-based recommendations to address issues with previous methods that only considered the last item in a session. RNNs can capture how a session evolves over time.
- The model architecture uses GRU units in a recurrent layer. Sessions are handled independently in mini-batches to account for different session lengths.
- Sampling is used on model outputs since scoring all items is impractical. Ranking loss functions like Bayesian personalized ranking are used to optimize for ranking.
- Experiments on e-commerce and YouTube datasets show the RNN model outperforms baselines like
In this lecture, I will first cover the recent advances in neural recommender systems such as autoencoder-based and MLP-based recommender systems. Then, I will introduce the recent achievement for automatic playlist continuation in music recommendation.
Recommender systems using collaborative filteringD Yogendra Rao
This document summarizes a student project on implementing recommender systems. The project objectives were to design a website using user-based, item-based, and model-based collaborative filtering as well as MapReduce to generate movie recommendations. The system was tested on the MovieLens dataset using MAE and RMSE metrics, with user-based filtering found to have the best performance. The document outlines the technical aspects of the recommendation system including the technologies used, website architecture, and references.
This document discusses recommendation systems and provides examples of different types of recommendation approaches. It introduces collaborative filtering and content-based filtering as the main recommendation techniques. For collaborative filtering, it provides an example of item-based collaborative filtering using the R programming language on a Last.fm music dataset. Content-based filtering recommends items based on their properties and features. Hybrid systems combine collaborative and content-based filtering to generate recommendations.
Recommender systems attempt to predict a user's preferences to recommend relevant items. They use algorithms like collaborative filtering on user data to deliver personalized recommendations. To scale, techniques like clustering users and dimensionality reduction are used. Learning to rank models combine user preferences, item attributes, and business goals to generate a ranked list of recommendations. Open source datasets and frameworks can help get started with implementing recommender systems.
Past, Present & Future of Recommender Systems: An Industry PerspectiveJustin Basilico
Slides from our talk at the RecSys 2016 conference in Boston, MA 2016-09-18 on our perspective for what are important areas for future work in recommender systems.
Tutorial: Context In Recommender SystemsYONG ZHENG
This document provides an overview of a tutorial on context-aware recommender systems. The tutorial will cover traditional recommendation techniques, context-aware recommendation which incorporates additional contextual information such as time and location, and context suggestion. It includes an agenda with topics, background information on recommender systems and evaluation metrics, and descriptions of techniques for context-aware recommendation including context filtering and modeling.
• Performed memory-based collaborative filtering techniques like Cosine similarities, Pearson’s r & model-based Matrix Factorization techniques like Alternating Least Squares (ALS) method
• Studied the scalability of these methods on local machines & on Hadoop clusters
Past, present, and future of Recommender Systems: an industry perspectiveXavier Amatriain
Keynote for the ACM Intelligent User Interface conference in 2016 in Sonoma, CA. I start with the past by talking about the Recommender Problem, and the Netflix Prize. Then I go into the Present and the Future by talking about approaches that go beyond rating prediction and ranking and by finishing with some of the most important lessons learned over the years. Throughout my talk I put special emphasis on the relation between algorithms and the User Interface.
The Recommendation Engine is a tool which provides the various users a chance to buy different things and check what is in trend or what is liked by most of the people by going through the recommendations given to them on the basis of their past searches and other people’s buying history.
This document summarizes recommender systems used in e-commerce and their benefits. It outlines examples of recommender systems from companies like Amazon, CDNOW, and eBay. It then categorizes recommender systems based on their interface (browsing, top-N lists, etc.) and recommendation technology (item-to-item correlation, people-to-people correlation, etc.). Finally, it discusses how recommender systems can enhance e-commerce by helping customers find products, suggesting additional purchases, and creating customer loyalty.
Overview of the Recommender system or recommendation system. RFM Concepts in brief. Collaborative Filtering in Item and User based. Content-based Recommendation also described.Product Association Recommender System. Stereotype Recommendation described with advantage and limitations.Customer Lifetime. Recommender System Analysis and Solving Cycle.
This document discusses different types of recommender systems. It begins by introducing recommender systems and their purposes. It then describes content-based recommendation, which recommends items similar to those a user liked in the past. Next, it covers collaborative filtering recommendation, including k-nearest neighbor, which predicts ratings based on similar users' ratings, association rules for recommendations, and matrix factorization techniques.
Recommender Systems represent one of the most widespread and impactful applications of predictive machine learning models.
Amazon, YouTube, Netflix, Facebook and many other companies generate an important fraction of their revenues thanks to their ability to model and accurately predict users ratings and preferences.
In this presentation we cover the following points:
→ introduction to recommender systems
→ working with explicit vs implicit feedback
→ content-based vs collaborative filtering approaches
→ user-based and item-item methods
→ machine learning and deep learning models
→ pros & cons of the methods: scalability, accuracy, explainability
Talk with Yves Raimond at the GPU Tech Conference on Marth 28, 2018 in San Jose, CA.
Abstract:
In this talk, we will survey how Deep Learning methods can be applied to personalization and recommendations. We will cover why standard Deep Learning approaches don't perform better than typical collaborative filtering techniques. Then we will survey we will go over recently published research at the intersection of Deep Learning and recommender systems, looking at how they integrate new types of data, explore new models, or change the recommendation problem statement. We will also highlight some of the ways that neural networks are used at Netflix and how we can use GPUs to train recommender systems. Finally, we will highlight promising new directions in this space.
Session-based recommendations with recurrent neural networksZimin Park
This document summarizes a research paper on using recurrent neural networks for session-based recommendations. Some key points:
- RNNs were first used for session-based recommendations to address issues with previous methods that only considered the last item in a session. RNNs can capture how a session evolves over time.
- The model architecture uses GRU units in a recurrent layer. Sessions are handled independently in mini-batches to account for different session lengths.
- Sampling is used on model outputs since scoring all items is impractical. Ranking loss functions like Bayesian personalized ranking are used to optimize for ranking.
- Experiments on e-commerce and YouTube datasets show the RNN model outperforms baselines like
In this lecture, I will first cover the recent advances in neural recommender systems such as autoencoder-based and MLP-based recommender systems. Then, I will introduce the recent achievement for automatic playlist continuation in music recommendation.
Recommender systems using collaborative filteringD Yogendra Rao
This document summarizes a student project on implementing recommender systems. The project objectives were to design a website using user-based, item-based, and model-based collaborative filtering as well as MapReduce to generate movie recommendations. The system was tested on the MovieLens dataset using MAE and RMSE metrics, with user-based filtering found to have the best performance. The document outlines the technical aspects of the recommendation system including the technologies used, website architecture, and references.
This document discusses recommendation systems and provides examples of different types of recommendation approaches. It introduces collaborative filtering and content-based filtering as the main recommendation techniques. For collaborative filtering, it provides an example of item-based collaborative filtering using the R programming language on a Last.fm music dataset. Content-based filtering recommends items based on their properties and features. Hybrid systems combine collaborative and content-based filtering to generate recommendations.
Machine learning vs big data od pomysłu do produkcji - Bartłomiej Twardowsk...Evention
Big Data & Machine Learning w Allegro
Big Data:
• clickstream (web/mobile - Kafka)
• backend events (microservices - Hermes)
• dane archiwalne z wielu lat (DWH)
ML w Allegro:
• rankingowanie
• rekomendacje
• atrybucja wielokanałowa
(...)
Context Driven School of testing w prostych przykładachRadoslaw Smilgin
Szkoła testowanie sterowanego kontekstem to jedno z najważniejszych metod testowania promująca testerów myślących i krytycznych względem produktu.
Slajdy z darmowego webinarium.
Każdego dnia internauci wypowiadają się na temat marek, usług i produktów, co generuje miliony postów. Na rynku dostępnych jest wiele narzędzi pozwalających na monitoring sieci. Jak z takiej masy internetowych danych wydobyć wartościowe informacje o konkretnej marce lub produktach?
SocialZoom – nowe narzędzie Kantar TNS pomaga odsiać internetowy spam i pozostawić jedynie precyzyjnie targetowane wypowiedzi internautów. Właściwy dyskurs poddawany jest następnie analizie ilościowej i jakościowej, co pozwala odpowiedzieć, na konkretne pytania biznesowe w postaci przejrzystych raportów.
Najważniejsze pytania dotyczące usability: Więcej czy mniej?; Porządek czy bałagan?; Logika czy emocje?;
Użyteczność czy fajerwerki?;
Słuchać rad czy nie? :); Jak nie zwariować?.
#MTC2018: Jak wdrażać Data Science w twoim biznesie? - Sebastian MalczykMobile Trends
Big data to już nie melodia przyszłości. Aby zachować konkurencyjność na rynku należy dotrzymać mu kroku. Opowiem o korzyściach płynących z Data Science dla branży eCommerce i o metodach spięcia analityki danych w Waszym biznesie.
4Developers 2018: Unit testing - introduction (Marek Kawczyński)PROIDEA
This short presentation is for people who would like to start with writing unit tests. I will try to introduce idea and definition of unit testing. With simple examples, we will go through the whole unit testing development process. Unit test, mocks, stubs, TDD and more definitions will be explained in real cases.
I will try to show how and what should be tested. Of course, everything is based on my personal experience that I have gained in my developer life in the last 10+ years.
Similar to Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na niejawnej opinii użytkowników (20)
4Developers 2018: Unit testing - introduction (Marek Kawczyński)
Systemy rekomendacji, Algorytmy rankingu Top-N rekomendacji bazujące na niejawnej opinii użytkowników
1. Systemy Rekomendacji
Algorytmy rankingu Top-N rekomendacji bazujące na niejawnej
opinii użytkowników
Bartłomiej Twardowski
Politechnika Warszawska, Instytut Informatyki
Grupa Allegro
20 maja 2015
Bartłomiej Twardowski Systemy Rekomendacji
2. Parę słów o mnie
Otwarty przewód doktorski: Algorithms for ranking of Top-N
recommendations from implicit user feedback and ephemeral
offers
oprócz pracy naukowej na co dzień pracuje w Grupie Allegro
gdzie:
zajmuje się systemami rekomendacji
analiza danych/ML
aktywnie programuję
oraz mam dostęp do dużej ilości ciekawych danych :-)
poza pracą: Kaggle/RecSys Challenge, wspinanie
skałkowe/wysokogórskie
Bartłomiej Twardowski Systemy Rekomendacji
3. Agenda
1 Wstęp do systemów rekomendacji
2 Przegląd metod rekomendacji
3 Doświadczenia z wdrażania systemu rekomendacji
Bartłomiej Twardowski Systemy Rekomendacji
4. Systemy rekomendacji - po co?
odpowiedź na zalew informacji
w e-commerce:
zamiana przeglądacza w zakupoholika
cross-selling and up-selling
budowanie lojalności klienta
personalizacja całych serwisów
spersonalizowane wyszukiwanie. SR często uważane za
następców wyszukiwarek[12].
Rekomendować możemy: filmy, utwory muzyczne, książki,
produkty, usługi, leki, tagi, artykuły, restauracje, partnerów
życiowych, lekarstwa...
Jest to obszar w DM/ML aktywnie rozwijany. Konferencje: RecSys,
SIGIR, KDD
Bartłomiej Twardowski Systemy Rekomendacji
5. Systemy rekomendacji
CNN Money, “The race to create a ’smart’ Google”:
Web, they say, is leaving the era of search and entering one of
discovery. What’s the difference? Search is what you do when
you’re looking for something. Discovery is when something
wonderful that you didn’t know existed, or didn’t know how to ask
for, finds you.
Bartłomiej Twardowski Systemy Rekomendacji
6. Systemy rekomendacji w e-commerce
Netflix: 2/3 of the movies watched are recommended
Google News: recommendations generate 38% more
clickthrough
Amazon: 35% sales from recommendations
Choicestream: 28% of the people would buy more music if
they found what they liked
Źródło: [32]
Bartłomiej Twardowski Systemy Rekomendacji
7. Systemy rekomendacji - wstęp
Standardowo system rekomendacji rozwiązuje zadanie regresji. Dla
każdego użytkownika U = {u1, u2, . . . } oraz produktu
I = {i1, i2, . . . } należy znaleźć funkcję docelową y : U × I → R.
Funkcja docelowa to funkcja oceny produktu i przez użytkownika u
- y(u, i).
Mając podany zbiór obserwacji wejściowych, wartości y(u, i) dla
zbioru S ⊂ U × I, zadaniem jest predykcja ˆy oceny dla każdego
użytkownika oraz produktu.
Bartłomiej Twardowski Systemy Rekomendacji
8. Dlaczego nie klasyczne podejście do klasyfikacji?
zmienne w systemach rekomendacji to zmienne z domeny
kategorycznej, gdzie przestrzeń jest bardzo duża i nie
posiadamy o niej żadnej wiedzy a-priori
dane wejściowe - obserwacje są bardzo rzadkie |S| |U × I|
(last.fm - 99.998% niezaobserwowanych wartości)
często problemem predykcji jest ranking obserwacji jednej
zmiennej mając dany wektor obserwacji innej zmiennej
(kontekst), nie tworzymy jednego globalnego rankingu
oczekujemy zwrócenia N najlepiej dopasowanych przedmiotów
(przykładowo AR zwróci współkupowane, ale ciężko uzyskać
zawsze N rekomendacji)
Bartłomiej Twardowski Systemy Rekomendacji
9. Podział systemów rekomendacji
Istnieje wiele taksonomii w zależności od aspektu na którym się
koncentrujemy.
Jeżeli rozpatrujemy systemy rekomendacji jako podklasę systemów
IR, możemy dokonać podziału na:
Collaborative Filtering
Content/Knowladge-based Filtering
Personalized Learning to Rank
Context Aware Recommendation
Other: Demographic, Social(Trust), Deep Learning
Hybrid Systems
Bartłomiej Twardowski Systemy Rekomendacji
10. Collaborative Filtering
bazujemy na założeniu, że podobni do siebie użytkownicy
będą dokonywać takie same decyzje[13]
wykorzystujemy historię zachowań użytkowników w systemie
Opinia użytkownika o ofercie może być wyrażona:
explicite (jawna) : ocena np. 1-5, ”polubienie”, sortowanie ofert
implicite (niejawna) : oglądanie/przesłuchanie oferty, czas
spędzony na odwiedzanej stronie[33], zakup, komentarz,
wyszukiwania,. . .
w metodzie tej wierzymy w tz. „mądrość tłumu”
Bartłomiej Twardowski Systemy Rekomendacji
13. Collaborative Filtering - User2User vs Item2Item
Item2Item podejście wykorzystane przez Amazon od 2003[17].
Źródło: http://theegeek.com/do-you-know-about-collaborative-filtering/
Bartłomiej Twardowski Systemy Rekomendacji
14. Collaborative Filtering
Zalety
metoda niezależna od domeny
brak dodatkowych informacji o użytkownikach i tym co
rekomendujemy (mogą być jedynie identyfikatory)
łatwość użycia (popularność Mahout)
Wady
cold-start problem
preprocessing: outliers, usuwanie globalnych efektów (przykładowo:
zawyżonej średniej pojedyńczego użytkownika)
ciężko jest uzyskać sensowne rekomendacje dla użytkownika o
unikalnych preferencjach gdy podążamy za tłumem
rzadkość danych
skalowalność - rośnie wraz z wzrostem liczby użytkowników oraz
produktów
Bartłomiej Twardowski Systemy Rekomendacji
15. Wykorzystanie faktoryzacji macierzy
Cel
zmniejszenie wymiarowości problemu do najbardziej znaczących
cech
Najprostsze sformułowanie problemu [30]: U - zbiór użytkowników,
I - zbiór przedmiotów. Niech R będzie macierzą |U| × |I|
zawierającą wszystkie preferencje użytkowników dla wszystkich
przedmiotów. Chcemy odkryć K cech ukrytych takich, że mając
dwie macierze P (|U| × K) oraz Q (|I| × K) otrzymujemy macierz
ˆR:
ˆR = PQT
Aby dokonać predykcji dla użytkownika ui oraz przedmiotu ij
obliczamy:
ˆrij = pT
i qj =
K
k=1
pikqkj
Bartłomiej Twardowski Systemy Rekomendacji
16. Wykorzystanie faktoryzacji macierzy
Aby obliczyć macierze P i Q staramy się zminimalizować błąd na
obserwacjach gdzie użytkownik określił preferencję względem
przedmiotu - wcześniej zdefiniowane S.
E =
(ui ,ij )∈S
(rij − ˆrij )2
=
(ui ,ij )∈S
(rij −
K
k=1
pikqkj )2
Dodając regularyzację [35]:
E =
(ui ,ij )∈S
(rij −
K
k=1
pikqkj )2
+
β
2
K
k=1
(||P||2
+ ||Q||2
)
Macierze P i Q zawierają odwzorowanie powiązania do ukrytych
cech (możemy więc zrobić np. DIMSUM na Q).
Przykładowy kod z użyciem GD:
http://btwardow.github.io/data_science/reco/2014/09/22/matrix-factorization.html
Bartłomiej Twardowski Systemy Rekomendacji
17. Wykorzystanie faktoryzacji macierzy
Metody faktoryzacji macierzy bazujące na SVD zyskały dużą
popularność przy okazji konkursu Netflix Prize. Nagroda - 1M$.
Zwycięska drużyna: BellKor’s Pragmatic Chaos.
Bartłomiej Twardowski Systemy Rekomendacji
18. Alternating Least Squares (ALS)
Zaproponowana przez Bell, Koren w 2007 [3].
Optymalizujemy oddzielnie macierze P i Q - zamrażając wartości
w drugiej macierzy. Problem staje się wtedy o złożoności O(k2).
Macierze inicjalizujemy małymi wartościami losowymi.
Jeżeli robimy to naprzemiennie zbliżamy się do globalnego
optimum.
Bartłomiej Twardowski Systemy Rekomendacji
19. Alternating Least Squares (ALS)
Jeżeli zamrozimy wartości w macierzy cech przedmiotu Q, wtedy
dla każdego użytkownika wektor wag dla cech uktrytych wynosi:
pu = QSu
QT
+ λnuI
−1
QrT
u
gdzie Su ∈ R|I|×|I| to macierz diagonalna taka w której:
Su
jj =
1 if ruj = 0
0 else
a nu to suma wszystkich obserwacji użytkownika u ( w R
napisalibyśmy: sum(Su)).
W „naprzemiennym”kroku identycznie postępujemy dla qi , a
zamrażamy macierze cech użytkownika P.
Bartłomiej Twardowski Systemy Rekomendacji
20. Alternating Least Squares (ALS)
Cytat o rozpraszaniu obliczeń w ML [10]
We can think of two reasons for using distributed machine
learning: because you have to (so much data), or because you want
to (hoping it will be faster). Only the first reason is good.
ALS przeszedł ewolucje:
naive - bez optymalizacji wydajnościowych
broadcast - przesyłamy zamrożoną macierz do wszystkich
węzłów
blocked - zarówno R jak i zamrożoną macierz dzielimy na
bloki które przesyłamy, aktualnie w Spark
Bartłomiej Twardowski Systemy Rekomendacji
21. Faktoryzacja Macierzy - Wady i Zalety
Zalety
duża rzadkość danych przestaje być problemem
wydajność - w offline obliczamy P i Q (ALS), w online
predykcja polega na wymnożeniu dwóch wektorów o długości
|K|
implementacje dostępne na większość platform/języków ( np.
SVD++, ALS lub podstawowe NNMF)
Wady
cold-start problem
hyper-parameters: K, λ, β, liczbaIteracji
cechy których nie jesteśmy w stanie zinterpretować
Bartłomiej Twardowski Systemy Rekomendacji
22. Content-Based/Knowladge-Based Filtering
rekomendacje bazują na informacji o samym przedmiocie
rekomendacji(content) oraz innych źródłach
zewnętrznych(knowladge) nie biorąc pod uwagę opinii oraz
interakcji innych użytkowników
system rekomendacyjny stara się zwrócić przedmioty podobne
(komplementarne lub w innej relacji - bazując na naszej
wiedzy) do tych którymi użytkownik był zainteresowany
w celu określenia podobieństwa dokonywana jest ekstrakcja
cech przedmiotów rekomendowanych
cechami w zależności od produktu mogą być: atrybuty
przedmiotu, tagi, termy z tekstu opisującego, synsety z
WordNet, sygnały z dźwięku, miary jakości obrazu, dostępna
ontologia, genom utworu z Music Genome Project, trójki
dbpedii,. . .
Wykorzystanie Linked Open Data w systemach
rekomendacji[20, 21, 5].
Bartłomiej Twardowski Systemy Rekomendacji
23. Content-Based Filtering - Przykład
Dwie funkcje:
Content(i) → Rd
zwraca reprezentacje przedmiotu i w przestrzeni d wymiarowej
liczb rzeczywistych
ContentBasedProfile(u) → Rd
zwraca profil użytkownika u zbudowany na historii które
przedmioty i ∈ Su oglądał. Agregacja Content na danych
historycznych do tej samej przestrzeni Rd .
Wartość dopasowania jest funkcja oceny podobieństwa score:
ˆru,i = score(ContentBasedProfile(u), Content(i))
Bartłomiej Twardowski Systemy Rekomendacji
24. Content-Based Filtering - Przykład
Przykład 1 - Obie funkcje ContentBasedProfile oraz Content
mogą zwracać TF/IDF. Funkcja score - cosinus kąta między
wektorami.
Przykład 2 - Najbanalniejszy: Indeks Lucene i wykorzystanie
MoreLikeThis :-)
Przykład 3 - Bardziej odważnie: wykorzystanie word2vec dla opisu
naszych ofert. Ale dla specyficznych domen należy wytrenować
word2vec na swoim korpusie danych.
Bartłomiej Twardowski Systemy Rekomendacji
25. Aproksymacja najbliższych sąsiadów (similar-join)
Local Sensitivity Hashing [14, 11], zachowujemy bliskość
miary w obrębie ”koszyka”, np. dla Tanimoto/Jackard może
być MinHash. Rekomendacje na Google News - PLSI +
LSH-MinHash [9]
DIMSUM[34] - Twitter, dla porównywania cosinusów
wszystkich par wierszy w macierzy. Dostępne w Mllib na
platformie Spark. Najlepiej kiedy macierz jest ”wysoka”.
Annoy - memory efficient hash index, Spotify,
https://github.com/spotify/annoy. Indeks przechowuje
podobieństwa 2OM utworów.
Bartłomiej Twardowski Systemy Rekomendacji
26. Content-Based Filtering
Zalety
brak problemu cold-start lub niewystarczającej liczby zdarzeń
o preferencjach użytkownika
możemy już coś sensownego podsunąć użytkownikowi o
niestandardowych preferencjach
rekomendujemy przedmioty które nie koniecznie muszą być
popularne, ale rekomendację w tym przypadku łatwo jest
wytłumaczyć
Wady
ekstrakcja cech - specyficzna dla domeny i nie do końca łatwa
łatwo nadmiernie dopasować model, cierpi na tym element
poznawczy element rekomendacji
Bartłomiej Twardowski Systemy Rekomendacji
27. Dlaczego algorytmy rankingu Top-N rekomendacji?
W praktyce często musimy wybrać małą liczbę N-najlepszych
ofert wybranych dla użytkownika z względu na umiejscowienie
rekomendacji - karuzela z ofertami na stronie internetowej,
urządzenie mobilne
rezultat jest przedstawiony na posortowanej liście
stąd zamiast przewidywać ocenę jaką użytkownik wystawiłby
wszystkim przedmiotom powinniśmy optymalizować całą listę
N pokazanych użytkownikowi ofert
generowanie Top-N najbardziej relewantnych rekomendacji dla
indywidualnego użytkownika to tak naprawdę utworzenie
spersonalizowanego rankingu
badanie jakości rekomendacji przy użyciu miar dla rankingu:
NDCG, MRR, MAP, ERR
Dziedziną ML zajmującą się rankingowaniem jest learning to rank.
Bartłomiej Twardowski Systemy Rekomendacji
28. Learning to Rank w rekomendacjach
Pointwise - funkcja rankingu minimalizuje funkcję celu dla
pojedyńczych obserwacji, problem: regresja, klasyfikacja,
metody: GLM, SVM, GBDT
Pairwise - funkcja celu zdefiniowana na parach lepszy-gorszy,
minimalizujemy odwrócenia par w rankingu, problem: binarna
klasyfikacja, metody: RankSVM, RankBoost, FRank, . . .
Listwise - funkcja celu zdefiniowana na całych listach (np.
maksymalizacja NDCG), problem: funkcje rankingu są
nieróżniczkowalne - Direct optimization of ranking
measures[16], metody: SVM-MAP, ListRank-MF[29],
AdaRank (boosting-NDCG), CLiMF/xCLiMF[28],
RankALS[31], SLIM[19]
Bartłomiej Twardowski Systemy Rekomendacji
29. Context-aware Recommendation
Istnieje dodatkowa informacja która wpływa na preferencje
użytkownika.
Zdefiniujmy kontekst jako c ∈ C.
Aby mówić o rekomendacjach kontekstowych musimy być w stanie
określić kto (u) oceniał co (i) w jakim kontekście (c).
Przykłady kontekstu: czas ( C = R+), przeglądarka internetowa
której korzysta użytkownik (C = useragent1, . . . , useragent2),
ostatnio przeglądana oferta ( C = P(I)).
W takim modelu poszukiwana funkcja oceny y może być
zdefiniowana jako:
y : U × I × C1 × . . . Cm → R
gdzie C1, . . . , Cm to zdefiniowane konteksty.
Bartłomiej Twardowski Systemy Rekomendacji
31. Context-aware Recommendation - Multiverse
Recommendation/PARAFAC/PITF
Metody bazujące na dekompozycji tensorowej Tuckera (TD):
Multiverse Recommendation[15]
Parallel Factor Analysis (PARAFAC)[22]
Pairwise Interaction Tensor Factorization(PITF)[22] - tensor
wejściowy jest zbudowany z porównań obiektów
rekomendowanych I parami w każdym kontekście. Tensor B
jest diagonalny, a odpowiednie (nieużywane w danym
kontekście) kolumny w V1, . . . , Vk wypełnione 1.
Wszystkie stosują RMSE przy optymalizacji.
Bartłomiej Twardowski Systemy Rekomendacji
32. Context-aware Recommendation - Factorized Machines
Factorized machines - 2010, autor S.Randle [23, 25].
próba połączenia zalet SVM z modelami bazującymi na
faktoryzacji macierzy.
W przeciwieństwie do standardowych SVM wszystkie
zależności pomiędzy zmiennymi są modelowane z
wykorzystaniem parametrów które są faktoryzowane - stąd FM
są w stanie estymować zależności dla bardzo rzadkich danych
(systemy rekomendacji).
FM dokonują predykcji z dowolnych danych posiadających
wartości rzeczywiste
Ranking może być uczony na parach obserwacji (ia, ib), gdzie
ia ma większą ocenę od ib.
Bartłomiej Twardowski Systemy Rekomendacji
33. Factorized Machines - Model
Równanie modelu predykcji wartości oceny dla wymiaru d = 2 jest
opisane:
ˆy(x) = w0 +
n
i=1
wi xi +
n
i=1
n
j=i+1
vi, vj xi xj
gdzie parametry do estymacji to:
w0 ∈ R, w ∈ Rn
, V ∈ Rn×k
i ., . to iloczyn skalarny dwóch wektorów o rozmiarze k:
vi, vj =
k
f =1
vi,f · vj,f
a wiersz vi ∈ V opisuje i-tą zmienną k -cechami.
Bartłomiej Twardowski Systemy Rekomendacji
34. Factorized Machines - Przykład modelowania z kontekstem
dla rekomendacji
Przykład [23]:
Mamy zapis który użytkownik u ∈ U oceniał film (item) i ∈ I w określonym
czasie t ∈ R w skali r ∈ 1, 2, 3, 4, 5. U = Alice (A),Bob (B),Charlie (C) I =
Titanic (TI),Notting Hill (NH), Star Wars (SW),Star Trek (ST) S = (A,TI,
2010-1, 5), (A,NH, 2010-2, 3), (A, SW, 2010-4, 1),(B, SW, 2009-5, 4), (B,
ST, 2009-8, 5), (C,TI, 2009-9, 1), (C, SW, 2009-12, 5)
Bartłomiej Twardowski Systemy Rekomendacji
35. Factorized Machines - Dodatkowe informacje
Różne podejścia do optymalizacji w FM: MCMC, SGD, ALS.
Drugie miejsce na KDD Cup 2012
(http://www.kddcup2012.org/) [24].
Biblioteka autora w C++: libfm.org.
Bartłomiej Twardowski Systemy Rekomendacji
36. Inne podejścia
Deep Learining - Spotify[1], wykorzystanie RNN do predykcji
utworów na playliście, próby w Netflix[2]
Restricted Bolzman Machines - próba w Netflix Prize[27]
Social (Trust-based) Recommenders - rekomendacje
bazujące na zaufaniu w sieciach społecznościowych.
Algorytmy używane w rekomendacjach: Advogato, Appleseed,
MoleTrust, TidalTrust
Demographic - kategoryzacja użytkownika na bazie jego
atrybutów (profilu) i próba rekomendacji bazującej np. na
geolokalizacji
Bartłomiej Twardowski Systemy Rekomendacji
37. Modele hybrydowe[6]
Weighted The scores (or votes) of several recommendation
techniques are combined together to produce a single
recommendation.
Switching The system switches between recommendation
techniques depending on the current situation.
Mixed Recommendations from several different
recommenders are presented at the same time
Feature combination Features from different recommendation data
sources are thrown together into a single
recommendation algorithm.
Cascade One recommender refines the recommendations given
by another.
Feature augmentation Output from one technique is used as an
input feature to another.
Meta-level The model learned by one recommender is used as
input to another.
Bartłomiej Twardowski Systemy Rekomendacji
39. Platforma Rekomendacyjna
Cele:
dostarczenie usługi Recommendataion-as-a-Service (RaaS)
rekomendacje dostępne dla wielu scenariuszy (np. Main Page
WWW, mobilny koszyk, push notification, email itp.)
możliwość łatwiej i szybkiej implementacji nowych algorytmów
integracja z zewnętrznymi rozwiązaniami
możliwość wykonywania eksperymentów i testów A/B (a
nawet uruchomienie Bayesian Bandit)
Trochę o Platformie Rekomendacyjnej w liczbach:
∼ 12M Real Users (GemiusPBI 02.2014 report)
∼ 40M aktywnych ofert
∼ 50M różnych zdarzeń o użytkowniku dla PR dziennie
∼ 40M wygenerowanych spersonalizowanych rekomendacji. W
szczycie ∼ 1300 req/s.
Bartłomiej Twardowski Systemy Rekomendacji
41. Punkt bazowy dla systemów rekomendacji
Podstawowym odnośnikiem dla rezultatów systemu rekomendacji
często stanowią niespersonalizowane:
przedmioty z najlepszą średnią oceną
najpopularniejsze oferty (np. w danej kategorii)
najlepiej sprzedające się produkty w e-commerce
Jeżeli system rekomendacji nie jest w stanie zaoferować nic
sensownego, zawsze możemy zwrócić jedną z wyżej wymienionych
opcji jako „koło ratunkowe”.
Bartłomiej Twardowski Systemy Rekomendacji
42. Bestsellers - co przecież może pójść źle?
W kategorii ”Dom i Ogród”:
Niebawem otrzymaliśmy email:
...z ciekawości :) to był najpopularniejszy produkt na całym
allegro?...
Bartłomiej Twardowski Systemy Rekomendacji
43. Long-tail Problem
Ale przez takie działania system rekomendacji nie spełnia swojej
misji i nadal wydłużamy nasz już i tak długi ogon.
Źródło:
http://www.slate.com/articles/arts/books/2006/07/the_wrong_tail.html
Bartłomiej Twardowski Systemy Rekomendacji
44. Problem efemeryczności
cykl życia ofert może być bardzo krótki (np. godziny od
wystawienia)
takie oferty ciężko zarekomendować z kilu powodów:
brak historii użytkowników dla nowych ofert
w momencie budowania modelu rekomendacji danej oferty nie
było w systemie
kiedy zarekomendujemy dany przedmiot oferta może być już
zakończona lub prezentowana cena nieaktualna
podobny problem stanowią np. newsy informacyjne,
jednym z sposobów radzenia sobie z problemem jest
wprowadzenie grupowania - bardziej stałych odpowiedników
Bartłomiej Twardowski Systemy Rekomendacji
45. Oferty na serwisach aukcyjnych
brak bytu produktu oraz usługi katalogującej
ofertę opisuje wystawiający: nazwa, cena, kategoria, atrybuty
oraz opis. Prawdziwym ograniczeniem aktualnie jest tylko
ludzka wyobraźnia.
drzewo kategorii nie do końca oddaje rzeczywistość -
występuje problem klasyfikacji gdzie oferta powinna trafić
sprzedawcy stosują różne obejścia, np. wystawianie po kilka
przedmiotów raz dziennie, stosowanie w nazwach NIE Zara,
HM, Sephora, cena przedmiotu - koszt dostawy,...
Bartłomiej Twardowski Systemy Rekomendacji
46. Drzewo kategorii - czy faktycznie to drzewo?
Ilość liści w drzewie kategorii - 48757.
Ilość liści w drzewie o różnych nazwach - 14275.
Często występują liście typu: Pozostałe, Inne miejscowości,
Akcesoria, Zestawy, Inne, Uszkodzone itp.
Bartłomiej Twardowski Systemy Rekomendacji
47. Meta-Item - Grupowanie Ofert
próba przybliżenia bytu ”produktu”
uzyskanie bytów bardziej trwałych do których możemy odnosić
nowo powstałe oferty oraz zachowania użytkowników z historii
rekomendowanie odbywa się na poziomie MI, np. MI-to-MI
(ciekawostka) nazwy typów MI: ARS Clusters, CAP, mojito,
kamikaze,. . . kolejne drinki ;-)
Bartłomiej Twardowski Systemy Rekomendacji
48. Meta-Item - Wady/Zalety
Zalety
rozwiązuje w dużej mierze problem efemeryczności ofert
wykorzystujemy treść oferty (content-based) oraz źródła
zewnętrzne (knowladge-based) przy rekomendacjach
Wady
główna wada - ranking ofert wewnątrz MI nie jest
spersonalizowany!
utrzymywanie wielu modeli per typ MI
interakcje użytkownik-oferta agregowane na poziomie MI,
możemy zatracić cenne szczegóły
Bartłomiej Twardowski Systemy Rekomendacji
49. Model preferencji użytkownika
Model preferencji użytkownika bazuje na jego niejawnej opinii
(implicit feedback).
Przykładowe zdarzenia użytkownika w serwisie:
Login, Logout, Bid, Buy, Item View, Search, {Add to,Remove
from} x {Cart, Watchlist, Favourites}, Recommendation Click
Przykład modelu preferencji użytkownika:
do każdego typu zdarzenia przypisujemy wagę
zbieramy zdarzenia z X ostatnich dni
zdarzenia starsze mają mniejsze znaczenie niż nowsze -
starzejemy wagę zdarzenia np. liniowo od czasu
Bartłomiej Twardowski Systemy Rekomendacji
50. Blender - oszustwo użytkownika?
Rekomender wewnątrz platformy może mieszać rekomendacje z
innych rekomenderów w dowolnych proporcjach.
Przykład konfiguracji:
MAIN PAGE BLENDER LOGGED {
type = BLENDER
f i l t e r S a m e S e l l e r = t r u e
f i l t e r A l r e a d y S e e n = t r u e
i n g r e d i e n t s = [{
recommender = RECENTLY VISITED RECOMMENDER
amount = 1.0 f
} , {
recommender = c f m p a r s t a n i m o t o
amount = 1.0 f
}]
}
Sam fakt mieszania rekomendacji z wielu modeli nie jest łatwy i
może zaburzyć mierzenie miar rankingowych dla pojedynczego
rekomendera.
Box z rekomendacjami ma np. tytuł Oferty wybrane na bazie
Twoich zainteresowań:. Czy to jest prawda?
Bartłomiej Twardowski Systemy Rekomendacji
51. Wybór i testowanie modeli
Offline
standardowo jak w ML: train/corss-validation/test
w zależności od metody rekomendacji i modelu należy
wykorzystać różne wagi (klasyfikacyjne vs rankingowe)
Online
badamy rezultaty jak dany scenariusz/algorytm działa na
produkcyjnym środowisku
oczywiście podstawowe marketingowe miary: CTR, GMV
miary obliczane dla modelu offline warto obliczyć dla danych
które spłyną z faktycznego wykorzystania online na produkcji i
je porównać
Bartłomiej Twardowski Systemy Rekomendacji
52. Testy A/B
testy A/B to podstawowa forma weryfikacji nowego
podejścia/algorytmu z użytkownikami
non-stop działają testy A/B weryfikujące nowe pomysły
testy jesteśmy w stanie wykonać dla każdego scenariusza
mówiąc jaki podział ruchu ma nastąpić
testujemy odpowiednio długo aby uniknąć efektu nowości
badamy istotność naszych testów
Bartłomiej Twardowski Systemy Rekomendacji
53. Dziękuję za uwagę
Bartłomiej Twardowski
B.Twardowski@ii.pw.edu.pl, @btwardow
Bartłomiej Twardowski Systemy Rekomendacji
54. References I
http://erikbern.com/2014/06/28/recurrent-neural-networks-for-collaborative-
filtering/.
http://techblog.netflix.com/2014/02/distributed-neural-networks-with-
gpus.html.
Bell, R. M., and Koren, Y.
Scalable collaborative filtering with jointly derived neighborhood interpolation
weights.
In Proceedings - IEEE International Conference on Data Mining, ICDM (2007),
pp. 43–52.
Bobadilla, J., Ortega, F., Hernando, a., and Guti´errez, a.
Recommender systems survey.
Knowledge-Based Systems 46 (July 2013), 109–132.
Bogers, T., and Koolen, M.
Workshop on New Trends in Content-based Recommender Systems ( CBRecSys
2014 ).
379–380.
Burke, R.
Hybrid web recommender systems.
The adaptive web (2007), 377–408.
Bartłomiej Twardowski Systemy Rekomendacji
55. References II
Chapelle, O., and Metlzer, D.
Expected reciprocal rank for graded relevance.
Proceedings of the 18th . . . (2009).
Cremonesi, P., Koren, Y., and Turrin, R.
Performance of recommender algorithms on top-n recommendation tasks.
In Proceedings of the fourth ACM conference on Recommender systems - RecSys
’10 (2010), p. 39.
Das, A.
Google News Personalization : Scalable Online.
271–280.
FastML.
http://fastml.com/the-emperors-new-clothes-distributed-machine-learning/.
Gionis, A., Indyk, P., and Motwani, R.
Similarity Search in High Dimensions via Hashing.
Search 99, 1 (1999), 518–529.
Bartłomiej Twardowski Systemy Rekomendacji
56. References III
Guy, I., Jaimes, A., Agulló, P., Moore, P., Nandy, P., Nastar, C., and
Schinzel, H.
The RecSys 2010 Industry Panel Will Recommenders Kill Search ? Recommender
Systems – An Industry Perspective.
Search (2010), 7–12.
Huang, Z. H. Z., Zeng, D., and Chen, H. C. H.
A Comparison of Collaborative-Filtering Recommendation Algorithms for
E-commerce.
IEEE Intelligent Systems 22 (2007).
Indyk, P., and Motwani, R.
Approximate nearest neighbors: towards removing the curse of dimensionality.
Proceedings of the thirtieth annual ACM symposium on Theory of computing
126 (1998), 604–613.
Karatzoglou, A., Amatriain, X., and Oliver, N.
Multiverse Recommendation : N-dimensional Tensor Factorization for
Context-aware Collaborative Filtering.
Context (2010), 79–86.
Le, Q., and Smola, A.
Direct optimization of ranking measures.
arXiv preprint arXiv:0704.3359 1, 2999 (2007), 1–29.
Bartłomiej Twardowski Systemy Rekomendacji
57. References IV
Linden, G., Smith, B., and York, J.
Amazon.com recommendations: item-to-item collaborative filtering.
IEEE Internet Computing 7 (2003).
Nathan Marz and James Warren.
Big data - Principles and best practices of scalable realtime data systems
(Chapter 1).
Ning, X., and Karypis, G.
SLIM: Sparse LInear Methods for top-N recommender systems.
Proceedings - IEEE International Conference on Data Mining, ICDM (2011),
497–506.
Ostuni, V. C., Noia, T. D., Sciascio, E. D., and Mirizzi, R.
Top-N Recommendations from Implicit Feedback leveraging Linked Open Data.
85–92.
Peska, L., and Vojtas, P.
Using Linked Open Data to Improve Recommending on.
Rendle, S.
Context-aware ranking with factorization models.
2010.
Bartłomiej Twardowski Systemy Rekomendacji
58. References V
Rendle, S.
Factorization machines.
In Proceedings - IEEE International Conference on Data Mining, ICDM (2010),
pp. 995–1000.
Rendle, S.
Social network and click-through prediction with factorization machines.
KDD-Cup Workshop (2012).
Rendle, S., Gantner, Z., Freudenthaler, C., and Schmidt-Thieme, L.
Fast context-aware recommendations with factorization machines.
In Proceedings of the 34th international ACM SIGIR conference on Research and
development in Information (2011), pp. 635–644.
Ricci, F., Rokach, L., Shapira, B., and Kantor, P. B., Eds.
Recommender Systems Handbook.
Springer US, Boston, MA, 2011.
Salakhutdinov, R., Mnih, A., and Hinton, G.
Restricted Boltzmann Machines for Collaborative Filtering.
791–798.
Bartłomiej Twardowski Systemy Rekomendacji
59. References VI
Shi, Y., Karatzoglou, A., and Baltrunas, L.
xCLiMF: optimizing expected reciprocal rank for data with multiple levels of
relevance.
Proceedings of the 7th . . . (2013), 0–3.
Shi, Y., and Larson, M.
List-wise Learning to Rank with Matrix Factorization for Collaborative Filtering.
RecSys ’10 Proceedings of the fourth ACM conference on Recommender systems
(2010), 269–272.
Tak´acs, G.
Matrix Factorization and Neighbor Based Algorithms for the Netflix Prize
Problem Categories and Subject Descriptors.
267–274.
Tak´acs, G., and Tikk, D.
Alternating least squares for personalized ranking.
Proceedings of the 6th ACM conference on Recommender systems - RecSys ’12
(2012), 83.
Xavier Amatriain, B. M.
Kdd2014 tutorial - the recommender problem revisited.
Bartłomiej Twardowski Systemy Rekomendacji
60. References VII
Yi, X., Hong, L., Zhong, E., Nan, N., and Suju, L.
Beyond Clicks : Dwell Time for Personalization.
113–120.
Zadeh, R.
All-pairs similarity via dimsum.
https://blog.twitter.com/2014/all-pairs-similarity-via-dimsum.
Zhou, Y., Wilkinson, D., Schreiber, R., and Pan, R.
Large-scale parallel collaborative filtering for the netflix prize.
In Lecture Notes in Computer Science (including subseries Lecture Notes in
Artificial Intelligence and Lecture Notes in Bioinformatics) (2008), vol. 5034
LNCS, pp. 337–348.
Bartłomiej Twardowski Systemy Rekomendacji