(predict_parser, gold_list, pred_list, text_list=None, raw_list=None)
| 16 | |
| 17 | |
| 18 | def eval_pred(predict_parser, gold_list, pred_list, text_list=None, raw_list=None): |
| 19 | |
| 20 | well_formed_list, counter = predict_parser.decode( |
| 21 | gold_list, pred_list, text_list, raw_list) |
| 22 | |
| 23 | event_metric = Metric() |
| 24 | role_metric = Metric() |
| 25 | |
| 26 | for instance in well_formed_list: |
| 27 | event_metric.count_instance(instance['gold_event'], |
| 28 | instance['pred_event']) |
| 29 | role_metric.count_instance(instance['gold_role'], |
| 30 | instance['pred_role'], |
| 31 | verbose=False) |
| 32 | |
| 33 | trigger_result = event_metric.compute_f1(prefix='trigger-') |
| 34 | role_result = role_metric.compute_f1(prefix='role-') |
| 35 | |
| 36 | result = dict() |
| 37 | result.update(trigger_result) # 将trigger_result 添加到result中 |
| 38 | result.update(role_result) # 将role_result 添加到result中 |
| 39 | result['AVG-F1'] = trigger_result.get('trigger-F1', 0.) + \ |
| 40 | role_result.get('role-F1', 0.) |
| 41 | result.update(counter) |
| 42 | return result |
| 43 | |
| 44 | |
| 45 | def get_extract_metrics(pred_lns: List[str], tgt_lns: List[str], label_constraint: EventSchema, decoding_format='tree'): |
no test coverage detected