This project is focused on developing a recommendation system that enhances the quality of product recommendations by analyzing the sentiment of texts in Vietnamese. The primary objective is to increase sales volume for stores in Vietnam by leveraging the emotional tone of user-generated content to provide personalized recommendations.
The rise of e-commerce in Vietnam presents a unique opportunity to improve customer engagement and sales through personalized recommendations. This project aims to utilize advanced natural language processing (NLP) techniques, particularly BERT (Bidirectional Encoder Representations from Transformers), to analyze the sentiment of Vietnamese texts. By understanding the emotional context, the recommendation system can suggest products that are more aligned with the user's preferences and emotional state.
- Sentiment Analysis: Analyze the sentiment of Vietnamese texts using PhoBERT, a pre-trained BERT specialized in Vietnamese.
- Personalized Recommendations: Provide product recommendations based on the analyzed sentiment.
- User-Friendly Interface: Chrome browser extension for seamless user interaction.
- Backend Integration: Django-based backend server for handling recommendation logic and data processing.
- Python 3.7+
- Django 3.2+
- Chrome browser
-
Clone the repository:
git clone https://github.com/nmtan2001/recommendation-system-phobert cd recommendation-system-phobert
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate
-
Install the required packages:
pip install -r requirements.txt
-
Set up the Django backend:
cd mysite python manage.py migrate python manage.py runserver
-
Load the Chrome extension:
- Open Chrome and navigate to
chrome://extensions/
. - Enable "Developer mode".
- Click "Load unpacked" and select the
chrome_extension
directory.
- Open Chrome and navigate to
-
Start the Django server:
cd mysite python manage.py runserver
-
Open the Chrome browser and activate the extension.
-
Browse the web, and the extension will analyze the sentiment of Vietnamese texts and provide product recommendations based on the analysis.
recommendation-system-phobert/
├── mysite/
│ ├── manage.py
│ ├── VNCoreNLP/
│ ├── analysis/
│ └── ...
├── grabText_ext/
│ ├── manifest.json
│ ├── background.js
│ └── ...
├── Dockerfile
├── requirements.txt
└── README.md
- Data Collection: Gather datasets from the internet, including production practice and scientific research materials.
- Data Preprocessing: Standardize and tokenize Vietnamese texts, handle punctuation and emojis, and perform text segmentation.
- Model Training: Use PhoBERT and other machine learning models like SVM and Naive Bayes for sentiment analysis.
- Recommendation Algorithm: Develop algorithms to provide personalized recommendations based on sentiment analysis results.
- System Development: Implement the recommendation system using a Django backend and a Chrome browser extension.
We welcome contributions from the community. To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m "Add your message"
- Push to the branch:
git push origin feature/your-feature-name
- Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
Developed by Ngo Minh Tan, supervised by Associate Professor V.V. Stuchilin.
For more information, refer to the detailed project report included in this repository.