{"id":6932,"date":"2022-11-21T13:44:42","date_gmt":"2022-11-21T12:44:42","guid":{"rendered":"https:\/\/natifai.threeoax.com\/messung-von-ocr-qualitat\/"},"modified":"2023-01-26T12:16:29","modified_gmt":"2023-01-26T11:16:29","slug":"evaluation-of-ocr-quality","status":"publish","type":"post","link":"https:\/\/natifai.threeoax.com\/en\/evaluation-of-ocr-quality\/","title":{"rendered":"About the importance of OCR quality and how to measure it"},"content":{"rendered":"\n<div id=\"gspb_text-id-gsbp-caf77a5c-0052\" class=\"gspb_text gspb_text-id-gsbp-caf77a5c-0052 \">Optical Character Recognition (OCR) is the process of converting images of documents or text into machine-readable text. OCR is not a new technology, but is currently experiencing massive demand due to the increasing automation of business processes in organizations. Almost all business processes involve documents at one point or another. To make the information actionable for automation, we need OCR, and we need it to be as good as possible.<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"gspb_heading-id-gsbp-4dfa85ef-4a97\" class=\"gspb_heading gspb_heading-id-gsbp-4dfa85ef-4a97 \"><strong><strong>The importance of OCR quality<\/strong><\/strong><\/h3>\n\n\n\n<div id=\"gspb_text-id-gsbp-d7ca2772-b327\" class=\"gspb_text gspb_text-id-gsbp-d7ca2772-b327 \">To make the importance of OCR quality tangible, let\u2019s look at more advanced automation tasks, such as Document Classification and Key Information Extraction.<\/div>\n\n\n\n<h4 id=\"gspb_heading-id-gsbp-83ca8d7b-f876\" class=\"gspb_heading gspb_heading-id-gsbp-83ca8d7b-f876 \">\u00a0<strong>Document classification<\/strong>:<\/h4>\n\n\n\n<div id=\"gspb_text-id-gsbp-9716c9c1-4d33\" class=\"gspb_text gspb_text-id-gsbp-9716c9c1-4d33 \">Frequently, incoming documents are read with OCR and then classified in order to make them accessible to the right employees or to direct them to the right processes.<br>The demands on the quality of the classification are high, but how can something be sent to the right employee if it has already not been read correctly? In other words, how can my documents be classified if the underlying OCR does not read them correctly?<\/div>\n\n\n\n<h4 id=\"gspb_heading-id-gsbp-99601fb3-ef58\" class=\"gspb_heading gspb_heading-id-gsbp-99601fb3-ef58 \"><strong>Key information extraction<\/strong>:<\/h4>\n\n\n\n<div id=\"gspb_text-id-gsbp-e2d15e44-c53e\" class=\"gspb_text gspb_text-id-gsbp-e2d15e44-c53e \">Similarly, documents are often read with OCR to extract key information from the documents, to automatically feed processes with explicit information, or simply to save employees from tedious retyping. How can an algorithm, with fewer errors than a human, extract information from documents if the underlying text has not been read correctly?<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_infoBox-id-gsbp-954ce48a-f795\" class=\"gspb_infoBox gspb_infoBox-id-gsbp-954ce48a-f795 wp-block-greenshift-blocks-infobox\"><div class=\"gs-box blue_type \"><div class=\"gs-box-icon\"><\/div><div class=\"gs-box-text\">\n<div id=\"gspb_text-id-gsbp-786fae0e-651b\" class=\"gspb_text gspb_text-id-gsbp-786fae0e-651b \"><strong>Conclusion<\/strong><br><br>OCR quality sets the natural upper bound for automation rates of document processes.<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-04ebf394-29c4\" class=\"gspb_text gspb_text-id-gsbp-04ebf394-29c4 \">Although we have just seen how important the topic is, there are only a handful of real OCR engine providers on the market.<br>Why \u201creal\u201d? Often OCR is purchased as a technology and offered as a white label solution. The technology providers behind it are often the same.<br>To name the most well-known on the market:<\/div>\n\n\n\n<div id=\"gspb_iconsList-id-gsbp-51c534ec-2d62\" class=\"gspb_iconsList gspb_iconsList-id-gsbp-51c534ec-2d62 wp-block-greenshift-blocks-iconlist\"><div class=\"gspb_iconsList__item\" data-id=\"0\"><svg class=\"\" style=\"display:inline-block;vertical-align:middle\" width=\"18\" height=\"18\" viewBox=\"0 0 384 1024\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path style=\"fill:#565D66\" d=\"M375.6 529l-293.6 296c-9.4 9.4-24.6 9.4-34 0l-39.6-39.6c-9.4-9.4-9.4-24.6 0-34l237-239.4-237-239.4c-9.4-9.4-9.4-24.6 0-34l39.6-39.6c9.4-9.4 24.6-9.4 34 0l293.6 296c9.4 9.4 9.4 24.6 0 34z\"><\/path><\/svg><span class=\"gspb_iconsList__item__text\">Amazon Textract<\/span><\/div><div class=\"gspb_iconsList__item\" data-id=\"1\"><svg class=\"\" style=\"display:inline-block;vertical-align:middle\" width=\"18\" height=\"18\" viewBox=\"0 0 384 1024\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path style=\"fill:#565D66\" d=\"M375.6 529l-293.6 296c-9.4 9.4-24.6 9.4-34 0l-39.6-39.6c-9.4-9.4-9.4-24.6 0-34l237-239.4-237-239.4c-9.4-9.4-9.4-24.6 0-34l39.6-39.6c9.4-9.4 24.6-9.4 34 0l293.6 296c9.4 9.4 9.4 24.6 0 34z\"><\/path><\/svg><span class=\"gspb_iconsList__item__text\">Microsoft Azure Cognitive Services<\/span><\/div><div class=\"gspb_iconsList__item\" data-id=\"2\"><svg class=\"\" style=\"display:inline-block;vertical-align:middle\" width=\"18\" height=\"18\" viewBox=\"0 0 384 1024\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path style=\"fill:#565D66\" d=\"M375.6 529l-293.6 296c-9.4 9.4-24.6 9.4-34 0l-39.6-39.6c-9.4-9.4-9.4-24.6 0-34l237-239.4-237-239.4c-9.4-9.4-9.4-24.6 0-34l39.6-39.6c9.4-9.4 24.6-9.4 34 0l293.6 296c9.4 9.4 9.4 24.6 0 34z\"><\/path><\/svg><span class=\"gspb_iconsList__item__text\">Google Vision<\/span><\/div><div class=\"gspb_iconsList__item\" data-id=\"3\"><svg class=\"\" style=\"display:inline-block;vertical-align:middle\" width=\"18\" height=\"18\" viewBox=\"0 0 384 1024\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path style=\"fill:#565D66\" d=\"M375.6 529l-293.6 296c-9.4 9.4-24.6 9.4-34 0l-39.6-39.6c-9.4-9.4-9.4-24.6 0-34l237-239.4-237-239.4c-9.4-9.4-9.4-24.6 0-34l39.6-39.6c9.4-9.4 24.6-9.4 34 0l293.6 296c9.4 9.4 9.4 24.6 0 34z\"><\/path><\/svg><span class=\"gspb_iconsList__item__text\">Tesseract (OpenSource)<\/span><\/div><div class=\"gspb_iconsList__item\" data-id=\"4\"><svg class=\"\" style=\"display:inline-block;vertical-align:middle\" width=\"18\" height=\"18\" viewBox=\"0 0 384 1024\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path style=\"fill:#565D66\" d=\"M375.6 529l-293.6 296c-9.4 9.4-24.6 9.4-34 0l-39.6-39.6c-9.4-9.4-9.4-24.6 0-34l237-239.4-237-239.4c-9.4-9.4-9.4-24.6 0-34l39.6-39.6c9.4-9.4 24.6-9.4 34 0l293.6 296c9.4 9.4 9.4 24.6 0 34z\"><\/path><\/svg><span class=\"gspb_iconsList__item__text\">Abbyy<\/span><\/div><div class=\"gspb_iconsList__item\" data-id=\"5\"><svg class=\"\" style=\"display:inline-block;vertical-align:middle\" width=\"18\" height=\"18\" viewBox=\"0 0 384 1024\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path style=\"fill:#565D66\" d=\"M375.6 529l-293.6 296c-9.4 9.4-24.6 9.4-34 0l-39.6-39.6c-9.4-9.4-9.4-24.6 0-34l237-239.4-237-239.4c-9.4-9.4-9.4-24.6 0-34l39.6-39.6c9.4-9.4 24.6-9.4 34 0l293.6 296c9.4 9.4 9.4 24.6 0 34z\"><\/path><\/svg><span class=\"gspb_iconsList__item__text\"><a href=\"https:\/\/platform.natif.ai\/register\" data-type=\"URL\" data-id=\"https:\/\/platform.natif.ai\/register\" target=\"_blank\" rel=\"noreferrer noopener\">natif.ai Plattform<\/a><\/span><\/div><\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"gspb_heading-id-gsbp-b2b0034c-5937\" class=\"gspb_heading gspb_heading-id-gsbp-b2b0034c-5937 \">A metrics to measure OCR\u00a0quality<\/h3>\n\n\n\n<div id=\"gspb_text-id-gsbp-e7cf041d-4743\" class=\"gspb_text gspb_text-id-gsbp-e7cf041d-4743 \">To measure the quality of these providers we need a validation dataset (Ground Truth) that contains document pages with picture perfect OCR results and a suitable metric that indicates how high the quality is or, conversely, how low the error rate is compared to the validation set.<\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-d44410bd-adf8\" class=\"gspb_text gspb_text-id-gsbp-d44410bd-adf8 \">The terms <strong>character error rate (CER)<\/strong> or <strong>word error rate<\/strong> <strong>(WER)<\/strong> immediately come to mind. These metrics measure what percentage of characters\/words in a given text are incorrect. Both metrics are quite similar, with the word error rate penalizing small errors more than the character error rate, since a single error with one letter already makes a whole word wrong. A good article about the metrics is by <a href=\"https:\/\/towardsdatascience.com\/evaluating-ocr-output-quality-with-character-error-rate-cer-and-word-error-rate-wer-853175297510\" target=\"_blank\" rel=\"noreferrer noopener\">Kenneth Leung<\/a>.<\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-a9d2b2e5-4e8f\" class=\"gspb_text gspb_text-id-gsbp-a9d2b2e5-4e8f \">The two metrics are great for plain text. However, documents are text with a layout. The two metrics completely ignore where text was read and how wide or high the text is written at the corresponding position. In addition, it\u2019s often hard to turn an entire document page into plain text so that you could apply CER or WHO. The reading order from left to right and top to bottom does not always make sense and is implemented differently from OCR engine to OCR engine\u200a\u2014\u200atherefore a comparison only with CER or WER cannot be done.<\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-16844879-bebd\" class=\"gspb_text gspb_text-id-gsbp-16844879-bebd \">Fortunately, all OCR engines have one thing in common: besides pure text, they also deliver bounding boxes on word level with position coordinates and the word contained in them.<\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-1c4ea54a-6e96\" class=\"gspb_text gspb_text-id-gsbp-1c4ea54a-6e96 \">A nice metrics that integrates a matching of layout based on word level bounding boxes is provided in the <a href=\"https:\/\/github.com\/faustomorales\/keras-ocr#comparing-keras-ocr-and-other-ocr-approaches\" target=\"_blank\" rel=\"noreferrer noopener\">keras-ocr<\/a> Github repository:<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_infoBox-id-gsbp-95a8e995-d302\" class=\"gspb_infoBox gspb_infoBox-id-gsbp-95a8e995-d302 wp-block-greenshift-blocks-infobox\"><div class=\"gs-box blue_type \"><div class=\"gs-box-icon\"><\/div><div class=\"gs-box-text\">\n<div id=\"gspb_text-id-gsbp-354869ed-21ab\" class=\"gspb_text gspb_text-id-gsbp-354869ed-21ab \">\u201cPrecision and recall were computed based on an intersection over union of 50% or higher and a text similarity to ground truth of 50% or higher.\u201d\u200a\u2014\u200akeras-ocr maintainer<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-7cc1f7a6-3a56\" class=\"gspb_text gspb_text-id-gsbp-7cc1f7a6-3a56 \">Intersection over union (<a href=\"https:\/\/medium.com\/analytics-vidhya\/iou-intersection-over-union-705a39e7acef\" target=\"_blank\" rel=\"noreferrer noopener\">IoU<\/a>) handles the position of the text and the text similarity is measured with CER. So, basically every single text box where the IoU to a given Ground Truth sample is higher then 50% and the CER is less then 50% compared to the Ground Truth is considered to be a match. Yes, it\u2019s true this metrics is a very rough abstraction but tends to be a useful indication as we will see in the evaluation.<\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-4fa91ace-0608\" class=\"gspb_text gspb_text-id-gsbp-4fa91ace-0608 \">Now let\u2019s look at an example where the above metric clearly fails. The following image shows the potential output of an OCR engine in line 1) and the bounding boxes of the ground truth example in line 2). Both outputs look fine, while the output in the second line is more fine-grained. The metrics presented above would probably penalize the output of the OCR engine with a 0% match.<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_image-id-gsbp-ec491cc5-5864\" class=\"gspb_image gspb_image-id-gsbp-ec491cc5-5864 wp-block-greenshift-blocks-image\"><img decoding=\"async\" src=\"https:\/\/natifai.threeoax.com\/wp-content\/uploads\/2023\/01\/Bounding-Boxes.png\" data-src=\"\" alt=\"\" width=\"600px\" height=\"292\"\/><\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-f9250bce-1d6d\" class=\"gspb_text gspb_text-id-gsbp-f9250bce-1d6d \">Different ways to define word level bounding boxes<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-f1df0dc7-56d9\" class=\"gspb_text gspb_text-id-gsbp-f1df0dc7-56d9 \">The problem that becomes apparent here is simply that it is not always clear how word-level bounding boxes should be created. Separating or joining text components is penalized too much by rigid metrics, although it is more a matter of taste.<\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-f3845e0d-7683\" class=\"gspb_text gspb_text-id-gsbp-f3845e0d-7683 \">Fortunately, a few clever minds have already given some thought to this very problem and presented a solution in <a href=\"https:\/\/hal.inria.fr\/hal-01981731\/document\" target=\"_blank\" rel=\"noreferrer noopener\">Metrics for Complete Evaluation of OCR Performance<\/a>. A procedure is proposed which allows matching of word-level bounding boxes; does not penalize word-level splits and merges; makes CER and WER applicable to the contents of the boxes. The underlying algorithm is called <strong>ZoneMapAltCnt<\/strong>.<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_infoBox-id-gsbp-802e4624-1e58\" class=\"gspb_infoBox gspb_infoBox-id-gsbp-802e4624-1e58 wp-block-greenshift-blocks-infobox\"><div class=\"gs-box grey_type \"><div class=\"gs-box-icon\"><\/div><div class=\"gs-box-text\">\n<div id=\"gspb_text-id-gsbp-7a2699ef-bc62\" class=\"gspb_text gspb_text-id-gsbp-7a2699ef-bc62 \"><em>We define the ZoneMapAltCnt metric [\u2026] and show that it offers the most reliable and complete evaluation [\u2026]<\/em><\/div>\n<\/div><\/div><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-8a7c8d45-c5d0\" class=\"gspb_text gspb_text-id-gsbp-8a7c8d45-c5d0 \">ZoneMapAltCnt first matches bounding boxes between the OCR output and the ground truth using the <strong>link force<\/strong> between the boxes. It is based on their mutual coverage rates; basically, the larger the intersection area between two boxes, the larger the link force. As the algorithm keeps track of the number of the resulting links, it is made explicit if the OCR engine performed word-level splits and merges.<\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-5bd362f2-50d7\" class=\"gspb_text gspb_text-id-gsbp-5bd362f2-50d7 \">This then allows a fine-grained approach to calculating CER and WER. If the OCR engine performed a split, ZoneMapAltCnt compares the ground truth with the concatenation of the split text to determine metrics for the given area. If the OCR engine performed a merge, the algorithm compares the concatenation of the resp. ground truth words with the OCR output. That way, ZoneMapAltCnt provides a meaningful way to measure OCR quality even if the engine makes different word-level splitting and merging decisions than the ground truth.<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"gspb_heading-id-gsbp-a43c6385-3fad\" class=\"gspb_heading gspb_heading-id-gsbp-a43c6385-3fad \">Evaluation<\/h3>\n\n\n\n<div id=\"gspb_text-id-gsbp-3d37c0eb-380d\" class=\"gspb_text gspb_text-id-gsbp-3d37c0eb-380d \">If you want to conduct your own experiments and implementation of the metric will soon be found on GitHub. For now, we ran ZoneMapScoreAlt with WER and CER, as well as the introduced keras-ocr metric on a dataset of ~100 document pages and show the results.<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_image-id-gsbp-ec2ff916-fceb\" class=\"gspb_image gspb_image-id-gsbp-ec2ff916-fceb wp-block-greenshift-blocks-image\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/natifai.threeoax.com\/wp-content\/uploads\/2023\/01\/OCR-Quality-metrics-by-provider.png\" data-src=\"\" alt=\"\" width=\"4096\" height=\"1917\"\/><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-45c02edb-bb59\" class=\"gspb_text gspb_text-id-gsbp-45c02edb-bb59 \">The evaluation shows that among the hyperscalers Amazon, Google and Microsoft, Microsoft clearly offers the best solution for OCR. The top dog Abbyy, which is known for its OCR technology, performs relatively poorly, but is still ahead of the open source alternative Tesseract. The best quality across all metrics is shown by <a href=\"https:\/\/platform.natif.ai\/register#1\" target=\"_blank\" rel=\"noreferrer noopener\">natif.ai Platform<\/a> , probably the least known provider.<br>In honor of OpenSource, it should perhaps be mentioned that Tesseract can be further improved through targeted training. This feature is also offered by natif.ai on our <a href=\"https:\/\/platform.natif.ai\/register#1\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/platform.natif.ai\/register#1\" rel=\"noreferrer noopener\">online platform<\/a>.<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"gspb_heading-id-gsbp-0d04f569-33d1\" class=\"gspb_heading gspb_heading-id-gsbp-0d04f569-33d1 \">Data protection<\/h3>\n\n\n\n<div id=\"gspb_text-id-gsbp-336e1add-3109\" class=\"gspb_text gspb_text-id-gsbp-336e1add-3109 \">It has nothing to do with OCR quality, but is probably a big influencing factor for many European companies looking for the best OCR solution\u200a\u2014\u200aGDPR.<\/div>\n\n\n\n<div id=\"gspb_text-id-gsbp-0c1ea4f7-2541\" class=\"gspb_text gspb_text-id-gsbp-0c1ea4f7-2541 \">Abbyy, Tesseract and natif.ai can be installed on-premise and are therefore not a problem. The cloud variant of Abbyy, as well as the solutions of the hyperscalers, are not without risk, at least as far as Schrems II is concerned. Our <a href=\"https:\/\/platform.natif.ai\/register#1\" data-type=\"URL\" data-id=\"https:\/\/platform.natif.ai\/register#1\" target=\"_blank\" rel=\"noreferrer noopener\">Platform<\/a> is the only one to offer a <a href=\"https:\/\/natifai.threeoax.com\/en\/gdpr\/\" target=\"_blank\" data-type=\"page\" data-id=\"6483\" rel=\"noreferrer noopener\">GDPR and Schrems II compliant<\/a> OCR solution even in the cloud.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Almost all business processes involve documents at one point or another. To make the information actionable for automation, we need OCR, and we need it to be as good as possible.<\/p>\n","protected":false},"author":3,"featured_media":5340,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gspb_post_css":".gspb_text-id-gsbp-caf77a5c-0052,.gspb_text-id-gsbp-caf77a5c-0052 .wp-block,.gspb_text-id-gsbp-d7ca2772-b327,.gspb_text-id-gsbp-d7ca2772-b327 .wp-block{font-size:18px}#gspb_heading-id-gsbp-83ca8d7b-f876,#gspb_heading-id-gsbp-83ca8d7b-f876 .gsap-g-line,#gspb_heading-id-gsbp-83ca8d7b-f876 .wp-block{text-align:left!important}.gs-box-text>p{margin-bottom:20px;margin-top:0}.gs-box-text>p:last-of-type{margin-bottom:0}.gs-box.blue_type{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}#gspb_infoBox-id-gsbp-954ce48a-f795 .gs-box{box-shadow:0 5px 15px 0 rgba(0,0,0,.1)}#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList .gspb_iconsList__item__text{margin-left:15px}#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList .gspb_iconsList__item{display:flex;flex-direction:row;align-items:center;position:relative}#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList .gspb_iconsList__item svg path{fill:var(--linkInitialColor, #2184f9)!important}#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList{padding-right:0;padding-left:30px}#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList [data-id='0'] svg,#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList [data-id='1'] svg,#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList [data-id='2'] svg,#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList [data-id='3'] svg,#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList [data-id='4'] svg,#gspb_iconsList-id-gsbp-51c534ec-2d62.gspb_iconsList [data-id='5'] svg{overflow:visible}#gspb_infoBox-id-gsbp-95a8e995-d302 .gs-box{box-shadow:0 5px 15px 0 rgba(0,0,0,.1)}#gspb_image-id-gsbp-ec491cc5-5864{text-align:center;height:auto}#gspb_image-id-gsbp-ec491cc5-5864 img{width:600px;height:auto}.gspb_text-id-gsbp-f9250bce-1d6d,.gspb_text-id-gsbp-f9250bce-1d6d .gsap-g-line,.gspb_text-id-gsbp-f9250bce-1d6d .wp-block{text-align:center!important}.gs-box{padding:20px;border-left:5px solid transparent;margin-bottom:25px}.gs-box.grey_type{background:#ddd;border-color:#ccc;color:#444}#gspb_infoBox-id-gsbp-802e4624-1e58 .gs-box{background-color:var(--paletteColor8, #ffffff)}#gspb_image-id-gsbp-ec2ff916-fceb img,#gspb_image-id-gsbp-ec491cc5-5864 img{vertical-align:top;display:inline-block}","inline_featured_image":false,"footnotes":""},"categories":[64],"tags":[],"class_list":["post-6932","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-en"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/posts\/6932","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/comments?post=6932"}],"version-history":[{"count":6,"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/posts\/6932\/revisions"}],"predecessor-version":[{"id":7617,"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/posts\/6932\/revisions\/7617"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/media\/5340"}],"wp:attachment":[{"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/media?parent=6932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/categories?post=6932"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/natifai.threeoax.com\/en\/wp-json\/wp\/v2\/tags?post=6932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}