This is a handmade markov chain based chatbot
How to init the markov model
mod lib;
use lib::markov_models::MarkovModel;
use std::collections::HashMap;
fn main() {
let mut model = MarkovModel {
model: HashMap::new(),
model_path: String::from("data/p&w_model.txt"),
};
...
}
You can train the model using the function train_with_dataset
...
model.train_with_dataset(String::from("data/p&w.txt"));
...
If you already have a pretrained model, you can load it with the function load_model
...
model.load_model();
...
Also you can get prediction with the function predict
...
loop {
println!("> ");
let mut input = String::new();
let _ = std::io::stdin().read_line(&mut input).unwrap();
let bot_sentence = model.predict(&input);
println!("> {}", bot_sentence);
if input == String::from("quit") {
break;
}
}