25
- 3月
2017
No Comments
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