From 6ea2b4b6c202b6dcefe0166e1be1590ac635e40b Mon Sep 17 00:00:00 2001 From: Sergio Jimenez Jimenez Date: Mon, 8 Dec 2025 12:29:03 +0100 Subject: [PATCH] Proper analysis --- src/paddle_ocr_fine_tune_unir_raytune.ipynb | 115 +++++++++----------- 1 file changed, 49 insertions(+), 66 deletions(-) diff --git a/src/paddle_ocr_fine_tune_unir_raytune.ipynb b/src/paddle_ocr_fine_tune_unir_raytune.ipynb index d2763ed..516c379 100644 --- a/src/paddle_ocr_fine_tune_unir_raytune.ipynb +++ b/src/paddle_ocr_fine_tune_unir_raytune.ipynb @@ -2501,7 +2501,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 35, "id": "1a7e981d", "metadata": {}, "outputs": [ @@ -2657,7 +2657,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 36, "id": "6c234f69", "metadata": {}, "outputs": [ @@ -2665,7 +2665,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\sji\\AppData\\Local\\Temp\\ipykernel_47848\\1089387451.py:16: UserWarning: `lang` and `ocr_version` will be ignored when model names or model directories are not `None`.\n", + "C:\\Users\\sji\\AppData\\Local\\Temp\\ipykernel_47848\\3956412736.py:16: UserWarning: `lang` and `ocr_version` will be ignored when model names or model directories are not `None`.\n", " ocr = PaddleOCR(\n", "\u001b[32mCreating model: ('PP-LCNet_x1_0_doc_ori', None)\u001b[0m\n", "\u001b[32mModel files already exist. Using cached files. To redownload, please delete the directory manually: `C:\\Users\\sji\\.paddlex\\official_models\\PP-LCNet_x1_0_doc_ori`.\u001b[0m\n", @@ -2683,7 +2683,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "24 out of 24 - 96.69ss\r" + "24 out of 24 - 77.74ss\r" ] } ], @@ -2714,20 +2714,17 @@ " start = time.time()\n", " image_array = np.array(img)\n", " out = ocr.predict(\n", - " image_array,\n", - " use_doc_orientation_classify=False,\n", - " use_doc_unwarping=False,\n", - " use_textline_orientation=True\n", + " image_array\n", " )\n", " out_opti = ocr.predict(\n", " image_array,\n", - " use_doc_orientation_classify=False,\n", - " use_doc_unwarping=False,\n", - " use_textline_orientation=True,\n", - " text_det_thresh=0.4690,\n", - " text_det_box_thresh=0.5412,\n", - " text_det_unclip_ratio=0.0,\n", - " text_rec_score_thresh=0.6350\n", + " use_doc_orientation_classify=best['config/use_doc_orientation_classify'],\n", + " use_doc_unwarping=best['config/use_doc_unwarping'],\n", + " use_textline_orientation=best['config/textline_orientation'],\n", + " text_det_thresh=best['config/text_det_thresh'],\n", + " text_det_box_thresh=best['config/text_det_box_thresh'],\n", + " text_det_unclip_ratio=best['config/text_det_unclip_ratio'],\n", + " text_rec_score_thresh=best['config/text_rec_score_thresh']\n", " )\n", " # ocr time and progress\n", " elapsed = time.time() - start\n", @@ -2737,14 +2734,12 @@ " paddle_text = assemble_from_paddle_result(out)\n", " paddle_adjust_text = assemble_from_paddle_result(out_opti)\n", " results.append({'Model': 'PaddleOCR', 'Prediction': paddle_text, **evaluate_text(txt, paddle_text)})\n", - " results.append({'Model': 'PaddleOCR-HyperAdjust', 'Prediction': paddle_adjust_text, **evaluate_text(txt, paddle_adjust_text)})\n", - "\n", - "\n" + " results.append({'Model': 'PaddleOCR-HyperAdjust', 'Prediction': paddle_adjust_text, **evaluate_text(txt, paddle_adjust_text)})" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 37, "id": "e00e155d", "metadata": {}, "outputs": [ @@ -2752,16 +2747,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "Benchmark results saved as ai_ocr_benchmark_finetune_results_20251208_111949.csv\n", + "Benchmark results saved as ai_ocr_benchmark_finetune_results_20251208_122426.csv\n", " WER CER\n", "Model \n", - "PaddleOCR 0.076334 0.014892\n", + "PaddleOCR 0.149400 0.077756\n", "PaddleOCR-HyperAdjust 0.076225 0.014869\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAJuCAYAAABSTNFnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAV+xJREFUeJzt3QucjGX7wPFrLbtOOUSOLeuwQk5FTinE21ZKUjmUsFRUWClZwiqF3iIVESXx5hhJ8q5Qcj4ulUIoETlnnXex8/9c9/8z887szq49zrPz7O/7+TzZ537umX3mmdnpmnuu+7oDHA6HQwAAAACbymP1CQAAAADZiYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2AFwB8aPr06RIQECBbt271i+vevXt3KVy4cKbu4/nnn5d//etfWXZOyJzGjRvLK6+8wmVErkLAC9jYhx9+aIKrRo0apdhHj/fp0ydN93flyhV5//335Y477pAbbrjBBEL6s7bpMW+uXbsmn376qbRo0UJuvPFGCQ4OltDQUImIiPAI+pyBoHPLmzevlC9f3gRchw8fTtP5jRgxwuM+8uTJI2XLlpUHH3xQNm7cmKb7QNb6448/5OOPP5YhQ4aY/ePHj5vnJjIyMllfbdNj0dHRyY517dpV8uXLJxcvXjT7+rpwf67dt/z587tut2rVKo9jgYGBUqpUKXnsscdk165d6Xos33zzjXm9FypUyLyuHn30Ufn111/TfU2OHTsmL7/8slSvXl0KFixo7q9+/fryxhtvyJkzZ1z99G8mpceot83o386gQYNk4sSJcvTo0XSfO+Cv8lp9AgCyz+eff26Cy82bN8u+ffukatWqGb6vCxcuSJs2beSHH34wAaT+z1QDypiYGBOoLFy40AQE+j9vp0uXLkn79u1Nn7vvvtsEPRr0HjhwQObNmyefffaZHDx4UG6++WbXbV5//XWpVKmSXL582QSp+j/ztWvXys6dOz0CmdRMmjTJBOOJiYly6NAhmTp1qvn9eh3q1auX4WuA9HvvvffM89myZUuzr8FmWFiYeU6TWrdunQnW9F9vx2677TYTIDrphycNppPSoDapfv36mWBVP5j99NNPMnnyZBMM6+uqTJky130cW7ZskYcfflhuvfVW+fe//y1nz56VJUuWmPaaNWum6Vo47+eBBx6Q8+fPS5cuXUygq/TD35gxY2T16tXy7bffuvrr38bo0aOT3U/RokWTtaX1b0cfR5EiRcwHYr0NkCs4ANjS77//7tA/8YULFzpuuukmx4gRI7z20z4vvPDCde/v2WefNX0/+OCDZMcmTJhgjvXu3dujXe9X2999991kt7l69arj7bffdhw6dMjsf/rpp6bvli1bPPoNGjTItM+dO/e65xgdHW36njhxwqN9586dpn3IkCEOq6X0OHOa8+fPm3+7devmKFSoUIbuIyEhwVGyZEnH0KFDPdojIiIcgYGBjnPnznn8vrx58zqeeOIJR+HChc3rw+nIkSPmmr344ouutrSe1/fff29uO3/+fI/2SZMmmfa33norTY/llVdecQQEBDiOHj3q0X758mVHWv3zzz+O8uXLO0qXLu3YtWtXsuN63yNHjnTtN2/e3HHrrbde934z8rfTp08fR8WKFR2JiYlpPn/An5HSANh4dLd48eJmVFa/vtX9jPrrr7/kk08+kXvuucdr+sMLL7xgRvB0tE37Om/z0UcfmdzN/v37ex2F06913Ud3vbnrrrvMv/v378/w+TtH8HT00F18fLz5+lxHvnW0MCQkxOQ2aru3tI9FixZJrVq1TF8d6dOR66T0K+SePXtKuXLlTD8dcXvuueckISEh2e8eMGCA3HTTTWZU/JFHHpETJ0549NHReR1N15HIBg0aSIECBaR27dpmX+mouu7r6J2OFG7fvt3j9jqSqSPxlStXNn30OvTo0UNOnTrlNRVEv55/4oknzOumWbNmKV7PHTt2mPPWr9x1pDIlOrp48uRJad26tUe73remurinmWzatEmuXr1qXhN6n/o7nJwjvqmdU3ql93Wl32Z4o89xWunfg74+xo0b55GS4FS6dGkZOnSo+OIx6t/ln3/+6XGdATsj4AVsSgNcTScICgqSzp07y969e83XqRnx3//+1wQomkeZEj2mAYszCNTb6P5TTz0lmaHpD0qDsLQ6ffq0CbQ0X1SDwGeeecYEfB06dHD10XSHtm3byjvvvCMPPfSQfPDBB9KuXTt59913pWPHjl6DN5181alTJ/OVtn5trDmc7sHjkSNHpGHDhjJnzhxzH5rbrI9f00CcuadOffv2lR9//NEE3BoQf/31114/TGgqigaheo761fY///xjftbn98UXXzRfi7/22msmqNHHp4/Lafny5fL777+bfGl9fHruem76lfr/D+57evzxx815jho1ylwzb/Q1pB98NL1An+PUJrStX7/eBNLa150zcHVPa9Cgtlq1aqavfghyT2tILeDV5znppukGWf260udRP6TpNfd27dJi8eLF5kOLfgBNK/278/YYNcUoM4/RmUrhLX0EsCWrh5gBZL2tW7earzKXL19u9vVry5tvvtkRGRmZoZSG/v37m37bt29PsU9sbKzpM2DAALOvXz9f7zbevpZdsWKFSUnQVIcvvvjCpGMEBwe7Uh/SktKQdCtWrJgjJibGo+/MmTMdefLkcaxZs8ajffLkyeY269atc7XpflBQkGPfvn2uth9//DFZikfXrl3NfXpLV3B+dex8nK1bt/b4Olmvl37Nf+bMGVebfuWsfdevX+9qW7ZsmWkrUKCA488//3S1f/TRR6Zdv8J3unjxYrLzmD17tum3evXqZNetc+fOyfq7pw6sXbvWUaRIEUebNm3S9FV+ly5dHCVKlPB6rFSpUo5WrVq59sPDw02qg+rQoYPj8ccfdx1r0KCBIywsLNl5eXuuddP7SprSMG3aNPO60vQIfS1UrVrVpChs3rzZkRaLFi1yFCxY0DxHztd4ehUvXtxRt27dNPfXlIaUHmOvXr0y/bejr+nnnnsuQ48F8DdMWgNsSEf/9OtR50QhHWXTEcf//Oc/MnbsWK+TelJz7tw5869WZkiJ85hzdM35b2q38Sbp19/6tb6e9/VSH9wtWLDATMrRWFW/QtZJbDoaq5OBmjZtavrMnz9fatSoYb5a1hEzJx29VN9//72rr/O8qlSp4tqvU6eO+R06gqp0ZFVTHnT0VdMPktLnwN2zzz7r0aZfP+vosn7NrPftpBOimjRp4tp3VtzQ86xQoUKydj0fTTVQOpropCPSmiqgJalUbGys6ytvp969e6d4TfV66GO79957zSixfnNwPTr6ndII6p133mlGoHUEU6+DpjfoaLvz2FtvvWV+1hFn/drd2zcFOmqvI+NJlSxZMlmbpnK405SMmTNnmols16MTynT0XFMR9HHrc6eva00FcQoPDzfnumbNmhTvR/8m0vv3oK9/nXSZlLe/h/T+7ehz4/7aB+yMgBewGQ0gNCDRYFdLQrkHRBrsrly50gQt6eH8n7Qz8E1LUKzB4PVu442W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a9aILxDwAgAAwGjZsqUJcHUlWycNSnXxh02bNsnly5dd7d9//71UqFBBqlSpYvZff/11U3vYfevbt6+4W7FihWlfvXq1lCtXTh588EE5duyYZDcCXgAAABi33HKLWeRBR2+d9OeHH35YKlWqJBs3bvRo1wDZSUeGNTB23woVKiTutCaxtusqubpqri4eoYF0diPgBQAAgIsGsTp666Q/azqDpiA42y9dumQCVfeANz309jNmzDA/BwUFSXZj0hr8NhHfLphQAORsvK+lH+9r/q1ly5bSv39/k8ergen27dtNsKuLP2iOr9qwYYPEx8d7BLyDBg2SoUOHetzXf//7X7nrrrtc+02bNpU8efKYZYN1+eD69etLq1atsv0xEfACAADARUdzL1y4IFu2bJF//vlHqlWrJjfddJMJeiMiIkwer6YzVK5c2eTwOg0cOFC6d+/+vzsSkfLly3vsz507V6pXry47d+6UV155RaZPn24mxGU3Al4AAAC4VK1aVW6++WaTvqABrwa6SieZhYSEyPr1682xe+655383EpGSJUua26ZGbx8WFmY2HUF+5JFHTPAbHBws2YkcXgAAAHjQVAUdxdXNvRzZ3XffbdIUNm/enOH8XafHHntM8ubNKx9++KFkNwJeAAAAeNBgdu3atbJjxw7XCK/Snz/66CNJSEhIFvCeO3dOjh496rFpFYaUaD3efv36mVq9mtObnUhpAAAA8CF/mNTXsmVLM2FN821Lly7tEfBqYOssX+Zu+PDhZnPXq1cv10Q3b7p16yavvvqqTJgwweT0ZhcCXgAAAHjQldO0ikJSFStW9NquK6ll5P4KFiwop0+fluxGSgMAAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2V1gAAAHxpRFEf/q443/2uHIwRXgAAAHg4evSo9O3bVypXrizBwcESEhIiDz30kKxcudK1VHBAQECybcyYMa6lht3bb7zxRmnevLmsWbNGrMAILwAAAFw0WL3zzjulWLFi8vbbb0vt2rXlypUrsmzZMnnhhRdk9+7dpt/rr78uzzzzzP9uKCI33HCDx/6KFSvk1ltvlZMnT8qbb74pDz74oPz2229SunRp8SUCXgAAALg8//zzZlR28+bNUqhQIVe7Bq49evTwCG7LlCkjqSlRooTpo9uQIUNkzpw5smnTJmnbtq34EikNAAAAME6fPi0xMTFmJNc92HXSUd+MuHTpksyYMcP8HBQUJL5GwAsAAABj37594nA4pHr16nI9gwYNksKFC3tsSXN0mzZtato1eH7nnXekfv360qpVK/E1UhoAAABgaLCbVgMHDpTu3bt7tJUvX95jf+7cuSZ43rlzp7zyyisyffp0yZcvn/gaAS8AAACMsLAwk7/rnJiWmpIlS0rVqlVT7aPVHfQ+dbt69ao88sgjJvjVyg++REoDAAAADC0fFh4eLhMnTpQLFy5IUmfOnJGMeuyxxyRv3rzy4Ycfiq8R8AIAAMBFg91r165Jw4YNZcGCBbJ3717ZtWuXvP/++9KkSRNXv3Pnzpl6ve7b2bNnJSU6ctyvXz9Tq/fixYviS6Q0AAAA+FIOX/2scuXKEhsba+rmvvTSS/L333/LTTfdZCacTZo0ydVv+PDhZnPXq1cvmTx5cor33a1bN3n11VdlwoQJJqc3V43w6icJXbEjf/780qhRI1P3LTXz5883CdDaX4shL1261OO4t5U/dNPiyQAAAEhd2bJlTVCqi1DEx8fLX3/9JV999ZW0aNHCHNd2neCWdHMGuxrX6X69evU87rdgwYKm9Jkvg90cEfDq7L0BAwZIdHS0+TRRt25dkzty/Phxr/3Xr18vnTt3lp49e8r27dulXbt2ZtMEaCf9JOK+TZs2zQS8jz76qA8fGQAAAHICywPecePGmWXpIiIipGbNmuaTgUb/GqR6895778l9991nSmHUqFFDRo4cKbfffrv5FOLkXNHDueknkpYtW5ohem/0k4vmnLhvAAAAsAdLA96EhATZtm2btG7d+n8nlCeP2d+wYYPX22i7e3+lI8Ip9T927Jh88803ZkQ4JaNHj5aiRYu6Ni2hAQAAAHuwNOA9efKkmQVYunRpj3bd15l+3mh7evp/9tlnZq3n9u3bp3gegwcPlri4ONd26NChDD0eAAAA5Dy2r9KgqRFPPvmkmeCWEi1+7OsCyAAAwP4SExOtPgW/llXXz9KAV1foCAwMNGkH7nRfc2+90fa09tf1nPfs2WMmxgEAAPhKUFCQSdM8cuSIKeml+zqBHmmjFR409fXEiRPmOur189uAV09ea7qtXLnSVFpwRvK636dPH6+30YLHerx///6utuXLl3sUQnb65JNPzP1r5QcAAABf0SCtUqVKplqUBr3IGC1kUKFCBXM9/TqlQUuSaRHiBg0amBU9xo8fb5ay06oNqmvXrlK+fHkzsUxFRkZK8+bNZezYsdKmTRuZM2eObN26VaZMmeJxv1ppQev1aj8AAAArBvY0WLt69aqZs4T00SwAXYo4K0bGLQ94O3bsaIardaUOnXimBYpjYmJcE9MOHjzoEdU3bdpUZs2aJUOHDpUhQ4ZIWFiYLFq0SGrVquVxvxoI63C41uwFAACwggZr+fLlMxusE+DQqBDJRoe1PJlWbChSpAhXJx1Co77heqXTgTFtuGZADsb7WvrxvoacFq9ZvvAEAAAAkJ0IeAEAAGBrBLwAAACwNQJeAAAA2BoBLwAAAGyNgBcAAAC2RsALAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2AFwAAALZGwAsAAABbI+AFAACArRHwAgAAwNYIeAEAAGBrBLwAAACwNQJeAAAA2BoBLwAAAGyNgBcAAAC2RsALAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABszfKAd+LEiRIaGir58+eXRo0ayebNm1PtP3/+fKlevbrpX7t2bVm6dGmyPrt27ZK2bdtK0aJFpVChQnLHHXfIwYMHs/FRAAAAIKeyNOCdO3euDBgwQKKjoyU2Nlbq1q0r4eHhcvz4ca/9169fL507d5aePXvK9u3bpV27dmbbuXOnq8/+/fulWbNmJihetWqV/PTTTzJs2DATIAMAACD3CXA4HA6rfrmO6Oro64QJE8x+YmKihISESN++fSUqKipZ/44dO8qFCxdkyZIlrrbGjRtLvXr1ZPLkyWa/U6dOki9fPpk5c2aazyM+Pt5sTmfPnjXnERcXJ0WKFMnko8xdQqO+sfoU/M6BMW2sPgUAqeB9Lf14X4MvaLym3+anJV6zbIQ3ISFBtm3bJq1bt/7fyeTJY/Y3bNjg9Tba7t5f6Yiws78GzN98841Uq1bNtJcqVcoE1YsWLUr1XEaPHm0umHPTYBcAAAD2YFnAe/LkSbl27ZqULl3ao133jx496vU22p5af02FOH/+vIwZM0buu+8++fbbb+WRRx6R9u3byw8//JDiuQwePNh8OnBuhw4dypLHCAAAAOvlFRvREV718MMPy4svvmh+1nQHzf3VlIfmzZt7vV1wcLDZAAAAYD+WjfCWLFlSAgMD5dixYx7tul+mTBmvt9H21PrrfebNm1dq1qzp0adGjRpUaQAAAMilLAt4g4KCpH79+rJy5UqPEVrdb9KkidfbaLt7f7V8+XJXf71PnQS3Z88ejz6//fabVKxYMVseBwAAAHI2S1MatCRZt27dpEGDBtKwYUMZP368qcIQERFhjnft2lXKly9vJpWpyMhIk5YwduxYadOmjcyZM0e2bt0qU6ZMcd3nwIEDTTWHu+++W1q2bCkxMTHy9ddfmxJlAAAAyH0sDXg1MD1x4oQMHz7cTDzTfFsNUJ0T03SxCK3c4NS0aVOZNWuWDB06VIYMGSJhYWGmAkOtWrVcfXSSmubrapDcr18/ueWWW2TBggWmNi8AAAByH0vr8Nqhrhs8Ua8y/ahXCeRsvK+lH+9r8AW/qMMLAAAA+AIBLwAAAGyNgBcAAAC2RsALAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2AFwAAALZGwAsAAABbI+AFAACArRHwAgAAwNYIeAEAAGBrBLwAAACwNQJeAAAA2BoBLwAAAGyNgBcAAAC2RsALAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICt5YiAd+LEiRIaGir58+eXRo0ayebNm1PtP3/+fKlevbrpX7t2bVm6dKnH8e7du0tAQIDHdt9992XzowAAAEBOZHnAO3fuXBkwYIBER0dLbGys1K1bV8LDw+X48eNe+69fv146d+4sPXv2lO3bt0u7du3MtnPnTo9+GuD+/fffrm327Nk+ekQAAADISSwPeMeNGyfPPPOMRERESM2aNWXy5MlSsGBBmTZtmtf+7733nglmBw4cKDVq1JCRI0fK7bffLhMmTPDoFxwcLGXKlHFtxYsXT/Ec4uPj5ezZsx4bAAAA7MHSgDchIUG2bdsmrVu3/t8J5clj9jds2OD1Ntru3l/piHDS/qtWrZJSpUrJLbfcIs8995ycOnUqxfMYPXq0FC1a1LWFhIRk+rEBAAAgZ7A04D158qRcu3ZNSpcu7dGu+0ePHvV6G22/Xn8dAZ4xY4asXLlS3nrrLfnhhx/k/vvvN7/Lm8GDB0tcXJxrO3ToUJY8PgAAAFgvr9hQp06dXD/rpLY6depIlSpVzKhvq1atkvXX9AfdAAAAYD+WjvCWLFlSAgMD5dixYx7tuq95t95oe3r6q8qVK5vftW/fviw6cwAAAPgLSwPeoKAgqV+/vkk9cEpMTDT7TZo08XobbXfvr5YvX55if/XXX3+ZHN6yZctm4dkDAADAH1hepUFLkk2dOlU+++wz2bVrl5lgduHCBVO1QXXt2tXk2DpFRkZKTEyMjB07Vnbv3i0jRoyQrVu3Sp8+fczx8+fPmwoOGzdulAMHDpjg+OGHH5aqVauayW0AAADIXSzP4e3YsaOcOHFChg8fbiae1atXzwS0zolpBw8eNJUbnJo2bSqzZs2SoUOHypAhQyQsLEwWLVoktWrVMsc1ReKnn34yAfSZM2ekXLlycu+995ryZeTpAgAA5D4BDofDYfVJ5DRah1fLk2nFhiJFilh9On4lNOobq0/B7xwY08bqUwCQCt7X0o/3NeS0eM3ylAYAAAAgOxHwAgAAwNYIeAEAAGBrBLwAAACwNQJeAAAA2BoBLwAAAGyNgBcAAAC2lqGAd//+/Wbhh86dO8vx48dN23//+1/55Zdfsvr8AAAAAN8GvD/88IPUrl1bNm3aJAsXLjRL+aoff/xRoqOjM3c2AAAAgNUBb1RUlLzxxhuyfPlyCQoKcrXfc889snHjxqw+PwAAAMC3Ae/PP/8sjzzySLL2UqVKycmTJzN3NgAAAIDVAW+xYsXk77//Tta+fft2KV++fFadFwAAAGBNwNupUycZNGiQHD16VAICAiQxMVHWrVsnL7/8snTt2jVrzgoAAACwKuAdNWqUVK9eXUJCQsyEtZo1a8rdd98tTZs2NZUbAAAAgJwkb3pvoBPVpk6dKsOHDzf5vBr03nbbbRIWFpY9ZwgAAAD4coT39ddfl4sXL5oR3gceeEA6dOhggt1Lly6ZYwAAAIBfB7yvvfaaq/auOw2C9RgAAADg1wGvw+Ewk9WS0oUnbrzxxqw6LwAAAMC3ObzFixc3ga5u1apV8wh6r127ZkZ9e/funTVnBQAAAPg64B0/frwZ3e3Ro4dJXShatKjHRLbQ0FBp0qRJVp0XAAAA4NuAt1u3bubfSpUqmRJk+fLly5ozAAAAAHJSWbLmzZu7fr58+bIkJCR4HC9SpEjWnBkAAABgxaQ1rcbQp08fKVWqlBQqVMjk9rpvAAAAgF8HvAMHDpTvvvtOJk2aJMHBwfLxxx+bnN5y5crJjBkzsucsAQAAAF+lNHz99dcmsG3RooVERETIXXfdJVWrVpWKFSvK559/Lk8++WRGzwUAAACwfoT39OnTUrlyZVe+ru6rZs2ayerVq7P+DAEAAABfBrwa7P7xxx/m5+rVq8u8efNcI7/FihXLzLkAAAAA1ge8msagq6qpqKgomThxouTPn19efPFFk98LAAAA+HUOrwa2Tq1bt5bdu3fLtm3bTB5vnTp1svr8AAAAAN8GvEnpZDXd1BdffCGPPfZYZu8SAAAAsCal4erVq7Jz50757bffPNq/+uorqVu3LhUaAAAA4L8Brwa6mraggW2NGjWkffv2cuzYMbPyWo8ePeT++++X/fv3Z+/ZAgAAANmV0jBo0CAT8E6YMEFmz55ttl27dknPnj0lJiZGChQokN7fDQAAAOScgHfLli3y7bffSr169cxiExrwDhkyRJ566qnsPUMAAADAFykNJ0+eNMsHq6JFi0qhQoWkcePGmfndAAAAQM4Z4Q0ICJBz586ZmrsOh8PsX7p0Sc6ePevRT1dfAwAAAPwu4NUgt1q1ah77t912m8e+BsHXrl3L+rMEAAAAsjul4fvvv5fvvvvOtaW0nxG6WltoaKgZPW7UqJFs3rw51f7z5883yxpr/9q1a8vSpUtT7Nu7d28TiI8fPz5D5wYAAIBcMsKr5ceyw9y5c2XAgAEyefJkE+xqYBoeHi579uyRUqVKJeu/fv166dy5s4wePVoefPBBmTVrlrRr105iY2OlVq1aHn2//PJL2bhxoyv3GAAAALlPuhaeyA7jxo2TZ555RiIiIqRmzZom8C1YsKBMmzbNa//33ntP7rvvPhk4cKCpBzxy5Ei5/fbbTbk0d4cPH5a+ffvK559/Lvny5Uv1HOLj400usvsGAAAAe7A04E1ISJBt27ZJ69at/3dCefKY/Q0bNni9jba791c6IuzePzEx0ZRL06D41ltvve556GixVp5wbiEhIZl6XAAAAMg5LA14tdSZTnIrXbq0R7vuHz161OtttP16/d966y3Jmzev9OvXL03nMXjwYImLi3Nthw4dytDjAQAAgB/n8PoLHTHWtAfN6dXJamkRHBxsNgAAAOTyEd4rV66YkdOdO3dmyS8vWbKkBAYGyrFjxzzadb9MmTJeb6PtqfVfs2aNHD9+XCpUqGDOVbc///xTXnrpJVMJAgAAALlLugJenfylgWRW1doNCgqS+vXry8qVKz3yb3W/SZMmXm+j7e791fLly139NXf3p59+kh07drg2rdKg+bzLli3LkvMGAACAjVMaXn31VRkyZIjMnDlTbrzxxkyfgJYk69atmzRo0EAaNmxoypJduHDBVG1QXbt2lfLly5uJZSoyMtKUSBs7dqy0adNG5syZI1u3bpUpU6aY4yVKlDBb0kBdR4BvueWWTJ8vAAAAbB7wavmvffv2mVHTihUrSqFChTyOa+5senTs2FFOnDghw4cPNxPP6tWrJzExMa6JaQcPHjSVG5yaNm1qau8OHTrUBN5hYWGyaNGiZDV4AQAAgAwFvLrIQ1br06eP2bxZtWpVsrbHH3/cbGl14MCBTJ0fAAAAclHAGx0dnT1nAgAAAOSksmRa/mvXrl3mZ13c4bbbbsvK8wIAAACsCXi15FenTp1MqkGxYsVM25kzZ6Rly5ZmAtlNN92UNWcGAAAAWLHSWt++feXcuXPyyy+/yOnTp82mdXnPnj2b5pXNAAAAgBw7wqsVFFasWCE1atRwtdWsWVMmTpwo9957b1afHwAAAODbEV5dGELr2ialbXoMAAAA8OuA95577jGLPxw5csTVdvjwYXnxxRelVatWWX1+AAAAgG8DXl14QvN1Q0NDpUqVKmarVKmSafvggw8ydzYAAACA1Tm8ISEhZjU1zePdvXu3adN83tatW2f1uQEAAAC+DXivXLkiBQoUkB07dsi//vUvswEAAAC2SWnQiWkVKlSQa9euZd8ZAQAAAFbm8L766qsyZMgQU38XAAAAsF0Or05a27dvn5QrV04qVqwohQoV8jiu+b0AAACA3wa87dq1y54zAQAAAKwOeK9evSoBAQHSo0cPufnmm7PjfAAAAADrcnjz5s0rb7/9tgl8AQAAANuutPbDDz9kz9kAAAAAVufw3n///RIVFSU///yz1K9fP9mktbZt22bl+QEAAAC+DXiff/558++4ceOSHdP8Xmr0AgAAwK8D3sTExOw5EwAAACAn5PACAAAAtgx4H3jgAYmLi3PtjxkzRs6cOePaP3XqlNSsWTPrzxAAAADwRcC7bNkyiY+Pd+2PGjXKY3lhLVW2Z8+ezJwLAAAAYF3A63A4Ut0HAAAAciJyeAEAAGBraQ54teSYbknbAAAAAFuUJdMUhu7du0twcLDZv3z5svTu3du18IR7fi8AAADgdwFvt27dPPa7dOmSrE/Xrl2z5qwAAAAAXwe8n376aVb9TgAAAMBnmLQGAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtpYjAt6JEydKaGio5M+fXxo1aiSbN29Otf/8+fOlevXqpn/t2rVl6dKlHsdHjBhhjuuyx8WLF5fWrVvLpk2bsvlRAAAAICeyPOCdO3euDBgwQKKjoyU2Nlbq1q0r4eHhcvz4ca/9169fL507d5aePXvK9u3bpV27dmbbuXOnq0+1atVkwoQJ8vPPP8vatWtNMH3vvffKiRMnfPjIAAAAkBMEOBwOh5UnoCO6d9xxhwlQVWJiooSEhEjfvn0lKioqWf+OHTvKhQsXZMmSJa62xo0bS7169WTy5Mlef8fZs2elaNGismLFCmnVqlWy4/Hx8WZz76/nEBcXJ0WKFMmiR5o7hEZ9Y/Up+J0DY9pYfQoAUsH7WvrxvgZfcMZ3aYnXLB3hTUhIkG3btpmUA9cJ5clj9jds2OD1Ntru3l/piHBK/fV3TJkyxVwQHT32ZvTo0ea4c9NgFwAAAPZgacB78uRJuXbtmpQuXdqjXfePHj3q9Tbanpb+OgJcuHBhk+f77rvvyvLly6VkyZJe73Pw4MHm04FzO3ToUKYfGwAAAHKGvGJTLVu2lB07dpigeurUqdKhQwczca1UqVLJ+gYHB5sNAAAA9mPpCK+OuAYGBsqxY8c82nW/TJkyXm+j7WnprxUaqlatavJ7P/nkE8mbN6/5FwAAALmLpQFvUFCQ1K9fX1auXOlq00lrut+kSROvt9F29/5K0xVS6u9+v+4T0wAAAJA7WJ7SoCXJunXrJg0aNJCGDRvK+PHjTRWGiIgIc7xr165Svnx5M7FMRUZGSvPmzWXs2LHSpk0bmTNnjmzdutVMTFN62zfffFPatm0rZcuWNSkNWuf38OHD8vjjj1v6WAEAAJALA14tM6b1cYcPH24mnml5sZiYGNfEtIMHD5rKDU5NmzaVWbNmydChQ2XIkCESFhYmixYtklq1apnjmiKxe/du+eyzz0ywW6JECVP2bM2aNXLrrbda9jgBAACQS+vw+ntdN3iiXmX6Ua8SyNl4X0s/3tfgC35ThxcAAADIbgS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2AFwAAALZGwAsAAABbI+AFAACArRHwAgAAwNYIeAEAAGBrBLwAAACwNQJeAAAA2BoBLwAAAGyNgBcAAAC2RsALAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2AFwAAALaWIwLeiRMnSmhoqOTPn18aNWokmzdvTrX//PnzpXr16qZ/7dq1ZenSpa5jV65ckUGDBpn2QoUKSbly5aRr165y5MgRHzwSAAAA5DSWB7xz586VAQMGSHR0tMTGxkrdunUlPDxcjh8/7rX/+vXrpXPnztKzZ0/Zvn27tGvXzmw7d+40xy9evGjuZ9iwYebfhQsXyp49e6Rt27Y+fmQAAADICQIcDofDyhPQEd077rhDJkyYYPYTExMlJCRE+vbtK1FRUcn6d+zYUS5cuCBLlixxtTVu3Fjq1asnkydP9vo7tmzZIg0bNpQ///xTKlSokOx4fHy82ZzOnj1rziEuLk6KFCmSRY80dwiN+sbqU/A7B8a0sfoUAKSC97X0430NvqDxWtGiRdMUr1k6wpuQkCDbtm2T1q1b/++E8uQx+xs2bPB6G2137690RDil/kovREBAgBQrVszr8dGjR5sL5tw02AUAAIA9WBrwnjx5Uq5duyalS5f2aNf9o0ePer2Ntqen/+XLl01Or6ZBpBT9Dx482ATFzu3QoUMZfkwAAADIWfKKjekEtg4dOohmbUyaNCnFfsHBwWYDAACA/Vga8JYsWVICAwPl2LFjHu26X6ZMGa+30fa09HcGu5q3+91335GLCwAAkEtZmtIQFBQk9evXl5UrV7radNKa7jdp0sTrbbTdvb9avny5R39nsLt3715ZsWKFlChRIhsfBQAAAHIyy1MatCRZt27dpEGDBqaSwvjx400VhoiICHNca+iWL1/eTCxTkZGR0rx5cxk7dqy0adNG5syZI1u3bpUpU6a4gt3HHnvMlCTTSg6aI+zM773xxhtNkA0AAIDcw/KAV8uMnThxQoYPH24CUy0vFhMT45qYdvDgQVO5walp06Yya9YsGTp0qAwZMkTCwsJk0aJFUqtWLXP88OHDsnjxYvOz3pe777//Xlq0aOHTxwcAAIBcXofX3+u6wRP1KtOPepVAzsb7WvrxvgZf8Js6vAAAAEB2I+AFAACArRHwAgAAwNYIeAEAAGBrBLwAAACwNQJeAAAA2BoBLwAAAGyNgBcAAAC2RsALAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFvLa/UJALneiKK5/hJkyIg4rhuQU/G+lsHrxvtadmGEFwAAALZGwAsAAABbI+AFAACArRHwAgAAwNYIeAEAAGBrBLwAAACwNQJeAAAA2BoBLwAAAGyNgBcAAAC2RsALAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtWR7wTpw4UUJDQyV//vzSqFEj2bx5c6r958+fL9WrVzf9a9euLUuXLvU4vnDhQrn33nulRIkSEhAQIDt27MjmRwAAAICczNKAd+7cuTJgwACJjo6W2NhYqVu3roSHh8vx48e99l+/fr107txZevbsKdu3b5d27dqZbefOna4+Fy5ckGbNmslbb73lw0cCAACAnCrA4XA4rPrlOqJ7xx13yIQJE8x+YmKihISESN++fSUqKipZ/44dO5qAdsmSJa62xo0bS7169WTy5MkefQ8cOCCVKlUygbEeT018fLzZnM6ePWvOIy4uTooUKZIFjzT3CI36xupT8DsH8j9h9Sn4pxFxVp8Bcgne19KP97UM4n0tXTReK1q0aJriNctGeBMSEmTbtm3SunXr/51Mnjxmf8OGDV5vo+3u/ZWOCKfUP61Gjx5tLphz02AXAAAA9mBZwHvy5Em5du2alC5d2qNd948ePer1Ntqenv5pNXjwYPPpwLkdOnQoU/cHAACAnCOv1SeQEwQHB5sNAAAA9mPZCG/JkiUlMDBQjh075tGu+2XKlPF6G21PT38AAADAsoA3KChI6tevLytXrnS16aQ13W/SpInX22i7e3+1fPnyFPsDAAAAlqY0aEmybt26SYMGDaRhw4Yyfvx4U4UhIiLCHO/atauUL1/eTCpTkZGR0rx5cxk7dqy0adNG5syZI1u3bpUpU6a47vP06dNy8OBBOXLkiNnfs2eP+VdHgRkJBgAAyH0sDXi1zNiJEydk+PDhZuKZlg+LiYlxTUzTwFUrNzg1bdpUZs2aJUOHDpUhQ4ZIWFiYLFq0SGrVquXqs3jxYlfArDp16mT+1Vq/I0aM8OnjAwAAQC6vw2uHum7wRL3K9KNeZQZRrxI+wvta+vG+lkG8r9mvDi8AAADgCwS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2AFwAAALZGwAsAAABbI+AFAACArRHwAgAAwNYIeAEAAGBrBLwAAACwNQJeAAAA2BoBLwAAAGyNgBcAAAC2RsALAAAAWyPgBQAAgK0R8AIAAMDWCHgBAABgawS8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2AFwAAALaWIwLeiRMnSmhoqOTPn18aNWokmzdvTrX//PnzpXr16qZ/7dq1ZenSpR7HHQ6HDB8+XMqWLSsFChSQ1q1by969e7P5UQAAACAnsjzgnTt3rgwYMECio6MlNjZW6tatK+Hh4XL8+HGv/devXy+dO3eWnj17yvbt26Vdu3Zm27lzp6vPv//9b3n//fdl8uTJsmnTJilUqJC5z8uXL/vwkQEAACAnCHDocKiFdET3jjvukAkTJpj9xMRECQkJkb59+0pUVFSy/h07dpQLFy7IkiVLXG2NGzeWevXqmQBXH065cuXkpZdekpdfftkcj4uLk9KlS8v06dOlU6dOye4zPj7ebE7av0KFCnLo0CEpUqRINj1ye6oVvczqU/A7O/P3tPoU/NPgv6w+A+QSvK+lH+9rGcT7WrqcPXvWxIxnzpyRokWLpt7ZYaH4+HhHYGCg48svv/Ro79q1q6Nt27ZebxMSEuJ49913PdqGDx/uqFOnjvl5//79GsA7tm/f7tHn7rvvdvTr18/rfUZHR5vbsHENeA3wGuA1wGuA1wCvAV4D4lfX4NChQ9eNOfOKhU6ePCnXrl0zo6/udH/37t1eb3P06FGv/bXdedzZllKfpAYPHmzSKpx0lPn06dNSokQJCQgIyOCjA9L+6ZRvEwDYBe9r8BX9Vv/cuXPmm/3rsTTgzSmCg4PN5q5YsWKWnQ9yH02dIX0GgJ3wvgZfuG4qQ06YtFayZEkJDAyUY8eOebTrfpkyZbzeRttT6+/8Nz33CQAAAPuyNOANCgqS+vXry8qVKz3SCXS/SZMmXm+j7e791fLly139K1WqZAJb9z769YpWa0jpPgEAAGBflqc0aO5st27dpEGDBtKwYUMZP368qcIQERFhjnft2lXKly8vo0ePNvuRkZHSvHlzGTt2rLRp00bmzJkjW7dulSlTppjjmnPbv39/eeONNyQsLMwEwMOGDTP5HVq+DMhJNJVGS/IlTakBAH/F+xpyIsvLkiktSfb222+bSWVaXkxr6Gq5MtWiRQuzKIWWFHNfeGLo0KFy4MABE9Rq3d0HHnjAdVwfkgYRGgRrqYpmzZrJhx9+KNWqVbPk8QEAACCXB7wAAACAbVdaAwAAALITAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4gRzk8OHDVp8CAKRbYGCgHD9+PFn7qVOnzDHAagS8QA6gi6707dvXLKQCAP4mpZL+8fHxEhQU5PPzAXLc0sJAbvHPP//I888/L8uXLzf/A4iKipI+ffrIiBEj5J133pE6derIp59+avVpAkCa6cqoKiAgQD7++GMpXLiw69i1a9dk9erVUr16da4oLMdKa4CP9OrVS2JiYuTxxx+XZcuWya+//irh4eGSJ08es1R248aNeS4A+JVKlSqZf//880+5+eabPdIX9IN9aGiovP7669KoUSMLzxIg4AV8pkKFCjJ9+nS555575MCBA1K5cmUzyjtq1CieBQB+rWXLlrJw4UIpXry41acCeMUIL+AjefPmlUOHDknZsmXNfsGCBWXr1q1Ss2ZNngMAtqLpDD///LNUrFiRIBg5ApPWAB9O6tCg10m/+itQoADXH4Df69+/v3zyySeuYPfuu++W22+/XUJCQmTVqlVWnx7ApDXAlwFvq1atXEHvpUuX5KGHHko2gzk2NpYnBYBfmT9/vnTp0sX8/PXXX5u0rd27d8vMmTPl1VdflXXr1ll9isjlSGkAfOS1115LU7/o6OhsPxcAyEr58+eXffv2mYlrzz77rEnZGj9+vPzxxx9St25dOXv2LBcclqIsGeAjBLIA7Kp06dKm8ozOUdBqNJMmTTLtFy9eZOEJ5Ajk8AI+cvnyZVm8eLGcO3cu2TEd/dBjWqQdAPxNRESEdOjQQWrVqmVq8rZu3dq0b9q0iTq8yBFIaQB85L333jNB7cqVK70e1/9BtGvXzixGAQD+5osvvjCVaLTWuKY2qM8++0yKFSsmDz/8sNWnh1yOgBfwkYYNG8qwYcPMRDVvlixZYgq0b968mecEAIAsRA4v4CN79+41kzdSoksLax8A8Df6YT01w4cP99m5AN4Q8AI+cvXqVTlx4oRZcc0bPaZ9AMDffPnllx77V65cMRUatAxjlSpVCHhhOQJewEduvfVWWbFihdSvX9/r8W+//db0AQB/s337dq+Tcbt37y6PPPKIJecEuKNKA+AjPXr0kJEjR5pc3aS0UPubb75p+gCAHRQpUsTUH9e5C4DVGOEFfESLsa9evVratm1ryvTccsstpl1XI/rtt99MSR/tAwB2ERcXZzbAalRpAHxs3rx5MmvWLDNBTZcbrlatmjzxxBMm4AUAf/T+++977Ot7299//22WFm7evLl5zwOsRMALAAAypVKlSh77efLkkZtuuknuueceGTx4sNxwww1cYViKgBfwscOHD8uCBQtMGoPS1Ib27dtL+fLleS4AAMgGBLyAD3344YcyYMAASUhIMBM6nDOZg4KCZNy4cfL888/zfAAAkMWYtAb4yDfffCP9+vWT/v37y0svvSRly5Y17Zrn9vbbb0tkZKSEhobKAw88wHMCIMfTb6amT59uPrzrz6kpXLiwKbvYu3dvKVq0qM/OEXAi4AV8RIPaqKgoeeONNzzaNfDV0d2CBQvKv//9bwJeAH5BA9eAgADXz6mJj4+XyZMny7p162Tx4sU+OkPgf0hpAHxER0G2bNniKkeW1J49e+SOO+4wKQ4AYDe//vqreY+7cOGC1aeCXIiFJwAfuXbtmuTLly/F43pM+wCAHemH/fXr11t9GsilSGkAfETz17766it58cUXvR5ftGgRSwsD8BvXy9t1t3DhQgkMDJS6detm6zkBKSHgBXzkhRdekOeee06Cg4PNimp58/7/n9/Vq1flo48+kqFDh5oqDgDgD9zzdnWhiS+//NK0NWjQwLRt27ZNzpw5k67AGMgu5PACPvTyyy+bCWpahL1KlSrmfxK///67nD9/3lRwePfdd3k+APidQYMGyenTp83ENB3JVZqipaUWdf6CTtoFrETAC/jYxo0bZfbs2WZpYaVLC3fq1EkaN27McwHAL+mqamvXrk02KVcn4zZt2lROnTpl2bkBipQGwMc0sCW4BWAnmpq1e/fuZAGvtiUmJlp2XoATAS9ggTVr1pi8XU1nmD9/vllWeObMmWY9+mbNmvGcAPArERER0rNnT9m/f780bNjQtG3atEnGjBljjgFWI+AFfGzBggXy1FNPyZNPPimxsbGmILuKi4uTUaNGydKlS3lOAPiVd955R8qUKSNjx441q0c6F9UZOHCgWVkSsBo5vICP3XbbbaY0WdeuXc3ktR9//FEqV64s27dvl/vvv1+OHj3KcwLAbzkXz9HJakons914440WnxVyOxaeAHxMJ3Hcfffdydq1nI+W8AEAf6aBrm7ffvutdOzY0aRsAVYj4AV8TL/227dvX7J2neGsI70A4K/+/PNPiY6OltDQUHn88cclICBAZsyYYfVpAeTwAr72zDPPSGRkpEybNs38z+DIkSOyYcMGU6N32LBhPCEA/EpCQoJZSe3jjz+WdevWSevWreWvv/4yaVq1a9e2+vQAg0lrgI9FRUWZMj2tWrWSixcvmvQGXX1NA96+ffvyfADwG/qepXXFw8LCpEuXLjJ37lwpUaKE5MuXz7UABZATMGkNsHBURFMbdJW1mjVrSuHChXkuAPgVXSJdV1nTD/I6CddJA16dkKvvbUBOQA4vYJGgoCDzPwOtWUmwC8Afaf3wzZs3mxJkOkFtyZIlZklhIKdhhBfwgfbt26e5r+bCAYA/+eOPP2T69Olm01QtLUWm6Q2PPfaY1acGGAS8gA+kZ6WhTz/9NFvPBQCyi8PhMOXIPvnkE1m8eLGULFnSfOB///33ueiwFAEvAADIcjrKqyXJ9EO85vMCViLgBQAAGXblyhWpXr26yd+tUaMGVxI5EmXJAB8tJ6w1d9MiNjY2288HALKKVmS4fPkyFxQ5GlUaAB9o166dPPzww2YLDw+X/fv3m9q7LVq0MFv+/PlNmx4DAH/zwgsvyFtvvSVXr161+lQAr0hpAHzs6aefNiV8Ro4c6dGuy3EeOnTIrMAGAP7kkUcekZUrV5oSi7q6WqFChTyOU30GViPgBXysaNGisnXrVrMykbu9e/dKgwYNJC4ujucEgK0q0VB9BlYjhxfwsQIFCpj15pMGvNqmqQ0A4G8IaJHTEfACPta/f3957rnnzOQ0XWVNbdq0yaQyDBs2jOcDgF/S/N1Vq1aZ+QhPPPGEWWr4yJEjUqRIEVaThOVIaQAsMG/ePHnvvfdk165dZl9L+URGRkqHDh14PgD4nT///FPuu+8+OXjwoMTHx8tvv/0mlStXNu9ruj958mSrTxG5HAEvAADIdCUaHdHVFdZKlChhFprQgFdHfJ955hkzRwGwEikNAAAgU9asWSPr16+XoKAgj/bQ0FA5fPgwVxeWI+AFfKB48eJpXnhCl+MEAH+SmJgo165dS9b+119/mZFfwGoEvIAPjB8/3vXzqVOn5I033jCLTDRp0sS0bdiwQZYtW8akNQB+6d577zXvc1OmTDH7+gH//Pnzpr74Aw88YPXpAeTwAr726KOPSsuWLaVPnz4e7RMmTJAVK1bIokWLeFIA+BUdydUP8Q6Hw1VTXP8tWbKkrF69WkqVKmX1KSKXY9Ia4GO6EtGOHTukatWqHu379u2TevXqmVERAPDHsmRz5syRn376ybyP3X777fLkk0+a2uOA1UhpAHxMZzB/9dVX8tJLL3m0a5seAwB/lDdvXunSpYvVpwF4RcAL+Nhrr70mTz/9tCnX06hRI9fCEzExMTJ16lSeDwB+ac+ePfLBBx941BfX1K3q1atbfWqA5OEaAL7VvXt3s4ywrj60cOFCs+nPa9euNccAwN8sWLBAatWqJdu2bZO6deuaTVeTrF27tjkGWI0cXgAAkClVqlQx+bqvv/66R7tWafjPf/5jlhsGrETAC1jo8uXLkpCQ4NGmo70A4E8KFixoJqslnYyrlRp0tPfixYuWnRugSGkAfEzf+DWvTcv0FCpUyCxK4b4BgL9p0aKFWW0tKU3Vuuuuuyw5J8Adk9YAHxs4cKB8//33MmnSJHnqqadk4sSJZunNjz76SMaMGcPzAcDvtG3bVgYNGmRyeBs3bmzaNm7cKPPnzzcTdRcvXuzRF/A1UhoAH6tQoYLMmDHDjIho+oJO7NCvAWfOnCmzZ8+WpUuX8pwA8Ct58qTtC2Ndgc3bEsRAdiOlAfCx06dPS+XKlc3PGvDqvmrWrJlZkQgA/E1iYmKaNoJdWIWAF/AxDXb/+OMP87PWp5w3b575+euvv5ZixYrxfADwO7///rvVpwCkioAX8LGIiAj58ccfzc9RUVEmhzd//vzy4osvmvxeAPA3mpbVsmVLU4JMq88AOQ05vICP6Nd5b7/9tpm8oaXIWrVqZWpUHj9+3Ez00P9h1KlTh+cDgN/ZsWOHfPrpp2Yegr6/dezYUXr27CkNGza0+tQAg4AX8JGRI0fKiBEjpHXr1lKgQAFZtmyZdO7cWaZNm8ZzAMAWrl69aj7UT58+3SyXXq1aNenRo4epSHPTTTdZfXrIxQh4AR8JCwuTl19+WXr16mX2V6xYIW3atJFLly6leYYzAPiD+Ph4+fDDD2Xw4MFmxDcoKEg6dOggb731lpQtW9bq00MuRMAL+EhwcLDs27dPQkJCXG2au6ttN998M88DAL+3detW863VnDlzzMI63bp1M6kNf/31l6nHe/bsWdm8ebPVp4lciIUnAB9+1acBrrt8+fLJlStXeA4A+LVx48aZHN49e/bIAw88YGqN67/Ob68qVapk0hxCQ0OtPlXkUgS8gI84HA7p3r27Gel10tnMvXv3NiMhTgsXLuQ5AeBXdOVIzdXV97iUUhZ0OfVPPvnE5+cGKFIaAB+WI0sLHSUBAABZh4AXAABkyE8//ZSmfpRchNUIeAEAQIZojm5AQIBJ2TJBRUCA+Vf3ne36L0sKw2rk8AIAgAxxLpOuNLitVauWLF26VCpWrMgVRY5CwAsAADIkaWCro7laZpGAFzkN1e4BAABgawS8AAAAsDUCXgAAkGWcE9eAnIQcXgAAkCG33XabR4B76dIleeihhyQoKMijX2xsLFcYliLgBQAAGdKuXTuP/YcffpgriRyJOrwAAACwNXJ4AQBAlhkzZoycOXOGK4ochRFeAACQZYoUKSI7duyQypUrc1WRYzDCCwAAsoxzmWEgJyHgBQAAgK0R8AIAgCzz66+/eiwtfPjwYa4uLEfACwAAskxISIgEBgbK0aNHpW/fvhIWFsbVheUIeAEAQIb8888/0rlzZylZsqSUK1dO3n//fUlMTJThw4ebSWtbtmyRTz/9lKsLy1GlAQAAZEivXr0kJiZGHn/8cVm2bJlJZwgPD5c8efLI0KFDpXHjxlxZ5AgEvAAAIEMqVKgg06dPl3vuuUcOHDhgRnWjoqJk1KhRXFHkKAS8AAAgQ/LmzSuHDh2SsmXLmv2CBQvK1q1bpWbNmlxR5Cjk8AIAgAzX3NWg10knqxUoUICriRyHEV4AAJAhmqtbq1YtV9D7008/SfXq1SUoKMijX2xsLFcYlvrfxzIAAIB0iI6O9th/+OGHuX7IkRjhBQAAgK2RwwsAADLk8uXLsnjxYjl37lyyY2fPnjXH4uPjubqwHAEvAADIkI8++kjee+89ueGGG5IdK1KkiFmIYurUqVxdWI6AFwAAZMjnn38u/fv3T/G4HpsxYwZXF5Yj4AUAABmyd+9eqVu3borH69SpY/oAViPgBQAAGXL16lU5ceJEisf1mPYBrEbACwAAMuTWW2+VFStWpHj822+/NX0AqxHwAgCADOnRo4eMHDlSlixZkuzY119/LW+++abpA1iNOrwAACDDunTpIrNmzTIrrN1yyy2mbffu3fLbb79Jhw4dZPbs2VxdWI6AFwAAZMq8efNM0KsT1BwOh1SrVk2eeOIJE/ACOQEBLwAAAGwtr9UnAAAA/Nvhw4dlwYIFJo1BaWpD+/btpXz58lafGmAwwgsAADLsww8/lAEDBkhCQoJZXc25rHBQUJCMGzdOnn/+ea4uLEeVBgAAkCHffPON9OvXT/r06WNGec+cOWM2/VkD3cjISFm6dClXF5ZjhBcAAGRIixYtpFmzZvLGG294PT506FBZu3atrFq1iisMSxHwAgCADNEUhi1btrjKkSW1Z88eueOOO0yKA2AlUhoAAECGXLt2TfLly5ficT2mfQCrEfACAIAM0WWDv/rqqxSPL1q0iKWFkSNQlgwAAGTICy+8IM8995wEBwfLs88+K3nz/n9YcfXqVfnoo49MDq9WcQCsRg4vAADIsJdfftmUH7vhhhukSpUqZqW133//Xc6fP28qOLz77rtcXViOgBcAAGTKxo0bZfbs2WZpYaVLC3fq1EkaN27MlUWOQMALAAAAW2PSGgAAyLQ1a9ZIly5dpGnTpmbhCTVz5kxThxewGgEvAADIlAULFkh4eLgUKFBAYmNjJT4+3rTHxcXJqFGjuLqwHAEvAADIFF1pbfLkyTJ16lSPurx33nmnCYABqxHwAgCATNEV1e6+++5k7UWLFpUzZ85wdWE5Al4AAJApZcqUkX379iVr1/zdypUrc3VhOQJeAACQKc8884xERkbKpk2bJCAgQI4cOSKff/65qdGrC1MAVmOlNQAAkClRUVGSmJgorVq1kosXL5r0Bl19TQPevn37cnVhOerwAgCALJGQkGBSG3SVtZo1a0rhwoW5ssgRCHgBAABga6Q0AACAdGvfvn2a+y5cuJArDEsR8AIAgHTTkmOAvyClAQAAALZGWTIAAADYGikNAAAg3W677TZTczctWF4YViPgBQAA6dauXTvXz5cvX5YPP/zQlCJr0qSJadu4caP88ssv8vzzz3N1YTlyeAEAQKY8/fTTUrZsWRk5cqRHe3R0tBw6dEimTZvGFYalCHgBAECmKzZs3bpVwsLCPNr37t0rDRo0kLi4OK4wLMWkNQAAkCkFChSQdevWJWvXtvz583N1YTlyeAEAQKb0799fnnvuOTM5rWHDhqZt06ZNJpVh2LBhXF1YjpQGAACQafPmzZP33ntPdu3aZfZr1KghkZGR0qFDB64uLEfACwAAAFsjhxcAAAC2Rg4vAABIt+LFi6d54YnTp09zhWEpAl4AAJBu48ePd/186tQpeeONNyQ8PNy18MSGDRtk2bJlTFpDjkAOLwAAyJRHH31UWrZsKX369PFonzBhgqxYsUIWLVrEFYalCHgBAECmFC5cWHbs2CFVq1b1aN+3b5/Uq1dPzp8/zxWGpZi0BgAAMqVEiRLy1VdfJWvXNj0GWI0cXgAAkCmvvfaaPP3007Jq1Spp1KiRa+GJmJgYmTp1KlcXliOlAQAAZJoGuO+//77HwhP9+vVzBcCAlQh4AQAAYGukNAAAgCxz+fJlSUhI8GgrUqQIVxiWYtIaAADIlIsXL5qSZKVKlZJChQqZRSncN8BqBLwAACBTBg4cKN99951MmjRJgoOD5eOPPzYT2cqVKyczZszg6sJy5PACAIBMqVChgglsW7RoYdIXYmNjTU3emTNnyuzZs2Xp0qVcYViKEV4AAJApp0+flsqVK5ufNeDVfdWsWTNZvXo1VxeWI+AFAACZosHuH3/8YX6uXr26zJs3z/z89ddfS7Fixbi6sBwpDQAAIFPeffddCQwMNHV3V6xYIQ899JA4HA65cuWKjBs3TiIjI7nCsBRlyQAAQIYkJibK22+/LYsXLzalyI4cOSLR0dGye/du2bZtm8njrVOnDlcXlmOEFwAAZMjIkSNlxIgR0rp1aylQoIAsW7ZMOnfuLNOmTeOKIkch4AUAABkSFhYmL7/8svTq1cvsazpDmzZt5NKlS5InD9OEkHMQ8AIAgAzRmrv79u2TkJAQV1v+/PlN280338xVRY7Bxy8AAJAhV69eNQGuu3z58pnJakBOwqQ1AACQIVqJoXv37mak1+ny5cvSu3dvs8Sw08KFC7nCsBQBLwAAyJBu3bola+vSpQtXEzkOObwAAACwNXJ4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAbI2AFwBysVWrVklAQICcOXMmzbcJDQ2V8ePHZ+t5AUBWIuAFgBxMa5xqQKp1TZN64YUXzDHtAwBIGQEvAORwumzrnDlz5NKlSx7F/WfNmiUVKlSw9NwAwB8Q8AJADnf77beboNd9tSr9WYPd2267zdUWHx8v/fr1k1KlSpnlXps1ayZbtmzxuK+lS5dKtWrVpECBAtKyZUs5cOBAst+3du1aueuuu0wf/b16nxcuXMjmRwkA2YeAFwD8QI8ePeTTTz917U+bNk0iIiI8+rzyyiuyYMEC+eyzzyQ2NlaqVq0q4eHhcvr0aXP80KFD0r59e3nooYdkx44d8vTTT0tUVJTHfezfv1/uu+8+efTRR+Wnn36SuXPnmgC4T58+PnqkAJD1CHgBwA/ocq0aeP75559mW7dunccSrjoCO2nSJHn77bfl/vvvl5o1a8rUqVPNKO0nn3xi+ujxKlWqyNixY+WWW26RJ598Mln+7+jRo017//79JSwsTJo2bSrvv/++zJgxw6RRAIA/ymv1CQAAru+mm26SNm3ayPTp08XhcJifS5Ys6TEye+XKFbnzzjtdbfny5ZOGDRvKrl27zL7+26hRI4/7bdKkicf+jz/+aEZ2P//8c1eb/r7ExET5448/pEaNGjxdAPwOAS8A+FFagzO1YOLEidnyO86fPy+9evUyebtJMUEOgL8i4AUAP6G5tQkJCaYUmebmutNUhaCgIJPqULFiRdOmI746aU3TE5SOzi5evNjjdhs3bkw2Qe7XX381+b8AYBfk8AKAnwgMDDRpCRqQ6s/uChUqJM8995wMHDhQYmJiTJ9nnnlGLl68KD179jR9tJbv3r17TZ89e/aYsmaaIuFu0KBBsn79ejOSrBPbtP9XX33FpDUAfo2AFwD8SJEiRczmzZgxY0x1haeeesqM1O7bt0+WLVsmxYsXd6UkaBWHRYsWSd26dWXy5MkyatQoj/uoU6eO/PDDD/Lbb7+Z0mRa9mz48OFSrlw5nzw+AMgOAQ6djQAAAADYFCO8AAAAsDUCXgAAANgaAS8AAABsjYAXAAAAtkbACwAAAFsj4AUAAICtEfACAADA1gh4AQAAYGsEvAAAALA1Al4AAADYGgEvAAAAxM7+D5W/PeDtQUSfAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAJuCAYAAABSTNFnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVIFJREFUeJzt3QmcjWX/x/HfGGbG0th3w1hD1uySJf6ppFBZSpYkypqSIZmk0COSrCk8PMnyEJKHUFLZDZWyR0S2ZOwzzJz/63c9r3OeOTNnxqznnnPP5/163Zn7Pvc5c537zEzfc53fdV1+DofDIQAAAIBNZbO6AQAAAEBGIvACAADA1gi8AAAAsDUCLwAAAGyNwAsAAABbI/ACAADA1gi8AAAAsDUCLwAAAGyNwAsAAABbI/ACgBfNmzdP/Pz8ZNeuXT5x3Xv06CF58uRJ02O89NJL8n//93/p1iakTcOGDeW1117jMiJLIfACNjZ9+nQTrho0aJDoOXp7//79k/V4t27dkilTpki9evXkrrvuMkFIv9ZjepsnMTExMnfuXGnevLkUKFBAAgMDJTQ0VHr27OkW+pxB0Lllz55dSpYsaQLXqVOnktW+N9980+0xsmXLJsWLF5dHH31Utm3blqzHQPo6duyYfPzxxzJixAizf+7cOfPaDBo0KMG5ekxvCw8PT3Bbt27dJEeOHHL9+nWzrz8XcV/ruFtQUJDrfps2bXK7zd/fX4oUKSJPPvmk7N+/P0XP5csvvzQ/77lz5zY/V0888YT8+uuvKb4mZ8+elVdffVUqV64suXLlMo9Xp04defvtt+XSpUuu8/R3JrHnqPdN7e/OsGHDZNq0aXLmzJkUtx3wVdmtbgCAjPPpp5+acLljxw45cuSIVKhQIdWPde3aNWnTpo18++23JkDq/0w1UK5du9YEleXLl5tAoP/zdrpx44Z06NDBnNO0aVMTejT0Hj9+XJYsWSL//Oc/5cSJE1KqVCnXfd566y0pW7as3Lx504RU/Z/5999/L/v27XMLMkmZMWOGCeOxsbFy8uRJmT17tvn+eh1q1aqV6muAlPvggw/M69miRQuzr2GzYsWK5jWN74cffjBhTf/1dFvt2rVNQHTSN08apuPTUBvfwIEDTVjVN2Y//fSTzJw504Rh/bkqVqzYHZ/Hzp075fHHH5d77rlH/vGPf8jly5dl9erV5njVqlWTdS2cj/PII4/I1atXpWvXriboKn3zN378eNm8ebN89dVXrvP1d2PcuHEJHidv3rwJjiX3d0efR3BwsHlDrPcBsgQHAFv67bffHPorvnz5ckfhwoUdb775psfz9Jx+/frd8fFeeOEFc+6HH36Y4LapU6ea2/r27et2XB9Xj7///vsJ7nP79m3HhAkTHCdPnjT7c+fONefu3LnT7bxhw4aZ44sXL75jG8PDw82558+fdzu+b98+c3zEiBEOqyX2PDObq1evmn+7d+/uyJ07d6oeIzo62lGoUCHHyJEj3Y737NnT4e/v77hy5Yrb98uePbvj6aefduTJk8f8fDidPn3aXLOXX37ZdSy57frmm2/MfZcuXep2fMaMGeb4u+++m6zn8tprrzn8/PwcZ86ccTt+8+ZNR3L9/fffjpIlSzqKFi3q2L9/f4Lb9bHHjBnj2m/WrJnjnnvuuePjpuZ3p3///o4yZco4YmNjk91+wJdR0gDYuHc3f/78pldWP77V/dT6448/5JNPPpEHHnjAY/lDv379TA+e9rbpuc77zJo1y9RuDh482GMvnH6sG7d315P777/f/Hv06NFUt9/Zg6e9h3FFRUWZj8+151t7C0NCQkxtox73VPaxYsUKqVatmjlXe/q05zo+/Qi5V69eUqJECXOe9ri9+OKLEh0dneB7DxkyRAoXLmx6xdu3by/nz593O0d757U3XXsi69atKzlz5pTq1aubfaW96rqvvXfaU7hnzx63+2tPpvbElytXzpyj1+G5556Tv/76y2MpiH48//TTT5ufmyZNmiR6Pffu3WvarR+5a09lYrR38cKFC9KqVSu34/rYWuoSt8xk+/btcvv2bfMzoY+p38PJ2eObVJtSKqU/V/pphif6GieX/j7oz8ekSZPcShKcihYtKiNHjhRvPEf9vfz999/drjNgZwRewKY04Go5QUBAgHTp0kUOHz5sPk5Njf/85z8moGgdZWL0Ng0szhCo99H9Z599VtJCyx+UhrDkunjxoglaWi+qIbB3794m8HXs2NF1jpY7PPbYY/Lee+9J27Zt5cMPP5R27drJ+++/L506dfIY3nTwVefOnc1H2vqxsdZwxg2Pp0+flvr168uiRYvMY2htsz5/LQNx1p46DRgwQH788UcTuDUQf/HFFx7fTGgpioZQbaN+tP3333+br/X1ffnl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", "text/plain": [ "
" ] @@ -2808,64 +2803,52 @@ "\n", "### Resultados del Benchmark\n", "\n", - "| Modelo | WER | CER |\n", - "|------------------------|----------|----------|\n", - "| PaddleOCR (Baseline) | 7.633% | 1.489% |\n", - "| PaddleOCR-HyperAdjust | 7.623% | 1.487% |\n", - "| **Mejora Absoluta** | 0.011 pp | 0.002 pp |\n", - "| **Mejora Relativa** | 0.14% | 0.15% |\n", + "| Modelo | CER | Precisión de Caracteres |\n", + "|------------------------|--------|-------------------------|\n", + "| PaddleOCR (Baseline) | 7.78% | **92.22%** |\n", + "| PaddleOCR-HyperAdjust | 1.49% | **98.51%** |\n", "\n", - "### Análisis de Resultados\n", + "| Modelo | WER | Precisión de Palabras |\n", + "|------------------------|--------|-------------------------|\n", + "| PaddleOCR (Baseline) | 14.94% | **85.06%** |\n", + "| PaddleOCR-HyperAdjust | 7.62% | **92.38%** |\n", "\n", - "#### Observación Principal\n", + "### Interpretación Correcta\n", "\n", - "La mejora obtenida en el benchmark final es **marginal** (~0.15%), significativamente menor que la mejora del 8.3% observada durante la optimización con Ray Tune.\n", + "#### Lo que realmente muestran los datos\n", "\n", - "#### Posibles Explicaciones\n", + "1. **El baseline ya era funcional**: Con 92.22% de precisión a nivel de carácter, el sistema base ya producía resultados utilizables.\n", "\n", - "1. **Diferencia en el dataset de evaluación**\n", - " - El dataset de tuning (5 documentos UNIR) puede tener características diferentes al dataset de evaluación final\n", - " - Los hiperparámetros se optimizaron para documentos específicos que pueden no ser representativos del conjunto completo\n", + "2. **La mejora en términos absolutos**:\n", + " - Precisión de caracteres: 92.22% → 98.51% (**+6.29 puntos porcentuales**)\n", + " - Precisión de palabras: 85.06% → 92.38% (**+7.32 puntos porcentuales**)\n", "\n", - "2. **Rendimiento ya cercano al óptimo**\n", - " - Un CER de ~1.5% es un resultado excelente para OCR\n", - " - El margen de mejora disponible es inherentemente limitado en documentos de alta calidad\n", + "3. **Reducción del error residual**:\n", + " - El CER se redujo de 7.78% a 1.49% (reducción del 80.9% del error)\n", + " - Pero en términos de precisión, pasamos de 92% a 98.5%\n", "\n", - "3. **Sobreajuste al conjunto de entrenamiento**\n", - " - Los hiperparámetros pueden haberse ajustado a particularidades del dataset de tuning\n", - " - La generalización a otros documentos muestra que las mejoras no se transfieren completamente\n", + "### Formas de Presentar el Resultado\n", "\n", - "4. **Calidad del dataset de evaluación**\n", - " - Documentos más limpios o con mejor resolución reducen el impacto de la optimización\n", - " - Los hiperparámetros optimizados benefician más a documentos problemáticos\n", + "| Forma de Medición | Valor |\n", + "|--------------------------------|--------------------------------|\n", + "| Mejora en precisión (absoluta) | +6.29 puntos porcentuales |\n", + "| Reducción del error (relativa) | 80.9% menos errores |\n", + "| Precisión final alcanzada | 98.51% |\n", "\n", - "### Interpretación para la Tesis\n", + "### Conclusión Equilibrada\n", "\n", - "#### Aspectos Positivos\n", + "> La optimización de hiperparámetros mejoró la precisión de caracteres de **92.2% a 98.5%**, una ganancia de 6.3 puntos porcentuales. Aunque el baseline ya ofrecía resultados aceptables, la configuración optimizada reduce los errores residuales en un 80.9%, lo cual es relevante para aplicaciones que requieren alta fidelidad en la extracción de texto.\n", "\n", - "1. **No hay degradación**: La configuración optimizada no perjudica el rendimiento en ningún caso\n", - "2. **Consistencia**: Los resultados son estables entre ambas configuraciones\n", - "3. **Validación del proceso**: El experimento demuestra una metodología rigurosa de optimización\n", + "### Contexto Práctico\n", "\n", - "#### Conclusión Técnica\n", + "En un documento de 10,000 caracteres:\n", "\n", - "Los resultados sugieren que:\n", + "| Modelo | Errores esperados |\n", + "|-----------|-------------------|\n", + "| Baseline | ~778 caracteres |\n", + "| Optimizado| ~149 caracteres |\n", "\n", - "- La configuración por defecto de PaddleOCR ya está **bien optimizada** para documentos de alta calidad\n", - "- La optimización de hiperparámetros aporta beneficios más significativos en **documentos desafiantes** (baja resolución, ruido, orientación irregular)\n", - "- Para documentos estándar de oficina, la configuración por defecto es **suficientemente robusta**\n", - "\n", - "### Recomendación\n", - "\n", - "Para la tesis, se recomienda presentar estos resultados como evidencia de que:\n", - "\n", - "> \"La optimización de hiperparámetros mediante Ray Tune con Optuna permite identificar configuraciones que **mantienen el rendimiento baseline** en documentos estándar mientras **mejoran significativamente** el procesamiento de documentos más complejos, como se demostró en el experimento de tuning con una mejora del 8.3% en CER.\"\n", - "\n", - "### Trabajo Futuro Sugerido\n", - "\n", - "1. Evaluar en un dataset más diverso con documentos de diferentes calidades\n", - "2. Crear subconjuntos de evaluación por nivel de dificultad\n", - "3. Analizar casos específicos donde la configuración optimizada supera al baseline" + "La diferencia de **~629 caracteres menos con errores** puede ser significativa para tareas downstream como NER o análisis semántico." ] } ],