深度學習核心技術實戰 NLP-word2vec

多分類的邏輯迴歸- softmax模型 word2vec:詞向量 one-hot representation 對應位置爲1,但不能表達詞之間的關係 本質上是對詞的一種表示,但是是結合了上下文內容的。無監督模型 詞的兩種表示: One-hot Representation(獨熱表示) “蘋果”表示爲 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 …] 優點:簡介,缺點:詞之間是孤立的,維數災難。 Distributed Representation(分佈式表示) 詞向量或者詞嵌入(word embedding)是用一個向量來表示一個詞,一定程度上可以用來刻畫詞之間的語義距離。 給出一個文檔,用一個單詞序列比如 “我喜歡蘋果”,然後對文檔中每個不同的單詞都得到一個對應的低維向量表示,“蘋果”表示爲 [0.11, −0.77, −0.71, 0.10, −0.50, …]。 優點:低維、相似詞的詞向量距離相近,缺點:計算複雜。

n-gram n=1上下文無關 n=5往前看4個詞(n-1)。 n-gram n=2 bigram模型 無法建模出詞之間的相似度,只能有前後的轉換概率。出現沒有見過的需要用laplace平滑。或者回退法。 訓練目標一般都爲最大似然+正則項,對最大似然的相反數可進行隨機梯度下降優化。輸出層爲softmax。 基於決策樹的,是否是xx詞性,是否是XX詞 最大熵模型:又叫指數模型,softmax形式。在只掌握關於未知分佈的部分知識時,應當選取符合這些知識的但又能使得熵最大的概率分佈。

自適應語言模型 單獨訓練一個局部模型,將全局和偵測到這個局部模型的區域用混合模型去解決。

CBOW continuous bag of words 連續詞袋模型 使用當前預測詞彙的前後各k個詞(k爲window-b,b爲一個隨機數) 一起輸入到神經網絡中projection中 再輸出。 實際操作爲上下文詞向量(已經轉換成向量的詞)的加和。Neu1表示隱層向量。

有兩種:hierarchical softmax negative sampling

Skip-gram模型: Skip gram模型詞語指示方向與CBOW相反預測概率p(wi|wt) t-c<i<t+c 輸出的是w(t+c) ~w(t-c)的概率 使用softmax輸出。會計算窗口內兩兩之間的概率 Skip-gram每個詞都表徵了上下文的分佈skip指在一定窗口內的詞都會兩兩計算概率 即使間隔一些詞也會容易識別爲相同的短語。 Hierarchical softmax:藉助分類的概念 對這些詞按照類別區分 二叉樹:使用二分類近似多分類 Word2vec中使用huffman編碼(一定的聚類思想)構造一連串的二分類 Negative sampling:使用one-versus-one近似二分類 採樣一些負例 不想把分母中的所有詞都算一遍,就採樣計算,採樣多少就是模型中負例的個數,按照詞頻對應的概率分佈來隨機抽樣。 GloVe LDA(Latent Dirichlet Allocation) PLSA(概率模型) LSA(潛在語義模型)用於生成詞向量。這些模型對全局信息應用充分但是對詞之間的關聯體現不出來,GloVe是一種矩陣分解方法,結合了LFM(Latent Factor Model)只是分解對象變爲共現頻率的對數,對高低頻做了一定的權重調整。Global vectors for word representation

結論:

word2vec去掉了非線性隱層 huffman相當於做了一定的聚類,越高頻計算量越小; 採用negative sampling、隨機梯度算法 不需要反覆迭代 利用一些編程技巧 指數運算的與計算 高頻詞亞採樣, 方便實行並行化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章