日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

通俗易懂word2vec详解词嵌入-深度学习

發布時間:2023/11/28 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通俗易懂word2vec详解词嵌入-深度学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://blog.csdn.net/just_so_so_fnc/article/details/103304995
skip-gram 原理沒看完

https://blog.csdn.net/Jemila/article/details/72831640
skip-gram源碼解析

https://blog.csdn.net/itplus/article/details/37969519
基礎

https://blog.csdn.net/weixin_41843918/article/details/90312339
skip-gram 重點

https://blog.csdn.net/qq_24003917/article/details/80389976

skip-gram

https://zhuanlan.zhihu.com/p/35500923

https://blog.csdn.net/u011748542/article/details/85880852
gensim.models.word2vec 參數說明

前言

自從Mikolov在他2013年的論文“Efficient Estimation of Word Representation in Vector Space”提出詞向量的概念后,NLP領域仿佛一下子進入了embedding的世界,Sentence2Vec、Doc2Vec、Everything2Vec。詞向量基于語言模型的假設——“一個詞的含義可以由它的上下文推斷得出“,提出了詞的Distributed Representation表示方法。相較于傳統NLP的高維、稀疏的表示法(One-hot Representation),Word2Vec訓練出的詞向量是低維、稠密的。Word2Vec利用了詞的上下文信息,語義信息更加豐富,目前常見的應用有:

  1. 使用訓練出的詞向量作為輸入特征,提升現有系統,如應用在情感分析、詞性標注、語言翻譯等神經網絡中的輸入層。
  2. 直接從語言學的角度對詞向量進行應用,如使用向量的距離表示詞語相似度、query相關性等。
    注:前言部分內容來自參考文獻1。

1.什么是word2vec

如果用一句比較簡單的話來總結,word2vec是用一個一層的神經網絡(即CBOW)把one-hot形式的稀疏詞向量映射稱為一個n維(n一般為幾百)的稠密向量的過程。為了加快模型訓練速度,其中的tricks包括Hierarchical softmax,negative sampling, Huffman Tree等。

在NLP中,最細粒度的對象是詞語。如果我們要進行詞性標注,用一般的思路,我們可以有一系列的樣本數據(x,y)。其中x表示詞語,y表示詞性。而我們要做的,就是找到一個x -> y的映射關系,傳統的方法包括Bayes,SVM等算法。但是我們的數學模型,一般都是數值型的輸入。但是NLP中的詞語,是人類的抽象總結,是符號形式的(比如中文、英文、拉丁文等等),所以需要把他們轉換成數值形式,或者說——嵌入到一個數學空間里,這種嵌入方式,就叫詞嵌入(word embedding),而 Word2vec,就是詞嵌入( word embedding) 的一種。

在 NLP 中,把 x 看做一個句子里的一個詞語,y 是這個詞語的上下文詞語,那么這里的 f,便是 NLP 中經常出現的『語言模型』(language model),這個模型的目的,就是判斷 (x,y) 這個樣本,是否符合自然語言的法則,更通俗點說就是:詞語x和詞語y放在一起,是不是人話。

Word2vec 正是來源于這個思想,但它的最終目的,不是要把 f 訓練得多么完美,而是只關心模型訓練完后的副產物——模型參數(這里特指神經網絡的權重),并將這些參數,作為輸入 x 的某種向量化的表示,這個向量便叫做——詞向量。
(上面部分內容來自參考文獻2)

2.CBOW與Skip-Gram

word2vec里面有兩個重要的模型-CBOW模型(Continuous Bag-of-Words Model)與Skip-gram模型。在Tomas Mikolov的paper中給出了示意圖。

由名字與圖都很容易看出來,CBOW就是根據某個詞前面的C個詞或者前后C個連續的詞,來計算某個詞出現的概率。Skip-Gram Model相反,是根據某個詞,然后分別計算它前后出現某幾個詞的各個概率。

上一張圖,可以比較清楚地看清楚CBOW的訓練過程。

(圖片來自網絡)

把這張圖看懂,基本word2vec就懂了一大半。下面來詳細說說這張圖。
詞向量最簡單的方式是1-of-N的one-hot方式。onehot對于同學們來說都很熟悉了,也就是從很大的詞庫corpus里選V個頻率最高的詞(忽略其他的) ,V一般比較大,比如V=10W,固定這些詞的順序,然后每個詞就可以用一個V維的稀疏向量表示了,這個向量只有一個位置的元素是1,其他位置的元素都是0。One hot方式其實就是簡單的直接映射,所以缺點也很明顯,維數很大,也沒啥計算上的意義。
在上圖中,
1、Input layer輸出層:是上下文單詞的one hot。假設單詞向量空間的維度為V,即整個詞庫corpus大小為V,上下文單詞窗口的大小為C。
2、假設最終詞向量的維度大小為N,則圖中的權值共享矩陣為W。W的大小為 V * N,并且初始化。
3、假設語料中有一句話"我愛你"。如果我們現在關注"愛"這個詞,令C=2,則其上下文為"我",“你”。模型把"我" "你"的onehot形式作為輸入。易知其大小為1V。C個1V大小的向量分別跟同一個V * N大小的權值共享矩陣W相乘,得到的是C個1N大小的隱層hidden layer。
4.C個1
N大小的hidden layer取平均,得到一個1N大小的向量,即圖中的Hidden layer。
5.輸出權重矩陣W’為N
V,并進行相應的初始化工作。
6.將得到的Hidden layer向量 1V與W’相乘,并且用softmax處理,得到1V的向量,此向量的每一維代表corpus中的一個單詞。概率中最大的index所代表的單詞為預測出的中間詞。
7.與groud truth中的one hot比較,求loss function的的極小值。

具體計算過程為:
從input -> hidden: WT?xWT?xWT?xWT?xWT?x W^T * xWT?xWT?xWT?xlen(w)=uvocab?count(u)3/4count(w)3/4?

參考文獻:
1.https://zhuanlan.zhihu.com/p/28491088
2.https://zhuanlan.zhihu.com/p/26306795
3.http://alwa.info/2016/04/24/Autoencoder-%E8%AF%A6%E8%A7%A3/
4.https://qrfaction.github.io/2018/03/20/%E6%95%B0%E6%8D%AE%E7%AB%9E%E8%B5%9Btrick%E6%80%BB%E7%BB%93/ 數據競賽trick總結

                                </div><div><div></div></div><link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet"><div class="more-toolbox"><div class="left-toolbox"><ul class="toolbox-list"><li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-thumbsup"></use></svg><span class="name">點贊</span><span class="count">18</span></a></li><li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-csdnc-Collection-G"></use></svg><span class="name">收藏</span></a></li><li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;1582594662_002&quot;}"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-csdnc-fenxiang"></use></svg>分享</a></li><!--打賞開始--><!--打賞結束--><li class="tool-item tool-more"><a><svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg></a><ul class="more-box"><li class="item"><a class="article-report">文章舉報</a></li></ul></li></ul></div></div><div class="person-messagebox"><div class="left-message"><a href="https://blog.csdn.net/bitcarmanlee"><img src="https://profile.csdnimg.cn/C/6/1/3_bitcarmanlee" class="avatar_pic" username="bitcarmanlee"><img src="https://g.csdnimg.cn/static/user-reg-year/1x/4.png" class="user-years"></a></div><div class="middle-message"><div class="title"><span class="tit"><a href="https://blog.csdn.net/bitcarmanlee" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">bitcarmanlee</a></span></div><div class="text"><span>發布了441 篇原創文章</span> · <span>獲贊 1748</span> · <span>訪問量 463萬+</span></div></div><div class="right-message"><a href="https://bbs.csdn.net/topics/395530810" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-messageboard">他的留言板</a><a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">關注</a></div></div></div>
</article>

總結

以上是生活随笔為你收集整理的通俗易懂word2vec详解词嵌入-深度学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。