Creating a question-answer chatbot I was thinking of creating a chatbot for providing info about my college as a side-project, which aims to answer questions like "How many swimming pools are there?" to "How many lecture halls are there in Building X?". Upon discussion with seniors, they advised me to create graphs and then use something called NER to traverse it. This my first entry into the domain of NLP, ML, Neural Networks, etc. Can someone advise me if this is achievable, and if yes, what technologies should I study to achieve this?
 A: Tim is right. You are diving into different domains here. I would start first at understanding, how speech is processed/handled in our favorite DS languages (Python/R idk if its possible in Julia). That means you have to know how Python or R deals with
- Part-of-Speech Tagging, 
- Stemming, 
- Lemmatizer, 
- Tokenizer
- etc..

At first you have to "mine text" and read it correctly into your code before analysing anything with NLP.
What if one of the questions for the college was "Is the cafeteria any good?
Then you should also deep dive into sentiment analysis.
We do not know enough about your project. The thing is, do you only accept "how" answers? If your chatbot only accepts: "How"  .... "[specific location]" ["object"] "[amount of object]", then you wont probably need so much NLP. But if you want to do a flexible chatbot that reacts to different questions. Stick to proceed language first.
In Python we use NLTK package for example to do mostly all of it, https://www.guru99.com/nltk-tutorial.html
in R we need different libraries and there exists a lot more libraries:
NLP (for text mining and doing a little bit analysis) https://cran.r-project.org/web/packages/NLP/NLP.pdf,
corpus (not the function corpus here) https://cran.r-project.org/web/packages/corpus/corpus.pdf,
rJava (is needed for other NLP libraries, that they work) https://cran.r-project.org/web/packages/rJava/rJava.pdf
RDRPOSTagger (install over github) https://github.com/ck37/RDRPOSTagger
tm https://cran.r-project.org/web/packages/tm/tm.pdf
I hope you will get on with your project.
---UPDATE--
as the OP asked about graph structures I added this opinion:
It depends on the task you try to accomplish, e.g. if you want to store data that heavily relies on associtaions like in an association network, e.g. 'tell me what you think of this brand' than there is some sort central node who can grow in several directions, depths and with weights, but the edges in this case contain weight to represents connotations and may be strengths of the association, you dont have. You just want to find an answer to a question, where the answer is always, well a number as it seems.
You even neet no optimization graph, you have not such complex questions, where is speed is needed so that the chatbot still fands a quick answer while understanding a 'wide-opened' formulated question.
A directed graph with adjacency matrix may be a solution: https://www.upgrad.com/blog/graphs-in-data-structure/
Starting with the "question" word, in the root, and then looking for the next "object".... until you hit the final node/edge that leads to the answer, the number, e.g. 5 feet of depth of the pool. >ou have several edges going from the intitial How/What, depending on the objects that are available to ask, there may be an 'adjacented'edge that shows, if there is an answer to the original question. Thus the directed graph looks a little bit like a tree in the end.
https://www.freecodecamp.org/news/all-you-need-to-know-about-tree-data-structures-bceacb85490c/
All the best,
