John Snow Labs NLU provides state of the art algorithms for NLP&NLU with hundreds of pretrained models in 60+ languages. It enables swift and simple development and research with its powerful Pythonic and Keras inspired API. It is powerd by John Snow Labs powerful Spark NLP library.
Project description
NLU: The Power of Spark NLP, the Simplicity of Python
John Snow Labs' NLU is a Python library for applying state-of-the-art text mining, directly on any dataframe, with a single line of code. As a facade of the award-winning Spark NLP library, it comes with hundreds of pretrained models in tens of languages - all production-grade, scalable, and trainable.
Project's Website
Take a look at our official Spark NLU page: https://nlu.johnsnowlabs.com/ for user documentation and examples
NLU in action
Features
- Tokenization
- Trainable Word Segmentation
- Stop Words Removal
- Token Normalizer
- Document Normalizer
- Stemmer
- Lemmatizer
- NGrams
- Regex Matching
- Text Matching
- Chunking
- Date Matcher
- Sentence Detector
- Deep Sentence Detector (Deep learning)
- Dependency parsing (Labeled/unlabeled)
- Part-of-speech tagging
- Sentiment Detection (ML models)
- Spell Checker (ML and DL models)
- Word Embeddings (GloVe and Word2Vec)
- BERT Embeddings (TF Hub models)
- ELMO Embeddings (TF Hub models)
- ALBERT Embeddings (TF Hub models)
- XLNet Embeddings
- Universal Sentence Encoder (TF Hub models)
- BERT Sentence Embeddings (42 TF Hub models)
- Sentence Embeddings
- Chunk Embeddings
- Unsupervised keywords extraction
- Language Detection & Identification (up to 375 languages)
- Multi-class Sentiment analysis (Deep learning)
- Multi-label Sentiment analysis (Deep learning)
- Multi-class Text Classification (Deep learning)
- Neural Machine Translation
- Text-To-Text Transfer Transformer (Google T5)
- Named entity recognition (Deep learning)
- Easy TensorFlow integration
- GPU Support
- Full integration with Spark ML functions
- +710 pre-trained models in +192 languages!
- +450 pre-trained pipelines in +192 languages!
- Multi-lingual NER models: Arabic, Chinese, Danish, Dutch, English, Finnish, French, German, Hewbrew, Italian, Japanese, Korean, Norwegian, Persian, Polish, Portuguese, Russian, Spanish, Swedish, and Urdu.
Getting Started with NLU
To get your hands on the power of NLU, you just need to install it via pip and ensure Java 8 is installed and properly configured. Checkout Quickstart for more infos
pip install nlu pyspark==2.4.7
Loading and predict with any model in 1 line python
import nlu
nlu.load('sentiment').predict('I love NLU! <3')
Loading and predict with multiple models in 1 line
Get 6 different embeddings in 1 line and use them for downstream data science tasks!
nlu.load('bert elmo albert xlnet glove use').predict('I love NLU! <3')
What kind of models does NLU provide?
NLU provides everything a data scientist might want to wish for in one line of code!
- NLU provides everything a data scientist might want to wish for in one line of code!
- 1000 + pre-trained models
- 100+ of the latest NLP word embeddings ( BERT, ELMO, ALBERT, XLNET, GLOVE, BIOBERT, ELECTRA, COVIDBERT) and different variations of them
- 50+ of the latest NLP sentence embeddings ( BERT, ELECTRA, USE) and different variations of them
- 100+ Classifiers (NER, POS, Emotion, Sarcasm, Questions, Spam)
- 300+ Supported Languages
- Summarize Text and Answer Questions with T5
- Labeled and Unlabeled Dependency parsing
- Various Text Cleaning and Pre-Processing methods like Stemming, Lemmatizing, Normalizing, Filtering, Cleaning pipelines and more
Classifiers trained on many different different datasets
Choose the right tool for the right task! Whether you analyze movies or twitter, NLU has the right model for you!
- trec6 classifier
- trec10 classifier
- spam classifier
- fake news classifier
- emotion classifier
- cyberbullying classifier
- sarcasm classifier
- sentiment classifier for movies
- IMDB Movie Sentiment classifier
- Twitter sentiment classifier
- NER pretrained on ONTO notes
- NER trainer on CONLL
- Language classifier for 20 languages on the wiki 20 lang dataset.
Utilities for the Data Science NLU applications
Working with text data can sometimes be quite a dirty Job. NLU helps you keep your hands clean by providing lots of components that take away data engineering intensive tasks.
- Datetime Matcher
- Pattern Matcher
- Chunk Matcher
- Phrases Matcher
- Stopword Cleaners
- Pattern Cleaners
- Slang Cleaner
Where can I see NLUs entire offer?
Checkout the NLU Namespace for everything that NLU has to offer!
Supported Data Types
- Pandas DataFrame and Series
- Spark DataFrames
- Modin with Ray backend
- Modin with Dask backend
- Numpy arrays
- Strings and lists of strings
Checkout the following notebooks for examples on how to work with NLU.
NLU Demos on Datasets
- Kaggle Twitter Airline Sentiment Analysis NLU demo
- Kaggle Twitter Airline Emotion Analysis NLU demo
- Kaggle Twitter COVID Sentiment Analysis NLU demo
- Kaggle Twitter COVID Emotion Analysis nlu demo
NLU component examples
Checkout the following notebooks for examples on how to work with NLU.
NLU Training Examples
Binary Class Text Classification training
- 2 class Finance News sentiment classifier training
- 2 class Reddit comment sentiment classifier training
- 2 class Apple Tweets sentiment classifier training
- 2 class IMDB Movie sentiment classifier training
- 2 class twitter classifier training
Multi Class Text Classification training
- 5 class WineEnthusiast Wine review classifier training
- 3 class Amazon Phone review classifier training
- 5 class Amazon Musical Instruments review classifier training
- 5 class Tripadvisor Hotel review classifier training
- 5 class Phone review classifier training
Multi Label Text Classification training
- Train Multi Label Classifier on E2E dataset Demo
- Train Multi Label Classifier on Stack Overflow Question Tags dataset Demo
Named Entity Recognition training (NER)
Part of Speech tagger training (POS)
NLU Applications Examples
- Sentence Similarity with Multiple Sentence Embeddings
- 6 Wordembeddings in 1 line with T-SNE plotting
NLU Demos on Datasets
- Kaggle Twitter Airline Sentiment Analysis NLU demo
- Kaggle Twitter Airline Emotion Analysis NLU demo
- Kaggle Twitter COVID Sentiment Analysis NLU demo
- Kaggle Twitter COVID Emotion Analysis nlu demo
NLU examples grouped by component
The following are Collab examples which showcase each NLU component and some applications.
Named Entity Recognition (NER)
- NER pretrained on ONTO Notes
- NER pretrained on CONLL
- Tokenize, extract POS and NER in Chinese
- Tokenize, extract POS and NER in Korean
- Tokenize, extract POS and NER in Japanese
- Aspect based sentiment NER sentiment for restaurants
Part of speech (POS)
- POS pretrained on ANC dataset
- Tokenize, extract POS and NER in Chinese
- Tokenize, extract POS and NER in Korean
- Tokenize, extract POS and NER in Japanese
Sequence2Sequence
- Translate between 192+ languages with marian
- Try out the 18 Tasks like Summarization Question Answering and more on T5
- T5 Open and Closed Book question answering tutorial
Classifiers
- Unsupervised Keyword Extraction with YAKE
- Toxic Text Classifier
- Twitter Sentiment Classifier
- Movie Review Sentiment Classifier
- Sarcasm Classifier
- 50 Class Questions Classifier
- 300 Class Languages Classifier
- Fake News Classifier
- E2E Classifier
- Cyberbullying Classifier
- Spam Classifier
- Emotion Classifier
Word Embeddings
- BERT, ALBERT, ELMO, ELECTRA, XLNET, GLOVE at once with t-SNE plotting
- BERT Word Embeddings and t-SNE plotting
- ALBERT Word Embeddings and t-SNE plotting
- ELMO Word Embeddings and t-SNE plotting
- XLNET Word Embeddings and t-SNE plotting
- ELECTRA Word Embeddings and t-SNE plotting
- COVIDBERT Word Embeddings and t-SNE plotting
- BIOBERT Word Embeddings and t-SNE plotting
- GLOVE Word Embeddings and t-SNE plotting
Sentence Embeddings
- BERT Sentence Embeddings and t-SNE plotting
- ELECTRA Sentence Embeddings and t-SNE plotting
- USE Sentence Embeddings and t-SNE plotting
Sentence Embeddings
- BERT Sentence Embeddings and t-SNE plotting
- ELECTRA Sentence Embeddings and t-SNE plotting
- USE Sentence Embeddings and t-SNE plotting
Dependency Parsing
Text Pre Processing and Cleaning
- Tokenization
- Stopwords removal
- Stemming
- Lemmatization
- Normalizing
- Spell checking
- Sentence Detecting
- Normalize documents
Chunkers
Matchers
Need help?
Simple NLU Demos
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nlu_spark23-1.1.1rc2.tar.gz
.
File metadata
- Download URL: nlu_spark23-1.1.1rc2.tar.gz
- Upload date:
- Size: 87.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ec162c7cace41c519dc689528fdf1d37380894f140b9937338d386a69247231 |
|
MD5 | d9b6babbcc4c4d8dc004410dcf0d0786 |
|
BLAKE2b-256 | c74a09bb3deb374a2fa4515df9a64648551af38dec359ae6eb57b1f0b3a43e62 |
File details
Details for the file nlu_spark23-1.1.1rc2-py3-none-any.whl
.
File metadata
- Download URL: nlu_spark23-1.1.1rc2-py3-none-any.whl
- Upload date:
- Size: 157.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07eba4fcca7241eae09d61caffa15b7d41a035dbca507a03287b146f96dca03e |
|
MD5 | fcc880e54cd33ab05b1cfd7af419a3d0 |
|
BLAKE2b-256 | a78c02c0c0f080d3d286abebb54a7d216161759cb428c418c8a28bf24acfe5c3 |