(57)【要約】人間の持つ意味といったものノードの集合である空間として扱うことで、本来の情報の持つ意味に近い形で情報を扱い、お互いに共有し、自然な形で処理や管理を可能にする情報管理装置、プログラム、および、方法を提供する。具体的には、ノードの集合で形成された一つ、または、複数の空間を利用する。さらにこの空間に対する比較処理を行い、複数の空間にまたがる概念を抽出する、重ね合わせ処理を行うことができる。さらに本発明は、射影化、レイヤー、自動分類処理といった情報管理、および、生成に関する機能によって空間情報の管理を容易にする。【特許請求の範囲】
【請求項１】
ひとまとまりの情報であるノードの集合で形成された一つ、または、複数の空間に対する評価を行う情報空間評価装置であって、
前記空間から情報を取得するデータ取得部と、
取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理部と、
前記重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力部と
を備えることを特徴とする情報空間評価装置。
【請求項２】
前記重ね合わせ計算処理部は、
前記ノードどうしが等価であると見なすことができるか否かを評価する等価評価部と、
前記等価評価部による評価に基づいて、前記異なる空間に対して、比較計算をし、その結果を前記関連性として算出する演算処理部とを有する
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項３】
前記演算処理部は、前記等価評価部による評価に対して、一定の条件を満たすか否かを判断することによって真偽を求め、前記異なる空間どうしの真偽を論理演算することによって、前記比較計算をする論理演算部を有する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項４】
前記論理演算部は、前記等価評価部によって等価と評価された前記ノードの数が指定された範囲なのか否かで前記真偽を求める
ことを特徴とする請求項３記載の情報空間評価装置。
【請求項５】
前記演算処理部は、
前記等価評価部によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとして重み付け処理をする重み付け計算部と
重み付け計算部で得られた重みを用いて、前記比較計算をする統合計算演算部とを有する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項６】
前記重み付け計算部は、前記等価評価部によって等価と評価されたノードについては、それぞれの前記空間で１つのノードとして数え上げる計算する一意化処理をする
ことを特徴とする請求項５記載の情報空間評価装置。
【請求項７】
前記重み付け計算部は、前記重みに対して、それぞれの前記空間で等価と評価されたノードの数で除算を行って得られる値を新たな重みとして、前記重み付け処理をする
ことを特徴とする請求項６記載の情報空間評価装置。
【請求項８】
前記重み付け計算部は、前記空間またはノードに応じて、数え上げたノードの数から重みを決定する際の依存関係を変化させる
ことを特徴とする請求項５記載の情報空間評価装置。
【請求項９】
前記重み付け計算部は、それぞれの空間の重みを計算のオペランドとして使用することによって前記重みを特定する
ことを特徴とする請求項５記載の情報空間評価装置。
【請求項１０】
前記重み付け計算部は、前記計算において四則演算を使用する
ことを特徴とする請求項９記載の情報空間評価装置。
【請求項１１】
前記等価評価部は、前記ノードに結びついた情報であるプロパティを使用することによって、前記等価を評価する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項１２】
前記等価評価部は、前記ノードの型を表すノードタイプを使用することによって、前記等価を評価する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項１３】
前記等価評価部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつお互いに同期しているノードを等価とする同期点等価評価によって、前記等価を評価する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項１４】
前記等価評価部は、プログラム言語、または、スクリプト言語による判断で前記等価を評価する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項１５】
前記等価評価は、外部プログラムによる判断で前記等価を評価する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項１６】
前記等価評価部は、空間に存在するノードをすべてお互いに異なるものとして扱う完全独立等価評価によって前記等価を評価する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項１７】
前記情報空間評価装置はさらに、
前記空間に存在するノード、または、前記ノードの情報をソート状態で前記空間別のデータコンテナへ格納するソート済みコンテナ作成部と、
ソート済みデータコンテナに対して線形走査による計算とマージ処理によって一つの結果を導くマージ計算部とを備え、
前記重ね合わせ計算処理部は、前記マージ計算部によってマージ処理された空間に対して、前記重ね合わせ計算をする
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項１８】
前記重ね合わせ計算処理部は、
前記ノードと前記ノードとの比較計算を行い、関連度を算出する比較検討部と、
前記比較検討部による評価に基づいて、前記重ね合わせ計算をする比較検討重ね合わせ処理によって前記空間どうしの関連性を算出する
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項１９】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、重みを求める比較検討重み付け処理をする
ことを特徴とする請求項１８記載の情報空間評価装置。
【請求項２０】
前記重ね合わせ計算処理部は、前記比較による値を計算のオペランドとして使用して計算することで前記関連性を算出する
ことを特徴とする請求項１９記載の情報空間評価装置。
【請求項２１】
前記重ね合わせ計算処理部は、前記比較による値を計算のオペランドとして使用する場合において、計算に四則演算を利用する
ことを特徴とする請求項２０記載の情報空間評価装置。
【請求項２２】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、空間全体を使用して比較を行う全比較型の比較をする
ことを特徴とする請求項１８記載の情報空間評価装置。
【請求項２３】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、外部の空間のノードと比較を行う外比較型の比較をする
ことを特徴とする請求項１８記載の情報空間評価装置。
【請求項２４】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、内部の空間のノードと比較を行う内比較型の比較をする
ことを特徴とする請求項１８記載の情報空間評価装置。
【請求項２５】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理によって空間又はノードに対する重みを算出し、算出した重みを使用して一定の条件に対する真偽を求め、求めた真偽を論理演算する比較検討論理演算をする
ことを特徴とする請求項１８記載の情報空間評価装置。
【請求項２６】
前記演算処理部は、
前記等価評価部によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとして重み付けする等価重み付け処理と、前記ノードと前記ノードとの比較を用いた前記重ね合わせ計算をすることによって前記重み付けをする比較検討重み付け処理をする重み付け計算部と、
前記重み付け計算部で得られた重みを用いて、前記比較計算をする統合計算演算部とを有する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項２７】
前記統合計算演算部は、
前記重み付け処理によって得られた結果を特定の等価評価を基準として分類、および、統合する分類統合部と、
前記分類統合部の結果を計算のオペランドとして使用して計算する統合計算部とを有する
ことを特徴とする請求項２６記載の情報空間評価装置。
【請求項２８】
前記分類統合部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつお互いに同期しているノードを等価とする同期点等価評価によって、前記等価評価をする
ことを特徴とする請求項２７記載の情報空間評価装置。
【請求項２９】
前記分類統合部は、空間に存在するノードをすべてお互いに異なるものとして扱う完全独立等価評価によって前記等価評価をする
ことを特徴とする請求項２７記載の情報空間評価装置。
【請求項３０】
前記統合計算部は、前記分類統合部の結果に対して四則演算による計算を行う
ことを特徴とする請求項２７記載の情報空間評価装置。
【請求項３１】
前記重み付け計算部は、導き出された結果に対して求める重みの値を加工する重み加工処理を行う
ことを特徴とする請求項５記載の情報空間評価装置。
【請求項３２】
前記重み付け計算部は、前記重み加工処理において、論理演算により加工する重みを特定する
ことを特徴とする請求項３１記載の情報空間評価装置。
【請求項３３】
前記重ね合わせ計算処理部はさらに、前記演算処理部で得られた結果を特定の条件で絞り込み、その結果を重ね合わせ計算処理部の結果として出力するフィルタリング部を有する
ことを特徴とする請求項２記載の情報空間評価装置。
【請求項３４】
前記フィルタリング部は、前記空間の論理演算による絞り込みを行う
ことを特徴とする請求項３３記載の情報空間評価装置。
【請求項３５】
前記フィルタリング部は、特定のノードかどうかを判定する判定式を使用して絞り込みを行う
ことを特徴とする請求項３４記載の情報空間評価装置。
【請求項３６】
前記情報空間評価装置はさらに、前記複数の空間を一つの空間として扱う処理である空間の射影化を行う射影部を備える
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項３７】
前記射影部は、空間を構成するノード単位で画一的な構造を作り出すノード射影化を行う
ことを特徴とする請求項３６記載の情報空間評価装置。
【請求項３８】
前記空間は、空間を構成するノードどうしが連結関係を示す情報であるリンクによって連結されたリンク空間であり、
前記射影部は、ノードのリンク構成そのものを複数作り出す事で前記射影化をするリンク射影化を行う
ことを特徴とする請求項３７記載の情報空間評価装置。
【請求項３９】
前記射影部は、空間に対してデータを結びつけることで前記射影化を行う
ことを特徴とする請求項３７記載の情報空間評価装置。
【請求項４０】
前記射影部は、ノードであるが空間としても使用することができる独立空間ノードを使用することで前記射影化を行う
ことを特徴とする請求項３７記載の情報空間評価装置。
【請求項４１】
前記空間は、空間を構成するノードどうしが連結関係を示す情報であるリンクによって連結されたリンク空間である
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項４２】
前記リンク空間は、親子関係のリンクで形成された階層空間である
ことを特徴とする請求項４２記載の情報空間評価装置。
【請求項４３】
前記空間は、単なるノードの集合である無形空間であること
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項４４】
前記空間は、論理的な空間である
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項４５】
前記空間は、ノードそのものに情報を付加するのではなく、ノードと並行的に付加情報が与えられたレイヤー構造を有する
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項４６】
前記レイヤーは、空間の構造そのものに対して前記レイヤーを付加する構造レイヤーである
ことを特徴とする請求項４５記載の情報空間評価装置。
【請求項４７】
前記レイヤーは、実体そのものに対して前記レイヤーを付加する実体レイヤーである
ことを特徴とする請求項４５記載の情報空間評価装置。
【請求項４８】
前記レイヤーは、レイヤーにセキュリティ情報が付加されたセキュリティレイヤーである
ことを特徴とする請求項４５記載の情報空間評価装置。
【請求項４９】
前記レイヤーは、レイヤーに空間の変化、空間に対する命令、または、時間的変移を内部、または、外部ユーザに通知するイベント情報が付加されたイベントレイヤーである
ことを特徴とする請求項４５記載の情報空間評価装置。
【請求項５０】
前記情報空間評価装置はさらに、
前記空間を構成するノードを追加することによって空間を拡張する自動分類処理部を備え、
前記自動分類処理部は、
前記ノード、または、前記ノードに対応づけられた情報を取得して処理を開始する自動化処理開始部と、
前記ノードのリンクを辿る巡回部と、
前記巡回部において巡回したノードに新たなノードを追加する場合に、適切かどうかを判断する存在可否条件式を使用して適切かどうかを判断する存在可否条件判定部と、
前記存在可否条件判定部により追加が適切と判定された場合に、ノードを追加する追加部とを有する
ことを特徴とする請求項１記載の情報空間評価装置。
【請求項５１】
前記追加部は、二番目以降に追加するノードがそれぞれ異なる実体として追加される個別型自動追加をする
ことを特徴とする請求項５０記載の情報空間評価装置。
【請求項５２】
前記追加部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードどうしを、同期した状態と呼ぶ場合において、二番目以降に追加されるノードが最初に追加されたノードの同期した状態で追加される同期型自動追加をする
ことを特徴とする請求項５０記載の情報空間評価装置。
【請求項５３】
前記追加部は、二番目以降に追加されるノードが最初に追加されたノードへのリンクの追加となるリンク型自動追加をする
ことを特徴とする請求項５０記載の情報空間評価装置。
【請求項５４】
前記追加部は、ノードの追加と共に前記存在可否条件式を設定する
ことを特徴とする請求項５０記載の情報空間評価装置。
【請求項５５】
前記巡回部は、巡回時にノードのリンクを辿って巡回するかどうか判定する巡回可否条件式を使用し、巡回不可と判断された場合に、リンクされたノードの巡回を行わない
ことを特徴とする請求項５０記載の情報空間評価装置。
【請求項５６】
ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価方法であって、
前記空間から情報を取得するデータ取得ステップと、
取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理ステップと、
前記重ね合わせ計算処理ステップによる重ね合わせ計算の結果を出力するデータ出力ステップと
を含むことを特徴とする情報空間評価方法。
【請求項５７】
ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装置のためにプログラムであって、
請求項５６記載のステップをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項５８】
ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装置のためにプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
請求項５７記載のプログラムが記録されている
ことを特徴とする記録媒体。
【請求項５９】
前記情報空間評価装置に対して、情報通信網を介して接続することで前記情報空間評価装置の出力する情報を得ることができる情報接続部を備える情報受信装置。
【請求項６０】
前記情報接続部は、重ね合わせ計算の結果に依存する情報を得ることができることを特徴とする請求項５９記載の情報受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムにおける知識情報からなる情報空間の管理、検索、分析、共有化を行う情報空間処理装置についての発明である。
【背景技術】
【０００２】
今日の科学技術の発展は目覚しいものである。しかし、一方で、科学技術の進歩と複雑化、インターネット空間での情報の大規模化が進み、膨大な情報を管理することが困難になってきている。これらの問題を解決し、膨大な情報管理を容易にするには、単なる情報を情報として扱うのではなく、情報の持つ意味を効率的に処理することができれば、大きなアドバンテージを持つことができる。【０００３】
人の頭の中にある、「ある情報に対する意味」というものは非常にあいまいである。また、同じ情報であっても扱う人によって意味は変わる。また、状況や情報に対する視点によっても変化するものである。これが計算機上で表現しにくい原因となっている。極論を言ってしまえば個人の持っている意味情報を正確に扱おうとするなら、脳を分子コピーして、コンピュータ上に分子レベルでシュミレーションしなければならないだろう。しかし、現代科学ではこれは不可能である。では意味といったあいまいなものをコンピュータ上で表現することはできないのだろうか。【０００４】
過去にも、意味を情報化しようという試みはあった。既存の意味管理システム、意味体系化手法には、非特許文献１、非特許文献２、非特許文献３、非特許文献４、非特許文献５、および、非特許文献９に記述されているようなセマンティクスネットワーク、トピックマップ、RDF（Resource
Description Framework）、OWL（Web Ontology Language）といったものがある。特にトピックマップ、RDF,OWLはセマンティクスウェブと呼ばれ現在盛んに研究されている。しかし、これらでは情報にメタデータを与えることや、情報に意味情報および関係情報を付加、または定義することで情報に意味を与えようとしている。しかし、これでは意味の硬直化と複雑化の増大という問題が起こってしまう。硬直化とは本来「意味」とはあいまいなものであるはずが特定のものに固定されてしまうことで、複雑化とは定義されたデータ間の関係を定義する情報が大きくなりすぎ扱えなくなることを意味する。つまり、既存のデータ管理手法では意味を何かしらの検索用の定義データに置き換えて管理しようとしているとも言える。【０００５】
また、非特許文献６、非特許文献７、および、非特許文献８に記述されているマイクロソフトの次世代ファイルシステムの（コードネーム）WinFSなども、情報の次世代の情報管理手法として研究開発が進んでいる。この手法は、ファイルシステムをWebにアクセスするようにファイルシステムにアクセス可能にしようというものである。これは、ファイルについてのメタ情報をリレーショナルデータベースに格納し、高度なクエリー検索、横断検索、検索速度の向上、分類による検索、検索結果の絞り込み検索などが可能になるというものである。しかし、これもまた、情報のメタ情報を管理し検索するという手法である。【０００６】
【非特許文献１】ジャック・パーク（Jack Park）著, サム・ハンティング（SamHunting）編, 後藤  強訳, 「XML Topic Maps―時代はセマンティクウェブ」
【非特許文献２】Members of the TopicMaps.Org Authoring Group著,XML Topic Maps (XTM) 1.0, [online], [２００４年５月２０日検索], インターネット＜http://www.topicmaps.org/xtm/1.0/＞
【非特許文献３】ISO 13250
【非特許文献４】W3C著, Resource Description Framework (RDF),[online],  [２００４年５月検索],  インターネット＜ＵＲＬ：http://www.w3.org/RDF/＞
【非特許文献５】W3C著, OWL Web Ontology Language XML PresentationSyntax, [online],  [２００４年５月２０日検索],インターネット＜http://www.w3.org/TR/owl-xmlsyntax/＞
【非特許文献６】MicrosoftCorporation著, WinFS, [online],  [２００４年５月検索],  インターネット＜ＵＲＬ：http://msdn.microsoft.com/Longhorn/understanding/pillars/WinFS/default.aspx＞
【非特許文献７】Microsoft Corporation著, WinFS in the Longhorn SDK, [online],  [２００４年５月検索],  インターネット＜ＵＲＬ：http://longhorn.msdn.microsoft.com/?//longhorn.msdn.microsoft.com/lhsdk/winfs/daovrWelcomeToWinFS.aspx＞
【非特許文献８】Microsoft Corporation著,  The WindowsFile System, [online],  [２００４年５月検索],  インターネット＜ＵＲＬ：http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaero/html/wux_topic_storage.asp＞
【非特許文献９】「Computational Intelligence  Part4  知識工学  オントロジが知識の共有を促す」,日経バイト２００４年２月号, 日経ＢＰ社, ２００４年, Ｐ．４２−４５
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の技術では、人間の持つ意味といったもの本来の意味に近い形で体系的扱い、お互いに共有し、本来の意味に基づいた処理や管理ができているとはいえないという問題がある。
そこで、本発明は、人間の持つ意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱うことができる情報空間処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る情報空間評価装置は、ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装置であって、前記空間から情報を取得するデータ取得部と、取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理部と、前記重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力部とを備えることを特徴とする。
本発明では意味といったものを空間として扱う。つまり、意味を何かしらの定義された属性情報ではなく、空間に存在する位置情報、および、その存在の状態情報として扱う。本発明ではこの空間のことを特に意味空間(セマンティクススペース)と呼ぶ。また、この存在の状態情報として扱うことが、意味の持つあいまい性を扱う上で大きな役割を果たす。【０００９】
本発明は存在の状態を扱うことで、情報の持つ概念を効率的に扱うことができる。この原理によって情報の管理や取得をより効率的に扱うことができる。しかし、これらの効果を適切に引き出すには、特定の管理方法や処理方法を使用する必要がある。【００１０】
空間の重ね合わせ処理は本発明において非常に重要な概念である。これは異なる空間に存在を比較して演算するというものである。特に重要なものはこの比較に同じであるかどうかを比較するものである。それぞれの空間は何かしらの概念を表現したものとなる。それぞれの異なる空間の中で同じであるものが存在するということは、同じものが異なる概念の中で存在しているということを意味する。本発明においては存在することを意味として捉えている。この存在は空間の構造そのものや、情報と情報の関係といったものに左右されないため、空間の記述に大きな自由度を与えることができる。重ね合わせ処理を使用すれば、複数の空間に横断的に存在するものを浮かびあがらせる事ができる。【００１１】
一言で言えば、重ね合わせ処理は、空間におけるデータの偏りや特徴を比較することで情報を浮かび上がらせる処理であるといえる。【００１２】
さらに、重ね合わせ処理は空間予測性を利用する事で大きな効果を生み出ことができる。空間予測性とは人間が空間に結びついた情報や、空間の一部を認知することで、認知していな部分を予測できることを言う。この予測に基づいて重ね合わせ処理を行うことで、認知していない、つまり、ハッキリとした存在すら知らない概念や情報を浮かび上がらせることで到達が容易に可能となる。このように、重ね合わせ処理は人間の持つ予測能力を利用して、情報を検索できる処理であるとも言える。【００１３】
以下に図を使用して、認知と非認知と重ね合わせ処理について説明する。通常、空間が巨大であるならば、すべてを認知することはできない。しかし、図３の１１２のように非認知であっても１１１のような認知した情報からある程度は予測できる。このとき、図４の１１３に見られるように、認知部分から非認知の部分を予測し、重ね合わせ処理によって非認知の部分についての情報を浮かび上がらせることが可能となる。【００１４】
以下にキーワードや自然言語処理による検索と、重ね合わせ処理の情報サイクルの比較を行う。図５はキーワードや自然言語処理による検索による情報の流れを示した物である。この場合は、人間１２１が自身の持つイメージをキーワードや自然言語へ１２２において変換する。この情報を１２３でコンピュータが処理し、結果１２４として出力されて人間がそれを認知する。図６は重ね合わせ処理の情報の流れを示した物である。この場合は、人間１２１が自身の持つイメージが定義された空間のどれにあたるのかといったことを１２５においてマッピングして、そのマッピングの結果を１２６でコンピュータ処理し、結果１２７として出力されて人間がそれを認知する。【００１５】
空間の射影化は画一的な構造を維持したままで、異なるものを表現する場合に重宝する仕組みである。つまり、複数バージョンの空間を一つの概念として扱うことを可能とするものである。空間の射影化によって画一的なデータを扱いやすくすることが出来る。用途としては、日本語版と英語版とスペイン語版といった、多言語用に空間を管理する射影化などが強力である。射影化によって特定の構造を保持したまま、様々な局面別のまとまった空間を明確に作成することができる。【００１６】
レイヤーは空間に対して、付加情報、または、付加情報を使用した処理を提供することができる。例えば、セキュリティに関する情報は、空間で表現したい概念とは通常は異なる。具体的に言えば、あるテスト結果を表現した空間があるとする。この空間のセキュリティに関する情報であるアクセス許可、不許可といった情報は、テストの点数といったテスト結果とは関係ないはずである。このように空間の表現したい概念と直接関係のない情報を明確に分離することで、それぞれを扱いやすくすることができる。【００１７】
空間の自動分類処理によって空間の拡張が容易になる。この処理を使用すれば、人間が手作業で空間のどこにノードを追加するのか、どこに存在させるべきかといったことを考慮する必要がなくなり、空間全体を把握してノードを追加するという手間を大幅に減少させることが可能となる。
なお、本発明は、上記のような情報空間評価装置として実現できるだけでなく、情報空間評価方法、その方法をステップとして表現したプログラム、そのプログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭ等の記録媒体としても実現できる。
【発明の効果】
【００１８】
この意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱うことができるようになった。このことによって多くの人間が情報を保存、共有、交換、および、伝達できるようになる。この意味のあいまい性の効果は階層空間を利用したプログラムによって顕著に表れる。さらに、存在の状態を使用した空間の論理演算、重み付け処理、意味空間を利用する上で最も強力な機能といえる。
【図面の簡単な説明】
【００１９】
【図１】本発明で使用されるコンピュータ概略図
【図２】本発明で使用されるネットワーク概略図
【図３】認知部分と非認知部分を示す図
【図４】重ね合わせ処理の概念を示す図
【図５】キーワードや自然言語による情報の検索における情報の流れを示す図
【図６】重ね合わせ処理による情報の検索における情報の流れを示す図
【図７】リンク空間を表したノード図
【図８】無形空間を表したノード図
【図９】空間を表すノード図
【図１０】ノードのリンクをノードの内部に実装する仕組みを表す図
【図１１】ノードのリンクをノードの外部における定義で表す図
【図１２】同期点の説明における、ノード図
【図１３】参照管理による同期維持の仕組みを表す図
【図１４】操作の多重化による同期維持の仕組みを表す図
【図１５】参照管理による同期維持を行う場合のデータ付加を行う図
【図１６】操作の多重化による同期維持を行う場合のデータ付加を行う図
【図１７】独立空間ノードを表したノード図
【図１８】ノードを継承する場合を表した図
【図１９】継承もとのノードの定義をＸＭＬで表した図
【図２０】継承先のノードの定義をＸＭＬで表した図
【図２１】結びつけ用のノード図
【図２２】ノードにファイル情報を結びつけた図
【図２３】階層空間の説明図
【図２４】空間予測性の説明における、ノード図
【図２５】ツリービューのスクリーンショットを示す図
【図２６】リンクノードの実装を示す図
【図２７】ＸＭＬによるノード実装の説明用の図
【図２８】ノードの実体をＸＭＬで表現した一例を示す図
【図２９】ノードの実体をＸＭＬで表現した他の例を示す図
【図３０】ノードの実体をＸＭＬで表現した他の例を示す図
【図３１】空間のリンクをＸＭＬで表現した例を示す図
【図３２】階層空間のリンクをＸＭＬで表現した例を示す図
【図３３】ノード、および、ノードデータのシリアライズ処理の説明図
【図３４】ノードのデータのシリアライズされたデータ例を示す図
【図３５】ノードの情報をリレーショナルデータベーステクノロジとの連携を表す図
【図３６】ノードの情報をメモリと不揮発性記録媒体との連記を表す図
【図３７】複数のプログラムで通信するブロック図
【図３８】ノードを同期データとして複数のコンピュータで管理する方法の図
【図３９】異なるプログラム間でノードのリンクを実装する方法の図
【図４０】イベントが様々な通知を行うことを表す図
【図４１】セキュリティの仕組みを表す図
【図４２Ａ】リンク数選択を行う前の空間を表すノード図
【図４２Ｂ】リンク数選択を行った後の空間を表すノード図
【図４３】階層選択の仕組みを表すノード図
【図４４】計算式、および、判定式の説明用のノード図
【図４５】プロパティの値を使用した計算式、および、判定式の結果表
【図４６】ノードタイプ、プロパティ、ノードのリンクに関する情報による計算式、および、判定式の結果表
【図４７】同期点を使用した計算式、および、判定式のためのノード図
【図４８】同期点を利用した計算式、および、判定式の結果表
【図４９】等価評価の説明用のノード図
【図５０】プロパティの値による等価評価の結果表
【図５１】リンク、および、同期点の情報を使用した等価評価の説明用のノード図
【図５２】リンク、および、同期点の情報を使用した等価評価の結果表
【図５３】空間の論理演算を行うノード図
【図５４】空間Ａの論理表への置き換え例を示す図
【図５５】空間Ｂの論理表への置き換え例を示す図
【図５６】詳細な論理演算の説明図
【図５７】空間のANDによる論理演算の例を示す図
【図５８】空間のORによる論理演算の例を示す図
【図５９】空間のXORによる論理演算の例を示す図
【図６０】空間のNANDによる論理演算の例を示す図
【図６１】空間のNORによる論理演算の例を示す図
【図６２】空間のXNORによる論理演算の例を示す図
【図６３】指定数を２にした場合の空間Ａの真偽値への置き換えの例を示す図
【図６４】空間の重み付け検索用のノード図
【図６５】重み付け検索の結果を示す図
【図６６】一意性重み付け検索の結果を示す図
【図６７】優先度重み付けによる調整を行った、重み付け検索の結果を示す図
【図６８】リンクの距離により優先度を調整する場合の例を示す図
【図６９】リンクの距離により優先度を調整する場合の他の例を示す図
【図７０】重み付け処理のより詳細な説明用のノード図
【図７１】重み付け処理のより詳細な説明用の計算図
【図７２】フィルタリング処理の説明図
【図７３】空間の置換説明用のノード図
【図７４】独立空間ノードの重ね合わせを示す図
【図７５】独立空間ノードを含む空間の重み付け計算のノード図
【図７６Ａ】独立空間ノードを含む空間の重み付け計算の結果表
【図７６Ｂ】独立空間ノードを含む空間の重み付け計算のその他の結果表
【図７７】高速な重み付け処理の計算アルゴリズムのステップ図
【図７８】高速な重み付け処理の計算アルゴリズムのブロック図
【図７９】ノードのマージ処理の説明図
【図８０】データの走査処理における計算を示す図
【図８１】データの走査処理における論理演算の例を示す図
【図８２】データの走査処理における重み付けの例を示す図
【図８３Ａ】重み付け統合計算の説明用空間図
【図８３Ｂ】等価評価１の場合のノード図
【図８３Ｃ】等価評価２の場合のノード図
【図８３Ｄ】等価評価３の場合のノード図
【図８３Ｅ】等価評価４の場合のノード図
【図８４】等価評価１の場合における重み付けのスコア表
【図８５】等価評価２の場合における重み付けのスコア表
【図８６】完全独立等価評価による統合計算の例を示す図
【図８７】等価評価３が基準である統合計算の例を示す図
【図８８】等価評価３の一意重み付け検索のスコア表
【図８９】等価評価４が基準である統合計算の前処理の結果を示す図
【図９０】等価評価４が基準である様々な統合計算の例を示す図
【図９１】音楽情報を表し同期点等価評価で区別されたノード図
【図９２】音楽情報を表しジャンルによる等価評価で区別されたノード図
【図９３】音楽情報空間のスコア表
【図９４】音楽情報の重ね合わせ処理結果表
【図９５】音楽情報空間の論理演算の結果表
【図９６】音楽情報のジャンル別のスコア表
【図９７】音楽情報空間の統合演算結果表
【図９８】音楽情報空間の論理規則の結果表
【図９９】論理規則によるフィルタリングの計算方法を示す図
【図１００】音楽情報空間の重みの加工処理を示す図
【図１０１】重ね合わせ処理の実装時の機能ブロック図
【図１０２】多言語バージョンによる射影化の説明を行う図
【図１０３Ａ】射影機能を説明するための射影化される前のノード図
【図１０３Ｂ】３つに射影化した場合のノード図
【図１０３Ｃ】ノードの生成の連携を説明するノード図
【図１０３Ｄ】ノードの削除の連携を説明するノード図
【図１０３Ｅ】空間の変形の連携を説明するノード図
【図１０３Ｆ】射影ごとの空間の生成を説明するノード図
【図１０３Ｇ】射影ごとの空間の削除を説明するノード図
【図１０４】射影同期を説明するノード図
【図１０５Ａ】射影化の実装の詳細を説明するためのノード図
【図１０５Ｂ】リンク射影を行った場合のノード図
【図１０５Ｃ】ノード射影を行った場合のノード図
【図１０５Ｄ】データ付加射影を行った場合のノード図
【図１０５Ｅ】独立空間射影を行った場合のノード図
【図１０６】ノード射影をリンクリストで形成した場合を示す図
【図１０７】ノード射影をデータ群と結びつけて形成した場合を示す図
【図１０８】データ付加射影の詳細を示す図
【図１０９】独立空間射影の詳細を示す図
【図１１０Ａ】射影化前のドキュメントを表現した空間のノード図
【図１１０Ｂ】射影化を使用しない場合のドキュメントの多言語化ノード図
【図１１０Ｃ】射影化を使用した場合のドキュメントの多言語化ノード図
【図１１１】射影化の実装時の機能ブロック図
【図１１２】構造レイヤーの構造説明図
【図１１３】実体レイヤーの説明図
【図１１４】レイヤーとノードの内部からのリンク関係を示す図
【図１１５】レイヤーとノードの外部からのリンク関係を示す図
【図１１６】構造レイヤーと実体レイヤーの違いについてのノード図
【図１１７】リンク空間における構造レイヤーのＸＭＬによる実装例を示す図
【図１１８】階層空間におけるノードレイヤーのＸＭＬによる実装例を示す図
【図１１９】実体レイヤーの実装例を示す図
【図１２０Ａ】レイヤーの自己拡張機能のノード図
【図１２０Ｂ】レイヤーの自己拡張機能のノード図
【図１２０Ｃ】レイヤーの自己拡張機能のノード図
【図１２１】セキュリティレイヤーの説明図
【図１２２】セキュリティレイヤーの説明用ステップ図
【図１２３】イベントレイヤーの説明用ステップ図
【図１２４】バグ情報システムのノード図
【図１２５】セキュリティレイヤー実装時の機能ブロック図
【図１２６Ａ】存在可否条件式が設定された空間のノード図
【図１２６Ｂ】自動分類処理が適用された空間のノード図
【図１２６Ｃ】自動分類処理において、ノードの追加と共に存在可否条件式が追加された空間のノード図
【図１２７】自動分類処理のステップ図
【図１２８】ノードの追加と共に存在可否条件式を適用する場合の差し替え用のステップ図
【図１２９】巡回可否を説明するノード図
【図１３０】巡回可否を説明するステップ図
【図１３１Ａ】自動分類処理において、ノードの追加前のノード図
【図１３１Ｂ】自動分類処理において、ノードが追加される場合の図
【図１３１Ｃ】自動分類処理において、二番目以降のノードが最初のノードのリンクとして追加される場合の図
【図１３２】巡回のシミュレーションを説明する図
【図１３３】巨大な空間に対する追加について説明する図
【図１３４】自動分類処理の実装時の機能ブロック図
【図１３５】空間ストレージの図
【図１３６】全、外、内比較型を説明用するための空間の図
【図１３７】比較時のスコア対応表
【図１３８】全、外、内比較型の結果
【図１３９】巨大な空間と小さな空間
【図１４０】空間のオペランド計算の説明をするための図
【図１４１】空間のオペランド計算説明用計算結果の図
【図１４２】等価絞り込み前の空間の図
【図１４３】等価絞り込み後の空間の関係
【図１４４】等価絞り込みを適用した空間の図
【図１４５】統合計算の基本計算パターン図
【図１４６】統合計算の計算結果の図
【図１４７】統合計算の基本計算パターン２図
【図１４８】統合計算の計算結果２の図
【図１４９】論理的に生成する前の情報の図
【図１５０】論理的に生成された空間
【図１５１】併合化の説明用の図
【図１５２】検索エンジンシステムの機能図
【図１５３】カテゴライズされた空間の図
【図１５４】重ね合わせによる説明用の空間の図
【図１５５】追加された空間の図
【図１５６】掲示板システムの図
【図１５７】掲示板の概要図
【図１５８】ツリー型掲示板の概要図
【図１５９】掲示板を空間に置き換えた図
【図１６０】ツリー型掲示板を空間に置き換えた図
【図１６１】外部からの接続により発明を実施するクライアントの実装図
【図１６２】重ね合わせ処理をクライアントコンピュータに実装した図
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について図面を用いて詳細に説明する。【００２１】
図１０１に、本実施の形態における情報空間処理装置４０００の構成例を示す機能ブロック図を示す。この情報空間処理装置４０００は、ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価（分析、管理、検索、共有化等）を行なう装置であり、人間の持つ意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱うことができる点に特徴を有し、データ取得部４２１０、処理開始部４２１２、射影部４４１１、重ね合わせ計算処理部４２１１、データ出力部４２１３及び自動分類処理部４８０９から構成される。データ取得部４２１０は、さらに、リンク選択部４２５１及び階層選択部４２５２からなる空間選択部４２５０と、空間フィルタリング部４２５３とから構成される。また、重ね合わせ計算処理部４２１１は、さらに、論理演算計算部４２２０、重み付け計算部４２２１、統合計算演算部４２２２、フィルタリング部４２２３及び加工処理部４２２４からなる演算処理部４２１６と、等価評価部４２１５と比較検討部４２１７とから構成される。【００２２】
なお、本図には、本情報空間処理装置４０００の外に存在する空間データ部４２０１等も一緒に示されている。各構成要素は一つ、または、複数のプログラム及び／又はハードウェアで実装される。また、プログラムは複数のコンピュータで処理されても良い。全体的な処理の流れは、空間データ部４２０１から処理開始部４２１２とデータ取得部４２１０を使用して、行う処理や対象となる空間を決定する。さらに、処理開始部４２１２とデータ取得部４２１０の決定を使用して、重ね合わせ計算処理部４２１１で重ね合わせ処理を行い、データ出力部４２１３により出力先４２１４へ結果を出力する。【００２３】
空間データ部４２０１は空間に関する情報が存在する部分で、メモリや磁気ディスクなどコンピュータ読み取り可能な記録媒体、または、ネットワークそのものを意味する。これらの情報にアクセスするには、メモリ、や磁気ディスク上の実現された空間から情報を読み取る方法や、ネットワーク上の他のコンピュータから空間情報を取得する方法などが一般的である・【００２４】
処理開始部４２１２でどの様な処理を行うのかを決定する。ここには、外部、または、内部のプログラムからの命令であったり、人間が処理を命令した場合であったりする。この部分で、どの空間が処理対象であるのかとったことや、どの様に重ね合わせ処理を行うのかといったことを決定する。処理を行う上で、空間データ部４２０１にアクセスしたり、データ取得部４２１０などを使用して情報を収集したりする。このような処理は例えば、人間がプログラムを通じて対話的に検索対象を決定する場合に多い。【００２５】
データ取得部４２１０は、空間データ部４２０１から情報を取得する処理部であり、処理開始部４２１２で利用するための情報を取得することや、重ね合わせ計算処理部４２１１で利用するために行う。データ取得部４２１０は空間選択部４２５０の一種であるリンク選択部４２５１や階層選択部４２５２などを使用して重ね合わせ処理に使用するデータを取得する。さらに必要であるならデータ取得部４２１０の結果に対して空間フィルタリング部４２５３などを実行して使用すべきデータを選別する。【００２６】
重ね合わせ計算処理部４２１１は、データ取得部４２１０で取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う処理部であり、データ取得部４２１０の情報を元に演算処理部４２１６と等価評価部４２１５を使用して、さまざまな演算を行い論理演算の真偽値や重み付け処理や重み付け統合計算の重み（スコア）を取得する。論理演算による真偽値の計算は論理演算計算部４２２０で実装される。重み付け計算部４２２１では重み付けの重み（スコア）を求める。統合計算演算部４２２２では重み付け計算部４２２１の結果を使用して重み付け統合計算用の処理を行うのが良い。論理演算計算部４２２０、重み付け計算部４２２１、統合計算演算部４２２２の結果に対してフィルタリング部４２２３を適用することや、加工処理部４２２４を適用することも有効である。【００２７】
等価評価部４２１５について解説する。等価評価部４２１５は、ノードどうしが等価であると見なすことができるか否かを評価する処理部である。重ね合わせ計算処理で使用される等価評価には基本的に使用できないものはなく、同期点等価評価、ノードのプロパティを使用する等価評価やノードタイプを使用するものなどあらゆる等価評価を使用できる。これらはスクリプト・プログラム言語４２４０で定義されたり、等価評価の機能を外部プログラム４２４１に委任したりすることもできる。【００２８】
比較検討部４２１７について解説する。比較検討部４２１７は、ノードどうしを比較して評価する比較検討処理を行う。通常は比較して数値情報を求める。比較検討処理はスクリプト・プログラム言語４２４０で定義されたり、比較検討処理の機能を外部プログラム４２４１に委任したりすることもできる。【００２９】
演算処理部４２１６は、等価評価部４２１５、および、比較検討部４２１７による評価に基づいて、異なる空間に対して、比較計算をし、その結果を前記関連性として算出する処理部である。論理演算計算部４２２１では論理演算の真偽値を計算する。計算は等価評価部４２１５、または、比較検討部４２１７を使用して行われる。たとえば、等価評価部４２１５による評価に対して、一定の条件を満たすか否かを判断することによって真偽を求め、異なる空間どうしの真偽を論理演算する。この結果は、データ出力部４２１３に渡されるか、フィルタリング部４２２３によって真偽値を選別したり、フィルタリング部４２２３や加工処理部４２２４の計算に利用されたりする。【００３０】
重み付け計算部４２２１では重み付け処理の重み（スコア）を計算する。計算は等価評価部４２１５を使用して行われる。たとえば、等価評価部４２１５によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとして重み付け処理をする。通常はこの部分で一意化処理や優先度調整や様々な計算を行う。【００３１】
統合計算演算部４２２２では重み付け統合計算の重み（スコア）を計算する。計算は等価評価部４２１５を使用して行われる。通常、この計算は重み付け計算部４２２１の結果を利用して行われる。たとえば、重み付け計算部４２２１で得られた重みを用いて、異なる空間に対する比較計算をする。【００３２】
重み付け計算部４２２１や統合計算演算部４２２２の計算の結果は、データ出力部４２１３にそのまま出力しても良いが、フィルタリング部４２２３によって特定のものだけを選別することや、加工処理部４２２４を使用して、スコアを調整したものを出力するなども有効である。【００３３】
フィルタング部４２２３は論理演算、重み付け処理、または、重み付け統合計算などの結果を絞りこむ仕組みであるフィルタリング処理を行うものである。論理演算計算部４２２０や重み付け計算部４２２１や統合計算演算部４２２２の結果に対して適用することで情報を絞り込むことができる。絞り込みには、論理演算計算部４２２０の結果を使用したり、ノード判定式を使用したりする。また、結果をさらに加工処理部４２２４で加工を行うことも有効である。これらの結果をデータ出力部４２１３によって出力先４２１４に出力される。【００３４】
加工処理部４２２４は重み付け処理や重み付け統合計算の重みに対して加工を行う重みの加工処理の計算を行う。加工には論理演算計算部４２２０の結果を使用することや、ノード判定式を使用して処理を行うものが一般的である。また、結果をさらにフィルタリング部４２２３で選別することも有効である。これらの結果はデータ出力部４２１３によって出力先４２１４に出力される。【００３５】
データ出力部４２１３は重ね合わせ計算処理４２１１の結果を受け取り、出力先４２１４への出力を行う。出力先は、コンピュータ読み取り可能な記録媒体やネットワークなどである。通常は、結果をメモリや磁気ディスクに保存したり、ネットワークを使用するなどして他のコンピュータやプログラムに結果を転送したり、ディスプレイやスピーカーなどを使用して出力を行ったりする。また、出力された結果に対して、フィルタリング部４２２３や加工処理部４２２４を使用して、結果をさらにアレンジすることもできる。【００３６】
射影化部４４１１は複数バージョンの空間を一つの概念として扱うことを可能とするための処理、つまり、空間を射影化する処理部である。この機能を使用することで、情報の分散を防止することができる。射影化は、空間の多言語設計や、複雑なプログラムやドキュメントのバージョン別管理など有効である。【００３７】
本発明の運用形態としては、図１６１に示されるように、情報提供装置６００５に対して一つ、または、複数の情報受信装置が接続して情報を受け取る形態が有効である。図１６１では情報受信装置６００１、６００２、が情報空間処理装置４２００、空間データ部４２０１を含む６００５から情報接続部６０１１、６０１２を介して情報を得ている。これによって実際にはクライアントが情報空間処理装置４２００を実装していなくても情報受信装置は重ね合わせ処理の結果などの情報を利用することができる。また、図１６１に示される実装にすることで、情報を多数のユーザで容易に共有することができる。【００３８】
また、空間データ部４２０１や情報空間処理装置４０００の機能の一部を複数の装置で共有する運用形態も有効である。このように、機能を分散させることで、計算処理のコストを特定のプログラムやコンピュータに集中させすぎないなどの利点を得ることができる。例えば、図１６２に示されるように、重ね合わせ計算処理部４２１１を装置６０２１、６０２２にも実装している。この場合、重ね合わせ処理に必要な情報を６０２５を介して、情報接続部６０３１、６０３２が取得して、重ね合わせ処理をそれぞれの装置６０２１、６０２２で行う。このように比較的に計算コストの高い重ね合わせ処理などの機能や情報の一部をクライアントコンピュータに任せることで、計算のコストが情報を提供するコンピュータに集中しないように調整できる。【００３９】
本発明において「ノード」とはコンピュータ読み取り可能な記録媒体、または、インターネットなどの情報通信網で実現されるものである。基本的にノードは情報を結びつけて管理するための単位、または、情報そのものである。通常、情報はノードに結びつけられて管理される。
自動分類処理部４８０９は、この情報空間処理装置４０００が備える各構成要素を順次自動実行させる制御を行う制御部である。【００４０】
次に、本明細書で用いられる各用語の意味と各構成要素の詳細な説明をする。
本発明において、「ユーザ」とはプログラムを使用する人のみならず、プログラムを使用するプログラムも含むものである。【００４１】
本発明において、「リンク」とは、ノードとノードをつなぎ合わせる仕組みである。ノードとノードを結びつけていると人間やプログラム、または、装置が認識できるのならば、いかなる形態で表現されても良い。リンクとはノード群を構造化するなど関連を示すために存在する。【００４２】
リンクは、単方向リンクと双方向リンクが存在する。使用される環境にもよるが、一般的な実装では双方向リンクによる実装の方がリンクを双方向にたどることが可能となるので、利用しやすい。【００４３】
リンクに何かしらの制限や規則を適用する「リンク制限」の仕組みを利用することで、様々な特性を持ったノード、および、空間を作成することができる。リンク可能な数を１つに限定して、ノードをリンク空間の中で局所的なものにすることもできる。また、リンク関係を親子関係でリンクさせた階層空間などが代表的である。【００４４】
実態を持った空間にはノードとノードのリンクにより形成された「リンク空間」と、カテゴリ別にノードを集めた（つまり、単なるノードの集合である）「無形空間」がある。【００４５】
リンク空間は空間を構造化、体系化することができるので、視認性や理解性に優れている。【００４６】
無形空間の機能は、リンク空間で代用できる。しかし、無形空間による処理は実装がリンク空間による実装よりも単純で実装しやすい。また、一時的な計算処理などに利用する場合は、特に処理の速度の面で、リンクに関する処理を考える必要がないので優れている。【００４７】
本発明において、空間を使用するプログラムのことを「空間プログラム」、または、「空間管理プログラム」と呼ぶ。【００４８】
図７にリンク空間のノード図がある。２１０はノードで２１１はリンクを意味する。このようにノードとノードのリンクによって形成された空間がリンク空間である。【００４９】
以下に図８を使用して無形空間を説明する。リンク空間と異なりノードはリンクされていない状態で格納される。２２０は無形空間で２２１はノードである。このように単純なデータノードの集合によって形成されているのが無形空間である。【００５０】
本発明において、「空間」とは非常に広義な言葉である。空間とはノードが一つでも空間と呼ぶことができる。また、複数の空間を一つの空間と呼ぶこともできる。空間とは一つ以上のノードの集まりを、構造や形や状態にかかわらず一まとめにしたものであると言える。【００５１】
図９を使用して、空間について説明する。図９の２３１、２３２、２３３はすべて空間と呼ぶことができる。２３１はノードと呼んでも良い。【００５２】
ノード間のリンクの情報はノードそのものの中に記述されていても、外部に記述されていてもかまわない。【００５３】
図１０はノードそのものの中にノードのリンク情報が格納される場合の図である。この場合、ノード３００がノード３０１へのリンク情報を保持している。３００、３０１は実装によってはノードの参照の場合もある。【００５４】
図１１は外部にリンク情報が記述されている場合であるの図である。ノード３１０とノード３１１はリンク状態であるとする。この場合、リンク情報がノード３１０、３１１のノードそれぞれに格納されているのではなく３１２によってリンク関係が定義されている。３１０、３１１は実装によってはノードの参照であることもある。【００５５】
ノードのリンクはメモリ上で実装される場合は、ノードに対するポインタやオブジェクトへの参照を保持する形で表現する方法が一般的である。【００５６】
ノードのリンクはHTMLやXMLなどの形式でも表現することができる。ＨＴＭＬのハイパーリンクやXMLのXlinkなどを使用して表現することもできる。【００５７】
本発明において、「プロパティ」とはノードに結びついた情報を意味する。ノードに結びついた情報はプロパティと呼ぶことができる。【００５８】
プロパティに何を設定するかはプログラムの実装者に任せられるものである。例えば名前や説明などのテキスト、IDなどの数値データ、アプリケーション特有のデータフォーマット、バイナリデータ、特定のメモリ領域、XMLで作成されたスキーマ、ファイルのリスト、ファイルストリームでも良い。さらに、プロパティと他のプログラムの情報やネットワーク上の情報と結びつけることで、分散環境での情報管理が容易に実現できる。【００５９】
本発明において「同期」とは、同じと見なせるが空間上では異なるものである。例えば、ノードA1とノードA2はお互いに同期しているとする。リンクを除いて、A1に対する変化がA2にも適応されるものを同期していると呼ぶ。同期はお互いに同期しているものをリンクは除いて同一のものとして扱うことができれば良い。つまり、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードをお互いに同期しているノードという。【００６０】
本発明において、「同期点」とはお互いに同期しあっているもののことを言う。以下に図１２を使用して同期点を説明する。ノードAは４００、４０１、４０２でお互いに同期している。このとき４００、４０１、４０２をAの同期点と呼び、同期点が同じであると言う。また、同期点が１つのものは非同期とみなすこともできる。しかし、実際の実装では同期と非同期を明確に分離されたものとして扱うほうが良い場合が多いと思われる。【００６１】
同期の扱いはコンピュータ読み取り可能な記録媒体上のインスタンス（実体）の参照を管理するものが最も適当と思われるが、操作を多重化する方法でも良い。【００６２】
参照とは、メモリ上であれば実体へのポインタとして存在し、オブジェクト指向な環境であれば、オブジェクト、または、オブジェクトの参照として存在しているのが一般的である。外部に定義されたリンク情報といったものも参照と呼ぶことができる。【００６３】
操作を多重化するとは、ひとつの命令を同期している複数のノードに同時に適用することで、同期を表現する。【００６４】
図１３にインスタンスの参照管理型の実装を図示した。このように４２１、４２２は実体４２０への参照となっている。よって操作４２３と操作４２４の効果は共に実体への操作となり同期が維持される。【００６５】
図１４は操作の多重化による実装を示している。この場合４１０と４１１はお互いに異なる実体であるが、一つの操作４１２が複製され、複数の実体に適用されることで同期を実現している。【００６６】
ノードや空間に対して情報を結びつける方法は、空間の実装によって左右される。ノードや空間に情報を結びつける場合、大きく二つの考え方に分かれる。これはノードの同期も含めたものに対する情報の付加である「同期型情報付加」であるのか、同期を含めない情報の付加である「非同期型情報付加」であるのかといったことである。同期型情報付加は同期したもの同士で共有される情報であるが、非同期型情報付加は同期したもの同士でも情報が共有されていないことを言う。これらの仕組みは、射影化、レイヤー、自動分類処理においても影響する重要な概念と言える。本発明において、プロパティは、同期型情報付加の情報であると言える。【００６７】
図１５は同期を参照管理によって実現する実装における情報の結びつけの方法を示している。４４０はノードの実体を意味し、４４１、４４２は実体の参照を意味する。付加情報４４３、４４４、４４５は４４０、４４１、４４２の内部、または、外部に結びつけられた情報である。同期は参照による操作が実体への操作となることで同期を実現する。参照への操作はリンクを除いて、４４０へ適用される。この場合、同期型情報付加を適用する場合、付加情報４４５のように実体４４０へ結びつける実装が一般的である。また、付加情報４４３、４４４に対する操作を多重化することでも実現できる。つまり、付加情報４４３に対する操作を付加情報４４４にも適用する方法である。非同期型情報付加の場合は、付加情報４４３、４４４に見られるように４４１、４４２へ付加されている。これで実体とは異なり、参照に情報を付加することで、情報付加に柔軟性が生まれる。例えば、この参照が空間を定義する情報である場合、自由に特定の空間に対して情報を付加することもできる。【００６８】
図１６は同期を操作の多重化により実現する実装における情報の結びつけの方法を示している。一つの命令４３９を同期関係にあるノードの実体４３１、４３２に同時に適用することで同期を維持している。付加情報４３３、４３４、４３５、４３６、４３７は４３１、４３２の内部、または、外部に結びつけられた情報である。この場合、非同期型情報付加を行う場合は、付加情報４３３、４３４に情報を付加すれば良い。同期型情報付加を適用する場合、４３１、４３２から共通の付加情報４３７を共有することで利用できる。同期型情報付加は付加情報４３３、４３４を使用しても実現できる。この場合、ノードに対する操作が多重化されたように、付加情報４３３、４３４に対する操作も多重化するという方法でも実現できる。【００６９】
「独立空間ノード」を使用することで、空間そのものをノードとして扱うことができる。つまり、独立空間ノードはノードとして扱うことも、空間として扱うこともできる。【００７０】
以下に図１７を使用して、独立空間ノードを解説する。５００、５０１は独立空間ノードでお互いに同期しているとする。５００、５０１はノードの様にリンクされているが、内部に空間が形成されている。またノード５０２への変更は５０３への変更となる。これは、５００と５０１が同期しているため、内部の空間が同期しているのである。【００７１】
独立空間ノードの実装について説明する。実装は様々に考えられるが、ノードに空間の情報を結びつければ良いので実装は比較的容易である。結びつける方法は同期型情報付加によってノードに対して空間の情報を結びつければ良い。【００７２】
「ノードタイプ」とは、ノードを表す型を意味する。ノードタイプを具現化したものがノードとも言える。これは、オブジェクト指向言語で使用される、クラスとインスタンスの関係に似ている。クラスを具現化したものがインスタンスである。【００７３】
ノードは「継承」を使用して、新たなノードを定義できるものとする。この機能はノードを拡張して新たなノードに継承元のプロパティを受け継がせることが出来るものである。継承とはオブジェクト指向言語などで良く利用されるものであるが、プログラム言語以外の分野でも良く利用されているものである。この仕組みは実装の重複を防止し、概念を体系化し、プログラミング言語で多態性を表現できるようになるものである。具体例としてノードを継承し、ノードにファイルを格納するファイルデータノードなどを作成するなどの用途で使用される。この仕組みは空間プログラムにおいて必要なものではないが、空間の管理がより容易になる。【００７４】
図１８を使用して、継承について説明する。ノード６０２はノード６０１を継承して作成されている。ノード６０２のプロパティ６１５、６１６は、ノード６０１のプロパティ６１０、６１１をそのまま受け継いでいる。その上で、新たなプロパティ６１７を拡張している。【００７５】
さらに、ＸＭＬを使用して、ノードの継承を説明する。図１９、図２０はノードタイプを定義したＸＭＬである。図１９は図１８のノード６０１を、図２０は図１８のノード６０２を意味する。この場合、図２０のプロパティのうち、図１９で定義されているものは省略（受け継がれて）いるのがわかる。【００７６】
ノードの応用的な実装は数多く考えることができる。ノードのプロパティにURIやグローバルIDを結びつけて、ネットワークへつなげば、容易にインターネット上での情報管理システムとなる。ファイルシステムのファイルやディレクトリに結びつければ、強力なファイル管理システムとなる。【００７７】
ノードは情報そのものであっても良い。つまり、単なるテキストデータや画像データであっても良い。これらをノードとして扱うかどうかはプログラム次第でコントロールできる。【００７８】
以下に空間を利用して、ファイルシステムを実装する方法を図２１と図２２を使用して説明する。ノード７３０をフォルダ７４０と結びつける。同様に７３１をファイル７４１と、７３２をファイル７４２と結びつける。このようにすれば、仮想ファイルシステムが出来上がる。【００７９】
ノードのリンク関係が親子関係のものを特に「階層空間」と呼ぶものとする。親子関係で作成された空間は容易に体系化することが出来るので、無秩序にリンクされた空間より学習理解性に優れている。階層空間が優れているのは「空間予測性」に富むと言うことである。これは空間の一部を認識するだけで、それに連なる空間を予測しやすいということにある。この空間予測性が空間の重ね合わせ処理で大きな効果をもたらす。【００８０】
階層空間とは親子関係の空間であるため、始点となるノードが存在することとなる。これをルートノードと呼ぶ。また、元になるノードが定まるのでそのルートノードからのパスで目的の空間を指定することが出来る。【００８１】
以下に図２３を使用して階層空間を説明する。ノード８１２はノード８１１の子ノードであり、ノード８１１はノード８１０の子ノードとなっている。このように親子関係で構成されたものが階層空間である。【００８２】
空間予測性を図２４を用いて説明する。８００のノードは日記についての情報に対するリンクを所持している。もしあなたが、２００１年１０月６日の日記を読もうとする。あなたは、８０１の日付別のノードを辿って探すだろうか、それとも、８０２の思い出別のノードを辿るのだろうか。あなたは、日付別のノードを辿って探そうとするだろう。これが空間予測性である。これは空間の一部を認知することによって先の空間の構成を予測できることを言う。【００８３】
階層空間を使用したアプリケーションが実装される場合、ユーザインタフェースは図２５の様なツリービューなどによる実装が容易で一般的であろう。【００８４】
この情報空間処理装置４０００は、プロパティを使用して検索をすることができる。この検索はプログラミング言語などで再帰処理を記述することや、検索巡回するエージェントを使用することなどで、簡潔に検索処理を記述することが出来る。【００８５】
本発明において、ノード間の情報を定義することもできる。これは、ノードとノードの関係をメタデータで定義するということを意味する。これは従来のセマンティクスウェブでも利用されてきた方法である。しかし、ノード間に与えた情報を元に処理を行う手法は、特定のアプリケーションには扱いやすいが、他のアプリケーションからは扱いにくいものとなる可能性がある。また、情報の硬直化を招いてしまう可能性もある。しかし、この手法の利点はコンピュータによる情報の自動処理や推論処理を記述しやすいという利点がある。【００８６】
ノードとノードの間にリンクノードを配置することによってリンク自体にノードと同じ特性を与えることが容易に可能となる。つまり、プロパティを保持することや、重ね合わせ計算処理部４２１１による重ね合わせ処理の実行といったことも、通常のリンク空間の実装を使用することで容易に実装することもできる。また、ユーザ側からはリンクノードをリンクとして見せることでより自然にリンクを扱うことができる。リンクに関連情報や特別な情報を与えるような実装を行う場合でもこのような実装が望ましい。図２６に示されるように空間８２８にはノード８２１とノード８２３の間にリンクノード８２２が配置されている。これを実際のユーザ側に対して空間８２９として公開する。この場合ノード８２１はノード８２４として、ノード８２３はノード８２６として表現できる。リンクの形態もリンクノード８２２からリンク８２５として使用されることになる。【００８７】
本情報空間処理装置４０００は、単数、または、複数のコンピュータによって実現される。図１に一般的なコンピュータの概略図を示している。本発明は、パーソナルコンピュータ、サーバコンピュータ、メインフレームコンピュータ、ネットワークシステム、携帯情報端末、組み込みマイクロコンピュータなど、あらゆるコンピュータ、および、システムに実装可能である。本発明の原理は比較的単純であるため、ストアドプログラム方式と呼ぶことのできるコンピュータ、または、それを使用したすべてに実装可能である。【００８８】
空間データ部４２０１における空間の実装方法は無数にある。たとえばXMLで利用されるDOM(Document
Object Model)でも、空間の実装をシミュレートすることができる。ネットワーク型データベースと呼ばれるものもリンク空間の一実装例ともいうことが出来る。階層型データベースは階層空間の一実装例と言える。ＲＤＦもリンク空間を実装した一例であると言える。ファイルシステムもディレクトリとディレクトリ、ディレクトリとファイルの親子関係によるリンクで形成された階層空間と言うことができる。【００８９】
ノードがプログラム言語によって、メモリ上で実装された場合、Ｃ言語の場合はデータ部とポインタ部から成るリスト構造が一般的ある。また、ＪＡＶＡ（登録商標）言語のようなオブジェクト指向言語においては、オブジェクトによるリンク構造を作成するのが一般的である。【００９０】
ノードはネットワーク上でも実現することができる。これは、ノードやリンクといったものがネットワークを流れる信号であっても良いということを意味する。【００９１】
図２７のノード図に示される空間をＸＭＬ形式で作成した場合の実装例を示す。アルファベットが同じものはお互いに同期しているとする。それぞれのノードは”name”プロパティと”type”プロパティのみを持つ単純なノードである。それぞれのノード自身の定義は、図２８にノードＡ、図２９にノードＢ、図３０にノードＣ、のノードをＸＭＬであらわしたものである。これらのノードをネットワーク型のリンク空間とした場合のリンクの定義が図３１の定義である。これらをリンク空間の一種である階層空間として表現した場合は、図３２のように表すこともできる。これは親子のリンク関係をＸＭＬの親要素、子要素として表現したものである。【００９２】
ノード、および、空間は、コンピュータ読み取り可能な記録媒体、または、情報通信網上に実際に存在している必要はない。クエリーやプログラム、計算式などで表現できる論理的に存在するものもノード、および、空間と呼んでも良い。【００９３】
以下に、論理的に存在する空間について説明する。図１４９は単なる情報の羅列である。図１４９では、ただ単にアルファベットと、そのアルファベットの順番が表示されているだけである。ただこの情報に対して、「アルファベットにアルファベット順に番号を付けて、付けられた数値を大きさとして、ｋ、ｄ、ｓ、ｃ、ｆ、ｐ、ｘ、ａ、ｅ、ｇ、ｍ、ｓ、ｖ、ｚの順に要素を挿入して２分探索木の空間を生成する」という計算式を適用すれば、図１５０の様な空間となる。この場合、しかし、空間は計算されるまで実態として存在していないといえる。このように計算式を利用して、実際に実在していない場合でもコンピュータ読み取り可能な記録媒体、または、情報通信網上に実際に存在している空間と同等に使用することができる。【００９４】
ノード、および、ノードに結びついたデータの管理方法は無数にある。ノードに全情報をそのまま格納してもよいが、ファイルシステムによる管理やデータのシリアライズ化などを使用しても良い。また、リレーショナルデータベースとの連携による実装なども考えられる。プログラム実行時にはメモリ上に空間情報を展開しておき、保存用に不揮発性の記録媒体に記録することで、情報を永続化させるなども有効な実装である。【００９５】
図３３を使用して本情報空間処理装置４０００によるデータのシリアライズ化によるノード情報の管理の一例を説明する。９１０のノード情報を、９１１のシリアライズ処理により、９１２のバイトストリームやXML（図３４参照）などに変換し、９１３の記録媒体に保存される。９１３はファイルシステムでも、ネットワークファイルシステムでもデータベースでも独自のストレージシステムでもよい。【００９６】
図３５を使用して本情報空間処理装置４０００によるリレーショナルデータベースによるノード情報の管理の一例を説明する。９２０、９２１はノードである。この実装では、ノードのプロパティをリレーショナルデータベース９２３のテーブル９２２に格納して、プロパティによる検索を早めることができる。また、ノードそのものもシリアライズ処理で、テーブルにデータとして格納することで管理をより容易にすることもできる。ノードの参照情報をテーブルに格納することも有益である。【００９７】
図３６を使用してプログラム実行時にはメモリ上に空間情報を展開しておき、保存用に不揮発性の記録媒体に記録することで、情報を永続化させる場合を説明する。空間プログラム９３０が起動している場合、より高速なメモリなどの記録媒体９３１に空間を展開し、演算などを行う。しかし、保存命令時、終了時、または、あるタイミングによって不揮発性のコンピュータ読み取り可能な記録媒体９３２に空間のデータ記録することで、効率的なコンピュータの資源を有効活用する。【００９８】
次に、この情報空間処理装置４０００による空間の分散管理についての説明を行う。扱う空間が巨大になると一つのコンピュータ、または、一つのプログラム上で管理することが困難となる。空間は当然複数のコンピュータ、および、複数のプログラムでも実現できる。空間の分散管理の実装方法は多数あるが、代表的なものを以下に列挙する。
・            異なるプログラム間で、ノードを同期として共有する
・            異なるプログラム間で、ノードをリンクさせる
・            以上の手順を組み合わせる。などがある。【００９９】
空間の分散管理は複数のプログラムで空間を管理する。空間の分散管理は一つのコンピュータ上、または、図２に示すように複数のコンピュータ上にも実装することができる。１５はインターネットやイントラネット、無線通信などのネットワーク（情報通信網）を意味する。１０、１１、１２、１３はネットワークに接続されたそれぞれ独立したコンピュータを意味している。
【０１００】
図３７に示されるようなプログラム間の通信に使用する代表的なものを以下に列挙する。
手法１    ネットワーク、ネットワークプロトコルを利用した通信
手法２     メモリやハードディスクなど、コンピュータ読み取り可能な記録媒体の共有による通信
手法３     処理のアドレス呼び出しによる通信
手法４    プログラム言語のシステム、または、ライブラリによる通信
手法５     OSのAPIによる通信
などがある。要は、プログラム間で情報の共有、または、伝達を行うことができるものであるならば良い。ネットワークプロトコルとはＯＳＩ参照モデル（OSI reference model）に一部、または、全体を含めることができるものはすべて含めることのできる概念である。アドレス呼び出しとは、特定の処理を記述した部分へメモリ上のポインタを使用してアクセスする方法である。これは、Ｃ言語などではコールバック処理と呼ばれるものでも使用されている。また、多くの場合、手法３、４、５は手法１、２を用いて実現されている。【０１０１】
図３８を使用して、異なるプログラム間で、ノードを同期として共有する場合の説明を行う。１２０１、１２０２、１２０３はプログラムを意味する。プログラム１２０１で管理されているノード１２１０は共有手段１２０５によってプログラム１２０２でノード１２１１として使用されている。また、プログラム１２０３で管理されているノード１２１３は共有手段１２０６によってプログラム１２０２でノード１２１２として使用されている。しかし、プログラム１２０２からは１２０２によって管理されているかの様に操作することができる。【０１０２】
図３９を使用して、異なるプログラム間で、ノードをリンクさせる場合の説明を行う。１２３０、１２３１はプログラムを意味する。ノード１２２０、１２２１をリンク手段１２３２によってリンクされている。このようにノードとノードが直接リンクを形成することで、空間を形成している。【０１０３】
空間の分散管理を使用して、多ユーザによる空間の接続が可能となる。これはインターネット上で大規模な意味ネットワークの構築を可能する。
以下に図を使用して、論理演算【０１０４】
ノードにURIやGUIDのようなグローバルに一意なデータ（グローバル識別子）と結びつけることで、ネットワークを介したグローバルなレベルでの空間の重ね合わせ処理なども容易に実現させることが可能となる。また、同期の情報とグローバル識別子を結びつけることで、同期の実装をネットワーク環境などで実現しやすくなる。【０１０５】
空間におけるイベントは、空間の変化、空間への命令、時間的遷移時に対して外部、および、内部のプログラムにそれを伝える仕組みである。図４０は発生したイベントが外部に伝わる様子を表したものである。コンピュータ１３００上の空間プログラム１３０１で発生したイベントはメッセージ１３１０のように内部のプログラムに伝えられている。メッセージ１３１１は外部のプログラム１３０２に伝えられている。メッセージ１３１２はネットワーク空間１３０５を走り、他のコンピュータ１３０３のプログラムに伝えられる。【０１０６】
一つ、または、複数の空間を様々なユーザで共有する場合、セキュリティの問題は無視できない。このためユーザ別に使用可能な操作を設定できることが重要である。【０１０７】
図４１を使用してセキュリティを説明する。ユーザ１４１０、１４１１、１４１２はそれぞれ異なる権限を持っている。操作１４２０、１４２１は空間１４３０に対する命令を表す。ユーザ１４１０は操作１４２０、１４２１を実行する権限を持っているので実行できる。ユーザ１４１１は操作１４２１実行できるが操作１４２２は実行できない。ユーザ１４１２は操作１４２０、１４２１を実行できない。このように、使用するユーザによって適用できる命令に制限を課す。【０１０８】
セキュリティの権限や制限についてさらに詳しく説明する。ノードやリンクといったものにセキュリティをかける場合、一般的には、「読み込み」、「書き込み」、「実行」といったものに分解できる。読み込みに関する権限は、データの一部、または、全体を読み込めないようにすることができる。完全に読み込みを不可にすれば、不可視となり存在していることそのものを隠蔽することも可能となる。書き込みに関する権限は、ノードやリンクそのものや、結びついた情報の変更を禁止することができる。実行に関する権限は、ノードなどに結びついたプログラムやスクリプトなどの処理を実行できないようにすることも可能である。セキュリティはノードやリンクなどの「存在するもの」に付加されるだけではない。特定の機能や命令の実行に制限をかけることもできる。例えば、論理規則や射影化を行うことに対して制限するなどもある。【０１０９】
「リンク選択」とはリンク空間において、あるノードから特定の法則に従って空間を選択する方法である。選択された空間は空間の重ね合わせ処理、論理規則、レイヤーなど、処理や演算に空間を指定するものに利用すると便利である。選択とは厳密に定義すると、空間プログラムから認知されている空間となる。つまり、プログラムがその空間に対して処理を行えるだけの情報を取得した状態を意味する。【０１１０】
「リンク数選択」を利用することで、あるノードを中心に指定された数だけリンクを辿り、辿った空間を選択する方法である。【０１１１】
以下に図４２Ａと図４２Ｂを使用して、リンク数選択部４２５１によるリンク数選択について説明する。図４２Ａのノード１５００のノードに対してリンク数を２として、リンク数選択を実行すると図４２Ｂになる。図４２Ｂの破線で示された部分が選択された空間である。【０１１２】
「階層選択」は階層空間において有効な選択方法である。この方法はリンク関係が親子関係で構成されていることが前提で使用可能なものである。階層空間の親ノードが選択されると、その子供ノードまで選択する仕組みである。【０１１３】
以下に図４３を使用して、階層選択部４２５２による階層選択について説明する。図４３の１５２０、１５２１、１５２２、１５２３はノードであり、１５１０、１５１１、１５１２、１５１３は空間である。このとき１５２０のノードにおいて階層選択が実行されるとき、１５１０の空間が選択される。同様に１５２１のノードの場合は、１５１１の空間が選択され、１５２２のノードの場合は、１５１２が選択され、１５２のノードの場合は１５１３の空間が選択される。【０１１４】
空間フィルタリング部４２５３は、「空間フィルタリング」を使用することで、選択された空間に対してフィルタリング処理を行い、空間の中のより必要とされる部分を抽出することができる。フィルタリング処理は選択するものかどうかを判定する部分が必要である。この部分にノード判定式を利用する、単純なものから、複雑なノード計算式までフィルタリング処理に利用することができる。【０１１５】
データ取得部４２１０が空間をコピーする場合、大きく分けると３つのコピー方法が存在する。以下に３つのコピー方法を列挙する。
方法１  すべてのノードを同期としてコピーする
方法２  すべてのノードを実体としてコピーする
方法３  特定のノードを同期としてコピーして、残りを実体とコピーする
などがある。方法３では特定のノードを同期としてコピーするが、実際はリンク選択やフィルタリング処理により、特定したノードのみを同期としてコピーするのが一般的である。【０１１６】
本発明において、「ノード計算式」とはノードに関係する情報を取得、または、使用して、計算する手順を定義したものである。ノードに結びついた情報とは以下に列挙するものが代表的である。
・            ノードの同期点の情報
・            ノードのプロパティの情報
・            ノードが保持する特定のプロパティの値、または、結びついた資源の情報
・            ノードタイプに関する情報
・            ノードのリンクに関する情報
・            ノードに直接結びつかない（独自の付加情報、レイヤーの情報、ログデータなど）情報
これらを使用することで、ノードに関して様々な分析を行うことが可能となる。どのような計算を行うかは分析したいデータや求めたい情報によって異なる。【０１１７】
「ノードの同期点の情報」を使用することで、特定のノードの同期点かどうかといった事や、空間に特定のノードの同期点はいくつあるのかといったことを知ることができる。【０１１８】
「ノードのプロパティの情報」とはノードがどの様なプロパティを保持しているか、ノードのプロパティにはどの様な情報を格納できるかといったプロパティの定義に関する情報のことである。【０１１９】
「ノードのリンクに関する情報」とは、ノードに対してリンクはいったいいくつあるのか、ノードのリンクは双方向かといった情報である。【０１２０】
「ノード判定式」とはノード計算式で使用されるような、ノードに関係する情報を使用して計算する手順を定義したもので、ノードが求めるものか、そうでないかを判定する式のことを言う。ここには、単純にプロパティの値が特定のものかどうかといった単純なものから、より複雑なノード計算式を使用して答えをもとめるものでも良い。実際の実装では、スクリプト言語やプログラム言語でノード判定式が定義することができるようにするのが一般的であろう。外部、または、内部のプログラムによるノード判定式の実装も有効である。【０１２１】
図を使用して、本情報空間処理装置４０００が使用するノード計算式、ノード判定式がいかなるものかをいくつかの例を示して説明する。図４４において、ノード１６１６の詳細な定義が１６０１となる。ノード１６１６に対してノードのプロパティの値を使用した計算の例を図４５の表に示す。
ノード１６１６に対してノードのプロパティ、ノードタイプ、リンクの情報を使用した計算の例を図４６の表に示す。図４７のノード１６２１とノード１６２２はお互いに同期している。このとき、同期点情報を使用した計算の例が図４８の表に示される。【０１２２】
次に、等価評価部４２１５による「等価評価」について説明する。等価とは同じであることを意味し、等価評価とは同じであるかどうかを判定することを意味する。何をもって等価とするかは、空間を使用する状況において変化する。ノード計算式で使用されるような、ノードに関係する情報を使用して、評価するのが一般的である。ノードに結びついた情報を、そのまま比較して等価かどうかを判定する方法や、より複雑なノード計算式をプログラム言語やスクリプトで定義して判定するなど多岐にわたる。以下に特に重要と思われるものを列挙する。
・            ノードの同期点が同じもの（お互いに同期しているもの）を等価とする。
・            ノードで定義された特定のプロパティの値が同じであるものを等価とする。
特に同期しているもの同士を等価とする同期点等価評価は重要である。これは、同期しているもの同士は本質的に同じものであるからである。同期しているものを等価として計算することは自然なことで、使用される場面も非常に多いと思われる。【０１２３】
等価かどうか比較するそれぞれのノードにノード計算式を適用し、ノード計算式の結果が同じものや、近いものを等価とするなども一般的な手法である。【０１２４】
図を使用して、等価評価部４２１５によるプロパティ、ノードタイプを使用した等価評価を具体的に説明する。図４９には二つのノード１７０１、１７０２が定義されている。この二つについてプロパティ、および、ノードタイプを使用した様々な等価評価を適用した場合の一例を示した結果表が図５０である。さらに例を挙げると、プロパティ１７１５とプロパティ１７２５の値を、テキストマイニングや構文解析によって解析して等価なのかどうかを判定するなどがある。【０１２５】
図を使用して、同期点、リンクを使用した等価評価を具体的に説明する。図５１のノードで同じアルファベットが降られたノードはお互いに同期している。つまり、ノード１７３０、１７３１、１７３２はお互いに同期しており、ノード１７３５、１７３６も互いに同期している。ここで、同期点の情報と、リンクの情報を使用して、等価評価を適用した場合の一例を示した結果表が図５２である。【０１２６】
ノードの外部のデータを使用して、等価評価を行う方法もノードに関係するデータをそのまま、あるいは計算してその結果を比較する方法が一般的である。【０１２７】
等価の仕組みをどのように実装するかは空間プログラムの実装者に任せられる。また、何をもって等価とするかは、空間の使用される状況、および、設計によって千差万別であるのでその状況に応じた仕組みを提供することが望ましい。この等価評価部４２１５による等価評価は重ね合わせ処理や論理規則で特に重要な概念である。空間プログラムを使用して、情報を分析する場合、等価評価の判定基準を変えることで、様々に視点を変えることができる。そのため、空間プログラムのユーザがスクリプト言語やプログラム言語、外部プログラム等で等価評価を柔軟に拡張することができる仕組みが提供されていることが望ましい。特に、等価評価を複雑な構文解析やデータマイニングを通じて行う場合、外部プログラムと連携して等価評価を実行する仕組みは、実装のしやすさやの向上や、第三者による等価評価の提供や拡張を容易にする。等価評価は比べる２つのノード、または、ノード情報を渡して、同じかどうかの判定や計算処理用の情報を渡すだけでも良いので外部に記述することは比較的容易である。【０１２８】
重ね合わせ計算処理部による空間の「重ね合わせ処理」とは、ノードを比較する比較評価を使用して、複数の空間から情報を抽出することにある。この処理を使用することによって、様々な情報を浮かび上がらせることができる。比較評価の仕組みとして利用されるものは等価評価部４２１５による等価評価が最も重要である。本発明では、等価による重ね合わせ処理を「等価重ね合わせ処理」とも呼ぶ。【０１２９】
論理演算計算部４２２０による空間の「論理演算」は、ある特定のノード、または、空間を使用して行われる重ね合わせ処理の一種である。この演算は空間の情報を論理演算用の真偽値表であらわして真偽値表同士で論理演算を行う方法が一般的である。AND（論理積）, OR（論理和）, XOR（排他的論理和）, NOT（否定論理積）, NAND（否定論理積）, NOR（否定論理和）,XNOR（排他的論理和の否定）とすべての演算が可能である。基本的にこの演算は空間に含まれるノードに対しての情報、および、真偽を返す。【０１３０】
論理演算において何を真として、何を偽とするかは重要である。一般的なものは、等価評価で等価と判断されるノードの数が、任意の指定された範囲であるのか、どうかで真偽を決定する方法である。例えば、等価な数が１以上のものを真、それ以外を偽とするなどである。これらの値はユーザが状況によって指定できる実装が良い。また、空間によって指定される数を変えて計算することもできる。【０１３１】
また、論理演算において重み付け処理などの結果スコアを元に真偽を決定する方法も重要である。例えば、あるノードに結びついた重み付け処理のスコアが１以上、１０以下が真でそれ以外を偽として計算するなどである。【０１３２】
以下に図を使用して、論理演算計算部４２２０による空間の論理演算の実装例を解説する。図５３の丸はノードで中に数字が割り当てられているものが、空間の演算対象となっている。数字の意味は、等価となるものを同じ番号であらわした等価番号である。この例では、二つの空間１８００、１８０１は共に等価な数が１以上のものを真とする。つまり、存在するものは空間単位ですべて真となる。空間１８００を論理表に置き換えた真偽値表が図５４に示され、空間１８０１を置き換えた真偽値表が図５５である。論理演算をＡＮＤ演算の使用で、詳細に説明すると図５６のようになる。図５６に示されるように、本実装ではそれぞれの空間に存在しないもの（なし）は、偽として演算されている。図５６でも示されるように、真偽値表に置き換えた時点で通常の論理演算と同じ真偽値が結果として返ってくる。同様に、空間１８００と空間１８０１を論理演算した場合の結果が図５７のＡＮＤ演算、図５８のＯＲ演算、図５９のＸＯＲ演算、図６０のＮＡＮＤ演算、図６１のＮＯＲ演算、図６２のＸＮＯＲ演算に示されるような結果となる。【０１３３】
当然、真偽値の計算は単に空間を真偽で表したもの同士とは限らない。ビットマスクを適用したり、演算の結果同士を論理演算したり、特定の部分にＮＯＴ演算を適用することも当然行うことができる。【０１３４】
以下には、論理演算の指定数を様々に変化させた場合の真偽値表を示す。空間１８００を等価な数が２以上のものを真、それ以外を偽として、真偽値表として置き換えた場合図６３の結果となる。【０１３５】
また、ノードに結びついた情報が一定の基準を満たす場合に真、そうでない場合は偽とするなどがあります。例えば、重み付け処理で求めた重みが特定の範囲の値であるかどうかで、真偽を決めるなどである。具体的に言えば、重ね合わせ処理の結果のスコアが５から１０の間を真で、そうでない場合は偽にするなどである。【０１３６】
重み付け計算部４２２１による空間の重み付け処理は、ノードの比較評価を使用した検索で、一つ、または、複数の空間からデータの重みを求めるものである。比較評価の仕組みとして利用されるものは等価評価が最も重要である。本発明では、等価評価による重み付け処理を「等価重ね合わせ処理」とも呼ぶ。また、ノード同士を比較して重みを求める比較検討処理による重み付け処理を「比較検討重ね合わせ処理」と呼ぶ。【０１３７】
重み付け計算部４２２１による等価重み付け処理は、ある特定のノード、または、空間に対してノードの等価評価で等価とされたものの重複数を数え上げて演算を行う。通常、重み付け処理においてこの重複数は情報に対する重要度とも捉えることができる情報である。通常、重み付け処理は、図６５に示されるように、求めた重み（スコア）と等価なノードに関する情報を返す。【０１３８】
空間に併合化処理を適用することで、空間の設計により大きな自由度を与えることができる。併合化とは空間に存在する等価なものを併合、つまり、まとめ上げる処理を言う。具体的に言えば、ある空間に６個の等価なものが存在するときにそれを２つにしてしまうなどである。併合化処理でも特に重要なものは一意化処理である。【０１３９】
以下に併合化処理を図を使用して説明する。図１５１の空間６１０１に対して、等価なものを最大２個にするという計算処理を行うとする。この処理の結果は図１５１の表６１０２１に示されるようになる。つまり、併合化とは重複するものをまとめ上げるて計算する処理であるといえる。【０１４０】
一意化処理とは、空間それぞれの空間で等価なものが複数ある場合、これを重複数１とみなす処理である。たとえば、等価評価部４２１５によって等価と評価されたノードについては、それぞれの空間で１つのノードとして数え上げる。【０１４１】
重み付け計算部４２２１による空間の重み付け処理は、重み付けの値を状況に応じて変化させることができる。これを特に、優先度調整と呼ぶ。この機能によって、重み付け処理の使用時に意味の調整が可能となる。たとえば、空間またはノードに応じて、数え上げたノードの数から重みを決定する際の依存関係を変化させる調整などである。【０１４２】
図を使用して、重み付け計算部４２２１による一般的な空間の等価重み付け処理と一意化処理を使用した重み付け処理の具体例を図によって説明する。図６４に示される３つの空間における重複数の数え上げを示す。３つのノード図でアルファベットa、bが打たれたノードが重み付け検索において検索のため選択されたノードであるとする。それぞれの空間のaノード１９０１、１９０２は等価同士で、bノード１９０３、１９０４、１９０５、１９０６も等価同士であるとする。【０１４３】
以下は、等価重み付け処理を使用した具体例を示す。空間１９１０と１９１１と１９１２と１９１３の重み付け検索の結果は図６５に等価ノードの列挙と重み（スコア）として示されている。空間１９１０はaノードのスコアが1、空間１９１１はaノードのスコアが1でbノードのスコアが1、空間１９１２はbノードのスコアが3として計算される。よって３つの空間の加算による重ね合わせのスコアはaノードのスコアが2、bノードのスコアが4となる。以上の様に計算時に空間における等価評価のノードをそのまま数え上げる。【０１４４】
以下に、重み付け計算部４２２１による一意化処理を使用した重み付け処理の具体例を示す。空間１９１０と１９１１と１９１２の重み付け検索の結果は図６６に等価ノードの列挙と重み（スコア）として示されている。空間１９１０はaノードのスコアが1、空間１９１１はaノードのスコアが1でbノードのスコアが1、空間１９１２はbノードのスコアが1として計算される。よって３つの空間の加算による等価重み付け処理のスコアは、aノードのスコアが2、bノードのスコアが2となる。このように空間１９１２でbノードのスコアが1にマージされている。【０１４５】
重み付け計算部４２２１は、通常の重み付け処理と、一意化処理を使用した重み付け処理は、当然組み合わせて使用することができる。例えば図６４の場合、空間１９１０と空間１９１１と空間１９１２の重み付け処理の場合、空間１９１０、１９１１は重み付けで計算して、空間１９１２は一意化処理を適用して重み付けで計算するなどが可能である。【０１４６】
以下に図を使用して、優先度調整を説明する。図６４の空間１９１０、１９１１、１９１２の等価重み付け処理において１９１２全体の優先度を二倍にしたとき、計算時の１９１２のスコアはbノードが6となる。その結果、最終的に、加算による等価重み付け処理の計算結果は図６７に示されるように、aノードのスコアは2、bノードのスコアは7になる。以上の様に、優先度をノード、または空間に対して状況に応じて変化させることで、重み付け処理に柔軟性を与えることができる。【０１４７】
一意化処理の計算方法について説明する。等価となるノードが一つの空間に複数ある場合、強制的に重みを１にしてしまうと優先度に関する情報が失われてしまう可能性がある。よって一意化処理の適用方法は、重み付け処理を行った後、等価となるノードの数で割る方法が良い。この方法であるなら、優先度調整と一意化処理を共存させることができる。実際に実装する場合は、強制的に重みを１にする方法と、重みを等価となるノードの数で割る方法の両方を異なるものとして実装するものが良い。【０１４８】
ノードや空間に対して、優先度に関する情報を付加し、検索時に優先度調整を使用しなくても優先的に重み付け処理時に浮かび上がらせる事ができる優先度付加を利用することは有効である。【０１４９】
重み付け処理を行う場合、特定のノードからの距離により優先度を調整して重みを計算する「距離優先度方式」も有効である場合がある。図６８では、破線で示された部分が重み付け処理の対象となる空間であるとする。ノード１９９１を基準として「１／リンクの距離  ＋  １」の式をそれぞれの空間の重みとして適用したものである。また、図６９はリンクの距離が離れるごとに０になるまで０．２５を引いていくとという手法である。このように、リンクの距離に応じて重みを様々な方法で調整している。距離優先度方式を使用することで、空間の位置的な情報で重みを変化させることが可能となる。【０１５０】
図７０を使用して、より詳細に等価重み付け処理を説明する図７０の空間１９７１、１９７２、１９７３の重み付け計算部４２２１による等価重み付け処理を行う場合の説明を行う。等価重み付け処理の結果が図７１の表に示される。図の式は値を導く過程を示したもので、「＝」の右側が求める値である。それぞれの空間の重みは「１９７１のスコア」、「１９７２のスコア」、「１９７３のスコア」に示されている。「１９７１のスコア」をオペランド”x”、「１９７２のスコア」をオペランド”y”、「１９７３のスコア」をオペランド”z”とする。「計算１のスコア」は”ｘ + ｙ + ｚ”の加算による計算である。「計算２のスコア」は”x
+ y - z”となり、”ｘ + ｙ”から”z”を除外するという意味になる。「計算３のスコア」は”ｘ + ｙ + 2 * ｚ“となり、”z”の概念をより強調した加算による重み付けと言える。「計算４のスコア」は等価番号がa、ｂ、ｃのものは”ｘ＋ｙ＋ｚ”となり、残りは”x
+ y + 2 * z”として計算されている。「計算５のスコア」は”ｘ + ｙ * y + ｚ“となり、”y“に二乗の計算を行うことで”y”の値の増加が大きく結果に影響する重み付けと言える。【０１５１】
このように、様々な計算のオペランドとして重みを使用することでより緻密で複雑な重み付けを行うことが可能となる。【０１５２】
フィルタリング部４２２３による重み付け処理の「フィルタリング処理」は、演算処理部4216（論理）演算計算部４２２０等）で得られた結果を特定の条件で絞り込み、その結果を重ね合わせ計算処理部４２１１の結果として出力する処理部であり、重み付け処理によって得られた値をさらに絞り込んで出力するものである。この処理によって結果が大量で、情報が大きすぎて扱えない場合などに情報を絞り込むことができるので有効である。図７２にフィルタリング処理のイメージ図を示す。【０１５３】
ノード判定式を利用し、必要なものとそうでないものを選別するフィルタリングは有効なフィルタリング処理である。この機能によって特定のプロパティを保持したものだけを残すなどのフィルタリング処理が可能となる。また、論理演算の真偽の結果を使用して、フィルタリング部４２２３によるフィルタリング処理を行うことも有効である。【０１５４】
加工処理部４２２４による「重みの加工処理」を使用することで、重み付けの処理結果に対して、重みの変更を行うことも有効である。この処理は重み付けの計算結果を分析して、変更を加えるものである。重みの変更とは、重みに値を加算することや、より複雑な演算式のオペランドとして使用されて新たな結果を導き出すことを言う。具体的言えば、ノード判定式を使用してノードが特定の条件を満たすものや、論理演算を使用して真になるものだけに重みに５を足すなどの処理を行う。【０１５５】
重ね合わせ計算処理部４２１１による空間の重ね合わせ処理において、リンク構造を考慮しなければ結果には影響しない。つまり、図６４で使用した空間１９１１は、図７３の無形空間１９１５で重み付け処理を行っても、リンク構造を考慮しなければ同じスコアが導かれる。【０１５６】
空間の重ね合わせ処理において、独立空間ノードの扱いは少々あいまいである。これは独立空間ノードが、空間としての機能と、複数のノードを含んだ単なるノードとして捉えることもできるからである。よって、独立空間ノードを空間として捉えた場合、ノードとして捉える場合、その両方を組み合わせるといった実装が実現されるのが良い。【０１５７】
図７４を使用して、重ね合わせ計算処理部４２１１による独立空間ノードと空間の重ね合わせ処理について説明する。図７４において、１９２０がノードで、１９２１は独立空間ノードである。この場合、１９２１aのように空間として重ね合わせ処理する場合と、１９２１ｂのようにノードとして重ね合わせ処理を行場合がある。空間として処理された場合は、独立空間ノードの内部のノードも計算対象となる。【０１５８】
重ね合わせ計算処理部４２１１は、独立空間ノードを含む空間の等価重ね合わせ処理を行う。図７５の空間１９８５と空間１９８６の重み付け処理を行う。独立空間ノード１９８１、１９８２はお互いに同期している。この時、独立空間ノードをノードと空間の両方の見方で等価重み付け処理を行った結果が図７６の「加算のスコア」項目である。等価番号Ａの部分がノードとして処理を行った部分である。【０１５９】
効率的な重ね合わせ処理の計算を使用することは重要である。以下に重ね合わせ計算処理部４２１１による効率的な重ね合わせ処理の計算方法について考察する。図７７のステップ図に効率的な検索処理の大まかな手順が記されている。ステップＳ１０１では空間のノード、および、重ね合わせ処理に必要なノード情報をデータコンテナへ展開しソート済みの状態にする。データコンテナとはＣ＋＋言語ではコンテナ、Ｊａｖａ（登録商標）言語ではコレクションと呼ばれるものなどである。通常、データコンテナは内部にメモリの資源領域、リスト構造、ツリー構造、ハッシュ構造などを備えている。この、データコンテナは格納後にソート処理を行ってソート済みの状態すると良い。内部にツリー構造やハッシュ構造のデータ格納領域を備えたコンテナを使用して、格納時にソート状態で情報を取り出すことができるものでも良い。これは一般的にＣ＋＋言語では連想コンテナとよばれるものである。さらにステップＳ１０２ではソート済みデータコンテナに対して、走査をしながら計算とマージ（併合）処理を行って最終的な結果を出力する。ここで、ソート済みデータコンテナを使用することで、それぞれのデータコンテナに対して、一度の走査処理でステップＳ１０２の計算を行うことが可能であるので、この処理のコストは線形時間で処理を行うことが可能となる。【０１６０】
データコンテナに対してソート処理をする場合のソート基準としては、重ね合わせ処理で使用される等価評価で等価と判断とされるものが隣同士になるような形であれば良い。【０１６１】
以下に図７８を交えて有効な実装の詳細について解説する。図７８は３つの空間の重ね合わせ処理を行う場合のアルゴリズムの実装を表す。まずは処理１９５０によって空間のノード、または、ノードの情報をデータコンテナへ格納する。データコンテナで処理１９５１のソート処理を行う。処理１９５０、１９５１の部分は連想コンテナを使用すれば一つにすることもできる。処理１９５３でデータコンテナに走査を行い、空間単位での重み付けの計算、優先度や一意重み付け処理の計算を行いつつ、結果をマージ処理で結合している。【０１６２】
以下に、マージの部分をより詳しく説明する。図７９には二つのソート済みデータコンテナから計算結果を導き出す部分を示している。図７９のデータコンテナの数字はノード、または、ノード情報を意味し、同じ番号のものは等価評価で等価と判断されるものである。この場合データコンテナ１とデータコンテナ２を交互に走査を行いながら計算処理をして結果として出力している。走査による計算も、等価となるノード、または、ノード情報が隣同士で並んでいるため、走査しながら計算し、等価でない部分にコンテナ内で達したときにマージ処理の走査の切り替えを行えば良い。【０１６３】
論理演算計算部４２２０による論理演算を実行する場合、走査を行いながら真偽を計算する。図８０にはデータコンテナを走査している様子が図示されている。同じアルファベットのものは、等価なノード、または、ノード情報を意味する。これを２つ以上等価なものを真、それ以外を偽として計算すると図８１で示されるような表となる。【０１６４】
重み付け計算部４２２１による重み付け処理を実行する場合、走査を行いながら、数え上げ、一意化処理、優先度調整の計算を行う必要がある。こういった処理を一つ、または、複数のデータコンテナで線形走査しながら計算し、計算結果をマージ処理の応用で結合していく。以下に図を一意化処理を利用した重み付け処理で、かつ、ノードcの優先度を二倍にした場合の計算結果を図８２に示す。【０１６５】
ノードに格納された情報自体が抽象的なデータである場合、等価評価を使用したものよりも処理のコストは大きくなるが、ノードを比較検討することで重みを求める「比較検討処理」を行うことも有効である場合がある。抽象的なデータとはノードの情報がテキストベースの情報や、マルチメディアである場合などである。単純な等価評価による重み付けは、同じかどうかというハッキリとした基準を使用するため、抽象的な内容を考慮する等価評価である場合は、処理の結果は不安定で処理の実行者の期待するものとのずれが生じる場合がある。また、ノードが空間の中で理路整然と整理されていない場合にも比較検討処理は有効である。【０１６６】
以下に例を使用して、抽象的な内容を考慮する等価評価について考える。
１．    
今日、ヤンキースの松井は３安打５打点の活躍であった。
２．    
ドジャースの野茂は被安打７ながらも無失点に抑え３勝目を上げた。
３．    
阪神タイガースは今年優勝できるのであろうか。
４．    
今年の高校野球の注目選手は東北高校のダルビッシュ投手である。
５．    
サッカー日本代表はワールドカップでどこまでいけるのだろうか。
これらの様々な等価について列挙する。
１．    
これらはどれもスポーツに関するものであるのですべてを同じであるとみなす
２．    
５以外は野球に関するものなので、１、２、３、４の文書を等価と見なす。
３．    
１、２、３がプロ野球に関する事なので等価である。
４．    
１、２がメジャーリーグに関することで、等価である。
５．    
３、４が日本の野球に関することなので、等価である。
このように様々な等価が考えられ、特定の物だけを選択するのは手間であるし、難い場合がある。どの等価評価を使用するかによって結果も大きく変化する。また、重み付け処理において空間全体に含まれる抽象的な内容の意味を考慮した処理を行いたい場合などもある。【０１６７】
このように等価評価だけでは扱いにくい場合、比較検討部４２１７を利用した重み付け計算部４２２１による「比較検討重み付け処理」を行うことが有効な場合がある。例えば、同じであるなら重みは１０、かなり似ているのであれば重みは８、似ているのであれば重みは６、少し似ているのであれば重みは４、ほとんど似ていないのであれば重みは２、全く似ていないのであれば重みは０というように比較して重みを求める。実際の比較時にそれぞれの重みをどのようにするかは実装者に任せられる。【０１６８】
本発明において、比較検討処理を利用する空間の重ね合わせ処理を特に、「比較検討重ね合わせ処理」と呼ぶ。つまり、ノードとノードとの比較により重ね合わせ計算をする処理である。そのなかで、重み付け計算部４２２１による重みを求める処理を「比較検討重み付け処理」と呼び、論理演算を行い、真偽値を求める処理を「比較検討論理演算」と呼ぶ。【０１６９】
比較検討重み付け処理により求められた重みは、論理演算として利用する比較検討論理演算や、空間単位で四則演算を行う比較検討重み付け処理などとして利用することもできる。【０１７０】
重み付け計算部４２２１による比較検討重み付け処理について説明する。代表的なものは様々な比較検討処理で求められた重みをオペランドとして四則演算を使用して計算を行うことである。一般的なものは、等価評価の基準で四則演算を行うものである。【０１７１】
次に、重み付け計算部４２２１による比較検討重ね合わせ処理の計算方法である、「全比較型」、「外比較型」、「内比較型」について説明する。全比較型は比較演算の対象の空間をすべてとするもので、外比較型は外部の空間とだけ比較演算を行うもので、内比較型は内部の空間だけで比較演算を行うものである。【０１７２】
以下に図を使用して重み付け計算部４２２１による全比較型の説明を行う。図１３６の二つの空間５００１、５００２で全比較型の比較検討重み付け処理を行う。それぞれのノードを比較した場合のスコアの対応表は図１３７になる。計算の結果は図１３８の「全比較型のスコア」で示されている。全比較型はすべてのノードを比較するものである。例えばノードａについて考えてみる場合、ａ以外のすべてのノードと比較を行いスコアをまとめる。具体的な計算は、単純なスコアの加算の場合、「３＋２＋２＋４＋１＋３＋９＋３＋２＋１＋１」となりスコアは３１となる。【０１７３】
以下に図を使用して重み付け計算部４２２１による外比較型の説明を行う。図１３６の二つの空間５００１、５００２で外比較型の比較検討重み付け処理を行うとする。外比較型は外部の空間とだけ比較演算を行う。つまり、空間５００１に含まれるノードは空間５００１の他のノードとの比較は行わず、空間５００２のノードとだけ比較を行う。逆に空間５００２のノードは空間５００２の他のノードとの比較は行わず、空間５００１のノードとだけ比較を行う。このようにして計算した結果が図１３８の「外比較型のスコア」に示されている。例えばノードａについて考えてみる場合、空間５００２のノードｈ、ｉ、ｊ、ｋ、ｌと比較を行う。具体的な計算は、単純なスコアの加算の場合、「９＋３＋２＋１＋１」となりスコアは１６となる。【０１７４】
以下に図を使用して重み付け計算部４２２１による内比較型の説明を行う。図１３６の二つの空間５００１、５００２で内比較型の比較検討重み付け処理を行うとする。内比較型は空間同士を比較するのではなく、空間内部のノード間で比較を行う。つまり、空間５００１に含まれるノードは空間５００１のノードとだけ比較を行い、空間５００２に含まれるノードは空間５００２のノードとだけ比較を行う。例えばノードａについて考えてみる場合、ａは同じ空間５００１のノードａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇと比較を行う。具体的な計算は、単純なスコアの加算の場合、「３＋２＋２＋４＋１＋３」となりスコアは１５となる。【０１７５】
全比較型、外比較型、内比較型の特徴を対比させて説明する。全比較型は重み付け計算部４２２１が空間全体を使用して比較を行う。そのため、処理としては全体として特徴的な情報が導き出される。外比較型は重み付け計算部４２２１が外部の空間とのみ比較を行う。そのため、外比較型は複数の空間の関係において重要なものを取り出すという意味合いがある。例えば、図１３９に示されるように、巨大な空間５０１２と、小さな空間５０１１で比較検討重み付け処理を行う場合に、全比較型と外部比較型の特性の違いが明確になる。全比較型は全体として重要な情報を取得する傾向があるため、小さな空間の特性は巨大な空間に埋もれてしまうことがある。しかし、外比較型であるならば、両方の空間の特徴的な部分が特徴として抽出できるのである。内比較型は内部の空間だけで比較を行うものであるので、他の空間の影響は受けない。これは、それぞれの空間の特徴的な部分を取り出すことができる。これは、比較検討重み付け処理の単体として利用するよりも比較検討論理演算などに利用する使用方法が通常であると言える。【０１７６】
重み付け計算部４２２１による選別比較型について説明する。選別比較型とは比較するかどうかについてノード判定式を利用して決定する方法である。つまり、特定の条件を満たした場合、比較検討処理の計算を行い、そうでない場合は無視する方法である。例えば、ノードのプロパティに特定の情報が格納されている場合のみ比較を行い、それ以外は無視するなどである。【０１７７】
重み付け計算部４２２１による比較検討重み付け処理の計算は加算によるものだけとは限らない。比較検討重み付け処理の重みは、計算のオペランドとして様々な計算を行うことができる。【０１７８】
以下に例を使用して、重み付け計算部４２２１が異なる比較形式を持つ比較検討重み付け処理の結果を計算のオペランドとして計算を行う場合について説明する。図１４０にある４個の空間を使用して重み付け計算部４２２１が比較検討重み付け処理を行う。ここでは空間５２０１の情報について結果を求めるものとする。比較時のスコアは図１３７に従うものとする。ここでは、空間５２０１、５２０２の全体として特徴的なものが重要で、さらに、空間５２０３と関係が深いものは特に重要で、空間５２０４と関係が深いものは除外すべきものという意味の計算を行うと仮定する。この場合、重み付け計算部４２２１は、空間５２０１、空間５２０２で全比較を行い、かつ、空間５２０３で外比較で２倍の値の加算を行い、さらに、空間５２０４で外比較を行いその値を減算する計算を行うことで求めることができる。この計算による結果は図１４１にある表に示される。図１４１には実際に行われる計算の式と結果が格納されている。例えば「５２０１と５２０２の全比較」項目では、「２＋１＋９＋４＋３」の部分が計算で、「１９」が最終的な結果となる。この場合、空間５２０１と空間５２０２の全比較をｘ、空間５２０１と空間５２０３の外比較をｙ、空間５２０１と空間５２０４の外比較をｚとすると、この計算は「ｘ＋ｙ＊２―ｚ」という式で表すことができる。このように、比較検討処理の重みも様々な計算によってさらに有効に利用されるのである。【０１７９】
比較検討重み付け処理を行う前、または、後に空間のノードを特定の等価評価で一意化してから計算する一意比較検討処理を行うことができる。このなかで特に重要な等価評価は同期点等価評価である。同期しているということは、情報が同じ実体であると言うことができる。同じ実体を一つと見なす事は情報の重複をなくす、または、軽減するという意味がある。【０１８０】
比較検討重み付け処理は複雑な処理が必要になる場合がある。これは、信頼できる結果を返すには様々な解析処理やデータマイニングなどを駆使する必要が出てくるためである。そのため、この部分を外部から処理を行うなどの拡張ができるように実装することが望ましい。例えば、スクリプトやプログラム言語４２４０を使用することや、外部プログラム４２４１、または、内部のプログラムやシステムを使用するなどである。【０１８１】
重み付け計算部４２２１による比較検討重み付け処理は、空間の規模が大きくなれば計算に大きな時間がかかる。一つの空間に存在するノードの数が”ｎ”であるとすると、二つの空間の全比較による比較検討処理は”Ｏ（ｎ×ｎ）”回の比較を行う。つまり、オーダーはｎの二乗である。さらに、空間の数が多数であったり、比較の処理自体のコストが高かったりする場合はさらに大きな計算コストがかかってしまう。このため、重み付け計算部４２２１は、多少の精度の低下が起こる可能性があるものの、等価評価の基準でノードを分けて等価と判定されたノード同士で比較検討重み付け処理を行う「等価絞り込み比較検討重み付け処理」を使用することで、計算速度を速めることは有意義であると言える。【０１８２】
等価絞り込み比較検討重み付け処理では、比較時に大きなスコアにならないものが等価ではない等価評価を使用するものが良い。これは、比較時に小さなスコアにしかならないものを除外しても結果に大きな影響は与えにくいためである。【０１８３】
以下に重み付け計算部４２２１による「等価絞り込み比較検討重み付け処理」を図１４２を使用して一例を説明する。図１４２の空間５４０１ａと５４０２ａを使用して全比較型の比較検討処理を行う場合、使用されるノードの合計は「９＋８」で１７となる。このため通常行わなければならない比較の回数は「１７×１６÷２」回。つまり、１３６回は行う必要がある。しかし、等価絞り込みを行うことで比較回数を減らすことができる。ある特定の基準の等価評価で図１４２の空間を見た物が図１４３である。ノードの同じアルファベットを振られたノードが等価と判定されたノードである。これらの等価なものだけで振り分けたものが図１４４である。図１４４のような等価なノードだけで比較による計算を行う場合、空間５４０５については「６×５÷２」回であり、空間５４０６では「５×４÷２」回であり、空間５４０７では「６×５÷２」回である。これらを合計すると４０回となる。つまり、この場合は、等価評価による分類によるコストは掛かってしまうものの、単純な比較検討処理の３分の１以下の比較回数で済むことになる。重み付け処理の応用として、統合計算演算部４２２２による「重み付け統合計算」がある。これは、複数の重み付け処理の結果を統合して、再計算する方法である。【０１８４】
統合される重みは、様々なタイプの重み付け処理同士で行うことができる。例えば、等価重み付け処理と比較検討重み付け処理などである。また、重み付け統合計算の結果であっても良い。要は、ノードに重み情報が結びついていれば、重み付け統合計算は可能である。【０１８５】
重み付け統合計算を行う利点は、単純な重み付け処理では分からなかったデータを導くことができるので、より深い分析用のデータを生成できる。重み付け処理のスコアは重要度を表す尺度として捉えることができる。スコアを加算することで、特定のノードが複数の等価評価や、比較検討で重要なものであるかどうかといったことも推測できる。さらに、特定の等価評価のスコアで減算を行うことで、その等価評価や、比較検討を除外するような意味を持たせることもできる。さらに、複雑な計算を組み合わせることで、微妙な意味合いの統合計算を行うことが可能となる。【０１８６】
以下に統合計算演算部４２２２による統合計算の手順について説明する。図１４５の空間５６１１、５６１２、５６１３のノードに重みが結びついている。重みは、重ね合わせ処理の結果導かれたものでも、そうでなくても可能である。振られているアルファベットはある等価評価で等価と判定されるものである。【０１８７】
統合計算演算部４２２２による統合計算は等価評価の基準で計算できる。統合計算は複数の方法で求められた重みを統合する処理である。ここでの統合とは特定の基準でまとめることを意味する。その重みを統合する基準が等価評価である。また、どのような等価評価でも使用することができ、無数にある等価評価のどれを使用するのか決定するのはケースバイケースといえる。【０１８８】
以下に統合計算演算部４２２２による重み付け統合計算の計算パターンを説明する。まず、図１４５の３つの空間を統合する場合について考える。図１４５において同じアルファベットが割り振られているノードは等価評価で等価と判定されるものである。また、割り振られている数字は重みを表している。たとえば、ノード５６１５には重み６が結びついている。ここで、この３つの空間を足し合わせてあらたな結果を導くとする。この場合の結果は図１４６に示される。統合計算演算部４２２２による計算の手順を見るためにノードaについて計算の順を追って説明する。ノードaは空間５６１１、空間５６１３に存在する。それぞれを足し合わせる計算は６＋８で１４が答えとなる。このように統合することで、複数の重みをまとめて一つの結果にすることができる。【０１８９】
さらに、同一の空間の重みであったとしても、異なる方法や基準で求められた重みを統合することにも使用できる。図１４７の２つの空間５６２１、５６２２とある重み表５６２３を統合する場合について考える。空間５６２１と空間５６２２は同じ空間であるが、異なる重みが付与されている。重み表は重ね合わせ処理によって求められたものでも良いし、そうでなくても良い。図１４７において、同じアルファベットが振られているものは統合する等価の基準である。統合計算演算部４２２２は、この三つを統合するが、ここで、重み表５６２３の要素が重要であるため２倍して加える。この場合の計算は図１４８の表に示される。図１４８の「計算」項目では結果に至る具体的な計算手順が示され、「スコア」項目に具体的な結果が格納されている。これを計算式で表すとｘ＋ｙ＊２となる。【０１９０】
以下に、等価重み付けの結果を使用して、統合計算演算部４２２２が重み付けの統合計算を行う場合の方法を説明する。図８３Ａは重み付けの統合処理に使用される空間を示している。この図８３Ａの空間を異なる等価評価で表したものが図８３Ｂ、図８３Ｃ、図８３Ｄ、図８３Ｅで示される。これらの空間の中で、同じ符号が振られているものが等価なものを意味する。空間２０３１と空間２０３２の等価重み付け処理を等価評価１で行ったものが図８４の表で、等価評価２で行ったものが図８５である。【０１９１】
この図８４と図８５の結果に対して完全独立等価評価を基準として統合計算演算部４２２２が統合計算したものが図８６の結果表である。ここで、「完全独立等価評価」とは、空間に存在するノードをすべてお互いに異なるものとして扱う評価である。「等価ノード」項目は完全独立等価評価を使用しているためすべての空間のノードを異なる物として扱っている。図８６の具体的な表の作成方法は、２０１１、２０１２について考えると、等価評価１の重み付けの場合２０１１は等価a1であるためスコアは３となり、２０１２は等価b1であるためスコアは２となる。等価評価２の重み付けの場合２０１１は等価b2であるためスコアは１となり、２０１２は等価a2であるためスコアは２となる。図の計算式は値を導く過程を示したもので、「＝」の右側が求める値である。【０１９２】
さらに、これらの結合について考察する。図８６のマージスコアは統合計算演算部４２２２が「等価評価１のスコア」と「等価評価２のスコア」をノード単位で単純に加算しただけである。つまり、２０１１について詳細を説明すると「等価評価１のスコア」は３で、「等価評価２のスコア」は１であり、これらの加算が３＋１となり答えは４となる。さらに、図８６の差分スコア」は統合計算演算部４２２２が「等価評価１のスコア」から「等価評価２のスコア」をノード単位で減算を行ったものである。さらに、「差分絶対値スコア」では統合計算演算部４２２２が「差分スコア」の絶対値を計算したものである。【０１９３】
図８４と図８５の結果に対して等価評価３を基準として統合計算演算部４２２２が統合計算したものが図８７の結果表である。図８７の具体的な表の作成方法は等価a3について考えると、等価ノードは２０１３と２０２１となる。これを等価評価１の場合を考えると、２０１３のスコアは３で、２０２１のスコアは２であるため「３＋２」よって「等価評価１のスコア」のスコアは５となる。等価評価２の場合を考えると２０１３のスコアは１で、２０２１のスコアは３であるため「１＋３」となり「等価評価２のスコア」のスコアは４となる。これらの等価評価１と等価評価２のスコアを加算したものが「マージスコア」項目である。さらに「ひとつあたりのスコア」で、「マージスコア」を「等価ノード」で除算している。【０１９４】
これらの図８６、または、図８７を導くために使用された重み付けは単純に存在に対してスコアを求めるものであるが、元になる重み付け処理は当然、重み付け計算部４２２１による一意化処理を利用した重み付け処理であったり、優先度が付加されたものであったりもする。【０１９５】
統合計算演算部４２２２によるによる重み付け統合計算の結果をそのまま利用する方法も良いが、結果に対してフィルタリング部４２２３によるフィルタリング処理や加工処理部４２２４による様々な計算を適用してスコアを調整することも有用である。【０１９６】
以下に図を使用して、統合計算演算部４２２２による３つの重み付け処理の統合計算の処理を行う。この計算は等価評価１、等価評価２で空間２０３１、２０３２の重み付け処理の結果と、等価評価３で、空間２０３１、２０３２の両方に一意化処理を行う空間２０３１、２０３２の一意化処理を利用した重み付け処理の結果を等価評価４を基準として統合計算した場合を説明する。空間２０３１、２０３２の両方に一意化処理を行った一意重み付けの結果が図８８である。図８９は統合計算を行う前の前処理を表し、図９０は図８９を使用して計算した結果を表している。図９０の「マージスコア」は単純に図８９の３つの等価評価のスコアを足し算したものである。さらに、３つの、より複雑な計算の結果が図９０の「計算１のスコア」、「計算２のスコア」、」、「計算３のスコア」に示されている。「計算１のスコア」は図８９における「等価評価１のスコア」と「等価評価３のスコア」を加算したものに「等価評価２のスコア」を減算したものである。「計算２のスコア」項目では図８９の「等価評価１のスコア」と「等価評価２のスコア」と「等価評価３のスコア」を２乗したものを加算している。「計算３のスコア」は図８９における「等価評価１のスコア」で２以上のものを２で除算したものと「等価評価２のスコア」と「等価評価３のスコア」の加算である。【０１９７】
ここで、図９０の「計算２のスコア」で使用される方法を式に直してみると、基準１のスコアをオペランドx、基準２のスコアをオペランドy、基準３のスコアをオペランドzとすると、「x-y+z*z」という式で表せる。【０１９８】
フィルタリング部４２２３によるフィルタリング処理や、加工処理部４２２４による重みの加工処理は当然、重み付けの統合演算でも使用できる。【０１９９】
重ね合わせをどのように計算するかといったことに答えはない。様々な切り口や視点で計算方法を、理論的、または、感覚的に変化させることで様々な結果が導き出され分析できることが重要である。【０２００】
具体的な例を用いて統合計算演算部４２２２による重ね合わせ処理を説明する。ここで、重ね合わせ処理を実行する実行者の目的のＣＤを探しあてる様々な手法を説明する。図９１は音楽ＣＤに関する情報を表現した空間で、ノードは音楽ＣＤを意味している。同じ番号が振られたものは同期点等価評価で等価と判断されるものである。図９３はそれぞれの空間の重みを列挙したものである。ここで、重ね合わせ処理の実行者の視点で処理を行う場合を考える。実行者はＣＤの評価において「Ａ氏」「Ｂ氏」「Ｄ氏」の評価は信頼しているが、「Ｃ氏」の評価は全く信頼していない。また、実行者は流行の音楽に大変興味がある。このことを踏まえて重ね合わせ処理がどのように使用されるものなのかを示す。【０２０１】
図９１の空間で、「Ａ氏、または、Ｂ氏のお薦めでなおかつ、売り上げが１〜１０位までのもの」といった問い合わせを行う場合、論理演算計算部４２２０論理演算はうってつけである。この問い合わせは「空間２０５１、または、空間２０５２に存在し、かつ空間２０５５に存在するものは何か」といった問い合わせととることができる。このような問い合わせを行う場合、図９５の表の「演算結果」に示されるようになる。それぞれの空間は１つ以上存在する場合は真として空間を真偽値に変換している。求める解は「（空間２０５１  ＯＲ  空間２０５２）  Ａ２０５Ｄ  空間２０５５」の結果で求められる。図９５の演算結果から、求めるノードはｂとｇであると分る。【０２０２】
空間２０５１、２０５２、２０５４の重みの加算を行った結果が図９４の「重みスコア１」に示されている。これは実行者が信頼する「Ａ氏」「Ｂ氏」「Ｄ氏」の推薦するＣＤを表す空間を重ね合わせたものである。この結果を分析すると等価番号ｂのＣＤが空間２０５１、２０５２、２０５４に存在しており、スコアは最も大きくお勧めのＣＤであると推測できる。ついで等価番号ｇ、ｈが実行者の求めるものである可能性が高い。【０２０３】
さらに、実行者は「Ｃ氏」の評価するものが嫌いである場合が多いので、空間２０５１、２０５２、２０５４の重みの加算から、空間２０５３の重みを減算した演算を行った結果が図９４の「重みスコア２」である。この場合、「重みスコア１」とは少し異なりこの場合は等価番号ｂ、ｇの重みが等しく、この二つがお勧めとみることができる。【０２０４】
また、実行者は流行の音楽に興味がある。そのためさらに計算に少し工夫を加える。売り上げ１〜１０位のものは空間の重みの３倍の値を図９４の「重みスコア２」と乗算を行い、１１〜１００位のものは空間の重みの２倍の値を「重みスコア２」と乗算を行う。このことによって売り上げ順位の情報が大きく重み付けの結果に影響を与える。この場合でも等価番号bとｇが重要で、次いでｉが重要であると考えられる。【０２０５】
以下に論理演算を使用した、フィルタリング部４２２３によるフィルタリング処理を具体的に説明する。空間２０５１、２０５２、２０５４の重み付け処理から、信頼していない「Ｃ氏」の推薦を集めた空間２０５３と、売り上げが低いものを集めた空間２０５７に含まれるノードの結果を必要ないとして除外したい場合などに有効である。この場合は空間２０５１、２０５２、２０５４の等価重み付け処理を行い、さらに空間２０５３と空間２０５７の１つ以上存在するものを真としてＯＲ演算を行い、等価重み付けの結果からＯＲ演算の結果の当てはまるものを除外する。空間２０５３と空間２０５７のＯＲ演算の結果は図９８で表されている。この結果を使用して重み付けのスコアからフィルタリングを使用する様子が図９９に示される。この場合、論理演算で真と評価されるものを処理結果から除外している。【０２０６】
以下に加工処理部４２２４による重みの加工処理を具体的に説明する。空間２０５１、２０５２、２０５４の重みの加算である、図１００の「重みスコア１」の結果に対して加工処理を施し異なった視点で分析を行う。ここで、ノードの「ジャンル」プロパティで「ロック」と「ポップス」であるものを優先的に扱いたいので値が「ロック」であるものの重みを３倍、値が「ポップス」であるものを２倍にしている。【０２０７】
図９２を使用して、統合計算演算部４２２２による重み付け統合計算について、具体的な例を使用して説明する。重み付け統合計算を使用する場合の基準となる等価評価は同期点等価評価を使用するものとする。今回はノードのプロパティによる等価評価を使用した重み付け処理との連携を使用する。図９２のノードは「ジャンル」プロパティを保持しており、「ジャンル」プロパティの値で等価評価を使用した場合は、図９３で表すことができる。図９３を等価なものでグループ分けしたものが図９６である。図９６から、お勧めで流行のジャンルは「ポップス」である可能性が高い。空間２０５１、２０５２、２０５４の重みの加算である図９７の「スコア１」の結果と、「ジャンル」プロパティの等価評価で空間２０５１、２０５２、２０５４、２０５５の重みの加算である図９８の「スコア２」を統合する。「スコア１」と、「スコア２」の重みをそのまま加算すると「スコア２」の影響が大きいため二分の一にしたものとを加算して統合した結果が図９８の「計算結果」に示される。このような計算によって、空間に存在する音楽ＣＤのお勧めの重みに加えて、流行の音楽ジャンルを加味した重み付けを行うことが可能となる。【０２０８】
図１０２は射影部４４１１による射影化が具体的に使用されている場合の説明である。図１０２ではノード２３６０、２３６１に対して射影部４４１１により、射影化が実行され、多言語用のノード群が形成されている。この場合、ノード２３６０、２３６１は４つ分のノード、または、ノード情報が生成されていることになる。このように、射影化は２次元で表現できる空間に対して、３次元の情報にすることとも言うことができる。【０２０９】
射影化された空間を特に「射影空間」、射影化されたノードを「射影ノード」と呼ぶ。【０２１０】
射影部４４１１が有する「射影機能」について説明する。射影機能とは、複数の空間を一つの空間として扱う処理であり、例えば、「射影ノードの単一アクセス」「ノードの生成の連携」、「ノードの削除の連携」、「空間の変形の連携」、「射影空間単位のアクセス」、「ノードの射影空間ごとのアクセス」、「射影ごとの空間の生成」、「射影ごとの空間の削除」、「射影同期」のことを言う。射影化は論理的にこれらの機能の一部、または、すべて備えている。【０２１１】
図を使用して射影部４４１１による射影化の機能を説明する。図１０３Ａの空間を３つに射影化した物が図１０３Ｂである。２３２０、２３２１、２３２２は射影空間で２３０１、２３０２、２３０３はそれぞれの射影化されたノードである。【０２１２】
射影部４４１１による「射影ノードの単一アクセス」は、射影化された複数の射影ノードを空間上は一つのものとしてアクセスするものである。つまり、これは図１０３Ｂの様に射影化された空間を図１０３Ａにアクセスするように扱うことができることを言う。【０２１３】
射影部４４１１による「ノードの生成の連携」は、新たなノードが追加される場合、他の射影空間にも追加するものである。例えば、射影空間２３２０にノードが追加されると、対応する射影空間２３２１、２３２２にもノードが作成される機能である。図１０３Ｃは射影部４４１１によるノードの生成の連携を表したものである。この場合、射影ノード２３１１、２３１２、２３１３を同時に生成している。【０２１４】
射影部４４１１による「ノードの削除の連携」は、ノードが削除された場合、他の射影空間の対応するノードも削除するものである。例えば、射影ノード２３０１を削除する場合、射影ノード２３０３、２３０５も削除される機能である。図１０３Ｂから射影ノード２３０１、２３０３、２３０５を破壊したものが図１０３Ｄである。この場合、３つの射影ノードを同時に破壊している。【０２１５】
射影部４４１１による「空間の変形の連携」は、空間の構成を他の射影空間に反映させるものである。例えば２３０３と２３０４の間のリンクが破壊されれば、２３０１と２３０２、２３０５と２３０６の間のリンクも破壊する機能である。図９７Ｂから空間の変形の連携を行ったたものが図９７Ｅである。【０２１６】
射影ノードの単一アクセス、ノードの生成の連携、ノードの削除の連携、および、空間の変形の連携は複数のノードを空間上の一つのものとして扱っている。つまり、射影ノード２３０１、２３０２、２３０３が空間上一つのノードとして扱うことが可能なのである。これが、複数の空間を一つの概念として扱うということである。【０２１７】
射影部４４１１による「射影空間単位のアクセス」は、それぞれの射影空間をまとまった空間ではなく、一つの独立した空間として扱うことができるものである。つまり、射影空間２３２０、２３２１、２３２２をそれぞれ独立した空間として扱うことができるものである。【０２１８】
射影部４４１１による「ノードの射影空間ごとのアクセス」とは、ノードに対して射影空間を指定してアクセスするものである。例えば、図９７Ｂで説明するなら、射影空間２３２０であるならば射影ノード２３０１が指定され、射影空間２３２２であるならばノード２３０５が指定される。【０２１９】
射影空間単位のアクセスや、ノードの射影空間ごとのアクセスは、射影空間を独立した一つ一つの空間として扱うことのできるようにする機能である。【０２２０】
射影部４４１１による「射影ごとの空間の生成」は、新たな射影空間を追加する機能である。図９７Ｂでは３つの射影空間が存在するが、これに新たに４つめの射影空間２３２３加えたものが図９７Ｆに示される。このように、新たな射影空間を空間単位で追加することができる。【０２２１】
射影部４４１１による「射影ごとの空間の削除」は、射影空間単位で空間を破壊する機能である。これは図９７Ｇに示されるように射影空間２３２０を破壊して、射影空間２３２１と２３２２だけにするなどの処理を行うことを言う。【０２２２】
射影部４４１１による「射影同期」について説明する。この機能は、空間が射影化された場合、その空間に含まれるノードの同期に対しても射影化が適用される機能である。例えば、図１０４の空間においてノード２３７１ａとノード２３７２ａは同期している。この時、２３７１ａに対して射影化が適用される場合、空間２３７２ａにも射影化が適用される機能のことである。図１０４では、２３７１ｂと２３７２ｂが射影化されている。【０２２３】
このように、射影化を行った空間は複数の空間を一つのものとして扱うことと、それぞれを異なった物として扱うことが可能となる。【０２２４】
射影化を使用すれば、複数バージョンの空間を空間上は一つの空間であるかのように扱うことができる。例えば、射影ノード２３０１、２３０２、２３０３は実際には３つのノードであるが、空間上は一つのものとして扱っていることに等しい。【０２２５】
射影部４４１１による射影化の実装の詳細について説明する。射影化の実装方法は無数にあるが内部の構成は「リンク射影」、「ノード射影」、「データ付加射影」、「独立空間射影」を利用するものが代表的な実装方法である。内部の構造をこれらの方法で実装し、プログラムによる制御で射影機能を実現する。これらのデータ構造はメモリ上のポインタやオブジェクトなどでも、ＸＭＬやＨＴＭＬなどのタグ言語を使用しても実現可能である。【０２２６】
リンク射影とは、リンク空間において実際にリンク構造を複数作り出し、それらをプログラムで制御する方法である。これは、実際に空間を複数作り出して、プログラムの機能で射影空間として扱えるようにするとも言える。図１０５Ａをリンク射影したものを表したものが図１０５Ｂである。図１０５Ｂに見られるように、リンクの構成ごと二つの空間になっている。この場合、２３３１ａと２３３２ａで構成された空間と２３３１ｂと２３３２ｂで構成された空間が射影化の要素として生成されている。【０２２７】
ノード射影とは、空間を構成するノード単位で画一的な構造を作り出す処理であり、各々のノードを複数作り出して、それらをプログラムで制御する方法である。図１０５Ａに対してノード射影したものが、図１０５Ｃである。これは、各々のノードに対して複数のノード、または、ノード情報を付加する構造のものである。この場合、ノード２３３１のノード２３３１ｃに、ノード２３３２をノード２３３２ｃへと変換している。つまり、それぞれのノードが射影化されたノード情報を保持している。ノード射影は無形空間などのリンクにより構成されていない空間における射影化や、同期射影を他の方法よりも実装しやすい。【０２２８】
図１０６にはノード射影をリンクリストで作成した場合を表している。ノード２３８０には射影化されたノード、または、ノード情報が２３８１、２３８２、２３８３とリストの形を形成している。このリンクはメモリ上のリスト構造やオブジェクトのインスタンスで構成されたものでも、XMLやＨＴＭＬなどのタグ言語で構成されたものでも良い。このリンクはノードとノードをリンクさせる場合に使用される技術でも良い。【０２２９】
図１０７にはノード射影において、ノードをデータ群と結びつける実装を図示している。ノード２３９０に対して、ノード２３９１のデータ群を結びつけている。これはメモリ上に実装される場合は、データコンテナに射影化されたノード、または、ノード情報を格納するなどが良い。ディスク記憶装置などに保存する場合は、ひとまとめにしてファイル形式やバイナリ圧縮された形でディスクに保存するなどが良い。要は、内部ではバラバラであっても、射影されたノードとしてアクセスできれば良い。【０２３０】
データ付加射影とは、空間に対して射影用のデータを結びつける方法である。図１０５Ａをデータ付加射影したものを表したものが、図１０５Ｄである。これはレイヤーを使用して射影化を実現するものも含まれる。この場合、射影化された空間に対して付加情報２３３３を使用して射影化を実現する。２３３３の内部には空間に関する情報が含まれている。この情報を利用して、空間が複数あるように扱う。【０２３１】
データ付加射影を実装する場合は、レイヤー、または、それと同等の仕組みを用いるのが良い。【０２３２】
図１０８を使用してデータ付加射影を説明する。図１０８はノード２４０１、２４０２、２４０３で構成された空間を射影化している。ノード２４０１には２４０４が、ノード２４０２には２４０５が、ノード２４０３には２４０６が結びついている。ここで、２４０４、２４０５、２４０６に射影用の情報を保持させれば良い。また、２４０４、２４０５、２４０６を全体として共通のリソース２４０７を参照する設計でも良い。このように、空間に対してデータを付加する形で射影化を行っている。【０２３３】
射影部４４１１による独立空間射影とは、一種の独立空間ノードを作り出して内部、または、外部で複数の空間情報を保持することで射影を実現する方法である。図１０５Ａを独立空間射影したものを表したものが、図１０５Ｅである。独立空間ノード２３３４の内部の射影化用データは射影化機能で扱えるのならば、いかなる形でも良く、内部に空間を複数保持しても良いし、全く異なるフォーマットとして表現されても良い。【０２３４】
図１０９を使用して独立空間射影を説明する。独立空間ノード２４１１に外部、または、内部に空間定義２４１８が結びついている。２４１８には射影空間が３つ格納されており、２４１２と２４１３の空間、２４１４と２４１５の空間、２４１６と２４１７の空間ある。【０２３５】
図を使用して、射影部４４１１による射影化の効果と必要性を説明する。図１１０Ａはあるドキュメントを表現した空間である。ここで、空間２４８１が重要なドキュメントに関するものであるため、多言語で作成する必要があるとする。この場合、射影化を使用しない場合、図１１０Ｂの様な空間設計となる。図１１０Ｂでは、各言語バージョンの空間が多数作成されている。例えば、２４８１は日本語用、２４８２は英語用、２４８３はフランス語用というようになる。このように、異なるバージョンごとに新たな空間を作成することになる。これは、バージョンが増えるごとに空間が増えていく事を意味する。しかし、射影化を使用すれば論理的には図１１０Ｃの様に異なる空間そのものが増えることはない。この場合、２４８１a、２４８１ｂ、２４８１ｃそれぞれが一つの言語用の空間となっている。図１１０Ｂの様に異なるバージョンごとに異なる空間を作成することは管理コストの増大を招くこととなる。空間は何かしらの概念を表現した、または、集めた構成物である。表現する概念を変更する場合、空間の構成も変更する必要がある。この時、バージョンごとに単に複数の空間が存在するだけの場合、変更や追加をすべての空間に適用する必要が出てくる。これは表現する概念は同じであるにも係わらず形式の違いだけで異なる空間として実装するために発生する問題で、これらは大変な保守コストとなる。また、表現したい概念が表現形式の違いだけで、異なる空間として分散するため、第三者が概念と空間の関係を若干理解しづらくなる。このように、表現したい概念を一つに結びつける射影化は重要な機能と言える。【０２３６】
図１１１は、射影部４４１１を詳細に説明するための図であり、ここでは、射影化を実現した一般的なプログラムの機能ブロック図を示す。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。射影化を実現するためには射影化に対応した空間と、処理の連携を行う。基本的には空間データ部４２０１を射影部４４１１によって制御する。空間へのインタフェース４４１３を通じて適切に空間データ部４２０１、または、射影部４４１１にアクセスすることができるので、空間データ部４２０１の内部が通常の空間と異なる特殊なフォーマットであっても容易に、そして、安全にアクセスすることができる。【０２３７】
空間データ部４２０１では射影された空間のデータはリンク射影４４３０、ノード射影４４３１、データ付加射影４４３２、または、独立空間射影４４３３として存在している。これらのデータには直接アクセスしても良いが、空間へのインタフェース４４１３を通じて操作を行った方が、複雑な内部構成や仕様を考慮する必要がなく、データの破壊リスクも軽減できるので良い。【０２３８】
射影部４４１１は、「射影ノードの単一アクセス」「ノードの生成の連携」、「ノードの削除の連携」、「空間の変形の連携」、「射影空間単位のアクセス」、「ノードの射影空間ごとのアクセス」、「射影ごとの空間の生成」、「射影ごとの空間の削除」、「射影同期」などを行うことで、射影化としての機能を果たす。【０２３９】
ユーザ４４１２が空間へのインタフェース４４１３を通じて、空間を操作することで射影化としての適切な機能を提供することが可能となる。ユーザ４４１２は通常は外部、または、内部のプログラムか人間である。人間はユーザインタフェースなどを介して射影空間にアクセスする。【０２４０】
ノード、リンク、および、空間には「レイヤー」を適用できる。レイヤーとは、ノード、または、空間に対して情報が平行に定義されるものであり、ノードそのものに情報を付加するのではなく、ノードと並行的に付加情報が与えられる構造である。平行に定義されるとは、ノードや空間に対応させた形で定義されることを意味する。レイヤーを使用することによって様々な情報を空間に付加することが出来る。また、プロパティと異なり、ノードそのものを操作するのではないので、情報の付加が容易になり、データの破壊リスクも軽減できる。さらに、レイヤーを複数重ねたり、状況によって組み合わせることで様々な場面で使用することが可能となる。レイヤーはノードや空間が表現したい概念と異なるものを分離することができる。さらに言えば、表現したい概念とは異なる情報はすべてレイヤーに含めるべきであるともいえる。レイヤーはノード一つでも空間にでも適用させることができ、柔軟であり、空間に対して情報を付加する場合、非常に便利である。使用用途はセキュリティ、イベント、優先度などへの実装が特に有効である。【０２４１】
レイヤーはレイヤーが付加された空間のノード一つ一つに対して、情報を与えることも、空間全体としての情報も与えることもできる。【０２４２】
レイヤーには「構造レイヤー」と「実体レイヤー」がある。構造レイヤーは、空間の構造そのものに対してレイヤーを付加するものであり、ノード構造に対してレイヤーを適用するものである。実体レイヤーは、実体そのものに対してレイヤーを付加する、つまり、ノードそのものに対して行う。つまり、実体レイヤーが付加されたノードは基本的に同期点が同じであるすべてのノードに対してレイヤーの効果が適用される。【０２４３】
図１１６を使用して構造レイヤーと実体レイヤーを説明する。ノード３１４１、３１４２はお互いに同期している。このとき、空間３１４０のノードに構造レイヤーを適用しても、ノード３１４１にレイヤーは付加されるが、ノード３１４２にはレイヤーは付加されない。しかし、空間３１４０のノードに対して、実体レイヤーを付加させると、ノード３１４１のみならずノード３１４２に対しても実体レイヤーが適用される。【０２４４】
図１１２を使用して構造レイヤーについて説明する。図１１２には一つの空間と、二つの構造レイヤーが定義されている。３１００、３１０１、３１０２、３１０３、３１０４はノードでリンク空間を形成している。３１１０、３１１１、３１１２、３１１３、および、３１１４、３１１５、３１１６、３１１７で構成されたものが構造レイヤーである。図１１２では空間に２つの構造レイヤーを結びつけている。構造レイヤーではリンクにもレイヤーを定義することは可能であるが、この場合は空間のノードのみに構造レイヤーが付加されている。それぞれ３１１０、３１１１、３１１２、３１１３は構造レイヤー１を、３１１４、３１１５、３１１６、３１１７は構造レイヤー２を形成している。図１１２に見られる直線の破線はノードと構造レイヤーの対応関係を示し、円形の破線は構造レイヤーを意味する。通常は、構造レイヤーに対して付加情報を与え、その付加情報を元にプログラム内部、または、外部で様々な処理が行われる。レイヤーはノードと並行的に存在するものであるが、リンク空間に対してレイヤーを付加する場合でも、ノードのようにリンクで構成される必要はない。【０２４５】
図１１３を使用して実体レイヤーについて説明する。ノード３１５０とノード３１５２は、お互いに同期している。ノード３１５０、３１５１、３１５２に実体レイヤーが付加されている。このときレイヤー１の３１５３にノード３１５０とノード３１５２が、ノード３１５１には３１５４が結びついている。同様にレイヤー２の３１５５にノード３１５０と３１５２が、ノード３１５１には３１５６が結びついている。このように、実体レイヤーは空間の構造ではなくノードの実体に結びついている。【０２４６】
レイヤーの具体的な実装について説明する。レイヤーはノードの外部、または、内部に存在させることができるが、レイヤーは論理的には外部からノードに対して情報を与えるものであるので、実装においても外部に多くの情報を保持するのが望ましい。レイヤーはコンピュータ読み取り可能な記録媒体、または、ネットワーク上に実装できる。つまり、ノードが実現できるすべての環境で実装可能である。それは、メモリ上の実体であっても、ディスク上のＸＭＬで形成されたものでも良い。【０２４７】
ノードとレイヤーを関連付けるにはノードとノードをリンクでつなぐ様に結びつける必要がある。ノードとレイヤーを結びつける情報はノードそのものの中に記述、外部に記述するなどがある。【０２４８】
レイヤーは、理論上は空間の外部から情報を与えるものなので、すべての情報をノードの内部に格納するのは良いとは言えない。つまり、一部、または、全部を外部に格納するのが理想である。【０２４９】
図１１４はノードそのものの中に記述する方式である。３１５０はノード、または、ノードへの参照情報である。３１５０にはレイヤーへの情報が格納されている。また、レイヤー３１５１にはノードへの情報が格納されている。【０２５０】
図１１５はノードとレイヤーの関係を外部に記述する場合を示している。３１５５はノード、または、ノードへの参照情報を意味している。３１５６はレイヤーを意味し、３１５７は３１５５と３１５６を結びつける情報を保持している。【０２５１】
構造レイヤーはノードに対して非同期型情報付加として情報が付加され、実体レイヤーはノードに対して同期型情報付加として扱われるのが通常である。【０２５２】
ＸＭＬを使用して、空間にレイヤーを付加する実装を説明する。図２７のノードのリンクを表現したＸＭＬである図３１、図３２に対してレイヤーを付加した場合の実装を説明する。【０２５３】
構造レイヤーを実装する場合の一例を示す。ノード８５１、８５２とその間のリンクに対して構造レイヤーを付加すると仮定する。この場合、図１１７、図１１８のようにリンク定義に対して、テスト用のシンプルな構造レイヤーを付加している。この場合は、
<StructualLayer
name="layer1" value="100"/>
部分が、構造レイヤーの定義である。実際の一般的な実装ではこのタグには、より多くの情報や情報への参照が含まれる。【０２５４】
実体レイヤーを実装する場合の一例を示す。図１１９のノードＡとノードＢに対して、実体レイヤーを付加したものが図  に示されるようなＸＭＬで示される。このように、構造ではなく、ノードそのものにレイヤーを付加している。この場合は、完全にノードの外部からレイヤーを定義している。【０２５５】
レイヤーの自己拡張機能とはレイヤーが適用された空間に対して、ノード、または、空間が追加されると追加された部分に対してもレイヤーが適用される機能のことを言う。さらに、この機能に、空間のリンク選択、空間フィルタリングの機能を利用して、より、柔軟な形で空間の自己拡張を行う実装も有効である。この機能は主に構造レイヤーにおいて適用される。【０２５６】
図を使用して、レイヤーの自己拡張機能を説明する。図１２０Ａのノード３１２０、３１２１、３１２２はノードで空間を形成している。３１３０、３１３１、３１３２はレイヤーを形成している。図１２０Ｂに示されるように３１２２に対してノード３１２３を追加する。すると、図１２０Ｃのレイヤー３１３３が拡張される。【０２５７】
セキュリティを実現するにあたってセキュリティレイヤーを導入することで、セキュリティの管理をより扱いやすくすることが出来る。これはセキュリティレイヤーを空間にマッピングさせることによって実現できる。通常、セキュリティレイヤーには一つ、または、複数のユーザ情報とセキュリティ権限情報が含まれている。これによって、ユーザ別のセキュリティや、複数のユーザの権限と空間との対応がより明確になり管理しやすくなる。なお、セキュリティレイヤーとは、レイヤーにセキュリティ情報が付加されたものである。【０２５８】
図１２１を使用してセキュリティレイヤーを説明する。３２１５はユーザ３２０１用のセキュリティレイヤー、３２１６はユーザ３２０２用のセキュリティレイヤーである。それぞれのセキュリティレイヤーは空間の一部をマスクしている。ユーザ３２０１の命令３２２０はセキュリティレイヤー３２１５によって除外されるが、命令３２２２はセキュリティレイヤーの影響を受けることなく３２１１には適用されている。同様に、命令３２２１はノード３２１０に適用され、命令３２２３は除外されている。【０２５９】
図１２２にセキュリティレイヤーによるセキュリティの実現の一例をステップ図の使用で示す。ステップＳ４０１で空間に対する操作を検出する。ステップＳ４０２で操作対象の空間にセキュリティレイヤーが存在するかどうか確認する。ステップＳ４０３で設定されているセキュリティを分析して、操作を許可するかどうか決定する。Ｓ４０４は操作を許可された時に実行され、Ｓ４０５は不許可となり操作を無効にされ通知処理も同時に実行される。【０２６０】
イベントを実現するに当たってイベント情報をレイヤーにしたイベントレイヤーを導入することで、イベントをより柔軟に扱うことができる。イベントは基本的には「反応」と「通知」からなる。つまり、イベントレイヤーには何に対して反応するか、誰にどのように通知するかといった情報を記録し、プログラムからイベントの機能を実現すればよい。なお、イベントレイヤーとは、レイヤーに空間の変化、空間に対する命令、または、時間的変移を内部、または、外部ユーザに通知するイベント情報が付加されたものである。【０２６１】
図１２３にイベントレイヤーによるイベントの実現の一例をステップ図の使用で示す。ステップ５０１は空間に対する操作や変化などの出来事が発生することを意味する。ステップ５０２では操作の対象の空間、または、変化した空間に対応するイベントレイヤーが存在するのかどうか確認する。ステップＳ５０３は操作や変化に対して対応するイベント情報が存在するか確認する。ステップＳ５０４でイベント情報により通知処理を行う。ステップＳ５０２、Ｓ５０３でイベントに関する情報を収集し、Ｓ５０４で実際の通知を行う。【０２６２】
レイヤーに重み付け処理で利用する優先度を付加することも有用である。優先度の情報をレイヤーにすれば、状況によって優先度を自在に切り替えて重み付け処理を行うことも容易に実現できる。【０２６３】
以下に図１２４を使用して実際にレイヤーが使用される様子を具体的に説明する。図  の空間はある会社のソフトウェアのバグレポートを表現したものである。この場合、この空間を外部のネットワークからアクセスできるようにする場合はセキュリティの設定を行う必要がある。ここで、この空間にセキュリティレイヤーを設定する。まず、社外の人間やバグの修正に関わる必要のない部外者に対しては、空間の情報を変更できないようにセキュリティを設定することが望ましい。ここで構造レイヤー３２５１を使用して部外者による変更を空間全体で禁止を行うセキュリティ情報を付加する。さらに、作成者別にバグを分類する部分も部外者には作者に関する情報を開示するのは不要で不名誉である。このため３２５２には作成者別の部分を部外者に対して不可視の状態にする構造レイヤーとしてセキュリティ情報を設定するのが良い。さらに、未対処のバグは悪用されると危険であったりするので、部外者に対して絶対に公開しない方が良い。そこで、３２５３の空間にあるノードには実体レイヤーとしてセキュリティ情報を設定すれば良い。このようにすれば、他の空間に同期が存在している場合でもセキュリティは適用される。以上のようにレイヤーを使用すればセキュリティに関する設定が空間に対して直接の変更を加えることなく行うことができる。このように管理された情報は明確に分離されており追加、削除などを容易に行うことができる。【０２６４】
図１２５にセキュリティレイヤーを実現した一般的なプログラムの機能ブロック図を示す。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。ユーザ４８０２がセキュリティゲートウェイ４８０３を通して空間データ部４２０１にアクセスしている。セキュリティゲートウェイ４８０３はセキュリティレイヤー情報４８０４にアクセスし、セキュリティのレベルに応じた操作を許可する。【０２６５】
次に、自動分類処理部４８０９の詳細について説明する。自動分類処理部４８０９は、空間を構成するノードを追加することによって空間を拡張する処理部であり、ノード、または、ノードに対応づけられた情報を取得して処理を開始する自動分類処理開始部４８１０と自動分類部４８１１とから構成される。自動分類部４８１１は、ノードのリンクを辿る巡回部４８１２、巡回部において巡回したノードに新たなノードを追加する場合に、適切かどうかを判断する判定部４８１３及び判定部４８１３により追加が適切と判定された場合に、ノードを追加する追加部４８１４から構成され、判定部４８１３は、さらに、存在可否条件判定部４８２０及び巡回可否条件判定部４８２１から構成され、追加部４８１４は、さらに、個別追加部４８３０、同期追加部４８３１及びリンク追加部４８３２から構成される。これらの機能について、自動分類処理を実装した一般的なプログラムの機能ブロック図の図１３４を使用して処理の概要を説明する。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。【０２６６】
自動分類処理部４８０９による空間の「自動分類処理」はリンク空間に対する拡張や追加を容易にする。この機能は、空間を巡回しながら、ノードとノードの内部、または、外部に結びついた存在可否条件式を使用して、新しく追加するノードが追加して良いものかどうか判断する。存在可否条件式の一般的な実装は、新しく追加されるノードの情報を使用して、ノード判定式のようにスクリプト言語やプログラム言語で記述できるようにするのが一般的であると思われる。存在可否条件式は一つを複数のノードに対応させても良い。【０２６７】
図を使用して自動分類処理部４８０９による自動分類処理を説明する。図１２６Ａはノードに存在可否条件式が付加されたものを示している。ノード３６１０、３６１１、３６１２、３６１３にそれぞれ存在可否条件式３６２０、３６２１、３６２２、３６２３が結びついている。ここに新たなノードを自動分類処理で追加すると図１２６Ｂになった。これは新たに追加されたノードが条件式の要件を満たしたからと言える。この場合、条件式３６２０、３６２１では新たに追加されるノードは不適切と判断されたが、条件式３６２２、３６２３によって、新たなノード３６３０、３６３１を適切なものとして追加を許可したのである。【０２６８】
自動分類処理の大まかなフローの一例として図１２７を示し、順を追って説明する。Ｓ６０１で、巡回部４８１２は、辿るべきノードが存在するかどうか確認し、ないのなら処理を終了する。Ｓ６０２で次のノードを辿る。Ｓ６０３において、存在可否条件判定部４８２０は、存在可否条件式で存在可能かどうか判定し、可能と判断されればＳ６０４で追加部４８１４はノードを追加する。さらに、Ｓ６０２、または、Ｓ６０４の内部で図１２７のフローを再帰的に実行する。【０２６９】
実際の実装では自動分類処理において、リンクを巡回部４８１２による巡回しない実装もある。これは、処理を実行するノードが分かれば良いので、図１３２の３６７１のような空間を直接巡回しなくても、３６７２に示されるように、３６７１のノードを置き換えたもの、または、表現する別のものを通じて、自動分類処理を行うことで同様の効果を上げる方法も実装上は考えられる。３６７２は３６７１の空間のノードを特定できるだけの情報を保持していれば良い。【０２７０】
図を使用して、自動分類処理でノードを追加する時に存在可否条件式を付加する場合を説明する。自動分類処理でノードと存在可否条件式を付加する処理を図１２６Ａに対して行う。すると、図１２６Ｃに示されるように、新しくノードが追加される場合、ノード３６３０、３６３１と共に存在可否条件式３６３６、３６３５を付加している。【０２７１】
自動分類処理でノードを追加すると同時に存在可否条件式を付加する場合を図１２７のフロー図のＳ６０４を図１２８で示されるものとすることで実現する事ができる。【０２７２】
自動分類処理において、辿るべきノードをノードの内部、または、外部に結びついた巡回可否条件式によって制御することも可能である。これは階層空間において特に有効な手段である。この機能によって概念の体系化を利用した自動分類が可能となる。また、巡回すべきノード数が制限されるので、実行速度の面でも有利である。【０２７３】
図１２９を使用して、自動分類処理において辿るべきノードを巡回可否条件判定部４８２１が巡回可否条件式によって制御する場合の説明を行う。ルートノード３６４０から自動分類処理が開始するとする。巡回処理３６５０がノード３６４２に到達するときに、条件式３６５２に設定された巡回可否条件式で巡回可否条件判定部４８２１により巡回不可と判定されると、ノード３６４３、３６４４に到達することなく処理が終了する。【０２７４】
自動分類処理において辿るべきノードを巡回可否条件式によって制御する場合の説明を、図１３０のフロー図を用いて説明する。図１３０のフローは図１２７でのフロー図のステップＳ６０１とステップＳ６０２の間に新たに巡回可能かどうかを判断するステップＳ５を追加したものとなる。【０２７５】
自動分類処理でノードを追加すると同時に巡回可否条件式を付加することも有効である。【０２７６】
自動分類処理において、個別追加部４８３０による「個別型自動追加」とは、追加されるノードが個別の実体として追加されることを言う。つまり、二番目以降に追加するノードがそれぞれ異なる実体として追加されることである。【０２７７】
図を使用して、個別追加部４８３０による個別型自動追加を使用した場合について説明する。図１３１Ａの空間にノード３６６０の自動分類処理を行ったところ、ノード３６６１、３６６２のノードで存在可能である場合、図１３１Ｂのようにノード３６６３、３６６４が加えられる。このときに、ノード３６６３と３６６４が異なる実体として追加される。【０２７８】
自動分類処理において、同期型追加部４８３１による「同期型自動追加」とは、二番目以降に追加されるノードは最初に追加されたノードの同期した状態で追加されることを言う。つまり、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードどうしを、同期した状態と呼ぶ場合において、二番目以降に追加されるノードが最初に追加されたノードの同期した状態で追加されることである。【０２７９】
図を使用して、同期型追加部４８３１による同期型自動追加を使用した場合について説明する。図１３１Ａの空間にノード３６６０の自動分類処理を行ったところ、ノード３６６１、３６６２のノードで存在可能である場合、図１３１Ｂのようにノード３６６３、３６６４が加えられる。このときに、ノード３６６３と３６６４がお互いに同期した状態で追加される。【０２８０】
自動分類処理において、リンク追加部４８３２による「リンク型自動追加」の使用によって、二番目以降に追加されるノードは最初に追加されたノードのリンクした状態で追加されることを言う。【０２８１】
図を使用して、リンク追加部４８３２によるリンク型自動追加を使用した場合について説明する。図１３１Ａの空間にノード３６６０の自動分類処理をしたところ、ノード３６６１、３６６２のノードで存在可能であるとする。この場合、図１３１Ｃのノード３６６５が加えられる。このように、ノードが二つ追加されるのではなく、最初に追加された３６６５のリンクを追加する。【０２８２】
存在可否条件式、および、巡回可否条件式は「同期型情報付加」、または、「空間型情報付加」のどちらでも仕組みでノードと結びつけても良い。同期型情報付加を使用すれば同期したノード同士で条件式を共有できる。【０２８３】
存在可否条件式や巡回可否条件式は一つのノードに対応する必要はない。つまり、これらの式は複数のノードで共有されているものでも良い。【０２８４】
存在可否条件式や巡回可否条件式は空間が表現したい概念を生成するための仕組みであるが、表現したい空間と直接には関係がない。そのため、これらがレイヤーとして実装されるのは自然なことだと言える。【０２８５】
存在可否条件式や巡回可否条件式に設定する条件がより複雑になると、スクリプトや単純なプログラム言語で表現することは困難となる。例えば、ノードの文章プロパティを複雑な構文解析を行って判断するような場合などである。そのため、この部分に外部のプログラムによる処理を実行することを可能として、存在可否条件式や巡回可否条件式の処理速度、開発効率、保守の容易性を向上させることが可能となる。【０２８６】
以上のように、自動分類処理部４８０９による処理の大きな流れとしては自動分類処理開始部４８１０からのデータ決定を受け取り、自動分類部４８１１が実行され、空間データ部４２０１へのノードの追加が実行される。【０２８７】
自動分類処理開始部４８１０は自動分類処理を開始するためのデータを取得、または、生成する。この部分には、外部、または、内部のプログラムによるものであったり、プログラム外部の変化を感知した場合であったり、人間が入力したものであったりする。【０２８８】
自動分類部４８１１は、巡回部４８１２、判定部４８１３、追加部４８１４から成る。巡回部４８１２が空間データ部４２０１のノードを巡回し、判定部４８１３によりノードが追加可能と判断された場合、追加部４８１４により空間データ部４２０１にノードが追加される。【０２８９】
巡回部４８１２は空間データ部４２０１の情報を取得して空間を巡回、または、巡回と同等の効果がある処理を行う。巡回部４８１２で巡回しながら、判定部４８１３を使用してノードを追加するのかどうか、または、ノードをさらに巡回するのかどうかを決定する。【０２９０】
判定部４８１３はノードに結びついた存在許可条件式を判断して追加するかどうかを決定する存在可否条件判定部４８２０と、巡回可否条件式を判断して巡回するかどうかを決定する巡回可否条件判定部４８２１から成る。判定部４８１３で使用される存在許可条件式、巡回可否条件式は４８１５のように、レイヤー、または、同様の仕組みを用いてノードに対応付けられるのが通常である。存在可否条件式・巡回可否条件式４８１５はスクリプト・プログラム言語４８４１で定義されるのが通常であるが、外部プログラム４８４２などを使用するものでも良い。実際では、条件式が複雑な場合は、スクリプト・プログラム言語４８４１から、内部、または、外部プログラムの機能を呼び出して処理を行う方法が一般的と思われる。【０２９１】
追加部４８１４は空間データ部４２０１へ新たなノードを追加する処理を行うものである。個別型自動追加は個別追加部４８１４を使用することで、同期型自動追加は同期追加部４８３１を使用することで、リンク型自動追加はリンク追加部４８３２を使用することで実現する。【０２９２】
自動分類処理を使用する利点は、適切な空間を保ったまま、拡張することができる点である。人手によって保守されるものは誤りを含む可能性がある。また、定義された空間の規模が巨大である場合は全体を認識できなくなる可能性がある。こういった問題を補完するものが自動分類処理である。図１３３に示されるように新たなノードを追加する場合、どの部分に追加すれば良いのか、どの部分に存在すべきかといったことが、空間の規模が大きくなればなるほど把握できなくなる。しかし、自動分類処理は一度、存在可否条件式を設定すれば、新たなノードの追加時に巡回して存在すべき適切な場所へ追加されることになる。【０２９３】
空間データ部４２０１における空間の実装を独立したストレージとして、「空間ストレージ」を実装することはデータの扱いやすさや処理の連携などが容易になり有効である。また、意味空間ストレージの実装で、リレーショナルデータベースやXMLデータベースなどとの連携を可能とすることによって、性能の向上や、データの一元管理、既存の情報システムとの共存なども容易になる。これは、空間の分散管理の技術がベースになっている。空間ストレージの定義は空間の重ね合わせ処理、射影化、レイヤーまたは、自動分類処理を使用することができるストレージである。【０２９４】
図を使用して、空間ストレージを説明する。図１３５において、３８０２が空間ストレージで３８０１が空間ストレージのクライアントで、３８０３はリレーショナルデータベースやXMLデータベースなどである。そして、３８０１、３８０２、３８０３間を、３８０４、３８０５によって通信している。３８０４、３８０５の通信は空間の分散管理で使用されている通信手段でよい。
【産業上の利用可能性】
【０２９５】
間を利用するにあたって最も強力な機能は重ね合わせ計算処理部４２１１による空間の重ね合わせを利用した処理である。これによって曖昧なデータから、より意味的に詳細な情報へと容易に変換することが可能となる。最先端技術、医療、法律、情報科学などの技術データベース、インターネット上での知識検索、交換などでの使用が、最も効果的と思われる。他の情報管理手法に比べて、より曖昧で複雑なデータを扱うほど本発明の効果は大きくなる。また、人間の感性的な情報を利用できるので、絵画、映画、音楽情報などの芸術データベースなどにも効果的である。また、重ね合わせ計算処理部４２１１による空間の重ね合わせ処理によって学習的検索も可能であるため、教育機関の学習用検索装置なども考えられる。さらに、個人の小型情報データベース、ファイル管理プログラムとしても十分効果的である。また、RDFやOWLといったセマンティクスウェブ技術やマイクロソフトの提唱するＷｉｎＦＳとも異なる技術であるが、相反するものではなく、これらの技術の内部または、本発明の内部にそれらの技術を使用することはより効果的な情報管理システムの構築を可能とする。以下にインターネットのディレクトリ型検検索エンジンに適用する場合について説明する。現在、インターネット検索エンジンにはgoogleなどで使用される、ロボット型検索エンジンなどが主流である。しかし、ディレクトリ型検索エンジンには比較的に厳選されたサイトが登録されており、まとまった特定の情報をしらみつぶしに調べるような場合には有効な検索エンジンと言える。【０２９６】
代表的なディレクトリ型検索エンジンにはYahooカテゴリやgoogleディレクトリといったものが代表的と言える。【０２９７】
図１５２は本発明を適用した検索エンジンシステムである。７１１１、７１１２、７１１３は検索エンジンを利用するユーザを表している。ユーザはインターネットエクスプローラなどのＷｅｂブラウザや、その他の通信プログラムを使用して、情報通信網１５を通して検索エンジン装置７１０１へ接続する。この実装では、情報提供インタフェース部７１０２が検索エンジンとしてのインタフェース機能を実装し、Webサイトのアドレスや名前を空間データ部に格納している。重ね合わせ処理を行う必要があれば、情報空間処理装置４０００を使用して計算を行い、結果を７１０２を通じてユーザに配信される。【０２９８】
基本的にディレクトリ型検索エンジンは人、または、コンピュータによってWebサイトをカテゴリ別に分類してツリー状の情報を作成し、検索者はカテゴリをたどることで情報を見つけることができる。【０２９９】
通常、ディレクトリ型検索エンジンを使用してWebページを検索する場合、カテゴライズされた階層を一つずつ辿り、目的のWebサイトを探す方法が一般的であるが、検索ボックスに情報を入力することで検索するものもある。【０３００】
ディレクトリ型検索エンジンに本発明を適用する場合は、Webサイトのタイトルやアドレスをノードに結びつけて、分類階層を空間とする。図１５３がディレクトリ型検索エンジンのカテゴライズの一例を部分的に省略して示している。カテゴライズされた空間は順に辿ることで、目的の情報へ到達することができる。例えば、サッカーに関するニュース情報を知りたいのであれば、ニュース  ＞  スポーツニュース  ＞  サッカーニュースと辿って行けば、７１２１、７１２２、７１２３といった適切なサイトへ到達できる。【０３０１】
重ね合わせ処理を使用する前提で空間を設計すれば、通常は役に立たないカテゴライズも有用な分類情報になる。例をあげれば、Webサイトの登録日別や対応言語で分類した空間などである。  こういった空間は単体ではWebページの分類情報としてはほとんど無価値であるといえるが、重ね合わせ処理を利用すれば有意義な情報となる。こういった情報は単体ではあまり価値がないためWebサイトの分類では作成されない。しかし、こういった情報は重ね合わせ処理を利用するシステムとしては有効な付加価値情報となる。【０３０２】
検索エンジンシステム７１００を使用することで、絶えず変動する情報を利用して検索することも容易になる。例えば、Webページへのアクセスランキングを使用する場合について考える。図１５４にアクセスランキングの情報を空間７１３１にした様子を示している。こういった情報は時間によって変化する。また、単体では興味本位のデータで、それほど有意義なデータではないため、通常のインデックス型の検索エンジンではカテゴリ化されにくい。しかし、アクセスランキング空間を作成すれば、「探しているカテゴリのＷｅｂサイトでありながら、アクセスランキング１〜２０００位のもの」といったより付加価値をつける検索が重ね合わせ処理により容易に可能となる。この結果、ユーザの求める情報原である可能性の高いＷｅｂサイトを絞り込むことができるのである。【０３０３】
本発明を使用する場合、空間の拡張は基本的にはノードに影響を与えない。そのため、検索エンジンシステム７１００においても空間の拡張は比較的容易に行うことができる。そのため、様々な切り口で空間を作成、および、追加することで、Webページ検索のバリエーションを大幅に増やすことができる。また、主観的な情報で空間を作成してもユーザがそれを理解できれば重ね合わせによる情報検索を使用することができる。【０３０４】
検索エンジンシステム７１００において、実際に空間を主観的に拡張する場合と、その効果を説明する。空間データ部４２０１に作成された、図１５４の空間に対して新たな空間７１３２を追加した図面が図１５５である。この空間７１３２は有名なオピニオンリーダーと呼ばれるような著名人のお薦めサイトが列挙されている。ここで、先ほどの検索「探しているジャンルでありながら、アクセスランキング１〜２０００位のもの」に対して、さらに空間７１３３との重ね合わせを追加することで、「探しているジャンルでありながら、アクセスランキング１〜２０００位のもの、かつ、著名人Ａ氏がお勧めするサイト」というようなより特殊な検索を行うことができる。このように、様々な空間を選択して重ね合わせることで、分析に近い検索が可能となる。このように、様々な空間を加えたり、減らしたりしながら重ね合わせ処理を利用することで、ユーザは様々な見方でインターネットの情報を検索できるのである。【０３０５】
以下に掲示板システムに対して、本発明を適用した場合の実例を利用方法を説明する。掲示板システムとは、インターネットなどの情報通信ネットワークを通じて、多数の人々が情報を掲示板に書き込むことで、情報を共有するシステムである。【０３０６】
以下に本発明を使用した掲示板システムの実装例を説明する。図１５６の掲示板システム７３００は本発明を使用することで、検索システムが強化された掲示板システムである。７３１１、７３１２、７３１３は掲示板を利用する掲示板ユーザを表している。掲示板システム７３００では掲示板の情報と空間情報を結びつけ管理している。ユーザはインターネットエクスプローラなどのＷｅｂブラウザやその他の通信プログラムを使用して、情報通信網１５を通して掲示板装置７３０１へ接続する。ユーザは任意の情報を掲示板装置７３０１に転送し、議論や情報交換を行う。【０３０７】
一般的な掲示板システムでは話題単位で一つの掲示板が作成される。これを通常、掲示板のスレッドと呼ばれる。スレッドはメッセージを書き込む複数のメッセージボードから成り立っている。【０３０８】
掲示板をについて説明する。図１５７はある掲示板を単純に表したものである。７３２１が掲示板の話題の単位であるスレッドを意味し、７３２２がメッセージボードを意味する。ユーザがメッセージボードに対して文章などを転送し、それを見た他のユーザがレスポンスを新たなメッセージとして転送する。図１５８はツリー型の掲示板である。この場合、それぞれの任意のメッセージボードに対してレスポンスを返すことができる。例えばメッセージボード７３２７は７３２６に対するレスポンスメッセージボードである。【０３０９】
世界中の掲示板システムには日々膨大な量の情報が蓄積されている。しかし、大半の情報が整理されておらず、テキストのかたまりとしてログファイルの中に存在しているといえる。これらの情報を本発明により、テキストマッチング以外の検索方法を適用することで、過去の情報に対してより深い分析を行うことを可能とする。【０３１０】
掲示板システム７３００に本発明を適用する場合は、メッセージボートをノード、掲示板を空間として重ね合わせ処理を行って計算する方法が良い。この場合、図１５７の掲示板は図１５９のように表すことができる。この場合、メッセージボード７３２はノード７３２３と対応しており、メッセージボード７３２３はノード７３３３と対応している。また、同様に図１５８のツリー型掲示板は図１６０のように表すことができる。この場合メッセージボード７３２６はノード７３３６と、メッセージボード７３２８はノード７３３８と対応している。【０３１１】
掲示板を使って複数の人間が議論を行っているとする。ここで、過去にも似たような議論が行われているかどうかを調査する場合、過去の掲示板と重ね合わせ処理を行うことで、似たような議論を引っ張りだすことができる。【０３１２】
スレッド全体、または、一部で、他の掲示板のスレッドと重ね合わせ処理を行えば、類似したスレッドを見つけることも可能になる。比較検討処理などを利用すれば似たもの同士を比較してスコアを足し合わせた時、似ていれば似ているほど、スコアは大きくなる。そのため、掲示板のノードの数とスコアの大きさで類似度を算出することが可能となり、「内容の近い掲示板を見つけ出す」といった検索が可能となる。【０３１３】
理論上は等価評価によるものよりも、比較検討による重み付けの方がテキスト情報などを扱いやすいと言えるが、計算コストは非常に大きい。そのため、システムとして実装する場合はあらかじめメッセージボードのテキスト情報をベクトル情報などの検索処理用の情報に置き換えて空間データ部４２０１に情報を保存し、その情報に対して比較検討重み付けなどを行う方法が一般的といえる。【０３１４】
また、掲示板の議論の白熱や内容の細分化によってスレッドが大きくなりすぎる場合もある。このような場合、このスレッド単体で比較検討重み付け処理を行えば、全体として重要なメッセージボードを浮かび上がらせることができる。
【図１】
2005122014.tif 000002
【図２】
2005122014.tif 000003
【図３】
2005122014.tif 000004
【図４】
2005122014.tif 000005
【図５】
2005122014.tif 000006
【図６】
2005122014.tif 000007
【図７】
2005122014.tif 000008
【図８】
2005122014.tif 000009
【図９】
2005122014.tif 000010
【図１０】
2005122014.tif 000011
【図１１】
2005122014.tif 000012
【図１２】
2005122014.tif 000013
【図１３】
2005122014.tif 000014
【図１４】
2005122014.tif 000015
【図１５】
2005122014.tif 000016
【図１６】
2005122014.tif 000017
【図１７】
2005122014.tif 000018
【図１８】
2005122014.tif 000019
【図１９】
2005122014.tif 000020
【図２０】
2005122014.tif 000021
【図２１】
2005122014.tif 000022
【図２２】
2005122014.tif 000023
【図２３】
2005122014.tif 000024
【図２４】
2005122014.tif 000025
【図２６】
2005122014.tif 000026
【図２７】
2005122014.tif 000027
【図２８】
2005122014.tif 000028
【図２９】
2005122014.tif 000029
【図３０】
2005122014.tif 000030
【図３１】
2005122014.tif 000031
【図３２】
2005122014.tif 000032
【図３３】
2005122014.tif 000033
【図３４】
2005122014.tif 000034
【図３５】
2005122014.tif 000035
【図３６】
2005122014.tif 000036
【図３７】
2005122014.tif 000037
【図３８】
2005122014.tif 000038
【図３９】
2005122014.tif 000039
【図４０】
2005122014.tif 000040
【図４１】
2005122014.tif 000041
【図４２Ａ】
2005122014.tif 000042
【図４２Ｂ】
2005122014.tif 000043
【図４３】
2005122014.tif 000044
【図４４】
2005122014.tif 000045
【図４５】
2005122014.tif 000046
【図４６】
2005122014.tif 000047
【図４７】
2005122014.tif 000048
【図４８】
2005122014.tif 000049
【図４９】
2005122014.tif 000050
【図５０】
2005122014.tif 000051
【図５１】
2005122014.tif 000052
【図５２】
2005122014.tif 000053
【図５３】
2005122014.tif 000054
【図５４】
2005122014.tif 000055
【図５５】
2005122014.tif 000056
【図５６】
2005122014.tif 000057
【図５７】
2005122014.tif 000058
【図５８】
2005122014.tif 000059
【図５９】
2005122014.tif 000060
【図６０】
2005122014.tif 000061
【図６１】
2005122014.tif 000062
【図６２】
2005122014.tif 000063
【図６３】
2005122014.tif 000064
【図６４】
2005122014.tif 000065
【図６５】
2005122014.tif 000066
【図６６】
2005122014.tif 000067
【図６７】
2005122014.tif 000068
【図６８】
2005122014.tif 000069
【図６９】
2005122014.tif 000070
【図７０】
2005122014.tif 000071
【図７１】
2005122014.tif 000072
【図７２】
2005122014.tif 000073
【図７３】
2005122014.tif 000074
【図７４】
2005122014.tif 000075
【図７５】
2005122014.tif 000076
【図７６Ａ】
2005122014.tif 000077
【図７６Ｂ】
2005122014.tif 000078
【図７７】
2005122014.tif 000079
【図７８】
2005122014.tif 000080
【図７９】
2005122014.tif 000081
【図８０】
2005122014.tif 000082
【図８１】
2005122014.tif 000083
【図８２】
2005122014.tif 000084
【図８３Ａ】
2005122014.tif 000085
【図８３Ｂ】
2005122014.tif 000086
【図８３Ｃ】
2005122014.tif 000087
【図８３Ｄ】
2005122014.tif 000088
【図８３Ｅ】
2005122014.tif 000089
【図８４】
2005122014.tif 000090
【図８５】
2005122014.tif 000091
【図８６】
2005122014.tif 000092
【図８７】
2005122014.tif 000093
【図８８】
2005122014.tif 000094
【図８９】
2005122014.tif 000095
【図９０】
2005122014.tif 000096
【図９１】
2005122014.tif 000097
【図９２】
2005122014.tif 000098
【図９３】
2005122014.tif 000099
【図９４】
2005122014.tif 000100
【図９５】
2005122014.tif 000101
【図９６】
2005122014.tif 000102
【図９７】
2005122014.tif 000103
【図９８】
2005122014.tif 000104
【図９９】
2005122014.tif 000105
【図１００】
2005122014.tif 000106
【図１０１】
2005122014.tif 000107
【図１０２】
2005122014.tif 000108
【図１０３Ａ】
2005122014.tif 000109
【図１０３Ｂ】
2005122014.tif 000110
【図１０３Ｃ】
2005122014.tif 000111
【図１０３Ｄ】
2005122014.tif 000112
【図１０３Ｅ】
2005122014.tif 000113
【図１０３Ｆ】
2005122014.tif 000114
【図１０３Ｇ】
2005122014.tif 000115
【図１０４】
2005122014.tif 000116
【図１０５Ａ】
2005122014.tif 000117
【図１０５Ｂ】
2005122014.tif 000118
【図１０５Ｃ】
2005122014.tif 000119
【図１０５Ｄ】
2005122014.tif 000120
【図１０５Ｅ】
2005122014.tif 000121
【図１０６】
2005122014.tif 000122
【図１０７】
2005122014.tif 000123
【図１０８】
2005122014.tif 000124
【図１０９】
2005122014.tif 000125
【図１１０Ａ】
2005122014.tif 000126
【図１１０Ｂ】
2005122014.tif 000127
【図１１０Ｃ】
2005122014.tif 000128
【図１１１】
2005122014.tif 000129
【図１１２】
2005122014.tif 000130
【図１１３】
2005122014.tif 000131
【図１１４】
2005122014.tif 000132
【図１１５】
2005122014.tif 000133
【図１１６】
2005122014.tif 000134
【図１１７】
2005122014.tif 000135
【図１１８】
2005122014.tif 000136
【図１１９】
2005122014.tif 000137
【図１２０Ａ】
2005122014.tif 000138
【図１２０Ｂ】
2005122014.tif 000139
【図１２０Ｃ】
2005122014.tif 000140
【図１２１】
2005122014.tif 000141
【図１２２】
2005122014.tif 000142
【図１２３】
2005122014.tif 000143
【図１２４】
2005122014.tif 000144
【図１２５】
2005122014.tif 000145
【図１２６Ａ】
2005122014.tif 000146
【図１２６Ｂ】
2005122014.tif 000147
【図１２６Ｃ】
2005122014.tif 000148
【図１２７】
2005122014.tif 000149
【図１２８】
2005122014.tif 000150
【図１２９】
2005122014.tif 000151
【図１３０】
2005122014.tif 000152
【図１３１Ａ】
2005122014.tif 000153
【図１３１Ｂ】
2005122014.tif 000154
【図１３１Ｃ】
2005122014.tif 000155
【図１３２】
2005122014.tif 000156
【図１３３】
2005122014.tif 000157
【図１３４】
2005122014.tif 000158
【図１３５】
2005122014.tif 000159
【図１３６】
2005122014.tif 000160
【図１３７】
2005122014.tif 000161
【図１３８】
2005122014.tif 000162
【図１３９】
2005122014.tif 000163
【図１４０】
2005122014.tif 000164
【図１４１】
2005122014.tif 000165
【図１４２】
2005122014.tif 000166
【図１４３】
2005122014.tif 000167
【図１４４】
2005122014.tif 000168
【図１４５】
2005122014.tif 000169
【図１４６】
2005122014.tif 000170
【図１４７】
2005122014.tif 000171
【図１４８】
2005122014.tif 000172
【図１４９】
2005122014.tif 000173
【図１５０】
2005122014.tif 000174
【図１５１】
2005122014.tif 000175
【図１５２】
2005122014.tif 000176
【図１５３】
2005122014.tif 000177
【図１５４】
2005122014.tif 000178
【図１５５】
2005122014.tif 000179
【図１５６】
2005122014.tif 000180
【図１５７】
2005122014.tif 000181
【図１５８】
2005122014.tif 000182
【図１５９】
2005122014.tif 000183
【図１６０】
2005122014.tif 000184
【図１６１】
2005122014.tif 000185
【図１６２】
2005122014.tif 000186
【図２５】
2005122014.tif 000187