10000 GitHub - AkshadK7/Review-Sphere: A dynamic review management platform integrating NLP-powered sentiment analysis, clustering, and recommendation systems to enhance user insights and product feedback.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A dynamic review management platform integrating NLP-powered sentiment analysis, clustering, and recommendation systems to enhance user insights and product feedback.

License

Notifications You must be signed in to change notification settings

AkshadK7/Review-Sphere

Repository files navigation

ReviewSphere

A dynamic review management platform integrating NLP-powered sentiment analysis, clustering, and recommendation systems to enhance user insights and product feedback.


Features

  • Sentiment Analysis
    Automatically detect and classify reviews as positive or negative using a threshold-based sentiment model.
  • Tag Extraction
    Extract the most common tags from user reviews using Named Entity Recognition (NER).
  • Review Clustering
    Group similar reviews using K-Means clustering, enabling better insights into customer opinions.
  • Recommendation Engine
    Suggest products to users based on their review history and preferences.
  • Data Visualization
    • View common tags in a horizontal stack and a pie chart.
    • Explore overall sentiment in bar and pie charts.
  • User-Friendly Interface
    • Add, view, and manage reviews through an interactive UI.
    • See scrollable lists of reviews sorted by timestamps.

Requirements

  • Python 3.7+
  • Libraries: sqlite, uvicorn, fastapi, streamlit, spacy, scikit-learn

Tech Stack

Backend

  • FastAPI: Handles API endpoints and CRUD operations.
  • SQLite: Lightweight database for persisting product, review, and user data.
  • Spacy: Used for Named Entity Recognition (NER) and generating text embeddings for clustering.
  • TextBlob: Provides sentiment analysis of review text.
  • Scikit-Learn: Implements K-Means clustering for grouping reviews.

Frontend

  • Streamlit: Offers a clean, interactive UI for submitting and visualizing review data.

Folder Structure

Review-Sphere/
│
├── backend/
│   ├── app/
│   │   ├── __init__.py
│   │   ├── main.py              # FastAPI entry point
│   │   ├── database.py          # Database models and operations
│   │   ├── models.py            # Database schema initialization
│   │   ├── nlp_utils.py         # NLP and clustering utilities
│   ├── requirements.txt         # Backend dependencies
│   └── uvicorn_runner.py        # Script to start FastAPI server
│
├── frontend/
│   ├── app.py                   # Streamlit frontend application
│   ├── requirements.txt         # Frontend dependencies
│
└── store.db                     # SQLite database


Installation

1. Backend Setup

  1. Create a virtual environment

    conda create --name env_name
    conda activate env_name
  2. Navigate to the backend directory:

    cd backend
  3. Install dependencies:

     pip install -r requirements.txt
  4. Start the FastAPI server:

     uvicorn app.main:app --reload

2. Frontend Setup

  1. Navigate to the frontend directory:
     cd frontend
  2. Install dependencies:
     pip install -r requirements.txt
  3. Run the Streamlit app:
     streamlit run app.py

3. Using the Application

  • Open your browser at the URL provided by Streamlit (default : http://localhost:8501).
  • Select a product from the dropdown, submit reviews, and explore visualizations for sentiment analysis, tags, and clusters.
  • View personalized recommendations for similar products.

Future Enhancements

  • Deep Learning Integration: Replace traditional models with Transformer-based architectures for improved sentiment analysis and tagging.
  • Collaborative Filtering: Enhance the recommendation engine with collaborative filtering for better user-product matching.
  • Language Support: Add support for multiple languages in reviews.
  • Customizable Dashboards: Allow users to create custom reports and dashboards.

Contributing

Contributions are welcome! Please fork the repository, create a branch, and submit a pull request.


License

This project is licensed under the MIT License. See the LICENSE file for details.


Enjoy Reviewing the world of Recommendations! 🚀

About

A dynamic review management platform integrating NLP-powered sentiment analysis, clustering, and recommendation systems to enhance user insights and product feedback.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0