| import json | |
| from tqdm import tqdm | |
| import argparse | |
| def save_data(data,file_path): | |
| with open(file_path, 'w', encoding='utf8') as f: | |
| json_data=json.dumps(data,ensure_ascii=False) | |
| f.write(json_data+'\n') | |
| def submit(file_path): | |
| id2score={} | |
| with open(file_path, 'r', encoding='utf8') as f: | |
| lines = f.readlines() | |
| for line in lines: | |
| line = json.loads(line) | |
| for choice in line['choices']: | |
| if choice['id'] not in id2score.keys(): | |
| id2score[choice['id']]=[] | |
| id2score[choice['id']].extend(choice['entity_list']) | |
| result={} | |
| for k,v in id2score.items(): | |
| if v==[]: | |
| result[k]='' | |
| else: | |
| result[k] = sorted(v, key=lambda k: k['score'],reverse=True)[0]['entity_name'] | |
| return result | |
| if __name__=="__main__": | |
| parser = argparse.ArgumentParser(description="train") | |
| parser.add_argument("--data_path", type=str,default="") | |
| parser.add_argument("--save_path", type=str,default="") | |
| args = parser.parse_args() | |
| save_data(submit(args.data_path), args.save_path) | |