/**
   * Create the LensKit recommender configuration for <b>unweighted</b> user profile creation.
   *
   * @return The LensKit recommender configuration.
   */
  @SuppressWarnings("unchecked")
  public static LenskitConfiguration configureRecommender() {
    LenskitConfiguration config = new LenskitConfiguration();
    // configure the rating data source
    config.bind(EventDAO.class).to(MOOCRatingDAO.class);
    config.set(RatingFile.class).to(new File("data/ratings.csv"));

    // use custom item and user DAOs
    // specify item DAO implementation with tags
    config.bind(ItemDAO.class).to(CSVItemTagDAO.class);
    // specify tag file
    config.set(TagFile.class).to(new File("data/movie-tags.csv"));
    // and title file
    config.set(TitleFile.class).to(new File("data/movie-titles.csv"));

    // our user DAO can look up by user name
    config.bind(UserDAO.class).to(MOOCUserDAO.class);
    config.set(UserFile.class).to(new File("data/users.csv"));

    // use the TF-IDF scorer you will implement to score items
    config.bind(ItemScorer.class).to(TFIDFItemScorer.class);
    return config;
  }