{ "cells": [ { "cell_type": "markdown", "id": "VNRiKOH_u_jP", "metadata": { "id": "VNRiKOH_u_jP" }, "source": [ "![JohnSnowLabs](https://nlp.johnsnowlabs.com/assets/images/logo.png)" ] }, { "cell_type": "markdown", "id": "LF8cIN3OvA2Q", "metadata": { "id": "LF8cIN3OvA2Q" }, "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/finance-nlp/07.0.Understand_Entities_in_Context.ipynb)" ] }, { "cell_type": "markdown", "id": "fa8fbe50-f928-45ff-b539-0ab62a7c40b2", "metadata": { "id": "fa8fbe50-f928-45ff-b539-0ab62a7c40b2" }, "source": [ "#πŸ”Ž Understanding Financial Entities In Context\n", "πŸ“œ Assertion Status, or *Understanding Financial Entities in Context*, is an NLP atsk in carge of analyzing NER entities, extracted with:\n", "- NER models;\n", "- ContextualParser;\n", "\n", "πŸ“œ and their surroundings (usually a sentence, but it could take bigger spans too) to *assert* different conditions / status on the entities, as:\n", "- If an entity is negated in the context;\n", "- If the context talks about past, present, or future;\n", "- If the entity is said to be hypothetical / possible, or certaing;\n", "- etc.\n", "\n", "πŸ“œ The exposed above are just some examples, since the applications of Assertion DL models can be expanded to whatever to many other scenarios where you need to:\n", "- Disambiguate entities from the context.\n", "- Subclassify or specify an entity depending on context:\n", "\n", "πŸš€Examples:\n", "- Is an ORG mentioned to be a COMPETITOR or part of the SUPPLY_CHAIN (or none of them)?\n", "- Is an ACQUIRED_COMPANY mentioned to be acquired TOTALLY or PARTIALLY acquired in the context?\n", "- etc\n", "\n" ] }, { "cell_type": "markdown", "id": "PjJlXILCYefM", "metadata": { "id": "PjJlXILCYefM" }, "source": [ "![image.png](data:image/png;base64,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)" ] }, { "cell_type": "markdown", "id": "-lTBFRM_cRzI", "metadata": { "id": "-lTBFRM_cRzI" }, "source": [ "Let's see which pretrained models we have and how to train custom ones!" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "id": "BknLo-nHX9M6" }, "source": [ "##🎬 Installation" ], "id": "BknLo-nHX9M6" }, { "cell_type": "code", "execution_count": null, "metadata": { "pycharm": { "is_executing": true }, "id": "_914itZsj51v" }, "outputs": [], "source": [ "! pip install -q johnsnowlabs" ], "id": "_914itZsj51v" }, { "cell_type": "markdown", "source": [ "##πŸ”— Automatic Installation\n", "Using my.johnsnowlabs.com SSO" ], "metadata": { "id": "YPsbAnNoPt0Z" }, "id": "YPsbAnNoPt0Z" }, { "cell_type": "code", "execution_count": null, "metadata": { "pycharm": { "is_executing": true }, "id": "fY0lcShkj51w" }, "outputs": [], "source": [ "from johnsnowlabs import *\n", "\n", "# nlp.install(force_browser=True)" ], "id": "fY0lcShkj51w" }, { "cell_type": "markdown", "source": [ "##πŸ”— Manual downloading\n", "If you are not registered in my.johnsnowlabs.com, you received a license via e-email or you are using Safari, you may need to do a manual update of the license.\n", "\n", "- Go to my.johnsnowlabs.com\n", "- Download your license\n", "- Upload it using the following command" ], "metadata": { "id": "hsJvn_WWM2GL" }, "id": "hsJvn_WWM2GL" }, { "cell_type": "code", "source": [ "from google.colab import files\n", "print('Please Upload your John Snow Labs License using the button below')\n", "license_keys = files.upload()" ], "metadata": { "id": "i57QV3-_P2sQ" }, "execution_count": null, "outputs": [], "id": "i57QV3-_P2sQ" }, { "cell_type": "markdown", "source": [ "- Install it" ], "metadata": { "id": "xGgNdFzZP_hQ" }, "id": "xGgNdFzZP_hQ" }, { "cell_type": "code", "source": [ "nlp.install()" ], "metadata": { "id": "OfmmPqknP4rR" }, "execution_count": null, "outputs": [], "id": "OfmmPqknP4rR" }, { "cell_type": "markdown", "source": [ "##πŸ“Œ Starting" ], "metadata": { "id": "DCl5ErZkNNLk" }, "id": "DCl5ErZkNNLk" }, { "cell_type": "code", "execution_count": null, "id": "C2eqwqTxVbdR", "metadata": { "id": "C2eqwqTxVbdR" }, "outputs": [], "source": [ "from johnsnowlabs import nlp, finance\n", "# Automatically load license data and start a session with all jars user has access to\n", "spark = nlp.start()" ] }, { "cell_type": "code", "execution_count": null, "id": "YeIQqpP6KkW9", "metadata": { "id": "YeIQqpP6KkW9" }, "outputs": [], "source": [ "from pyspark.sql import DataFrame\n", "import pyspark.sql.functions as F\n", "import pyspark.sql.types as T\n", "import pyspark.sql as SQL\n", "from pyspark import keyword_only" ] }, { "cell_type": "markdown", "id": "90643920-3813-4cfc-8e29-81a5aa972725", "metadata": { "id": "90643920-3813-4cfc-8e29-81a5aa972725" }, "source": [ "##πŸ“š Understanding time from context" ] }, { "cell_type": "markdown", "id": "l7urMeyqwXDu", "metadata": { "id": "l7urMeyqwXDu" }, "source": [ "###βœ”οΈ Past Experiences of a Role (C-level management)\n", "Let's start with a small example: analyzing whether a ROLE of a person in a company is mentioned to be a `past` or `present`.\n", "\n", "πŸ“œFor that, we need:\n", "- An NER model. We will use `finner_bert_roles` which uses `bert_embeddings_sec_bert_base` embeddings to extract `ROLE` entities;\n", "- An Assertion Model which detects time. We will use `finassertiondl_past_roles` which is a very specific one, to detect time in `ROLE` entities." ] }, { "cell_type": "code", "execution_count": null, "id": "abf82e78-a3fd-412c-8025-64363cf5a3ef", "metadata": { "id": "abf82e78-a3fd-412c-8025-64363cf5a3ef" }, "outputs": [], "source": [ "document_assembler = nlp.DocumentAssembler()\\\n", " .setInputCol(\"text\")\\\n", " .setOutputCol(\"document\")\n", "\n", "tokenizer = nlp.Tokenizer()\\\n", " .setInputCols([\"document\"])\\\n", " .setOutputCol(\"token\")\n", "\n", "embeddings = nlp.BertEmbeddings.pretrained(\"bert_embeddings_sec_bert_base\",\"en\") \\\n", " .setInputCols([\"document\", \"token\"]) \\\n", " .setOutputCol(\"embeddings\")\n", "\n", "tokenClassifier = finance.BertForTokenClassification.pretrained(\"finner_bert_roles\",\"en\",\"finance/models\")\\\n", " .setInputCols(\"token\", \"document\")\\\n", " .setOutputCol(\"ner\")\\\n", " .setCaseSensitive(True)\n", "\n", "ner_converter = finance.NerConverterInternal() \\\n", " .setInputCols([\"document\", \"token\", \"ner\"]) \\\n", " .setOutputCol(\"ner_chunk\")\\\n", " .setWhiteList([\"ROLE\"])\n", "\n", "assertion = finance.AssertionDLModel.pretrained(\"finassertiondl_past_roles\", \"en\", \"finance/models\")\\\n", " .setInputCols([\"document\", \"ner_chunk\", \"embeddings\"]) \\\n", " .setOutputCol(\"assertion\")\n", " \n", "nlpPipeline = nlp.Pipeline(stages=[\n", " document_assembler, \n", " tokenizer,\n", " embeddings,\n", " tokenClassifier,\n", " ner_converter,\n", " assertion\n", " ])\n", "\n", "empty_data = spark.createDataFrame([[\"\"]]).toDF(\"text\")\n", "\n", "model = nlpPipeline.fit(empty_data)\n", "\n", "light_model = nlp.LightPipeline(model)" ] }, { "cell_type": "markdown", "id": "1468d272-3f3f-452d-ad4a-376d06879d4e", "metadata": { "id": "1468d272-3f3f-452d-ad4a-376d06879d4e" }, "source": [ "###βœ”οΈ Example sentences extracted from 10K filings" ] }, { "cell_type": "code", "execution_count": null, "id": "80e7d275-93ab-479d-a355-20de8613c8da", "metadata": { "id": "80e7d275-93ab-479d-a355-20de8613c8da", "tags": [] }, "outputs": [], "source": [ "sample_texts = [\"\"\"From January 2009 to November 2017, Mr. Tan worked as the Managing Director of Cadence\"\"\",\n", " \"\"\"Jane S. Smith works as a Computer Engineer and Product Lead at Globalize Cloud Services\"\"\",\n", " \"\"\"Mrs. Johansson has been apointed CEO and President of Mileways\"\"\",\n", " \"\"\"Tom Martin worked as Cadence's CTO until 2010\"\"\",\n", " \"\"\"Mrs. Charles was before Managing Director at a big consultancy company\"\"\",\n", " \"\"\"We are happy to announce that Mary Leigh joins Elephant as Web Designer and UX/UI Developer\"\"\"]" ] }, { "cell_type": "markdown", "id": "kuZWODMewxtv", "metadata": { "id": "kuZWODMewxtv" }, "source": [ "###βœ”οΈ We extract with LightPipelines" ] }, { "cell_type": "code", "execution_count": null, "id": "wD-ep_BIw16_", "metadata": { "id": "wD-ep_BIw16_" }, "outputs": [], "source": [ "import pandas as pd\n", "\n", "chunks=[]\n", "entities=[]\n", "status=[]\n", "\n", "for i in range(len(sample_texts)):\n", " light_result = light_model.fullAnnotate(sample_texts[i])[0]\n", "\n", " for n,m in zip(light_result['ner_chunk'],light_result['assertion']):\n", " chunks.append(n.result)\n", " entities.append(n.metadata['entity']) \n", " status.append(m.result)\n", "\n", "df = pd.DataFrame({'chunks':chunks, 'entities':entities, 'assertion':status})" ] }, { "cell_type": "code", "execution_count": null, "id": "e4c81d83-a2c4-4303-b257-9615a8986361", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 332 }, "id": "e4c81d83-a2c4-4303-b257-9615a8986361", "outputId": "5c3534ef-f2fb-49b6-8c17-a424733bf389" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chunksentitiesassertion
0DirectorROLEPAST
1Computer EngineerROLENO_PAST
2Product LeadROLENO_PAST
3CEOROLENO_PAST
4PresidentROLENO_PAST
5Cadence's CTOROLEPAST
6Managing DirectorROLEPAST
7Web DesignerROLENO_PAST
8UX/UI DeveloperROLENO_PAST
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " chunks entities assertion\n", "0 Director ROLE PAST\n", "1 Computer Engineer ROLE NO_PAST\n", "2 Product Lead ROLE NO_PAST\n", "3 CEO ROLE NO_PAST\n", "4 President ROLE NO_PAST\n", "5 Cadence's CTO ROLE PAST\n", "6 Managing Director ROLE PAST\n", "7 Web Designer ROLE NO_PAST\n", "8 UX/UI Developer ROLE NO_PAST" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "id": "c76bba1c-850e-4c15-908c-191a6c3fa3f0", "metadata": { "id": "c76bba1c-850e-4c15-908c-191a6c3fa3f0" }, "source": [ "###βœ”οΈ Visualization of Assertion Status" ] }, { "cell_type": "code", "execution_count": null, "id": "9a783e5e-0b93-4302-b776-530b7d790e63", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 623 }, "id": "9a783e5e-0b93-4302-b776-530b7d790e63", "outputId": "a51dcee8-06e4-47b2-897b-766856a47e81" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " From January 2009 to November 2017, Mr. Tan worked as the Managing Director ROLEPAST of Cadence" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " Jane S. Smith works as a Computer Engineer ROLENO_PAST and Product Lead ROLENO_PAST at Globalize Cloud Services" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " Mrs. Johansson has been apointed CEO ROLENO_PAST and President ROLENO_PAST of Mileways" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " Tom Martin worked as Cadence's CTO ROLEPAST until 2010" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " Mrs. Charles was before Managing Director ROLEPAST at a big consultancy company" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " We are happy to announce that Mary Leigh joins Elephant as Web Designer ROLENO_PAST and UX/UI Developer ROLENO_PAST " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in range(len(sample_texts)):\n", " \n", " light_result = light_model.fullAnnotate(sample_texts[i])[0]\n", " \n", " vis = nlp.viz.AssertionVisualizer()\n", "\n", " vis.display(light_result, 'ner_chunk', 'assertion')" ] }, { "cell_type": "markdown", "id": "4a3QK9yVwKmN", "metadata": { "id": "4a3QK9yVwKmN" }, "source": [ "##πŸ“š Bigger example: Asserting time in a 10-K filing\n", "πŸ“œNow let's go bigger. We will use one 10K filing, extract several pages and apply assertion status to detect time for:\n", "- `PER` (people)\n", "- `ORG` (organizations)\n", "- `ROLE` (roles of those people in that or past organizations)\n", "\n", "πŸ“œFor that, we need:\n", "- An NER model. We will use `finner_org_per_role_date` which uses `bert_embeddings_sec_bert_base` embeddings to extract `PERSON`, `ORG` and `ROLE` entities;\n", "- An Assertion Model which detects time. We will use `finassertion_time` which is a generic time assertion model, to detect time on the previously mentioned entities. \n", "\n", "πŸš€**Please keep in mind that you can use this model also in other entities, but the performance may degrade since it was not trained on other kind of entities.**" ] }, { "cell_type": "code", "execution_count": null, "id": "j7iWgb2Fghle", "metadata": { "id": "j7iWgb2Fghle" }, "outputs": [], "source": [ "!wget https://raw.githubusercontent.com/JohnSnowLabs/spark-nlp-workshop/master/finance-nlp/data/cdns-20220101.html.txt" ] }, { "cell_type": "code", "execution_count": null, "id": "wSbj1E7fpTrK", "metadata": { "id": "wSbj1E7fpTrK" }, "outputs": [], "source": [ "import requests\n", "URL = \"https://raw.githubusercontent.com/JohnSnowLabs/spark-nlp-workshop/master/finance-nlp/data/cdns-20220101.html.txt\"\n", "response = requests.get(URL)\n", "\n", "cadence_sec10k = response.content.decode('utf-8')" ] }, { "cell_type": "code", "execution_count": null, "id": "4PD0eMHNpe5A", "metadata": { "id": "4PD0eMHNpe5A" }, "outputs": [], "source": [ "document_assembler = nlp.DocumentAssembler() \\\n", " .setInputCol(\"text\") \\\n", " .setOutputCol(\"document\")\n", "\n", "text_splitter = finance.TextSplitter() \\\n", " .setInputCols([\"document\"]) \\\n", " .setOutputCol(\"pages\")\\\n", " .setCustomBounds([\"Table of Contents\"])\\\n", " .setUseCustomBoundsOnly(True)\\\n", " .setExplodeSentences(True)\n", "\n", "nlp_pipeline = nlp.Pipeline(stages=[\n", " document_assembler,\n", " text_splitter])" ] }, { "cell_type": "code", "execution_count": null, "id": "VO_J6PLtp3AH", "metadata": { "id": "VO_J6PLtp3AH" }, "outputs": [], "source": [ "#fit: trains, configures and prepares the pipeline for inference. \n", "\n", "sdf = spark.createDataFrame([[ cadence_sec10k ]]).toDF(\"text\")\n", "\n", "fit = nlp_pipeline.fit(sdf)" ] }, { "cell_type": "code", "execution_count": null, "id": "IjZjKSTAp47P", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "IjZjKSTAp47P", "outputId": "3564fbfa-76a8-44e5-a39c-7d8351275134" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "+--------------------+--------------------+--------------------+\n", "| text| document| pages|\n", "+--------------------+--------------------+--------------------+\n", "|Table of Contents...|[{document, 0, 34...|[{document, 18, 4...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 4087,...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 4215,...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 5504,...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 11617...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 13985...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 20001...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 26059...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 31638...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 36733...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 42440...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 47053...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 48328...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 53745...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 59341...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 65403...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 72330...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 77951...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 84131...|\n", "|Table of Contents...|[{document, 0, 34...|[{document, 89718...|\n", "+--------------------+--------------------+--------------------+\n", "only showing top 20 rows\n", "\n", "CPU times: user 48 ms, sys: 13.8 ms, total: 61.7 ms\n", "Wall time: 6.41 s\n" ] } ], "source": [ "%%time\n", "\n", "#transforms: executes inference on a fit pipeline\n", "res = fit.transform(sdf)\n", "\n", "res.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "_C_GBv2Dp9D2", "metadata": { "id": "_C_GBv2Dp9D2" }, "outputs": [], "source": [ "%%time\n", "\n", "import json\n", "\n", "lp = nlp.LightPipeline(fit)\n", "\n", "json_res = lp.annotate(cadence_sec10k)\n", "\n", "print(json.dumps(json_res, indent=4))" ] }, { "cell_type": "code", "execution_count": null, "id": "ex8hiEW_qCnA", "metadata": { "id": "ex8hiEW_qCnA" }, "outputs": [], "source": [ "pages = [json_res['pages'][i] for i in range(13)]" ] }, { "cell_type": "code", "execution_count": null, "id": "9TPTrACWgaiL", "metadata": { "id": "9TPTrACWgaiL" }, "outputs": [], "source": [ "document_assembler = nlp.DocumentAssembler()\\\n", " .setInputCol(\"text\")\\\n", " .setOutputCol(\"document\")\n", "\n", "text_splitter = finance.TextSplitter()\\\n", " .setInputCols([\"document\"])\\\n", " .setOutputCol(\"sentence\")\n", "\n", "tokenizer = nlp.Tokenizer()\\\n", " .setInputCols([\"sentence\"])\\\n", " .setOutputCol(\"token\")\n", "\n", "embeddings = nlp.BertEmbeddings.pretrained(\"bert_embeddings_sec_bert_base\",\"en\") \\\n", " .setInputCols([\"sentence\", \"token\"]) \\\n", " .setOutputCol(\"embeddings\")\n", "\n", "ner = finance.NerModel.pretrained(\"finner_org_per_role_date\", \"en\", \"finance/models\")\\\n", " .setInputCols(\"sentence\", \"token\", \"embeddings\")\\\n", " .setOutputCol(\"ner\")\n", "\n", "chunk_converter = nlp.NerConverter() \\\n", " .setInputCols([\"sentence\", \"token\", \"ner\"]) \\\n", " .setOutputCol(\"ner_chunk\")\n", "\n", "assertion = finance.AssertionDLModel.pretrained(\"finassertion_time\", \"en\", \"finance/models\")\\\n", " .setInputCols([\"sentence\", \"ner_chunk\", \"embeddings\"]) \\\n", " .setOutputCol(\"assertion\")\n", " \n", "nlpPipeline = nlp.Pipeline(stages=[\n", " document_assembler,\n", " text_splitter,\n", " tokenizer,\n", " embeddings,\n", " ner,\n", " chunk_converter,\n", " assertion\n", " ])\n", "\n", "empty_data = spark.createDataFrame([[\"\"]]).toDF(\"text\")\n", "\n", "model = nlpPipeline.fit(empty_data)\n", "\n", "lp = nlp.LightPipeline(model)" ] }, { "cell_type": "markdown", "id": "xiFoMZ4egIdl", "metadata": { "id": "xiFoMZ4egIdl" }, "source": [ "πŸš€Let's start identifying time using `finassertion_time`. As in previous notebooks, we will be using a SEC 10K filing." ] }, { "cell_type": "code", "execution_count": null, "id": "tqmGFPKcqbv_", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "tqmGFPKcqbv_", "outputId": "a1f1fed8-5bad-43fc-c5f7-f2e41d059bf2" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " INFORMATION ABOUT OUR EXECUTIVE OFFICERS
The following table provides information regarding our executive officers as of February 22, 2022:
Name
Age
Positions and Offices
Anirudh Devgan PERSONPAST
52
President ROLEPAST and Chief Executive Officer ROLEPAST
John M. Wall PERSONPAST
51
Senior Vice President ROLEPAST and Chief Financial Officer ROLEPAST
Thomas P. Beckley PERSONPAST
64
Senior Vice President ROLEPAST and General Manager ROLEPAST of the Custom IC and PCB Group
Paul Cunningham PERSONPAST
44
Senior Vice President ROLEPAST and General Manager ROLEPAST of the System and Verification Group
Alinka Flaminia PERSONPAST
60
Senior Vice President ROLEPAST , Chief Legal Officer ROLEPAST and Corporate Secretary ROLEPAST
Chin-Chi Teng PERSONPAST
56
Senior Vice President ROLEPAST and General Manager ROLEPAST of the Digital and Signoff Group
Neil Zaman PERSONPAST
53
Senior Vice President ROLEPAST and Chief Revenue Officer ROLEPAST
Our executive officers are appointed by the Board of Directors and serve at the discretion of the Board of Directors.
ANIRUDH DEVGAN PERSONPAST has served as Chief Executive Officer ROLEPAST of Cadence ORGPAST since December 2021 DATEPAST and President ROLEPAST of Cadence ORGPAST since November 2017 DATEPAST . From May 2012 DATEPAST to November 2017 DATEPAST , Dr. Devgan PERSONPAST held several positions at Cadence ORGPAST , most recently as Executive Vice President ROLEPAST , Research and Development from March 2017 DATEPAST to November 2017 DATEPAST and Senior Vice President ROLEPAST , Research and Development from November 2013 DATEPAST to March 2017 DATEPAST . Prior to joining Cadence ORGPAST , from May 2005 DATEPAST to March 2012 DATEPAST , Dr. Devgan PERSONPAST served as Corporate Vice President ROLEPAST and General Manager ROLEPAST of the Custom Design Business Unit at Magma Design Automation, Inc., an EDA company. Dr. Devgan PERSONPRESENT has a B.Tech. in electrical engineering from the Indian Institute of Technology ORGPAST , Delhi, and an M.S. and Ph.D. in electrical and computer engineering from Carnegie Mellon University ORGPRESENT .
JOHN M. WALL PERSONPRESENT has served as Senior Vice President ROLEPAST and Chief Financial Officer ROLEPAST of Cadence ORGPAST since October 2017 DATEPAST . From October 2000 DATEPAST to September 2017 DATEPAST , Mr. Wall PERSONPAST held several positions at Cadence ORGPAST , most recently as Corporate Vice President ROLEPAST and Corporate Controller ROLEPAST from April 2016 DATEPAST to October 2017 DATEPAST , Vice President ROLEPAST , Finance and Operations, Worldwide Revenue Accounting and Sales Finance from 2015 DATEPAST to 2016 DATEPAST and Vice President ROLEPAST , Finance and Operations, EMEA and Worldwide Revenue Accounting from 2005 DATEPAST to 2015 DATEPAST . Mr. Wall PERSONPAST has an NCBS from the Institute of Technology, Tralee and is a Fellow ROLEPAST of the Association of Chartered Certified Accountants ORGPAST .
THOMAS P. BECKLEY PERSONPRESENT has served as Senior Vice President ROLEPRESENT and General Manager ROLEPRESENT of the Custom IC and PCB Group of Cadence ORGPRESENT since 2018 DATEPRESENT . From September 2012 DATEPAST to September 2018 DATEPAST , Mr. Beckley PERSONPAST served as Senior Vice President ROLEPAST , Research and Development of Cadence ORGPAST . From April 2004 DATEPAST to September 2012 DATEPAST , Mr. Beckley PERSONPAST served as Corporate Vice President ROLEPAST , Research and Development of Cadence ORGPAST . Prior to joining Cadence ORGPAST , Mr. Beckley PERSONPAST served as President ROLEPAST and Chief Executive Officer ROLEPAST of Neolinear, Inc ORGPAST ., a developer of auto-interactive and automated analog/RF tools and solutions for mixed-signal design that was acquired by Cadence ORGPAST in April 2004 DATEPAST . Mr. Beckley PERSONPRESENT has a B.S. in mathematics and physics from Kalamazoo College and an M.B.A. from Vanderbilt University.
PAUL CUNNINGHAM PERSONPAST has served as Senior Vice President ROLEPAST and General Manager ROLEPAST of the System and Verification Group since March 2021 DATEPAST . From August 2011 DATEPAST to March 2021 DATEPAST , Mr. Cunningham PERSONPAST held several positions at Cadence ORGPAST , most recently as Corporate Vice President ROLEPAST of the System Verification Group beginning January 2018 DATEPAST . Prior to joining Cadence ORGPAST , Mr. Cunningham PERSONPAST was co-founder ROLEPAST and Chief Executive Officer ROLEPAST of Azuro, Inc ORGPAST ., a clock concurrent optimization company, that Cadence ORGPAST acquired in July 2011 DATEPAST . Mr. Cunningham PERSONPRESENT has an M.A. and Ph.D. in computer science from the University of Cambridge ORGPRESENT in the United Kingdom.
ALINKA FLAMINIA PERSONPAST has served as Senior Vice President ROLEPAST , Chief Legal Officer ROLEPAST and Corporate Secretary ROLEPAST of Cadence ORGPAST since June 2020 DATEPAST . Prior to joining Cadence ORGPAST , Ms. Flaminia PERSONPAST served as Senior Vice President ROLEPAST , General Counsel and Corporate Secretary ROLEPAST of Mellanox Technologies Ltd ORGPAST ., a supplier of intelligent interconnect solutions, from September 2016 DATEPAST until its acquisition by NVIDIA Corporation ORGPAST in April 2020 DATEPAST . She also served as General Counsel ROLEPAST and Corporate Secretary ROLEPAST of PMC-Sierra, Inc ORGPAST ., a semiconductor company, from 2007 DATEPAST until its acquisition by Microsemi Corporation ORGPAST in 2016 DATEPAST . Ms. Flaminia PERSONPAST has a B.A. from Yale University, and a J.D. from Colorado University, School of Law.
CHIN-CHI TENG PERSONPAST has served as Senior Vice President ROLEPAST and General Manager ROLEPAST of the Digital and Signoff Group of Cadence ORGPAST since September 2018 DATEPAST . From January 2002 DATEPAST to September 2018 DATEPAST , Dr. Teng PERSONPAST held several positions at Cadence ORGPAST , most recently as Corporate Vice President ROLEPAST , Research and Development from June 2015 DATEPAST to September 2018 DATEPAST , and Vice President ROLEPAST , Research and Development from March 2009 DATEPAST to June 2015 DATEPAST . Dr. Teng PERSONPRESENT has a B.S. in electrical engineering from the National Taiwan University ORGPRESENT and a Ph.D. in electrical and computer engineering from the University of Illinois, Urbana-Champaign.
NEIL ZAMAN PERSONPAST has served as Chief Revenue Officer ROLEPAST since October 2020 DATEPAST and as Senior Vice President ROLEPAST , Worldwide Field Operations since September 2015 DATEPAST . From October 1999 DATEPAST to September 2015 DATEPAST , Mr. Zaman PERSONPAST held several positions at Cadence ORGPAST , most recently as Corporate Vice President ROLEPAST , North America Field Operations. Prior to joining Cadence ORGPAST , Mr. Zaman PERSONPAST held positions at Phoenix Technologies Ltd ORGPAST ., a developer of core system software, and IBM Corporation ORGPAST , a technology and consulting company. Mr. Zaman PERSONPRESENT has a B.S. in finance from California State University, Hayward.
10
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from johnsnowlabs import viz\n", "\n", "texts = [pages[12]]\n", "\n", "res = lp.fullAnnotate(texts)\n", "\n", "vis = viz.AssertionVisualizer()\n", "\n", "for r in res:\n", " vis.display(r, 'ner_chunk', 'assertion')" ] }, { "cell_type": "markdown", "id": "caeae8fe-c276-4c47-a137-69f325bb105c", "metadata": { "id": "caeae8fe-c276-4c47-a137-69f325bb105c" }, "source": [ "##πŸ“š Identify COMPETITORS in a Text with Assertion Status" ] }, { "cell_type": "markdown", "id": "94fe87f8-6282-4f41-82a3-34d2a2744d0b", "metadata": { "id": "94fe87f8-6282-4f41-82a3-34d2a2744d0b" }, "source": [ "This model uses Assertion Status to identify if a **PRODUCT** or an **ORG** is mentioned to be a `COMPETITOR`. By default, if nothing is mentioned, it returns `NO_COMPETITOR`.\n", "\n", "Again, this is a model uses the context around `PRODUCT` or `ORGANIZATION` to further subclassify them.\n", "\n", "For that, we need:\n", "- An NER model. We will use `finner_org_prod_alias` which uses `bert_embeddings_sec_bert_base` embeddings to extract `ORPG`, `PRODUCT` and `ALIAS` entities;\n", "- An Assertion Model which detects time. We will use `finassertion_competitors` which retrieves if a company or product is a `COMPETITOR` or `NO_COMPETITOR`\n", "\n", "πŸš€**Please keep in mind that you can use this model also in other entities, but the performance may be affected**\n" ] }, { "cell_type": "code", "execution_count": null, "id": "9d612414-0e2c-41bd-b9a1-3158ce9400eb", "metadata": { "id": "9d612414-0e2c-41bd-b9a1-3158ce9400eb", "jupyter": { "outputs_hidden": true }, "tags": [] }, "outputs": [], "source": [ "document_assembler = nlp.DocumentAssembler()\\\n", " .setInputCol(\"text\")\\\n", " .setOutputCol(\"document\")\n", "\n", "# Text Splitter annotator, processes various sentences per line\n", "text_splitter = finance.TextSplitter()\\\n", " .setInputCols([\"document\"])\\\n", " .setOutputCol(\"sentence\")\n", "\n", "# Tokenizer splits words in a relevant format for NLP\n", "tokenizer = nlp.Tokenizer()\\\n", " .setInputCols([\"sentence\"])\\\n", " .setOutputCol(\"token\")\n", "\n", "embeddings = nlp.BertEmbeddings.pretrained(\"bert_embeddings_sec_bert_base\",\"en\") \\\n", " .setInputCols([\"sentence\", \"token\"]) \\\n", " .setOutputCol(\"embeddings\")\n", "\n", "ner_model = finance.NerModel.pretrained(\"finner_orgs_prods_alias\",\"en\",\"finance/models\")\\\n", " .setInputCols([\"sentence\", \"token\", \"embeddings\"]) \\\n", " .setOutputCol(\"ner\")\\\n", "\n", "ner_converter = finance.NerConverterInternal() \\\n", " .setInputCols([\"sentence\", \"token\", \"ner\"]) \\\n", " .setOutputCol(\"ner_chunk\")\\\n", "\n", "assertion = finance.AssertionDLModel.pretrained(\"finassertion_competitors\", \"en\", \"finance/models\")\\\n", " .setInputCols([\"sentence\", \"ner_chunk\", \"embeddings\"]) \\\n", " .setOutputCol(\"assertion\")\n", " \n", "pipeline = nlp.Pipeline(stages=[\n", " document_assembler, \n", " text_splitter,\n", " tokenizer,\n", " embeddings,\n", " ner_model,\n", " ner_converter,\n", " assertion\n", " ])\n", "\n", "empty_df = spark.createDataFrame([[\"\"]]).toDF(\"text\")\n", "\n", "model = pipeline.fit(empty_df)\n", "\n", "light_model = nlp.LightPipeline(model)" ] }, { "cell_type": "markdown", "id": "936ed953-a926-4e76-af5d-c8290a86a556", "metadata": { "id": "936ed953-a926-4e76-af5d-c8290a86a556" }, "source": [ "###βœ”οΈ Some examples " ] }, { "cell_type": "code", "execution_count": null, "id": "5a3cb7ee-3198-42d2-b0f9-9476a5052d2f", "metadata": { "id": "5a3cb7ee-3198-42d2-b0f9-9476a5052d2f" }, "outputs": [], "source": [ "sample_text = \"\"\"Our competitors include the following by general category: legacy antivirus product providers, such as McAfee LLC and Broadcom Inc.\"\"\"" ] }, { "cell_type": "code", "execution_count": null, "id": "0619023c-a6c3-4b61-837c-06af6ea02804", "metadata": { "id": "0619023c-a6c3-4b61-837c-06af6ea02804" }, "outputs": [], "source": [ "data = spark.createDataFrame([[sample_text]]).toDF(\"text\")" ] }, { "cell_type": "code", "execution_count": null, "id": "3e7299b0-24d3-4bf7-bf95-833b950132f8", "metadata": { "id": "3e7299b0-24d3-4bf7-bf95-833b950132f8" }, "outputs": [], "source": [ "result = model.transform(data)" ] }, { "cell_type": "code", "execution_count": null, "id": "76bd5600-1705-482e-b728-e0459212ea53", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "76bd5600-1705-482e-b728-e0459212ea53", "outputId": "9574d35f-68a4-4652-a411-8256552efe6c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "+-------+------------+---------+----------+\n", "|sent_id|chunk |ner_label|assertion |\n", "+-------+------------+---------+----------+\n", "|0 |McAfee LLC |ORG |COMPETITOR|\n", "|0 |Broadcom Inc|ORG |COMPETITOR|\n", "+-------+------------+---------+----------+\n", "\n" ] } ], "source": [ "result.select(F.explode(F.arrays_zip(result.ner_chunk.result, result.ner_chunk.metadata, result.assertion.result)).alias(\"cols\"))\\\n", " .select(F.expr(\"cols['1']['sentence']\").alias(\"sent_id\"),\n", " F.expr(\"cols['0']\").alias(\"chunk\"),\n", " F.expr(\"cols['1']['entity']\").alias(\"ner_label\"),\n", " F.expr(\"cols['2']\").alias(\"assertion\")).show(truncate=False)" ] }, { "cell_type": "markdown", "id": "45de1301-4cba-432e-9d62-9e3a92b484a1", "metadata": { "id": "45de1301-4cba-432e-9d62-9e3a92b484a1" }, "source": [ "###βœ”οΈ Quick inference with LightPipeline" ] }, { "cell_type": "code", "execution_count": null, "id": "cc030bfe-fc6d-4e47-8daf-a527744c9e73", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 112 }, "id": "cc030bfe-fc6d-4e47-8daf-a527744c9e73", "outputId": "9b734d1e-d4f5-46a4-c9f2-08a4197cdfb0" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chunksentitiesassertion
0McAfee LLCORGCOMPETITOR
1Broadcom IncORGCOMPETITOR
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " chunks entities assertion\n", "0 McAfee LLC ORG COMPETITOR\n", "1 Broadcom Inc ORG COMPETITOR" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "light_result = light_model.fullAnnotate(sample_text)[0]\n", "\n", "chunks=[]\n", "entities=[]\n", "status=[]\n", "\n", "for n,m in zip(light_result['ner_chunk'],light_result['assertion']):\n", " \n", " chunks.append(n.result)\n", " entities.append(n.metadata['entity']) \n", " status.append(m.result)\n", " \n", "df = pd.DataFrame({'chunks':chunks, 'entities':entities, 'assertion':status})\n", "\n", "df" ] }, { "cell_type": "markdown", "id": "c9aaa35d-28db-46f7-b687-eb17b3352424", "metadata": { "id": "c9aaa35d-28db-46f7-b687-eb17b3352424" }, "source": [ "###βœ”οΈ Visualization of Assertion Status (`COMPETITOR` example)" ] }, { "cell_type": "code", "execution_count": null, "id": "f619b1a3-6937-4914-88d3-13b4ad086491", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 118 }, "id": "f619b1a3-6937-4914-88d3-13b4ad086491", "outputId": "8bdffb94-beef-4dae-dfc8-99328d50cf46" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " Our competitors include the following by general category: legacy antivirus product providers, such as McAfee LLC ORGCOMPETITOR and Broadcom Inc ORGCOMPETITOR ." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# from sparknlp_display import AssertionVisualizer\n", "\n", "vis = nlp.viz.AssertionVisualizer()\n", "\n", "vis.display(light_result, 'ner_chunk', 'assertion')" ] }, { "cell_type": "markdown", "id": "3679b0a8-5449-4d2d-b5bd-243f4a64c0ba", "metadata": { "id": "3679b0a8-5449-4d2d-b5bd-243f4a64c0ba" }, "source": [ "##πŸ“š Writing a Generic Assertion + NER Function\n", "You can generalize and retrieve components or full pipelines using functions.\n", "\n", "This is an example of how you can achieve that." ] }, { "cell_type": "code", "execution_count": null, "id": "2fb1ea6b-2a6c-41b1-b192-769a67e37a8d", "metadata": { "id": "2fb1ea6b-2a6c-41b1-b192-769a67e37a8d", "tags": [] }, "outputs": [], "source": [ "def get_base_pipeline(embeddings):\n", "\n", " documentAssembler = nlp.DocumentAssembler()\\\n", " .setInputCol(\"text\")\\\n", " .setOutputCol(\"document\")\n", "\n", " textSplitter = finance.TextSplitter()\\\n", " .setInputCols([\"document\"])\\\n", " .setOutputCol(\"sentence\")\n", "\n", " tokenizer = nlp.Tokenizer()\\\n", " .setInputCols([\"sentence\"])\\\n", " .setOutputCol(\"token\")\n", "\n", " embeddings = nlp.BertEmbeddings.pretrained(embeddings, \"en\") \\\n", " .setInputCols([\"sentence\", \"token\"]) \\\n", " .setOutputCol(\"embeddings\")\n", "\n", " base_pipeline = nlp.Pipeline(stages=[\n", " document_assembler,\n", " textSplitter,\n", " tokenizer,\n", " embeddings])\n", "\n", " return base_pipeline\n", "\n", "\n", "def get_assertion (embeddings, ner_model, assertion_model):\n", "\n", " ner = finance.NerModel.pretrained(ner_model, \"en\", \"finance/models\")\\\n", " .setInputCols([\"sentence\", \"token\", \"embeddings\"]) \\\n", " .setOutputCol(\"ner\")\n", "\n", " ner_converter = nlp.NerConverter() \\\n", " .setInputCols([\"sentence\", \"token\", \"ner\"]) \\\n", " .setOutputCol(\"ner_chunk\")\n", " \n", " assertion = finance.AssertionDLModel.pretrained(assertion_model, \"en\", \"finance/models\")\\\n", " .setInputCols([\"sentence\", \"ner_chunk\", \"embeddings\"])\\\n", " .setOutputCol(\"assertion\")\n", " \n", " base_model = get_base_pipeline(embeddings)\n", "\n", " nlpPipeline = nlp.Pipeline(stages=[\n", " base_model,\n", " ner,\n", " ner_converter,\n", " assertion])\n", "\n", " empty_data = spark.createDataFrame([[\"\"]]).toDF(\"text\")\n", "\n", " model = nlpPipeline.fit(empty_data)\n", " \n", " light_model = nlp.LightPipeline(model)\n", " \n", " return light_model\n", " " ] }, { "cell_type": "markdown", "id": "c8bf2070-6bf4-4523-8a6f-5e9d3679787f", "metadata": { "id": "c8bf2070-6bf4-4523-8a6f-5e9d3679787f" }, "source": [ "###βœ”οΈ Quick inference with LightPipeline" ] }, { "cell_type": "code", "execution_count": null, "id": "b42476c7-d308-47fb-9218-1f73d99d3830", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "collapsed": true, "id": "b42476c7-d308-47fb-9218-1f73d99d3830", "jupyter": { "outputs_hidden": true }, "outputId": "64f6dda8-108d-4ab5-ec30-03f727316c8c", "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "finner_orgs_prods_alias download started this may take some time.\n", "[OK!]\n", "finassertion_competitors download started this may take some time.\n", "[OK!]\n", "bert_embeddings_sec_bert_base download started this may take some time.\n", "Approximate size to download 390.4 MB\n", "[OK!]\n" ] } ], "source": [ "sample_text = \"\"\"EDH combines our Cloudera Data Warehouse, Cloudera Operational DB, and Cloudera Data Science with our SDX technology.\"\"\"\n", "\n", "embeddings = \"bert_embeddings_sec_bert_base\"\n", "\n", "ner_model = \"finner_orgs_prods_alias\"\n", "\n", "assertion_model = \"finassertion_competitors\"\n", "\n", "light_result = get_assertion(embeddings, ner_model, assertion_model).fullAnnotate(sample_text)[0]\n", "\n", "chunks=[]\n", "entities=[]\n", "status=[]\n", "\n", "for n,m in zip(light_result['ner_chunk'],light_result['assertion']):\n", "\n", " chunks.append(n.result)\n", " entities.append(n.metadata['entity']) \n", " status.append(m.result)\n", "\n", "df = pd.DataFrame({'chunks':chunks, 'entities':entities, 'assertion':status})" ] }, { "cell_type": "code", "execution_count": null, "id": "ec16bf66-96da-4d05-b6dd-5f0ddb58446b", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "ec16bf66-96da-4d05-b6dd-5f0ddb58446b", "outputId": "89134e63-edd8-4d5d-b954-4d127e98b974" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chunksentitiesassertion
0EDHORGNO_COMPETITOR
1Cloudera Data WarehousePRODUCTNO_COMPETITOR
2Cloudera Operational DBPRODUCTNO_COMPETITOR
3Cloudera Data SciencePRODUCTNO_COMPETITOR
4SDXPRODUCTNO_COMPETITOR
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " chunks entities assertion\n", "0 EDH ORG NO_COMPETITOR\n", "1 Cloudera Data Warehouse PRODUCT NO_COMPETITOR\n", "2 Cloudera Operational DB PRODUCT NO_COMPETITOR\n", "3 Cloudera Data Science PRODUCT NO_COMPETITOR\n", "4 SDX PRODUCT NO_COMPETITOR" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "id": "ced0012d-b3e1-4e28-b9a1-64d433a84313", "metadata": { "id": "ced0012d-b3e1-4e28-b9a1-64d433a84313" }, "source": [ "###βœ”οΈ Visualization of Assertion Status (`NO_COMPETITOR` example)" ] }, { "cell_type": "code", "execution_count": null, "id": "ee86323e-e79d-453b-8b79-5e8ad235576a", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 118 }, "id": "ee86323e-e79d-453b-8b79-5e8ad235576a", "outputId": "64b07a87-fc02-449b-a654-d06759c9edda" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " EDH ORGNO_COMPETITOR combines our Cloudera Data Warehouse PRODUCTNO_COMPETITOR , Cloudera Operational DB PRODUCTNO_COMPETITOR , and Cloudera Data Science PRODUCTNO_COMPETITOR with our SDX PRODUCTNO_COMPETITOR technology." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vis = nlp.viz.AssertionVisualizer()\n", "\n", "vis.display(light_result, 'ner_chunk', 'assertion')" ] }, { "cell_type": "markdown", "id": "GDLWYnwF0OoE", "metadata": { "id": "GDLWYnwF0OoE" }, "source": [ "#πŸ”Ž Identify `Negation` in context\n", "This model uses Assertion Status to identify if an **ORG** or **PRODUCT** is followed by a `negation particle` in the context.\n", "\n", "Again, this is a model uses the context around `PRODUCT` or `ORGANIZATION` to further subclassify them.\n", "\n", "For that, we need:\n", "- An NER model. We will use `finner_orgs_prods_alias` which uses `bert_embeddings_sec_bert_base` embeddings to extract `PERSON`, `PRODUCT` and `ALIAS` entities;\n", "- An Assertion Model which detects negation. We will use `finassertion_negation` which retrieves if an entity is present in a `positive` or `negative` context.\n", "\n", "πŸš€**Please keep in mind that you can use this model also in other entities, but the performance may be affected**\n" ] }, { "cell_type": "markdown", "id": "JJFARERo1e-J", "metadata": { "id": "JJFARERo1e-J" }, "source": [ "###πŸ“Œ Quick inference with LightPipeline" ] }, { "cell_type": "code", "execution_count": null, "id": "JYf3ifsK00yt", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "JYf3ifsK00yt", "outputId": "0a0aa66a-41fb-4fdb-9ba2-75adfd1c0e7d" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "finner_orgs_prods_alias download started this may take some time.\n", "[OK!]\n", "finassertion_negation download started this may take some time.\n", "[OK!]\n", "bert_embeddings_sec_bert_base download started this may take some time.\n", "Approximate size to download 390.4 MB\n", "[OK!]\n" ] } ], "source": [ "sample_text = \"\"\"EDH combines our Cloudera Data Warehouse, Cloudera Operational DB, and Cloudera Data Science with our SDX technology.\"\"\"\n", "\n", "embeddings = \"bert_embeddings_sec_bert_base\"\n", "\n", "ner_model = \"finner_orgs_prods_alias\"\n", "\n", "assertion_model = \"finassertion_negation\"\n", "\n", "light_result = get_assertion(embeddings, ner_model, assertion_model).fullAnnotate(sample_text)[0]" ] }, { "cell_type": "code", "execution_count": null, "id": "nc4fdqMb1Xd0", "metadata": { "id": "nc4fdqMb1Xd0" }, "outputs": [], "source": [ "chunks=[]\n", "entities=[]\n", "status=[]\n", "\n", "for n,m in zip(light_result['ner_chunk'],light_result['assertion']):\n", "\n", " chunks.append(n.result)\n", " entities.append(n.metadata['entity']) \n", " status.append(m.result)\n", "\n", "df = pd.DataFrame({'chunks':chunks, 'entities':entities, 'assertion':status})" ] }, { "cell_type": "code", "execution_count": null, "id": "9zh1Hrms1ZJN", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "9zh1Hrms1ZJN", "outputId": "29320a3f-98fa-470f-ba2d-a699beee235b" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chunksentitiesassertion
0EDHORGpositive
1Cloudera Data WarehousePRODUCTpositive
2Cloudera Operational DBPRODUCTpositive
3Cloudera Data SciencePRODUCTpositive
4SDXPRODUCTpositive
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " chunks entities assertion\n", "0 EDH ORG positive\n", "1 Cloudera Data Warehouse PRODUCT positive\n", "2 Cloudera Operational DB PRODUCT positive\n", "3 Cloudera Data Science PRODUCT positive\n", "4 SDX PRODUCT positive" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": null, "id": "iKP7U6lA1kb9", "metadata": { "id": "iKP7U6lA1kb9" }, "outputs": [], "source": [ "sample_text = \"\"\"Whatsapp did not borrow funds from Meta for its capital needs. Synapsis INC will not be considered as eligible for X Engineering, Inc. supplier financing program.\"\"\"" ] }, { "cell_type": "code", "execution_count": null, "id": "fY6vnWlr2Epz", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fY6vnWlr2Epz", "outputId": "1917d378-bb9e-4b5f-b38e-ce9c72d1e511" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "finner_orgs_prods_alias download started this may take some time.\n", "[OK!]\n", "finassertion_negation download started this may take some time.\n", "[OK!]\n", "bert_embeddings_sec_bert_base download started this may take some time.\n", "Approximate size to download 390.4 MB\n", "[OK!]\n" ] } ], "source": [ "light_result = get_assertion(embeddings, ner_model, assertion_model).fullAnnotate(sample_text)[0]" ] }, { "cell_type": "code", "execution_count": null, "id": "jTXsdjeS2Isr", "metadata": { "id": "jTXsdjeS2Isr" }, "outputs": [], "source": [ "chunks=[]\n", "entities=[]\n", "status=[]\n", "\n", "for n,m in zip(light_result['ner_chunk'],light_result['assertion']):\n", "\n", " chunks.append(n.result)\n", " entities.append(n.metadata['entity']) \n", " status.append(m.result)\n", "\n", "df = pd.DataFrame({'chunks':chunks, 'entities':entities, 'assertion':status})" ] }, { "cell_type": "code", "execution_count": null, "id": "YsVKt1h42KAU", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 175 }, "id": "YsVKt1h42KAU", "outputId": "26677b22-84da-4283-88e0-ec6ea781b3a4" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chunksentitiesassertion
0WhatsappORGnegative
1MetaORGpositive
2Synapsis INCORGnegative
3X Engineering, IncORGpositive
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " chunks entities assertion\n", "0 Whatsapp ORG negative\n", "1 Meta ORG positive\n", "2 Synapsis INC ORG negative\n", "3 X Engineering, Inc ORG positive" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "id": "q4I7pdb_2Pj0", "metadata": { "id": "q4I7pdb_2Pj0" }, "source": [ "###πŸ“Œ Visualization of Assertion Status" ] }, { "cell_type": "code", "execution_count": null, "id": "0WxQwt-12O49", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 118 }, "id": "0WxQwt-12O49", "outputId": "164d1da5-c748-4d44-8826-8f0d3363899b" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " Whatsapp ORGnegative did not borrow funds from Meta ORGpositive for its capital needs. Synapsis INC ORGnegative will not be considered as eligible for X Engineering, Inc ORGpositive . supplier financing program." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vis = nlp.viz.AssertionVisualizer()\n", "\n", "vis.display(light_result, 'ner_chunk', 'assertion')" ] }, { "cell_type": "code", "execution_count": null, "id": "nSgv1nCsVylR", "metadata": { "id": "nSgv1nCsVylR" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "provenance": [], "toc_visible": true }, "gpuClass": "standard", "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 5 }