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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

FastText原理总结

發(fā)布時(shí)間:2023/12/20 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FastText原理总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  • 目錄:
    • 1、應(yīng)用場(chǎng)景
    • 2、優(yōu)缺點(diǎn)
    • 3、FastText的原理
    • 4、FastText詞向量與word2vec對(duì)比

目錄:

1、應(yīng)用場(chǎng)景

fastText是一種Facebook AI Research在16年開(kāi)源的一個(gè)文本分類(lèi)器。 其特點(diǎn)就是fast。相對(duì)于其它文本分類(lèi)模型,如SVM,Logistic Regression和neural network等模型,fastText在保持分類(lèi)效果的同時(shí),大大縮短了訓(xùn)練時(shí)間。

2、優(yōu)缺點(diǎn)

  • 適合大型數(shù)據(jù)+高效的訓(xùn)練速度:能夠訓(xùn)練模型“在使用標(biāo)準(zhǔn)多核CPU的情況下10分鐘內(nèi)處理超過(guò)10億個(gè)詞匯”
  • 支持多語(yǔ)言表達(dá):利用其語(yǔ)言形態(tài)結(jié)構(gòu),fastText能夠被設(shè)計(jì)用來(lái)支持包括英語(yǔ)、德語(yǔ)、西班牙語(yǔ)、法語(yǔ)以及捷克語(yǔ)等多種語(yǔ)言。FastText的性能要比時(shí)下流行的word2vec工具明顯好上不少,也比其他目前最先進(jìn)的詞態(tài)詞匯表征要好。
  • fastText專(zhuān)注于文本分類(lèi),在許多標(biāo)準(zhǔn)問(wèn)題上實(shí)現(xiàn)當(dāng)下最好的表現(xiàn)(例如文本傾向性分析或標(biāo)簽預(yù)測(cè))。
  • 3、FastText的原理

    fastText 方法包含三部分:模型架構(gòu)、層次 Softmax 和 N-gram 特征。

    fastText 模型輸入一個(gè)詞的序列(一段文本或者一句話),輸出這個(gè)詞序列屬于不同類(lèi)別的概率。
    序列中的詞和詞組組成特征向量,特征向量通過(guò)線性變換映射到中間層,中間層再映射到標(biāo)簽。
    fastText 在預(yù)測(cè)標(biāo)簽時(shí)使用了非線性激活函數(shù),但在中間層不使用非線性激活函數(shù)。
    fastText 模型架構(gòu)和 Word2Vec 中的 CBOW 模型很類(lèi)似。不同之處在于,fastText 預(yù)測(cè)標(biāo)簽,而 CBOW 模型預(yù)測(cè)中間詞。
    第一部分:fastText的模型架構(gòu)類(lèi)似于CBOW,兩種模型都是基于Hierarchical Softmax,都是三層架構(gòu):輸入層、 隱藏層、輸出層。

    CBOW模型又基于N-gram模型和BOW模型,此模型將W(t?N+1)……W(t?1)W(t?N+1)……W(t?1)作為輸入,去預(yù)測(cè)W(t)
    fastText的模型則是將整個(gè)文本作為特征去預(yù)測(cè)文本的類(lèi)別。

    第二部分:層次之間的映射
    將輸入層中的詞和詞組構(gòu)成特征向量,再將特征向量通過(guò)線性變換映射到隱藏層,隱藏層通過(guò)求解最大似然函數(shù),然后根據(jù)每個(gè)類(lèi)別的權(quán)重和模型參數(shù)構(gòu)建Huffman樹(shù),將Huffman樹(shù)作為輸出。

    具體的數(shù)學(xué)求解過(guò)程可參考博客:
    https://blog.csdn.net/yick_liao/article/details/62222153

    第三部分:fastText的N-gram特征
    常用的特征是詞袋模型(將輸入數(shù)據(jù)轉(zhuǎn)化為對(duì)應(yīng)的Bow形式)。但詞袋模型不能考慮詞之間的順序,因此 fastText 還加入了 N-gram 特征。
    “我 愛(ài) 她” 這句話中的詞袋模型特征是 “我”,“愛(ài)”, “她”。這些特征和句子 “她 愛(ài) 我” 的特征是一樣的。
    如果加入 2-Ngram,第一句話的特征還有 “我-愛(ài)” 和 “愛(ài)-她”,這兩句話 “我 愛(ài) 她” 和 “她 愛(ài) 我” 就能區(qū)別開(kāi)來(lái)了。當(dāng)然,為了提高效率,我們需要過(guò)濾掉低頻的 N-gram。
    在fastText 中一個(gè)低維度向量與每個(gè)單詞都相關(guān)。隱藏表征在不同類(lèi)別所有分類(lèi)器中進(jìn)行共享,使得文本信息在不同類(lèi)別中能夠共同使用。這類(lèi)表征被稱(chēng)為詞袋(bag of words)(此處忽視詞序)。在 fastText中也使用向量表征單詞 n-gram來(lái)將局部詞序考慮在內(nèi),這對(duì)很多文本分類(lèi)問(wèn)題來(lái)說(shuō)十分重要。
    舉例來(lái)說(shuō):fastText能夠?qū)W會(huì)“男孩”、“女孩”、“男人”、“女人”指代的是特定的性別,并且能夠?qū)⑦@些數(shù)值存在相關(guān)文檔中。然后,當(dāng)某個(gè)程序在提出一個(gè)用戶請(qǐng)求(假設(shè)是“我女友現(xiàn)在在兒?”),它能夠馬上在fastText生成的文檔中進(jìn)行查找并且理解用戶想要問(wèn)的是有關(guān)女性的問(wèn)題。

    4、FastText詞向量與word2vec對(duì)比

    FastText= word2vec中 cbow + h-softmax的靈活使用
    靈活體現(xiàn)在兩個(gè)方面:

  • 模型的輸出層:word2vec的輸出層,對(duì)應(yīng)的是每一個(gè)term,計(jì)算某term的概率最大;而fasttext的輸出層對(duì)應(yīng)的是
    分類(lèi)的label。不過(guò)不管輸出層對(duì)應(yīng)的是什么內(nèi)容,起對(duì)應(yīng)的vector都不會(huì)被保留和使用;
  • 模型的輸入層:word2vec的輸入層,是 context window 內(nèi)的term;而fasttext 對(duì)應(yīng)的整個(gè)sentence的內(nèi)容,包括term,也包括 n-gram的內(nèi)容;
    兩者本質(zhì)的不同,體現(xiàn)在 h-softmax的使用。
  • Word2vec的目的是得到詞向量,該詞向量 最終是在輸入層得到,輸出層對(duì)應(yīng)的 h-softmax 也會(huì)生成一系列的向量,但最終都被拋棄,不會(huì)使用。
    fasttext則充分利用了h-softmax的分類(lèi)功能,遍歷分類(lèi)樹(shù)的所有葉節(jié)點(diǎn),找到概率最大的label(一個(gè)或者N個(gè))。

    參考:
    https://blog.csdn.net/sinat_26917383/article/details/54850933
    https://blog.csdn.net/yick_liao/article/details/62222153

    總結(jié)

    以上是生活随笔為你收集整理的FastText原理总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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