日本語をfastText - 2

結局、ここに従って新たなスクリプトをインストールし、テキストを抽出。

 

pip install --ignore-installed git+https://github.com/prokotg/wikiextractor python -m wikiextractor.WikiExtractor jawiki-20220201-pages-articles-multistream.xml.bz2
 
 

そして、

python3 parse.py corpus --concat wiki_

で一つのファイルにまとめ(wiki_wakatied.txt)、

 

mecab  wiki__all.txt -O wakati -o wiki_wakatied.txt -d "mecab-ipadic-neologd" -b 65536

 

分かち書き。いよいよこれをfastTextにかけるのだけれど、純粋なWindows環境ではコンパイルできないので、cygwin上でmakeしたところ、うまくコンパイルできた。

さらに、

 

./fasttext skipgram -input wiki_wakatied.txt -output model -dim 300

 

を実行したところ、今のところは動いている。また止まるまで放置。

…数時間後無事完了していたので、できたmodel.vecを用いて「PyTorchによる発展ディープラーニング」の7-4のスクリプトを実行したところ、


1単語を表現する次元数: 300 単語数: 1156783

と、どういうわけか配布しているデータの3倍以上の単語数が。さらに、姫-女性+男性とのコサイン類似度を計算すると、

女王 tensor(0.3708)
王 tensor(0.3220)
王子 tensor(0.4715)
機械学習 tensor(0.0602)

とまあまあ妥当な結果が。ひとまず、word2vecのデータの作成方法は体得した。あとは、これをどう応用するか、か。