Chatbots are entertaining and yet can be functional. All of my prior robots have lacked sufficient processing power to include a user interface at all, let alone natural language understanding.
The marriage of the Raspberry Pi to the GoPiGo3, BrickPi, and GrovePi allows remote command-line user interfaces (ssh), graphic user interfaces (noVNC desktop in Raspbian For Robots), speech recognition user interface (Carl’s present voice commander), and even vision user interface combined with Google Cloud API (DI EmpathyBot).
I have opened a train of thought to add a chatbot user interface to my GoPiGo3, and wonder if anyone has recently traveled this path?
This is how I got to this point:
A Chatterbot For GoPiGo3 Robot Carl
A little history
Chatbots I’ve used over the years:
- ELIZA: (1985) reimplemented in CLIPS and Ada for learning rule based reasoning
- A.L.I.C.E: built several AIML based chatbots
- 2007: “Nicer ALICE”, (Polite Basic ruleset) Program_D, Java
- 2011: “ArcheryBot”, Pandorabots
- 2014: “Revisting Rosie”, TryAiml
- Chatscript: Bruce Wilcox
- 2014: “Try Chatscript”
- 2016: “Harry”, revisiting
- Chatterbot:
- 2016: “Stock Norman”, investigating python chatbots
- NLTK: Rule based chatbot
- 2016: “chatbro.py”, Using NLTK to filter input and match input to responses
- 2019: “Carl_Chat.py”, Using NLTK WordNet
- 2021: “keyword_chat.py”, Uses regular expressions to find NLTK WordNet synonyms for user intents