之前在做文本分类时,发现在不同业务上的文本分类流程是一致的,即输入输出一致,故把此抽离出来形成一个基础工具,方便对数据有基础的感知和对算法有基本的选型。不管你是做前端、后端还是算法,都可以拿来一试。
一、简介
本工具主要是基于scikit-learn和tensorflow-keras而形成,主要目的是为了提供更加简单快捷的baseline搭建流程。主要组件都是基于业务实践而选择的较为高效的方法。
(1)特征级别:字级别(char)和词级别(word)
(2)特征表示:词频、ngram、tfidf、word2vec等
(3)模型:贝叶斯、逻辑回归、fastText、TextCNN、TextRNN等
(4)模型集成:串联和并联等
(5)模型评估:precision_score、recall_score、f1_score等
二、使用
2.1 第三方包模式
python setup.py install(or develop) # 可以跟使用其他python程序包一样使用该工具包
2.2 命令行模式
# 模型训练
python youmin_textclassifier_train.py -n="test" -t="./data_sample/train_data.txt" -e="./data_sample/test_data.txt" -o="./data/"
# 模型预测
python youmin_textclassifier_predict.py -n="test" -o="./data/" -p="./data_sample/predict_data.txt" -d="./data/predict.txt"
2.3 项目引用包模式
cd examples
python3 classify.py base_on_list
python3 classify.py base_on_file
python3 classify.py base_on_dir
附录
[1] 感谢TextGrocery
[2] 项目详情页youmin_textclassifier,如果觉得对自己有帮助的小伙伴请帮忙star~~
[3] 个人博客DebugNLP,欢迎各路同学互相交流
[4] 本文所有代码只用于技术交流,拒绝任何商用活动,使用者如有任何问题、建议和意见,欢迎发邮件至 yongjin.weng@foxmail.com
网友评论