# 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 **1000+** of pretrained models in **100+**, all production-grade, scalable, and trainable, with **everything in 1 line of code.**

## NLU in Action
See how easy it is to use any of the **thousands** of models in 1 line of code, there are hundreds of [tutorials](https://nlu.johnsnowlabs.com/docs/en/notebooks) and [simple examples](https://github.com/JohnSnowLabs/nlu/tree/master/examples) you can copy and paste into your projects to achieve State Of The Art easily.

## NLU & Streamlit in Action
This 1 line let's you visualize and play with **1000+ SOTA NLU & NLP models** in **200** languages

```shell
streamlit run https://raw.githubusercontent.com/JohnSnowLabs/nlu/master/examples/streamlit/01_dashboard.py
```

NLU provides tight and simple integration into Streamlit, which enables building powerful webapps in just 1 line of code which showcase the.
View the [NLU&Streamlit documentation](https://nlu.johnsnowlabs.com/docs/en/streamlit_viz_examples) or [NLU & Streamlit examples section](https://github.com/JohnSnowLabs/nlu/tree/master/examples/streamlit).
The entire GIF demo and

## All NLU resources overview
Take a look at our official NLU page: [https://nlu.johnsnowlabs.com/](https://nlu.johnsnowlabs.com/)  for user documentation and examples

| Ressource                                                                  |                                Description|
|-----------------------------------------------------------------------|-------------------------------------------|
| [Install NLU](https://nlu.johnsnowlabs.com/docs/en/install)                                                           | Just run `pip install nlu pyspark==3.0.2`
| [The NLU Namespace](https://nlu.johnsnowlabs.com/docs/en/namespace)                                                     | Find all the names of models you can load with `nlu.load()`
| [The `nlu.load(<Model>)` function](https://nlu.johnsnowlabs.com/docs/en/load_api)                                                   | Load any of the **1000+ models in 1 line**
| [The `nlu.load(<Model>).predict(data)`  function](https://nlu.johnsnowlabs.com/docs/en/predict_api)                                    | Predict on  `Strings`, `List of Strings`, `Numpy Arrays`, `Pandas`, `Modin` and  `Spark Dataframes`
| [The `nlu.load(<train.Model>).fit(data)`  function](https://nlu.johnsnowlabs.com/docs/en/training)                                  | Train a text classifier for  `2-Class`, `N-Classes` `Multi-N-Classes`, `Named-Entitiy-Recognition` or `Parts of Speech Tagging`
| [The `nlu.load(<Model>).viz(data)`  function](https://nlu.johnsnowlabs.com/docs/en/viz_examples)                                        | Visualize the results of `Word Embedding Similarity Matrix`, `Named Entity Recognizers`, `Dependency Trees & Parts of Speech`, `Entity Resolution`,`Entity Linking` or `Entity Status Assertion`
| [The `nlu.load(<Model>).viz_streamlit(data)`  function](https://nlu.johnsnowlabs.com/docs/en/streamlit_viz_examples)                              | Display an interactive GUI which lets you explore and test every model and feature in NLU in 1 click.
| [General Concepts](https://nlu.johnsnowlabs.com/docs/en/concepts)                          | General concepts in NLU
| [The latest release notes](https://nlu.johnsnowlabs.com/docs/en/release_notes)                                              | Newest features added to NLU
| [Overview NLU 1-liners examples](https://nlu.johnsnowlabs.com/docs/en/examples)                                        | Most common used models and their results
| [Overview NLU 1-liners examples for healthcare models](https://nlu.johnsnowlabs.com/docs/en/examples_hc)                  | Most common used healthcare models and their results
| [Overview of all NLU tutorials and Examples](https://nlu.johnsnowlabs.com/docs/en/notebooks)                            | 100+ tutorials on how to use NLU on text datasets for various problems and from various sources like Twitter, Chinese News, Crypto News Headlines, Airline Traffic communication, Product review classifier training,
| [Connect with us on Slack](https://join.slack.com/t/spark-nlp/shared_invite/zt-lutct9gm-kuUazcyFKhuGY3_0AMkxqA)                                              | Problems, questions or suggestions? We have a  very active and helpful community of over 2000+ AI enthusiasts putting NLU, Spark NLP & Spark OCR to good use
| [Discussion Forum](https://github.com/JohnSnowLabs/spark-nlp/discussions)                                                      | More indepth discussion with the community? Post a thread in our discussion Forum
| [John Snow Labs Medium](https://medium.com/spark-nlp)                                                 | Articles and Tutorials on the NLU, Spark NLP and Spark OCR
| [John Snow Labs Youtube](https://www.youtube.com/channel/UCmFOjlpYEhxf_wJUDuz6xxQ/videos)                                                | Videos and Tutorials on the NLU, Spark NLP and Spark OCR
| [NLU Website](https://nlu.johnsnowlabs.com/)                          | The official NLU website
|[Github Issues](https://github.com/JohnSnowLabs/nlu/issues)           | Report a bug

## 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](https://nlu.johnsnowlabs.com/docs/en/install)
```bash
pip install nlu pyspark==3.0.2
```

## Loading and predicting with any model in 1 line python
```python
import nlu
nlu.load('sentiment').predict('I love NLU! <3')
```

## Loading and predicting with multiple models in 1 line

Get 6 different embeddings in 1 line and use them for downstream data science tasks!

```python
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 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 components that take away from data engineering intensive tasks.

- Datetime Matcher
- Pattern Matcher
- Chunk Matcher
- Phrases Matcher
- Stopword Cleaners
- Pattern Cleaners
- Slang Cleaner

## Where can I see all models available in NLU?
For NLU models to load, see [the NLU Namespace](https://nlu.johnsnowlabs.com/docs/en/namespace) or the [John Snow Labs Modelshub](https://modelshub.johnsnowlabs.com/models)  or go [straight to the source](https://github.com/JohnSnowLabs/nlu/blob/master/nlu/namespace.py).

## Supported Data Types
- Pandas DataFrame and Series
- Spark DataFrames
- Modin with Ray backend
- Modin with Dask backend
- Numpy arrays
- Strings and lists of strings

## Overview of all tutorials using the NLU-Library

In the following tabular, all available tutorials using NLU are listed. These tutorials will help you learn the
usage of the NLU library and on how to use it for your own tasks. Some of the tasks NLU does are
translating from any language to the english language, lemmatizing, tokenizing, cleaning text from
Symbol or unwanted syntax, spellchecking, detecting entities, analyzing sentiments and many more!

{:.table2}

|          Tutorial Description                                                                       |   NLU Spells Used                                                                                |Open In Colab                                                                                | Dataset and Paper References                                                                                |
|-----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Albert Word Embeddings with NLU                                                                     | `albert`, `sentiment pos albert emotion`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_ALBERT_word_embeddings_and_t-SNE_visualization_example.ipynb)                              | [Albert-Paper](https://arxiv.org/pdf/1909.11942.pdf),  [Albert on Github](https://github.com/google-research/ALBERT), [Albert on TensorFlow](https://tfhub.dev/s?q=albert), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-Albert](https://medium.com/spark-nlp/1-line-to-albert-word-embeddings-with-nlu-in-python-1691bc048ed1), [Albert_Embedding](https://nlp.johnsnowlabs.com/2021/06/23/albert_base_uncased_en.html)                                                                                |
| Bert Word Embeddings with NLU                                                                       | `bert`, `pos sentiment emotion bert`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_BERT_word_embeddings_and_t-SNE_visualization_example.ipynb)                                | [Bert-Paper](https://arxiv.org/abs/1810.04805), [Bert Github](https://github.com/google-research/bert), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-Bert](https://medium.com/spark-nlp/1-line-to-bert-word-embeddings-with-nlu-f50d2b08cddc), [Bert_Embedding](https://nlp.johnsnowlabs.com/2020/08/25/sent_small_bert_L2_128.html)                                                                                |
| BIOBERT Word Embeddings with NLU                                                                    | `biobert` , `sentiment pos biobert emotion`                                                                               |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_BIOBERT_word_embeddings_and_t-SNE_visualization_example.ipynb)                             | [BioBert-Paper](https://arxiv.org/abs/1901.08746), [Bert Github](https://github.com/google-research/bert) , [BERT: Deep Bidirectional Transformers](https://arxiv.org/abs/1810.04805), [Bert Github](https://github.com/google-research/bert), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-Biobert](https://medium.com/spark-nlp/1-line-to-biobert-word-embeddings-with-nlu-in-python-7224ab52e131), [Biobert_Embedding](https://nlp.johnsnowlabs.com/2020/08/25/biobert_pubmed_base_cased.html)       |
| COVIDBERT Word Embeddings with NLU                                                                  | `covidbert`, `sentiment covidbert pos`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_COVIDBERT_word_embeddings_and_t-SNE_visualization_example.ipynb)                           | [CovidBert-Paper](https://journals.flvc.org/FLAIRS/article/view/128488), [Bert Github](https://github.com/google-research/bert), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-CovidBert](https://medium.com/spark-nlp/1-line-to-covidbert-word-embeddings-with-nlu-in-python-e67396da2f78), [Covidbert_Embedding](https://nlp.johnsnowlabs.com/2020/08/27/covidbert_large_uncased.html)                                                                                |
| ELECTRA Word Embeddings with NLU                                                                    | `electra`, `sentiment pos  en.embed.electra emotion`                                                                      |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_ELECTRA_word_embeddings_and_t-SNE_visualization_example.ipynb)                             | [Electra-Paper](https://arxiv.org/abs/2003.10555), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-Electra](https://medium.com/spark-nlp/1-line-to-electra-word-embeddings-with-nlu-in-python-25f749bf3e92), [Electra_Embedding](https://nlp.johnsnowlabs.com/2020/08/27/electra_small_uncased.html)                                                                                |
| ELMO Word Embeddings with NLU                                                                       | `elmo`, `sentiment pos elmo emotion`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_ELMo_word_embeddings_and_t-SNE_visualization_example.ipynb)                                | [ELMO-Paper](https://arxiv.org/abs/1802.05365), [Elmo-TensorFlow](https://github.com/google-research/bert), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-Elmo](https://medium.com/spark-nlp/1-python-line-for-elmo-word-embeddings-with-john-snow-labs-nlu-628e9b924a3), [Elmo-Embedding](https://nlp.johnsnowlabs.com/2020/01/31/elmo.html)                                                                                |
| GLOVE Word Embeddings with NLU                                                                      | `glove`, `sentiment pos glove emotion`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_GLOVE_word_embeddings_and_t-SNE_visualization_example.ipynb)                               | [Glove-Paper](https://nlp.stanford.edu/pubs/glove.pdf), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-Glove](https://medium.com/spark-nlp/1-line-to-glove-word-embeddings-with-nlu-in-python-baed152fff4d) , [Glove_Embedding](https://nlp.johnsnowlabs.com/2020/01/22/glove_100d.html)                                                                                |
| XLNET Word Embeddings with NLU                                                                      | `xlnet`, `sentiment pos  xlnet emotion`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_XLNET_word_embeddings_and_t-SNE_visualization_example.ipynb)                               | [XLNet-Paper](https://arxiv.org/abs/1906.08237),  [Bert Github](https://github.com/zihangdai/xlnet), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-XLNet](https://medium.com/spark-nlp/1-line-to-xlnet-word-embeddings-with-nlu-in-python-5efc57d7ac79), [Xlnet_Embedding](https://nlp.johnsnowlabs.com/2021/07/07/xlnet_base_cased_en.html)                                                                                |
| Multiple Word-Embeddings and Part of Speech in 1 Line of code                                       | `bert electra elmo glove xlnet albert pos`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/word_embeddings/NLU_multiple_word_embeddings_and_t-SNE_visualization_example.ipynb)                            | [Bert-Paper](https://arxiv.org/pdf/1810.04805.pdf), [Albert-Paper](https://openreview.net/forum?id=H1eA7AEtvS), [ELMO-Paper](https://arxiv.org/abs/1802.05365), [Electra-Paper](https://arxiv.org/abs/2003.10555), [XLNet-Paper](https://arxiv.org/pdf/1906.08237.pdf), [Glove-Paper](https://nlp.stanford.edu/pubs/glove.pdf)                                                                                |
| Normalzing with NLU                                                                                | `norm`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/text_pre_processing_and_cleaning/NLU_normalizer_example.ipynb)                                                 |    -                                                                                |
| Detect sentences with NLU                                                                           | `sentence_detector.deep`, `sentence_detector.pragmatic`, `xx.sentence_detector`                                           |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/text_pre_processing_and_cleaning/NLU_sentence_detection_example.ipynb)                                         | [Sentence Detector](https://nlp.johnsnowlabs.com/2020/09/13/sentence_detector_dl_en.html)                                                                                |
| Spellchecking with NLU                                                                              |   n.a.                                                                                | n.a.                                                                                |    -                                                                                |
| Stemming with NLU                                                                                |  `en.stem`, `de.stem`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/text_pre_processing_and_cleaning/NLU_stemmer_example.ipynb)                                                    |    -                                                                                |
| Stopwords removal with NLU                                                                          |  `stopwords`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/text_pre_processing_and_cleaning/NLU_stopwords_removal_example.ipynb)                                          | [Stopwords](https://nlp.johnsnowlabs.com/2020/07/14/stopwords_en.html)                                                                                |
| Tokenization with NLU                                                                               |  `tokenize`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/text_pre_processing_and_cleaning/NLU_tokenization_example.ipynb)                                               |    -                                                                                |
| Normalization of Documents                                                                          |  `norm_document`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/text_pre_processing_and_cleaning/document_normalizer_demo.ipynb)                                               |    -                                                                                |
| Open and Closed book question answering with Google's T5                                            |  `en.t5` , `answer_question`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sequence2sequence/T5_question_answering.ipynb)                                                                 |  [T5-Paper](https://arxiv.org/pdf/1910.10683.pdf), [T5-Model](https://nlp.johnsnowlabs.com/2021/01/08/t5_base_en.html)                                                                                |
| Overview of every task available with T5                                                            |  `en.t5.base`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sequence2sequence/T5_tasks_summarize_question_answering_and_more.ipynb)                                        |  [T5-Paper](https://arxiv.org/pdf/1910.10683.pdf), [T5-Model](https://nlp.johnsnowlabs.com/2021/01/08/t5_base_en.html)                                                                                |
| Translate between more than 200 Languages in 1 line of code with Marian Models                      |  `tr.translate_to.fr`, `en.translate_to.fr` ,`fr.translate_to.he` , `en.translate_to.de`                                  |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sequence2sequence/translation_demo.ipynb)                                                                      |  [Marian-Papers](https://marian-nmt.github.io/publications/), [Translation-Pipeline (En to Fr)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_fr_xx.html), [Translation-Pipeline (En to Ger)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_de_xx.html)                                                                                |
| BERT Sentence Embeddings with NLU                                                                   |  `embed_sentence.bert`, `pos sentiment embed_sentence.bert`                                                               |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sentence_embeddings/NLU_BERT_sentence_embeddings_and_t-SNE_visualization_Example.ipynb)                        |  [Bert-Paper](https://arxiv.org/abs/1810.04805),  [Bert Github](https://github.com/google-research/bert), [Bert-Sentence_Embedding](https://nlp.johnsnowlabs.com/2020/08/25/sent_small_bert_L2_128.html)                                                                                |
| ELECTRA Sentence Embeddings with NLU                                                                |  `embed_sentence.electra`, `pos sentiment embed_sentence.electra`                                                         |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sentence_embeddings/NLU_ELECTRA_sentence_embeddings_and_t-SNE_visualization_example.ipynb)                     |  [Electra Paper](https://arxiv.org/abs/2003.10555), [Sentence-Electra-Embedding](https://nlp.johnsnowlabs.com/2020/08/27/sent_electra_small_uncased.html)                                                                                |
| USE Sentence Embeddings with NLU                                                                    |  `use`, `pos sentiment use emotion`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sentence_embeddings/NLU_USE_sentence_embeddings_and_t-SNE_visualization_example.ipynb)                         |  [Universal Sentence Encoder](https://arxiv.org/abs/1803.11175), [USE-TensorFlow](https://tfhub.dev/google/universal-sentence-encoder/2), [Sentence-USE-Embedding](https://nlp.johnsnowlabs.com/2020/04/17/tfhub_use_lg.html)                                                                                |
| Sentence similarity with NLU using BERT embeddings                                                  |  `embed_sentence.bert`, `use en.embed_sentence.electra embed_sentence.bert`                                               |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sentence_embeddings/sentence_similarirty_stack_overflow_questions.ipynb)                                       |  [Bert-Paper](https://arxiv.org/abs/1810.04805),  [Bert Github](https://github.com/google-research/bert), [Bert-Sentence_Embedding](https://nlp.johnsnowlabs.com/2020/08/25/sent_small_bert_L2_128.html)                                                                                |
| Part of Speech tagging with NLU                                                                     |  `pos`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Murat-Karadag/nlu/blob/tutorial_docs/examples/colab/component_examples/part_of_speechPOS/NLU_part_of_speech_ANC_example.ipynb)                                                | [Part of Speech](https://nlp.johnsnowlabs.com/2021/03/05/pos_anc.html)                                                                                |
| NER Aspect Airline ATIS                                                                             |  `en.ner.aspect.airline`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Murat-Karadag/nlu/blob/tutorial_docs/examples/colab/component_examples/named_entity_recognition_NER/NER_aspect_airline_ATIS.ipynb)                                            | [NER Airline Model](https://nlp.johnsnowlabs.com/2021/01/25/nerdl_atis_840b_300d_en.html), [Atis intent Dataset](https://www.kaggle.com/hassanamin/atis-airlinetravelinformationsystem)                                                                                |
| NLU-NER_CONLL_2003_5class_example                                                                   |  `ner`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Murat-Karadag/nlu/blob/tutorial_docs/examples/colab/component_examples/named_entity_recognition_NER/NLU_ner_CONLL_2003_5class_example.ipynb)                                  | [NER-Piple](https://nlp.johnsnowlabs.com/2021/03/22/onto_recognize_entities_sm_en.html)                                                                                |
| Named-entity recognition with Deep Learning ONTO NOTES                                              |  `ner.onto`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Murat-Karadag/nlu/blob/tutorial_docs/examples/colab/component_examples/named_entity_recognition_NER/NLU_ner_ONTO_18class_example.ipynb)                                       | [NER_Onto](https://nlp.johnsnowlabs.com/2021/03/22/onto_recognize_entities_sm_en.html)                                                                                |
| Aspect based NER-Sentiment-Restaurants                                                              |  `en.ner.aspect_sentiment`                                                                                |[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Murat-Karadag/nlu/blob/tutorial_docs/examples/colab/component_examples/named_entity_recognition_NER/aspect_based_ner_sentiment_restaurants.ipynb)                             |        -                                                                                |
| Detect Named Entities (NER), Part of Speech Tags (POS) and Tokenize in Chinese                      |  `zh.segment_words`, `zh.pos`, `zh.ner`, `zh.translate_to.en`                                                             | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/multilingual/chinese_ner_pos_and_tokenization.ipynb)                                                          | [Translation-Pipeline (Zh to En)](https://nlp.johnsnowlabs.com/2021/06/04/translate_zh_en_xx.html)                                                                                |
| Detect Named Entities (NER), Part of Speech Tags (POS) and Tokenize in Japanese                     |  `ja.segment_words`, `ja.pos`, `ja.ner`, `ja.translate_to.en`                                                             | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/multilingual/japanese_ner_pos_and_tokenization.ipynb)                                                         | [Translation-Pipeline (Ja to En)](https://nlp.johnsnowlabs.com/2021/06/04/translate_ja_en_xx.html)                                                                                |
| Detect Named Entities (NER), Part of Speech Tags (POS) and Tokenize in Korean                       |  `ko.segment_words`, `ko.pos`, `ko.ner.kmou.glove_840B_300d`, `ko.translate_to.en`                                        | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Murat-Karadag/nlu/blob/master/examples/colab/component_examples/multilingual/korean_ner_pos_and_tokenization.ipynb)                                                          |        -                                                                                |
| Date Matching                                                                                |  `match.datetime`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/matchers/NLU_date_matching.ipynb)                                                                             |        -                                                                                |
| Typed Dependency Parsing with NLU                                                                   |  `dep`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/dependency_parsing/NLU_typed_dependency_parsing_example.ipynb)                                                | [Dependency Parsing ](https://nlp.johnsnowlabs.com/2021/03/27/Typed_Dependency_Parsing_en.html)                                                                                |
| Untyped Dependency Parsing with NLU                                                                 |  `dep.untyped`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/dependency_parsing/NLU_untyped_dependency_parsing_example.ipynb)                                              |        -                                                                                |
| E2E Classification with NLU                                                                         |  `e2e`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/E2E_classification.ipynb)                                                                         | [e2e-Model](https://nlp.johnsnowlabs.com/2021/01/21/multiclassifierdl_use_e2e_en.html)                                                                                |
| Language Classification with NLU                                                                    |  `lang`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/NLU_language_classification.ipynb)                                                                |        -                                                                                |
| Cyberbullying Classification with NLU                                                               |  `classify.cyberbullying`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/cyberbullying_cassification_for_racism_and_sexism.ipynb)                                          | [Cyberbullying-Classifier](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_cyberbullying_en.html)                                                                                |
| Sentiment Classification with NLU for Twitter                                                       |  `emotion`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/emotion_classification.ipynb)                                                                     | [Emotion detection](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_emotion_en.html)                                                                                |
| Fake News Classification with NLU                                                                   |  `en.classify.fakenews`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/fake_news_classification.ipynb)                                                                   | [Fakenews-Classifier](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_fakenews_en.html)                                                                                |
| Intent Classification with NLU                                                                      |  `en.classify.intent.airline`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/intent_classification_airlines_ATIS.ipynb)                                                        | [Airline-Intention classifier](https://nlp.johnsnowlabs.com/2021/01/25/classifierdl_use_atis_en.html), [Atis-Dataset](https://www.kaggle.com/hassanamin/atis-airlinetravelinformationsystem?select=atis_intents.csv)                                                                                |
| Question classification based on the TREC dataset                                                   |  `en.classify.questions`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/question_classification.ipynb)                                                                    | [Question-Classifier](https://nlp.johnsnowlabs.com/2021/01/08/classifierdl_use_trec50_en.html)                                                                                |
| Sarcasm Classification with NLU                                                                     |  `en.classify.sarcasm`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/sarcasm_classification.ipynb)                                                                     | [Sarcasm-Classifier](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_sarcasm_en.html)                                                                                |
| Sentiment Classification with NLU for Twitter                                                       |  `en.sentiment.twitter`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/sentiment_classification.ipynb)                                                                   | [Sentiment_Twitter-Classifier](https://nlp.johnsnowlabs.com/2021/01/18/sentimentdl_use_twitter_en.html)                                                                                |
| Sentiment Classification with NLU for Movies                                                        |  `en.sentiment.imdb`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/sentiment_classification_movies.ipynb)                                                            | [Sentiment_imdb-Classifier](https://nlp.johnsnowlabs.com/2021/01/15/analyze_sentimentdl_use_imdb_en.html)                                                                                |
| Spam Classification with NLU                                                                        |  `en.classify.spam`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/spam_classification.ipynb)                                                                        | [Spam-Classifier](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_spam_en.html)                                                                                |
| Toxic text classification with NLU                                                                  |  `en.classify.toxic`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/toxic_classification.ipynb)                                                                       | [Toxic-Classifier](https://nlp.johnsnowlabs.com/2021/01/21/multiclassifierdl_use_toxic_en.html)                                                                                |
| Unsupervised keyword extraction with NLU using the YAKE algorithm                                   |  `yake`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/classifiers/unsupervised_keyword_extraction_with_YAKE.ipynb)                                                  |        -                                                                                |
| Grammatical Chunk Matching with NLU                                                                 |  `match.chunks`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/chunkers/NLU_chunking_example.ipynb)                                                                          |        -                                                                                |
| Getting n-Grams with NLU                                                                            |  `ngram`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/chunkers/NLU_n-gram.ipynb)                                                                                |        -                                                                                |
| Assertion                                                                                |  `en.med_ner.clinical en.assert`, `en.med_ner.clinical.biobert en.assert.biobert`, ...                                    | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/healthcare/assertion/assertion_overview.ipynb)                                                                                | [Healthcare-NER](https://nlp.johnsnowlabs.com/2021/01/27/ner_clinical_en.html), [NER_Clinical-Classifier]( https://nlp.johnsnowlabs.com/2021/11/03/ner_profiling_biobert_en.html), [Toxic-Classifier](https://nlp.johnsnowlabs.com/2021/01/26/assertion_dl_biobert_en.html)                                                                                |
| De-Identification Model overview                                                                    |  `med_ner.jsl.wip.clinical en.de_identify`, `med_ner.jsl.wip.clinical en.de_identify.clinical`, ...                       | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/healthcare/de_identification/DeIdentification_model_overview.ipynb)                                                              | [NER-Clinical](https://nlp.johnsnowlabs.com/2021/11/03/ner_profiling_clinical_en.html)                                                                                |
| Drug Normalization                                                                                |  `norm_drugs`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/healthcare//drug_normalization/drug_norm.ipynb)                                                                                |        -                                                                                |
| Entity Resolution                                                                                |  `med_ner.jsl.wip.clinical en.resolve_chunk.cpt_clinical`, `med_ner.jsl.wip.clinical en.resolve.icd10cm`, ...             | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/healthcare/entity_resolution/entity_resolvers_overview.ipynb)                                                                    | [NER-Clinical](https://nlp.johnsnowlabs.com/2021/11/03/ner_profiling_clinical_en.html), [Entity-Resolver clinical](https://nlp.johnsnowlabs.com/2021/11/01/sbiobertresolve_icd10cm_augmented_billable_hcc_en.html)                                                                                |
| Medical Named Entity Recognition                                                                    |  `en.med_ner.ade.clinical`, `en.med_ner.ade.clinical_bert`, `en.med_ner.anatomy`,`en.med_ner.anatomy.biobert`,  ...       | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/healthcare/medical_named_entity_recognition/overview_medical_entity_recognizers.ipynb)                                           |        -                                                                                |
| Relation Extraction                                                                                |  `en.med_ner.jsl.wip.clinical.greedy en.relation`, `en.med_ner.jsl.wip.clinical.greedy en.relation.bodypart.problem`, ... | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/healthcare/relation_extraction/overview_relation.ipynb)                                                                          |        -                                                                                |
| Visualization of NLP-Models with Spark-NLP and NLU                                                  |  `ner`, `dep.typed`, `med_ner.jsl.wip.clinical resolve_chunk.rxnorm.in`, `med_ner.jsl.wip.clinical resolve.icd10cm`       | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/visualization/NLU_visualizations_tutorial.ipynb)                                                                                | [NER-Piple](https://nlp.johnsnowlabs.com/2021/03/22/onto_recognize_entities_sm_en.html), [Dependency Parsing](https://nlp.johnsnowlabs.com/2021/03/27/Typed_Dependency_Parsing_en.html), [NER-Clinical](https://nlp.johnsnowlabs.com/2021/11/03/ner_profiling_clinical_en.html), [Entity-Resolver (Chunks) clinical](https://nlp.johnsnowlabs.com/2021/04/16/chunkresolve_rxnorm_in_clinical_en.html)                                                                                |
| NLU Covid-19 Emotion Showcase                                                                       |  `emotion`                                                                                | [![Open In GitHub]()](https://github.com/JohnSnowLabs/nlu/blob/master/examples/kaggle/nlu_covid_emotion_showcase.ipynb)                                                                                | [Emotion detection](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_emotion_en.html)                                                                                |
| NLU Covid-19 Sentiment Showcase                                                                     |  `sentiment`                                                                                | [![Open In GitHub]()](https://github.com/JohnSnowLabs/nlu/blob/master/examples/kaggle/nlu_covid_sentiment_showcase.ipynb)                                                                                | [Sentiment classification](https://nlp.johnsnowlabs.com/2021/03/24/analyze_sentiment_en.html)                                                                                |
| NLU Airline Emotion Demo                                                                            |  `emotion`                                                                                | [![Open In GitHub]()](https://github.com/JohnSnowLabs/nlu/blob/master/examples/kaggle/nlu_emotion_airline_demo.ipynb)                                                                                | [Emotion detection](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_emotion_en.html)                                                                                |
| NLU Airline Sentiment Demo                                                                          |  `sentiment`                                                                                | [![Open In GitHub]()](https://github.com/JohnSnowLabs/nlu/blob/master/examples/kaggle/nlu_sentiment_airline_demo.ipynb)                                                                                | [Sentiment classification](https://nlp.johnsnowlabs.com/2021/03/24/analyze_sentiment_en.html)                                                                                |
| Bengali NER Hindi Embeddings for 30 Models                                                          |  `bn.ner`, `bn.lemma`, `ja.lemma`, `am.lemma`, `bh.lemma`,` en.ner.onto.bert.small_l2_128`,..                             | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Murat-Karadag/nlu/blob/master/examples/release_notebooks/NLU1.1.2_Bengali_ner_Hindi_Embeddings_30_new_models.ipynb)                                                          |  [Bengali-NER](https://nlp.johnsnowlabs.com/2021/01/27/ner_jifs_glove_840B_300d_bn.html), [Bengali-Lemmatizer](https://nlp.johnsnowlabs.com/2021/01/20/lemma_bn.html), [Japanese-Lemmatizer](https://nlp.johnsnowlabs.com/2021/01/15/lemma_ja.html), [Amharic-Lemmatizer](https://nlp.johnsnowlabs.com/2021/01/20/lemma_am.html)                                                                                |
| Entity Resolution                                                                                |  `med_ner.jsl.wip.clinical en.resolve.umls`, `med_ner.jsl.wip.clinical en.resolve.loinc`, `med_ner.jsl.wip.clinical en.resolve.loinc.biobert`                             | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/release_notebooks/NLU_3_0_2_release_notebook.ipynb)                                    |        -                                                                                |
| NLU 20 Minutes Crashcourse - the fast Data Science route                                            |  `spell`, `sentiment`, `pos`, `ner`, `yake`, `en.t5`, `emotion`, `answer_question`, `en.t5.base` ...                      | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/AI4_2021/NLU_crash_course_AI4.ipynb)                                                                          | [T5-Model](https://nlp.johnsnowlabs.com/2021/01/08/t5_base_en.html), [Part of Speech](https://nlp.johnsnowlabs.com/2021/03/05/pos_anc.html), [NER-Piple](https://nlp.johnsnowlabs.com/2021/03/22/onto_recognize_entities_sm_en.html), [Emotion detection](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_emotion_en.html) , [Spellchecker](https://nlp.johnsnowlabs.com/2021/03/28/spellcheck_dl_en.html), [Sentiment classification](https://nlp.johnsnowlabs.com/2021/03/24/analyze_sentiment_en.html)                                             |
| Chapter 0: Intro: 1-liners                                                                          |  `sentiment`, `pos`, `ner`, `bert`, `elmo`, `embed_sentence.bert`                                                         | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/NYC_DC_NLP_MEETUP/0_liners_intro.ipynb)                                                                       |  [Part of Speech](https://nlp.johnsnowlabs.com/2021/03/05/pos_anc.html), [NER-Piple](https://nlp.johnsnowlabs.com/2021/03/22/onto_recognize_entities_sm_en.html), [Sentiment classification](https://nlp.johnsnowlabs.com/2021/03/24/analyze_sentiment_en.html), [Elmo-Embedding](https://nlp.johnsnowlabs.com/2020/01/31/elmo.html), [Bert-Sentence_Embedding](https://nlp.johnsnowlabs.com/2020/08/25/sent_small_bert_L2_128.html)                                                                                |
| Chapter 1: NLU base-features with some classifiers on testdata                                      |  `emotion`, `yake`, `stem`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/NYC_DC_NLP_MEETUP/1_NLU_base_features_on_dataset_with_YAKE_Lemma_Stemm_classifiers_NER_.ipynb)                |  [Emotion detection](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_emotion_en.html)                                                                                |
| Chapter 2: Translation between 300+ languages with Marian                                           |  `tr.translate_to.en`, `en.translate_to.fr`, `en.translate_to.he`                                                         | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sequence2sequence/translation_demo.ipynb)                                                                     |  [Translation-Pipeline (En to Fr)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_fr_xx.html), [Translation (En to He)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_he_xx.html)                                                                                |
| Chapter 3: Answer questions and summarize Texts with T5                                             |  `answer_question`, `en.t5`, `en.t5.base`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sequence2sequence/T5_question_answering.ipynb)                                                                |  [T5-Model](https://nlp.johnsnowlabs.com/2021/01/08/t5_base_en.html)                                                                                |
| Chapter 4: Overview of T5-Tasks                                                                     |  `en.t5.base`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/sequence2sequence/T5_tasks_summarize_question_answering_and_more.ipynb)                                       |  [T5-Model](https://nlp.johnsnowlabs.com/2021/01/08/t5_base_en.html)                                                                                |
| Graph NLU 20 Minutes Crashcourse - State of the Art Text Mining for Graphs                          |  `spell`, `sentiment`, `pos`, `ner`, `yake`, `emotion`, `med_ner.jsl.wip.clinical`, ...                                   | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/graph_ai_summit/Healthcare_Graph_NLU_COVID_Tigergraph.ipynb)                                                  |  [Part of Speech](https://nlp.johnsnowlabs.com/2021/03/05/pos_anc.html), [NER-Piple](https://nlp.johnsnowlabs.com/2021/03/22/onto_recognize_entities_sm_en.html), [Emotion detection](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_emotion_en.html), [Spellchecker](https://nlp.johnsnowlabs.com/2021/03/28/spellcheck_dl_en.html), [Sentiment classification](https://nlp.johnsnowlabs.com/2021/03/24/analyze_sentiment_en.html)                                                                                |
| Healthcare with NLU                                                                                |  `med_ner.human_phenotype.gene_biobert`, `med_ner.ade_biobert`, `med_ner.anatomy`, `med_ner.bacterial_species`,...        | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/healthcare_webinar/NLU_healthcare_webinar.ipynb)                                                              |        -                                                                                |
| Part 0: Intro: 1-liners                                                                             |   `spell`, `sentiment`, `pos`, `ner`, `bert`, `elmo`, `embed_sentence.bert`                                               | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/multi_lingual_webinar/0_liners_intro.ipynb)                                                                   | [Bert-Paper](https://arxiv.org/abs/1810.04805), [Bert Github](https://github.com/google-research/bert), [T-SNE](https://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf?fbclid=IwA), [T-SNE-Bert](https://medium.com/spark-nlp/1-line-to-bert-word-embeddings-with-nlu-f50d2b08cddc) , [Part of Speech](https://nlp.johnsnowlabs.com/2021/03/05/pos_anc.html), [NER-Piple](https://nlp.johnsnowlabs.com/2021/03/22/onto_recognize_entities_sm_en.html), [Spellchecker](https://nlp.johnsnowlabs.com/2021/03/28/spellcheck_dl_en.html), [Sentiment classification](https://nlp.johnsnowlabs.com/2021/03/24/analyze_sentiment_en.html), [Elmo-Embedding](https://nlp.johnsnowlabs.com/2020/01/31/elmo.html) , [Bert-Sentence_Embedding](https://nlp.johnsnowlabs.com/2020/08/25/sent_small_bert_L2_128.html) |
| Part 1: NLU base-features with some classifiers on Testdata                                         |   `yake`, `stem`, `ner`, `emotion`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/multi_lingual_webinar/1_NLU_base_features_on_dataset_with_YAKE_Lemma_Stemm_classifiers_NER_.ipynb)            | [NER-Piple](https://nlp.johnsnowlabs.com/2021/03/22/onto_recognize_entities_sm_en.html), [Emotion detection](https://nlp.johnsnowlabs.com/2021/01/09/classifierdl_use_emotion_en.html)                                                                                |
| Part 2: Translate between 200+ Languages in 1 line of code with Marian-Models                       |   `en.translate_to.de`, `en.translate_to.fr`, `en.translate_to.he`                                                        | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/multi_lingual_webinar/2_multilingual_translation_with_marian_intro.ipynb)                                     | [Translation-Pipeline (En to Fr)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_fr_xx.html), [Translation-Pipeline (En to Ger)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_de_xx.html), [Translation (En to He)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_he_xx.html)                                                                                |
| Part 3: More Multilingual NLP-translations for Asian Languages with Marian                          |   `en.translate_to.hi`, `en.translate_to.ru`, `en.translate_to.zh`                                                        | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/multi_lingual_webinar/3_more_multi_lingual_NLP_translation_Asian_languages_with_Marian.ipynb)                 | [Translation (En to Hi)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_hil_xx.html), [Translation (En to Ru)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_run_xx.html), [Translation (En to Zh)](https://nlp.johnsnowlabs.com/2021/06/04/translate_en_zh_xx.html)                                                                                |
| Part 4: Unsupervise Chinese Keyword Extraction, NER and Translation from chinese news               |   `zh.translate_to.en`, `zh.segment_words`, `yake`, `zh.lemma`, `zh.ner`                                                  | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/multi_lingual_webinar/4_Unsupervise_Chinese_Keyword_Extraction_NER_and_Translation_from_Chinese_News.ipynb)   | [Translation-Pipeline (Zh to En)](https://nlp.johnsnowlabs.com/2021/06/04/translate_zh_en_xx.html), [Zh-Lemmatizer](https://nlp.johnsnowlabs.com/2020/03/19/explain_document_dl.html)                                                                                |
| Part 5: Multilingual sentiment classifier training for 100+ languages                               |   `train.sentiment`, `xx.embed_sentence.labse train.sentiment`                                                            |    n.a.                                                                                | [Sentence_Embedding.Labse](https://nlp.johnsnowlabs.com/2020/09/23/labse.html)                                                                                |
| Part 6: Question-answering and Text-summarization  with T5-Modell                                   |   `answer_question`, `en.t5`, `en.t5.base`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/multi_lingual_webinar/6_T5_question_answering_and_Text_summarization.ipynb)                                   | [T5-Paper](https://arxiv.org/pdf/1910.10683.pdf)                                                                                |
| Part 7: Overview of all tasks available with T5                                                     |   `en.t5.base`                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/multi_lingual_webinar/7_T5_SQUAD_GLUE_SUPER_GLUE_TASKS.ipynb)                                                 | [T5-Paper](https://arxiv.org/pdf/1910.10683.pdf)                                                                                |
| Part 8: Overview of some of the Multilingual modes with State Of the Art accuracy (1-liner)         |   `bn.lemma`, `ja.lemma`, `am.lemma`, `bh.lemma`, `zh.segment_words`, ...                                                 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/multi_lingual_webinar/8_Multi_lingual_ner_pos_stop_words_senti)                                               | [Bengali-Lemmatizer](https://nlp.johnsnowlabs.com/2021/01/20/lemma_bn.html), [Japanese-Lemmatizer](https://nlp.johnsnowlabs.com/2021/01/15/lemma_ja.html)  , [Amharic-Lemmatizer](https://nlp.johnsnowlabs.com/2021/01/20/lemma_am.html)                                                                                |
| Overview of some Multilingual modes avaiable with State Of the Art accuracy (1-liner)               |   `bn.ner.cc_300d`, `ja.ner`, `zh.ner`, `th.ner.lst20.glove_840B_300D`, `ar.ner`                                          | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/python_web_conf/Multi_Linigual_examples.ipynb)                                                                | [Bengali-NER](https://nlp.johnsnowlabs.com/2021/01/27/ner_jifs_glove_840B_300d_bn.html)
| NLU 20 Minutes Crashcourse - the fast Data Science route                                            |     -                                                                                | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/webinars_conferences_etc/python_web_conf/NLU_crashcourse_py_web.ipynb)                                                                 |        -                                                                                |

# Need help?
- [Ping us on Slack](https://spark-nlp.slack.com/archives/C0196BQCDPY)
- [Post an issue on Github](https://github.com/JohnSnowLabs/nlu/issues)

# Simple NLU Demos
- [NLU different output levels Demo](https://colab.research.google.com/drive/1C4N3wpC17YzZf9fXHDNAJ5JvSmfbq7zT?usp=sharing)

# Features in NLU Overview
* 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
* 1000 pre-trained models in +200 languages!
* Multi-lingual NER models: Arabic, Chinese, Danish, Dutch, English, Finnish, French, German, Hewbrew, Italian, Japanese, Korean, Norwegian, Persian, Polish, Portuguese, Russian, Spanish, Swedish, Urdu and more
* Natural Language inference
* Coreference resolution
* Sentence Completion
* Word sense disambiguation
* Clinical entity recognition
* Clinical Entity Linking
* Entity normalization
* Assertion Status Detection
* De-identification
* Relation Extraction
* Clinical Entity Resolution

## Citation

We have published a [paper](https://www.sciencedirect.com/science/article/pii/S2665963821000063) that you can cite for the NLU library:

```bibtex
@article{KOCAMAN2021100058,
    title = {Spark NLP: Natural language understanding at scale},
    journal = {Software Impacts},
    pages = {100058},
    year = {2021},
    issn = {2665-9638},
    doi = {https://doi.org/10.1016/j.simpa.2021.100058},
    url = {https://www.sciencedirect.com/science/article/pii/S2665963821000063},
    author = {Veysel Kocaman and David Talby},
    keywords = {Spark, Natural language processing, Deep learning, Tensorflow, Cluster},
    abstract = {Spark NLP is a Natural Language Processing (NLP) library built on top of Apache Spark ML. It provides simple, performant & accurate NLP annotations for machine learning pipelines that can scale easily in a distributed environment. Spark NLP comes with 1100+ pretrained pipelines and models in more than 192+ languages. It supports nearly all the NLP tasks and modules that can be used seamlessly in a cluster. Downloaded more than 2.7 million times and experiencing 9x growth since January 2020, Spark NLP is used by 54% of healthcare organizations as the world’s most widely used NLP library in the enterprise.}
    }
}
```


[![Build Status](https://github.com/mir-group/flare/actions/workflows/flare.yml/badge.svg)](https://github.com/mir-group/flare/actions) [![pypi](https://img.shields.io/pypi/v/mir-flare)](https://pypi.org/project/mir-flare/) [![activity](https://img.shields.io/github/commit-activity/m/mir-group/flare)](https://github.com/mir-group/flare/commits/master) [![codecov](https://codecov.io/gh/mir-group/flare/branch/master/graph/badge.svg)](https://codecov.io/gh/mir-group/flare)

***NOTE: This is the latest release [1.3.3](https://github.com/mir-group/flare/releases/tag/1.3.3) which includes significant changes compared to the previous version [0.2.4](https://github.com/mir-group/flare/releases/tag/0.2.4). Please check the updated tutorials and documentations from the links below.***

# FLARE: Fast Learning of Atomistic Rare Events

FLARE is an open-source Python package for creating fast and accurate interatomic potentials.

## Major Features

Note:

We implement Sparse GP, all the kernels and descriptors in C++ with Python interface.

We implement Full GP, Mapped GP, RBCM, Squared Exponential kernel and 2+3-body descriptors in Python.

Please do NOT mix them.

## Documentations and Tutorials

Documentation of the code can be accessed here: https://mir-group.github.io/flare

[Applications using FLARE and gallery](https://mir-group.github.io/flare/related.html)

### Google Colab Tutorials

[FLARE (ACE descriptors + sparse GP)](https://colab.research.google.com/drive/1rZ-p3kN5CJbPJgD8HuQHSc7ecmwZYse6).
The tutorial shows how to run flare with ACE and SGP on energy and force data, demoing "offline" training on the MD17 dataset and "online" on-the-fly training of a simple aluminum force field. All the trainings use yaml files for configuration.

[FLARE (LAMMPS active learning)](https://bit.ly/flarelmpotf)
This tutorial demonstrates new functionality for running active learning all within LAMMPS, with LAMMPS running the dynamics to allow arbitrarily complex molecular dynamics workflows while maintaining a simple interface. This also demonstrates how to use the C++ API directly from Python through `pybind11`. Finally, there's a simple demonstration of phonon calculations with FLARE using `phonopy`.

[FLARE (ACE descriptors + sparse GP) with LAMMPS](https://colab.research.google.com/drive/1qgGlfu1BlXQgSrnolS4c4AYeZ-2TaX5Y).
The tutorial shows how to compile LAMMPS with FLARE pair style and uncertainty compute code, and use LAMMPS for Bayesian active learning and uncertainty-aware molecular dynamics.

[Compute thermal conductivity from FLARE and Boltzmann transport equations](https://phoebe.readthedocs.io/en/develop/tutorials/mlPhononTransport.html).
The tutorial shows how to use FLARE (LAMMPS) potential to compute lattice thermal conductivity from Boltzmann transport equation method, with [Phono3py](https://phonopy.github.io/phono3py/) for force constants calculations and [Phoebe](https://mir-group.github.io/phoebe/) for thermal conductivities.

[Using your own customized descriptors with FLARE](https://colab.research.google.com/drive/1VzbIPmx1z-uygKstOYTj2Nqr53AMC5NL?usp=sharing).
The tutorial shows how to attach your own descriptors with FLARE sparse GP model and do training and testing.

All the tutorials take a few minutes to run on a normal desktop computer or laptop (excluding installation time).

## Installation
### Pip installation
Please check the [installation guide here](https://mir-group.github.io/flare/installation/install.html).
This will take a few minutes on a normal desktop computer or laptop.

### Developer's installation guide
For developers, please check the [installation guide](https://mir-group.github.io/flare/installation/install.html#developer-s-installation-guide).

### Compiling LAMMPS
See [documentation on compiling LAMMPS with FLARE](https://mir-group.github.io/flare/installation/lammps.html)

### Trouble shooting
If you have problem compiling and installing the code, please check the [FAQs](https://mir-group.github.io/flare/installation/install.html#trouble-shooting) to see if your problem is covered. Otherwise, please open an issue or contact us.

## System requirements
### Software dependencies
* GCC 9
* Python 3
* pip>=20

MKL is recommended but not required. All other software dependencies are taken care of by pip.

The code is built and tested with Github Actions using the GCC 9 compiler. (You can find a summary of recent builds [here](https://github.com/mir-group/flare/actions).) Other C++ compilers may work, but we can't guarantee this.

### Operating systems
flare++ is tested on a Linux operating system (Ubuntu 20.04.3), but should also be compatible with Mac and Windows operating systems. If you run into issues running the code on Mac or Windows, please post to the [issue board](https://github.com/mir-group/flare/issues).

### Hardware requirements
There are no non-standard hardware requirements to download the software and train simple models—the introductory tutorial can be run on a single cpu. To train large models (10k+ sparse environments), we recommend using a compute node with at least 100GB of RAM.

## Tests
We recommend running unit tests to confirm that FLARE is running properly on your machine. We have implemented our tests using the pytest suite. You can call `pytest` from the command line in the tests directory.

Instructions (either DFT package will suffice):
```
pip install pytest
cd tests
pytest
```

## References
If you use FLARE++ including B2 descriptors, NormalizedDotProduct kernel and Sparse GP, please cite the following paper:

  > [1] Vandermause, J., Xie, Y., Lim, J.S., Owen, C.J. and Kozinsky, B., 2021. *Active learning of reactive Bayesian force fields: Application to heterogeneous hydrogen-platinum catalysis dynamics.* Nature Communications 13.1 (2022): 5183. https://www.nature.com/articles/s41467-022-32294-0

If you use FLARE active learning workflow, full Gaussian process or 2-body/3-body kernel in your research, please cite the following paper:

  > [2] Vandermause, J., Torrisi, S. B., Batzner, S., Xie, Y., Sun, L., Kolpak, A. M. & Kozinsky, B. *On-the-fly active learning of interpretable Bayesian force fields for atomistic rare events.* npj Comput Mater 6, 20 (2020). https://doi.org/10.1038/s41524-020-0283-z

If you use FLARE LAMMPS pair style or MGP (mapped Gaussian process), please cite the following paper:

  > [3] Xie, Y., Vandermause, J., Sun, L. et al. *Bayesian force fields from active learning for simulation of inter-dimensional transformation of stanene.* npj Comput Mater 7, 40 (2021). https://doi.org/10.1038/s41524-021-00510-y

If you use FLARE PyLAMMPS for training, please cite the following paper:

  > [4] Xie, Y., Vandermause, J., Ramakers, S., Protik, N.H., Johansson, A. and Kozinsky, B., 2022. *Uncertainty-aware molecular dynamics from Bayesian active learning: Phase Transformations and Thermal Transport in SiC.* npj Comput. Mater. 9(1), 36 (2023).

If you use FLARE LAMMPS Kokkos pair style with GPU acceleration, please cite the following paper:

  > [5] Johansson, A., Xie, Y., Owen, C.J., Soo, J., Sun, L., Vandermause, J. and Kozinsky, B., 2022. *Micron-scale heterogeneous catalysis with Bayesian force fields from first principles and active learning.* arXiv preprint arXiv:2204.12573.


The Walrus
##########

.. image:: https://github.com/XanaduAI/thewalrus/actions/workflows/tests.yml/badge.svg
    :alt: Tests
    :target: https://github.com/XanaduAI/thewalrus/actions/workflows/tests.yml

.. image:: https://img.shields.io/codecov/c/github/xanaduai/thewalrus/master.svg?style=flat
    :alt: Codecov coverage
    :target: https://codecov.io/gh/XanaduAI/thewalrus

.. image:: https://img.shields.io/codefactor/grade/github/XanaduAI/thewalrus/master?style=flat
    :alt: CodeFactor Grade
    :target: https://www.codefactor.io/repository/github/xanaduai/thewalrus

.. image:: https://img.shields.io/readthedocs/the-walrus.svg?style=flat
    :alt: Read the Docs
    :target: https://the-walrus.readthedocs.io

.. image:: https://img.shields.io/pypi/pyversions/thewalrus.svg?style=flat
    :alt: PyPI - Python Version
    :target: https://pypi.org/project/thewalrus

.. image:: https://joss.theoj.org/papers/10.21105/joss.01705/status.svg
    :alt: JOSS - The Journal of Open Source Software
    :target: https://doi.org/10.21105/joss.01705

A library for the calculation of hafnians, Hermite polynomials and Gaussian boson sampling. For more information, please see the `documentation <https://the-walrus.readthedocs.io>`_.

Features
========

* Fast calculation of hafnians, loop hafnians, and torontonians of general and certain structured matrices.

* An easy to use interface to use the loop hafnian for Gaussian quantum state calculations.

* Sampling algorithms for hafnian and torontonians of graphs.

* Efficient classical methods for approximating the hafnian of non-negative matrices.

* Easy to use implementations of the multidimensional Hermite polynomials, which can also be used to calculate hafnians of all reductions of a given matrix.

Installation
============

The Walrus requires Python version 3.7, 3.8, 3.9, or 3.10. Installation of The Walrus, as
well as all dependencies, can be done using pip:

.. code-block:: bash

    pip install thewalrus

Compiling from source
=====================

The Walrus has the following dependencies:

* `Python <http://python.org/>`_ >= 3.7
* `NumPy <http://numpy.org/>`_  >= 1.19.2
* `Numba <https://numba.pydata.org/>`_ >= 0.49.1
* `SciPy <https://scipy.org/>`_ >=1.2.1
* `SymPy <https://www.sympy.org/>`_ >=1.5.1
* `Dask[delayed] <https://docs.dask.org/>`_

You can compile the latest development version by cloning the git repository, and installing using
pip in development mode.

.. code-block:: console

    $ git clone https://github.com/XanaduAI/thewalrus.git
    $ cd thewalrus && python -m pip install -e .

Software tests
==============

To ensure that The Walrus library is working correctly after installation, the test
suite can be run locally using pytest.

Additional packages are required to run the tests. These dependencies can be found in
``requirements-dev.txt`` and can be installed using ``pip``:

.. code-block:: console

    $ pip install -r requirements-dev.txt

To run the tests, navigate to the source code folder and run the command

.. code-block:: console

    $ make test

Documentation
=============

The Walrus documentation is available online on `Read the Docs <https://the-walrus.readthedocs.io>`_.

Additional packages are required to build the documentation locally as specified in ``doc/requirements.txt``.
These packages can be installed using:

.. code-block:: console

    $ sudo apt install pandoc
    $ pip install -r docs/requirements.txt

To build the HTML documentation, go to the top-level directory and run the command

.. code-block:: console

    $ make doc

The documentation can then be found in the ``docs/_build/html/`` directory.

Contributing to The Walrus
==========================

We welcome contributions - simply fork The Walrus repository, and then make a pull request containing your contribution. All contributors to The Walrus will be listed as authors on the releases.

We also encourage bug reports, suggestions for new features and enhancements, and even links to projects, applications or scientific publications that use The Walrus.

Authors
=======

The Walrus is the work of `many contributors <https://github.com/XanaduAI/thewalrus/blob/master/.github/ACKNOWLEDGMENTS.md>`_.

If you are doing research using The Walrus, please cite `our paper <https://joss.theoj.org/papers/10.21105/joss.01705>`_:

 Brajesh Gupt, Josh Izaac and Nicolas Quesada. The Walrus: a library for the calculation of hafnians, Hermite polynomials and Gaussian boson sampling. Journal of Open Source Software, 4(44), 1705 (2019)

Support
=======

- **Source Code:** https://github.com/XanaduAI/thewalrus
- **Issue Tracker:** https://github.com/XanaduAI/thewalrus/issues

If you are having issues, please let us know by posting the issue on our Github issue tracker.

License
=======

The Walrus is **free** and **open source**, released under the Apache License, Version 2.0.


# Django Donation Tracker

## Requirements

- Python 3.8 to 3.12
- Django 4.2, or 5.0

Additionally, if you are planning on developing, and/or building the JS bundles yourself:

- Node (only LTS versions are officially supported, currently 16 and 18)
- `yarn` (`npm i -g yarn`)
- `pre-commit` (`pip install pre-commit`)

If you need to isolate your development environment, some combination of `direnv`, `pyenv`, `nvm`, and/or `asdf` will be
very helpful.

## Deploying

This app shouldn't require any special treatment to deploy, though depending on which feature set you are using, extra
steps will be required. You should be able to install it with pip, either from GitHub, or locally. e.g.

`pip install git+https://github.com/GamesDoneQuick/donation-tracker.git@master`

Or after downloading or checking out locally:

`pip install ./donation-tracker`

For further reading on what else your server needs to look like:

- [Deploying Django](https://docs.djangoproject.com/en/dev/howto/deployment/)
- [Deploying Django Channels](https://channels.readthedocs.io/en/latest/deploying.html)
- [Configuring Post Office](https://github.com/ui/django-post_office#management-commands) (needed to send emails)
- [Using Celery with Django](https://docs.celeryproject.org/en/stable/django/first-steps-with-django.html) (optional)
- [Daemonizing Celery](https://docs.celeryproject.org/en/stable/userguide/daemonizing.html) (optional)

Docker should also work but support is still in the experimental phases.

### Configuration

The Donation Tracker adds a few configuration options.

#### TRACKER_HAS_CELERY (deprecated alias: HAS_CELERY)

Type: `bool`

Default: `False`

Controls whether or not to try and use Celery. Certain tasks will be queued up as asynchronous if this setting is
turned on, but it requires extra setup and for smaller events the performance impact is pretty minor.

#### TRACKER_GIANTBOMB_API_KEY (deprecated alias: GIANTBOMB_API_KEY)

Type: `str`

Default: `''`

Used for the `cache_giantbomb_info` management command. See that command for further details.

#### TRACKER_PRIVACY_POLICY_URL (deprecated alias: PRIVACY_POLICY_URL)

Type: `str`

Default: `''`

If present, shown on the Donation page. You should probably have one of these, but this README is not legal advice.

#### TRACKER_SWEEPSTAKES_URL (deprecated alias: SWEEPSTAKES_URL)

Type: `str`

Default: `''`

If present, shown in several prize-related pages. This is REQUIRED if you offer any prizes from your events, and will
disable a lot of prize functionality if it's not set. This is for legal reasons because it's very easy to run afoul of
local sweepstakes laws. This README is not legal advice, however, so you should contact a lawyer before you give away
prizes.

#### TRACKER_PAGINATION_LIMIT

Type: `int`

Default: `500`

Allows you to override the number of results a user can fetch from the API at a single time, or will be returned by
default. Attempting to set a `limit=` param in a `search` higher than this value will return an error instead.

#### TRACKER_LOGO

Type: `str`

Default: `''`

Allows you to place a logo asset in the navbar for public facing pages.

#### TRACKER_ENABLE_BROWSABLE_API

Type: `bool`

Default: `settings.DEBUG`

Allows you to enable or disable the DRF browsable API renderer on the v2 endpoints. By default, it's disabled in
production mode and enabled in development.

This can potentially override DRF's own explicit or default settings, but only in that it will remove the renderer in
question if it's in the list.

### Testing Your Deploy (WIP)

- PayPal currently requires the receiver account to have IPNs turned on so that payment can be confirmed
  - The sandbox sends IPNs, so you should not need to use the IPN simulator unless you really want to
- There is a Diagnostics page on the admin, accessible if you are a Django superuser, it will let you test or monitor
  various pieces of Tracker functionality, which can give you early hints that something isn't working right

## Development Quick Start

Clone the Git repo and install it in edit mode:

- `git clone git@github.com:GamesDoneQuick/donation-tracker`
- `pip install -e donation-tracker`

Start up a new Django Project like the [Django Tutorial](https://docs.djangoproject.com/en/dev/intro/tutorial01/).

- `pip install django~=5.0` (if you need a specific version of Django)
- `django-admin startproject tracker_development`

Install remaining development dependencies:

- `cd donation-tracker`
- `yarn`
- `pre-commit install`
- `pre-commit install --hook-type pre-push`

Add the following apps to the `INSTALLED_APPS` section of `tracker_development/settings.py`:

```
    'channels',
    'post_office',
    'paypal.standard.ipn',
    'tracker',
    'rest_framework',
    'timezone_field',
    'ajax_select',
    'mptt',
```

To enable analytics tracking, add the following to the `MIDDLEWARE` section of `tracker_development/settings.py`:

```
    'tracker.analytics.middleware.AnalyticsMiddleware',
```

NOTE: The analytics middleware is only a client, and does not track any information locally. Instead, it expects an analytics server to be running and will simply send out HTTP requests to it when enabled. More information is available in `tracker/analytics/README.md`.

Add the following chunk somewhere in `settings.py`:

```python
from tracker import ajax_lookup_channels
AJAX_LOOKUP_CHANNELS = ajax_lookup_channels.AJAX_LOOKUP_CHANNELS
ASGI_APPLICATION = 'tracker_development.routing.application'
CHANNEL_LAYERS = {'default': {'BACKEND': 'channels.layers.InMemoryChannelLayer'}}

# Only required if analytics tracking is enabled
TRACKER_ANALYTICS_INGEST_HOST = 'http://localhost:5000'
TRACKER_ANALYTICS_NO_EMIT = False
TRACKER_ANALYTICS_TEST_MODE = False
TRACKER_ANALYTICS_ACCESS_KEY = 'someanalyticsaccesskey or None'
```

Create a file next called `routing.py` next to `settings.py` and put the following in it:

```python
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.security.websocket import AllowedHostsOriginValidator
from django.urls import path

import tracker.routing

application = ProtocolTypeRouter({
    'websocket': AllowedHostsOriginValidator(
        AuthMiddlewareStack(
            URLRouter(
                [path('tracker/', URLRouter(tracker.routing.websocket_urlpatterns))]
            )
        )
    ),
})
```

Edit the `tracker_development/urls.py` file to look something like this:

```python
from django.contrib import admin
from django.urls import path, include

import tracker.urls
import ajax_select.urls

urlpatterns = [
    path('admin/lookups/', include(ajax_select.urls)),
    path('admin/', admin.site.urls),
    path('tracker/', include(tracker.urls, namespace='tracker')),
]
```

In the main project folder:

- `python manage.py runserver`

In a separate shell, in the `donation-tracker` folder:

- `yarn start`

If everything boots up correctly, you should be able to visit the [Index Page](http://localhost:8080/tracker).
Additionally, you should be able to open the [Websocket Test Page](http://localhost:8080/tracker/websocket_test/) and
see the heartbeat. If the page loads but the pings don't work, Channels isn't set up correctly. The
[Channels Documentation](https://channels.readthedocs.io/en/latest/installation.html) may be helpful.

## Contributing

This project uses [`pre-commit`](https://pre-commit.com/) to run linters and other checks before every commit.

If you followed the instructions above, `pre-commit` should run the appropriate hooks every time you commit or push.

_Note:_ You _can_ bypass these checks by adding `--no-verify` when you commit or push, though this is highly
discouraged in most cases. CI runs the same checks as the hooks do, and will cause pipeline to fail if you bypass
a genuine failure.


# Automated Rate Calculator | ARC

![Build Status](https://github.com/ReactionMechanismGenerator/ARC/actions/workflows/cont_int.yml/badge.svg)
[![codecov](https://codecov.io/gh/ReactionMechanismGenerator/ARC/branch/main/graph/badge.svg)](https://codecov.io/gh/ReactionMechanismGenerator/ARC)
[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)
![Release](https://img.shields.io/badge/version-1.1.0-blue.svg)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3356849.svg)](https://doi.org/10.5281/zenodo.3356849)

The **A**utomated **R**ate **C**alculator (**ARC**) software is a tool for automating
electronic structure calculations and attaining thermo-kinetic data
relevant for chemical kinetic modeling.

ARC has many advanced features,
yet at its core it is simple: It accepts 2D graph representations of chemical species (i.e.,
SMILES,
InChI,
or RMG's
adjacency list),
and  automatically executes, tracks, and processes relevant electronic structure calculation
jobs on user-defined server(s). The principal outputs of ARC are thermodynamic properties
(H, S, Cp) and high-pressure limit kinetic rate coefficients of species and reactions of interest.

## Mission

ARC's mission is to provide the kinetics community with a well-documented and extensible codebase for automatically calculating species thermochemistry and reaction rate coefficients.

## Documentation

Visit out documentation pages for installation instructions, examples, API, advanced features and more.

## Licence

This project is licensed under the MIT License - see the LICENSE file for details.

## Contributing

Developers and contributors: Visit
ARC's Developer's Guide
on the wiki page.

If you have a suggestion or find a bug, please post to our Issues page.

## Questions

If you are having issues, please post to our Issues page. We will do our best to assist.


[![](https://github.com/keras-team/autokeras/workflows/Tests/badge.svg?branch=master)](https://github.com/keras-team/autokeras/actions?query=workflow%3ATests+branch%3Amaster)
[![codecov](https://codecov.io/gh/keras-team/autokeras/branch/master/graph/badge.svg)](https://codecov.io/gh/keras-team/autokeras)
[![PyPI version](https://badge.fury.io/py/autokeras.svg)](https://badge.fury.io/py/autokeras)
[![Python](https://img.shields.io/badge/python-v3.8.0+-success.svg)](https://www.python.org/downloads/)
[![Tensorflow](https://img.shields.io/badge/tensorflow-v2.8.0+-success.svg)](https://www.tensorflow.org/versions)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/keras-team/autokeras/issues)

Official Website: [autokeras.com](https://autokeras.com)

##
AutoKeras: An AutoML system based on Keras.
It is developed by DATA Lab at Texas A&M University.
The goal of AutoKeras is to make machine learning accessible to everyone.

## Learning resources

* A short example.

```python
import autokeras as ak

clf = ak.ImageClassifier()
clf.fit(x_train, y_train)
results = clf.predict(x_test)
```

* [Official website tutorials](https://autokeras.com/tutorial/overview/).
* The book of [*Automated Machine Learning in Action*](https://www.manning.com/books/automated-machine-learning-in-action?query=automated&utm_source=jin&utm_medium=affiliate&utm_campaign=affiliate&a_aid=jin).
* The LiveProjects of [*Image Classification with AutoKeras*](https://www.manning.com/liveprojectseries/autokeras-ser).

&nbsp
&nbsp

## Installation

To install the package, please use the `pip` installation as follows:

```shell
pip3 install autokeras
```

Please follow the [installation guide](https://autokeras.com/install) for more details.

**Note:** Currently, AutoKeras is only compatible with **Python >= 3.7** and **TensorFlow >= 2.8.0**.

## Community

Ask your questions on our [GitHub Discussions](https://github.com/keras-team/autokeras/discussions).

## Contributing Code

Here is how we manage our project.

We pick the critical issues to work on from [GitHub issues](https://github.com/keras-team/autokeras/issues).
They will be added to this [Project](https://github.com/keras-team/autokeras/projects/3).
Some of the issues will then be added to the [milestones](https://github.com/keras-team/autokeras/milestones),
which are used to plan for the releases.

Refer to our [Contributing Guide](https://autokeras.com/contributing/) to learn the best practices.

Thank all the contributors!

[![The contributors](https://autokeras.com/img/contributors.svg)](https://github.com/keras-team/autokeras/graphs/contributors)

## Cite this work

Haifeng Jin, François Chollet, Qingquan Song, and Xia Hu. "AutoKeras: An AutoML Library for Deep Learning." *the Journal of machine Learning research* 6 (2023): 1-6. ([Download](http://jmlr.org/papers/v24/20-1355.html))

Biblatex entry:

```bibtex
@article{JMLR:v24:20-1355,
  author  = {Haifeng Jin and François Chollet and Qingquan Song and Xia Hu},
  title   = {AutoKeras: An AutoML Library for Deep Learning},
  journal = {Journal of Machine Learning Research},
  year    = {2023},
  volume  = {24},
  number  = {6},
  pages   = {1--6},
  url     = {http://jmlr.org/papers/v24/20-1355.html}
}
```

## Acknowledgements

The authors gratefully acknowledge the D3M program of the Defense Advanced Research Projects Agency (DARPA) administered through AFRL contract FA8750-17-2-0116; the Texas A&M College of Engineering, and Texas A&M University.