技術アプリケーション:word2vec実験

データソース

中国版ウィキペディアのデータのダウンロード:
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

おすすめ

転載: www.cnblogs.com/duchaoqun/p/12735707.html