From 1ad6d2601e966390aabf98777b0262216e6ca32c Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Fri, 24 Nov 2023 19:22:41 +0530 Subject: [PATCH 01/22] sentiment analysis using laser encoders --- tasks/SentimentAnalysis/README.md | 0 .../SentimentAnalysis/SentimentAnalysis.ipynb | 186 ++++++++++++++++++ 2 files changed, 186 insertions(+) create mode 100644 tasks/SentimentAnalysis/README.md create mode 100644 tasks/SentimentAnalysis/SentimentAnalysis.ipynb diff --git a/tasks/SentimentAnalysis/README.md b/tasks/SentimentAnalysis/README.md new file mode 100644 index 00000000..e69de29b diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb new file mode 100644 index 00000000..f3c3862c --- /dev/null +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -0,0 +1,186 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "! pip install laser_encoders\n", + "! pip install chardet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import chardet\n", + "from laser_encoders import LaserEncoderPipeline\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import accuracy_score\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.preprocessing import LabelEncoder\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Dense\n", + "from tqdm import tqdm" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open('/content/drive/MyDrive/dataset/train.csv', 'rb') as f:\n", + " result = chardet.detect(f.read())\n", + "\n", + "# Use the detected encoding when reading the CSV file\n", + "data = pd.read_csv('/content/drive/MyDrive/dataset/train.csv', encoding=result['encoding'])\n", + "data = data[['sentiment', 'text']]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(data.head())\n", + "print(data.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sentiments = []\n", + "texts = []\n", + "\n", + "for index, row in data.iterrows():\n", + " sentiment = row['sentiment'].lower() # Convert to lowercase for case-insensitivity\n", + " if sentiment == 'neutral':\n", + " sentiments.append(1)\n", + " elif sentiment == 'positive':\n", + " sentiments.append(2)\n", + " elif sentiment == 'negative':\n", + " sentiments.append(3)\n", + " else:\n", + " # Handle the case where sentiment is not one of the expected values\n", + " # You may choose to skip this row or handle it differently based on your requirements\n", + " print(f\"Warning: Unknown sentiment '{sentiment}' in row {index}\")\n", + "\n", + " text = row['text']\n", + " texts.append(text)\n", + "\n", + "print(len(sentiments))\n", + "print(len(texts))\n", + "sentiments = sentiments[:300] + sentiments[400:]\n", + "texts = texts[:300] + texts[400:]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "label_encoder = LabelEncoder()\n", + "encoded_sentiments = label_encoder.fit_transform(sentiments)\n", + "\n", + "# Split the data into training and testing sets\n", + "X_train, X_test, y_train, y_test = train_test_split(texts, encoded_sentiments, test_size=0.2, random_state=42)\n", + "\n", + "# Initialize the LaserEncoder\n", + "encoder = LaserEncoderPipeline(lang=\"eng_Latn\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize empty arrays to store embeddings\n", + "X_train_embeddings = []\n", + "X_test_embeddings = []\n", + "\n", + "# Encode sentences line-wise using tqdm for progress visualization\n", + "print(\"Encoding training sentences:\")\n", + "for sentence in tqdm(X_train):\n", + " embeddings = encoder.encode_sentences([sentence])[0]\n", + " X_train_embeddings.append(embeddings)\n", + "\n", + "print(\"Encoding testing sentences:\")\n", + "for sentence in tqdm(X_test):\n", + " embeddings = encoder.encode_sentences([sentence])[0]\n", + " X_test_embeddings.append(embeddings)\n", + "\n", + "# Convert lists to numpy arrays\n", + "X_train_embeddings = np.array(X_train_embeddings)\n", + "X_test_embeddings = np.array(X_test_embeddings)\n", + "\n", + "# # Encode sentences line-wise\n", + "# X_train_embeddings = np.array([encoder.encode_sentences([sentence])[0] for sentence in X_train])\n", + "# X_test_embeddings = np.array([encoder.encode_sentences([sentence])[0] for sentence in X_test])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Build a simple neural network model\n", + "model = Sequential()\n", + "model.add(Dense(64, input_shape=(1024,), activation='relu'))\n", + "model.add(Dense(3, activation='softmax')) # Assuming 3 classes (neutral, positive, negative)\n", + "\n", + "# Compile the model\n", + "model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n", + "\n", + "# Train the model\n", + "model.fit(X_train_embeddings, y_train, epochs=20, batch_size=32, validation_split=0.1)\n", + "\n", + "# Evaluate the model on the test set\n", + "accuracy = model.evaluate(X_test_embeddings, y_test)[1]\n", + "print(f\"Accuracy: {accuracy * 100:.2f}%\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Now, you can use the trained model to predict the sentiment of user input\n", + "user_text = input(\"Enter a text: \")\n", + "user_text_embedding = encoder.encode_sentences([user_text])[0]\n", + "user_text_embedding = np.reshape(user_text_embedding, (1, -1))\n", + "\n", + "predicted_sentiment = np.argmax(model.predict(user_text_embedding))\n", + "predicted_sentiment_no = label_encoder.inverse_transform([predicted_sentiment])[0]\n", + "if predicted_sentiment_no == 1:\n", + " predicted_sentiment_label = 'neutral'\n", + "elif predicted_sentiment_no == 2:\n", + " predicted_sentiment_label = 'positive'\n", + "else:\n", + " predicted_sentiment_label = 'negative'\n", + "\n", + "print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From b40847cadbf5e3425e3f3c430d3b81bb20bcb192 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Fri, 24 Nov 2023 19:37:40 +0530 Subject: [PATCH 02/22] Updated readme --- tasks/SentimentAnalysis/README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tasks/SentimentAnalysis/README.md b/tasks/SentimentAnalysis/README.md index e69de29b..bc63c43b 100644 --- a/tasks/SentimentAnalysis/README.md +++ b/tasks/SentimentAnalysis/README.md @@ -0,0 +1,26 @@ +# Laser Encoder: Sentiment Analysis + +## Overview + +This project demonstrates the application of the Laser Encoder tool for creating sentence embeddings in the context of sentiment analysis. The Laser Encoder is used to encode text data, and a sentiment analysis model is trained to predict the sentiment of the text. + +## Example Usage + +- Download Dataset: + Download the sample dataset from the following link: [Sample Dataset](https://www.kaggle.com/datasets/abhi8923shriv/sentiment-analysis-dataset) + +- Run the Example Notebook: + Execute the provided Jupyter notebook SentimentAnalysis.ipynb + + jupyter notebook sentiment_analysis_example.ipynb + + +## Customization + +- Modify the model architecture, hyperparameters, and training settings in the neural network model section based on your requirements. +- Customize the sentiment mapping and handling of unknown sentiments in the data preparation section. + +## Additional Notes +- Feel free to experiment with different models, embeddings, and hyperparameters to optimize performance. +- Ensure that the dimensions of embeddings and model inputs are compatible. +Adapt the code based on your specific dataset and use case. \ No newline at end of file From f73a83530dcf4adeb22c9f1bfd775245cd9e9915 Mon Sep 17 00:00:00 2001 From: Siddharth Singh Rana <91743459+NIXBLACK11@users.noreply.github.com> Date: Fri, 24 Nov 2023 19:40:56 +0530 Subject: [PATCH 03/22] Update README.md --- tasks/SentimentAnalysis/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/SentimentAnalysis/README.md b/tasks/SentimentAnalysis/README.md index bc63c43b..8b4bd0ae 100644 --- a/tasks/SentimentAnalysis/README.md +++ b/tasks/SentimentAnalysis/README.md @@ -12,7 +12,7 @@ This project demonstrates the application of the Laser Encoder tool for creating - Run the Example Notebook: Execute the provided Jupyter notebook SentimentAnalysis.ipynb - jupyter notebook sentiment_analysis_example.ipynb + jupyter notebook SentimentAnalysis.ipynb ## Customization @@ -23,4 +23,4 @@ This project demonstrates the application of the Laser Encoder tool for creating ## Additional Notes - Feel free to experiment with different models, embeddings, and hyperparameters to optimize performance. - Ensure that the dimensions of embeddings and model inputs are compatible. -Adapt the code based on your specific dataset and use case. \ No newline at end of file +Adapt the code based on your specific dataset and use case. From 603a56c510436092c3bffc4a55cfb76baed52d31 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Tue, 28 Nov 2023 22:26:37 +0530 Subject: [PATCH 04/22] Added button to run on collab --- tasks/SentimentAnalysis/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tasks/SentimentAnalysis/README.md b/tasks/SentimentAnalysis/README.md index bc63c43b..eab914c7 100644 --- a/tasks/SentimentAnalysis/README.md +++ b/tasks/SentimentAnalysis/README.md @@ -4,6 +4,12 @@ This project demonstrates the application of the Laser Encoder tool for creating sentence embeddings in the context of sentiment analysis. The Laser Encoder is used to encode text data, and a sentiment analysis model is trained to predict the sentiment of the text. +## Getting Started + +To run the notebook in Google Colab, simply click the "Open in Colab" button below: + +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/12gQUG7rPJvOVeWQkpMFzMiixqwDIdv4W?usp=sharing) + ## Example Usage - Download Dataset: From 99b242a42dfc3421b80839674aad3ef191fb1509 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Wed, 29 Nov 2023 20:24:45 +0530 Subject: [PATCH 05/22] Added button to run on collab --- tasks/SentimentAnalysis/README.md | 15 +- .../SentimentAnalysis/SentimentAnalysis.ipynb | 984 ++++++++++++++---- 2 files changed, 811 insertions(+), 188 deletions(-) diff --git a/tasks/SentimentAnalysis/README.md b/tasks/SentimentAnalysis/README.md index 5d758755..0f8714ba 100644 --- a/tasks/SentimentAnalysis/README.md +++ b/tasks/SentimentAnalysis/README.md @@ -8,14 +8,21 @@ This project demonstrates the application of the Laser Encoder tool for creating To run the notebook in Google Colab, simply click the "Open in Colab" button below: -[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/12gQUG7rPJvOVeWQkpMFzMiixqwDIdv4W?usp=sharing) +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NIXBLACK11/LASER-fork/blob/Sentiment-analysis-laser/tasks/SentimentAnalysis/SentimentAnalysis.ipynb) ## Example Usage -- Download Dataset: - Download the sample dataset from the following link: [Sample Dataset](https://www.kaggle.com/datasets/abhi8923shriv/sentiment-analysis-dataset) +1. Alternative Download Instructions: +Manual Download and Extraction Steps: + - Download the sample dataset from the following link: [Sample Dataset](https://www.kaggle.com/datasets/abhi8923shriv/sentiment-analysis-dataset) -- Run the Example Notebook: + - Once the dataset is downloaded, locate the downloaded zip file on your local machine. + Unzip the file using a suitable tool (e.g., WinRAR, 7-Zip, or the built-in extraction tools on your operating system). + - Access the Extracted Files: + Navigate into the extracted folder to access the contents of the dataset. + - Use the Train.csv File. + +2. Run the Example Notebook: Execute the provided Jupyter notebook SentimentAnalysis.ipynb jupyter notebook SentimentAnalysis.ipynb diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index f3c3862c..bb8711ab 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -1,186 +1,802 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "! pip install laser_encoders\n", - "! pip install chardet" - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "hJETScFpJkyu" + }, + "source": [ + "**Installing Laser Encoder**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "KZ_Eqn90J6CK", + "outputId": "60f4d92c-0437-4dbe-c15c-142191e6f3f8" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting laser_encoders\n", + " Downloading laser_encoders-0.0.1-py3-none-any.whl (24 kB)\n", + "Collecting sacremoses==0.1.0 (from laser_encoders)\n", + " Downloading sacremoses-0.1.0-py3-none-any.whl (895 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m13.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting unicategories>=0.1.2 (from laser_encoders)\n", + " Downloading unicategories-0.1.2.tar.gz (12 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting sentencepiece>=0.1.99 (from laser_encoders)\n", + " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m25.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", + "Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (2.1.0+cu118)\n", + "Collecting fairseq>=0.12.2 (from laser_encoders)\n", + " Downloading fairseq-0.12.2.tar.gz (9.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m61.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Installing backend dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: regex in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (2023.6.3)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (8.1.7)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (1.3.2)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (4.66.1)\n", + "Requirement already satisfied: cffi in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (1.16.0)\n", + "Requirement already satisfied: cython in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (3.0.5)\n", + "Collecting hydra-core<1.1,>=1.0.7 (from fairseq>=0.12.2->laser_encoders)\n", + " Downloading hydra_core-1.0.7-py3-none-any.whl (123 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m10.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting omegaconf<2.1 (from fairseq>=0.12.2->laser_encoders)\n", + " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", + "Collecting sacrebleu>=1.4.12 (from fairseq>=0.12.2->laser_encoders)\n", + " Downloading sacrebleu-2.3.2-py3-none-any.whl (119 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m119.7/119.7 kB\u001b[0m \u001b[31m15.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting bitarray (from fairseq>=0.12.2->laser_encoders)\n", + " Downloading bitarray-2.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m287.4/287.4 kB\u001b[0m \u001b[31m36.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.13.1)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (4.5.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (1.12)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.2.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.1.2)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (2023.6.0)\n", + "Requirement already satisfied: triton==2.1.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (2.1.0)\n", + "Requirement already satisfied: appdirs in /usr/local/lib/python3.10/dist-packages (from unicategories>=0.1.2->laser_encoders) (1.4.4)\n", + "Collecting antlr4-python3-runtime==4.8 (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders)\n", + " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m9.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.10/dist-packages (from omegaconf<2.1->fairseq>=0.12.2->laser_encoders) (6.0.1)\n", + "Collecting portalocker (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", + " Downloading portalocker-2.8.2-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: tabulate>=0.8.9 in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (0.9.0)\n", + "Collecting colorama (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", + " Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "Requirement already satisfied: lxml in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (4.9.3)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi->fairseq>=0.12.2->laser_encoders) (2.21)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.10.0->laser_encoders) (2.1.3)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n", + "Building wheels for collected packages: fairseq, unicategories, antlr4-python3-runtime\n", + " Building wheel for fairseq (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291820 sha256=9859efbea05cc8f47c4b36558eb4611ed847b5c21a3f6ad017ba4ec113983b2f\n", + " Stored in directory: /root/.cache/pip/wheels/e4/35/55/9c66f65ec7c83fd6fbc2b9502a0ac81b2448a1196159dacc32\n", + " Building wheel for unicategories (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30842 sha256=6106ef7bd8c55bcc8fff119aed8f43fd9045d38ca47674c0e13a6305c180c0ec\n", + " Stored in directory: /root/.cache/pip/wheels/0b/6d/14/7135674b9daa3996f7f0d9bc1ccff5b7d50d6f1c4a16dc7d90\n", + " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=7e4306ddf850744047f5114185e9c0a1232327980d8e3d36c94f3693bbe5a19a\n", + " Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5\n", + "Successfully built fairseq unicategories antlr4-python3-runtime\n", + "Installing collected packages: sentencepiece, bitarray, antlr4-python3-runtime, unicategories, sacremoses, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq, laser_encoders\n", + "Successfully installed antlr4-python3-runtime-4.8 bitarray-2.8.3 colorama-0.4.6 fairseq-0.12.2 hydra-core-1.0.7 laser_encoders-0.0.1 omegaconf-2.0.6 portalocker-2.8.2 sacrebleu-2.3.2 sacremoses-0.1.0 sentencepiece-0.1.99 unicategories-0.1.2\n" + ] + } + ], + "source": [ + "! pip install laser_encoders" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "bxnIqaniSXbG", + "outputId": "27ecb7fd-7bac-431a-c84b-665720cfeccc" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n" + ] + } + ], + "source": [ + "!pip install chardet" + ] + }, + { + "cell_type": "markdown", + "source": [ + "**Download the dataset**" + ], + "metadata": { + "id": "XlTEzmQTEmew" + } + }, + { + "cell_type": "code", + "source": [ + "!wget -O file.zip \"https://storage.googleapis.com/kaggle-data-sets/989445/1808590/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20231129%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231129T122405Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=812aedd1e3696ec6ae29771267c9c4f89c9fddd52578f8781bb602d0908f14ff2ac34b312f9664b4e91d3698c31b80fe8164e5d15a4cff11087ebbe029a491d492599dd7fb7664bf2a0736490c0e7abf2e639ed9bfd1105c6ae29ffe247d1a4203727d8e4ffdfd54237d813bc9a2145bbaf6e0dd0e91c92c0df18d9eccb6156c12664178dc862cf72e550189f1cf9797b1b52da821e6779edb5a92d8134dab176cce5a5b16fe5b3f598420d1572847f29b9d39cfd168bfa3aeba9e47ebcbf03c3c74dd31ec68e424c321b75f18cfe85b1ac1533ee286a22c5650512a57feaab1c9dd523ba2e87912b9b373109e7c51561f076ebb205bf74b30d6ea847233f8fa\"\n", + "!unzip file.zip\n", + "!unzip file.zip -d ./dataset" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Jh2MZfGKExwu", + "outputId": "7eecaeab-d424-4c30-8ca0-51baea009e2f" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "--2023-11-29 14:22:41-- https://storage.googleapis.com/kaggle-data-sets/989445/1808590/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20231129%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231129T122405Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=812aedd1e3696ec6ae29771267c9c4f89c9fddd52578f8781bb602d0908f14ff2ac34b312f9664b4e91d3698c31b80fe8164e5d15a4cff11087ebbe029a491d492599dd7fb7664bf2a0736490c0e7abf2e639ed9bfd1105c6ae29ffe247d1a4203727d8e4ffdfd54237d813bc9a2145bbaf6e0dd0e91c92c0df18d9eccb6156c12664178dc862cf72e550189f1cf9797b1b52da821e6779edb5a92d8134dab176cce5a5b16fe5b3f598420d1572847f29b9d39cfd168bfa3aeba9e47ebcbf03c3c74dd31ec68e424c321b75f18cfe85b1ac1533ee286a22c5650512a57feaab1c9dd523ba2e87912b9b373109e7c51561f076ebb205bf74b30d6ea847233f8fa\n", + "Resolving storage.googleapis.com (storage.googleapis.com)... 173.194.79.207, 108.177.96.207, 108.177.119.207, ...\n", + "Connecting to storage.googleapis.com (storage.googleapis.com)|173.194.79.207|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 57092644 (54M) [application/zip]\n", + "Saving to: ‘file.zip’\n", + "\n", + "file.zip 100%[===================>] 54.45M 24.3MB/s in 2.2s \n", + "\n", + "2023-11-29 14:22:43 (24.3 MB/s) - ‘file.zip’ saved [57092644/57092644]\n", + "\n", + "Archive: file.zip\n", + " inflating: test.csv \n", + " inflating: testdata.manual.2009.06.14.csv \n", + " inflating: train.csv \n", + " inflating: training.1600000.processed.noemoticon.csv \n", + "Archive: file.zip\n", + " inflating: ./dataset/test.csv \n", + " inflating: ./dataset/testdata.manual.2009.06.14.csv \n", + " inflating: ./dataset/train.csv \n", + " inflating: ./dataset/training.1600000.processed.noemoticon.csv \n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rgBj7FdeVIZn" + }, + "source": [ + "**Installing libraries**" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "LN0F4-9AR8_k" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import chardet\n", + "from laser_encoders import LaserEncoderPipeline\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import accuracy_score\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.preprocessing import LabelEncoder\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Dense\n", + "from tqdm import tqdm" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RPQyhOAyVM-X" + }, + "source": [ + "**Loading the dataset**" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "id": "K0CKtslqNlQg" + }, + "outputs": [], + "source": [ + "with open('./dataset/train.csv', 'rb') as f:\n", + " result = chardet.detect(f.read())\n", + "\n", + "# Use the detected encoding when reading the CSV file\n", + "data = pd.read_csv('./dataset/train.csv', encoding=result['encoding'])\n", + "data = data[['sentiment', 'text']]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "hPqyJk2wNsye", + "outputId": "53c732f0-3bc0-404f-d78c-ea4ba33efc08" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " sentiment text\n", + "14070 neutral It is a drink but they have a trainer brand t...\n", + "21397 neutral Its been a slow day at home, one of my kids is...\n", + "11312 positive My industrial is repierced, and I made a cute ...\n", + "9122 positive Hey everyone! I just mixed the first single...\n", + "10252 positive The mission to Wales to find the worlds greate...\n", + "(27481, 2)\n" + ] + } + ], + "source": [ + "data = data.sample(frac=1)\n", + "print(data.head())\n", + "print(data.shape)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Data Processing: Extract Sentiments and Texts from DataFrame\n", + "\n", + "Assigning Tags to Sentiments:\n", + "1 -> Neutral\n", + "2 -> Positive\n", + "3 -> Negative" + ], + "metadata": { + "id": "xgpZZMfI5NWv" + } + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fmkM4YiSVRym", + "outputId": "fe57f369-fa0a-4b4c-bc5c-235c510f38ae" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Warning: Skipping row 314 with float text value\n", + "27480\n", + "27480\n" + ] + } + ], + "source": [ + "sentiments = []\n", + "texts = []\n", + "\n", + "for index, row in data.iterrows():\n", + " sentiment = row['sentiment'].lower() # Convert to lowercase for case-insensitivity\n", + " if sentiment == 'neutral':\n", + " sentiments.append(1)\n", + " elif sentiment == 'positive':\n", + " sentiments.append(2)\n", + " elif sentiment == 'negative':\n", + " sentiments.append(3)\n", + " else:\n", + " # Handle the case where sentiment is not one of the expected values\n", + " # You may choose to skip this row or handle it differently based on your requirements\n", + " print(f\"Warning: Unknown sentiment '{sentiment}' in row {index}\")\n", + " continue # Skip the rest of the loop for this row\n", + "\n", + " text = row['text']\n", + " if not isinstance(text, float):\n", + " texts.append(text)\n", + " else:\n", + " # Skip the sentiment for this row as well\n", + " print(f\"Warning: Skipping row {index} with float text value\")\n", + " sentiments.pop() # Remove the last added sentiment\n", + "\n", + "print(len(sentiments))\n", + "print(len(texts))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "id": "GOUNpqmlfMV5", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "1472b49f-8758-4706-af54-308b619ab4e7" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 1.01M/1.01M [00:00<00:00, 1.43MB/s]\n", + "100%|██████████| 179M/179M [00:07<00:00, 23.3MB/s]\n", + "100%|██████████| 470k/470k [00:00<00:00, 828kB/s]\n" + ] + } + ], + "source": [ + "label_encoder = LabelEncoder()\n", + "encoded_sentiments = label_encoder.fit_transform(sentiments)\n", + "\n", + "# Split the data into training and testing sets\n", + "X_train, X_test, y_train, y_test = train_test_split(texts, encoded_sentiments, test_size=0.2, random_state=42)\n", + "\n", + "# Initialize the LaserEncoder\n", + "encoder = LaserEncoderPipeline(lang=\"eng_Latn\")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Converting text to embeddings using LASER" + ], + "metadata": { + "id": "KKLdd5MO5hoE" + } + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3yrXnFZWzTv3", + "outputId": "19dec720-15cf-4312-e93a-2330ff6401e4" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Encoding training sentences:\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 21984/21984 [02:30<00:00, 146.49it/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Encoding testing sentences:\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 5496/5496 [00:36<00:00, 151.02it/s]\n" + ] + } + ], + "source": [ + "# Initialize empty arrays to store embeddings\n", + "X_train_embeddings = []\n", + "X_test_embeddings = []\n", + "\n", + "# Encode sentences line-wise using tqdm for progress visualization\n", + "print(\"Encoding training sentences:\")\n", + "for sentence in tqdm(X_train):\n", + " embeddings = encoder.encode_sentences([sentence])[0]\n", + " X_train_embeddings.append(embeddings)\n", + "\n", + "print(\"Encoding testing sentences:\")\n", + "for sentence in tqdm(X_test):\n", + " embeddings = encoder.encode_sentences([sentence])[0]\n", + " X_test_embeddings.append(embeddings)\n", + "\n", + "# Convert lists to numpy arrays\n", + "X_train_embeddings = np.array(X_train_embeddings)\n", + "X_test_embeddings = np.array(X_test_embeddings)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "id": "7-7mYJsmWKVT", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "fe83356d-3b60-4ab9-f8b3-7d03c1f8d8b2" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Model: \"sequential_2\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " dense_6 (Dense) (None, 256) 262400 \n", + " \n", + " reshape_2 (Reshape) (None, 1, 256) 0 \n", + " \n", + " simple_rnn_2 (SimpleRNN) (None, 128) 49280 \n", + " \n", + " dense_7 (Dense) (None, 64) 8256 \n", + " \n", + " dropout_2 (Dropout) (None, 64) 0 \n", + " \n", + " dense_8 (Dense) (None, 3) 195 \n", + " \n", + "=================================================================\n", + "Total params: 320131 (1.22 MB)\n", + "Trainable params: 320131 (1.22 MB)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n", + "Epoch 1/30\n", + "619/619 [==============================] - 9s 9ms/step - loss: 0.9592 - accuracy: 0.5416 - val_loss: 0.7660 - val_accuracy: 0.6698 - lr: 1.0000e-04\n", + "Epoch 2/30\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.7456 - accuracy: 0.6807 - val_loss: 0.7040 - val_accuracy: 0.6940 - lr: 9.0000e-05\n", + "Epoch 3/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6977 - accuracy: 0.7066 - val_loss: 0.6799 - val_accuracy: 0.7017 - lr: 8.1000e-05\n", + "Epoch 4/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6780 - accuracy: 0.7167 - val_loss: 0.6738 - val_accuracy: 0.7049 - lr: 7.2900e-05\n", + "Epoch 5/30\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6650 - accuracy: 0.7214 - val_loss: 0.6690 - val_accuracy: 0.7044 - lr: 6.5610e-05\n", + "Epoch 6/30\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6525 - accuracy: 0.7279 - val_loss: 0.6753 - val_accuracy: 0.6976 - lr: 5.9049e-05\n", + "Epoch 7/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6483 - accuracy: 0.7302 - val_loss: 0.6674 - val_accuracy: 0.7021 - lr: 5.3144e-05\n", + "Epoch 8/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6415 - accuracy: 0.7342 - val_loss: 0.6657 - val_accuracy: 0.7035 - lr: 4.7830e-05\n", + "Epoch 9/30\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6364 - accuracy: 0.7352 - val_loss: 0.6678 - val_accuracy: 0.7026 - lr: 4.3047e-05\n", + "Epoch 10/30\n", + "619/619 [==============================] - 4s 7ms/step - loss: 0.6350 - accuracy: 0.7366 - val_loss: 0.6687 - val_accuracy: 0.6999 - lr: 3.8742e-05\n", + "Epoch 11/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6300 - accuracy: 0.7391 - val_loss: 0.6641 - val_accuracy: 0.7030 - lr: 3.4868e-05\n", + "Epoch 12/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6241 - accuracy: 0.7400 - val_loss: 0.6631 - val_accuracy: 0.7090 - lr: 3.1381e-05\n", + "Epoch 13/30\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6249 - accuracy: 0.7377 - val_loss: 0.6640 - val_accuracy: 0.7058 - lr: 2.8243e-05\n", + "Epoch 14/30\n", + "619/619 [==============================] - 4s 7ms/step - loss: 0.6235 - accuracy: 0.7435 - val_loss: 0.6629 - val_accuracy: 0.7099 - lr: 2.5419e-05\n", + "Epoch 15/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6205 - accuracy: 0.7456 - val_loss: 0.6625 - val_accuracy: 0.7099 - lr: 2.2877e-05\n", + "Epoch 16/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6201 - accuracy: 0.7430 - val_loss: 0.6625 - val_accuracy: 0.7108 - lr: 2.0589e-05\n", + "Epoch 17/30\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6143 - accuracy: 0.7467 - val_loss: 0.6651 - val_accuracy: 0.7076 - lr: 1.8530e-05\n", + "Epoch 18/30\n", + "619/619 [==============================] - 4s 7ms/step - loss: 0.6149 - accuracy: 0.7453 - val_loss: 0.6635 - val_accuracy: 0.7108 - lr: 1.6677e-05\n", + "Epoch 19/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6160 - accuracy: 0.7468 - val_loss: 0.6646 - val_accuracy: 0.7085 - lr: 1.5009e-05\n", + "Epoch 20/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6145 - accuracy: 0.7476 - val_loss: 0.6643 - val_accuracy: 0.7090 - lr: 1.3509e-05\n", + "Epoch 21/30\n", + "619/619 [==============================] - 5s 9ms/step - loss: 0.6141 - accuracy: 0.7461 - val_loss: 0.6640 - val_accuracy: 0.7103 - lr: 1.2158e-05\n", + "Epoch 22/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6114 - accuracy: 0.7486 - val_loss: 0.6644 - val_accuracy: 0.7080 - lr: 1.0942e-05\n", + "Epoch 23/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6140 - accuracy: 0.7494 - val_loss: 0.6637 - val_accuracy: 0.7099 - lr: 9.8477e-06\n", + "Epoch 24/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6100 - accuracy: 0.7506 - val_loss: 0.6638 - val_accuracy: 0.7108 - lr: 8.8629e-06\n", + "Epoch 25/30\n", + "619/619 [==============================] - 5s 9ms/step - loss: 0.6087 - accuracy: 0.7496 - val_loss: 0.6645 - val_accuracy: 0.7062 - lr: 7.9766e-06\n", + "Epoch 26/30\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6086 - accuracy: 0.7507 - val_loss: 0.6665 - val_accuracy: 0.7049 - lr: 7.1790e-06\n", + "Epoch 27/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6099 - accuracy: 0.7502 - val_loss: 0.6643 - val_accuracy: 0.7076 - lr: 6.4611e-06\n", + "Epoch 28/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6059 - accuracy: 0.7495 - val_loss: 0.6646 - val_accuracy: 0.7067 - lr: 5.8150e-06\n", + "Epoch 29/30\n", + "619/619 [==============================] - 5s 9ms/step - loss: 0.6076 - accuracy: 0.7517 - val_loss: 0.6647 - val_accuracy: 0.7071 - lr: 5.2335e-06\n", + "Epoch 30/30\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6071 - accuracy: 0.7496 - val_loss: 0.6650 - val_accuracy: 0.7071 - lr: 4.7101e-06\n", + "172/172 [==============================] - 0s 3ms/step - loss: 0.6618 - accuracy: 0.7162\n", + "Accuracy: 71.62%\n", + "172/172 [==============================] - 1s 2ms/step\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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rBoJANbW1oiPj5frn5ubi4SEBFhbW8v6xMXFyfUpeF/QpziUmkju2rXrndvCwsIQFBTExycSERGR4qnOvTYfVJBERkZG4vjx4zA3N5fb7ubmhqSkJFy5ckU2RTA0NBT5+flo3LixrM+UKVOQk5MDbW1tAEBISAhcXFyKPT8SUHIi2a1bt0JtERERmDRpEvbu3QsvLy/4+/srITIiIiIi5UhNTcWDBw9k76OiohAeHg4zMzPY2Njg66+/xtWrV7Fv3z7k5eXJ5jSamZlBR0cH1atXR4cOHTBkyBCsXr0aOTk5GD58OHr37g1bW1sAQJ8+fTBr1iwMGjQIEydOxK1bt7B8+XIsXbq0RLGqxM02APD8+XMMGTIErq6uyM3NRXh4ODZt2gQHBwdlh0ZERERlnCotSH758mXUrVsXdevWBQD4+fmhbt26mD59Op49e4Y9e/bg6dOnqFOnDmxsbGSvc+fOyY4RHByMatWqoV27dujYsSOaN28ut0aksbExjhw5gqioKNSvXx9jx47F9OnTS7T0D6ACN9skJydj3rx5WLFiBerUqYNjx46hRYsWyg6LiIiISClat24NQRDeuf192wqYmZlh69at7+1Tq1YtnD59usTx/ZdSE8nAwEAsWLAA1tbW+P3334sc6iYiIiJSNFVakPxzotREctKkSdDT04OzszM2bdqETZs2Fdlv586dnzgyIiIiIvoQpSaS/fv3518AREREpHTMR8RRaiK5ceNGZZ6eiIiI6A3mkaKozF3bRERERPR5Ufpd20RERETKxqFtcViRJCIiIiJRWJEkIiIitceKpDisSBIRERGRKKxIEhERkdpjRVIcViSJiIiISBRWJImIiEjtsSIpDhNJIiIiIuaRonBom4iIiIhEYUWSiIiI1B6HtsVhRZKIiIiIRGFFkoiIiNQeK5LisCJJRERERKKwIklERERqjwVJcViRJCIiIiJRWJEkIiIitcc5kuIwkSQiIiK1xzxSHA5tExEREZEorEgSERGR2uPQtjisSBIRERGRKKxIEhERkdpjQVIcViSJiIiISBRWJImIiEjtaWiwJCkGK5JEREREJAorkkRERKT2OEdSHCaSREREpPa4/I84HNomIiIiIlFYkSQiIiK1x4KkOKxIEhEREZEorEgSERGR2uMcSXFYkSQiIiIiUViRJCIiIrXHiqQ4rEgSERER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7w7gTQWzQ4cOGDJkCFavXo2cnBwMHz4cvXv3LtU7tgEmkkREREQKnSNZEg0bNsSuXbswefJk+Pv7w8nJCcuWLYOXl5esz4QJE5CWlgYfHx8kJSWhefPmOHToEHR1dWV9goODMXz4cLRr1w4aGhro2bMngoKCSj1eriNJ9IlwHUlSNVxHklSNMteR3Hr1qcKO3adeRYUdW9k4R5KIiIiIROHQNhEREak9iZiHYhMrkkREREQkDiuSREREpPZYWROHnxsRERERicKKJBEREak9zpEUhxVJIiIiIhKFFUkiIiJSe6xHisOKJBERERGJwookERERqT3OkRSnTCaSOXll7qmPVAa8+n2gskMgklN1zB5lh0AkJ3pFV6Wdm0O04vBzIyIiIiJRymRFkoiIiKgkOLQtDiuSRERERCQKK5JERESk9liPFIcVSSIiIiIShRVJIiIiUnucIikOK5JEREREJAorkkRERKT2NDhLUhQmkkRERKT2OLQtDoe2iYiIiEgUViSJiIhI7Uk4tC0KK5JEREREJAorkkRERKT2OEdSHFYkiYiIiEgUViSJiIhI7XH5H3FYkSQiIiIiUViRJCIiIrXHOZLiMJEkIiIitcdEUhwObRMRERGRKKxIEhERkdrjguTisCJJRERERKKwIklERERqT4MFSVFYkSQiIiIiUViRJCIiIrXHOZLisCJJRERERKKwIklERERqj+tIisNEkoiIiNQeh7bF4dA2EREREYnCiiQRERGpPS7/Iw4rkkREREQkCiuSREREpPY4R1IcViSJiIiISBRWJImIiEjtcfkfcViRJCIiIiJRWJEkIiIitceCpDhMJImIiEjtaXBsWxQObRMRERGRKKxIEhERkdpjPVIcViSJiIiISBRWJImIiIhYkhSFFUkiIiIiEoUVSSIiIlJ7fESiOKxIEhEREZEorEgSERGR2uMykuKwIklERERqT6LA18eYP38+JBIJRo8eLWvLzMyEr68vzM3NYWhoiJ49eyIuLk5uv+joaHTq1An6+vqwtLTE+PHjkZub+5HRFMZEkoiIiEgFXbp0Cb/88gtq1aol1z5mzBjs3bsXf/75J06ePInnz5+jR48esu15eXno1KkTsrOzce7cOWzatAkbN27E9OnTSz1GJpJEREREKlaSTE1NhZeXF9auXQtTU1NZe3JyMn799VcsWbIEbdu2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\n" + }, + "metadata": {} + } + ], + "source": [ + "# Sentiment Prediction with RNN Neural Network and Confusion Matrix\n", + "\n", + "from keras.models import Sequential\n", + "from keras.layers import Dense, SimpleRNN, Reshape, Dropout\n", + "from keras.optimizers import Adam\n", + "from keras.callbacks import LearningRateScheduler\n", + "from sklearn.metrics import confusion_matrix\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "# Build a more complex neural network model with RNN\n", + "model = Sequential()\n", + "model.add(Dense(256, input_shape=(1024,), activation='tanh'))\n", + "model.add(Reshape((1, 256)))\n", + "model.add(SimpleRNN(128, activation='relu'))\n", + "model.add(Dense(64, activation='relu'))\n", + "model.add(Dropout(0.5)) # Adding dropout for regularization\n", + "model.add(Dense(3, activation='softmax'))\n", + "\n", + "# Use a learning rate scheduler\n", + "def lr_schedule(epoch):\n", + " return 0.0001 * 0.9 ** epoch\n", + "\n", + "opt = Adam(learning_rate=0.0001)\n", + "lr_scheduler = LearningRateScheduler(lr_schedule)\n", + "\n", + "# Compile the model\n", + "model.compile(optimizer=opt, loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n", + "\n", + "# Print model summary to check the architecture\n", + "model.summary()\n", + "\n", + "# Train the model with the learning rate scheduler\n", + "model.fit(X_train_embeddings, y_train, epochs=30, batch_size=32, validation_split=0.1, callbacks=[lr_scheduler])\n", + "\n", + "# Evaluate the model on the test set\n", + "accuracy = model.evaluate(X_test_embeddings, y_test)[1]\n", + "print(f\"Accuracy: {accuracy * 100:.2f}%\")\n", + "\n", + "# Predictions on the test set\n", + "y_pred_probabilities = model.predict(X_test_embeddings)\n", + "y_pred = np.argmax(y_pred_probabilities, axis=1)\n", + "\n", + "# Generate confusion matrix\n", + "cm = confusion_matrix(y_test, y_pred)\n", + "\n", + "# Plot the confusion matrix\n", + "plt.figure(figsize=(8, 6))\n", + "sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=['Neutral', 'Positive', 'Negative'], yticklabels=['Neutral', 'Positive', 'Negative'])\n", + "plt.title('Confusion Matrix')\n", + "plt.xlabel('Predicted Label')\n", + "plt.ylabel('True Label')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "source": [ + "**Sentiment Prediction for User Input in Different Languages**" + ], + "metadata": { + "id": "1B1ZP8EizqxU" + } + }, + { + "cell_type": "code", + "source": [ + "\n", + "language = input(\"Enter the language: \")\n", + "encoder = LaserEncoderPipeline(lang=language)\n", + "\n", + "\n", + "\n", + "# Now, you can use the trained model to predict the sentiment of user input\n", + "user_text = input(\"Enter a text: \")\n", + "user_text_embedding = encoder.encode_sentences([user_text])[0]\n", + "user_text_embedding = np.reshape(user_text_embedding, (1, -1))\n", + "\n", + "predicted_sentiment = np.argmax(model.predict(user_text_embedding))\n", + "predicted_sentiment_no = label_encoder.inverse_transform([predicted_sentiment])[0]\n", + "if predicted_sentiment_no == 1:\n", + " predicted_sentiment_label = 'neutral'\n", + "elif predicted_sentiment_no == 2:\n", + " predicted_sentiment_label = 'positive'\n", + "else:\n", + " predicted_sentiment_label = 'negative'\n", + "\n", + "print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" + ], + "metadata": { + "id": "H2kJx0vKzp81", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "115756a8-2403-42db-ba00-5c1c011a04fd" + }, + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Enter the language: english\n", + "Enter a text: hello everyone\n", + "1/1 [==============================] - 0s 30ms/step\n", + "Predicted Sentiment: neutral\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "**Sentiment Prediction for Multilingual Texts**" + ], + "metadata": { + "id": "SOxFqEdwcejj" + } + }, + { + "cell_type": "code", + "source": [ + "sentiments = {\n", + " \"english\": \"So sad, I'll miss you here in San Diego!!!\",\n", + " 'hindi': 'बहुत दुखद, मैं तुम्हें यहां सैन डिएगो में याद करूंगा!!!',\n", + " 'portuguese': 'Tão TRISTE, sentirei sua falta aqui em San Diego!!!',\n", + " 'romanian': 'Atat de trist, o sa-mi fie dor de tine aici in San Diego!!!',\n", + " 'slovenian': 'Tako žalostno, pogrešal te bom tukaj v San Diegu!!!',\n", + " 'chinese': '很傷心,我會在聖地牙哥想念你!',\n", + " 'french': 'Tellement triste tu vas me manquer ici à San Diego !!!',\n", + " 'dutch': 'Zo verdrietig, ik zal je missen hier in San Diego!!!',\n", + " 'russian': 'Ооочень грустно, я буду скучать по тебе здесь, в Сан-Диего!!!',\n", + " 'italian': 'Così triste, mi mancherai qui a San Diego!!!',\n", + " 'bosnian': 'Tužno, nedostajaćeš mi ovde u San Dijegu!!!'\n", + "}\n", + "\n", + "# Iterate through the dictionary and extract values\n", + "for language, sentiment in sentiments.items():\n", + " print(f\"{language.capitalize()}: {sentiment}\")\n", + " encoder = LaserEncoderPipeline(lang=language)\n", + " # Now, you can use the trained model to predict the sentiment of user input\n", + " user_text = sentiment\n", + " user_text_embedding = encoder.encode_sentences([user_text])[0]\n", + " user_text_embedding = np.reshape(user_text_embedding, (1, -1))\n", + "\n", + " predicted_sentiment = np.argmax(model.predict(user_text_embedding))\n", + " predicted_sentiment_no = label_encoder.inverse_transform([predicted_sentiment])[0]\n", + " if predicted_sentiment_no == 1:\n", + " predicted_sentiment_label = 'neutral'\n", + " elif predicted_sentiment_no == 2:\n", + " predicted_sentiment_label = 'positive'\n", + " else:\n", + " predicted_sentiment_label = 'negative'\n", + "\n", + " print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vjFvWEC0UOj0", + "outputId": "0614909f-fab3-4a52-af4f-db3cdb107275" + }, + "execution_count": 14, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "English: So sad, I'll miss you here in San Diego!!!\n", + "1/1 [==============================] - 0s 18ms/step\n", + "Predicted Sentiment: negative\n", + "Hindi: बहुत दुखद, मैं तुम्हें यहां सैन डिएगो में याद करूंगा!!!\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 608M/608M [00:09<00:00, 64.1MB/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "1/1 [==============================] - 0s 17ms/step\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", + " x = torch._nested_tensor_from_mask(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Predicted Sentiment: negative\n", + "Portuguese: Tão TRISTE, sentirei sua falta aqui em San Diego!!!\n", + "1/1 [==============================] - 0s 18ms/step\n", + "Predicted Sentiment: negative\n", + "Romanian: Atat de trist, o sa-mi fie dor de tine aici in San Diego!!!\n", + "1/1 [==============================] - 0s 23ms/step\n", + "Predicted Sentiment: negative\n", + "Slovenian: Tako žalostno, pogrešal te bom tukaj v San Diegu!!!\n", + "1/1 [==============================] - 0s 17ms/step\n", + "Predicted Sentiment: negative\n", + "Chinese: 很傷心,我會在聖地牙哥想念你!\n", + "1/1 [==============================] - 0s 17ms/step\n", + "Predicted Sentiment: negative\n", + "French: Tellement triste tu vas me manquer ici à San Diego !!!\n", + "1/1 [==============================] - 0s 17ms/step\n", + "Predicted Sentiment: negative\n", + "Dutch: Zo verdrietig, ik zal je missen hier in San Diego!!!\n", + "1/1 [==============================] - 0s 17ms/step\n", + "Predicted Sentiment: negative\n", + "Russian: Ооочень грустно, я буду скучать по тебе здесь, в Сан-Диего!!!\n", + "1/1 [==============================] - 0s 26ms/step\n", + "Predicted Sentiment: negative\n", + "Italian: Così triste, mi mancherai qui a San Diego!!!\n", + "1/1 [==============================] - 0s 24ms/step\n", + "Predicted Sentiment: negative\n", + "Bosnian: Tužno, nedostajaćeš mi ovde u San Dijegu!!!\n", + "1/1 [==============================] - 0s 27ms/step\n", + "Predicted Sentiment: negative\n" + ] + } + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [], + "gpuType": "T4" + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "import chardet\n", - "from laser_encoders import LaserEncoderPipeline\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.metrics import accuracy_score\n", - "from sklearn.linear_model import LogisticRegression\n", - "from sklearn.preprocessing import LabelEncoder\n", - "from tensorflow.keras.models import Sequential\n", - "from tensorflow.keras.layers import Dense\n", - "from tqdm import tqdm" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "with open('/content/drive/MyDrive/dataset/train.csv', 'rb') as f:\n", - " result = chardet.detect(f.read())\n", - "\n", - "# Use the detected encoding when reading the CSV file\n", - "data = pd.read_csv('/content/drive/MyDrive/dataset/train.csv', encoding=result['encoding'])\n", - "data = data[['sentiment', 'text']]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(data.head())\n", - "print(data.shape)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sentiments = []\n", - "texts = []\n", - "\n", - "for index, row in data.iterrows():\n", - " sentiment = row['sentiment'].lower() # Convert to lowercase for case-insensitivity\n", - " if sentiment == 'neutral':\n", - " sentiments.append(1)\n", - " elif sentiment == 'positive':\n", - " sentiments.append(2)\n", - " elif sentiment == 'negative':\n", - " sentiments.append(3)\n", - " else:\n", - " # Handle the case where sentiment is not one of the expected values\n", - " # You may choose to skip this row or handle it differently based on your requirements\n", - " print(f\"Warning: Unknown sentiment '{sentiment}' in row {index}\")\n", - "\n", - " text = row['text']\n", - " texts.append(text)\n", - "\n", - "print(len(sentiments))\n", - "print(len(texts))\n", - "sentiments = sentiments[:300] + sentiments[400:]\n", - "texts = texts[:300] + texts[400:]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "label_encoder = LabelEncoder()\n", - "encoded_sentiments = label_encoder.fit_transform(sentiments)\n", - "\n", - "# Split the data into training and testing sets\n", - "X_train, X_test, y_train, y_test = train_test_split(texts, encoded_sentiments, test_size=0.2, random_state=42)\n", - "\n", - "# Initialize the LaserEncoder\n", - "encoder = LaserEncoderPipeline(lang=\"eng_Latn\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize empty arrays to store embeddings\n", - "X_train_embeddings = []\n", - "X_test_embeddings = []\n", - "\n", - "# Encode sentences line-wise using tqdm for progress visualization\n", - "print(\"Encoding training sentences:\")\n", - "for sentence in tqdm(X_train):\n", - " embeddings = encoder.encode_sentences([sentence])[0]\n", - " X_train_embeddings.append(embeddings)\n", - "\n", - "print(\"Encoding testing sentences:\")\n", - "for sentence in tqdm(X_test):\n", - " embeddings = encoder.encode_sentences([sentence])[0]\n", - " X_test_embeddings.append(embeddings)\n", - "\n", - "# Convert lists to numpy arrays\n", - "X_train_embeddings = np.array(X_train_embeddings)\n", - "X_test_embeddings = np.array(X_test_embeddings)\n", - "\n", - "# # Encode sentences line-wise\n", - "# X_train_embeddings = np.array([encoder.encode_sentences([sentence])[0] for sentence in X_train])\n", - "# X_test_embeddings = np.array([encoder.encode_sentences([sentence])[0] for sentence in X_test])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Build a simple neural network model\n", - "model = Sequential()\n", - "model.add(Dense(64, input_shape=(1024,), activation='relu'))\n", - "model.add(Dense(3, activation='softmax')) # Assuming 3 classes (neutral, positive, negative)\n", - "\n", - "# Compile the model\n", - "model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n", - "\n", - "# Train the model\n", - "model.fit(X_train_embeddings, y_train, epochs=20, batch_size=32, validation_split=0.1)\n", - "\n", - "# Evaluate the model on the test set\n", - "accuracy = model.evaluate(X_test_embeddings, y_test)[1]\n", - "print(f\"Accuracy: {accuracy * 100:.2f}%\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Now, you can use the trained model to predict the sentiment of user input\n", - "user_text = input(\"Enter a text: \")\n", - "user_text_embedding = encoder.encode_sentences([user_text])[0]\n", - "user_text_embedding = np.reshape(user_text_embedding, (1, -1))\n", - "\n", - "predicted_sentiment = np.argmax(model.predict(user_text_embedding))\n", - "predicted_sentiment_no = label_encoder.inverse_transform([predicted_sentiment])[0]\n", - "if predicted_sentiment_no == 1:\n", - " predicted_sentiment_label = 'neutral'\n", - "elif predicted_sentiment_no == 2:\n", - " predicted_sentiment_label = 'positive'\n", - "else:\n", - " predicted_sentiment_label = 'negative'\n", - "\n", - "print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" - ] - } - ], - "metadata": { - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file From 3b22a18e0536bdaeaf7f5f7c3a06cf105f79ad23 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Fri, 1 Dec 2023 16:58:56 +0530 Subject: [PATCH 06/22] added context to the notebook --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 774 +++++++++++------- 1 file changed, 488 insertions(+), 286 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index bb8711ab..7297b419 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -1,67 +1,61 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "OUrFprmDa40H" + }, + "source": [ + "# Tutorial: Sentiment Analysis with LASER Embeddings and RNN\n", + "\n", + "In this tutorial, we will guide you through the process of installing the necessary libraries, downloading a sentiment analysis dataset, and building a sentiment analysis model using [LASER](https://github.com/facebookresearch/LASER) embeddings and a Recurrent Neural Network (RNN).\n", + "\n" + ] + }, { "cell_type": "markdown", "metadata": { "id": "hJETScFpJkyu" }, "source": [ - "**Installing Laser Encoder**" + "## Step 1: Installing Laser Encoder\n", + "\n", + "To begin, let's install the laser_encoders library along with its dependencies. These include sacremoses, sentencepiece, and fairseq. You can achieve this by running the following command:" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "KZ_Eqn90J6CK", - "outputId": "60f4d92c-0437-4dbe-c15c-142191e6f3f8" + "outputId": "7549361a-5dce-43e9-c8c1-729ac8d66ae1" }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ - "Collecting laser_encoders\n", - " Downloading laser_encoders-0.0.1-py3-none-any.whl (24 kB)\n", - "Collecting sacremoses==0.1.0 (from laser_encoders)\n", - " Downloading sacremoses-0.1.0-py3-none-any.whl (895 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m13.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting unicategories>=0.1.2 (from laser_encoders)\n", - " Downloading unicategories-0.1.2.tar.gz (12 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Collecting sentencepiece>=0.1.99 (from laser_encoders)\n", - " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m25.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", + "Requirement already satisfied: laser_encoders in /usr/local/lib/python3.10/dist-packages (0.0.1)\n", + "Requirement already satisfied: sacremoses==0.1.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (0.1.0)\n", + "Requirement already satisfied: unicategories>=0.1.2 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (0.1.2)\n", + "Requirement already satisfied: sentencepiece>=0.1.99 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (0.1.99)\n", + "Requirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", "Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (2.1.0+cu118)\n", - "Collecting fairseq>=0.12.2 (from laser_encoders)\n", - " Downloading fairseq-0.12.2.tar.gz (9.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m61.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", - " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", - " Installing backend dependencies ... \u001b[?25l\u001b[?25hdone\n", - " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: fairseq>=0.12.2 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (0.12.2)\n", "Requirement already satisfied: regex in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (2023.6.3)\n", "Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (8.1.7)\n", "Requirement already satisfied: joblib in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (1.3.2)\n", "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (4.66.1)\n", "Requirement already satisfied: cffi in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (1.16.0)\n", "Requirement already satisfied: cython in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (3.0.5)\n", - "Collecting hydra-core<1.1,>=1.0.7 (from fairseq>=0.12.2->laser_encoders)\n", - " Downloading hydra_core-1.0.7-py3-none-any.whl (123 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m10.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting omegaconf<2.1 (from fairseq>=0.12.2->laser_encoders)\n", - " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", - "Collecting sacrebleu>=1.4.12 (from fairseq>=0.12.2->laser_encoders)\n", - " Downloading sacrebleu-2.3.2-py3-none-any.whl (119 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m119.7/119.7 kB\u001b[0m \u001b[31m15.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting bitarray (from fairseq>=0.12.2->laser_encoders)\n", - " Downloading bitarray-2.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m287.4/287.4 kB\u001b[0m \u001b[31m36.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", + "Requirement already satisfied: hydra-core<1.1,>=1.0.7 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (1.0.7)\n", + "Requirement already satisfied: omegaconf<2.1 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.0.6)\n", + "Requirement already satisfied: sacrebleu>=1.4.12 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.3.3)\n", + "Requirement already satisfied: bitarray in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.8.3)\n", + "Requirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.13.1)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (4.5.0)\n", "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (1.12)\n", @@ -70,33 +64,15 @@ "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (2023.6.0)\n", "Requirement already satisfied: triton==2.1.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (2.1.0)\n", "Requirement already satisfied: appdirs in /usr/local/lib/python3.10/dist-packages (from unicategories>=0.1.2->laser_encoders) (1.4.4)\n", - "Collecting antlr4-python3-runtime==4.8 (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders)\n", - " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m9.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: antlr4-python3-runtime==4.8 in /usr/local/lib/python3.10/dist-packages (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders) (4.8)\n", "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.10/dist-packages (from omegaconf<2.1->fairseq>=0.12.2->laser_encoders) (6.0.1)\n", - "Collecting portalocker (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", - " Downloading portalocker-2.8.2-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: portalocker in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (2.8.2)\n", "Requirement already satisfied: tabulate>=0.8.9 in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (0.9.0)\n", - "Collecting colorama (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", - " Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "Requirement already satisfied: colorama in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (0.4.6)\n", "Requirement already satisfied: lxml in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (4.9.3)\n", "Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi->fairseq>=0.12.2->laser_encoders) (2.21)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.10.0->laser_encoders) (2.1.3)\n", - "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n", - "Building wheels for collected packages: fairseq, unicategories, antlr4-python3-runtime\n", - " Building wheel for fairseq (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291820 sha256=9859efbea05cc8f47c4b36558eb4611ed847b5c21a3f6ad017ba4ec113983b2f\n", - " Stored in directory: /root/.cache/pip/wheels/e4/35/55/9c66f65ec7c83fd6fbc2b9502a0ac81b2448a1196159dacc32\n", - " Building wheel for unicategories (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30842 sha256=6106ef7bd8c55bcc8fff119aed8f43fd9045d38ca47674c0e13a6305c180c0ec\n", - " Stored in directory: /root/.cache/pip/wheels/0b/6d/14/7135674b9daa3996f7f0d9bc1ccff5b7d50d6f1c4a16dc7d90\n", - " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=7e4306ddf850744047f5114185e9c0a1232327980d8e3d36c94f3693bbe5a19a\n", - " Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5\n", - "Successfully built fairseq unicategories antlr4-python3-runtime\n", - "Installing collected packages: sentencepiece, bitarray, antlr4-python3-runtime, unicategories, sacremoses, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq, laser_encoders\n", - "Successfully installed antlr4-python3-runtime-4.8 bitarray-2.8.3 colorama-0.4.6 fairseq-0.12.2 hydra-core-1.0.7 laser_encoders-0.0.1 omegaconf-2.0.6 portalocker-2.8.2 sacrebleu-2.3.2 sacremoses-0.1.0 sentencepiece-0.1.99 unicategories-0.1.2\n" + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n" ] } ], @@ -104,20 +80,40 @@ "! pip install laser_encoders" ] }, + { + "cell_type": "markdown", + "metadata": { + "id": "F-BHLZZTbq5_" + }, + "source": [ + "This ensures that you have all the required packages for this tutorial." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4qYPrbjXcNjK" + }, + "source": [ + "## Step 2: Install Additional Libraries\n", + "\n", + "Before we proceed, let's install the chardet library, which is handy for detecting the encoding of the dataset." + ] + }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 20, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "bxnIqaniSXbG", - "outputId": "27ecb7fd-7bac-431a-c84b-665720cfeccc" + "outputId": "388f0c20-9f78-440b-ed90-ebd7fed20b9e" }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n" ] @@ -129,43 +125,50 @@ }, { "cell_type": "markdown", + "metadata": { + "id": "bTU26v9ScUKl" + }, "source": [ - "**Download the dataset**" - ], + "With chardet installed, we can confidently handle various dataset encodings." + ] + }, + { + "cell_type": "markdown", "metadata": { "id": "XlTEzmQTEmew" - } + }, + "source": [ + "## Step 3: Download the Dataset\n", + "\n", + "Next, let's acquire a sentiment analysis dataset to train our model. We'll download a dataset from Kaggle and unzip it into a directory named ./dataset. Execute the following commands:\n", + "\n" + ] }, { "cell_type": "code", - "source": [ - "!wget -O file.zip \"https://storage.googleapis.com/kaggle-data-sets/989445/1808590/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20231129%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231129T122405Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=812aedd1e3696ec6ae29771267c9c4f89c9fddd52578f8781bb602d0908f14ff2ac34b312f9664b4e91d3698c31b80fe8164e5d15a4cff11087ebbe029a491d492599dd7fb7664bf2a0736490c0e7abf2e639ed9bfd1105c6ae29ffe247d1a4203727d8e4ffdfd54237d813bc9a2145bbaf6e0dd0e91c92c0df18d9eccb6156c12664178dc862cf72e550189f1cf9797b1b52da821e6779edb5a92d8134dab176cce5a5b16fe5b3f598420d1572847f29b9d39cfd168bfa3aeba9e47ebcbf03c3c74dd31ec68e424c321b75f18cfe85b1ac1533ee286a22c5650512a57feaab1c9dd523ba2e87912b9b373109e7c51561f076ebb205bf74b30d6ea847233f8fa\"\n", - "!unzip file.zip\n", - "!unzip file.zip -d ./dataset" - ], + "execution_count": 35, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Jh2MZfGKExwu", - "outputId": "7eecaeab-d424-4c30-8ca0-51baea009e2f" + "outputId": "f7028d42-4dc1-4d60-9fe8-b129dd793a2a" }, - "execution_count": 3, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ - "--2023-11-29 14:22:41-- https://storage.googleapis.com/kaggle-data-sets/989445/1808590/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20231129%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231129T122405Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=812aedd1e3696ec6ae29771267c9c4f89c9fddd52578f8781bb602d0908f14ff2ac34b312f9664b4e91d3698c31b80fe8164e5d15a4cff11087ebbe029a491d492599dd7fb7664bf2a0736490c0e7abf2e639ed9bfd1105c6ae29ffe247d1a4203727d8e4ffdfd54237d813bc9a2145bbaf6e0dd0e91c92c0df18d9eccb6156c12664178dc862cf72e550189f1cf9797b1b52da821e6779edb5a92d8134dab176cce5a5b16fe5b3f598420d1572847f29b9d39cfd168bfa3aeba9e47ebcbf03c3c74dd31ec68e424c321b75f18cfe85b1ac1533ee286a22c5650512a57feaab1c9dd523ba2e87912b9b373109e7c51561f076ebb205bf74b30d6ea847233f8fa\n", - "Resolving storage.googleapis.com (storage.googleapis.com)... 173.194.79.207, 108.177.96.207, 108.177.119.207, ...\n", - "Connecting to storage.googleapis.com (storage.googleapis.com)|173.194.79.207|:443... connected.\n", + "--2023-12-01 11:17:00-- https://storage.googleapis.com/kaggle-data-sets/989445/1808590/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20231129%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231129T122405Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=812aedd1e3696ec6ae29771267c9c4f89c9fddd52578f8781bb602d0908f14ff2ac34b312f9664b4e91d3698c31b80fe8164e5d15a4cff11087ebbe029a491d492599dd7fb7664bf2a0736490c0e7abf2e639ed9bfd1105c6ae29ffe247d1a4203727d8e4ffdfd54237d813bc9a2145bbaf6e0dd0e91c92c0df18d9eccb6156c12664178dc862cf72e550189f1cf9797b1b52da821e6779edb5a92d8134dab176cce5a5b16fe5b3f598420d1572847f29b9d39cfd168bfa3aeba9e47ebcbf03c3c74dd31ec68e424c321b75f18cfe85b1ac1533ee286a22c5650512a57feaab1c9dd523ba2e87912b9b373109e7c51561f076ebb205bf74b30d6ea847233f8fa\n", + "Resolving storage.googleapis.com (storage.googleapis.com)... 108.177.120.207, 142.250.103.207, 142.250.128.207, ...\n", + "Connecting to storage.googleapis.com (storage.googleapis.com)|108.177.120.207|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 57092644 (54M) [application/zip]\n", "Saving to: ‘file.zip’\n", "\n", - "file.zip 100%[===================>] 54.45M 24.3MB/s in 2.2s \n", + "file.zip 100%[===================>] 54.45M 78.5MB/s in 0.7s \n", "\n", - "2023-11-29 14:22:43 (24.3 MB/s) - ‘file.zip’ saved [57092644/57092644]\n", + "2023-12-01 11:17:01 (78.5 MB/s) - ‘file.zip’ saved [57092644/57092644]\n", "\n", "Archive: file.zip\n", " inflating: test.csv \n", @@ -179,6 +182,20 @@ " inflating: ./dataset/training.1600000.processed.noemoticon.csv \n" ] } + ], + "source": [ + "!wget -O file.zip \"https://storage.googleapis.com/kaggle-data-sets/989445/1808590/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20231129%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231129T122405Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=812aedd1e3696ec6ae29771267c9c4f89c9fddd52578f8781bb602d0908f14ff2ac34b312f9664b4e91d3698c31b80fe8164e5d15a4cff11087ebbe029a491d492599dd7fb7664bf2a0736490c0e7abf2e639ed9bfd1105c6ae29ffe247d1a4203727d8e4ffdfd54237d813bc9a2145bbaf6e0dd0e91c92c0df18d9eccb6156c12664178dc862cf72e550189f1cf9797b1b52da821e6779edb5a92d8134dab176cce5a5b16fe5b3f598420d1572847f29b9d39cfd168bfa3aeba9e47ebcbf03c3c74dd31ec68e424c321b75f18cfe85b1ac1533ee286a22c5650512a57feaab1c9dd523ba2e87912b9b373109e7c51561f076ebb205bf74b30d6ea847233f8fa\"\n", + "!unzip file.zip\n", + "!unzip file.zip -d ./dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FRg-9-Xyb5FD" + }, + "source": [ + "These commands fetch the dataset and organize it for further use." ] }, { @@ -187,12 +204,14 @@ "id": "rgBj7FdeVIZn" }, "source": [ - "**Installing libraries**" + "## Step 4: Import Necessary Libraries\n", + "\n", + "Now, let's import the libraries required for data manipulation, encoding, and model building." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 22, "metadata": { "id": "LN0F4-9AR8_k" }, @@ -201,6 +220,7 @@ "import numpy as np\n", "import pandas as pd\n", "import chardet\n", + "import matplotlib.pyplot as plt\n", "from laser_encoders import LaserEncoderPipeline\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import accuracy_score\n", @@ -211,18 +231,29 @@ "from tqdm import tqdm" ] }, + { + "cell_type": "markdown", + "metadata": { + "id": "HI_joOxsc-l7" + }, + "source": [ + "These libraries will be crucial for various stages of the tutorial." + ] + }, { "cell_type": "markdown", "metadata": { "id": "RPQyhOAyVM-X" }, "source": [ - "**Loading the dataset**" + "## Step 5: Load the Dataset\n", + "\n", + "We'll load the sentiment analysis dataset, detect its encoding, and select only the relevant columns ('sentiment' and 'text')." ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 23, "metadata": { "id": "K0CKtslqNlQg" }, @@ -236,27 +267,48 @@ "data = data[['sentiment', 'text']]" ] }, + { + "cell_type": "markdown", + "metadata": { + "id": "VHD1fufAdN8u" + }, + "source": [ + "This ensures that we work with the correct dataset encoding.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-nTtk4wSdPYV" + }, + "source": [ + "## Step 6: Data Processing\n", + "\n", + "Before diving into model training, let's shuffle the dataset for better generalization:" + ] + }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 24, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hPqyJk2wNsye", - "outputId": "53c732f0-3bc0-404f-d78c-ea4ba33efc08" + "outputId": "5b4dca9a-d4e1-4353-d204-d953c2804da0" }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ " sentiment text\n", - "14070 neutral It is a drink but they have a trainer brand t...\n", - "21397 neutral Its been a slow day at home, one of my kids is...\n", - "11312 positive My industrial is repierced, and I made a cute ...\n", - "9122 positive Hey everyone! I just mixed the first single...\n", - "10252 positive The mission to Wales to find the worlds greate...\n", + "12012 neutral Got caught in the rain with about 7 people No...\n", + "21125 neutral signed up for broadband today could take 4-6 w...\n", + "11517 neutral toy story pwns\n", + "26027 negative i REALLY miss my photofiltre and photoscape G...\n", + "17650 positive love you 2 so how are you? xxxx\n", "(27481, 2)\n" ] } @@ -269,32 +321,87 @@ }, { "cell_type": "markdown", + "metadata": { + "id": "5h7xuCWBdWB8" + }, + "source": [ + "Shuffling helps prevent any potential biases in the data.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "XcDOh4mS1JZ0" + }, "source": [ - "Data Processing: Extract Sentiments and Texts from DataFrame\n", + "## Step 7:Visualizing Sentiment Distribution in the Dataset\n", "\n", - "Assigning Tags to Sentiments:\n", - "1 -> Neutral\n", - "2 -> Positive\n", - "3 -> Negative" + "This step involves creating a bar plot to visualize the distribution of sentiments in the dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 611 + }, + "id": "TLp-3OE91Dp4", + "outputId": "0292bdf8-0fbd-4252-9f53-643d92c3e9bf" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAJSCAYAAACsvAbMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJ/UlEQVR4nO3deVxVdeL/8fcFZVHkosYiioKmJlkp4oKlZpGYNmVpjRO55fKtccltUmZyLbPI3LI0axKznMq+6ZRbGaaW4j6Ke+poWApYClc0AeH+/vDL/XkDS2T5sLyejwePh/ecD+e8z3W6c9+ecz7HYrfb7QIAAAAAlDoX0wEAAAAAoLKikAEAAACAIRQyAAAAADCEQgYAAAAAhlDIAAAAAMAQChkAAAAAGEIhAwAAAABDKGQAAAAAYAiFDAAAAAAMoZABAIzo37+/goODTccwLi4uThaLRSdPnizxff32PT958qQsFotmzJhR4vuWpMmTJ8tisZTKvgCgvKCQAUAlsG/fPvXq1UsNGjSQh4eH6tatqwceeEBvvPFGie739OnTmjx5svbs2VOi+ykply5d0uTJk7Vhw4YbGr9hwwZZLBbHj7u7u/z9/XXvvffq5Zdf1tmzZ43kKk1lORsAlEUWu91uNx0CAFBytmzZos6dO6t+/frq16+fAgICdOrUKW3dulXHjx/XsWPHSmzfO3fuVOvWrbVo0SL179/faV12drZyc3Pl7u5eYvsvqp9//lm+vr6aNGmSJk+e/IfjN2zYoM6dO2vEiBFq3bq1cnJydPbsWW3ZskVffPGFrFarPvnkE913332O38nJyVF2drbc3d1v+OxRYXPl+e17fvLkSYWEhOi1117T2LFjb3g7N5vtypUrunLlijw8PIplXwBQEVQxHQAAULKmTZsmq9WqHTt2yMfHx2ldamqqmVCSqlatamzfJa1Dhw7q1auX07K9e/eqS5cu6tmzpw4ePKg6depIklxdXeXq6lqieS5evKjq1asbf8+rVKmiKlX46gEA1+KSRQCo4I4fP67bb789XxmTJD8/v3zLPvjgA7Vq1Uqenp6qVauWevfurVOnTjmNuffee9W8eXMdPHhQnTt3VrVq1VS3bl3FxsY6xmzYsEGtW7eWJA0YMMBxGV9cXJyk37+f6c0331TDhg1VrVo1denSRadOnZLdbteLL76oevXqydPTU4888ojOnTuXL/+aNWvUoUMHVa9eXTVq1FD37t114MABpzH9+/eXl5eXfvrpJ/Xo0UNeXl7y9fXV2LFjlZOT48jj6+srSZoyZYojf2HOSF3rrrvu0uzZs5WWlqZ58+Y5lhd0D9nOnTsVFRWlW265RZ6engoJCdHTTz99Q7nyju348ePq1q2batSooejo6ALf82vNmjVLDRo0kKenpzp16qT9+/c7rb/33nt177335vu9a7f5R9kKuofsypUrevHFF9WoUSO5u7srODhYf//735WZmek0Ljg4WA899JC+++47tWnTRh4eHmrYsKHef//9gt9wACgnKGQAUME1aNBAu3btyvcFuyDTpk1T37591bhxY82cOVMjR45UfHy8OnbsqLS0NKex58+fV9euXXXXXXfp9ddf12233aZx48ZpzZo1kqRmzZpp6tSpkqQhQ4ZoyZIlWrJkiTp27Pi7GT788EO99dZbGj58uMaMGaONGzfqiSee0AsvvKC1a9dq3LhxGjJkiL744ot8l9ktWbJE3bt3l5eXl1599VVNmDBBBw8e1D333JNv0oycnBxFRUWpdu3amjFjhjp16qTXX39dCxculCT5+vpq/vz5kqRHH33Ukf+xxx77w/fxenr16iVPT0999dVX1x2TmpqqLl266OTJkxo/frzeeOMNRUdHa+vWrTec68qVK4qKipKfn59mzJihnj17/m6u999/X3PnztXQoUMVExOj/fv367777lNKSkqhju9m3rNBgwZp4sSJCgsL06xZs9SpUydNnz5dvXv3zjf22LFj6tWrlx544AG9/vrrqlmzpvr375+vcANAuWIHAFRoX331ld3V1dXu6upqj4iIsD///PP2L7/80p6VleU07uTJk3ZXV1f7tGnTnJbv27fPXqVKFaflnTp1skuyv//++45lmZmZ9oCAAHvPnj0dy3bs2GGXZF+0aFG+XP369bM3aNDA8frEiRN2SXZfX197WlqaY3lMTIxdkv2uu+6yZ2dnO5b/5S9/sbu5udkvX75st9vt9gsXLth9fHzsgwcPdtpPcnKy3Wq1Oi3v16+fXZJ96tSpTmNbtmxpb9WqleP12bNn7ZLskyZNype/IN98841dkn3ZsmXXHXPXXXfZa9as6Xi9aNEiuyT7iRMn7Ha73b58+XK7JPuOHTuuu43fy5V3bOPHjy9wXUHvuaen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zp07G0iHsoxCBhSRu7t7gZckff/99/L19TWQCEBpq1+/vlauXJlv+axZswykAWBC165dNX/+fN1xxx1q06aNpKv/aJuYmKj+/fvr4MGDioyM1GeffaZHHnnEcFqUJUzqARTRoEGD9Msvv+iTTz5RrVq1lJiYKFdXV/Xo0UMdO3bU7NmzTUcEUApycnK0YsUKHTp0SJJ0++236+GHH5arq6vhZABKw+DBg1W/fn1NmDDBaflLL72kH374Qe+8844mTZqkVatWaefOnYZSoiyikAFFlJ6erl69ejlmVwoMDFRycrLatWunNWvWqHr16qYjAihhx44dU7du3fTTTz+padOmkqQjR44oKChIq1atUqNGjQwnBFDSrFardu3apVtvvdVp+bFjx9SqVSulp6fr8OHDat26tS5cuGAoJcoiLlkEishqtWrdunXavHmz9u7dq4yMDIWFhSkyMtJ0NAClZMSIEWrUqJG2bt2qWrVqSZJ++eUXPfXUUxoxYoRWrVplOCGAkubh4aEtW7bkK2RbtmxxTPqVm5vrNAEYIFHIgGIRHx+v+Ph4paamKjc3V4cPH9bSpUslSe+9957hdABK2saNG53KmCTVrl1br7zyiu6++26DyQCUluHDh+uZZ57Rrl271Lp1a0lX7yF799139fe//12S9OWXX6pFixYGU6IsopABRTRlyhRNnTpV4eHhqlOnToEzLAGo2Nzd3Qu8BCkjI0Nubm4GEgEobS+88IJCQkI0b948LVmyRJLUtGlTvfPOO3ryySclSc8884yeffZZkzFRBnEPGVBEderUUWxsrPr06WM6CgBD+vbtq927d+uf//ynY3a1bdu2afDgwWrVqpXi4uLMBgQAlFk8GBoooqysLLVv3950DAAGzZ07V40aNVJERIQ8PDzk4eGh9u3b69Zbb9WcOXNMxwNQStLS0hyXKJ47d06StHv3bv3000+Gk6Es4wwZUETjxo2Tl5dXvmluAVQ+x44d08GDByVJoaGh+W7uB1BxJSYmKjIyUlarVSdPntSRI0fUsGFDvfDCC0pKStL7779vOiLKKO4hA4ro8uXLWrhwob7++mvdeeedqlq1qtP6mTNnGkoGoDT985//1KxZs3T06FFJUuPGjTVy5EgNGjTIcDIApWH06NHq37+/YmNjVaNGDcfybt26Oe4hAwpCIQOKKDEx0TFj0v79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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } ], + "source": [ + "plt.figure(figsize=(10, 6))\n", + "data['sentiment'].value_counts().plot(kind='bar', color=['blue', 'green', 'red'])\n", + "plt.title('Sentiment Distribution')\n", + "plt.xlabel('Sentiment')\n", + "plt.ylabel('Count')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", "metadata": { "id": "xgpZZMfI5NWv" - } + }, + "source": [ + "## Step 8: Extract Sentiments and Texts from DataFrame\n", + "\n", + "Now, we'll extract sentiments and texts from the DataFrame and mapp sentiments to numerical values.\n", + "\n", + "Assigning numerical values to Sentiments:\n", + "Neutral -> 1\n", + "Positive -> 2\n", + "Negative -> 3" + ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 26, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fmkM4YiSVRym", - "outputId": "fe57f369-fa0a-4b4c-bc5c-235c510f38ae" + "outputId": "42ceb88b-e102-426b-d744-1f3c91d38ff5" }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Warning: Skipping row 314 with float text value\n", "27480\n", @@ -332,27 +439,34 @@ "print(len(texts))\n" ] }, + { + "cell_type": "markdown", + "metadata": { + "id": "OttHuyrLd5HR" + }, + "source": [ + "This step prepares the data by converting sentiments and texts into a suitable format for training.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RYAKRFt_d87z" + }, + "source": [ + "## Step 9: Split the Dataset\n", + "\n", + "For model training and evaluation, we'll split the dataset into training and validation sets:" + ] + }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 27, "metadata": { - "id": "GOUNpqmlfMV5", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "1472b49f-8758-4706-af54-308b619ab4e7" + "id": "GOUNpqmlfMV5" }, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 1.01M/1.01M [00:00<00:00, 1.43MB/s]\n", - "100%|██████████| 179M/179M [00:07<00:00, 23.3MB/s]\n", - "100%|██████████| 470k/470k [00:00<00:00, 828kB/s]\n" - ] - } - ], + "outputs": [], "source": [ "label_encoder = LabelEncoder()\n", "encoded_sentiments = label_encoder.fit_transform(sentiments)\n", @@ -366,50 +480,61 @@ }, { "cell_type": "markdown", + "metadata": { + "id": "x2vziPx6eSDs" + }, "source": [ - "Converting text to embeddings using LASER" - ], + "A good practice is to reserve a portion of the data for validation to assess the model's performance." + ] + }, + { + "cell_type": "markdown", "metadata": { "id": "KKLdd5MO5hoE" - } + }, + "source": [ + "## Step 10: LASER Embeddings\n", + "\n", + "Now, let's leverage LASER embeddings to convert the text data into numerical representations:" + ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 28, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3yrXnFZWzTv3", - "outputId": "19dec720-15cf-4312-e93a-2330ff6401e4" + "outputId": "8cd3d7ac-cbe8-4dca-b925-f5a446fad6a1" }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Encoding training sentences:\n" ] }, { - "output_type": "stream", "name": "stderr", + "output_type": "stream", "text": [ - "100%|██████████| 21984/21984 [02:30<00:00, 146.49it/s]\n" + "100%|██████████| 21984/21984 [37:26<00:00, 9.79it/s]\n" ] }, { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Encoding testing sentences:\n" ] }, { - "output_type": "stream", "name": "stderr", + "output_type": "stream", "text": [ - "100%|██████████| 5496/5496 [00:36<00:00, 151.02it/s]\n" + "100%|██████████| 5496/5496 [09:19<00:00, 9.82it/s]\n" ] } ], @@ -434,37 +559,47 @@ "X_test_embeddings = np.array(X_test_embeddings)" ] }, + { + "cell_type": "markdown", + "metadata": { + "id": "7HeCXoUvefhT" + }, + "source": [ + "## Step 11: Build and Train the RNN Model\n", + "\n", + "With the data ready, it's time to build and train our sentiment analysis model using a simple RNN architecture:" + ] + }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 30, "metadata": { - "id": "7-7mYJsmWKVT", "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 + "base_uri": "https://localhost:8080/" }, - "outputId": "fe83356d-3b60-4ab9-f8b3-7d03c1f8d8b2" + "id": "7-7mYJsmWKVT", + "outputId": "e1a8c343-f264-4482-b2c9-a723dddea178" }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ - "Model: \"sequential_2\"\n", + "Model: \"sequential_1\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", - " dense_6 (Dense) (None, 256) 262400 \n", + " dense_3 (Dense) (None, 256) 262400 \n", " \n", - " reshape_2 (Reshape) (None, 1, 256) 0 \n", + " reshape_1 (Reshape) (None, 1, 256) 0 \n", " \n", - " simple_rnn_2 (SimpleRNN) (None, 128) 49280 \n", + " simple_rnn_1 (SimpleRNN) (None, 128) 49280 \n", " \n", - " dense_7 (Dense) (None, 64) 8256 \n", + " dense_4 (Dense) (None, 64) 8256 \n", " \n", - " dropout_2 (Dropout) (None, 64) 0 \n", + " dropout_1 (Dropout) (None, 64) 0 \n", " \n", - " dense_8 (Dense) (None, 3) 195 \n", + " dense_5 (Dense) (None, 3) 195 \n", " \n", "=================================================================\n", "Total params: 320131 (1.22 MB)\n", @@ -472,79 +607,76 @@ "Non-trainable params: 0 (0.00 Byte)\n", "_________________________________________________________________\n", "Epoch 1/30\n", - "619/619 [==============================] - 9s 9ms/step - loss: 0.9592 - accuracy: 0.5416 - val_loss: 0.7660 - val_accuracy: 0.6698 - lr: 1.0000e-04\n", + "619/619 [==============================] - 8s 9ms/step - loss: 0.9656 - accuracy: 0.5379 - val_loss: 0.7790 - val_accuracy: 0.6744 - lr: 1.0000e-04\n", "Epoch 2/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.7456 - accuracy: 0.6807 - val_loss: 0.7040 - val_accuracy: 0.6940 - lr: 9.0000e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.7382 - accuracy: 0.6863 - val_loss: 0.7022 - val_accuracy: 0.6917 - lr: 9.0000e-05\n", "Epoch 3/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6977 - accuracy: 0.7066 - val_loss: 0.6799 - val_accuracy: 0.7017 - lr: 8.1000e-05\n", + "619/619 [==============================] - 7s 12ms/step - loss: 0.6907 - accuracy: 0.7067 - val_loss: 0.7003 - val_accuracy: 0.6958 - lr: 8.1000e-05\n", "Epoch 4/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6780 - accuracy: 0.7167 - val_loss: 0.6738 - val_accuracy: 0.7049 - lr: 7.2900e-05\n", + "619/619 [==============================] - 6s 9ms/step - loss: 0.6727 - accuracy: 0.7187 - val_loss: 0.6941 - val_accuracy: 0.6971 - lr: 7.2900e-05\n", "Epoch 5/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6650 - accuracy: 0.7214 - val_loss: 0.6690 - val_accuracy: 0.7044 - lr: 6.5610e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6585 - accuracy: 0.7251 - val_loss: 0.6732 - val_accuracy: 0.7040 - lr: 6.5610e-05\n", "Epoch 6/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6525 - accuracy: 0.7279 - val_loss: 0.6753 - val_accuracy: 0.6976 - lr: 5.9049e-05\n", + "619/619 [==============================] - 7s 12ms/step - loss: 0.6488 - accuracy: 0.7297 - val_loss: 0.6720 - val_accuracy: 0.7049 - lr: 5.9049e-05\n", "Epoch 7/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6483 - accuracy: 0.7302 - val_loss: 0.6674 - val_accuracy: 0.7021 - lr: 5.3144e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6450 - accuracy: 0.7292 - val_loss: 0.6719 - val_accuracy: 0.7080 - lr: 5.3144e-05\n", "Epoch 8/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6415 - accuracy: 0.7342 - val_loss: 0.6657 - val_accuracy: 0.7035 - lr: 4.7830e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6383 - accuracy: 0.7355 - val_loss: 0.6709 - val_accuracy: 0.7049 - lr: 4.7830e-05\n", "Epoch 9/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6364 - accuracy: 0.7352 - val_loss: 0.6678 - val_accuracy: 0.7026 - lr: 4.3047e-05\n", + "619/619 [==============================] - 8s 12ms/step - loss: 0.6347 - accuracy: 0.7376 - val_loss: 0.6675 - val_accuracy: 0.7121 - lr: 4.3047e-05\n", "Epoch 10/30\n", - "619/619 [==============================] - 4s 7ms/step - loss: 0.6350 - accuracy: 0.7366 - val_loss: 0.6687 - val_accuracy: 0.6999 - lr: 3.8742e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6302 - accuracy: 0.7384 - val_loss: 0.6692 - val_accuracy: 0.7071 - lr: 3.8742e-05\n", "Epoch 11/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6300 - accuracy: 0.7391 - val_loss: 0.6641 - val_accuracy: 0.7030 - lr: 3.4868e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6285 - accuracy: 0.7391 - val_loss: 0.6705 - val_accuracy: 0.7058 - lr: 3.4868e-05\n", "Epoch 12/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6241 - accuracy: 0.7400 - val_loss: 0.6631 - val_accuracy: 0.7090 - lr: 3.1381e-05\n", + "619/619 [==============================] - 8s 12ms/step - loss: 0.6254 - accuracy: 0.7421 - val_loss: 0.6662 - val_accuracy: 0.7090 - lr: 3.1381e-05\n", "Epoch 13/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6249 - accuracy: 0.7377 - val_loss: 0.6640 - val_accuracy: 0.7058 - lr: 2.8243e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6237 - accuracy: 0.7414 - val_loss: 0.6654 - val_accuracy: 0.7090 - lr: 2.8243e-05\n", "Epoch 14/30\n", - "619/619 [==============================] - 4s 7ms/step - loss: 0.6235 - accuracy: 0.7435 - val_loss: 0.6629 - val_accuracy: 0.7099 - lr: 2.5419e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6214 - accuracy: 0.7452 - val_loss: 0.6667 - val_accuracy: 0.7080 - lr: 2.5419e-05\n", "Epoch 15/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6205 - accuracy: 0.7456 - val_loss: 0.6625 - val_accuracy: 0.7099 - lr: 2.2877e-05\n", + "619/619 [==============================] - 8s 12ms/step - loss: 0.6199 - accuracy: 0.7449 - val_loss: 0.6668 - val_accuracy: 0.7076 - lr: 2.2877e-05\n", "Epoch 16/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6201 - accuracy: 0.7430 - val_loss: 0.6625 - val_accuracy: 0.7108 - lr: 2.0589e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6189 - accuracy: 0.7437 - val_loss: 0.6648 - val_accuracy: 0.7090 - lr: 2.0589e-05\n", "Epoch 17/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6143 - accuracy: 0.7467 - val_loss: 0.6651 - val_accuracy: 0.7076 - lr: 1.8530e-05\n", + "619/619 [==============================] - 5s 9ms/step - loss: 0.6157 - accuracy: 0.7431 - val_loss: 0.6648 - val_accuracy: 0.7085 - lr: 1.8530e-05\n", "Epoch 18/30\n", - "619/619 [==============================] - 4s 7ms/step - loss: 0.6149 - accuracy: 0.7453 - val_loss: 0.6635 - val_accuracy: 0.7108 - lr: 1.6677e-05\n", + "619/619 [==============================] - 7s 12ms/step - loss: 0.6139 - accuracy: 0.7470 - val_loss: 0.6654 - val_accuracy: 0.7103 - lr: 1.6677e-05\n", "Epoch 19/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6160 - accuracy: 0.7468 - val_loss: 0.6646 - val_accuracy: 0.7085 - lr: 1.5009e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6160 - accuracy: 0.7479 - val_loss: 0.6657 - val_accuracy: 0.7062 - lr: 1.5009e-05\n", "Epoch 20/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6145 - accuracy: 0.7476 - val_loss: 0.6643 - val_accuracy: 0.7090 - lr: 1.3509e-05\n", + "619/619 [==============================] - 6s 9ms/step - loss: 0.6137 - accuracy: 0.7460 - val_loss: 0.6655 - val_accuracy: 0.7085 - lr: 1.3509e-05\n", "Epoch 21/30\n", - "619/619 [==============================] - 5s 9ms/step - loss: 0.6141 - accuracy: 0.7461 - val_loss: 0.6640 - val_accuracy: 0.7103 - lr: 1.2158e-05\n", + "619/619 [==============================] - 7s 11ms/step - loss: 0.6105 - accuracy: 0.7468 - val_loss: 0.6656 - val_accuracy: 0.7076 - lr: 1.2158e-05\n", "Epoch 22/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6114 - accuracy: 0.7486 - val_loss: 0.6644 - val_accuracy: 0.7080 - lr: 1.0942e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6114 - accuracy: 0.7473 - val_loss: 0.6666 - val_accuracy: 0.7044 - lr: 1.0942e-05\n", "Epoch 23/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6140 - accuracy: 0.7494 - val_loss: 0.6637 - val_accuracy: 0.7099 - lr: 9.8477e-06\n", + "619/619 [==============================] - 6s 10ms/step - loss: 0.6128 - accuracy: 0.7491 - val_loss: 0.6656 - val_accuracy: 0.7099 - lr: 9.8477e-06\n", "Epoch 24/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6100 - accuracy: 0.7506 - val_loss: 0.6638 - val_accuracy: 0.7108 - lr: 8.8629e-06\n", + "619/619 [==============================] - 7s 11ms/step - loss: 0.6103 - accuracy: 0.7487 - val_loss: 0.6647 - val_accuracy: 0.7067 - lr: 8.8629e-06\n", "Epoch 25/30\n", - "619/619 [==============================] - 5s 9ms/step - loss: 0.6087 - accuracy: 0.7496 - val_loss: 0.6645 - val_accuracy: 0.7062 - lr: 7.9766e-06\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6088 - accuracy: 0.7486 - val_loss: 0.6660 - val_accuracy: 0.7058 - lr: 7.9766e-06\n", "Epoch 26/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6086 - accuracy: 0.7507 - val_loss: 0.6665 - val_accuracy: 0.7049 - lr: 7.1790e-06\n", + "619/619 [==============================] - 6s 10ms/step - loss: 0.6108 - accuracy: 0.7501 - val_loss: 0.6653 - val_accuracy: 0.7076 - lr: 7.1790e-06\n", "Epoch 27/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6099 - accuracy: 0.7502 - val_loss: 0.6643 - val_accuracy: 0.7076 - lr: 6.4611e-06\n", + "619/619 [==============================] - 6s 10ms/step - loss: 0.6110 - accuracy: 0.7503 - val_loss: 0.6663 - val_accuracy: 0.7035 - lr: 6.4611e-06\n", "Epoch 28/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6059 - accuracy: 0.7495 - val_loss: 0.6646 - val_accuracy: 0.7067 - lr: 5.8150e-06\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6081 - accuracy: 0.7486 - val_loss: 0.6661 - val_accuracy: 0.7040 - lr: 5.8150e-06\n", "Epoch 29/30\n", - "619/619 [==============================] - 5s 9ms/step - loss: 0.6076 - accuracy: 0.7517 - val_loss: 0.6647 - val_accuracy: 0.7071 - lr: 5.2335e-06\n", + "619/619 [==============================] - 6s 10ms/step - loss: 0.6073 - accuracy: 0.7513 - val_loss: 0.6653 - val_accuracy: 0.7058 - lr: 5.2335e-06\n", "Epoch 30/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6071 - accuracy: 0.7496 - val_loss: 0.6650 - val_accuracy: 0.7071 - lr: 4.7101e-06\n", - "172/172 [==============================] - 0s 3ms/step - loss: 0.6618 - accuracy: 0.7162\n", - "Accuracy: 71.62%\n", - "172/172 [==============================] - 1s 2ms/step\n" + "619/619 [==============================] - 7s 11ms/step - loss: 0.6078 - accuracy: 0.7503 - val_loss: 0.6651 - val_accuracy: 0.7080 - lr: 4.7101e-06\n" ] }, { - "output_type": "display_data", "data": { "text/plain": [ - "
" - ], - "image/png": "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rBoJANbW1oiPj5frn5ubi4SEBFhbW8v6xMXFyfUpeF/QpziUmkju2rXrndvCwsIQFBTExycSERGR4qnOvTYfVJBERkZG4vjx4zA3N5fb7ubmhqSkJFy5ckU2RTA0NBT5+flo3LixrM+UKVOQk5MDbW1tAEBISAhcXFyKPT8SUHIi2a1bt0JtERERmDRpEvbu3QsvLy/4+/srITIiIiIi5UhNTcWDBw9k76OiohAeHg4zMzPY2Njg66+/xtWrV7Fv3z7k5eXJ5jSamZlBR0cH1atXR4cOHTBkyBCsXr0aOTk5GD58OHr37g1bW1sAQJ8+fTBr1iwMGjQIEydOxK1bt7B8+XIsXbq0RLGqxM02APD8+XMMGTIErq6uyM3NRXh4ODZt2gQHBwdlh0ZERERlnCotSH758mXUrVsXdevWBQD4+fmhbt26mD59Op49e4Y9e/bg6dOnqFOnDmxsbGSvc+fOyY4RHByMatWqoV27dujYsSOaN28ut0aksbExjhw5gqioKNSvXx9jx47F9OnTS7T0D6ACN9skJydj3rx5WLFiBerUqYNjx46hRYsWyg6LiIiISClat24NQRDeuf192wqYmZlh69at7+1Tq1YtnD59usTx/ZdSE8nAwEAsWLAA1tbW+P3334sc6iYiIiJSNFVakPxzotREctKkSdDT04OzszM2bdqETZs2Fdlv586dnzgyIiIiIvoQpSaS/fv3518AREREpHTMR8RRaiK5ceNGZZ6eiIiI6A3mkaKozF3bRERERPR5Ufpd20RERETKxqFtcViRJCIiIiJRWJEkIiIitceKpDisSBIRERGRKKxIEhERkdpjRVIcViSJiIiISBRWJImIiEjtsSIpDhNJIiIiIuaRonBom4iIiIhEYUWSiIiI1B6HtsVhRZKIiIiIRGFFkoiIiNQeK5LisCJJRERERKKwIklERERqjwVJcViRJCIiIiJRWJEkIiIitcc5kuIwkSQiIiK1xzxSHA5tExEREZEorEgSERGR2uPQtjisSBIRERGRKKxIEhERkdpjQVIcViSJiIiISBRWJImIiEjtaWiwJCkGK5JEREREJAorkkRERKT2OEdSHCaSREREpPa4/I84HNomIiIiIlFYkSQiIiK1x4KkOKxIEhEREZEorEgSERGR2uMcSXFYkSQiIiIiUViRJCIiIrXHiqQ4rEgSERER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7w7gTQWzQ4cOGDJkCFavXo2cnBwMHz4cvXv3LtU7tgEmkkREREQKnSNZEg0bNsSuXbswefJk+Pv7w8nJCcuWLYOXl5esz4QJE5CWlgYfHx8kJSWhefPmOHToEHR1dWV9goODMXz4cLRr1w4aGhro2bMngoKCSj1eriNJ9IlwHUlSNVxHklSNMteR3Hr1qcKO3adeRYUdW9k4R5KIiIiIROHQNhEREak9iZiHYhMrkkREREQkDiuSREREpPZYWROHnxsRERERicKKJBEREak9zpEUhxVJIiIiIhKFFUkiIiJSe6xHisOKJBERERGJwookERERqT3OkRSnTCaSOXll7qmPVAa8+n2gskMgklN1zB5lh0AkJ3pFV6Wdm0O04vBzIyIiIiJRymRFkoiIiKgkOLQtDiuSRERERCQKK5JERESk9liPFIcVSSIiIiIShRVJIiIiUnucIikOK5JEREREJAorkkRERKT2NDhLUhQmkkRERKT2OLQtDoe2iYiIiEgUViSJiIhI7Uk4tC0KK5JEREREJAorkkRERKT2OEdSHFYkiYiIiEgUViSJiIhI7XH5H3FYkSQiIiIiUViRJCIiIrXHOZLiMJEkIiIitcdEUhwObRMRERGRKKxIEhERkdrjguTisCJJRERERKKwIklERERqT4MFSVFYkSQiIiIiUViRJCIiIrXHOZLisCJJRERERKKwIklERERqj+tIisNEkoiIiNQeh7bF4dA2EREREYnCiiQRERGpPS7/Iw4rkkREREQkCiuSREREpPY4R1IcViSJiIiISBRWJImIiEjtcfkfcViRJCIiIiJRWJEkIiIitceCpDhMJImIiEjtaXBsWxQObRMRERGRKKxIEhERkdpjPVIcViSJiIiISBRWJImIiIhYkhSFFUkiIiIiEoUVSSIiIlJ7fESiOKxIEhEREZEorEgSERGR2uMykuKwIklERERqT6LA18eYP38+JBIJRo8eLWvLzMyEr68vzM3NYWhoiJ49eyIuLk5uv+joaHTq1An6+vqwtLTE+PHjkZub+5HRFMZEkoiIiEgFXbp0Cb/88gtq1aol1z5mzBjs3bsXf/75J06ePInnz5+jR48esu15eXno1KkTsrOzce7cOWzatAkbN27E9OnTSz1GJpJEREREKlaSTE1NhZeXF9auXQtTU1NZe3JyMn799VcsWbIEbdu2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\n" + "" + ] }, - "metadata": {} + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -559,7 +691,7 @@ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", - "# Build a more complex neural network model with RNN\n", + "# Build a neural network model with RNN\n", "model = Sequential()\n", "model.add(Dense(256, input_shape=(1024,), activation='tanh'))\n", "model.add(Reshape((1, 256)))\n", @@ -574,7 +706,7 @@ "\n", "opt = Adam(learning_rate=0.0001)\n", "lr_scheduler = LearningRateScheduler(lr_schedule)\n", - "\n", + "#\n", "# Compile the model\n", "model.compile(optimizer=opt, loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n", "\n", @@ -582,16 +714,103 @@ "model.summary()\n", "\n", "# Train the model with the learning rate scheduler\n", - "model.fit(X_train_embeddings, y_train, epochs=30, batch_size=32, validation_split=0.1, callbacks=[lr_scheduler])\n", - "\n", + "model.fit(X_train_embeddings, y_train, epochs=30, batch_size=32, validation_split=0.1, callbacks=[lr_scheduler])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "32_oRAmBejuj" + }, + "source": [ + "In this architecture, we employ a feedforward neural network with three dense layers, culminating in a softmax activation layer for sentiment classification." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "WLFMDGLqfugC" + }, + "source": [ + "Step 12: Evaluate the Model\n", + "Finally, let's evaluate the model's performance on the validation set and calculate the accuracy:" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Kx4_t2UjgALF", + "outputId": "73dc5d3d-7470-4146-a333-e9c7be22b555" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "172/172 [==============================] - 1s 5ms/step - loss: 0.6625 - accuracy: 0.7162\n", + "Accuracy: 71.62%\n", + "172/172 [==============================] - 1s 3ms/step\n" + ] + } + ], + "source": [ "# Evaluate the model on the test set\n", "accuracy = model.evaluate(X_test_embeddings, y_test)[1]\n", "print(f\"Accuracy: {accuracy * 100:.2f}%\")\n", "\n", "# Predictions on the test set\n", "y_pred_probabilities = model.predict(X_test_embeddings)\n", - "y_pred = np.argmax(y_pred_probabilities, axis=1)\n", + "y_pred = np.argmax(y_pred_probabilities, axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xTwXSCUVfvVx" + }, + "source": [ + "This step provides insights into how well the model generalizes to new, unseen data." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "E6mdIbjPgsne" + }, + "source": [ + "## Step 13:Evaluate with Confusion Matrix\n", "\n", + "This matrix provides detailed insights into the model's predictions, showcasing true positives, true negatives, false positives, and false negatives." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 + }, + "id": "kPY816C7gEOw", + "outputId": "fefb806d-8645-4784-f022-d0bbe3a58704" + }, + "outputs": [ + { + "data": { + "image/png": "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999jxowZ8u2I1q5di7Zt22LatGlYsGBBucYjIqoorEgSqblPPvkEly5dwmeffYYdO3YgICAAkydPxt27d7F48WKEh4fL+/7444+YNWsWzpw5g7FjxyI6OhpTpkzBr7/+WqExWVlZYdu2bTA0NMTXX3+N9evXIyQkBN27dy8Wu5OTE9asWYOAgACsWLECrVu3RnR0NMzMzEod39vbG3v37oWVlRWmT5+ORYsWoVmzZjhx4kS5kzBl+OabbzB+/Hjs27cPY8aMwfnz57Fnzx44Ojoq9NPV1cX69euhra2NESNGoF+/fjhy5Ei5zvX8+XMMHToUDRs2xLfffitvb9WqFcaMGYPFixfj77//rpDrIiIqL4lQntXoRERERET/jxVJIiIiIhKFiSQRERERicJEkoiIiIhEYSJJRERERKIwkSQiIiIiUZhIEhEREZEoTCSJiIiISJRK+c02Bg0DVR0CUTGxf/HbR0i9PMvMV3UIRAq83M1Vdm5l5g45F5YrbWxVY0WSiIiIiESplBVJIiIionKRsLYmBhNJIiIiIolE1RG8l5h+ExEREZEorEgSERERcWpbFL5rRERERCQKK5JEREREXCMpCiuSRERERCQKK5JEREREXCMpCt81IiIiIhKFFUkiIiIirpEUhYkkEREREae2ReG7RkRERESisCJJRERExKltUViRJCIiIiJRWJEkIiIi4hpJUfiuEREREZEorEgSERERcY2kKKxIEhEREZEorEgSERERcY2kKEwkiYiIiDi1LQrTbyIiIiIShRVJIiIiIk5ti8J3jYiIiIhEYUWSiIiIiBVJUfiuEREREZEorEgSERERafGubTFYkSQiIiIiUViRJCIiIuIaSVH4rhERERFJJMp7lNPRo0fRvXt3ODg4QCKRYPv27aX2HTFiBCQSCcLCwhTanz17Bl9fX5iamsLc3BzDhg1DZmamQp9Lly6hVatW0NfXh6OjIxYsWFDuWJlIEhEREamRrKws1K9fHytWrHhtv23btuHvv/+Gg4NDsWO+vr64evUqoqKisHv3bhw9ehT+/v7y4xkZGejYsSOcnZ1x7tw5LFy4EDNnzsSqVavKFSuntomIiIiUOLWdl5eHvLw8hTapVAqpVFpi/86dO6Nz586vHfPhw4cYNWoU9u3bh65duyocu379Ovbu3YszZ86gSZMmAIBly5ahS5cu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cEDPnj0BALVr10anTp0wfPhwnD59GidOnEBgYCD69u0LBwcHAED//v2hp6eHYcOG4erVq9i8eTOWLl1abAr+TTi1TURERKRGzp49i3bt2smfv0zu/Pz8sG7dOnz99dfIysqCv78/0tLS0LJlS+zduxf6+vry10RGRiIwMBAdOnSAlpYWevfujfDwcPlxMzMz7N+/HwEBAWjcuDGqVKmC6dOnl2vrHwCQCIIgvOX1qp3riVmqDoGomGZBW1UdApGC+2t9VR0CkQJTfdVNlLYNO6m0sQ+Pba60sVWNFUkiIiLSeOq0Ifn7hGskiYiIiEgUViSJiIhI4ylz+5/KjBVJIiIiIhKFFUkiIiLSeCxIisOKJBERERGJwookERERaTwtliRFYUWSiIiIiERhRZKIiIg0HguS4jCRJCIiIo3H7X/E4dQ2EREREYnCiiQRERFpPC0WJEVhRZKIiIiIRGFFkoiIiDQe10iKw4okEREREYnCiiQRERFpPBYkxWFFkoiIiIhEYUWSiIiINJ4ELEmKwUSSiIiINB63/xGHU9tEREREJAorkkRERKTxuP2POKxIEhEREZEorEgSERGRxmNBUhxWJImIiIhIFFYkiYiISONpsSQpCiuSRERERCQKK5JERESk8ViQFIeJJBEREWk8bv8jTpkSyUuXLpV5wHr16okOhoiIiIjeH2VKJBs0aACJRAJBEEo8/vKYRCJBUVFRhQZIREREpGwsSIpTpkQyPj5e2XEQERER0XumTImks7OzsuMgIiIiUhlu/yOOqO1/Nm7ciBYtWsDBwQH37t0DAISFhWHHjh0VGhwRERERqa9yJ5IrV65EUFAQunTpgrS0NPmaSHNzc4SFhVV0fERERERKJ1HiozIrdyK5bNkyrF69Gt9++y20tbXl7U2aNMHly5crNDgiIiIiUl/l3kcyPj4eDRs2LNYulUqRlZVVIUERERERvUvcR1KcclckXVxcEBsbW6x97969qF27dkXERERERPROaUmU96jMyl2RDAoKQkBAAHJzcyEIAk6fPo1ffvkFISEh+PHHH5URIxERERGpoXInkl988QUMDAwwdepUZGdno3///nBwcMDSpUvRt29fZcRIREREpFSc2hZH1PY/vr6+uHXrFjIzM5GUlIQHDx5g2LBhbxXIsWPHMGDAAHh5eeHhw4cAXmwzdPz48bcal4iI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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ "# Generate confusion matrix\n", "cm = confusion_matrix(y_test, y_pred)\n", "\n", @@ -601,27 +820,45 @@ "plt.title('Confusion Matrix')\n", "plt.xlabel('Predicted Label')\n", "plt.ylabel('True Label')\n", - "plt.show()\n" + "plt.show()" ] }, { "cell_type": "markdown", - "source": [ - "**Sentiment Prediction for User Input in Different Languages**" - ], "metadata": { "id": "1B1ZP8EizqxU" - } + }, + "source": [ + "## Step 14:Sentiment Prediction for User Input in Different Languages" + ] }, { "cell_type": "code", + "execution_count": 33, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "H2kJx0vKzp81", + "outputId": "63ce455e-8fcc-43a5-8e41-16a52d827086" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Enter the language: english\n", + "Enter a text: what are you doing\n", + "1/1 [==============================] - 0s 89ms/step\n", + "Predicted Sentiment: neutral\n" + ] + } + ], "source": [ - "\n", "language = input(\"Enter the language: \")\n", "encoder = LaserEncoderPipeline(lang=language)\n", "\n", "\n", - "\n", "# Now, you can use the trained model to predict the sentiment of user input\n", "user_text = input(\"Enter a text: \")\n", "user_text_embedding = encoder.encode_sentences([user_text])[0]\n", @@ -637,39 +874,72 @@ " predicted_sentiment_label = 'negative'\n", "\n", "print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" - ], + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SOxFqEdwcejj" + }, + "source": [ + "## Step 15:Sentiment Prediction for Multilingual Texts\n", + "\n", + "This step involves iterating through a collection of sentiments expressed in various languages, including English, Hindi, Portuguese, Romanian, Slovenian, Chinese, French, Dutch, Russian, Italian, and Bosnian.\n", + "\n", + "This process demonstrates the model's ability to analyze sentiments across diverse linguistic contexts and still yeild same output." + ] + }, + { + "cell_type": "code", + "execution_count": 34, "metadata": { - "id": "H2kJx0vKzp81", "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "115756a8-2403-42db-ba00-5c1c011a04fd" + "id": "vjFvWEC0UOj0", + "outputId": "5fa58ddf-1553-4d2b-8c60-9c66fa44ac26" }, - "execution_count": 13, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ - "Enter the language: english\n", - "Enter a text: hello everyone\n", - "1/1 [==============================] - 0s 30ms/step\n", - "Predicted Sentiment: neutral\n" + "English: So sad, I'll miss you here in San Diego!!!\n", + "1/1 [==============================] - 0s 124ms/step\n", + "Predicted Sentiment: negative\n", + "Hindi: बहुत दुखद, मैं तुम्हें यहां सैन डिएगो में याद करूंगा!!!\n", + "1/1 [==============================] - 0s 24ms/step\n", + "Predicted Sentiment: negative\n", + "Portuguese: Tão TRISTE, sentirei sua falta aqui em San Diego!!!\n", + "1/1 [==============================] - 0s 21ms/step\n", + "Predicted Sentiment: negative\n", + "Romanian: Atat de trist, o sa-mi fie dor de tine aici in San Diego!!!\n", + "1/1 [==============================] - 0s 21ms/step\n", + "Predicted Sentiment: negative\n", + "Slovenian: Tako žalostno, pogrešal te bom tukaj v San Diegu!!!\n", + "1/1 [==============================] - 0s 23ms/step\n", + "Predicted Sentiment: negative\n", + "Chinese: 很傷心,我會在聖地牙哥想念你!\n", + "1/1 [==============================] - 0s 22ms/step\n", + "Predicted Sentiment: negative\n", + "French: Tellement triste tu vas me manquer ici à San Diego !!!\n", + "1/1 [==============================] - 0s 21ms/step\n", + "Predicted Sentiment: negative\n", + "Dutch: Zo verdrietig, ik zal je missen hier in San Diego!!!\n", + "1/1 [==============================] - 0s 24ms/step\n", + "Predicted Sentiment: negative\n", + "Russian: Ооочень грустно, я буду скучать по тебе здесь, в Сан-Диего!!!\n", + "1/1 [==============================] - 0s 28ms/step\n", + "Predicted Sentiment: negative\n", + "Italian: Così triste, mi mancherai qui a San Diego!!!\n", + "1/1 [==============================] - 0s 38ms/step\n", + "Predicted Sentiment: negative\n", + "Bosnian: Tužno, nedostajaćeš mi ovde u San Dijegu!!!\n", + "1/1 [==============================] - 0s 34ms/step\n", + "Predicted Sentiment: negative\n" ] } - ] - }, - { - "cell_type": "markdown", - "source": [ - "**Sentiment Prediction for Multilingual Texts**" ], - "metadata": { - "id": "SOxFqEdwcejj" - } - }, - { - "cell_type": "code", "source": [ "sentiments = {\n", " \"english\": \"So sad, I'll miss you here in San Diego!!!\",\n", @@ -704,90 +974,22 @@ " predicted_sentiment_label = 'negative'\n", "\n", " print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" - ], + ] + }, + { + "cell_type": "markdown", "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "vjFvWEC0UOj0", - "outputId": "0614909f-fab3-4a52-af4f-db3cdb107275" + "id": "D76SEjLm0ZOR" }, - "execution_count": 14, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "English: So sad, I'll miss you here in San Diego!!!\n", - "1/1 [==============================] - 0s 18ms/step\n", - "Predicted Sentiment: negative\n", - "Hindi: बहुत दुखद, मैं तुम्हें यहां सैन डिएगो में याद करूंगा!!!\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 608M/608M [00:09<00:00, 64.1MB/s]\n" - ] - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "1/1 [==============================] - 0s 17ms/step\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", - " x = torch._nested_tensor_from_mask(\n" - ] - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Predicted Sentiment: negative\n", - "Portuguese: Tão TRISTE, sentirei sua falta aqui em San Diego!!!\n", - "1/1 [==============================] - 0s 18ms/step\n", - "Predicted Sentiment: negative\n", - "Romanian: Atat de trist, o sa-mi fie dor de tine aici in San Diego!!!\n", - "1/1 [==============================] - 0s 23ms/step\n", - "Predicted Sentiment: negative\n", - "Slovenian: Tako žalostno, pogrešal te bom tukaj v San Diegu!!!\n", - "1/1 [==============================] - 0s 17ms/step\n", - "Predicted Sentiment: negative\n", - "Chinese: 很傷心,我會在聖地牙哥想念你!\n", - "1/1 [==============================] - 0s 17ms/step\n", - "Predicted Sentiment: negative\n", - "French: Tellement triste tu vas me manquer ici à San Diego !!!\n", - "1/1 [==============================] - 0s 17ms/step\n", - "Predicted Sentiment: negative\n", - "Dutch: Zo verdrietig, ik zal je missen hier in San Diego!!!\n", - "1/1 [==============================] - 0s 17ms/step\n", - "Predicted Sentiment: negative\n", - "Russian: Ооочень грустно, я буду скучать по тебе здесь, в Сан-Диего!!!\n", - "1/1 [==============================] - 0s 26ms/step\n", - "Predicted Sentiment: negative\n", - "Italian: Così triste, mi mancherai qui a San Diego!!!\n", - "1/1 [==============================] - 0s 24ms/step\n", - "Predicted Sentiment: negative\n", - "Bosnian: Tužno, nedostajaćeš mi ovde u San Dijegu!!!\n", - "1/1 [==============================] - 0s 27ms/step\n", - "Predicted Sentiment: negative\n" - ] - } + "source": [ + "Congratulations! You have completed the sentiment analysis tutorial using LASER embeddings and an RNN. Feel free to experiment with different architectures, hyperparameters, or datasets to further improve the model." ] } ], "metadata": { "accelerator": "GPU", "colab": { - "provenance": [], - "gpuType": "T4" + "provenance": [] }, "kernelspec": { "display_name": "Python 3", @@ -799,4 +1001,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} \ No newline at end of file +} From 599b4cd3b554e1c286447cad4f86ff84d1ab9c25 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Mon, 4 Dec 2023 22:52:42 +0530 Subject: [PATCH 07/22] Added the steps to download --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 368 +++++++++++------- 1 file changed, 217 insertions(+), 151 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index 7297b419..7a731da2 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -25,37 +25,57 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "KZ_Eqn90J6CK", - "outputId": "7549361a-5dce-43e9-c8c1-729ac8d66ae1" + "outputId": "64259e1b-7e33-4206-e5dc-b21d66bee897" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: laser_encoders in /usr/local/lib/python3.10/dist-packages (0.0.1)\n", - "Requirement already satisfied: sacremoses==0.1.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (0.1.0)\n", - "Requirement already satisfied: unicategories>=0.1.2 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (0.1.2)\n", - "Requirement already satisfied: sentencepiece>=0.1.99 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (0.1.99)\n", - "Requirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", + "Collecting laser_encoders\n", + " Downloading laser_encoders-0.0.1-py3-none-any.whl (24 kB)\n", + "Collecting sacremoses==0.1.0 (from laser_encoders)\n", + " Downloading sacremoses-0.1.0-py3-none-any.whl (895 kB)\n", + "\u001b[?25l \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/895.1 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m890.9/895.1 kB\u001b[0m \u001b[31m27.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m20.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting unicategories>=0.1.2 (from laser_encoders)\n", + " Downloading unicategories-0.1.2.tar.gz (12 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting sentencepiece>=0.1.99 (from laser_encoders)\n", + " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m53.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", "Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (2.1.0+cu118)\n", - "Requirement already satisfied: fairseq>=0.12.2 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (0.12.2)\n", + "Collecting fairseq>=0.12.2 (from laser_encoders)\n", + " Downloading fairseq-0.12.2.tar.gz (9.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m103.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Installing backend dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", "Requirement already satisfied: regex in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (2023.6.3)\n", "Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (8.1.7)\n", "Requirement already satisfied: joblib in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (1.3.2)\n", "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from sacremoses==0.1.0->laser_encoders) (4.66.1)\n", "Requirement already satisfied: cffi in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (1.16.0)\n", - "Requirement already satisfied: cython in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (3.0.5)\n", - "Requirement already satisfied: hydra-core<1.1,>=1.0.7 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (1.0.7)\n", - "Requirement already satisfied: omegaconf<2.1 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.0.6)\n", - "Requirement already satisfied: sacrebleu>=1.4.12 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.3.3)\n", - "Requirement already satisfied: bitarray in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.8.3)\n", - "Requirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", + "Requirement already satisfied: cython in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (3.0.6)\n", + "Collecting hydra-core<1.1,>=1.0.7 (from fairseq>=0.12.2->laser_encoders)\n", + " Downloading hydra_core-1.0.7-py3-none-any.whl (123 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m15.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting omegaconf<2.1 (from fairseq>=0.12.2->laser_encoders)\n", + " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", + "Collecting sacrebleu>=1.4.12 (from fairseq>=0.12.2->laser_encoders)\n", + " Downloading sacrebleu-2.3.3-py3-none-any.whl (106 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m12.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting bitarray (from fairseq>=0.12.2->laser_encoders)\n", + " Downloading bitarray-2.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (279 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m7.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.13.1)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (4.5.0)\n", "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (1.12)\n", @@ -64,15 +84,33 @@ "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (2023.6.0)\n", "Requirement already satisfied: triton==2.1.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (2.1.0)\n", "Requirement already satisfied: appdirs in /usr/local/lib/python3.10/dist-packages (from unicategories>=0.1.2->laser_encoders) (1.4.4)\n", - "Requirement already satisfied: antlr4-python3-runtime==4.8 in /usr/local/lib/python3.10/dist-packages (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders) (4.8)\n", + "Collecting antlr4-python3-runtime==4.8 (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders)\n", + " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m15.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.10/dist-packages (from omegaconf<2.1->fairseq>=0.12.2->laser_encoders) (6.0.1)\n", - "Requirement already satisfied: portalocker in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (2.8.2)\n", + "Collecting portalocker (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", + " Downloading portalocker-2.8.2-py3-none-any.whl (17 kB)\n", "Requirement already satisfied: tabulate>=0.8.9 in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (0.9.0)\n", - "Requirement already satisfied: colorama in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (0.4.6)\n", + "Collecting colorama (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", + " Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", "Requirement already satisfied: lxml in /usr/local/lib/python3.10/dist-packages (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders) (4.9.3)\n", "Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi->fairseq>=0.12.2->laser_encoders) (2.21)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.10.0->laser_encoders) (2.1.3)\n", - "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n" + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n", + "Building wheels for collected packages: fairseq, unicategories, antlr4-python3-runtime\n", + " Building wheel for fairseq (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291822 sha256=f284b2bd281d73f4627eebec8246219b367d69be6daf1c998492c80ec41dca9a\n", + " Stored in directory: /root/.cache/pip/wheels/e4/35/55/9c66f65ec7c83fd6fbc2b9502a0ac81b2448a1196159dacc32\n", + " Building wheel for unicategories (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=8de9147e4300a25bb26db710ad2783657bbc603d8718ecaee4ecdaeb5106317c\n", + " Stored in directory: /root/.cache/pip/wheels/0b/6d/14/7135674b9daa3996f7f0d9bc1ccff5b7d50d6f1c4a16dc7d90\n", + " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=11ec4e6f5b3e50737f4ccefbf416ecb9b3c303e9a672b638248ba2ce0962b683\n", + " Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5\n", + "Successfully built fairseq unicategories antlr4-python3-runtime\n", + "Installing collected packages: sentencepiece, bitarray, antlr4-python3-runtime, unicategories, sacremoses, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq, laser_encoders\n", + "Successfully installed antlr4-python3-runtime-4.8 bitarray-2.8.4 colorama-0.4.6 fairseq-0.12.2 hydra-core-1.0.7 laser_encoders-0.0.1 omegaconf-2.0.6 portalocker-2.8.2 sacrebleu-2.3.3 sacremoses-0.1.0 sentencepiece-0.1.99 unicategories-0.1.2\n" ] } ], @@ -102,13 +140,13 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "bxnIqaniSXbG", - "outputId": "388f0c20-9f78-440b-ed90-ebd7fed20b9e" + "outputId": "fe7c329d-5741-42be-859d-164887ae8042" }, "outputs": [ { @@ -138,64 +176,34 @@ "id": "XlTEzmQTEmew" }, "source": [ - "## Step 3: Download the Dataset\n", + "## Step 3: Connect to your drive\n", "\n", - "Next, let's acquire a sentiment analysis dataset to train our model. We'll download a dataset from Kaggle and unzip it into a directory named ./dataset. Execute the following commands:\n", + "To access files from your Google Drive, mount it using the following code.\n", "\n" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Jh2MZfGKExwu", - "outputId": "f7028d42-4dc1-4d60-9fe8-b129dd793a2a" + "outputId": "7889c82e-4fe0-460e-98b1-7e97866238b5" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "--2023-12-01 11:17:00-- https://storage.googleapis.com/kaggle-data-sets/989445/1808590/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20231129%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231129T122405Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=812aedd1e3696ec6ae29771267c9c4f89c9fddd52578f8781bb602d0908f14ff2ac34b312f9664b4e91d3698c31b80fe8164e5d15a4cff11087ebbe029a491d492599dd7fb7664bf2a0736490c0e7abf2e639ed9bfd1105c6ae29ffe247d1a4203727d8e4ffdfd54237d813bc9a2145bbaf6e0dd0e91c92c0df18d9eccb6156c12664178dc862cf72e550189f1cf9797b1b52da821e6779edb5a92d8134dab176cce5a5b16fe5b3f598420d1572847f29b9d39cfd168bfa3aeba9e47ebcbf03c3c74dd31ec68e424c321b75f18cfe85b1ac1533ee286a22c5650512a57feaab1c9dd523ba2e87912b9b373109e7c51561f076ebb205bf74b30d6ea847233f8fa\n", - "Resolving storage.googleapis.com (storage.googleapis.com)... 108.177.120.207, 142.250.103.207, 142.250.128.207, ...\n", - "Connecting to storage.googleapis.com (storage.googleapis.com)|108.177.120.207|:443... connected.\n", - "HTTP request sent, awaiting response... 200 OK\n", - "Length: 57092644 (54M) [application/zip]\n", - "Saving to: ‘file.zip’\n", - "\n", - "file.zip 100%[===================>] 54.45M 78.5MB/s in 0.7s \n", - "\n", - "2023-12-01 11:17:01 (78.5 MB/s) - ‘file.zip’ saved [57092644/57092644]\n", - "\n", - "Archive: file.zip\n", - " inflating: test.csv \n", - " inflating: testdata.manual.2009.06.14.csv \n", - " inflating: train.csv \n", - " inflating: training.1600000.processed.noemoticon.csv \n", - "Archive: file.zip\n", - " inflating: ./dataset/test.csv \n", - " inflating: ./dataset/testdata.manual.2009.06.14.csv \n", - " inflating: ./dataset/train.csv \n", - " inflating: ./dataset/training.1600000.processed.noemoticon.csv \n" + "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n" ] } ], "source": [ - "!wget -O file.zip \"https://storage.googleapis.com/kaggle-data-sets/989445/1808590/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20231129%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231129T122405Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=812aedd1e3696ec6ae29771267c9c4f89c9fddd52578f8781bb602d0908f14ff2ac34b312f9664b4e91d3698c31b80fe8164e5d15a4cff11087ebbe029a491d492599dd7fb7664bf2a0736490c0e7abf2e639ed9bfd1105c6ae29ffe247d1a4203727d8e4ffdfd54237d813bc9a2145bbaf6e0dd0e91c92c0df18d9eccb6156c12664178dc862cf72e550189f1cf9797b1b52da821e6779edb5a92d8134dab176cce5a5b16fe5b3f598420d1572847f29b9d39cfd168bfa3aeba9e47ebcbf03c3c74dd31ec68e424c321b75f18cfe85b1ac1533ee286a22c5650512a57feaab1c9dd523ba2e87912b9b373109e7c51561f076ebb205bf74b30d6ea847233f8fa\"\n", - "!unzip file.zip\n", - "!unzip file.zip -d ./dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "FRg-9-Xyb5FD" - }, - "source": [ - "These commands fetch the dataset and organize it for further use." + "from google.colab import drive\n", + "drive.mount('/content/drive')" ] }, { @@ -211,7 +219,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 4, "metadata": { "id": "LN0F4-9AR8_k" }, @@ -248,22 +256,37 @@ "source": [ "## Step 5: Load the Dataset\n", "\n", + "These lines enable you to connect to your Google Drive, access the dataset, and ensure proper encoding for reading the CSV file. To download the dataset, follow these steps:\n", + "\n", + "- Go to this Kaggle link: [Sentiment analysis dataset](https://www.kaggle.com/datasets/abhi8923shriv/sentiment-analysis-dataset)\n", + "- Download the dataset and unzip it.\n", + "\n", + "\n", + "\n", + "```\n", + "!unzip -q /path/to/downloaded/dataset.zip -d /dataset/folder\n", + "```\n", + "\n", + "\n", + "\n", + "- Use the train.csv file for your sentiment analysis project.\n", + "\n", "We'll load the sentiment analysis dataset, detect its encoding, and select only the relevant columns ('sentiment' and 'text')." ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 5, "metadata": { "id": "K0CKtslqNlQg" }, "outputs": [], "source": [ - "with open('./dataset/train.csv', 'rb') as f:\n", + "with open('/content/drive/MyDrive/dataset/train.csv', 'rb') as f:\n", " result = chardet.detect(f.read())\n", "\n", "# Use the detected encoding when reading the CSV file\n", - "data = pd.read_csv('./dataset/train.csv', encoding=result['encoding'])\n", + "data = pd.read_csv('/content/drive/MyDrive/dataset/train.csv', encoding=result['encoding'])\n", "data = data[['sentiment', 'text']]" ] }, @@ -290,13 +313,13 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hPqyJk2wNsye", - "outputId": "5b4dca9a-d4e1-4353-d204-d953c2804da0" + "outputId": "c0978181-4abe-40e2-b60f-d69c2522d0b2" }, "outputs": [ { @@ -304,11 +327,11 @@ "output_type": "stream", "text": [ " sentiment text\n", - "12012 neutral Got caught in the rain with about 7 people No...\n", - "21125 neutral signed up for broadband today could take 4-6 w...\n", - "11517 neutral toy story pwns\n", - "26027 negative i REALLY miss my photofiltre and photoscape G...\n", - "17650 positive love you 2 so how are you? xxxx\n", + "7480 neutral all alone. still watching TWW, eating Italian...\n", + "4446 neutral It will give me lulz from time to time.\n", + "17341 negative leaving florida want to live there forever! Te...\n", + "24201 neutral working today. Can`t find my key so I had to ...\n", + "21908 neutral WORD!!!!!\n", "(27481, 2)\n" ] } @@ -342,14 +365,14 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 611 }, "id": "TLp-3OE91Dp4", - "outputId": "0292bdf8-0fbd-4252-9f53-643d92c3e9bf" + "outputId": "a0caeb71-c288-44d5-c700-6695dea47462" }, "outputs": [ { @@ -390,13 +413,13 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fmkM4YiSVRym", - "outputId": "42ceb88b-e102-426b-d744-1f3c91d38ff5" + "outputId": "57379dd7-edbe-4b1a-8f03-401dcf4ed0da" }, "outputs": [ { @@ -462,11 +485,25 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 9, "metadata": { - "id": "GOUNpqmlfMV5" + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GOUNpqmlfMV5", + "outputId": "6b266f44-23b9-4a74-c51f-0db5950af921" }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1.01M/1.01M [00:00<00:00, 1.27MB/s]\n", + "100%|██████████| 179M/179M [00:08<00:00, 21.9MB/s]\n", + "100%|██████████| 470k/470k [00:00<00:00, 742kB/s]\n" + ] + } + ], "source": [ "label_encoder = LabelEncoder()\n", "encoded_sentiments = label_encoder.fit_transform(sentiments)\n", @@ -500,13 +537,13 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 10, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3yrXnFZWzTv3", - "outputId": "8cd3d7ac-cbe8-4dca-b925-f5a446fad6a1" + "outputId": "f862bca4-071a-4761-d8aa-2fd24fe92590" }, "outputs": [ { @@ -520,7 +557,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 21984/21984 [37:26<00:00, 9.79it/s]\n" + "100%|██████████| 21984/21984 [02:29<00:00, 146.82it/s]\n" ] }, { @@ -534,7 +571,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 5496/5496 [09:19<00:00, 9.82it/s]\n" + "100%|██████████| 5496/5496 [00:36<00:00, 149.02it/s]\n" ] } ], @@ -572,34 +609,34 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7-7mYJsmWKVT", - "outputId": "e1a8c343-f264-4482-b2c9-a723dddea178" + "outputId": "b53c2e14-fd54-4abd-c060-f7f59b4128c6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Model: \"sequential_1\"\n", + "Model: \"sequential\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", - " dense_3 (Dense) (None, 256) 262400 \n", + " dense (Dense) (None, 256) 262400 \n", " \n", - " reshape_1 (Reshape) (None, 1, 256) 0 \n", + " reshape (Reshape) (None, 1, 256) 0 \n", " \n", - " simple_rnn_1 (SimpleRNN) (None, 128) 49280 \n", + " simple_rnn (SimpleRNN) (None, 128) 49280 \n", " \n", - " dense_4 (Dense) (None, 64) 8256 \n", + " dense_1 (Dense) (None, 64) 8256 \n", " \n", - " dropout_1 (Dropout) (None, 64) 0 \n", + " dropout (Dropout) (None, 64) 0 \n", " \n", - " dense_5 (Dense) (None, 3) 195 \n", + " dense_2 (Dense) (None, 3) 195 \n", " \n", "=================================================================\n", "Total params: 320131 (1.22 MB)\n", @@ -607,74 +644,74 @@ "Non-trainable params: 0 (0.00 Byte)\n", "_________________________________________________________________\n", "Epoch 1/30\n", - "619/619 [==============================] - 8s 9ms/step - loss: 0.9656 - accuracy: 0.5379 - val_loss: 0.7790 - val_accuracy: 0.6744 - lr: 1.0000e-04\n", + "619/619 [==============================] - 7s 6ms/step - loss: 0.9650 - accuracy: 0.5381 - val_loss: 0.7830 - val_accuracy: 0.6812 - lr: 1.0000e-04\n", "Epoch 2/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.7382 - accuracy: 0.6863 - val_loss: 0.7022 - val_accuracy: 0.6917 - lr: 9.0000e-05\n", + "619/619 [==============================] - 3s 6ms/step - loss: 0.7552 - accuracy: 0.6825 - val_loss: 0.7076 - val_accuracy: 0.6903 - lr: 9.0000e-05\n", "Epoch 3/30\n", - "619/619 [==============================] - 7s 12ms/step - loss: 0.6907 - accuracy: 0.7067 - val_loss: 0.7003 - val_accuracy: 0.6958 - lr: 8.1000e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.7052 - accuracy: 0.7001 - val_loss: 0.6870 - val_accuracy: 0.7076 - lr: 8.1000e-05\n", "Epoch 4/30\n", - "619/619 [==============================] - 6s 9ms/step - loss: 0.6727 - accuracy: 0.7187 - val_loss: 0.6941 - val_accuracy: 0.6971 - lr: 7.2900e-05\n", + "619/619 [==============================] - 4s 7ms/step - loss: 0.6846 - accuracy: 0.7125 - val_loss: 0.6736 - val_accuracy: 0.7126 - lr: 7.2900e-05\n", "Epoch 5/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6585 - accuracy: 0.7251 - val_loss: 0.6732 - val_accuracy: 0.7040 - lr: 6.5610e-05\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6726 - accuracy: 0.7188 - val_loss: 0.6681 - val_accuracy: 0.7171 - lr: 6.5610e-05\n", "Epoch 6/30\n", - "619/619 [==============================] - 7s 12ms/step - loss: 0.6488 - accuracy: 0.7297 - val_loss: 0.6720 - val_accuracy: 0.7049 - lr: 5.9049e-05\n", + "619/619 [==============================] - 3s 6ms/step - loss: 0.6611 - accuracy: 0.7223 - val_loss: 0.6678 - val_accuracy: 0.7049 - lr: 5.9049e-05\n", "Epoch 7/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6450 - accuracy: 0.7292 - val_loss: 0.6719 - val_accuracy: 0.7080 - lr: 5.3144e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6521 - accuracy: 0.7280 - val_loss: 0.6654 - val_accuracy: 0.7040 - lr: 5.3144e-05\n", "Epoch 8/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6383 - accuracy: 0.7355 - val_loss: 0.6709 - val_accuracy: 0.7049 - lr: 4.7830e-05\n", + "619/619 [==============================] - 5s 7ms/step - loss: 0.6507 - accuracy: 0.7289 - val_loss: 0.6625 - val_accuracy: 0.7099 - lr: 4.7830e-05\n", "Epoch 9/30\n", - "619/619 [==============================] - 8s 12ms/step - loss: 0.6347 - accuracy: 0.7376 - val_loss: 0.6675 - val_accuracy: 0.7121 - lr: 4.3047e-05\n", + "619/619 [==============================] - 3s 5ms/step - loss: 0.6430 - accuracy: 0.7330 - val_loss: 0.6611 - val_accuracy: 0.7103 - lr: 4.3047e-05\n", "Epoch 10/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6302 - accuracy: 0.7384 - val_loss: 0.6692 - val_accuracy: 0.7071 - lr: 3.8742e-05\n", + "619/619 [==============================] - 3s 6ms/step - loss: 0.6407 - accuracy: 0.7343 - val_loss: 0.6708 - val_accuracy: 0.7071 - lr: 3.8742e-05\n", "Epoch 11/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6285 - accuracy: 0.7391 - val_loss: 0.6705 - val_accuracy: 0.7058 - lr: 3.4868e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6364 - accuracy: 0.7358 - val_loss: 0.6597 - val_accuracy: 0.7094 - lr: 3.4868e-05\n", "Epoch 12/30\n", - "619/619 [==============================] - 8s 12ms/step - loss: 0.6254 - accuracy: 0.7421 - val_loss: 0.6662 - val_accuracy: 0.7090 - lr: 3.1381e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6327 - accuracy: 0.7378 - val_loss: 0.6570 - val_accuracy: 0.7144 - lr: 3.1381e-05\n", "Epoch 13/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6237 - accuracy: 0.7414 - val_loss: 0.6654 - val_accuracy: 0.7090 - lr: 2.8243e-05\n", + "619/619 [==============================] - 3s 5ms/step - loss: 0.6306 - accuracy: 0.7377 - val_loss: 0.6635 - val_accuracy: 0.7044 - lr: 2.8243e-05\n", "Epoch 14/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6214 - accuracy: 0.7452 - val_loss: 0.6667 - val_accuracy: 0.7080 - lr: 2.5419e-05\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6278 - accuracy: 0.7402 - val_loss: 0.6585 - val_accuracy: 0.7053 - lr: 2.5419e-05\n", "Epoch 15/30\n", - "619/619 [==============================] - 8s 12ms/step - loss: 0.6199 - accuracy: 0.7449 - val_loss: 0.6668 - val_accuracy: 0.7076 - lr: 2.2877e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6252 - accuracy: 0.7415 - val_loss: 0.6567 - val_accuracy: 0.7140 - lr: 2.2877e-05\n", "Epoch 16/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6189 - accuracy: 0.7437 - val_loss: 0.6648 - val_accuracy: 0.7090 - lr: 2.0589e-05\n", + "619/619 [==============================] - 4s 7ms/step - loss: 0.6249 - accuracy: 0.7433 - val_loss: 0.6587 - val_accuracy: 0.7135 - lr: 2.0589e-05\n", "Epoch 17/30\n", - "619/619 [==============================] - 5s 9ms/step - loss: 0.6157 - accuracy: 0.7431 - val_loss: 0.6648 - val_accuracy: 0.7085 - lr: 1.8530e-05\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6241 - accuracy: 0.7417 - val_loss: 0.6587 - val_accuracy: 0.7012 - lr: 1.8530e-05\n", "Epoch 18/30\n", - "619/619 [==============================] - 7s 12ms/step - loss: 0.6139 - accuracy: 0.7470 - val_loss: 0.6654 - val_accuracy: 0.7103 - lr: 1.6677e-05\n", + "619/619 [==============================] - 3s 6ms/step - loss: 0.6242 - accuracy: 0.7437 - val_loss: 0.6578 - val_accuracy: 0.7171 - lr: 1.6677e-05\n", "Epoch 19/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6160 - accuracy: 0.7479 - val_loss: 0.6657 - val_accuracy: 0.7062 - lr: 1.5009e-05\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6222 - accuracy: 0.7452 - val_loss: 0.6565 - val_accuracy: 0.7131 - lr: 1.5009e-05\n", "Epoch 20/30\n", - "619/619 [==============================] - 6s 9ms/step - loss: 0.6137 - accuracy: 0.7460 - val_loss: 0.6655 - val_accuracy: 0.7085 - lr: 1.3509e-05\n", + "619/619 [==============================] - 4s 7ms/step - loss: 0.6228 - accuracy: 0.7437 - val_loss: 0.6589 - val_accuracy: 0.7071 - lr: 1.3509e-05\n", "Epoch 21/30\n", - "619/619 [==============================] - 7s 11ms/step - loss: 0.6105 - accuracy: 0.7468 - val_loss: 0.6656 - val_accuracy: 0.7076 - lr: 1.2158e-05\n", + "619/619 [==============================] - 3s 5ms/step - loss: 0.6209 - accuracy: 0.7457 - val_loss: 0.6582 - val_accuracy: 0.7099 - lr: 1.2158e-05\n", "Epoch 22/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6114 - accuracy: 0.7473 - val_loss: 0.6666 - val_accuracy: 0.7044 - lr: 1.0942e-05\n", + "619/619 [==============================] - 3s 6ms/step - loss: 0.6218 - accuracy: 0.7440 - val_loss: 0.6633 - val_accuracy: 0.7080 - lr: 1.0942e-05\n", "Epoch 23/30\n", - "619/619 [==============================] - 6s 10ms/step - loss: 0.6128 - accuracy: 0.7491 - val_loss: 0.6656 - val_accuracy: 0.7099 - lr: 9.8477e-06\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6192 - accuracy: 0.7448 - val_loss: 0.6601 - val_accuracy: 0.7103 - lr: 9.8477e-06\n", "Epoch 24/30\n", - "619/619 [==============================] - 7s 11ms/step - loss: 0.6103 - accuracy: 0.7487 - val_loss: 0.6647 - val_accuracy: 0.7067 - lr: 8.8629e-06\n", + "619/619 [==============================] - 5s 7ms/step - loss: 0.6198 - accuracy: 0.7457 - val_loss: 0.6615 - val_accuracy: 0.7049 - lr: 8.8629e-06\n", "Epoch 25/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6088 - accuracy: 0.7486 - val_loss: 0.6660 - val_accuracy: 0.7058 - lr: 7.9766e-06\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6175 - accuracy: 0.7440 - val_loss: 0.6587 - val_accuracy: 0.7053 - lr: 7.9766e-06\n", "Epoch 26/30\n", - "619/619 [==============================] - 6s 10ms/step - loss: 0.6108 - accuracy: 0.7501 - val_loss: 0.6653 - val_accuracy: 0.7076 - lr: 7.1790e-06\n", + "619/619 [==============================] - 3s 6ms/step - loss: 0.6168 - accuracy: 0.7477 - val_loss: 0.6579 - val_accuracy: 0.7090 - lr: 7.1790e-06\n", "Epoch 27/30\n", - "619/619 [==============================] - 6s 10ms/step - loss: 0.6110 - accuracy: 0.7503 - val_loss: 0.6663 - val_accuracy: 0.7035 - lr: 6.4611e-06\n", + "619/619 [==============================] - 4s 7ms/step - loss: 0.6201 - accuracy: 0.7470 - val_loss: 0.6572 - val_accuracy: 0.7076 - lr: 6.4611e-06\n", "Epoch 28/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6081 - accuracy: 0.7486 - val_loss: 0.6661 - val_accuracy: 0.7040 - lr: 5.8150e-06\n", + "619/619 [==============================] - 5s 8ms/step - loss: 0.6150 - accuracy: 0.7473 - val_loss: 0.6593 - val_accuracy: 0.7108 - lr: 5.8150e-06\n", "Epoch 29/30\n", - "619/619 [==============================] - 6s 10ms/step - loss: 0.6073 - accuracy: 0.7513 - val_loss: 0.6653 - val_accuracy: 0.7058 - lr: 5.2335e-06\n", + "619/619 [==============================] - 4s 6ms/step - loss: 0.6148 - accuracy: 0.7481 - val_loss: 0.6620 - val_accuracy: 0.7108 - lr: 5.2335e-06\n", "Epoch 30/30\n", - "619/619 [==============================] - 7s 11ms/step - loss: 0.6078 - accuracy: 0.7503 - val_loss: 0.6651 - val_accuracy: 0.7080 - lr: 4.7101e-06\n" + "619/619 [==============================] - 3s 5ms/step - loss: 0.6153 - accuracy: 0.7489 - val_loss: 0.6585 - val_accuracy: 0.7094 - lr: 4.7101e-06\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 30, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -732,28 +769,28 @@ "id": "WLFMDGLqfugC" }, "source": [ - "Step 12: Evaluate the Model\n", + "## Step 12: Evaluate the Model\n", "Finally, let's evaluate the model's performance on the validation set and calculate the accuracy:" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Kx4_t2UjgALF", - "outputId": "73dc5d3d-7470-4146-a333-e9c7be22b555" + "outputId": "a7c13b16-b6e1-4ba6-f0f6-6d1c1ec823bf" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "172/172 [==============================] - 1s 5ms/step - loss: 0.6625 - accuracy: 0.7162\n", - "Accuracy: 71.62%\n", - "172/172 [==============================] - 1s 3ms/step\n" + "172/172 [==============================] - 0s 3ms/step - loss: 0.6455 - accuracy: 0.7214\n", + "Accuracy: 72.14%\n", + "172/172 [==============================] - 1s 2ms/step\n" ] } ], @@ -789,19 +826,19 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 564 }, "id": "kPY816C7gEOw", - "outputId": "fefb806d-8645-4784-f022-d0bbe3a58704" + "outputId": "8674d591-023a-4e60-892f-c7c9de13e954" }, "outputs": [ { "data": { - "image/png": "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999jxowZ8u2I1q5di7Zt22LatGlYsGBBucYjIqoorEgSqblPPvkEly5dwmeffYYdO3YgICAAkydPxt27d7F48WKEh4fL+/7444+YNWsWzpw5g7FjxyI6OhpTpkzBr7/+WqExWVlZYdu2bTA0NMTXX3+N9evXIyQkBN27dy8Wu5OTE9asWYOAgACsWLECrVu3RnR0NMzMzEod39vbG3v37oWVlRWmT5+ORYsWoVmzZjhx4kS5kzBl+OabbzB+/Hjs27cPY8aMwfnz57Fnzx44Ojoq9NPV1cX69euhra2NESNGoF+/fjhy5Ei5zvX8+XMMHToUDRs2xLfffitvb9WqFcaMGYPFixfj77//rpDrIiIqL4lQntXoRERERET/jxVJIiIiIhKFiSQRERERicJEkoiIiIhEYSJJRERERKIwkSQiIiIiUZhIEhEREZEoTCSJiIiISJRK+c02Bg0DVR0CUTGxf/HbR0i9PMvMV3UIRAq83M1Vdm5l5g45F5YrbWxVY0WSiIiIiESplBVJIiIionKRsLYmBhNJIiIiIolE1RG8l5h+ExEREZEorEgSERERcWpbFL5rRERERCQKK5JEREREXCMpCiuSRERERCQKK5JEREREXCMpCt81IiIiIhKFFUkiIiIirpEUhYkkEREREae2ReG7RkRERESisCJJRERExKltUViRJCIiIiJRWJEkIiIi4hpJUfiuEREREZEorEgSERERcY2kKKxIEhEREZEorEgSERERcY2kKEwkiYiIiDi1LQrTbyIiIiIShRVJIiIiIk5ti8J3jYiIiIhEYUWSiIiIiBVJUfiuEREREZEorEgSERERafGubTFYkSQiIiIiUViRJCIiIuIaSVH4rhERERFJJMp7lNPRo0fRvXt3ODg4QCKRYPv27aX2HTFiBCQSCcLCwhTanz17Bl9fX5iamsLc3BzDhg1DZmamQp9Lly6hVatW0NfXh6OjIxYsWFDuWJlIEhEREamRrKws1K9fHytWrHhtv23btuHvv/+Gg4NDsWO+vr64evUqoqKisHv3bhw9ehT+/v7y4xkZGejYsSOcnZ1x7tw5LFy4EDNnzsSqVavKFSuntomIiIiUOLWdl5eHvLw8hTapVAqpVFpi/86dO6Nz586vHfPhw4cYNWoU9u3bh65duyocu379Ovbu3YszZ86gSZMmAIBly5ahS5cu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cEDPnj0BALVr10anTp0wfPhwnD59GidOnEBgYCD69u0LBwcHAED//v2hp6eHYcOG4erVq9i8eTOWLl1abAr+TTi1TURERKRGzp49i3bt2smfv0zu/Pz8sG7dOnz99dfIysqCv78/0tLS0LJlS+zduxf6+vry10RGRiIwMBAdOnSAlpYWevfujfDwcPlxMzMz7N+/HwEBAWjcuDGqVKmC6dOnl2vrHwCQCIIgvOX1qp3riVmqDoGomGZBW1UdApGC+2t9VR0CkQJTfdVNlLYNO6m0sQ+Pba60sVWNFUkiIiLSeOq0Ifn7hGskiYiIiEgUViSJiIhI4ylz+5/KjBVJIiIiIhKFFUkiIiLSeCxIisOKJBERERGJwookERERaTwtliRFYUWSiIiIiERhRZKIiIg0HguS4jCRJCIiIo3H7X/E4dQ2EREREYnCiiQRERFpPC0WJEVhRZKIiIiIRGFFkoiIiDQe10iKw4okEREREYnCiiQRERFpPBYkxWFFkoiIiIhEYUWSiIiINJ4ELEmKwUSSiIiINB63/xGHU9tEREREJAorkkRERKTxuP2POKxIEhEREZEorEgSERGRxmNBUhxWJImIiIhIFFYkiYiISONpsSQpCiuSRERERCQKK5JERESk8ViQFIeJJBEREWk8bv8jTpkSyUuXLpV5wHr16okOhoiIiIjeH2VKJBs0aACJRAJBEEo8/vKYRCJBUVFRhQZIREREpGwsSIpTpkQyPj5e2XEQERER0XumTImks7OzsuMgIiIiUhlu/yOOqO1/Nm7ciBYtWsDBwQH37t0DAISFhWHHjh0VGhwRERERqa9yJ5IrV65EUFAQunTpgrS0NPmaSHNzc4SFhVV0fERERERKJ1HiozIrdyK5bNkyrF69Gt9++y20tbXl7U2aNMHly5crNDgiIiIiUl/l3kcyPj4eDRs2LNYulUqRlZVVIUERERERvUvcR1KcclckXVxcEBsbW6x97969qF27dkXERERERPROaUmU96jMyl2RDAoKQkBAAHJzcyEIAk6fPo1ffvkFISEh+PHHH5URIxERERGpoXInkl988QUMDAwwdepUZGdno3///nBwcMDSpUvRt29fZcRIREREpFSc2hZH1PY/vr6+uHXrFjIzM5GUlIQHDx5g2LBhbxXIsWPHMGDAAHh5eeHhw4cAXmwzdPz48bcal4iI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", + "image/png": "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iYiIiNQoKysLz58/V3hkZWUp7ZudnY0LFy7A19dX3iYWi+Hr64uoqCilx+zduxfe3t4YMmQIypcvj9q1a2PWrFnIy8tTKU4mhURERFTmqXNNYVhYGExNTRUeYWFhSuNISkpCXl4eypcvr9Bevnx5xMfHKz3m/v372L59O/Ly8hAREYGJEydi3rx5mDFjhkrvAaePiYiIiNQoNDQUISEhCm1SqbTYxpfJZLCxscGvv/4KHR0deHp64vHjx5g7dy4mT55c6HGYFBIREVGZp841hVKptNBJoJWVFXR0dPD06VOF9qdPn8LW1lbpMRUqVICenh50dHTkbTVr1kR8fDyys7MhkUgKdW5OHxMRERGJ1PhQgUQigaenJyIjI+VtMpkMkZGR8Pb2VnpM48aNcffuXchkMnnb7du3UaFChUInhACTQiIiIiKtEhISghUrVmDdunW4efMmBg8ejIyMDPndyP7+/ggNDZX3Hzx4MJ49e4YRI0bg9u3bOHDgAGbNmoUhQ4aodF5OHxMREVGZp01b0nTr1g2JiYmYNGkS4uPj4eHhgUOHDslvPomNjYVY/F9dz87ODocPH8aoUaNQp04dVKpUCSNGjMC4ceNUOq9IEAShWK9ECxh8+bOmQyDK5+bavpoOgUhBVo7sw52IPiEXW0ONnbtqiGrf/qGK+/Pbqm3s4sRKIREREZV52lQp1BSuKSQiIiIiVgqJiIiIWChkpZCIiIiIwEohEREREdcUgkkhEREREaePweljIiIiIgIrhUREREScPgYrhUREREQEVgqJiIiIuKYQrBQSEREREVgpJCIiIoJYzFIhK4VERERExEohEREREdcUMikkIiIi4pY04PQxEREREYGVQiIiIiJOH4OVQiIiIiICK4VEREREXFMIVgqJiIiICKwUEhEREbFSCFYKiYiIiAisFBIRERHx7mMwKSQiIiLi9DE4fUxEREREYKWQiIiIiNPHYKWQiIiIiMBKIRERERHXFIKVQiIiIiICK4VEREREXFMIVgqJiIiICKwUEhEREXFNIVgpJCIiIiKwUkhERETENYVgUkhERETE6WNw+piIiIiIwEohEREREaePUUqTwou/BGg6BKJ8avqO0XQIRApSzi3RdAhEpEVKZVJIREREpAquKeSaQiIiIiICK4VEREREXFMIVgqJiIiICKwUEhEREXFNIZgUEhER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", "text/plain": [ "
" ] @@ -811,13 +848,15 @@ } ], "source": [ - "# Generate confusion matrix\n", "cm = confusion_matrix(y_test, y_pred)\n", "\n", - "# Plot the confusion matrix\n", + "# Normalize the confusion matrix\n", + "cm_normalized = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", + "\n", + "# Plot the normalized confusion matrix\n", "plt.figure(figsize=(8, 6))\n", - "sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=['Neutral', 'Positive', 'Negative'], yticklabels=['Neutral', 'Positive', 'Negative'])\n", - "plt.title('Confusion Matrix')\n", + "sns.heatmap(cm_normalized, annot=True, cmap='Blues', xticklabels=['Neutral', 'Positive', 'Negative'], yticklabels=['Neutral', 'Positive', 'Negative'])\n", + "plt.title('Normalized Confusion Matrix')\n", "plt.xlabel('Predicted Label')\n", "plt.ylabel('True Label')\n", "plt.show()" @@ -834,13 +873,13 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 16, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "H2kJx0vKzp81", - "outputId": "63ce455e-8fcc-43a5-8e41-16a52d827086" + "outputId": "c928c764-6025-43db-de9b-c7fe8c007c03" }, "outputs": [ { @@ -848,8 +887,8 @@ "output_type": "stream", "text": [ "Enter the language: english\n", - "Enter a text: what are you doing\n", - "1/1 [==============================] - 0s 89ms/step\n", + "Enter a text: hello\n", + "1/1 [==============================] - 0s 35ms/step\n", "Predicted Sentiment: neutral\n" ] } @@ -891,13 +930,13 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 17, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "vjFvWEC0UOj0", - "outputId": "5fa58ddf-1553-4d2b-8c60-9c66fa44ac26" + "outputId": "69fafc61-c655-4649-fcae-bdc275c96fab" }, "outputs": [ { @@ -905,37 +944,64 @@ "output_type": "stream", "text": [ "English: So sad, I'll miss you here in San Diego!!!\n", - "1/1 [==============================] - 0s 124ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n", - "Hindi: बहुत दुखद, मैं तुम्हें यहां सैन डिएगो में याद करूंगा!!!\n", - "1/1 [==============================] - 0s 24ms/step\n", + "Hindi: बहुत दुखद, मैं तुम्हें यहां सैन डिएगो में याद करूंगा!!!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 608M/608M [00:26<00:00, 23.0MB/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 18ms/step\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", + " x = torch._nested_tensor_from_mask(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Predicted Sentiment: negative\n", "Portuguese: Tão TRISTE, sentirei sua falta aqui em San Diego!!!\n", - "1/1 [==============================] - 0s 21ms/step\n", + "1/1 [==============================] - 0s 20ms/step\n", "Predicted Sentiment: negative\n", "Romanian: Atat de trist, o sa-mi fie dor de tine aici in San Diego!!!\n", - "1/1 [==============================] - 0s 21ms/step\n", + "1/1 [==============================] - 0s 22ms/step\n", "Predicted Sentiment: negative\n", "Slovenian: Tako žalostno, pogrešal te bom tukaj v San Diegu!!!\n", - "1/1 [==============================] - 0s 23ms/step\n", + "1/1 [==============================] - 0s 18ms/step\n", "Predicted Sentiment: negative\n", "Chinese: 很傷心,我會在聖地牙哥想念你!\n", - "1/1 [==============================] - 0s 22ms/step\n", + "1/1 [==============================] - 0s 18ms/step\n", "Predicted Sentiment: negative\n", "French: Tellement triste tu vas me manquer ici à San Diego !!!\n", - "1/1 [==============================] - 0s 21ms/step\n", + "1/1 [==============================] - 0s 26ms/step\n", "Predicted Sentiment: negative\n", "Dutch: Zo verdrietig, ik zal je missen hier in San Diego!!!\n", - "1/1 [==============================] - 0s 24ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n", "Russian: Ооочень грустно, я буду скучать по тебе здесь, в Сан-Диего!!!\n", - "1/1 [==============================] - 0s 28ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n", "Italian: Così triste, mi mancherai qui a San Diego!!!\n", - "1/1 [==============================] - 0s 38ms/step\n", + "1/1 [==============================] - 0s 18ms/step\n", "Predicted Sentiment: negative\n", "Bosnian: Tužno, nedostajaćeš mi ovde u San Dijegu!!!\n", - "1/1 [==============================] - 0s 34ms/step\n", + "1/1 [==============================] - 0s 18ms/step\n", "Predicted Sentiment: negative\n" ] } From 069471f55c8a600c10d7525470cb06d7c99c9e0a Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Tue, 5 Dec 2023 23:39:06 +0530 Subject: [PATCH 08/22] Changed the dataset which helped the accuracy to 83% --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 535 ++++++++---------- 1 file changed, 245 insertions(+), 290 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index 7a731da2..d490706e 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -31,7 +31,7 @@ "base_uri": "https://localhost:8080/" }, "id": "KZ_Eqn90J6CK", - "outputId": "64259e1b-7e33-4206-e5dc-b21d66bee897" + "outputId": "c2158628-9f55-498f-b1db-056e3dae4060" }, "outputs": [ { @@ -42,18 +42,18 @@ " Downloading laser_encoders-0.0.1-py3-none-any.whl (24 kB)\n", "Collecting sacremoses==0.1.0 (from laser_encoders)\n", " Downloading sacremoses-0.1.0-py3-none-any.whl (895 kB)\n", - "\u001b[?25l \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/895.1 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m \u001b[32m890.9/895.1 kB\u001b[0m \u001b[31m27.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m20.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m8.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting unicategories>=0.1.2 (from laser_encoders)\n", " Downloading unicategories-0.1.2.tar.gz (12 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Collecting sentencepiece>=0.1.99 (from laser_encoders)\n", " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m53.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m14.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", "Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (2.1.0+cu118)\n", "Collecting fairseq>=0.12.2 (from laser_encoders)\n", " Downloading fairseq-0.12.2.tar.gz (9.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m103.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m33.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Installing backend dependencies ... \u001b[?25l\u001b[?25hdone\n", @@ -71,10 +71,10 @@ " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", "Collecting sacrebleu>=1.4.12 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading sacrebleu-2.3.3-py3-none-any.whl (106 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m12.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m13.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting bitarray (from fairseq>=0.12.2->laser_encoders)\n", " Downloading bitarray-2.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (279 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m7.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m31.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.13.1)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (4.5.0)\n", @@ -86,7 +86,7 @@ "Requirement already satisfied: appdirs in /usr/local/lib/python3.10/dist-packages (from unicategories>=0.1.2->laser_encoders) (1.4.4)\n", "Collecting antlr4-python3-runtime==4.8 (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders)\n", " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m15.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m15.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.10/dist-packages (from omegaconf<2.1->fairseq>=0.12.2->laser_encoders) (6.0.1)\n", "Collecting portalocker (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", @@ -100,13 +100,13 @@ "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n", "Building wheels for collected packages: fairseq, unicategories, antlr4-python3-runtime\n", " Building wheel for fairseq (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291822 sha256=f284b2bd281d73f4627eebec8246219b367d69be6daf1c998492c80ec41dca9a\n", + " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291815 sha256=092e1e5ec23b37820b79bf3973427321f45c0d67cde6929b8b2ff4637e6c4c8f\n", " Stored in directory: /root/.cache/pip/wheels/e4/35/55/9c66f65ec7c83fd6fbc2b9502a0ac81b2448a1196159dacc32\n", " Building wheel for unicategories (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=8de9147e4300a25bb26db710ad2783657bbc603d8718ecaee4ecdaeb5106317c\n", + " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=d27712712d41563c38e4d68999fbd6b956ab7accd02be31223d27ec97d926737\n", " Stored in directory: /root/.cache/pip/wheels/0b/6d/14/7135674b9daa3996f7f0d9bc1ccff5b7d50d6f1c4a16dc7d90\n", " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=11ec4e6f5b3e50737f4ccefbf416ecb9b3c303e9a672b638248ba2ce0962b683\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=8ba51067fdcaa054beb6706bb371b120fe3774519680d2452a6a6509236a31c0\n", " Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5\n", "Successfully built fairseq unicategories antlr4-python3-runtime\n", "Installing collected packages: sentencepiece, bitarray, antlr4-python3-runtime, unicategories, sacremoses, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq, laser_encoders\n", @@ -146,64 +146,59 @@ "base_uri": "https://localhost:8080/" }, "id": "bxnIqaniSXbG", - "outputId": "fe7c329d-5741-42be-859d-164887ae8042" + "outputId": "3fdfbff9-303d-4556-e9b2-084dc43437d5" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n" + "Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n", + "Collecting datasets\n", + " Downloading datasets-2.15.0-py3-none-any.whl (521 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.10/dist-packages (from datasets) (1.23.5)\n", + "Requirement already satisfied: pyarrow>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (9.0.0)\n", + "Collecting pyarrow-hotfix (from datasets)\n", + " Downloading pyarrow_hotfix-0.6-py3-none-any.whl (7.9 kB)\n", + "Collecting dill<0.3.8,>=0.3.0 (from datasets)\n", + " Downloading dill-0.3.7-py3-none-any.whl (115 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from datasets) (1.5.3)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2.31.0)\n", + "Requirement already satisfied: tqdm>=4.62.1 in /usr/local/lib/python3.10/dist-packages (from datasets) (4.66.1)\n", + "Requirement already satisfied: xxhash in /usr/local/lib/python3.10/dist-packages (from datasets) (3.4.1)\n", + "Collecting multiprocess (from datasets)\n", + " Downloading multiprocess-0.70.15-py310-none-any.whl (134 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m9.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: fsspec[http]<=2023.10.0,>=2023.1.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2023.6.0)\n", + "Requirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from datasets) (3.9.1)\n", + "Requirement already satisfied: huggingface-hub>=0.18.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (0.19.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from datasets) (23.2)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from datasets) (6.0.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (23.1.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (6.0.4)\n", + "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.9.3)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.4.0)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.3.1)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (4.0.3)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.18.0->datasets) (3.13.1)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.18.0->datasets) (4.5.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->datasets) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->datasets) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->datasets) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->datasets) (2023.11.17)\n", + "Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets) (2023.3.post1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.1->pandas->datasets) (1.16.0)\n", + "Installing collected packages: pyarrow-hotfix, dill, multiprocess, datasets\n", + "Successfully installed datasets-2.15.0 dill-0.3.7 multiprocess-0.70.15 pyarrow-hotfix-0.6\n" ] } ], "source": [ - "!pip install chardet" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "bTU26v9ScUKl" - }, - "source": [ - "With chardet installed, we can confidently handle various dataset encodings." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "XlTEzmQTEmew" - }, - "source": [ - "## Step 3: Connect to your drive\n", - "\n", - "To access files from your Google Drive, mount it using the following code.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "Jh2MZfGKExwu", - "outputId": "7889c82e-4fe0-460e-98b1-7e97866238b5" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n" - ] - } - ], - "source": [ - "from google.colab import drive\n", - "drive.mount('/content/drive')" + "!pip install chardet\n", + "!pip install datasets" ] }, { @@ -212,14 +207,14 @@ "id": "rgBj7FdeVIZn" }, "source": [ - "## Step 4: Import Necessary Libraries\n", + "## Step 3: Import Necessary Libraries\n", "\n", "Now, let's import the libraries required for data manipulation, encoding, and model building." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 62, "metadata": { "id": "LN0F4-9AR8_k" }, @@ -236,7 +231,8 @@ "from sklearn.preprocessing import LabelEncoder\n", "from tensorflow.keras.models import Sequential\n", "from tensorflow.keras.layers import Dense\n", - "from tqdm import tqdm" + "from tqdm import tqdm\n", + "from datasets import load_dataset" ] }, { @@ -254,50 +250,28 @@ "id": "RPQyhOAyVM-X" }, "source": [ - "## Step 5: Load the Dataset\n", - "\n", - "These lines enable you to connect to your Google Drive, access the dataset, and ensure proper encoding for reading the CSV file. To download the dataset, follow these steps:\n", - "\n", - "- Go to this Kaggle link: [Sentiment analysis dataset](https://www.kaggle.com/datasets/abhi8923shriv/sentiment-analysis-dataset)\n", - "- Download the dataset and unzip it.\n", - "\n", + "## Step 4: Load the Dataset\n", "\n", "\n", - "```\n", - "!unzip -q /path/to/downloaded/dataset.zip -d /dataset/folder\n", - "```\n", - "\n", - "\n", - "\n", - "- Use the train.csv file for your sentiment analysis project.\n", - "\n", - "We'll load the sentiment analysis dataset, detect its encoding, and select only the relevant columns ('sentiment' and 'text')." + "The provided code loads a Twitter sentiment analysis dataset named \"carblacac/twitter-sentiment-analysis\" using the Hugging Face datasets library.\n", + "You can explore the dataset at [Twitter sentiment analysis](https://huggingface.co/datasets/carblacac/twitter-sentiment-analysis)." ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 63, "metadata": { "id": "K0CKtslqNlQg" }, "outputs": [], "source": [ - "with open('/content/drive/MyDrive/dataset/train.csv', 'rb') as f:\n", - " result = chardet.detect(f.read())\n", + "dataset_name = \"carblacac/twitter-sentiment-analysis\"\n", "\n", - "# Use the detected encoding when reading the CSV file\n", - "data = pd.read_csv('/content/drive/MyDrive/dataset/train.csv', encoding=result['encoding'])\n", - "data = data[['sentiment', 'text']]" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "VHD1fufAdN8u" - }, - "source": [ - "This ensures that we work with the correct dataset encoding.\n", - "\n" + "# Load the dataset using the dataset name\n", + "custom_dataset = load_dataset(dataset_name)\n", + "\n", + "# Convert the dataset to a Pandas DataFrame\n", + "custom_dataframe = pd.DataFrame(custom_dataset['train'])" ] }, { @@ -306,33 +280,33 @@ "id": "-nTtk4wSdPYV" }, "source": [ - "## Step 6: Data Processing\n", + "## Step 5: Data Processing\n", "\n", "Before diving into model training, let's shuffle the dataset for better generalization:" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hPqyJk2wNsye", - "outputId": "c0978181-4abe-40e2-b60f-d69c2522d0b2" + "outputId": "68a2d22f-7c15-4b06-e964-63451096a985" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - " sentiment text\n", - "7480 neutral all alone. still watching TWW, eating Italian...\n", - "4446 neutral It will give me lulz from time to time.\n", - "17341 negative leaving florida want to live there forever! Te...\n", - "24201 neutral working today. Can`t find my key so I had to ...\n", - "21908 neutral WORD!!!!!\n", - "(27481, 2)\n" + " text label\n", + "18093 Probably the best picture Producers Releasing ... 1\n", + "4287 since this is part 2, then compering it to par... 0\n", + "24727 Very good drama about a young girl who attempt... 1\n", + "13944 For fans of 1970s Hammer type horror films, th... 1\n", + "7415 I had heard some bad things about Cabin Fever ... 0\n", + "(25000, 2)\n" ] } ], @@ -358,26 +332,26 @@ "id": "XcDOh4mS1JZ0" }, "source": [ - "## Step 7:Visualizing Sentiment Distribution in the Dataset\n", + "## Step 6:Visualizing Sentiment Distribution in the Dataset\n", "\n", "This step involves creating a bar plot to visualize the distribution of sentiments in the dataset." ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 26, "metadata": { "colab": { "base_uri": "https://localhost:8080/", - "height": 611 + "height": 613 }, "id": "TLp-3OE91Dp4", - "outputId": "a0caeb71-c288-44d5-c700-6695dea47462" + "outputId": "0ffd52d1-785e-44d4-9956-d4780e14cd8a" }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAJSCAYAAACsvAbMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJ/UlEQVR4nO3deVxVdeL/8fcFZVHkosYiioKmJlkp4oKlZpGYNmVpjRO55fKtccltUmZyLbPI3LI0axKznMq+6ZRbGaaW4j6Ke+poWApYClc0AeH+/vDL/XkDS2T5sLyejwePh/ecD+e8z3W6c9+ecz7HYrfb7QIAAAAAlDoX0wEAAAAAoLKikAEAAACAIRQyAAAAADCEQgYAAAAAhlDIAAAAAMAQChkAAAAAGEIhAwAAAABDKGQAAAAAYAiFDAAAAAAMoZABAIzo37+/goODTccwLi4uThaLRSdPnizxff32PT958qQsFotmzJhR4vuWpMmTJ8tisZTKvgCgvKCQAUAlsG/fPvXq1UsNGjSQh4eH6tatqwceeEBvvPFGie739OnTmjx5svbs2VOi+ykply5d0uTJk7Vhw4YbGr9hwwZZLBbHj7u7u/z9/XXvvffq5Zdf1tmzZ43kKk1lORsAlEUWu91uNx0CAFBytmzZos6dO6t+/frq16+fAgICdOrUKW3dulXHjx/XsWPHSmzfO3fuVOvWrbVo0SL179/faV12drZyc3Pl7u5eYvsvqp9//lm+vr6aNGmSJk+e/IfjN2zYoM6dO2vEiBFq3bq1cnJydPbsWW3ZskVffPGFrFarPvnkE913332O38nJyVF2drbc3d1v+OxRYXPl+e17fvLkSYWEhOi1117T2LFjb3g7N5vtypUrunLlijw8PIplXwBQEVQxHQAAULKmTZsmq9WqHTt2yMfHx2ldamqqmVCSqlatamzfJa1Dhw7q1auX07K9e/eqS5cu6tmzpw4ePKg6depIklxdXeXq6lqieS5evKjq1asbf8+rVKmiKlX46gEA1+KSRQCo4I4fP67bb789XxmTJD8/v3zLPvjgA7Vq1Uqenp6qVauWevfurVOnTjmNuffee9W8eXMdPHhQnTt3VrVq1VS3bl3FxsY6xmzYsEGtW7eWJA0YMMBxGV9cXJyk37+f6c0331TDhg1VrVo1denSRadOnZLdbteLL76oevXqydPTU4888ojOnTuXL/+aNWvUoUMHVa9eXTVq1FD37t114MABpzH9+/eXl5eXfvrpJ/Xo0UNeXl7y9fXV2LFjlZOT48jj6+srSZoyZYojf2HOSF3rrrvu0uzZs5WWlqZ58+Y5lhd0D9nOnTsVFRWlW265RZ6engoJCdHTTz99Q7nyju348ePq1q2batSooejo6ALf82vNmjVLDRo0kKenpzp16qT9+/c7rb/33nt177335vu9a7f5R9kKuofsypUrevHFF9WoUSO5u7srODhYf//735WZmek0Ljg4WA899JC+++47tWnTRh4eHmrYsKHef//9gt9wACgnKGQAUME1aNBAu3btyvcFuyDTpk1T37591bhxY82cOVMjR45UfHy8OnbsqLS0NKex58+fV9euXXXXXXfp9ddf12233aZx48ZpzZo1kqRmzZpp6tSpkqQhQ4ZoyZIlWrJkiTp27Pi7GT788EO99dZbGj58uMaMGaONGzfqiSee0AsvvKC1a9dq3LhxGjJkiL744ot8l9ktWbJE3bt3l5eXl1599VVNmDBBBw8e1D333JNv0oycnBxFRUWpdu3amjFjhjp16qTXX39dCxculCT5+vpq/vz5kqRHH33Ukf+xxx77w/fxenr16iVPT0999dVX1x2TmpqqLl266OTJkxo/frzeeOMNRUdHa+vWrTec68qVK4qKipKfn59mzJihnj17/m6u999/X3PnztXQoUMVExOj/fv367777lNKSkqhju9m3rNBgwZp4sSJCgsL06xZs9SpUydNnz5dvXv3zjf22LFj6tWrlx544AG9/vrrqlmzpvr375+vcANAuWIHAFRoX331ld3V1dXu6upqj4iIsD///PP2L7/80p6VleU07uTJk3ZXV1f7tGnTnJbv27fPXqVKFaflnTp1skuyv//++45lmZmZ9oCAAHvPnj0dy3bs2GGXZF+0aFG+XP369bM3aNDA8frEiRN2SXZfX197WlqaY3lMTIxdkv2uu+6yZ2dnO5b/5S9/sbu5udkvX75st9vt9gsXLth9fHzsgwcPdtpPcnKy3Wq1Oi3v16+fXZJ96tSpTmNbtmxpb9WqleP12bNn7ZLskyZNype/IN98841dkn3ZsmXXHXPXXXfZa9as6Xi9aNEiuyT7iRMn7Ha73b58+XK7JPuOHTuuu43fy5V3bOPHjy9wXUHvuaen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zp07G0iHsoxCBhSRu7t7gZckff/99/L19TWQCEBpq1+/vlauXJlv+axZswykAWBC165dNX/+fN1xxx1q06aNpKv/aJuYmKj+/fvr4MGDioyM1GeffaZHHnnEcFqUJUzqARTRoEGD9Msvv+iTTz5RrVq1lJiYKFdXV/Xo0UMdO3bU7NmzTUcEUApycnK0YsUKHTp0SJJ0++236+GHH5arq6vhZABKw+DBg1W/fn1NmDDBaflLL72kH374Qe+8844mTZqkVatWaefOnYZSoiyikAFFlJ6erl69ejlmVwoMDFRycrLatWunNWvWqHr16qYjAihhx44dU7du3fTTTz+padOmkqQjR44oKChIq1atUqNGjQwnBFDSrFardu3apVtvvdVp+bFjx9SqVSulp6fr8OHDat26tS5cuGAoJcoiLlkEishqtWrdunXavHmz9u7dq4yMDIWFhSkyMtJ0NAClZMSIEWrUqJG2bt2qWrVqSZJ++eUXPfXUUxoxYoRWrVplOCGAkubh4aEtW7bkK2RbtmxxTPqVm5vrNAEYIFHIgGIRHx+v+Ph4paamKjc3V4cPH9bSpUslSe+9957hdABK2saNG53KmCTVrl1br7zyiu6++26DyQCUluHDh+uZZ57Rrl271Lp1a0lX7yF799139fe//12S9OWXX6pFixYGU6IsopABRTRlyhRNnTpV4eHhqlOnToEzLAGo2Nzd3Qu8BCkjI0Nubm4GEgEobS+88IJCQkI0b948LVmyRJLUtGlTvfPOO3ryySclSc8884yeffZZkzFRBnEPGVBEderUUWxsrPr06WM6CgBD+vbtq927d+uf//ynY3a1bdu2afDgwWrVqpXi4uLMBgQAlFk8GBoooqysLLVv3950DAAGzZ07V40aNVJERIQ8PDzk4eGh9u3b69Zbb9WcOXNMxwNQStLS0hyXKJ47d06StHv3bv3000+Gk6Es4wwZUETjxo2Tl5dXvmluAVQ+x44d08GDByVJoaGh+W7uB1BxJSYmKjIyUlarVSdPntSRI0fUsGFDvfDCC0pKStL7779vOiLKKO4hA4ro8uXLWrhwob7++mvdeeedqlq1qtP6mTNnGkoGoDT985//1KxZs3T06FFJUuPGjTVy5EgNGjTIcDIApWH06NHq37+/YmNjVaNGDcfybt26Oe4hAwpCIQOKKDEx0TFj0v79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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAJUCAYAAAB65eXRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIOElEQVR4nO3deVhV5f7+8XsDMijujZqCKCJqmqYnM4cohywSjzZQWseyNHM4mUNqllLHoU6lUZbaoMdTR82yzErLscyxkhww5xwqTVMBE2E7JOP6/eGX9XMHlUw+CO/Xda3raj/rw1qftS0e79Zez3ZYlmUJAAAAAHDJeZluAAAAAADKKwIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQDAiIceekh169Y13YZxs2bNksPh0MGDB0v8XL9/zw8ePCiHw6GXX365xM8tSePHj5fD4bgk5wKAywWBDADKgR07dqh79+4KDw+Xv7+/atWqpVtvvVWvvfZaiZ736NGjGj9+vLZu3Vqi5ykpZ8+e1fjx47VmzZqLql+zZo0cDoe9+fn5KTg4WDfddJNeeOEFHT9+3Ehfl1Jp7g0ASiOHZVmW6SYAACVn/fr16tixo+rUqaPevXsrJCREhw8f1rfffqsff/xRP/zwQ4mde/PmzWrVqpVmzpyphx56yGNfZmamcnJy5OfnV2LnL6pff/1V1atX17hx4zR+/Pi/rF+zZo06duyooUOHqlWrVsrOztbx48e1fv16LVq0SC6XSx9++KFuvvlm+2eys7OVmZkpPz+/i757VNC+cv3+PT948KAiIiL00ksvaeTIkRd9nML2lpWVpaysLPn7+xfLuQCgLPAx3QAAoGQ9//zzcrlc2rRpk4KCgjz2JScnm2lKUoUKFYydu6S1a9dO3bt39xjbtm2bOnXqpG7dumn37t2qWbOmJMnb21ve3t4l2s+ZM2dUqVIl4++5j4+PfHz4qwcAXIiPLAJAGffjjz/q6quvzhPGJKlGjRp5xt59911dd911CggIUNWqVdWjRw8dPnzYo+amm25S06ZNtXv3bnXs2FEVK1ZUrVq1FBcXZ9esWbNGrVq1kiT16dPH/hjfrFmzJP3580xvvPGG6tWrp4oVK6pTp046fPiwLMvSv//9b9WuXVsBAQG68847lZKSkqf/ZcuWqV27dqpUqZIqV66srl27ateuXR41Dz30kAIDA3XkyBHFxMQoMDBQ1atX18iRI5WdnW33U716dUnSM888Y/dfkDtSF7rmmms0efJkpaam6vXXX7fH83uGbPPmzYqOjtYVV1yhgIAARURE6OGHH76ovnKv7ccff1SXLl1UuXJl9ezZM9/3/EKvvvqqwsPDFRAQoA4dOmjnzp0e+2+66SbddNNNeX7uwmP+VW/5PUOWlZWlf//736pfv778/PxUt25dPfXUU0pPT/eoq1u3rm677TZ9/fXXat26tfz9/VWvXj298847+b/hAHCZIJABQBkXHh6uhISEPH/Bzs/zzz+vXr166corr9Qrr7yiYcOGaeXKlWrfvr1SU1M9ak+ePKnOnTvrmmuu0aRJk3TVVVdp1KhRWrZsmSSpcePGevbZZyVJAwYM0Jw5czRnzhy1b9/+T3t477339Oabb2rIkCF6/PHHtXbtWt17773617/+peXLl2vUqFEaMGCAFi1alOdjdnPmzFHXrl0VGBioF198UWPGjNHu3bvVtm3bPItmZGdnKzo6WtWqVdPLL7+sDh06aNKkSZoxY4YkqXr16po2bZok6a677rL7v/vuu//yffwj3bt3V0BAgL744os/rElOTlanTp108OBBjR49Wq+99pp69uypb7/99qL7ysrKUnR0tGrUqKGXX35Z3bp1+9O+3nnnHU2dOlWDBg1SbGysdu7cqZtvvllJSUkFur7CvGf9+vXT2LFj1aJFC7366qvq0KGDJkyYoB49euSp/eGHH9S9e3fdeuutmjRpkqpUqaKHHnooT+AGgMuKBQAo07744gvL29vb8vb2tiIjI60nn3zS+vzzz62MjAyPuoMHD1re3t7W888/7zG+Y8cOy8fHx2O8Q4cOliTrnXfescfS09OtkJAQq1u3bvbYpk2bLEnWzJkz8/TVu3dvKzw83H594MABS5JVvXp1KzU11R6PjY21JFnXXHONlZmZaY/fd999lq+vr3Xu3DnLsizr1KlTVlBQkNW/f3+P8yQmJloul8tjvHfv3pYk69lnn/Wovfbaa63rrrvOfn38+HFLkjVu3Lg8/edn9erVliRr/vz5f1hzzTXXWFWqVLFfz5w505JkHThwwLIsy1qwYIElydq0adMfHuPP+sq9ttGjR+e7L7/3PCAg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ACgaAhmAIlm7dq1uuOEGVahQwXQrAACDmA+AwiGQASg2586dU0ZGhseY0+k01A0AoKS53W7797zb7f7TWuYDIH8EMgBFcvbsWT355JP68MMPdeLEiTz7WVULAMquC1dW9PLyyndRj9zFPpgPgPyxqAeAInniiSe0evVqTZs2TQ8++KDeeOMNHTlyRP/5z380ceJE0+0BAErQqlWr7BUUV69ebbgb4PLEHTIARVKnTh298847uummm+R0OrVlyxY1aNBAc+bM0fvvv6+lS5eabhEAAKDU4nvIABRJSkqK6tWrJ+n88wEpKSmSpLZt22rdunUmWwMAXELLly/X119/bb9+44031Lx5c91///06efKkwc6A0o1ABqBI6tWrpwMHDkiSrrrqKn344YeSpEWLFikoKMhgZwCAS+mJJ56wF/bYsWOHRowYoS5duujAgQMaMWKE4e6A0ouPLAIokldffVXe3t4aOnSovvzyS91+++2yLEuZmZl65ZVX9Nhjj5luEQBwCQQGBmrnzp2qW7euxo8fr507d+qjjz7Sli1b1KVLFyUmJppuESiVWNQDQJEMHz7c/ueoqCjt2bNHCQkJatCggf72t78Z7AwAcCn5+vrq7NmzkqQvv/xSvXr1kiRVrVr1L5fEB8ozAhmAYhUeHq7w8HDTbQAALrG2bdtqxIgRuvHGG7Vx40bNmzdPkrRv3z7Vrl3bcHdA6UUgA1AkU6dOzXfc4XDI399fDRo0UPv27eXt7X2JOwMAXEqvv/66Hn30UX300UeaNm2aatWqJUlatmyZOnfubLg7oPTiGTIARRIREaHjx4/r7NmzqlKliiTp5MmTqlixogIDA5WcnKx69epp9erVCgsLM9wtAABA6cIqiwCK5IUXXlCrVq20f/9+nThxQidOnNC+ffvUpk0bTZkyRYcOHVJISIjHs2YAgLIpOztbH3/8sZ577jk999xzWrBggbKzs023BZRq3CEDUCT169fXxx9/rObNm3uMf/fdd+rWrZt++uknrV+/Xt26ddOxY8fMNAkAKHE//PCDunTpoiNHjqhRo0aSpL179yosLExLlixR/fr1DXcIlE7cIQNQJMeOHVNWVlae8aysLHuJ49DQUJ06depStwYAuISGDh2q+vXr6/Dhw9qyZYu2bNmiQ4cOKSIiQkOHDjXdHlBqEcgAFEnHjh31z3/+U999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", "text/plain": [ "
" ] @@ -388,10 +362,15 @@ ], "source": [ "plt.figure(figsize=(10, 6))\n", - "data['sentiment'].value_counts().plot(kind='bar', color=['blue', 'green', 'red'])\n", - "plt.title('Sentiment Distribution')\n", - "plt.xlabel('Sentiment')\n", - "plt.ylabel('Count')\n", + "ax = data['label'].value_counts().plot(kind='bar', color=['red', 'blue'])\n", + "ax.set_title('Sentiment Distribution')\n", + "ax.set_xlabel('Sentiment')\n", + "ax.set_ylabel('Count')\n", + "\n", + "labels = ['Negative', 'Positive']\n", + "ax.set_xticks([0, 1])\n", + "ax.set_xticklabels(labels)\n", + "\n", "plt.show()" ] }, @@ -401,34 +380,28 @@ "id": "xgpZZMfI5NWv" }, "source": [ - "## Step 8: Extract Sentiments and Texts from DataFrame\n", - "\n", - "Now, we'll extract sentiments and texts from the DataFrame and mapp sentiments to numerical values.\n", + "## Step 7: Extract Sentiments and Texts from DataFrame\n", "\n", - "Assigning numerical values to Sentiments:\n", - "Neutral -> 1\n", - "Positive -> 2\n", - "Negative -> 3" + "Now, we'll extract sentiments and texts from the DataFrame." ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 27, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fmkM4YiSVRym", - "outputId": "57379dd7-edbe-4b1a-8f03-401dcf4ed0da" + "outputId": "50455800-ba48-4376-8eab-5b53acf5ad65" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Warning: Skipping row 314 with float text value\n", - "27480\n", - "27480\n" + "25000\n", + "25000\n" ] } ], @@ -437,29 +410,14 @@ "texts = []\n", "\n", "for index, row in data.iterrows():\n", - " sentiment = row['sentiment'].lower() # Convert to lowercase for case-insensitivity\n", - " if sentiment == 'neutral':\n", - " sentiments.append(1)\n", - " elif sentiment == 'positive':\n", - " sentiments.append(2)\n", - " elif sentiment == 'negative':\n", - " sentiments.append(3)\n", - " else:\n", - " # Handle the case where sentiment is not one of the expected values\n", - " # You may choose to skip this row or handle it differently based on your requirements\n", - " print(f\"Warning: Unknown sentiment '{sentiment}' in row {index}\")\n", - " continue # Skip the rest of the loop for this row\n", + " sentiment = row['label']\n", + " sentiments.append(sentiment)\n", "\n", - " text = row['text']\n", - " if not isinstance(text, float):\n", - " texts.append(text)\n", - " else:\n", - " # Skip the sentiment for this row as well\n", - " print(f\"Warning: Skipping row {index} with float text value\")\n", - " sentiments.pop() # Remove the last added sentiment\n", + " text = row['text'].lower()\n", + " texts.append(text)\n", "\n", "print(len(sentiments))\n", - "print(len(texts))\n" + "print(len(texts))" ] }, { @@ -478,29 +436,29 @@ "id": "RYAKRFt_d87z" }, "source": [ - "## Step 9: Split the Dataset\n", + "## Step 8: Split the Dataset\n", "\n", "For model training and evaluation, we'll split the dataset into training and validation sets:" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "GOUNpqmlfMV5", - "outputId": "6b266f44-23b9-4a74-c51f-0db5950af921" + "outputId": "39be67de-b8ae-4e90-8791-5ebc15e61891" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 1.01M/1.01M [00:00<00:00, 1.27MB/s]\n", - "100%|██████████| 179M/179M [00:08<00:00, 21.9MB/s]\n", - "100%|██████████| 470k/470k [00:00<00:00, 742kB/s]\n" + "100%|██████████| 1.01M/1.01M [00:00<00:00, 6.20MB/s]\n", + "100%|██████████| 179M/179M [00:06<00:00, 28.9MB/s]\n", + "100%|██████████| 470k/470k [00:00<00:00, 7.12MB/s]\n" ] } ], @@ -530,20 +488,20 @@ "id": "KKLdd5MO5hoE" }, "source": [ - "## Step 10: LASER Embeddings\n", + "## Step 9: LASER Embeddings\n", "\n", "Now, let's leverage LASER embeddings to convert the text data into numerical representations:" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 28, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3yrXnFZWzTv3", - "outputId": "f862bca4-071a-4761-d8aa-2fd24fe92590" + "outputId": "ed7fce17-b1c2-4910-c6a7-591fbb362c6d" }, "outputs": [ { @@ -557,7 +515,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 21984/21984 [02:29<00:00, 146.82it/s]\n" + "100%|██████████| 20000/20000 [30:32<00:00, 10.91it/s]\n" ] }, { @@ -571,7 +529,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 5496/5496 [00:36<00:00, 149.02it/s]\n" + "100%|██████████| 5000/5000 [07:37<00:00, 10.92it/s]\n" ] } ], @@ -602,116 +560,116 @@ "id": "7HeCXoUvefhT" }, "source": [ - "## Step 11: Build and Train the RNN Model\n", + "## Step 10: Build and Train the RNN Model\n", "\n", "With the data ready, it's time to build and train our sentiment analysis model using a simple RNN architecture:" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 46, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7-7mYJsmWKVT", - "outputId": "b53c2e14-fd54-4abd-c060-f7f59b4128c6" + "outputId": "419ca407-4ef8-4f50-d864-83c2efcb810d" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Model: \"sequential\"\n", + "Model: \"sequential_9\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", - " dense (Dense) (None, 256) 262400 \n", + " dense_27 (Dense) (None, 256) 262400 \n", " \n", - " reshape (Reshape) (None, 1, 256) 0 \n", + " reshape_9 (Reshape) (None, 1, 256) 0 \n", " \n", - " simple_rnn (SimpleRNN) (None, 128) 49280 \n", + " simple_rnn_9 (SimpleRNN) (None, 128) 49280 \n", " \n", - " dense_1 (Dense) (None, 64) 8256 \n", + " dense_28 (Dense) (None, 64) 8256 \n", " \n", - " dropout (Dropout) (None, 64) 0 \n", + " dropout_9 (Dropout) (None, 64) 0 \n", " \n", - " dense_2 (Dense) (None, 3) 195 \n", + " dense_29 (Dense) (None, 2) 130 \n", " \n", "=================================================================\n", - "Total params: 320131 (1.22 MB)\n", - "Trainable params: 320131 (1.22 MB)\n", + "Total params: 320066 (1.22 MB)\n", + "Trainable params: 320066 (1.22 MB)\n", "Non-trainable params: 0 (0.00 Byte)\n", "_________________________________________________________________\n", "Epoch 1/30\n", - "619/619 [==============================] - 7s 6ms/step - loss: 0.9650 - accuracy: 0.5381 - val_loss: 0.7830 - val_accuracy: 0.6812 - lr: 1.0000e-04\n", + "563/563 [==============================] - 6s 7ms/step - loss: 0.6192 - accuracy: 0.6680 - val_loss: 0.4955 - val_accuracy: 0.7740 - lr: 1.0000e-04\n", "Epoch 2/30\n", - "619/619 [==============================] - 3s 6ms/step - loss: 0.7552 - accuracy: 0.6825 - val_loss: 0.7076 - val_accuracy: 0.6903 - lr: 9.0000e-05\n", + "563/563 [==============================] - 3s 6ms/step - loss: 0.4500 - accuracy: 0.7967 - val_loss: 0.4070 - val_accuracy: 0.8210 - lr: 9.0000e-05\n", "Epoch 3/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.7052 - accuracy: 0.7001 - val_loss: 0.6870 - val_accuracy: 0.7076 - lr: 8.1000e-05\n", + "563/563 [==============================] - 3s 6ms/step - loss: 0.4033 - accuracy: 0.8224 - val_loss: 0.4032 - val_accuracy: 0.8160 - lr: 8.1000e-05\n", "Epoch 4/30\n", - "619/619 [==============================] - 4s 7ms/step - loss: 0.6846 - accuracy: 0.7125 - val_loss: 0.6736 - val_accuracy: 0.7126 - lr: 7.2900e-05\n", + "563/563 [==============================] - 5s 9ms/step - loss: 0.3860 - accuracy: 0.8319 - val_loss: 0.3771 - val_accuracy: 0.8350 - lr: 7.2900e-05\n", "Epoch 5/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6726 - accuracy: 0.7188 - val_loss: 0.6681 - val_accuracy: 0.7171 - lr: 6.5610e-05\n", + "563/563 [==============================] - 3s 6ms/step - loss: 0.3712 - accuracy: 0.8391 - val_loss: 0.3742 - val_accuracy: 0.8360 - lr: 6.5610e-05\n", "Epoch 6/30\n", - "619/619 [==============================] - 3s 6ms/step - loss: 0.6611 - accuracy: 0.7223 - val_loss: 0.6678 - val_accuracy: 0.7049 - lr: 5.9049e-05\n", + "563/563 [==============================] - 3s 6ms/step - loss: 0.3637 - accuracy: 0.8442 - val_loss: 0.3671 - val_accuracy: 0.8420 - lr: 5.9049e-05\n", "Epoch 7/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6521 - accuracy: 0.7280 - val_loss: 0.6654 - val_accuracy: 0.7040 - lr: 5.3144e-05\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3620 - accuracy: 0.8451 - val_loss: 0.3667 - val_accuracy: 0.8405 - lr: 5.3144e-05\n", "Epoch 8/30\n", - "619/619 [==============================] - 5s 7ms/step - loss: 0.6507 - accuracy: 0.7289 - val_loss: 0.6625 - val_accuracy: 0.7099 - lr: 4.7830e-05\n", + "563/563 [==============================] - 5s 8ms/step - loss: 0.3568 - accuracy: 0.8462 - val_loss: 0.3649 - val_accuracy: 0.8455 - lr: 4.7830e-05\n", "Epoch 9/30\n", - "619/619 [==============================] - 3s 5ms/step - loss: 0.6430 - accuracy: 0.7330 - val_loss: 0.6611 - val_accuracy: 0.7103 - lr: 4.3047e-05\n", + "563/563 [==============================] - 4s 7ms/step - loss: 0.3549 - accuracy: 0.8499 - val_loss: 0.3640 - val_accuracy: 0.8440 - lr: 4.3047e-05\n", "Epoch 10/30\n", - "619/619 [==============================] - 3s 6ms/step - loss: 0.6407 - accuracy: 0.7343 - val_loss: 0.6708 - val_accuracy: 0.7071 - lr: 3.8742e-05\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3511 - accuracy: 0.8517 - val_loss: 0.3606 - val_accuracy: 0.8475 - lr: 3.8742e-05\n", "Epoch 11/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6364 - accuracy: 0.7358 - val_loss: 0.6597 - val_accuracy: 0.7094 - lr: 3.4868e-05\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3469 - accuracy: 0.8538 - val_loss: 0.3649 - val_accuracy: 0.8430 - lr: 3.4868e-05\n", "Epoch 12/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6327 - accuracy: 0.7378 - val_loss: 0.6570 - val_accuracy: 0.7144 - lr: 3.1381e-05\n", + "563/563 [==============================] - 4s 6ms/step - loss: 0.3458 - accuracy: 0.8536 - val_loss: 0.3631 - val_accuracy: 0.8435 - lr: 3.1381e-05\n", "Epoch 13/30\n", - "619/619 [==============================] - 3s 5ms/step - loss: 0.6306 - accuracy: 0.7377 - val_loss: 0.6635 - val_accuracy: 0.7044 - lr: 2.8243e-05\n", + "563/563 [==============================] - 5s 9ms/step - loss: 0.3458 - accuracy: 0.8545 - val_loss: 0.3648 - val_accuracy: 0.8420 - lr: 2.8243e-05\n", "Epoch 14/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6278 - accuracy: 0.7402 - val_loss: 0.6585 - val_accuracy: 0.7053 - lr: 2.5419e-05\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3441 - accuracy: 0.8538 - val_loss: 0.3611 - val_accuracy: 0.8450 - lr: 2.5419e-05\n", "Epoch 15/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6252 - accuracy: 0.7415 - val_loss: 0.6567 - val_accuracy: 0.7140 - lr: 2.2877e-05\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3425 - accuracy: 0.8557 - val_loss: 0.3581 - val_accuracy: 0.8490 - lr: 2.2877e-05\n", "Epoch 16/30\n", - "619/619 [==============================] - 4s 7ms/step - loss: 0.6249 - accuracy: 0.7433 - val_loss: 0.6587 - val_accuracy: 0.7135 - lr: 2.0589e-05\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3410 - accuracy: 0.8564 - val_loss: 0.3583 - val_accuracy: 0.8500 - lr: 2.0589e-05\n", "Epoch 17/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6241 - accuracy: 0.7417 - val_loss: 0.6587 - val_accuracy: 0.7012 - lr: 1.8530e-05\n", + "563/563 [==============================] - 4s 7ms/step - loss: 0.3403 - accuracy: 0.8572 - val_loss: 0.3607 - val_accuracy: 0.8425 - lr: 1.8530e-05\n", "Epoch 18/30\n", - "619/619 [==============================] - 3s 6ms/step - loss: 0.6242 - accuracy: 0.7437 - val_loss: 0.6578 - val_accuracy: 0.7171 - lr: 1.6677e-05\n", + "563/563 [==============================] - 4s 7ms/step - loss: 0.3402 - accuracy: 0.8583 - val_loss: 0.3611 - val_accuracy: 0.8425 - lr: 1.6677e-05\n", "Epoch 19/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6222 - accuracy: 0.7452 - val_loss: 0.6565 - val_accuracy: 0.7131 - lr: 1.5009e-05\n", + "563/563 [==============================] - 4s 7ms/step - loss: 0.3381 - accuracy: 0.8592 - val_loss: 0.3603 - val_accuracy: 0.8450 - lr: 1.5009e-05\n", "Epoch 20/30\n", - "619/619 [==============================] - 4s 7ms/step - loss: 0.6228 - accuracy: 0.7437 - val_loss: 0.6589 - val_accuracy: 0.7071 - lr: 1.3509e-05\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3381 - accuracy: 0.8587 - val_loss: 0.3573 - val_accuracy: 0.8475 - lr: 1.3509e-05\n", "Epoch 21/30\n", - "619/619 [==============================] - 3s 5ms/step - loss: 0.6209 - accuracy: 0.7457 - val_loss: 0.6582 - val_accuracy: 0.7099 - lr: 1.2158e-05\n", + "563/563 [==============================] - 4s 7ms/step - loss: 0.3374 - accuracy: 0.8579 - val_loss: 0.3575 - val_accuracy: 0.8465 - lr: 1.2158e-05\n", "Epoch 22/30\n", - "619/619 [==============================] - 3s 6ms/step - loss: 0.6218 - accuracy: 0.7440 - val_loss: 0.6633 - val_accuracy: 0.7080 - lr: 1.0942e-05\n", + "563/563 [==============================] - 4s 8ms/step - loss: 0.3377 - accuracy: 0.8584 - val_loss: 0.3591 - val_accuracy: 0.8425 - lr: 1.0942e-05\n", "Epoch 23/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6192 - accuracy: 0.7448 - val_loss: 0.6601 - val_accuracy: 0.7103 - lr: 9.8477e-06\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3364 - accuracy: 0.8597 - val_loss: 0.3570 - val_accuracy: 0.8490 - lr: 9.8477e-06\n", "Epoch 24/30\n", - "619/619 [==============================] - 5s 7ms/step - loss: 0.6198 - accuracy: 0.7457 - val_loss: 0.6615 - val_accuracy: 0.7049 - lr: 8.8629e-06\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3349 - accuracy: 0.8582 - val_loss: 0.3588 - val_accuracy: 0.8415 - lr: 8.8629e-06\n", "Epoch 25/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6175 - accuracy: 0.7440 - val_loss: 0.6587 - val_accuracy: 0.7053 - lr: 7.9766e-06\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3334 - accuracy: 0.8611 - val_loss: 0.3570 - val_accuracy: 0.8470 - lr: 7.9766e-06\n", "Epoch 26/30\n", - "619/619 [==============================] - 3s 6ms/step - loss: 0.6168 - accuracy: 0.7477 - val_loss: 0.6579 - val_accuracy: 0.7090 - lr: 7.1790e-06\n", + "563/563 [==============================] - 4s 8ms/step - loss: 0.3345 - accuracy: 0.8592 - val_loss: 0.3569 - val_accuracy: 0.8475 - lr: 7.1790e-06\n", "Epoch 27/30\n", - "619/619 [==============================] - 4s 7ms/step - loss: 0.6201 - accuracy: 0.7470 - val_loss: 0.6572 - val_accuracy: 0.7076 - lr: 6.4611e-06\n", + "563/563 [==============================] - 4s 7ms/step - loss: 0.3341 - accuracy: 0.8615 - val_loss: 0.3568 - val_accuracy: 0.8465 - lr: 6.4611e-06\n", "Epoch 28/30\n", - "619/619 [==============================] - 5s 8ms/step - loss: 0.6150 - accuracy: 0.7473 - val_loss: 0.6593 - val_accuracy: 0.7108 - lr: 5.8150e-06\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3342 - accuracy: 0.8611 - val_loss: 0.3572 - val_accuracy: 0.8470 - lr: 5.8150e-06\n", "Epoch 29/30\n", - "619/619 [==============================] - 4s 6ms/step - loss: 0.6148 - accuracy: 0.7481 - val_loss: 0.6620 - val_accuracy: 0.7108 - lr: 5.2335e-06\n", + "563/563 [==============================] - 3s 5ms/step - loss: 0.3343 - accuracy: 0.8610 - val_loss: 0.3568 - val_accuracy: 0.8495 - lr: 5.2335e-06\n", "Epoch 30/30\n", - "619/619 [==============================] - 3s 5ms/step - loss: 0.6153 - accuracy: 0.7489 - val_loss: 0.6585 - val_accuracy: 0.7094 - lr: 4.7101e-06\n" + "563/563 [==============================] - 3s 6ms/step - loss: 0.3335 - accuracy: 0.8600 - val_loss: 0.3567 - val_accuracy: 0.8475 - lr: 4.7101e-06\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 12, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -735,7 +693,7 @@ "model.add(SimpleRNN(128, activation='relu'))\n", "model.add(Dense(64, activation='relu'))\n", "model.add(Dropout(0.5)) # Adding dropout for regularization\n", - "model.add(Dense(3, activation='softmax'))\n", + "model.add(Dense(2, activation='softmax'))\n", "\n", "# Use a learning rate scheduler\n", "def lr_schedule(epoch):\n", @@ -747,6 +705,7 @@ "# Compile the model\n", "model.compile(optimizer=opt, loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n", "\n", + "\n", "# Print model summary to check the architecture\n", "model.summary()\n", "\n", @@ -769,39 +728,66 @@ "id": "WLFMDGLqfugC" }, "source": [ - "## Step 12: Evaluate the Model\n", + "## Step 11: Evaluate the Model\n", "Finally, let's evaluate the model's performance on the validation set and calculate the accuracy:" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 56, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Kx4_t2UjgALF", - "outputId": "a7c13b16-b6e1-4ba6-f0f6-6d1c1ec823bf" + "outputId": "66521170-218c-4178-b955-eb238cd0114e" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "172/172 [==============================] - 0s 3ms/step - loss: 0.6455 - accuracy: 0.7214\n", - "Accuracy: 72.14%\n", - "172/172 [==============================] - 1s 2ms/step\n" + "157/157 [==============================] - 1s 6ms/step - loss: 0.3774 - accuracy: 0.8330\n", + "Accuracy: 83.30%\n", + "157/157 [==============================] - 1s 4ms/step\n", + "Label 0: Precision = 0.84, Recall = 0.83\n", + "Label 1: Precision = 0.83, Recall = 0.84\n", + "\n", + "Classification Report:\n", + " precision recall f1-score support\n", + "\n", + " 0 0.84 0.83 0.83 2523\n", + " 1 0.83 0.84 0.83 2477\n", + "\n", + " accuracy 0.83 5000\n", + " macro avg 0.83 0.83 0.83 5000\n", + "weighted avg 0.83 0.83 0.83 5000\n", + "\n" ] } ], "source": [ + "from sklearn.metrics import accuracy_score, precision_score, recall_score, classification_report\n", + "\n", "# Evaluate the model on the test set\n", "accuracy = model.evaluate(X_test_embeddings, y_test)[1]\n", "print(f\"Accuracy: {accuracy * 100:.2f}%\")\n", "\n", "# Predictions on the test set\n", "y_pred_probabilities = model.predict(X_test_embeddings)\n", - "y_pred = np.argmax(y_pred_probabilities, axis=1)" + "y_pred = np.argmax(y_pred_probabilities, axis=1)\n", + "\n", + "# Calculate precision and recall per label\n", + "precision_per_label = precision_score(y_test, y_pred, average=None)\n", + "recall_per_label = recall_score(y_test, y_pred, average=None)\n", + "\n", + "# Display precision and recall per label\n", + "for label, precision, recall in zip(range(len(precision_per_label)), precision_per_label, recall_per_label):\n", + " print(f\"Label {label}: Precision = {precision:.2f}, Recall = {recall:.2f}\")\n", + "\n", + "# Classification report\n", + "print(\"\\nClassification Report:\")\n", + "print(classification_report(y_test, y_pred))" ] }, { @@ -819,26 +805,26 @@ "id": "E6mdIbjPgsne" }, "source": [ - "## Step 13:Evaluate with Confusion Matrix\n", + "## Step 12:Evaluate with Confusion Matrix\n", "\n", "This matrix provides detailed insights into the model's predictions, showcasing true positives, true negatives, false positives, and false negatives." ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 57, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 564 }, "id": "kPY816C7gEOw", - "outputId": "8674d591-023a-4e60-892f-c7c9de13e954" + "outputId": "986d8dcb-9e35-42b1-bd82-7cb753a538e4" }, "outputs": [ { "data": { - "image/png": "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iYiIiNQoKysLz58/V3hkZWUp7ZudnY0LFy7A19dX3iYWi+Hr64uoqCilx+zduxfe3t4YMmQIypcvj9q1a2PWrFnIy8tTKU4mhURERFTmqXNNYVhYGExNTRUeYWFhSuNISkpCXl4eypcvr9Bevnx5xMfHKz3m/v372L59O/Ly8hAREYGJEydi3rx5mDFjhkrvAaePiYiIiNQoNDQUISEhCm1SqbTYxpfJZLCxscGvv/4KHR0deHp64vHjx5g7dy4mT55c6HGYFBIREVGZp841hVKptNBJoJWVFXR0dPD06VOF9qdPn8LW1lbpMRUqVICenh50dHTkbTVr1kR8fDyys7MhkUgKdW5OHxMRERGJ1PhQgUQigaenJyIjI+VtMpkMkZGR8Pb2VnpM48aNcffuXchkMnnb7du3UaFChUInhACTQiIiIiKtEhISghUrVmDdunW4efMmBg8ejIyMDPndyP7+/ggNDZX3Hzx4MJ49e4YRI0bg9u3bOHDgAGbNmoUhQ4aodF5OHxMREVGZp01b0nTr1g2JiYmYNGkS4uPj4eHhgUOHDslvPomNjYVY/F9dz87ODocPH8aoUaNQp04dVKpUCSNGjMC4ceNUOq9IEAShWK9ECxh8+bOmQyDK5+bavpoOgUhBVo7sw52IPiEXW0ONnbtqiGrf/qGK+/Pbqm3s4sRKIREREZV52lQp1BSuKSQiIiIiVgqJiIiIWChkpZCIiIiIwEohEREREdcUgkkhEREREaePweljIiIiIgIrhUREREScPgYrhUREREQEVgqJiIiIuKYQrBQSEREREVgpJCIiIoJYzFIhK4VERERExEohEREREdcUMikkIiIi4pY04PQxEREREYGVQiIiIiJOH4OVQiIiIiICK4VEREREXFMIVgqJiIiICKwUEhEREbFSCFYKiYiIiAisFBIRERHx7mMwKSQiIiLi9DE4fUxEREREYKWQiIiIiNPHYKWQiIiIiMBKIRERERHXFIKVQiIiIiICK4VEREREXFMIVgqJiIiICKwUEhEREXFNIVgpJCIiIiKwUkhERETENYVgUkhERETE6WNw+piIiIiIwEohEREREaePUUqTwou/BGg6BKJ8avqO0XQIRApSzi3RdAhEpEVKZVJIREREpAquKeSaQiIiIiICK4VEREREXFMIVgqJiIiICKwUEhEREXFNIZgUEhER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", + "image/png": "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Eui8On/+vOUK7lGjRunTTz/V1q1bNWrUqDvaL4D8wZ9mKFTeeustzZkzR/Hx8VbLfNSsWVORkZH65JNPdP78eTVu3FibNm3SrFmz1Lp1azVt2tTmsT3++ONydXXVU089pZdfflkpKSmaNm2a/P39b3iBzI0sW7ZMs2fPVps2bbRz506r+W+enp5q3bq1ihcvrilTpqhz58566KGH9MILL8jPz08JCQlatmyZGjRooEmTJkm6usxOy5Yt1bBhQ7344os6e/asJk6cqOrVqyslJeWW8bzxxhvavXu3xo4dq9WrV+u5555TQECAkpKStHjxYm3atMlyR5NBgwbpyy+/1BNPPKG+ffvK19dXs2bN0uHDh7VgwYJsFc870a1bN/Xs2VNt2rRRs2bNtGPHDq1cuTJbda1atWpq0qSJateuLV9fX23evFnz58/Xq6++esN92/MzVbNmTdWsWfOmfapUqaJKlSppwIABOnbsmIoXL64FCxbkOIexdu3akqS+ffsqIiJCzs7OeuGFF/IcV79+/XTmzBn98MMPcnZ2VvPmzdWtWze98847atWq1S1jBmBjdrvuGbChfy5Jc73IyEhDktWSNIZhGFeuXDGGDx9uVKhQwXBxcTECAwONmJgY4/Lly1b9goKCclye5NoSKd98802uYslpiZAlS5YYNWrUMNzc3Izg4GBjzJgxxvTp0w1JxuHDhy39brUkzbVj5rRdv4TM6tWrjYiICMPLy8twc3MzKlWqZHTt2tXYvHmzVb8FCxYYVatWNcxms1GtWjVj4cKFRmRk5C2XpPmn+fPnG48//rjh6+trFClSxChdurTRrl07Y82aNVb9Dh06ZDz33HOGt7e34ebmZtStW9dYunRptrhzer9zWgrlRkvSZGZmGgMHDjRKlixpeHh4GBEREcbBgwezLUnzzjvvGHXr1jW8vb0Nd3d3o0qVKsa7775rtfTQ9UvSGMadf6au/znfiP5/SZqbyek92LNnjxEeHm54enoaJUuWNLp3727s2LEj2/uXkZFh9OnTx/Dz8zNMJpPlPK+91++//362413/c/j2228NScbYsWOt+l24cMEICgoyatasafV+Aih4JsO4g9nYAAAAuCcwpxAAAAAkhQAAACApBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACA7tE7mrjX6W/vEACHdGb9OHuHADgc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4eXlla1fUFCQ8eGHHxqGYRhXrlwxSpYsacyePdvyfPv27Y127doZhmEYly9fNjw8PIz169db7eOll14y2rdvfzunD+TL74a9e/cakozffvvN8vyBAwcMSZbPd06++eYbo0SJEpbHfE8KjkOsU3hNxYoVZTKZVKlSJRUp4lChFQpjxozRo48+mu2vsB07dmjnzp2aO3eupc0wDGVlZenw4cOqWrXqHR03NDRUrq6uVm1btmzRsGHDtGPHDp07d05ZWVmSpISEBFWrVu2OjgfkxtKlS+Xp6akrV64oKytLHTp00LPPPqulS5cqLCzM0q9EiRKqXLmy9u7dK0nq27evevXqpe+//17h4eFq06bNHd2ZqUiRImrbtq3mzp2rzp076+LFi/r222/11VdfSZIOHjyo1NRUNWvWzOp16enpevDBB2/7uMA1t/u7Yf/+/SpSpIgeeughy/MhISGWpeeu+eGHHxQbG6t9+/bpwoULysjI0OXLl5WamprrOYN8T/KHQwwfp6am6qWXXpKHh4eqV6+uhIQESVKfPn2yXfkE22nUqJEiIiIUExNj1Z6SkqKXX35Z27dvt2w7duzQgQMHLFeMm0wmGdcteXltOO1WihYtavX44sWLioiIUPHixTV37lz99ttvWrRokSQuREHBadq0qbZv364DBw7o0qVLmjVrVq6uuuzWrZv++OMPde7cWbt27VKdOnU0ceLEO4qlY8eOiouL08mTJ7V48WK5u7urefPmkmQZLlu2bJnVd3TPnj3Ml0K+uJPfDbdy5MgRPfnkk6pRo4YWLFigLVu2aPLkyZLy/v97vid3ziHKcTExMdqxY4fWrFlj+QFKVye5Dhs2TIMGDbJjdIXL6NGjVatWLcsFH5L00EMPac+ePQoJCbnh6/z8/JSYmGh5fODAAaWmploeX6sEZmZm3jKGffv26cyZMxo9erRlsfLNmzfn+VyAO1G0aNFsn/mqVasqIyNDGzduVP369SVJZ86cUXx8vFUFOzAwUD179lTPnj0VExOjadOmqU+fPtmO4erqmqvvRP369RUYGKh58+bpv//9r55//nm5uLhIkqpVqyaz2ayEhAQ1btz4Tk4ZuKHb+d1QuXJlZWRkaNu2bapdu7akqxW7f17NvGXLFmVlZWns2LFycrpap/r666+t9sP3pOA4RFK4ePFizZs3Tw8//LDVX+LV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", "text/plain": [ "
" ] @@ -868,18 +854,18 @@ "id": "1B1ZP8EizqxU" }, "source": [ - "## Step 14:Sentiment Prediction for User Input in Different Languages" + "## Step 13:Sentiment Prediction for User Input in Different Languages" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 58, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "H2kJx0vKzp81", - "outputId": "c928c764-6025-43db-de9b-c7fe8c007c03" + "outputId": "70675856-b04e-41ab-d0e3-f7b8e1822f00" }, "outputs": [ { @@ -887,9 +873,9 @@ "output_type": "stream", "text": [ "Enter the language: english\n", - "Enter a text: hello\n", - "1/1 [==============================] - 0s 35ms/step\n", - "Predicted Sentiment: neutral\n" + "Enter a text: you are sexy\n", + "1/1 [==============================] - 0s 19ms/step\n", + "Predicted Sentiment: positive\n" ] } ], @@ -905,12 +891,10 @@ "\n", "predicted_sentiment = np.argmax(model.predict(user_text_embedding))\n", "predicted_sentiment_no = label_encoder.inverse_transform([predicted_sentiment])[0]\n", - "if predicted_sentiment_no == 1:\n", - " predicted_sentiment_label = 'neutral'\n", - "elif predicted_sentiment_no == 2:\n", - " predicted_sentiment_label = 'positive'\n", - "else:\n", + "if predicted_sentiment_no == 0:\n", " predicted_sentiment_label = 'negative'\n", + "elif predicted_sentiment_no == 1:\n", + " predicted_sentiment_label = 'positive'\n", "\n", "print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" ] @@ -921,7 +905,7 @@ "id": "SOxFqEdwcejj" }, "source": [ - "## Step 15:Sentiment Prediction for Multilingual Texts\n", + "## Step 14:Sentiment Prediction for Multilingual Texts\n", "\n", "This step involves iterating through a collection of sentiments expressed in various languages, including English, Hindi, Portuguese, Romanian, Slovenian, Chinese, French, Dutch, Russian, Italian, and Bosnian.\n", "\n", @@ -930,95 +914,68 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 60, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "vjFvWEC0UOj0", - "outputId": "69fafc61-c655-4649-fcae-bdc275c96fab" + "outputId": "5bcbfff2-daf1-4be8-bd5a-7b64357e2c7e" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "English: So sad, I'll miss you here in San Diego!!!\n", - "1/1 [==============================] - 0s 19ms/step\n", + "English: Said something harsh and didn't even realize it's harsh until I said it.. Sorry\n", + "1/1 [==============================] - 0s 23ms/step\n", "Predicted Sentiment: negative\n", - "Hindi: बहुत दुखद, मैं तुम्हें यहां सैन डिएगो में याद करूंगा!!!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 608M/608M [00:26<00:00, 23.0MB/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1/1 [==============================] - 0s 18ms/step\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", - " x = torch._nested_tensor_from_mask(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n", + "1/1 [==============================] - 0s 23ms/step\n", "Predicted Sentiment: negative\n", - "Portuguese: Tão TRISTE, sentirei sua falta aqui em San Diego!!!\n", - "1/1 [==============================] - 0s 20ms/step\n", + "Portuguese: Disse algo duro e nem percebi que era duro até dizer.. Desculpe\n", + "1/1 [==============================] - 0s 28ms/step\n", "Predicted Sentiment: negative\n", - "Romanian: Atat de trist, o sa-mi fie dor de tine aici in San Diego!!!\n", - "1/1 [==============================] - 0s 22ms/step\n", + "Romanian: Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\n", + "1/1 [==============================] - 0s 25ms/step\n", "Predicted Sentiment: negative\n", - "Slovenian: Tako žalostno, pogrešal te bom tukaj v San Diegu!!!\n", - "1/1 [==============================] - 0s 18ms/step\n", + "Slovenian: Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\n", + "1/1 [==============================] - 0s 29ms/step\n", "Predicted Sentiment: negative\n", - "Chinese: 很傷心,我會在聖地牙哥想念你!\n", - "1/1 [==============================] - 0s 18ms/step\n", + "Chinese: 说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\n", + "1/1 [==============================] - 0s 17ms/step\n", "Predicted Sentiment: negative\n", - "French: Tellement triste tu vas me manquer ici à San Diego !!!\n", - "1/1 [==============================] - 0s 26ms/step\n", + "French: Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\n", + "1/1 [==============================] - 0s 20ms/step\n", "Predicted Sentiment: negative\n", - "Dutch: Zo verdrietig, ik zal je missen hier in San Diego!!!\n", - "1/1 [==============================] - 0s 19ms/step\n", + "Dutch: Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\n", + "1/1 [==============================] - 0s 17ms/step\n", "Predicted Sentiment: negative\n", - "Russian: Ооочень грустно, я буду скучать по тебе здесь, в Сан-Диего!!!\n", - "1/1 [==============================] - 0s 19ms/step\n", + "Russian: Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\n", + "1/1 [==============================] - 0s 17ms/step\n", "Predicted Sentiment: negative\n", - "Italian: Così triste, mi mancherai qui a San Diego!!!\n", - "1/1 [==============================] - 0s 18ms/step\n", + "Italian: Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\n", + "1/1 [==============================] - 0s 22ms/step\n", "Predicted Sentiment: negative\n", - "Bosnian: Tužno, nedostajaćeš mi ovde u San Dijegu!!!\n", - "1/1 [==============================] - 0s 18ms/step\n", + "Bosnian: Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\n", + "1/1 [==============================] - 0s 26ms/step\n", "Predicted Sentiment: negative\n" ] } ], "source": [ "sentiments = {\n", - " \"english\": \"So sad, I'll miss you here in San Diego!!!\",\n", - " 'hindi': 'बहुत दुखद, मैं तुम्हें यहां सैन डिएगो में याद करूंगा!!!',\n", - " 'portuguese': 'Tão TRISTE, sentirei sua falta aqui em San Diego!!!',\n", - " 'romanian': 'Atat de trist, o sa-mi fie dor de tine aici in San Diego!!!',\n", - " 'slovenian': 'Tako žalostno, pogrešal te bom tukaj v San Diegu!!!',\n", - " 'chinese': '很傷心,我會在聖地牙哥想念你!',\n", - " 'french': 'Tellement triste tu vas me manquer ici à San Diego !!!',\n", - " 'dutch': 'Zo verdrietig, ik zal je missen hier in San Diego!!!',\n", - " 'russian': 'Ооочень грустно, я буду скучать по тебе здесь, в Сан-Диего!!!',\n", - " 'italian': 'Così triste, mi mancherai qui a San Diego!!!',\n", - " 'bosnian': 'Tužno, nedostajaćeš mi ovde u San Dijegu!!!'\n", + " \"english\": \"Said something harsh and didn't even realize it's harsh until I said it.. Sorry\",\n", + " 'hindi': \"कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\",\n", + " 'portuguese': \"Disse algo duro e nem percebi que era duro até dizer.. Desculpe\",\n", + " 'romanian': \"Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\",\n", + " 'slovenian': \"Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\",\n", + " 'chinese': \"说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\",\n", + " 'french': \"Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\",\n", + " 'dutch': \"Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\",\n", + " 'russian': \"Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\",\n", + " 'italian': \"Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\",\n", + " 'bosnian': \"Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\"\n", "}\n", "\n", "# Iterate through the dictionary and extract values\n", @@ -1032,12 +989,10 @@ "\n", " predicted_sentiment = np.argmax(model.predict(user_text_embedding))\n", " predicted_sentiment_no = label_encoder.inverse_transform([predicted_sentiment])[0]\n", - " if predicted_sentiment_no == 1:\n", - " predicted_sentiment_label = 'neutral'\n", - " elif predicted_sentiment_no == 2:\n", - " predicted_sentiment_label = 'positive'\n", - " else:\n", + " if predicted_sentiment_no == 0:\n", " predicted_sentiment_label = 'negative'\n", + " elif predicted_sentiment_no == 1:\n", + " predicted_sentiment_label = 'positive'\n", "\n", " print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" ] From fcf72cf7a32680092679f83752aec611de87bda6 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Tue, 5 Dec 2023 23:42:21 +0530 Subject: [PATCH 09/22] Updated the readme --- tasks/SentimentAnalysis/README.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/tasks/SentimentAnalysis/README.md b/tasks/SentimentAnalysis/README.md index 0f8714ba..a7440ed3 100644 --- a/tasks/SentimentAnalysis/README.md +++ b/tasks/SentimentAnalysis/README.md @@ -12,17 +12,7 @@ To run the notebook in Google Colab, simply click the "Open in Colab" button bel ## Example Usage -1. Alternative Download Instructions: -Manual Download and Extraction Steps: - - Download the sample dataset from the following link: [Sample Dataset](https://www.kaggle.com/datasets/abhi8923shriv/sentiment-analysis-dataset) - - - Once the dataset is downloaded, locate the downloaded zip file on your local machine. - Unzip the file using a suitable tool (e.g., WinRAR, 7-Zip, or the built-in extraction tools on your operating system). - - Access the Extracted Files: - Navigate into the extracted folder to access the contents of the dataset. - - Use the Train.csv File. - -2. Run the Example Notebook: +Run the Example Notebook: Execute the provided Jupyter notebook SentimentAnalysis.ipynb jupyter notebook SentimentAnalysis.ipynb From 3e6a14471fbe8f7d571e0392f7ad470e1c61b895 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Tue, 5 Dec 2023 23:45:03 +0530 Subject: [PATCH 10/22] update --- tasks/SentimentAnalysis/SentimentAnalysis.ipynb | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index d490706e..9d8f2942 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -859,7 +859,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -867,18 +867,7 @@ "id": "H2kJx0vKzp81", "outputId": "70675856-b04e-41ab-d0e3-f7b8e1822f00" }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter the language: english\n", - "Enter a text: you are sexy\n", - "1/1 [==============================] - 0s 19ms/step\n", - "Predicted Sentiment: positive\n" - ] - } - ], + "outputs": [], "source": [ "language = input(\"Enter the language: \")\n", "encoder = LaserEncoderPipeline(lang=language)\n", From 5de9edc0e4a1c8c41be787e4511c5d8995164b83 Mon Sep 17 00:00:00 2001 From: Siddharth Singh Rana <91743459+NIXBLACK11@users.noreply.github.com> Date: Wed, 6 Dec 2023 00:20:01 +0530 Subject: [PATCH 11/22] Update SentimentAnalysis.ipynb --- tasks/SentimentAnalysis/SentimentAnalysis.ipynb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index 9d8f2942..dce090a5 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -867,7 +867,18 @@ "id": "H2kJx0vKzp81", "outputId": "70675856-b04e-41ab-d0e3-f7b8e1822f00" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Enter the language: english\n", + "Enter a text: Hello how are you?\n", + "1/1 [==============================] - 0s 19ms/step\n", + "Predicted Sentiment: positive\n" + ] + } + ], "source": [ "language = input(\"Enter the language: \")\n", "encoder = LaserEncoderPipeline(lang=language)\n", From d12059d24e4b189b9c0dbb12cc2b77645c6455ba Mon Sep 17 00:00:00 2001 From: Siddharth Singh Rana <91743459+NIXBLACK11@users.noreply.github.com> Date: Wed, 6 Dec 2023 12:26:22 +0530 Subject: [PATCH 12/22] Update README.md --- tasks/SentimentAnalysis/README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tasks/SentimentAnalysis/README.md b/tasks/SentimentAnalysis/README.md index a7440ed3..488c4561 100644 --- a/tasks/SentimentAnalysis/README.md +++ b/tasks/SentimentAnalysis/README.md @@ -6,14 +6,19 @@ This project demonstrates the application of the Laser Encoder tool for creating ## Getting Started -To run the notebook in Google Colab, simply click the "Open in Colab" button below: +To run the notebook in Google Colab, click the "Open in Colab" button below: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/NIXBLACK11/LASER-fork/blob/Sentiment-analysis-laser/tasks/SentimentAnalysis/SentimentAnalysis.ipynb) +Also, check out the hugging face space with the button below: + +[![Open In Hugging Face Space](https://img.shields.io/badge/Open%20In-Hugging%20Face%20Space-blue?logo=huggingface)](https://huggingface.co/spaces/NIXBLACK/SentimentAnalysis_LASER_) + + ## Example Usage Run the Example Notebook: - Execute the provided Jupyter notebook SentimentAnalysis.ipynb + Execute the provided Jupyter Notebook SentimentAnalysis.ipynb jupyter notebook SentimentAnalysis.ipynb From 48cc180ca8b09cf59b2b3aabb0aae698151cd103 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Wed, 6 Dec 2023 18:06:46 +0530 Subject: [PATCH 13/22] balanced the training and test --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 350 +++++++++++------- 1 file changed, 209 insertions(+), 141 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index 9d8f2942..c8fe483e 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -31,29 +31,29 @@ "base_uri": "https://localhost:8080/" }, "id": "KZ_Eqn90J6CK", - "outputId": "c2158628-9f55-498f-b1db-056e3dae4060" + "outputId": "676c0e86-9ac7-4214-aee6-6b3740d840ab" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Collecting laser_encoders\n", " Downloading laser_encoders-0.0.1-py3-none-any.whl (24 kB)\n", "Collecting sacremoses==0.1.0 (from laser_encoders)\n", " Downloading sacremoses-0.1.0-py3-none-any.whl (895 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m8.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m10.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting unicategories>=0.1.2 (from laser_encoders)\n", " Downloading unicategories-0.1.2.tar.gz (12 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Collecting sentencepiece>=0.1.99 (from laser_encoders)\n", " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m14.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m20.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", "Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (2.1.0+cu118)\n", "Collecting fairseq>=0.12.2 (from laser_encoders)\n", " Downloading fairseq-0.12.2.tar.gz (9.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m33.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m46.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Installing backend dependencies ... \u001b[?25l\u001b[?25hdone\n", @@ -66,15 +66,15 @@ "Requirement already satisfied: cython in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (3.0.6)\n", "Collecting hydra-core<1.1,>=1.0.7 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading hydra_core-1.0.7-py3-none-any.whl (123 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m15.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m17.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting omegaconf<2.1 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", "Collecting sacrebleu>=1.4.12 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading sacrebleu-2.3.3-py3-none-any.whl (106 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m13.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m15.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting bitarray (from fairseq>=0.12.2->laser_encoders)\n", " Downloading bitarray-2.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (279 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m31.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m33.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.13.1)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (4.5.0)\n", @@ -86,7 +86,7 @@ "Requirement already satisfied: appdirs in /usr/local/lib/python3.10/dist-packages (from unicategories>=0.1.2->laser_encoders) (1.4.4)\n", "Collecting antlr4-python3-runtime==4.8 (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders)\n", " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m15.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.10/dist-packages (from omegaconf<2.1->fairseq>=0.12.2->laser_encoders) (6.0.1)\n", "Collecting portalocker (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", @@ -100,13 +100,13 @@ "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n", "Building wheels for collected packages: fairseq, unicategories, antlr4-python3-runtime\n", " Building wheel for fairseq (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291815 sha256=092e1e5ec23b37820b79bf3973427321f45c0d67cde6929b8b2ff4637e6c4c8f\n", + " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291810 sha256=b3ff4cd627ac15739369c768af1fa74a1c911e60d10bc09570d8c04384072df5\n", " Stored in directory: /root/.cache/pip/wheels/e4/35/55/9c66f65ec7c83fd6fbc2b9502a0ac81b2448a1196159dacc32\n", " Building wheel for unicategories (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=d27712712d41563c38e4d68999fbd6b956ab7accd02be31223d27ec97d926737\n", + " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=fb20e9008f97ee786cb12128df14de420df546539f285aebfdf4f3829946c070\n", " Stored in directory: /root/.cache/pip/wheels/0b/6d/14/7135674b9daa3996f7f0d9bc1ccff5b7d50d6f1c4a16dc7d90\n", " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=8ba51067fdcaa054beb6706bb371b120fe3774519680d2452a6a6509236a31c0\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=682ffa050c1760f3146c3a701817c59ead0a92d6dd2f0aaa79e31cbb1c4d8f9a\n", " Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5\n", "Successfully built fairseq unicategories antlr4-python3-runtime\n", "Installing collected packages: sentencepiece, bitarray, antlr4-python3-runtime, unicategories, sacremoses, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq, laser_encoders\n", @@ -146,31 +146,31 @@ "base_uri": "https://localhost:8080/" }, "id": "bxnIqaniSXbG", - "outputId": "3fdfbff9-303d-4556-e9b2-084dc43437d5" + "outputId": "de4afbae-4246-42e1-e846-d928f4b6b520" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n", "Collecting datasets\n", " Downloading datasets-2.15.0-py3-none-any.whl (521 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.10/dist-packages (from datasets) (1.23.5)\n", "Requirement already satisfied: pyarrow>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (9.0.0)\n", "Collecting pyarrow-hotfix (from datasets)\n", " Downloading pyarrow_hotfix-0.6-py3-none-any.whl (7.9 kB)\n", "Collecting dill<0.3.8,>=0.3.0 (from datasets)\n", " Downloading dill-0.3.7-py3-none-any.whl (115 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from datasets) (1.5.3)\n", "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2.31.0)\n", "Requirement already satisfied: tqdm>=4.62.1 in /usr/local/lib/python3.10/dist-packages (from datasets) (4.66.1)\n", "Requirement already satisfied: xxhash in /usr/local/lib/python3.10/dist-packages (from datasets) (3.4.1)\n", "Collecting multiprocess (from datasets)\n", " Downloading multiprocess-0.70.15-py310-none-any.whl (134 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m9.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m11.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: fsspec[http]<=2023.10.0,>=2023.1.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2023.6.0)\n", "Requirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from datasets) (3.9.1)\n", "Requirement already satisfied: huggingface-hub>=0.18.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (0.19.4)\n", @@ -214,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 15, "metadata": { "id": "LN0F4-9AR8_k" }, @@ -232,7 +232,8 @@ "from tensorflow.keras.models import Sequential\n", "from tensorflow.keras.layers import Dense\n", "from tqdm import tqdm\n", - "from datasets import load_dataset" + "from datasets import load_dataset\n", + "from collections import Counter" ] }, { @@ -259,7 +260,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 6, "metadata": { "id": "K0CKtslqNlQg" }, @@ -271,7 +272,7 @@ "custom_dataset = load_dataset(dataset_name)\n", "\n", "# Convert the dataset to a Pandas DataFrame\n", - "custom_dataframe = pd.DataFrame(custom_dataset['train'])" + "data = pd.DataFrame(custom_dataset['train'])" ] }, { @@ -287,26 +288,26 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hPqyJk2wNsye", - "outputId": "68a2d22f-7c15-4b06-e964-63451096a985" + "outputId": "9c7f97bd-0bd3-450f-fb60-aefe5fe31ae5" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ - " text label\n", - "18093 Probably the best picture Producers Releasing ... 1\n", - "4287 since this is part 2, then compering it to par... 0\n", - "24727 Very good drama about a young girl who attempt... 1\n", - "13944 For fans of 1970s Hammer type horror films, th... 1\n", - "7415 I had heard some bad things about Cabin Fever ... 0\n", - "(25000, 2)\n" + " text feeling\n", + "49265 @dink76 I know I wish I had gone too. Hopefull... 1\n", + "114648 @emily_c getting knocked up will do that to yo... 0\n", + "87711 @rlanthony hell, I am awake and have things to... 0\n", + "38042 @danslamer boy problems? I saw matt taylor at... 0\n", + "57981 @lady_karelia Sem: Just about. You can't get... 1\n", + "(119988, 2)\n" ] } ], @@ -339,30 +340,30 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 613 }, "id": "TLp-3OE91Dp4", - "outputId": "0ffd52d1-785e-44d4-9956-d4780e14cd8a" + "outputId": "bca8c121-5488-4d84-ee2d-b80362822f43" }, "outputs": [ { + "output_type": "display_data", "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAJUCAYAAAB65eXRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIOElEQVR4nO3deVhV5f7+8XsDMijujZqCKCJqmqYnM4cohywSjzZQWseyNHM4mUNqllLHoU6lUZbaoMdTR82yzErLscyxkhww5xwqTVMBE2E7JOP6/eGX9XMHlUw+CO/Xda3raj/rw1qftS0e79Zez3ZYlmUJAAAAAHDJeZluAAAAAADKKwIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQDAiIceekh169Y13YZxs2bNksPh0MGDB0v8XL9/zw8ePCiHw6GXX365xM8tSePHj5fD4bgk5wKAywWBDADKgR07dqh79+4KDw+Xv7+/atWqpVtvvVWvvfZaiZ736NGjGj9+vLZu3Vqi5ykpZ8+e1fjx47VmzZqLql+zZo0cDoe9+fn5KTg4WDfddJNeeOEFHT9+3Ehfl1Jp7g0ASiOHZVmW6SYAACVn/fr16tixo+rUqaPevXsrJCREhw8f1rfffqsff/xRP/zwQ4mde/PmzWrVqpVmzpyphx56yGNfZmamcnJy5OfnV2LnL6pff/1V1atX17hx4zR+/Pi/rF+zZo06duyooUOHqlWrVsrOztbx48e1fv16LVq0SC6XSx9++KFuvvlm+2eys7OVmZkpPz+/i757VNC+cv3+PT948KAiIiL00ksvaeTIkRd9nML2lpWVpaysLPn7+xfLuQCgLPAx3QAAoGQ9//zzcrlc2rRpk4KCgjz2JScnm2lKUoUKFYydu6S1a9dO3bt39xjbtm2bOnXqpG7dumn37t2qWbOmJMnb21ve3t4l2s+ZM2dUqVIl4++5j4+PfHz4qwcAXIiPLAJAGffjjz/q6quvzhPGJKlGjRp5xt59911dd911CggIUNWqVdWjRw8dPnzYo+amm25S06ZNtXv3bnXs2FEVK1ZUrVq1FBcXZ9esWbNGrVq1kiT16dPH/hjfrFmzJP3580xvvPGG6tWrp4oVK6pTp046fPiwLMvSv//9b9WuXVsBAQG68847lZKSkqf/ZcuWqV27dqpUqZIqV66srl27ateuXR41Dz30kAIDA3XkyBHFxMQoMDBQ1atX18iRI5WdnW33U716dUnSM888Y/dfkDtSF7rmmms0efJkpaam6vXXX7fH83uGbPPmzYqOjtYVV1yhgIAARURE6OGHH76ovnKv7ccff1SXLl1UuXJl9ezZM9/3/EKvvvqqwsPDFRAQoA4dOmjnzp0e+2+66SbddNNNeX7uwmP+VW/5PUOWlZWlf//736pfv778/PxUt25dPfXUU0pPT/eoq1u3rm677TZ9/fXXat26tfz9/VWvXj298847+b/hAHCZIJABQBkXHh6uhISEPH/Bzs/zzz+vXr166corr9Qrr7yiYcOGaeXKlWrfvr1SU1M9ak+ePKnOnTvrmmuu0aRJk3TVVVdp1KhRWrZsmSSpcePGevbZZyVJAwYM0Jw5czRnzhy1b9/+T3t477339Oabb2rIkCF6/PHHtXbtWt17773617/+peXLl2vUqFEaMGCAFi1alOdjdnPmzFHXrl0VGBioF198UWPGjNHu3bvVtm3bPItmZGdnKzo6WtWqVdPLL7+sDh06aNKkSZoxY4YkqXr16po2bZok6a677rL7v/vuu//yffwj3bt3V0BAgL744os/rElOTlanTp108OBBjR49Wq+99pp69uypb7/99qL7ysrKUnR0tGrUqKGXX35Z3bp1+9O+3nnnHU2dOlWDBg1SbGysdu7cqZtvvllJSUkFur7CvGf9+vXT2LFj1aJFC7366qvq0KGDJkyYoB49euSp/eGHH9S9e3fdeuutmjRpkqpUqaKHHnooT+AGgMuKBQAo07744gvL29vb8vb2tiIjI60nn3zS+vzzz62MjAyPuoMHD1re3t7W888/7zG+Y8cOy8fHx2O8Q4cOliTrnXfescfS09OtkJAQq1u3bvbYpk2bLEnWzJkz8/TVu3dvKzw83H594MABS5JVvXp1KzU11R6PjY21JFnXXHONlZmZaY/fd999lq+vr3Xu3DnLsizr1KlTVlBQkNW/f3+P8yQmJloul8tjvHfv3pYk69lnn/Wovfbaa63rrrvOfn38+HFLkjVu3Lg8/edn9erVliRr/vz5f1hzzTXXWFWqVLFfz5w505JkHThwwLIsy1qwYIElydq0adMfHuPP+sq9ttGjR+e7L7/3PCAg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ACgaAhmAIlm7dq1uuOEGVahQwXQrAACDmA+AwiGQASg2586dU0ZGhseY0+k01A0AoKS53W7797zb7f7TWuYDIH8EMgBFcvbsWT355JP68MMPdeLEiTz7WVULAMquC1dW9PLyyndRj9zFPpgPgPyxqAeAInniiSe0evVqTZs2TQ8++KDeeOMNHTlyRP/5z380ceJE0+0BAErQqlWr7BUUV69ebbgb4PLEHTIARVKnTh298847uummm+R0OrVlyxY1aNBAc+bM0fvvv6+lS5eabhEAAKDU4nvIABRJSkqK6tWrJ+n88wEpKSmSpLZt22rdunUmWwMAXELLly/X119/bb9+44031Lx5c91///06efKkwc6A0o1ABqBI6tWrpwMHDkiSrrrqKn344YeSpEWLFikoKMhgZwCAS+mJJ56wF/bYsWOHRowYoS5duujAgQMaMWKE4e6A0ouPLAIokldffVXe3t4aOnSovvzyS91+++2yLEuZmZl65ZVX9Nhjj5luEQBwCQQGBmrnzp2qW7euxo8fr507d+qjjz7Sli1b1KVLFyUmJppuESiVWNQDQJEMHz7c/ueoqCjt2bNHCQkJatCggf72t78Z7AwAcCn5+vrq7NmzkqQvv/xSvXr1kiRVrVr1L5fEB8ozAhmAYhUeHq7w8HDTbQAALrG2bdtqxIgRuvHGG7Vx40bNmzdPkrRv3z7Vrl3bcHdA6UUgA1AkU6dOzXfc4XDI399fDRo0UPv27eXt7X2JOwMAXEqvv/66Hn30UX300UeaNm2aatWqJUlatmyZOnfubLg7oPTiGTIARRIREaHjx4/r7NmzqlKliiTp5MmTqlixogIDA5WcnKx69epp9erVCgsLM9wtAABA6cIqiwCK5IUXXlCrVq20f/9+nThxQidOnNC+ffvUpk0bTZkyRYcOHVJISIjHs2YAgLIpOztbH3/8sZ577jk999xzWrBggbKzs023BZRq3CEDUCT169fXxx9/rObNm3uMf/fdd+rWrZt++uknrV+/Xt26ddOxY8fMNAkAKHE//PCDunTpoiNHjqhRo0aSpL179yosLExLlixR/fr1DXcIlE7cIQNQJMeOHVNWVlae8aysLHuJ49DQUJ06depStwYAuISGDh2q+vXr6/Dhw9qyZYu2bNmiQ4cOKSIiQkOHDjXdHlBqEcgAFEnHjh31z3/+U999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", "text/plain": [ "
" - ] + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAJUCAYAAAB65eXRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKpklEQVR4nO3deVhWdf7/8dcNyg2IN6ghuKDgLmqaGzKlZpE00pSlkzqWZmqjY5aSlcyU21Q6lrmMptM0I+bU16VJJ/cMlxZxw9yXNh2cFDAVblcQOL8/+nEu76CURT8qz8d1fa6r+3PenPM+t+nx5bnP53ZYlmUJAAAAAHDdeZluAAAAAADKKwIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQDAiCeeeELh4eGm2zAuMTFRDodDR44cuebH+ul7fuTIETkcDr3xxhvX/NiSNG7cODkcjutyLAC4WRDIAKAc2LNnj3r27Km6devK19dXtWrV0n333ae//vWv1/S4x44d07hx47Rz585repxr5fz58xo3bpw2bNhwVfUbNmyQw+Gwh9PpVEhIiO6++2699tprOnHihJG+rqcbuTcAuBE5LMuyTDcBALh2Nm3apC5duqhOnTrq37+/QkNDdfToUW3evFnffvutvvnmm2t27O3bt6tdu3aaO3eunnjiCY9tly5dUn5+vpxO5zU7fmn98MMPCg4O1tixYzVu3Lgr1m/YsEFdunTRM888o3bt2ikvL08nTpzQpk2btGzZMgUGBmrRokW655577J/Jy8vTpUuX5HQ6r/ruUXH7KvDT9/zIkSOKiIjQ66+/rlGjRl31fkraW25urnJzc+Xr61smxwKAW0EF0w0AAK6tV199VYGBgdq2bZuCgoI8tmVkZJhpSlLFihWNHfta69ixo3r27Okxt2vXLnXt2lU9evTQ/v37VaNGDUmSt7e3vL29r2k/586dU6VKlYy/5xUqVFCFCvzVAwAux0cWAeAW9+2336pZs2aFwpgkVa9evdDcv/71L7Vp00Z+fn6qWrWqevfuraNHj3rU3H333WrevLn279+vLl26yN/fX7Vq1dLkyZPtmg0bNqhdu3aSpAEDBtgf40tMTJT0y88zzZo1S/Xq1ZO/v7+6du2qo0ePyrIs/fnPf1bt2rXl5+enhx56SKdOnSrU/6pVq9SxY0dVqlRJlStXVlxcnPbt2+dR88QTTyggIEDff/+9unfvroCAAAUHB2vUqFHKy8uz+wkODpYkjR8/3u6/OHekLteyZUtNmzZNmZmZmjlzpj1f1DNk27dvV2xsrG677Tb5+fkpIiJCTz755FX1VXBu3377rbp166bKlSurb9++Rb7nl5s6darq1q0rPz8/de7cWXv37vXYfvfdd+vuu+8u9HOX7/NKvRX1DFlubq7+/Oc/q379+nI6nQoPD9cf//hHZWdne9SFh4frgQce0Oeff6727dvL19dX9erV07vvvlv0Gw4ANwkCGQDc4urWrauUlJRCf8Euyquvvqp+/fqpYcOGevPNNzVixAglJSWpU6dOyszM9Kg9ffq07r//frVs2VJTpkxRkyZN9OKLL2rVqlWSpKZNm2rChAmSpKeeekrz58/X/Pnz1alTp1/s4b333tNbb72l4cOH67nnntPGjRv16KOP6qWXXtLq1av14osv6qmnntKyZcsKfcxu/vz5iouLU0BAgP7yl7/o5Zdf1v79+3XXXXcVWjQjLy9PsbGxqlatmt544w117txZU6ZM0dtvvy1JCg4O1uzZsyVJDz/8sN3/I488csX38ef07NlTfn5++vjjj3+2JiMjQ127dtWRI0c0evRo/fWvf1Xfvn21efPmq+4rNzdXsbGxql69ut544w316NHjF/t69913NWPGDA0bNkwJCQnau3ev7rnnHqWnpxfr/Eryng0aNEhjxoxR69atNXXqVHXu3FkTJ05U7969C9V+88036tmzp+677z5NmTJFVapU0RNPPFEocAPATcUCANzSPv74Y8vb29vy9va2oqOjrRdeeMFas2aNlZOT41F35MgRy9vb23r11Vc95vfs2WNVqFDBY75z586WJOvdd9+157Kzs63Q0FCrR48e9ty2bdssSdbcuXML9dW/f3+rbt269uvDhw9bkqzg4GArMzPTnk9ISLAkWS1btrQuXbpkz/fp08fy8fGxLl68aFmWZZ05c8YKCgqyBg8e7HGctLQ0KzAw0GO+f//+liRrwoQJHrV33HGH1aZNG/v1iRMnLEnW2LFjC/VflPXr11uSrMWLF/9sTcuWLa0qVarYr+fOnWtJsg4fPmxZlmUtWbLEkmRt27btZ/fxS30VnNvo0aOL3FbUe+7n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nKjAwEB7hIWFFeu8AQAAAKBEqyyGhYVpx44d+uSTT3Tw4EFJUtOmTQvdiboajRs31s6dO5WVlaUPPvhA/fv318aNG0vS1nWVkJCg+Ph4+7Xb7SaUAQAAACiWYgWydevW6emnn9bmzZvlcrl033336b777pMkZWVlqVmzZpozZ446dux41fv08fFRgwYNJElt2rTRtm3bNH36dPXq1Us5OTnKzMz0uEuWnp6u0NBQSVJoaGih1RALVmG8vOanKzOmp6fL5XLJz89P3t7e8vb2LrKmYB9FcTqdcjqdV32eAAAAAPBTxfrI4rRp0zR48GC5XK5C2wIDA/X73/9eb775Zqkays/PV3Z2ttq0aaOKFSsqKSnJ3nbo0CGlpqYqOjpakhQdHa09e/Z4rIa4du1auVwuRUZG2jWX76OgpmAfPj4+atOmjUdNfn6+kpKS7BoAAAAAuCaKs1pInTp1rP379//s9gMHDlhhYWFXvb/Ro0dbGzdutA4fPmzt3r3bGj16tOVwOKyPP/7YsizLGjJkiFWnTh1r3bp11vbt263o6GgrOjra/vnc3FyrefPmVteuXa2dO3daq1evtoKDg62EhAS75rvvvrP8/f2t559/3jpw4IA1a9Ysy9vb21q9erVds2DBAsvpdFqJiYnW/v37raeeesoKCgryWL3xSlhl8QZhekkjBuNGGACM/zZkMEwPmFWcbFCsjyymp6erYsWKP7u9QoUKOnHixFXvLyMjQ/369dPx48cVGBio22+/XWvWrLE/Bjl16lR5eXmpR48eys7OVmxsrN566y375729vbV8+XINHTpU0dHRqlSpkvr3768JEybYNREREVqxYoVGjhyp6dOnq3bt2nrnnXcUGxtr1/Tq1UsnTpzQmDFjlJaWplatWmn16tWFFvoAAAAAgLLksCzLutri+vXra8qUKerevXuR2z/88EONGjVK3333XVn1d9Nwu90KDAxUVlZWkR/pxHXicJjuADDv6v9YB25ZXA5Q3nEpMKs42aBYz5B169ZNL7/8si5evFho24ULFzR27Fg98MADxesWAAAAAMqpYt0hS09PV+vWreXt7a2nn35ajRs3liQdPHhQs2bNUl5ennbs2FEuP+rHHbIbBP8kCvDPooC4HABcCswqTjYo1jNkISEh2rRpk4YOHaqEhAQVZDmHw6HY2FjNmjWrXIYxAAAA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\n" }, - "metadata": {}, - "output_type": "display_data" + "metadata": {} } ], "source": [ "plt.figure(figsize=(10, 6))\n", - "ax = data['label'].value_counts().plot(kind='bar', color=['red', 'blue'])\n", + "ax = data['feeling'].value_counts().plot(kind='bar', color=['red', 'blue'])\n", "ax.set_title('Sentiment Distribution')\n", "ax.set_xlabel('Sentiment')\n", "ax.set_ylabel('Count')\n", @@ -387,21 +388,21 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fmkM4YiSVRym", - "outputId": "50455800-ba48-4376-8eab-5b53acf5ad65" + "outputId": "6c086564-4485-43bf-f757-d4673cc451f2" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ - "25000\n", - "25000\n" + "119988\n", + "119988\n" ] } ], @@ -410,7 +411,7 @@ "texts = []\n", "\n", "for index, row in data.iterrows():\n", - " sentiment = row['label']\n", + " sentiment = row['feeling']\n", " sentiments.append(sentiment)\n", "\n", " text = row['text'].lower()\n", @@ -443,22 +444,26 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "GOUNpqmlfMV5", - "outputId": "39be67de-b8ae-4e90-8791-5ebc15e61891" + "outputId": "78094cd1-a202-4d2e-977d-49c126fb0053" }, "outputs": [ { - "name": "stderr", "output_type": "stream", + "name": "stdout", "text": [ - "100%|██████████| 1.01M/1.01M [00:00<00:00, 6.20MB/s]\n", - "100%|██████████| 179M/179M [00:06<00:00, 28.9MB/s]\n", - "100%|██████████| 470k/470k [00:00<00:00, 7.12MB/s]\n" + "Training set - Class distribution:\n", + "Class 0: 9595\n", + "Class 1: 9603\n", + "\n", + "Test set - Class distribution:\n", + "Class 0: 2399\n", + "Class 1: 2401\n" ] } ], @@ -466,8 +471,33 @@ "label_encoder = LabelEncoder()\n", "encoded_sentiments = label_encoder.fit_transform(sentiments)\n", "\n", - "# Split the data into training and testing sets\n", - "X_train, X_test, y_train, y_test = train_test_split(texts, encoded_sentiments, test_size=0.2, random_state=42)\n", + "# Split into training and temporary sets with stratification\n", + "X_train_temp, X_temp, y_train_temp, y_temp = train_test_split(\n", + " texts, encoded_sentiments,\n", + " test_size=0.2,\n", + " random_state=42,\n", + " stratify=encoded_sentiments\n", + ")\n", + "\n", + "# Split the temporary set into the final training and test sets with stratification\n", + "X_train, X_test, y_train, y_test = train_test_split(\n", + " X_temp, y_temp,\n", + " test_size=0.2,\n", + " random_state=42,\n", + " stratify=y_temp\n", + ")\n", + "\n", + "counter_train = Counter(y_train)\n", + "counter_test = Counter(y_test)\n", + "\n", + "print(\"Training set - Class distribution:\")\n", + "print(\"Class 0:\", counter_train[0])\n", + "print(\"Class 1:\", counter_train[1])\n", + "\n", + "print(\"\\nTest set - Class distribution:\")\n", + "print(\"Class 0:\", counter_test[0])\n", + "print(\"Class 1:\", counter_test[1])\n", + "\n", "\n", "# Initialize the LaserEncoder\n", "encoder = LaserEncoderPipeline(lang=\"eng_Latn\")" @@ -495,41 +525,41 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 20, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3yrXnFZWzTv3", - "outputId": "ed7fce17-b1c2-4910-c6a7-591fbb362c6d" + "outputId": "8e7e4a14-c6c6-447a-a0eb-ad664dfd359b" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Encoding training sentences:\n" ] }, { - "name": "stderr", "output_type": "stream", + "name": "stderr", "text": [ - "100%|██████████| 20000/20000 [30:32<00:00, 10.91it/s]\n" + "100%|██████████| 19198/19198 [02:23<00:00, 133.89it/s]\n" ] }, { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Encoding testing sentences:\n" ] }, { - "name": "stderr", "output_type": "stream", + "name": "stderr", "text": [ - "100%|██████████| 5000/5000 [07:37<00:00, 10.92it/s]\n" + "100%|██████████| 4800/4800 [00:34<00:00, 137.51it/s]\n" ] } ], @@ -567,34 +597,34 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 21, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7-7mYJsmWKVT", - "outputId": "419ca407-4ef8-4f50-d864-83c2efcb810d" + "outputId": "0900cc82-fc4e-4235-a792-61b951c0bc1a" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ - "Model: \"sequential_9\"\n", + "Model: \"sequential\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", - " dense_27 (Dense) (None, 256) 262400 \n", + " dense (Dense) (None, 256) 262400 \n", " \n", - " reshape_9 (Reshape) (None, 1, 256) 0 \n", + " reshape (Reshape) (None, 1, 256) 0 \n", " \n", - " simple_rnn_9 (SimpleRNN) (None, 128) 49280 \n", + " simple_rnn (SimpleRNN) (None, 128) 49280 \n", " \n", - " dense_28 (Dense) (None, 64) 8256 \n", + " dense_1 (Dense) (None, 64) 8256 \n", " \n", - " dropout_9 (Dropout) (None, 64) 0 \n", + " dropout (Dropout) (None, 64) 0 \n", " \n", - " dense_29 (Dense) (None, 2) 130 \n", + " dense_2 (Dense) (None, 2) 130 \n", " \n", "=================================================================\n", "Total params: 320066 (1.22 MB)\n", @@ -602,76 +632,76 @@ "Non-trainable params: 0 (0.00 Byte)\n", "_________________________________________________________________\n", "Epoch 1/30\n", - "563/563 [==============================] - 6s 7ms/step - loss: 0.6192 - accuracy: 0.6680 - val_loss: 0.4955 - val_accuracy: 0.7740 - lr: 1.0000e-04\n", + "540/540 [==============================] - 10s 6ms/step - loss: 0.6148 - accuracy: 0.6692 - val_loss: 0.5603 - val_accuracy: 0.7120 - lr: 1.0000e-04\n", "Epoch 2/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.4500 - accuracy: 0.7967 - val_loss: 0.4070 - val_accuracy: 0.8210 - lr: 9.0000e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.5164 - accuracy: 0.7501 - val_loss: 0.4899 - val_accuracy: 0.7646 - lr: 9.0000e-05\n", "Epoch 3/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.4033 - accuracy: 0.8224 - val_loss: 0.4032 - val_accuracy: 0.8160 - lr: 8.1000e-05\n", + "540/540 [==============================] - 4s 8ms/step - loss: 0.4942 - accuracy: 0.7653 - val_loss: 0.4810 - val_accuracy: 0.7635 - lr: 8.1000e-05\n", "Epoch 4/30\n", - "563/563 [==============================] - 5s 9ms/step - loss: 0.3860 - accuracy: 0.8319 - val_loss: 0.3771 - val_accuracy: 0.8350 - lr: 7.2900e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4833 - accuracy: 0.7751 - val_loss: 0.4821 - val_accuracy: 0.7703 - lr: 7.2900e-05\n", "Epoch 5/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.3712 - accuracy: 0.8391 - val_loss: 0.3742 - val_accuracy: 0.8360 - lr: 6.5610e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4764 - accuracy: 0.7780 - val_loss: 0.4741 - val_accuracy: 0.7745 - lr: 6.5610e-05\n", "Epoch 6/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.3637 - accuracy: 0.8442 - val_loss: 0.3671 - val_accuracy: 0.8420 - lr: 5.9049e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4703 - accuracy: 0.7824 - val_loss: 0.4743 - val_accuracy: 0.7734 - lr: 5.9049e-05\n", "Epoch 7/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3620 - accuracy: 0.8451 - val_loss: 0.3667 - val_accuracy: 0.8405 - lr: 5.3144e-05\n", + "540/540 [==============================] - 4s 8ms/step - loss: 0.4650 - accuracy: 0.7874 - val_loss: 0.4731 - val_accuracy: 0.7729 - lr: 5.3144e-05\n", "Epoch 8/30\n", - "563/563 [==============================] - 5s 8ms/step - loss: 0.3568 - accuracy: 0.8462 - val_loss: 0.3649 - val_accuracy: 0.8455 - lr: 4.7830e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4621 - accuracy: 0.7877 - val_loss: 0.4708 - val_accuracy: 0.7734 - lr: 4.7830e-05\n", "Epoch 9/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3549 - accuracy: 0.8499 - val_loss: 0.3640 - val_accuracy: 0.8440 - lr: 4.3047e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4594 - accuracy: 0.7894 - val_loss: 0.4693 - val_accuracy: 0.7708 - lr: 4.3047e-05\n", "Epoch 10/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3511 - accuracy: 0.8517 - val_loss: 0.3606 - val_accuracy: 0.8475 - lr: 3.8742e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4566 - accuracy: 0.7926 - val_loss: 0.4694 - val_accuracy: 0.7750 - lr: 3.8742e-05\n", "Epoch 11/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3469 - accuracy: 0.8538 - val_loss: 0.3649 - val_accuracy: 0.8430 - lr: 3.4868e-05\n", + "540/540 [==============================] - 4s 8ms/step - loss: 0.4543 - accuracy: 0.7914 - val_loss: 0.4695 - val_accuracy: 0.7719 - lr: 3.4868e-05\n", "Epoch 12/30\n", - "563/563 [==============================] - 4s 6ms/step - loss: 0.3458 - accuracy: 0.8536 - val_loss: 0.3631 - val_accuracy: 0.8435 - lr: 3.1381e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4544 - accuracy: 0.7941 - val_loss: 0.4705 - val_accuracy: 0.7724 - lr: 3.1381e-05\n", "Epoch 13/30\n", - "563/563 [==============================] - 5s 9ms/step - loss: 0.3458 - accuracy: 0.8545 - val_loss: 0.3648 - val_accuracy: 0.8420 - lr: 2.8243e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4512 - accuracy: 0.7949 - val_loss: 0.4698 - val_accuracy: 0.7729 - lr: 2.8243e-05\n", "Epoch 14/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3441 - accuracy: 0.8538 - val_loss: 0.3611 - val_accuracy: 0.8450 - lr: 2.5419e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4501 - accuracy: 0.7929 - val_loss: 0.4690 - val_accuracy: 0.7797 - lr: 2.5419e-05\n", "Epoch 15/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3425 - accuracy: 0.8557 - val_loss: 0.3581 - val_accuracy: 0.8490 - lr: 2.2877e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4477 - accuracy: 0.7954 - val_loss: 0.4685 - val_accuracy: 0.7792 - lr: 2.2877e-05\n", "Epoch 16/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3410 - accuracy: 0.8564 - val_loss: 0.3583 - val_accuracy: 0.8500 - lr: 2.0589e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4476 - accuracy: 0.7951 - val_loss: 0.4712 - val_accuracy: 0.7818 - lr: 2.0589e-05\n", "Epoch 17/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3403 - accuracy: 0.8572 - val_loss: 0.3607 - val_accuracy: 0.8425 - lr: 1.8530e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4471 - accuracy: 0.7959 - val_loss: 0.4709 - val_accuracy: 0.7750 - lr: 1.8530e-05\n", "Epoch 18/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3402 - accuracy: 0.8583 - val_loss: 0.3611 - val_accuracy: 0.8425 - lr: 1.6677e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4444 - accuracy: 0.7969 - val_loss: 0.4714 - val_accuracy: 0.7724 - lr: 1.6677e-05\n", "Epoch 19/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3381 - accuracy: 0.8592 - val_loss: 0.3603 - val_accuracy: 0.8450 - lr: 1.5009e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4436 - accuracy: 0.7967 - val_loss: 0.4698 - val_accuracy: 0.7771 - lr: 1.5009e-05\n", "Epoch 20/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3381 - accuracy: 0.8587 - val_loss: 0.3573 - val_accuracy: 0.8475 - lr: 1.3509e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4458 - accuracy: 0.7972 - val_loss: 0.4699 - val_accuracy: 0.7750 - lr: 1.3509e-05\n", "Epoch 21/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3374 - accuracy: 0.8579 - val_loss: 0.3575 - val_accuracy: 0.8465 - lr: 1.2158e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4428 - accuracy: 0.7958 - val_loss: 0.4703 - val_accuracy: 0.7781 - lr: 1.2158e-05\n", "Epoch 22/30\n", - "563/563 [==============================] - 4s 8ms/step - loss: 0.3377 - accuracy: 0.8584 - val_loss: 0.3591 - val_accuracy: 0.8425 - lr: 1.0942e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4425 - accuracy: 0.7957 - val_loss: 0.4701 - val_accuracy: 0.7771 - lr: 1.0942e-05\n", "Epoch 23/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3364 - accuracy: 0.8597 - val_loss: 0.3570 - val_accuracy: 0.8490 - lr: 9.8477e-06\n", + "540/540 [==============================] - 5s 10ms/step - loss: 0.4425 - accuracy: 0.7984 - val_loss: 0.4708 - val_accuracy: 0.7755 - lr: 9.8477e-06\n", "Epoch 24/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3349 - accuracy: 0.8582 - val_loss: 0.3588 - val_accuracy: 0.8415 - lr: 8.8629e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4415 - accuracy: 0.7981 - val_loss: 0.4733 - val_accuracy: 0.7724 - lr: 8.8629e-06\n", "Epoch 25/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3334 - accuracy: 0.8611 - val_loss: 0.3570 - val_accuracy: 0.8470 - lr: 7.9766e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4416 - accuracy: 0.7993 - val_loss: 0.4705 - val_accuracy: 0.7745 - lr: 7.9766e-06\n", "Epoch 26/30\n", - "563/563 [==============================] - 4s 8ms/step - loss: 0.3345 - accuracy: 0.8592 - val_loss: 0.3569 - val_accuracy: 0.8475 - lr: 7.1790e-06\n", + "540/540 [==============================] - 4s 8ms/step - loss: 0.4426 - accuracy: 0.7978 - val_loss: 0.4707 - val_accuracy: 0.7750 - lr: 7.1790e-06\n", "Epoch 27/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3341 - accuracy: 0.8615 - val_loss: 0.3568 - val_accuracy: 0.8465 - lr: 6.4611e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4398 - accuracy: 0.7982 - val_loss: 0.4705 - val_accuracy: 0.7740 - lr: 6.4611e-06\n", "Epoch 28/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3342 - accuracy: 0.8611 - val_loss: 0.3572 - val_accuracy: 0.8470 - lr: 5.8150e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4393 - accuracy: 0.7989 - val_loss: 0.4713 - val_accuracy: 0.7740 - lr: 5.8150e-06\n", "Epoch 29/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3343 - accuracy: 0.8610 - val_loss: 0.3568 - val_accuracy: 0.8495 - lr: 5.2335e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4394 - accuracy: 0.7994 - val_loss: 0.4711 - val_accuracy: 0.7734 - lr: 5.2335e-06\n", "Epoch 30/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.3335 - accuracy: 0.8600 - val_loss: 0.3567 - val_accuracy: 0.8475 - lr: 4.7101e-06\n" + "540/540 [==============================] - 5s 8ms/step - loss: 0.4396 - accuracy: 0.7978 - val_loss: 0.4710 - val_accuracy: 0.7740 - lr: 4.7101e-06\n" ] }, { + "output_type": "execute_result", "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 46, "metadata": {}, - "output_type": "execute_result" + "execution_count": 21 } ], "source": [ @@ -734,34 +764,34 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 22, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Kx4_t2UjgALF", - "outputId": "66521170-218c-4178-b955-eb238cd0114e" + "outputId": "f1c5c90d-fddd-4040-bb74-6eda456a4ea6" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ - "157/157 [==============================] - 1s 6ms/step - loss: 0.3774 - accuracy: 0.8330\n", - "Accuracy: 83.30%\n", - "157/157 [==============================] - 1s 4ms/step\n", - "Label 0: Precision = 0.84, Recall = 0.83\n", - "Label 1: Precision = 0.83, Recall = 0.84\n", + "150/150 [==============================] - 0s 3ms/step - loss: 0.4755 - accuracy: 0.7740\n", + "Accuracy: 77.40%\n", + "150/150 [==============================] - 0s 2ms/step\n", + "Label 0: Precision = 0.77, Recall = 0.79\n", + "Label 1: Precision = 0.78, Recall = 0.76\n", "\n", "Classification Report:\n", " precision recall f1-score support\n", "\n", - " 0 0.84 0.83 0.83 2523\n", - " 1 0.83 0.84 0.83 2477\n", + " 0 0.77 0.79 0.78 2399\n", + " 1 0.78 0.76 0.77 2401\n", "\n", - " accuracy 0.83 5000\n", - " macro avg 0.83 0.83 0.83 5000\n", - "weighted avg 0.83 0.83 0.83 5000\n", + " accuracy 0.77 4800\n", + " macro avg 0.77 0.77 0.77 4800\n", + "weighted avg 0.77 0.77 0.77 4800\n", "\n" ] } @@ -812,25 +842,25 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 23, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 564 }, "id": "kPY816C7gEOw", - "outputId": "986d8dcb-9e35-42b1-bd82-7cb753a538e4" + "outputId": "99cd0f52-00ab-45d6-99b2-58f0e0bfd2a8" }, "outputs": [ { + "output_type": "display_data", "data": { - "image/png": "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Eui8On/+vOUK7lGjRunTTz/V1q1bNWrUqDvaL4D8wZ9mKFTeeustzZkzR/Hx8VbLfNSsWVORkZH65JNPdP78eTVu3FibNm3SrFmz1Lp1azVt2tTmsT3++ONydXXVU089pZdfflkpKSmaNm2a/P39b3iBzI0sW7ZMs2fPVps2bbRz506r+W+enp5q3bq1ihcvrilTpqhz58566KGH9MILL8jPz08JCQlatmyZGjRooEmTJkm6usxOy5Yt1bBhQ7344os6e/asJk6cqOrVqyslJeWW8bzxxhvavXu3xo4dq9WrV+u5555TQECAkpKStHjxYm3atMlyR5NBgwbpyy+/1BNPPKG+ffvK19dXs2bN0uHDh7VgwYJsFc870a1bN/Xs2VNt2rRRs2bNtGPHDq1cuTJbda1atWpq0qSJateuLV9fX23evFnz58/Xq6++esN92/MzVbNmTdWsWfOmfapUqaJKlSppwIABOnbsmIoXL64FCxbkOIexdu3akqS+ffsqIiJCzs7OeuGFF/IcV79+/XTmzBn98MMPcnZ2VvPmzdWtWze98847atWq1S1jBmBjdrvuGbChfy5Jc73IyEhDktWSNIZhGFeuXDGGDx9uVKhQwXBxcTECAwONmJgY4/Lly1b9goKCclye5NoSKd98802uYslpiZAlS5YYNWrUMNzc3Izg4GBjzJgxxvTp0w1JxuHDhy39brUkzbVj5rRdv4TM6tWrjYiICMPLy8twc3MzKlWqZHTt2tXYvHmzVb8FCxYYVatWNcxms1GtWjVj4cKFRmRk5C2XpPmn+fPnG48//rjh6+trFClSxChdurTRrl07Y82aNVb9Dh06ZDz33HOGt7e34ebmZtStW9dYunRptrhzer9zWgrlRkvSZGZmGgMHDjRKlixpeHh4GBEREcbBgwezLUnzzjvvGHXr1jW8vb0Nd3d3o0qVKsa7775rtfTQ9UvSGMadf6au/znfiP5/SZqbyek92LNnjxEeHm54enoaJUuWNLp3727s2LEj2/uXkZFh9OnTx/Dz8zNMJpPlPK+91++//362413/c/j2228NScbYsWOt+l24cMEICgoyatasafV+Aih4JsO4g9nYAAAAuCcwpxAAAAAkhQAAACApBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACA7tE7mrjX6W/vEACHdGb9OHuHADgc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4eXlla1fUFCQ8eGHHxqGYRhXrlwxSpYsacyePdvyfPv27Y127doZhmEYly9fNjw8PIz169db7eOll14y2rdvfzunD+TL74a9e/cakozffvvN8vyBAwcMSZbPd06++eYbo0SJEpbHfE8KjkOsU3hNxYoVZTKZVKlSJRUp4lChFQpjxozRo48+mu2vsB07dmjnzp2aO3eupc0wDGVlZenw4cOqWrXqHR03NDRUrq6uVm1btmzRsGHDtGPHDp07d05ZWVmSpISEBFWrVu2OjgfkxtKlS+Xp6akrV64oKytLHTp00LPPPqulS5cqLCzM0q9EiRKqXLmy9u7dK0nq27evevXqpe+//17h4eFq06bNHd2ZqUiRImrbtq3mzp2rzp076+LFi/r222/11VdfSZIOHjyo1NRUNWvWzOp16enpevDBB2/7uMA1t/u7Yf/+/SpSpIgeeughy/MhISGWpeeu+eGHHxQbG6t9+/bpwoULysjI0OXLl5WamprrOYN8T/KHQwwfp6am6qWXXpKHh4eqV6+uhIQESVKfPn2yXfkE22nUqJEiIiIUExNj1Z6SkqKXX35Z27dvt2w7duzQgQMHLFeMm0wmGdcteXltOO1WihYtavX44sWLioiIUPHixTV37lz99ttvWrRokSQuREHBadq0qbZv364DBw7o0qVLmjVrVq6uuuzWrZv++OMPde7cWbt27VKdOnU0ceLEO4qlY8eOiouL08mTJ7V48WK5u7urefPmkmQZLlu2bJnVd3TPnj3Ml0K+uJPfDbdy5MgRPfnkk6pRo4YWLFigLVu2aPLkyZLy/v97vid3ziHKcTExMdqxY4fWrFlj+QFKVye5Dhs2TIMGDbJjdIXL6NGjVatWLcsFH5L00EMPac+ePQoJCbnh6/z8/JSYmGh5fODAAaWmploeX6sEZmZm3jKGffv26cyZMxo9erRlsfLNmzfn+VyAO1G0aNFsn/mqVasqIyNDGzduVP369SVJZ86cUXx8vFUFOzAwUD179lTPnj0VExOjadOmqU+fPtmO4erqmqvvRP369RUYGKh58+bpv//9r55//nm5uLhIkqpVqyaz2ayEhAQ1btz4Tk4ZuKHb+d1QuXJlZWRkaNu2bapdu7akqxW7f17NvGXLFmVlZWns2LFycrpap/r666+t9sP3pOA4RFK4ePFizZs3Tw8//LDVX+LV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", "text/plain": [ "
" - ] + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAIjCAYAAAB1bGEnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABau0lEQVR4nO3deVxUZfvH8e+AMIAoiIK4EKiY+1L6aC65FIZlpWlprkipae5oj9rmkonWY5rmo2XumVluueWSaWWa+5YLLqmUgitoiIIw5/eHP+dpAhWUYUb5vHud18u5555zrjPMxMV13+c+JsMwDAEAACBPc3F0AAAAAHA8kkIAAACQFAIAAICkEAAAACIpBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACASAqB+1KjRo3UqFEj6+MTJ07IZDJp5syZuRpH586dFRISkqvHvFtz5sxR+fLl5ebmJl9f3xzf/7Bhw2QymXJ8v/crR30mAdw9kkI8kGbOnCmTySQPDw+dOnUqw/ONGjVS5cqVHRBZ3rZ48WI9/fTTKlKkiNzd3VW8eHG1bt1aP/zwg12Pe+jQIXXu3FllypTR1KlT9dlnn9n1eLnNZDLJZDKpS5cumT7/1ltvWfucP38+2/tfuXKlhg0bdo9RAnB2JIV4oKWkpGj06NGODsPugoODdfXqVXXs2NHRoWTKMAxFRkaqZcuWOnPmjKKiojRlyhT17NlTv//+u5588klt2rTJbsffsGGDLBaLPv74Y3Xu3FmtW7fO8WO8/fbbunr1ao7vN6s8PDy0cOFCpaamZnhu3rx58vDwuOt9r1y5UsOHD8/Wa5z9MwkgI5JCPNCqV6+uqVOn6vTp03Y7hmEYDk0GJFmroq6urg6N41bGjh2rmTNnql+/ftqxY4fefPNNvfLKK3rrrbe0fft2zZ49W/ny5bPb8c+ePStJdhk2vilfvnz3lHjdq6ZNm+ry5cv67rvvbNo3bdqk48ePq1mzZrkSR1pamlJTU53+MwkgI5JCPNDefPNNpaenZ6lamJaWpvfee09lypSR2WxWSEiI3nzzTaWkpNj0CwkJ0bPPPqvVq1erZs2a8vT01KeffqoNGzbIZDLp66+/1vDhw1WiRAkVKFBAL774oi5duqSUlBT169dPAQEB8vb2VmRkZIZ9z5gxQ0888YQCAgJkNptVsWJFTZ48+Y6x/3P+1s1YMtv+OQfwu+++0+OPP678+fOrQIECatasmfbv35/hGEuWLFHlypXl4eGhypUra/HixXeMS5KuXr2q6OholS9fXv/5z38ynXfXsWNH1apVy/r4999/10svvSQ/Pz95eXnpscce04oVK2xe8/f3+/3331fJkiXl4eGhJ598UkePHrX2CwkJ0dChQyVJ/v7+MplM1qHQv//770JCQtS5c2fr4+vXr2v48OEqW7asPDw8VLhwYdWvX19r16619slsTmF2P1MbN25UrVq15OHhodKlS2v27Nm3f3P/pkSJEmrQoIG+/PJLm/a5c+eqSpUqmU6X+Pnnn/XSSy/poYcektlsVlBQkPr372/zR07nzp01adIk6/t1c5P+97n7z3/+o/Hjx1vP88CBAxk+k2fPnpW/v78aNWokwzCs+z969Kjy58+vNm3aZPlcAdiH/f40B5xAqVKl1KlTJ02dOlWDBw9W8eLFb9m3S5cumjVrll588UUNGDBAW7ZsUXR0tA4ePJghAYqJiVHbtm312muvqWvXripXrpz1uejoaHl6emrw4ME6evSoJk6cKDc3N7m4uCghIUHDhg3Tr7/+qpkzZ6pUqVJ69913ra+dPHmyKlWqpOeff1758uXTsmXL9Prrr8tisahnz55ZPu8KFSpozpw5Nm2JiYmKiopSQECAtW3OnDmKiIhQeHi4xowZo+TkZE2ePFn169fXrl27rAnkmjVr1KpVK1WsWFHR0dG6cOGCIiMjVbJkyTvGsnHjRl28eFH9+vXLUtXozJkzqlu3rpKTk9WnTx8VLlxYs2bN0vPPP68FCxbohRdesOk/evRoubi4aODAgbp06ZI++OADtW/fXlu2bJEkjR8/XrNnz9bixYs1efJkeXt7q2rVqneM4++GDRum6OhodenSRbVq1dLly5e1fft27dy5U02aNLnl67LzmTp69KhefPFFvfrqq4qIiND06dPVuXNn1ahRQ5UqVcpSnO3atVPfvn2VlJQkb29vpaWl6ZtvvlFUVJSuXbuWof8333yj5ORk9ejRQ4ULF9bWrVs1ceJE/fnnn/rmm28kSa+99ppOnz6ttWvXZvhM3TRjxgxdu3ZN3bp1k9lslp+fnywWi02fgIAATZ48WS+99JImTpyoPn36yGKxqHPnzipQoID++9//ZukcAdiRATyAZsyYYUgytm3bZhw7dszI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2q9w4cIqV66cDh48KEnq06ePevTooTVr1igsLEytWrW6pzsz5cuXT61bt9bcuXPVsWNHXblyRd9++62++uorSdLRo0eVnJysJk2a2LwuNTVVjzzyyF0fF7jpbn83HD58WPny5dOjjz5qfT40NNS69NxN33//vaKjo3Xo0CFdvnxZaWlpunbtmpKTk7M8Z5DvSc5wiuHj5ORkvfrqq/Ly8lKlSpUUGxsrSerdu3eGK59gPw0aNFB4eLiGDBli056UlKTXXntNu3fvtm579uzRkSNHrFeMm0wmGf9Y8vLmcNqd5M+f3+bxlStXFB4eroIFC2ru3Lnatm2bFi9eLIkLUZB7GjdurN27d+vIkSO6evWqZs2alaWrLrt06aLff/9dHTt21L59+1SzZk1NnDjxnmJp37691q1bp7Nnz2rJkiXy9PRU06ZNJck6XLZixQqb7+iBAweYL4UccS+/G+7kxIkTevbZZ1W1alUtXLhQO3bs0KRJkyRl///3fE/unVOU44YMGaI9e/Zow4YN1h+gdGOS67BhwzR48GAHRpe3jB49WtWrV7de8CFJjz76qA4cOKDQ0NBbvs7f319xcXHWx0eOHFFycrL18c1KYHp6+h1jOHTokC5cuKDRo0dbFyvfvn17ts8FuBf58+fP8JmvUKGC0tLStGXLFtWtW1eSdOHCBcXExNhUsIOCgtS9e3d1795dQ4YM0dSpU9W7d+8Mx3B3d8/Sd6Ju3boKCgrS/Pnz9d133+mll16Sm5ubJKlixYoym82KjY1Vw4YN7+WUgVu6m98N5cqVU1pamnbt2qUaNWpIulGx+/vVzDt27JDFYtHYsWPl4nKjTvX111/b7IfvSe5xiqRwyZIlmj9/vh577DGbv8QrVaqkY8eOOTCyvKdKlSpq3769za0HBw0apMcee0y9evVSly5dlD9/fh04cEBr167VJ598Ikl64okn9Mknn6hOnTpKT0/XoEGDrF9GSQoICJCnp6dWrVqlkiVLysPDw7pW2z899NBDcnd318SJE9W9e3f99ttveu+99+x74kAWlC1bVs2bN1fXrl316aefqkCBAho8eLBKlCih5s2bS5L69eunp59+Wg8//LASEhK0fv36W06xCAkJUVJSktatW6dq1arJy8vrlsNl7dq105QpU3T48GGtX7/e2l6gQAENHDhQ/fv3l8ViUf369XXp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\n" }, - "metadata": {}, - "output_type": "display_data" + "metadata": {} } ], "source": [ @@ -859,15 +889,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "H2kJx0vKzp81", - "outputId": "70675856-b04e-41ab-d0e3-f7b8e1822f00" + "outputId": "bd2e6534-2d17-4f7a-c59e-62154bb972e3" }, - "outputs": [], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Enter the language: english\n", + "Enter a text: hello how are you\n", + "1/1 [==============================] - 0s 147ms/step\n", + "Predicted Sentiment: positive\n" + ] + } + ], "source": [ "language = input(\"Enter the language: \")\n", "encoder = LaserEncoderPipeline(lang=language)\n", @@ -903,51 +944,78 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "vjFvWEC0UOj0", - "outputId": "5bcbfff2-daf1-4be8-bd5a-7b64357e2c7e" + "outputId": "df2356ca-9fc7-46a2-ad85-9dde8f5d7f2b" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "English: Said something harsh and didn't even realize it's harsh until I said it.. Sorry\n", - "1/1 [==============================] - 0s 23ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n", - "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n", - "1/1 [==============================] - 0s 23ms/step\n", + "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 608M/608M [00:12<00:00, 48.9MB/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "1/1 [==============================] - 0s 32ms/step\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", + " x = torch._nested_tensor_from_mask(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ "Predicted Sentiment: negative\n", "Portuguese: Disse algo duro e nem percebi que era duro até dizer.. Desculpe\n", - "1/1 [==============================] - 0s 28ms/step\n", + "1/1 [==============================] - 0s 30ms/step\n", "Predicted Sentiment: negative\n", "Romanian: Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\n", - "1/1 [==============================] - 0s 25ms/step\n", + "1/1 [==============================] - 0s 22ms/step\n", "Predicted Sentiment: negative\n", "Slovenian: Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\n", - "1/1 [==============================] - 0s 29ms/step\n", + "1/1 [==============================] - 0s 20ms/step\n", "Predicted Sentiment: negative\n", "Chinese: 说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\n", - "1/1 [==============================] - 0s 17ms/step\n", + "1/1 [==============================] - 0s 26ms/step\n", "Predicted Sentiment: negative\n", "French: Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\n", - "1/1 [==============================] - 0s 20ms/step\n", + "1/1 [==============================] - 0s 21ms/step\n", "Predicted Sentiment: negative\n", "Dutch: Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\n", - "1/1 [==============================] - 0s 17ms/step\n", + "1/1 [==============================] - 0s 18ms/step\n", "Predicted Sentiment: negative\n", "Russian: Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\n", - "1/1 [==============================] - 0s 17ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n", "Italian: Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\n", - "1/1 [==============================] - 0s 22ms/step\n", + "1/1 [==============================] - 0s 27ms/step\n", "Predicted Sentiment: negative\n", "Bosnian: Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\n", - "1/1 [==============================] - 0s 26ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n" ] } @@ -1011,4 +1079,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} +} \ No newline at end of file From fb869cb323a746efb19a0c5eff5b2fea53402ceb Mon Sep 17 00:00:00 2001 From: Siddharth Singh Rana <91743459+NIXBLACK11@users.noreply.github.com> Date: Wed, 6 Dec 2023 18:09:06 +0530 Subject: [PATCH 14/22] Add files via upload --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 346 +++++++++++------- 1 file changed, 206 insertions(+), 140 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index dce090a5..3de6dd9f 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -31,29 +31,29 @@ "base_uri": "https://localhost:8080/" }, "id": "KZ_Eqn90J6CK", - "outputId": "c2158628-9f55-498f-b1db-056e3dae4060" + "outputId": "676c0e86-9ac7-4214-aee6-6b3740d840ab" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Collecting laser_encoders\n", " Downloading laser_encoders-0.0.1-py3-none-any.whl (24 kB)\n", "Collecting sacremoses==0.1.0 (from laser_encoders)\n", " Downloading sacremoses-0.1.0-py3-none-any.whl (895 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m8.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m10.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting unicategories>=0.1.2 (from laser_encoders)\n", " Downloading unicategories-0.1.2.tar.gz (12 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Collecting sentencepiece>=0.1.99 (from laser_encoders)\n", " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m14.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m20.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", "Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (2.1.0+cu118)\n", "Collecting fairseq>=0.12.2 (from laser_encoders)\n", " Downloading fairseq-0.12.2.tar.gz (9.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m33.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m46.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Installing backend dependencies ... \u001b[?25l\u001b[?25hdone\n", @@ -66,15 +66,15 @@ "Requirement already satisfied: cython in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (3.0.6)\n", "Collecting hydra-core<1.1,>=1.0.7 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading hydra_core-1.0.7-py3-none-any.whl (123 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m15.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m17.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting omegaconf<2.1 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", "Collecting sacrebleu>=1.4.12 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading sacrebleu-2.3.3-py3-none-any.whl (106 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m13.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m15.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting bitarray (from fairseq>=0.12.2->laser_encoders)\n", " Downloading bitarray-2.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (279 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m31.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m33.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.13.1)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (4.5.0)\n", @@ -86,7 +86,7 @@ "Requirement already satisfied: appdirs in /usr/local/lib/python3.10/dist-packages (from unicategories>=0.1.2->laser_encoders) (1.4.4)\n", "Collecting antlr4-python3-runtime==4.8 (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders)\n", " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m15.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.10/dist-packages (from omegaconf<2.1->fairseq>=0.12.2->laser_encoders) (6.0.1)\n", "Collecting portalocker (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", @@ -100,13 +100,13 @@ "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n", "Building wheels for collected packages: fairseq, unicategories, antlr4-python3-runtime\n", " Building wheel for fairseq (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291815 sha256=092e1e5ec23b37820b79bf3973427321f45c0d67cde6929b8b2ff4637e6c4c8f\n", + " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291810 sha256=b3ff4cd627ac15739369c768af1fa74a1c911e60d10bc09570d8c04384072df5\n", " Stored in directory: /root/.cache/pip/wheels/e4/35/55/9c66f65ec7c83fd6fbc2b9502a0ac81b2448a1196159dacc32\n", " Building wheel for unicategories (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=d27712712d41563c38e4d68999fbd6b956ab7accd02be31223d27ec97d926737\n", + " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=fb20e9008f97ee786cb12128df14de420df546539f285aebfdf4f3829946c070\n", " Stored in directory: /root/.cache/pip/wheels/0b/6d/14/7135674b9daa3996f7f0d9bc1ccff5b7d50d6f1c4a16dc7d90\n", " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=8ba51067fdcaa054beb6706bb371b120fe3774519680d2452a6a6509236a31c0\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=682ffa050c1760f3146c3a701817c59ead0a92d6dd2f0aaa79e31cbb1c4d8f9a\n", " Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5\n", "Successfully built fairseq unicategories antlr4-python3-runtime\n", "Installing collected packages: sentencepiece, bitarray, antlr4-python3-runtime, unicategories, sacremoses, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq, laser_encoders\n", @@ -146,31 +146,31 @@ "base_uri": "https://localhost:8080/" }, "id": "bxnIqaniSXbG", - "outputId": "3fdfbff9-303d-4556-e9b2-084dc43437d5" + "outputId": "de4afbae-4246-42e1-e846-d928f4b6b520" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n", "Collecting datasets\n", " Downloading datasets-2.15.0-py3-none-any.whl (521 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.10/dist-packages (from datasets) (1.23.5)\n", "Requirement already satisfied: pyarrow>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (9.0.0)\n", "Collecting pyarrow-hotfix (from datasets)\n", " Downloading pyarrow_hotfix-0.6-py3-none-any.whl (7.9 kB)\n", "Collecting dill<0.3.8,>=0.3.0 (from datasets)\n", " Downloading dill-0.3.7-py3-none-any.whl (115 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from datasets) (1.5.3)\n", "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2.31.0)\n", "Requirement already satisfied: tqdm>=4.62.1 in /usr/local/lib/python3.10/dist-packages (from datasets) (4.66.1)\n", "Requirement already satisfied: xxhash in /usr/local/lib/python3.10/dist-packages (from datasets) (3.4.1)\n", "Collecting multiprocess (from datasets)\n", " Downloading multiprocess-0.70.15-py310-none-any.whl (134 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m9.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m11.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: fsspec[http]<=2023.10.0,>=2023.1.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2023.6.0)\n", "Requirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from datasets) (3.9.1)\n", "Requirement already satisfied: huggingface-hub>=0.18.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (0.19.4)\n", @@ -214,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 15, "metadata": { "id": "LN0F4-9AR8_k" }, @@ -232,7 +232,8 @@ "from tensorflow.keras.models import Sequential\n", "from tensorflow.keras.layers import Dense\n", "from tqdm import tqdm\n", - "from datasets import load_dataset" + "from datasets import load_dataset\n", + "from collections import Counter" ] }, { @@ -259,7 +260,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 6, "metadata": { "id": "K0CKtslqNlQg" }, @@ -271,7 +272,7 @@ "custom_dataset = load_dataset(dataset_name)\n", "\n", "# Convert the dataset to a Pandas DataFrame\n", - "custom_dataframe = pd.DataFrame(custom_dataset['train'])" + "data = pd.DataFrame(custom_dataset['train'])" ] }, { @@ -287,26 +288,26 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hPqyJk2wNsye", - "outputId": "68a2d22f-7c15-4b06-e964-63451096a985" + "outputId": "9c7f97bd-0bd3-450f-fb60-aefe5fe31ae5" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ - " text label\n", - "18093 Probably the best picture Producers Releasing ... 1\n", - "4287 since this is part 2, then compering it to par... 0\n", - "24727 Very good drama about a young girl who attempt... 1\n", - "13944 For fans of 1970s Hammer type horror films, th... 1\n", - "7415 I had heard some bad things about Cabin Fever ... 0\n", - "(25000, 2)\n" + " text feeling\n", + "49265 @dink76 I know I wish I had gone too. Hopefull... 1\n", + "114648 @emily_c getting knocked up will do that to yo... 0\n", + "87711 @rlanthony hell, I am awake and have things to... 0\n", + "38042 @danslamer boy problems? I saw matt taylor at... 0\n", + "57981 @lady_karelia Sem: Just about. You can't get... 1\n", + "(119988, 2)\n" ] } ], @@ -339,30 +340,30 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 613 }, "id": "TLp-3OE91Dp4", - "outputId": "0ffd52d1-785e-44d4-9956-d4780e14cd8a" + "outputId": "bca8c121-5488-4d84-ee2d-b80362822f43" }, "outputs": [ { + "output_type": "display_data", "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAJUCAYAAAB65eXRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIOElEQVR4nO3deVhV5f7+8XsDMijujZqCKCJqmqYnM4cohywSjzZQWseyNHM4mUNqllLHoU6lUZbaoMdTR82yzErLscyxkhww5xwqTVMBE2E7JOP6/eGX9XMHlUw+CO/Xda3raj/rw1qftS0e79Zez3ZYlmUJAAAAAHDJeZluAAAAAADKKwIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQDAiIceekh169Y13YZxs2bNksPh0MGDB0v8XL9/zw8ePCiHw6GXX365xM8tSePHj5fD4bgk5wKAywWBDADKgR07dqh79+4KDw+Xv7+/atWqpVtvvVWvvfZaiZ736NGjGj9+vLZu3Vqi5ykpZ8+e1fjx47VmzZqLql+zZo0cDoe9+fn5KTg4WDfddJNeeOEFHT9+3Ehfl1Jp7g0ASiOHZVmW6SYAACVn/fr16tixo+rUqaPevXsrJCREhw8f1rfffqsff/xRP/zwQ4mde/PmzWrVqpVmzpyphx56yGNfZmamcnJy5OfnV2LnL6pff/1V1atX17hx4zR+/Pi/rF+zZo06duyooUOHqlWrVsrOztbx48e1fv16LVq0SC6XSx9++KFuvvlm+2eys7OVmZkpPz+/i757VNC+cv3+PT948KAiIiL00ksvaeTIkRd9nML2lpWVpaysLPn7+xfLuQCgLPAx3QAAoGQ9//zzcrlc2rRpk4KCgjz2JScnm2lKUoUKFYydu6S1a9dO3bt39xjbtm2bOnXqpG7dumn37t2qWbOmJMnb21ve3t4l2s+ZM2dUqVIl4++5j4+PfHz4qwcAXIiPLAJAGffjjz/q6quvzhPGJKlGjRp5xt59911dd911CggIUNWqVdWjRw8dPnzYo+amm25S06ZNtXv3bnXs2FEVK1ZUrVq1FBcXZ9esWbNGrVq1kiT16dPH/hjfrFmzJP3580xvvPGG6tWrp4oVK6pTp046fPiwLMvSv//9b9WuXVsBAQG68847lZKSkqf/ZcuWqV27dqpUqZIqV66srl27ateuXR41Dz30kAIDA3XkyBHFxMQoMDBQ1atX18iRI5WdnW33U716dUnSM888Y/dfkDtSF7rmmms0efJkpaam6vXXX7fH83uGbPPmzYqOjtYVV1yhgIAARURE6OGHH76ovnKv7ccff1SXLl1UuXJl9ezZM9/3/EKvvvqqwsPDFRAQoA4dOmjnzp0e+2+66SbddNNNeX7uwmP+VW/5PUOWlZWlf//736pfv778/PxUt25dPfXUU0pPT/eoq1u3rm677TZ9/fXXat26tfz9/VWvXj298847+b/hAHCZIJABQBkXHh6uhISEPH/Bzs/zzz+vXr166corr9Qrr7yiYcOGaeXKlWrfvr1SU1M9ak+ePKnOnTvrmmuu0aRJk3TVVVdp1KhRWrZsmSSpcePGevbZZyVJAwYM0Jw5czRnzhy1b9/+T3t477339Oabb2rIkCF6/PHHtXbtWt17773617/+peXLl2vUqFEaMGCAFi1alOdjdnPmzFHXrl0VGBioF198UWPGjNHu3bvVtm3bPItmZGdnKzo6WtWqVdPLL7+sDh06aNKkSZoxY4YkqXr16po2bZok6a677rL7v/vuu//yffwj3bt3V0BAgL744os/rElOTlanTp108OBBjR49Wq+99pp69uypb7/99qL7ysrKUnR0tGrUqKGXX35Z3bp1+9O+3nnnHU2dOlWDBg1SbGysdu7cqZtvvllJSUkFur7CvGf9+vXT2LFj1aJFC7366qvq0KGDJkyYoB49euSp/eGHH9S9e3fdeuutmjRpkqpUqaKHHnooT+AGgMuKBQAo07744gvL29vb8vb2tiIjI60nn3zS+vzzz62MjAyPuoMHD1re3t7W888/7zG+Y8cOy8fHx2O8Q4cOliTrnXfescfS09OtkJAQq1u3bvbYpk2bLEnWzJkz8/TVu3dvKzw83H594MABS5JVvXp1KzU11R6PjY21JFnXXHONlZmZaY/fd999lq+vr3Xu3DnLsizr1KlTVlBQkNW/f3+P8yQmJloul8tjvHfv3pYk69lnn/Wovfbaa63rrrvOfn38+HFLkjVu3Lg8/edn9erVliRr/vz5f1hzzTXXWFWqVLFfz5w505JkHThwwLIsy1qwYIElydq0adMfHuPP+sq9ttGjR+e7L7/3PCAg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ACgaAhmAIlm7dq1uuOEGVahQwXQrAACDmA+AwiGQASg2586dU0ZGhseY0+k01A0AoKS53W7797zb7f7TWuYDIH8EMgBFcvbsWT355JP68MMPdeLEiTz7WVULAMquC1dW9PLyyndRj9zFPpgPgPyxqAeAInniiSe0evVqTZs2TQ8++KDeeOMNHTlyRP/5z380ceJE0+0BAErQqlWr7BUUV69ebbgb4PLEHTIARVKnTh298847uummm+R0OrVlyxY1aNBAc+bM0fvvv6+lS5eabhEAAKDU4nvIABRJSkqK6tWrJ+n88wEpKSmSpLZt22rdunUmWwMAXELLly/X119/bb9+44031Lx5c91///06efKkwc6A0o1ABqBI6tWrpwMHDkiSrrrqKn344YeSpEWLFikoKMhgZwCAS+mJJ56wF/bYsWOHRowYoS5duujAgQMaMWKE4e6A0ouPLAIokldffVXe3t4aOnSovvzyS91+++2yLEuZmZl65ZVX9Nhjj5luEQBwCQQGBmrnzp2qW7euxo8fr507d+qjjz7Sli1b1KVLFyUmJppuESiVWNQDQJEMHz7c/ueoqCjt2bNHCQkJatCggf72t78Z7AwAcCn5+vrq7NmzkqQvv/xSvXr1kiRVrVr1L5fEB8ozAhmAYhUeHq7w8HDTbQAALrG2bdtqxIgRuvHGG7Vx40bNmzdPkrRv3z7Vrl3bcHdA6UUgA1AkU6dOzXfc4XDI399fDRo0UPv27eXt7X2JOwMAXEqvv/66Hn30UX300UeaNm2aatWqJUlatmyZOnfubLg7oPTiGTIARRIREaHjx4/r7NmzqlKliiTp5MmTqlixogIDA5WcnKx69epp9erVCgsLM9wtAABA6cIqiwCK5IUXXlCrVq20f/9+nThxQidOnNC+ffvUpk0bTZkyRYcOHVJISIjHs2YAgLIpOztbH3/8sZ577jk999xzWrBggbKzs023BZRq3CEDUCT169fXxx9/rObNm3uMf/fdd+rWrZt++uknrV+/Xt26ddOxY8fMNAkAKHE//PCDunTpoiNHjqhRo0aSpL179yosLExLlixR/fr1DXcIlE7cIQNQJMeOHVNWVlae8aysLHuJ49DQUJ06depStwYAuISGDh2q+vXr6/Dhw9qyZYu2bNmiQ4cOKSIiQkOHDjXdHlBqEcgAFEnHjh31z3/+U999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", "text/plain": [ "
" - ] + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAJUCAYAAAB65eXRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKpklEQVR4nO3deVhWdf7/8dcNyg2IN6ghuKDgLmqaGzKlZpE00pSlkzqWZmqjY5aSlcyU21Q6lrmMptM0I+bU16VJJ/cMlxZxw9yXNh2cFDAVblcQOL8/+nEu76CURT8qz8d1fa6r+3PenPM+t+nx5bnP53ZYlmUJAAAAAHDdeZluAAAAAADKKwIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQDAiCeeeELh4eGm2zAuMTFRDodDR44cuebH+ul7fuTIETkcDr3xxhvX/NiSNG7cODkcjutyLAC4WRDIAKAc2LNnj3r27Km6devK19dXtWrV0n333ae//vWv1/S4x44d07hx47Rz585repxr5fz58xo3bpw2bNhwVfUbNmyQw+Gwh9PpVEhIiO6++2699tprOnHihJG+rqcbuTcAuBE5LMuyTDcBALh2Nm3apC5duqhOnTrq37+/QkNDdfToUW3evFnffvutvvnmm2t27O3bt6tdu3aaO3eunnjiCY9tly5dUn5+vpxO5zU7fmn98MMPCg4O1tixYzVu3Lgr1m/YsEFdunTRM888o3bt2ikvL08nTpzQpk2btGzZMgUGBmrRokW655577J/Jy8vTpUuX5HQ6r/ruUXH7KvDT9/zIkSOKiIjQ66+/rlGjRl31fkraW25urnJzc+Xr61smxwKAW0EF0w0AAK6tV199VYGBgdq2bZuCgoI8tmVkZJhpSlLFihWNHfta69ixo3r27Okxt2vXLnXt2lU9evTQ/v37VaNGDUmSt7e3vL29r2k/586dU6VKlYy/5xUqVFCFCvzVAwAux0cWAeAW9+2336pZs2aFwpgkVa9evdDcv/71L7Vp00Z+fn6qWrWqevfuraNHj3rU3H333WrevLn279+vLl26yN/fX7Vq1dLkyZPtmg0bNqhdu3aSpAEDBtgf40tMTJT0y88zzZo1S/Xq1ZO/v7+6du2qo0ePyrIs/fnPf1bt2rXl5+enhx56SKdOnSrU/6pVq9SxY0dVqlRJlStXVlxcnPbt2+dR88QTTyggIEDff/+9unfvroCAAAUHB2vUqFHKy8uz+wkODpYkjR8/3u6/OHekLteyZUtNmzZNmZmZmjlzpj1f1DNk27dvV2xsrG677Tb5+fkpIiJCTz755FX1VXBu3377rbp166bKlSurb9++Rb7nl5s6darq1q0rPz8/de7cWXv37vXYfvfdd+vuu+8u9HOX7/NKvRX1DFlubq7+/Oc/q379+nI6nQoPD9cf//hHZWdne9SFh4frgQce0Oeff6727dvL19dX9erV07vvvlv0Gw4ANwkCGQDc4urWrauUlJRCf8Euyquvvqp+/fqpYcOGevPNNzVixAglJSWpU6dOyszM9Kg9ffq07r//frVs2VJTpkxRkyZN9OKLL2rVqlWSpKZNm2rChAmSpKeeekrz58/X/Pnz1alTp1/s4b333tNbb72l4cOH67nnntPGjRv16KOP6qWXXtLq1av14osv6qmnntKyZcsKfcxu/vz5iouLU0BAgP7yl7/o5Zdf1v79+3XXXXcVWjQjLy9PsbGxqlatmt544w117txZU6ZM0dtvvy1JCg4O1uzZsyVJDz/8sN3/I488csX38ef07NlTfn5++vjjj3+2JiMjQ127dtWRI0c0evRo/fWvf1Xfvn21efPmq+4rNzdXsbGxql69ut544w316NHjF/t69913NWPGDA0bNkwJCQnau3ev7rnnHqWnpxfr/Eryng0aNEhjxoxR69atNXXqVHXu3FkTJ05U7969C9V+88036tmzp+677z5NmTJFVapU0RNPPFEocAPATcUCANzSPv74Y8vb29vy9va2oqOjrRdeeMFas2aNlZOT41F35MgRy9vb23r11Vc95vfs2WNVqFDBY75z586WJOvdd9+157Kzs63Q0FCrR48e9ty2bdssSdbcuXML9dW/f3+rbt269uvDhw9bkqzg4GArMzPTnk9ISLAkWS1btrQuXbpkz/fp08fy8fGxLl68aFmWZZ05c8YKCgqyBg8e7HGctLQ0KzAw0GO+f//+liRrwoQJHrV33HGH1aZNG/v1iRMnLEnW2LFjC/VflPXr11uSrMWLF/9sTcuWLa0qVarYr+fOnWtJsg4fPmxZlmUtWbLEkmRt27btZ/fxS30VnNvo0aOL3FbUe+7n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nKjAwEB7hIWFFeu8AQAAAKBEqyyGhYVpx44d+uSTT3Tw4EFJUtOmTQvdiboajRs31s6dO5WVlaUPPvhA/fv318aNG0vS1nWVkJCg+Ph4+7Xb7SaUAQAAACiWYgWydevW6emnn9bmzZvlcrl033336b777pMkZWVlqVmzZpozZ446dux41fv08fFRgwYNJElt2rTRtm3bNH36dPXq1Us5OTnKzMz0uEuWnp6u0NBQSVJoaGih1RALVmG8vOanKzOmp6fL5XLJz89P3t7e8vb2LrKmYB9FcTqdcjqdV32eAAAAAPBTxfrI4rRp0zR48GC5XK5C2wIDA/X73/9eb775Zqkays/PV3Z2ttq0aaOKFSsqKSnJ3nbo0CGlpqYqOjpakhQdHa09e/Z4rIa4du1auVwuRUZG2jWX76OgpmAfPj4+atOmjUdNfn6+kpKS7BoAAAAAuCaKs1pInTp1rP379//s9gMHDlhhYWFXvb/Ro0dbGzdutA4fPmzt3r3bGj16tOVwOKyPP/7YsizLGjJkiFWnTh1r3bp11vbt263o6GgrOjra/vnc3FyrefPmVteuXa2dO3daq1evtoKDg62EhAS75rvvvrP8/f2t559/3jpw4IA1a9Ysy9vb21q9erVds2DBAsvpdFqJiYnW/v37raeeesoKCgryWL3xSlhl8QZhekkjBuNGGACM/zZkMEwPmFWcbFCsjyymp6erYsWKP7u9QoUKOnHixFXvLyMjQ/369dPx48cVGBio22+/XWvWrLE/Bjl16lR5eXmpR48eys7OVmxsrN566y375729vbV8+XINHTpU0dHRqlSpkvr3768JEybYNREREVqxYoVGjhyp6dOnq3bt2nrnnXcUGxtr1/Tq1UsnTpzQmDFjlJaWplatWmn16tWFFvoAAAAAgLLksCzLutri+vXra8qUKerevXuR2z/88EONGjVK3333XVn1d9Nwu90KDAxUVlZWkR/pxHXicJjuADDv6v9YB25ZXA5Q3nEpMKs42aBYz5B169ZNL7/8si5evFho24ULFzR27Fg98MADxesWAAAAAMqpYt0hS09PV+vWreXt7a2nn35ajRs3liQdPHhQs2bNUl5ennbs2FEuP+rHHbIbBP8kCvDPooC4HABcCswqTjYo1jNkISEh2rRpk4YOHaqEhAQVZDmHw6HY2FjNmjWrXIYxAAAA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\n" }, - "metadata": {}, - "output_type": "display_data" + "metadata": {} } ], "source": [ "plt.figure(figsize=(10, 6))\n", - "ax = data['label'].value_counts().plot(kind='bar', color=['red', 'blue'])\n", + "ax = data['feeling'].value_counts().plot(kind='bar', color=['red', 'blue'])\n", "ax.set_title('Sentiment Distribution')\n", "ax.set_xlabel('Sentiment')\n", "ax.set_ylabel('Count')\n", @@ -387,21 +388,21 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fmkM4YiSVRym", - "outputId": "50455800-ba48-4376-8eab-5b53acf5ad65" + "outputId": "6c086564-4485-43bf-f757-d4673cc451f2" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ - "25000\n", - "25000\n" + "119988\n", + "119988\n" ] } ], @@ -410,7 +411,7 @@ "texts = []\n", "\n", "for index, row in data.iterrows():\n", - " sentiment = row['label']\n", + " sentiment = row['feeling']\n", " sentiments.append(sentiment)\n", "\n", " text = row['text'].lower()\n", @@ -443,22 +444,26 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "GOUNpqmlfMV5", - "outputId": "39be67de-b8ae-4e90-8791-5ebc15e61891" + "outputId": "78094cd1-a202-4d2e-977d-49c126fb0053" }, "outputs": [ { - "name": "stderr", "output_type": "stream", + "name": "stdout", "text": [ - "100%|██████████| 1.01M/1.01M [00:00<00:00, 6.20MB/s]\n", - "100%|██████████| 179M/179M [00:06<00:00, 28.9MB/s]\n", - "100%|██████████| 470k/470k [00:00<00:00, 7.12MB/s]\n" + "Training set - Class distribution:\n", + "Class 0: 9595\n", + "Class 1: 9603\n", + "\n", + "Test set - Class distribution:\n", + "Class 0: 2399\n", + "Class 1: 2401\n" ] } ], @@ -466,8 +471,33 @@ "label_encoder = LabelEncoder()\n", "encoded_sentiments = label_encoder.fit_transform(sentiments)\n", "\n", - "# Split the data into training and testing sets\n", - "X_train, X_test, y_train, y_test = train_test_split(texts, encoded_sentiments, test_size=0.2, random_state=42)\n", + "# Split into training and temporary sets with stratification\n", + "X_train_temp, X_temp, y_train_temp, y_temp = train_test_split(\n", + " texts, encoded_sentiments,\n", + " test_size=0.2,\n", + " random_state=42,\n", + " stratify=encoded_sentiments\n", + ")\n", + "\n", + "# Split the temporary set into the final training and test sets with stratification\n", + "X_train, X_test, y_train, y_test = train_test_split(\n", + " X_temp, y_temp,\n", + " test_size=0.2,\n", + " random_state=42,\n", + " stratify=y_temp\n", + ")\n", + "\n", + "counter_train = Counter(y_train)\n", + "counter_test = Counter(y_test)\n", + "\n", + "print(\"Training set - Class distribution:\")\n", + "print(\"Class 0:\", counter_train[0])\n", + "print(\"Class 1:\", counter_train[1])\n", + "\n", + "print(\"\\nTest set - Class distribution:\")\n", + "print(\"Class 0:\", counter_test[0])\n", + "print(\"Class 1:\", counter_test[1])\n", + "\n", "\n", "# Initialize the LaserEncoder\n", "encoder = LaserEncoderPipeline(lang=\"eng_Latn\")" @@ -495,41 +525,41 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 20, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3yrXnFZWzTv3", - "outputId": "ed7fce17-b1c2-4910-c6a7-591fbb362c6d" + "outputId": "8e7e4a14-c6c6-447a-a0eb-ad664dfd359b" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Encoding training sentences:\n" ] }, { - "name": "stderr", "output_type": "stream", + "name": "stderr", "text": [ - "100%|██████████| 20000/20000 [30:32<00:00, 10.91it/s]\n" + "100%|██████████| 19198/19198 [02:23<00:00, 133.89it/s]\n" ] }, { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Encoding testing sentences:\n" ] }, { - "name": "stderr", "output_type": "stream", + "name": "stderr", "text": [ - "100%|██████████| 5000/5000 [07:37<00:00, 10.92it/s]\n" + "100%|██████████| 4800/4800 [00:34<00:00, 137.51it/s]\n" ] } ], @@ -567,34 +597,34 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 21, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7-7mYJsmWKVT", - "outputId": "419ca407-4ef8-4f50-d864-83c2efcb810d" + "outputId": "0900cc82-fc4e-4235-a792-61b951c0bc1a" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ - "Model: \"sequential_9\"\n", + "Model: \"sequential\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", - " dense_27 (Dense) (None, 256) 262400 \n", + " dense (Dense) (None, 256) 262400 \n", " \n", - " reshape_9 (Reshape) (None, 1, 256) 0 \n", + " reshape (Reshape) (None, 1, 256) 0 \n", " \n", - " simple_rnn_9 (SimpleRNN) (None, 128) 49280 \n", + " simple_rnn (SimpleRNN) (None, 128) 49280 \n", " \n", - " dense_28 (Dense) (None, 64) 8256 \n", + " dense_1 (Dense) (None, 64) 8256 \n", " \n", - " dropout_9 (Dropout) (None, 64) 0 \n", + " dropout (Dropout) (None, 64) 0 \n", " \n", - " dense_29 (Dense) (None, 2) 130 \n", + " dense_2 (Dense) (None, 2) 130 \n", " \n", "=================================================================\n", "Total params: 320066 (1.22 MB)\n", @@ -602,76 +632,76 @@ "Non-trainable params: 0 (0.00 Byte)\n", "_________________________________________________________________\n", "Epoch 1/30\n", - "563/563 [==============================] - 6s 7ms/step - loss: 0.6192 - accuracy: 0.6680 - val_loss: 0.4955 - val_accuracy: 0.7740 - lr: 1.0000e-04\n", + "540/540 [==============================] - 10s 6ms/step - loss: 0.6148 - accuracy: 0.6692 - val_loss: 0.5603 - val_accuracy: 0.7120 - lr: 1.0000e-04\n", "Epoch 2/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.4500 - accuracy: 0.7967 - val_loss: 0.4070 - val_accuracy: 0.8210 - lr: 9.0000e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.5164 - accuracy: 0.7501 - val_loss: 0.4899 - val_accuracy: 0.7646 - lr: 9.0000e-05\n", "Epoch 3/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.4033 - accuracy: 0.8224 - val_loss: 0.4032 - val_accuracy: 0.8160 - lr: 8.1000e-05\n", + "540/540 [==============================] - 4s 8ms/step - loss: 0.4942 - accuracy: 0.7653 - val_loss: 0.4810 - val_accuracy: 0.7635 - lr: 8.1000e-05\n", "Epoch 4/30\n", - "563/563 [==============================] - 5s 9ms/step - loss: 0.3860 - accuracy: 0.8319 - val_loss: 0.3771 - val_accuracy: 0.8350 - lr: 7.2900e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4833 - accuracy: 0.7751 - val_loss: 0.4821 - val_accuracy: 0.7703 - lr: 7.2900e-05\n", "Epoch 5/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.3712 - accuracy: 0.8391 - val_loss: 0.3742 - val_accuracy: 0.8360 - lr: 6.5610e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4764 - accuracy: 0.7780 - val_loss: 0.4741 - val_accuracy: 0.7745 - lr: 6.5610e-05\n", "Epoch 6/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.3637 - accuracy: 0.8442 - val_loss: 0.3671 - val_accuracy: 0.8420 - lr: 5.9049e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4703 - accuracy: 0.7824 - val_loss: 0.4743 - val_accuracy: 0.7734 - lr: 5.9049e-05\n", "Epoch 7/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3620 - accuracy: 0.8451 - val_loss: 0.3667 - val_accuracy: 0.8405 - lr: 5.3144e-05\n", + "540/540 [==============================] - 4s 8ms/step - loss: 0.4650 - accuracy: 0.7874 - val_loss: 0.4731 - val_accuracy: 0.7729 - lr: 5.3144e-05\n", "Epoch 8/30\n", - "563/563 [==============================] - 5s 8ms/step - loss: 0.3568 - accuracy: 0.8462 - val_loss: 0.3649 - val_accuracy: 0.8455 - lr: 4.7830e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4621 - accuracy: 0.7877 - val_loss: 0.4708 - val_accuracy: 0.7734 - lr: 4.7830e-05\n", "Epoch 9/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3549 - accuracy: 0.8499 - val_loss: 0.3640 - val_accuracy: 0.8440 - lr: 4.3047e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4594 - accuracy: 0.7894 - val_loss: 0.4693 - val_accuracy: 0.7708 - lr: 4.3047e-05\n", "Epoch 10/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3511 - accuracy: 0.8517 - val_loss: 0.3606 - val_accuracy: 0.8475 - lr: 3.8742e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4566 - accuracy: 0.7926 - val_loss: 0.4694 - val_accuracy: 0.7750 - lr: 3.8742e-05\n", "Epoch 11/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3469 - accuracy: 0.8538 - val_loss: 0.3649 - val_accuracy: 0.8430 - lr: 3.4868e-05\n", + "540/540 [==============================] - 4s 8ms/step - loss: 0.4543 - accuracy: 0.7914 - val_loss: 0.4695 - val_accuracy: 0.7719 - lr: 3.4868e-05\n", "Epoch 12/30\n", - "563/563 [==============================] - 4s 6ms/step - loss: 0.3458 - accuracy: 0.8536 - val_loss: 0.3631 - val_accuracy: 0.8435 - lr: 3.1381e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4544 - accuracy: 0.7941 - val_loss: 0.4705 - val_accuracy: 0.7724 - lr: 3.1381e-05\n", "Epoch 13/30\n", - "563/563 [==============================] - 5s 9ms/step - loss: 0.3458 - accuracy: 0.8545 - val_loss: 0.3648 - val_accuracy: 0.8420 - lr: 2.8243e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4512 - accuracy: 0.7949 - val_loss: 0.4698 - val_accuracy: 0.7729 - lr: 2.8243e-05\n", "Epoch 14/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3441 - accuracy: 0.8538 - val_loss: 0.3611 - val_accuracy: 0.8450 - lr: 2.5419e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4501 - accuracy: 0.7929 - val_loss: 0.4690 - val_accuracy: 0.7797 - lr: 2.5419e-05\n", "Epoch 15/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3425 - accuracy: 0.8557 - val_loss: 0.3581 - val_accuracy: 0.8490 - lr: 2.2877e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4477 - accuracy: 0.7954 - val_loss: 0.4685 - val_accuracy: 0.7792 - lr: 2.2877e-05\n", "Epoch 16/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3410 - accuracy: 0.8564 - val_loss: 0.3583 - val_accuracy: 0.8500 - lr: 2.0589e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4476 - accuracy: 0.7951 - val_loss: 0.4712 - val_accuracy: 0.7818 - lr: 2.0589e-05\n", "Epoch 17/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3403 - accuracy: 0.8572 - val_loss: 0.3607 - val_accuracy: 0.8425 - lr: 1.8530e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4471 - accuracy: 0.7959 - val_loss: 0.4709 - val_accuracy: 0.7750 - lr: 1.8530e-05\n", "Epoch 18/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3402 - accuracy: 0.8583 - val_loss: 0.3611 - val_accuracy: 0.8425 - lr: 1.6677e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4444 - accuracy: 0.7969 - val_loss: 0.4714 - val_accuracy: 0.7724 - lr: 1.6677e-05\n", "Epoch 19/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3381 - accuracy: 0.8592 - val_loss: 0.3603 - val_accuracy: 0.8450 - lr: 1.5009e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4436 - accuracy: 0.7967 - val_loss: 0.4698 - val_accuracy: 0.7771 - lr: 1.5009e-05\n", "Epoch 20/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3381 - accuracy: 0.8587 - val_loss: 0.3573 - val_accuracy: 0.8475 - lr: 1.3509e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4458 - accuracy: 0.7972 - val_loss: 0.4699 - val_accuracy: 0.7750 - lr: 1.3509e-05\n", "Epoch 21/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3374 - accuracy: 0.8579 - val_loss: 0.3575 - val_accuracy: 0.8465 - lr: 1.2158e-05\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4428 - accuracy: 0.7958 - val_loss: 0.4703 - val_accuracy: 0.7781 - lr: 1.2158e-05\n", "Epoch 22/30\n", - "563/563 [==============================] - 4s 8ms/step - loss: 0.3377 - accuracy: 0.8584 - val_loss: 0.3591 - val_accuracy: 0.8425 - lr: 1.0942e-05\n", + "540/540 [==============================] - 4s 7ms/step - loss: 0.4425 - accuracy: 0.7957 - val_loss: 0.4701 - val_accuracy: 0.7771 - lr: 1.0942e-05\n", "Epoch 23/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3364 - accuracy: 0.8597 - val_loss: 0.3570 - val_accuracy: 0.8490 - lr: 9.8477e-06\n", + "540/540 [==============================] - 5s 10ms/step - loss: 0.4425 - accuracy: 0.7984 - val_loss: 0.4708 - val_accuracy: 0.7755 - lr: 9.8477e-06\n", "Epoch 24/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3349 - accuracy: 0.8582 - val_loss: 0.3588 - val_accuracy: 0.8415 - lr: 8.8629e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4415 - accuracy: 0.7981 - val_loss: 0.4733 - val_accuracy: 0.7724 - lr: 8.8629e-06\n", "Epoch 25/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3334 - accuracy: 0.8611 - val_loss: 0.3570 - val_accuracy: 0.8470 - lr: 7.9766e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4416 - accuracy: 0.7993 - val_loss: 0.4705 - val_accuracy: 0.7745 - lr: 7.9766e-06\n", "Epoch 26/30\n", - "563/563 [==============================] - 4s 8ms/step - loss: 0.3345 - accuracy: 0.8592 - val_loss: 0.3569 - val_accuracy: 0.8475 - lr: 7.1790e-06\n", + "540/540 [==============================] - 4s 8ms/step - loss: 0.4426 - accuracy: 0.7978 - val_loss: 0.4707 - val_accuracy: 0.7750 - lr: 7.1790e-06\n", "Epoch 27/30\n", - "563/563 [==============================] - 4s 7ms/step - loss: 0.3341 - accuracy: 0.8615 - val_loss: 0.3568 - val_accuracy: 0.8465 - lr: 6.4611e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4398 - accuracy: 0.7982 - val_loss: 0.4705 - val_accuracy: 0.7740 - lr: 6.4611e-06\n", "Epoch 28/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3342 - accuracy: 0.8611 - val_loss: 0.3572 - val_accuracy: 0.8470 - lr: 5.8150e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4393 - accuracy: 0.7989 - val_loss: 0.4713 - val_accuracy: 0.7740 - lr: 5.8150e-06\n", "Epoch 29/30\n", - "563/563 [==============================] - 3s 5ms/step - loss: 0.3343 - accuracy: 0.8610 - val_loss: 0.3568 - val_accuracy: 0.8495 - lr: 5.2335e-06\n", + "540/540 [==============================] - 3s 6ms/step - loss: 0.4394 - accuracy: 0.7994 - val_loss: 0.4711 - val_accuracy: 0.7734 - lr: 5.2335e-06\n", "Epoch 30/30\n", - "563/563 [==============================] - 3s 6ms/step - loss: 0.3335 - accuracy: 0.8600 - val_loss: 0.3567 - val_accuracy: 0.8475 - lr: 4.7101e-06\n" + "540/540 [==============================] - 5s 8ms/step - loss: 0.4396 - accuracy: 0.7978 - val_loss: 0.4710 - val_accuracy: 0.7740 - lr: 4.7101e-06\n" ] }, { + "output_type": "execute_result", "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 46, "metadata": {}, - "output_type": "execute_result" + "execution_count": 21 } ], "source": [ @@ -734,34 +764,34 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 22, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Kx4_t2UjgALF", - "outputId": "66521170-218c-4178-b955-eb238cd0114e" + "outputId": "f1c5c90d-fddd-4040-bb74-6eda456a4ea6" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ - "157/157 [==============================] - 1s 6ms/step - loss: 0.3774 - accuracy: 0.8330\n", - "Accuracy: 83.30%\n", - "157/157 [==============================] - 1s 4ms/step\n", - "Label 0: Precision = 0.84, Recall = 0.83\n", - "Label 1: Precision = 0.83, Recall = 0.84\n", + "150/150 [==============================] - 0s 3ms/step - loss: 0.4755 - accuracy: 0.7740\n", + "Accuracy: 77.40%\n", + "150/150 [==============================] - 0s 2ms/step\n", + "Label 0: Precision = 0.77, Recall = 0.79\n", + "Label 1: Precision = 0.78, Recall = 0.76\n", "\n", "Classification Report:\n", " precision recall f1-score support\n", "\n", - " 0 0.84 0.83 0.83 2523\n", - " 1 0.83 0.84 0.83 2477\n", + " 0 0.77 0.79 0.78 2399\n", + " 1 0.78 0.76 0.77 2401\n", "\n", - " accuracy 0.83 5000\n", - " macro avg 0.83 0.83 0.83 5000\n", - "weighted avg 0.83 0.83 0.83 5000\n", + " accuracy 0.77 4800\n", + " macro avg 0.77 0.77 0.77 4800\n", + "weighted avg 0.77 0.77 0.77 4800\n", "\n" ] } @@ -812,25 +842,25 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 23, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 564 }, "id": "kPY816C7gEOw", - "outputId": "986d8dcb-9e35-42b1-bd82-7cb753a538e4" + "outputId": "99cd0f52-00ab-45d6-99b2-58f0e0bfd2a8" }, "outputs": [ { + "output_type": "display_data", "data": { - "image/png": "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Eui8On/+vOUK7lGjRunTTz/V1q1bNWrUqDvaL4D8wZ9mKFTeeustzZkzR/Hx8VbLfNSsWVORkZH65JNPdP78eTVu3FibNm3SrFmz1Lp1azVt2tTmsT3++ONydXXVU089pZdfflkpKSmaNm2a/P39b3iBzI0sW7ZMs2fPVps2bbRz506r+W+enp5q3bq1ihcvrilTpqhz58566KGH9MILL8jPz08JCQlatmyZGjRooEmTJkm6usxOy5Yt1bBhQ7344os6e/asJk6cqOrVqyslJeWW8bzxxhvavXu3xo4dq9WrV+u5555TQECAkpKStHjxYm3atMlyR5NBgwbpyy+/1BNPPKG+ffvK19dXs2bN0uHDh7VgwYJsFc870a1bN/Xs2VNt2rRRs2bNtGPHDq1cuTJbda1atWpq0qSJateuLV9fX23evFnz58/Xq6++esN92/MzVbNmTdWsWfOmfapUqaJKlSppwIABOnbsmIoXL64FCxbkOIexdu3akqS+ffsqIiJCzs7OeuGFF/IcV79+/XTmzBn98MMPcnZ2VvPmzdWtWze98847atWq1S1jBmBjdrvuGbChfy5Jc73IyEhDktWSNIZhGFeuXDGGDx9uVKhQwXBxcTECAwONmJgY4/Lly1b9goKCclye5NoSKd98802uYslpiZAlS5YYNWrUMNzc3Izg4GBjzJgxxvTp0w1JxuHDhy39brUkzbVj5rRdv4TM6tWrjYiICMPLy8twc3MzKlWqZHTt2tXYvHmzVb8FCxYYVatWNcxms1GtWjVj4cKFRmRk5C2XpPmn+fPnG48//rjh6+trFClSxChdurTRrl07Y82aNVb9Dh06ZDz33HOGt7e34ebmZtStW9dYunRptrhzer9zWgrlRkvSZGZmGgMHDjRKlixpeHh4GBEREcbBgwezLUnzzjvvGHXr1jW8vb0Nd3d3o0qVKsa7775rtfTQ9UvSGMadf6au/znfiP5/SZqbyek92LNnjxEeHm54enoaJUuWNLp3727s2LEj2/uXkZFh9OnTx/Dz8zNMJpPlPK+91++//362413/c/j2228NScbYsWOt+l24cMEICgoyatasafV+Aih4JsO4g9nYAAAAuCcwpxAAAAAkhQAAACApBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACA7tE7mrjX6W/vEACHdGb9OHuHADgc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4eXlla1fUFCQ8eGHHxqGYRhXrlwxSpYsacyePdvyfPv27Y127doZhmEYly9fNjw8PIz169db7eOll14y2rdvfzunD+TL74a9e/cakozffvvN8vyBAwcMSZbPd06++eYbo0SJEpbHfE8KjkOsU3hNxYoVZTKZVKlSJRUp4lChFQpjxozRo48+mu2vsB07dmjnzp2aO3eupc0wDGVlZenw4cOqWrXqHR03NDRUrq6uVm1btmzRsGHDtGPHDp07d05ZWVmSpISEBFWrVu2OjgfkxtKlS+Xp6akrV64oKytLHTp00LPPPqulS5cqLCzM0q9EiRKqXLmy9u7dK0nq27evevXqpe+//17h4eFq06bNHd2ZqUiRImrbtq3mzp2rzp076+LFi/r222/11VdfSZIOHjyo1NRUNWvWzOp16enpevDBB2/7uMA1t/u7Yf/+/SpSpIgeeughy/MhISGWpeeu+eGHHxQbG6t9+/bpwoULysjI0OXLl5WamprrOYN8T/KHQwwfp6am6qWXXpKHh4eqV6+uhIQESVKfPn2yXfkE22nUqJEiIiIUExNj1Z6SkqKXX35Z27dvt2w7duzQgQMHLFeMm0wmGdcteXltOO1WihYtavX44sWLioiIUPHixTV37lz99ttvWrRokSQuREHBadq0qbZv364DBw7o0qVLmjVrVq6uuuzWrZv++OMPde7cWbt27VKdOnU0ceLEO4qlY8eOiouL08mTJ7V48WK5u7urefPmkmQZLlu2bJnVd3TPnj3Ml0K+uJPfDbdy5MgRPfnkk6pRo4YWLFigLVu2aPLkyZLy/v97vid3ziHKcTExMdqxY4fWrFlj+QFKVye5Dhs2TIMGDbJjdIXL6NGjVatWLcsFH5L00EMPac+ePQoJCbnh6/z8/JSYmGh5fODAAaWmploeX6sEZmZm3jKGffv26cyZMxo9erRlsfLNmzfn+VyAO1G0aNFsn/mqVasqIyNDGzduVP369SVJZ86cUXx8vFUFOzAwUD179lTPnj0VExOjadOmqU+fPtmO4erqmqvvRP369RUYGKh58+bpv//9r55//nm5uLhIkqpVqyaz2ayEhAQ1btz4Tk4ZuKHb+d1QuXJlZWRkaNu2bapdu7akqxW7f17NvGXLFmVlZWns2LFycrpap/r666+t9sP3pOA4RFK4ePFizZs3Tw8//LDVX+LV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", "text/plain": [ "
" - ] + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAIjCAYAAAB1bGEnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABau0lEQVR4nO3deVxUZfvH8e+AMIAoiIK4EKiY+1L6aC65FIZlpWlprkipae5oj9rmkonWY5rmo2XumVluueWSaWWa+5YLLqmUgitoiIIw5/eHP+dpAhWUYUb5vHud18u5555zrjPMxMV13+c+JsMwDAEAACBPc3F0AAAAAHA8kkIAAACQFAIAAICkEAAAACIpBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACASAqB+1KjRo3UqFEj6+MTJ07IZDJp5syZuRpH586dFRISkqvHvFtz5sxR+fLl5ebmJl9f3xzf/7Bhw2QymXJ8v/crR30mAdw9kkI8kGbOnCmTySQPDw+dOnUqw/ONGjVS5cqVHRBZ3rZ48WI9/fTTKlKkiNzd3VW8eHG1bt1aP/zwg12Pe+jQIXXu3FllypTR1KlT9dlnn9n1eLnNZDLJZDKpS5cumT7/1ltvWfucP38+2/tfuXKlhg0bdo9RAnB2JIV4oKWkpGj06NGODsPugoODdfXqVXXs2NHRoWTKMAxFRkaqZcuWOnPmjKKiojRlyhT17NlTv//+u5588klt2rTJbsffsGGDLBaLPv74Y3Xu3FmtW7fO8WO8/fbbunr1ao7vN6s8PDy0cOFCpaamZnhu3rx58vDwuOt9r1y5UsOHD8/Wa5z9MwkgI5JCPNCqV6+uqVOn6vTp03Y7hmEYDk0GJFmroq6urg6N41bGjh2rmTNnql+/ftqxY4fefPNNvfLKK3rrrbe0fft2zZ49W/ny5bPb8c+ePStJdhk2vilfvnz3lHjdq6ZNm+ry5cv67rvvbNo3bdqk48ePq1mzZrkSR1pamlJTU53+MwkgI5JCPNDefPNNpaenZ6lamJaWpvfee09lypSR2WxWSEiI3nzzTaWkpNj0CwkJ0bPPPqvVq1erZs2a8vT01KeffqoNGzbIZDLp66+/1vDhw1WiRAkVKFBAL774oi5duqSUlBT169dPAQEB8vb2VmRkZIZ9z5gxQ0888YQCAgJkNptVsWJFTZ48+Y6x/3P+1s1YMtv+OQfwu+++0+OPP678+fOrQIECatasmfbv35/hGEuWLFHlypXl4eGhypUra/HixXeMS5KuXr2q6OholS9fXv/5z38ynXfXsWNH1apVy/r4999/10svvSQ/Pz95eXnpscce04oVK2xe8/f3+/3331fJkiXl4eGhJ598UkePHrX2CwkJ0dChQyVJ/v7+MplM1qHQv//770JCQtS5c2fr4+vXr2v48OEqW7asPDw8VLhwYdWvX19r16619slsTmF2P1MbN25UrVq15OHhodKlS2v27Nm3f3P/pkSJEmrQoIG+/PJLm/a5c+eqSpUqmU6X+Pnnn/XSSy/poYcektlsVlBQkPr372/zR07nzp01adIk6/t1c5P+97n7z3/+o/Hjx1vP88CBAxk+k2fPnpW/v78aNWokwzCs+z969Kjy58+vNm3aZPlcAdiH/f40B5xAqVKl1KlTJ02dOlWDBw9W8eLFb9m3S5cumjVrll588UUNGDBAW7ZsUXR0tA4ePJghAYqJiVHbtm312muvqWvXripXrpz1uejoaHl6emrw4ME6evSoJk6cKDc3N7m4uCghIUHDhg3Tr7/+qpkzZ6pUqVJ69913ra+dPHmyKlWqpOeff1758uXTsmXL9Prrr8tisahnz55ZPu8KFSpozpw5Nm2JiYmKiopSQECAtW3OnDmKiIhQeHi4xowZo+TkZE2ePFn169fXrl27rAnkmjVr1KpVK1WsWFHR0dG6cOGCIiMjVbJkyTvGsnHjRl28eFH9+vXLUtXozJkzqlu3rpKTk9WnTx8VLlxYs2bN0vPPP68FCxbohRdesOk/evRoubi4aODAgbp06ZI++OADtW/fXlu2bJEkjR8/XrNnz9bixYs1efJkeXt7q2rVqneM4++GDRum6OhodenSRbVq1dLly5e1fft27dy5U02aNLnl67LzmTp69KhefPFFvfrqq4qIiND06dPVuXNn1ahRQ5UqVcpSnO3atVPfvn2VlJQkb29vpaWl6ZtvvlFUVJSuXbuWof8333yj5ORk9ejRQ4ULF9bWrVs1ceJE/fnnn/rmm28kSa+99ppOnz6ttWvXZvhM3TRjxgxdu3ZN3bp1k9lslp+fnywWi02fgIAATZ48WS+99JImTpyoPn36yGKxqHPnzipQoID++9//ZukcAdiRATyAZsyYYUgytm3bZhw7dszI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2q9w4cIqV66cDh48KEnq06ePevTooTVr1igsLEytWrW6pzsz5cuXT61bt9bcuXPVsWNHXblyRd9++62++uorSdLRo0eVnJysJk2a2LwuNTVVjzzyyF0fF7jpbn83HD58WPny5dOjjz5qfT40NNS69NxN33//vaKjo3Xo0CFdvnxZaWlpunbtmpKTk7M8Z5DvSc5wiuHj5ORkvfrqq/Ly8lKlSpUUGxsrSerdu3eGK59gPw0aNFB4eLiGDBli056UlKTXXntNu3fvtm579uzRkSNHrFeMm0wmGf9Y8vLmcNqd5M+f3+bxlStXFB4eroIFC2ru3Lnatm2bFi9eLIkLUZB7GjdurN27d+vIkSO6evWqZs2alaWrLrt06aLff/9dHTt21L59+1SzZk1NnDjxnmJp37691q1bp7Nnz2rJkiXy9PRU06ZNJck6XLZixQqb7+iBAweYL4UccS+/G+7kxIkTevbZZ1W1alUtXLhQO3bs0KRJkyRl///3fE/unVOU44YMGaI9e/Zow4YN1h+gdGOS67BhwzR48GAHRpe3jB49WtWrV7de8CFJjz76qA4cOKDQ0NBbvs7f319xcXHWx0eOHFFycrL18c1KYHp6+h1jOHTokC5cuKDRo0dbFyvfvn17ts8FuBf58+fP8JmvUKGC0tLStGXLFtWtW1eSdOHCBcXExNhUsIOCgtS9e3d1795dQ4YM0dSpU9W7d+8Mx3B3d8/Sd6Ju3boKCgrS/Pnz9d133+mll16Sm5ubJKlixYoym82KjY1Vw4YN7+WUgVu6m98N5cqVU1pamnbt2qUaNWpIulGx+/vVzDt27JDFYtHYsWPl4nKjTvX111/b7IfvSe5xiqRwyZIlmj9/vh577DGbv8QrVaqkY8eOOTCyvKdKlSpq3769za0HBw0apMcee0y9evVSly5dlD9/fh04cEBr167VJ598Ikl64okn9Mknn6hOnTpKT0/XoEGDrF9GSQoICJCnp6dWrVqlkiVLysPDw7pW2z899NBDcnd318SJE9W9e3f99ttveu+99+x74kAWlC1bVs2bN1fXrl316aefqkCBAho8eLBKlCih5s2bS5L69eunp59+Wg8//LASEhK0fv36W06xCAkJUVJSktatW6dq1arJy8vrlsNl7dq105QpU3T48GGtX7/e2l6gQAENHDhQ/fv3l8ViUf369XXp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\n" }, - "metadata": {}, - "output_type": "display_data" + "metadata": {} } ], "source": [ @@ -859,22 +889,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "H2kJx0vKzp81", - "outputId": "70675856-b04e-41ab-d0e3-f7b8e1822f00" + "outputId": "bd2e6534-2d17-4f7a-c59e-62154bb972e3" }, "outputs": [ { +<<<<<<< HEAD + "output_type": "stream", + "name": "stdout", + "text": [ + "Enter the language: english\n", + "Enter a text: hello how are you\n", + "1/1 [==============================] - 0s 147ms/step\n", +======= "name": "stdout", "output_type": "stream", "text": [ "Enter the language: english\n", "Enter a text: Hello how are you?\n", "1/1 [==============================] - 0s 19ms/step\n", +>>>>>>> d12059d24e4b189b9c0dbb12cc2b77645c6455ba "Predicted Sentiment: positive\n" ] } @@ -914,51 +953,78 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "vjFvWEC0UOj0", - "outputId": "5bcbfff2-daf1-4be8-bd5a-7b64357e2c7e" + "outputId": "df2356ca-9fc7-46a2-ad85-9dde8f5d7f2b" }, "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "English: Said something harsh and didn't even realize it's harsh until I said it.. Sorry\n", - "1/1 [==============================] - 0s 23ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n", - "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n", - "1/1 [==============================] - 0s 23ms/step\n", + "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 608M/608M [00:12<00:00, 48.9MB/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "1/1 [==============================] - 0s 32ms/step\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", + " x = torch._nested_tensor_from_mask(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ "Predicted Sentiment: negative\n", "Portuguese: Disse algo duro e nem percebi que era duro até dizer.. Desculpe\n", - "1/1 [==============================] - 0s 28ms/step\n", + "1/1 [==============================] - 0s 30ms/step\n", "Predicted Sentiment: negative\n", "Romanian: Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\n", - "1/1 [==============================] - 0s 25ms/step\n", + "1/1 [==============================] - 0s 22ms/step\n", "Predicted Sentiment: negative\n", "Slovenian: Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\n", - "1/1 [==============================] - 0s 29ms/step\n", + "1/1 [==============================] - 0s 20ms/step\n", "Predicted Sentiment: negative\n", "Chinese: 说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\n", - "1/1 [==============================] - 0s 17ms/step\n", + "1/1 [==============================] - 0s 26ms/step\n", "Predicted Sentiment: negative\n", "French: Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\n", - "1/1 [==============================] - 0s 20ms/step\n", + "1/1 [==============================] - 0s 21ms/step\n", "Predicted Sentiment: negative\n", "Dutch: Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\n", - "1/1 [==============================] - 0s 17ms/step\n", + "1/1 [==============================] - 0s 18ms/step\n", "Predicted Sentiment: negative\n", "Russian: Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\n", - "1/1 [==============================] - 0s 17ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n", "Italian: Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\n", - "1/1 [==============================] - 0s 22ms/step\n", + "1/1 [==============================] - 0s 27ms/step\n", "Predicted Sentiment: negative\n", "Bosnian: Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\n", - "1/1 [==============================] - 0s 26ms/step\n", + "1/1 [==============================] - 0s 19ms/step\n", "Predicted Sentiment: negative\n" ] } @@ -1022,4 +1088,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} +} \ No newline at end of file From 19c8966308793b8fab834acd6a9c985819ee2863 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Wed, 6 Dec 2023 18:14:00 +0530 Subject: [PATCH 15/22] updated notebook --- tasks/SentimentAnalysis/SentimentAnalysis.ipynb | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index 3de6dd9f..c8fe483e 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -899,21 +899,12 @@ }, "outputs": [ { -<<<<<<< HEAD "output_type": "stream", "name": "stdout", "text": [ "Enter the language: english\n", "Enter a text: hello how are you\n", "1/1 [==============================] - 0s 147ms/step\n", -======= - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter the language: english\n", - "Enter a text: Hello how are you?\n", - "1/1 [==============================] - 0s 19ms/step\n", ->>>>>>> d12059d24e4b189b9c0dbb12cc2b77645c6455ba "Predicted Sentiment: positive\n" ] } From 1405e67edda8b2895ae1d8bf3e7d8a3039c133f3 Mon Sep 17 00:00:00 2001 From: Siddharth Singh Rana <91743459+NIXBLACK11@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:31:23 +0530 Subject: [PATCH 16/22] Changed title of step 14 SentimentAnalysis.ipynb --- tasks/SentimentAnalysis/SentimentAnalysis.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index c8fe483e..b075fb33 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -935,7 +935,7 @@ "id": "SOxFqEdwcejj" }, "source": [ - "## Step 14:Sentiment Prediction for Multilingual Texts\n", + "## Step 14:Zero-shot Sentiment Prediction for Multilingual Texts\n", "\n", "This step involves iterating through a collection of sentiments expressed in various languages, including English, Hindi, Portuguese, Romanian, Slovenian, Chinese, French, Dutch, Russian, Italian, and Bosnian.\n", "\n", @@ -1079,4 +1079,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} \ No newline at end of file +} From b4842a536850716b332bb09760c362b186e3d134 Mon Sep 17 00:00:00 2001 From: Siddharth Singh Rana <91743459+NIXBLACK11@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:33:08 +0530 Subject: [PATCH 17/22] Update SentimentAnalysis.ipynb --- tasks/SentimentAnalysis/SentimentAnalysis.ipynb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index b075fb33..7d54b95f 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -1022,8 +1022,7 @@ ], "source": [ "sentiments = {\n", - " \"english\": \"Said something harsh and didn't even realize it's harsh until I said it.. Sorry\",\n", - " 'hindi': \"कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\",\n", + " \'hindi': \"कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\",\n", " 'portuguese': \"Disse algo duro e nem percebi que era duro até dizer.. Desculpe\",\n", " 'romanian': \"Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\",\n", " 'slovenian': \"Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\",\n", From a4e0c6065617bbdb6ddecd61053033cf634f3d10 Mon Sep 17 00:00:00 2001 From: Siddharth Singh Rana <91743459+NIXBLACK11@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:34:53 +0530 Subject: [PATCH 18/22] Update SentimentAnalysis.ipynb --- tasks/SentimentAnalysis/SentimentAnalysis.ipynb | 3 --- 1 file changed, 3 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index 7d54b95f..cde8f97e 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -957,9 +957,6 @@ "output_type": "stream", "name": "stdout", "text": [ - "English: Said something harsh and didn't even realize it's harsh until I said it.. Sorry\n", - "1/1 [==============================] - 0s 19ms/step\n", - "Predicted Sentiment: negative\n", "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n" ] }, From 9d616e16e039ec880d8487f431312dd38eb1703e Mon Sep 17 00:00:00 2001 From: Siddharth Singh Rana <91743459+NIXBLACK11@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:40:13 +0530 Subject: [PATCH 19/22] Update SentimentAnalysis.ipynb --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 108 ------------------ 1 file changed, 108 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index cde8f97e..dcba7642 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -942,114 +942,6 @@ "This process demonstrates the model's ability to analyze sentiments across diverse linguistic contexts and still yeild same output." ] }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "vjFvWEC0UOj0", - "outputId": "df2356ca-9fc7-46a2-ad85-9dde8f5d7f2b" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 608M/608M [00:12<00:00, 48.9MB/s]\n" - ] - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "1/1 [==============================] - 0s 32ms/step\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", - " x = torch._nested_tensor_from_mask(\n" - ] - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Predicted Sentiment: negative\n", - "Portuguese: Disse algo duro e nem percebi que era duro até dizer.. Desculpe\n", - "1/1 [==============================] - 0s 30ms/step\n", - "Predicted Sentiment: negative\n", - "Romanian: Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\n", - "1/1 [==============================] - 0s 22ms/step\n", - "Predicted Sentiment: negative\n", - "Slovenian: Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\n", - "1/1 [==============================] - 0s 20ms/step\n", - "Predicted Sentiment: negative\n", - "Chinese: 说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\n", - "1/1 [==============================] - 0s 26ms/step\n", - "Predicted Sentiment: negative\n", - "French: Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\n", - "1/1 [==============================] - 0s 21ms/step\n", - "Predicted Sentiment: negative\n", - "Dutch: Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\n", - "1/1 [==============================] - 0s 18ms/step\n", - "Predicted Sentiment: negative\n", - "Russian: Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\n", - "1/1 [==============================] - 0s 19ms/step\n", - "Predicted Sentiment: negative\n", - "Italian: Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\n", - "1/1 [==============================] - 0s 27ms/step\n", - "Predicted Sentiment: negative\n", - "Bosnian: Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\n", - "1/1 [==============================] - 0s 19ms/step\n", - "Predicted Sentiment: negative\n" - ] - } - ], - "source": [ - "sentiments = {\n", - " \'hindi': \"कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\",\n", - " 'portuguese': \"Disse algo duro e nem percebi que era duro até dizer.. Desculpe\",\n", - " 'romanian': \"Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\",\n", - " 'slovenian': \"Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\",\n", - " 'chinese': \"说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\",\n", - " 'french': \"Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\",\n", - " 'dutch': \"Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\",\n", - " 'russian': \"Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\",\n", - " 'italian': \"Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\",\n", - " 'bosnian': \"Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\"\n", - "}\n", - "\n", - "# Iterate through the dictionary and extract values\n", - "for language, sentiment in sentiments.items():\n", - " print(f\"{language.capitalize()}: {sentiment}\")\n", - " encoder = LaserEncoderPipeline(lang=language)\n", - " # Now, you can use the trained model to predict the sentiment of user input\n", - " user_text = sentiment\n", - " user_text_embedding = encoder.encode_sentences([user_text])[0]\n", - " user_text_embedding = np.reshape(user_text_embedding, (1, -1))\n", - "\n", - " predicted_sentiment = np.argmax(model.predict(user_text_embedding))\n", - " predicted_sentiment_no = label_encoder.inverse_transform([predicted_sentiment])[0]\n", - " if predicted_sentiment_no == 0:\n", - " predicted_sentiment_label = 'negative'\n", - " elif predicted_sentiment_no == 1:\n", - " predicted_sentiment_label = 'positive'\n", - "\n", - " print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" - ] - }, { "cell_type": "markdown", "metadata": { From da2264510b82ff44870a84285bffe09f68cbb78b Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Thu, 7 Dec 2023 19:46:57 +0530 Subject: [PATCH 20/22] updated --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 116 +++++++++++++++++- 1 file changed, 114 insertions(+), 2 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index dcba7642..c8fe483e 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -935,13 +935,125 @@ "id": "SOxFqEdwcejj" }, "source": [ - "## Step 14:Zero-shot Sentiment Prediction for Multilingual Texts\n", + "## Step 14:Sentiment Prediction for Multilingual Texts\n", "\n", "This step involves iterating through a collection of sentiments expressed in various languages, including English, Hindi, Portuguese, Romanian, Slovenian, Chinese, French, Dutch, Russian, Italian, and Bosnian.\n", "\n", "This process demonstrates the model's ability to analyze sentiments across diverse linguistic contexts and still yeild same output." ] }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vjFvWEC0UOj0", + "outputId": "df2356ca-9fc7-46a2-ad85-9dde8f5d7f2b" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "English: Said something harsh and didn't even realize it's harsh until I said it.. Sorry\n", + "1/1 [==============================] - 0s 19ms/step\n", + "Predicted Sentiment: negative\n", + "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 608M/608M [00:12<00:00, 48.9MB/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "1/1 [==============================] - 0s 32ms/step\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", + " x = torch._nested_tensor_from_mask(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Predicted Sentiment: negative\n", + "Portuguese: Disse algo duro e nem percebi que era duro até dizer.. Desculpe\n", + "1/1 [==============================] - 0s 30ms/step\n", + "Predicted Sentiment: negative\n", + "Romanian: Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\n", + "1/1 [==============================] - 0s 22ms/step\n", + "Predicted Sentiment: negative\n", + "Slovenian: Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\n", + "1/1 [==============================] - 0s 20ms/step\n", + "Predicted Sentiment: negative\n", + "Chinese: 说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\n", + "1/1 [==============================] - 0s 26ms/step\n", + "Predicted Sentiment: negative\n", + "French: Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\n", + "1/1 [==============================] - 0s 21ms/step\n", + "Predicted Sentiment: negative\n", + "Dutch: Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\n", + "1/1 [==============================] - 0s 18ms/step\n", + "Predicted Sentiment: negative\n", + "Russian: Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\n", + "1/1 [==============================] - 0s 19ms/step\n", + "Predicted Sentiment: negative\n", + "Italian: Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\n", + "1/1 [==============================] - 0s 27ms/step\n", + "Predicted Sentiment: negative\n", + "Bosnian: Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\n", + "1/1 [==============================] - 0s 19ms/step\n", + "Predicted Sentiment: negative\n" + ] + } + ], + "source": [ + "sentiments = {\n", + " \"english\": \"Said something harsh and didn't even realize it's harsh until I said it.. Sorry\",\n", + " 'hindi': \"कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\",\n", + " 'portuguese': \"Disse algo duro e nem percebi que era duro até dizer.. Desculpe\",\n", + " 'romanian': \"Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\",\n", + " 'slovenian': \"Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\",\n", + " 'chinese': \"说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\",\n", + " 'french': \"Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\",\n", + " 'dutch': \"Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\",\n", + " 'russian': \"Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\",\n", + " 'italian': \"Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\",\n", + " 'bosnian': \"Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\"\n", + "}\n", + "\n", + "# Iterate through the dictionary and extract values\n", + "for language, sentiment in sentiments.items():\n", + " print(f\"{language.capitalize()}: {sentiment}\")\n", + " encoder = LaserEncoderPipeline(lang=language)\n", + " # Now, you can use the trained model to predict the sentiment of user input\n", + " user_text = sentiment\n", + " user_text_embedding = encoder.encode_sentences([user_text])[0]\n", + " user_text_embedding = np.reshape(user_text_embedding, (1, -1))\n", + "\n", + " predicted_sentiment = np.argmax(model.predict(user_text_embedding))\n", + " predicted_sentiment_no = label_encoder.inverse_transform([predicted_sentiment])[0]\n", + " if predicted_sentiment_no == 0:\n", + " predicted_sentiment_label = 'negative'\n", + " elif predicted_sentiment_no == 1:\n", + " predicted_sentiment_label = 'positive'\n", + "\n", + " print(f\"Predicted Sentiment: {predicted_sentiment_label}\")" + ] + }, { "cell_type": "markdown", "metadata": { @@ -967,4 +1079,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} +} \ No newline at end of file From 6df596614857462afbdb943bae696f93e5c8cd9f Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Thu, 7 Dec 2023 19:59:56 +0530 Subject: [PATCH 21/22] Changed the title of step 14 --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 7205 ++++++++++++++++- 1 file changed, 7098 insertions(+), 107 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index c8fe483e..deebdf79 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -9,6 +9,7 @@ "# Tutorial: Sentiment Analysis with LASER Embeddings and RNN\n", "\n", "In this tutorial, we will guide you through the process of installing the necessary libraries, downloading a sentiment analysis dataset, and building a sentiment analysis model using [LASER](https://github.com/facebookresearch/LASER) embeddings and a Recurrent Neural Network (RNN).\n", + "Despite being trained on English-language data, the model accurately analyzes texts in various languages.\n", "\n" ] }, @@ -31,7 +32,7 @@ "base_uri": "https://localhost:8080/" }, "id": "KZ_Eqn90J6CK", - "outputId": "676c0e86-9ac7-4214-aee6-6b3740d840ab" + "outputId": "4c8d8e6c-93d6-4072-af76-d8245f929ece" }, "outputs": [ { @@ -42,18 +43,18 @@ " Downloading laser_encoders-0.0.1-py3-none-any.whl (24 kB)\n", "Collecting sacremoses==0.1.0 (from laser_encoders)\n", " Downloading sacremoses-0.1.0-py3-none-any.whl (895 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m10.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m895.1/895.1 kB\u001b[0m \u001b[31m5.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting unicategories>=0.1.2 (from laser_encoders)\n", " Downloading unicategories-0.1.2.tar.gz (12 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Collecting sentencepiece>=0.1.99 (from laser_encoders)\n", " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m20.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m26.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy>=1.21.3 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (1.23.5)\n", "Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from laser_encoders) (2.1.0+cu118)\n", "Collecting fairseq>=0.12.2 (from laser_encoders)\n", " Downloading fairseq-0.12.2.tar.gz (9.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m46.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.6/9.6 MB\u001b[0m \u001b[31m70.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Installing backend dependencies ... \u001b[?25l\u001b[?25hdone\n", @@ -66,15 +67,15 @@ "Requirement already satisfied: cython in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (3.0.6)\n", "Collecting hydra-core<1.1,>=1.0.7 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading hydra_core-1.0.7-py3-none-any.whl (123 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m17.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 kB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting omegaconf<2.1 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", "Collecting sacrebleu>=1.4.12 (from fairseq>=0.12.2->laser_encoders)\n", " Downloading sacrebleu-2.3.3-py3-none-any.whl (106 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m15.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.4/106.4 kB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting bitarray (from fairseq>=0.12.2->laser_encoders)\n", " Downloading bitarray-2.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (279 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m33.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m279.9/279.9 kB\u001b[0m \u001b[31m27.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from fairseq>=0.12.2->laser_encoders) (2.1.0+cu118)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (3.13.1)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->laser_encoders) (4.5.0)\n", @@ -86,7 +87,7 @@ "Requirement already satisfied: appdirs in /usr/local/lib/python3.10/dist-packages (from unicategories>=0.1.2->laser_encoders) (1.4.4)\n", "Collecting antlr4-python3-runtime==4.8 (from hydra-core<1.1,>=1.0.7->fairseq>=0.12.2->laser_encoders)\n", " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 kB\u001b[0m \u001b[31m15.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.10/dist-packages (from omegaconf<2.1->fairseq>=0.12.2->laser_encoders) (6.0.1)\n", "Collecting portalocker (from sacrebleu>=1.4.12->fairseq>=0.12.2->laser_encoders)\n", @@ -100,13 +101,13 @@ "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->laser_encoders) (1.3.0)\n", "Building wheels for collected packages: fairseq, unicategories, antlr4-python3-runtime\n", " Building wheel for fairseq (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291810 sha256=b3ff4cd627ac15739369c768af1fa74a1c911e60d10bc09570d8c04384072df5\n", + " Created wheel for fairseq: filename=fairseq-0.12.2-cp310-cp310-linux_x86_64.whl size=11291812 sha256=d6e901a4343c5ff920f12c372773eda078dda7be8955c66d11406617e3dc3519\n", " Stored in directory: /root/.cache/pip/wheels/e4/35/55/9c66f65ec7c83fd6fbc2b9502a0ac81b2448a1196159dacc32\n", " Building wheel for unicategories (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=fb20e9008f97ee786cb12128df14de420df546539f285aebfdf4f3829946c070\n", + " Created wheel for unicategories: filename=unicategories-0.1.2-py2.py3-none-any.whl size=30843 sha256=31556e02d7c4d0d4e0091974bbf384f04859b44ed83cc3b393d2810a9e4f2027\n", " Stored in directory: /root/.cache/pip/wheels/0b/6d/14/7135674b9daa3996f7f0d9bc1ccff5b7d50d6f1c4a16dc7d90\n", " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=682ffa050c1760f3146c3a701817c59ead0a92d6dd2f0aaa79e31cbb1c4d8f9a\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141210 sha256=34c258aea7d9045a058a75577c46fa94f3f766635f64f8e261bff829d5ddf52d\n", " Stored in directory: /root/.cache/pip/wheels/a7/20/bd/e1477d664f22d99989fd28ee1a43d6633dddb5cb9e801350d5\n", "Successfully built fairseq unicategories antlr4-python3-runtime\n", "Installing collected packages: sentencepiece, bitarray, antlr4-python3-runtime, unicategories, sacremoses, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq, laser_encoders\n", @@ -146,7 +147,7 @@ "base_uri": "https://localhost:8080/" }, "id": "bxnIqaniSXbG", - "outputId": "de4afbae-4246-42e1-e846-d928f4b6b520" + "outputId": "d000e9cf-aa56-4173-de99-3d8f733ffdb5" }, "outputs": [ { @@ -156,21 +157,21 @@ "Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n", "Collecting datasets\n", " Downloading datasets-2.15.0-py3-none-any.whl (521 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m4.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.10/dist-packages (from datasets) (1.23.5)\n", "Requirement already satisfied: pyarrow>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (9.0.0)\n", "Collecting pyarrow-hotfix (from datasets)\n", " Downloading pyarrow_hotfix-0.6-py3-none-any.whl (7.9 kB)\n", "Collecting dill<0.3.8,>=0.3.0 (from datasets)\n", " Downloading dill-0.3.7-py3-none-any.whl (115 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m16.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from datasets) (1.5.3)\n", "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2.31.0)\n", "Requirement already satisfied: tqdm>=4.62.1 in /usr/local/lib/python3.10/dist-packages (from datasets) (4.66.1)\n", "Requirement already satisfied: xxhash in /usr/local/lib/python3.10/dist-packages (from datasets) (3.4.1)\n", "Collecting multiprocess (from datasets)\n", " Downloading multiprocess-0.70.15-py310-none-any.whl (134 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m11.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m19.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: fsspec[http]<=2023.10.0,>=2023.1.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2023.6.0)\n", "Requirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from datasets) (3.9.1)\n", "Requirement already satisfied: huggingface-hub>=0.18.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (0.19.4)\n", @@ -214,7 +215,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 3, "metadata": { "id": "LN0F4-9AR8_k" }, @@ -260,11 +261,494 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": { - "id": "K0CKtslqNlQg" + "id": "K0CKtslqNlQg", + "outputId": "b9e2ddd9-7fd5-4eec-fcc7-443b0d0b1b76", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 625, + "referenced_widgets": [ + "f720e5b0f068453895e8f931d83792bd", + "09adc94479c14590971e97b21b6a5d6e", + "93283eaea26547c891d16c64e20d3fb4", + "d36b419d21734f09b8667362c11536b4", + "ef1231caedd343a08a2b08e8f513a67f", + "49600a623e5a423b8299aa12527c172e", + "0eac091d915340a5948cf80aed896ef8", + "6898685d25ee4805b7fec0378365ffa0", + "f174f333e840477ba96c910213a81d0a", + "b79d7facd6d7485cb92dc4c053551e40", + "ddac597cb7134c098050fc68de47b478", + "ff9f1d437bac40b0aa93e4839069deb2", + "07078068134d4a11987f88bdf0b08f17", + "fc4458f874424781bbd52adc4f441a37", + "0925e66d052145bcb3480604f3da4cda", + "4f4ae616c7c343edada8b37ca4027125", + "b1b81a92053b4c3fa5c76caef02563b6", + "c4012bd1af3945f28f62c7c1307458e5", + "d04039432648443082f031df11d445c9", + "028b74f6c2fe4fd999507b3ed0f03f21", + "ece324a1271b46b98a8b6fd5ba384236", + "8471e543444f44f09e59b4fe964ed82e", + "ed79c826a7194b5a9942671d86e2379d", + "8194ea8f5b0a4c8cb5f999ec0c87a633", + "81b0c62b427040c0a085e7e63db46ac3", + "91799ab4c0864ba9a9a8dd54f73cf7a4", + "91598533cd7f48f5a708543bf5f3bab6", + "543c8cc6dd0f4ccd99e48c038543cd9f", + "debe32e761d34be1a2c30d801a2451be", + "d958d6f7c1284adeae233a13353ba3d0", + "49a44fb68bca4ea19a6ffcf794f3039a", + "e991a429e51d4980b1374992b1bd3fb3", + "6224481255304438bafa996d1981bd9b", + "822edeea9ecf4c16b9bcf7951eed3792", + "8e4c08035b694012922777750beb333e", + "0b19af29fefa46749ec3efa4af03bd85", + "4f6d03ac52c04d3f8da9b7796054b648", + "2c73ded880e14d7fbae4d3abc94262c2", + "92459ab6b11d47dba3db1fc162972efd", + "91a1b97822fc40eeb827c34fd15c74b6", + "de9ac409b2104355b33f3224a58d5d24", + "103a16e8a0cb4abeaff11b881ad45cd7", + "48a424c068e247b889628fe97265550a", + "cd33f15aee464f798cba807dce8440e9", + "a441f30832cc435c8bbe4176a4eb6397", + "38e802c8fcee4125815f972d7c7a0fff", + "cf58b80e62454c939e14a0cf451a0aa2", + "94dad8d2649c403dbb443c7e3d8b1097", + "6daf5ef868b847d397fb3924b1b74d35", + "95991639ef264d37a509f8bd9ecdf7c8", + "f7d58ab0578b49e39939c05192016146", + "9d0edf01c6574b6da5e2fd9ffc9146aa", + "935634cd3d1340d3986110539c3fcc76", + "2001d69064ec4b78be911fe41c06b468", + "074215c3ae704b939e205bc604a6339d", + "caf5cd41ecb44a50b80508f7cb6792f2", + "2ada78a1a43a42668dba150700b257ea", + "abdd89a240da41858e2eedbe80a3a084", + "7ed6cb7e905f43768e21ceb29c674215", + "e8aa467e689c47c5a52738dc8620d529", + "75560191f732426e8d48348d9519c1f0", + "bbae5295c7814f8aa8a83b6c7c4622f2", + "f73ecd74491647148a180a05c52e69b8", + "f312478e6d794daa9625836628caf03f", + "0cc7dfd0ff934b649b76b3917602f1be", + "afd3066953514cd59f31e15e4d2915e7", + "a652e69a7c0044f190068adae92d4461", + "146c22e8c0654103944d314f183beac1", + "9384d6d22f3643219151ad248a0d2fc7", + "5780154511334024bedf4323a4c87227", + "f6d52c07e696497c9744d30e48c4f8ba", + "848fb54cd20347f8b61579415190dd92", + "9e5e85f4d62b4a699c28f7cf5567dd46", + "017322c8e90b48ae9164efe2569c2727", + "9658ed7253c940548fb40a4b320ac1b4", + "390e468c3044442aacca917d23d5709d", + "eb1a99d40b2b426a80884f1577f18948", + "489f5cfe7b244bdd85122db470ad7d2a", + "0799153be5ac4d209c20817dfd187cf8", + "7188ef2547fb49a79f044755eda0e7ca", + "70b549e449864f4795d7fca0ceb21b3a", + "458ec4577122485dae1acbf046fb6701", + "c6bf49b2298c4d9eb9035fb860b539e7", + "eff0a998e46046fe8cbeed279d4956c3", + "a2956bc417f8442a93ace1630b4f6c5c", + "1e3ece313db34ed89f7c97bda5d94136", + "26215544657644888e95c477b5875804", + "a2c144716157471f86cff341ec3a188e", + "55130e2f028e4711a48477b69601295d", + "93cb42215da44d2ba4213b835d252eab", + "94d0bf4b5dce4ec8b33600c8b3472630", + "c55c9f7cf12b40a4bf753945ddd96f05", + "1fa1643b342b485d9b6697d7cefeddac", + "dd417a969ac849baa6929d18ada5d1c9", + "dfdcf8520708413da2dc151f41c193c0", + "c0fb53db671b4d26ac06c6c3c9933b15", + "0da9f1a610f244249d7dbe73df3ac5ee", + "0169f1f662334c438b88fcdadfbcbfd4", + "ba97193bfa6442bb929be164fc9a7463", + "36bd99d5f08c4fdabada7157edff32ea", + "5c9e7ebc6e5d41bab8328e93513913ad", + "f2b117616f3b4eedb96986bab63a6692", + "91e0f48982364466a14fbd0c5364d336", + "28514f23fe78478faf8d4ee54c03f573", + "adb329d31dc94bbb9447099ee12802a4", + "e46269bca9ac4f289ae58b63a9b50c05", + "727e09b03a2841fab93af2ccdc800619", + "b240fb02e8184aa58d1eba709b1991bc", + "1e467554461f4cc2ae842712b59feea8", + "28848374ffd84ecd869acd909f966885", + "6970e3f5318c425bb682a11fe2710eb8", + "93cd1a99f280417fa21c10147d3086a2", + "88c000f55dbb48129f1d719207084ddb", + "f4eda86e937a4a548024f662723e37a3", + "199692beb0204413b8e3212ea7a3a030", + "bdb1639f2264475c96a6665fd0a16fdf", + "87007da808364f3a8f464fed05c92a0d", + "e932af18b3734c50b3d7d12972408a8d", + "9e9516808b2e406c9e1010f23d5b26c0", + "70f0780e3ac143eaa5793bd75b1dd0d4", + "62c52ca8fa1147c594cfc1b0e891992f", + "40f69f00418b4f3e90061376bac624d5", + "dc0da9cdfd2e41998f4e2f3a04dfc658", + "a4493afa196e4888aa1d1b2b06a181a0", + "c25e4db8dbbc4aef980fa2463678306f", + "2a432c2f7e4b44c2926fc6a5460c27ed", + "c7d932f531e0499ab8318f32834dae51", + "a50c23d78cc445879300f98af0ac69ae", + "8774f73644024974a3116309684f0c7c", + "85d4eb30714f4d66b1fe1f77887554ca", + "7d8e46bd108d41adae04baa12963bb56", + "5d5a7becafcb45808dfe65cb660e6827", + "27ce5829e05149a39ea9afd2e6f0fc98", + "aae06c7d529c418b9841a348bc444d3a", + "52a4fd97b2094096a0a23d8bb097a686", + "1ce195a3a1354811945728f81568da2a", + "e0f1add308c74732b8e488e2057becf4", + "6f1ca069baf04a5da2861661dadbc662", + "8af4d1f70cd944ddadf8ea36ac38c58e", + "400f27da06e749d5be0a61accaf43a0c", + "3f813851ad10411ab48f26e765dc9cff", + "2908cee0b3524c82a262c0d5b78fddfb", + "35710d549e274f58abd02c54be72c6c2", + "46e5647a158d4d83a89a08991191bcbb", + "1dff1987bcc64508b236a2a5bf9cec2a", + "70f57872c19447aa9b0d2d9e5bcf0570", + "461c8ba97e25462189b95f238a27044e", + "f7985d5de72648c2a4334b89ee603f7c", + "43da3b6e0120420bacc56bb081c560ec", + "031f9bd8994f498db14409e4e7f1cf03", + "6c4658d876b44a84b360d061bb68ed66", + "439aa1daa2424e49a07ec12ed29ac351", + "88dd9b1409f04bfc9993bcd0244777fe", + "c979b3835a7b49ae8ab8947cf13707d5", + "0bccff746d854f2cba07592a9f1259f5", + "c59fec8321c64cb98488e70f9ef78740", + "5a7ea78609464fb0b4b6c1e4a3597613", + "269568a9089f40ccb9a0c62efb6c3770", + "1ee4b4a1f0014f60b88656f97f31dd51", + "65eeb8ee0eeb4127a0d5bd27e2aee5b7", + "4a8a0369a02d45b0ba6b3714180da358", + "303510fad09b4534aed23aa783256b89", + "35377e401e344f27b3f86567e03b8665", + "3c13ee6ac4364612bc17ef3ffd6b3429", + "fc4f53f70e3446a1b93a144879dd8c2d", + "495a8f52054743509e151806da0abbfa", + "8c22504ccaee4cbf9bdfef0c120590b2", + "df38d84cc6ae40788c0f164cc251f185", + "cc4803dc285b471685e754d1e442c6fd", + "e875464290684953b527904557f3528e", + "9bb3360a875543ae82ee5480acac4796", + "2a7dda9c5aac4087951f16e5b5ac96b7", + "f578471ef71447758cfd82bd8bdc99e0", + "ebc67fdc3a434f4f8a52e12faa935dea", + "e138aec3fffe40fc8855ff43e8bdc96e", + "06a0f93bdfcb4b6d9f2bd0488565c650", + "271cfea7b9a4422ba78ad0513d8091e9", + "7ec9e74bff04481da80fe3370e876420", + "5bd26ff88cf248d4aabe2fcf5446cd5c", + "adf9c6b09bd54777996a1f9673d7f694", + "6e9fdbd4fd544b15a04dd0729aedcaae", + "6581c29cdfb04ea59400f8061d796fe3", + "d115499e37a34b8690d6849494aa65ae", + "13826beae5f042db9b6d3e3f3807f85e", + "14c66c78bd1b4313b789a79ddb265a45", + "f02baf3f36754d8f87241f7184ffb75c", + "cda0be8a5d5847ca989c89fff99dac1f", + "3103d44d02bb45beb33588cf708ba811", + "58385a662e624c63b2d317b5b6840037", + "736c636e2b274ffeb9aac319d56a37a7", + "002e4045b9b44bfc84571412f0f11624", + "5969054c9cf34ed1a638a69bcbbb377a", + "c24af0f963b7460d9d38e3b09081f949", + "65055dbabf0440d1a6b0c0189553ffcf", + "c8b52ae553bb4745b0444e6476da535d", + "f7e102b56feb46c68f968056adaec751", + "2c7208b82d5c42adb83acc50af9e2a29", + "ed390a926cd14072bc95e2054d184541", + "2831a9ec119a495bbde153ee1eb37c66", + "e830bae8320b44a4bec4a8652e3d8472", + "f44ba78d0c29409bbd1e24134d5335da", + "0ba6d5b1963e4ec1a2a6bc72990bc5a3", + "b01e8fb3d39c4aa986da3ac2b0a16ec7", + "0411fc784d604202afbfbf43a915e467", + "3246b30f178c4fe9a256e6e326546cbd", + "e764d414a9db4f9bbb3bf42a5f8b780a", + "fca8c1d470cb49b08c8066676d70aed3", + "f01e1dee781d49939d3204cdfe991def", + "8badb18f053f407e83699688cc0c5999" + ] + } }, - "outputs": [], + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Downloading builder script: 0%| | 0.00/4.38k [00:00" + "" ] }, "metadata": {}, - "execution_count": 21 + "execution_count": 10 } ], "source": [ @@ -764,34 +1257,34 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Kx4_t2UjgALF", - "outputId": "f1c5c90d-fddd-4040-bb74-6eda456a4ea6" + "outputId": "2c65a96c-1bb0-46a5-c0d4-3fb34fbaae6b" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "150/150 [==============================] - 0s 3ms/step - loss: 0.4755 - accuracy: 0.7740\n", - "Accuracy: 77.40%\n", + "150/150 [==============================] - 0s 2ms/step - loss: 0.4879 - accuracy: 0.7581\n", + "Accuracy: 75.81%\n", "150/150 [==============================] - 0s 2ms/step\n", - "Label 0: Precision = 0.77, Recall = 0.79\n", - "Label 1: Precision = 0.78, Recall = 0.76\n", + "Label 0: Precision = 0.75, Recall = 0.77\n", + "Label 1: Precision = 0.77, Recall = 0.74\n", "\n", "Classification Report:\n", " precision recall f1-score support\n", "\n", - " 0 0.77 0.79 0.78 2399\n", - " 1 0.78 0.76 0.77 2401\n", + " 0 0.75 0.77 0.76 2399\n", + " 1 0.77 0.74 0.75 2401\n", "\n", - " accuracy 0.77 4800\n", - " macro avg 0.77 0.77 0.77 4800\n", - "weighted avg 0.77 0.77 0.77 4800\n", + " accuracy 0.76 4800\n", + " macro avg 0.76 0.76 0.76 4800\n", + "weighted avg 0.76 0.76 0.76 4800\n", "\n" ] } @@ -842,14 +1335,14 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 564 }, "id": "kPY816C7gEOw", - "outputId": "99cd0f52-00ab-45d6-99b2-58f0e0bfd2a8" + "outputId": "d3034218-ab2c-45a6-b081-679bccffba94" }, "outputs": [ { @@ -858,7 +1351,7 @@ "text/plain": [ "
" ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAIjCAYAAAB1bGEnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABau0lEQVR4nO3deVxUZfvH8e+AMIAoiIK4EKiY+1L6aC65FIZlpWlprkipae5oj9rmkonWY5rmo2XumVluueWSaWWa+5YLLqmUgitoiIIw5/eHP+dpAhWUYUb5vHud18u5555zrjPMxMV13+c+JsMwDAEAACBPc3F0AAAAAHA8kkIAAACQFAIAAICkEAAAACIpBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACASAqB+1KjRo3UqFEj6+MTJ07IZDJp5syZuRpH586dFRISkqvHvFtz5sxR+fLl5ebmJl9f3xzf/7Bhw2QymXJ8v/crR30mAdw9kkI8kGbOnCmTySQPDw+dOnUqw/ONGjVS5cqVHRBZ3rZ48WI9/fTTKlKkiNzd3VW8eHG1bt1aP/zwg12Pe+jQIXXu3FllypTR1KlT9dlnn9n1eLnNZDLJZDKpS5cumT7/1ltvWfucP38+2/tfuXKlhg0bdo9RAnB2JIV4oKWkpGj06NGODsPugoODdfXqVXXs2NHRoWTKMAxFRkaqZcuWOnPmjKKiojRlyhT17NlTv//+u5588klt2rTJbsffsGGDLBaLPv74Y3Xu3FmtW7fO8WO8/fbbunr1ao7vN6s8PDy0cOFCpaamZnhu3rx58vDwuOt9r1y5UsOHD8/Wa5z9MwkgI5JCPNCqV6+uqVOn6vTp03Y7hmEYDk0GJFmroq6urg6N41bGjh2rmTNnql+/ftqxY4fefPNNvfLKK3rrrbe0fft2zZ49W/ny5bPb8c+ePStJdhk2vilfvnz3lHjdq6ZNm+ry5cv67rvvbNo3bdqk48ePq1mzZrkSR1pamlJTU53+MwkgI5JCPNDefPNNpaenZ6lamJaWpvfee09lypSR2WxWSEiI3nzzTaWkpNj0CwkJ0bPPPqvVq1erZs2a8vT01KeffqoNGzbIZDLp66+/1vDhw1WiRAkVKFBAL774oi5duqSUlBT169dPAQEB8vb2VmRkZIZ9z5gxQ0888YQCAgJkNptVsWJFTZ48+Y6x/3P+1s1YMtv+OQfwu+++0+OPP678+fOrQIECatasmfbv35/hGEuWLFHlypXl4eGhypUra/HixXeMS5KuXr2q6OholS9fXv/5z38ynXfXsWNH1apVy/r4999/10svvSQ/Pz95eXnpscce04oVK2xe8/f3+/3331fJkiXl4eGhJ598UkePHrX2CwkJ0dChQyVJ/v7+MplM1qHQv//770JCQtS5c2fr4+vXr2v48OEqW7asPDw8VLhwYdWvX19r16619slsTmF2P1MbN25UrVq15OHhodKlS2v27Nm3f3P/pkSJEmrQoIG+/PJLm/a5c+eqSpUqmU6X+Pnnn/XSSy/poYcektlsVlBQkPr372/zR07nzp01adIk6/t1c5P+97n7z3/+o/Hjx1vP88CBAxk+k2fPnpW/v78aNWokwzCs+z969Kjy58+vNm3aZPlcAdiH/f40B5xAqVKl1KlTJ02dOlWDBw9W8eLFb9m3S5cumjVrll588UUNGDBAW7ZsUXR0tA4ePJghAYqJiVHbtm312muvqWvXripXrpz1uejoaHl6emrw4ME6evSoJk6cKDc3N7m4uCghIUHDhg3Tr7/+qpkzZ6pUqVJ69913ra+dPHmyKlWqpOeff1758uXTsmXL9Prrr8tisahnz55ZPu8KFSpozpw5Nm2JiYmKiopSQECAtW3OnDmKiIhQeHi4xowZo+TkZE2ePFn169fXrl27rAnkmjVr1KpVK1WsWFHR0dG6cOGCIiMjVbJkyTvGsnHjRl28eFH9+vXLUtXozJkzqlu3rpKTk9WnTx8VLlxYs2bN0vPPP68FCxbohRdesOk/evRoubi4aODAgbp06ZI++OADtW/fXlu2bJEkjR8/XrNnz9bixYs1efJkeXt7q2rVqneM4++GDRum6OhodenSRbVq1dLly5e1fft27dy5U02aNLnl67LzmTp69KhefPFFvfrqq4qIiND06dPVuXNn1ahRQ5UqVcpSnO3atVPfvn2VlJQkb29vpaWl6ZtvvlFUVJSuXbuWof8333yj5ORk9ejRQ4ULF9bWrVs1ceJE/fnnn/rmm28kSa+99ppOnz6ttWvXZvhM3TRjxgxdu3ZN3bp1k9lslp+fnywWi02fgIAATZ48WS+99JImTpyoPn36yGKxqHPnzipQoID++9//ZukcAdiRATyAZsyYYUgytm3bZhw7dszI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2q9w4cIqV66cDh48KEnq06ePevTooTVr1igsLEytWrW6pzsz5cuXT61bt9bcuXPVsWNHXblyRd9++62++uorSdLRo0eVnJysJk2a2LwuNTVVjzzyyF0fF7jpbn83HD58WPny5dOjjz5qfT40NNS69NxN33//vaKjo3Xo0CFdvnxZaWlpunbtmpKTk7M8Z5DvSc5wiuHj5ORkvfrqq/Ly8lKlSpUUGxsrSerdu3eGK59gPw0aNFB4eLiGDBli056UlKTXXntNu3fvtm579uzRkSNHrFeMm0wmGf9Y8vLmcNqd5M+f3+bxlStXFB4eroIFC2ru3Lnatm2bFi9eLIkLUZB7GjdurN27d+vIkSO6evWqZs2alaWrLrt06aLff/9dHTt21L59+1SzZk1NnDjxnmJp37691q1bp7Nnz2rJkiXy9PRU06ZNJck6XLZixQqb7+iBAweYL4UccS+/G+7kxIkTevbZZ1W1alUtXLhQO3bs0KRJkyRl///3fE/unVOU44YMGaI9e/Zow4YN1h+gdGOS67BhwzR48GAHRpe3jB49WtWrV7de8CFJjz76qA4cOKDQ0NBbvs7f319xcXHWx0eOHFFycrL18c1KYHp6+h1jOHTokC5cuKDRo0dbFyvfvn17ts8FuBf58+fP8JmvUKGC0tLStGXLFtWtW1eSdOHCBcXExNhUsIOCgtS9e3d1795dQ4YM0dSpU9W7d+8Mx3B3d8/Sd6Ju3boKCgrS/Pnz9d133+mll16Sm5ubJKlixYoym82KjY1Vw4YN7+WUgVu6m98N5cqVU1pamnbt2qUaNWpIulGx+/vVzDt27JDFYtHYsWPl4nKjTvX111/b7IfvSe5xiqRwyZIlmj9/vh577DGbv8QrVaqkY8eOOTCyvKdKlSpq3769za0HBw0apMcee0y9evVSly5dlD9/fh04cEBr167VJ598Ikl64okn9Mknn6hOnTpKT0/XoEGDrF9GSQoICJCnp6dWrVqlkiVLysPDw7pW2z899NBDcnd318SJE9W9e3f99ttveu+99+x74kAWlC1bVs2bN1fXrl316aefqkCBAho8eLBKlCih5s2bS5L69eunp59+Wg8//LASEhK0fv36W06xCAkJUVJSktatW6dq1arJy8vrlsNl7dq105QpU3T48GGtX7/e2l6gQAENHDhQ/fv3l8ViUf369XXp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\n" + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAIjCAYAAAB1bGEnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABa8klEQVR4nO3deXxMZ/vH8e8kkslGIiRia4K0iL081FJLG43SllZbrS3SolRRwVPaWttKl8dSy0OpvapaSm21VNEqtW9FbbW0JNaERsg25/eHn3k6kpCQyQz5vL3O62Xuuc8514wZuXLd97mPyTAMQwAAAMjXXBwdAAAAAByPpBAAAAAkhQAAACApBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACASAoBAAAgkkLgntS4cWM1btzY+vj48eMymUyaMWNGnsbRqVMnhYSE5Ok579Ts2bNVoUIFubm5yc/PL9ePP3ToUJlMplw/7r3KUZ9JAHeOpBD3pRkzZshkMsnDw0OnTp3K8Hzjxo1VuXJlB0SWvy1cuFBPPvmkihYtKnd3d5UoUUIvvviifvzxR7ue9/fff1enTp1Urlw5TZkyRZMnT7br+fKayWSSyWRS586dM33+nXfesfY5f/58jo+/fPlyDR069C6jBODsSApxX0tOTtaHH37o6DDsLjg4WFevXlWHDh0cHUqmDMNQVFSUnnvuOZ05c0bR0dGaNGmSevTooT/++EOPP/64Nm7caLfzr1u3ThaLRZ9++qk6deqkF198MdfP8e677+rq1au5ftzs8vDw0IIFC5SSkpLhublz58rDw+OOj718+XINGzYsR/s4+2cSQEYkhbivVa9eXVOmTNHp06ftdg7DMByaDEiyVkVdXV0dGkdWRo4cqRkzZujNN9/U9u3b9fbbb+uVV17RO++8o23btmnWrFkqUKCA3c5/9uxZSbLLsPENBQoUuKvE6241a9ZMly9f1vfff2/TvnHjRh07dkwtWrTIkzjS0tKUkpLi9J9JABmRFOK+9vbbbys9PT1b1cK0tDS99957KleunMxms0JCQvT2228rOTnZpl9ISIieeuoprVy5UrVq1ZKnp6c+++wzrVu3TiaTSV9//bWGDRumkiVLqmDBgnr++ed16dIlJScn680331RgYKB8fHwUFRWV4djTp0/XY489psDAQJnNZoWFhWnixIm3jf3m+Vs3Yslsu3kO4Pfff69HH31U3t7eKliwoFq0aKF9+/ZlOMeiRYtUuXJleXh4qHLlylq4cOFt45Kkq1evKiYmRhUqVNB//vOfTOfddejQQbVr17Y+/uOPP/TCCy/I399fXl5eeuSRR7Rs2TKbff75fn/wwQcqVaqUPDw89Pjjj+vIkSPWfiEhIRoyZIgkKSAgQCaTyToU+s+//1NISIg6depkfZyamqphw4bpwQcflIeHh4oUKaIGDRpo9erV1j6ZzSnM6Wdqw4YNql27tjw8PFS2bFnNmjXr1m/uP5QsWVINGzbUl19+adM+Z84cValSJdPpEj///LNeeOEFPfDAAzKbzSpdurT69Olj80tOp06dNGHCBOv7dWOT/ve5+89//qMxY8ZYX+f+/fszfCbPnj2rgIAANW7cWIZhWI9/5MgReXt7q02bNtl+rQDsw36/mgNOoEyZMurYsaOmTJmiAQMGqESJEln27dy5s2bOnKnnn39effv21ebNmxUTE6MDBw5kSIAOHjyol19+Wa+99pq6dOmi8uXLW5+LiYmRp6enBgwYoCNHjmjcuHFyc3OTi4uL4uPjNXToUP3666+aMWOGypQpo8GDB1v3nThxoipVqqRnnnlGBQoU0JIlS/T666/LYrGoR48e2X7dFStW1OzZs23aEhISFB0drcDAQGvb7NmzFRkZqYiICH300UdKSkrSxIkT1aBBA+3cudOaQK5atUqtW7dWWFiYYmJidOHCBUVFRalUqVK3jWXDhg26ePGi3nzzzWxVjc6cOaN69eopKSlJvXr1UpEiRTRz5kw988wzmj9/vp599lmb/h9++KFcXFzUr18/Xbp0SR9//LHatWunzZs3S5LGjBmjWbNmaeHChZo4caJ8fHxUtWrV28bxT0OHDlVMTIw6d+6s2rVr6/Lly9q2bZt27Nihpk2bZrlfTj5TR44c0fPPP69XX31VkZGRmjZtmjp16qSaNWuqUqVK2Yqzbdu26t27txITE+Xj46O0tDR98803io6O1rVr1zL0/+abb5SUlKTu3burSJEi2rJli8aNG6e//vpL33zzjSTptdde0+nTp7V69eoMn6kbpk+frmvXrqlr164ym83y9/eXxWKx6RMYGKiJEyfqhRde0Lhx49SrVy9ZLBZ16tRJBQsW1H//+99svUYAdmQA96Hp06cbkoytW7caR48eNQoUKGD06tXL+nyjRo2MSpUqWR/v2rXLkGR07tzZ5jj9+vUzJBk//vijtS04ONiQZKxYscKm79q1aw1JRuXKlY2UlBRr+8svv2yYTCbjySeftOlft25dIzg42KYtKSkpw2uJiIgwypYta9PWqFEjo1GjRtbHx44dMyQZ06dPz/T9sFgsxlNPPWX4+PgY+/btMwzDMP7++2/Dz8/P6NKli03fuLg4w9fX16a9evXqRvHixY2EhARr26pVqwxJGV7DzT799FNDkrFw4cJb9rvhzTffNCQZP//8s7Xt77//NsqUKWOEhIQY6enphmH87/2uWLGikZycnOF8e/futbYNGTLEkGScO3fO5lySjCFDhmSIITg42IiMjLQ+rlatmtGiRYtbxn3jHDfcyWfqp59+sradPXvWMJvNRt++fW953huvo0ePHsbFixcNd3d3Y/bs2YZhGMayZcsMk8lkHD9+PNP3ILPPW0xMjGEymYwTJ05Y23r06GFk9uPixueuUKFCxtmzZzN97ubP5Msvv2x4eXkZhw4dMj755BNDkrFo0aLbvkYA9sfwMe57ZcuWVYcOHTR58mTFxsZm2mf58uWSpOjoaJv2vn37SlKGocsyZcooIiIi02N17NhRbm5u1sd16tSRYRh65ZVXbPrVqVNHf/75p9LS0qxtnp6e1r9funRJ58+fV6NGjfTHH3/o0qVLt3upWXrvvfe0dOlSzZgxQ2FhYZKk1atXKyEhQS+//LLOnz9v3VxdXVWnTh2tXbtWkhQbG6tdu3YpMjJSvr6+1mM2bdrUeqxbuXz5siSpYMGC2Yp1+fLlql27tho0aGBt8/HxUdeuXXX8+HHt37/fpn9UVJTc3d2tjx999FFJ14egc4ufn5/27dunw4cPZ3ufnH6mwsLCrLFL14e6y5cvn6PXUbhwYTVr1kxz586VJH355ZeqV6+egoODM+3/z8/blStXdP78edWrV0+GYWjnzp3ZPm/r1q0VEBCQrb7jx4+Xr6+vnn/+eQ0aNEgdOnRQy5Yts30uAPZDUoh84d1331VaWlqWcwtPnDghFxcXhYaG2rQHBQXJz89PJ06csGkvU6ZMlud64IEHbB7fSKRKly6dod1isdgke7/88ovCw8Pl7e0tPz8/BQQE6O2335akO04KV6xYoWHDhmngwIFq3bq1tf1GgvPYY48pICDAZlu1apX14owbr/3BBx/McOx/DptnpVChQpKkv//+O1vxnjhxItPjVqxY0SaeG25+vwsXLixJio+Pz9b5smP48OFKSEjQQw89pCpVqqh///7as2fPLffJ6Wfq5tchXX8tOX0dbdu21erVq3Xy5EktWrRIbdu2zbLvyZMn1alTJ/n7+8vHx0cBAQFq1KiRpJx93m71fbiZv7+/xo4dqz179sjX11djx47N9r4A7Is5hcgXypYtq/bt22vy5MkaMGBAlv2yu/jwPyssN8tq3lxW7cb/T7o/evSoHn/8cVWoUEGjRo1S6dKl5e7uruXLl2v06NEZ5mhlx7Fjx9SuXTs1bdpU77//vs1zN443e/ZsBQUFZdg3t64GrlChgiRp7969atWqVa4c859u977eifT0dJvHDRs21NGjR/Xdd99p1apV+vzzzzV69GhNmjQpy7UBb8juZyq3Xsczzzwjs9msyMhIJScnZ7n8Tnp6upo2baqLFy/qrbfeUoUKFeTt7a1Tp06pU6dOOfq83er7kJmVK1dKup64//XXX3a9KhxA9pEUIt9499139cUXX+ijjz7K8FxwcLAsFosOHz5srUhJ1y96SEhIyHL4LTctWbJEycnJWrx4sU3V6MYwbk5dvXpVzz33nPz8/DR37ly5uNgODJQrV07S9QsAwsPDszzOjdee2dDpwYMHbxtHgwYNVLhwYc2dO1dvv/32bS82CQ4OzvS4v//+u008uaFw4cJKSEiwaUtJScl0moG/v7+ioqIUFRWlxMRENWzYUEOHDs0yKXTUZ8rT01OtWrXSF198YV0oPDN79+7VoUOHNHPmTHXs2NHa/s8rqm/IzTu1rFixQp9//rn+/e9/a86cOYqMjNTmzZvtuiQRgOxh+Bj5Rrly5dS+fXt99tlniouLs3muefPmkq5fqfpPo0aNkqQ8WePtRrL0z8rQpUuXNH369Ds6Xrdu3XTo0CEtXLjQOqT6TxERESpUqJBGjBih1NTUDM+fO3dOklS8eHFVr15dM2fOtBlSXL16dYb5fZnx8vLSW2+9pQMHDuitt97KtPL1xRdfaMuWLZKu/1ts2bJFmzZtsj5/5coVTZ48WSEhIdmax5hd5cqV008//WTTNnny5AyVwgsXLtg89vHxUWhoaIalZf7JkZ+pfv36aciQIRo0aFCWfTL7vBmGoU8//TRDX29vb0nKkEDnVEJCgvUK7hEjRujzzz/Xjh07NGLEiLs6LoDcwa9myFfeeecdzZ49WwcPHrRZ5qNatWqKjIzU5MmTlZCQoEaNGmnLli2aOXOmWrVqpSZNmtg9tieeeELu7u56+umn9dprrykxMVFTpkxRYGBglhfIZGXZsmWaNWuWWrdurT179tjMf/Px8VGrVq1UqFAhTZw4UR06dNDDDz+sl156SQEBATp58qSWLVum+vXra/z48ZKuL7PTokULNWjQQK+88oouXryocePGqVKlSkpMTLxtPP3799e+ffs0cuRIrV27Vs8//7yCgoIUFxenRYsWacuWLdY7mgwYMEBz587Vk08+qV69esnf318zZ87UsWPHtGDBggwVz7vRuXNndevWTa1bt1bTpk21e/durVy5MkN1LSwsTI0bN1bNmjXl7++vbdu2af78+XrjjTeyPLYjP1PVqlVTtWrVbtmnQoUKKleunPr166dTp06pUKFCWrBgQaZzGGvWrClJ6tWrlyIiIuTq6qqXXnopx3H17t1bFy5c0A8//CBXV1c1a9ZMnTt31vvvv6+WLVveNmYAduaw654BO/rnkjQ3i4yMNCTZLEljGIaRmppqDBs2zChTpozh5uZmlC5d2hg4cKBx7do1m37BwcGZLk9yY4mUb775JluxZLZEyOLFi42qVasaHh4eRkhIiPHRRx8Z06ZNMyQZx44ds/a73ZI0N86Z2XbzEjJr1641IiIiDF9fX8PDw8MoV66c0alTJ2Pbtm02/RYsWGBUrFjRMJvNRlhYmPHtt98akZGRt12S5p/mz59vPPHEE4a/v79RoEABo3jx4kabNm2MdevW2fQ7evSo8fzzzxt+fn6Gh4eHUbt2bWPp0qUZ4s7s/c5sKZSslqRJT0833nrrLaNo0aKGl5eXERERYRw5ciTDkjTvv/++Ubt2bcPPz8/w9PQ0KlSoYHzwwQc2Sw/dvCSNYdz9Z+rmf+es6P+XpLmVzN6D/fv3G+Hh4YaPj49RtGhRo0uXLsbu3bszvH9paWlGz549jYCAAMNkMllf5433+pNPPslwvpv/Hb777jtDkjFy5EibfpcvXzaCg4ONatWq2byfAPKeyTDuYjY2AAAA7gvMKQQAAABJIQAAAEgKAQAAIJJCAAAAiKQQAAAAIikEAACASAoBAACg+/SOJp41sr7LAJCfxW8d7+gQAKfjcV/+JERO2TN3uLrz3vi/l0ohAAAA7s9KIQAAQI6YqJORFAIAAJhMjo7A4UiLAQAAQKUQAACA4WMqhQAAABCVQgAAAOYUikohAAAARKUQAACAOYWiUggAAABRKQQAAGBOoUgKAQAAGD4Ww8cAAAAQlUIAAACGj0WlEAAAAKJSCAAAwJxCUSkEAACAqBQCAAAwp1BUCgEAACAqhQAAAMwpFEkhAAAAw8di+BgAAACiUggAAMDwsagUAgAAQFQKAQAAqBSKSiEAAABEpRAAAEBy4epjKoUAAACgUggAAMCcQpJCAAAAFq8Ww8cAAAAQlUIAAACGj0WlEAAAAKJSCAAAwJxCUSkEAACAqBQCAAAwp1BUCgEAACAqhQAAAMwpFEkhAAAAw8di+BgAAACiUggAAMDwsagUAgAAQFQKAQAAmFMoKoUAAAAQlUIAAADmFIpKIQAAAESlEAAAgDmFIikEAAAgKRTDxwAAABCVQgAAAC40EZVCAAAAiEohAAAAcwpFpRAAAACiUggAAMCcQlEpBAAAgKgUAgAAMKdQJIUAAAAMH4vhYwAAAKczYcIEhYSEyMPDQ3Xq1NGWLVuy7Nu4cWOZTKYMW4sWLXJ0TpJCAACQ72WWVOXWllPz5s1TdHS0hgwZoh07dqhatWqKiIjQ2bNnM+3/7bffKjY21rr99ttvcnV11QsvvJCj85IUAgAAOJFRo0apS5cuioqKUlhYmCZNmiQvLy9NmzYt0/7+/v4KCgqybqtXr5aXl1eOk0LmFAIAgHzvTip62ZWcnKzk5GSbNrPZLLPZnKFvSkqKtm/froEDB1rbXFxcFB4erk2bNmXrfFOnTtVLL70kb2/vHMVJpRAAAMCOYmJi5Ovra7PFxMRk2vf8+fNKT09XsWLFbNqLFSumuLi4255ry5Yt+u2339S5c+ccx0mlEAAAwI4XHw8cOFDR0dE2bZlVCXPD1KlTVaVKFdWuXTvH+5IUAgAA2FFWQ8WZKVq0qFxdXXXmzBmb9jNnzigoKOiW+165ckVfffWVhg8ffkdxMnwMAADyPWe5+tjd3V01a9bUmjVrrG0Wi0Vr1qxR3bp1b7nvN998o+TkZLVv3/6O3gMqhQAAIN+z54UmORUdHa3IyEjVqlVLtWvX1pgxY3TlyhVFRUVJkjp27KiSJUtmmJc4depUtWrVSkWKFLmj85IUAgAAOJE2bdro3LlzGjx4sOLi4lS9enWtWLHCevHJyZMn5eJiO9h78OBBbdiwQatWrbrj85oMwzDuKnIn5FnjDUeHADil+K3jHR0C4HQ8KI9AUqGXZtnt2Je/6mi3Y+cm5hQCAADAccPHly9fznbfQoUK2TESAACQ3znTnEJHcVhS6Ofnd9t/AMMwZDKZlJ6enkdRAQAA5E8OSwrXrl3rqFMDAADYolDouKSwUaNGjjo1AAAAbuJU11wlJSXp5MmTSklJsWmvWrWqgyICAAD5AXMKnSQpPHfunKKiovT9999n+jxzCgEAAOzLKZakefPNN5WQkKDNmzfL09NTK1as0MyZM/Xggw9q8eLFjg4PAADc55zlNneO5BSVwh9//FHfffedatWqJRcXFwUHB6tp06YqVKiQYmJi1KJFC0eHCAAA7mP3UvJmL05RKbxy5YoCAwMlSYULF9a5c+ckSVWqVNGOHTscGRoAAEC+4BRJYfny5XXw4EFJUrVq1fTZZ5/p1KlTmjRpkooXL+7g6AAAwP2O4WMnGT7u3bu3YmNjJUlDhgxRs2bNNGfOHLm7u2vGjBmODQ4AACAfcIqksH379ta/16xZUydOnNDvv/+uBx54QEWLFnVgZAAAIF+4dwp6duPw4ePU1FSVK1dOBw4csLZ5eXnp4YcfJiEEAADIIw6vFLq5uenatWuODgMAAORj99LcP3txeKVQknr06KGPPvpIaWlpjg4FAAAgX3J4pVCStm7dqjVr1mjVqlWqUqWKvL29bZ7/9ttvHRQZAADID6gUOklS6Ofnp9atWzs6DAAAkE+RFDpJUjh9+nRHh4Bseu3FhuoT+biKFSmkvYdOKfqjb7Rt34lM+66c0lsNaz2Yof37n3/Tc70mSZKu7hyf6b5vj16o0bPW5F7ggB199eUczZw+VefPn9ND5StowNuDVKVq1Uz7Lvjmay1ZvEhHjhyWJIWFVVLP3tE2/SdOGKcV3y9TXFyc3NzcFBZWSW/07qOqVavlyesBkD85xZzCxx57TAkJCRnaL1++rMceeyzvA0Kmnn/iYX3U91l98Nn3qtv2I+05dEqL/9tDAYV9Mu3/Ut8pCgkfaN0ebv2+0tLS9e3qndY+/3w+JHygug75QhaLRQvX7MqjVwXcnRXfL9d/Po7Ra6/30FffLFT58hXU/bVXdeHChUz7b9u6WU82b6HPp83S7DlfqVhQcXXv+orOnDlj7RMcHKKB7wzWgoVLNGP2lypRsqS6d3lFFy9ezKuXBeQ/Jjtu9wiTYRiGo4NwcXFRXFyc9VZ3N5w9e1YlS5ZUampqjo7nWeON3AwP/++nWf20fd8J9fnoG0nXS+1HVryniV+t13+mr77t/m+0baxB3VuoTNN3lHQtJdM+X4/qIh8vDzXvNi5XY8d18Vszr8zizrV76QVVqlxFb787WJJksVj0xOON9HLbDnq1S9fb7p+enq5H6/5LA98ZrKdbtsq0T2JiourXqanJU2eoziN1czN8SPJwijEzOFrgq1/b7dhnp75ot2PnJod+Ffbs2WP9+/79+xUXF2d9nJ6erhUrVqhkyZKOCA03cSvgqhoVS+uTaausbYZh6MfNB1W7aplsHSOyVT19s3JHlglhoH9BNWtQWV0Gz86VmAF7S01J0YH9+/Rql9esbS4uLnrkkXras3vnLfb8n2vXriotLU2FfH2zPMeCb+apYMGCeqh8+VyJG0BGzCl0cFJYvXp1630BMxsm9vT01Lhxt64YJScnKzk52abNsKTL5OKaq7Hmd0UL+6hAAVedvfi3TfvZC5dVPqTYbfevVSlYlR8soe7D5mTZp/3TdfR30jUt+nHX3YYL5In4hHilp6erSJEiNu1FihTRsWN/ZOsYY0b+RwGBgXqkbj2b9vXr1uqtftG6du2qigYEaNKUaSpc2D/XYgeAmzk0KTx27JgMw1DZsmW1ZcsWBQQEWJ9zd3dXYGCgXF1vndzFxMRo2LBhNm2uxf4lt+K17RIz7kxkq7rae+hUlhelSFLHlo9o3vfblJzCepXIH6ZOmawV3y/X1BmzZDabbZ77V+06+nrBIiUkxGvB/K/Vv++b+mLuNxkSUAC5g0qhgy80CQ4OVkhIiCwWi2rVqqXg4GDrVrx48dsmhJI0cOBAXbp0yWYrUKxmHkSfv5yPT1RaWroC/QvatAcWKaS4C5dvua+Xh7teiKipmYs2Zdmnfo1yKl8mSNMXbsyVeIG8UNivsFxdXTNcVHLhwoXb3qZz5vSpmj51siZNmaqHylfI8LyXl5ceCA5W1WrVNey9ESrgWkCLvp2fq/EDwD85xfTaWbNm3fL5jh07Zvmc2WzO8Bs2Q8e5LzUtXTsP/Kkmdcprybrrc0FNJpOa1H5Ik+b9dMt9n2taQ2b3Apq7fGuWfSJb1dX2/Se199CpXI0bsCc3d3dVDKukzb9u0mOPh0u6fqHJ5s2b9NLL7bPcb/rUKfp88iRNnDxVlSpXyda5LIZFKSmZz8cFcPeoFDpJUti7d2+bx6mpqUpKSpK7u7u8vLxumRQi74z94kdNGd5B2/ef1LbfjuuNtk3k5WnWrO9+lSR9/l4HnT57SYPHLbbZr1Orulqybo8uXrqS6XELenvouaY1NGDUQru/BiC3dYiM0qC331KlSpVVuUpVfTF7pq5evapWzz4nSXpn4L8VGFhMvfv0lSRN+3yy/jt+rD78eKRKlCip8+fOSbpeGfTy9lZSUpI+nzxJjZs8pqIBAUqIj9dXc+fo7JkzahrRzGGvE7jfkRQ6SVIYHx+foe3w4cPq3r27+vfv74CIkJn5q3aoaGEfDe7eQsWKFNSeg6fUsscE68UnpYP8ZbHYrnD0YHCg6j8cqhbdsl4K5YWImjLJpK9XbLNr/IA9NHuyueIvXtR/x4/V+fPnVL5CRf33s89V5P+Hj+NiY+Vi+t9MnW/mfaXU1FT17dPL5jjdXn9D3Xv0lKurq44d+0OLv1uohPh4+fn5qVLlKpo+a45CQzMuBg8AucUp1inMyrZt29S+fXv9/vvvOdqPdQqBzLFOIZAR6xRCkkp0+9Zuxz496Tm7HTs3OcUdTbJSoEABnT592tFhAAAA3Pec4vejxYtt56AZhqHY2FiNHz9e9evXd1BUAAAgv2BOoZMkha1atbJ5bDKZFBAQoMcee0wjR450TFAAAAD5iFMkhRaLxdEhAACAfIxKoZPNKUxJSdHBgweVlsYdLQAAAPKSUySFSUlJeuWVV+Tl5aVKlSrp5MmTkqSePXvqww8/dHB0AADgfmcymey23SucIikcOHCg9uzZo3Xr1snDw8PaHh4ernnz5jkwMgAAkC+Y7LjdI5xiTuGiRYs0b948PfLIIzYZdaVKlXT06FEHRgYAAJA/OEVSeO7cOQUGBmZov3Llyj1VdgUAAPcm8g0nGT6uVauWli1bZn184x/m888/V926dR0VFgAAQL7hFJXCESNG6Mknn9T+/fuVlpamTz/9VPv379fGjRu1fv16R4cHAADuc1QKnaRS2KBBA+3atUtpaWmqUqWKVq1apcDAQG3atEk1a9Z0dHgAAAD3PaeoFEpSuXLlNGXKFEeHAQAA8iEqhQ5OCl1cXG77j2AymVjMGgAAwM4cmhQuXLgwy+c2bdqksWPHcgs8AABgd1QKHZwUtmzZMkPbwYMHNWDAAC1ZskTt2rXT8OHDHRAZAADIV8gJneNCE0k6ffq0unTpoipVqigtLU27du3SzJkzFRwc7OjQAAAA7nsOv9Dk0qVLGjFihMaNG6fq1atrzZo1evTRRx0dFgAAyEcYPnZwUvjxxx/ro48+UlBQkObOnZvpcDIAAADsz2QYhuGok7u4uMjT01Ph4eFydXXNst+3336bo+N61njjbkMD7kvxW8c7OgTA6Xg4fMwMzqBc3+/tduyjI5+027Fzk0O/Ch07dqRcCwAA4AQcmhTOmDHDkacHAACQJFGjcqKrjwEAAOA4zKQAAAD5HtPZSAoBAAAYPhbDxwAAABCVQgAAAIaPRaUQAAAAolIIAADAnEJRKQQAAICoFAIAAMjFhVIhlUIAAABQKQQAAGBOIUkhAAAAS9KI4WMAAACISiEAAADDx6JSCAAAAFEpBAAAYE6hqBQCAABAVAoBAACoFIpKIQAAAESlEAAAgKuPRVIIAADA8LEYPgYAAIBICgEAAGQy2W+7ExMmTFBISIg8PDxUp04dbdmy5Zb9ExIS1KNHDxUvXlxms1kPPfSQli9fnqNzMnwMAADgRObNm6fo6GhNmjRJderU0ZgxYxQREaGDBw8qMDAwQ/+UlBQ1bdpUgYGBmj9/vkqWLKkTJ07Iz88vR+clKQQAAPmeM80pHDVqlLp06aKoqChJ0qRJk7Rs2TJNmzZNAwYMyNB/2rRpunjxojZu3Cg3NzdJUkhISI7Py/AxAACAHSUnJ+vy5cs2W3JycqZ9U1JStH37doWHh1vbXFxcFB4erk2bNmW6z+LFi1W3bl316NFDxYoVU+XKlTVixAilp6fnKE6SQgAAkO/Zc05hTEyMfH19bbaYmJhM4zh//rzS09NVrFgxm/ZixYopLi4u033++OMPzZ8/X+np6Vq+fLkGDRqkkSNH6v3338/Re8DwMQAAgB0NHDhQ0dHRNm1msznXjm+xWBQYGKjJkyfL1dVVNWvW1KlTp/TJJ59oyJAh2T4OSSEAAMj37Dmn0Gw2ZzsJLFq0qFxdXXXmzBmb9jNnzigoKCjTfYoXLy43Nze5urpa2ypWrKi4uDilpKTI3d09W+dm+BgAAMBJuLu7q2bNmlqzZo21zWKxaM2aNapbt26m+9SvX19HjhyRxWKxth06dEjFixfPdkIokRQCAAA41TqF0dHRmjJlimbOnKkDBw6oe/fuunLlivVq5I4dO2rgwIHW/t27d9fFixfVu3dvHTp0SMuWLdOIESPUo0ePHJ2X4WMAAJDvOdOSNG3atNG5c+c0ePBgxcXFqXr16lqxYoX14pOTJ0/KxeV/db3SpUtr5cqV6tOnj6pWraqSJUuqd+/eeuutt3J0XpNhGEauvhIn4FnjDUeHADil+K3jHR0C4HQ8KI9AUp2Y9XY79uaBjex27NzEVwEAAOR7TlQodBjmFAIAAIBKIQAAgDPNKXQUKoUAAACgUggAAEChkEohAAAARKUQAACAOYUiKQQAAGD4WAwfAwAAQFQKAQAAGD4WlUIAAACISiEAAACVQlEpBAAAgKgUAgAAcPWxqBQCAABAVAoBAACYUyiSQgAAAIaPxfAxAAAARKUQAACA4WNRKQQAAICoFAIAADCnUFQKAQAAICqFAAAAcqFUSKUQAAAAVAoBAACYUyiSQgAAAJakEcPHAAAAEJVCAAAAuVAopFIIAAAAKoUAAADMKRSVQgAAAIhKIQAAAEvS6D5NCv/aMMbRIQBOqfDjwx0dAuB0rq4f7OgQAKdwXyaFAAAAOWESpUKSQgAAkO+xJA0XmgAAAEBUCgEAAFiSRlQKAQAAICqFAAAALEkjKoUAAAAQlUIAAAC5UCqkUggAAAAqhQAAAMwpFEkhAAAAS9Iom0nhnj17sn3AqlWr3nEwAAAAcIxsJYXVq1eXyWSSYRiZPn/jOZPJpPT09FwNEAAAwN4oFGYzKTx27Ji94wAAAIADZSspDA4OtnccAAAADsOSNHe4JM3s2bNVv359lShRQidOnJAkjRkzRt99912uBgcAAIC8keOkcOLEiYqOjlbz5s2VkJBgnUPo5+enMWPG5HZ8AAAAdmey43avyHFSOG7cOE2ZMkXvvPOOXF1dre21atXS3r17czU4AAAA5I0cr1N47Ngx1ahRI0O72WzWlStXciUoAACAvMQ6hXdQKSxTpox27dqVoX3FihWqWLFibsQEAACQp1xM9tvuFTmuFEZHR6tHjx66du2aDMPQli1bNHfuXMXExOjzzz+3R4wAAACwsxwnhZ07d5anp6feffddJSUlqW3btipRooQ+/fRTvfTSS/aIEQAAwK4YPr7Dex+3a9dO7dq1U1JSkhITExUYGJjbcQEAACAP3VFSKElnz57VwYMHJV3PrgMCAnItKAAAgLxEofAOLjT5+++/1aFDB5UoUUKNGjVSo0aNVKJECbVv316XLl2yR4wAAACwsxwnhZ07d9bmzZu1bNkyJSQkKCEhQUuXLtW2bdv02muv2SNGAAAAuzKZTHbb7hU5Hj5eunSpVq5cqQYNGljbIiIiNGXKFDVr1ixXgwMAAEDeyHFSWKRIEfn6+mZo9/X1VeHChXMlKAAAgLx0L60naC85Hj5+9913FR0drbi4OGtbXFyc+vfvr0GDBuVqcAAAAHmB4eNsVgpr1Khh86IOHz6sBx54QA888IAk6eTJkzKbzTp37hzzCgEAAO5B2UoKW7VqZecwAAAAHOfeqefZT7aSwiFDhtg7DgAAADjQHS9eDQAAcL9wuYfm/tlLjpPC9PR0jR49Wl9//bVOnjyplJQUm+cvXryYa8EBAAAgb+T46uNhw4Zp1KhRatOmjS5duqTo6Gg999xzcnFx0dChQ+0QIgAAgH2ZTPbb7hU5TgrnzJmjKVOmqG/fvipQoIBefvllff755xo8eLB+/fVXe8QIAAAAO8txUhgXF6cqVapIknx8fKz3O37qqae0bNmy3I0OAAAgD7BO4R0khaVKlVJsbKwkqVy5clq1apUkaevWrTKbzbkbHQAAAPJEjpPCZ599VmvWrJEk9ezZU4MGDdKDDz6ojh076pVXXsn1AAEAAOyNOYV3cPXxhx9+aP17mzZtFBwcrI0bN+rBBx/U008/navBAQAA5AWWpLmDSuHNHnnkEUVHR6tOnToaMWJEbsQEAACAPHbXSeENsbGxGjRoUG4dDgAAIM842/DxhAkTFBISIg8PD9WpU0dbtmzJsu+MGTMyXNzi4eGR43PmWlIIAACAuzdv3jxFR0dryJAh2rFjh6pVq6aIiAidPXs2y30KFSqk2NhY63bixIkcn5ekEAAA5HvOtCTNqFGj1KVLF0VFRSksLEyTJk2Sl5eXpk2bdsv4g4KCrFuxYsVyfF6SQgAAADtKTk7W5cuXbbbk5ORM+6akpGj79u0KDw+3trm4uCg8PFybNm3K8hyJiYkKDg5W6dKl1bJlS+3bty/HcWb76uPo6OhbPn/u3LkcnxwAAMAZ2LNKFhMTo2HDhtm0DRkyJNPbA58/f17p6ekZKn3FihXT77//nunxy5cvr2nTpqlq1aq6dOmS/vOf/6hevXrat2+fSpUqle04s50U7ty587Z9GjZsmO0TAwAA5AcDBw7MUFzLzRt+1K1bV3Xr1rU+rlevnipWrKjPPvtM7733XraPk+2kcO3atTmLEAAA4B5hz9vRmc3mbCeBRYsWlaurq86cOWPTfubMGQUFBWXrGG5ubqpRo4aOHDmSoziZUwgAAPI9F5P9tpxwd3dXzZo1rXePkySLxaI1a9bYVANvJT09XXv37lXx4sVzdO4c39EEAAAA9hMdHa3IyEjVqlVLtWvX1pgxY3TlyhVFRUVJkjp27KiSJUsqJiZGkjR8+HA98sgjCg0NVUJCgj755BOdOHFCnTt3ztF5SQoBAEC+l9OKnj21adNG586d0+DBgxUXF6fq1atrxYoV1otPTp48KReX/w32xsfHq0uXLoqLi1PhwoVVs2ZNbdy4UWFhYTk6r8kwDCNXX4kTuHAlzdEhAE6pVHNuRQnc7Or6wY4OAU4genHmV/bmhlHPVLDbsXMTlUIAAJDv2fNCk3vFHV1o8vPPP6t9+/aqW7euTp06JUmaPXu2NmzYkKvBAQAAIG/kOClcsGCBIiIi5OnpqZ07d1pX5L506ZJGjGBoCgAA3Huc5epjR8pxUvj+++9r0qRJmjJlitzc3Kzt9evX144dO3I1OAAAAOSNHM8pPHjwYKZ3LvH19VVCQkJuxAQAAJCnmFJ4B5XCoKCgTFfI3rBhg8qWLZsrQQEAAOQlF5PJbtu9IsdJYZcuXdS7d29t3rxZJpNJp0+f1pw5c9SvXz91797dHjECAADAznI8fDxgwABZLBY9/vjjSkpKUsOGDWU2m9WvXz/17NnTHjECAADYFff9vYOk0GQy6Z133lH//v115MgRJSYmKiwsTD4+PvaIDwAAAHngjhevdnd3z/HtUwAAAJzRPTT1z25ynBQ2adLklqt+//jjj3cVEAAAAPJejpPC6tWr2zxOTU3Vrl279NtvvykyMjK34gIAAMgz99JVwvaS46Rw9OjRmbYPHTpUiYmJdx0QAAAA8l6uXWzTvn17TZs2LbcOBwAAkGdMJvtt94o7vtDkZps2bZKHh0duHQ4AACDP3Ev3KLaXHCeFzz33nM1jwzAUGxurbdu2adCgQbkWGAAAAPJOjpNCX19fm8cuLi4qX768hg8frieeeOKOA/n555/12Wef6ejRo5o/f75Kliyp2bNnq0yZMmrQoMEdHxcAAOB2uNAkh0lhenq6oqKiVKVKFRUuXDjXgliwYIE6dOigdu3aaefOnUpOTpYkXbp0SSNGjNDy5ctz7VwAAADIKEcXmri6uuqJJ55QQkJCrgbx/vvva9KkSZoyZYrc3Nys7fXr19eOHTty9VwAAAA340KTO7j6uHLlyvrjjz9yNYiDBw+qYcOGGdp9fX1zPQEFAABARjlOCt9//33169dPS5cuVWxsrC5fvmyz3YmgoCAdOXIkQ/uGDRtUtmzZOzomAABAdrmY7LfdK7I9p3D48OHq27evmjdvLkl65plnbG53ZxiGTCaT0tPTcxxEly5d1Lt3b02bNk0mk0mnT5/Wpk2b1K9fP65oBgAAyAPZTgqHDRumbt26ae3atbkexIABA2SxWPT4448rKSlJDRs2lNlsVr9+/dSzZ89cPx8AAMA/mXQPlfTsJNtJoWEYkqRGjRrlehAmk0nvvPOO+vfvryNHjigxMVFhYWHy8fHJ9XMBAADc7F4a5rWXHM0pNNnpEpovvvhCSUlJcnd3V1hYmGrXrk1CCAAAkIdylBQ+9NBD8vf3v+V2J/r06aPAwEC1bdtWy5cvv6N5iQAAAHeKC01yuHj1sGHDMtzRJDfExsZqxYoVmjt3rl588UV5eXnphRdeULt27VSvXr1cPx8AAABs5SgpfOmllxQYGJj7QRQooKeeekpPPfWUkpKStHDhQn355Zdq0qSJSpUqpaNHj+b6OQEAAG6w1xS5e0m2k8K8erO8vLwUERGh+Ph4nThxQgcOHMiT8wIAAORnOb762F5uVAjnzJmjNWvWqHTp0nr55Zc1f/58u54XAADgXpr7Zy/ZTgotFovdgnjppZe0dOlSeXl56cUXX9SgQYNUt25du50PAAAAtnI0p9BeXF1d9fXXXysiIkKurq6ODgcAAOQzTCl0kqRwzpw5jg4BAADkYy5khY5LCseOHauuXbvKw8NDY8eOvWXfXr165VFUAAAA+ZPDksLRo0erXbt28vDw0OjRo7PsZzKZSAqdyIJ5X2rOrOm6eOG8Qh8qr+h/v62wylUz7fvdt99oxdLF+uPoEUlS+Yph6vZG7wz9j/9xVP8dO0o7d2xTelq6QsqW1YhPxiioeAm7vx4gN7zWqpb6vFRPxfx9tPfoGUV/+r22/X46074rx3RUwxohGdq/33RYzw2Ym6F9bHRzdWlZS/3HrdT4+ZtzO3QA/48LTRyYFB47dizTv8N5/bDye40d9bH6vz1ElapU0bw5s9Wnx2uau3Cp/P2LZOi/c/tWhTdrrirVqsvd3awvZkzVm6931Zz53ykgsJgk6a8/T6rbqx30dMvn9Gq3N+Tt7a1jfxyRu9mc1y8PuCPPNwnTRz2eUM9Ry7R1/ym98UIdLf5PO1VrP0HnEpIy9H9p0Ndyd/vf3Gn/Ql7aMvU1fbtuf4a+zzxaXrXDSun0uct2fQ0AIOXwNnf2Mnz4cCUlZfzP8+rVqxo+fLgDIkJmvpozU888+7yeavmsypQN1b/fGSKzh4eWfvdtpv2HfvCxWr/4sh4qX1EhZcpq4ODhshgWbdvyq7XPZxPGqm79hurxZj+Vr1BRpUo/oEcbPZZpkgk4o14v1tX0pTs0+/vd+v3EefUcuUxXr6UqsnmNTPvH/31NZy5esW6P1yqrpOTUDElhiaIFNarXk4p6f6FS0+y3+gOA60wm+233CqdICocNG6bExMQM7UlJSRo2bJgDIsLNUlNTdPDAftWq87+lglxcXPSvOo/otz27s3WMa9euKS0tTYUKXb9VosVi0aYN6/VAcLDefL2Lmj/+qDp3fEnr166xy2sAcptbARfVeKi4ftz+v9EOw5B+3H5MtSuVytYxIltU1zc//qaka6nWNpNJmvpOK43+aqMOHD+X63EDQGacIik0DCPTO6bs3r1b/v7+t9w3OTlZly9fttmSk5PtFWq+lZCQoPT09AwVPH//Irp44Xy2jvHfsSNVNCDQmljGX7ygpKQkzZ4+VY/Ua6Ax/52shk0e19v9emvn9q25/hqA3FbU10sFCrjobPwVm/az8VcU5O9z2/1rVSihymWLacbSnTbtfdvWV1q6RRMWbMnVeAFkzUUmu233CocuSVO4cGGZTCaZTCY99NBDNolhenq6EhMT1a1bt1seIyYmJkM1sf/AQXrrncF2iRl3Ztb0Kfph5feaMHmGzP8/X9Dy/3fJebRxE73UPlKS9FD5ivpt9y4tnD9PNWr+y2HxAnkhskUN7T16xuailBoPFVeP1nVUr8tkB0YGID9yaFI4ZswYGYahV155RcOGDZOvr6/1OXd3d4WEhNz2ziYDBw5UdHS0TVtiGgtg5zY/Pz+5urrq4sULNu0XL16Qf5Git9z3y1nT9cX0qfp00ucKfai87TELFFBI2XI2/YPLlNWeXTtyL3jATs5fSlJamkWBhb1t2gMLeyvuYsYpMf/k5eGmFx6rpPemrbNpr1/1AQUW9tahr9+0thUo4KIPX2+qN56vowov3XoJLwB35l6a+2cvDk0KIyOvV4fKlCmjevXqyc3NLcfHMJvN1srTDalX0nIlPvyPm5u7ylcM0/Ytv6pRk8clXZ8TuG3LZrVu83KW+30xY6pmTpus0eMnq2JY5QzHrBhWWSePH7dp//PkCZajwT0hNc2inYdi1aRmGS3ZcFDS9R8sTR4uo0kLbz0F4rnGYTK7FdDc1Xtt2r9ctUc/bv/Dpm3JJ+305aq9mvX9rlyNH8D/sCSNA5PCy5cvq1ChQpKkGjVq6OrVq7p69WqmfW/0g2O91C5S7w95WxXCKimsUhXN+3K2rl29qqeeeVaSNHzQQAUEBqp7zz6SpNkzPtfnE8dr6IiPVbxECV04f33CvKeXl7y8rldW2nWM0qABfVX94ZqqWau2ft24Qb/8tE7jJ093zIsEcmjs15s0ZWArbf/9tLb9flpvPF9HXp5u1gTu87db6vS5vzV4yo82+3VqUUNLNvyui5dt/9+7ePlqhrbUNIvOXEzU4T9tK/UAkJsclhQWLlxYsbGxCgwMlJ+fX6YXmty4ACU9Pd0BEeJm4RFPKiH+oqZMHK+LF87rwfIVNGr8Z9bh4zNxsXL5x69aC7+Zp9TUVL3Tv4/NcV7p+ro6d+shSWr0WLj+/fYQzZo+RaM/iVFwcIg++GSMqtWomXcvDLgL89fuV1E/bw1+pbGK+ftoz5Ezatn/S+vFJ6UDfWWxGDb7PFi6iOpXfUAt+n7hiJABZILb3EkmwzCM23fLfevXr1f9+vVVoEABrV+//pZ9GzVqlKNjX2D4GMhUqeYjHB0C4HSurufCREiTfz1ht2N3fSTYbsfOTQ6rFP4z0ctp0gcAAJCbKBQ6yTqFK1as0IYNG6yPJ0yYoOrVq6tt27aKj493YGQAAAD5g1Mkhf3799fly9fv7bl3715FR0erefPmOnbsWIblZgAAAHKbi8lkt+1e4dAlaW44duyYwsLCJEkLFizQ008/rREjRmjHjh1q3ry5g6MDAAC4/zlFpdDd3V1JSUmSpB9++EFPPPGEJMnf399aQQQAALAXk8l+273CKSqFDRo0UHR0tOrXr68tW7Zo3rx5kqRDhw6pVKns3VQeAADgTjlFlczBnOI9GD9+vAoUKKD58+dr4sSJKlmypCTp+++/V7NmzRwcHQAAwP3PKSqFDzzwgJYuXZqhffTo0Q6IBgAA5DeZ3UQjv3GKpFCS0tPTtWjRIh04cECSVKlSJT3zzDNydXV1cGQAAAD3P6dICo8cOaLmzZvr1KlTKl++vCQpJiZGpUuX1rJly1SuXDkHRwgAAO5n1AmdZE5hr169VK5cOf3555/asWOHduzYoZMnT6pMmTLq1auXo8MDAAC47zlFpXD9+vX69ddf5e/vb20rUqSIPvzwQ9WvX9+BkQEAgPzgXlpk2l6colJoNpv1999/Z2hPTEyUu7u7AyICAADIX5wiKXzqqafUtWtXbd68WYZhyDAM/frrr+rWrZueeeYZR4cHAADucyY7bvcKp0gKx44dq9DQUNWrV08eHh7y8PBQ/fr1FRoaqk8//dTR4QEAgPscdzRx8JxCi8WiTz75RIsXL1ZKSopatWqlyMhImUwmVaxYUaGhoY4MDwAAIN9waFL4wQcfaOjQoQoPD5enp6eWL18uX19fTZs2zZFhAQCAfIbFqx08fDxr1iz997//1cqVK7Vo0SItWbJEc+bMkcVicWRYAAAA+Y5Dk8KTJ0+qefPm1sfh4eEymUw6ffq0A6MCAAD5jYsdt3uFQ2NNS0uTh4eHTZubm5tSU1MdFBEAAED+5NA5hYZhqFOnTjKbzda2a9euqVu3bvL29ra2ffvtt44IDwAA5BPMKXRwUhgZGZmhrX379g6IBAAAIH9zaFI4ffp0R54eAABA0r21yLS93EvzHwEAAGAnDq0UAgAAOAPmFJIUAgAAMHQq3gMAAACISiEAAADDx6JSCAAA4HQmTJigkJAQeXh4qE6dOtqyZUu29vvqq69kMpnUqlWrHJ+TpBAAAOR7JjtuOTVv3jxFR0dryJAh2rFjh6pVq6aIiAidPXv2lvsdP35c/fr106OPPnoHZyUpBAAAcCqjRo1Sly5dFBUVpbCwME2aNEleXl6aNm1alvukp6erXbt2GjZsmMqWLXtH5yUpBAAA+Z7JZL8tOTlZly9fttmSk5MzjSMlJUXbt29XeHi4tc3FxUXh4eHatGlTlvEPHz5cgYGBevXVV+/4PSApBAAAsKOYmBj5+vrabDExMZn2PX/+vNLT01WsWDGb9mLFiikuLi7TfTZs2KCpU6dqypQpdxUnVx8DAIB8z8WON7obOHCgoqOjbdrMZnOuHPvvv/9Whw4dNGXKFBUtWvSujkVSCAAA8j17rkhjNpuznQQWLVpUrq6uOnPmjE37mTNnFBQUlKH/0aNHdfz4cT399NPWNovFIkkqUKCADh48qHLlymXr3AwfAwAAOAl3d3fVrFlTa9assbZZLBatWbNGdevWzdC/QoUK2rt3r3bt2mXdnnnmGTVp0kS7du1S6dKls31uKoUAACDfM9lx+DinoqOjFRkZqVq1aql27doaM2aMrly5oqioKElSx44dVbJkScXExMjDw0OVK1e22d/Pz0+SMrTfDkkhAACAE2nTpo3OnTunwYMHKy4uTtWrV9eKFSusF5+cPHlSLi65P9hrMgzDyPWjOtiFK2mODgFwSqWaj3B0CIDTubp+sKNDgBNYvu/WC0PfjeaVAu127NzEnEIAAAAwfAwAAGDPJWnuFVQKAQAAQKUQAADAnusU3itICgEAQL5HUsjwMQAAAESlEAAAwKkWr3YUKoUAAACgUggAAOBCoZBKIQAAAKgUAgAAMKdQVAoBAAAgKoUAAACsUyiSQgAAAIaPxfAxAAAARKUQAACAJWlEpRAAAACiUggAAMCcQlEpBAAAgKgUAgAAsCSNqBQCAABAVAoBAACYUSiSQgAAALkwfszwMQAAAKgUAgAAMHwsKoUAAAAQlUIAAABKhaJSCAAAAFEpBAAA4DZ3olIIAAAAUSkEAADgNnciKQQAAGDwWAwfAwAAQFQKAQAAKBWKSiEAAABEpRAAAIAlaUSlEAAAAKJSCAAAwJI0olIIAAAAUSkEAABgRqFICgEAAMgKxfAxAAAARKUQAACAJWlEpRAAAACiUggAAMCSNKJSCAAAAFEpBAAAYEahJJNhGIajgwAAAHCk3Sf/ttuxqz1Q0G7Hzk1UCgEAACgVkhQCAACwJA0XmgAAAEBUCgEAAFiSRlQKAQAAICqFAAAAzCgUlUIAAACISiEAAAClQlEpBAAAgKgUAgAAsE6hqBQCAABAVAoBAABYp1AkhQAAAAwei+FjAAAAiEohAAAApUJRKQQAAICoFAIAALAkjagUAgAAQFQKAQAAWJJGVAoBAAAgKoUAAADMKBRJIQAAAFmhGD4GAACAqBQCAACwJI2oFAIAAEBUCgEAAFiSRlQKAQAAnM6ECRMUEhIiDw8P1alTR1u2bMmy77fffqtatWrJz89P3t7eql69umbPnp3jc5IUAgCAfM9kxy2n5s2bp+joaA0ZMkQ7duxQtWrVFBERobNnz2ba39/fX++88442bdqkPXv2KCoqSlFRUVq5cmWOzmsyDMO4g3gBAADuG0fPXrXbscsFeuaof506dfSvf/1L48ePlyRZLBaVLl1aPXv21IABA7J1jIcfflgtWrTQe++9l+3zUikEAACwY6kwOTlZly9fttmSk5MzDSMlJUXbt29XeHi4tc3FxUXh4eHatGnTbV+GYRhas2aNDh48qIYNG+boLSApBAAA+Z7Jjn9iYmLk6+trs8XExGQax/nz55Wenq5ixYrZtBcrVkxxcXFZxn/p0iX5+PjI3d1dLVq00Lhx49S0adMcvQdcfQwAAGBHAwcOVHR0tE2b2WzO1XMULFhQu3btUmJiotasWaPo6GiVLVtWjRs3zvYxSAoBAEC+Z88lacxmc7aTwKJFi8rV1VVnzpyxaT9z5oyCgoKy3M/FxUWhoaGSpOrVq+vAgQOKiYnJUVLI8DEAAICTcHd3V82aNbVmzRprm8Vi0Zo1a1S3bt1sH8disWQ5bzErVAoBAEC+50xrV0dHRysyMlK1atVS7dq1NWbMGF25ckVRUVGSpI4dO6pkyZLWeYkxMTGqVauWypUrp+TkZC1fvlyzZ8/WxIkTc3RekkIAAAAn0qZNG507d06DBw9WXFycqlevrhUrVlgvPjl58qRcXP432HvlyhW9/vrr+uuvv+Tp6akKFSroiy++UJs2bXJ0XtYpBAAA+d7xC9fsduyQIh52O3ZuYk4hAAAAGD4GAAAwOdWsQscgKQQAAPmePZekuVcwfAwAAAAqhQAAABQKqRQCAABAVAoBAACYUygqhQAAABCVQgAAADGrkEohAAAARKUQAACAOYUiKQQAAGDwWAwfAwAAQFQKAQAAGD4WlUIAAACISiEAAIBMzCqkUggAAAAqhQAAAFx+LCqFAAAAEJVCAAAACoUiKQQAAGBJGjF8DAAAAFEpBAAAYEkaUSkEAACAqBQCAABwpYmoFAIAAEBUCgEAACgUikohAAAA5ERJ4c8//6z27durbt26OnXqlCRp9uzZ2rBhg4MjAwAA9zuTyX7bvcIpksIFCxYoIiJCnp6e2rlzp5KTkyVJly5d0ogRIxwcHQAAuN+Z7PjnXuEUSeH777+vSZMmacqUKXJzc7O2169fXzt27HBgZAAAAPmDU1xocvDgQTVs2DBDu6+vrxISEvI+IAAAkK/cS8O89uIUlcKgoCAdOXIkQ/uGDRtUtmxZB0QEAACQvzhFUtilSxf17t1bmzdvlslk0unTpzVnzhz169dP3bt3d3R4AAAA9z2nGD4eMGCALBaLHn/8cSUlJalhw4Yym83q16+fevbs6ejwAAAA7nsmwzAMRwdxQ0pKio4cOaLExESFhYXJx8fH0SEBAIB8IOFqut2O7efpardj5yanSAq/+OILPffcc/Ly8nJ0KAAAIB8iKXSSpDAgIEBXr17VM888o/bt2ysiIkKurvfGGwgAAO59l65a7HZsX0+nuITjtpwiytjYWH311VcymUx68cUXVbx4cfXo0UMbN250dGgAACAf4I4mTlIp/KekpCQtXLhQX375pX744QeVKlVKR48edXRYAADgPnb5mv0qhYU8nKIGd1tOcfXxP3l5eSkiIkLx8fE6ceKEDhw44OiQAADAfe4eKujZjdOkrklJSZozZ46aN2+ukiVLasyYMXr22We1b98+R4cGAABw33OK4eOXXnpJS5culZeXl1588UW1a9dOdevWdXRYAAAgn/g72X7DxwXNTlODuyWnGD52dXXV119/zVXHAAAADuIUlUIAAABHSky2XzrkY743Ziw6rFI4duxYde3aVR4eHho7duwt+/bq1SuPogIAAMifHFYpLFOmjLZt26YiRYqoTJkyWfYzmUz6448/8jAyAACQ31xJsV865O1+b1QKGT4GAAD5HkmhkyxJM3z4cCUlJWVov3r1qoYPH+6AiAAAQH5isuN2r3CKSqGrq6tiY2MVGBho037hwgUFBgYqPd1+N6kGAABISrVfOuTldm+khk5RKTQMQ6ZMbg64e/du+fv7OyAiAACA/MWh6xQWLlxYJpNJJpNJDz30kE1imJ6ersTERHXr1s2BEQIAgPzAdE8N9NqHQ4ePZ86cKcMw9Morr2jMmDHy9fW1Pufu7q6QkBDubAIAAOzuaqr9ju3pZr9j5yanmFO4fv161atXT25u98i7BgAA7ivX0ux3bA+nuH/c7TlFUvhP165dU0pKik1boUKFsuyfnJys5ORkmzaz2Syz2WyX+AAAwP2HpNBJLjRJSkrSG2+8ocDAQHl7e6tw4cI2263E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\n" }, "metadata": {} } @@ -889,13 +1382,13 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "H2kJx0vKzp81", - "outputId": "bd2e6534-2d17-4f7a-c59e-62154bb972e3" + "outputId": "9ec013f1-5232-44b0-c38b-925c78540e03" }, "outputs": [ { @@ -903,8 +1396,8 @@ "name": "stdout", "text": [ "Enter the language: english\n", - "Enter a text: hello how are you\n", - "1/1 [==============================] - 0s 147ms/step\n", + "Enter a text: hello how are you?\n", + "1/1 [==============================] - 0s 144ms/step\n", "Predicted Sentiment: positive\n" ] } @@ -935,7 +1428,7 @@ "id": "SOxFqEdwcejj" }, "source": [ - "## Step 14:Sentiment Prediction for Multilingual Texts\n", + "## Step 14:Zero-shot Sentiment Prediction for Multilingual Texts\n", "\n", "This step involves iterating through a collection of sentiments expressed in various languages, including English, Hindi, Portuguese, Romanian, Slovenian, Chinese, French, Dutch, Russian, Italian, and Bosnian.\n", "\n", @@ -944,22 +1437,19 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 15, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "vjFvWEC0UOj0", - "outputId": "df2356ca-9fc7-46a2-ad85-9dde8f5d7f2b" + "outputId": "1a725455-cd9a-4eef-a872-aba3bfc694a9" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "English: Said something harsh and didn't even realize it's harsh until I said it.. Sorry\n", - "1/1 [==============================] - 0s 19ms/step\n", - "Predicted Sentiment: negative\n", "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n" ] }, @@ -967,14 +1457,14 @@ "output_type": "stream", "name": "stderr", "text": [ - "100%|██████████| 608M/608M [00:12<00:00, 48.9MB/s]\n" + "100%|██████████| 608M/608M [00:21<00:00, 28.4MB/s]\n" ] }, { "output_type": "stream", "name": "stdout", "text": [ - "1/1 [==============================] - 0s 32ms/step\n" + "1/1 [==============================] - 0s 19ms/step\n" ] }, { @@ -991,38 +1481,37 @@ "text": [ "Predicted Sentiment: negative\n", "Portuguese: Disse algo duro e nem percebi que era duro até dizer.. Desculpe\n", - "1/1 [==============================] - 0s 30ms/step\n", + "1/1 [==============================] - 0s 37ms/step\n", "Predicted Sentiment: negative\n", "Romanian: Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\n", - "1/1 [==============================] - 0s 22ms/step\n", + "1/1 [==============================] - 0s 17ms/step\n", "Predicted Sentiment: negative\n", "Slovenian: Rekel sem nekaj ostrega in sploh nisem ugotovil, da je ostro, dokler nisem rekel.. Oprosti\n", - "1/1 [==============================] - 0s 20ms/step\n", + "1/1 [==============================] - 0s 21ms/step\n", "Predicted Sentiment: negative\n", "Chinese: 说了一些刻薄的话,甚至直到我说出来我才意识到它很刻薄.. 抱歉\n", - "1/1 [==============================] - 0s 26ms/step\n", + "1/1 [==============================] - 0s 18ms/step\n", "Predicted Sentiment: negative\n", "French: Ai dit quelque chose de dur et je n'ai même pas réalisé que c'était dur jusqu'à ce que je le dise.. Désolé\n", - "1/1 [==============================] - 0s 21ms/step\n", + "1/1 [==============================] - 0s 30ms/step\n", "Predicted Sentiment: negative\n", "Dutch: Iets hards gezegd en realiseerde me niet eens dat het hard was tot ik het zei.. Sorry\n", - "1/1 [==============================] - 0s 18ms/step\n", + "1/1 [==============================] - 0s 22ms/step\n", "Predicted Sentiment: negative\n", "Russian: Сказал что-то резкое и даже не осознал, насколько это резкое, пока не сказал.. Извините\n", - "1/1 [==============================] - 0s 19ms/step\n", + "1/1 [==============================] - 0s 27ms/step\n", "Predicted Sentiment: negative\n", "Italian: Ho detto qualcosa di duro e non me ne sono nemmeno reso conto finché non l'ho detto.. Scusa\n", - "1/1 [==============================] - 0s 27ms/step\n", + "1/1 [==============================] - 0s 28ms/step\n", "Predicted Sentiment: negative\n", "Bosnian: Rekao nešto oštro i čak nisam shvatio da je oštro dok nisam rekao.. Žao mi je\n", - "1/1 [==============================] - 0s 19ms/step\n", + "1/1 [==============================] - 0s 28ms/step\n", "Predicted Sentiment: negative\n" ] } ], "source": [ "sentiments = {\n", - " \"english\": \"Said something harsh and didn't even realize it's harsh until I said it.. Sorry\",\n", " 'hindi': \"कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\",\n", " 'portuguese': \"Disse algo duro e nem percebi que era duro até dizer.. Desculpe\",\n", " 'romanian': \"Am spus ceva dur și nici măcar nu mi-am dat seama că e dur până când am spus asta.. Scuze\",\n", @@ -1075,6 +1564,6508 @@ }, "language_info": { "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "f720e5b0f068453895e8f931d83792bd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_09adc94479c14590971e97b21b6a5d6e", + "IPY_MODEL_93283eaea26547c891d16c64e20d3fb4", + "IPY_MODEL_d36b419d21734f09b8667362c11536b4" + ], + "layout": "IPY_MODEL_ef1231caedd343a08a2b08e8f513a67f" + } + }, + "09adc94479c14590971e97b21b6a5d6e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_49600a623e5a423b8299aa12527c172e", + "placeholder": "​", + "style": "IPY_MODEL_0eac091d915340a5948cf80aed896ef8", + "value": "Downloading builder script: 100%" + } + }, + "93283eaea26547c891d16c64e20d3fb4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6898685d25ee4805b7fec0378365ffa0", + "max": 4376, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f174f333e840477ba96c910213a81d0a", + "value": 4376 + } + }, + "d36b419d21734f09b8667362c11536b4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b79d7facd6d7485cb92dc4c053551e40", + "placeholder": "​", + "style": "IPY_MODEL_ddac597cb7134c098050fc68de47b478", + "value": " 4.38k/4.38k [00:00<00:00, 115kB/s]" + } + }, + "ef1231caedd343a08a2b08e8f513a67f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "49600a623e5a423b8299aa12527c172e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0eac091d915340a5948cf80aed896ef8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6898685d25ee4805b7fec0378365ffa0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f174f333e840477ba96c910213a81d0a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b79d7facd6d7485cb92dc4c053551e40": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ddac597cb7134c098050fc68de47b478": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ff9f1d437bac40b0aa93e4839069deb2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_07078068134d4a11987f88bdf0b08f17", + "IPY_MODEL_fc4458f874424781bbd52adc4f441a37", + "IPY_MODEL_0925e66d052145bcb3480604f3da4cda" + ], + "layout": "IPY_MODEL_4f4ae616c7c343edada8b37ca4027125" + } + }, + "07078068134d4a11987f88bdf0b08f17": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b1b81a92053b4c3fa5c76caef02563b6", + "placeholder": "​", + "style": "IPY_MODEL_c4012bd1af3945f28f62c7c1307458e5", + "value": "Downloading metadata: 100%" + } + }, + "fc4458f874424781bbd52adc4f441a37": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d04039432648443082f031df11d445c9", + "max": 2063, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_028b74f6c2fe4fd999507b3ed0f03f21", + "value": 2063 + } + }, + "0925e66d052145bcb3480604f3da4cda": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ece324a1271b46b98a8b6fd5ba384236", + "placeholder": "​", + "style": "IPY_MODEL_8471e543444f44f09e59b4fe964ed82e", + "value": " 2.06k/2.06k [00:00<00:00, 136kB/s]" + } + }, + "4f4ae616c7c343edada8b37ca4027125": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b1b81a92053b4c3fa5c76caef02563b6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c4012bd1af3945f28f62c7c1307458e5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d04039432648443082f031df11d445c9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "028b74f6c2fe4fd999507b3ed0f03f21": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "ece324a1271b46b98a8b6fd5ba384236": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8471e543444f44f09e59b4fe964ed82e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ed79c826a7194b5a9942671d86e2379d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8194ea8f5b0a4c8cb5f999ec0c87a633", + "IPY_MODEL_81b0c62b427040c0a085e7e63db46ac3", + "IPY_MODEL_91799ab4c0864ba9a9a8dd54f73cf7a4" + ], + "layout": "IPY_MODEL_91598533cd7f48f5a708543bf5f3bab6" + } + }, + "8194ea8f5b0a4c8cb5f999ec0c87a633": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_543c8cc6dd0f4ccd99e48c038543cd9f", + "placeholder": "​", + "style": "IPY_MODEL_debe32e761d34be1a2c30d801a2451be", + "value": "Downloading readme: 100%" + } + }, + "81b0c62b427040c0a085e7e63db46ac3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d958d6f7c1284adeae233a13353ba3d0", + "max": 5439, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_49a44fb68bca4ea19a6ffcf794f3039a", + "value": 5439 + } + }, + "91799ab4c0864ba9a9a8dd54f73cf7a4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e991a429e51d4980b1374992b1bd3fb3", + "placeholder": "​", + "style": "IPY_MODEL_6224481255304438bafa996d1981bd9b", + "value": " 5.44k/5.44k [00:00<00:00, 220kB/s]" + } + }, + "91598533cd7f48f5a708543bf5f3bab6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "543c8cc6dd0f4ccd99e48c038543cd9f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "debe32e761d34be1a2c30d801a2451be": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d958d6f7c1284adeae233a13353ba3d0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "49a44fb68bca4ea19a6ffcf794f3039a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "e991a429e51d4980b1374992b1bd3fb3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6224481255304438bafa996d1981bd9b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "822edeea9ecf4c16b9bcf7951eed3792": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8e4c08035b694012922777750beb333e", + "IPY_MODEL_0b19af29fefa46749ec3efa4af03bd85", + "IPY_MODEL_4f6d03ac52c04d3f8da9b7796054b648" + ], + "layout": "IPY_MODEL_2c73ded880e14d7fbae4d3abc94262c2" + } + }, + "8e4c08035b694012922777750beb333e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_92459ab6b11d47dba3db1fc162972efd", + "placeholder": "​", + "style": "IPY_MODEL_91a1b97822fc40eeb827c34fd15c74b6", + "value": "Downloading data files: 100%" + } + }, + "0b19af29fefa46749ec3efa4af03bd85": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_de9ac409b2104355b33f3224a58d5d24", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_103a16e8a0cb4abeaff11b881ad45cd7", + "value": 2 + } + }, + "4f6d03ac52c04d3f8da9b7796054b648": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_48a424c068e247b889628fe97265550a", + "placeholder": "​", + "style": "IPY_MODEL_cd33f15aee464f798cba807dce8440e9", + "value": " 2/2 [00:02<00:00, 1.43s/it]" + } + }, + "2c73ded880e14d7fbae4d3abc94262c2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "92459ab6b11d47dba3db1fc162972efd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "91a1b97822fc40eeb827c34fd15c74b6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "de9ac409b2104355b33f3224a58d5d24": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "103a16e8a0cb4abeaff11b881ad45cd7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "48a424c068e247b889628fe97265550a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cd33f15aee464f798cba807dce8440e9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a441f30832cc435c8bbe4176a4eb6397": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_38e802c8fcee4125815f972d7c7a0fff", + "IPY_MODEL_cf58b80e62454c939e14a0cf451a0aa2", + "IPY_MODEL_94dad8d2649c403dbb443c7e3d8b1097" + ], + "layout": "IPY_MODEL_6daf5ef868b847d397fb3924b1b74d35" + } + }, + "38e802c8fcee4125815f972d7c7a0fff": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_95991639ef264d37a509f8bd9ecdf7c8", + "placeholder": "​", + "style": "IPY_MODEL_f7d58ab0578b49e39939c05192016146", + "value": "Downloading data: " + } + }, + "cf58b80e62454c939e14a0cf451a0aa2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9d0edf01c6574b6da5e2fd9ffc9146aa", + "max": 5383113, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_935634cd3d1340d3986110539c3fcc76", + "value": 5383113 + } + }, + "94dad8d2649c403dbb443c7e3d8b1097": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2001d69064ec4b78be911fe41c06b468", + "placeholder": "​", + "style": "IPY_MODEL_074215c3ae704b939e205bc604a6339d", + "value": " 11.7M/? [00:00<00:00, 41.9MB/s]" + } + }, + "6daf5ef868b847d397fb3924b1b74d35": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "95991639ef264d37a509f8bd9ecdf7c8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f7d58ab0578b49e39939c05192016146": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9d0edf01c6574b6da5e2fd9ffc9146aa": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "935634cd3d1340d3986110539c3fcc76": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2001d69064ec4b78be911fe41c06b468": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "074215c3ae704b939e205bc604a6339d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "caf5cd41ecb44a50b80508f7cb6792f2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_2ada78a1a43a42668dba150700b257ea", + "IPY_MODEL_abdd89a240da41858e2eedbe80a3a084", + "IPY_MODEL_7ed6cb7e905f43768e21ceb29c674215" + ], + "layout": "IPY_MODEL_e8aa467e689c47c5a52738dc8620d529" + } + }, + "2ada78a1a43a42668dba150700b257ea": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_75560191f732426e8d48348d9519c1f0", + "placeholder": "​", + "style": "IPY_MODEL_bbae5295c7814f8aa8a83b6c7c4622f2", + "value": "Downloading data: " + } + }, + "abdd89a240da41858e2eedbe80a3a084": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f73ecd74491647148a180a05c52e69b8", + "max": 2228485, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f312478e6d794daa9625836628caf03f", + "value": 2228485 + } + }, + "7ed6cb7e905f43768e21ceb29c674215": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0cc7dfd0ff934b649b76b3917602f1be", + "placeholder": "​", + "style": "IPY_MODEL_afd3066953514cd59f31e15e4d2915e7", + "value": " 4.84M/? [00:00<00:00, 30.3MB/s]" + } + }, + "e8aa467e689c47c5a52738dc8620d529": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "75560191f732426e8d48348d9519c1f0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bbae5295c7814f8aa8a83b6c7c4622f2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f73ecd74491647148a180a05c52e69b8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f312478e6d794daa9625836628caf03f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "0cc7dfd0ff934b649b76b3917602f1be": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "afd3066953514cd59f31e15e4d2915e7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a652e69a7c0044f190068adae92d4461": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_146c22e8c0654103944d314f183beac1", + "IPY_MODEL_9384d6d22f3643219151ad248a0d2fc7", + "IPY_MODEL_5780154511334024bedf4323a4c87227" + ], + "layout": "IPY_MODEL_f6d52c07e696497c9744d30e48c4f8ba" + } + }, + "146c22e8c0654103944d314f183beac1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_848fb54cd20347f8b61579415190dd92", + "placeholder": "​", + "style": "IPY_MODEL_9e5e85f4d62b4a699c28f7cf5567dd46", + "value": "Extracting data files: 100%" + } + }, + "9384d6d22f3643219151ad248a0d2fc7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_017322c8e90b48ae9164efe2569c2727", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9658ed7253c940548fb40a4b320ac1b4", + "value": 2 + } + }, + "5780154511334024bedf4323a4c87227": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_390e468c3044442aacca917d23d5709d", + "placeholder": "​", + "style": "IPY_MODEL_eb1a99d40b2b426a80884f1577f18948", + "value": " 2/2 [00:00<00:00, 107.80it/s]" + } + }, + "f6d52c07e696497c9744d30e48c4f8ba": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "848fb54cd20347f8b61579415190dd92": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9e5e85f4d62b4a699c28f7cf5567dd46": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "017322c8e90b48ae9164efe2569c2727": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9658ed7253c940548fb40a4b320ac1b4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "390e468c3044442aacca917d23d5709d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "eb1a99d40b2b426a80884f1577f18948": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "489f5cfe7b244bdd85122db470ad7d2a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_0799153be5ac4d209c20817dfd187cf8", + "IPY_MODEL_7188ef2547fb49a79f044755eda0e7ca", + "IPY_MODEL_70b549e449864f4795d7fca0ceb21b3a" + ], + "layout": "IPY_MODEL_458ec4577122485dae1acbf046fb6701" + } + }, + "0799153be5ac4d209c20817dfd187cf8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c6bf49b2298c4d9eb9035fb860b539e7", + "placeholder": "​", + "style": "IPY_MODEL_eff0a998e46046fe8cbeed279d4956c3", + "value": "Downloading data files: 100%" + } + }, + "7188ef2547fb49a79f044755eda0e7ca": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a2956bc417f8442a93ace1630b4f6c5c", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_1e3ece313db34ed89f7c97bda5d94136", + "value": 2 + } + }, + "70b549e449864f4795d7fca0ceb21b3a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_26215544657644888e95c477b5875804", + "placeholder": "​", + "style": "IPY_MODEL_a2c144716157471f86cff341ec3a188e", + "value": " 2/2 [00:00<00:00, 125.53it/s]" + } + }, + "458ec4577122485dae1acbf046fb6701": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c6bf49b2298c4d9eb9035fb860b539e7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "eff0a998e46046fe8cbeed279d4956c3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a2956bc417f8442a93ace1630b4f6c5c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1e3ece313db34ed89f7c97bda5d94136": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "26215544657644888e95c477b5875804": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a2c144716157471f86cff341ec3a188e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "55130e2f028e4711a48477b69601295d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_93cb42215da44d2ba4213b835d252eab", + "IPY_MODEL_94d0bf4b5dce4ec8b33600c8b3472630", + "IPY_MODEL_c55c9f7cf12b40a4bf753945ddd96f05" + ], + "layout": "IPY_MODEL_1fa1643b342b485d9b6697d7cefeddac" + } + }, + "93cb42215da44d2ba4213b835d252eab": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_dd417a969ac849baa6929d18ada5d1c9", + "placeholder": "​", + "style": "IPY_MODEL_dfdcf8520708413da2dc151f41c193c0", + "value": "Extracting data files: 100%" + } + }, + "94d0bf4b5dce4ec8b33600c8b3472630": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c0fb53db671b4d26ac06c6c3c9933b15", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_0da9f1a610f244249d7dbe73df3ac5ee", + "value": 2 + } + }, + "c55c9f7cf12b40a4bf753945ddd96f05": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0169f1f662334c438b88fcdadfbcbfd4", + "placeholder": "​", + "style": "IPY_MODEL_ba97193bfa6442bb929be164fc9a7463", + "value": " 2/2 [00:00<00:00, 68.43it/s]" + } + }, + "1fa1643b342b485d9b6697d7cefeddac": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "dd417a969ac849baa6929d18ada5d1c9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "dfdcf8520708413da2dc151f41c193c0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c0fb53db671b4d26ac06c6c3c9933b15": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0da9f1a610f244249d7dbe73df3ac5ee": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "0169f1f662334c438b88fcdadfbcbfd4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ba97193bfa6442bb929be164fc9a7463": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "36bd99d5f08c4fdabada7157edff32ea": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5c9e7ebc6e5d41bab8328e93513913ad", + "IPY_MODEL_f2b117616f3b4eedb96986bab63a6692", + "IPY_MODEL_91e0f48982364466a14fbd0c5364d336" + ], + "layout": "IPY_MODEL_28514f23fe78478faf8d4ee54c03f573" + } + }, + "5c9e7ebc6e5d41bab8328e93513913ad": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_adb329d31dc94bbb9447099ee12802a4", + "placeholder": "​", + "style": "IPY_MODEL_e46269bca9ac4f289ae58b63a9b50c05", + "value": "Generating train split: " + } + }, + "f2b117616f3b4eedb96986bab63a6692": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_727e09b03a2841fab93af2ccdc800619", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b240fb02e8184aa58d1eba709b1991bc", + "value": 1 + } + }, + "91e0f48982364466a14fbd0c5364d336": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1e467554461f4cc2ae842712b59feea8", + "placeholder": "​", + "style": "IPY_MODEL_28848374ffd84ecd869acd909f966885", + "value": " 149985/0 [00:00<00:00, 522618.35 examples/s]" + } + }, + "28514f23fe78478faf8d4ee54c03f573": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "adb329d31dc94bbb9447099ee12802a4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e46269bca9ac4f289ae58b63a9b50c05": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "727e09b03a2841fab93af2ccdc800619": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "20px" + } + }, + "b240fb02e8184aa58d1eba709b1991bc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "1e467554461f4cc2ae842712b59feea8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "28848374ffd84ecd869acd909f966885": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6970e3f5318c425bb682a11fe2710eb8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_93cd1a99f280417fa21c10147d3086a2", + "IPY_MODEL_88c000f55dbb48129f1d719207084ddb", + "IPY_MODEL_f4eda86e937a4a548024f662723e37a3" + ], + "layout": "IPY_MODEL_199692beb0204413b8e3212ea7a3a030" + } + }, + "93cd1a99f280417fa21c10147d3086a2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_bdb1639f2264475c96a6665fd0a16fdf", + "placeholder": "​", + "style": "IPY_MODEL_87007da808364f3a8f464fed05c92a0d", + "value": "Generating test split: " + } + }, + "88c000f55dbb48129f1d719207084ddb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e932af18b3734c50b3d7d12972408a8d", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9e9516808b2e406c9e1010f23d5b26c0", + "value": 1 + } + }, + "f4eda86e937a4a548024f662723e37a3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_70f0780e3ac143eaa5793bd75b1dd0d4", + "placeholder": "​", + "style": "IPY_MODEL_62c52ca8fa1147c594cfc1b0e891992f", + "value": " 61998/0 [00:00<00:00, 617050.03 examples/s]" + } + }, + "199692beb0204413b8e3212ea7a3a030": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bdb1639f2264475c96a6665fd0a16fdf": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "87007da808364f3a8f464fed05c92a0d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e932af18b3734c50b3d7d12972408a8d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "20px" + } + }, + "9e9516808b2e406c9e1010f23d5b26c0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "70f0780e3ac143eaa5793bd75b1dd0d4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "62c52ca8fa1147c594cfc1b0e891992f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "40f69f00418b4f3e90061376bac624d5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_dc0da9cdfd2e41998f4e2f3a04dfc658", + "IPY_MODEL_a4493afa196e4888aa1d1b2b06a181a0", + "IPY_MODEL_c25e4db8dbbc4aef980fa2463678306f" + ], + "layout": "IPY_MODEL_2a432c2f7e4b44c2926fc6a5460c27ed" + } + }, + "dc0da9cdfd2e41998f4e2f3a04dfc658": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c7d932f531e0499ab8318f32834dae51", + "placeholder": "​", + "style": "IPY_MODEL_a50c23d78cc445879300f98af0ac69ae", + "value": "Map: 100%" + } + }, + "a4493afa196e4888aa1d1b2b06a181a0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8774f73644024974a3116309684f0c7c", + "max": 149985, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_85d4eb30714f4d66b1fe1f77887554ca", + "value": 149985 + } + }, + "c25e4db8dbbc4aef980fa2463678306f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7d8e46bd108d41adae04baa12963bb56", + "placeholder": "​", + "style": "IPY_MODEL_5d5a7becafcb45808dfe65cb660e6827", + "value": " 149985/149985 [00:10<00:00, 17268.92 examples/s]" + } + }, + "2a432c2f7e4b44c2926fc6a5460c27ed": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c7d932f531e0499ab8318f32834dae51": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a50c23d78cc445879300f98af0ac69ae": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8774f73644024974a3116309684f0c7c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "85d4eb30714f4d66b1fe1f77887554ca": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "7d8e46bd108d41adae04baa12963bb56": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5d5a7becafcb45808dfe65cb660e6827": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "27ce5829e05149a39ea9afd2e6f0fc98": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_aae06c7d529c418b9841a348bc444d3a", + "IPY_MODEL_52a4fd97b2094096a0a23d8bb097a686", + "IPY_MODEL_1ce195a3a1354811945728f81568da2a" + ], + "layout": "IPY_MODEL_e0f1add308c74732b8e488e2057becf4" + } + }, + "aae06c7d529c418b9841a348bc444d3a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6f1ca069baf04a5da2861661dadbc662", + "placeholder": "​", + "style": "IPY_MODEL_8af4d1f70cd944ddadf8ea36ac38c58e", + "value": "Map: 100%" + } + }, + "52a4fd97b2094096a0a23d8bb097a686": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_400f27da06e749d5be0a61accaf43a0c", + "max": 61998, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3f813851ad10411ab48f26e765dc9cff", + "value": 61998 + } + }, + "1ce195a3a1354811945728f81568da2a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2908cee0b3524c82a262c0d5b78fddfb", + "placeholder": "​", + "style": "IPY_MODEL_35710d549e274f58abd02c54be72c6c2", + "value": " 61998/61998 [00:05<00:00, 7078.06 examples/s]" + } + }, + "e0f1add308c74732b8e488e2057becf4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6f1ca069baf04a5da2861661dadbc662": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8af4d1f70cd944ddadf8ea36ac38c58e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "400f27da06e749d5be0a61accaf43a0c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3f813851ad10411ab48f26e765dc9cff": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2908cee0b3524c82a262c0d5b78fddfb": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "35710d549e274f58abd02c54be72c6c2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "46e5647a158d4d83a89a08991191bcbb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_1dff1987bcc64508b236a2a5bf9cec2a", + "IPY_MODEL_70f57872c19447aa9b0d2d9e5bcf0570", + "IPY_MODEL_461c8ba97e25462189b95f238a27044e" + ], + "layout": "IPY_MODEL_f7985d5de72648c2a4334b89ee603f7c" + } + }, + "1dff1987bcc64508b236a2a5bf9cec2a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_43da3b6e0120420bacc56bb081c560ec", + "placeholder": "​", + "style": "IPY_MODEL_031f9bd8994f498db14409e4e7f1cf03", + "value": "Creating json from Arrow format: 100%" + } + }, + "70f57872c19447aa9b0d2d9e5bcf0570": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6c4658d876b44a84b360d061bb68ed66", + "max": 120, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_439aa1daa2424e49a07ec12ed29ac351", + "value": 120 + } + }, + "461c8ba97e25462189b95f238a27044e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_88dd9b1409f04bfc9993bcd0244777fe", + "placeholder": "​", + "style": "IPY_MODEL_c979b3835a7b49ae8ab8947cf13707d5", + "value": " 120/120 [00:02<00:00, 76.68ba/s]" + } + }, + "f7985d5de72648c2a4334b89ee603f7c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "43da3b6e0120420bacc56bb081c560ec": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "031f9bd8994f498db14409e4e7f1cf03": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6c4658d876b44a84b360d061bb68ed66": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "439aa1daa2424e49a07ec12ed29ac351": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "88dd9b1409f04bfc9993bcd0244777fe": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c979b3835a7b49ae8ab8947cf13707d5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0bccff746d854f2cba07592a9f1259f5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c59fec8321c64cb98488e70f9ef78740", + "IPY_MODEL_5a7ea78609464fb0b4b6c1e4a3597613", + "IPY_MODEL_269568a9089f40ccb9a0c62efb6c3770" + ], + "layout": "IPY_MODEL_1ee4b4a1f0014f60b88656f97f31dd51" + } + }, + "c59fec8321c64cb98488e70f9ef78740": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_65eeb8ee0eeb4127a0d5bd27e2aee5b7", + "placeholder": "​", + "style": "IPY_MODEL_4a8a0369a02d45b0ba6b3714180da358", + "value": "Creating json from Arrow format: 100%" + } + }, + "5a7ea78609464fb0b4b6c1e4a3597613": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_303510fad09b4534aed23aa783256b89", + "max": 30, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_35377e401e344f27b3f86567e03b8665", + "value": 30 + } + }, + "269568a9089f40ccb9a0c62efb6c3770": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3c13ee6ac4364612bc17ef3ffd6b3429", + "placeholder": "​", + "style": "IPY_MODEL_fc4f53f70e3446a1b93a144879dd8c2d", + "value": " 30/30 [00:00<00:00, 89.60ba/s]" + } + }, + "1ee4b4a1f0014f60b88656f97f31dd51": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "65eeb8ee0eeb4127a0d5bd27e2aee5b7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4a8a0369a02d45b0ba6b3714180da358": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "303510fad09b4534aed23aa783256b89": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "35377e401e344f27b3f86567e03b8665": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "3c13ee6ac4364612bc17ef3ffd6b3429": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fc4f53f70e3446a1b93a144879dd8c2d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "495a8f52054743509e151806da0abbfa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8c22504ccaee4cbf9bdfef0c120590b2", + "IPY_MODEL_df38d84cc6ae40788c0f164cc251f185", + "IPY_MODEL_cc4803dc285b471685e754d1e442c6fd" + ], + "layout": "IPY_MODEL_e875464290684953b527904557f3528e" + } + }, + "8c22504ccaee4cbf9bdfef0c120590b2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9bb3360a875543ae82ee5480acac4796", + "placeholder": "​", + "style": "IPY_MODEL_2a7dda9c5aac4087951f16e5b5ac96b7", + "value": "Creating json from Arrow format: 100%" + } + }, + "df38d84cc6ae40788c0f164cc251f185": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f578471ef71447758cfd82bd8bdc99e0", + "max": 62, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_ebc67fdc3a434f4f8a52e12faa935dea", + "value": 62 + } + }, + "cc4803dc285b471685e754d1e442c6fd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e138aec3fffe40fc8855ff43e8bdc96e", + "placeholder": "​", + "style": "IPY_MODEL_06a0f93bdfcb4b6d9f2bd0488565c650", + "value": " 62/62 [00:00<00:00, 199.66ba/s]" + } + }, + "e875464290684953b527904557f3528e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9bb3360a875543ae82ee5480acac4796": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2a7dda9c5aac4087951f16e5b5ac96b7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f578471ef71447758cfd82bd8bdc99e0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ebc67fdc3a434f4f8a52e12faa935dea": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "e138aec3fffe40fc8855ff43e8bdc96e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "06a0f93bdfcb4b6d9f2bd0488565c650": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "271cfea7b9a4422ba78ad0513d8091e9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_7ec9e74bff04481da80fe3370e876420", + "IPY_MODEL_5bd26ff88cf248d4aabe2fcf5446cd5c", + "IPY_MODEL_adf9c6b09bd54777996a1f9673d7f694" + ], + "layout": "IPY_MODEL_6e9fdbd4fd544b15a04dd0729aedcaae" + } + }, + "7ec9e74bff04481da80fe3370e876420": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6581c29cdfb04ea59400f8061d796fe3", + "placeholder": "​", + "style": "IPY_MODEL_d115499e37a34b8690d6849494aa65ae", + "value": "Generating train split: 100%" + } + }, + "5bd26ff88cf248d4aabe2fcf5446cd5c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_13826beae5f042db9b6d3e3f3807f85e", + "max": 119988, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_14c66c78bd1b4313b789a79ddb265a45", + "value": 119988 + } + }, + "adf9c6b09bd54777996a1f9673d7f694": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f02baf3f36754d8f87241f7184ffb75c", + "placeholder": "​", + "style": "IPY_MODEL_cda0be8a5d5847ca989c89fff99dac1f", + "value": " 119988/119988 [00:08<00:00, 13031.33 examples/s]" + } + }, + "6e9fdbd4fd544b15a04dd0729aedcaae": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6581c29cdfb04ea59400f8061d796fe3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d115499e37a34b8690d6849494aa65ae": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "13826beae5f042db9b6d3e3f3807f85e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "14c66c78bd1b4313b789a79ddb265a45": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "f02baf3f36754d8f87241f7184ffb75c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cda0be8a5d5847ca989c89fff99dac1f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3103d44d02bb45beb33588cf708ba811": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_58385a662e624c63b2d317b5b6840037", + "IPY_MODEL_736c636e2b274ffeb9aac319d56a37a7", + "IPY_MODEL_002e4045b9b44bfc84571412f0f11624" + ], + "layout": "IPY_MODEL_5969054c9cf34ed1a638a69bcbbb377a" + } + }, + "58385a662e624c63b2d317b5b6840037": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c24af0f963b7460d9d38e3b09081f949", + "placeholder": "​", + "style": "IPY_MODEL_65055dbabf0440d1a6b0c0189553ffcf", + "value": "Generating validation split: 100%" + } + }, + "736c636e2b274ffeb9aac319d56a37a7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c8b52ae553bb4745b0444e6476da535d", + "max": 29997, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f7e102b56feb46c68f968056adaec751", + "value": 29997 + } + }, + "002e4045b9b44bfc84571412f0f11624": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2c7208b82d5c42adb83acc50af9e2a29", + "placeholder": "​", + "style": "IPY_MODEL_ed390a926cd14072bc95e2054d184541", + "value": " 29997/29997 [00:03<00:00, 6705.96 examples/s]" + } + }, + "5969054c9cf34ed1a638a69bcbbb377a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c24af0f963b7460d9d38e3b09081f949": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "65055dbabf0440d1a6b0c0189553ffcf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c8b52ae553bb4745b0444e6476da535d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f7e102b56feb46c68f968056adaec751": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2c7208b82d5c42adb83acc50af9e2a29": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ed390a926cd14072bc95e2054d184541": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2831a9ec119a495bbde153ee1eb37c66": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_e830bae8320b44a4bec4a8652e3d8472", + "IPY_MODEL_f44ba78d0c29409bbd1e24134d5335da", + "IPY_MODEL_0ba6d5b1963e4ec1a2a6bc72990bc5a3" + ], + "layout": "IPY_MODEL_b01e8fb3d39c4aa986da3ac2b0a16ec7" + } + }, + "e830bae8320b44a4bec4a8652e3d8472": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0411fc784d604202afbfbf43a915e467", + "placeholder": "​", + "style": "IPY_MODEL_3246b30f178c4fe9a256e6e326546cbd", + "value": "Generating test split: 100%" + } + }, + "f44ba78d0c29409bbd1e24134d5335da": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e764d414a9db4f9bbb3bf42a5f8b780a", + "max": 61998, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_fca8c1d470cb49b08c8066676d70aed3", + "value": 61998 + } + }, + "0ba6d5b1963e4ec1a2a6bc72990bc5a3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f01e1dee781d49939d3204cdfe991def", + "placeholder": "​", + "style": "IPY_MODEL_8badb18f053f407e83699688cc0c5999", + "value": " 61998/61998 [00:02<00:00, 33733.27 examples/s]" + } + }, + "b01e8fb3d39c4aa986da3ac2b0a16ec7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0411fc784d604202afbfbf43a915e467": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3246b30f178c4fe9a256e6e326546cbd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e764d414a9db4f9bbb3bf42a5f8b780a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fca8c1d470cb49b08c8066676d70aed3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "f01e1dee781d49939d3204cdfe991def": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8badb18f053f407e83699688cc0c5999": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + } } }, "nbformat": 4, From 93a6494804a37aceca2b7441f66952400053c9e7 Mon Sep 17 00:00:00 2001 From: NIXBLACK11 Date: Thu, 7 Dec 2023 20:44:54 +0530 Subject: [PATCH 22/22] updated sentimentAnalysis.ipynb --- .../SentimentAnalysis/SentimentAnalysis.ipynb | 4246 ++++++++--------- 1 file changed, 2123 insertions(+), 2123 deletions(-) diff --git a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb index deebdf79..adec6b51 100644 --- a/tasks/SentimentAnalysis/SentimentAnalysis.ipynb +++ b/tasks/SentimentAnalysis/SentimentAnalysis.ipynb @@ -36,8 +36,8 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Collecting laser_encoders\n", " Downloading laser_encoders-0.0.1-py3-none-any.whl (24 kB)\n", @@ -151,8 +151,8 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n", "Collecting datasets\n", @@ -263,8 +263,6 @@ "cell_type": "code", "execution_count": 4, "metadata": { - "id": "K0CKtslqNlQg", - "outputId": "b9e2ddd9-7fd5-4eec-fcc7-443b0d0b1b76", "colab": { "base_uri": "https://localhost:8080/", "height": 625, @@ -479,274 +477,276 @@ "f01e1dee781d49939d3204cdfe991def", "8badb18f053f407e83699688cc0c5999" ] - } + }, + "id": "K0CKtslqNlQg", + "outputId": "b9e2ddd9-7fd5-4eec-fcc7-443b0d0b1b76" }, "outputs": [ { - "output_type": "display_data", "data": { - "text/plain": [ - "Downloading builder script: 0%| | 0.00/4.38k [00:00" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAJUCAYAAAB65eXRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKpklEQVR4nO3deVhWdf7/8dcNyg2IN6ghuKDgLmqaGzKlZpE00pSlkzqWZmqjY5aSlcyU21Q6lrmMptM0I+bU16VJJ/cMlxZxw9yXNh2cFDAVblcQOL8/+nEu76CURT8qz8d1fa6r+3PenPM+t+nx5bnP53ZYlmUJAAAAAHDdeZluAAAAAADKKwIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQDAiCeeeELh4eGm2zAuMTFRDodDR44cuebH+ul7fuTIETkcDr3xxhvX/NiSNG7cODkcjutyLAC4WRDIAKAc2LNnj3r27Km6devK19dXtWrV0n333ae//vWv1/S4x44d07hx47Rz585repxr5fz58xo3bpw2bNhwVfUbNmyQw+Gwh9PpVEhIiO6++2699tprOnHihJG+rqcbuTcAuBE5LMuyTDcBALh2Nm3apC5duqhOnTrq37+/QkNDdfToUW3evFnffvutvvnmm2t27O3bt6tdu3aaO3eunnjiCY9tly5dUn5+vpxO5zU7fmn98MMPCg4O1tixYzVu3Lgr1m/YsEFdunTRM888o3bt2ikvL08nTpzQpk2btGzZMgUGBmrRokW655577J/Jy8vTpUuX5HQ6r/ruUXH7KvDT9/zIkSOKiIjQ66+/rlGjRl31fkraW25urnJzc+Xr61smxwKAW0EF0w0AAK6tV199VYGBgdq2bZuCgoI8tmVkZJhpSlLFihWNHfta69ixo3r27Okxt2vXLnXt2lU9evTQ/v37VaNGDUmSt7e3vL29r2k/586dU6VKlYy/5xUqVFCFCvzVAwAux0cWAeAW9+2336pZs2aFwpgkVa9evdDcv/71L7Vp00Z+fn6qWrWqevfuraNHj3rU3H333WrevLn279+vLl26yN/fX7Vq1dLkyZPtmg0bNqhdu3aSpAEDBtgf40tMTJT0y88zzZo1S/Xq1ZO/v7+6du2qo0ePyrIs/fnPf1bt2rXl5+enhx56SKdOnSrU/6pVq9SxY0dVqlRJlStXVlxcnPbt2+dR88QTTyggIEDff/+9unfvroCAAAUHB2vUqFHKy8uz+wkODpYkjR8/3u6/OHekLteyZUtNmzZNmZmZmjlzpj1f1DNk27dvV2xsrG677Tb5+fkpIiJCTz755FX1VXBu3377rbp166bKlSurb9++Rb7nl5s6darq1q0rPz8/de7cWXv37vXYfvfdd+vuu+8u9HOX7/NKvRX1DFlubq7+/Oc/q379+nI6nQoPD9cf//hHZWdne9SFh4frgQce0Oeff6727dvL19dX9erV07vvvlv0Gw4ANwkCGQDc4urWrauUlJRCf8Euyquvvqp+/fqpYcOGevPNNzVixAglJSWpU6dOyszM9Kg9ffq07r//frVs2VJTpkxRkyZN9OKLL2rVqlWSpKZNm2rChAmSpKeeekrz58/X/Pnz1alTp1/s4b333tNbb72l4cOH67nnntPGjRv16KOP6qWXXtLq1av14osv6qmnntKyZcsKfcxu/vz5iouLU0BAgP7yl7/o5Zdf1v79+3XXXXcVWjQjLy9PsbGxqlatmt544w117txZU6ZM0dtvvy1JCg4O1uzZsyVJDz/8sN3/I488csX38ef07NlTfn5++vjjj3+2JiMjQ127dtWRI0c0evRo/fWvf1Xfvn21efPmq+4rNzdXsbGxql69ut544w316NHjF/t69913NWPGDA0bNkwJCQnau3ev7rnnHqWnpxfr/Eryng0aNEhjxoxR69atNXXqVHXu3FkTJ05U7969C9V+88036tmzp+677z5NmTJFVapU0RNPPFEocAPATcUCANzSPv74Y8vb29vy9va2oqOjrRdeeMFas2aNlZOT41F35MgRy9vb23r11Vc95vfs2WNVqFDBY75z586WJOvdd9+157Kzs63Q0FCrR48e9ty2bdssSdbcuXML9dW/f3+rbt269uvDhw9bkqzg4GArMzPTnk9ISLAkWS1btrQuXbpkz/fp08fy8fGxLl68aFmWZZ05c8YKCgqyBg8e7HGctLQ0KzAw0GO+f//+liRrwoQJHrV33HGH1aZNG/v1iRMnLEnW2LFjC/VflPXr11uSrMWLF/9sTcuWLa0qVarYr+fOnWtJsg4fPmxZlmUtWbLEkmRt27btZ/fxS30VnNvo0aOL3FbUe+7n52f973//s+e3bNliSbJGjhxpz3Xu3Nnq3LnzFff5S72NHTvWuvyvHjt37rQkWYMGDfKoGzVqlCXJWrdunT1Xt25dS5L16aef2nMZGRmW0+m0nnvuuULHAoCbBXfIAOAWd9999yk5OVkPPvigdu3apcmTJys2Nla1atXSRx99ZNd9+OGHys/P16OPPqoffvjBHqGhoWrYsKHWr1/vsd+AgAA99thj9msfHx+1b99e3333Xan6/e1vf6vAwED7dVRUlCTpscce83j+KCoqSjk5Ofr+++8lSWvXrlVmZqb69Onj0b+3t7eioqIK9S9JQ4YM8XjdsWPHUvd/JQEBATpz5szPbi/4aOny5ct16dKlEh9n6NChV13bvXt31apVy37dvn17RUVFaeXKlSU+/tUo2H98fLzH/HPPPSdJWrFihcd8ZGSkOnbsaL8ODg5W48aNr/mvGQBcSwQyACgH2rVrpw8//FCnT5/W1q1blZCQoDNnzqhnz57av3+/JOnrr7+WZVlq2LChgoODPcaBAwcKLQBSu3btQs8DValSRadPny5Vr3Xq1PF4XRDOwsLCipwvON7XX38tSbrnnnsK9f/xxx8X6t/X19d+3qks+7+Ss2fPqnLlyj+7vXPnzurRo4fGjx+v2267TQ899JDmzp1b6JmqX1KhQgXVrl37qusbNmxYaK5Ro0bX/LvR/vvf/8rLy0sNGjTwmA8NDVVQUJD++9//esz/9P8N6fr8mgHAtcRSRwBQjvj4+Khdu3Zq166dGjVqpAEDBmjx4sUaO3as8vPz5XA4tGrVqiJX/QsICPB4/XMrA1ql/DaVn9vvlY6Xn58v6cfnyEJDQwvV/XR1v2u9smFRLl26pK+++krNmzf/2RqHw6EPPvhAmzdv1rJly7RmzRo9+eSTmjJlijZv3lzo16EoTqdTXl5l+2+uDoejyF/bgkVQSrvvq3Gt/p8DAJMIZABQTrVt21aSdPz4cUlS/fr1ZVmWIiIi1KhRozI5xtX+Rbss1K9fX9KPK0fGxMSUyT7Luv8PPvhAFy5cUGxs7BVrO3TooA4dOujVV1/V+++/r759+2rBggUaNGhQmfdVcHfxcl999ZXHioxVqlQp8qOBP72LVZze6tatq/z8fH399ddq2rSpPZ+enq7MzEzVrVv3qvcFADcrPrIIALe49evXF3kHoeD5ncaNG0uSHnnkEXl7e2v8+PGF6i3L0smTJ4t97EqVKklSoRUar4XY2Fi5XC699tprRT57deLEiWLv09/fX1LZ9L9r1y6NGDFCVapU0bBhw3627vTp04Xe/1atWkmS/bHFsuxLkpYuXWo/iydJW7du1ZYtW/TrX//anqtfv74OHjzo8T7u2rVLX3zxhce+itNbt27dJEnTpk3zmH/zzTclSXFxccU6DwC4GXGHDABuccOHD9f58+f18MMPq0mTJsrJydGmTZu0cOFChYeHa8CAAZJ+/Av3K6+8ooSEBB05ckTdu3dX5cqVdfjwYS1ZskRPPfVUoWXmr6R+/foKCgrSnDlzVLlyZVWqVElRUVGKiIgo8/N0uVyaPXu2Hn/8cbVu3Vq9e/dWcHCwUlNTtWLFCt15550e3/91Nfz8/BQZGamFCxeqUaNGqlq1qpo3b/6LHzmUpM8++0wXL15UXl6eTp48qS+++EIfffSRAgMDtWTJkiI/Ullg3rx5euutt/Twww+rfv36OnPmjP7+97/L5XLZAaakff2cBg0a6K677tLQoUOVnZ2tadOmqVq1anrhhRfsmieffFJvvvmmYmNjNXDgQGVkZGjOnDlq1qyZ3G53id6zli1bqn///nr77beVmZmpzp07a+vWrZo3b566d++uLl26lOh8AOBmQiADgFvcG2+8ocWLF2vlypV6++23lZOTozp16ugPf/iDXnrpJY8vjB49erQaNWqkqVOnavz48ZJ+XEyja9euevDBB4t97IoVK2revHlKSEjQkCFDlJubq7lz516TQCZJv/vd71SzZk1NmjRJr7/+urKzs1WrVi117NjRDp7F9c4772j48OEaOXKkcnJyNHbs2CsGnxkzZkj68fyDgoLUtGlTjR8/XoMHDy60kMhPFYSSBQsWKD09XYGBgWrfvr3ee+89j/etJH39nH79+snLy0vTpk1TRkaG2rdvr5kzZ6pGjRp2TdOmTfXuu+9qzJgxio+PV2RkpObPn6/3339fGzZs8NhfcXp75513VK9ePSUmJtphNSEhQWPHji3RuQDAzcZh8SQsAAAAABjBM2QAAAAAYAiBDAAAAAAMIZABAAAAgCEEMgAAAAAwhEAGAAAAAIYQyAAAAADAEL6HrIzk5+fr2LFjqly5shwOh+l2AAAAABhiWZbOnDmjmjVrysvrl++BEcjKyLFjxxQWFma6DQAAAAA3iKNHj6p27dq/WEMgKyOVK1eW9OOb7nK5DHcDAAAAwBS3262wsDA7I/wSAlkZKfiYosvlIpABAAAAuKpHmVjUAwAAAAAMIZABAAAAgCEEMgAAAAAwhEAGAAAAAIYQyAAAAADAEAIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQAAAAAYQiADAAAAAEOMB7Lvv/9ejz32mKpVqyY/Pz+1aNFC27dvt7dblqUxY8aoRo0a8vPzU0xMjL7++muPfZw6dUp9+/aVy+VSUFCQBg4cqLNnz3rU7N69Wx07dpSvr6/CwsI0efLkQr0sXrxYTZo0ka+vr1q0aKGVK1dem5MGAAAAABkOZKdPn9add96pihUratWqVdq/f7+mTJmiKlWq2DWTJ0/WjBkzNGfOHG3ZskWVKlVSbGysLl68aNf07dtX+/bt09q1a7V8+XJ9+umneuqpp+ztbrdbXbt2Vd26dZWSkqLXX39d48aN09tvv23XbNq0SX369NHAgQP15Zdfqnv37urevbv27t17fd4MAAAAAOWOw7Isy9TBR48erS+++EKfffZZkdsty1LNmjX13HPPadSoUZKkrKwshYSEKDExUb1799aBAwcUGRmpbdu2qW3btpKk1atXq1u3bvrf//6nmjVravbs2frTn/6ktLQ0+fj42MdeunSpDh48KEnq1auXzp07p+XLl9vH79Chg1q1aqU5c+Zc8VzcbrcCAwOVlZUll8tVqvcFAAAAwM2rONnA6B2yjz76SG3bttVvf/tbVa9eXXfccYf+/ve/29sPHz6stLQ0xcTE2HOBgYGKiopScnKyJCk5OVlBQUF2GJOkmJgYeXl5acuWLXZNp06d7DAmSbGxsTp06JBOnz5t11x+nIKaguP8VHZ2ttxut8cAAAAAgOIwGsi+++47zZ49Ww0bNtSaNWs0dOhQPfPMM5o3b54kKS0tTZIUEhLi8XMhISH2trS0NFWvXt1je4UKFVS1alWPmqL2cfkxfq6mYPtPTZw4UYGBgfYICwsr9vnjGnA4GAwGAAC4aVQwefD8/Hy1bdtWr732miTpjjvu0N69ezVnzhz179/fZGtXlJCQoPj4ePu12+0mlAEAcIPg3yZQ3pl7KAnFZfQOWY0aNRQZGekx17RpU6WmpkqSQkNDJUnp6ekeNenp6fa20NBQZWRkeGzPzc3VqVOnPGqK2sflx/i5moLtP+V0OuVyuTwGAAAAABSH0UB255136tChQx5zX331lerWrStJioiIUGhoqJKSkuztbrdbW7ZsUXR0tCQpOjpamZmZSklJsWvWrVun/Px8RUVF2TWffvqpLl26ZNesXbtWjRs3tld0jI6O9jhOQU3BcQAAAACgzFkGbd261apQoYL16quvWl9//bX13nvvWf7+/ta//vUvu2bSpElWUFCQ9Z///MfavXu39dBDD1kRERHWhQsX7Jr777/fuuOOO6wtW7ZYn3/+udWwYUOrT58+9vbMzEwrJCTEevzxx629e/daCxYssPz9/a2//e1vds0XX3xhVahQwXrjjTesAwcOWGPHjrUqVqxo7dmz56rOJSsry5JkZWVllcE7gxL78Q49g1G+BwDjvw0ZDNMDZhUnGxj/5Vq2bJnVvHlzy+l0Wk2aNLHefvttj+35+fnWyy+/bIWEhFhOp9O69957rUOHDnnUnDx50urTp48VEBBguVwua8CAAdaZM2c8anbt2mXdddddltPptGrVqmVNmjSpUC+LFi2yGjVqZPn4+FjNmjWzVqxYcdXnQSC7QZj+04/BuBEGAOO/DRkM0wNmFScbGP0eslsJ30N2g+ApbuDHazFQznE5QHnHpcCsm+Z7yAAAAACgPCOQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQAAAAAYQiADAAAAAEMIZAAAAABgCIEMAAAAAAwhkAEAAACAIQQyAAAAADCEQAYAAAAAhhDIAAAAAMAQAhkAAAAAGEIgAwAAAABDCGQAAAAAYAiBDAAAAAAMIZABAAAAgCEEMgAAAAAwhEAGAAAAAIYQyAAAAADAEAIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQAAAAAYQiADAAAAAEMIZAAAAABgCIEMAAAAAAwhkAEAAACAIQQyAAAAADCEQAYAAAAAhhDIAAAAAMAQAhkAAAAAGEIgAwAAAABDCGQAAAAAYAiBDAAAAAAMIZABAAAAgCEEMgAAAAAwhEAGAAAAAIYQyAAAAADAEAIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQAAAAAYQiADAAAAAEMIZAAAAABgCIEMAAAAAAwhkAEAAACAIQQyAAAAADCEQAYAAAAAhhDIAAAAAMAQAhkAAAAAGGI0kI0bN04Oh8NjNGnSxN5+8eJFDRs2TNWqVVNAQIB69Oih9PR0j32kpqYqLi5O/v7+ql69up5//nnl5uZ61GzYsEGtW7eW0+lUgwYNlJiYWKiXWbNmKTw8XL6+voqKitLWrVuvyTkDAAAAQAHjd8iaNWum48eP2+Pzzz+3t40cOVLLli3T4sWLtXHjRh07dkyPPPKIvT0vL09xcXHKycnRpk2bNG/ePCUmJmrMmDF2zeHDhxUXF6cuXbpo586dGjFihAYNGqQ1a9bYNQsXLlR8fLzGjh2rHTt2qGXLloqNjVVGRsb1eRMAAAAAlEsOy7IsUwcfN26cli5dqp07dxbalpWVpeDgYL3//vvq2bOnJOngwYNq2rSpkpOT1aFDB61atUoPPPCAjh07ppCQEEnSnDlz9OKLL+rEiRPy8fHRiy++qBUrVmjv3r32vnv37q3MzEytXr1akhQVFaV27dpp5syZkqT8/HyFhYVp+PDhGj169FWdi9vtVmBgoLKysuRyuUrztqA0HA7THQDmmftjHbhhcDlAecelwKziZAPjd8i+/vpr1axZU/Xq1VPfvn2VmpoqSUpJSdGlS5cUExNj1zZp0kR16tRRcnKyJCk5OVktWrSww5gkxcbGyu12a9++fXbN5fsoqCnYR05OjlJSUjxqvLy8FBMTY9cAAAAAwLVQweTBo6KilJiYqMaNG+v48eMaP368OnbsqL179yotLU0+Pj4KCgry+JmQkBClpaVJktLS0jzCWMH2gm2/VON2u3XhwgWdPn1aeXl5RdYcPHjwZ3vPzs5Wdna2/drtdhfv5AEAAACUe0YD2a9//Wv7v2+//XZFRUWpbt26WrRokfz8/Ax2dmUTJ07U+PHjTbcBAAAA4CZm/COLlwsKClKjRo30zTffKDQ0VDk5OcrMzPSoSU9PV2hoqCQpNDS00KqLBa+vVONyueTn56fbbrtN3t7eRdYU7KMoCQkJysrKssfRo0dLdM4AAAAAyq8bKpCdPXtW3377rWrUqKE2bdqoYsWKSkpKsrcfOnRIqampio6OliRFR0drz549Hqshrl27Vi6XS5GRkXbN5fsoqCnYh4+Pj9q0aeNRk5+fr6SkJLumKE6nUy6Xy2MAAAAAQHEYDWSjRo3Sxo0bdeTIEW3atEkPP/ywvL291adPHwUGBmrgwIGKj4/X+vXrlZKSogEDBig6OlodOnSQJHXt2lWRkZF6/PHHtWvXLq1Zs0YvvfSShg0bJqfTKUkaMmSIvvvuO73wwgs6ePCg3nrrLS1atEgjR460+4iPj9ff//53zZs3TwcOHNDQoUN17tw5DRgwwMj7AgAAAKB8MPoM2f/+9z/16dNHJ0+eVHBwsO666y5t3rxZwcHBkqSpU6fKy8tLPXr0UHZ2tmJjY/XWW2/ZP+/t7a3ly5dr6NChio6OVqVKldS/f39NmDDBromIiNCKFSs0cuRITZ8+XbVr19Y777yj2NhYu6ZXr146ceKExowZo7S0NLVq1UqrV68utNAHAAAAAJQlo99Ddivhe8huEHzxDMCXzwDicgBwKTDrpvoeMgAAAAAorwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQAAAAAYQiADAAAAAEMIZAAAAABgCIEMAAAAAAwhkAEAAACAIQQyAAAAADCEQAYAAAAAhhDIAAAAAMAQAhkAAAAAGEIgAwAAAABDCGQAAAAAYAiBDAAAAAAMIZABAAAAgCEEMgAAAAAwhEAGAAAAAIYQyAAAAADAEAIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQAAAAAYQiADAAAAAEMIZAAAAABgCIEMAAAAAAwhkAEAAACAIQQyAAAAADCEQAYAAAAAhhDIAAAAAMAQAhkAAAAAGEIgAwAAAABDCGQAAAAAYAiBDAAAAAAMIZABAAAAgCEEMgAAAAAwhEAGAAAAAIYQyAAAAADAEAIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQAAAAAYQiADAAAAAEMIZAAAAABgCIEMAAAAAAwhkAEAAACAIQQyAAAAADCEQAYAAAAAhhDIAAAAAMCQGyaQTZo0SQ6HQyNGjLDnLl68qGHDhqlatWoKCAhQjx49lJ6e7vFzqampiouLk7+/v6pXr67nn39eubm5HjUbNmxQ69at5XQ61aBBAyUmJhY6/qxZsxQeHi5fX19FRUVp69at1+I0AQAAAMB2QwSybdu26W9/+5tuv/12j/mRI0dq2bJlWrx4sTZu3Khjx47pkUcesbfn5eUpLi5OOTk52rRpk+bNm6fExESNGTPGrjl8+LDi4uLUpUsX7dy5UyNGjNCgQYO0Zs0au2bhwoWKj4/X2LFjtWPHDrVs2VKxsbHKyMi49icPAAAAoPyyDDtz5ozVsGFDa+3atVbnzp2tZ5991rIsy8rMzLQqVqxoLV682K49cOCAJclKTk62LMuyVq5caXl5eVlpaWl2zezZsy2Xy2VlZ2dblmVZL7zwgtWsWTOPY/bq1cuKjY21X7dv394aNmyY/TovL8+qWbOmNXHixKs+j6ysLEuSlZWVdfUnj7InMRgMAMZ/GzIYpgfMKk42MH6HbNiwYYqLi1NMTIzHfEpKii5duuQx36RJE9WpU0fJycmSpOTkZLVo0UIhISF2TWxsrNxut/bt22fX/HTfsbGx9j5ycnKUkpLiUePl5aWYmBi7pijZ2dlyu90eAwAAAACKo4LJgy9YsEA7duzQtm3bCm1LS0uTj4+PgoKCPOZDQkKUlpZm11wexgq2F2z7pRq3260LFy7o9OnTysvLK7Lm4MGDP9v7xIkTNX78+Ks7UQAAAAAogrE7ZEePHtWzzz6r9957T76+vqbaKLGEhARlZWXZ4+jRo6ZbAgAAAHCTMRbIUlJSlJGRodatW6tChQqqUKGCNm7cqBkzZqhChQoKCQlRTk6OMjMzPX4uPT1doaGhkqTQ0NBCqy4WvL5Sjcvlkp+fn2677TZ5e3sXWVOwj6I4nU65XC6PAQAAAADFYSyQ3XvvvdqzZ4927txpj7Zt26pv3772f1esWFFJSUn2zxw6dEipqamKjo6WJEVHR2vPnj0eqyGuXbtWLpdLkZGRds3l+yioKdiHj4+P2rRp41GTn5+vpKQkuwYAAAAArgVjz5BVrlxZzZs395irVKmSqlWrZs8PHDhQ8fHxqlq1qlwul4YPH67o6Gh16NBBktS1a1dFRkbq8ccf1+TJk5WWlqaXXnpJw4YNk9PplCQNGTJEM2fO1AsvvKAnn3xS69at06JFi7RixQr7uPHx8erfv7/atm2r9u3ba9q0aTp37pwGDBhwnd4NAAAAAOWR0UU9rmTq1Kny8vJSjx49lJ2drdjYWL311lv2dm9vby1fvlxDhw5VdHS0KlWqpP79+2vChAl2TUREhFasWKGRI0dq+vTpql27tt555x3FxsbaNb169dKJEyc0ZswYpaWlqVWrVlq9enWhhT4AAAAAoCw5LMuyTDdxK3C73QoMDFRWVhbPk5nkcJjuADCPP9YBLgco97gUmFWcbGD8e8gAAAAAoLwikAEAAACAIQQyAAAAADCEQAYAAAAAhhDIAAAAAMAQAhkAAAAAGEIgAwAAAABDCGQAAAAAYAiBDAAAAAAMIZABAAAAgCEEMgAAAAAwhEAGAAAAAIYQyAAAAADAEAIZAAAAABhCIAMAAAAAQwhkAAAAAGAIgQwAAAAADCGQAQAAAIAhBDIAAAAAMIRABgAAAACGEMgAAAAAwBACGQAAAAAYQiADAAAAAEMIZAAAAABgCIEMAAAAAAwhkAEAAACAIQQyAAAAADCEQAYAAAAAhhDIAAAAAMAQAhkAAAAAGEIgAwAAAABDCGQAAAAAYAiBDAAAAAAMIZABAAAAgCEEMgAAAAAwhEAGAAAAAIYQyAAAAADAkBIFsnr16unkyZOF5jMzM1WvXr1SNwUAAAAA5UGJAtmRI0eUl5dXaD47O1vff/99qZsCAAAAgPKgQnGKP/roI/u/16xZo8DAQPt1Xl6ekpKSFB4eXmbNAQAAAMCtrFiBrHv37pIkh8Oh/v37e2yrWLGiwsPDNWXKlDJrDgAAAABuZcUKZPn5+ZKkiIgIbdu2Tbfddts1aQoAAAAAyoNiBbIChw8fLus+AAAAAKDcKVEgk6SkpCQlJSUpIyPDvnNW4J///GepGwMAAACAW12JAtn48eM1YcIEtW3bVjVq1JDD4SjrvgAAAADglleiQDZnzhwlJibq8ccfL+t+AAAAAKDcKNH3kOXk5OhXv/pVWfcCAAAAAOVKiQLZoEGD9P7775d1LwAAAABQrpToI4sXL17U22+/rU8++US33367Klas6LH9zTffLJPmAAAAAOBWVqJAtnv3brVq1UqStHfvXo9tLPABAAAAAFenRIFs/fr1Zd0HAAAAAJQ7JXqGDAAAAABQeiW6Q9alS5df/GjiunXrStwQAAAAAJQXJQpkBc+PFbh06ZJ27typvXv3qn///mXRFwAAAADc8koUyKZOnVrk/Lhx43T27NlSNQQAAAAA5UWZPkP22GOP6Z///GdZ7hIAAAAAblllGsiSk5Pl6+tblrsEAAAAgFtWiT6y+Mgjj3i8tixLx48f1/bt2/Xyyy+XSWMAAAAAcKsrUSALDAz0eO3l5aXGjRtrwoQJ6tq1a5k0BgAAAAC3uhIFsrlz55Z1HwAAAABQ7pQokBVISUnRgQMHJEnNmjXTHXfcUSZNAQAAAEB5UKJAlpGRod69e2vDhg0KCgqSJGVmZqpLly5asGCBgoODy7JHAAAAALgllWiVxeHDh+vMmTPat2+fTp06pVOnTmnv3r1yu9165plnrno/s2fP1u233y6XyyWXy6Xo6GitWrXK3n7x4kUNGzZM1apVU0BAgHr06KH09HSPfaSmpiouLk7+/v6qXr26nn/+eeXm5nrUbNiwQa1bt5bT6VSDBg2UmJhYqJdZs2YpPDxcvr6+ioqK0tatW4v3pgAAAABAMZUokK1evVpvvfWWmjZtas9FRkZq1qxZHoHqSmrXrq1JkyYpJSVF27dv1z333KOHHnpI+/btkySNHDlSy5Yt0+LFi7Vx40YdO3bMY4XHvLw8xcXFKScnR5s2bdK8efOUmJioMWPG2DWHDx9WXFycunTpop07d2rEiBEaNGiQ1qxZY9csXLhQ8fHxGjt2rHbs2KGWLVsqNjZWGRkZJXl7AAAAAODqWCUQEBBgffnll4Xmd+zYYVWuXLkku7RVqVLFeuedd6zMzEyrYsWK1uLFi+1tBw4csCRZycnJlmVZ1sqVKy0vLy8rLS3Nrpk9e7blcrms7Oxsy7Is64UXXrCaNWvmcYxevXpZsbGx9uv27dtbw4YNs1/n5eVZNWvWtCZOnHjVfWdlZVmSrKysrOKdMMqWxGAwABj/bchgmB4wqzjZoER3yO655x49++yzOnbsmD33/fffa+TIkbr33ntLFAzz8vK0YMECnTt3TtHR0UpJSdGlS5cUExNj1zRp0kR16tRRcnKypB+/iLpFixYKCQmxa2JjY+V2u+27bMnJyR77KKgp2EdOTo5SUlI8ary8vBQTE2PXFCU7O1tut9tjAAAAAEBxlCiQzZw5U263W+Hh4apfv77q16+viIgIud1u/fWvfy3Wvvbs2aOAgAA5nU4NGTJES5YsUWRkpNLS0uTj42MvGlIgJCREaWlpkqS0tDSPMFawvWDbL9W43W5duHBBP/zwg/Ly8oqsKdhHUSZOnKjAwEB7hIWFFeu8AQAAAKBEqyyGhYVpx44d+uSTT3Tw4EFJUtOmTQvdiboajRs31s6dO5WVlaUPPvhA/fv318aNG0vS1nWVkJCg+Ph4+7Xb7SaUAQAAACiWYgWydevW6emnn9bmzZvlcrl033336b777pMkZWVlqVmzZpozZ446dux41fv08fFRgwYNJElt2rTRtm3bNH36dPXq1Us5OTnKzMz0uEuWnp6u0NBQSVJoaGih1RALVmG8vOanKzOmp6fL5XLJz89P3t7e8vb2LrKmYB9FcTqdcjqdV32eAAAAAPBTxfrI4rRp0zR48GC5XK5C2wIDA/X73/9eb775Zqkays/PV3Z2ttq0aaOKFSsqKSnJ3nbo0CGlpqYqOjpakhQdHa09e/Z4rIa4du1auVwuRUZG2jWX76OgpmAfPj4+atOmjUdNfn6+kpKS7BoAAAAAuCaKs1pInTp1rP379//s9gMHDlhhYWFXvb/Ro0dbGzdutA4fPmzt3r3bGj16tOVwOKyPP/7YsizLGjJkiFWnTh1r3bp11vbt263o6GgrOjra/vnc3FyrefPmVteuXa2dO3daq1evtoKDg62EhAS75rvvvrP8/f2t559/3jpw4IA1a9Ysy9vb21q9erVds2DBAsvpdFqJiYnW/v37raeeesoKCgryWL3xSlhl8QZhekkjBuNGGACM/zZkMEwPmFWcbFCsjyymp6erYsWKP7u9QoUKOnHixFXvLyMjQ/369dPx48cVGBio22+/XWvWrLE/Bjl16lR5eXmpR48eys7OVmxsrN566y375729vbV8+XINHTpU0dHRqlSpkvr3768JEybYNREREVqxYoVGjhyp6dOnq3bt2nrnnXcUGxtr1/Tq1UsnTpzQmDFjlJaWplatWmn16tWFFvoAAAAAgLLksCzLutri+vXra8qUKerevXuR2z/88EONGjVK3333XVn1d9Nwu90KDAxUVlZWkR/pxHXicJjuADDv6v9YB25ZXA5Q3nEpMKs42aBYz5B169ZNL7/8si5evFho24ULFzR27Fg98MADxesWAAAAAMqpYt0hS09PV+vWreXt7a2nn35ajRs3liQdPHhQs2bNUl5ennbs2FEuP+rHHbIbBP8kCvDPooC4HABcCswqTjYo1jNkISEh2rRpk4YOHaqEhAQVZDmHw6HY2FjNmjWrXIYxAAAA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\n" + ] }, - "metadata": {} + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -882,8 +882,8 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "119988\n", "119988\n" @@ -938,8 +938,8 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Training set - Class distribution:\n", "Class 0: 9595\n", @@ -951,8 +951,8 @@ ] }, { - "output_type": "stream", "name": "stderr", + "output_type": "stream", "text": [ "100%|██████████| 1.01M/1.01M [00:00<00:00, 15.3MB/s]\n", "100%|██████████| 179M/179M [00:07<00:00, 25.3MB/s]\n", @@ -1028,29 +1028,29 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Encoding training sentences:\n" ] }, { - "output_type": "stream", "name": "stderr", + "output_type": "stream", "text": [ "100%|██████████| 19198/19198 [02:20<00:00, 136.17it/s]\n" ] }, { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Encoding testing sentences:\n" ] }, { - "output_type": "stream", "name": "stderr", + "output_type": "stream", "text": [ "100%|██████████| 4800/4800 [00:36<00:00, 130.31it/s]\n" ] @@ -1100,8 +1100,8 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Model: \"sequential\"\n", "_________________________________________________________________\n", @@ -1187,14 +1187,14 @@ ] }, { - "output_type": "execute_result", "data": { "text/plain": [ "" ] }, + "execution_count": 10, "metadata": {}, - "execution_count": 10 + "output_type": "execute_result" } ], "source": [ @@ -1267,8 +1267,8 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "150/150 [==============================] - 0s 2ms/step - loss: 0.4879 - accuracy: 0.7581\n", "Accuracy: 75.81%\n", @@ -1346,14 +1346,14 @@ }, "outputs": [ { - "output_type": "display_data", "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAIjCAYAAAB1bGEnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABa8klEQVR4nO3deXxMZ/vH8e8kkslGIiRia4K0iL081FJLG43SllZbrS3SolRRwVPaWttKl8dSy0OpvapaSm21VNEqtW9FbbW0JNaERsg25/eHn3k6kpCQyQz5vL3O62Xuuc8514wZuXLd97mPyTAMQwAAAMjXXBwdAAAAAByPpBAAAAAkhQAAACApBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACASAoBAAAgkkLgntS4cWM1btzY+vj48eMymUyaMWNGnsbRqVMnhYSE5Ok579Ts2bNVoUIFubm5yc/PL9ePP3ToUJlMplw/7r3KUZ9JAHeOpBD3pRkzZshkMsnDw0OnTp3K8Hzjxo1VuXJlB0SWvy1cuFBPPvmkihYtKnd3d5UoUUIvvviifvzxR7ue9/fff1enTp1Urlw5TZkyRZMnT7br+fKayWSSyWRS586dM33+nXfesfY5f/58jo+/fPlyDR069C6jBODsSApxX0tOTtaHH37o6DDsLjg4WFevXlWHDh0cHUqmDMNQVFSUnnvuOZ05c0bR0dGaNGmSevTooT/++EOPP/64Nm7caLfzr1u3ThaLRZ9++qk6deqkF198MdfP8e677+rq1au5ftzs8vDw0IIFC5SSkpLhublz58rDw+OOj718+XINGzYsR/s4+2cSQEYkhbivVa9eXVOmTNHp06ftdg7DMByaDEiyVkVdXV0dGkdWRo4cqRkzZujNN9/U9u3b9fbbb+uVV17RO++8o23btmnWrFkqUKCA3c5/9uxZSbLLsPENBQoUuKvE6241a9ZMly9f1vfff2/TvnHjRh07dkwtWrTIkzjS0tKUkpLi9J9JABmRFOK+9vbbbys9PT1b1cK0tDS99957KleunMxms0JCQvT2228rOTnZpl9ISIieeuoprVy5UrVq1ZKnp6c+++wzrVu3TiaTSV9//bWGDRumkiVLqmDBgnr++ed16dIlJScn680331RgYKB8fHwUFRWV4djTp0/XY489psDAQJnNZoWFhWnixIm3jf3m+Vs3Yslsu3kO4Pfff69HH31U3t7eKliwoFq0aKF9+/ZlOMeiRYtUuXJleXh4qHLlylq4cOFt45Kkq1evKiYmRhUqVNB//vOfTOfddejQQbVr17Y+/uOPP/TCCy/I399fXl5eeuSRR7Rs2TKbff75fn/wwQcqVaqUPDw89Pjjj+vIkSPWfiEhIRoyZIgkKSAgQCaTyToU+s+//1NISIg6depkfZyamqphw4bpwQcflIeHh4oUKaIGDRpo9erV1j6ZzSnM6Wdqw4YNql27tjw8PFS2bFnNmjXr1m/uP5QsWVINGzbUl19+adM+Z84cValSJdPpEj///LNeeOEFPfDAAzKbzSpdurT69Olj80tOp06dNGHCBOv7dWOT/ve5+89//qMxY8ZYX+f+/fszfCbPnj2rgIAANW7cWIZhWI9/5MgReXt7q02bNtl+rQDsw36/mgNOoEyZMurYsaOmTJmiAQMGqESJEln27dy5s2bOnKnnn39effv21ebNmxUTE6MDBw5kSIAOHjyol19+Wa+99pq6dOmi8uXLW5+LiYmRp6enBgwYoCNHjmjcuHFyc3OTi4uL4uPjNXToUP3666+aMWOGypQpo8GDB1v3nThxoipVqqRnnnlGBQoU0JIlS/T666/LYrGoR48e2X7dFStW1OzZs23aEhISFB0drcDAQGvb7NmzFRkZqYiICH300UdKSkrSxIkT1aBBA+3cudOaQK5atUqtW7dWWFiYYmJidOHCBUVFRalUqVK3jWXDhg26ePGi3nzzzWxVjc6cOaN69eopKSlJvXr1UpEiRTRz5kw988wzmj9/vp599lmb/h9++KFcXFzUr18/Xbp0SR9//LHatWunzZs3S5LGjBmjWbNmaeHChZo4caJ8fHxUtWrV28bxT0OHDlVMTIw6d+6s2rVr6/Lly9q2bZt27Nihpk2bZrlfTj5TR44c0fPPP69XX31VkZGRmjZtmjp16qSaNWuqUqVK2Yqzbdu26t27txITE+Xj46O0tDR98803io6O1rVr1zL0/+abb5SUlKTu3burSJEi2rJli8aNG6e//vpL33zzjSTptdde0+nTp7V69eoMn6kbpk+frmvXrqlr164ym83y9/eXxWKx6RMYGKiJEyfqhRde0Lhx49SrVy9ZLBZ16tRJBQsW1H//+99svUYAdmQA96Hp06cbkoytW7caR48e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7PjnXuEUSeH777+vSZMmacqUKXJzc7O2169fXzt27HBgZAAAAPmDU1xocvDgQTVs2DBDu6+vrxISEvI+IAAAkK/cS8O89uIUlcKgoCAdOXIkQ/uGDRtUtmxZB0QEAACQvzhFUtilSxf17t1bmzdvlslk0unTpzVnzhz169dP3bt3d3R4AAAA9z2nGD4eMGCALBaLHn/8cSUlJalhw4Yym83q16+fevbs6ejwAAAA7nsmwzAMRwdxQ0pKio4cOaLExESFhYXJx8fH0SEBAIB8IOFqut2O7efpardj5yanSAq/+OILPffcc/Ly8nJ0KAAAIB8iKXSSpDAgIEBXr17VM888o/bt2ysiIkKurvfGGwgAAO59l65a7HZsX0+nuITjtpwiytjYWH311VcymUx68cUXVbx4cfXo0UMbN250dGgAACAf4I4mTlIp/KekpCQtXLhQX375pX744QeVKlVKR48edXRYAADgPnb5mv0qhYU8nKIGd1tOcfXxP3l5eSkiIkLx8fE6ceKEDhw44OiQAADAfe4eKujZjdOkrklJSZozZ46aN2+ukiVLasyYMXr22We1b98+R4cGAABw33OK4eOXXnpJS5culZeXl1588UW1a9dOdevWdXRYAAAgn/g72X7DxwXNTlODuyWnGD52dXXV119/zVXHAAAADuIUlUIAAABHSky2XzrkY743Ziw6rFI4duxYde3aVR4eHho7duwt+/bq1SuPogIAAMifHFYpLFOmjLZt26YiRYqoTJkyWfYzmUz6448/8jAyAACQ31xJsV865O1+b1QKGT4GAAD5HkmhkyxJM3z4cCUlJWVov3r1qoYPH+6AiAAAQH5isuN2r3CKSqGrq6tiY2MVGBho037hwgUFBgYqPd1+N6kGAABISrVfOuTldm+khk5RKTQMQ6ZMbg64e/du+fv7OyAiAACA/MWh6xQWLlxYJpNJJpNJDz30kE1imJ6ersTERHXr1s2BEQIAgPzAdE8N9NqHQ4ePZ86cKcMw9Morr2jMmDHy9fW1Pufu7q6QkBDubAIAAOzuaqr9ju3pZr9j5yanmFO4fv161atXT25u98i7BgAA7ivX0ux3bA+nuH/c7TlFUvhP165dU0pKik1boUKFsuyfnJys5ORkmzaz2Syz2WyX+AAAwP2HpNBJLjRJSkrSG2+8ocDAQHl7e6tw4cI2263E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", "text/plain": [ "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAIjCAYAAAB1bGEnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABa8klEQVR4nO3deXxMZ/vH8e8kkslGIiRia4K0iL081FJLG43SllZbrS3SolRRwVPaWttKl8dSy0OpvapaSm21VNEqtW9FbbW0JNaERsg25/eHn3k6kpCQyQz5vL3O62Xuuc8514wZuXLd97mPyTAMQwAAAMjXXBwdAAAAAByPpBAAAAAkhQAAACApBAAAgEgKAQAAIJJCAAAAiKQQAAAAIikEAACASAoBAAAgkkLgntS4cWM1btzY+vj48eMymUyaMWNGnsbRqVMnhYSE5Ok579Ts2bNVoUIFubm5yc/PL9ePP3ToUJlMplw/7r3KUZ9JAHeOpBD3pRkzZshkMsnDw0OnTp3K8Hzjxo1VuXJlB0SWvy1cuFBPPvmkihYtKnd3d5UoUUIvvviifvzxR7ue9/fff1enTp1Urlw5TZkyRZMnT7br+fKayWSSyWRS586dM33+nXfesfY5f/58jo+/fPlyDR069C6jBODsSApxX0tOTtaHH37o6DDsLjg4WFevXlWHDh0cHUqmDMNQVFSUnnvuOZ05c0bR0dGaNGmSevTooT/++EOPP/64Nm7caLfzr1u3ThaLRZ9++qk6deqkF198MdfP8e677+rq1au5ftzs8vDw0IIFC5SSkpLhublz58rDw+OOj718+XINGzYsR/s4+2cSQEYkhbivVa9eXVOmTNHp06ftdg7DMByaDEiyVkVdXV0dGkdWRo4cqRkzZujNN9/U9u3b9fbbb+uVV17RO++8o23btmnWrFkqUKCA3c5/9uxZSbLLsPENBQoUuKvE6241a9ZMly9f1vfff2/TvnHjRh07dkwtWrTIkzjS0tKUkpLi9J9JABmRFOK+9vbbbys9PT1b1cK0tDS99957KleunMxms0JCQvT2228rOTnZpl9ISIieeuoprVy5UrVq1ZKnp6c+++wzrVu3TiaTSV9//bWGDRumkiVLqmDBgnr++ed16dIlJScn680331RgYKB8fHwUFRWV4djTp0/XY489psDAQJnNZoWFhWnixIm3jf3m+Vs3Yslsu3kO4Pfff69HH31U3t7eKliwoFq0aKF9+/ZlOMeiRYtUuXJleXh4qHLlylq4cOFt45Kkq1evKiYmRhUqVNB//vOfTOfddejQQbVr17Y+/uOPP/TCCy/I399fXl5eeuSRR7Rs2TKbff75fn/wwQcqVaqUPDw89Pjjj+vIkSPWfiEhIRoyZIgkKSAgQCaTyToU+s+//1NISIg6depkfZyamqphw4bpwQcflIeHh4oUKaIGDRpo9erV1j6ZzSnM6Wdqw4YNql27tjw8PFS2bFnNmjXr1m/uP5QsWVINGzbUl19+adM+Z84cValSJdPpEj///LNeeOEFPfDAAzKbzSpdurT69Olj80tOp06dNGHCBOv7dWOT/ve5+89//qMxY8ZYX+f+/fszfCbPnj2rgIAANW7cWIZhWI9/5MgReXt7q02bNtl+rQDsw36/mgNOoEyZMurYsaOmTJmiAQMGqESJEln27dy5s2bOnKnnn39effv21ebNmxUTE6MDBw5kSIAOHjyol19+Wa+99pq6dOmi8uXLW5+LiYmRp6enBgwYoCNHjmjcuHFyc3OTi4uL4uPjNXToUP3666+aMWOGypQpo8GDB1v3nThxoipVqqRnnnlGBQoU0JIlS/T666/LYrGoR48e2X7dFStW1OzZs23aEhISFB0drcDAQGvb7NmzFRkZqYiICH300UdKSkrSxIkT1aBBA+3cudOaQK5atUqtW7dWWFiYYmJidOHCBUVFRalUqVK3jWXDhg26ePGi3nzzzWxVjc6cOaN69eopKSlJvXr1UpEiRTRz5kw988wzmj9/vp599lmb/h9++KFcXFzUr18/Xbp0SR9//LHatWunzZs3S5LGjBmjWbNmaeHChZo4caJ8fHxUtWrV28bxT0OHDlVMTIw6d+6s2rVr6/Lly9q2bZt27Nihpk2bZrlfTj5TR44c0fPPP69XX31VkZGRmjZtmjp16qSaNWuqUqVK2Yqzbdu26t27txITE+Xj46O0tDR98803io6O1rVr1zL0/+abb5SUlKTu3burSJEi2rJli8aNG6e//vpL33zzjSTptdde0+nTp7V69eoMn6kbpk+frmvXrqlr164ym83y9/eXxWKx6RMYGKiJEyfqhRde0Lhx49SrVy9ZLBZ16tRJBQsW1H//+99svUYAdmQA96Hp06cbkoytW7caR48e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7PjnXuEUSeH777+vSZMmacqUKXJzc7O2169fXzt27HBgZAAAAPmDU1xocvDgQTVs2DBDu6+vrxISEvI+IAAAkK/cS8O89uIUlcKgoCAdOXIkQ/uGDRtUtmxZB0QEAACQvzhFUtilSxf17t1bmzdvlslk0unTpzVnzhz169dP3bt3d3R4AAAA9z2nGD4eMGCALBaLHn/8cSUlJalhw4Yym83q16+fevbs6ejwAAAA7nsmwzAMRwdxQ0pKio4cOaLExESFhYXJx8fH0SEBAIB8IOFqut2O7efpardj5yanSAq/+OILPffcc/Ly8nJ0KAAAIB8iKXSSpDAgIEBXr17VM888o/bt2ysiIkKurvfGGwgAAO59l65a7HZsX0+nuITjtpwiytjYWH311VcymUx68cUXVbx4cfXo0UMbN250dGgAACAf4I4mTlIp/KekpCQtXLhQX375pX744QeVKlVKR48edXRYAADgPnb5mv0qhYU8nKIGd1tOcfXxP3l5eSkiIkLx8fE6ceKEDhw44OiQAADAfe4eKujZjdOkrklJSZozZ46aN2+ukiVLasyYMXr22We1b98+R4cGAABw33OK4eOXXnpJS5culZeXl1588UW1a9dOdevWdXRYAAAgn/g72X7DxwXNTlODuyWnGD52dXXV119/zVXHAAAADuIUlUIAAABHSky2XzrkY743Ziw6rFI4duxYde3aVR4eHho7duwt+/bq1SuPogIAAMifHFYpLFOmjLZt26YiRYqoTJkyWfYzmUz6448/8jAyAACQ31xJsV865O1+b1QKGT4GAAD5HkmhkyxJM3z4cCUlJWVov3r1qoYPH+6AiAAAQH5isuN2r3CKSqGrq6tiY2MVGBho037hwgUFBgYqPd1+N6kGAABISrVfOuTldm+khk5RKTQMQ6ZMbg64e/du+fv7OyAiAACA/MWh6xQWLlxYJpNJJpNJDz30kE1imJ6ersTERHXr1s2BEQIAgPzAdE8N9NqHQ4ePZ86cKcMw9Morr2jMmDHy9fW1Pufu7q6QkBDubAIAAOzuaqr9ju3pZr9j5yanmFO4fv161atXT25u98i7BgAA7ivX0ux3bA+nuH/c7TlFUvhP165dU0pKik1boUKFsuyfnJys5ORkmzaz2Syz2WyX+AAAwP2HpNBJLjRJSkrSG2+8ocDAQHl7e6tw4cI2263E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\n" + ] }, - "metadata": {} + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -1392,8 +1392,8 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Enter the language: english\n", "Enter a text: hello how are you?\n", @@ -1430,7 +1430,7 @@ "source": [ "## Step 14:Zero-shot Sentiment Prediction for Multilingual Texts\n", "\n", - "This step involves iterating through a collection of sentiments expressed in various languages, including English, Hindi, Portuguese, Romanian, Slovenian, Chinese, French, Dutch, Russian, Italian, and Bosnian.\n", + "This step involves iterating through a collection of sentiments expressed in various languages, including Hindi, Portuguese, Romanian, Slovenian, Chinese, French, Dutch, Russian, Italian, and Bosnian.\n", "\n", "This process demonstrates the model's ability to analyze sentiments across diverse linguistic contexts and still yeild same output." ] @@ -1447,37 +1447,37 @@ }, "outputs": [ { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Hindi: कुछ कड़ाई बातें कहीं और मैंने यह तक महसूस नहीं किया कि यह कड़ाई है जब तक मैंने यह कहा.. माफ़ करें\n" ] }, { - "output_type": "stream", "name": "stderr", + "output_type": "stream", "text": [ "100%|██████████| 608M/608M [00:21<00:00, 28.4MB/s]\n" ] }, { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "1/1 [==============================] - 0s 19ms/step\n" ] }, { - "output_type": "stream", "name": "stderr", + "output_type": "stream", "text": [ "/usr/local/lib/python3.10/dist-packages/fairseq/models/transformer/transformer_encoder.py:281: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:178.)\n", " x = torch._nested_tensor_from_mask(\n" ] }, { - "output_type": "stream", "name": "stdout", + "output_type": "stream", "text": [ "Predicted Sentiment: negative\n", "Portuguese: Disse algo duro e nem percebi que era duro até dizer.. Desculpe\n", @@ -1567,32 +1567,10 @@ }, "widgets": { "application/vnd.jupyter.widget-state+json": { - "f720e5b0f068453895e8f931d83792bd": { + "002e4045b9b44bfc84571412f0f11624": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_09adc94479c14590971e97b21b6a5d6e", - "IPY_MODEL_93283eaea26547c891d16c64e20d3fb4", - "IPY_MODEL_d36b419d21734f09b8667362c11536b4" - ], - "layout": "IPY_MODEL_ef1231caedd343a08a2b08e8f513a67f" - } - }, - "09adc94479c14590971e97b21b6a5d6e": { - "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1604,65 +1582,20 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_49600a623e5a423b8299aa12527c172e", + "layout": "IPY_MODEL_2c7208b82d5c42adb83acc50af9e2a29", "placeholder": "​", - "style": "IPY_MODEL_0eac091d915340a5948cf80aed896ef8", - "value": "Downloading builder script: 100%" - } - }, - "93283eaea26547c891d16c64e20d3fb4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6898685d25ee4805b7fec0378365ffa0", - "max": 4376, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_f174f333e840477ba96c910213a81d0a", - "value": 4376 + "style": "IPY_MODEL_ed390a926cd14072bc95e2054d184541", + "value": " 29997/29997 [00:03<00:00, 6705.96 examples/s]" } }, - "d36b419d21734f09b8667362c11536b4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", + "0169f1f662334c438b88fcdadfbcbfd4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b79d7facd6d7485cb92dc4c053551e40", - "placeholder": "​", - "style": "IPY_MODEL_ddac597cb7134c098050fc68de47b478", - "value": " 4.38k/4.38k [00:00<00:00, 115kB/s]" - } - }, - "ef1231caedd343a08a2b08e8f513a67f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", @@ -1707,10 +1640,10 @@ "width": null } }, - "49600a623e5a423b8299aa12527c172e": { + "017322c8e90b48ae9164efe2569c2727": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1759,10 +1692,26 @@ "width": null } }, - "0eac091d915340a5948cf80aed896ef8": { + "028b74f6c2fe4fd999507b3ed0f03f21": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "031f9bd8994f498db14409e4e7f1cf03": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -1774,10 +1723,10 @@ "description_width": "" } }, - "6898685d25ee4805b7fec0378365ffa0": { + "0411fc784d604202afbfbf43a915e467": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -1826,78 +1775,46 @@ "width": null } }, - "f174f333e840477ba96c910213a81d0a": { + "06a0f93bdfcb4b6d9f2bd0488565c650": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", - "bar_color": null, "description_width": "" } }, - "b79d7facd6d7485cb92dc4c053551e40": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", + "07078068134d4a11987f88bdf0b08f17": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": 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, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b1b81a92053b4c3fa5c76caef02563b6", + "placeholder": "​", + "style": "IPY_MODEL_c4012bd1af3945f28f62c7c1307458e5", + "value": "Downloading metadata: 100%" } }, - "ddac597cb7134c098050fc68de47b478": { + "074215c3ae704b939e205bc604a6339d": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -1909,32 +1826,52 @@ "description_width": "" } }, - "ff9f1d437bac40b0aa93e4839069deb2": { + "0799153be5ac4d209c20817dfd187cf8": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", + "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_07078068134d4a11987f88bdf0b08f17", - "IPY_MODEL_fc4458f874424781bbd52adc4f441a37", - "IPY_MODEL_0925e66d052145bcb3480604f3da4cda" - ], - "layout": "IPY_MODEL_4f4ae616c7c343edada8b37ca4027125" + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c6bf49b2298c4d9eb9035fb860b539e7", + "placeholder": "​", + "style": "IPY_MODEL_eff0a998e46046fe8cbeed279d4956c3", + "value": "Downloading data files: 100%" } }, - "07078068134d4a11987f88bdf0b08f17": { + "0925e66d052145bcb3480604f3da4cda": { "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ece324a1271b46b98a8b6fd5ba384236", + "placeholder": "​", + "style": "IPY_MODEL_8471e543444f44f09e59b4fe964ed82e", + "value": " 2.06k/2.06k [00:00<00:00, 136kB/s]" + } + }, + "09adc94479c14590971e97b21b6a5d6e": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1946,16 +1883,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_b1b81a92053b4c3fa5c76caef02563b6", + "layout": "IPY_MODEL_49600a623e5a423b8299aa12527c172e", "placeholder": "​", - "style": "IPY_MODEL_c4012bd1af3945f28f62c7c1307458e5", - "value": "Downloading metadata: 100%" + "style": "IPY_MODEL_0eac091d915340a5948cf80aed896ef8", + "value": "Downloading builder script: 100%" } }, - "fc4458f874424781bbd52adc4f441a37": { + "0b19af29fefa46749ec3efa4af03bd85": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1968,18 +1905,18 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_d04039432648443082f031df11d445c9", - "max": 2063, + "layout": "IPY_MODEL_de9ac409b2104355b33f3224a58d5d24", + "max": 2, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_028b74f6c2fe4fd999507b3ed0f03f21", - "value": 2063 + "style": "IPY_MODEL_103a16e8a0cb4abeaff11b881ad45cd7", + "value": 2 } }, - "0925e66d052145bcb3480604f3da4cda": { + "0ba6d5b1963e4ec1a2a6bc72990bc5a3": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -1991,16 +1928,38 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_ece324a1271b46b98a8b6fd5ba384236", + "layout": "IPY_MODEL_f01e1dee781d49939d3204cdfe991def", "placeholder": "​", - "style": "IPY_MODEL_8471e543444f44f09e59b4fe964ed82e", - "value": " 2.06k/2.06k [00:00<00:00, 136kB/s]" + "style": "IPY_MODEL_8badb18f053f407e83699688cc0c5999", + "value": " 61998/61998 [00:02<00:00, 33733.27 examples/s]" } }, - "4f4ae616c7c343edada8b37ca4027125": { + "0bccff746d854f2cba07592a9f1259f5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c59fec8321c64cb98488e70f9ef78740", + "IPY_MODEL_5a7ea78609464fb0b4b6c1e4a3597613", + "IPY_MODEL_269568a9089f40ccb9a0c62efb6c3770" + ], + "layout": "IPY_MODEL_1ee4b4a1f0014f60b88656f97f31dd51" + } + }, + "0cc7dfd0ff934b649b76b3917602f1be": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2049,62 +2008,26 @@ "width": null } }, - "b1b81a92053b4c3fa5c76caef02563b6": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", + "0da9f1a610f244249d7dbe73df3ac5ee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": 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, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" } }, - "c4012bd1af3945f28f62c7c1307458e5": { + "0eac091d915340a5948cf80aed896ef8": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -2116,10 +2039,26 @@ "description_width": "" } }, - "d04039432648443082f031df11d445c9": { + "103a16e8a0cb4abeaff11b881ad45cd7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "13826beae5f042db9b6d3e3f3807f85e": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2168,10 +2107,31 @@ "width": null } }, - "028b74f6c2fe4fd999507b3ed0f03f21": { + "146c22e8c0654103944d314f183beac1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_848fb54cd20347f8b61579415190dd92", + "placeholder": "​", + "style": "IPY_MODEL_9e5e85f4d62b4a699c28f7cf5567dd46", + "value": "Extracting data files: 100%" + } + }, + "14c66c78bd1b4313b789a79ddb265a45": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -2184,10 +2144,10 @@ "description_width": "" } }, - "ece324a1271b46b98a8b6fd5ba384236": { + "199692beb0204413b8e3212ea7a3a030": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2236,47 +2196,10 @@ "width": null } }, - "8471e543444f44f09e59b4fe964ed82e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ed79c826a7194b5a9942671d86e2379d": { + "1ce195a3a1354811945728f81568da2a": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_8194ea8f5b0a4c8cb5f999ec0c87a633", - "IPY_MODEL_81b0c62b427040c0a085e7e63db46ac3", - "IPY_MODEL_91799ab4c0864ba9a9a8dd54f73cf7a4" - ], - "layout": "IPY_MODEL_91598533cd7f48f5a708543bf5f3bab6" - } - }, - "8194ea8f5b0a4c8cb5f999ec0c87a633": { - "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -2288,61 +2211,53 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_543c8cc6dd0f4ccd99e48c038543cd9f", + "layout": "IPY_MODEL_2908cee0b3524c82a262c0d5b78fddfb", "placeholder": "​", - "style": "IPY_MODEL_debe32e761d34be1a2c30d801a2451be", - "value": "Downloading readme: 100%" + "style": "IPY_MODEL_35710d549e274f58abd02c54be72c6c2", + "value": " 61998/61998 [00:05<00:00, 7078.06 examples/s]" } }, - "81b0c62b427040c0a085e7e63db46ac3": { + "1dff1987bcc64508b236a2a5bf9cec2a": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", + "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_d958d6f7c1284adeae233a13353ba3d0", - "max": 5439, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_49a44fb68bca4ea19a6ffcf794f3039a", - "value": 5439 + "layout": "IPY_MODEL_43da3b6e0120420bacc56bb081c560ec", + "placeholder": "​", + "style": "IPY_MODEL_031f9bd8994f498db14409e4e7f1cf03", + "value": "Creating json from Arrow format: 100%" } }, - "91799ab4c0864ba9a9a8dd54f73cf7a4": { + "1e3ece313db34ed89f7c97bda5d94136": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "ProgressStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e991a429e51d4980b1374992b1bd3fb3", - "placeholder": "​", - "style": "IPY_MODEL_6224481255304438bafa996d1981bd9b", - "value": " 5.44k/5.44k [00:00<00:00, 220kB/s]" + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" } }, - "91598533cd7f48f5a708543bf5f3bab6": { + "1e467554461f4cc2ae842712b59feea8": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2391,10 +2306,10 @@ "width": null } }, - "543c8cc6dd0f4ccd99e48c038543cd9f": { + "1ee4b4a1f0014f60b88656f97f31dd51": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2443,25 +2358,10 @@ "width": null } }, - "debe32e761d34be1a2c30d801a2451be": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "d958d6f7c1284adeae233a13353ba3d0": { + "1fa1643b342b485d9b6697d7cefeddac": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2510,26 +2410,62 @@ "width": null } }, - "49a44fb68bca4ea19a6ffcf794f3039a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", + "2001d69064ec4b78be911fe41c06b468": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null } }, - "e991a429e51d4980b1374992b1bd3fb3": { + "26215544657644888e95c477b5875804": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2578,165 +2514,97 @@ "width": null } }, - "6224481255304438bafa996d1981bd9b": { + "269568a9089f40ccb9a0c62efb6c3770": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "822edeea9ecf4c16b9bcf7951eed3792": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", + "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_8e4c08035b694012922777750beb333e", - "IPY_MODEL_0b19af29fefa46749ec3efa4af03bd85", - "IPY_MODEL_4f6d03ac52c04d3f8da9b7796054b648" - ], - "layout": "IPY_MODEL_2c73ded880e14d7fbae4d3abc94262c2" + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3c13ee6ac4364612bc17ef3ffd6b3429", + "placeholder": "​", + "style": "IPY_MODEL_fc4f53f70e3446a1b93a144879dd8c2d", + "value": " 30/30 [00:00<00:00, 89.60ba/s]" } }, - "8e4c08035b694012922777750beb333e": { + "271cfea7b9a4422ba78ad0513d8091e9": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_92459ab6b11d47dba3db1fc162972efd", - "placeholder": "​", - "style": "IPY_MODEL_91a1b97822fc40eeb827c34fd15c74b6", - "value": "Downloading data files: 100%" + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_7ec9e74bff04481da80fe3370e876420", + "IPY_MODEL_5bd26ff88cf248d4aabe2fcf5446cd5c", + "IPY_MODEL_adf9c6b09bd54777996a1f9673d7f694" + ], + "layout": "IPY_MODEL_6e9fdbd4fd544b15a04dd0729aedcaae" } }, - "0b19af29fefa46749ec3efa4af03bd85": { + "27ce5829e05149a39ea9afd2e6f0fc98": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_de9ac409b2104355b33f3224a58d5d24", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_103a16e8a0cb4abeaff11b881ad45cd7", - "value": 2 + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_aae06c7d529c418b9841a348bc444d3a", + "IPY_MODEL_52a4fd97b2094096a0a23d8bb097a686", + "IPY_MODEL_1ce195a3a1354811945728f81568da2a" + ], + "layout": "IPY_MODEL_e0f1add308c74732b8e488e2057becf4" } }, - "4f6d03ac52c04d3f8da9b7796054b648": { + "2831a9ec119a495bbde153ee1eb37c66": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_48a424c068e247b889628fe97265550a", - "placeholder": "​", - "style": "IPY_MODEL_cd33f15aee464f798cba807dce8440e9", - "value": " 2/2 [00:02<00:00, 1.43s/it]" + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_e830bae8320b44a4bec4a8652e3d8472", + "IPY_MODEL_f44ba78d0c29409bbd1e24134d5335da", + "IPY_MODEL_0ba6d5b1963e4ec1a2a6bc72990bc5a3" + ], + "layout": "IPY_MODEL_b01e8fb3d39c4aa986da3ac2b0a16ec7" } }, - "2c73ded880e14d7fbae4d3abc94262c2": { + "28514f23fe78478faf8d4ee54c03f573": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": 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, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "92459ab6b11d47dba3db1fc162972efd": { - "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", - "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2785,10 +2653,10 @@ "width": null } }, - "91a1b97822fc40eeb827c34fd15c74b6": { + "28848374ffd84ecd869acd909f966885": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -2800,10 +2668,10 @@ "description_width": "" } }, - "de9ac409b2104355b33f3224a58d5d24": { + "2908cee0b3524c82a262c0d5b78fddfb": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2852,26 +2720,10 @@ "width": null } }, - "103a16e8a0cb4abeaff11b881ad45cd7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "48a424c068e247b889628fe97265550a": { + "2a432c2f7e4b44c2926fc6a5460c27ed": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -2920,10 +2772,10 @@ "width": null } }, - "cd33f15aee464f798cba807dce8440e9": { + "2a7dda9c5aac4087951f16e5b5ac96b7": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -2935,32 +2787,10 @@ "description_width": "" } }, - "a441f30832cc435c8bbe4176a4eb6397": { + "2ada78a1a43a42668dba150700b257ea": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_38e802c8fcee4125815f972d7c7a0fff", - "IPY_MODEL_cf58b80e62454c939e14a0cf451a0aa2", - "IPY_MODEL_94dad8d2649c403dbb443c7e3d8b1097" - ], - "layout": "IPY_MODEL_6daf5ef868b847d397fb3924b1b74d35" - } - }, - "38e802c8fcee4125815f972d7c7a0fff": { - "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -2972,61 +2802,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_95991639ef264d37a509f8bd9ecdf7c8", + "layout": "IPY_MODEL_75560191f732426e8d48348d9519c1f0", "placeholder": "​", - "style": "IPY_MODEL_f7d58ab0578b49e39939c05192016146", + "style": "IPY_MODEL_bbae5295c7814f8aa8a83b6c7c4622f2", "value": "Downloading data: " } }, - "cf58b80e62454c939e14a0cf451a0aa2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_9d0edf01c6574b6da5e2fd9ffc9146aa", - "max": 5383113, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_935634cd3d1340d3986110539c3fcc76", - "value": 5383113 - } - }, - "94dad8d2649c403dbb443c7e3d8b1097": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2001d69064ec4b78be911fe41c06b468", - "placeholder": "​", - "style": "IPY_MODEL_074215c3ae704b939e205bc604a6339d", - "value": " 11.7M/? [00:00<00:00, 41.9MB/s]" - } - }, - "6daf5ef868b847d397fb3924b1b74d35": { + "2c7208b82d5c42adb83acc50af9e2a29": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3075,10 +2860,10 @@ "width": null } }, - "95991639ef264d37a509f8bd9ecdf7c8": { + "2c73ded880e14d7fbae4d3abc94262c2": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3127,25 +2912,10 @@ "width": null } }, - "f7d58ab0578b49e39939c05192016146": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "9d0edf01c6574b6da5e2fd9ffc9146aa": { + "303510fad09b4534aed23aa783256b89": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3194,78 +2964,32 @@ "width": null } }, - "935634cd3d1340d3986110539c3fcc76": { + "3103d44d02bb45beb33588cf708ba811": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2001d69064ec4b78be911fe41c06b468": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", + "_model_name": "HBoxModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": 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, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_58385a662e624c63b2d317b5b6840037", + "IPY_MODEL_736c636e2b274ffeb9aac319d56a37a7", + "IPY_MODEL_002e4045b9b44bfc84571412f0f11624" + ], + "layout": "IPY_MODEL_5969054c9cf34ed1a638a69bcbbb377a" } }, - "074215c3ae704b939e205bc604a6339d": { + "3246b30f178c4fe9a256e6e326546cbd": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3277,77 +3001,63 @@ "description_width": "" } }, - "caf5cd41ecb44a50b80508f7cb6792f2": { + "35377e401e344f27b3f86567e03b8665": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", + "_model_name": "ProgressStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_2ada78a1a43a42668dba150700b257ea", - "IPY_MODEL_abdd89a240da41858e2eedbe80a3a084", - "IPY_MODEL_7ed6cb7e905f43768e21ceb29c674215" - ], - "layout": "IPY_MODEL_e8aa467e689c47c5a52738dc8620d529" + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" } }, - "2ada78a1a43a42668dba150700b257ea": { + "35710d549e274f58abd02c54be72c6c2": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_75560191f732426e8d48348d9519c1f0", - "placeholder": "​", - "style": "IPY_MODEL_bbae5295c7814f8aa8a83b6c7c4622f2", - "value": "Downloading data: " + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "abdd89a240da41858e2eedbe80a3a084": { + "36bd99d5f08c4fdabada7157edff32ea": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f73ecd74491647148a180a05c52e69b8", - "max": 2228485, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_f312478e6d794daa9625836628caf03f", - "value": 2228485 + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5c9e7ebc6e5d41bab8328e93513913ad", + "IPY_MODEL_f2b117616f3b4eedb96986bab63a6692", + "IPY_MODEL_91e0f48982364466a14fbd0c5364d336" + ], + "layout": "IPY_MODEL_28514f23fe78478faf8d4ee54c03f573" } }, - "7ed6cb7e905f43768e21ceb29c674215": { + "38e802c8fcee4125815f972d7c7a0fff": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -3359,16 +3069,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_0cc7dfd0ff934b649b76b3917602f1be", + "layout": "IPY_MODEL_95991639ef264d37a509f8bd9ecdf7c8", "placeholder": "​", - "style": "IPY_MODEL_afd3066953514cd59f31e15e4d2915e7", - "value": " 4.84M/? [00:00<00:00, 30.3MB/s]" + "style": "IPY_MODEL_f7d58ab0578b49e39939c05192016146", + "value": "Downloading data: " } }, - "e8aa467e689c47c5a52738dc8620d529": { + "390e468c3044442aacca917d23d5709d": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3417,10 +3127,10 @@ "width": null } }, - "75560191f732426e8d48348d9519c1f0": { + "3c13ee6ac4364612bc17ef3ffd6b3429": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3469,25 +3179,26 @@ "width": null } }, - "bbae5295c7814f8aa8a83b6c7c4622f2": { + "3f813851ad10411ab48f26e765dc9cff": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", + "bar_color": null, "description_width": "" } }, - "f73ecd74491647148a180a05c52e69b8": { + "400f27da06e749d5be0a61accaf43a0c": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3536,10 +3247,32 @@ "width": null } }, - "f312478e6d794daa9625836628caf03f": { + "40f69f00418b4f3e90061376bac624d5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_dc0da9cdfd2e41998f4e2f3a04dfc658", + "IPY_MODEL_a4493afa196e4888aa1d1b2b06a181a0", + "IPY_MODEL_c25e4db8dbbc4aef980fa2463678306f" + ], + "layout": "IPY_MODEL_2a432c2f7e4b44c2926fc6a5460c27ed" + } + }, + "439aa1daa2424e49a07ec12ed29ac351": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3552,10 +3285,10 @@ "description_width": "" } }, - "0cc7dfd0ff934b649b76b3917602f1be": { + "43da3b6e0120420bacc56bb081c560ec": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3604,47 +3337,62 @@ "width": null } }, - "afd3066953514cd59f31e15e4d2915e7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", + "458ec4577122485dae1acbf046fb6701": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a652e69a7c0044f190068adae92d4461": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_146c22e8c0654103944d314f183beac1", - "IPY_MODEL_9384d6d22f3643219151ad248a0d2fc7", - "IPY_MODEL_5780154511334024bedf4323a4c87227" - ], - "layout": "IPY_MODEL_f6d52c07e696497c9744d30e48c4f8ba" + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null } }, - "146c22e8c0654103944d314f183beac1": { + "461c8ba97e25462189b95f238a27044e": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -3656,61 +3404,60 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_848fb54cd20347f8b61579415190dd92", + "layout": "IPY_MODEL_88dd9b1409f04bfc9993bcd0244777fe", "placeholder": "​", - "style": "IPY_MODEL_9e5e85f4d62b4a699c28f7cf5567dd46", - "value": "Extracting data files: 100%" + "style": "IPY_MODEL_c979b3835a7b49ae8ab8947cf13707d5", + "value": " 120/120 [00:02<00:00, 76.68ba/s]" } }, - "9384d6d22f3643219151ad248a0d2fc7": { + "46e5647a158d4d83a89a08991191bcbb": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_017322c8e90b48ae9164efe2569c2727", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_9658ed7253c940548fb40a4b320ac1b4", - "value": 2 + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_1dff1987bcc64508b236a2a5bf9cec2a", + "IPY_MODEL_70f57872c19447aa9b0d2d9e5bcf0570", + "IPY_MODEL_461c8ba97e25462189b95f238a27044e" + ], + "layout": "IPY_MODEL_f7985d5de72648c2a4334b89ee603f7c" } }, - "5780154511334024bedf4323a4c87227": { + "489f5cfe7b244bdd85122db470ad7d2a": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_390e468c3044442aacca917d23d5709d", - "placeholder": "​", - "style": "IPY_MODEL_eb1a99d40b2b426a80884f1577f18948", - "value": " 2/2 [00:00<00:00, 107.80it/s]" + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_0799153be5ac4d209c20817dfd187cf8", + "IPY_MODEL_7188ef2547fb49a79f044755eda0e7ca", + "IPY_MODEL_70b549e449864f4795d7fca0ceb21b3a" + ], + "layout": "IPY_MODEL_458ec4577122485dae1acbf046fb6701" } }, - "f6d52c07e696497c9744d30e48c4f8ba": { + "48a424c068e247b889628fe97265550a": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3759,10 +3506,32 @@ "width": null } }, - "848fb54cd20347f8b61579415190dd92": { + "495a8f52054743509e151806da0abbfa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8c22504ccaee4cbf9bdfef0c120590b2", + "IPY_MODEL_df38d84cc6ae40788c0f164cc251f185", + "IPY_MODEL_cc4803dc285b471685e754d1e442c6fd" + ], + "layout": "IPY_MODEL_e875464290684953b527904557f3528e" + } + }, + "49600a623e5a423b8299aa12527c172e": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3811,10 +3580,26 @@ "width": null } }, - "9e5e85f4d62b4a699c28f7cf5567dd46": { + "49a44fb68bca4ea19a6ffcf794f3039a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4a8a0369a02d45b0ba6b3714180da358": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -3826,10 +3611,10 @@ "description_width": "" } }, - "017322c8e90b48ae9164efe2569c2727": { + "4f4ae616c7c343edada8b37ca4027125": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3878,26 +3663,55 @@ "width": null } }, - "9658ed7253c940548fb40a4b320ac1b4": { + "4f6d03ac52c04d3f8da9b7796054b648": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HTMLModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_48a424c068e247b889628fe97265550a", + "placeholder": "​", + "style": "IPY_MODEL_cd33f15aee464f798cba807dce8440e9", + "value": " 2/2 [00:02<00:00, 1.43s/it]" } }, - "390e468c3044442aacca917d23d5709d": { + "52a4fd97b2094096a0a23d8bb097a686": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_400f27da06e749d5be0a61accaf43a0c", + "max": 61998, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3f813851ad10411ab48f26e765dc9cff", + "value": 61998 + } + }, + "543c8cc6dd0f4ccd99e48c038543cd9f": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -3946,25 +3760,10 @@ "width": null } }, - "eb1a99d40b2b426a80884f1577f18948": { + "55130e2f028e4711a48477b69601295d": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "489f5cfe7b244bdd85122db470ad7d2a": { - "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -3976,17 +3775,17 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_0799153be5ac4d209c20817dfd187cf8", - "IPY_MODEL_7188ef2547fb49a79f044755eda0e7ca", - "IPY_MODEL_70b549e449864f4795d7fca0ceb21b3a" + "IPY_MODEL_93cb42215da44d2ba4213b835d252eab", + "IPY_MODEL_94d0bf4b5dce4ec8b33600c8b3472630", + "IPY_MODEL_c55c9f7cf12b40a4bf753945ddd96f05" ], - "layout": "IPY_MODEL_458ec4577122485dae1acbf046fb6701" + "layout": "IPY_MODEL_1fa1643b342b485d9b6697d7cefeddac" } }, - "0799153be5ac4d209c20817dfd187cf8": { + "5780154511334024bedf4323a4c87227": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -3998,40 +3797,137 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_c6bf49b2298c4d9eb9035fb860b539e7", + "layout": "IPY_MODEL_390e468c3044442aacca917d23d5709d", "placeholder": "​", - "style": "IPY_MODEL_eff0a998e46046fe8cbeed279d4956c3", - "value": "Downloading data files: 100%" + "style": "IPY_MODEL_eb1a99d40b2b426a80884f1577f18948", + "value": " 2/2 [00:00<00:00, 107.80it/s]" } }, - "7188ef2547fb49a79f044755eda0e7ca": { + "58385a662e624c63b2d317b5b6840037": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", + "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_a2956bc417f8442a93ace1630b4f6c5c", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_1e3ece313db34ed89f7c97bda5d94136", - "value": 2 + "layout": "IPY_MODEL_c24af0f963b7460d9d38e3b09081f949", + "placeholder": "​", + "style": "IPY_MODEL_65055dbabf0440d1a6b0c0189553ffcf", + "value": "Generating validation split: 100%" } }, - "70b549e449864f4795d7fca0ceb21b3a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", + "5969054c9cf34ed1a638a69bcbbb377a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5a7ea78609464fb0b4b6c1e4a3597613": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_303510fad09b4534aed23aa783256b89", + "max": 30, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_35377e401e344f27b3f86567e03b8665", + "value": 30 + } + }, + "5bd26ff88cf248d4aabe2fcf5446cd5c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_13826beae5f042db9b6d3e3f3807f85e", + "max": 119988, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_14c66c78bd1b4313b789a79ddb265a45", + "value": 119988 + } + }, + "5c9e7ebc6e5d41bab8328e93513913ad": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -4043,16 +3939,76 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_26215544657644888e95c477b5875804", + "layout": "IPY_MODEL_adb329d31dc94bbb9447099ee12802a4", "placeholder": "​", - "style": "IPY_MODEL_a2c144716157471f86cff341ec3a188e", - "value": " 2/2 [00:00<00:00, 125.53it/s]" + "style": "IPY_MODEL_e46269bca9ac4f289ae58b63a9b50c05", + "value": "Generating train split: " } }, - "458ec4577122485dae1acbf046fb6701": { + "5d5a7becafcb45808dfe65cb660e6827": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6224481255304438bafa996d1981bd9b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "62c52ca8fa1147c594cfc1b0e891992f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "65055dbabf0440d1a6b0c0189553ffcf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6581c29cdfb04ea59400f8061d796fe3": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4101,10 +4057,10 @@ "width": null } }, - "c6bf49b2298c4d9eb9035fb860b539e7": { + "65eeb8ee0eeb4127a0d5bd27e2aee5b7": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4153,25 +4109,10 @@ "width": null } }, - "eff0a998e46046fe8cbeed279d4956c3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a2956bc417f8442a93ace1630b4f6c5c": { + "6898685d25ee4805b7fec0378365ffa0": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4220,26 +4161,32 @@ "width": null } }, - "1e3ece313db34ed89f7c97bda5d94136": { + "6970e3f5318c425bb682a11fe2710eb8": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HBoxModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_93cd1a99f280417fa21c10147d3086a2", + "IPY_MODEL_88c000f55dbb48129f1d719207084ddb", + "IPY_MODEL_f4eda86e937a4a548024f662723e37a3" + ], + "layout": "IPY_MODEL_199692beb0204413b8e3212ea7a3a030" } }, - "26215544657644888e95c477b5875804": { + "6c4658d876b44a84b360d061bb68ed66": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4288,117 +4235,14 @@ "width": null } }, - "a2c144716157471f86cff341ec3a188e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", + "6daf5ef868b847d397fb3924b1b74d35": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "55130e2f028e4711a48477b69601295d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_93cb42215da44d2ba4213b835d252eab", - "IPY_MODEL_94d0bf4b5dce4ec8b33600c8b3472630", - "IPY_MODEL_c55c9f7cf12b40a4bf753945ddd96f05" - ], - "layout": "IPY_MODEL_1fa1643b342b485d9b6697d7cefeddac" - } - }, - "93cb42215da44d2ba4213b835d252eab": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_dd417a969ac849baa6929d18ada5d1c9", - "placeholder": "​", - "style": "IPY_MODEL_dfdcf8520708413da2dc151f41c193c0", - "value": "Extracting data files: 100%" - } - }, - "94d0bf4b5dce4ec8b33600c8b3472630": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c0fb53db671b4d26ac06c6c3c9933b15", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_0da9f1a610f244249d7dbe73df3ac5ee", - "value": 2 - } - }, - "c55c9f7cf12b40a4bf753945ddd96f05": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0169f1f662334c438b88fcdadfbcbfd4", - "placeholder": "​", - "style": "IPY_MODEL_ba97193bfa6442bb929be164fc9a7463", - "value": " 2/2 [00:00<00:00, 68.43it/s]" - } - }, - "1fa1643b342b485d9b6697d7cefeddac": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", @@ -4443,10 +4287,10 @@ "width": null } }, - "dd417a969ac849baa6929d18ada5d1c9": { + "6e9fdbd4fd544b15a04dd0729aedcaae": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4495,25 +4339,10 @@ "width": null } }, - "dfdcf8520708413da2dc151f41c193c0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "c0fb53db671b4d26ac06c6c3c9933b15": { + "6f1ca069baf04a5da2861661dadbc662": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4562,26 +4391,31 @@ "width": null } }, - "0da9f1a610f244249d7dbe73df3ac5ee": { + "70b549e449864f4795d7fca0ceb21b3a": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HTMLModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_26215544657644888e95c477b5875804", + "placeholder": "​", + "style": "IPY_MODEL_a2c144716157471f86cff341ec3a188e", + "value": " 2/2 [00:00<00:00, 125.53it/s]" } }, - "0169f1f662334c438b88fcdadfbcbfd4": { + "70f0780e3ac143eaa5793bd75b1dd0d4": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4630,68 +4464,10 @@ "width": null } }, - "ba97193bfa6442bb929be164fc9a7463": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "36bd99d5f08c4fdabada7157edff32ea": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_5c9e7ebc6e5d41bab8328e93513913ad", - "IPY_MODEL_f2b117616f3b4eedb96986bab63a6692", - "IPY_MODEL_91e0f48982364466a14fbd0c5364d336" - ], - "layout": "IPY_MODEL_28514f23fe78478faf8d4ee54c03f573" - } - }, - "5c9e7ebc6e5d41bab8328e93513913ad": { + "70f57872c19447aa9b0d2d9e5bcf0570": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_adb329d31dc94bbb9447099ee12802a4", - "placeholder": "​", - "style": "IPY_MODEL_e46269bca9ac4f289ae58b63a9b50c05", - "value": "Generating train split: " - } - }, - "f2b117616f3b4eedb96986bab63a6692": { - "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -4704,39 +4480,42 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_727e09b03a2841fab93af2ccdc800619", - "max": 1, + "layout": "IPY_MODEL_6c4658d876b44a84b360d061bb68ed66", + "max": 120, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_b240fb02e8184aa58d1eba709b1991bc", - "value": 1 + "style": "IPY_MODEL_439aa1daa2424e49a07ec12ed29ac351", + "value": 120 } }, - "91e0f48982364466a14fbd0c5364d336": { + "7188ef2547fb49a79f044755eda0e7ca": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HTMLView", + "_view_name": "ProgressView", + "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_1e467554461f4cc2ae842712b59feea8", - "placeholder": "​", - "style": "IPY_MODEL_28848374ffd84ecd869acd909f966885", - "value": " 149985/0 [00:00<00:00, 522618.35 examples/s]" + "layout": "IPY_MODEL_a2956bc417f8442a93ace1630b4f6c5c", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_1e3ece313db34ed89f7c97bda5d94136", + "value": 2 } }, - "28514f23fe78478faf8d4ee54c03f573": { + "727e09b03a2841fab93af2ccdc800619": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4782,13 +4561,37 @@ "right": null, "top": null, "visibility": null, - "width": null + "width": "20px" } }, - "adb329d31dc94bbb9447099ee12802a4": { + "736c636e2b274ffeb9aac319d56a37a7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c8b52ae553bb4745b0444e6476da535d", + "max": 29997, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f7e102b56feb46c68f968056adaec751", + "value": 29997 + } + }, + "75560191f732426e8d48348d9519c1f0": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4837,25 +4640,10 @@ "width": null } }, - "e46269bca9ac4f289ae58b63a9b50c05": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "727e09b03a2841fab93af2ccdc800619": { + "7d8e46bd108d41adae04baa12963bb56": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4901,29 +4689,137 @@ "right": null, "top": null, "visibility": null, - "width": "20px" + "width": null } }, - "b240fb02e8184aa58d1eba709b1991bc": { + "7ec9e74bff04481da80fe3370e876420": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6581c29cdfb04ea59400f8061d796fe3", + "placeholder": "​", + "style": "IPY_MODEL_d115499e37a34b8690d6849494aa65ae", + "value": "Generating train split: 100%" + } + }, + "7ed6cb7e905f43768e21ceb29c674215": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0cc7dfd0ff934b649b76b3917602f1be", + "placeholder": "​", + "style": "IPY_MODEL_afd3066953514cd59f31e15e4d2915e7", + "value": " 4.84M/? [00:00<00:00, 30.3MB/s]" + } + }, + "8194ea8f5b0a4c8cb5f999ec0c87a633": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_543c8cc6dd0f4ccd99e48c038543cd9f", + "placeholder": "​", + "style": "IPY_MODEL_debe32e761d34be1a2c30d801a2451be", + "value": "Downloading readme: 100%" + } + }, + "81b0c62b427040c0a085e7e63db46ac3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d958d6f7c1284adeae233a13353ba3d0", + "max": 5439, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_49a44fb68bca4ea19a6ffcf794f3039a", + "value": 5439 + } + }, + "822edeea9ecf4c16b9bcf7951eed3792": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8e4c08035b694012922777750beb333e", + "IPY_MODEL_0b19af29fefa46749ec3efa4af03bd85", + "IPY_MODEL_4f6d03ac52c04d3f8da9b7796054b648" + ], + "layout": "IPY_MODEL_2c73ded880e14d7fbae4d3abc94262c2" + } + }, + "8471e543444f44f09e59b4fe964ed82e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", - "bar_color": null, "description_width": "" } }, - "1e467554461f4cc2ae842712b59feea8": { + "848fb54cd20347f8b61579415190dd92": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -4972,113 +4868,41 @@ "width": null } }, - "28848374ffd84ecd869acd909f966885": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6970e3f5318c425bb682a11fe2710eb8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_93cd1a99f280417fa21c10147d3086a2", - "IPY_MODEL_88c000f55dbb48129f1d719207084ddb", - "IPY_MODEL_f4eda86e937a4a548024f662723e37a3" - ], - "layout": "IPY_MODEL_199692beb0204413b8e3212ea7a3a030" - } - }, - "93cd1a99f280417fa21c10147d3086a2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_bdb1639f2264475c96a6665fd0a16fdf", - "placeholder": "​", - "style": "IPY_MODEL_87007da808364f3a8f464fed05c92a0d", - "value": "Generating test split: " - } - }, - "88c000f55dbb48129f1d719207084ddb": { + "85d4eb30714f4d66b1fe1f77887554ca": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e932af18b3734c50b3d7d12972408a8d", - "max": 1, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_9e9516808b2e406c9e1010f23d5b26c0", - "value": 1 + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" } }, - "f4eda86e937a4a548024f662723e37a3": { + "87007da808364f3a8f464fed05c92a0d": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_70f0780e3ac143eaa5793bd75b1dd0d4", - "placeholder": "​", - "style": "IPY_MODEL_62c52ca8fa1147c594cfc1b0e891992f", - "value": " 61998/0 [00:00<00:00, 617050.03 examples/s]" + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "199692beb0204413b8e3212ea7a3a030": { + "8774f73644024974a3116309684f0c7c": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5127,10 +4951,34 @@ "width": null } }, - "bdb1639f2264475c96a6665fd0a16fdf": { + "88c000f55dbb48129f1d719207084ddb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e932af18b3734c50b3d7d12972408a8d", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9e9516808b2e406c9e1010f23d5b26c0", + "value": 1 + } + }, + "88dd9b1409f04bfc9993bcd0244777fe": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5179,10 +5027,25 @@ "width": null } }, - "87007da808364f3a8f464fed05c92a0d": { + "8af4d1f70cd944ddadf8ea36ac38c58e": { "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8badb18f053f407e83699688cc0c5999": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -5194,10 +5057,52 @@ "description_width": "" } }, - "e932af18b3734c50b3d7d12972408a8d": { + "8c22504ccaee4cbf9bdfef0c120590b2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9bb3360a875543ae82ee5480acac4796", + "placeholder": "​", + "style": "IPY_MODEL_2a7dda9c5aac4087951f16e5b5ac96b7", + "value": "Creating json from Arrow format: 100%" + } + }, + "8e4c08035b694012922777750beb333e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_92459ab6b11d47dba3db1fc162972efd", + "placeholder": "​", + "style": "IPY_MODEL_91a1b97822fc40eeb827c34fd15c74b6", + "value": "Downloading data files: 100%" + } + }, + "91598533cd7f48f5a708543bf5f3bab6": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5243,29 +5148,70 @@ "right": null, "top": null, "visibility": null, - "width": "20px" + "width": null } }, - "9e9516808b2e406c9e1010f23d5b26c0": { + "91799ab4c0864ba9a9a8dd54f73cf7a4": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e991a429e51d4980b1374992b1bd3fb3", + "placeholder": "​", + "style": "IPY_MODEL_6224481255304438bafa996d1981bd9b", + "value": " 5.44k/5.44k [00:00<00:00, 220kB/s]" + } + }, + "91a1b97822fc40eeb827c34fd15c74b6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", - "bar_color": null, "description_width": "" } }, - "70f0780e3ac143eaa5793bd75b1dd0d4": { + "91e0f48982364466a14fbd0c5364d336": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1e467554461f4cc2ae842712b59feea8", + "placeholder": "​", + "style": "IPY_MODEL_28848374ffd84ecd869acd909f966885", + "value": " 149985/0 [00:00<00:00, 522618.35 examples/s]" + } + }, + "92459ab6b11d47dba3db1fc162972efd": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5314,47 +5260,95 @@ "width": null } }, - "62c52ca8fa1147c594cfc1b0e891992f": { + "93283eaea26547c891d16c64e20d3fb4": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6898685d25ee4805b7fec0378365ffa0", + "max": 4376, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f174f333e840477ba96c910213a81d0a", + "value": 4376 + } + }, + "935634cd3d1340d3986110539c3fcc76": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", + "bar_color": null, "description_width": "" } }, - "40f69f00418b4f3e90061376bac624d5": { + "9384d6d22f3643219151ad248a0d2fc7": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", + "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_dc0da9cdfd2e41998f4e2f3a04dfc658", - "IPY_MODEL_a4493afa196e4888aa1d1b2b06a181a0", - "IPY_MODEL_c25e4db8dbbc4aef980fa2463678306f" - ], - "layout": "IPY_MODEL_2a432c2f7e4b44c2926fc6a5460c27ed" + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_017322c8e90b48ae9164efe2569c2727", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9658ed7253c940548fb40a4b320ac1b4", + "value": 2 } }, - "dc0da9cdfd2e41998f4e2f3a04dfc658": { + "93cb42215da44d2ba4213b835d252eab": { "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_dd417a969ac849baa6929d18ada5d1c9", + "placeholder": "​", + "style": "IPY_MODEL_dfdcf8520708413da2dc151f41c193c0", + "value": "Extracting data files: 100%" + } + }, + "93cd1a99f280417fa21c10147d3086a2": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -5366,16 +5360,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_c7d932f531e0499ab8318f32834dae51", + "layout": "IPY_MODEL_bdb1639f2264475c96a6665fd0a16fdf", "placeholder": "​", - "style": "IPY_MODEL_a50c23d78cc445879300f98af0ac69ae", - "value": "Map: 100%" + "style": "IPY_MODEL_87007da808364f3a8f464fed05c92a0d", + "value": "Generating test split: " } }, - "a4493afa196e4888aa1d1b2b06a181a0": { + "94d0bf4b5dce4ec8b33600c8b3472630": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -5388,18 +5382,18 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_8774f73644024974a3116309684f0c7c", - "max": 149985, + "layout": "IPY_MODEL_c0fb53db671b4d26ac06c6c3c9933b15", + "max": 2, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_85d4eb30714f4d66b1fe1f77887554ca", - "value": 149985 + "style": "IPY_MODEL_0da9f1a610f244249d7dbe73df3ac5ee", + "value": 2 } }, - "c25e4db8dbbc4aef980fa2463678306f": { + "94dad8d2649c403dbb443c7e3d8b1097": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -5411,16 +5405,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_7d8e46bd108d41adae04baa12963bb56", + "layout": "IPY_MODEL_2001d69064ec4b78be911fe41c06b468", "placeholder": "​", - "style": "IPY_MODEL_5d5a7becafcb45808dfe65cb660e6827", - "value": " 149985/149985 [00:10<00:00, 17268.92 examples/s]" + "style": "IPY_MODEL_074215c3ae704b939e205bc604a6339d", + "value": " 11.7M/? [00:00<00:00, 41.9MB/s]" } }, - "2a432c2f7e4b44c2926fc6a5460c27ed": { + "95991639ef264d37a509f8bd9ecdf7c8": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5469,10 +5463,26 @@ "width": null } }, - "c7d932f531e0499ab8318f32834dae51": { + "9658ed7253c940548fb40a4b320ac1b4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "9bb3360a875543ae82ee5480acac4796": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5521,25 +5531,10 @@ "width": null } }, - "a50c23d78cc445879300f98af0ac69ae": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "8774f73644024974a3116309684f0c7c": { + "9d0edf01c6574b6da5e2fd9ffc9146aa": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5588,10 +5583,25 @@ "width": null } }, - "85d4eb30714f4d66b1fe1f77887554ca": { + "9e5e85f4d62b4a699c28f7cf5567dd46": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9e9516808b2e406c9e1010f23d5b26c0": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -5604,10 +5614,10 @@ "description_width": "" } }, - "7d8e46bd108d41adae04baa12963bb56": { + "a2956bc417f8442a93ace1630b4f6c5c": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5656,10 +5666,10 @@ "width": null } }, - "5d5a7becafcb45808dfe65cb660e6827": { + "a2c144716157471f86cff341ec3a188e": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -5671,10 +5681,71 @@ "description_width": "" } }, - "27ce5829e05149a39ea9afd2e6f0fc98": { + "a441f30832cc435c8bbe4176a4eb6397": { "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_38e802c8fcee4125815f972d7c7a0fff", + "IPY_MODEL_cf58b80e62454c939e14a0cf451a0aa2", + "IPY_MODEL_94dad8d2649c403dbb443c7e3d8b1097" + ], + "layout": "IPY_MODEL_6daf5ef868b847d397fb3924b1b74d35" + } + }, + "a4493afa196e4888aa1d1b2b06a181a0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8774f73644024974a3116309684f0c7c", + "max": 149985, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_85d4eb30714f4d66b1fe1f77887554ca", + "value": 149985 + } + }, + "a50c23d78cc445879300f98af0ac69ae": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a652e69a7c0044f190068adae92d4461": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -5686,17 +5757,17 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_aae06c7d529c418b9841a348bc444d3a", - "IPY_MODEL_52a4fd97b2094096a0a23d8bb097a686", - "IPY_MODEL_1ce195a3a1354811945728f81568da2a" + "IPY_MODEL_146c22e8c0654103944d314f183beac1", + "IPY_MODEL_9384d6d22f3643219151ad248a0d2fc7", + "IPY_MODEL_5780154511334024bedf4323a4c87227" ], - "layout": "IPY_MODEL_e0f1add308c74732b8e488e2057becf4" + "layout": "IPY_MODEL_f6d52c07e696497c9744d30e48c4f8ba" } }, "aae06c7d529c418b9841a348bc444d3a": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -5714,10 +5785,10 @@ "value": "Map: 100%" } }, - "52a4fd97b2094096a0a23d8bb097a686": { + "abdd89a240da41858e2eedbe80a3a084": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -5730,18 +5801,70 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_400f27da06e749d5be0a61accaf43a0c", - "max": 61998, + "layout": "IPY_MODEL_f73ecd74491647148a180a05c52e69b8", + "max": 2228485, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_3f813851ad10411ab48f26e765dc9cff", - "value": 61998 + "style": "IPY_MODEL_f312478e6d794daa9625836628caf03f", + "value": 2228485 } }, - "1ce195a3a1354811945728f81568da2a": { + "adb329d31dc94bbb9447099ee12802a4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "adf9c6b09bd54777996a1f9673d7f694": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -5753,16 +5876,31 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_2908cee0b3524c82a262c0d5b78fddfb", + "layout": "IPY_MODEL_f02baf3f36754d8f87241f7184ffb75c", "placeholder": "​", - "style": "IPY_MODEL_35710d549e274f58abd02c54be72c6c2", - "value": " 61998/61998 [00:05<00:00, 7078.06 examples/s]" + "style": "IPY_MODEL_cda0be8a5d5847ca989c89fff99dac1f", + "value": " 119988/119988 [00:08<00:00, 13031.33 examples/s]" + } + }, + "afd3066953514cd59f31e15e4d2915e7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "e0f1add308c74732b8e488e2057becf4": { + "b01e8fb3d39c4aa986da3ac2b0a16ec7": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5811,10 +5949,10 @@ "width": null } }, - "6f1ca069baf04a5da2861661dadbc662": { + "b1b81a92053b4c3fa5c76caef02563b6": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5863,25 +6001,26 @@ "width": null } }, - "8af4d1f70cd944ddadf8ea36ac38c58e": { + "b240fb02e8184aa58d1eba709b1991bc": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", + "bar_color": null, "description_width": "" } }, - "400f27da06e749d5be0a61accaf43a0c": { + "b79d7facd6d7485cb92dc4c053551e40": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5930,26 +6069,40 @@ "width": null } }, - "3f813851ad10411ab48f26e765dc9cff": { + "ba97193bfa6442bb929be164fc9a7463": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", - "bar_color": null, "description_width": "" } }, - "2908cee0b3524c82a262c0d5b78fddfb": { + "bbae5295c7814f8aa8a83b6c7c4622f2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "bdb1639f2264475c96a6665fd0a16fdf": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -5998,113 +6151,62 @@ "width": null } }, - "35710d549e274f58abd02c54be72c6c2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", + "c0fb53db671b4d26ac06c6c3c9933b15": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "46e5647a158d4d83a89a08991191bcbb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_1dff1987bcc64508b236a2a5bf9cec2a", - "IPY_MODEL_70f57872c19447aa9b0d2d9e5bcf0570", - "IPY_MODEL_461c8ba97e25462189b95f238a27044e" - ], - "layout": "IPY_MODEL_f7985d5de72648c2a4334b89ee603f7c" - } - }, - "1dff1987bcc64508b236a2a5bf9cec2a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_43da3b6e0120420bacc56bb081c560ec", - "placeholder": "​", - "style": "IPY_MODEL_031f9bd8994f498db14409e4e7f1cf03", - "value": "Creating json from Arrow format: 100%" - } - }, - "70f57872c19447aa9b0d2d9e5bcf0570": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6c4658d876b44a84b360d061bb68ed66", - "max": 120, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_439aa1daa2424e49a07ec12ed29ac351", - "value": 120 - } - }, - "461c8ba97e25462189b95f238a27044e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_88dd9b1409f04bfc9993bcd0244777fe", - "placeholder": "​", - "style": "IPY_MODEL_c979b3835a7b49ae8ab8947cf13707d5", - "value": " 120/120 [00:02<00:00, 76.68ba/s]" + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null } }, - "f7985d5de72648c2a4334b89ee603f7c": { + "c24af0f963b7460d9d38e3b09081f949": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6153,10 +6255,88 @@ "width": null } }, - "43da3b6e0120420bacc56bb081c560ec": { + "c25e4db8dbbc4aef980fa2463678306f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7d8e46bd108d41adae04baa12963bb56", + "placeholder": "​", + "style": "IPY_MODEL_5d5a7becafcb45808dfe65cb660e6827", + "value": " 149985/149985 [00:10<00:00, 17268.92 examples/s]" + } + }, + "c4012bd1af3945f28f62c7c1307458e5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c55c9f7cf12b40a4bf753945ddd96f05": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0169f1f662334c438b88fcdadfbcbfd4", + "placeholder": "​", + "style": "IPY_MODEL_ba97193bfa6442bb929be164fc9a7463", + "value": " 2/2 [00:00<00:00, 68.43it/s]" + } + }, + "c59fec8321c64cb98488e70f9ef78740": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_65eeb8ee0eeb4127a0d5bd27e2aee5b7", + "placeholder": "​", + "style": "IPY_MODEL_4a8a0369a02d45b0ba6b3714180da358", + "value": "Creating json from Arrow format: 100%" + } + }, + "c6bf49b2298c4d9eb9035fb860b539e7": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6205,25 +6385,10 @@ "width": null } }, - "031f9bd8994f498db14409e4e7f1cf03": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6c4658d876b44a84b360d061bb68ed66": { + "c7d932f531e0499ab8318f32834dae51": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6272,26 +6437,10 @@ "width": null } }, - "439aa1daa2424e49a07ec12ed29ac351": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "88dd9b1409f04bfc9993bcd0244777fe": { + "c8b52ae553bb4745b0444e6476da535d": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6342,8 +6491,8 @@ }, "c979b3835a7b49ae8ab8947cf13707d5": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -6355,10 +6504,10 @@ "description_width": "" } }, - "0bccff746d854f2cba07592a9f1259f5": { + "caf5cd41ecb44a50b80508f7cb6792f2": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -6370,17 +6519,17 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_c59fec8321c64cb98488e70f9ef78740", - "IPY_MODEL_5a7ea78609464fb0b4b6c1e4a3597613", - "IPY_MODEL_269568a9089f40ccb9a0c62efb6c3770" + "IPY_MODEL_2ada78a1a43a42668dba150700b257ea", + "IPY_MODEL_abdd89a240da41858e2eedbe80a3a084", + "IPY_MODEL_7ed6cb7e905f43768e21ceb29c674215" ], - "layout": "IPY_MODEL_1ee4b4a1f0014f60b88656f97f31dd51" + "layout": "IPY_MODEL_e8aa467e689c47c5a52738dc8620d529" } }, - "c59fec8321c64cb98488e70f9ef78740": { + "cc4803dc285b471685e754d1e442c6fd": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -6392,113 +6541,70 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_65eeb8ee0eeb4127a0d5bd27e2aee5b7", + "layout": "IPY_MODEL_e138aec3fffe40fc8855ff43e8bdc96e", "placeholder": "​", - "style": "IPY_MODEL_4a8a0369a02d45b0ba6b3714180da358", - "value": "Creating json from Arrow format: 100%" + "style": "IPY_MODEL_06a0f93bdfcb4b6d9f2bd0488565c650", + "value": " 62/62 [00:00<00:00, 199.66ba/s]" } }, - "5a7ea78609464fb0b4b6c1e4a3597613": { + "cd33f15aee464f798cba807dce8440e9": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_303510fad09b4534aed23aa783256b89", - "max": 30, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_35377e401e344f27b3f86567e03b8665", - "value": 30 + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "269568a9089f40ccb9a0c62efb6c3770": { + "cda0be8a5d5847ca989c89fff99dac1f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "cf58b80e62454c939e14a0cf451a0aa2": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HTMLView", + "_view_name": "ProgressView", + "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_3c13ee6ac4364612bc17ef3ffd6b3429", - "placeholder": "​", - "style": "IPY_MODEL_fc4f53f70e3446a1b93a144879dd8c2d", - "value": " 30/30 [00:00<00:00, 89.60ba/s]" + "layout": "IPY_MODEL_9d0edf01c6574b6da5e2fd9ffc9146aa", + "max": 5383113, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_935634cd3d1340d3986110539c3fcc76", + "value": 5383113 } }, - "1ee4b4a1f0014f60b88656f97f31dd51": { + "d04039432648443082f031df11d445c9": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": 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, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "65eeb8ee0eeb4127a0d5bd27e2aee5b7": { - "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", - "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6547,10 +6653,10 @@ "width": null } }, - "4a8a0369a02d45b0ba6b3714180da358": { + "d115499e37a34b8690d6849494aa65ae": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -6562,78 +6668,31 @@ "description_width": "" } }, - "303510fad09b4534aed23aa783256b89": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": 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, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "35377e401e344f27b3f86567e03b8665": { + "d36b419d21734f09b8667362c11536b4": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "HTMLModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b79d7facd6d7485cb92dc4c053551e40", + "placeholder": "​", + "style": "IPY_MODEL_ddac597cb7134c098050fc68de47b478", + "value": " 4.38k/4.38k [00:00<00:00, 115kB/s]" } }, - "3c13ee6ac4364612bc17ef3ffd6b3429": { + "d958d6f7c1284adeae233a13353ba3d0": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6682,92 +6741,10 @@ "width": null } }, - "fc4f53f70e3446a1b93a144879dd8c2d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "495a8f52054743509e151806da0abbfa": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_8c22504ccaee4cbf9bdfef0c120590b2", - "IPY_MODEL_df38d84cc6ae40788c0f164cc251f185", - "IPY_MODEL_cc4803dc285b471685e754d1e442c6fd" - ], - "layout": "IPY_MODEL_e875464290684953b527904557f3528e" - } - }, - "8c22504ccaee4cbf9bdfef0c120590b2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_9bb3360a875543ae82ee5480acac4796", - "placeholder": "​", - "style": "IPY_MODEL_2a7dda9c5aac4087951f16e5b5ac96b7", - "value": "Creating json from Arrow format: 100%" - } - }, - "df38d84cc6ae40788c0f164cc251f185": { + "dc0da9cdfd2e41998f4e2f3a04dfc658": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f578471ef71447758cfd82bd8bdc99e0", - "max": 62, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_ebc67fdc3a434f4f8a52e12faa935dea", - "value": 62 - } - }, - "cc4803dc285b471685e754d1e442c6fd": { - "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", - "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -6779,16 +6756,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_e138aec3fffe40fc8855ff43e8bdc96e", + "layout": "IPY_MODEL_c7d932f531e0499ab8318f32834dae51", "placeholder": "​", - "style": "IPY_MODEL_06a0f93bdfcb4b6d9f2bd0488565c650", - "value": " 62/62 [00:00<00:00, 199.66ba/s]" + "style": "IPY_MODEL_a50c23d78cc445879300f98af0ac69ae", + "value": "Map: 100%" } }, - "e875464290684953b527904557f3528e": { + "dd417a969ac849baa6929d18ada5d1c9": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6837,10 +6814,25 @@ "width": null } }, - "9bb3360a875543ae82ee5480acac4796": { + "ddac597cb7134c098050fc68de47b478": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "de9ac409b2104355b33f3224a58d5d24": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6889,10 +6881,49 @@ "width": null } }, - "2a7dda9c5aac4087951f16e5b5ac96b7": { + "debe32e761d34be1a2c30d801a2451be": { "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "df38d84cc6ae40788c0f164cc251f185": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f578471ef71447758cfd82bd8bdc99e0", + "max": 62, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_ebc67fdc3a434f4f8a52e12faa935dea", + "value": 62 + } + }, + "dfdcf8520708413da2dc151f41c193c0": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -6904,10 +6935,10 @@ "description_width": "" } }, - "f578471ef71447758cfd82bd8bdc99e0": { + "e0f1add308c74732b8e488e2057becf4": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -6956,26 +6987,10 @@ "width": null } }, - "ebc67fdc3a434f4f8a52e12faa935dea": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, "e138aec3fffe40fc8855ff43e8bdc96e": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7021,95 +7036,80 @@ "right": null, "top": null, "visibility": null, - "width": null - } - }, - "06a0f93bdfcb4b6d9f2bd0488565c650": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "271cfea7b9a4422ba78ad0513d8091e9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_7ec9e74bff04481da80fe3370e876420", - "IPY_MODEL_5bd26ff88cf248d4aabe2fcf5446cd5c", - "IPY_MODEL_adf9c6b09bd54777996a1f9673d7f694" - ], - "layout": "IPY_MODEL_6e9fdbd4fd544b15a04dd0729aedcaae" - } - }, - "7ec9e74bff04481da80fe3370e876420": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6581c29cdfb04ea59400f8061d796fe3", - "placeholder": "​", - "style": "IPY_MODEL_d115499e37a34b8690d6849494aa65ae", - "value": "Generating train split: 100%" + "width": null } }, - "5bd26ff88cf248d4aabe2fcf5446cd5c": { + "e46269bca9ac4f289ae58b63a9b50c05": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", + "_model_name": "DescriptionStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_13826beae5f042db9b6d3e3f3807f85e", - "max": 119988, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_14c66c78bd1b4313b789a79ddb265a45", - "value": 119988 + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" } }, - "adf9c6b09bd54777996a1f9673d7f694": { + "e764d414a9db4f9bbb3bf42a5f8b780a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": 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, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e830bae8320b44a4bec4a8652e3d8472": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -7121,16 +7121,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_f02baf3f36754d8f87241f7184ffb75c", + "layout": "IPY_MODEL_0411fc784d604202afbfbf43a915e467", "placeholder": "​", - "style": "IPY_MODEL_cda0be8a5d5847ca989c89fff99dac1f", - "value": " 119988/119988 [00:08<00:00, 13031.33 examples/s]" + "style": "IPY_MODEL_3246b30f178c4fe9a256e6e326546cbd", + "value": "Generating test split: 100%" } }, - "6e9fdbd4fd544b15a04dd0729aedcaae": { + "e875464290684953b527904557f3528e": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7179,10 +7179,10 @@ "width": null } }, - "6581c29cdfb04ea59400f8061d796fe3": { + "e8aa467e689c47c5a52738dc8620d529": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7231,25 +7231,10 @@ "width": null } }, - "d115499e37a34b8690d6849494aa65ae": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "13826beae5f042db9b6d3e3f3807f85e": { + "e932af18b3734c50b3d7d12972408a8d": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7295,29 +7280,13 @@ "right": null, "top": null, "visibility": null, - "width": null - } - }, - "14c66c78bd1b4313b789a79ddb265a45": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "width": "20px" } }, - "f02baf3f36754d8f87241f7184ffb75c": { + "e991a429e51d4980b1374992b1bd3fb3": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7366,10 +7335,10 @@ "width": null } }, - "cda0be8a5d5847ca989c89fff99dac1f": { + "eb1a99d40b2b426a80884f1577f18948": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -7381,98 +7350,26 @@ "description_width": "" } }, - "3103d44d02bb45beb33588cf708ba811": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_58385a662e624c63b2d317b5b6840037", - "IPY_MODEL_736c636e2b274ffeb9aac319d56a37a7", - "IPY_MODEL_002e4045b9b44bfc84571412f0f11624" - ], - "layout": "IPY_MODEL_5969054c9cf34ed1a638a69bcbbb377a" - } - }, - "58385a662e624c63b2d317b5b6840037": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c24af0f963b7460d9d38e3b09081f949", - "placeholder": "​", - "style": "IPY_MODEL_65055dbabf0440d1a6b0c0189553ffcf", - "value": "Generating validation split: 100%" - } - }, - "736c636e2b274ffeb9aac319d56a37a7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c8b52ae553bb4745b0444e6476da535d", - "max": 29997, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_f7e102b56feb46c68f968056adaec751", - "value": 29997 - } - }, - "002e4045b9b44bfc84571412f0f11624": { + "ebc67fdc3a434f4f8a52e12faa935dea": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "ProgressStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2c7208b82d5c42adb83acc50af9e2a29", - "placeholder": "​", - "style": "IPY_MODEL_ed390a926cd14072bc95e2054d184541", - "value": " 29997/29997 [00:03<00:00, 6705.96 examples/s]" + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" } }, - "5969054c9cf34ed1a638a69bcbbb377a": { + "ece324a1271b46b98a8b6fd5ba384236": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7521,10 +7418,47 @@ "width": null } }, - "c24af0f963b7460d9d38e3b09081f949": { + "ed390a926cd14072bc95e2054d184541": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ed79c826a7194b5a9942671d86e2379d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8194ea8f5b0a4c8cb5f999ec0c87a633", + "IPY_MODEL_81b0c62b427040c0a085e7e63db46ac3", + "IPY_MODEL_91799ab4c0864ba9a9a8dd54f73cf7a4" + ], + "layout": "IPY_MODEL_91598533cd7f48f5a708543bf5f3bab6" + } + }, + "ef1231caedd343a08a2b08e8f513a67f": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7573,10 +7507,10 @@ "width": null } }, - "65055dbabf0440d1a6b0c0189553ffcf": { + "eff0a998e46046fe8cbeed279d4956c3": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -7588,10 +7522,10 @@ "description_width": "" } }, - "c8b52ae553bb4745b0444e6476da535d": { + "f01e1dee781d49939d3204cdfe991def": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7640,26 +7574,10 @@ "width": null } }, - "f7e102b56feb46c68f968056adaec751": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2c7208b82d5c42adb83acc50af9e2a29": { + "f02baf3f36754d8f87241f7184ffb75c": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7708,68 +7626,66 @@ "width": null } }, - "ed390a926cd14072bc95e2054d184541": { + "f174f333e840477ba96c910213a81d0a": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", + "bar_color": null, "description_width": "" } }, - "2831a9ec119a495bbde153ee1eb37c66": { + "f2b117616f3b4eedb96986bab63a6692": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", + "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_e830bae8320b44a4bec4a8652e3d8472", - "IPY_MODEL_f44ba78d0c29409bbd1e24134d5335da", - "IPY_MODEL_0ba6d5b1963e4ec1a2a6bc72990bc5a3" - ], - "layout": "IPY_MODEL_b01e8fb3d39c4aa986da3ac2b0a16ec7" + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_727e09b03a2841fab93af2ccdc800619", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b240fb02e8184aa58d1eba709b1991bc", + "value": 1 } }, - "e830bae8320b44a4bec4a8652e3d8472": { + "f312478e6d794daa9625836628caf03f": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", + "_model_name": "ProgressStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0411fc784d604202afbfbf43a915e467", - "placeholder": "​", - "style": "IPY_MODEL_3246b30f178c4fe9a256e6e326546cbd", - "value": "Generating test split: 100%" + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" } }, "f44ba78d0c29409bbd1e24134d5335da": { "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -7790,10 +7706,10 @@ "value": 61998 } }, - "0ba6d5b1963e4ec1a2a6bc72990bc5a3": { + "f4eda86e937a4a548024f662723e37a3": { "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", "model_module_version": "1.5.0", + "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", @@ -7805,16 +7721,16 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_f01e1dee781d49939d3204cdfe991def", + "layout": "IPY_MODEL_70f0780e3ac143eaa5793bd75b1dd0d4", "placeholder": "​", - "style": "IPY_MODEL_8badb18f053f407e83699688cc0c5999", - "value": " 61998/61998 [00:02<00:00, 33733.27 examples/s]" + "style": "IPY_MODEL_62c52ca8fa1147c594cfc1b0e891992f", + "value": " 61998/0 [00:00<00:00, 617050.03 examples/s]" } }, - "b01e8fb3d39c4aa986da3ac2b0a16ec7": { + "f578471ef71447758cfd82bd8bdc99e0": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7863,10 +7779,10 @@ "width": null } }, - "0411fc784d604202afbfbf43a915e467": { + "f6d52c07e696497c9744d30e48c4f8ba": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7915,25 +7831,32 @@ "width": null } }, - "3246b30f178c4fe9a256e6e326546cbd": { + "f720e5b0f068453895e8f931d83792bd": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", + "model_name": "HBoxModel", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "HBoxModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_09adc94479c14590971e97b21b6a5d6e", + "IPY_MODEL_93283eaea26547c891d16c64e20d3fb4", + "IPY_MODEL_d36b419d21734f09b8667362c11536b4" + ], + "layout": "IPY_MODEL_ef1231caedd343a08a2b08e8f513a67f" } }, - "e764d414a9db4f9bbb3bf42a5f8b780a": { + "f73ecd74491647148a180a05c52e69b8": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -7982,26 +7905,10 @@ "width": null } }, - "fca8c1d470cb49b08c8066676d70aed3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "f01e1dee781d49939d3204cdfe991def": { + "f7985d5de72648c2a4334b89ee603f7c": { "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", "model_module_version": "1.2.0", + "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", @@ -8050,10 +7957,65 @@ "width": null } }, - "8badb18f053f407e83699688cc0c5999": { + "f7d58ab0578b49e39939c05192016146": { "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f7e102b56feb46c68f968056adaec751": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "fc4458f874424781bbd52adc4f441a37": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d04039432648443082f031df11d445c9", + "max": 2063, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_028b74f6c2fe4fd999507b3ed0f03f21", + "value": 2063 + } + }, + "fc4f53f70e3446a1b93a144879dd8c2d": { + "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", @@ -8064,10 +8026,48 @@ "_view_name": "StyleView", "description_width": "" } + }, + "fca8c1d470cb49b08c8066676d70aed3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "ff9f1d437bac40b0aa93e4839069deb2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_07078068134d4a11987f88bdf0b08f17", + "IPY_MODEL_fc4458f874424781bbd52adc4f441a37", + "IPY_MODEL_0925e66d052145bcb3480604f3da4cda" + ], + "layout": "IPY_MODEL_4f4ae616c7c343edada8b37ca4027125" + } } } } }, "nbformat": 4, "nbformat_minor": 0 -} \ No newline at end of file +}