Skip to content
Snippets Groups Projects
data-exploration.ipynb 133 KiB
Newer Older
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "f5fd5a7e",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "\n",
    "from datetime import date\n",
    "from wordcloud import WordCloud \n",
    "\n",
    "from nltk.corpus import stopwords\n",
    "\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "03ed150e",
   "metadata": {},
   "outputs": [],
   "source": [
    "#!python -m spacy download en_core_web_sm"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1d4506a0",
   "metadata": {},
   "source": [
    "### Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "6efcb560",
   "metadata": {},
   "outputs": [
    {
     "ename": "FileNotFoundError",
     "evalue": "[Errno 2] No such file or directory: '../data/tamedia_for_classifier_v4_preproc.csv'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[11], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m df \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_csv\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m../data/tamedia_for_classifier_v4_preproc.csv\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/io/parsers/readers.py:912\u001b[0m, in \u001b[0;36mread_csv\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, date_format, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options, dtype_backend)\u001b[0m\n\u001b[1;32m    899\u001b[0m kwds_defaults \u001b[38;5;241m=\u001b[39m _refine_defaults_read(\n\u001b[1;32m    900\u001b[0m     dialect,\n\u001b[1;32m    901\u001b[0m     delimiter,\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m    908\u001b[0m     dtype_backend\u001b[38;5;241m=\u001b[39mdtype_backend,\n\u001b[1;32m    909\u001b[0m )\n\u001b[1;32m    910\u001b[0m kwds\u001b[38;5;241m.\u001b[39mupdate(kwds_defaults)\n\u001b[0;32m--> 912\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_read\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilepath_or_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/io/parsers/readers.py:577\u001b[0m, in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m    574\u001b[0m _validate_names(kwds\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnames\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m))\n\u001b[1;32m    576\u001b[0m \u001b[38;5;66;03m# Create the parser.\u001b[39;00m\n\u001b[0;32m--> 577\u001b[0m parser \u001b[38;5;241m=\u001b[39m \u001b[43mTextFileReader\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilepath_or_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    579\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m chunksize \u001b[38;5;129;01mor\u001b[39;00m iterator:\n\u001b[1;32m    580\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m parser\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/io/parsers/readers.py:1407\u001b[0m, in \u001b[0;36mTextFileReader.__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m   1404\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptions[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhas_index_names\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m kwds[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhas_index_names\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m   1406\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles: IOHandles \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m-> 1407\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_engine \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_engine\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mengine\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/io/parsers/readers.py:1661\u001b[0m, in \u001b[0;36mTextFileReader._make_engine\u001b[0;34m(self, f, engine)\u001b[0m\n\u001b[1;32m   1659\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m mode:\n\u001b[1;32m   1660\u001b[0m         mode \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m-> 1661\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles \u001b[38;5;241m=\u001b[39m \u001b[43mget_handle\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m   1662\u001b[0m \u001b[43m    \u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   1663\u001b[0m \u001b[43m    \u001b[49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   1664\u001b[0m \u001b[43m    \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mencoding\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   1665\u001b[0m \u001b[43m    \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcompression\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   1666\u001b[0m \u001b[43m    \u001b[49m\u001b[43mmemory_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmemory_map\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   1667\u001b[0m \u001b[43m    \u001b[49m\u001b[43mis_text\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_text\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   1668\u001b[0m \u001b[43m    \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mencoding_errors\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstrict\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   1669\u001b[0m \u001b[43m    \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstorage_options\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   1670\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m   1671\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m   1672\u001b[0m f \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles\u001b[38;5;241m.\u001b[39mhandle\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/io/common.py:859\u001b[0m, in \u001b[0;36mget_handle\u001b[0;34m(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)\u001b[0m\n\u001b[1;32m    854\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(handle, \u001b[38;5;28mstr\u001b[39m):\n\u001b[1;32m    855\u001b[0m     \u001b[38;5;66;03m# Check whether the filename is to be opened in binary mode.\u001b[39;00m\n\u001b[1;32m    856\u001b[0m     \u001b[38;5;66;03m# Binary mode does not support 'encoding' and 'newline'.\u001b[39;00m\n\u001b[1;32m    857\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m ioargs\u001b[38;5;241m.\u001b[39mencoding \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m ioargs\u001b[38;5;241m.\u001b[39mmode:\n\u001b[1;32m    858\u001b[0m         \u001b[38;5;66;03m# Encoding\u001b[39;00m\n\u001b[0;32m--> 859\u001b[0m         handle \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[1;32m    860\u001b[0m \u001b[43m            \u001b[49m\u001b[43mhandle\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    861\u001b[0m \u001b[43m            \u001b[49m\u001b[43mioargs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    862\u001b[0m \u001b[43m            \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mioargs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    863\u001b[0m \u001b[43m            \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43merrors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    864\u001b[0m \u001b[43m            \u001b[49m\u001b[43mnewline\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m    865\u001b[0m \u001b[43m        \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    866\u001b[0m     \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m    867\u001b[0m         \u001b[38;5;66;03m# Binary mode\u001b[39;00m\n\u001b[1;32m    868\u001b[0m         handle \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mopen\u001b[39m(handle, ioargs\u001b[38;5;241m.\u001b[39mmode)\n",
      "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '../data/tamedia_for_classifier_v4_preproc.csv'"
     ]
    }
   ],
    "df = pd.read_csv('../data/tamedia_for_classifier_v4_preproc.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4bd7bf1c",
   "metadata": {},
   "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>ID</th>\n",
       "      <th>createdAt</th>\n",
       "      <th>text</th>\n",
       "      <th>rejected</th>\n",
       "      <th>state</th>\n",
       "      <th>originTenantId</th>\n",
       "      <th>replyTo</th>\n",
       "      <th>asset.risk</th>\n",
       "      <th>topic</th>\n",
       "      <th>hsprob</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5fee66486ef49d0033d97e4c</td>\n",
       "      <td>2021-01-01T00:01:12Z</td>\n",
       "      <td>Hat schon welche, möchte aber lieber nicht erw...</td>\n",
       "      <td>1</td>\n",
       "      <td>rejected</td>\n",
       "      <td>tagesanzeiger</td>\n",
       "      <td>5f537bbdd2abdd0032ec12ad</td>\n",
       "      <td>high</td>\n",
       "      <td>Zürich</td>\n",
       "      <td>0.051257</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5fee66b7e9b26b00322cc53e</td>\n",
       "      <td>2021-01-01T00:03:03Z</td>\n",
       "      <td>Wieso nicht? Absolut kein Argument.</td>\n",
       "      <td>1</td>\n",
       "      <td>rejected</td>\n",
       "      <td>tagesanzeiger</td>\n",
       "      <td>NaN</td>\n",
       "      <td>high</td>\n",
       "      <td>Bundeshaus</td>\n",
       "      <td>0.012496</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5fee66bfe9b26b00322cc543</td>\n",
       "      <td>2021-01-01T00:03:11Z</td>\n",
       "      <td>Eine Impfung kostet vergleichsweise wenig. Und...</td>\n",
       "      <td>0</td>\n",
       "      <td>approved</td>\n",
       "      <td>derbund</td>\n",
       "      <td>5fee4bccb3aa6d0032c3c1f0</td>\n",
       "      <td>high</td>\n",
       "      <td>Bundeshaus</td>\n",
       "      <td>0.027282</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5fee66dca0dd250033ef02ea</td>\n",
       "      <td>2021-01-01T00:03:40Z</td>\n",
       "      <td>Sind Sie einfach nur etwas einfach oder hochgr...</td>\n",
       "      <td>0</td>\n",
       "      <td>approved</td>\n",
       "      <td>tagesanzeiger</td>\n",
       "      <td>5fee1998e9b26b00322caaad</td>\n",
       "      <td>low</td>\n",
       "      <td>Meinungen</td>\n",
       "      <td>0.020309</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5fee66ec6ef49d0033d97e7e</td>\n",
       "      <td>2021-01-01T00:03:56Z</td>\n",
       "      <td>Hä??? Von welchem Paralleluniversum ist hier m...</td>\n",
       "      <td>1</td>\n",
       "      <td>rejected</td>\n",
       "      <td>tagesanzeiger</td>\n",
       "      <td>5fedfcbdf31d260033d38738</td>\n",
       "      <td>low</td>\n",
       "      <td>Schweiz</td>\n",
       "      <td>0.018285</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         ID             createdAt   \n",
       "0  5fee66486ef49d0033d97e4c  2021-01-01T00:01:12Z  \\\n",
       "1  5fee66b7e9b26b00322cc53e  2021-01-01T00:03:03Z   \n",
       "2  5fee66bfe9b26b00322cc543  2021-01-01T00:03:11Z   \n",
       "3  5fee66dca0dd250033ef02ea  2021-01-01T00:03:40Z   \n",
       "4  5fee66ec6ef49d0033d97e7e  2021-01-01T00:03:56Z   \n",
       "\n",
       "                                                text  rejected     state   \n",
       "0  Hat schon welche, möchte aber lieber nicht erw...         1  rejected  \\\n",
       "1                Wieso nicht? Absolut kein Argument.         1  rejected   \n",
       "2  Eine Impfung kostet vergleichsweise wenig. Und...         0  approved   \n",
       "3  Sind Sie einfach nur etwas einfach oder hochgr...         0  approved   \n",
       "4  Hä??? Von welchem Paralleluniversum ist hier m...         1  rejected   \n",
       "\n",
       "  originTenantId                   replyTo asset.risk       topic    hsprob  \n",
       "0  tagesanzeiger  5f537bbdd2abdd0032ec12ad       high      Zürich  0.051257  \n",
       "1  tagesanzeiger                       NaN       high  Bundeshaus  0.012496  \n",
       "2        derbund  5fee4bccb3aa6d0032c3c1f0       high  Bundeshaus  0.027282  \n",
       "3  tagesanzeiger  5fee1998e9b26b00322caaad        low   Meinungen  0.020309  \n",
       "4  tagesanzeiger  5fedfcbdf31d260033d38738        low     Schweiz  0.018285  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1763a7a3",
   "metadata": {},
   "source": [
    "### Text"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce3aecf4",
   "metadata": {},
   "source": [
    "#### Language"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a002db9f",
   "metadata": {},
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "'language'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/core/indexes/base.py:3652\u001b[0m, in \u001b[0;36mIndex.get_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m   3651\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 3652\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_engine\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcasted_key\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m   3653\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/_libs/index.pyx:147\u001b[0m, in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/_libs/index.pyx:176\u001b[0m, in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
      "File \u001b[0;32mpandas/_libs/hashtable_class_helper.pxi:7080\u001b[0m, in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "File \u001b[0;32mpandas/_libs/hashtable_class_helper.pxi:7088\u001b[0m, in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: 'language'",
      "\nThe above exception was the direct cause of the following exception:\n",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[5], line 2\u001b[0m\n\u001b[1;32m      1\u001b[0m fig, axes \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39msubplots(\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m1\u001b[39m, figsize\u001b[38;5;241m=\u001b[39m(\u001b[38;5;241m10\u001b[39m,\u001b[38;5;241m5\u001b[39m))\n\u001b[0;32m----> 2\u001b[0m sns\u001b[38;5;241m.\u001b[39mhistplot(\u001b[43mdf\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mlanguage\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m)\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/core/frame.py:3761\u001b[0m, in \u001b[0;36mDataFrame.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m   3759\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcolumns\u001b[38;5;241m.\u001b[39mnlevels \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[1;32m   3760\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_getitem_multilevel(key)\n\u001b[0;32m-> 3761\u001b[0m indexer \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m   3762\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_integer(indexer):\n\u001b[1;32m   3763\u001b[0m     indexer \u001b[38;5;241m=\u001b[39m [indexer]\n",
      "File \u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/core/indexes/base.py:3654\u001b[0m, in \u001b[0;36mIndex.get_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m   3652\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_engine\u001b[38;5;241m.\u001b[39mget_loc(casted_key)\n\u001b[1;32m   3653\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[0;32m-> 3654\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(key) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01merr\u001b[39;00m\n\u001b[1;32m   3655\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m:\n\u001b[1;32m   3656\u001b[0m     \u001b[38;5;66;03m# If we have a listlike key, _check_indexing_error will raise\u001b[39;00m\n\u001b[1;32m   3657\u001b[0m     \u001b[38;5;66;03m#  InvalidIndexError. Otherwise we fall through and re-raise\u001b[39;00m\n\u001b[1;32m   3658\u001b[0m     \u001b[38;5;66;03m#  the TypeError.\u001b[39;00m\n\u001b[1;32m   3659\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_indexing_error(key)\n",
      "\u001b[0;31mKeyError\u001b[0m: 'language'"
     ]
      "image/png": "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3bF48eKIiFi4cGFMmzYtGhsbIyJi7ty5cd9998X5558fVVVV8frrr8edd94Zc+fO7Y8jAACAsZJ3FNXV1cW+ffti+fLl0d7eHjNnzozm5ub+D1/YvXv3gDtDd9xxRxQUFMQdd9wRb731VnziE5+IuXPnxk9+8pPhexUAAABDVJCNg/ewdXV1RVlZWXR2dkZpaelYbwcAABgjI9EGI/7pcwAAAB9loggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASNqQoqipqSmmT58eJSUlUVVVFZs2bfrA+e+8804sWbIkpkyZErlcLs4888zYsGHDkDYMAAAwnCbku2DdunVRX18fq1evjqqqqli1alXU1tbGjh07YvLkyYfN7+npia9+9asxefLkeOKJJ2LatGnx5ptvximnnDIc+wcAADgmBVmWZfksqKqqigsuuCDuv//+iIjo6+uLysrKuPHGG2Pp0qWHzV+9enX8/Oc/j+3bt8cJJ5wwpE12dXVFWVlZdHZ2Rmlp6ZCeAwAAGP9Gog3yevtcT09PbN68OWpqav77BIWFUVNTE62trYOueeaZZ6K6ujqWLFkS5eXlcc4558SKFSuit7f3iNc5ePBgdHV1DXgAAACMhLyiaP/+/dHb2xvl5eUDxsvLy6O9vX3QNTt37ownnngient7Y8OGDXHnnXfGvffeGz/+8Y+PeJ3GxsYoKyvrf1RWVuazTQAAgKM24p8+19fXF5MnT44HH3wwZs2aFXV1dXH77bfH6tWrj7hm2bJl0dnZ2f/Ys2fPSG8TAABIVF4ftDBp0qQoKiqKjo6OAeMdHR1RUVEx6JopU6bECSecEEVFRf1jn/vc56K9vT16enqiuLj4sDW5XC5yuVw+WwMAABiSvO4UFRcXx6xZs6KlpaV/rK+vL1paWqK6unrQNRdddFG8/vrr0dfX1z/22muvxZQpUwYNIgAAgNGU99vn6uvrY82aNfHrX/86tm3bFt/5zneiu7s7Fi9eHBERCxcujGXLlvXP/853vhN///vf46abborXXnst1q9fHytWrIglS5YM36sAAAAYory/p6iuri727dsXy5cvj/b29pg5c2Y0Nzf3f/jC7t27o7Dwv61VWVkZzz33XNxyyy1x3nnnxbRp0+Kmm26KW2+9dfheBQAAwBDl/T1FY8H3FAEAABEfge8pAgAAON6IIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaUOKoqamppg+fXqUlJREVVVVbNq06ajWrV27NgoKCmLevHlDuSwAAMCwyzuK1q1bF/X19dHQ0BBbtmyJGTNmRG1tbezdu/cD1+3atSu+973vxcUXXzzkzQIAAAy3vKPovvvui29961uxePHi+PznPx+rV6+Ok046KR555JEjrunt7Y2rr7467rrrrjj99NOPacMAAADDKa8o6unpic2bN0dNTc1/n6CwMGpqaqK1tfWI6370ox/F5MmT45prrjmq6xw8eDC6uroGPAAAAEZCXlG0f//+6O3tjfLy8gHj5eXl0d7ePuiaP/zhD/Hwww/HmjVrjvo6jY2NUVZW1v+orKzMZ5sAAABHbUQ/fe7AgQOxYMGCWLNmTUyaNOmo1y1btiw6Ozv7H3v27BnBXQIAACmbkM/kSZMmRVFRUXR0dAwY7+joiIqKisPm//Wvf41du3bF3Llz+8f6+vr+c+EJE2LHjh1xxhlnHLYul8tFLpfLZ2sAAABDktedouLi4pg1a1a0tLT0j/X19UVLS0tUV1cfNv/ss8+OV155Jdra2vofV1xxRVx66aXR1tbmbXEAAMCYy+tOUUREfX19LFq0KGbPnh1z5syJVatWRXd3dyxevDgiIhYuXBjTpk2LxsbGKCkpiXPOOWfA+lNOOSUi4rBxAACAsZB3FNXV1cW+ffti+fLl0d7eHjNnzozm5ub+D1/YvXt3FBaO6K8qAQAADJuCLMuysd7Eh+nq6oqysrLo7OyM0tLSsd4OAAAwRkaiDdzSAQAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASJooAgAAkiaKAACApIkiAAAgaaIIAABImigCAACSJooAAICkDSmKmpqaYvr06VFSUhJVVVWxadOmI85ds2ZNXHzxxTFx4sSYOHFi1NTUfOB8AACA0ZR3FK1bty7q6+ujoaEhtmzZEjNmzIja2trYu3fvoPM3btwY8+fPjxdffDFaW1ujsrIyLrvssnjrrbeOefMAAADHqiDLsiyfBVVVVXHBBRfE/fff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8ZnPfCYeffTRvK/7kYiidevWRX19fTQ0NMSWLVtixowZUVtbG3v37h10/ssvvxzz58+Pa665JrZu3Rrz5s2LefPmxauvvjrKO2e8yfesbdy4MebPnx8vvvhitLa2RmVlZVx22WXx1ltvjfLOGW/yPWvv27VrV3zve9+Liy++eJR2yniX71nr6emJr371q7Fr16544oknYseOHbFmzZqYNm3aKO+c8Sbfs/bYY4/F0qVLo6GhIbZt2xYPP/xwrFu3Lm677bZR3jnjSXd3d8yYMSOampqOav4bb7wRl19+eVx66aXR1tYWN998c1x77bXx3HPP5Xfh7CNgzpw52ZIlS/p/7u3tzaZOnZo1NjYOOv/KK6/MLr/88gFjVVVV2be//e0R3SfjX75n7X8dOnQoO/nkk7Nf//rXI7VFjhNDOWuHDh3KLrzwwuyhhx7KFi1alH39618fhZ0y3uV71n75y19mp59+etbT0zNaW+Q4ke9ZW7JkSfaVr3xlwFh9fX120UUXjeg+OX5ERPbUU0994Jwf/OAH2Re+8IUBY3V1dVltbW1e1xrzO0U9PT2xefPmqKmp6R8rLCyMmpqaaG1tHXRNa2vrgPkREbW1tUecDxFDO2v/691334333nsvTj311JHaJseBoZ61H/3oRzF58uS45pprRmObHAeGctaeeeaZqK6ujiVLlkR5eXmcc845sWLFiujt7R2tbTMODeWsXXjhhbF58+b+t9jt3LkzNmzYEF/72tdGZc+kYbi6YMJwbmoo9u/fH729vVFeXj5gvLy8PLZv3z7omvb29kHnt7e3j9g+Gf+Gctb+16233hpTp0497B8++P+Gctb+8Ic/xMMPPxxtbW2jsEOOF0M5azt37ozf//73cfXVV8eGDRvi9ddfjxtuuCHee++9aGhoGI1tMw4N5axdddVVsX///vjyl78cWZbFoUOH4vrrr/f2OYbVkbqgq6sr/vWvf8WJJ554VM8z5neKYLxYuXJlrF27Np566qkoKSkZ6+1wHDlw4EAsWLAg1qxZE5MmTRrr7XCc6+vri8mTJ8eDDz4Ys2bNirq6urj99ttj9erVY701jjMbN26MFStWxAMPPBBbtmyJJ598MtavXx933333WG8NDjPmd4omTZoURUVF0dHRMWC8o6MjKioqBl1TUVGR13yIGNpZe98999wTK1eujBdeeCHOO++8kdwmx4F8z9pf//rX2LVrV8ydO7d/rK+vLyIiJkyYEDt27IgzzjhjZDfNuDSUP9emTJkSJ5xwQhQVFfWPfe5zn4v29vbo6emJ4uLiEd0z49NQztqdd94ZCxYsiGuvvTYiIs4999zo7u6O6667Lm6//fYoLPT/5jl2R+qC0tLSo75LFPERuFNUXFwcs2bNipaWlv6xvr6+aGlpierq6kHXVFdXD5gfEfH8888fcT5EDO2sRUT87Gc/i7vvvjuam5tj9uzZo7FVxrl8z9rZZ58dr7zySrS1tfU/rrjiiv5P0qmsrBzN7TOODOXPtYsuuihef/31/vCOiHjttddiypQpgogjGspZe/fddw8Ln/dj/D+/Qw/Hbti6IL/PgBgZa9euzXK5XPboo49mf/nLX7LrrrsuO+WUU7L29vYsy7JswYIF2dKlS/vn//GPf8wmTJiQ3XPPPdm2bduyhoaG7IQTTsheeeWVsXoJjBP5nrWVK1dmxcXF2RNPPJG9/fbb/Y8DBw6M1UtgnMj3rP0vnz7H0cr3rO3evTs7+eSTs+9+97vZjh07smeffTabPHly9uMf/3isXgLjRL5nraGhITv55JOz3/zmN9nOnTuz3/3ud9kZZ5yRXXnllWP1EhgHDhw4kG3dujXbunVrFhHZfffdl23dujV78803syzLsqVLl2YLFizon79z587spJNOyr7//e9n27Zty5qamrKioqKsubk5r+t+JKIoy7LsF7/4RXbaaadlxcXF2Zw5c7I//elP/X/tkksuyRYtWjRg/uOPP56deeaZWXFxcfaFL3whW79+/SjvmPEqn7P2qU99KouIwx4NDQ2jv3HGnXz/XPv/RBH5yPesvfzyy1lVVVWWy+Wy008/PfvJT36SHTp0aJR3zXiUz1l77733sh/+8IfZGWeckZWUlGSVlZXZDTfckP3jH/8Y/Y0zbrz44ouD/rfX+2dr0aJF2SWXXHLYmpkzZ2bFxcXZ6aefnv3qV7/K+7oFWeb+JQAAkK4x/50iAACAsSSKAACApIkiAAAgaaIIAABImigCAACSJooAAICkiSIAACBpoggAAEiaKAIAAJImigAAgKSJIgAAIGmiCAAASNr/AUOP/hLIsQ49AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 1, figsize=(10,5))\n",
    "sns.histplot(df['language'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a0fddd0b",
   "metadata": {},
   "source": [
    "#### Text examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "3bbbe6f6",
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'DataFrame' object has no attribute 'language'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m/var/folders/bn/hrm9f3gs76z5zb1bxxc4g_s00000gn/T/ipykernel_92361/1030998729.py\u001b[0m in \u001b[0;36m?\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf_rejected_de\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlanguage\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'de'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrejected\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mdf_accepted_de\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlanguage\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'de'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrejected\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Rejected comments:'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m   5985\u001b[0m             \u001b[0;32mand\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_accessors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   5986\u001b[0m             \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   5987\u001b[0m         ):\n\u001b[1;32m   5988\u001b[0m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5989\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'language'"
     ]
    }
   ],
   "source": [
    "df_rejected_de = df[(df.language == 'de') & (df.rejected == True)]\n",
    "df_accepted_de = df[(df.language == 'de') & (df.rejected == False)]\n",
    "\n",
    "print('Rejected comments:')\n",
    "for c in df_rejected_de.text.sample(3):\n",
    "    print(c)\n",
    "    print('\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "173770c7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accepted comments:\n"
     ]
    },
    {
     "ename": "NameError",
     "evalue": "name 'df_accepted_de' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[8], line 2\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mAccepted comments:\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m c \u001b[38;5;129;01min\u001b[39;00m \u001b[43mdf_accepted_de\u001b[49m\u001b[38;5;241m.\u001b[39mtext\u001b[38;5;241m.\u001b[39msample(\u001b[38;5;241m3\u001b[39m):\n\u001b[1;32m      3\u001b[0m     \u001b[38;5;28mprint\u001b[39m(c)\n\u001b[1;32m      4\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m'\u001b[39m)\n",
      "\u001b[0;31mNameError\u001b[0m: name 'df_accepted_de' is not defined"
     ]
    }
   ],
   "source": [
    "print('Accepted comments:')\n",
    "for c in df_accepted_de.text.sample(3):\n",
    "    print(c)\n",
    "    print('\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5d640930",
   "metadata": {},
   "source": [
    "#### Word cloud"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "078ad528",
   "metadata": {},
   "outputs": [],
   "source": [
    "german_stop_words = stopwords.words('german')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "484f790d",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'df_accepted_de' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[10], line 2\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;66;03m# Create and generate a word cloud image:\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m text_de_accepted \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(\u001b[43mdf_accepted_de\u001b[49m\u001b[38;5;241m.\u001b[39mtext)\n\u001b[1;32m      3\u001b[0m wordcloud \u001b[38;5;241m=\u001b[39m WordCloud(stopwords\u001b[38;5;241m=\u001b[39mgerman_stop_words)\u001b[38;5;241m.\u001b[39mgenerate(text_de_accepted)\n\u001b[1;32m      5\u001b[0m \u001b[38;5;66;03m# Display the generated image:\u001b[39;00m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'df_accepted_de' is not defined"
     ]
    }
   ],
   "source": [
    "# Create and generate a word cloud image:\n",
    "text_de_accepted = ' '.join(df_accepted_de.text)\n",
    "wordcloud = WordCloud(stopwords=german_stop_words).generate(text_de_accepted)\n",
    "\n",
    "# Display the generated image:\n",
    "plt.imshow(wordcloud, interpolation='bilinear')\n",
    "plt.axis(\"off\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5cc400e0",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create and generate a word cloud image:\n",
    "text_de_rejected = ' '.join(df_rejected_de.text)\n",
    "wordcloud = WordCloud(stopwords=german_stop_words).generate(text_de_rejected)\n",
    "\n",
    "# Display the generated image:\n",
    "plt.imshow(wordcloud, interpolation='bilinear')\n",
    "plt.axis(\"off\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9489615c",
   "metadata": {},
   "source": [
    "#### Number of words per sentence"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "58e91383",
   "metadata": {},
   "outputs": [],
   "source": [
    "words_per_sent_rejected = [len(comm.split()) for comm in df_rejected_de.text]\n",
    "words_per_sent_accepted = [len(comm.split()) for comm in df_accepted_de.text]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "00cc3793",
   "metadata": {},
   "outputs": [],
   "source": [
    "fig, axes = plt.subplots(1, 2, figsize=(10,5))\n",
    "fig.suptitle('Number of words per sentence')\n",
    "sns.histplot(ax=axes[0], x=words_per_sent_rejected).set(title='rejected', xlim=(0,400))\n",
    "sns.histplot(ax=axes[1], x=words_per_sent_accepted).set(title='accepted', xlim=(0,400))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e864b48d",
   "metadata": {},
   "source": [
    "### Moderation result (per language)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "974e3104",
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'DataFrame' object has no attribute 'language'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m/var/folders/bn/hrm9f3gs76z5zb1bxxc4g_s00000gn/T/ipykernel_92361/38630575.py\u001b[0m in \u001b[0;36m?\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhistplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlanguage\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0;34m'de'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrejected\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'German comments'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m~/Documents/public_policy/pp_env/lib/python3.10/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m   5985\u001b[0m             \u001b[0;32mand\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_accessors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   5986\u001b[0m             \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   5987\u001b[0m         ):\n\u001b[1;32m   5988\u001b[0m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5989\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'language'"
     ]
    }
   ],
   "source": [
    "sns.histplot(df[df.language=='de'].rejected).set(title='German comments')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "5f0d883e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 1.0, 'French comments')]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlUAAAHHCAYAAACWQK1nAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8gElEQVR4nO3deVhV5f7//xegDCobHEES5xxzOGISlZpGoqnfTLvUBkNzaABLKU3THDtRVqYV5alOYic9lueUlZpGmFpKmhg5pBw1i0pBTWE7ArLX748+rJ87cIBuQfT5uK51Xay13ute731r7ldrr73wsCzLEgAAAP4Sz/JuAAAA4EpAqAIAADCAUAUAAGAAoQoAAMAAQhUAAIABhCoAAAADCFUAAAAGEKoAAAAMIFQBAAAYQKgCcMVq2LCh+vTpU95tALhKEKoAXJTExER5eHgUu0yYMKG820M5WLFihaZNm1bebQCXjUrl3QCAimXGjBlq1KiR27brrruunLpBeVqxYoUSEhIIVsD/IVQBKJFevXqpY8eOF1V7+vRpeXt7y9OTi+IArnz8SwfAiDVr1sjDw0OLFy/W5MmTdc0116hKlSpyOp2SpI0bN6pnz54KCAhQlSpV1LVrV61fv95tjGnTpsnDw0N79uzR0KFDFRgYqICAAA0bNkwnT54scs733ntPnTp1UpUqVVS9enV16dJFn3/+eZG6r7/+Wp06dZKvr68aN26sd99996Jek8vl0ty5c9WmTRv5+vqqdu3a6tmzpzZv3mzXnDlzRjNnzlSTJk3k4+Ojhg0b6qmnnlJubq7bWIX3d61Zs0YdO3aUn5+f2rRpozVr1kiSPvzwQ/s8YWFh+u6779yOHzp0qKpVq6aMjAz16dNH1apV0zXXXKOEhARJ0rZt29S9e3dVrVpVDRo00KJFi4q8nuzsbI0ZM0ahoaHy8fFR06ZN9fzzz8vlctk1P/30kzw8PPTiiy/qzTfftF/X9ddfr2+//datn8Jzn/1RcKHFixcrLCxM/v7+cjgcatOmjebOnXtR8w5UVIQqACWSk5Ojw4cPuy1nmzlzppYvX64nnnhCzz77rLy9vbV69Wp16dJFTqdTU6dO1bPPPqvs7Gx1795dmzZtKnKOgQMH6tixY4qPj9fAgQOVmJio6dOnu9VMnz5dQ4YMUeXKlTVjxgxNnz5doaGhWr16tVvdnj17dNddd+m2227TSy+9pOrVq2vo0KHasWPHBV/r8OHD7RDy/PPPa8KECfL19dU333xj14wYMUJTpkxRhw4d9PLLL6tr166Kj4/X4MGDi4y3Z88e3XPPPerbt6/i4+N19OhR9e3bVwsXLtTYsWN13333afr06dq7d68GDhzoFnYkqaCgQL169VJoaKhmzZqlhg0bKjY2VomJierZs6c6duyo559/Xv7+/rr//vu1b98++9iTJ0+qa9eueu+993T//ffrlVde0U033aSJEycqLi6uSK+LFi3SCy+8oAcffFDPPPOMfvrpJ/Xv31/5+fmSpAcffFC33XabJOlf//qXvUhSUlKS7r77blWvXl3PP/+8nnvuOd1yyy1FQjRwxbEA4CLMnz/fklTsYlmW9eWXX1qSrMaNG1snT560j3O5XNa1115rRUVFWS6Xy95+8uRJq1GjRtZtt91mb5s6daolyXrggQfczn3nnXdaNWvWtNd3795teXp6WnfeeadVUFDgVnv2ORo0aGBJstatW2dvO3jwoOXj42M9/vjj5329q1evtiRZjz76aJF9hedIS0uzJFkjRoxw2//EE09YkqzVq1cX6WXDhg32tlWrVlmSLD8/P+vnn3+2t//jH/+wJFlffvmlvS06OtqSZD377LP2tqNHj1p+fn6Wh4eHtXjxYnv7rl27LEnW1KlT7W0zZ860qlatav3vf/9z63XChAmWl5eXlZGRYVmWZe3bt8+SZNWsWdM6cuSIXffxxx9bkqxPP/3U3hYTE2MV9zby2GOPWQ6Hwzpz5kyRfcCVjCtVAEokISFBSUlJbsvZoqOj5efnZ6+npaVp9+7duueee/T777/bV7dOnDihW2+9VevWrStyReahhx5yW+/cubN+//13+6PEpUuXyuVyacqUKUXu1zr7IyhJatWqlTp37myv165dW82bN9ePP/543tf53//+Vx4eHpo6dWqRfYXnWLFihSQVudLz+OOPS5KWL19epJeIiAh7PTw8XJLUvXt31a9fv8j24nocMWKE/XNgYKCaN2+uqlWrauDAgfb25s2bKzAw0O34JUuWqHPnzqpevbrbVcbIyEgVFBRo3bp1bucZNGiQqlevbq8XzuGF5q2wrxMnThT5uwFc6bhRHUCJdOrU6bw3qv/5m4G7d++W9EfYOpecnBy3N/CzA4Yke9/Ro0flcDi0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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.histplot(df[df.language=='fr'].rejected).set(title='French comments')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "afc470b0",
   "metadata": {},
   "source": [
    "### Distribution over the year"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "d7591d09",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkwAAAGwCAYAAABb3Do8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABP4ElEQVR4nO3deXQUVcI28KdDkk5I6A4g6RAJEEUlUQQBB1odZImJGBlRZhwEgZFNMKAQB5BPZFVRFBA1wqiY4EiGZQZcQMEQBETCFgOyKxoNIySMQrrZst/vD98u02Sp3quq+/md0+eQrpuqW5dO1dO3bt3SCSEEiIiIiKhBQUpXgIiIiEjtGJiIiIiIZDAwEREREclgYCIiIiKSwcBEREREJIOBiYiIiEgGAxMRERGRjGClK6AFNTU1OH36NJo1awadTqd0dYiIiMgBQghcuHABsbGxCApyr4+IgckBp0+fRlxcnNLVICIiIhecOnUKbdq0cWsdDEwOaNasGYDfGtxgMChcGyIiInKE1WpFXFycdB53BwOTA2yX4QwGAwMTERGRxnhiOA0HfRMRERHJYGAiIiIiksHARERERCRD0cBUXV2N5557DvHx8QgPD8f111+PefPmQQghlRFCYObMmWjdujXCw8ORlJSE7777zm49586dw9ChQ2EwGBAVFYVRo0bh4sWLdmW++eYb/PGPf0RYWBji4uKwYMECn+wjERERaZ+igenll1/G0qVL8eabb+LYsWN4+eWXsWDBArzxxhtSmQULFuD111/HsmXLsGfPHkRERCAlJQVlZWVSmaFDh+LIkSPIycnBhg0bsGPHDowdO1ZabrVakZycjHbt2iE/Px+vvPIKZs+ejbffftun+0tERETapBO1u3N87P7774fJZMLy5cul9wYNGoTw8HB88MEHEEIgNjYWTz/9NP7+978DACwWC0wmE7KysjB48GAcO3YMiYmJ2LdvH7p37w4A2LRpE+677z7897//RWxsLJYuXYpnn30WxcXFCA0NBQA888wz+PDDD3H8+HHZelqtVhiNRlgsFt4lR0REpBGePH8r2sN0xx13IDc3F99++y0A4ODBg9i5cyf69+8PACgsLERxcTGSkpKk3zEajejRowfy8vIAAHl5eYiKipLCEgAkJSUhKCgIe/bskcr06tVLCksAkJKSghMnTuD8+fN16lVeXg6r1Wr3IiIiosCl6DxMzzzzDKxWKzp27IgmTZqguroaL7zwAoYOHQoAKC4uBgCYTCa73zOZTNKy4uJiREdH2y0PDg5GixYt7MrEx8fXWYdtWfPmze2WzZ8/H3PmzPHQXhIREZHWKdrDtGbNGqxcuRLZ2dn4+uuvsWLFCrz66qtYsWKFktXC9OnTYbFYpNepU6cUrQ8REREpS9EepilTpuCZZ57B4MGDAQCdOnXCTz/9hPnz52PEiBGIiYkBAJSUlKB169bS75WUlKBLly4AgJiYGJw9e9ZuvVVVVTh37pz0+zExMSgpKbErY/vZVqY2vV4PvV7vmZ0kIiIizVO0h+ny5ct1nh7cpEkT1NTUAADi4+MRExOD3NxcabnVasWePXtgNpsBAGazGaWlpcjPz5fKbN26FTU1NejRo4dUZseOHaisrJTK5OTk4KabbqpzOY6IiIjoaooGpgEDBuCFF17Axo0b8eOPP2L9+vVYtGgRHnzwQQC/Pftl0qRJeP755/Hxxx/j0KFDGD58OGJjYzFw4EAAQEJCAu69916MGTMGe/fuxVdffYUJEyZg8ODBiI2NBQAMGTIEoaGhGDVqFI4cOYLVq1djyZIlSE9PV2rXiYiISEuEgqxWq3jqqadE27ZtRVhYmLjuuuvEs88+K8rLy6UyNTU14rnnnhMmk0no9XrRr18/ceLECbv1/Prrr+KRRx4RkZGRwmAwiMcee0xcuHDBrszBgwfFXXfdJfR6vbj22mvFSy+95HA9LRaLACAsFot7O0xEREQ+48nzt6LzMGkF52EiIiLSHr+Zh4mIiPyPEAKlpaXg93HyJwxMRETkURaLBYMXfQKLxaJ0VYg8hoGJiIg8LiQsQukqEHkUAxMRERGRDAYmIiIiIhkMTEREREQyGJiIiIiIZDAwEREREclgYCIiIiKSwcBEREREJIOBiYiIiEgGAxMRERGRDAYmIiIiIhkMTEREREQygpWuABERqYMQQnpgrtFohE6nU7hGROrBHiYiIgIAWCwWDFu6FcOWbpWCExH9hoGJiIgkIeGRCAmPdHs9tt4qIYQHakWkPAYmIiLyuKqyyxj99hfsqSK/wcBEREReERzWVOkqUAOEECgtLWUPoBMYmIiIiAKMxWLB4EWfsAfQCQxMREREASgkLELpKmgKAxMRERGRDAYmIiIiIhkMTEREREQyGJiIiIiIZDAwEREREclgYCIiIiKSwYfvEhERkYQPYa4fe5iIiIhIwocw1489TERERGTHEw9g9jfsYSIiIiKSwcBEREREJIOBiYiIiEgGAxMRERGRDEUDU/v27aHT6eq80tLSAABlZWVIS0tDy5YtERkZiUGDBqGkpMRuHUVFRUhNTUXTpk0RHR2NKVOmoKqqyq7Mtm3b0LVrV+j1enTo0AFZWVm+2kUiIiKPE0KgtLQUQgilqxIwFA1M+/btw5kzZ6RXTk4OAOAvf/kLAGDy5Mn45JNPsHbtWmzfvh2nT5/GQw89JP1+dXU1UlNTUVFRgV27dmHFihXIysrCzJkzpTKFhYVITU1Fnz59cODAAUyaNAmjR4/G5s2bfbuzREREHmKxWDB40Se87d+HFJ1WoFWrVnY/v/TSS7j++utx9913w2KxYPny5cjOzkbfvn0BAJmZmUhISMDu3bvRs2dPfP755zh69Ci2bNkCk8mELl26YN68eZg2bRpmz56N0NBQLFu2DPHx8Vi4cCEAICEhATt37sTixYuRkpLi830mIiLyhJCwCKWrEFBUM4apoqICH3zwAUaOHAmdTof8/HxUVlYiKSlJKtOxY0e0bdsWeXl5AIC8vDx06tQJJpNJKpOSkgKr1YojR45IZWqvw1bGto76lJeXw2q12r2IiIgocKkmMH344YcoLS3F3/72NwBAcXExQkNDERUVZVfOZDKhuLhYKlM7LNmW25Y1VsZqteLKlSv11mX+/PkwGo3SKy4uzt3dIyIiIg1TTWBavnw5+vfvj9jYWKWrgunTp8NisUivU6dOKV0lIiIiUpAqHo3y008/YcuWLVi3bp30XkxMDCoqKlBaWmrXy1RSUoKYmBipzN69e+3WZbuLrnaZq++sKykpgcFgQHh4eL310ev10Ov1bu8XERER+QdV9DBlZmYiOjoaqamp0nvdunVDSEgIcnNzpfdOnDiBoqIimM1mAIDZbMahQ4dw9uxZqUxOTg4MBgMSExOlMrXXYStjWwcRERGRHMUDU01NDTIzMzFixAgEB//e4WU0GjFq1Cikp6fjiy++QH5+Ph577DGYzWb07NkTAJCcnIzExEQMGzYMBw8exObNmzFjxgykpaVJPUTjxo3DDz/8gKlTp+L48eN46623sGbNGkyePFmR/SUiIiLtUfyS3JYtW1BUVISRI0fWWbZ48WIEBQVh0KBBKC8vR0pKCt566y1peZMmTbBhwwaMHz8eZrMZERERGDFiBObOnSuViY+Px8aNGzF58mQsWbIEbdq0wbvvvsspBZwghIDFYoHRaIROp1O6OkRERD6neGBKTk5ucKbSsLAwZGRkICMjo8Hfb9euHT799NNGt9G7d28UFBS4Vc9AZpsgbVX6gDp3LRIRkXfxS6s6KH5Jjlzny6nxOUEaEZEyOKu3OjAwaRj/iIiIAgO/tCqPgUnj+EdERETkfQxMRESkGF8OLXCkHmqoC6kTAxMRESlGLUMLLBYLhi3dimFLtypeF1Inxe+SI1KK7c4TALz7hEhBahlaEBIeqXQVGmXrBbP92xPr4913jmMPEwUsfqMkIi2xWq3SMctqtbq9vqqyyxj99hc8/jmIPUwU0NT+jZJITdgjoTxPH7OCw5p6dH3+jD1MRKQJahkcHMjUMt6ISAkMTESkCTxZq4NaxhsR+RoDExFpBk/WRKQUjmEiIiKPsI1xYi8g+SMGJiIi8gjbnaeVVy6hqroKIdArXSW/VHtKFCV+P1DxkhwREXlMSHgkgsN56dSbKssu4ckVO1FVXeVQ+atvmLBYLBiZ8ZlDv8+bLX7HwERERKQxwfpwh8vWd8NEiN6xUGu1Wnmzxf9hYCIiIvJz7twwwZstfsPARERERCSDg76JiMhhnpjtu/agY46NIa1gDxMRETl855Qnnj9W+zmOnngmGpEvMDAREdHvd05Vyd855Ynnj4WER/JZjirEKQcaxsBEREQAHL9zivyXM8E50DAwERERXSWQ5x9icK4fAxMRESlCzZd/+LBnuhoDExERKcLZGat9TUvzDwVyj5ivMDAREZFP1HdSd2bGamoYe8S8j4GJiEjFhBA4f/48zp8/r/keBNtJnVMJeIdcj5gtsDJUuYYTVxIRqZjFYsGf569GaLOWCA5ugn+O74uoqCilq+UyLV3m8jdWqxUTsvNReeWSai+DqhkDExGRyoXoIxASHoHgYB6yyT0h4ZEQAKousJfJWfzrI02rfZeNO49qICIiagzHMJGm1X7EAq/LExG5hnfZyWNgIs3jIxaIPMvWc8uTZ+DggHx5DExERGSnsuyS2w/YBRi8HGXr3bHdDemp9nK214gD8hvHwERE1IhAvVTRRB/udtipKrvskeDl72xDCx5ZvAEPv/qRx9qLvUaexcBERH7F0wEnUCcE9FTYCQ5r6qEa+beQ8EgEh0fUaS93Hx/DXiPPUTww/fzzz3j00UfRsmVLhIeHo1OnTti/f7+0XAiBmTNnonXr1ggPD0dSUhK+++47u3WcO3cOQ4cOhcFgQFRUFEaNGoWLFy/alfnmm2/wxz/+EWFhYYiLi8OCBQt8sn9E5FveCDiBetJpKOzwUpvvWCwWjMz4jPMmqYCigen8+fO48847ERISgs8++wxHjx7FwoUL0bx5c6nMggUL8Prrr2PZsmXYs2cPIiIikJKSgrKyMqnM0KFDceTIEeTk5GDDhg3YsWMHxo4dKy23Wq1ITk5Gu3btkJ+fj1deeQWzZ8/G22+/7dP9JSLfCNSA4yu81OZbIXp+ntVA0XmYXn75ZcTFxSEzM1N6Lz4+Xvq3EAKvvfYaZsyYgQceeAAA8P7778NkMuHDDz/E4MGDcezYMWzatAn79u1D9+7dAQBvvPEG7rvvPrz66quIjY3FypUrUVFRgffeew+hoaG4+eabceDAASxatMguWBERkWN4qY0CjaI9TB9//DG6d++Ov/zlL4iOjsZtt92Gd955R1peWFiI4uJiJCUlSe8ZjUb06NEDeXl5AIC8vDxERUVJYQkAkpKSEBQUhD179khlevXqhdDQUKlMSkoKTpw4gfPnz9epV3l5OaxWq90rULl7/ZyIiMgfKBqYfvjhByxduhQ33HADNm/ejPHjx+PJJ5/EihUrAADFxcUAAJPJZPd7JpNJWlZcXIzo6Gi75cHBwWjRooVdmfrWUXsbtc2fPx9Go1F6xcXFeWBvtYnXz4m0I1Dv6CPyBUUDU01NDbp27YoXX3wRt912G8aOHYsxY8Zg2bJlSlYL06dPh8VikV6nTp1StD5K4/VzCjS24KG18CE34J2Bish1igam1q1bIzEx0e69hIQEFBUVAQBiYmIAACUlJXZlSkpKpGUxMTE4e/as3fKqqiqcO3fOrkx966i9jdr0ej0MBoPdi4gCR+1H7jh7SV7pUNLYgPdAnSIhUPDuRe9SNDDdeeedOHHihN173377Ldq1awfgtwHgMTExyM3NlZZbrVbs2bMHZrMZAGA2m1FaWor8/HypzNatW1FTU4MePXpIZXbs2IHKykqpTE5ODm666Sa7O/L8ldIHcCItcvWRO2oPJbyDUF08OU6Udy96l6KBafLkydi9ezdefPFFnDx5EtnZ2Xj77beRlpYGANDpdJg0aRKef/55fPzxxzh06BCGDx+O2NhYDBw4EMBvPVL33nsvxowZg7179+Krr77ChAkTMHjwYMTGxgIAhgwZgtDQUIwaNQpHjhzB6tWrsWTJEqSnpyu16z6l9gN4IGOY9U+2UML/X5IjjROt8sw4Ud696D2KBqbbb78d69evx7/+9S/ccsstmDdvHl577TUMHTpUKjN16lRMnDgRY8eOxe23346LFy9i06ZNCAsLk8qsXLkSHTt2RL9+/XDffffhrrvusptjyWg04vPPP0dhYSG6deuGp59+GjNnzgyoKQWC9U3ZVatCWgyzSozv0erdmlr8/yXf4zhRbVB0HiYAuP/++3H//fc3uFyn02Hu3LmYO3dug2VatGiB7OzsRrdz66234ssvv3S5nlpn66pdO2UgoqKivLYd24nNaDRCp9N5bTuO1AGAovVwlNYukdjG9wDAP8f39ernqfY2R2Z8htBmLby+LU/z9P+vLbBq4bNNznP3GFr798mzFH80CvmOL7pq1fCNuvaAXX6z9w5Xx/e4tU0nvoX78+BXq9Wq+N+YP2nssqntc+TL3lR3xyFxHJP3MDCRx9X+Ru3MGA5PjvdQ4oRO6uGrk4ZS0w8422tlqydPonXZvuTVdzdkVdlljHt/r8+/fLn75ZbjmLyDgYm8ypkeJ0fKchAtOcpXPapa6M201fPx5Ts4CW09GgugIeERDn/58ubxSc3j+Gz7XVNT49fHZwYm8jpnvg3LlVXDJT9f0+okioFCK72ZIeGRCA5XfrycJ078av2b8ObxqarsMp5csdNjd9N5km2/T5065dfHZwYmFVPrQUFpWhsk7S6t9GIQOcLdE78QAkVFRar9m/Dm8SlYH+61dbvLtt/+fHxmYFIxnijJRiu9GLxkSo5w58Rvu2NSFxKmib8JV/jzTQtaxsCkclo5URIBgXnJlHzP3+ctUupOt6svl6p53JQSGJgooKihB0QNdfAmf+6SJ/IVJe50ky6X/t+NAZVll+x+DnQMTH6AY50cZ7FY8NeFH6OoqEixtlKiF8bfQ5q38Bu25zjblkIInD9/HufPn/fI55Z/A465+nKpmsdN+RoDkx+wWq11xjrx4NAwHXQY/fYXTj+F3pN83Qvjbkjzx8+TI/vU2DdshinnSM9Mc7C3wmKx4M/zV+PhVz/ySDvzcjG5i4HJT1w91snTcxr52yBEtU3s5otA4k5I88eTjaP71NA3bE8/NNVdWghwzo49CtFHoIk+3GOzbfvb5WJ/Oy6rHQOTH/PknEacbt+7tPC4C3872QDu75OaBh8724OjFUrNtu0p3vwyxOOybzEwBThnThhq65VRkjcOgt4OJGr9NuqPl/uU4kiAU+vnoDHOzLatNt7uneVx2XcYmDRKC93vSvPmicETY4IsFovs73vy/9mXz1dzpt398XKfWtQXRtkr8TtfHUf9sXc2EDEwaZTWut+V6EWoLLvk1RODOwdB22UGuWd7eXqcjC++jbpyQuYJxTsaerDs1Z+DQP0CprXjqBoEco8wA5OGqWn8hBylxuioubs6JDzCoWd7OXqZRU0HMTW3uxK89f/jyJQijoRRueBg245WQpUz7e2J46jW2scdgdwjzMAUoDz1jdKZA1OwviksFotH51ZRM3dPko7+H9mereXqQUxtYcvfCCG89lDS2o9PcneajMaCg207DfWIKv0Zunr7vj6py7VPfXX0Jkcv+bsqUHuEGZgClKe6omtPBCl3MLBdhnpk8QaPza3iKlcDozMHPUcP2g3VxdH/o9+fraWXrVN944v86RujGi8t2WZPduT/xxW+enxSSHhkgz2iDV368zbb/3dpaWmdz7CvT+qNtQ/g2152Ry/5k3MYmAJYiD7CIwOjddBJt/3KHTBtl6F8fcnm6i5zV5+Y7uyJwZGD9tWPI7D7/Vrf+hv7v3L0skJD44scqacW7q6qL2Qq3fsBeG62ZDUGQhsleh1s4xStVqsmej18WUdHL/mT4xiY/JAzB1VP3TFz9W2/SlzTb+zEWF+XuasnMW8c9Bypi6cGsbsaVm2fFXd6ETwdXupb39Xh0Z960Fx5tpeaQ5YncLwc+QoDkx9q7FJOfUHGGwcc2+NaHl++A5VVlT45YNu6vBs6oct1mWuB0icHd7fvqekYbCHJ0fVpoffBUc4GfVd7U8meGnoq6+Pt8Ur0u2ClK0De0dAlGqvVignZ+ai8csnr17ZDwiMhAJRdsODJFTsRrA9HqFe36F8nRn/liekYgoOb4J/j+7q9vkDBB6i6z2q14vHlO7AqfQCioqKUro7E9jchKstUMV7JFuCMRiN0Op3S1fEo9jBpgKfHjijR08IDtjL88XZnLc/67C3+ftlNLdQaztU0XsmfJ0ZlYNIAb0/ASP7LkdudSftcGdtE5C1KDx3wFgYmjfDXDyB5nz+M3fIlrfbWaL0X15FJONVGreOayDsYmIhIEd4+2bg6GNbTj6Mhx9huFBm2dKvHAqu3Q5hS80+RMjjoW0Nsf/xGo9HuvYYOLlr9pky+p8RATdvJ5h+jenll/bUHwzo7aaSWHjvkTzw9Ns12kwsAvDmkm8O/J4SoNwTV93fizBxmjr5P6sQeJg2xWq3SrNqOTMAYSLO98sDjHqUGanp7EK2aBsOS+5z5O7eVdWUmdKvVWu/ULK7+nTQ0OS0f/qst7GFSqYYODLZZtWvfQtrY2IWQ8AjUBDdB1QX/DhO2Qa/hUdcoXRXN4jg5Bm+1swUZXbBedooSW0gxtG6P4GDnT3Uh+oh6g4yrfycNHacb2g6pD3uYVKqxcRS++NasxdvRtT7olZTHb/yOu3oSUV9x5nKp2o4JWni8EDWMgUnFfDWOor4DH29Hp0Dlrb87pQKGt9gu+TvyDEln+WtPnz/PURQIeEmOpANfkyZByBjaHW3btgXw+0zdvricp4YDpK1XDQB0Op1fzlRLyrl6lnI1zRbtqpDwCJcud8mpfenNW5Q65vjTpe9AeywLAxMB+L+xTpVlGP32F1jz9wcavUMEgMfDhO1SSGizFh5bpyt1+PP81Qht1tKvTmpqo4ZwrBRvBQw18PT/q6Nje1zdru2YowvWIwTeC2au0sLfie1KROWVS07fiapF/vmXSy4LDmsqfbuLiG5rt6z2N+T3x/WBTqfz6KUFNdzKHaKP8MhJzdWDXe1eLnfa1ltjJTxxEHfndn9Sr9qDrJXYris3fNhCmRrDiaefEeetfbRdiagOgHnLFB3DNHv2bOh0OrtXx44dpeVlZWVIS0tDy5YtERkZiUGDBqGkpMRuHUVFRUhNTUXTpk0RHR2NKVOm1BkovW3bNnTt2hV6vR4dOnRAVlaWL3ZP0xoKL7bneFmtVk7Y1oiGBg/LHbRqT97nTtt6YkK9+iaWbGwaC2fwdn//pNQga3e366nPdW2euHHGk38nnt5HNYZMb1N80PfNN9+MM2fOSK+dO3dKyyZPnoxPPvkEa9euxfbt23H69Gk89NBD0vLq6mqkpqaioqICu3btwooVK5CVlYWZM2dKZQoLC5Gamoo+ffrgwIEDmDRpEkaPHo3Nmzf7dD/90dVz6HjjD0jLjx6oL3Q2dheWO/PG1Lt9N+c4soWuq/9P1XbnEZEnePpz3dCNM0oO/vfkPkpzVQVAz5KN4oEpODgYMTEx0uuaa37rVrVYLFi+fDkWLVqEvn37olu3bsjMzMSuXbuwe/duAMDnn3+Oo0eP4oMPPkCXLl3Qv39/zJs3DxkZGaioqAAALFu2DPHx8Vi4cCESEhIwYcIE/PnPf8bixYsV22d/5YkHgF59Kcl20rY93sAfvtE01HvnjW+5jXEkjKr16ey+xtvByRX1PcfRm3cX+poahlH4kuKB6bvvvkNsbCyuu+46DB06FEVFRQCA/Px8VFZWIikpSSrbsWNHtG3bFnl5eQCAvLw8dOrUCSaTSSqTkpICq9WKI0eOSGVqr8NWxraO+pSXl8Nqtdq9yDGe6Bq/+rbbkLAI6VKVr6Y5UOoE6cveG28+B8vfAgZvBydPsg1tIG1RNDD16NEDWVlZ2LRpE5YuXYrCwkL88Y9/xIULF1BcXIzQ0NA6dymZTCYUFxcDAIqLi+3Ckm25bVljZaxWK65cuVJvvebPnw+j0Si94uLiPLG75KCGbrut79uat1SWXQqIE6S3epD8MWD40+3g5F2BOL4nECh6l1z//v2lf996663o0aMH2rVrhzVr1iA8XLlxEtOnT0d6err0s9VqZWhSkJbnS1HiobZqwYChXrU/lwB4cvewhu40ViOGO8cpfkmutqioKNx44404efIkYmJiUFFRId1ibVNSUoKYmBgAQExMTJ275mw/y5UxGAwNhjK9Xg+DwWD3Iu9w5E4Sb4/t8eblI3/safEGf5sFW+1qfy7lHgfDE6prtDK+x5WHtAfqZ0JVgenixYv4/vvv0bp1a3Tr1g0hISHIzc2Vlp84cQJFRUUwm80AALPZjEOHDuHs2bNSmZycHBgMBiQmJkplaq/DVsa2jkCixg+5o49g8ebYHtvlN2+NVWNPi7zaA2F9/Rm1hXYlw5oSd4PW/lw2dnIPxLuh3KHG46wcZ6cvkL7EBthjsxQNTH//+9+xfft2/Pjjj9i1axcefPBBNGnSBI888giMRiNGjRqF9PR0fPHFF8jPz8djjz0Gs9mMnj17AgCSk5ORmJiIYcOG4eDBg9i8eTNmzJiBtLQ06PW/TYg3btw4/PDDD5g6dSqOHz+Ot956C2vWrMHkyZOV3HVFONJT48gfu8dn9PXg2CRX66bVUKPFg3NDlBoI66m5r9zR0BQOauHL3hKtfaavrm+ghIlAnF5E0TFM//3vf/HII4/g119/RatWrXDXXXdh9+7daNWqFQBg8eLFCAoKwqBBg1BeXo6UlBS89dZb0u83adIEGzZswPjx42E2mxEREYERI0Zg7ty5Upn4+Hhs3LgRkydPxpIlS9CmTRu8++67SElJ8fn+OsqbBwy5D7ntjz1YH47QBsrYpg9wZWZdb1NqtmFPc/QzoPbHO/iSO383nghqtXuJXKlLIE/hULu9bMcXrZyQ6zvmaKXu5BxFA9OqVasaXR4WFoaMjAxkZGQ0WKZdu3b49NNPG11P7969UVBQ4FIdlVD7JNhQaPEmR/7YlTwgXD1g9WreqJuvHzLpzEnD0Wdu+bvafzdKsFqteHz5DvxjVC+PP9bC310dOjz9N+ytSXVt62RACgx8lpxKBfJJsPaBqL4xHbYBq2unDPRZnZR4yKQaDsJauzyi9N9N7V6ikPAI1AQ3QdUF19tPa+3vDm+PU/R0r7jSAV3NvPmgdiUxMJFihBD1jhmp/ZDfN4d0q/d3lRhzFEgPmbRRoqfEdmnLFwdatQcSpXub/Yk3ApnSAd0RSnzGax/D/zm+b535FLVKVXfJUWBp7O4bXw8A9uZBReu3zPvyQblCCJw6dUp2ALSnpoLw9eNobJy5K04rt6eTOik1CN0fZzNnYCJFqeVk4MxBxdlwpcVnRynV82K7dCJ32dOTU0EocenTarWq+q448i9KXd73t0ckMTAR/R9HDyqufGPT2rctuckMvcnR/wetTgVhE8h3xWnN1eMqfXkDiJb52yOmOIaJyAVqGJDtCfX1JNne08L4DCJfsLtrtbqKd0A6wZEvNlp5hBR7mEiT/K2rVyn19ZYp2bukVWofPE7uq/0lyZfj+rTOkWO12idutWFgIk2yTS3gzTFBgRLK6ustU8vYMq2w9UAwZGofw69nOfo8TS1comZgIs3y9hgWPjiXnOEvl2kDHcOv52l9vKENA5Of0cq3I63Us7E/dKWmC1DiQa1EgYThl+rDwKQy7gYJaW4jH3w7cqeu/vCAytrTBfgy/KnplnQlw5srnz9bfRk4PUcrX36I3MXApDKeGHDrq/En7oYef/gWp9R0AWq53t9YeKvdA1dTU+PxkOLK58/2iBstzYmldryEFRhsXzYCORxzWgEV0tLt3FoIPQ09goU8o6HwdvUjbmwPpq2tsd4J2wHa9u/6uPL509J8WFqhheOA2mitZ85qtWJCdj4qr1zSzPnJ0xiYyO/ZLlNGRLdVuiqq4MsDdUh4BIKDfzvM1BesbL1EwfrwOs9Ksx2gATT4TEEirbKb20kjbM/TdOeB0lrGwEQBwd9uk3d3/JiaJt5r7ITB3qCGsedU+7QUlrxBa7OmuxSYrrvuOuzbtw8tW7a0e7+0tBRdu3bFDz/84JHKEVH93A09IeERqAluErDfFLV2OaQ+7Dl1DcfieIcrf1O2MYWVVy7JPj9SDVwKTD/++COqq6vrvF9eXo6ff/7Z7UoRkbxADz3u0OLlkPp4u+dUi8FSrs4ci+MdtS+vO8N2ma+6Sv3/F04Fpo8//lj69+bNm2E0GqWfq6urkZubi/bt23usckRkT4snMLW6+sDu67at/fwstWpsjJla2e401gU33GMR6GNxvEXrX0DkOBWYBg4cCADQ6XQYMWKE3bKQkBC0b98eCxcu9FjlyDk8mfo/LZ7AtMLXvU62meTXThnok+25SosnQS3daUza4VRgqqmpAQDEx8dj3759uOaaa7xSKXKNWi4zMLh5l7f+f739/6aFz4Uv/nZqt4OSj4zQwv8HkZq4NIapsLDQ0/UgGY4e3JQOS8DvvSCG1u2Vrgo5wVt3z9k+u+wd+03tLzYh8PxA19rHisYmClXb3ZJEaufytAK5ubnIzc3F2bNnpZ4nm/fee8/tipE9rZ1s1BDcPMF28jEYDEpXRdbVJ0pXehC8MZC8dkDwl8+Fu7zZDldPGNoY3jhAjmBv5G9cejTKnDlzkJycjNzcXPzyyy84f/683Yuc58itroF2slHDH6ltnIkW5rup/Ww7q9X6+6NDVHD3ibOfXTX832uZUo/sIf+kpmOJklzqYVq2bBmysrIwbNgwT9cnYNWej4Ld479Ry5gsJceZOKv2zNqAdkN27cu6tfeHqCEM2d6l1WOJJ7l0JKqoqMAdd9zh6boEPN7qWhf/SAMX/+/JGRyTRd7m0iW50aNHIzs729N1ISLSBF/0ZrDHxHkh4REIDvevxyCRerjUw1RWVoa3334bW7Zswa233oqQkBC75YsWLfJI5YiI1Kj25IievAnDNpbRaDQ2OgGjlsKUlupK1BiXAtM333yDLl26AAAOHz5st0yn07ldKSIiG0+ccL1xt6M3Jke0Wq14fPkOrEof0Og2tHTXLC+Vkb9wKTB98cUXnq4HEWmYNx9o6onB/1VllzHqH1uxaHDjt9mrQUiYY5eUtDTGi9MXkD/g7SdE5DZvP9DUU+GAE6oSkatcCkx9+vRp9NLb1q1bXa4QkVZp4WGq3qSFuzy11CtDROriUmCyjV+yqaysxIEDB3D48OE6D+UlChQWiwWDF30ijT+hwMMBzkSO0eLfikuBafHixfW+P3v2bFy8eNGtChFpmaPjT8g/aWkwNpGSbHeBRkS3VboqDnNpHqaGPProo3yOHKmKFr/FkLrJfabUctnP3z77/rY/9NtdoFri0cCUl5eHsLAwl373pZdegk6nw6RJk6T3ysrKkJaWhpYtWyIyMhKDBg1CSUmJ3e8VFRUhNTUVTZs2RXR0NKZMmVLneTfbtm1D165dodfr0aFDB2RlZblUR9Ie6RlIbgxE5oGaarN9M1b7LfK2uwvVXk9H+dv+kPa4dEnuoYcesvtZCIEzZ85g//79eO6555xe3759+/CPf/wDt956q937kydPxsaNG7F27VoYjUZMmDABDz30EL766isAQHV1NVJTUxETE4Ndu3bhzJkzGD58OEJCQvDiiy8CAAoLC5Gamopx48Zh5cqVyM3NxejRo9G6dWukpKS4svukMe5+46/9XDMiwHNzMHk7jKult8tT/G1/SFtcCkxX3wUUFBSEm266CXPnzkVycrJT67p48SKGDh2Kd955B88//7z0vsViwfLly5GdnY2+ffsCADIzM5GQkIDdu3ejZ8+e+Pzzz3H06FFs2bIFJpMJXbp0wbx58zBt2jTMnj0boaGhWLZsGeLj47Fw4UIAQEJCAnbu3InFixczMJHDeKAmb6g9qaMupO6M3kSkHi4FpszMTI9VIC0tDampqUhKSrILTPn5+aisrERSUpL0XseOHdG2bVvk5eWhZ8+eyMvLQ6dOnWAymaQyKSkpGD9+PI4cOYLbbrsNeXl5duuwlal96e9q5eXlKC8vl362Wq0e2FMiorpskzpWV/FSE5GauTVxZX5+Po4dOwYAuPnmm3Hbbbc59furVq3C119/jX379tVZVlxcjNDQUERFRdm9bzKZUFxcLJWpHZZsy23LGitjtVpx5coVhIfX7TmYP38+5syZ49S+EBERkf9yKTCdPXsWgwcPxrZt26RAU1paij59+mDVqlVo1aqV7DpOnTqFp556Cjk5OS4PFPeW6dOnIz09XfrZarUiLi5OwRoRERGRkly6S27ixIm4cOECjhw5gnPnzuHcuXM4fPgwrFYrnnzySYfWkZ+fj7Nnz6Jr164IDg5GcHAwtm/fjtdffx3BwcEwmUyoqKhAaWmp3e+VlJQgJiYGABATE1Pnrjnbz3JlDAZDvb1LAKDX62EwGOxeRFoRaHf12fZX6/scaP9vRFrjUg/Tpk2bsGXLFiQkJEjvJSYmIiMjw+FB3/369cOhQ4fs3nvsscfQsWNHTJs2DXFxcQgJCUFubi4GDRoEADhx4gSKiopgNpsBAGazGS+88ALOnj2L6OhoAEBOTg4MBgMSExOlMp9++qnddnJycqR1EPmKr06InnhYrZbUHjit5VvObXdjhkddo3RViKgeLgWmmpoahISE1Hk/JCQENTU1Dq2jWbNmuOWWW+zei4iIQMuWLaX3R40ahfT0dLRo0QIGgwETJ06E2WxGz549AQDJyclITEzEsGHDsGDBAhQXF2PGjBlIS0uDXv/bHSfjxo3Dm2++ialTp2LkyJHYunUr1qxZg40bN7qy66QiWvtG7ssgEyhhycY2cFrNz7FzRLA+XHOfa6JA4dIlub59++Kpp57C6dOnpfd+/vlnTJ48Gf369fNY5RYvXoz7778fgwYNQq9evRATE4N169ZJy5s0aYINGzagSZMmMJvNePTRRzF8+HDMnTtXKhMfH4+NGzciJycHnTt3xsKFC/Huu+9ySgE/IE1KqaG7i/wxyPAE71m2HrPHl+/QdI8Zkb9xqYfpzTffxJ/+9Ce0b99eGgx96tQp3HLLLfjggw9crsy2bdvsfg4LC0NGRgYyMjIa/J127drVueR2td69e6OgoMDlepF6qSWACCECdvqJQJnY05fB0F96zIj8iUuBKS4uDl9//TW2bNmC48ePA/htQsir5zsiChRWqxUjMz5DaLMWSlfFZ2oHCLUEV2/yl7FSROQapy7Jbd26FYmJibBardDpdLjnnnswceJETJw4EbfffjtuvvlmfPnll96qK5Gqae1Bku4KxGd7hYRHIDg8sP6fieg3TgWm1157DWPGjKn3Nnuj0YjHH38cixYt8ljliEjdAqFniYgIcDIwHTx4EPfee2+Dy5OTk5Gfn+92pYiIiIjUxKnAVFJSUu90AjbBwcH43//+53aliIiIyD9p9c5apwLTtddei8OHDze4/JtvvkHr1q3drhQRERH5J4vFgpEZn2lu/KNTgem+++7Dc889h7KysjrLrly5glmzZuH+++/3WOWIiIg8Ras9G/5IizfJODWtwIwZM7Bu3TrceOONmDBhAm666SYAwPHjx5GRkYHq6mo8++yzXqkoERGROwJlzjDyDqcCk8lkwq5duzB+/HhMnz4dQggAgE6nQ0pKCjIyMmAymbxSUSIt4DdYInXjnZ3kKqcnrrTNrH3+/HmcPHkSQgjccMMNaN68uTfqR6QpnNyQiMg/uTTTNwA0b94ct99+uyfrQuQX+FgLIiL/49LDd4mIiIgCCQMTERERkQwGJiIiIiIZDExERETkNba7h2131msVAxMRERF5TVXZZYx++wvNT7nCwETkJs69RETUuOCwpkpXwW0MTERuqiy7hCdX7OS8S0REfoyBicgDOHswEZF/Y2AiIiIiksHARERERD6h5TGfDExERETkExaLBSMzPtPkmE8GJiIiIvKZEH2E0lVwCQMTERERkQwGJiIiIiIZDExEREREMhiYiIiIiGQwMBERERHJYGAiIiIiksHARERERCSDgYmIiIhIBgMTERERkQwGJiIiIiIZDExEREREMhQNTEuXLsWtt94Kg8EAg8EAs9mMzz77TFpeVlaGtLQ0tGzZEpGRkRg0aBBKSkrs1lFUVITU1FQ0bdoU0dHRmDJlCqqq7B/qt23bNnTt2hV6vR4dOnRAVlaWL3aPiIiI/ISigalNmzZ46aWXkJ+fj/3796Nv37544IEHcOTIEQDA5MmT8cknn2Dt2rXYvn07Tp8+jYceekj6/erqaqSmpqKiogK7du3CihUrkJWVhZkzZ0plCgsLkZqaij59+uDAgQOYNGkSRo8ejc2bN/t8f4mIiEibgpXc+IABA+x+fuGFF7B06VLs3r0bbdq0wfLly5GdnY2+ffsCADIzM5GQkIDdu3ejZ8+e+Pzzz3H06FFs2bIFJpMJXbp0wbx58zBt2jTMnj0boaGhWLZsGeLj47Fw4UIAQEJCAnbu3InFixcjJSXF5/tcHyEELBaL0tUgIiKiBqhmDFN1dTVWrVqFS5cuwWw2Iz8/H5WVlUhKSpLKdOzYEW3btkVeXh4AIC8vD506dYLJZJLKpKSkwGq1Sr1UeXl5duuwlbGtoz7l5eWwWq12L2+yWCwYmfFZnUuJREREpA6KB6ZDhw4hMjISer0e48aNw/r165GYmIji4mKEhoYiKirKrrzJZEJxcTEAoLi42C4s2ZbbljVWxmq14sqVK/XWaf78+TAajdIrLi7OE7vaqBB9hNe3QURERK5RPDDddNNNOHDgAPbs2YPx48djxIgROHr0qKJ1mj59OiwWi/Q6deqUovUhIiIiZSk6hgkAQkND0aFDBwBAt27dsG/fPixZsgR//etfUVFRgdLSUrteppKSEsTExAAAYmJisHfvXrv12e6iq13m6jvrSkpKYDAYEB4eXm+d9Ho99Hq9R/ZPDscvERERqZ/iPUxXq6mpQXl5Obp164aQkBDk5uZKy06cOIGioiKYzWYAgNlsxqFDh3D27FmpTE5ODgwGAxITE6UytddhK2Nbh9Kk8UvVHL9ERESkVor2ME2fPh39+/dH27ZtceHCBWRnZ2Pbtm3YvHkzjEYjRo0ahfT0dLRo0QIGgwETJ06E2WxGz549AQDJyclITEzEsGHDsGDBAhQXF2PGjBlIS0uTeojGjRuHN998E1OnTsXIkSOxdetWrFmzBhs3blRy1+2E6CMYmIiIiFRM0cB09uxZDB8+HGfOnIHRaMStt96KzZs345577gEALF68GEFBQRg0aBDKy8uRkpKCt956S/r9Jk2aYMOGDRg/fjzMZjMiIiIwYsQIzJ07VyoTHx+PjRs3YvLkyViyZAnatGmDd999VzVTChAREZH6KRqYli9f3ujysLAwZGRkICMjo8Ey7dq1w6efftroenr37o2CggKX6khERESkujFMRERERGrDwEREREQkg4GJiIiISAYDExEREZEMBiYiIiIiGQxMRERERDIYmIiIiIhkMDARERERyWBgIiIiIpLBwEREREQkg4GJiIiISAYDExEREZEMBiYiIiIiGQxMRERERDIYmIiIiIhkMDARERERyWBgIiIiIpIRrHQFiIiIyL8JIWCxWJSuhlsYmIiIiMirqsouY9z7eyEqy1BVXaV0dVzCS3JERETkdSHhEQgOj1C6Gi5jYCIiIiKSwcBEREREJIOBiYiIiEgGAxMRERGRDAYmIiIiIhkMTEREREQyGJiIiIiIZDAwEREREclgYCIiIiKSwcBEREREJIOBiYiIiEgGAxMRERGRDAYmIiIiIhkMTEREREQyFA1M8+fPx+23345mzZohOjoaAwcOxIkTJ+zK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YdKkSXj++efx8ccf49ChQxg+fDhiY2MxcOBAAEBCQgLuvfdejBkzBnv37sVXX32FCRMmYPDgwYiNjQUADBkyBKGhoRg1ahSOHDmC1atXY8mSJUhPT1dor4mIiEhrFJ1WYP/+/ejTp4/0sy3EjBgxAllZWZg6dSouXbqEsWPHorS0FHfddRc2bdqEsLAw6XdWrlyJCRMmoF+/fggKCsKgQYPw+uuvS8uNRiM+//xzpKWloVu3brjmmmswc+ZMTilAREREDlM0MPXu3RtCiAaX63Q6zJ07F3Pnzm2wTIsWLZCdnd3odm699VZ8+eWXLteTiIiIAptqxzARERERqQUDExEREZEMBiYiIiIiGQxMRERERDIYmIiIiIhkMDARERERyWBgIiIiIpLBwEREREQkg4GJiIiISAYDExEREZEMBiYiIiIiGQxMRERERDIYmIiIiIhkMDARERERyWBgIiIiIpLBwEREREQkg4GJiIiISAYDExEREZEMBiYiIiIiGQxMRERERDIYmIiIiIhkMDARERERyWBgIiIiIpLBwEREREQkg4GJiIiISAYDExEREZEMBiYiIiIiGQxMRERERDIYmIiIiIhkMDARERERyWBgIiIiIpLBwEREREQkg4GJiIiISAYDExEREZGMgApMGRkZaN++PcLCwtCjRw/s3btX6SoRERGRBgRMYFq9ejXS09Mxa9YsfP311+jcuTNSUlJw9uxZpatGREREKhcwgWnRokUYM2YMHnvsMSQmJmLZsmVo2rQp3nvvPaWrRkRERCoXrHQFfKGiogL5+fmYPn269F5QUBCSkpKQl5dXp3x5eTnKy8ulny0WCwDAarV6vG5WqxVXrL+guroGOl0QRFU5yi5dkJa78567v6+27QTCPrIttbedQNhHtqX2tqO1fayurobVakVQkGf7cWznbSGE2+sKiMD0yy+/oLq6GiaTye59k8mE48eP1yk/f/58zJkzp877cXFxXqsjERFRIGu30HvrvnDhAoxGo1vrCIjA5Kzp06cjPT1d+rmmpgbnzp1Dy5YtodPpPL49q9WKuLg4nDp1CgaDwePr9wdsI8exrZzD9nIe28xxbCvneLq9hBC4cOECYmNj3V5XQASma665Bk2aNEFJSYnd+yUlJYiJialTXq/XQ6/X270XFRXlzSoCAAwGA/+gZLCNHMe2cg7by3lsM8ex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3rw51q9fj0ceecSpejhC621VW48ePQAAJ0+exPXXX+9UPRzlD+3173//G5cvX8bw4cOd2rartNxmycnJ+P777/HLL78gODgYUVFRiImJwXXXXedUHRylxrZSM1+116pVqzB69GisXbvW7lLbn/70J+m4AwDXXnut1PtYUlKC1q1b2227S5cu7uxuXS6NfAoANTU1Ii0tTcTGxopvv/22znLbILd///vf0nvHjx+vM8jt8OHDIjo6WkyZMkV2m84OoJwwYYL0c3V1tbj22mt9Oujbn9rIpqysTISHh4vMzEyHtuEof2yrnTt3CgDi4MGDDm3DGf7UXnfffbcYNGiQQ+t1hz+1mU1ubq7Q6XTi+PHjDm3DUWpvq9qggkHfvmyv7OxsERYWJj788EOH6xYTEyNeffVV6T2LxeKVQd8MTA0YP368MBqNYtu2beLMmTPS6/Lly1KZcePGibZt24qtW7eK/fv3C7PZLMxms7T80KFDolWrVuLRRx+1W8fZs2fttlVQUCAKCgpEt27dxJAhQ0RBQYE4cuRIo/VbtWqV0Ov1IisrSxw9elSMHTtWREVFieLiYqnMmTNnREFBgXjnnXcEALFjxw5RUFAgfv31V7aREOL7778XL774oti/f7/46aefxFdffSUGDBggWrRoIUpKSjzSRjZab6uTJ0+KuXPniv3794vCwkLx0Ucfieuuu0706tXLg630O623l813330ndDqd+OyzzzzQKo3zhzZ77733RF5enjh58qT45z//KVq0aCHS09M91EK/U3tbXbhwQfo9AGLRokWioKBA/PTTT1KZX3/9VRQUFIiNGzcKAGLVqlWioKBAnDlzxkOt9DtftdfKlStFcHCwyMjIsCtTWlraaP1eeuklERUVJT766CPxzTffiAceeEDEx8eLK1euSGV++uknUVBQIObMmSMiIyOl9r1w4YLD7cDA1AAA9b5q9zxcuXJFPPHEE6J58+aiadOm4sEHH7T7sM6aNavedbRr1052W1eXqc8bb7wh2rZtK0JDQ8Uf/vAHsXv3brvlDW3fU70nWm+jn3/+WfTv319ER0eLkJAQ0aZNGzFkyBCPf5ttqP5aaquioiLRq1cv0aJFC6HX60WHDh3ElClT7G4B9yStt5fN9OnTRVxcnKiurna1KRzmD202bdo0YTKZREhIiLjhhhvEwoULRU1NjTvN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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def extract_date(string):\n",
    "    year = int(string[:4])\n",
    "    month = int(string[5:7])\n",
    "    day = int(string[8:10])\n",
    "    return date(year, month, day)\n",
    "\n",
    "sns.histplot(df.createdAt.map(extract_date));"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "990bc0e7",
   "metadata": {},
   "source": [
    "### Newspaper"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "9e780978",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/bn/hrm9f3gs76z5zb1bxxc4g_s00000gn/T/ipykernel_72170/805556954.py:2: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
      "  g.set_xticklabels(g.get_xticklabels(), rotation=90);\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAJBCAYAAAC6U5RyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABv2ElEQVR4nO3dd1RU18IF8D2DVGkqgqggoFiwgaLGklhibImJ5fkMNsSSaCIWolEjYi8xUdFoxN6i0cQYE2tUYhcLYC+ICAwqoNiQIvV8f/gxz3HQqIF7x8v+rTVryZmBu22w595zz1EJIQSIiIiIFEItdwAiIiKiosRyQ0RERIrCckNERESKwnJDREREisJyQ0RERIrCckNERESKwnJDREREisJyQ0RERIrCckNERESKwnJDREREilKiy83hw4fRuXNnVKxYESqVCtu2bXvtryGEwPfff4/q1avD1NQUlSpVwowZM4o+LBEREb2SUnIHkFN6ejrq16+PAQMGoFu3bm/0NUaMGIG9e/fi+++/R926dXH//n3cv3+/iJMSERHRq1Jx48ynVCoVfv/9d3Tp0kU7lpWVhQkTJuDnn3/Gw4cPUadOHXz77bdo1aoVAODKlSuoV68eLl68iBo1asgTnIiIiHSU6MtS/2TYsGEICwvDpk2bcP78efTo0QMdOnRAdHQ0AGD79u1wc3PDjh074OrqChcXFwwaNIhnboiIiGTEcvMCGo0Gq1evxq+//op3330XVatWxejRo9GiRQusXr0aAHDjxg3Ex8fj119/xbp167BmzRpERETgP//5j8zpiYiISq4SPefmZS5cuIC8vDxUr15dZzwrKwvlypUDAOTn5yMrKwvr1q3Tvm7lypVo2LAhoqKieKmKiIhIBiw3L5CWlgYjIyNERETAyMhI5zlLS0sAgKOjI0qVKqVTgGrVqgXg6ZkflhsiIiLpsdy8gJeXF/Ly8nDnzh28++67hb6mefPmyM3NRUxMDKpWrQoAuHbtGgCgSpUqkmUlIiKi/ynRd0ulpaXh+vXrAJ6WmXnz5qF169YoW7YsnJ2d0adPHxw7dgxz586Fl5cX7t69i9DQUNSrVw8ffvgh8vPz0ahRI1haWiI4OBj5+fn48ssvYW1tjb1798r8uyMiIiqZSnS5OXjwIFq3bq037uvrizVr1iAnJwfTp0/HunXrcOvWLdjZ2eGdd97BlClTULduXQDA7du34e/vj71796J06dLo2LEj5s6di7Jly0r92yEiIiKU8HJDREREysNbwYmIiEhRStyE4vz8fNy+fRtWVlZQqVRyxyEiIqJXIITA48ePUbFiRajVLz83U+LKze3bt+Hk5CR3DCIiInoDCQkJqFy58ktfU+LKjZWVFYCnfzjW1tYypyEiIqJXkZqaCicnJ+3P8ZcpceWm4FKUtbU1yw0REdFb5lWmlHBCMRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpSim5AyiNRqNBSkqK3DEAAHZ2dnB2dpY7BhERkaRYboqQRqNBzZq1kJmZIXcUAIC5uQWuXr3CgkNERCUKy00RSklJQWZmBpoMmARrRxdZs6QmxuHkqilISUlhuSEiohKF5aYYWDu6oKxzDbljEBERlUicUExERESKwnJDREREisJyQ0RERIrCckNERESKwnJDREREiiJruTl8+DA6d+6MihUrQqVSYdu2bf/4OQcPHkSDBg1gamqKatWqYc2aNcWek4iIiN4espab9PR01K9fH4sXL36l18fGxuLDDz9E69atcfbsWYwcORKDBg3CX3/9VcxJiYiI6G0h6zo3HTt2RMeOHV/59SEhIXB1dcXcuXMBALVq1cLRo0cxf/58tG/fvrhiEhER0VvkrZpzExYWhrZt2+qMtW/fHmFhYS/8nKysLKSmpuo8iIiISLneqnKTlJQEBwcHnTEHBwekpqYiMzOz0M+ZNWsWbGxstA8nJycpohIREZFM3qpy8ybGjx+PR48eaR8JCQlyRyIiIqJi9FbtLVWhQgUkJyfrjCUnJ8Pa2hrm5uaFfo6pqSlMTU2liEdEREQG4K06c9O0aVOEhobqjO3btw9NmzaVKREREREZGlnLTVpaGs6ePYuzZ88CeHqr99mzZ6HRaAA8vaTUr18/7euHDBmCGzdu4Ouvv8bVq1fx448/4pdffsGoUaPkiE9EREQGSNZyEx4eDi8vL3h5eQEAAgIC4OXlhaCgIABAYmKitugAgKurK3bu3Il9+/ahfv36mDt3LlasWMHbwImIiEhL1jk3rVq1ghDihc8Xtvpwq1atcObMmWJMRURERG+zt2rODREREdE/YbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkVhuSEiIiJFYbkhIiIiRWG5ISIiIkWRvdwsXrwYLi4uMDMzQ5MmTXDq1KmXvj44OBg1atSAubk5nJycMGrUKDx58kSitERERGToZC03mzdvRkBAACZNmoTIyEjUr18f7du3x507dwp9/caNGzFu3DhMmjQJV65cwcqVK7F582Z88803EicnIiIiQyVruZk3bx4GDx4MPz8/eHh4ICQkBBYWFli1alWhrz9+/DiaN2+OXr16wcXFBe3atYOPj88/nu0hIiKikkO2cpOdnY2IiAi0bdv2f2HUarRt2xZhYWGFfk6zZs0QERGhLTM3btzArl270KlTpxceJysrC6mpqToPIiIiUq5Sch04JSUFeXl5cHBw0Bl3cHDA1atXC/2cXr16ISUlBS1atIAQArm5uRgyZMhLL0vNmjULU6ZMKdLsREREZLhkn1D8Og4ePIiZM2fixx9/RGRkJLZu3YqdO3di2rRpL/yc8ePH49GjR9pHQkKChImJiIhIarKdubGzs4ORkRGSk5N1xpOTk1GhQoVCP2fixIno27cvBg0aBACoW7cu0tPT8dlnn2HChAlQq/W7mqmpKUxNTYv+N0BEREQGSbYzNyYmJmjYsCFCQ0O1Y/n5+QgNDUXTpk0L/ZyMjAy9AmNkZAQAEEIUX1giIiJ6a8h25gYAAgIC4OvrC29vbzRu3BjBwcFIT0+Hn58fAKBfv36oVKkSZs2aBQDo3Lkz5s2bBy8vLzRp0gTXr1/HxIkT0blzZ23JISIiopJN1nLTs2dP3L17F0FBQUhKSoKnpyf27NmjnWSs0Wh0ztQEBgZCpVIhMDAQt27dQvny5dG5c2fMmDFDrt8CERERGRhZyw0ADBs2DMOGDSv0uYMHD+p8XKpUKUyaNAmTJk2SIBkRERG9jd6qu6WIiIiI/gnLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpiuzlZvHixXBxcYGZmRmaNGmCU6dOvfT1Dx8+xJdffglHR0eYmpqievXq2LVrl0RpiYiIyNCVkvPgmzdvRkBAAEJCQtCkSRMEBwejffv2iIqKgr29vd7rs7Oz8cEHH8De3h5btmxBpUqVEB8fD1tbW+nDExERkUGStdzMmzcPgwcPhp+fHwAgJCQEO3fuxKpVqzBu3Di9169atQr379/H8ePHYWxsDABwcXGRMjIREREZONkuS2VnZyMiIgJt27b9Xxi1Gm3btkVYWFihn/Pnn3+iadOm+PLLL+Hg4IA6depg5syZyMvLe+FxsrKykJqaqvMgIiIi5ZKt3KSkpCAvLw8ODg464w4ODkhKSir0c27cuIEtW7YgLy8Pu3btwsSJEzF37lxMnz79hceZNWsWbGxstA8nJ6ci/X0QERGRYZF9QvHryM/Ph729PZYtW4aGDRuiZ8+emDBhAkJCQl74OePHj8ejR4+0j4SEBAkTExERkdTeqNy4ubnh3r17euMPHz6Em5vbK30NOzs7GBkZITk5WWc8OTkZFSpUKPRzHB0dUb16dRgZGWnHatWqhaSkJGRnZxf6OaamprC2ttZ5EBERkXK9UbmJi4srdJ5LVlYWbt269Upfw8TEBA0bNkRoaKh2LD8/H6GhoWjatGmhn9O8eXNcv34d+fn52rFr167B0dERJiYmr/m7ICIiIiV6rbul/vzzT+2v//rrL9jY2Gg/zsvLQ2ho6GvdvRQQEABfX194e3ujcePGCA4ORnp6uvbuqX79+qFSpUqYNWsWAGDo0KFYtGgRRowYAX9/f0RHR2PmzJkYPnz46/w2iIiISMFeq9x06dIFAKBSqeDr66vznLGxMVxcXDB37txX/no9e/bE3bt3ERQUhKSkJHh6emLPnj3aScYajQZq9f9OLjk5OeGvv/7CqFGjUK9ePVSqVAkjRozA2LFjX+e3QURERAr2WuWm4HKQq6srTp8+DTs7u38dYNiwYRg2bFihzx08eFBvrGnTpjhx4sS/Pi4REREp0xst4hcbG1vUOYiIiIiKxBuvUBwaGorQ0FDcuXNHZ4Iv8HQlYSIiIiI5vFG5mTJlCqZOnQpvb284OjpCpVIVdS4iIiKiN/JG5SYkJARr1qxB3759izoPERER0b/yRuvcZGdno1mzZkWdhYiIiOhfe6NyM2jQIGzcuLGosxARERH9a290WerJkydYtmwZ9u/fj3r16sHY2Fjn+Xnz5hVJOCIiIqLX9Ubl5vz58/D09AQAXLx4Uec5Ti4mIiIiOb1RuTlw4EBR5yAiIiIqEm8054aIiIjIUL3RmZvWrVu/9PLT33///caBiIiIiP6NNyo3BfNtCuTk5ODs2bO4ePGi3oaaRERERFJ6o3Izf/78QscnT56MtLS0fxWIiIiI6N8o0jk3ffr04b5SREREJKsiLTdhYWEwMzMryi9JRERE9Fre6LJUt27ddD4WQiAxMRHh4eGYOHFikQQjIiIiehNvVG5sbGx0Plar1ahRowamTp2Kdu3aFUkwIiIiojfxRuVm9erVRZ2DiIiIqEi8UbkpEBERgStXrgAAateuDS8vryIJRURERPSm3qjc3LlzB59++ikOHjwIW1tbAMDDhw/RunVrbNq0CeXLly/KjERERESv7I3ulvL398fjx49x6dIl3L9/H/fv38fFixeRmpqK4cOHF3VGIiIiolf2Rmdu9uzZg/3796NWrVraMQ8PDyxevJgTiomIiEhWb3TmJj8/H8bGxnrjxsbGyM/P/9ehiIiIiN7UG5WbNm3aYMSIEbh9+7Z27NatWxg1ahTef//9IgtHRERE9LreqNwsWrQIqampcHFxQdWqVVG1alW4uroiNTUVP/zwQ1FnJCIiInplbzTnxsnJCZGRkdi/fz+uXr0KAKhVqxbatm1bpOGIiIiIXtdrnbn5+++/4eHhgdTUVKhUKnzwwQfw9/eHv78/GjVqhNq1a+PIkSPFlZWIiIjoH71WuQkODsbgwYNhbW2t95yNjQ0+//xzzJs3r8jCEREREb2u1yo3586dQ4cOHV74fLt27RAREfGvQxERERG9qdcqN8nJyYXeAl6gVKlSuHv37r8ORURERPSmXqvcVKpUCRcvXnzh8+fPn4ejo+O/DkVERET0pl6r3HTq1AkTJ07EkydP9J7LzMzEpEmT8NFHHxVZOCIiIqLX9Vq3ggcGBmLr1q2oXr06hg0bhho1agAArl69isWLFyMvLw8TJkwolqBEREREr+K1yo2DgwOOHz+OoUOHYvz48RBCAABUKhXat2+PxYsXw8HBoViCEhEREb2K117Er0qVKti1axcePHiA69evQwgBd3d3lClTpjjyEREREb2WN1qhGADKlCmDRo0aFWUWIiIion/tjfaWIiIiIjJULDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgGUW4WL14MFxcXmJmZoUmTJjh16tQrfd6mTZugUqnQpUuX4g1IREREbw3Zy83mzZsREBCASZMmITIyEvXr10f79u1x586dl35eXFwcRo8ejXfffVeipERERPQ2kL3czJs3D4MHD4afnx88PDwQEhICCwsLrFq16oWfk5eXh969e2PKlClwc3OTMC0REREZOlnLTXZ2NiIiItC2bVvtmFqtRtu2bREWFvbCz5s6dSrs7e0xcODAfzxGVlYWUlNTdR5ERESkXLKWm5SUFOTl5cHBwUFn3MHBAUlJSYV+ztGjR7Fy5UosX778lY4xa9Ys2NjYaB9OTk7/OjcREREZLtkvS72Ox48fo2/fvli+fDns7Oxe6XPGjx+PR48eaR8JCQnFnJKIiIjkVErOg9vZ2cHIyAjJyck648nJyahQoYLe62NiYhAXF4fOnTtrx/Lz8wEApUqVQlRUFKpWrarzOaampjA1NS2G9ERERGSIZD1zY2JigoYNGyI0NFQ7lp+fj9DQUDRt2lTv9TVr1sSFCxdw9uxZ7ePjjz9G69atcfbsWV5yIiIiInnP3ABAQEAAfH194e3tjcaNGyM4OBjp6enw8/MDAPTr1w+VKlXCrFmzYGZmhjp16uh8vq2tLQDojRMREVHJJHu56dmzJ+7evYugoCAkJSXB09MTe/bs0U4y1mg0UKvfqqlBREREJCPZyw0ADBs2DMOGDSv0uYMHD770c9esWVP0gYiIiOitxVMiREREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCgsN0RERKQoLDdERESkKCw3REREpCil5A5ARPLSaDRISUmROwYAwM7ODs7OznLHIKK3HMsNUQmm0WhQs2YtZGZmyB0FAGBuboGrV6+w4BDRv8JyQ1SCpaSkIDMzA00GTIK1o4usWVIT43By1RSkpKSw3BDRv8JyQ0SwdnRBWecacscgIioSnFBMREREisJyQ0RERIrCckNERESKwnJDREREisJyQ0RERIrCckNERESKwnJDREREisJyQ0RERIrCckNERESKwnJDREREisJyQ0RERIrCckNERESKwnJDREREisJyQ0RERIrCckNERESKwnJDREREisJyQ0RERIrCckNERESKwnJDREREimIQ5Wbx4sVwcXGBmZkZmjRpglOnTr3wtcuXL8e7776LMmXKoEyZMmjbtu1LX09EREQli+zlZvPmzQgICMCkSZMQGRmJ+vXro3379rhz506hrz948CB8fHxw4MABhIWFwcnJCe3atcOtW7ckTk5ERESGSPZyM2/ePAwePBh+fn7w8PBASEgILCwssGrVqkJfv2HDBnzxxRfw9PREzZo1sWLFCuTn5yM0NFTi5ERERGSIZC032dnZiIiIQNu2bbVjarUabdu2RVhY2Ct9jYyMDOTk5KBs2bKFPp+VlYXU1FSdBxERESmXrOUmJSUFeXl5cHBw0Bl3cHBAUlLSK32NsWPHomLFijoF6VmzZs2CjY2N9uHk5PSvcxMREZHhkv2y1L8xe/ZsbNq0Cb///jvMzMwKfc348ePx6NEj7SMhIUHilERERCSlUnIe3M7ODkZGRkhOTtYZT05ORoUKFV76ud9//z1mz56N/fv3o169ei98nampKUxNTYskLxERERk+Wc/cmJiYoGHDhjqTgQsmBzdt2vSFnzdnzhxMmzYNe/bsgbe3txRRiYiI6C0h65kbAAgICICvry+8vb3RuHFjBAcHIz09HX5+fgCAfv36oVKlSpg1axYA4Ntvv0VQUBA2btwIFxcX7dwcS0tLWFpayvb7ICIiIsMge7np2bMn7t69i6CgICQlJcHT0xN79uzRTjLWaDRQq/93gmnJkiXIzs7Gf/7zH52vM2nSJEyePFnK6PSKNBoNUlJS5I4B4OmlUGdnZ7ljEBFRMZK93ADAsGHDMGzYsEKfO3jwoM7HcXFxxR+IioxGo0HNmrWQmZkhdxQAgLm5Ba5evcKCQ0SkYAZRbki5UlJSkJmZgSYDJsHa0UXWLKmJcTi5agpSUlJYboiIFIzlhiRh7eiCss415I5BREQlwFu9zg0RERHR81huiIiISFFYboiIiEhRWG6IiIhIUVhuiIiISFFYboiIiEhRWG6IiIhIUVhuiIiISFG4iJ/CXblypUQfn4iISh6WG4XKfHQPgAp9+vSROwoAICcrW+4IRERUQrDcKFROxmMAAp69xqK8a03ZciReCMPFP5chNzdXtgxERFSysNwonKW9s6x7OqUmxsl2bCIiKpk4oZiIiIgUheWGiIiIFIWXpYhkotFokJKSImsG3s1GRErEckMkA41Gg5o1ayEzM0PuKAB4NxsRKQvLDZEMUlJSkJmZgSYDJsHa0UW2HLybjYiUiOWGSEbWji68m42IqIhxQjEREREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQrLDRERESkKyw0REREpCssNERERKQoX8SMig2Io+13Z2dnB2dlZ7hhE9AZYbojIIGQ+ugdAhT59+sgdBQBgbm6Bq1evsOAQvYVYbojIIORkPAYg4NlrLMq71pQ1S2piHE6umoKUlBSWG6K3EMsNERkUS3tnWffbIqK3HycUExERkaKw3BAREZGisNwQERGRorDcEBERkaKw3BAREZGisNwQERGRorDcEBERkaKw3BAREZGisNwQERGRorDcEBERkaKw3BAREZGisNwQERGRorDcEBERkaKw3BAREZGisNwQERGRorDcEBERkaKw3BAREZGisNwQERGRorDcEBERkaKw3BAREZGisNwQERGRorDcEBERkaKw3BAREZGisNwQERGRorDcEBERkaKUkjsAACxevBjfffcdkpKSUL9+ffzwww9o3LjxC1//66+/YuLEiYiLi4O7uzu+/fZbdOrUScLERETS0Gg0SElJkTsGAMDOzg7Ozs5yxyD6R7KXm82bNyMgIAAhISFo0qQJgoOD0b59e0RFRcHe3l7v9cePH4ePjw9mzZqFjz76CBs3bkSXLl0QGRmJOnXqyPA7oLfNlStX5I5gEBnI8Gk0GtSsWQuZmRlyRwEAmJqa4bfftsDR0VHuKMjKyoKpqancMVj4DJTs5WbevHkYPHgw/Pz8AAAhISHYuXMnVq1ahXHjxum9fsGCBejQoQPGjBkDAJg2bRr27duHRYsWISQkRNLs9HbJfHQPgAp9+vSRO4pWTla23BHoJeQuoVeuXEFmZgaaDJgEa0cXWbPcjT6Hs78swEcffSRrDi2VChBC7hQGVfhYtP5H1nKTnZ2NiIgIjB8/XjumVqvRtm1bhIWFFfo5YWFhCAgI0Blr3749tm3bVujrs7KykJWVpf340aNHAIDU1NR/mV5fWloaAOB+fBRyszKL/Ou/jtTEeADAo1vRMC6lKvE5AOBezEUAAm6tesDGobKsWe7HXUH8yT24F38FKuTJlsOQ/n4MKUtKzAUAMJginJWeJvv3lKzHD2Fo/3/kzvLo9g3cOPKHwRQ+U1MzrF+/Dg4ODnJHQYUKFVChQoUi/ZoFP7fFq5RaIaNbt24JAOL48eM642PGjBGNGzcu9HOMjY3Fxo0bdcYWL14s7O3tC339pEmTBAA++OCDDz744EMB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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "g = sns.histplot(df.originTenantId)\n",
    "g.set_xticklabels(g.get_xticklabels(), rotation=90);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3db1edc8",
   "metadata": {},
   "source": [
    "### Outline of project"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fdf82786",
   "metadata": {},
   "source": [
    "1. German only\n",
    "- Multinomial Naive Bayes (MNB) (with described preprocessing)\n",
    "- mBert (with described preprocessing)\n",
    "\n",
    "2. French only (?)\n",
    "- Multinomial Naive Bayes (MNB) (with described preprocessing)\n",
    "- mBert (with described preprocessing)\n",
    "\n",
    "3. Multilingual\n",
    "- Multinomial Naive Bayes (MNB) (with described preprocessing)\n",
    "- mBert (with described preprocessing)\n",
    "\n",
    "Should all newpapers be combined?\n",
    "\n",
    "Otherwise: do the following per case:\n",
    "- Training of one classifier based on the whole corpus.\n",
    "- Training of one classifier per newspaper.\n",
    "- Training of one classifier based on the whole corpus and fine-tuning per newspaper.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "126164ff",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pp_env",
   "language": "python",
   "name": "pp_env"
  },
  "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.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}