Skip to main content

The Python interface to the Stanford Named Entity Recognizer Server.

Project description

# sner
Python wrapper around the Stanford Named Entity Recognizer (NER) Server and the Part-Of-Speech (POS) Tagger Server.

[![PyPI version](https://badge.fury.io/py/sner.svg)](https://badge.fury.io/py/sner)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/caihaoyu/sner/master/LICENSE)

# Stanford Named Entity Recognizer Project

* [Home Page](https://nlp.stanford.edu/software/CRF-NER.shtml)
* [Running NER as a Server](https://nlp.stanford.edu/software/crf-faq.shtml#cc)

# Stanford Part-Of-Speech Tagger Project

* [Home Page](https://nlp.stanford.edu/software/tagger.shtml)
* [Running POS as a Server](https://nlp.stanford.edu/software/pos-tagger-faq.html#e)

# Installation
```bash
pip install sner
```
or

```bash
python setup install
```

# Start
## NER Client
Run the following commands to start the NER server

```bash
cd your_stanford_ner_dir
java -Djava.ext.dirs=./lib -cp stanford-ner.jar edu.stanford.nlp.ie.NERServer -port 9199 -loadClassifier ./classifiers/english.all.3class.distsim.crf.ser.gz -tokenizerFactory edu.stanford.nlp.process.WhitespaceTokenizer -tokenizerOptions tokenizeNLs=false
```
Use the following in Python to access the NER server

```python
from sner import Ner

test_string = "Alice went to the Museum of Natural History."
tagger = Ner(host='localhost',port=9199)
print(tagger.get_entities(test_string))

```
The following results are expected

```python
[('Alice', 'PERSON'),
('went', 'O'),
('to', 'O'),
('the', 'O'),
('Museum', 'ORGANIZATION'),
('of', 'ORGANIZATION'),
('Natural', 'ORGANIZATION'),
('History', 'ORGANIZATION'),
('.', 'O')]
```

## POS Client
Run the following commands to start the POS server

```bash
cd your_stanford_pos_dir
java -cp stanford-postagger.jar edu.stanford.nlp.tagger.maxent.MaxentTaggerServer -port 9198 -model models/english-bidirectional-distsim.tagger
```
Use the following in Python to access the POS server

```python
from sner import POSClient

test_string = "Alice went to the Museum of Natural History."
tagger = POSClient(host='localhost', port=9198)
print(tagger.tag(test_string))
```
The following results are expected

```python
[('Alice', 'NNP'),
('went', 'VBD'),
('to', 'TO'),
('the', 'DT'),
('Museum', 'NNP'),
('of', 'IN'),
('Natural', 'NNP'),
('History', 'NN'),
('.', '.')]
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sner-0.2.12.tar.gz (3.1 kB view details)

Uploaded Source

File details

Details for the file sner-0.2.12.tar.gz.

File metadata

  • Download URL: sner-0.2.12.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sner-0.2.12.tar.gz
Algorithm Hash digest
SHA256 e349cddd1bc26d89e69d8e7e9be7d35a6cf194094948576d39236bbf906f5134
MD5 801cdb33fd644753bdb5bc245084f9b6
BLAKE2b-256 dd122532ca59b722b1573dd9015e831bc553524d9292199b131ea2b730911288

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page