All Projects β†’ vipul-sharma20 β†’ nltk-api-server

vipul-sharma20 / nltk-api-server

Licence: MIT license
API server for NLTK

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to nltk-api-server

Nltk
NLTK Source
Stars: ✭ 10,309 (+44721.74%)
Mutual labels:  nltk
Python Ai Assistant
Python AI assistant 🧠
Stars: ✭ 219 (+852.17%)
Mutual labels:  nltk
Question-Answering-System
A factoid based question answering system | Python | Flask | NLP
Stars: ✭ 0 (-100%)
Mutual labels:  nltk
Practical Machine Learning With Python
Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.
Stars: ✭ 1,868 (+8021.74%)
Mutual labels:  nltk
Tensorflow Ml Nlp
ν…μ„œν”Œλ‘œμš°μ™€ λ¨Έμ‹ λŸ¬λ‹μœΌλ‘œ μ‹œμž‘ν•˜λŠ” μžμ—°μ–΄μ²˜λ¦¬(λ‘œμ§€μŠ€ν‹±νšŒκ·€λΆ€ν„° 트랜슀포머 μ±—λ΄‡κΉŒμ§€)
Stars: ✭ 176 (+665.22%)
Mutual labels:  nltk
Sentiment-analysis-amazon-Products-Reviews
NLP with NLTK for Sentiment analysis amazon Products Reviews
Stars: ✭ 37 (+60.87%)
Mutual labels:  nltk
Orange3 Text
🍊 πŸ“„ Text Mining add-on for Orange3
Stars: ✭ 83 (+260.87%)
Mutual labels:  nltk
udacity-cvnd-projects
My solutions to the projects assigned for the Udacity Computer Vision Nanodegree
Stars: ✭ 36 (+56.52%)
Mutual labels:  nltk
Keras English Resume Parser And Analyzer
keras project that parses and analyze english resumes
Stars: ✭ 192 (+734.78%)
Mutual labels:  nltk
ResumeRise
An NLP tool which classifies and summarizes resumes
Stars: ✭ 29 (+26.09%)
Mutual labels:  nltk
Proctoring Ai
Creating a software for automatic monitoring in online proctoring
Stars: ✭ 155 (+573.91%)
Mutual labels:  nltk
Awesome Text Classification
Awesome-Text-Classification Projects,Papers,Tutorial .
Stars: ✭ 158 (+586.96%)
Mutual labels:  nltk
Semantic-Textual-Similarity
Natural Language Processing using NLTK and Spacy
Stars: ✭ 30 (+30.43%)
Mutual labels:  nltk
Ai Chatbot Framework
A python chatbot framework with Natural Language Understanding and Artificial Intelligence.
Stars: ✭ 1,564 (+6700%)
Mutual labels:  nltk
topic modelling financial news
Topic modelling on financial news with Natural Language Processing
Stars: ✭ 51 (+121.74%)
Mutual labels:  nltk
Punkt Segmenter
Ruby port of the NLTK Punkt sentence segmentation algorithm
Stars: ✭ 88 (+282.61%)
Mutual labels:  nltk
Text Classification
Machine Learning and NLP: Text Classification using python, scikit-learn and NLTK
Stars: ✭ 239 (+939.13%)
Mutual labels:  nltk
Deception-Detection-on-Amazon-reviews-dataset
A SVM model that classifies the reviews as real or fake. Used both the review text and the additional features contained in the data set to build a model that predicted with over 85% accuracy without using any deep learning techniques.
Stars: ✭ 42 (+82.61%)
Mutual labels:  nltk
namebot
A company/project name generator for Python. Uses NLTK and diverse techniques derived from existing corporate etymologies and naming agencies for sophisticated word generation and ideation.
Stars: ✭ 44 (+91.3%)
Mutual labels:  nltk
pygrams
Extracts key terminology (n-grams) from any large collection of documents (>1000) and forecasts emergence
Stars: ✭ 52 (+126.09%)
Mutual labels:  nltk

nltk-api-server

API server for NLTK. Aimed to provide convenient interface to use NLTK over any programming language

Features

  • Stemming
  • Lemmatization
  • Part of Speech Tagging (Unigram/Bigram/Regex)
  • Named Entity Recognition
  • Sentiment Analysis

1. Stemming

NLTK Stemmers used: Porter, Snowball and Lancaster

  • Accepts:

    • /api/stem?words=<words>/

    • /api/stem?words=<words>&stemmer=<porter/snowball/lancaster/default>/

    • /api/stem?words=<words>&stemmer=snowball&language=<language>&ignore_stopwords=<true/false>/

  • Query Parameters:

    • Mandatory:
      • words:

        value: string comma separated

    • Optional:
      • stemmer:

        value: porter/snowball/lancaster/default

        default: snowball

      • ignore_stopwords: Only for Snowball Stemmer

        value: true/false

        default: false

      • language: Only for Snowball Stemmer

        value: see SnowballStemmer.languages

        default: english


