	{"id":21376,"date":"2020-11-24T16:12:06","date_gmt":"2020-11-24T16:12:06","guid":{"rendered":"https:\/\/www.artefact.com\/?post_type=news&#038;p=21376"},"modified":"2024-09-20T17:45:38","modified_gmt":"2024-09-20T16:45:38","slug":"nlu-benchmark-for-intent-detection-and-named-entity-recognition-in-call-center-conversations","status":"publish","type":"blog","link":"https:\/\/www.artefact.com\/fr\/blog\/nlu-benchmark-for-intent-detection-and-named-entity-recognition-in-call-center-conversations\/","title":{"rendered":"Crit\u00e8res d'\u00e9valuation de la NLU pour la d\u00e9tection d'intentions et la reconnaissance d'entit\u00e9s nomm\u00e9es dans les conversations des centres d'appels"},"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 \/>\nLes conseillers des centres d'appel commencent \u00e0 voir l'\u00e9mergence de la NLU dans leur vie quotidienne, ce qui les aide \u00e0 r\u00e9pondre plus facilement aux demandes des clients. Pour ce faire, un outil doit \u00eatre capable de reconna\u00eetre en m\u00eame temps la demande du client et ses caract\u00e9ristiques, en d'autres termes, une intention et des entit\u00e9s nomm\u00e9es.<\/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><em>\u201cOK Google, jouez les Rolling Stones sur Spotify\u201d, \u201cAlexa, quel temps fait-il \u00e0 Paris aujourd'hui ?\u201d, \u201cSiri, qui est le pr\u00e9sident fran\u00e7ais ?\u201d.\u201d<\/em><\/p>\n<p><span style=\"font-weight: 400;\">Si vous avez d\u00e9j\u00e0 utilis\u00e9 des assistants vocaux, vous avez indirectement eu recours \u00e0 des processus de compr\u00e9hension du langage naturel (NLU). La m\u00eame logique s'applique aux assistants de type chatbot ou au routage automatis\u00e9 des tickets dans les services clients. Depuis un certain temps, la NLU fait partie de notre quotidien et ce n'est probablement pas pr\u00e8s de s'arr\u00eater.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En automatisant l'extraction de l'intention du client, par exemple, NLU peut nous aider \u00e0 r\u00e9pondre plus rapidement et plus pr\u00e9cis\u00e9ment aux demandes de nos clients. C'est pourquoi toutes les grandes entreprises se sont lanc\u00e9es dans le d\u00e9veloppement de leur propre solution. Cependant, avec toutes les biblioth\u00e8ques et mod\u00e8les existants dans le domaine du NLU, tous revendiquant des r\u00e9sultats de pointe ou faciles \u00e0 obtenir, il est parfois compliqu\u00e9 de s'y retrouver. Apr\u00e8s avoir exp\u00e9riment\u00e9 diverses biblioth\u00e8ques dans le cadre de nos projets NLU au Artefact, nous avons voulu partager nos r\u00e9sultats et vous aider \u00e0 mieux comprendre les outils actuels dans le domaine NLU.<\/span><\/p>\n<p class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\"><span style=\"color: #ff0066;\"><strong>Qu'est-ce que NLU ?<\/strong><\/span><\/p>\n<p class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\">La compr\u00e9hension du langage naturel (NLU) est d\u00e9finie comme suit\u00a0<a class=\"ck jk\" href=\"https:\/\/www.gartner.com\/en\/information-technology\/glossary\/nlu-natural-language-understanding\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Gartner<\/a>\u00a0comme \u201cla compr\u00e9hension par des ordinateurs de la structure et de la signification du langage humain (<em class=\"jj\">par exemple.<\/em>, (anglais, espagnol, japonais), permettant aux utilisateurs d'interagir avec l'ordinateur \u00e0 l'aide de phrases naturelles\u201d. En d'autres termes, le NLU est un sous-domaine du artificial intelligence qui permet d'interpr\u00e9ter un texte en l'analysant, en le convertissant en langage informatique et en produisant un r\u00e9sultat sous une forme compr\u00e9hensible pour l'homme.<\/p>\n<p class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\">Si vous regardez de pr\u00e8s le fonctionnement des chatbots et des assistants virtuels, de votre demande \u00e0 leur r\u00e9ponse, le NLU est une couche qui extrait votre intention principale et toute information importante pour la machine afin qu'elle puisse r\u00e9pondre au mieux \u00e0 votre demande. Imaginons que vous appeliez le service client de votre marque pr\u00e9f\u00e9r\u00e9e pour savoir si le sac de vos r\u00eaves est enfin disponible dans votre ville : NLU dira \u00e0 l'assistant que vous avez une demande de disponibilit\u00e9 de produit et cherchera l'article en question dans la base de donn\u00e9es database pour savoir s'il est disponible \u00e0 l'endroit d\u00e9sir\u00e9. Gr\u00e2ce \u00e0 NLU, nous avons extrait une intention, un nom de produit et un lieu.<\/p>\n<div class=\"in io ip iq aj ir\" tabindex=\"0\" role=\"button\">\n<div class=\"cx cy jl\">\n<div class=\"ix s ip iy\">\n<div class=\"jm ja s\">\n<div class=\"is it t u v iu aj bm iv iw\"><\/div>\n<p><div style=\"width: 725px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"lazyload ts tt t u v iu aj c\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27715%27%20height%3D%27258%27%20viewBox%3D%270%200%20715%20258%27%3E%3Crect%20width%3D%27715%27%20height%3D%27258%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0I1biKTnMgj7kziLM.png\" alt=\"Image for post\" width=\"715\" height=\"258\" \/><p class=\"wp-caption-text\"><em>(Ci-dessus : illustration de l'intention d'un client et de plusieurs entit\u00e9s extraites de la conversation)<\/em><\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><span style=\"font-weight: 400;\">Le langage naturel fait partie int\u00e9grante de la data de la plupart des entreprises et, avec les r\u00e9centes avanc\u00e9es dans ce domaine, compte tenu de la d\u00e9mocratisation des algorithmes NLU, de l'acc\u00e8s \u00e0 une plus grande puissance de calcul et \u00e0 plus de data, de nombreux projets NLU ont \u00e9t\u00e9 lanc\u00e9s. Examinons l'un d'entre eux.<\/span><\/p>\n<p class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\"><strong><span style=\"color: #ff0066;\">Pr\u00e9sentation du projet<\/span><\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Un projet typique utilisant le NLU est, comme mentionn\u00e9 pr\u00e9c\u00e9demment, d'aider les conseillers des centres d'appels \u00e0 r\u00e9pondre aux demandes des clients plus facilement au fur et \u00e0 mesure de la conversation. Pour ce faire, nous devrions effectuer deux t\u00e2ches diff\u00e9rentes :<\/span><\/p>\n<ul class=\"\">\n<li id=\"84be\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Comprendre l'intention du client<\/strong> pendant l'appel (c'est-\u00e0-dire la classification du texte)<\/li>\n<li id=\"75e0\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Saisissez les \u00e9l\u00e9ments importants<\/strong> qui permettraient de r\u00e9pondre \u00e0 la demande du client (c'est-\u00e0-dire la reconnaissance des entit\u00e9s nomm\u00e9es), par exemple les num\u00e9ros de contrat, le type de produit, la couleur du produit, etc.<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Lorsque nous avons commenc\u00e9 \u00e0 examiner les solutions simples et pr\u00eates \u00e0 l'emploi publi\u00e9es pour ces deux t\u00e2ches, nous avons trouv\u00e9 plus d'une douzaine de cadres, certains d\u00e9velopp\u00e9s par les GAFAM, d'autres par des contributeurs de plates-formes open-source. Impossible de savoir lequel choisir pour notre cas d'utilisation, comment chacun d'entre eux se comporte sur un projet concret et r\u00e9el data, ici les conversations audio d'un centre d'appel transcrites en texte. C'est pourquoi nous avons d\u00e9cid\u00e9 de partager notre benchmark de performance avec quelques conseils ainsi que les avantages et inconv\u00e9nients de chaque solution que nous avons test\u00e9e.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Il est important de noter que ce benchmark a \u00e9t\u00e9 r\u00e9alis\u00e9 avec l'anglais data et du texte vocal transcrit et qu'il peut donc moins servir de r\u00e9f\u00e9rence pour d'autres langues ou applications utilisant directement du texte \u00e9crit, <\/span><\/i><span style=\"font-weight: 400;\">par exemple.<\/span><i><span style=\"font-weight: 400;\"> les cas d'utilisation des chatbots.<\/span><\/i><\/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=\"4a7e\" class=\"gm gn dn ce go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj ek\"><span style=\"color: #ff0066;\"><strong>R\u00e9f\u00e9rence<\/strong><\/span><\/p>\n<p><strong>D\u00e9tection des intentions <\/strong><\/p>\n<p class=\"hk hl dn hm b hn ho gr hp hq hr gv hs ht hu hv hw hx hy hz ia ib ic id ie if df ek\" data-selectable-paragraph=\"\"><span style=\"font-weight: 400;\">L'objectif est ici de pouvoir d\u00e9tecter ce que veut le client, son intention. \u00c9tant donn\u00e9 une phrase, le mod\u00e8le doit \u00eatre capable de la classer dans la bonne classe, chaque classe correspondant \u00e0 une intention pr\u00e9d\u00e9finie. Lorsqu'il existe plusieurs classes, on parle de t\u00e2che de classification multi-classes. Par exemple, une intention peut \u00eatre \u201cveut acheter un produit\u201d ou \u201ccherche des informations\u201d. Dans notre cas, nous avons d\u00e9fini <\/span><b>5 intentions diff\u00e9rentes<\/b><span style=\"font-weight: 400;\"> et les six solutions suivantes ont \u00e9t\u00e9 utilis\u00e9es pour le test de r\u00e9f\u00e9rence :<\/span><\/p>\n<ul class=\"\">\n<li id=\"1ff3\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/fasttext.cc\/docs\/en\/supervised-tutorial.html\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">FastText<\/strong><\/a><strong class=\"hm ju\">:<\/strong>\u00a0pour l'apprentissage efficace de la repr\u00e9sentation des mots et de la classification des phrases, cr\u00e9\u00e9e par le laboratoire de recherche en IA de Facebook.<\/li>\n<li id=\"ae4c\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/uber.github.io\/ludwig\/examples\/#natural-language-understanding\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">Ludwig<\/strong><\/a><strong class=\"hm ju\">:<\/strong> <span style=\"font-weight: 400;\">une bo\u00eete \u00e0 outils qui permet d'entra\u00eener et de tester des mod\u00e8les d'apprentissage profond sans avoir besoin d'\u00e9crire du code, en utilisant la ligne de commande ou l'API programmatique. L'utilisateur doit simplement fournir un fichier CSV (ou une pandas DataFrame avec l'API programmatique) contenant son data, une liste de colonnes \u00e0 utiliser comme entr\u00e9es, et une liste de colonnes \u00e0 utiliser comme sorties, Ludwig fera le reste.<\/span><\/li>\n<li id=\"876d\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">R\u00e9gression logistique avec\u00a0<\/strong><a class=\"ck jk\" href=\"https:\/\/spacy.io\/usage\/spacy-101\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">pr\u00e9traitement de l'espaCe<\/strong><\/a><strong class=\"hm ju\">:<\/strong> <span style=\"font-weight: 400;\">r\u00e9gression logistique classique utilisant la biblioth\u00e8que scikit-learn avec un pr\u00e9traitement personnalis\u00e9 utilisant la biblioth\u00e8que spaCy (tokenisation, lemmatisation, suppression des mots vides).<\/span><\/li>\n<li id=\"e702\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/github.com\/explosion\/spacy-transformers\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">BERT avec canalisation de spaCy<\/strong><\/a><strong class=\"hm ju\">:<\/strong> <span style=\"font-weight: 400;\">Les pipelines de mod\u00e9lisation spaCy qui enveloppent les transformateurs de Hugging Face permettent d'acc\u00e9der facilement aux architectures de transformateurs de pointe telles que BERT.<\/span><\/li>\n<li id=\"a632\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/luis\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">LUIS<\/strong><\/a><strong class=\"hm ju\">:<\/strong> <span style=\"font-weight: 400;\">Service API bas\u00e9 sur Microsoft cloud qui applique l'intelligence de l'apprentissage automatique personnalis\u00e9 au texte conversationnel en langage naturel d'un utilisateur pour pr\u00e9dire l'intention et les entit\u00e9s.<\/span>.<\/li>\n<li id=\"0dfe\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/github.com\/flairNLP\/flair\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">Flair<\/strong><\/a><strong class=\"hm ju\">:<\/strong>\u00a0<span style=\"font-weight: 400;\">un cadre pour le NLP de pointe pour plusieurs t\u00e2ches telles que la reconnaissance des entit\u00e9s nomm\u00e9es (NER), l'\u00e9tiquetage de la partie du discours (PoS), la d\u00e9sambigu\u00efsation du sens et la classification.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Les mod\u00e8les suivants ont tous \u00e9t\u00e9 entra\u00een\u00e9s et test\u00e9s sur les m\u00eames ensembles data : 1600 \u00e9nonc\u00e9s pour l'entra\u00eenement, 400 pour le test. Les mod\u00e8les n'ont pas \u00e9t\u00e9 affin\u00e9s et certains d'entre eux pourraient donc avoir de meilleures performances que celles pr\u00e9sent\u00e9es ci-dessous.<\/span><\/p>\n<figure class=\"ih ii ij ik il im cx cy paragraph-image\">\n<div class=\"in io ip iq aj ir\" tabindex=\"0\" role=\"button\">\n<div class=\"cx cy kr\">\n<div class=\"ix s ip iy\">\n<div class=\"ks ja s\">\n<div class=\"is it t u v iu aj bm iv iw\"><\/div>\n<p><img decoding=\"async\" class=\"lazyload va vb t u v iu aj c\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.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%27862%27%20height%3D%27289%27%20viewBox%3D%270%200%20862%20289%27%3E%3Crect%20width%3D%27862%27%20height%3D%27289%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png 276w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png 552w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png 640w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png 700w\" alt=\"Image for post\" width=\"862\" height=\"289\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div><figcaption class=\"jn jo cz cx cy jp jq ce b eu cg fx\" data-selectable-paragraph=\"\">R\u00e9sultats des performances de diff\u00e9rents mod\u00e8les de d\u00e9tection d'intention<\/figcaption><\/figure>\n<p id=\"8774\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\" data-selectable-paragraph=\"\"><em class=\"jj\">*Temps de r\u00e9f\u00e9rence sur le Macbook Air local (1.6GHz dual-core Intel Core i5-8 Go 1600 MHz DDR3 RAM).<\/em><\/p>\n<ul class=\"\">\n<li id=\"f4ae\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\">Globalement, en termes de performances, toutes les solutions obtiennent de bons, voire de tr\u00e8s bons r\u00e9sultats (score F1 &gt; 70%).<\/li>\n<li id=\"f9b8\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\">L'un des inconv\u00e9nients de Ludwig et de LUIS est qu'il s'agit de mod\u00e8les tr\u00e8s \u201cbo\u00eete noire\u201d, ce qui les rend plus difficiles \u00e0 comprendre et \u00e0 affiner.<\/li>\n<li id=\"e785\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\">LUIS est la seule solution test\u00e9e qui n'est pas open source et qui est donc beaucoup plus ch\u00e8re. De plus, l'utilisation de son API Python peut s'av\u00e9rer complexe car elle a \u00e9t\u00e9 initialement con\u00e7ue pour \u00eatre utilis\u00e9e via une interface clic-bouton. Cependant, elle peut \u00eatre une solution \u00e0 privil\u00e9gier si vous \u00eates dans le cadre d'un projet qui vise une mise en production et dont l'infrastructure est construite sur Azure par exemple, l'int\u00e9gration du mod\u00e8le sera alors plus ais\u00e9e.<\/li>\n<\/ul>\n<p id=\"7814\" class=\"ka gn dn ce go kb kc kd gs ke kf kg gw kh ki kj ha kk kl km he kn ko kp hi kq ek\"><strong><span style=\"color: #ff0066;\">Extraction d'entit\u00e9s<\/span><\/strong><\/p>\n<p><span style=\"font-weight: 400;\">L'objectif est de pouvoir localiser des mots sp\u00e9cifiques et de les classer correctement dans des cat\u00e9gories pr\u00e9d\u00e9finies. En effet, une fois que vous avez d\u00e9tect\u00e9 ce que votre client souhaite faire, vous pouvez avoir besoin de trouver d'autres informations dans sa demande. Par exemple, si un client veut acheter quelque chose, vous voudrez peut-\u00eatre savoir de quel produit il s'agit, dans quelle couleur, ou si un client veut retourner un produit, vous voudrez peut-\u00eatre savoir \u00e0 quelle date ou dans quel magasin l'achat a \u00e9t\u00e9 effectu\u00e9. Dans notre cas, nous avions d\u00e9fini <\/span><b>16 entit\u00e9s personnalis\u00e9es<\/b><span style=\"font-weight: 400;\">Il s'agit de 9 entit\u00e9s li\u00e9es au produit (nom, couleur, type, mat\u00e9riau, taille, ...) et d'entit\u00e9s suppl\u00e9mentaires li\u00e9es \u00e0 la g\u00e9ographie et au temps. En ce qui concerne la d\u00e9tection des intentions, plusieurs solutions ont \u00e9t\u00e9 utilis\u00e9es pour \u00e9tablir un benchmark :<\/span><\/p>\n<ul class=\"\">\n<li id=\"242d\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/spacy.io\/usage\/training#ner\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">spaCy<\/strong><\/a><strong class=\"hm ju\">:<\/strong> une biblioth\u00e8que open-source pour le traitement avanc\u00e9 du langage naturel en Python qui offre diff\u00e9rentes fonctionnalit\u00e9s, notamment la reconnaissance des entit\u00e9s nomm\u00e9es.<\/li>\n<li id=\"ae57\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">LUIS :<\/strong>\u00a0<em class=\"jj\">voir ci-dessus<\/em><\/li>\n<li id=\"e8d0\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Ludwig :<\/strong><em class=\"jj\">\u00a0voir ci-dessus<\/em><\/li>\n<li id=\"efaa\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Flair :<\/strong>\u00a0<em class=\"jj\">voir ci-dessus<\/em><\/li>\n<\/ul>\n<p id=\"06f5\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\" data-selectable-paragraph=\"\"><span style=\"font-weight: 400;\">Les mod\u00e8les suivants ont tous \u00e9t\u00e9 entra\u00een\u00e9s et test\u00e9s sur les m\u00eames ensembles data : 1600 \u00e9nonc\u00e9s pour l'entra\u00eenement, 400 pour le test. Les mod\u00e8les n'ont pas \u00e9t\u00e9 affin\u00e9s et certains d'entre eux pourraient donc avoir de meilleures performances que celles pr\u00e9sent\u00e9es ci-dessous.<\/span><\/p>\n<figure class=\"ih ii ij ik il im cx cy paragraph-image\">\n<div class=\"cx cy kt\">\n<div class=\"ix s ip iy\">\n<div class=\"ku ja s\">\n<div class=\"is it t u v iu aj bm iv iw\"><\/div>\n<p><img decoding=\"async\" class=\"lazyload va vb t u v iu aj c\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0xOx9HfmdoP11xP-r.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0xOx9HfmdoP11xP-r.png\" data-sizes=\"auto\" data-orig-sizes=\"528px\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27528%27%20height%3D%27158%27%20viewBox%3D%270%200%20528%20158%27%3E%3Crect%20width%3D%27528%27%20height%3D%27158%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0xOx9HfmdoP11xP-r.png 276w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0xOx9HfmdoP11xP-r.png 528w\" alt=\"Image for post\" width=\"528\" height=\"158\" \/><\/p>\n<\/div>\n<\/div>\n<\/div><figcaption class=\"jn jo cz cx cy jp jq ce b eu cg fx\" data-selectable-paragraph=\"\">R\u00e9sultats des performances de diff\u00e9rents mod\u00e8les pour la reconnaissance des entit\u00e9s nomm\u00e9es<\/figcaption><\/figure>\n<ul class=\"\">\n<li id=\"47eb\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\">Deux mod\u00e8les obtiennent de tr\u00e8s bons r\u00e9sultats en mati\u00e8re de reconnaissance d'entit\u00e9s nomm\u00e9es personnalis\u00e9es : spaCy et LUIS. Ludwig et Flair n\u00e9cessiteraient quelques ajustements pour obtenir de meilleurs r\u00e9sultats, notamment en termes de rappel.<\/li>\n<li id=\"93b5\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\">L'un des avantages de LUIS est que l'utilisateur peut tirer parti de certaines fonctions avanc\u00e9es pour la reconnaissance d'entit\u00e9s, telles que\u00a0<a class=\"ck jk\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/luis\/luis-how-to-add-features\" rel=\"noopener nofollow\" target=\"_blank\">descripteurs<\/a> qui indique que certains mots et phrases font partie du vocabulaire d'un domaine d'entit\u00e9 (par exemple : vocabulaire des couleurs = noir, blanc, rouge, bleu, bleu marine, vert).<\/li>\n<\/ul>\n<p id=\"ebcd\" class=\"gm gn dn ce go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj ek\"><span style=\"color: #ff0066;\"><strong class=\"az\">Conclusion<\/strong><\/span><\/p>\n<p id=\"02e8\" class=\"hk hl dn hm b hn ho gr hp hq hr gv hs ht hu hv hw hx hy hz ia ib ic id ie if df ek\" data-selectable-paragraph=\"\"><span style=\"font-weight: 400;\">Parmi les solutions test\u00e9es sur notre centre d'appel dataset, que ce soit pour la d\u00e9tection d'intention ou la reconnaissance d'entit\u00e9s, aucune ne se d\u00e9marque en termes de performance. D'apr\u00e8s notre exp\u00e9rience, le choix d'une solution par rapport \u00e0 une autre doit donc \u00eatre bas\u00e9 sur leur praticit\u00e9 et en fonction de votre cas d'utilisation sp\u00e9cifique (utilisez-vous d\u00e9j\u00e0 Azure, pr\u00e9f\u00e9rez-vous avoir plus de libert\u00e9 pour affiner vos mod\u00e8les...). Pour rappel, nous avons pris les biblioth\u00e8ques telles quelles pour r\u00e9aliser ce benchmark, sans affiner les mod\u00e8les, les r\u00e9sultats affich\u00e9s sont donc \u00e0 prendre avec un l\u00e9ger recul et pourraient varier sur un cas d'utilisation diff\u00e9rent ou avec plus d'entrainement data.<\/span><\/p>\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=\"--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-4 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-5 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-5\"><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 \/>\nLes conseillers des centres d'appel commencent \u00e0 voir l'\u00e9mergence de la NLU dans leur vie quotidienne, ce qui les aide \u00e0 r\u00e9pondre plus facilement aux demandes des clients. Pour ce faire, un outil doit \u00eatre capable de reconna\u00eetre en m\u00eame temps la demande du client et ses caract\u00e9ristiques, en d'autres termes, une intention et des entit\u00e9s nomm\u00e9es.<\/p>","protected":false},"featured_media":21377,"parent":0,"template":"","meta":{"_acf_changed":false,"ep_exclude_from_search":false},"blog-category":[2995,21930],"blog-language":[2991],"class_list":["post-21376","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\/21376","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\/21377"}],"wp:attachment":[{"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/media?parent=21376"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/blog-category?post=21376"},{"taxonomy":"blog-language","embeddable":true,"href":"https:\/\/www.artefact.com\/fr\/wp-json\/wp\/v2\/blog-language?post=21376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}