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

Function generate_sentence_dyiepp

evaluation.py:16–55  ·  view source on GitHub ↗
(filename, type_format='subtype')

Source from the content-addressed store, hash-verified

14
15
16def generate_sentence_dyiepp(filename, type_format='subtype'):
17 for line in open(filename):
18 instance = json.loads(line)
19 sentence = instance['sentence']
20 sentence_start = instance.get(
21 's_start', instance.get('_sentence_start'))
22 events = instance['event']
23
24 # 不进行去重
25 trigger_list = list()
26 role_list = list()
27
28 # 进行去重
29 trigger_set = set()
30 role_set = set()
31
32 for event in events:
33 trigger, event_type = event[0]
34 trigger -= sentence_start
35
36 suptype, subtype = event_type.split('.')
37
38 if type_format == 'subtype':
39 event_type = subtype
40 elif type_format == 'suptype':
41 event_type = suptype
42 else:
43 event_type = suptype + type_format + subtype
44
45 # trigger_list += [(event_type, (trigger, trigger))]
46 trigger_list += [(event_type, sentence[trigger])]
47 trigger_set.add((event_type, sentence[trigger]))
48 for start, end, role in event[1:]:
49 start -= sentence_start
50 end -= sentence_start
51 role_list += [(event_type, role, " ".join(sentence[start: end+1]))]
52 role_set.add((event_type, role, " ".join(sentence[start: end+1])))
53
54 # yield ' '.join(sentence), trigger_list, role_list # 不进行去重
55 yield ' '.join(sentence), list(trigger_set), list(role_set) # 进行去重
56
57def generate_sentence_text2target(filename, pred_reader):
58 text_gold_dict = {}

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected