Artificial intelligence Chat bot

Job ID: 33017618

Budget: £20 – £250 GBP

Hello I have a chat bot that needs to be updated.

Add logical reasoning extension: The aim of this task is to build a simplistic first order logic (FOL) knowledgebase and inference engine using NLTK library, that can be updated or queried by the user. This component could ideally be implemented using full grammatical analysis and NLP of the user input, but this is out of the scope of this coursework stage. Therefore, the user inputs for this component are limited to two simple patterns of: “I know that ... is ...” and “Check that ... is ...” or similar. For example, user types “I know that Tim is British” or “Check that Tim is European”. You must make a KB file with a number of initial statements (at least 10) about your chosen chatbot topic. Each fact is written in first-order logic structured in the NLTK’s FOL syntax, such as “British (Tim)” and “British(x) -> European(x)”. In your program, first import the initial knowledgebase file and check it for any contradiction. Then, if the user inputs “I know that ... is ...”, first check if the new expression is not in contradiction with the knowledgebase. If not, add it to the knowledgebase (in memory not in the file) and respond like “OK, I will remember that ... is ...”. If the user inputs “Check that ... is ...” then you respond with “Correct”, “Incorrect” or “Sorry, I don’t know” by applying the NLTK’s resolution algorithm..

Task c – Train and add a local image classification model and evaluate it: This should include the updated versions of the stage 1 files/documentation as well as your training program, a saved model and sample image files. Your updated python program provides this new feature: If the user inputs a question such as “What is img01.jpg”?, the chatbot should invoke a pre-trained convolutional neural network to provide the answer. You decide yourself which network architecture and training data set to use. If you wish, you can decide to use a different source of images instead of files, e.g., camera input, and also decide to trigger this feature in other ways. You will need to train your neural network using an image dataset with class labels. There are web sites that serve as a repository for many good data sets such as Kaggle.com or the UCI Machine Learning Repository. Don’t worry too much if it doesn’t fit that well with the topic of chatbot. A weak connection between the image topics and your chatbot topic is acceptable. Once trained, you should save the model (e.g., as a h5 file) and include in your submission. In your main chatbot program, you will import the pre-trained model and use it for serving user’s query on image classification. Report and explain the model’s performance using n-fold cross-validation method and a measurement of your choice. If the classification does not perform well discuss the causes and/or limitations..

Task d: Add a cloud-based image classification service: The idea is that in addition to the model training, your chatbot can also analyse images based on a model that you develop as a web service on Azure cloud. You can use either the Image Analysis feature (pre-trained) or the Image Classification with Custom Vision (user-trained) or any relevant service of your choice in the Azure’s Computer Vision group of services. You will provide the user with result of this image classification alongside with the results of task c.


Will need to be created using spyder ide

bmission Stage-2 (due date 24/03) - Includes tasks c and d.
Files to submit: A zip file containing Python program for model training (py or ipynb), updated python program of the chatbot (py or ipynb), sample image files for test, AIML file (xml), Q/A pairs (csv), KB file (csv)..
Related categories: Python Programming Computer Science