Code Monkey home page Code Monkey logo

ccf-bdci-automotive-field-asc-2018's Introduction

CCF-BDCI2018 汽车领域ASC挑战赛

以前没接触过ASC、TSC领域,最开始纠结这是单分类还是多分类问题,走了一些弯路。最终我们回到ASC赛道上,根据直觉,我们设计了一个基于memory的lstm-attention模型,复赛B榜线上在0.69左右,融合最终得分0.70,单模型结构图如下:

后面时间比较紧张,复现今年ASC论文的代码效果都不好,最终排名6/1701,思路如同代码所写,很简单。

原始数据可在比赛数据处下载,由于这次我们问题建模方式比较多,数据预处理代码也比较多,所以我会上传一份处理好的数据(包括处理好的Bert特征和百度百科词向量)放在百度云盘,下载后请解压放在data/目录下。

ELMo哈工大基于pytorch的pretrain版本和我用tf pretrain训练集的效果都不好,但是我也保留了tf pretrain版本代码。

Bert我们没有弄finetune,直接抽取的特征,效果和百度百科词向量相当。

若有任何想法可以提issue或者pull request,也可以微信与我直接讨论。希望大家一起学习进步。

一、环境

环境/库 版本
Ubuntu 16.04.5 LTS
python 3.6
jupyter notebook 4.2.3
tensorflow-gpu 1.9.1
numpy 1.14.1
pandas 0.23.0
matplotlib 2.2.2
tqdm 4.24.0

这里最重要的就是我们用的Cudnn版本的lstm,所以需要tensorflow版本大于1.4.0,相应的cuda版本不能用8.0,需要9.0及以上。

二、数据预处理

都写在jupyter里了,运行src/preprocess/EDA.ipynb生成各种文件,可用看看思路,但是建议直接下载云盘处理好的结果。

三、深度模型训练

数据预处理好即可用直接train模型,单GPU运行,模型请参考src/config.py自选,参数名含义请参考src/train_predict.py

python train_predict.py --gpu 7 --model aspv0 --feature word --epoch 20 --bs 128 --oe

四、模型融合输出

python stacking.py --gpu 1 --data_type 3

这里是stackingpesudo label一起做了,请修改代码自选是否用伪标签。

这里数据集比较合适,伪标签有一定提分作用。

五、提交结果

修改src/pack_sub_dt2.py里对应stacking生成的pre_path概率结果路径,运行

python python pack_sub_dt2.py

生成提交结果。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.