Skip to content

km1994/Text_Classification_Study_Wp

Repository files navigation

自然语言处理基础知识学习

2、Feature extraction

介绍

  1. 基本文本处理技能 1.1 分词的概念(分词的正向最大、逆向最大、双向最大匹配法); 1.2 词、字符频率统计;(可以使用Python中的collections.Counter模块,也可以自己寻找其他好用的库)
  2. 语言模型 2.1 语言模型中unigram、bigram、trigram的概念; 2.2 unigram、bigram频率统计;(可以使用Python中的collections.Counter模块,也可以自己寻找其他好用的库)
  3. 文本矩阵化:要求采用词袋模型且是词级别的矩阵化 步骤有: 分词(可采用结巴分词来进行分词操作,其他库也可以);去停用词;构造词表。 每篇文档的向量化。
  4. 参考 结巴分词介绍和使用: GitHub - fxsjy/jieba: 结巴中文分词

Requrements

  • Python (>=3.5)

  • jieba

理论学习

结巴分词介绍和使用

算法代码链接

t2FeatureExtraction

3、Feature select 特征选择

介绍

  1. TF-IDF原理。
  2. 文本矩阵化,使用词袋模型,以TF-IDF特征值为权重。(可以使用Python中TfidfTransformer库)
  3. 互信息的原理。
  4. 使用第二步生成的特征矩阵,利用互信息进行特征筛选。

Requrements

  • Python (>=3.5)

  • jieba

  • sklearn

  • numpy

理论学习

TF-IDF原理及实现

互信息的原理及实践

算法代码链接

TF-IDF

文本矩阵化,使用词袋模型

互信息

4、传统机器学习及文本分类

介绍

  1. 朴素贝叶斯的原理
  2. 利用朴素贝叶斯模型进行文本分类
  3. SVM的原理
  4. 利用SVM模型进行文本分类
  5. pLSA、共轭先验分布;LDA主题模型原理
  6. 使用LDA生成主题特征,在之前特征的基础上加入主题特征进行文本分类

Requrements

  • Python (>=3.5)

  • jieba

  • sklearn

  • numpy

理论学习

1.利用朴素贝叶斯模型进行文本分类

2.利用SVM进行文本分类

3.pLSA、共轭先验分布;LDA主题模型原理

4.pLSA、共轭先验分布;LDA主题模型原理

算法代码链接

1.p1_dataloader 文本数据加载

2.p2_feature_extraction_onehot 基于onehot 的特征提取

3.p2_text_features_by_tfidf 基于 tfidf 的特征提取

4.p2_feature_extraction_mutual_info 基于 信息熵 的特征提取

5.p3_naive_bayes 利用朴素贝叶斯进行文本分类型

6.p3_svm 利用 SVN 进行文本分类型

7.p4_lda_study LDA主题

5、神经网络基础

介绍

  1. 前馈神经网络、网络层数、输入层、隐藏层、输出层、隐藏单元、激活函数的概念。
  2. 感知机相关;利用tensorflow等工具定义简单的几层网络(激活函数sigmoid),递归使用链式法则来实现反向传播。
  3. 激活函数的种类以及各自的提出背景、优缺点。(和线性模型对比,线性模型的局限性,去线性化)
  4. 深度学习中的正则化(参数范数惩罚:L1正则化、L2正则化;数据集增强;噪声添加;early stop;Dropout层)、正则化的介绍。
  5. 深度模型中的优化:参数初始化策略;自适应学习率算法(梯度下降、AdaGrad、RMSProp、Adam;优化算法的选择);batch norm层(提出背景、解决什么问题、层在训练和测试阶段的计算公式);layer norm层。

Requrements

  • Python (>=3.5)

  • numpy

理论学习

1.前馈神经网络、网络层数、输入层、隐藏层、输出层、隐藏单元、激活函数的概念

2.感知机相关;利用tensorflow等工具定义简单的几层网络(激活函数sigmoid),递归使用链式法则来实现反向传播

3.激活函数的种类以及各自的提出背景、优缺点。(和线性模型对比,线性模型的局限性,去线性化)

