From d67fab889cf94679e839791776a51ccb60cbc634 Mon Sep 17 00:00:00 2001 From: Jaufacake <90509494+Jaufacake@users.noreply.github.com> Date: Sat, 20 Jan 2024 19:14:51 +0000 Subject: [PATCH] Add files via upload --- content/LanguageInFocusP1.ipynb | 636 ++++++++++++++++++++++++++++++++ 1 file changed, 636 insertions(+) create mode 100644 content/LanguageInFocusP1.ipynb diff --git a/content/LanguageInFocusP1.ipynb b/content/LanguageInFocusP1.ipynb new file mode 100644 index 0000000..141e984 --- /dev/null +++ b/content/LanguageInFocusP1.ipynb @@ -0,0 +1,636 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "z8u4eBkJqnyx", + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "# Language in Focus, Part 1: Predicting Movie Magic\n", + "# Introduction\n", + "Natural Language Processing (NLP) is a current topic in machine learning (ML). With the commercialisation of Chat GPT [3] and the integration of chatbots into business environments [4], NLP has become a part of our everyday lives. Before Generative Pre-trained Transformers (GPTs), a turning point in the field of NLP was the development of Recursive Neural Networks (RNNs). Researchers developed RNNs to better model the dependencies in sequential data [2]. Interpreting and predicting sequences of words was essential to the success of NLP.\n", + "This blog post will introduce how researchers approach NLP, exploring the most common data processing and classification methods. Next, it will cover RNNs in-depth, including memory cells, the back-propagation through time (BPTT) algorithm and the challenges RNNs face. Lastly, we will illustrate how we can use NLP to classify film genres by summarising one of WDSS’s own research projects!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dvQUu16vqny2" + }, + "source": [ + "# Introduction to NLP\n", + "\n", + "Data processing is a crucial stage in any ML project. As NLP is a well-established field, many tricks for processing and normalising text data exist:\n", + "- Non-linguistic analysis is used on social media platforms where users write posts containing icons, special characters, platform-specific prefixes and web links. This preprocessing method involves removing characters, assigning values to represent non-text features, and removing images and links[1].\n", + " \n", + "- Morphological analysis [1] is another method for text data processing. It includes tokenisation, where researchers use a dictionary to convert each word into a unique integer, removing punctuation and removing “stop words'' such as the, is, a, and and in English.\n", + " \n", + "- Syntactic analysis is a text data processing method where researchers tag words as a “part of speech”. These would be nouns, verbs, articles, adjectives and more.\n", + " \n", + "- Lastly, semantic analysis focuses on the meaning of words. This method uses emotion dictionaries to index the emotions associated with words.\n", + " \n", + "Once the text data is processed, it can be classified. ML algorithms like Support Vector Machines (SVM), Naive Bayes and Decision Trees can all solve language classification tasks. However, deep neural networks have become more common due to their better performance in multi-class classification [7]. These neural networks include Convolutional Neural Networks (CNNs) [5] and RNNs [6].\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dvQUu16vqny2" + }, + "source": [ + "# What are Recurrent Neural Networks?\n", + "\n", + "An RNN is a neural network with an internal state that stores previous inputs [2]. RNNs model the dependencies in sequential data, which is necessary for NLP as often words need to be understood in the context of a sentence or wider text. This is best illustrated by a diagram.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Neurons with recurrence [8]." + ] + }, + { + "attachments": { + "fbe3d19d-e92f-4e10-bdaa-2246ac2ff20c.png": { + "image/png": "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zqLbdIXNRWFCfpboOTxl7WknBNV8BTvKefut6Zf98bI//eHKXXfdtbSkzBc/XNddxh5oxo9tmuyaybKtBOBzbXcbFSZAwvksinTFsoqxO40965yzjj322NFbjo54EREOxwl1LWsgp4YcbdsPoiMsgOxOIPtzRMF8Y1LBjSc4yv1o5syvv/qaSDnKsSEibn0fkhhccvK1Tz35rCPuR+99+uuzLxw5eMulC1beesNtWnkP3vvIa6++tfWWY84/4U9fzv76zZfeW7BwOTlq1aqqP904FawuPHHqE08+KUJzPpt/0UlXN9SlamsSf7j4yvrazOABI0488LeLvl28annVeVP+WF1ZLyb6y31OF5by4rKeJb0917VhAEV66lXXfznnmxFDtjzn6EsXfbvk30/857/Pv7LtqB0fe/TJF6a94CoXABGLmO+kM0EZUq23hSKs27juDUUXYFoEMAKHTtOLKlBCvzcQn9PZlQAoRZ/N/PTAAw765XG/fG7ac4n6Bq00SAGbe2elEASoVppwNmuNq4gAZR+aSFmQXfX2aYDgqSICOa4D4KYbbtphzA4XXnDB+++/7/tGa8eG1jZ7OyD3+ghkR8ooaWOO3UEWQM7sBFRVVcUzhc3apwgikei0adMuu/Tyq6+Z+vMjjhg8eKjWa60GsfLw+ql/GjK032mnnjt5r31jsaIRo0Zd/purjzvhxPtvevz5GU/07dtji/8NiceLSJFDSolS5PSM97H9ha76wzXDRwx++rFnf/nrw8/6/W9mz/ryvRe/mHzoofHCou332nbGWx9uO2a7Hffe+oQTj0unMvde+xAYO4/dedXKykEDBiXStYp05arVbzw543+znovHY0O3GOBoddMlt51+6SmeVzB2x3G33X7TxIl7IeTg39EDkoBMKlNbW6uzsyhz+LAilUgkNoDw64rNfVeFIFJ1dbXMYbpn8PIPjTbagQCu59pqAADP/vu5Z//93KS9J5155pm77757UTxu2EgXUFTXTIggomQyVV9Xb99hYWG24jCnQbKwdeqEAwAgwhIwdhHWWn/19VfZY/75xpv/fOPNp5x68pRf/Wrbbbd1XZe6ZoKotLFp2VEuIBEQ+b4BMGmvifGiYpthHb5NSqsP3/sQwPm/v+D831/w51tvWrhgYasDHkjAUAAKSgozMHMXfrx90bjZX80WxuQT9zGGAcSL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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![unnamed.png](attachment:fbe3d19d-e92f-4e10-bdaa-2246ac2ff20c.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each recurrent cell represents a discrete time step. At each time step, the cell has weights that map the input vector x_t to an output vector y_t. These weights are shared between cells through the hidden states h_t. The recurrent network creates a summary of previous observations via these connections. In this way, the network “remembers” relationships between events over time in the data [2]. A recurrence relation updates the hidden state h_t at each time step. This relation is defined by a function f_h of the input x_t to that cell at that time and the previous state h_t-1 of the cell." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The recurrence relation [2]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$h_{t} = f_{h}(X_{t}, h_{t-1})$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An activation function is a nonlinear function that defines the output of a neuron in a network. Here, f_h represents the activation function tanh. Therefore, the complete formula for calculating the hidden state is:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Formula for calculating the hidden state [2]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$h_{t} = tanh(X_{t}W_{xh} + h_{t-1}W_{hh} + b_{h})$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output of a single recurrent neuron is a function of the hidden state." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Output of a single recurrent neuron [2]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\tilde{y_{t}} = f_{0}(h_{t})$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Specifically, the hidden state is weighted and biased to set how harshly the network should apply these weights during training. Next, the result o_t is passed through another activation function: Softmax." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The hidden state is weighted and biased and the result is passed through the Softmax function [2]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$o_{t} = h_{t}W_{hy} + b_{y}$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\tilde{y_{t}} = softmax(o_{t}))$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "RNNs train by an algorithm called backpropagation through time (BPTT). Backpropagation takes the derivative with respect to each parameter (called the “loss”) and shifts parameters to minimise loss [2]. The BPTT algorithm backpropagates the loss for each of the individual time steps, from the current time to the initial time in the sequence. This means that the gradient is computed repeatedly, which can cause problems. The two most common issues that this causes are the vanishing and exploding gradient problems. In short, gradients “explode” when the weight matrices are large. This prevents the network from converging at a stable predicted value. Similarly, gradients vanish when the weights are small. This prevents the network from using all the important information when training, leading to incorrect predictions. Exploding gradients can be prevented using a method called gradient clipping. Vanishing gradients can be mitigated by using the rectified linear unit (ReLU) activation function, or by using gated cells. These cells selectively control the flow into the neural network, filtering out what is not important [8]. Long Short Term Memory cells (LSTMs) and Gated Recurrent Units (GRUs) are common types of gated cells." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# An example: Movie Genre Classification\n", + "\n", + "One common application of NLP is grouping entertainment media, such as movies or blog posts, into categories for users to choose from. This type of problem requires a many-to-one RNN. The image below shows an example of a many-to-one RNN for classifying the sentiment (emotional positivity or negativity) of a sentence." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Many-to-one RNN [8]." + ] + }, + { + "attachments": { + "3746b503-8f06-4f7e-8797-f254417122bf.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![unnamed-2.png](attachment:3746b503-8f06-4f7e-8797-f254417122bf.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We completed a research project with the aim to classify movies into their respective genres based on their IMDb descriptions using an RNN. First, we analysed the data to identify the uneven frequencies of genre classes. We then processed the data using the NLTK python library and split the training and testing datasets. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import torch\n", + "import torch.nn as nn\n", + "import torchvision\n", + "import torchvision.transforms as transforms\n", + "import matplotlib.pyplot as plt\n", + "import nltk\n", + "import pickle\n", + "import seaborn as sns\n", + "from sklearn.model_selection import train_test_split\n", + "device = torch.device('cuda')\n", + "\n", + "import string\n", + "from nltk.corpus import stopwords\n", + "from nltk.tokenize import word_tokenize\n", + "\n", + "def clean(text):\n", + " stop_words = stopwords.words('english')\n", + " text = text.replace('-',' ')\n", + " translator = str.maketrans('','',string.punctuation + string.digits)\n", + " n_text = text.translate(translator)\n", + " words = word_tokenize(n_text)\n", + " filtered_words = [word for word in words if word not in stop_words]\n", + " return filtered_words\n", + "\n", + "wint_dict = {}\n", + "def words_int(words):\n", + " for word in words:\n", + " if word not in wint_dict:\n", + " wint_dict[word] = len(wint_dict) + 1\n", + " int_list = [wint_dict[word] for word in words]\n", + " return int_list\n", + "\n", + "gint_dict = {}\n", + "def to_int(word):\n", + " if word not in gint_dict:\n", + " gint_dict[word] = len(gint_dict)+1\n", + " return gint_dict[word]\n", + "\n", + "train_data = pd.read_csv('train_data.txt', sep = ':::', header = None, engine = 'python')\n", + "train_data.columns = ['id','title','genre','description']\n", + "train_selection = train_data[['genre','description']]\n", + "train_np = train_selection.values\n", + "\n", + "lengths = []\n", + "descriptions = np.array(np.zeros(200))\n", + "genres = np.array(np.zeros(1))\n", + "for row in train_np:\n", + " row[1] = row[1].lower()\n", + " row[1] = clean(row[1])\n", + " row[1] = np.array(words_int(row[1]))\n", + " lengths.append(len(row[1]))\n", + " row[1] = row[1][:200]\n", + " row[0] = np.array(to_int(row[0]))\n", + " npad = 200 - len(row[1])\n", + " row[1] = np.pad(row[1],npad)[npad:]\n", + " descriptions = np.vstack([descriptions,row[1]])\n", + " genres = np.vstack([genres,row[0]])\n", + "descriptions = descriptions[1:]\n", + "genres = genres[1:]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "hidden_size = 128\n", + "num_classes = 28\n", + "num_epochs = 6\n", + "batch_size = 200\n", + "learning_rate = 0.001\n", + "input_size = 1\n", + "sequence_length = 200\n", + "num_layers = 3\n", + "\n", + "descriptions = np.load('descriptions_np.npy')\n", + "genres_arrs = np.load('genres_np.npy')\n", + "genres = genres_arrs.ravel()\n", + "\n", + "with open('descriptions_dict.pkl','rb') as d:\n", + " descriptions_dict = pickle.load(d)\n", + "\n", + "with open('genres_dict.pkl','rb') as g:\n", + " genres_dict = pickle.load(g)\n", + "\n", + "def reverse_g(n):\n", + " return([val for val in genres_dict if genres_dict[val] == int(n)])[0]\n", + "\n", + "descriptions_t = torch.tensor(descriptions)\n", + "full_data = []\n", + "for i in range(len(descriptions_t)):\n", + " full_data.append((descriptions_t[i].float(),int(genres_arrs[i][0])))\n", + "\n", + "data_restricted = [row for row in full_data if row[1] in [1,4,5]]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(12,8))\n", + "#plt.hist(genres,bins = 27, edgecolor = 'black',orientation='horizontal')\n", + "#for i in range(1,28):\n", + " #plt.text(0,i,reverse_g(i))\n", + "#unique_values = np.unique(genres)\n", + "#genres_df = pd.DataFrame(genres)\n", + "#genres_df.value_counts().plot.barh()\n", + "genres_unique, genre_counts = np.unique(genres, return_counts=True)\n", + "labels = [reverse_g(g) for g in genres_unique]\n", + "plt.barh(labels,genre_counts)\n", + "plt.xlabel('Frequency')\n", + "plt.title('Frequencies of the different genres')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "train_slice, test_slice = train_test_split(full_data, test_size=0.2)\n", + "#class MyDataset(torch.utils.data.Dataset):\n", + " #def __init__(self, my_array):\n", + " #self.my_array = my_array\n", + " #def __len__(self):\n", + " #return len(self.my_array)\n", + " #def __getitem__(self, index):\n", + " #return self.my_array[index]\n", + "\n", + "train_loader = torch.utils.data.DataLoader(dataset = train_slice, batch_size = batch_size, shuffle = True)\n", + "test_loader = torch.utils.data.DataLoader(dataset = test_slice, batch_size = batch_size, shuffle = True)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Analysis of the class imbalance." + ] + }, + { + "attachments": { + "8285a956-562f-4f0a-8196-7eebc25655da.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![unnamed-3.png](attachment:8285a956-562f-4f0a-8196-7eebc25655da.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we set up the learning frameworks using the ML library PyTorch. This included building an RNN class and addressing the vanishing gradients problem with an LSTM class and a GRU class. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Vw1N4lSMqny2" + }, + "outputs": [], + "source": [ + "class RNN(nn.Module):\n", + " def __init__(self, input_size, hidden_size, num_layers, num_classes):\n", + " super(RNN, self).__init__()\n", + " self.num_layers = num_layers\n", + " self.hidden_size = hidden_size\n", + " self.rnn = nn.RNN(input_size, hidden_size, num_layers, batch_first = True)\n", + " self.fc = nn.Linear(hidden_size, num_classes)\n", + "\n", + " def forward(self,x):\n", + " h0 = torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(device)\n", + "\n", + " out, _ = self.rnn(x,h0)\n", + " out = out[:, -1, :]\n", + " out = self.fc(out)\n", + "\n", + " return out\n", + "\n", + "class GRU(nn.Module):\n", + " def __init__(self, input_size, hidden_size, num_layers, num_classes):\n", + " super(GRU, self).__init__()\n", + " self.num_layers = num_layers\n", + " self.hidden_size = hidden_size\n", + " self.gru = nn.GRU(input_size, hidden_size, num_layers, batch_first = True)\n", + " self.fc = nn.Linear(hidden_size, num_classes)\n", + "\n", + " def forward(self,x):\n", + " h0 = torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(device)\n", + "\n", + " out, _ = self.gru(x,h0)\n", + " out = out[:, -1, :]\n", + " out = self.fc(out)\n", + "\n", + " return out\n", + "\n", + "class LSTM(nn.Module):\n", + " def __init__(self, input_size, hidden_size, num_layers, num_classes):\n", + " super(LSTM, self).__init__()\n", + " self.num_layers = num_layers\n", + " self.hidden_size = hidden_size\n", + " self.lstm = nn.LSTM(input_size, hidden_size, num_layers, batch_first = True)\n", + " self.fc = nn.Linear(hidden_size, num_classes)\n", + "\n", + " def forward(self,x):\n", + " h0 = torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(device)\n", + " c0 = torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(device)\n", + "\n", + "\n", + " out, _ = self.lstm(x,(h0,c0))\n", + " out = out[:, -1, :]\n", + " out = self.fc(out)\n", + "\n", + " return out" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then, we built a function to train the model, using the cross entropy loss function and the Adam optimiser." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Train the model\n", + "#loss and optimiser\n", + "\n", + "def run(model,train_loader,test_loader):\n", + " losses = []\n", + " criterion = nn.CrossEntropyLoss()\n", + " optimiser = torch.optim.Adam(model.parameters(),lr = learning_rate)\n", + "\n", + "\n", + " n_total_steps = len(train_loader)\n", + "\n", + " for epoch in range(num_epochs):\n", + " for i, (descriptions_l, genres_l) in enumerate(train_loader):\n", + " descriptions_l = descriptions_l.reshape(-1, sequence_length, input_size).to(device)\n", + " genres_l = genres_l.to(device)\n", + " genres_l = genres_l.long()\n", + "\n", + " outputs = model(descriptions_l)\n", + " loss = criterion(outputs, genres_l)\n", + "\n", + " optimiser.zero_grad()\n", + " loss.backward()\n", + " optimiser.step()\n", + "\n", + " if (i+1) % 200 == 0:\n", + " print(f'Epoch [{epoch+1}/{num_epochs}], Step [{i+1}/{n_total_steps}], Loss: {loss.item():.4f}')\n", + " losses.append(loss.item())\n", + "\n", + " with torch.no_grad():\n", + " n_correct = 0\n", + " n_samples = 0\n", + " corrects = np.zeros(28)\n", + " totals = np.zeros(28)\n", + " guesses = np.zeros(28)\n", + " for descriptions_l, genres_l in test_loader:\n", + " descriptions_l = descriptions_l.reshape(-1,sequence_length, input_size).to(device)\n", + " genres_l = genres_l.to(device)\n", + " outputs = model(descriptions_l)\n", + "\n", + " _, predicted = torch.max(outputs.data, -1)\n", + " n_samples += genres_l.size(0)\n", + " elements_equal = (predicted == genres_l)\n", + " n_correct += elements_equal.sum().item()\n", + " for i in range(28):\n", + " i_tensor = torch.tensor(np.full(len(genres_l),i), device = device)\n", + " corrects[i]+= (elements_equal * (genres_l == i_tensor)).sum().item()\n", + " totals[i] += (genres_l == i_tensor).sum().item()\n", + " guesses[i] += (predicted == i_tensor).sum().item()\n", + " acc = 100.0*n_correct/n_samples\n", + " accuracies = np.divide(corrects[1:],totals[1:])\n", + " print(f'Accuracy of the network on the test descriptions:{acc}%')\n", + " #print(totals)\n", + " #print(guesses)\n", + " #print(accuracies)\n", + " #plt.bar(range(27),totals[1:])\n", + " #plt.show()\n", + " plt.barh(labels,guesses[1:])\n", + " plt.xlabel('Number of guesses')\n", + " plt.title('Guesses for the different genres by the model')\n", + "\n", + " plt.show()\n", + " plt.barh(labels,accuracies)\n", + " plt.xlabel('Percentage accuracy')\n", + " plt.title('Accuracies for the different genres')\n", + " #plt.plot(losses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lastly, we evaluated the model’s accuracy and found that the unbalanced dataset meant that the model could classify dramas and documentaries well but not other genres." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "run(RNN(input_size, hidden_size, num_layers, num_classes).to(device),train_loader,test_loader)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "run(GRU(input_size, hidden_size, num_layers, num_classes).to(device),train_loader,test_loader)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "run(LSTM(input_size, hidden_size, num_layers, num_classes).to(device),train_loader,test_loader)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "RNN with GRUs model accuracy." + ] + }, + { + "attachments": { + "cb973846-5576-4ba8-ab01-ae5b80f471c2.png": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAawAAAEWCAYAAAA6maO/AAAABHNCSVQICAgIfAhkiAAAIABJREFUeJzt3XecVNX5x/EPVRQRCxtjbGs3iIgCVkjQGEPUWGLXqKjRn2mWqFFjYojR2JKYBCuiosYWbDGaWBHdYKEvRUUjYowhCioqooDA74/vubl3hpmdO8tO5ft+vfa1M3duOTMs++w59znPATMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM6syA4GZJTjv94B3gAXAeiU4fyOwHOhYgnMTzr1leHw98PPEa9nvbQ/gtfD8oBK1x8ysTY0BPgBWq3A7Kq0T8CmwQxueczawd+J5I+ULWEm53ttTwOklakchI4GLK3RtK5H2lW6A1b1G1FtZDhxQ5muX6pd2a60PdAFmtOLYdlT3/9dc721TWvdeofr+7VZGPb0Xs7p2ITAW+B3wcNZrGwP3A3OB94CrE6+dDLwMfAy8BOwUtmf/hT+S+C/pQcC/gXOB/wK3A+uE685FvbyHgY0Sx68L3AL8J7z+YNa5Il8C7gvneQM4LfHazsAE4CM0JPa7FT8GtgY+Ce1fAIwO23cHxgMfhu+7J44ZA1yCPr9PWbFnczuwLLy2APgJcQ/reOBfwDzggsQx7YHzgNfRZ/7n8Bnkcw4wB30+J5L5+Y9En32u9/Z6VttWA7oDN4XzvR2O7RDONSS8z6tCuy4Ox/wmvI930BDk6mH/Qejf5yzg3XDOE8JrpwBLgMXh2n/N8972QcO+HwLXAs8A3028fiL6GfwAeAwF4Mhy4FQ05DkfuAb9UdGa99ID/VzOB94HmqjuP07M6tY/ge8DfdEvkfXD9g5AM/pP3RX9dT4gvHYY+oXWH/0S2JL4l0WhgPU5cDn6BbE6updyCLAG0A0YRRyUAB4B7kGBrRPw1cS5ooDVHpiIgm9nYHNgFvCN8PrzwLHh8ZrArnk+i0Yyh+vWRb8Mjw3bjgrPo3tbY9AvuO3C651ynHM2uYcEbwzvfwdgEfDl8PrpwAsoaK8G3ADclae9g9Ev117o3+hOcgesXO8tV9seCNfrCnwBGAf8X3htCPq3+1E4x+roZ+Mh9Dl1Q4Hn0rD/oLD/Rehz2RdYiP4ds9uWSw/0B8a3w/VORz+fUcA6EP3sfjm8/jPgucTxy1GQWRvYBP0hM7iV7+VSFMA6ha+BxMHPzMpkAPol0CM8fwU4MzzeDf0nzzVc8hj5730UCliLUfDLpw8KCgAboF7AOjn2G0QcsHZBgSPpfNQzA3gW+CXx+8ynkcxf6seiX9pJz6NfeKCAdVGBc84md8BK9iLHAUeGxy8DX0u8tgH6N8r173AzcFni+da0PmCtjwLn6onXjwKeDo+HkPkZt0O9ti0S23ZDvVvQv8+nWdd7l/iPhWTbcjkOfdbJ671FHLD+DpyUeL09CojJP5wGJF7/M+q5tua9XAT8hdz3Bi3B3U4rpeOBx9GwFOgv9OPD442BN9Ffotk2RkNKrTEX+CzxfA30V/2b6C/qZ9FfxR3Cdd4nDmD5bIqGBOcnvn5K3Fs8Cf0yfwUN6+2fsq1fCu1KehPYMPH8rZTnyvbfxOOFqOcHei8PEL+Pl4GlxO8lu33J62e3tRibot7DnMS1b0A9rUjyWg3o325iYv9Hw/bIe2T+/CTfZyHZ7205mUPAmwJ/SFz7fRR4kv82+T7jYt/Llag39zjquZ+H5eSbgVYqqwOHo8AQ/cdeDQWLHdB/6E3Qz2B20HqLzL9Gkxai//yRL5L5i2Z51v5nAdugXtJ/UQ9rMvFf1OuGNs1v4b28hf4a3irP66+h3kJ7NMR0LxrW+6SFc4LuC22atW0T9Msskv1+shV6Pdtb6N7M2BT7zkFBPbJJkdfKvu4i1AvN9UcKZL6XeagHtR0aHi5Woc9lDpm90HZZz99C9w/vaMW1s69f6L18jH5Oz0LDr6PRHz5PtfLadcs9LCuVg9Bf7j1RkOiD7gc0oeGYceiXxmXE97D2CMeOAM5G972y72FNAY5GgXAw8T2nfLqhXxbzUXD6ReK1OWjo51rie1hfyXGOceiXyrkoEHdAv1j6h9e/g/5aXkYc+JYVaBfA31DP7GgUuI9An1d2ckpL3kH31NK6Hv0ijj7PBnS/Jpc/o+GtnuiPhF/k2S+NOagH8VtgLfS7Zwvy//stQ/fhriLuhW1IfN+wkEKfyyPA9ujntCPwA/THT+R6NOy7XXjeHd1bbY1C72V/9DPeDiWALCXdz88qxwHLSuV4dI/nX6hnE31dDRyD/nN+C/1H/RfqJR0Rjh2FfqneiQLFg8SZbKeH4+aH8yQTKHL5PQoy81CywaNZrx+L7uG8gu6BnJHjHEvRL5U+qKc1DwXV7uH1wSh9ewEaRjoSBclC3gvnPSs8/kl4Pq+lg7JcihIC5qMgX8gf0M3/x9Fn+wLqfebyd/T5jUZDVqPz7JfWcShp5SU0DHsvuoeWz7nhui+g4dwnUW85jZtQoJ1P7p+ReSgAXYE++54o03NReP0BlLxzd7j2dOCbKa+dS0vvZavwfAG6r3Yt8b09MzOzDO3REO2elW6ImZlZtm+g+5eroV7qHDKzGM3MzKrCUDQc+DHwIvmHRs3MzMzMzMzqjMt/lNB66623vLGxsdLNMDOrKRMnTpxH5iRxwBOHS6qxsZEJEyZUuhlmZjWlXbt2OauqeB6WmZnVBAcsMzOrCQ5YZmZWExywzMysJjhgmZlZTXDAMjOzmuCAZWZmNcEBy8zMaoIDlpmZ1QQHrOK5OoiZWQWsSgHrMOB34fHpwKzweHNgbHh8ITAerS46nLjW4hi08uqEcKyZmZXZqhSwmoCB4fFAtA7OhuHxs2H71UB/oBdayG3/xPGdgX7Abwtc5xQU2CbMnTu3TRpuZmarVsD6L7Am0A3YGLgT+AoKWE1hnz3RQm7TgL2A7RLH35PyOsNRYOvX0LBCsWEzM2ulVSlgATwHnADMJO5x7YaGBLsA1wKHAtsDN4ZtkU/K2lIzM8uwqgWsJuBsNAQ4GfWoFgEfEgeneagndmglGmhmZrmtahlvTWg4cAmwFHgLeCW8Nh/1qqaj4cPxWcduEF7rVZaWmplZhlUtYL1O5irL+2S9/rPwlW0Q0FiaJpmZWRrVPiS4ALgSmAE8CeyMUsxnAQeEfYag7L7IwyjAdABGol7RNODM8PpI4uG+/ui+VjMwDiVkNKKe2KTwtXtbviEzM2udau9hdQVGA+cADwAXA18HegK3Ag+1cGwflLYeDeGtnfV6Z5T5dwQa/lsL+BR4N1zjM2Ar4C6U9WdmZhVU7QFrMfBoeDwNJUgsCY8bCxw7C00KHgY8Ajye9fo2wBzie1Ufhe9dUY+tD7rPtXWRbT4lfOF5WGZmbafahwSXAMvD42UoYEWPo2D7OZnvI8r2+wDYAQ0hngqMSHnNM4F3wrH9UE+sGJ6HZWZWAtUesNKYjXpD7VEG4M5he4+w7T6USLFT1nEzUeZf//C8GwqC3VHPaxlwLLoXZmZmFVbtQ4JpjAXeAF4CXkaJEqD7V7cQB+Xzs45bjO5fDUNlmD4F9kaTh+8DjkPDkZ4wbGZWBdoV3qUuzEbDdPPKedG+ffsunzBhQjkvaWZW89q1azeRHMlu9TAkaGZmq4BSBKyTgFfRvKYbiedIfQsVlp2M5lStH7YPRSnqTcCbwLeBK1Am4KNAp7BfX+AZYCLwGLr/lK0ryghsRvOvjki89iM0XDgN2DZsWxd4EJgKvAD0DtunoTT4dqiq+3Fh+20o5d3MzMqsrQPWl4CfA7sCexAHBoB/hO07AncDP0m8tgWqjn4A8CfgaVSA9lNgPxS0hqEJv32Bm4FLclx/MPAflOHXizglHjQcuBNwHaonCPBLFEB7Az9FAQl0X2wPVK19FvGyJLuhicYt8fIiZmYl0NZJFzujXtD74fko4nlMG6GJuhugVPE3Esf9nXh+VQcy5141ojlTvYAnwvYOKJMv2zS0XtXlqOJFU+K1+8P3iagXBzAAOCQ8Hg2shyYQN6GlR95EAe4UlMTxAYWTMIaHLxoaGpYX2NfMzFIq5z2sYWh4cHvg/8hcuiM5vyp77lVHNDQ3A6Wv9wnn2AelsU8JX6eiocidUOC6GK0gnH2NpRQO1M+iXtVANI9rLurdNbVwjJmZlVBbB6zxwFeBdVBQOCTxWnfg7fD4+CLPOxNoQENyoCHC7VC19SiIXY+GJBeiYcUrWXHuVbYm4JjweBAaNvwonLcHKs00Cw1nRsuSmJlZBbT1kODbwK9RwsX7aOmOD8NrQ9EQ4Qdo+G2zIs67GPVw/ogCX0fg96jXlbQ9ClRRT+17Bc47FN0Pm4oCXTKQvkg8abgJuBQFLjMzq4BSzMNaE1VZ74gK1t4cvhejAxq6q2meh2VmVrxyzsMaiu4pTUeJFQ+mPG4BSphoRkN/Pw7nmA6cEfZpRL22keh+1R2oOsVY4DXiskw7A8+jDMDnUNIGaCmS+1FSx2sofT4yGKW9NwNPhW1dUcAdF851YMr3YmZmbawUpZnOLrxLTl3RMNxZKHX9BGAX1At8EWUffgBsCRwGnIjumR2Nsv0OQKnpB6GgNhAVxt0bDVNG99P6oNT6Reje2DC0lMiNKDPwDTQ/C+ACNHx5IpqXNQ7NIWspU9DV2s3MSqCaagkuRTX8QAHoAeLAcD8KQA+hgDItbJ+BekPLyVxypDuajLxVeC2afEzYP7qv9hKwKUoSeZY41T5Ky98HBcIoCHcBNkE1C/NxWruZWQlUU8D6jHT3rRYlHudbcuRXaPLxwSiIjclzfKEU93aoZzYzRbvMzKyEqrWWYBMa2lsDDRUeTHFzoJIp9ENS7P8CGg6MMhejIcHHUEmnKDllxyLaYGZmbahaA9YklFgxDt2/GoGSHtK6AqWhTyZdL3Iuuu90P0q6uCds/xUaTpyKhh9/VUQbzMysDZV7eZEFKO0920XoHtKT5W3O/+Rr10pxWruZWfHypbVXyz2sCwvvkkpHlBloZmZ1phJDglcRZ/c1hG0jUSULgK+hobxpaA7UamH7vihdfSKqePFw2D4UuB3NxbodJVk0oWHFScDuYb9BqBf3CEqiuJ7M938JGg58AS190g1lDUYZhmtlPTczszIqd8Dqipbe2A7Nq/pF1utdUPA6ApVZ6ojKK3UBbgC+ieZoNWQd1xPNtzoKeBetWbVTOM8fE/vtjJIoeqIlTaKq7V1RoNoBBbWTgY9RduF+YZ8j0T2uJQXeo5cXMTMrgXIHrGXECQ1/QvOtkrZBvZhXw/NbUfbetqgIbTRP6q6s4x5Ca2eBekA3oh7aKBScIuPCeZaGc0TXX0zcY5tIPJ9rBJrATPh+S8F3qDlY/YB+DQ3ZcdXMzFqr0vew2mpibbLyxJnAO6i31B7N78p3veh5ckmT5NyssSh4DUL1Dae3UXvNzKxI5e5htSe+V3U0K1Y/n4kCxJbh+bFo6HAmsDlxz+eIFq7RHS3uuCwc3yHx2s5orlX7cI401ddvA+4kXe/KzMxKpNwB6xMUNKYDe6F09qTP0NDbKDSktwwlR3wKfB8VrZ2I7i99SG7XomVCmtFQYrL3NR4tIvkyGl5MU0X+DlS6KXsY0szMyqjc87BWRrRsSTvgGlRt/aoijh+EagLuX+R1D0VV2o8t8jjPwzIza4VyLi9SKiejZUtmoGG/G/Lst4AVU9QJx/RFvazxwB5h+zRUib0d8B5wXNh+G1oa5XfoftgUVPFiq7Z6Q2Zmll4tBayr0NIgPdGy9gvz7JcrRR10z+owoD8qaDsibB+Lgtd2KINwYNi+W7jOX4DLw7X7Af8u0E6ntZuZlUClswRLITtF/evh8d5kprivhYYZm1Dq/JvAdSjgbIjW3voELQR5AbARmof1WoHre3kRM7MSqKUeVlr5UtTbA7uinlIfFJQWoF7YwPA1BhXCPZS4OvydaE2sT4G/oWQRMzMrs3oMWPk8jqpcRPqE728BPdC9qVko1f1sFMhA6fSzUMWMvwC9y9FYMzPLVGsBa0Ge7acSJ0vkMgjVGeyHEideCsdEXiSurtGEel/RHK3DURr+FKAXSsYwM7Myq6W0dmj9MiBDw7G/KeKYla787rR2M7Pi1UNaeyRXyvpQNIwHcBrqQU0F7kbVMU5FJZumoHtVjcDosM9TwCbh2JFoovKLaBHI14gL7bYH/smKhXfNzKwMai1g5UtZTzoPLWXfGwWq2SgIRWnxTcAwVFi3N6pkkazovhFakuTHqEDvMWH73ihQFspVd1q7mVkJ1FrAyldVPWkqCkLfIf+Q3m4o+w90bytZNX4Uyi4ErccV3Rs7EVdrNzOrmFoLWPlS1pP2Q6WbdkIVLYqda5asPfgWqvy+F6qB+Pciz2VmZm2k1gJWIe2BjYGngXNROaY1UbHcbon9nkMLMoKG/JrIbwQaGkz2vMzMrMzqLWB1QMFlGjAZ3ZuaD/wVOJg46eJHqCr8VFTU9vQWzvkQCnpeXsTMrIJqLa29tRpRIsWdBfbLpR9K2BhYaMdsTms3MytePaW1t0YjWjCyGB1RxuF9wPlt3SAzMytOtQasBcCVaCmRJ1HCwxhUIumAsM+zxOWVQJUpdgC+iob+pqBhwW7AZaiHNAXNx+oQzj8eDQv+XzjHIHQ/6yE0l2sN1LuKql5cQsvDh2ZmViLVGrC6oom926GEiYtR1fWDiVcpvgkYEh5vDXRB86TOBn6AgtlAVLT2PBSI+qAAdBJasbh/+DoZ2CycaycUlLYmM629PUrU+FOBtnselplZCVRrwFoMPBoeTwOeQSnt04jnXo1Cqwd3QnOkRobtY9Gii6ehhRlzzcXaBwWiKaiqxXrECzOOA94Ij2ejRR13DMdMDs9b4nlYZmYlUK3rYSXnWy0DFiUeR21eCDyBlq8/HK0mDBr+ewTYFwWvb+Q4fzuUKfhY1vZBZM7DAqW1DwG+iHpcZmZWAdXaw0prBEpdH48WXATYAvXELg/bt2XFeViPAd9DvTPQ8F/XPNd4ABiMhg6zA5yZmZVJtfaw0tocDedtm9h2BrAn6o3NQNUplqFJv81o6PAPaGhxEuptzUVrXX0hnGMkKgF1LxqefBrN5/LEYTOzCqn1eVhPox5VIwpKbWUkccBqjwLbYah6e2qeh2VmVrx6nId1H0ph74CG/xpRJuCk8LV72G8QStr4C0qLvwyVYxqHhg63CPsNJV6iJHICGk58CgWrr6MhQjMzK7NaDliHoLlYBwLnAO+igLITcASZS4bsgJYa+TIqxbQ1mts1AiVf5DMSFcC9LDw/gcKJF05rNzMrgVoOWNk6ATeiXtMooGfitfHAHJRt+DrweNieTJPPZTlafuQ7KEV+NwpXbHdau5lZCdR60kXSmWgpkB1QIP4s8dqixON8afL53IKK536GAmG+NbbMzKyE6ilgdQf+jYLQ8ejeVlv4T/j6GVp12MzMKqCehgSvRYGqGaW5JycAr0echNEad6B7WS+vxDnMzGwl1Hpae1pDUUHd3xRxTEfi4b+rUVmmm4q5qNPazcyKV2tp7YeheoCgQrSzwuPNUbklUCmmZ4CJqALFBmH7aajS+lTgbpRUcSq6xxUt4NiA0uLHh689wrFDUZLF2PB9KDAPJV1cEM5tZmYVUK33sJqAn4THA1HB2Q3D42dRRuAwlNI+F6WxX4KK4J6HKq8vQpl984Hryexh3Um8bMgmKOB9ObzWExiAqrwPBV5FlTO6ATOB61CtQzMzK6NqDVj/RcvSdwM2RgHmKyhg3Q9sA/RCxW9BCRZzwuOp6J7Tg+Erl73JTHtfK1wPtBbWp4nXHkHBbxGa67U+Su7I55TwhedhmZm1nWoNWADPoYm6M1GP60Q0D+os1CuaEZ5n2w8Ft2+hYbztc+zTHtiVzNT3SHa19mRK/FIKf2bDwxcNDQ3LC+xrZmYpVes9LFCQOhsNAU5Gw3KL0MKLM9F9qChgdUKLPbZHPbKngXNRqvuarFit/XEyK1wkVy42M7MqVO0Ba2MUsJaitPJoqfrFwKGohmAzSqbYHQ0N/glVsJiMyjPNRxN/DyZOujgNZaBMRQkap5bjDZmZWetVMq39p8CvU+w3GwWXNVEF9V6tuNZQik9rX2lOazczK141prX/tILXNjOzGlOpgHUZsDoaorsjbHsQzamaQciya8HmaMivf47XsudhRXoCY9CcruR8qh8D08PXGWHbOYl9rgJGh8d7JdprZmZlVKkswfOAH5KZ7HAi8D4KZOPRxN73chy7DQpEQ9D9q1znTs7DimzLivOpeqNMxF3Q8OiLaDJyE8pG/CPqlq6GEjuieWAtcVq7mVkJVFPSxWkoAL2Aki22yrFPA1qI8RhyByuI52F9h8zK6tF8qnnE86kGoAUZP0H3uO5HQWkiqqSxVjjmeRS4BqJg1hIvL2JmVgLVErAGocm8u6HlQSYDXXLs9yHwLxRoIregocW/hef7AdeghRzHE/cii5lPtQR4A/XinkNBak9gS1wA18ysIioZsJagYTbQfKkPgIVo6G7XPMcsRunpxwFHh20noKHFfck/DyufJuAgYA2gazh3U+K1aB5YE0p9n4wWdTQzszKrZMAaTjx89yjq8byJEiNeaOG4T4D9UTHbA7JeyzUPC3InZwBMAkYC49D9qxHhOFCQ2gANB76DqmIUGg40M7MSqbblRQahXs3+bXjORlo3f6sDGjpsNc/DMjMrXjXMw7oOmIDS1n+Z2D4YeAX1dr6daNdsMrP8XkOJEi0tDXIzK6auXwZsge5zXYmC4sOJ816N7lURrnl5aMthwD6ohzUJGEXLw4tmZlZC5QxYF6CI2Rv4avjeBbgRFartC3wx7LsMZQMeHJ7vgoYL3wH+gOZG9QcOQcN4kW2BbwA7A79A98jOA15H97nOSdHO91DCxpPAz1AyyE4o2P44xfGnhH0nOK3dzKztlHMe1uHol3lHdG+oJwqYb6DeE+j+UzRp+B7gQpQFeGR4Di0vDZJrKZBiRdfZNVwnWjCyM+ptFeJq7WZmJVCugLUZujfVH2UDjiR32nrS8yiNvAFl8l0ctre0NEia1PXPyexZZrcjWl6kHVpv66gC7TQzszIo15DgWigQfIh6Pd8M219BSRFbhOfJ4LAcTer9HZr7FFW9KHZpkOylRd5EPafV0D2yr+U57gV0f2zL8LwrsHWBa5mZWYmUK2A1o3TxV9DqwdEw22doCPARlNjwbtZx96CKFfckthW7NMh74XrTUdLFW8Cfw/M/E6exZ5uLkjHuCtd6Ht0jMzOzCqi2tPZqcRGaMPzkypzEae1mZsXLl9ZeqeK31e7CSjfAzMwyVUstwZWxAA31zUA9op2J52JFlTCGoPlWkYfRfKwOKAFkOqqOcWZ4fSRa0RiUKPIcGtYcR+b9MDMzK5N66GF1RetVnYOSNC4Gvo4SK24FHmrh2D7AhsRVMNbOer0zun92BJqkvBbwaYH2eHkRM7MSqIeAtRjVIgT1khahwrrTUAZiS2ahxSCHocSPx7Ne3waYg4IVwEcp2uN5WGZmJVAPQ4JLiCuoLyOei7WMOCDnm3v1AVrOZAzKNkxWzTAzsypSDwErjdlo+C9afmTnsL1H2HYfKsO0U9ZxM1FVjqjaezfqo1dqZlZzVpVfvmNRCaiX0CTkSWH7hqgc1MYoqJ2fddzmqAc3Bi0cuREKYAtK3WAzM8vkeVgtOw8F9YsL7ZiL52GZmRWvGpYXKad86epbotT3ZtTL2gIlZkzPcY59gTOA76EVjME9KzOziqnXIcF86ep3oPWxHkCJF+2BL+Q5x9+A61GQ+k0R13Zau5lZCdRrDyuZrj4YpaN3Q0HsgbDPZ8DCElx7OOrK9mtoaCjB6c3MVk31GrBam65+C1qZ+G+laZaZmbVWvQ4J9kATiu9Dqel/QsuM/ButrfUgWl6kQ9ZxJ5SxjWZmVoR6DVgbot5S1INsj4bpjgVuQNXYlwCHoQnGhTQCu7d5K83MLLV6DVjNZE4CHhO+vwbslWP/Xjm2AQxFn9EA4GhgzbZpnpmZFave7mHlS2cH9abGAa8CA8O2LqgnNg0t5Lhn2D4EFc0dDTyFMgsHovtbyXOamVmZ1FsPq6Xq6x1RSaZ9gV8AewM/QHUIt0erCT8ObB323wnoDbyPliI5G9g/RRuc1m5mVgL11sPKlc4euT98n0hcxX0ASsgAeAV4kzhgPYGCVbGc1m5mVgL1FrBaSmePqrgvJV3P8pM2bZmZma2UegtYhaqvZ2sCjgmPtwY2QWnw2T7GKw2bmVVUvQWsDVHvagoa6suuvp7tWvQZTEMrCw8h7oklTUU9s2acdGFmVhG1UK39MDRv6r/EWXzFOAPdVypFGaYWuVq7mVnxarla+0nAybQuWIEC1hpt1xwzM6uEag9YF6JMvpuAK1F2XxNaGmQScfWJQWgo8F6U7XcH6j2eBnwJLQ8SLRFyHTABmAH8MnGty9ACj1NRdfZuaNHHTuH1tbKem5lZGVX7PKyLUGWKs1GQWQP4Oqq0vhVwF3G3cUdgO+A/aIXhPYA/Aj9GvbN5Yb8LULp6BzQpuDfwNnAwmou1HM3f+hgFwf1Q7cEjUWr8kgJt9jwsM7MSqPYeVrZOwI0oSWIU0DPx2jhU3HYZSrpozHOOw1HvbDIKcD2BD1EQvAn4NvH9rhHEBXFPQFUxCvE8LDOzEqi1gHUm8A6aa9UP6Jx4LZndl2+u1Waot/Y11LN6BJVn+hxVwbgXVbN4NOw/FgW+QahHlmtlYjMzK4NaC1jdgTmoF3UsKy4PkktyDtVaaELwh8D6wDfD9jXDuf+GguIOieNvA+4kXe/KzMxKpNYC1rXA8Wg+1Lakq0YxHPWYxqN5WpNRYsbjQHSTqRvwMEq4+Ae67xW5A1gH3S8zM7MKqYV5WG1lCBpG/GGRxx0KHIh6dEXxPCwzs+LV8jysluRLUe8PPId6YuPQcN9FwBEoIeMIFMCuDvs3oqVEpqLMwU3C9pdR4sV2qLDuoaV6I2Zm1rJaD1gXoCjcG/hq+N4ZlVk6Hd1DwIw6AAAWsUlEQVSL2hsNHV4YtvcJ35OGAbeG4+9A6fAAL6Kq7f1QMsZlKdp0CgqiE5zWbmbWdqp9HlYhh6MA0RHYAKWoL0eJGePDPh/lPjTDbiidHeB24IrEaw+iJI+XUKJGIcPDFw0NDctT7G9mZinUcsCKUtT7o2VFRqIU9baWTJdfle75mZlVlVoeEsyXoj4T9bb6h+fdUGBuaYmQ51AlC9ByI00laK+Zma2Eag9YBwDn5XmtmThF/U40yRdgMUqqGBb2eQL1vLYBehEnXZxJPPH4R6iSxVSUDXh6G78PMzNbSavSENdslDwxr8B+bcZp7WZmxauWtPZ8aeizw/NJqE7gtmH7EOLU85Hh+BdQivkg4GaUej6ywDVyVW2fjVYoBk0Unh6+zgjbGsO5bwznehxYvah3a2ZmbabcAStXGnpkHlrS/jqUTJHLOiij70zgIeAqNEdqe5Sunu8af0RV3PdkxXW1+qLhwF2AXdHaWzuG17YCrgnXmA8cUtzbNTOztlLugJWrUnrk/vB9Ivkrrf8Vpa1PQ0Vwp6GU8xmJY1q6Ri4DgAdQAseC0I6B4bU30D2vQu1K8jwsM7MSKGdae6E09Ch9PF+l9eQ+y8hMN18WjmnrVPfsCvBphgQ9D8vMrATK2cPKl4ZermvkS2tvAg5Ci0N2RQs5Oq3dzKzKlLOHlUxDf4s4Db1c14iqtkf3siKTUE9sXHg+IpyjsQTtMzOzVlqV0tpXRh+UZfi3Yg5yWruZWfGqJa29FnVEAWvfSjfEzGxVVsu1BHPpANyEIvNyNE/rKmAMGi78KnrPJ6IhwHXDPpsDC1GG31RgKLBF2P4vYA+UcDEAuJQVq72bmVmJ1VvA6oNWFe4Vnq+deG2N8PpXUJDqhSYWT0ZJF3sBtxHP5+qJAtSnFLf44ynhC6e1m5m1nXobEpyFekXDgMFkLi0SLXH/LMomXBsFpNvD9tHAeuE10MTkT1vRhuEouPVraGhoxeFmZpZLvQWsD9CijWOAU1HGXyR7TlShOVKftF2zzMxsZdVbwOqB3tN9wM9QqafIEeH7ADRP60M03+qYsH0QKg+Va8HHlpYmMTOzMqj1e1gLgDUTzzcEbiEOxOcnXvsM3a/qhJIuQMkVN6NEi4XA8Xmu8zRa5mQKTrowM6uIWg9Y2ZrJ7FUl/Ym4Ejvovb+PEi6i55+Hx0Ozjn2feEHIevvMzMxqQj388r0E2B8lSByIiuI2op5TD2AusFrYdyTqae2IqmCsm/X8NuB6lFH4OuqJfYDuiU1Bw4l3Ab8t8XsyM7MstX4PqytaH2sHlP13ctg+DLgVLS1yBwpiUcmJjYDd0RpY2c9vA84Nx00DfpG4VmeU/VcoWLlau5lZCdR6wFoMPBweJ5f/2A24Mzy+HfWMIqNQ5fXs591RqvszYfutaM5WJO19K6e1m5mVQK0HrCXE6ektLUuSlJ2unjZ93WnuZmYVVOsBK5/ngCPD42NIt1zIh+h+VbR447HEvS0zM6uweki6yOVHKL39HJR0cULK444nTrqYVcRxZmZWYvWyvMgYtNLwBLQEyNFh+9HAtUWe6wx0H2rhyjbKy4uYmRWvlpYX6bCSx+8LzEcJFN9vxfFnoB6WmZlVkWoJWAtQungzyvD7Dlr+YwpwA3EQuw71omagSuu5zEbzry5DS4RMAa5EKesHJfa7A83bSjoNLdT4dPg6NRwbGQJcXdxbMzOztlAtAasr8CKaT/Ueqvu3B1rqYylxvb8LUDexN1rbqncL5zwPTf7tg+5l3YQCDiiFfXfgkaxj/gj8B9gzfN0HHJx4/Qjg7gLvxfOwzMxKoFqSLpai4ADwNaAvMD48Xx14Nzw+HAWEjsAGaM2qqSmv8Qy6n9UAHBKu93mLRyhhYxawK/AasC2qiNGS4eGLhoaGQhXhzcwspWoJWJ8RT+Zthybtnp+1z2YosaI/Sj8fCXQp8jq3oeHGI4kzAB8D1ke9ou/mOOZuFChfAR6g8LIkZmZWAtUyJJj0FHAo8IXwfF1gU7Sw4idovtT6wDcLnCfXkiAjiQvgvhS+fwMNG0bBKvu4B9C9rqMoPBxoZmYlUi09rKSX0FpWj6OAugT4AaoZOBn1dN6i8NDce2Gf6cDfUWml44CXgQdbOG448CjxvawPwjE9USKImZlVQL3MwyokWjpkDVTUdifUUyspz8MyMytevnlY1djDao3BwK9R+vs8lLgxFKW1bw78C92j+hXwU+BMdE9sc2CT8HxXNMz4NvAt1LPrC/wOLRI5D2UZzinLOzIzswzVeA+rWA3AjSjzbwfgsMRrPYG90f2nicBo4PfhtS2AvYAD0OKOTwPbo3W19kMrEw9D99P6ovW1LknRHqe1m5mVQD30sHZFa2G9EZ6/n3jtIRSAcvk76kVNQz2zR8P2aWiZkm2AXsATYXsH0vWunNZuZlYC9RCwWtLSkiCLwvdlZC5Tsgx9Lu1QRY3dStY6MzNLrR6GBF9ACy1uFp6v20bnnYmGG6OA1QnYro3ObWZmRaqHgDUX3Te6H9UiTLsycD5rA2eh1YwPBS4P552CyjmZmVkFrCpp7cVoBB5G969WitPazcyKV0vLi0QGA5NQ7+apsG1dNOl3KhoKjIrfDkXlnJqAN4FvA1egBIpH0XAeKNvvGZQx+BiqRxhtbw5fP0i04VlUBSPyD5SJaGZmZVatAStfqvovUbWL3mg+1W2JY1YmTf0WtEpxdjBKVnjfGtUubC7Qdqe1m5mVQLUGrHyp6gOA28Pj0cB6qMYgFJemPgWVf9oI3bNaO1yPxPkBRgH7o2B3IqpFWMhw1JXt19DQkGJ3MzNLo57S2lubpr52C+dciALcgahie9+2aqyZmRWnWntY+VLVm4gXcxyEyiV9lPKc+dLU54evAWH7MVnHjUALO45HhXDNzKwCqrWHlUxVb48WcPw6Sq64GSVdLASOL+KcUZr6H9GKwx1RmaYZaG2sm1Gv7PGs4yaioHhLq96JmZm1iZVJax+C7tX8sG2aUlIHAa8Sr4FVjC8BY9Bqw8uKObDzF7dcvsHxvy+8o5lZBc2+bL9KNyFDLaa1t6WDUCHcYnRE62e9CFxAkcHKzMzaVrEB6wTUUxkH7JHY3oiy9qaiOVObhO3roxV7ozlOu4d9pyeOPRsN9YF6MlehtPCXgf5oWPA14OLEMd8JbZgC3ICyAgEWoFT1ZnQfbP1wzQOAK8P+WwAno3tSzcB9aJ0sUBbg9ShIXQH8HK2dNQp9Vv9E98HMzKzMiglYG6B5UHugBIVkj2UYmrjbG7gD3ScifH8GzW/aCd0vKmQx6gpeD/wFTeTthYYg1wO+DBwR2tEHWEqcKNEVBaodUJr6ycBzqGr7OWH/11EQ7B/2exk4KXH9jVCQ+zGazxWde28U4ApNrvrfPKylC0u+RqSZ2SqjmIC1C+oBzUVBJVmzbzfgzvD4duKMu72A68LjpaRb5feh8H0aCnBzUMr6LGBjtDhjX9RDmhKebx6OWYzKKoGSJRrzXKMXyjichgJSsqjtqNBWUCLGceHxiaRLvPjfPKwOa3RPsbuZmaVRiSzBz8kMlF2yXk/Op1qU2J6cT3UrcH6OcyfnXy0l//sbie5rNaOe26DEa8klSd4C3kGBd2dWTHk3M7MyKSZgvQj8AQ3LfYTKJUVlip4DjkS9q2NQ7wV0P+t7KH28A1pq/h3gC+E8C1AliagqRRpPoaHCq1C6+7pAN1RDMJ+Pwz6Rbqjn1im09+0Wjh2BhgZvJ+55pbL9ht2ZUGXZN2ZmtaqYIcE5KDnieWAsuvcT+RFKyJgKHAucHrafDuyJht4movteS4CLUNLEE8ArRbb5JVRW6fFwvSeIi9jmcze6hzUZJV3cBswO76Ol6y9AQ5TdUHA0M7MKWVWXFxmEshP3L7DfgrDvzcC/UuyfwcuLmJkVb1Wah3UdytKbgbIaI4NRb2oSWn4kMhQFr8h04mSNTijtvQMwECV5nFmCNpuZWQHVWpppZVyAqrt3QPe7eqO5Yzei5Il/kn5V4iXApqTvkYHS2k8B8PIiZmZtpx57WIejXtRklK7eE5VVegNNQF6OkihKxcuLmJmVQL31sDZDPaH+qLL6SFZMm89WKM3ezMyqQL31sNZC86g+RGWZvhm2v4LuS20Rnh+VOGY2qsJB+L4ZK8pOizczszKrxYD108TjRjLrEjajocBXUOWNsWH7Z8CDaH7YJFSS6YvhtVPCeWagyvOv5rjmVDQHqxknXZiZVUQtDgn+FPh1C68PybGtI3Ba+AINFUYlnJahQJUr/3zN8H0JStiAuNCumZmVUa31sC4DVkfp5XeEbR1QBuAMNJl49bB9DKqwMQFNYB5KZvp6LvugidGTUE3BKGDNBi4P2w9b2TdhZmbFq7WAdR7wKaq6HtX12wq4hni5+0MS+3dGGXu/TXHuHqiCxt7oXtYEVLE98l7Yfnfrm29mZq1Vi0OC2d5APS5YsUJ72vlWALuiFPjovldn1Nsq9lyeh2VmVgL1ELCSFd2XEg8JQmbl9ULaobqER+V5Pe25hocvGhoalhfY18zMUqq1IUFQAkSnEpz3BbQo5JbheVdg6xJcx8zMWqEWA9ZwlGZ+R6EdizQXZRjeFc7/PKqQYWZmVaAeqrUPQYkVP6xwO1bQ+YtbLt/g+N9XuhlmZmU1eyXXAVyVqrVH6uH+nJmZBbX6S/0E4HyUxt5MnHgxElW12BFl+92NVknugtLhTwBmol7ZQeg+1VbAb1BW4LHhXPuiiu8no4y/zqjK+7HAwtK+NTMzy6UWe1gboHWu9gAGoFT0pI2A3dEcqlfQOlY7AheSWSGjF1oXqz9wCQpEO6J7V8eFfe4Pr++AVlg+KUX7TkFzuCYsXfhhce/MzMzyqsUe1i6oikU0yekeMrP5RqH0doDuwK2oF7WczOzCp1FR249Rsdy/hu3T0BpaoKB2MbA2qnrxWIr2/S+tvcMa3Z3WbmbWRmqxh1VIcr7Ur1Bg6gV8i8ylQ5Lzt5Ylni8jDuQjUTLH9qhX56VHzMwqpBZ7WC+i+1LrAR+h2n7NefbtDrwdHg9pxbW6AXNQz+yYxLlS2X7D7kxYyWwZMzOTWuxhzUGFbJ9HiRUvt7DvFcClaMmR1gTnn6MAORbdDzMzswqph3lYVatv377LJ0zItWqJmZnlsyrOwzIzszrigGVmZjXBAcvMzGqCA5aZmdUEBywzM6sJDlhmZlYTHLDMzKwmeB5WaX2MqsPXmh7AvEo3ohXc7vJyu8urVtsNxbd9U6ChRG2xPGp11rDbXV5ud3m53eXXJm33kKCZmdUEBywzM6sJHSrdgFXAxEo3oJXc7vJyu8vL7S6/Wm67mZmZmZmZmZmZWa0ajOZb/RM4L8frqwH3hNdfBBrL1rKWFWr3V4BJwOfAoWVsVyGF2v1j4CVgKvAUmtNRDQq1+1RgGjAF+AfQs3xNa1GhdkcOAZaTYx2jCinU7iHAXPR5TwG+W7aWtSzN5304+hmfAdxZpnYVUqjdVxF/1q8C88vXNIt0AF4HNgc6A82s+Ivm+8D14fGRKHhVWpp2NwK9gduonoCVpt17AmuEx9+jdj7vtRKPDwAeLU/TWpSm3QDdgGeBF6iOgJWm3UOAq8vbrILStHsrtIr6OuH5F8rWuvzS/pxEfgTcXOxFnNa+8nZGf1HMAhYDdwMHZu1zIHBreHwv8DUqX2UkTbtno17KsrK2rGVp2v00sDA8fgHYqGytyy9Nuz9KPO6KeiuVlqbdAL8CLgc+K1/TWpS23dUmTbtPBq4BPgjP3y1b6/Ir9vM+Crir2Is4YK28DYG3Es//Hbbl2+dz4ENgvdI3rUVp2l2Nim33ScDfS9qidNK2+wfoL9UrgNPK0K5C0rR7J2Bj4JFyNSqFtJ/3IeiPsnvRe6i0NO3eOnyNRX+QDS5P01pUzP/LTYHNgNHFXsQBy+rZd9Dw1JWVbkgRrgG2AM4FflbhtqTRHvgdcFalG9IKfyUe9n6CeBSk2nVEw4KDUE/lRmDtSjaoSEeiPxCWFnugA9bKe5vMv8w2Ctvy7dMR6A68V/qmtShNu6tR2nbvDVyA7gUtKkO7Cin2874bOKikLUqnULu7Ab2AMWgIeVfgISp/HyvN5/0e8c/GCKBvGdpVSJp2/xt9xkuAN1ACw1ZlaV1+xfx8H0krhgOtbXRE47abEd9s3C5rnx+QmXTx57K1Lr807Y6MpHqSLtK0e0c0rFbp/8RJadqdbO+3qI5ip8X8nIACV6WDFaRr9waJxwej4bVKS9PuwcS9wR5oKK7StxjS/pxsi/6wqfQ9/FXavuivnNfRX/UAF6G/7gG6AKPQTclxKJOmGhRqd3/019wn6K/RGeVuYB6F2v0k8A5xCu1D5W5gHoXa/Qf0GU9BiSMtBYZyKtTupDFUR8CCwu2+FH3ezejz3rbcDcyjULvboWHYl9A0iCPL3cA80vycDAUuK2+zzMzMzMzMzMzMzMzMzMzMzMzMzMzM6slSlHI+HU1TWKPl3UtiELB7Ba5rVnGudGGW3qdAH1TZYTFaDiSNjm3YhkHUV8Bqy8/GzMyCBYnHpwLXoqrqN6MJ4ZOJK1QPQROWRwPPAGsCt6CJnlNR0VWAfYDn0bpjo8J+oGoAvwzbp6FJrY3Af1HJmynAQFQR48Vw7SeB9cPxDag+3gxUduhNVBUBVGNxXDjHDWhpiGwXAuNRb3I4cWWCLcN1mkPbtgjbzw3tbCaeGDqGeBJxj/Ce8n02TyXea7LK93Hh82oGbkeloN4AOoXX18p6bmZmxAGrI/AXtNbWr1EAABUgfRUFsSGoSsi64bXLgd8nzrUO+iX+bNgf9Ev/wvB4NlozCLSe2ojweChwdtZ5omDyXeC34fHVwPnh8WC0VEkP4Muo6Gv0C/5aFBSyrZt4fDsKjKDgeHB43AUNi34TeI54iDQ6dgz5A1bys+lIvBZYD1QRph2q9PEqcaCN9r+FuM7iKYn3bHXO3XGz9FZHvRKAJuAm9Iv6AOIg0gXYJDx+Ang/PN6bzBI6HwD7o0XuxoZtnVFvK3J/+D4R+HaeNm2EFqjcIBz/Rtg+gDiwPEq8dtLXUJHX8Yn3lGs9pT2Bn6AgtC7qqY1BS0Y8EPaJ1r7aGwWRaA2y9yks+dm0Q4H/K2jttQ1RT3Ev1Oucl3XeEaFtDwInoPWhbBXggGWWXnQPK6kdGt6bmbV9F1SDsSXt0C/uo/K8HlUSX0r+/6vDUF25h9D9raEprnkrce8rly6o59UPFVYdGrYV63Pi++TZxyc/m2PQEGZfVIF8doHrjUXDo4PQcOb0VrTNapCTLsxWzmNo6C4altsxz35PoKr9kXVQdfA90H0h0NDg1gWu9zG6jxPpTryMw/GJ7WOBw8PjfYiXU38KVd6PllVfFy2olxQFi3no/lJUqf9jNJQXDcethnpgT6CeTvaQ4GziJTtaqvbfHfXylqCeXdSe0cBhxJXIk8OUtwF3op6dmZllWZBj2+oocWEaGjZ7OGwfgu4jRdZEPZvpKIEgGuLbCw3PTQ1fUWXr2cT3bvqh4ThQQJtKnHRxIFrWYSJaqDLa7wsoOE1HC/zNQQEG4Ihw/NRw3K453tfFqOr2WBQUhobtW6FAEh0brTxwHqoePgUN74ESRaaihJCLybyHlfxseqCh0GnhWi+jHhQoCEef2cjEMV9EPd5aWrjQzMxyWI14GHE34ntv9eJQlAxiZmY1bivUs2lGPbj+lW1OmxqGMgkLDZ+amZmZmZmZmZmZmZmZmZmZmZmZmVlN+H8/7+vO8hkuDgAAAABJRU5ErkJggg==" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![unnamed-4.png](attachment:cb973846-5576-4ba8-ab01-ae5b80f471c2.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This shows that finding a good dataset is important!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "emNtG4Yqqny3" + }, + "source": [ + "# Next Steps\n", + "\n", + "The research project covered in this blog used the PyTorch library: an ML framework developed by Meta AI. You can find tutorials on this library in your own projects [here](https://pytorch.org/tutorials/). [Python Natural Language Toolkit (NLTK)](https://www.nltk.org/) is another great resource for language processing. It provides language datasets, libraries for text data processing, guides and documentation. Lastly, serverless data processing is essential when working with real-time text data, such as social media feeds or chat forums. Amazon Web Services has a [tutorial on serverless data processing](https://aws.amazon.com/getting-started/projects/build-serverless-real-time-data-processing-app-lambda-kinesis-s3-dynamodb-cognito-athena/5/) that you could adapt to advance your NLP skills!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SyC8q0CAqny3" + }, + "source": [ + "# References\n", + "1. D. Rogers, A. Preece, M. Innes and I. Spasić, “Real-Time Text Classification of User-Generated Content on Social Media: Systematic Review,” in IEEE Transactions on Computational Social Systems, vol. 9, no. 4, pp. 1154–1166, Aug. 2022, doi: 10.1109/TCSS.2021.3120138.\n", + " \n", + "2. Mohamed Abdel-Basset; Nour Moustafa; Hossam Hawash, “Introducing Recurrent Neural Networks,” in Deep Learning Approaches for Security Threats in IoT Environments, IEEE, 2023, pp.189–207, doi: 10.1002/9781119884170.ch8.\n", + " \n", + "3. T. Wu et al., “A Brief Overview of ChatGPT: The History, Status Quo and Potential Future Development,” in IEEE/CAA Journal of Automatica Sinica, vol. 10, no. 5, pp. 1122–1136, May 2023, doi: 10.1109/JAS.2023.123618.\n", + " \n", + "4. M. Banisharif, A. Mazloumzadeh, M. Sharbaf and B. Zamani, “Automatic Generation of Business Intelligence Chatbot for Organizations,” 2022 27th International Computer Conference, Computer Society of Iran (CSICC), Tehran, Iran, Islamic Republic of, 2022, pp. 1–5, doi: 10.1109/CSICC55295.2022.9780490.\n", + " \n", + "5. Y. LeCun, L. Bottou, Y. Bengio and P. Haffner, “Gradient-based learning applied to document recognition”, Proc. IEEE, vol. 86, no. 11, pp. 2278–2324, Nov. 1998.\n", + " \n", + "6. R. J. Williams and D. Zipser, “A learning algorithm for continually running fully recurrent neural networks”, Neural Comput., vol. 1, no. 2, pp. 270–280, 1989.\n", + " \n", + "7. H. A. Sayyed, S. Rushikesh Sugave, S. Paygude and B. N Jazdale, “Study and Analysis of Emotion Classification on Textual Data,” 2021 6th International Conference on Communication and Electronics Systems (ICCES), Coimbatre, India, 2021, pp. 1128–1132, doi: 10.1109/ICCES51350.2021.9489204.\n", + " \n", + "8. Alexander Amini and Ava Amini, “MIT 6.S191: Introduction to Deep Learning”, Accessible at: IntroToDeepLearning.com" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + }, + "vscode": { + "interpreter": { + "hash": "11938c6bc6919ae2720b4d5011047913343b08a43b18698fd82dedb0d4417594" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}