CM2015 Midterm Apr25
CM2015 Midterm Apr25
Chatbot Project
Now that you have had a chance to explore some techniques and tools in Python, it
is time to start integrating them into your own chatbot project. This is a chance for
you to build a practical application using your knowledge of Python and Data
Programming.
Expectations
Submission requirements
For the midterm coursework, you will submit the following documents on the
submission page:
- A shareable link to the Jupyter notebook environment that has
o A single Jupyter notebook file with chatbot demo (ipynb file)
o Supplementary dataset (intents.json file). The dataset (intents.json)
should not be more than 10MB in total size.
o A PDF report
- Project ZIP file
o ZIP file with all the files in the Jupyter notebook environment (ipynb,
intents.json, PDF).
- An exported HTML file
o Export the Jupyter notebook code into a HTML file and submit it.
- PDF report
o A copy of the PDF report.
Marking rubric
Sub Marks
Criteria Mark breakdown
part awarded
Title/Domain of
1 1 Provide the title of chatbot in the Jupyter notebook
chatbot
Chatbot uses a main loop that takes in user input
and terminates only when the user types “exit” or
2 Main loop 3
“quit”.
Page 2 of 4
• Write flexible pattern matching statements to
recognise multiple instances of the same
intent type.
• Utilise basic regex constructs (e.g., \d, \w, ., *,
+, ?) for robust pattern handling.
• Build regex patterns that account for
variations in user input (e.g., case
insensitivity, optional words).
• (Optionally) Implement advanced regex
features like grouping, or lookaheads for
more nuanced understanding.
Page 3 of 4
Any other advanced feature that you have added
Other Advanced and features that you have added beyond lecture
9 3
features material.
Code should:
- Be reproducible in the current notebook
format including making relevant data
sources and libraries accessible and explicit.
- Use proper conventions e.g. relative path vs
absolute.
- Be explained or described where libraries are
12 Code 5 used in relation to their utility/ability to solve a
particular problem in an efficient manner.
- Notebooks should be structured with a logical
set of processes/procedures including clear,
logical headings.
- Not overly verbose e.g. including comments
to describe print statements.
Page 4 of 4