- Notifications
You must be signed in to change notification settings - Fork11
A nodejs binding for crfsuite
License
vunb/node-crfsuite
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A nodejs binding for crfsuite
This is a link to the CRFSuite library written by Naoaki Okazaki. CRF or Conditional Random Fields are a class of statistical modeling method often applied in pattern recognition and machine learning and used for structured prediction.
For most "standard" use cases (on Mac, Linux, or Windows on a x86 or x64 processor),node-crfsuite
will install easy with:
npm install crfsuite
constcrfsuite=require('crfsuite')consttagger=newcrfsuite.Tagger()letis_opened=tagger.open('./path/to/crf.model')console.log('File model is opened:',is_opened)lettags=tagger.tag(input)console.log('Tags: ',tags)
constpath=require('path')constcrfsuite=require('crfsuite')consttrainer=newcrfsuite.Trainer({debug:true})letmodel_filename=path.resolve('./model.crfsuite')letxseq=[['walk'],['walk','shop'],['clean','shop']]letyseq=['sunny','sunny','rainy']// submit training data to the trainertrainer.append(xseq,yseq)trainer.train(model_filename)// output: ./model.crfsuite
We usenode-pre-gyp to compile and publish binaries of the library for most common use cases (Linux, Mac, Windows on standard processor platforms). If you have a special case,node-crfsuite
will work, but it will compile the binary during the install. Compiling with nodejs is done vianode-gyp which requires Python 2.x, so please ensure you have it installed and in your path for all operating systems. Python 3.x will not work.
# clone the projectgit clone --recursive https://github.com/vunb/node-crfsuite.git# go to working foldercd node-crfsuite# install dependencies and build the binarynpm install
For development:
# rebuildnpm run build# run unit-testnpmtest
- Add an options parameter to pass to a Trainer with a debug property to avoid writing logs to stdout. (17) (mathquis)
- Update typescript declaration file
- Convert all sources to use N-API, remove
nan
- Add typescript declaration file
- Cleanup package dependencies
- CI Tool run & test only in node version 10 LTS
- Add project convention:
.gitattributes
,.editorconfig
- Enforced to use
new
keyword to create newTagger andTrainer
Fromcrfsuite@0.9.6
the library usesN-API
to use the binary in multiple version of Node.
- Acording to Node.js Foundation: With N-API, native module developers can compile their module once per platform and architecture, and make it available for any version of Node.js that implements N-API. This holds true even for versions of Node.js that are built with a different VM, e.g.Node-ChakraCore.
Pull requests and stars are highly welcome.
For bugs and feature requests, pleasecreate an issue.
About
A nodejs binding for crfsuite
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.