diff --git a/docs/en/transformer_entries/ZeroShotNer.md b/docs/en/transformer_entries/ZeroShotNer.md
index f9623d9330980c..1d7a96e1528921 100644
--- a/docs/en/transformer_entries/ZeroShotNer.md
+++ b/docs/en/transformer_entries/ZeroShotNer.md
@@ -11,6 +11,9 @@ used to recognize entities. The definitions of entities is given by a dictionary
specifying a set of questions for each entity. The model is based on
RoBertaForQuestionAnswering.
+For more extended examples see the
+[Examples](https://github.com/JohnSnowLabs/spark-nlp/blob/master/examples/python/annotation/text/english/named-entity-recognition/ZeroShot_NER.ipynb).
+
Pretrained models can be loaded with `pretrained` of the companion object:
```scala
diff --git a/examples/bak2.Text_Preprocessing_with_SparkNLP_Annotators_Transformers.ipynb b/examples/bak2.Text_Preprocessing_with_SparkNLP_Annotators_Transformers.ipynb
deleted file mode 100644
index cd9972a1a0bb43..00000000000000
--- a/examples/bak2.Text_Preprocessing_with_SparkNLP_Annotators_Transformers.ipynb
+++ /dev/null
@@ -1,7131 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "sXatvRX899i0"
- },
- "source": [
- "![JohnSnowLabs](https://nlp.johnsnowlabs.com/assets/images/logo.png)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "9XsAEBYVxeB-"
- },
- "source": [
- "\n",
- "\n",
- "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/spark-nlp-workshop/blob/master/tutorials/Certification_Trainings/Public/2.Text_Preprocessing_with_SparkNLP_Annotators_Transformers.ipynb)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "Xj5fx5ir-wMt"
- },
- "source": [
- "# **Text Preprocessing with Spark NLP**"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "H_SG0VCrix5p"
- },
- "source": [
- "**Note** Read this article if you want to understand the basic concepts in Spark NLP.\n",
- "\n",
- "https://towardsdatascience.com/introduction-to-spark-nlp-foundations-and-basic-components-part-i-c83b7629ed59"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "MfkkKkbVF309"
- },
- "source": [
- "## **0. Colab Setup**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "iMkMQtZNF2n-"
- },
- "outputs": [],
- "source": [
- "!pip install -q pyspark==3.3.0 spark-nlp==4.3.0"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "SS07N80gEtSt"
- },
- "source": [
- "### **1. Annotators and Transformer Concepts**"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "g3_ic8K7E0sy"
- },
- "source": [
- "In Spark NLP, all Annotators are either Estimators or Transformers as we see in Spark ML. An Estimator in Spark ML is an algorithm which can be fit on a DataFrame to produce a Transformer. E.g., a learning algorithm is an Estimator which trains on a DataFrame and produces a model. A Transformer is an algorithm which can transform one DataFrame into another DataFrame. E.g., an ML model is a Transformer that transforms a DataFrame with features into a DataFrame with predictions.\n",
- "In Spark NLP, there are two types of annotators: AnnotatorApproach and AnnotatorModel\n",
- "AnnotatorApproach extends Estimators from Spark ML, which are meant to be trained through fit(), and AnnotatorModel extends Transformers which are meant to transform data frames through transform().\n",
- "Some of Spark NLP annotators have a Model suffix and some do not. The model suffix is explicitly stated when the annotator is the result of a training process. Some annotators, such as Tokenizer are transformers but do not contain the suffix Model since they are not trained, annotators. Model annotators have a pre-trained() on its static object, to retrieve the public pre-trained version of a model.\n",
- "Long story short, if it trains on a DataFrame and produces a model, it’s an AnnotatorApproach; and if it transforms one DataFrame into another DataFrame through some models, it’s an AnnotatorModel (e.g. WordEmbeddingsModel) and it doesn’t take Model suffix if it doesn’t rely on a pre-trained annotator while transforming a DataFrame (e.g. Tokenizer)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "x6SaPXwtFBM-"
- },
- "source": [
- "By convention, there are three possible names:\n",
- "\n",
- "**Approach** — Trainable annotator\n",
- "\n",
- "**Model** — Trained annotator\n",
- "\n",
- "**nothing** — Either a non-trainable annotator with pre-processing\n",
- "step or shorthand for a model\n",
- "\n",
- "So for example, Stemmer doesn’t say Approach nor Model, however, it is a Model. On the other hand, Tokenizer doesn’t say Approach nor Model, but it has a TokenizerModel(). Because it is not “training” anything, but it is doing some preprocessing before converting into a Model.\n",
- "When in doubt, please refer to official documentation and API reference.\n",
- "Even though we will do many hands-on practices in the following articles, let us give you a glimpse to let you understand the difference between AnnotatorApproach and AnnotatorModel.\n",
- "As stated above, Tokenizer is an AnnotatorModel. So we need to call fit() and then transform()."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "ALiQ2TsOFNyc"
- },
- "source": [
- "Now let’s see how this can be done in Spark NLP using Annotators and Transformers. Assume that we have the following steps that need to be applied one by one on a data frame.\n",
- "\n",
- "- Split text into sentences\n",
- "- Tokenize\n",
- "- Normalize\n",
- "- Get word embeddings"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "K0Yy8L-pFb27"
- },
- "source": [
- "![image.png](data:image/png;base64,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)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "suLa96N7Fijt"
- },
- "source": [
- "**What’s actually happening under the hood?**\n",
- "\n",
- "When we fit() on the pipeline with Spark data frame (df), its text column is fed into DocumentAssembler() transformer at first and then a new column “document” is created in Document type (AnnotatorType). As we mentioned before, this transformer is basically the initial entry point to Spark NLP for any Spark data frame. Then its document column is fed into SentenceDetector() (AnnotatorApproach) and the text is split into an array of sentences and a new column “sentences” in Document type is created. Then “sentences” column is fed into Tokenizer() (AnnotatorModel) and each sentence is tokenized and a new column “token” in Token type is created. And so on. "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 254
- },
- "executionInfo": {
- "elapsed": 25398,
- "status": "ok",
- "timestamp": 1664906807242,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "SDasO3DbKu2Z",
- "outputId": "41f67d0d-9012-4c34-f111-b57a8109c482"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Spark NLP version: 4.3.0\n",
- "Apache Spark version: 3.3.0\n"
- ]
- },
- {
- "data": {
- "text/html": [
- "\n",
- "
\n",
- " "
- ],
- "text/plain": [
- " regexToken\n",
- "0 1\n",
- "1 .\n",
- "2 T1\n",
- "3 -\n",
- "4 T2\n",
- "5 DATE\n",
- "6 *\n",
- "7 *\n",
- "8 [\n",
- "9 12/24/13\n",
- "10 ]\n",
- "11 $\n",
- "12 1\n",
- "13 .\n",
- "14 99\n",
- "15 ()\n",
- "16 (10/12)\n",
- "17 ,\n",
- "18 ph\n",
- "19 +\n",
- "20 90\n",
- "21 %"
- ]
- },
- "execution_count": 57,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import pyspark.sql.functions as F\n",
- "\n",
- "result_df = result.select(F.explode(result.regexToken.result).alias('regexToken')).toPandas()\n",
- "result_df"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "l_LM44ZzgYhs"
- },
- "source": [
- "## Stacking Spark NLP Annotators in Spark ML Pipeline"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "bm0mUMQMhFPU"
- },
- "source": [
- "Spark NLP provides an easy API to integrate with Spark ML Pipelines and all the Spark NLP annotators and transformers can be used within Spark ML Pipelines. So, it’s better to explain Pipeline concept through Spark ML official documentation.\n",
- "\n",
- "What is a Pipeline anyway? In machine learning, it is common to run a sequence of algorithms to process and learn from data. \n",
- "\n",
- "Apache Spark ML represents such a workflow as a Pipeline, which consists of a sequence of PipelineStages (Transformers and Estimators) to be run in a specific order.\n",
- "\n",
- "In simple terms, a pipeline chains multiple Transformers and Estimators together to specify an ML workflow. We use Pipeline to chain multiple Transformers and Estimators together to specify our machine learning workflow.\n",
- "\n",
- "The figure below is for the training time usage of a Pipeline."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "jK5AAYQqhRlG"
- },
- "source": [
- "![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtUAAADxCAYAAAAEEUtiAAAgAElEQVR4AeydB1RUVxuu7/3vX5M/McmviaZoLFGxYMcIogioWFAELDQVu9jFAvaGiL13sbfYe8Xee0GNienVAlaKCL53vfvMgQGBIDNUv1lr1gAz58zw7He+/e5vf2fv/wO5CQEhIASEgBAQAkJACAgBIWASgf9j0tFysBAQAkJACAgBISAEhIAQEAIQUy0iEAJCQAgIASEgBISAEBACJhIQU20iQDlcCAgBISAEhIAQEAJCQAiIqRYNCAEhIASEgBAQAkJACAgBEwmIqTYRoBwuBISAEBACQkAICAEhIATEVIsGhIAQEAJCQAgIASEgBISAiQTEVJsIUA4XAkJACAgBISAEhIAQEAJiqkUDQkAICAEhIASEgBAQAkLARAJiqk0EKIcLASEgBISAEBACQkAICAEx1aIBISAEhIAQEAJCQAgIASFgIgEx1SYClMOFgBAQAkJACAgBISAEhICYatGAEBACQkAICAEhIASEgBAwkYCYahMByuFCQAgIASEgBISAEBACQkBMtWhACAgBISAEhIAQEAJCQAiYSEBMtYkA5XAhIASEgBAQAkJACAgBISCmWjQgBISAEBACQkAICAEhIARMJCCm2kSAcrgQEAJCQAgIASEgBISAEBBTLRoQAkJACAgBISAEhIAQEAImEhBTbSJAOVwICAEhIASEgBAQAkJACIipFg0IASEgBISAEBACQkAICAETCYipNhGgHC4EhIAQEAJCQAgIASEgBMRUiwaEgBAQAkJACAgBISAEhICJBMRUmwhQDhcCQkAICAEhIASEgBAQAmKqRQNCQAgIASEgBISAEBACQsBEAmKqTQQohwsBISAEhIAQEAJCQAgIATHVogEhIASEgBAQAkJACAgBIWAiATHVJgKUw4WAEBACQkAICAEhIASEgJhq0YAQEAJCQAgIASEgBISAEDCRgJhqEwHK4UJACAgBISAEhIAQEAJCQEy1aEAICAEhIASEgBAQAkJACJhIQEy1iQDlcCEgBISAEBACQkAICAEhIKZaNCAEhIAQEAJCQAgIASEgBEwkIKbaRIByuBAQAkJACAgBISAEhIAQEFMtGhACQkAICAEhIASEgBAQAiYSEFNtIkA5XAgIASEgBISAEBACQkAIiKkWDQgBISAEhIAQEAJCQAgIARMJiKk2EaAcLgSEgBAQAkJACAgBISAExFSLBoSAEBACQkAICAEhIASEgIkExFSbCFAOFwJCQAgIASEgBISAEBACYqpFA0JACAgBISAEhIAQEAJCwEQCYqpNBCiHCwEhIASEgBAQAkJACAgBMdWiASEgBISAEBACQkAICAEhYCIBMdUmApTDhYAQEAJCQAgIASEgBISAmGrRgBAQAkJACAgBISAEhIAQMJGAmGoTAcrhQkAICAEhIASEgBAQAkJATLVoQAgIASEgBISAEBACQkAImEhATLWJAOVwISAEhIAQEAJCQAgIASEgplo0IASEgBAQAkJACAgBISAETCQgptpEgHK4EBACQkAICAEhIASEgBAQUy0aEAJCQAgIASEgBISAEBACJhIQU20iQDlcCAgBISAEhIAQEAJCQAiIqRYNCAEhIASEgBAQAkJACAgBEwmIqTYRoBwuBISAEBACQkAICAEhIATEVIsGhIAQEAJCQAgIASEgBISAiQTEVJsIUA4XAkJACAgBISAEhIAQEAJiqkUDQkAICAEhIASEgBAQAkLARAJiqk0EKIcLASEgBISAEBACQkAICAEx1aIBISAEhIAQEAJCQAgIASFgIgEx1SYClMOFgBAQAkJACAgBISAEhICYatGAEBACQkAICAEhIASEgBAwkYCYahMByuFCQAgIASEgBISAEBACQkBMtWhACAgBISAEhIAQEAJCQAiYSEBMtYkA5XAhIASEgBAQAkJACAgBISCmWjQgBISAEBACQkAICAEhIARMJCCm2kSAcrgQEAJCQAgIASEgBISAEBBTLRoQAkJACAgBISAEhIAQEAImEhBTbSJAOVwICAEhIASEgBAQAkJACIipFg0IASEgBISAEBACQkAICAETCYipNhGgHC4EhIAQEAJCQAgIASEgBMRU56AGXr4EEhKA+Hi5ZwcDss6LN9FIxr4f5MTvVF678TNnh/7lPTTOeVEjf6VpiRHZ9x3Kq/3IX2lInjcPATHV5uH42md5EQ9EPEzAuUux2L43Clt3yz0rGWzfE4XzV2IVc7LPCzeaoCdPExB+Ow67DkSLRtL5jvA7dPZiLO7eT8DzuJd5wlzT3D199hK3vo3DnoPSvln5/ee5t+2OwpGTMfj51xeIjnmJhDw4AEsZtxgjHkTGK+1nNT85fxS2743GhataP0L2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)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "dwLlY7i4hhq1"
- },
- "source": [
- "A Pipeline is specified as a sequence of stages, and each stage is either a Transformer or an Estimator. These stages are run in order, and the input DataFrame is transformed as it passes through each stage. That is, the data are passed through the fitted pipeline in order. Each stage’s transform() method updates the dataset and passes it to the next stage. With the help of Pipelines, we can ensure that training and test data go through identical feature processing steps.\n",
- "\n",
- "Now let’s see how this can be done in Spark NLP using Annotators and Transformers. Assume that we have the following steps that need to be applied one by one on a data frame.\n",
- "\n",
- "- Split text into sentences\n",
- "- Tokenize\n",
- "\n",
- "And here is how we code this pipeline up in Spark NLP."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "_2mZXDVehhDU"
- },
- "outputs": [],
- "source": [
- "from pyspark.ml import Pipeline\n",
- "\n",
- "documentAssembler = DocumentAssembler()\\\n",
- " .setInputCol(\"text\")\\\n",
- " .setOutputCol(\"document\")\n",
- "\n",
- "sentenceDetector = SentenceDetector()\\\n",
- " .setInputCols(['document'])\\\n",
- " .setOutputCol('sentences')\n",
- "\n",
- "tokenizer = Tokenizer() \\\n",
- " .setInputCols([\"sentences\"]) \\\n",
- " .setOutputCol(\"token\")\n",
- "\n",
- "nlpPipeline = Pipeline(stages=[documentAssembler, \n",
- " sentenceDetector,\n",
- " tokenizer])\n",
- "\n",
- "spark_df = spark.read.text('./sample-sentences-en.txt').toDF('text')\n",
- "\n",
- "pipelineModel = nlpPipeline.fit(spark_df)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 374,
- "status": "ok",
- "timestamp": 1664907213434,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "9Rq_CRWN6Zge",
- "outputId": "22f861c9-ea47-4f60-9817-acb0e9c8cd53"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "+-----------------------------------------------------------------------------+\n",
- "|text |\n",
- "+-----------------------------------------------------------------------------+\n",
- "|Peter is a very good person. |\n",
- "|My life in Russia is very interesting. |\n",
- "|John and Peter are brothers. However they don't support each other that much.|\n",
- "|Lucas Nogal Dunbercker is no longer happy. He has a good car though. |\n",
- "|Europe is very culture rich. There are huge churches! and big houses! |\n",
- "+-----------------------------------------------------------------------------+\n",
- "\n"
- ]
- }
- ],
- "source": [
- "spark_df = spark.read.text('./sample-sentences-en.txt').toDF('text')\n",
- "\n",
- "spark_df.show(truncate=False)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "JuhTX4-Vk-cd"
- },
- "outputs": [],
- "source": [
- "result = pipelineModel.transform(spark_df)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 448,
- "status": "ok",
- "timestamp": 1664907217901,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "iaWf94QPlT51",
- "outputId": "7a44f67b-af29-48c5-f830-203b51459e6e"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "+----------------------------------------+----------------------------------------+----------------------------------------+----------------------------------------+\n",
- "| text| document| sentences| token|\n",
- "+----------------------------------------+----------------------------------------+----------------------------------------+----------------------------------------+\n",
- "| Peter is a very good person.|[{document, 0, 27, Peter is a very go...|[{document, 0, 27, Peter is a very go...|[{token, 0, 4, Peter, {sentence -> 0}...|\n",
- "| My life in Russia is very interesting.|[{document, 0, 37, My life in Russia ...|[{document, 0, 37, My life in Russia ...|[{token, 0, 1, My, {sentence -> 0}, [...|\n",
- "|John and Peter are brothers. However ...|[{document, 0, 76, John and Peter are...|[{document, 0, 27, John and Peter are...|[{token, 0, 3, John, {sentence -> 0},...|\n",
- "|Lucas Nogal Dunbercker is no longer h...|[{document, 0, 67, Lucas Nogal Dunber...|[{document, 0, 41, Lucas Nogal Dunber...|[{token, 0, 4, Lucas, {sentence -> 0}...|\n",
- "|Europe is very culture rich. There ar...|[{document, 0, 68, Europe is very cul...|[{document, 0, 27, Europe is very cul...|[{token, 0, 5, Europe, {sentence -> 0...|\n",
- "+----------------------------------------+----------------------------------------+----------------------------------------+----------------------------------------+\n",
- "\n"
- ]
- }
- ],
- "source": [
- "result.show(truncate=40)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 4,
- "status": "ok",
- "timestamp": 1664907219318,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "zfz0_-eFlXzk",
- "outputId": "13fe22c1-11a7-451b-dfc3-2bc50a653bd8"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "root\n",
- " |-- text: string (nullable = true)\n",
- " |-- document: array (nullable = true)\n",
- " | |-- element: struct (containsNull = true)\n",
- " | | |-- annotatorType: string (nullable = true)\n",
- " | | |-- begin: integer (nullable = false)\n",
- " | | |-- end: integer (nullable = false)\n",
- " | | |-- result: string (nullable = true)\n",
- " | | |-- metadata: map (nullable = true)\n",
- " | | | |-- key: string\n",
- " | | | |-- value: string (valueContainsNull = true)\n",
- " | | |-- embeddings: array (nullable = true)\n",
- " | | | |-- element: float (containsNull = false)\n",
- " |-- sentences: array (nullable = true)\n",
- " | |-- element: struct (containsNull = true)\n",
- " | | |-- annotatorType: string (nullable = true)\n",
- " | | |-- begin: integer (nullable = false)\n",
- " | | |-- end: integer (nullable = false)\n",
- " | | |-- result: string (nullable = true)\n",
- " | | |-- metadata: map (nullable = true)\n",
- " | | | |-- key: string\n",
- " | | | |-- value: string (valueContainsNull = true)\n",
- " | | |-- embeddings: array (nullable = true)\n",
- " | | | |-- element: float (containsNull = false)\n",
- " |-- token: array (nullable = true)\n",
- " | |-- element: struct (containsNull = true)\n",
- " | | |-- annotatorType: string (nullable = true)\n",
- " | | |-- begin: integer (nullable = false)\n",
- " | | |-- end: integer (nullable = false)\n",
- " | | |-- result: string (nullable = true)\n",
- " | | |-- metadata: map (nullable = true)\n",
- " | | | |-- key: string\n",
- " | | | |-- value: string (valueContainsNull = true)\n",
- " | | |-- embeddings: array (nullable = true)\n",
- " | | | |-- element: float (containsNull = false)\n",
- "\n"
- ]
- }
- ],
- "source": [
- "result.printSchema()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 323,
- "status": "ok",
- "timestamp": 1664907221583,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "599Y4hQsl_mF",
- "outputId": "a64afdac-956c-43f9-a386-f27fc17f0dc9"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[Row(result=['Peter is a very good person.']),\n",
- " Row(result=['My life in Russia is very interesting.']),\n",
- " Row(result=['John and Peter are brothers.', \"However they don't support each other that much.\"])]"
- ]
- },
- "execution_count": 63,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "result.select('sentences.result').take(3)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 8,
- "status": "ok",
- "timestamp": 1664907223220,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "ehzhHXu6luaF",
- "outputId": "b79b06aa-3f1a-47c4-d688-f1c78052f2c5"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "Row(token=[Row(annotatorType='token', begin=0, end=3, result='John', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=5, end=7, result='and', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=9, end=13, result='Peter', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=15, end=17, result='are', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=19, end=26, result='brothers', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=27, end=27, result='.', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=29, end=35, result='However', metadata={'sentence': '1'}, embeddings=[]), Row(annotatorType='token', begin=37, end=40, result='they', metadata={'sentence': '1'}, embeddings=[]), Row(annotatorType='token', begin=42, end=46, result=\"don't\", metadata={'sentence': '1'}, embeddings=[]), Row(annotatorType='token', begin=48, end=54, result='support', metadata={'sentence': '1'}, embeddings=[]), Row(annotatorType='token', begin=56, end=59, result='each', metadata={'sentence': '1'}, embeddings=[]), Row(annotatorType='token', begin=61, end=65, result='other', metadata={'sentence': '1'}, embeddings=[]), Row(annotatorType='token', begin=67, end=70, result='that', metadata={'sentence': '1'}, embeddings=[]), Row(annotatorType='token', begin=72, end=75, result='much', metadata={'sentence': '1'}, embeddings=[]), Row(annotatorType='token', begin=76, end=76, result='.', metadata={'sentence': '1'}, embeddings=[])])"
- ]
- },
- "execution_count": 64,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "result.select('token').take(3)[2]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "42dSp9dGmtmr"
- },
- "source": [
- "## Normalizer"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "spOjcducnAsR"
- },
- "source": [
- "Removes all dirty characters from text following a regex pattern and transforms words based on a provided dictionary\n",
- "\n",
- "`setCleanupPatterns(patterns)`: Regular expressions list for normalization, defaults [^A-Za-z]\n",
- "\n",
- "`setLowercase(value)`: lowercase tokens, default false\n",
- "\n",
- "`setSlangDictionary(path)`: txt file with delimited words to be transformed into something else\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 35
- },
- "executionInfo": {
- "elapsed": 523,
- "status": "ok",
- "timestamp": 1664907226445,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "h6XKX2l7_Jqk",
- "outputId": "49463712-e54d-4651-ca8e-5686901f2c7c"
- },
- "outputs": [
- {
- "data": {
- "application/vnd.google.colaboratory.intrinsic+json": {
- "type": "string"
- },
- "text/plain": [
- "'!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~'"
- ]
- },
- "execution_count": 65,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import string\n",
- "string.punctuation"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "6hq2ZBWl_WMu"
- },
- "outputs": [],
- "source": [
- "from sparknlp.base import *\n",
- "from sparknlp.annotator import *\n",
- "\n",
- "documentAssembler = DocumentAssembler()\\\n",
- " .setInputCol(\"text\")\\\n",
- " .setOutputCol(\"document\")\n",
- "\n",
- "tokenizer = Tokenizer() \\\n",
- " .setInputCols([\"document\"]) \\\n",
- " .setOutputCol(\"token\")\n",
- " \n",
- "normalizer = Normalizer() \\\n",
- " .setInputCols([\"token\"]) \\\n",
- " .setOutputCol(\"normalized\")\\\n",
- " .setLowercase(True)\\\n",
- " .setCleanupPatterns([\"[^\\w\\d\\s]\"]) # remove punctuations (keep alphanumeric chars)\n",
- " # if we don't set CleanupPatterns, it will only keep alphabet letters ([^A-Za-z])\n",
- "\n",
- "nlpPipeline = Pipeline(stages=[documentAssembler, \n",
- " tokenizer,\n",
- " normalizer])\n",
- "\n",
- "result = nlpPipeline.fit(spark_df).transform(spark_df)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 358,
- "status": "ok",
- "timestamp": 1664907247428,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "25YyJJYXppji",
- "outputId": "6de6f1d5-668e-44d2-ea63-0245d72f5902"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[DocumentAssembler_d4926309c3ee,\n",
- " REGEX_TOKENIZER_a4789e51e51c,\n",
- " NORMALIZER_81bbdb7b0bdb]"
- ]
- },
- "execution_count": 68,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "nlpPipeline.fit(spark_df).stages"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 795,
- "status": "ok",
- "timestamp": 1664907249847,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "oUp4au5eoYrw",
- "outputId": "fc0588b5-3e3f-4895-f9ab-2800eaf253ce"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "+----------------------------------------+----------------------------------------+----------------------------------------+----------------------------------------+\n",
- "| text| document| token| normalized|\n",
- "+----------------------------------------+----------------------------------------+----------------------------------------+----------------------------------------+\n",
- "| Peter is a very good person.|[{document, 0, 27, Peter is a very go...|[{token, 0, 4, Peter, {sentence -> 0}...|[{token, 0, 4, peter, {sentence -> 0}...|\n",
- "| My life in Russia is very interesting.|[{document, 0, 37, My life in Russia ...|[{token, 0, 1, My, {sentence -> 0}, [...|[{token, 0, 1, my, {sentence -> 0}, [...|\n",
- "|John and Peter are brothers. However ...|[{document, 0, 76, John and Peter are...|[{token, 0, 3, John, {sentence -> 0},...|[{token, 0, 3, john, {sentence -> 0},...|\n",
- "|Lucas Nogal Dunbercker is no longer h...|[{document, 0, 67, Lucas Nogal Dunber...|[{token, 0, 4, Lucas, {sentence -> 0}...|[{token, 0, 4, lucas, {sentence -> 0}...|\n",
- "|Europe is very culture rich. There ar...|[{document, 0, 68, Europe is very cul...|[{token, 0, 5, Europe, {sentence -> 0...|[{token, 0, 5, europe, {sentence -> 0...|\n",
- "+----------------------------------------+----------------------------------------+----------------------------------------+----------------------------------------+\n",
- "\n"
- ]
- }
- ],
- "source": [
- "result.show(truncate=40)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 7,
- "status": "ok",
- "timestamp": 1664907250848,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "zxS0MEoM02wl",
- "outputId": "c24602d7-feda-425a-c138-fee038f592cf"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[Row(token=[Row(annotatorType='token', begin=0, end=4, result='Peter', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=6, end=7, result='is', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=9, end=9, result='a', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=11, end=14, result='very', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=16, end=19, result='good', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=21, end=26, result='person', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=27, end=27, result='.', metadata={'sentence': '0'}, embeddings=[])]),\n",
- " Row(token=[Row(annotatorType='token', begin=0, end=1, result='My', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=3, end=6, result='life', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=8, end=9, result='in', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=11, end=16, result='Russia', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=18, end=19, result='is', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=21, end=24, result='very', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=26, end=36, result='interesting', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=37, end=37, result='.', metadata={'sentence': '0'}, embeddings=[])])]"
- ]
- },
- "execution_count": 70,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "result.select('token').take(2)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 542,
- "status": "ok",
- "timestamp": 1664907252725,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "xYQcnFVloa8R",
- "outputId": "ff7780a5-bfc7-4523-8820-b6577918bb5f"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[Row(result=['peter', 'is', 'a', 'very', 'good', 'person']),\n",
- " Row(result=['my', 'life', 'in', 'russia', 'is', 'very', 'interesting'])]"
- ]
- },
- "execution_count": 71,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "result.select('normalized.result').take(2)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 9,
- "status": "ok",
- "timestamp": 1664907253166,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "dy6TLD9c1LTg",
- "outputId": "ad940727-807d-42c5-e9ca-a415d419e080"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[Row(normalized=[Row(annotatorType='token', begin=0, end=4, result='peter', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=6, end=7, result='is', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=9, end=9, result='a', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=11, end=14, result='very', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=16, end=19, result='good', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=21, end=26, result='person', metadata={'sentence': '0'}, embeddings=[])]),\n",
- " Row(normalized=[Row(annotatorType='token', begin=0, end=1, result='my', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=3, end=6, result='life', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=8, end=9, result='in', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=11, end=16, result='russia', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=18, end=19, result='is', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=21, end=24, result='very', metadata={'sentence': '0'}, embeddings=[]), Row(annotatorType='token', begin=26, end=36, result='interesting', metadata={'sentence': '0'}, embeddings=[])])]"
- ]
- },
- "execution_count": 72,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "result.select('normalized').take(2)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "__iJ4EMeVb3n"
- },
- "source": [
- "## Document Normalizer"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "wfLIupJFZi3c"
- },
- "source": [
- "The DocumentNormalizer is an annotator that can be used after the DocumentAssembler to narmalize documents once that they have been processed and indexed .\n",
- "It takes in input annotated documents of type Array AnnotatorType.DOCUMENT and gives as output annotated document of type AnnotatorType.DOCUMENT .\n",
- "\n",
- "Parameters are: \n",
- "\n",
- "| Parametre | Description |\n",
- "| - | - |\n",
- "|**inputCol** |input column name string which targets a column of type Array(AnnotatorType.DOCUMENT).|\n",
- "|**outputCol** |output column name string which targets a column of type AnnotatorType.DOCUMENT.|\n",
- "|**action** |action string to perform applying regex patterns, i.e. (clean | extract). Default is \"clean\".|\n",
- "|**cleanupPatterns** |normalization regex patterns which match will be removed from document. Default is \"<[^>]*>\" (e.g., it removes all HTML tags).|\n",
- "|**replacement** |replacement string to apply when regexes match. Default is \" \".|\n",
- "|**lowercase** |whether to convert strings to lowercase. Default is False.|\n",
- "|**removalPolicy** |removalPolicy to remove patterns from text with a given policy. Valid policy values are: \"all\", \"pretty_all\", \"first\", \"pretty_first\". Defaults is \"pretty_all\". |\n",
- "|**encoding** |file encoding to apply on normalized documents. Supported encodings are: UTF_8, UTF_16, US_ASCII, ISO-8859-1, UTF-16BE, UTF-16LE. Default is \"UTF-8\".|\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "8Tj1c6UYhSzK"
- },
- "outputs": [],
- "source": [
- "text = '''\n",
- "
\n",
- " THE WORLD'S LARGEST WEB DEVELOPER SITE\n",
- "
THE WORLD'S LARGEST WEB DEVELOPER SITE
\n",
- "
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum..
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum..
\n",
- " "
- ],
- "text/plain": [
- " chunks entities\n",
- "0 Peter Parker PER\n",
- "1 New York LOC\n",
- "2 Bruce Wayne PER\n",
- "3 Gotham City LOC"
- ]
- },
- "execution_count": 23,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# fullAnnotate in LightPipeline\n",
- "\n",
- "light_model = LightPipeline(pipelineModel)\n",
- "\n",
- "light_result = light_model.fullAnnotate('Peter Parker is a nice persn and lives in New York. Bruce Wayne is also a nice guy and lives in Gotham City.')\n",
- "\n",
- "\n",
- "chunks = []\n",
- "entities = []\n",
- "\n",
- "for n in light_result[0]['ner_chunk']:\n",
- " \n",
- " chunks.append(n.result)\n",
- " entities.append(n.metadata['entity']) \n",
- " \n",
- " \n",
- "import pandas as pd\n",
- "\n",
- "df = pd.DataFrame({'chunks':chunks, 'entities':entities})\n",
- "\n",
- "df"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "TkLVVip_7_FP"
- },
- "source": [
- "### NER with BertForTokenClassification\n",
- "\n",
- "[BertForTokenClassification](https://nlp.johnsnowlabs.com/docs/en/transformers#bertfortokenclassification) can load Bert Models with a token classification head on top (a linear layer on top of the hidden-states output) e.g. for Named-Entity-Recognition (NER) tasks.\n",
- "\n",
- "For more examples of BertForTokenClassification models, please check [Transformers for Token Classification in Spark NLP notebook](https://github.com/JohnSnowLabs/spark-nlp-workshop/blob/master/tutorials/Certification_Trainings/Public/14.Transformers_for_Token_Classification_in_Spark_NLP.ipynb). \n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "vDQU8ngXTGwr"
- },
- "source": [
- "Pretrained models can be loaded with `pretrained()` of the companion object. The default model is `\"bert_base_token_classifier_conll03\"`, if no name is provided.
\n",
- "\n",
- "**Here are Bert Based Token Classification models available in Spark NLP:**\n",
- "\n",
- " \n",
- "\n",
- "| Title | Name | Language |\n",
- "|:-----------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------|:-----------|\n",
- "| BERT Token Classification - NER CoNLL (bert_base_token_classifier_conll03) | bert_base_token_classifier_conll03 | en |\n",
- "| BERT Token Classification - NER OntoNotes (bert_base_token_classifier_ontonote) | bert_base_token_classifier_ontonote | en |\n",
- "| BERT Token Classification Large - NER CoNLL (bert_large_token_classifier_conll03) | bert_large_token_classifier_conll03 | en |\n",
- "| BERT Token Classification Large - NER OntoNotes (bert_large_token_classifier_ontonote) | bert_large_token_classifier_ontonote | en |\n",
- "| BERT Token Classification - ParsBERT for Persian Language Understanding (bert_token_classifier_parsbert_armanner) | bert_token_classifier_parsbert_armanner | fa |\n",
- "| BERT Token Classification - ParsBERT for Persian Language Understanding (bert_token_classifier_parsbert_ner) | bert_token_classifier_parsbert_ner | fa |\n",
- "| BERT Token Classification - ParsBERT for Persian Language Understanding (bert_token_classifier_parsbert_peymaner) | bert_token_classifier_parsbert_peymaner | fa |\n",
- "| BERT Token Classification - BETO Spanish Language Understanding (bert_token_classifier_spanish_ner) | bert_token_classifier_spanish_ner | es |\n",
- "| BERT Token Classification - Swedish Language Understanding (bert_token_classifier_swedish_ner) | bert_token_classifier_swedish_ner | sv |\n",
- "| BERT Token Classification - Turkish Language Understanding (bert_token_classifier_turkish_ner) | bert_token_classifier_turkish_ner | tr |\n",
- "| DistilBERT Token Classification - NER CoNLL (distilbert_base_token_classifier_conll03) | distilbert_base_token_classifier_conll03 | en |\n",
- "| DistilBERT Token Classification - NER OntoNotes (distilbert_base_token_classifier_ontonotes) | distilbert_base_token_classifier_ontonotes | en |\n",
- "| DistilBERT Token Classification - DistilbertNER for Persian Language Understanding (distilbert_token_classifier_persian_ner) | distilbert_token_classifier_persian_ner | fa |\n",
- "| BERT Token Classification - Few-NERD (bert_base_token_classifier_few_nerd) | bert_base_token_classifier_few_nerd | en |\n",
- "| DistilBERT Token Classification - Few-NERD (distilbert_base_token_classifier_few_nerd) | distilbert_base_token_classifier_few_nerd | en |\n",
- "| Named Entity Recognition for Japanese (BertForTokenClassification) | bert_token_classifier_ner_ud_gsd | ja |\n",
- "| Detect PHI for Deidentification (BertForTokenClassifier) | bert_token_classifier_ner_deid | en |\n",
- "| Detect Clinical Entities (BertForTokenClassifier) | bert_token_classifier_ner_jsl | en |\n",
- "| Detect Drug Chemicals (BertForTokenClassifier) | bert_token_classifier_ner_drugs | en |\n",
- "| Detect Clinical Entities (Slim version, BertForTokenClassifier) | bert_token_classifier_ner_jsl_slim | en |\n",
- "| ALBERT Token Classification Base - NER CoNLL (albert_base_token_classifier_conll03) | albert_base_token_classifier_conll03 | en |\n",
- "| ALBERT Token Classification Large - NER CoNLL (albert_large_token_classifier_conll03) | albert_large_token_classifier_conll03 | en |\n",
- "| ALBERT Token Classification XLarge - NER CoNLL (albert_xlarge_token_classifier_conll03) | albert_xlarge_token_classifier_conll03 | en |\n",
- "| DistilRoBERTa Token Classification - NER OntoNotes (distilroberta_base_token_classifier_ontonotes) | distilroberta_base_token_classifier_ontonotes | en |\n",
- "| RoBERTa Token Classification Base - NER CoNLL (roberta_base_token_classifier_conll03) | roberta_base_token_classifier_conll03 | en |\n",
- "| RoBERTa Token Classification Base - NER OntoNotes (roberta_base_token_classifier_ontonotes) | roberta_base_token_classifier_ontonotes | en |\n",
- "| RoBERTa Token Classification Large - NER CoNLL (roberta_large_token_classifier_conll03) | roberta_large_token_classifier_conll03 | en |\n",
- "| RoBERTa Token Classification Large - NER OntoNotes (roberta_large_token_classifier_ontonotes) | roberta_large_token_classifier_ontonotes | en |\n",
- "| RoBERTa Token Classification For Persian (roberta_token_classifier_zwnj_base_ner) | roberta_token_classifier_zwnj_base_ner | fa |\n",
- "| XLM-RoBERTa Token Classification Base - NER XTREME (xlm_roberta_token_classifier_ner_40_lang) | xlm_roberta_token_classifier_ner_40_lang | xx |\n",
- "| XLNet Token Classification Base - NER CoNLL (xlnet_base_token_classifier_conll03) | xlnet_base_token_classifier_conll03 | en |\n",
- "| XLNet Token Classification Large - NER CoNLL (xlnet_large_token_classifier_conll03) | xlnet_large_token_classifier_conll03 | en |\n",
- "| Detect Adverse Drug Events (BertForTokenClassification) | bert_token_classifier_ner_ade | en |\n",
- "| Detect Anatomical Regions (BertForTokenClassification) | bert_token_classifier_ner_anatomy | en |\n",
- "| Detect Bacterial Species (BertForTokenClassification) | bert_token_classifier_ner_bacteria | en |\n",
- "| XLM-RoBERTa Token Classification Base - NER CoNLL (xlm_roberta_base_token_classifier_conll03) | xlm_roberta_base_token_classifier_conll03 | en |\n",
- "| XLM-RoBERTa Token Classification Base - NER OntoNotes (xlm_roberta_base_token_classifier_ontonotes) | xlm_roberta_base_token_classifier_ontonotes | en |\n",
- "| Longformer Token Classification Base - NER CoNLL (longformer_base_token_classifier_conll03) | longformer_base_token_classifier_conll03 | en |\n",
- "| Longformer Token Classification Base - NER CoNLL (longformer_large_token_classifier_conll03) | longformer_large_token_classifier_conll03 | en |\n",
- "| Detect Chemicals in Medical text (BertForTokenClassification) | bert_token_classifier_ner_chemicals | en |\n",
- "| Detect Chemical Compounds and Genes (BertForTokenClassifier) | bert_token_classifier_ner_chemprot | en |\n",
- "| Detect Cancer Genetics (BertForTokenClassification) | bert_token_classifier_ner_bionlp | en |\n",
- "| Detect Cellular/Molecular Biology Entities (BertForTokenClassification) | bert_token_classifier_ner_cellular | en |\n",
- "| Detect concepts in drug development trials (BertForTokenClassification) | bert_token_classifier_drug_development_trials | en |\n",
- "| Detect Cancer Genetics (BertForTokenClassification) | bert_token_classifier_ner_bionlp | en |\n",
- "| Detect Adverse Drug Events (BertForTokenClassification) | bert_token_classifier_ner_ade | en |\n",
- "| Detect Anatomical Regions (MedicalBertForTokenClassifier) | bert_token_classifier_ner_anatomy | en |\n",
- "| Detect Cellular/Molecular Biology Entities (BertForTokenClassification) | bert_token_classifier_ner_cellular | en |\n",
- "| Detect Chemicals in Medical text (BertForTokenClassification) | bert_token_classifier_ner_chemicals | en |\n",
- "| Detect Chemical Compounds and Genes (BertForTokenClassifier) | bert_token_classifier_ner_chemprot | en |\n",
- "| Detect PHI for Deidentification (BertForTokenClassifier) | bert_token_classifier_ner_deid | en |\n",
- "| Detect Drug Chemicals (BertForTokenClassifier) | bert_token_classifier_ner_drugs | en |\n",
- "| Detect Clinical Entities (BertForTokenClassifier) | bert_token_classifier_ner_jsl | en |\n",
- "| Detect Clinical Entities (Slim version, BertForTokenClassifier) | bert_token_classifier_ner_jsl_slim | en |\n",
- "| Detect Bacterial Species (BertForTokenClassification) | bert_token_classifier_ner_bacteria | en |"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "oBCnq6tnThMw"
- },
- "source": [
- "**You can find all these models and more [HERE](https://nlp.johnsnowlabs.com/models?edition=Spark+NLP)**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 33616,
- "status": "ok",
- "timestamp": 1664911868468,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "EYaPujeVLUsu",
- "outputId": "6e65404b-4f0c-4cc6-c50f-76960e38ea15"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "bert_base_token_classifier_conll03 download started this may take some time.\n",
- "Approximate size to download 385.4 MB\n",
- "[OK!]\n"
- ]
- }
- ],
- "source": [
- "# no need for token columns \n",
- "tokenClassifier = BertForTokenClassification.pretrained('bert_base_token_classifier_conll03', 'en') \\\n",
- " .setInputCols('document',\"token\") \\\n",
- " .setOutputCol(\"ner\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 3202,
- "status": "ok",
- "timestamp": 1664911871653,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "Ga2fLVNG8Az7",
- "outputId": "207c4249-a13f-45a7-d77a-82cea0c2c139"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "+-------------------------------------------+---------+\n",
- "|chunk |ner_label|\n",
- "+-------------------------------------------+---------+\n",
- "|Turner Newall |ORG |\n",
- "|Federal Mogul |ORG |\n",
- "|TORONTO |LOC |\n",
- "|Canada |LOC |\n",
- "|Ansari X Prize |MISC |\n",
- "|University of Louisville |ORG |\n",
- "|Mike Fitzpatrick |PER |\n",
- "|Southern California's |LOC |\n",
- "|British Department for Education and Skills|ORG |\n",
- "|DfES |ORG |\n",
- "|Music Manifesto |MISC |\n",
- "|Netsky |MISC |\n",
- "|Sasser |MISC |\n",
- "|Sophos |ORG |\n",
- "|Jaschan |PER |\n",
- "|Germany |LOC |\n",
- "|Netsky |MISC |\n",
- "|Sasser |MISC |\n",
- "|GPG/OpenPGP |MISC |\n",
- "|PGP |MISC |\n",
- "+-------------------------------------------+---------+\n",
- "only showing top 20 rows\n",
- "\n"
- ]
- }
- ],
- "source": [
- "nlpPipeline = Pipeline(\n",
- " stages=[\n",
- " documentAssembler, \n",
- " tokenizer,\n",
- " tokenClassifier,\n",
- " ner_converter\n",
- " ])\n",
- "\n",
- "result = nlpPipeline.fit(news_df).transform(news_df.limit(10))\n",
- "\n",
- "result.select(F.explode(F.arrays_zip(result.ner_chunk.result, \n",
- " result.ner_chunk.metadata)).alias(\"cols\")) \\\n",
- " .select(F.expr(\"cols['0']\").alias(\"chunk\"),\n",
- " F.expr(\"cols['1']['entity']\").alias(\"ner_label\")).show(truncate=False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "URB45j2dAYql"
- },
- "source": [
- "### Multi-Lingual NER \n",
- "These NER Models are able to extract entities from a variety of languages\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "4XgIxV9O8nLb"
- },
- "source": [
- "#### Multi-Lingual NER (XLM-RoBERTa)\n",
- "[XlmRoBertaForTokenClassification](https://nlp.johnsnowlabs.com/docs/en/transformers#xlmrobertafortokenclassification) can load XLM-RoBERTa Models with a token classification head on top (a linear layer on top of the hidden-states output) e.g. for Named-Entity-Recognition (NER) tasks.\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "| Spark NLP Model Name | language | predicted_entities | Class | Number of Languages supported |\n",
- "|:-----------------------------------------|:-----------|:-------------------------------------------------------|:--------------------------------|:-----------------------|\n",
- "| ner_wikiner_glove_840B_300 | xx | ['B-LOC', 'I-LOC', 'B-ORG', 'I-ORG', 'B-PER', 'I-PER'] | NerDLModel |8 |\n",
- "| ner_wikiner_xlm_roberta_base | xx | ['B-LOC', 'I-LOC', 'B-ORG', 'I-ORG', 'B-PER', 'I-PER'] | NerDLModel |8 |\n",
- "| ner_xtreme_glove_840B_300 | xx | ['B-LOC', 'I-LOC', 'B-ORG', 'I-ORG', 'B-PER', 'I-PER'] | NerDLModel |40 |\n",
- "| ner_xtreme_xlm_roberta_xtreme_base | xx | ['B-LOC', 'I-LOC', 'B-ORG', 'I-ORG', 'B-PER', 'I-PER'] | NerDLModel |40 | \n",
- "| xlm_roberta_token_classifier_ner_40_lang | xx | ['LOC', 'ORG', 'PER', 'O'] | XlmRoBertaForTokenClassification |40 | \n",
- "\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 68422,
- "status": "ok",
- "timestamp": 1664911940070,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "V5YtYY3w3OfJ",
- "outputId": "8745aae9-9371-4a2e-edea-c2f16c8f03e6"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "xlm_roberta_token_classifier_ner_40_lang download started this may take some time.\n",
- "Approximate size to download 921.6 MB\n",
- "[OK!]\n"
- ]
- }
- ],
- "source": [
- "tokenClassifier = XlmRoBertaForTokenClassification() \\\n",
- " .pretrained('xlm_roberta_token_classifier_ner_40_lang', 'xx') \\\n",
- " .setInputCols(['token', 'document']) \\\n",
- " .setOutputCol('ner')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 4283,
- "status": "ok",
- "timestamp": 1664911944344,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "25M5P9ur2mf0",
- "outputId": "bfd99210-c26f-49cb-b98f-ee97f171060f"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "+--------------+---------+\n",
- "|token |ner_label|\n",
- "+--------------+---------+\n",
- "|Peter |PER |\n",
- "|Parker |PER |\n",
- "|is |O |\n",
- "|a |O |\n",
- "|nice |O |\n",
- "|lad |O |\n",
- "|and |O |\n",
- "|lives |O |\n",
- "|in |O |\n",
- "|New |LOC |\n",
- "|York |LOC |\n",
- "|Das |O |\n",
- "|Schloss |ORG |\n",
- "|Charlottenburg|ORG |\n",
- "|in |O |\n",
- "|Berlin |LOC |\n",
- "|ist |O |\n",
- "|eines |O |\n",
- "|der |O |\n",
- "|schoensten |O |\n",
- "|Staedte |O |\n",
- "|in |O |\n",
- "|Deutschland |LOC |\n",
- "|sagen |O |\n",
- "|viele |O |\n",
- "|Menschen |O |\n",
- "|Peter |PER |\n",
- "|Parker |PER |\n",
- "|est |O |\n",
- "|un |O |\n",
- "|gentil |O |\n",
- "|garçon |O |\n",
- "|et |O |\n",
- "|vit |O |\n",
- "|à |O |\n",
- "|New |LOC |\n",
- "|York |LOC |\n",
- "|پیٹر |PER |\n",
- "|پارکر |PER |\n",
- "|ایک |O |\n",
- "|اچھا |O |\n",
- "|لڑکا |O |\n",
- "|ہے |O |\n",
- "|اور |O |\n",
- "|وہ |O |\n",
- "|نیو |LOC |\n",
- "|یارک |LOC |\n",
- "|میں |O |\n",
- "|رہتا |O |\n",
- "|ھے |O |\n",
- "+--------------+---------+\n",
- "\n"
- ]
- }
- ],
- "source": [
- "from pyspark.sql.types import StringType\n",
- "from pyspark.sql import functions as F\n",
- "\n",
- "# No need for NER Converter\n",
- "nlpPipeline = Pipeline(stages=[documentAssembler, \n",
- " tokenizer,\n",
- " tokenClassifier,])\n",
- "\n",
- "text = [\n",
- "'Peter Parker is a nice lad and lives in New York', \n",
- "'Das Schloss Charlottenburg in Berlin ist eines der schoensten Staedte in Deutschland sagen viele Menschen',\n",
- "'Peter Parker est un gentil garçon et vit à New York',\n",
- "'پیٹر پارکر ایک اچھا لڑکا ہے اور وہ نیو یارک میں رہتا ھے',\n",
- "]\n",
- "data_set = spark.createDataFrame(text, StringType()).toDF(\"text\")\n",
- "result = nlpPipeline.fit(data_set).transform(data_set)\n",
- "\n",
- "\n",
- "result.select(F.explode(F.arrays_zip(result.token.result, \n",
- " result.ner.result)).alias(\"cols\")) \\\n",
- " .select(F.expr(\"cols['0']\").alias('token'),\n",
- " F.expr(\"cols['1']\").alias(\"ner_label\")).show(100,truncate=False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "8FqaDA6asy2E"
- },
- "source": [
- "## Highlight the entities"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "m0gqRk_uRcl9"
- },
- "outputs": [],
- "source": [
- "# Install spark-nlp-display\n",
- "! pip install -q spark-nlp-display"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 15949,
- "status": "ok",
- "timestamp": 1664911974770,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "325EZWIh5X_n",
- "outputId": "98d1b0fd-067e-4833-b32c-aea978af42d7"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "recognize_entities_dl download started this may take some time.\n",
- "Approx size to download 160.1 MB\n",
- "[OK!]\n"
- ]
- }
- ],
- "source": [
- "from sparknlp.pretrained import PretrainedPipeline\n",
- "\n",
- "pipeline = PretrainedPipeline('recognize_entities_dl', lang='en')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 2054,
- "status": "ok",
- "timestamp": 1664911976788,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "A-rigiYR55D_",
- "outputId": "6eb9216e-c6cf-46cf-9653-bce0b4a95e6e"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "dict_keys(['entities', 'document', 'token', 'ner', 'embeddings', 'sentence'])"
- ]
- },
- "execution_count": 30,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "ann_text = pipeline.fullAnnotate('Peter Parker is a nice persn and lives in New York. Bruce Wayne is also a nice guy and lives in Gotham City.')[0]\n",
- "ann_text.keys()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 299
- },
- "executionInfo": {
- "elapsed": 25,
- "status": "ok",
- "timestamp": 1664911978443,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "JLXjjUFk57eO",
- "outputId": "4f402e23-6231-4117-be0f-d1178c78a58d"
- },
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- " Peter Parker PER is a nice persn and lives in New York LOC. Bruce Wayne PER is also a nice guy and lives in Gotham City LOC."
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- " Peter Parker PER is a nice persn and lives in New York LOC. Bruce Wayne PER is also a nice guy and lives in Gotham City LOC."
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- " Peter Parker PER is a nice persn and lives in New York. Bruce Wayne PER is also a nice guy and lives in Gotham City."
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Color code for label: \n",
- "\"LOC\": #008080\n",
- "\"PER\": #800080\n"
- ]
- }
- ],
- "source": [
- "from sparknlp_display import NerVisualizer\n",
- "\n",
- "visualiser = NerVisualizer()\n",
- "visualiser.display(ann_text, label_col='entities', document_col='document')\n",
- "\n",
- "# Change color of an entity label\n",
- "visualiser.set_label_colors({'LOC':'#008080', 'PER':'#800080'})\n",
- "visualiser.display(ann_text, label_col='entities')\n",
- "\n",
- "# Set label filter\n",
- "visualiser.display(ann_text, label_col='entities', document_col='document',\n",
- " labels=['PER'])\n",
- "\n",
- "print ('\\nColor code for label: \\n\"LOC\": {}\\n\"PER\": {}' .format(visualiser.get_label_color('LOC'),visualiser.get_label_color('PER')) )"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "v5ZbEW96mZ03"
- },
- "source": [
- "## Using Pretrained ClassifierDL and SentimentDL models"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "FKjGyOcwmiQm"
- },
- "source": [
- "| Name | Spark NLP Model Reference | Language |\n",
- "|:------------------------------------------------------------------------------------|:-------------------------------------------|:-----------|\n",
- "| TREC(50) Question Classifier | classifierdl_use_trec50 | en |\n",
- "| TREC(6) Question Classifier | classifierdl_use_trec6 | en |\n",
- "| Cyberbullying Classifier | classifierdl_use_cyberbullying | en |\n",
- "| Emotion Detection Classifier | Emotion Classifier | en |\n",
- "| Fake News Classifier | classifierdl_use_fakenews | en |\n",
- "| Sarcasm Classifier | classifierdl_use_sarcasm | en |\n",
- "| Spam Classifier | classifierdl_use_spam | en |\n",
- "| Classifier for Adverse Drug Events | classifierdl_ade_biobert | en |\n",
- "| PICO Classifier | classifierdl_pico_biobert | en |\n",
- "| Classifier for Genders - BIOBERT | classifierdl_gender_biobert | en |\n",
- "| Classifier for Genders - SBERT | classifierdl_gender_sbert | en |\n",
- "| TREC(50) Question Classifier | classifierdl_use_trec50 | en |\n",
- "| TREC(6) Question Classifier | classifierdl_use_trec6 | en |\n",
- "| Cyberbullying Classifier | classifierdl_use_cyberbullying | en |\n",
- "| Emotion Detection Classifier | classifierdl_use_emotion | en |\n",
- "| Fake News Classifier | classifierdl_use_fakenews | en |\n",
- "| Sarcasm Classifier | classifierdl_use_sarcasm | en |\n",
- "| Spam Classifier | classifierdl_use_spam | en |\n",
- "| Classifier for Adverse Drug Events | classifierdl_ade_biobert | en |\n",
- "| Classifier for Adverse Drug Events using Clinical Bert | classifierdl_ade_clinicalbert | en |\n",
- "| Classifier for Adverse Drug Events in Small Conversations | classifierdl_ade_conversational_biobert | en |\n",
- "| Classifier for Genders - BIOBERT | classifierdl_gender_biobert | en |\n",
- "| Classifier for Genders - SBERT | classifierdl_gender_sbert | en |\n",
- "| PICO Classifier | classifierdl_pico_biobert | en |\n",
- "| End-to-End (E2E) and data-driven NLG Challenge | multiclassifierdl_use_e2e | en |\n",
- "| Toxic Comment Classification | multiclassifierdl_use_toxic | en |\n",
- "| Toxic Comment Classification - Small | multiclassifierdl_use_toxic_sm | en |\n",
- "| Intent Classification for Airline Traffic Information System queries (ATIS dataset) | classifierdl_use_atis | en |\n",
- "| Identify intent in general text - SNIPS dataset | classifierdl_use_snips | en |\n",
- "| News Classifier of Turkish text | classifierdl_bert_news | tr |\n",
- "| News Classifier of German text | classifierdl_bert_news | de |\n",
- "| Cyberbullying Classifier in Turkish texts. | classifierdl_berturk_cyberbullying | tr |\n",
- "| Question Pair Classifier | classifierdl_electra_questionpair | en |\n",
- "| Question Pair Classifier Pipeline | classifierdl_electra_questionpair_pipeline | en |\n",
- "| News Classifier Pipeline for Turkish text | classifierdl_bert_news_pipeline | tr |"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 8393,
- "status": "ok",
- "timestamp": 1664911986815,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "1q7Ju4HHmagE",
- "outputId": "5a82ba79-e637-411b-eb66-2d94f1ce618c"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "classifierdl_use_fakenews download started this may take some time.\n",
- "Approximate size to download 21.4 MB\n",
- "[OK!]\n"
- ]
- }
- ],
- "source": [
- "fake_classifier = ClassifierDLModel.pretrained('classifierdl_use_fakenews', 'en') \\\n",
- " .setInputCols([\"document\", \"sentence_embeddings\"]) \\\n",
- " .setOutputCol(\"class\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "nLYQd97Qmt1a"
- },
- "source": [
- "fake_news classifier is trained on `https://raw.githubusercontent.com/joolsa/fake_real_news_dataset/master/fake_or_real_news.csv.zip`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 16,
- "status": "ok",
- "timestamp": 1664911986816,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "4lJPUe-KmqBN",
- "outputId": "cb97cb62-41b0-45ab-bc47-691fdf2106c4"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['FAKE', 'REAL']"
- ]
- },
- "execution_count": 33,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "fake_classifier.getClasses()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 59205,
- "status": "ok",
- "timestamp": 1664912050172,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "xY03ThozmwIE",
- "outputId": "871908e1-5384-47a5-dc69-5b21a5bf4fa4"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "tfhub_use download started this may take some time.\n",
- "Approximate size to download 923.7 MB\n",
- "[OK!]\n"
- ]
- }
- ],
- "source": [
- "documentAssembler = DocumentAssembler()\\\n",
- " .setInputCol(\"text\")\\\n",
- " .setOutputCol(\"document\")\n",
- "\n",
- "use = UniversalSentenceEncoder.pretrained(lang=\"en\") \\\n",
- " .setInputCols([\"document\"])\\\n",
- " .setOutputCol(\"sentence_embeddings\")\n",
- "\n",
- "nlpPipeline = Pipeline(stages=[documentAssembler, \n",
- " use,\n",
- " fake_classifier])\n",
- "\n",
- "empty_data = spark.createDataFrame([[\"\"]]).toDF(\"text\")\n",
- "\n",
- "fake_clf_model = nlpPipeline.fit(empty_data)\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "dLXj1wBWm0gQ"
- },
- "outputs": [],
- "source": [
- "!wget -q https://raw.githubusercontent.com/JohnSnowLabs/spark-nlp-workshop/master/tutorials/Certification_Trainings/Public/data/spam_ham_dataset.csv"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 359,
- "status": "ok",
- "timestamp": 1664912051072,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "HlFOegD3ofvP",
- "outputId": "ab303357-4482-4bd0-84a5-3d01e4d060fe"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'document': ['BREAKING: Leaked Picture Of Obama Being Dragged Before A Judge In Handcuffs For Wiretapping Trump'],\n",
- " 'sentence_embeddings': ['BREAKING: Leaked Picture Of Obama Being Dragged Before A Judge In Handcuffs For Wiretapping Trump'],\n",
- " 'class': ['FAKE']}"
- ]
- },
- "execution_count": 36,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "fake_lp_pipeline = LightPipeline(fake_clf_model)\n",
- "\n",
- "text = 'BREAKING: Leaked Picture Of Obama Being Dragged Before A Judge In Handcuffs For Wiretapping Trump'\n",
- "\n",
- "fake_lp_pipeline.annotate(text)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 232,
- "status": "ok",
- "timestamp": 1664912051299,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "MrOQLnBcofh5",
- "outputId": "88ed92e7-3f07-44fd-b865-567de8654a41"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "+-------------------------------------------------------------------------------------------------+\n",
- "|text |\n",
- "+-------------------------------------------------------------------------------------------------+\n",
- "|BREAKING: Leaked Picture Of Obama Being Dragged Before A Judge In Handcuffs For Wiretapping Trump|\n",
- "+-------------------------------------------------------------------------------------------------+\n",
- "\n"
- ]
- }
- ],
- "source": [
- "sample_data = spark.createDataFrame([[text]]).toDF(\"text\")\n",
- "\n",
- "sample_data.show(truncate=False)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 526,
- "status": "ok",
- "timestamp": 1664912051821,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "ZutmHe8tofOv",
- "outputId": "b65f3a39-c765-4baf-8bb1-b3256a1695c5"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "+--------------------+--------------------+--------------------+--------------------+\n",
- "| text| document| sentence_embeddings| class|\n",
- "+--------------------+--------------------+--------------------+--------------------+\n",
- "|BREAKING: Leaked ...|[{document, 0, 96...|[{sentence_embedd...|[{category, 0, 96...|\n",
- "+--------------------+--------------------+--------------------+--------------------+\n",
- "\n"
- ]
- }
- ],
- "source": [
- "pred = fake_clf_model.transform(sample_data)\n",
- "\n",
- "pred.show()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 748,
- "status": "ok",
- "timestamp": 1664912052565,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "S1VaVxd7pCAI",
- "outputId": "a367a2cc-fe82-4f78-c6bd-f37a3b76af31"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "+-------------------------------------------------------------------------------------------------+------+\n",
- "|text |result|\n",
- "+-------------------------------------------------------------------------------------------------+------+\n",
- "|BREAKING: Leaked Picture Of Obama Being Dragged Before A Judge In Handcuffs For Wiretapping Trump|[FAKE]|\n",
- "+-------------------------------------------------------------------------------------------------+------+\n",
- "\n"
- ]
- }
- ],
- "source": [
- "pred.select('text','class.result').show(truncate=False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "5wDEdQ99pIw0"
- },
- "source": [
- "you can find more samples here >> `https://github.com/KaiDMML/FakeNewsNet/tree/master/dataset`\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 27,
- "status": "ok",
- "timestamp": 1664912052566,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "J1RzlrnzS9Ry",
- "outputId": "54b72f89-43fd-43ce-8a6c-cf2117fef07f"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'document': ['Joseph Robinette Biden Jr. is an American politician who is the 46th and current president of the United States.'],\n",
- " 'sentence_embeddings': ['Joseph Robinette Biden Jr. is an American politician who is the 46th and current president of the United States.'],\n",
- " 'class': ['REAL']}"
- ]
- },
- "execution_count": 40,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "fake_lp_pipeline = LightPipeline(fake_clf_model)\n",
- "\n",
- "text = \"Joseph Robinette Biden Jr. is an American politician who is the 46th and current president of the United States.\"\n",
- "\n",
- "fake_lp_pipeline.annotate(text)\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "8X5ftW_kpVS-"
- },
- "source": [
- "## Generic classifier function"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "2AsjZNMFpVy2"
- },
- "outputs": [],
- "source": [
- "def get_clf_lp(model_name, sentiment_dl=False, pretrained=True):\n",
- "\n",
- " documentAssembler = DocumentAssembler()\\\n",
- " .setInputCol(\"text\")\\\n",
- " .setOutputCol(\"document\")\n",
- "\n",
- " use = UniversalSentenceEncoder.pretrained(lang=\"en\") \\\n",
- " .setInputCols([\"document\"])\\\n",
- " .setOutputCol(\"sentence_embeddings\")\n",
- "\n",
- "\n",
- " if pretrained:\n",
- "\n",
- " if sentiment_dl:\n",
- "\n",
- " document_classifier = SentimentDLModel.pretrained(model_name, 'en') \\\n",
- " .setInputCols([\"document\", \"sentence_embeddings\"]) \\\n",
- " .setOutputCol(\"class\")\n",
- " else:\n",
- " document_classifier = ClassifierDLModel.pretrained(model_name, 'en') \\\n",
- " .setInputCols([\"document\", \"sentence_embeddings\"]) \\\n",
- " .setOutputCol(\"class\")\n",
- "\n",
- " else:\n",
- "\n",
- " if sentiment_dl:\n",
- "\n",
- " document_classifier = SentimentDLModel.load(model_name) \\\n",
- " .setInputCols([\"document\", \"sentence_embeddings\"]) \\\n",
- " .setOutputCol(\"class\")\n",
- " else:\n",
- " document_classifier = ClassifierDLModel.load(model_name) \\\n",
- " .setInputCols([\"document\", \"sentence_embeddings\"]) \\\n",
- " .setOutputCol(\"class\")\n",
- "\n",
- " print ('classes:',document_classifier.getClasses())\n",
- "\n",
- " nlpPipeline = Pipeline(stages=[\n",
- " documentAssembler, \n",
- " use,\n",
- " document_classifier\n",
- " ])\n",
- "\n",
- " empty_data = spark.createDataFrame([[\"\"]]).toDF(\"text\")\n",
- "\n",
- " clf_pipelineFit = nlpPipeline.fit(empty_data)\n",
- "\n",
- " clf_lp_pipeline = LightPipeline(clf_pipelineFit)\n",
- "\n",
- " return clf_lp_pipeline"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 12017,
- "status": "ok",
- "timestamp": 1664912064562,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "Sv0HYuokpYWv",
- "outputId": "5b809660-2674-45aa-96b7-9d4220984ef2"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "tfhub_use download started this may take some time.\n",
- "Approximate size to download 923.7 MB\n",
- "[OK!]\n",
- "classifierdl_use_trec50 download started this may take some time.\n",
- "Approximate size to download 21.2 MB\n",
- "[OK!]\n",
- "classes: [' ENTY_color', ' ENTY_techmeth', ' DESC_manner', ' NUM_volsize', ' ENTY_letter', ' NUM_temp', ' ENTY_body', ' NUM_count', ' ENTY_instru', ' NUM_period', ' NUM_speed', ' DESC_reason', ' ENTY_symbol', ' ENTY_event', ' HUM_desc', ' NUM_perc', ' ENTY_dismed', ' NUM_ord', ' HUM_gr', ' LOC_mount', ' ABBR_abb', ' DESC_desc', ' NUM_dist', ' HUM_title', ' ENTY_lang', ' ENTY_sport', ' ENTY_plant', ' NUM_code', ' NUM_other', ' ENTY_word', ' ENTY_animal', ' ENTY_substance', ' ENTY_veh', ' ENTY_product', ' LOC_state', ' ENTY_religion', ' ENTY_currency', ' NUM_date', ' LOC_country', ' ENTY_cremat', ' NUM_money', ' LOC_other', ' DESC_def', ' LOC_city', ' HUM_ind', ' ENTY_other', ' ENTY_termeq', ' ENTY_food', ' ABBR_exp', ' NUM_weight']\n"
- ]
- }
- ],
- "source": [
- "clf_lp_pipeline = get_clf_lp('classifierdl_use_trec50')"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "KPQpn6hGpeXR"
- },
- "source": [
- "trained on the TREC datasets:\n",
- "\n",
- "Classify open-domain, fact-based questions into one of the following broad semantic categories: \n",
- "\n",
- "```Abbreviation, Description, Entities, Human Beings, Locations or Numeric Values.```"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 32,
- "status": "ok",
- "timestamp": 1664912064563,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "qhszgL_epe7W",
- "outputId": "a0adb084-08f4-417a-9bb0-c2f892cc4f7c"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[' NUM_count']"
- ]
- },
- "execution_count": 43,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "text = 'What was the number of member nations of the U.N. in 2000?'\n",
- "\n",
- "clf_lp_pipeline.annotate(text)['class']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 35
- },
- "executionInfo": {
- "elapsed": 378,
- "status": "ok",
- "timestamp": 1664912064920,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "lU8mhnX-pn5-",
- "outputId": "d0c47dde-37dc-4c45-c116-c3b0e7d22514"
- },
- "outputs": [
- {
- "data": {
- "application/vnd.google.colaboratory.intrinsic+json": {
- "type": "string"
- },
- "text/plain": [
- "' NUM_count'"
- ]
- },
- "execution_count": 44,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "clf_lp_pipeline.fullAnnotate(text)[0]['class'][0].result"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 32,
- "status": "ok",
- "timestamp": 1664912064921,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "boKPGhgoppto",
- "outputId": "f2e6d882-42e4-4179-9cf3-e48ae075a3c3"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{' ENTY_dismed': '3.768739E-22',\n",
- " ' ENTY_product': '2.4015744E-24',\n",
- " ' ENTY_techmeth': '1.5787039E-22',\n",
- " ' NUM_speed': '7.948464E-23',\n",
- " ' NUM_volsize': '2.5315113E-25',\n",
- " ' LOC_state': '6.3784123E-25',\n",
- " ' NUM_code': '1.4549451E-25',\n",
- " ' NUM_count': '0.9992601',\n",
- " ' ENTY_food': '1.3031208E-24',\n",
- " ' ENTY_animal': '1.6743833E-24',\n",
- " ' NUM_period': '6.8075115E-21',\n",
- " ' ENTY_religion': '5.9194734E-23',\n",
- " ' LOC_country': '5.3062683E-21',\n",
- " ' LOC_mount': '3.2177816E-25',\n",
- " ' ENTY_termeq': '9.790085E-26',\n",
- " ' ENTY_color': '1.1446835E-22',\n",
- " ' ENTY_lang': '6.333391E-24',\n",
- " ' ENTY_sport': '8.0773835E-25',\n",
- " ' DESC_def': '2.4284432E-27',\n",
- " ' HUM_gr': '4.4863106E-21',\n",
- " ' ENTY_symbol': '4.1271923E-25',\n",
- " ' ENTY_currency': '8.156541E-29',\n",
- " ' ENTY_veh': '5.414701E-22',\n",
- " ' LOC_other': '5.5141072E-11',\n",
- " ' ENTY_word': '5.3265024E-23',\n",
- " ' NUM_temp': '2.0907158E-23',\n",
- " ' NUM_dist': '1.2542656E-24',\n",
- " ' DESC_desc': '1.0926973E-12',\n",
- " ' DESC_manner': '9.258374E-23',\n",
- " ' NUM_ord': '2.2395288E-25',\n",
- " ' NUM_other': '3.9771262E-27',\n",
- " ' DESC_reason': '1.1718967E-6',\n",
- " ' NUM_weight': '1.5373857E-24',\n",
- " ' ENTY_instru': '5.9354656E-21',\n",
- " ' ENTY_letter': '1.1453239E-25',\n",
- " ' ENTY_event': '3.706315E-25',\n",
- " ' ENTY_substance': '6.890844E-25',\n",
- " ' ABBR_exp': '5.6048268E-24',\n",
- " ' ENTY_body': '6.423101E-23',\n",
- " ' ENTY_other': '7.378E-4',\n",
- " ' NUM_money': '1.6745677E-25',\n",
- " ' LOC_city': '4.7003377E-22',\n",
- " ' NUM_date': '5.2122506E-16',\n",
- " ' NUM_perc': '6.3761288E-24',\n",
- " ' ABBR_abb': '7.101014E-26',\n",
- " ' ENTY_plant': '5.543376E-24',\n",
- " ' HUM_title': '1.0681953E-24',\n",
- " ' ENTY_cremat': '1.1165376E-24',\n",
- " ' HUM_ind': '8.063818E-7',\n",
- " ' HUM_desc': '4.3701275E-23',\n",
- " 'sentence': '0'}"
- ]
- },
- "execution_count": 45,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "clf_lp_pipeline.fullAnnotate(text)[0]['class'][0].metadata"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 20,
- "status": "ok",
- "timestamp": 1664912064922,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "P87b4fzRpr6-",
- "outputId": "2a07fdc8-4a2e-4bfe-9a80-152ca249baa7"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[' HUM_ind']"
- ]
- },
- "execution_count": 46,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "text = 'What animal was the first mammal successfully cloned from adult cells?'\n",
- "\n",
- "clf_lp_pipeline.annotate(text)['class']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 11360,
- "status": "ok",
- "timestamp": 1664912076270,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "bNgGwNDwpuPV",
- "outputId": "39db1753-994b-46d5-84e0-00743eb71f02"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "tfhub_use download started this may take some time.\n",
- "Approximate size to download 923.7 MB\n",
- "[OK!]\n",
- "classifierdl_use_cyberbullying download started this may take some time.\n",
- "Approximate size to download 21.3 MB\n",
- "[OK!]\n",
- "classes: ['sexism', 'neutral', 'racism']\n"
- ]
- }
- ],
- "source": [
- "clf_lp_pipeline = get_clf_lp('classifierdl_use_cyberbullying')\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 362,
- "status": "ok",
- "timestamp": 1664912076600,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "MPGnM_gipwPf",
- "outputId": "ab83a3dd-65d8-4390-8457-50c7ef196a9e"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['sexism']"
- ]
- },
- "execution_count": 48,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "text ='RT @EBeisner @ahall012 I agree with you!! I would rather brush my teeth with sandpaper then watch football with a girl!!'\n",
- "\n",
- "clf_lp_pipeline.annotate(text)['class']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 6402,
- "status": "ok",
- "timestamp": 1664912082988,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "3u9ktm9xp2aF",
- "outputId": "4947d747-787d-4932-ca58-37fd709ed84d"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "tfhub_use download started this may take some time.\n",
- "Approximate size to download 923.7 MB\n",
- "[OK!]\n",
- "classifierdl_use_fakenews download started this may take some time.\n",
- "Approximate size to download 21.4 MB\n",
- "[OK!]\n",
- "classes: ['FAKE', 'REAL']\n"
- ]
- }
- ],
- "source": [
- "clf_lp_pipeline = get_clf_lp('classifierdl_use_fakenews')\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 54,
- "status": "ok",
- "timestamp": 1664912082989,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "CNkFNiS4p5GM",
- "outputId": "8f2624e0-9e47-4e6b-c090-07813eda3171"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['FAKE']"
- ]
- },
- "execution_count": 50,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "text ='Donald Trump a KGB Spy? 11/02/2016 In today’s video, Christopher Greene of AMTV reports Hillary Clinton campaign accusation that Donald Trump is a KGB spy is about as weak and baseless a claim as a Salem witch hunt or McCarthy era trial. It’s only because Hillary Clinton is losing that she is lobbing conspiracy theory. Citizen Quasar The way I see it, one of two things will happen: 1. Trump will win by a landslide but the election will be stolen via electronic voting, just like I have been predicting for over a decade, and the American People will accept the skewed election results just like they accept the TSA into their crotches. 2. Somebody will bust a cap in Hillary’s @$$ killing her and the election will be postponed. Follow AMTV!'\n",
- "\n",
- "clf_lp_pipeline.annotate(text)['class']\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 39,
- "status": "ok",
- "timestamp": 1664912082990,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "L77nGOzsp859",
- "outputId": "f8bbbec1-41f7-4d3f-b4f5-af5ed8ad8f87"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['REAL']"
- ]
- },
- "execution_count": 51,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "text ='Sen. Marco Rubio (R-Fla.) is adding a veteran New Hampshire political operative to his team as he continues mulling a possible 2016 presidential bid, the latest sign that he is seriously preparing to launch a campaign later this year.Jim Merrill, who worked for former GOP presidential nominee Mitt Romney and ran his 2008 and 2012 New Hampshire primary campaigns, joined Rubio’s fledgling campaign on Monday, aides to the senator said.Merrill will be joining Rubio’s Reclaim America PAC to focus on Rubio’s New Hampshire and broader Northeast political operations.\"Marco has always been well received in New Hampshire, and should he run for president, he would be very competitive there,\" Terry Sullivan, who runs Reclaim America, said in a statement. \"Jim certainly knows how to win in New Hampshire and in the Northeast, and will be a great addition to our team at Reclaim America.”News of Merrill’s hire was first reported by The New York Times.'\n",
- "\n",
- "clf_lp_pipeline.annotate(text)['class']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 9046,
- "status": "ok",
- "timestamp": 1664912092005,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "awBvudTRqApS",
- "outputId": "b4ca676b-400e-445b-b3b6-652187c638eb"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "tfhub_use download started this may take some time.\n",
- "Approximate size to download 923.7 MB\n",
- "[OK!]\n",
- "sentimentdl_use_twitter download started this may take some time.\n",
- "Approximate size to download 11.4 MB\n",
- "[OK!]\n",
- "classes: ['positive', 'negative']\n"
- ]
- }
- ],
- "source": [
- "sentiment_lp_pipeline = get_clf_lp('sentimentdl_use_twitter', sentiment_dl=True)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 42,
- "status": "ok",
- "timestamp": 1664912092006,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "5RQ4aVPNqDHn",
- "outputId": "c02f64f4-94c4-4af0-8a26-7ebda1c310b5"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['positive']"
- ]
- },
- "execution_count": 53,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "text ='I am SO happy the news came out in time for my birthday this weekend! My inner 7-year-old cannot WAIT!'\n",
- "\n",
- "sentiment_lp_pipeline.annotate(text)['class']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 11183,
- "status": "ok",
- "timestamp": 1664912103161,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "YON-nknFqG5m",
- "outputId": "49552554-f9b4-46c4-c4bf-4c1cc5821b6b"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "tfhub_use download started this may take some time.\n",
- "Approximate size to download 923.7 MB\n",
- "[OK!]\n",
- "classifierdl_use_emotion download started this may take some time.\n",
- "Approximate size to download 21.3 MB\n",
- "[OK!]\n",
- "classes: ['joy', 'fear', 'surprise', 'sadness']\n"
- ]
- }
- ],
- "source": [
- "sentiment_lp_pipeline = get_clf_lp('classifierdl_use_emotion', sentiment_dl=False)\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 357,
- "status": "ok",
- "timestamp": 1664912103493,
- "user": {
- "displayName": "Merve Ertas Uslu",
- "userId": "01451729557099986551"
- },
- "user_tz": -120
- },
- "id": "yW4Yim4HqJXn",
- "outputId": "542aebb2-1f41-4fe6-ee19-91f7312d1fb5"
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['surprise']"
- ]
- },
- "execution_count": 55,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "sentiment_lp_pipeline.annotate(text)['class']"
- ]
- }
- ],
- "metadata": {
- "accelerator": "TPU",
- "colab": {
- "collapsed_sections": [],
- "machine_shape": "hm",
- "provenance": [],
- "toc_visible": true
- },
- "gpuClass": "standard",
- "kernelspec": {
- "display_name": "base",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.9.12 (main, Apr 5 2022, 06:56:58) \n[GCC 7.5.0]"
- },
- "vscode": {
- "interpreter": {
- "hash": "3d597f4c481aa0f25dceb95d2a0067e73c0966dcbd003d741d821a7208527ecf"
- }
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/examples/bakSentenceDetectorDL.ipynb b/examples/bakSentenceDetectorDL.ipynb
deleted file mode 100644
index ea02f287ab815a..00000000000000
--- a/examples/bakSentenceDetectorDL.ipynb
+++ /dev/null
@@ -1,787 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "E0pAkKvH6v7K"
- },
- "source": [
- "![JohnSnowLabs](https://nlp.johnsnowlabs.com/assets/images/logo.png)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "OzsBWso169YV"
- },
- "source": [
- "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/spark-nlp-workshop/blob/master/tutorials/Certification_Trainings/Public/9.SentenceDetectorDL.ipynb)"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {
- "id": "jirVPUT0F9bB"
- },
- "source": [
- "# SentenceDetectorDL"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "2mg5E3wl8yHp"
- },
- "source": [
- "`SentenceDetectorDL` (SDDL) is based on a general-purpose neural network model for sentence boundary detection. The task of sentence boundary detection is to identify sentences within a text. Many natural language processing tasks take a sentence as an input unit, such as part-of-speech tagging, dependency parsing, named entity recognition or machine translation.\n",
- "\n",
- "In this model, we treated the sentence boundary detection task as a classification problem using a DL CNN architecture. We also modified the original implemenation a little bit to cover broken sentences and some impossible end of line chars.\n",
- "\n",
- "We are releasing two pretrained SDDL models: `english` and `multilanguage` that are trained on `SETimes corpus (Tyers and Alperen, 2010)` and ` Europarl. Wong et al. (2014)` datasets.\n",
- "\n",
- "Here are the test metrics on various languages for `multilang` model"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "KvNuyGXpD7Nt"
- },
- "source": [
- "![image.png](data:image/png;base64,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)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "adrTGL-6ECtF"
- },
- "source": [
- "**Supported Languages**\n",
- "\n",
- "`bg Bulgarian`\n",
- "\n",
- "`bs Bosnian`\n",
- "\n",
- "`da Danish`\n",
- "\n",
- "`de German`\n",
- "\n",
- "`el Greek`\n",
- "\n",
- "`en English`\n",
- "\n",
- "`es Spanish`\n",
- "\n",
- "`fi Finnish`\n",
- "\n",
- "`fr French`\n",
- "\n",
- "`hr Croatian`\n",
- "\n",
- "`it Italian`\n",
- "\n",
- "`mk Macedonian`\n",
- "\n",
- "`nl Dutch`\n",
- "\n",
- "`pt Portuguese`\n",
- "\n",
- "`ro Romanian`\n",
- "\n",
- "`sq Albanian`\n",
- "\n",
- "`sr Serbian`\n",
- "\n",
- "`sv Swedish`\n",
- "\n",
- "`tr Turkish`\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "s8h1ee-GaEsn"
- },
- "outputs": [],
- "source": [
- "! pip install -q pyspark==3.3.0 spark-nlp==4.3.0"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 254
- },
- "executionInfo": {
- "elapsed": 23293,
- "status": "ok",
- "timestamp": 1664975024014,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "6_cR3Syj8wTd",
- "outputId": "67700eee-d59b-48b8-c0cc-54dd7dc2f23d"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Spark NLP version 4.3.0\n",
- "Apache Spark version: 3.3.0\n"
- ]
- },
- {
- "data": {
- "text/html": [
- "\n",
- "
\n",
- " "
- ],
- "text/plain": [
- ""
- ]
- },
- "execution_count": 2,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import sparknlp\n",
- "\n",
- "from pyspark.ml import PipelineModel\n",
- "from sparknlp.annotator import *\n",
- "from sparknlp.base import *\n",
- "\n",
- "spark = sparknlp.start()\n",
- "\n",
- "print(\"Spark NLP version\", sparknlp.version())\n",
- "print(\"Apache Spark version:\", spark.version)\n",
- "\n",
- "spark"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 16765,
- "status": "ok",
- "timestamp": 1664975040774,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "zS46q8E0Aidy",
- "outputId": "f067a993-5fcf-4e84-e41d-2c17202ade55"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "sentence_detector_dl download started this may take some time.\n",
- "Approximate size to download 354.6 KB\n",
- "[OK!]\n"
- ]
- }
- ],
- "source": [
- "documenter = DocumentAssembler()\\\n",
- " .setInputCol(\"text\")\\\n",
- " .setOutputCol(\"document\")\n",
- " \n",
- "sentencerDL = SentenceDetectorDLModel\\\n",
- " .pretrained(\"sentence_detector_dl\", \"en\") \\\n",
- " .setInputCols([\"document\"]) \\\n",
- " .setOutputCol(\"sentences\")\n",
- "\n",
- "sd_pipeline = PipelineModel(stages=[documenter, sentencerDL])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "executionInfo": {
- "elapsed": 16,
- "status": "ok",
- "timestamp": 1664975040775,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "kHWj4IxqBnwK"
- },
- "outputs": [],
- "source": [
- "sd_model = LightPipeline(sd_pipeline)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 388,
- "status": "ok",
- "timestamp": 1664975041148,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "sBJqnxE6-1uz",
- "outputId": "9ce4d659-70e9-459a-cd36-fc2f382bb716"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0\t0\t15\tJohn loves Mary.\n",
- "1\t16\t31\tmary loves Peter\n",
- "2\t43\t61\tPeter loves Helen .\n",
- "3\t62\t78\tHelen loves John;\n",
- "4\t91\t119\tTotal: four. people involved.\n"
- ]
- }
- ],
- "source": [
- "text = \"\"\"John loves Mary.mary loves Peter\n",
- " Peter loves Helen .Helen loves John; \n",
- " Total: four. people involved.\"\"\"\n",
- "\n",
- "for anno in sd_model.fullAnnotate(text)[0][\"sentences\"]:\n",
- " print(\"{}\\t{}\\t{}\\t{}\".format(\n",
- " anno.metadata[\"sentence\"], anno.begin, anno.end, anno.result))\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "-ihAtVvIDSJh"
- },
- "source": [
- "### Testing with a broken text (random `\\n` chars added)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 796,
- "status": "ok",
- "timestamp": 1664975041942,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "NzRiZYqiCX4t",
- "outputId": "e381bffc-04f3-4522-fa12-e4d99d8dd308"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0\t1\t104\tThere are many NLP tasks like text summarization, question-answering, sentence prediction to name a few.\n",
- "1\t106\t170\tOne method to get these tasks done is using a pre-trained model.\n",
- "2\t172\t362\tInstead of training a model from scratch for NLP tasks using millions of annotated texts each time, a general language representation is created by training a model on a huge amount of data.\n",
- "3\t364\t398\tThis is called a pre-trained model.\n",
- "4\t400\t479\tThis pre-trained model is then fine-tuned for each NLP tasks according to need.\n",
- "5\t481\t520\tLet’s just peek into the pre-BERT world…\n",
- "6\t522\t634\tFor creating models, we need words to be represented in a form understood by the training network, ie, numbers.\n",
- "7\t636\t731\tThus many algorithms were used to convert words into vectors or more precisely, word embeddings.\n",
- "8\t734\t798\tOne of the earliest algorithms used for this purpose is word2vec.\n",
- "9\t800\t872\tHowever, the drawback of word2vec models was that they were context-free.\n",
- "10\t874\t941\tOne problem caused by this is that they cannot accommodate polysemy.\n",
- "11\t943\t1022\tFor example, the word ‘letter’ has a different meaning according to the context.\n",
- "12\t1024\t1106\tIt can mean ‘single element of alphabet’ or ‘document addressed to another person’.\n",
- "13\t1108\t1163\tBut in word2vec both the letter returns same embeddings.\n"
- ]
- }
- ],
- "source": [
- "text = '''\n",
- "There are many NLP tasks like text summarization, question-answering, sentence prediction to name a few. One method to get\\n these tasks done is using a pre-trained model. Instead of training \n",
- "a model from scratch for NLP tasks using millions of annotated texts each time, a general language representation is created by training a model on a huge amount of data. This is called a pre-trained model. This pre-trained model is \n",
- "then fine-tuned for each NLP tasks according to need.\n",
- "Let’s just peek into the pre-BERT world…\n",
- "For creating models, we need words to be represented in a form \\n understood by the training network, ie, numbers. Thus many algorithms were used to convert words into vectors or more precisely, word embeddings. \n",
- "One of the earliest algorithms used for this purpose is word2vec. However, the drawback of word2vec models was that they were context-free. One problem caused by this is that they cannot accommodate polysemy. For example, the word ‘letter’ has a different meaning according to the context. It can mean ‘single element of alphabet’ or ‘document addressed to another person’. But in word2vec both the letter returns same embeddings.\n",
- "'''\n",
- "\n",
- "for anno in sd_model.fullAnnotate(text)[0][\"sentences\"]:\n",
- " \n",
- " print(\"{}\\t{}\\t{}\\t{}\".format(\n",
- " anno.metadata[\"sentence\"], anno.begin, anno.end, anno.result.replace('\\n',''))) # removing \\n to beutify printing\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "P1uBCqrnElmi"
- },
- "source": [
- "## Compare with Spacy Sentence Splitter"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "executionInfo": {
- "elapsed": 6,
- "status": "ok",
- "timestamp": 1664975041943,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "8PtDPgliWEdu"
- },
- "outputs": [],
- "source": [
- "# !pip install spacy"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "executionInfo": {
- "elapsed": 15720,
- "status": "ok",
- "timestamp": 1664975057658,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "5tHHalKGEoTu"
- },
- "outputs": [],
- "source": [
- "import spacy\n",
- "\n",
- "nlp = spacy.load(\"en_core_web_sm\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 20,
- "status": "ok",
- "timestamp": 1664975057659,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "euCxCFU-Erpv",
- "outputId": "4cc0b189-2211-43a6-93db-186ea1bb0f5b"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "John loves Mary.mary loves Peter\n",
- "Peter loves Helen .Helen\n",
- "loves John; \n",
- "Total: four.\n",
- "people involved.\n"
- ]
- }
- ],
- "source": [
- "text = \"\"\"John loves Mary.mary loves Peter\n",
- "Peter loves Helen .Helen loves John; \n",
- "Total: four. people involved.\"\"\"\n",
- "\n",
- "for sent in nlp(text).sents:\n",
- " print(sent)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "Rq1LuycdbpAf"
- },
- "source": [
- "## Test with another random broken sentence "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 404,
- "status": "ok",
- "timestamp": 1664975058045,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "S6EUTjAlFFVd",
- "outputId": "6f5b24f6-8cf0-493c-dc62-9a25097ad007"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "with Spark NLP SentenceDetectorDL\n",
- "===================================\n",
- "0\tA California woman who vanished in Utah’s Zion National Park earlier,this month was found and reunited with her family officials said Sunday.\n",
- "1\tHolly Suzanne Courtier, 38, was located within the park after a visitor saw her and alerted rangers, the National. Park Service said in a statement.\n",
- "2\tAdditional details about how she survived or where she was found were not immediately available.\n",
- "3\tIn the statement, Courtier’s relatives said they were “overjoyed” that she’d been found.\n",
- "4\tCourtier, of Los Angeles, disappeared after a private shuttle dropped her off on Oct. 6. at the Grotto park area inside the 232-square-mile national park.\n",
- "5\tShe was scheduled to be picked up later that afternoon but didn't show up, park officials said.\n",
- "6\tThe search included K.9. units and federal, state and local rescue teams;\n",
- "7\tVolunteers also joined the effort.\n",
- "\n",
- "with Spacy Sentence Detection\n",
- "===================================\n",
- "0 \t A California woman who vanished in Utah’s Zion National Park earlier,this month was found and reunited with her family officials said Sunday.\n",
- "1 \t Holly Suzanne Courtier, 38, was located within the park after a visitor saw her and alerted rangers, the National.\n",
- "2 \t Park Service said in a statement.\n",
- "3 \t Additional details about how she survived or where she was found were not immediately available.\n",
- "4 \t In the statement, Courtier’s relatives said they were “overjoyed” that she’d been found.\n",
- "5 \t Courtier, of Los Angeles, disappeared after a private shuttle dropped her off on Oct. 6.\n",
- "6 \t at the Grotto park area inside the 232-square-mile national park.\n",
- "7 \t She was scheduled to be picked up later that afternoon but didn't show up, park officials said.\n",
- "8 \t The search included K.9.\n",
- "9 \t units and federal, state and local rescue teams; Volunteers also joined the effort.\n"
- ]
- }
- ],
- "source": [
- "random_broken_text = '''\n",
- "A California woman who vanished in Utah’s Zion National Park earlier,\n",
- "this month was found and reunited with her family \n",
- "officials said Sunday. Holly Suzanne Courtier, \n",
- "38, was located within the park after a visitor saw \n",
- "her and alerted rangers, the National. Park Service said in a statement.\n",
- "Additional details about how she \n",
- "survived or where she was found were not immediately available. In the statement, \n",
- "Courtier’s relatives said they were “overjoyed” that she’d been found.\n",
- "Courtier, of Los Angeles, disappeared after a private shuttle dropped her off on Oct. 6. at the Grotto park area \n",
- "inside the 232-square-mile national park. She was scheduled to be picked up later that \n",
- "afternoon but didn't show up, park officials said. The search included K.9. units and federal, \n",
- "state and local rescue teams; Volunteers also joined the effort.\n",
- "'''\n",
- "\n",
- "print ('with Spark NLP SentenceDetectorDL')\n",
- "print ('===================================')\n",
- "\n",
- "for anno in sd_model.fullAnnotate(random_broken_text)[0][\"sentences\"]:\n",
- " \n",
- " print(\"{}\\t{}\".format(\n",
- " anno.metadata[\"sentence\"], anno.result.replace('\\n',''))) # removing \\n to beutify printing\n",
- "\n",
- "print()\n",
- "print ('with Spacy Sentence Detection')\n",
- "print ('===================================')\n",
- "for i,sent in enumerate(nlp(random_broken_text).sents):\n",
- " print(i, '\\t',str(sent).replace('\\n',''))# removing \\n to beutify printing"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "WiU0yHsvmxSv"
- },
- "source": [
- "## Multilanguage Sentence Detector DL"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 6293,
- "status": "ok",
- "timestamp": 1664975064334,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "ULFgE7KmkbMa",
- "outputId": "42e9545e-4542-470c-fb5c-a3d3b9d537d0"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "sentence_detector_dl download started this may take some time.\n",
- "Approximate size to download 514.9 KB\n",
- "[OK!]\n"
- ]
- }
- ],
- "source": [
- "sentencerDL_multilang = SentenceDetectorDLModel\\\n",
- " .pretrained(\"sentence_detector_dl\", \"xx\") \\\n",
- " .setInputCols([\"document\"]) \\\n",
- " .setOutputCol(\"sentences\")\n",
- "\n",
- "sd_pipeline_multi = PipelineModel(stages=[documenter, sentencerDL_multilang])\n",
- "\n",
- "sd_model_multi = LightPipeline(sd_pipeline_multi)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 758,
- "status": "ok",
- "timestamp": 1664975065076,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "YPR4MqEZbPo7",
- "outputId": "bd3410e4-5c56-4c82-9c86-af3a6e676c33"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "with Spark NLP SentenceDetectorDL\n",
- "===================================\n",
- "0\tΌπως ίσως θα γνωρίζει, όταν εγκαθιστάς μια νέα εφαρμογή, θα έχεις διαπιστώσει λίγο μετά, ότι το PC αρχίζει να επιβραδύνεται.\n",
- "1\tΣτη συνέχεια, όταν επισκέπτεσαι την οθόνη ή από την διαχείριση εργασιών, θα διαπιστώσεις ότι η εν λόγω εφαρμογή έχει προστεθεί στη λίστα των προγραμμάτων που εκκινούν αυτόματα, όταν ξεκινάς το PC.\n",
- "2\tΠροφανώς, κάτι τέτοιο δεν αποτελεί μια ιδανική κατάσταση, ιδίως για τους λιγότερο γνώστες, οι οποίοι ίσως δεν θα συνειδητοποιήσουν ότι κάτι τέτοιο συνέβη.\n",
- "3\tΌσο περισσότερες εφαρμογές στη λίστα αυτή, τόσο πιο αργή γίνεται η εκκίνηση, ιδίως αν πρόκειται για απαιτητικές εφαρμογές.\n",
- "4\tΤα ευχάριστα νέα είναι ότι η τελευταία και πιο πρόσφατη preview build της έκδοσης των Windows 10 που θα καταφθάσει στο πρώτο μισό του 2021, οι εφαρμογές θα ενημερώνουν το χρήστη ότι έχουν προστεθεί στη λίστα των εφαρμογών που εκκινούν μόλις ανοίγεις το PC.\n",
- "\n",
- "with Spacy Sentence Detection\n",
- "===================================\n",
- "0 \t Όπως ίσως θα γνωρίζει, όταν εγκαθιστάς μια νέα εφαρμογή, θα έχεις διαπιστώσει λίγο μετά, ότι το PC αρχίζει να επιβραδύνεται.\n",
- "1 \t Στη συνέχεια, όταν επισκέπτεσαι την οθόνη ή από την διαχείριση εργασιών, θα διαπιστώσεις ότι η εν λόγω εφαρμογή έχει προστεθεί στη λίστα των προγραμμάτων που εκκινούν αυτόματα, όταν ξεκινάς το PC.Προφανώς, κάτι τέτοιο δεν αποτελεί μια ιδανική κατάσταση, ιδίως για τους λιγότερο γνώστες, οι οποίοι ίσως δεν θα συνειδητοποιήσουν ότι κάτι τέτοιο συνέβη.\n",
- "2 \t Όσο περισσότερες εφαρμογές στη λίστα αυτή, τόσο πιο αργή γίνεται η εκκίνηση, ιδίως αν πρόκειται για απαιτητικές εφαρμογές.\n",
- "3 \t Τα ευχάριστα νέα είναι ότι η τελευταία και πιο πρόσφατη preview build της έκδοσης των Windows 10 που θα καταφθάσει\n",
- "4 \t στο πρώτο μισό του 2021, οι εφαρμογές θα ενημερώνουν το χρήστη ότι έχουν προστεθεί στη λίστα των εφαρμογών που εκκινούν μόλις ανοίγεις το PC.\n"
- ]
- }
- ],
- "source": [
- "gr_text= '''\n",
- "Όπως ίσως θα γνωρίζει, όταν εγκαθιστάς μια νέα εφαρμογή, θα έχεις διαπιστώσει \n",
- "λίγο μετά, ότι το PC αρχίζει να επιβραδύνεται. Στη συνέχεια, όταν επισκέπτεσαι την οθόνη ή από την διαχείριση εργασιών, θα διαπιστώσεις ότι η εν λόγω εφαρμογή έχει προστεθεί στη \n",
- "λίστα των προγραμμάτων που εκκινούν αυτόματα, όταν ξεκινάς το PC.\n",
- "Προφανώς, κάτι τέτοιο δεν αποτελεί μια ιδανική κατάσταση, ιδίως για τους λιγότερο γνώστες, οι \n",
- "οποίοι ίσως δεν θα συνειδητοποιήσουν ότι κάτι τέτοιο συνέβη. Όσο περισσότερες εφαρμογές στη λίστα αυτή, τόσο πιο αργή γίνεται η \n",
- "εκκίνηση, ιδίως αν πρόκειται για απαιτητικές εφαρμογές. Τα ευχάριστα νέα είναι ότι η τελευταία και πιο πρόσφατη preview build της έκδοσης των Windows 10 που θα καταφθάσει στο πρώτο μισό του 2021, οι εφαρμογές θα \n",
- "ενημερώνουν το χρήστη ότι έχουν προστεθεί στη λίστα των εφαρμογών που εκκινούν μόλις ανοίγεις το PC.\n",
- "'''\n",
- "\n",
- "print ('with Spark NLP SentenceDetectorDL')\n",
- "print ('===================================')\n",
- "\n",
- "for anno in sd_model_multi.fullAnnotate(gr_text)[0][\"sentences\"]:\n",
- " \n",
- " print(\"{}\\t{}\".format(\n",
- " anno.metadata[\"sentence\"], anno.result.replace('\\n',''))) # removing \\n to beutify printing\n",
- "\n",
- "print()\n",
- "print ('with Spacy Sentence Detection')\n",
- "print ('===================================')\n",
- "for i,sent in enumerate(nlp(gr_text).sents):\n",
- " print(i, '\\t',str(sent).replace('\\n',''))# removing \\n to beutify printing"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "executionInfo": {
- "elapsed": 9,
- "status": "ok",
- "timestamp": 1664975065077,
- "user": {
- "displayName": "Halil SAGLAMLAR",
- "userId": "07259164328506563794"
- },
- "user_tz": -180
- },
- "id": "sUc7n1wsktJs",
- "outputId": "aeb2e4b3-1696-4025-829c-6f8ea9dac4b8"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "with Spark NLP SentenceDetectorDL\n",
- "===================================\n",
- "0\tB чeтвъpтъĸ Gооglе oбяви няĸoлĸo aĸтyaлизaции нa cвoятa тъpcaчĸa, зaявявaйĸи чe e въвeлa изĸycтвeн интeлeĸт (Аl) и мaшиннo oбyчeниe зa пoдoбpявaнe нa пoтpeбитeлcĸoтo изживявaнe.\n",
- "1\tΠoтpeбитeлитe вeчe мoгaт дa cи тaнaниĸaт, cвиpят или пeят мeлoдия нa пeceн нa Gооglе чpeз мoбилнoтo пpилoжeниe, ĸaтo дoĸocнaт иĸoнaтa нa миĸpoфoнa и зaдaдaт въпpoca: Koя e тaзи пeceн?\n",
- "2\tTaнaниĸaнeтo в пpoдължeниe нa 10-15 ceĸyнди щe дaдe шaнc нa aлгopитъмa c мaшиннo oбyчeниe нa Gооglе дa нaмepи и извeдe peзyлтaт ĸoя e пpипявaнaтa пeceн.\n",
- "3\tΠoнacтoящeм фyнĸциятa e дocтъпнa нa aнглийcĸи eзиĸ зa Іоѕ и нa oĸoлo 20 eзиĸa зa Аndrоіd, ĸaтo в бъдeщe и зa двeтe oпepaциoнни cиcтeми щe бъдe пpeдлoжeн eднaĸъв нaбop oт пoддъpжaни eзици, ĸaзвaт oт Gооglе.\n",
- "4\tAl aĸтyaлизaциитe нa тъpceщия гигaнт cъщo oбxвaщaт пpaвoпиca и oбщитe зaявĸи зa тъpceнe.\n",
- "5\tCpeд пoдoбpeниятa e вĸлючeн нoв пpaвoпиceн aлгopитъм, ĸoйтo изпoлзвa нeвpoннa мpeжa c дълбoĸo oбyчeниe, зa ĸoятo Gооglе твъpди, чe идвa cъc знaчитeлнo пoдoбpeнa cпocoбнocт зa дeшифpиpaнe нa пpaвoпиcни гpeшĸи.\n",
- "\n",
- "with Spacy Sentence Detection\n",
- "===================================\n",
- "0 \t B чeтвъpтъĸ Gооglе oбяви няĸoлĸo aĸтyaлизaции нa cвoятa тъpcaчĸa, зaявявaйĸи чe e въвeлa изĸycтвeн интeлeĸт\n",
- "1 \t (Аl) и мaшиннo oбyчeниe зa пoдoбpявaнe нa пoтpeбитeлcĸoтo изживявaнe.\n",
- "2 \t Πoтpeбитeлитe вeчe мoгaт дa cи тaнaниĸaт, cвиpят или пeят мeлoдия нa пeceн нa Gооglе чpeз мoбилнoтo пpилoжeниe, ĸaтo дoĸocнaт иĸoнaтa нa миĸpoфoнa и зaдaдaт въпpoca:\n",
- "3 \t Koя e тaзи пeceн?Taнaниĸaнeтo в пpoдължeниe нa 10-15 ceĸyнди щe дaдe шaнc нa aлгopитъмa c мaшиннo oбyчeниe\n",
- "4 \t нa\n",
- "5 \t Gооglе дa нaмepи и извeдe peзyлтaт ĸoя e пpипявaнaтa пeceн.\n",
- "6 \t Πoнacтoящeм фyнĸциятa e дocтъпнa нa aнглийcĸи eзиĸ\n",
- "7 \t зa\n",
- "8 \t Іоѕ и нa oĸoлo 20 eзиĸa зa Аndrоіd, ĸaтo в бъдeщe и зa двeтe oпepaциoнни cиcтeми щe бъдe пpeдлoжeн eднaĸъв нaбop oт пoддъpжaни eзици, ĸaзвaт oт Gооglе.\n",
- "9 \t Al aĸтyaлизaциитe нa тъpceщия гигaнт cъщo oбxвaщaт пpaвoпиca и oбщитe зaявĸи зa тъpceнe.\n",
- "10 \t Cpeд пoдoбpeниятa e вĸлючeн нoв пpaвoпиceн aлгopитъм, ĸoйтo изпoлзвa нeвpoннa мpeжa c дълбoĸo oбyчeниe, зa ĸoятo Gооglе твъpди, чe идвa cъc знaчитeлнo пoдoбpeнa cпocoбнocт\n",
- "11 \t зa дeшифpиpaнe\n",
- "12 \t нa пpaвoпиcни гpeшĸи.\n"
- ]
- }
- ],
- "source": [
- "cyrillic_text = '''\n",
- "B чeтвъpтъĸ Gооglе oбяви няĸoлĸo aĸтyaлизaции нa cвoятa тъpcaчĸa, зaявявaйĸи чe e \n",
- "въвeлa изĸycтвeн интeлeĸт (Аl) и мaшиннo oбyчeниe зa пoдoбpявaнe нa пoтpeбитeлcĸoтo изживявaнe.\n",
- "Πoтpeбитeлитe вeчe мoгaт дa cи тaнaниĸaт, cвиpят или пeят мeлoдия нa пeceн нa Gооglе чpeз мoбилнoтo пpилoжeниe, \n",
- "ĸaтo дoĸocнaт иĸoнaтa нa миĸpoфoнa и зaдaдaт въпpoca: Koя e тaзи пeceн?\n",
- "Taнaниĸaнeтo в пpoдължeниe нa 10-15 ceĸyнди щe дaдe шaнc нa aлгopитъмa c мaшиннo oбyчeниe нa Gооglе дa нaмepи и извeдe peзyлтaт ĸoя e пpипявaнaтa пeceн.\n",
- "Πoнacтoящeм фyнĸциятa e дocтъпнa нa aнглийcĸи eзиĸ зa Іоѕ и нa oĸoлo 20 eзиĸa зa Аndrоіd, \n",
- "ĸaтo в бъдeщe и зa двeтe oпepaциoнни cиcтeми щe бъдe пpeдлoжeн eднaĸъв нaбop oт пoддъpжaни eзици, ĸaзвaт oт Gооglе.\n",
- "Al aĸтyaлизaциитe нa тъpceщия гигaнт cъщo oбxвaщaт пpaвoпиca и oбщитe зaявĸи зa тъpceнe.\n",
- "Cpeд пoдoбpeниятa e вĸлючeн нoв пpaвoпиceн aлгopитъм, ĸoйтo изпoлзвa нeвpoннa мpeжa \n",
- "c дълбoĸo oбyчeниe, зa ĸoятo Gооglе твъpди, чe идвa cъc знaчитeлнo пoдoбpeнa cпocoбнocт зa \n",
- "дeшифpиpaнe нa пpaвoпиcни гpeшĸи.\n",
- "'''\n",
- "\n",
- "print ('with Spark NLP SentenceDetectorDL')\n",
- "print ('===================================')\n",
- "\n",
- "for anno in sd_model_multi.fullAnnotate(cyrillic_text)[0][\"sentences\"]:\n",
- " \n",
- " print(\"{}\\t{}\".format(\n",
- " anno.metadata[\"sentence\"], anno.result.replace('\\n',''))) # removing \\n to beutify printing\n",
- "\n",
- "print()\n",
- "print ('with Spacy Sentence Detection')\n",
- "print ('===================================')\n",
- "for i,sent in enumerate(nlp(cyrillic_text).sents):\n",
- " print(i, '\\t',str(sent).replace('\\n',''))# removing \\n to beutify printing"
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "collapsed_sections": [],
- "provenance": []
- },
- "kernelspec": {
- "display_name": "base",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.9.12 (main, Apr 5 2022, 06:56:58) \n[GCC 7.5.0]"
- },
- "vscode": {
- "interpreter": {
- "hash": "3d597f4c481aa0f25dceb95d2a0067e73c0966dcbd003d741d821a7208527ecf"
- }
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/examples/python/annotation/text/english/named-entity-recognition/ZeroShot_NER.ipynb b/examples/python/annotation/text/english/named-entity-recognition/ZeroShot_NER.ipynb
new file mode 100644
index 00000000000000..fe22efffec7348
--- /dev/null
+++ b/examples/python/annotation/text/english/named-entity-recognition/ZeroShot_NER.ipynb
@@ -0,0 +1,275 @@
+{
+ "cells": [
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "db5f4f9a-7776-42b3-8758-85624d4c15ea",
+ "metadata": {},
+ "source": [
+ "![JohnSnowLabs](https://johnsnowlabs.com/assets/images/logo.png)"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "21e9eafb",
+ "metadata": {},
+ "source": [
+ "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/spark-nlp/blob/master/examples/python/annotation/text/english/named-entity-recognition/ZeroShot_NER.ipynb)"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "212325cc-182f-4565-abed-9b46864d6d69",
+ "metadata": {},
+ "source": [
+ "# Named Entity Recognition with ZeroShotNer"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "216EshxBJ9ra",
+ "metadata": {},
+ "source": [
+ "## Colab Setup"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "f6e6c12b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install -q pyspark==3.3.0 spark-nlp==4.3.0"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "fc39c840",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Spark NLP version: 4.2.8\n",
+ "Apache Spark version: 3.3.0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "