fastText中常见问题汇总
fastText中常見問題匯總:
 1、什么是fastText
 fastText是一個用于文本分類和詞向量表示的庫,它能夠把文本轉化成連續(xù)的向量然后用于后續(xù)具體的語言任務,目前教程較少!
2、為什么訓練的模型非常大
 fastText對字和字符串使用hash表,hash表的大小將直接影響模型的大小,可以通過選項-hash來減少詞匯hash表的大小,一個可選的好參數(shù)時20000。另一個影響模型大小重要的因素是訓練向量的維度大小(-dim),如果維度縮小模型將大大減小,但同時也會很大程度影響模型的性能,因為向量維度越大則捕獲的信息越多,當然還有一種將模型變小的方法是使用量化選項(-quantize),命令如下所示:
./fasttext quantize -output model
 3、模型中使用單詞短語而不是單個單詞最佳方式是什么
 目前使用單詞短語或句子最好的方式是使用詞向量的bow(bag of words),另一種方式例如New York,我們可以將其處理成New_York也會有幫助
4、為什么fastText甚至可以為語料庫中未出現(xiàn)的單詞產生詞向量
 fastText一個重要的特性便是有能力為任何單詞產生詞向量,即使是未出現(xiàn)的,組裝的單詞。主要是因為fastText是通過包含在單詞中的子字符substring of character來構建單詞的詞向量,正文中也有論述,因此這種訓練模型的方式使得fastText可以為拼寫錯誤的單詞或者連接組裝的單詞產生詞向量
5、為什么分層softmax在效果上比完全softmax略差
分層softmax是完全softmax的一個近似,分層softmax可以讓我們在大數(shù)據(jù)集上高效的建立模型,但通常會以損失精度的幾個百分點為代價,
6、可以在GPU上運行fastText項目嗎
 目前fastText僅僅可運行在CPU上,但這也是其優(yōu)勢所在,fastText的目的便是要成為一個高效的CPU上的分類模型,可以允許模型在沒有CPU的情況下構建
7、可以使用python語言或者其他語言使用fastText嘛
 目前在GitHub上有很少的關于fastText的其他語言實現(xiàn)的非官方版本,但可以負責任的說,是可以用tensorflow實現(xiàn)的
8、可以在連續(xù)的數(shù)據(jù)集上使用fastText嗎
 不可以,fastText僅僅是用于離散的數(shù)據(jù)集,因此無法直接在連續(xù)的數(shù)據(jù)集上使用,但是可以將連續(xù)的數(shù)據(jù)離散化后使用fastText
9、數(shù)據(jù)中存在拼寫錯誤,我們需要對文本進行規(guī)范化處理嗎
 如果出現(xiàn)的頻率不高,沒有必要,對模型效果不會有什么影響
10、在模型訓練時遇到了NaN,為什么會這樣
 這種現(xiàn)象是可能出現(xiàn)的,很大原因是因為你的學習率太高了,可以嘗試降低一下學習率直到不再出現(xiàn)NaN
11、系統(tǒng)無法編譯fastText,怎么處理
 嘗試更新一下編譯器版本,很大可能就是因為編譯器太舊了
12、如何完全重現(xiàn)fastText的運行結果,為什么每次運行的結果都有些差異
 當多次運行fastText時,因為優(yōu)化算法異步隨機梯度下降算法或Hogwild,所以每次得到的結果都會略有不同,如果想要fastText運行結果復現(xiàn),則必須將參數(shù)thread設置為1,這樣你就可以在每次運行時獲得完成相同的性能
 ---------------------?
 作者:feilong_csdn?
 來源:CSDN?
 原文:https://blog.csdn.net/feilong_csdn/article/details/88655927?
 版權聲明:本文為博主原創(chuàng)文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的fastText中常见问题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: vim+python3的字符串却不能使用
- 下一篇: fastText原理和文本分类实战
