BEAR.Sunday meetup #2に行ってきました

何と、前回の記事の日付が2年前という恐ろしい状況!…止まった時計を再び動かすべく、はてなダイアリーに戻って参りました。

という事で、BEAR.Sunday meetup #2にお邪魔させて頂いてきたので、ご報告を。

会場はとってもオシャレなHubTokyoさん。WebSterさんの提供で、食べ物・飲み物に困らずに非常にリラックスした状況で、なるほど、これが勉強会ではなくmeetupなんだと実感しました。

全員が自己紹介も兼ねてLT必須という事で、何の話をしようかと思ったんですが、ちょうどTDDフレームワークWaltzを作っていて、DocTestが動く状態になったところだったので、その紹介をさせて頂きました。

http://www.slideshare.net/stellaqua/bea-rmeetup2-lt

他の方が時間節約の為に1台のPCに資料をまとめてプレゼンしている中、どうしてもDemoをやりたい、というわがままで自分のPCでLTさせて頂きました。頑張ってビジュアルにこだわったテスト結果の楽譜表示は、特に女性陣には好評だったようで、満足しとりますw Waltzのもっと深い話は、またいつかどこかで…。

自分のLTはともかくとして、みなさん3分間という短い時間なのに(自分も含めてオーバーしてた人多数ではありましたがw)、とっても濃い内容で素敵でした。

また、メインセッションの方も、@koriymさん、@mackstarさん、果ては、NateさんのAngularJSの話が直に聞けるという何とも贅沢なmeetupでございました。特に、@koriymさんのプレゼンは、「いよいよBEARの世界進出が始まる…!?」と思いながら、本当にワクワクしながら聞いていました。

自分もBEARを応援し続けてきた一人として、このワクワク感をもっと世に広めるべく、自分にできる事を進めていこうと心新たにしたところで、筆を置きたいと思います。

ダァシェイリイェスの人気に嫉妬してダァシェイリイェス語変換サービスを作ってみた

タイトル通りなんですが、台風15号の中、突如バズりまくっていた「ダァシェイリイェス」という謎の言葉の人気に嫉妬して、ふと思いついて変換サービスを作ってみちゃいました。

ダァシェイリイェス語変換

変換ルールは今のところ極めて単純なものだけなので、ほとんどがただ単に半角カタカナに変換されるだけな事が多いかもしれませんが、色々入力してみて遊んでもらえると嬉しいです。

という訳で、ぜひ遊んでみて下さいね〜。

Webサイト内のよく使われているひらがなをへのへのもへじにしちゃうWebサービスを作ってみた

やってきました、誰得Webサービスのコーナー! 今回は、今北シリーズの第3弾、へのへのもへじ自動生成サービスです。

いまきたもへじ

WebサイトのURLを入れると、そのサイトで多く使われているひらがなで、へのへのもへじ的に顔を作っちゃうというサービスです。

URLを入れる代わりに、ひらがなで直接入力する事もできるので、顔っぽくなりそうな言葉を入れてみて楽しむ事もできちゃいます。

ちなみに、"へのへのもへじ"だと、"じ"が顔の輪郭になりますが、輪郭を適当なひらがなにしちゃうと、他のパーツと重なっちゃって輪郭にならない可能性が高いので、輪郭の代わりに、もう1文字増やして耳になるようにしています。

耳がそれっぽく見えるような文字を選ぶのはなかなか難しいですが、ぜひ色々試してみて下さいね。

今回も画像生成するようにしていますが、「へのへのもへじと言えば落書きの代名詞…落書きするものと言えば、やっぱノートだよね〜」って事で、ノートの端っこに落書きした風に仕上げてみました。

最初は「へのへのもへじと言えばカカシ!」と思ってカカシの画像素材を探したんですが、都合よく顔の部分だけ空白になっているものなど無く…自分でイラストを描ける訳でもなく…画像素材の部分はいつも苦しめられますね…。*1

という訳で、ぜひ遊んでみて下さいね〜。

*1:素材をさっくり作ってくれるような協力者を随時募集中です。(笑)

Amazon EC2上のHadoopでMeCabを使えるようにしてみた…い

最近すっかり"Webサービスを作ってみた"系の記事ばっかりでしたが、今回は久々にEC2上でのHadoopのお話。

