NLP竞赛-代码框架
- Windows or Linux
- Python3.5.2(Python 3.x.x)
- pip3 install -r requirements.txt
个人整合在NLP类竞赛中通用代码,e.g. 文本预处理 etc. ,方便比赛时候直接调用
PS:由于GitHub不允许上传 >= 100MB文件,因此很多中间结果、结果文档删了,只保留文件夹
config.py
:项目公用路径
1.data_helpers.py
:文本数据处理常用函数
get_wordEmbeddedData(textColumnName)
:统计训练集train.csv
、验证集valid.csv
& 外部文本集externalData.txt
(若有)的所有文本数据,textColumnName
为csv文本对应列标签。用于DL模型构建词向量。data_process_txt(input_txtName, output_txtName)
:对txt文本预处理,预处理函数为data_process(content)
,包括标点符号处理 => emoji处理 => 连句号处理 => 分句处理 => 分词处理。input_txtName
为输入txt文档路径,output_txtName
为输出txt文档路径。txt文档格式:1条文本/行data_process_csv(input_csvName, output_csvName, textColumnName)
:对csv文本预处理,预处理函数为data_process(content)
。input_csvName
为输入csv文档路径,output_csvName
为输出csv文档路径,textColumnName
为csv文本对应列标签。2.wordVectors_helpers
:预处理后获得wordEmbeddedData_pro.txt
,利用该文本训练词向量。目前支持词向量:Word2vec、charVector(字向量,Word2vec版)、GloVe、FastText、ELMo、BERT、腾讯词向量、搜狗词向量。 部分未测试,详见代码注释。
data文件夹
:所有数据、import代码 etc.
train.csv
、valid.csv
、test.csv
2.wordVectors_helpers
词向量生成结果 & 相关代码 etc.repo保持update,后续继续补全无关NLP下游任务的东西,同时对NLP下游任务分类整理模型,e.g. 文本分类任务、文本生成任务 etc.