12
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Livesenseその2Advent Calendar 2016

Day 19

簡単にそりwそりすぎてソリになるRubyスクリプト

Posted at

こんにちは。今年、転職ドラフトでリブセンスに入社した@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

12
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?