Skip to content

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.txt file to ensure reproducibility of the development environment.