vlambda博客
学习文章列表

【Github】NLPer-Interview: NLP 算法工程师相关的面试题


周末推荐一下老宋同学整理的Github项目:songyingxin/NLPer-Interview该仓库主要记录 NLP 算法工程师相关的面试题


https://github.com/songyingxin/NLPer-Interview



老宋目前是百度算法工程师,也是知乎老宋的茶书会专栏作者,以下主要来自老宋对该仓库的描述,点击"阅读原文"直达该仓库主页面,推荐Star,内容相当丰富。




本仓库主要记录本人对 NLP 相关知识的积累,之前笔记做的很多,考虑到秋招已至, 在复习的过程中, 慢慢将这些知识屡清楚,然后将相关的知识笔记整理成专题,来帮助我更好的复习。

同时,开源出来,希望大家能帮助我补一补相关的技术栈,看看我哪方面比较弱,同时也帮助诸位秋招中的伙伴更好的复习。如果希望一起做的同学,可以联系我, 毕竟一个人做这么多,的确有点难,还好我前期笔记做的比较全。


推荐使用 Typora 编辑器打开, 所见即所得。

Contents

1. 编程语言基础

该文件夹下主要记录 python 和 c++ 的一些语言细节, 毕竟这两大语言是主流,基本是都要会的,目前还在查缺补漏中。

  • C++面试题

  • Python 面试题

2. 数学基础

该文件夹下主要记录一些数学相关的知识,包括高数,线性代数,概率论与信息论, 老宋亲身经历,会问到, 目前尚在查缺补漏中。

  • 概率论

  • 高等数学

  • 线性代数

  • 信息论

3. 计算机基础理论知识

这部分内容一般不怎么考,因此,没有把重心放在上面,至少现在几乎没有遇到问这方面的, 有意思的是,投了阿里某部的NLP算法,居然来了个不懂NLP的来面,全程真的瞎聊,全是开发。

4. 机器学习基础

这部分已经开始进入正题了,事实证明,部分大厂会提及一些基础的机器学习算法知识,因此,这部分我觉得几个核心的模型是要会的。

  • 机器学习项目流程

  • 判别模型 vs 生成模型

  • 频率派 vs 贝叶斯派

  • 数据预处理

  • 特征工程

  • 特征工程-关联规

  • 模型 - SVM

  • 模型 - 聚类算法

  • 模型 - 决策树

  • 模型 - 逻辑回归

  • 模型 - 朴素贝叶斯

  • 模型 - 随机森林

  • 模型 - 线性回归

5. 深度学习基础

这部分主要讲述深度学习方面的基础知识,是核心点,但很多情况下,很多面试官的题基本差不多,不过我个人觉得,有这种全局的,全面的知识框架是有益的。

  • 深度学习项目流程

5.1 基础理论部分

  • 基础理论 - 多任务学习

  • 基础理论 - 集成学习

  • 基础理论 - 分类问题评估指标

  • 基础理论 - 距离度量方法

  • 基础理论 - 目标函数,损失函数,代价函数

  • 基础理论 - 偏差 vs 方差,欠拟合 vs 过拟合

  • 基础理论 - 数据角度看深度学习

  • 基础理论 - 梯度消失,梯度爆炸问题

  • 基础理论 - 维数灾难问题

  • 基础理论 - 指数加权平均

  • 基础理论- 局部最小值,鞍点

  • 基础理论 - 集成学习

  • 基础理论 - 集成学习

5.2 基本单元

  • 基本单元 - CNN

  • 基本单元 - MLP

  • 基本单元 - RNN

5.3 调参相关

  • 调参 - 超参数调优

  • 调参 - 激活函数

  • 调参 - 权重初始化方案

  • 调参 - 优化算法

5.4 Tricks

  • Trick - Dropout

  • Trick - Normalization

  • Trick - 融合训练集,验证集,测试集

  • Trick - 提前终止

  • Trick - 学习率衰减

  • Trick - 正则化

6. 统计自然语言处理

这部分前期的笔记做的不多,因此还没怎么开始。

7. 深度学习自然语言处理

这部分算是核心的知识了,这部分还需要逐渐完善,时间有点紧啊。

  • 文本数据预处理

  • 各大任务的评价指标

  • 改进 NLP 模型的一些思路

7.1 词向量三部曲

  • 词向量 - Word2Vec

  • 词向量 - Glove

  • 词向量 - FastText

7.2 预训练语言模型

  • 预训练语言模型 - BERT改进研究

  • 预训练语言模型 - 融入知识图谱

  • 预训练语言模型 - 自然语言生成

7.3 Attention 机制

7.4 文本分类

7.5 语义匹配

7.6 阅读理解

8. 源码阅读

这部分主要推荐一些自己阅读过的一些源码,有些源码是 NLP 相关, 有些是深度学习相关的,部分源码我个人有做注释,会相应的列出来。

9 . 老宋渣渣算法面经

这部分主要是自己面试过程中的一些感悟, 哎, 快面到自闭了。

Reference

[1] DeepLearning-500-questions -- 一个很好的仓库

[2] Algorithm_Interview_Notes-Chinese -- 知识比较旧了,但也很好

其他主要是自己的日常积累和看的论文。


推荐阅读










关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。