
The Customer Experience Dashboard is my personal fun project designed to provide comprehensive insights into customer interactions and satisfaction levels of pubs in Wilmslow, UK. This dynamic dashboard acts as a centralized hub, aggregating data from various touchpoints such as customer support interactions, product reviews, and social media sentiments. The primary goal is to empower businesses to holistically understand and enhance their customer experience.
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Hello everyone! I wanted to share a little project I worked on over the Christmas break while in Europe. With everything settled down, I was looking for something enjoyable to lift my spirits. While randomly surfing the internet, I stumbled upon some fantastic resources and libraries related to Generative AI and NLP. Intrigued, I decided to test the capabilities of these libraries to gauge how close we are to state-of-the-art solutions.
As a result, I chose to create a customer service dashboard for all the pubs in my friend's hometown, Wilmslow, UK :D. The data for this fun project is crawled from Google Map reviews. Keep in mind that this is designed as a light-hearted project, perfect for students new to software engineering and AI which covers lots of realize problem in the field of NLP/AI. There's room for implementing various technologies like APIs and data crawling to enhance the project further, but unfortunately, I currently lack the time, and it's a bit too much on the serious side for my definition of 'fun' :D.
Here are some details about the project:
- The project involves data crawling from Google Map Reviews, utilizing tools like Python BeautifulSoup, the Google extension Scraper Crawler V3, or third-party solutions such as APIFY.
- For the user interface, Streamlit is employed, seamlessly integrated with ECharts and Plotly for robust data visualization.
- In the realm of NLP/AI tasks, the project encompasses Sentiment Analysis, Emotional Analysis, Keywords Extraction, Chat-GPT, and more.
- Algorithmic tasks include Co-occurrence Matrix and Matrix Multiplication, contributing to the project's analytical depth.
- The server deployment is achieved using Streamlit community cloud or the Heroku cloud platform, ensuring accessibility and efficiency.
Here are some improvement can be made to the project:
- Ensure efficient data loading by integrating a database into the infrastructure, with a preference for NoSQL for enhanced performance.
- Elevate the project with real-time data instead of static information by implementing 1-2 cron jobs to periodically scan the pubs.
- Provide users with the option to automatically crawl Google review data, enhancing the project's flexibility and user experience.
- Implement reporting functionalities to offer users insights and analysis based on the gathered data.
Enjoy!!!
- Python
- Streamlit
- Heroku
- OpenAI
Lets get started!!!
Install the requirement libraries.
- python
python-3.10.9
-
Clone the repo
git clone https://github.com/tqdpham96/nlp-user-experience-dashboard.git
-
Install pip packages
pip install -r requirements. txt
-
Create Heroku account/Streamlit account
- Summary Google Review Rating
- Sentiment analysis these reviewes to Positive + Negative + Neutral
- Sentiment Monthly Trend
- Sentiment Score
- Sentiment Score Monthly Trend
- Entity by Sentiment
- Emotional Words (Positive and Negative)
- Word Cloud (Entity and Emotion)
- Customer's Voice analysis
- Aspect Co-occurence
- Emotion Aspect Co-occurence
- Favourite/Hated Customers
- Comparison between two pubs
- AI/NLP Tool (Chatbot + Sentiment)
- Add NoSQL Database
- Add Cronjob for data crawling
- Add Additional Feature if needed
- Multi-language Support
- French
- Germany
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Dr. T.Q.D. Pham - pqducthinhbka@gmail.com
Project Link: https://github.com/tqdpham96/nlp-user-experience-dashboard