File size: 5,816 Bytes
8ebda9e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
import json
from tqdm import tqdm
import os
import argparse

label2desc={
        '银行': '银行',
        '社区服务': '社区',
        '电商': '电商',
        '支付': '支付',
        '经营养成': '养成',
        '卡牌': '卡牌',
        '借贷': '借贷',
        '驾校': '驾校',
        '理财': '理财',
        '职考': '职考',
        '新闻': '新闻',
        '旅游资讯': '旅游',
        '公共交通': '交通',
        '魔幻': '魔幻',
        '医疗服务': '医疗',
        '影像剪辑': '影像',
        '动作类': '动作',
        '工具': '工具',
        '体育竞技': '体育',
        '小说': '小说',
        '运动健身': '运动',
        '相机': '相机',
        '辅助工具': '辅助',
        '快递物流': '快递',
        '高等教育': '教育',
        '股票': '股票',
        '菜谱': '菜谱',
        '行车辅助': '行车',
        '仙侠': '仙侠',
        '亲子儿童': '亲子',
        '购物咨询': '购物',
        '射击游戏': '射击',
        '漫画': '漫画',
        '中小学': '小学',
        '同城服务': '同城',
        '成人教育': '成人',
        '求职': '求职',
        '电子产品': '电子',
        '艺术': '艺术',
        '薅羊毛': '赚钱',
        '约会社交': '约会',
        '经营': '经营',
        '兼职': '兼职',
        '短视频': '短视',
        '音乐': '音乐',
        '英语': '英语',
        '棋牌中心': '棋牌',
        '摄影修图': '摄影',
        '养生保健': '养生',
        '办公': '办公',
        '政务': '政务',
        '视频': '视频',
        '论坛圈子': '论坛',
        '彩票': '彩票',
        '直播': '直播',
        '其他': '其他',
        '休闲益智': '休闲',
        '策略': '策略',
        '即时通讯': '通讯',
        '汽车交易': '买车',
        '违章': '违章',
        '地图导航': '地图',
        '民航': '民航',
        '电台': '电台',
        '语言(非英语)': '语言',
        '搞笑': '搞笑',
        '婚恋社交': '婚恋',
        '社区超市': '超市',
        '日常养车': '养车',
        '杂志': '杂志',
        '视频教育': '在线',
        '家政': '家政',
        '影视娱乐': '影视',
        '装修家居': '装修',
        '体育咨讯': '资讯',
        '社交工具': '社交',
        '餐饮店': '餐饮',
        '美颜': '美颜',
        '问诊挂号': '挂号',
        '飞行空战': '飞行',
        '综合预定': '预定',
        '电影票务': '票务',
        '笔记': '笔记',
        '买房': '买房',
        '外卖': '外卖',
        '母婴': '母婴',
        '打车': '打车',
        '情侣社交': '情侣',
        '日程管理': '日程',
        '租车': '租车',
        '微博博客': '博客',
        '百科': '百科',
        '绘画': '绘画',
        '铁路': '铁路',
        '生活社交': '生活',
        '租房': '租房',
        '酒店': '酒店',
        '保险': '保险',
        '问答交流': '问答',
        '收款': '收款',
        'MOBA': '竞技',
        'K歌': '唱歌',
        '技术': '技术',
        '减肥瘦身': '减肥',
        '工作社交': '工作',
        '团购': '团购',
        '记账': '记账',
        '女性': '女性',
        '公务员': '公务',
        '二手': '二手',
        '美妆美业': '美妆',
        '汽车咨询': '汽车',
        '行程管理': '行程',
        '免费WIFI': '免费',
        '教辅': '教辅',
        '成人': '两性',
        '出国': '出国',
        '婚庆': '婚庆',
        '民宿短租': '民宿'}

choice = [k for k,v in label2desc.items()]
print('1'.join(choice))
print(len('1'.join(choice)))


def load_data(file_path,is_training=False):
    with open(file_path, 'r', encoding='utf8') as f:
        lines = f.readlines()
        result=[]
        for line in tqdm(lines): 
            data = json.loads(line)
            texta = data['sentence']
            textb = ''
            question = '请问app应用属于?'
            
            choice = [v for k,v in label2desc.items()]
            answer = label2desc[data['label_des']] if 'label_des' in data.keys() else ''

            # choice = [k for k,v in label2desc.items()]
            # answer = data['label_des'] if 'label_des' in data.keys() else ''

            label = choice.index(answer) if 'label_des' in data.keys() else 0
            text_id = data['id'] if 'id' in data.keys() else 0
            result.append({'texta':texta,
                            'textb':textb,
                            'question':question,
                            'choice':choice,
                            'answer':answer,
                            'label':label,
                            'id':text_id}) 
        # for i in range(5):
        #     print(result[i])
        return result


def save_data(data,file_path):
    with open(file_path, 'w', encoding='utf8') as f:
        for line in data:
            json_data=json.dumps(line,ensure_ascii=False)
            f.write(json_data+'\n')



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()
    
    
    data_path = args.data_path
    save_path = args.save_path
    
    if not os.path.exists(save_path):
        os.makedirs(save_path)
    
    file_list = ['train','dev','test']
    for file in file_list:
        file_path = os.path.join(data_path,file+'.json')
        output_path = os.path.join(save_path,file+'.json')
        save_data(load_data(file_path),output_path)