Dear Altruist,
I want to contribute in this project. Before going to join with it, i have a very simple question. What machine learning techniques has been used in this project?
Can you please share in details if possible?
The purpose of chatterbot is use in Salvius the Robot for more information available here.
The major techniques used here, as far of i know
Hi @johnduxx I'm glad you're interested in contributing to this project. To answer your question, ChatterBot uses a number of algorithms to select a response. ChatterBot is designed to be modular so each response selection algorithm is broken up into its own module called a logic adapter. A number of logic adapters have been written, at the moment most of them implement search-based artificial intelligence to select an appropriate response to the user's input. Bayesian networks are also used but to a limited extent.
I have been researching seq-to-seq machine learning methods using technologies such as TensorFlow, maybe in the future ChatterBot will have these capabilities as well.
Let me know if you have any further questions 馃槂
@gunthercox Please correct me if I am wrong.
For the sake of Search-based artificial intelligence I have found following optional algorithms implemented in ChatterBot that can be used as the 'statement_comparison_function' for a logic adapter:
_levenshtein_distance_ : for measuring character based text similarity
_synset_distance_ : for calculating the synonymous similarity between statements
_jaccard_similarity_ : for measuring term based text similarity
And Bayesian networks is used in comparing _sentiments_.
Among these levenshtein_distance is being used as the default method for finding the best match among statements
chatterbot/comparisons.py contains the implementation of the above mentioned methods.
@arafat-al-mahmud That is correct.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Most helpful comment
@arafat-al-mahmud That is correct.