書籍「Pythonniよるスクレイピング&機械学習」(ソシム社)の第6章内で、Wikipedia(日本語版)の全文データを辞書データとして利用する箇所がある。しかし、多少情報が古いせいか、現在ではそのまま操作してもうまくインストールできなかった。
インストール時にハマったので、次回以降のためにメモを残す。
実行環境:
MacbookPro(Retina, MID 2012)
Docker 17.12.0-ce-mac46 (21698)上に
・Ubuntu 16.04 LTS
・Anaconda 1.6.5
・Python 3.6.3 :: Anaconda custom (64-bit)
目的:
Word2Vecで利用するWikipedia(日本語版)全文データをテキストファイルに変換する。
Step1.
目的のデータ(Wikipedia(日本語版)全文データ)をダウンロードする。
対象(となる圧縮ファイルの)URL:
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2
方法:
$ wget https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2
参考:
【 wget 】 ファイルをダウンロードする:ITpro http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/230995/?n_cid=nbpitp_twbn_top
※同書では、ダウンロード後にbzip2コマンドで圧縮ファイルを展開するように書かれていますが、後ほどデータ変換に使用するwp2txtの--input-fileオブションの引数には、そのまま.bz2ファイルを引き渡して良いと書いてあるので、ここでは展開せず、.bz2ファイルのままにしておきます。
Step2.
Wikipedia(日本語版)データ(XML)をテキストデータ(.txt)へ変換する。
そのために必要となるツール「wp2txt」は、Ruby製なので、先にRubyをインストールします。
$ apt-get install -y git
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ rbenv install 2.3.0
$ rbenv global 2.3.0
※rbenvはRubyのバージョン管理ツールで、任意のバージョンのRubyを選んで使えるようになります。同書では、Ruby 2.0.0-p647というバージョンを使っていますが、これだと失敗します。参考にしたサイト(http://jabberwocky.hatenablog.com/entry/2016/11/12/061709)
によると、このバージョンでは「wp2txt」は使用できないらしい。同サイトに書かれている通り、Ruby 2.3.0をインストールすることにした。
Step3.
Wikipedia(日本語版)データ(XML)をテキストデータへ変換するツール「wp2txt」をインストールする。
$ gem install wp2txt
※gemはRubyのパッケージ管理ツール(PythonのpipやLinuxのapt-getみたいなもの?)
Step4.
Wikipedia(日本語版)データをテキストファイルへ変換します。
$ wp2txt --input-file jawiki-latest-pages-articles.xml.bz2

ちなみに、返還前の.bz2データのサイズが約2.2GBで、変換後の.txvデータが約5.6GB以上になるため、変換には1時間半以上かかりました(当社調べw)。
Step5.
変換後には500以上のテキストファイルへ分割されるため、それを以下のコマンドで1つのファイルにまとめます。
$ cat jawiki-latest-pages-articles.xml-* > wiki.txt
以上で、Wikipedia(日本語版)全文データのテキストファイル化、完了!