- 基本文本处理技能 1.1 分词的概念(分词的正向最大、逆向最大、双向最大匹配法); 1.2 词、字符频率统计;(可以使用Python中的collections.Counter模块,也可以自己寻找其他好用的库)
- 语言模型 2.1 语言模型中unigram、bigram、trigram的概念; 2.2 unigram、bigram频率统计;(可以使用Python中的collections.Counter模块,也可以自己寻找其他好用的库)
- 文本矩阵化:要求采用词袋模型且是词级别的矩阵化 步骤有: 分词(可采用结巴分词来进行分词操作,其他库也可以);去停用词;构造词表。 每篇文档的向量化。
- 参考 结巴分词介绍和使用: GitHub - fxsjy/jieba: 结巴中文分词
-
Python (>=3.5)
-
jieba
- TF-IDF原理。
- 文本矩阵化,使用词袋模型,以TF-IDF特征值为权重。(可以使用Python中TfidfTransformer库)
- 互信息的原理。
- 使用第二步生成的特征矩阵,利用互信息进行特征筛选。
-
Python (>=3.5)
-
jieba
-
sklearn
-
numpy
- 朴素贝叶斯的原理
- 利用朴素贝叶斯模型进行文本分类
- SVM的原理
- 利用SVM模型进行文本分类
- pLSA、共轭先验分布;LDA主题模型原理
- 使用LDA生成主题特征,在之前特征的基础上加入主题特征进行文本分类
-
Python (>=3.5)
-
jieba
-
sklearn
-
numpy
2.p2_feature_extraction_onehot 基于onehot 的特征提取
3.p2_text_features_by_tfidf 基于 tfidf 的特征提取
4.p2_feature_extraction_mutual_info 基于 信息熵 的特征提取
5.p3_naive_bayes 利用朴素贝叶斯进行文本分类型
- 前馈神经网络、网络层数、输入层、隐藏层、输出层、隐藏单元、激活函数的概念。
- 感知机相关;利用tensorflow等工具定义简单的几层网络(激活函数sigmoid),递归使用链式法则来实现反向传播。
- 激活函数的种类以及各自的提出背景、优缺点。(和线性模型对比,线性模型的局限性,去线性化)
- 深度学习中的正则化(参数范数惩罚:L1正则化、L2正则化;数据集增强;噪声添加;early stop;Dropout层)、正则化的介绍。
- 深度模型中的优化:参数初始化策略;自适应学习率算法(梯度下降、AdaGrad、RMSProp、Adam;优化算法的选择);batch norm层(提出背景、解决什么问题、层在训练和测试阶段的计算公式);layer norm层。
-
Python (>=3.5)
-
numpy
1.前馈神经网络、网络层数、输入层、隐藏层、输出层、隐藏单元、激活函数的概念
2.感知机相关;利用tensorflow等工具定义简单的几层网络(激活函数sigmoid),递归使用链式法则来实现反向传播
3.激活函数的种类以及各自的提出背景、优缺点。(和线性模型对比,线性模型的局限性,去线性化)
5.深度模型中的优化
6.深度模型中的优化
-
文本表示:从one-hot到word2vec。 1.1 词袋模型:离散、高维、稀疏。 1.2 分布式表示:连续、低维、稠密。word2vec词向量原理并实践,用来表示文本。
-
走进FastText 2.1 FastText的原理。 2.2 利用FastText模型进行文本分类。
-
Python (>=3.5)
-
jieba
-
gensim
-
fasttext
-
pandas
-
sklearn
1.简单神经网络
3.fastText_word2vec 基于 tfidf 的特征提取
-
卷积运算的定义、动机(稀疏权重、参数共享、等变表示)。一维卷积运算和二维卷积运算。
-
反卷积(tf.nn.conv2d_transpose)
-
池化运算的定义、种类(最大池化、平均池化等)、动机。
-
Text-CNN的原理。
-
利用Text-CNN模型来进行文本分类。
-
Python (>=3.5)
-
jieba
-
gensim
-
fasttext
-
pandas
-
sklearn
-
tensorflow
-
RNN的结构。循环神经网络的提出背景、优缺点。着重学习RNN的反向传播、RNN出现的问题(梯度问题、长期依赖问题)、BPTT算法。
-
双向RNN
-
递归神经网络
-
LSTM、GRU的结构、提出背景、优缺点。
-
针对梯度消失(LSTM等其他门控RNN)、梯度爆炸(梯度截断)的解决方案。
-
Memory Network
-
Text-RNN的原理
-
利用Text-RNN模型来进行文本分类
-
Recurrent Convolutional Neural Networks(RCNN)原理
-
利用RCNN模型来进行文本分类
-
Python (>=3.5)
-
jieba
-
tensorflow
-
基本的Attention原理。参考翻译任务中的attention
-
HAN的原理(Hierarchical Attention Networks)
-
利用Attention模型进行文本分类
-
Python (>=3.5)
-
jieba
-
sklearn
-
tensorflow
1.利用 Bi-LSTM+Attention 模型来进行文本分类
-
Transformer的原理
-
BERT的原理
-
利用预训练的BERT模型将句子转换为句向量,进行文本分类
-
Python (>=3.5)
-
jieba
-
sklearn
-
tensorflow