2009-09-01から1ヶ月間の記事一覧

std::priority_queue を使って複数の整列済みデータをマージ

メモ代わりに,sort -m と同じような動作をするプログラムのソースコードを貼り付けておきます.(行単位で)整列済みのファイルを複数マージして,一つの整列済みファイルを作成するためのプログラムです.入力の指定にはコマンドライン引数,出力には標準…

boost::iostreams で圧縮・復元(gzip)

C++ でデータの圧縮・復元をする場合,boost C++ library に便利な Filter があります.gzip -c や gzip -cd などで対応できないときには,検討する価値があると思います. Gzip Filters # リンクするときにライブラリ libboost_iostream... を指定する必要…

Computing in the 21st Century

21 世紀コンピューティング コンファレンスなるものが,11 月に慶応大学と京都大学で開催されるようです.主催者は Microsoft Research Asia だそうです. 日本語 http://www.microsoft.com/japan/events/21ccc/default.mspx 英語 http://www.msra.cn/labeve…

Amazon Elastic MapReduce で C++

Python だと複雑な処理を書けないので(主に慣れていないため),C++ で Mapper と Reducer を開発でできないか確認してみました.結論は,「たぶん大丈夫」です.悩みどころは,基本的にバイナリの互換性がないと考えるべき Linux 環境において,「どうやっ…

Amazon Elastic MapReduce を使った感じ

個人でも,気軽に大規模並列処理を試せます.一般的な個人には MapReduce の使いどころがないかもしれませんが,研究をしている方々には面白い素材になるのではないでしょうか.これまでの簡単な実験では,コーパスから文字 n-gram を抽出するというタスクを…

ハッシュ表にトライ(Trie on Hash)

ハッシュ表に挑戦したという意味ではなく,「ハッシュ表の上にトライを構築してみました」という話です.ダブル配列のアイデア(CHECK に遷移元のインデックスを保存)を利用しています.ダブル配列は,小さな整数(基本的に Byte)をラベルとする場合には高…

Amazon Elastic MapReduce をお試し中

大規模なコーパスを本格的に処理することを考えて,MapReduce の勉強をしています.手元に MapReduce をおこなえる環境はないのですが,Amazon Web Services (AWS) のおかげで,思いのほか手軽に試すことができました. メモ代わりにリンク貼り付け Amazon E…

dawgdic のバグ修正(DawgBuilder の再利用について)

dawgdic::DawgBuilder のオブジェクトを再利用すると segmentation fault が起きるというバグがありました.Subversion の方は更新してあります.アーカイブ(Downloads)の方は,次のバージョンで対応することになると思います.

入力補完・再び

Google n-gram を使っての入力補完を英語版のコーパス全体に適用してみました.単体で約 2GB の辞書が 30 個以上で,すべての辞書を合計すると約 70GB になりました.さすがに,最初の入力についてはディスクアクセスのため数秒待たされますが,以降はそれな…

クラウドの話が興味深い…かもしれない

FIT2009 第8回情報科学技術フォーラム のイベントでクラウドに関するお話を聴いたのですが,専門家を集めてみても,やっぱり「クラウド」という言葉の定義は微妙なようです.「グリッドとクラウドは何が違うのか?」という質問があり,答えに窮する様子を見…

スライド(重複レコードの多いトライ辞書の圧縮)

重複レコードの多い辞書については,トライから Directed Acyclic Word Graph (DAWG) への変換で大幅に圧縮できるかもしれません.…という内容のスライドです. 重複レコードの多いトライ辞書の圧縮(pptx) http://sites.google.com/site/headdythehero/cab…