---
schema_version: "1"
id: a3d00882b46e401c4aae1733f03559ebf58f3231a289edc4dd411766946e59d7
title: Entity Reference
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/einstein-vision-language/einstein/guides/Detect-Entities-in-Text/entity-reference.md
canonical_url: https://developer.salesforce.com/docs/analytics/einstein-vision-language/guide/entity-reference.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: a3b47501cc52d48cc41086605d7bbc9be230fd177a423d7a22eb34570fe07faa
products:
  - Einstein Vision and Language
  - Einstein Vision and Language Repo
---

# Entity Reference

The Einstein NER (beta) API supports normalization for some entities. Normalized data is returned in the `normalizedData` array. The type and format of the data depends on the type of entity.

## CREDIT CARD

**Supports normalization:** Yes

**Normalization fields**

| Name     | Type   | Description                                                                                                                                                                                               | Available Version |
| -------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| `type`   | string | Normalization type. Valid values: <ul><li>`credit_card`</li></ul>                                                                                                                                         | 2.0               |
| `issuer` | string | Credit card issuer. Valid values: <ul><li>American Express</li><li>Diner's Club</li><li>Discover</li><li>Japan Credit Bureau</li><li>Maestro Card</li><li>Mastercard</li><li>Visa</li><li>other</li></ul> | 2.0               |
| `value`  | string | Value of the normalized data                                                                                                                                                                              | 2.0               |

With the exception of the _ja_ locale, credit card numbers are detected regardless of the locale provided in the request. When the request document is passed with _ja_ locale, we support numbers written in full-width characters.

**Examples**

```json
"probability": 1.0,
"label": "CREDIT-CARD-NUMBER",
"token": "5555-5555-5555-4444",
"span": {
    "start": 0,
    "end": 19
},
"normalizedData": [
    {
        "value": "5555555555554444",
        "issuer": "Mastercard", # credit card issuer
        "type": "credit_card"
    }
]
```

**note:** Though we identify valid credit card number formats (using Luhn’s algorithm test), we do not post process the value to determine whether a number is a real-world credit card.

## DATETIME

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                                                                                                                                                                                                                                                                                                      | Available Version |
| ------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------- |
| `type`  | string | Normalization type. Valid values: <ul><li>`value`—Object contains the normalized value for the token.</li><li>`range`—Object contains from and to objects that represent the start value and end value for the token.</li></ul>                                                                                                                  | 2.0               |
| `unit`  | string | Unit of measurement for the token value. Valid values:<ul><li>`day`</li><li>`hour`</li><li>`minute`</li><li>`month`</li><li>`quarter`</li><li>`second`</li<li>`week`</li><li>`year`</li></ul><br>The unit returned by the API is determined by the unit in the token. For example, if the token is "between today and tomorrow" the unit is day. | 2.0               |
| `value` | string | Value of the normalized data.                                                                                                                                                                                                                                                                                                                    | 2.0               |

This entity can sometimes overlap with the DURATION and NUMBER entities.

**Examples**

```json
{
    "token": "...",
    "label": "DATETIME",
    "probability": 0.9787207,
    "normalizedData": [
        {
            "type": "value",
            "unit": "hour",
            "value": "2020-02-03T17:00:00.000-08:00" // 5pm
        },
        ... or ...
        {
            "type": "range", // between 4pm and 5pm
            "from": {
                "type": "value",
                "unit": "hour",
                "value": "2020-02-03T16:00:00.000-08:00"
            },
            "to": {
                "type": "value",
                "unit": "hour",
                "value": "2020-02-03T17:00:00.000-08:00"
            }
        }
    ]
}
```

```json
{
    "probabilities": [
        {
            "probability": 0.84189475,
            "label": "DATETIME",
            "token": "between today and tomorrow",
            "span": {
                "start": 22,
                "end": 48
            },
            "normalizedData": [
                {
                    "from": {
                        "value": "2020-08-10T00:00:00.000-07:00", // Today's date
                        "unit": "day",
                        "type": "value"
                    },
                    "to": {
                        "value": "2020-08-12T00:00:00.000-07:00", // Tomorrow's date
                        "unit": "day",
                        "type": "value"
                    },
                    "type": "range"
                }
            ]
        }
    ],
    "object": "predictresponse"
}
```

## DURATION

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                                                                         | Available Version |
| ------- | ------ | ------------------------------------------------------------------------------------------------------------------- | ----------------- |
| `type`  | string | Normalization type. Valid values:<ul><li>`value`—Object contains the normalized value for the token.</li></ul>      | 2.0               |
| `unit`  | string | Unit of measurement for the token value. Valid values:<ul><li>`second`—Number of seconds in the duration.</li></ul> | 2.0               |
| `value` | string | Value of the normalized data.                                                                                       | 2.0               |

This entity can sometimes overlap with the DATETIME and NUMBER entities.

**Example**

```json
{
    "token": "3 hours",
    "label": "DURATION",
    "probability": 0.9125207,
    "normalizedData": [
        {
            "type": "value",
            "value": "10800",
            "unit": "second"
        }
    ]
}
```

## EMAIL

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                                                                    | Available Version |
| ------- | ------ | -------------------------------------------------------------------------------------------------------------- | ----------------- |
| `type`  | string | Normalization type. Valid values:<ul><li>`value`—Object contains the normalized value for the token.</li></ul> | 2.0               |
| `unit`  | string | Empty for the EMAIL entity type.                                                                               | 2.0               |
| `value` | string | Value of the normalized data.                                                                                  | 2.0               |

The API recognizes email addresses in these two formats.

-   info at salesforce dot com
-   info@salesforce.com

**Example**

```json
{
    "probabilities": [
        {
            "probability": 1,
            "label": "EMAIL",
            "token": "info at salesforce dot com",
            "span": {
                "start": 0,
                "end": 26
            },
            "normalizedData": [
                {
                    "value": "info@salesforce.com",
                    "unit": "",
                    "type": "value"
                }
            ]
        }
    ],
    "object": "predictresponse"
}
```

## LOCATION

**Supports normalization:** No

**Example**

```json
{
    "token": "London",
    "label": "LOCATION",
    "probability": 0.9787207,
    "normalizedData": [],
    "span": {
        ...
    }
}
```

## MONEY

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                                                                                                                                           | Available Version |
| ------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| `type`  | string | Normalization type. Valid values:<ul><li>`value`—Object contains the normalized value for the token.</li></ul>                                                                        | 2.0               |
| `unit`  | string | Unit of measurement for the token value. Valid values:<ul><li>`EUR`—Euro</li><li>`GBP`—British pound stering</li><li>`RUB`—Russian ruble</li><li>`USD`—United States dollar</li></ul> | 2.0               |
| `value` | string | Value of the normalized data. For money, it's the numeric value of the specified currency.                                                                                            | 2.0               |

**Example**

```json
{
    "probabilities": [
        {
            "probability": 0.95074475,
            "label": "MONEY",
            "token": "five dollars",
            "span": {
                "start": 21,
                "end": 33
            },
            "normalizedData": [
                {
                    "value": "5",
                    "unit": "USD",
                    "type": "value"
                }
            ]
        }
    ],
    "object": "predictresponse"
}
```

## NUMBER

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                                                                    | Available Version |
| ------- | ------ | -------------------------------------------------------------------------------------------------------------- | ----------------- |
| `type`  | string | Normalization type. Valid values:<ul><li>`value`—Object contains the normalized value for the token.</li></ul> | 2.0               |
| `unit`  | string | Empty for the NUMBER entity type.                                                                              | 2.0               |
| `value` | string | Value of the normalized data.                                                                                  | 2.0               |

**Example**

```json
{
    "probabilities": [
        {
            "probability": 1,
            "label": "NUMBER",
            "token": "Three thousand",
            "span": {
                "start": 0,
                "end": 14
            },
            "normalizedData": [
                {
                    "value": "3000",
                    "unit": "",
                    "type": "value"
                }
            ]
        }
    ],
    "object": "predictresponse"
}
```

## ORGANIZATION

**Supports normalization:** No

**Example**

```json
{
    "probability": 0.9469566,
    "label": "ORGANIZATION",
    "token": "Salesforce",
    "span": {
        "start": 25,
        "end": 35
    },
    "normalizedData": []
}
```

## PERCENT

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                                                                                                                                                                                    | Available Version |
| ------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------- |
| `type`  | string | Normalization type. Valid values:<ul><li>`value`—Object contains the normalized value for the token.</li><li>`range`—Object contains from and to objects that represent the start value and end value for the token.</li></ul> | 2.0               |
| `unit`  | string | Empty for the PERCENT entity type.                                                                                                                                                                                             | 2.0               |
| `value` | string | Value of the normalized data.                                                                                                                                                                                                  | 2.0               |

The normalized value is the percent divided by 100. For example, 50 percent is 0.5. Recognizes percentages in these formats:

