Intro to Chat-Bots
What are we trying to accomplish?
In this lesson, students will gain a foundational understanding of chatbots, including their history, types, and underlying technologies. We will introduce the core concepts of natural language processing (NLP), dialogue management, and AI-driven response generation. Students will also set up a robust development environment, including Python, Jupyter Notebook, and essential machine learning libraries, preparing them for hands-on chatbot development. By the end of this lesson, students will be able to distinguish between rule-based, retrieval-based, and generative chatbots, and confidently work within a standardized environment for experimentation and learning.
Lectures and Assignments
Lectures
Assignments
TLO's (Terminal Learning Objectives)
- N/A
ELO's (Enabling Learning Objectives)
- Understand what a chatbot is and how AI-driven chatbots have evolved from rule-based systems to generative models.
- Explain the differences between rule-based, retrieval-based, and generative chatbots, including their conversation domains and response generation mechanisms.
- Describe the technical components of chatbots, including NLU (Natural Language Understanding), dialogue management, and NLG (Natural Language Generation).
- Recognize common use cases for each type of chatbot and understand the importance of ethical considerations in chatbot design.
- Understand the purpose and benefits of using Python virtual environments for ML projects.
- Set up and manage a Python 3.13 virtual environment on macOS or Ubuntu.
- Install, configure, and use Jupyter Notebook for experimentation and code documentation.
- Install foundational machine learning libraries: PyTorch, scikit-learn, pandas, and NumPy.
- Configure VSCode for efficient Python and machine learning workflows.
- Generate and manage a
requirements.txtfile to ensure reproducibility of the development environment.