Chatterbot: about chatterbot machine learning technique

Created on 14 Mar 2017  路  5Comments  路  Source: gunthercox/ChatterBot

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?

question

Most helpful comment

@arafat-al-mahmud That is correct.

All 5 comments

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

  1. You could train your bot
  2. Build your corpus data
  3. Store corpus into different DB
  4. You could apply preprocessors on your corpus.
  5. Django integration

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.

Was this page helpful?
0 / 5 - 0 ratings