NLU system entities
Summarize
Summary of NLU system entities
NLU system entities in ServiceNow enable Virtual Agent to extract structured system information from user conversations. These globally defined entities are built into NLU models by default and can be used as “nodeless” input variables in Virtual Agent topics. This helps to accurately capture key data such as dates, times, locations, people, money, and more, improving the precision and responsiveness of Virtual Agent interactions.
Show less
Key Entities and Their Uses
- GLOBAL.DATE: Captures dates with various granularities including day, week, month, year, and season. Each subtype returns a normalized date string in ISO or custom formats for easy processing. For example, “Friday, February 4, 2019” normalizes to “2019-02-04”.
- GLOBAL.TIME: Extracts time information either as specific times (hours and minutes) or parts of the day (morning, afternoon, evening, night). Example: “ten minutes to three” normalizes to “T02:50”.
- GLOBAL.DATETIME: Combines date and time into a single normalized string accurate to minutes, e.g., “October 31st at 5:00 p.m.” becomes “2022-10-31T17:00”.
- GLOBAL.DURATION: Identifies durations with units such as seconds, minutes, hours, days, weeks, months, or years, returning normalized values like “h48” for 48 hours.
- GLOBAL.LOCATION: Detects location names as strings, e.g., “Santa Clara”.
- GLOBAL.PERSON: Recognizes person names as strings, e.g., “Joe Smith”.
- GLOBAL.MONEY: Extracts currency amounts with ISO 3166 currency codes, e.g., “USD 2000”.
- GLOBAL.NUMBER: Identifies numeric values, e.g., “5.0”.
- GLOBAL.SOFTWARE: Detects software names, e.g., “Java”.
- GLOBAL.HARDWARE: Extracts hardware names, e.g., “printer”.
Practical Benefits for ServiceNow Customers
- Consistent Data Extraction: These predefined system entities standardize how Virtual Agent interprets common conversation elements, ensuring reliable and normalized data capture.
- Improved Slot Filling: Entities can be used as input variables in topics, allowing Virtual Agent to automatically extract and slot-fill values from user inputs or external sources.
- Enhanced User Experiences: By accurately understanding dates, times, locations, and other key information, Virtual Agent can provide more relevant and timely responses.
- Out-of-the-box Availability: System entities are enabled by default in NLU models and can be managed via the NLU Workbench, simplifying setup and maintenance.
Examples of Use
NLU prediction results illustrate how Virtual Agent identifies entities in user utterances. For instance, when a user asks “How do I install Java?”, the GLOBAL.SOFTWARE entity extracts “Java” with a high confidence score. Similarly, “We should meet next Sunday at Starbucks” results in extraction of both a GLOBAL.DATE entity for “Sunday” and a meeting location.
Next Steps
ServiceNow customers can leverage these NLU system entities to build more intelligent Virtual Agent topics and scripts. Understanding the available entities and their normalized outputs helps to design conversations that efficiently gather and use critical information. For further customization and integration, review related concepts such as domain separation, Virtual Agent interaction records, and input data types.
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.
| 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 | |
The WEEK SubType returns a date string of a specific week of a year.
| 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 | |
The MONTH SubType returns a date string of a specific month of a year.
| 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 | |
The YEAR SubType returns a date string of a specific year.
| Usage | Example |
|---|---|
| Format | YYYY |
| Regular expression | \\d\\d\\d\\d |
| Input example | Mr. Smith left in 1999. |
| Normalized value | 1999 |
| Code example | |
The SEASON SubType returns a date string of a specific season of the year.
| Usage | Example |
|---|---|
| Format | One of the following:
|
| Regular expression | One of the following:
|
| Input example | Mr. Smith left in the fall of 1999. |
| Normalized value | 1999FA |
| Code example | |
GLOBAL.TIME system entity
The TIME SubType returns a time string that is accurate to an hour and a minute.
| 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 | |
The PARTSOFDAY SubType returns a time string that specifies parts of the day.
| Usage | Example |
|---|---|
| Format | One of the following:
|
| Regular expression | One of the following:
|
| Input example | Mr. Smith left in the morning. |
| Normalized value | TMO |
| Code example | |
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.
| 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 | |
GLOBAL.DURATION system entity
This entity returns a duration string that specifies the duration of the activity.
| Usage | Example |
|---|---|
| Format | One of the following:
|
| Regular expression | One of the following:
|
| Input example | Mr. Smith stayed in Boston for 48 hours. |
| Normalized value | h48 |
| Code example | |
GLOBAL.LOCATION system entity
This entity returns a location string.
| 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 | |
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 | |
GLOBAL.MONEY system entity
This entity returns a currency string.
| 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 | |
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 | |
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 | |
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 | |
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
}
]
}
]
}