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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

fastText初探

發布時間:2023/12/13 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fastText初探 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 目錄:
    • 1、應用場景
    • 2、優缺點
    • 3、FastText的原理
    • 4、FastText詞向量與word2vec對比

目錄:

1、應用場景

fastText是一種Facebook AI Research在16年開源的一個文本分類器。 其特點就是fast。相對于其它文本分類模型,如SVM,Logistic Regression和neural network等模型,fastText在保持分類效果的同時,大大縮短了訓練時間。

2、優缺點

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

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

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

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

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

    具體的數學求解過程可參考博客:
    https://blog.csdn.net/yick_liao/article/details/62222153

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

    4、FastText詞向量與word2vec對比

    FastText= word2vec中 cbow + h-softmax的靈活使用
    靈活體現在兩個方面:

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

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

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的fastText初探的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。