An open API service indexing awesome lists of open source software.

https://github.com/hectorpulido/human-language-toolkit-chatbot

nltk like chatbot in rust
https://github.com/hectorpulido/human-language-toolkit-chatbot

ai chatbot hlp human-language-toolkit nlp

Last synced: 10 months ago
JSON representation

nltk like chatbot in rust

Awesome Lists containing this project

README

          

# HLTK chatbot
This is a regex powered chatbot made in rust, it is based in NLTK https://github.com/nltk/nltk/blob/develop/nltk/chat/util.py

## How to install
add to your Cargo.toml file
```
[dependencies]
...
human_language_toolkit_chatbot = "0.1.0"
...
```
You can find the updated version at https://crates.io/crates/human_language_toolkit_chatbot

## How to use it
You can read from a json file.
``` Rust
use human_language_toolkit_chatbot::{Chatbot, ChatbotError, CompiledChatbot};
...
let suntsu = Chatbot::from_file(String::from("bots/suntsu.json")).unwrap();
...
```
Also you can create the bot by programming.

``` Rust
...
let mut pairs: Vec<(String, Vec)> = Vec::new();
pairs.push((
String::from(r"Hello(.*)"),
vec![
String::from("Hello... I'm glad you could drop by today."),
String::from("Hi there... how are you today?"),
String::from("Hello, how are you feeling today?"),
],
));
pairs.push((
String::from(r"(.*) sorry (.*)"),
vec![
String::from("There are many times when no apology is needed."),
String::from("What feelings do you have when you apologize?"),
],
));
...
let fallback = vec![String::from("Sorry I didn't understand")];
let reflections = Chatbot::default_reflections();

let eliza = Chatbot {
pairs,
fallback,
reflections,
};

// You can save your model in a .json file
match eliza.to_file(String::from("bots/eliza.json")) {
Ok(_) => (),
Err(e) => println!("error at {}", e),
}

let eliza = eliza.compile();
```

You can talk with the bot with the function `respond` but you can also use the `converse` function to make an infinity conversation.


Let's connect 😋





Hector's LinkedIn
   

Hector's Twitter
   

Hector's Twitch
   

Hector's Youtube
  Â