This week I accomplished the following tasks:
- Grammar correction for verbs. I still need to do this for singular vs plural nouns, but it is working very well for verbs.
- User response processing for non-story states. All user responses are supported, including timeouts and words that cannot be identified. The full user flow chart has now been implemented.
- Integration with audio input/output. I worked with Jade for this part. There were no major obstacles, besides making sure that we both had all the python packages installed to run the code. The main KATbot python program that I wrote is run, and whenever it needs to speak or receive input, it calls one of the audio functions that Jade created.
- Random FitBERT inputs. To add variety to the stories, some of the blanks are randomly (but still according to sentence context) filled in by FitBERT. To do this step I gathered a list of 1000+ vocabulary words, from preK to 3rd grade, and fed this list into FitBERT along with the template sentence and the part of speech needed. It is working really well for the one example template I have been using, but I will have to create more templates to see if I want to tweak this feature at all.
At this point, I have finished all the components of the storytelling algorithm. I just need to do some more error handling, and if I have time, improve certain features (like antonym generation). I think it is ready for the first demo day, so I am very much on track.
Next week, I will first work on cleaning up the code and writing documentation, just so that it is easier for my teammates to understand what the programs do as we integrate. I will also finish grammar correction for nouns. After this, I will finally make some templates, as well as document how to make templates. If Abha is ready, I can start integrating my part with the text displays.