1999-03-18[n年前へ]
■「踊る大捜査線」風のアプレットをつくる
おどるでく
「踊る大捜査線」にはまった人は多いはずだ。何度となく映画館へ行ったり、ビデオを観たりしている人も結構いる。それだけでなく、無駄な会議中に馬鹿な上司達に「事件は会議室で起きてるんじゃない!現場で起きてるんだ!」と叫んだ人もいると人づてではあるが聞いている。あるいは、ポジティブに「俺は現場で頑張る!」と言った人もいるという。少なくとも、そう思ったことのある人はいるだろう。かくいう私も「踊る大捜査線」にはまったそのような一人である。TVシリーズの最終回に青島と室井が2人で話す警視庁(のロケ場所)は私の勤務先でもあり、色々重ねて観てしまうのである。
私も「踊る大捜査線」が大好きではあるが、世の中には尋常ならざる「刑事物マニア」なども生息しているようであり、これ以上深くは立ち入らないことにしておく。なにしろ、「夜の大捜査線」や「太陽にほえろ」以来のファンがいるらしい。
というわけで、技術的なことをしようということで、「踊る大捜査線」っぽいJAVAアプレットをつくってみたい。
まずは、文字がタイプライターで打ったようにタイトルが1文字づつ表示されるアプレットである。ルパン三世風と言う方がわかりやすいかもしれない。ただし、このページはjavaアプレットを三つも動かしているので非常に重いと思う。したがって、速くないコンピューターではスムーズに再生されないかもしれないが、アプレットを一つだけにしてしまえばそんなことはないと思う。
次は、文字がどんどん描かれるタイプである。エバンゲリオン風といった方がわかりやすいか。「ロゴ大暴れ」である。縦に細長いフォントにしたかったのだが、今回は面倒だったので、やめた。
一応、「踊る大捜査線」っぽい文字でも動かしてみる。
時間ができたら、写真の重ねあわせにも対応してみたい。ただし、画像を含めてしまうと、Javaアプレットの「ファイルが小さい」というメリットが減少してしまうのが困る所だ。
縦書きの文字も重ねるタイプのclassファイルを以下に置いておく。拡張子はclassに戻せば使えるはずだ。動作自体は少し重くなる。
このような文字アプレットは漢字だからこそ有効なのだろう。英語などでは単語の区切りが良く分からないし、一文字見ただけでは、意味が頭に入ってこない。表意文字の漢字だからこそ、わかるのであると思う。文字が躍り出すのが実感できるのである。室井光広の「おどるでく」などが思い起こされる。ふと思ったが、「踊るデカ」と「おどるでく」は良く似ている。が、深い意味はない。念のため。今回は、「踊るアホウに見るアホウ、同じアホなら、踊らにゃ損々」という名文句で締めくくりたい。
1999-06-27[n年前へ]
■それを決めるのは誰だ?
見えない「有害サイト指定」の疑惑
今回は全て三人称で語られるハードボイルドな話である。あるサラリーマン、ここでは「彼」と呼ぼう、の実験と、考えを書く。
今回の話の前段階として、
リモートカメラから世界をノゾこう!-Macintosh用カメラ制御プログラムを作る- (1999.06.26)
がある。この話の中に
MAQ?MAK?MAC! ( http://www.maqmakmac.com/)
へのリンクがある。ところが、彼の職場からはそのサイト、MAQ?MAK?MAC!を見ることができないというのだ。彼は会社内のLANとは別のルートでMAQ?MAK?MAC!へアクセスすることが多かったので、なかなか気づかなかったのだ。
彼の頭にある疑いが生じた。彼はその疑念を確かめるために、tracerouteでwww.maqmakmac.comのIPアドレスを直接調べることにした。彼の指はキーボードを叩く、
tracert www.maqmakmac.com (Windowsマシンである)
これでIPアドレスはわかった。彼は職場のマシンからwww.maqmakmac.comのIPアドレスを直接指定した上でアクセスを試みた。すると、彼の想像通りWEBの内容がきちんと表示された。「DNSがうまく動いていないないんじゃないの」という人がいるかもしれないが、そうではない。他のアドレス(後述する例外を除いて)に関しては問題ないのである。
彼の(疑いつつも)立てた仮説: www.maqmakmac.comを彼の勤務する会社は「有害サイト」として認識し、社内からwww.maqmakmac.comへのアクセスをブロックしている。
もうすこし、判りやすく説明するとこうなる。
彼の勤務する会社内のLANから社外へのGateWay内で登録された「有害サイト」のアドレス(URL)を検知して、アクセスをブロックするというシステム(URL検出法)を用いているのである。もしも、会社内からwww.maqmakmac.comというアドレスへのアクセス要求があったら、「駄目だよ」とその要求を蹴ってしまうのである。
しかし、www.maqmakmac.comというアドレスでフィルターをかけているので、IPアドレスを直接指定してやると、フィルタを通りぬけて、アクセスをすることができるのである。
彼の知る限りでは、明らかに彼の会社内で全社的にブロックされてしまうアドレスが確かにある。それが恐らく参考になるだろう。例えば、こういったサイトである。
おやおや、画面表示が少し異なる。ということは、意図的にブロックしているわけではないのか? あるいは、ブロックしている個所が違うのか? これだけではよくわからない。集まってきた情報によると、他の地域の部署ではwww.maqmakmac.comに関しては読みに行けるようだ。
URL規制プログラムで有名な
http://www.cyberpatrol.solution.ne.jp/
の指定する例によれば、「有害サイト」は
- 暴力/精神的、肉体的(画像または文章)
- 部分的ヌードと芸術
- 全裸
- 性的行為(画像または文章)
- 下品、残酷な描写(画像または文章)
- 差別、偏見(画像または文章)
- 悪魔崇拝、カルト(画像または文章)
- 麻薬関係(画像または文章)
- 武器、過激派(画像または文章)
- 性教育(画像または文章)
- ギャンブル、違法行為(画像または文章)
- アルコール、タバコ(画像または文章)
こういったURLアクセス規制は今回の例に留まらない。どこの組織でもあることなのかもしれない。こういったネットワークにからむ問題についてはもう少しオープンにして考える必要があるのではないだろうか。
彼はタバコを深く吸い込み、事件簿を閉じて、そして呟いた。「これ以上の真偽は確かめようがない...」
1999-07-14[n年前へ]
■夏目漱石は温泉がお好き?
文章構造を可視化するソフトをつくる
先週は新宿で開催されていた可視化情報シンポジウム'99を見ていた。参加者の世界が狭い(ジャンルが狭いという意味ではない)し、学生の発表が多すぎるように思ったが、少なくとも本WEBのようなサイトで遊ぶには面白い話もあった。というわけで、これから何回か「可視化情報シンポジウム'99」記念の話が続くかもしれない。とりあえず、今回は「小説構造を可視化しよう」という話だ。
まずは、「可視化情報シンポジウム'99」の発表の中から一番笑わせて(笑ったのはいい意味ですよ。決して皮肉ではないですよ。しつこいようですが、ホントホント。私のツボに見事にはまったのだからしょうがない。)もらった発表のタイトルはこれである。
文学作品における文体構造の可視化 - 宮沢賢治「銀河鉄道の夜」の解析-
白百合女子大学大学院の金田氏らによる発表だ。予稿集から、その面白さを抜き出してみよう。まずは過去の研究の紹介をしている部分だ。
作品(hirax注:夏目漱石の「虞美人草」と「草枕」)の始まりから終わりまでを時系列で捉えると(hirax注:話法に関する解析をすると)、二作品はともに円環構造、つまり螺旋構造を描きながら、物語が進行していくことが、四次元空間上に表現された。
中略
これは、作品の解析結果を可視化することで、夏目漱石の思考パターンと内面の揺れが明らかにされたことを意味する。
なんて、面白いんだ。この文章自体がファンタジーである。こういうネタでタノシメル人にワタシハナリタイ。おっと、つい宮沢賢治口調になってしまった。そして、今回の発表の内容自体は、宮沢賢治の「銀河鉄道の夜」の中に出てくる単語、「ジョバンニ・カンパネルラ・二」という三つの出現分布を調べて構成を可視化してみよう、そしてその文学的観点を探ろう、という内容だ。
本サイトは実践するのを基本としている。同じように遊んでみたい。まずは、そのためのプログラムを作りたい。名づけて"WordFreq"。文章中の単語の出現分布を解析し可視化するソフトウェアである。単語検索ルーチンにはbmonkey氏の正規表現を使った文字列探索/操作コンポーネント集ver0.16を使用している。
ダウンロードはこちらだ。もちろんフリーウェアだ。しかし、バグがまだある。例えば出現平均値の計算がおかしい。時間が出来次第直すつもりだ。平均睡眠時間5時間が一月続いた頭の中は、どうやらバグにとって居心地が良いようなのだ。
wordfreq.lzh 336kB バグ有り版
バグ取りをしたものは以下だ(1999.07.22)。とりあえず、まだ上のプログラムは削除しないでおく。
失楽園殺人事件の犯人を探せ - 文章構造可視化ソフトのバグを取れ - (1999.07.22)
動作画面はこんな感じだ。「ファイル読みこみ」ボタンでテキストファイルを読みこんで、検索単語を指定して、「解析」ボタンを押すだけだ。そうすれば、赤いマークでキーワードの出現個所が示される。左の縦軸は1行(改行まで)辺りの出現個数だ。そして、横軸は文章の行番号である。すなわち、左が文章の始めであり、右が文章の終わりだ。一文ではなく一行(しかもコンピュータ内部の物理的な)単位の解析であることに注意が必要だ。あくまで、改行までが一行である。表示としての一行を意味するものではない。なお、後述の木村功氏から、「それは国語的にいうとパラグラフ(段落)である。」という助言を頂いている。であるから、国語用の解析を行うときには「行」は「段落」と読み替えて欲しい。また、改行だけの個所には注意が必要だ。それも「一行」と解釈するからである。
「スムージング解析」ボタンを押せば、その出現分布をスムージングした上で、1行辺りに「キーワード」がどの程度出現しているかを解析する。
そう、この文章は長い文章の中でどのように特定の単語が出現するか解析してくれるのである。
それでは、試しに使ってみよう。まずは、結構好きな夏目漱石の小説で試してみたい。
電脳居士@木村功のホームページ
から、「ホトトギス」版 「坊っちやん」のテキストを手に入れる。そして解析をしてみよう。まずは、この画面は夏目漱石の「坊っちやん」の中で「マドンナ」という単語がどのような出現分布であるかを解析したものである。
文章の中ほどで「マドンナ」は登場してくるが、それほど重要なキャラクターでないことがわかる(このソフトがそう言っているんで、私が言っているのではない。だから、文句メールは送らないで欲しい)。
それでは、「湯」というキーワードで解析してみよう。「坊っちやん」と言えば道後温泉であるからだ。
おやおや、「マドンナ」よりもよっぽどコンスタント(安定して、という意味で)に「湯」という単語は出現するではないか。出現平均値は「マドンナ」の方が多いが、安定度では「湯」の方が上だ。夏目漱石は「マドンナ」よりも「湯」すなわち温泉によっぽど興味があるようだ。
主人公を育てた重要人物「清」を調べてみると、こんな感じだ。
小説の初めなんか出ずっぱりである。あと小説のラストにも登場している。
どうだろうか。見事に小説の可視化に成功しているだろう。結構、この解析は面白い。すごく簡単なのである。
これから新聞、WEB、小説、ありとあらゆる文章を可視化し、構造解析していくつもりだ。みなさんも、このソフトを使って面白い解析をしてみるとよいのではないだろうか? とりあえず、高校(もしかしたら大学の教養)の文学のレポートくらいは簡単に書けそうである。もし、それで単位が取れたならば、メールの一本でも送って欲しい。
というわけで、今回はソフトの紹介入門編というわけで、この辺りで終わりにしたいと思う。
1999-07-22[n年前へ]
■失楽園殺人事件の犯人を探せ
文章構造可視化ソフトのバグを取れ
今回は
夏目漱石は温泉がお好き? - 文章構造を可視化するソフトをつくる - (1999.07.14)
の続きである。やりたいことは以下の3つ
- WordFreqのバグを取る。
- 定量化に必要な数値を出す。
- とにかく遊んでみる。
WordFreq.exe 1999.07.21Make版 wordfreq.lzh 338kB
本WEBサイトのモットーは「質より量」である。...これはちょっと何だな...「下手な鉄砲も数撃ちゃ当たる」...これもちょと...「転がる石に...(もちろん日本版でなくて西洋版のだ)」といった方がニュアンスが良いかな?... 転がる石は精度を求めないのである。数をこなせば精度が悪くてもいい方角に転がっていくと思っているのだ。モンテカルロ理論である。「遊び」だし。というわけで、これはバグがあった言い訳である。
さて次は、「定量化に必要な数値を出す」である。前回の題目で使った「ホトトギス」版「坊っちやん」のダウンロード元のWEBの作成者である木村功氏より、前回の話以後にいくつかアドバイスを頂いた。それが「定量化するにはどのようにしたら良いか」ということであった。それについては、最低限の機能をつけてみた。やったのはただひとつ。出現頻度の分散を計算するようにしただけである。この数値と出現平均値を用いて、色々な文章を解析すれば、このプログラムの返す値の出現分布の分散・平均値・有意水準などを導くことができるだろう。色々な時代の、色々な作家の、色々なジャンルの文章を解析し、それらから得られた値を調べてみればもしかしたら面白いことがわかるかもしれない。
それでは、今回のプログラムを使って遊んでみよう。
今回用いるテキストは小栗虫太郎の「失楽園殺人事件」だ。
青空文庫 ( http://www.aozora.gr.jp/)
から手に入れたものだ。今回のタイトルどおり、「失楽園殺人事件」において「犯人」を探してみよう。
ラストのほうに向かうに従い犯人の登場が増えて、山場を迎えているのがわかるだろう。「犯人」で検索したら次は探偵の番だ。「法水」で検索し、探偵がきちんと働いているか見てみよう。
なかなか出ずっぱりで活躍している。もちろん、探偵役もラストでは活躍しているようだ。
ここまで見ていただくとわかるだろうが、画面は前回のバージョンとほとんど同じである。前回は、1物理行あたり検索単語は1個までしか見つからなかったが、今回はきちんと複数見つかっているのがわかると思う。1物理行中でもきちんと結果が出るようになったおかげで、文章中から「。」を検索すると、物理行(段落と近いもの)中に含まれる「文」の数を調べることが出来る。妙に長い文節の出現頻度などを調べることが出来るのだ。こういったものは定量化にふさわしいのではないだろうか?
また、C++プログラマーのあなたは自分のプログラム中から「//」などを検索すると面白いのではないだろうか。コメントの出現頻度が手に取るようにわかるだろう。
というわけで、今回はバグ修正のご報告である。
1999-09-10[n年前へ]
■「こころ」の中の「どうして?」
漱石の中の謎とその終焉
考えてみると、www.hirax.netには夏目漱石が時々顔を出す。例えば、
などだ。もともと、夏目漱石は寺田寅彦・ロゲリギストといった物理学者の流れの源と言っても良いものだから、その影響を多々受けている私のWEB中に出てくるのは自然なのだろう。というわけで、今回こそは夏目漱石がメインの話である。漱石の「こころ」を「夏目漱石は温泉がお好き?- 文章構造を可視化するソフトをつくる - (1999.07.14)」「失楽園殺人事件の犯人を探せ- 文章構造可視化ソフトのバグを取れ - (1999.07.22) 」で作成した文章構造可視化ソフトWordFreqで解析してみるのだ。そして、「こころ」で繰り返し問われる謎がどのようにして終焉を迎えていったかを考察してみたい。いや、考察というほどのものではなく、考えてみたい、それだけだ。
何故、私がそういう気持ちになったかといえば、それは小山慶太著の「漱石とあたたかな科学」講談社学術文庫を読んだせいである。
今回のテキストである漱石の「こころ」は
- 青空文庫 ( http://www.aozora.gr.jp/)
言うまでも無いと思うが、「こころ」は学生である「私」と「先生」との間で進む物語である。「私」が先生と出会い、そして「先生」の物語が語られる。
それでは、「先生」と「私」の出現分布を可視化してみる。両者とも1100行辺りで大きく変化しているのがわかる。これは、ここから「下 先生と遺書」に入るからである。一人称である「私」は学生の「私」ではなく、「先生」である「私」になる。ここからは「先生」である「私」の物語になるのである。
また、冒頭をピークとして「先生」の出現頻度は単調に低下していく。学生である「私」から、先生である「私」への視点の移り変わりはもしかしたら冒頭から形作られているのかもしれない。
ところで、「こころ」は「どうして」という謎と「解らない」という答えの繰り返しである。それは、下のようにどうして(左)、解(右)の出現分布を見ればわかる。もちろん、「どうして」には「どうして...」も含まれれば、「どうしても」なども含まれる。また、「解」には「解らない、解る、誤解」などが含まれる。しかし、それらは大きく見れば実は同じようなものである、と思う。
どうして(左)、解(右)の出現分布がよく似ているのがわかると思う。「どうして」と問いと「わからない」という答えはいつも対になるのである。
これらとちょうど反対の分布を示すのが「死、卒業」というキーワードだ。
「どうして」(左)、「解」(右)という言葉が出現しない時には、「死」(左)、「卒業」(右)という言葉が現れるのである。また、この「死」(左)、「卒業」(右)という言葉が現れる時は、「先生」と「先生」である「私」があまり登場しない時でもある。学生である「私」から「先生」である「私」への過渡期であり、それは同時に「死」(左)、「卒業」(右)ということを浸透させる時期でもあるのだ。
結局、「どうして、解、死、卒業」は小説の最後において、同時に出現する。それらは最後に重なるのだ。それが答えなのか、あるいは答えがどこかに消えてしまったのか、どちらなのかはわからないままだ。