flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Domokos Miklós Kelen (JIRA) <j...@apache.org>
Subject [jira] [Created] (FLINK-4712) Implementing ranking predictions for ALS
Date Thu, 29 Sep 2016 15:16:20 GMT
Domokos Miklós Kelen created FLINK-4712:

             Summary: Implementing ranking predictions for ALS
                 Key: FLINK-4712
                 URL: https://issues.apache.org/jira/browse/FLINK-4712
             Project: Flink
          Issue Type: New Feature
          Components: Machine Learning Library
            Reporter: Domokos Miklós Kelen

We started working on implementing ranking predictions for recommender systems. Ranking prediction
means that beside predicting scores for user-item pairs, the recommender system is able to
recommend a top K list for the users.


In practice, this would mean finding the K items for a particular user with the highest predicted
rating. It should be possible also to specify whether to exclude the already seen items from
a particular user's toplist. (See for example the 'exclude_known' setting of [Graphlab Create's
ranking factorization recommender|https://turi.com/products/create/docs/generated/graphlab.recommender.ranking_factorization_recommender.RankingFactorizationRecommender.recommend.html#graphlab.recommender.ranking_factorization_recommender.RankingFactorizationRecommender.recommend].

The output of the topK recommendation function could be in the form of DataSet[(Int,Int,Int)],
meaning (user, item, rank), similar to Graphlab Create's output. However, this is arguable:
follow up work includes implementing ranking recommendation evaluation metrics (such as precision@k,
recall@k, ndcg@k), similar to [Spark's implementations|https://spark.apache.org/docs/1.5.0/mllib-evaluation-metrics.html#ranking-systems].
It would be beneficial if we were able to design the API such that it could be included in
the proposed evaluation framework (see [5157|https://issues.apache.org/jira/browse/FLINK-2157]),
which makes it neccessary to consider the possible output type DataSet[(Int, Array[Int])]
or DataSet[(Int, Array[(Int,Double)])] meaning (user, array of items), possibly including
the predicted scores as well. See [issue todo] for details.

Another question arising is whether to provide this function as a member of the ALS class,
as a switch-kind of parameter to the ALS implementation (meaning the model is either a rating
or a ranking recommender model) or in some other way.

This message was sent by Atlassian JIRA

View raw message