特集 2018年12月13日

とにかく読みにくい「CAPTCHA百人一首」を作る

ネットで見る読みにくい文字を百人一首にしました

ネットで会員登録をするときなどに、歪んだ文字を読んで入力させられることがある。
「CAPTCHA(キャプチャ)」といって、コンピューターは歪んだ文字を文字として認識出来ないが、人間は認識出来ることを利用して、不正な登録を防ぐ仕組みだ。

しかし最近はコンピューターも発達しているので、CAPTCHAで表示する文字もどんどん歪んでいる。人間でも読めないものが出てくるくらいだ。

こんなに「読みにくさ」を追求した仕組みって他にはないんじゃないか。
これ、何かに活かせないだろうか。

考えた結果、読みにくい百人一首「CAPTCHA百人一首」が誕生した。

1987年兵庫生まれ。会社員のかたわら、むだなものを作る活動をしています。難しい名字のせいで、家族が偽名で飲食店の予約をするのが悩みです。

前の記事:コスプレグッズの「ひねり芸」を堪能する

> 個人サイト むだな ものを つくる

これがCAPTCHAだ

CAPTCHAで出てくる歪んだ文字はこのようなものだ。

001.jpg
「CAPTCHA」で画像検索した結果。

最近は画像認識のプログラムがどんどん賢くなってきているので効果が薄くなってきているけれど、伝統的なスパム対策の1つだ。

ところで、百人一首という古来から伝わるゲームがある。
小倉百人一首という歌集に詠まれた和歌を読み上げ、下の句が書かれた取り札を取っていくという遊びだ。

002.jpg
これだこれだ。

小学生のときに授業でやった覚えがある。あと正月に坊主めくりという謎のルールでも遊んだぞ。
(※坊主めくり:順番に読み札を取っていき、読み札に描かれた詠み主が坊主なら手札を捨て、姫なら捨てられた札を総取り出来る遊び。和歌と関係ないなこのルール。)

取り札に書かれた文字は読みやすく、どこに置かれたかを瞬時に判断しやすくなっている。
これに読みにくさの代名詞でもあるCAPTCHAの仕組みを組み合わせることで、取り札の読みやすさを台無しに出来るんじゃなかろうか。
早速やってみよう。

開発者の気分を悪くするプログラムが誕生

CAPTCHAは様々なプログラミング言語で実装している人たちがいる。
今回はそのプログラムを流用して作ることにした。
※プログラマーな人向けの注釈:Gregwar/CaptchaというMITライセンスのコードを改変しています。

003.jpg
元のプログラムで作った画像。いい感じに読みづらい。

これを縦書き出来るようにして、下の句を程よい位置に配置するようにプログラムを直し、こんな感じになった。

004.jpg
あー読みづらいぞ。いいぞ!

字間をちょっと詰めてぐちゃっとする、背景の線は百人一首っぽくないのでやめるなど、今後使わなさそうな調整を繰り返して、理想的な読みづらさの下の句が出来た。

005.jpg
CAPTCHAっぽさを出すために、横書きのものも作ってみる。

同じ処理を繰り返すのはプログラムの得意分野だ。なので、一首のデータでうまいこと調整すれば、残りの九十九首にも同じプログラムを通すだけで、すぐに読みづらい百人一首を作り出すことが出来る。
そのおかげで縦書きも横書きもさっと全部のデータを作ることが出来た。もう満足である。

よしよし、と思っていたら1つだけおかしなものを見つけた。

006.jpg
素性法師の句「今来むといひしばかりに長月の 有明の月を待ち出でつるかな」だ。

横書きがどうしてもはみ出てしまう。数えてみたら、下の句が16文字もあった。
五七五・七七のはずが五七五・八八だ。2文字も字余りしている。

007.jpg
ちょっと!素性法師!字余りにも程があるんじゃないですか!?

想定外のケースが出てきて特別対応をする羽目になるのはプログラムあるあるなのだが、まさか百人一首にも例外処理が存在するとは。
タイムスリップして特別料金を頂戴しないといけない気分になった。

気を取り直して、すべてのデータが揃ったので印刷していこう。

008.jpg
大きさがちょうど良さそうな、名刺用紙に印刷していく。

どんどん印刷出来て気持ちが良い。
余談だが、この用紙の印刷用テンプレートが横長仕様だったため、

009.jpg
このように百人一首のデータを90度回して配置していたのだが、
010.jpg
間違いがないか首を傾けて「えーとこれは10番の句で、これが11番で…」と読みながら確認していくうちに気持ちが悪くなった。

目つきの悪い画像を掲載して恐縮である。
ただでさえ読みにくい文字を、首を傾けながら読むと平衡感覚がおかしくなるのか気分が優れなくなるので注意してほしい。

遊んでみよう

とにもかくにも完成した。これが読みにくい「CAPTCHA百人一首」だ。

