川村渇真の「知性の泉」

研究中の機能と進捗状況


各層ごとに実現アイデアを用意

 情報作業環境モデルの3層では、各層ごとに異なる目的がある。それを実現するための機能は、すでに選び出してある。これで確定というわけではないが、大きく変わることはないと思う。これらの機能は、各層の目的を達成するために必要なものばかりだ。

情報作業環境モデルに含まれる機能

以下に、この図に含まれる各機能について簡単に説明する。

研究の進捗状況を数値で表現

 機能を説明する前に、研究の進捗状況を示す数字について述べておきたい。自分の研究では、どの程度まで研究が進んでいるのか、数値で表すことにしている。厳密ではないが、だいたいの進み具合を把握するには十分だ。以下の4段階を定義し、研究の開始時点がゼロで、1段階進むごとに10ずつ増える。

00〜10:根本的なアイデア:実現のための根本原理を求める段階
10〜20:基本機能の実現方法:基本的な機能を実現する方法の検討段階
20〜30:上級機能の実現方法:より高度な機能まで実現する方法の検討段階
30〜40:実設計用の上位仕様:本当に作るための上位仕様を決める段階

研究の進捗状況を表す数値

最初の3段階が研究といえるレベルで、実現するための方法をだんだんと確立していく。3段階の終わりである30まで到達すれば、技術的な問題は解決されたことになる。ただし、上位の機能というのは限りがないので、新しく実現したい機能が加われば、また第3段階を繰り返す。残りの4段階目は、実際に作ることを考慮して、重要な部分の処理やデータの構造を定める。ここまで終われば、より細かなデータ構造を決めるなどの基本設計に移行して作り始められる。第4段階は、現実に作る工程への橋渡しの役割りがある。
 研究の進捗状況を示す数値は、途中の値にも、ある程度の意味を持たせている。代表的な値では以下のようになる。
00:どのようにして解決したらよいか、まったく分からない
05:解決の根本アイデアを思いついたが、よく考えて確かめてみなければ
10:解決の根本アイデアは使えそうなので、実現できる可能性が高い
15:基本機能の実現の仕組みを思いついたが、よく検討してみよう
20:基本機能までは、確実に実現できる
25:上級機能の実現の仕組みを思いついたが、よく検討してみよう
30:上級機能まで含めて、確実に実現できる
40:実際に作るための上位設計が終わった
 研究レベルとしては、各機能ごとにキリのよいところで停止する。研究があまり進んでも、現実が付いてこないからだ。また、30まで到達したら一旦終了して、新しい上級機能を思いつくまでは休止状態に置く。

各機能の内容と研究の進捗状況

図に含まれる各機能の簡単な説明を以下に並べた。研究の進捗状況も数値で加えてある。

◎GUI
アイコンやウィンドウの表示とマウス操作を組み合わせた、グラフィカルなユーザーインターフェース機能。現在の主流であり、多くのOSで採用している。

◎Obj. Data Handler
単行本「オブジェクト指向コンピュータを創る」で説明した内容の総称。ファイルとアプリケーションという仕組みを止めて、オブジェクト・ドライバとオブジェクト・データで構成し、自由なデータの組合せを実現する。情報中心システムへ移行するための途中段階のシステム。

◎Object First機能(研究進捗レベル=25)
最終的に得たい情報の種類や条件を一番最初に指定して、だんだんと答えを求める機能。処理方法や対象データの候補をシステム側で表示し、ユーザーに選ばせながら答えを導き出す。用いた処理方法の意味や利用分野を調べられるので、勉強しながら使うこともできる。

◎Flexble Converter機能(研究進捗レベル=12)
あるデータを、まったく種類の異なるデータへ変換する機能。タイプの異なるデータへ変換することで、そのデータを別な目的にも使用することができる。たとえば、エンジンの最高速度/燃費/耐久性の3つの数字を、縦/横/奥行の3つの長さに変換して立方体で見せれば、エンジンの総合的な性能が図示できる。このように意味のある変換だけでなく、どんなデータでも自由に変換することで、データを広範囲に活用できる。

◎Auto Converter機能(研究進捗レベル=7)
Flexble Converter機能を自動化するための機能で、連動して動く。データの使用目的を考慮し、できるだけ意味のある変換方法を探し出して候補表示して、ユーザーに選ばせる。この機能と連動することで、変換操作は格段に改善できる。

◎Auto Expression機能(研究進捗レベル=25)
情報を分かりやすく整えて表示する機能。データの内容や使用目的を分析して、最適な表示方法を選び、表示内容を自動生成する。数多くの表現ルールに合わせて、表示内容を理解しやすく整えるのが、一番の目的。分かりやすい一覧表や組織図や流れ図が、ほとんど自動的に生成できる。この機能のおかげで、ユーザーがコンピュータを操作する量は、劇的に減少する。

◎Art Plus機能(研究進捗レベル=20)
内容をデザイン(飾り付けの意味)中心で表示する機能。デザインを重視すると理解しやすさが低下するので、どの程度までデザインを重視するのかをユーザーが指定できる。また、仕事の種類ごとに違うデザインを選べるので、表示したデザインを見て仕事の種類を判断する役目もある。

◎Auto Evaluator機能(研究進捗レベル=20)
情報を表示する前に、評価を加える機能。情報の種類ごとに最適な評価方法を選び、評価処理を通してから表示する。表示結果を見てから、評価方法を表示させることも可能だ。ユーザーが新しい評価方法を追加したり、評価方法の優先度を変えたりもできる。評価方法は知識ベースに入れる。

◎Personal Expression機能(研究進捗レベル=5)
個人の好みに合わせて、表現方法を進歩させる機能。最小限の指示で表示内容を変更しているうちに、その人が好む表現ルールを自動生成する。生成する表現ルールは、分かりやすさを低下させない範囲内で、好みに合わせた調整をする。

◎Personal Viewer機能(研究進捗レベル=5)
その人が必要な情報を自動的に選び出し、目的に応じて整えて並べる機能。やりたい作業ごとに異なる目的や条件を定義すれば、それぞれに最適な情報と表示方法を選び、上手に整理して画面表示してくれる。学習機能もあり、だんだんと好みの表示方法に進化する。いろいろな情報を組み合わせて表示するときに、効果を発揮する。

◎Prism Viewer機能(研究進捗レベル=15)
入力したデータと知識ベースのデータを組み合わせながら各種視点で見せることで、発想を助ける機能。何種類かの見方を用意し、それらを組み合わせて発想の助けにする。

◎Idea Adviser機能(研究進捗レベル=12)
アイデアが出なくて困ったときに、考えるためのネタを与えてくれる機能。知識ベースと複数の助言エンジンを基礎にして動き、求められるアイデアの種類や目的ごとに助言エンジンを使い分ける。また、複数の助言エンジンを組み合わせても使える。助言エンジンの種類は、現在考えているのは7つほどだが、将来的には15程度まで増やす予定だ。

◎Thinking Shocker機能(研究進捗レベル=10)
創造性を刺激するための情報を、定期的に与える機能。何種類かの刺激エンジンと知識ベースを組み合わせて、異なる刺激をいくつも与える。成功した刺激を学習して、そのユーザーに役立つ刺激を優先して与える機能も持つ。与える刺激には、ユーザーに考えさせる指導情報やヒントも含まれ、考える癖や発想方法を身につけさせる。

◎Thinking Load機能(研究進捗レベル=5)
ユーザーの創造性を伸ばすために、決められたカリキュラムにしたがって刺激を与える機能。集中して勉強する方法と、仕事の中に自然に潜り込ませる方法の2種類が利用できる。長い期間をかけて使用し、だんだんと創造性を進歩させる。

注意:創造レベルの機能は、本人の才能にも大きく関係するため、誰もが恩恵を受けられるとは限らない。できるだけ多くの種類の刺激を与えられるようには作るが、それでも限界がある。最終的には、本人の才能で決まる部分が意外に大きい。ただし、本当は才能がありながら、生活した環境が悪かったなどの理由で、考える癖が付いていなかった人は、この機能で大きく開花する可能性が高い。

夢物語ではなく実現可能な話

 ここで並べた各機能は、論理的に実現可能なものばかりだ。人工知能を作るよりもはるかに簡単で、論理的なメドはある程度までついているし、近いうちに完全なメドがつく。1995年の時点で実現するのが難しい理由は、CPUの処理能力、メモリやハードディスクの記憶容量などが不足するためだ。必要な処理能力や容量に関しては、2005年や2010年という“近い”将来に達成できるだと予想している。それまでにソフトウェア側を用意しておけば、より早く実現させられるのだが。
 実際に作る場合、技術面での難関はほとんどない。並べた各機能は、研究進捗レベルが30に達することが確実であり、その時点で技術的な難しさは残っていない。あとは作成する際の手間で、これだけ機能が多いと、全体としてかなりの開発規模になる。とはいうものの、既存OSとアプリケーションを合わせた仕組みと比べて、同じ機能を実現するのなら、数分の1の開発工数で済む。1つの機能をどこからでも呼び出せる基本構造なので、同じ機能を何カ所かで作る必要がないからだ。実現する機能の割には、開発規模がかなり小さいといえる。既存OSを開発できた能力があるなら、十分に開発可能といえよう。
 ここで紹介した各機能は、基本となる大きなものだけだ。それ以外にも、細かな部分で便利になる改良アイデアを持っていて、使い勝手を良くする機能がほとんどだ。それを加えることで、より便利なシステムを実現できる。
 思考支援コンピュータとは、夢物語ではなく、現実に可能なアイデアの集まりなのだ。研究中の機能を見れば、なぜ「思考支援」と銘打っているのか、理解していただけると思う。情報中心システムの最終段階では、思考支援コンピュータと呼ぶに相応しい機能を備えられる。

コンピュータ以外の能力も必要な研究時代に突入

 情報中心システム全体で実現しようとしている内容を見ると、既存のコンピュータの範囲から大きく飛躍している。このことは、1つの重大な意味を示す。コンピュータ技術だけが非常に詳しくても、次の世代のコンピュータは設計できないことをだ。
 新しい機能から分かるように、次世代のコンピュータ設計に必要なのは、情報を分かりやすく表現したり整理する技術への精通だ。これは未開拓の分野であり、研究の余地は数多く残っている。その次に必要な能力は、創造的な活動を支援したり、創造性を高めるための教育方法などだ。これも、あまり開拓されていない分野であり、これから花開かせなけらばならない。これらの新しい分野の技術に加え、コンピュータの技術にも明るくなければ、大きく進歩したコンピュータを設計できない。そういう分岐点に、今立っているのだ。
 現時点での大きな問題は、新しい分野の技術とコンピュータ技術は、かなり異質な内容である点だ。そのため、両方を深く理解している人の割合は、極端に少ないと思われる。それが大きな原因となって、コンピュータの進歩を停滞させている。しかし、新しい分野の技術も必要だとの認識が広まれば、適した人材が登場する可能性も高くなる。それによって、少しは前に進むだろう。期待は薄いがゼロではない。

(1995年7月24日)


下の飾り