	{"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\/fr\/blog\/how-to-train-a-language-model-from-scratch-without-any-linguistic-knowledge\/","title":{"rendered":"Comment former un mod\u00e8le linguistique \u00e0 partir de z\u00e9ro sans aucune connaissance linguistique ?"},"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=\"Moyen 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>ACTUALIT\u00c9S \/ TECHNOLOGIE DE L'AI<\/p>\n<\/div><div class=\"fusion-text fusion-text-2\"><p>25 novembre 2020<br \/>\nDans cet article, Amale El Hamri, scientifique senior Data \u00e0 Artefact France, explique comment former un mod\u00e8le linguistique sans comprendre la langue elle-m\u00eame. L'article comprend des conseils sur l'origine des data d'entra\u00eenement, la quantit\u00e9 de data dont vous avez besoin, le pr\u00e9traitement de vos data et la recherche d'une architecture et d'un ensemble d'hyperparam\u00e8tres qui conviennent le mieux \u00e0 votre mod\u00e8le.<\/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=\"\">Cet article explique comment j'ai cr\u00e9\u00e9 mon propre mod\u00e8le linguistique en cor\u00e9en, une langue complexe pour laquelle la formation est limit\u00e9e data. Vous apprendrez ici comment former un mod\u00e8le linguistique sans avoir le luxe de comprendre cette langue vous-m\u00eame. Vous trouverez des conseils sur l'obtention de data d'entra\u00eenement, la quantit\u00e9 de data dont vous avez besoin, le pr\u00e9traitement de votre data et la recherche d'une architecture et d'un ensemble d'hyperparam\u00e8tres qui conviennent le mieux \u00e0 votre mod\u00e8le.<\/p>\n<p><em>Mes principaux enseignements sont les suivants :<\/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\">Collection 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=\"\">Lorsque Wikip\u00e9dia n'a pas un volume suffisant ou qu'elle n'est pas suffisamment utilis\u00e9e par les locuteurs natifs de la langue \u00e0 partir de laquelle vous souhaitez former votre mod\u00e8le linguistique, il est judicieux de combiner Wikip\u00e9dia avec d'autres sources data telles que 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\">Volume 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=\"\">Choisissez les documents qui repr\u00e9sentent le mieux la langue cor\u00e9enne. Un trop grand nombre de documents ne serait pas utile, car l'am\u00e9lioration marginale des performances serait trop faible par rapport \u00e0 l'\u00e9norme temps de formation.<\/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=\"\">Choisissez des documents qui contiennent les mots les plus utilis\u00e9s dans la langue cor\u00e9enne.<\/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=\"\">Trouvez une architecture qui parvienne \u00e0 mod\u00e9liser la complexit\u00e9 de la formation 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=\"\">Trouvez la bonne combinaison de param\u00e8tres de r\u00e9gularisation pour ne pas surajuster.<\/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;\">Introduction<\/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\">Si vous ne le savez pas encore, l'apprentissage par transfert a connu un v\u00e9ritable engouement au cours des deux derni\u00e8res ann\u00e9es. L'id\u00e9e principale est de r\u00e9utiliser des mod\u00e8les de langage pr\u00e9-entra\u00een\u00e9s pour une autre t\u00e2che de NLP telle que la classification de texte. Un mod\u00e8le de langage est un mod\u00e8le d'apprentissage profond qui, \u00e0 partir d'une partie de phrase, est capable de pr\u00e9dire le mot suivant de la phrase. L'intuition qu'il faut en tirer est que ce type de mod\u00e8le comprend tr\u00e8s bien la structure de la langue, la grammaire, le vocabulaire, et l'objectif est de \u2018transf\u00e9rer\u2019 cette connaissance \u00e0 d'autres mod\u00e8les en aval.<\/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>Exemple : une recette simple sur la fa\u00e7on d'am\u00e9liorer un classificateur de texte en utilisant le r\u00e9glage fin<\/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\">Cette figure r\u00e9sume la m\u00e9thode ULM Fit que j'ai utilis\u00e9e pour entra\u00eener mon mod\u00e8le linguistique et donc l'affiner et le transf\u00e9rer dans un classificateur de texte.<\/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=\"\">\u00c9tape 1 : Entra\u00eenez un mod\u00e8le linguistique g\u00e9n\u00e9ral sur un large corpus de data dans la langue cible. Ce mod\u00e8le sera capable de comprendre la structure de la langue, la grammaire et le vocabulaire 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=\"\">\u00c9tape 2 : Ajustez le mod\u00e8le linguistique g\u00e9n\u00e9ral \u00e0 la formation \u00e0 la classification data. Ainsi, votre mod\u00e8le apprendra mieux \u00e0 repr\u00e9senter le vocabulaire utilis\u00e9 dans votre corpus de formation.<\/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=\"\">\u00c9tape 3 : Entra\u00eenez un classificateur de texte \u00e0 l'aide de votre mod\u00e8le linguistique pr\u00e9-entra\u00een\u00e9. Cette m\u00e9thode permet \u00e0 votre mod\u00e8le de comprendre les mots dans leur contexte. En outre, l'utilisation d'un mod\u00e8le linguistique pr\u00e9-entra\u00een\u00e9 vous permet d'entra\u00eener votre classificateur sur tr\u00e8s peu d'exemples d'entra\u00eenement (400 textes par \u00e9tiquette suffisent).<\/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\">Nous savons d\u00e9j\u00e0 que la classification des textes fonctionne bien pour l'anglais, le fran\u00e7ais, l'allemand, l'espagnol, le chinois... mais que faire pour les langues pour lesquelles il n'existe que tr\u00e8s peu de mod\u00e8les linguistiques disponibles sur le march\u00e9 ?<\/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\">Avant d'entrer dans les d\u00e9tails, vous vous demandez peut-\u00eatre pourquoi un scientifique fran\u00e7ais data comme moi voudrait avoir un classificateur de texte en cor\u00e9en ? La raison est que je fais partie d'un projet qui d\u00e9veloppe un produit pour classer les messages des m\u00e9dias sociaux en diff\u00e9rentes cat\u00e9gories. Apr\u00e8s avoir valid\u00e9 la m\u00e9thodologie en anglais et en fran\u00e7ais, nous avons commenc\u00e9 \u00e0 l'\u00e9tendre \u00e0 d'autres langues (anglais, fran\u00e7ais, japonais, chinois et cor\u00e9en).<\/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\">Seul le cor\u00e9en repr\u00e9sentait un d\u00e9fi plus important, car il n'existait pas de mod\u00e8le linguistique pr\u00e9-entra\u00een\u00e9 en source ouverte, et j'ai donc d\u00fb le faire moi-m\u00eame avec tr\u00e8s peu de ressources linguistiques cor\u00e9ennes.<\/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\">Cet article se concentre sur la classification de textes cor\u00e9ens \u00e0 l'aide de la m\u00e9thode multi-fit expliqu\u00e9e ci-dessous. <a class=\"ck ju\" href=\"https:\/\/arxiv.org\/abs\/1909.04761\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">papier<\/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\">De nombreuses langues sont tr\u00e8s repr\u00e9sent\u00e9es sur le web, telles que l'anglais, le chinois, l'espagnol, le portugais et le fran\u00e7ais : L'anglais, le chinois, l'espagnol, le portugais, le fran\u00e7ais... Le cor\u00e9en reste tr\u00e8s peu document\u00e9 et peu de contenu est pr\u00eat \u00e0 \u00eatre r\u00e9utilis\u00e9. J'ai donc pens\u00e9 \u00e0 apporter ma contribution en partageant avec vous mes apprentissages cl\u00e9s, tout en d\u00e9couvrant le NLP cor\u00e9en.<\/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\">Dans cet article, je vais vous raconter mon parcours pour former un mod\u00e8le de langue cor\u00e9enne sans comprendre un seul mot de cor\u00e9en et comment je l'ai utilis\u00e9 pour la classification de textes.<\/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\">Avis de non-responsabilit\u00e9 :\u00a0<\/strong>Habituellement, nous consid\u00e9rons qu'un mod\u00e8le de langage est bon lorsqu'il atteint une pr\u00e9cision d'environ 45-50%. Mon objectif n'\u00e9tant pas de g\u00e9n\u00e9rer du texte cor\u00e9en, je n'ai pas besoin d'atteindre de telles performances : J'ai seulement besoin d'un mod\u00e8le qui \u201ccomprenne\u201d la grammaire et la structure de la langue cor\u00e9enne afin de pouvoir l'utiliser pour entra\u00eener un classificateur de texte cor\u00e9en.<\/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 - Collection Data pour l'entra\u00eenement au mod\u00e8le linguistique<\/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 - Source 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\">Habituellement, lors de l'entra\u00eenement d'un mod\u00e8le linguistique \u00e0 partir de z\u00e9ro, le tutoriel ULM FiT sugg\u00e8re de t\u00e9l\u00e9charger tout le contenu de Wikip\u00e9dia dans la langue donn\u00e9e. Ces recommandations ne fonctionnent que si les locuteurs natifs de cette langue ont l'habitude de publier beaucoup sur ce 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 cor\u00e9en, il semble que les gens ne soient pas habitu\u00e9s : non seulement le contexte cor\u00e9en de Wikipedia n'a pas assez de volume, mais il n'est pas non plus repr\u00e9sentatif de la langue maternelle cor\u00e9enne.<\/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\">Voici une comparaison entre le nombre d'articles dans les Wikip\u00e9dias anglaise et cor\u00e9enne pour vous donner quelques indications :<\/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>Volume de Wikip\u00e9dia dans diff\u00e9rentes langues<\/em><\/figcaption><\/figure>\n<\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Mon conseil : J'ai combin\u00e9 des articles de Wikipedia avec Common Crawl data que vous pouvez t\u00e9l\u00e9charger \u00e0 partir de <a class=\"ck ju\" href=\"https:\/\/traces1.inria.fr\/oscar\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">ici<\/a>.<\/p>\n<p><strong style=\"color: #ff0066;\">1.2 - Volume du Data<\/strong><\/p>\n<p>Rappelons qu'un mod\u00e8le de langage est un mod\u00e8le cens\u00e9 pr\u00e9dire le mot suivant dans un texte. Pour ce faire, notre mod\u00e8le doit avoir vu un grand nombre d'exemples pour apprendre la langue et \u00eatre capable de la parler. Ceci \u00e9tant dit, il n'est pas utile d'aller au-del\u00e0 de 100 millions de tokens. Cela ne fait qu'ajouter de la complexit\u00e9 \u00e0 votre mod\u00e8le ainsi qu'un temps d'apprentissage consid\u00e9rable.<\/p>\n<p>Ainsi, \u00e0 premi\u00e8re vue, une fois que j'ai r\u00e9cup\u00e9r\u00e9 tous les documents de Wikipedia et de Common Crawl data, je me suis retrouv\u00e9 avec bien plus de 100 millions de tokens, et j'ai donc d\u00fb choisir les documents les plus pertinents pour entra\u00eener mon mod\u00e8le. L'objectif de ma m\u00e9thodologie est de conserver les documents qui repr\u00e9sentent le mieux la langue cor\u00e9enne :<\/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=\"\">J'ai d'abord effectu\u00e9 une faible tok\u00e9nisation sur mon corpus afin d'obtenir une approximation du nombre de tokens que j'avais en divisant le corpus sur les espaces.<\/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=\"\">J'ai supprim\u00e9 tous les chiffres, les \u00e9mojis, la ponctuation et les autres symboles qui ne sont pas sp\u00e9cifiques au cor\u00e9en des jetons que j'ai obtenus.<\/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=\"\">J'ai calcul\u00e9 un compteur de tous les tokens de mon corpus et j'ai r\u00e9cup\u00e9r\u00e9 les 70 000 tokens les plus mentionn\u00e9s.<\/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=\"\">J'ai ensuite r\u00e9cup\u00e9r\u00e9 les documents qui mentionnent la plupart des termes les plus utilis\u00e9s, de sorte que mon corpus soit constitu\u00e9 de 100 millions de termes, et voil\u00e0 mon corpus de formation !<\/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\">Maintenant que nous disposons de notre corpus brut de formation, nous pouvons commencer \u00e0 travailler !<\/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 - Data tokenization<\/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\">Je suppose que lorsque je vous ai dit tout \u00e0 l'heure que j'avais tokenis\u00e9 avec une fonction split, vous avez commenc\u00e9 \u00e0 penser que cet article \u00e9tait vraiment une blague, mais rassurez-vous, cela n'a jamais \u00e9t\u00e9 ma finalit\u00e9 !<\/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\">Tout d'abord, rappelons qu'aucun autre pr\u00e9traitement data n'est n\u00e9cessaire pour l'entra\u00eenement d'un mod\u00e8le de langage. Un grand nombre de t\u00e2ches NLP proc\u00e8dent \u00e0 l'\u00e9puration du texte en supprimant les chiffres, les mots vides, les minuscules, les troncs d'arbre... Toutes ces op\u00e9rations priveraient votre texte de son contexte et notre objectif \u00e9tant d'apprendre \u00e0 parler cor\u00e9en, nous devons conserver tout notre texte tel qu'il a \u00e9t\u00e9 \u00e9crit \u00e0 l'origine.<\/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\">Pour tokeniser le texte cor\u00e9en, j'ai essay\u00e9 deux mod\u00e8les de tokenisation :<\/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\">Mod\u00e8le spacy cor\u00e9en<\/a> qui est un wrapper pour le tokenizer cor\u00e9en 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\">pi\u00e8ce de phrase<\/a>\u00a0mod\u00e8le de tokenizer subwords entra\u00een\u00e9 sur mon corpus avec 28000 tokens maximum<\/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\">Comme le recommande la\u00a0<a class=\"ck ju\" href=\"https:\/\/nlp.fast.ai\/classification\/2019\/09\/10\/multifit.html\" rel=\"noopener nofollow\" target=\"_blank\">article multifit<\/a>, J'ai choisi la deuxi\u00e8me option pour avoir une granularit\u00e9 de sous-mots.<\/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 - Mod\u00e8le de formation<\/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\">Lors de la formation d'un mod\u00e8le linguistique ou de tout autre mod\u00e8le, les deux choses que vous voulez \u00e9viter sont les suivantes\u00a0<strong class=\"ik jv\">sous-adaptation<\/strong>\u00a0et\u00a0<strong class=\"ik jv\">surajustement.<\/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 mod\u00e8le\u00a0<strong class=\"ik jv\">sous convient<\/strong> lorsqu'il est trop simple par rapport \u00e0 la data qu'il tente de mod\u00e9liser. Vous pouvez d\u00e9tecter cela lorsque vous constatez que votre mod\u00e8le ne peut pas apprendre sur votre data d'apprentissage et que votre perte d'apprentissage ne converge pas du tout vers 0.<\/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\">Au contraire, un mod\u00e8le\u00a0<strong class=\"ik jv\">plus s'adapte<\/strong>\u00a0lorsqu'il apprend \u201ctrop bien\u201d \u00e0 mod\u00e9liser votre data d'apprentissage mais que ses performances restent faibles sur le data de test. C'est le signe que votre mod\u00e8le n'est pas susceptible de bien pr\u00e9dire data qu'il n'a pas vu.<\/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\">Lorsque j'ai commenc\u00e9 \u00e0 entra\u00eener mon mod\u00e8le de langage, j'ai d'abord eu du mal \u00e0 apprendre quoi que ce soit de mon data. Comme vous pouvez le voir sur l'image ci-dessous, apr\u00e8s 10 \u00e9poques d'entra\u00eenement, ma perte d'entra\u00eenement ne diminuait pas d'un pouce.<\/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\">Cela signifie que mon mod\u00e8le \u00e9tait trop simple pour repr\u00e9senter la complexit\u00e9 de la langue cor\u00e9enne.<\/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\">Voici ce que j'ai fait pour r\u00e9soudre ce probl\u00e8me :<\/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\">Comme vous pouvez l'imaginer, le d\u00e9bogage d'un mod\u00e8le d'apprentissage profond n'est pas facile car il existe de nombreux degr\u00e9s de libert\u00e9. Vous devez trouver la bonne structure de r\u00e9seau ainsi que le bon ensemble d'hyperparam\u00e8tres.<\/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\">Pour simplifier le probl\u00e8me au d\u00e9part, la bonne m\u00e9thode consiste \u00e0 essayer de surajuster un seul lot de data. L'id\u00e9e ici est de s'assurer que, \u00e9tant donn\u00e9 un certain nombre de data, votre mod\u00e8le est capable d'interpr\u00e9ter sa complexit\u00e9 et d'obtenir de bons r\u00e9sultats sur l'ensemble d'apprentissage.<\/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\">Voici toutes les choses que j'ai essay\u00e9es :<\/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=\"\">Augmenter la taille de l'encastrement<\/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=\"\">Augmenter le nombre de couches cach\u00e9es<\/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=\"\">Modification des fonctions de l'optimiseur<\/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=\"\">Modification du taux d'apprentissage<\/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\">Apr\u00e8s de nombreuses tentatives, voici la structure et les hyperparam\u00e8tres qui ont permis \u00e0 mon mod\u00e8le de commencer \u00e0 apprendre :<\/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\">Architecture du r\u00e9seau 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=\"\">Structure du 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=\"\">Nombre de couches cach\u00e9es : 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=\"\">Nombre de couches : 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=\"\">Taille de l'image : 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\">Une fois que votre mod\u00e8le est capable de pr\u00e9dire correctement sur votre ensemble d'apprentissage, la prochaine chose que vous voulez \u00e9viter est le surajustement.<\/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\">Voici quelques r\u00e9gularisations que j'ai essay\u00e9es pour m'assurer que mon mod\u00e8le ne serait pas surajout\u00e9.<\/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=\"\">Ajouter l'abandon<\/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=\"\">Ajouter la d\u00e9croissance pond\u00e9rale<\/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=\"\">Ajouter un \u00e9cr\u00eatage de d\u00e9grad\u00e9<\/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\">Voici les r\u00e9gularisateurs que j'ai utilis\u00e9s pour entra\u00eener mon mod\u00e8le :<\/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=\"\">Taux d'apprentissage : 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=\"\">D\u00e9croissance du poids : 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=\"\">\u00c9cr\u00eatage du d\u00e9grad\u00e9 : 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>R\u00e9sultats<\/strong><\/span><\/p>\n<p>Apr\u00e8s avoir entra\u00een\u00e9 mon mod\u00e8le pendant 15 \u00e9poques, j'ai finalement atteint une pr\u00e9cision de 25% et une perplexit\u00e9 de 100. Comme je l'ai dit au d\u00e9but, je n'ai jamais eu l'intention d'utiliser mon mod\u00e8le de langage pour g\u00e9n\u00e9rer du texte. Je suis donc d\u00e9j\u00e0 satisfait de savoir que mon mod\u00e8le est capable de pr\u00e9dire correctement un mot sur 4.<\/p>\n<p>J'ai ensuite r\u00e9utilis\u00e9 mon mod\u00e8le pr\u00e9-entra\u00een\u00e9 pour la classification de texte. L'ensemble dataset que j'ai utilis\u00e9 est un ensemble dataset \u00e9quilibr\u00e9 compos\u00e9 de 10k documents sociaux provenant d'Instagram, de Facebook, de Youtube et de sites web qui ont \u00e9t\u00e9 \u00e9tiquet\u00e9s comme \u201clabel1\u201d ou non \u201cnot label1\u201d. Mon objectif \u00e9tait de pr\u00e9dire si une nouvelle publication concerne le \u201clabel1\u201d ou non.<\/p>\n<p>Voici les performances que j'obtiens pour toutes les langues que nous avons d\u00e9velopp\u00e9es :<\/p>\n<p>Image pour le poste<\/p>\n<p>Performances des classificateurs de textes en diff\u00e9rentes langues<\/p>\n<p>Ainsi, m\u00eame sans parler la langue et sans entra\u00eener moi-m\u00eame le mod\u00e8le linguistique pr\u00e9-entra\u00een\u00e9, les performances du classificateur de texte cor\u00e9en atteignent assez bien les performances des autres langues.<\/p>\n<p>J'ai encore beaucoup de choses \u00e0 essayer pour am\u00e9liorer les performances que j'obtiens, mais c'\u00e9tait tout de m\u00eame une sorte de gr\u00eale marie d'apprendre \u00e0 traiter des documents d'une langue complexe comme le cor\u00e9en sans en comprendre un mot et sans trouver d'informations et de conseils pertinents sur le web.<\/p>\n<p><span style=\"color: #ff0066;\"><strong>Prochaines \u00e9tapes<\/strong><\/span><\/p>\n<p>Je viens de d\u00e9crire comment j'ai pu am\u00e9liorer un mod\u00e8le de classification de texte cor\u00e9en en tirant parti d'un mod\u00e8le de langage simple cr\u00e9\u00e9 de toutes pi\u00e8ces. Les performances initiales sont d\u00e9j\u00e0 bonnes, mais il est possible de les am\u00e9liorer. Je pense que les points sur lesquels j'aimerais travailler \u00e0 court terme sont les suivants :<\/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=\"\">Relisez la tokenisation : comme je ne parle pas un mot de cor\u00e9en, il serait int\u00e9ressant qu'un Cor\u00e9en de naissance examine la tokenisation et confirme qu'elle a du sens.<\/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=\"\">Am\u00e9liorez mon mod\u00e8le linguistique et comparez les performances de classification :<\/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=\"\">L'apprentissage par transfert d'un mod\u00e8le linguistique r\u00e9trospectif, qui s'est av\u00e9r\u00e9 plus performant pour l'anglais ou le fran\u00e7ais.<\/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=\"\">Apprentissage par transfert d'un mod\u00e8le linguistique bidirectionnel.<\/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=\"\">Avoir des taux d'apprentissage dynamiques pendant la formation pour \u00e9viter d'\u00eatre bloqu\u00e9 dans un minimum local.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/medium.com\/artefact-engineering-and-data-science\" target=\"_blank\" rel=\"noopener noreferrer\">Cet article a \u00e9t\u00e9 publi\u00e9 pour la premi\u00e8re fois sur The Artefact Tech Blog - une biblioth\u00e8que d'articles sur l'ing\u00e9nierie et la science 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>Int\u00e9ress\u00e9 par le num\u00e9rique et le data marketing ?<\/b><\/p>\n<p>Inscrivez-vous \u00e0 Data Digest, la lettre d'information de Artefact, pour recevoir chaque mois dans votre bo\u00eete aux lettres \u00e9lectronique des conseils, des id\u00e9es et des avis utiles.<\/p>\n<p><b>Inscrivez-moi !<\/b><\/p>\n<\/div><\/div><\/div><\/div><\/div><\/p>","protected":false},"excerpt":{"rendered":"<p>25 novembre 2020<br \/>\nDans cet article, Amale El Hamri, scientifique senior Data \u00e0 Artefact France, explique comment former un mod\u00e8le linguistique sans comprendre la langue elle-m\u00eame. L'article comprend des conseils sur l'origine des data d'entra\u00eenement, la quantit\u00e9 de data dont vous avez besoin, le pr\u00e9traitement de vos data et la recherche d'une architecture et d'un ensemble d'hyperparam\u00e8tres qui conviennent le mieux \u00e0 votre mod\u00e8le.<\/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\/fr\/wp-json\/wp\/v2\/blog\/21374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/types\/blog"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/media\/21375"}],"wp:attachment":[{"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/media?parent=21374"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/blog-category?post=21374"},{"taxonomy":"blog-language","embeddable":true,"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/blog-language?post=21374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}