fastText介紹
fastText是一個快速文本分類算法,與基于神經網絡的分類算法相比有兩大優點:
1、fastText在保持高精度的情況下加快了訓練速度和測試速度
2、fastText不需要預訓練好的詞向量,fastText會自己訓練詞向量
3、fastText兩個重要的優化:Hierarchical Softmax、N-gram
fastText結合了自然語言處理和機器學習中最成功的理念。這些包括了使用詞袋以及n-gram袋表征語句,還有使用子字(subword)信息,并通過隱藏表征在類別間共享信息。我們另外采用了一個softmax層級(利用了類別不均衡分布的優勢)來加速運算過程。
這些不同概念被用于兩個不同任務:
fastText原理
包含三部分,模型架構,層次SoftMax,N-gram特征。
1、模型架構
fastText模型架構和word2vec中的CBOW很相似, 不同之處是fastText預測標簽而CBOW預測的是中間詞,即模型架構類似但是模型的任務不同。
1.1 word2vec的CBOW架構
word2vec將上下文關系轉化為多分類任務,進而訓練邏輯回歸模型,這里的類別數量|V|詞庫大小。通常的文本數據中,詞庫少則數萬,多則百萬,在訓練中直接訓練多分類邏輯回歸并不現實。word2vec中提供了