Skip to content

tqdpham96/nlp-user-experience-dashboard

Repository files navigation


Logo

Customer Experience Dashboard

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
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

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!!!

(back to top)

Built With

  • Python
  • Streamlit
  • Heroku
  • OpenAI

(back to top)

Getting Started

Lets get started!!!

Prerequisites

Install the requirement libraries.

  • python
    python-3.10.9

Installation

  1. Clone the repo

    git clone https://github.com/tqdpham96/nlp-user-experience-dashboard.git
  2. Install pip packages

    pip install -r requirements. txt
  3. Create Heroku account/Streamlit account

(back to top)

Usage

  • 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)

(back to top)

Roadmap

  • 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).

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Dr. T.Q.D. Pham - pqducthinhbka@gmail.com

Project Link: https://github.com/tqdpham96/nlp-user-experience-dashboard

(back to top)

Acknowledgments

(back to top)

About

My fun project about user experience analysis using NLP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages