Zessay / sohu_2019

2019搜狐第三届内容识别挑战赛rank10

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

目录说明

  • data:保存原始数据、中间生成数据以及实体字典

    • gen:用于保存中间的生成文件,比如经过特征工程之后的训练集和测试集;
    • nerdict:实体字典,包括官方实体字典,搜狗、百度输入法词库、爬虫获取的明星词条以及流行的手机和电视节目;
  • models:用来保存训练得到的模型

    • machine:用来保存lightgbm, xgboost, catboost训练得到的预测模型
    • word:用来保存word2vec, doc2vec, TfIdf, LDA, KMeans 等基于单词得到的中间模型
  • process:对训练集和测试集进行预处理的代码

    • generate_all_tokens.py:对原始训练集和测试集进行预处理,得到all_tokens.csv,包含newsId, title, content, tokens_with_sw, tokens_without_sw等列
    • get_features.py:基于all_tokens.csv进行特征工程,得到all_train.csv, all_test.csv
    • postprocess.py:对生成的训练集和测试集数据进行一些后处理,包括添加idf特征以及平滑之后的转化率ctr相关特征
    • train_models.py:用于训练并保存word2vec, doc2vec, tfidf, kmeans, lda等模型
  • result:保存用于提交的结果文件

  • stopwords:分词和处理过程需要使用的停止词

    • simple_stopwords.txt:常用的中文停止词和符号
    • post_stopwords.txt:预测过程中对结果干扰比较大的单词
  • train:3种不同的用于训练的模型

    • cat_train.py:使用caboost模型训练并得到结果文件
    • lgb_train.py:使用lightgbm模型训练并得到结果文件
    • xgb_train.py:使用xgboost模型训练并得到结果文件
  • utils:一些工具函数

    • smooth.py:包含了贝叶斯平滑函数,用于对单词到实体的转化率进行平滑
    • subsave.py:包含加载源文件函数,按顺序保存提交文件等函数
    • threshold.py:用于搜索最佳分割阈值以及基于搜索结果获取测试集实体的函数
  • config.py:用于设置源文件以及生成文件的保存路径

  • main.py:主函数,可以直接通过python main.py运行

运行说明

  • 将原始文件coreEntityEmotion_train.txtcoreEntityEmotion_test_stage2.txt放入data文件夹中
  • Linux下直接命令行运行sh run.sh
  • Windows下确保安装git,在git bash下运行sh run.sh

About

2019搜狐第三届内容识别挑战赛rank10


Languages

Language:Python 99.8%Language:Shell 0.2%