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

Method generate_sentence

data_convert/task_format/event_extraction.py:17–42  ·  view source on GitHub ↗
(self, type_format='subtype')

Source from the content-addressed store, hash-verified

15 self.sentence_start = doc_json.get('sentence_start', doc_json['_sentence_start'])
16
17 def generate_sentence(self, type_format='subtype'):
18 for sentence, events_in_sentence, sentence_start in zip(self.sentences, self.events, self.sentence_start):
19 events = list()
20 for event in events_in_sentence: # 一个trigger代表一个事件的形式
21 trigger, event_type = event[0]
22 trigger -= sentence_start # sentence_start 指的是该句在整个document中的位置
23
24 suptype, subtype = event_type.split('.') # XX.YY 类别信息, XX为大类别, YY为小类别
25
26 if type_format == 'subtype':
27 event_type = subtype
28 elif type_format == 'suptype':
29 event_type = suptype
30 else:
31 event_type = suptype + type_format + subtype
32
33 arguments = list()
34 for start, end, role in event[1:]:
35 start -= sentence_start
36 end -= sentence_start
37 arguments += [[role, list(range(start, end + 1))]]
38
39 event = {'type': event_type, 'tokens': [trigger], 'arguments': arguments}
40
41 events += [event]
42 yield {'tokens': sentence, 'events': events}
43
44
45class Event(TaskFormat):

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected