25
- 3月
2017
Posted By : boomin
Wikipediaを、Deep Learningの学習データとして準備する
Advertisements

振り返り

前回、日本語を品詞分解するためにmecabを導入しました。
今回は、学習データとしてwikipediaの日本語データを対象にして、機械学習用のデータを準備しましょう。

 

ruby環境の準備

wikipediaのデータを成形するのに、rubyで書かれたライブラリ、wp2txtを使用します。
そこで、以下のようにして環境を構築しましょう。

以下では、CentOS7のログインユーザ誰でも使えるようにしたかったので、インストール先を /opt/local にしています。

$ cd /opt/local
$ git clone https://github.com/sstephenson/rbenv.git ./rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ./rbenv/plugins/ruby-build

起動時にpathが通るようにしておきましょう。

$ vi ~/.bashrc
export PATH="/opt/local/rbenv/bin:$PATH"

$ source ~/.bashrc

それではinstallです。
2017/3/20時点の最新版である、2.4.0を使うことにします。

$ rbenv install --list 
  1.8.5-p113
  1.8.5-p114
  1.8.5-p115
...
  2.4.0-rc1
  2.4.0
  2.5.0-dev

$ rbenv install 2.4.0
$ rbenv local 2.4.0
$ rbenv global 2.4.0
$ rbenv exec gem install wp2txt bundler
$ rbenv rehash

これで、rubyで書かれたwp2txtのインストールができました。
それでは、wikipediaのデータを入手しましょう。

$ mkdir wiki
$ wget https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2

では、wp2txtを使って学習データをパースします。
downloadしただけのデータは、xml形式となっているので、これをplain textに直します。

$ rbenv exec wp2txt --input-file jawiki-latest-pages-articles.xml.bz2 

大量のファイルができているかと思います。
これを一つのファイルにまとめます。

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

ちょっと中身をのぞいてみましょう。

$ less jawiki.txt
アンパサンド (ampersand, &) とは「…と…」を意味する記号である。英語の "and" に相当するラテン語の "et" の合字で、"etc." (et cetera = and so forth)を "&c." と記述することがあるのはそのため。Trebuchet MSフォントでは、10pxと表示され "et" の合字であることが容易にわかる。

==歴史==

その使用は1世紀に遡ることができ (1)、5世紀中葉 (2,3) から現代 (4-6) に至るまでの変遷がわかる。

Z に続くラテン文字アルファベットの27字目とされた時期もある。

アンパサンドと同じ役割を果たす文字に「のet」と呼ばれる、数字の「7」に似た記号があった(⁊, U+204A)。この記号は現在もゲール文字で使われている。

なるほどなるほど。
それでは、mecabを使って、wikipediaのデータを分かち書きしましょう。
前回、すでにデフォルトの辞書としてipadicが登録されているはずですので、ここでは特に辞書ファイルは指定しません。

$ mecab  -Owakati jawiki.txt > jawiki_wakati.txt

ちょっと時間がかかりますね。
それでは、こちらも中身を見てみることにします。

$ head -50 jawiki_wakati.txt
アンパサンド ( ampersand , &) と は 「 … と … 」 を 意味 する 記号 で ある 。 英語 の " and " に 相当 する ラテン語 の " et " の
合 字 で 、 " etc ." ( et cetera = and so forth ) を "& c ." と 記述 する こと が ある の は その ため 。 Trebuchet MS フォント で は 、 10 px と 表示 さ れ " et " の 合 字 で ある こと が 容易 に わかる 。

== 歴史 ==

その 使用 は 1 世紀 に 遡る こと が でき ( 1 )、 5 世紀 中葉 ( 2 , 3 ) から 現代 ( 4 - 6 ) に 至る まで の 変遷 が わかる 。

Z に 続く ラテン 文字 アルファベット の 27 字 目 と さ れ た 時期 も ある 。

アンパサンド と 同じ 役割 を 果たす 文字 に 「 の et 」 と 呼ば れる 、 数字 の 「 7 」 に 似 た 記号 が あっ た (⁊, U + 204 A )。 この 記号 は 現在 も ゲール 文字 で 使わ れ て いる 。

おお、ちゃんと、品詞分解されていますね。
それでは、いよいよ次回から学習させてみたりしましょうか。

Advertisements

コメントを残す