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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

斯坦福大学深度学习与自然语言处理第二讲:词向量

發(fā)布時(shí)間:2025/3/21 pytorch 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 斯坦福大学深度学习与自然语言处理第二讲:词向量 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

斯坦福大學(xué)在三月份開設(shè)了一門“深度學(xué)習(xí)與自然語言處理”的課程:CS224d: Deep Learning for Natural Language Processing,授課老師是青年才俊?Richard Socher,以下為相關(guān)的課程筆記。

第二講:簡單的詞向量表示:word2vec,?Glove(Simple Word Vector representations: word2vec, GloVe)

推薦閱讀材料:

  • Paper1:[Distributed Representations of Words and Phrases and their Compositionality]]
  • Paper2:[Efficient Estimation of Word Representations in Vector Space]
  • 第二講Slides [slides]
  • 第二講視頻 [video]
  • 以下是第二講的相關(guān)筆記,主要參考自課程的slides,視頻和其他相關(guān)資料。

    如何來表示一個(gè)詞的意思(meaning)

    • 英文單詞Meaning的定義(來自于韋氏詞典)
      • the idea that is represented by a word, phrase, etc.
      • the idea that a person wants to express by using words, signs, etc.
      • the idea that is expressed in a work of writing, art, etc.

      在計(jì)算機(jī)中如何表示一個(gè)詞的意思

      • 通常使用類似Wordnet的這樣的語義詞典,包含有上位詞(is-a)關(guān)系和同義詞集
      • panda的上位詞,來自于NLTK中wordnet接口的演示

      • good的同義詞集

      語義詞典存在的問題

      • 語義詞典資源很棒但是可能在一些細(xì)微之處有缺失,例如這些同義詞準(zhǔn)確嗎:adept, expert, good, practiced, proficient,skillful?
      • 會(huì)錯(cuò)過一些新詞,幾乎不可能做到及時(shí)更新: wicked, badass, nifty, crack, ace, wizard, genius, ninjia
      • 有一定的主觀傾向
      • 需要大量的人力物力
      • 很難用來計(jì)算兩個(gè)詞語的相似度

      One-hot Representation

      • 傳統(tǒng)的基于規(guī)則或基于統(tǒng)計(jì)的自然語義處理方法將單詞看作一個(gè)原子符號(hào):hotel, conference, walk
      • 在向量空間的范疇里,這是一個(gè)1很多0的向量表示:[0,0,0,0,…,0,1,0,…,0,0,0]
      • 維數(shù):20K(speech)–50K(PTB)–500K(big vocab)–13M(Google 1T)
      • 這就是”one-hot”表示,這種表示方法存在一個(gè)重要的問題就是“詞匯鴻溝”現(xiàn)象:任意兩個(gè)詞之間都是孤立的。光從這兩個(gè)向量中看不出兩個(gè)詞是否有關(guān)系:

      Distributional similarity based representations

      • 通過一個(gè)詞語的上下文可以學(xué)到這個(gè)詞語的很多知識(shí)

      • 這是現(xiàn)代統(tǒng)計(jì)NLP很成功的一個(gè)觀點(diǎn)

      如何使用上下文來表示單詞

      • 答案:使用共現(xiàn)矩陣(Cooccurrence matrix)X
        • 2個(gè)選擇:全文還是窗口長度
        • word-document的共現(xiàn)矩陣最終會(huì)得到泛化的主題(例如體育類詞匯會(huì)有相似的標(biāo)記),這就是淺層語義分析(LSA, Latent Semantic Analysis)
        • 窗口長度容易捕獲語法(POS)和語義信息

      基于窗口的共現(xiàn)矩陣:一個(gè)簡單例子

      • 窗口長度是1(一般是5-10)
      • 對(duì)稱(左右內(nèi)容無關(guān))
      • 語料樣例
        • I like deep learning.
        • I like NLP.
        • I enjoy flying

      存在的問題

      • 規(guī)模隨著語料庫詞匯的增加而增加
      • 非常高的維度:需要大量的存儲(chǔ)
      • 分類模型會(huì)遇到稀疏問題
      • 模型不夠健壯

      解決方案:低維向量

      • idea: 將最重要的信息存儲(chǔ)在固定的,低維度的向量里:密集向量(dense vector)
      • 維數(shù)通常是25-1000
      • 問題:如何降維?

      方法1:SVD(奇異值分解)

      • 對(duì)共現(xiàn)矩陣X進(jìn)行奇異值分解

      Python中簡單的詞向量SVD分解

      • 語料:I like deep learning. I like NLP. I enjoy flying

      • 打印U矩陣的前兩列這也對(duì)應(yīng)了最大的兩個(gè)奇異值

      用向量來定義單詞的意思:

      • 在相關(guān)的模型中,包括深度學(xué)習(xí)模型,一個(gè)單詞常常用密集向量(dense vector)來表示

      Hacks to X

      • 功能詞(the, he, has)過于頻繁,對(duì)語法有很大影響,解決辦法是降低使用或完全忽略功能詞
      • 延展窗口增加對(duì)臨近詞的計(jì)數(shù)
      • 用皮爾遜相關(guān)系數(shù)代替計(jì)數(shù),并置負(fù)數(shù)為0
      • +++

      詞向量中出現(xiàn)的一些有趣的語義Pattern

      • 以下來自于:?An improved model of semantic similarity based on lexical co-occurence


      使用SVD存在的問題

      • 對(duì)于n*m矩陣來說計(jì)算的時(shí)間復(fù)雜度是o(mn^2) 當(dāng) n<m,當(dāng)單詞或者文檔數(shù)以百萬計(jì)時(shí)很糟糕< li="">
      • 對(duì)于新詞或者新的文檔很難及時(shí)更新
      • 相對(duì)于其他的DL模型,有著不同的學(xué)習(xí)框架

      解決方案:直接學(xué)習(xí)低維度的詞向量

      • 一些方法:和本講以及深度學(xué)習(xí)相關(guān)
        • Learning representations by back-propagating errors(Rumelhart et al.,1986)
        • A Neural Probabilistic Language Model(Bengio et al., 2003)
        • Natural Language Processing (almost) from Scratch(Collobert & Weston,2008)
        • word2vec(Mikolov et al. 2013)->本講介紹

      word2vec的主要思路

      • 與一般的共現(xiàn)計(jì)數(shù)不同,word2vec主要來預(yù)測(cè)單詞周邊的單詞
      • GloVe和word2vec的思路相似:GloVe: Global Vectors for Word Representation
      • 比較容易且快速的融合新的句子和文檔或者添加新的單詞進(jìn)入詞匯表

      word2vec的主要思路

      • 預(yù)測(cè)一個(gè)窗口長度為c的窗口內(nèi)每個(gè)單詞的周邊單詞概率
      • 目標(biāo)函數(shù):對(duì)于一個(gè)中心詞,最大化周邊任意單詞的log概率

      • 對(duì)于p(wt+j/wt)最簡單的表達(dá)式是:
      • 這里v和v分布是w的“輸入”和“輸出”向量表示(所以每個(gè)w都有兩個(gè)向量表示)
      • 這就是基本的“動(dòng)態(tài)”邏輯回歸(“dynamic” logistic regression)

      代價(jià)/目標(biāo)函數(shù)

      • 我們的目標(biāo)是優(yōu)化(最大化或最小化)代價(jià)/目標(biāo)函數(shù)
      • 常用的方法:梯度下降

      • 一個(gè)例子(來自于維基百科): 尋找函數(shù)f(x)=x43x3+2的局部最小點(diǎn),其導(dǎo)數(shù)是f(x)=4x39x2
      • Python代碼:

      梯度的導(dǎo)數(shù)

      • 白板(建議沒有直接上課的同學(xué)看一下課程視頻中的白板推導(dǎo))
      • 有用的公式

      • 鏈?zhǔn)椒▌t

      word2vec中的線性關(guān)系

      • 這類表示可以很好的對(duì)詞語相似度進(jìn)行編碼
        • 在嵌入空間里相似度的維度可以用向量的減法來進(jìn)行類別測(cè)試

      計(jì)數(shù)的方法 vs 直接預(yù)測(cè)

      GloVe: 綜合了兩類方法的優(yōu)點(diǎn)

      • 訓(xùn)練更快
      • 對(duì)于大規(guī)模語料算法的擴(kuò)展性也很好
      • 在小語料或者小向量上性能表現(xiàn)也很好

      GloVe的效果

      • 英文單詞frog(青蛙)的最相近的詞

      Word Analogies(詞類比)

      • 對(duì)單詞之間的線性關(guān)系進(jìn)行測(cè)試(Mikolov et al.(2014))

      Glove可視化一

      Glove可視化二:Company-CEO

      Glove可視化三:Superlatives

      Word embedding matrix(詞嵌入矩陣)

      • 提前訓(xùn)練好的詞嵌入矩陣

      • 又稱之為查詢表(look-up table)

      低維度詞向量的優(yōu)點(diǎn)

      • 深度學(xué)習(xí)詞向量的最大優(yōu)勢(shì)是什么?
      • 可以將任何信息表征成詞向量的形式然后通過神經(jīng)網(wǎng)絡(luò)進(jìn)行傳播

      • 詞向量將是之后章節(jié)的基礎(chǔ)
      • 我們所有的語義表示都將是向量形式
      • 對(duì)于長的短語和句子也可以通過詞向量的形式組合為更復(fù)雜的表示,以此來解決更復(fù)雜的任務(wù)–>下一講

      課程筆記索引:
      斯坦福大學(xué)深度學(xué)習(xí)與自然語言處理第一講:引言

      參考資料:
      Deep Learning in NLP (一)詞向量和語言模型
      奇異值分解(We Recommend a Singular Value Decomposition)

      注:原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處及保留鏈接“我愛自然語言處理”:http://www.52nlp.cn

      本文鏈接地址:斯坦福大學(xué)深度學(xué)習(xí)與自然語言處理第二講:詞向量

    總結(jié)

    以上是生活随笔為你收集整理的斯坦福大学深度学习与自然语言处理第二讲:词向量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。