https://github.com/alexdyysp/esim-pytorch
中国高校计算机大赛--大数据挑战赛
https://github.com/alexdyysp/esim-pytorch
esim nlp pytorch torch
Last synced: about 1 month ago
JSON representation
中国高校计算机大赛--大数据挑战赛
- Host: GitHub
- URL: https://github.com/alexdyysp/esim-pytorch
- Owner: alexdyysp
- License: mit
- Created: 2019-08-12T11:58:17.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-12T04:41:09.000Z (over 5 years ago)
- Last Synced: 2025-03-25T06:33:31.737Z (about 2 months ago)
- Topics: esim, nlp, pytorch, torch
- Language: Jupyter Notebook
- Homepage: https://www.kesci.com/home/competition/5cc51043f71088002c5b8840
- Size: 714 KB
- Stars: 36
- Watchers: 1
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ESIM-pytorch

## 中国高校计算机大赛--大数据挑战赛(字节跳动)
比赛链接:https://www.kesci.com/home/competition/5cc51043f71088002c5b8840
### 正式赛题——文本点击率预估(5月26日开赛)
搜索中一个重要的任务是根据query和title预测query下doc点击率,本次大赛参赛队伍需要根据脱敏后的数据预测指定doc的点击率,结果按照指定的评价指标使用在线评测数据进行评测和排名,得分最优者获胜。#### 比赛数据
| 列名 | 内容 | 样例 |
| :----: | :----: | :----: |
| query_id | int,一个query的唯一标识 | 1 |
| query | 字符string,term空格分割 | "字节跳动" |
| title | 字符string,term空格分割 | "字节跳动-百科" |
| label | int,取值{0, 1},有点击为1,无点击为0 | 1 |*Note*: 文本数据是脱敏的,呈现方式是数字序列,所以没有现成子向量文本可用,需要自己重新训练词向量矩阵
#### 比赛评价指标: Qauc
选手提交结果的评估指标是qAUC,qAUC为不同query下AUC的平均值,计算如下:
其中AUCi为同一个query_id下的AUC(Area Under Curve)
### 队伍最终成绩
## 文件结构
```
.
├── ESIM
│ ├── data
| | ├── checkpoints
│ │ └── train_data.sample
│ ├── esim
│ │ ├── data.py
| | ├── utils.py
│ │ ├── layers.py
│ │ └── models.py
│ └── utils.py
|—— 复赛ESIM线下测试版.ipynb
|__ ReadMe.md
```
**注**:data文件中的train_data.sample数据文件是官方给参赛选手线下调整模型用的样例文件,仅作测试用只有几千case。真实的比赛环境全在和鲸线上,数据量有超过10亿,所以本项目的数据文件仅是参考,模型效果与真实比赛成绩会有不同。
## ESIM 模型与结构
- A. Input encoding
+ a. 双输入query与title, 分别接入embeding层 + BiLSTM。
- B. Local inference modeling
+ a. soft_align_attention
+ b. local inference
+ c. Enhancement of local inference information
- C. Inference composition
+ a. 再一次用 BiLSTM 提取上下文信息
+ b. MaxPooling 和 AvgPooling
+ c. 全连接层,输出时经过softmax
- Key Idea:
+ a. 共享参数到参数交互的进步
+ b. 精细的设计序列式的推断结构。
+ c. 用句子间的注意力机制实现局部推断,并进一步实现全局推断。## 复赛实验结果
在比赛中,使用ESIM模型训练query与title对,训练的数据量的增大会带来明显的提升
- 训练5kw对后,可以得到0.5750
- 训练1e对后,可以得到0.5850
- 训练1.5e对后,可以得到0.5880
- 训练2e对后,可以得到0.5882## PS
小伙伴有什么想问的或者想要的功能接口可以提在issues里