MeCabで日本語を楽しむサイト、めかるぶ(Mecab-る)をリリースしました!日本語が分解されるって面白い!

このサイトでしている事はほんとに単純で、MeCabの解析結果をそのまま画面に表示しているだけです。
この他にリリースしている地域ったーやpimotterでもMeCabは使っていて、もうMeCabなしには生きられない体になってしまいました、YahooAPIのあれじゃ満足できないかも。
でもでも右左にMeCabでの解析結果、YahooAPIでの解析結果を見比べれるのは面白そうです。
仕事でもちょっと使っていますが、このライブラリとしての使いやすさは素晴らしいと思います。テキストプロトコルの偉大さを感じます。あと辞書に単語を足すのが凄く簡単です、パフォーマンスの問題はあるのですが、ちょっとした差分を辞書全体の構築からやり直さなくてもできるのでとっても手軽です。
以下今回のサービスのネタバレです。他は画面だけでした。モデルはありません。
require 'MeCab'
class MecabruController < ApplicationController
def index
@form = Form.new(params[:form])
@form.text ||= DEFAULT_TEXTS[rand(2)]
end
def parse
if (params[:form].blank? || (@form = Form.new(params[:form])).valid? == false)
render :text => "
値を入力して下さい。
"
return
end
m = MeCab::Tagger.new
@nodes = @form.text.split(/[\r\n\t\s ]+/).inject([]){|result, text_node|
n = m.parseToNode(text_node)
while n
result << [n.surface, n.feature]
n = n.next
end
result
}
end
class Form < ActiveForm
attr_accessor :text
validates_presence_of :text, :message => "テキストが入力されていません。"
end
DEFAULT_TEXTS = ["そんなことねーよ
前に俺がクオーターパウンダー頼んだ時、
玉ねぎがみじん切りの玉ねぎになっててわざわざ店まで戻って
「クオーターパウンダーの玉ねぎ違うだろ!」
ってクレームつけたら「?」みたいな感じで首かしげられて
新しいの渡されたけど開いてみたらまたみじん切りの玉ねぎで
「みじん切りの玉ねぎしかないなら予め伝えるべきだろ!」ってクレームつけたら
「いや、でも玉ねぎは玉ねぎですからねえ」みたいな事言われて
「いや、じゃなくて俺がクオーターパウンダー頼む理由は
玉ねぎがみじん切りじゃなくて千切りって理由で買ってるわけであって
それならビックマックたのんだ方がましじゃねーか!」
ってクオーターパウンダーモドキを投げつけたら
「こーまーりーまーすー」
とかいってきたからついでにポテトもばらまいてコーラも投げつけようとしたら
「こーまーりーまーすこぉーまーりーまーすぅー」
とか言いながら手を押さえ付けられたから
「え、何しちゃってんの?暴力?」
って言ってコーラ自分でかぶって
「店長さんよお、お前が手を叩いたから
俺にコーラ全部かかっちまったじゃねえか、どないしてくれますの」
って言ったら「こーまーりーまーすー」
ってまた言ってきたから示談金として
ビックマックとフィレオフィッシュ要求したら、警察に通報されてて捕まった",
"俺は昔H宿のマックでダブルチーズバーガーのLセット頼んだんだけど、
ドリンク置かれた場所がトレーの端だったから
地下行く階段の手前でトレーから落としたのね
あちゃーって顔してレジ見たら店員のお姉さんが笑顔で
「新しいのご用意しますね」って言いながら、
トレー持って立ち尽くしてる俺に小走りでカウンターの中から出てきたのね
多分落ちたカップを拾ったり掃除しようとしたんだろうけどさ
そしたらお姉さんがいきなり
「おきをふんすなっぶ」
とか言いながら落ちてた氷を踏んで豪快に転けたんだよ
そして俺に体当たりしてきて俺はトレーに残ってたポテトを
撒き散らしながら階段を転げ落ちた
お姉さんは体当たりした瞬間俺のみぞおちに二発位パンチしてて
マックの店員ははんぱねぇと思ったわマジで"]
end
以上です。それではよろしければMeCabを楽しんで下さい!








