自然語言處理(NLP) - 數學基礎(1) - 總述


正如我在<2019年總結>里說提到的, 我將開始一系列自然語言處理(NLP)的筆記.

 

很多人都說, AI並不難啊, 調現有庫和雲的API就可以啦.

 

然而實際上並不是這樣的.

首先, AI這個領域十分十分大, 而且從1950年圖靈提出圖靈測試, 1956年達特茅斯會議開始, AI已經發展了五十多年了, 學術界有的認為有六個時期, 有的認為有三起二落.

所以Ai發展到今天, 已經有相當的規模了, 不可能有一個人熟悉AI的所有領域, 最多也就是熟悉相關聯的幾個領域, 比如NLP和OCR以及知識圖譜相關聯, 這已經頂天了.

所以我不敢說我會AI, 我只敢說我做過自然語言處理(NLP)項目.

換種我們所熟知的方式表達, AI就相當於.NET, .NET有七龍珠, 遍及web, 桌面, 移動端, 手游端等等, 一個人不可能熟悉所有領域, 能夠熟悉web和桌面端兩三個領域已經很頂天了.

當一個做慣了web和桌面端的程序員突然去做移動端和手游端, 因為缺乏對應領域的基礎知識, 是不能馬上上手的, 也是通不過面試的, 也就是為什么很少.NET程序員能夠從web和桌面端轉型做手游端一樣. 最典型一個問題, 讓一個做web的.NET程序員去做手游客戶端的自動尋路功能, 並不容易, 並不是調API就能解決的.

所以雖然我做過NLP項目, 現在讓我突然去做阿拉法狗, 我也是不行的.

我接觸到不少人做過NLP項目, 因為只會調現有庫和雲的API, 最終效果不佳, 不得不回退到用正則表達式處理的方式, 甚至乎類似於"價值一個億的AI核心代碼". 或者采取人工+智能的方式.

在此我並沒有嘲笑以上各種方法的意思, 畢竟第一我的水平也不怎么樣嘛, 第二正則表達式和人工+智能的方式的確臨時解決了部分問題.

但是人總是要有追求的, 就像Eric說的, 就算做咸魚都要做一條有理想的咸魚, 而且從長遠的角度來說還是要靠數學才能根本性的解決問題.

 

數學和AI一樣五花八門種類繁雜, 同樣是研究數學, 研究計算共形幾何和研究范疇論的兩個人是很難溝通的.

自然語言處理(NLP)對應的數學分支是概率論. 而概率論中又會用到微分和積分, 合稱微積分.

然而概率論子分類也很多, 這里就簡單列一下NLP所用到的概率論知識點吧:

  1. 概率(probability)
  2. 最大似然估計(maximum likelihood estimation)
  3. 條件概率(conditional probability)
  4. 全概率公式(full probability)
  5. 貝葉斯決策理論(Bayesian decision theory)
  6. 貝葉斯法則(Bayes' theorem)
  7. 二項式分布(binomial distribution)
  8. 期望(expectation)
  9. 方差(variance)

然而要弄懂上面9點, 還需要理解以下概念:

  1. 排列組合
  2. 頻率與概率
  3. 古典概型與幾何概型
  4. 條件概率
  5. 全概率公式
  6. 一維和二維離散型隨機變量
  7. 一維和二維連續隨機變量
  8. 協方差和相關系數
  9. 大數定律及中心極限定理
  10. 樣本與抽樣分布
  11. 點估計

后面我會對具體每個概念寫心得.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM