Alexandr Ciornii

NAME

AI::MegaHAL - Perl interface to the MegaHAL natural language conversation simulator.

SYNOPSIS

use AI::MegaHAL;

my $megahal = AI::MegaHAL->new('Path' => './', 'Banner' => 0, 'Prompt' => 0, 'Wrap' => 0, 'AutoSave' => 0);

my $text = $megahal->initial_greeting();

$text = $megahal->do_reply($message);

$megahal->learn($message);

DESCRIPTION

Conversation simulators are computer programs which give the appearance of conversing with a user in natural language. Such programs are effective because they exploit the fact that human beings tend to read much more meaning into what is said than is actually there; we are fooled into reading structure into chaos, and we interpret non-sequitur as valid conversation.

This package provides a Perl interface to the MegaHAL conversation simulator written by Jason Hutchens.

CONSTRUCTOR

$megahal = AI::MegaHAL->new('Path' => './', 'Banner' => 0, 'Prompt' => 0, 'Wrap' => 0, 'AutoSave' => 0);

Creates a new AI::MegaHAL object. The object constructor can optionaly receive the following named parameters:

Path - The path to MegaHALs brain or training file (megahal.brn and megahal.trn respectively). If 'Path' is not specified the current working directory is assumed.
Prompt - A flag which enables/disables the prompt. This flag is only useful when MegaHAL is run interactively and is disabled by default.
Wrap - A flag which enables/disables word wrapping of MegaHALs responses when the lines exceed 80 characters in length. The default is to disable word wrapping.

METHODS

initial_greeting

$text = $megahal->initial_greeting();

Returns a string containing the initial greeting which is created by MegaHAL at startup.

do_reply

$text = $megahal->do_reply($message);

Generates reply $text to a given message $message.

learn

$megahal->learn($message);

Learns from $message without generating a response

BUGS

None known at this time.

SEE ALSO

POE::Component::AI::MegaHAL - IRC bot, http://teaandbiscuits.org.uk/drupal/node/65 - Irssi IRC bot

AUTHOR

The Perl AI::MegaHAL interface was written by Cory Spencer <cspencer[at]sprocket.org>.

Now maintained by Alexandr Ciornii <alexchorny[at]gmail.com>.

MegaHAL was originally written by and is copyright Jason Hutchens <hutch[at]ciips.ee.uwa.edu.au>




Hosting generously
sponsored by Bytemark