VOOZH about

URL: https://qiita.com/hiroshijsc16/items/183dd3d5b6c31b587523

⇱ 日本語のWikipediaの全文データを使ってWord2vecを訓練する #mecab - Qiita


👁 Image
11

Go to list of users who liked

15

Share on X(Twitter)

Share on Facebook

Add to Hatena Bookmark

More than 5 years have passed since last update.

@hiroshijsc16(三須 啓史)in👁 Image
株式会社メディカルトリビューン

日本語のWikipediaの全文データを使ってWord2vecを訓練する

11
Last updated at Posted at 2019-03-19

日本語のWikipediaの全文データを使ってWord2vecを訓練する方法についてまとめます。
Udemy【TensorFlow・Keras・Python3で学ぶ】時系列データ処理入門(RNN/LSTM, Word2Vec)の内容です。

環境

Ubuntu18.04

データをダウンロード

https://dumps.wikimedia.org/jawiki/latest/ からjawiki-latest-pages-articles.xml.bz2をダウンロードし、解凍する。

wp2txtを使って、xmlからテキストファイルを生成する

 wp2txtはrubyのgemなので、rubyがインストールされているかを確認する。

 $ ruby -v
 ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]

 ruby-devをインストールしないとエラーが出るので、rubyのバージョンを確認し、ruby-devをインストールする。

 $ sudo apt-get install ruby2.5-dev

 wp2txtを使って、jawiki-latest-pages-articles.xmlをtxtファイルに変換する。少し時間がかかる。

 $ wp2txt --input-file ./jawiki-latest-pages-articles.xml 

生成された複数のテキストファイルをjawiki.txtにまとめる。

 $ cat jawiki-latest-pages-articles*.txt > jawiki.txt

MeCabで分かち書きファイルを生成

jawiki_wakachi.txtという分かち書きファイルを生成する。これも時間がかかる。

mecab -b 100000 -Owakati jawiki.txt -o jawiki_wakachi.txt

'utf-8' codec can't decode bytes in position invalid continuation byte mecabというようなエラーが出た場合は

mecab -d /var/lib/mecab/dic/ipadic-utf8 -b 100000 -Owakati jawiki.txt -o jawiki_wakachi.txt

として、UTF-8の辞書を指定する。

word2vecで訓練する

Word2vecにjawiki_wakachi.txtを学習させる。

from gensim.models import word2vec
data = word2vec.Text8Corpus("jawiki_wakachi.txt")
model = word2vec.Word2Vec(data, size = 100)

このコードは実行に1日ほどかかる。

参考

Udemy【TensorFlow・Keras・Python3で学ぶ】時系列データ処理入門(RNN/LSTM, Word2Vec)
wp2txtでハマった話
Ubuntu 18.04 LTSのPythonでMeCabを動かす方法

11

Go to list of users who liked

15
0

Go to list of comments

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11

Go to list of users who liked

15