011.jpg
百人一首らしさのある縦書きバージョンと、CAPTCHAらしさを重視した横書きバージョンだ。
012.jpg
がさっと並べて見ると壮観だ。

目まいがしてくるな。実際に遊んでみよう。

013.jpg
この4人で対決します。

当サイトのライター、北村ヂンさん・ネッシーあやこさん・與座ひかるさんとやってみた。
ちなみに、ともに群馬県出身の北村さん・ネッシーさんは百人一首は初体験とのことだった。群馬県は上毛かるた文化が強すぎる。

通常の百人一首、縦書きCAPTCHA百人一首、横書きCAPTCHA百人一首をそれぞれ何枚か選んで遊んでみるという検証をしようとしたが、いきなり壁があった。

014.jpg
選んだ下の句の書き出しをピックアップして、これと同じ始まりの取り札を探すのだが、
015.jpg
CAPTCHA百人一首は既に探すのが面倒!

「ありあけの…?どれ?どれ?」と、遊ぶ前から読みにくさが襲いかかってきた。同時に、検証をお願いしている身としては申し訳なさにも襲いかかられている。

準備に手間取ったが、普通の百人一首の試合開始である。

016.jpg
ここからは同じような画が続きます。
017.jpg
初めてのはずの北村さんがうまい。上毛かるたで鍛えられているのでは…?

小学生ぶりにやったが、札を取れると楽しい。「このたびはぬさもとりあへず手向山 紅葉のにしき神のまにまに」なんかは「神のまにまに」の語感が面白くて当時覚えたのが、まだ記憶に残っていて驚いた。
マンガ「ちはやふる」を読んでいた北村さんと與座さんが、「ちはやぶる…」という上の句への反応が異常に速くてみんなで笑ってしまった。

さて、ここからが肝心のCAPTCHA百人一首である。まずは百人一首っぽさがある縦書きからだ。

018.jpg
いやーこれは…

先ほどは序盤からバッシバシ反応していた與座さんが止まった。
並んでいる枚数が多いとやはり読むのが大変になるようだ。「全然反応出来ない…」という声が上がった。

019.jpg
製作者の僕はちょっとだけ見慣れているので、逆に序盤は取れる!
020.jpg
しかし、枚数が少なくなる後半から北村さんが巻き返してくる。

北村さんがやたらと強い。そして「ちはやぶる…」という上の句への反応速度がやはり異常だ。今度から「ちはやふる」を読もうと思う。
さすがに残りが数枚になると、下の句の1文字目だけを読めばよくなるので、読みにくさはそこまで気にならなくなるようだ。

021.jpg
では、横書きはどうか。
022.jpg
北村さんが取った!なんだかどんどん速くなってませんか。

「(上の句と下の句の組み合わせを)ちょっと覚えてきましたよ」と北村さん。読みにくいかどうかに関係なく普通に上達してるぞ…。

023.jpg
「自分にこんな才能があったとは…」新たな名人が誕生しつつあるな。

北村さんの全勝という結果で検証は幕を閉じた。みんな「ちはやふる」を読んで上毛かるたをやろう。

意外にも縦書きの方が横書きよりも読みにくいという意見が多く出た。
横書きは本物のCAPTCHAで見慣れているので、読みにくいなりに認識する経験則が身に付いているのかもしれない。
逆に縦書きはCAPTCHAでもほぼ見られない形式なので、横書きよりも頑張って読み取ることになる、というのはありそうだ。

024.jpg
ということで、縦書きバージョンを50枚くらい並べてやってみた。

目まいがするほどの読みにくさである。「あーこれ最悪だ…」と與座さんがポツリ。
さすがにこの枚数から正解を見つけ出すのはかなり時間がかかった。

025.jpg
取った自分にびっくりしているネッシーさん。

ただ、難しいなりに見つけたときの爽快感はひとしおだ。
慣れている人ほど戸惑いそうなので、ハンデを埋める意味でもいいのかもしれない。


対コンピューター用兵器として準備しておきたい

コンピューターには難しいが人間なら読める、というCAPTCHAのアプローチの仕方は好きだ。

将棋も囲碁もコンピューターがトップレベルにまで進出してきたが、こうなると百人一首の世界にも「かるた取りロボ」みたいなのが出てくるのも時間の問題なのではないか。
そういうときにこのCAPTCHA百人一首があれば撃退可能なはずだ。
Xデーのために、あの読みにくい文字を読む訓練を積んでおきたい。
 
026.jpg
最後の1枚も取るようにしたら、発声の瞬間に誰が躊躇なく取りに行くかがあらわになって毎回爆笑になった。

 

▽デイリーポータルZトップへ

デイリーポータルZを

 

▲デイリーポータルZトップへ バックナンバーいちらんへ

↓↓↓ここからまたトップページです↓↓↓