Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

’达观杯‘文本智能处理挑战赛,文本分类任务的实现,包括一些传统的监督学习算法和深度学习算法,主要基于sklearn/xgb/lgb/pytorch包实现。

Notifications You must be signed in to change notification settings

MLjian/TextClassificationImplement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

13 Commits

Repository files navigation

1 简介

'达观杯'文本智能处理挑战赛官网
该库用于'达观杯'比赛的文本分类任务的基础实现,主要包括机器学习(ml)和深度学习(dl)两大部分,机器学习部分基于sklearn/lightgbm包实现,深度学习部使用pytorch深度学习框架。其中,机器学习部分主要包含特征工程和分类器两大部分,特征工程部分主要针对文本分类任务的 hash/lsa/lda/doc2vec特征提取/特征选择/特征组合/特征构造进行了实现,而分类器部分主要有逻辑回归/SVM/随机森林/Bagging/Adaboost/GBDT/Xgboost/LightGBM等。深度学习主要实现了word2vec/构建lstm模型/训练可视化等。(注:此库只是基础实现,并不是最优!!!)

2 ml(机器学习)

  • 1)运行环境
    sklearn/xgboost/lightgbm
  • 2)文件夹说明
    [data]:用于存放原始数据集。(数据集下载链接)
    [features]:用于存放特征工程的代码以及生成的特征文件。
    [code]:用于存放训练的代码。
    [results]:用于存放测试集的训练结果,以便提交给比赛官方。
    [for beginner]:用较为简单的代码格式帮助代码熟练度不够的同学入门,涉及自动调参。(选看)
  • 3)使用案例
    (1)生成tfidf特征
    直接运行features文件夹中的tfidf.py;
    (2)生成lsa特征
    运行features文件夹中的lsa.py;(注:运行前请确保tfidf特征已经生成)
    (3)生成lda特征
    运行features文件夹中的lda.py;(注:运行前请确保tf特征已经生成)
    (4)使用逻辑回归分类器进行训练
    修改code文件夹中的sklearn_config.py中的clf_name='lr',然后运行sklearn_train.py即开始训练。
    (5)使用lgb进行训练
    修改code文件夹中的lgb.py中的features_path,然后直接运行lgb.py即可开始训练。
  • 4)提高模型分数关键
    (1)特征工程:
    做更多更好的特征,然后进行融合,形成新的特征,正常来讲每增加一些有用的特征,模型就会提升一些;
    对于article的使用,将article进行和word_seg一样的特征抽取,然后合并到word_seg特征中;
    (2)集成学习:
    多个好而不同的单模型进行融合,就是将各个模型结果进行投票;
  • 5)比赛新baseline
    用ensemble_spar.py形成的特征 + LinearSVC --> 0.778多(只是简单随便跑的,还未进行调优)

3 dl(深度学习)

  • 1)运行环境
    pytorch/visdom
  • 2)文件夹说明
    [n_pad]:不对句子进行截断或补零。
    [pad]:对句子进行截断或补零,以保证输入神经网络里的每条句子长度一样。
    [data]:用于存放原始数据集和处理后的数据集。(数据集下载链接)
    [models]:用于存放网络结构的文件。
    [word2vec]:用于存放训练词向量的代码以及训练词向量的生成文件。
    [trained_models]:用于存放训练好的网络模型。
    [实验数据]:用于存放实验记录。
    [config.py]:用于对网络结构的参数进行设置。
    [train.py]:用于对网络的训练
  • 3)使用流程
    (1)先将原始数据集下载至data/data_ori;
    (2)运行word2vec/train_word2vec.py训练词向量;
    (3)运行data/data_process.py ,对数据进行预处理;
    (4)配置config文件进行参数的配置,并保存;
    (5)运行train.py进行训练;
  • 4)训练过程

训练集loss
验证集准确率

About

’达观杯‘文本智能处理挑战赛,文本分类任务的实现,包括一些传统的监督学习算法和深度学习算法,主要基于sklearn/xgb/lgb/pytorch包实现。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /