Skip to content

Named entity recognition output

The API resource performing named entity recognition returns a JSON object with this format:

{
    "success": Boolean success flag,
    "data": {
        "content": analyzed text,
        "language": language code,
        "version": technology version info,
        "knowledge": [],
        "entities": []
    }
}

For the description of the contents, language and version properties, see the API resources output overview.

entities

Each item of the entities array represents a named entity, for example:

{
    "lemma": "National Basketball Association",
    "positions": [
        {
            "end": 139,
            "start": 136
        }
    ],
    "relevance": 10,
    "syncon": 206693,
    "type": "ORG",
    "attributes": [
        {
            "attribute": "role",
            "lemma": "league",
            "syncon": 36253,
            "type": "org"
        }
    ]
}

type identifies the kind of entity. The possible values for type are listed in the reference section.

positions is an array containing the positions of the entity's mentions in the text.

The syncon and the lemma properties are the outcome of semantic analysis and lemmatization respectively. These are exactly the same processes carried out during deep linguistic analysis. Value -1 for syncon means the concept doesn't have a correspondent in the expert.ai Knowledge Graph. This can happen with entities that are recognized through heuristics (e.g. John Smith).

relevance is an indicator of the importance of the entity in text. It's values ranges from 1 to 15.

attributes

The attributes array contains information about the entities that is inferred by semantic analysis based on:

  • Information available in the Knowledge Graph
  • Semantic features of the entity's name
  • The context in which the entity is cited

The attribute property indicates the type of attribute. Possible values are:

Value Description
age Age of a person
birthdate Birth date of a person
birthplace Birth place of a person
deathdate Death date of a person
deathplace Death date of a person
gender Gender of a person
humanspec Specification of a person
nationality Nationality of a person
orgspec Specification of an organization
placespec Specification of a place
prodspec Specification of a product
qualifyingadj Qualifying adjective
qualifyingadv Qualifying adverb
qualifyingnoun Qualifying noun
role Role of an entity; if referred to a person can also be a title or a profession
timerangespec Interval of time specification
timespec Time specification

Attributes can be nested, i.e. an attribute can have other attributes that further specify it.
For example from the text:

Saudi King Salman called on governments around the world

these attributes are inferred for entity Salman:

"attributes": [
    {
        "attribute": "gender",
        "lemma": "male",
        "syncon": -1,
        "type": ""
    },
    {
        "attribute": "role",
        "lemma": "King",
        "syncon": 43350,
        "type": "nph",
        "attributes": [
            {
                "attribute": "placespec",
                "lemma": "Saudi Arabia",
                "syncon": 38596,
                "type": "GEO"
            }
        ],
    }
]

The nested attribute, in this case, specifies the place of which entity Salman is the king, as if it were the answer to the question: "king of what?".

For the syncon and lemma properties see above: they are the result of deep linguistic analysis.

If the attribute is a generic or named entity, type identifies the kind of entity. Possible values can be uppercase or lowercase. Uppercase corresponds to named entities, lowercase to generic entities.

knowledge

The knowledge array contains Knowledge Graph data about the syncons associated with the entities. Its contents are described in the article about the output of full analysis.