Skip to main content

Advanced Features

An overview of various advanced features that are available to fine-tune the Agolo Entity Intelligence platform as part of an integration.

Integration Guide

1. Seed the Knowledge Base - Advanced

Adding explicit relationships

Imagine the use case in which a biographer is writing the life story of Muhammad Ali and wants to ingest thousands of news articles about him to build a knowledge base. The biographer can ensure a higher quality extended relation graph is built by providing explicit relationships between core entities.

The "relations" attribute in the payload defines how the entity is connected to other known entities. The Agolo Entity Intelligence platform uses Wikidata's IDs, wherever possible, for representing both relationships (e.g. P26 = spouse) as well as for known, public entities/identities (e.g. Q22941605 = Sonji Roi).

curl --location '{YOUR_ENV_BASE_URL}/entity-analytics/v2/identities' \
--header 'Content-Type: application/json' \
--data '{
"id": "Q36107",
"label": "Muhammad Ali",
"status": "Authoritative",
"aliases": {
"multi_lan": [
{
"label": "El Mejor"
}
],
"en": [
{
"label": "Cassius Clay"
}
]
},
"references": {
"multi_lan": [
{
"text": "Después de 20 segundos así, Ali lo castigó con un gancho seguido de un recto de derecha que lo hicieron doblarse; fue el principio del fin de la pelea."
}
],
"en": [
{
"text": "Born Cassius Marcellus Clay on Jan. 17, 1942 in Louisville, Kentucky, to middle-class parents, Ali started boxing when he was 12, winning Golden Gloves titles before heading to the 1960 Olympics in Rome, where he won a gold medal as a light heavyweight."
}
]
},
"relations": [
{
"predicate": "P26",
"objectId": "Q22941605"
}
]
}'

Note: In the above example, replace the following parameters:

  • {YOUR_ENV_BASE_URL} - replace with either the hosted demo URL Agolo provided you with or else your own deployment URL if you have already installed the platform locally.

Configure Settings

You can configure the NER engine, the Relationship extractor engine, and other settings using the configuration APIs. Here is how you do some of those common tasks. Refer to the API docs for all the available configuration settings. Anecdotally, the Ghost Creation Threshold should be set between 45 and 70 depending on the use case and what the use case specific balance between False Positives & False Negatives is.

curl -X 'PATCH' '{YOUR_ENV_BASE_URL}/entity-analytics/v2/config' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"nerExtractorType": "mBERT",
"relationExtractorType": "KBP",
"ghostCreationThreshold": 55
}'

Note: In the above example, replace the following parameters:

  • {YOUR_ENV_BASE_URL} - replace with either the hosted demo URL Agolo provided you with or else your own deployment URL if you have already installed the platform locally.

Create NER Library for Custom Entity Recognition

Often you will encounter custom entity types in your data or for some reason, entities that the system just doesn't seem to recognize, despite their being a standard entity type. For that scenario, you can create your own custom NER library and upload it to the engine using the following command:

curl -X 'POST' '{YOUR_ENV_BASE_URL}/entity-analytics/v2/config/ner-dictionary' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@custom_ner_dictionary.json;type=application/json'

Note: In the above example, replace the following parameters:

  • {YOUR_ENV_BASE_URL} - replace with either the hosted demo URL Agolo provided you with or else your own deployment URL if you have already installed the platform locally.