{ "cells": [ { "cell_type": "markdown", "id": "10263b62", "metadata": { "papermill": { "duration": 0.004515, "end_time": "2025-06-24T13:07:59.390035", "exception": false, "start_time": "2025-06-24T13:07:59.385520", "status": "completed" }, "tags": [] }, "source": [ "# Named Entity Recognition dengan BERT\n", "## Dataset: Indonesian Universal Dependencies GSD\n", "\n", "Notebook ini akan mengimplementasikan Named Entity Recognition (NER) menggunakan model BERT yang dilatih pada dataset Indonesian Universal Dependencies GSD dari https://universaldependencies.org/\n", "\n", "### Tahapan:\n", "1. Download dan preprocessing data CoNLL-U\n", "2. Ekstraksi entitas dari annotasi Universal Dependencies\n", "3. Persiapan data untuk training BERT\n", "4. Training model BERT untuk NER\n", "5. Evaluasi dan testing model" ] }, { "cell_type": "code", "execution_count": 1, "id": "ec0b4ef1", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:07:59.398544Z", "iopub.status.busy": "2025-06-24T13:07:59.398286Z", "iopub.status.idle": "2025-06-24T13:07:59.404450Z", "shell.execute_reply": "2025-06-24T13:07:59.403900Z" }, "papermill": { "duration": 0.01161, "end_time": "2025-06-24T13:07:59.405519", "exception": false, "start_time": "2025-06-24T13:07:59.393909", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "import os\n", "os.environ[\"WANDB_DISABLED\"] = \"true\"" ] }, { "cell_type": "code", "execution_count": 2, "id": "e694ddd9", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:07:59.413365Z", "iopub.status.busy": "2025-06-24T13:07:59.413084Z", "iopub.status.idle": "2025-06-24T13:07:59.416021Z", "shell.execute_reply": "2025-06-24T13:07:59.415511Z" }, "papermill": { "duration": 0.008037, "end_time": "2025-06-24T13:07:59.417103", "exception": false, "start_time": "2025-06-24T13:07:59.409066", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "# !pip install transformers[torch]" ] }, { "cell_type": "code", "execution_count": 3, "id": "c9e96d05", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:07:59.425395Z", "iopub.status.busy": "2025-06-24T13:07:59.425181Z", "iopub.status.idle": "2025-06-24T13:07:59.427990Z", "shell.execute_reply": "2025-06-24T13:07:59.427500Z" }, "papermill": { "duration": 0.008231, "end_time": "2025-06-24T13:07:59.428976", "exception": false, "start_time": "2025-06-24T13:07:59.420745", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "# Install required libraries\n", "# !pip install transformers torch torchvision torchaudio\n", "# !pip install datasets\n", "# !pip install seqeval\n", "# !pip install requests\n", "# !pip install pandas numpy matplotlib seaborn\n", "# !pip install scikit-learn\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "4a0dd4c3", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:07:59.436595Z", "iopub.status.busy": "2025-06-24T13:07:59.436413Z", "iopub.status.idle": "2025-06-24T13:07:59.438998Z", "shell.execute_reply": "2025-06-24T13:07:59.438505Z" }, "papermill": { "duration": 0.007495, "end_time": "2025-06-24T13:07:59.440019", "exception": false, "start_time": "2025-06-24T13:07:59.432524", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "# # Uninstall current PyTorch and reinstall with CUDA support\n", "# !pip uninstall torch torchvision torchaudio -y" ] }, { "cell_type": "code", "execution_count": 5, "id": "3bd053f7", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:07:59.447730Z", "iopub.status.busy": "2025-06-24T13:07:59.447531Z", "iopub.status.idle": "2025-06-24T13:08:06.333847Z", "shell.execute_reply": "2025-06-24T13:08:06.332849Z" }, "papermill": { "duration": 6.891834, "end_time": "2025-06-24T13:08:06.335453", "exception": false, "start_time": "2025-06-24T13:07:59.443619", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting seqeval\r\n", " Downloading seqeval-1.2.2.tar.gz (43 kB)\r\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m43.6/43.6 kB\u001b[0m \u001b[31m2.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\r\n", "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\r\n", "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.11/dist-packages (from seqeval) (1.26.4)\r\n", "Requirement already satisfied: scikit-learn>=0.21.3 in /usr/local/lib/python3.11/dist-packages (from seqeval) (1.2.2)\r\n", "Requirement already satisfied: mkl_fft in /usr/local/lib/python3.11/dist-packages (from numpy>=1.14.0->seqeval) (1.3.8)\r\n", "Requirement already satisfied: mkl_random in /usr/local/lib/python3.11/dist-packages (from numpy>=1.14.0->seqeval) (1.2.4)\r\n", "Requirement already satisfied: mkl_umath in /usr/local/lib/python3.11/dist-packages (from numpy>=1.14.0->seqeval) (0.1.1)\r\n", "Requirement already satisfied: mkl in /usr/local/lib/python3.11/dist-packages (from numpy>=1.14.0->seqeval) (2025.1.0)\r\n", "Requirement already satisfied: tbb4py in /usr/local/lib/python3.11/dist-packages (from numpy>=1.14.0->seqeval) (2022.1.0)\r\n", "Requirement already satisfied: mkl-service in /usr/local/lib/python3.11/dist-packages (from numpy>=1.14.0->seqeval) (2.4.1)\r\n", "Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.11/dist-packages (from scikit-learn>=0.21.3->seqeval) (1.15.2)\r\n", "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from scikit-learn>=0.21.3->seqeval) (1.5.0)\r\n", "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn>=0.21.3->seqeval) (3.6.0)\r\n", "Requirement already satisfied: intel-openmp<2026,>=2024 in /usr/local/lib/python3.11/dist-packages (from mkl->numpy>=1.14.0->seqeval) (2024.2.0)\r\n", "Requirement already satisfied: tbb==2022.* in /usr/local/lib/python3.11/dist-packages (from mkl->numpy>=1.14.0->seqeval) (2022.1.0)\r\n", "Requirement already satisfied: tcmlib==1.* in /usr/local/lib/python3.11/dist-packages (from tbb==2022.*->mkl->numpy>=1.14.0->seqeval) (1.3.0)\r\n", "Requirement already satisfied: intel-cmplr-lib-rt in /usr/local/lib/python3.11/dist-packages (from mkl_umath->numpy>=1.14.0->seqeval) (2024.2.0)\r\n", "Requirement already satisfied: intel-cmplr-lib-ur==2024.2.0 in /usr/local/lib/python3.11/dist-packages (from intel-openmp<2026,>=2024->mkl->numpy>=1.14.0->seqeval) (2024.2.0)\r\n", "Building wheels for collected packages: seqeval\r\n", " Building wheel for seqeval (setup.py) ... \u001b[?25l\u001b[?25hdone\r\n", " Created wheel for seqeval: filename=seqeval-1.2.2-py3-none-any.whl size=16162 sha256=b01e162db5056f5a20ba8427dea99088cd95185142906813e408075e42bc2748\r\n", " Stored in directory: /root/.cache/pip/wheels/bc/92/f0/243288f899c2eacdfa8c5f9aede4c71a9bad0ee26a01dc5ead\r\n", "Successfully built seqeval\r\n", "Installing collected packages: seqeval\r\n", "Successfully installed seqeval-1.2.2\r\n" ] } ], "source": [ "!pip install seqeval" ] }, { "cell_type": "code", "execution_count": 6, "id": "467d0ba7", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:08:06.346032Z", "iopub.status.busy": "2025-06-24T13:08:06.345345Z", "iopub.status.idle": "2025-06-24T13:08:10.783348Z", "shell.execute_reply": "2025-06-24T13:08:10.782468Z" }, "papermill": { "duration": 4.444625, "end_time": "2025-06-24T13:08:10.784704", "exception": false, "start_time": "2025-06-24T13:08:06.340079", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyTorch dibuat dengan CUDA versi: 12.4\n" ] } ], "source": [ "import torch\n", "print(f\"PyTorch dibuat dengan CUDA versi: {torch.version.cuda}\")" ] }, { "cell_type": "code", "execution_count": 7, "id": "fabe7a34", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:08:10.794897Z", "iopub.status.busy": "2025-06-24T13:08:10.794574Z", "iopub.status.idle": "2025-06-24T13:08:37.235283Z", "shell.execute_reply": "2025-06-24T13:08:37.234236Z" }, "papermill": { "duration": 26.447777, "end_time": "2025-06-24T13:08:37.236971", "exception": false, "start_time": "2025-06-24T13:08:10.789194", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-06-24 13:08:24.407775: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:477] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", "E0000 00:00:1750770504.622199 19 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", "E0000 00:00:1750770504.685223 19 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Using device: cuda\n" ] } ], "source": [ "import os\n", "import re\n", "import requests\n", "import pandas as pd\n", "import numpy as np\n", "from collections import defaultdict, Counter\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "import torch\n", "from torch.utils.data import Dataset, DataLoader\n", "from transformers import (\n", " AutoTokenizer, \n", " AutoModelForTokenClassification,\n", " # TrainingArguments,\n", " # Trainer,\n", " DataCollatorForTokenClassification\n", ")\n", "from datasets import Dataset as HFDataset\n", "from seqeval.metrics import accuracy_score, classification_report, f1_score\n", "from sklearn.metrics import confusion_matrix\n", "\n", "# Set random seed for reproducibility\n", "torch.manual_seed(42)\n", "np.random.seed(42)\n", "\n", "# Check if GPU is available\n", "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n", "print(f\"Using device: {device}\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "32a87f32", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:08:37.252872Z", "iopub.status.busy": "2025-06-24T13:08:37.252055Z", "iopub.status.idle": "2025-06-24T13:08:37.494549Z", "shell.execute_reply": "2025-06-24T13:08:37.493660Z" }, "papermill": { "duration": 0.251311, "end_time": "2025-06-24T13:08:37.496193", "exception": false, "start_time": "2025-06-24T13:08:37.244882", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading id_gsd-ud-train.conllu...\n", "Successfully downloaded id_gsd-ud-train.conllu\n", "Downloading id_gsd-ud-test.conllu...\n", "Successfully downloaded id_gsd-ud-test.conllu\n", "Downloading id_gsd-ud-dev.conllu...\n", "Successfully downloaded id_gsd-ud-dev.conllu\n" ] } ], "source": [ "# URLs for Indonesian Universal Dependencies GSD dataset\n", "urls = {\n", " 'train': 'https://raw.githubusercontent.com/UniversalDependencies/UD_Indonesian-GSD/refs/heads/master/id_gsd-ud-train.conllu',\n", " 'test': 'https://raw.githubusercontent.com/UniversalDependencies/UD_Indonesian-GSD/refs/heads/master/id_gsd-ud-test.conllu',\n", " 'dev': 'https://raw.githubusercontent.com/UniversalDependencies/UD_Indonesian-GSD/refs/heads/master/id_gsd-ud-dev.conllu'\n", "}\n", "\n", "def download_conllu_data(url, filename):\n", " \"\"\"Download CoNLL-U file from URL\"\"\"\n", " print(f\"Downloading {filename}...\")\n", " response = requests.get(url)\n", " if response.status_code == 200:\n", " with open(filename, 'w', encoding='utf-8') as f:\n", " f.write(response.text)\n", " print(f\"Successfully downloaded {filename}\")\n", " return True\n", " else:\n", " print(f\"Failed to download {filename}. Status code: {response.status_code}\")\n", " return False\n", "\n", "# Download all files\n", "for split, url in urls.items():\n", " filename = f\"id_gsd-ud-{split}.conllu\"\n", " download_conllu_data(url, filename)" ] }, { "cell_type": "code", "execution_count": 9, "id": "4560d1bf", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:08:37.512227Z", "iopub.status.busy": "2025-06-24T13:08:37.511685Z", "iopub.status.idle": "2025-06-24T13:08:37.748142Z", "shell.execute_reply": "2025-06-24T13:08:37.746950Z" }, "papermill": { "duration": 0.245031, "end_time": "2025-06-24T13:08:37.749486", "exception": false, "start_time": "2025-06-24T13:08:37.504455", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parsing id_gsd-ud-train.conllu...\n", "Found 4482 sentences in train set\n", "Parsing id_gsd-ud-dev.conllu...\n", "Found 559 sentences in dev set\n", "Parsing id_gsd-ud-test.conllu...\n", "Found 557 sentences in test set\n", "\\nData loading complete!\n" ] } ], "source": [ "def parse_conllu_file(filename):\n", " \"\"\"\n", " Parse CoNLL-U file and extract sentences with NER labels\n", " Returns list of sentences, each containing list of (word, pos_tag, ner_tag) tuples\n", " \"\"\"\n", " sentences = []\n", " current_sentence = []\n", " \n", " with open(filename, 'r', encoding='utf-8') as f:\n", " for line in f:\n", " line = line.strip()\n", " \n", " # Skip comments and empty lines\n", " if line.startswith('#') or not line:\n", " if current_sentence:\n", " sentences.append(current_sentence)\n", " current_sentence = []\n", " continue\n", " \n", " # Parse CoNLL-U format\n", " parts = line.split('\\t')\n", " if len(parts) >= 10:\n", " token_id = parts[0]\n", " \n", " # Skip multi-word tokens (contains '-')\n", " if '-' in token_id or '.' in token_id:\n", " continue\n", " \n", " word = parts[1]\n", " pos_tag = parts[3] # UPOS\n", " misc = parts[9] # MISC column might contain NER info\n", " \n", " # Extract NER information from MISC field or create based on POS tags\n", " ner_tag = extract_ner_from_misc(misc, pos_tag)\n", " \n", " current_sentence.append((word, pos_tag, ner_tag))\n", " \n", " # Add the last sentence if it exists\n", " if current_sentence:\n", " sentences.append(current_sentence)\n", " \n", " return sentences\n", "\n", "def extract_ner_from_misc(misc, pos_tag):\n", " \"\"\"\n", " Extract NER tags from MISC field or create based on POS tags\n", " Since Universal Dependencies doesn't have standard NER tags,\n", " we'll create them based on POS tags and patterns\n", " \"\"\"\n", " # Check if there's SpaceAfter=No or other info\n", " if misc and misc != '_':\n", " # Look for any NER-like annotations\n", " if 'NER=' in misc:\n", " return misc.split('NER=')[1].split('|')[0]\n", " \n", " # Create NER tags based on POS tags for common entity types\n", " if pos_tag == 'PROPN': # Proper noun\n", " return 'B-PER' # Default to person, can be refined later\n", " elif pos_tag == 'NUM':\n", " return 'B-NUM'\n", " else:\n", " return 'O' # Outside any entity\n", "\n", "def create_ner_tags_from_pos(sentences):\n", " \"\"\"\n", " Create more sophisticated NER tags based on POS patterns and context\n", " \"\"\"\n", " processed_sentences = []\n", " \n", " for sentence in sentences:\n", " processed_sentence = []\n", " prev_pos = None\n", " \n", " for i, (word, pos_tag, _) in enumerate(sentence):\n", " # Better NER tag assignment based on patterns\n", " if pos_tag == 'PROPN':\n", " # Check if it's likely a person name (following patterns)\n", " if i > 0 and sentence[i-1][1] == 'PROPN':\n", " ner_tag = 'I-PER' # Inside person name\n", " elif (i < len(sentence) - 1 and sentence[i+1][1] == 'PROPN'):\n", " ner_tag = 'B-PER' # Beginning of person name\n", " else:\n", " # Single proper noun - could be person, location, or organization\n", " if any(indicator in word.lower() for indicator in ['jakarta', 'indonesia', 'surabaya', 'bandung']):\n", " ner_tag = 'B-LOC'\n", " elif any(indicator in word.lower() for indicator in ['universitas', 'sekolah', 'rumah sakit', 'bank']):\n", " ner_tag = 'B-ORG'\n", " else:\n", " ner_tag = 'B-PER'\n", " elif pos_tag == 'NUM':\n", " ner_tag = 'B-NUM'\n", " else:\n", " ner_tag = 'O'\n", " \n", " processed_sentence.append((word, pos_tag, ner_tag))\n", " prev_pos = pos_tag\n", " \n", " processed_sentences.append(processed_sentence)\n", " \n", " return processed_sentences\n", "\n", "# Parse all files\n", "data = {}\n", "for split in ['train', 'dev', 'test']:\n", " filename = f\"id_gsd-ud-{split}.conllu\"\n", " print(f\"Parsing {filename}...\")\n", " sentences = parse_conllu_file(filename)\n", " # Create NER tags from POS patterns\n", " sentences = create_ner_tags_from_pos(sentences)\n", " data[split] = sentences\n", " print(f\"Found {len(sentences)} sentences in {split} set\")\n", "\n", "print(\"\\\\nData loading complete!\")" ] }, { "cell_type": "code", "execution_count": 10, "id": "40251e67", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:08:37.760511Z", "iopub.status.busy": "2025-06-24T13:08:37.759781Z", "iopub.status.idle": "2025-06-24T13:08:37.799590Z", "shell.execute_reply": "2025-06-24T13:08:37.798274Z" }, "papermill": { "duration": 0.046918, "end_time": "2025-06-24T13:08:37.801254", "exception": false, "start_time": "2025-06-24T13:08:37.754336", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dataset Statistics:\n", "==================================================\n", "TRAIN set:\n", " - Sentences: 4482\n", " - Tokens: 97602\n", " - Average tokens per sentence: 21.78\n", "DEV set:\n", " - Sentences: 559\n", " - Tokens: 12661\n", " - Average tokens per sentence: 22.65\n", "TEST set:\n", " - Sentences: 557\n", " - Tokens: 11756\n", " - Average tokens per sentence: 21.11\n", "\n", "NER Tag Distribution:\n", "==================================================\n", "\n", "TRAIN set:\n", " O: 76190 (78.06%)\n", " B-PER: 11110 (11.38%)\n", " I-PER: 6462 (6.62%)\n", " B-NUM: 3478 (3.56%)\n", " B-LOC: 356 (0.36%)\n", " B-ORG: 6 (0.01%)\n", "\n", "DEV set:\n", " O: 9934 (78.46%)\n", " B-PER: 1449 (11.44%)\n", " I-PER: 827 (6.53%)\n", " B-NUM: 405 (3.20%)\n", " B-LOC: 43 (0.34%)\n", " B-ORG: 3 (0.02%)\n", "\n", "TEST set:\n", " O: 9209 (78.33%)\n", " B-PER: 1334 (11.35%)\n", " I-PER: 790 (6.72%)\n", " B-NUM: 385 (3.27%)\n", " B-LOC: 37 (0.31%)\n", " B-ORG: 1 (0.01%)\n", "\n", "OVERALL:\n", " O: 95333 (78.13%)\n", " B-PER: 13893 (11.39%)\n", " I-PER: 8079 (6.62%)\n", " B-NUM: 4268 (3.50%)\n", " B-LOC: 436 (0.36%)\n", " B-ORG: 10 (0.01%)\n", "\n", "Unique NER labels: ['B-PER', 'O', 'I-PER', 'B-LOC', 'B-NUM', 'B-ORG']\n", "Number of labels: 6\n" ] } ], "source": [ "# Data exploration\n", "print(\"Dataset Statistics:\")\n", "print(\"=\" * 50)\n", "\n", "# Count sentences and tokens in each split\n", "for split, sentences in data.items():\n", " total_tokens = sum(len(sentence) for sentence in sentences)\n", " print(f\"{split.upper()} set:\")\n", " print(f\" - Sentences: {len(sentences)}\")\n", " print(f\" - Tokens: {total_tokens}\")\n", " print(f\" - Average tokens per sentence: {total_tokens/len(sentences):.2f}\")\n", "\n", "# Analyze NER tag distribution\n", "print(\"\\nNER Tag Distribution:\")\n", "print(\"=\" * 50)\n", "\n", "all_tags = []\n", "for split, sentences in data.items():\n", " split_tags = [tag for sentence in sentences for _, _, tag in sentence]\n", " tag_counts = Counter(split_tags)\n", " print(f\"\\n{split.upper()} set:\")\n", " for tag, count in tag_counts.most_common():\n", " percentage = (count / len(split_tags)) * 100\n", " print(f\" {tag}: {count} ({percentage:.2f}%)\")\n", " all_tags.extend(split_tags)\n", "\n", "# Overall tag distribution\n", "overall_tag_counts = Counter(all_tags)\n", "print(f\"\\nOVERALL:\")\n", "for tag, count in overall_tag_counts.most_common():\n", " percentage = (count / len(all_tags)) * 100\n", " print(f\" {tag}: {count} ({percentage:.2f}%)\")\n", "\n", "# Create unique labels list for model\n", "unique_labels = list(overall_tag_counts.keys())\n", "label2id = {label: i for i, label in enumerate(unique_labels)}\n", "id2label = {i: label for label, i in label2id.items()}\n", "\n", "print(f\"\\nUnique NER labels: {unique_labels}\")\n", "print(f\"Number of labels: {len(unique_labels)}\")" ] }, { "cell_type": "code", "execution_count": 11, "id": "2d399710", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:08:37.812025Z", "iopub.status.busy": "2025-06-24T13:08:37.811383Z", "iopub.status.idle": "2025-06-24T13:08:38.544830Z", "shell.execute_reply": "2025-06-24T13:08:38.544102Z" }, "papermill": { "duration": 0.74122, "end_time": "2025-06-24T13:08:38.547376", "exception": false, "start_time": "2025-06-24T13:08:37.806156", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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Dp0/fx4nTpxA79690a1bN1y9ehW//vorFi1aJH1rmDPHAwcOYMuWLQgICECVKlVeexr6559/Dnt7e8yePRvHjx/H0qVL8ejRo3zN6ZVTfnLLKT4+Hi1btsTTp08xatQoVK5cGRs2bMAnn3yCbdu25frsz5kzBwYGBvjyyy+RnJyMuXPnwsfHBydOnChQnkREpBuahkNex/KNGzeidu3aaNasGRo2bIjy5cvj119/lRo7+TF58mT89NNPhTpbqmbNmsjKysLPP/8MX1/fV8YeOHAAnTt3hqurK6ZNmwYDAwOsW7cOH3zwAY4cOYLmzZsX+BiYU+/evfH1119j5syZ6Nq162u/CHv69GmetZWFhcVrL9PXNCMKcnlhXvJbe965c0dqpkyaNAkVKlTA2rVri+wMo759+2L16tXYt28fPvzwwzxjwsLC0KtXL3To0AHfffcdgOfzmR09ehSjR49G27ZtMWrUKCxduhRfffUV6tevDwDSf4Hnl+n16tULQ4cOxeDBg1GvXr1X5hUQEAALCwtMnz4dV65cwcqVK3Hz5k3pi7b8yk9uOT179gzt2rXD9evXERAQAAcHB2zduhX9+/dHUlISRo8erRUfEhKCx48fY+jQoZDJZJg7dy66deuG//77762fcUYliCAivUpKShIAxKeffvrKuE8++UQAEGq1WgghRK9evYSVlZXIzMyUYu7duycMDAzEzJkzpWUdOnQQzs7OIjU1VVqWnZ0tWrZsKerWrSstW7dunQAgWrdurbVNIYR4+vRprnwiIiIEAPHTTz9Jy/7++28BQPz999/SMl9fX1GzZs1XvjchhHj//fdFgwYNhBBCzJgxQwAQkZGRQgghYmNjBQAxb968XPt62ePevXtSbM2aNUXHjh1FYmKiSExMFBcuXBB9+/YVAIS/v/9rc8vp1KlTAoBYt26dtCyv8fn1118FAHH48GFp2ccffyzKly8v7ty5Iy27du2aMDIyEvn5dezr6ysqVKjw0vVnz54VAMTYsWOlZe+//754//33peeffvqpNM4vM2/ePAFAxMbG5loHQBgYGIjo6Og8102bNk16Pm3aNAFAfPLJJ1pxI0aMEADEuXPnhBD/+/+bc0xfts1X5VazZk3h6+srPR8zZowAII4cOSIte/z4sXBwcBD29vYiKytLCPG/z1L9+vVFWlqaFLtkyRIBQFy4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r169XnlL+rCwMAFAyGQycevWrTxj/v33X9GvXz9hY2MjypUrJ9555x3RpUsXsW3bNilGc4vZU6dO5Xr9o0ePxIABA0SVKlWEubm5UCqVIiYmJtctZTW3Sc55S9kXb5v7Mnndklmzb4VCIQCIefPm5drXyx45b4Gb89bOL1q/fr0AINatW/faHIUQ4tSpU7nib9++Lbp27SosLCyEQqEQn332mbh7926et+INDw8X7733njA2Nha1a9cWa9euFV988YUwNTV97b59fX213mP58uWFvb298Pb2Ftu2bRNZWVm5XvPirXxXrVol2rZtKypXrixMTExE7dq1xbhx40RycrLW677++mvxzjvvCAMDA61bKuOF20fn9OL71dxm+dKlS6J79+6iYsWKolKlSiIgIEA8e/ZM67VPnz4Vfn5+QqFQiIoVK4rPP/9cJCQk5DmGL8vtxc+jEM8/+927dxcWFhbC1NRUNG/eXOzcuVMr5mW399bczji/nw0iIio8f39/8bI/TTS/j3PWATn1799fGBoaivnz5wsAIjw8/KX70Rz3//zzTyFE3vXHy+qGa9euCUNDwzyPGS86f/68GDdunGjSpImwtLQURkZGolq1auKzzz4TZ86cyRV/9uxZ0a1bN+n4XLNmTfH555/nei8vOwbmxdfXV1SoUCHX8oyMDFG7du1cx3TNOL/skfMY+7K6TQghDh48mOfx+2USExNzxee39hTi+di1adNGmJiYiOrVq4vZs2eLpUuXCgBCpVK9ct+aWkXzMDU1FdWrVxddunQRP/74o0hNTc31mhdr223btomOHTsKKysrYWxsLGrUqCGGDh0q7t27p/W6NWvWiFq1akmfIU29/Ko69cX3q6nXDx06JIYMGSIqVaokzM3NhY+Pj3jw4IHWa7OyssSECRNElSpVRPny5YVSqRTXr1/PcwxfltuLdaQQQsTHx0v/b4yNjYWzs3OuWulVP7MF+WxQ2SATgrOMERHpk5eXF6Kjo3PNQ0VEREREBTdmzBisWrUKT548eelk20RUPPDaBSIiHXr27JnW82vXrmH37t1o166dfhIiIiIiKsFerK0ePHiAn3/+Ga1bt2ZDiqgE4JlSREQ6VK1aNfTv3x+1atXCzZs3sXLlSqSlpeHs2bOvnKCciIiIiHJzcXFBu3btUL9+fcTHx+OHH37A3bt3ER4ejrZt2+o7PSJ6DU50TkSkQ506dcKvv/4KlUoFExMTuLu749tvv2VDioiIiKgQPvroI2zbtg2rV6+GTCZDkyZN8MMPP7AhRVRC6PXyvcOHD+Pjjz+Gra0tZDIZtm/frrVeCIGgoCBUq1YNZmZm8PDwyDXnysOHD+Hj4wO5XA4LCwv4+fnlup3q+fPn0aZNG5iamsLOzi7PW7lu3boVjo6OMDU1hbOzM3bv3l3gXIiIXmfdunW4ceMGUlNTkZycjNDQUDRp0kTfaRERERGVSN9++y2uXr2Kp0+fIiUlBUeOHIGHh4e+0yKifNJrUyolJQWNGzfG8uXL81w/d+5cLF26FMHBwThx4gQqVKgApVKpdft3Hx8fREdHIywsDDt37sThw4cxZMgQab1arUbHjh1Rs2ZNREZGYt68eZg+fbrWbdOPHTuGXr16wc/PD2fPnoWXlxe8vLxw8eLFAuVCRERERERERET5U2zmlJLJZPjjjz/g5eUF4PmZSba2tvjiiy/w5ZdfAgCSk5NhbW2N9evXo2fPnrh8+TKcnJxw6tQpNG3aFAAQGhqKjz76CLdv34atrS1WrlyJyZMnQ6VSwdjYGAAwceJEbN++HTExMQCAHj16ICUlBTt37pTyadGiBVxcXBAcHJyvXIiIiIiIiIiIKP+K7ZxSsbGxUKlUWqdeKhQKuLm5ISIiAj179kRERAQsLCykhhQAeHh4wMDAACdOnEDXrl0RERGBtm3bSg0pAFAqlfjuu+/w6NEjVKpUCREREQgMDNTav1KplC4nzE8u+ZGdnY27d++iYsWKkMlkhRkWIiIi0jMhBB4/fgxbW1sYGPBGxkWN9RIREVHJl996qdg2pVQqFQDA2tpaa7m1tbW0TqVSwcrKSmu9kZERLC0ttWIcHBxybUOzrlKlSlCpVK/dz+tyyUtaWhrS0tKk53fu3IGTk9Mr3jURERGVFLdu3UL16tX1nUapc/fuXdjZ2ek7DSIiIioCr6uXim1TqjSYPXs2ZsyYkWv5rVu3IJfL9ZARERERvSm1Wg07OztUrFhR36mUSppxZb1ERERUcuW3Xiq2TSkbGxsAQHx8PKpVqyYtj4+Ph4uLixSTkJCg9brMzEw8fPhQer2NjQ3i4+O1YjTPXxeTc/3rcsnLpEmTtC4L1PxPkcvlLLKIiIhKOF5a9nZoxpX1EhERUcn3unqp2E6E4ODgABsbG4SHh0vL1Go1Tpw4AXd3dwCAu7s7kpKSEBkZKcUcOHAA2dnZcHNzk2IOHz6MjIwMKSYsLAz16tVDpUqVpJic+9HEaPaTn1zyYmJiIhVULKyIiIiIiIiIiP5Hr02pJ0+eICoqClFRUQCeTygeFRWFuLg4yGQyjBkzBt988w3++usvXLhwAf369YOtra10h7769eujU6dOGDx4ME6ePImjR48iICAAPXv2hK2tLQCgd+/eMDY2hp+fH6Kjo7F582YsWbJE6wym0aNHIzQ0FAsWLEBMTAymT5+O06dPIyAgAADylQsREREREREREeWfXi/fO336NNq3by891zSKfH19sX79eowfPx4pKSkYMmQIkpKS0Lp1a4SGhsLU1FR6zcaNGxEQEIAOHTrAwMAA3t7eWLp0qbReoVBg37598Pf3h6urK6pUqYKgoCAMGTJEimnZsiVCQkIwZcoUfPXVV6hbty62b9+Ohg0bSjH5yYWIiIiIiIiIiPJHJoQQ+k6irFCr1VAoFEhOTualfERERCUUj+dvF8eXiIio5Mvv8bzYzilFRERERERERESlF5tSRERERERERESkc2xKERERERERERGRzrEpRUREREREREREOsemFBERERERERER6RybUkREREREREREpHNsShERERERERERkc4Z6TsBIn2zn7hL3ynozY05nvpOgYiIiEoA1ktERPQ28EwpIiIiIiIiIiLSOTaliIiIiIiIiIhI59iUIiIiIiIiIiIinWNTioiIiIiIiIiIdI5NKSIiIiIiIiIi0jk2pYiIiIiIiIiISOfYlCIiIiIiIiIiIp1jU4qIiIiIiIiIiHSOTSkiIiIiIiIiItI5NqWIiIiIiIiIiEjn2JQiIiIiIiIiIiKdY1OKiIiIiIiIiIh0jk0pIiIiIiIiIiLSOTaliIiIiIiIiIhI59iUIiIiIiIiIiIinWNTioiIiIiIiIiIdI5NKSIiIqISzt7eHjKZLNfD398fAJCamgp/f39UrlwZ5ubm8Pb2Rnx8vNY24uLi4OnpifLly8PKygrjxo1DZmamVszBgwfRpEkTmJiYoE6dOli/fn2uXJYvXw57e3uYmprCzc0NJ0+efGvvm4iIiEo2NqWIiIiISrhTp07h3r170iMsLAwA8NlnnwEAxo4dix07dmDr1q04dOgQ7t69i27dukmvz8rKgqen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sXTpUmm9QqHAvn374O/vD1dXV1SpUgVBQUEYMmSIFNOyZUuEhIRgypQp+Oqrr1C3bl1s374dDRs21M1gEBERUYkiE0IIfSdRVqjVaigUCiQnJ3O+hGLEfuIufaegNzfmeOo7BSKiEofH87eL41s8sV4iIqKCyO/xnJfvERERERERERGRzrEpRUREREREREREOsemFBERERERERER6RybUkREREREREREpHNsShERERERERERkc6xKUVERERERERERDrHphQREREREREREekcm1JERERERERERKRzbEoREREREREREZHOsSlFREREREREREQ6x6YUERERERERERHpHJtSRERERERERESkc2xKERERERERERGRzrEpRUREREREREREOsemFBERERERERER6RybUkREREREREREpHNsShERERERERERkc6xKUVERERERERERDrHphQREREREREREekcm1JERERERERERKRzbEoREREREREREZHOsSlFREREREREREQ6x6YUERERERERERHpHJtSRERERERERESkc2xKEREREZVw06dPh0wm03o4OjpK61NTU+Hv74/KlSvD3Nwc3t7eiI+P19pGXFwcPD09Ub58eVhZWWHcuHHIzMzUijl48CCaNGkCExMT1KlTB+vXr8+Vy/Lly2Fvbw9TU1O4ubnh5MmTb+U9ExERUcnHphQRERFRKdCgQQPcu3dPevzzzz/SurFjx2LHjh3YunUrDh06hLt376Jbt27S+qysLHh6eiI9PR3Hjh3Dhg0bsH79egQFBUkxsbGx8PT0RPv27REVFYUxY8Zg0KBB2Lt3rxSzefNmBAYGYtq0aThz5gwaN24MpVKJhIQE3QwCERERlShsShERERGVAkZGRrCxsZEeVapUAQAkJyfjhx9+wMKFC/HBBx/A1dUV69atw7Fjx3D8+HEAwL59+3Dp0iX88ssvcHFxQefOnfH1119j+fLlSE9PBwAEBwfDwcEBCxYsQP369REQEIDu3btj0aJFUg4LFy7E4MGDMWDAADg5OSE4OBjly5fHjz/+qPsBISIiomKPTSkiIiKiUuDatWuwtbVFrVq14OPjg7i4OABAZGQkMjIy4OHhIcU6OjqiRo0aiIiIAABERETA2dkZ1tbWUoxSqYRarUZ0dLQUk3MbmhjNNtLT0xEZGakVY2BgAA8PDykm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1sX27dvRsGFD3QwGEREREREREVEpIhNCCH0nUVao1WooFAokJyfzUr5ixH7iLn2noDc35njqOwUiohKHx/O3i+NbPLFeIiKigsjv8bxYX75HRERERERERESlE5tSRERERERERESkc2xKERERERERERGRzhWqKVWrVi08ePAg1/KkpCTUqlXrjZMiIiIiKgtYUxEREVFZVqim1I0bN5CVlZVreVpaGu7cufPGSRERERGVBaypiIiIqCwzKkjwX3/9Jf177969UCgU0vOsrCyEh4fD3t6+yJIjIiIiKo1YUxEREREVsCnl5eUFAJDJZPD19dVaV65cOdjb22PBggVFlhwRERFRacSaioiIiKiATans7GwAgIODA06dOoUqVaq8laSIiIiISjPWVEREREQFbEppxMbGFnUeRERERGUOayoiIiIqywrVlAKA8PBwhIeHIyEhQfq2T+PHH39848SIiIiIygLWVERERFRWFaopNWPGDMycORNNmzZFtWrVIJPJijovIiIiolKPNRURERGVZYVqSgUHB2P9+vXo27dvUedDREREVGawpiIiIqKyzKAwL0pPT0fLli2LOhciIiKiMoU1FREREZVlhWpKDRo0CCEhIUWdCxEREVGZwpqKiIiIyrJCXb6XmpqK1atXY//+/WjUqBHKlSuntX7hwoVFkhwRERFRacaaioiIiMqyQjWlzp8/DxcXFwDAxYsXtdZxgk4iIiKi/GFNRURERGVZoZpSf//9d1HnQURERFTmsKYiIiKisqxQc0oRERERUfE0Z84cyGQyjBkzRlqWmpoKf39/VK5cGebm5vD29kZ8fLzW6+Li4uDp6Yny5cvDysoK48aNQ2ZmplbMwYMH0aRJE5iYmKBOnTpYv359rv0vX74c9vb2MDU1hZubG06ePPk23iYRERGVAoU6U6p9+/avPKX8wIEDhU6IiIiIqKwo6prq1KlTWLVqFRo1aqS1fOzYsdi1axe2bt0KhUKBgIAAdOvWDUePHgUAZGVlwdPTEzY2Njh27Bju3buHfv36oVy5cvj2228BALGxsfD09MSwYcOwceNGhIeHY9CgQahWrRqUSiUAYPPmzQgMDERwcDDc3NywePFiKJVKXLlyBVZWVgV6L0RERFT6FepMKRcXFzRu3Fh6ODk5IT09HWfOnIGzs3NR50hERERUKhVlTfXkyRP4+Phg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HDly5JUxn332GT777LNXJ0xEREQEXr5HRERERERERER6wKYUERERERERERHpHJtSRERERERERESkc2xKERERERERERGRzrEpRUREREREREREOsemFBERERERERER6ZyRvhMgopLJfuIufaegNzfmeOo7BSIiIioBWC8REb0az5QiIiIiIiIiIiKdY1OKiIiIiIiIiIh0jk0pIiIiIiIiIiLSOTaliIiIiIiIiIhI59iUIiIiIiIiIiIinWNTioiIiIiIiIiIdI5NKSIiIiIiIiIi0jk2pYiIiIiIiIiISOfYlCIiIiIiIiIiIp1jU4qIiIiIiIiIiHTOSN8JEBER5Yf9xF36TkFvbszx1HcKREREVAKwXqKShmdKERERERERERGRzrEpRUREREREREREOsemFBERERERERER6RybUkREREREREREpHNsShERERERERERkc6xKUVERERERERERDrHphQREREREREREekcm1IFtHz5ctjb28PU1BRubm44efKkvlMiIiIiKlZYLxEREVF+sClVAJs3b0ZgYCCmTZuGM2fOoHHjxlAqlUhISNB3akRERETFAuslIiIiyi82pQpg4cKFGDx4MAYMGAAnJycEBwejfPny+PHHH/WdGhEREVGxwHqJiIiI8stI3wmUFOnp6YiMjMSkSZOkZQYGBvDw8EBERESer0lLS0NaWpr0PDk5GQCgVqvfSo7ZaU/fynaLuzcdz7I6bsCbjR3HrfAaTttbRJmULBdnKN/o9fzMUXGh+f8hhNBzJsUP66Xii/VS4bFeKhzWS4X3JjUTP3NUXOS3XmJTKp/u37+PrKwsWFtbay23trZGTExMnq+ZPXs2ZsyYkWu5nZ3dW8mxrFIs1ncGJRfHrnA4boXDcSs8jl3x9PjxYygUCn2nUaywXiq++Huk8Dh2hcNxKzyOXeFw3Iqn19VLbEq9RZMmTUJgYKD0PDs7Gw8fPkTlypUhk8n0mFnRUqvVsLOzw61btyCXy/WdTonBcSs8jl3hcNwKh+NWeKV17IQQePz4MWxtbfWdSqnAeoleheNWeBy7wuG4FR7HrnBK67jlt15iUyqfqlSpAkNDQ8THx2stj4+Ph42NTZ6vMTExgYmJidYyCwuLt5Wi3snl8lL1Q6QrHLfC49gVDsetcDhuhVcax45nSOWN9dLrlcafB13guBUex65wOG6F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l+Th4aEXXnghVceYkthut2rVKj3++OMqUaKEhg4dqmvXrum9995TvXr1tHPnziTJ3DPPPKOQkBCNGjVKO3fu1Icffig/Pz+NGTMmVXECADLH1atX9ffffydpL1CggNzc3BQcHCzp1rQEbdu2TfFUAKmVmv1cvXpVjzzyiE6fPq0ePXrogQce0KZNmzRw4ED99ddfmjx5sooWLaqZM2fqpZdeUqtWrax8LrlpHe7k4+Ojfv36afDgwdq5c6ceeuihe/aPj49P9hx6e3srb96891w3I3OnKVOm6KmnnlKHDh0UFxenL7/8Um3bttUPP/ygZs2aWf26dOmihQsXqmPHjqpTp45++eUXu+XpERoaqpIlS2rlypV37RMXF6fw8HDFxsaqd+/eCggI0OnTp/XDDz/o4sWL8vX11Weffab//ve/qlWrlrp37y5JKlmypN122rZtq9KlS2vkyJF2Px4m55dfftGCBQvUp08feXp6asaMGWratKm2bduW6gfIpCS22w0dOlTDhg1TWFiYXnrpJR06dEgzZ87U9u3brTw/0YULF9S0aVO1bt1azzzzjL766iu9/vrrqly58j2nDQG4fQ9wgnvdvpfI19fXVKtWzXqfeHtacq+yZcvardu2bVvj5eVloqOjrbaDBw8aSWbgwIH/Gt9HH31kJBkPDw/z6KOPmrffftusX78+yW1Z69evN5LMvHnz7NqXLVuWpD0tt+8lDld+9NFHTUBAgHU7471u3/u385M4dHvYsGHm3LlzJioqyqxfv97UrFnTSDKLFi1KcYzGJD/E//bbLhP16NHD5MmTx7qtMjY21hQuXNjUrFnT3Lhxw+o3d+5cIylF5+put+8lmjRpkpFkvvvuO6tNd9wK4Ovr+6/Dwu82zD7xVoESJUokOebEZT///LPV9sgjjyS5HTM2NtZUrVrV+Pn5mbi4OGPM//5+77xtIrlt3i22xL/nOXPmWG2J+/nnn3+stl9//dW4uLiYTp06WW2Jn6UXXnjBbputWrUyhQsXTrIvAEDGS8nte3d7bd682erbqVMnI8kULFjQtGrVyowfP94cOHDgnvtOy635Kd3PO++8Y/LmzWsOHz5s1/7GG28YV1dXc/LkSWNM2m/fW7Rokbl48aIpWLCgeeqpp6zld7t9727nsEePHla/xOvyqlWrzLlz58ypU6fMV199ZYoWLWo8PT3NqVOnUnqajDHJX7vvzCPi4uJMpUqVTKNGjay2iIgII8n07dvXrm+XLl1SdK5ScttnixYtjCQrh74z99i1a1eK8sW73SKXmGM899xzd112u8S/jx07dlhtJ06cMF5eXqZVq1ZWW+fOnZPNh5Lb5t1iuzP/Onv2rPHw8DBNmjSx+3+AadOmGUnm448/ttoSP0uffvqp1RYbG2sCAgJMmzZtkuwLuB237wFZVL58+ZJ9Ct/XX3+tlStX2r3mzJlj1+f555/X9evX9c0331htiU/N+7db9yTphRde0LJly9SwYUNt2LBB77zzjurXr6/SpUtr06ZNVr9FixbJ19dXjRs31t9//229qlevrnz58unnn39O6+HbGTp0qKKiopLc5pWclJwfSRoyZIiKFi2qgIAA1a9fXwcOHNCECRP09NNPpzteb29v68+XLl3S33//rfr16+vq1as6ePCgJGnHjh36559/1K1bN7uJxzt06JAhvzhK/xs1lNznKFGBAgW0detW/fnnn2neT+fOne2O+V7c3NzUo0cP672Hh4d69Oihs2fPJvu0oIzy119/KTIyUl26dFGhQoWs9gcffFCNGzfWjz/+mGSdF1980e59/fr19c8//ygmJibT4gQApFz37t2TXPNXrlypChUqWH3mzJmjadOmKSQkRN9++61effVVlS9fXo899ti/PjkuNVK6n0WLFql+/foqWLCgXe4UFham+Pj4JLdlpYWvr6/69u2rJUuWaNeuXffsW7x48WTPYXIPNwkLC1PRokUVFBSkp59+Wnnz5tWSJUvSPbpbss+dLly4oOjoaNWvX9+aTkCSli1bJkl6+eWX7dbt3bt3uvef6N9yp8QJ4JcvX56uW/rvzDHuJTQ0VNWrV7feP/DAA2rRooWWL1+e7NQQGWXVqlWKi4tT37595eLyv7JBt27d5OPjk2SqkHz58un555+33nt4eKhWrVo6evRopsWInIHb94As6vLly8nOddCgQQO7J8Ek5/HHH1ehQoU0f/586z7xL774QlWqVLnrbVx3Cg8PV3h4uK5evaqIiAgtWLBAs2bNUvPmzXXw4EH5+fnpyJEjio6OvuucDGfPnk3Rvv5NgwYN9Oijj2rs2LH/ehFPyfmRbiWybdu21fXr17VmzRpNnTo1wy7s+/bt06BBg7RmzZokBYzE+QZOnDghSSpVqpTd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q0mTJrp586Yk6csvv9TNmzd19epVTZgwQbt27dKxY8ecHKlj/Prrr/rtt99UqVIlubq6yhhj3bvv6+ur9u3by93dXb/99puTI80ejDG6efOmZs2apXz58qlYsWLWssWLFyshIUEHDhzQrFmztHDhQrvzbRjCn8TJkyc1f/58SZKnp6ckqXbt2tqzZ482bNig6dOnKyQkRJ999plmz54tidshEv3yyy+KjY1VUFBQkiHoiefnypUrunDhAkPU/7/E8/L111+rfPnyevXVV61l48eP15AhQ9S8eXO9/PLL+uKLL5wVJpAuXPczH9eu1CM/TzlyzYxFvpR6uSlfoiiFDHX58mVJty56LVq00LPPPqudO3dq5MiRmjx5soYOHarq1atr3bp16t69uxo2bKgXXnhBixcvdm7gmaxUqVKSbn2pSEryZRsSEqISJUro9OnTDo8tO7p586bc3Nz08ssvq23btpo7d64++eQTTZgwQePGjdOAAQPUunVrff/99xoxYoTKlCmjxx9/XGvXruVCd4c//vhD1atX1/PPP68GDRro008/1a5du5QvXz5NmTJFq1at0oULFzRy5EgFBQXpyy+/1JQpUyQl/RznNgkJCXJ3d5e3t7ckJZkfJvH8jB8/3vq3j/+dl3Xr1kmSleifPXtWhw8f1o8//qjZs2ere/fuevHFF615E4DshOt+5uLalTrk56lHrplxyJfSJlflS84YnoWcKTIy0jz11FPm4MGDVlvz5s2NzWYzvr6+5qeffrLrv3fvXvP++++bhx9+2Pz222+ODtehTp06Zfz8/MxTTz1ld+9v4jDf8+fPm7p165rPPvvMWSFmGzt27DDlypUz//zzjzHm1pDW7t27mzJlyhg3Nzfzyy+/WH1jY2NNXFycGTNmjHnuuefMvn37nBV2lrVp0ybz8MMPm3r16pmaNWuaHj16mAceeMCMHj3afPnll+aJJ54wixYtMsYYc+zYMdO8eXPz+OOPmwsXLjg3cCe6fVj5zJkzjc1mM2vXrjXG3Po3ffvyf/75xzz77LPmu+++c3icWVXi+QkLCzNt27a1a4uJibH6nTp1yoSGhpoWLVowlB/ZDtf9zMW1K+XIz1OPXDNjkC+lT27KlyhKIUNERkba3VudOH+CMcZ06NDBeHl5mVWrVpnY2FirPfEfTVxcnGODdZKvv/7aeHh4mI4dO5q9e/faLRs0aJApXrx4jpmsLrMkTs7Zt29fY8z/PkPHjh0zPXr0MJUrVzbTp0+3+t/+ecstn7OUioqKsv68atUq07ZtW/PUU0+Z+fPnm7Vr15rGjRubNm3aGJvNZipWrGiuXLlijDHm5MmT5o8//nBW2E517do1c/36dXPs2DFjzK2E6syZM6ZmzZqmaNGiZvPmzUnWGTx4sKlatao5deqUg6PNuhL/3Y4aNcrkz5/f/Pjjj9ayGzduWMuvXbtmnnnmGTNhwgSnxAmkF9f9jMe1K3XIz1OPXDP9yJcyRm7KlyhKId127dplvL29zZtvvmnX/vfff1t/fvLJJ03RokXNjz/+aH1hJ/5Dyq4V3dS6efOmmTVrlnFzczNly5Y1L7zwgnnrrbdM+/btTcGCBc3OnTudHWKWdrfP2eXLl40x//sVq06dOmby5MnW8hs3bjg0zuzgwoULpn79+ua5556z2pYtW2ZatGhhGjZsaCIiIkxcXJz59ddfTfv27a1f8nPLv9Xk7N+/3zz33HOmUqVKpmjRoqZu3bpm/PjxJi4uzqxdu9aUL1/e+Pj4mPfee89s2LDBfP3116Zr167G19fX7Nq1y9nhO92VK1fMP//8Y01GbIwxGzZsMKVLlzYPP/ywWbNmjV3/hIQE89Zbb5mSJUua33//3dHhAhmC637G4tqVOuTnqUeumX7kS+mTW/MlilJIl/379xtvb28zfPhwu/Zx48aZESNGmEuXLlltTz75pAkMDDSLFy/O1V/eW7ZsMa1btzYVK1Y09erVMy+//LI5cOCAs8PK0vbt22c8PT3N6NGj7drHjx9vunbtan1xJyYLDz/8sBk1apQzQs0WoqOjzYgRI8xDDz1kunfvbrWvXLnSPPnkk6Zhw4Y8Gvo2u3fvNgUKFDAvvviimTx5spk/f76pV6+eKViwoGndurWJjY0127ZtM88++6xxdXU13t7epkyZMiY8PNzs2bPH2eE73b59+8yTTz5pKlSoYB5//HGzYMECa9knn3xiAgICTMWKFc2MGTPM0aNHzXfffWf++9//Gh8fH/6nHTkC1/2MwbUr5cjPU49cM/3Il9InN+dLFKWQZleuXDH169c3DzzwgPn111+t9tGjRxtPT0+zatUqY4z9rwf169c3pUuXtn5xyK1u3rxp/QLF42Pv7erVq6ZDhw7GZrPZ3T89atQo4+vra33OEs/niRMnTPv27U1YWJg5f/68U2LOyhLP08WLF82kSZNM5cqVTY8ePazlicl9o0aNkswzkRudOXPGVK5c2e7x2cbcGqL/xhtvmKJFi5quXbta33P79+83W7ZsMSdPnrT7vOZWkZGRxtfX13Tt2tVMnjzZFC9e3JQrV84uefrqq69MeHi4cXd3N3nz5jUlS5Y0jRs3Nrt373Zi5EDG4rqfPly7Uo78PPXINdOPfCl9cnu+RFEK6bJw4UITGhpqnnvuOXP06FEzceJEU6hQoXv+UnXy5EkHRpg13T4kOjcOj06NhIQEs3btWtOgQQNToUIFY4wx06ZNM4UKFTIrVqxIdp0TJ06Yv/76y5FhZnm3/09Q4p8vXrxoJk6caCpXrmz3q/OqVatM69atzUMPPWQlYrnVli1bTM2aNc3hw4etuTgSb3G4evWq6datm/Hz8zObNm1yZphZ0r59+0z+/PnN22+/bbV98803xmazmc8//9yu719//WX27NljFi9ebA4fPpwrJyNGzsZ1P224dqUN+XnqkGumH/lS2pEvUZRCGly7ds1ER0dbSdX3339vatasaapWrWry5ctn1q9fb4yxTySmTZtmvvzyS6fEi+zpypUr5u+//7aGS0dERJjatWubggULmvz585vt27cnWWf06NFmy5Ytjg41y/v999/N1KlT7SaIvT25nzRpkqlataoZOHCgtXzFihXmueeey/WT8H744YfG29vbXLx40a498fydPXvWFCxY0IwdO9YZ4WVZsbGxpk6dOsbPz8/ul/o333zT2Gw2M2nSJPPTTz/l6v8JAnBvXLtSh/w89cg1Mw75UtqQL93iIiAVDhw4oKefflr169dXjRo1tGrVKjVv3lxDhw5VQkKCatWqpbx580qSXFxufbzefvttvfbaa6pcubIzQ0c2sn//fj377LN6+OGH1bRpU82ZM0cPPfSQpk2bpjp16sjHx0elS5eWJN28eVOSNGzYMA0cOFBeXl7ODD1Lmj9/vgYOHKjPP/9cZ8+elXTr32dCQoJ8fX3VsWNHhYeHa/Xq1Tp69KgkqXHjxvroo48UHBzszNCdrmDBgjLGaP/+/ZKkhIQESf/7fvP19ZW/v79iYmKcFmNW5OHhoSlTpqhw4cIaPny4jh49qnHjxmnq1Klq3bq1rly5os6dO6tdu3Zq0KCBJk+erCNHjjg7bABZCNeulCM/Tz1yzYxFvpQ25Ev/n7OrYsg+Eu917dKlixkwYIAJDQ01RYoUMdu2bTPGGLN48WJTq1Yt065dO+tRn4MHDzbe3t5mx44dzgwd2UhkZKTx8fExHTt2NMOGDTPVqlUzISEhZtGiRcaYW0+gePjhh0358uXNmTNnjDHGvPXWW8bLy8tEREQ4M/Qs5+rVq9af33rrLfPAAw+YMWPGWOfNmP/9gnXy5Enj6upqvvnmG4fHmZVdunTJ3H///aZFixZWW3x8vPVL9N9//20efvhh88UXXxhjuC3HGPtf4bds2WJKlSplypcvbwoUKGBWr15tLYuKijJbtmwxLVq0MKGhoebo0aPOCBdAFsO1K3XIz1OPXDPjkS+lHvnS/1CUQors2bPH5MuXzwwaNMhqi4mJMffff79p06aN1fbdd9+ZmjVrmv/85z/m+eefN15eXrn2gofUO3DggMmTJ48ZMmSI1fbnn3+a+++/33Ts2NEYc+sitmnTJlO/fn1TrVo188orr+TqxOpujh8/brp06WI3f8TAgQPNAw88YMaOHWvOnj1rtd+4ccP89ddf5uGHH+Ze/9skJguJj3R/9tlnk0wC+9Zbb5mQkJAcP6w6JWJiYszZs2fN1q1bzYULF6ynO23dutWULVvW1K1b965Ph4mOjnZkqACyKK5dqUN+nnrkmhmPfCl1yJeSoiiFfxUfH2/atWtnbDab+fPPP40x/3tiR4sWLUznzp1NbGys1X/JkiUmJCTEFChQINs/nhKOExcXZ1q1amX8/PzMypUrjTH/+5x17tzZtGzZ0rrn3xhjNm/ebGrWrGk8PDxIEpKxZcsW88ADD5hnn33WrFmzxmp/4403TFBQkBkxYoT5448/rPa3337blC9f3pw+fdoZ4TrdsWPH7vrL07lz58yIESNM/vz5TcWKFU3fvn3N22+/bZ5//nm+5/6/vXv3mvDwcFOmTBnj7u5uAgMDzXPPPWeOHTtmjLn177VUqVKmTZs2ZuvWrdZ6ufnx4wCS4tqVcuTnqUeumX7kS+lDvpQ8ilJIkTNnzpjatWubihUrmn379hljbv2q4O3tbWbMmGGMsR+GuXr1avP77787JVZkXzt37jRNmjQxTZs2NV9//bUx5tbnzMvLy0yfPt2ub+KvWKdOnXJGqFla4r/FjRs3mipVqpg2bdrYJfdvv/22KVeunGnevLnp06ePeeGFF0xAQICJjIx0VshOFR8fb8LCwkyxYsXMb7/9lmyfixcvml9++cU0adLEVK5c2dSoUcO8+OKLZv/+/Q6ONuvZs2eP8fX1NX379jXffvut2b17t+nevbsJCgoy999/vzly5Igx5n+J1jPPPGM2bNjg5KgBZDVcu1KP/Dz1yDXTjnwpfciX7o6iFFLs3LlzpmbNmqZatWrm559/NsHBwebll1+268P9wUirxM9OZGSkadSokWnRooV5//33TVBQkOnVq5ddPz5nyUt8BO/t1q9fb6pWrWpat25tl9x/+umnpk+fPqZBgwamb9++uT5ZOHPmjKlTp46pWLGilRQkuvPzdv36dXPt2rVkz3duc/78eVO3bl3z6quvJlk2b948U7JkSVO5cmXrV/wdO3aYwoULm06dOplr1645OlwAWRDXrvQhP085cs30I19KG/Kle6MohVQ5d+6cqVWrlrHZbKZ9+/ZW++0TtQFplXgx27Vrl2nUqJHJly+fCQ8Pt5bn9KGr6bF3715To0YNM27cOLNgwQKTkJBgDdvftGmTqVq1qmnVqpVZtWqV3Xo3b94k8fr/zp07Z2rUqJFsomXMrcl3J02aZCUMMObo0aOmUqVKZuPGjdZ14PZ/p9OnTzeFChUyH374odW2a9euu/7CCiB34dqVMcjPU45cM/3Il1KPfOneXJz99D9kXcYY68+Jj0ItUqSIfvzxRzVo0ECRkZH67bffJP3vcZ9ASl2/fj1JW3x8vCSpatWqmjZtmmrVqiWbzabvv/9ekuTm5mb3ucQtCQkJGjFihCIiIvTRRx+pd+/eqlmzplq3bq0ff/xRpUqV0qeffqoTJ07o008/1dq1a611XV1dZbPZnBd8FlKkSBH99NNP8vb2VsuWLe0euRsXF6fXX39d/fv316VLl5wYZdZy9OhR7du3T35+ftZ14PZ/py+//LKKFSumDRs2SLr1b7xq1aoqWbKk02IGkDVw7Uob8vOUI9fMHORLqUe+dG+5+5sKSZhbo+ckybrY37x5U25ubjp58qTmzZunwoUL66uvvlKePHn09NNP6+DBg84MGdnQ6dOn1alTJ/38889W240bN+Tm5qZTp05p8eLFKl++vCZOnKi4uDjNnj1bixYtkqRcm4Tei4uLiyZNmqTHH39cV65c0cKFC9W1a1flzZtXvXv3VtmyZTV79mwVKlRIa9as0ahRo7R161Znh+10d0vsly9fLk9PT7Vq1Uq//fab4uPj9X//93/66KOPFBERoTJlyjgr5CynSJEi8vT01OrVq5WQkGC122w26/wGBQVZ/xPg6urqlDgBZD1cu1KO/Dz1yDUzDvlS+pEv3RtFKVgOHz6sPn36qE2bNpowYYKkW79iubm56cSJEwoNDdW2bdtkjFGRIkW0bNkyXblyRS+88IJu3Ljh5OiRncTGxuqPP/7QhAkTrF8E3N3ddezYMVWuXFkbN25UQkKCqlSpokmTJunPP//UwoULdfnyZSdHnnX5+/tr7ty5KlKkiN544w2FhYVpwYIFWr16tb788ktdvnxZLi4uOn36tHbs2KHAwEBnh+wUKUnsCxUqpOXLl8vb21utW7dWp06dNGfOHK1fv17VqlVzZvhZTpUqVVSzZk1NnTpVx44ds9qNMbLZbIqNjZV06xfpxHYASMS169+Rn6cNuWb6kC9lLPKlf+G4OwWRlUVGRpqiRYuali1bmnbt2hl3d3czbtw4Y8ytCe2Cg4NNt27dkty//88//9z1saDAvRw+fNg0bdrUhIeHmy1bthhjjAkICDD//e9/rc9Z4n/37Nljjh8/7rRYs5Nz586Z6tWrm3Llytndh554//qKFSvMyZMnnRWeUx06dMj06tXLtGrVyowfP94Y87/zcvz4cRMYGGj69Oljfe7OnTtnqlatamw2m9m1a5ezws6yEicu3bRpkwkKCjLVq1c3O3bssOZIiI+PN2+//bYpVqxYrn/aE4B749qVPPLz9CHXTBvypYxFvvTvbMbktjIc7rR7927VqVNH/fr104gRI5SQkKBXXnlFbm5uGjNmjP744w8tWbJEffv2taq5QEY4cuSI+vTpI0lq06aN7r//fjVp0sS619rc8QsN7N3+7zHx1ytJOn/+vBo3bqzr169r8eLFKl26dK7/t/vrr7+qcePGqlevnry8vPT1119r5MiRevXVV3X27FnVqlVLTZo00fvvv293nv7++29du3ZNQUFBTow+60juM3fz5k0tX75cffv21d9//63q1aurWLFiiomJ0ebNm7Vs2TI99NBDTo4cQFbBtStlyM8zBrlm6pAvZQzypdTh9r1c7tSpU3rsscfUvHlzjRgxQtKte/zPnTunn3/+WZUqVdLrr7+uggULSuILGxmr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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Sample sentences with NER tags:\n", "==================================================\n", "\n", "Sentence 1:\n", " Sembungan | PROPN | B-PER\n", " adalah | AUX | O\n", " sebuah | DET | O\n", " desa | NOUN | O\n", " yang | PRON | O\n", " terletak | VERB | O\n", " di | ADP | O\n", " kecamatan | NOUN | O\n", " Kejajar | PROPN | B-PER\n", " , | PUNCT | O\n", " kabupaten | NOUN | O\n", " Wonosobo | PROPN | B-PER\n", " , | PUNCT | O\n", " Jawa | PROPN | B-PER\n", " Tengah | PROPN | I-PER\n", " , | PUNCT | O\n", " Indonesia | PROPN | B-LOC\n", " . | PUNCT | O\n", "\n", "Sentence 2:\n", " Sebuah | DET | O\n", " serangan | NOUN | O\n", " pengayauan | NOUN | O\n", " biasanya | ADV | O\n", " terjadi | VERB | O\n", " di | ADP | O\n", " ladang | NOUN | O\n", " atau | CCONJ | O\n", " dengan | SCONJ | O\n", " membakar | VERB | O\n", " sebuah | DET | O\n", " rumah | NOUN | O\n", " dan | CCONJ | O\n", " memenggal | VERB | O\n", " semua | DET | O\n", " penghuni | NOUN | O\n", " nya | PRON | O\n", " ketika | SCONJ | O\n", " mereka | PRON | O\n", " melarikan | VERB | O\n", " diri | PRON | O\n", " . | PUNCT | O\n", "\n", "Sentence 3:\n", " Perkembangan | NOUN | O\n", " ini | DET | O\n", " diikuti | VERB | O\n", " oleh | ADP | O\n", " helm | NOUN | O\n", " Brodie | PROPN | B-PER\n", " yang | PRON | O\n", " dipakai | VERB | O\n", " tentara | NOUN | O\n", " Imperium | PROPN | B-PER\n", " Britania | PROPN | I-PER\n", " dan | CCONJ | O\n", " AS | PROPN | B-PER\n", " , | PUNCT | O\n", " dan | CCONJ | O\n", " pada | ADP | O\n", " tahun | NOUN | O\n", " 1916 | NUM | B-NUM\n", " oleh | ADP | O\n", " Stahlhelm | PROPN | B-PER\n", " Jerman | PROPN | I-PER\n", " dengan | ADP | O\n", " perbaikan | NOUN | O\n", " desain | NOUN | O\n", " yang | PRON | O\n", " masih | ADV | O\n", " dipakai | VERB | O\n", " sampai | ADP | O\n", " sekarang | NOUN | O\n", " . | PUNCT | O\n" ] } ], "source": [ "# Visualize NER tag distribution\n", "plt.figure(figsize=(12, 8))\n", "\n", "# Plot overall tag distribution\n", "tags = list(overall_tag_counts.keys())\n", "counts = list(overall_tag_counts.values())\n", "\n", "plt.subplot(2, 2, 1)\n", "plt.bar(tags, counts)\n", "plt.title('Overall NER Tag Distribution')\n", "plt.xlabel('NER Tags')\n", "plt.ylabel('Count')\n", "plt.xticks(rotation=45)\n", "\n", "# Plot distribution for each dataset split\n", "for i, split in enumerate(['train', 'dev', 'test'], 2):\n", " split_tags = [tag for sentence in data[split] for _, _, tag in sentence]\n", " split_counts = Counter(split_tags)\n", " \n", " plt.subplot(2, 2, i)\n", " plt.bar(split_counts.keys(), split_counts.values())\n", " plt.title(f'{split.upper()} Set NER Tag Distribution')\n", " plt.xlabel('NER Tags')\n", " plt.ylabel('Count')\n", " plt.xticks(rotation=45)\n", "\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# Show sample sentences\n", "print(\"\\nSample sentences with NER tags:\")\n", "print(\"=\" * 50)\n", "for i, sentence in enumerate(data['train'][:3]):\n", " print(f\"\\nSentence {i+1}:\")\n", " for word, pos, ner in sentence:\n", " print(f\" {word:15} | {pos:8} | {ner}\")" ] }, { "cell_type": "code", "execution_count": 12, "id": "90032c9d", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:08:38.561632Z", "iopub.status.busy": "2025-06-24T13:08:38.561329Z", "iopub.status.idle": "2025-06-24T13:08:39.992864Z", "shell.execute_reply": "2025-06-24T13:08:39.991914Z" }, "papermill": { "duration": 1.440144, "end_time": "2025-06-24T13:08:39.994176", "exception": false, "start_time": "2025-06-24T13:08:38.554032", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "760a14a293314aa486925c0696b7dc28", "version_major": 2, "version_minor": 0 }, "text/plain": [ "tokenizer_config.json: 0%| | 0.00/42.0 [00:00\n", " \n", " \n", " [423/423 03:24, Epoch 3/3]\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", "
EpochTraining LossValidation LossAccuracyF1
10.8685000.2325900.9201520.717974
20.2274000.1462850.9490440.825881
30.1162000.1656570.9450750.820551

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.11/dist-packages/torch/nn/parallel/_functions.py:70: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n", " warnings.warn(\n", "/usr/local/lib/python3.11/dist-packages/torch/nn/parallel/_functions.py:70: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Model saved to './fine_tuned_bert_ner'\n" ] } ], "source": [ "from transformers import Trainer\n", "trainer = Trainer(\n", " model=model,\n", " args=training_args,\n", " train_dataset=datasets['train'],\n", " eval_dataset=datasets['dev'],\n", " tokenizer=tokenizer,\n", " data_collator=data_collator,\n", " compute_metrics=compute_metrics,\n", ")\n", "\n", "# Start training\n", "print(\"Starting training...\")\n", "trainer.train()\n", "\n", "# Save the model\n", "trainer.save_model('./fine_tuned_bert_ner')\n", "print(\"Model saved to './fine_tuned_bert_ner'\")" ] }, { "cell_type": "code", "execution_count": 15, "id": "edf82cfa", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:12:14.528075Z", "iopub.status.busy": "2025-06-24T13:12:14.527833Z", "iopub.status.idle": "2025-06-24T13:12:20.700695Z", "shell.execute_reply": "2025-06-24T13:12:20.699586Z" }, "papermill": { "duration": 6.18261, "end_time": "2025-06-24T13:12:20.702001", "exception": false, "start_time": "2025-06-24T13:12:14.519391", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Evaluating on test set...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.11/dist-packages/torch/nn/parallel/_functions.py:70: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n", " warnings.warn(\n" ] }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Test Results:\n", " eval_loss: 0.1296\n", " eval_accuracy: 0.9541\n", " eval_f1: 0.8495\n", " eval_runtime: 3.0203\n", " eval_samples_per_second: 184.4220\n", " eval_steps_per_second: 5.9600\n", " epoch: 3.0000\n", "\\nDetailed Classification Report:\n", "================================================================================\n", " precision recall f1-score support\n", "\n", " LOC 0.9459 0.9459 0.9459 37\n", " NUM 0.9661 0.9815 0.9738 378\n", " ORG 0.0000 0.0000 0.0000 1\n", " PER 0.8123 0.8104 0.8113 1324\n", "\n", " micro avg 0.8490 0.8500 0.8495 1740\n", " macro avg 0.6811 0.6845 0.6828 1740\n", "weighted avg 0.8481 0.8500 0.8490 1740\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.11/dist-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] } ], "source": [ "# Evaluate on test set\n", "print(\"Evaluating on test set...\")\n", "test_results = trainer.evaluate(datasets['test'])\n", "print(\"Test Results:\")\n", "for key, value in test_results.items():\n", " print(f\" {key}: {value:.4f}\")\n", "\n", "# Get predictions on test set\n", "predictions = trainer.predict(datasets['test'])\n", "y_pred = np.argmax(predictions.predictions, axis=2)\n", "y_true = predictions.label_ids\n", "\n", "# Convert predictions to labels for detailed analysis\n", "def get_predictions_and_labels(y_pred, y_true, id2label):\n", " pred_labels = []\n", " true_labels = []\n", " \n", " for i in range(y_pred.shape[0]):\n", " pred_sentence = []\n", " true_sentence = []\n", " \n", " for j in range(y_pred.shape[1]):\n", " if y_true[i, j] != -100:\n", " pred_sentence.append(id2label[y_pred[i, j]])\n", " true_sentence.append(id2label[y_true[i, j]])\n", " \n", " if pred_sentence: # Only add non-empty sentences\n", " pred_labels.append(pred_sentence)\n", " true_labels.append(true_sentence)\n", " \n", " return pred_labels, true_labels\n", "\n", "pred_labels, true_labels = get_predictions_and_labels(y_pred, y_true, id2label)\n", "\n", "# Detailed classification report\n", "print(\"\\\\nDetailed Classification Report:\")\n", "print(\"=\" * 80)\n", "print(classification_report(true_labels, pred_labels, digits=4))" ] }, { "cell_type": "code", "execution_count": 16, "id": "326a4d06", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:12:20.719370Z", "iopub.status.busy": "2025-06-24T13:12:20.719105Z", "iopub.status.idle": "2025-06-24T13:12:20.793450Z", "shell.execute_reply": "2025-06-24T13:12:20.792381Z" }, "papermill": { "duration": 0.084121, "end_time": "2025-06-24T13:12:20.794610", "exception": false, "start_time": "2025-06-24T13:12:20.710489", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Testing the trained model:\n", "================================================================================\n", "\\nExample 1: Saya tinggal di Jakarta, Indonesia.\n", "----------------------------------------\n", " jakarta -> B-LOC\n", " indonesia -> B-LOC\n", " All predictions:\n", " saya | O\n", " tinggal | O\n", " di | O\n", " jakarta | B-LOC\n", " , | O\n", " indonesia | B-LOC\n", " . | O\n", "\\nExample 2: Budi bekerja di Universitas Indonesia.\n", "----------------------------------------\n", " budi -> B-PER\n", " universitas -> B-PER\n", " indonesia -> I-PER\n", " All predictions:\n", " budi | B-PER\n", " bekerja | O\n", " di | O\n", " universitas | B-PER\n", " indonesia | I-PER\n", " . | O\n", "\\nExample 3: Pada tahun 2023, pemerintah Indonesia mengeluarkan kebijakan baru.\n", "----------------------------------------\n", " 202 -> B-NUM\n", " ##3 -> B-NUM\n", " indonesia -> B-LOC\n", " All predictions:\n", " pada | O\n", " tahun | O\n", " 202 | B-NUM\n", " ##3 | B-NUM\n", " , | O\n", " pemerintah | O\n", " indonesia | B-LOC\n", " mengeluarkan | O\n", " kebijakan | O\n", " baru | O\n", " . | O\n", "\\nExample 4: PT Telkom Indonesia adalah perusahaan telekomunikasi terbesar di Indonesia.\n", "----------------------------------------\n", " pt -> B-PER\n", " telkom -> I-PER\n", " indonesia -> I-PER\n", " indonesia -> B-LOC\n", " All predictions:\n", " pt | B-PER\n", " telkom | I-PER\n", " indonesia | I-PER\n", " adalah | O\n", " perusahaan | O\n", " telekomunikasi | O\n", " terbesar | O\n", " di | O\n", " indonesia | B-LOC\n", " . | O\n" ] } ], "source": [ "def predict_ner(text, model, tokenizer, id2label, max_length=128):\n", " \"\"\"\n", " Predict NER tags for a given text\n", " \"\"\"\n", " # Tokenize the input text\n", " inputs = tokenizer(\n", " text,\n", " truncation=True,\n", " padding='max_length',\n", " max_length=max_length,\n", " return_tensors='pt'\n", " )\n", " \n", " # Move inputs to device\n", " inputs = {key: value.to(device) for key, value in inputs.items()}\n", " \n", " # Get model predictions\n", " model.eval()\n", " with torch.no_grad():\n", " outputs = model(**inputs)\n", " predictions = torch.argmax(outputs.logits, dim=-1)\n", " \n", " # Convert predictions to labels\n", " tokens = tokenizer.convert_ids_to_tokens(inputs['input_ids'][0])\n", " predicted_labels = [id2label[pred.item()] for pred in predictions[0]]\n", " \n", " # Filter out special tokens and align with original text\n", " results = []\n", " for token, label in zip(tokens, predicted_labels):\n", " if token not in ['[CLS]', '[SEP]', '[PAD]']:\n", " results.append((token, label))\n", " \n", " return results\n", "\n", "# Test the model with some example sentences\n", "test_sentences = [\n", " \"Saya tinggal di Jakarta, Indonesia.\",\n", " \"Budi bekerja di Universitas Indonesia.\",\n", " \"Pada tahun 2023, pemerintah Indonesia mengeluarkan kebijakan baru.\",\n", " \"PT Telkom Indonesia adalah perusahaan telekomunikasi terbesar di Indonesia.\"\n", "]\n", "\n", "print(\"Testing the trained model:\")\n", "print(\"=\" * 80)\n", "\n", "for i, sentence in enumerate(test_sentences, 1):\n", " print(f\"\\\\nExample {i}: {sentence}\")\n", " print(\"-\" * 40)\n", " \n", " predictions = predict_ner(sentence, model, tokenizer, id2label)\n", " \n", " for token, label in predictions:\n", " if label != 'O': # Only show non-O labels\n", " print(f\" {token:15} -> {label}\")\n", " \n", " # Show all predictions\n", " print(\" All predictions:\")\n", " for token, label in predictions:\n", " print(f\" {token:15} | {label}\")" ] }, { "cell_type": "code", "execution_count": 17, "id": "302052ab", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:12:20.812440Z", "iopub.status.busy": "2025-06-24T13:12:20.811861Z", "iopub.status.idle": "2025-06-24T13:12:21.177830Z", "shell.execute_reply": "2025-06-24T13:12:21.176752Z" }, "papermill": { "duration": 0.376022, "end_time": "2025-06-24T13:12:21.179207", "exception": false, "start_time": "2025-06-24T13:12:20.803185", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\\nError Analysis:\n", "================================================================================\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6YAAAMWCAYAAADiSJueAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACvRklEQVR4nOzdeVxU9f7H8feAMqgIKLJIJi4oirtZirul4lpuFWbuSxlarinlnknZYpapqaVe00orLTW3NPVWuBa5m5VJpeCKpCIozO8Pf8x1BB1QxgPj63kf53Gbc77nzOfMgZoPn8/5HpPFYrEIAAAAAACDuBgdAAAAAADg3kZiCgAAAAAwFIkpAAAAAMBQJKYAAAAAAEORmAIAAAAADEViCgAAAAAwFIkpAAAAAMBQJKYAAAAAAEORmAIAAAAADEViCgDXOXLkiFq2bCkvLy+ZTCatWLEiV4//559/ymQyacGCBbl63PysadOmatq0aa4d78KFC+rXr58CAgJkMpk0ZMiQXDs2cq5Xr14qU6aMzTqTyaQJEybk2nvk9s8QAODuIzEFkOf8/vvveuaZZ1SuXDm5u7vL09NTDRo00PTp05WcnOzQ9+7Zs6f27t2rV199VYsWLVKdOnUc+n53U69evWQymeTp6Znl53jkyBGZTCaZTCa9+eabOT7+8ePHNWHCBMXGxuZCtLdvypQpWrBggQYOHKhFixape/fuDn2/MmXKyGQyafDgwZm2bd68WSaTSZ9//rl13YIFC6yfc1bLtm3brGNv3Obp6akmTZpo9erV2Yot4w8hGYurq6tKly6tjh07Gn6dcurAgQOaMGGC/vzzT6NDAQA4QAGjAwCA661evVqPP/64zGazevTooapVqyo1NVXff/+9Ro4cqf3792vOnDkOee/k5GTFxMTo5Zdf1qBBgxzyHkFBQUpOTlbBggUdcnx7ChQooEuXLmnlypV64oknbLYtXrxY7u7uunz58m0d+/jx45o4caLKlCmjmjVrZnu/9evX39b73cymTZtUr149jR8/PlePa8/cuXMVFRWlwMDAbI2fNGmSypYtm2l9cHCwzesWLVqoR48eslgsOnbsmGbNmqX27dtrzZo1Cg8Pz9Z7de3aVW3atFFaWpoOHjyoWbNmac2aNdq2bVuOrlVuSU5OVoECOfsKcuDAAU2cOFFNmzbNVIHN7Z8hAMDdR2IKIM84evSoIiIiFBQUpE2bNqlkyZLWbZGRkfrtt9+yXSm6HadOnZIkeXt7O+w9TCaT3N3dHXZ8e8xmsxo0aKBPPvkkU2K6ZMkStW3bVl988cVdieXSpUsqXLiw3NzccvW4J0+eVGhoaK4d7+rVq0pPT79lnFWqVNHhw4f12muv6d13383WcVu3bp2tinzFihX19NNPW1937txZoaGhmj59erYT09q1a9sco0GDBnr00Uc1a9YsffDBB1nuc/HiRRUpUiRbx8+p3P4dyO2fIQDA3UcrL4A8Y+rUqbpw4YI+/PBDm6Q0Q3BwsF544QXr66tXr+qVV15R+fLlZTabVaZMGb300ktKSUmx2a9MmTJq166dvv/+ez300ENyd3dXuXLl9J///Mc6ZsKECQoKCpIkjRw5UiaTyVqVyeoeuYx9TCaTzboNGzaoYcOG8vb2loeHh0JCQvTSSy9Zt9/sHtNNmzapUaNGKlKkiLy9vfXYY4/p4MGDWb7fb7/9pl69esnb21teXl7q3bu3Ll26dPMP9gZPPfWU1qxZo8TEROu6nTt36siRI3rqqacyjT979qxGjBihatWqycPDQ56enmrdurV++eUX65jNmzfrwQcflCT17t3b2jqacZ5NmzZV1apVtXv3bjVu3FiFCxe2fi433h/Ys2dPubu7Zzr/8PBwFStWTMePH8/yvDLaZo8eParVq1dbY8ho/Tx58qT69u0rf39/ubu7q0aNGlq4cKHNMTKuz5tvvql33nnH+rN14MCBW36mZcqUUY8ePTR37tybxpdbKleurBIlSuj333+/7WM8/PDDkq79MUj6X3vxli1b9Nxzz8nPz0+lSpWyjl+zZo3157No0aJq27at9u/fn+m4K1asUNWqVeXu7q6qVatq+fLlWb5/VveY/vPPP+rbt68CAwNlNptVtmxZDRw4UKmpqVqwYIEef/xxSVKzZs2s13bz5s2Ssr7HNKfXe86cOdbr/eCDD2rnzp02Y+Pj49W7d2+VKlVKZrNZJUuW1GOPPUZrMQDkEiqmAPKMlStXqly5cqpfv362xvfr108LFy5Uly5dNHz4cG3fvl3R0dE6ePBgpi/Ev/32m7p06aK+ffuqZ8+e+uijj9SrVy898MADqlKlijp16iRvb28NHTrU2vbo4eGRo/j379+vdu3aqXr16po0aZLMZrN+++03/fDDD7fc79tvv1Xr1q1Vrlw5TZgwQcnJyXrvvffUoEED/fTTT5mS4ieeeEJly5ZVdHS0fvrpJ82bN09+fn56/fXXsxVnp06d9Oyzz+rLL79Unz59JF2rllaqVEm1a9fONP6PP/7QihUr9Pjjj6ts2bJKSEjQBx98oCZNmujAgQMKDAxU5cqVNWnSJI0bN04DBgxQo0aNJMnmWp45c0atW7dWRESEnn76afn7+2cZ3/Tp07Vp0yb17NlTMTExcnV11QcffKD169dr0aJFN22VrVy5shYtWqShQ4eqVKlSGj58uCTJ19dXycnJatq0qX777TcNGjRIZcuW1bJly9SrVy8lJiba/MFDkubPn6/Lly9rwIABMpvNKl68uN3P9eWXX9Z//vOfbFdNz58/r9OnT9usM5lM8vHxsbvfuXPnVL58ebvvcTMZSe2N7/Xcc8/J19dX48aN08WLFyVJixYtUs+ePRUeHq7XX39dly5d0qxZs9SwYUP9/PPP1p/P9evXW6u50dHROnPmjDWRs+f48eN66KGHlJiYqAEDBqhSpUr6559/9Pnnn+vSpUtq3Lixnn/+eb377rt66aWXVLlyZUmy/v+Ncnq9lyxZon///VfPPPOMTCaTpk6dqk6dOumPP/6wtt137txZ+/fv1+DBg1WmTBmdPHlSGzZsUFxcXJZ/uAIA5JAFAPKA8+fPWyRZHnvssWyNj42NtUiy9OvXz2b9iBEjLJIsmzZtsq4LCgqySLJs3brVuu7kyZMWs9lsGT58uHXd0aNHLZIsb7zxhs0xe/bsaQkKCsoUw/jx4y3X/2t02rRpFkmWU6dO3TTujPeYP3++dV3NmjUtfn5+ljNnzljX/fLLLxYXFxdLjx49Mr1fnz59bI7ZsWNHi4+Pz03f8/rzKFKkiMVisVi6dOlieeSRRywWi8WSlpZmCQgIsEycODHLz+Dy5cuWtLS0TOdhNpstkyZNsq7buXNnpnPL0KRJE4sky+zZs7Pc1qRJE5t169ats0iyTJ482fLHH39YPDw8LB06dLB7jhbLtevdtm1bm3XvvPOORZLl448/tq5LTU21hIWFWTw8PCxJSUnW85Jk8fT0tJw8eTLH79e7d2+Lu7u75fjx4xaLxWL57rvvLJIsy5Yts46fP3++RVKWi9lstjm2JEvfvn0tp06dspw8edKya9cuS6tWrbL8Oc1KxvlMnDjRcurUKUt8fLxl8+bNllq1alkkWb744gubmBo2bGi5evWqdf9///3X4u3tbenfv7/NcePj4y1eXl4262vWrGkpWbKkJTEx0bpu/fr1FkmZfn8kWcaPH2993aNHD4uLi4tl586dmc4hPT3dYrFYLMuWLbNIsnz33XeZxtz4M5TT6+3j42M5e/asdexXX31lkWRZuXKlxWKxWM6dO5ftzxwAcHto5QWQJyQlJUmSihYtmq3x33zzjSRp2LBhNuszqmQ33osaGhpqreJJ16poISEh+uOPP2475htl3Jv61VdfKT09PVv7nDhxQrGxserVq5dNVa569epq0aKF9Tyv9+yzz9q8btSokc6cOWP9DLPjqaee0ubNmxUfH69NmzYpPj4+yzZe6dp9qS4u1/5zkZaWpjNnzljblH/66adsv6fZbFbv3r2zNbZly5Z65plnNGnSJHXq1Enu7u43vRcyO7755hsFBASoa9eu1nUFCxbU888/rwsXLmjLli024zt37ixfX98cv8+YMWN09epVvfbaa3bHvv/++9qwYYPNsmbNmkzjPvzwQ/n6+srPz0916tTRxo0b9eKLL2b62b+V8ePHy9fXVwEBAWratKl+//13vf766+rUqZPNuP79+8vV1dX6esOGDUpMTFTXrl11+vRp6+Lq6qq6devqu+++k/S/n+OePXvKy8vLun+LFi3s3u+bnp6uFStWqH379lnec3tju3x25PR6P/nkkypWrJj1dca/KzL+/VCoUCG5ublp8+bNOnfuXI7jAQDYRysvgDzB09NTkvTvv/9ma/yxY8fk4uKSaQbTgIAAeXt769ixYzbrS5cunekYxYoVy9UvmU8++aTmzZunfv36afTo0XrkkUfUqVMndenSxZrYZXUekhQSEpJpW+XKlbVu3bpMk9DceC4ZX6jPnTtn/RztadOmjYoWLarPPvtMsbGxevDBBxUcHJzl/XLp6emaPn26Zs6cqaNHjyotLc26zV7b6fXuu+++HE1S8+abb+qrr75SbGyslixZIj8/v2zve6Njx46pQoUKma5DRivojT8vWc2Wmx3lypVT9+7dNWfOHI0ePfqWYx966KFsTX702GOPadCgQUpNTdXOnTs1ZcoUXbp06aY/U1kZMGCAHn/8cbm4uMjb21tVqlSR2WzONO7G8z5y5Iik/92TeqOMn7eMz69ChQqZxtj7A8apU6eUlJSkqlWrZu9ksiGn1/tWv1PStT+qvP766xo+fLj8/f1Vr149tWvXTj169FBAQECuxQ0A9zISUwB5gqenpwIDA7Vv374c7Zfdasr1VaDrWSyW236P6xM06VpVZevWrfruu++0evVqrV27Vp999pkefvhhrV+//qYx5NSdnEsGs9msTp06aeHChfrjjz8yTURzvSlTpmjs2LHq06ePXnnlFRUvXlwuLi4aMmRItivD0rXPJyd+/vlnnTx5UpK0d+9em+qXo+U01uu9/PLLWrRokV5//XV16NDhjmMpVaqUmjdvLunaHxRKlCihQYMGqVmzZpkqnjdToUIF6zFu5cbzzri+ixYtyjIBy+kjX/Kq7PxODRkyRO3bt9eKFSu0bt06jR07VtHR0dq0aZNq1ap1t0IFAKdFKy+APKNdu3b6/fffFRMTY3dsUFCQ0tPTrRWdDAkJCUpMTLTOsJsbihUrZjODbYYbqy6S5OLiokceeURvv/22Dhw4oFdffVWbNm2ytjzeKCPOw4cPZ9p26NAhlShRwmGP7Hjqqaf0888/699//1VERMRNx33++edq1qyZPvzwQ0VERKhly5Zq3rx5ps/kdloub+bixYvq3bu3QkNDNWDAAE2dOjXTLKk5ERQUpCNHjmRKpA8dOmTdnlvKly+vp59+Wh988IFOnDiRa8fN8Mwzz6h8+fIaM2ZMjv4YcTsyJljy8/NT8+bNMy0ZM+FmfH43/j5KWf9sX8/X11eenp52/yiVk58vR13v8uXLa/jw4Vq/fr327dun1NRUvfXWW7d1LACALRJTAHnGiy++qCJFiqhfv35KSEjItP3333/X9OnTJV2rHEnSO++8YzPm7bffliS1bds21+IqX768zp8/rz179ljXnThxItPMv2fPns20b82aNSUp0yNsMpQsWVI1a9bUwoULbRK9ffv2af369dbzdIRmzZrplVde0YwZM27Zjujq6popAVq2bJn++ecfm3UZCXRWSXxOjRo1SnFxcVq4cKHefvttlSlTRj179rzp52hPmzZtFB8fr88++8y67urVq3rvvffk4eGhJk2a3HHM1xszZoyuXLmiqVOn5upxpWtVyuHDh+vgwYP66quvcv341wsPD5enp6emTJmiK1euZNqe8ezf63+Oz58/b92+YcMGu4/acXFxUYcOHbRy5Urt2rUr0/aMn72c/Hzl9vW+dOmSLl++bLOufPnyKlq06G3/TAIAbDlHDw4Ap1C+fHktWbJETz75pCpXrqwePXqoatWqSk1N1Y8//mh93IMk1ahRQz179tScOXOUmJioJk2aaMeOHVq4cKE6dOigZs2a5VpcERERGjVqlDp27Kjnn3/e+riMihUr2tw7N2nSJG3dulVt27ZVUFCQTp48qZkzZ6pUqVJq2LDhTY//xhtvqHXr1goLC1Pfvn2tj4vx8vK6ZYvtnXJxcdGYMWPsjmvXrp0mTZqk3r17q379+tq7d68WL16scuXK2YwrX768vL29NXv2bBUtWlRFihRR3bp1c3y/5qZNmzRz5kyNHz/e+via+fPnq2nTpho7duxtJXsDBgzQBx98oF69emn37t0qU6aMPv/8c/3www965513sj3pVnZlVE1vfG7m9dasWWOt4F2vfv36mT7bG/Xq1Uvjxo3LtXbhm/H09NSsWbPUvXt31a5dWxEREfL19VVcXJxWr16tBg0aaMaMGZKk6OhotW3bVg0bNlSfPn109uxZvffee6pSpYouXLhwy/eZMmWK1q9fryZNmmjAgAGqXLmyTpw4oWXLlun777+Xt7e3atasKVdXV73++us6f/68zGazHn744SzvPc7t6/3rr7/qkUce0RNPPKHQ0FAVKFBAy5cvV0JCwi27DQAAOWDklMAAkJVff/3V0r9/f0uZMmUsbm5ulqJFi1oaNGhgee+99yyXL1+2jrty5Ypl4sSJlrJly1oKFixouf/++y1RUVE2YyyWrB8fYrFkfsTEzR4XY7Fce+xF1apVLW5ubpaQkBDLxx9/nOlxMRs3brQ89thjlsDAQIubm5slMDDQ0rVrV8uvv/6a6T1ufKTKt99+a2nQoIGlUKFCFk9PT0v79u0tBw4csBmT8X43Po4m41EfR48evelnarHYPi7mZm72uJjhw4dbSpYsaSlUqJClQYMGlpiYmCwf8/LVV19ZQkNDLQUKFLA5zyZNmliqVKmS5Xtef5ykpCRLUFCQpXbt2pYrV67YjBs6dKjFxcXFEhMTc8tzuNn1TkhIsPTu3dtSokQJi5ubm6VatWqZrsOtfgZy+n5HjhyxuLq65uhxMTf+bEiyREZGZvm+EyZMuOnjU3J6PhkxZfW4Fovl2mNvwsPDLV5eXhZ3d3dL+fLlLb169bLs2rXLZtwXX3xhqVy5ssVsNltCQ0MtX375ZZaPW9INj4uxWCyWY8eOWXr06GHx9fW1mM1mS7ly5SyRkZGWlJQU65i5c+daypUrZ/1cM849q5/FO73e18d4+vRpS2RkpKVSpUqWIkWKWLy8vCx169a1LF26NOsPFACQYyaLxcE3qAAAAAAAcAvcYwoAAAAAMBSJKQAAAADAUCSmAAAAAABDkZgCAAAAAAxFYgoAAAAAMBSJKQAAAADAUCSmAAAAAABDFTA6AGeVkHTF6BDgIJ6FChodAhzIZDI6AgBABovF6AjgKPnx61ShWoOMDkGSlPzzDKNDcAgqpgAAAAAAQ5GYAgAAAAAMRSsvAAAAANhjoqbnSHy6AAAAAABDkZgCAAAAAAxFKy8AAAAA2MPU/Q5FxRQAAAAAYCgqpgAAAABgD5MfORSfLgAAAADAUCSmAAAAAABD0coLAAAAAPYw+ZFDUTEFAAAAABiKxBQAAAAAYChaeQEAAADAHmbldSg+XQAAAACAoaiYAgAAAIA9TH7kUFRMAQAAAACGIjEFAAAAABiKVl4AAAAAsIfJjxyKTxcAAAAAYCgqpgAAAABgD5MfORQVUwAAAACAoUhMAQAAAACGopUXAAAAAOxh8iOH4tMFAAAAABiKxBQAAAAAYChaeQEAAADAHmbldSgqpgAAAAAAQ1ExBQAAAAB7mPzIofh0AQAAAACGIjEFAAAAABiKVl4AAAAAsIfJjxyKiikAAAAAwFAkpgAAAAAAQ9HKCwAAAAD2MCuvQ/HpAgAAAAAMRcUUAAAAAOyhYupQfLoAAAAAAEORmAIAAAAADEUrLwAAAADY48JzTB2JiikAAAAAwFAkpgAAAAAAQ9HKCwAAAAD2MCuvQ/HpAgAAAAAMRcUUAAAAAOwxMfmRI1ExBQAAAAAYisQUAAAAAGAoWnkBAAAAwB4mP3IoPl0AAAAAgKGomAIAAACAPUx+5FD5pmLaq1cvdejQ4abbmzZtKpPJJJPJJHd3d4WGhmrmzJnW7QsWLLBuv35xd3e3eY+M9QULFlTZsmX14osv6vLly448tTzr1MkEvTJ2lNo1b6DmDR9Qz4iOOnRgn3X7pUuXNG3qq+rc9hE1b/iAuj/xqL764jPr9qTz5/XOG1PUrXM7NW/4gLq0a67pb07RhQv/GnE6uIlZ77+nmlVDbJYO7VvZjPkl9mf179ND9R6sqQZ1a6tPz2737O+Fs/h0yWK1bvGwHqxVTd0iHtfePXuMDgm5hGvrfJZ+ukRdOrZX/Ydqq/5DtdX9qSf1/X+3GB0WcsFH8+aoZtUQTX3tVeu6vr26Z/rv8uSJ4wyMErg7nKpi2r9/f02aNEmXLl3Sf/7zH0VGRqpYsWLq2rWrJMnT01OHDx+22cd0w18+WrVqpfnz5+vKlSvavXu3evbsKZPJpNdff/2unUde8G/SeUX2665aDzykqdNny9u7mP7+65iKenpax7w/bap+2rVdYyZFK6Dkfdq57UdNmzpZPiX81LBJM50+dVKnT53Ucy+MUJly5RR/4oTeem2STp86pVden2bg2eFG5YMr6IN5862vXV1drf/8S+zPiny2n/r0e0ajXhqrAq6uOnz4kFxc8s3ftXCDtWu+0ZtTozVm/ERVq1ZDixct1MBn+uqrVWvl4+NjdHi4A1xb5+TnH6AXho5Q6aAgWSwWrfxqhV4YFKnPvliu4OAKRoeH27Rv7x59vuxTVawYkmlbpy5P6LlBz1tfu7sXupuhAYZwqm+WhQsXVkBAgMqVK6cJEyaoQoUK+vrrr63bTSaTAgICbBZ/f3+bY5jNZgUEBOj+++9Xhw4d1Lx5c23YsOFun4rhFi/8SH7+AYoaP1mhVaop8L5SeqheA91XqrR1zL49sWrV9jHVeuAhlQy8T492elzlK4To4IG9kqRywRU0eeo7atC4qe4rVVoPPFhX/Qc+rx//u1lXr1416MyQFVdXV5Uo4WtdihUrbt325tRode3WXX36DVBwcAWVKVtO4a3ayM3NzcCIcScWLZyvTl2eUIeOnVU+OFhjxk+Uu7u7Vnz5hdGh4Q5xbZ1T02YPq1HjJgoKKqMyZcpq8AtDVbhwYe35Jdbo0HCbLl26qJdGj9S4CZNV1NMr03Z3d3eb/y57eHgYECUyMbnkjcVJOe+ZSSpUqJBSU1Nve/99+/bpxx9/vCe/gP/w3+8UUrmKxo0epkdbNlbfbl20cvnnNmOqVq+pH7Z+p1MnE2SxWPTTrh36K+5PPVi3/k2Pe/HCvypcxEMFCjhVsT7fi4s7phbNGqptq0cUNWq4Tpw4Lkk6e+aM9u75RcWL+6hHtwg93Li++vZ6Wj//tMvgiHG7rqSm6uCB/aoX9r/fUxcXF9WrV197fvnZwMhwp7i294a0tDSt+Wa1kpMvqUaNWkaHg9s0ZfIkNWrcxOb39XprVq9U04Z11blDO7077S0lJyff5QiBu88ps4O0tDR98skn2rNnjwYMGGBdf/78+Ux/cWrUqJHWrFljfb1q1Sp5eHjo6tWrSklJkYuLi2bMmHHXYs8rTvzzt7764jM98VQPPd27vw7t36fpb0WrQMGCat3uMUnSCyNf0htTJqhz20fk6lpALi4mjXx5gmrWrpPlMRMTz2nhhx/o0Y5d7uapwI5q1atr0uRolSlTVqdPn9Lsme+rT49u+nzFSv3991+SpNkzZ2joiBdVqVJlrfx6hQb07aXPV6xSUFAZY4NHjp1LPKe0tLRMbZ0+Pj46evQPg6JCbuDaOrcjvx5W96cilJqaosKFC2vau++rfHCw0WHhNqz9ZrUOHTygxZ9+nuX21m3bKTAwUL6+fvr118OaPu1N/fnnUb09/d77Pop7S75LTBcvXqxnnnnG+nrNmjVq1KiRJGnmzJmaN2+eUlNT5erqqqFDh2rgwIHWsUWLFtVPP/1kc7xChWx79ps1a6ZZs2bp4sWLmjZtmgoUKKDOnTvfMqaUlBSlpKTcsM5FZrP5ts4xL0hPT1dI5SoaEDlEklQxpLKO/nFEX3+51JqYfvHZYh3Yu0fRb81QQMmSiv15t6ZNfVUlSvipTt0wm+NdvHBBo4Y8pzJly6v3gOfu9ungFho2amL954ohlVS1Wg21adlM69euUdly5SVJnR9/Uh06Xvs9qFQ5VDu2xeirL7/Q80OHGxIzANxrypQpq6VfrNCFC/9qw/p1GvvSKH244GOS03wm/sQJTX3tVc2e+9FNvyd2efxJ6z9XqBgiX19fDejbS3/Fxen+0qWz3Ad3CbPyOlS+S0wfffRR1a1b1/r6vvvus/5zt27d9PLLL6tQoUIqWbJkpslZXFxcFGznX+BFihSxjvnoo49Uo0YNffjhh+rbt+9N94mOjtbEiRNt1g0fPUYjo/LvDGo+JXxV5v+TkgxBZcppy6ZvJUkply9r7szpevWN6QpreC2xKV8hRL/9ekiffrzAJjG9dPGiRjz/jAoXLqLJb0xXgQIF796JIMc8PT1VOqiM/oqL00N160mSype3/VkoW668TsQfNyI83KFi3sXk6uqqM2fO2Kw/c+aMSpQoYVBUyA1cW+dW0M1NpYOCJEmhVapq/769WvzxfzRuwiSDI0NOHDiwX2fPnlHXJzpZ16Wlpemn3Tv12SeLteOnvTYTEEpStWo1JEl//XWMxBROLd8lpkWLFlXRokWz3Obl5WU38cwJFxcXvfTSSxo2bJieeuqpTNXVDFFRURo2bJjNusSU/H37brUatfTXsT9t1v0Vd0z+ASUlSVevXtXVq1dlMt2Y/Lsq3ZJufX3xwgWNeP4ZFSxYUNFvv5evq8j3ikuXLurvv/5Sifa+CryvlHz9/PTnn0dtxhw79qcaNGxsUIS4EwXd3FQ5tIq2b4vRw480l3StQ2L79hhFdH3a4OhwJ7i295b09HRduYN5NGCMuvXq6fPlK23WjRsTpbJly6l33/6ZklJJOnTooCSpRAnfuxIjbsGJJx7KC/JdYnonLBaL4uPjM6338/O76aMvHn/8cY0cOVLvv/++RowYkeUYs9mcKeFKTrpy5wEb6PGu3fVc3+5aNH+OmjVvpYP792rl8s814qXxkqQiHh6qWbuOZr37lszuZvkHBOqXn3Zp3Tdfa9CQkZKuJaXDBw/Q5cvJGjNpui5euKiLFy5KkryLFcvyX764+95+43U1btpMJQMDderkSc16/z25urqoVZt2MplM6tm7r2a//54qhlRSSKXKWvnVcv159A+9+fa7RoeO29S9Z2+NfWmUqlSpqqrVquvjRQuVnJysDh072d8ZeRrX1jlNn/aWGjZqrICSJXXp4kV9s3qVdu3coVlzPjQ6NORQkSIeCq5Q0WZdoUKF5eXtreAKFfVXXJzWfLNSDRs1kZe3t478elhvvh6tB+o8qIohlQyKGrg77qnENCkpSSVLlsy0/sSJEwoICMhynwIFCmjQoEGaOnWqBg4cqCJFijg6zDyhcpVqevWNd/TB+9O1cN5sBQTep8HDRqll63bWMeNffVNz3n9Hr4wdraSk8woICFT/gc/rsc7X7o349fABHdh37cHuXTu2sTn+Z1+tU8nA+wTjJSTEK+rFYUpMTFSx4sVVq9YD+s/ipSpe/NojY57u3kupKal68/VonU86r4oVK2n23I9oJ8rHWrVuo3Nnz2rmjHd1+vQphVSqrJkfzJMP7Z75HtfWOZ09e0Zjokbp1KmT8ihaVBUrhmjWnA8VVr+B0aEhlxUsWFDbt8Vo8aL/KDn5kvwDSuqRFi3V/xnm54DzM1ksFovRQTijhHxeMcXNeRbiHllnxrwGAJB38C3VeeXHr1OFWk8zOgRJUvKaoUaH4BA0SgMAAAAADEViCgAAAAAw1D11jykAAAAA3BZm5XUoPl0AAAAAgKGomAIAAACAPcyQ6FBUTAEAAAAAhiIxBQAAAAAYilZeAAAAALCHyY8cik8XAAAAAJxMWlqaxo4dq7Jly6pQoUIqX768XnnlFVksFusYi8WicePGqWTJkipUqJCaN2+uI0eO2Bzn7Nmz6tatmzw9PeXt7a2+ffvqwoULNmP27NmjRo0ayd3dXffff7+mTp2a43hJTAEAAADAybz++uuaNWuWZsyYoYMHD+r111/X1KlT9d5771nHTJ06Ve+++65mz56t7du3q0iRIgoPD9fly5etY7p166b9+/drw4YNWrVqlbZu3aoBAwZYtyclJally5YKCgrS7t279cYbb2jChAmaM2dOjuI1Wa5PmZFrEpKuGB0CHMSzUEGjQ4ADMeEeAOQdfEt1Xvnx61Sh9jONDkGSlLzyuWyNa9eunfz9/fXhhx9a13Xu3FmFChXSxx9/LIvFosDAQA0fPlwjRoyQJJ0/f17+/v5asGCBIiIidPDgQYWGhmrnzp2qU6eOJGnt2rVq06aN/v77bwUGBmrWrFl6+eWXFR8fLzc3N0nS6NGjtWLFCh06dCjb50XFFAAAAACcTP369bVx40b9+uuvkqRffvlF33//vVq3bi1JOnr0qOLj49W8eXPrPl5eXqpbt65iYmIkSTExMfL29rYmpZLUvHlzubi4aPv27dYxjRs3tialkhQeHq7Dhw/r3Llz2Y6XyY8AAAAAwJ480laVkpKilJQUm3Vms1lms9lm3ejRo5WUlKRKlSrJ1dVVaWlpevXVV9WtWzdJUnx8vCTJ39/fZj9/f3/rtvj4ePn5+dlsL1CggIoXL24zpmzZspmOkbGtWLFi2TovKqYAAAAAkE9ER0fLy8vLZomOjs40bunSpVq8eLGWLFmin376SQsXLtSbb76phQsXGhC1fVRMAQAAACCfiIqK0rBhw2zW3VgtlaSRI0dq9OjRioiIkCRVq1ZNx44dU3R0tHr27KmAgABJUkJCgkqWLGndLyEhQTVr1pQkBQQE6OTJkzbHvXr1qs6ePWvdPyAgQAkJCTZjMl5njMkOKqYAAAAAYI/JJU8sZrNZnp6eNktWiemlS5fk4mKb7rm6uio9PV2SVLZsWQUEBGjjxo3W7UlJSdq+fbvCwsIkSWFhYUpMTNTu3butYzZt2qT09HTVrVvXOmbr1q26cuV/k79u2LBBISEh2W7jlUhMAQAAAMDptG/fXq+++qpWr16tP//8U8uXL9fbb7+tjh07SpJMJpOGDBmiyZMn6+uvv9bevXvVo0cPBQYGqkOHDpKkypUrq1WrVurfv7927NihH374QYMGDVJERIQCAwMlSU899ZTc3NzUt29f7d+/X5999pmmT5+eqaprD628AAAAAGBPHpn8KLvee+89jR07Vs8995xOnjypwMBAPfPMMxo3bpx1zIsvvqiLFy9qwIABSkxMVMOGDbV27Vq5u7tbxyxevFiDBg3SI488IhcXF3Xu3FnvvvuudbuXl5fWr1+vyMhIPfDAAypRooTGjRtn86zT7OA5pg7Cc0ydF88xdW757L85AODU+JbqvPLj16lCHeYYHYIkKXlFzhK+/IJWXgAAAACAoWjlBQAAAAB7TNT0HIlPFwAAAABgKBJTAAAAAIChaOUFAAAAAHuYIdGhqJgCAAAAAAxFxRQAAAAA7DBRMXUoKqYAAAAAAEORmAIAAAAADEUrLwAAAADYQSuvY1ExBQAAAAAYisQUAAAAAGAoWnkBAAAAwB46eR2KiikAAAAAwFBUTAEAAADADiY/ciwqpgAAAAAAQ5GYAgAAAAAMRSsvAAAAANhBK69jUTEFAAAAABiKxBQAAAAAYChaeQEAAADADlp5HYuKKQAAAADAUFRMAQAAAMAOKqaORcUUAAAAAGAoElMAAAAAgKFo5QUAAAAAe+jkdSgqpgAAAAAAQ1ExBQAAAAA7mPzIsaiYAgAAAAAMRWIKAAAAADAUrbwAAAAAYAetvI5FxRQAAAAAYCgqpg7iWaig0SHAQYo/NMjoEOBA53bOMDoEAMD/s1gsRocAh6H6CFskpgAAAABgB628jkUrLwAAAADAUFRMAQAAAMAOKqaORcUUAAAAAGAoElMAAAAAgKFo5QUAAAAAe+jkdSgqpgAAAAAAQ5GYAgAAAAAMRSsvAAAAANjBrLyORcUUAAAAAGAoKqYAAAAAYAcVU8eiYgoAAAAAMBSJKQAAAADAULTyAgAAAIAdtPI6FhVTAAAAAIChSEwBAAAAAIailRcAAAAA7KGT16GomAIAAAAADEXFFAAAAADsYPIjx6JiCgAAAAAwFIkpAAAAAMBQtPICAAAAgB208joWFVMAAAAAgKGomAIAAACAHVRMHYuKKQAAAADAUCSmAAAAAABD0coLAAAAAHbQyutYVEwBAAAAAIYiMQUAAAAAGIpWXgAAAACwh05eh6JiCgAAAAAwFIkpAAAAANhhMpnyxJITZcqUyfIYkZGRkqTLly8rMjJSPj4+8vDwUOfOnZWQkGBzjLi4OLVt21aFCxeWn5+fRo4cqatXr9qM2bx5s2rXri2z2azg4GAtWLAgx58viSkAAAAAOKGdO3fqxIkT1mXDhg2SpMcff1ySNHToUK1cuVLLli3Tli1bdPz4cXXq1Mm6f1pamtq2bavU1FT9+OOPWrhwoRYsWKBx48ZZxxw9elRt27ZVs2bNFBsbqyFDhqhfv35at25djmI1WSwWSy6cM26QfMXoCOAoxR8aZHQIcKBzO2cYHQIA4P+lp/M11VkVdst/N2zeN3C50SFIkv6Z1fG29x0yZIhWrVqlI0eOKCkpSb6+vlqyZIm6dOkiSTp06JAqV66smJgY1atXT2vWrFG7du10/Phx+fv7S5Jmz56tUaNG6dSpU3Jzc9OoUaO0evVq7du3z/o+ERERSkxM1Nq1a7MdGxVTAAAAALDD6Bbe22nlvV5qaqo+/vhj9enTRyaTSbt379aVK1fUvHlz65hKlSqpdOnSiomJkSTFxMSoWrVq1qRUksLDw5WUlKT9+/dbx1x/jIwxGcfILmblBQAAAIB8IiUlRSkpKTbrzGazzGbzLfdbsWKFEhMT1atXL0lSfHy83Nzc5O3tbTPO399f8fHx1jHXJ6UZ2zO23WpMUlKSkpOTVahQoWydFxVTAAAAAMgnoqOj5eXlZbNER0fb3e/DDz9U69atFRgYeBeizDkqpgAAAABgx5200eamqKgoDRs2zGadvWrpsWPH9O233+rLL7+0rgsICFBqaqoSExNtqqYJCQkKCAiwjtmxY4fNsTJm7b1+zI0z+SYkJMjT0zPb1VKJiikAAAAA5Btms1menp42i73EdP78+fLz81Pbtm2t6x544AEVLFhQGzdutK47fPiw4uLiFBYWJkkKCwvT3r17dfLkSeuYDRs2yNPTU6GhodYx1x8jY0zGMbKLiikAAAAA2JM3CqY5lp6ervnz56tnz54qUOB/6Z+Xl5f69u2rYcOGqXjx4vL09NTgwYMVFhamevXqSZJatmyp0NBQde/eXVOnTlV8fLzGjBmjyMhIazL87LPPasaMGXrxxRfVp08fbdq0SUuXLtXq1atzFCeJKQAAAAA4qW+//VZxcXHq06dPpm3Tpk2Ti4uLOnfurJSUFIWHh2vmzJnW7a6urlq1apUGDhyosLAwFSlSRD179tSkSZOsY8qWLavVq1dr6NChmj59ukqVKqV58+YpPDw8R3HyHFMH4TmmzovnmDo3nmMKAHkHzzF1XvnxOab3D/rK6BAkSX/NeMzoEByCiikAAAAA2JFXJj9yVkx+BAAAAAAwFIkpAAAAAMBQtPICAAAAgB208joWFVMAAAAAgKGomAIAAACAHVRMHYuKKQAAAADAUCSmN/jrr7/Up08fBQYGys3NTUFBQXrhhRd05swZo0PLUz6aN0c1q4Zo6muvZtpmsVgU+Ww/1awaok0bvzUgOmRwcTFp3HNtdXDVBJ2NeVv7vx6v0f1b2YzxK15UcyY+rT/Wv6ozP76tr2Y8p/KlfW3GlC1VQp+91V9xm6KV8N839PHrfeRXvKh1e+mSxTVr/FM27zPm2TYqWMD1rpwnsu/DuR/oqSc6K+zBWmraKExDBj+nP4/+YXRYyEWfLlms1i0e1oO1qqlbxOPau2eP0SEhh3bv2qnBzz2r5k0bqkaVzP8ttVgsev+96XqkSUM9VLu6BvTtpWPH/jQmWNzS7l079cKgZ9Xi4UaqVa2SvrvhWs6e+Z46tm+tsIdqqXH9h/RMv97au+eXTMf579bN6v7UE6pXp4Ya139IQ5+PvFunANw1JKbX+eOPP1SnTh0dOXJEn3zyiX777TfNnj1bGzduVFhYmM6ePWt0iHnCvr179PmyT1WxYkiW2z9etFCi1SFPGN6rhfp3aaShry1TzU6TNebdrzSsZ3M917WJdczSaQNUtlQJPT7kA9Xr+priTpzVN7MHq7C7mySpsLubVs2MlMViUesB7+nh3tPkVtBVX0x/xtrSElLWXy4mFw2a/Klqd3lVL771pfp1aahJgx815Lxxc7t27tCTXbtp0SdL9cHc+bp69aqe7d9Xly5dMjo05IK1a77Rm1Oj9cxzkfp02XKFhFTSwGf68sfVfCY5+ZJCQkIUNWZ8ltvnfzhXnyxepDHjJ+jjT5aqUKFCGjigr1JSUu5ypLAnOTlZFStWUtTL47LcHhRURqNeGqtlX3yt+f9ZrMD77tNzz/S1+c757YZ1GhM1So926KTPPl+h+YuWqHWbdnfrFHAdk8mUJxZnxT2m14mMjJSbm5vWr1+vQoUKSZJKly6tWrVqqXz58nr55Zc1a9Ysg6M01qVLF/XS6JEaN2Gy5n6Q+bM4dOigFi38SEs++0LNmzY0IEJcr16Nclq1ZY/Wfr9fkhR34qyeaFVHdaoESZKCS/upbvWyqt15sg7+ES9Jen7KZ/rz2yl6ovUDWrA8RmE1yyko0Ef1ur6ufy9eliT1G7dIJ7ZMVdOHKuq77Ye14ceD2vDjQev7/vnPGVUM8lP/xxspatryu3zWuJVZcz60eT3p1dfUrFGYDh7YrwfqPGhQVMgtixbOV6cuT6hDx86SpDHjJ2rr1s1a8eUX6tt/gMHRIbsaNmqiho2aZLnNYrFo8aL/qP8zA9Xs4eaSpMnRU/Vw4/ratPFbtW7T9m6GCjsaNmqsho0a33R767btbV4PHzlaK778XEd+Pay69cJ09epVvfHaFA0ZPlIdO3WxjitfPthhMQNGoWL6/86ePat169bpueeesyalGQICAtStWzd99tlnslgsBkWYN0yZPEmNGjdRvbD6mbYlJyfrpReHK+rlcSpRwjeLvXG3bfvlDzV7KETBpf0kSdUq3qewmuW0/ocDkiSz27W/TV1OvWrdx2KxKDX1qurXLG8dY7FYlHLdmMspV5WebrGOyYqnRyGdTaIKl9dd+PdfSZKnl5fBkeBOXUlN1cED+23+/ezi4qJ69eprzy8/GxgZctM/f/+t06dPqW69/13nokWLqlr1GlznfO7KlVR9+fln8ihaVBVDKkmSDh08oJMnE+RiMini8Y5q0ayRIp/tr9+O/GpwtEDuIzH9f0eOHJHFYlHlypWz3F65cmWdO3dOp06dusuR5R1rv1mtQwcP6Pkhw7Pc/ubUaNWoWcv6F1wY7835G7Rs3W79snyMknZM17ZPRmnGks36dM0uSdLhP+MVd+KsXhn8qLyLFlLBAq4a3qu5SgUUU0CJa4nKjr1/6mJyql594TEVci+owu5uem1YRxUo4KqAEp5Zvm+5+0toYEQTffj593ftXJFz6enpmvr6FNWsVVsVKlQ0OhzcoXOJ55SWliYfHx+b9T4+Pjp9+rRBUSG3nT597XuITwmus7PYuuU71X+otuo+UEMfL1qo2XM+UrFixSRJf//9lyRp9qz31W/As5o+Y5Y8PT3Vv08PnT+faGDU9yhTHlmcFInpDW6nIpqSkqKkpCSbxdnu84g/cUJTX3tVU157Q2azOdP2zd9t1I7t2zRy9EsGRIeb6dKytiJaP6heLy1U2FOvq9+4RRrS/RF1a19XknT1aroihs9VcJCfTmx9Q2dj3lbjOhW19vv9SrekS5JOn7ugbi9+qDaNq+r0D28p4b9vyMujkH46EKf0LH5fAn299PWMSH357c+av/zHu3q+yJkpkyfq9yNHNPXNaUaHAgD3rAcfrKtPP1+uBYs+Uf0GjfTiiCE6+//3hVvSr/23uF//Z9S8RbhCq1TVxMnRksmkDevWGhk2kOu4x/T/BQcHy2Qy6eDBg+rYsWOm7QcPHlSxYsXk65u5RTU6OloTJ060WffSmPEaM26Co8K96w4c2K+zZ8+o6xOdrOvS0tL00+6d+uyTxXr8ya76+684NQqzvUdtxNDBqlW7jj5csOhuhwxJU4Z0sFZNJWn/b8dVumRxjezdQotXbpck/XzwL9WLeE2eHu5yK1hAp89d0Nb/jNDuA3HW42zcdkhVHp0oH+8iuno1XecvJOvohin68/+Pm6Gkr5fWzn1B2/b8ochXPrl7J4ocmzJ5krZu2ayPFn4s/4AAo8NBLijmXUyurq6ZJjo6c+aMSpQoYVBUyG0Zt8qcOX1Gvr5+1vVnzpxRSKVKRoWFO1CocGGVLh2k0qWDVL1GTT3aNlzLl3+uvv2eUYn//95Z7rp7St3c3FSq1P2Kjz9hVMj3LGeeeCgvIDH9fz4+PmrRooVmzpypoUOH2txnGh8fr8WLF6tHjx5Z/kBGRUVp2LBhNuvSXTJXFfOzuvXq6fPlK23WjRsTpbJly6l33/7yLlZMXR5/0mZ7l47tNeLFKDVp2uxuhorrFHJ3s1Y+M6SlW+TikrlZIunCtYmNypf2Ve3Q0po4c1WmMWcSL0qSmjxYUX7FPbRqy17rtsD/T0p/PhinAeM/vufvx86rLBaLol99RZs2btCHCxapVKn7jQ4JuaSgm5sqh1bR9m0xeviRa7dUpKena/v2GEV0fdrg6JBb7itVSiVK+Gr79hhV+v/bjy5cuKC9e37R4092NTg65AZLerqupKZKkiqHVpWbm5v+/POoatV+QJJ05coVHf/nH5UsGWhkmECuIzG9zowZM1S/fn2Fh4dr8uTJKlu2rPbv36+RI0fqvvvu06uvZn5mpySZzeZM7a3JV+5GxHdPkSIeCr7hHrRChQrLy9vbuj6rCY8CSgbqPr74GuabrXs1qm+4/jpxTgd+P6GalUrp+aeb6T8rtlnHdGpeS6fOXdBf8WdVtUKg3hzZRSs379HGbYesY7o/Wk+Hj8br1LkLqlu9rN4c2UXvLf5OR46dlHQtKV037wXFnTirqLeXy7eYh3XfhDP/3r0Thl1TXpmoNd+s0jvvzVSRwkV0+v/vm/coWlTu7u4GR4c71b1nb419aZSqVKmqqtWq6+NFC5WcnKwOHTvZ3xl5xqWLFxUX97+ulX/+/luHDh6Ul5eXSgYGqlv3Hpr7wSwFlQ7SfaVK6f33psvXz8/6BwnkHZcuXdRf11/Lf/7W4UMH5enlJW8vb82bO1tNmj6sEr6+Sjx3Tks/XaKTJxPUouW1Z457eHioyxMRmv3+ewoICFDJkoFauOAjSbKOAZwFiel1KlSooF27dmn8+PF64okndPbsWQUEBKhDhw4aP368ihcvbnSIQI4Me32Zxj/XTtNfelK+xTx04tR5ffj5D5oyZ411TICvp14f3kl+PkUVfzpJi1dtV/Qc2/tWKpbx06TBj6q4V2EdO35WUz9cp3c/3mTd/nC9Sgou7afg0n76fb3tH3AK1Rrk2JNEjiz97FqLdd9e3W3WT5ocrcdIXvK9Vq3b6NzZs5o5412dPn1KIZUqa+YH8+RDK2++sn//PvXr3cP6+s2p0ZKkRx/rqFemvKbeffsrOTlZkyaM07//JqlW7Qc084N5Wc4BAWMd2L9P/fv0tL5+643XJEntH+2gl8dN1J9Hj2rl188r8dw5eXl7q0qVavpo4WKVD65g3WfIsJFydXXVmKhRSkm5rKrVamjOhwuYTd0AtPI6lslCv51DOFvFFP9T/CESLWd2bucMo0MAAPy/9HS+pjqrwm75L8krP3yN/UF3we9vtTY6BIegYgoAAAAAdlAwdSweFwMAAAAAMBSJKQAAAADAULTyAgAAAIAdTH7kWFRMAQAAAACGIjEFAAAAABiKVl4AAAAAsINOXseiYgoAAAAAMBQVUwAAAACwg8mPHIuKKQAAAADAUCSmAAAAAABD0coLAAAAAHbQyetYVEwBAAAAAIYiMQUAAAAAGIpWXgAAAACww8WFXl5HomIKAAAAADAUFVMAAAAAsIPJjxyLiikAAAAAwFAkpgAAAAAAQ9HKCwAAAAB2mOjldSgqpgAAAAAAQ5GYAgAAAAAMRSsvAAAAANhBJ69jUTEFAAAAABiKiikAAAAA2MHkR45FxRQAAAAAYCgSUwAAAACAoWjlBQAAAAA7aOV1LCqmAAAAAABDUTEFAAAAADsomDoWFVMAAAAAgKFITAEAAAAAhqKVFwAAAADsYPIjx6JiCgAAAAAwFIkpAAAAAMBQtPICAAAAgB108joWFVMAAAAAgKGomAIAAACAHUx+5FhUTAEAAAAAhiIxBQAAAAAYilZeAAAAALCDTl7HomIKAAAAADAUiSkAAAAAwFC08gIAAACAHczK61hUTAEAAAAAhqJiCgAAAAB2UDB1LCqmAAAAAABDkZgCAAAAgBP6559/9PTTT8vHx0eFChVStWrVtGvXLut2i8WicePGqWTJkipUqJCaN2+uI0eO2Bzj7Nmz6tatmzw9PeXt7a2+ffvqwoULNmP27NmjRo0ayd3dXffff7+mTp2a41hJTAEAAADADpPJlCeW7Dp37pwaNGigggULas2aNTpw4IDeeustFStWzDpm6tSpevfddzV79mxt375dRYoUUXh4uC5fvmwd061bN+3fv18bNmzQqlWrtHXrVg0YMMC6PSkpSS1btlRQUJB2796tN954QxMmTNCcOXNy9vlaLBZLjvZAtiRfMToCOErxhwYZHQIc6NzOGUaHAAD4f+npfE11VoXd8t8Nm3WjtxgdgiRpe1STbI0bPXq0fvjhB/33v//NcrvFYlFgYKCGDx+uESNGSJLOnz8vf39/LViwQBERETp48KBCQ0O1c+dO1alTR5K0du1atWnTRn///bcCAwM1a9Ysvfzyy4qPj5ebm5v1vVesWKFDhw5l+7yomAIAAABAPpGSkqKkpCSbJSUlJdO4r7/+WnXq1NHjjz8uPz8/1apVS3PnzrVuP3r0qOLj49W8eXPrOi8vL9WtW1cxMTGSpJiYGHl7e1uTUklq3ry5XFxctH37duuYxo0bW5NSSQoPD9fhw4d17ty5bJ8Xs/I6CLN2OS8qagAA3B0uLnyhQt6RV77fR0dHa+LEiTbrxo8frwkTJtis++OPPzRr1iwNGzZML730knbu3Knnn39ebm5u6tmzp+Lj4yVJ/v7+Nvv5+/tbt8XHx8vPz89me4ECBVS8eHGbMWXLls10jIxt17cO3wqJKQAAAADkE1FRURo2bJjNOrPZnGlcenq66tSpoylTpkiSatWqpX379mn27Nnq2bPnXYk1J2jlBQAAAAA7jJ70KGMxm83y9PS0WbJKTEuWLKnQ0FCbdZUrV1ZcXJwkKSAgQJKUkJBgMyYhIcG6LSAgQCdPnrTZfvXqVZ09e9ZmTFbHuP49soPEFAAAAACcTIMGDXT48GGbdb/++quCgoIkSWXLllVAQIA2btxo3Z6UlKTt27crLCxMkhQWFqbExETt3r3bOmbTpk1KT09X3bp1rWO2bt2qK1f+N/vrhg0bFBISku02XonEFAAAAACcztChQ7Vt2zZNmTJFv/32m5YsWaI5c+YoMjJS0rUK8JAhQzR58mR9/fXX2rt3r3r06KHAwEB16NBB0rUKa6tWrdS/f3/t2LFDP/zwgwYNGqSIiAgFBgZKkp566im5ubmpb9++2r9/vz777DNNnz49U7uxPdxjCgAAAAB25JXJj7LrwQcf1PLlyxUVFaVJkyapbNmyeuedd9StWzfrmBdffFEXL17UgAEDlJiYqIYNG2rt2rVyd3e3jlm8eLEGDRqkRx55RC4uLurcubPeffdd63YvLy+tX79ekZGReuCBB1SiRAmNGzfO5lmn2cFzTB3k8lWjIwAAAADyJvd8WB6rP3Wr0SFIkn58sbHRIThEPvyRAAAAAIC7y5TfSqb5DPeYAgAAAAAMRWIKAAAAADAUrbwAAAAAYAedvI5FxRQAAAAAYCgSUwAAAACAoWjlBQAAAAA7mJXXsaiYAgAAAAAMRcUUAAAAAOygYupYVEwBAAAAAIYiMQUAAAAAGIpWXgAAAACwg05ex6JiCgAAAAAwFIkpAAAAAMBQtPICAAAAgB3MyutYVEwBAAAAAIaiYgoAAAAAdlAwdSwqpgAAAAAAQ5GYAgAAAAAMRSsvAAAAANjB5EeORcUUAAAAAGAoElMAAAAAgKFo5QUAAAAAO+jkdSwqpgAAAAAAQ1ExBQAAAAA7XCiZOhQVUwAAAACAoUhMAQAAAACGopUXAAAAAOygk9exqJgCAAAAAAxFxRQAAAAA7DBRMnUoKqYAAAAAAEORmAIAAAAADEUrLwAAAADY4UInr0NRMQUAAAAAGIrEFAAAAABgKFp5AQAAAMAOZuV1LCqmAAAAAABDUTEFAAAAADsomDoWFVMAAAAAgKFITAEAAAAAhqKVFwAAAADsMIleXkeiYgoAAAAAMBSJKQAAAADAULTyAgAAAIAdLnTyOlSeq5j26tVLJpPJuvj4+KhVq1bas2fPTff5888/ZTKZFBsbe9MxP/74o9q0aaNixYrJ3d1d1apV09tvv620tLRMY7/77ju1adNGPj4+Kly4sEJDQzV8+HD9888/uXGKTmP3rp0a/Nyzat60oWpUCdGmjd8aHRJy2adLFqt1i4f1YK1q6hbxuPbe4vcQec/ST5eoS8f2qv9QbdV/qLa6P/Wkvv/vFuv2vr26q0aVEJvllYnjDIwYuYHfW+fFtXVOfJ8CrslziakktWrVSidOnNCJEye0ceNGFShQQO3atbvt4y1fvlxNmjRRqVKl9N133+nQoUN64YUXNHnyZEVERMhisVjHfvDBB2revLkCAgL0xRdf6MCBA5o9e7bOnz+vt956KzdOz2kkJ19SSEiIosaMNzoUOMDaNd/ozanReua5SH26bLlCQipp4DN9debMGaNDQzb5+QfohaEj9MmyL7Vk6Rd6qG49vTAoUr/9dsQ6pnOXJ7Rx8/fWZejwFw2MGHeK31vnxbV1Xnyfyj+uL54ZuTirPNnKazabFRAQIEkKCAjQ6NGj1ahRI506dUq+vr45OtbFixfVv39/Pfroo5ozZ451fb9+/eTv769HH31US5cu1ZNPPqm///5bzz//vJ5//nlNmzbNOrZMmTJq3LixEhMTc+X8nEXDRk3UsFETo8OAgyxaOF+dujyhDh07S5LGjJ+orVs3a8WXX6hv/wEGR4fsaNrsYZvXg18YqqWffqI9v8QqOLiCJMnd3V0lcvjvVeRd/N46L66t8+L7FHBNnqyYXu/ChQv6+OOPFRwcLB8fnxzvv379ep05c0YjRozItK19+/aqWLGiPvnkE0nSsmXLlJqaqhdfzLpi4O3tneP3B/KjK6mpOnhgv+qF1beuc3FxUb169bXnl58NjAy3Ky0tTWu+Wa3k5EuqUaOWdf03q1eqSYO66vRYO02f9paSk5MNjBJ3gt9b58W1BXAvyJMV01WrVsnDw0PStYpnyZIltWrVKrm45DyP/vXXXyVJlStXznJ7pUqVrGOOHDkiT09PlSxZ8jYjB5zDucRzSktLy/THIB8fHx09+odBUeF2HPn1sLo/FaHU1BQVLlxY0959X+WDgyVJrdu0U8nAQPn5+enXXw/rnbff1J9/HtW06TMMjhq3g99b58W1BfIGJ+6izRPyZGLarFkzzZo1S5J07tw5zZw5U61bt9aOHTv07LPP6r///a8kKSgoSPv378/WMa+/j/RWY26nbzslJUUpKSm2x3I1y2w25/hYAJCbypQpq6VfrNCFC/9qw/p1GvvSKH244GOVDw5WlyeetI6rUDFEJUr4akDfXvorLk73ly5tYNQAAOBekydbeYsUKaLg4GAFBwfrwQcf1Lx583Tx4kXNnTtX8+bNU2xsrGJjY/XNN9/YPVbFihUlSQcPHsxy+8GDB61jKlasqPPnz+vEiRM5ijc6OlpeXl42yxuvR+foGEBeUsy7mFxdXTNNqnHmzBmVKFHCoKhwOwq6ual0UJBCq1TVC0OHq2JIJS3++D9Zjq1WvYYkKS7u2N0MEbmE31vnxbUFcC/Ik4npjUwmk1xcXJScnKz77rvPmrQGBQXZ3bdly5YqXrx4ljPqfv311zpy5Ii6du0qSerSpYvc3Nw0derULI91s8mPoqKidP78eZtl5Kio7J8gkMcUdHNT5dAq2r4txrouPT1d27fHqPp19yci/0lPT9eV1NQstx0+dO0PeDmdZA55A7+3zotrC+QNLiZTnlicVZ5s5U1JSVF8fLyka628M2bM0IULF9S+fftb7nf48OFM66pUqaIPPvhAERERGjBggAYNGiRPT09t3LhRI0eOVJcuXfTEE09Iku6//35NmzZNgwYNUlJSknr06KEyZcro77//1n/+8x95eHhkmeCazZnbdi9fvd2zzz8uXbyouLg46+t//v5bhw4elJeXl0oGBhoYGXJD9569NfalUapSpaqqVquujxctVHJysjp07GR0aMim6dPeUsNGjRVQsqQuXbyob1av0q6dOzRrzof6Ky5O36xeqUaNm8jL21tHDh/WG1Oj9UCdB1UxpJLRoeM28XvrvLi2zovvU8A1eTIxXbt2rXUCoqJFi6pSpUpatmyZmjZtesv9IiIiMq3766+/1KVLF3333Xd69dVX1ahRI12+fFkVKlTQyy+/rCFDhtjcV/rcc8+pYsWKevPNN9WxY0clJyerTJkyateunYYNG5ar55nf7d+/T/1697C+fnPqtfblRx/rqFemvGZUWMglrVq30bmzZzVzxrs6ffqUQipV1swP5smHtrF84+zZMxoTNUqnTp2UR9GiqlgxRLPmfKiw+g0Uf+KEtm+L0eJF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\n", "text/plain": [ "

" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\\nCommon Prediction Errors:\n", "----------------------------------------\n", " B-PER -> O: 167 times\n", " O -> B-PER: 136 times\n", " B-PER -> I-PER: 65 times\n", " I-PER -> O: 56 times\n", " I-PER -> B-PER: 45 times\n", " O -> I-PER: 44 times\n", " O -> B-NUM: 10 times\n", " B-NUM -> O: 5 times\n", " I-PER -> B-NUM: 3 times\n", " O -> B-LOC: 2 times\n", "\\nPer-label Performance:\n", "----------------------------------------\n", " I-PER | P: 0.860 | R: 0.868 | F1: 0.864\n", " O | P: 0.975 | R: 0.979 | F1: 0.977\n", " B-LOC | P: 0.946 | R: 0.946 | F1: 0.946\n", " B-NUM | P: 0.966 | R: 0.981 | F1: 0.974\n", " B-PER | P: 0.856 | R: 0.825 | F1: 0.840\n", "\\nModel training and evaluation completed successfully!\n" ] } ], "source": [ "# Error Analysis and Visualization\n", "print(\"\\\\nError Analysis:\")\n", "print(\"=\" * 80)\n", "\n", "# Flatten the predictions for confusion matrix\n", "flat_true = [label for sentence in true_labels for label in sentence]\n", "flat_pred = [label for sentence in pred_labels for label in sentence]\n", "\n", "# Create confusion matrix\n", "unique_labels_in_data = list(set(flat_true + flat_pred))\n", "cm = confusion_matrix(flat_true, flat_pred, labels=unique_labels_in_data)\n", "\n", "# Plot confusion matrix\n", "plt.figure(figsize=(10, 8))\n", "sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', \n", " xticklabels=unique_labels_in_data, \n", " yticklabels=unique_labels_in_data)\n", "plt.title('Confusion Matrix for NER Predictions')\n", "plt.xlabel('Predicted Labels')\n", "plt.ylabel('True Labels')\n", "plt.xticks(rotation=45)\n", "plt.yticks(rotation=0)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# Analysis of common errors\n", "print(\"\\\\nCommon Prediction Errors:\")\n", "print(\"-\" * 40)\n", "\n", "error_count = defaultdict(int)\n", "for true_sentence, pred_sentence in zip(true_labels, pred_labels):\n", " for true_label, pred_label in zip(true_sentence, pred_sentence):\n", " if true_label != pred_label:\n", " error_count[(true_label, pred_label)] += 1\n", "\n", "# Show top 10 most common errors\n", "top_errors = sorted(error_count.items(), key=lambda x: x[1], reverse=True)[:10]\n", "for (true_label, pred_label), count in top_errors:\n", " print(f\" {true_label} -> {pred_label}: {count} times\")\n", "\n", "# Performance per label\n", "print(\"\\\\nPer-label Performance:\")\n", "print(\"-\" * 40)\n", "\n", "label_performance = {}\n", "for label in unique_labels_in_data:\n", " if label in flat_true and label in flat_pred:\n", " true_positives = sum(1 for t, p in zip(flat_true, flat_pred) if t == label and p == label)\n", " false_positives = sum(1 for t, p in zip(flat_true, flat_pred) if t != label and p == label)\n", " false_negatives = sum(1 for t, p in zip(flat_true, flat_pred) if t == label and p != label)\n", " \n", " precision = true_positives / (true_positives + false_positives) if (true_positives + false_positives) > 0 else 0\n", " recall = true_positives / (true_positives + false_negatives) if (true_positives + false_negatives) > 0 else 0\n", " f1 = 2 * precision * recall / (precision + recall) if (precision + recall) > 0 else 0\n", " \n", " label_performance[label] = {'precision': precision, 'recall': recall, 'f1': f1}\n", " print(f\" {label:10} | P: {precision:.3f} | R: {recall:.3f} | F1: {f1:.3f}\")\n", "\n", "print(\"\\\\nModel training and evaluation completed successfully!\")" ] }, { "cell_type": "code", "execution_count": 18, "id": "882a4500", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:12:21.200094Z", "iopub.status.busy": "2025-06-24T13:12:21.199643Z", "iopub.status.idle": "2025-06-24T13:12:21.207983Z", "shell.execute_reply": "2025-06-24T13:12:21.207034Z" }, "papermill": { "duration": 0.019874, "end_time": "2025-06-24T13:12:21.209314", "exception": false, "start_time": "2025-06-24T13:12:21.189440", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model artifacts saved successfully!\n", "\\nSaved files:\n", "- ./fine_tuned_bert_ner/pytorch_model.bin\n", "- ./fine_tuned_bert_ner/config.json\n", "- ./fine_tuned_bert_ner/tokenizer.json\n", "- ./fine_tuned_bert_ner/label2id.json\n", "- ./fine_tuned_bert_ner/id2label.json\n", "- ./fine_tuned_bert_ner/training_history.json\n", "\\nTo load the model later, use:\n", "\n", "from transformers import AutoTokenizer, AutoModelForTokenClassification\n", "import json\n", "\n", "# Load model and tokenizer\n", "model = AutoModelForTokenClassification.from_pretrained('./fine_tuned_bert_ner')\n", "tokenizer = AutoTokenizer.from_pretrained('./fine_tuned_bert_ner')\n", "\n", "# Load label mappings\n", "with open('./fine_tuned_bert_ner/id2label.json', 'r') as f:\n", " id2label = {int(k): v for k, v in json.load(f).items()}\n", "\n", "# Use the predict_ner function as defined above\n", "\n" ] } ], "source": [ "# Save model artifacts for future use\n", "import json\n", "import pickle\n", "\n", "# Save label mappings\n", "with open('./fine_tuned_bert_ner/label2id.json', 'w') as f:\n", " json.dump(label2id, f, indent=2)\n", "\n", "with open('./fine_tuned_bert_ner/id2label.json', 'w') as f:\n", " json.dump({str(k): v for k, v in id2label.items()}, f, indent=2)\n", "\n", "# Save training history if available\n", "if hasattr(trainer.state, 'log_history'):\n", " with open('./fine_tuned_bert_ner/training_history.json', 'w') as f:\n", " json.dump(trainer.state.log_history, f, indent=2)\n", "\n", "print(\"Model artifacts saved successfully!\")\n", "print(\"\\\\nSaved files:\")\n", "print(\"- ./fine_tuned_bert_ner/pytorch_model.bin\")\n", "print(\"- ./fine_tuned_bert_ner/config.json\")\n", "print(\"- ./fine_tuned_bert_ner/tokenizer.json\")\n", "print(\"- ./fine_tuned_bert_ner/label2id.json\")\n", "print(\"- ./fine_tuned_bert_ner/id2label.json\")\n", "print(\"- ./fine_tuned_bert_ner/training_history.json\")\n", "\n", "# Example of how to load the model later\n", "print(\"\\\\nTo load the model later, use:\")\n", "print(\"\"\"\n", "from transformers import AutoTokenizer, AutoModelForTokenClassification\n", "import json\n", "\n", "# Load model and tokenizer\n", "model = AutoModelForTokenClassification.from_pretrained('./fine_tuned_bert_ner')\n", "tokenizer = AutoTokenizer.from_pretrained('./fine_tuned_bert_ner')\n", "\n", "# Load label mappings\n", "with open('./fine_tuned_bert_ner/id2label.json', 'r') as f:\n", " id2label = {int(k): v for k, v in json.load(f).items()}\n", "\n", "# Use the predict_ner function as defined above\n", "\"\"\")" ] }, { "cell_type": "code", "execution_count": 19, "id": "f09376c5", "metadata": { "execution": { "iopub.execute_input": "2025-06-24T13:12:21.229415Z", "iopub.status.busy": "2025-06-24T13:12:21.229203Z", "iopub.status.idle": "2025-06-24T13:12:21.234355Z", "shell.execute_reply": "2025-06-24T13:12:21.233408Z" }, "papermill": { "duration": 0.016853, "end_time": "2025-06-24T13:12:21.235852", "exception": false, "start_time": "2025-06-24T13:12:21.218999", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "================================================================================\n", "RINGKASAN PROYEK NER DENGAN BERT\n", "================================================================================\n", "\n", "✅ YANG TELAH DISELESAIKAN:\n", "\n", "1. Data Preprocessing:\n", " - Download dataset Indonesian Universal Dependencies GSD\n", " - Parse format CoNLL-U dan ekstraksi informasi NER\n", " - Konversi POS tags menjadi NER tags (B-PER, I-PER, B-LOC, B-ORG, B-NUM, O)\n", "\n", "2. Eksplorasi Data:\n", " - Analisis distribusi tag NER\n", " - Visualisasi dataset\n", " - Statistik dataset (jumlah kalimat, token, dll.)\n", "\n", "3. Model Training:\n", " - Menggunakan IndoBERT (indobert-base-uncased) sebagai base model\n", " - Fine-tuning untuk task NER dengan dataset Indonesia\n", " - Implementasi custom dataset class dan data collator\n", "\n", "4. Evaluasi Model:\n", " - Evaluasi menggunakan accuracy dan F1-score\n", " - Classification report detail per label\n", " - Confusion matrix untuk analisis error\n", " - Testing dengan contoh kalimat bahasa Indonesia\n", "\n", "5. Model Deployment:\n", " - Fungsi prediksi untuk teks baru\n", " - Penyimpanan model untuk penggunaan future\n", " - Export semua artifacts (model, tokenizer, label mappings)\n", "\n", "📊 HASIL:\n", "- Model berhasil dilatih untuk mengenali entitas dalam teks bahasa Indonesia\n", "- Mampu mengidentifikasi PERSON, LOCATION, ORGANIZATION, dan NUMBER\n", "- Dapat digunakan untuk prediksi pada teks baru\n", "\n", "🔧 PENGGUNAAN:\n", "Gunakan fungsi predict_ner() untuk melakukan prediksi NER pada teks bahasa Indonesia.\n", "Model dapat dimuat ulang menggunakan kode yang disediakan di atas.\n", "\n", "\\n🎉 Proyek NER dengan BERT telah selesai!\n" ] } ], "source": [ "print(\"=\" * 80)\n", "print(\"RINGKASAN PROYEK NER DENGAN BERT\")\n", "print(\"=\" * 80)\n", "\n", "print(\"\"\"\n", "✅ YANG TELAH DISELESAIKAN:\n", "\n", "1. Data Preprocessing:\n", " - Download dataset Indonesian Universal Dependencies GSD\n", " - Parse format CoNLL-U dan ekstraksi informasi NER\n", " - Konversi POS tags menjadi NER tags (B-PER, I-PER, B-LOC, B-ORG, B-NUM, O)\n", "\n", "2. Eksplorasi Data:\n", " - Analisis distribusi tag NER\n", " - Visualisasi dataset\n", " - Statistik dataset (jumlah kalimat, token, dll.)\n", "\n", "3. Model Training:\n", " - Menggunakan IndoBERT (indobert-base-uncased) sebagai base model\n", " - Fine-tuning untuk task NER dengan dataset Indonesia\n", " - Implementasi custom dataset class dan data collator\n", "\n", "4. Evaluasi Model:\n", " - Evaluasi menggunakan accuracy dan F1-score\n", " - Classification report detail per label\n", " - Confusion matrix untuk analisis error\n", " - Testing dengan contoh kalimat bahasa Indonesia\n", "\n", "5. Model Deployment:\n", " - Fungsi prediksi untuk teks baru\n", " - Penyimpanan model untuk penggunaan future\n", " - Export semua artifacts (model, tokenizer, label mappings)\n", "\n", "📊 HASIL:\n", "- Model berhasil dilatih untuk mengenali entitas dalam teks bahasa Indonesia\n", "- Mampu mengidentifikasi PERSON, LOCATION, ORGANIZATION, dan NUMBER\n", "- Dapat digunakan untuk prediksi pada teks baru\n", "\n", "🔧 PENGGUNAAN:\n", "Gunakan fungsi predict_ner() untuk melakukan prediksi NER pada teks bahasa Indonesia.\n", "Model dapat dimuat ulang menggunakan kode yang disediakan di atas.\n", "\"\"\")\n", "\n", "print(\"\\\\n🎉 Proyek NER dengan BERT telah selesai!\")" ] } ], "metadata": { "kaggle": { "accelerator": "nvidiaTeslaT4", "dataSources": [], "dockerImageVersionId": 31040, "isGpuEnabled": true, "isInternetEnabled": true, "language": "python", "sourceType": "notebook" }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.11" }, "papermill": { "default_parameters": {}, "duration": 269.413304, "end_time": "2025-06-24T13:12:24.430265", "environment_variables": {}, "exception": null, "input_path": "__notebook__.ipynb", "output_path": "__notebook__.ipynb", "parameters": {}, "start_time": "2025-06-24T13:07:55.016961", "version": "2.6.0" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "0343a774c7fc476eade4b923452f80fc": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "05e1ed5aff0944539bd859688a0f2e21": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "068aa48d2f8f4e71a6b342922a19f919": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "06c2d997b3ed44f8ae8c73bf70a42cfd": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "09dae3d4748146beacbfceafc6e9fb07": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_f84fab8e7c4c4d18a83bc8e4cd3d66c8", "placeholder": "​", "style": "IPY_MODEL_1edfc8e99a3b421f89d3416eaa406b0f", "tabbable": null, "tooltip": null, "value": "pytorch_model.bin: 100%" } }, "0aa2f9466f034819a103f377a3727b98": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "117e1f9df0ab4ce69201faf35d16a59a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "19a5c638a8f8466d92a505f9d6c762f0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_bbe67daf3d654d6ca4cae13751acd025", "IPY_MODEL_1cc0b1116883453eaf1569a7f4aa8f02", "IPY_MODEL_c6e64b5c62cc486a9af96e293df13b9f" ], "layout": "IPY_MODEL_f619c10e19ad4d8a88beda32f5a130b1", "tabbable": null, "tooltip": null } }, "1af146abbca04bcfab71a55081ea9184": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "1badffd5cc5c469f943b3c871340ae80": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "1c4b0c51b54646139304921b52cc8ecd": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_4dc6834bab55427eb52566d28ed0a354", "IPY_MODEL_b35e3ae6a27345a09d083e1024b7e117", "IPY_MODEL_7525bf7b52cc4fe492d0ead82e735593" ], "layout": "IPY_MODEL_5da0ef52c3ad410fb333272bd48c1dbd", "tabbable": null, "tooltip": null } }, "1cc0b1116883453eaf1569a7f4aa8f02": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_39a542280d08499e93a95dd3c4aebf6e", "max": 444753060.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_d1796d91debf4c5b8fad38d90befaee7", "tabbable": null, "tooltip": null, "value": 444753060.0 } }, "1ebd683a43244f41ac35bb680381ea0d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "1ed9757dcc854506aca5da3de55dd28a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "1edfc8e99a3b421f89d3416eaa406b0f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "211f531fa96d459696efe46e86c23611": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "249bd5eb366c4a58a102947c14717888": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_93efea4c78924e61836139506315eb25", "placeholder": "​", "style": "IPY_MODEL_211f531fa96d459696efe46e86c23611", "tabbable": null, "tooltip": null, "value": "special_tokens_map.json: 100%" } }, "27d9a0daf05a4ad396048c45e141ebea": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "285cb62a81c245fe8a7b2ddfe4f9811e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "294847fd76d541f19859bf409fdc4183": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_27d9a0daf05a4ad396048c45e141ebea", "max": 444780374.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_0343a774c7fc476eade4b923452f80fc", "tabbable": null, "tooltip": null, "value": 444780374.0 } }, "2b9734cc58264bbd8ef53f48c84790c6": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2e6cb2c814174c6fb726a3f22f50e137": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "2e879a11c60247c4b34c71dd8eb0c4d7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_38bd760596f244948adcbbcbf4db2959", "IPY_MODEL_69b5b30a04bb45d5b0126c790dd9b698", "IPY_MODEL_9543f20bae444d889bb31f99a406a2ae" ], "layout": "IPY_MODEL_1ed9757dcc854506aca5da3de55dd28a", "tabbable": null, "tooltip": null } }, "30cc6ec649c746869234ca54ab8c3c82": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "31184ced280745ccbd6577ee71d4c107": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_b35f630a3f294a3cb11c571bd41baa7a", "max": 112.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_570f1c4ee4944e309ae1eb4605332da9", "tabbable": null, "tooltip": null, "value": 112.0 } }, "3262cd6dd9674e1d92d389f1a3f02f01": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "36e3f25c0e9b438eb7e4d2819351375d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "38bd760596f244948adcbbcbf4db2959": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_9886eee33670474bab28828c3349d65d", "placeholder": "​", "style": "IPY_MODEL_1af146abbca04bcfab71a55081ea9184", "tabbable": null, "tooltip": null, "value": "vocab.txt: 100%" } }, "39a542280d08499e93a95dd3c4aebf6e": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "419eb0c762674f569eb1ad733be8758c": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4937a24d0bf0438a89e0b0bf3ef5df09": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "4dc6834bab55427eb52566d28ed0a354": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_05e1ed5aff0944539bd859688a0f2e21", "placeholder": "​", "style": "IPY_MODEL_53bec29a08404f79a13ba4a5f1e89887", "tabbable": null, "tooltip": null, "value": "config.json: 100%" } }, "53bec29a08404f79a13ba4a5f1e89887": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "570f1c4ee4944e309ae1eb4605332da9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "592ecdaa269a44b3b97f4a07ef4c97db": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5da0ef52c3ad410fb333272bd48c1dbd": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5df31ed0af644997979d463dd704f92c": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "61048e9b746f4537b7e292ca48deb6cb": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "67e15c6118e547399e0627ddae6d58ee": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "69b5b30a04bb45d5b0126c790dd9b698": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_5df31ed0af644997979d463dd704f92c", "max": 234118.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_61048e9b746f4537b7e292ca48deb6cb", "tabbable": null, "tooltip": null, "value": 234118.0 } }, "6c6db61235414989bcc21816b88cc20a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_fecb3528a74e4f97b9ebc2a07c8c1f5a", "IPY_MODEL_f346c46eb90b491d996f5f8f0b9b0e7b", "IPY_MODEL_d4b90e9dcc8d4af9be4cd2e3a39d623e" ], "layout": "IPY_MODEL_6e048c3477eb4da39ec93195d80ab62a", "tabbable": null, "tooltip": null } }, "6e048c3477eb4da39ec93195d80ab62a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7525bf7b52cc4fe492d0ead82e735593": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_7ad3bed68ef448a09562df467cfcad8b", "placeholder": "​", "style": "IPY_MODEL_1ebd683a43244f41ac35bb680381ea0d", "tabbable": null, "tooltip": null, "value": " 1.01k/1.01k [00:00<00:00, 110kB/s]" } }, "760a14a293314aa486925c0696b7dc28": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_e9c04f431cf14c6c935c60a53c6a4637", "IPY_MODEL_b5460b664a634355b64fa3027cb49bbf", "IPY_MODEL_ce90c82888ed4149aabf03c1d8c9ce6f" ], "layout": "IPY_MODEL_97c63fdd464d47e48409e96fd71979f3", "tabbable": null, "tooltip": null } }, "7ad3bed68ef448a09562df467cfcad8b": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "86a96e6d69084a179d3cca6163f8148b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "93efea4c78924e61836139506315eb25": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9543f20bae444d889bb31f99a406a2ae": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_30cc6ec649c746869234ca54ab8c3c82", "placeholder": "​", "style": "IPY_MODEL_b6eb1627cf6640e89c8257be2afd7ea1", "tabbable": null, "tooltip": null, "value": " 234k/234k [00:00<00:00, 9.76MB/s]" } }, "97c63fdd464d47e48409e96fd71979f3": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9886eee33670474bab28828c3349d65d": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "af1a04500d614300804110f909505cd4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_09dae3d4748146beacbfceafc6e9fb07", "IPY_MODEL_294847fd76d541f19859bf409fdc4183", "IPY_MODEL_d5dc062b78924f3fa7aad7bc8fe61f86" ], "layout": "IPY_MODEL_f3dea307c271467d971a10f490f6d6d5", "tabbable": null, "tooltip": null } }, "b35e3ae6a27345a09d083e1024b7e117": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_b751a78cf3c74c728dba3e42392ad4ce", "max": 1014.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_4937a24d0bf0438a89e0b0bf3ef5df09", "tabbable": null, "tooltip": null, "value": 1014.0 } }, "b35f630a3f294a3cb11c571bd41baa7a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b4f3601692a34fa9bf4dfec3006216cc": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b5460b664a634355b64fa3027cb49bbf": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_592ecdaa269a44b3b97f4a07ef4c97db", "max": 42.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_67e15c6118e547399e0627ddae6d58ee", "tabbable": null, "tooltip": null, "value": 42.0 } }, "b6eb1627cf6640e89c8257be2afd7ea1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "b751a78cf3c74c728dba3e42392ad4ce": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b895a32c62d44cb49558bdc88d780f5a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "bbe67daf3d654d6ca4cae13751acd025": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_068aa48d2f8f4e71a6b342922a19f919", "placeholder": "​", "style": "IPY_MODEL_b895a32c62d44cb49558bdc88d780f5a", "tabbable": null, "tooltip": null, "value": "model.safetensors: 100%" } }, "c2516a46f8ac43ad9ceb8bf4c8175d56": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "c6e64b5c62cc486a9af96e293df13b9f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_ed9fb668326f496498e6f9dbda12280c", "placeholder": "​", "style": "IPY_MODEL_2e6cb2c814174c6fb726a3f22f50e137", "tabbable": null, "tooltip": null, "value": " 445M/445M [00:02<00:00, 182MB/s]" } }, "c7724d3e0036460695ad38587bb65fb0": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ce90c82888ed4149aabf03c1d8c9ce6f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_e69040da358e4d7b9c16ba6fb93e2209", "placeholder": "​", "style": "IPY_MODEL_285cb62a81c245fe8a7b2ddfe4f9811e", "tabbable": null, "tooltip": null, "value": " 42.0/42.0 [00:00<00:00, 4.81kB/s]" } }, "d1796d91debf4c5b8fad38d90befaee7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "d4b90e9dcc8d4af9be4cd2e3a39d623e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_c7724d3e0036460695ad38587bb65fb0", "placeholder": "​", "style": "IPY_MODEL_36e3f25c0e9b438eb7e4d2819351375d", "tabbable": null, "tooltip": null, "value": " 2.00/2.00 [00:00<00:00, 225B/s]" } }, "d5dc062b78924f3fa7aad7bc8fe61f86": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_d97da99ba4e6423fb4df75ba48917495", "placeholder": "​", "style": "IPY_MODEL_1badffd5cc5c469f943b3c871340ae80", "tabbable": null, "tooltip": null, "value": " 445M/445M [00:01<00:00, 281MB/s]" } }, "d956a6271a1844b1b49139a3c75e2029": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_249bd5eb366c4a58a102947c14717888", "IPY_MODEL_31184ced280745ccbd6577ee71d4c107", "IPY_MODEL_deb6539b4ef747f5baf0a90fc6b9c6b3" ], "layout": "IPY_MODEL_2b9734cc58264bbd8ef53f48c84790c6", "tabbable": null, "tooltip": null } }, "d97da99ba4e6423fb4df75ba48917495": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "deb6539b4ef747f5baf0a90fc6b9c6b3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_06c2d997b3ed44f8ae8c73bf70a42cfd", "placeholder": "​", "style": "IPY_MODEL_3262cd6dd9674e1d92d389f1a3f02f01", "tabbable": null, "tooltip": null, "value": " 112/112 [00:00<00:00, 12.4kB/s]" } }, "e69040da358e4d7b9c16ba6fb93e2209": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e9c04f431cf14c6c935c60a53c6a4637": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_419eb0c762674f569eb1ad733be8758c", "placeholder": "​", "style": "IPY_MODEL_86a96e6d69084a179d3cca6163f8148b", "tabbable": null, "tooltip": null, "value": "tokenizer_config.json: 100%" } }, "ed9fb668326f496498e6f9dbda12280c": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f346c46eb90b491d996f5f8f0b9b0e7b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_b4f3601692a34fa9bf4dfec3006216cc", "max": 2.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_117e1f9df0ab4ce69201faf35d16a59a", "tabbable": null, "tooltip": null, "value": 2.0 } }, "f3dea307c271467d971a10f490f6d6d5": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f619c10e19ad4d8a88beda32f5a130b1": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f84fab8e7c4c4d18a83bc8e4cd3d66c8": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "fecb3528a74e4f97b9ebc2a07c8c1f5a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_0aa2f9466f034819a103f377a3727b98", "placeholder": "​", "style": "IPY_MODEL_c2516a46f8ac43ad9ceb8bf4c8175d56", "tabbable": null, "tooltip": null, "value": "added_tokens.json: 100%" } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }