文本分类(一)
从0开始搭建一个文本分类系统。
CoreJT
中科院自动化所在读直博生,感兴趣的研究方向:文本分类、情感分析、机器阅读理解与问答系统以及对话系统。
展开
-
文本分类(一) | (9) 项目组织结构
项目Github地址在学习某个深度学习框架时,掌握其基本知识和接口固然重要,但如何合理组织代码,使得代码具有良好的可读性和可扩展性也必不可少。本文不会深入讲解过多知识性的东西,更多的则是传授一些经验,关于如何使得自己的程序更pythonic,更符合pytorch的设计理念。这些内容可能有些争议,因其受我个人喜好和coding风格影响较大,你可以将这部分当成是一种参考或提议,而不是作为必须遵循的...原创 2019-12-21 22:17:09 · 5544 阅读 · 1 评论 -
文本分类(一) | (8) DPCNN
项目Github地址本篇博客主要介绍基于DPCNN的文本分类算法的原理及实现细节。目录1. 分类原理2. 实现细节1. 分类原理ACL2017年中,腾讯AI-lab提出了Deep Pyramid Convolutional Neural Networks for Text Categorization(DPCNN)。论文中提出了一种基于word-level级别的网络-DPC...原创 2019-12-21 22:17:07 · 1405 阅读 · 0 评论 -
文本分类(一) | (7) 多层双向LSTM with Attention
项目Github地址本篇博客主要介绍基于多层双向LSTM with Attention的文本分类算法的原理及实现细节。目录1. 分类原理2. 实现细节1. 分类原理多层双向LSTM with Attention对多层双向LSTM模型做了一些改进,不再单纯地只利用最后时刻的隐藏状态(两个方向最后时刻隐藏状态拼接)进行分类,而是考虑每个时间步的隐藏状态,对每个时间步的隐藏状...原创 2019-12-21 22:17:01 · 3254 阅读 · 5 评论 -
文本分类(一) | (6) 多层双向LSTM
项目Github地址本篇博客主要介绍基于多层双向LSTM的文本分类算法的原理及实现细节。目录1. 分类原理2. 实现细节1. 分类原理对于输入文本序列,在LSTM的每个时间步输入序列中一个单词的嵌入表示,计算当前时间步的隐藏状态,用于当前时间步的输出以及传递给下一个时间步和下一 个单词的词向量一起作为LSTM单元输入,然后再计算下一个时间步的LSTM隐藏状态,以此重复...原创 2019-12-21 22:16:48 · 4460 阅读 · 1 评论 -
文本分类(一) | (5) RCNN
项目Github地址本篇博客主要介绍基于RCNN的文本分类算法的原理及实现细节。目录1. 分类原理2. 实现细节1. 分类原理上图中中间是输入文本中每个单词的嵌入表示,左右使用双向RNN分别学习当前词的左上下文表示和右上下文表示,与当前词本身的词向量连接,构成后续卷积层的输入。具体如下:与TextCNN比较类似,都是把文本表示为一个嵌入矩阵,再进行卷积操作。不...原创 2019-12-21 22:16:43 · 761 阅读 · 0 评论 -
文本分类(一) | (4) TextCNN
项目Github地址本篇博客主要介绍基于TextCNN的文本分类算法的原理及实现细节。目录1. 分类原理2. 实现细节1. 分类原理TextCNN可以从两个角度来解读,既可以把它看作但输入通道的2维卷积也可以把它看作多输入通道的1维卷积(其中词嵌入维度为通道维),二者其实是等价的。如果把它看作一个单输入通道的2维卷积的话,它的分类流程就如上图所示。1)把输入文...原创 2019-12-19 18:16:45 · 936 阅读 · 1 评论 -
文本分类(一) | (3) FastText
项目Github地址本篇博客主要介绍基于FastText的文本分类算法的原理及实现细节。目录1. 分类原理2.实现细节1. 分类原理输入样本是一系列整数索引(),对应词典中相应的词,通过embedding 得到每个词对应的词向量。对样本(文本)中每个词对应的词向量求平均,再通过一个全连接层进行分类即可。2.实现细节class FastText(BasicM...原创 2019-12-19 18:06:16 · 759 阅读 · 0 评论 -
文本分类(一) | (2) 数据集及预处理
项目Github地址我们的文本分类系统使用的是THUCnews数据集。目录1. 数据集简介2. 数据预处理3. 具体细节1. 数据集简介THUCNews是根据新浪新闻RSS订阅频道2005~2011年间的历史数据筛选过滤生成,包含74万篇新闻文档(2.19 GB),均为UTF-8纯文本格式。我们在原始新浪新闻分类体系的基础上,重新整合划分出14个候选分类类别:财经、彩票...原创 2019-12-19 19:23:32 · 9477 阅读 · 5 评论 -
文本分类(一) | (1) 任务定义
项目Github地址近年来,文本的数量呈指数增长,为了能在许多应用中准确地对文本进行分类,需要对机器学习方法有更深入的了解。许多机器学习方法在自然语言处理方面都取得了突破性的结果。这些学习算法的成功取决于其拟合数据中存在的非线性关系的能力。然而,寻找一种普适、通用的文本分类技术对研究人员来说仍然是一个巨大的挑战。在文本分类专栏系列博客中,我将系统的介绍如何搭建一个完整的文本分类系统,包括数...原创 2019-12-19 17:56:26 · 3574 阅读 · 0 评论