{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Demo for PyData Montreal 2021, part 1\n",
    "\n",
    "Based on `Market_Intelligence_Part1.ipynb`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# Import Python libraries\n",
    "from typing import *\n",
    "import os\n",
    "\n",
    "if \"IBM_API_KEY\" not in os.environ:\n",
    "    raise ValueError(\"IBM_API_KEY environment variable not set. Please create \"\n",
    "                     \"a free instance of IBM Watson Natural Language Understanding \"\n",
    "                     \"(see https://www.ibm.com/cloud/watson-natural-language-understanding) \"\n",
    "                     \"and set the IBM_API_KEY environment variable to your instance's \"\n",
    "                     \"API key value.\")\n",
    "api_key = os.environ.get(\"IBM_API_KEY\")\n",
    "service_url = os.environ.get(\"IBM_SERVICE_URL\")  \n",
    "\n",
    "# Github notebook gists will be this wide: ------------------>\n",
    "# Screenshots of this notebook should be this wide: ----------------------------->"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'https://newsroom.ibm.com/2020-02-19-IBM-Power-Systems-Certified-for-SAP-HANA-R-Enterprise-Cloud-as-a-provider-for-large-SAP-HANA-systems'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Show the document\n",
    "doc_url = \"https://newsroom.ibm.com/2020-02-19-IBM-Power-Systems-Certified-for-SAP-HANA-R-Enterprise-Cloud-as-a-provider-for-large-SAP-HANA-systems\"\n",
    "doc_url"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'usage': {'text_units': 1, 'text_characters': 3810, 'features': 2},\n",
       " 'semantic_roles': [{'subject': {'text': 'IBM'},\n",
       "   'sentence': 'ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ --\\xa0IBM (NYSE: IBM) today announced that IBM Power Systems has been certified for the SAP HANA® Enterprise Cloud as a critical infrastructure platform provider for large SAP HANA systems, aiming to simplify the IT infrastructure for the managed, private cloud environment.',\n",
       "   'object': {'text': 'that IBM Power Systems has been certified for the SAP HANA® Enterprise Cloud as a critical infrastructure platform provider for large SAP HANA systems, aiming to simplify the IT infrastructure for the managed, private cloud environment'},\n",
       "   'action': {'verb': {'text': 'announce', 'tense': 'past'},\n",
       "    'text': 'announced',\n",
       "    'normalized': 'announce'}},\n",
       "  {'subject': {'text': 'IBM Power Systems'},\n",
       "   'sentence': 'ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ --\\xa0IBM (NYSE: IBM) today announced that IBM Power Systems has been certified for the SAP HANA® Enterprise Cloud as a critical infrastructure platform provider for large SAP HANA systems, aiming to simplify the IT infrastructure for the managed, private cloud environment.',\n",
       "   'object': {'text': 'certified for the SAP HANA® Enterprise Cloud as a critical infrastructure platform provider for large SAP HANA systems'},\n",
       "   'action': {'verb': {'text': 'be', 'tense': 'past'},\n",
       "    'text': 'been',\n",
       "    'normalized': 'be'}},\n",
       "  {'subject': {'text': 'to simplify the IT infrastructure'},\n",
       "   'sentence': 'ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ --\\xa0IBM (NYSE: IBM) today announced that IBM Power Systems has been certified for the SAP HANA® Enterprise Cloud as a critical infrastructure platform provider for large SAP HANA systems, aiming to simplify the IT infrastructure for the managed, private cloud environment.',\n",
       "   'object': {'text': 'for the managed, private cloud environment'},\n",
       "   'action': {'verb': {'text': 'aim', 'tense': 'present'},\n",
       "    'text': 'aiming',\n",
       "    'normalized': 'aim'}},\n",
       "  {'subject': {'text': 'the IT infrastructure'},\n",
       "   'sentence': 'ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ --\\xa0IBM (NYSE: IBM) today announced that IBM Power Systems has been certified for the SAP HANA® Enterprise Cloud as a critical infrastructure platform provider for large SAP HANA systems, aiming to simplify the IT infrastructure for the managed, private cloud environment.',\n",
       "   'object': {'text': 'for the managed, private cloud environment'},\n",
       "   'action': {'verb': {'text': 'simplify', 'tense': 'future'},\n",
       "    'text': 'aiming to simplify',\n",
       "    'normalized': 'aim to simplify'}},\n",
       "  {'subject': {'text': 'IBM POWER9-based IBM Power Systems E980 servers'},\n",
       "   'sentence': \" The service will run on IBM POWER9-based IBM Power Systems E980 servers, which have the industry's largest virtualized server scalability of 24TB for the SAP HANA databasei.\",\n",
       "   'object': {'text': \"the industry's largest virtualized server scalability of 24TB for the SAP HANA databasei\"},\n",
       "   'action': {'verb': {'text': 'have', 'tense': 'present'},\n",
       "    'text': 'have',\n",
       "    'normalized': 'have'}},\n",
       "  {'subject': {'text': 'the IT infrastructure'},\n",
       "   'sentence': \" Providing the IT infrastructure for a managed, private cloud environment, the SAP HANA Enterprise Cloud is a scalable and secured service that is designed to accelerate a user's evolution\\xa0on the path to cloud readiness.\",\n",
       "   'object': {'text': 'for a managed'},\n",
       "   'action': {'verb': {'text': 'Providing', 'tense': 'present'},\n",
       "    'text': 'Providing',\n",
       "    'normalized': 'Providing'}},\n",
       "  {'subject': {'text': 'the SAP HANA Enterprise Cloud'},\n",
       "   'sentence': \" Providing the IT infrastructure for a managed, private cloud environment, the SAP HANA Enterprise Cloud is a scalable and secured service that is designed to accelerate a user's evolution\\xa0on the path to cloud readiness.\",\n",
       "   'object': {'text': 'a scalable'},\n",
       "   'action': {'verb': {'text': 'be', 'tense': 'present'},\n",
       "    'text': 'is',\n",
       "    'normalized': 'be'}},\n",
       "  {'subject': {'text': 'a scalable and secured service'},\n",
       "   'sentence': \" Providing the IT infrastructure for a managed, private cloud environment, the SAP HANA Enterprise Cloud is a scalable and secured service that is designed to accelerate a user's evolution\\xa0on the path to cloud readiness.\",\n",
       "   'object': {'text': \"a user's evolution\"},\n",
       "   'action': {'verb': {'text': 'accelerate', 'tense': 'future'},\n",
       "    'text': 'is designed to accelerate',\n",
       "    'normalized': 'be design to accelerate'}},\n",
       "  {'subject': {'text': 'It'},\n",
       "   'sentence': ' It\\xa0provides capabilities that span the software and hardware stack, a comprehensive\\xa0menu of functional and technical services, and the level of control clients should expect on\\xa0premises, all in one privately managed environment.',\n",
       "   'object': {'text': 'capabilities that span the software and hardware stack, a comprehensive\\xa0menu of functional and technical services, and the level of control clients should expect on\\xa0premises'},\n",
       "   'action': {'verb': {'text': 'provide', 'tense': 'present'},\n",
       "    'text': 'provides',\n",
       "    'normalized': 'provide'}},\n",
       "  {'subject': {'text': 'capabilities'},\n",
       "   'sentence': ' It\\xa0provides capabilities that span the software and hardware stack, a comprehensive\\xa0menu of functional and technical services, and the level of control clients should expect on\\xa0premises, all in one privately managed environment.',\n",
       "   'object': {'text': 'the software and hardware stack'},\n",
       "   'action': {'verb': {'text': 'span', 'tense': 'present'},\n",
       "    'text': 'span',\n",
       "    'normalized': 'span'}},\n",
       "  {'subject': {'text': 'SAP HANA Enterprise Cloud on IBM Power Systems'},\n",
       "   'sentence': ' \"SAP HANA Enterprise Cloud on IBM Power Systems will help clients unlock the full value of SAP HANA in the cloud, with the possibility of enhancing the scalability and availability of mission critical SAP applications while moving workloads to SAP HANA and lowering TCO,\" said Christoph Herman, SVP and Head of SAP HANA Enterprise Cloud Delivery.',\n",
       "   'object': {'text': 'clients unlock the full value of SAP HANA in the cloud'},\n",
       "   'action': {'verb': {'text': 'help', 'tense': 'future'},\n",
       "    'text': 'will help',\n",
       "    'normalized': 'will help'}},\n",
       "  {'subject': {'text': 'Christoph Herman, SVP and Head of SAP HANA Enterprise Cloud Delivery'},\n",
       "   'sentence': ' \"SAP HANA Enterprise Cloud on IBM Power Systems will help clients unlock the full value of SAP HANA in the cloud, with the possibility of enhancing the scalability and availability of mission critical SAP applications while moving workloads to SAP HANA and lowering TCO,\" said Christoph Herman, SVP and Head of SAP HANA Enterprise Cloud Delivery.',\n",
       "   'object': {'text': 'SAP HANA Enterprise Cloud on IBM Power Systems will help clients unlock the full value of SAP HANA in the cloud, with the possibility of enhancing the scalability and availability of mission critical SAP applications while moving workloads to SAP HANA and lowering TCO'},\n",
       "   'action': {'verb': {'text': 'say', 'tense': 'past'},\n",
       "    'text': 'said',\n",
       "    'normalized': 'say'}},\n",
       "  {'subject': {'text': 'closer alignment'},\n",
       "   'sentence': ' \"Combining SAP HANA Enterprise Cloud capabilities with IBM Power Systems can help establish a faster path to cloud readiness for our clients while addressing risk and providing closer alignment to the intelligent enterprise.\"',\n",
       "   'object': {'text': 'to the intelligent enterprise'},\n",
       "   'action': {'verb': {'text': 'provide', 'tense': 'present'},\n",
       "    'text': 'providing',\n",
       "    'normalized': 'provide'}},\n",
       "  {'subject': {'text': 'SAP HANA Enterprise Cloud users'},\n",
       "   'sentence': ' SAP HANA Enterprise Cloud users can take advantage of the firmware-based virtualization in the IBM POWER platform that offers the largest SAP HANA scalability in scale-up systemsii.',\n",
       "   'object': {'text': 'advantage'},\n",
       "   'action': {'verb': {'text': 'take', 'tense': 'future'},\n",
       "    'text': 'can take',\n",
       "    'normalized': 'can take'}},\n",
       "  {'subject': {'text': 'the IBM POWER platform'},\n",
       "   'sentence': ' SAP HANA Enterprise Cloud users can take advantage of the firmware-based virtualization in the IBM POWER platform that offers the largest SAP HANA scalability in scale-up systemsii.',\n",
       "   'object': {'text': 'the largest SAP HANA scalability'},\n",
       "   'action': {'verb': {'text': 'offer', 'tense': 'present'},\n",
       "    'text': 'offers',\n",
       "    'normalized': 'offer'}},\n",
       "  {'subject': {'text': 'This'},\n",
       "   'sentence': ' This helps enable SAP HANA Enterprise Cloud users to accommodate capacity changes – this is designed for clients to benefit from faster performance of their SAP HANA-based business intelligence applications by running them in a single node while maximizing the availability of SAP applications with the highly resilient infrastructure.',\n",
       "   'object': {'text': 'enable SAP HANA Enterprise Cloud users'},\n",
       "   'action': {'verb': {'text': 'help', 'tense': 'present'},\n",
       "    'text': 'helps',\n",
       "    'normalized': 'help'}},\n",
       "  {'subject': {'text': 'This'},\n",
       "   'sentence': ' This helps enable SAP HANA Enterprise Cloud users to accommodate capacity changes – this is designed for clients to benefit from faster performance of their SAP HANA-based business intelligence applications by running them in a single node while maximizing the availability of SAP applications with the highly resilient infrastructure.',\n",
       "   'object': {'text': 'SAP HANA Enterprise Cloud users'},\n",
       "   'action': {'verb': {'text': 'enable', 'tense': 'present'},\n",
       "    'text': 'helps enable',\n",
       "    'normalized': 'help enable'}},\n",
       "  {'subject': {'text': 'SAP HANA Enterprise Cloud users'},\n",
       "   'sentence': ' This helps enable SAP HANA Enterprise Cloud users to accommodate capacity changes – this is designed for clients to benefit from faster performance of their SAP HANA-based business intelligence applications by running them in a single node while maximizing the availability of SAP applications with the highly resilient infrastructure.',\n",
       "   'object': {'text': 'capacity changes – this'},\n",
       "   'action': {'verb': {'text': 'accommodate', 'tense': 'future'},\n",
       "    'text': 'to accommodate',\n",
       "    'normalized': 'to accommodate'}},\n",
       "  {'subject': {'text': 'from faster performance of their SAP HANA-based business intelligence applications by running them in a single node while maximizing the availability of SAP applications with the highly resilient infrastructure'},\n",
       "   'sentence': ' This helps enable SAP HANA Enterprise Cloud users to accommodate capacity changes – this is designed for clients to benefit from faster performance of their SAP HANA-based business intelligence applications by running them in a single node while maximizing the availability of SAP applications with the highly resilient infrastructure.',\n",
       "   'object': {'text': 'clients'},\n",
       "   'action': {'verb': {'text': 'benefit', 'tense': 'future'},\n",
       "    'text': 'to benefit',\n",
       "    'normalized': 'to benefit'}},\n",
       "  {'subject': {'text': 'them'},\n",
       "   'sentence': ' This helps enable SAP HANA Enterprise Cloud users to accommodate capacity changes – this is designed for clients to benefit from faster performance of their SAP HANA-based business intelligence applications by running them in a single node while maximizing the availability of SAP applications with the highly resilient infrastructure.',\n",
       "   'action': {'verb': {'text': 'run', 'tense': 'present'},\n",
       "    'text': 'running',\n",
       "    'normalized': 'run'}},\n",
       "  {'subject': {'text': 'IBM'},\n",
       "   'sentence': ' \"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"',\n",
       "   'object': {'text': 'the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are'},\n",
       "   'action': {'verb': {'text': 'announce', 'tense': 'past'},\n",
       "    'text': 'announced',\n",
       "    'normalized': 'announce'}},\n",
       "  {'subject': {'text': 'IBM'},\n",
       "   'sentence': ' \"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"',\n",
       "   'object': {'text': 'the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are'},\n",
       "   'action': {'verb': {'text': 'take', 'tense': 'present'},\n",
       "    'text': 'taking',\n",
       "    'normalized': 'take'}},\n",
       "  {'subject': {'text': 'IBM Cognitive Systems technology'},\n",
       "   'sentence': ' \"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"',\n",
       "   'object': {'text': 'to our clients'},\n",
       "   'action': {'verb': {'text': 'bring', 'tense': 'future'},\n",
       "    'text': 'bringing',\n",
       "    'normalized': 'bring'}},\n",
       "  {'subject': {'text': 'Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation'},\n",
       "   'sentence': ' \"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"',\n",
       "   'object': {'text': 'In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are'},\n",
       "   'action': {'verb': {'text': 'say', 'tense': 'past'},\n",
       "    'text': 'said',\n",
       "    'normalized': 'say'}},\n",
       "  {'subject': {'text': 'we'},\n",
       "   'sentence': ' \"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"',\n",
       "   'object': {'text': 'giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation'},\n",
       "   'action': {'verb': {'text': 'be', 'tense': 'present'},\n",
       "    'text': 'are',\n",
       "    'normalized': 'be'}},\n",
       "  {'subject': {'text': 'we'},\n",
       "   'sentence': ' \"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"',\n",
       "   'object': {'text': 'more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation'},\n",
       "   'action': {'verb': {'text': 'give', 'tense': 'present'},\n",
       "    'text': 'giving',\n",
       "    'normalized': 'give'}},\n",
       "  {'subject': {'text': 'we'},\n",
       "   'sentence': ' \"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"',\n",
       "   'object': {'text': 'their workloads'},\n",
       "   'action': {'verb': {'text': 'run', 'tense': 'future'},\n",
       "    'text': 'to run',\n",
       "    'normalized': 'to run'}},\n",
       "  {'subject': {'text': 'they'},\n",
       "   'sentence': ' \"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"',\n",
       "   'object': {'text': 'digital transformation'},\n",
       "   'action': {'verb': {'text': 'accelerate', 'tense': 'present'},\n",
       "    'text': 'accelerate',\n",
       "    'normalized': 'accelerate'}},\n",
       "  {'subject': {'text': 'IBM Power Systems'},\n",
       "   'sentence': ' IBM Power Systems has been delivering scalability and availability for SAP HANA applications since it was certified for SAP HANA in 2015, and the ongoing collaboration between IBM Power Systems and SAP provides virtualization on-demand via hypervisor-defined features in Power Systems.',\n",
       "   'object': {'text': 'scalability and availability'},\n",
       "   'action': {'verb': {'text': 'deliver', 'tense': 'past'},\n",
       "    'text': 'has been delivering',\n",
       "    'normalized': 'have be deliver'}},\n",
       "  {'subject': {'text': 'it'},\n",
       "   'sentence': ' IBM Power Systems has been delivering scalability and availability for SAP HANA applications since it was certified for SAP HANA in 2015, and the ongoing collaboration between IBM Power Systems and SAP provides virtualization on-demand via hypervisor-defined features in Power Systems.',\n",
       "   'object': {'text': 'certified for SAP HANA'},\n",
       "   'action': {'verb': {'text': 'be', 'tense': 'past'},\n",
       "    'text': 'was',\n",
       "    'normalized': 'be'}},\n",
       "  {'subject': {'text': 'it'},\n",
       "   'sentence': ' IBM Power Systems has been delivering scalability and availability for SAP HANA applications since it was certified for SAP HANA in 2015, and the ongoing collaboration between IBM Power Systems and SAP provides virtualization on-demand via hypervisor-defined features in Power Systems.',\n",
       "   'object': {'text': 'for SAP HANA'},\n",
       "   'action': {'verb': {'text': 'certify', 'tense': 'past'},\n",
       "    'text': 'was certified',\n",
       "    'normalized': 'be certify'}},\n",
       "  {'subject': {'text': 'the ongoing collaboration between IBM Power Systems and SAP'},\n",
       "   'sentence': ' IBM Power Systems has been delivering scalability and availability for SAP HANA applications since it was certified for SAP HANA in 2015, and the ongoing collaboration between IBM Power Systems and SAP provides virtualization on-demand via hypervisor-defined features in Power Systems.',\n",
       "   'object': {'text': 'virtualization on-demand'},\n",
       "   'action': {'verb': {'text': 'provide', 'tense': 'present'},\n",
       "    'text': 'provides',\n",
       "    'normalized': 'provide'}},\n",
       "  {'subject': {'text': 'This'},\n",
       "   'sentence': ' This enables clients to take advantage of multiple SAP HANA Enterprise Cloud service levels and transform their IT operations by shifting the focus from infrastructure maintenance to innovating with SAP HANA in the cloud.',\n",
       "   'object': {'text': 'clients'},\n",
       "   'action': {'verb': {'text': 'enable', 'tense': 'present'},\n",
       "    'text': 'enables',\n",
       "    'normalized': 'enable'}},\n",
       "  {'subject': {'text': 'clients'},\n",
       "   'sentence': ' This enables clients to take advantage of multiple SAP HANA Enterprise Cloud service levels and transform their IT operations by shifting the focus from infrastructure maintenance to innovating with SAP HANA in the cloud.',\n",
       "   'object': {'text': 'advantage'},\n",
       "   'action': {'verb': {'text': 'take', 'tense': 'future'},\n",
       "    'text': 'to take',\n",
       "    'normalized': 'to take'}},\n",
       "  {'subject': {'text': 'the focus'},\n",
       "   'sentence': ' This enables clients to take advantage of multiple SAP HANA Enterprise Cloud service levels and transform their IT operations by shifting the focus from infrastructure maintenance to innovating with SAP HANA in the cloud.',\n",
       "   'object': {'text': 'from infrastructure maintenance to innovating with SAP HANA in the cloud'},\n",
       "   'action': {'verb': {'text': 'shift', 'tense': 'present'},\n",
       "    'text': 'shifting',\n",
       "    'normalized': 'shift'}},\n",
       "  {'subject': {'text': 'with SAP HANA'},\n",
       "   'sentence': ' This enables clients to take advantage of multiple SAP HANA Enterprise Cloud service levels and transform their IT operations by shifting the focus from infrastructure maintenance to innovating with SAP HANA in the cloud.',\n",
       "   'action': {'verb': {'text': 'innovate', 'tense': 'future'},\n",
       "    'text': 'innovating',\n",
       "    'normalized': 'innovate'}},\n",
       "  {'subject': {'text': 'SAP HANA Enterprise Cloud on IBM Power Systems'},\n",
       "   'sentence': \" SAP HANA Enterprise Cloud on IBM Power Systems is another testament to IBM and SAP's long-standing, client-centric relationship.\",\n",
       "   'object': {'text': \"another testament to IBM and SAP's long-standing, client-centric relationship\"},\n",
       "   'action': {'verb': {'text': 'be', 'tense': 'present'},\n",
       "    'text': 'is',\n",
       "    'normalized': 'be'}},\n",
       "  {'subject': {'text': 'IBM Services and SAP'},\n",
       "   'sentence': ' Since forming the Digital Transformation partnership\\xa0more than three years ago, IBM Services and SAP have worked together to provide services and capabilities that help accelerate how customers around the world modernize their systems and processes on their path to becoming an intelligent enterprise.',\n",
       "   'object': {'text': 'the Digital Transformation partnership\\xa0more than three years ago'},\n",
       "   'action': {'verb': {'text': 'form', 'tense': 'present'},\n",
       "    'text': 'forming',\n",
       "    'normalized': 'form'}},\n",
       "  {'subject': {'text': 'IBM Services and SAP'},\n",
       "   'sentence': ' Since forming the Digital Transformation partnership\\xa0more than three years ago, IBM Services and SAP have worked together to provide services and capabilities that help accelerate how customers around the world modernize their systems and processes on their path to becoming an intelligent enterprise.',\n",
       "   'action': {'verb': {'text': 'have', 'tense': 'present'},\n",
       "    'text': 'have worked',\n",
       "    'normalized': 'have work'}},\n",
       "  {'subject': {'text': 'IBM Services and SAP'},\n",
       "   'sentence': ' Since forming the Digital Transformation partnership\\xa0more than three years ago, IBM Services and SAP have worked together to provide services and capabilities that help accelerate how customers around the world modernize their systems and processes on their path to becoming an intelligent enterprise.',\n",
       "   'object': {'text': 'to provide services and capabilities that help accelerate how customers around the world modernize their systems and processes on their path to becoming an intelligent enterprise'},\n",
       "   'action': {'verb': {'text': 'work', 'tense': 'past'},\n",
       "    'text': 'have worked',\n",
       "    'normalized': 'have work'}},\n",
       "  {'subject': {'text': 'IBM Services and SAP'},\n",
       "   'sentence': ' Since forming the Digital Transformation partnership\\xa0more than three years ago, IBM Services and SAP have worked together to provide services and capabilities that help accelerate how customers around the world modernize their systems and processes on their path to becoming an intelligent enterprise.',\n",
       "   'object': {'text': 'services and capabilities'},\n",
       "   'action': {'verb': {'text': 'provide', 'tense': 'future'},\n",
       "    'text': 'to provide',\n",
       "    'normalized': 'to provide'}},\n",
       "  {'subject': {'text': 'capabilities'},\n",
       "   'sentence': ' Since forming the Digital Transformation partnership\\xa0more than three years ago, IBM Services and SAP have worked together to provide services and capabilities that help accelerate how customers around the world modernize their systems and processes on their path to becoming an intelligent enterprise.',\n",
       "   'object': {'text': 'accelerate how customers around the world modernize their systems and processes'},\n",
       "   'action': {'verb': {'text': 'help', 'tense': 'present'},\n",
       "    'text': 'help',\n",
       "    'normalized': 'help'}},\n",
       "  {'subject': {'text': 'POWER9 a maximum of 24TB'},\n",
       "   'sentence': ' i\\xa0As per the SAP Note 2188482, on POWER9 a maximum of 24TB can be\\xa0used by single HANA 2.0 (scale-up) must not be exceeded',\n",
       "   'object': {'text': 'used by single HANA 2.0 (scale-up'},\n",
       "   'action': {'verb': {'text': 'be', 'tense': 'future'},\n",
       "    'text': 'be',\n",
       "    'normalized': 'be'}},\n",
       "  {'subject': {'text': 'by single HANA 2.0 (scale-up)'},\n",
       "   'sentence': ' i\\xa0As per the SAP Note 2188482, on POWER9 a maximum of 24TB can be\\xa0used by single HANA 2.0 (scale-up) must not be exceeded',\n",
       "   'object': {'text': 'POWER9 a maximum of 24TB'},\n",
       "   'action': {'verb': {'text': 'use', 'tense': 'future'},\n",
       "    'text': 'can be\\xa0used',\n",
       "    'normalized': 'can be\\xa0use'}}],\n",
       " 'retrieved_url': 'https://newsroom.ibm.com/2020-02-19-IBM-Power-Systems-Certified-for-SAP-HANA-R-Enterprise-Cloud-as-a-provider-for-large-SAP-HANA-systems',\n",
       " 'language': 'en',\n",
       " 'entities': [{'type': 'Organization',\n",
       "   'text': 'SAP',\n",
       "   'relevance': 0.807653,\n",
       "   'mentions': [{'text': 'SAP',\n",
       "     'location': [126, 129],\n",
       "     'confidence': 0.706408},\n",
       "    {'text': 'SAP', 'location': [210, 213], 'confidence': 0.625238},\n",
       "    {'text': 'SAP', 'location': [565, 568], 'confidence': 0.70457},\n",
       "    {'text': 'SAP', 'location': [937, 940], 'confidence': 0.738066},\n",
       "    {'text': 'SAP', 'location': [1137, 1140], 'confidence': 0.644183},\n",
       "    {'text': 'SAP', 'location': [1294, 1297], 'confidence': 0.224388},\n",
       "    {'text': 'SAP', 'location': [1509, 1512], 'confidence': 0.746624},\n",
       "    {'text': 'SAP', 'location': [1709, 1712], 'confidence': 0.616656},\n",
       "    {'text': 'SAP', 'location': [1968, 1971], 'confidence': 0.876088},\n",
       "    {'text': 'SAP', 'location': [2720, 2723], 'confidence': 0.807853},\n",
       "    {'text': 'SAP', 'location': [2859, 2862], 'confidence': 0.674871},\n",
       "    {'text': 'SAP', 'location': [3030, 3033], 'confidence': 0.738465},\n",
       "    {'text': 'SAP', 'location': [3109, 3112], 'confidence': 0.935623},\n",
       "    {'text': 'SAP', 'location': [3256, 3259], 'confidence': 0.609506}],\n",
       "   'disambiguation': {'name': 'Computers_and_Structures',\n",
       "    'dbpedia_resource': 'http://dbpedia.org/resource/Computers_and_Structures'},\n",
       "   'count': 14,\n",
       "   'confidence': 1},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'IBM',\n",
       "   'relevance': 0.739592,\n",
       "   'mentions': [{'text': 'IBM', 'location': [44, 47], 'confidence': 0.923359},\n",
       "    {'text': 'IBM', 'location': [55, 58], 'confidence': 0.955547},\n",
       "    {'text': 'IBM', 'location': [337, 340], 'confidence': 0.923548},\n",
       "    {'text': 'IBM', 'location': [354, 357], 'confidence': 0.826499},\n",
       "    {'text': 'IBM', 'location': [1338, 1341], 'confidence': 0.920989},\n",
       "    {'text': 'IBM', 'location': [1604, 1607], 'confidence': 0.896893},\n",
       "    {'text': 'IBM', 'location': [2037, 2040], 'confidence': 0.947928},\n",
       "    {'text': 'IBM', 'location': [2085, 2088], 'confidence': 0.875871},\n",
       "    {'text': 'IBM', 'location': [2146, 2149], 'confidence': 0.895943},\n",
       "    {'text': 'IBM', 'location': [2306, 2309], 'confidence': 0.832583},\n",
       "    {'text': 'IBM', 'location': [2522, 2525], 'confidence': 0.963734},\n",
       "    {'text': 'IBM', 'location': [3101, 3104], 'confidence': 0.948039},\n",
       "    {'text': 'IBM', 'location': [3488, 3491], 'confidence': 0.91803},\n",
       "    {'text': 'IBM', 'location': [3588, 3591], 'confidence': 0.920051},\n",
       "    {'text': 'IBM', 'location': [3806, 3809], 'confidence': 0.798765}],\n",
       "   'disambiguation': {'subtype': ['SoftwareLicense',\n",
       "     'Company',\n",
       "     'OperatingSystemDeveloper',\n",
       "     'ProcessorManufacturer',\n",
       "     'SoftwareDeveloper',\n",
       "     'CompanyFounder',\n",
       "     'ProgrammingLanguageDesigner',\n",
       "     'ProgrammingLanguageDeveloper'],\n",
       "    'name': 'IBM',\n",
       "    'dbpedia_resource': 'http://dbpedia.org/resource/IBM'},\n",
       "   'count': 15,\n",
       "   'confidence': 1},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'SAP HANA',\n",
       "   'relevance': 0.531033,\n",
       "   'mentions': [{'text': 'SAP HANA',\n",
       "     'location': [1180, 1188],\n",
       "     'confidence': 0.413465},\n",
       "    {'text': 'SAP HANA', 'location': [1848, 1856], 'confidence': 0.46181},\n",
       "    {'text': 'SAP HANA', 'location': [2593, 2601], 'confidence': 0.356218},\n",
       "    {'text': 'SAP HANA', 'location': [2642, 2650], 'confidence': 0.460657}],\n",
       "   'count': 4,\n",
       "   'confidence': 0.890394},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'IBM Power Systems',\n",
       "   'relevance': 0.441607,\n",
       "   'mentions': [{'text': 'IBM Power Systems',\n",
       "     'location': [81, 98],\n",
       "     'confidence': 0.633804},\n",
       "    {'text': 'IBM Power Systems',\n",
       "     'location': [966, 983],\n",
       "     'confidence': 0.560009},\n",
       "    {'text': 'IBM Power Systems',\n",
       "     'location': [2698, 2715],\n",
       "     'confidence': 0.575683},\n",
       "    {'text': 'IBM Power Systems',\n",
       "     'location': [3059, 3076],\n",
       "     'confidence': 0.565056}],\n",
       "   'count': 4,\n",
       "   'confidence': 0.970264},\n",
       "  {'type': 'Location',\n",
       "   'text': 'ARMONK, N.Y.',\n",
       "   'relevance': 0.308323,\n",
       "   'mentions': [{'text': 'ARMONK, N.Y.',\n",
       "     'location': [0, 12],\n",
       "     'confidence': 0.83211}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.83211},\n",
       "  {'type': 'Person',\n",
       "   'text': 'Christoph Herman',\n",
       "   'relevance': 0.217154,\n",
       "   'mentions': [{'text': 'Christoph Herman',\n",
       "     'location': [1213, 1229],\n",
       "     'confidence': 0.94435}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.94435},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'Head of SAP',\n",
       "   'relevance': 0.215329,\n",
       "   'mentions': [{'text': 'Head of SAP',\n",
       "     'location': [1239, 1250],\n",
       "     'confidence': 0.560687}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.560687},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'NYSE',\n",
       "   'relevance': 0.142168,\n",
       "   'mentions': [{'text': 'NYSE',\n",
       "     'location': [49, 53],\n",
       "     'confidence': 0.739278}],\n",
       "   'disambiguation': {'subtype': ['Location',\n",
       "     'Company',\n",
       "     'Facility',\n",
       "     'HistoricPlace',\n",
       "     'Building'],\n",
       "    'name': 'New_York_Stock_Exchange',\n",
       "    'dbpedia_resource': 'http://dbpedia.org/resource/New_York_Stock_Exchange'},\n",
       "   'count': 1,\n",
       "   'confidence': 0.739278},\n",
       "  {'type': 'Person',\n",
       "   'text': 'Stephen Leonard',\n",
       "   'relevance': 0.136166,\n",
       "   'mentions': [{'text': 'Stephen Leonard',\n",
       "     'location': [2227, 2242],\n",
       "     'confidence': 0.989177}],\n",
       "   'disambiguation': {'name': 'Steve_Leonard',\n",
       "    'dbpedia_resource': 'http://dbpedia.org/resource/Steve_Leonard'},\n",
       "   'count': 1,\n",
       "   'confidence': 0.989177},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'IBM Cognitive Systems',\n",
       "   'relevance': 0.133117,\n",
       "   'mentions': [{'text': 'IBM Cognitive Systems',\n",
       "     'location': [2261, 2282],\n",
       "     'confidence': 0.578752}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.578752},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'SVP',\n",
       "   'relevance': 0.120376,\n",
       "   'mentions': [{'text': 'SVP',\n",
       "     'location': [1231, 1234],\n",
       "     'confidence': 0.465067}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.465067},\n",
       "  {'type': 'JobTitle',\n",
       "   'text': 'General Manager',\n",
       "   'relevance': 0.05826,\n",
       "   'mentions': [{'text': 'General Manager',\n",
       "     'location': [2244, 2259],\n",
       "     'confidence': 0.915838}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.915838},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'IBM Services',\n",
       "   'relevance': 0.050347,\n",
       "   'mentions': [{'text': 'IBM Services',\n",
       "     'location': [3239, 3251],\n",
       "     'confidence': 0.655422}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.655422},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'Power Systems',\n",
       "   'relevance': 0.046073,\n",
       "   'mentions': [{'text': 'Power Systems',\n",
       "     'location': [2793, 2806],\n",
       "     'confidence': 0.485185}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.485185},\n",
       "  {'type': 'Organization',\n",
       "   'text': 'Digital Transformation',\n",
       "   'relevance': 0.038946,\n",
       "   'mentions': [{'text': 'Digital Transformation',\n",
       "     'location': [3177, 3199],\n",
       "     'confidence': 0.659625}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.659625},\n",
       "  {'type': 'Person',\n",
       "   'text': 'Sam Ponedal',\n",
       "   'relevance': 0.020711,\n",
       "   'mentions': [{'text': 'Sam Ponedal',\n",
       "     'location': [3574, 3585],\n",
       "     'confidence': 0.894298}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.894298},\n",
       "  {'type': 'EmailAddress',\n",
       "   'text': 'sponeda@us.ibm.com',\n",
       "   'relevance': 0.017259,\n",
       "   'mentions': [{'text': 'sponeda@us.ibm.com',\n",
       "     'location': [3609, 3627],\n",
       "     'confidence': 0.8}],\n",
       "   'count': 1,\n",
       "   'confidence': 0.8}],\n",
       " 'analyzed_text': 'ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ --\\xa0IBM (NYSE: IBM) today announced that IBM Power Systems has been certified for the SAP HANA® Enterprise Cloud as a critical infrastructure platform provider for large SAP HANA systems, aiming to simplify the IT infrastructure for the managed, private cloud environment. The service will run on IBM POWER9-based IBM Power Systems E980 servers, which have the industry\\'s largest virtualized server scalability of 24TB for the SAP HANA databasei.\\nProviding the IT infrastructure for a managed, private cloud environment, the SAP HANA Enterprise Cloud is a scalable and secured service that is designed to accelerate a user\\'s evolution\\xa0on the path to cloud readiness. It\\xa0provides capabilities that span the software and hardware stack, a comprehensive\\xa0menu of functional and technical services, and the level of control clients should expect on\\xa0premises, all in one privately managed environment.\\n\"SAP HANA Enterprise Cloud on IBM Power Systems will help clients unlock the full value of SAP HANA in the cloud, with the possibility of enhancing the scalability and availability of mission critical SAP applications while moving workloads to SAP HANA and lowering TCO,\" said Christoph Herman, SVP and Head of SAP HANA Enterprise Cloud Delivery. \"Combining SAP HANA Enterprise Cloud capabilities with IBM Power Systems can help establish a faster path to cloud readiness for our clients while addressing risk and providing closer alignment to the intelligent enterprise.\"\\nSAP HANA Enterprise Cloud users can take advantage of the firmware-based virtualization in the IBM POWER platform that offers the largest SAP HANA scalability in scale-up systemsii. This helps enable SAP HANA Enterprise Cloud users to accommodate capacity changes – this is designed for clients to benefit from faster performance of their SAP HANA-based business intelligence applications by running them in a single node while maximizing the availability of SAP applications with the highly resilient infrastructure.\\n\"In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,\" said Stephen Leonard, General Manager, IBM Cognitive Systems, \"With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we\\'re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.\"\\nIBM Power Systems has been delivering scalability and availability for SAP HANA applications since it was certified for SAP HANA in 2015, and the ongoing collaboration between IBM Power Systems and SAP provides virtualization on-demand via hypervisor-defined features in Power Systems. This enables clients to take advantage of multiple SAP HANA Enterprise Cloud service levels and transform their IT operations by shifting the focus from infrastructure maintenance to innovating with SAP HANA in the cloud.\\nSAP HANA Enterprise Cloud on IBM Power Systems is another testament to IBM and SAP\\'s long-standing, client-centric relationship. Since forming the Digital Transformation partnership\\xa0more than three years ago, IBM Services and SAP have worked together to provide services and capabilities that help accelerate how customers around the world modernize their systems and processes on their path to becoming an intelligent enterprise.\\nFor more information about IBM Power Systems, visit https://www.ibm.com/it-infrastructure/power.\\nMedia Contact:\\n Sam Ponedal \\n IBM Media Relations\\n sponeda@us.ibm.com\\ni\\xa0As per the SAP Note 2188482, on POWER9 a maximum of 24TB can be\\xa0used by single HANA 2.0 (scale-up) must not be exceeded\\n ii\\xa0See footnote 1 for more detailed explanation\\nSOURCE IBM\\n'}"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ibm_watson\n",
    "import ibm_watson.natural_language_understanding_v1 as nlu\n",
    "import ibm_cloud_sdk_core\n",
    "\n",
    "natural_language_understanding = ibm_watson.NaturalLanguageUnderstandingV1(\n",
    "    version=\"2021-01-01\",\n",
    "    authenticator=ibm_cloud_sdk_core.authenticators.IAMAuthenticator(api_key)\n",
    ")\n",
    "natural_language_understanding.set_service_url(service_url)\n",
    "nlu_results = natural_language_understanding.analyze(\n",
    "    url=doc_url,\n",
    "    return_analyzed_text=True,\n",
    "    features=nlu.Features(\n",
    "        entities=nlu.EntitiesOptions(mentions=True),\n",
    "        semantic_roles=nlu.SemanticRolesOptions())).get_result()\n",
    "nlu_results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['syntax', 'entities', 'entity_mentions', 'keywords', 'relations', 'semantic_roles'])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import text_extensions_for_pandas as tp\n",
    "\n",
    "# Convert the output of Watson Natural Language Understanding to DataFrames.\n",
    "dataframes = tp.io.watson.nlu.parse_response(nlu_results)\n",
    "dataframes.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>type</th>\n",
       "      <th>text</th>\n",
       "      <th>span</th>\n",
       "      <th>confidence</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[126, 129): 'SAP'</td>\n",
       "      <td>0.706408</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[210, 213): 'SAP'</td>\n",
       "      <td>0.625238</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[565, 568): 'SAP'</td>\n",
       "      <td>0.704570</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[937, 940): 'SAP'</td>\n",
       "      <td>0.738066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[1137, 1140): 'SAP'</td>\n",
       "      <td>0.644183</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[1294, 1297): 'SAP'</td>\n",
       "      <td>0.224388</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[1509, 1512): 'SAP'</td>\n",
       "      <td>0.746624</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[1709, 1712): 'SAP'</td>\n",
       "      <td>0.616656</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[1968, 1971): 'SAP'</td>\n",
       "      <td>0.876088</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[2720, 2723): 'SAP'</td>\n",
       "      <td>0.807853</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[2859, 2862): 'SAP'</td>\n",
       "      <td>0.674871</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[3030, 3033): 'SAP'</td>\n",
       "      <td>0.738465</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[3109, 3112): 'SAP'</td>\n",
       "      <td>0.935623</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP</td>\n",
       "      <td>[3256, 3259): 'SAP'</td>\n",
       "      <td>0.609506</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[44, 47): 'IBM'</td>\n",
       "      <td>0.923359</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[55, 58): 'IBM'</td>\n",
       "      <td>0.955547</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[337, 340): 'IBM'</td>\n",
       "      <td>0.923548</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[354, 357): 'IBM'</td>\n",
       "      <td>0.826499</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[1338, 1341): 'IBM'</td>\n",
       "      <td>0.920989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[1604, 1607): 'IBM'</td>\n",
       "      <td>0.896893</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[2037, 2040): 'IBM'</td>\n",
       "      <td>0.947928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[2085, 2088): 'IBM'</td>\n",
       "      <td>0.875871</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[2146, 2149): 'IBM'</td>\n",
       "      <td>0.895943</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[2306, 2309): 'IBM'</td>\n",
       "      <td>0.832583</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[2522, 2525): 'IBM'</td>\n",
       "      <td>0.963734</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[3101, 3104): 'IBM'</td>\n",
       "      <td>0.948039</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[3488, 3491): 'IBM'</td>\n",
       "      <td>0.918030</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[3588, 3591): 'IBM'</td>\n",
       "      <td>0.920051</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM</td>\n",
       "      <td>[3806, 3809): 'IBM'</td>\n",
       "      <td>0.798765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP HANA</td>\n",
       "      <td>[1180, 1188): 'SAP HANA'</td>\n",
       "      <td>0.413465</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP HANA</td>\n",
       "      <td>[1848, 1856): 'SAP HANA'</td>\n",
       "      <td>0.461810</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP HANA</td>\n",
       "      <td>[2593, 2601): 'SAP HANA'</td>\n",
       "      <td>0.356218</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SAP HANA</td>\n",
       "      <td>[2642, 2650): 'SAP HANA'</td>\n",
       "      <td>0.460657</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM Power Systems</td>\n",
       "      <td>[81, 98): 'IBM Power Systems'</td>\n",
       "      <td>0.633804</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM Power Systems</td>\n",
       "      <td>[966, 983): 'IBM Power Systems'</td>\n",
       "      <td>0.560009</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM Power Systems</td>\n",
       "      <td>[2698, 2715): 'IBM Power Systems'</td>\n",
       "      <td>0.575683</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM Power Systems</td>\n",
       "      <td>[3059, 3076): 'IBM Power Systems'</td>\n",
       "      <td>0.565056</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>Location</td>\n",
       "      <td>ARMONK, N.Y.</td>\n",
       "      <td>[0, 12): 'ARMONK, N.Y.'</td>\n",
       "      <td>0.832110</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>Person</td>\n",
       "      <td>Christoph Herman</td>\n",
       "      <td>[1213, 1229): 'Christoph Herman'</td>\n",
       "      <td>0.944350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>Organization</td>\n",
       "      <td>Head of SAP</td>\n",
       "      <td>[1239, 1250): 'Head of SAP'</td>\n",
       "      <td>0.560687</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>Organization</td>\n",
       "      <td>NYSE</td>\n",
       "      <td>[49, 53): 'NYSE'</td>\n",
       "      <td>0.739278</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>Person</td>\n",
       "      <td>Stephen Leonard</td>\n",
       "      <td>[2227, 2242): 'Stephen Leonard'</td>\n",
       "      <td>0.989177</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM Cognitive Systems</td>\n",
       "      <td>[2261, 2282): 'IBM Cognitive Systems'</td>\n",
       "      <td>0.578752</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>Organization</td>\n",
       "      <td>SVP</td>\n",
       "      <td>[1231, 1234): 'SVP'</td>\n",
       "      <td>0.465067</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>JobTitle</td>\n",
       "      <td>General Manager</td>\n",
       "      <td>[2244, 2259): 'General Manager'</td>\n",
       "      <td>0.915838</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>Organization</td>\n",
       "      <td>IBM Services</td>\n",
       "      <td>[3239, 3251): 'IBM Services'</td>\n",
       "      <td>0.655422</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>Organization</td>\n",
       "      <td>Power Systems</td>\n",
       "      <td>[2793, 2806): 'Power Systems'</td>\n",
       "      <td>0.485185</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>Organization</td>\n",
       "      <td>Digital Transformation</td>\n",
       "      <td>[3177, 3199): 'Digital Transformation'</td>\n",
       "      <td>0.659625</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>Person</td>\n",
       "      <td>Sam Ponedal</td>\n",
       "      <td>[3574, 3585): 'Sam Ponedal'</td>\n",
       "      <td>0.894298</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>EmailAddress</td>\n",
       "      <td>sponeda@us.ibm.com</td>\n",
       "      <td>[3609, 3627): 'sponeda@us.ibm.com'</td>\n",
       "      <td>0.800000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            type                    text  \\\n",
       "0   Organization                     SAP   \n",
       "1   Organization                     SAP   \n",
       "2   Organization                     SAP   \n",
       "3   Organization                     SAP   \n",
       "4   Organization                     SAP   \n",
       "5   Organization                     SAP   \n",
       "6   Organization                     SAP   \n",
       "7   Organization                     SAP   \n",
       "8   Organization                     SAP   \n",
       "9   Organization                     SAP   \n",
       "10  Organization                     SAP   \n",
       "11  Organization                     SAP   \n",
       "12  Organization                     SAP   \n",
       "13  Organization                     SAP   \n",
       "14  Organization                     IBM   \n",
       "15  Organization                     IBM   \n",
       "16  Organization                     IBM   \n",
       "17  Organization                     IBM   \n",
       "18  Organization                     IBM   \n",
       "19  Organization                     IBM   \n",
       "20  Organization                     IBM   \n",
       "21  Organization                     IBM   \n",
       "22  Organization                     IBM   \n",
       "23  Organization                     IBM   \n",
       "24  Organization                     IBM   \n",
       "25  Organization                     IBM   \n",
       "26  Organization                     IBM   \n",
       "27  Organization                     IBM   \n",
       "28  Organization                     IBM   \n",
       "29  Organization                SAP HANA   \n",
       "30  Organization                SAP HANA   \n",
       "31  Organization                SAP HANA   \n",
       "32  Organization                SAP HANA   \n",
       "33  Organization       IBM Power Systems   \n",
       "34  Organization       IBM Power Systems   \n",
       "35  Organization       IBM Power Systems   \n",
       "36  Organization       IBM Power Systems   \n",
       "37      Location            ARMONK, N.Y.   \n",
       "38        Person        Christoph Herman   \n",
       "39  Organization             Head of SAP   \n",
       "40  Organization                    NYSE   \n",
       "41        Person         Stephen Leonard   \n",
       "42  Organization   IBM Cognitive Systems   \n",
       "43  Organization                     SVP   \n",
       "44      JobTitle         General Manager   \n",
       "45  Organization            IBM Services   \n",
       "46  Organization           Power Systems   \n",
       "47  Organization  Digital Transformation   \n",
       "48        Person             Sam Ponedal   \n",
       "49  EmailAddress      sponeda@us.ibm.com   \n",
       "\n",
       "                                      span  confidence  \n",
       "0                        [126, 129): 'SAP'    0.706408  \n",
       "1                        [210, 213): 'SAP'    0.625238  \n",
       "2                        [565, 568): 'SAP'    0.704570  \n",
       "3                        [937, 940): 'SAP'    0.738066  \n",
       "4                      [1137, 1140): 'SAP'    0.644183  \n",
       "5                      [1294, 1297): 'SAP'    0.224388  \n",
       "6                      [1509, 1512): 'SAP'    0.746624  \n",
       "7                      [1709, 1712): 'SAP'    0.616656  \n",
       "8                      [1968, 1971): 'SAP'    0.876088  \n",
       "9                      [2720, 2723): 'SAP'    0.807853  \n",
       "10                     [2859, 2862): 'SAP'    0.674871  \n",
       "11                     [3030, 3033): 'SAP'    0.738465  \n",
       "12                     [3109, 3112): 'SAP'    0.935623  \n",
       "13                     [3256, 3259): 'SAP'    0.609506  \n",
       "14                         [44, 47): 'IBM'    0.923359  \n",
       "15                         [55, 58): 'IBM'    0.955547  \n",
       "16                       [337, 340): 'IBM'    0.923548  \n",
       "17                       [354, 357): 'IBM'    0.826499  \n",
       "18                     [1338, 1341): 'IBM'    0.920989  \n",
       "19                     [1604, 1607): 'IBM'    0.896893  \n",
       "20                     [2037, 2040): 'IBM'    0.947928  \n",
       "21                     [2085, 2088): 'IBM'    0.875871  \n",
       "22                     [2146, 2149): 'IBM'    0.895943  \n",
       "23                     [2306, 2309): 'IBM'    0.832583  \n",
       "24                     [2522, 2525): 'IBM'    0.963734  \n",
       "25                     [3101, 3104): 'IBM'    0.948039  \n",
       "26                     [3488, 3491): 'IBM'    0.918030  \n",
       "27                     [3588, 3591): 'IBM'    0.920051  \n",
       "28                     [3806, 3809): 'IBM'    0.798765  \n",
       "29                [1180, 1188): 'SAP HANA'    0.413465  \n",
       "30                [1848, 1856): 'SAP HANA'    0.461810  \n",
       "31                [2593, 2601): 'SAP HANA'    0.356218  \n",
       "32                [2642, 2650): 'SAP HANA'    0.460657  \n",
       "33           [81, 98): 'IBM Power Systems'    0.633804  \n",
       "34         [966, 983): 'IBM Power Systems'    0.560009  \n",
       "35       [2698, 2715): 'IBM Power Systems'    0.575683  \n",
       "36       [3059, 3076): 'IBM Power Systems'    0.565056  \n",
       "37                 [0, 12): 'ARMONK, N.Y.'    0.832110  \n",
       "38        [1213, 1229): 'Christoph Herman'    0.944350  \n",
       "39             [1239, 1250): 'Head of SAP'    0.560687  \n",
       "40                        [49, 53): 'NYSE'    0.739278  \n",
       "41         [2227, 2242): 'Stephen Leonard'    0.989177  \n",
       "42   [2261, 2282): 'IBM Cognitive Systems'    0.578752  \n",
       "43                     [1231, 1234): 'SVP'    0.465067  \n",
       "44         [2244, 2259): 'General Manager'    0.915838  \n",
       "45            [3239, 3251): 'IBM Services'    0.655422  \n",
       "46           [2793, 2806): 'Power Systems'    0.485185  \n",
       "47  [3177, 3199): 'Digital Transformation'    0.659625  \n",
       "48             [3574, 3585): 'Sam Ponedal'    0.894298  \n",
       "49      [3609, 3627): 'sponeda@us.ibm.com'    0.800000  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "entity_mentions = dataframes[\"entity_mentions\"]\n",
    "entity_mentions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>type</th>\n",
       "      <th>text</th>\n",
       "      <th>span</th>\n",
       "      <th>confidence</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>Person</td>\n",
       "      <td>Christoph Herman</td>\n",
       "      <td>[1213, 1229): 'Christoph Herman'</td>\n",
       "      <td>0.944350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>Person</td>\n",
       "      <td>Stephen Leonard</td>\n",
       "      <td>[2227, 2242): 'Stephen Leonard'</td>\n",
       "      <td>0.989177</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>Person</td>\n",
       "      <td>Sam Ponedal</td>\n",
       "      <td>[3574, 3585): 'Sam Ponedal'</td>\n",
       "      <td>0.894298</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      type              text                              span  confidence\n",
       "38  Person  Christoph Herman  [1213, 1229): 'Christoph Herman'    0.944350\n",
       "41  Person   Stephen Leonard   [2227, 2242): 'Stephen Leonard'    0.989177\n",
       "48  Person       Sam Ponedal       [3574, 3585): 'Sam Ponedal'    0.894298"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Extract mentions of person names\n",
    "person_mentions = entity_mentions[entity_mentions[\"type\"] == \"Person\"]\n",
    "person_mentions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<div id=\"spanArray\">\n",
       "    <div id=\"spans\" \n",
       "     style=\"color: var(--jp-layout-color2); border: 1px solid var(--jp-border-color0); float:left; padding:10px;\">\n",
       "        <table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>begin</th>\n",
       "      <th>end</th>\n",
       "      <th>covered_text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1213</td>\n",
       "      <td>1229</td>\n",
       "      <td>Christoph Herman</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2227</td>\n",
       "      <td>2242</td>\n",
       "      <td>Stephen Leonard</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3574</td>\n",
       "      <td>3585</td>\n",
       "      <td>Sam Ponedal</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "    </div>\n",
       "    <div id=\"text\"\n",
       "     style=\"float:right; border: 1px solid var(--jp-border-color0); width: 60%;\">\n",
       "\n",
       "                <div style=\"float:center; padding:10px\">\n",
       "                    <p style=\"font-family:var(--jp-code-font-family); font-size:var(--jp-code-font-size)\">\n",
       "                        ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IBM (NYSE: IBM) today announced that IBM Power Systems has been certified for the SAP HANA® Enterprise Cloud as a critical infrastructure platform provider for large SAP HANA systems, aiming to simplify the IT infrastructure for the managed, private cloud environment. The service will run on IBM POWER9-based IBM Power Systems E980 servers, which have the industry&#39;s largest virtualized server scalability of 24TB for the SAP HANA databasei.<br>Providing the IT infrastructure for a managed, private cloud environment, the SAP HANA Enterprise Cloud is a scalable and secured service that is designed to accelerate a user&#39;s evolution on the path to cloud readiness. It provides capabilities that span the software and hardware stack, a comprehensive menu of functional and technical services, and the level of control clients should expect on premises, all in one privately managed environment.<br>&quot;SAP HANA Enterprise Cloud on IBM Power Systems will help clients unlock the full value of SAP HANA in the cloud, with the possibility of enhancing the scalability and availability of mission critical SAP applications while moving workloads to SAP HANA and lowering TCO,&quot; said <span style=\"background-color:rgba(255, 215, 0, 0.5)\">Christoph Herman</span>, SVP and Head of SAP HANA Enterprise Cloud Delivery. &quot;Combining SAP HANA Enterprise Cloud capabilities with IBM Power Systems can help establish a faster path to cloud readiness for our clients while addressing risk and providing closer alignment to the intelligent enterprise.&quot;<br>SAP HANA Enterprise Cloud users can take advantage of the firmware-based virtualization in the IBM POWER platform that offers the largest SAP HANA scalability in scale-up systemsii. This helps enable SAP HANA Enterprise Cloud users to accommodate capacity changes – this is designed for clients to benefit from faster performance of their SAP HANA-based business intelligence applications by running them in a single node while maximizing the availability of SAP applications with the highly resilient infrastructure.<br>&quot;In June, IBM announced the availability of POWER9 in the IBM Cloud, taking the first step toward our goal of bringing IBM Cognitive Systems technology to our clients, no matter where they are,&quot; said <span style=\"background-color:rgba(255, 215, 0, 0.5)\">Stephen Leonard</span>, General Manager, IBM Cognitive Systems, &quot;With the addition of IBM Power Systems in SAP HANA Enterprise Cloud, we&#39;re giving our clients more choices and greater flexibility to run their workloads where they want to across the hybrid cloud and accelerate digital transformation.&quot;<br>IBM Power Systems has been delivering scalability and availability for SAP HANA applications since it was certified for SAP HANA in 2015, and the ongoing collaboration between IBM Power Systems and SAP provides virtualization on-demand via hypervisor-defined features in Power Systems. This enables clients to take advantage of multiple SAP HANA Enterprise Cloud service levels and transform their IT operations by shifting the focus from infrastructure maintenance to innovating with SAP HANA in the cloud.<br>SAP HANA Enterprise Cloud on IBM Power Systems is another testament to IBM and SAP&#39;s long-standing, client-centric relationship. Since forming the Digital Transformation partnership more than three years ago, IBM Services and SAP have worked together to provide services and capabilities that help accelerate how customers around the world modernize their systems and processes on their path to becoming an intelligent enterprise.<br>For more information about IBM Power Systems, visit https://www.ibm.com/it-infrastructure/power.<br>Media Contact:<br> <span style=\"background-color:rgba(255, 215, 0, 0.5)\">Sam Ponedal</span> <br> IBM Media Relations<br> sponeda@us.ibm.com<br>i As per the SAP Note 2188482, on POWER9 a maximum of 24TB can be used by single HANA 2.0 (scale-up) must not be exceeded<br> ii See footnote 1 for more detailed explanation<br>SOURCE IBM<br>\n",
       "                    </p>\n",
       "                </div>\n",
       "\n",
       "    </div>\n",
       "</div>\n"
      ],
      "text/plain": [
       "<SpanArray>\n",
       "[[1213, 1229): 'Christoph Herman',  [2227, 2242): 'Stephen Leonard',\n",
       "      [3574, 3585): 'Sam Ponedal']\n",
       "Length: 3, dtype: SpanDtype"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Show person mentions in context\n",
    "person_mentions[\"span\"].array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject.text</th>\n",
       "      <th>sentence</th>\n",
       "      <th>object.text</th>\n",
       "      <th>action.verb.text</th>\n",
       "      <th>action.verb.tense</th>\n",
       "      <th>action.text</th>\n",
       "      <th>action.normalized</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>IBM</td>\n",
       "      <td>ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IB...</td>\n",
       "      <td>that IBM Power Systems has been certified for ...</td>\n",
       "      <td>announce</td>\n",
       "      <td>past</td>\n",
       "      <td>announced</td>\n",
       "      <td>announce</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>IBM Power Systems</td>\n",
       "      <td>ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IB...</td>\n",
       "      <td>certified for the SAP HANA® Enterprise Cloud a...</td>\n",
       "      <td>be</td>\n",
       "      <td>past</td>\n",
       "      <td>been</td>\n",
       "      <td>be</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>to simplify the IT infrastructure</td>\n",
       "      <td>ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IB...</td>\n",
       "      <td>for the managed, private cloud environment</td>\n",
       "      <td>aim</td>\n",
       "      <td>present</td>\n",
       "      <td>aiming</td>\n",
       "      <td>aim</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>the IT infrastructure</td>\n",
       "      <td>ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IB...</td>\n",
       "      <td>for the managed, private cloud environment</td>\n",
       "      <td>simplify</td>\n",
       "      <td>future</td>\n",
       "      <td>aiming to simplify</td>\n",
       "      <td>aim to simplify</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>IBM POWER9-based IBM Power Systems E980 servers</td>\n",
       "      <td>The service will run on IBM POWER9-based IBM ...</td>\n",
       "      <td>the industry's largest virtualized server scal...</td>\n",
       "      <td>have</td>\n",
       "      <td>present</td>\n",
       "      <td>have</td>\n",
       "      <td>have</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>the IT infrastructure</td>\n",
       "      <td>Providing the IT infrastructure for a managed...</td>\n",
       "      <td>for a managed</td>\n",
       "      <td>Providing</td>\n",
       "      <td>present</td>\n",
       "      <td>Providing</td>\n",
       "      <td>Providing</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>the SAP HANA Enterprise Cloud</td>\n",
       "      <td>Providing the IT infrastructure for a managed...</td>\n",
       "      <td>a scalable</td>\n",
       "      <td>be</td>\n",
       "      <td>present</td>\n",
       "      <td>is</td>\n",
       "      <td>be</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>a scalable and secured service</td>\n",
       "      <td>Providing the IT infrastructure for a managed...</td>\n",
       "      <td>a user's evolution</td>\n",
       "      <td>accelerate</td>\n",
       "      <td>future</td>\n",
       "      <td>is designed to accelerate</td>\n",
       "      <td>be design to accelerate</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>It</td>\n",
       "      <td>It provides capabilities that span the softwa...</td>\n",
       "      <td>capabilities that span the software and hardwa...</td>\n",
       "      <td>provide</td>\n",
       "      <td>present</td>\n",
       "      <td>provides</td>\n",
       "      <td>provide</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>capabilities</td>\n",
       "      <td>It provides capabilities that span the softwa...</td>\n",
       "      <td>the software and hardware stack</td>\n",
       "      <td>span</td>\n",
       "      <td>present</td>\n",
       "      <td>span</td>\n",
       "      <td>span</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>SAP HANA Enterprise Cloud on IBM Power Systems</td>\n",
       "      <td>\"SAP HANA Enterprise Cloud on IBM Power Syste...</td>\n",
       "      <td>clients unlock the full value of SAP HANA in t...</td>\n",
       "      <td>help</td>\n",
       "      <td>future</td>\n",
       "      <td>will help</td>\n",
       "      <td>will help</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Christoph Herman, SVP and Head of SAP HANA Ent...</td>\n",
       "      <td>\"SAP HANA Enterprise Cloud on IBM Power Syste...</td>\n",
       "      <td>SAP HANA Enterprise Cloud on IBM Power Systems...</td>\n",
       "      <td>say</td>\n",
       "      <td>past</td>\n",
       "      <td>said</td>\n",
       "      <td>say</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>closer alignment</td>\n",
       "      <td>\"Combining SAP HANA Enterprise Cloud capabili...</td>\n",
       "      <td>to the intelligent enterprise</td>\n",
       "      <td>provide</td>\n",
       "      <td>present</td>\n",
       "      <td>providing</td>\n",
       "      <td>provide</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>SAP HANA Enterprise Cloud users</td>\n",
       "      <td>SAP HANA Enterprise Cloud users can take adva...</td>\n",
       "      <td>advantage</td>\n",
       "      <td>take</td>\n",
       "      <td>future</td>\n",
       "      <td>can take</td>\n",
       "      <td>can take</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>the IBM POWER platform</td>\n",
       "      <td>SAP HANA Enterprise Cloud users can take adva...</td>\n",
       "      <td>the largest SAP HANA scalability</td>\n",
       "      <td>offer</td>\n",
       "      <td>present</td>\n",
       "      <td>offers</td>\n",
       "      <td>offer</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>This</td>\n",
       "      <td>This helps enable SAP HANA Enterprise Cloud u...</td>\n",
       "      <td>enable SAP HANA Enterprise Cloud users</td>\n",
       "      <td>help</td>\n",
       "      <td>present</td>\n",
       "      <td>helps</td>\n",
       "      <td>help</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>This</td>\n",
       "      <td>This helps enable SAP HANA Enterprise Cloud u...</td>\n",
       "      <td>SAP HANA Enterprise Cloud users</td>\n",
       "      <td>enable</td>\n",
       "      <td>present</td>\n",
       "      <td>helps enable</td>\n",
       "      <td>help enable</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>SAP HANA Enterprise Cloud users</td>\n",
       "      <td>This helps enable SAP HANA Enterprise Cloud u...</td>\n",
       "      <td>capacity changes – this</td>\n",
       "      <td>accommodate</td>\n",
       "      <td>future</td>\n",
       "      <td>to accommodate</td>\n",
       "      <td>to accommodate</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>from faster performance of their SAP HANA-base...</td>\n",
       "      <td>This helps enable SAP HANA Enterprise Cloud u...</td>\n",
       "      <td>clients</td>\n",
       "      <td>benefit</td>\n",
       "      <td>future</td>\n",
       "      <td>to benefit</td>\n",
       "      <td>to benefit</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>them</td>\n",
       "      <td>This helps enable SAP HANA Enterprise Cloud u...</td>\n",
       "      <td>None</td>\n",
       "      <td>run</td>\n",
       "      <td>present</td>\n",
       "      <td>running</td>\n",
       "      <td>run</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>IBM</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>the availability of POWER9 in the IBM Cloud, t...</td>\n",
       "      <td>announce</td>\n",
       "      <td>past</td>\n",
       "      <td>announced</td>\n",
       "      <td>announce</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>IBM</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>the first step toward our goal of bringing IBM...</td>\n",
       "      <td>take</td>\n",
       "      <td>present</td>\n",
       "      <td>taking</td>\n",
       "      <td>take</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>IBM Cognitive Systems technology</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>to our clients</td>\n",
       "      <td>bring</td>\n",
       "      <td>future</td>\n",
       "      <td>bringing</td>\n",
       "      <td>bring</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Stephen Leonard, General Manager, IBM Cognitiv...</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>In June, IBM announced the availability of POW...</td>\n",
       "      <td>say</td>\n",
       "      <td>past</td>\n",
       "      <td>said</td>\n",
       "      <td>say</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>we</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>giving our clients more choices and greater fl...</td>\n",
       "      <td>be</td>\n",
       "      <td>present</td>\n",
       "      <td>are</td>\n",
       "      <td>be</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>we</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>more choices and greater flexibility to run th...</td>\n",
       "      <td>give</td>\n",
       "      <td>present</td>\n",
       "      <td>giving</td>\n",
       "      <td>give</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>we</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>their workloads</td>\n",
       "      <td>run</td>\n",
       "      <td>future</td>\n",
       "      <td>to run</td>\n",
       "      <td>to run</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>they</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>digital transformation</td>\n",
       "      <td>accelerate</td>\n",
       "      <td>present</td>\n",
       "      <td>accelerate</td>\n",
       "      <td>accelerate</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>IBM Power Systems</td>\n",
       "      <td>IBM Power Systems has been delivering scalabi...</td>\n",
       "      <td>scalability and availability</td>\n",
       "      <td>deliver</td>\n",
       "      <td>past</td>\n",
       "      <td>has been delivering</td>\n",
       "      <td>have be deliver</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>it</td>\n",
       "      <td>IBM Power Systems has been delivering scalabi...</td>\n",
       "      <td>certified for SAP HANA</td>\n",
       "      <td>be</td>\n",
       "      <td>past</td>\n",
       "      <td>was</td>\n",
       "      <td>be</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>it</td>\n",
       "      <td>IBM Power Systems has been delivering scalabi...</td>\n",
       "      <td>for SAP HANA</td>\n",
       "      <td>certify</td>\n",
       "      <td>past</td>\n",
       "      <td>was certified</td>\n",
       "      <td>be certify</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>the ongoing collaboration between IBM Power Sy...</td>\n",
       "      <td>IBM Power Systems has been delivering scalabi...</td>\n",
       "      <td>virtualization on-demand</td>\n",
       "      <td>provide</td>\n",
       "      <td>present</td>\n",
       "      <td>provides</td>\n",
       "      <td>provide</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>This</td>\n",
       "      <td>This enables clients to take advantage of mul...</td>\n",
       "      <td>clients</td>\n",
       "      <td>enable</td>\n",
       "      <td>present</td>\n",
       "      <td>enables</td>\n",
       "      <td>enable</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>clients</td>\n",
       "      <td>This enables clients to take advantage of mul...</td>\n",
       "      <td>advantage</td>\n",
       "      <td>take</td>\n",
       "      <td>future</td>\n",
       "      <td>to take</td>\n",
       "      <td>to take</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>the focus</td>\n",
       "      <td>This enables clients to take advantage of mul...</td>\n",
       "      <td>from infrastructure maintenance to innovating ...</td>\n",
       "      <td>shift</td>\n",
       "      <td>present</td>\n",
       "      <td>shifting</td>\n",
       "      <td>shift</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>with SAP HANA</td>\n",
       "      <td>This enables clients to take advantage of mul...</td>\n",
       "      <td>None</td>\n",
       "      <td>innovate</td>\n",
       "      <td>future</td>\n",
       "      <td>innovating</td>\n",
       "      <td>innovate</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>SAP HANA Enterprise Cloud on IBM Power Systems</td>\n",
       "      <td>SAP HANA Enterprise Cloud on IBM Power System...</td>\n",
       "      <td>another testament to IBM and SAP's long-standi...</td>\n",
       "      <td>be</td>\n",
       "      <td>present</td>\n",
       "      <td>is</td>\n",
       "      <td>be</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>IBM Services and SAP</td>\n",
       "      <td>Since forming the Digital Transformation part...</td>\n",
       "      <td>the Digital Transformation partnership more th...</td>\n",
       "      <td>form</td>\n",
       "      <td>present</td>\n",
       "      <td>forming</td>\n",
       "      <td>form</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>IBM Services and SAP</td>\n",
       "      <td>Since forming the Digital Transformation part...</td>\n",
       "      <td>None</td>\n",
       "      <td>have</td>\n",
       "      <td>present</td>\n",
       "      <td>have worked</td>\n",
       "      <td>have work</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>IBM Services and SAP</td>\n",
       "      <td>Since forming the Digital Transformation part...</td>\n",
       "      <td>to provide services and capabilities that help...</td>\n",
       "      <td>work</td>\n",
       "      <td>past</td>\n",
       "      <td>have worked</td>\n",
       "      <td>have work</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>IBM Services and SAP</td>\n",
       "      <td>Since forming the Digital Transformation part...</td>\n",
       "      <td>services and capabilities</td>\n",
       "      <td>provide</td>\n",
       "      <td>future</td>\n",
       "      <td>to provide</td>\n",
       "      <td>to provide</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>capabilities</td>\n",
       "      <td>Since forming the Digital Transformation part...</td>\n",
       "      <td>accelerate how customers around the world mode...</td>\n",
       "      <td>help</td>\n",
       "      <td>present</td>\n",
       "      <td>help</td>\n",
       "      <td>help</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>POWER9 a maximum of 24TB</td>\n",
       "      <td>i As per the SAP Note 2188482, on POWER9 a ma...</td>\n",
       "      <td>used by single HANA 2.0 (scale-up</td>\n",
       "      <td>be</td>\n",
       "      <td>future</td>\n",
       "      <td>be</td>\n",
       "      <td>be</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>by single HANA 2.0 (scale-up)</td>\n",
       "      <td>i As per the SAP Note 2188482, on POWER9 a ma...</td>\n",
       "      <td>POWER9 a maximum of 24TB</td>\n",
       "      <td>use</td>\n",
       "      <td>future</td>\n",
       "      <td>can be used</td>\n",
       "      <td>can be use</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         subject.text  \\\n",
       "0                                                 IBM   \n",
       "1                                   IBM Power Systems   \n",
       "2                   to simplify the IT infrastructure   \n",
       "3                               the IT infrastructure   \n",
       "4     IBM POWER9-based IBM Power Systems E980 servers   \n",
       "5                               the IT infrastructure   \n",
       "6                       the SAP HANA Enterprise Cloud   \n",
       "7                      a scalable and secured service   \n",
       "8                                                  It   \n",
       "9                                        capabilities   \n",
       "10     SAP HANA Enterprise Cloud on IBM Power Systems   \n",
       "11  Christoph Herman, SVP and Head of SAP HANA Ent...   \n",
       "12                                   closer alignment   \n",
       "13                    SAP HANA Enterprise Cloud users   \n",
       "14                             the IBM POWER platform   \n",
       "15                                               This   \n",
       "16                                               This   \n",
       "17                    SAP HANA Enterprise Cloud users   \n",
       "18  from faster performance of their SAP HANA-base...   \n",
       "19                                               them   \n",
       "20                                                IBM   \n",
       "21                                                IBM   \n",
       "22                   IBM Cognitive Systems technology   \n",
       "23  Stephen Leonard, General Manager, IBM Cognitiv...   \n",
       "24                                                 we   \n",
       "25                                                 we   \n",
       "26                                                 we   \n",
       "27                                               they   \n",
       "28                                  IBM Power Systems   \n",
       "29                                                 it   \n",
       "30                                                 it   \n",
       "31  the ongoing collaboration between IBM Power Sy...   \n",
       "32                                               This   \n",
       "33                                            clients   \n",
       "34                                          the focus   \n",
       "35                                      with SAP HANA   \n",
       "36     SAP HANA Enterprise Cloud on IBM Power Systems   \n",
       "37                               IBM Services and SAP   \n",
       "38                               IBM Services and SAP   \n",
       "39                               IBM Services and SAP   \n",
       "40                               IBM Services and SAP   \n",
       "41                                       capabilities   \n",
       "42                           POWER9 a maximum of 24TB   \n",
       "43                      by single HANA 2.0 (scale-up)   \n",
       "\n",
       "                                             sentence  \\\n",
       "0   ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IB...   \n",
       "1   ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IB...   \n",
       "2   ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IB...   \n",
       "3   ARMONK, N.Y., Feb. 19, 2020 /PRNewswire/ -- IB...   \n",
       "4    The service will run on IBM POWER9-based IBM ...   \n",
       "5    Providing the IT infrastructure for a managed...   \n",
       "6    Providing the IT infrastructure for a managed...   \n",
       "7    Providing the IT infrastructure for a managed...   \n",
       "8    It provides capabilities that span the softwa...   \n",
       "9    It provides capabilities that span the softwa...   \n",
       "10   \"SAP HANA Enterprise Cloud on IBM Power Syste...   \n",
       "11   \"SAP HANA Enterprise Cloud on IBM Power Syste...   \n",
       "12   \"Combining SAP HANA Enterprise Cloud capabili...   \n",
       "13   SAP HANA Enterprise Cloud users can take adva...   \n",
       "14   SAP HANA Enterprise Cloud users can take adva...   \n",
       "15   This helps enable SAP HANA Enterprise Cloud u...   \n",
       "16   This helps enable SAP HANA Enterprise Cloud u...   \n",
       "17   This helps enable SAP HANA Enterprise Cloud u...   \n",
       "18   This helps enable SAP HANA Enterprise Cloud u...   \n",
       "19   This helps enable SAP HANA Enterprise Cloud u...   \n",
       "20   \"In June, IBM announced the availability of P...   \n",
       "21   \"In June, IBM announced the availability of P...   \n",
       "22   \"In June, IBM announced the availability of P...   \n",
       "23   \"In June, IBM announced the availability of P...   \n",
       "24   \"In June, IBM announced the availability of P...   \n",
       "25   \"In June, IBM announced the availability of P...   \n",
       "26   \"In June, IBM announced the availability of P...   \n",
       "27   \"In June, IBM announced the availability of P...   \n",
       "28   IBM Power Systems has been delivering scalabi...   \n",
       "29   IBM Power Systems has been delivering scalabi...   \n",
       "30   IBM Power Systems has been delivering scalabi...   \n",
       "31   IBM Power Systems has been delivering scalabi...   \n",
       "32   This enables clients to take advantage of mul...   \n",
       "33   This enables clients to take advantage of mul...   \n",
       "34   This enables clients to take advantage of mul...   \n",
       "35   This enables clients to take advantage of mul...   \n",
       "36   SAP HANA Enterprise Cloud on IBM Power System...   \n",
       "37   Since forming the Digital Transformation part...   \n",
       "38   Since forming the Digital Transformation part...   \n",
       "39   Since forming the Digital Transformation part...   \n",
       "40   Since forming the Digital Transformation part...   \n",
       "41   Since forming the Digital Transformation part...   \n",
       "42   i As per the SAP Note 2188482, on POWER9 a ma...   \n",
       "43   i As per the SAP Note 2188482, on POWER9 a ma...   \n",
       "\n",
       "                                          object.text action.verb.text  \\\n",
       "0   that IBM Power Systems has been certified for ...         announce   \n",
       "1   certified for the SAP HANA® Enterprise Cloud a...               be   \n",
       "2          for the managed, private cloud environment              aim   \n",
       "3          for the managed, private cloud environment         simplify   \n",
       "4   the industry's largest virtualized server scal...             have   \n",
       "5                                       for a managed        Providing   \n",
       "6                                          a scalable               be   \n",
       "7                                  a user's evolution       accelerate   \n",
       "8   capabilities that span the software and hardwa...          provide   \n",
       "9                     the software and hardware stack             span   \n",
       "10  clients unlock the full value of SAP HANA in t...             help   \n",
       "11  SAP HANA Enterprise Cloud on IBM Power Systems...              say   \n",
       "12                      to the intelligent enterprise          provide   \n",
       "13                                          advantage             take   \n",
       "14                   the largest SAP HANA scalability            offer   \n",
       "15             enable SAP HANA Enterprise Cloud users             help   \n",
       "16                    SAP HANA Enterprise Cloud users           enable   \n",
       "17                            capacity changes – this      accommodate   \n",
       "18                                            clients          benefit   \n",
       "19                                               None              run   \n",
       "20  the availability of POWER9 in the IBM Cloud, t...         announce   \n",
       "21  the first step toward our goal of bringing IBM...             take   \n",
       "22                                     to our clients            bring   \n",
       "23  In June, IBM announced the availability of POW...              say   \n",
       "24  giving our clients more choices and greater fl...               be   \n",
       "25  more choices and greater flexibility to run th...             give   \n",
       "26                                    their workloads              run   \n",
       "27                             digital transformation       accelerate   \n",
       "28                       scalability and availability          deliver   \n",
       "29                             certified for SAP HANA               be   \n",
       "30                                       for SAP HANA          certify   \n",
       "31                           virtualization on-demand          provide   \n",
       "32                                            clients           enable   \n",
       "33                                          advantage             take   \n",
       "34  from infrastructure maintenance to innovating ...            shift   \n",
       "35                                               None         innovate   \n",
       "36  another testament to IBM and SAP's long-standi...               be   \n",
       "37  the Digital Transformation partnership more th...             form   \n",
       "38                                               None             have   \n",
       "39  to provide services and capabilities that help...             work   \n",
       "40                          services and capabilities          provide   \n",
       "41  accelerate how customers around the world mode...             help   \n",
       "42                  used by single HANA 2.0 (scale-up               be   \n",
       "43                           POWER9 a maximum of 24TB              use   \n",
       "\n",
       "   action.verb.tense                action.text        action.normalized  \n",
       "0               past                  announced                 announce  \n",
       "1               past                       been                       be  \n",
       "2            present                     aiming                      aim  \n",
       "3             future         aiming to simplify          aim to simplify  \n",
       "4            present                       have                     have  \n",
       "5            present                  Providing                Providing  \n",
       "6            present                         is                       be  \n",
       "7             future  is designed to accelerate  be design to accelerate  \n",
       "8            present                   provides                  provide  \n",
       "9            present                       span                     span  \n",
       "10            future                  will help                will help  \n",
       "11              past                       said                      say  \n",
       "12           present                  providing                  provide  \n",
       "13            future                   can take                 can take  \n",
       "14           present                     offers                    offer  \n",
       "15           present                      helps                     help  \n",
       "16           present               helps enable              help enable  \n",
       "17            future             to accommodate           to accommodate  \n",
       "18            future                 to benefit               to benefit  \n",
       "19           present                    running                      run  \n",
       "20              past                  announced                 announce  \n",
       "21           present                     taking                     take  \n",
       "22            future                   bringing                    bring  \n",
       "23              past                       said                      say  \n",
       "24           present                        are                       be  \n",
       "25           present                     giving                     give  \n",
       "26            future                     to run                   to run  \n",
       "27           present                 accelerate               accelerate  \n",
       "28              past        has been delivering          have be deliver  \n",
       "29              past                        was                       be  \n",
       "30              past              was certified               be certify  \n",
       "31           present                   provides                  provide  \n",
       "32           present                    enables                   enable  \n",
       "33            future                    to take                  to take  \n",
       "34           present                   shifting                    shift  \n",
       "35            future                 innovating                 innovate  \n",
       "36           present                         is                       be  \n",
       "37           present                    forming                     form  \n",
       "38           present                have worked                have work  \n",
       "39              past                have worked                have work  \n",
       "40            future                 to provide               to provide  \n",
       "41           present                       help                     help  \n",
       "42            future                         be                       be  \n",
       "43            future                can be used               can be use  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Go back to the Watson output and retrieve the results from the semantic_roles\n",
    "# model. This mode finds subject-verb-object triples.\n",
    "semantic_roles = dataframes[\"semantic_roles\"]\n",
    "semantic_roles"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject.text</th>\n",
       "      <th>sentence</th>\n",
       "      <th>object.text</th>\n",
       "      <th>action.verb.text</th>\n",
       "      <th>action.verb.tense</th>\n",
       "      <th>action.text</th>\n",
       "      <th>action.normalized</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Christoph Herman, SVP and Head of SAP HANA Ent...</td>\n",
       "      <td>\"SAP HANA Enterprise Cloud on IBM Power Syste...</td>\n",
       "      <td>SAP HANA Enterprise Cloud on IBM Power Systems...</td>\n",
       "      <td>say</td>\n",
       "      <td>past</td>\n",
       "      <td>said</td>\n",
       "      <td>say</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Stephen Leonard, General Manager, IBM Cognitiv...</td>\n",
       "      <td>\"In June, IBM announced the availability of P...</td>\n",
       "      <td>In June, IBM announced the availability of POW...</td>\n",
       "      <td>say</td>\n",
       "      <td>past</td>\n",
       "      <td>said</td>\n",
       "      <td>say</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         subject.text  \\\n",
       "11  Christoph Herman, SVP and Head of SAP HANA Ent...   \n",
       "23  Stephen Leonard, General Manager, IBM Cognitiv...   \n",
       "\n",
       "                                             sentence  \\\n",
       "11   \"SAP HANA Enterprise Cloud on IBM Power Syste...   \n",
       "23   \"In June, IBM announced the availability of P...   \n",
       "\n",
       "                                          object.text action.verb.text  \\\n",
       "11  SAP HANA Enterprise Cloud on IBM Power Systems...              say   \n",
       "23  In June, IBM announced the availability of POW...              say   \n",
       "\n",
       "   action.verb.tense action.text action.normalized  \n",
       "11              past        said               say  \n",
       "23              past        said               say  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Extract instances of subjects that made statements\n",
    "quotes = semantic_roles[semantic_roles[\"action.normalized\"] == \"say\"]\n",
    "quotes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject.text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Christoph Herman, SVP and Head of SAP HANA Ent...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Stephen Leonard, General Manager, IBM Cognitiv...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        subject.text\n",
       "0  Christoph Herman, SVP and Head of SAP HANA Ent...\n",
       "1  Stephen Leonard, General Manager, IBM Cognitiv..."
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Filter down to just the columns we're interested in\n",
    "subjects = quotes[[\"subject.text\"]].reset_index(drop=True)\n",
    "subjects"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject.text</th>\n",
       "      <th>begin</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Christoph Herman, SVP and Head of SAP HANA Ent...</td>\n",
       "      <td>1213</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Stephen Leonard, General Manager, IBM Cognitiv...</td>\n",
       "      <td>2227</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        subject.text  begin\n",
       "0  Christoph Herman, SVP and Head of SAP HANA Ent...   1213\n",
       "1  Stephen Leonard, General Manager, IBM Cognitiv...   2227"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# subjects[\"subject.text\"] contains strings. We need spans. Create spans.\n",
    "    \n",
    "# Original document had HTML tags. Get the detagged document text.\n",
    "doc_text = entity_mentions[\"span\"].array.document_text\n",
    "\n",
    "# Use String.index() to find where the strings in \"subject.text\" begin\n",
    "subjects[\"begin\"] = pd.Series(\n",
    "    [doc_text.index(s) for s in subjects[\"subject.text\"]], dtype=int)\n",
    "subjects"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject.text</th>\n",
       "      <th>begin</th>\n",
       "      <th>end</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Christoph Herman, SVP and Head of SAP HANA Ent...</td>\n",
       "      <td>1213</td>\n",
       "      <td>1281</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Stephen Leonard, General Manager, IBM Cognitiv...</td>\n",
       "      <td>2227</td>\n",
       "      <td>2519</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        subject.text  begin   end\n",
       "0  Christoph Herman, SVP and Head of SAP HANA Ent...   1213  1281\n",
       "1  Stephen Leonard, General Manager, IBM Cognitiv...   2227  2519"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Compute end offsets\n",
    "subjects[\"end\"] = subjects[\"begin\"] + subjects[\"subject.text\"].str.len()\n",
    "subjects"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject.text</th>\n",
       "      <th>begin</th>\n",
       "      <th>end</th>\n",
       "      <th>span</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Christoph Herman, SVP and Head of SAP HANA Ent...</td>\n",
       "      <td>1213</td>\n",
       "      <td>1281</td>\n",
       "      <td>[1213, 1281): 'Christoph Herman, SVP and Head ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Stephen Leonard, General Manager, IBM Cognitiv...</td>\n",
       "      <td>2227</td>\n",
       "      <td>2519</td>\n",
       "      <td>[2227, 2519): 'Stephen Leonard, General Manage...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        subject.text  begin   end  \\\n",
       "0  Christoph Herman, SVP and Head of SAP HANA Ent...   1213  1281   \n",
       "1  Stephen Leonard, General Manager, IBM Cognitiv...   2227  2519   \n",
       "\n",
       "                                                span  \n",
       "0  [1213, 1281): 'Christoph Herman, SVP and Head ...  \n",
       "1  [2227, 2519): 'Stephen Leonard, General Manage...  "
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Wrap the <begin, end, text> triples in a SpanArray column\n",
    "subjects[\"span\"] = tp.SpanArray(doc_text, subjects[\"begin\"], subjects[\"end\"])\n",
    "subjects"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>subject</th>\n",
       "      <th>person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[1213, 1281): 'Christoph Herman, SVP and Head ...</td>\n",
       "      <td>[1213, 1229): 'Christoph Herman'</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[2227, 2519): 'Stephen Leonard, General Manage...</td>\n",
       "      <td>[2227, 2242): 'Stephen Leonard'</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                             subject  \\\n",
       "0  [1213, 1281): 'Christoph Herman, SVP and Head ...   \n",
       "1  [2227, 2519): 'Stephen Leonard, General Manage...   \n",
       "\n",
       "                             person  \n",
       "0  [1213, 1229): 'Christoph Herman'  \n",
       "1   [2227, 2242): 'Stephen Leonard'  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Align subjects with person names\n",
    "executives = tp.spanner.contain_join(subjects[\"span\"], \n",
    "                                     person_mentions[\"span\"],\n",
    "                                     \"subject\", \"person\")\n",
    "executives"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>person</th>\n",
       "      <th>url</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[1213, 1229): 'Christoph Herman'</td>\n",
       "      <td>https://newsroom.ibm.com/2020-02-19-IBM-Power-...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[2227, 2242): 'Stephen Leonard'</td>\n",
       "      <td>https://newsroom.ibm.com/2020-02-19-IBM-Power-...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                             person  \\\n",
       "0  [1213, 1229): 'Christoph Herman'   \n",
       "1   [2227, 2242): 'Stephen Leonard'   \n",
       "\n",
       "                                                 url  \n",
       "0  https://newsroom.ibm.com/2020-02-19-IBM-Power-...  \n",
       "1  https://newsroom.ibm.com/2020-02-19-IBM-Power-...  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "final_result = executives.drop(columns=\"subject\")\n",
    "final_result[\"url\"] = doc_url\n",
    "final_result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}