木炭価が高いブログ

めっちゃ木炭(`・ω・´)

Google のクソデカ ngram を解析する その1

モチベーション

過去に

github.com

を作りました。これを作り直します(`・ω・´)

nextword とはなにか?

look コマンドの ngram 版です。 look コマンドは内部で二分探索を用いており、これはもしかして ngram にも応用できるのでは? と思い作ったソフトウェアです。 当初はエディタの英語補完に使えるかな? と思って作りましたが、いろいろな使い方があって面白いなと思いました。

nextword にはひとつ問題があり、データがでかすぎます。 でかいデータをローカルに保存するのはとてもストレスなので、次は小さなデータに加工できないかなという気持ちがありました(`・ω・´)

Google ngram クソデカデータ

Google は ngram のデータを公開しています。

Google Ngram Exports

こいつを入手して加工することで ngram の解析ができますね。

ところで、このデータセットは英語版だけでファイルが 33600 個程度あり、gzip の圧縮ファイルで1個 600MB あります。 展開するとだいたい 1.7GB あります。 つまり、全部解析すると 60 TB くらいにはなりそうです。これを全部ダウンロードして加工します。 将来的には多言語で使いたいので、扱うデータは 100TB オーダーと見積もってよさそうです。

サイトには、

If you're interested in performing a large scale analysis on the underlying data, you might prefer to download a portion of the corpora yourself. Or all of it, if you have the bandwidth and space. We're happy to oblige.

と書いてあります。やはりデータを全部使ってくれたら嬉しそうです。使います。勝負だ(`・ω・´)

クソデカデータを加工するサーバの用意

やはり OSS として公開する都合上、可能な限りお金をかけずに全データをさばいてみたいと思います。 Bigquery なんてもってのほか、そんなことをしていては Google に最初から負けているようなものです。

可能な限り安上がりにするために、ハードウェアは極力シンプルに、ソフトウェアは全部無料で調達することにしました。 今回は以下のハードを使います。

これで戦っていきたいと思います。CPU の遅さが気になりますが、実際4コアあり、メモリも 8GB と十分です。 どうせ CPU ではなく IO がボトルネックになると思うので、Raspberry Pi でも十分勝負になる気がしてきました。


次回へ続く。

© 2015 high-moctane