-   50%
-   50 percent

**Example**

```json
// Single value example
{
  "token": "150%",
  "label": "PERCENT",
  "probability": 0.9787207,
  "normalizedData": [
    {
      "type": "value",
      "unit": "",
      "value": "1.5"
    }
  ]
}

// Range value example
{
  "probability": 0.99382097,
  "label": "PERCENT",
  "token": "40-50%",
  "span": {
    "start": 26,
    "end": 32
  },
  "normalizedData": [
    {
      "from": {
        "value": "0.4",
        "unit": "",
        "type": "value"
      },
      "to": {
        "value": "0.5",
        "unit": "",
        "type": "value"
      },
      "type": "range"
    }
  ]
}
```

## PERSON

**Supports normalization:** Yes

**Normalization fields**

| Name         | Type   | Description                                                         | Available Version |
| ------------ | ------ | ------------------------------------------------------------------- | ----------------- |
| `firstName`  | string | Text identified as the person's first name.                         | 2.0               |
| `lastName`   | string | Text identified as the person's last name.                          | 2.0               |
| `middleName` | string | Text identified as the person's middle name.                        | 2.0               |
| `salutation` | string | Empty for the PERSON entity type.                                   | 2.0               |
| `suffix`     | string | Text identified as the person's suffix such as Jr., Sr., and so on. | 2.0               |
| `type`       | string | Normalization type. Valid values: <ul><li>`person`</li></ul>        | 2.0               |

**note:** Titles are not detected. For example, for the string _Dr. Jim Blimpish_ only _Jim_ and _Blimpish_ are detected.

**Example**

```json
"probability": 0.99966216,
  "label": "PERSON",
  "token": "Marc Benioff",
  "span": {
    "start": 0,
    "end": 12
  },
  "normalizedData": [
    {
      "firstName": "Marc",
      "lastName": "Benioff",
      "middleName": "",
      "suffix": "",
      "salutation": "",
      "type": "person"
    }
  ]
```

## PHONE-NUMBER

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                                                                    | Available Version |
| ------- | ------ | -------------------------------------------------------------------------------------------------------------- | ----------------- |
| `type`  | string | Normalization type. Valid values:<ul><li>`value`—Object contains the normalized value for the token.</li></ul> | 2.0               |
| `unit`  | string | Empty for the PHONE-NUMBER entity type.                                                                        | 2.0               |
| `value` | string | Value of the normalized data.                                                                                  | 2.0               |

**Example**

```json
{
    "probability": 1,
    "label": "PHONE-NUMBER",
    "token": "408-123-4455",
    "span": {
        "start": 37,
        "end": 49
    },
    "normalizedData": [
        {
            "value": "4081234455",
            "unit": "",
            "type": "value"
        }
    ]
}
```

## URL

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                                                                    | Available Version |
| ------- | ------ | -------------------------------------------------------------------------------------------------------------- | ----------------- |
| `type`  | string | Normalization type. Valid values:<ul><li>`value`—Object contains the normalized value for the token.</li></ul> | 2.0               |
| `unit`  | string | Empty for the URL entity type.                                                                                 | 2.0               |
| `value` | string | Value of the normalized data.                                                                                  | 2.0               |

```json
{
    "probabilities": [
        {
            "probability": 1,
            "label": "URL",
            "token": "https://developer.salesforce.com/signup.",
            "span": {
                "start": 58,
                "end": 98
            },
            "normalizedData": [
                {
                    "value": "https://developer.salesforce.com/signup.",
                    "unit": "",
                    "type": "value"
                }
            ]
        }
    ],
    "object": "predictresponse"
}
```

## SOCIAL SECURITY NUMBER

**Supports normalization:** Yes

**Normalization fields**

| Name    | Type   | Description                                                          | Available Version |
| ------- | ------ | -------------------------------------------------------------------- | ----------------- |
| `type`  | string | Normalization type. Valid values:<ul><li>`social_security`</li></ul> | 2.0               |
| `value` | string | Value of the normalized data.                                        | 2.0               |

**EXAMPLE**

```json
"probability": 1.0,
"label": "SOCIAL-SECURITY-NUMBER",
"token": "135-24-2244",
"span": {
   "start": 0,
   "end": 11
},
"normalizedData": [
   {
      "value": "135242244",
      "type": "social_security"
   }
]
```

**note:** Though we identify valid social security number formats we do not post process the value to determine whether a number is a real-world social security number.
