閒聊word_embedding

2021-03-02 火星娃統計
NLP word embedding概述

依稀記得去年數據挖掘課有講過這個概念,年輕不懂事,沒認真聽,只能現在補課

對於自然語言處理其實目前涉及的比較少,但是如果是臨床大夫可能就比較多了,比較經典的例子就是電子病例的挖掘

文本

文本是一種非結構化的數據,在機器學習或者深度學習中,這些非結構化的數據是不能直接參與運算的,因此需要將非結構化的數據轉換為結構化的數據,這個過程叫做文本表示。

one-hot

one-hot 編碼有點類似統計分析中,將多分類變量進行啞變量處理的過程,如下

人廚子  [1,0,0,0]
百草仙 [0,1,0,0]
張一氓 [0,0,1,0]
聖因師太[0,0,0,1]

one-hot 編碼對於少量的物體或者詞語來說是可以實現的,但是如果涉及到較多的詞語幾百上千的詞,這個時候對於深度學習來說就是一種冗餘,絕大多數的參數都是0,這種稀疏矩陣是不利於深度學習的

整數編碼

整數編碼類似將啞變量再轉換回來

人廚子  1
百草仙 2
張一氓 3
聖因師太 4

缺點:模型解釋困難

word embedding

什麼是embedding?,簡單的說embedding就是將一個詞用一個低維的向量來表示,這個使用低維向量表示高維世界物體的想法跟傅立葉變化有著異曲同工之秒。通俗的講從另一個世界看這個世界

word embedding 的優點

降低參數的數量,和one-hot相比

通用性強

詞與詞之間存在關聯

兩種主流算法

結束語

word2vec的算法原理很複雜,整不明白

love&peace

