最近ブログ更新してないなーと思ってふと最終更新日見たら3ヶ月も前の日付になっていた。良くない。ブログ書いてないということはブログに書けるような馬鹿なことをしてないということで、3ヶ月間一日も休まず馬鹿であったにもかかわらず馬鹿なことをしてないというのはとても良くない。これはアイデンティティの危機である。

ということで久々に馬鹿なことをしないとと思い立ったわけでは全然なくて、ただただ単純に八九寺が可愛過ぎるので、八九寺に名前を噛みまみたしてもらえるモジュールを作ってみた。結果的にだいぶ馬鹿になった。

faultier's kamimamize at master - GitHub

こんな風にして使います。

$ cat kamimamizer.rb
#!/usr/bin/env ruby
# coding: utf-8
require 'kamimamize'

mayoi = Kamimamize::Coverter.new({
    :pattern => { :priority => 10 },
    :repeat  => { :priority => 5, :through => 0.4 },
    :swap    => { :through => 0.05, :appid => 'APPID' },
    :default => { :class => 'Kamimamize::Plugin::Random' }
})

puts mayoi.kamimamize('阿良々木', 'あららぎ')
puts mayoi.kamimamize('羽川', 'はねかわ')

$ ./kamimamizer.rb
阿良々々々木さん
骨川さん (ほねかわさん)

名前とその読みを入れるとカミママイズされた名前が出てきます。カミママイズだなんていやらしいです。それだけです。それだけですが、何か?

一応ちょっとだけ解説すると、引数にプラグインの設定を入れてKamimamize::Converterをnewすると、kamimamizeするときにそのプラグインのどれかを使って名前を変換します。priorityが高い奴から順に処理されて、自分が処理できない名前のときは次のプラグインに任せます。throughが設定されてると大体それぐらいの割合で答えられるときでもスルーして次に渡します。上の例だとrepeatプラグインは4割くらいの確率で処理できるときでもスルーします。全部のプラグインがスルーすると最後にdefaultのプラグインが拾います。何も設定されてないとrandomプラグインがdefaultで、ランダムで八九寺にひどいことを言われます。

プラグインはとりあえず4つ作ってあって、

  • HashかYAMLファイルのパスで名前とそれに対応する変換結果のリストを渡すと、対応する名前が来たとき変換結果リストの中からランダムで返すpatternプラグイン。何もリストを渡さないと「八九寺」にだけ反応する。
  • 同じ文字が続く名前、もしくは「々」が含まれる名前のときにその数を増やしたり減らしたりして噛むrepeatプラグイン。
  • 名前の読みの母音や子音を適当に置き換えるswapプラグイン。Yahoo!のテキスト解析APIを使うのでアプリケーションIDが必要。ちなみに、名前の字面を見ているわけではなく読みを適当に置き換えるだけなので、そんなに上手いことは言わない。
  • 返答リストからランダムに返すだけのrandomプラグイン。返答リストは初期化時に設定できるけど、しないと八九寺にひどいことを言われる。Converterをnewするときに明示的にdefaultを設定しない場合、このプラグインがthrough=0で一番後ろに設定される(つまり上の例ではdefaultの設定は意味ない)。

がある。上の例だと阿良々々々木さんはrepeatプラグインで、骨川さんはswapプラグインの変換結果。何かと適当なので多分そんなに面白い結果は出ないと思うけど(例えば戦場が原とか入れると意味不明すぎて噛んだのかどうかすら怪しいのが出てくるとか、阿良々木さんをカミママイズすると木が消えちゃうとか)、個人的には羽川が骨川とか花沢に変換されたのが面白かったので満足です。ひらがなの音を置き換えるのって結構面倒なのよ。というか八九寺の神懸ったセンスに勝てる気がしない。

あとは類義語に置き換えるとか、名前の中の語彙の分割を真面目にやるとか、specくらい書くとかしたいけど、多分飽きてやんないだろう気配がします。自分で言うな。なんというか、カミママイズするためだけにY!のAPIを使うという無駄遣いをしたかっただけだったりする。Y!のAPI面白かった。途中で形態素解析とかして遊んでた。どうせならもっと盛大に無駄遣いしてみたいなあ。

ねんどろいどぷち 化物語セット 其ノ貮 (ノンスケールABS&PVC塗装済み可動フィギュア)
ねんどろいどぷち 化物語セット 其ノ貮 (ノンスケールABS&PVC塗装済み可動フィギュア)
クチコミを見る
ねんどろいどぷち 化物語セット 其ノ壹 (ノンスケールABS&PVC塗装済み可動フィギュア)
ねんどろいどぷち 化物語セット 其ノ壹 (ノンスケールABS&PVC塗装済み可動フィギュア)
クチコミを見る

余談

上のねんぷちの化物語セット、これを書いてる時点ではAmazonでは受付終了しちゃってるんですが、それを今更気付いてものすごく落ち込んでたら、twitterで

と八九寺が教えてくれるという素敵展開が。@mayoi_hachikujiには足を向けて寝れそうにないと思いながらどこにいるか知らないので普通に寝ました。ありがとう八九寺。大好きだ八九寺。