hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

雑な日本語変換ソリューション開発した

背景

近年,東インド会社の台頭によって,グローバル競争が激化している.我々がちまちま日本語変換してるあいだに英語圏ではインスタントメッセンジャーFacebookに買収されるといった状況である.
そこで,グローバル競争に打ち勝つための全く新しい雑な日本語変換ソリューションを開発した.

cliime

cliimeはコマンドライン上で動作する雑な日本語変換で,CLIで動くIMEということでcliimeである.
使い方は簡単で,ローマ字を書くと,雑に日本語に変換された結果が標準出力に出てくる.

% bundle exec -- ruby cliime.rb shuumatuhakawaniikimasita
週末は川に行きました
終末は川に行きました
周末は川に行きました
しゅうまつは川に行きました
週末は革に行きました
終末は革に行きました
周末は革に行きました
しゅうまつは革に行きました
週末は皮に行きました
終末は皮に行きました
周末は皮に行きました
しゅうまつは皮に行きました
週末は河に行きました
終末は河に行きました
周末は河に行きました
しゅうまつは河に行きました

わけわからない言葉でも変換できる.

% bundle exec -- ruby cliime.rb chousuppasuppapauda-
超すっぱすっぱパウダ−
超酸っぱすっぱパウダ−
ちょうすっぱすっぱパウダ−
チョウスッパすっぱパウダ−
超すっぱ酸っぱパウダ−
超酸っぱ酸っぱパウダ−
ちょうすっぱ酸っぱパウダ−
チョウスッパ酸っぱパウダ−
超すっぱスッパパウダ−
超酸っぱスッパパウダ−
ちょうすっぱスッパパウダ−
チョウスッパスッパパウダ−
超すっぱスッぱパウダ−
超酸っぱスッぱパウダ−
ちょうすっぱスッぱパウダ−
チョウスッパスッぱパウダ−

素朴なコマンドなので,percolと組み合わせて,結果を絞り込んでクリップボードに入れるとかできる.

% bundle exec -- ruby cliime.rb chousuppasuppapauda- | percol | pbcopy

仕組み

ユーザーがローマ字を入力する.

chousuppaipauda-

romankanaで,ローマ字をひらがなに変換する.

ちょうすっぱいぱうだー

ひらがなになったら,Google日本語入力CGIに投げると,変換候補のJSONが返ってくる.

[["ちょうすっぱい", ["超酸っぱい", "超すっぱい", "ちょうすっぱい", "チョウスッパイ", "チョウスッパイ"]],
 ["ぱうだ", ["パウダ", "パウだ", "ぱうだ", "PAWだ", "pawだ"]],
 ["-", ["−", "-", "〜", "~", "ー"]]]

これを展開してくっつければ完成.

超酸っぱいパウダ−
超すっぱいパウダ−
ちょうすっぱいパウダ−
チョウスッパイパウダ−
超酸っぱいパウだ−
超すっぱいパウだ−
ちょうすっぱいパウだ−
チョウスッパイパウだ−
超酸っぱいぱうだ−
超すっぱいぱうだ−
ちょうすっぱいぱうだ−
チョウスッパイぱうだ−
超酸っぱいPAWだ−
超すっぱいPAWだ−
ちょうすっぱいPAWだ−
チョウスッパイPAWだ−

便利

ローマ字を入力するだけで使えるので,非常に高速に利用できる.GoogleAPIと通信するので時間かかるけど,変換キーとか押す時間を短縮できるので,すばやい.
標準出力に表示するだけなので,好きなツールと組み合わせて使えて,汎用性が高い.いろいろ表示して選ぶというUIだけど,以下のように,必ず先頭を利用するということにすれば,I'm Feeling Lucky感を出せる.

bundle exec -- ruby cliime.rb chousuppasuppapauda- | head -n 1 | pbcopy

あと,変換結果に独特の味わいがあって,雑さがあっておもしろいと思う.




ご利用ください

GitHubに置いてあるのでご利用ください(無料).
https://github.com/hitode909/cliime