以前の記事でEC2上でHadoopを動かした時は、MeCabがデフォルトで入っていなかったので、事前に自宅サーバ上で分かち書きしたデータを使っていました。

ただ、日本語処理するならMeCabはほぼ必須だろうし、せっかくならMeCabが使える状態でMapReduceしたいのが人情ってもんです。

という訳で、EC2上のHadoopを使って、MeCabを利用した日本語文章の単語カウントMapReduceに挑戦してみました。

基本的な方向性としては以下の通りです。

  1. EC2上でインスタンス起動。
  2. 起動したインスタンスMeCabをインストール。
  3. AMIとして保存。
  4. Hadoopを起動する時にこのAMIが使われるようにする。

で、実際にやってみた訳なんですが、結論から言うとうまくいきませんでした…。

AMIを保存して、そのAMIが使われるようにするところまではできたんですが、そのインスタンスにログインできない状態になってしまって、実際にMeCabを利用したMapReduceを動かすところまでできていません。

という事で途中までではありますが、やってみた手順を書き残しておきたいと思います。

以下、"[local]$"がローカルのサーバ上、"[ec2]$"がEC2上でのプロンプトを表す事とします。

EC2上でHadoopを起動してログインする

まずはEC2上にインスタンスを1つ起動させてログインします。

[local]$ hadoop-ec2 launch-master hadoop-test 1
[local]$ scp -i stellaqua.id *.pem root@ec2-XXX-XXX-XXX-XXX.compute-1.amazonaws.com:/mnt
[local]$ hadoop-ec2 login hadoop-test

タイムゾーンを変更する

今回(というか毎度)参考にさせて頂いているid:rx7さんの記事によるとタイムゾーンの設定をしておいた方がよいとの事なので、ついでにここでタイムゾーンの変更をしておきます。

