{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Assister Discovery\n", "\n", "`Assister discovery` is a software that maps user requests to executable commands in [Assister Pipeline](https://github.com/keyvan-m-sadeghi/assister/tree/assister-conception/rfcs/text/assister-conception#assister-pipeline), illustrated in the following figure. Using [Natural Language Understanding](https://en.wikipedia.org/wiki/Natural-language_understanding) coupled with Machine Learning over the [Terms and Functions](https://github.com/keyvan-m-sadeghi/assister/tree/assister-conception/rfcs/text/assister-conception#terms-and-functions-language-tfx) contextual annotations embedded in an application, a discovery can translate a request to the corresponding command. The command will then be executed within the Pipeline. [[Link to the full proposal]](https://github.com/keyvan-m-sadeghi/assister/tree/assister-conception/rfcs/text/assister-conception)\n", "\n", "![Assister_pipeline](img/pipeline.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Problem Statement and Solution\n", "\n", "The research task corresponding to the aforementioned real problem at Assister, can be formally defined as:\n", "> `How can we map a user request in natural language to a pre-defined executable command?`\n", "\n", "If we had several mappings from user sentences to the requested commands, we would choose a [supervised learning](https://en.wikipedia.org/wiki/Supervised_learning) approach. This is not a realistic assumption at the current stage, although we know the possible commands (classes) at each context that can be selected for execution. So, we propose an [unsupervised](https://en.wikipedia.org/wiki/Unsupervised_learning) methology to tacke this probelm, as follows:\n", "1. Representation learning of user requests via [word embeddings](https://en.wikipedia.org/wiki/Word_embedding).\n", "2. Finding the best embedding of each command description.\n", "3. Mapping a request to a command with the shortest [distance](https://en.wikipedia.org/wiki/Distance) in the embedding space based on a [similarity measure](https://en.wikipedia.org/wiki/Similarity_measure).\n", "\n", "It is obvious that word/sentence-level embedding algorithm is the key part of the solution. So, we first review the literature for this [natural language processing](https://en.wikipedia.org/wiki/Natural_language_processing) (NLP) task. Then, we describe the two recent state-of-the-art embedding models and how Assister utilizes them to embed the requests and comments. Finally, we explain the common similarity measures and pick a suitable one for Assister to calculate the distance between any pair of embeddings. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Word Embeddings\n", "\n", "Undoubtedly, the year 2018 has been an inflection point for NLP after being relatively stationary for a couple of years. Word embedding is definitely one of the most popular representation of document [vocabulary](https://en.wikipedia.org/wiki/Vocabulary) with the capability of capturing words' [context](https://en.wikipedia.org/wiki/Context_(language_use)) in a document, syntactic and semantic similarity, relation between different words, etc. More formally, embeddings are low-dimensional representations of a data point (sample) in a higher-dimensional [vector space](https://en.wikipedia.org/wiki/Vector_space). In the same way, word embeddings are dense vectorized representations of words in a low-dimensional space. The first [neural network]()-based word embedding model was first proposed by Google in 2013 [[1]](#References). Since then, word embedding has received a lot of attention in almost every NLP model in practice. They are very effective, because by translating a word to an embedding one can model the semantic importance of a word in a numeric form and thus perform many [mathematical operations](https://en.wikipedia.org/wiki/Linear_algebra) on it. To make it more clear, let's take a look at a common example in the literature:\n", "> Let $\\phi$ be a word embedding mapping $W \\rightarrow \\mathbb{R}^n$, where $W$ is the word space and $\\mathbb{R}^n$ is an $n$-dimensional vector space, then we have:\n", ">\n", "> $\\phi(''king'') - \\phi(''man'') + \\phi(''woman'') = \\phi(''queen'')$\n", "\n", "It was first introduced by the [word2vec](https://code.google.com/archive/p/word2vec/) [[2]](#References) model in 2013 that was a great breakthrough. Another fascinating word embedding model was [Glove](https://nlp.stanford.edu/projects/glove/) [[3]](#References) in 2014. Although these two models are powerful, they are __context-free__ in which a single word embedding representation for each word in the vocabulary is generated. So, `bank` would have the same representation in `bank deposit` and `river bank`. Instead, __contextual__ models - including [Semi-supervised Sequence Learning](https://arxiv.org/abs/1511.01432) (2015) [[4]](#References), [Generative Pre-Training](https://openai.com/blog/language-unsupervised/) (2018) [[5]](#References), [ELMO](https://allennlp.org/elmo) (2018) [[6]](#References), [ULMFit](http://nlp.fast.ai/classification/2018/05/15/introducting-ulmfit.html) (2018) [[7]](#References) - generate a representation of each word based on the other words in the sentence, so they can capture both a static semantic meaning and a contextualized meaning. For instance, the word `apple` in the two sentences `I like apples` and `I like Apple macbooks` has a different semantic meaning, thus the embedding of this word would have a different vector representation which makes it more powerful for NLP tasks. The two recent state-of-the-art models - [USE](https://ai.google/research/pubs/pub46808) (2018) [[8]](#References) and [BERT](https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html) (2018) [[9]](#References) - use a powerful sequence transductive model for language understanding, called [Transformer](https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html) (2017) [[10]](#References). We first review the Transformer model, then describe how the USE and the BERT models take the advantage of using Transformer as a building block." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Transformer\n", "\n", "Today's NLP world benefits from the recent advancements of [Deep Learning](https://en.wikipedia.org/wiki/Deep_learning) research. More specifically, Google introduced a novel neural network architecture, called Transformer, in a seminal paper [[10]](#References) which outperformed many traditional [Recurrent Neural Network](https://en.wikipedia.org/wiki/Recurrent_neural_network) (RNN) sequence models (like [LSTM](https://en.wikipedia.org/wiki/Long_short-term_memory) and [GRU](https://en.wikipedia.org/wiki/Gated_recurrent_unit)). The main advantages of using transformer as a language understanding unit is that (1) it can effectively model the long-term dependencies among words in a temporal word sequence; and (2) its [model training](https://en.wikipedia.org/wiki/Training,_validation,_and_test_sets) phase is efficient by eliminating the sequential dependency on previous words [[10]](#References).\n", "\n", "A transformer is an [encoder-decoder architecture](https://towardsdatascience.com/understanding-encoder-decoder-sequence-to-sequence-model-679e04af4346) model that uses [attention mechanisms](https://skymind.ai/wiki/attention-mechanism-memory-network) to forward a complex pattern of the whole sequence to the decoder at once rather than sequentially as depicted in the following figure [[source](http://mlexplained.com/2017/12/29/attention-is-all-you-need-explained/)]:\n", "\n", "![Transformer](img/attention_path_length.png)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Universal Sequence Encoder (USE)\n", "\n", "The USE uses a transformer to provide sentence-level embeddings as easy as it has historically been to look up the embeddings for individual words, $e.g.$ word2vec. The universal sentence encoder is a model that encodes a text into 512-dimensional embeddings. The resulted embeddings can then be used as inputs to NLP tasks such as [sentiment classification](https://en.wikipedia.org/wiki/Sentiment_analysis) and [textual similarity](https://en.wikipedia.org/wiki/Semantic_similarity) analysis. Pre-trained word embeddings are considered to be an integral part of modern NLP systems, offering significant improvements over embeddings learned from scratch. A pre-trained and optimized USE model on a variety of data sources is publicly available on [TenforFlow Hub](https://colab.research.google.com/github/tensorflow/hub/blob/master/examples/colab/semantic_similarity_with_tf_hub_universal_encoder.ipynb#scrollTo=RUymE2l9GZfO). This module is about 800MB and depending on your network speed it might take a whileto load the first time you instantiate it. After that, loading the module should be faster as modules are [cached](https://www.tensorflow.org/hub/basics) by default. Now, we use the universal sequence encoder's TF Hub module to compute a representation (embedding) for user requests and command descriptions in an online spreadsheet application, over [TensorFlow platform](https://www.tensorflow.org/)." ] }, { "cell_type": "code", "execution_count": 142, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Saver not created because there are no variables in the graph to restore\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "I0426 22:25:57.912678 140734900516288 saver.py:1483] Saver not created because there are no variables in the graph to restore\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Sentence: Format cell A12 as date\n", "Embedding size: 512\n", "Embedding: [-0.050871364772319794, -0.0016370579833164811, 0.022183720022439957, ...]\n", "\n", "Sentence: Sum the values in column B and store the result in cell C7\n", "Embedding size: 512\n", "Embedding: [-0.03197444975376129, 0.02532351016998291, 0.010689766146242619, ...]\n", "\n", "Sentence: Delete cell D20\n", "Embedding size: 512\n", "Embedding: [-0.038657110184431076, 0.049386851489543915, 0.000588558497838676, ...]\n", "\n", "Sentence: Delete row 15\n", "Embedding size: 512\n", "Embedding: [-0.04079856723546982, 0.020178884267807007, -0.03739866614341736, ...]\n", "\n", "Sentence: Select cells from B16 to E19\n", "Embedding size: 512\n", "Embedding: [-0.024356713518500328, 0.029383739456534386, 0.012827333062887192, ...]\n", "\n", "Sentence: To Format a cell, you need a cell, like B10, and a type, like date\n", "Embedding size: 512\n", "Embedding: [-0.032455652952194214, 0.04132832959294319, 0.012323660776019096, ...]\n", "\n", "Sentence: To sum a column, you need a column, like C, and a cell, like A5, to store the result\n", "Embedding size: 512\n", "Embedding: [-0.05170544236898422, 0.02925257198512554, -0.007931080646812916, ...]\n", "\n", "Sentence: To delete a cell, you need a cell, like C11\n", "Embedding size: 512\n", "Embedding: [0.03696422278881073, 0.019425714388489723, 0.0004833970742765814, ...]\n", "\n", "Sentence: To delete a row, you need a row, like 12\n", "Embedding size: 512\n", "Embedding: [-0.07475815713405609, 0.038178637623786926, -0.04855307564139366, ...]\n", "\n", "Sentence: To select cells, you need a start cell, like B7, and an end cell, like D17\n", "Embedding size: 512\n", "Embedding: [-0.02912534400820732, 0.047603789716959, 0.00011833444295916706, ...]\n", "\n" ] } ], "source": [ "import tensorflow as tf\n", "import tensorflow_hub as hub\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import re\n", "import os\n", "\n", "# Import the USE's TF Hub module\n", "module_url = \"https://tfhub.dev/google/universal-sentence-encoder-large/3\"\n", "# Another pre-trained model is \"https://tfhub.dev/google/universal-sentence-encoder/2\"\n", "module = hub.Module(module_url)\n", "\n", "# Compute embeddings for sentences (either of user requests or command descriptions)\n", "requests = [\"Format cell A12 as date\",\n", " \"Sum the values in column B and store the result in cell C7\",\n", " \"Delete cell D20\",\n", " \"Delete row 15\",\n", " \"Select cells from B16 to E19\"]\n", "commands = [\"To Format a cell, you need a cell, like B10, and a type, like date\",\n", " \"To sum a column, you need a column, like C, and a cell, like A5, to store the result\",\n", " \"To delete a cell, you need a cell, like C11\",\n", " \"To delete a row, you need a row, like 12\",\n", " \"To select cells, you need a start cell, like B7, and an end cell, like D17\"]\n", "sentences = requests + commands\n", "\n", "# Run the embeddings in a TensorFlow session\n", "with tf.Session() as session:\n", " session.run([tf.global_variables_initializer(), tf.tables_initializer()])\n", " sentence_embeddings = session.run(module(sentences))\n", " for i, sentence_embedding in enumerate(np.array(sentence_embeddings).tolist()):\n", " print(\"Sentence: {}\".format(sentences[i]))\n", " print(\"Embedding size: {}\".format(len(sentence_embedding)))\n", " embedding_short = \", \".join((str(x) for x in sentence_embedding[:3]))\n", " print(\"Embedding: [{}, ...]\\n\".format(embedding_short))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Semantic Similarity between Requests and Commands via the USE\n", "\n", "The embeddings produced by the Universal Sentence Encoder are approximately normalized. The [semantic similarity](https://en.wikipedia.org/wiki/Semantic_similarity) between any pair of user requests and commands descriptions, which can be simply the [inner product](https://en.wikipedia.org/wiki/Inner_product_space) of the encodings, could be an informative analysis in Assister discovery. Inner product space is a proper metric in our case, as it satisfies the three well-known axioms: [Conjugate](https://en.wikipedia.org/wiki/Complex_conjugate) symmetry, [Linearity](https://en.wikipedia.org/wiki/Linearity#In_mathematics) property, and [Positive-definite](https://en.wikipedia.org/wiki/Definite_quadratic_form#Associated_symmetric_bilinear_form)." ] }, { "cell_type": "code", "execution_count": 144, "metadata": {}, "outputs": [], "source": [ "def plot_similarity(labels, embeddings, rotation):\n", " inner = np.inner(embeddings[:len(requests)], embeddings[len(requests):])\n", " sns.set(font_scale=1.2)\n", " g = sns.heatmap(\n", " inner,\n", " annot=True,\n", " xticklabels=labels[len(requests):],\n", " yticklabels=labels[:len(requests)],\n", " vmin=0,\n", " vmax=1,\n", " cmap=\"YlGnBu\")\n", " g.set_xticklabels(labels[len(requests):], rotation=rotation)\n", " g.set_yticklabels(labels[:len(requests)])\n", " g.set_title(\"Semantic Similarity based on Inner Product of Embeddings\")\n", "\n", "def run_and_plot(session_, input_tensor_, messages_, encoding_tensor):\n", " message_embeddings_ = session_.run(encoding_tensor, feed_dict={input_tensor_: messages_})\n", " plot_similarity(messages_, message_embeddings_, 90)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we plot the similarity in a heat map. It is a matrix with `No of requests` rows and `No of commands` columns, where each entry $[i, j]$ is colored based on the inner product of the embeddings for user request $i$ and command description $j$. In this test, we use the aforementioned examples in the requests and commands lists, which are matched one-to-one for simplicity. The higher the score at each row (request) is, the more similar the corresponding request will be. When we look at each user request (a row), we expect to have a higher similarity score with its related command, which is in our case the diagonal entries of the heat map. For example, the second request (2nd row) about column summation is more similar to the second command description with distance value $[2, 2] = 0.9$." ] }, { "cell_type": "code", "execution_count": 145, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Saver not created because there are no variables in the graph to restore\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "I0426 22:26:58.279740 140734900516288 saver.py:1483] Saver not created because there are no variables in the graph to restore\n" ] }, { "data": { "image/png": "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hwMHDujsCyZdJTOvQghhAHx8fFiyZAkmJiYcOnSIiRMnsmDBAuzs7JSOlmvLly/XemxkZET58uUpVaqUQonyrnHjxvTv35/Y2FhKlCihdJx88/nnn/PHH39w9+5dnf6Ze1L58uVZu3at5gWhKDgy8yqEEAagbt26nDlzhujoaNzc3NixYwcPHjygW7duHD58WOl4+eLMmTMULVqUypUrKx1FCPEG5dw8WQghhN4pVaoUsbGx2NvbExUVhVqtxtLSkgcPHigdLddOnDhBq1atAPj+++/p378/rq6uOnfzz5Me9yE/aceOHajVaoUSiRcJCgpi6dKlzJ07l+XLlxMSEqJ0JIMgxasQQhiAdu3a8fnnnxMTE0PDhg2ZMGECU6dOpUqVKkpHy7WlS5cyfPhwMjMzWbduHStXrmTTpk1auzjpkri4OFxdXVm2bJnWmJeXF59++in3799XMJ14UnJyMgMGDGDkyJGcO3eO+/fvExoayrBhwxg+fDhpaWlKR9RrUrwKIYQBGDt2LG5ublhYWDBnzhyKFClCWlqazu6uBXD79m169uzJX3/9hVqtpkmTJtSsWVNn13ldunQpFStWxMvLSzNmY2PD4cOHsbOzY8WKFQqmE09aunQpWVlZBAYG8sMPP7BkyRLWr1/P4cOHefToEd98843SEfWa9LwKIYTQSW3atGHt2rVs3LiRW7du8e233xIaGsrMmTPZt2+f0vFeW/PmzdmyZQu2trY5joWFhdGvXz+96U/Wda1ateKHH36gfPnyOY5du3aNUaNG5dgUROQfWW1ACCH02MCBA7WWk3qWtWvXFlCa/DV06FA6deqEkZER69at48yZMwwePFhnN2NISkp6ZuEKULZsWdJf7bEAACAASURBVJ3uT34sPDycHTt2EBUVxdSpUzly5AhdunRROtZri4+Pf2bhClC5cmViY2MLOJFhkbYBIYTQYw0bNqRBgwbY29tz6dIlateuTceOHalbty5Xrlx57i9gXfDpp5/y22+/cfjwYerUqUPlypXZtm0b3bp1Uzpartjb23Pr1q1nHrt16xY2NjYFnCh/BQUF4erqytWrV9mzZw9JSUl4enqybt06paO9tpe9IMzIyCigJIZJZl6FEEKPDRs2DIDu3bvj4+ND9erVNcfatWvH+PHjlYqWL1JTU9mxYwd37txhypQpXLhwQWeXyurc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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "similarity_input_placeholder = tf.placeholder(tf.string, shape=(None))\n", "similarity_message_encodings = module(similarity_input_placeholder)\n", "with tf.Session() as session:\n", " session.run(tf.global_variables_initializer())\n", " session.run(tf.tables_initializer())\n", " run_and_plot(session, similarity_input_placeholder, sentences, similarity_message_encodings)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bidirectional Encoder Representations from Transformer (BERT)\n", "\n", "[BERT](https://github.com/google-research/bert) [[9]](#References) is a method of pre-training language representations in which one can train a general-purpose __language understanding__ model on a relatively large text corpus (like Google or Wikipedia), then use the trained model for downstream NLP tasks. BERT is the first _unsupervised_, _deeply bidirectional contextual_ system for pre-training natural languages, as opposed to context-free models (like [word2vec](https://code.google.com/archive/p/word2vec/) and [Glove](https://nlp.stanford.edu/projects/glove/)) and undirectional/shallowly bidirectional contextual models (like [Semi-supervised Sequence Learning](https://arxiv.org/abs/1511.01432), [Generative Pre-Training](https://openai.com/blog/language-unsupervised/), [ELMO](https://allennlp.org/elmo), [ULMFit](http://nlp.fast.ai/classification/2018/05/15/introducting-ulmfit.html)). For example, in the sentence `I made a bank deposit` the unidirectional representation of `bank` is only based on `I made a` but not `deposit`. BERT uses deep bidirectional Transformer to represent `bank` based on both its left and right context - `I made a ... deposit`. To overcome the __see itself__ issue, Google's BERT employed [__masked language modeling__](https://towardsdatascience.com/bert-explained-state-of-the-art-language-model-for-nlp-f8b21a9b6270), in which it hides 15\\% of the words and uses their position information to infer them. An interesting issue with this methodology is that it has a negative impact on convergence time, but it outperforms the state-of-the-art models before convergence. \n", "\n", "BERT proposes two different model sizes, containing the number of layers (i.e. Transformer blocks) as $L$, the hidden size as $H$, and the number of self-attention heads as $A$:\n", "\n", "- BERTBASE: $L=12$, $H=768$, $A=12$, Total parameters $=110M$\n", "- BERTLARGE: $L=24$, $H=1024$, $A=16$, Total parameters $=340M$\n", "\n", "A very high-level architecture of BERTBASE looks like this:\n", "\n", "![BERT](img/bert.png)\n", "\n", "Each encoder block encapsulates a sophisticated model architecture. A visual representation of BERT input is as follows:\n", "\n", "![BERT_Input](img/bert_input.png)\n", "\n", "\n", "The four embedding layers are [[9]](#References):\n", "\n", "- The __input layer__ is the vector of the sequence tokens along with the special tokens, i.e. _[CLS]_ (first token), _[SEP]_ (sequnce delimiter), and _[MASK]_ (masked words).\n", "- __Token embeddings__ are the vocabulary IDs for each of the tokens.\n", "- __Sequence Embeddings__ are just numerics to distinguish between sentences.\n", "- __Transformer Positional Embeddings__ specify the position of each word in the sequence.\n", "\n", "Now, we use the BERT module to compute a representation (embedding) for user requests and command descriptions in our online spreadsheet application. Very nice implementations of pre-trained BERT contextualized word embeddings exist on Google Colab for both TensorFlow platform [(__here__)](https://colab.research.google.com/drive/1RhmL0BqNe52FEbdSyLpkfVuCZxE7b5ke#forceEdit=true&offline=true&sandboxMode=true) and [Keras](https://keras.io/) platform [(__here__)](https://colab.research.google.com/gist/HighCWu/3a02dc497593f8bbe4785e63be99c0c3/bert-keras-tutorial.ipynb#scrollTo=o_4yp35FuZib). We tested our example over these codes and we got the similar results as the USE." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# References\n", "\n", "[1] Mikolov, T., I. Sutskever, K. Chen, G. Corrado and J. Dean, Distributed Representations of Words and Phrases and their Compositionality (2013)\n", "\n", "[2] Mikolov, T., Chen, K., Corrado, G., Dean, J., Sutskever, L. and Zweig, G., Efficient Estimation of Word Representations in Vector Space (2013)\n", "\n", "[3] Pennington, J., Socher, R. and Manning, C., Glove: Global vectors for word representation (2014)\n", "\n", "[4] Dai, A.M. and Le, Q.V., Semi-supervised sequence learning (2015)\n", "\n", "[5] Radford, A., Narasimhan, K., Salimans, T. and Sutskever, I., Improving language understanding by generative pre-training (2018)\n", "\n", "[6] Peters, M.E., Neumann, M., Iyyer, M., Gardner, M., Clark, C., Lee, K. and Zettlemoyer, L., Deep contextualized word representations (2018)\n", "\n", "[7] Howard, J. and Ruder, S., Universal language model fine-tuning for text classification (2018)\n", "\n", "[8] Cer, D., Yang, Y., Kong, S.Y., Hua, N., Limtiaco, N., John, R.S., Constant, N., Guajardo-Cespedes, M., Yuan, S., Tar, C. and Sung, Y.H., Universal sentence encoder (2018)\n", "\n", "[9] Devlin, J., Chang, M.W., Lee, K. and Toutanova, K., Bert: Pre-training of deep bidirectional transformers for language understanding (2018)\n", "\n", "[10] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A.Gomez, L. Kaiser and I. Polosukhin, Attention Is All You Need (2017)\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.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }