2006年05月10日

2つの階層構造、2つの分類法(タクソノミーとオントロジー、あるいは、クラスとセット)

s.h.さんの素晴らしいトラックバック「HIIにHCIのアプローチを取り入れる:『アンビエント・ファインダビリティ』を読んで思ったこと」を機にしたエントリー「HCIとHIIの階層構造、生命情報/社会情報/機械情報の階層構造」に対して、またしても、s.h.さんがとっても素敵な返信をくれました。
これはなかなかいいHHI(Hito Hito Interface)ができている w

このエントリで、ユビキタスコンピューティングのアーキテクチャはフラクタルなMVCフレームワークになるという事を書こうと思う。
コンピュータシステムはデータの「入力」「処理」「出力」をするものなので、このフラクタルなMVCフレームワークはちょっと考えてみれば自明な事だと思う。

確かにコンピュータシステムはデータの「入力」「処理」「出力」をする。
しかし、これは同時にコンピュータシステムに限ったことではなかったりもする。

システムにおける「入力」「処理」「出力」

情報理論の創始者クロード・シャノンも「情報源」からの情報が「符号機(送信機)」によってコード化され、「通信路」を通って、「復元機(受信機)」でコードが復号化されて「到達先」に届く通信モデルを描いている(実際にはさらに「通信路」のところに「ノイズ」と描かれている)。
いうまでもなく「通信路」を境にinput/outputがあるわけだ。

そして、これは企業が事業を行う上での組織づくりでも同様だ。
シックスシグマなどで用いられる、ある問題の要因を整理し分析するツールに「特性要因図」というものがある。特性要因図は因果図だとか、フィッシュボーンダイアグラムとも呼ばれ、文字通り「魚の骨」のような図だ(このページの「因果図」を参照)。
これもいわゆるoutputを出す際の問題をinputあるいは「処理」の中から見つけようとするための分析ツールだ。さらにこの特性因果図を描く前に業務フローを分析するためのツールに「プロセスマップ」と呼ばれる図も使うが、これなどはそのまま「入力」「処理」「出力」を描いている(先のページにこの図もある)。

MVCフレームワーク

ということを踏まえれば、s.h.さんの先のエントリーでの狙いである「ある不条理に分断された研究領域の間を架橋する事だ。HCI・ubicomp(ユビキタスコンピューティング)・タンジブルなどの考え方と、web2.0・HII・複雑系などの考え方の両者の間を取り持つ視点を提案」することは非常に理にかなっている。
どの領域も「入力」「処理」「出力」のプロセスを行うものである点で、そもそも分断される必要はないのだから。

それにしても、MVCフレームワークの説明は、ほとんど素人の僕にも非常にわかりやすくて、好感がもてた。

実際、よくできたMVCフレームワークのwebアプリは、
「デザイナはModel-View-Controlの疎結合でデザインする事で、サービス間の結合をゆるくしてデザインしやすくする」というMVCの最初の目的と同時に、
「ユーザはview(webページ)を触ることで、タンジブルにmodel(データ)を扱える」
つまりCはMVCでも消えている。

という説明も納得がいく。

でも、そううまくは問屋が卸さないのかもしれない。

その理由の1つは、フラクタルになっている層が増えるほど、パフォーマンスの劣化やバグの発生が起こりやすくなり、その問題解決のための効率はNP完全問題として指数関数的に落ちていくことになるはずだから。
しかし、今回取り上げておきたいもう1つの問題は、HIIにも関わる別の問題のほうだ。

タクソノミーとオントロジー

その問題はs.hさんとのやりとりの発端にもなった『アンビエント・ファインダビリティ』にも書かれている。
それは「6章 ソシオセマンティックウェブ」における「タクソノミー」と「オントロジー」の違いとして述べられている。

まず、タクソノミーのほうは、基本的にはクラスとそれにぶら下がる相互に排他的なサブクラスからなる階層構造を考えるとよい。しかし、現実の分類では必ずしもデータ集合間の排他性を保つことはできないので、多重階層構造やファルセット分類、統制語彙などを追加することで現実的な適応が可能となる。
例としては「動物」というクラスに「ライオン」「キリン」「ゾウ」「ネズミ」「ヒト」などがサブクラスとしてある形だ。

一方のオントロジーはRDFにおける「主語」「述語」「目的語」の三つ巴の事例にみられるように「あるモノが一定の値を持つ属性を備えている」ことを断定することで、集合や等価関係、連想関係を定義するものだ。
こちらは、
「ライオン」は「動物」に「属する」、「キリン」は「動物」に「属する」、「ヒト」は「動物」に「属する」といった形で、「ライオン」「キリン」「ヒト」を同じ「動物」として扱えるようにする。

実はこのタクソノミーとオントロジーの2つのアプローチは、数学的にはまったく別の公理系に属するものなのだ。

クラスとセット

タクソノミーとオントロジーの分類法は、数学的にはそれぞれクラスとセットに対応すると思われる。
データベース設計の際のコード体系(語・言語)を解析のための手法「T字形ER手法」を独自に開発した佐藤正美氏によれば、クラスとセットは以下の理由で異なるものだ。
クラス概念とセット概念は似ていますが--現象的にも、ほぼ、同じ構造に見えますが--、数学的に、定義が、全然、違う。A(u) を任意の集合論的論理式とすれば、{u|A(u)}は、ZFの公理系 (セット概念) から得られない。{u|A(u)}を集合 (セット)と区別して、クラス (class)と呼ぶ。セット概念では、述語に対して量化記号は付与されない。セット概念を扱う集合論がZFの公理系であり、クラスを扱う集合論がBGの公理系である。したがって、それぞれ、べつの公理系です。

