Menu

Tree [d38fc4] master /
 History

HTTPS access


File Date Author Commit
 config 2022-11-03 Christophe Lohr Christophe Lohr [a2b50e] Initial commit
 examples 2022-11-17 Christophe Lohr Christophe Lohr [d38fc4] examples
 launch 2022-11-03 Christophe Lohr Christophe Lohr [a2b50e] Initial commit
 src 2022-11-16 Christophe Lohr Christophe Lohr [e608b8] another example
 srv 2022-11-03 Christophe Lohr Christophe Lohr [a2b50e] Initial commit
 CMakeLists.txt 2022-11-03 Christophe Lohr Christophe Lohr [a2b50e] Initial commit
 COPYING 2022-11-03 Christophe Lohr Christophe Lohr [a2b50e] Initial commit
 README.md 2022-11-03 Christophe Lohr Christophe Lohr [d78a69] Initial commit
 package.xml 2022-11-03 Christophe Lohr Christophe Lohr [a2b50e] Initial commit
 setup.py 2022-11-03 Christophe Lohr Christophe Lohr [a2b50e] Initial commit

Read Me

cobe_ros - The COBE chatbot for ROS

A lightweight offline open source chatbot for robotics

It is based on COBE, which is based on MegaHAL

COBE

COBE is "A Markov chain based text generation library and MegaHAL style chatbot."

It is the reimplementation of MegaHAL by Peter Teichman & co. in 2010, using (now) Python3, SQLite3, and PyStemmer.

MegaHAL

MegaHAL is "A conversation simulator that learns as you talk to it. MegaHAL differs from conversation simulators such as Eliza in that it uses a Markov Model to learn how to hold a conversation. It is possible to teach MegaHAL to talk about new topic."

MegaHAL was created in 1998 by Jason L. Hutchens, and was one of the state-of-the-art opensource chatbot during years.

Have a look at archives here and here.

ROS API

  • /cobe_chatbot/brain - ROS parameter - The 'brain' file of your chatbot (default: 'cobe.brain')

  • /cobe_chatbot/chat - ROS service - Pass a sentence to your bot and get a reply; the 'learn' flag indicates if your bot should also learn your sentence of forget it after

  • /cobe_chatbot/learn - ROS service - Pass a sentence to feed the brain of your bot

Kick start

  • Do the typical ROS & catkin stuff according to your favorite cookbook, eg.:
$ mkdip -p ~/catkin_ws/src  
$ cd ~/catkin_ws  
$ catkin_make  
$ git clone  https://git.code.sf.net/p/cobe-chatbot/code  src/cobe_chatbot  
$ . devel/setup.bash  
$ catkin_make  
$ . devel/setup.bash  
$ roscore &  
  • Collect a set of sentences in a text file, the personality of your bot.

  • Initialize the brain of your bot and let it learn your text file:

$ cobelight init  
$ cobelight learn <text file>  
  • Start the 'chatbot' node:
$ rosrun cobe_chatbot chatbot &
  • Test it with a simple call to it service:
$ rosservice call /cobe_chatbot/chat "input: Hello  
learn: False"
  • Look at examples/