1)為什么使用對數似然函數作為損失函數?(解釋:“對數損失函數”與“極大似然估計下的對數似然函數”在本質上是等價的)
2) 自然語言處理中最重要的一個技術就是統計語言模型;
統計語言模型是用來確定一個句子的概率的概率模型,常用的包括:n-gram 模型和神經網絡;
n-gram模型本質上認為下一個詞的概率依賴於前面n-1個詞;於是需要根據語料庫,進行詞頻統計;考慮到特殊情況,需要利用平滑化進一步處理;
3)這里額外介紹一些機器學習的通用套路:
對特定問題建模時,先為其構造一個目標函數,然后對這個目標函數進行優化,從而求得一組最優參數,最后利用這組最優參數對應的模型來進行預測。
4)神經概率語言模型-->詞向量
5)通常機器學習的輸入是已知的,而在此處的神經概率語言模型中,輸入的詞向量也是訓練得到的。
6)神經網絡語言模型vs n-gram模型優勢:
- 詞語之間相似性可通過詞向量體現
- 詞向量模型自帶平滑化功能,其概率計算公式可以體現(softmax函數)
- 神經網絡語言模型也有其不足:里面有很多參數需要學習(隱藏層和輸出層之間)
7)詞向量:將自然語言以數學化的方式表示,使機器能夠識別
- one-hot
- distributied representation(LSA,LDA 都可以用來得到該表示)
8)詞向量和語言模型在訓練完后可同時得到
9)語言模型的一個評價指標是SENNA
10)詞向量在不同語言下,具有相似位置結構,可以用來進行不同語言間的翻譯
11)word2vec里的兩個重要模型:CBOW(連續詞袋模型)和Skip-gram模型
這兩個模型的作用剛好相反,CBOW是用目標單詞上下文(前后n個單詞)預測該目標單詞;Skip-gram是用目標單詞來預測上下文單詞。
針對這兩個模型,word2vec給出兩套框架來計算:hierarchical softmax 和 negative sampling
12)神經概率語言模型與CBOW模型在結構上有若干區別,雖然整體框架相似。
13) 既然CBOW和Skip-gram 都是用來學習詞向量,而且結構基本相似,除了思路相反以外,那么這兩個模型在下效果上怎樣?
(一種說法是cbow對低頻詞更有利,只要周圍詞訓練的好,目標低頻詞效果也相應提升;同時cbow比skip-gram更快)
14)Negative Sampling vs Hierarchical Softmax,更加簡化,大幅提高性能
負采樣算法:高頻詞被選為負樣本概率大,低頻詞就概率小
15)負采樣為何就能替代Hierarchical?而hierarchical中huffman tree的優勢又在哪里?它起到的作用是什么?(給不同詞頻的詞以不同的概率)(hierarchical 中並沒有考慮負例,只是使訓練集中的樣本似然度最大化)
16)word2vec的缺點是:沒有考慮語序