{ "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
| 43 | |
| 44 | |
| 45 | class 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 |
nothing calls this directly
no outgoing calls
no test coverage detected