https://github.com/akshadk7/review-sphere
A dynamic review management platform integrating NLP-powered sentiment analysis, clustering, and recommendation systems to enhance user insights and product feedback.
https://github.com/akshadk7/review-sphere
autotagging clustering natural-language-processing recommender-system sentiment-analysis
Last synced: 27 days ago
JSON representation
A dynamic review management platform integrating NLP-powered sentiment analysis, clustering, and recommendation systems to enhance user insights and product feedback.
- Host: GitHub
- URL: https://github.com/akshadk7/review-sphere
- Owner: AkshadK7
- License: mit
- Created: 2025-01-11T20:56:53.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-02-16T09:02:27.000Z (8 months ago)
- Last Synced: 2025-02-16T10:19:29.365Z (8 months ago)
- Topics: autotagging, clustering, natural-language-processing, recommender-system, sentiment-analysis
- Language: Python
- Homepage:
- Size: 1.41 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **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
````plaintext
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
```bash
conda create --name env_name
conda activate env_name
```2. Navigate to the `backend` directory:
```bash
cd backend
```
3. Install dependencies:
```bash
pip install -r requirements.txt
```
4. Start the FastAPI server:
```bash
uvicorn app.main:app --reload
```### **2. Frontend Setup**
1. Navigate to the `frontend` directory:
```bash
cd frontend
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Run the Streamlit app:
```bash
streamlit run app.py
```### **3. Using the Application**
- Open your browser at the URL provided by Streamlit (default : [http://localhost:8501](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! 🚀
````