{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Zero-shot classification with embeddings\n", "\n", "In this notebook we will classify the sentiment of reviews using embeddings and zero labeled data! The dataset is created in the [Obtain_dataset Notebook](Obtain_dataset.ipynb).\n", "\n", "We'll define positive sentiment to be 4 and 5-star reviews, and negative sentiment to be 1 and 2-star reviews. 3-star reviews are considered neutral and we won't use them for this example.\n", "\n", "We will perform zero-shot classification by embedding descriptions of each class and then comparing new samples to those class embeddings." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", "from sklearn.metrics import classification_report\n", "\n", "# If you have not run the \"Obtain_dataset.ipynb\" notebook, you can download the datafile from here: https://cdn.openai.com/API/examples/data/fine_food_reviews_with_embeddings_1k.csv\n", "datafile_path = \"./data/fine_food_reviews_with_embeddings_1k.csv\"\n", "\n", "df = pd.read_csv(datafile_path)\n", "df['ada_similarity'] = df.ada_similarity.apply(eval).apply(np.array)\n", "df['ada_search'] = df.ada_search.apply(eval).apply(np.array)\n", "\n", "df= df[df.Score!=3]\n", "df['sentiment'] = df.Score.replace({1:'negative', 2:'negative', 4:'positive', 5:'positive'})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Zero-Shot Classification\n", "To perform zero shot classification, we want to predict labels for our samples without any training. To do this, we can simply embed short descriptions of each label, such as positive and negative, and then compare the cosine distance between embeddings of samples and label descriptions. \n", "\n", "The highest similarity label to the sample input is the predicted label. We can also define a prediction score to be the difference between the cosine distance to the positive and to the negative label. This score can be used for plotting a precision-recall curve, which can be used to select a different tradeoff between precision and recall, by selecting a different threshold." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " negative 0.62 0.88 0.73 136\n", " positive 0.98 0.90 0.94 789\n", "\n", " accuracy 0.90 925\n", " macro avg 0.80 0.89 0.83 925\n", "weighted avg 0.92 0.90 0.91 925\n", "\n" ] }, { "data": { "image/png": "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Z23C89i8efMwefJkvPfee7hz5w7c3d0xbNgwTJkypUQxEhER0YtHIvScIlmhUODy5cvw8PDQlimVSly+fBlVqlQxWYBlISMjA/b29khPT4ednV1Zh0NERPTCWLIvAdN/i0PnBu74sk9Do7ZtyPe33l03BQUFUCqVOmWWlpbIz88vWZREREREZUTvW2BCCAwcOFDnaamcnBwMHz5cZy4gfecBIiIiIioreidART1C/vbbbxs1GCIiIqLSoHcCZKz5f4iIiIjKWske3yIiIiIqx5gAERERkdlhAkRERERmhwkQERERmR0mQERERGR2mAARERGR2WECRERERGaHCRARERGZHSZAREREZHaYABEREZHZYQJEREREZocJEBEREZkdJkBERERkdpgAERERkdlhAkRERERmhwkQERERmR0mQERERGR2mAARERGR2WECRERERGaHCRARERGZHSZAREREZHaYABEREZHZYQJEREREZocJEBEREZkdJkBERERkdpgAERERkdlhAkRERERmhwkQERERmR0mQERERGR2mAARERGR2WECRERERGanzBOg+fPnw9PTE0qlEv7+/jh8+PAT68+ZMwe1atWCSqWCh4cHxowZg5ycHJ06SUlJePvtt1GxYkWoVCrUq1cPR48eNeVpEBERUTliUZYHX716NcLDw7Fw4UL4+/tjzpw5CAoKQnx8PFxcXArV//HHHzF+/HgsWbIEAQEBuHjxIgYOHAiJRILo6GgAwP3799GiRQu0bdsWW7duhbOzMy5dugRHR8fSPj0iIiJ6TpVpAhQdHY0hQ4YgNDQUALBw4UJs3rwZS5Yswfjx4wvVP3DgAFq0aIG+ffsCADw9PdGnTx8cOnRIW2fWrFnw8PDA0qVLtWVeXl4mPhMiIiIqT8rsFlheXh6OHTuGwMDAf4KRShEYGIiDBw8WuU9AQACOHTumvU129epVbNmyBcHBwdo6mzZtQpMmTdCjRw+4uLigYcOGWLRo0RNjyc3NRUZGhs6LiIiIXlxl1gOUmpoKtVoNV1dXnXJXV1dcuHChyH369u2L1NRUvPLKKxBCoKCgAMOHD8eECRO0da5evYoFCxYgPDwcEyZMwJEjRzBq1CjI5XKEhIQU2W5UVBSmTZtmUPyPj69Wqw3aj+hFI5PJYGFhAYlEUtahEBHprUxvgRlq165dmDlzJr7++mv4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ODg4oEKFCujSpQuuXbumdxxFadOmDcLCwhAWFgZ7e3s4OTlh8uTJOquT379/HwMGDICjoyOsrKzQoUMHXLp0Sbv9+vXr6NSpExwdHWFtbY26detiy5YtAHRvge3atQuhoaFIT0/X9gJGRkYC0P3d9e3bF7169dKJMz8/H05OTlixYgUA/T7z7du3x71797B79+5nukZE+mACRGRiZ8+exYEDByCXy7VlUVFRWLFiBRYuXIhz585hzJgxePvtt7X/8CclJaFVq1ZQKBT4448/cOzYMQwaNEj7f8YPHjxASEgI9u3bhz///BM+Pj4IDg5+prE7e/fuRZMmTZ5aT6VSAQDy8vKwYcMGjB49Gv/73/9w9uxZDBs2DKGhodi5cycAYN26ddoesEuXLmHjxo2oV69eke0eOXIEALB06VLcunVL+/7fXn31VTg4OGDdunXaMrVajdWrV6Nfv34AgCtXruD1119H9+7dcfr0aaxevRr79u1DWFiY3tdC3+s7efJkdO/eHadOnUK/fv3Qu3dvnD9/HsCjBCAoKAi2trbYu3cv9u/fDxsbG7z++uvIy8sr8rjLli17as8LACxfvhwWFhY4fPgw5s6di+joaHz33Xfa7QMHDsTRo0exadMmHDx4EEIIBAcHIz8/HwAwYsQI5ObmYs+ePThz5gxmzZoFGxubQscJCAjAnDlzYGdnh1u3buHWrVv44IMPCtXr168ffv31V2RmZmrLtm3bhuzsbHTr1g3A0z/zwKPeJz8/P+zdu/ep14DomZl8uVUiMxMSEiJkMpmwtrYWCoVCABBSqVSsXbtWCCFETk6OsLKyEgcOHNDZ75133hF9+vQRQggREREhvLy8RF5enl7HVKvVwtbWVvz666/aMgBiw4YNQgghEhISBABx4sSJYtto0KCBmD59uk7Z41WdH69+ffPmTREQECAqV64scnNzRUBAgBgyZIjOPj169BDBwcFCCCFmz54tatasWex5VKtWTXzxxRdFxvzY1KlTRYMGDbTvR48eLdq1a6d9v23bNqFQKLQxvvPOO2Lo0KE6bezdu1dIpVLx8OHDIuP47zH+q7jrO3z4cJ16/v7+4t133xVCCLFy5UpRq1YtodFotNtzc3OFSqUS27ZtE0I8+qx06dJFu339+vWiVq1axcYhxKMVy2vXrq3T7ocffihq164thBDi4sWLAoDY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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from openai.embeddings_utils import cosine_similarity, get_embedding\n", "from sklearn.metrics import PrecisionRecallDisplay\n", "\n", "def evaluate_embeddings_approach(\n", " labels = ['negative', 'positive'], \n", " engine = 'text-embedding-ada-002',\n", "):\n", " label_embeddings = [get_embedding(label, engine=engine) for label in labels]\n", "\n", " def label_score(review_embedding, label_embeddings):\n", " return cosine_similarity(review_embedding, label_embeddings[1]) - cosine_similarity(review_embedding, label_embeddings[0])\n", "\n", " engine_col_name = 'ada_similarity'\n", " probas = df[engine_col_name].apply(lambda x: label_score(x, label_embeddings))\n", " preds = probas.apply(lambda x: 'positive' if x>0 else 'negative')\n", "\n", " report = classification_report(df.sentiment, preds)\n", " print(report)\n", "\n", " display = PrecisionRecallDisplay.from_predictions(df.sentiment, probas, pos_label='positive')\n", " _ = display.ax_.set_title(\"2-class Precision-Recall curve\")\n", "\n", "evaluate_embeddings_approach(labels=['negative', 'positive'], engine='text-embedding-ada-002')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that this classifier already performs extremely well. We used similarity embeddings, and the simplest possible label name. Let's try to improve on this by using more descriptive label names, and search embeddings." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " negative 0.98 0.73 0.84 136\n", " positive 0.96 1.00 0.98 789\n", "\n", " accuracy 0.96 925\n", " macro avg 0.97 0.86 0.91 925\n", "weighted avg 0.96 0.96 0.96 925\n", "\n" ] }, { "data": { "image/png": "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gfn4+GDLli3S5/yk56effkLTpk31FxkRERGVaV7O1njLyxGDW1UDAOSpX53lR3UeAZo2bRrat2+P+Ph45ObmYtasWYiPj8eBAwewZ88eQ8RIREREZciVrzpofP7z3C38sOdyKUVTOJ1HgJo3b44TJ04gNzcXdevWxR9//AFHR0ccPHgQjRo1MkSMRERERHql8wgQAHh4eGDhwoX6joWIiIioROg8AuTv748lS5YgLe3VvbWNiIiI6Hl0ToDq1KmDiIgIODs7o3v37ti4cSNycnIMERsRERGRQeicAM2aNQvXr1/Hhg0bYGlpiX79+sHJyQmDBg3iJGgiIiIqE4q1FpiJiQnefvttLFmyBLdu3cIPP/yAw4cPo23btvqOj4iIiEjvijUJOl9ycjJWrlyJX375Bf/88w+aNGmir7iIiIiIDEbnEaC0tDQsXrwY7dq1g6urK+bPn49OnTrhwoUL+Pvvvw0RIxEREZFe6TwC5OTkhHLlyiEoKAhRUVHw8fExRFxEREREBqNzArRp0ya89dZbMDEp1vQhIiIiolKncwLUrl07Q8RBREREVGK0SoAaNmyI2NhYlCtXDg0aNHjuqu9xcXF6C46IiIjIELRKgDp37gyFQiG9f14CRERERPSq0yoBioyMlN5PnDjRULEQERERlQidZzJXq1YNd+/eLVD+4MEDVKtWTS9BERERERmSzgnQlStXkJeXV6A8KysL//77r16CIiIiIjIkre8C27Rpk/R++/btsLW1lT7n5eUhNjYW7u7u+o2OiIiIyAC0ToC6dOkCAJDJZAgODtbYZmZmBjc3N8yYMUOvwREREREZgtYJkFqtBgC4u7vjyJEjsLe3N1hQRERERIak84MQExMTDREHERERUYnRKgGaPXs2Bg0aBKVSidmzZz+37vDhw/USGBEREZGhaJUAfffdd+jTpw+USiW+++67IuvJZDImQERERPTK0+o2+MTERFSoUEF6X9Tr8uXLOgcwd+5cuLm5QalUwtfXF4cPHy6ybk5ODiZPngwPDw8olUrUr18fMTExBepdv34dH3zwASpUqACVSoW6devi6NGjOsdGREREr6eXXtI9Ly8PJ06cwP3793Xed9WqVQgPD0dkZCTi4uJQv359BAQE4Pbt24XWHzduHH744QfMmTMH8fHxGDJkCLp27Yrjx49Lde7fv49mzZrBzMwM27ZtQ3x8PGbMmIFy5coV+xyJiIio+LJzBQDgn39TsebYq/HMQJkQQuiyw8iRI1G3bl18+OGHyMvLQ8uWLXHw4EFYWFhg8+bNaN26tdZt+fr6onHjxvj+++8BPLnTzNXVFcOGDcOYMWMK1HdxccHYsWMxdOhQqaxbt25QqVT45ZdfAABjxozB/v37sXfvXl1OS0NaWhpsbW2RmpoKGxubYrdDREREwPzdlzA95hwAoIKlOY6Nb2eQ4+jy91vnEaA1a9agfv36AID//e9/uHLlCs6dO4dRo0Zh7NixWreTnZ2NY8eOwd/f/79gTEzg7++PgwcPFrpPVlYWlEqlRplKpcK+ffukz5s2bYKPjw+6d+8OR0dHNGjQAAsXLnxuLFlZWUhLS9N4ERERkX70b+4mvc/JU5deIE/ROQFKSUmBs7MzAGDr1q3o3r07atSogf79++PUqVM6tZOXlwcnJyeNcicnJyQnJxe6T0BAAKKjo3HhwgWo1Wrs2LED69atw82bN6U6ly9fxvz58+Hp6Ynt27fjo48+wvDhw7F06dIiY4mKioKtra30cnV11fo8iIiI6PkUpnL8+Umr0g5Dg84JkJOTE+Lj45GXl4eYmBi0a/dkGCsjIwNyuVzvAT5t1qxZ8PT0hJeXF8zNzREWFobQ0FCYmPx3Gmq1Gg0bNsS0adPQoEEDDBo0CAMHDsSCBQuKbDciIgKpqanS69q1awY9DyIiIipdOidAoaGh6NGjB9544w3IZDLpEtahQ4fg5eWldTv29vaQy+W4deuWRvmtW7ekEaZnOTg4YMOGDUhPT8fVq1dx7tw5WFlZaaxCX7FiRdSuXVtjv1q1aiEpKanIWBQKBWxsbDReRERE9PrSOQGaOHEifvrpJwwaNAj79++HQqEAAMjl8kInLhfF3NwcjRo1QmxsrFSmVqsRGxuLpk2bPndfpVKJSpUqITc3F2vXrkXnzp2lbc2aNUNCQoJG/fPnz6Nq1apax0ZERESvN52XwgCA999/v0DZswukaiM8PBzBwcHw8fFBkyZNMHPmTKSnpyM0NBQA0K9fP1SqVAlRUVEAnowyXb9+Hd7e3rh+/TomTpwItVqN0aNHS22OGjUKfn5+mDZtGnr06IHDhw/jxx9/xI8//licUyUiIqLXULESoD179uDbb7/F2bNnAQC1a9fGZ599hhYtWujUTlBQEO7cuYMJEyYgOTkZ3t7eiImJkSZGJyUlaczvyczMxLhx43D58mVYWVkhMDAQy5cvh52dnVSncePGWL9+PSIiIjB58mS4u7tj5syZ6NOnT3FOlYiIiF5DOj8H6JdffkFoaCjee+89NGvWDACwf/9+rF+/HkuWLEHv3r0NEmhJ4nOAiIiI9OvynUdoO2MPbJSm+GdigEGOocvfb51HgKZOnYqvv/4ao0aNksqGDx+O6OhoTJky5bVIgIiIiOj1pvMk6MuXL6Njx44Fyjt16oTExES9BEVERERkSDonQK6urhp3buXbuXMnHyBIREREZYLOl8A++eQTDB8+HCdOnICfnx+AJ3OAlixZglmzZuk9QCIiInp9pGXmIi0zBzZKs1KNQ+cE6KOPPoKzszNmzJiB1atXA3jyoMFVq1ZpPI+HiIiIKF96Vp70ftXhaxjYstpzahtesW6D79q1K7p27arvWIiIiOg19Ual/+7KepiZU4qRPFGsBAgAjh49qvEcoEaNGuktKCIiInq9yGQy9GtaFcsOXi3tUAAUIwH6999/0atXL+zfv196AOGDBw/g5+eHlStXonLlyvqOkYiIiEivdL4LbMCAAcjJycHZs2dx79493Lt3D2fPnoVarcaAAQMMESMRERGRXuk8ArRnzx4cOHAANWvWlMpq1qyJOXPm6LwUBhEREVFpKNZzgHJyCk5eysvLg4uLi16CIiIiIjIknROgb775BsOGDcPRo0elsqNHj2LEiBH49ttv9RocERERkSHofAksJCQEGRkZ8PX1hanpk91zc3NhamqK/v37o3///lLde/fu6S9SIiIiIj3ROQGaOXOmAcIgIiIiKjk6J0DBwcGGiIOIiIioxOg8B4iIiIiorGMCREREREaHCRAREREZHSZAREREZHSYABEREZHRKVYCtGzZMmzcuFGjbOPGjVi2bJlegiIiIiIypGIlQCEhIYiIiNAo+/zzzxEaGqqXoIiIiIgMSefnAAGAWq0uUHbu3LmXDoaIiIioJHAOEBERERkdrUaA0tLStG7Qxsam2MEQERERlQStEiA7OzvIZLLn1hFCQCaTIS8vTy+BERERERmKVgnQrl27DB0HERERUYnRKgFq1aqVoeMgIiIiKjHFmgS9d+9efPDBB/Dz88P169cBAMuXL8e+ffv0GhwRERGRIeicAK1duxYBAQFQqVSIi4tD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CwwcOFDfsRARERGVCK0SoE2bNqF9+/YwMzPDpk2bnlu3U6dOegmMiIiIyFC0SoC6dOmC5ORkODo6SstLFEYmkyEvL09fsREREREZhFYJUP4Tn599T0RERFQW6XwbfGEePHigj2aIiIiISoTOCdD06dOxatUq6XP37t1Rvnx5VKpUCSdPntRrcERERESGoHMCtGDBAri6ugIAduzYgZ07dyImJgbt27fHZ599pvcAiYiIiPRN59vgk5OTpQRo8+bN6NGjB95++224ubnB19dX7wESERER6ZvOI0DlypXDtWvXAAAxMTHw9/cHAAgheAcYERERlQk6jwC999576N27Nzw9PXH37l20b98eAHD8+HFUr15d7wESERER6ZvOCdB3330HNzc3XLt2DV9//TWsrKwAADdv3sTHH3+s9wCJiIiI9E3nBMjMzAyffvppgfJRo0bpJSAiIiIiQ+NSGERERGR0uBQGERERGR0uhUFERERGRy9LYRARERGVJTonQMOHD8fs2bMLlH///fcYOXKkPmIiIiIiMiidE6C1a9eiWbNmBcr9/PywZs0avQRFREREZEg6J0B3796Fra1tgXIbGxukpKToJSgiIiIiQ9I5AapevTpiYmIKlG/btg3VqlXTS1BEREREhqTzgxDDw8MRFhaGO3fuoG3btgCA2NhYzJgxAzNnztR3fERERER6p3MC1L9/f2RlZWHq1KmYMmUKAMDNzQ3z589Hv3799B4gERERkb7pnAABwEcffYSPPvoId+7cgUqlktYDIyIiIioLivUcoNzcXOzcuRPr1q2DEAIAcOPGDTx69EivwREREREZgs4jQFevXsU777yDpKQkZGVloV27drC2tsb06dORlZWFBQsWGCJOIiIiIr3ReQRoxIgR8PHxwf3796FSqaTyrl27IjY2Vq/BERERERmCziNAe/fuxYEDB2Bubq5R7ubmhuvXr+stMCIiIiJD0XkESK1WF7ri+7///gtra2u9BEVERERkSDonQG+//bbG835kMhkePXqEyMhIBAYG6jM2IiIiIoPQ+RLYt99+i3feeQe1a9dGZmYmevfujQsXLsDe3h6//fabIWIkIiIi0iudR4BcXV1x8uRJjB07FqNGjUKDBg3w1Vdf4fjx43B0dNQ5gLlz58LNzQ1KpRK+vr44fPjwc+vPnDkTNWvWhEqlgqurK0aNGoXMzExpe15eHsaPHw93d3eoVCp4eHhgypQp0u36RERERDqNAOXk5MDLywubN29Gnz590KdPn5c6+KpVqxAeHo4FCxbA19cXM2fOREBAABISEgpNpn799VeMGTMGixYtgp+fH86fP4+QkBDIZDJER0cDAKZPn4758+dj6dKlqFOnDo4ePYrQ0FDY2tpi+PDhLxUvERERvR50GgEyMzPTGG15WdHR0Rg4cCBCQ0NRu3ZtLFiwABYWFli0aFGh9Q8cOIBmzZqhd+/ecHNzw9tvv41evXppjBodOHAAnTt3RocOHeDm5ob3338fb7/99gtHloiIiMh46HwJbOjQoZg+fTpyc3Nf6sDZ2dk4duwY/P39/wvGxAT+/v44ePBgofv4+fnh2LFjUjJz+fJlbN26VWPytZ+fH2JjY3H+/HkAwMmTJ7Fv3z60b9++yFiysrKQlpam8SIiIqLXl86ToI8cOYLY2Fj88ccfqFu3LiwtLTW2r1u3Tqt2UlJSkJeXBycnJ41yJycnnDt3rtB9evfujZSUFDRv3hxCCOTm5mLIkCH44osvpDpjxoxBWloavLy8IJfLkZeXh6lTpz73cl1UVBQmTZqkVdxERERU9uk8AmRnZ4du3bohICAALi4usLW11XgZ0u7duzFt2jTMmzcPcXFxWLduHbZs2SKtSg8Aq1evxooVK/Drr78iLi4OS5cuxbfffoulS5cW2W5ERARSU1Ol17Vr1wx6HkRERFS6dB4BWrx4sV4ObG9vD7lcjlu3bmmU37p1C87OzoXuM378ePTt2xcDBgwAANStWxfp6ekYNGgQxo4dCxMTE3z22WcYM2YMevbsKdW5evUqoqKiEBwcXGi7CoUCCoVCL+dFRERErz6tR4DUajWmT5+OZs2aoXHjxhgzZgweP35c7AObm5ujUaNGGuuHqdVqxMbGomnTpoXuk5GRARMTzZDlcjkASLe5F1VHrVYXO1YiIiJ6vWg9AjR16lRMnDgR/v7+UKlUmDVrFm7fvl3kHVvaCA8PR3BwMHx8fNCkSRPMnDkT6enpCA0NBQD069cPlSpVQlRUFACgY8eOiI6ORoMGDeDr64uLFy9i/Pjx6Nixo5QIdezYEVOnTkWVKlVQp04dHD9+HNHR0ejfv3+x4yQiIqLXi9YJ0LJlyzBv3jwMHjwYALBz50506NABP/30U4ERF20FBQXhzp07mDBhApKTk+Ht7Y2YmBhpYnRSUpJG2+PGjYNMJsO4ceNw/fp1ODg4SAlPvjlz5mD8+PH4+OOPcfv2bbi4uGDw4MGYMGFCsWIkIiKi149MaPmIZIVCgYsXL8LV1VUqUyqVuHjxIipXrmywAEtDWloabG1tkZqaChsbm9IOh4iI6LWxaF8iJm+OR6f6Lpjdq4Fe29bl77fWQze5ublQKpUaZWZmZsjJySlelERERESlROtLYEIIhISEaNwtlZmZiSFDhmg8C0jb5wARERERlRatE6DCbiH/4IMP9BoMERERUUnQOgHS1/N/iIiIiEpb8W7fIiIiIirDmAARERGR0WECREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAERERkdFhAkRERERGhwkQERERGR0mQERERGR0mAARERGR0WECREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAERERkdFhAkRERERGhwkQERERGR0mQERERGR0mAARERGR0WECREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERqfUE6C5c+fCzc0NSqUSvr6+OHz48HPrz5w5EzVr1oRKpYKrqytGjRqFzMxMjTrXr1/HBx98gAoVKkClUqFu3bo4evSoIU+DiIiIyhDT0jz4qlWrEB4ejgULFsDX1xczZ85EQEAAEhIS4OjoWKD+r7/+ijFjxmDRokXw8/PD+fPnERISAplMhujoaADA/fv30axZM7Rp0wbbtm2Dg4MDLly4gHLlypX06REREdErqlQToOjoaAwcOBChoaEAgAULFmDLli1YtGgRxowZU6D+gQMH0KxZM/Tu3RsA4Obmhl69euHQoUNSnenTp8PV1RWLFy+Wytzd3Q18JkRERFSWlNolsOzsbBw7dgz+/v7/BWNiAn9/fxw8eLDQffz8/HDs2DHpMtnly5exdetWBAYGSnU2bdoEHx8fdO/eHY6OjmjQoAEWLlz43FiysrKQlpam8SIiIqLXV6mNAKWkpCAvLw9OTk4a5U5OTjh37lyh+/Tu3RspKSlo3rw5hBDIzc3FkCFD8MUXX0h1Ll++jPnz5yM8PBxffPEFjhw5guHDh8Pc3BzBwcGFthsVFYVJkybpFH/+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2bVrV6H/3ub3bXBwsGjVqlWBfby9vYW5ubmoVq2aWLx4scHjlAnBcTwiIiIyLpwDREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAEb2mZDIZNmzYAAC4cuUKZDLZC1dpT0hIgLOzMx4+fGj4AAG4ublh5syZz60zceJEeHt7GzSO4hzj6f4trpCQEHTp0uWl2tC33bt3QyaT4cGDB8+tp83PThfx8fGoXLky0tPT9dYm0fMwASLSs5CQEMhkMshkMpiZmcHd3R2jR49GZmZmaYf2QhERERg2bBisra0B/PfHMP/l5OSEbt264fLly3o53pEjRzBo0CDpc2FJxaefflpgnSAyHD8/P9y8eRO2trYAgCVLlsDOzq5AvWd/di+rdu3aePPNNxEdHa23NomehwkQkQG88847uHnzJi5fvozvvvsOP/zwAyIjI0s7rOdKSkrC5s2bERISUmBbQkICbty4gd9//x1nzpxBx44dkZeX99LHdHBwgIWFxXPrWFlZoUKFCi99LNKOubk5nJ2dIZPJnltPm5+drkJDQzF//nzk5ubqtV2iwjABIjIAhUIBZ2dnuLq6okuXLvD398eOHTuk7Wq1GlFRUXB3d4dKpUL9+vWxZs0ajTbOnDmDd999FzY2NrC2tkaLFi1w6dIlAE/+77tdu3awt7eHra0tWrVqhbi4uJeKefXq1ahfvz4qVapUYJujoyMqVqyIli1bYsKECYiPj8fFixcBAPPnz4eHhwfMzc1Rs2ZNLF++XNpPCIGJEyeiSpUqUCgUcHFxwfDhw6XtT19GcXNzAwB07doVMplM+vz05ak//vgDSqWywOWZESNGoG3bttLnffv2oUWLFlCpVHB1dcXw4cN1urSibf/evHkT7du3h0qlQrVq1Qr8DK9du4YePXrAzs4O5cuXR+fOnXHlyhWt4yhM69atERYWhrCwMNja2sLe3h7jx4/XWJ38/v376NevH8qVKwcLCwu0b98eFy5ckLZfvXoVHTt2RLly5WBpaYk6depg69atADQvge3evRuhoaFITU2VRgEnTpwIQPNn17t3bwQFBWnEmZOTA3t7eyxbtgyAdt/5du3a4d69e9izZ89L9RGRNpgAERnY6dOnceDAAZibm0tlUVFRWLZsGRYsWIAzZ85g1KhR+OCDD6R/+K9fv46WLVtCoVDgzz//xLFjx9C/f3/p/4wfPnyI4OBg7Nu3D3///Tc8PT0RGBj4UnN39u7dCx8fnxfWU6lUAIDs7GysX78eI0aMwCeffILTp09j8ODBCA0Nxa5duwAAa9eulUbALly4gA0bNqBu3bqFtnvkyBEAwOLFi3Hz5k3p89Peeust2NnZYe3atVJZXl4eVq1ahT59+gAALl26hHfeeQfdunXDP//8g1WrVmHfvn0ICwvTui+07d/x48ejW7duOHnyJPr06YOePXvi7NmzAJ4kAAEBAbC2tsbevXuxf/9+WFlZ4Z133kF2dnahx12yZMkLR14AYOnSpTA1NcXhw4cxa9YsREdH46effpK2h4SE4OjRo9i0aRMOHjwIIQQCAwORk5MDABg6dCiysrLw119/4dSpU5g+fTqsrKwKHMfPzw8zZ86EjY0Nbt68iZs3b+LTTz8tUK9Pnz743//+h0ePHkll27dvR0ZGBrp27Qrgxd954Mnok7e3N/bu3fvCPiB6aQZfbpXIyAQHBwu5XC4sLS2FQqEQAISJiYlYs2aNEEKIzMxMYWFhIQ4cOKCx34cffih69eolhBAiIiJCuLu7i+zsbK2OmZeXJ6ytrcX//vc/qQyAWL9+vRBCiMTERAFAHD9+vMg26tevLyZPnqxRlr+qc/7q1zdu3BB+fn6iUqVKIisrS/j5+YmBAwdq7NO9e3cRGBgohBBixowZokaNGkWeR9WqVcV3331XaMz5IiMjRf369aXPI0aMEG3btpU+b9++XSgUCinGDz/8UAwaNEijjb179woTExPx+PHjQuN49hjPKqp/hwwZolHP19dXfPTRR0IIIZYvXy5q1qwp1Gq1tD0rK0uoVCqxfft2IcST70rnzp2l7evWrRM1a9YsMg4hnqxYXqtWLY12P//8c1GrVi0hhBDnz58XAMT+/ful7SkpKUKlUonVq1cLIYSoW7eumDhxYqHtP/szX7x4sbC1tS1Q7+mfXU5OjrC3txfLli2Ttvfq1UsEBQUJIbT7zufr2rWrCAkJeW4fEOkDR4CIDKBNmzY4ceIEDh06hODgYISGhqJbt24AgIsXLyIjIwPt2rWDlZWV9Fq2bJl0ievEiRNo0aIFzMzMCm3/1q1bGDhwIDw9PWFrawsbGxs8evQISUlJxY758ePHUCqVhW6rXLkyLC0t4eLigvT0dKxduxbm5uY4e/YsmjVrplG3WbNm0ihI9+7d8fjxY1SrVg0DBw7E+vXrX3p+R58+fbB7927cuHEDALBixQp06NBBmqh78uRJLFmyRKNvAwICoFarkZiYqNUxtO3fpk2bFvicf+4nT57ExYsXYW1tLcVRvnx5ZGZmSj/nZ3Xt2hXnzp17YXxvvvmmxkhR06ZNceHCBeTl5eHs2bMwNTWFr6+vtL1ChQqoWbOmFNvw4cPx5ZdfolmzZoiMjMQ///yjVb8UxdTUFD169MCKFSsAAOnp6di4caM0KqfNdz6fSqVCRkbGS8VDpA3T0g6A6HVkaWmJ6tWrAwAWLVqE+vXr4+eff8aHH34oXSbYsmVLgfk2CoUCwH+XmYoSHByMu3fvYtasWahatSoUCgWaNm1a5KUVbdjb2+P+/fuFbtu7dy9sbGzg6Ogo3SGmDVdXVyQkJGDnzp3YsWMHPv74Y3zzzTfYs2dPkcndizRu3BgeHh5YuXIlPvroI6xfvx5LliyRtj969AiDBw/WmGuUr0qVKlodQx/9++jRIzRq1EhKCp7m4OCgdTuGMGDAAAQEBGDLli34448/EBUVhRkzZmDYsGHFbrNPnz5o1aoVbt++jR07dkClUuGdd94BAK2+8/nu3bsHDw+PYsdBpC0mQEQGZmJigi+++ALh4eHo3bs3ateuDYVCgaSkJLRq1arQferVq4elS5ciJyen0ERh//79mDdvHgIDAwE8mWybkpLyUnE2aNAA8fHxhW5zd3cv9FboWrVqYf/+/QgODtaIrXbt2tJnlUqFjh07omPHjhg6dCi8vLxw6tQpNGzYsEB7ZmZmWt1d1qdPH6xYsQKVK1eGiYkJOnToIG1r2LAh4uPjpQS0OLTt37///hv9+vXT+NygQQMpjlWrVsHR0RE2NjbFjqUwhw4dKhCHp6cn5HI5atWqhdzcXBw6dAh+fn4AgLt37yIhIUHj5+Lq6oohQ4ZgyJAhiIiIwMKFCwtNgMzNzbX6mfj5+cHV1RWrVq3Ctm3b0L17d+m7q813Pt/p06fx/vvvv/B4RC+Ll8CISkD37t0hl8sxd+5cWFtb49NPP8WoUaOwdOlSXLp0CXFxcZgzZw6WLl0KAAgLC0NaWhp69uyJo0eP4sKFC1i+fDkSEhIAAJ6enli+fDnOnj2LQ4cOoU+fPi8cNXqRgIAAHDx4UKfb2z/77DMsWbIE8+fPx4ULFxAdHY1169ZJE2WXLFmCn3/+GadPn8bly5fxyy+/QKVSoWrVqoW25+bmhtjYWCQnJxc5GgU8SYDi4uIwdepUvP/++xqjCJ9//jkOHDiAsLAwnDhxAhcuXMDGjRt1mgStbf/+/vvvWLRoEc6fP4/IyEgcPnxYOk6fPn1gb2+Pzp07Y+/evUhMTMTu3bsxfPhw/Pvvv4Ued/369fDy8nphfElJSQgPD0dCQgJ+++03zJkzByNGjJBi79y5MwYOHIh9+/bh5MmT+OCDD1CpUiV07twZADBy5Ehs374diYmJiIuLw65du1CrVq1Cj+Xm5oZHjx4hNjYWKSkpz7081bt3byxYsAA7duyQLn8B0Oo7Dzx5YOf169fh7+//wj4gemmlPQmJ6HXz7MTWfFFRUcLBwUE8evRIqNVqMXPmTFGzZk1hZmYmHBwcREBAgNizZ49U/+TJk+Ltt98WFhYWwtraWrRo0UJcunRJCCFEXFyc8PHxEUqlUnh6eorff//9uROKtZkEnZOTI1xcXERMTIxU9uyE2MLMmzdPVKtWTZiZmYkaNWpoTIRdv3698PX1FTY2NsLS0lK8+eabYufOndL2Z2PetGmTqF69ujA1NRVVq1YVQhQ9QblJkyYCgPjzzz8LbDt8+LBo166dsLKyEpaWlqJevXpi6tSpRZ7Ds8fQtn/nzp0r2rVrJxQKhXBzcxOrVq3SaPfmzZuiX79+wt7eXigUClGtWjUxcOBAkZqaKoQo+F1ZvHixeNE/y61atRIff/yxGDJkiLCxsRHlypUTX3zxhcak6Hv37om+ffsKW1tboVKpREBAgDh//ry0PSwsTHh4eAiFQiEcHBxE3759RUpKihCi8J/5kCFDRIUKFQQAERkZKYQo+LMTQoj4+HgBQFStWlUjHiGEVt/5adOmiYCAgOeeP5G+yIR46uERRGTU5s6di02bNmH79u2lHQoVoXXr1vD29tbrMhSvguzsbHh6euLXX38tMLGeyBA4B4iIJIMHD8aDBw/w8OFDnSY7E72spKQkfPHFF0x+qMQwASIiiampKcaOHVvaYZARql69+ktNXCfSFS+BERERkdHhXWBERERkdJgAERERkdFhAkRERERGhwkQERERGR0mQERERGR0mAARERGR0WECREREREaHCRAREREZHSZAREREZHT+D6CoNdkIoVdQAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "evaluate_embeddings_approach(labels=['An Amazon review with a negative sentiment.', 'An Amazon review with a positive sentiment.'], engine='text-embedding-ada-002')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the search embeddings and descriptive names leads to an additional improvement in performance." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " negative 0.98 0.73 0.84 136\n", " positive 0.96 1.00 0.98 789\n", "\n", " accuracy 0.96 925\n", " macro avg 0.97 0.86 0.91 925\n", "weighted avg 0.96 0.96 0.96 925\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABseElEQVR4nO3deXhM1/8H8PdkksxMdmQTQiJCUAQhFbtGU1FblVhKErW1YktblVpiKam2UkstrdZaLWr/WqKkqK22oAixhSiCWBISWef8/vDLrZGEmZhJxLxfzzNPZ84999zPPZnIp+eee49MCCFAREREZERMSjsAIiIiopLGBIiIiIiMDhMgIiIiMjpMgIiIiMjoMAEiIiIio8MEiIiIiIwOEyAiIiIyOkyAiIiIyOgwASIiIiKjwwSIqJS0bt0arVu3Lu0wXmkTJ06ETCbTaZ8rV65AJpNhyZIlhgmqjAsJCYGbm5tGmUwmw8SJE0slHqLSwgSI6BlHjhxBWFgY6tSpA0tLS1SpUgU9evTA+fPnSzs0g9u9ezdkMpn0MjMzQ7Vq1dCvXz9cvny5tMMrE57uP5lMBhsbG7Rq1Qpbtmwp7dCI6CmmpR0A0atm+vTp2L9/P7p374569eohOTkZ33//PRo2bIi///4bb7zxRmmHaHDDhw9H48aNkZOTg7i4OPz444/YsmULTp06BRcXlxKLY9y4cRgzZoxO+1StWhWPHz+GmZmZgaJ6sXbt2qFfv34QQuDq1auYP38+OnbsiG3btiEgIKDU4iKi/zABInpGeHg4fv31V5ibm0tlQUFBqFu3Lr766iv88ssvpRhdyWjRogXef/99AEBoaChq1KiB4cOHY+nSpYiIiCh0n/T0dFhaWuo1DlNTU5ia6vbPlEwmg1Kp1GscuqpRowY++OAD6XO3bt1Qu3ZtzJo1iwnQcxjiO0RUFF4CI3qGn5+fRvIDAJ6enqhTpw7Onj2rdTu//PILmjRpAgsLC5QrVw4tW7bEH3/8UWT97OxsTJgwAY0aNYKtrS0sLS3RokUL7Nq1q0DdlStXolGjRrC2toaNjQ3q1q2LWbNmSdtzcnIwadIkeHp6QqlUokKFCmjevDl27NihdfxPa9u2LQAgMTERwH9zc+Lj49G7d2+UK1cOzZs31zj3Ro0aQaVSoXz58ujZsyeuXbtWoN1Dhw4hMDAQ5cqVg6WlJerVq6dxHoXNAdqxYweaN28OOzs7WFlZoWbNmvjiiy+k7UXNAfrzzz/RokULWFpaws7ODp07dy7w88w/3sWLFxESEgI7OzvY2toiNDQUGRkZxeo7AKhVqxbs7e1x6dIljfKsrCxERkaievXqUCgUcHV1xejRo5GVlVWgjRd9nzZu3IgOHTrAxcUFCoUCHh4emDJlCvLy8ood97MyMzMxceJE1KhRA0qlEhUrVsR7770nnVf+JdTdu3dr7FfYzyQkJARWVla4dOkSAgMDYW1tjT59+iAsLAxWVlaF9nevXr3g7OyscU7btm2Tfq7W1tbo0KEDzpw5o7dzptcXEyAiLQghcOvWLdjb22tVf9KkSejbty/MzMwwefJkTJo0Ca6urvjzzz+L3CctLQ0//fQTWrdujenTp2PixIm4c+cOAgICcOLECanejh070KtXL5QrVw7Tp0/HV199hdatW2P//v1SnYkTJ2LSpElo06YNvv/+e4wdOxZVqlRBXFxcsc4//w9chQoVNMq7d++OjIwMTJs2DQMHDgQATJ06Ff369YOnpyeio6MxcuRIxMbGomXLlnjw4IHGebRs2RLx8fEYMWIEZsyYgTZt2mDz5s1FxnHmzBm8++67yMrKwuTJkzFjxgx06tRJ49wLs3PnTgQEBOD27duYOHEiwsPDceDAATRr1gxXrlwpUL9Hjx54+PAhoqKi0KNHDyxZsgSTJk3SsrcKSk1Nxf3791GuXDmpTK1Wo1OnTvj222/RsWNHzJkzB126dMF3332HoKAgjf21+T4tWbIEVlZWCA8Px6xZs9CoUSNMmDBB50uIRcnLy8O7776LSZMmoVGjRpgxYwZGjBiB1NRUnD59ulht5ubmIiAgAI6Ojvj222/RrVs3BAUFIT09vcCcqYyMDPzvf//D+++/D7lcDgBYvnw5OnToACsrK0yfPh3jx49HfHw8mjdvXujPlUiDIKIXWr58uQAgfv755xfWvXDhgjAxMRFdu3YVeXl5GtvUarX0vlWrVqJVq1bS59zcXJGVlaVR//79+8LJyUn0799fKhsxYoSwsbERubm5RcZQv3590aFDhxfG+qxdu3YJAGLRokXizp074saNG2LLli3Czc1NyGQyceTIESGEEJGRkQKA6NWrl8b+V65cEXK5XEydOlWj/NSpU8LU1FQqz83NFe7u7qJq1ari/v37GnWf7qP84+T77rvvBABx586dIs8hMTFRABCLFy+Wyry9vYWjo6O4e/euVHby5ElhYmIi+vXrV+B4T/e3EEJ07dpVVKhQochjPg2A+PDDD8WdO3fE7du3xdGjR8U777wjAIhvvvlGqrd8+XJhYmIi9u7dq7H/ggULBACxf/9+IYT236eMjIwCsQwePFhYWFiIzMxMqSw4OFhUrVq1QMyRkZHPPa9FixYJACI6OrrAtvw48r8/u3bt0the2M8kODhYABBjxowp0FalSpVEt27dNMpXr14tAIi//vpLCCHEw4cPhZ2dnRg4cKBGveTkZGFra1ugnOhZHAEieoFz585h6NChaNq0KYKDg19Yf8OGDVCr1ZgwYQJMTDR/xZ53S7dcLpcuvanVaty7dw+5ubnw8fHRGLmxs7NDenr6cy9n2dnZ4cyZM7hw4cIL4y1M//794eDgABcXF3To0AHp6elYunQpfHx8NOoNGTJE4/O6deugVqvRo0cPpKSkSC9nZ2d4enpKl/OOHz+OxMREjBw5EnZ2dhptPK+P8utu3LgRarVaq3O5efMmTpw4gZCQEJQvX14qr1evHtq1a4etW7cW2OfZ82rRogXu3r2LtLQ0rY75888/w8HBAY6OjvDx8UFsbCxGjx6N8PBwqc7vv/+OWrVqwcvLS6Ov8i835veVtt8nlUolvX/48CFSUlLQokULZGRk4Ny5c1rF/Txr166Fvb09hg0bVmCbro8qeNpHH31UoK3u3btj69atePTokVS+atUqVKpUSbrUumPHDjx48AC9evXS6D+5XA5fX99CLx0TPY0JENFzJCcno0OHDrC1tcWaNWukoXfgyWWN5ORk6XXv3j0ATy4XmZiYoHbt2jofb+nSpahXr540b8fBwQFbtmxBamqqVOfjjz9GjRo10L59e1SuXBn9+/dHTEyMRjuTJ0/GgwcPUKNGDdStWxefffYZ/vnnH63jmDBhAnbs2IE///wT//zzD27cuIG+ffsWqOfu7q7x+cKFCxBCwNPTEw4ODhqvs2fP4vbt2wD+u6Sm6x11QUFBaNasGQYMGAAnJyf07NkTq1evfm4ydPXqVQBAzZo1C2yrVasWUlJSkJ6erlFepUoVjc/5l67u378PALh3757Gz/7pnw8AdO7cGTt27MCWLVukeUUZGRkaCcyFCxdw5syZAv1Uo0YNANDoK22+T2fOnEHXrl1ha2sLGxsbODg4SBOxn42vOC5duoSaNWvqPCn9eUxNTVG5cuUC5UFBQXj8+DE2bdoEAHj06BG2bt2K7t27S8lWfnLftm3bAn34xx9/SP1HVBTeBUZUhNTUVLRv3x4PHjzA3r17C9z+PWLECCxdulT63KpVqwKTP3Xxyy+/ICQkBF26dMFnn30GR0dHyOVyREVFaUyedXR0xIkTJ7B9+3Zs27YN27Ztw+LFi9GvXz8pnpYtW+LSpUvYuHEj/vjjD/z000/47rvvsGDBAgwYMOCFsdStWxf+/v4vrPf0qAPwZORKJpNh27ZtGsliPisrqxe2+aLj/fXXX9i1axe2bNmCmJgYrFq1Cm3btsUff/xR6DGLo6h2hBAAgPfeew979uyRyoODgzUm+FauXFnqv8DAQNjb2yMsLAxt2rTBe++9B+BJX9WtWxfR0dGFHsvV1VXreB88eIBWrVrBxsYGkydPhoeHB5RKJeLi4vD5559rPVr2sooaCSpqIrZCoSgwqgUAb775Jtzc3LB69Wr07t0b//vf//D48WONuVH557R8+XI4OzsXaEOfiRq9nvgNISpEZmYmOnbsiPPnz2Pnzp2F/t/36NGjNW51zh8l8PDwgFqtRnx8PLy9vbU+5po1a1CtWjWsW7dO4w9JZGRkgbrm5ubo2LEjOnbsCLVajY8//hg//PADxo8fj+rVqwMAypcvj9DQUISGhuLRo0do2bIlJk6cqFUCVFweHh4QQsDd3V0aySiqHgCcPn1aq0TraSYmJnjrrbfw1ltvITo6GtOmTcPYsWOxa9euQtuqWrUqACAhIaHAtnPnzsHe3l7nW69nzJghjQYBeOGzkQYPHozvvvsO48aNQ9euXSGTyeDh4YGTJ0/irbfeeu4lJG2+T7t378bdu3exbt06tGzZUirPv2tPHzw8PHDo0CHk5OQU+Yyl/N+Bpye7A/+NwumiR48emDVrFtLS0rBq1Sq4ubnhzTff1IgHePI/BLp+h4gAXgIjKiAvLw9BQUE4ePAgfv/9dzRt2rTQerVr14a/v7/0atSoEQCgS5cuMDExweTJkwv8n3f+CEJh8kcdnq5z6NAhHDx4UKPe3bt3NT6bmJigXr16ACDdPv1sHSsrK1SvXr3Q26v16b333oNcLsekSZMKnKsQQoqrYcOGcHd3x8yZMwv8sXxeH+VfZnxaflJQ1LlVrFgR3t7eWLp0qcaxTp8+jT/++AOBgYFanJmmRo0aafzsX3R5ytTUFJ988gnOnj2LjRs3AnjyB/769etYuHBhgfqPHz+WLstp830q7LuTnZ2NefPm6XxuRenWrRtSUlLw/fffF9iWf9yqVatCLpfjr7/+0thenDiCgoKQlZWFpUuXIiYmBj169NDYHhAQABsbG0ybNg05OTkF9r9z547OxyTjwhEgomd88skn2LRpEzp27Ih79+4VePDh06M+halevTrGjh2LKVOmoEWLFnjvvfegUChw5MgRuLi4ICoqqtD93n33Xaxbtw5du3ZFhw4dkJiYiAULFqB27doak0EHDBiAe/fuoW3btqhcuTKuXr2KOXPmwNvbG7Vq1QLwJDlr3bo1GjVqhPLly+Po0aNYs2YNwsLCXrJ3ns/DwwNffvklIiIicOXKFXTp0gXW1tZITEzE+vXrMWjQIHz66acwMTGRno7s7e2N0NBQVKxYEefOncOZM2ewffv2QtufPHky/vrrL3To0AFVq1bF7du3MW/ePFSuXFnjOUTP+uabb9C+fXs0bdoUH374IR4/fow5c+bA1ta2xNbACgkJwYQJEzB9+nR06dIFffv2xerVqzFkyBDs2rULzZo1Q15eHs6dO4fVq1dj+/bt8PHx0er75Ofnh3LlyiE4OBjDhw+HTCbD8uXLn5tM6qpfv35YtmwZwsPDcfjwYbRo0QLp6enYuXMnPv74Y3Tu3Bm2trbo3r075syZI41ybd68uVjzcRo2bCide1ZWVoFHA9jY2GD+/Pno27cvGjZsiJ49e8LBwQFJSUnYsmULmjVrVmiyRiQpnZvPiF5drVq1EgCKfGlr0aJFokGDBkKhUIhy5cqJVq1aiR07dmgc5+nb4NVqtZg2bZqoWrWqUCgUokGDBmLz5s0Fbltes2aNePvtt4Wjo6MwNzcXVapUEYMHDxY3b96U6nz55ZeiSZMmws7OTqhUKuHl5SWmTp0qsrOznxtz/m3Mv//++3Pr5d8uXtTt6GvXrhXNmzcXlpaWwtLSUnh5eYmhQ4eKhIQEjXr79u0T7dq1E9bW1sLS0lLUq1dPzJkzp8Bx8sXGxorOnTsLFxcXYW5uLlxcXESvXr3E+fPnpTqF3XIthBA7d+4UzZo1EyqVStjY2IiOHTuK+Ph4rc5r8eLFAoBITEx8br8I8eSW8qFDhxa6beLEiRq3iWdnZ4vp06eLOnXqSN+TRo0aiUmTJonU1FSNfV/0fdq/f7948803hUqlEi4uLmL06NFi+/btBW5LL+5t8EI8udV+7Nixwt3dXZiZmQlnZ2fx/vvvi0uXLkl17ty5I7p16yYsLCxEuXLlxODBg8Xp06cLvQ3e0tLyuccbO3asACCqV69eZJ1du3aJgIAAYWtrK5RKpfDw8BAhISHi6NGjLzwfMm4yIfT4vwhEREREZQDnABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAERERkdFhAkRERERGhw9CLIRarcaNGzdgbW39UqscExERUckRQuDhw4dwcXEpdJ25pzEBKsSNGzd0WoiQiIiIXh3Xrl1D5cqVn1uHCVAhrK2tATzpQBsbm1KOhoiIiLSRlpYGV1dX6e/48zABKkT+ZS8bGxsmQERERGWMNtNXOAmaiIiIjA4TICIiIjI6TICIiIjI6DABIiIiIqPDBIiIiIiMDhMgIiIiMjpMgIiIiMjoMAEiIiIio8MEiIiIiIwOEyAiIiIyOqWaAP3111/o2LEjXFxcIJPJsGHDhhfus3v3bjRs2BAKhQLVq1fHkiVLCtSZO3cu3NzcoFQq4evri8OHD+s/eCIiIiqzSjUBSk9PR/369TF37lyt6icmJqJDhw5o06YNTpw4gZEjR2LAgAHYvn27VGfVqlUIDw9HZGQk4uLiUL9+fQQEBOD27duGOg0iIiIqY2RCCFHaQQBPFi5bv349unTpUmSdzz//HFu2bMHp06elsp49e+LBgweIiYkBAPj6+qJx48b4/vvvAQBqtRqurq4YNmwYxowZo1UsaWlpsLW1RWpqql4XQ83IzsW99Gy9tUdERC/P0twU5SzNSzsM0gNd/n6XqdXgDx48CH9/f42ygIAAjBw5EgCQnZ2NY8eOISIiQtpuYmICf39/HDx4sMh2s7KykJWVJX1OS0vTb+D/b+fZ2xj+23GDtE1ERMVjIgN+7OsD/9pOpR0KlaAylQAlJyfDyUnzC+rk5IS0tDQ8fvwY9+/fR15eXqF1zp07V2S7UVFRmDRpkkFifppcJoPClPPOiYheFTl5aqgFcPpGKhMgI1OmEiBDiYiIQHh4uPQ5LS0Nrq6uej9Oh3oV0aFeRb23S0RExTN2/SmsOJRU2mFQKShTCZCzszNu3bqlUXbr1i3Y2NhApVJBLpdDLpcXWsfZ2bnIdhUKBRQKhUFiJiKiV9eDjBwAwOzYC1ALQAgBtRDIyRO4ejcdruUskCcEhADUQiBPLaR6T7/PzM3DlZQMuNtbFqinFk/eq/+/nSfbnrx3sFZgWte6sLUwK+WeMD5lKgFq2rQptm7dqlG2Y8cONG3aFABgbm6ORo0aITY2VppMrVarERsbi7CwsJIOl4iIXnFbTt0EAKjFkyToZcXf1H0O6TtvOKNjfZeXPjbpplQToEePHuHixYvS58TERJw4cQLly5dHlSpVEBERgevXr2PZsmUAgCFDhuD777/H6NGj0b9/f/z5559YvXo1tmzZIrURHh6O4OBg+Pj4oEmTJpg5cybS09MRGhpa4udHRESvtpWD3kTPH/9GE7fyqOlsDRPZk7uS5SYy5KkFbj/MhFsFS8hNZJDJZDCRASb/v132/+/zy9RCIO1xLpxslTCRPZn3aSJ7qp5Jfv0nrzl/XsC55IfIU78SN2MbnVJNgI4ePYo2bdpIn/Pn4QQHB2PJkiW4efMmkpL+uzbr7u6OLVu2YNSoUZg1axYqV66Mn376CQEBAVKdoKAg3LlzBxMmTEBycjK8vb0RExNTYGI0ERHRm9Uq4MpXHUrl2HP+fDLiNGNHAm6mZiJPrUau+snlszy1wJW76bCzMIdcJvv/8ifb1WqB0zfS4G5vKV2Ky98vVy1w48FjZOeqUcFKAbVaIE/812b+5bcm7uUxM8gbMpmsVM79VfDKPAfoVWKo5wARERHlcxuz5cWVDOjEhHaws3i9nn/02j4HiIiI6HUx4d3amLw5Hl7O1nC2VcLZRgm5iQymJjLITUxgKpchOTUTlcupoDKTw0Ta9uS/dx5lwbWcBeT/X/ak3ARyEyA7T8DSXA6lmVzaln857r15BwAAxj78wQSIiIioFPRv7o7+zd1L9JhqzjeS8Kl8REREZHQ4AkRERESFUqsF0rNzkZWrRm6eQE6eGtl5apiayFClvEWZnkTNBIiIiMgIBf14EMmpmbBWmkFhZoLsXDX+vf8YJjJAYSpHdp76ubfofxZQE0PbVC/BiPWLCRAREZGReHrA5vytRwCAtMxcjTpqATzOySuwr6mJDKZyGdQCyM5VIyH5oUFjNTQmQEREREZCJpNhwQeNsP1MMvxrOcFM/uQZQxUszWFuagIzuQlMZDJYK02lz0ozE6jM5NLlrp/3JWLK5vhSPpOXxwSIiIjIiLzzhjPeeaPo9TGNBe8CIyIiIqPDBIiIiIiMDhMgIiIiMjpMgIiIiMjocBI0ERERaS1/DfVNJ2/ArYIFrJSmyMxRIzdPjXfru6CGk3UpR6gdJkBERESktZ1nb0nvZ/95UWPbsaT7WDHgzZIOqVh4CYyIiIi0Ft6upvS+rZcjajpZo2UNBwDAo2ceqvgq4wgQERERaa2Je3lc+aqDRtmf527hr/N3Simi4uEIEBERERkdJkBERERkdJgAERERkdFhAkRERERGhwkQERERGR0mQERERGR0mAARERGR0WECREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAERERkdFhAkRERERGhwkQERERvRQhnvz35L+pUKtF6QajJSZARERE9FLO33okvd9/KaUUI9FeqSdAc+fOhZubG5RKJXx9fXH48OEi6+bk5GDy5Mnw8PCAUqlE/fr1ERMTo1EnLy8P48ePh7u7O1QqFTw8PDBlyhQIUTYyUiIiorKmh09l6f2dh1mlGIn2SjUBWrVqFcLDwxEZGYm4uDjUr18fAQEBuH37dqH1x40bhx9++AFz5sxBfHw8hgwZgq5du+L48eNSnenTp2P+/Pn4/vvvcfbsWUyfPh1ff/015syZU1KnRUREZFQqWCngYqsEAEzdcha3H2aWckQvJhOlODTi6+uLxo0b4/vvvwcAqNVquLq6YtiwYRgzZkyB+i4uLhg7diyGDh0qlXXr1g0qlQq//PILAODdd9+Fk5MTfv755yLrvEhaWhpsbW2RmpoKGxublzlFIiIio+A2Zov0/vN3vPBRa48Sj0GXv9+lNgKUnZ2NY8eOwd/f/79gTEzg7++PgwcPFrpPVlYWlEqlRplKpcK+ffukz35+foiNjcX58+cBACdPnsS+ffvQvn17A5wFERERAcC8Pg2l949z8koxEu2YltaBU1JSkJeXBycnJ41yJycnnDt3rtB9AgICEB0djZYtW8LDwwOxsbFYt24d8vL+6+gxY8YgLS0NXl5ekMvlyMvLw9SpU9GnT58iY8nKykJW1n/XLNPS0l7y7IiIiIxLYN2KeKOSDU5fT8Ps2AuoX9kWb9VyevGOpaTUJ0HrYtasWfD09ISXlxfMzc0RFhaG0NBQmJj8dxqrV6/GihUr8OuvvyIuLg5Lly7Ft99+i6VLlxbZblRUFGxtbaWXq6trSZwOERHRa+Xf+4+l95tO3ijFSF6s1BIge3t7yOVy3Lp1S6P81q1bcHZ2LnQfBwcHbNiwAenp6bh69SrOnTsHKysrVKtWTarz2WefYcyYMejZsyfq1q2Lvn37YtSoUYiKiioyloiICKSmpkqva9eu6eckiYiIjMjfEW/BzsIMwH/PBnpVlVoCZG5ujkaNGiE2NlYqU6vViI2NRdOmTZ+7r1KpRKVKlZCbm4u1a9eic+fO0raMjAyNESEAkMvlUKvVRbanUChgY2Oj8SIiIiLdKM3kGN7Ws7TD0EqpzQECgPDwcAQHB8PHxwdNmjTBzJkzkZ6ejtDQUABAv379UKlSJWn05tChQ7h+/Tq8vb1x/fp1TJw4EWq1GqNHj5ba7NixI6ZOnYoqVaqgTp06OH78OKKjo9G/f/9SOUciIiJ69ZRqAhQUFIQ7d+5gwoQJSE5Ohre3N2JiYqSJ0UlJSRqjOZmZmRg3bhwuX74MKysrBAYGYvny5bCzs5PqzJkzB+PHj8fHH3+M27dvw8XFBYMHD8aECRNK+vSIiIjoFVWqzwF6VfE5QERERMWzaF8iJm+OR6f6Lpjdq0GJHrtMPAeIiIiIqLS8VAL09LNziIiIiMoKnRKgbdu2ITg4GNWqVYOZmRksLCxgY2ODVq1aYerUqbhx49W+55+IiIgI0DIBWr9+PWrUqIH+/fvD1NQUn3/+OdatW4ft27fjp59+QqtWrbBz505Uq1YNQ4YMwZ07dwwdNxEREVGxaXUX2Ndff43vvvsO7du3L/CMHQDo0aMHAOD69euYM2cOfvnlF4waNUq/kRIRERHpiVYJUFGLkz6rUqVK+Oqrr14qICIiIiJDK/Yk6OzsbCQkJCA3N1ef8RAREREZnM4JUEZGBj788ENYWFigTp06SEpKAgAMGzaMoz9ERERG7tKdRwCeLIaamZNXytEUTecEKCIiAidPnsTu3buhVCqlcn9/f6xatUqvwREREVHZon7q+cpnb6aVYiTPp/NSGBs2bMCqVavw5ptvQiaTSeV16tTBpUuX9BocERERlS1R79XDb4evAQC6zjuAptUqAADkJjIE+7mhXW2n0gxPonMCdOfOHTg6OhYoT09P10iIiIiIiA5eviu9T8/OfWUSIJ0vgfn4+GDLli3S5/yk56effkLTpk31FxkRERGVaV7O1njLyxGDW1UDAOSpX53lR3UeAZo2bRrat2+P+Ph45ObmYtasWYiPj8eBAwewZ88eQ8RIREREZciVrzpofP7z3C38sOdyKUVTOJ1HgJo3b44TJ04gNzcXdevWxR9//AFHR0ccPHgQjRo1MkSMRERERHql8wgQAHh4eGDhwoX6joWIiIioROg8AuTv748lS5YgLe3VvbWNiIiI6Hl0ToDq1KmDiIgIODs7o3v37ti4cSNycnIMERsRERGRQeicAM2aNQvXr1/Hhg0bYGlpiX79+sHJyQmDBg3iJGgiIiIqE4q1FpiJiQnefvttLFmyBLdu3cIPP/yAw4cPo23btvqOj4iIiEjvijUJOl9ycjJWrlyJX375Bf/88w+aNGmir7iIiIiIDEbnEaC0tDQsXrwY7dq1g6urK+bPn49OnTrhwoUL+Pvvvw0RIxEREZFe6TwC5OTkhHLlyiEoKAhRUVHw8fExRFxEREREBqNzArRp0ya89dZbMDEp1vQhIiIiolKncwLUrl07Q8RBREREVGK0SoAaNmyI2NhYlCtXDg0aNHjuqu9xcXF6C46IiIjIELRKgDp37gyFQiG9f14CRERERPSq0yoBioyMlN5PnDjRULEQERERlQidZzJXq1YNd+/eLVD+4MEDVKtWTS9BERERERmSzgnQlStXkJeXV6A8KysL//77r16CIiIiIjIkre8C27Rpk/R++/btsLW1lT7n5eUhNjYW7u7u+o2OiIiIyAC0ToC6dOkCAJDJZAgODtbYZmZmBjc3N8yYMUOvwREREREZgtYJkFqtBgC4u7vjyJEjsLe3N1hQRERERIak84MQExMTDREHERERUYnRKgGaPXs2Bg0aBKVSidmzZz+37vDhw/USGBEREZGhaJUAfffdd+jTpw+USiW+++67IuvJZDImQERERPTK0+o2+MTERFSoUEF6X9Tr8uXLOgcwd+5cuLm5QalUwtfXF4cPHy6ybk5ODiZPngwPDw8olUrUr18fMTExBepdv34dH3zwASpUqACVSoW6devi6NGjOsdGREREr6eXXtI9Ly8PJ06cwP3793Xed9WqVQgPD0dkZCTi4uJQv359BAQE4Pbt24XWHzduHH744QfMmTMH8fHxGDJkCLp27Yrjx49Lde7fv49mzZrBzMwM27ZtQ3x8PGbMmIFy5coV+xyJiIio+LJzBQDgn39TsebYq/HMQJkQQuiyw8iRI1G3bl18+OGHyMvLQ8uWLXHw4EFYWFhg8+bNaN26tdZt+fr6onHjxvj+++8BPLnTzNXVFcOGDcOYMWMK1HdxccHYsWMxdOhQqaxbt25QqVT45ZdfAABjxozB/v37sXfvXl1OS0NaWhpsbW2RmpoKGxubYrdDREREwPzdlzA95hwAoIKlOY6Nb2eQ4+jy91vnEaA1a9agfv36AID//e9/uHLlCs6dO4dRo0Zh7NixWreTnZ2NY8eOwd/f/79gTEzg7++PgwcPFrpPVlYWlEqlRplKpcK+ffukz5s2bYKPjw+6d+8OR0dHNGjQAAsXLnxuLFlZWUhLS9N4ERERkX70b+4mvc/JU5deIE/ROQFKSUmBs7MzAGDr1q3o3r07atSogf79++PUqVM6tZOXlwcnJyeNcicnJyQnJxe6T0BAAKKjo3HhwgWo1Wrs2LED69atw82bN6U6ly9fxvz58+Hp6Ynt27fjo48+wvDhw7F06dIiY4mKioKtra30cnV11fo8iIiI6PkUpnL8+Umr0g5Dg84JkJOTE+Lj45GXl4eYmBi0a/dkGCsjIwNyuVzvAT5t1qxZ8PT0hJeXF8zNzREWFobQ0FCYmPx3Gmq1Gg0bNsS0adPQoEEDDBo0CAMHDsSCBQuKbDciIgKpqanS69q1awY9DyIiIipdOidAoaGh6NGjB9544w3IZDLpEtahQ4fg5eWldTv29vaQy+W4deuWRvmtW7ekEaZnOTg4YMOGDUhPT8fVq1dx7tw5WFlZaaxCX7FiRdSuXVtjv1q1aiEpKanIWBQKBWxsbDReRERE9PrSOQGaOHEifvrpJwwaNAj79++HQqEAAMjl8kInLhfF3NwcjRo1QmxsrFSmVqsRGxuLpk2bPndfpVKJSpUqITc3F2vXrkXnzp2lbc2aNUNCQoJG/fPnz6Nq1apax0ZERESvN52XwgCA999/v0DZswukaiM8PBzBwcHw8fFBkyZNMHPmTKSnpyM0NBQA0K9fP1SqVAlRUVEAnowyXb9+Hd7e3rh+/TomTpwItVqN0aNHS22OGjUKfn5+mDZtGnr06IHDhw/jxx9/xI8//licUyUiIqLXULESoD179uDbb7/F2bNnAQC1a9fGZ599hhYtWujUTlBQEO7cuYMJEyYgOTkZ3t7eiImJkSZGJyUlaczvyczMxLhx43D58mVYWVkhMDAQy5cvh52dnVSncePGWL9+PSIiIjB58mS4u7tj5syZ6NOnT3FOlYiIiF5DOj8H6JdffkFoaCjee+89NGvWDACwf/9+rF+/HkuWLEHv3r0NEmhJ4nOAiIiI9OvynUdoO2MPbJSm+GdigEGOocvfb51HgKZOnYqvv/4ao0aNksqGDx+O6OhoTJky5bVIgIiIiOj1pvMk6MuXL6Njx44Fyjt16oTExES9BEVERERkSDonQK6urhp3buXbuXMnHyBIREREZYLOl8A++eQTDB8+HCdOnICfnx+AJ3OAlixZglmzZuk9QCIiInp9pGXmIi0zBzZKs1KNQ+cE6KOPPoKzszNmzJiB1atXA3jyoMFVq1ZpPI+HiIiIKF96Vp70ftXhaxjYstpzahtesW6D79q1K7p27arvWIiIiOg19Ual/+7KepiZU4qRPFGsBAgAjh49qvEcoEaNGuktKCIiInq9yGQy9GtaFcsOXi3tUAAUIwH6999/0atXL+zfv196AOGDBw/g5+eHlStXonLlyvqOkYiIiEivdL4LbMCAAcjJycHZs2dx79493Lt3D2fPnoVarcaAAQMMESMRERGRXuk8ArRnzx4cOHAANWvWlMpq1qyJOXPm6LwUBhEREVFpKNZzgHJyCk5eysvLg4uLi16CIiIiIjIknROgb775BsOGDcPRo0elsqNHj2LEiBH49ttv9RocERERkSHofAksJCQEGRkZ8PX1hanpk91zc3NhamqK/v37o3///lLde/fu6S9SIiIiIj3ROQGaOXOmAcIgIiIiKjk6J0DBwcGGiIOIiIioxOg8B4iIiIiorGMCREREREaHCRAREREZHSZAREREZHSYABEREZHRKVYCtGzZMmzcuFGjbOPGjVi2bJlegiIiIiIypGIlQCEhIYiIiNAo+/zzzxEaGqqXoIiIiIgMSefnAAGAWq0uUHbu3LmXDoaIiIioJHAOEBERERkdrUaA0tLStG7Qxsam2MEQERERlQStEiA7OzvIZLLn1hFCQCaTIS8vTy+BERERERmKVgnQrl27DB0HERERUYnRKgFq1aqVoeMgIiIiKjHFmgS9d+9efPDBB/Dz88P169cBAMuXL8e+ffv0GhwRERGRIeicAK1duxYBAQFQqVSIi4tD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CwwcOFDfsRARERGVCK0SoE2bNqF9+/YwMzPDpk2bnlu3U6dOegmMiIiIyFC0SoC6dOmC5ORkODo6SstLFEYmkyEvL09fsREREREZhFYJUP4Tn599T0RERFQW6XwbfGEePHigj2aIiIiISoTOCdD06dOxatUq6XP37t1Rvnx5VKpUCSdPntRrcERERESGoHMCtGDBAri6ugIAduzYgZ07dyImJgbt27fHZ599pvcAiYiIiPRN59vgk5OTpQRo8+bN6NGjB95++224ubnB19dX7wESERER6ZvOI0DlypXDtWvXAAAxMTHw9/cHAAgheAcYERERlQk6jwC999576N27Nzw9PXH37l20b98eAHD8+HFUr15d7wESERER6ZvOCdB3330HNzc3XLt2DV9//TWsrKwAADdv3sTHH3+s9wCJiIiI9E3nBMjMzAyffvppgfJRo0bpJSAiIiIiQ+NSGERERGR0uBQGERERGR0uhUFERERGRy9LYRARERGVJTonQMOHD8fs2bMLlH///fcYOXKkPmIiIiIiMiidE6C1a9eiWbNmBcr9/PywZs0avQRFREREZEg6J0B3796Fra1tgXIbGxukpKToJSgiIiIiQ9I5AapevTpiYmIKlG/btg3VqlXTS1BEREREhqTzgxDDw8MRFhaGO3fuoG3btgCA2NhYzJgxAzNnztR3fERERER6p3MC1L9/f2RlZWHq1KmYMmUKAMDNzQ3z589Hv3799B4gERERkb7pnAABwEcffYSPPvoId+7cgUqlktYDIyIiIioLivUcoNzcXOzcuRPr1q2DEAIAcOPGDTx69EivwREREREZgs4jQFevXsU777yDpKQkZGVloV27drC2tsb06dORlZWFBQsWGCJOIiIiIr3ReQRoxIgR8PHxwf3796FSqaTyrl27IjY2Vq/BERERERmCziNAe/fuxYEDB2Bubq5R7ubmhuvXr+stMCIiIiJD0XkESK1WF7ri+7///gtra2u9BEVERERkSDonQG+//bbG835kMhkePXqEyMhIBAYG6jM2IiIiIoPQ+RLYt99+i3feeQe1a9dGZmYmevfujQsXLsDe3h6//fabIWIkIiIi0iudR4BcXV1x8uRJjB07FqNGjUKDBg3w1Vdf4fjx43B0dNQ5gLlz58LNzQ1KpRK+vr44fPjwc+vPnDkTNWvWhEqlgqurK0aNGoXMzExpe15eHsaPHw93d3eoVCp4eHhgypQp0u36RERERDqNAOXk5MDLywubN29Gnz590KdPn5c6+KpVqxAeHo4FCxbA19cXM2fOREBAABISEgpNpn799VeMGTMGixYtgp+fH86fP4+QkBDIZDJER0cDAKZPn4758+dj6dKlqFOnDo4ePYrQ0FDY2tpi+PDhLxUvERERvR50GgEyMzPTGG15WdHR0Rg4cCBCQ0NRu3ZtLFiwABYWFli0aFGh9Q8cOIBmzZqhd+/ecHNzw9tvv41evXppjBodOHAAnTt3RocOHeDm5ob3338fb7/99gtHloiIiMh46HwJbOjQoZg+fTpyc3Nf6sDZ2dk4duwY/P39/wvGxAT+/v44ePBgofv4+fnh2LFjUjJz+fJlbN26VWPytZ+fH2JjY3H+/HkAwMmTJ7Fv3z60b9++yFiysrKQlpam8SIiIqLXl86ToI8cOYLY2Fj88ccfqFu3LiwtLTW2r1u3Tqt2UlJSkJeXBycnJ41yJycnnDt3rtB9evfujZSUFDRv3hxCCOTm5mLIkCH44osvpDpjxoxBWloavLy8IJfLkZeXh6lTpz73cl1UVBQmTZqkVdxERERU9uk8AmRnZ4du3bohICAALi4usLW11XgZ0u7duzFt2jTMmzcPcXFxWLduHbZs2SKtSg8Aq1evxooVK/Drr78iLi4OS5cuxbfffoulS5cW2W5ERARSU1Ol17Vr1wx6HkRERFS6dB4BWrx4sV4ObG9vD7lcjlu3bmmU37p1C87OzoXuM378ePTt2xcDBgwAANStWxfp6ekYNGgQxo4dCxMTE3z22WcYM2YMevbsKdW5evUqoqKiEBwcXGi7CoUCCoVCL+dFRERErz6tR4DUajWmT5+OZs2aoXHjxhgzZgweP35c7AObm5ujUaNGGuuHqdVqxMbGomnTpoXuk5GRARMTzZDlcjkASLe5F1VHrVYXO1YiIiJ6vWg9AjR16lRMnDgR/v7+UKlUmDVrFm7fvl3kHVvaCA8PR3BwMHx8fNCkSRPMnDkT6enpCA0NBQD069cPlSpVQlRUFACgY8eOiI6ORoMGDeDr64uLFy9i/Pjx6Nixo5QIdezYEVOnTkWVKlVQp04dHD9+HNHR0ejfv3+x4yQiIqLXi9YJ0LJlyzBv3jwMHjwYALBz50506NABP/30U4ERF20FBQXhzp07mDBhApKTk+Ht7Y2YmBhpYnRSUpJG2+PGjYNMJsO4ceNw/fp1ODg4SAlPvjlz5mD8+PH4+OOPcfv2bbi4uGDw4MGYMGFCsWIkIiKi149MaPmIZIVCgYsXL8LV1VUqUyqVuHjxIipXrmywAEtDWloabG1tkZqaChsbm9IOh4iI6LWxaF8iJm+OR6f6Lpjdq4Fe29bl77fWQze5ublQKpUaZWZmZsjJySlelERERESlROtLYEIIhISEaNwtlZmZiSFDhmg8C0jb5wARERERlRatE6DCbiH/4IMP9BoMERERUUnQOgHS1/N/iIiIiEpb8W7fIiIiIirDmAARERGR0WECREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAERERkdFhAkRERERGhwkQERERGR0mQERERGR0mAARERGR0WECREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAERERkdFhAkRERERGhwkQERERGR0mQERERGR0mAARERGR0WECREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERqfUE6C5c+fCzc0NSqUSvr6+OHz48HPrz5w5EzVr1oRKpYKrqytGjRqFzMxMjTrXr1/HBx98gAoVKkClUqFu3bo4evSoIU+DiIiIyhDT0jz4qlWrEB4ejgULFsDX1xczZ85EQEAAEhIS4OjoWKD+r7/+ijFjxmDRokXw8/PD+fPnERISAplMhujoaADA/fv30axZM7Rp0wbbtm2Dg4MDLly4gHLlypX06REREdErqlQToOjoaAwcOBChoaEAgAULFmDLli1YtGgRxowZU6D+gQMH0KxZM/Tu3RsA4Obmhl69euHQoUNSnenTp8PV1RWLFy+Wytzd3Q18JkRERFSWlNolsOzsbBw7dgz+/v7/BWNiAn9/fxw8eLDQffz8/HDs2DHpMtnly5exdetWBAYGSnU2bdoEHx8fdO/eHY6OjmjQoAEWLlz43FiysrKQlpam8SIiIqLXV6mNAKWkpCAvLw9OTk4a5U5OTjh37lyh+/Tu3RspKSlo3rw5hBDIzc3FkCFD8MUXX0h1Ll++jPnz5yM8PBxffPEFjhw5guHDh8Pc3BzBwcGFthsVFYVJkybpFH/+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2bVrV6H/3ub3bXBwsGjVqlWBfby9vYW5ubmoVq2aWLx4scHjlAnBcTwiIiIyLpwDREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAEb2mZDIZNmzYAAC4cuUKZDLZC1dpT0hIgLOzMx4+fGj4AAG4ublh5syZz60zceJEeHt7GzSO4hzj6f4trpCQEHTp0uWl2tC33bt3QyaT4cGDB8+tp83PThfx8fGoXLky0tPT9dYm0fMwASLSs5CQEMhkMshkMpiZmcHd3R2jR49GZmZmaYf2QhERERg2bBisra0B/PfHMP/l5OSEbt264fLly3o53pEjRzBo0CDpc2FJxaefflpgnSAyHD8/P9y8eRO2trYAgCVLlsDOzq5AvWd/di+rdu3aePPNNxEdHa23NomehwkQkQG88847uHnzJi5fvozvvvsOP/zwAyIjI0s7rOdKSkrC5s2bERISUmBbQkICbty4gd9//x1nzpxBx44dkZeX99LHdHBwgIWFxXPrWFlZoUKFCi99LNKOubk5nJ2dIZPJnltPm5+drkJDQzF//nzk5ubqtV2iwjABIjIAhUIBZ2dnuLq6okuXLvD398eOHTuk7Wq1GlFRUXB3d4dKpUL9+vWxZs0ajTbOnDmDd999FzY2NrC2tkaLFi1w6dIlAE/+77tdu3awt7eHra0tWrVqhbi4uJeKefXq1ahfvz4qVapUYJujoyMqVqyIli1bYsKECYiPj8fFixcBAPPnz4eHhwfMzc1Rs2ZNLF++XNpPCIGJEyeiSpUqUCgUcHFxwfDhw6XtT19GcXNzAwB07doVMplM+vz05ak//vgDSqWywOWZESNGoG3bttLnffv2oUWLFlCpVHB1dcXw4cN1urSibf/evHkT7du3h0qlQrVq1Qr8DK9du4YePXrAzs4O5cuXR+fOnXHlyhWt4yhM69atERYWhrCwMNja2sLe3h7jx4/XWJ38/v376NevH8qVKwcLCwu0b98eFy5ckLZfvXoVHTt2RLly5WBpaYk6depg69atADQvge3evRuhoaFITU2VRgEnTpwIQPNn17t3bwQFBWnEmZOTA3t7eyxbtgyAdt/5du3a4d69e9izZ89L9RGRNpgAERnY6dOnceDAAZibm0tlUVFRWLZsGRYsWIAzZ85g1KhR+OCDD6R/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "evaluate_embeddings_approach(labels=['An Amazon review with a negative sentiment.', 'An Amazon review with a positive sentiment.'], engine='text-embedding-ada-002')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As shown above, zero-shot classification with embeddings can lead to great results, especially when the labels are more descriptive than just simple words." ] } ], "metadata": { "kernelspec": { "display_name": "openai-cookbook", "language": "python", "name": "openai-cookbook" }, "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.9.6" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" } } }, "nbformat": 4, "nbformat_minor": 2 }