...
Code Block |
---|
"associations": [ { "entity1": "theft,2", "entity1_index": "theft,2/criminalactivity", "verb": "reported", "verb_category": "crime", "time_start": "2011-01-29T00:00:00", "geotag": { "lat": 38.9099278028729, "lon": -77.0436067765966 }, "assoc_type": "Summary" } |
...
iterateOver
...
The following code example is used to process email communication between two parties. The association between the two entities is formed by iterating over the metadata object: "email_meta.Message-To"
...
TODO: have a single entity version (after meta/before multi)
here's an example config element
Code Block |
---|
{ "associations": [ "assoc_type": "Event", { "assoc_type": "Event", "entity1"entity1": "$SCRIPT( return _doc.metadata._FILE_METADATA_eventtype[0].metadata.Author[0]; )", "entity2": "$SCRIPT(return _value;)VictimType", "iterateOver": "email_meta.Message-Toentity2/dummy", "timeverb_startcategory": "$SCRIPT( return _doc.publishedDate;)",suffered" }, |
here's some example entities,
Code Block |
---|
"verbentities": "emailed",[ { "verbactual_categoryname": "emailed/communicated" Targeted, Paramilitary/Private Security, Adult, Tribal from Pakistan", } "dimension": "Who", ] "disambiguated_name": "Targeted, Paramilitary/Private Security, Adult, Tribal } |
Output:
The output displays the association between the sender and receiver in the email correspondence.
Code Block |
---|
]from Pakistan", "associations": [ "doccount": 0, { "entity1frequency": "cara.semperger@enron.com"3, "entity1_index": "cara.semperger@enron.com/accounttargeted, paramilitary/private security, adult, tribal from pakistan/victimtype", "verbrelevance": "emailed"0, "verb_categorytotalfrequency": "emailed/communicated"-1, "entity2type": "will.smith@enron.com",VictimType" }, "entity2_index": "will.smith@enron.com/account", { "timeactual_startname": "2001-07-09T14:33:32Targeted, Non Official Public Figure, Adult, Tribal from Pakistan", "assoc_typedimension": "EventWho", } ], |
...
Multiplicative association are associations that are created by "multiplying" a combination of entities, locations, and times together to determine the number of associations to extract from the source data.
In the example, a perpetrator (Sunni Islamic Extremist) attacked multiple types of victims (an adult and a child) in Sri Lanka.
The association specification uses the multiplicative format to create events using the following math to determine the total number of associations: Entity1 (Person Perpetrator) * Entity2 (Victim Type) * Geo_index (Location) = Total Number of Associations.
Code Block |
---|
}"disambiguated_name": "Targeted, Non Official Public Figure, Adult, Tribal from Pakistan", "doccount": 0, "frequency": 1, { "index": "targeted, non official public figure, adult, tribal from pakistan/victimtype", "creationCriteriaScript": "$FUNC( isOrganizationSpecified(); )", "relevance": 0, "entity1totalfrequency": "Organization"-1, "type": "VictimType" "entity2": "FacilityType", }, { "geoactual_indexname": "Location"Targeted, Civilian, Adult, Tribal from Pakistan", "iterateOverdimension": "entity1/entity2/geo_indexWho", "time_start"disambiguated_name": "$SCRIPT( return _doc.metadata.incidentdate[0]; )", Targeted, Civilian, Adult, Tribal from Pakistan", "verbdoccount": "attacked", 0, "verb_categoryfrequency": "assault/attack"2, "index": "targeted, civilian, }adult, tribal from pakistan/victimtype", {"relevance": 0, "totalfrequency": -1, "creationCriteriaScript": "$FUNC( isOrganizationSpecified(); )", "type": "VictimType" }, |
Generates output:
Code Block |
---|
{ "entity1associations": "Organization",[ { "entity2assoc_type": "VictimTypeEvent", "entity1": "Armed Attack", "geo "entity1_index": "Locationarmed attack/eventtype", "iterateOver""entity2": "entity1/entity2/geo_index"targeted, paramilitary/private security, adult, tribal from pakistan", "timeentity2_startindex": "$SCRIPT( return _doc.metadata.incidentdate[0]; )", targeted, paramilitary/private security, adult, tribal from pakistan/victimtype", "verb": "attackedsuffered", "verb_category": "assault/attacksuffered" }}, { { "assoc_type": "Event", "creationCriteriaScriptentity1": "$FUNC( isOrganizationSpecified(); )Armed Attack", "entity1_index": "Organizationarmed attack/eventtype", "entity2": "HostageType"targeted, non official public figure, adult, tribal from pakistan", "geoentity2_index": "Location"targeted, non official public figure, adult, tribal from pakistan/victimtype", "iterateOververb": "entity1/entity2/geo_indexsuffered", "verb_category": "suffered" "time_start": "$SCRIPT( return _doc.metadata.incidentdate[0]; )",}, { "verbassoc_type": "took hostageEvent", "entity1": "Armed Attack", "verb_category "entity1_index": "assaultarmed attack/attackeventtype", }, "entity2": "targeted, civilian, adult, tribal from pakistan", "entity2_index": "targeted, civilian, adult, tribal from pakistan/victimtype", "verb": "suffered", "verb_category": "suffered" }, |
Anchor | ||||
---|---|---|---|---|
|
The following code example is used to process email communication between two parties. The association between the two entities is formed by iterating over the metadata object: "email_meta.Message-To"
Code Block |
---|
{
"associations": [
{
"assoc_type": "Event",
"entity1": "$SCRIPT( return _doc.metadata._FILE_METADATA_[0].metadata.Author[0];)",
"entity2": "$SCRIPT(return _value;)",
"iterateOver": "email_meta.Message-To",
"time_start": "$SCRIPT( return _doc.publishedDate;)",
"verb": "emailed",
"verb_category": "emailed/communicated"
}
]
} |
TODO: show metadata
Output:
The output displays the association between the sender and receiver in the email correspondence.
Code Block |
---|
"associations": [
{
"entity1": "cara.semperger@enron.com",
"entity1_index": "cara.semperger@enron.com/account",
"verb": "emailed",
"verb_category": "emailed/communicated",
"entity2": "will.smith@enron.com",
"entity2_index": "will.smith@enron.com/account",
"time_start": "2001-07-09T14:33:32",
"assoc_type": "Event"
}
], |
Anchor | ||||
---|---|---|---|---|
|
Multiplicative association are associations that are created by "multiplying" a combination of entities, locations, and times together to determine the number of associations to extract from the source data.
In the example, a perpetrator (Sunni Islamic Extremist) attacked multiple types of victims (an adult and a child) in Sri Lanka.
The association specification uses the multiplicative format to create events using the following math to determine the total number of associations: Entity1 (Person Perpetrator) * Entity2 (Victim Type) * Geo_index (Location) = Total Number of Associations.
Code Block |
---|
{ "creationCriteriaScript": "$SCRIPT$FUNC( if (isOrganizationSpecified() == false) return true; )", "entity1": "PersonPerpetrator", "entity2": "FacilityType", Organization", "geo_indexentity2": "LocationVictimType", "iterateOver": "entity1/entity2/geo_index", "time_start": "$SCRIPT( return _doc.metadata.incidentdate[0]; )", "verb": "attacked", "verb_category": "attacked", "assault/attack" }, |
On the following set of entities:
Code Block |
---|
"entities": [ { "verbactual_categoryname": "assault/attackTaliban", "dimension": "Who", }, "disambiguated_name": "Taliban", { "doccount": 0, "creationCriteriaScriptfrequency": "$SCRIPT(1, if (isOrganizationSpecified() == false) return true; )", "index": "taliban/organization", "entity1relevance": "PersonPerpetrator", 0, "entity2totalfrequency": "VictimType"-1, "type": "Organization" "geo_index": "Location" }, { "iterateOveractual_name": "entity1/entity2/geo_index"Targeted, Civilian, Adult from Afghanistan", "time_start"dimension": "$SCRIPT( return _doc.metadata.incidentdate[0]; )Who", "verb"disambiguated_name": "attacked"Targeted, Civilian, Adult from Afghanistan", "doccount": 0, "verb_category": "assault/attack" "frequency": 1, }, "index": "targeted, civilian, adult from afghanistan/victimtype", { "relevance": 0, "creationCriteriaScripttotalfrequency": "$SCRIPT( if (isOrganizationSpecified() == false) return true; )",-1, "type": "VictimType" }, |
Sample Output:
Code Block |
---|
{ "entity1associations": [ "PersonPerpetrator", { "entity2assoc_type": "HostageTypeEvent", "entity1": "taliban", "geo "entity1_index": "Locationtaliban/organization", "entity2": "targeted, civilian, adult from afghanistan", "iterateOver": "entity1/entity2/geo_index": "targeted, civilian, adult from afghanistan/victimtype", "time_start": "$SCRIPT( return _doc.metadata.incidentdate[0]; )2009-07-01T00:00:00", "verb": "took hostageattacked", "verb_category": "assault/attack" } } |
...
Sample Output:
TODO add sample output.
Anchor | ||||
---|---|---|---|---|
|
...
Would generate the 2 associations "alex/person lives in baltimore/city" and "craig/person lives in washintgon dc/city".
TODO: show this as JSON
Anchor | ||||
---|---|---|---|---|
|
...