CSS-LM
70 строк · 2.5 Кб
1import json2
3#{"sentence": "i would like to use a different operating system altogether.", "aspect": "operating system", "sentiment": "neutral"}
4
5
6with open("../GCAE/atsa-laptop/atsa_test.json") as f:7laptop_data = json.load(f)8laptop_num_label_dict = dict()9for l in laptop_data:10if l["sentiment"] == "conflict":11continue12try:13data = {"sentence": l["sentence"],"aspect":l["aspect"], "sentiment":l["sentiment"], "domain":"laptop"}14laptop_num_label_dict[l["sentiment"]].append(data)15except:16laptop_num_label_dict[l["sentiment"]]=[]17data = {"sentence": l["sentence"],"aspect":l["aspect"], "sentiment":l["sentiment"], "domain":"laptop"}18laptop_num_label_dict[l["sentiment"]].append(data)19
20
21min_num = 9999999922for label in set(laptop_num_label_dict.keys()):23print(label,len(laptop_num_label_dict[label]))24if len(laptop_num_label_dict[label]) < min_num:25min_num = len(laptop_num_label_dict[label])26print("======")27for label in laptop_num_label_dict.keys():28laptop_num_label_dict[label] = laptop_num_label_dict[label][:min_num]29for label in laptop_num_label_dict.keys():30print(label,len(laptop_num_label_dict[label]))31print("======")32
33
34with open("../GCAE/acsa-restaurant-large/acsa_test.json") as f:35restaurant_data = json.load(f)36restaurant_num_label_dict = dict()37for l in restaurant_data:38try:39data = {"sentence": l["sentence"],"aspect":l["aspect"], "sentiment":l["sentiment"], "domain":"restaurant"}40restaurant_num_label_dict[l["sentiment"]].append(data)41except:42restaurant_num_label_dict[l["sentiment"]]=[]43data = {"sentence": l["sentence"],"aspect":l["aspect"], "sentiment":l["sentiment"], "domain":"restaurant"}44restaurant_num_label_dict[l["sentiment"]].append(data)45
46for label in set(restaurant_num_label_dict.keys()):47print(label,len(restaurant_num_label_dict[label]))48print("======")49for label in restaurant_num_label_dict.keys():50restaurant_num_label_dict[label] = restaurant_num_label_dict[label][:min_num]51for label in restaurant_num_label_dict.keys():52print(label,len(restaurant_num_label_dict[label]))53print("======")54
55total_dict = dict()56for label in laptop_num_label_dict.keys():57total_dict[label] = restaurant_num_label_dict[label] + laptop_num_label_dict[label]58print(len(total_dict[label]))59print(label)60print("---")61
62total_list = list()63for label in total_dict.keys():64print(label)65total_list += total_dict[label]66
67print(128*6, len(total_list))68
69with open("test.json","w") as f:70json.dump(total_list,f)71
72
73
74
75