Chatlayer Documentation
Get in touchAbout Chatlayer
  • Welcome
  • What's new
  • Send feedback
  • start quickly
    • Leadzy tutorial
      • 0. Introduction
      • 1. New bot, new block
      • 2. Understand your users
      • 3. Collect and display user input
      • 4. Steer the conversation with Conditions
      • 5. Empower your bot with Actions
      • 6. Set up a channel and publish your bot
    • Templates
      • Banking
      • E-Commerce Returns
      • E-Bike Shop
      • E-Scooter Support
      • Feedback
      • Find Nearest Location
      • GPT
      • 🆕Gym
      • Job applications
      • Knowledge base AI template
      • Lead generation
      • 🆕NPS
      • Restaurant
      • Retail
  • navigation
    • Analytics
      • Dashboard
      • Customers
      • Conversations
      • User flow
      • Intents
      • 🆕Funnels [Beta]
    • Bot builder
      • Flows
        • Canvas functionalities
        • Collaborate with team members
        • Manage your flows
        • 🆕[Beta] Export and import flows
      • Bot dialogs view
      • Translations
      • Events
    • NLP
      • Dashboard
      • Intents
      • Expressions
      • Entities
      • Train
      • NLP settings
      • Improve
    • Knowledge base AI
      • Add content to your KBAI
      • Build your KBAI flow
      • Use your KBAI source URL in a button
      • Use tags to limit your KBAI content
      • 🆕Use Tables to store your KBAI questions
      • 🆕Manage handover where KBAI is unsatisfactory
    • History
      • Conversations
      • Execution logs
      • Versions
    • Channels
    • Tables
      • Create a table with records
      • Column types
      • Operate on your records
        • Insert record
        • Update record
        • Retrieve record
        • Delete record
      • API
    • Settings
      • Bot settings
      • Offloading
      • Variables
      • Voice
      • Import/Export
  • build your bot
    • Conversation design
      • Plan your bot
      • Conversation design workflow
    • Flow logic
      • Blocks
        • Message
        • Condition
        • Collect input
        • Action
      • Go-to connections
    • 🆕Emulator
    • Tips & best practices
      • Route your flow depending on the time
      • Improve the Not understood block
        • How to create better not understood messages
        • Not understood counter
        • Not understood Google search
      • Go to previous block
      • Recognizing a returning user
      • Skip introduction message
      • Route your flow depending on the channel
      • Reuse flows
      • Connect two bots to each other
  • understand users
    • Natural language processing (NLP)
      • Basic NLP concepts
      • Detect information with entities
        • Match entities
        • Contextual entities
        • System entities
        • Composite entities
      • NLP best practices
        • Word order and diversity of expressions
      • AI intent booster
      • Train your NLP
      • Context
      • NLP import & export
      • Sentiment analysis
    • Languages
      • Supported languages
      • Make your bot multilingual
      • Change language within the conversation
  • set up channels
    • Add a channel to your bot
    • All channels
      • 🚨Facebook Messenger [Deprecated soon]
        • Facebook Admin Removal
        • Facebook Webview Whitelisting
        • Facebook Messenger API updates for Europe
      • 🚨Google Assistant [Deprecated soon]
      • Webhook
      • Web
        • 🚨Web V1 [Deprecated]
          • Customize web widget
          • Live example web widget
        • 🆕Web V2
          • 🆕From Web V1 to V2
          • 🆕Web V2 methods and options
    • Sinch Conversation API
      • Configure your Sinch Conversation API
      • 🆕 Make the most of RCS with Carousels
      • WhatsApp Business API
  • integrate & code
    • API calls
      • Configure your API integration
      • Advanced API features
      • V1 API Reference
      • Custom integrations 101
    • Code editor
      • [Example] Sending data to Airtable (POST)
      • [Example] Retrieving data from Airtable (GET)
      • [Example] Making SOAP requests
    • App integrations
      • Airtable
      • Freshdesk
      • Freshdesk Messaging
      • 🆕Gmail
      • Intercom
      • Mailgun
      • OpenAI: GPT-3, ChatGPT and GPT-4
      • Salesforce
      • 🆕Slack
      • Topdesk
      • Zendesk Support
      • Zendesk Sunshine (beta)
    • 🆕Expression syntax
    • Human handover & live chat
      • Sinch Contact Pro
      • #Interact
      • Genesys Cloud
      • Offloading Webhook
      • Salesforce Service Cloud
      • Sparkcentral by Hootsuite
      • Zendesk Chat
    • Chatlayer messages specifications
  • Publish
    • Publish your bot
      • Publish a flow
  • Analyze & maintain
    • Analytics definitions
    • Data retention
    • Maintenance
    • Session
    • Track events for analytics
  • VOICE
    • 🆕Send bot response as audio
    • Voicebots
      • Create a voicebot
      • Voicebot-specific actions
      • Test your voicebot
      • From chat to voice
  • access & support
    • Identity & Access
      • Single Sign-On (SAML SSO)
    • Billing & subscription
    • Get in touch
    • Chatlayer glossary
    • SaaS Regions & IP Ranges
    • Status
    • Debug your bot
      • No correct response
      • Collect input not working
      • Video isn't working
