|
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 '' |
|
|
|
|
|
|
|
|
|
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}) |
|
|
|
|
|
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) |