mirror of
https://github.com/openai/openai-cookbook
synced 2024-11-04 06:00:33 +00:00
2c441ab9a2
Co-authored-by: ayush rajgor <ayushrajgorar@gmail.com>
464 lines
83 KiB
Plaintext
464 lines
83 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Clustering for Transaction Classification\n",
|
|
"\n",
|
|
"This notebook covers use cases where your data is unlabelled but has features that can be used to cluster them into meaningful categories. The challenge with clustering is making the features that make those clusters stand out human-readable, and that is where we'll look to use GPT-3 to generate meaningful cluster descriptions for us. We can then use these to apply labels to a previously unlabelled dataset.\n",
|
|
"\n",
|
|
"To feed the model we use embeddings created using the approach displayed in the notebook [Multiclass classification for transactions Notebook](Multiclass_classification_for_transactions.ipynb), applied to the full 359 transactions in the dataset to give us a bigger pool for learning"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Setup"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"True"
|
|
]
|
|
},
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# optional env import\n",
|
|
"from dotenv import load_dotenv\n",
|
|
"load_dotenv()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# imports\n",
|
|
" \n",
|
|
"from openai import OpenAI\n",
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"from sklearn.cluster import KMeans\n",
|
|
"from sklearn.manifold import TSNE\n",
|
|
"import matplotlib\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import os\n",
|
|
"from ast import literal_eval\n",
|
|
"\n",
|
|
"client = OpenAI(api_key=os.environ.get(\"OPENAI_API_KEY\", \"<your OpenAI API key if not set as env var>\"))\n",
|
|
"COMPLETIONS_MODEL = \"gpt-3.5-turbo\"\n",
|
|
"\n",
|
|
"# This path leads to a file with data and precomputed embeddings\n",
|
|
"embedding_path = \"data/library_transactions_with_embeddings_359.csv\"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Clustering\n",
|
|
"\n",
|
|
"We'll reuse the approach from the [Clustering Notebook](Clustering.ipynb), using K-Means to cluster our dataset using the feature embeddings we created previously. We'll then use the Completions endpoint to generate cluster descriptions for us and judge their effectiveness"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>Date</th>\n",
|
|
" <th>Supplier</th>\n",
|
|
" <th>Description</th>\n",
|
|
" <th>Transaction value (£)</th>\n",
|
|
" <th>combined</th>\n",
|
|
" <th>n_tokens</th>\n",
|
|
" <th>embedding</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>21/04/2016</td>\n",
|
|
" <td>M & J Ballantyne Ltd</td>\n",
|
|
" <td>George IV Bridge Work</td>\n",
|
|
" <td>35098.0</td>\n",
|
|
" <td>Supplier: M & J Ballantyne Ltd; Description: G...</td>\n",
|
|
" <td>118</td>\n",
|
|
" <td>[-0.013169967569410801, -0.004833734128624201,...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>26/04/2016</td>\n",
|
|
" <td>Private Sale</td>\n",
|
|
" <td>Literary & Archival Items</td>\n",
|
|
" <td>30000.0</td>\n",
|
|
" <td>Supplier: Private Sale; Description: Literary ...</td>\n",
|
|
" <td>114</td>\n",
|
|
" <td>[-0.019571533426642418, -0.010801066644489765,...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>30/04/2016</td>\n",
|
|
" <td>City Of Edinburgh Council</td>\n",
|
|
" <td>Non Domestic Rates</td>\n",
|
|
" <td>40800.0</td>\n",
|
|
" <td>Supplier: City Of Edinburgh Council; Descripti...</td>\n",
|
|
" <td>114</td>\n",
|
|
" <td>[-0.0054041435942053795, -6.548957026097924e-0...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>09/05/2016</td>\n",
|
|
" <td>Computacenter Uk</td>\n",
|
|
" <td>Kelvin Hall</td>\n",
|
|
" <td>72835.0</td>\n",
|
|
" <td>Supplier: Computacenter Uk; Description: Kelvi...</td>\n",
|
|
" <td>113</td>\n",
|
|
" <td>[-0.004776035435497761, -0.005533686839044094,...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>09/05/2016</td>\n",
|
|
" <td>John Graham Construction Ltd</td>\n",
|
|
" <td>Causewayside Refurbishment</td>\n",
|
|
" <td>64361.0</td>\n",
|
|
" <td>Supplier: John Graham Construction Ltd; Descri...</td>\n",
|
|
" <td>117</td>\n",
|
|
" <td>[0.003290407592430711, -0.0073441751301288605,...</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" Date Supplier Description \\\n",
|
|
"0 21/04/2016 M & J Ballantyne Ltd George IV Bridge Work \n",
|
|
"1 26/04/2016 Private Sale Literary & Archival Items \n",
|
|
"2 30/04/2016 City Of Edinburgh Council Non Domestic Rates \n",
|
|
"3 09/05/2016 Computacenter Uk Kelvin Hall \n",
|
|
"4 09/05/2016 John Graham Construction Ltd Causewayside Refurbishment \n",
|
|
"\n",
|
|
" Transaction value (£) combined \\\n",
|
|
"0 35098.0 Supplier: M & J Ballantyne Ltd; Description: G... \n",
|
|
"1 30000.0 Supplier: Private Sale; Description: Literary ... \n",
|
|
"2 40800.0 Supplier: City Of Edinburgh Council; Descripti... \n",
|
|
"3 72835.0 Supplier: Computacenter Uk; Description: Kelvi... \n",
|
|
"4 64361.0 Supplier: John Graham Construction Ltd; Descri... \n",
|
|
"\n",
|
|
" n_tokens embedding \n",
|
|
"0 118 [-0.013169967569410801, -0.004833734128624201,... \n",
|
|
"1 114 [-0.019571533426642418, -0.010801066644489765,... \n",
|
|
"2 114 [-0.0054041435942053795, -6.548957026097924e-0... \n",
|
|
"3 113 [-0.004776035435497761, -0.005533686839044094,... \n",
|
|
"4 117 [0.003290407592430711, -0.0073441751301288605,... "
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df = pd.read_csv(embedding_path)\n",
|
|
"df.head()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(359, 1536)"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"embedding_df = pd.read_csv(embedding_path)\n",
|
|
"embedding_df[\"embedding\"] = embedding_df.embedding.apply(literal_eval).apply(np.array)\n",
|
|
"matrix = np.vstack(embedding_df.embedding.values)\n",
|
|
"matrix.shape"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"n_clusters = 5\n",
|
|
"\n",
|
|
"kmeans = KMeans(n_clusters=n_clusters, init=\"k-means++\", random_state=42, n_init=10)\n",
|
|
"kmeans.fit(matrix)\n",
|
|
"labels = kmeans.labels_\n",
|
|
"embedding_df[\"Cluster\"] = labels"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.5, 1.0, 'Clusters identified visualized in language 2d using t-SNE')"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAGzCAYAAAABsTylAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAADESUlEQVR4nOz9d3xc1Z34/7/u9KrRzKiNmmVJRjbYxrZopgRIDMaGJDiFkg0tCcuGBD58swm/sEk2kCUhkM1uGpAOCdmEBBanECChGUIwBFwAN9mSLUuWRm16b/f+/rg7Y400smVjWcXn+XjoYc+dOzNn7pT7nnPe530kRVEUBEEQBEEQZiDNdDdAEARBEARhIiJQEQRBEARhxhKBiiAIgiAIM5YIVARBEARBmLFEoCIIgiAIwowlAhVBEARBEGYsEagIgiAIgjBjiUBFEARBEIQZSwQqgiAIgiDMWCJQOQJNTU1cf/31092M4+rhhx9GkiS6u7sPu+90Hx9JkrjzzjuLtr3xxhucffbZWK1WJEli69at3HnnnUiSdEwf+4ILLuCCCy44ZvdX6rlMh7HtOJL3w7E02ffWsT5u119/PU1NTcfs/oSjd6w/Y5MhXv+ZQQQqQFdXFzfddBPNzc2YTCbKyso455xz+O53v0sikTgubYjH49x5551s2LDhuDzebPXUU09N+kSUyWT46Ec/it/v57//+7955JFHmDdv3tQ2UBCEcXbt2sXtt9/OsmXLsNvteDweLr30Ut58883pbtqM9cADD/Dwww8f0W3eeecdPvKRjzBv3jxMJhN1dXVcdNFFfP/73y/ar6mpCUmSuOWWW8bdx4YNG5Akiccff7ywLf8DZaK/11577aie42TppvTeZ4E///nPfPSjH8VoNHLttdeyePFi0uk0r7zyCl/4whfYvn07P/7xj6e8HfF4nLvuugvguP9qOJRrrrmGq666CqPRON1NAdRA5f777y8ZrCQSCXS6g2/prq4u9u/fz09+8hM+9alPFbZ/+ctf5otf/OLxaO5RG/tcZoqZ9n4Ya6YetxPdT3/6U372s5/x4Q9/mJtvvplQKMSPfvQjzjrrLJ555hlWrVo13U0s6Sc/+QmyLE/LYz/wwANUVFRMupf61Vdf5cILL6SxsZEbb7yRmpoaent7ee211/jud79bMij5yU9+wh133EFtbe2kHuNrX/sa8+fPH7e9tbV1Urc/Wif0J3rfvn1cddVVzJs3jxdeeAGPx1O47jOf+QydnZ38+c9/nsYWvnuxWAyr1XrUt9dqtWi12mPYoqljMpmKLg8NDQFQXl5etF2n0834k9nY5zJTzPT3w0w9bie6q6++mjvvvBObzVbY9olPfIJFixZx5513zthARa/XT3cTJu3rX/86DoeDN954Y9x3Xv67cLRTTjmFjo4OvvnNb/K9731vUo+xZs0aTjvttGPR3CNyQg/93HfffUSjUX72s58VBSl5ra2t/L//9/8mvP1EuQ6lxvHffPNNVq9eTUVFBWazmfnz5/OJT3wCgO7ubiorKwG46667Ct1po3sNdu3axUc+8hFcLhcmk4nTTjuNP/7xjyUf96WXXuLmm2+mqqqK+vp6ACKRCLfddhtNTU0YjUaqqqq46KKL2Lx58yGPUannoigKd999N/X19VgsFi688EK2b99e8vbBYJDbbruNhoYGjEYjra2t3HvvvUW/Urq7u5Ekif/8z//kxz/+MS0tLRiNRk4//XTeeOONwn7XX389999/P0BRt2Pe6GN2/fXXc/755wPw0Y9+FEmSCj1VE71uv/rVr2hvb8dsNuNyubjqqqvo7e0dt1++jWazmTPOOIO//e1vhzyGeYsXL+bCCy8ct12WZerq6vjIRz5S8rnA5F6/ifI4xo7tp9Np/v3f/5329nYcDgdWq5XzzjuPF1988bDPYez7IX8sS/2Nbossy3znO9/hlFNOwWQyUV1dzU033UQgECi6/yN5b5Uy9rjl29fZ2cn1119PeXk5DoeDG264gXg8Pun7He0///M/Ofvss3G73ZjNZtrb24u6yUe35bOf/Sy///3vWbx4MUajkVNOOYVnnnlm3L4bNmzgtNNOw2Qy0dLSwo9+9KNx79P856TUcMDY571//35uvvlm2traMJvNuN1uPvrRj5bMLXr77bc5//zzMZvN1NfXc/fdd/PQQw+VzEV6+umnOe+887Bardjtdi699NJJvT7t7e1FQQqA2+3mvPPOY+fOneP2P9rP2JEco8l8psbmqEz2uyrvscce4+STT8ZkMrF48WLWr18/qbyXpqYmtm/fzksvvVT4PB2up72rq4tTTjllXJACUFVVVfIxrr32Wn7yk5/Q399/yPuebjP7Z+UU+9Of/kRzczNnn332lD7O0NAQF198MZWVlXzxi1+kvLyc7u5unnjiCQAqKyt58MEH+fSnP826dev40Ic+BMDSpUsB2L59O+eccw51dXV88YtfxGq18rvf/Y7LL7+c//3f/2XdunVFj3fzzTdTWVnJv//7vxOLxQD4l3/5Fx5//HE++9nPcvLJJ+Pz+XjllVfYuXMnK1asOKLn8+///u/cfffdrF27lrVr17J582Yuvvhi0ul00X7xeJzzzz+fvr4+brrpJhobG3n11Ve544478Hq9fOc73yna/9e//jWRSISbbroJSZK47777+NCHPsTevXvR6/XcdNNN9Pf38+yzz/LII48cso033XQTdXV1fOMb3+DWW2/l9NNPp7q6esL9v/71r/OVr3yFK664gk996lMMDw/z/e9/n/e85z1s2bKl8OH/2c9+xk033cTZZ5/Nbbfdxt69e/nABz6Ay+WioaHhkG268sorufPOOxkYGKCmpqaw/ZVXXqG/v5+rrrpqwtsey9cvHA7z05/+lKuvvpobb7yRSCTCz372M1avXs0//vEPli1bNun7+tCHPjSu23fTpk185zvfKfpyvOmmm3j44Ye54YYbuPXWW9m3bx8/+MEP2LJlC3//+98Lv1wn+946UldccQXz58/nnnvuYfPmzfz0pz+lqqqKe++994jv67vf/S4f+MAH+Kd/+ifS6TSPPvooH/3oR3nyySe59NJLi/Z95ZVXeOKJJ7j55pux2+1873vf48Mf/jA9PT243W4AtmzZwiWXXILH4+Guu+4il8vxta99rfDj5Wi88cYbvPrqq1x11VXU19fT3d3Ngw8+yAUXXMCOHTuwWCwA9PX1ceGFFyJJEnfccQdWq5Wf/vSnJYf2HnnkEa677jpWr17NvffeSzwe58EHH+Tcc89ly5YtR5V0OjAwQEVFRdG2d/MZOxLv5jN1uO8qUNMKrrzySpYsWcI999xDIBDgk5/8JHV1dYdt23e+8x1uueUWbDYbX/rSlwAO+f0FMG/ePDZu3Mi2bdtYvHjxpI7Bl770JX75y19OulclFAoxMjJStE2SpMJ7ecooJ6hQKKQAygc/+MFJ32bevHnKddddV7j81a9+VSl1CB966CEFUPbt26coiqKsX79eAZQ33nhjwvseHh5WAOWrX/3quOve9773KUuWLFGSyWRhmyzLytlnn60sWLBg3OOee+65SjabLboPh8OhfOYzn5nkM534uQwNDSkGg0G59NJLFVmWC/v927/9mwIUHZ//+I//UKxWq7J79+6i+/ziF7+oaLVapaenR1EURdm3b58CKG63W/H7/YX9/vCHPyiA8qc//amw7TOf+UzJY64oyrjj9+KLLyqA8thjjxXtN/Z16+7uVrRarfL1r3+9aL933nlH0el0he3pdFqpqqpSli1bpqRSqcJ+P/7xjxVAOf/880u2K6+jo0MBlO9///tF22+++WbFZrMp8Xh8wucymddv7Psz7/zzzy9qWzabLWq/oihKIBBQqqurlU984hNF28e2Y+z7Yazh4WGlsbFRWbJkiRKNRhVFUZS//e1vCqD8z//8T9G+zzzzTNH2I3lvTWRse/Ov9djntW7dOsXtdh/2/q677jpl3rx5RdtGv06Kor4vFi9erLz3ve8d1xaDwaB0dnYWtr311lvj3gPvf//7FYvFovT19RW27dmzR9HpdEXv0/zn5KGHHjrs8x7bRkVRlI0bNyqA8stf/rKw7ZZbblEkSVK2bNlS2Obz+RSXy1X0OkciEaW8vFy58cYbi+5zYGBAcTgc47ZPxssvv6xIkqR85StfKWx7t5+xIzlGk/lMjX39j+S7asmSJUp9fb0SiUQK2zZs2KAA495TpZxyyimHfb6j/fWvf1W0Wq2i1WqVlStXKrfffrvyl7/8RUmn0+P2nTdvnnLppZcqiqIoN9xwg2IymZT+/n5FUUp/b+Y/96X+jEbjpNt4tE7YoZ9wOAyA3W6f8sfK/xp/8sknyWQyR3Rbv9/PCy+8wBVXXEEkEmFkZISRkRF8Ph+rV69mz5499PX1Fd3mxhtvHJdHUF5ezuuvv/6uu/iee+450uk0t9xyS1G39G233TZu38cee4zzzjsPp9NZaPfIyAirVq0il8vx8ssvF+1/5ZVX4nQ6C5fPO+88APbu3fuu2nw4TzzxBLIsc8UVVxS1s6amhgULFhSGRN58802Ghob4l3/5FwwGQ+H2119/PQ6H47CPc9JJJ7Fs2TJ++9vfFrblcjkef/xx3v/+92M2mye87bF6/UDNM8m3X5Zl/H4/2WyW00477bBDgYeSy+W4+uqriUQirF+/vpAb9dhjj+FwOLjooouKjm9+OCB/fI/kvXWk/uVf/qXo8nnnnYfP5yt8DxyJ0a9TIBAgFApx3nnnlTx2q1atoqWlpXB56dKllJWVFd7TuVyO5557jssvv7woobG1tZU1a9YccdtKtTGTyeDz+WhtbaW8vLyonc888wwrV64s6kVzuVz80z/9U9H9PfvsswSDQa6++uqi11Cr1XLmmWdOathwtKGhIT72sY8xf/58br/99sL2d/sZOxLv5jN1uO+q/v5+3nnnHa699tqiIa/zzz+fJUuWvMuWl3bRRRexceNGPvCBD/DWW29x3333sXr1aurq6salCYz25S9/mWw2yze/+c3DPsb999/Ps88+W/T39NNPH8unUdIJO/RTVlYGqOOUU+3888/nwx/+MHfddRf//d//zQUXXMDll1/Oxz72scPOnujs7ERRFL7yla/wla98peQ+Q0NDRd2JpbKy77vvPq677joaGhpob29n7dq1XHvttTQ3Nx/Rc9m/fz8ACxYsKNpeWVlZ9MEF2LNnD2+//faEXdhjE7waGxuLLufvb2wew7G2Z88eFEUZ95zy8l25Ez13vV4/6eN45ZVX8m//9m/09fVRV1fHhg0bGBoa4sorrzzk7Y7V65f3i1/8gm9/+9vs2rWrKHgu9d6ZrC9/+cu88MIL/PnPfy46Oe/Zs4dQKFRynBwOvg+O5L11pA713sp/F0zWk08+yd13383WrVtJpVKF7aXynsY+bv6x8+/poaEhEolEyVkT72YmRSKR4J577uGhhx6ir68PRVEK14VCocL/9+/fz8qVKw/72Hv27AHgve99b8nHO5JjGIvFuOyyy4hEIrzyyitFJ/Jj8RmbrHfzmTrcd1X+eUz0uh7tD4JcLsfw8HDRNpfLVQjqTj/9dJ544gnS6TRvvfUW69ev57//+7/5yEc+wtatWzn55JPH3WdzczPXXHMNP/7xjw87G/KMM86YlmTaEzpQqa2tZdu2bUd9HxMVDcvlcuP2e/zxx3nttdf405/+xF/+8hc+8YlP8O1vf5vXXnttXJLZaPmk089//vOsXr265D5jPwylfplfccUVnHfeeaxfv56//vWvfOtb3+Lee+/liSeeeFe/3A5FlmUuuuiiol9Mo5100klFlyeaTTL6S3YqyLKMJEk8/fTTJdtwqNfnSF155ZXccccdPPbYY9x222387ne/w+FwcMkllxzydpN5/Q71fhz9vH71q19x/fXXc/nll/OFL3yBqqoqtFot99xzD11dXUf1vH7/+99z77338h//8R/jnossy1RVVfE///M/JW/7bnIxJutYvbf+9re/8YEPfID3vOc9PPDAA3g8HvR6PQ899BC//vWvp+xxYfLfNwC33HILDz30ELfddhsrV67E4XAgSRJXXXXVUU23zd/mkUceKcqvypvsLLp0Os2HPvQh3n77bf7yl79MOpdiso7kGL2b78Tp+q7q7e0d92PixRdfHJdoazAYOP300zn99NM56aSTuOGGG3jsscf46le/WvJ+v/SlL/HII49w7733cvnll09R64/eCRuoAFx22WX8+Mc/ZuPGjSV/VRxOPooOBoNFmdb5aHqss846i7POOouvf/3r/PrXv+af/umfePTRR/nUpz414QcsH93r9fp3PYXP4/Fw8803c/PNNzM0NMSKFSv4+te/fkSBSr5g2p49e4p+eQwPD4/r+WhpaSEajR7TqYfHuqIsqO1UFIX58+ePC55GG/3cR/+yzGQy7Nu3j1NPPfWwjzV//nzOOOMMfvvb3/LZz36WJ554gssvv3xSdUkO9/o5nU6CweC42+3fv7/otXr88cdpbm7miSeeKDqeE32JHc7u3bu57rrruPzyy/m3f/u3cde3tLTw3HPPcc455xxyeOtI3lvT5X//938xmUz85S9/KXrNHnrooaO6v6qqKkwmE52dneOuG7tt9PfNaKW+bx5//HGuu+46vv3tbxe2JZPJcbedN2/epB4730NWVVV11J9nWZa59tpref755/nd735XmJU3tj1w9J+xIzlGcGy+E0vJP4/JHNuJlPquq6mp4dlnny3adrhjku8B8Xq9E+7T0tLCxz/+cX70ox9x5plnTqp9x9MJm6MCcPvtt2O1WvnUpz7F4ODguOu7urr47ne/O+Ht8x/e0bkWsViMX/ziF0X7BQKBcZF2fkw433Wcz8If+wGrqqriggsu4Ec/+lHJN9rYbsBScrlcUXdv/n5ra2uLuq4nY9WqVej1er7//e8XPaexM3hA/cWyceNG/vKXv4y7LhgMks1mj+ixgULeQ6kT8tH60Ic+hFar5a677hr3OimKgs/nA9QPfGVlJT/84Q+LZqE8/PDDR9SeK6+8ktdee42f//znjIyMHHbYZ7KvX0tLC6+99lpR25588slxU6zzvwZHP9fXX3+djRs3Tvo55EWjUdatW0ddXR2/+MUvSn65XnHFFeRyOf7jP/5j3HXZbLZw7I7kvTVdtFotkiQV/ULv7u7m97///VHf36pVq/j9739flCvR2dk5buy/rKyMioqKcbldDzzwQMn7Hfte/v73vz+uZ2H16tVs3LiRrVu3Frb5/f5xvV+rV6+mrKyMb3zjGyXz7CbzPXTLLbfw29/+lgceeKAws3Gsd/sZm+wxOpbfiaXU1tayePFifvnLXxKNRgvbX3rpJd55551J3YfVah33nE0mE6tWrSr6ywdnL774YskenaeeegqAtra2Qz7el7/8ZTKZDPfdd9+k2nc8ndA9Ki0tLfz617/myiuvZNGiRUWVaV999VUee+yxQ1YFvPjii2lsbOSTn/wkX/jCF9Bqtfz85z+nsrKSnp6ewn6/+MUveOCBB1i3bh0tLS1EIhF+8pOfUFZWxtq1awF1uObkk0/mt7/9LSeddBIul4vFixezePFi7r//fs4991yWLFnCjTfeSHNzM4ODg2zcuJEDBw7w1ltvHfJ5RiIR6uvr+chHPsKpp56KzWbjueee44033ij6xTUZlZWVfP7zn+eee+7hsssuY+3atWzZsoWnn3563DTDL3zhC/zxj3/ksssu4/rrr6e9vZ1YLMY777zD448/Tnd397jbHE57ezsAt956K6tXr0ar1R5yWu9ktLS0cPfdd3PHHXfQ3d3N5Zdfjt1uZ9++faxfv55//ud/5vOf/zx6vZ67776bm266ife+971ceeWV7Nu3j4ceeuiIxs+vuOIKPv/5z/P5z38el8t12F+ok339PvWpT/H4449zySWXcMUVV9DV1cWvfvWronwRUHsSn3jiCdatW8ell17Kvn37+OEPf8jJJ59c9KU6GXfddRc7duzgy1/+Mn/4wx+KrmtpaWHlypWcf/753HTTTdxzzz1s3bqViy++GL1ez549e3jsscf47ne/y0c+8pEjem9Nl0svvZT/+q//4pJLLuFjH/sYQ0ND3H///bS2tvL2228f1X3eeeed/PWvf+Wcc87h05/+NLlcjh/84AcsXry4KIAA9TX+5je/yac+9SlOO+00Xn75ZXbv3j3uPi+77DIeeeQRHA4HJ598Mhs3buS5554bN4309ttv51e/+hUXXXQRt9xyS2F6cmNjI36/vxB4lpWV8eCDD3LNNdewYsUKrrrqqsL33J///GfOOeccfvCDH0z4HL/zne/wwAMPsHLlSiwWC7/61a+Krl+3bh1Wq/WYfMYmc4yO5XfiRL7xjW/wwQ9+kHPOOYcbbriBQCBQeF0n8zlrb2/nwQcf5O6776a1tZWqqqoJc4RADQTj8Tjr1q1j4cKFhfPYb3/7W5qamrjhhhsO+Xj5XpWxP7RHe/rpp9m1a9e47WefffYxzyEqMuXzimaB3bt3KzfeeKPS1NSkGAwGxW63K+ecc47y/e9/v2hKcKnpn5s2bVLOPPNMxWAwKI2Njcp//dd/jZvCuXnzZuXqq69WGhsbFaPRqFRVVSmXXXaZ8uabbxbd16uvvqq0t7crBoNh3FS6rq4u5dprr1VqamoUvV6v1NXVKZdddpny+OOPF/bJP+7YadCpVEr5whe+oJx66qmK3W5XrFarcuqppyoPPPDAYY9NqemouVxOueuuuxSPx6OYzWblggsuULZt21by+EQiEeWOO+5QWltbFYPBoFRUVChnn3228p//+Z+FaXP5KX/f+ta3xj3+2OOQzWaVW265RamsrFQkSSqavjl238lOT8773//9X+Xcc89VrFarYrValYULFyqf+cxnlI6OjqL9HnjgAWX+/PmK0WhUTjvtNOXll18eNwX4cM455xwFUD71qU+VvH70czmS1+/b3/62UldXpxiNRuWcc85R3nzzzXFtk2VZ+cY3vqHMmzdPMRqNyvLly5Unn3yy5FTcscd07Pvhuuuum3Da4tj3wo9//GOlvb1dMZvNit1uV5YsWaLcfvvthWmRinJk763DHTdFOfhaDw8PF+13uGnWeaWOyc9+9jNlwYIFitFoVBYuXKg89NBDJd9TQMnpr6Wey/PPP68sX75cMRgMSktLi/LTn/5U+dd//VfFZDIV7RePx5VPfvKTisPhUOx2u3LFFVcoQ0ND4553IBBQbrjhBqWiokKx2WzK6tWrlV27dpV87C1btijnnXeeYjQalfr6euWee+5Rvve97ymAMjAwULTviy++qKxevVpxOByKyWRSWlpalOuvv37cd1mp4zjR+6TU6/BuPmOTOUaT/UxNND15Mt9ViqIojz76qLJw4ULFaDQqixcvVv74xz8qH/7wh5WFCxce9nkMDAwol156qWK32yc1Nfvpp59WPvGJTygLFy5UbDabYjAYlNbWVuWWW25RBgcHi/YdPT15tD179iharfaIpiczwXTwY0lSlCnO/hEEQRCO2OWXX8727dsLM26Op9tuu40f/ehHRKPRGb1kwmy0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",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"tsne = TSNE(\n",
|
|
" n_components=2, perplexity=15, random_state=42, init=\"random\", learning_rate=200\n",
|
|
")\n",
|
|
"vis_dims2 = tsne.fit_transform(matrix)\n",
|
|
"\n",
|
|
"x = [x for x, y in vis_dims2]\n",
|
|
"y = [y for x, y in vis_dims2]\n",
|
|
"\n",
|
|
"for category, color in enumerate([\"purple\", \"green\", \"red\", \"blue\",\"yellow\"]):\n",
|
|
" xs = np.array(x)[embedding_df.Cluster == category]\n",
|
|
" ys = np.array(y)[embedding_df.Cluster == category]\n",
|
|
" plt.scatter(xs, ys, color=color, alpha=0.3)\n",
|
|
"\n",
|
|
" avg_x = xs.mean()\n",
|
|
" avg_y = ys.mean()\n",
|
|
"\n",
|
|
" plt.scatter(avg_x, avg_y, marker=\"x\", color=color, s=100)\n",
|
|
"plt.title(\"Clusters identified visualized in language 2d using t-SNE\")\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Cluster 0 Theme:\n",
|
|
"\n",
|
|
"The common theme among these transactions is that they all involve spending money on various expenses such as electricity, non-domestic rates, IT equipment, computer equipment, and the purchase of an electric van.\n",
|
|
"\n",
|
|
"\n",
|
|
"EDF ENERGY, Electricity Oct 2019 3 buildings\n",
|
|
"City Of Edinburgh Council, Non Domestic Rates \n",
|
|
"EDF, Electricity\n",
|
|
"EX LIBRIS, IT equipment\n",
|
|
"City Of Edinburgh Council, Non Domestic Rates \n",
|
|
"CITY OF EDINBURGH COUNCIL, Rates for 33 Salisbury Place\n",
|
|
"EDF Energy, Electricity\n",
|
|
"XMA Scotland Ltd, IT equipment\n",
|
|
"Computer Centre UK Ltd, Computer equipment\n",
|
|
"ARNOLD CLARK, Purchase of an electric van\n",
|
|
"----------------------------------------------------------------------------------------------------\n",
|
|
"\n",
|
|
"\n",
|
|
"Cluster 1 Theme:\n",
|
|
"\n",
|
|
"The common theme among these transactions is that they all involve payments for various goods and services. Some specific examples include student bursary costs, collection of papers, architectural works, legal deposit services, papers related to Alisdair Gray, resources on slavery abolition and social justice, collection items, online/print subscriptions, ALDL charges, and literary/archival items.\n",
|
|
"\n",
|
|
"\n",
|
|
"Institute of Conservation, This payment covers 2 invoices for student bursary costs\n",
|
|
"PRIVATE SALE, Collection of papers of an individual\n",
|
|
"LEE BOYD LIMITED, Architectural Works\n",
|
|
"ALDL, Legal Deposit Services\n",
|
|
"RICK GEKOSKI, Papers 1970's to 2019 Alisdair Gray\n",
|
|
"ADAM MATTHEW DIGITAL LTD, Resource - slavery abolution and social justice\n",
|
|
"PROQUEST INFORMATION AND LEARN, This payment covers multiple invoices for collection items\n",
|
|
"LM Information Delivery UK LTD, Payment of 18 separate invoice for Online/Print subscriptions Jan 20-Dec 20\n",
|
|
"ALDL, ALDL Charges\n",
|
|
"Private Sale, Literary & Archival Items\n",
|
|
"----------------------------------------------------------------------------------------------------\n",
|
|
"\n",
|
|
"\n",
|
|
"Cluster 2 Theme:\n",
|
|
"\n",
|
|
"The common theme among these transactions is that they all involve spending money at Kelvin Hall.\n",
|
|
"\n",
|
|
"\n",
|
|
"CBRE, Kelvin Hall\n",
|
|
"GLASGOW CITY COUNCIL, Kelvin Hall\n",
|
|
"University Of Glasgow, Kelvin Hall\n",
|
|
"GLASGOW LIFE, Oct 20 to Dec 20 service charge - Kelvin Hall\n",
|
|
"Computacenter Uk, Kelvin Hall\n",
|
|
"XMA Scotland Ltd, Kelvin Hall\n",
|
|
"GLASGOW LIFE, Service Charges Kelvin Hall 01/07/19-30/09/19\n",
|
|
"Glasgow Life, Kelvin Hall Service Charges\n",
|
|
"Glasgow City Council, Kelvin Hall\n",
|
|
"GLASGOW LIFE, Quarterly service charge KH\n",
|
|
"----------------------------------------------------------------------------------------------------\n",
|
|
"\n",
|
|
"\n",
|
|
"Cluster 3 Theme:\n",
|
|
"\n",
|
|
"The common theme among these transactions is that they all involve payments for facility management fees and services provided by ECG Facilities Service.\n",
|
|
"\n",
|
|
"\n",
|
|
"ECG FACILITIES SERVICE, This payment covers multiple invoices for facility management fees\n",
|
|
"ECG FACILITIES SERVICE, Facilities Management Charge\n",
|
|
"ECG FACILITIES SERVICE, Inspection and Maintenance of all Library properties\n",
|
|
"ECG Facilities Service, Facilities Management Charge\n",
|
|
"ECG FACILITIES SERVICE, Maintenance contract - October\n",
|
|
"ECG FACILITIES SERVICE, Electrical and mechanical works\n",
|
|
"ECG FACILITIES SERVICE, This payment covers multiple invoices for facility management fees\n",
|
|
"ECG FACILITIES SERVICE, CB Bolier Replacement (1),USP Batteries,Gutter Works & Cleaning of pigeon fouling\n",
|
|
"ECG Facilities Service, Facilities Management Charge\n",
|
|
"ECG Facilities Service, Facilities Management Charge\n",
|
|
"----------------------------------------------------------------------------------------------------\n",
|
|
"\n",
|
|
"\n",
|
|
"Cluster 4 Theme:\n",
|
|
"\n",
|
|
"The common theme among these transactions is that they all involve construction or refurbishment work.\n",
|
|
"\n",
|
|
"\n",
|
|
"M & J Ballantyne Ltd, George IV Bridge Work\n",
|
|
"John Graham Construction Ltd, Causewayside Refurbishment\n",
|
|
"John Graham Construction Ltd, Causewayside Refurbishment\n",
|
|
"John Graham Construction Ltd, Causewayside Refurbishment\n",
|
|
"John Graham Construction Ltd, Causewayside Refurbishment\n",
|
|
"ARTHUR MCKAY BUILDING SERVICES, Causewayside Work\n",
|
|
"John Graham Construction Ltd, Causewayside Refurbishment\n",
|
|
"Morris & Spottiswood Ltd, George IV Bridge Work\n",
|
|
"ECG FACILITIES SERVICE, Causewayside IT Work\n",
|
|
"John Graham Construction Ltd, Causewayside Refurbishment\n",
|
|
"----------------------------------------------------------------------------------------------------\n",
|
|
"\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# We'll read 10 transactions per cluster as we're expecting some variation\n",
|
|
"transactions_per_cluster = 10\n",
|
|
"\n",
|
|
"for i in range(n_clusters):\n",
|
|
" print(f\"Cluster {i} Theme:\\n\")\n",
|
|
"\n",
|
|
" transactions = \"\\n\".join(\n",
|
|
" embedding_df[embedding_df.Cluster == i]\n",
|
|
" .combined.str.replace(\"Supplier: \", \"\")\n",
|
|
" .str.replace(\"Description: \", \": \")\n",
|
|
" .str.replace(\"Value: \", \": \")\n",
|
|
" .sample(transactions_per_cluster, random_state=42)\n",
|
|
" .values\n",
|
|
" )\n",
|
|
" response = client.chat.completions.create(\n",
|
|
" model=COMPLETIONS_MODEL,\n",
|
|
" # We'll include a prompt to instruct the model what sort of description we're looking for\n",
|
|
" messages=[\n",
|
|
" {\"role\": \"user\",\n",
|
|
" \"content\": f'''We want to group these transactions into meaningful clusters so we can target the areas we are spending the most money. \n",
|
|
" What do the following transactions have in common?\\n\\nTransactions:\\n\"\"\"\\n{transactions}\\n\"\"\"\\n\\nTheme:'''}\n",
|
|
" ],\n",
|
|
" temperature=0,\n",
|
|
" max_tokens=100,\n",
|
|
" top_p=1,\n",
|
|
" frequency_penalty=0,\n",
|
|
" presence_penalty=0,\n",
|
|
" )\n",
|
|
" print(response.choices[0].message.content.replace(\"\\n\", \"\"))\n",
|
|
" print(\"\\n\")\n",
|
|
"\n",
|
|
" sample_cluster_rows = embedding_df[embedding_df.Cluster == i].sample(transactions_per_cluster, random_state=42)\n",
|
|
" for j in range(transactions_per_cluster):\n",
|
|
" print(sample_cluster_rows.Supplier.values[j], end=\", \")\n",
|
|
" print(sample_cluster_rows.Description.values[j], end=\"\\n\")\n",
|
|
"\n",
|
|
" print(\"-\" * 100)\n",
|
|
" print(\"\\n\")\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Conclusion\n",
|
|
"\n",
|
|
"We now have five new clusters that we can use to describe our data. Looking at the visualisation some of our clusters have some overlap and we'll need some tuning to get to the right place, but already we can see that GPT-3 has made some effective inferences. In particular, it picked up that items including legal deposits were related to literature archival, which is true but the model was given no clues on. Very cool, and with some tuning we can create a base set of clusters that we can then use with a multiclass classifier to generalise to other transactional datasets we might use."
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"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.6"
|
|
},
|
|
"vscode": {
|
|
"interpreter": {
|
|
"hash": "365536dcbde60510dc9073d6b991cd35db2d9bac356a11f5b64279a5e6708b97"
|
|
}
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|