こんにちは。今年、転職ドラフトでリブセンスに入社した@saxtondreyです。
この記事はリブセンスアドベントカレンダー2枚目の19日目です。
そりすぎてソリになったw
ぽきたw 魔剤ンゴ!? ありえん良さみが深いw
二郎からのセイクで優勝せえへん? そり!そりすぎてソリになったw
や、漏れのモタクと化したことのNASA✋
そりでわ、無限に練りをしまつ
ぽやしみ〜
皆さんも初めてこのコピペを見た時からツイッターオタク文法に囚われてしまい、「○○過ぎる」などと聞くとすぐにソリになってしまっていませんか?私はなっています。
ex)
- マメすぎて→豆になったw
- 暑すぎて→アッツ島になったw
しかし、ネタ切れ著しいので、単語を入れたらコピペの「ソリ」の部分を生成する、簡単なスクリプトを書きました。
概要
とりあえず頭韻を踏めばいいと思うので、MeCabを使った形態素解析で、最初の単語の読みを調べます。
そして、そのよみをGoogle Suggest APIに突っ込み、検索候補の一位を取ってきます。
このとき、「ぽきたw」を入力すると、「ぽきたw コピペ」などが返ってくることがありますが、今回は先頭の一単語の読みのみをAPIに投げるため、大体の場合、予測変換も一単語の身になると思われます。
コード
require 'kconv'
require 'natto'
require 'google_suggest'
nm = Natto::MeCab.new
yomi = nm.parse(ARGV[0].match(/.+(?=過ぎて)/).to_s.toeuc).toutf8.split("\n").first.split(',').last.tr('ァ-ン','ぁ-ん')
result = GoogleSuggest.suggest_for(yomi, region: 'jp')
puts "#{result.first}になったw"
nattoとgoogle_searchの2つのGemを入れています。Kconvで文字コードを変換しているのは、MeCabのインストール時に適当に文字コードを設定してしまったからか、入出力の文字コードを調整する必要が出てしまったからです。
やってみた
[saxtondrey@22:04:48 ~/work/ruby/sorisugiter]$ bundle exec ruby app.rb ソリ過ぎて
ソリオになったw
残念ながらソリになることはできませんでしたが、良さそうです。ほかの言葉でもいってみましょう。
[saxtondrey@22:17:47 ~/work/ruby/sorisugiter]$ bundle exec ruby app.rb キモ過ぎて
着物になったw
[saxtondrey@22:17:56 ~/work/ruby/sorisugiter]$ bundle exec ruby app.rb あるある過ぎて
アルファードになったw
[saxtondrey@22:20:57 ~/work/ruby/sorisugiter]$ bundle exec ruby app.rb おかし過ぎて
お菓子になったw
[saxtondrey@22:21:03 ~/work/ruby/sorisugiter]$ bundle exec ruby app.rb 歩き過ぎて
アルキメデスになったw
[saxtondrey@22:22:19 ~/work/ruby/sorisugiter]$ bundle exec ruby app.rb 遠過ぎて
トートバッグになったw
結構ジワる感じの出力が得られました。
サジェストの結果を再度形態素解析して、「名詞のみ」「入力そのものとは違うもの」にすると、さらにいろいろなものになれそうです。
そりでわ、無限に練りをしまつw