{"id":170,"date":"2020-06-08T11:03:39","date_gmt":"2020-06-08T02:03:39","guid":{"rendered":"http:\/\/cedartrees.co.kr\/?p=170"},"modified":"2021-04-03T19:20:48","modified_gmt":"2021-04-03T10:20:48","slug":"fast-text","status":"publish","type":"post","link":"http:\/\/blog.cedartrees.co.kr\/index.php\/2020\/06\/08\/fast-text\/","title":{"rendered":"fast text"},"content":{"rendered":"\n<p>fastText\ub294 Facebook\uc758 AI Research lab\uc5d0\uc11c \ub9cc\ub4e0 \ub2e8\uc5b4 \uc784\ubca0\ub529 \ubc0f \ud14d\uc2a4\ud2b8 \ubd84\ub958 \ud559\uc2b5\uc744\uc704\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4. \uc774 \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud558\uba74 \ub2e8\uc5b4\uc5d0 \ub300\ud55c \ubca1\ud130 \ud45c\ud604\uc744 \uc5bb\uae30 \uc704\ud574 \ube44\uc9c0\ub3c4 \ud559\uc2b5 \ub610\ub294\uc9c0\ub3c4 \ud559\uc2b5 \uc54c\uace0\ub9ac\uc998\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>fastText\uc5d0 \ub300\ud55c \uc704\ud0a4\uc5d0 \uc788\ub294 \uac04\ub2e8\ud55c \uc815\uc758\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"has-small-font-size\"><strong>fastText<\/strong>&nbsp;is a library for learning of&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Word_embedding\">word embeddings<\/a>&nbsp;and text classification created by&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Facebook\">Facebook<\/a>&#8216;s AI Research (FAIR) lab<sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/FastText#cite_note-3\">[3]<\/a><\/sup><sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/FastText#cite_note-4\">[4]<\/a><\/sup><sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/FastText#cite_note-5\">[5]<\/a><\/sup><sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/FastText#cite_note-6\">[6]<\/a><\/sup>. The model allows to create an&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Unsupervised_learning\">unsupervised learning<\/a>&nbsp;or&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Supervised_learning\">supervised learning<\/a>&nbsp;algorithm for obtaining vector representations for words. Facebook makes available pretrained models for 294 languages.<sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/FastText#cite_note-7\">[7]<\/a><\/sup>&nbsp;fastText uses a&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Artificial_neural_network\">neural network<\/a>&nbsp;for word embedding.<\/p>\n\n\n\n<p class=\"has-small-font-size\">Algorithm of fasttext is based on these two papers:<sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/FastText#cite_note-8\">[8]<\/a><\/sup><\/p>\n\n\n\n<ul><li><em><a href=\"https:\/\/arxiv.org\/abs\/1607.04606\">Enriching Word Vectors with Subword Information<\/a>&nbsp;,<\/em>&nbsp;Piotr Bojanowski, Edouard Grave, Armand Joulin and Tomas Mikolov, 2016<\/li><li><em><a href=\"https:\/\/arxiv.org\/abs\/1607.01759\">Bag of Tricks for Efficient Text Classification<\/a>,<\/em>&nbsp;Armand Joulin, Edouard Grave, Piotr Bojanowski, Tomas Mikolov, 2016<\/li><\/ul>\n\n\n\n<p>gensim \ud328\ud0a4\uc9c0\ub97c \ud65c\uc6a9\ud558\uba74 \uac04\ub2e8\ud788 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <br>word2vec\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\ubcf4\ub2e4 \ub354 \uc88b\uc740 \uc131\ub2a5\uc744 \uc5bb\uc744 \uc218 \uc788\uace0 \ub610 \uc785\ub825 \uc2dc\uc5d0 \ub098\uc628 \uc624\ud0c0\ub3c4 \uc5b4\ub290 \uc815\ub3c4 \ud574\uacb0\ud560 \uc218 \uc788\ub2e4\uace0 \ud569\ub2c8\ub2e4.  \uadf8 \uc774\uc720\ub294 char-ngram \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud558\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-style-default\"><p>fastText attempts to solve this by treating each word as the aggregation of its subwords. For the sake of simplicity and language-independence, subwords are taken to be the character ngrams of the word. The vector for a word is simply taken to be the sum of all vectors of its component char-ngrams.<\/p><cite><a href=\"https:\/\/radimrehurek.com\/gensim\/auto_examples\/tutorials\/run_fasttext.html\">https:\/\/radimrehurek.com\/gensim\/auto_examples\/tutorials\/run_fasttext.html<\/a><\/cite><\/blockquote>\n\n\n\n<p>\ub2e4\ub9cc \uacc4\uc0b0\ub7c9\uc774 word2vec\uc744 \uc0ac\uc6a9\ud560 \ub54c\ubcf4\ub2e4 \ub9ce\uc544\uc11c \uc2dc\uac04\uc774 \ub354 \uac78\ub9bd\ub2c8\ub2e4. \uc544\ub798\uc758 \uacf5\uc2dd \ubb38\uc11c\ub97c \ucc38\uace0\ud558\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>Training time for fastText is significantly higher than the Gensim version of Word2Vec (<code>15min&nbsp;42s<\/code>&nbsp;vs&nbsp;<code>6min&nbsp;42s<\/code>&nbsp;on text8, 17 mil tokens, 5 epochs, and a vector size of 100).<\/p><cite><a href=\"https:\/\/radimrehurek.com\/gensim\/auto_examples\/tutorials\/run_fasttext.html\">https:\/\/radimrehurek.com\/gensim\/auto_examples\/tutorials\/run_fasttext.html<\/a><\/cite><\/blockquote>\n\n\n\n<h2>Test Code<\/h2>\n\n\n\n<p>\ud14c\uc2a4\ud2b8\ub97c \uc704\ud574 \uc778\ud130\ub137\uc5d0 \uacf5\uac1c \ub418\uc5b4 \uc788\ub294 2018\ub144\ub3c4 \ub370\uc774\ud130\ub97c \ub2e4\uc6b4 \ubc1b\uc558\uc2b5\ub2c8\ub2e4. \ud30c\uc77c \ud3ec\ub9f7\uc740 csv\ud615\ud0dc\ub85c \ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def read_data(filename):    \n    with open(filename, 'r',encoding='utf-8') as f:\n        data = &#91;line.split(',t') for line in f.read().splitlines()]        \n        data = data&#91;1:]   # header \uc81c\uc678 #    \n    return data \n    \ntrain_data = read_data('.\/data\/2018_simpan_newgroup.csv') <\/code><\/pre>\n\n\n\n<p>\ud14c\uc2a4\ud2b8\ub97c \uc704\ud574 \ubc1b\uc740 \ud14d\uc2a4\ud2b8 \ud30c\uc77c\uc758 \ud615\ud0dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;&#91;'0|\uc774 \uac74 \uc2ec\ud310\uccad\uad6c\ub294 \ucc98\ubd84\uccad\uc758 \uc9c1\uad8c\uacbd\uc815\uc73c\ub85c \uc778\ud558\uc5ec \uc2ec\ub9ac\uc77c \ud604\uc7ac \uccad\uad6c\uc758 \ub300\uc0c1\uc774 \ub418\ub294 \ucc98\ubd84\uc774 \uc874\uc7ac\ud558\uc9c0 \uc544\ub2c8\ud558\ubbc0\ub85c \ubd80\uc801\ubc95\ud55c \uccad\uad6c\ub85c \ud310\ub2e8\ub428|0'],\n &#91;'1|\ucc98\ubd84\uccad\uc758 2016\ub144 \uc81c2\uae30 \ubd80\uac00\uac00\uce58\uc138 \uacbd\uc815\uacb0\uc815 \ud6c4 \uccad\uad6c\uc778\uc774 \uc2ec\ud310\uccad\uad6c\ub97c \uc81c\uae30\ud558\uc5ec 2017.10.24. \uc774\ubbf8 \uae30\uac01\uacb0\uc815\uc744 \ubc1b\uc558\uc73c\ubbc0\ub85c \uc774 \uac74 \uc2ec\ud310\uccad\uad6c\ub294 \ub3d9\uc77c\ud55c \ucc98\ubd84\uc5d0 \ub300\ud558\uc5ec \uc911\ubcf5\ud558\uc5ec \uc81c\uae30\ub41c \uc810, \uccad\uad6c\uc778\uc740 \ub2f9\ucd08 \uc2ec\ud310\uccad\uad6c\uc640 \ub3d9\uc77c\ud55c \ub0b4\uc6a9\uc758 \uacbd\uc815\uccad\uad6c\ub97c \ud558\uc600\uace0, \uadf8\uc5d0 \ub300\ud55c \ucc98\ubd84\uccad\uc758 \uac70\ubd80\ud1b5\uc9c0\ub294 \ubbfc\uc6d0\ud68c\uc2e0\uc5d0 \ubd88\uacfc\ud55c \uac83\uc774\uc5b4\uc11c \uc2ec\ud310\uccad\uad6c\uc758 \ub300\uc0c1\uc774 \ub418\ub294 \ucc98\ubd84\uc73c\ub85c \ubcfc \uc218 \uc5c6\ub294 \uc810 \ub4f1\uc5d0 \ube44\ucd94\uc5b4 \uc774 \uac74 \uc2ec\ud310\uccad\uad6c\ub294 \ubd80\uc801\ubc95\ud55c \uccad\uad6c\ub85c \ud310\ub2e8\ub428|0'],\n &#91;'2|\ucc98\ubd84\uccad\uc774 \uccad\uad6c\uc8fc\uc7a5\uc744 \ubc1b\uc544\ub4e4\uc5ec \uc774 \uac74 \uacfc\uc138\ucc98\ubd84\uc744 \uc9c1\uad8c\uc73c\ub85c \uac10\uc561\uacbd\uc815\ud558\uc600\uc73c\ubbc0\ub85c \uc774 \uac74 \uc2ec\ud310\uccad\uad6c\ub294 \uc2ec\ub9ac\uc77c \ud604\uc7ac \ubd88\ubcf5 \ub300\uc0c1\uc774 \ub418\ub294 \ucc98\ubd84\uc774 \uc874\uc7ac\ud558\uc9c0 \uc544\ub2c8\ud558\uc5ec \ubd80\uc801\ubc95\ud55c \uccad\uad6c\uc5d0 \ud574\ub2f9\ud558\ub294 \uac83\uc73c\ub85c \ud310\ub2e8\ub428|0'],\n &#91;'3|\uc7c1\uc810\uac74\ubb3c\uc740 \uc885\uad50\uc778\uacfc \uc77c\ubc18\uc778\uc744 \uc0c1\ub300\ub85c \uc885\uad50\uc11c\uc801 \ub4f1\uc744 \ud310\ub9e4\ud558\ub294 \ub9e4\uc7a5\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \uac83\uc73c\ub85c \ub098\ud0c0\ub098\uace0, \ub2ec\ub9ac \uc885\uad50\uc6a9\ub3c4\ub85c \uc9c1\uc811 \uc0ac\uc6a9\ub418\uc5c8\ub2e4\uace0 \uc778\uc815\ud560 \ub9cc\ud55c \uc0ac\uc2e4\uc774 \ud655\uc778\ub418\uc9c0 \uc544\ub2c8\ud558\ubbc0\ub85c \ucc98\ubd84\uccad\uc774 \uc885\uad50\ubaa9\uc801\uc73c\ub85c \uc9c1\uc811 \uc0ac\uc6a9\ud558\uc9c0 \uc544\ub2c8\ud55c \uac83\uc73c\ub85c \ubcf4\uc544 \uc774 \uac74 \uc7ac\uc0b0\uc138 \ub4f1\uc744 \ubd80\uacfc\ud55c \ucc98\ubd84\uc740 \uc798\ubabb\uc774 \uc5c6\ub2e4\uace0 \ud310\ub2e8\ub428.|1']...<\/code><\/pre>\n\n\n\n<p>\ub9ac\uc2a4\ud2b8 \ud615\ud0dc\ub85c \ub370\uc774\ud130\uac00 \ub4e4\uc5b4\uc624\uace0 2372\ubb38\uc7a5\uc744 \ud14c\uc2a4\ud2b8\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud574\ub2f9 \ubb38\uc7a5\uc5d0\ub294 \uc5ec\ub7ec\uac00\uc9c0 \ud2b9\uc218\uae30\ud638\uac00 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc801\uc808\ud788 \uc804\ucc98\ub9ac\ub97c \ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc804\ucc98\ub9ac \ud6c4\uc5d0 konlpy.Okt()\ub97c \ud65c\uc6a9\ud558\uc5ec \uac01 \ubb38\uc7a5\uc744 \ud615\ud0dc\uc18c \ub2e8\uc704\ub85c \ub098\ub220\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def tokenize(doc):\n    s = doc&#91;0].split('|')\n    # \uc774\ubd80\ubd84\uc5d0 \ud2b9\uc218\ubb38\uc790 \uc81c\uac70 \ub4f1\uc758 \uc804\ucc98\ub9ac\ub97c \ud574\uc8fc\uc2dc\uba74 \ub429\ub2c8\ub2e4. \n    return &#91;'\/'.join(t) for t in pos_tagger.pos(s, norm=True, stem=True)]\n\ntokens = &#91;tokenize(row) for row in train_data]<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;&#91;'\uc774\/Noun','\uac74\/Noun','\uc2ec\ud310\/Noun','\uccad\uad6c\/Noun','\ub294\/Josa','\ucc98\ubd84\/Noun','\uccad\/Noun','\uc758\/Josa','\uc9c1\uad8c\/Noun','\uacbd\uc815\/Noun','\uc73c\ub85c\/Josa','\uc778\ud558\ub2e4\/Adjective','\uc2ec\ub9ac\/Noun','\uc77c\/Noun','\ud604\uc7ac\/Noun','\uccad\uad6c\/Noun','\uc758\/Josa','\ub300\uc0c1\/Noun','\uc774\/Josa','\ub418\ub2e4\/Verb','\ucc98\ubd84\/Noun','\uc774\/Josa','\uc874\uc7ac\/Noun','\ud558\ub2e4\/Verb','\uc544\ub2c8\ub2e4\/Adjective','\ubd80\/Noun','\uc801\ubc95\ud558\ub2e4\/Adjective','\uccad\uad6c\/Noun','\ub85c\/Josa','\ud310\ub2e8\/Noun','\ub418\ub2e4\/Verb']]<\/code><\/pre>\n\n\n\n<p>\uc704\uc640 \uac19\uc740 \ud615\ud0dc\ub85c \ubd84\ub9ac\ub429\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>model = gensim.models.fasttext.FastText(size=100)\nmodel.build_vocab(tokens)\nmodel = gensim.models.fasttext.FastText(size=100)\nmodel.build_vocab(tokens)\n\nmodel.train(tokens, window=5, epochs=model.epochs, total_examples=model.corpus_count)\nmodel.alpha -= 0.002\nmodel.min_alpha = model.alpha<\/code><\/pre>\n\n\n\n<p>\ub2e4\uc74c\uacfc \uac19\uc774 \uc218\ud589\ud569\ub2c8\ub2e4. \ud544\uc694\uc5d0 \ub530\ub77c\uc11c \ub2e4\uc591\ud55c \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud6c8\ub828\uc744 \uc9c4\ud589\ud558\uc2dc\uba74 \ub429\ub2c8\ub2e4. gensim \uc0ac\uc774\ud2b8\uc5d0 \uac00\uc2dc\uba74 \uc774\uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc774 \uc124\uba85\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ubd80\ub3d9\uc0b0\uc744 \uc785\ub825\ud588\ub354\ub2c8 \uc544\ub798\uc640 \uac19\uc740 \uacb0\uacfc\ub97c \uc5bb\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>model.wv.similar_by_word('\ubd80\ub3d9\uc0b0\/Noun')\n&#91;('\ucde8\ub4dd\/Noun', 0.9003169536590576),\n ('\uac00\uc561\/Noun', 0.8994468450546265),\n ('\uc815\uc0b0\/Noun', 0.8911253213882446),\n ('\ud658\uc0b0\/Noun', 0.8888809084892273),\n ('\uc5f0\ub9d0\uc815\uc0b0\/Noun', 0.8887563943862915),\n ('\uc790\uc0b0\/Noun', 0.8879978656768799),\n ('\uc7ac\uc0b0\/Noun', 0.8878995180130005),\n ('\uc804\uc561\/Noun', 0.8871012330055237),\n ('\ubd84\uc0b0\/Noun', 0.8870201110839844),\n ('\uac70\uc561\/Noun', 0.8869702816009521)]<\/code><\/pre>\n\n\n\n<p>\ud574\ub2f9 \ubaa8\ub378\uc740 100\ucc28\uc6d0\uc73c\ub85c \ub418\uc5b4 \uc788\ub294\ub370 \uadf8\uac83\uc740 \uc704\uc5d0 \ubaa8\ub378\uc744 \uc120\uc5b8\ud560 \ub54c\uc5d0 size=100\uc73c\ub85c \uc124\uc815\ud588\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>model.wv&#91;'\ubd80\ub3d9\uc0b0\/Noun']\narray(&#91; 0.23454253, -0.7865744 , -0.46801254, -0.11220518,  0.49738216,\n        0.51051146,  0.28836748,  0.24520665, -0.2823485 ,  0.12481502,\n        0.31313908,  0.09823137,  0.9331261 , -0.63185096,  0.79251087,\n        0.07525934,  0.5575937 ,  0.6052933 , -0.36211282,  0.43174762,\n        0.0608188 ,  0.18941545,  0.35179955, -0.43175125, -0.48578402,\n        0.7635253 ,  0.19132383,  0.83176637, -0.4213232 ,  0.2916827 ,\n        0.06576332,  0.03166943, -0.5215866 , -0.9714561 , -0.43011758,\n        0.14605877,  0.77329254,  0.18222107,  0.5664433 ,  0.971345  ,\n        0.65927994,  0.3893743 , -0.09935822,  0.2923206 ,  0.12915374,\n       -0.14681472,  0.05491441, -0.27698728,  0.01709399,  0.26082256,\n        0.07673132, -0.227397  , -0.15840591, -0.10292988, -0.6830837 ,\n       -0.23510128,  0.6165825 ,  0.11153345, -0.4144705 ,  0.09626016,\n       -0.11291514,  0.8256664 , -0.49922696,  0.26332954, -0.35839406,\n        0.6881266 ,  0.6718516 ,  0.0867641 ,  0.24843903,  0.6920707 ,\n        0.37919027, -0.27192804,  0.5573388 , -1.0683383 , -0.45235977,\n       -0.5060888 , -0.693835  , -0.33676928,  0.5679421 , -0.4563976 ,\n        0.4198934 , -0.06000128,  0.6072741 , -1.1808567 ,  0.09339973,\n       -0.4496738 ,  0.02826241, -0.01418105,  0.01322413, -0.16594794,\n       -0.8327613 , -0.02719802,  0.5258091 , -0.6739192 , -0.7354652 ,\n       -0.6937513 , -0.28029326, -0.36118436, -0.41617483,  0.8403618 ],\n      dtype=float32)<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>fastText\ub294 Facebook\uc758 AI Research lab\uc5d0\uc11c \ub9cc\ub4e0 \ub2e8\uc5b4 \uc784\ubca0\ub529 \ubc0f \ud14d\uc2a4\ud2b8 \ubd84\ub958 \ud559\uc2b5\uc744\uc704\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4. \uc774 \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud558\uba74 \ub2e8\uc5b4\uc5d0 \ub300\ud55c \ubca1\ud130 \ud45c\ud604\uc744 \uc5bb\uae30 \uc704\ud574 \ube44\uc9c0\ub3c4 \ud559\uc2b5 \ub610\ub294\uc9c0\ub3c4 \ud559\uc2b5 \uc54c\uace0\ub9ac\uc998\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. fastText\uc5d0 \ub300\ud55c \uc704\ud0a4\uc5d0 \uc788\ub294 \uac04\ub2e8\ud55c \uc815\uc758\uc785\ub2c8\ub2e4. fastText&nbsp;is a library for learning of&nbsp;word embeddings&nbsp;and text classification created by&nbsp;Facebook&#8216;s AI Research (FAIR) lab[3][4][5][6]. The model allows to &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.cedartrees.co.kr\/index.php\/2020\/06\/08\/fast-text\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;fast text&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[21,14],"tags":[129],"_links":{"self":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/170"}],"collection":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/comments?post=170"}],"version-history":[{"count":13,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/170\/revisions"}],"predecessor-version":[{"id":185,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/170\/revisions\/185"}],"wp:attachment":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/media?parent=170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/categories?post=170"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/tags?post=170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}