My undergraduate senior research project was researching and developing a natural language processing bot (affectionately known by course staff as "potatobot") that attempted to answer student questions in online class forums, which is now used by several classes in the EECS department at the University of Michigan. The project was advised by Professors Marcus Darden and Jenna Wiens. It was a great introduction to the process of research, as I went from question proposition and literature review to result generation and paper writing.
The first step was to decide on an algorithm to use, which involved conducting a thorough literature review of the quite developed field of question answering in natural language processing. My partner on the project and I decided to go with an algorithm known as MappSent, due to its answer proposition pipeline, and its interpretability. Next was validating the algorithm on our dataset, a collection of student questions and instrucctor answers from several different EECS classes, which took an immense amount of data scraping, cleaning, and management. We acquired the help of student instructors in the department to help label the dataset, and then began to train our model.
After many iterations of training and model validation, we settled on a model that seemed to do well according to our diagnostics. We deployed the model, watched the forum for several weeks, and wrote the process and results into a paper.