[ec2]$ cp /usr/share/zoneinfo/Japan /etc/localtime
cp: `/etc/localtime' を上書きしてもよろしいですか(yes/no)? y

MeCabをインストールする

続いて本命のMeCabをインストールします。

[ec2]$ yum -y update
[ec2]$ yum -y install mecab mecab-devel mecab-ipadic
[ec2]$ echo 'こんにちは' | mecab
こんにちは      感動詞,*,*,*,*,*,こんにちは,コンニチハ,コンニチワ
EOS

ちゃんとMeCabが使えるようになりましたね!

EC2はroot権限が与えられるので、yumで必要なものをガシガシ入れてしまうとよいですね。

AMIを作成してS3にアップロードする

AMI作成の手順については、毎度お世話になっているid:rx7さんの記事を参考にさせて頂きました。

Amazon EC2/S3を使ってみた - 3.EC2起動後〜AMI作成 - 元RX-7乗りの適当な日々

[ec2]$ cd /mnt/
[ec2]$ ec2-bundle-vol -d /mnt --privatekey pk-XXXX.pem --cert cert-XXXX.pem --user XXXX-XXXX-XXXX -p hadoop-0.17.0-i386 -r i386
[ec2]$ ec2-upload-bundle --bucket stellaqua/ec2_images/hadoop_mecab --manifest hadoop-0.17.0-i386.manifest.xml --access-key XXXX --secret-key XXXX
[ec2]$ exit
[local]$ hadoop-ec2 terminate-cluster hadoop-test
[local]$ ec2-register stellaqua/ec2_images/hadoop_mecab/hadoop-0.17.0-i386.manifest.xml
IMAGE   ami-XXXX
[local]$ vi hadoop-ec2-env.sh
→"S3_BUCKET=hadoop-ec2-images"となっているところを、上記で指定したバケットに変える

ポイントは、manifestファイルをHadoopのバージョンとアーキテクチャの名前を付けて保存する事と、設定ファイルでAMIを保存したバケットを設定しておく事ですね。

これで、hadoop-ec2コマンドでHadoopを起動する時に、登録したAMIが使われるようになるはずです。

早速、クラスタを起動してログインしてみます。

[local]$ hadoop-ec2 launch-cluster hadoop-test 1
[local]$ hadoop-ec2 login hadoop-test

これでログインできるはずなんですが、なぜかログインしに行ったままウンともスンとも言わない状態になってしまいます。

"Permission denied"とも言われないし、netstatで見るとESTABLISHEDにはなっているので、接続自体はできているとは思うのですが…。その後も色々試してはみたんですが、現時点でお手上げ状態になっています…。

また折を見て試してみて、うまくいったら記事にしようかなと思います。

どこかで聞いた事があるような気がする歌詞を自動作曲サービスで歌わせてみた

せっかくそれっぽい歌詞があっても、実際にメロディがないと雰囲気が伝わらないよね…って事で、自動作曲サービスみたいのが無いか探していたら、まさにそのものズバリなサービスを発見しました。

http://hil.t.u-tokyo.ac.jp/~orpheus/pages/orpheus.html

東大大学院の研究室の研究成果なんだそうで、めちゃめちゃ本気なサービスですね。(笑)

とりあえずどこかで聞いたような歌詞メーカーでさっくり歌詞を作ってみます。

会いたくて会えない
 大切な仲間がいる
  もう一人じゃない
   君に会いたい
    ありったけの夢をかき集め

とってもそれっぽくていい感じです。ちなみに、Orpheusで入力できる歌詞は8小節分だけなので、とりあえず最初のブロックだけ抜粋して使う事にしました。

そして歌詞を入力して、それっぽい感じの曲になるまで設定の調整を重ねた末に…できた!

→「会いたくて会えない」 作詞:どこかで聞いたような歌詞メーカー 作曲:Orpheus

歌詞もそれっぽければ、曲もそれっぽいから困る。(笑)

曲の方も、いわゆる王道進行なコードで構成すると、いかにもな感じになるんだと思うんですが、Orpheusには残念ながら王道進行は無かったので、ロックをベースな感じにした調整にしています。

自動作曲・自動作詞は突き詰めていくと、1曲まるまるそれなりに聴ける曲ができちゃいそうですよね。

あなたが聴いているそのJPOPの曲…もしかしたら自動生成されたものかもしれませんよ。( ̄ー ̄)

ジブリ作品を混ぜ合わせて新しい作品のタイトルとキャッチコピーを作っちゃうWebサービスを作ってみた

最近、もはや趣味の域に達してきた感のある、誰得Webサービス作りのお時間でございます。

今回は、ジブリ作品最新作公開記念という事で、ジブリ作品のタイトルとキャッチコピーを使ったWebサービスを作ってみました。

ジブリブレンダー

イデア元は、例によって(?)、2chまとめサイトからです。

ジブリの題名混ぜて一番おもしろかったヤツが優勝 - おはようwwwお前らwwwwwwww

元スレではタイトルのブレンドだけでしたが、「キャッチコピーもブレンドしてみたら面白いんじゃね?」と思い付いて、タイトルとキャッチコピーをブレンドするようにしてみました。

元スレの方の下らなさ(いい意味で…)も相当なものでしたが、Webサービスができあがって試してみたら、キャッチコピーのブレンド具合が絶妙で、かなり破壊力抜群の仕上がりになりました。(笑)

という訳で、ぜひ遊んでみて下さいね〜。

何となくどこかで聞いた事があるような気がする歌詞を自動生成するWebサービスを作ってみた

ちょっと捕捉できていなくて出遅れた感はあるんですが、何だか面白そうだったので乗っかってみました。

J-POPの歌詞における「何か」の探され率は異常 ニュース速報BIP

この中で34224のコメントがうまくまとまっていたので、そちらから拝借させてもらって、適当に並び替えて歌詞を生成するWebサービスを作ってみました。

どこかで聞いたような歌詞メーカー

今のところ、単語を適当にパラグラフにばらけさせてるだけな感じですが、それでもそれなりにそれっぽくなるのが面白いところですな。(笑)

ただ、もうちょっと工夫してみると、もっとそれっぽくなって面白くなりそうな感じもするので、もうちょいいじってみようかなと思っています。

ちなみに、ニコニコ動画でも、元のスレの歌詞を使って曲を作っちゃった動画が既に上がっているようで、こういう職人さんの才能はやっぱりスゴイなぁと思ってしまいます。

http://blog.nicovideo.jp/nicolumn2/2010/07/j-pop.html

歌詞が自動生成できるなら、曲も自動生成したくなるところなんですが…作曲の才能が無い私には荷が重過ぎる課題ですね。(^^; その辺りはどこかのエラい人がやってくれる事を願って…。

という訳で、ぜひ遊んでみて下さいね〜。