{"id":2883,"date":"2023-01-18T16:42:36","date_gmt":"2023-01-18T15:42:36","guid":{"rendered":"https:\/\/botnation.ai\/?p=2883"},"modified":"2026-01-02T16:34:05","modified_gmt":"2026-01-02T15:34:05","slug":"les-tunnels-nlp","status":"publish","type":"support","link":"https:\/\/botnation.ai\/fr\/support\/les-tunnels-nlp\/","title":{"rendered":"Les tunnels NLP"},"content":{"rendered":"<p>Comment d\u00e9tecter plusieurs intentions dans une m\u00eame phrase<\/p>\n\n\n\n\n\n<p><strong>D\u00e9finition d\u2019un Tunnel:<\/strong><br>C\u2019est une r\u00e8gle d\u2019IA prioritaire qui d\u00e9clenche une recherche dans un autre contexte. Facultativement, on peut lancer une s\u00e9quence interm\u00e9diaire.<\/p>\n\n\n\n<p>Cette s\u00e9quence interm\u00e9diaire peut servir, entre autres, \u00e0 stocker dans une variable une donn\u00e9e au passage sans rien afficher dans le chatbot.<\/p>\n\n\n\n<p><strong>D\u00e9finition d\u2019une Variable :<\/strong><br>C\u2019est une donn\u00e9e que le chatbot va stocker dans sa m\u00e9moire. Une variable se d\u00e9finit par son nom et par sa valeur.<\/p>\n\n\n\n<p>EX: La Variable portant le nom \u201ctype_de_bien\u201d peut prendre comme valeur \u201cMaison\u201d ou \u201cAppartement\u201d<\/p>\n\n\n\n<p><strong>C\u2019est une logique complexe \u00e0 ma\u00eetriser mais c\u2019est un outil tr\u00e8s puissant. Il va en effet permettre de d\u00e9tecter plusieurs intentions dans la m\u00eame phrase<\/strong>. Le tunnel dans le contexte par d\u00e9faut d\u00e9tecte une premi\u00e8re intention puis lance une recherche dans les r\u00e8gles d\u2019IA d\u2019un autre contexte pour d\u00e9tecter la seconde intention.<\/p>\n\n\n\n<p>Il est aussi possible de mettre des tunnels dans le contexte secondaire et donc de d\u00e9tecter une troisi\u00e8me intention. <strong>En th\u00e9orie, en utilisant des Tunnels en cascade on peut d\u00e9tecter autant d\u2019intentions que l\u2019on veut dans la m\u00eame phrase.<\/strong> Mais d\u2019un point de vue pratique, il vaut mieux se limiter \u00e0 trois intentions.<\/p>\n\n\n\n<p>Le mieux, pour comprendre comment \u00e7a marche, est d\u2019\u00e9tudier un cas pratique.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong><em>Exemple:<\/em><\/strong><\/p>\n\n\n\n<p><em>Toujours dans notre chatbot immobilier parisien, <strong>on veut d\u00e9tecter, en langage naturel, le type de transaction, le type de bien et l\u2019arrondissement concern\u00e9<\/strong> pour pouvoir lancer une recherche dans une base de donn\u00e9es d\u2019annonces.<\/em><br><\/p>\n\n\n\n<p><em>Il faut donc, non seulement que le chatbot comprenne une phrase comme \u201c<strong>Je cherche un appartement \u00e0 vendre dans le 16e<\/strong>\u201d mais aussi traduire ces informations en donn\u00e9es compr\u00e9hensibles par le moteur de recherche.<\/em><br><\/p>\n\n\n\n<p><em>Les tunnels en cascade et leurs s\u00e9quences interm\u00e9diaires vont pouvoir r\u00e9soudre cette probl\u00e9matique.<\/em><\/p>\n\n\n\n<p><strong><em>L\u2019id\u00e9e g\u00e9n\u00e9rale est de d\u00e9tecter chaque intention l\u2019une apr\u00e8s l\u2019autre<\/em><\/strong><em>.<\/em><br><\/p>\n\n\n\n<p><strong><em>Nous allons avoir besoin de 3 contextes :<\/em><\/strong><em> le contexte <strong>par d\u00e9faut<\/strong> dans lequel on d\u00e9tectera l\u2019intention \u201cType de transaction\u201d, un contexte \u201c<strong>Type de bien<\/strong>\u201d pour d\u00e9tecter cette intention et enfin un Contexte \u201c<strong>Arrondissement<\/strong>\u201d pour cette intention.<\/em><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Contexte par d\u00e9faut<\/em><\/strong><\/h4>\n\n\n\n<p><em>On cr\u00e9e un premier <strong>Tunnel \u201cAchat\u201d<\/strong> avec les mots cl\u00e9s correspondants \u00e0 cette intention et qui lancera une recherche dans le <strong>Contexte \u201cType de Bien\u201d<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-148.png.webp\" alt=\"\" class=\"wp-image-6749\"><\/figure>\n\n\n\n<p><em>Et on se sert de la s\u00e9quence interm\u00e9diaire pour stocker l\u2019information en affectant <strong>la valeur \u201cachat\u201d \u00e0 la variable \u201ctype_de_transaction\u201d<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-149.png.webp\" alt=\"\" class=\"wp-image-6751\"><\/figure>\n\n\n\n<p><em>On cr\u00e9e ensuite un <strong>Tunnel \u201cVente\u201d<\/strong> avec les mots cl\u00e9s correspondants et qui lancera lui aussi une recherche dans le <strong>Contexte \u201cType de Bien\u201d<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-150.png.webp\" alt=\"\" class=\"wp-image-6754\"><\/figure>\n\n\n\n<p><em>Et on se sert de la s\u00e9quence interm\u00e9diaire pour stocker l\u2019information en affectant, cette fois-ci, <strong>la valeur \u201cvente\u201d \u00e0 la variable \u201ctype_de_transaction\u201d<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-151.png.webp\" alt=\"\" class=\"wp-image-6756\"><\/figure>\n\n\n\n<p><em>On voit donc qu\u2019on peut avoir 2 tunnels diff\u00e9rents qui renvoient au m\u00eame contexte mais comme leurs s\u00e9quences interm\u00e9diaires et leurs mots-cl\u00e9s sont diff\u00e9rents, ils d\u00e9tectent deux intentions diff\u00e9rentes.<\/em><\/p>\n\n\n\n<p><em>Le chatbot peut donc maintenant faire la diff\u00e9rence entre \u201cJe cherche \u00e0 <strong>vendre <\/strong>mon appartement dans le 16e\u201d et \u201cJe veux <strong>acheter <\/strong>un appartement dans le 16e\u201d.<\/em><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Contexte \u201cType de Bien\u201d<\/em><\/strong><\/h4>\n\n\n\n<p><em>On cr\u00e9e un premier <strong>Tunnel \u201cAppartement\u201d<\/strong> avec les mots cl\u00e9s correspondants et qui lancera une recherche dans le <strong>Contexte \u201cArrondissement\u201d<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-152.png.webp\" alt=\"\" class=\"wp-image-6758\"><\/figure>\n\n\n\n<p><em>Et on se sert de la s\u00e9quence interm\u00e9diaire pour stocker l\u2019information en affectant <strong>la valeur \u201cappartement\u201d \u00e0 la variable \u201ctype_de_bien\u201d<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-153.png.webp\" alt=\"\" class=\"wp-image-6760\"><\/figure>\n\n\n\n<p><em>On cr\u00e9e ensuite un <strong>Tunnel \u201cMaison\u201d<\/strong> avec les mots cl\u00e9s correspondants et qui lancera lui aussi une recherche dans le <strong>Contexte \u201cArrondissement\u201d<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-154.png.webp\" alt=\"\" class=\"wp-image-6762\"><\/figure>\n\n\n\n<p><em>Et on se sert de la s\u00e9quence interm\u00e9diaire pour stocker l\u2019information en affectant, cette fois-ci, <strong>la valeur \u201cmaison\u201d \u00e0 la variable \u201ctype_de_bien\u201d<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-155.png.webp\" alt=\"\" class=\"wp-image-6764\"><\/figure>\n\n\n\n<p><em>Le chatbot peut donc maintenant faire la diff\u00e9rence entre \u201cJe cherche \u00e0 vendre mon <strong>appartement<\/strong> dans le 16e\u201d et \u201cJe cherche une <strong>maison<\/strong> \u00e0 vendre dans le 16e\u201d<\/em><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Contexte \u201cArrondissement\u201d<\/em><\/strong><\/h4>\n\n\n\n<p><em>Dans ce contexte-ci on cr\u00e9e de simples r\u00e8gles d\u2019IA pour d\u00e9tecter chaque arrondissement qui chacune renverra \u00e0 des s\u00e9quences dans lesquelles on stockera <strong>la valeur de l\u2019arrondissement <\/strong>(un nombre entre 1 et 20 puisque Paris compte 20 arrondissements) <strong>dans la variable \u201carrondissement\u201d.<\/strong><\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-156.png.webp\" alt=\"\" class=\"wp-image-6766\"><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-157.png.webp\" alt=\"\" class=\"wp-image-6768\"><\/figure>\n\n\n\n<p><strong><em>Pour r\u00e9sumer:<\/em><\/strong><\/p>\n\n\n\n<p><em>Dans le contexte par d\u00e9faut le chatbot d\u00e9tecte le type de transaction puis recherche le type de bien dans le contexte\u201dType de bien\u201d et enfin d\u00e9tecte l\u2019arrondissement dans le contexte \u201cArrondissement\u201d.<\/em><\/p>\n\n\n\n<p><em>Et \u00e0 chaque \u00e9tape, le chatbot stocke l\u2019info correspondante dans des variables.<\/em><\/p>\n\n\n\n<p><em>Donc, si l\u2019utilisateur \u00e9crit \u201c<strong>je cherche \u00e0 faire l\u2019achat d\u2019un appartement dans le vingti\u00e8me<\/strong>\u201d le chatbot d\u00e9tectera les intentions et les traduira comme suit :<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>type_de_transaction =<strong> achat<\/strong><\/em><\/li>\n\n\n\n<li><strong><em>type_de_bien = appartement<\/em><\/strong><\/li>\n\n\n\n<li><em>arrondissement = <strong>20<\/strong><\/em><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2023\/01\/image-158.png.webp\" alt=\"\" class=\"wp-image-6770\"><\/figure>\n\n\n\n<p><em>Le chatbot peut alors lancer la recherche dans la base de donn\u00e9es car ce sont des informations exploitables par le moteur de recherche.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p><strong>La d\u00e9tection de plusieurs intentions dans une phrase saisie est un casse-t\u00eate<\/strong> pour toutes les IA du monde entier. <strong>Avec les tunnels, notre plateforme offre enfin une solution pragmatique et efficace \u00e0 cette probl\u00e9matique<\/strong>.<\/p>\n\n\n","protected":false},"featured_media":0,"template":"","meta":{"_acf_changed":false},"categorie-support":[183,169,185,189],"class_list":["post-2883","support","type-support","status-publish","hentry","categorie-support-chatbot-web","categorie-support-facebook-messenger","categorie-support-fonctionnalites","categorie-support-tutoriels"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/support\/2883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/support"}],"about":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/types\/support"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media?parent=2883"}],"wp:term":[{"taxonomy":"categorie-support","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/categorie-support?post=2883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}