1. 程式人生 > >自然語言處理基礎知識

自然語言處理基礎知識

1.假設句子按單詞順序為w1,w2,...,wn ,那麼這個句子的概率公式為?
句子S在語料庫中出現的概率P(S)=P(w1,w2,w3...wn)。根據條件概率公式P(w1,w2,w3...wn)=P(w1)*P(w2|w1)*p(w3|w1,w2)...P(wn|w1,w2...w(n-1))。
2.是否句子越長概率就越低?為什麼?
3.一個語言模型的困惑度是怎麼計算的?是什麼意義?
理論方法:迷惑度/困惑度/混亂度(preplexity),其基本思想是給測試集的句子賦予較高概率值的語言模型較好,當語言模型訓練完之後,測試集中的句子都是正常的句子,那麼訓練好的模型就是在測試集上的概率越高越好,公式如下:
由公式可知,迷惑度越小,句子概率越大,語言模型越好

4.神經網路的語言模型相對N-Gram模型有哪些改進的地方?實際的應用情況如何?
5.Word2Vec中skip-gram,cbow兩者比較的優缺點是哪些?
6.HMM, CRF兩者比較的優缺點是哪些?
7.Blue評價指標是幹嘛用的?他考慮了哪些因素?缺點是什麼?
8.做一個翻譯模型,如果輸出的詞典很大,例如有100萬個詞,要怎麼解決這個計算量問題?
9.什麼是交叉熵?和KL距離有什麼關係?
10.sgd, momentum, adagrad, adam這些優化演算法之間的關係和區別是怎樣的?分別適用於什麼場景
11.理論上兩層的神經網路可以擬合任意函式,為什麼現在大多數是用多層的神經網路?
12.生成模型和判別模型兩者差別是啥?分別適用於什麼場景?
13.AUC的評估指標是怎麼定義的?如果計算的AUC結果<0.5,主要是什麼原因導致的?
14.邏輯迴歸和線性迴歸的區別是啥?適用場景分別是?
15.編碼實現softmax