MCPcopy Create free account
hub / github.com/RingBDStack/GDAP / Event

Class Event

data_convert/task_format/event_extraction.py:45–112  ·  view source on GitHub ↗

{ "doc_id": "NYT_ENG_20130914.0094", "sent_id": "NYT_ENG_20130914.0094-1", "tokens": ["LARGO", "\u2014", "A", "judge", "on", "Friday", "refused", "to", "stop", "''", "Hiccup", "Girl", "\u2019'", "Jennifer", "Mee", "from", "giving", "interviews", "to", "the", "media", "in

Source from the content-addressed store, hash-verified

43
44
45class Event(TaskFormat):
46 """
47 {
48 "doc_id": "NYT_ENG_20130914.0094",
49 "sent_id": "NYT_ENG_20130914.0094-1",
50 "tokens": ["LARGO", "\u2014", "A", "judge", "on", "Friday", "refused", "to", "stop", "''", "Hiccup", "Girl", "\u2019'", "Jennifer", "Mee", "from", "giving", "interviews", "to", "the", "media", "in", "the", "final", "days", "before", "her", "murder", "trial", "."],
51 "entities": [
52 {"entity_id": "NYT_ENG_20130914.0094-1-8-42", "entity_type": "PER", "mention_type": "NOM", "start": 3, "end": 4, "text": "judge"},
53 {"entity_id": "NYT_ENG_20130914.0094-1-39-2096", "entity_type": "PER", "mention_type": "NAM", "start": 10, "end": 12, "text": "Hiccup Girl"},
54 {"entity_id": "NYT_ENG_20130914.0094-1-39-48", "entity_type": "PER", "mention_type": "NAM", "start": 13, "end": 15, "text": "Jennifer Mee"},
55 {"entity_id": "NYT_ENG_20130914.0094-1-39-54", "entity_type": "PER", "mention_type": "PRO", "start": 26, "end": 27, "text": "her"}
56 ],
57 "relations": [],
58 "events": [
59 {
60 "event_id": "NYT_ENG_20130914.0094-1-25-998", "event_type": "contact", "event_subtype": "broadcast",
61 "trigger": {"text": "interviews", "start": 17, "end": 18},
62 "arguments": [
63 {"entity_id": "NYT_ENG_20130914.0094-1-39-48", "role": "entity", "text": "Jennifer Mee"}
64 ]
65 },
66 {
67 "event_id": "NYT_ENG_20130914.0094-1-1040-1019", "event_type": "justice", "event_subtype": "trialhearing",
68 "trigger": {"text": "trial", "start": 28, "end": 29},
69 "arguments": [{"entity_id": "NYT_ENG_20130914.0094-1-39-54", "role": "defendant", "text": "her"}
70 ]
71 }
72 ],
73 "start": 231, "end": 380,
74 "text": "LARGO \u2014 A judge on Friday refused to stop ''Hiccup Girl\u2019' Jennifer Mee from giving interviews to the media in the final days before her murder trial."
75 }
76 """
77
78 def __init__(self, doc_json):
79 self.doc_key = doc_json['doc_id']
80 self.sentence = doc_json['tokens']
81 self.entities = {entity['id']: entity for entity in doc_json['entity_mentions']}
82 self.relations = doc_json['relation_mentions']
83 self.events = doc_json['event_mentions']
84 # self.sentence_start = doc_json['start']
85 # self.sentence_end = doc_json['end']
86 # self.text = doc_json['text']
87
88 def generate_sentence(self, type_format='subtype'):
89 events = list()
90
91 for event in self.events:
92 arguments = list()
93 for argument in event['arguments']:
94 argument_entity = self.entities[argument['entity_id']]
95 arguments += [[argument['role'], list(range(argument_entity['start'], argument_entity['end']))]]
96
97 suptype, subtype = event['event_type'].split(':')
98
99 if type_format == 'subtype':
100 event_type = subtype
101 elif type_format == 'suptype':
102 event_type = suptype

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected