NLP-progress 文本分类(Text Classification)基准指南:AG News、DBpedia、TREC 数据集与 SOTA 模型评测

NLP-progress 文本分类(Text Classification)基准指南:AG News、DBpedia、TREC 数据集与 SOTA 模型评测 NLP知识库文档【免费下载链接】NLP-progressRepository to track the progress in Natural Language Processing (NLP), including the datasets and the current state-of-the-art for the most common NLP tasks.项目地址https://gitcode.com/gh_mirrors/nl/NLP-progress点击查看免费下载本篇指南围绕 NLP-progress 仓库中的 english/text_classification.md 展开系统梳理文本分类任务的定义、三大经典基准数据集AG News、DBpedia、TREC的规模与评测口径以及各数据集上的 State-of-the-ArtSOTA模型排行。读完本文你将掌握这些数据集的标注结构、评测指标error rate / accuracy、模型对比表的使用方法并能借助仓库的 结构化导出工具 将这些排行榜转换为机器可读的 JSON 数据用于二次分析与研究引用。任务定义什么是文本分类文本分类Text classification是自然语言处理中最基础、应用最广泛的任务之一为给定的句子或文档分配一个合适的类别。类别取决于所选数据集与业务场景可以是从新闻主题如世界、体育、商业、科技、知识库实体类别如自然保护地、机场、天体等到开放域问题的语义类型如 ABBREVIATION、ENTITY、HUMAN、LOCATION、NUMERIC、DESCRIPTION等一系列标签。在 NLP-progress 中文本分类与其他任务情感分析、命名实体识别、问答等一样被组织为任务 → 数据集 → SOTA 排行表的结构。每个数据集小节包含数据集来源与规模描述评测指标说明error rate 越低越好或 accuracy 越高越好按评测结果排序的模型排行表最佳结果置顶每行给出模型名、分数、论文出处以及可选的官方Official或非官方Non Official代码实现链接。AG News新闻主题四分类基准AG News corpus 来源于 AGs corpus of news articles on the web选取其中规模最大的 4 个类别World、Sports、Business、Sci/Tech构建而成。每个类别包含30,000 条训练样本和 1,900 条测试样本共约 12 万条训练样本、7,600 条测试样本。模型统一以error rate错误率评测数值越低越好。该数据集是著名的字符级卷积网络论文Character-level Convolutional Networks for Text ClassificationZhang et al., 2015推出的经典基准后来被预训练语言模型大量沿用。截至本仓库收录时点的排行榜如下ModelErrorPaper / SourceCodeXLNet (Yang et al., 2019)4.49XLNet: Generalized Autoregressive Pretraining for Language UnderstandingOfficialULMFiT (Howard and Ruder, 2018)5.01Universal Language Model Fine-tuning for Text ClassificationOfficialCNN (Johnson and Zhang, 2016) *6.57Supervised and Semi-Supervised Text Categorization using LSTM for Region EmbeddingsOfficialDPCNN (Johnson and Zhang, 2017)6.87Deep Pyramid Convolutional Neural Networks for Text CategorizationOfficialVDCN (Alexis et al., 2016)8.67Very Deep Convolutional Networks for Text ClassificationNon OfficialChar-level CNN (Zhang et al., 2015)9.51Character-level Convolutional Networks for Text ClassificationNon Official* 该行结果引用自 Johnson and Zhang, 2017。从榜单演进可以看出文本分类的两条技术主线其一以 Char-level CNN、VDCN、DPCNN 为代表的卷积架构从字符级输入到深层金字塔卷积不断降低错误率其二以 ULMFiT、XLNet 为代表的预训练 微调范式通过语言模型预训练把错误率压到 5% 以下。该表也是 README 贡献规范中最佳结果置顶、按分数排序的典型示例见下文榜单表的维护约定。DBpedia知识库本体 14 类分类基准DBpedia ontology 数据集同样源自字符级卷积论文的实验设定从 DBpedia 本体中抽取14 个互不重叠的类别提供560,000 条训练样本和 70,000 条测试样本。评测指标为 error rate越低越好。ModelErrorPaper / SourceCodeXLNet (Yang et al., 2019)0.62XLNet: Generalized Autoregressive Pretraining for Language UnderstandingOfficialBidirectional Encoder Representations from Transformers (Devlin et al., 2018)0.64BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingOfficialULMFiT (Howard and Ruder, 2018)0.80Universal Language Model Fine-tuning for Text ClassificationOfficialCNN (Johnson and Zhang, 2016)0.84Supervised and Semi-Supervised Text Categorization using LSTM for Region EmbeddingsOfficialDPCNN (Johnson and Zhang, 2017)0.88Deep Pyramid Convolutional Neural Networks for Text CategorizationOfficialVDCN (Alexis et al., 2016)1.29Very Deep Convolutional Networks for Text ClassificationNon OfficialChar-level CNN (Zhang et al., 2015)1.55Character-level Convolutional Networks for Text ClassificationNon OfficialDBpedia 是少有的训练数据规模远超常见基准56 万训练样本的任务类别数也多14 类因此整体错误率远低于 AG News——即便 Char-level CNN 也仅 1.55%而 XLNet 已把错误率压到 0.62%。这一对比清楚说明在训练数据充足时模型架构与预训练带来的收益会显著压缩评测基准需要放在同类规模背景下解读。TREC开放域问题分类基准TREC dataset 是面向问题分类question classification的基准由开放域、基于事实的问题组成按宽泛的语义类别划分。它有两个版本TREC-66 个大类TREC-5050 个细粒度类别。两个版本均含5,452 条训练样本和 500 条测试样本但 TREC-50 的标签更细。原文档在正文中说明模型按 accuracy 评测而排行榜表头沿用 error 口径需要留意这一表述差异数值本身均为各论文报告值。TREC-6 排行ModelErrorPaper / SourceCodeUSE_TCNN (Cer et al., 2018)1.93Universal Sentence EncoderOfficialULMFiT (Howard and Ruder, 2018)3.6Universal Language Model Fine-tuning for Text ClassificationOfficialLSTM-CNN (Zhou et al., 2016)3.9Text Classification Improved by Integrating Bidirectional LSTM with Two-dimensional Max PoolingCNNMCFA (Amplayo et al., 2018)4Translations as Additional Contexts for Sentence ClassificationTBCNN (Mou et al., 2015)4Discriminative Neural Sentence Modeling by Tree-Based ConvolutionCoVe (McCann et al., 2017)4.2Learned in Translation: Contextualized Word VectorsTREC-6 榜单的特点是模型种类更丰富既有句子级编码器Universal Sentence Encoder CNN 的组合也有树结构卷积TBCNN、翻译上下文CoVe、CNNMCFA、双向 LSTM 2D 最大池化等结构。这说明问题分类这类短文本任务对语义编码方式高度敏感句子编码器的质量往往比单纯堆叠层数更重要。TREC-50 排行ModelErrorPaper / SourceCodeRules (Madabushi and Lee, 2016)2.8High Accuracy Rule-based Question Classification using Question Syntax and SemanticsSVM (Van-Tu and Anh-Cuong, 2016)8.4Improving Question Classification by Feature Extraction and SelectionTREC-50 是最能体现评测口径决定结论的例子在细粒度 50 类设定下基于问题句法与语义的规则系统2.8显著优于传统机器学习方法 SVM8.4且两者均未提供公开代码实现Code 列为空。该表也印证了 README 贡献规范中的约定Code列仅在实现可用时填写官方实现标注 Official非官方实现标注 Non Official无实现时留空。榜单表的维护约定与读取方式NLP-progress 之所以能长期稳定维护各任务排行榜依赖 README 中明确的贡献规范见 README.md 的 Contributing 章节这些约定同样约束着 text_classification.md 中的每一张表结果来源优先收录已发表论文中的结果有影响力的预印本preprint可作为例外数据集要求数据集除提出它的论文外至少还应被一篇已发表论文用作评测基准表格排序表格必须保持有序最佳结果置顶依次递减代码列官方实现标注[Official]非官方实现标注[Non Official]没有实现则留空表头约定标准表结构为Model | Score | Paper / Source | Code当数据集有多个指标时在Score右侧追加对应列如本页中的 Error、Accuracy。贡献者可以直接点击仓库文件右上角的编辑按钮以 Markdown 格式向对应表格追加一行并通过 Preview changes 预览后提交 Pull Request。新增任务或数据集时还需要在 README 的目录Table of contents中登记链接。从 Markdown 到结构化数据导出 SOTA 表格text_classification.md 中的表格虽然人读友好但难以被程序直接消费。仓库为此提供了结构化导出工具相关说明位于 structured/README.md核心实现是 structured/export.py。安装与运行要求 Python 3.6先创建虚拟环境并安装依赖virtualenv -p python3 venv source venv/bin/activate pip install -r requirements.txt从仓库根目录LICENSE 文件所在处运行参数为一个或多个文件或目录python structured/export.py english以上命令会解析english/目录下全部 Markdown 文件包括 text_classification.md默认将结果写入structured.json也可用--output指定输出文件名。解析原理与对表格格式的约束从源码结构看parse_markdown_file 按标题层级H1 任务 → H2 子任务 → H3 数据集切分文档并调用 extract_sota_table 解析每张排行榜。其核心解析假设包括SOTA 表至少必须包含一个 Model 列同时要求存在 Paper/Source 或 Paper 列否则该表会被跳过并输出错误信息表头中的其余列如 Error、Accuracy会被自动识别为指标metrics模型名通过(作者, 年份)模式拆分为 model_name 与作者信息见 extract_model_name_and_author表格行的 Paper 与 Code 单元格中的 Markdown 链接会被正则提取为结构化字段title url若一个数据集小节内出现多张 SOTA 表例如 TREC 下的 TREC-6 与 TREC-50则通过 handle_multiple_sota_table_exceptions 结合表前的子数据集标题行如 TREC-6:、TREC-50:做分组处理。这也反过来解释了本页表格格式的硬性约定表头必须包含 Model 与 Paper/Source 列、模型行必须带 (作者, 年份) 后缀、指标列必须位于表格前两列。任何偏离都会导致导出工具解析失败或在 stderr 中打印警告因此按上述约定维护表格不仅是规范要求也是机器可读性的前提。结合本页榜单的模型族速览汇总 AG News、DBpedia、TREC 三张榜单可以发现文本分类 SOTA 的更替主要来自四类技术预训练 TransformerXLNetAG News 4.49、DBpedia 0.62与 BERTDBpedia 0.64代表的自回归/双向自编码预训练范式在数据量适中的 AG News 上优势最明显通用语言模型微调ULMFiT以 2018 年的迁移学习三步法语言模型预训练 → 分类器微调 → 判别式微调在 AG News5.01与 TREC-63.6上均位居前列是预训练范式在文本分类上的早期代表作深度卷积网络Char-level CNN9.51 / 1.55、VDCN8.67 / 1.29、DPCNN6.87 / 0.88展示了从字符级输入到深层金字塔结构的卷积演进与 sentiment_analysis.md 中 Yelp 基准的模型阵容XLNet、BERT、ULMFiT、DPCNN、CNN、Char-level CNN高度一致说明这些模型是多个分类类任务共享的基准模型库传统方法余晖TREC-50 中的规则系统2.8与 SVM8.4说明在样本量小、类别细分的封闭设定下人工设计的句法与语义规则仍有竞争力。需要注意的是这些数值是各论文在当时实验设定下报告的结果直接跨行对比时应核对各自的数据划分与预处理细节例如 AG News 表格中标注 * 的 CNN 行即引自 Johnson and Zhang 2017 的重测结果。延伸阅读文本分类的姊妹任务情感分析同为分类任务、共享大量基准模型english/sentiment_analysis.md分类相关的其他任务入口全部任务清单见 README.md 的 English 目录结构化导出工具的完整安装与运行说明structured/README.md解析实现见 structured/export.py本地搭建 Jekyll 站点预览全部任务的说明jekyll_instructions.md赞分享NLP知识库文档【免费下载链接】NLP-progressRepository to track the progress in Natural Language Processing (NLP), including the datasets and the current state-of-the-art for the most common NLP tasks.项目地址https://gitcode.com/gh_mirrors/nl/NLP-progress点击查看免费下载相关推荐越南语 NLP 任务全景指南NLP-progress 仓库中的数据集、评测基准与 SOTA 模型越南语 NLP 任务全景指南NLP progress 仓库中的数据集、评测基准与 SOTA 模型 本文以 NLP progress 仓库中的 vietnameNLP知识库文档NLP-progress 文本简化Text Simplification技术全景任务定义、评估指标、核心数据集与 SOTA 模型排行NLP progress 文本简化Text Simplification技术全景任务定义、评估指标、核心数据集与 SOTA 模型排行 本文是 NLP prNLP知识库文档终极风扇控制指南如何让电脑静音又凉爽的完整教程终极风扇控制指南如何让电脑静音又凉爽的完整教程 还在为电脑风扇噪音而烦恼吗你是否遇到过深夜工作时风扇突然狂转或者游戏时散热不足导致性能下降FanContNLP知识库文档上一篇Zutilo项目在Zotero 7中添加快捷键的技术方案下一篇bilibili-api项目中的二维码登录事件处理优化分析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考