recommenders / rival

RiVal recommender system evaluation toolkit
rival.recommenders.net
Apache License 2.0
151 stars 40 forks source link

Command line interface #57

Open alansaid opened 10 years ago

alansaid commented 10 years ago

Make Rival accessible and configurable through command line arguments to make the binary distribution usable without property files or configuration in Java.

jacekwasilewski commented 9 years ago

Hi @alansaid,

As we have a similar discussion for RankSys (probably you received a notification), I was wondering if you have started doing anything here? If not, do you have any specific idea how you would like to have it done or you're open for suggestions?

One idea could be as here https://github.com/ir-uam/RankSys/issues/6 to create some kind of shell from which you could run and do kind of exploratory recsys analysis.

Other that I have, but I think it's more complex, could be to do as Spark/pySpark is doing it, so to enable running it from Python as a context. They it would be possible to use it e.g. in Jupyter notebooks with other Python packages if you would like to plot or analyse results.

alansaid commented 9 years ago

Hi @jacekwasilewski , A while ago I made few rudimentary cli prototypes for RiVal but haven't committed anything to the repo - and likely won't as it's gone stale by now. My idea was to build something similar to MyMediaLite's cli (which you've linked to in the discussion over at RankSys).

As for now, we don't have a clear plan on how to do it, so if you're feeling you're up for the task, please go ahead :)

jacekwasilewski commented 9 years ago

Thanks @alansaid!

One more question - what idea did you have in your mind? Only to expose original RiVal functionalities or as well wrappers for other frameworks, like Mahout, LensKit etc., to be able to run full flows?

alansaid commented 9 years ago

Hi @jacekwasilewski, I think it would be best to only expose RiVal functionalities by default, making sure there is one default "language" for issuing the basic commands/recommendations. This does however not exclude a "pro" interface where additional and more complex commands could be pushed to the other frameworks.