node-tagger v0.0.11
Part Of Speech (POS) Tagger Web Service
This module is a command line wrapper around the npm module "pos". With it you can use the POS tagger from the command line or start it as a REST Web Service.
The "pos" module is maintained by Fortnight Labs.
#LICENSE:
node-tagger is licensed under the GNU LGPLv3
Installation
npm install -g node-tagger
Usage on the command line
tagger Hello world
Usage as a Web Service
Start the service
tagger --port=3000 &
To use only the lexer
curl -X POST -H "Content-Type: application/json" -H "x-api-key: henri-id" -d '{"phrase":"Hello worldd"}' http://localhost:3000/ws/v1/pos.json/lex/phrase
To use the tagger on the result from the lexer
curl -X POST -H "Content-Type: application/json" -H "x-api-key: henri-id" -d '{"words":"hello","world"}' http://localhost:3000/ws/v1/pos.json/tag/words
To combine the lexer and the tagger in one request
curl -X POST -H "Content-Type: application/json" -H "x-api-key: henri-id" -d '{"phrase":"hello world"}' http://localhost:3000/ws/v1/pos.json/tag/phrase
You can also use the HTML User Interface
You can also use the HTML API Documentation User Interface
Include this as a module in your own project
var tagger  = require('node-tagger'),
    express = require('express'),
    app     = express();
// Lex the phrase, then Tag it.
console.log('Hello World = ', tagger.api.tag(tagger.api.lex('Hello World')));
////////////////////////////////////////////////////////////////////////
//
// Express configuration for ALL environment
//
app.configure(function () {
    app.use(express.bodyParser());
    app.use(express.errorHandler());
});
// USE: curl -X POST -H "Content-Type: application/json" -d '{"phrase":"hello world"}' http://localhost:3000/tag/phrase
app.post('/lex', tagger.rest.lexPhrase);
app.post('/tag/phrase', tagger.rest.tagPhrase);
app.post('/tag/words', tagger.rest.tagWords);
app.listen(process.env.PORT || 3000);
console.log('Listening|port=' + (process.env.PORT || 3000));To run the tests
npm testTo run the server
npm startTo deploy on Heroku
Make sure you have an account and the "heroku" command line tools installed. This project already has a Procfile for heroku, the only left is to replace MyPersonalTaggerService by the name you will chose for your service.
heroku create --stack cedar __MyPersonalTaggerService__
heroku config:set BASEURL=__MyPersonalTaggerService__.herokuapp.com
git push heroku masterThen open your browser at http://MyPersonalTaggerService.herokuapp.com/ or http://MyPersonalTaggerService.herokuapp.com/docs/ to have the REST API doc