Introduction
This assessment explores the development of a natural language processing (NLP)-based dialog chatbot named Assistify. Designed as a personal assistant replacement, Assistify offers various practical features, including:
These features make Assistify a valuable tool for busy individuals to organize their day and handle unexpected events. Unlike casual conversational chatbots, Assistify focuses on practicality and work-oriented tasks. By leveraging NLP and other techniques, it ensures a smooth user experience. Furthermore, Assistify is free and accessible anytime, anywhere unlike a traditional personal assistant.
NLP Techniques
Assistify utilizes several NLP techniques. A critical decision during development was choosing between a deep learning approach and a rule-based system:
Input Cleaning
To ensure accurate responses, user inputs are cleaned by:
This preprocessing improves message consistency and response accuracy.
Extracting Locations for Weather Updates
Determining the user's location for weather updates posed a unique challenge. Listing all possible place names was inefficient. Instead, a smarter approach was implemented:
While not 100% accurate, this method covers most scenarios effectively.
Storage
Storage
A key aspect of Assistify is its ability to store login credentials and meeting information. To ensure data separation for different users, a login system was introduced. User-specific information, such as names, is stored in a MySQL database, enabling:
Although a local database could have sufficed, a MySQL database was chosen for its versatility and ability to support multi-user functionality. This ensures seamless data storage and retrieval.
Front-End
Creating an intuitive and user-friendly interface was a priority. A graphical user interface (GUI) was developed using Tkinter, chosen for its simplicity and ease of integration.
Key Features:
Unlike console-based chatbots, the Tkinter GUI provides a modern and accessible interface that aligns with user expectations for contemporary applications.