The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.68 - 2011-05-03

  • Speed up the learning of repetitive sentences by caching more
  • Added Hailo::Engine::Scored, which generates multiple replies (limited by time or number of iterations) and returns the best one. Based on code from Peter Teichman's Cobe project.
  • Fixed a bug which caused the tokenizer to be very slow at capitalizing replies which contain things like "script/osm-to-tilenumbers.pl"
  • Speed up learning quite a bit (up to 25%) by using more efficient SQL.
  • Add --train-fast to speed up learning by up to an additional 45% on large brains by using aggressive caching. This uses a lot of memory. Almost 600MB with SQLite on a 64bit machine for a brain which eventually takes 134MB on disk (trained from a 350k line IRC log).
  • Word tokenizer:
    • Preserve casing of Emacs key sequences like "C-u"
    • Don't capitalize words after ellipses (e.g. "Wait... what?")
    • When adding a full stop to paragraphs which end with a quoted word, add it inside the quotes (e.g. "I heard him say 'hello there.'")
    • Make it work correctly when the input has newlines

Documentation

Command-line interface to the Hailo Markov bot

Modules

A pluggable Markov engine analogous to MegaHAL
Class for the hailo command-line interface to Hailo
The default engine backend for Hailo
MegaHAL-style reply scoring for Hailo
A role which adds an 'arguments' attribute
A role representing a Hailo engine backend
A role representing a Hailo storage backend
A role representing a Hailo tokenizer
A role representing a Hailo UI
A base class for Hailo storage backends
A storage backend for Hailo using DBD::mysql
A storage backend for Hailo using DBD::Pg
A storage backend for Hailo using DBD::SQLite
Deploy the database schema Hailo uses
A character tokenizer for Hailo
A tokenizer for Hailo which splits on whitespace and word boundaries, mostly.
A UI for Hailo using Term::ReadLine