読者です 読者をやめる 読者になる 読者になる

once upon a time,

Iris Tradをビール片手に聞くのが好きなエンジニアが、機械学習やRubyにまつわる話を書きます

#tqrk09 で Accept LT してはじめての Gem をライブリリースに失敗しました

ruby NLP

Tokyu Ruby Kaigi 09 でAccept LTのトリで話しました。 3分だってのに盛りすぎ、かつDEMOで接続が悪くなるという前回もあった失敗を重ねてはじめてのGemをライブリリースすることに失敗しました。

なお、カリーヴルストは無事リリースできました。

instagram.com

レシピはクックパッドって便利なサイトを使いました。

cookpad.com

その後、きちんとリリースしたので今では Macをお使いのあなたなら、

brew install kytea
gem install kytea

で kyteaがRubyから使えるようになります!

kytea | RubyGems.org | your community gem host

kyteaはどんな子かというと、 三期も放送されているという「Working」に対してきちんと読み推定をしてくれる優秀な形態素解析です。

$ echo Working | mecab
Working 名詞,固有名詞,組織,*,*,*,*
EOS

$ echo Working | kytea
Working/名詞/わーきんぐ

YAPCの間使って頑張ってSWIGの挙動を調べた結果、Ruby側で更なるwrapperを書くという屈辱を味わっていますが、 おかげで、ぼちぼちな使い方ができるようになったのでよしとしています。

str = "今日はいい天気です。"

kytea.segment(str)
#=> ["今日", "は", "い", "い", "天気", "で", "す", "。"]

kytea.tag_info_of(str)
#=> "今日/名詞/きょう は/助詞/は い/形容詞/い い/語尾/い 天気/名詞/てんき で/助動詞/で す/語尾/す 。/補助記号/。 "

kytea.tags_of(str)
#=> [{:surface=>"今日", :tags=>[[{:tag=>"名詞", :val=>3.610404674503611}], [{:tag=>"きょう", :val=>1.0726515803715995}]]},
# {:surface=>"は", :tags=>[[{:tag=>"助詞", :val=>3.5500698037485963}], [{:tag=>"は", :val=>100.0}]]},
# {:surface=>"い", :tags=>[[{:tag=>"形容詞", :val=>2.5966088884369523}], [{:tag=>"い", :val=>100.0}]]},
# {:surface=>"い", :tags=>[[{:tag=>"語尾", :val=>2.7064013574728385}], [{:tag=>"い", :val=>100.0}]]},
# {:surface=>"天気", :tags=>[[{:tag=>"名詞", :val=>4.220721634732509}], [{:tag=>"てんき", :val=>100.0}]]},
# {:surface=>"で", :tags=>[[{:tag=>"助動詞", :val=>2.9093304720685786}], [{:tag=>"で", :val=>0.99994530321086}]]},
# {:surface=>"す", :tags=>[[{:tag=>"語尾", :val=>2.5160490891753264}], [{:tag=>"す", :val=>0.9998735552127426}]]},
# {:surface=>"。", :tags=>[[{:tag=>"補助記号", :val=>3.070959942739055}], [{:tag=>"。", :val=>100.0}]]}]

ブログを書いて、サントリーさんの応募ハガキを投函するまでがTokyu Ruby Kaigiなので、エンドレスTokyuにならないよう頑張ります!