[非監督]Word Embedding

簡介

假設我們有5個類別,我們做one-hot-encoder變成5維的數據,我們可以用Word Embedding將資料分類,變成低於5維的數據。
機器在沒有監督的情況下閱讀大量文件來學習單詞的意義,一個詞可以通過其語境來理解。

  • 能用auto-encoder嗎?
    不容易,因為auto-encoder輸入的資料是word,且每個word是one-hot-encoding本身資料就都是independent,如果我們輸入是一整篇文章,將文章都轉成bag of word,然後文章有這個詞就為1作為輸入,auto-encoder我們可以找到文章的關聯性,但不能單獨分析出詞義。

Word Embedding兩種做法

  • Count based
    類似ALS的做法,Glove Vector,基於頻率去計算詞彙的相似度。

  • Prediction-based
    基於預測,有上下文關聯。
    我們先將詞彙都轉成one-hot-encoding,輸入一個詞彙進行預測下一個(上一個)可能出現詞彙的機率,輸入不同詞彙進行預測,他們的中間層z就可以作為詞彙的Vector。


    我們可以拓展成輸入前10個詞彙,預測下一個詞彙,前10個詞彙的one-hot-encoding串接再一起。

    但我們希望10個詞彙他們的weight是一樣的,這樣前10個詞彙串接順序就不影響預測結果,同時也降低了參數量,如果我們one-hot-encoding有10萬個詞彙,那麼串接10個詞彙參數的數量很驚人,這樣做不一定會影響詞義的判斷,雖然我們排除了順序,但在文章上我們只選定輸入前10個詞彙,不同詞在出現頻率上還是會有不同的。

變形

用前一個與後一個詞彙測中間那個詞彙,或中間預測前後詞彙。


CBOW、Skip-gram

進行類推

Word Embedding與PCA一樣都有類似的現象,因此我們可以輸入中國、日本、東京來類推中國首都。



實作

  • word2vec實作細節
    因為word2vec的輸入特徵為one hot encoder形式,是稀疏矩陣,若使用GPU進行矩陣實作運算會有維度爆炸(運算量過大)、顯存不足的問題,所以我們會使用查找的方式進行運算。
    如下圖batch=1、feature_num=5(15),要乘上hidden(53)降維到feature_num=3,若feature_num超過10000運算量非常龐大,但仔細看圖會發現其實只要輸入為只有0、1的矩陣,那麼矩陣做dot(內積)只是一個查找的動作,如下圖只是從input第四個column索引到hidden第四個row。
#範例
search_list = np.flatnonzero(input)
output = []
for index in search_list :
  output.append(hidden[:,index ])
output = np.array(output)
  • gensim:word2vec
    Github-gist代碼
    使用wiki百科xml頁面備份(使用gensim的WikiCorpus工具),去除xml標籤等等,整理出文章內容,安裝openccpip install opencc-python-reimplemented進行簡繁轉換,使用jieba進行中文分詞,jieba使用中文停用詞1893個,完成前處理。
    使用word2vecSG=0(CBOW模式,1=skip-gram)、window=10(取前後10個詞)、size=280(最後降維到280維)、min_count=5(彙整單詞做one-hot-encoding時,小於5次的單詞不列入),儲存訓練好的model,以及詞典與它的詞向量。
    最後讀取model使用model.wv來取得詞向量。


參考李宏毅老師ML課程
推薦閱讀

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,928评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,748评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,282评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,065评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,101评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,855评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,521评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,414评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,931评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,053评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,191评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,873评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,529评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,074评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,188评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,491评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,173评论 2 357

推荐阅读更多精彩内容

  • 今天要給大家分享的書是托馬斯戈登博士寫的「PET父母效能訓練手冊」,這本書的作者托馬斯戈登博士曾於1997、199...
    zoewyc阅读 302评论 0 0
  • 作者:Bai Heesoon,Daniela Elza,Peter Kovacs和Serenna Romanyci...
    深海錳结核阅读 574评论 0 1
  • 《達爾文所未知的》解說詞 撰寫(Written):阿爾芒·馬裏耶(The Animal Mother) 翻譯(Tr...
    JENTSON阅读 1,390评论 0 1
  • 勇利的運氣糟透了。 他覺得只有這個原因可以解釋到底為什麼這種事情會發生在他身上。 他並不覺得自己是個沒禮貌的人,但...
    AmandaHuang阅读 990评论 0 2
  • 路遥有几年没去陆家嘴了,没想到这里的变化那么大,高楼比上次又多了不少,鳞次栉比的样子简直有点像他的老家纳马克斯星球...
    Graceland阅读 402评论 3 1