Class 10 · Unit project
Unit 5 project: A bot for a real job
Somebody in your school answers the same questions every day. Build a bot that takes some of them off their hands — then find out what it can't do.
The task
The school office bot in Lesson 5.2 was a start. Today your group builds a bot for a job you choose — and tests it the way a real product is tested: with real questions from real people, not questions you made up.
Work in your project groups of 3–4. One period. Code in our_bot.py; the report in
bot-report.odt.
Before the period (homework, all week)
Choose a job. Then ask five real people — students, teachers, the librarian, the lab assistant — what they would type to a bot doing it. Write down their exact words, at least 15 questions altogether. Collect only the questions: no names, no personal details.
Some jobs that work well:
- The library — timings, how to borrow, fines, where things are
- The computer lab — rules, how to log in, what to do when something breaks
- The exam timetable — which paper, which day, what to bring
- Typing practice — how to find your typing.com lesson, your goal, what WPM means
Build it (15 min)
- Start from
school_bot.py. Replace its answers with at least eight keywords and answers for your job. - Normalise every question before matching, the way Lesson 5.3 did: lowercase, and strip
?,.and!.
Test it (12 min)
- Type every one of the real questions, exactly as they were given to you.
- Mark each one: answered right, answered wrong, or didn't know.
- Count: right out of total. That is your bot's score.
Improve it and report (10 min)
- Make two changes that fix failures you found. Test again and record the new score.
- In
bot-report.odt, fill:- The job, and who it helps
- Score before and after — out of the real questions
- Three questions it still gets wrong, and why — use the stages of NLP: was it the words (lexical), the meaning (semantic), the connection to an earlier question (discourse), or what the person really meant (pragmatic)?
- Its "I don't know" message — what should a person do next?
Your own line (3 min, alone)
Each person writes one sentence for the person whose job the bot helps: what the bot will do for them, and one thing they should still expect to do themselves. Sign with your roll number. This part is marked for you alone.
How it is marked
Each row is marked 0–3. Rows 1–5 are shared by the group; row 6 is yours alone. Marks are returned privately and never compared with anyone else's.
Total: 18. A bot that answers 9 of 20 real questions, honestly reported, scores higher than one that "answers everything" on questions the group invented.
1. Real questions
- 0Made up by the group
- 1Fewer than 10 real questions
- 215 real questions
- 315+ real questions, in the askers' own words
2. It runs
- 0Doesn't run
- 1Runs with a few answers
- 28+ keywords, and normalises input
- 38+ keywords, normalises, and has a helpful "don't know"
3. Honest score
- 0Missing
- 1A score on made-up questions
- 2Score on all the real questions
- 3Score before and after, on all the real questions
4. Improvements
- 0None
- 1One change, untested
- 2Two changes, retested
- 3Two changes that each fixed a real failure, shown
5. What it can't do
- 0Missing
- 1Failures listed
- 2Three failures with reasons
- 3Three failures, each tied to a stage of NLP
6. For the person it helps
Just you- 0Missing
- 1Vague
- 2Clear
- 3Clear, honest about its limits, and useful