ゲレンデがとけるほどくだらないスクリプト - すぎゃーんメモに引き続き、くだらないスクリプトを。
今度は動詞の前に「全裸で」を挿入する。
#!/opt/local/bin/perl use strict; use warnings; use JSON 'decode_json'; use LWP::Simple 'get'; use Text::MeCab; use Readonly; Readonly::Scalar my $zenra => '全裸で'; # 引数に文章があればそれを対象に my $text = shift; if (defined $text) { print zenrize($text), "\n"; } # 引数指定が無い場合はWassrのPublic Timelineを使用する else { my $json = get 'http://api.wassr.jp/statuses/public_timeline.json'; for my $status (@{decode_json $json}) { my $result = zenrize($status->{text}); print "$result\n"; } } # 日本語の文章を全裸にする sub zenrize { my $text = shift; my $mecab = Text::MeCab->new(); my $n = $mecab->parse($text); my $output = ''; # 末尾まで進める $n = $n->next while ($n->next); my $flg = 0; # 末尾からさかのぼる while (($n = $n->prev)->prev) { # フラグがたっていれば「全裸で」を挿入 # ただし、名詞/副詞/動詞のときはまだ挿入しない if ($flg) { my $insert = 1; if ($n->feature =~ / \A (名詞|副詞|動詞) /xms) { $insert = 0; } # また、連用形の動詞→助(動)詞の場合も挿入しない elsif ($n->feature =~ / \A 助(動)?詞 /xms && (split(/,/, $n->prev->feature))[5] =~ / 連用 /xms) { $insert = 0; } if ($insert) { $output = $zenra . $output; $flg = 0; } } # 出力の連結 $output = $n->surface . $output; # 動詞を検出してフラグをたてる if ($n->feature =~ / \A 動詞 /xms) { $flg = 1; } } # 先頭のチェック if ($flg) { $output = $zenra . $output; } return $output; }
ゲレンデがとけるほどくだらないスクリプトとほぼ同じだけど、ちょっと挿入条件を改良してみた。
「試してみる」とか動詞が2つ出てくる場合も自然な日本語になるように。
実行例:
$ ./zenra.pl 本音を言うと、チョコレートをとかす程度でいいから恋したい 本音を全裸で言うと、チョコレートを全裸でとかす程度でいいから全裸で恋したい $ ./zenra.pl 暑い!と全裸で思ってエアコンディショナーする前に、「氷水を全裸で飲む」、「温度低めのシャワーを全裸で浴びる」、この二つを全裸ですると電気代節約に全裸でなります マジで・・・ トカゲの気分を全裸で抱きしめて♪ 三つの約束。光に全裸で当てては全裸でいけない全裸で(熟睡できないから)。水に全裸で濡らさない(風邪を全裸で引くから)。食べ物を全裸で与えては全裸でいけない全裸で(太るから)。 全裸でスカイプヴァージョンUPした 気晴らしにSL24のスケジュールチェックなんか全裸でしてみる。親方のブログとSL24公式ページの番組表とやらが全く同じ構成に全裸で見える。もうわけが全裸でわからないのでぐんにゃり。本気でどうでも良く全裸でなってきた アイドルマスター メイド伊織のエプロンを全裸で光らせてみた。http://ext.nicovideo.jp/watch/sm7782534 ローション、ローション・・・ アイドルマスター真目が全裸で合う瞬間(とき)スバルザイホツノミスマルhttp://ext.nicovideo.jp/watch/sm7782011 全裸で*ちーちゃん*目が全裸で逢う瞬間(千早ソロ)http://ext.nicovideo.jp/watch/sm7781966 アイドルマスターL4Uキラメキラリラフタイムスクール真ソロhttp://ext.nicovideo.jp/watch/sm7781833 告知@ちんぽちゃん(chinpoko)が世界にキーボードを全裸で打つと全裸で違う文字が全裸で出る原因(打てないからぐぐれない)を全裸で要求しています。http://wassr.jp/user/chinpoko/statuses/QM6Oq98rVy 美希とともにトップをテキトーに全裸でめざすプレイ動画 デビュー前第3週http://ext.nicovideo.jp/watch/sm7781593 それを全裸で踏まえた上で現代日本において、全裸で毒されていない田舎の女子中学性がだな、火が全裸でついてだな、教師を全裸で誘う図をモチーフに全裸ですべきなのだよ。 106キーボード以外の設定に全裸でなってるとか?-Krile- http://nequal.jp/blog/2009/07/30/31/-Openpearブログを全裸ではじめました 全裸でhttp://d.hatena.ne.jp/sotarok/20090729/1248883342-[Openpear][nequal]Openpearブログはじめます 相変わらずの5とそれ以外の温度差がワロスhttp://www.nicovideo.jp/watch/sm2707709 ローマ字入力のつもりでカナ入力に全裸でなっているとか? 金銀リメイクのHPより●ゲーム中、おかあさんに全裸で話しかけることで、貯金を全裸でするかどうか全裸で選べるように全裸でなるよ。全裸で貯金しておくと、何かいいことが全裸であるかも!?⇒画像3枚目●おかあさん『ソウルの おかねで 全裸でかっちゃった! ゴメンね!』 ね全裸でむけたんと眠杉さんの仲間ま全裸でふね
まぁ完璧にはならないか。日本語ってむずかしい。