4.深度学习中的正则化

5.深度模型中的优化

6.深度模型中的优化

算法代码链接

6、简单神经网络

介绍

  1. 文本表示:从one-hot到word2vec。 1.1 词袋模型:离散、高维、稀疏。 1.2 分布式表示:连续、低维、稠密。word2vec词向量原理并实践,用来表示文本。

  2. 走进FastText 2.1 FastText的原理。 2.2 利用FastText模型进行文本分类。

Requrements

  • Python (>=3.5)

  • jieba

  • gensim

  • fasttext

  • pandas

  • sklearn

理论学习

1.简单神经网络

2.文本表示:从one-hot到word2vec

3.FastText 学习

算法代码链接

1.word2vec_study

2.fastText_word2vec

3.fastText_word2vec 基于 tfidf 的特征提取

4.fastText_text_classifier

5.classification

7、卷积神经网络 t7CNN

介绍

  1. 卷积运算的定义、动机(稀疏权重、参数共享、等变表示)。一维卷积运算和二维卷积运算。

  2. 反卷积(tf.nn.conv2d_transpose)

  3. 池化运算的定义、种类(最大池化、平均池化等)、动机。

  4. Text-CNN的原理。

  5. 利用Text-CNN模型来进行文本分类。

Requrements

  • Python (>=3.5)

  • jieba

  • gensim

  • fasttext

  • pandas

  • sklearn

  • tensorflow

理论学习

  1. 卷积运算的定义、动机

  2. 反卷积Deconvolution

  3. 池化运算的定义

  4. Text-CNN的原理

  5. 利用Text-CNN模型来进行文本分类

算法代码链接

1.利用Text-CNN模型来进行文本分类

8、循环神经网络 t8RNN

介绍

  1. RNN的结构。循环神经网络的提出背景、优缺点。着重学习RNN的反向传播、RNN出现的问题(梯度问题、长期依赖问题)、BPTT算法。

  2. 双向RNN

  3. 递归神经网络

  4. LSTM、GRU的结构、提出背景、优缺点。

  5. 针对梯度消失(LSTM等其他门控RNN)、梯度爆炸(梯度截断)的解决方案。

  6. Memory Network

  7. Text-RNN的原理

  8. 利用Text-RNN模型来进行文本分类

  9. Recurrent Convolutional Neural Networks(RCNN)原理

  10. 利用RCNN模型来进行文本分类

Requrements

  • Python (>=3.5)

  • jieba

  • tensorflow

理论学习

  1. RNN的结构。双向RNN

  2. 递归神经网络

  3. LSTM、GRU介绍,针对梯度消失、梯度爆炸的解决方案

  4. Memory Network

  5. Text-RNN的原理

  6. 利用Text-RNN模型来进行文本分类

  7. Recurrent Convolutional Neural Networks(RCNN)原理

算法代码链接

1.利用Text-RNN模型来进行文本分类

9、Attention原理 t9Attention

介绍

  1. 基本的Attention原理。参考翻译任务中的attention

  2. HAN的原理(Hierarchical Attention Networks)

  3. 利用Attention模型进行文本分类

Requrements

  • Python (>=3.5)

  • jieba

  • sklearn

  • tensorflow

理论学习

  1. 基本的Attention原理

  2. Attention!注意力机制模型最新综述(附下载)

算法代码链接

1.利用 Bi-LSTM+Attention 模型来进行文本分类

10、BERT t10bert

介绍

  1. Transformer的原理

  2. BERT的原理

  3. 利用预训练的BERT模型将句子转换为句向量,进行文本分类

Requrements

  • Python (>=3.5)

  • jieba

  • sklearn

  • tensorflow

理论学习

  1. Transformer的原理

  2. 放弃幻想,全面拥抱Transformer:NLP三大特征抽取器(CNN/RNN/TF)比较

  3. BERT

  4. 利用预训练的BERT模型将句子转换为句向量,进行文本分类

算法代码链接

1.Bert-THUCNews

About

Text_Classification_Study_Wp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published