GithubHelp home page GithubHelp logo

tuansunday05 / articlerecommendersystem Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 2.0 9.14 MB

Using hybrid recommender system with apriori algorithm, content-based and collaborative filtering method for predicting users interactions and then recommend them for users.

License: MIT License

Python 0.25% Jupyter Notebook 99.75%
apriori-algorithm collaborative-filtering content-based-recommendation hybrid-recommender-system recommender-system svd-factorization

articlerecommendersystem's Introduction

Hybrid Recommendation System

Welcome to the repository for our hybrid recommendation system, featuring collaborative filtering with Singular Value Decomposition (SVD), content-based filtering using TF-IDF with a vectorizer, and association rule mining through the Apriori algorithm. This system not only combines diverse recommendation approaches but also includes real-time update functions for on-the-fly user additions, making it suitable for server environments demanding instant responses.

Introduction

Our recommendation system aims to deliver personalized suggestions by seamlessly integrating collaborative filtering, content-based analysis, and association rule mining. The unique feature of this system lies in its ability to adapt to dynamic user profiles in real-time, making it well-suited for applications where user interactions change rapidly.

Components

Alt text

Popularity Model

  • Recommends popular items to users based on overall item popularity.
  • Provides a simple yet effective baseline for comparison with personalized recommendation approaches.

Association Rule Mining (Apriori Algorithm)

  • The Apriori algorithm is used to discover association rules among items.
  • This component aims to capture implicit relationships between items and improve the diversity of recommendations.

Collaborative Filtering (SVD)

  • Singular Value Decomposition (SVD) is used to factorize the user-item interaction matrix, capturing latent factors that represent user and item preferences.
  • Implementation using the Surprise library for collaborative filtering.

Content-Based Filtering (TF-IDF with Vectorizer)

  • TF-IDF (Term Frequency-Inverse Document Frequency) is employed to represent the content features of items.
  • A vectorizer is used to convert textual information into numerical features.
  • This approach allows the system to recommend items based on their content similarity.

Hybrid Model

Alt text

  • The recommendations from the collaborative filtering, content-based filtering, and association rule mining components are combined to form the hybrid model.
  • The final recommendations are generated by considering the strengths of each individual model.

Real-Time User Updates

  • Using update_user_profile method of HybridRecommender class with the ID of user needed to update information.

Results

Alt text

  • Evaluation metrics and comparisons of the hybrid model against individual models are provided.
  • The hybrid model is demonstrated to outperform single models in terms of recommendation accuracy and coverage.
  • Real-time user updates contribute to the adaptability and responsiveness of the recommendation engine.

Usage

  1. Clone the repository:

     git clone https://github.com/tuansunday05/ArticleRecommenderSystem.git
    
  2. Go to root folder:

    cd ArticleRecommenderSystem/
    
  3. Install dependencies

     pip install -r requirements.txt
    
  4. Run the recommender engine:

     python3 scripts/models/hybrid_developing.py
    

License

This project is licensed under the MIT License.

articlerecommendersystem's People

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

nebula-heroes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.