From 6d5ac403a1b99353bcd1c48123311d92c60419b1 Mon Sep 17 00:00:00 2001 From: HyeonhoonLee <68671051+HyeonhoonLee@users.noreply.github.com> Date: Mon, 26 Oct 2020 12:46:55 +0900 Subject: [PATCH] test with osam51135, acc 76.2% --- models/BERT/BERT_finetune.ipynb | 701 +++++++++++++++----------------- 1 file changed, 326 insertions(+), 375 deletions(-) diff --git a/models/BERT/BERT_finetune.ipynb b/models/BERT/BERT_finetune.ipynb index 743451c..0d3aa8b 100644 --- a/models/BERT/BERT_finetune.ipynb +++ b/models/BERT/BERT_finetune.ipynb @@ -50,7 +50,7 @@ "cell_type": "code", "metadata": { "id": "QkYqRRxePBrs", - "outputId": "e4147ff8-52c0-45bd-a962-d1e3360d36d6", + "outputId": "fccc02ef-d37e-4c47-8e43-94285f1b81dc", "colab": { "base_uri": "https://localhost:8080/", "height": 54 @@ -138,10 +138,10 @@ "is_executing": false }, "id": "2bD6dyZdOttW", - "outputId": "6a80b90f-fa3f-49b5-c60f-93c50f72ebba", + "outputId": "7ffcc299-170a-4bd2-94c4-8d3abe3d6869", "colab": { "base_uri": "https://localhost:8080/", - "height": 153 + "height": 170 } }, "source": [ @@ -162,7 +162,8 @@ "combined_clean(6000)_sam.csv 3.98MB\n", "OSAM33000.csv 3.95MB\n", "OSAM39800.csv 3.93MB\n", - "OSAM42111.csv 3.15MB\n" + "OSAM42111.csv 3.87MB\n", + "OSAM51135.csv 2.9MB\n" ], "name": "stdout" } @@ -172,7 +173,7 @@ "cell_type": "code", "metadata": { "id": "QVXwU5ySQrqy", - "outputId": "5c339356-3a25-477e-83ff-18793a143532", + "outputId": "2dbab1d2-1886-4d95-fa1a-4195db7a36e3", "colab": { "base_uri": "https://localhost:8080/", "height": 204 @@ -180,7 +181,7 @@ }, "source": [ "#loading csv data\n", - "all_data = pd.read_csv(DATA_IN_PATH + 'OSAM42111.csv', quoting = 2)\n", + "all_data = pd.read_csv(DATA_IN_PATH + 'OSAM51135.csv', quoting = 2)\n", "all_data.head()" ], "execution_count": 8, @@ -261,7 +262,7 @@ "cell_type": "code", "metadata": { "id": "YijzGlUvQ7qw", - "outputId": "0fcdd6c3-16a2-45f4-ac06-cec8bc49b180", + "outputId": "ecf54c66-9c85-455e-abb1-6fdcc5b76e6f", "colab": { "base_uri": "https://localhost:8080/", "height": 34 @@ -277,7 +278,7 @@ "output_type": "execute_result", "data": { "text/plain": [ - "68101" + "51134" ] }, "metadata": { @@ -291,14 +292,14 @@ "cell_type": "code", "metadata": { "id": "rTV2Tlej90M9", - "outputId": "20930468-e9f9-4399-ee60-f7db86c0cbdc", + "outputId": "28edf42d-d2e9-4cb0-fef1-bd88d20e1843", "colab": { "base_uri": "https://localhost:8080/", "height": 855 } }, "source": [ - "# To finding mislabelling with errata\n", + "# To find mislabelling with errata\n", "what = all_data.drop_duplicates(\"class\", keep=\"first\")\n", "what" ], @@ -502,66 +503,6 @@ } ] }, - { - "cell_type": "code", - "metadata": { - "id": "0wLNslArBG64", - "outputId": "a5449692-e9c7-49c7-e540-ac39e8644d1d", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 49 - } - }, - "source": [ - "gotya = all_data[all_data[\"class\"]==\"UR\"]\n", - "gotya" - ], - "execution_count": 11, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
symptomclass
\n", - "
" - ], - "text/plain": [ - "Empty DataFrame\n", - "Columns: [symptom, class]\n", - "Index: []" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 11 - } - ] - }, { "cell_type": "code", "metadata": { @@ -577,7 +518,7 @@ " train_data = all_data.loc[train_idx]\n", " test_data = all_data.loc[test_idx]" ], - "execution_count": 12, + "execution_count": 11, "outputs": [] }, { @@ -587,7 +528,7 @@ "is_executing": false }, "id": "ZYjVSSndOttc", - "outputId": "570e89ef-b2c3-4bde-fb3f-435fff0ea56f", + "outputId": "1b1b5803-88ac-4328-d28c-71c71700f105", "colab": { "base_uri": "https://localhost:8080/", "height": 51 @@ -597,13 +538,13 @@ "print('전체 학습데이터의 개수: {}'.format(len(train_data)))\n", "print('전체 학습데이터의 개수: {}'.format(len(test_data)))" ], - "execution_count": 13, + "execution_count": 12, "outputs": [ { "output_type": "stream", "text": [ - "전체 학습데이터의 개수: 54480\n", - "전체 학습데이터의 개수: 13621\n" + "전체 학습데이터의 개수: 40907\n", + "전체 학습데이터의 개수: 10227\n" ], "name": "stdout" } @@ -620,7 +561,7 @@ "source": [ "train_length = train_data['symptom'].astype(str).apply(len)" ], - "execution_count": 14, + "execution_count": 13, "outputs": [] }, { @@ -630,7 +571,7 @@ "is_executing": false }, "id": "lj0T4cRyOtth", - "outputId": "e4b09ef7-9950-4954-a2ac-3d59b8157451", + "outputId": "91436221-7e82-4e98-fae9-03c567236911", "colab": { "base_uri": "https://localhost:8080/", "height": 119 @@ -639,24 +580,24 @@ "source": [ "train_length.head()" ], - "execution_count": 15, + "execution_count": 14, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "29641 12\n", - "29922 13\n", - "36676 9\n", - "28002 31\n", - "65318 18\n", + "18266 50\n", + "21585 14\n", + "33379 14\n", + "781 12\n", + "681 12\n", "Name: symptom, dtype: int64" ] }, "metadata": { "tags": [] }, - "execution_count": 15 + "execution_count": 14 } ] }, @@ -667,7 +608,7 @@ "is_executing": false }, "id": "aIzKM-8DOttk", - "outputId": "41b3aa4b-fd5a-4de0-d6f8-b12b3ad1dccd", + "outputId": "c34a40df-16a3-489b-c068-76735bd9d935", "colab": { "base_uri": "https://localhost:8080/", "height": 367 @@ -692,7 +633,7 @@ "# 그래프 y 축 라벨\n", "plt.ylabel('Number of symptom')" ], - "execution_count": 16, + "execution_count": 15, "outputs": [ { "output_type": "execute_result", @@ -704,12 +645,12 @@ "metadata": { "tags": [] }, - "execution_count": 16 + "execution_count": 15 }, { "output_type": "display_data", "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAFNCAYAAADCcOOfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deZhkZX238fsLA4iAAwoa2Ry0EYO7jsQtCeISXAYM0QjiAkGIvnGLJoo7ahI1Ro0kKiGK4AYqUWQU44pLoqCIyCo6LMogq8sIGEHk9/5xTmvR9FJ9pquravr+XFddU3WWOr96+vT0t59+znNSVUiSJEmav42GXYAkSZI0rgzTkiRJUkeGaUmSJKkjw7QkSZLUkWFakiRJ6sgwLUmSJHVkmJY09pL8cZILh13HMKXx/iQ/T/KtadYflOR/hlTbsUn+YYHea7ckZyW5LskLF+I9JWl9GKYldZbk0iSPGfAx9kyydprlX0nyHICq+npV7dbHex2R5EODqHMEPBJ4LLBjVe0xrCIWIbS/DDi1qraqqiMHeJzOFuP7QtLoMExL0gJIsmzIJdwNuLSqbhhyHYN2N+C8YRchSZMM05IWXJLNkvxrkp+0j39NslnP+pcluaJd95wklWRiPY53q97rJC9Pcnk7FODCJI9OsjfwSuBpSa5P8r122+2TnJzkZ0nWJDm05302T3JcO3Tigrbu3uNc2h7rbOCGJMuSHJ7kovbY5yf5857tD0ryv0nekeQXSS5O8vB2+WVJrk7y7Fk+57S1JjkEeC/wsPazvb6PNrtXki+073Vhkr/sWXdskncl+Uz7OU5Pco+e9Y9r91mX5N1Jvtp+Hf8QOKqnjl/0HHKbmd5vmtr2SXJe20Zfad+XJF8GHgX8e/v+95xm34Padr0uySVJDkyyafs579uz3Z2T/CrJdpPnT/v1vbo9N5+c5AlJftDu+8qefY9IcmKSj7bHOTPJ/dt1HwR2Bla3Nb5sts/Urrs0yd8nOTvJDUnel+QuST7bvv8Xk2wz19dU0pBUlQ8fPnx0egCXAo+ZZvkbgNOAOwPbAd8A3tiu2xu4Erg3cHvgQ0ABEzMcY09g7TTLvwI8Z+o2wG7AZcD27esVwD3a50cAH5ryPl8D3g3cDngAcA2wV7vuzcBXgW2AHYGze2tpP/9ZwE7A5u2ypwLb03RWPA24Abhru+4g4GbgYGBj4B+AHwPvAjYDHgdcB2w5Q1vMVutBwP/M8rX63Xpgi7aNDgaWAQ8ErgV2b9cfC/wU2KNd/2HghHbdtsAvgf3adS8CftPztbhNHbO93zR13rNts8cCm9AM61gDbDr16z7Nvlu0te3Wvr4rcO/2+buBt/Rs+yJgdc/5czPw2vaYh7Zt+xFgK5pz9f+AXXrOo98AT2m3/zvgEmCT6b4v+vhMl9J8v9wF2AG4Gjiz/brcDvgy8Lphf7/78OFj+oc905IG4UDgDVV1dVVdA7weeGa77i+B91fVeVX1K5pgMpft2x693z1oxghP57c0wXT3JJtU1aVVddF0GybZCXgE8PKq+nVVnUXTw/usnlr/qap+XlVrgenG6B5ZVZdV1f8BVNXHq+onVXVLVX0U+CFNiJx0SVW9v6p+C3yUJoi/oapurKrPAzcBt+ml76PW+XgSzZCQ91fVzVX1XeC/aH4RmPTJqvpWVd1ME34f0C5/AnBeVX2iXXckzS9Hc5np/aZ6GvCZqvpCVf0G+Bdgc+DhfX62W4D7JNm8qq6oqskhIccBByRJ+/qZwAd79vsN8I/tMU+g+aXhnVV1Xfse5wP379n+O1V1Yrv922lC70PX4zP9W1VdVVWXA18HTq+q71bVr4FP0gRrSSPIMC1pELYHftTz+kftssl1l/Ws+93zJDu3fxq/Psn1Pdv8pKq27n0A017kVlVrgBfThPSrk5yQZPvptm1r+VlVXTel1h3mqnWmZUmelWa2icnQfx+aYDbpqp7nkwF86rItO9Q6H3cD/mjKLycHAn/Qs01vQP5VT023apOqKuA2F4hOY6b3m+pW505V3dIeb87PWc148acBzwWuaIeV3Ktdd3p73D3bZRPAyT27/7T9BQfarwu3/Vr11tzbBrfQtMFs59lcn2nqsfo5JySNAMO0pEH4CU1gm7RzuwzgCpohE5N2mnxSVT+uqi0nH10PXlUfqapHtjUU8JbJVdPUecckW02p9fK5au093OSTJHcD/hN4PnCnNvSfC2Sa/eZrrlrn4zLgq1N+Qdmyqp7Xx763apO2p7e3jaa28Xzd6txp338n+vycVfW5qnoszRCP79N8PSYdBzyDplf6xLbXt6vfnQtJNqJpg8lzfLrzrPNnkjTaDNOS1tcmSW7X81gGHA+8ur24a1uasaiTU9J9DDg4yR8muT3wmoUsJs08xHulueDx1zS9ere0q68CVrThh6q6jGY895va2u8HHDKl1lck2SbJDjQheTZb0ASpa9paDqbpmV5vfdQ6H58G7pnkmUk2aR8P6b0obhafAe7bXqC3DPgbbt2jfRWwY5JNO9QFTZs/Mc1Fo5sALwVupPnss2ov2ts3yRbtPtfz+689NG315zSB+gMd65v04CT7tW3w4vZ4p7XrrgLuvhCfSdLoM0xLWl+n0ATWyccRNBfWnUFzwd45NBdT/QNAVX2WZpztqTQXYU0GkBsXqJ7NaC4cvJZmaMGdgVe06z7e/vvTJGe2zw+guUjxJzRjU19XVV9s172B5s/3lwBfBE6crc6qOh94G/BNmkB1X+B/F+JD9VFr39qhIo8D9m/f60qa3vvNZtuv3fdamrHV/0xzUeHuNF/ryXb5Ms3UdVcmubZDbRfShN1/o/kargJWVdVNfey+EfASms/0M+BPgd/1tre/kJxJ8wvP1+db2xSfohlS8nOanu792vHQAG+i+WXyF0n+bj0/k6QRl2a4myQNR9sbei6wWXtx2shK8jxg/6r602HXMiraXv61wIFVdeqw65lLkmNoxuC/ej3e4wia2WeesWCFSRpb9kxLWnRJ/jzNXNTb0PSIrh7FIJ3krkkekWSjJLvR/Hn+k8Oua9iS/FmSrduhNK+kGRN+2hy7DV2SFTRT+r1vuJVI2pAYpiUNw1/TzKV7Ec1Udv1c+DYMmwL/QTP385dp/rT/7qFWNBoeRvO1mxyy8OTJqQFHVZI30vwF5K1Vdcmw65G04XCYhyRJktSRPdOSJElSR4ZpSZIkqaNlwy5gfWy77ba1YsWKYZchSZKkDdx3vvOda6tqu6nLxzJMJ1kFrJqYmOCMM84YdjmSJEnawCX50XTLx3KYR1WtrqrDli9fPuxSJEmStISNZZiWJEmSRoFhWpIkSerIMC1JkiR1ZJiWJEmSOjJMS5IkSR2NZZhOsirJ0evWrRt2KZIkSVrCxjJMOzWeJEmSRsFYhmlJkiRpFBimJUmSpI7G8nbi0lAdccT0zyVJ0pJjz7QkSZLUkWFakiRJ6sgwLUmSJHVkmJYkSZI6Gssw7U1bJEmSNArGMkx70xZJkiSNgrEM05IkSdIoMExLkiRJHRmmJUmSpI4M05IkSVJHhmlJkiSpI8O0JEmS1JFhWpIkSerIMC1JkiR1tGzYBWgRHXHE9M8lSZLUiWF6Q7FQQdnALUmS1LexDNNJVgGrJiYmhl3K6JspEPcTmg3WkiRJsxrLMF1Vq4HVK1euPHTYtQyVAVeSJGmoxjJMLzmjEJqXei/1UvzMkiRpToZpzV+XYL3Uw7gkSdogGaa1cAzJkiRpiTFMa7jssZYkSWPMMD1KDJaSJEljxTsgSpIkSR0ZpiVJkqSODNOSJElSR46ZHjbHRkuSJI0te6YlSZKkjuyZ1uhwNhNJkjRm7JmWJEmSOrJnWqPJXmpJkjQG7JmWJEmSOrJnWqNvpl5qe68lSdKQjUzPdJI/THJUkhOTPG/Y9UiSJElzGWiYTnJMkquTnDtl+d5JLkyyJsnhAFV1QVU9F/hL4BGDrEuSJElaCIMe5nEs8O/AByYXJNkYeBfwWGAt8O0kJ1fV+Un2AZ4HfHDAdWlD45APSZI0BAMN01X1tSQrpizeA1hTVRcDJDkB2Bc4v6pOBk5O8hngI4OsbagMe5IkSRuEYVyAuANwWc/rtcAfJdkT2A/YDDhlpp2THAYcBrDzzjsPrkqNL3upJUnSIhmZ2Tyq6ivAV/rY7mjgaICVK1fWYKuSJEmSZjaMMH05sFPP6x3bZdLi6af32l5tSZI0h2GE6W8DuybZhSZE7w88fT5vkGQVsGpiYmIA5WmD1U9oNkBLkqR5GPTUeMcD3wR2S7I2ySFVdTPwfOBzwAXAx6rqvPm8b1WtrqrDli9fvvBFS5IkSX0a9GweB8yw/BRmuchQkiRJGgcjcwHiBsnhA5IkSRu0kbmd+HwkWZXk6HXr1g27FEmSJC1hYxmmHTMtSZKkUTCWYVqSJEkaBYZpSZIkqaOxDNOOmZYkSdIoGMsw7ZhpSZIkjYKxDNOSJEnSKDBMS5IkSR2NZZh2zLQkSZJGwViGacdMS5IkaRSMZZiWJEmSRoFhWpIkSerIMC1JkiR1tGzYBUhj7Ygjpn8uSZKWhLHsmXY2D0mSJI2CsQzTzuYhSZKkUTCWYVqSJEkaBYZpSZIkqSMvQJQGwQsTJUlaEuyZliRJkjoyTEuSJEkdjWWYdmo8SZIkjYKxHDNdVauB1StXrjx02LVIc5ptzLTjqSVJGmtjGaZHmuFIkiRpyRjLYR6SJEnSKDBMS5IkSR0ZpiVJkqSODNOSJElSR4ZpSZIkqaM5Z/NIsjXwLGBF7/ZV9cLBlTVnTauAVRMTE8MqQZIkSeprarxTgNOAc4BbBltOf5xnWhuk3mkVnWJRkqSx0E+Yvl1VvWTglUianiFbkqSR1U+Y/mCSQ4FPAzdOLqyqnw2sKmmpMzRLkjQW+gnTNwFvBV4FVLusgLsPqihJkiRpHPQTpl8KTFTVtYMuRpIkSRon/UyNtwb41aALkSRJksZNPz3TNwBnJTmVW4+ZHtrUeJIkSdIo6CdMn9Q+JA2bM3tIkjRS5gzTVXVckk2Be7aLLqyq3wy2LEmSJGn09XMHxD2B44BLgQA7JXl2VX1tsKVJkiRJo62fYR5vAx5XVRcCJLkncDzw4EEWJkmSJI26fsL0JpNBGqCqfpBkkwHWJGm+HEstSdJQ9BOmz0jyXuBD7esDgTMGV9LckqwCVk1MTAyzDEmSJC1x/cwz/TzgfOCF7eN84LmDLGouVbW6qg5bvnz5MMuQJEnSEtdPz/Rzq+rtwNsnFyR5EfDOgVUlSZIkjYF+eqafPc2ygxa4DkmSJGnszNgzneQA4OnALklO7ll1B+Bngy5MUkdejChJ0qKZbZjHN4ArgG1ppsebdB1w9iCLkiRJksbBjGG6qn4E/Ah4WJI/APYAiuYOiDcvUn2S1oe91JIkDdScY6aTHAJ8C9gPeApwWpK/GnRhkiRJ0qjrZzaPlwEPrKqfAiS5E80QkGMGWdhYscdPkiRpSepnNo+f0oyTnnRdu0ySJEla0vrpmV4DnJ7kUzRjpvcFzk7yEoB2DmpJ48Sx1JIkLYh+wvRF7WPSp9p/t1r4ciRJkqTxMWeYrqrXL0YhkobEXmpJkjqbM0wnWQm8Crhb7/ZVdb8B1iVJkiSNvH6GeXwY+HvgHOCWwZYjSZIkjY9+wvQ1VXXy3JtJkiRJS0s/Yfp1Sd4LfAm4cXJhVX1iYFVJkiRJY6CfMH0wcC9gE34/zKOABQ/TSZ4MPBG4A/C+qvr8Qh9D0iy8GFGSpHnpJ0w/pKp263qAJMcATwKurqr79CzfG3gnsDHw3qp6c1WdBJyUZBvgXwDDtDQsBmtJkubUzx0Qv5Fk9/U4xrHA3r0LkmwMvAt4PLA7cMCUY7y6XS9JkiSNrH56ph8KnJXkEpox0wGq36nxquprSVZMWbwHsKaqLgZIcgKwb5ILgDcDn62qM/v7CJIkSdJw9BOm9557k3nbAbis5/Va4I+AFwCPAZYnmaiqo6bumOQw4DCAnXfeeQClSZIkSf3pJ0y/kOZiwPMHXUxVHQkcOcc2RwNHA6xcubIGXZMkSZI0k37GTF8A/GeS05M8N8nyBTju5cBOPa93bJdJkiRJY2POMF1V762qRwDPAlYAZyf5SJJHrcdxvw3smmSXJJsC+wN93xgmyaokR69bt249SpAkSZLWTz8905Ozb9yrfVwLfA94SXvh4Fz7Hg98E9gtydokh1TVzcDzgc/R9Hx/rKrO67foqlpdVYctX74QneSSJElSN3OOmU7yDpp5or8M/FNVfatd9ZYkF861f1UdMMPyU4BT5lGrpFHg/NOSJP1OPxcgng28uqpumGbdHgtcjyRJkjQ2+hnm8YPJJ0mekeTtSe4GUFVDGbTsmGlJkiSNgn7C9HuAXyW5P/BS4CLgAwOtag6OmZYkSdIo6CdM31xVBewL/HtVvQvYarBlSZIkSaOvnzHT1yV5BfAM4E+SbARsMtiyJEmSpNHXT8/004AbgUOq6kqaG6y8daBVzcEx05IkSRoF/dy05cqqentVfb19/eOqcsy0JEmSlry+btoiSZIk6bYM05IkSVJHM16AmORLVfXoJG+pqpcvZlFzSbIKWDUxMTHsUqSlzbshSpKWuNl6pu+a5OHAPkkemORBvY/FKnA6jpmWJEnSKJhtarzXAq+hmb3j7VPWFbDXoIqSJEmSxsGMYbqqTgROTPKaqnrjItYkSZIkjYU5b9pSVW9Msg/wJ+2ir1TVpwdbliRJkjT65pzNI8mbgBcB57ePFyX5p0EXJkmSJI26fm4n/kTgAVV1C0CS44DvAq8cZGGzcTYPaYw444ckaQPWT5gG2Br4Wft86FNoVNVqYPXKlSsPHXYtklqGZknSEtRPmH4T8N0kpwKhGTt9+ECrkiRJksZAPxcgHp/kK8BD2kUvr6orB1qVJEmSNAb6GuZRVVcAJw+4FkmSJGmszDmbhyRJkqTpGaYlSZKkjmYN00k2TvL9xSqmX0lWJTl63bp1wy5FkiRJS9isYbqqfgtcmGTnRaqnL1W1uqoOW7586LP0SZIkaQnr5wLEbYDzknwLuGFyYVXtM7CqJEmSpDHQT5h+zcCrkCRJksZQP/NMfzXJ3YBdq+qLSW4PbDz40iRtcLxLoiRpAzPnbB5JDgVOBP6jXbQDcNIgi5IkSZLGQT9T4/0N8AjglwBV9UPgzoMsSpIkSRoH/YTpG6vqpskXSZYBNbiSJEmSpPHQzwWIX03ySmDzJI8F/h+werBlzS7JKmDVxMTEMMuQtD6mjpl2DLUkaQz10zN9OHANcA7w18ApwKsHWdRcnGdakiRJo6Cf2TxuSXIccDrN8I4Lq8phHpIkSVry5gzTSZ4IHAVcBATYJclfV9VnB12cJEmSNMr6GTP9NuBRVbUGIMk9gM8AhmlJkiQtaf2Mmb5uMki3LgauG1A9kiRJ0tiYsWc6yX7t0zOSnAJ8jGbM9FOBby9CbZIkSdJIm22Yx6qe51cBf9o+vwbYfGAVSVqa5nurcW9NLkkaATOG6ao6eDELkaRpGZolSSOsn9k8dgFeAKzo3b6q9hlcWZIkSdLo62c2j5OA99Hc9fCWwZYjSZIkjY9+wvSvq+rIgVciSZIkjZl+wvQ7k7wO+Dxw4+TCqjpzYFVJkiRJY6CfMH1f4JnAXvx+mEe1r4ciySpg1cTExLBKkCRJkvoK008F7l5VNw26mH5V1Wpg9cqVKw8ddi2SFpFT5kmSRkw/d0A8F9h60IVIkiRJ46afnumtge8n+Ta3HjPt1HiSJEla0voJ068beBWSJEnSGJozTFfVVxejEEmSJGnc9HMHxOtoZu8A2BTYBLihqu4wyMIkaUF5YaIkaQD66ZneavJ5kgD7Ag8dZFGSJEnSOOhnzPTvVFUBJ7U3cTl8MCVJ0gJxKj1J0oD1M8xjv56XGwErgV8PrCJJkiRpTPTTM72q5/nNwKU0Qz0kSZKkJa2fMdMHL0YhkiRJ0riZMUwnee0s+1VVvXEA9UiSJEljY7ae6RumWbYFcAhwJ8AwLUmSpCVtxjBdVW+bfJ5kK+BFwMHACcDbZtpPkiRJWipmHTOd5I7AS4ADgeOAB1XVzxejsJHm9FmSJEli9jHTbwX2A44G7ltV1y9aVZIkSdIY2GiWdS8FtgdeDfwkyS/bx3VJfrnQhSS5e5L3JTlxod9bkiRJGoQZw3RVbVRVm1fVVlV1h57HVlV1h37ePMkxSa5Ocu6U5XsnuTDJmiSHt8e7uKoOWb+PI0mSJC2e2XqmF8KxwN69C5JsDLwLeDywO3BAkt0HXIckSZK04AYapqvqa8DPpizeA1jT9kTfRDM7iHdUlCRJ0tgZdM/0dHYALut5vRbYIcmdkhwFPDDJK2baOclhSc5IcsY111wz6FolSZKkGc15O/HFUlU/BZ7bx3ZH08wwwsqVK2vQdUmSJEkzGUbP9OXATj2vd2yXSZIkSWNlGD3T3wZ2TbILTYjeH3j6fN4gySpg1cTExADKk7RkzXRDJm/UJEmawUB7ppMcD3wT2C3J2iSHVNXNwPOBzwEXAB+rqvPm875VtbqqDlu+fPnCFy1JkiT1aaA901V1wAzLTwFOGeSxJUmSpEEbmQsQ58NhHpIWVe8wD4d8SJJ6DOMCxPXmMA9JkiSNgrEM05IkSdIoMExLkiRJHY1lmE6yKsnR69atG3YpkiRJWsLGMkw7ZlqSJEmjYCzDtCRJkjQKDNOSJElSR4ZpSZIkqSNv2iJJw+CNYCRpgzCWPdNegChJkqRRMJZhWpIkSRoFhmlJkiSpI8O0JEmS1JFhWpIkSerI2TwkqStn5JCkJW8se6adzUOSJEmjYCzDtCRJkjQKDNOSJElSR4ZpSZIkqSPDtCRJktSRs3lI0kKYaTYPZ/kYPGdVkTREY9kz7WwekiRJGgVjGaYlSZKkUWCYliRJkjoyTEuSJEkdGaYlSZKkjgzTkiRJUkeGaUmSJKkjw7QkSZLUkTdtkaRxMd+bk3gzEy00zynpNsayZ9qbtkiSJGkUjGWYliRJkkaBYVqSJEnqyDAtSZIkdWSYliRJkjoyTEuSJEkdGaYlSZKkjgzTkiRJUkeGaUmSJKkjw7QkSZLUkWFakiRJ6mjZsAvoIskqYNXExMSwS5Gk/h1xxPy36WefUdNb86DqH5d2WYy2WB+jXp80BsayZ7qqVlfVYcuXLx92KZIkSVrCxjJMS5IkSaPAMC1JkiR1ZJiWJEmSOjJMS5IkSR0ZpiVJkqSODNOSJElSR4ZpSZIkqSPDtCRJktSRYVqSJEnqyDAtSZIkdWSYliRJkjoyTEuSJEkdGaYlSZKkjgzTkiRJUkeGaUmSJKkjw7QkSZLU0bJhFzApyRbAu4GbgK9U1YeHXJIkSZI0q4H2TCc5JsnVSc6dsnzvJBcmWZPk8HbxfsCJVXUosM8g65IkSZIWwqCHeRwL7N27IMnGwLuAxwO7Awck2R3YEbis3ey3A65LkiRJWm8DHeZRVV9LsmLK4j2ANVV1MUCSE4B9gbU0gfosZgn5SQ4DDgPYeeedF75oSVpsRxyxcPv0s3y+x+tn337ec31qWF/DPPYomO/nH/T2gzAKNWgwRvxrO4wLEHfg9z3Q0IToHYBPAH+R5D3A6pl2rqqjq2plVa3cbrvtBlupJEmSNIuRuQCxqm4ADh52HZIkSVK/htEzfTmwU8/rHdtlkiRJ0lgZRpj+NrBrkl2SbArsD5w8nzdIsirJ0evWrRtIgZIkSVI/Bj013vHAN4HdkqxNckhV3Qw8H/gccAHwsao6bz7vW1Wrq+qw5cuXL3zRkiRJUp8GPZvHATMsPwU4ZZDHliRJkgZtLG8n7jAPSZIkjYKxDNMO85AkSdIoGMswLUmSJI0Cw7QkSZLU0ViGacdMS5IkaRSMZZh2zLQkSZJGQapq2DV0luQa4EeLdLhtgWsX6VgbEtutO9uuG9utO9uuG9utO9uuG9utu/Vpu7tV1XZTF451mF5MSc6oqpXDrmPc2G7d2Xbd2G7d2Xbd2G7d2Xbd2G7dDaLtxnKYhyRJkjQKDNOSJElSR4bp/h097ALGlO3WnW3Xje3WnW3Xje3WnW3Xje3W3YK3nWOmJUmSpI7smZYkSZI6MkzPIcneSS5MsibJ4cOuZ5Ql2SnJqUnOT3Jekhe1y++Y5AtJftj+u82wax1FSTZO8t0kn25f75Lk9Pbc+2iSTYdd4yhKsnWSE5N8P8kFSR7mOTe3JH/bfp+em+T4JLfznJtekmOSXJ3k3J5l055jaRzZtuHZSR40vMqHa4Z2e2v7vXp2kk8m2bpn3SvadrswyZ8Np+rRMF3b9ax7aZJKsm372nOux0xtl+QF7bl3XpJ/7lm+3uedYXoWSTYG3gU8HtgdOCDJ7sOtaqTdDLy0qnYHHgr8TdtehwNfqqpdgS+1r3VbLwIu6Hn9FuAdVTUB/Bw4ZChVjb53Av9dVfcC7k/Thp5zs0iyA/BCYGVV3QfYGNgfz7mZHAvsPWXZTOfY44Fd28dhwHsWqcZRdCy3bbcvAPepqvsBPwBeAdD+rNgfuHe7z7vbn8FL1bHctu1IshPwOODHPYs9527tWKa0XZJHAfsC96+qewP/0i5fkPPOMD27PYA1VXVxVd0EnEDzxdA0quqKqjqzfX4dTajZgabNjms3Ow548nAqHF1JdgSeCLy3fR1gL+DEdhPbbRpJlgN/ArwPoKpuqqpf4DnXj2XA5kmWAbcHrsBzblpV9TXgZ1MWz3SO7Qt8oBqnAVsnueviVDpapmu3qvp8Vd3cvjwN2LF9vi9wQlXdWFWXAGtofgYvSTOccwDvAF4G9F7w5jnXY4a2ex7w5qq6sd3m6nb5gpx3hunZ7QBc1vN6bbtMc0iyAnggcDpwl6q6ol11JXCXIZU1yv6V5j/IW9rXdwJ+0fNDx3NversA1wDvb4fIvDfJFnjOzaqqLqfpmfkxTYheB3wHz7n5mOkc8+dG//4K+Gz73HabQ5J9gcur6ntTVtl2c7sn8MftMLavJnlIu3xB2s4wrQWXZEvgv4AXV9Uve9dVM32MU8j0SPIk4Oqq+s6waxlDy4AHAe+pqgcCNzBlSIfn3G2143v3pfllZHtgC6b5k7L64zk2f0leRUAEUbIAAAYxSURBVDM08MPDrmUcJLk98ErgtcOuZUwtA+5IMwT174GPtX8BXhCG6dldDuzU83rHdplmkGQTmiD94ar6RLv4qsk/ObX/Xj3T/kvUI4B9klxKM5RoL5pxwFu3f4IHz72ZrAXWVtXp7esTacK159zsHgNcUlXXVNVvgE/QnIeec/2b6Rzz58YckhwEPAk4sH4/P6/tNrt70Pzy+732Z8WOwJlJ/gDbrh9rgU+0Q2G+RfNX4G1ZoLYzTM/u28Cu7RXum9IMUj95yDWNrPa3vPcBF1TV23tWnQw8u33+bOBTi13bKKuqV1TVjlW1guYc+3JVHQicCjyl3cx2m0ZVXQlclmS3dtGjgfPxnJvLj4GHJrl9+3072W6ec/2b6Rw7GXhWO8PCQ4F1PcNBlrwke9MMadunqn7Vs+pkYP8kmyXZheZium8No8ZRVFXnVNWdq2pF+7NiLfCg9v9Az7m5nQQ8CiDJPYFNgWtZqPOuqnzM8gCeQHPF8UXAq4Zdzyg/gEfS/KnzbOCs9vEEmvG/XwJ+CHwRuOOwax3VB7An8On2+d3bb+o1wMeBzYZd3yg+gAcAZ7Tn3UnANp5zfbXb64HvA+cCHwQ285ybsa2Opxlb/huaEHPITOcYEJpZoC4CzqGZMWXon2GE2m0NzRjVyZ8RR/Vs/6q23S4EHj/s+ket7aasvxTYtn3uOTdH29GE5w+1/9+dCezVs/16n3feAVGSJEnqyGEekiRJUkeGaUmSJKkjw7QkSZLUkWFakiRJ6sgwLUmSJHVkmJakeUpy/YDf/8XtHc/W+3jt/KlfTHJWkqctTIWd6jgoyfbDOr4kDYphWpJGz4uB28+5VX8eCFBVD6iqjy7Qe3ZxEM2tyyVpg2KYlqQFkOQeSf47yXeSfD3JvdrlxyY5Msk3klyc5Cnt8o2SvDvJ95N8IckpSZ6S5IU0ofPUJKf2vP8/JvlektOS3GWa498xyUlJzm63uV+SO9PcqOAhbc/0Pabs88Ik57f7nNDW9MMk2/XUuCbJdu3neE/73hcn2TPJMUkuSHJsz3ten+QdSc5L8qV236cAK4EPt3VsnuTRSb6b5Jz2fTZr9780yZva7c5I8qAkn0tyUZLnLvCXTZLWm2FakhbG0cALqurBwN8B7+5Zd1eaO4Q+CXhzu2w/YAWwO/BM4GEAVXUk8BPgUVX1qHbbLYDTqur+wNeAQ6c5/uuB71bV/YBXAh+oqquB5wBfb3umL5qyz+HAA9t9nltVt9CE7wPb9Y8BvldV17Svt2nr/Fua2/C+A7g3cN8kD+ip9YyqujfwVeB1VXUizV0qD6yqB9DcKfVY4GlVdV9gGfC8nrp+3G739Xa7pwAPbT+jJI0Uw7QkrackWwIPBz6e5CzgP2gC9KSTquqWqjofmOxVfiTw8Xb5lcCpzOwm4NPt8+/QhPCpHklzW3Cq6svAnZLcYY7Sz6bpLX4GcHO77BjgWe3zvwLe37P96mpum3sOcFVVndMG8PN6aroFmBxO8qG2rql2Ay6pqh+0r48D/qRn/cntv+cAp1fVdW2gvzHJ1nN8JklaVMuGXYAkbQA2An7R9qZO58ae5+nw/r9pQyzAb1m4/7ufSBNiVwGvSnLfqrosyVVJ9gL24Pe91PD7z3ELt/5Mt8xSU82wfDZdjiNJQ2HPtCStp6r6JXBJkqcCpHH/OXb7X+Av2nHJdwH27Fl3HbDVPMv4Om3wTbIncG1b17SSbATsVFWnAi8HlgNbtqvfS9Or/PGq+u0869iIZlgGwNOB/2mf936mC4EVSSba18+kGRIiSWPHMC1J83f7JGt7Hi+hCbKHJPkezbCHfed4j/8C1gLn0wTXM4F17bqjgf/uvQCxD0cAD05yNs247GfPsf3GwIeSnAN8Fziyqn7RrjuZJli/f6adZ3EDsEeSc4G9gDe0y48FjmqHwQQ4mGZYzDk0Pc5HdTiWJA1dfv+XQ0nSYkqyZVVdn+ROwLeAR7Tjp4dd10rgHVX1xx32vb6qtpx7S0naMDj2TJKG59PtBXWbAm8ckSB9OM3MGgfOta0kyZ5pSZIkqTPHTEuSJEkdGaYlSZKkjgzTkiRJUkeGaUmSJKkjw7QkSZLUkWFakiRJ6uj/A/DqpOdTVS2EAAAAAElFTkSuQmCC\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAFNCAYAAADCcOOfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deZwkdX3/8debUxSzoKBRDhcdxOCtI/GKQTyCx4IhGiF4QBCiPw+MJoqiYT0SNUaNJB4hguARUIkSVjGeKCQGBBE5XV0OZZHTY4MYOeTz+6NqpBnm6K2d3u7eeT0fj35s97eqqz79nZqd93znW1WpKiRJkiStvY2GXYAkSZI0rgzTkiRJUkeGaUmSJKkjw7QkSZLUkWFakiRJ6sgwLUmSJHVkmJY09pL8QZKVw65jmNL4aJKfJ/n2DMsPSPJfQ6rt2CRvX6Bt7ZLk3CQ3JHnVQmxTktaFYVpSZ0kuT/LUAe9j9ySrZ2j/RpKXAFTV6VW1Sx/bWp7kE4OocwQ8EXgasH1V7TasItZDaH8dcGpV3b2qjhzgfjpbH98XkkaHYVqSFkCSTYZcwv2Ay6vqxiHXMWj3Ay4cdhGSNMUwLWnBJdk8yT8m+Un7+Mckm/csf12Sq9plL0lSSSbWYX93GL1O8vokV7ZTAVYmeUqSPYE3As9P8ssk32vXvW+Sk5P8LMmqJAf3bGeLJMe1Uycubuvu3c/l7b7OA25MskmSw5Jc0u77oiR/3LP+AUn+O8n7kvwiyaVJHt+2X5Hk2iQvnuNzzlhrkoOAjwCPaz/bW/roswcl+Uq7rZVJ/rRn2bFJPpDkC+3nODPJA3qWP719z5okH0zyzfbr+HvAh3vq+EXPLreebXsz1LZXkgvbPvpGu12SfB14MvDP7fYfOMN7D2j79YYklyXZP8lm7ed8aM9690ryqyTbTh0/7df32vbYfE6SZyb5QfveN/a8d3mSE5N8qt3POUke3i77OLAjsKKt8XVzfaZ22eVJ/jrJeUluTHJ0knsn+WK7/a8m2Xq+r6mkIakqHz58+Oj0AC4HnjpD+1uBM4B7AdsC3wLe1i7bE7gaeDBwV+ATQAETs+xjd2D1DO3fAF4yfR1gF+AK4L7t66XAA9rny4FPTNvOacAHgbsAjwCuA/Zol70T+CawNbA9cF5vLe3nPxfYAdiibXsecF+awYrnAzcC92mXHQDcChwIbAy8Hfgx8AFgc+DpwA3AlrP0xVy1HgD81xxfq98uB+7W9tGBwCbAI4HrgV3b5ccCPwV2a5d/EjihXbYN8L/APu2yQ4Fber4Wd6pjru3NUOcD2z57GrApzbSOVcBm07/uM7z3bm1tu7Sv7wM8uH3+QeBdPeseCqzoOX5uBf6m3efBbd/+G3B3mmP1/4Cdeo6jW4Dntuv/FXAZsOlM3xd9fKbLab5f7g1sB1wLnNN+Xe4CfB04Ytjf7z58+Jj54ci0pEHYH3hrVV1bVdcBbwFe2C77U+CjVXVhVf2KJpjM577tiN5vHzRzhGfyG5pgumuSTavq8qq6ZKYVk+wAPAF4fVX9uqrOpRnhfVFPrX9XVT+vqtXATHN0j6yqK6rq/wCq6jNV9ZOquq2qPgX8kCZETrmsqj5aVb8BPkUTxN9aVTdV1ZeBm4E7jdL3UevaeDbNlJCPVtWtVfVd4N9pfhGY8rmq+nZV3UoTfh/Rtj8TuLCqPtsuO5Lml6P5zLa96Z4PfKGqvlJVtwD/AGwBPL7Pz3Yb8JAkW1TVVVU1NSXkOGC/JGlfvxD4eM/7bgH+tt3nCTS/NLy/qm5ot3ER8PCe9b9TVSe267+XJvQ+dh0+0z9V1TVVdSVwOnBmVX23qn4NfI4mWEsaQYZpSYNwX+BHPa9/1LZNLbuiZ9lvnyfZsf3T+C+T/LJnnZ9U1Va9D2DGk9yqahXwapqQfm2SE5Lcd6Z121p+VlU3TKt1u/lqna0tyYvSXG1iKvQ/hCaYTbmm5/lUAJ/etmWHWtfG/YDfn/bLyf7A7/as0xuQf9VT0x36pKoKuNMJojOYbXvT3eHYqarb2v3N+zmrmS/+fOClwFXttJIHtcvObPe7e9s2AZzc8/aftr/gQPt14c5fq96ae/vgNpo+mOs4m+8zTd9XP8eEpBFgmJY0CD+hCWxTdmzbAK6imTIxZYepJ1X146racurRdedV9W9V9cS2hgLeNbVohjrvkeTu02q9cr5ae3c39STJ/YB/BV4B3LMN/RcAmeF9a2u+WtfGFcA3p/2CsmVVvayP996hT9qR3t4+mt7Ha+sOx067/R3o83NW1Zeq6mk0Uzy+T/P1mHIc8AKaUekT21Hfrn57LCTZiKYPpo7xmY6zzp9J0mgzTEtaV5smuUvPYxPgeOBN7cld29DMRZ26JN2ngQOT/F6SuwJvXshi0lyHeI80Jzz+mmZU77Z28TXA0jb8UFVX0Mznfkdb+8OAg6bV+oYkWyfZjiYkz+VuNEHquraWA2lGptdZH7Wujc8DD0zywiSbto/H9J4UN4cvAA9tT9DbBHg5dxzRvgbYPslmHeqCps+fleak0U2B1wI30Xz2ObUn7e2d5G7te37J7V97aPrqj2kC9cc61jfl0Un2afvg1e3+zmiXXQPcfyE+k6TRZ5iWtK5OoQmsU4/lNCfWnU1zwt75NCdTvR2gqr5IM8/2VJqTsKYCyE0LVM/mNCcOXk8zteBewBvaZZ9p//1pknPa5/vRnKT4E5q5qUdU1VfbZW+l+fP9ZcBXgRPnqrOqLgLeA/wPTaB6KPDfC/Gh+qi1b+1UkacD+7bbuppm9H7zud7Xvvd6mrnVf09zUuGuNF/rqX75Os2l665Ocn2H2lbShN1/ovkaLgOWVdXNfbx9I+A1NJ/pZ8AfAr8dbW9/ITmH5hee09e2tmn+g2ZKyc9pRrr3aedDA7yD5pfJXyT5q3X8TJJGXJrpbpI0HO1o6AXA5u3JaSMrycuAfavqD4ddy6hoR/lXA/tX1anDrmc+SY6hmYP/pnXYxnKaq8+8YMEKkzS2HJmWtN4l+eM016LemmZEdMUoBukk90nyhCQbJdmF5s/znxt2XcOW5I+SbNVOpXkjzZzwM+Z529AlWUpzSb+jh1uJpA2JYVrSMPwFzbV0L6G5lF0/J74Nw2bAv9Bc+/nrNH/a/+BQKxoNj6P52k1NWXjO1KUBR1WSt9H8BeTdVXXZsOuRtOFwmockSZLUkSPTkiRJUkeGaUmSJKmjTYZdwLrYZpttaunSpcMuQ5IkSRu473znO9dX1bbT28cyTCdZBiybmJjg7LPPHnY5kiRJ2sAl+dFM7WM5zaOqVlTVIUuWLBl2KZIkSVrExjJMS5IkSaPAMC1JkiR1ZJiWJEmSOjJMS5IkSR0ZpiVJkqSODNOSJElSR4ZpSZIkqSPDtCRJktSRYVqSJEnqaCxvJy4N1fLlMz+XJEmLjiPTkiRJUkdjGaaTLEty1Jo1a4ZdiiRJkhaxsQzTVbWiqg5ZsmTJsEuRJEnSIjaWYVqSJEkaBYZpSZIkqSPDtCRJktSRYVqSJEnqyOtMLyZeH1mSJGlBOTItSZIkdeTI9IZitlHntR2Bnm19R7IlSZLuxDA9ztYl4DrlQ5IkaZ0ZpsfNsIKv4VuSJOlODNPjwPAqSZI0kgzTWj8c2ZYkSRsgw7TW3kKd7ChJkjTmDNOjZDEG08X4mSVJ0gbD60xLkiRJHRmmJUmSpI4M05IkSVJHzpmW+uF8bkmSNIORCdNJfg84FNgG+FpVfWjIJa0fhjRJkqSxNdBpHkmOSXJtkgumte+ZZGWSVUkOA6iqi6vqpcCfAk8YZF2SJEnSQhj0yPSxwD8DH5tqSLIx8AHgacBq4KwkJ1fVRUn2Al4GfHzAdWkUeZk8SZI0ZgY6Ml1VpwE/m9a8G7Cqqi6tqpuBE4C92/VPrqpnAPvPts0khyQ5O8nZ11133aBKlyRJkuY1jDnT2wFX9LxeDfx+kt2BfYDNgVNme3NVHQUcBTA5OVmDK1ND5Si1JEkaAyNzAmJVfQP4xpDLkCRJkvo2jOtMXwns0PN6+7ZNkiRJGivDGJk+C9g5yU40IXpf4M/WZgNJlgHLJiYmBlCeRs5sUz6cCiJJkoZs0JfGOx74H2CXJKuTHFRVtwKvAL4EXAx8uqouXJvtVtWKqjpkyZIlC1+0JEmS1KeBjkxX1X6ztJ/CHCcZSpIkSeNgZE5AXFSckrDwnPIhSZKGYBgnIK6zJMuSHLVmzZphlyJJkqRFbCxHpqtqBbBicnLy4GHXohHkKLUkSVpPxnJkWpIkSRoFhmlJkiSpo7Gc5uF1ptWJ0z8kSdICG8sw7ZxprTODtSRJWgBjGaal9cKQLUmS5mGYlhylliRJHRmmB8mQJkmStEEby6t5eNMWSZIkjYKxDNNVtaKqDlmyZMmwS5EkSdIiNpZhWpIkSRoFhmlJkiSpI8O0JEmS1JFhWpIkSepoLMO0V/OQJEnSKBjLMO3VPCRJkjQKxjJMS5IkSaPAMC1JkiR1ZJiWJEmSOjJMS5IkSR0ZpiVJkqSONhl2AV0kWQYsm5iYGHYpWuyWL5/5uSRJWhTGcmTaS+NJkiRpFIxlmJYkSZJGgWFakiRJ6sgwLUmSJHU0licgSiPPExMlSVoUHJmWJEmSOjJMS5IkSR0ZpiVJkqSOxnLOtDdt0VhzPrUkSRuMsRyZ9qYtkiRJGgVjOTItjRVHnyVJ2mCN5ci0JEmSNAocmV5ojkJKkiQtGo5MS5IkSR0ZpiVJkqSODNOSJElSR86ZlkaR16KWJGksGKalUWFoliRp7DjNQ5IkSepo3pHpJFsBLwKW9q5fVa8aXFmSfsspH5Ikjax+pnmcApwBnA/cNthyJEmSpPHRT5i+S1W9ZuCVrIUky4BlExMTwy5FkiRJi1g/YfrjSQ4GPg/cNNVYVT8bWFXzqKoVwIrJycmDh1WDNBRO+ZAkaaT0E6ZvBt4NHA5U21bA/QdVlCRJkjQO+gnTrwUmqur6QRcjSZIkjZN+Lo23CvjVoAuRJEmSxk0/I9M3AucmOZU7zpn20niSJEla1PoJ0ye1D0mSJEk95g3TVXVcks2AB7ZNK6vqlsGWJWmteJUPSZKGop87IO4OHAdcDgTYIcmLq+q0wZYmSZIkjbZ+pnm8B3h6Va0ESPJA4Hjg0YMsTJIkSRp1/VzNY9OpIA1QVT8ANh1cSZIkSdJ46Gdk+uwkHwE+0b7eHzh7cCVJkiRJ46GfMP0y4OXA1KXwTgc+MLCKJEmSpDHRT5h+aVW9F3jvVEOSQ4H3D6wqSZIkaQz0E6ZfzJ2D8wEztEkaBV4mT5Kk9WbWMJ1kP+DPgJ2SnNyz6HeAnw26MEmSJGnUzTUy/S3gKmAbmsvjTbkBOG+QRUmSJEnjYNYwXVU/An4EPC7J7wK7AUVzB8Rb11N9kgbBqSCSJC2Ifu6AeBBwBPB1mjsg/lOSt1bVMYMuTtI6MjRLkjRQ/ZyA+DrgkVX1U4Ak96SZArLgYTrJc4Bn0czLPrqqvrzQ+5AkSZIWSj93QPwpzTzpKTe0bX1JckySa5NcMK19zyQrk6xKchhAVZ1UVQcDLwWe3+8+JEmSpGHoJ0yvAs5MsjzJEcAZwA+SvCbJa/p4/7HAnr0NSTamufHLM4Bdgf2S7NqzypvwxjCSJEkacf1M87ikfUz5j/bfu/ezg6o6LcnSac27Aauq6lKAJCcAeye5GHgn8MWqOqef7UtaR7PNpXaOtSRJ85o3TFfVWwaw3+2AK3perwZ+H3gl8FRgSZKJqvrw9DcmOQQ4BGDHHXccQGmSJElSf/q5msckcDhwv971q+phC11MVR0JHDnPOkcBRwFMTk7WQtfQiSN4kiRJi1I/0zw+Cfw1cD5w2wLt90pgh57X27dtkiRJ0tjoJ0xfV1Unz7/aWjkL2DnJTjQhel+aW5f3JckyYNnExMQClyVJkiT1r58wfUSSjwBfA26aaqyqz/azgyTHA7sD2yRZDRxRVUcneQXwJWBj4JiqurDfoqtqBbBicnLy4H7fI2ktecMXSZLm1U+YPhB4ELApt0/zKKCvMF1V+83SfgpwSj/bkCRJkkZRP2H6MVW1y8ArkSRJksZMP2H6W0l2raqLBl5Nn5wzLQ2R0z8kSfqtfu6A+Fjg3PbW3+clOT/JeYMubC5VtaKqDlmyZMkwy5AkSdIi18/I9J7zryJJkiQtPv2E6VcBR4/SNA9JkiRpFPQzzeNi4F+TnJnkpUmGPrciybIkR61Zs2bYpUiSJGkRmzdMV9VHquoJwIuApcB5Sf4tyZMHXdwcNTlnWpIkSUPXz8g0STamudb0g4Drge8Br0lywgBrkyRJkkbavHOmk7wPeDbwdeDvqurb7aJ3JVk5yOIkSZKkUdbPCYjnAW+qqhtnWLbbAtcjSZIkjY1+pnn8YOpJkhckeW+S+wFU1VDOAPQEREmSJI2CfsL0h4BfJXk48FrgEuBjA61qHp6AKEmSpFHQT5i+taoK2Bv456r6AHD3wZYlSZIkjb5+5kzfkOQNwAuAJyXZCNh0sGVJkiRJo6+fkennAzcBB1XV1cD2wLsHWpUkSZI0BuYdmW4D9Ht7Xv+YIc+ZliRJkkZBP9M8Rk6SZcCyiYmJYZciLW7Ll8/8XJKkRaKvOyCOGq/mIUmSpFEw68h0kq9V1VOSvKuqXr8+i5I0hhylliQtQnNN87hPkscDeyU5AUjvwqo6Z6CVSZIkSSNurjD9N8Cbaa7e8d5pywrYY1BFSZIkSeNg1jBdVScCJyZ5c1W9bT3WJGlD4vQPSdIGrJ9L470tyV7Ak9qmb1TV5wdbliRJkjT65r2aR5J3AIcCF7WPQ5P83aALm6emZUmOWrNmzTDLkCRJ0iLXz6XxngU8raqOqapjgD2BZw+2rLl5aTxJkiSNgn6vM71Vz3MTrCRJkkR/d0B8B/DdJKfSXB7vScBhA61KkiRJGgP9nIB4fJJvAI9pm15fVVcPtCpJkiRpDPQzMk1VXQWcPOBaJEmSpLHS75xpSZIkSdMYpiVJkqSO5gzTSTZO8v31VYwkSZI0TuYM01X1G2Blkh3XUz2SJEnS2OjnBMStgQuTfBu4caqxqvYaWFXzSLIMWDYxMTGsEiRJkqS+wvSbB17FWqqqFcCKycnJg4ddi6S1sHz5zM8lSRpT/Vxn+ptJ7gfsXFVfTXJXYOPBlyZJkiSNtnmv5pHkYOBE4F/apu2AkwZZlCRJkjQO+pnm8XJgN+BMgKr6YZJ7DbQqSRu+6dM8nPYhSRpD/Vxn+qaqunnqRZJNgBpcSZIkSdJ46Gdk+ptJ3ghskeRpwP8DVgy2LElqedKiJGmE9TMyfRhwHXA+8BfAKcCbBlmUJEmSNA76uZrHbUmOo5kzXcDKqnKahyRJkha9ecN0kmcBHwYuAQLslOQvquqLgy5OkiRJGmX9zJl+D/DkqloFkOQBwBcAw7Sk4XEutSRpBPQzZ/qGqSDduhS4YUD1SJIkSWNj1pHpJPu0T89OcgrwaZo5088DzloPtUmSJEkjba5pHst6nl8D/GH7/Dpgi4FV1Icky4BlExMTwyxDkiRJi9ysYbqqDlyfhayNqloBrJicnDx42LVIWo/6mRvtXGpJ0nrUz9U8dgJeCSztXb+q9hpcWZIkSdLo6+dqHicBR9Pc9fC2wZYjSZIkjY9+wvSvq+rIgVciSZIkjZl+wvT7kxwBfBm4aaqxqs4ZWFWSJEnSGOgnTD8UeCGwB7dP86j2tSRJkrRo9ROmnwfcv6puHnQxkiRJ0jjp5w6IFwBbDboQSZIkadz0MzK9FfD9JGdxxznTXhpPkiRJi1o/YfqIgVchSZIkjaF5w3RVfXN9FCJpkfPOhZKkMdTPHRBvoLl6B8BmwKbAjVX1O4MsTJIkSRp1/YxM333qeZIAewOPHWRRkiRJ0jjoZ870b1VVASe1N3E5bDAlSdIAOI1EkjQA/Uzz2Kfn5UbAJPDrgVUkSZIkjYl+RqaX9Ty/FbicZqqHJI02R6AlSQPWz5zpA9dHIZIkSdK4mTVMJ/mbOd5XVfW2hSwkyf2Bw4ElVfXchdy2JEmSNAhz3U78xhkeAAcBr+9n40mOSXJtkgumte+ZZGWSVUkOA6iqS6vqoLX+BJK0LpYvv/0hSdJamjVMV9V7ph7AUcAWwIHACcD9+9z+scCevQ1JNgY+ADwD2BXYL8mua1+6JEmSNFxzjUyT5B5J3g6cRzMl5FFV9fqqurafjVfVacDPpjXvBqxqR6JvpgnnntAoSZKksTNrmE7ybuAs4AbgoVW1vKp+vgD73A64ouf1amC7JPdM8mHgkUneMEddhyQ5O8nZ11133QKUI0mSJHUz19U8XgvcBLwJOLy5+SEAoTkBcUFvJ15VPwVe2sd6R9FMO2FycrLmWV2SJEkamFnDdFXNOQVkHVwJ7NDzevu2TZIkSRorgwrMczkL2DnJTkk2A/YFTh5CHZIkSdI66ecOiJ0lOR7YHdgmyWrgiKo6OskrgC8BGwPHVNWFa7ndZcCyiYmJhS5Zku6s97J5XkJPktRjoGG6qvabpf0U4JR12O4KYMXk5OTBXbchSZIkrathTPOQJEmSNghjGaaTLEty1Jo1a4ZdiiRJkhaxsQzTVbWiqg5ZsmTJsEuRJEnSIjaWYVqSJEkaBYZpSZIkqSPDtCRJktTRQC+NNyheZ1rS2PPa1ZK0QRjLkWlPQJQkSdIoGMswLUmSJI0Cw7QkSZLUkWFakiRJ6sgTECWpK08ilKRFbyxHpj0BUZIkSaNgLMO0JEmSNAoM05IkSVJHhmlJkiSpI09AlKQp63ISoScjStKiNJYj056AKEmSpFEwlmFakiRJGgWGaUmSJKkjw7QkSZLUkWFakiRJ6sgwLUmSJHVkmJYkSZI68jrTXXgNWUmSJDGmI9NeZ1qSJEmjYCzDtCRJkjQKDNOSJElSR4ZpSZIkqSPDtCRJktSRYVqSJEnqyDAtSZIkdWSYliRJkjrypi2StNB6b+w0zJs8DauO9b3fUelvSYvSWI5Me9MWSZIkjYKxDNOSJEnSKDBMS5IkSR0ZpiVJkqSODNOSJElSR4ZpSZIkqSPDtCRJktSRYVqSJEnqyDAtSZIkdWSYliRJkjoyTEuSJEkdGaYlSZKkjjYZdgFdJFkGLJuYmBh2KZLUv+XL52+fbZ251uv3/ZKkBTeWI9NVtaKqDlmyZMmwS5EkSdIiNpZhWpIkSRoFhmlJkiSpI8O0JEmS1JFhWpIkSerIMC1JkiR1ZJiWJEmSOjJMS5IkSR0ZpiVJkqSODNOSJElSR4ZpSZIkqSPDtCRJktSRYVqSJEnqyDAtSZIkdWSYliRJkjoyTEuSJEkdGaYlSZKkjgzTkiRJUkebDLuAKUnuBnwQuBn4RlV9csglSZIkSXMa6Mh0kmOSXJvkgmnteyZZmWRVksPa5n2AE6vqYGCvQdYlSZIkLYRBT/M4FtiztyHJxsAHgGcAuwL7JdkV2B64ol3tNwOuS5IkSVpnA53mUVWnJVk6rXk3YFVVXQqQ5ARgb2A1TaA+lzlCfpJDgEMAdtxxx4UvWpKGafnyuV8vxHb72eZs66xLPWtbQ7/b6mcfg/g8sxn1vutnuwv1fH0ahRqm73uYdWxIRrxPh3EC4nbcPgINTYjeDvgs8CdJPgSsmO3NVXVUVU1W1eS222472EolSZKkOYzMCYhVdSNw4LDrkCRJkvo1jJHpK4Edel5v37ZJkiRJY2UYYfosYOckOyXZDNgXOHltNpBkWZKj1qxZM5ACJUmSpH4M+tJ4xwP/A+ySZHWSg6rqVuAVwJeAi4FPV9WFa7PdqlpRVYcsWbJk4YuWJEmS+jToq3nsN0v7KcApg9y3JEmSNGjeTlySJEnqaCzDtHOmJUmSNArGMkw7Z1qSJEmjYCzDtCRJkjQKDNOSJElSR2MZpp0zLUmSpFGQqhp2DZ0luQ740Xra3TbA9etpXxsS+607+64b+607+64b+607+64b+627dem7+1XVttMbxzpMr09Jzq6qyWHXMW7st+7su27st+7su27st+7su27st+4G0XdjOc1DkiRJGgWGaUmSJKkjw3T/jhp2AWPKfuvOvuvGfuvOvuvGfuvOvuvGfutuwfvOOdOSJElSR45MS5IkSR0ZpueRZM8kK5OsSnLYsOsZZUl2SHJqkouSXJjk0Lb9Hkm+kuSH7b9bD7vWUZRk4yTfTfL59vVOSc5sj71PJdls2DWOoiRbJTkxyfeTXJzkcR5z80vyl+336QVJjk9yF4+5mSU5Jsm1SS7oaZvxGEvjyLYPz0vyqOFVPlyz9Nu72+/V85J8LslWPcve0PbbyiR/NJyqR8NMfdez7LVJKsk27WuPuR6z9V2SV7bH3oVJ/r6nfZ2PO8P0HJJsDHwAeAawK7Bfkl2HW9VIuxV4bVXtCjwWeHnbX4cBX6uqnYGvta91Z4cCF/e8fhfwvqqaAH4OHDSUqkbf+4H/rKoHAQ+n6UOPuTkk2Q54FTBZVQ8BNgb2xWNuNscCe05rm+0Yewawc/s4BPjQeqpxFB3LnfvtK8BDquphwA+ANwC0Pyv2BR7cvueD7c/gxepY7tx3JNkBeDrw455mj7k7OpZpfZfkycDewMOr6sHAP7TtC3LcGabnthuwqqouraqbgRNovhiaQVVdVVXntM9voAk129H02XHtascBzxlOhaMryfbAs4CPtK8D7AGc2K5iv80gyRLgScDRAFV1c1X9Ao+5fmwCbJFkE+CuwFV4zM2oqk4DfjatebZjbG/gY9U4A9gqyX3WT6WjZaZ+q6ovV9Wt7cszgO3b53sDJ1TVTVV1GbCK5mfwojTLMQfwPuB1QO8Jbx5zPWbpu5cB76yqm9p1rm3bF+S4M0zPbTvgip7Xq9s2zSPJUuCRwJnAvavqqnbR1cC9h1TWKPtHmv8gb2tf3xP4Rc8PHY+9me0EXAd8tJ0i85Ekd8Njbk5VdSXNyMyPaUL0GuA7eMytjdmOMX9u9O/PgS+2z+23eSTZG7iyqr43bZF9N78HAn/QTmP7ZpLHtO0L0neGaS24JFsC/w68uqr+t3dZNZeP8RIyPZI8G7i2qr4z7FrG0CbAo4APVdUjgRuZNqXDY+7O2vm9e9P8MnJf4G7M8Cdl9cdjbO0lOWhU3HoAAAYySURBVJxmauAnh13LOEhyV+CNwN8Mu5YxtQlwD5opqH8NfLr9C/CCMEzP7Upgh57X27dtmkWSTWmC9Cer6rNt8zVTf3Jq/712tvcvUk8A9kpyOc1Uoj1o5gFv1f4JHjz2ZrMaWF1VZ7avT6QJ1x5zc3sqcFlVXVdVtwCfpTkOPeb6N9sx5s+NeSQ5AHg2sH/dfn1e+21uD6D55fd77c+K7YFzkvwu9l0/VgOfbafCfJvmr8DbsEB9Z5ie21nAzu0Z7pvRTFI/ecg1jaz2t7yjgYur6r09i04GXtw+fzHwH+u7tlFWVW+oqu2rainNMfb1qtofOBV4brua/TaDqroauCLJLm3TU4CL8Jibz4+Bxya5a/t9O9VvHnP9m+0YOxl4UXuFhccCa3qmgyx6SfakmdK2V1X9qmfRycC+STZPshPNyXTfHkaNo6iqzq+qe1XV0vZnxWrgUe3/gR5z8zsJeDJAkgcCmwHXs1DHXVX5mOMBPJPmjONLgMOHXc8oP4An0vyp8zzg3PbxTJr5v18Dfgh8FbjHsGsd1QewO/D59vn922/qVcBngM2HXd8oPoBHAGe3x91JwNYec33121uA7wMXAB8HNveYm7WvjqeZW34LTYg5aLZjDAjNVaAuAc6nuWLK0D/DCPXbKpo5qlM/Iz7cs/7hbb+tBJ4x7PpHre+mLb8c2KZ97jE3T9/RhOdPtP/fnQPs0bP+Oh933gFRkiRJ6shpHpIkSVJHhmlJkiSpI8O0JEmS1JFhWpIkSerIMC1JkiR1ZJiWpLWU5JcD3v6r2zuerfP+2uunfjXJuUmevzAVdqrjgCT3Hdb+JWlQDNOSNHpeDdx13rX680iAqnpEVX1qgbbZxQE0ty6XpA2KYVqSFkCSByT5zyTfSXJ6kge17ccmOTLJt5JcmuS5bftGST6Y5PtJvpLklCTPTfIqmtB5apJTe7b/t0m+l+SMJPeeYf/3SHJSkvPadR6W5F40Nyp4TDsy/YBp73lVkova95zQ1vTDJNv21Lgqybbt5/hQu+1Lk+ye5JgkFyc5tmebv0zyviQXJvla+97nApPAJ9s6tkjylCTfTXJ+u53N2/dfnuQd7XpnJ3lUki8luSTJSxf4yyZJ68wwLUkL4yjglVX1aOCvgA/2LLsPzR1Cnw28s23bB1gK7Aq8EHgcQFUdCfwEeHJVPbld927AGVX1cOA04OAZ9v8W4LtV9TDgjcDHqupa4CXA6e3I9CXT3nMY8Mj2PS+tqttowvf+7fKnAt+rquva11u3df4lzW143wc8GHhokkf01Hp2VT0Y+CZwRFWdSHOXyv2r6hE0d0o9Fnh+VT0U2AR4WU9dP27XO71d77nAY9vPKEkjxTAtSesoyZbA44HPJDkX+BeaAD3lpKq6raouAqZGlZ8IfKZtvxo4ldndDHy+ff4dmhA+3RNpbgtOVX0duGeS35mn9PNoRotfANzath0DvKh9/ufAR3vWX1HNbXPPB66pqvPbAH5hT023AVPTST7R1jXdLsBlVfWD9vVxwJN6lp/c/ns+cGZV3dAG+puSbDXPZ5Kk9WqTYRcgSRuAjYBftKOpM7mp53k6bP+WNsQC/IaF+7/7WTQhdhlweJKHVtUVSa5JsgewG7ePUsPtn+M27viZbpujppqlfS5d9iNJQ+HItCSto6r6X+CyJM8DSOPh87ztv4E/aecl3xvYvWfZDcDd17KM02mDb5LdgevbumaUZCNgh6o6FXg9sATYsl38EZpR5c9U1W/Wso6NaKZlAPwZ8F/t897PtBJYmmSiff1CmikhkjR2DNOStPbummR1z+M1NEH2oCTfo5n2sPc82/h3YDVwEU1wPQdY0y47CvjP3hMQ+7AceHSS82jmZb94nvU3Bj6R5Hzgu8CRVfWLdtnJNMH6o7O9eQ43ArsluQDYA3hr234s8OF2GkyAA2mmxZxPM+L84Q77kqShy+1/OZQkrU9JtqyqXya5J/Bt4Ant/Olh1zUJvK+q/qDDe39ZVVvOv6YkbRiceyZJw/P59oS6zYC3jUiQPozmyhr7z7euJMmRaUmSJKkz50xLkiRJHRmmJUmSpI4M05IkSVJHhmlJkiSpI8O0JEmS1JFhWpIkSero/wODzYWCsR+SVgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -728,7 +669,7 @@ "is_executing": false }, "id": "aj9sdLCIOttp", - "outputId": "73d832d1-9545-457b-a174-c0023c557b95", + "outputId": "525a7368-ab76-4275-a4a9-0a0c75d1b26c", "colab": { "base_uri": "https://localhost:8080/", "height": 136 @@ -744,18 +685,18 @@ "print('증상 길이 제 1 사분위: {}'.format(np.percentile(train_length, 25)))\n", "print('증상 길이 제 3 사분위: {}'.format(np.percentile(train_length, 75)))" ], - "execution_count": 17, + "execution_count": 16, "outputs": [ { "output_type": "stream", "text": [ "증상 길이 최대 값: 156\n", "증상 길이 최소 값: 1\n", - "증상 길이 평균 값: 20.35\n", - "증상 길이 표준편차: 10.94\n", - "증상 길이 중간 값: 19.0\n", + "증상 길이 평균 값: 20.14\n", + "증상 길이 표준편차: 11.03\n", + "증상 길이 중간 값: 18.0\n", "증상 길이 제 1 사분위: 12.0\n", - "증상 길이 제 3 사분위: 28.0\n" + "증상 길이 제 3 사분위: 27.0\n" ], "name": "stdout" } @@ -768,7 +709,7 @@ "is_executing": false }, "id": "ONRYrEiPOttr", - "outputId": "b1647e8e-85df-47cf-e85c-da20f57a8dc0", + "outputId": "3c6951b9-f986-4544-a95a-1af31e1a56cc", "colab": { "base_uri": "https://localhost:8080/", "height": 456 @@ -785,31 +726,31 @@ " labels=['counts'],\n", " showmeans=True)" ], - "execution_count": 18, + "execution_count": 17, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "{'boxes': [],\n", - " 'caps': [,\n", - " ],\n", - " 'fliers': [],\n", - " 'means': [],\n", - " 'medians': [],\n", - " 'whiskers': [,\n", - " ]}" + "{'boxes': [],\n", + " 'caps': [,\n", + " ],\n", + " 'fliers': [],\n", + " 'means': [],\n", + " 'medians': [],\n", + " 'whiskers': [,\n", + " ]}" ] }, "metadata": { "tags": [] }, - "execution_count": 18 + "execution_count": 17 }, { "output_type": "display_data", "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -834,7 +775,7 @@ "# train_review = [review for review in train_data['document'] if type(review) is str]\n", "train_symptom = [symptom for symptom in train_data['symptom'] if type(symptom) is (str or int or float)]" ], - "execution_count": 19, + "execution_count": 18, "outputs": [] }, { @@ -844,7 +785,7 @@ "is_executing": false }, "id": "M-0Fv2mtOttz", - "outputId": "7c05fee8-6372-4ced-ea92-f9c18ef227f9", + "outputId": "3c78162d-6f08-49f6-9e60-a4a618021fed", "colab": { "base_uri": "https://localhost:8080/", "height": 268 @@ -855,7 +796,7 @@ "fig.set_size_inches(20, 3)\n", "sns.countplot(train_data['class'])" ], - "execution_count": 20, + "execution_count": 19, "outputs": [ { "output_type": "stream", @@ -869,18 +810,18 @@ "output_type": "execute_result", "data": { "text/plain": [ - "" + "" ] }, "metadata": { "tags": [] }, - "execution_count": 20 + "execution_count": 19 }, { "output_type": "display_data", "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABJgAAADQCAYAAABLENuiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3debgkVXn48e8LiEIkso3IpoOIGBAiOA8aBaOgsimbIENE0WgmGnABNeAW0IA/iQoBIRiEETCaEdkNCEHAiBGBQXYQGUAFfiCDgAmKKPjmjzo91PTcpe9U1617me/nee5zu06d6n67urrq1NvnVEVmIkmSJEmSJC2t5boOQJIkSZIkSdObCSZJkiRJkiQ1YoJJkiRJkiRJjZhgkiRJkiRJUiMmmCRJkiRJktSICSZJkiRJkiQ1skLXAbRhzTXXzJkzZ3YdhiRJkiRJ0tPGNddc82Bmzhhp3tMywTRz5kzmz5/fdRiSJEmSJElPGxHx89HmOUROkiRJkiRJjZhgkiRJkiRJUiMmmCRJkiRJktSICSZJkiRJkiQ10mqCKSIOjIibI+KmiPj3iHhWRGwQEVdGxIKI+GZErFjqPrNMLyjzZ9ae52Ol/LaI2L7NmCVJkiRJkjQxrd1FLiLWBT4AbJKZj0XE6cBsYCfg6MycFxFfBt4NnFD+P5yZL4qI2cCRwN4RsUlZblNgHeC7EfHizHxyIvEsPOHfhvbempjxvn27DkGSJEmSJGmo2h4itwKwUkSsAKwM3AdsC5xR5p8K7FYe71qmKfO3i4go5fMy8/HMvAtYAGzVctySJEmSJEkaUGsJpsy8F/gC8AuqxNKvgWuARzLziVLtHmDd8nhd4O6y7BOl/hr18hGWkSRJkiRJUsdaSzBFxGpUvY82oBra9ifADi2+3pyImB8R8xcuXNjWy0iSJEmSJKlPm0PkXg/clZkLM/MPwFnAq4FVy5A5gPWAe8vje4H1Acr85wC/qpePsMwimXliZs7KzFkzZsxo4/1IkiRJkiRpBG0mmH4BvDIiVi7XUtoOuAW4DNiz1NkPOLc8Pq9MU+ZfmplZymeXu8xtAGwEXNVi3JIkSZIkSZqA1u4il5lXRsQZwI+BJ4BrgROB84F5EXF4KTu5LHIy8LWIWAA8RHXnODLz5nIHulvK8+w/0TvISZIkSZIkqT2tJZgAMvNQ4NC+4jsZ4S5wmfk7YK9RnucI4IihByhJkiRJkqTG2hwiJ0mSJEmSpGWACSZJkiRJkiQ1YoJJkiRJkiRJjZhgkiRJkiRJUiMmmCRJkiRJktSICSZJkiRJkiQ1YoJJkiRJkiRJjZhgkiRJkiRJUiMrdB2ANBmuO+HNXYewyMve9+2uQ5AkSZIkaajswSRJkiRJkqRGTDBJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhoxwSRJkiRJkqRGTDBJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhoxwSRJkiRJkqRGTDBJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhoxwSRJkiRJkqRGTDBJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhoxwSRJkiRJkqRGTDBJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhppNcEUEatGxBkR8ZOIuDUi/iIiVo+IiyPi9vJ/tVI3IuLYiFgQETdExJa159mv1L89IvZrM2ZJkiRJkiRNTNs9mI4BLszMlwB/DtwKHAJckpkbAZeUaYAdgY3K3xzgBICIWB04FHgFsBVwaC8pJUmSJEmSpO61lmCKiOcArwFOBsjM32fmI8CuwKml2qnAbuXxrsBpWfkRsGpErA1sD1ycmQ9l5sPAxcAObcUtSZIkSZKkiWmzB9MGwELgqxFxbUScFBF/AqyVmfeVOvcDa5XH6wJ315a/p5SNVi5JkiRJkqQpoM0E0wrAlsAJmbkF8BueGg4HQGYmkMN4sYiYExHzI2L+woULh/GUkiRJkiRJGkCbCaZ7gHsy88oyfQZVwumXZegb5f8DZf69wPq15dcrZaOVLyYzT8zMWZk5a8aMGUN9I5IkSZIkSRpdawmmzLwfuDsiNi5F2wG3AOcBvTvB7QecWx6fB7yj3E3ulcCvy1C6i4A3RsRq5eLebyxlkiRJkiRJmgJWaPn53w98PSJWBO4E3kWV1Do9It4N/Bx4a6l7AbATsAD4balLZj4UEf8IXF3qfSYzH2o5bkmSJEmSJA2o1QRTZl4HzBph1nYj1E1g/1GeZy4wd7jRSZIkSZIkaRjavAaTJEmSJEmSlgEmmCRJkiRJktSICSZJkiRJkiQ1YoJJkiRJkiRJjZhgkiRJkiRJUiMmmCRJkiRJktSICSZJkiRJkiQ1YoJJkiRJkiRJjZhgkiRJkiRJUiMmmCRJkiRJktSICSZJkiRJkiQ1YoJJkiRJkiRJjZhgkiRJkiRJUiMmmCRJkiRJktSICSZJkiRJkiQ1YoJJkiRJkiRJjazQdQCSpOnrE9/aoesQADhirwu7DkGSJElapg3UgykiLhmkTJIkSZIkScueMXswRcSzgJWBNSNiNSDKrD8F1m05NkmSJEmSJE0D4w2R+1vgQ8A6wDU8lWD6H+C4FuOSJEmSJEnSNDFmgikzjwGOiYj3Z+aXJikmSZIkSZIkTSMDXeQ7M78UEa8CZtaXyczTWopLkiRJkiRJ08RACaaI+BqwIXAd8GQpTsAEkyRJkiRJ0jJuoAQTMAvYJDOzzWAkSZIkSZI0/Sw3YL2bgOe1GYgkSZIkSZKmp0F7MK0J3BIRVwGP9wozc5dWopIkSZIkSdK0MWiC6bA2g5AkSZIkSdL0Nehd5P6r7UAkSZIkSZI0PQ16F7n/pbprHMCKwDOA32Tmn7YVmCRJkiRJkqaHQXswrdJ7HBEB7Aq8sq2gJEmSJEmSNH0Mehe5RbJyDrD9IPUjYvmIuDYi/qNMbxARV0bEgoj4ZkSsWMqfWaYXlPkza8/xsVJ+W0QM9LqSJEmSJEmaHIMOkdujNrkcMAv43YCv8UHgVqA3nO5I4OjMnBcRXwbeDZxQ/j+cmS+KiNml3t4RsQkwG9gUWAf4bkS8ODOfHPD1JUmSJEmS1KJB7yL35trjJ4CfUQ2TG1NErAfsDBwBHFSG120L/FWpcirVHepOKM93WCk/AziuNhxvXmY+DtwVEQuArYArBoxdkjjl1Dd2HQIA79zvP7sOQZIkSZKGbtBrML1rKZ//n4G/B3rXcFoDeCQznyjT9wDrlsfrAneX13siIn5d6q8L/Kj2nPVlFomIOcAcgOc///lLGa4kSZIkSZImaqBrMEXEehFxdkQ8UP7OLL2TxlrmTcADmXnNUCIdR2aemJmzMnPWjBkzJuMlJUmSJEmSxOAX+f4qcB7VNZDWAb5dysbyamCXiPgZMI9qaNwxwKoR0es5tR5wb3l8L7A+QJn/HOBX9fIRlpEkSZIkSVLHBk0wzcjMr2bmE+XvFGDMbkKZ+bHMXC8zZ1JdpPvSzHwbcBmwZ6m2H3BueXxemabMvzQzs5TPLneZ2wDYCLhqwLglSZIkSZLUskETTL+KiH0jYvnyty9V76KlcTDVBb8XUF1j6eRSfjKwRik/CDgEIDNvBk4HbgEuBPb3DnKSJEmSJElTx6B3kftr4EvA0UACPwTeOeiLZOb3gO+Vx3dS3QWuv87vgL1GWf4IqjvRSZIkSZIkaYoZNMH0GWC/zHwYICJWB75AlXiSJEmSJEnSMmzQIXKb95JLAJn5ELBFOyFJkiRJkiRpOhk0wbRcRKzWmyg9mAbt/SRJkiRJkqSnsUGTRF8EroiIb5XpvfCaSJIkSZIkSWLABFNmnhYR84FtS9EemXlLe2FJkiRJkiRpuhh4mFtJKJlUkiRJkiRJ0mK8jpKW2j3HTZ2bCK53wNyuQ5AkSZIkaZk16EW+JUmSJEmSpBGZYJIkSZIkSVIjJpgkSZIkSZLUiAkmSZIkSZIkNeJFviVJy4Qdztup6xAAuHCXC7oOQZIkSRo6ezBJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhrxGkySJElaam8+4+yuQwDg23vu3nUIkiQt0+zBJEmSJEmSpEbswSRJ0hSz0zkf7zoEAC7Y7bNdhyBJkqRpwh5MkiRJkiRJasQEkyRJkiRJkhoxwSRJkiRJkqRGTDBJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhoxwSRJkiRJkqRGVug6AEmLu+yknbsOYZHXvef8rkOQJEmSJE0D9mCSJEmSJElSI/ZgmoIe+PJRXYcAwHPfe1DXIUiSJEmSpGnAHkySJEmSJElqpLUEU0SsHxGXRcQtEXFzRHywlK8eERdHxO3l/2qlPCLi2IhYEBE3RMSWtefar9S/PSL2aytmSZIkSZIkTVybPZieAD6cmZsArwT2j4hNgEOASzJzI+CSMg2wI7BR+ZsDnABVQgo4FHgFsBVwaC8pJUmSJEmSpO61lmDKzPsy88fl8f8CtwLrArsCp5ZqpwK7lce7Aqdl5UfAqhGxNrA9cHFmPpSZDwMXAzu0FbckSZIkSZImZlKuwRQRM4EtgCuBtTLzvjLrfmCt8nhd4O7aYveUstHKJUmSJEmSNAW0nmCKiGcDZwIfysz/qc/LzARySK8zJyLmR8T8hQsXDuMpJUmSJEmSNIBWE0wR8Qyq5NLXM/OsUvzLMvSN8v+BUn4vsH5t8fVK2Wjli8nMEzNzVmbOmjFjxnDfiCRJkiRJkkbV5l3kAjgZuDUzj6rNOg/o3QluP+DcWvk7yt3kXgn8ugyluwh4Y0SsVi7u/cZSJkmSJEmSpClghRaf+9XA24EbI+K6UvZx4HPA6RHxbuDnwFvLvAuAnYAFwG+BdwFk5kMR8Y/A1aXeZzLzoRbjliRJkiRJ0gS0lmDKzB8AMcrs7Uaon8D+ozzXXGDu8KKTJEmSJEnSsLTZg0mSJEmSNEFnnvlg1yEA8Ja3rNl1CJKmkdbvIidJkiRJkqSnNxNMkiRJkiRJasQhcpKW2tlzd+w6hEV2/+vvdB2CJEmawo46+/6uQ1jkoN2f13UIkjR0JpgkSZL0tLfbGRd3HcIi5+z5hq5DkCRp6BwiJ0mSJEmSpEZMMEmSJEmSJKkRE0ySJEmSJElqxASTJEmSJEmSGjHBJEmSJEmSpEZMMEmSJEmSJKkRE0ySJEmSJElqZIWuA5AkSdPXzmcd1XUIAJy/x0FdhyBJkrRMsweTJEmSJEmSGrEHkyRJWibsfOZXug4BgPPf8jddhyBJkjR0JpgkSZKmmDed8fWuQwDgP/Z8W9chSJKkacIhcpIkSZIkSWrEHkySJEmSJGmp3H/UTV2HAMDzDnpp1yEs80wwSZIkSZKe9m488YGuQwBgsznP7ToEqRUOkZMkSZIkSVIjJpgkSZIkSZLUiAkmSZIkSZIkNWKCSZIkSZIkSY14kW9JkiRJkqaQ+/7pvq5DAGDtv1+76xA0jZhgkqQp5phvbN91CAB88K8u6joESZIkSdOEQ+QkSZIkSZLUiD2YJEmSJElL5Xv/trDrEAB47b4zug5BGqoHjju/6xAAeO4BOw9c1x5MkiRJkiRJasQeTJIkSZKWyuyz7uo6hEXm7bFB1yFI0jJt2iSYImIH4BhgeeCkzPxcxyFJkiRJQ/eWM6/qOoRFznzLVl2HIElD88tjf9B1CACs9YGtuw6hFdNiiFxELA8cD+wIbALsExGbdBuVJEmSJEmSYJokmICtgAWZeWdm/h6YB+zacUySJEmSJEli+iSY1gXurk3fU8okSZIkSZLUscjMrmMYV0TsCeyQme8p028HXpGZB9TqzAHmlMmNgdtaCGVN4MEWnrcNxtqO6RLrdIkTjLUtxtoOY22HsbbDWNthrMM3XeIEY22LsbbDWNuxrMf6gsycMdKM6XKR73uB9WvT65WyRTLzRODENoOIiPmZOavN1xgWY23HdIl1usQJxtoWY22HsbbDWNthrO0w1uGbLnGCsbbFWNthrO0w1tFNlyFyVwMbRcQGEbEiMBs4r+OYJEmSJEmSxDTpwZSZT0TEAcBFwPLA3My8ueOwJEmSJEmSxDRJMAFk5gXABR2H0eoQvCEz1nZMl1inS5xgrG0x1nYYazuMtR3G2g5jHb7pEicYa1uMtR3G2g5jHcW0uMi3JEmSJEmSpq7pcg0mSZIkSZIkTVHLZIIpIp6MiOsi4uaIuD4iPhwRy5V5r42IX5f5vb/X9y13U0R8OyJWLeUzIyIj4vDaa6wZEX+IiONaiH+9iDg3Im6PiDsi4piIWLEv9lsj4tDae/qPvuc4JSL2HHZsI8T6ZN+6PKSUfy8i5tfqzSpl29fqPhoRt5XHp7Ud6yjxrxUR34iIOyPimoi4IiJ2H2mddqVse1+sTX8kIg4rjzcu67W3TXTanbPvO/StiFi5lH+ifB9vKPNf0XGcY63TwyLi3hLnLRGxzyTE82jf9Dt7+5a+eHp/vX3T1hFxVUT8pPzNqT3HYRHx24h47mivM8T4B/7cI+KIiDiytuwLyvdv1RbjmuixYMTto7yfXt36vu8Dw459jPf0aPk/MyIeq22nX+69t8lW364iYqeIuKv8LbGfL+s9I+I9tWVeVso+0naM8dTx/P21ecdFxDvL41NqsS/6bCPi2RHxr1Edk68p+91J249FxPMiYl7t9S+IiBeXeR+KiN9FxHMmK56xxOhtmJUj4usRcWPZV/wgIp7dcayjtQGmVKwRsVvZbl9SpmdGxE0j1JuUtt8IrztWW/AXERG1uueMsR87LSKe0VJsI7XtH+uL+x1l3s8iYs3acyxqE0Z1fM7e8aKU9T6fVtf9aPuBiDi2vL8bI+LqiNigzThGiGuJ7TGqY+ZH+vap10fEdrU6K0bEP0fEgrK/ODci1mshvgmdq5THvTbCtVEdw74fEW/qe9458VT766qI2HqIsY60vY64jsvj/mPXD/vr1JZbbPtuGO8g56w3RMR3Y/H26L6lvNc+Oykinltie16t3vER8bFhxFp7zkHPAW6KiF1q5a2tx4mIkY8Ho7Zr2rBMJpiAxzLzZZm5KfAGYEfg0Nr8y8v83t93+5Z7KfAQsH9tmbuAnWvTewFDvxB5RARwFnBOZm4EvBh4NnBEPXZgFrBvRGw57Bgm6LG+dfm52rznRsSO9cqZeVGvLjAfeFuZfsekRs2idX0O8P3MfGFmvpzqDoZDP7g19Diwxyg7sWOBo8s6/DPgS5Mb2hLq36HfA++NiL8A3gRsmZmbA68H7u4ySMZep1DWKbAr8K8x5AbvUji673v2SDkAfwN4b2a+BNga+NuIqO+nHgQ+PAnxTeRzPxzYLSL+rCx7DPCpzHykxbgmeiwYcfvIzCNq+6/6vu/YFmIfxB0lls2BTYDdOooDgHLicCzw+szcYIz9/E3AW2uL7gNcP4mhPgB8MKq71o7koyN8tidRtQs2KseKdwGT0rAsx6qzge9l5obl9T8GrFWq7EN1N949JiOesYzThvkg8MvM3KzsK94N/KHjWEdrA0ypWKk+4x+U/1PRWG3BR4BXA5ST5bX7lu3txzajWvdvZbjGatvf0Rf3oD923ki1rfS0vg8bYz+wN7AOsHlmbgbsTrXOp5KPls/4Q8CXa+WfBVYBNi77i3OAs8p7HaYJnavUXJ6ZW2TmxsAHgON6CbKSbPpbYOvSBnsv8I16cqRhrCNtr+OpH7te1TCOcQ16zlragFdT3ktE7AAcCOxY2mdbAj8EVgM+B3yh1NsS2KY3PUSDngPsBcyNjn68G8NIx4Px2jVDNdVWyKTLzAeAOcABE9xhXQGsW5v+LXBrRMwq03sDpw8nysVsC/wuM78KkJlPUn0J/xpYuVcpM38DXAO8qIUYhuXzwCe6DmIM2wK/z8xFB7vM/Hlmdp2k6fcE1cXbDhxh3trAPb2JzLxxsoIawOVU2+fawIOZ+ThAZj6Ymf+/08jGXqeLZObtVN/91SYjqAnaHzglM38M1XoF/h44pFZnLrB3RKw+iXGN+bln5mNU6/34iNgJWCUzv952UBM8Fgy0fUwVmfkEVeOss+NBRLwG+Arwpsy8Y5zqPweeFVXvkQB2AL7Tdow1C4FLgP0GqRwRGwKvAD6ZmX8EyMy7MvP89kJczOuAP/Qdq67PzMtLbM8GPsnUSD6M1YbZALi3VzEzb+vtHzoyVhtgbaZIrFH1nNqaKsk1e5zqU9E8nop7D6oT0iWUbeUqFm97D1t/235pXQ5sFRHPKJ/Pi4DrhvC8YxlxPwD8Brivtm+6JzMfbjmWpbVo/UfV0/ldwIHls6fsNx6n+m5OloHOVTLzOuAzwAGl6GCqhM6DZf6PgVOZWEJoPMPaXtsy0DlrOc6vAvS2y08AH8nMe3vLZebczLyNqu21YUS8DjgeOCAzh53cH/Qc4NZSd9J7KY1mjOPBhNo1TS3zCSaAzLwTWB7odc3bJhbvKrlhvX5ELA9sB5zX91TzgNkRsT7wJNDGSfKmVImjevz/A/yC2slDRKwBvJKnelEt9p6AXVqIbSQr9a3LvWvzrgB+X3YSU9GmwI+7DmJAxwNviyWHQBwNXBoR34mIA6OFYUZLIyJWoOotciPwn8D6EfHTiPiXiPjLbqNbZLR1ukj59eT2kpxo00p939/P9M0/sDb/slK2xL6CqrfIprXpR6mSTB9sJeo+g37uWd019GGqxtjfTUZs5XUnciwYd/uYKkpDfTuq9d6FZ1L98rxbZv5kwGXOoPp18FVU++HJPnk/EvhIOd73+3xtm9iM6jt1Xe8kqAMvZcnves9sqrbJ5cDGEbHWKPUmy1htmH8DDo5qGNrhEbFRFwHWjNUGmMvUiXVX4MLM/Cnwq4h4eYexjGastuAlwGvKd2028M2RniAinkWVyL2wjQBHadtv2Bf3NrV5l9WOySf1PV0C3wW2p/p8+s8X2jDafuB04M0l1i9GxBaTEMvS2oHqWAHVOc0vyv6hrr8dMwzDOlf5MfCS8niQNthSG2R7peo1VVc/drX+wx3jn7NuU+L8BVUv9rm15Ubc95ZE6fuAM4HbMvP77YQ+0DnAK4A/UiVvYPG2+HVUPQcn21jHg7HaNUNlgmlk/cMier+2rlQ2mPupup5f3LfchVTDLEY9QE6CbSLiWqqTt89lZi/BtNh7YnIOdrBkt9P+9XI41S+rU15U43yvj4iru46lX9lhn0bVRbde/lXgz4BvAa8FfhQRz5z0AJ/S+w7NpzqgnJyZjwIvp+o9shD4ZrQ4LnhQo63T4sCIuBm4kqe6+rbpsb7v7z/0za8PkZtowvZYYL+IWGU4oY5oaT7344Gryy9WXRntWDDe9jFVbFjW+38D52fmZPYCqvsDVQ+qd09gmdOpEkz7AP/eRlBjKcnGK4G/GmF2fZjBVOoVOpJ9gHmlUX4m1Tqdqh4BXkjVY2B14Op4aqhs5+ptgNJbYarEug9VEpHyfyr0VOs3VlvwSarhHLOBlTLzZ33L9vZjv6TqiXPDkGMbq23fP0Tu8tq819WOye9hSb2eWbPpYB/Wk5n3ABtTDZf7I3BJ1K5zNFlhjFP++Yj4KdWw/iNHqdumYZ2rDHvo3kgG3l5ZfLghLH7selspG++zaVOvjbU+8FXgn/orRMRmJWFzRy/xV/a/NwH/0lZgA5wDXEc1NG/vzOytq6P71n8XozFGPR6M064ZKhNMQES8kOoAN14vhMfKBvMCqp3IYt0cM/P3VJnaD1P9+tqGW6hOyhaJiD8Fng8s4KnxwC+vd5OdqjLzUmAlqt5WU83NVON+AcjM/al+LZjRWURj+2eqE7g/qRdmNexobmbuStWV86VdBFfUD+LvL9+ZXvfX72XmoVTdi9/SYYx1I65TqoPIplRxnlx+WZ1qlthXlOnFrg2X1bWNvsFwu233W5rP/Y/lb9JM4FjQM9r2MVX0GptbZOZhHcbxR6rrpmwVER8fZIHMvJ8qMfUGqh4OXfgs1TCH8U4abgb+fDJ+FRzj9ZfotVJ6V20EXBwRP6M60e06+TBmGyYzH83MszLz76h6NO3UQYw9Y7YBpkKsUQ1v3hY4qXzGH6X6rk3Gie4wzaP6sWOkS0v0rsG0IfDyKBfVHaIx2/ZLKzOvorpu1JqlN0HbRtwPlFgez8zvZOZHqfZrk309vl+x5KUEVqe6DiRUiY8XU+1ve71Y7gCeP8KPX0u0Y9o2gXOVLYBby+OB2mBLYdjb60ifzSoM5zpd452z1p0HvKY8XrTvzcwby/v9DtVn0DMZbcSxzgFelpnb9CWdOzXg8WDQdk0jy3yCKSJmUGV4j6tlIMeUmb+lymh+uAz5qPsicHBmPjTcSBe5BFg5nrqTxfLlNU+huhbMdHQ41bVhpppLqa4D8r5a2cqjVe5a2eZOp9ZLICJ2iHIB6qguLLgGtetGTAVR3emuPrzgZVTXYOncSOu0b/55VL1yJmVM8wQdD7wzIl4Gi4bNHskIvxABR1FdjLJ/f9aaqfa5L+WxYMztQ08px82dqbqcD7q+/oHqeNrJ0LOshvPdArx5nHp3UO0HPh1RXb8rqru27DzWckN0KfDMWPwukZtTnbAflpkzy986wDoR8YJJimskY7VhtoiI1Ur5ilQXpu/yWDBqGyAiXj1FYt0T+FpmvqB8xutT3XRm/Q5iaeJy4P8xRk+frK5lcwhVT5yhG6dtv7QOAQZKqg/BiPuBiPjLiFinTC9HddOHSd1WS4/l+yJi2xLH6lTD4X7QV/U4YLmI2D6ra8meChzVS96X/cbKVO91so15rlL2uZ+iantB1dY6srS9KG2xdzKkXjdD3F6/D+zSS+RFxB7A9UM67k7knHVrqqQiVPuCL8TidwxciUk2Ddt44x4PBm3XNLWsJph6Y21vphoj/Z/Ap2vz+6+7scRtRTPzWuAG+n4NzMybM/PUtgIvJz67A3tFxO3AT4HfMXkHsInqH9f8uf4KWV1vZeEIy3aqrOvdgL+M6taeV1Ed7A7uNrIxfZHFLzb3RuCmiLgeuIjqV6L7O4lsdM8GTo3qFsQ3UDXUD+s2pMX0r9N+nwEOim7vInFg3/dsZmbeB+wLfCUifkI1RGluZn67f+HScD+b6lo5k2UqfO6NjwWMv32oKI21HYBPDtILITN/mJnnjPbu0NAAAANESURBVFevZUcw2J1D30M1XGFBVLeKPoXBe8I1UmsXvL4MI7iZqoH+Wqrvdd3ZdHgh6HHaMBsC/xURNwLXUiXtzuw41tHaAFMl1n1Y8jM+kyoJs3FE3FP76w2P/Nda2RWTFOeYbcGsfKEci8ZyDtUJ6zbj1FsqI7Tt+6/BNKEh0aXX0GXj12xujP3A5sC3y37pBqqe7MdNRkx93gF8KqqhRZcCn86+Gz6U91BP5HyMav/w07K/2AvYfdAfgSZgac9VtomIayPiNqrE0gcy85JS/zyq3lg/LG2wrwD7lrbZUIx2LjqGz/e9zxWzGnJ6HPCDeOq6TSMN+Vya+MY7Z+21sa4H3k65q3FZ18cC3yltxB9S9S6/aBhxTdB0auONdTyoG7Rds9Ri+N9RSZIkSZIkLUuW1R5MkiRJkiRJGhITTJIkSZIkSWrEBJMkSZIkSZIaMcEkSZIkSZKkRkwwSZIkSZIkqRETTJIkSS2LiMMi4iNdxyFJktQWE0ySJEmSJElqxASTJEnSkEXEOyLihoi4PiK+1jfvbyLi6jLvzIhYuZTvFRE3lfLvl7JNI+KqiLiuPN9GXbwfSZKk8URmdh2DJEnS00ZEbAqcDbwqMx+MiNWBDwCPZuYXImKNzPxVqXs48MvM/FJE3AjskJn3RsSqmflIRHwJ+FFmfj0iVgSWz8zHunpvkiRJo7EHkyRJ0nBtC3wrMx8EyMyH+ua/NCIuLwmltwGblvL/Bk6JiL8Bli9lVwAfj4iDgReYXJIkSVOVCSZJkqTJdQpwQGZuBnwaeBZAZr4X+CSwPnBN6en0DWAX4DHggojYtpuQJUmSxmaCSZIkabguBfaKiDUAyhC5ulWA+yLiGVQ9mCj1NszMKzPzH4CFwPoR8ULgzsw8FjgX2HxS3oEkSdIErdB1AJIkSU8nmXlzRBwB/FdEPAlcC/ysVuVTwJVUSaQrqRJOAJ8vF/EO4BLgeuBg4O0R8QfgfuCzk/ImJEmSJsiLfEuSJEmSJKkRh8hJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhoxwSRJkiRJkqRGTDBJkiRJkiSpERNMkiRJkiRJasQEkyRJkiRJkhoxwSRJkiRJkqRG/g9XNdZtkvcytwAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -906,14 +847,14 @@ "# URO: 비뇨기과 / ALL: 알레르기 내과 / NPH: 신장내과 / OEM:직업환경의학과 / COAN: 대장항문외과\n", "# LAB: 진단검사의학과 " ], - "execution_count": 21, + "execution_count": 20, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "xebYAPY8tVri", - "outputId": "a1e8d697-953d-4afe-f823-72961ccb47f3", + "outputId": "90cb60f7-924c-4be1-baf8-79d3890408ee", "colab": { "base_uri": "https://localhost:8080/", "height": 204 @@ -932,7 +873,7 @@ "test_data['label'] = test_data['class'].map(class_to_label)\n", "train_data.head()" ], - "execution_count": 22, + "execution_count": 21, "outputs": [ { "output_type": "execute_result", @@ -963,52 +904,52 @@ " \n", " \n", " \n", - " 29641\n", - " 손가락에 뭐가 생겼어요\n", - " DERM\n", - " 0\n", + " 18266\n", + " 4번 요추 디스크가 있고 엉덩이와 종아리 통증이 있는데. 어떤 치료를 받아야 ...\n", + " NS\n", + " 11\n", " \n", " \n", - " 29922\n", - " 뜨거운 물 손등 흉 질문\n", - " DERM\n", - " 0\n", + " 21585\n", + " 왼쪽 팔 통증과 저림 증상\n", + " NR\n", + " 5\n", " \n", " \n", - " 36676\n", - " 조갑주위염때문에요\n", + " 33379\n", + " 발바닥 갈색 반점 뭔가요?\n", " DERM\n", " 0\n", " \n", " \n", - " 28002\n", - " 나이 30 키 175 몸무게 90조금이라도 피곤하 ...\n", - " OPH\n", - " 4\n", + " 781\n", + " 요가 운동할때 위 신물\n", + " GI\n", + " 3\n", " \n", " \n", - " 65318\n", - " 코막힘증상 때문에 두통이 있습니다\n", - " ENT\n", - " 6\n", + " 681\n", + " 이유없이 흉부가 아파요\n", + " CA\n", + " 20\n", " \n", " \n", "\n", "" ], "text/plain": [ - " symptom class label\n", - "29641 손가락에 뭐가 생겼어요 DERM 0\n", - "29922 뜨거운 물 손등 흉 질문 DERM 0\n", - "36676 조갑주위염때문에요 DERM 0\n", - "28002 나이 30 키 175 몸무게 90조금이라도 피곤하 ... OPH 4\n", - "65318 코막힘증상 때문에 두통이 있습니다 ENT 6" + " symptom class label\n", + "18266 4번 요추 디스크가 있고 엉덩이와 종아리 통증이 있는데. 어떤 치료를 받아야 ... NS 11\n", + "21585 왼쪽 팔 통증과 저림 증상 NR 5\n", + "33379 발바닥 갈색 반점 뭔가요? DERM 0\n", + "781 요가 운동할때 위 신물 GI 3\n", + "681 이유없이 흉부가 아파요 CA 20" ] }, "metadata": { "tags": [] }, - "execution_count": 22 + "execution_count": 21 } ] }, @@ -1019,7 +960,7 @@ "is_executing": false }, "id": "Qp8FFTGtOtt1", - "outputId": "276b7235-7cbe-4d11-d207-7232ae4b7c2b", + "outputId": "3c42d752-298d-4397-ee71-67cdfc6b34c0", "colab": { "base_uri": "https://localhost:8080/", "height": 459 @@ -1031,37 +972,37 @@ "for i in range(num_classes):\n", " print(\"증상 개수: {}\".format(train_data['class'].value_counts()[i]))" ], - "execution_count": 23, + "execution_count": 22, "outputs": [ { "output_type": "stream", "text": [ - "증상 개수: 8113\n", - "증상 개수: 7293\n", - "증상 개수: 4903\n", - "증상 개수: 4040\n", - "증상 개수: 3403\n", - "증상 개수: 3112\n", - "증상 개수: 2922\n", - "증상 개수: 2797\n", - "증상 개수: 2395\n", - "증상 개수: 2271\n", - "증상 개수: 1722\n", - "증상 개수: 1559\n", - "증상 개수: 1546\n", - "증상 개수: 1529\n", - "증상 개수: 1074\n", - "증상 개수: 973\n", - "증상 개수: 916\n", - "증상 개수: 800\n", - "증상 개수: 760\n", - "증상 개수: 521\n", - "증상 개수: 478\n", - "증상 개수: 379\n", + "증상 개수: 8138\n", + "증상 개수: 4923\n", + "증상 개수: 4064\n", + "증상 개수: 2902\n", + "증상 개수: 2477\n", + "증상 개수: 2452\n", + "증상 개수: 2282\n", + "증상 개수: 1622\n", + "증상 개수: 1547\n", + "증상 개수: 1312\n", + "증상 개수: 1067\n", + "증상 개수: 1034\n", + "증상 개수: 982\n", + "증상 개수: 936\n", + "증상 개수: 892\n", + "증상 개수: 880\n", + "증상 개수: 776\n", + "증상 개수: 570\n", + "증상 개수: 523\n", + "증상 개수: 417\n", "증상 개수: 334\n", - "증상 개수: 234\n", - "증상 개수: 208\n", - "증상 개수: 198\n" + "증상 개수: 226\n", + "증상 개수: 218\n", + "증상 개수: 182\n", + "증상 개수: 94\n", + "증상 개수: 57\n" ], "name": "stdout" } @@ -1080,7 +1021,7 @@ "# 데이터를 띄어쓰기 기준으로 나눠서 그 개수를 하나의 변수로 할당한다.\n", "train_word_counts = train_data['symptom'].astype(str).apply(lambda x:len(x.split(' ')))" ], - "execution_count": 24, + "execution_count": 23, "outputs": [] }, { @@ -1090,7 +1031,7 @@ "is_executing": false }, "id": "B7NsExhPOtt5", - "outputId": "1c94aa60-64ab-46d8-e2f3-02ec45d51ad8", + "outputId": "16aa4852-7ca6-42e1-8a3f-8c0a6a0cd4e7", "colab": { "base_uri": "https://localhost:8080/", "height": 645 @@ -1105,7 +1046,7 @@ "plt.xlabel('Number of symptom', fontsize=15)\n", "plt.ylabel('Number of symptom', fontsize=15)" ], - "execution_count": 25, + "execution_count": 24, "outputs": [ { "output_type": "execute_result", @@ -1117,12 +1058,12 @@ "metadata": { "tags": [] }, - "execution_count": 25 + "execution_count": 24 }, { "output_type": "display_data", "data": { - "image/png": "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VYaAAuyCqnphukklvpRu8e4XphsC+pZp1rUnBpNpvDDJB9LdM/jAdENMXy/8sS+pqkPS9RA+L13P3BumWxHA7BEAAXZNSzds7wfSTXzyoXSLiE9yCOikXZduZspfTrKQbrbCk5P83jSLgt1wr3T/kPGlJL88GHILwBBDQAEAAHrCJDAAAAA9MXdDQG9729u2o48+etplAAAATMV55513RWvt8NW2zV0APProo7N9+/ZplwEAADAVVbXm8kKGgAIAAPSEAAgAANATAiAAAEBPzN09gAAAQL9997vfzY4dO3LttddOu5SJOvDAA7Nx48bsv//+Ix8jAAIAAHNlx44dOeSQQ3L00UenqqZdzkS01nLllVdmx44dOeaYY0Y+zhBQAABgrlx77bU57LDD5jb8JUlV5bDDDtvlXk4BEAAAmDvzHP6W7c57FAABAAB6QgAEAADmW9V4Hztx1VVX5dRTT93lMh/1qEflqquu2p13ODIBEAAAYIzWCoDXX3/9usedeeaZufWtbz2pspKYBRQAAGCsTjrppPzbv/1b7nGPe2T//ffPgQcemEMPPTQXXnhhPv/5z+exj31sLr300lx77bV53vOely1btiRJjj766Gzfvj3f/OY3c+KJJ+YBD3hAPvKRj+TII4/M29/+9hx00EF7XJseQAAAgDH60z/90/zgD/5gPvnJT+YVr3hFPv7xj+fkk0/O5z//+STJ6aefnvPOOy/bt2/Pa17zmlx55ZU3O8dFF12U5zznOTn//PNz61vfOm95y1vGUpseQAAAgAk67rjjbrJW32te85r8/d//fZLk0ksvzUUXXZTDDjvsJsccc8wxucc97pEkude97pVLLrlkLLUIgAAAABN0q1vd6obfzzrrrLzvfe/LOeeck4MPPjjHH3/8qmv53fKWt7zh9/322y/XXHPNWGoxBBQAAGCMDjnkkFx99dWrbltaWsqhhx6agw8+OBdeeGH+5V/+Za/WpgcQAACYb63t1Zc77LDDcv/73z93v/vdc9BBB+V2t7vdDdtOOOGEnHbaabnrXe+au9zlLrnvfe+7V2urtpc/jElbXFxs27dvn3YZAADAlFxwwQW5613vOu0y9orV3mtVnddaW1xtf0NAAQAAekIABAAA6AkBEAAAmDvzdqvbanbnPQqAAADAXDnwwANz5ZVXznUIbK3lyiuvzIEHHrhL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\n", + "image/png": "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uekmlfhyusW7n5tuCOibZ1nX3ugn03hukg+ku2fwPumGmL5O+GN/UlWHp+shfGa6nrnXz7YigLVHAATYPS3dsL0fSTfxyYfTLSI+zSGg03ZNupkpfz3JQrrZCl+V5A9nWRTsgbum+4eMLyf59X7ILQAjDAEFAAAYCJPAAAAADMTcDQG9xS1u0Y455phZlwEAADAT55xzzuWttSOW2zd3AfCYY47Jtm3bZl0GAADATFTVissLGQIKAAAwEAIgAADAQAiAAAAAAzF39wACAADD9r3vfS/bt2/P1VdfPetSpuqQQw7J+vXrc9BBB439HAEQAACYK9u3b8/hhx+eY445JlU163KmorWWHTt2ZPv27Tn22GPHfp4hoAAAwFy5+uqrs27durkNf0lSVVm3bt1u93IKgAAAwNyZ5/C30568RwEQAABgIARAAABgvlVN9rELV1xxRU499dTdLvNhD3tYrrjiij15h2MTAAEAACZopQB47bXXrvq8M888Mze96U2nVVYSs4ACAABM1Mknn5x/+7d/y53vfOccdNBBOeSQQ3Kzm90sF1xwQb7whS/kkY98ZC655JJcffXVeeYzn5nNmzcnSY455phs27Yt3/rWt3LiiSfm3ve+dz760Y/mqKOOytve9rYceuihe12bHkAAAIAJ+vM///P86I/+aD7zmc/kpS99aT71qU/lVa96Vb7whS8kSU4//fScc8452bZtW1796ldnx44dNzjHhRdemKc//ek577zzctOb3jRvfvObJ1KbHkAAAIApOv7446+3Vt+rX/3q/MM//EOS5JJLLsmFF16YdevWXe85xx57bO585zsnSe5617vm4osvnkgtAiAAAMAU3eQmN/nB72eddVbe97735WMf+1gOO+yw3P/+9192Lb8b3/jGP/j9gAMOyFVXXTWRWgwBBQAAmKDDDz88V1555bL7FhcXc7Ob3SyHHXZYLrjggnz84x/fp7XpAQQAAOZba/v05datW5d73eteudOd7pRDDz00t7zlLX+w74QTTshpp52WO9zhDrn97W+fe9zjHvu0tmr7+MPYXVV1kyQfTPLC1to7dnX8xo0b27Zt26ZfGAAAsCadf/75ucMd7jDrMvaJ5d5rVZ3TWtu43PH7fAhoVZ1eVZdW1blL2k+oqs9X1UVVdfLIruckedO+rRIAAGD+zOIewDOSnDDaUFUH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\n", "text/plain": [ "
" ] @@ -1141,7 +1082,7 @@ "is_executing": false }, "id": "aSjyoSNQOtt8", - "outputId": "34ee116d-e22e-4c92-e82f-c5abb6864293", + "outputId": "9cf34cd1-8cab-4696-aca6-e88bf9c01bed", "colab": { "base_uri": "https://localhost:8080/", "height": 136 @@ -1157,15 +1098,15 @@ "print('증상 단어 개수 제 1 사분위: {}'.format(np.percentile(train_word_counts, 25)))\n", "print('증상 단어 개수 제 3 사분위: {}'.format(np.percentile(train_word_counts, 75)))" ], - "execution_count": 26, + "execution_count": 25, "outputs": [ { "output_type": "stream", "text": [ - "증상 단어 개수 최대 값: 53\n", + "증상 단어 개수 최대 값: 52\n", "증상 단어 개수 최소 값: 1\n", - "증상 단어 개수 평균 값: 4.75\n", - "증상 단어 개수 표준편차: 2.81\n", + "증상 단어 개수 평균 값: 4.68\n", + "증상 단어 개수 표준편차: 2.78\n", "증상 단어 개수 중간 값: 4.0\n", "증상 단어 개수 제 1 사분위: 3.0\n", "증상 단어 개수 제 3 사분위: 6.0\n" @@ -1181,7 +1122,7 @@ "is_executing": false }, "id": "0g2X2ZxHOtt9", - "outputId": "a39e2862-4d2e-455a-d425-a8904ea6d067", + "outputId": "14f35bbc-6b93-4141-ed51-1beb5d6ce8a7", "colab": { "base_uri": "https://localhost:8080/", "height": 51 @@ -1195,13 +1136,13 @@ "print('물음표가있는 질문: {:.2f}%'.format(qmarks * 100))\n", "print('마침표가 있는 질문: {:.2f}%'.format(fullstop * 100))" ], - "execution_count": 27, + "execution_count": 26, "outputs": [ { "output_type": "stream", "text": [ - "물음표가있는 질문: 18.07%\n", - "마침표가 있는 질문: 30.57%\n" + "물음표가있는 질문: 18.89%\n", + "마침표가 있는 질문: 29.00%\n" ], "name": "stdout" } @@ -1220,7 +1161,7 @@ "cell_type": "code", "metadata": { "id": "sSW5G8i_OANS", - "outputId": "272235ea-7f6f-4ada-dfd5-cae69b719aaf", + "outputId": "f357eedf-cf77-4a4c-c0b2-9f1f9b10074a", "colab": { "base_uri": "https://localhost:8080/", "height": 394 @@ -1230,32 +1171,32 @@ "# installing transforemrs\n", "!pip install transformers" ], - "execution_count": 28, + "execution_count": 27, "outputs": [ { "output_type": "stream", "text": [ "Requirement already satisfied: transformers in /usr/local/lib/python3.6/dist-packages (3.4.0)\n", - "Requirement already satisfied: dataclasses; python_version < \"3.7\" in /usr/local/lib/python3.6/dist-packages (from transformers) (0.7)\n", - "Requirement already satisfied: sentencepiece!=0.1.92 in /usr/local/lib/python3.6/dist-packages (from transformers) (0.1.94)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.6/dist-packages (from transformers) (3.0.12)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from transformers) (1.18.5)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.6/dist-packages (from transformers) (20.4)\n", "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.6/dist-packages (from transformers) (2019.12.20)\n", + "Requirement already satisfied: tokenizers==0.9.2 in /usr/local/lib/python3.6/dist-packages (from transformers) (0.9.2)\n", + "Requirement already satisfied: dataclasses; python_version < \"3.7\" in /usr/local/lib/python3.6/dist-packages (from transformers) (0.7)\n", "Requirement already satisfied: protobuf in /usr/local/lib/python3.6/dist-packages (from transformers) (3.12.4)\n", + "Requirement already satisfied: sentencepiece!=0.1.92 in /usr/local/lib/python3.6/dist-packages (from transformers) (0.1.94)\n", "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.6/dist-packages (from transformers) (4.41.1)\n", - "Requirement already satisfied: tokenizers==0.9.2 in /usr/local/lib/python3.6/dist-packages (from transformers) (0.9.2)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from transformers) (2.23.0)\n", "Requirement already satisfied: sacremoses in /usr/local/lib/python3.6/dist-packages (from transformers) (0.0.43)\n", - "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from packaging->transformers) (1.15.0)\n", - "Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.6/dist-packages (from packaging->transformers) (2.4.7)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from transformers) (1.18.5)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.6/dist-packages (from transformers) (3.0.12)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from transformers) (2.23.0)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.6/dist-packages (from transformers) (20.4)\n", + "Requirement already satisfied: six>=1.9 in /usr/local/lib/python3.6/dist-packages (from protobuf->transformers) (1.15.0)\n", "Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from protobuf->transformers) (50.3.0)\n", - "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (1.24.3)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.6/dist-packages (from sacremoses->transformers) (0.16.0)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.6/dist-packages (from sacremoses->transformers) (7.1.2)\n", "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (3.0.4)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (2020.6.20)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (1.24.3)\n", "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (2.10)\n", - "Requirement already satisfied: click in /usr/local/lib/python3.6/dist-packages (from sacremoses->transformers) (7.1.2)\n", - "Requirement already satisfied: joblib in /usr/local/lib/python3.6/dist-packages (from sacremoses->transformers) (0.16.0)\n" + "Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.6/dist-packages (from packaging->transformers) (2.4.7)\n" ], "name": "stdout" } @@ -1273,7 +1214,7 @@ "import tensorflow as tf \n", "from transformers import *" ], - "execution_count": 29, + "execution_count": 28, "outputs": [] }, { @@ -1292,7 +1233,7 @@ " plt.legend([string, 'val_'+string])\n", " plt.show()" ], - "execution_count": 30, + "execution_count": 29, "outputs": [] }, { @@ -1311,7 +1252,7 @@ "# DATA_IN_PATH = 'data_in/KOR' ## EDA \n", "DATA_OUT_PATH = \"/content/drive/My Drive/DataCollection/OSAM\"" ], - "execution_count": 31, + "execution_count": 30, "outputs": [] }, { @@ -1322,7 +1263,7 @@ "source": [ "tokenizer = BertTokenizer.from_pretrained(\"bert-base-multilingual-cased\", cache_dir='bert_ckpt', do_lower_case=False)" ], - "execution_count": 32, + "execution_count": 31, "outputs": [] }, { @@ -1338,7 +1279,7 @@ "cell_type": "code", "metadata": { "id": "um3Uyw6sL_UF", - "outputId": "2efe4e83-40f0-49d5-cd76-d3e72beb415e", + "outputId": "d1a01459-3c7a-4f76-df8a-cb5188f1af79", "colab": { "base_uri": "https://localhost:8080/", "height": 51 @@ -1353,7 +1294,7 @@ "print(encode)\n", "print(token_print)" ], - "execution_count": 33, + "execution_count": 32, "outputs": [ { "output_type": "stream", @@ -1369,7 +1310,7 @@ "cell_type": "code", "metadata": { "id": "Nhg3buN2L_UN", - "outputId": "7ccdf6aa-4590-407e-d339-eec100bf978e", + "outputId": "00894be1-9883-4116-d3f8-3128cf00545e", "colab": { "base_uri": "https://localhost:8080/", "height": 119 @@ -1391,7 +1332,7 @@ "print(kor_decode)\n", "print(eng_decode)" ], - "execution_count": 34, + "execution_count": 33, "outputs": [ { "output_type": "stream", @@ -1444,14 +1385,14 @@ " \n", " return input_id, attention_mask, token_type_id" ], - "execution_count": 35, + "execution_count": 34, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "YNYfpctLL_UR", - "outputId": "0ecad38d-1fb8-4e06-8e23-410d4e4c914f", + "outputId": "85dff055-528e-48ee-d65e-9bf78d580263", "colab": { "base_uri": "https://localhost:8080/", "height": 105 @@ -1489,30 +1430,23 @@ "\n", "print(\"# sents: {}, # labels: {}\".format(len(train_symptom_input_ids), len(train_data_labels)))" ], - "execution_count": 36, + "execution_count": 35, "outputs": [ { "output_type": "stream", "text": [ - " 0%| | 0/54480 [00:00.......................] - ETA: 5:26 - loss: 0.3378 - accuracy: 0.8925" + "1279/1279 [==============================] - ETA: 0s - loss: 0.4036 - accuracy: 0.8755\n", + "Epoch 00006: val_accuracy did not improve from 0.76288\n", + "1279/1279 [==============================] - 351s 275ms/step - loss: 0.4036 - accuracy: 0.8755 - val_loss: 0.9782 - val_accuracy: 0.7611\n", + "{'loss': [1.4687039852142334, 0.9040637612342834, 0.725853681564331, 0.6123639941215515, 0.4969653785228729, 0.4036155045032501], 'accuracy': [0.6011196374893188, 0.7472071051597595, 0.7892780900001526, 0.8188329339027405, 0.8500256538391113, 0.8754980564117432], 'val_loss': [1.0281821489334106, 0.947139322757721, 0.8794780373573303, 0.8909288644790649, 0.9324986934661865, 0.9782273173332214], 'val_accuracy': [0.717610239982605, 0.7401975393295288, 0.7564290761947632, 0.7628825902938843, 0.7580913305282593, 0.7611225247383118]}\n" ], "name": "stdout" - }, - { - "output_type": "error", - "ename": "KeyboardInterrupt", - "evalue": "ignored", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0mvalidation_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_symptom_inputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtest_data_labels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0mvalidation_steps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_data_labels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mBATCH_SIZE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 27\u001b[0;31m callbacks=[cp_callback, earlystop_callback]) ## Cannot use in transformers of TF 2.3 -- NO. WE CAN USE THIS\n\u001b[0m\u001b[1;32m 28\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0;31m#steps_for_epoch\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py\u001b[0m in \u001b[0;36m_method_wrapper\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 106\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_method_wrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 107\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_in_multi_worker_mode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# pylint: disable=protected-access\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 108\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 109\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 110\u001b[0m \u001b[0;31m# Running inside `run_distribute_coordinator` already.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)\u001b[0m\n\u001b[1;32m 1096\u001b[0m batch_size=batch_size):\n\u001b[1;32m 1097\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_train_batch_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1098\u001b[0;31m \u001b[0mtmp_logs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtrain_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1099\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshould_sync\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1100\u001b[0m \u001b[0mcontext\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masync_wait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/def_function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 778\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 779\u001b[0m \u001b[0mcompiler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"nonXla\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 780\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 781\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 782\u001b[0m \u001b[0mnew_tracing_count\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/def_function.py\u001b[0m in \u001b[0;36m_call\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 805\u001b[0m \u001b[0;31m# In this case we have created variables on the first call, so we run the\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 806\u001b[0m \u001b[0;31m# defunned version which is guaranteed to never create variables.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 807\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_stateless_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# pylint: disable=not-callable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 808\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_stateful_fn\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 809\u001b[0m \u001b[0;31m# Release the lock early so that multiple threads can perform the call\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2827\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_lock\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2828\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_define_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2829\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_filtered_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# pylint: disable=protected-access\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2830\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2831\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m_filtered_call\u001b[0;34m(self, args, kwargs, cancellation_manager)\u001b[0m\n\u001b[1;32m 1846\u001b[0m resource_variable_ops.BaseResourceVariable))],\n\u001b[1;32m 1847\u001b[0m \u001b[0mcaptured_inputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcaptured_inputs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1848\u001b[0;31m cancellation_manager=cancellation_manager)\n\u001b[0m\u001b[1;32m 1849\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1850\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_call_flat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcaptured_inputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcancellation_manager\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m_call_flat\u001b[0;34m(self, args, captured_inputs, cancellation_manager)\u001b[0m\n\u001b[1;32m 1922\u001b[0m \u001b[0;31m# No tape is watching; skip to running the function.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1923\u001b[0m return self._build_call_outputs(self._inference_function.call(\n\u001b[0;32m-> 1924\u001b[0;31m ctx, args, cancellation_manager=cancellation_manager))\n\u001b[0m\u001b[1;32m 1925\u001b[0m forward_backward = self._select_forward_and_backward_functions(\n\u001b[1;32m 1926\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36mcall\u001b[0;34m(self, ctx, args, cancellation_manager)\u001b[0m\n\u001b[1;32m 548\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 549\u001b[0m \u001b[0mattrs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mattrs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 550\u001b[0;31m ctx=ctx)\n\u001b[0m\u001b[1;32m 551\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 552\u001b[0m outputs = execute.execute_with_cancellation(\n", - "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/execute.py\u001b[0m in \u001b[0;36mquick_execute\u001b[0;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mensure_initialized\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,\n\u001b[0;32m---> 60\u001b[0;31m inputs, attrs, num_outputs)\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_NotOkStatusException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] } ] }, { "cell_type": "code", "metadata": { - "id": "La8mxTmYD3X8" + "id": "La8mxTmYD3X8", + "outputId": "79223b3a-a554-4658-e7bd-57ec87595d37", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 279 + } }, "source": [ "plot_graphs(history, 'loss')" ], - "execution_count": null, - "outputs": [] + "execution_count": 41, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] }, { "cell_type": "code", "metadata": { - "id": "7U1VvHZy0CFr" + "id": "7U1VvHZy0CFr", + "outputId": "175da7c5-9f3b-4b83-b2fb-643bba51ef29", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 279 + } }, "source": [ "plot_graphs(history, 'accuracy')" ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "GhrMTI1ZCyng" - }, - "source": [ - "## HOW TO SAVE... for tf 2.3\n", - "# checkpoint_path = os.path.join(DATA_OUT_PATH, model_name, 'my_BERT_model.h5')\n", - "# checkpoint_dir = os.path.dirname(checkpoint_path)\n", - "\n", - "# if os.path.exists(checkpoint_dir):\n", - "# print(\"{} -- Folder already exists \\n\".format(checkpoint_dir))\n", - "# else:\n", - "# os.makedirs(checkpoint_dir, exist_ok=True)\n", - "# print(\"{} -- Folder create complete \\n\".format(checkpoint_dir))\n", - "\n", - "# cls_model.save_weights(checkpoint_path) \n" - ], - "execution_count": null, - "outputs": [] + "execution_count": 42, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] }, { "cell_type": "markdown", @@ -1844,23 +1768,20 @@ { "cell_type": "code", "metadata": { - "id": "3pyAqjwxvoVd" + "id": "IGLzpu9n-3SP" }, "source": [ - "## To load a best weights from a saved file (.h5) ====> for tf 2.1\n", - "# cls_model.load_weights(checkpoint_path)\n", - "\n", - "## To load a model file ) ====> for tf 2.3\n", - "#new_model = tf.keras.models.load_model('my_model.h5')" + "# To load a model file\n", + "cls_model.load_weights(checkpoint_path)" ], - "execution_count": null, + "execution_count": 60, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "9EygcsV4OTYx", - "outputId": "ec976c00-c7a4-4397-fc4e-065e31e7d2c9", + "outputId": "bfb63f24-fa3f-455e-cf3a-ffedb612a261", "colab": { "base_uri": "https://localhost:8080/", "height": 459 @@ -1871,7 +1792,7 @@ "label_to_class = {v:k for k,v in class_to_label.items()} \n", "label_to_class" ], - "execution_count": 42, + "execution_count": 61, "outputs": [ { "output_type": "execute_result", @@ -1908,7 +1829,7 @@ "metadata": { "tags": [] }, - "execution_count": 42 + "execution_count": 61 } ] }, @@ -1933,27 +1854,20 @@ " y_label = tf.argmax(output_prob).numpy()\n", " y_prob = output_prob[y_label]\n", " y_class = label_to_class.get(y_label)\n", - "\n", - " # y_output = cls_model.predict(new_symptom_input) ##Hugging face document에 따라 predict를 빼고 진행함.\n", - " # y_pred = y_output[0] # The last hidden-state is the first element of the output tuple\n", - " # y_label = y_pred.argmax(axis=-1)\n", - " # y_prob = y_pred[y_label] \n", - " # y_class = label_to_class.get(y_label) ### normalize가 필요한 것으로 생각됨. (softmax함수가 아님..)\n", - " # loss, acc_score = cls_model.evaluate(new_symptom_input)\n", " \n", " if(y_prob > 0.5):\n", " print(\"{:.2f}% 확률로 {}과를 방문하셔야합니다.\\n\".format(y_prob * 100, y_class))\n", " else:\n", " print(\"증상을 좀 더 자세히 적어주세요.\")\n" ], - "execution_count": 43, + "execution_count": 62, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "vDBo00krrw0A", - "outputId": "26f3b5ab-d55f-41d0-9ab2-83ea00b381de", + "outputId": "b0d760e4-5060-4045-9ab0-3d16b6a6f874", "colab": { "base_uri": "https://localhost:8080/", "height": 105 @@ -1963,12 +1877,12 @@ "input_sentence = \"통풍으로 엄지발가락이 부었어요\"\n", "specialty_predict(input_sentence)" ], - "execution_count": 52, + "execution_count": 63, "outputs": [ { "output_type": "stream", "text": [ - "77.14% 확률로 DERM과를 방문하셔야합니다.\n", + "98.65% 확률로 RHEU과를 방문하셔야합니다.\n", "\n" ], "name": "stdout" @@ -1987,7 +1901,7 @@ "cell_type": "code", "metadata": { "id": "6ujlK3dQbcG7", - "outputId": "1654e3b6-91e2-43e4-da61-41e5323123ab", + "outputId": "ee0e8f5c-43de-468f-bfc5-5a30a1b46e44", "colab": { "base_uri": "https://localhost:8080/", "height": 105 @@ -1997,12 +1911,12 @@ "input_sentence = \"잠이 너무 안와서 다음날 몽롱해요\"\n", "specialty_predict(input_sentence)" ], - "execution_count": 45, + "execution_count": 64, "outputs": [ { "output_type": "stream", "text": [ - "99.92% 확률로 PSY과를 방문하셔야합니다.\n", + "63.22% 확률로 PSY과를 방문하셔야합니다.\n", "\n" ], "name": "stdout" @@ -2021,7 +1935,7 @@ "cell_type": "code", "metadata": { "id": "o9gFndtobcaK", - "outputId": "c5b6d2ed-67c2-4a40-acdc-f350ddffe81a", + "outputId": "4c54b252-603b-42b0-c30c-4e75eeb231ed", "colab": { "base_uri": "https://localhost:8080/", "height": 105 @@ -2031,23 +1945,23 @@ "input_sentence = \"오래된 이명과 비염이 있어요\"\n", "specialty_predict(input_sentence)" ], - "execution_count": 46, + "execution_count": 65, "outputs": [ { "output_type": "stream", "text": [ - "/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py:1944: 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", - " FutureWarning,\n" + "99.17% 확률로 ENT과를 방문하셔야합니다.\n", + "\n" ], - "name": "stderr" + "name": "stdout" }, { "output_type": "stream", "text": [ - "65.45% 확률로 ENT과를 방문하셔야합니다.\n", - "\n" + "/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py:1944: 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", + " FutureWarning,\n" ], - "name": "stdout" + "name": "stderr" } ] }, @@ -2055,7 +1969,7 @@ "cell_type": "code", "metadata": { "id": "Sl3DcNhwbcoR", - "outputId": "0faff72d-8c2e-4880-b2b8-1af154392253", + "outputId": "492aa915-6a32-4cb9-da37-eb99e98abf0f", "colab": { "base_uri": "https://localhost:8080/", "height": 105 @@ -2065,90 +1979,127 @@ "input_sentence = \"뇌경색 이후에 어떤 운동을 하는게 좋은가요\"\n", "specialty_predict(input_sentence)" ], - "execution_count": 47, + "execution_count": 66, "outputs": [ { "output_type": "stream", "text": [ - "/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py:1944: 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", - " FutureWarning,\n" + "95.65% 확률로 REHM과를 방문하셔야합니다.\n", + "\n" ], - "name": "stderr" + "name": "stdout" }, { "output_type": "stream", "text": [ - "57.81% 확률로 REHM과를 방문하셔야합니다.\n", - "\n" + "/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py:1944: 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", + " FutureWarning,\n" ], - "name": "stdout" + "name": "stderr" } ] }, { "cell_type": "code", "metadata": { - "id": "frbgza-tbc9p", - "outputId": "98c7bf72-62e8-42d9-e4bf-f033f395efc9", + "id": "5ytSR1h-2uX1", + "outputId": "58779db0-3fff-49ac-e54e-cbbec5bc10fa", "colab": { "base_uri": "https://localhost:8080/", "height": 105 } }, "source": [ - "input_sentence = \"항문 주변이 따가워요\"\n", + "input_sentence = \"뇌경색 이후에 어떤 재활 운동을 하는게 좋은가요\"\n", "specialty_predict(input_sentence)" ], - "execution_count": 48, + "execution_count": 67, "outputs": [ { "output_type": "stream", "text": [ - "/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py:1944: 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", - " FutureWarning,\n" + "98.91% 확률로 REHM과를 방문하셔야합니다.\n", + "\n" ], - "name": "stderr" + "name": "stdout" }, { "output_type": "stream", "text": [ - "96.29% 확률로 GS과를 방문하셔야합니다.\n", - "\n" + "/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py:1944: 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", + " FutureWarning,\n" ], - "name": "stdout" + "name": "stderr" } ] }, { "cell_type": "code", "metadata": { - "id": "e2I4-4WVJuPX" + "id": "frbgza-tbc9p", + "outputId": "9ef41a7a-18e9-46b8-8b1f-17a61a67e6f7", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 105 + } }, "source": [ - "# 2000개까지 정리: val_acc = 0.6608\n", - "# 20571개까지 정리: val_acc = 0.6671" + "input_sentence = \"항문 주변이 좀 가려워요\"\n", + "specialty_predict(input_sentence)" ], - "execution_count": 49, - "outputs": [] + "execution_count": 68, + "outputs": [ + { + "output_type": "stream", + "text": [ + "78.87% 확률로 DERM과를 방문하셔야합니다.\n", + "\n" + ], + "name": "stdout" + }, + { + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py:1944: 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", + " FutureWarning,\n" + ], + "name": "stderr" + } + ] }, { "cell_type": "code", "metadata": { - "id": "OISfXtrW6AeJ" + "id": "IbVIEI1eAGW_", + "outputId": "7e78b7ca-87b6-46ea-c173-887ab303e156", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 105 + } }, "source": [ - " # keras 2.1의 predict나 evaluate에 문제가 있거나..아니면 데이터 부족의 문제인듯.\n", - "# 아무리 심한 Overfit이라고해도 acc 0.00은...\n", - "## 어떤 sentence를 입력해도 5번 신경과나 나옴... 어떻게 학습되냐에 따라 과가 결정되어져 버림..\n", - "\n", - "# # w_count= {}\n", - " # # for lb in y_label:\n", - " # # try: w_count[lb]+= 1\n", - " # # except: w_count[lb]=1\n", - " # # print(w_count)" + "input_sentence = \"손가락 뼈가 부러진 것 같아요\"\n", + "specialty_predict(input_sentence)" ], - "execution_count": 50, - "outputs": [] + "execution_count": 71, + "outputs": [ + { + "output_type": "stream", + "text": [ + "87.33% 확률로 OS과를 방문하셔야합니다.\n", + "\n" + ], + "name": "stdout" + }, + { + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py:1944: 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", + " FutureWarning,\n" + ], + "name": "stderr" + } + ] }, { "cell_type": "code", @@ -2159,7 +2110,7 @@ "#imbalanced data... focal loss OR weighted cross entropy OR class_weight arguement in model.fit. \n", "## focal loss: https://3months.tistory.com/414" ], - "execution_count": null, + "execution_count": 51, "outputs": [] }, { @@ -2170,7 +2121,7 @@ "source": [ "\n" ], - "execution_count": null, + "execution_count": 51, "outputs": [] } ]