{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [], "collapsed_sections": [], "machine_shape": "hm" }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "id": "qIFLx0_wimTB" }, "outputs": [], "source": [ "import pandas as pd\n", "pd.set_option('max_colwidth',150)\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from datetime import datetime as dt\n", "from string import punctuation\n", "import re\n", "import os\n", "from sklearn.feature_extraction.text import CountVectorizer\n", "from IPython.core.interactiveshell import InteractiveShell\n", "InteractiveShell.ast_node_interactivity = \"all\" # allow multiple outputs in a cell\n", "import warnings\n", "import pandas as pd\n", "pd.options.plotting.backend = \"plotly\"\n", "warnings.filterwarnings(\"ignore\")\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "source": [ "# Download and Extract the Datasets" ], "metadata": { "id": "QqvaLRjVjIj3" } }, { "cell_type": "code", "source": [ "# Downloading all-the-news-2-news-articles-dataset \n", "! wget https://www.dropbox.com/s/cn2utnr5ipathhh/all-the-news-2-1.zip?dl=0\n", "\n", "# Downloading Annotated Corpus for Named Entity Recognition dataset\n", "!gdown https://drive.google.com/uc?id=13y8JNgL5TQ4x-yufpBOv3QBsEiE051sE\n", "\n", "# Make a data folder to store the data\n", "!mkdir data\n", "\n", "!unzip /content/all-the-news-2-1.zip?dl=0 -d ./data/\n", "\n", "!mv /content/ner.csv ./data\n", "\n", "!rm /content/all-the-news-2-1.zip?dl=0\n", "\n" ], "metadata": { "id": "VYvJeKsujCFY" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "# Load Data" ], "metadata": { "id": "liJiX3Xf2hQh" } }, { "cell_type": "code", "source": [ "#specify the path to data location\n", "\n", "filepath = '/content/data/all-the-news-2-1.csv'\n", "# data = pd.read_csv(filepath, encoding = \"ISO-8859-1\")\n", "data = pd.read_csv(filepath, encoding = \"utf-8\") \n" ], "metadata": { "id": "LMwtt2rJnNhB" }, "execution_count": 3, "outputs": [] }, { "cell_type": "code", "source": [ "#Verify that the data is loaded correctly\n", "data.head(3)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "g4VoxOSnnOs9", "outputId": "4f0dea96-29e8-4f80-f009-12e9ef6e0c05" }, "execution_count": 4, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " date year month day author \\\n", "0 2016-12-09 18:31:00 2016 12.0 9 Lee Drutman \n", "1 2016-10-07 21:26:46 2016 10.0 7 Scott Davis \n", "2 2018-01-26 00:00:00 2018 1.0 26 NaN \n", "\n", " title \\\n", "0 We should take concerns about the health of liberal democracy seriously \n", "1 Colts GM Ryan Grigson says Andrew Luck's contract makes it difficult to build the team \n", "2 Trump denies report he ordered Mueller fired \n", "\n", " article \\\n", "0 This post is part of Polyarchy, an independent blog produced by the political reform program at New America, a Washington think tank devoted to de... \n", "1 The Indianapolis Colts made Andrew Luck the highest-paid player in NFL history this offseason with a five-year, $122-million contract with $89 mi... \n", "2 DAVOS, Switzerland (Reuters) - U.S. President Donald Trump denied a report on Friday that he had ordered Special Counsel Robert Mueller fired last... \n", "\n", " url \\\n", "0 https://www.vox.com/polyarchy/2016/12/9/13898340/democracy-warning-signs \n", "1 https://www.businessinsider.com/colts-gm-ryan-grigson-andrew-luck-contract-2016-10 \n", "2 https://www.reuters.com/article/us-davos-meeting-trump-mueller/trump-denies-report-he-ordered-mueller-fired-idUSKBN1FF12A \n", "\n", " section publication \n", "0 NaN Vox \n", "1 NaN Business Insider \n", "2 Davos Reuters " ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dateyearmonthdayauthortitlearticleurlsectionpublication
02016-12-09 18:31:00201612.09Lee DrutmanWe should take concerns about the health of liberal democracy seriouslyThis post is part of Polyarchy, an independent blog produced by the political reform program at New America, a Washington think tank devoted to de...https://www.vox.com/polyarchy/2016/12/9/13898340/democracy-warning-signsNaNVox
12016-10-07 21:26:46201610.07Scott DavisColts GM Ryan Grigson says Andrew Luck's contract makes it difficult to build the teamThe Indianapolis Colts made Andrew Luck the highest-paid player in NFL history this offseason with a five-year, $122-million contract with $89 mi...https://www.businessinsider.com/colts-gm-ryan-grigson-andrew-luck-contract-2016-10NaNBusiness Insider
22018-01-26 00:00:0020181.026NaNTrump denies report he ordered Mueller firedDAVOS, Switzerland (Reuters) - U.S. President Donald Trump denied a report on Friday that he had ordered Special Counsel Robert Mueller fired last...https://www.reuters.com/article/us-davos-meeting-trump-mueller/trump-denies-report-he-ordered-mueller-fired-idUSKBN1FF12ADavosReuters
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 4 } ] }, { "cell_type": "code", "source": [ "#totally the data have 2,688,878 rows and 10 columns\n", "data.shape" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "iJZa9dP1vGeN", "outputId": "14160081-8bff-406c-e007-ef19fe9b693a" }, "execution_count": 5, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "(2688878, 10)" ] }, "metadata": {}, "execution_count": 5 } ] }, { "cell_type": "code", "source": [ "data.info()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "XwYxq7Wqx8QH", "outputId": "46a8a227-6468-434b-cabc-0c804a6cbf04" }, "execution_count": 6, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\n", "RangeIndex: 2688878 entries, 0 to 2688877\n", "Data columns (total 10 columns):\n", " # Column Dtype \n", "--- ------ ----- \n", " 0 date object \n", " 1 year int64 \n", " 2 month float64\n", " 3 day int64 \n", " 4 author object \n", " 5 title object \n", " 6 article object \n", " 7 url object \n", " 8 section object \n", " 9 publication object \n", "dtypes: float64(1), int64(2), object(7)\n", "memory usage: 205.1+ MB\n" ] } ] }, { "cell_type": "code", "source": [ "data.isnull().sum()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "o6obun2r48jC", "outputId": "fe7b1474-5629-42ea-93e0-e0db765a82f3" }, "execution_count": 7, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "date 0\n", "year 0\n", "month 0\n", "day 0\n", "author 1021101\n", "title 37\n", "article 104713\n", "url 12577\n", "section 912273\n", "publication 12577\n", "dtype: int64" ] }, "metadata": {}, "execution_count": 7 } ] }, { "cell_type": "markdown", "source": [ "# Observation about the all-the-news-data\n", "\n", "- The data has 10 columns and 2688878 rows\n", "- 6 columns of the data have null values. The columns name are: \n", " - author(it has 1021101 null values)\n", " - title(it has 37 null values)\n", " - article(it has 104713 null values)\n", " - url(it has 12577 null values)\n", " - section(it has 912223 null values)\n", "- data type of the columns int(2), float(1), and object(7)\n", "- The 'date' column data type is Object. It should be converted into date data type\n", "-author, title, article, url, section, and publication columns have object data types. it should be converted into string\n" ], "metadata": { "id": "EzYWiTEN5tnh" } }, { "cell_type": "code", "source": [ "# the total number of count for each publication\n", "data['publication'].value_counts(dropna=False)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "d9yp68G95lYQ", "outputId": "6d22d88b-d907-4b07-f45f-bce11df8c577" }, "execution_count": 8, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Reuters 840094\n", "The New York Times 252259\n", "CNBC 238096\n", "The Hill 208411\n", "People 136488\n", "CNN 127602\n", "Refinery 29 111433\n", "Vice 101137\n", "Mashable 94107\n", "Business Insider 57953\n", "The Verge 52424\n", "TechCrunch 52095\n", "TMZ 49595\n", "Axios 47815\n", "Vox 47272\n", "Politico 46377\n", "Washington Post 40882\n", "Buzzfeed News 32819\n", "Gizmodo 27228\n", "Economist 26227\n", "Wired 20243\n", "Fox News 20144\n", "Vice News 15539\n", "Hyperallergic 13551\n", "NaN 12577\n", "New Republic 11809\n", "New Yorker 4701\n", "Name: publication, dtype: int64" ] }, "metadata": {}, "execution_count": 8 } ] }, { "cell_type": "code", "source": [ "data['section'].value_counts(dropna=False)[:50]" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "FsJsZvUdAqwf", "outputId": "4b3b68fe-8fed-47de-9c4d-6a2548b8fcf4" }, "execution_count": 9, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "NaN 912273\n", "Market News 108724\n", "World News 108651\n", "Business News 96395\n", "Wires 67352\n", "Financials 57845\n", "politics 53496\n", "us 51242\n", "Intel 39805\n", "Bonds News 39672\n", "Politics 33875\n", "Healthcare 30883\n", "world 28530\n", "opinion 27465\n", "Consumer Goods and Retail 26766\n", "Sports News 26324\n", "business 25335\n", "tv 24783\n", "sports 23909\n", "Tech 21605\n", "arts 21230\n", "movies 19683\n", "Commodities 17620\n", "Deals 15847\n", "style 15355\n", "Tech by VICE 15222\n", "Entertainment 13773\n", "health 13629\n", "nyregion 13498\n", "Technology News 12763\n", "Music by VICE 12420\n", "Environment 11639\n", "Company News 11572\n", "Health News 11235\n", "crime 11208\n", "Sports 11149\n", "music 10402\n", "celebrity 10242\n", "Food by VICE 9933\n", "opinions 9815\n", "entertainment 9596\n", "Energy 9435\n", "fashion 9063\n", "U.S. 9017\n", "books 8704\n", "Big Story 10 7995\n", "magazine 7922\n", "Funds News 7708\n", "Noisey 7702\n", "Cyclical Consumer Goods 7625\n", "Name: section, dtype: int64" ] }, "metadata": {}, "execution_count": 9 } ] }, { "cell_type": "code", "source": [ "def filter_section(section):\n", "\n", " if str(section).lower().startswith('tech') :\n", " return 'technology'\n", " elif str(section).lower().startswith('health'):\n", " return 'health'\n", "\n", " return 'other'" ], "metadata": { "id": "Dmr1wuZ0BRSl" }, "execution_count": 10, "outputs": [] }, { "cell_type": "code", "source": [ "data['tech_health_tag'] = data['section'].apply(filter_section)" ], "metadata": { "id": "sIH7XCc2CgdN" }, "execution_count": 11, "outputs": [] }, { "cell_type": "code", "source": [ "data['tech_health_tag'].value_counts()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "96DJ1PspKaIp", "outputId": "d73ed7f7-0e3e-4f2c-96c1-f16c35ac040a" }, "execution_count": 12, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "other 2562768\n", "health 65261\n", "technology 60849\n", "Name: tech_health_tag, dtype: int64" ] }, "metadata": {}, "execution_count": 12 } ] }, { "cell_type": "markdown", "source": [ "# Load the data which focus only on Health and Technology Section" ], "metadata": { "id": "b_ko3gtRM8aY" } }, { "cell_type": "code", "source": [ "data_tech_health = data[(data['tech_health_tag']=='technology') | (data['tech_health_tag']=='health')]" ], "metadata": { "id": "58MJL8bRKevk" }, "execution_count": 13, "outputs": [] }, { "cell_type": "code", "source": [ "data_tech_health = data_tech_health.reset_index(drop=True)" ], "metadata": { "id": "To-J8aVjVANm" }, "execution_count": 14, "outputs": [] }, { "cell_type": "code", "source": [ "data_tech_health.head(3)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "XNYfPQA6N0Sr", "outputId": "b5be3f0b-4eee-471f-8e58-7e837a36ee0b" }, "execution_count": 15, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " date year month day author \\\n", "0 2018-05-02 17:09:00 2018 5.0 2 Caroline Williams \n", "1 2018-10-05 19:35:00 2018 10.0 5 Caroline Haskins \n", "2 2019-06-20 00:00:00 2019 6.0 20 Gergely Szakacs \n", "\n", " title \\\n", "0 You Can Trick Your Brain Into Being More Focused \n", "1 Trash Geyser Spews Garbage In Yellowstone National Park \n", "2 Hungary has no evidence of Huawei threat, plans rapid 5G rollout: minister \n", "\n", " article \\\n", "0 If only every day could be like this. You can’t put your finger on why: Maybe you had just the right amount of sleep. Maybe the stars are somehow ... \n", "1 Geyser eruptions are known as one of the most beautiful events to occur in nature. Not anymore! On September 15, Yellowstone Park’s Ear Spring ge... \n", "2 BUDAPEST (Reuters) - Hungary has no evidence that equipment from Chinese telecoms giant Huawei poses a security threat, a government minister said... \n", "\n", " url \\\n", "0 https://www.vice.com/en_us/article/9kgp4v/how-to-improve-focus-be-more-creative \n", "1 https://www.vice.com/en_us/article/evwq47/ear-spring-geyser-spews-trash-in-yellowstone-national-park \n", "2 https://www.reuters.com/article/us-hungary-telecoms-5g-huawei/hungary-has-no-evidence-of-huawei-threat-plans-rapid-5g-rollout-minister-idUSKCN1TL2AP \n", "\n", " section publication tech_health_tag \n", "0 Health Vice health \n", "1 Tech by VICE Vice technology \n", "2 Technology News Reuters technology " ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dateyearmonthdayauthortitlearticleurlsectionpublicationtech_health_tag
02018-05-02 17:09:0020185.02Caroline WilliamsYou Can Trick Your Brain Into Being More FocusedIf only every day could be like this. You can’t put your finger on why: Maybe you had just the right amount of sleep. Maybe the stars are somehow ...https://www.vice.com/en_us/article/9kgp4v/how-to-improve-focus-be-more-creativeHealthVicehealth
12018-10-05 19:35:00201810.05Caroline HaskinsTrash Geyser Spews Garbage In Yellowstone National ParkGeyser eruptions are known as one of the most beautiful events to occur in nature. Not anymore! On September 15, Yellowstone Park’s Ear Spring ge...https://www.vice.com/en_us/article/evwq47/ear-spring-geyser-spews-trash-in-yellowstone-national-parkTech by VICEVicetechnology
22019-06-20 00:00:0020196.020Gergely SzakacsHungary has no evidence of Huawei threat, plans rapid 5G rollout: ministerBUDAPEST (Reuters) - Hungary has no evidence that equipment from Chinese telecoms giant Huawei poses a security threat, a government minister said...https://www.reuters.com/article/us-hungary-telecoms-5g-huawei/hungary-has-no-evidence-of-huawei-threat-plans-rapid-5g-rollout-minister-idUSKCN1TL2APTechnology NewsReuterstechnology
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 15 } ] }, { "cell_type": "code", "source": [ "data_tech_health.shape" ], "metadata": { "id": "wtiS6LnUWsoV", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "ed23da4b-2543-47f5-8996-254e0bce33cf" }, "execution_count": 16, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "(126110, 11)" ] }, "metadata": {}, "execution_count": 16 } ] }, { "cell_type": "code", "source": [ "data_tech_health.info()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "NNcVLQPRN5ha", "outputId": "5ca12925-2a67-4d62-ad91-c703bfe488f4" }, "execution_count": 17, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\n", "RangeIndex: 126110 entries, 0 to 126109\n", "Data columns (total 11 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 date 126110 non-null object \n", " 1 year 126110 non-null int64 \n", " 2 month 126110 non-null float64\n", " 3 day 126110 non-null int64 \n", " 4 author 63297 non-null object \n", " 5 title 126109 non-null object \n", " 6 article 125948 non-null object \n", " 7 url 126110 non-null object \n", " 8 section 126110 non-null object \n", " 9 publication 126110 non-null object \n", " 10 tech_health_tag 126110 non-null object \n", "dtypes: float64(1), int64(2), object(8)\n", "memory usage: 10.6+ MB\n" ] } ] }, { "cell_type": "code", "source": [ "data_tech_health.isnull().sum()" ], "metadata": { "id": "SQl9EV7GN_8A", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "1b04db26-3dbf-4153-a971-d41d96285ee5" }, "execution_count": 18, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "date 0\n", "year 0\n", "month 0\n", "day 0\n", "author 62813\n", "title 1\n", "article 162\n", "url 0\n", "section 0\n", "publication 0\n", "tech_health_tag 0\n", "dtype: int64" ] }, "metadata": {}, "execution_count": 18 } ] }, { "cell_type": "markdown", "source": [ "**Observation the data focus on health and technology section**\n", "\n", "- The data has 10 columns and 126110 rows\n", "- 3 columns of the data have null values. The columns name are:\n", " - author(it has 62813 null values)\n", " - title(it has 1 null values)\n", " - article(it has 162 null values)\n", " \n", "- data type of the columns int(2), float(1), and object(7)\n", "- The 'date' column data type is Object. It should be converted into date data type\n", "- author, title, article, url, section, and publication columns have object data types. it should be converted into string\n" ], "metadata": { "id": "cdjbymGQqHUs" } }, { "cell_type": "code", "source": [ "data_tech_health['publication'].unique()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "B6n1RcZKs7c6", "outputId": "cd6553fc-789c-47e1-ca46-18bdab8d4c78" }, "execution_count": 19, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array(['Vice', 'Reuters', 'The Verge', 'People', 'Economist', 'CNN',\n", " 'Gizmodo', 'CNBC', 'Fox News', 'The New York Times'], dtype=object)" ] }, "metadata": {}, "execution_count": 19 } ] }, { "cell_type": "code", "source": [ "plt.figure(figsize=(10,5))\n", "publication_plot = sns.countplot(\n", " data=data_tech_health,\n", " x='publication',\n", " palette='Set1',\n", " order = data_tech_health['publication'].value_counts().index\n", ")\n", "\n", "plt.xticks(\n", " rotation=45, \n", " horizontalalignment='right',\n", " fontweight='light',\n", " fontsize='x-large' \n", ")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 471 }, "id": "NseIit5Cyiuz", "outputId": "4b567648-56b8-4a75-df67-61893a81bdf2" }, "execution_count": 20, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "
" ] }, "metadata": {}, "execution_count": 20 }, { "output_type": "execute_result", "data": { "text/plain": [ "(array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),\n", " )" ] }, "metadata": {}, "execution_count": 20 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnAAAAGjCAYAAACsUSi/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd7hcVfX/8fdKo2lIkBBKgCAEEJAiMYDwA+lBUXoEBCIgQUFFURFQ6U0sCAgI0hGl2ECkiBQRpIUmBkRCk/ClSUJRmiHr98dawz0Z7k3uJZl7Zl8+r+eZ587sc2ayd87MOevsau6OiIiIiJSjX90ZEBEREZGeUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUpgBdWegty288MI+cuTIurMhIiIiMlt33XXXv919WHN6SwM4MxsCnAmsAjiwB/AQcDEwEngcGOfu08zMgBOBTwCvAp9z97vzc8YD38mPPcrdz8v0NYFzgfmAK4H9fDYT240cOZKJEyfOvUKKiIiItIiZPdFZequbUE8Ernb3FYHVgAeBA4Hr3H0UcF2+BtgCGJWPCcBpAGa2EHAosBYwBjjUzIbme04D9qq8b2yLyyMiIiJSu5YFcGa2ILA+cBaAu7/p7i8CWwHn5W7nAVvn862A8z3cBgwxs8WAzYFr3X2qu08DrgXG5rbB7n5b1rqdX/ksERERkT6rlTVwywDPA+eY2T1mdqaZLQAMd/enc59ngOH5fAngycr7p2TarNKndJIuIiIi0qe1MoAbAHwEOM3d1wD+S0dzKQBZc9byxVjNbIKZTTSzic8//3yr/zkRERGRlmplADcFmOLut+frXxEB3bPZ/En+fS63PwUsWXn/iEybVfqITtLfwd3PcPfR7j562LB3DOQQERERKUrLAjh3fwZ40sxWyKSNgQeAy4HxmTYeuCyfXw7sZmFt4KVsar0G2MzMhubghc2Aa3Lby2a2do5g3a3yWSIiIiJ9VqvngfsycKGZDQIeBXYngsZLzGxP4AlgXO57JTGFyGRiGpHdAdx9qpkdCdyZ+x3h7lPz+T50TCNyVT5ERERE+jSbzbRpfc7o0aNd88CJiIhICczsLncf3ZyupbRERERECqMATkRERKQwCuBERERECvOeW8y+MxNHj6k7Cz02euIddWdBREREaqIaOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCKIATERERKYwCOBEREZHCtDSAM7PHzex+M7vXzCZm2kJmdq2ZPZx/h2a6mdlJZjbZzP5mZh+pfM743P9hMxtfSV8zP39yvtdaWR4RERGRdtAbNXAbuvvq7j46Xx8IXOfuo4Dr8jXAFsCofEwAToMI+IBDgbWAMcChjaAv99mr8r6xrS+OiIiISL3qaELdCjgvn58HbF1JP9/DbcAQM1sM2By41t2nuvs04FpgbG4b7O63ubsD51c+S0RERKTPanUA58AfzewuM5uQacPd/el8/gwwPJ8vATxZee+UTJtV+pRO0kVERET6tAEt/vz13P0pM1sEuNbM/lHd6O5uZt7iPJDB4wSApZZaqtX/nIiIiEhLtbQGzt2fyr/PAb8l+rA9m82f5N/ncvengCUrbx+RabNKH9FJemf5OMPdR7v76GHDhs1psURERERq1bIAzswWMLP3N54DmwF/By4HGiNJxwOX5fPLgd1yNOrawEvZ1HoNsJmZDc3BC5sB1+S2l81s7Rx9ulvls0RERET6rFY2oQ4HfpszewwAfuHuV5vZncAlZrYn8AQwLve/EvgEMBl4FdgdwN2nmtmRwJ253xHuPjWf7wOcC8wHXJUPERERkT6tZQGcuz8KrNZJ+gvAxp2kO7BvF591NnB2J+kTgVXmOLMiIiIiBdFKDCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIiUhgFcCIiIiKFUQAnIiIi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EwrgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMArgRERERAqjAE5ERESkMC0L4MxsSTO7wcweMLNJZrZfpi9kZtea2cP5d2imm5mdZGaTzexvZvaRymeNz/0fNrPxlfQ1zez+fM9JZmatKo+IiIhIu2hlDdx04OvuvhKwNrCvma0EHAhc5+6jgOvyNcAWwKh8TABOgwj4gEOBtYAxwKGNoC/32avyvrEtLI+IiIhIW2hZAOfuT7v73fn8FeBBYAlgK+C83O08YOt8vhVwvofbgCFmthiwOXCtu09192nAtcDY3DbY3W9zdwfOr3yWiIiISJ/VK33gzGwksAZwOzDc3Z/OTc8Aw/P5EsCTlbdNybRZpU/pJF1ERESkTxvQ6n/AzN4H/Br4qru/XO2m5u5uZt4LeZhANMuy1FJLtfqfaztjv3tx3VnosauP/EzdWRAREWlbLa2BM7OBRPB2obv/JpOfzeZP8u9zmf4UsGTl7SMybVbpIzpJfwd3P8PdR7v76GHDhs1ZoURERERq1spRqAacBTzo7j+qbLocaIwkHQ9cVknfLUejrg28lE2t1wCbmdnQHLywGXBNbnvZzNbOf2u3ymeJiIiI9FmtbEJdF9gVuN/M7s20g4HjgEvMbE/gCWBcbrsS+AQwGXgV2B3A3aea2ZHAnbnfEe4+NZ/vA5wLzAdclQ8RERGRPq1lAZy73wx0NS/bxp3s78C+XXzW2cDZnaRPBFaZg2yKiIiIFKflgxhEWm3nC3asOws98otdL6o7CyIiUjgtpSUiIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIiIoVRACciIiJSGAVwIiIi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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "# observation \n", "- From the above chart, we can see that most of articles contain health and technology articles published by 10 publishers. Their name is as follows:\n", " - Reuters\n", " - Vice\n", " - CNBC\n", " - CNN\n", " - The New York Times\n", " - The Verg\n", " - People\n", " - Gizmodo\n", " - Fox News\n", " - Economist\n", " \n", "- Reuter take the first position by far publishing Tech and Health articles\n", "\n", "- Economist take the last position publishing on this domain.\n", "\n" ], "metadata": { "id": "kGxYry7F1rtz" } }, { "cell_type": "code", "source": [ "data_tech_health['tech_health_tag'].value_counts()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "wpMwPpLLxfof", "outputId": "9a749655-8c0b-492a-b590-7612c664aa85" }, "execution_count": 21, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "health 65261\n", "technology 60849\n", "Name: tech_health_tag, dtype: int64" ] }, "metadata": {}, "execution_count": 21 } ] }, { "cell_type": "code", "source": [ "def plot_figure(column_name1,column_name2):\n", "\n", " plt.figure(figsize=(12,8))\n", " publication_plot = sns.countplot(\n", " data=data_tech_health,\n", " x=column_name1,\n", " hue = column_name2,\n", " palette='Set1',\n", " order = data_tech_health[column_name1].value_counts().index\n", " )\n", "\n", " plt.xticks(\n", " rotation=45, \n", " horizontalalignment='right',\n", " fontweight='light',\n", " fontsize='x-large' \n", " )\n", " plt.show()\n" ], "metadata": { "id": "ekb6pRbs4IBB" }, "execution_count": 22, "outputs": [] }, { "cell_type": "code", "source": [ "plot_figure('publication','tech_health_tag') " ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 599 }, "id": "VRKHxRt8L1t9", "outputId": "87cebadb-7826-4cf2-efd5-bab61a326172" }, "execution_count": 23, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAJGCAYAAAAamzD6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde7xVVb3//9eHi9BFQ4XMxILMG6CAbNG0juZRwU55C7yW1zTzcurY16+YlZTaz9Jz1Ezt2BHR8uuNSsnMy9GI1BQhNypoX9DIQI4iXsJveQHH7485Nix2G9vKXmNt9n49H4/1YK4x51xzzMlea73nmGOOFSklJEmSJJXRo9EVkCRJkroTA7gkSZJUkAFckiRJKsgALkmSJBVkAJckSZIKMoBLkiRJBfVqdAVK69+/fxo0aFCjqyFJkqQubNasWc+nlAa0Na/bBfBBgwYxc+bMRldDkiRJXVhE/GlN8+yCIkmSJBVkAJckSZIKMoBLkiRJBXW7PuCS1EhvvPEGCxcu5NVXX210Vbq0vn37MnDgQHr37t3oqkjS3zGAS1JBCxcuZP3112fQoEFERKOr0yWllFi6dCkLFy5k8ODBja6OJP0du6BIUkGvvvoqG2+8seG7jiKCjTfe2KsMkjotA7gkFWb4rj+PsaTOzAAuSZIkFWQAl6RO4KWXXuKyyy57R+seddRRTJkypV3LTps2jU9/+tPvaDutTZw4kQsuuACAyZMn88wzz6ycN2jQIJ5//vl21+n+++/vkDpJ0rrAAC5JncDaBPDOoHUAfzsM4JK6GwO4JHUCEyZM4Mknn2TEiBGcdtppnH/++ey4445sv/32nHXWWSuXu+aaa9h+++0ZPnw4n//851eWT58+nV122YWPfOQj/7A1/JVXXmHcuHFss802HH744aSUAJg1axa77bYbo0aNYsyYMSxevBiAH/3oR+y4444MHz6cz372s/z1r39d7fWmTJnCzJkzOfzwwxkxYgR/+9vfALjkkkvYYYcd2G677XjiiSfarMuCBQv44Q9/yIUXXsiIESP47W9/yy9+8Qt22mknRo4cyZ577smzzz4LwJIlS9hrr70YOnQoX/jCF/jwhz/c7lZ2SepMDOCS1Amcd955bLHFFjQ3N7PXXnsxb948ZsyYQXNzM7NmzWL69OnMmTOHc845h3vuuYfZs2dz8cUXr1x/8eLF3Hvvvdx6661MmDDhLbf18MMPc9FFFzF37lyeeuop7rvvPt544w1OOeUUpkyZwqxZszjmmGM488wzATjwwAN56KGHmD17Nttuuy1XXnnlaq83btw4mpqauPbaa2lubuZd73oXAP379+f3v/89X/rSl1Z2VWlt0KBBnHDCCfzbv/0bzc3NfOITn+DjH/84DzzwAA8//DCHHHII3/ve9wD41re+xR577MGcOXMYN24cTz/99Ds+3pLUSI4DLkmdzJ133smdd97JyJEjgarFet68ecyePZvx48fTv39/ADbaaKOV6+y///706NGDIUOGrGwxXpPRo0czcOBAAEaMGMGCBQvo168fjz32GHvttRcAK1asYNNNNwXgscce4+tf/zovvfQSr7zyCmPGjGnXfhx44IEAjBo1ip/97Gft3v+FCxdy8MEHs3jxYl5//fWVY3nfe++9/PznPwdg7NixbLjhhu1+TUnqTAzgktTJpJQ444wz+OIXv7ha+SWXXLLGdfr06bPa+m+ldtmePXuyfPlyUkoMHTqU3/3ud3+3/FFHHcXNN9/M8OHDmTx5MtOmTWvXfrRsp2Ub7XXKKadw6qmnsu+++zJt2jQmTpzY7nUlaV1gFxRJ6gTWX399li1bBsCYMWOYNGkSr7zyCgCLFi3iueeeY4899uCmm25i6dKlALzwwgsdtv2tt96aJUuWrAzgb7zxBnPmzAFg2bJlbLrpprzxxhtce+21/7D+b1frdV9++WU222wzAK6++uqV5bvuuis33ngjUF0lePHFF9/R9iSp0QzgktQJbLzxxuy6664MGzaMu+66i8MOO4yPfexjbLfddowbN45ly5YxdOhQzjzzTHbbbTeGDx/Oqaee2mHbX2+99ZgyZQqnn346w4cPZ8SIEStHJjn77LPZaaed2HXXXdlmm23aXP+oo47ihBNOWO0mzPb6zGc+w89//vOVN2FOnDiR8ePHM2rUqJXdbQDOOuss7rzzToYNG8ZNN93EBz7wAdZff/13vtOS1CDxjy5VdjVNTU1p5syZja6GpG7q8ccfZ9ttt210NdZJr732Gj179qRXr1787ne/40tf+hLNzc1rXN5jLamRImJWSqmprXn2AZckrROefvppDjroIN58803WW289fvSjHzW6SpL0jhjAs5lNo4ttq2nmjGLbktQ9Pfroo6uNEw7VTZEPPvhgg2oEV1111WpDJ0LVr/vSSy9t1/pbbrklDz/8cD2qJklFGcAlqQvabrvt3rJ7RiMcffTRHH300Y2uhiQ1nDdhSpIkSQUZwCVJkqSCDOCSJElSQQZwSepmFixYwLBhw9b6dSZPnszJJ58MwM0338zcuXNXztt9991xyFdJaps3YUpSA3X0CEyNGmXp5ptv5tOf/jRDhgxpyPYlaV1iC7gkdUMrVqzguOOOY+jQoey999787W9/48knn2Ts2LGMGjWKT3ziEzzxxBMA/OIXv2CnnXZi5MiR7Lnnnjz77LOrvdb999/P1KlTOe200xgxYgRPPvkkADfddBOjR49mq6224re//W3xfZSkzsoALknd0Lx58zjppJOYM2cO/fr146c//SnHH388l1xyCbNmzeKCCy7gxBNPBODjH/84DzzwAA8//DCHHHII3/ve91Z7rV122YV9992X888/n+bmZrbYYgsAli9fzowZM7jooov41re+VXwfJamzsguKJHVDgwcPZsSIEQCMGjWKBQsWcP/99zN+/PiVy7z22msALFy4kIMPPpjFixfz+uuvM3jw4HZt48ADD1zt9SVJFQO4JHVDffr0WTnds2dPnn32Wfr169fmj/eccsopnHrqqey7775MmzaNiRMnvq1t9OzZk+XLl3dIvSWpK7ALiiSJDTbYgMGDB3PTTTcBkFJi9uzZALz88ststtlmAFx99dVtrr/++uuzbNmyMpWVpHWcAVySBMC1117LlVdeyfDhwxk6dCi33HILABMnTmT8+PGMGjWK/v37t7nuIYccwvnnn8/IkSNX3oQpSWpbpJQaXYeimpqaUltj03b0UGBvWYcGDRMmqfEef/xxtt1220ZXo1vwWEtqpIiYlVJqamueLeCSJElSQQZwSZIkqSADuCRJklSQAVySJEkqyAAuSZIkFVT3AB4RPSPi4Yi4NT8fHBEPRsT8iLghItbL5X3y8/l5/qCa1zgjl/8hIsbUlI/NZfMjYkK990WSJElaWyVawL8MPF7z/LvAhSmljwIvAsfm8mOBF3P5hXk5ImIIcAgwFBgLXJZDfU/gUmAfYAhwaF5WkrQGL730Epdddtk7Wveoo45iypQpHVKP3XffnbaGhJWk7qCuP0UfEQOBfwHOBU6NiAD2AA7Li1wNTAQuB/bL0wBTgB/k5fcDrk8pvQb8MSLmAy2Dds9PKT2Vt3V9XnZuPfdJkjrS2G/c0KGvd/vZB7/l/JYAfuKJJ3bodiVJ7VfvFvCLgP8NvJmfbwy8lFJanp8vBDbL05sBfwbI81/Oy68sb7XOmsr/TkQcHxEzI2LmkiVL1nafJGmdNWHCBJ588klGjBjBaaedxvnnn8+OO+7I9ttvz1lnnbVyuWuuuYbtt9+e4cOH8/nPf35l+fTp09lll134yEc+srI1fNq0aey+++6MGzeObbbZhsMPP5yWH3m7++67GTlyJNtttx3HHHMMr7322t/V6brrrmO77bZj2LBhnH766SvLr7zySrbaaitGjx7Ncccdx8knn8yyZcsYPHgwb7zxBgB/+ctfVnsuSeuCugXwiPg08FxKaVa9ttFeKaUrUkpNKaWmAQMGNLo6ktQw5513HltssQXNzc3stddezJs3jxkzZtDc3MysWbOYPn06c+bM4ZxzzuGee+5h9uzZXHzxxSvXX7x4Mffeey+33norEyasuvXm4Ycf5qKLLmLu3Lk89dRT3Hfffbz66qscddRR3HDDDTz66KMsX76cyy+/fLX6PPPMM5x++uncc889NDc389BDD3HzzTfzzDPPcPbZZ/PAAw9w33338cQTTwCw/vrrs/vuu/PLX/4SgOuvv54DDzyQ3r17Fzh6ktQx6tkCviuwb0QsAK6n6npyMdAvIlq6vgwEFuXpRcDmAHn++4ClteWt1llTuSSpHe68807uvPNORo4cyQ477MATTzzBvHnzuOeeexg/fjz9+/cHYKONNlq5zv7770+PHj0YMmQIzz777Mry0aNHM3DgQHr06MGIESNYsGABf/jDHxg8eDBbbbUVAEceeSTTp09frQ4PPfQQu+++OwMGDKBXr14cfvjhTJ8+nRkzZrDbbrux0UYb0bt3b8aPH79ynS984QtcddVVAFx11VUcffTRdTtGklQPdQvgKaUzUkoDU0qDqG6ivCeldDjwa2BcXuxI4JY8PTU/J8+/J1XXMKcCh+RRUgYDWwIzgIeALfOoKuvlbUyt1/5IUleTUuKMM86gubmZ5uZm5s+fz7HHHvuW6/Tp02e19dsq79mzJ8uXL6dedt11VxYsWMC0adNYsWIFw4YNq9u2JKkeGjEO+OlUN2TOp+rjfWUuvxLYOJefCkwASCnNAW6kurnyduCklNKK3E/8ZOAOqlFWbszLSpLWYP3112fZsmUAjBkzhkmTJvHKK68AsGjRIp577jn22GMPbrrpJpYuXQrACy+88I62tfXWW7NgwQLmz58PwI9//GN222231ZYZPXo0v/nNb3j++edZsWIF1113Hbvtths77rgjv/nNb3jxxRdZvnw5P/3pT1db74gjjuCwww6z9VvSOqmuo6C0SClNA6bl6adYNYpJ7TKvAuNbl+d551KNpNK6/Dbgtg6sqiR1aRtvvDG77rorw4YNY5999uGwww7jYx/7GADvfe97+clPfsLQoUM588wz2W233ejZsycjR45k8uTJb3tbffv25aqrrmL8+PEsX76cHXfckRNOOGG1ZTbddFPOO+88PvnJT5JS4l/+5V/Yb7/9APja177G6NGj2Wijjdhmm2143/vet3K9ww8/nK9//esceuih7/xgSFKDRO0lxO6gqakptTX27MymvzsnqF8dZs4oti1Jncvjjz/Otttu2+hqrBNeeeUV3vve97J8+XIOOOAAjjnmGA444AAApkyZwi233MKPf/zjNa7vsZbUSBExK6XU1Na8Ii3gkiS9XRMnTuS///u/efXVV9l7773Zf//9ATjllFP41a9+xW23eQFU0rrJAC5J6pQuuOCCNssvueSSwjWRpI7ViJswJUmSpG7LAC5JhXW3e28awWMsqTMzgEtSQX379mXp0qUGxDpKKbF06VL69u3b6KpIUpvsAy5JBQ0cOJCFCxeyZMmSRlelS+vbty8DBw5sdDUkqU0GcEkqqHfv3gwePLjR1ZAkNZBdUCRJkqSCDOCSJElSQQZwSZIkqSADuCRJklSQAVySJEkqyAAuSZIkFWQAlyRJkgoygEuSJEkFGcAlSZKkggzgkiRJUkEGcEmSJKkgA7gkSZJUkAFckiRJKsgALkmSJBVkAJckSZIKMoBLkiRJBRnAJUmSpIIM4JIkSVJBBnBJkiSpIAO4JEmSVJABXJIkSSrIAC5JkiQVZACXJEmSCjKAS5IkSQUZwCVJkqSCDOCSJElSQQZwSZIkqSADuCRJklSQAVySJEkqyAAuSZIkFWQAlyRJkgoygEuSJEkF1S2AR0TfiJgREbMjYk5EfCuXT46IP0ZEc36MyOUREd+PiPkR8UhE7FDzWkdGxLz8OLKmfFREPJrX+X5ERL32R5IkSeoIver42q8Be6SUXomI3sC9EfGr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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "# observation \n", "- From the above chart, we can see that most of articles talking about health news coming from Reuters. The other publisher contirbute much less when compare with reuters.\n", "\n", "- Regarding to Technology articles the 3 publishers. i.e Reuters, Vice and CNBC contirbute almost equally.\n", "\n", "- Economist,FoxNews and Gizzmodo contirbute much less when compare with others.\n", "\n" ], "metadata": { "id": "ilaEiJGGDgJK" } }, { "cell_type": "code", "source": [ "data_tech_health['year'].value_counts().sort_index()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "l2wE9-1Nsg8n", "outputId": "9c371e04-c8d8-42cf-e1ad-6826e4b80964" }, "execution_count": 24, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "2016 24470\n", "2017 28697\n", "2018 24770\n", "2019 22961\n", "2020 25212\n", "Name: year, dtype: int64" ] }, "metadata": {}, "execution_count": 24 } ] }, { "cell_type": "code", "source": [ "data_tech_health['month'].value_counts()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "2OWkD_q8tt8T", "outputId": "09795ae8-6c8a-473d-a908-562a3d872829" }, "execution_count": 25, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "3.0 24510\n", "2.0 15218\n", "1.0 10921\n", "10.0 9050\n", "4.0 8875\n", "5.0 8789\n", "11.0 8643\n", "6.0 8577\n", "7.0 8190\n", "8.0 8094\n", "9.0 8055\n", "12.0 7188\n", "Name: month, dtype: int64" ] }, "metadata": {}, "execution_count": 25 } ] }, { "cell_type": "code", "source": [ "data_tech_health[data_tech_health['year']==2020]['month'].unique()\n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "b6b8D6ocfHqy", "outputId": "9ab1feb7-79ff-44e6-89ea-771e3ae3f966" }, "execution_count": 51, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1., 2., 3., 4.])" ] }, "metadata": {}, "execution_count": 51 } ] }, { "cell_type": "code", "source": [ "plot_figure('year','tech_health_tag') " ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "jVfz6YIP4HLH", "outputId": "a5a78caf-71d5-4f1e-c4bd-931978d75835" }, "execution_count": 26, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAH6CAYAAABGe/lpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de7zVZZ33/9dHUGkSU4TMRAMdj6CAbPE8MuYBO6g5kqdJ0RIt9Z6mbm8xm5FSJydt0rzLfjbioXE8YR4qS00jskSFxBS1GzQqiNDwhOMR/Pz+WN9Ni90GN7jXtfbh9Xw81mOvdX1PnwXXXvu9vuv6XisyE0mSJEllrNPsAiRJkqTexAAuSZIkFWQAlyRJkgoygEuSJEkFGcAlSZKkggzgkiRJUkF9m11AaQMHDswhQ4Y0uwxJkiT1YLNmzfpzZg5qb1mvC+BDhgxh5syZzS5DkiRJPVhE/G5VyxyCIkmSJBVkAJckSZIKMoBLkiRJBfW6MeCSJEm9wZtvvsmCBQt47bXXml1Kj9avXz8GDx7Muuuu2+FtDOCSJEk90IIFC+jfvz9DhgwhIppdTo+UmSxZsoQFCxYwdOjQDm/nEBRJkqQe6LXXXmOTTTYxfDdQRLDJJpus8acMBnBJkqQeyvDdeGvzb2wAlyRJkgoygEuSJPUiL7zwAt/61rfWatsJEyYwderUDq07bdo0PvKRj6zVcdqaPHkyF110EQBXXXUVf/zjH1csGzJkCH/+8587XNMvf/nLTqnpnTCAS5Ik9SLvJIB3BW0D+JowgEuSJKm4SZMm8dRTTzFy5EjOOOMMLrzwQnbddVd23nlnzjnnnBXrXXPNNey8886MGDGCT3ziEyvap0+fzp577slWW231tmfDX375ZY444gi23357jj32WDITgFmzZrHvvvsyevRoDjroIBYtWgTAd77zHXbddVdGjBjBP/zDP/DKK6+stL+pU6cyc+ZMjj32WEaOHMmrr74KwKWXXsouu+zCTjvtxJNPPtluLfPnz+fb3/42X//61xk5ciQ///nP+f73v89uu+3GqFGj2H///Vm8eDEAzz77LAcccADDhg3jU5/6FB/4wAc6fJa9IwzgkiRJvcgFF1zA1ltvzezZsznggAOYO3cuDz74ILNnz2bWrFlMnz6dOXPmcN5553HvvffyyCOPcMkll6zYftGiRdx333384Ac/YNKkSas91sMPP8zFF1/M448/ztNPP80vfvEL3nzzTU4//XSmTp3KrFmzOPHEEzn77LMBOPzww3nooYd45JFH2GGHHbjiiitW2t8RRxxBS0sL1157LbNnz+Zd73oXAAMHDuRXv/oVn/70p1cMVWlryJAhnHLKKfzzP/8zs2fPZp999mHvvfdmxowZPPzwwxx11FF89atfBeBLX/oS++23H3PmzOGII47g97///Vr/e7fHecAlSZJ6qbvuuou77rqLUaNGAbUz1nPnzuWRRx5h/PjxDBw4EIABAwas2Oawww5jnXXWYccdd1xxxnhVxowZw+DBgwEYOXIk8+fPZ6ONNuKxxx7jgAMOAGD58uVsttlmADz22GN88Ytf5IUXXuDll1/moIMO6tDzOPzwwwEYPXo03/ve9zr8/BcsWMCRRx7JokWLeOONN1bM5X3fffdxyy23ADBu3Dg23njjDu+zIwzgkiRJvVRmctZZZ3HyySev1H7ppZeucpv1119/pe1Xp37dPn36sGzZMjKTYcOGcf/99//V+hMmTODWW29lxIgRXHXVVUybNq1Dz6P1OK3H6KjTTz+dz33ucxxyyCFMmzaNyZMnd3jbd8IhKJIkSb1I//79Wbp0KQAHHXQQU6ZM4eWXXwZg4cKFPPPMM+y3337cdNNNLFmyBIDnnnuu046/3Xbb8eyzz64I4G+++SZz5swBYOnSpWy22Wa8+eabXHvttW9b/5pqu+2LL77I5ptvDsDVV1+9on2vvfbixhtvBGqfEjz//PNrdbxVMYBLkiT1Iptssgl77bUXw4cP5+677+aYY45hjz32YKedduKII45g6dKlDBs2jLPPPpt9992XESNG8LnPfa7Tjr/eeusxdepUzjzzTEaMGMHIkSNXzExy7rnnsttuu7HXXnux/fbbt7v9hAkTOOWUU1a6CLOjPvrRj3LLLbesuAhz8uTJjB8/ntGjR68YbgNwzjnncNdddzF8+HBuuukm3ve+99G/f/+1f9JtxNt9dNDTtLS05MyZM5tdhiRJUkM98cQT7LDDDs0uo1t6/fXX6dOnD3379uX+++/n05/+NLNnz17l+u39W0fErMxsaW99x4BLkiRJdX7/+9/z8Y9/nLfeeov11luP73znO526fwO4JEmS1tqjjz660jzhULso8oEHHmhS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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "code", "source": [ "plot_figure('year','publication') \n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "609Chb1HtW0V", "outputId": "f871a1fa-9de7-4e40-d949-b28d6ab56de6" }, "execution_count": 27, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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JElSggzgkiRJUoIM4JIkSVKCDOCSJElSggzgkiRJUoIM4HXA8uXLyc3NJTc3l/33358DDzyQ3NxcmjZtSrt27ba537Fjx1KvXj3mzp1bXsvMzKS0tLQaRg3PPvssnTt3Ln+gz/r168nLy+Oll16q0vmtWrXi008/3eLxjh07kpuby8EHH0yzZs3Kv6OXXnqJk046qVruQZIkKWn1a3sAdVFRQYdq7a+g6NWtHt93330pKSkB4JprrqFx48b813/9F6WlpfTp02e7rt2yZUuuu+46Jk6s+j7UVdWjRw/uvvtu7r77bs4991xGjx5NQUEBRx555Heeu379+u9sM3PmTKDsPySKioq47bbbyo9V5RqSJEl1kTPgddz69es577zzyMjIoGfPnqxevRqAt99+m969e5Ofn09hYSFvvPFGpef36dOHBQsW8Oabb2527JlnnqFz584cccQRnHzyyaxYsYJZs2Zx4oknAvDEE0/QqFEjvv76a9asWcOhhx66WR833XQTf/jDH1iwYAG33XYbN9xwAxMmTCArK4vMzExGjBhR3rZx48Zceuml5OTk8PLLL5fXV69ezbHHHstdd91Vpe+ktLSUzMxMoCyc9+vXjx49etCqVStuu+02/vSnP5GXl0enTp347LPPtvp9Pfzww2RmZpKTk0PXrl2rdH1JkqTtYQCv4xYvXsywYcNYsGABTZs2ZdKkSQAMGTKE0aNHU1xczKhRoxg6dGil59erV4/LLruM//f//t8m9U8//ZTf//73PPfcc8yePZuCgoLy4LpxNn769OlkZmYya9YsZs6cSceOHTfrv0WLFvziF7+gc+fO/OY3v2HNmjWMGDGC559/npKSEmbNmsXjjz8OwMqVK+nYsSNz5szhRz/6EQArVqzghBNOYODAgZx33nnb9B3Nnz+fRx99lFmzZnHllVeyxx578Nprr9G5c2fuu+++rX5fI0eO5B//+Adz5sxh8uTJ23R9SZKk78MlKHVceno6ubm5AOTn51NaWsqKFSt46aWXOPnkk8vbrV27dot9nHbaaVx33XW888475bVXXnmF119/nS5dugDw9ddf07lzZ+rXr89hhx3GwoULefXVV/nVr37Fiy++yPr16yksLKy0/2HDhnH55ZczePBgnnjiCbp160azZs0AOP3003nxxRfp168faWlp/PSnP93k3L59+3LZ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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "code", "source": [ "plot_figure('month','tech_health_tag') \n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 519 }, "id": "Hi1VzU_yVVzT", "outputId": "a21ba601-b125-451e-b86e-73db40b67a63" }, "execution_count": 28, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAH2CAYAAAAxuTkSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde5wcVZ338c+PIRBXgtyyyBI1kQ23BBLMEJSLiSgQlBVEIgFWCazcwV11kSDuAwrusoKPKCouLhBwEeQiFxEVFoTITZhIuITLkwSjJkSICZegBBL4PX9UTeiMM2GSzFRP93zer1e/pvt0Vfc5qUr1t0+fOhWZiSRJkqRqrFPvCkiSJEn9iQFckiRJqpABXJIkSaqQAVySJEmqkAFckiRJqtC69a5A1TbbbLMcOnRovashSZKkJjZ9+vQ/Zebgzp7rdwF86NChtLW11bsakiRJamIR8buunnMIiiRJklQhA7gkSZJUIQO4JEmSVKF+NwZckiSpP1i2bBnz5s1j6dKl9a5KUxs4cCBDhgxhwIAB3V7HAC5JktSE5s2bx6BBgxg6dCgRUe/qNKXMZNGiRcybN49hw4Z1ez2HoEiSJDWhpUuXsummmxq+e1FEsOmmm672rwwGcEmSpCZl+O59a/JvbACXJEmSKmQAlyRJkipkAJckSepHnn/+eb773e+u0bqTJ0/mmmuu6dayd9xxB/vtt98avU9HZ5xxBueeey4AU6dO5emnn17x3NChQ/nTn/7U7Trdc889PVKntWEAlyRJ6kfWJoD3BR0D+OowgEuSJKlyU6ZMYc6cOYwePZqTTz6Zc845h5133pkdd9yR008/fcVyl112GTvuuCOjRo3ik5/85IryadOmseuuu/Lud7/7TXvDX3rpJQ466CC23XZbDjvsMDITgOnTpzNu3DjGjBnDPvvsw4IFCwD4/ve/z84778yoUaP4+Mc/zl/+8peVXu+aa66hra2Nww47jNGjR/Pyyy8DcP755/Oe97yHHXbYgSeeeKLTusydO5fvfe97fOMb32D06NH86le/4ic/+Qm77LILO+20Ex/60Id45plnAFi4cCF77bUXI0aM4NOf/jTvete7ut3L3h0GcEmSpH7k7LPPZquttmLGjBnstddezJo1i/vvv58ZM2Ywffp0pk2bxsyZMznrrLO4/fbbeeihh/jmN7+5Yv0FCxZw1113cdNNNzFlypRVvteDDz7Ieeedx2OPPcZTTz3F3XffzbJlyzjppJO45pprmD59OkceeSSnnXYaAAceeCAPPPAADz30ENtttx0XXXTRSq930EEH0drayuWXX86MGTN4y1veAsBmm23Gb37zG4477rgVQ1U6Gjp0KMceeyyf/exnmTFjBnvssQe777479913Hw8++CCTJk3ia1/7GgBf/vKX2XPPPZk5cyYHHXQQv//979f437szXohHkiSpn7rlllu45ZZb2GmnnYCix3rWrFk89NBDTJw4kc022wyATTbZZMU6BxxwAOussw7bb7/9ih7jrowdO5YhQ4YAMHr0aObOnctGG23Eo48+yl577QXAa6+9xhZbbAHAo48+ype+9CWef/55XnrpJfbZZ59utePAAw8EYMyYMfz4xz/udvvnzZvHwQcfzIIFC3j11VdXXEznrrvu4rrrrgNgwoQJbLzxxt1+ze4wgEuSJPVTmcmpp57KMcccs1L5+eef3+U666+//krrr0rtsi0tLSxfvpzMZMSIEdx7771/tfzkyZO5/vrrGTVqFFOnTuWOO+7oVjva36f9PbrrpJNO4nOf+xwf/ehHueOOOzjjjDO6ve7acAiKJElSPzJo0CCWLFkCwD777MPFF1/MSy+9BMD8+fN59tln2XPPPbn66qtZtGgRAIsXL+6x999mm21YuHDhigC+bNkyZs6cCcCSJUvYYostWLZsGZdffvmb1n91dVz3hRdeYMsttwTg0ksvXVG+2267cdVVVwHFrwTPPffcGr1fVwzgkiRJ/cimm27KbrvtxsiRI7n11ls59NBDed/73scOO+zAQQcdxJIlSxgxYgSnnXYa48aNY9SoUXzuc5/rsfdfb731uOaaazjllFMYNWoUo0ePXjEzyZlnnskuu+zCbrvtxrbbbtvp+pMnT+bYY49d6STM7vqHf/gHrrvuuhUnYZ5xxhlMnDiRMWPGrBhuA3D66adzyy23MHLkSK6++mre/va3M2jQoDVvdAfxZj8dNJvW1tZsa2urdzUkSZJ61eOPP852221X72o0pFdeeYWWlhbWXXdd7r33Xo477jhmzJjR5fKd/VtHxPTMbO1seceAS5IkSTV+//vf84lPfILXX3+d9dZbj+9///s9+voGcKCtdWyvvXZr2/299tqSJEn19sgjj6w0TzgUJ0X++te/rlON4JJLLllp6kQoxnV/5zvf6db6w4cP58EHH+yNqgEGcEmSJK2FHXbYYZXDM+rhiCOO4Igjjqh3NbrkSZiSJElShQzgkiRJUoUM4JIkSVKFHAMuSZLUD/T0pBPdmWhi7ty57Lfffjz66KNr9V5Tp06lra2Nb3/721x//fVsvfXWbL/99gCMHz+ec889l9bWTmf865PsAZckSVLDuP7663nsscfqXY210msBPCIujohnI+LRmrIfRcSM8jY3ImaU5UMj4uWa575Xs86YiHgkImZHxLciIsryTSLi1oiYVf7duLfaIkmSpDXz2muvcdRRRzFixAj23ntvXn75ZebMmcOECRMYM2YMe+yxB0888QQAP/nJT9hll13Yaaed+NCHPsQzzzyz0mvdc8893HjjjZx88smMHj2aOXPmAHD11VczduxYtt56a371q19V3sbV1Zs94FOBCbUFmXlwZo7OzNHAtcCPa56e0/5cZh5bU34BcBQwvLy1v+YU4LbMHA7cVj6WJElSHzJr1ixOOOEEZs6cyUYbbcS1117L0Ucfzfnnn8/06dM599xzOf744wHYfffdue+++3jwwQeZNGkSX/va11Z6rV133ZWPfvSjnHPOOcyYMYOtttoKgOXLl3P//fdz3nnn8eUvf7nyNq6uXhsDnpnTImJoZ8+VvdifAPZc1WtExBbAhpl5X/n4MuAA4GfA/sD4ctFLgTuAU9a+5pIkSeopw4YNY/To0QCMGTOGuXPncs899zBx4sQVy7zyyisAzJs3j4MPPpgFCxbw6quvMmzYsG69x4EHHrjS6/d19RoDvgfwTGbOqikbFhEPRsSdEbFHWbYlMK9mmXllGcDmmbmgvP9HYPOu3iwijo6ItohoW7hwYQ81QZIkSW9m/fXXX3G/paWFxYsXs9FGGzFjxowVt8cffxyAk046iRNPPJFHHnmE//qv/2Lp0qWr9R4tLS0sX7685xvRw+oVwA8Brqh5vAB4Z2buBHwO+GFEbNjdF8vMBHIVz1+Yma2Z2Tp48OA1rbMkSZLW0oYbbsiwYcO4+uqrAchMHnroIQBeeOEFttyy6Gu99NJLO11/0KBBLFmypJrK9pLKpyGMiHWBA4Ex7WWZ+QrwSnl/ekTMAbYG5gNDalYfUpYBPBMRW2TmgnKoyrNV1F+SJKkRdWfawKpcfvnlHHfccZx11lksW7aMSZMmMWrUKM444wwmTpzIxhtvzJ577slvf/vbv1p30qRJHHXUUXzrW9/immuuqUPt114Unce99OLFGPCbMnNkTdkE4NTMHFdTNhhYnJmvRcS7gV8BO2Tm4oi4H/gM8GvgZuD8zLw5Is4BFmXm2RExBdgkM7/wZnVqbW3Ntra2lcp6el7Mld6vD+3skiSp/3j88cfZbrvt6l2NfqGzf+uImJ6ZnU5O3pvTEF4B3AtsExHzIuKfyqcmsfLwE4D3Aw+X0xJeAxybmYvL544H/huYDcyhOAET4Gxgr4iYBXyofCxJkiT1ab05C8ohXZRP7qTsWoppCTtbvg0Y2Un5IuCDa1dLSZIkqVpeCVOSJEmqkAFckiRJqpABXJIkSaqQAVySJEmqUOXzgEuSJKl6E/7tRz36ej8/8+BVPv/888/zwx/+kOOPP361X3vy5Mnst99+HHTQQWtavRXGjx/PueeeS2trpzMC1oU94JIkSepxzz//PN/97nfrXY0+yQAuSZKkHjdlyhTmzJnD6NGjOfnkkznnnHPYeeed2XHHHTn99NNXLHfZZZex4447MmrUKD75yU+uKJ82bRq77ror7373u1dc8fKOO+5g/PjxHHTQQWy77bYcdthhtF9U8rbbbmOnnXZihx124Mgjj+SVV175qzpdccUV7LDDDowcOZJTTjllRflFF13E1ltvzdixYznqqKM48cQTWbJkCcOGDWPZsmUAvPjiiys9XhsGcEmSJPW4s88+m6222ooZM2aw1157MWvWLO6//35mzJjB9OnTmTZtGjNnzuSss87i9ttv56GHHuKb3/zmivUXLFjAXXfdxU033cSUKVNWlD/44IOcd955PPbYYzz11FPcfffdLF26lMmTJ/OjH/2IRx55hOXLl3PBBResVJ+nn36aU045hdtvv50ZM2bwwAMPcP311/P0009z5plnct9993H33XfzxBNPADBo0CDGjx/PT3/6UwCuvPJKDjzwQAYMGLDW/zYGcEmSJPWqW265hVtuuYWddtqJ97znPTzxxBPMmjWL22+/nYkTJ7LZZpsBsMkmm6xY54ADDmCdddZh++2355lnnllRPnbsWIYMGcI666zD6NGjmTt3Lk8++STDhg1j6623BuDwww9n2rRpK9XhgQceYPz48QwePJh1112Xww47jGnTpnH//fczbtw4NtlkEwYMGMDEiRNXrPPpT3+aSy65BIBLLrmEI444okf+PTwJU5IkSb0qMzn11FM55phjVio///zzu1xn/fXXX2n9zspbWlpYvnx5D9Z0Zbvtthtz587ljjvu4LXXXmPkyL+6OPsasQdckiRJPW7QoEEsWbIEgH322YeLL76Yl156CYD58+fz7LPPsueee3L11VezaNEiABYvXrxG77XNNtswd+5cZs+eDcAPfvADxo0bt9IyY8eO5c477+RPf/oTr732GldccQXjxo1j55135s477+S5555j+fLlXHvttSut96lPfYpDDz20x3q/wR5wSZKkfuHNpg3saZtuuim77bYbI0eOZN999+XQQw/lfe97HwAbbLAB//M//8OIESM47bTTGDduHC0tLey0005MnTp1td9r4MCBXHLJJUycOJHly5ez8847c+yxx660zBZbbMHZZ5/NBz7wATKTj3zkI+y///4AfPGLX2Ts2LFssskmbLvttrztbW9bsd5hhx3Gl770JQ455JA1/8foIGq79PuD1tbWbGtrW6msrXVs771f2/299tqSJEldefzxx9luu+3qXY2G8NJLL7HBBhuwfPlyPvaxj3HkkUfysY99DIBrrrmGG264gR/84Addrt/Zv3VETM/MTicftwdckiRJ/doZZ5zB//7v/7J06VL23ntvDjjgAABOOukkfvazn3HzzTf36PsZwCVJktSvnXvuuZ2Wr+ok0bXhSZiSJElNqr8NNa6HNfk3NoBLkiQ1oYEDB7Jo0SJDeC/KTBYtWsTAgQNXaz2HoEiSJDWhIUOGMG/ePBYuXFjvqjS1gQMHMmTIkNVaxwAuSZLUhAYMGMCwYcPqXQ11wiEokiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShQzgkiRJUoUM4JIkSVKFDOCSJElShXotgEfExRHxbEQ8WlN2RkTMj4gZ5e3DNc+dGhGzI+LJiNinpnxC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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "## Observation\n", "- The highest number of articles published in 2017\n", "\n", "- The highest number of health article published in 2020. The reason for this might be related to beginning of Covid pandamic in 2020.\n", "\n", "- 2020 has only 4 covered months record.\n", "\n", "- The highest publication of articles both in health and technology occur in month of January, February and March.\n", "\n", "- The first time the number of health article greater than in technology article is in year of 2020.\n", "\n", "- Reuters is the leading article publisher in in technology and health articles.\n", "\n", " \n" ], "metadata": { "id": "mV8UL9XPmexA" } }, { "cell_type": "markdown", "source": [ "## Data Cleaning" ], "metadata": { "id": "11pAAgaBDtfe" } }, { "cell_type": "code", "source": [ "def processed_text_article(df):\n", " special_char = list(punctuation)\n", " for e in ['.','?']:\n", " special_char.remove(e)\n", " special_char.append(\"\\n+\")\n", " special_char.append(\"\\s+\")\n", "\n", " def deep_clean(text_str):\n", " text_str = str(text_str)\n", " text_str =text_str.strip()\n", " text_str = re.sub('<[^>]*>', '', text_str)\n", " for char in special_char:\n", " text_str = text_str.replace(char, '')\n", " return text_str\n", "\n", " df['article'] = df['article'].apply(deep_clean)\n", " df['title'] = df['title'].apply(deep_clean)\n", " return df\n", "\n", "def clean_dataFrame(df):\n", " missing_cols = df.isnull().sum()\n", " drop_missing_cols = missing_cols[(missing_cols > len(df)/20)].sort_values()\n", " df = df.drop(drop_missing_cols.index, axis=1)\n", " df['date'] = pd.to_datetime(df['date'])\n", " df = df.dropna()\n", " #reset index\n", " df = df.reset_index(drop=True)\n", " # make all columns lower_case \n", " df.columns = df.columns.str.lower()\n", " df = processed_text_article(df)\n", " return df" ], "metadata": { "id": "MeGBdMriVbb2" }, "execution_count": 29, "outputs": [] }, { "cell_type": "code", "source": [ "data_tech_health = clean_dataFrame(data_tech_health)" ], "metadata": { "id": "ndoFFfu5tkq8" }, "execution_count": 30, "outputs": [] }, { "cell_type": "code", "source": [ "data_tech_health.info()" ], "metadata": { "id": "4Mx1D_Ouu4Au", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "2749820e-c3c4-4eb7-babd-73368f574f1d" }, "execution_count": 31, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\n", "RangeIndex: 125948 entries, 0 to 125947\n", "Data columns (total 10 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 date 125948 non-null datetime64[ns]\n", " 1 year 125948 non-null int64 \n", " 2 month 125948 non-null float64 \n", " 3 day 125948 non-null int64 \n", " 4 title 125948 non-null object \n", " 5 article 125948 non-null object \n", " 6 url 125948 non-null object \n", " 7 section 125948 non-null object \n", " 8 publication 125948 non-null object \n", " 9 tech_health_tag 125948 non-null object \n", "dtypes: datetime64[ns](1), float64(1), int64(2), object(6)\n", "memory usage: 9.6+ MB\n" ] } ] }, { "cell_type": "code", "source": [ "data_tech_health.isnull().sum()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Sm1ZfMwHPA2r", "outputId": "be9234ec-6144-4265-a98e-b99824bc8821" }, "execution_count": 32, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "date 0\n", "year 0\n", "month 0\n", "day 0\n", "title 0\n", "article 0\n", "url 0\n", "section 0\n", "publication 0\n", "tech_health_tag 0\n", "dtype: int64" ] }, "metadata": {}, "execution_count": 32 } ] }, { "cell_type": "code", "source": [ "data_tech_health['date'].describe()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "_AQ7hTDkKpa2", "outputId": "6a78d37b-dcc9-483e-d25a-4669c4f2e0f6" }, "execution_count": 33, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "count 125948\n", "unique 29195\n", "top 2020-03-16 00:00:00\n", "freq 1021\n", "first 2016-01-01 00:00:00\n", "last 2020-04-01 05:00:32\n", "Name: date, dtype: object" ] }, "metadata": {}, "execution_count": 33 } ] }, { "cell_type": "markdown", "source": [ "- The statistical summery of date tells us the year 2020 only includes 4 month record." ], "metadata": { "id": "FqgBc6kHLEt7" } }, { "cell_type": "markdown", "source": [ "## The distribution of word count of article text" ], "metadata": { "id": "kC6tPSqyMxY9" } }, { "cell_type": "code", "source": [ "data_tech_health['word_count'] = data_tech_health['article'].apply(lambda x: len(x.split()))" ], "metadata": { "id": "Ncq5ZSsYM5Wo" }, "execution_count": 34, "outputs": [] }, { "cell_type": "code", "source": [ "data_tech_health['word_count'].describe([0.1,0.25,0.5,0.75,0.95])" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "eABFHtEiNiU1", "outputId": "f3e2b1de-d2c9-4895-ff65-35a288f062af" }, "execution_count": 35, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "count 125948.000000\n", "mean 467.384428\n", "std 502.197501\n", "min 1.000000\n", "10% 42.000000\n", "25% 113.000000\n", "50% 351.000000\n", "75% 629.000000\n", "95% 1340.000000\n", "max 13510.000000\n", "Name: word_count, dtype: float64" ] }, "metadata": {}, "execution_count": 35 } ] }, { "cell_type": "code", "source": [ "data_tech_health[data_tech_health['word_count']<10]['article'].count()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "74Wk77BON7gA", "outputId": "084b25f8-fde4-440e-eca1-4752839553e3" }, "execution_count": 36, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "13" ] }, "metadata": {}, "execution_count": 36 } ] }, { "cell_type": "code", "source": [ "data_tech_health[data_tech_health['word_count']>1000]['article'].count()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "S09nSgudRbLX", "outputId": "5cc10859-b0ca-4e63-dcf6-4a2c7ecf887e" }, "execution_count": 38, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "13944" ] }, "metadata": {}, "execution_count": 38 } ] }, { "cell_type": "code", "source": [ "sns.histplot(data_tech_health['word_count'],\n", " bins=100)\n", "\n", "\n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 297 }, "id": "9F2gx419NGqZ", "outputId": "a1d075ac-90ed-44bd-eccd-24bf58eba638" }, "execution_count": 39, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 39 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "- The word count of an article text is between 1 and 13510. \n", "- 75% of the data word count is 629. \n", "- There are 13 articles their word count is less than 10 and 13944 article\n", "their word count is above 1000." ], "metadata": { "id": "xR6u2QloSQ8O" } }, { "cell_type": "markdown", "source": [ "## The distribution of top unigrams before removing stop words\n", "\n" ], "metadata": { "id": "D8Q8WBy1TYpb" } }, { "cell_type": "code", "source": [ "def get_top_n_words(corpus, n=None, language=None):\n", " if language=='english':\n", " vec = CountVectorizer(stop_words = 'english').fit(corpus)\n", " else:\n", " vec = CountVectorizer().fit(corpus)\n", "\n", " bag_of_words = vec.transform(corpus)\n", " sum_words = bag_of_words.sum(axis=0) \n", " words_freq = [(word, sum_words[0, idx]) for word, idx in vec.vocabulary_.items()]\n", " words_freq =sorted(words_freq, key = lambda x: x[1], reverse=True)\n", " return words_freq[:n]\n" ], "metadata": { "id": "AyF-kwr-TXyM" }, "execution_count": 40, "outputs": [] }, { "cell_type": "code", "source": [ "common_words = get_top_n_words(data_tech_health['article'], 20)\n", "for word, freq in common_words:\n", " print(word, freq)\n", "df1 = pd.DataFrame(common_words, columns = ['ArticleWord' , 'count'])\n", "df1.groupby('ArticleWord').sum()['count'].sort_values(ascending=False).plot.bar()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 889 }, "id": "DGR3SeHub3Jm", "outputId": "bf5b1850-0a08-44cc-b096-7bc4eb180618" }, "execution_count": 41, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "the 3020552\n", "to 1750126\n", "of 1482657\n", "and 1435060\n", "in 1171664\n", "that 769151\n", "for 621677\n", "is 549682\n", "it 503883\n", "on 496834\n", "with 415156\n", "said 399219\n", "as 350386\n", "by 309276\n", "are 300474\n", "be 288955\n", "at 283582\n", "was 281389\n", "have 280537\n", "from 274870\n" ] }, { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", "
\n", "\n", "" ] }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "## The distribution of top unigrams for article after removing stop words\n" ], "metadata": { "id": "pV2AVfGTc7dy" } }, { "cell_type": "code", "source": [ "common_words = get_top_n_words(data_tech_health['article'], 20, 'english')\n", "for word, freq in common_words:\n", " print(word, freq)\n", "df1 = pd.DataFrame(common_words, columns = ['ArticleWord' , 'count'])\n", "df1.groupby('ArticleWord').sum()['count'].sort_values(ascending=False).plot.bar()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 889 }, "id": "MYRCv0MiXKEC", "outputId": "e9fc179d-ef2e-404d-b2b9-f34b601ac0e7" }, "execution_count": 42, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "said 399219\n", "people 160781\n", "company 149141\n", "new 147966\n", "like 123928\n", "health 103557\n", "year 94077\n", "million 83302\n", "time 81934\n", "just 80520\n", "reuters 71136\n", "percent 68678\n", "says 68267\n", "years 68061\n", "according 65309\n", "data 64223\n", "use 61889\n", "companies 61447\n", "study 58246\n", "told 57231\n" ] }, { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", "
\n", "\n", "" ] }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "## The distribution of top unigrams for technology article after removing stop words\n" ], "metadata": { "id": "EUj94qt7fwQ8" } }, { "cell_type": "code", "source": [ "data_tech = data_tech_health[data_tech_health['tech_health_tag']=='technology']\n", "common_words = get_top_n_words(data_tech['article'], 25, 'english')\n", "for word, freq in common_words:\n", " print(word, freq)\n", "df1 = pd.DataFrame(common_words, columns = ['ArticleWord' , 'count'])\n", "df1.groupby('ArticleWord').sum()['count'].sort_values(ascending=False).plot.bar()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 976 }, "id": "DhEHXucvXaf7", "outputId": "259286a2-83ec-453b-b5c8-8c9744f8ee0b" }, "execution_count": 43, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "said 196930\n", "company 103870\n", "new 88415\n", "like 75975\n", "people 67400\n", "year 54580\n", "facebook 52901\n", "companies 50118\n", "data 46365\n", "time 44805\n", "just 44216\n", "apple 43290\n", "million 42103\n", "google 39642\n", "technology 39362\n", "years 36886\n", "billion 36323\n", "use 34937\n", "amazon 34818\n", "according 34442\n", "make 34291\n", "percent 34253\n", "told 33992\n", "users 33558\n", "business 29491\n" ] }, { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", "
\n", "\n", "" ] }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "## The distribution of top unigrams for health article after removing stop words" ], "metadata": { "id": "-8fg2LC5gh87" } }, { "cell_type": "code", "source": [ "data_health = data_tech_health[data_tech_health['tech_health_tag']=='health']\n", "common_words = get_top_n_words(data_health['article'], 25, 'english')\n", "for word, freq in common_words:\n", " print(word, freq)\n", "df1 = pd.DataFrame(common_words, columns = ['ArticleWord' , 'count'])\n", "df1.groupby('ArticleWord').sum()['count'].sort_values(ascending=False).plot.bar()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 976 }, "id": "9R9SORKxgA5r", "outputId": "dabede22-abd4-40a0-8435-5e5b0bedb33b" }, "execution_count": 44, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "said 202289\n", "people 93381\n", "health 92199\n", "new 59551\n", "study 49691\n", "like 47953\n", "reuters 47870\n", "says 46654\n", "company 45271\n", "patients 43098\n", "million 41199\n", "year 39497\n", "time 37129\n", "just 36304\n", "percent 34425\n", "drug 32606\n", "disease 32016\n", "years 31175\n", "according 30867\n", "women 30163\n", "medical 29956\n", "coverage 29808\n", "source 28869\n", "cases 28597\n", "care 28080\n" ] }, { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", "
\n", "\n", "" ] }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "## The distribution of top bigrams for technology articles after removing stop words\n", "\n", "\n" ], "metadata": { "id": "FCniAY7Qhp3O" } }, { "cell_type": "code", "source": [ "def get_top_n_bigram(corpus, n=None):\n", " vec = CountVectorizer(ngram_range=(2, 2), stop_words='english').fit(corpus)\n", " bag_of_words = vec.transform(corpus)\n", " sum_words = bag_of_words.sum(axis=0) \n", " words_freq = [(word, sum_words[0, idx]) for word, idx in vec.vocabulary_.items()]\n", " words_freq =sorted(words_freq, key = lambda x: x[1], reverse=True)\n", " return words_freq[:n]\n" ], "metadata": { "id": "QFwx-V00gzfh" }, "execution_count": 45, "outputs": [] }, { "cell_type": "code", "source": [ "common_words = get_top_n_bigram(data_tech['article'], 25)\n", "for word, freq in common_words:\n", " print(word, freq)\n", "df1 = pd.DataFrame(common_words, columns = ['ArticleWord' , 'count'])\n", "df1.groupby('ArticleWord').sum()['count'].sort_values(ascending=False).plot.bar()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 976 }, "id": "oMMy6ktQiUSO", "outputId": "2d191759-1918-427f-9c0a-f93903b583ba" }, "execution_count": 46, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "new york 13277\n", "united states 12400\n", "social media 9574\n", "chief executive 7421\n", "company said 7087\n", "said statement 7086\n", "san francisco 6745\n", "silicon valley 6236\n", "tech companies 5544\n", "artificial intelligence 4896\n", "years ago 4655\n", "told motherboard 4561\n", "told cnbc 4364\n", "declined comment 4233\n", "law enforcement 3988\n", "climate change 3842\n", "wall street 3691\n", "vice president 3613\n", "said company 3549\n", "earlier year 3447\n", "york times 3374\n", "told reuters 3276\n", "companies like 3206\n", "blog post 3043\n", "stories day 3024\n" ] }, { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", "
\n", "\n", "" ] }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "## The distribution of top bigrams for health articles after removing stop words" ], "metadata": { "id": "EdeAdgQtkWmB" } }, { "cell_type": "code", "source": [ "common_words = get_top_n_bigram(data_health['article'], 25)\n", "for word, freq in common_words:\n", " print(word, freq)\n", "df1 = pd.DataFrame(common_words, columns = ['ArticleWord' , 'count'])\n", "df1.groupby('ArticleWord').sum()['count'].sort_values(ascending=False).plot.bar()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 976 }, "id": "cYMgCa3Bit7I", "outputId": "0a13e5ac-84e9-49d7-b6d6-4dfdee5b6862" }, "execution_count": 47, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "company coverage 23200\n", "source text 22588\n", "text eikon 15082\n", "eikon company 14450\n", "united states 13418\n", "new york 10856\n", "public health 9662\n", "health care 7765\n", "said dr 7505\n", "said statement 6354\n", "mental health 6159\n", "disease control 5751\n", "centers disease 5444\n", "control prevention 5030\n", "food drug 4841\n", "new study 4757\n", "reuters health 4676\n", "drug administration 4648\n", "year ago 4597\n", "gdynia newsroom 4488\n", "health officials 4377\n", "world health 4028\n", "health organization 3744\n", "said email 3612\n", "health insurance 3487\n" ] }, { "output_type": "display_data", "data": { "text/html": [ "\n", "\n", "\n", "
\n", "
\n", "\n", "" ] }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "## Conclusions:\n", "\n", "- The above explanatory data analysis proof that we have enough data for both technology and health articles to implement topic modeling algorithm.\n", "\n", "- Even though 2020 has only covered 4 months data, it has the highest number of articles published related to health. The reason being COVID-19 pandamic.\n", "\n", "- The EDA shows that there are articles with few numbers of word counts, these needs to be cleaned as these articles might not have a complete sentence.\n", "\n", "- Reuters is the leading publisher when it come into health and technology articles" ], "metadata": { "id": "y3rvWHwgujZj" } }, { "cell_type": "markdown", "source": [ "# Data Lineage\n", "\n", "Our data was obtained from the two data sets on Kaggle.\n", "\n", "The first data set contains more than 2.5 million news articles and essays from 27 publications. The articles are from January 2016 to April 2020. This data set is located here:[ news articles data.](https://components.one/datasets/all-the-news-2-news-articles-dataset/\n", ")\n", "\n", "The second data set is a corpus for named entity recognition, also obtained from Kaggle. The data is located here :[NER corpus](https://www.kaggle.com/datasets/abhinavwalia95/entity-annotated-corpus)\n" ], "metadata": { "id": "N0ZYCjPHpjt_" } }, { "cell_type": "markdown", "source": [ "## Questions\n", "\n", "- We need some kind of guidance about to make a connection between NER application and Topic Modeling application. because the data given us is completely different.\n", "\n" ], "metadata": { "id": "Jg_kt-TOqZTO" } }, { "cell_type": "markdown", "source": [ "## Acknowledgements\n", "\n", "- The code get_top_n_bigram is adapted from [towardsdatascience](https://towardsdatascience.com/a-complete-exploratory-data-analysis-and-visualization-for-text-data-29fb1b96fb6a)" ], "metadata": { "id": "lw1wqV8C95xi" } } ] }