天天看點

【資源】NLP 算法工程師相關的面試題

作者 | songyingxin

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

本項目記錄了面試NLP算法工程師常會遇到的問題。

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 相關, 有些是深度學習相關的,部分源碼我個人有做注釋,會相應的列出來。

原文連結:

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