相關焦點

  • 自然語言處理 (三) 之 word embedding
    自然語言處理 之 word embedding理解每個word的意思是自然語言處理的一大核心,那麼怎樣才能很好的描述word與word之間的syntactic & semantic similarity呢?
  • Learning Chinese-Japanese Bilingual Word Embedding by Using...
    Bilingual word embedding, which maps word embedding of two languages into one vector space, has been widely applied in the domain of machine translation, word sense disambiguation and so on.
  • NLP算法|解析Word Embedding
    答案是Word embedding。Word embedding介紹首先我們介紹一下什麼是Embedding。Embedding指的是將高維矢量映射到低維空間裡的過程。直觀來說,Embedding可以通過神經網絡等方法將100維的特徵向量壓縮到20維。
  • 無監督學習之詞嵌入(word embedding)
    embedding)是降維算法(Dimension Reduction)的典型應用那如何用vector來表示一個word呢?的維度低,假如後者有10w維,那前者只需要50~100維就夠了,這實際上也是Dimension Reduction的過程類似語義(semantic)的詞彙,在這個word embedding的投影空間上是比較接近的,而且該空間裡的每一維都可能有特殊的含義假設詞嵌入的投影空間如下圖所示,
  • Word Embedding List|ACL 2020 詞嵌入長文匯總及分類
    以下匯總並嘗試按主題分類了 37 篇與 word embedding 有關的長文,讓我們一起看看今年詞嵌入的研究又有哪些新進展。關於作者:張正,坐標巴黎,上班NLP,下班詞嵌入。縱向分類一千個人眼裡有一千個分類方法。
  • 萬物皆Embedding,從經典的word2vec到深度學習基本操作item2vec
    什麼是embedding?為什麼說embedding是深度學習的基本操作?簡單來說,embedding就是用一個低維的向量表示一個物體,可以是一個詞,或是一個商品,或是一個電影等等。使embedding空前流行的word2vec對word的vector表達的研究早已有之,但讓embedding方法空前流行,我們還是要歸功於google的word2vec。我們簡單講一下word2vec的原理,這對我們之後理解AirBnB對loss function的改進至關重要。
  • 到底什麼是Embedding
    最近十分火的嵌入,不管是詞嵌入(word embedding),還是圖嵌入(graph embedding),都讓人看得似懂非懂,感覺懂了,又似乎不太確定。下面記錄一下查驗的收穫吧:數學中的含義Embedding在數學上表示一個映射關係:f(x) --> y從一個空間映射到另外一個空間,保留基本屬性:a. injective (單射的):就是我們所說的單射函數,每個X只有唯一的Y對應b. structure-preserving(結構保存):比如在X所屬的空間上 x1<=x2 ,那麼映射後在Y所屬空間上同理 y1<=y2在word
  • 一文看懂詞嵌入 word embedding(2種主流算法+與其他文本表示比較)
    文本表示的方法有很多種,下面只介紹 3 類方式:獨熱編碼 | one-hot representation整數編碼詞嵌入 | word embedding什麼是詞嵌入 | word embedding?word embedding 是文本表示的一類方法。跟 one-hot 編碼和整數編碼的目的一樣,不過他有更多的優點。詞嵌入並不特指某個具體的算法,跟上面2種方式相比,這種方法有幾個明顯的優勢:他可以將文本通過一個低維向量來表達,不像 one-hot 那麼長。
  • Embedding從入門到專家必讀的十篇論文
    這裡是「王喆的機器學習筆記」的第十篇文章,今天我們不分析論文,而是總結一下Embedding方法的學習路徑,這也是我三四年前從接觸word2vec,到在推薦系統中應用Embedding,再到現在逐漸從傳統的sequence embedding過渡到graph embedding的過程,因此該論文列表在應用方面會對推薦系統
  • 深度學習算法(第24期)----自然語言處理中的Word Embedding
    標示詞彙中的一個詞最常用的方法就是用一個相對小的,稠密(非稀疏)的向量(比如150維),稱為一個embedding。那麼接下來的任務就是讓神經網絡對每一個詞訓練出一個比較好的embedding。在訓練的初期,embeddings基本上是隨機選擇的,但是經過網絡的前後傳輸之後,最終相似的詞將會聚類到一起,甚至會以某種更有意義的方式聚集到一起,比如性別,單複數,動名詞等等。
  • 萬物皆可embedding
    我們在做推薦系統的時候,所有離散特徵(連續值也可以分桶處理)都給embedding了,nlp中也一樣,每個單詞,每個字,每個標點,都可以做embedding。那麼問題來了,推薦系統的學習目標是點擊率,那nlp中學詞embedding的目標是啥?上文我們提到計數(上下文單詞做BOW)的方法,生成每個詞的稠密向量 。這種方法雖然不需要設定任何目標,但是靠譜嗎?
  • 深度學習中不得不學的Graph Embedding方法
    word2vec和由其衍生出的item2vec是embedding技術的基礎性方法(我在之前的文章中也詳細介紹了二者的技術原理,王喆:萬物皆Embedding,從經典的word2vec到深度學習基本操作item2vec,連結:https://zhuanlan.zhihu.com/p/53194407),但二者都是建立在「序列」樣本(比如句子、推薦列表)
  • Embedding在騰訊應用寶的推薦實踐
    1.經典的 word2vec 模型word2vec 模型的問世,極大的促進了 Embedding 技術的發展。下面我們先從 word2vec 模型切入,簡單介紹一下 embedding 的推導過程。以業界最廣泛使用的 Skip-gram+negative sampling 為例。
  • 深度學習Keras中的Embedding層的理解與使用
    # load the whole embedding into memoryembeddings_index = dict()f = open('glove.6B.100d.txt')for line in f: values = line.split() word = values[0]
  • 為什麼Bert的三個Embedding可以進行相加?
    那這個字最後的 word Embedding,就是上面三種 Embedding 的加和。如此得到的 word Embedding,和concat後的特徵:[1,0,0,0,1,0,0,1,0],再過維度為 [4+3+2,768] = [9, 768] 的全連接層,得到的向量其實就是一樣的。
  • 淺談電商搜索推薦中ID類特徵的統一建模:Hema Embedding解讀
    近年來詞嵌入方法(word embedding,也就是word2vec)被普遍用於NLP領域,它通過對單詞在語料中的共現關係進行建模,將以one-hot表示的單詞嵌入(embed)至低維,以一個帶有語義信息的低維稠密向量表徵。最近其他數據挖掘領域也逐漸開始借鑑embedding的思想,把各種one-hot形式的ID特徵進行低維嵌入。
  • 無所不能的Embedding5 - skip-thought的兄弟們「Trim/CNN-LSTM/...
    Q5 pretrain word embedding考慮一下?Q6 除了hidden_state還有別的提取句子向量的方式麼?這種方案的假設其實不是把embedding作為一個整體來看,而是把embedding的每一個unit單獨作為一個/類特徵來看,序列不同位置的output state可能提取了不同的信息,通過avg/max來抽取最有代表性的特徵作為句子特徵。這個問題我們之後還會多次碰到,語言模型訓練好了拿什麼做句子向量更合適呢?
  • 總結|為什麼要進行圖嵌入Graph embedding?
    如果要解決以上的問題,我們首先需要做的是對圖進行表示,graph embedding 是中非常有效的技術。1.什麼是圖嵌入(graph embedding)?圖嵌入是一種將圖數據(通常為高維稠密的矩陣)映射為低微稠密向量的過程,能夠很好地解決圖數據難以高效輸入機器學習算法的問題。圖嵌入需要捕捉到圖的拓撲結構,頂點與頂點的關係,以及其他的信息,如子圖,連邊等。
  • 【Graph Embedding】DeepWalk算法原理,實現和應用
    我們都知道在 NLP 任務中,word2vec 是一種常用的 word embedding 方法, word2vec 通過語料庫中的句子序列來描述詞與詞的共現關係,進而學習到詞語的向量表示。DeepWalk 的思想類似 word2vec,使用圖中節點與節點的共現關係來學習節點的向量表示。
  • 機器學習中的embedding原理及tensorflow 相關API的理解
    所以word2vec 只是embbeding 思想的一個應用,而不是全部。而embedding的主要目的也是對(稀疏)特徵進行降維,它降維的方式可以類比為一個全連接層(沒有激活函數),通過 embedding 層的權重矩陣計算來降低維度。