hirax.net::Keywords::「日本人」のブログ



2004-04-12[n年前へ]

ようこそ「辞書単語登録プログラミング」の世界へ 

ATOKではじめるperlスクリプト


 日本語を使う日本人として、PCを使っていて不便を感じることは多い。例えば、URLを入力するときには半角英文字入力モードに切り替えてキーをタイプしなければならないのに、その一方メールを書くときにはATOKの全角ひらがな入力モードに切り替えてキーをタイプし日本語を入力しなければならない。そして、そのメールを書いている途中にアルファベットのフレーズが出てくるようであれば、また文字入力のモードを切り替えなければならない。基本的にアルファベットだけを使うラテン語系の言語と違い、日本語のような多くの文字を入力するためにIMEなどのプログラムを使わなければならないとなると、どうにも不便を感じることが多い。そんな時、アルファベット文化圏に生まれなかったことを少し残念に思ったりする。
 

 しかし、短所と長所は紙一重の表裏一体のものである。短所と長所が表裏一体というからには、どんな視点から眺めるかで、その表と裏は短所にもなれば長所にもなるハズである。IMEなどの日本語入力システムを使わなければならない不便さも、少し考え方を変えてみればきっと何かの便利さにも姿を変えるハズである。例えば、「グーグル」なんていう言葉を"
www.google.com"と辞書に単語登録してさえおけば、入力の手間を少し省くことができる。つまりは、日本語入力システムがブックマーク代わりになったりもする。つまり、日本語入力システムを単なる「よみ→漢字」という変換を行うデータベースにしておくのではなくて、「名前→URL」という変換を行うデータベース代わりに使うと便利であったりする。
 

 そんな考えをさらに進めて、少し前にATOK数式処理プラグインなんていうものを作ってみた。JUSTSYSTEMの日本語入力システムATOKに数式処理機能を追加することで、数式計算を日本語入力と同じような感覚でできるようにしてしまうというツールを作ってみたのである。つまり、日本語入力システムを使えば「ひらがなの読みを入力すれば漢字が表示される」のと同じように、「数式を入力すればその計算結果が表示される」というものを作ってみたわけだ。日本語入力システムを使わなければならない不便さを、それを使えば、「どんなに算数が苦手な人であっても、誰もが天才算数少年になることができてしまう」という短所・長所変換システムを作ってみたのであった。

 もう少し言い換えると、「有限の『よみ』を有限の『漢字』に対応させる」といったような「有限のデータベース」だけではなくて、「(色んな無限のパターンがある)数式→(色んな無限のパターンがある)計算結果」という無限のデータベースに日本語入力システムを変えてみたわけである。今回はそんな考えをさらにさらに押し進めて、ATOKの機能を必要以上にムダに機能拡張してみたい。
 

 というわけで、今回は「数式」ではなく「perlスクリプト」プラグインを仕立ててみた(最新バージョンはperlだけでなく、ruby,awk,何でもござれバージョンになっています)。「数式」も「perlスクリプト」も結局は「プログラム言語」であって何ら違いはない(ATOK数式処理プラグインではクリップボードを変数として使うこともできる関数でもあった)わけだが、色々なことを実現しようとするならばperlの方が高機能であるに違いない。そこで、Windowsにインストールされたperlの機能をATOKから使うことができるプラグインを作ってみた。「そんなもの何の役に立つ?」「無意味にムダじゃないの?」と思う人が多いだろうし、その疑いは必ずしも外れてはいないのだが、とりあえず少し使い方の説明をしてみることにする。

 例えば、まずは「perlスクリプト・プラグイン(最新バージョンはperlだけでなく、ruby,awk,何でもござれバージョンになっています)」を使って、これまでの「数式処理プラグイン」と同じようなことをしてみることにしよう。ソフトウェアをインストールした後でATOK上で半角英数で入力中に、まずは
 

print sin(3)/5

と入力して「AMET変換」すると、
 

0.0282240016119734

という風に計算を行った結果が出力される。もちろん、これまと同じように入力語句の末尾に"="を付けて
 

print sin(3)/5=

と入力して「AMET変換」すると、
 

print sin(3)/5 = 0.0282240016119734

というように、入力スクリプトとその実行結果(計算結果)が共に出力される。なんと、これでATOKユーザーならばperlの数式処理機能を全て文字入力中に使うことができるわけである(perlがインストールされていれば)。
 
 

 また、クリップボードにテキスト形式のデータが入っていれば、その内容が入力されたファイルがperlスクリプトに引数として渡される。だから、例えばクリップボードに
 

いろはにほへと
ちりぬるをわか
よたれそつねな
らむうゐのおく
やまけふこえて
あさきゆめみし
ゑひもせす

なんていうデータが入っている時に、ATOKの文字入力で
 

$i=1;while(<>){print qq/$i: $_/;$i++}&

と入力(末尾の&は出力結果が長くなるときのおまじない)して変換すると、クリップボードにコピーされていたデータを
 

1: いろはにほへと
2: ちりぬるをわか
3: よたれそつねな
4: らむうゐのおく
5: やまけふこえて
6: あさきゆめみし
7: ゑひもせす

と行番号付きで出力することができる。

 つまり、ATOKを使う限りにおいては、どんなアプリケーションであってもperlの機能を使うことができるわけだ。上の行番号を出力した例のように、メモ帳からでもあるいはノートパッドからでもperlの機能を使った機能拡張をすることができるわけだ。メモ帳ですら、perlの正規表現を駆使した整形処理をすることができるようになるのである。
 

 えっ?こんな「perlスクリプト」を入力するのはメンドくさい?こんな"$i=1;while(<>){printqq/$i: $_/;$i++}&"なんていうプログラムを毎回毎回入力できるハズがない? うーん…何のためのATOK何のための辞書変換、何のための日本語入力システムだろうか? …そう、こんな「perlスクリプト」はただ辞書に単語登録しておけば良い。「ぎょうばんごう」なんていう「読み」で"$i=1;while(<>){printqq/$i: $_/;$i++}&"という文字を登録しておけば済むのである。すると、最近のATOKであれば予測入力すらできてしまうから、二回目からは「ぎょう」という辺りまで入力したときにはすでに「perlスクリプト」が表示されているハズなのである。これがATOKではじめる「辞書単語登録プログラミング」なのである。これからの時代は「入力予測システム」「プログラム・データベース」「クリップボードを用いたファイル不要のプログラミング」という実にお気楽環境なのである。
 

 そのお気楽プログラミングでどんな便利が手にはいるかというと、例えば「じこく」という「読み」に
 

($s,$m,$h,$d,$o,$y,$w,$i)=localtime;print qq/$h:$m:$s/;

というような、文字を登録しておけば、「じこく」でAMET変換すると
 

0:18:16

という風に時刻を表示させることもできるし、例えば
 

ねん = "($s,$m,$h,$d,$o,$y,$w,$i)=localtime;$y+=1900;print qq/$y\//;"
がっぴ = "$s,$m,$h,$d,$o,$y,$w,$i)=localtime;$o++;print qq/$o\/$d/;"
じかん = "$now=localtime;print qq/ $now /;"

なんていう風に登録しておけば「ねん+がっぴ」を変換すれば
 

2004/4/12

になるし、「じかん」であれば
 

 Mon Apr 12 00:22:27 2004 

というように自動入力することだってできるのである。
 

 もちろん、system関数だって使えるわけだから、他のプログラムの機能を使うことだってできる。もちろん、他のプログラムの機能を使うまで行かなくても、他のプログラムを起動だけさせるなんてことだって簡単にできる。例えば、「でんたく」なんていう読みには"system(calc)"というような文字を辞書登録しておけば、「でんたく」と入力しperlスクリプトを表示させた後に変換を行うと、電卓が起動するようになる。
 

 上に挙げたものは、とても簡単なサンプルに過ぎない。おそらく、perlを使いこなす人たちであれば、色んなperlスクリプトで色んな機能をATOKに追加していくことができるに違いない。
 

 というわけで、今回はこんな「ATOKperlスクリプト・プラグイン」のご紹介をすることで、ATOKではじめる「辞書単語登録プログラミング」の世界へようこそと宣言をしてみたい、と思う。Windows上でATOKを使っていて、perl使い、という人がどれだけいるかは判らないが、一行プログラミングならぬ「辞書単語登録プログラミング」も面白いかも、と小さく呟いてみたいと思うのである(ちょっと弱気)

2004-05-17[n年前へ]

たくさんの「ドラえもん」と「のび太」たち 

 バッドノウハウカンファレンスのレポートを眺めた中で、とても惹かれたのがこの文章

毎日のように問題にぶち当たるのび太と、適当な道具を与えたつもりが失敗を繰り返させてしまうドラえもん。どちらも未熟でどうしようもないですが、一方で彼らの信頼関係や甘い失敗劇に、ぼくらは羨望を禁じえません。
 そういえば、高校時代の英語の先生の一人の口癖が「他人に頼るばかりで、自分で戦おうとしない。日本人を駄目にしたのは『ドラえもん』というマンガだ」というものだった。けれど、私にはその言葉に少しの違和感があった。二十年近く経って、ようやくその違和感の原因を知ることができた。私の師事した英語の先生も、おそらく「子供たちがのび太に自分を重ねながら、ドラえもんを読んでいるだろう」と考えていたに違いない。「でも、ドラえもんになりたいと思った人はいるだろうか。きっと少ないだろう」と考えていたに違いない。そこに、おそらくその人と私の感じ方の違いがあったのだと思う。その感じ方の違いが私に違和感を感じさせていたのだろう、と思う。

 もし勝手に今日だけの「オレ定義」をしてしまうなら、(少なくとも一部分的にでも)ドラえもんになりたいと思ったことがある人を(潜在的)技術系の人だということにしよう。私たちはきっとのび太ではなく、ドラえもんになりたかったのだと思う。あるいは、ドラえもんを作り出すのび太になりたかったのではないだろうか、と思う。だから、(例えば)エンジニア達は自分達自身を自分より人を助けることを大切に思う人だと思いこんでいるのだ。

 「でも、ドラえもんになりたいと思った人はいるだろうか。きっと少ないだろう」と語る人に、そんなドラえもんになりたかった子供たちの気持ちをぜひ想像してみてもらいたい、と思う。

2004-06-06[n年前へ]

帰ってきた「美人フィルタ」で眉毛処理 編 

オマエらまとめて美人にしてやる

 ここで作成したソフトのオンラインバージョンが作成されています。

オマエらまとめて美人にしてやる

 去年、「美人の微分方程式」で美人フィルタというものを作ってみた。「美人フィルタ」というのは、微分方程式を駆使することで、何故か人の顔を勝手に「美人」にしてしまうという画像処理フィルタだった。「勝手に顔を変える」とは言っても、美人の顔にされて文句を言う人は少ないわけで、美人フィルタの評判はなかなかに良かったようである。特に、日頃hirax.netなんかを見に来たりはしそうにない、女性に特に興味を持たれたようだった。hirax.net自体には何の興味持たない女性でさえも、自分の顔を美人にする「美人フィルタ」には興味を持ったわけである。

 しかし、やはり自分の顔のこととなると、女性というのは男性に比べて実に文句が多い細かい所も見逃さない。「美人になったようにも見えるけど、眉毛が太くなってイヤ」とか「太い眉毛も許せないけど、口が太く大きくなるのはもっとサイアク」などと、色々文句を垂れている改善点を指摘してくるのである。確かに、顔の画像に「-微分強調-を用いることで顔の部品を強調する」という美人フィルタは、目を大きくして魅力的な瞳を作り出したりする代わりに、眉毛も太くクッキリとさせ、口も大きくハッキリとさせてしまう。

 しかし、日本人はもともと顔の部品が小さめだから、その程度の強調処理は良いだろうと私は考えていた。それに加えて、仲間由紀恵や深津絵里や古くは松本小雪、つまりは太い眉毛の女性が私は大好きだ。だから、ついつい「いーじゃん、太い眉毛でも」とか、「大きな口が悪かったらオバQや清川虹子はどうするのさ」とか、「オレは太い眉毛が好きなんだけど」と言っていたのだが、そんな負け惜しみに対しては「太い眉毛なんてありえないー」とか、「オバQなんて人間じゃないし」とか「松本小雪とか清川虹子なんて知らないし」、そしてついには「アンタの趣味なんかどうでもいいし」などという罵倒が投げつけられてきたのである。そして、「あのねー、男には判らないだろうけど、眉毛処理とか大変なんだからねー」「美しくなるっていうのは大変なんだからねー」とか、「そんな-画像処理で美人になる-なんて、所詮現実を知らない男の妄想なのよっ」「甘過ぎっ」とまで言われていたのである。

 確かに、私は眉毛抜きの真実は知らない。しかも、そのクセ「画像処理で美人になる」なんて書いたりした。とはいえ、「所詮現実を知らない男の妄想」とまで言われたら、何だかチョビットばかり腹が立つ。確かに、女性の美人になろうとする苦労を私は知らないし、「今時は太い眉毛がありえない」だなんて知らなかった(太い眉毛だってだって、ありえるじゃないの…)。それでも、「甘過ぎっ」と言われたら、何か言い返したくなる。そして、「アンタの趣味なんかどうでもいいし」と言うのもやはり少しナニな感じがする。

 そこで、私は「男の妄想」の恐ろしさを見せつけることにしたのである。単に顔の部品を強調するような「これまでの美人フィルタ」ではなく、目や眉毛や口をそれぞれ別に扱い、魅力的な瞳だけを実現する「新たな美人フィルタ」を作り上げ、「脳内妄想による画像処理」のオソロシサを見せつけてやることにしたのである。太い眉毛には決してならない、「眉毛処理」機能付き「美人フィルタ」を作り、そして文句タラタラの口ウルサイ女性達の顔でさえも「妄想画像処理で超美人にしてやる」「オマエラの顔を絶対文句の付けようがない(オリジナルと違って)美人にしてやる」「オマエらまとめて美人にしてやる」と誓ったのだった。

 そこで、さっそく作ってみた美人フィルタ(アプリケーションのダウンロードはリンク先から)の動作画面が下の左図だ。今度の「美人フィルタ」は、画像処理で顔の中の部品を抽出し、瞳だけを微分強調することで女性の化粧効果をそのままに再現するという優れものである。実際の処理画面を見てみれば、アプリケーションのウィンドウの中に表示されているオリジナル画像(右)に比べて、美人化処理画像は特に眉毛が太くなることもなく魅力的な黒目がちの瞳が得られていることがよく判るだろう。オリジナルの仲間由紀恵だって十分美人なのだが、左の超美人化「仲間由紀恵」は生きている人間とは思えない程の美人になっていることが判るに違いない。

