https://github.com/chanmeng666/customer-insight
AI-powered customer review analysis platform — sentiment analysis, keyword extraction, topic modeling, and anomaly detection
https://github.com/chanmeng666/customer-insight
chinese-nlp customer-feedback customer-insights data-visualization machine-learning nlp python review-analysis sentiment-analysis streamlit text-analysis text-mining topic-modeling
Last synced: about 2 months ago
JSON representation
AI-powered customer review analysis platform — sentiment analysis, keyword extraction, topic modeling, and anomaly detection
- Host: GitHub
- URL: https://github.com/chanmeng666/customer-insight
- Owner: ChanMeng666
- License: apache-2.0
- Created: 2024-11-20T13:16:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-29T09:25:17.000Z (3 months ago)
- Last Synced: 2026-03-29T12:44:14.652Z (3 months ago)
- Topics: chinese-nlp, customer-feedback, customer-insights, data-visualization, machine-learning, nlp, python, review-analysis, sentiment-analysis, streamlit, text-analysis, text-mining, topic-modeling
- Language: Python
- Homepage: https://chanmeng666-customerinsight-app-oeiu2h.streamlit.app/
- Size: 337 KB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
---
## Overview
CustomerInsight is an interactive analytics platform that uses NLP and machine learning to extract actionable insights from customer reviews. Built with Streamlit, it provides real-time sentiment analysis, keyword extraction, topic modeling, and anomaly detection — optimized for both Chinese and English text.
## Features
- **Sentiment Analysis** — BERT-based sentiment classification with confidence scores. Uses `roberta-base-finetuned-jd-binary-chinese` for Chinese and `bert-base-multilingual-uncased-sentiment` for English.
- **Keyword Extraction** — TF-IDF keyword extraction with word cloud visualization, trend analysis, and rating-based comparison.
- **Topic Modeling** — LDA and K-Means clustering with topic network graphs, heatmaps, and trend tracking.
- **Anomaly Detection** — Isolation Forest-based outlier detection with multi-feature analysis (rating, text length, sentiment).
- **Interactive Filtering** — Filter by date range, rating, text length, and keywords with real-time updates.
- **Data Export** — Download filtered data and analysis results as CSV.
## Quick Start
```bash
# Clone the repository
git clone https://github.com/ChanMeng666/customer-insight.git
cd customer-insight
# Install dependencies
pip install -r requirements.txt
# Run the application
streamlit run app.py
```
Then open http://localhost:8501 and upload the sample dataset from `data/example_dataset.csv`.
## Data Format
| Column | Type | Required | Description |
|--------|------|----------|-------------|
| `timestamp` | datetime | Yes | Review timestamp |
| `content` | string | Yes | Review text |
| `rating` | float | No | Rating (1-5 scale) |
| `category` | string | No | Review category |
| `user_id` | string | No | User identifier |
## Architecture
```mermaid
graph TD
A[CSV/Excel Upload] --> B[Data Processor]
B --> C[Text Cleaning]
C --> D{Analysis Engine}
D --> E[Sentiment Analyzer]
D --> F[Keyword Analyzer]
D --> G[Topic Analyzer]
D --> H[Insight Analyzer]
E --> I[Visualization Layer]
F --> I
G --> I
H --> I
I --> J[Streamlit Dashboard]
```
## Tech Stack
**Framework**: Streamlit · **Language**: Python 3.9+
**NLP & ML**: Transformers · PyTorch · jieba · NLTK · scikit-learn · Sentence Transformers
**Visualization**: Plotly · Matplotlib · WordCloud · NetworkX
**Data**: Pandas · NumPy · SciPy
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for the development guide.
## License
[MIT](LICENSE) © [Chan Meng](https://github.com/ChanMeng666)