Skip to main content

NLTK-JSON-NLP

(C) 2019 by Damir Cavar, Oren Baldinger, Maanvitha Gongalla, Anurag Kumar, Murali Kammili, Boli Fang

Brought to you by the NLP-Lab.org!

Introduction

NLTK wrapper to JSON-NLP. NLTK has a wide variety of capabilities, but for our purposes we are limiting it to WordNet, VerbNet, and FrameNet. Other packages such as spaCy and Flair are more accurately able to annotate things like part of speech tags and dependency parses. See below for instruction on how to unify outputs from multiple packages.

Microservice

The JSON-NLP repository provides a Microservice class, with a pre-built implementation of [Flask]. To run it, execute:

python nltkjsonnlp/server.py

Since server.py extends the [Flask] app, a WSGI file would contain:

from nltkjsonnlp.server import app as application

Pipeline

JSON-NLP provides a simple Pipeline interface that we implement as NltkPipeline:

pipeline = nltkjsonnlp.NltkPipeline()
print(pipeline.process(text='I am a sentence.'))

Unification

To make the best use of this pipeline, it is best to unify it with a more accurate and complete pipeline such as spaCy-NLP-Json:

class UnifiedPipeline(pyjsonnlp.pipeline.Pipeline):
    def __init__(self):
        super(UnifiedPipeline, self).__init__()
        self.spacy = spacynlpjson.SpacyPipeline()
        self.nltk = nltkjsonnlp.NltkPipeline()

    def process(self, text='', coreferences=True, constituents=False, dependencies=True, expressions=True,
                **kwargs) -> OrderedDict:
        # start with a spacy parse
        spacy_json = self.spacy.process(text, spacy_model='en_core_web_md', constituents=False,
                                        coreferences=coreferences, dependencies=dependencies, expressions=False)
        # the get an nltk parse
        nltk_json = self.nltk.process(text)

        # unify the parses
        return pyjsonnlp.unification.unifier.add_annotation_to_a_from_b(a=spacy_json, 
                                                                        b=nltk_json, annotation='tokens')

Metadata

Release files for nltkjsonnlp 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nltkjsonnlp 0.0.5
File Size Uploaded
nltkjsonnlp-0.0.5.tar.gz 9.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nltkjsonnlp 0.0.5
File Interpreter ABI Platform
nltkjsonnlp-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 24.0 kB

Release files / nltkjsonnlp-0.0.5.tar.gz

Download URL nltkjsonnlp-0.0.5.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a8888bea4ae17184b19ffa76da2ffdc0a4fa813b96cbebba93f8f50bbf71f672
BLAKE2b-256 checksum
How to use checksums
7a654a17dcba62d2f68d264314f0c85414feab81332f017fc8de5067e7d2131e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release files / nltkjsonnlp-0.0.5-py3-none-any.whl

Download URL nltkjsonnlp-0.0.5-py3-none-any.whl
Size 14.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0774dae370e7cd8f86721eaa2d62fef50805d48097478ff885c463a8bdc9712d
BLAKE2b-256 checksum
How to use checksums
e82b524674f0dd723091d8dac66db1a4e70114ef83b4bad4577a7f535b51abf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page