一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

從零開始學(xué)自然語言處理(十四)——Fasttext原理詳解

 松桃烏羅梵凈山 2020-03-01
fasttext是facebook開源的一個詞向量與文本分類工具,在2016年開源,典型應(yīng)用場景是“帶監(jiān)督的文本分類問題”。在當(dāng)時,它的性能比肩深度學(xué)習(xí)而且速度更快。
Fasttext方法包含三部分,模型架構(gòu),層次SoftMax和N-gram子詞特征。
模型架構(gòu)
fastText的架構(gòu)和word2vec中的CBOW的架構(gòu)類似,可能因為它們的作者之一都有Facebook的科學(xué)家Tomas Mikolov,有意思的一點是在發(fā)表word2vec論文時Tomas Mikolov在谷歌工作。
下圖是CBOW的模型架構(gòu):
CBOW的思路是用上下文詞語來預(yù)測當(dāng)前詞,從而拿到模型最終的W矩陣得到詞向量,而Fasttext的思路是使用模型進行文本分類操作。
Fasttext的模型架構(gòu)如下:
其中x1,x2,...,xN?1,xNx1,x2,...,xN?1,xN表示一個文本中的n-gram向量,每個特征是詞向量的平均值。
什么是n-gram呢?
如果n為3,也叫作trigram,最小切分單位為字,則“歡迎關(guān)注數(shù)據(jù)科學(xué)雜談”這個句子的3-gram為{“歡迎關(guān)”,“迎關(guān)注”,“關(guān)注數(shù)”,“注數(shù)據(jù)”,“數(shù)據(jù)科”,“據(jù)科學(xué)”,“科學(xué)雜”,“學(xué)雜談”}。
n-gram除了獲取上下文信息,還能將語言的局部順序保持住,想想看“羊吃草”,如果不考慮順序,可能會有“草吃羊”的語義不正確問題。
因為每個字有字向量,例如之前CBOW得到的每個詞的詞向量,當(dāng)我們使用n-gram時,我們將n個字向量取平均,例如我們將“歡”、“迎”、“關(guān)”三個字的向量平均后得到“歡迎關(guān)”這個詞的向量。
然后在隱藏層將得到的所有n-gram的詞向量求平均,得到最終的一個向量。
此時的情況有點像CBOW中得到的向量,和CBOW相似,此時的向量要經(jīng)過一個softmax層,只是不同于CBOW的普通softmax,F(xiàn)asttext中使用分層Softmax分類。分層Softmax分類作為其輸出層。
你可能要問,為什么要使用分層的softmax呢?
在標(biāo)準(zhǔn)的softmax中,計算一個類別的softmax概率時,我們需要對所有類別概率做歸一化,在這類別很大情況下非常耗時,因此提出了分層softmax,思想是根據(jù)類別的頻率構(gòu)造哈夫曼樹來代替標(biāo)準(zhǔn)softmax,通過分層softmax可以將復(fù)雜度從N降低到logN,下圖給出分層softmax示例:
哈夫曼樹中的每個葉子節(jié)點代表一種類別,在每一個非葉子節(jié)點處都要做一次二分類,走左邊子樹的概率為p,走右邊子樹的概率為1-p,這里的二分類都可以用邏輯回歸表示。每一種分類都會有一條路徑,也就是說,每個中間節(jié)點都是一個邏輯回歸二分類器,而每個類別的概率為中間若干邏輯回歸單元輸出概率的連乘積。
至此,我們還剩下兩個問題,一是如何構(gòu)造每個邏輯回歸單元的輸入,另一個是如何建立這棵用于判斷的樹形結(jié)構(gòu)。
首先聊聊如何構(gòu)建每個邏輯單元
每個邏輯回歸單元中,sigmoid函數(shù)所需的輸入由三項構(gòu)成,如下公式所示:
其中的含義為:
?x?是一個特殊的函數(shù),如果下一步需要向左走其值為1,向右則為-1。在訓(xùn)練時,我們知道最終輸出葉子結(jié)點,并且從根結(jié)點到葉子結(jié)點的每一步的路徑也是確定的。
v' 是每個邏輯回歸內(nèi)部節(jié)點對應(yīng)的一個向量,這個向量可以在訓(xùn)練過程中學(xué)習(xí)和更新。
h 是網(wǎng)絡(luò)中隱藏層的輸出向量。
因此,我們以隱藏層的輸出向量、中間結(jié)點對應(yīng)向量以及路徑取向取值為輸入,相乘后為一個標(biāo)量,然后經(jīng)過sigmoid函數(shù),可以得到每個邏輯回歸的輸出值。
然后計算輸出值和真實值的誤差反傳,調(diào)節(jié)邏輯回歸的單元向量v' ,這也就是訓(xùn)練的過程了。
因此,我們以隱藏層的輸出向量、中間結(jié)點對應(yīng)向量以及路徑取向取值為輸入,相乘后為一個標(biāo)量,然后經(jīng)過sigmoid函數(shù),可以得到每個邏輯回歸的輸出值。
然后計算輸出值和真實值的誤差反傳,調(diào)節(jié)邏輯回歸的單元向量v' ,這也就是訓(xùn)練的過程了。
如何建立這棵用于判斷的樹形結(jié)構(gòu)?
哈夫曼樹構(gòu)造是按照所有數(shù)據(jù)的類別個數(shù)統(tǒng)計作為每個葉子節(jié)點的權(quán)重。
我們讓越頻繁的類別離根結(jié)點越近,使得最終的softmax經(jīng)過的路徑最短。
如果大家不了解哈夫曼樹,以后可以寫一篇原理加代碼實戰(zhàn)的文章。
下面說說N-gram子詞特征
在英文中,還可以對單詞進行子詞的N-gram特征提取
例如“where are you”使用3-gram后:
“<wh”、“whe”、“her”、“ere”、“re>”、“<ar”、“are”、“re>”、“<yo”、“you”、“ou>”
在英文中使用字詞N-gram可以獲取更細致的特征,例如“ed>”可能代表過去時,“l(fā)y>”可能代表副詞等等。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品日韩精品最新| 欧美尤物在线视频91| 国内外激情免费在线视频| 国产一区二区三区午夜精品| 91欧美日韩一区人妻少妇| 久久人人爽人人爽大片av| 在线观看欧美视频一区| 精品精品国产欧美在线| 亚洲国产天堂av成人在线播放| 国产乱久久亚洲国产精品| 日本国产欧美精品视频| 黄色片一区二区在线观看| 欧美日韩乱码一区二区三区| 亚洲一区二区福利在线| 中字幕一区二区三区久久蜜桃| 亚洲精品一区三区三区| 免费久久一级欧美特大黄孕妇| 99久久精品国产麻豆| 国产又色又爽又黄的精品视频| 国产91人妻精品一区二区三区| 好吊日成人免费视频公开| 视频一区二区三区自拍偷| 成人精品一区二区三区在线| 国产内射一级一片内射高清| 老富婆找帅哥按摩抠逼视频| 99热在线播放免费观看| 欧美激情区一区二区三区| 亚洲天堂精品在线视频| 亚洲精品一区三区三区| 天海翼高清二区三区在线| 男人把女人操得嗷嗷叫| 亚洲清纯一区二区三区| 亚洲中文字幕免费人妻| 尹人大香蕉一级片免费看| 九七人妻一区二区三区| 久久老熟女一区二区三区福利| 亚洲专区一区中文字幕| 视频一区日韩经典中文字幕| 日本加勒比在线观看一区| 亚洲国产精品久久综合网| 老司机精品一区二区三区|