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
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