{"id":48288094,"url":"https://github.com/recombee/lstm-models","last_synced_at":"2026-04-04T23:00:07.908Z","repository":{"id":37223017,"uuid":"270303731","full_name":"recombee/lstm-models","owner":"recombee","description":"Experimental recurrent recommendation models based on LSTM deep neural networks (developed by RecombeeLab at FIT CVUT in Prague)","archived":false,"fork":false,"pushed_at":"2022-12-08T04:20:22.000Z","size":78,"stargazers_count":0,"open_issues_count":15,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-16T11:40:34.768Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/recombee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-07T12:46:08.000Z","updated_at":"2021-04-12T16:45:05.000Z","dependencies_parsed_at":"2023-01-25T08:16:49.690Z","dependency_job_id":null,"html_url":"https://github.com/recombee/lstm-models","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/recombee/lstm-models","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recombee%2Flstm-models","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recombee%2Flstm-models/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recombee%2Flstm-models/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recombee%2Flstm-models/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/recombee","download_url":"https://codeload.github.com/recombee/lstm-models/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recombee%2Flstm-models/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31418285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T23:00:03.282Z","updated_at":"2026-04-04T23:00:07.805Z","avatar_url":"https://github.com/recombee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Library for generating and testing recommendation models based on recurrent neural networks (LSTM)\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\nThe library was created in the frame of a diploma thesis at the Faculty of Information Technology.\n\nThe algorithm for creating models for generating recommendations was designed within the practical part of the diploma thesis. \nIn addition to the algorithm for creating and training modules, \nthere is also a library for testing success (offline evaluation). \nThe library lists collaborative filtering algorithms (user-knn, item-knn, MF) as well as the simple \npopularity and reminder model to compare the success of models.\n\n## Link to this thesis\n\nMartı́nek, Ladislav. Doporučovacı́ modely založené na rekurentnı́ch neuronových sı́tı́ch. Diplomová práce. \nPraha: České vysoké učenı́ technické v Praze,\nFakulta informačnı́ch technologiı́, 2020.\n\n\n## Abstract\n\nThis diploma thesis deals with matters of recommendation systems. \nThe aim is to use recurrent neural networks (LSTM, GRU) to predict the subsequent interactions \nusing sequential data from user behavior. Matrix factorization adapted for datasets with \nimplicit feedback is used to create a representation of items (embeddings). \nAn algorithm for creating recurrent models using the embeddings is designed and implemented in this thesis. \nFurthermore, an evaluation method respecting the sequential nature of the data is proposed. \nThis evaluation method uses recall and catalog coverage metrics. \nExperiments are performed systematically to determine the dependencies on the observed methods and hyperparameters. \nThe measurements were performed on three datasets. \nOn the most extensive dataset, I managed to achieve more than double recall against other recommendation techniques, \nwhich were represented by collaborative filtering, reminder model, and popularity model. \nThe findings, possible improvement by hyper-parametrization, \nand different possible means of model improvement are discussed at the end of the work.\n\n## Requirements\n* Python version 3.6 and higher\n* Python packages which are specified in requirements.txt\n\n## Limitations\nAlgorithms and models created in the thesis are used for research and evaluation of the behavior of these models. \nTherefore, they are not optimized for working with extensive data. \nThis is only a basic implementation of algorithms by definition.\n\n## Input data format\nThe input data file is in CSV format, and it is a quartet `[user_id, item_id, timestamp, interaction_weight]`.\n\nOther data files are CSV files with user_ids (train, valid, test), \nembeddings file (item_id, latent factors split by ','), similar items, or LSTM train checkpoint, \nwhich are generated with models or script in this repository.\n\n## Configuration\nThe configuration takes place through the configuration file listed in `config/experiment.yml`, \nwhere there are also comments on individual points. \nFurther details are given in the chapter Implementation in the thesis itself and Appendix C.\n\n## Run\nExamples of running individual modules are given in jupyter notebooks.\n\n* Data splitter - `src/splitAndSaveData.sh`\n* MF - `src/mf.sh`\n* LSTM training - `src/trainLSTM.sh`\n* evaluation - `src/evaluation.sh` (\nThere are many evaluation options that are configured using a file and can be used to evoke embedding similarities.)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frecombee%2Flstm-models","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frecombee%2Flstm-models","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frecombee%2Flstm-models/lists"}