A chatbot that learns from user interactions by dynamically updating its knowledge base based on user input.
• Jarvis.py — main chatbot script
• KnowledgeBase.json — stored questions, variations and answers
-
Loads KnowledgeBase.json into memory.
-
Uses difflib.get_close_matches to find close matches (also checks entries in variations).
-
If a match is found, returns the stored answer.
-
If not, Jarvis prompts you to teach it; a user-provided answer (not skip) is appended to the JSON and saved.
-
Open the project folder in Pycharm.
-
Right-click on Jarvis.py and click run.
-
Interact in the Run console. Type quit to exit the program.
• Simple fuzzy matching — suitable for small datasets; not a full NLP solution.
• No moderation for user-submitted content — add validation or an approval step before using in production.
• Built as an educational bachelor project; intended to demonstrate persistence, matching, and a teachable loop.