KG-based Recommendations
Last updated: Oct 11, 2022
Recommender systems have become particularly popular with the rise of the Web and e-commerce. These systems aim to reduce the information overload for users by filtering out content based on predictions of user preferences. Over the years, several techniques have evolved for recommender systems. Nonetheless, collaborative and content-based filtering are the most dominant techniques.
In this blog post, KG-based recommendation approaches are investigated on the Pokémon KG (version a).
Software Setup
Name | Version | Model |
---|---|---|
kgrec | nightly #da1c26d | LDSD |
pykeen | 1.9.0 | TransE |
pyRDF2Vec | nightly #266f234 | RDF2Vec |
Hyperparameters
Some of the models have hyperparameters that influence their performance and are required for better reproducibility.
Linked Data Semantic Distance (LDSD)
This model has no hyperparameters.
RDF2Vec
Depth of Walks | Max Walks per Entity | Reverse Traversal | Skip Type | Random Seed |
---|---|---|---|---|
4 | 200 | False | True | 133 |
TransE
Dimensions | Batch Size | Epoch | Neg. Samples per Pos. | Random Seed |
---|---|---|---|---|
208 | 512 | 900 | 12 | 133 |
Scoring Function | Loss Margin | Optimizer LR |
---|---|---|
1 | 2.770675835864849 | 0.001044990551285324 |
Evaluation
A brief evaluation of the models were performed for the first generation of Pokémons, which were in total 151 monsters. No dataset was available for an utility/relevance ranking of these Pokémons, which is why we used the scrapped infobox recommendations from Google instead (see post and dataset). However, an expert evaluation of relevance would lead to a more sophisticated evaluation.
P@N (i.e. precision at N) was computed for all the models.
Recommendation - Sample
In the recommendations, we focused on the 151 Pokémons in the first generation.
Jigglypuff
Google (CF) | RDF2Vec | TransE | LDSD |
---|---|---|---|
1. Wigglytuff ![]() |
1. Lickitung ![]() |
1. Wigglytuff ![]() |
|
2. Snorlax ![]() |
2. Kadabra ![]() |
2. Clefairy ![]() |
|
3. Squirtle ![]() |
3. Lapras ![]() |
3. Clefable ![]() |
|
4. Pikachu ![]() |
4. Rapidash ![]() |
4. Snorlax ![]() |
|
5. Charmander ![]() |
5. Poliwag ![]() |
5. Lickitung ![]() |
|
6. Evee ![]() |
6. Muk ![]() |
6. Chansey ![]() |
|
7. Bulbasaur ![]() |
7. Jynx ![]() |
7. Jynx ![]() |
|
8. Psyduck ![]() |
8. Hypno ![]() |
8. Hypno ![]() |
|
9. Charizard ![]() |
9. Geodude ![]() |
9. Poliwhirl ![]() |
Disqus comments are disabled.