対象ユーザの再生履歴を使って学習して次に再生される楽曲を予測します。論文"Session-based Recommendations With Recurrent Neural Networks"を元に作成しました。コードの書き方はmaster_thesisを参考にしてます。
Python 3.7.10
tensorflow 2.5.0
Numpy
Pickle
lastfmの視聴履歴のデータセットを使います。
ダウンロードして解凍したら以下の場所にデータを配置してください。
~/datasets/lastfm/
preprocess.pyを実行して計4段階に分けてデータの前処理を行います。
main.pyを実行してデータの学習と評価を行います。Recall@5の結果がよくなるたび、saveフォルダにモデルのパラメータが保存されます。
また、testlogフォルダに評価結果が保存されます。saveフォルダは作成されていない場合、自動的に作成します。