How to use the demo
Welcome to SIRUP, the profile-based book recommender!
This demo allows to explore book recommendations, which are produced based on the given textual user profile and situative context (such as user query).
In this demo you can examine two book review communities: Goodreads and Amazon; you can switch between them using the menu above.
To get the personalized recommendations follow these steps:
Step 1: define the user profile
The user profile is a concise text (128-token long), which summarizes the reader's book interests and is used by the downstream recommender to personalize the predictions.
You can choose between predefined users or manual user mode.
Predefined users mode
In this mode you can use a dropdown to select one of the readers from the original book community (Goodreads/Amazon).
To help you with the choice, we asked ChatGPT to generate a punchy one-line description for each user, characterizing their reading preferences.
In addition to that, we indicate how much each reader reviewed, splitting them in three groups: novices, fans and ambassadors.
After the user is chosen, you can see the entirety of their reviews on the bottom of the page.
Next, select a method, which will be used for text compression, to turn all user's reviews into a concise 128-token profile ("Select text selection method" dropdown).
We offer the following profile construction options:
- random: randomly selected sentences from all user's reviews, up to the token limit
- SBERT: we use SBERT sentense similarity model to select the review sentences, which are close to the book descriptions
- 1gram: top unigrams by tf-idf score
- 3gram: top 3grams by tf-idf score
- idf: sentences with the highest unigram idf scores
- keywords: keywords generated with neural model (T5)
- genres: set of all genres of the books the reader reviewed
- titles: titles of all books the reader reviewed
The input field for the profile will be automatically populated with the resulting profile text, and you can move to next step!
Manual mode
In this option you can simply type in your profile, by selecting "Option 1: Input text profile". Be aware, that the inputs longer than 128 tokens will be truncated.
Alternatively, you can input the reviews for the books one by one, by selecting "Option 2: Input reviews".
You will see a table in which you can specify the title of the book you have reviewed (optionally with the help of autocomplete) and the review of this book.
Add as many reviews as you like and press the "create profile" button to see your resulting profile. Note, that some methods use only review or only title text.
Additionally you can export and upload the reviews you just entered, so that you have them stored on your device. To upload the reviews, make sure the file is formatted as a two-column .csv
Step 2: define the search context
In this step you can define the situative context of the recommendations you would like to see, following your current information needs.
There are several modes for that available in the demo ("How to make a prediction" dropdown):
- By query: you can enter a textual query, specifying what you are looking for.
The query will be used to retrieve the 100 top matching books, using BM25 algorithm. These candidate books will then be reranked using the reader's profile.
- By item: select an existing book from the collection, to get the recommendations similar to the selected one.
To pre-select similar items for reranking, the selected item's title, genres and description will be used in BM25 similarity search.
- By genre: select a genre, so that the initial pool of candidates for reranking will only have the books from this genre.
There also two context-free modes:
- By profile: the reader's profile is used in BM25, to select the candidates based on pure term matching, and afterwards they are reranked with the neural model.
- All items: all items are ranked to get personalized recommendations (this mode is useful on the front page of the website, to kick-start reader's exploration).
Finally, select the pretrained recommender model that you are going to use ("select a model" dropdown). They differ in the profile selection methods they were trained on (consequently they have same names).
We generally recommend selecting the same prediction model as the selected profile creation method.
After all that you can finally press the button PREDICT and get your recommendations!
Investigating recommendations
The results that you get consist of two parts.
First, we show the saliency of profile input terms, that were guiding the model's prediction. The show them with colors, where the darker words are more important.
You can also hover over the words to see the exact normalized weight given by the model.
The main result is a list of recommended books, each with image, title, categories and description. You can click on the tile with the book to get to the page of the item on the original website (Goodreads/Amazon).
Alongside, we show the scores from the recommender model and the book's rank (the list is already sorted by rank).
In cases where BM-25 contextualized recommendations were used, we also show the book's rank according to BM-25. This can give you an insight, how using the profile text can influence the ranking.
Background
We use two-tower BERT as a backbone recommendation model; we fine-tune it end-to-end on the text-rich data from our datasets (for more details on the dataset, press "Dataset statistics" button).