--- title: Aus F emoji: 👁 colorFrom: indigo colorTo: pink sdk: gradio sdk_version: 6.0.0 app_file: app.py pinned: false --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference # Audience Segmentation AI System Hệ thống phân khúc khách hàng và phân tích cảm xúc sử dụng AI cho nền tảng quản lý sự kiện. ## Tính năng ### 1. Phân khúc khách hàng (Audience Segmentation) - **Phân cụm tự động** dựa trên hành vi mua vé (RFM Analysis) - **Phân loại theo sở thích** về danh mục sự kiện - **Đặt tên tự động** cho từng phân khúc bằng tiếng Việt - **Tạo nội dung email marketing** tự động cho từng nhóm khách hàng ### 2. Phân tích cảm xúc (Sentiment Analysis) - **Phân loại cảm xúc** của bình luận (Tích cực/Tiêu cực/Trung tính) - **Sử dụng PhoBERT** - mô hình NLP chuyên biệt cho tiếng Việt - **Trích xuất từ khóa** tự động từ feedback ### 3. Tạo Insight tự động (Generative AI) - **Top 5 vấn đề** cần cải thiện - **Gợi ý cải thiện** cho từng vấn đề - **Dự đoán NPS Score** dựa trên tone của comments - **Sử dụng Vistral-7B-Chat** - LLM tiên tiến cho tiếng Việt ## Cấu trúc thư mục ``` AudienceSegmentation/ ├── models/ # MongoDB data models │ ├── segmentation_models.py # Audience segment models │ └── sentiment_models.py # Sentiment analysis models ├── services/ # Business logic │ ├── data_aggregation.py # MongoDB aggregation pipelines │ ├── segmentation_service.py # K-Means clustering │ ├── sentiment_service.py # PhoBERT sentiment analysis │ └── genai_service.py # Vistral-7B content generation ├── config.py # Configuration ├── database.py # MongoDB connection manager ├── main.py # Main orchestration script ├── requirements.txt # Python dependencies └── .env.example # Environment variables template ``` ## Cài đặt ### 1. Clone repository ```bash cd AudienceSegmentation ``` ### 2. Tạo môi trường ```bash python -m venv venv source venv/bin/activate # Linux/Mac # hoặc venv\Scripts\activate # Windows ``` ### 3. Cài đặt dependencies ```bash pip install -r requirements.txt ``` ### 4. Download Vistral-7B-Chat ```bash # Tải mô hình GGUF từ Hugging Face (CPU nên tải) mkdir -p models/vistral-7b-chat # Download từ: https://huggingface.co/Vistral/Vistral-7B-Chat-GGUF ``` ### 5. Cấu hình môi trường ```bash cp .env.example .env # Chỉnh sửa .env với thông tin MongoDB của bạn ``` ## Sử dụng ### Chạy toàn bộ pipeline ```bash python main.py --task all ``` ### Chỉ chạy phân khúc khách hàng ```bash python main.py --task segmentation ``` ### Chỉ chạy phân tích cảm xúc ```bash python main.py --task sentiment ``` ### Chỉ tạo nội dung email ```bash python main.py --task email ``` ### Tạo insights cho sự kiện cụ thể ```bash python main.py --task insights --event-code ``` ## Kiến trúc kỹ thuật ### MongoDB Aggregation Framework Hệ thống tận dụng MongoDB Aggregation để: - **Tính toán RFM** (Recency, Frequency, Monetary) trực tiếp trên database - **Đếm danh mục sự kiện** mà user quan tâm - **Lọc dữ liệu chưa xử lý** để tránh duplicate - **Giảm thiểu network transfer** - chỉ truyền kết quả cuối cùng ### AI Models #### 1. Segmentation: scikit-learn K-Means - **Input**: Feature vector [R, F, M, Category1, Category2, ...] - **Output**: Cluster labels + Confidence scores - **Số cụm**: 5 (có thể cấu hình) #### 2. Sentiment: wonrax/phobert-base-vietnamese-sentiment - **Model**: PhoBERT fine-tuned cho Vietnamese - **Output**: Positive/Negative/Neutral + Confidence - **Batch size**: 32 ## Collections MongoDB ### Output Collections (New) - `AudienceSegment` - Các phân khúc khách hàng - `UserSegmentAssignment` - Gán user vào segment - `SentimentAnalysisResult` - Kết quả phân tích cảm xúc - `EventInsightReport` - Báo cáo insight cho sự kiện