arjarav98 / chanakya Goto Github PK
View Code? Open in Web Editor NEWA scalable, customisable yet simple chatbot built entirely from scratch in C++. The chatbot's domain of expertise can be completely chosen by you. Now, with plugins!
A scalable, customisable yet simple chatbot built entirely from scratch in C++. The chatbot's domain of expertise can be completely chosen by you. Now, with plugins!
Replace the custom knowledge-base format with YAML. This should insert some standardisation into the project and make it easier for developers. The custom format can have a steep learning curve and might even be a bit unreadable.
Implement a system where each node can only have limited keywords. Every node in the child system can only have the same number of keywords OR there must be a pre-defined limit on what the keyword limit can be.
Instead of having a random system of keywords, to make it easy for the developers, we can have three-predicated system which defined the question-type, action-to-be-done and subject. (Like "who is suresh raina?" or "what is the taj mahal?". Most questions and non-question statements have the same structure. This can be integrated.
Keep a record of what the user has been asking, say, the last 5 questions. If the user asks something, we can refer these first and then refer the actual tree. This might be problematic, but we should be able to include this.
Add a Error404 module which should throw some kind of exception when the getScore() value is too negative or low to be properly matched to a branch, it should go to the standard response when no value can be found (like "you could phrase it properly" or something like that).
Need to create a sample data file relating to CSK and let the program build the tree.
Write an entire documentation about how Chanakya works and how we can improve it and stuff. Even a documentation which helps programmers use Chanakya to develop their own knowledge bases.
Compound questions are basically questions which consist of two or more questions in them. For example; "Who is the president of the USA and how old is he?".
In the current model, this checking is not done, but it can be included in future models. What we could do is check for conjunctions (and, also, etc) and then split the questions. We then iterate over the questions and answer them.
Need fix this once the other bugs have been fixed.
Add a list of contents section. Reposition the 'Knowledge Base' section under a section called 'How to configure this chatbot for a field of your choosing' or something like that. Make QuickStart come right after the introduction.
I think its possible to implement a custom JSON compiler using DFAs. I've been trying using a convoluted logic till now, but that seems to be much more easier.
Right now, if a word matches with a keyword, then the matchScore is updated. However, in the future, we must also check to see how close a word matches with a particular word. This is done to compensate for spell checks.
For example; "Who is the precedenttt of the uSa??" should be the same as "Who is the president of the USA?".
We need to find a way to stem words when reading them from the users as questions. If this is accomplished, we would not need to give keywords for nodes for every form of the word.
Write a web server program which continuously checks a file for questions and then immediately writes the answer in another file.
Alternatively, you can also check whether you can make use of environment variables. Maybe create a couple of a variables for this. This might not be a cross-platform solution though. We need to check that out.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.