node-stanford-postagger

A client for the Stanford Part of Speech Tagger XMLRPC server.

  • Owner: cuzzo/node-stanford-postagger
  • Platform:
  • License:: BSD 2-Clause "Simplified" License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Node Stanford POS-tagger

Let your node.js application think like a human.

Usage

node-stanford-postagger has one usage, to interact with Stanford's POS-tagger.

Dependencies

To simply configure and install Stanford's POS-tagger with Turian's XMLPRC service, you can simply run my Stanford POS-tagger Docker image:

docker pull cuzzo/stanford-pos-tagger
docker run -t -i -p 9000:9000 cuzzo/stanford-pos-tagger

Otherwise, carefully follow Stanford's and Turian's instructions. Be prepared to spend hours, = (Just get Docker).

Installation

git clone https://github.com/cuzzo/node-stanford-postagger
cd node-stanford-postagger
npm install

How to Run the XMLRPC Service

As posted above, with Docker, it's as simple as:

docker pull cuzzo/stanford-pos-tagger
docker run -t -i -p 9000:9000 cuzzo/stanford-pos-tagger

Without Docker, I've included util/run-server.sh to simplify running Turian's XMLRPC service for Stanford's POS-tagger in a user-friendly way.

run-server.sh models/left3words-wsj-0-18.tagger 9000

The above runs the service using the built-in left3words-wsj-0-18 training model on port 9000. To run this script, it's required to live in the root directory of the stanford-postagger code--in the same directory as Turian's tagger-server.jar is required to be moved.

Interacting with the XMLRPC Service in node.js

$ bin/tag "Hello, world!"
> [ 'Hello_UH ,_, world_NN !_.\n' ]

Interacting with the XMLRPC Service in Your node.js Project

var Tagger = require("node-stanford-postagger/postagger").Tagger;
var tagger = new Tagger({
  port: "9000",
  host: "localhost"
});

tagger.tag("Hello, world!", function(err, resp) {
  if (err) return console.error(err);
  console.log(resp);
});

If you don't like callbacks and prefer promises, node-stanford-postagger supports denodeify.

var Q = require("q");
var Tagger = require("node-stanford-postagger/postagger").Tagger;
var tagger = new Tagger({
  port: "9000",
  host: "localhost"
});
tagger.denodify(Q);

tagger.tag("Hello, world!")
  .then(function(resp) {
      console.log(resp);
    },
    function(err) {
      console.error(err);
    }
  );

Acknowledgements

License

node-stanford-postagger is free--as in BSD. Hack your heart out, hackers.

  • NOTE: Stanford's POS Tagger itself is licensed GPL.

Main metrics

Overview
Name With Ownercuzzo/node-stanford-postagger
Primary LanguageJavaScript
Program languageShell (Language Count: 2)
Platform
License:BSD 2-Clause "Simplified" License
所有者活动
Created At2014-07-26 18:34:18
Pushed At2017-05-05 19:49:29
Last Commit At2017-05-05 12:49:28
Release Count0
用户参与
Stargazers Count72
Watchers Count5
Fork Count13
Commits Count19
Has Issues Enabled
Issues Count4
Issue Open Count3
Pull Requests Count2
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private