ner-node

Node library for spawning NER server and pinging it to get entities out of raw text.

NER-Node

Library to connect to Stanford NER local Server, send in the Raw Text and get back Entity JSON

6X Performance Boost with Changed Syntax in versions 0.0.7 and further. Please do upgrade.

Installation

  1. npm install ner-node
  2. You can now try the test files to see the library working.

Usage

Here is an example of how you can call the library :-

// Importing the module
var socketNER = require("ner-node")
// Creating an instance
var NER = socketNER(port, classifierFileName, pathToNER)
// Initiating Server and Client
NER.init()
// You can optionally define your own function to parse tagged text
NER.parser = function (taggedText) {..... return entities}
// Using the getEntities function of NER object anywhere to get the parsed entities
var entitiesJSON = NER.getEntities(rawText, requiredEntity)
// Closes the server and client when done
NER.close()
 

Note:- The npm package doesn't come with StanfordNER folder. You can download the latest from Stanford NER website OR get it from the git hub repository.

Updates

  • Versions upto 0.0.4

    These versions uses node sockets to connect to NER server(A java command line command) but the sockets were very slow when it came to perfomance.

  • Versions 0.0.5 and 0.0.6

    These version uses the NER Client(A java command line command) to ping NER server. I tested it out and found that it was way too fast and almost 6 times better with application, I was working on. This time I used Synchronize library to sync functions up But its disadvantage was that - It takes so many sync.fibar wrappers to keeps this working and that too wasn't possible in my case. Actually Synchronize library was useless and very frustrating.

  • Versions >=0.0.7

    In this version, I switched back to deasync after doing some more standalone testing to convert async functions to sync one and able to create a fully sync API with node without any intentional sleeps. So there is a change in the sytax this time. This Version is even more efficient than previous versions.

Issues & Suggestions

If you find an issues using the Library OR if you have any suggestions to make it perform better, then you can write to us in the Issues Section.

Donate

If this repository helps you anyhow, please don't mind coming back and Buy Me Coffee OR you can use Gratipay to show your appreciation and gratitude.