沈陽做網站的地方百度推廣怎么賺錢
1. 近義詞
方法一:在嵌入模型后,可以根據兩個詞向量的余弦相似度表示詞與詞之間在語義上的相似度。
方法二:KNN(K近鄰)
2. 類比詞
使用預訓練詞向量求詞與詞之間的類比關系。eg:man:woman;?son:daughter
對于類比關系中的4個詞,a:b?::?c:d,?給定前三個詞a、b、c,求第四個詞d?(vec(c)?+vec(b)?-?vec(a)?)
二、文本情感分類:使用循環(huán)神經網絡
使用文本情感分類來分析作者的情緒
- 分類數(shù)據集,特到特征向量
”1“表示“正面”,“0”表示“負面”。
- 使用雙向循環(huán)神經網絡對特征進一步編碼
- 將編碼通過全連接層變?yōu)檩敵?/span>
三、文本情感分類:使用卷積層(textCNN)
可以將文本當成一維圖像,從而可以用一維卷積神經網絡來捕捉臨近詞之間的關聯(lián)。
- 定義多個一維卷積核,并使用這些卷積核對輸入分別做卷積計算,寬度不同的卷積核可能會捕捉到不同個數(shù)的相鄰詞的相關性。
- 對輸出的所有通道分別做時序最大池化,再將這些通道的池化輸出值連接為向量。
- 通過全連接層將連接后的向量變換為有關各類別的輸出,這一步可以使用丟棄層應對過擬合。
相關模型:
1. 一維卷積層:從輸入數(shù)組的最左方開始,按從左到右的順序,依次在輸入數(shù)組上滑動。當滑動到某一位置時,窗口中輸入子數(shù)組與核數(shù)組按元素相乘并求和,得到輸出數(shù)組中相應位置的元素。0×1+1×2=2
2. 多輸入通道的一維互相關運算
2×(?1)+3×(?3)+1×3+2×4+0×1+1×2=2。
單輸入通道的二維互相關運算
3. 時序最大池化層
池化(pooling)的本質是采樣,選擇某種方式進行壓縮降維,以加快運算。
最大池化:求每個通道所有時間步中最大的數(shù)值。
時序最大池化層的輸入在各個通道上的時間步數(shù)可以不同,主要目的是抓取時序中最重要的特征,通常能使模型不受人為添加字符的影響。
四、機器翻譯(編碼器與解碼器(seq2seq);搜索;注意力機制)
1. 編碼器與解碼器(transformer;seq2seq)
輸入和輸出都可以是不定長序列,這時需要用到編碼器-解碼器(encoder-decoder)
編碼器:把一個不定長的輸入序列變換成一個定長的背景變量c。
解碼器:將中間變量輸出成條件概率。(輸入為上一步的輸出,以及背景變量c,并將它們與上一時間步的隱藏狀態(tài)St-1變換為當前時間步的隱藏狀態(tài)St)
最后最大化輸出序列的條件概率,對輸出序列損失的均值使用最小化損失函數(shù).
2.? 搜索
使用編碼器-解碼器預測不定長的序列。
貪婪搜索:對于輸出序列的每個時間步,從|y|個詞中搜索出條件概率最大的詞,核心思想是每次都選擇局部最優(yōu)解,但該算法并不能保證最后得出的結果是全局最優(yōu)解。
窮舉搜索:窮舉所有的輸出序列,輸出條件概率最大的序列,但是計算開銷很容易過大。
束搜索:通過靈活的束寬來衡量計算開銷和搜索質量。
在每一個時間步,不再只保留當前分數(shù)最高的1個輸出,而是保留num_beams個。當num_beams=1時集束搜索就退化成了貪心搜索。
下圖是一個實際的例子,每個時間步有ABCDE共5種可能的輸出,即,圖中的num_beams=2,也就是說每個時間步都會保留到當前步為止條件概率最優(yōu)的2個序列。
3. 注意力機制
用來自動學習和計算輸入數(shù)據對輸出數(shù)據的貢獻大小。
解碼器通過在各個時間步依賴的相同的背景變量來獲取輸入序列信息,當編碼器為循環(huán)神經網絡時,背景變量來自它最終時間步的隱藏狀態(tài)。
??????注意力機制在于,解碼器在每個時間步對輸入的不同信息(背景變量)分配不同的注意力。解碼器在每一時間步調整這些權重,即注意力權重。
?????關鍵的兩點在于,如何計算背景變量c,以及如何用它來更新隱藏狀態(tài)s。
引用:動手學機器學習 李沐