# 2017 知乎看山杯 多标签文本分类
比赛总结: [2017知乎看山杯总结(多标签文本分类)](http://blog.csdn.net/Jerr__y/article/details/77751885)
## 1.运行环境
下面是我实验中的一些环境依赖,版本只提供参考。
|环境/库|版本|
|:---------:|----------|
|Ubuntu|14.04.5 LTS|
|python|2.7.12|
|jupyter notebook|4.2.3|
|tensorflow-gpu|1.2.1|
|numpy|1.12.1|
|pandas|0.19.2|
|matplotlib|2.0.0|
|word2vec|0.9.1|
|tqdm|4.11.2|
## 2.文件结构
|- zhihu-text-classification<br/>
| |- raw_data # 比赛提供的原始数据<br/>
| |- data # 预处理得到的数据<br/>
| |- data_process # 数据预处理代码<br/>
| |- models # 模型代码<br/>
| | |- wd-1-1-cnn-concat <br/>
| | | |- network.py # 定义网络结构<br/>
| | | |- train.py # 模型训练<br/>
| | | |- predict.py # 验证集/测试集预测,生成概率矩阵<br/>
...<br/>
| |- ckpt # 保存训练好的模型<br/>
| |- summary # tensorboard数据<br/>
| |- scores # 测试集的预测概率矩阵<br/>
| |- local_scores # 验证集的预测概率矩阵<br/>
| |- doc # 文档说明与相关论文<br/>
| |- notebook-old # 比赛中未经过整理的代码<br/>
| |- local_ensemble.ipynb # 验证集模型融合<br/>
| |- ensemble.py # 测试集模型融合<br/>
| |- data_helpers.py # 数据处理函数<br/>
| |- evaluator.py # 评价函数<br/>
## 3.数据预处理
- 把比赛提供的所有数据解压到 raw_data/ 目录下。
- 按照顺序依次执行各个 .py,不带任何参数。<br/>
或者在当前目录下输入下面命令运行所有文件:<br/>
dos2unix run_all_data_process.sh # 使用cygwin工具dos2unix将script改为unix格式<br/>
sh run_all_data_process.sh
### 3.1 embed2ndarray.py
赛方提供了txt格式的词向量和字向量,这里把embedding矩阵转成 np.ndarray 形式,分别保存为 data/word_embedding.npy 和 data/char_embedding.npy。
用 pd.Series 保存词(字)对应 embedding 中的行号(id),存储在 data/sr_word2id.pkl 和 data/sr_char2id.pkl 中。
### 3.2 question_and_topic_2id.py
把问题和话题转为id形式,保存在 data/sr_question2id.pkl 和 data/sr_id2question.pkl 中。
### 3.3 char2id.py
利用上面得到的 sr_char2id,把所有问题的字转为对应的id, 存储为<br/>
data/ch_train_title.npy<br/>
data/ch_train_content.npy<br/>
data/ch_eval_title.npy<br/>
data/ch_eval_content.npy<br/>
### 3.4 word2id.py
同 char2id.py
### 3.5 creat_batch_data.py
把所有的数据按照 batch_size(128) 进行打包,固定seed,随机取 10 万样本作为验证集。每个batch存储为一个 npz 文件,包括 X, y 两部分。
这里所有的序列都进行了截断,长度不足的用0进行padding到固定长度。<br/>
保存位置:<br/>
wd_train_path = '../data/wd-data/data_train/'<br/>
wd_valid_path = '../data/wd-data/data_valid/'<br/>
wd_test_path = '../data/wd-data/data_test/'<br/>
ch_train_path = '../data/ch-data/data_train/'<br/>
ch_valid_path = '../data/ch-data/data_valid/'<br/>
ch_test_path = '../data/ch-data/data_test/'<br/>
### 3.6 creat_batch_seg.py
和 creat_batch_data.py 相同,只是对 content 部分进行句子划分。用于分层模型。
划分句子长度:<br/>
wd_title_len = 30, wd_sent_len = 30, wd_doc_len = 10.(即content划分为10个句子,每个句子长度为30个词)<br/>
ch_title_len = 52, ch_sent_len = 52, ch_doc_len = 10.<br/>
不划分句子:<br/>
wd_title_len = 30, wd_content_len = 150.<br/>
ch_title_len = 52, ch_content_len = 300.<br/>
## 4.模型训练
切换到模型所在位置,然后进行训练和预测。比如:
```
cd zhihu-text-classification/models/wd-1-1-cnn-concat/
# 训练
python train.py [--max_epoch 1 --max_max_epoch 6 --lr 1e-3 decay_rate 0.65 decay_step 15000 last_f1 0.4]
# 预测
python predict.py
```
这里只整理了部分模型,所有模型都用的词向量。如果想要使用字向量,只需要把模型中的输入和序列长度修改即可。
## 5.模型融合
线性加权融合,模拟梯度下降的策略进行权值搜索。见:local_ensemble.ipynb
注意:
- 此方法可能会对验证集过拟合,所以需要通过测试集进一步判断。在模型个数比较多时使用此方法效果更好。
- 需要根据各个单模型的性能认为进行初始化。char 和 word 类型不能直接比较,char 的单模型的性能虽然较差,但是对融合提升非常明显。
没有合适的资源?快使用搜索试试~ 我知道了~
[2017知乎看山杯 多标签 文本分类] ye组(第六名) 解题方案.zip
共122个文件
ipynb:41个
py:39个
pdf:28个
需积分: 3 0 下载量 174 浏览量
2024-01-15
10:43:18
上传
评论
收藏 21.54MB ZIP 举报
温馨提示
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。
资源推荐
资源详情
资源评论
收起资源包目录
[2017知乎看山杯 多标签 文本分类] ye组(第六名) 解题方案.zip (122个子文件)
2017知乎看山杯参赛方案-ye-6.docx 264KB
2017知乎看山杯参赛代码及复现说明-ye-6-20170820.docx 19KB
.gitignore 92B
data_process.iml 459B
textcnn-title-256-len50.ipynb 187KB
data_analysis.ipynb 143KB
local_ensemble.ipynb 106KB
p5-1-2embed-rnn256-cnn2345.ipynb 64KB
m7-2-rnn-cnn-128-100.ipynb 63KB
f1-1-cnn-256-23457-11.ipynb 63KB
m8-han-bigru-title-content-256-30.ipynb 63KB
m9-han-bigru-title-content-512-30.ipynb 63KB
m9-2-han-bigru-title-content-512-30.ipynb 63KB
ch4-1-han-bigru-256-52.ipynb 62KB
p4-1-han-bigru-256.ipynb 61KB
m7-rnn-cnn-256-100.ipynb 59KB
han-cnn-title-content-256-23457-1234.ipynb 59KB
han-cnn-title-content-256-345.ipynb 59KB
c2-1-bigru-256.ipynb 57KB
c2-1-bigru-256-checkpoint.ipynb 57KB
m1-fasttext-512.ipynb 57KB
p1-1-bigru-512.ipynb 56KB
ch5-1-2embed-rnn256-cnn2345.ipynb 55KB
p3-cnn-512-23457.ipynb 55KB
han-bigru-title-content-256-30.ipynb 55KB
p2-1-rnn-cnn-256-256.ipynb 55KB
c1-2-cnn-256-345710.ipynb 54KB
c1-1-cnn-max-256-23457.ipynb 54KB
ch5-2-2embed-rnn512-cnn3457.ipynb 54KB
textcnn-fc-drop-title-content-256-345-cross3.ipynb 52KB
p1-2-bigru-512-true.ipynb 51KB
ch6-1-han-cnn-2345-1234.ipynb 51KB
ch7-1-2embed-rnn256-hcnn-2345-1234.ipynb 49KB
ch3-2-cnn-256-23457.ipynb 49KB
p3-2-cnn-256-2357.ipynb 48KB
textcnn-fc-drop-title-content-256-3457-drop0.2.ipynb 48KB
textcnn-fc-drop-title-content-256-345.ipynb 47KB
attention-bigru-title-content-256.ipynb 45KB
attention-bigru-title-content-256-checkpoint.ipynb 45KB
textcnn-fc-drop-title-content-256-3457-drop0.5.ipynb 45KB
p3-3-cnn-max-256-345710.ipynb 43KB
ch3-1-cnn-256-2345.ipynb 41KB
ensemble.ipynb 9KB
Using saver to combine models.ipynb 8KB
Using saver to combine models-checkpoint.ipynb 8KB
README.md 5KB
README.md 3KB
校正说明.md 1KB
.name 12B
7.02+如何用+Tensorflow+来做文本分类.pdf 6.88MB
2016-A Batch-Normalized Recurrent Network for Sentiment.pdf 4.62MB
2017-Regularizing Model Complexity and Label Structure for Multi-Label Text Classification.pdf 1.27MB
D15-Document Modeling with Gated Recurrent Neural Network.pdf 1.23MB
2015-TextRCNN(TextRNN+CNN)-Recurrent Convolutional Neural Networks for Text Classification.pdf 998KB
2016-Combination of Convolutional and Recurrent Neural Network for Sentiment Analysis of Short Texts.pdf 994KB
2016-Enhanced LSTM for Natural Language Inference.pdf 985KB
2016-HAN-N16-Hierarchical Attention Networks for Document Classification.pdf 979KB
2017-RECURRENT BATCH NORMALIZATION.pdf 664KB
2016-Character-level Convolutional Network for Text Classification Applied to Chinese Corpus.pdf 553KB
2017知乎看山杯参赛方案-ye-6.pdf 535KB
2016-Trick-TextCNN-A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification.pdf 463KB
2014-Topk-pooling CNN-A Convolutional Neural Network for Modelling Sentences.pdf 417KB
2017-Large-scale Video Classification guided by Batch Normalized LSTM Translator.pdf 373KB
2016_Neural Sentiment Classification with User and Product Attention.pdf 359KB
2017-Multitask Learning for Fine-Grained Twitter Sentiment Analysis.pdf 337KB
2015-Batch Normalized Recurrent Neural Networks.pdf 312KB
2015-batch normalization-ioffe15.pdf 301KB
2017-a study of multilabel text classification and the effort of label hierarchy.pdf 286KB
2016-A Decomposable Attention Model for Natural Language Inference.pdf 272KB
2017知乎看山杯参赛代码及复现说明-ye-6-20170820.pdf 254KB
2014-TextCNN-Convolutional Neural Networks for Sentence Classification.pdf 250KB
2016-TRACKING THE WORLD STATE WITH RECURRENT ENTITY NETWORKS.pdf 210KB
P15-Document Classification by Inversion of -2008.pdf 178KB
2015-Multi-label Text Categorization with Joint Learning Predictions-as-Features Method.pdf 171KB
E17-Bag of Tricks for Efficient Text Classification-2068.pdf 126KB
2016-fasttext-Bag of Tricks for Efficient Text Classification.pdf 70KB
16-FastText-Bag of Tricks for Efficient Text Classification.pdf 70KB
network.py 13KB
network.py 12KB
data_helpers.py 12KB
network.py 11KB
network.py 11KB
network.py 10KB
train.py 10KB
train.py 10KB
train.py 10KB
train.py 10KB
train.py 10KB
train.py 10KB
train.py 10KB
network.py 10KB
network.py 9KB
creat_batch_data.py 6KB
ensemble.py 5KB
creat_batch_seg.py 5KB
char2id.py 5KB
word2id.py 4KB
predict.py 4KB
predict.py 4KB
predict.py 4KB
共 122 条
- 1
- 2
资源评论
JJJ69
- 粉丝: 6232
- 资源: 5778
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功