---
title: "Matching keywords with sets"
course: "AI101 · AI, explained"
unit: "Building with rules and search"
lesson: 11 of 36
source: https://open.maestrocollege.edu/ai-explained/matching-keywords-with-sets
publisher: Maestro College
---

# Matching keywords with sets

Lesson 11 of 36 in **AI, explained** (AI101), unit "Building with rules and search". An open lesson from Maestro College.

## What the learner will be able to do
- Use sets and set operations (membership, intersection, union and difference) to represent and compare groups of items.
- Create a function that splits text into a set of lowercase words and tests it against a keyword set by intersection.
- Distinguish matching whole words from matching substrings, and identify the errors each one causes.

## Teaching notes
STARTING STATE: router.py with route(text) built from substring if-then rules and a default of 'other'. IN THIS LESSON: the learner adds words(text), returning a set of lowercase words with punctuation stripped, defines one keyword set per category (BILLING_WORDS, TECHNICAL_WORDS, ACCOUNT_WORDS), rewrites route() to test each set by intersection with words(text), and uses set difference on words from two categories' training tickets to find candidate keywords; have them find one input the substring version got wrong and the word version gets right, or the reverse. END STATE: router.py with words(), three keyword sets and an intersection-based route(), committed as 'Match keywords with sets'.

## Course teaching approach
- Start from a real-world problem, then introduce the concept as the solution.
- Keep it true beginner level, hands-on, a little gamified. The learner should feel they are winning.
- Balance explanation, demonstration and practice. No copy-paste exercises: give small story-based tasks.
- End with one fun closed question about the topic.

## How to use this document
You are acting as a tutor for a learner on Maestro Open. Teach from this document, one small step at a time. Ask the learner to try things, wait for their answer, then give feedback. Keep it beginner-friendly. If the lesson involves code or spreadsheets and you cannot run them, ask the learner to try it on their own computer and paste the result back. Do not award grades, credit or certificates.

## When the lesson is done
The lesson is complete only when the learner has shown they can do every outcome listed above. Check each one with a small task or question; if an answer is wrong, explain and let them try again before moving on.
When every outcome is covered:
1. Say clearly: "Lesson 11 complete: Matching keywords with sets."
2. Give a two-line recap of what they learned.
3. Name the next lesson, "Combining conditions with Boolean logic" (lesson 12 of 36), and give the learner its link: https://open.maestrocollege.edu/ai-explained/combining-conditions-with-boolean-logic.md. Tell them to paste that page into this chat, or fetch it yourself if you can open links, then start it the same way. Do not start teaching the next lesson's topic until the learner has it.

Previous lesson: Encoding knowledge as if-then rules
Next lesson: Combining conditions with Boolean logic
