Skip to content

mafintosh/level-naive-bayes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

level-naive-bayes

Naive Bayes text classifier that runs on top of leveldb. Based on the bayes module.

npm install level-naive-bayes

build status

Usage

var bayes = require('level-naive-bayes')

var nb = bayes(db) // where db is a levelup instance

nb.train('positive', 'amazing, awesome movie!! Yeah!! Oh boy.', function() {
  nb.train('positive', 'this is incredibly, amazing, perfect, great!', function() {
    nb.train('negative', 'terrible, shitty thing. Damn. Sucks!!', function() {
      nb.classify('awesome, cool, amazing!! Yay.', function(err, category) {
        console.log('category is '+category)
      })
    })
  })
})

API

nb = bayes(db, [options])

Creates a new instance. db should be a levelup. Options include:

{
  tokenize: function(str) {
    return str.split(' ') // pass in custom tokenizer
  }
}

nb.train(category, text, cb)

Train the classifier with the given text for a category. If the text is already tokenized pass in an array of tokens instead of text

nb.classify(text, cb)

Classify the given text into a category. If the text is already tokenized pass in an array of tokens instead of text

License

MIT

About

Bayes text classifier that runs on top of leveldb

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published