Skip to content

Advance information retrieval system that combines advanced indexing, machine learning, and personalized search to enhance academic research and document discovery.

License

Notifications You must be signed in to change notification settings

deepmancer/advanced-recommender-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Advanced Recommender System

PyTorch Hugging Face Transformers Python scikit-learn Jupyter Notebook License

Welcome to the Advanced Recommender System project!

The Advanced Recommender System is a comprehensive platform designed to streamline the process of retrieving, classifying, ranking, and recommending academic documents tailored to user preferences. Whether you're conducting research or exploring literature, this system aims to enhance your workflow with cutting-edge methodologies.


Source Code Website
github.com/deepmancer/advanced-recommender-system deepmancer.github.io/advanced-recommender-system

✨ Key Features:

  • End-to-end pipeline for academic document retrieval and recommendation.
  • Integration of machine learning and deep learning models, clustering techniques, and advanced search algorithms.
  • Personalized search and recommendation for tailored user experiences.

🔍 Overview

The project pipeline is divided into three core phases:

  1. 📥 Data Collection & Indexing Infrastructure:

    • Collect and preprocess data for efficient retrieval.
    • Build robust indexing and retrieval systems with spell correction and vector space models.
  2. 🧠 Machine Learning & Clustering:

    • Leverage classification algorithms and clustering techniques to improve document categorization and organization.
  3. 🌐 Web Crawling & Personalized Recommendations:

    • Enhance the system by incorporating web crawling, link analysis, and personalized recommendation engines.

🛠️ Workflow Phases

📂 Phase 1: Data Acquisition and Indexing Infrastructure

In this phase, we establish a strong foundation for data processing and retrieval.

Datasets:

Key Components:

  • 🛠️ Data Preprocessing: Structuring academic papers for indexing.
  • 📍 Positional Index Construction: Creating a positional index for precise search results.
  • ✏️ Spell Correction: Bigram-based system to correct typos in queries.
  • 📐 Vector Space Modeling:
    • ltn-lnn: Term frequency normalization.
    • ltc-lnc: Adjustments for term and document frequency.
    • Okapi BM25: Probabilistic ranking model.
  • 📈 Evaluation Metrics: Metrics such as MRR, Precision, Recall, F1 Score, MAP, and nDCG ensure robust performance analysis.

🧬 Phase 2: Machine Learning and Clustering for Document Retrieval

This phase enhances search capabilities with classification and clustering techniques.

Datasets:

Key Components:

  • 🗂️ Naive Bayes Classification: Basic categorization of documents.
  • 🤖 Neural Network Classifier: Improved accuracy for document classification.
  • 🔍 Large Language Models: Fine-tuned models for advanced categorization.
  • 🗂️ Hierarchical Clustering: Organizing documents into meaningful groups.

🕸️ Phase 3: Web Crawling, Link Analysis, and Personalized Search

The final phase focuses on enriching data and delivering personalized recommendations.

Key Components:

  • 🕷️ Web Crawling: Gathering additional data from academic sources.
  • 🔗 Link Analysis:
    • PageRank: Measure document importance.
    • HITS: Identify hubs and authorities in document networks.
  • 🧠 Recommendation Engines:
    • Content-Based Filtering: Recommend articles based on similarity.
    • Collaborative Filtering: Suggest articles based on user preferences.
  • 📈 Evaluation Metrics: Metrics like nDCG assess recommendation quality.

🌟 Final Deliverable

A powerful and user-friendly recommender system capable of retrieving, organizing, ranking, and recommending academic articles.


📝 License

This project is licensed under the MIT License. Feel free to use, modify, and distribute the code while adhering to the terms of the license.


🤝 Contributing

We welcome contributions from the community! Here's how you can help:

  1. Star the repository ⭐ to show your support.
  2. Fork the repository 🍴 and implement new features or fixes.
  3. Submit a pull request 🔄 with your contributions.