Frequently Asked Questions
Frequently Asked Questions
These frequently asked questions are collected from issues, emails and chats. Feel free to ask more questions via issue, email, Discord (for English) or QQ (for Chinese).
1. How to address the cold-start problem?
Use explore_recommend
to inject the latest items or recently popular items into a recommendation. Also, item labels are helpful to rank new items in a recommendation. For example:
It means the latest items are inserted into recommended items list in a probability of 0.2 and recently popular items are inserted into recommended items list in a probability of 0.1.
2. How to keep track of items recommended to each user?
There are two options:
- Insert read-type feedback to Gorse when an item is shown to a user. This is the way the official demo zhenghaoz/gitrec tracks user-seen recommendations.
- Use
write-back-type
andwrite-back-delay
parameters to write back recommendations as read feedbacks to Gorse, eg:
curl -i -H "Accept: application/json" \
-X GET http://127.0.0.1:8088//api/recommend/0?write-back-type=read&write-back-delay=10s
The 1st option is more accurate since it is done by the front end but the 2nd option is more convenient.
3. What does "no feedback found" mean?
If "collaborative filtering" tasks report no feedback found, it means there is no positive feedback in the database. The definition of positive feedback types and read feedback types are in the configuration file:
# The feedback types for positive events.
positive_feedback_types = ["star","like"]
# The feedback types for read events.
read_feedback_types = ["read"]
If "click-through rate prediction" tasks report no feedback found. It means there is no negative feedback in the database. The negative feedbacks are these read feedback without positive feedback.
If you don't have any feedback, don't worry. There are fallback recommenders to handle the cold-start problem.