必备编程技能:C语言、(C++ or JAVA or go)、python
必备数学技能:高等数学、线性代数、概率论
参考链接:
NLP任务分类
NLP任务分类分为自然语言理解(NLU)、自然语言生成(NLG)
NLP四大类任务
- 序列标注:分词/POS、Tag/NER/语义标注
- 分类任务:文本分类/情感分析
- 句子关系判断:文本蕴含、QA、自然语言推理
- 生成任务:机器翻译、文本摘要
- 文本分类
- 文本摘要
- 信息抽取
- 文本生成
- 机器翻译和多语言
- 情感分析和文体分析
- 预训练语言模型及应用
- 问答系统及检索
- 对话系统及阅读理解
- 语法、标记和解析
- 语音和多模态
- 句子级别语义和文本推理
- 分词、音韵学和形态学
理论基础
统计机器学习基础
课程(CS229公开课)、书籍(统计学习方法)
- 线性分类(感知机、逻辑回归、朴素贝叶斯)
- 支持向量机
- 决策树
- 隐马尔可夫模型
- 条件随机场
- 聚类方法
深度学习基础
课程(动手学深度学习、吴恩达深度学习)
- 词向量(Word2Vec、Glove、Fasttext)
- CNN、RNN(LSTM、GRU)
- 预训练模型(ELMO、GPT、BERT)
经典模型
文本分类
- MLP
- TextCNN
- TextRNN
- Attention
- BERT微调
序列标注
- LSTM + CRF
- Embedding Module(手工标注级别、字符级别、单词级别、句子级别)
- Encoder Module(RNN、CNN、GNN、Transformer)
- Decoder Module(Softmax、CRF、RNN)
文本匹配
文本匹配有双塔和单塔两种方法
文本生成
- Seq2Seq
- Seq2Seq + Attention
- Seq2Seq的transformer实现
- GPT2
- T5
根据兴趣学习VAE、GAN、RL等
语言模型
- GPT
- BERT
- XLNet
- ALBERT
- ELECTRA