nilod
v0.1.3
Published
Node.JS Interactive Lines of Dialog. Talk with Node.JS, expose its feelings and secrets... and whatever nonsensical sentences it markovily generates.
Maintainers
Readme
NILOD
Node.js Interactive Lines Of Dialog
A lightweight chatbot library for Node.js, inspired by Python 3's COBE 2 chatbot, which supports JSON importing and exporting, and unsupervised, peer-assisted machine learning to help select the best output sentences.
The project is under the MIT license; for more information, please see the LICENSE file.
How to Use
It's reasonably simple to make use of this library. This snippet tersely shows the many features from the library:
const NILOD = require('nilod')
let model = new NILOD('myDatabase.sqlite');
// for example purposes, I'll define a simple function to help
// print our model's output :)
function printSentence(res) {
console.log(`(${res.outputWords.length}) ${res.output}`);
}
model.train([
'Hello, oh beautiful world I have come upon... here, rise flowers, the world spins and rotates beneath my little-dwinkle tiptoesome feet!',
'Bequeath me thy burden, and I\'ll engrave on thee my sweetness.'
]);
// Let's quickly generate one sentence, without the whole selection process.
let res = model.tryOnce();
printSentence(res);
// Hey, I like that sentence!
// Let's give it a good rating.
res.applyRating(5);
// Ratings will help our model learn to generate better results,
// when you use the fancy 'generate' function, which generates
// a bunch of sentences, and selects the best one using past ratings.
// In this case, let's use 30 samples (candidates to selection).
let best = model.generate(30).best;
printSentence(best.attempt);