{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Practical 12 \n",
"\n",
"This practical has two parts (jupyter notebooks), **Part I: Word embeddings** and **Part II: Transformers**.\n",
"\n",
"# Part I: Word embeddings\n",
"\n",
"This Jupyter Notebook consists of the following parts:\n",
"1. [Word Embeddings](#word_embeddings) \n",
" 1. [Word2Vec](#word2vec) \n",
" 2. [Word2Vec Architectures](#word2vec_arch) \n",
" 3. [Word Embeddings Visualisation](#visual)\n",
"2. [Exploring Word Vectors with GloVe](glove)\n",
" 1. [Loading Word Vectors](#loading)\n",
" 2. [Finding Closest Vectors](#finding)\n",
" 3. [Word Analogies with Vector Arithmetic](#analogies)\n",
"3. [Motivation for Part II: Transformers](#transformers)\n",
"\n",
"\n",
"Check out a supplementary jupyter notebook for Part I, if interested in Skip-Gram implementation."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"# Word embeddings"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Word2Vec\n",
"\n",
"There are two classes of vector models: count-based (TF-IDF, Bag-of-Words) and neural-based. In this practical we will be focusing on neural word embeddings, i.e. word embeddings learned by a neural network.\n",
"\n",
"**Main idea:** to use neural architectures that are predicting (not counting) the next word or a context of a given word.\n",
"\n",
"One of the most known such models is **Word2Vec**. It is based on a neural network that is predicting the probability of a word given it's context. It was created by Mikolov et al. (2013). Here are the main papers on the topic:\n",
"\n",
"* [Efficient Estimation of Word Representations in Vector Space](https://arxiv.org/pdf/1301.3781.pdf)\n",
"* [Distributed Representations of Words and Phrases and their Compositionality](https://arxiv.org/abs/1310.4546)\n",
"\n",
"These vectors are ususally reffered to as **_distributed representations of words_** or **_word embeddings_**.\n",
"\n",
"_As word embeddings are a key building block of deep learning models for NLP, word2vec is often assumed to belong to the same group. Technically however, word2vec is not be considered to be part of deep learning, as its architecture is neither deep nor uses non-linearities_ \n",
"\n",
"*a quote from [Sebastian Ruder's blog](https://ruder.io/word-embeddings-1/) \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Word2Vec Architectures\n",
"\n",
"There are two Word2Vec architectures: Skip-Gram and CBOW.\n",
"\n",
"**Skip-Gram** predicts context words given the central word. Skip-Gram with negative sampling is the most popular approach.\n",
"\n",
"**CBOW (Continuous Bag-of-Words)** predicts the central word from the sum of context vectors. This simple sum of word vectors is called \"bag of words\", which gives the name for the model.\n",
"\n",
"\n",
"\n",
"\n",
"*the image is taken for [Lena Voita's blog](https://lena-voita.github.io/nlp_course/word_embeddings.html#main_content) \n",
"*if interested, please, check it out, it is very informative and illustrative"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### How does it work?\n",
"\n",
"Word2vec takes a large text corpus as input and maps each word to a vector, producing word coordinates as output. It first creates a dictionary by training on the input text data, and then calculates a vector representation of the words. The vector representation is learned on contextual proximity: words that occur in the text next to the same words (and therefore, according to the distributive hypothesis, have a similar meaning) will have close coordinates in the vector representation. \n",
"\n",
"To calculate the proximity of words, usually the cosine or euclidean distances between vectors are used.\n",
"\n",
"Using distributed representations you can build semantic proportions (also known as analogies) and solve examples like:\n",
"\n",
"*king: male = queen: female*\n",
" $\\Rightarrow$\n",
"*king - man + woman = queen*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Word Embeddings Visualization\n",
"\n",
"Go to https://projector.tensorflow.org/ and visualize Word2Vec embeddings. \n",
"\n",
"Original Word2Vec repository: https://code.google.com/archive/p/word2vec/"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"# Exploring Word Vectors with GloVe:\n",
"\n",
"As we have seen, the word2vec algorithms (such as Skip-Gram) predicts words in a context (e.g. what is the most likely word to appear in \"the cat ? the mouse\"), while GloVe vectors are based on global counts across the corpus — [see How is GloVe different from word2vec?](https://www.quora.com/How-is-GloVe-different-from-word2vec) on Quora for some better explanations.\n",
"\n",
"The best feature of GloVe is that multiple sets of pre-trained vectors are easily available for [download](https://nlp.stanford.edu/projects/glove/), so that's what we'll use here.\n",
"\n",
"Part II of this notebook is taken from [practical-pytorch tutorials](https://github.com/spro/practical-pytorch/blob/master/glove-word-vectors/glove-word-vectors.ipynb)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Loading Word Vectors\n",
"Torchtext includes functions to download GloVe (and other) embeddings"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import torch\n",
"\n",
"from dataclasses import dataclass\n",
"from typing import List, Dict"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Downloading embeddings\n",
"\n",
"Run the following python cell to automatically download, store and unzip the glove embeddings. Note that approx 1G of storage is required.\n",
"\n",
"Alternatively, you can download the files from [Stanford NLP](https://nlp.stanford.edu/projects/glove/)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Archive: glove.6B.zip\n",
" inflating: glove.6B.50d.txt \n",
" inflating: glove.6B.100d.txt \n",
" inflating: glove.6B.200d.txt \n",
" inflating: glove.6B.300d.txt \n"
]
}
],
"source": [
"# execute only if you want the glove embeddings to be downloaded and unzipped here.\n",
"\n",
"!wget https://nlp.stanford.edu/data/glove.6B.zip \n",
"!unzip glove.6B.zip -d glove.6B"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"glove_file_path = \"glove.6B/glove.6B.50d.txt\""
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"@dataclass(frozen=True)\n",
"class GloVe:\n",
" stoi: Dict[str, int]\n",
" itos: List[str]\n",
" vectors: List[torch.Tensor]\n",
"\n",
"def load_glove(path):\n",
" with open(path, \"r\") as f:\n",
" lines = [l.strip() for l in f]\n",
" \n",
" stoi = {}\n",
" itos = []\n",
" vectors = []\n",
" for line in lines:\n",
" splits = line.split()\n",
" word = splits[0]\n",
" vec = torch.tensor([float(v) for v in splits[1:]])\n",
" \n",
" # We append the word to the idx2word list\n",
" # so its index will be len(idx2word) - 1\n",
" itos.append(word)\n",
" stoi[word] = len(itos) - 1\n",
"\n",
" vectors.append(vec)\n",
"\n",
" return GloVe(stoi=stoi, itos=itos, vectors=vectors)\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loaded 400000 words\n"
]
}
],
"source": [
"glove = load_glove(glove_file_path) \n",
"print('Loaded {} words'.format(len(glove.itos)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Loaded 400000 words\n",
"The returned GloVe object includes attributes:\n",
"\n",
"- stoi string-to-index returns a dictionary of words to indexes\n",
"- itos index-to-string returns an array of words by index\n",
"- vectors returns the actual vectors. To get a word vector get the index to get the vector:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def get_word(word):\n",
" return glove.vectors[glove.stoi[word]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Finding Closest Vectors\n",
"\n",
"Going from word → vector is easy enough, but to go from vector → word takes more work. Here I'm (naively) calculating the distance for each word in the vocabulary, and sorting based on that distance:\n",
"\n",
"Anyone with a suggestion for optimizing this, please let me know!"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"from tqdm.notebook import tqdm\n",
"import numpy as np \n",
"\n",
"def manhattan_distance(vector1, vector2):\n",
" return np.abs(vector1 - vector2).sum()\n",
"\n",
"def cosine_similarity(vector1, vector2):\n",
" return np.dot(vector1, vector2) / (np.linalg.norm(vector1) * np.linalg.norm(vector2))\n",
"\n",
"def closest(vec, n=10, dist='pnorm'):\n",
" \"\"\"\n",
" Find the closest words for a given vector\n",
" \"\"\"\n",
" if dist=='pnorm':\n",
" all_dists = [(w, torch.dist(vec, get_word(w))) for w in tqdm(glove.itos)]\n",
" return sorted(all_dists, key=lambda t: t[1])[:n]\n",
" elif dist =='manhattan':\n",
" all_dists = [(w, manhattan_distance(vec, get_word(w))) for w in tqdm(glove.itos)]\n",
" return sorted(all_dists, key=lambda t: t[1])[:n]\n",
" elif dist =='cosine':\n",
" all_dists = [(w, cosine_similarity(vec, get_word(w))) for w in tqdm(glove.itos)]\n",
" return sorted(all_dists, key=lambda t: t[1], reverse=True)[:n]\n",
" else:\n",
" print('Unknown distance type')\n",
" return None\n",
" \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This will return a list of (word, distance) tuple pairs. Here's a helper function to print that list:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def print_tuples(tuples):\n",
" for tuple in tuples:\n",
" print('(%.4f) %s' % (tuple[1], tuple[0]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now using a known word vector we can see which other vectors are closest:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9837c8795f154a268111d258c9182382",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"(0.0000) neuron\n",
"(20.5081) neurons\n",
"(21.5858) presynaptic\n",
"(21.8358) excitability\n",
"(21.8549) post-synaptic\n",
"(21.8623) synapse\n",
"(22.0291) axons\n",
"(22.2381) axon\n",
"(22.3861) neuronal\n",
"(22.5188) synapses\n"
]
}
],
"source": [
"print_tuples(closest(get_word('neuron'),dist='manhattan'))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6524be7296b14d1ba0b96ffc0074233e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1.0000) queen\n",
"(0.8515) princess\n",
"(0.8051) lady\n",
"(0.7873) elizabeth\n",
"(0.7839) king\n",
"(0.7822) prince\n",
"(0.7693) coronation\n",
"(0.7626) consort\n",
"(0.7443) royal\n",
"(0.7383) crown\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "81a50a1c222e4c54824ebbca0346a22a",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"(0.0000) queen\n",
"(17.1559) princess\n",
"(18.3461) lady\n",
"(18.6469) elizabeth\n",
"(18.9747) majesty\n",
"(19.0815) coronation\n",
"(19.1924) prince\n",
"(19.6283) crown\n",
"(19.7903) consort\n",
"(19.8485) king\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3c57fcbcddc240ccade50ebc559c706a",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"(0.0000) queen\n",
"(3.0129) princess\n",
"(3.1624) lady\n",
"(3.2966) elizabeth\n",
"(3.3926) prince\n",
"(3.4368) coronation\n",
"(3.4778) king\n",
"(3.5708) consort\n",
"(3.6211) victoria\n",
"(3.6685) crown\n"
]
}
],
"source": [
"print_tuples(closest(get_word('queen'),dist='cosine'))\n",
"\n",
"print_tuples(closest(get_word('queen'),dist='manhattan'))\n",
"\n",
"print_tuples(closest(get_word('queen'),dist='pnorm'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Word Analogies with Vector Arithmetic\n",
"The most interesting feature of a well-trained word vector space is that certain semantic relationships (beyond just closeness of words) can be captured with regular vector arithmetic.\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# In the form w1 : w2 :: w3 : ?\n",
"def analogy(w1, w2, w3, n=10, filter_given=True, dist = 'manhattan'):\n",
" # w2 - w1 + w3 = w4\n",
" result = get_word(w1) - get_word(w2) + get_word(w3)\n",
" closest_words = closest(result, n=n, dist=dist)\n",
" print('\\n[%s - %s + %s = ?]' % (w1, w2, w3))\n",
" # Optionally filter out given words\n",
" if filter_given:\n",
" closest_words = [t for t in closest_words if t[0] not in [w1, w2, w3]]\n",
" \n",
" print('Closest word =',closest_words[0][0]) \n",
" \n",
" vectors = [get_word(w1), get_word(w2), get_word(w3), result, get_word(closest_words[0][0])]\n",
" words = [w1,w2,w3, 'result', closest_words[0][0]]\n",
" return vectors, words\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a0c3985303594297aa94d2227318ea66",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"[man - king + queen = ?]\n",
"Closest word = woman\n"
]
}
],
"source": [
"vectors, words = analogy('man', 'king', 'queen')\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "75b3f6782b7c44389692f5f7d1b3d652",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"[king - man + woman = ?]\n",
"Closest word = queen\n"
]
}
],
"source": [
"vectors, words = analogy('king', 'man', 'woman')\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"def plot_embedding_vectors(vectors, words, visualise_closest=False):\n",
" fig, ax = plt.subplots()\n",
"\n",
" # Plot the points\n",
" ax.scatter([v[0] for v in vectors[:3]], [v[1] for v in vectors[:3]], c='blue', label='Words', marker='o')\n",
" ax.scatter(vectors[3][0], vectors[3][1], c='red', label='Result Vector', marker='x')\n",
" if visualise_closest:\n",
" ax.scatter(vectors[4][0], vectors[4][1], c='green', label='Closest Word', marker='s')\n",
"\n",
" # Draw arrows\n",
" ax.arrow(vectors[1][0], vectors[1][1], vectors[0][0] - vectors[1][0], vectors[0][1] - vectors[1][1],\n",
" head_width=0.02, head_length=0.02, fc='blue', ec='blue')\n",
" ax.arrow(vectors[2][0], vectors[2][1], vectors[3][0] - vectors[2][0], vectors[3][1] - vectors[2][1],\n",
" head_width=0.02, head_length=0.02, fc='blue', ec='blue')\n",
"\n",
" # Label points\n",
" if visualise_closest:\n",
" labels = [words[0], words[1], words[2], 'Result', words[-1]]\n",
" for i in range(len(vectors)):\n",
" ax.text(vectors[i][0], vectors[i][1], labels[i], fontsize=12, ha='right')\n",
"\n",
" else: \n",
" labels = [words[0], words[1], words[2], 'Result']\n",
" for i in range(len(vectors)-1):\n",
" ax.text(vectors[i][0], vectors[i][1], labels[i], fontsize=12, ha='right')\n",
"\n",
" # Legend\n",
" ax.legend()\n",
"\n",
" plt.show()\n",
" \n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5f08f5c36b894fbfa3daa4130b8e3fe3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"[king - man + woman = ?]\n",
"Closest word = queen\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"vectors, words = analogy('king', 'man', 'woman')\n",
"plot_embedding_vectors(vectors,words)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "da05f59e31ec4b7ab99f62b1c9f06628",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"[man - king + queen = ?]\n",
"Closest word = woman\n"
]
},
{
"data": {
"image/png": "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IQCA8ePHY/ny5UhKSkJCQkLFjZCIiIiqNY2IiNqDKElKSgp0Oh30ej2cnJzUHg4RERGVQmm/v1mbhoiIiFTFMEJERESqYhghIiIiVTGMEBERkaoYRoiIiEhVDCNERESkKoYRIiIiUhXDCBEREamKYYSIiIhUxTBCREREqmIYISIiIlUxjBAREZGqGEaIiIhIVQwjREREpCqGESIiIlIVwwgRERGpimGEiIiIVMUwQkRERKpiGCEiIiJVMYwQERGRqhhGiIiISFUMI0RERKQqhhEiIiJSFcMIERERqYphhIiIiFTFMEJERESqYhghIiIiVTGMEBERkaoYRoiIiEhVDCNERESkKoYRIiIiUhXDCBEREamKYYSIiIhUxTBCREREqmIYISIiIlUxjBAREZGqGEaIiIhIVSaHkd27d2PQoEFwd3eHRqPBxo0bi20fERGBfv36oWHDhnByckLXrl2xbdu2so6XiIiIqhmTw0haWhratWuHBQsWlKr97t270a9fP2zZsgWHDx9GQEAABg0ahJiYGJMHS0RERNWPRkSkzJ01GmzYsAFDhw41qd9DDz2E0aNH45133ilV+5SUFOh0Ouj1ejg5OZVhpERERFTZSvv9bV2JYwIA5OXlITU1FfXq1SuyTWZmJjIzMw3PU1JSKmNoREREpIJK38A6b948pKWlYdSoUUW2mTNnDnQ6neHh6elZiSMkIiKiylSpYeT777/HzJkzER4eDhcXlyLbzZgxA3q93vBITEysxFESERFRZaq00zTh4eGYNGkS1q5di759+xbbVqvVQqvVVtLIiIiISE2VsjLy/fffY8KECVi9ejUGDBhQGR9JREREFsLklZG7d+/i7Nmzhufx8fGIjY1FvXr10KRJE8yYMQOXL1/GihUrAChBZNy4cfj000/RpUsXXL16FQBgb28PnU5XQdMgIiIiS2Xyykh0dDQ6dOiADh06AABCQkLQoUMHw2W6SUlJSEhIMLT/8ssvkZOTg5dffhlubm6Gx6uvvlpBUyAiIiJLVq77jFQW3meEiIjI8pT2+5u1aYiIiEhVDCNERESkKoYRIiIiUhXDCBEREamKYYSIiIhUxTBCREREqmIYISIiIlUxjBAREZGqGEaIiIhIVQwjREREpCqGESIiIlIVwwgRERGpimGEiIiIVMUwQkRERKpiGCEiIiJVMYwQERGRqhhGiIiISFUMI0RERKQqhhEiIiJSFcMIERERqYphhIiIiFTFMEJERESqYhghIiIiVTGMEBERkaoYRoiIiEhVDCNERESkKoYRIiIiUhXDCBEREamKYYSIiIhUxTBCREREqmIYISIiIlUxjBAREZGqGEaIiIhIVQwjREREpCqGESIiIlIVwwgRERGpimGEiIiIVGVyGNm9ezcGDRoEd3d3aDQabNy4scQ+u3btgr+/P+zs7ODj44PFixeXZaxERERUDZkcRtLS0tCuXTssWLCgVO3j4+PxxBNPoEePHoiJicFbb72FadOmYf369SYPloiIiKofa1M7BAcHIzg4uNTtFy9ejCZNmmD+/PkAAD8/P0RHR+Ojjz7CiBEjTP14IiIiqmbMvmfkwIEDCAwMNDrWv39/REdHIzs7u9A+mZmZSElJMXoQERFR9WT2MHL16lW4uroaHXN1dUVOTg6Sk5ML7TNnzhzodDrDw9PT09zDJCIiIpVUytU0Go3G6LmIFHo834wZM6DX6w2PxMREs4+RiIiI1GHynhFTNWrUCFevXjU6dv36dVhbW6N+/fqF9tFqtdBqteYeGhEREVUBZl8Z6dq1K3bs2GF0bPv27ejUqRNsbGzM/fFERERUxZkcRu7evYvY2FjExsYCUC7djY2NRUJCAgDlFMu4ceMM7adMmYKLFy8iJCQEJ06cwNKlS/HNN9/gjTfeqJgZEBERkUUz+TRNdHQ0AgICDM9DQkIAAOPHj8fy5cuRlJRkCCYA4O3tjS1btuC1117DF198AXd3d3z22We8rJeIiIgAABrJ301ahaWkpECn00Gv18PJyUnt4RAREVEplPb7m7VpiIiISFUMI0RERKQqhhEiIiJSFcMIERERqYphhIiIiFTFMEJERESqYhghIiIiVTGMEBERkaoYRoiIiEhVDCNERESkKoYRIiIiUhXDCBEREamKYYSIiIhUxTBCREREqmIYISIiIlUxjBAREZGqGEaIiIhIVQwjREREpCqGESIiIlIVwwgRERGpimGEiIiIVMUwQkRERKpiGCEiIiJVMYwQERGRqhhGiIiISFUMI0RERKQqhhEiIiJSFcMIERERqYphhIiIiFTFMEJERESqYhghIiIiVTGMEBERkaoYRoiIiEhVDCNERESkKoYRIiIiUhXDCBEREamqTGFk4cKF8Pb2hp2dHfz9/bFnz55i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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"vectors, words = analogy('man', 'king', 'queen')\n",
"plot_embedding_vectors(vectors,words)\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a197c0b5868f4e97a7ac1fadc78b9f3d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"[chinese - china + japan = ?]\n",
"Closest word = japanese\n"
]
},
{
"data": {
"image/png": "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5u233zYbN240jz/+uAkODjY7duy44HGHDx82tWvXNnFxcaZp06aX/HmpqakGMKmpqVdZcykqsrKMef99Y0qVMsbHxxgbQ658CwszZvRoY5YsMebEiYJunUjBSUtLMxs3bjRpaWmXfWxGhjHVqhnjcnn+e+Zy2b9rGRleqPif3n33XRMUFGR8fX3Nnj173Pvff/99U7JkSQOYpKQkY4wxPXr0MI0aNTLLly8369evN507dzZ169Y16enpxhhjJk+ebEJCQnJ9RufOnc31119vVq1aZdasWWNuvPFGExQUZF577TX3ce+884758ccfzdatW82zzz5rgoKCzP79+73X8AJ2vp+by/n97fWel1dffZXBgwdz//3307BhQ8aOHUtYWBjjx4+/4HEPPvgg/fr1IyoqyttVlCLO5YK774YtWyB7qpcL9OJe1M6d8MIL9pHO4sWhVi149ln44gs9Ri1yqXx84PXX7Z/P/fuY/XrsWO/P95KWlkbdunUJDQ1174+JieHo0aPUqVOHsLAwACZPnkxERATdunUjKioKYwzz5893P2l0PpMnTyYsLIyYmBh69uzJAw88QMWKFd3vly5dmrfffpu2bdty/fXX89VXX/HZZ5/levpScnIZc56beXkgPT2d4sWL8+GHH3L77be79z/++OOsX7+epUuXejxu8uTJjBs3jpUrV/LSSy8xZ84c1q9f77HsqVOnckxPf+TIEcLCwkhNTaVUqVJ52h5xPmNg1iwYOhSOHbu88SsuF1SqBP/8JyxdCu++67lcuXIwcCDExMCNN0LZsnlTd5HC5uTJk2zbts09LOBKzJ5tnzo6e/BuWJgNLt56TFoK1vl+bo4cOUJISMgl/f72as/L/v37yczMzJFoAUJDQ9mzZ4/HY3799VdGjBjBtGnT3DOoXsiYMWMICQlxb9kpWcQTlwv69rW9MNnz6V1KL0x2mf/9DwYMgEmTbBDaswc+/BAeeQT+nJaGAwfg1VftI57lyoG/Pzz6qC13nh97kWtWz56wfTssWQLTp9uv27YpuMiF5cuA3XNHWptzRmhny8zMpF+/fowePfqSp2IeOXIkqamp7m3nzp15Umcp2kJD7f/4PvgAQkLOdE27XDBihH1i6WzVqnmeMCs01E6m9b//wcmTNrjMnQtPPQV/TkvD6dPw5pvQu7cdfOhywX33wfvvQ1KS99sqUtj5+EBsLNx1l/2quZTkYgrVbaPDhw9TpkyZHFPEZ2VlYYzBx8eHL7/8kg4dOlzwMy+n20kEYN8+ePhhG07+8Q8YOTLv1lo5ehRWroRly+wEd7//7rlc375w0032VlPdulc3Jkckv+TFbSO59uTFbSOvhheAVq1aERERwbhx49z7GjVqRI8ePRgzZkyOsllZWWzcuDHHvnHjxrF48WI++ugjatWqRXBw8AU/T+FFrtTXX0Pbtt4NDmlpsHq1DTMffwznmwX81luhUyeIjobGjUFru0lhpPAiVyIvwovXlwcYPnw4/fv3JzIykqioKCZOnEhSUhJDhw4F7G2fXbt2MWXKFIoVK0aTJk1yHF+xYkUCAwNz7RfJazfe6P3PCAqyvSsxMfDcc3al6u+/t2Fm7lz45htb7rPP7Jbtppuga1cbZpo1g0sYDiYiUmR5/Z/APn36cODAAV588UWSk5Np0qQJ8+fPp0aNGgAkJyeTpBv/co3y94fWre32t7/Z21U//mifZlqwwD5+DfDVV3bL1rIl3HabDTORkWcGC4uIXAu8ftsov+m2kRQlxsDmzbZn5ssv7SBjTxo0gD59bJhp3VorX0v+0G0juRKOuG0kIlfO5YKGDe324IM2zGzbZsPM4sUwdaott3kzjB595riqVeGee+ztqTZt7BNVIiJFhYYBijiIywW1a8OgQTBlypn1lqZPhwceOFNu1y54+WU7TqZ0aRtennwS5syBAlwYXET+lJiYiMvlyrXOkVwahRcRh6tWzc6P8dZbNszs3WufZBo2DEqUsGWOHLEzlt5+O1SoYJ9eeughmDkTdu8u0OqL5LtBgwbhcrlwuVz4+vpSvXp1HnroIQ4dOlRgdYqPj6d06dIXLPOf//yHkJAQTpw4keu9kydPUrp0aV599dWrrovL5WLOnDlXfR5vUngRKWIqVrST6b3+up1n5tAhmDfPDgiuVMmWMQYmTLChp2pV26MzaBC89569LVW0RsJJoZWamnNdgLP98Yd930s6d+5McnIy27dv55133uGzzz7j4Ycf9trn5YUBAwaQlpbGxx9/nOu9jz/+mBMnTtC/f/8CqJlnp0+f9tq5FV5EirjSpe2ClC+/bCfdO3YMFi2yj2qfPZH1e+/ZAFO7tu2Z6dULJk6042kUZiTPpaZC5852YNa5M6Pv3Gn3d+7stQATEBBApUqVqFatGnFxcfTp04cvv/wyR5nJkyfTsGFDAgMDadCgQY75ytLT03n00UepXLkygYGB1KxZ0z132fbt23G5XDnW5Dt8+DAul4vExMRcdUlMTOTee+8lNTXV3SM0atSoXOUqVKjArbfeyrseFlZ799136d69OxUqVGDXrl306dOHMmXKUK5cOXr06MH27dtzlW/cuDEBAQFUrlyZRx99FICaNWsCcPvtt+NyudyvAcaPH0+dOnXw9/cnPDycqdmD7v7kcrmYMGECPXr0IDg4mJdeeilXPfNMnq5zXQhczpLaImLMyZPGLF9uzP/9nzEREcbYqJJ769LFmDfeMGb9emMyMwu61lIYpKWlmY0bN5q0tLTLP3jnTmNq17Y/XLVrG5OUZPcnJeXcv3Nn3lbaGDNw4EDTo0cP9+utW7eaRo0amdDQUPe+iRMnmsqVK5uPP/7Y/P777+bjjz82ZcuWNfHx8cYYY/7973+bsLAws2zZMrN9+3azfPlyM336dGOMMdu2bTOAWbdunft8hw4dMoBZsmSJMcaYJUuWGMAcOnTInDp1yowdO9aUKlXKJCcnm+TkZHP06FGPdf/888+Ny+Uyv//+u3vftm3bjMvlMvPnzzfHjx839erVM/fdd5/54YcfzMaNG02/fv1MeHi4OXXqlDHGmHHjxpnAwEAzduxYs2XLFrN69Wrz2muvGWOMSUlJMYCZPHmySU5ONikpKcYYY2bPnm38/PzMm2++abZs2WL+85//GB8fH7N48WJ3PQBTsWJFM2nSJLN161azfft2j20438/N5fz+VngRkRxOnzZm9WpjXnnFmNjY84eZ6Ghj/v1vY7791pj09IKutRSEqwovxuQOKt984znQ5LGBAwcaHx8fExwcbAIDAw1gAPPqq6+6y4SFhbnDSLa///3vJioqyhhjzGOPPWY6dOhgsrKycp3/csOLMcZMnjzZhISEXLTuGRkZpmrVqub5559373v++edN1apVTUZGhpk0aZIJDw/PUa9Tp06ZoKAg88UXXxhjjKlSpYp59tlnz/sZgPnkk09y7GvTpo0ZMmRIjn29evUyXbt2zXHcE088cdE25EV40W0jEcnB1xduuAH+8he7wm9mpl3G4L//hW7dzpRbtgz++ldo1cpOtteiBbz0kt1/8mTB1V8cJCwMEhPtvcrff7frc/z+u32dmGjf95L27duz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jMm1z5MZM2YwatQoZs2aRcWKFT2WGTlyJKmpqe5t586deVJnERERKZx8vXny8uXL4+Pjk6uXJSUlJVdvzLlmzZrF4MGD+fDDD+nYseN5ywUEBBAQEJAn9RUREZHCz6s9L/7+/kRERJCQkJBjf0JCAm3atDnvcTNmzGDQoEFMnz6dW265xZtVFBEREYfxas8LwPDhw+nfvz+RkZFERUUxceJEkpKSGDp0KGBv++zatYspU6YANrgMGDCA119/ndatW7t7bYKCgggJCfF2dUVERKSQ83p46dOnDwcOHODFF18kOTmZJk2aMH/+fGrUqAFAcnJyjjlf3nrrLTIyMnjkkUd45JFH3PsHDhxIfHy8t6srIiIihZzX53nJb5rnRURExHkKzTwvIiIiInlN4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcReFFREREHEXhRURERBxF4UVEREQcJV/Cy7hx46hVqxaBgYFERESwfPny85ZNTk6mX79+hIeHU6xYMZ544on8qKKIiIg4hNfDy6xZs3jiiSd49tlnWbduHe3ataNLly4kJSV5LH/q1CkqVKjAs88+S9OmTb1dPREREXEYlzHGePMDWrVqRYsWLRg/frx7X8OGDbntttsYM2bMBY+NjY2lWbNmjB079pI/78iRI4SEhJCamkqpUqWutNoiIiKSjy7n97dXe17S09NZu3YtcXFxOfbHxcWxYsWKPPmMU6dOceTIkRybiIiIFF1eDS/79+8nMzOT0NDQHPtDQ0PZs2dPnnzGmDFjCAkJcW9hYWF5cl4REREpnPJl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EREREUdReBERERFHUXgRERERR1F4EREREUdReClEDh06RP/+/QkJCSEkJIT+/ftz+PDhix63adMmunfvTkhICCVLlqR169YkJSW53z916hSPPfYY5cuXJzg4mO7du/PHH394sSWeXUn7Bg0ahMvlyrG1bt06R5nY2NhcZfr27evFlnjmrfYVhut3pT+b2R588EFcLhdjx47Nsd/J1+5s52tfYbh2cGXtGzVqFA0aNCA4OJgyZcrQsWNHvv322xxlnHz9LqV9heH6XW7bTp8+zdNPP811111HcHAwVapUYcCAAezevTtHucJy7a6YkUKjc+fOpkmTJmbFihVmxYoVpkmTJqZbt24XPOa3334zZcuWNX/961/N999/b7Zu3WrmzZtn9u7d6y4zdOhQU7VqVZOQkGC+//570759e9O0aVOTkZHh7SblcCXtGzhwoOncubNJTk52bwcOHMhRJiYmxgwZMiRHmcOHD3uzKR55q32F4fpdSduyffLJJ6Zp06amSpUq5rXXXsvxnpOvXbYLta8wXDtjrqx906ZNMwkJCWbr1q3mp59+MoMHDzalSpUyKSkp7jJOvn6X0r7CcP0ut22HDx82HTt2NLNmzTKbN282K1euNK1atTIRERE5yhWWa3elFF4KiY0bNxrArFq1yr1v5cqVBjCbN28+73F9+vQx99xzz3nfP3z4sPHz8zMzZ85079u1a5cpVqyYWbhwYd5U/hJcafsGDhxoevToccFzx8TEmMcffzyPanplvNW+wnD9rrRtxhjzxx9/mKpVq5qffvrJ1KhRw2N4ceq1M+bC7SsM186Yq2vf2VJTUw1gFi1a5N7n9Ot3tnPbVxiuX161bfXq1QYwO3bscO8rDNfuaui2USGxcuVKQkJCaNWqlXtf69atCQkJYcWKFR6PycrK4vPPP6d+/fp06tSJihUr0qpVK+bMmeMus3btWk6fPk1cXJx7X5UqVWjSpMl5z+sNV9K+bImJiVSsWJH69eszZMgQUlJScpWZNm0a5cuXp3Hjxjz11FPu1cXzi7faVxiu35W2LSsri/79+/PXv/6Vxo0bn7ecU6/dxdpXGK4dXN3PZrb09HQmTpxISEgITZs2zfGeU6/f2Ty1rzBcv7xoG0Bqaioul4vSpUvn2F/Q1+5qFLmFGZ1qz549VKxYMdf+ihUrsmfPHo/HpKSkcOzYMf75z3/y0ksv8fLLL7Nw4UJ69uzJkiVLiImJYc+ePfj7+1OmTJkcx4aGhp73vN5wJe0D6NKlC7169aJGjRps27aN5557jg4dOrB27Vr3jJJ33303tWrVolKlSvz000+MHDmSDRs2kJCQ4LX2nMtb7SsM1+9K2/byyy/j6+vLsGHDzlvGydfuYu0rDNcuux5X0j6AefPm0bdvX06cOEHlypVJSEigfPny7vedfP3gwu0rDNfvatqW7eTJk4wYMYJ+/frlWLixMFy7q6GeFy8bNWpUrkFR525r1qwBwOVy5TreGONxP9j/+QH06NGDJ598kmbNmjFixAi6devGhAkTLlivC533cnizfQB9+vThlltuoUmTJtx6660sWLCAX375hc8//9xdZsiQIXTs2JEmTZrQt29fPvroIxYtWsT3339fJNrnSV5cP2+2be3atbz++uvEx8dfsJ5OvXaX2j5PnPJ3D6B9+/asX7+eFStW0LlzZ3r37p2jZ9Cp1+9S2+dJYf+7d7bTp0/Tt29fsrKyGDduXI73vHnt8oN6Xrzs0UcfvegI7po1a/LDDz+wd+/eXO/t27eP0NBQj8eVL18eX19fGjVqlGN/w4YN+frrrwGoVKkS6enpHDp0KMf/IFJSUmjTps3lNicXb7bPk8qVK1OjRg1+/fXX85Zp0aIFfn5+/Prrr7Ro0eKSz+1JQbfPm9fPm21bvnw5KSkpVK9e3b0vMzOTv/zlL4wdO5bt27d7PM4p1+5S2lcU/u4FBwdTt25d6tatS+vWralXrx6TJk1i5MiRHss75fplu1D7nPp3L9vp06fp3bs327ZtY/HixTl6XTzJy2uXLwpmqI2cK3tg1rfffuvet2rVqosOzIqKiso1YPe2224zd911lzHmzKCzWbNmud/fvXt3gQ0avNz2nWv//v0mICDAvPfee+ct8+OPPxrALF269KrqfDm81b7CcP2upG379+83P/74Y46tSpUq5umnn77g98Mp1+5S2lcYrp0xefezaYwxderUMS+88MJ533fK9Tufs9tXGK7flbYtPT3d3HbbbaZx48Y5np66kIK4dldD4aUQ6dy5s7n++uvNypUrzcqVK811112X65G48PBwM3v2bPfr2bNnGz8/PzNx4kTz66+/mv/+97/Gx8fHLF++3F1m6NChplq1ambRokXm+++/Nx06dCiwxzUvp31Hjx41f/nLX8yKFSvMtm3bzJIlS0xUVJSpWrWqOXLkiDHGPio+evRo891335lt27aZzz//3DRo0MA0b968SLTPmMJx/a7kZ/Nc5z6N4+Rr54mnp6kKw7Uz5vLbd+zYMTNy5EizcuVKs337drN27VozePBgExAQYH766SdjjLOv36W0z5jCcf0ut22nT5823bt3N9WqVTPr16/P8Sj0qVOnjDGF69pdKYWXQuTAgQPm7rvvNiVLljQlS5Y0d999tzl06FCOMoCZPHlyjn2TJk0ydevWNYGBgaZp06Zmzpw5Od5PS0szjz76qClbtqwJCgoy3bp1M0lJSV5uTW6X274TJ06YuLg4U6FCBePn52eqV69uBg4cmKPuSUlJJjo62pQtW9b4+/ubOnXqmGHDhuWaKyU/eKN9xhSO63elP5tnO/eXu5OvnSeewkthuHbGXH770tLSzO23326qVKli/P39TeXKlU337t3N6tWr3eWdfP0upX3Z5Qr6+l1u27Zt22YAj9uSJUuMMYXr2l0plzHGePvWlIiIiEhe0dNGIiIi4igKLyIiIuIoCi8iIiLiKAovIiIi4igKLyIiIuIoCi8iIiLiKAovIiIi4igKLyIiIuIoCi8iIiLiKAovIiIi4igKLyIiIuIoCi8iIiLiKP8fS9c3HhZNwQgAAAAASUVORK5CYII=",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"vectors, words = analogy('chinese', 'china', 'japan')\n",
"plot_embedding_vectors(vectors, words)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Comment:** One of the applications of word embeddings is for example using them in the embedding layer of your model instead of using randomly initialised input that is being corrected during training. \n",
"\n",
"These pre-trained word embeddings (from Word2Vec, Glove, etc.) can either be kept static or modified during training.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BERT embeddings"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Glove embeddings have nice properties but cannot distinguish between multiple meanings of a word. \n",
"\n",
"E.g. the word *play* can be used as a verb if it refers to the activity of playing (e.g. between kids) or as a noun if it refers to a theatre play.\n",
"\n",
"Instead, contextualised embeddings learn to encode words depending on their context within a sentence (word sequence). We will see for example BERT embeddings which offer contextualized representations leveraging the Transformer architecture."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"\n",
"def plot_embedding_vectors_multi_type(vectors, words):\n",
" fig, ax = plt.subplots()\n",
"\n",
" # Plot the points\n",
" ax.scatter([v[0] for v in vectors], [v[1] for v in vectors], c='blue', label='Words', marker='o')\n",
" \n",
" # Label points\n",
" for i in range(len(vectors)):\n",
" ax.text(vectors[i][0], vectors[i][1], words[i], fontsize=12, ha='right')\n",
"\n",
" # Legend\n",
" ax.legend()\n",
"\n",
" plt.show()\n",
" \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Truncation was not explicitly activated but `max_length` is provided a specific value, please use `truncation=True` to explicitly truncate examples to max length. Defaulting to 'longest_first' truncation strategy. If you encode pairs of sequences (GLUE-style) with the tokenizer you can select this strategy more precisely by providing a specific strategy to `truncation`.\n",
"/opt/homebrew/Caskroom/miniforge/base/envs/dl-2023/lib/python3.8/site-packages/transformers/tokenization_utils_base.py:2418: FutureWarning: The `pad_to_max_length` argument is deprecated and will be removed in a future version, use `padding=True` or `padding='longest'` to pad to the longest sequence in the batch, or use `padding='max_length'` to pad to a max length. In this case, you can give a specific length with `max_length` (e.g. `max_length=45`) or leave max_length to None to pad to the maximal input size of the model (e.g. 512 for Bert).\n",
" warnings.warn(\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAooAAAGdCAYAAACVT1IyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCzklEQVR4nO3de1xVVf7/8feRuyjHO6IioKViphWYgpoyGmp5ycto4ZimaZamptZo9kuny9C3GZ1qkrxUOFo6poOTU96o0dJQQ5OpGc36Ot4FFVIQL8hl/f7gwfl6ZIuA3MTX8/HYDzvrrL3PZ58dnDd777WOzRhjBAAAAFyjRmUXAAAAgKqJoAgAAABLBEUAAABYIigCAADAEkERAAAAlgiKAAAAsERQBAAAgCWCIgAAACy5VnYBuHXl5eXp5MmTql27tmw2W2WXAwAAisEYo/Pnz6tJkyaqUaPoc4YERZTayZMn5e/vX9llAACAUjh27JiaNWtWZB+CIkqtdu3akvL/R/Px8ankagAAQHFkZGTI39/f8TleFIIiSq3gcrOPjw9BEQCAW0xxbhtjMAsAAAAsERQBAABgiaAIAEAlW7p0qWw2m9PSsGFD9ejRQ5999plT32v7Xb2MHj3a0W/u3LlOz7m5ual58+YaN26cUlJSJEk9evQocnsFy9y5c8t8nwMDA53qRdXEPYooV8YY5eTkKDc3t7JLqdZcXFzk6urKNEXALS42NlZt2rSRMUYpKSl699131b9/f61bt079+/d39Bs6dKimT59eaP2GDRsWatu4caPsdrsyMzO1efNmzZs3TwkJCUpKSlJMTIwyMjIcfT///HO99tprjjoK3GhkLKovgiLKzZUrV5ScnKyLFy9Wdim3hZo1a8rPz0/u7u6VXQqAUmrXrp1CQ0Mdj/v06aO6detq5cqVTkHR19dXnTt3LtY2Q0JC1KBBA0lSr169lJqaqtjYWG3fvl0RERFOfX/88UfLOnD7IiiiXOTl5enQoUNycXFRkyZN5O7uztmucmKM0ZUrV3TmzBkdOnRId9555w0nUAVwa/D09JS7u7vc3NzKbJuhoaGKjY3VqVOnymybBUaPHq01a9Zo165dmjx5snbu3KmaNWtq+PDhevPNN1WzZs3rrnv58mXNnj1bX375pePzo3Xr1po5c6YGDhzo6NezZ0+dOHFC+/fvd/pcMcbozjvvVOvWrfX5558Xq94ePXo4gvO0adO0Z88eNW7cWOPHj9cLL7zg9Lv06NGjevHFF7V582alp6erRYsWevLJJ/Xcc885+m3dulURERHasmWLevTo4Vj38OHDCgoKUmxsrONye8F7lZSUpMmTJ+vrr79W3bp1NWzYMP3+97+Xh4dHsfahvBEUUS6uXLmivLw8+fv7F/mLAWXDy8tLbm5uOnLkiK5cuSJPT8/KLglAKeTm5ionJ0fGGJ06dUp/+MMfdOHCBUVFRTn1K7it51ouLi43/KP80KFDkqRWrVqVXeFXyc7O1kMPPaSnnnpKM2fOVEJCgl577TUdOXJE//jHP667XlZWln755RfNmDFDTZs21ZUrV/TFF19o8ODBio2N1eOPPy5JmjJligYOHKgvv/xSvXr1cqy/YcMGHTx4UO+8806J6k1JSdGIESM0ffp0zZkzR2vXrtWsWbPUpEkTx2ueOXNG4eHhunLlil599VUFBgbqs88+04wZM3Tw4EHFxMSU4p3Kf68GDBigsWPHavr06fr666/16quvym636+WXXy7VNsucAUopPT3dSDLp6emFnrt06ZLZt2+fuXTpUiVUdnviPQduXbGxsUZSocXDw8PExMQ49bXqV7AsX77c0W/OnDlGkklJSTHZ2dnm7Nmz5pNPPjHe3t7mscceK7KOxMTEUu3HqFGjjCTz9ttvO7W//vrrRpLZvn27oy0gIMCMGjXqutvKyckx2dnZZuzYsebee+91tOfm5poWLVqYgQMHOvXv27evadmypcnLyyt2vd27dzeSzK5du5za27Zta3r37u14PHPmTMt+Tz/9tLHZbObAgQPGGGO2bNliJJktW7Y49Tt06JCRZGJjYx1tBe/VJ5984tT3oYceMq1bty72PpRGUZ/f1+KMIgAAVcSyZcsUHBwsSUpNTdXatWs1ceJE5ebmatKkSY5+w4YN0/PPP19o/RYtWhRqa9y4sdPjBx54QH/5y1/KuHJnI0aMcHocFRWl2bNna8uWLerSpct111u9erXeeust/etf/9KFCxcc7VdfJalRo4YmTZqk559/XkePHlXz5s118OBBbdy4UX/84x9LfJtT48aNdf/99zu1tW/fXklJSY7H//znP9W2bdtC/UaPHq333ntP//znP0t1htZmsznde1rw2v/85z+Vmytt2yYlJ0t+flK3bpKL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5eAeRQAAAFgiKAIAAMASQREAAACWCIoAAACwRFAEAACAJYIiAAAALBEUAQAAYImgCAAAAEsERQAAAFgiKAIAAMASQREAAACWCIoAAACwRFAEAACAJYIiAAAALBEUAQAAYImgCAAAAEsERQAAAFgiKAIAAMASQREAAACWCIoAAACwRFAEAACAJYIiAAAALBEUAQAAYImgCAAAAEsERQAAAFgiKAIAAMASQREAAACWCIoAAACwRFAEAACAJYIiAAAALBEUAQAAYKnEQXHp0qWy2WxOS8OGDdWjRw999tlnTn2v7Xf1Mnr0aEe/uXPnOj3n5uam5s2ba9y4cUpJSZEk9ejRo8jtFSxz5869qTfESmBgoFO9KLmtW7fKZrNp69atlV0KAAAoJtfSrhgbG6s2bdrIGKOUlBS9++676t+/v9atW6f+/fs7+g0dOlTTp08vtH7Dhg0LtW3cuFF2u12ZmZnavHmz5s2bp4SEBCUlJSkmJkYZGRmOvp9//rlee+01Rx0FmjVrVtpdQjm67777tGPHDrVt27aySwEAAMVU6qDYrl07hYaGOh736dNHdevW1cqVK52Coq+vrzp37lysbYaEhKhBgwaSpF69eik1NVWxsbHavn27IiIinPr++OOPlnWgasnOzpbNZpOPj0+x/z8AAABVQ5ndo+jp6Sl3d3e5ubmV1SYdAfDUqVNlts0Co0ePVq1atfSf//xHPXv2lLe3txo2bKhJkybp4sWLRa57+fJlTZ8+Xffcc4/sdrvq1aunsLAwffrpp079evbs6TjrejVjjO644w49/PDDxa7XGKPf//73CggIkKenp0JDQxUfH68ePXqoR48eTn0zMjI0Y8YMBQUFyd3dXU2bNtXUqVN14cIFp342m02TJk3S8uXLFRwcrJo1a6pDhw6FbiGQpJ9//llRUVFq1KiRPDw8FBwcrCVLljj1Kbi8vHz5ck2fPl1NmzaVh4eH/vd///e6l5537dql/v37q379+vL09FTLli01derUYr8vAACg/JT6jGJubq5ycnJkjNGpU6f0hz/8QRcuXFBUVJRTP2OMcnJyCq3v4uIim81W5GscOnRIktSqVavSllmk7OxsPfTQQ3rqqac0c+ZMJSQk6LXXXtORI0f0j3/847rrZWVl6ZdfftGMGTPUtGlTXblyRV988YUGDx6s2NhYPf7445KkKVOmaODAgfryyy/Vq1cvx/obNmzQwYMH9c477xS71tmzZys6Olrjx4/X4MGDdezYMT355JPKzs52en8uXryo7t276/jx43rxxRfVvn17/ec//9HLL7+sH374QV988YXT+/75558rMTFRr7zyimrVqqU333xTgwYN0oEDB9SiRQtJ0r59+xQeHq7mzZtr3rx5aty4sTZt2qQXXnjBstZZs2YpLCxMCxcuVI0aNdSoUSPHvaZX27Rpk/r376/g4GDNnz9fzZs31+HDh7V58+Zivy8AAKAcmRKKjY01kgotHh4eJiYmxqmvVb+CZfny5Y5+c+bMMZJMSkqKyc7ONmfPnjWffPKJ8fb2No899liRdSQmJpZ0F4wxxowaNcpIMm+//bZT++uvv24kme3btzvaAgICzKhRo667rZycHJOdnW3Gjh1r7r33Xkd7bm6uadGihRk4cKBT/759+5qWLVuavLy8YtX6yy+/GA8PDzN8+HCn9h07dhhJpnv37o626OhoU6NGjULvy5o1a4wks379ekebJOPr62syMjIcbSkpKaZGjRomOjra0da7d2/TrFkzk56e7rTN8ePHG0nm8OHDxhhjtmzZYiSZBx54oNA+FDy3ZcsWR1vLli1Ny5YtzaVLl4r1PgAAgJuXnp5uJBX6XLdS6kvPy5YtU2JiohITE7VhwwaNGjVKEydO1LvvvuvUb9iwYY5+Vy8PPfRQoW02btxYbm5uqlu3roYNG6aQkBD95S9/KW2JxTJixAinxwVnRLds2VLkeqtXr1aXLl1Uq1Ytubq6ys3NTR988IH279/v6FOjRg1NmjRJn332mY4ePSpJOnjwoDZu3KhnnnnmhmdUC+zcuVNZWVkaNmyYU3vnzp0VGBionJwcjRw5Una7XS+99JJ8fHwc7QVL7969nS79FowOT01NVfPmzdWrVy/t2rVLvr6+atSokY4cOSIp/zL7l19+qUGDBqlmzZpO24yMjJQk7d6926muIUOG3HCffvrpJx08eFBjx46Vp6en03O5udLWrdLKlfn/5uYW620CAABlrNRBMTg4WKGhoQoNDVWfPn20aNEiRUZG6oUXXtC5c+cc/Ro2bOjod/VSr169Qtv84osvlJiYqE2bNmnIkCH6+uuv9eyzz5a2xBtydXVV/fr1ndoaN24sSUpLS7vuenFxcRo2bJiaNm2qjz76SDt27FBi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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# OPTIONAL: Enable the logger for tracking information\n",
"import logging\n",
"from transformers import BertTokenizer, BertModel\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')\n",
"# Load the tokenizer for the pre-trained model\n",
"\n",
"\n",
"\n",
"def tokenize_parse(sentence,model):\n",
" encoded_dict = tokenizer.encode_plus(\n",
" sentence, \n",
" add_special_tokens=True, # Add '[CLS]' and '[SEP]'\n",
" max_length=64, # Adjust sentence length\n",
" pad_to_max_length=True, # Pad/truncate sentences\n",
" return_attention_mask=True,# Generate attention masks\n",
" return_tensors='pt', # Return PyTorch tensors\n",
" )\n",
" \n",
" \n",
" input_ids = encoded_dict['input_ids']\n",
" \n",
" # Construct an attention mask (identifying padding/non-padding).\n",
" attention_masks = (encoded_dict['attention_mask'])\n",
" with torch.no_grad():\n",
" outputs = model(input_ids,attention_masks)\n",
" embeddings = outputs.last_hidden_state[0]\n",
" return input_ids, embeddings\n",
"\n",
"\n",
"model = BertModel.from_pretrained(\"bert-base-uncased\")\n",
"\n",
"custom_text = \"Let the dogs out to play with each other\"\n",
"custom_text2 = \"There is a new play in the national theatre \"\n",
"word_1 = 'play'\n",
"\n",
"input_ids1, output_embeddings1 = tokenize_parse(custom_text,model)\n",
"\n",
"input_ids2, output_embeddings2 = tokenize_parse(custom_text2,model)\n",
"\n",
"input_ids_word1, output_embeddings_word1 = tokenize_parse(word_1,model)\n",
"\n",
"word_id1 = tokenizer.decode(token_ids=input_ids1[0]).split().index('play')\n",
"word_id2 = tokenizer.decode(token_ids=input_ids2[0]).split().index('play')\n",
"word_id_w1 = tokenizer.decode(token_ids=input_ids_word1[0]).split().index('play')\n",
"\n",
"vectors = [output_embeddings1[word_id1],output_embeddings2[word_id2],output_embeddings_word1[word_id_w1]]\n",
"words = ['BERT_play_noun','BERT_play_verb', 'BERT_play_generic']\n",
"\n",
"plot_embedding_vectors_multi_type(vectors,words)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note**: Above we demonstrate the vector operations using just the first two dimensions of the embedding vectors. These may not be very representative. We present below more ways of visualising embeddings in 2D space.\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Visualisation of embeddings\n",
"\n",
"In all cases visited above we have embedding vectors with high dimensionlity. We will see below how we can use principal component analysis (PCA) to visualise embeddings in 2D space. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# PCA visualisation\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cf88f936ea334333b7dfa62a6af2b688",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"queen\n",
"princess\n",
"lady\n",
"elizabeth\n",
"prince\n",
"coronation\n",
"king\n",
"consort\n",
"victoria\n",
"crown\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "46418997b0e34f5e8cd1652fa48d1366",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"king\n",
"prince\n",
"queen\n",
"uncle\n",
"ii\n",
"grandson\n",
"brother\n",
"kingdom\n",
"son\n",
"nephew\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6889674d9d8a49948a9bede11c2d25eb",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"man\n",
"woman\n",
"another\n",
"boy\n",
"one\n",
"old\n",
"turned\n",
"whose\n",
"himself\n",
"who\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "18cf37916ea548e18ce01ad9a6477741",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"woman\n",
"girl\n",
"man\n",
"mother\n",
"boy\n",
"her\n",
"she\n",
"herself\n",
"victim\n",
"child\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e0cdbff7d6144b63982d35cb73f7d0e7",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"mother\n",
"daughter\n",
"wife\n",
"grandmother\n",
"husband\n",
"sister\n",
"father\n",
"aunt\n",
"woman\n",
"friend\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b5f370db80a9412aa7b9ca5216ed9869",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
" 0%| | 0/400000 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"father\n",
"son\n",
"brother\n",
"grandfather\n",
"friend\n",
"uncle\n",
"cousin\n",
"husband\n",
"mother\n",
"daughter\n"
]
},
{
"data": {
"image/png": "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u3btNH9piHt9knttjh07luqp0VMybdo0rStM+fLl2bhxY5KjnKRFgwYNtC+H06dPf66+wgUKFNBGF1m+fHmSP9ObTCZtFCY3NzeLLwLWtHjx4iQT2X/++Uf7Wxj/MwBYjEaV3Gdi7969nDlzJsE+GSmuceOvv/6yeotsRv3NySi2trYMGjQIiL1Pp1evXql+f9+4cUO7IRzgypUr7Nq1C4jtltipU6cUH+3btwdg+/btXLt2LYPPTmQGkpSL5xbXhSUmJoZOnTppSUd6uq4cO3ZMGxkkMaqqanelK4qCl5eXxfa4nx3379/P7t27E+wfEhJC//79k6w/T5482o02y5YtS3TUg4MHD/LFF1+kcCZpt3r1aq1fYWKuX7/OuXPnACwSxIyKPXfu3FrL3OXLl58z+v8UKFCANm3aALFf3ObNm5egTHR0ND179tS+JHz44YdpPl5GimstP3DgAD///LN2/0Jab/AEtOH2du3alegIM7dv305z15hnzZ8/n08++QSIHZVk8+bNGd71w9XVlb59+wJw+PBhBgwYkGSiajQaE9xc2K9fPyD2vD/66KNE9x05cqSWnPbu3TvJIfdetmPHjvH1118nWB8TE0Pv3r21z977779vsb169erayC1z5szRvozG9+DBA+266nS6BHVklMGDB2vX87333kvxF5oNGzZw4sSJFxJL/BuF0/M3JyN9/PHHNGjQAIj9+9WmTRtu376dZPm44YCrVKlicZ3if4GLG90pJXHlVFVNMJiCyCZeymjoIkuJjIzUpjePe7i4uKgREREp7htX/tlJfuImkahWrZo6atQodf369eqhQ4fUvXv3qkuXLrWYaa1169YJ6j116pQ2EY2bm5v6zTffqAcPHlR3796tTpw4Uc2XL5+aO3du1cfHJ8nJg/r166cdo3r16urPP/+sHjx4UP3zzz/VTz/9VLW3t1fd3d3VEiVKJFlHeiYPql+/vuro6Ki2b99enTlzphocHKwePXpU3bp1qzpx4kTV09MzyUluMiJ2VY2dDh5Qc+fOrS5dulQ9c+aMevHiRfXixYvq3bt3tXIpzeh5/fp11c3NTYXYGUR79uypbtq0ST106JC6ZMkS1dfXV9u/Q4cOicaS2ome4k8Ykl7Xrl3TZgiNe48bDAb19u3bye6X3ORBy5cv1+IrVKiQOn36dHXPnj3q7t271a+/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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"from sklearn.decomposition import PCA\n",
"import matplotlib.pyplot as plt\n",
"import random\n",
"\n",
"def display_pca_scatterplot_2D(words=None, topn=5):\n",
"\n",
" word_vectors = ([get_word(w) for w in words])\n",
" neighborhoods = []\n",
" new_words = []\n",
" for word in words:\n",
" neighborhood = []\n",
" neighbors = closest(get_word(word),n=topn)\n",
" for n in neighbors:\n",
" n_vector = get_word(n[0])\n",
" n_word = n[0]\n",
" new_words.append(n_word)\n",
" print(n_word)\n",
" neighborhood.append(n_vector.numpy())\n",
" \n",
" neighborhoods.extend(neighborhood)\n",
" \n",
" word_vectors = np.array(neighborhoods)\n",
" words = new_words\n",
" two_dim = PCA(random_state=0).fit_transform(word_vectors)[:,:2]\n",
" \n",
" principalDf = pd.DataFrame(data = two_dim\n",
" , columns = ['principal component 1', 'principal component 2'])\n",
" \n",
" finalDf = principalDf\n",
" finalDf['word']=words\n",
"\n",
" fig = plt.figure(figsize = (8,8))\n",
" ax = fig.add_subplot(1,1,1) \n",
" ax.set_xlabel('Principal Component 1', fontsize = 15)\n",
" ax.set_ylabel('Principal Component 2', fontsize = 15)\n",
" ax.set_title('Visualisation via 2 component PCA', fontsize = 20)\n",
"\n",
" hexadecimal_alphabets = '0123456789ABCDEF'\n",
" color = [\"#\" + ''.join([random.choice(hexadecimal_alphabets) for j in range(6)]) for i in range(len(words))]\n",
" for i,target in enumerate(words):\n",
" \n",
" indicesToKeep = finalDf['word'] == target\n",
" if i%topn==0:\n",
" si = 150\n",
" else:\n",
" si = 50\n",
" ax.scatter(finalDf.loc[indicesToKeep, 'principal component 1']\n",
" , finalDf.loc[indicesToKeep, 'principal component 2']\n",
" , c = color[i//topn]\n",
" , s = si)\n",
" \n",
" for i, txt in enumerate(words):\n",
" indicesToKeep = finalDf['word'] == txt\n",
" x = finalDf.loc[indicesToKeep, 'principal component 1'].iloc[0]\n",
" y = finalDf.loc[indicesToKeep, 'principal component 2'].iloc[0]\n",
" ax.annotate(txt, (x, y))\n",
" ax.grid()\n",
"\n",
"words=['queen','king','man','woman', 'mother', 'father']\n",
"\n",
"display_pca_scatterplot_2D(words,10)\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.18"
}
},
"nbformat": 4,
"nbformat_minor": 2
}