{"id":31299,"date":"2026-08-07T11:42:19","date_gmt":"2026-08-07T09:42:19","guid":{"rendered":"https:\/\/botnation.ai\/fonctionnement-chatbot\/"},"modified":"2026-08-07T15:07:35","modified_gmt":"2026-08-07T13:07:35","slug":"fonctionnement-chatbot","status":"publish","type":"post","link":"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/","title":{"rendered":"Fonctionnement d&rsquo;un chatbot : ce qui se passe entre votre message et sa r\u00e9ponse"},"content":{"rendered":"<p><script>(function(){var s=document.createElement(\"style\");s.appendChild(document.createTextNode(\".bn-art{ --bn-cream:#faf8f2; --bn-card:#faf6ea; --bn-sand:#ebe3cb; --bn-sand-2:#f3ecd9; --bn-sand-zebra:#f6f0df; --bn-coral:#fe716b; --bn-coral-soft:#fdeeed; --bn-coral-line:#f6c9c6; --bn-coral-txt:#bd3a34; --bn-blue:#3358f0; --bn-blue-soft:#eef1fe; --bn-blue-line:#c9d4fb; --bn-green:#427632; --bn-green-soft:#eef6ea; --bn-ink:#3d351f; --bn-text:#414b56; --bn-muted:#6d6653; --bn-border:#e6dcc2; --bn-r:16px; --bn-r-sm:11px; --bn-sp:22px; --bn-sh:0 1px 2px rgba(61,53,31,.05),0 10px 26px rgba(61,53,31,.07); --bn-sh-sm:0 1px 2px rgba(61,53,31,.05),0 4px 12px rgba(61,53,31,.05); --bn-mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,'Courier New',monospace; color:var(--bn-text); font-size:18px; line-height:1.75; max-width:820px; margin:0 auto; } .bn-art *{box-sizing:border-box} .bn-art p{margin:0 0 1.15em; color:var(--bn-text)} .bn-art h2{ color:var(--bn-ink); font-weight:700; line-height:1.25; font-size:1.72em; margin:2.2em 0 .7em; letter-spacing:-.01em; } .bn-art h3{color:var(--bn-ink); font-weight:700; font-size:1.22em; margin:1.8em 0 .5em} .bn-art a{color:#3f5cd6; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px} .bn-art a:hover{color:var(--bn-coral)} .bn-art strong{color:var(--bn-ink); font-weight:700} .bn-art ul,.bn-art ol{margin:0 0 1.3em; padding-left:1.25em} .bn-art li{margin:.4em 0} .bn-art ul li::marker{color:var(--bn-coral)} .bn-art ol li::marker{color:var(--bn-blue); font-weight:700} .bn-klabel{ display:inline-flex; align-items:center; gap:7px; font-family:var(--bn-mono); font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--bn-coral); margin:0 0 .2em; } .bn-klabel svg{width:15px;height:15px;flex:none} .bn-tldr{ background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-coral); border-radius:var(--bn-r); padding:20px 24px; margin:0 0 30px; box-shadow:var(--bn-sh-sm); } .bn-tldr p{margin:0; color:var(--bn-text)} .bn-tldr p+p{margin-top:.6em} .bn-toc{ background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:18px 22px; margin:0 0 34px; } .bn-toc .bn-klabel{color:var(--bn-coral)} .bn-toc ol{margin:.4em 0 0; padding-left:1.2em; columns:2; column-gap:28px} .bn-toc li{margin:.25em 0; break-inside:avoid} .bn-toc a{color:var(--bn-ink); text-decoration:none; font-weight:600; font-size:.96em} .bn-toc a:hover{color:var(--bn-coral); text-decoration:underline} .bn-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0} .bn-stat{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:20px 18px; text-align:center; box-shadow:var(--bn-sh-sm); } .bn-stat b{display:block; font-size:2em; line-height:1.1; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em} .bn-stat span{display:block; margin-top:6px; font-size:.86em; color:var(--bn-muted); line-height:1.45} .bn-stat:nth-child(2) b{color:var(--bn-blue)} .bn-stat:nth-child(3) b{color:var(--bn-ink)} .bn-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-card{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm); } .bn-card h4{margin:.1em 0 .35em; color:var(--bn-ink); font-size:1.06em; font-weight:700; display:flex; gap:9px; align-items:center} .bn-card h4 svg{width:20px;height:20px;flex:none;color:var(--bn-coral)} .bn-card p{margin:0; font-size:.96em} .bn-ex{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:20px 0; box-shadow:var(--bn-sh); position:relative; } .bn-ex-h{display:flex; align-items:center; gap:13px; margin-bottom:14px} .bn-ex-n{ flex:none; width:38px; height:38px; border-radius:11px; background:var(--bn-coral-soft); color:var(--bn-coral); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1em; font-family:var(--bn-mono); } .bn-ex-h h3{margin:0; font-size:1.18em} .bn-ex-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-muted); display:block; margin-top:2px} .bn-ex p{margin:.2em 0 .9em} .bn-ex .bn-ba{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px} .bn-ba div{border-radius:var(--bn-r-sm); padding:13px 15px; font-size:.9em; line-height:1.5} .bn-ba .biz{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-ba .cli{background:var(--bn-green-soft); border:1px solid #cfe6c4} .bn-ba b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; color:var(--bn-muted)} .bn-tablewrap{overflow-x:auto; margin:26px 0; border-radius:var(--bn-r); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm)} .bn-art table{width:100%; border-collapse:collapse; background:var(--bn-card); font-size:.94em; min-width:520px} .bn-art thead th{background:var(--bn-ink); color:#fbf7ec; text-align:left; font-weight:700; padding:13px 16px; font-size:16px} .bn-art tbody td{padding:12px 16px; border-top:1px solid var(--bn-border); color:var(--bn-text); vertical-align:top; font-size:16px} .bn-art tbody tr:nth-child(even){background:var(--bn-sand-zebra)} .bn-art tbody td:first-child{font-weight:700; color:var(--bn-ink)} .bn-cols{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-col{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm)} .bn-col h4{margin:0 0 12px; font-size:1.05em; color:var(--bn-ink); display:flex; align-items:center; gap:9px} .bn-col h4 svg{width:20px;height:20px;flex:none} .bn-col.biz h4 svg{color:var(--bn-blue)} .bn-col.cli h4 svg{color:var(--bn-green)} .bn-col.warn h4 svg{color:var(--bn-coral)} .bn-col ul{margin:0; padding:0; list-style:none} .bn-col li{position:relative; padding-left:26px; margin:.55em 0; font-size:.96em} .bn-col li::before{content:''; position:absolute; left:0; top:.5em; width:13px; height:13px; border-radius:50%; background:var(--bn-coral-soft); border:2px solid var(--bn-coral)} .bn-col.biz li::before{background:var(--bn-blue-soft); border-color:var(--bn-blue)} .bn-col.cli li::before{background:var(--bn-green-soft); border-color:var(--bn-green)} .bn-call{ display:flex; gap:14px; border-radius:var(--bn-r); padding:18px 20px; margin:24px 0; background:var(--bn-card); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm); } .bn-call svg{width:22px; height:22px; flex:none; margin-top:1px} .bn-call b{color:var(--bn-ink)} .bn-call p{margin:0; font-size:.95em} .bn-call .bn-klabel{margin-bottom:3px} .bn-tip{border-left:4px solid var(--bn-green)} .bn-tip svg{color:var(--bn-green)} .bn-tip .bn-klabel{color:var(--bn-green)} .bn-warn{border-left:4px solid var(--bn-coral)} .bn-warn svg{color:var(--bn-coral)} .bn-warn .bn-klabel{color:var(--bn-coral)} .bn-info{border-left:4px solid var(--bn-blue)} .bn-info svg{color:var(--bn-blue)} .bn-info .bn-klabel{color:var(--bn-blue)} .bn-def{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line); border-radius:var(--bn-r); padding:20px 24px; margin:24px 0} .bn-def .bn-klabel{color:var(--bn-blue)} .bn-def p{margin:0} .bn-steps{counter-reset:s; list-style:none; padding:0; margin:24px 0} .bn-steps li{position:relative; padding:0 0 4px 56px; margin:0 0 18px; min-height:40px} .bn-steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:12px; background:var(--bn-coral); color:#fff; font-weight:800; font-family:var(--bn-mono); display:flex; align-items:center; justify-content:center; box-shadow:var(--bn-sh-sm); } .bn-steps li b{display:block; color:var(--bn-ink); margin-bottom:2px} .bn-check{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-check h3{margin:.1em 0 .3em} .bn-check>p{font-size:.95em; color:var(--bn-muted); margin-bottom:14px} .bn-check ul{list-style:none; padding:0; margin:0 0 18px} .bn-check li{margin:0; border-top:1px solid var(--bn-border)} .bn-check li:first-child{border-top:none} .bn-check label{display:flex; align-items:flex-start; gap:13px; padding:12px 2px; cursor:pointer; font-size:.97em; color:var(--bn-text)} .bn-check input{appearance:none; -webkit-appearance:none; flex:none; width:22px; height:22px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:7px; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-check input:checked{background:var(--bn-coral); border-color:var(--bn-coral)} .bn-check input:checked::after{content:''; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg)} .bn-result{border-radius:var(--bn-r-sm); padding:16px 18px; background:var(--bn-coral-soft); border:1px solid var(--bn-coral-line); font-size:.96em} .bn-result b{color:var(--bn-ink)} .bn-result .bn-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-result .bnc-res{display:none; margin-top:10px} .bn-result .bnc-res.on{display:block} .bn-result .bnc-res p{margin:0; color:var(--bn-text)} .bn-faq{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); margin:0 0 12px; box-shadow:var(--bn-sh-sm); overflow:hidden} .bn-faq summary{cursor:pointer; padding:17px 20px; font-weight:700; color:var(--bn-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:1.03em} .bn-faq summary::-webkit-details-marker{display:none} .bn-faq summary::after{content:'+'; font-family:var(--bn-mono); font-size:1.5em; color:var(--bn-coral); flex:none; line-height:1; transition:transform .2s} .bn-faq[open] summary::after{transform:rotate(45deg)} .bn-faq .bn-faq-b{padding:0 20px 18px; color:var(--bn-text)} .bn-faq .bn-faq-b p{margin:0} .bn-fig{margin:30px 0; text-align:center} .bn-fig img{width:100%; height:auto; border-radius:var(--bn-r); box-shadow:var(--bn-sh); display:block} .bn-fig figcaption{margin-top:10px; font-size:.85em; color:var(--bn-muted); font-style:italic} .bn-cta{background:var(--bn-ink); border-radius:var(--bn-r); padding:34px 32px; margin:36px 0 12px; text-align:center} .bn-cta h3{color:#fff; margin:0 0 .4em; font-size:1.4em} .bn-cta p{color:#e9e2cf; margin:0 auto 20px; max-width:560px; font-size:1em} .bn-cta-btn{display:inline-block; background:var(--bn-coral); color:#332c19 !important; text-decoration:none !important; font-weight:800; padding:15px 34px; border-radius:999px; font-size:1.02em; box-shadow:0 8px 22px rgba(254,113,107,.35); transition:.15s} .bn-cta-btn:hover{background:#ff8782; color:#fff !important} .bn-quiz{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-quiz .bnq-q{padding:14px 0; border-top:1px solid var(--bn-border)} .bn-quiz .bnq-q:first-of-type{border-top:none; padding-top:4px} .bn-quiz .bnq-qt{font-weight:700; color:var(--bn-ink); margin:0 0 10px; font-size:1.02em} .bn-quiz .bnq-opt{display:flex; align-items:flex-start; gap:12px; padding:9px 12px; margin:6px 0; cursor:pointer; font-size:.96em; color:var(--bn-text); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; transition:.15s} .bn-quiz .bnq-opt:hover{border-color:var(--bn-coral-line); background:var(--bn-coral-soft)} .bn-quiz .bnq-opt input{appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:50%; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-quiz .bnq-opt input:checked{border-color:var(--bn-coral)} .bn-quiz .bnq-opt input:checked::after{content:''; position:absolute; left:3px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--bn-coral)} .bn-quiz .bnq-opt:has(input:checked){border-color:var(--bn-coral); background:var(--bn-coral-soft)} .bn-quiz .bnq-btn{margin-top:16px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-weight:800; font-size:1em; padding:13px 30px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s; font-family:inherit} .bn-quiz .bnq-btn:hover{background:#ff8782} .bn-quiz .bnq-res{display:none; margin-top:18px; padding:18px 20px; border-radius:var(--bn-r-sm); background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-quiz .bnq-res.on{display:block} .bn-quiz #bnq-agent{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-quiz #bnq-hybrid{background:var(--bn-green-soft); border-color:#cfe6c4} .bn-quiz .bnq-rt{font-weight:800; color:var(--bn-ink); margin:0 0 6px; font-size:1.08em} .bn-quiz .bnq-res p{margin:0} .bn-spectrum{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-spectrum h3{margin:.1em 0 .3em} .bn-spectrum>p{font-size:.95em; color:var(--bn-muted); margin:0 0 20px} .bn-spec-track{margin:26px 4px 4px} .bn-spec-range{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; background:var(--bn-sand); outline:none; cursor:pointer; margin:0} .bn-spec-range::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-range::-moz-range-thumb{width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-stops{display:flex; justify-content:space-between; margin-top:13px; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); gap:8px} .bn-spec-stops span{flex:1; cursor:pointer; transition:.15s; text-align:center} .bn-spec-stops span:first-child{text-align:left} .bn-spec-stops span:last-child{text-align:right} .bn-spec-stops span.on{color:var(--bn-coral); font-weight:700} .bns-pane{display:none; margin-top:22px; border-radius:var(--bn-r-sm); padding:20px 22px; background:var(--bn-sand-2); border:1px solid var(--bn-sand)} .bns-pane.on{display:block} .bns-pane h4{margin:0 0 3px; color:var(--bn-ink); font-size:1.14em} .bns-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-coral); display:block; margin-bottom:11px} .bns-pane>p{margin:0; font-size:.96em; color:var(--bn-text)} .bns-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px} .bns-grid div{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:11px 14px; font-size:.9em; color:var(--bn-text)} .bns-grid b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); margin-bottom:3px} .bn-roi{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-roi h3{margin:.1em 0 .3em} .bn-roi>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-roi-fields{display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin:18px 0 24px} .bn-roi-field:last-child{grid-column:1\/-1} .bn-roi-field label{display:block; font-size:.9em; color:var(--bn-text); font-weight:600; margin-bottom:11px} .bn-roi-field output{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-roi-out{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:4px} .bn-roi-stat{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:20px 16px; text-align:center} .bn-roi-stat b{display:block; font-size:1.85em; line-height:1.05; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em; font-family:var(--bn-mono)} .bn-roi-stat:nth-child(2) b{color:var(--bn-blue)} .bn-roi-stat:nth-child(3) b{color:var(--bn-ink)} .bn-roi-stat span{display:block; margin-top:7px; font-size:.82em; color:var(--bn-muted); line-height:1.4} .bn-roi-note{font-size:16px; color:var(--bn-muted); margin:16px 0 0; font-style:italic} .bn-bot{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px 24px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bot h3{margin:.1em 0 .3em} .bn-bot>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-bot-win{border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-bot-bar{display:flex; align-items:center; gap:11px; padding:12px 16px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-bot-ava{flex:none; width:32px; height:32px; border-radius:50%; background:var(--bn-coral-soft); display:flex; align-items:center; justify-content:center} .bn-bot-ava svg{width:19px; height:19px; color:var(--bn-coral)} .bn-bot-id b{display:block; color:var(--bn-ink); font-size:.95em; line-height:1.2} .bn-bot-id span{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-green); display:inline-flex; align-items:center; gap:5px} .bn-bot-id span::before{content:''; width:7px; height:7px; border-radius:50%; background:var(--bn-green)} .bn-bot-log{padding:16px; min-height:130px; max-height:320px; overflow-y:auto; display:flex; flex-direction:column; gap:10px} .bn-bot-msg{max-width:82%; padding:10px 14px; border-radius:15px; font-size:.95em; line-height:1.5} .bn-bot-msg.bot{align-self:flex-start; background:var(--bn-sand-2); color:var(--bn-text); border-bottom-left-radius:4px} .bn-bot-msg.user{align-self:flex-end; background:var(--bn-coral); color:#332c19; border-bottom-right-radius:4px} .bn-bot-quick{display:flex; flex-wrap:wrap; gap:8px; padding:2px 16px 14px} .bn-art .bn-bot-qbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:7px 14px; cursor:pointer; transition:.15s} .bn-art .bn-bot-qbtn:hover{background:var(--bn-coral-soft); border-color:var(--bn-coral)} .bn-bot-form{display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--bn-border); background:var(--bn-sand-2)} .bn-bot-input{flex:1; min-width:0; font-family:inherit; font-size:.95em; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:10px 16px; outline:none} .bn-bot-input:focus{border-color:var(--bn-coral)} .bn-art .bn-bot-send{flex:none; font-family:inherit; font-weight:700; font-size:16px; color:#fff; background:var(--bn-coral); border:none; border-radius:999px; padding:10px 20px; cursor:pointer; transition:.15s} .bn-art .bn-bot-send:hover{background:#ff8782} .bn-art .bn-bot-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} .bbot-kb,.bbot-fallback{display:none} .bn-shot{margin:16px 0 2px; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-shot-bar{display:flex; align-items:center; gap:8px; padding:9px 13px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-shot-dot{width:8px;height:8px;border-radius:50%;background:var(--bn-green);flex:none} .bn-shot-bar b{color:var(--bn-ink); font-size:.9em} .bn-shot-bar span{margin-left:auto; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-muted)} .bn-shot-log{padding:13px 14px; display:flex; flex-direction:column; gap:8px} .bn-shot .bn-bot-msg{max-width:86%; font-size:.9em} .bn-shot-quick{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px} .bn-shot-quick span{font-size:14px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:4px 11px} .bn-exlink{margin:13px 0 0; font-weight:700; display:flex; align-items:center; gap:6px} .bn-exlink svg{width:16px;height:16px;flex:none;color:var(--bn-coral)} .bn-lb{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lb h3{margin:.1em 0 .3em} .bn-lb>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-lb-ctrl{display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin:0 0 16px} .bn-lb-ctrl br{display:none} .bn-lb-search{flex:1; min-width:200px; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:11px 18px; outline:none} .bn-lb-search:focus{border-color:var(--bn-coral)} .bn-lb-filters{display:flex; flex-wrap:wrap; gap:8px} .bn-art .bn-lb-fbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .bn-lb-fbtn:hover{background:var(--bn-coral-soft)} .bn-art .bn-lb-fbtn.on{background:var(--bn-coral); color:#fff; border-color:var(--bn-coral)} .bn-lb .bn-lb-th{cursor:pointer; user-select:none; white-space:nowrap} .bn-lb .bn-lb-th:hover{color:#fbf7ec; opacity:.85} .bn-lb-rank{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral); text-align:center} .bn-lb-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-ink); text-align:right; white-space:nowrap} .lb-empty{padding:16px; text-align:center; color:var(--bn-muted); font-size:.95em} .bn-lb-foot{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .bn-art{font-size:17px} .bn-stats,.bn-grid,.bn-cols,.bn-ex .bn-ba,.bns-grid,.bn-roi-fields,.bn-roi-out{grid-template-columns:1fr} .bn-roi-field:last-child{grid-column:auto} .bn-toc ol{columns:1} .bn-art h2{font-size:1.5em} .bn-bot-msg{max-width:90%} } .bn-art sup,.bn-art sub{font-size:14px;line-height:0} .bn-klabel.hc{color:var(--bn-coral-txt)} .bn-cdc{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-cdc h3{margin:.1em 0 .3em} .bn-cdc>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-cdc br{display:none} .bn-cdc p:empty{display:none; margin:0} .cdc-q{padding:15px 0; border-top:1px solid var(--bn-border)} .cdc-q:first-of-type{border-top:none; padding-top:2px} .bn-art .cdc-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .cdc-chips{display:flex; flex-wrap:wrap; gap:8px} .cdc-chips p:not([class]){display:contents} .bn-art .cdc-chip{display:inline-flex; align-items:center; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .cdc-chip:hover{background:var(--bn-coral-soft)} .bn-art .cdc-chip:has(input:checked){background:var(--bn-coral); color:#332c19; border-color:var(--bn-coral); font-weight:700} .cdc-chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none} .cdc-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .cdc-line{padding:14px 0; border-top:1px solid var(--bn-sand)} .cdc-line:first-of-type{border-top:none; padding-top:2px} .cdc-line p:not([class]){margin:0} .bn-art .cdc-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .cdc-line span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .cdc-copy{margin-top:18px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-family:inherit; font-weight:800; font-size:16px; padding:13px 28px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s} .bn-art .cdc-copy:hover{background:#ff8782} .bn-art .cdc-note{font-size:16px; color:var(--bn-muted); margin:12px 0 0; font-style:italic; min-height:1.5em} @media(max-width:680px){ .cdc-chips{flex-direction:column; align-items:stretch} .bn-art .cdc-chip{justify-content:flex-start} } .bn-niv{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-niv h3{margin:.1em 0 .3em} .bn-niv>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-niv br{display:none} .bn-niv p:empty{display:none; margin:0} .niv-q{padding:15px 0; border-top:1px solid var(--bn-border)} .niv-q:first-of-type{border-top:none; padding-top:2px} .bn-art .niv-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .niv-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .niv-score{display:flex; align-items:baseline; gap:10px; margin:0 0 13px} .bn-art .niv-score b{font-family:var(--bn-mono); font-size:2.1em; line-height:1; color:var(--bn-coral-txt); font-weight:800; letter-spacing:-.02em} .bn-art .niv-score span{font-size:16px; color:var(--bn-muted)} .niv-gauge{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden; margin:0 0 18px} .niv-gauge p:not([class]){display:contents} .niv-gauge i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nivv{display:none; border-radius:var(--bn-r-sm); padding:17px 19px; background:#fff; border:1px solid var(--bn-border)} .nivv.on{display:block} .bn-art .nivv b{display:block; font-size:1.08em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nivv p{margin:0; font-size:16px; line-height:1.62} .bn-art .niv-weak{margin:15px 0 0; font-size:16px; color:var(--bn-text)} .bn-art .niv-weak b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:4px} .bn-art blockquote{margin:26px 0; padding:18px 22px; background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-blue); border-radius:var(--bn-r); box-shadow:var(--bn-sh-sm)} .bn-art blockquote p{margin:0; font-size:17px; line-height:1.65; color:var(--bn-text)} .bn-chk{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-chk h3{margin:.1em 0 .3em} .bn-chk>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-chk br{display:none} .bn-chk p:empty{display:none; margin:0} .chk-doc{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:16px 18px; margin:0 0 6px} .bn-art .chk-doc b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .chk-doc span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .chk-q{padding:15px 0; border-top:1px solid var(--bn-border)} .bn-art .chk-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .chk-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .chk-pieces{display:grid; gap:10px; margin:0 0 16px} .chk-piece{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:12px 14px} .chk-piece.hit{border-color:var(--bn-green); background:var(--bn-green-soft)} .bn-art .chk-piece b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-muted); margin-bottom:5px} .bn-art .chk-piece.hit b{color:var(--bn-green)} .bn-art .chk-piece span{display:block; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-verdict{border-radius:var(--bn-r-sm); padding:14px 16px; font-size:16px; line-height:1.55; background:var(--bn-green-soft); border:1px solid #cfe6c4; color:var(--bn-text); margin:0 0 12px} .bn-art .chk-verdict.ko{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-art .chk-stats{margin:0; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-stats b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .bn-dev{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-dev h3{margin:.1em 0 .3em} .bn-dev>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-dev br{display:none} .bn-dev p:empty{display:none; margin:0} .dev-q{padding:15px 0; border-top:1px solid var(--bn-border)} .dev-q:first-of-type{border-top:none; padding-top:2px} .bn-art .dev-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .dev-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .dev-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 16px} .dev-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .dev-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .dev-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .dev-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .dev-stat:nth-child(4) b{color:var(--bn-ink)} .bn-art .dev-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .dev-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .dev-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .dvv{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .dvv.on{display:block} .bn-art .dvv b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .dvv p{margin:0; font-size:16px; line-height:1.62} @media(max-width:680px){ .dev-tiles{grid-template-columns:1fr 1fr} } .bn-fig.doc img{max-width:520px; margin:0 auto} .bn-nlu{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-nlu h3{margin:.1em 0 .3em} .bn-nlu>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-nlu br{display:none} .bn-nlu p:empty{display:none; margin:0} .nlu-q{padding:15px 0; border-top:1px solid var(--bn-border)} .nlu-q:first-of-type{border-top:none; padding-top:2px} .bn-art .nlu-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .bn-art .nlu-in{width:100%; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:12px 18px; outline:none} .bn-art .nlu-in:focus{border-color:var(--bn-coral)} .nlu-ex{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px} .nlu-ex p:not([class]){display:contents} .bn-art .nlu-exb{font-family:inherit; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s; text-align:left} .bn-art .nlu-exb:hover{background:var(--bn-coral-soft)} .nlu-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .nlu-toks{margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--bn-text)} .bn-art .nlu-toks b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:8px} .bn-art .nlu-tk{display:inline-block; font-family:var(--bn-mono); font-size:14px; background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:3px 11px; margin:0 6px 6px 0; color:var(--bn-ink)} .nlu-row{display:grid; grid-template-columns:1fr 130px 54px; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--bn-sand)} .nlu-row:first-child{border-top:none} .bn-art .nlu-lab{font-size:16px; line-height:1.4; color:var(--bn-ink); font-weight:700} .nlu-bar{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden} .nlu-bar i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nlu-row.win .nlu-bar i{background:var(--bn-green)} .bn-art .nlu-sc{font-family:var(--bn-mono); font-size:16px; font-weight:700; color:var(--bn-coral-txt); text-align:right} .nlu-verdict{margin:16px 0 0; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border); border-left:4px solid var(--bn-green)} .nlu-verdict.ko{border-left-color:var(--bn-coral)} .bn-art .nlu-verdict b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nlu-verdict p{margin:0; font-size:16px; line-height:1.62} .bn-art .nlu-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .nlu-row{grid-template-columns:minmax(0,1fr) 64px 48px; gap:9px} .bn-art .nlu-lab{font-size:16px} } @media(max-width:560px){ .nlu-row{grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:12px 0} .bn-art .nlu-lab{grid-column:1; grid-row:1} .bn-art .nlu-sc{grid-column:2; grid-row:1; text-align:right} .nlu-bar{grid-column:1\/3; grid-row:2} } .bn-art code{font-family:var(--bn-mono); font-size:16px; line-height:1.5; background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:6px; padding:1px 7px; color:var(--bn-ink); word-break:break-word} .bn-art pre{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:16px 18px; overflow-x:auto; margin:22px 0} .bn-art pre code{background:none; border:none; padding:0; font-size:16px}\"));document.head.appendChild(s);})();<\/script><\/p>\n<div class=\"bn-art\">\n<div class=\"bn-tldr\">\n<p><strong>En bref.<\/strong> Un chatbot ne comprend pas votre phrase, il la <strong>note<\/strong>. Il la nettoie, la compare \u00e0 des exemples qu\u2019on lui a donn\u00e9s, et attribue \u00e0 chaque intention un <strong>score de confiance entre 0 et 1<\/strong>. Un seul r\u00e9glage d\u00e9cide ensuite de tout : le <strong>seuil<\/strong> au-dessus duquel il r\u00e9pond, et en dessous duquel il passe la main.<\/p>\n<p>C\u2019est ce nombre qui explique les deux comportements que vous connaissez : le bot qui r\u00e9pond \u00e0 c\u00f4t\u00e9, et le bot qui r\u00e9p\u00e8te \u00ab je n\u2019ai pas compris \u00bb. Cette page ouvre la bo\u00eete, avec un moteur de compr\u00e9hension qui tourne vraiment dans votre navigateur et dont la formule est publi\u00e9e.<\/p>\n<\/div>\n<p>Toutes les pages qui expliquent le fonctionnement d\u2019un chatbot racontent la m\u00eame histoire en quatre temps : il re\u00e7oit, il comprend, il cherche, il r\u00e9pond. C\u2019est exact, et \u00e7a n\u2019explique rien. \u00c7a ne dit pas <strong>pourquoi<\/strong> un bot r\u00e9pond parfaitement \u00e0 \u00ab o\u00f9 est ma commande \u00bb et d\u00e9raille sur \u00ab c\u2019est quand que je r\u00e9cup\u00e8re mes sous \u00bb. \u00c7a ne dit pas quel r\u00e9glage aurait \u00e9vit\u00e9 l\u2019erreur.<\/p>\n<p>La vraie m\u00e9canique tient dans une op\u00e9ration arithm\u00e9tique tr\u00e8s simple, faite des dizaines de fois par message : une comparaison qui rend un nombre. Comprendre ce nombre, c\u2019est comprendre un chatbot, et surtout savoir le r\u00e9gler. Cet article suit un message du clavier jusqu\u2019\u00e0 la r\u00e9ponse, montre les artefacts r\u00e9els qui existent \u00e0 chaque \u00e9tape, et vous laisse manipuler vous-m\u00eame le moteur.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #3d351f;color:#3d351f\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #3d351f;color:#3d351f\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Le_trajet_dun_message_etape_par_etape\" >Le trajet d\u2019un message, \u00e9tape par \u00e9tape<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Un_chatbot_ne_comprend_pas_il_note\" >Un chatbot ne comprend pas, il note<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Le_banc_dessai_faites_tourner_un_moteur_de_comprehension\" >Le banc d\u2019essai : faites tourner un moteur de compr\u00e9hension<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Le_seuil_de_confiance_le_reglage_qui_decide_de_tout\" >Le seuil de confiance, le r\u00e9glage qui d\u00e9cide de tout<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Un_seuil_bas_02_a_03\" >Un seuil bas (0,2 \u00e0 0,3)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Un_seuil_haut_06_a_08\" >Un seuil haut (0,6 \u00e0 0,8)<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Trois_moteurs_sous_le_capot_et_comment_reconnaitre_celui_qui_vous_repond\" >Trois moteurs sous le capot, et comment reconna\u00eetre celui qui vous r\u00e9pond<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Le_test_en_trois_messages_a_faire_sur_nimporte_quel_bot\" >Le test en trois messages, \u00e0 faire sur n\u2019importe quel bot<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#A_quoi_ca_ressemble_dans_un_vrai_editeur\" >\u00c0 quoi \u00e7a ressemble dans un vrai \u00e9diteur<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Fonctionnement_des_chatbots_IA_ce_que_le_grand_modele_de_langage_change_au_trajet\" >Fonctionnement des chatbots IA : ce que le grand mod\u00e8le de langage change au trajet<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#La_meme_question_peut_donner_deux_reponses\" >La m\u00eame question peut donner deux r\u00e9ponses<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Il_na_plus_de_raison_de_se_taire\" >Il n\u2019a plus de raison de se taire<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#La_memoire_ce_que_le_bot_retient_et_jusqua_quand\" >La m\u00e9moire : ce que le bot retient, et jusqu\u2019\u00e0 quand<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Comprendre_ne_suffit_pas_ce_que_le_bot_fait_de_sa_reponse\" >Comprendre ne suffit pas : ce que le bot fait de sa r\u00e9ponse<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Questions_frequentes\" >Questions fr\u00e9quentes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Ce_quil_faut_retenir\" >Ce qu\u2019il faut retenir<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/botnation.ai\/fr\/fonctionnement-chatbot\/#Voyez_la_mecanique_de_linterieur\" >Voyez la m\u00e9canique de l\u2019int\u00e9rieur<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 id=\"trajet\"><span class=\"ez-toc-section\" id=\"Le_trajet_dun_message_etape_par_etape\"><\/span>Le trajet d\u2019un message, \u00e9tape par \u00e9tape<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Entre le moment o\u00f9 vous appuyez sur Entr\u00e9e et celui o\u00f9 la r\u00e9ponse s\u2019affiche, il se passe rarement plus de deux secondes. Voici ce qui s\u2019y d\u00e9roule, dans l\u2019ordre, pour un chatbot d\u2019entreprise classique.<\/p>\n<ol class=\"bn-steps\">\n<li><b>La r\u00e9ception<\/b>Le widget capte votre texte, ou le clic sur un bouton, et l\u2019envoie au serveur du bot avec un identifiant de session. C\u2019est cet identifiant qui rattache votre message aux pr\u00e9c\u00e9dents.<\/li>\n<li><b>La normalisation<\/b>Le texte est mis en minuscules, d\u00e9barrass\u00e9 de ses accents et de sa ponctuation, d\u00e9coup\u00e9 en mots. Les mots outils (articles, pronoms, pr\u00e9positions) sont souvent \u00e9cart\u00e9s. \u00ab O\u00f9 est ma commande ? \u00bb devient une poign\u00e9e de jetons, parfois un seul.<\/li>\n<li><b>Le calcul des scores<\/b>Ce qui reste est compar\u00e9 aux phrases d\u2019entra\u00eenement de chaque intention. Chaque intention repart avec une note. C\u2019est l\u2019\u00e9tape que la suite de cet article diss\u00e8que.<\/li>\n<li><b>La d\u00e9cision<\/b>Le moteur regarde la meilleure note. Si elle atteint le seuil, l\u2019intention gagnante est retenue. Sinon il d\u00e9clenche le repli : reformulation demand\u00e9e, menu de choix, ou transfert vers un humain.<\/li>\n<li><b>L\u2019extraction des informations<\/b>Si l\u2019intention est retenue, le moteur en tire les donn\u00e9es utiles : une r\u00e9f\u00e9rence de commande, une date, un code postal, un montant. Ces valeurs sont rang\u00e9es dans des variables de session.<\/li>\n<li><b>L\u2019action<\/b>Beaucoup de r\u00e9ponses ne sont pas des phrases toutes pr\u00eates. Le bot appelle une API (le suivi du transporteur, le CRM, l\u2019agenda), attend le r\u00e9sultat, et le glisse dans sa r\u00e9ponse.<\/li>\n<li><b>La restitution<\/b>Le texte est envoy\u00e9 au widget, avec parfois des boutons de suite, une image, un lien. Et le tour recommence au message suivant, cette fois avec un contexte.<\/li>\n<\/ol>\n<p>Chaque \u00e9tape a un r\u00e9glage qui la pilote, et un sympt\u00f4me qui la trahit quand elle \u00e9choue. C\u2019est le tableau qu\u2019on ne trouve nulle part et qui sert le plus quand on doit diagnostiquer un bot qui d\u00e9\u00e7oit.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>\u00c9tape<\/th>\n<th>Ce qui la pilote<\/th>\n<th>Ce que vous voyez quand elle rate<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Normalisation<\/td>\n<td>Liste de mots outils, tol\u00e9rance aux fautes, gestion des accents<\/td>\n<td>Le bot ne r\u00e9agit pas \u00e0 une phrase pourtant claire, \u00e0 cause d\u2019une faute de frappe<\/td>\n<\/tr>\n<tr>\n<td>Calcul des scores<\/td>\n<td>Nombre et qualit\u00e9 des phrases d\u2019entra\u00eenement de chaque intention<\/td>\n<td>Deux intentions proches se disputent en permanence les m\u00eames messages<\/td>\n<\/tr>\n<tr>\n<td>D\u00e9cision<\/td>\n<td>Le seuil de confiance, et l\u2019\u00e9cart minimal exig\u00e9 avec la deuxi\u00e8me intention<\/td>\n<td>Trop bas : le bot r\u00e9pond \u00e0 c\u00f4t\u00e9. Trop haut : il dit sans arr\u00eat qu\u2019il n\u2019a pas compris<\/td>\n<\/tr>\n<tr>\n<td>Extraction<\/td>\n<td>Types de donn\u00e9es d\u00e9clar\u00e9s (date, r\u00e9f\u00e9rence, e-mail, ville)<\/td>\n<td>Le bot repose trois fois la m\u00eame question alors que la r\u00e9ponse \u00e9tait dans le message<\/td>\n<\/tr>\n<tr>\n<td>Action<\/td>\n<td>Connecteurs, d\u00e9lai d\u2019attente, comportement en cas d\u2019\u00e9chec de l\u2019API<\/td>\n<td>Le bot reste muet, ou promet une information qu\u2019il n\u2019a jamais re\u00e7ue<\/td>\n<\/tr>\n<tr>\n<td>Restitution<\/td>\n<td>Mod\u00e8les de r\u00e9ponse, boutons de suite, r\u00e8gles d\u2019escalade<\/td>\n<td>Une bonne r\u00e9ponse dans un cul-de-sac, sans issue vers un conseiller<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"bn-call bn-info\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M12 16v-4M12 8h.01\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Bon \u00e0 savoir<\/span>\n<p>Un chatbot \u00e0 boutons ne fait que les \u00e9tapes 1, 6 et 7. Il n\u2019a rien \u00e0 comprendre : chaque bouton pointe vers une suite pr\u00e9d\u00e9finie. C\u2019est pour cette raison qu\u2019il ne se trompe jamais, et qu\u2019il ne surprend jamais non plus.<\/p>\n<\/div>\n<\/div>\n<h2 id=\"score\"><span class=\"ez-toc-section\" id=\"Un_chatbot_ne_comprend_pas_il_note\"><\/span>Un chatbot ne comprend pas, il note<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>C\u2019est la phrase la plus utile de tout cet article, et c\u2019est la documentation de Botnation qui la formule le plus honn\u00eatement : \u00ab <em>Le chatbot ne comprend pas une phrase en son entier mais il va en reconna\u00eetre certains mots. C\u2019est en comparant ces mots avec ceux qui ont \u00e9t\u00e9 configur\u00e9s dans les r\u00e8gles de son IA qu\u2019il va pouvoir y associer la bonne r\u00e9ponse.<\/em> \u00bb<\/p>\n<p>La documentation de Google dit la m\u00eame chose, avec un chiffre. Sur Dialogflow, chaque intention candidate re\u00e7oit une note : \u00ab <em>Lors de la recherche d\u2019une intention correspondante, Dialogflow note les correspondances possibles avec une confiance de d\u00e9tection d\u2019intention, aussi appel\u00e9e score de confiance. Ces valeurs vont de 0,0 (totalement incertain) \u00e0 1,0 (totalement certain)<\/em> \u00bb (\u00ab <em>When searching for a matching intent, Dialogflow scores potential matches with an intent detection confidence, also known as the confidence score. These values range from 0.0 (completely uncertain) to 1.0 (completely certain)<\/em> \u00bb, documentation Dialogflow ES, page mise \u00e0 jour le 29 juillet 2026).<\/p>\n<div class=\"bn-def\"><span class=\"bn-klabel\">D\u00e9finition<\/span>\n<p><strong>Score de confiance.<\/strong> Un nombre entre 0 et 1 qui mesure \u00e0 quel point le message ressemble aux exemples d\u2019une intention. Ce n\u2019est ni une probabilit\u00e9 d\u2019avoir raison, ni une mesure de compr\u00e9hension : c\u2019est une distance. Un score de 0,9 veut dire \u00ab tr\u00e8s ressemblant \u00bb, pas \u00ab j\u2019ai compris \u00bb.<\/p>\n<\/div>\n<p>Trois familles de moteurs calculent ce score diff\u00e9remment, mais toutes le calculent.<\/p>\n<ul>\n<li>Les moteurs \u00e0 <strong>mots-cl\u00e9s<\/strong> comparent les mots pr\u00e9sents. C\u2019est le cas de l\u2019IA \u00e9l\u00e9mentaire de Botnation, avec ses mots cl\u00e9s, ses expressions et ses r\u00e8gles.<\/li>\n<li>Les moteurs \u00e0 <strong>classifieur<\/strong> (Dialogflow, Rasa, watsonx Assistant) apprennent un mod\u00e8le statistique sur vos phrases d\u2019exemple et sortent une distribution de probabilit\u00e9s sur les intentions.<\/li>\n<li>Les moteurs \u00e0 <strong>vecteurs<\/strong>, ceux des chatbots r\u00e9cents, transforment la phrase en une liste de nombres et cherchent les passages de votre documentation les plus proches dans cet espace. Le score y devient une distance vectorielle, mais c\u2019est toujours un score.<\/li>\n<\/ul>\n<p>Le moteur ci-dessous est de la premi\u00e8re famille, la plus lisible. Sa base d\u2019intentions est publi\u00e9e en clair, sa formule aussi, et il tourne dans votre navigateur : rien de ce que vous tapez ne part ailleurs.<\/p>\n<div class=\"bn-tablewrap\" id=\"bnnlubase\">\n<table>\n<thead>\n<tr>\n<th>Intention<\/th>\n<th>Les quatre phrases d\u2019entra\u00eenement<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr data-lab=\"Suivre ma commande\" data-ph=\"o\u00f9 est ma commande|suivre mon colis|ma livraison a du retard|quand vais-je recevoir mon colis\">\n<td>Suivre ma commande<\/td>\n<td>o\u00f9 est ma commande \u00b7 suivre mon colis \u00b7 ma livraison a du retard \u00b7 quand vais-je recevoir mon colis<\/td>\n<\/tr>\n<tr data-lab=\"Retourner un article\" data-ph=\"je veux retourner un article|comment faire un retour|renvoyer un produit|l'article ne me convient pas\">\n<td>Retourner un article<\/td>\n<td>je veux retourner un article \u00b7 comment faire un retour \u00b7 renvoyer un produit \u00b7 l\u2019article ne me convient pas<\/td>\n<\/tr>\n<tr data-lab=\"Obtenir un remboursement\" data-ph=\"je veux un remboursement|quand serai-je rembours\u00e9|vous ne m'avez pas rembours\u00e9|obtenir le remboursement de ma commande\">\n<td>Obtenir un remboursement<\/td>\n<td>je veux un remboursement \u00b7 quand serai-je rembours\u00e9 \u00b7 vous ne m\u2019avez pas rembours\u00e9 \u00b7 obtenir le remboursement de ma commande<\/td>\n<\/tr>\n<tr data-lab=\"Frais et d\u00e9lais de livraison\" data-ph=\"combien co\u00fbte la livraison|quels sont les d\u00e9lais de livraison|livrez-vous en Belgique|la livraison est-elle gratuite\">\n<td>Frais et d\u00e9lais de livraison<\/td>\n<td>combien co\u00fbte la livraison \u00b7 quels sont les d\u00e9lais de livraison \u00b7 livrez-vous en Belgique \u00b7 la livraison est-elle gratuite<\/td>\n<\/tr>\n<tr data-lab=\"Modifier ma commande\" data-ph=\"modifier ma commande|changer l'adresse de livraison|annuler ma commande|ajouter un article \u00e0 ma commande\">\n<td>Modifier ma commande<\/td>\n<td>modifier ma commande \u00b7 changer l\u2019adresse de livraison \u00b7 annuler ma commande \u00b7 ajouter un article \u00e0 ma commande<\/td>\n<\/tr>\n<tr data-lab=\"Probl\u00e8me de connexion\" data-ph=\"je n'arrive pas \u00e0 me connecter|mot de passe oubli\u00e9|mon compte est bloqu\u00e9|r\u00e9initialiser mon mot de passe\">\n<td>Probl\u00e8me de connexion<\/td>\n<td>je n\u2019arrive pas \u00e0 me connecter \u00b7 mot de passe oubli\u00e9 \u00b7 mon compte est bloqu\u00e9 \u00b7 r\u00e9initialiser mon mot de passe<\/td>\n<\/tr>\n<tr data-lab=\"Parler \u00e0 un conseiller\" data-ph=\"je veux parler \u00e0 quelqu'un|passez-moi un conseiller|je veux un vrai agent|parler \u00e0 une personne du service client\">\n<td>Parler \u00e0 un conseiller<\/td>\n<td>je veux parler \u00e0 quelqu\u2019un \u00b7 passez-moi un conseiller \u00b7 je veux un vrai agent \u00b7 parler \u00e0 une personne du service client<\/td>\n<\/tr>\n<tr data-lab=\"Horaires et contact\" data-ph=\"quels sont vos horaires|\u00eates-vous ouverts le samedi|comment vous joindre|votre num\u00e9ro de t\u00e9l\u00e9phone\">\n<td>Horaires et contact<\/td>\n<td>quels sont vos horaires \u00b7 \u00eates-vous ouverts le samedi \u00b7 comment vous joindre \u00b7 votre num\u00e9ro de t\u00e9l\u00e9phone<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"bn-nlu\" id=\"bnnlu\" data-stop=\"je j tu il elle on nous vous ils elles me te se moi toi lui leur leurs le la les l un une des du de d au aux a et ou ni mais donc car or que qu qui quoi ce c cet cette ces mon ma mes ton ta tes son sa ses notre nos votre vos en y pour par sur dans avec sans sous chez est sont ai as ont etre suis es sommes etes ete ne n pas plus tres bien si comme s t\" data-dec=\",\" data-tokempty=\"aucun\" data-tok-lab=\"Mots retenus apr\u00e8s nettoyage\" data-tok-none=\"Apr\u00e8s nettoyage, il ne reste aucun mot \u00e0 comparer.\" data-tok-empty=\"Il ne reste rien \u00e0 comparer\" data-tok-emptyp=\"Tous les mots du message sont des mots outils, ou le champ est vide. Le moteur n\u2019a plus rien \u00e0 mettre en face de la base.\" data-ok-t=\"Le bot r\u00e9pond\" data-ok-p=\"Le meilleur score atteint le seuil, et l\u2019\u00e9cart avec le suivant est suffisant. Le bot d\u00e9clenche la r\u00e9ponse de cette intention.\" data-low-t=\"Le bot passe la main\" data-low-p=\"Le meilleur score est sous le seuil. Aucune intention n\u2019est retenue, le bot bascule sur sa r\u00e9ponse par d\u00e9faut ou vers un conseiller.\" data-amb-t=\"Le bot passe la main\" data-amb-p=\"Le meilleur score passe le seuil, mais l\u2019\u00e9cart avec la deuxi\u00e8me intention est trop faible. Le moteur pr\u00e9f\u00e8re ne pas trancher plut\u00f4t que de risquer la mauvaise r\u00e9ponse.\">\n<h3 id=\"banc\"><span class=\"ez-toc-section\" id=\"Le_banc_dessai_faites_tourner_un_moteur_de_comprehension\"><\/span>Le banc d\u2019essai : faites tourner un moteur de compr\u00e9hension<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ce moteur tourne vraiment dans votre navigateur, sur la base d\u2019intentions publi\u00e9e juste au-dessus. Tapez une phrase ou prenez un exemple, puis d\u00e9placez le seuil et regardez le verdict changer.<\/p>\n<div class=\"nlu-q\">\n<p class=\"nlu-qt\">1. Le message de l\u2019internaute<\/p>\n<p><input type=\"text\" class=\"nlu-in\" id=\"nluin\" value=\"O\u00f9 est ma commande ?\" aria-label=\"Message \u00e0 tester\"><\/p>\n<div class=\"nlu-ex\"><button type=\"button\" class=\"nlu-exb\" data-m=\"O\u00f9 est ma commande ?\">O\u00f9 est ma commande ?<\/button><button type=\"button\" class=\"nlu-exb\" data-m=\"je voudrais renvoyer le pull, il est trop petit\">je voudrais renvoyer le pull, il est trop petit<\/button><button type=\"button\" class=\"nlu-exb\" data-m=\"c'est quand que je r\u00e9cup\u00e8re mes sous\">c\u2019est quand que je r\u00e9cup\u00e8re mes sous<\/button><button type=\"button\" class=\"nlu-exb\" data-m=\"je veux annuler ma commande\">je veux annuler ma commande<\/button><button type=\"button\" class=\"nlu-exb\" data-m=\"combien de temps pour \u00eatre livr\u00e9 en Belgique\">combien de temps pour \u00eatre livr\u00e9 en Belgique<\/button><button type=\"button\" class=\"nlu-exb\" data-m=\"mot de passe oubli\u00e9\">mot de passe oubli\u00e9<\/button><button type=\"button\" class=\"nlu-exb\" data-m=\"je veux parler \u00e0 un humain\">je veux parler \u00e0 un humain<\/button><button type=\"button\" class=\"nlu-exb\" data-m=\"je n'arrive pas \u00e0 me connecter et je veux un remboursement\">je n\u2019arrive pas \u00e0 me connecter et je veux un remboursement<\/button><\/div>\n<\/div>\n<div class=\"nlu-q\">\n<p class=\"nlu-qt\">2. Le seuil de confiance<\/p>\n<div class=\"cdc-chips\"><label class=\"cdc-chip\"><input type=\"radio\" name=\"nlut\" value=\"0.20\">0,20<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"nlut\" value=\"0.35\" checked>0,35<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"nlut\" value=\"0.50\">0,50<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"nlut\" value=\"0.70\">0,70<\/label><\/div>\n<\/div>\n<div class=\"nlu-q\">\n<p class=\"nlu-qt\">3. L\u2019\u00e9cart minimal exig\u00e9 entre les deux premi\u00e8res intentions<\/p>\n<div class=\"cdc-chips\"><label class=\"cdc-chip\"><input type=\"radio\" name=\"nlug\" value=\"0.00\">d\u00e9sactiv\u00e9<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"nlug\" value=\"0.10\" checked>0,10 (d\u00e9faut Rasa)<\/label><\/div>\n<\/div>\n<div class=\"nlu-q\">\n<p class=\"nlu-qt\">4. Ignorer les mots outils (articles, pronoms, pr\u00e9positions)<\/p>\n<div class=\"cdc-chips\"><label class=\"cdc-chip\"><input type=\"radio\" name=\"nlus\" value=\"1\" checked>oui<\/label><label class=\"cdc-chip\"><input type=\"radio\" name=\"nlus\" value=\"0\">non<\/label><\/div>\n<\/div>\n<div class=\"nlu-out\">\n<p class=\"nlu-toks\"><b>Mots retenus apr\u00e8s nettoyage<\/b><span id=\"nlutk\"><span class=\"nlu-tk\">commande<\/span><\/span><\/p>\n<div id=\"nlurk\">\n<div class=\"nlu-row win\"><span class=\"nlu-lab\">Suivre ma commande<\/span><span class=\"nlu-bar\"><i style=\"width:100%\"><\/i><\/span><span class=\"nlu-sc\">1,00<\/span><\/div>\n<div class=\"nlu-row\"><span class=\"nlu-lab\">Modifier ma commande<\/span><span class=\"nlu-bar\"><i style=\"width:71%\"><\/i><\/span><span class=\"nlu-sc\">0,71<\/span><\/div>\n<div class=\"nlu-row\"><span class=\"nlu-lab\">Obtenir un remboursement<\/span><span class=\"nlu-bar\"><i style=\"width:58%\"><\/i><\/span><span class=\"nlu-sc\">0,58<\/span><\/div>\n<\/div>\n<div class=\"nlu-verdict\" id=\"nluvd\"><b id=\"nluvt\">Le bot r\u00e9pond<\/b>\n<p id=\"nluvp\">Le meilleur score atteint le seuil, et l\u2019\u00e9cart avec le suivant est suffisant. Le bot d\u00e9clenche la r\u00e9ponse de cette intention.<\/p>\n<\/div>\n<\/div>\n<p class=\"nlu-note\">Score = nombre de mots communs divis\u00e9 par la racine carr\u00e9e du produit des deux longueurs, le meilleur des quatre phrases de chaque intention. Aucune donn\u00e9e ne quitte votre navigateur.<\/p>\n<\/div>\n<p>Prenez trois minutes pour jouer avec. Trois choses valent le d\u00e9tour.<\/p>\n<ul>\n<li>Tapez <strong>\u00ab c\u2019est quand que je r\u00e9cup\u00e8re mes sous \u00bb<\/strong>. Le moteur propose \u00ab Obtenir un remboursement \u00bb \u00e0 0,41, alors que le mot \u00ab remboursement \u00bb n\u2019appara\u00eet nulle part. Le seul mot commun est \u00ab quand \u00bb. Voil\u00e0, en une ligne, comment un bot r\u00e9pond \u00e0 c\u00f4t\u00e9.<\/li>\n<li>Passez le seuil de 0,35 \u00e0 0,50 sur cette m\u00eame phrase. Le bot cesse de r\u00e9pondre et passe la main. La phrase n\u2019a pas chang\u00e9, le bot non plus : un seul curseur a chang\u00e9 de valeur.<\/li>\n<li>Testez <strong>\u00ab je n\u2019arrive pas \u00e0 me connecter et je veux un remboursement \u00bb<\/strong>. Deux intentions arrivent \u00e0 \u00e9galit\u00e9 parfaite. Sans r\u00e8gle d\u2019\u00e9cart, le moteur en choisit une au hasard de l\u2019ordre alphab\u00e9tique. Avec la r\u00e8gle d\u2019\u00e9cart, il refuse de trancher.<\/li>\n<\/ul>\n<div class=\"bn-call bn-tip\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Astuce<\/span>\n<p>Basculez \u00ab ignorer les mots outils \u00bb sur <strong>non<\/strong> et regardez les scores fondre. Sans nettoyage, \u00ab o\u00f9 est ma commande \u00bb partage \u00ab est \u00bb, \u00ab ma \u00bb et \u00ab ou \u00bb avec la moiti\u00e9 de la base : le signal se noie dans les mots vides. C\u2019est pour \u00e7a que la documentation de Botnation recommande de \u00ab <em>ne pas y inclure les pronoms, les conjonctions, pr\u00e9positions, articles d\u00e9finis ou contractions<\/em> \u00bb.<\/p>\n<\/div>\n<\/div>\n<h2 id=\"seuil\"><span class=\"ez-toc-section\" id=\"Le_seuil_de_confiance_le_reglage_qui_decide_de_tout\"><\/span>Le seuil de confiance, le r\u00e9glage qui d\u00e9cide de tout<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Une fois les scores calcul\u00e9s, il reste une d\u00e9cision binaire \u00e0 prendre : r\u00e9pondre, ou ne pas r\u00e9pondre. C\u2019est le seuil qui tranche, et la documentation de Google en donne la r\u00e8gle exacte : \u00ab <em>Si l\u2019intention au score le plus \u00e9lev\u00e9 a un score de confiance sup\u00e9rieur ou \u00e9gal au param\u00e8tre ML Classification Threshold, elle est renvoy\u00e9e comme correspondance. Si aucune intention n\u2019atteint le seuil, une intention de repli est retenue. Si aucune intention n\u2019atteint le seuil et qu\u2019aucune intention de repli n\u2019est d\u00e9finie, aucune intention n\u2019est retenue<\/em> \u00bb (\u00ab <em>If the highest scoring intent has a confidence score greater than or equal to the ML Classification Threshold setting, it is returned as a match. If no intents meet the threshold, a fallback intent is matched. If no intents meet the threshold and no fallback intent is defined, no intent is matched<\/em> \u00bb).<\/p>\n<figure class=\"bn-fig\"><img fetchpriority=\"high\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/bn-fonctionnement-seuil.jpg\" alt=\"Deux mains r\u00e8glent un gros bouton cr\u00e8me dont l'arc lumineux passe du vert au corail, illustrant le seuil de confiance d'un chatbot\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>Le seuil de confiance est un curseur, pas une v\u00e9rit\u00e9. D\u2019un c\u00f4t\u00e9 le bot r\u00e9pond souvent et se trompe parfois, de l\u2019autre il se trompe rarement et abandonne souvent.<\/figcaption><\/figure>\n<p>Chez Rasa, l\u2019autre grande plateforme ouverte, le m\u00e9canisme porte un nom de composant : \u00ab <em>Pour traiter les messages entrants avec une faible confiance NLU, utilisez le FallbackClassifier. Avec cette configuration, l\u2019intention nlu_fallback sera pr\u00e9dite lorsque toutes les autres pr\u00e9dictions d\u2019intention tombent sous le seuil de confiance configur\u00e9<\/em> \u00bb (\u00ab <em>To handle incoming messages with low NLU confidence, use the FallbackClassifier. Using this configuration, the intent nlu_fallback will be predicted when all other intent predictions fall below the configured confidence threshold<\/em> \u00bb, documentation Rasa).<\/p>\n<p>Deux valeurs par d\u00e9faut m\u00e9ritent d\u2019\u00eatre connues, parce qu\u2019elles fixent le comportement de milliers de bots dont personne n\u2019a touch\u00e9 la configuration. Dans le code source de Rasa, le fichier <code>rasa\/core\/constants.py<\/code> pose <code>DEFAULT_NLU_FALLBACK_THRESHOLD = 0.3<\/code> et <code>DEFAULT_NLU_FALLBACK_AMBIGUITY_THRESHOLD = 0.1<\/code>. La documentation, elle, montre un exemple \u00e0 0,7. Autrement dit : le r\u00e9glage livr\u00e9 est permissif, celui que la documentation sugg\u00e8re est prudent, et l\u2019\u00e9cart entre les deux change compl\u00e8tement le caract\u00e8re du bot.<\/p>\n<p>Le second nombre est le plus int\u00e9ressant, et il est presque toujours ignor\u00e9. Le classifieur de Rasa ne bascule pas seulement quand le meilleur score est trop bas : il bascule aussi quand les <strong>deux premiers scores sont trop proches<\/strong>. Le code compare la diff\u00e9rence entre le premier et le deuxi\u00e8me, et si elle est inf\u00e9rieure \u00e0 0,1, il pr\u00e9dit quand m\u00eame le repli. La logique est excellente : un bot tr\u00e8s s\u00fbr de deux choses contradictoires est un bot qui va se tromper une fois sur deux. Mieux vaut poser une question.<\/p>\n<div class=\"bn-cols\">\n<div class=\"bn-col cli\">\n<h4><span class=\"ez-toc-section\" id=\"Un_seuil_bas_02_a_03\"><\/span><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M20 6L9 17l-5-5\"><\/path><\/svg>Un seuil bas (0,2 \u00e0 0,3)<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Le bot tente une r\u00e9ponse presque \u00e0 chaque message<\/li>\n<li>Peu de \u00ab je n\u2019ai pas compris \u00bb, donc moins de frustration visible<\/li>\n<li>Mais des r\u00e9ponses hors sujet, qui co\u00fbtent la confiance<\/li>\n<li>Adapt\u00e9 quand une mauvaise r\u00e9ponse est sans gravit\u00e9 : horaires, FAQ g\u00e9n\u00e9rale<\/li>\n<\/ul>\n<\/div>\n<div class=\"bn-col warn\">\n<h4><span class=\"ez-toc-section\" id=\"Un_seuil_haut_06_a_08\"><\/span><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 9v4M12 17h.01M10.3 3.9L1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z\"><\/path><\/svg>Un seuil haut (0,6 \u00e0 0,8)<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Le bot ne r\u00e9pond que lorsqu\u2019il est s\u00fbr<\/li>\n<li>Tr\u00e8s peu d\u2019erreurs, donc une confiance qui tient<\/li>\n<li>Mais beaucoup de replis, qui donnent l\u2019impression d\u2019un bot born\u00e9<\/li>\n<li>Indispensable quand une erreur co\u00fbte cher : sant\u00e9, argent, contrat, juridique<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<p>Il n\u2019existe pas de bon seuil dans l\u2019absolu. Il existe un bon seuil pour un co\u00fbt d\u2019erreur donn\u00e9. La bonne question \u00e0 se poser avant de le fixer n\u2019est pas \u00ab quel est le meilleur r\u00e9glage \u00bb, mais \u00ab <strong>que se passe-t-il si le bot r\u00e9pond faux \u00e0 cette question pr\u00e9cise<\/strong> \u00bb. Sur un suivi de colis, pas grand-chose. Sur une question de remboursement ou de couverture d\u2019assurance, beaucoup.<\/p>\n<div class=\"bn-call bn-warn\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 9v4M12 17h.01M10.3 3.9L1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Erreur fr\u00e9quente<\/span>\n<p>Monter le seuil pour corriger un bot qui r\u00e9pond mal ne traite que le sympt\u00f4me. La cause est presque toujours ailleurs : deux intentions trop proches, ou des phrases d\u2019entra\u00eenement qui se ressemblent. Le seuil est un pansement, la base d\u2019intentions est le soin.<\/p>\n<\/div>\n<\/div>\n<h2 id=\"moteurs\"><span class=\"ez-toc-section\" id=\"Trois_moteurs_sous_le_capot_et_comment_reconnaitre_celui_qui_vous_repond\"><\/span>Trois moteurs sous le capot, et comment reconna\u00eetre celui qui vous r\u00e9pond<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Le mot \u00ab chatbot \u00bb recouvre trois machines tr\u00e8s diff\u00e9rentes. Elles ne se distinguent pas \u00e0 l\u2019apparence de la fen\u00eatre de discussion, qui est identique dans les trois cas, mais \u00e0 leur comportement face \u00e0 une phrase inattendue.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/bn-fonctionnement-moteurs.jpg\" alt=\"Trois objets align\u00e9s sur une \u00e9tag\u00e8re en bois clair : un bo\u00eetier \u00e0 boutons, un fichier \u00e0 fiches et une sph\u00e8re lumineuse, image des trois moteurs de chatbot\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>Un bo\u00eetier \u00e0 boutons, un fichier \u00e0 fiches, une sph\u00e8re qui g\u00e9n\u00e8re. Trois fa\u00e7ons de produire une r\u00e9ponse, trois fa\u00e7ons de se tromper.<\/figcaption><\/figure>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Moteur<\/th>\n<th>Comment il d\u00e9cide<\/th>\n<th>Ce qu\u2019il fait d\u2019une phrase inconnue<\/th>\n<th>Ce qu\u2019il co\u00fbte \u00e0 exploiter<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Sc\u00e9nario \u00e0 boutons<\/td>\n<td>Vous cliquez, il suit l\u2019ar\u00eate du graphe. Aucun calcul.<\/td>\n<td>Rien, il n\u2019y a pas de champ libre. Il propose son menu.<\/td>\n<td>Le temps de dessiner l\u2019arbre. Rien \u00e0 l\u2019usage.<\/td>\n<\/tr>\n<tr>\n<td>Intentions et mots-cl\u00e9s<\/td>\n<td>Il note chaque r\u00e8gle, garde la meilleure au-dessus du seuil.<\/td>\n<td>Repli : reformulation, menu, ou transfert. Le message atterrit dans les statistiques des questions non comprises.<\/td>\n<td>Un travail continu d\u2019ajout de phrases d\u2019entra\u00eenement.<\/td>\n<\/tr>\n<tr>\n<td>LLM sur vos contenus<\/td>\n<td>Il cherche les passages proches dans votre documentation, puis r\u00e9dige \u00e0 partir d\u2019eux.<\/td>\n<td>Il r\u00e9pond quand m\u00eame, avec ce qu\u2019il a trouv\u00e9 de plus proche. C\u2019est sa force et son danger.<\/td>\n<td>Un co\u00fbt par question pos\u00e9e, en cr\u00e9dits ou en jetons.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Le tableau se lit vite, mais il ne dit pas ce qui compte le plus au quotidien : les trois moteurs cohabitent presque toujours dans le m\u00eame bot. Un menu de boutons en accueil, des intentions pour les demandes r\u00e9currentes, un moteur g\u00e9n\u00e9ratif en filet de s\u00e9curit\u00e9 pour tout le reste. Si vous voulez creuser cette classification et ses variantes vocales, l\u2019article sur <a href=\"https:\/\/botnation.ai\/fr\/type-de-chatbot\/\">les types de chatbot<\/a> la d\u00e9taille par interface, par canal et par objectif.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Le_test_en_trois_messages_a_faire_sur_nimporte_quel_bot\"><\/span>Le test en trois messages, \u00e0 faire sur n\u2019importe quel bot<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Vous pouvez identifier le moteur d\u2019un chatbot inconnu en moins d\u2019une minute, sans rien savoir de sa technologie. Envoyez-lui ces trois messages dans l\u2019ordre.<\/p>\n<ol class=\"bn-steps\">\n<li><b>\u00ab bonjour \u00bb \u00e9crit avec trois fautes<\/b>Tapez \u00ab bnjour \u00bb ou \u00ab bonjou \u00bb. Un moteur \u00e0 mots-cl\u00e9s tol\u00e8re souvent la faute et salue. Un moteur \u00e0 boutons ignore le texte. Un moteur g\u00e9n\u00e9ratif r\u00e9pond normalement, et souvent commente gentiment la faute.<\/li>\n<li><b>Une question hors sujet mais bien formul\u00e9e<\/b>Demandez la recette du g\u00e2teau au yaourt \u00e0 un bot bancaire. Un moteur \u00e0 intentions bascule sur son repli. Un moteur g\u00e9n\u00e9ratif mal encadr\u00e9 vous donne la recette, ce qui prouve qu\u2019il r\u00e9pond sans garde-fou.<\/li>\n<li><b>Une question qui d\u00e9pend de la pr\u00e9c\u00e9dente<\/b>Posez une question, puis encha\u00eenez avec \u00ab et pour l\u2019autre ? \u00bb. Seul un moteur qui garde un contexte peut s\u2019en sortir. Les deux autres repartent de z\u00e9ro.<\/li>\n<\/ol>\n<p>Ce petit protocole vaut aussi pour \u00e9valuer un prestataire en d\u00e9monstration : il r\u00e9v\u00e8le en trois messages ce qu\u2019un argumentaire commercial met une heure \u00e0 contourner.<\/p>\n<h2 id=\"editeur\"><span class=\"ez-toc-section\" id=\"A_quoi_ca_ressemble_dans_un_vrai_editeur\"><\/span>\u00c0 quoi \u00e7a ressemble dans un vrai \u00e9diteur<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Tout ce qui pr\u00e9c\u00e8de existe sous forme d\u2019\u00e9crans concrets. Voici les artefacts r\u00e9els d\u2019une plateforme, ici la documentation publique de Botnation, qui a le m\u00e9rite de d\u00e9crire son moteur \u00e9l\u00e9mentaire sans le romancer.<\/p>\n<p>Une <strong>r\u00e8gle d\u2019IA<\/strong> associe une intention \u00e0 des mots cl\u00e9s et \u00e0 des expressions. Les mots cl\u00e9s sont des synonymes qui d\u00e9clenchent la r\u00e8gle isol\u00e9ment. Une expression est une association de mots : la documentation pr\u00e9cise que \u00ab <em>l\u2019IA ne d\u00e9clenche une r\u00e8gle que si et seulement si tous les mots d\u2019une Expression sont contenus dans la phrase de l\u2019utilisateur<\/em> \u00bb, dans n\u2019importe quel ordre et m\u00eame s\u00e9par\u00e9s par d\u2019autres mots.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/bn-cap-expression.jpg\" alt=\"Capture de la documentation Botnation montrant l'expression acheter maison et deux messages de test reconnus par la m\u00eame r\u00e8gle\" decoding=\"async\" width=\"830\" height=\"530\"><figcaption>Capture de la documentation publique de Botnation. L\u2019expression \u00ab acheter maison \u00bb reconna\u00eet les deux formulations, parce que l\u2019ordre des mots n\u2019entre pas dans le calcul.<\/figcaption><\/figure>\n<p>Sous le capot, une intention n\u2019est donc rien d\u2019autre qu\u2019une liste. Deux intentions voisines se distinguent par les mots qui ne sont pr\u00e9sents que dans l\u2019une d\u2019elles : c\u2019est exactement ce que fait la colonne de droite du banc d\u2019essai plus haut, et c\u2019est ce que montre la capture suivante avec des synonymes de \u00ab maison \u00bb d\u2019un c\u00f4t\u00e9, d\u2019\u00ab appartement \u00bb de l\u2019autre.<\/p>\n<figure class=\"bn-fig\"><img loading=\"lazy\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/bn-cap-regles.jpg\" alt=\"Capture de la documentation Botnation montrant deux r\u00e8gles d'IA avec leurs mots cl\u00e9s maison, villa, demeure et appartement, studio\" decoding=\"async\" width=\"830\" height=\"270\"><figcaption>Deux r\u00e8gles, deux listes de mots cl\u00e9s. C\u2019est la mati\u00e8re brute que le moteur compare \u00e0 chaque message re\u00e7u.<\/figcaption><\/figure>\n<p>Trois r\u00e9glages fins compl\u00e8tent le dispositif, et ils r\u00e8glent chacun un probl\u00e8me que vous rencontrerez.<\/p>\n<ul>\n<li>Les <strong>expressions n\u00e9gatives<\/strong> excluent un mot : on \u00e9crit le signe moins devant le terme \u00e0 \u00e9carter, et la r\u00e8gle ne se d\u00e9clenche que si ce mot est absent.<\/li>\n<li>Les <strong>mots cl\u00e9s prioritaires<\/strong>, pr\u00e9fix\u00e9s d\u2019un tiret bas, d\u00e9clenchent leur r\u00e8gle m\u00eame si la phrase contient d\u2019autres mots cl\u00e9s qui auraient pu en d\u00e9clencher une autre. C\u2019est un arbitrage manuel d\u2019ambigu\u00eft\u00e9.<\/li>\n<li>La <strong>s\u00e9quence de r\u00e9ponse par d\u00e9faut<\/strong> est le repli. La documentation est franche sur ce qui l\u2019active : \u00ab <em>lorsque l\u2019utilisateur commet trop de fautes dans un m\u00eame mot, il arrive que le chatbot n\u2019arrive pas \u00e0 comprendre et renvoie \u00e0 la S\u00e9quence de R\u00e9ponse par D\u00e9faut<\/em> \u00bb. Les mots incompris remontent ensuite dans un algorithme de recommandation, c\u2019est-\u00e0-dire dans la liste de ce qu\u2019il faut ajouter aux r\u00e8gles.<\/li>\n<\/ul>\n<p>Cette boucle est le vrai travail d\u2019exploitation d\u2019un chatbot : lire ce que les gens ont \u00e9crit et que le bot n\u2019a pas compris, puis l\u2019ajouter. Un chatbot ne s\u2019installe pas, il se cultive. C\u2019est aussi ce qui distingue un projet men\u00e9 par une \u00e9quipe interne d\u2019un projet confi\u00e9 \u00e0 des experts en cr\u00e9ation de chatbot : quelqu\u2019un doit ouvrir cette liste toutes les semaines.<\/p>\n<h2 id=\"ia\"><span class=\"ez-toc-section\" id=\"Fonctionnement_des_chatbots_IA_ce_que_le_grand_modele_de_langage_change_au_trajet\"><\/span>Fonctionnement des chatbots IA : ce que le grand mod\u00e8le de langage change au trajet<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Depuis 2023, une quatri\u00e8me couche s\u2019est gliss\u00e9e dans le trajet du message. Le principe reste le m\u00eame, mais deux \u00e9tapes changent de nature.<\/p>\n<p><strong>La comparaison devient vectorielle.<\/strong> Au lieu de comparer des mots, le moteur transforme votre phrase en une liste de plusieurs centaines de nombres, appel\u00e9e vecteur, et cherche dans votre documentation les passages dont le vecteur est le plus proche. Cons\u00e9quence pratique : le bot reconna\u00eet \u00ab je n\u2019arrive plus \u00e0 entrer dans mon espace client \u00bb comme proche de \u00ab mot de passe oubli\u00e9 \u00bb sans qu\u2019aucun mot ne soit commun. Le score de confiance existe toujours, sous la forme d\u2019une distance.<\/p>\n<p><strong>La r\u00e9ponse n\u2019est plus \u00e9crite \u00e0 l\u2019avance.<\/strong> Elle est r\u00e9dig\u00e9e \u00e0 la vol\u00e9e \u00e0 partir des passages retrouv\u00e9s. C\u2019est le m\u00e9canisme dit RAG, d\u00e9taill\u00e9 dans notre article sur <a href=\"https:\/\/botnation.ai\/fr\/chatbot-rag\/\">le fonctionnement d\u2019un chatbot RAG<\/a> et sur ce que co\u00fbte chaque question. Deux effets suivent imm\u00e9diatement.<\/p>\n<div class=\"bn-grid\">\n<div class=\"bn-card\">\n<h4><span class=\"ez-toc-section\" id=\"La_meme_question_peut_donner_deux_reponses\"><\/span><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2v20M2 12h20\"><\/path><\/svg>La m\u00eame question peut donner deux r\u00e9ponses<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Un moteur g\u00e9n\u00e9ratif n\u2019est pas d\u00e9terministe. Deux visiteurs qui posent la m\u00eame question obtiennent deux formulations diff\u00e9rentes, parfois deux niveaux de d\u00e9tail diff\u00e9rents. Un bot \u00e0 intentions, lui, rend toujours la m\u00eame phrase.<\/p>\n<\/div>\n<div class=\"bn-card\">\n<h4><span class=\"ez-toc-section\" id=\"Il_na_plus_de_raison_de_se_taire\"><\/span><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 9v4M12 17h.01M10.3 3.9L1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z\"><\/path><\/svg>Il n\u2019a plus de raison de se taire<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>L\u00e0 o\u00f9 un moteur \u00e0 seuil passe la main quand il ne sait pas, un moteur g\u00e9n\u00e9ratif produit toujours quelque chose. Le repli doit donc \u00eatre reconstruit autrement : en exigeant que la r\u00e9ponse cite un passage retrouv\u00e9, et en refusant de r\u00e9pondre s\u2019il n\u2019y en a aucun.<\/p>\n<\/div>\n<\/div>\n<p>Le fonctionnement d\u00e9taill\u00e9 de cette famille, ses co\u00fbts et ses garde-fous sont trait\u00e9s dans le guide du <a href=\"https:\/\/botnation.ai\/fr\/chatbot-ia-generative\/\">chatbot IA g\u00e9n\u00e9rative<\/a>. Retenez surtout le renversement : sur un moteur classique, le risque est que le bot ne r\u00e9ponde pas ; sur un moteur g\u00e9n\u00e9ratif, le risque est qu\u2019il r\u00e9ponde toujours.<\/p>\n<div class=\"bn-call bn-info\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M12 16v-4M12 8h.01\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Info<\/span>\n<p>Depuis le 2 ao\u00fbt 2026, le r\u00e8glement europ\u00e9en sur l\u2019intelligence artificielle impose d\u2019informer l\u2019internaute qu\u2019il parle \u00e0 une machine, sauf si c\u2019est \u00e9vident. Concr\u00e8tement, cela se r\u00e8gle dans le premier message du bot. Le d\u00e9tail de l\u2019obligation est trait\u00e9 dans notre guide du <a href=\"https:\/\/botnation.ai\/fr\/chatbot-ia-generative\/\">chatbot IA g\u00e9n\u00e9rative<\/a>.<\/p>\n<\/div>\n<\/div>\n<h2 id=\"memoire\"><span class=\"ez-toc-section\" id=\"La_memoire_ce_que_le_bot_retient_et_jusqua_quand\"><\/span>La m\u00e9moire : ce que le bot retient, et jusqu\u2019\u00e0 quand<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u00ab Et pour l\u2019autre commande ? \u00bb est le message qui d\u00e9partage les chatbots. Y r\u00e9pondre suppose de savoir de quelle commande on parlait, donc de garder quelque chose entre deux messages. Trois m\u00e9moires cohabitent, avec trois dur\u00e9es de vie tr\u00e8s diff\u00e9rentes.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>M\u00e9moire<\/th>\n<th>Ce qu\u2019elle contient<\/th>\n<th>Combien de temps<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>La session<\/td>\n<td>L\u2019identifiant de conversation, le fil des messages, l\u2019\u00e9tape en cours du sc\u00e9nario<\/td>\n<td>De quelques minutes \u00e0 quelques heures d\u2019inactivit\u00e9, puis elle expire<\/td>\n<\/tr>\n<tr>\n<td>Les variables<\/td>\n<td>Les valeurs extraites ou saisies : pr\u00e9nom, num\u00e9ro de commande, e-mail, choix de langue<\/td>\n<td>La session, ou plus longtemps si elles sont \u00e9crites dans un CRM<\/td>\n<\/tr>\n<tr>\n<td>Le contexte du mod\u00e8le<\/td>\n<td>Les derniers \u00e9changes renvoy\u00e9s au mod\u00e8le de langage \u00e0 chaque question<\/td>\n<td>Une fen\u00eatre glissante, limit\u00e9e en taille, souvent quelques dizaines de messages<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Deux cons\u00e9quences pratiques, rarement expliqu\u00e9es et souvent constat\u00e9es.<\/p>\n<ul>\n<li><strong>Un bot qui \u00ab oublie \u00bb n\u2019a pas de panne de m\u00e9moire, il a une session expir\u00e9e.<\/strong> Revenir sur un onglet laiss\u00e9 ouvert une nuit repart presque toujours de z\u00e9ro, et c\u2019est normal.<\/li>\n<li><strong>Le contexte du mod\u00e8le a un co\u00fbt.<\/strong> Sur un moteur g\u00e9n\u00e9ratif, renvoyer tout l\u2019historique \u00e0 chaque question fait grossir la facture message apr\u00e8s message. C\u2019est pour cette raison que les plateformes tronquent ou r\u00e9sument l\u2019historique au lieu de le transmettre en entier.<\/li>\n<\/ul>\n<div class=\"bn-call bn-warn\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 9v4M12 17h.01M10.3 3.9L1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">Attention<\/span>\n<p>Tout ce qui est stock\u00e9 en variable est une donn\u00e9e personnelle d\u00e8s qu\u2019elle identifie quelqu\u2019un. Un num\u00e9ro de commande, un e-mail, un num\u00e9ro de t\u00e9l\u00e9phone entrent dans le champ du RGPD, avec dur\u00e9e de conservation \u00e0 d\u00e9finir et information des personnes. Ce point se r\u00e8gle au moment de la conception du sc\u00e9nario, pas apr\u00e8s la mise en ligne.<\/p>\n<\/div>\n<\/div>\n<h2 id=\"actions\"><span class=\"ez-toc-section\" id=\"Comprendre_ne_suffit_pas_ce_que_le_bot_fait_de_sa_reponse\"><\/span>Comprendre ne suffit pas : ce que le bot fait de sa r\u00e9ponse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Un chatbot qui se contente de r\u00e9citer des paragraphes est une FAQ avec un curseur clignotant. L\u2019int\u00e9r\u00eat commence quand l\u2019intention reconnue d\u00e9clenche autre chose qu\u2019une phrase.<\/p>\n<figure class=\"bn-fig\"><img loading=\"lazy\" src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/08\/bn-fonctionnement-action.jpg\" alt=\"Une main dans une manche en maille cr\u00e8me branche un c\u00e2ble corail dans un panneau de brassage, image des connecteurs d'un chatbot\" decoding=\"async\" width=\"1536\" height=\"1024\"><figcaption>Une intention reconnue vaut surtout par ce qu\u2019elle branche derri\u00e8re : un suivi de colis, un agenda, un ticket de support, un conseiller.<\/figcaption><\/figure>\n<ul>\n<li><strong>Un appel d\u2019API.<\/strong> Le bot interroge le transporteur avec le num\u00e9ro de commande extrait \u00e0 l\u2019\u00e9tape 5 et affiche le statut r\u00e9el. Sans cet appel, il ne peut que renvoyer vers une page.<\/li>\n<li><strong>Une \u00e9criture.<\/strong> Cr\u00e9er un ticket, poser un rendez-vous, inscrire un contact dans le CRM, envoyer un e-mail de confirmation.<\/li>\n<li><strong>Un transfert.<\/strong> Passer la conversation \u00e0 un conseiller, avec l\u2019historique, quand le score est trop bas, quand le visiteur le demande, ou quand le sujet est sensible.<\/li>\n<li><strong>Une trace.<\/strong> Enregistrer le message non compris pour qu\u2019il remonte dans les statistiques, seule mati\u00e8re premi\u00e8re de l\u2019am\u00e9lioration.<\/li>\n<\/ul>\n<p>Le transfert m\u00e9rite une attention particuli\u00e8re, parce que c\u2019est l\u00e0 que se joue la qualit\u00e9 per\u00e7ue. Un repli qui r\u00e9p\u00e8te \u00ab je n\u2019ai pas compris \u00bb trois fois de suite est une impasse. Un repli qui propose au deuxi\u00e8me \u00e9chec de parler \u00e0 quelqu\u2019un, en gardant le fil de la conversation, transforme un \u00e9chec en prise en charge. La fa\u00e7on dont un bot r\u00e9partit ce qu\u2019il absorbe et ce qu\u2019il transmet est d\u00e9taill\u00e9e dans l\u2019article sur le <a href=\"https:\/\/botnation.ai\/fr\/chatbot-call-center\/\">chatbot en centre d\u2019appels<\/a>.<\/p>\n<h2 id=\"faq\"><span class=\"ez-toc-section\" id=\"Questions_frequentes\"><\/span>Questions fr\u00e9quentes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<details class=\"bn-faq\">\n<summary>Quelle est la diff\u00e9rence entre ChatGPT et un chatbot ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>ChatGPT est un chatbot, mais un chatbot g\u00e9n\u00e9raliste, entra\u00een\u00e9 sur des contenus publics et sans lien avec votre entreprise. Un chatbot d\u2019entreprise est branch\u00e9 sur vos donn\u00e9es : votre catalogue, vos commandes, votre documentation. Le premier sait beaucoup de choses sur le monde, le second sait o\u00f9 en est la commande num\u00e9ro 84512. Beaucoup de chatbots d\u2019entreprise utilisent d\u2019ailleurs un mod\u00e8le de la m\u00eame famille que ChatGPT comme moteur de r\u00e9daction, ce qui explique la confusion.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Est-ce qu\u2019un chatbot apprend tout seul ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Non, et c\u2019est le malentendu le plus r\u00e9pandu. Un chatbot \u00e0 intentions n\u2019apprend rien de vos conversations : quelqu\u2019un doit lire les messages non compris et ajouter des phrases d\u2019entra\u00eenement. Un chatbot branch\u00e9 sur une base documentaire s\u2019am\u00e9liore quand la documentation s\u2019am\u00e9liore, ce qui reste un travail humain. Aucun des deux ne se corrige spontan\u00e9ment.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Pourquoi le chatbot r\u00e9pond-il \u00e0 c\u00f4t\u00e9 de la question ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Presque toujours pour l\u2019une de ces trois raisons. Un mot commun a fait basculer le score vers la mauvaise intention, comme dans l\u2019exemple \u00ab c\u2019est quand que je r\u00e9cup\u00e8re mes sous \u00bb du banc d\u2019essai. Deux intentions sont trop proches et le moteur a tranch\u00e9 de justesse. Ou le seuil est r\u00e9gl\u00e9 trop bas, ce qui force le bot \u00e0 r\u00e9pondre alors qu\u2019il devrait passer la main.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Combien de phrases d\u2019exemple faut-il par intention ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Il n\u2019existe pas de nombre magique, mais une r\u00e8gle utile : ajoutez des phrases jusqu\u2019\u00e0 ce que les vraies questions de vos clients cessent de tomber dans le repli. Partez de ce que vos \u00e9quipes re\u00e7oivent r\u00e9ellement par e-mail et par t\u00e9l\u00e9phone, pas de ce que vous imaginez qu\u2019on va demander. Et surveillez l\u2019effet inverse : trop de phrases g\u00e9n\u00e9riques dans une intention la rend gourmande et lui fait capter les messages des autres.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Quels sont les inconv\u00e9nients d\u2019un chatbot ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Trois, principalement. Il ne traite bien que ce qui a \u00e9t\u00e9 pr\u00e9vu, ce qui suppose un travail d\u2019entretien r\u00e9gulier. Il peut r\u00e9pondre faux avec aplomb, surtout dans sa version g\u00e9n\u00e9rative. Et il exasp\u00e8re quand il n\u2019offre aucune sortie vers un humain. Ces trois d\u00e9fauts ont le m\u00eame rem\u00e8de : une base d\u2019intentions nourrie par les vraies questions, un seuil cal\u00e9 sur le co\u00fbt de l\u2019erreur, et une escalade toujours accessible.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Un chatbot fonctionne-t-il sans intelligence artificielle ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Oui, et c\u2019est m\u00eame le cas de beaucoup d\u2019entre eux. Un chatbot \u00e0 boutons suit un arbre de d\u00e9cision : aucune compr\u00e9hension, aucun score, aucun mod\u00e8le. Il rend d\u2019excellents services pour qualifier une demande ou prendre un rendez-vous, avec un comportement parfaitement pr\u00e9visible. Le premier chatbot de l\u2019histoire, <a href=\"https:\/\/botnation.ai\/fr\/eliza-chatbot\/\">ELIZA en 1966<\/a>, fonctionnait d\u00e9j\u00e0 sans rien qui ressemble \u00e0 l\u2019IA d\u2019aujourd\u2019hui.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>\u00ab Chatbot \u00bb se dit comment en fran\u00e7ais ?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Le mot vient de \u00ab chat \u00bb, discuter en anglais, et de \u00ab bot \u00bb, abr\u00e9viation de robot. Les \u00e9quivalents fran\u00e7ais officiels sont \u00ab agent conversationnel \u00bb et \u00ab dialogueur \u00bb. Dans l\u2019usage professionnel, on entend surtout \u00ab agent conversationnel \u00bb, et de plus en plus \u00ab agent IA \u00bb pour les versions capables d\u2019ex\u00e9cuter des actions. La d\u00e9finition compl\u00e8te et des exemples concrets figurent dans notre page <a href=\"https:\/\/botnation.ai\/fr\/chatbot-definition-exemple\/\">qu\u2019est-ce qu\u2019un chatbot<\/a>.<\/p>\n<\/div>\n<\/details>\n<h2 id=\"retenir\"><span class=\"ez-toc-section\" id=\"Ce_quil_faut_retenir\"><\/span>Ce qu\u2019il faut retenir<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Le fonctionnement d\u2019un chatbot tient en une phrase : il nettoie votre message, le compare \u00e0 des exemples, en tire un score, et compare ce score \u00e0 un seuil. Tout le reste, les intentions, les variables, les connecteurs, les mod\u00e8les de langage, sert cette m\u00e9canique ou en d\u00e9coule.<\/p>\n<p>Ce qui suit vous servira le jour o\u00f9 vous piloterez un projet de chatbot, le v\u00f4tre ou celui d\u2019un prestataire.<\/p>\n<ul>\n<li>Demandez \u00e0 voir la <strong>liste des messages non compris<\/strong>. C\u2019est le seul indicateur qui dise la v\u00e9rit\u00e9 sur un bot en production.<\/li>\n<li>Demandez quel est le <strong>seuil<\/strong>, et pourquoi celui-l\u00e0. Une r\u00e9ponse embarrass\u00e9e signale un r\u00e9glage laiss\u00e9 par d\u00e9faut.<\/li>\n<li>V\u00e9rifiez qu\u2019une <strong>sortie vers un humain<\/strong> existe, et au bout de combien d\u2019\u00e9checs elle se d\u00e9clenche.<\/li>\n<li>Pour un moteur g\u00e9n\u00e9ratif, exigez qu\u2019il <strong>refuse de r\u00e9pondre<\/strong> quand il n\u2019a rien trouv\u00e9 dans vos contenus.<\/li>\n<\/ul>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Voyez_la_mecanique_de_linterieur\"><\/span>Voyez la m\u00e9canique de l\u2019int\u00e9rieur<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Cr\u00e9ez un chatbot gratuitement, ajoutez trois intentions, et regardez le moteur travailler sur vos propres phrases. C\u2019est la fa\u00e7on la plus rapide de comprendre ce que cet article d\u00e9crit.<\/p>\n<p><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/fr\/\">Cr\u00e9er mon chatbot gratuitement<\/a><\/p>\n<p><a href=\"https:\/\/botnation.ai\/fr\/chatbot-devis\/\" style=\"color:#f6c9c6\">Ou faire chiffrer un projet par nos experts en cr\u00e9ation de chatbot<\/a><\/p>\n<\/div>\n<p style=\"font-size:16px;color:#6d6653;font-style:italic;margin-top:26px\">Sources : documentation Dialogflow ES de Google Cloud, page \u00ab Intent matching \u00bb, mise \u00e0 jour le 29 juillet 2026 ; documentation Rasa, page \u00ab Fallback and Human Handoff \u00bb, et fichier <code>rasa\/core\/constants.py<\/code> du d\u00e9p\u00f4t RasaHQ\/rasa, branche principale, consult\u00e9 le 7 ao\u00fbt 2026 ; documentation publique de Botnation, \u00ab Tout ce qu\u2019il faut savoir \u00e0 propos de l\u2019Intelligence Artificielle sur Botnation : les fonctionnalit\u00e9s \u00e9l\u00e9mentaires \u00bb, consult\u00e9e le 7 ao\u00fbt 2026. Les traductions fran\u00e7aises des citations anglaises sont les n\u00f4tres, l\u2019original figure entre parenth\u00e8ses.<\/p>\n<\/div>\n<p><script>(function(){var R=document.getElementById(\"bnnlu\");if(!R){return}var rows=document.querySelectorAll(\"#bnnlubase tr[data-lab]\");var base=[];var i=0;for(i=0;rows.length>i;i=i+1){base.push({lab:rows[i].getAttribute(\"data-lab\"),ph:rows[i].getAttribute(\"data-ph\").split(\"|\")})}var sl=R.getAttribute(\"data-stop\").split(\" \");var smap={};for(i=0;sl.length>i;i=i+1){smap[sl[i]]=1}var dec=R.getAttribute(\"data-dec\");function norm(s,us){s=String(s).toLowerCase();s=s.normalize(\"NFD\").replace(\/[\\u0300-\\u036f]\/g,\"\");s=s.replace(\/[^a-z0-9]+\/g,\" \");var raw=s.split(\" \");var out=[];var k=0;for(k=0;raw.length>k;k=k+1){var t=raw[k];if(t){var keep=1;if(us){if(smap[t]){keep=0}}if(keep){if(out.indexOf(t)===-1){out.push(t)}}}}return out}function sim(a,b){if(a.length===0){return 0}if(b.length===0){return 0}var n=0;var k=0;for(k=0;a.length>k;k=k+1){if(b.indexOf(a[k])!==-1){n=n+1}}return n\/Math.sqrt(a.length*b.length)}function r2(x){return Math.round(x*100)\/100}function fmt(x){return x.toFixed(2).replace(\".\",dec)}function val(n){var e=R.querySelector(\"input[name=\"+n+\"]:checked\");if(!e){return null}return e.value}function run(){var msg=document.getElementById(\"nluin\").value;var us=(val(\"nlus\")===\"1\");var seuil=parseFloat(val(\"nlut\"));var ecart=parseFloat(val(\"nlug\"));var tm=norm(msg,us);var res=[];var k=0;for(k=0;base.length>k;k=k+1){var best=0;var j=0;for(j=0;base[k].ph.length>j;j=j+1){var v=sim(tm,norm(base[k].ph[j],us));if(v>best){best=v}}res.push({lab:base[k].lab,s:best})}res.sort(function(x,y){if(y.s>x.s){return 1}if(x.s>y.s){return -1}if(x.lab>y.lab){return 1}return -1});var tk=document.getElementById(\"nlutk\");while(tk.firstChild){tk.removeChild(tk.firstChild)}if(tm.length===0){var sp=document.createElement(\"span\");sp.className=\"nlu-tk\";sp.textContent=R.getAttribute(\"data-tokempty\");tk.appendChild(sp)}else{for(k=0;tm.length>k;k=k+1){var s2=document.createElement(\"span\");s2.className=\"nlu-tk\";s2.textContent=tm[k];tk.appendChild(s2)}}var rk=document.getElementById(\"nlurk\");while(rk.firstChild){rk.removeChild(rk.firstChild)}var top=3;if(res.length>3){top=3}else{top=res.length}var r1=r2(res[0].s);var rr2=0;if(res.length>1){rr2=r2(res[1].s)}var mode=\"ok\";if(tm.length===0){mode=\"empty\"}else{if(seuil>r1){mode=\"low\"}else{if(ecart>r2(r1-rr2)){mode=\"amb\"}}}for(k=0;top>k;k=k+1){var row=document.createElement(\"div\");row.className=\"nlu-row\";if(k===0){if(mode===\"ok\"){row.className=\"nlu-row win\"}}var la=document.createElement(\"span\");la.className=\"nlu-lab\";la.textContent=res[k].lab;var ba=document.createElement(\"span\");ba.className=\"nlu-bar\";var it=document.createElement(\"i\");it.style.width=Math.round(r2(res[k].s)*100)+\"%\";ba.appendChild(it);var sc=document.createElement(\"span\");sc.className=\"nlu-sc\";sc.textContent=fmt(r2(res[k].s));row.appendChild(la);row.appendChild(ba);row.appendChild(sc);rk.appendChild(row)}var vd=document.getElementById(\"nluvd\");var vt=document.getElementById(\"nluvt\");var vp=document.getElementById(\"nluvp\");if(mode===\"ok\"){vd.className=\"nlu-verdict\";vt.textContent=R.getAttribute(\"data-ok-t\")+\" : \"+res[0].lab;vp.textContent=R.getAttribute(\"data-ok-p\")}if(mode===\"low\"){vd.className=\"nlu-verdict ko\";vt.textContent=R.getAttribute(\"data-low-t\");vp.textContent=R.getAttribute(\"data-low-p\")}if(mode===\"amb\"){vd.className=\"nlu-verdict ko\";vt.textContent=R.getAttribute(\"data-amb-t\");vp.textContent=R.getAttribute(\"data-amb-p\")}if(mode===\"empty\"){vd.className=\"nlu-verdict ko\";vt.textContent=R.getAttribute(\"data-tok-empty\");vp.textContent=R.getAttribute(\"data-tok-emptyp\")}}var ins=R.querySelectorAll(\"input[type=radio]\");var q=0;for(q=0;ins.length>q;q=q+1){ins[q].addEventListener(\"change\",run)}document.getElementById(\"nluin\").addEventListener(\"input\",run);var bts=R.querySelectorAll(\"button.nlu-exb\");for(q=0;bts.length>q;q=q+1){bts[q].addEventListener(\"click\",function(e){document.getElementById(\"nluin\").value=e.currentTarget.getAttribute(\"data-m\");run()})}run()})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En bref. Un chatbot ne comprend pas votre phrase, il la note. Il la nettoie, la compare \u00e0 des exemples qu\u2019on lui a donn\u00e9s, et attribue \u00e0 chaque intention un score de confiance entre 0 et 1. Un seul r\u00e9glage d\u00e9cide ensuite de tout : le seuil au-dessus duquel il r\u00e9pond, et en dessous duquel [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":31293,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[346],"tags":[],"class_list":["post-31299","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbot"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/comments?post=31299"}],"version-history":[{"count":2,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31299\/revisions"}],"predecessor-version":[{"id":31301,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/posts\/31299\/revisions\/31301"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media\/31293"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/media?parent=31299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/categories?post=31299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/fr\/wp-json\/wp\/v2\/tags?post=31299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}