【关于 NLP】 那些你不知道的事
作者:杨夕
项目地址:https://github.com/km1994/nlp_paper_study
个人介绍:大佬们好,我叫杨夕,该项目主要是本人在研读顶会论文和复现经典论文过程中,所见、所思、所想、所闻,可能存在一些理解错误,希望大佬们多多指正。
目录
- 【关于 NLP】 那些你不知道的事
介绍
论文工具篇
- 问题
- 作为一名 scholar,你是否和我一样,在刚入门 NLP 时,对于陌生领域有种无从下手,心存畏惧?
- 作为一名 scholar,你是否还在发愁如何找好的论文?
- 作为一名 scholar,你是否还在为 自己 的 英文阅读 能力跟不上 很烦恼?
- 作为一名 scholar,你是否还在为 看到 一篇好paper,但是复现不出 code 而心累?
- 作为一名 scholar,你是否还在为 有Good idea,Outstanding Experimental results,Beautiful Chinese manuscript,结果 Bad English manuscript, Poor Journal 而奔溃?
- 作为一名 scholar,你是否在为搞科研没人交流而自闭?
- 当你看到这一篇文档,你将不在为这些问题而烦恼,因为我们为你准备了一整套免费的从 论文查找->论文翻译->论文理解->相关代码搜索->写英文稿->科研学术交流 的路径。
会议收集篇
NLP 学习篇
经典会议论文研读篇
- ACL2020
- 【关于 CHECKLIST】 那些你不知道的事
- 阅读理由:ACL2020 best paper ,利用 软件工程 的 ** 思考 深度学习
- 动机:针对 train-val-test 分割方法 评估 模型性能容易出现 不全面、偏向性、可解性差问题;
- 方法:提出了一种模型无关和任务无关的测试方法checklist,它使用三种不同的测试类型来测试模型的独立性。
- 效果:checklist揭示了大型软件公司开发的商业系统中的关键缺陷,表明它是对当前实践的补充好吧。测试使用 checklist 创建的模型可以应用于任何模型,这样就可以很容易地将其纳入当前的基准测试或评估中管道。
- 【关于 CHECKLIST】 那些你不知道的事
理论学习篇
经典论文研读篇
- 那些你所不知道的事
transformer 学习篇
- transformer_study transformer 论文学习
- 【关于Transformer】 那些的你不知道的事
- Transformer-XL
- Single Headed Attention RNN: Stop Thinking With Your Head 单头注意力 RNN: 停止用你的头脑思考
- Universal Transformers
- Style_Transformer
- ACL2020_Linformer
- 【关于 Performer 】 那些你不知道的事 【推荐阅读】
- 阅读理由:Transformer 作者 Krzysztof Choromanski 针对 Transformer 问题的重新思考与改进
- 动机:Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系;
- 思路:使用一个高效的(线性)广义注意力框架(generalized attention framework),允许基于不同相似性度量(核)的一类广泛的注意力机制。
- 优点:该方法在保持线性空间和时间复杂度的同时准确率也很有保证,也可以应用到独立的 softmax 运算。此外,该方法还可以和可逆层等其他技术进行互操作。
预训练模型篇
- Bert_study:Bert论文研读
- 【关于Bert】 那些的你不知道的事
- 阅读理由:NLP 的 创世之作
- 动机:word2vec 的多义词问题 && GPT 单向 Transformer && Elmo 双向LSTM
- 介绍:Transformer的双向编码器
- 思路:
- 预训练:Task 1:Masked LM && Task 2:Next Sentence Prediction
- 微调:直接利用 特定任务数据 微调
- 优点:NLP 所有任务上都刷了一遍 SOTA
- 缺点:
- [MASK]预训练和微调之间的不匹配
- Max Len 为 512
- 【关于 XLNet 】 那些你不知道的事
- 阅读理由:Bert 问题上的改进
- 动机:
- Bert 预训练和微调之间的不匹配
- Bert 的 Max Len 为 512
- 介绍:广义自回归预训练方法
- 思路:
- 预训练:
- Permutation Language Modeling【解决Bert 预训练和微调之间的不匹配】
- Two-Stream Self-Attention for Target-Aware Representations【解决PLM出现的目标预测歧义】
- XLNet将最先进的自回归模型Transformer-XL的**整合到预训练中【解决 Bert 的 Max Len 为 512】
- 微调:直接利用 特定任务数据 微调
- 预训练:
- 优点:
- 缺点:
- 【关于 RoBERTa】 那些你不知道的事
- 阅读理由:Bert 问题上的改进
- 动机:
- 确定方法的哪些方面贡献最大可能是具有挑战性的
- 训练在计算上是昂贵的的,限制了可能完成的调整量
- 介绍:A Robustly Optimized BERT Pretraining Approach
- 思路:
- 预训练:
- 去掉下一句预测(NSP)任务
- 动态掩码
- 文本编码
- 微调:直接利用 特定任务数据 微调
- 预训练:
- 优点:
- 缺点:
- 【关于 ELECTRA 】 那些的你不知道的事
- 阅读理由:Bert 问题上的改进 【不推荐阅读,存在注水!】
- 动机:
- 只有15%的输入上是会有loss
- 介绍:判别器 & 生成器 【但是最后发现非 判别器 & 生成器】
- 思路:
- 预训练:
- 利用一个基于MLM的Generator来替换example中的某些个token,然后丢给Discriminator来判别
- 微调:直接利用 特定任务数据 微调
- 预训练:
- 优点:
- 缺点:
- 【关于 Perturbed Masking: Parameter-free Probing for Analyzing and Interpreting BERT】 那些你不知道的事
- 【关于 GRAPH-BERT】 那些你不知道的事)
- 【关于自训练 + 预训练 = 更好的自然语言理解模型 】 那些的你不知道的事)
- 【关于Bert】 那些的你不知道的事
- 【关于 Bert 模型压缩】 那些你不知道的事
- 【关于 Bert 模型压缩】 那些你不知道的事
- 阅读理由:Bert 在工程上问题上的改进
- 动机:
- 内存占用;
- 功耗过高;
- 带来很高的延迟;
- 限制了 Bert 系列模型在移动和物联网等嵌入式设备上的部署;
- 介绍:BERT 瘦身来提升速度
- 模型压缩思路:
- 低秩因式分解:在输入层和输出层使用嵌入大小远小于原生Bert的嵌入大小,再使用简单的映射矩阵使得输入层的输出或者最后一层隐藏层的输出可以通过映射矩阵输入到第一层的隐藏层或者输出层;
- 跨层参数共享:隐藏层中的每一层都使用相同的参数,用多种方式共享参数,例如只共享每层的前馈网络参数或者只共享每层的注意力子层参数。默认情况是共享每层的所有参数;
- 剪枝:剪掉多余的连接、多余的注意力头、甚至LayerDrop[1]直接砍掉一半Transformer层
- 量化:把FP32改成FP16或者INT8;
- 蒸馏:用一个学生模型来学习大模型的知识,不仅要学logits,还要学attention score;
- 优点:BERT 瘦身来提升速度
- 缺点:
- 精度的下降
- 低秩因式分解 and 跨层参数共享 计算量并没有下降;
- 剪枝会直接降低模型的拟合能力;
- 量化虽然有提升但也有瓶颈;
- 蒸馏的不确定性最大,很难预知你的BERT教出来怎样的学生;
- 【关于 AlBert 】 那些你不知道的事
- 模型压缩方法:低秩因式分解 + 跨层参数共享
- 模型压缩方法介绍:
- 低秩因式分解:
- 动机:Bert的参数量大部分集中于模型的隐藏层架构上,在嵌入层中只有30,000词块,其所占据的参数量只占据整个模型参数量的小部分;
- 方法:将输入层和输出层的权重矩阵分解为两个更小的参数矩阵;
- 思路:在输入层和输出层使用嵌入大小远小于原生Bert的嵌入大小,再使用简单的映射矩阵使得输入层的输出或者最后一层隐藏层的输出可以通过映射矩阵输入到第一层的隐藏层或者输出层;
- 优点:在不显著增加词嵌入大小的情况下能够更容易增加隐藏层大小;
- 参数共享【跨层参数共享】:
- 动机:隐藏层 参数 大小 一致;
- 方法:隐藏层中的每一层都使用相同的参数,用多种方式共享参数,例如只共享每层的前馈网络参数或者只共享每层的注意力子层参数。默认情况是共享每层的所有参数;
- 优点:防止参数随着网络深度的增加而增大;
- 低秩因式分解:
- 其他改进策略:
- 句子顺序预测损失(SOP)代替Bert中的下一句预测损失(NSP):
- 动机:通过实验证明,Bert中的下一句预测损失(NSP) 作用不大;
- 介绍:用预测两个句子是否连续出现在原文中替换为两个连续的句子是正序或是逆序,用于进一步提高下游任务的表现
- 句子顺序预测损失(SOP)代替Bert中的下一句预测损失(NSP):
- 优点:参数量上有所降低;
- 缺点:其加速指标仅展示了训练过程,由于ALBERT的隐藏层架构采用跨层参数共享策略并未减少训练过程的计算量,加速效果更多来源于低维的嵌入层;
- 【关于 FastBERT】 那些你不知道的事
- 模型压缩方法:知识蒸馏
- 模型压缩方法介绍:
- 样本自适应机制(Sample-wise adaptive mechanism)
- 思路:
- 在每层Transformer后都去预测样本标签,如果某样本预测结果的置信度很高,就不用继续计算了,就是自适应调整每个样本的计算量,容易的样本通过一两层就可以预测出来,较难的样本则需要走完全程。
- 操作:
- 给每层后面接一个分类器,毕竟分类器比Transformer需要的成本小多了
- 思路:
- 自蒸馏(Self-distillation)
- 思路:
- 在预训练和精调阶段都只更新主干参数;
- 精调完后freeze主干参数,用分支分类器(图中的student)蒸馏主干分类器(图中的teacher)的概率分布
- 优点:
- 非蒸馏的结果没有蒸馏要好
- 不再依赖于标注数据。蒸馏的效果可以通过源源不断的无标签数据来提升
- 思路:
- 样本自适应机制(Sample-wise adaptive mechanism)
- 【关于 distilbert】 那些你不知道的事
- 【关于 TinyBert】 那些你不知道的事
- 模型压缩方法:知识蒸馏
- tinybert的创新点:学习了teacher Bert中更多的层数的特征表示;
- 模型压缩方法介绍:
- 基于transformer的知识蒸馏模型压缩
- 学习了teacher Bert中更多的层数的特征表示;
- 特征表示:
- 词向量层的输出;
- Transformer layer的输出以及注意力矩阵;
- 预测层输出(仅在微调阶段使用);
- bert知识蒸馏的过程
- 左图:整体概括了知识蒸馏的过程
- 左边:Teacher BERT;
- 右边:Student TinyBERT
- 目标:将Teacher BERT学习到的知识迁移到TinyBERT中
- 右图:描述了知识迁移的细节;
- 在训练过程中选用Teacher BERT中每一层transformer layer的attention矩阵和输出作为监督信息
- 左图:整体概括了知识蒸馏的过程
- 基于transformer的知识蒸馏模型压缩
- 【关于 Bert 模型压缩】 那些你不知道的事
细粒度情感分析论文研读
- LCF: A Local Context Focus Mechanism for Aspect-Based Sentiment Classification
主动学习论文研读
对抗训练论文研读
实体关系联合抽取论文研读:
- 【关于 实体关系联合抽取】那些你不知道的事
- Incremental Joint Extraction of Entity Mentions and Relations
- Joint Extraction of Entities and Relations Based on a Novel Decomposition Strategy
- GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction
- A Novel Hierarchical Binary Tagging Framework for Relational Triple Extraction
GCN 在 NLP 上的应用 论文研读:
命名实体识别论文研读:
- LatticeLSTM
- named entity recognition using positive-unlabeled learning
- GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction
- TENER: Adapting Transformer Encoder for Name Entity Recognition
- CrossWeigh从不完善的注释中训练命名实体标注器
- 利用词汇知识通过协同图网络进行中文命名实体识别
- 一点注释对引导低资源命名实体识别器有很多好处
- CGN: Leverage Lexical Knowledge for Chinese Named Entity Recognition via Collaborative Graph Network(EMNLP2019)
- Fine-Grained Entity Typing in Hyperbolic Space(在双曲空间中打字的细粒度实体)
- LR-CNN:CNN-Based Chinese NER with Lexicon Rethinking(IJCAI2019)
关系抽取论文研读:
- End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures【2016】
- ERNIE
- GraphRel
- R_BERT
- Task 1:全监督学习
- Task 2:远程监督学习
文本预处理
问答系统论文学习
- Lattice CNNs for Matching Based Chinese Question Answering
- LSTM-based Deep Learning Models for Non-factoid Answer Selection
- Denoising Distantly Supervised Open-Domain Question Answering
- FAQ retrieval using query-question similarity and BERT-based query-answer relevance
- DC-BERT : DECOUPLING QUESTION AND DOCUMENT FOR EFFICIENT CONTEXTUAL ENCODING
文本摘要论文学习
文本匹配论文学习
- 【关于 语义相似度匹配任务中的 BERT】 那些你不知道的事
- 阅读理由:BERT 在 语义相似度匹配任务 中的应用,可以由很多种方式,然而,你真的了解这些方式的区别和优缺点么?
- 动机:BERT 在 语义相似度匹配任务 中的应用,可以常用 Sentence Pair Classification Task:使用 [CLS]、cosine similairity、sentence/word embedding、siamese network 方法,那么哪种是最佳的方式呢?你是否考虑过呢?
- 【关于 MPCNN】 那些你不知道的事
- 论文:Multi-Perspective Sentence Similarity Modeling with Convolution Neural Networks
- 【关于 RE2】 那些你不知道的事
- 论文:Simple and Effective Text Matching with Richer Alignment Features
- 动机: 可以使用多个序列间比对层构建更强大的模型。 代替基于单个对准过程的比较结果进行预测,具有多个对准层的堆叠模型将保持其中间状态并逐渐完善其预测。但是,由于底层特征的传播效率低下和梯度消失,这些更深的体系结构更难训练。
- 介绍:一种快速强大的神经体系结构,具有用于通用文本匹配的多个对齐过程。 我们对以前文献中介绍的文本匹配方法中许多慢速组件的必要性提出了质疑,包括复杂的多向对齐机制,对齐结果的大量提炼,外部句法特征或当模型深入时用于连接堆叠块的密集连接。 这些设计选择会极大地减慢模型的速度,并且可以用重量更轻且效果相同的模型代替。 同时,我们重点介绍了有效文本匹配模型的三个关键组成部分。 这些组件(名称为RE2代表)是以前的对齐特征(残差矢量),原始点向特征(嵌入矢量)和上下文特征(编码矢量)。 其余组件可能尽可能简单,以保持模型快速,同时仍能产生出色的性能。
- 【关于 DSSM】 那些你不知道的事
- 论文:Deep Structured Semantic Model
- 论文会议:CIKM2013
- 问题:语义相似度问题
- 字面匹配体现
- 召回:在召回时,传统的文本相似性如 BM25,无法有效发现语义类 Query-Doc 结果对,如"从北京到上海的机票"与"携程网"的相似性、"快递软件"与"菜鸟裹裹"的相似性
- 排序:在排序时,一些细微的语言变化往往带来巨大的语义变化,如"小宝宝生病怎么办"和"狗宝宝生病怎么办"、"深度学习"和"学习深度";
- 使用 LSA 类模型进行语义匹配,但是效果不好
- 字面匹配体现
- 思路:
- 利用 表示层 将 Query 和 Title 表达为低维语义向量;
- 通过 cosine 距离来计算两个语义向量的距离,最终训练出语义相似度模型。
- 优点
- 减少切词的依赖:解决了LSA、LDA、Autoencoder等方法存在的一个最大的问题,因为在英文单词中,词的数量可能是没有限制,但是字母 n-gram 的数量通常是有限的
- 基于词的特征表示比较难处理新词,字母的 n-gram可以有效表示,鲁棒性较强;
- 传统的输入层是用 Embedding 的方式(如 Word2Vec 的词向量)或者主题模型的方式(如 LDA 的主题向量)来直接做词的映射,再把各个词的向量累加或者拼接起来,由于 Word2Vec 和 LDA 都是无监督的训练,这样会给整个模型引入误差,DSSM 采用统一的有监督训练,不需要在中间过程做无监督模型的映射,因此精准度会比较高;
- 省去了人工的特征工程;
- 缺点
- word hashing可能造成冲突
- DSSM采用了词袋模型,损失了上下文信息
- 在排序中,搜索引擎的排序由多种因素决定,由于用户点击时doc的排名越靠前,点击的概率就越大,如果仅仅用点击来判断是否为正负样本,噪声比较大,难以收敛
- 【关于 ABCNN 】那些你不知道的事
- 论文:ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs
- 会议:TACL 2016
- 论文方法:采用了CNN的结构来提取特征,并用attention机制进行进一步的特征处理,作者一共提出了三种attention的建模方法
- 【关于 ESIM 】那些你不知道的事
- 论文:Enhanced LSTM for Natural Language Inference
- 会议:TACL2017
- 自然语言推理(NLI: natural language inference)问题:
- 即判断能否从一个前提p中推导出假设h
- 简单来说,就是判断给定两个句子的三种关系:蕴含、矛盾或无关
- 论文方法:
- 模型结构图分为左右两边:
- 左侧就是 ESIM,
- 右侧是基于句法树的 tree-LSTM,两者合在一起交 HIM (Hybrid Inference Model)。
- 整个模型从下往上看,分为三部分:
- input encoding;
- local inference modeling;
- inference composition;
- Prediction
- 【关于 BiMPM 】那些你不知道的事
- 论文:Bilateral multi-perspective matching for natural language sentences
- 会议:IJCAI2017
- 方法:
- Word Representation Layer:其中词表示层使用预训练的Glove或Word2Vec词向量表示, 论文中还将每个单词中的字符喂给一个LSTM得到字符级别的字嵌入表示, 文中使用两者构造了一个dd维的词向量表示, 于是两个句子可以分别表示为 P:[p1,⋯,pm],Q:[q1,⋯,qn].
- Context Representation Layer: 上下文表示层, 使用相同的双向LSTM来对两个句子进行编码. 分别得到两个句子每个时间步的输出.
- Matching layer: 对两个句子PP和QQ从两个方向进行匹配, 其中⊗⊗表示某个句子的某个时间步的输出对另一个句子所有时间步的输出进行匹配的结果. 最终匹配的结果还是代表两个句子的匹配向量序列.
- Aggregation Layer: 使用另一个双向LSTM模型, 将两个匹配向量序列两个方向的最后一个时间步的表示(共4个)进行拼接, 得到两个句子的聚合表示.
- Prediction Layer: 对拼接后的表示, 使用全连接层, 再进行softmax得到最终每个标签的概率.
- 【关于 DIIN 】那些你不知道的事
- 论文:Densely Interactive Inference Network
- 会议:TACL2017
- 模型主要包括五层:嵌入层(Embedding Layer)、编码层(Encoding Layer)、交互层(Interaction Layer )、特征提取层(Feature Extraction Layer)和输出层(Output Layer)
- 【关于 DC-BERT】 那些你不知道的事
- 论文名称:DC-BERT : DECOUPLING QUESTION AND DOCUMENT FOR EFFICIENT CONTEXTUAL ENCODING
- 阅读理由:Bert 在 QA 上面的应用
- 动机:Bert 无法处理传入问题的高吞吐量,每个问题都有大量检索到的文档;
- 论文方法:具有双重BERT模型的解耦上下文编码框架:
- 一个在线BERT,仅对问题进行一次编码;
- 一个正式的BERT,对所有文档进行预编码并缓存其编码;
机器翻译论文学习
文本生成论文学习
对话系统论文学习
- 【关于 Domain/Intent Classification 】那些你不知道的事
- 【关于 槽位填充 (Slot Filling)】那些你不知道的事
- 【关于 上下文LU】那些你不知道的事
- 【关于 自然语言生成NLG 】那些你不知道的事
- 【关于 DSTC 】那些你不知道的事
- 【关于 E2E 】那些你不知道的事
rasa 学习
- 【关于 rasa 安装 】那些你不知道的事
- 【关于 rasa 基本架构 】那些你不知道的事
- 【关于 rasa中文对话系统】那些你不知道的事
- 【关于 rasa中文对话系统构建】那些你不知道的事
- 【关于 rasa->NLU 】那些你不知道的事
- 【关于 rasa -> Core -> FormAction 】那些你不知道的事
- 【关于 rasa -> Core -> Stories 】那些你不知道的事
- 【关于 rasa -> Core -> Action 】那些你不知道的事
视频学习篇
- CS224n 视频学习篇
- Lecture 1: Introduction and Word Vectors
- Lecture 2: Word Vectors and Word Senses
- Lecture 3: Word Window Classification, Neural Networks, and Matrix Calculus
- Lecture 4: Backpropagation
- Lecture 5: Dependency Parsing
- Lecture 6: Language Models and RNNs
- Lecture 7: Vanishing Gradients, Fancy RNNs
- Lecture 8: Translation, Seq2Seq, Attention
- Lecture 9: Practical Tips for Projects
- Lecture 10: Question Answering
- Lecture 11: Convolutional Networks for NLP
- Lecture 12: Subword Models
- Lecture 13: Contextual Word Embeddings
- Lecture 14: Transformers and Self-Attention
- Lecture 15: Natural Language Generation
- Lecture 16: Coreference Resolution
- Lecture 17: Multitask Learning
- Lecture 18: Constituency Parsing, TreeRNNs
- Lecture 19: Bias in AI
- Lecture 20: Future of NLP + Deep Learning
实战篇
-
- Scrapy 爬虫 实战篇:主要介绍使用 scrapy 构建网络爬虫,并爬去百度搜索引擎数据
Elastrsearch 学习篇
推荐系统 学习篇
竞赛篇
GCN_study学习篇
-
GCN 介绍篇
-
GCN 三剑客
-
经典篇
-
预训练篇
-
实战篇
ML 小白入门篇
Java 实战篇
百度百科 ES 全文检索平台构建 实战篇
- 项目目标
- 实现一个 基于 百度百科 的 ES 全文检索平台
- 项目流程
- step 1: 编写 网络爬虫 爬取 百度百科 数据;
- step 2: 爬取数据之后,需要进行预处理操作,清洗掉 文本中噪声数据;
- step 3: 将输入 导入 ES ;
- step 4: 利用 python 编写 后台,并 对 ES 进行查询,返回接口数据;
- step 5: ES 数据前端展示;
- step 6: 百度百科 知识图谱构建
- step 7:百度百科 知识图谱检索与展示
- 数据介绍:
- 本项目通过编写爬虫爬取 百度百科 数据,总共爬取 名称、链接、简介、中文名、外文名、国籍、出生地、出生日期、职业、类型、中文名称、代表作品、民族、主要成就、别名、毕业院校、导演、制片地区、主演、编剧、上映时间 等400多个 指标,共爬取数据 98000 条。
- 数据预处理模块
爬取的数据根据名称可以分为 人物、地点、书籍、作品、综艺节目等。
类别 | 指标量 | 数量 | 筛选方式 |
---|---|---|---|
人物 | 109 | 27319 | 国籍、职业、出生日期、出生地有一个不为空 |
地点 | 124 | 9361 | 地理位置、所属地区有一个不为空 |
书籍 | 45 | 3336 | 作者 不为空 |
作品 | 45 | 8850 | 主演为空,中文名称不为空 |
综艺节目 | 108 | 5600 | 主演、导演都不为空 |
面试篇
Leetcode 篇
DeepLearning-500-questions
大数据 实战篇
Spark 实战篇
-
1、wordCount
- 内容:运行原理,RDD设计,DAG,安装与使用
- 第1章 Spark的设计与运行原理(大概了解)
- 1.1 Spark简介
- 1.2 Spark运行架构
- 1.3 RDD的设计与运行原理
- 1.4 Spark的部署模式
- 第2章 Spark的安装与使用(主要内容)
- 2.1 Spark的安装和使用 (如果想在window上安装,参考https://blog.csdn.net/SummerHmh/article/details/89518567,之后可以用pyspark或者jupyter上进行学习)(地址有问题,可以使用这个https://www-eu.apache.org/dist/spark/spark-2.4.3/)
- 2.2 第一个Spark应用程序:WordCount
-
2、RDDStudy
- 内容:RDD编程,熟悉算子,读写文件
- 第3章 Spark编程基础
- 3.1 Spark入门:RDD编程
- 3.2 Spark入门:键值对RDD
- 3.3 Spark入门:共享变量(提升-分布式必备)
- 3.4 数据读写
- 3.4.1 Spark入门:文件数据读写
-
3、sparkSQLStudy
- 内容:DataFrame,SparkSQL
- 第4章
- 4.1 Spark SQL简介
- 4.2 DataFrame与RDD的区别
- 4.3 DataFrame的创建
- 4.4 从RDD转换得到DataFrame
-
4、Parquet_JDBC_IO_Study
-
5、MLlibStudy
- 内容:MLlib流设计,特征工程
- 第6章 Spark MLlib
- 6.1 Spark MLlib简介
- 6.2 机器学习工作流
- 6.2.1 机器学习工作流(ML Pipelines)
- 6.2.2 构建一个机器学习工作流
- 6.3 特征抽取、转化和选择
- 6.3.1 特征抽取:TF-IDF
- 6.3.4 特征变换:标签和索引的转化
- 6.3.5 特征选取:卡方选择器