/mynemo

Mynemo suggests your next movie to see.

Primary LanguageJavaApache License 2.0Apache-2.0

Objective

Mynemo suggests your next movie to see. For now, Mynemo use a data set of ratings and your personal ratings. These ratings are imported from MovieLens.

How to start Mynemo?

Download ratings

Mynemo needs your personal ratings and a data set containing plenty of ratings.

wget http://files.grouplens.org/datasets/movielens/ml-10m.zip
unzip ml-10m.zip

The ratings are in the ratings.dat file.

  • The previous data set contains only the MovieLens ids of the movies. In order to convert them to the IMDb ids, a file containing the necessary data must be provided. This file can be generated from a connected session on the classic MovieLens web site. Perform an advanced search restricted to movies found in any of all selected genres, then download the result. The resulting file is about 1.5 MB.

  • Your personal ratings can be exported from the classic MovieLens web site by displaying them, then downloading the result.

Build Mynemo

git clone http://github.com/norbertdev/mynemo
cd mynemo
mvn package

Start Mynemo

Before obtaining a recommendation, the data set must be converted and merged with your ratings. Then the better algorithm for you must be selected. Finally the recommendations can be produced. Three commands are provided for these steps.

  • Convert and merge the ratings:
target/appassembler/bin/import  --out mynemo-dataset.tsv  --in my-ratings.txt ratings.dat  --movies movies.txt

In the preceding example, my-ratings.txt is your ratings exported from the MovieLens web site, ratings.dat is the file from the MovieLens data set and movies.txt the file generated from the MovieLens web site. Other options can be given to the command. Run the command without any option to view the usage.

  • Select the best algorithm for you:
target/appassembler/bin/select  --data-model mynemo-dataset.tsv  --user 2147483647

In the preceding example, 2147483647 is the default user id given to your ratings. Other options can be given to the command. Run the command without any option to view the usage. The selection process ends by giving the options to provide to the last command.

  • Produce the recommendations:
target/appassembler/bin/recommend  --algorithm USER_SIMILARITY_WITH_EUCLIDEAN_DISTANCE  --data-model mynemo-dataset.tsv  --user 2147483647  --neighbors 1398

In the preceding example, the options used were provided by the select command. Other options can be given to the command, like the number of recommendations to generate. Run the command without any option to view the usage. The command ends by giving an ordered list of recommendations, with there associated rating predictions.

License

Apache License version 2.0.