「美人フィルタ」の新旧比較
眉毛が太くならない「新しい美人フィルタ」
(右がオリジナル画像で左が美人化画像)
「古い美人フィルタ」 眉毛も太く口もでかくなる…
(右がオリジナル画像で左が美人化画像)

 それに対して、右の(古いバージョンと同じ計算方法で処理させた)古い「美人化フィルタ」の美人化画像は、確かに魅力的な黒目がちの瞳になってはいるが、それと同時に眉毛も黒々と太くなってしまっている。そして、口もやはり恐ろしいばかりに大きくなってしまっている。確かにこれでは、「オバQ」や「清川虹子」のようになってしまっていて、必ずしも美人とは言えなかったに違いない。これでは、「眉毛が太くなってイヤ」とか「太い眉毛も許せないけど、口が太く大きくなるのはサイアク」と言われてしまうのも、確かにゴモットモだ。

 しかし、そういった数々の文句はもう過去の遺物だ。新しい「美人フィルタ」は、「女性の現実を知らない男の妄想」もしくは「頭の中だけの画像処理」により、とにかく「色んな文句を言う女性達ですら美人にしてしまう」のである。どんな文句を言うヘラズ口を持つ女性でさえも、このソフトは脳内妄想の画像処理でどんな女性をも数段美人にする(オリジナルよりずっと)のである。そのヘラズ口を叩く大口は小さく控えめに抑えたまま、瞳だけを大きく魅力的にするのである。

 そして、調子に乗って、ついつい美人化処理だけでなく、「美白化」と「派手」処理なんかもオマケに付け加えておいた。これで、デジカメ等でも高級な画像ソフトなんか使わずに、まるでプリクラの写真のようなウソくさい写真を作り放題である。芸能人のような照明で白く飛ばしたウソっこ顔写真も撮りまくることができるのだ。

「美白・派手モード」も備えた「美人フィルタ」

 というわけで、一年ぶりに帰ってきた「美人フィルタ」、「脳内妄想による微分画像処理」の効果をご自分の顔で確かめて欲しい、と思う。ぜひとも、自分の顔を美人化しまくり、その顔を目指して化粧をしてもらいたい、と思う。WEBに「顔出し」なんかをするような人であれば、ぜひその「顔出し」は「美人化顔出し」してみると面白いと思う。そして、いつのまにかオリジナルの顔が「ブサイク化」された顔のように感じ始めたら、もうこっちのものだ。「女性の現実を知らない男の妄想」「頭の中だけの画像処理」の魔力を思い知るべきなのである。「男の脳内妄想画像処理」をバカにしては決していけないのである。

2004-06-27[n年前へ]

顔のタイプ分類とタイプ別メガネフレーム 

 日本人の顔にフィットしたメガネフレームの研究が面白い。 顔のタイプ分類とタイプ別メガネフレームとか。

2004-07-15[n年前へ]

黄色い花 

 家の近くのバーで飲んでいると、デンマーク人が帰国するというさよならパーティが行われていた。気づくと、私以外の日本人は全員が「恋人が外国人」だった。それにしても、欧米系男性の恋人達はほとんどがLucy Liu系の顔をしている。古い感じでいうと、オノ・ヨーコ系の顔だ。結局のところ、ジョンレノンは単なる面食いだったのだろうか。

 そんなアジア風恋人たちを指して、みなが「美人だ美人だ」と口を合わせて言うのだが、なるほど感覚というのは面白いものだ。

黄色い花








■Powered by yagm.net