# Frequently Asked Questions

These frequent asked questions are collected from issues, emails and chats. Feel free to ask more questions via issue (opens new window), email, Discord (opens new window) (for English) or QQ (opens new window) (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:

explore_recommend = { popular = 0.1, latest = 0.2 }

It means 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.

There are two options:

  1. Insert read-type feedback to Gorse when an item is shown to a user. This is the way the official demo zhenghaoz/gitrec (opens new window) tracks user-seen recommendations.
  2. Use write-back-type and write-back-delay parameter 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=10

The 1st option is more accurate since it is done by the front end but the 2nd option is more convenient. Read Recommendation Strategies for detailed information.

# 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 type is 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 feedback are these read feedback without positive feedback.

If you don't have any feedback, don't worry. There are fallback recommenders to handle cold-start problem.