別の公理系であるなら、そう簡単には両者を併用することはできない。

進化生物学者のリチャード・ドーキンスは、いわゆるタクソノミーは図書館や書店の本の分類のように分類を行う人の考え方によってまったく異なる分類を行うことが可能だが(それゆえにファルセット分類が必要となる)、生物進化の過程を描いた樹形図だけは、誰が分類しても同じになるはずだと言っている。
何故なら一度、ある同一の種から分化した異なる2つの種は分化した後では決して交わることがないからだ(交わらないのは分化した後では異なる種同士の生殖が不可能だったりする理由などによる)。
しかし、数学における公理の場合でも異なる公理に属するものはそう簡単に混ぜて使うことはできない。ある意味、これは完全なタクソノミーに近い(ただし、異なる2つの公理を統合する別の公理が発見されれば、その場合は再び交わる)。

というわけで、クラスとセットは異なり、互いに交わることができず、そのため、データベース設計におけるオブジェクトオリエンテッドな手法とデータオリエンテッドな手法は相容れないことを、先に引用したページで佐藤氏は述べているのだ。
そして、同様のことがタクソノミーとオントロジーにもいえるのだ。

フォークソノミーとオントロジー

結局、そのことが『アンビエント・ファインダビリティ』でも描かれているセマンティックWeb派とソーシャルソフトウェア派の対立の根本原因だったりするのではないだろうか?
フォークソノミーだろうが、それはタクソノミーの一種である。それがセマンティックWebのオントロジーと相容れないのは、数学的視点に立てば、当たり前のことなのだ。
先に引用したのと同じページの中で、佐藤氏は「数学者はクラス概念を使い、論理学者はセット概念を使う、という傾向があるそうです」と書いているが、セマンティックWebは数学的というより論理学的だ。
そしてこの対立を暴力的に簡略化してしまえば、いわゆるゲーデル対ヴィトゲンシュタインの対立にまでつなげられる。

しかし、フォークソノミーは厳密な階層構造がなく、参加するユーザーの現実をそれぞれ反映したものだから、まぁ、ファインダビリティを考えると「ないよりあったほうがはるかにマシ」ということで利用されるのだろう。

言語はネットワーク構造、そして、HII固有の問題

しかし、どうしてタクソノミーを用いても、オントロジーを用いても、分類や意味づけがうまくできないのだろうか?
その答えはきっと『アンビエント・ファインダビリティ』がすこし触れただけで触れ切れなかった言語のネットワーク構造にあるのだろう。
現在の数学(あるいは決定論的コンピュータ)ではWeb全体のネットワーク構造を描くことはできない。それはGoogleでさえできない(この点に関しては、アルバート=ラズロ・バラバシ著『新ネットワーク思考』に詳しく述べられている)。
そして、また言語もネットワーク構造でできていることがわかっている。厄介なことに言語のネットワークもまたWebのネットワーク同様に成長するネットワークであるため、言語のネットワーク図を描くことはかなり困難である。
そして、こうした言語のネットワーク性を別の表現で示したものこそ、先のヴィトゲンシュタインの言語ゲームという概念なのではないかと思ったりもする。

こうした点は、s.h.さんの書いているフラクタル性からはどうしても抜け落ちてしまうHII固有の問題だったりするのではないかと思っている。
そして、こうした事情こそが「HCIとHIIの階層構造、生命情報/社会情報/機械情報の階層構造」のエントリーですこしだけ触れたような西垣さんの「生命情報/社会情報/機械情報」といったモデルとつながってくるのだろう。社会情報でさえ、企業組織内固有のルール(そして、それは厳格なルールにはなっていない)があり、相似性あるいはアルゴリズムの発見がむずかしい。ましてや生命情報になると、おそらくもっと困難があるはずだと思う。

だいぶ、s.h.さんのエントリーからは遠いところまで来た感じだが、HIIを考える上では避けて通れないだろうと思ってエントリーしてみました。

関連エントリー


  
posted by HIROKI tanahashi at 23:29| Comment(1) | TrackBack(1) | 数学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
クラスとセットについては誤解されていると思います. 佐藤正美さんの数学理解は危うい部分が多いので, あまり当てにされない方がいいかと.

クラスは「すべての集合」を対象にして定義されるような集まりで, 通常セットと区別して考える必要はありません.

集合の外延的な定義と, 内包的な定義というようなことをおっしゃりたかったのでしょうか...?
Posted by めたぼう at 2010年10月10日 15:24
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/17647757
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック

マシン??インターフェース??ヒューマン
Excerpt: Blogをちらちら見てるとたまに良い議論に出会うことが(以下略)。 という訳で、昨日良い感じにひっかかった一連のシリーズものをメモ。 2つの階層構造、2つの分類法(タクソノミーとオントロジー、あるいは..
Weblog: SW's memo / 渡辺聡事務所
Tracked: 2006-05-11 07:04