Powered by GitBook
On this page
  • Set a threshold
  • High threshold
  • Low threshold
  • Intent threshold
  • Entity threshold

Was this helpful?

  1. navigation
  2. NLP

NLP settings

The NLP settings is where you set the thresholds defines the level of which user information is understood.

PreviousTrainNextImprove

Last updated 11 months ago

Was this helpful?

Set a threshold

For each user message, our NLP model will check the of that message and how close it's related to an existing expression. If the confidence score is above the threshold, the corresponding block will be triggered. If it's below or equal to the threshold, the Not understood block will be triggered.

In most cases, we recommend an NLP threshold of around 80% as a good starting point for both intents and entities. However, for beginning bots with a small(er) NLP model, lowering the threshold could help more expressions being successfully recognised. A threshold of 70% to 75% for both entities and intents could work at the early stages of a chatbot, until its NLP model develops more.

High threshold

If you set the NLP threshold rather high (> 80%), very few user messages will be recognised correctly, so your users will often get a 'not understood' message. So when can you put the NLP threshold higher to make sure more accurate bot answers are given? When the bot's expressions are plenty and varied.

Low threshold

Setting a threshold too low (<70%) will make the bot act more confidently at the start, but also increases the chances of a wrong intent recognition. Keep the threshold low when your bot is still small to avoid too many 'not understood' messages.

Intent threshold

The intent threshold defines the accuracy level with which intents are recognised.

Have a look at the following three expressions and their confidence scores:

  • I want to book a train ticket (93% confidence for the intent 'Book train ticket')

  • I need to be in Brussels tomorrow (79% confidence for 'Book train ticket')

  • I lost something but still have my train ticket (66% confidence for 'Book train ticket')

In this example, the correct threshold should be at least 66%, but lower than 79%.

A threshold of 80% (or higher) wouldn't allow the bot to recognise the expression "I need to be in Brussels tomorrow" correctly. The user would receive a 'not understood' message, which we want to avoid of course.

A threshold lower than 66% would result in the expression "I lost something (...)" to be incorrectly linked to the intent "Book train ticket" so the matching block would be triggered. So when the user says, "I lost something but still have my train ticket" the bot would reply "Where do you need to be?" which wouldn't fit the user's goal (= intent).

Entity threshold

The entity threshold defines with what level the entity will be processed correctly. In the example above, the intent 'Book train ticket' gets a confidence score of 97.82%, which is why the correct response "So I have a request for a train ticket" is shown. However, 'London' is recognised with 74.55% confidence, so below the entity threshold of 80%, which is why 'London' is not successfully saved and the bot asks again where the user would like to travel to.

You have a small bot, with less than 2000 expressions? The is specifically crafted to boost the performance of your NLP.

AI Intent Booster
confidence score
The NLP settings page.
An example where the entity 'London' is recognised with 74.55%