	{"id":21374,"date":"2020-11-25T09:37:20","date_gmt":"2020-11-25T09:37:20","guid":{"rendered":"https:\/\/www.artefact.com\/?post_type=news&#038;p=21374"},"modified":"2024-09-20T17:45:32","modified_gmt":"2024-09-20T16:45:32","slug":"how-to-train-a-language-model-from-scratch-without-any-linguistic-knowledge","status":"publish","type":"blog","link":"https:\/\/www.artefact.com\/es\/blog\/how-to-train-a-language-model-from-scratch-without-any-linguistic-knowledge\/","title":{"rendered":"C\u00f3mo entrenar un modelo ling\u00fc\u00edstico desde cero sin ning\u00fan conocimiento ling\u00fc\u00edstico"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-bottom:40px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_2 1_2 fusion-flex-column avada-news-bloc-image\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-image-element\" style=\"text-align:left;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"300\" height=\"74\" title=\"Mediano Blog\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-300x74.png\" alt class=\"lazyload img-responsive wp-image-60582\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%274000%27%20height%3D%27992%27%20viewBox%3D%270%200%204000%20992%27%3E%3Crect%20width%3D%274000%27%20height%3D%27992%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-200x50.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-400x99.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-600x149.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-800x198.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-1200x298.png 1200w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 800px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-padding-top:10px;--awb-padding-right:10px;--awb-padding-bottom:10px;--awb-padding-left:10px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><p>NOTICIAS \/ TECNOLOG\u00cdA AI<\/p>\n<\/div><div class=\"fusion-text fusion-text-2\"><p>25 de noviembre de 2020<br \/>\nEn este art\u00edculo, Amale El Hamri, cient\u00edfico senior de Data en Artefact Francia, explica c\u00f3mo entrenar un modelo ling\u00fc\u00edstico sin tener que entender la lengua usted mismo. El art\u00edculo incluye consejos sobre de d\u00f3nde obtener data de entrenamiento, cu\u00e1nto data necesita, c\u00f3mo preprocesar su data y c\u00f3mo encontrar una arquitectura y un conjunto de hiperpar\u00e1metros que se adapten mejor a su modelo.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-color:#ffffff;--awb-bg-color-hover:#ffffff;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-3\" style=\"--awb-text-color:#000000;\"><p data-selectable-paragraph=\"\"><strong><span style=\"color: #ff0066;\">TLDR<\/span><\/strong><\/p>\n<p id=\"d30c\" class=\"ii ij dn ik b il im hp in io ip ht iq ir is it iu iv iw ix iy iz ja jb jc jd df ek\" data-selectable-paragraph=\"\">Este art\u00edculo explica c\u00f3mo cre\u00e9 mi propio modelo ling\u00fc\u00edstico hecho en coreano, un idioma complejo con un entrenamiento limitado data. Aqu\u00ed podr\u00e1 aprender a entrenar un modelo ling\u00fc\u00edstico sin tener el lujo de entender este idioma usted mismo. Encontrar\u00e1 consejos sobre de d\u00f3nde obtener data de entrenamiento, cu\u00e1nto data necesita, c\u00f3mo preprocesar su data y c\u00f3mo encontrar una arquitectura y un conjunto de hiperpar\u00e1metros que se adapten mejor a su modelo.<\/p>\n<p><em>Mis principales aprendizajes son:<\/em><\/p>\n<p id=\"fbfb\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Colecci\u00f3n Data:<\/p>\n<ul class=\"\">\n<li id=\"c08c\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Cuando la Wikipedia no tiene suficiente volumen o no es suficientemente utilizada por hablantes nativos de la lengua a partir de la cual quiere entrenar su modelo ling\u00fc\u00edstico, una buena opci\u00f3n es combinar la Wikipedia con otras fuentes data como CommonCrawl.<\/li>\n<\/ul>\n<p id=\"f465\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Volumen Data:<\/p>\n<ul class=\"\">\n<li id=\"9d15\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Elija los documentos que mejor representen la lengua coreana. Demasiados documentos no ser\u00edan \u00fatiles, ya que la mejora marginal del rendimiento ser\u00eda demasiado peque\u00f1a en comparaci\u00f3n con el enorme tiempo de entrenamiento.<\/li>\n<li id=\"d32b\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Elija documentos que contengan las palabras m\u00e1s utilizadas en lengua coreana.<\/li>\n<li id=\"b6cc\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Encontrar una arquitectura que consiga modelizar la complejidad de la formaci\u00f3n data.<\/li>\n<li id=\"c290\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Encuentre la combinaci\u00f3n adecuada de par\u00e1metros de regularizaci\u00f3n para no sobreajustar.<\/li>\n<\/ul>\n<p id=\"2e04\" class=\"hk hl dn ce hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ek\"><strong><span style=\"color: #ff0066;\">Introducci\u00f3n<\/span><\/strong><\/p>\n<p class=\"hk hl dn ce hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ek\">Por si a\u00fan no lo sabe, la PNL ha experimentado un gran auge del aprendizaje por transferencia en estos dos \u00faltimos a\u00f1os. La idea principal es reutilizar modelos de lenguaje preentrenados para otra tarea de PNL, como la clasificaci\u00f3n de textos. Un modelo de lenguaje es un modelo de aprendizaje profundo que, dada una parte de una frase, es capaz de predecir la siguiente palabra de la frase. La intuici\u00f3n que se desprende de esto es que este tipo de modelo entiende muy bien la estructura del lenguaje, la gram\u00e1tica, el vocabulario, y el objetivo es \u2018transferir\u2019 ese conocimiento a otros modelos posteriores.<\/p>\n<div class=\"gt gu gv gw aj gx\" tabindex=\"0\" role=\"button\">\n<div class=\"cx cy jr\">\n<div class=\"hd s gv he\">\n<div class=\"js hg s\">\n<div class=\"gy gz t u v ha aj bm hb hc\"><\/div>\n<p><img decoding=\"async\" class=\"lazyload tq tr t u v ha aj c aligncenter\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0maA5NXtXpMp8KerA.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0maA5NXtXpMp8KerA.png\" data-sizes=\"auto\" data-orig-sizes=\"700px\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271020%27%20height%3D%27433%27%20viewBox%3D%270%200%201020%20433%27%3E%3Crect%20width%3D%271020%27%20height%3D%27433%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0maA5NXtXpMp8KerA.png 276w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0maA5NXtXpMp8KerA.png 552w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0maA5NXtXpMp8KerA.png 640w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0maA5NXtXpMp8KerA.png 700w\" alt=\"Image for post\" width=\"1020\" height=\"433\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p id=\"8777\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\" style=\"text-align: center;\"><em>Ejemplo: una receta sencilla sobre c\u00f3mo mejorar un clasificador de texto mediante el ajuste fino<\/em><\/p>\n<p id=\"d4c8\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Esta figura resume el m\u00e9todo ULM Fit que utilic\u00e9 para entrenar mi modelo ling\u00fc\u00edstico y as\u00ed afinarlo y transferirlo a un clasificador de texto.<\/p>\n<ul class=\"\">\n<li id=\"73f0\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Paso 1: Entrene un modelo ling\u00fc\u00edstico general sobre un corpus amplio de data en la lengua meta. Este modelo ser\u00e1 capaz de comprender la estructura de la lengua, la gram\u00e1tica y el vocabulario principal.<\/li>\n<li id=\"cd1a\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Paso 2: Ajuste el modelo ling\u00fc\u00edstico general a la clasificaci\u00f3n de entrenamiento data. Al hacerlo, su modelo aprender\u00e1 mejor a representar el vocabulario que se utiliza en su corpus de entrenamiento.<\/li>\n<li id=\"797c\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Paso 3: Entrene un clasificador de texto utilizando su modelo ling\u00fc\u00edstico preentrenado y afinado. Este m\u00e9todo permite a su modelo comprender las palabras en su contexto. Adem\u00e1s, el uso de un modelo ling\u00fc\u00edstico preentrenado le permite entrenar su clasificador con muy pocos ejemplos de entrenamiento (tan s\u00f3lo 400 textos por etiqueta har\u00edan el trabajo).<\/li>\n<\/ul>\n<p id=\"819b\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Ya sabemos que la clasificaci\u00f3n de textos funciona muy bien en ingl\u00e9s, franc\u00e9s, alem\u00e1n, espa\u00f1ol, chino... pero \u00bfqu\u00e9 debemos hacer en lenguas con muy pocos modelos ling\u00fc\u00edsticos disponibles?<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Antes de entrar en m\u00e1s detalles, quiz\u00e1 se pregunte por qu\u00e9 un cient\u00edfico data franc\u00e9s como yo querr\u00eda tener un clasificador de texto en coreano. La raz\u00f3n es que formo parte de un proyecto que desarrolla un producto para clasificar las publicaciones de los medios sociales en diferentes categor\u00edas. Tras validar la metodolog\u00eda en ingl\u00e9s y franc\u00e9s, empezamos a escalarla a otros idiomas (ingl\u00e9s, franc\u00e9s, japon\u00e9s, chino y coreano).<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">S\u00f3lo que el reto era mayor en coreano porque no se pod\u00eda encontrar ning\u00fan modelo ling\u00fc\u00edstico preentrenado en c\u00f3digo abierto, as\u00ed que tuve que hacerlo yo mismo con muy pocos recursos ling\u00fc\u00edsticos coreanos.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Este art\u00edculo se centrar\u00e1 en la clasificaci\u00f3n de textos coreanos mediante el m\u00e9todo de ajuste m\u00faltiple que se explica a continuaci\u00f3n <a class=\"ck ju\" href=\"https:\/\/arxiv.org\/abs\/1909.04761\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">papel<\/a>.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Muchos idiomas est\u00e1n muy representados en la web como: Ingl\u00e9s, chino, espa\u00f1ol, portugu\u00e9s, franc\u00e9s... El coreano sigue estando muy poco documentado y no hay muchos contenidos listos para su reutilizaci\u00f3n. As\u00ed que pens\u00e9 en contribuir compartiendo mis principales aprendizajes con ustedes, mientras descubr\u00eda la PNL coreana.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">En este art\u00edculo le contar\u00e9 mi viaje para entrenar un modelo ling\u00fc\u00edstico coreano sin entender una sola palabra de coreano y c\u00f3mo lo utilic\u00e9 para la clasificaci\u00f3n de textos.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\"><strong class=\"ik jv\">Descargo de responsabilidad:\u00a0<\/strong>Normalmente, consideramos que un modelo ling\u00fc\u00edstico es bueno cuando alcanza una precisi\u00f3n de alrededor de 45-50%. Como mi objetivo no es generar textos en coreano, no necesito alcanzar tales rendimientos: S\u00f3lo necesito un modelo que \u201centienda\u201d la gram\u00e1tica y la estructura de la lengua coreana para poder utilizarlo para entrenar un clasificador de texto coreano.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-color:#ffffff;--awb-bg-color-hover:#ffffff;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-4\" style=\"--awb-text-color:#000000;\"><p id=\"9349\" class=\"hk hl dn ce hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ek\"><span style=\"color: #ff0066;\"><strong>1 - Colecci\u00f3n Data para el entrenamiento del modelo ling\u00fc\u00edstico<\/strong><\/span><\/p>\n<p class=\"hk hl dn ce hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ek\"><span style=\"color: #ff0066;\"><strong>1.1 - Fuente Data<\/strong><\/span><\/p>\n<p id=\"fb69\" class=\"ii ij dn ik b il im hp in io ip ht iq ir is it iu iv iw ix iy iz ja jb jc jd df ek\">Normalmente, cuando se entrena un modelo ling\u00fc\u00edstico desde cero, las sugerencias del tutorial de ULM FiT consisten en descargar todo el contenido de Wikipedia en el idioma en cuesti\u00f3n. Estas directrices s\u00f3lo funcionan si los hablantes nativos de esta lengua est\u00e1n acostumbrados a publicar mucho en este canal.<\/p>\n<p class=\"ii ij dn ik b il im hp in io ip ht iq ir is it iu iv iw ix iy iz ja jb jc jd df ek\">En coreano, parece que la gente no est\u00e1 acostumbrada: no s\u00f3lo el contexto coreano de Wikipedia no tiene suficiente volumen, sino que tampoco es representativo del habla coreana nativa.<\/p>\n<p class=\"ii ij dn ik b il im hp in io ip ht iq ir is it iu iv iw ix iy iz ja jb jc jd df ek\">He aqu\u00ed una comparaci\u00f3n entre el n\u00famero de art\u00edculos de la Wikipedia en ingl\u00e9s y en coreano para dar algunas pistas:<\/p>\n<div class=\"cx cy jw\">\n<div class=\"hd s gv he\">\n<div class=\"jx hg s\" style=\"text-align: center;\">\n<div class=\"gy gz t u v ha aj bm hb hc\"><\/div>\n<p><img decoding=\"async\" class=\"lazyload tq tr t u v ha aj c aligncenter\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/1-Lj8fQGUHUKcgH-CYxd8Uw.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/1-Lj8fQGUHUKcgH-CYxd8Uw.png\" data-sizes=\"auto\" data-orig-sizes=\"611px\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27611%27%20height%3D%2795%27%20viewBox%3D%270%200%20611%2095%27%3E%3Crect%20width%3D%27611%27%20height%3D%2795%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/1-Lj8fQGUHUKcgH-CYxd8Uw.png 276w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/1-Lj8fQGUHUKcgH-CYxd8Uw.png 552w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/1-Lj8fQGUHUKcgH-CYxd8Uw.png 611w\" alt=\"Image for post\" width=\"611\" height=\"95\" \/><\/p>\n<figure class=\"gn go gp gq gr gs cx cy paragraph-image\"><figcaption class=\"jy jz cz cx cy ka kb ce b eu cg fx\" data-selectable-paragraph=\"\"><em>Volumen de Wikipedia en diferentes idiomas<\/em><\/figcaption><\/figure>\n<\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Mi consejo: Combin\u00e9 los art\u00edculos de Wikipedia con Common Crawl data que puede descargar de <a class=\"ck ju\" href=\"https:\/\/traces1.inria.fr\/oscar\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">aqu\u00ed<\/a>.<\/p>\n<p><strong style=\"color: #ff0066;\">1,2 - Data volumen<\/strong><\/p>\n<p>Recordemos que un modelo ling\u00fc\u00edstico es un modelo que debe predecir la siguiente palabra de un texto. Para ello, nuestro modelo debe haber visto muchos ejemplos para aprender la lengua y ser bueno habl\u00e1ndola. Dicho esto, no es \u00fatil ir m\u00e1s all\u00e1 de 100 millones de tokens. S\u00f3lo a\u00f1ade complejidad a su modelo, as\u00ed como un enorme tiempo de entrenamiento.<\/p>\n<p>As\u00ed, a primera vista, una vez recuperados todos los documentos de Wikipedia y Common Crawl data, me encontr\u00e9 con mucho m\u00e1s de 100 millones de tokens, por lo que tuve que escoger los documentos m\u00e1s relevantes con los que entrenar mi modelo. El objetivo de mi metodolog\u00eda es quedarme con los documentos que representan de la mejor manera la lengua coreana nativa:<\/p>\n<ol class=\"\">\n<li id=\"2e13\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd kc jk jl ek\" data-selectable-paragraph=\"\">Primero realic\u00e9 una tokenizaci\u00f3n d\u00e9bil en mi corpus para aproximarme al n\u00famero de tokens que ten\u00eda dividiendo el corpus en espacios.<\/li>\n<li id=\"f246\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd kc jk jl ek\" data-selectable-paragraph=\"\">He eliminado todos los n\u00fameros, emojis, signos de puntuaci\u00f3n y otros s\u00edmbolos que no son espec\u00edficos del coreano de mis fichas obtenidas.<\/li>\n<li id=\"7991\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd kc jk jl ek\" data-selectable-paragraph=\"\">Calcul\u00e9 un contador de todas las fichas de mi corpus y recuper\u00e9 las 70.000 fichas m\u00e1s mencionadas.<\/li>\n<li id=\"bc31\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd kc jk jl ek\" data-selectable-paragraph=\"\">A continuaci\u00f3n, recuper\u00e9 documentos que mencionan la mayor\u00eda de los tokens m\u00e1s utilizados, de tal forma que mi corpus estar\u00eda formado por 100 millones de tokens, \u00a1y ah\u00ed ten\u00eda mi corpus de entrenamiento!<\/li>\n<\/ol>\n<p id=\"c754\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Ahora que tenemos nuestro corpus bruto de formaci\u00f3n, \u00a1podemos empezar a hacer negocios de verdad!<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\"><span style=\"color: #ff0066;\"><strong>2 - Tokenizaci\u00f3n Data<\/strong><\/span><\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Supongo que cuando le dije antes que hab\u00eda tokenizado con una funci\u00f3n de divisi\u00f3n, empez\u00f3 a pensar que este art\u00edculo era realmente una broma, pero vamos a tranquilizarle, \u00a1este nunca fue mi objetivo final!<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">En primer lugar, recordemos que para entrenar un modelo ling\u00fc\u00edstico no es necesario ning\u00fan otro preprocesamiento data. Muchas tareas de PNL eliminan del texto los n\u00fameros, las palabras vac\u00edas, las min\u00fasculas, la ra\u00edz del texto... Todo ello despojar\u00eda al texto de su contexto y nuestro objetivo es aprender a hablar coreano, por lo que debemos mantener todo el texto tal y como fue escrito originalmente.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Para tokenizar el texto coreano prob\u00e9 dos modelos de tokenizaci\u00f3n:<\/p>\n<ul class=\"\">\n<li id=\"d36a\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\"><a class=\"ck ju\" href=\"https:\/\/github.com\/explosion\/spaCy\/tree\/master\/spacy\/lang\/ko\" rel=\"noopener nofollow\" target=\"_blank\">Modelo spacy coreano<\/a> que es una envoltura del tokenizador coreano mecab.<\/li>\n<li id=\"3ebc\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\"><a class=\"ck ju\" href=\"https:\/\/github.com\/google\/sentencepiece\" rel=\"noopener nofollow\" target=\"_blank\">pieza de sentencia<\/a>\u00a0modelo tokenizador de subpalabras entrenado en mi corpus con 28000 tokens m\u00e1ximos<\/li>\n<\/ul>\n<p id=\"510f\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Como se recomienda en el\u00a0<a class=\"ck ju\" href=\"https:\/\/nlp.fast.ai\/classification\/2019\/09\/10\/multifit.html\" rel=\"noopener nofollow\" target=\"_blank\">art\u00edculo multifit<\/a>, opt\u00e9 por la segunda opci\u00f3n para tener una granularidad de subpalabra.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\"><strong><span style=\"color: #ff0066;\">3 - Modelo de formaci\u00f3n<\/span><\/strong><\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Al entrenar un modelo ling\u00fc\u00edstico, as\u00ed como al entrenar cualquier modelo, las dos cosas que quiere evitar son\u00a0<strong class=\"ik jv\">subajuste<\/strong>\u00a0y\u00a0<strong class=\"ik jv\">sobreajuste.<\/strong><\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Un modelo\u00a0<strong class=\"ik jv\">under fits<\/strong> cuando es demasiado simple con respecto al data que intenta modelar. Puede detectarlo cuando vea que su modelo no puede aprender en su data de entrenamiento y que su p\u00e9rdida de entrenamiento no converge a 0 en absoluto.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Por el contrario, un modelo\u00a0<strong class=\"ik jv\">sobre ajustes<\/strong>\u00a0cuando aprende \u201cdemasiado bien\u201d a modelar su data de entrenamiento pero ese rendimiento sigue siendo bajo en el data de prueba. Eso es se\u00f1al de que su modelo no puede predecir bien data que no ha visto.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Cuando empec\u00e9 a entrenar mi modelo ling\u00fc\u00edstico, al principio me costaba mucho aprender algo de mi data. Como puede ver en la imagen inferior, despu\u00e9s de 10 epochs de entrenamiento mi p\u00e9rdida de entrenamiento no disminu\u00eda ni un \u00e1pice.<\/p>\n<div class=\"gt gu gv gw aj gx\" tabindex=\"0\" role=\"button\">\n<div class=\"cx cy kd\">\n<div class=\"hd s gv he\">\n<div class=\"ke hg s\">\n<p><img decoding=\"async\" class=\"lazyload tq tr t u v ha aj c aligncenter\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0IU-CQKAbqWW_heiB.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0IU-CQKAbqWW_heiB.png\" data-sizes=\"auto\" data-orig-sizes=\"700px\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27716%27%20height%3D%27432%27%20viewBox%3D%270%200%20716%20432%27%3E%3Crect%20width%3D%27716%27%20height%3D%27432%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0IU-CQKAbqWW_heiB.png 276w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0IU-CQKAbqWW_heiB.png 552w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0IU-CQKAbqWW_heiB.png 640w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0IU-CQKAbqWW_heiB.png 700w\" alt=\"Image for post\" width=\"716\" height=\"432\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p id=\"7409\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Lo que significa es que mi modelo era demasiado simple para representar la complejidad de la lengua coreana.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Esto es lo que hice para superar este problema:<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Como puede imaginar, depurar cualquier modelo de aprendizaje profundo no es f\u00e1cil, ya que existen muchos grados de libertad. Tiene que encontrar la estructura de red adecuada, as\u00ed como el conjunto correcto de hiperpar\u00e1metros.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Para simplificar el problema al principio, lo correcto es intentar sobreajustar un \u00fanico lote de data. La idea aqu\u00ed es asegurarse de que dado un cierto data, su modelo es capaz de interpretar su complejidad y rendir bien en el conjunto de entrenamiento.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Aqu\u00ed est\u00e1n todas las cosas que prob\u00e9 :<\/p>\n<ul class=\"\">\n<li id=\"46bd\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Aumentar el tama\u00f1o de la incrustaci\u00f3n<\/li>\n<li id=\"4727\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Aumentar el n\u00famero de capas ocultas<\/li>\n<li id=\"a0be\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Cambio de las funciones del optimizador<\/li>\n<li id=\"085d\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Cambiar el ritmo de aprendizaje<\/li>\n<\/ul>\n<p id=\"9594\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Tras muchos intentos, he aqu\u00ed la estructura y los hiperpar\u00e1metros que permitieron a mi modelo empezar a aprender :<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Arquitectura de la red neuronal:<\/p>\n<ul class=\"\">\n<li id=\"3703\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Estructura de QRNN<\/li>\n<li id=\"a89d\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">N\u00famero de capas ocultas: 2500<\/li>\n<li id=\"69bf\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">N\u00famero de capas : 4<\/li>\n<li id=\"3ea6\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Tama\u00f1o de incrustaci\u00f3n : 768<\/li>\n<\/ul>\n<p id=\"9f79\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Una vez que su modelo sea capaz de predecir correctamente en su conjunto de entrenamiento, lo siguiente que querr\u00e1 evitar es el sobreajuste.<\/p>\n<p class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">He aqu\u00ed algunas regularizaciones que prob\u00e9 para asegurarme de que mi modelo no se ajustara en exceso.<\/p>\n<ul class=\"\">\n<li id=\"191d\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">A\u00f1adir abandono<\/li>\n<li id=\"7c3e\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">A\u00f1adir decaimiento del peso<\/li>\n<li id=\"0000\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">A\u00f1adir recorte de degradado<\/li>\n<\/ul>\n<p id=\"e1c1\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd df ek\">Aqu\u00ed est\u00e1n los regularizadores que utilic\u00e9 para entrenar mi modelo:<\/p>\n<ul class=\"\">\n<li id=\"fe77\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Tasa de aprendizaje: 0.0002<\/li>\n<li id=\"a072\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Decaimiento del peso: 1e-8<\/li>\n<li id=\"bc79\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Recorte de degradado: 0.25<\/li>\n<\/ul>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-color:#ffffff;--awb-bg-color-hover:#ffffff;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\" style=\"--awb-text-color:#000000;\"><p><span style=\"color: #ff0066;\"><strong>Resultados<\/strong><\/span><\/p>\n<p>Tras entrenar mi modelo durante 15 \u00e9pocas, finalmente alcanc\u00e9 una precisi\u00f3n de 25% y una perplejidad de 100. Como dije al principio, nunca tuve la intenci\u00f3n de utilizar mi modelo ling\u00fc\u00edstico para la generaci\u00f3n de textos, as\u00ed que ya estaba satisfecho de saber que mi modelo es capaz de predecir correctamente una de cada 4 palabras.<\/p>\n<p>A continuaci\u00f3n, volv\u00ed a utilizar mi modelo preentrenado para la clasificaci\u00f3n de texto. El dataset que utilic\u00e9 es un dataset equilibrado compuesto por 10.000 documentos sociales procedentes de Instagram, Facebook, Youtube y sitios web etiquetados como \u201clabel1\u201d o no \u201cnot label1\u201d. Mi objetivo era predecir si una nueva publicaci\u00f3n trata sobre \u201cetiqueta1\u201d o no.<\/p>\n<p>Aqu\u00ed est\u00e1n los rendimientos que obtengo para todas las lenguas que desarrollamos:<\/p>\n<p>Imagen para el puesto<\/p>\n<p>Rendimiento de los clasificadores de texto en diferentes idiomas<\/p>\n<p>As\u00ed, incluso sin hablar el idioma ni entrenar yo mismo el modelo ling\u00fc\u00edstico preentrenado, los rendimientos del clasificador de texto coreano alcanzan bastante bien los rendimientos de otros idiomas.<\/p>\n<p>A\u00fan tengo muchas cosas que deber\u00eda intentar para mejorar las prestaciones que obtengo pero, a\u00fan as\u00ed, fue una especie de granizo mary aprender a procesar documentos de un idioma complejo como el coreano sin entender ni una palabra y sin encontrar informaci\u00f3n y consejos relevantes en la web.<\/p>\n<p><span style=\"color: #ff0066;\"><strong>Pr\u00f3ximos pasos<\/strong><\/span><\/p>\n<p>Acabo de describir c\u00f3mo podr\u00eda mejorar un modelo de clasificaci\u00f3n de texto coreano aprovechando un modelo ling\u00fc\u00edstico sencillo hecho desde cero. El rendimiento inicial ya es bueno, pero hay margen de mejora. Creo que en lo que me gustar\u00eda trabajar a corto plazo ser\u00eda:<\/p>\n<ul class=\"\">\n<li id=\"11e5\" class=\"ii ij dn ik b il je hp in io jf ht iq ir jg it iu iv jh ix iy iz ji jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Corregir la tokenizaci\u00f3n: como no hablo ni una palabra de coreano, ser\u00eda interesante que un coreano nativo echara un vistazo a la tokenizaci\u00f3n y confirmara que tiene sentido.<\/li>\n<li id=\"182a\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Mejore mi modelo ling\u00fc\u00edstico y compare los resultados de clasificaci\u00f3n:<\/li>\n<li id=\"30ab\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Transferir-aprender un modelo ling\u00fc\u00edstico retrospectivo, ya que parec\u00eda tener m\u00e1s rendimiento en ingl\u00e9s o franc\u00e9s.<\/li>\n<li id=\"0ae5\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Aprendizaje por transferencia de un modelo ling\u00fc\u00edstico bidireccional.<\/li>\n<li id=\"281a\" class=\"ii ij dn ik b il jm hp in io jn ht iq ir jo it iu iv jp ix iy iz jq jb jc jd jj jk jl ek\" data-selectable-paragraph=\"\">Disponer de ritmos de aprendizaje din\u00e1micos durante el entrenamiento para evitar quedarse atascado en un m\u00ednimo local.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/medium.com\/artefact-engineering-and-data-science\" target=\"_blank\" rel=\"noopener noreferrer\">Este art\u00edculo se public\u00f3 por primera vez en The Artefact Tech Blog - una biblioteca de art\u00edculos de ingenier\u00eda y ciencia data.<\/a><\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--link_hover_color: #ff0066;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-image-element\" style=\"text-align:center;--awb-margin-top:0px;--awb-margin-right:0px;--awb-margin-bottom:0px;--awb-margin-left:0px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><img decoding=\"async\" width=\"1057\" height=\"591\" title=\"data-driven\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271057%27%20height%3D%27591%27%20viewBox%3D%270%200%201057%20591%27%3E%3Crect%20width%3D%271057%27%20height%3D%27591%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.artefact.com\/wp-content\/uploads\/2020\/06\/Global-Newsletter-Data-Digest_LinkedIn_600x315_april.jpg\" alt class=\"lazyload img-responsive wp-image-30246\"\/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-center fusion-column-inner-bg-wrapper\" style=\"--awb-inner-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><span class=\"fusion-column-inner-bg hover-type-none\"><a class=\"fusion-column-anchor\" href=\"https:\/\/go.pardot.com\/l\/597421\/2020-05-06\/2k5zzj\" target=\"_blank\" rel=\"noopener\"><span class=\"fusion-column-inner-bg-image\"><\/span><\/a><\/span><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column\"><div class=\"fusion-text fusion-text-6\"><p><b>\u00bfInteresado en digital y data marketing?<\/b><\/p>\n<p>Suscr\u00edbase a Data Digest, el bolet\u00edn de Artefact, para recibir consejos pr\u00e1cticos, ideas y opiniones en su bandeja de entrada todos los meses.<\/p>\n<p><b>\u00a1Ap\u00fanteme!<\/b><\/p>\n<\/div><\/div><\/div><\/div><\/div><\/p>","protected":false},"excerpt":{"rendered":"<p>25 de noviembre de 2020<br \/>\nEn este art\u00edculo, Amale El Hamri, cient\u00edfico senior de Data en Artefact Francia, explica c\u00f3mo entrenar un modelo ling\u00fc\u00edstico sin tener que entender la lengua usted mismo. El art\u00edculo incluye consejos sobre de d\u00f3nde obtener data de entrenamiento, cu\u00e1nto data necesita, c\u00f3mo preprocesar su data y c\u00f3mo encontrar una arquitectura y un conjunto de hiperpar\u00e1metros que se adapten mejor a su modelo.<\/p>","protected":false},"featured_media":21375,"parent":0,"template":"","meta":{"_acf_changed":false,"ep_exclude_from_search":false},"blog-category":[2995,21930],"blog-language":[2991],"class_list":["post-21374","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-ai-technology","blog-category-finance","blog-language-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/blog\/21374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/types\/blog"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/media\/21375"}],"wp:attachment":[{"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/media?parent=21374"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/blog-category?post=21374"},{"taxonomy":"blog-language","embeddable":true,"href":"https:\/\/www.artefact.com\/es\/wp-json\/wp\/v2\/blog-language?post=21374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}