{"id":3140,"date":"2019-09-10T20:52:45","date_gmt":"2019-09-10T11:52:45","guid":{"rendered":"https:\/\/now0930.pe.kr\/wordpress\/?p=3140"},"modified":"2019-09-26T21:17:34","modified_gmt":"2019-09-26T12:17:34","slug":"keras%eb%a1%9c-%ed%82%a4%ec%9b%8c%eb%93%9c-%eb%b6%84%ec%84%9d2","status":"publish","type":"post","link":"https:\/\/now0930.pe.kr\/wordpress\/keras%eb%a1%9c-%ed%82%a4%ec%9b%8c%eb%93%9c-%eb%b6%84%ec%84%9d2\/","title":{"rendered":"keras\ub85c \ud0a4\uc6cc\ub4dc \ubd84\uc11d(2\/5)"},"content":{"rendered":"\n<p>keras\uac00 \uc9c0\uc6d0\ud558\ub294 embedding\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \ubab0\ub790\ub2e4. keras\uac00 \uc81c\uacf5\ud558\ub294 \ubb38\uc11c\uac00 embedding \uae30\ub2a5\uc744 \uc815\ud655\ud788 \uc124\uba85\ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/keras.io\/layers\/embeddings\/#embedding\n<\/div><\/figure>\n\n\n\n<p>weight\ub85c embedding_matrix\ub97c \uc785\ub825\ud558\uace0, input\uc73c\ub85c index\ub97c \uc785\ub825\ud558\uba74 index\ub97c vector\ub85c \ubcc0\uacbd\ud55c\ub2e4. \ub530\ub77c\uc11c \uc544\ub798\uc640 \uac19\uc740 \uc21c\uc11c\ub85c \uc791\uc5c5\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>\ubbf8\ub9ac \ub9cc\ub4e0 word2vec \ud30c\uc77c\uc744 \ubd88\ub7ec\uc628\ub2e4.<\/li><li>\uc804\uccb4 vocab \ucd1d \uc591\uc744 embedding_matrix\ub85c \uc124\uc815\ud55c\ub2e4.<\/li><li>konlpy\ub85c \uac01 \ud0dc\uadf8\ub97c \ubd84\ub9ac\ud55c\ub2e4.<\/li><li>\ubd88\ub7ec\uc628 word2vec \ud30c\uc77c\uc5d0\uc11c \ud574\ub2f9\ud558\ub294 \ub2e8\uc5b4 index\ub97c \uad6c\ud558\uace0, \uc774\ub97c \ubb38\uc7a5\uc73c\ub85c \ub9cc\ub4e0\ub2e4.<\/li><li>\uc801\uc808\ud55c \uae38\uc774\ub85c padding\ud55c\ub2e4.<\/li><li>\uc774\ub97c \uc785\ub825\uc73c\ub85c \uba39\uc778\ub2e4.<\/li><\/ol>\n\n\n\n<p>\ub300\ucda9 \uc5b4\ub5bb\uac8c \ud560 \uc9c0 \uac10 \uc7a1\uc558\uc73c\ub2c8, \uc774\uc81c \ub2e4\uc2dc \uc0bd\uc9c8\uc744 \uc2dc\uc791\ud558\uc790.<\/p>\n\n\n\n<p>\ub2e4\uc2dc \uc544\ub798\uc640 \uac19\uc774 \uc791\uc131\ud588\ub2e4. \uc77c\ub2e8 \ub124\ud2b8\uc6cd\uc744 fit\uc73c\ub85c \ud6c8\ub828\uc2dc\ud0ac \uc218 \uc788\ub294\uc9c0 \uc5c6\ub294\uc9c0 \ud655\uc778\ud588\ub2e4. \uc77c\ub2e8 \ub41c\ub2e4. \ubaa8\ub4e0 \uc785\ub825\uacfc \ucd9c\ub825\uc744 \uc815\ud655\ud558\uac8c \uc77d\uc5c8\uace0, 2\uc9c4 \ubd84\ub958\uae30\ub85c \ub9cc\ub4e4\uc5c8\ub2e4. embedding\ub3c4 \uc81c\ub300\ub85c \ub418\ub294 \ub4ef \ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from konlpy.tag import Okt\nokt=Okt()\nfrom gensim.models import Word2Vec\nfrom keras.layers import Dense, Flatten\nfrom keras.models import Sequential\nfrom keras.preprocessing.sequence import pad_sequences\nfrom keras.layers.embeddings import Embedding\nimport numpy as np\n\nmodel=Word2Vec.load('.\/myModel')\n#b=model.wv.most_similar(positive=[\"\ud074\ub7a8\ud504\", \"\uc7a0\uae40\"])\nprint(model)\n\n#print(model.wv[\"\ud6c4\ub4dc\ud78c\uc9c0\uc2dc\ud504\ud2b8\"])\n\n#tokenizer \uc124\uc815.\n#Okt()\uc0ac\uc6a9.\n\ntargetFile = open(\".\/tagv4\ud0dc\uadf8\ubd99\uc778\ud30c\uc77c.csv\", \"r\", encoding='UTF-8')\n\ni=0\nsentence_by_index=[]\ntraing_result=[]\nWORD_MAX=6\nWV_SIZE=4\nMAX_VOCAB=3532\n\n#\ubabb\ucc3e\uc740 \ub2e8\uc5b4\ub97c \uc785\ub825\ud558\uae30 \uc704\ud55c \ubd80\ubd84.\nVACANT_ARRAY = np.zeros((4,1))\n\n\nwhile True:\n\n    lines = targetFile.readline()\n    firstColumn = lines.split(',')\n    #print(lines)\n    \n    if not lines:break\n    #if i == 1000:break\n    i=i+1\n    #word2vec\ub97c \ub9cc\ub4e0 \ud615\ud0dc\uc18c \ubd84\uc11d\uae30\ub97c \uc0ac\uc6a9..\n    tokenlist = okt.pos(firstColumn[1], stem=True, norm=True)\n    temp=[]\n\n    for word in tokenlist:\n        #word[0]\uc740 \ub2e8\uc5b4.\n        #word[1]\uc740 \ud488\uc0ac.\n        #print(\"word[0]\uc740\",word[0])\n        #print(\"word[1]\uc740\",word[1])\n\n        if word[1] in [\"Noun\",\"Alpha\",\"Number\"]:\n            #temp.append(model.wv[word[0]])\n            #word[0]\ub97c index\ub85c \ubcc0\uacbd.\n            #\ub2e8\uc5b4\uc7a5\uc5d0 \uc5c6\ub294 \ub2e8\uc5b4\ub97c \uc608\uc678\ucc98\ub9ac\n            #\uc785\ub825\uacfc \ucd9c\ub825\uc744 \uac19\uc774 \ub9de\ucd94\uae30 \uc704\ud574, \uc785\ucd9c\ub825 \ub3d9\uc2dc\uc5d0 append\n            try:\n                #print(\"---------\")\n                #print(i)\n                #print(word[0])\n                temp.append(model.wv.vocab.get(word[0]).index)\n                #print(model.wv.vocab.get(word[0]).index)\n\n            except AttributeError:\n                #\uac12\uc744 \ubabb\ucc3e\uc73c\uba74 0\uac12 \uc785\ub825\n                temp.append(0)\n                #print(temp)\n    #print(\"index is \", i)\n    #print(\"temp is\", temp)\n\n    #\uac00\uc838\ub2e8 \uc4f4 \ucf54\ub4dc\ub294 temp\uc5d0 \uac12\uc774 \uc788\uc744 \uacbd\uc6b0\uc5d0\ub9cc append.\n    #\ucd9c\ub825\uacfc \ub9de\ucd94\uae30 \uc704\ud574, list\uac00 \ube44\uc5b4\uc788\uc5b4\ub3c4 append\ub85c \ubcc0\uacbd.\n    #if temp:\n    #    sentence_by_index.append(temp)\n    sentence_by_index.append(temp)\n\n    #\uacb0\uacfc\ub97c \ubc30\uc5f4\ub85c \uc785\ub825\n    tempResult=firstColumn[4].strip('\\n')\n    traing_result.append(tempResult)\n\ntargetFile.close()\ntraining_result_asarray = np.asarray(traing_result)\n\n#\ucd5c\ub300 \ub2e8\uc5b4\ub97c 6\uc73c\ub85c \uc124\uc815.\n#\ud589 \uc218\ubcf4\ub2e4 6\uae4c\uc9c0 \ub4a4\ucabd\uc73c\ub85c 0\uc744 \ucc44\uc6c0.\n#word2Vec\uac00 \uc2e4\uc218\uc774\ubbc0\ub85c float32\ub85c \uc124\uc815\n#result\uac00 embedding_matrix\nfixed_sentence_by_index = pad_sequences(sentence_by_index, maxlen=WORD_MAX, padding='post', dtype='int')\nprint(\"\uc785\ub825 \uc2dc\ud000\uc2a4\ub294\", fixed_sentence_by_index.shape)\nprint(\"\ucd9c\ub825 \uc2dc\ud000\uc2a4\ub294\", training_result_asarray.shape)\n#print(\"index\ub85c \ubcc0\uacbd\ud55c \uac12\uc740\",fixed_sentence_by_index)\n#print(\"embedding vector\ub294\", model.wv.vectors)\n\n#keras \ubaa8\ub378 \uc124\uc815.\nmodel2= Sequential()\nmodel2.add(Embedding(input_dim=MAX_VOCAB, output_dim=4, input_length=WORD_MAX, weights=[model.wv.vectors], trainable=False))\nmodel2.add(Flatten())\nmodel2.add(Dense(1, activation='softmax'))\nmodel2.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])\nmodel2.fit(x=fixed_sentence_by_index, y=training_result_asarray, epochs=1000, verbose=1, validation_split=0.2)\n\nmodel2.summary()<\/pre>\n\n\n\n<p>\ub124\ud2b8\uc6cd\uc744 \uc870\uae08 \ubcf5\uc7a1\ud558\uac8c \ud558\uace0, gtx1060 gpu\ub85c 1000\ubc88 \ud6c8\ub828 \uc2dc\ucf30\ub2e4. <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@AMD-1804:\/home\/mnt\/konlpy_190910_moved# python tagCheckerv3.py \n\/usr\/local\/lib\/python3.5\/dist-packages\/jpype\/_core.py:210: UserWarning: \n-------------------------------------------------------------------------------\nDeprecated: convertStrings was not specified when starting the JVM. The default\nbehavior in JPype will be False starting in JPype 0.8. The recommended setting\nfor new code is convertStrings=False.  The legacy value of True was assumed for\nthis session. If you are a user of an application that reported this warning,\nplease file a ticket with the developer.\n-------------------------------------------------------------------------------\n\n  \"\"\")\nUsing TensorFlow backend.\nWord2Vec(vocab=3532, size=4, alpha=0.025)\n2019-09-11 11:02:33.941682: I tensorflow\/core\/common_runtime\/gpu\/gpu_device.cc:1432] Found device 0 with properties: \nname: GeForce GTX 1060 6GB major: 6 minor: 1 memoryClockRate(GHz): 1.7085\npciBusID: 0000:01:00.0\ntotalMemory: 5.93GiB freeMemory: 5.38GiB\n2019-09-11 11:02:33.941740: I tensorflow\/core\/common_runtime\/gpu\/gpu_device.cc:1511] Adding visible gpu devices: 0\n2019-09-11 11:02:34.356140: I tensorflow\/core\/common_runtime\/gpu\/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix:\n2019-09-11 11:02:34.356206: I tensorflow\/core\/common_runtime\/gpu\/gpu_device.cc:988]      0 \n2019-09-11 11:02:34.356217: I tensorflow\/core\/common_runtime\/gpu\/gpu_device.cc:1001] 0:   N \n2019-09-11 11:02:34.356473: I tensorflow\/core\/common_runtime\/gpu\/gpu_device.cc:1115] Created TensorFlow device (\/job:localhost\/replica:0\/task:0\/device:GPU:0 with 5138 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0, compute capability: 6.1)\nTrain on 77696 samples, validate on 19424 samples\nEpoch 1\/1000\n77696\/77696 [==============================] - 19s 248us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 2\/1000\n77696\/77696 [==============================] - 18s 238us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 3\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 4\/1000\n77696\/77696 [==============================] - 19s 239us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 5\/1000\n77696\/77696 [==============================] - 19s 241us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 6\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 7\/1000\n77696\/77696 [==============================] - 18s 238us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 8\/1000\n77696\/77696 [==============================] - 19s 241us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 9\/1000\n77696\/77696 [==============================] - 19s 243us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 10\/1000\n77696\/77696 [==============================] - 19s 241us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 11\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 12\/1000\n77696\/77696 [==============================] - 18s 238us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 13\/1000\n77696\/77696 [==============================] - 18s 238us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 14\/1000\n77696\/77696 [==============================] - 19s 241us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 15\/1000\n77696\/77696 [==============================] - 19s 241us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 16\/1000\n77696\/77696 [==============================] - 19s 242us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 17\/1000\n77696\/77696 [==============================] - 19s 242us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 18\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 19\/1000\n77696\/77696 [==============================] - 19s 241us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 20\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 21\/1000\n77696\/77696 [==============================] - 19s 241us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 22\/1000\n77696\/77696 [==============================] - 19s 242us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 23\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 24\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 25\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 26\/1000\n77696\/77696 [==============================] - 19s 239us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 27\/1000\n77696\/77696 [==============================] - 19s 242us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 28\/1000\n77696\/77696 [==============================] - 19s 243us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 29\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 30\/1000\n77696\/77696 [==============================] - 19s 240us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 31\/1000\n77696\/77696 [==============================] - 18s 237us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325\nEpoch 32\/1000\n77696\/77696 [==============================] - 19s 241us\/step - loss: 11.2624 - acc: 0.2936 - val_loss: 12.2350 - val_acc: 0.2325<\/pre>\n\n\n\n<p>acc\uc640 loss\uac00 \ubcc0\ud560 \uc870\uc9d0\uc774 \uc5c6\ub2e4. \ub2e4\uc74c\uc5d0\ub294 \ub124\ud2b8\uc6cd\uc744 \uc870\uae08 \ubcf5\uc7a1\ud558\uac8c \ud574\ubcf4\uace0 \ub2e4\uc2dc \ud6c8\ub828\uc2dc\ucf1c\uc57c\uaca0\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>keras\uac00 \uc9c0\uc6d0\ud558\ub294 embedding\uc744 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \ubab0\ub790\ub2e4. keras\uac00 \uc81c\uacf5\ud558\ub294 \ubb38\uc11c\uac00 embedding \uae30\ub2a5\uc744 \uc815\ud655\ud788 \uc124\uba85\ud55c\ub2e4. weight\ub85c embedding_matrix\ub97c \uc785\ub825\ud558\uace0, input\uc73c\ub85c index\ub97c \uc785\ub825\ud558\uba74 index\ub97c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3148,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[33],"tags":[650,109,637,652,649,648,441,651],"class_list":["post-3140","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tensorflow","tag-konlpy","tag-tensorflow","tag-word2vec","tag-652","tag-649","tag-648","tag-441","tag-651"],"jetpack_featured_media_url":"https:\/\/now0930.pe.kr\/wordpress\/wp-content\/uploads\/2019\/09\/word2vecImage.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/3140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/comments?post=3140"}],"version-history":[{"count":8,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/3140\/revisions"}],"predecessor-version":[{"id":3184,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/3140\/revisions\/3184"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/media\/3148"}],"wp:attachment":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=3140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=3140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=3140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}