Laravel AWS Personalize
A demo app to show how the implementation results look like when AWS Personalize is trained with movie lens dataset.
Deployed at movies.figurava.com.
Clone this repository and install dependencies.
git clone https://github.com/guvener/laravel-aws-personalized-demo.git composer install # optional valet link
Open installed folder and copy sample environment file
.env and set up.
cp .env.sample .env php artisan key:generate
Configure your database in the
.env file and run migrate.
php artisan migrate
[ // App\Actions\Personalize/PersonalizeViewer needs following configurations filled to make AWS Personalize Requests 'campaign_arn' => env('CAMPAIGN_ARN'), 'aws_key' => env('AWS_ACCESS_KEY_ID'), 'aws_secret' => env('AWS_SECRET_ACCESS_KEY'), 'aws_region' => env('AWS_DEFAULT_REGION'), // App\Models\Link needs Open Movie Database API key filled to get movie metadata 'omdb_key' => env('OMDB_KEY') ]
- MySQL database dump can be downloaded on the movie data repository.
- Default Laravel User and Jetstream tables are kept for later possible use cases.
linkstables are exactly as movielens dataset ml-latest.zip.
viewerstable is introduced for storing movielens dataset's users (
userstable is reserved for Laravel).
viewerstable has cached personalized movie recommendations to review personalized responses before training your own personalized model.
App is deployed to check results of personalize responses of the lab. Demo is not related to Amazon Web Services. Personalization results may differ according to your recipe settings. Demo is not a reference, it is intended to you save some time. Feel free to use as a starting point and try yourself.
Create real-time, personalized movie recommendations with Personalize hands on AWS Lab Link
MovieLens' full dataset is used instead of small subset. Dataset contains 26 million ratings, 1.1 million tags, 58000 movies 1900 anonymous viewers.
In this demo SageMaker is trained with
USER_PERSONALIZATION recipe, consider
RELATED_ITEMS recipe for getting similar movies.