1.1 Examples

  • localhost:9000/api/stem?words=dangerous,monitoring,testing

      {
          "status": true,
          "result": [
              "danger",
              "monitor",
              "test"
          ]
      }
    
  • localhost:9000/api/stem/?words=dangerous,monitoring,testing&stemmer=snowball

      {
          "status": true,
          "result": [
              "dog",
              "cat",
              "vertex"
          ]
      }
    
  • The above examples do not cover all cases. See the section above examples for more features


2. Lemmatization

NLTK Lemmatizer used: WordNetLemmatizer

  • Accepts:

    • /api/lemma?words=<words>/
  • Query Parameters:

    • Mandatory:
      • words:

        value: string comma separated


2.1 Examples

  • localhost/api/lemma/?words=dogs,cats,vertices

      {
          "status":true,
          "result": [
              "dog",
              "cat",
              "vertex"
          ]
      }
    

3. Part of Speech Tagging

NLTK POS tagger used: pos_tag, UnigramTagger, BigramTagger & RegexpTagger

  • Accepts:

    • /api/tag?sentence=<sentence>/

    • /api/tag?sentence=<sentence>&tagger=<pos/unigram/bigram/default>/

    • /api/tag?sentence=<sentence>&tagger=<pos/unigram/bigram/default>&train=<categories>/

    including any query parameter accepted by /api/tag/

  • Query Parameters:

    • Mandatory:

      • sentence:

        value: string

    • Optional:

      • tagger:

        value: pos/unigram/bigram/regex

        default: pos_tag

      • train (iff unigram/bigram):

        value: 'news', 'editorial', 'reviews', 'religion', 'learned', 'science_fiction', 'romance', 'humor'

        default: 'news'

      • any query parameter acceptable by /api/tag/


3.1 Examples

  • localhost/api/sentence=this is a test

      {
          "status": true,
          "result": [
              [
                  "this",
                  "DT"
              ],
              [
                  "is",
                  "VBZ"
              ],
              [
                  "a",
                  "DT"
              ],
              [
                  "test",
                  "NN"
              ]
          ]
      }
    
  • localhost/api/sentence=this is a test&tagger=unigram

      {
          "status": true,
          "result": [
              [
                  "this",
                  "DT"
              ],
              [
                  "is",
                  "BEZ"
              ],
              [
                  "a",
                  "AT"
              ],
              [
                  "test",
                  "NN"
              ]
          ]
      }
    
  • The above examples do not cover all cases. See the section above examples for more features

  • Remember, we can also use trained data along with the unigram/bigram tagger: 'news', 'editorial', 'reviews', 'religion', 'learned', 'science_fiction', 'romance', 'humor'


4. Named Entity Recognition

NLTK NER used: ne_chunk

  • Accepts:

    • /api/ner?sentence=<sentence>/

    including any query parameter accepted by /api/tag/

  • Query Parameters:

    • Mandatory:
      • sentence:

        value: string

      • Optional:

        • any query parameter acceptable by /api/tag/

4.1 Examples

  • localhost/api/ner?sentence=At the Olympics in August, Phelps picked up five gold medal

      {
          "status": true,
          "result": [
              "Phelps"
          ]
      }
    

5. Sentiment Analysis

NLTK Sentiment Analyzer used: vader

  • Accepts:

    • /api/sentiment?sentence=<sentence>/
  • Query Parameters:

    • Mandatory:

      • sentence:

        value: string

    • Optional:

      • any query parameter acceptable by /api/tag/

5.1 Examples

  • localhost/api/sentiment?sentence=At the Olympics in August, Phelps picked up five gold medal

      {
          "status": true,
          "result": {
              "neg": 0,
              "neu": 0.256,
              "pos": 0.744,
              "compound": 0.4404
          }
      }
    

6. Run on local

  • git clone [email protected]:vipul-sharma20/nltk-api-server.git
  • cd nltk-api-server
  • sudo pip install virtualenv
  • virtualenv nltk-api
  • source nltk-api/bin/activate
  • pip install -r requirements.txt (wait till the requirements are installed)
  • python manage.py runserver This will run the application on http://127.0.0.1:8000/

IMPORTANT: You will require some corpora and trained models for the code to run. You can refer to: http://www.nltk.org/data.html

  • Interactive Method:

      In [1]: import nltk
    
      In [2]: nltk.download()
    
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].