1999-03-18[n年前へ]
■「踊る大捜査線」風のアプレットをつくる
おどるでく
「踊る大捜査線」にはまった人は多いはずだ。何度となく映画館へ行ったり、ビデオを観たりしている人も結構いる。それだけでなく、無駄な会議中に馬鹿な上司達に「事件は会議室で起きてるんじゃない!現場で起きてるんだ!」と叫んだ人もいると人づてではあるが聞いている。あるいは、ポジティブに「俺は現場で頑張る!」と言った人もいるという。少なくとも、そう思ったことのある人はいるだろう。かくいう私も「踊る大捜査線」にはまったそのような一人である。TVシリーズの最終回に青島と室井が2人で話す警視庁(のロケ場所)は私の勤務先でもあり、色々重ねて観てしまうのである。
私も「踊る大捜査線」が大好きではあるが、世の中には尋常ならざる「刑事物マニア」なども生息しているようであり、これ以上深くは立ち入らないことにしておく。なにしろ、「夜の大捜査線」や「太陽にほえろ」以来のファンがいるらしい。
というわけで、技術的なことをしようということで、「踊る大捜査線」っぽいJAVAアプレットをつくってみたい。
まずは、文字がタイプライターで打ったようにタイトルが1文字づつ表示されるアプレットである。ルパン三世風と言う方がわかりやすいかもしれない。ただし、このページはjavaアプレットを三つも動かしているので非常に重いと思う。したがって、速くないコンピューターではスムーズに再生されないかもしれないが、アプレットを一つだけにしてしまえばそんなことはないと思う。
次は、文字がどんどん描かれるタイプである。エバンゲリオン風といった方がわかりやすいか。「ロゴ大暴れ」である。縦に細長いフォントにしたかったのだが、今回は面倒だったので、やめた。
一応、「踊る大捜査線」っぽい文字でも動かしてみる。
時間ができたら、写真の重ねあわせにも対応してみたい。ただし、画像を含めてしまうと、Javaアプレットの「ファイルが小さい」というメリットが減少してしまうのが困る所だ。
縦書きの文字も重ねるタイプのclassファイルを以下に置いておく。拡張子はclassに戻せば使えるはずだ。動作自体は少し重くなる。
このような文字アプレットは漢字だからこそ有効なのだろう。英語などでは単語の区切りが良く分からないし、一文字見ただけでは、意味が頭に入ってこない。表意文字の漢字だからこそ、わかるのであると思う。文字が躍り出すのが実感できるのである。室井光広の「おどるでく」などが思い起こされる。ふと思ったが、「踊るデカ」と「おどるでく」は良く似ている。が、深い意味はない。念のため。今回は、「踊るアホウに見るアホウ、同じアホなら、踊らにゃ損々」という名文句で締めくくりたい。
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-11-15[n年前へ]
■「星の王子さま」の秘密
水が意味するもの
今回は、Saint-Exuperyの「星の王子さま」- Le petit prince -について考えてみたい。しかし、メルヘンな話を期待する方は、おそらく失望することだろう。もし、今持っているイメージを壊したくない方は、今回の話は読まないほうが良いかもしれない。
おそらく一般的に多いであろうイメージの「星の王子さま」というものは、私はそれほど好きではない。よくWEBで見かける「この本は、真実を見る目を失いかけた大人のための童話です。」というイメージである。私も、かつてはそういう認識だった。そして、「それだけでは、何かもの足りない」という感じがしていた。そのため、「星の王子さま」を好きではなかったのだ。
しかし、
- 「星の王子さまの世界 - 読み方くらべへの招待 -」 塚崎幹夫著 中公新書
さて、今回は私なりの「読み方」をしてみたい。具体的には、「水」というキーワードにこだわって解釈を行ってみるのだ。何故か、私はこの「星の王子さま」の中で「水」というキーワードに「深い何か」を感じるのである。
何故、こういう単語にこだわる読み方をするかと言えば、それは塚崎幹夫氏の「星の王子さまの世界- 読み方くらべへの招待 -」の影響である。その内容の紹介を少し紹介しておく。
塚崎幹夫氏は、 話の冒頭に出てくる「ゾウを飲み込むウワバミ」が何かもう少し深いものを指しているのではないか、と考える。「本当にもののわかる人かどうか」知るために、主人公が人に見せる「ゾウを飲み込むウワバミ」が何か深いものを指しているのではないか。「半年のあいだ、眠っているが、そのあいだに、のみこんだけものが、腹のなかでこなれ」そして次の獲物をのみこむウワバミは何を指しているのか、と考えた。
そして、次のような年表を示す。
- (1937.7.7 日本、中国侵略開始)
- 1938.3.10 ドイツ、オーストリア侵略
- 1938.9.29 ドイツ、チェコ侵略
- 1939.3.15 ドイツ、チェコ解体
- (1939.4.7 イタリア、アルバニア占領)
- 1939.9.1 ドイツ、ポーランド侵入
- 1940.4.9 ドイツ、デンマーク、ノルウェー侵入
- 1940.5.10 フランス、ドイツに大敗
- 1940.11 Saint-Exuperyヴィシー政府に失望し、アメリカに亡命、その後、ヴィシー政府がSaint-Exuperyを議員に任命する。(どこかで聞いた話)
つまり、ゾウを飲み込むウワバミが、帽子にしか見えないことが「真実を見る目を失いかけた」といっているのではない。これは、ウワバミの中で飲み込まれつつある動物のことを考えることができないことを、「真実を見る目を失いかけた」と言っているではないだろうか。もちろん、そのウワバミとは文字どおりのウワバミではなく、違うものを意識した話なのである。
同じように、「ぐずぐずしてはいられないと、一生けんめいになって」描いた「3本のバオバブ」は挿し絵についても考察を巡らせている。
|
さて、塚崎幹夫氏の影響を多いに受けている私ではあるが、私なりの「読み方」をしてみたい。「水」というキーワードにこだわった「読み方」をしてみる。私の受ける印象では、「水」というキーワードには深い思いが込められているはずなのだ。
そのために、
- 星の王子様のリンク集( http://www.slis.keio.ac.jp/~makiko9/prince.html )
- Antoine de ST.EXUPERY:LE PETIT_PRINCE ( http://galeb.etf.bg.ac.yu/mp/mp/pp.html )
さて、単語にこだわって解析をするとなれば、
- 夏目漱石は温泉がお好き? - 文章構造を可視化するソフトをつくる - (1999.07.14)
- 失楽園殺人事件の犯人を探せ - 文章構造可視化ソフトのバグを取れ - (1999.07.22)
- 「こころ」の中の「どうして?」 - 漱石の中の謎とその終焉 - (1999.09.10)
それでは本題の、"'eau"の出現分布を調べることで、「水」の出現分布をwordfreqで解析してみる。
最初と最後に「水」が登場しているのがわかる。このような、物語の「始まり」と「終わり」集中して出現する単語と言うものは、重要な意味を持つと考えるのが普通だろう。冒頭で、水を持たない主人公が、話の最後で水を湛える井戸を見つける。これは、どのような意味があるだろうか。また、王子にとって重要な「守るべきもの」に王子は水を与えていたこと、これらは何を意図したものなのだろうか。
さて、「水」が出現するのは
- 50行目付近
- 300行目付近
- 1300行付近
- 115 だって、ぼくが水をかけた花なんだからね。
- 124 水は心にもいいものかもしれないな...
- 131 その水は、たべものとは、別なものでした。
- 131 だけど、さがしているものは、たった一つのバラの花のなかにだって、少しの水にだって、あるんだがなぁ...
- 147 星がみんな、井戸になって...そして、ぼくにいくらでも、水をのませてくれるんだ。
- その人間を解放するということは、彼に渇を教え、また井戸への道を教えてやることだ。
- それら井戸のひとつひとつに、どうしてもたどりつかねばならないようにするだろう...必死になってその井戸をめざさねばならなくなる。
- おまえが水を飲もうと思うとき、....おまえの行為を祈りという意味に化するのである。
こういう言葉の意味するものをそれぞれ考え、「かんじんなことは、目に見えない」という言葉をもういちど読みなおしたときに初めて、Saint-Exuperyの「星の王子さま」が私は好きになったのである。その「星の王子さま」の二面性こそ、私が好きな部分である。
さて、最後に次のような二つの文章を並べてみる。こうすると「星の王子さま」に流れる強い背景・考えを感じるのではないだろうか。
「わたしは、この本を、あるおとなの人にささげたが、....そのおとなの人は、いまフランスに住んでいて、ひもじい思いや、寒い思いをしている人だからである。どうしても慰めなければならない人だからである。... 子どもだったころのレオン・ウォルトに」 「星の王子さま」 献辞 | (レオンウォルトに) 「今夜しきりと思い出す人物は今50歳だ。彼は病気だ。それにユダヤ人だ。どうして彼にドイツの恐怖を乗り越えられよう?」 「ぼくがなおも戦いつづければ、いくらかは君のために戦うこととなるだろう。...ぼくは、君が生きるのを助けたいのだ。実に無力で、危険におびやかされている君の姿が眼に浮かぶ。更に一日生きのびるために、どこか貧しい食料品店の前の歩道を、50という年齢を引きずって歩きまわっているきみの姿が、擦り切れた外套に身をくるんで、仮の隠れ家で身を慄いているきみの姿が、眼に浮かぶ。」 「ある人質への手紙」 |
やはり、「星の王子さま」は端的に言えば、寓話の形をした遺言(の準備をしたもの)であるのだろう。「星の王子さま」が出版された四日後、Saint-Exuperyは戦うためにアメリカからアフリカへ出発する。
「星の王子さま」は一つの挿絵と、その挿絵の説明で話が閉じられる。その最後の挿し絵は王子が姿を消した場所を描いたものだ。それだけではない。その「アフリカの砂漠」は、Saint-Exuperyが最後に「戦う兵士」として飛行機で通過し、そして、姿を消した場所でもある。
「これが、ぼくにとっては、この世で一ばん美しくって、いちばんかなしい景色です」
2000-04-01[n年前へ]
■恋の力学 恋の相関分析編
「明暗」の登場人物達の行方
「恋の力学」シリーズである。前書き編が登場したきりで、なかなか本編に入らない「恋の固体物理学」シリーズではない。今回は、
の続き、ということになる。以前、
の中で書いたように、恋の力学シリーズは夏目漱石の影響を多大に受けている。そして、同様に夏目漱石の影響を受けているシリーズがある。それは「文章構造可視化シリーズ」である。何しろ、「文章構造可視化シリーズ」は夏目漱石をきっかけとして、始まっているのである。また、シリーズの中の話を見ればわかるように、
- 夏目漱石は温泉がお好き?- 文章構造を可視化するソフトをつくる - (1999.07.14)
- 失楽園殺人事件の犯人を探せ- 文章構造可視化ソフトのバグを取れ - (1999.07.22)
- 「こころ」の中の「どうして?」 -漱石の中の謎とその終焉 - (1999.09.10)
- 「星の王子さま」の秘密- 水が意味するもの - (1999.11.15)
そのための準備として、まずは「文章構造可視化シリーズ」で作成した"wordfreq"をバージョンアップしてみた。その動作画面を以下に示す。
赤丸で示したボタンに「ファイル出力」と書いてあるのがわかると思う。つまり、文章中に「任意の単語」が出現した出現頻度を解析した結果をファイル出力する機能を持たせたのだ。1段落中に「任意の単語」が出現した数をテキスト形式で出力するようにしてある。このファイル出力結果を他のソフトに読み込めば、色々な解析ができるわけだ。いつものように、このソフトはここ
においておく。言うまでもないが、アルファ版の中のアルファ版だ。さて、今回用いるテキストは
でも登場した「明暗」である。そこで、「青空文庫」から「明暗」の電子テキストをダウンロードした。そして、バージョンアップした"wordfreq"で- 津田
- お延
- 清子
- 吉川
しかし、これだけでは、よくわからない。せいぜい「清子」が小説の後半(といっても、未完であるが)に登場しているなぁ、という位だろう。しかし、さらに解析を加えてみると、もう少し面白いことがわかる。
今回は、これらの登場人物間のお互いの関わりを調べたいのである。であるならば、これらの「登場人物」の出現分布の間の相関を調べてみると面白いだろう。互いの関係を示す「相関」を調べてみるのである。異なる「登場人物」が同じような出現をしているならば、それは無関係ではない。きっと、その登場人物の間には何らかの関係があるに違いないのだ。
そこで、「明暗」を時系列的に6つの部分に分けて、津田と他の登場人物の出現分布間の相関を調べてみたのが次のグラフである。
このグラフでは、横軸が時系列であり、縦軸が相関を示している。縦軸で上になればなるほど相関が高い、すなわち、「関係がある」のだ。「相関」は本人の場合で「1」である。だから、例えば最後の部分の清子の「0.6」という結果は関係がアリアリということを示しているわけだ。
また、「清子」と「吉川(ここでは夫人を意図している)」の相関が逆であることが面白いだろう。「吉川」が活躍(暗躍?)した後に、「清子」が登場するわけだ。
そして、この「明暗」が盛り上がっていくようすすら、見えてはこないだろうか?全く血の通っていないPCが解析した結果が、漱石の描こうとした「こころ」の動きを読みとっているような気が(少しは)しはしないだろうか?そして、このグラフの延長線上に、漱石の描くはずだった、「明暗」の結末はあるはずなのだ。
さて、このグラフを見ていると、
で計算した恋の多体(三体)問題の計算結果を思い出してしまう。 漱石は、きっと恋の三体問題を意識しながら「明暗」を書いたのである。だから、ある意味当然なのではあるが、科学と文学の一体化した世界が感じられ、とても面白い気分である。さて、この解析結果を元にして、まだまだ色々とやってみたのであるが、それは次回である。