{"id":252,"date":"2014-10-27T21:54:53","date_gmt":"2014-10-27T21:54:53","guid":{"rendered":"http:\/\/www.marekrei.com\/blog\/?p=252"},"modified":"2019-09-27T23:36:30","modified_gmt":"2019-09-27T23:36:30","slug":"linguistic-regularities-word-representations","status":"publish","type":"post","link":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/","title":{"rendered":"Linguistic Regularities in Word Representations"},"content":{"rendered":"<p>In 2013, Mikolov et al. (2013) published a paper showing that complicated semantic analogy problems could be solved simply by adding and subtracting vectors learned with a neural network. Since then, there has been some more investigation into what is actually behind this method, and also some suggested improvements.\u00a0This post is a summary\/discussion of\u00a0the paper &#8220;<a href=\"http:\/\/www.aclweb.org\/anthology\/W\/W14\/W14-1618.pdf\">Linguistic Regularities in Sparse and Explicit Word Representations<\/a>&#8220;, by Omer Levy and Yoav Goldberg, published at ACL 2014.<\/p>\n<h2>The Task<\/h2>\n<p>The task under consideration is analogy recovery. These are questions in the form:<\/p>\n<p style=\"text-align: center;\"><strong><em>a<\/em>\u00a0is to <em>b<\/em>\u00a0as <em>c<\/em>\u00a0is to\u00a0<em>d<\/em><\/strong><\/p>\n<p style=\"text-align: left;\">In a usual setting, the system is given words <em>a, b, c<\/em>, and it needs to find <em>d<\/em>. For example:<\/p>\n<p style=\"text-align: center;\"><strong><em>&#8216;apple&#8217;<\/em> is to <em>&#8216;apples&#8217;<\/em> as <em>&#8216;car&#8217;<\/em> is to <em>?<\/em><\/strong><\/p>\n<p style=\"text-align: left;\">where the correct answer is <em>&#8216;cars&#8217;<\/em>. Or the\u00a0well-known\u00a0example:<\/p>\n<p style=\"text-align: center;\"><strong><em>&#8216;man&#8217;<\/em> is to <em>&#8216;woman&#8217;<\/em> as <em>&#8216;king&#8217;<\/em> is to <em>?<\/em><\/strong><\/p>\n<p style=\"text-align: left;\">where the desired answer is\u00a0<em>&#8216;queen&#8217;<\/em>.<\/p>\n<p style=\"text-align: left;\">While methods such as relation extraction would also be completely reasonable approaches to this problem, the research is mainly focused on solving it by using vector similarity methods. This means we create vector representations for each\u00a0of the words, and then use their positions in the high-dimensional feature space to determine what the missing word should be.<\/p>\n<p><!--more--><\/p>\n<h2>Vector Spaces<\/h2>\n<p>As the first step, we need to create feature vectors for each word in our vocabulary. The two main ways of doing this, which are also considered by this paper, are:<\/p>\n<ol>\n<li><strong>BOW<\/strong>: The bag-of words approach. We count all the words that a certain word appears with, treat the counts as features in a vector, and weight them using something like positive pointwise mutual information (PPMI).<\/li>\n<li><strong>word2vec<\/strong>: Vectors created using the <a href=\"https:\/\/code.google.com\/p\/word2vec\/\">word2vec<\/a> toolkit. Low-dimensional dense vector representations are learned for each word using a neural network.<\/li>\n<\/ol>\n<p>If you want to learn more details about these models, take a look at an earlier <a title=\"Don\u2019t count, predict\" href=\"https:\/\/www.marekrei.com\/blog\/dont-count-predict\/\">post about comparing both of these models<\/a>.<\/p>\n<h2>Analogy Artihmetic<\/h2>\n<p>We have the vectors, but how can we find the correct words in the analogy task?<\/p>\n<p>The idea of\u00a0Mikolov et al. (2013) was that the vector offset of vectors should reflect their relation:<\/p>\n<p style=\"text-align: center;\">\\(a &#8211; b \\approx c &#8211; d\\)<br \/>\n\\(man -woman \\approx king -queen\\)<\/p>\n<p>We can rearrange this to find <em>d<\/em>:<\/p>\n<p style=\"text-align: center;\">\\(d \\approx c &#8211; a +b\\)<br \/>\n\\(queen \\approx king -man +woman\\)<\/p>\n<p>Therefore, we can calculate the vector for\u00a0\\(c &#8211; a + b\\), compare it to the vectors of all words in our vocabulary, and return the highest-scoring word as the answer.<\/p>\n<p style=\"text-align: center;\">\\(d_w =\u00a0arg max_{d_w&#8217; \\in V}(cos(d&#8217;, c &#8211; a +b))\\)<\/p>\n<p style=\"text-align: left;\">I&#8217;m using \\(d_w\\) here to denote the actual word, whereas the \\(d\\) stands for the vector representation of \\(d_w\\). \\(V\\) is our whole vocabulary. \\(cos()\\) is the cosine similarity between two vectors.\u00a0Let&#8217;s refer to this as the <strong>addition<\/strong>\u00a0method.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-285\" src=\"https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png\" alt=\"regularities_equation\" width=\"973\" height=\"380\" srcset=\"https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png 973w, https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation-150x58.png 150w, https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation-300x117.png 300w\" sizes=\"auto, (max-width: 973px) 100vw, 973px\" \/><\/p>\n<p style=\"text-align: left;\">An alternative to this is to consider the directions of the offset directly. We find the word that has the most similar offset (in terms of direction), compared to the offset of the sample words.<\/p>\n<p style=\"text-align: center;\">\\(d_w =\u00a0arg max_{d&#8217;_w \\in V}(cos(a &#8211; b, c &#8211; d&#8217;))\\)<\/p>\n<p style=\"text-align: left;\">It only looks at the direction of the relational step, ignoring the actual magnitude of this step. We&#8217;ll see later that sometimes this is good, sometimes not so much. We&#8217;ll refer to this method as <strong>direction<\/strong>. Apparently this method was actually used by Mikolov in some experiments, although it wasn&#8217;t included in the paper.<\/p>\n<p style=\"text-align: left;\">Now onto the modification proposed by Levy &amp; Goldberg (2014). The addition\u00a0method basically looks for a word that is similar to <em>c<\/em> and <em>b<\/em>, and not similar to <em>a<\/em>, with each contributing\u00a0equally. This can lead to cases where one large term dominates the equation, especially if the magnitudes of the similarities are very different. Therefore, the authors have proposed that instead of adding these similarities, they could be multiplied:<\/p>\n<p style=\"text-align: center;\">\\(d_w =\u00a0arg max_{d&#8217;_w \\in V}\\frac{cos(d&#8217;, c) cos(d&#8217;, b)}{cos(d&#8217;, a) + \\epsilon}\\)<\/p>\n<p style=\"text-align: left;\">If the vectors are normalised (unit length), then this formula actually becomes a multiplication of their scalar products:<\/p>\n<p style=\"text-align: center;\">\\(d_w =\u00a0arg max_{d&#8217;_w \\in V}\\frac{(d&#8217;\u00a0\\cdot c) \\times (d&#8217;\u00a0\\cdot\u00a0b)}{(d&#8217;\u00a0\\cdot\u00a0a) + \\epsilon}\\)<\/p>\n<p style=\"text-align: left;\">\\(\\epsilon\\) is set to 0.001 to avoid division by zero. Also, the formula doesn&#8217;t handle negative similarity scores, whereas cosine (and the scalar product) can be negative. Therefore, the values are transformed into a positive range by doing \\(x_{new} = (x + 1)\/2\\). We&#8217;ll\u00a0refer to this as the\u00a0<strong>multiplication<\/strong>\u00a0method.<\/p>\n<h2>Evaluation<\/h2>\n<p>The alternative methods are evaluated on the task of analogy recovery, using three different datasets:<\/p>\n<ol>\n<li>The <a href=\"http:\/\/research.microsoft.com\/en-us\/projects\/rnn\/\">MSR dataset<\/a> containing 8,000 analogy questions.<\/li>\n<li>The <a href=\"https:\/\/code.google.com\/p\/word2vec\/source\/browse\/trunk\/questions-words.txt\">GOOGLE dataset<\/a> with 19,544 analogy questions.<\/li>\n<li>The <a href=\"https:\/\/sites.google.com\/site\/semeval2012task2\/download\">SEMEVAL dataset<\/a>, covering 79 distinct relation types.<\/li>\n<\/ol>\n<p>In the MSR and GOOGLE datasets, the system needs to find the correct answer from an open vocabulary. In contrast, the SEMEVAL task provides candidates for each relation that need to be reranked. Accuracy is used as the evaluation metric on all datasets.<\/p>\n<p>The word vectors were trained on 1.5 billion words of English Wikipedia. The vocabulary was restricted to contain only words that occurred at least 100 times in the corpus, resulting in 189,533 words.<\/p>\n<h2>Results<\/h2>\n<p><a href=\"https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_results.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-289\" src=\"https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_results.png\" alt=\"regularities_results\" width=\"1261\" height=\"648\" srcset=\"https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_results.png 1261w, https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_results-150x77.png 150w, https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_results-300x154.png 300w, https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_results-1024x526.png 1024w\" sizes=\"auto, (max-width: 1261px) 100vw, 1261px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Some observations based on the results:<\/p>\n<ul>\n<li>The multiplication method\u00a0outperforms\u00a0the additon method\u00a0on two tasks, and gives comparable results on the third one.<\/li>\n<li>The direction method performs horribly on the MSR and GOOGLE tasks, but gives the best results on SEMEVAL. This is because the method only looks at the direction of the relation, but doesn&#8217;t care if the result is actually positioned very far in the semantic space. The SEMEVAL task restricts the candidates to a small list, and the method is able to pick the best option, but doesn&#8217;t perform as well on open vocabulary.<\/li>\n<li>The BOW model is generally worse than word2vec\u00a0when using the addition method, but is comparable to the best results when using multiplication. This indicates that the property of linguistic regularities applies to both classical BOW and neural network representations.<\/li>\n<\/ul>\n<h2>Discussion<\/h2>\n<p>Based on my experience with\u00a0applying different vector operations to discover linguistic regularities, I&#8217;d like to point out two observations.<\/p>\n<p>First, while\u00a0the ability to recover semantic relations in such a way is remarkable, it is not quite as impressive as it seems at first glance. Let&#8217;s take the well-known example of <em>king &#8211; man + woman = queen<\/em>. Depending on the parameters I used, several vector spaces I built actually gave <em>queen<\/em> as the most similar word to <em>king<\/em>, with no vector operations needed. This makes sense, because <em>king<\/em> and <em>queen<\/em> are semantically very related, and probably occur in very similar contexts. But it also means that (<em>woman &#8211; man<\/em>) only needs to be a zero vector or some small random noise in order to give the correct answer. I&#8217;m not saying this is a major factor in\u00a0these experiments, but I would encourage future work to also report baselines without using any vector operations.<\/p>\n<p>Second, I observed that the quality of these regularities highly depends on the examples that are provided, and how they relate to the query word. For my work (Rei &amp; Briscoe, 2014) I looked at hyponym relations, and below are some examples when trying to find hyponyms for <em>bird<\/em>.<\/p>\n<p><a href=\"https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_mytable.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-291\" src=\"https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_mytable.png\" alt=\"regularities_mytable\" width=\"1345\" height=\"663\" srcset=\"https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_mytable.png 1345w, https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_mytable-150x73.png 150w, https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_mytable-300x147.png 300w, https:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_mytable-1024x504.png 1024w\" sizes=\"auto, (max-width: 1345px) 100vw, 1345px\" \/><\/a><\/p>\n<p>The greyed out terms are the query terms, and it is common practice to ignore these in the results; the bold results\u00a0are correct answers.\u00a0As you can see, just the plain vector similarity returns\u00a0one bird species correctly in the top results. When using <em>(salmon,fish)<\/em> as the example pair, the system is quite good and returns a whole lot more. But as I start to use hyponym examples from other domains, the quality degrades fast, and <em>(bird-treatment+therapy)<\/em> actually returns worse results than the basic vector similarity.<\/p>\n<p>I believe\u00a0there is still plenty of space to further improve out understanding of\u00a0how we can operate on various types of features, in order to model different semantic relations and compositional semantics.<\/p>\n<h2>References<\/h2>\n<p style=\"margin-left: 24pt; text-indent: -24.0pt;\">Levy, O., &amp; Goldberg, Y. (2014). Linguistic Regularities in Sparse and Explicit Word Representations. In <i>Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics<\/i> (pp. 171\u2013180).<\/p>\n<p style=\"margin-left: 24pt; text-indent: -24.0pt;\">Mikolov, T., Yih, W., &amp; Zweig, G. (2013). Linguistic Regularities in Continuous Space Word Representations, (June), 746\u2013751.<\/p>\n<p style=\"margin-left: 24pt; text-indent: -24.0pt;\">Rei, M., &amp; Briscoe, T. (2014). Looking for Hyponyms in Vector Space. In <i>CoNLL-2014<\/i> (pp. 68\u201377).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In 2013, Mikolov et al. (2013) published a paper showing that complicated semantic analogy problems could be solved simply by adding and subtracting vectors learned&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-252","post","type-post","status-publish","format-standard","hentry","category-neural-networks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Linguistic Regularities in Word Representations - Marek Rei<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linguistic Regularities in Word Representations - Marek Rei\" \/>\n<meta property=\"og:description\" content=\"In 2013, Mikolov et al. (2013) published a paper showing that complicated semantic analogy problems could be solved simply by adding and subtracting vectors learned&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/\" \/>\n<meta property=\"og:site_name\" content=\"Marek Rei\" \/>\n<meta property=\"article:published_time\" content=\"2014-10-27T21:54:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-27T23:36:30+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png\" \/>\n<meta name=\"author\" content=\"Marek\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/\",\"url\":\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/\",\"name\":\"Linguistic Regularities in Word Representations - Marek Rei\",\"isPartOf\":{\"@id\":\"https:\/\/www.marekrei.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png\",\"datePublished\":\"2014-10-27T21:54:53+00:00\",\"dateModified\":\"2019-09-27T23:36:30+00:00\",\"author\":{\"@id\":\"https:\/\/www.marekrei.com\/blog\/#\/schema\/person\/a145eb0a06ed4acf5b0f84a24b7a1191\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#primaryimage\",\"url\":\"http:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png\",\"contentUrl\":\"http:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.marekrei.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linguistic Regularities in Word Representations\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.marekrei.com\/blog\/#website\",\"url\":\"https:\/\/www.marekrei.com\/blog\/\",\"name\":\"Marek Rei\",\"description\":\"Thoughts on Machine Learning and Natural Language Processing\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.marekrei.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.marekrei.com\/blog\/#\/schema\/person\/a145eb0a06ed4acf5b0f84a24b7a1191\",\"name\":\"Marek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.marekrei.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/48a65414bfda6485aaa0703e548de0ed25292b5fe0d979ed8c28ad83cf5a82c0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/48a65414bfda6485aaa0703e548de0ed25292b5fe0d979ed8c28ad83cf5a82c0?s=96&d=mm&r=g\",\"caption\":\"Marek\"},\"url\":\"https:\/\/www.marekrei.com\/blog\/author\/marek\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Linguistic Regularities in Word Representations - Marek Rei","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/","og_locale":"en_US","og_type":"article","og_title":"Linguistic Regularities in Word Representations - Marek Rei","og_description":"In 2013, Mikolov et al. (2013) published a paper showing that complicated semantic analogy problems could be solved simply by adding and subtracting vectors learned&hellip;","og_url":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/","og_site_name":"Marek Rei","article_published_time":"2014-10-27T21:54:53+00:00","article_modified_time":"2019-09-27T23:36:30+00:00","og_image":[{"url":"http:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png"}],"author":"Marek","twitter_misc":{"Written by":"Marek","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/","url":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/","name":"Linguistic Regularities in Word Representations - Marek Rei","isPartOf":{"@id":"https:\/\/www.marekrei.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#primaryimage"},"image":{"@id":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#primaryimage"},"thumbnailUrl":"http:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png","datePublished":"2014-10-27T21:54:53+00:00","dateModified":"2019-09-27T23:36:30+00:00","author":{"@id":"https:\/\/www.marekrei.com\/blog\/#\/schema\/person\/a145eb0a06ed4acf5b0f84a24b7a1191"},"breadcrumb":{"@id":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#primaryimage","url":"http:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png","contentUrl":"http:\/\/www.marekrei.com\/blog\/wp-content\/uploads\/2014\/10\/regularities_equation.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.marekrei.com\/blog\/linguistic-regularities-word-representations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marekrei.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Linguistic Regularities in Word Representations"}]},{"@type":"WebSite","@id":"https:\/\/www.marekrei.com\/blog\/#website","url":"https:\/\/www.marekrei.com\/blog\/","name":"Marek Rei","description":"Thoughts on Machine Learning and Natural Language Processing","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.marekrei.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.marekrei.com\/blog\/#\/schema\/person\/a145eb0a06ed4acf5b0f84a24b7a1191","name":"Marek","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marekrei.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/48a65414bfda6485aaa0703e548de0ed25292b5fe0d979ed8c28ad83cf5a82c0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/48a65414bfda6485aaa0703e548de0ed25292b5fe0d979ed8c28ad83cf5a82c0?s=96&d=mm&r=g","caption":"Marek"},"url":"https:\/\/www.marekrei.com\/blog\/author\/marek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/posts\/252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/comments?post=252"}],"version-history":[{"count":40,"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/posts\/252\/revisions"}],"predecessor-version":[{"id":1305,"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/posts\/252\/revisions\/1305"}],"wp:attachment":[{"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/media?parent=252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/categories?post=252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marekrei.com\/blog\/wp-json\/wp\/v2\/tags?post=252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}