# NER
This repository contains the source code for the primary NER component of the
OpeNER project. This component provides a CLI interface for the various kernels
as well as providing a Sinatra based web service.
### Confused by some terminology?
This software is part of a larger collection of natural language processing
tools known as "the OpeNER project". You can find more information about the
project at [the OpeNER portal](http://opener-project.github.io). There you can
also find references to terms like KAF (an XML standard to represent linguistic
annotations in texts), component, cores, scenario's and pipelines.
## Quick Use Example
Installing the ner can be done by executing:
gem install opener-ner
Please keep in mind that all components in OpeNER take KAF as an input and
output KAF by default.
### Command line interface
You should now be able to call the NER as a regular shell command: by its name.
Once installed the gem normalyl sits in your path so you can call it directly
from anywhere.
This aplication reads a text from standard input in order to identify the
language.
cat some_kind_of_kaf_file.kaf | ner
This will output a kaf file containing the named entities. An excerpt can be
seen here
### Webservices
You can launch a language identification webservice by executing:
ner-server
This will launch a mini webserver with the webservice. It defaults to port 9292,
so you can access it at .
To launch it on a different port provide the `-p [port-number]` option like
this:
ner-server -p 1234
It then launches at
Documentation on the Webservice is provided by surfing to the urls provided
above. For more information on how to launch a webservice run the command with
the `--help` option.
### Daemon
Last but not least the NER comes shipped with a daemon that can read jobs (and
write) jobs to and from Amazon SQS queues. For more information type:
ner-daemon -h
## Description of dependencies
This component runs best if you run it in an environment suited for OpeNER
components. You can find an installation guide and helper tools in the
[OpeNER installer](https://github.com/opener-project/opener-installer) and an
[installation guide on the Opener Website](http://opener-project.github.io/getting-started/how-to/local-installation.html)
At least you need the following system setup:
### Depenencies for normal use:
* MRI 1.9.3 / Jruby
* Java 1.7 or newer (There are problems with encoding in older versions).
### Dependencies if you want to modify the component:
* Maven (for building the Gem)
## Domain Adaption
TODO
## Language Extension
TODO
## The Core
The component is a wrapper around the actual language technology core. You can
find the core technolies in the following repositories:
* [ner-base](https://github.com/opener-project/ner-base)
## Where to go from here
* [Check the project website](http://opener-project.github.io)
* [Checkout the webservice](http://opener.olery.com/ner)
## Report problem/Get help
If you encounter problems, please email or leave an
issue in the [issue tracker](https://github.com/opener-project/ner/issues).
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request