Skip to content
No description, website, or topics provided.
Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
OpenLearning
OpenLearningAPI
README.md

README.md

OpenLearning

Introduction

Open learning is a string pattern matcher than can learn to find regularities into strings. To use this you will need a dataset of "normal strings" like:

normal.txt

Apple Tree
Banana Split
Pen Pineapple Apple Pen
Cury Rice
French fries

And a dataset that contains the thing you want to search:

dataset.txt

Apple pie
Banana cake
Rice cake
Pineapple pie
Strawberries tart

And you will get a train dataset:

$ open_learning learn

model.txt

["apple pie", " cake"]

And now we can test with an example:

$ open_learning test "cheese cake"
   Reading Done in 0ms
   Correspond true

As you can see it correspond with the model.

$ open_learning test "Apple juice"
   Reading Done in 0ms
   Correspond false

It work's fine.

Command usage

$ open_learning learn [-d DATASET-FILE] [-n NORMAL-FILE] [-o MODEL-OUTPUT-FILE]

$ open_learning test [-i INPUT-FILE] <INPUT-STRING>

Examples

$ open_learning learn -d "dataset.txt" -n "normal.txt" -o "model.txt"

$ open_learning test -i "model.txt" "Apple pen"

Integration into programs

OpenLearningAPI - A rust library to use the trained model

Why rust ?

I have chosen rust for four reasons: performance, safety, ecosystem, concurrency

Download executables

Linux executable: 0.1.0beta

Compile from source

Download the OpenLearning folder and run into it:

$ cargo build --release

Rust is needed: Download rust

Futures features (in progress)

Console colorized Learner [DONE] Linear String matching [DONE] Positional String matching [TO DO] Patern string matching [TO DO] Semantic matching [TO DO]

Error Percentage Calculator [TO DO] Valid Percentage Calculator [TO DO] More validity and more error option [TO DO]

More examples [TO DO]

Rust Font-End [DONE] JS Font-End [TO DO] Python Font-End [TO DO] Java Font-End [TO DO]

Specify specification [TO DO]

You can’t perform that action at this time.