Requirements

Submission 1

Core requirements:

  1. Develop and chatbot, (submit: source code, supplementary files and docs)
  1. Recorded video demo

Deliverables

  1. Code
    1. All .py or .ipynb files for the program
    1. All suplimentary AIML and CSV files that have been invluded with your program
    1. Code should be commented and easy to read
    1. Any programs to train models should be included
    1. Trained models should be included with the submission aka (h5 files)
  1. Document
    1. Follow the template…
    1. Design Notes
      1. file format: PDF
      1. The general explanations of the system and its goals (for all the implemented tasks), the system requirements, i.e., the list of what the system should do/have from a user’s perspective, explaining the employed AI techniques, and the explanation of your programs, i.e., details of what parts of your program do what.
      1. No need to reference
    1. Conversation log
      1. For each implemented task (see below) show 5-10 sample input/output pairs.
      1. For each conversation log (i.e., each input/output pair), copy-paste the text/images or copy-paste the screenshot from some actual conversations between you and the chatbot into your report.
      1. The conversation log pairs should collectively cover the implemented features. Where appropriate, annotate around the log with brief comments that explain which feature/component generated this, and how, for any particularly remarkable output.
    1. Recorded Demo
      1. Recording a demo video covering all the implemented tasks is required.
      1. The share link has to be provided inside the documentation (there is a specific box in the documentation template for putting the URL).
      1. 10-15 min
      1. Talk about:
        1. first go through the codes
        1. employed AI techniques
        1. system and demonstrate the implemented functionalities
        1. show your face (at least at the start)

Files to submit

A zip file containing Python program(s) (py or ipynb), and any supplementary files
necessary to run your system, including:

A non-zipped documentation file (doc, docx or pdf) for all the implemented tasks.
This should:

Libs that must be used

Chosen topic

Fruit assistent rational:

Task A

MosCowDone?Description
MUST10 or more conversation patterns (aim for 15-20)
MUSTCVS containing 10 or more question/answer pairs (aim for 15-20)
MUSTSimilarity based conversation, if no match respond with a similar questions answer, using lemmatisation & tf/idf and cosine similarity methods

please explain what an orange is?
What constitutes an orange?
SHOULDFigure out an extra functionality and implement it, look at spec for clues,
the bot responds based on the positivity or negativity within a message

i hate oranges, are oranges healthy for you
i love oranges, are oranges healthy for you

Task B

MosCowDone?Description
MUSTFirst order logic knowledge-base, and inference engine using NLTK (minimum of 10 entries in the knowledge base)
MUSTEach fact is written in first-order logic structured in the NLTK’s FOL syntax, such as “British (Tim)” or “British(x) -> European(x)”.
MUSTBeable to be updated by the user

If the user inputs “I know that … is …”, first check if the new expression is not in contradiction with the KB. If not, add it to the KB (in memory or in the file) and respond like “OK, I will remember that … is ...”.
MUSTRespond correctly to user queries

If the user inputs “Check that … is …” then you respond with “Correct”, “Incorrect” or “I don’t know” by applying the NLTK’s resolution algorithm.

Note that if the algorithm returns false, it does not necessarily mean that the given statement is false. You should write some codes in order to detect if it is really false or it is unknown. See the notes on the corresponding lab sheet.
COULDMulti-valued predicates

I know that Apple colour is not red
Check that apple colour is red
Check that apple colour is not red

Task C

MosCowDone?Description
MUSTTrain CNN model to detect contents of images related to the topic
MUSTImport the trained CNN model for image classification
MUSTUser can pass image by URL or file selection dialog box
MUST When passed an image respond with information about the images contents
MUST Create a report measuing the models performance, using a measurement of your choice, discuss causes/limitations of problems

Additional Functionalities

Submission 2

Core requirements:

  1. Answers to the short tasks in the weekly lab sheets
    1. Each answer has its own submission page according to the spec, I think in reality its just a folder containing all of them; best to ask
    1. There are 9 of them
    1. You will write your answers (no codes) for each week no more than 200 words in a
      Word file (it may also include images). No referencing is required.
    1. Before submission, you must rename your file as instructed clearly in the lab sheet,
      otherwise your submission may be ignored.
    1. If you cannot do the requested task for any reason, describe your limitations
      instead (and you will be fine for the reasonable limitations).
    1. If you submit a weekly task twice, the newer file will replace the older one.