NLU system entities

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 5 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of NLU System Entities Extend ServiceNow AI Platform Capabilities

    The NLU system entities within ServiceNow's AI Platform enhance the Virtual Agent’s ability to extract pertinent information from conversations. These globally defined entities allow for "nodeless" input variables that can be filled using predictions from NLU service providers or provided externally. System entities are enabled by default in NLU models and can be accessed via the Entities tab in the NLU Workbench.

    Show full answer Show less

    Key Features

    • GLOBAL.DATE: Identifies specific dates with subtypes including DAY, WEEK, MONTH, YEAR, and SEASON. Each subtype has a defined format and example usage to facilitate accurate date extraction.
    • GLOBAL.TIME: Captures specific times of the day, with subtypes like TIME and PARTSOFDAY, providing formats for precise time extraction.
    • GLOBAL.DATETIME: Combines date and time into a single string, allowing for detailed temporal information.
    • GLOBAL.DURATION: Represents the duration of activities in various formats, enhancing task scheduling capabilities.
    • GLOBAL.LOCATION: Extracts location information from user inputs, streamlining context-based queries.
    • GLOBAL.PERSON: Identifies names, enabling personalized interactions within the Virtual Agent.
    • GLOBAL.MONEY: Captures financial amounts and currency types for financial inquiries and transactions.
    • GLOBAL.NUMBER: Identifies numerical values, enhancing data-driven interactions.
    • GLOBAL.SOFTWARE: Extracts software names to assist users with related queries.
    • GLOBAL.HARDWARE: Identifies hardware references, improving support for technical inquiries.

    Key Outcomes

    By utilizing these NLU system entities, ServiceNow customers can expect improved interaction accuracy within the Virtual Agent, resulting in:

    • Enhanced customer experience through precise understanding of user queries.
    • Streamlined processes by automating date, time, location, and financial information extraction.
    • Increased operational efficiency as the Virtual Agent can handle a wider range of inquiries accurately.

    Use globally defined NLU entities to identify system information that Virtual Agent can extract from the conversation. You can define entities as "nodeless" input variables for a topic. These variables can be slot-filled from NLU service provider predictions or provided outside of the scope of the topic.

    System entities are enabled in NLU models by default. You can view them on the model Entities tab in NLU Workbench.

    GLOBAL.DATE system entity

    The DAY SubType returns a date string that is accurate to a specific date.

    Table 1. GLOBAL.DATE SubType = DAY usage
    Usage Example
    Format YYYY-MM-DD
    Regular expression \\d\\d\\d\\d-\\d\\d-\\d\\d
    Input example Mr. Smith left Friday, February 4, 2019.
    Normalized value 2019-02-04
    Code example
    {
    "name": "DATE", 
    "value": "...",
    "score": 1.0, 
    "normalization": "2019-02-04"
    }
    

    The WEEK SubType returns a date string of a specific week of a year.

    Table 2. GLOBAL.DATE SubType = WEEK usage
    Usage Example
    Format YYYY'W'WW
    Regular expression \\d\\d\\d\\d\\dW\\d\\d
    Input example Mr. Smith left the third week of 1999.
    Normalized value 1999W3
    Code example
    {
    "name": "entity:GLOBAL.DATE", 
    "value": "...",
    "score": 1.0, 
    "normalization": {"type": "GLOBAL.DATE", "subType": "WEEK", "value":"1999W3"}
    }
    

    The MONTH SubType returns a date string of a specific month of a year.

    Table 3. GLOBAL.DATE SubType = MONTH usage
    Usage Example
    Format YYYY'M'MM
    Regular expression \\d\\d\\d\\dM\\d\\d
    Input example Mr. Smith left in February of 1999.
    Normalized value 1999M02
    Code example
    {
    "name": "entity:GLOBAL.DATE",
    "value": "...",
    "score": 1.0, 
    "normalization": {"type": "GLOBAL.DATE", "subType": "MONTH", "value": "1999M02"}
    }
    

    The YEAR SubType returns a date string of a specific year.

    Table 4. GLOBAL.DATE SubType = YEAR usage
    Usage Example
    Format YYYY
    Regular expression \\d\\d\\d\\d
    Input example Mr. Smith left in 1999.
    Normalized value 1999
    Code example
    {
    "name": "entity:GLOBAL.DATE",
    "value": "...",
    "score": 1.0,
    "normalization": {"type": "GLOBAL.DATE", "subType": "YEAR", "value": "1999"}
    }
    

    The SEASON SubType returns a date string of a specific season of the year.

    Table 5. GLOBAL.DATE SubType = SEASON usage
    Usage Example
    Format One of the following:
    • Winter: YYYYWI
    • Spring: YYYYSP
    • Summer: YYYYSU
    • Fall: YYYYFA
    Regular expression One of the following:
    • Winter: \\d\\d\\d\\dWI
    • Spring: \\d\\d\\d\\dSP
    • Summer: \\d\\d\\d\\dSU
    • Fall: \\d\\d\\d\\dFA
    Input example Mr. Smith left in the fall of 1999.
    Normalized value 1999FA
    Code example
    {
    "name": "entity:GLOBAL.DATE",
    "value": "...",
    "score": 1.0,
    "normalization": {"type": "GLOBAL.DATE", "subType": "SEASON", "value": "1999FA"}
    }
    

    GLOBAL.TIME system entity

    The TIME SubType returns a time string that is accurate to an hour and a minute.

    Table 6. GLOBAL.TIME SubType = TIME usage
    Usage Example
    Format 'T'HH:mm
    Regular expression T\\d\\d:\\d\\d
    Input example Mr. Smith left at ten minutes to three.
    Normalized value T02:50
    Code example
    {
    "name": "entity:GLOBAL.TIME", 
    "value": "...",
    "score": 1.0, 
    "normalization": {"type": "GLOBAL.TIME","subType": "TIME", "value": "T02:50"}
    }
    

    The PARTSOFDAY SubType returns a time string that specifies parts of the day.

    Table 7. GLOBAL.TIME SubType = PARTSOFDAY usage
    Usage Example
    Format One of the following:
    • Morning: TMO
    • Afternoon: TAF
    • Evening: TEV
    • Night: TNI
    Regular expression One of the following:
    • Morning: TMO
    • Afternoon: TAF
    • Evening: TEV
    • Night: TNI
    Input example Mr. Smith left in the morning.
    Normalized value TMO
    Code example
    {
    "name": "entity:GLOBAL.TIME", 
    "value": "...",
    "score": 1.0, 
    "normalization": {"type": "GLOBAL.TIME", "subType": "PARTSOFDAY", "value": "TMO"}
    }
    

    GLOBAL.DATE_TIME system entity

    The DATE_TIME SubType returns a date string that is accurate to a specific date and time string that is accurate to an hour and a minute.

    Table 8. GLOBAL.DATE_TIME SubType = DATETIME usage
    Usage Example
    Format YYYY-MM-DD'T'HH:mm
    Regular expression \\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d
    Input example Mr. Smith leaves on October 31st at 5:00 p.m.
    Normalized value 2022-10-31T17:00
    Code example
    {
    "name": "DATE_TIME",
    "value": "October 31st at 5:00 p.m",
    "normalization": "2022-10-31T17:00","confidence": "1"
    }

    GLOBAL.DURATION system entity

    This entity returns a duration string that specifies the duration of the activity.

    Table 9. GLOBAL.DURATION usage
    Usage Example
    Format One of the following:
    • Second: 's'ss
    • Minute: 'm'mm
    • Hour: 'h'hh
    • Day: 'D'DD
    • Week: 'W'WW
    • Month: 'M'MM
    • Year: 'Y'YY
    Regular expression One of the following:
    • Second: s\\d\\d
    • Minute: m\\d\\d
    • Hour: h\\d\\d
    • Day: D\\d\\d
    • Week: W\\d\\d
    • Month: M\\d\\d
    • Year: Y\\d\\d
    Input example Mr. Smith stayed in Boston for 48 hours.
    Normalized value h48
    Code example
    {
    "name": "entity:GLOBAL.DURATION",
    "value": "...", 
    "score": 1.0,
    "normalization": {"type": "GLOBAL.DURATION", "value": "h48"}
    }
    

    GLOBAL.LOCATION system entity

    This entity returns a location string.

    Table 10. GLOBAL.LOCATION usage
    Usage Example
    Format String value. Example: Santa Clara
    Regular expression Not applicable.
    Input example Mr. Smith works in Santa Clara.
    Normalized value Santa Clara
    Code example
    {
    "name": "entity:GLOBAL.LOCATION",
    "value": "...", 
    "score": 1.0,
    "normalization": {"type": "GLOBAL.LOCATION", "value":"Santa Clara"}
    }
    

    GLOBAL.PERSON system entity

    This entity returns a name string.

    Usage Example
    Format String value. Example: Joe Smith
    Regular expression Not applicable.
    Input example Joe Smith works in Santa Clara.
    Normalized value Joe Smith
    Code example
    {
    "name": "entity:GLOBAL.PERSON", 
    "value": "...",
    "score": 1.0, 
    "normalization": {"type": "GLOBAL.PERSON", "value":"Joe Smith"}
    }
    

    GLOBAL.MONEY system entity

    This entity returns a currency string.

    Table 11. GLOBAL.MONEY usage
    Usage Example
    Format String value. Example: USD 2000
    Regular expression Not applicable.
    Input example Show me laptops for less than $2000.
    Normalized value USD 2000
    Note:
    The normalized value uses the three-letter ISO 3166 country code of the source currency.
    Code example
    {
    "name": "entity:GLOBAL.MONEY", 
    "value": "...",
    "score": 1.0, 
    "normalization": {"type": "GLOBAL.MONEY", "value":"2000", “currency”:”USD”}
    }
    

    GLOBAL.NUMBER system entity

    This entity returns a number.

    Usage Example
    Format String value. Example: 5.0
    Regular expression Not applicable.
    Input example I want to see the previous 5 transactions from my account.
    Normalized value 5.0
    Code example
    {
    "name": "entity:GLOBAL.NUMBER",
      "value": "...",
      "score": 1.0,
      "normalization": {"numericValue":"5", “normalizedValue”: “5”}
    }
    

    GLOBAL.SOFTWARE

    Returns a software string.

    Usage Example
    Format String value. Example: Java
    Regular expression Not applicable.
    Input example How do I install Java?
    Normalized value Java
    Code example
    {
      "name": "entity:GLOBAL.SOFTWARE",
      "value": "Java",
      "score": 0.99930537,
      "normalization": {"type":"entity:GLOBAL.SOFTWARE",
                         "subType":"SOFTWARE",
                         "value":"Java"}
    }
    

    GLOBAL.HARDWARE

    Returns a hardware string.

    Usage Example
    Format String value. Example: printer
    Regular expression Not applicable.
    Input example How do I order a printer?
    Normalized value printer
    Code example
    {
      "name": "entity:GLOBAL.HARDWARE",
      "value": "printer",
      "score": 1.0,
      "normalization": {"type":"entity:GLOBAL.HARDWARE",
                         "subType":"HARDWARE",
                         "value":"printer"}
    }
    

    Example NLU prediction result using Software system entity

    {"status":"success",
       "response":{
          "utterance":"How do I install Java?",
          "intents":[
             {
                "intentName":"test intent",
                "nluModelName":"ml_x_snc_global_global_268a97a9dbd23c107906265d1396191a",
                "score":0.90401393,
                "intents":[
                   
                ],
                "entities":[
                   {
                      "name":"entity:GLOBAL.SOFTWARE",
                      "value":"Java",
                      "score":0.99930537,
                      "normalization":{
                         "type":"entity:GLOBAL.SOFTWARE",
                         "subType":"SOFTWARE",
                         "value":"Java"
                      },
                      "startingPosition":-1
                   }
                ]
             }
          ],
          "properties":{
             "all:ml_x_snc_global_global_268a97a9dbd23c107906265d1396191a":"0.55",
             "entity:all":"0.01",
             "inference.sspace.time":"4",
             "inference.time":"33",
             "intent:all":"0.01",
             "nluPlatformLanguage":"en",
             "nluPlatformVersion":"rome.0"
          }
       }
    }
    

    Example NLU prediction result using DATE system entity

    {
        "utterance": "We should meet next Sunday at Starbucks.",
        "intents": [
            {
                "intentName": "intent:Desire.Desire",
                "score": 0.83452,
                "entities": []
            },
            {
                "intentName": "intent:Meeting.MeetRequest",
                "score": 0.8919042,
                "entities": [
                    {
                        "entityName": "entity:Meeting.MeetRequest.Where",
                        "value": "Starbucks",
                        "score": 1
                    },
         {
                        "entityName": "entity:GLOBAL.DATE",
                        "value": "Sunday",
                        "normalization": { "type": "DATE",
                            "subType": "DAY",
                            "value": "1999-10-01"
                         },
                        "score": 0.87
                    }
                ]
            }
        ]
    }