fasttext 安裝 fasttext使用筆記

2021-10-18 18:56:30 字數 2358 閱讀 1665

這裡記錄使用fasttext訓練word vector筆記

$ gitclone

$ cdfasttext

$ make

make報錯:

原因gcc版本過低

gcc –v

公升級版本:參考(

1.      新增源

首先新增ppa到庫:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get update

2.      安裝新版gcc/g++(注意gcc和g++都要更新)

接著就可以選擇安裝gcc-4.9,gcc-5之類的啦!(注意目前gcc-5實際上是5.3.0,沒有5.1或5.2可供選擇)

sudo apt-get install gcc-4.8g++-4.8

sudo apt-get install gcc-4.9g++-4.9

sudo apt-get install gcc-5g++-5

sudo apt-get install gcc-6g++-6

具體希望安裝哪個版本,大家可以自己選擇

3.      重新整理db並locate

接著現在可以考慮重新整理一下, 否則locate等命令是找不到的, 這個也是可選的(非必須)

sudo updatedb && sudo ldconfig

locate gcc | grep -e "/usr/bin/gcc-[0-9]"

4.      切換版本

通過update-alternatives建立檔案關聯

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.620

sudo update-alternatives --install /usr/bin/gcc gcc/usr/bin/gcc-4.8 30

然後在fasttext資料夾下make,成功生成fasttext執行檔案。

接下來就可以愉快的使用了。

fasttext可以可以用於訓練 word represent和text classification,這裡記錄使用fasttext訓練word embedding過程。

1.      首先開啟word-vector-example.s**件

resultdir=result  //結果儲存資料夾

datadir=data     //輸入資料資料夾

mkdir -p"$"

mkdir -p"$"

then

wget -c "$"

unzip "$/enwik9.zip" -d"$"

perl wikifil.pl "$/enwik9"> "$"/fil9

fithen

wget -c -p "$"

unzip "$/rw.zip" -d"$"

fimake

./fasttextskipgram -input "$"/fil9 -output"$"/fil9 -lr 0.025 -dim 100 \

-ws 5 -epoch 1 -mincount 5 -neg 5 -loss ns-bucket 2000000 \

-minn 3 -maxn 6 -thread 4 -t 1e-4-lrupdaterate 100

//這行**為訓練word embedding,輸入為datadir下的fil9,輸出模型儲存在resultdir下fil9。

這些引數是強制性設定的:

- mincount 5:單詞出現少於5就丟棄  -minn 最小長度的字元  -maxn 最長長度的字元 –t 取樣閾值

這些引數是可選的:

-lr 學習率–epoch 迭代次數–neg 負取樣–loss  loss function    ---dim 詞向量維度 –ws 視窗大小

cut -f1,2 "$"/rw/rw.txt | awk 『『 | tr 『\t『 『\n『> "$"/queries.txt

cat"$"/queries.txt | ./fasttext print-word-vectors "$"/fil9.bin> "$"/vectors.txt

python eval.py -m "$"/vectors.txt -d"$"/rw/rw.txt

2.      使用自己的語料訓練,這裡我使用維基百科英文語料,處理過程前面有講。

./fasttext cbow –input new_enwiki –output new_enwiki_100_30–epoch 30 –neg 5 –loss ns –dim 100 –ws 5

FastText模型原理

預備知識 n gram模型 對句子或單詞的所有長度為n的子句或子字串進行操作,如2 gram中,對 girl 的字串為 gi ir rl 進行操作,通常有操作如下 cbow模型 是把單詞的高維稀疏的one hot向量對映為低維稠密的表示的方法。模型架構如下 此處有圖 x c h 1c i 1cx i...

fasttext工作原理

fasttext 是facebook於2016年開源的乙個詞向量計算和文字分類工具,在文字分類任務中,fasttext 淺層網路 往往能取得和深度網路相媲美的精度,卻在訓練時間上比深度網路快許多數量級,在標準的多核cpu上,能夠訓練10億詞級別語料庫的詞向量在10分鐘之內,能夠分類有著30萬多類別的...

fasttext使用筆記

這裡記錄使用fasttext訓練word vector筆記 gitclone cdfasttext make make報錯 原因gcc版本過低 gcc v 公升級版本 參考 1.新增源 首先新增ppa到庫 sudo add apt repository ppa ubuntu toolchain r ...