データソース
中国版ウィキペディアのデータのダウンロード:
zhwiki-latest-pages-articles.xml.bz2
enwiki-latest-pages-articles.xml.bz2
記事のテキストを抽出する
- Ubuntu 18
- Python 3
sudo apt-get install python3-pip
pip3 install setuptools
git clone https://github.com/attardi/wikiextractor.git
cd wikiextractor/
sudo python setup.py install
python3 wikiextractor/WikiExtractor.py -b 1000M -o result.txt zhwiki-latest-pages-articles.xml
分詞
ここでは、単語のセグメンテーションにHanLPを使用します
注:繁体字中国語を簡体字中国語に変換してから、単語の分割を実行する必要があります
計算モデル
注:環境をダウンロードしてコンパイルする必要があります
./word2vec -train tt.txt -output vectors.bin -cbow 1 -size 80 -window 5 -negative 80 -hs 0 -sample 1e-4 -threads 20 -binary 1 -iter 15
- tt.txtは、単語分割後の出力ファイルです。
- vectors.binは、トレーニング後の出力ファイルです。
- cbow 0はcbowモデルを使用しないことを意味し、デフォルトはSkip-Gramモデルです。
- サイズ80各単語のベクトル次元は80です。
- ウィンドウ5トレーニングウィンドウサイズは5です。これは、ワードの最初の5ワードと最後の5ワードを考慮するためです(実際のコードにもランダムウィンドウ選択プロセスがあり、ウィンドウサイズは5以下です)。
- 負の0 NEGメソッドは適用されません
- hs 1はNEGメソッドを使用しませんが、HSメソッドを使用します。
- sampeは、サンプリングしきい値を指します。単語がトレーニングサンプルでより頻繁に出現する場合、より多くサンプリングされます。
- バイナリ1は結果のバイナリストレージを示し、0は通常のストレージを示します(通常のストレージが開いている場合は、単語と対応するベクトルを確認できます)。
モデルを確認する
トレーニングが完了したら、次のコマンドを実行します:
./distance vectors.bin