All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Optimize HybridSlimFM batch recommendation performance by replacing individual
recommend()calls withrecommend_batch()in_recommend_hot_batch()method - Add comprehensive unit tests for HybridSlimFM model in
test_hybrid.pycovering batch functionality, feature handling, and edge cases
Full Changelog: v0.2.6...v0.2.7
- Add efficient
recommend_batchmethod to SLIMElastic for batch recommendation processing - Improve batch recommendation performance through optimized matrix operations and reduced computational overhead
Full Changelog: v0.2.5...v0.2.6
- Add methods to retrieve users by items in BaseModel and UserItemInteractions (3484e8e)
- Explained about time decay (aa5f1b0)
Full Changelog: v0.2.4...v0.2.5
- Update NumPy dependency to require version 1.24.0 for enhanced dtype support and compatibility
Full Changelog: v0.2.3...v0.2.4
- Fix
@overridedecorator import compatibility for Python 3.10-3.11 by using conditional imports withtyping_extensionsfallback
Full Changelog: v0.2.2...v0.2.3
This release improves Python version compatibility by adding proper support for the Self type hint across Python 3.10+.
- Add support for 'Self' type in type hints for compatibility with Python 3.10+ (c22b4b0)
Full Changelog: v0.2.1...v0.2.2
This release focuses on improving the library's modularity by making web serving components optional, enhancing type safety, and adding essential model persistence capabilities.
- Refactor dependencies: move FastAPI, Pydantic, Uvicorn, HTTPX to optional dependencies and add Boto3 to dev-dependencies (586bb56)
- Implement model serialization and deserialization methods for BaseModel and its subclasses (#5)
- Type safety improvements (#6)
Full Changelog: v0.2.0...v0.2.1
This release introduces architectural improvements to the recommendation system core, with a focus on separating recommendation logic for hot and cold users.
- Separated recommendation logic for hot and cold users (04bcae3)
- Added a notebook demonstrating Hybrid model for H&M fashion recommendations (64a5da2)
- Added sort_by_tstamp option for time-based recommendation ordering (18e1e34)
- Fixed corner case for handling not yet learned features (2801a65)
- Redesigned recommendation batch processing with separate paths for cold and hot users, which may require updates to custom model implementations
Full Changelog: v0.1.9...v0.2.0
This release adds support for additional datasets, introduces a new hybrid model, and includes several improvements and bug fixes.
- Added new HybridSlimFM model combining FM (content-based) with SLIM (collaborative filtering) (Commit 1189a57)
- Added support for H&M Kaggle dataset (Commit 6f1daa7)
- Added support for RetailRocket dataset (Commit 6f1daa7)
- Added handle_unknown_user hook for handling cold start users in LightFM (Commit 6f1daa7)
- Added force_identify option to control identity handling (Commit 6f1daa7)
- Added user_column and tstamp_column arguments for flexible schema handling (Commit ebb2579)
- Supported ret_scores argument in recommend() method (Commit 24a44e6)
- Improved memory usage in interaction_counts (Commit fb02997)
- Fixed a bug when slicing scores (Commit 6f1daa7)
- Fixed URL for Amazon dataset (Commit 673f02e)
- Fixed type hint issues (Commit 2a7a69f)
- Re-enabled @override decorator (Commit ed97524)
- Removed deprecated functionality (Commit 6f1daa7)
Full Changelog: v0.1.8...v0.1.9
Minor enhancement release.
-
Revised to return recent hot items for U2I recommendation where user does not have any interaction (Commit 1f383b7)
-
Reduced dependency
@overridein typing-extension >= 4.5.0 (Commit 48125c2) -
Suppported SGD-based optimization for SLIM (Commit ecf5d29)
- Fixed a corner case bug for handling candidate_item_ids (Commit f6231ed)
Full Changelog: v0.1.7...v0.1.8
All users of v0.1.6 is recommended to update to v0.1.7. LightFM support is now bacame stable.
Full Changelog: v0.1.6...v0.1.7
- Supported Context Features (user/item tags) for LightFM model.
Check this example notebook how to use user/item tags.
All users of 0.1.5 is recommended to update to v0.1.6.
Full Changelog: v0.1.5...v0.1.6
-
Fixed a bug in LightFM models.
-
Fixed a bug in similar_items() method (Commit d8e2a98)
- Supported returning scores with ret_scores argument for similar_items() (Commit b824a52)
- Fixed a bug for max_user_id/max_item_id (Commit 72543b6)
- Supported LightFM
- Added recommend_batch