Methodology

1. Programming Language :
Python is used in this Q&A bot project, Python supports object-oriented as well as function-oriented language which can help user writing their code in a much logical way

2. Tokenization :
Tokenization is breaking a long sentence into smaller pieces, namely words. The approach we are going to take is using machine learning because of better accuracy and more adaptive compared to using a dictionary parse a sentence.In order to increase efficiency, we also need to combine some low-level token to high-level token. Such as “hot dog” would have a totally different meaning if we separate it to “hot” and “dog”.

3. Wording embedding :
Word embedding provides us a way to map vocabulary to vector(s). There are different methods to produce word vector. At the start of the project, we need to choose a method to do the word embedding since different way can have different benefits. We need to find the one that fits our project most.

4. NLTK package :
Natural Language Toolkit (NLTK) package is a python package developed by Team NLTK. NLTK package is used for word processing which provides text processing libraries for different word processing step, such as tokenization, tagging and classification. In our project, NLTK package is used to accomplish the objective of Q&A with mixed language. NLTK package can help removing meaningless word and increase the accuracy of our Q&A bot

5. User interface :
When comparing other GUI language/package, tkinter provides a faster and easier way to create GUI application. Also, Tkinter is pre-installed with python3, therefore, no extra installation on the patrol robot is needed. In order to add themes to the application, Ttkthemes is used and the theme “radiance” is chosen for our Q&A bot.