
This video presents more details about the course, the exercise files, and the structure of the course.
Here we'll cover an overview of the Natural Language Processing field.
Identify and understand entities, the second key element after intents, via named entity recognition (NER), choosing up to two entities like mozzarella pizza and sweet to guide menu search.
Explore popular natural language processing libraries like spaCy, Rasa, Stanford NER, and AllenNLP to support tokenization, NER, and intent and entity detection for chatbot development.
Learn what chatbots are and how they simulate natural language conversations. Analyze user requests to identify intent, extract entities, and generate replies from text, knowledge bases, or backend data.
Learn how rule-based keyword responses evolved into encoder-decoder and transformer models, enabling conversational chatbots to generate cohesive replies using thought vectors and attention mechanisms.
Follow a practical checklist to design a chatbot prototype, covering architecture choices, complexity, story and purpose, outline conversations, and tone through a cohesive personality.
Define the bot’s purpose to help users find and complete orders, then outline example conversations and intents to guide proactive menu filtering.
Set up your environment for NLP chatbot development by provisioning a Google Cloud instance, creating a conda environment with Python 2.7, and installing Jupyter and spaCy small and medium models.
Build the base client and server using a WebSocket connection, with a step-driven actions flow, intents and entity predictions, and a data and library structure.
Train a rasa nlu interpreter with a default model using intents and entities, enhanced by a diad classifier. Configure training data and folders, test to see intents, entities, and confidence.
Implement a small flask-based interpreter server, connect it with actions, and manage multiple interpreters to improve intent accuracy, log results, and prepare for handling detected entities and menu matching.
Inspect server food data and convert it into a dictionary in a Jupyter workflow. Include id, image path, name, category, country, and prices to support efficient search.
Encode words and sentences into embeddings to measure similarity with a pre-trained model, then use them to filter items and generate training data for entity recognition.
Filter and search menu items by user-detected entities to power a chatbot's responses. The lecture demonstrates loading data, matching entities to filters, computing search results, and generating menu suggestions.
Explore building a menu or help flow by adding a new interpreter, mapping intents to help and menu actions, and testing navigation to menu, help, and confirm order.
Extend the architecture by enabling listing and selecting items, confirming orders, filtering results, and handling cancellation through a dedicated list options interpreter and helpers.
Finalize the chatbot flow by handling yes, no, and specific responses to confirm, list options, or finish. Introduce the final order interpreter and outline future data generation and verifications.
Leverage Google Translate to generate training data by translating sentences through multiple languages, then back to English, expanding intents and entity examples for NLP chatbots.
Gather and analyze user interactions to build training data for chatbots, using disambiguation to clarify intents and logging conversations for iterative data improvement.
Learn to add speech capabilities to AI chatbots using Google speech-to-text and text-to-speech, handle recording formats, server-side processing, and basic real-time feedback via WebSocket.
Conclude your course by applying practical tools to build AI chatbots, explore deeper techniques, and receive guidance from experienced mentors as you start your own chat projects.
In the past few years Chatbots have become a must-have for businesses and companies. With latest advancements in Natural Language Processing we can build better chatbots in a fraction of the time it took a few years ago.
As such, many solutions like DialogFlow, Wit, and chatbot frameworks emerged that offer a quick way to create basic chatbots. But they have limitations, especially if you want to make something more complex and personalized. Because of that, I'm showing you how to use state-of-the-art NLP libraries and combine them to get a more advanced possible use of a chatbot.
After this course, the amazing thing won't be that the chatbot responds, but the entire process you're able to create and the possibilities that become available. You'll be more confident in tackling more difficult problems and will be able to make a more complex chatbot that offers more variety and functionality.