| 55 | yield ' '.join(sentence), list(trigger_set), list(role_set) # 进行去重 |
| 56 | |
| 57 | def generate_sentence_text2target(filename, pred_reader): |
| 58 | text_gold_dict = {} |
| 59 | event_list, _ = pred_reader.decode( |
| 60 | gold_list=read_file(filename), |
| 61 | pred_list=read_file(filename), |
| 62 | text_list=[json.loads(line)['text'] |
| 63 | for line in read_file(filename)], |
| 64 | ) |
| 65 | # print(event_list) |
| 66 | for item in event_list: |
| 67 | if item["text"] in text_gold_dict: |
| 68 | # print("Warning: text duplicate , text: ", item["text"]) |
| 69 | text_gold_dict[item["text"]][0] += item['gold_event'] |
| 70 | text_gold_dict[item["text"]][1] += item['gold_role'] |
| 71 | else: |
| 72 | text_gold_dict[item["text"]] = [item['gold_event'], item['gold_role']] |
| 73 | # print(text_gold_dict) |
| 74 | |
| 75 | gold_list = [] |
| 76 | for text, events in text_gold_dict.items(): |
| 77 | gold_list.append([text, events[0], events[1]]) |
| 78 | return gold_list |
| 79 | |
| 80 | def match_sublist(the_list, to_match): |
| 81 | """ |