説明

情報空間処理装置、プログラム、および、方法

【課題】 人間の持つ意味といったもの本来の意味に近い形で体系的扱い、情報の管理、検索が容易になる情報管理装置等を提供する。
【解決手段】概念を表現した空間と、その中に存在する「コンピュータ読み取り可能な記録媒体」、または、「ネットワーク上」に実現されたノードを利用して情報を管理する装置、方法、プログラム、および、コンピュータ読み取り可能な記録媒体であって、
空間から情報を取得するデータ取得ステップと、取得された情報に基づいて、一つ、または、複数の空間における情報の関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理ステップと、重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力ステップと
を備えることを特徴とする、装置、方法、プログラム、および、プログラムを記録したコンピュータ読み取り可能な記録媒体。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラムにおける知識情報からなる情報空間の管理、検索、分析、共有化を行う情報空間処理装置についての発明である。
本発明は、コンピュータプログラムにおける知識情報を、空間の重ね合わせの原理を用いて管理、検索、分析、共有化を行う情報空間処理装置についての発明である。
【背景技術】
【0002】
今日の情報技術の発展は目覚しいものである。世界中のあらゆる人々がコンピュータを利用しており、日々の生活やビジネスにおいてなくてはならないものとなっている。しかし、一方で、コンピュータがより利用されることで、コンピュータによって管理される情報も日々増加している。インターネットはもちろん、企業などにおいても、ますます情報の大規模化が進み、本当に必要とする情報が、膨大なその他の情報に埋もれてしまい、効率的に取得することが困難であると言える。こういったの問題を解決し、膨大な情報管理を容易にできれば、日々の生活はより豊かになり、ビジネスはより効率的なものになると言える。
【0003】
上記の問題を解決するため、本発明では、情報の持つ意味を扱う。これにより、単なるWord検索を超えた利便性を獲得することができる。
【0004】
現在、情報の持つ意味を扱う技術としては、情報に情報の意味を表す情報(メタ情報)を付加することで、意味による検索や、推論処理、さらに、エージェント型の検索処理を実行できるものがある。
【0005】
メタ情報による意味管理システム、意味体系化手法には、非特許文献1、非特許文献2、非特許文献3、非特許文献4、非特許文献5、および、非特許文献9に記述されているようなセマンティクスネットワーク、トピックマップ、RDF(Resource Description Framework)、OWL(Web Ontology Language)といったものがある。特にトピックマップ、RDF,OWLはセマンティクスウェブと呼ばれ現在盛んに研究されている。
【0006】
また、非特許文献6、非特許文献7、および、非特許文献8に記述されているマイクロソフトの次世代ファイルシステムの(コードネーム)WinFSなども、情報の次世代の情報管理手法として研究開発が進んでいる。この手法は、ファイルシステムをWebにアクセスするようにファイルシステムにアクセス可能にしようというものである。これは、ファイルについてのメタ情報をリレーショナルデータベースに格納し、高度なクエリー検索、横断検索、検索速度の向上、分類による検索、検索結果の絞り込み検索などが可能になるというものである。しかし、これもまた、情報のメタ情報を管理し検索するという手法である。
【0007】
【非特許文献1】ジャック・パーク(Jack Park)著, サム・ハンティング(Sam Hunting)編, 後藤 強訳, 「XMLTopic Maps―時代はセマンティクウェブ」
【非特許文献2】Members of the TopicMaps.Org Authoring Group著, XML Topic Maps (XTM)1.0, [online], [2004年5月20日検索], インターネット<http://www.topicmaps.org/xtm/1.0/>
【非特許文献3】ISO 13250
【非特許文献4】W3C著, Resource Description Framework (RDF), [online], [2004年5月検索], インターネット<URL:http://www.w3.org/RDF/>
【非特許文献5】W3C著, OWL Web Ontology Language XML Presentation Syntax, [online], [2004年5月20日検索],インターネット<http://www.w3.org/TR/owl-xmlsyntax/>
【非特許文献6】Microsoft Corporation著, WinFS, [online], [2004年5月検索], インターネット<URL:http://msdn.microsoft.com/Longhorn/understanding/pillars/WinFS/default.aspx>
【非特許文献7】Microsoft Corporation著, WinFS in the Longhorn SDK, [online], [2004年5月検索], インターネット<URL:http://longhorn.msdn.microsoft.com/?//longhorn.msdn.microsoft.com/lhsdk/winfs/daovrWelcomeToWinFS.aspx>
【非特許文献8】Microsoft Corporation著, TheWindows File System, [online], [2004年5月検索], インターネット<URL:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaero/html/wux_topic_storage.asp>
【非特許文献9】「ComputationalIntelligence Part4 知識工学 オントロジが知識の共有を促す」, 日経バイト2004年2月号, 日経BP社, 2004年, P.42−45
【発明の開示】
【発明が解決しようとする課題】
【0008】
メタ情報を利用するシステムでは、情報に対する意味を明確に定義する必要がある。しかし、人の頭の中にある、「ある情報に対する意味」というものは非常にあいまいである。また、同じ情報であっても扱う人によって意味は変わる。また、状況や情報に対する視点によっても変化するものである。極論を言ってしまえば個人の持っている意味情報を正確に扱おうとするなら、脳を分子コピーして、コンピュータ上に分子レベルでシュミレーションしなければならないだろう。しかし、現代科学ではこれは不可能である。
【0009】
そこで、本発明は、メタ情報のみを利用するのではなく、異なるアプローチで意味といったものを表現し、情報管理に利用する。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明に係る情報空間評価装置は、ひとまとまりの情報であるノード(ひとまとまりの情報)の集合で形成された一つ、または、複数の空間に対する評価を行う情報空間評価装置であって、前記空間から情報を取得するデータ取得部と、取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理部と、前記重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力部とを備えることを特徴とする。
本発明では意味といったものを空間として扱う。つまり、意味を何かしらの定義されたメタ情報ではなく、空間に存在する位置情報、および、その存在の状態情報として扱う。本発明ではこの空間のことを特に意味空間(セマンティクススペース)と呼ぶ。また、この存在の状態情報として扱うことが、意味の持つあいまい性を扱う上で大きな役割を果たす。
【0011】
空間の重ね合わせ処理は本発明において非常に重要な概念である。これは一つ、または、複数の空間の存在を比較して演算するというものである。特に重要なものはこの比較が同じであるかどうかを比較する等価評価を利用したものである。それぞれの空間は何かしらの概念を表現したものとなる。それぞれの異なる空間の中で同じであるものが存在するということは、同じものが異なる概念の中で存在しているということを意味する。本発明においては存在することを意味として捉えている。この存在は空間の構造そのものや、情報と情報の関係といったものに左右されないため、空間の記述に大きな自由度を与えることができる。重ね合わせ処理を使用すれば、複数の空間に横断的に存在するものを浮かびあがらせる事ができる。
【0012】
一言で言えば、重ね合わせ処理は、空間におけるデータの偏りや特徴を比較することで情報を浮かび上がらせる処理であるといえる。
【0013】
空間をどのように設計するかによるが、一般的に、ノードの集合である空間において、あるノードが存在するということは重要な意味を表しているといえる。通常、空間はある設計思想を用いて設計される。つまり、あるノードが存在するということは、そのノードはある設計思想を満たしているという意味をもつ。また、存在していないということはある設計思想を満たしていないという意味を持っているといえる。これら存在を、比較することで、複数の空間から本当に必要な情報を計算により取得することができる。
【0014】
空間の射影化は画一的な構造を維持したままで、異なるものを表現する場合に重宝する仕組みである。つまり、複数バージョンの空間を一つの概念として扱うことを可能とするものである。空間の射影化によって画一的なデータを扱いやすくすることが出来る。用途としては、日本語版と英語版とスペイン語版といった、多言語用に空間を管理する射影化などが強力である。射影化によって特定の構造を保持したまま、様々な局面別のまとまった空間を明確に作成することができる。
【0015】
レイヤーは空間に対して、付加情報、または、付加情報を使用した処理を提供することができる。例えば、セキュリティに関する情報は、空間で表現したい概念とは通常は異なる。具体的に言えば、あるテスト結果を表現した空間があるとする。この空間のセキュリティに関する情報であるアクセス許可、不許可といった情報は、テストの点数といったテスト結果とは関係ないはずである。このように空間の表現したい概念と直接関係のない情報を明確に分離することで、それぞれを扱いやすくすることができる。
【0016】
空間の自動分類処理によって空間の拡張が容易になる。この処理を使用すれば、人間が手作業で空間のどこにノードを追加するのか、どこに存在させるべきかといったことを考慮する必要がなくなり、空間全体を把握してノードを追加するという手間を大幅に減少させることが可能となる。
なお、本発明は、上記のような情報空間評価装置として実現できるだけでなく、情報空間評価方法、その方法をステップとして表現したプログラム、そのプログラムを記録したコンピュータ読み取り可能なCD−ROM等の記録媒体としても実現できる。
【発明の効果】
【0017】
本発明を利用することにより、より柔軟な情報の検索、および、管理を行うことができるようになる。特に、空間が適切に設計できれば、抽象的な情報(テキスト、画像、動画、および、音声の内容を考慮した)の検索を行うことができるようになる。
【発明を実施するための最良の形態】
【0018】
以下に実施の形態における構成の目次を示す。
項目1. 発明の構成の説明(本実施の形態1)
項目2. 重ね合わせ処理を行うことのできる装置
項目2.1. 等価評価を利用した重ね合わせ処理を行うことのできる装置
項目2.1.1. 等価評価を利用した論理演算を行うことのできる装置
項目2.1.2. 等価評価を利用した重み付け処理を行うことのできる装置
項目2.1.2.1. 優先度を利用した重み付け処理
項目2.1.2.2. 併合化処理を利用した重み付け処理
項目2.1.2.2.1. 一意化を利用した重み付け処理
項目2.1.3. 等価評価部の実装形態
項目2.1.4. マージ処理による重ね合わせ処理の計算アルゴリズム
項目2.2. 比較検討を利用した重ね合わせ処理を行うことのできる装置
項目2.2.1. 比較検討を利用した重み付け処理
項目2.2.1.1. 全比較型である比較検討を利用した重み付け処理
項目2.2.1.2. 外比較型である比較検討を利用した重み付け処理
項目2.2.1.3. 内比較型である比較検討を利用した重み付け処理
項目2.2.1.4. 全比較型、外比較型、内比較型の対比
項目2.2.1.5. 等価評価により比較回数を減少させることのできる比較検討を利用した重み付け処理
項目2.2.2. 比較検討を利用した論理演算
項目2.3. 統合計算を行うことができる装置
項目2.3.1. 重み付け処理の結果を統合するもの
項目2.3.2. 空間データ部より取得した結果を統合するもの
項目2.3.3. 重みをオペランドとして計算する統合計算
項目2.3.3.1. 重みを四則演算のオペランドとして計算する統合計算
項目2.3.4. 統合計算で使用される等価評価
項目2.4. フィルタリング処理を行うことができる装置
項目2.5. 重みの加工処理を行うことができる装置
項目2.6. 重ね合わせ処理を利用した検索装置
項目2.7. 独立空間ノードを使用した重ね合わせ処理
項目3. 射影化
項目3.1. リンク射影化
項目3.2. ノード射影化
項目3.3. データを結びつける射影化
項目3.4.
独立空間ノードを利用する射影化
項目4. レイヤー
項目4.1. レイヤーを有する空間
項目4.2. 構造レイヤー
項目4.3. 実体レイヤー
項目4.4. 実体レイヤー
項目4.5. セキュリティレイヤー
項目4.6. イベントレイヤー
項目4.7. レイヤーを使用したソフトウェアシステム
項目5. 自動分類処理
項目5.1. 個別追加を行う装置
項目5.2. 同期追加を行う装置
項目5.3. リンク追加を行う装置
項目5.4. 巡回時の存在可否条件式の付加
項目5.5. 巡回可否条件式
項目5.6. 式の形態について
項目6. 書籍検索システムとしての発明の実装(本実施の形態2)
項目6.1. システムの機能構成
項目6.2. 処理における情報の流れ
項目6.3. 重ね合わせ処理の実行
項目6.3.1. 等価評価を利用する重み付け処理による書籍検索
項目6.3.2. 等価評価を利用する論理演算を利用する書籍検索
項目6.3.3. 比較検討を利用した重み付け処理による書籍検索
項目6.3.4. 射影化を利用することで、印刷の版の管理を行う
項目6.3.5. レイヤーを利用することで、会員用サービスを実装する
項目6.3.6. 自動分類処理を利用することで、情報登録を容易にする
項目7. 汎用型情報管理ソフトウェアとしての実施例(本実施の形態3)
項目8. 発明の要素の補足説明
項目8.1. 発明を使用できる環境
項目8.2. ノード
項目8.3. リンク
項目8.4. 空間
項目8.5. 空間への操作
項目8.6. 同期
項目8.7. 等価評価
項目8.8. 比較評価

【0019】
項目1.
発明の構成の説明(本実施の形態1)
【0020】
図1に、本実施の形態1における情報空間処理装置4000の構成例を示す機能ブロック図を示す。この情報空間処理装置4000は、ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価(分析、管理、検索、共有化等)を行なう装置であり、人間の持つ意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱うことができる点に特徴を有し、データ取得部4210、処理開始部4212、射影部4411、重ね合わせ計算処理部4211、データ出力部4213及び自動分類処理部4809から構成される。データ取得部4210は、さらに、リンク選択部4251及び階層選択部4252からなる空間選択部4250と、空間フィルタリング部4253とから構成される。また、重ね合わせ計算処理部4211は、さらに、論理演算計算部4220、重み付け計算部4221、統合計算演算部4222、フィルタリング部4223及び加工処理部4224からなる演算処理部4216と、等価評価部4215と比較検討部4217とから構成される。
【0021】
なお、本図には、本情報空間処理装置4000の外に存在する空間データ部4201等も一緒に示されている。各構成要素は一つ、または、複数のプログラム及び/又はハードウェアで実装される。また、プログラムは複数のコンピュータで処理されても良い。全体的な処理の流れは、空間データ部4201から処理開始部4212とデータ取得部4210を使用して、行う処理や対象となる空間を決定する。さらに、処理開始部4212とデータ取得部4210の決定を使用して、重ね合わせ計算処理部4211で重ね合わせ処理を行い、データ出力部4213により出力先4214へ結果を出力する。
【0022】
空間データ部4201は空間に関する情報が存在する部分で、メモリや磁気ディスクなどコンピュータ読み取り可能な記録媒体、または、ネットワークそのものを意味する。これらの情報にアクセスするには、メモリ、や磁気ディスク上の実現された空間から情報を読み取る方法や、ネットワーク上の他のコンピュータから空間情報を取得する方法などが一般的である。
【0023】
処理開始部4212でどの様な処理を行うのかを決定する。ここには、外部、または、内部のプログラムからの命令であったり、人間が処理を命令した場合であったりする。この部分で、どの空間が処理対象であるのかとったことや、どの様に重ね合わせ処理を行うのかといったことを決定する。処理を行う上で、空間データ部4201にアクセスしたり、データ取得部4210などを使用して情報を収集したりする。このような処理は例えば、人間がプログラムを通じて対話的に検索対象を決定する場合に多い。
【0024】
データ取得部4210は、空間データ部4201から情報を取得する処理部であり、処理開始部4212で利用するための情報を取得することや、重ね合わせ計算処理部4211で利用するために行う。データ取得部4210は空間選択部4250の一種であるリンク選択部4251や階層選択部4252などを使用して重ね合わせ処理に使用するデータを取得する。さらに必要であるならデータ取得部4210の結果に対して空間フィルタリング部4253などを実行して使用すべきデータを選別する。
【0025】
重ね合わせ計算処理部4211は、データ取得部4210で取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う処理部であり、データ取得部4210の情報を元に演算処理部4216と等価評価部4215を使用して、さまざまな演算を行い論理演算の真偽値や重み付け処理や重み付け統合計算の重み(スコア)を取得する。論理演算による真偽値の計算は論理演算計算部4220で実装される。重み付け計算部4221では重み付けの重み(スコア)を求める。統合計算演算部4222では重み付け計算部4221の結果を使用して重み付け統合計算用の処理を行うのが良い。論理演算計算部4220、重み付け計算部4221、統合計算演算部4222の結果に対してフィルタリング部4223を適用することや、加工処理部4224を適用することも有効である。
【0026】
等価評価部4215について解説する。等価評価部4215は、ノードどうしが等価であると見なすことができるか否かを評価する処理部である。重ね合わせ計算処理で使用される等価評価には基本的に使用できないものはなく、同期点等価評価、ノードのプロパティを使用する等価評価やノードタイプを使用するものなどあらゆる等価評価を使用できる。これらはスクリプト・プログラム言語4240で定義されたり、等価評価の機能を外部プログラム4241に委任したりすることもできる。
【0027】
比較検討部4217について解説する。比較検討部4217は、ノードどうしを比較して評価する比較検討処理を行う。通常は比較して数値情報を求める。比較検討処理はスクリプト・プログラム言語4240で定義されたり、比較検討処理の機能を外部プログラム4241に委任したりすることもできる。
【0028】
演算処理部4216は、等価評価部4215、および、比較検討部4217による評価に基づいて、異なる空間に対して、比較計算をし、その結果を前記関連性として算出する処理部である。論理演算計算部4221では論理演算の真偽値を計算する。計算は等価評価部4215、または、比較検討部4217を使用して行われる。たとえば、等価評価部4215による評価に対して、一定の条件を満たすか否かを判断することによって真偽を求め、異なる空間どうしの真偽を論理演算する。この結果は、データ出力部4213に渡されるか、フィルタリング部4223によって真偽値を選別したり、フィルタリング部4223や加工処理部4224の計算に利用されたりする。
【0029】
重み付け計算部4221では重み付け処理の重み(スコア)を計算する。計算は等価評価部4215を使用して行われる。たとえば、等価評価部4215によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとして重み付け処理をする。通常はこの部分で一意化処理や優先度調整や様々な計算を行う。
【0030】
統合計算演算部4222では重み付け統合計算の重み(スコア)を計算する。計算は等価評価部4215を使用して行われる。通常、この計算は重み付け計算部4221の結果を利用して行われる。たとえば、重み付け計算部4221で得られた重みを用いて、異なる空間に対する比較計算をする。
【0031】
重み付け計算部4221や統合計算演算部4222の計算の結果は、データ出力部4213にそのまま出力しても良いが、フィルタリング部4223によって特定のものだけを選別することや、加工処理部4224を使用して、スコアを調整したものを出力するなども有効である。
【0032】
フィルタング部4223は論理演算、重み付け処理、または、重み付け統合計算などの結果を絞りこむ仕組みであるフィルタリング処理を行うものである。論理演算計算部4220や重み付け計算部4221や統合計算演算部4222の結果に対して適用することで情報を絞り込むことができる。絞り込みには、論理演算計算部4220の結果を使用したり、ノード判定式を使用したりする。また、結果をさらに加工処理部4224で加工を行うことも有効である。これらの結果をデータ出力部4213によって出力先4214に出力される。
【0033】
加工処理部4224は重み付け処理や重み付け統合計算の重みに対して加工を行う重みの加工処理の計算を行う。加工には論理演算計算部4220の結果を使用することや、ノード判定式を使用して処理を行うものが一般的である。また、結果をさらにフィルタリング部4223で選別することも有効である。これらの結果はデータ出力部4213によって出力先4214に出力される。
【0034】
データ出力部4213は重ね合わせ計算処理4211の結果を受け取り、出力先4214への出力を行う。出力先は、コンピュータ読み取り可能な記録媒体やネットワークなどである。通常は、結果をメモリや磁気ディスクに保存したり、ネットワークを使用するなどして他のコンピュータやプログラムに結果を転送したり、ディスプレイやスピーカーなどを使用して出力を行ったりする。また、出力された結果に対して、フィルタリング部4223や加工処理部4224を使用して、結果をさらにアレンジすることもできる。
【0035】
射影化部4411は複数バージョンの空間を一つの概念として扱うことを可能とするための処理、つまり、空間を射影化する処理部である。この機能を使用することで、情報の分散を防止することができる。射影化は、空間の多言語設計や、複雑なプログラムやドキュメントのバージョン別管理など有効である。
自動分類処理部4809は、この情報空間処理装置4000が備える各構成要素を順次自動実行させる制御を行う制御部である。
【0036】
項目2.
重ね合わせ処理を行うことのできる装置
【0037】
重ね合わせ処理を行う場合の装置における処理の流れについて説明する。処理開始部4212で開始される重ね合わせ処理は、空間データ部4201からデータ取得部4210により、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われ、重ねあわせ処理結果を取得する。重ねあわせ処理結果はデータ出力部4213により、出力先4214に出力される。
【0038】
重ね合わせ計算処理部4211による空間の「重ね合わせ処理」とは、ノードを比較する比較評価を使用して、一つ、または、複数のノードで構成された、空間から情報を抽出することにある。重ね合わせ処理に利用されるノードは、コンピュータによって比較ができるのならば、どのようなものでも良い。つまり、ノードは情報であっても、プログラムモジュールや装置などでも良く、要はコンピュータによってそれらが比較できるなら、どのようなものでも使用可能である。つまり、何をノードとして計算するかはプログラム次第であると言える。
【0039】
重ね合わせ処理の最も効果的な使用方法は、複数の空間を比較することで、情報を抽出することにある。図5のイメージ図に示されるように、2つの空間を重ねることで、113という2つの空間の関連部分がクローズアップされている。空間からの情報の抽出は、重ね合わせ処理を利用することで、113のように情報を浮かび上がらせることであるといえる。重ね合わせ処理は情報の検索、および、分析などに利用される。
【0040】
項目2.1.
等価評価を利用した重ね合わせ処理を行うことのできる装置
【0041】
等価評価を利用した重ね合わせ処理を行う場合の装置における処理の流れについて、本実施の形態1の機能に対応させて説明する。処理開始部4212で開始される重ね合わせ処理は、空間データ部4201からデータ取得部4210により、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われる。重ねあわせ計算部4211では演算処理部4216によって等価評価部4215を使用して、取得された空間のノードが等価であるかどうかが判定する等価評価の結果を元に、空間どうしの関連性を算出する。算出された重ねあわせ処理結果はデータ出力部4213により、出力先4214に出力される。
【0042】
重ね合わせ処理で利用する比較評価を、ノードが同じかどうかを判定する等価評価を利用して、計算することで空間から情報を抽出することができる。
【0043】
重ね合わせ計算処理部4211による空間の重ね合わせ処理で利用される比較評価を、等価評価部4215でノードが同じとみなせるかどうかを判断する、等価評価を利用することで、空間から様々な情報を取得することができる。等価評価を利用した重ね合わせ処理が有効な理由は、複数の空間に含まれる情報は重要である可能性が高いと言えるためである。空間は設計にもよるが、何かしらの設計思想を元に作成されるものである。つまり、複数の空間において同一とみなせるものは、複数の空間において存在している意義のある情報と見なすことができるのである。
【0044】
項目2.1.1.
等価評価を利用した論理演算を行うことのできる装置
【0045】
等価評価を利用した論理演算を行う場合の装置における処理の流れについて、本実施の形態1の機能に対応させて説明する。処理開始部4212で開始される重ね合わせ処理は、空間データ部4201からデータ取得部4210により、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われる。重ねあわせ計算部4211では演算処理部4216によって等価評価部4215を使用して、取得された空間のノードが等価であるかどうかが判定する等価評価の結果を元に、真偽値の情報を算出する。算出された重ねあわせ処理結果はデータ出力部4213により、出力先4214に出力される。
【0046】
等価評価部4215を利用した重ね合わせ処理の論理演算は、空間の情報をノードが同じかどうかを判定する等価評価を利用して、空間のノードを真偽値として論理演算を行う。論理演算で示される値は真、と、偽で表され大変に扱いやすいものである。論理演算はAND(論理積), OR(論理和), XOR(排他的論理和), NOT(否定論理積), NAND(否定論理積), NOR(否定論理和),XNOR(排他的論理和の否定)とあらゆる論理演算が可能である。
【0047】
等価評価を利用した論理演算の計算ロジックの中で、等価なノードが空間の中に一定以上のものを真とする方法を説明する。これは、ある状況においてより重複が多いものを真とするものである。重複の多い、つまり、重要である可能性の高いものを真、それ以外を偽にしていると考えることができる。空間1800に対して「等価な数が2以上のものを真、それ以外を偽」とするという条件を仮に設定して、真偽値表として置き換えた場合に図44の結果となる。状況に応じて「等価な数が3以上のものを真、それ以外を偽」にするなど状況に応じて条件は設定すればよい。
【0048】
また、等価な数が1以上のものを真、それ以外を偽とする方法も良い。この方法を利用すれば、情報が、あるのか、ないのか、といった情報で論理演算を行うことができ、この結果、情報が含まれるかどうかの確認にも利用できる。ただ、判断はユーザが状況によって指定できる実装が良い。また、空間によって指定される数を変えて計算することもできる。このように、等価なノードの数によりさまざまな真偽の計算が可能となる。
【0049】
論理演算計算部4220による空間の論理演算の実例を、Webの検索装置における計算の一例として説明する。空間データ部4201(この場合、図34のWebサイトを管理するために作成された空間)、データ取得部4210(一般的にはWebブラウザやWeb端末)により、重ねあわせに必要な情報を取得し、重ね合わせ計算処理部4211(一般的にはリモートのサーバ装置)に渡す。渡されたデータを元に、等価評価部4215を使用して論理演算部4220で論理演算が計算されて、最終的に論理演算の結果(図38、図39、図40、図41、図42、図43などに示されるような真偽値データ)は出力先4214(一般的にはWebブラウザやWeb端末)に出力される。
【0050】
以下にWeb検索装置における論理演算の計算ロジックを説明する。図34はWebサイトを管理するために作成された空間の一部である。図34の丸はノードで中に数字が割り当てられているものが、論理演算の演算対象となっている。数字の意味は、等価となるものを同じ番号であらわした等価番号である。この場合は、同じWebページを格納しているノード同士を等価としている。この空間を真偽値で表したものが図35、図36である。図35は空間1800を真偽値で置き換えたものであり、図36は空間1801を真偽値で置き換えたものである。この例では、真偽の値、つまり、0か1かを決める基準としては、等価な数が1以上のものを真として変換している。つまり、存在するものは空間単位ですべて真とする条件を利用している。AND演算の使用で、論理演算の方法を詳細に説明したものが図37である。図37に示されるように、本実装ではそれぞれの空間に存在しないもの(なし)は、偽として演算している。最終的なAND演算の結果は図38に示される。同様に、空間1800と空間1801をそれぞれ論理演算した場合の結果は、OR演算は図39、XOR演算は図40、NAND演算は図41、NOR演算は図42、XNOR演算は図43に示される。
【0051】
論理演算の効果について説明する。図37の結果は二つの空間にともに存在しているものを真としている。つまり、AND演算によって二つのカテゴリの空間の両方に存在するWebサイトを取得できたことになる。この場合は、お気に入りのサイトであり、今日と昨日にアクセスしたWebサイトを取得するという問い合わせを行えたことになる。こういった計算はより規模の大きな情報になるほど大きくなる。この場合、十数個の空間であるため人間が直接視認することが可能であるが、数千、数万といった規模の情報になると論理演算を利用しなければ取り出すことは困難と言える。
【0052】
項目2.1.2.
等価評価を利用した重み付け処理を行うことのできる装置
【0053】
等価評価を利用した重み付け処理を行う場合の装置における処理の流れについて、本実施の形態1の機能に対応させて説明する。処理開始部4212で開始される重ね合わせ処理は、空間データ部4201からデータ取得部4210により、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われる。重ねあわせ計算部4211では重み付け計算部4221が、等価評価部4215を使用して、取得された空間のノードが等価であるかどうかが判定する等価評価の結果を元に、空間別の重み情報を算出する。さらに、空間別の重み情報が、複数の空間による演算である場合は、その重みを統合計算演算部4222において、統合し、最終的な重み付け処理結果を算出する。算出された重み付け処理結果はデータ出力部4213により、出力先4214に出力される。
【0054】
等価評価を利用した重ね合わせ処理が有効な理由は、空間に多く含まれる情報は重要である可能性が高いと言えるためである。空間は設計にもよるが、何かしらの設計思想を元に作成されるものである。複数の空間において同一とみなせるものは、複数の空間において存在している意義のある情報と見なすことができるのである。重ね合わせで得られた情報は情報の検索、分析などに利用できる。
【0055】
Webサイトの情報を管理する空間における場合を例として、等価評価を利用した重み付け処理の計算ロジックを示す。本実施の形態1においては、重み付け計算部4221が、等価評価部4215を使用して、取得された空間のノードが等価であるかどうかが判定する等価評価の結果を元に、空間別の重み情報を算出する。さらに、空間別の重み情報が、複数の空間による演算である場合は、その重みを統合計算演算部4222において、統合し、最終的な重み付け処理結果を算出する場合に行われる。図45のノードにはWebページのアドレスが格納されれている。等価重み付け処理に利用されるノードにはa、bといったアルファベットが付けられており、同じアルファベットは同じWebアドレスを示す。ここで等価評価を利用した重み付け処理を行うにあたって、同じWebアドレスを示すものは等価と見なす。この条件で重み付け処理を行うと、空間1910と1911と1912の重み付け処理の結果は、図46に示される。図46は、等価なノードをリストアップした「等価ノード」と、重み「スコア」として重み付け処理の結果が示されている。処理を本実施の形態1に対応させて説明すると、重み付け計算部4221により空間1910はaノードのスコアが1、空間1911はaノードのスコアが1でbノードのスコアが1、空間1912はbノードのスコアが3として計算される。さらに、統合計算演算部4222により、3つの空間の加算による重ね合わせのスコアはaノードのスコアが2、bノードのスコアが4となる。
【0056】
項目2.1.2.1.
優先度を利用した重み付け処理
【0057】
情報空間処理装置4000による空間の重み付け処理は、重み付けの値を状況に応じて変化させることができる。これを特に、優先度調整と呼ぶ。この機能によって、重み付け処理の使用時に意味の調整が可能となる。たとえば、空間またはノードに応じて、数え上げたノードの数から重みを決定する際の依存関係を変化させる調整などである。
【0058】
優先度調整が実行されるタイミングは、重み付け計算部4221で重み付け処理を実行時に、行われる方法が一般的である。また、情報空間処理装置4000を使用するユーザが処理開始部4212を通じて、明示的優先度を指定して重み付け計算部4221で処理を行う方法でも良い。
【0059】
優先度調整を用いることにより、重み付け計算部4221により、得られた情報をそのまま利用するのではなく、独自の変更を自由に加えることができる。例えば、Webを利用した書籍の検索を考えるとする。この時、重み付け計算部4221による計算に満足できない場合、優先度調整を利用して、結果を変化させることで、自分の求める結果により近いものを求めることができる。
【0060】
以下に図を使用して、優先度調整の計算ロジックを説明する。図45のノードにはWebページのアドレスが格納されれている。等価重み付け処理に利用されるノードにはa、bといったアルファベットが付けられており、同じアルファベットは同じWebアドレスを示す。図45の空間1910、1911、1912の等価重み付け処理において空間1912が重要であるということに気づいたため、空間1912の優先度を例として、二倍にしたとすると、計算時の1912のスコアはbノードが6となる。その結果、最終的に、加算による等価重み付け処理の計算結果は図48に示されるように、aノードのスコアは2、bノードのスコアは7になる。以上の様に、優先度をノード、または空間に対して状況に応じて与えることで、重み付け処理に柔軟性を与えることができる。
【0061】
ノードや空間に対して、優先度に関する情報を付加し、検索時に優先度調整を使用しなくても優先的に重み付け処理時に浮かび上がらせる事ができる優先度付加を利用することは有効である。
【0062】
重み付け処理を行う場合、特定のノードからの距離により優先度を調整して重みを計算する「距離優先度方式」も有効である場合がある。空間の設計によっては、空間の距離が近い情報が重要な情報である場合がある。例えば、リンク空間などでは、リンクの距離が近いものであるほど、関連が近いものである場合がある。
【0063】
以下に、図を使用して距離優先度方式による計算の一例を2つ示す。図49の破線で示された部分が重み付け処理の対象となる空間であるとする。下記に示される距離優先度方式は、基準となるノードからの距離に応じて、本来重ね合わせ処理で利用される値よりも小さな値になる計算を適用することで実現されている。この場合は、ノード1991を基準として「1/リンクの距離 + 1」の式をそれぞれの空間の重みとして適用したものである。また、図50はリンクの距離が離れるごとに0になるまで0.25を引いていくとという手法である。このように、リンクの距離に応じて重みを様々な方法で調整している。距離優先度方式を使用することで、空間の位置的な情報で重みを変化させることで、より信頼性の高い重ね合わせ処理が可能となる。具体的にどのような計算を適用するかはそのときどきによると言えるので、計算の方法などは、プログラム言語や、スクリプト言語で拡張できることが望ましいと言える。
【0064】
項目2.1.2.2.
併合化処理を利用した重み付け処理
【0065】
等価評価を利用した重み付け処理を行うことができる装置において、重ねあわせ計算処理部4211による空間に併合化処理を適用することで、空間の設計により大きな自由度を与えることができる。併合化とは空間に存在する等価なものを併合、つまり、まとめ上げる処理を言う。何かしらの情報を作成する場合、その情報に無用な重複が入ってしまうことは良くあることである。ノードを利用して空間を設計する場合も同様に同じ情報を作成してしまう場合がある。このような無用な重複は時として、情報の検索においては、本当に求めている情報が、無用な重複情報に邪魔をされて発見しづらくなる場合がある。しかし、併合化を利用することで、情報の無用な重複をなくすことができる。これにより、重ねあわせ計算処理部4211により計算される空間に情報の重複や冗長性が含まれていても、それを重ねあわせ計算処理部4211の計算した結果から排除することができるのである。
【0066】
個人情報を管理する空間における場合を例として、併合化処理を利用した重み付け処理の計算ロジックを説明する。本実施の形態1においては、重み付け計算部4221が、等価評価部4215を使用して、取得された空間のノードが等価であるかどうかが判定する等価評価の結果を元に、空間別の重み情報を算出する時点で実行される。
図153には、複数の個人の情報が格納されている。例えば、図153の空間6101に対して、情報の重複を軽減させるため、等価なものを仮に最大2個として計算処理を行うとする。図153の表6102は空間6101のノードを数え上げたものであり、「通常の計算」項目が既存の数え上げの結果であり、「併合化2個以下」項目にあたるものが、最大2個として計算した場合の結果である。ここで実際に併合化が適用されているのはノードaとノードeである。ノードaに関しては「通常の計算」の結果は”4”であるが、併合化処理により2個以上のものは強制的に2個であるとして、計算するとういう条件が設定されたために、結果は2個となっている。この処理の結果は図153の表6102に示されるようになる。つまり、併合化とは重複するものをまとめ上げて計算することで、実際よりも少なく見積もって計算する処理であるといえる。
【0067】
項目2.1.2.2.1.
一意化を利用した重み付け処理
【0068】
等価評価を利用した重み付け処理を行うことができる装置において、重ねあわせ計算処理部4211による一意化処理とは、併合化処理の一種でそれぞれの空間で等価なものが複数ある場合、これを重複数1とみなす処理である。たとえば、等価評価部4215によって等価と評価されたノードについては、それぞれの空間で1つのノードとして数え上げるなどの処理を行う。併合化処理と同様に、情報の無用など重複を重み付け計算処理の結果から除外することが可能となる。
【0069】
Webサイトの情報を管理する空間における場合を例として、一意化を利用した重み付け処理の計算ロジックを示す。本実施の形態1においては、重み付け計算部4221が、等価評価部4215を使用して、取得された空間のノードが等価であるかどうかが判定する等価評価の結果を元に、空間別の重み情報を算出する時点で実行される。
図45に示される3つの空間における重複数の数え上げを示す。3つの空間はお気に入りのWebサイトのアドレス情報を集めたもので、それぞれのノードがWebサイトを示しているとする。3つのノード図でアルファベットa、bが打たれたノードが重み付け検索において検索のため選択されたノードであるとし、また、同じ番号が振られたものは同じWebアドレスを示す。また、同じWebアドレスを示すノードは等価であるとする。つまり、それぞれの空間のaノード1901、1902は等価同士で、bノード1903、1904、1905、1906も等価同士であるとする。
【0070】
重み付け計算部4221による一意化処理を使用した重み付け処理の具体例を示す。空間1910と1911と1912の重み付け検索の結果は図47に等価ノードの列挙と重み(スコア)として示されている。図45に示すように、空間1910はaノードのスコアが1、空間1911はaノードのスコアが1でbノードのスコアが1、空間1912はbノードは3つ存在するが、一意化により情報の重複がなくなり1つとして計算される。つまり、空間1912のbノードのスコアが1として計算される。よって3つの空間の加算による等価重み付け処理のスコアは、aノードのスコアが2、bノードのスコアが2となる。このように空間1912でbノードのスコアが1にマージされている。
【0071】
重み付け計算部4221は、通常の重み付け処理と、一意化処理を使用した重み付け処理は、当然組み合わせて使用することができる。例えば図45の場合、空間1910と空間1911と空間1912の重み付け処理の場合、空間1910、1911は重み付けで計算して、空間1912は一意化処理を適用して重み付けで計算するなどが可能である。
【0072】
項目2.1.3.
等価評価部の実装形態
【0073】
重ね合わせ処理において利用される等価評価には様々な実装を用いることができる。むしろ、様々な実装を利用することで大きな効果を発揮する。実装の形態として代表的なものには、プログラム言語、スクリプト言語による実装。外部プログラムによる実装などである。
【0074】
以下に等価評価の実装におけるデータの流れを説明する。等価評価部4215は等価評価を行う時に、等価かどうかの判断をスクリプト、および、プログラム言語4240、または、外部プログラム4241を利用することで行うことで実現することが可能となう。
【0075】
プログラム言語、スクリプト言語による実装を利用することで、容易に等価評価をコントロールすることが可能となる。例えば、あるユーザがWeb検索システムの等価の判定の機能がWebアドレス(URL)による判定機能に満足がいかない場合、それを、Webページのテキストマッチングを行うものに摩り替えるなどの行為が可能となる。
【0076】
等価評価を外部プログラムを利用して行う場合を説明する。この場合、等価評価の結果を重ね合わせ計算処理部を作成、または、管理していない、第三者により高度に拡張が可能になる。例えば、簡易なテキストマッチなどで行われている等価評価を、大規模なデータマイニングなどを使用して処理を行うようにするなどが可能になり、等価評価の精度を飛躍的向上させることが可能となるのである。
【0077】
項目2.1.4.
マージ処理による重ね合わせ処理の計算アルゴリズム
【0078】
マージ処理による重ね合わせ処理の計算アルゴリズムが適用される場合について、本実施の形態1の機能に対応させて説明する。ソート済みコンテナ作成部4226で作成されたデータが、マージ計算部4227を利用して重ね合わせ処理の計算に使用される。ソート済みコンテナ作成部4226は論理演算計算部4220、および、重み付け計算部4221で使用される。マージ計算部4227は論理演算計算部4220、および、統合計算演算部4222で使用される。
【0079】
効率的な重ね合わせ処理の計算を使用することは重要である。以下に重ね合わせ計算処理部4211による効率的な重ね合わせ処理の計算方法について考察する。図59のステップ図に効率的な検索処理の大まかな手順が記されている。ステップS101では空間のノード、および、重ね合わせ処理に必要なノード情報をデータコンテナへ展開しソート済みの状態にする。データコンテナとはC++言語ではコンテナ、Java(登録商標)言語ではコレクションと呼ばれるものなどである。通常、データコンテナは内部にメモリの資源領域、リスト構造、ツリー構造、ハッシュ構造などを備えている。この、データコンテナは格納後にソート処理を行ってソート済みの状態すると良い。内部にツリー構造やハッシュ構造のデータ格納領域を備えたコンテナを使用して、格納時にソート状態で情報を取り出すことができるものでも良い。これは一般的にC++言語では連想コンテナとよばれるものである。さらにステップS102ではソート済みデータコンテナに対して、走査をしながら計算とマージ(併合)処理を行って最終的な結果を出力する。ここで、ソート済みデータコンテナを使用することで、それぞれのデータコンテナに対して、一度の走査処理でステップS102の計算を行うことが可能であるので、この処理のコストは線形時間で処理を行うことが可能となる。
【0080】
データコンテナに対してソート処理をする場合のソート基準としては、重ね合わせ処理で使用される等価評価で等価と判断とされるものが隣同士になるような形であれば良い。
【0081】
以下に図60を交えて有効な実装の詳細について解説する。図60は3つの空間の重ね合わせ処理を行う場合のアルゴリズムの実装を表す。まずは処理1950によって空間のノード、または、ノードの情報をデータコンテナへ格納する。データコンテナで処理1951のソート処理を行う。処理1950、1951の部分は連想コンテナを使用すれば一つにすることもできる。処理1953でデータコンテナに走査を行い、空間単位での重み付けの計算、優先度や一意重み付け処理の計算を行いつつ、結果をマージ処理で結合している。
【0082】
以下に、マージの部分をより詳しく説明する。図61には二つのソート済みデータコンテナから計算結果を導き出す部分を示している。図61のデータコンテナの数字はノード、または、ノード情報を意味し、同じ番号のものは等価評価で等価と判断されるものである。この場合データコンテナ1とデータコンテナ2を交互に走査を行いながら計算処理をして結果として出力している。走査による計算も、等価となるノード、または、ノード情報が隣同士で並んでいるため、走査しながら計算し、等価でない部分にコンテナ内で達したときにマージ処理の走査の切り替えを行えば良い。
【0083】
マージ処理によるアルゴリズムを使用して等価評価による論理演算を実行する場合、取得された空間情報を展開し、論理演算部4220ではソート済みコンテナ作成部4226を利用して、ソート済みデータコンテナ情報を作成する。さらに、論理演算部4220ではソート済みデータコンテナ情報をマージ計算部4227を利用して、走査を行いながら真偽を計算する。図62にはデータコンテナを走査している様子が図示されている。図62において、同じアルファベットのものは、等価なノード、または、ノード情報を意味する。これを2つ以上等価なものを真、それ以外を偽として計算すると図63で示されるような表となる。
【0084】
マージ処理によるアルゴリズムを使用して等価評価による重み付け処理を実行する場合、取得された空間情報を展開し、重み付け計算部4221ではソート済みコンテナ作成部4226を利用して、ソート済みデータコンテナ情報を作成する。さらに、統合計算演算部4222ではソート済みデータコンテナ情報をマージ計算部4227を利用して、走査を行いながら重みを計算する。図62にはデータコンテナを走査している様子が図示されている。
【0085】
重み付け計算部4221による重み付け処理を実行する場合、走査を行いながら、数え上げ、一意化処理、優先度調整の計算を行う必要がある。こういった処理を一つ、または、複数のデータコンテナで線形走査しながら計算し、計算結果をマージ処理の応用で結合していく。以下に図を一意化処理を利用した重み付け処理で、かつ、ノードcの優先度を二倍にした場合の計算結果を図64に示す。
【0086】
項目2.2.
比較検討を利用した重ね合わせ処理を行うことのできる装置
【0087】
等価評価を利用した重ね合わせ処理を行う場合の装置における処理の流れについて、本実施の形態1の機能に対応させて説明する。処理開始部4212で開始される重ね合わせ処理は、空間データ部4201からデータ取得部4210により、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われ、重ねあわせ処理結果を取得する。関連性を算出する処理は、比較検討部4217を使用してノードに対する重みを求め(全比較型、外比較型、または、内比較型のいずれかを使用する)、重ねあわせ処理結果とする。重ねあわせ処理結果はデータ出力部4213により、出力先4214に出力される。
【0088】
重ね合わせ計算処理部4211による空間の重ね合わせ処理で利用される比較評価を、比較検討部4217でノードの類似度を求め、その値を利用することで、空間から様々な情報を取得することができる。比較検討を利用した重ね合わせ処理が有効な場合は、複数の空間に対して重ね合わせを行った場合である。複数の空間にまたがって多く含まれる情報は重要である可能性が高いと言えるためである。空間は設計にもよるが、何かしらの設計思想を元に作成されるものである。つまり、複数の空間において同一とみなせるものは、複数の空間において存在している意義のある情報と見なすことができるのである。
【0089】
以下に例を使用して、抽象的な内容を考慮する等価評価について考える。
1. 今日、ヤンキースの松井は3安打5打点の活躍であった。
2. ドジャースの野茂は被安打7ながらも無失点に抑え3勝目を上げた。
3. 阪神タイガースは今年優勝できるのであろうか。
4. 今年の高校野球の注目選手は東北高校のダルビッシュ投手である。
5. サッカー日本代表はワールドカップでどこまでいけるのだろうか。
上記のテキストに対して、様々な基準の等価について列挙する。
1A. これらはどれもスポーツに関するものであるのですべてを同じであるとみなす
2A. 5以外は野球に関するものなので、1、2、3、4の文書を等価と見なす。
3A. 1、2、3がプロ野球に関する事なので等価である。
4A. 1、2がメジャーリーグに関することで、等価である。
5A. 3、4が日本の野球に関することなので、等価である。
1Aから5Aの様に、様々な等価の基準が考えられ、特定の等価評価を選択することは難しく、また、手間である。さらに、選択した等価評価によって、重ね合わせ処理の結果が大きく変化してしまうため、等価評価の選択を間違えると、重ね合わせ処理の利用者が求めるものと異なってしまう可能性がある。
【0090】
比較検討を利用した重ね合わせ処理が特に有効な場合は、ノードに結びついた情報の抽象度が高い場合である。例えば、文書データや画像データの内容などである。こういったデータでは、同じかどうかといった基準で断定して判定することが難しい。例えば、「画像Aは画像Bと同じものを意味する」といった判定はを行おうとしても、明確な基準を断定することが難しい。
【0091】
項目2.2.1.
比較検討を利用した重み付け処理
【0092】
比較検討を利用した重み付け処理を行うことのできる装置における処理の流れについて、本実施の形態1の機能に対応させて説明する。処理開始部4212で開始される重ね合わせ処理は、空間データ部4201からデータ取得部4210により、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われ、重ねあわせ処理結果を取得する。関連性を算出する処理は重み付け計算部4221が、比較検討部4217を使用してノードに対する重みを求め(全比較型、外比較型、または、内比較型のいずれかを使用する)、重ねあわせ処理結果とする。重ねあわせ処理結果はデータ出力部4213により、出力先4214に出力される。
【0093】
比較検討を利用した重み付け処理は、ノードを比較することで、類似度を求め、その類似度を元にノードの重みを求めるものである。重み情報を利用することで、情報の検索に利用することができる。比較検討を利用した重み付け処理は、比較の形態によって、「全比較型」「外比較型」、および、「内比較型」がある。
項目2.2.1.1.
全比較型である比較検討を利用した重み付け処理
【0094】
全比較型は、重み付け処理において利用される空間全体を使用して行われる。つまり、空間に含まれるノードすべてが演算対象となる。
【0095】
Webサイトの情報を管理する空間における場合を例として、全比較型の計算ロジックの説明を行う。本実施の形態1においては、重み付け計算部4221が、比較検討部4217を使用してノードに対する重みを求める時点で処理が行われることになる。図138のノードにはそれぞれWebページとその文書の内容が記録されている。ノード間を繋ぐリンクはWebページのリンクを示している。図136の二つの空間5001、5002で全比較型の比較検討重み付け処理を行うとする。それぞれのノードを比較した場合のスコアの対応表は図139になる。例えば、ノードdとノードfによる比較で求められるスコアは「9」である。比較のスコアの計算は、ノードに含まれる文章を比較して類似度を数値で求めるなどが考えられる。計算の結果は図140の「全比較型のスコア」で示されている。全比較型は空間のすべてのノードを比較するものである。例えばノードaについて考えてみる場合、a以外のすべてのノードと比較を行いスコアをまとめる。具体的な計算は、ノードb,c,d,e、f、g、h、i、j、k、lとの比較によるスコアを利用したものとなるため、単純なスコアの加算で計算を行う場合、「3+2+2+4+1+3+9+3+2+1+1」となりスコアは31となる。
【0096】
項目2.2.1.2.
外比較型である比較検討を利用した重み付け処理
【0097】
外比較型は、重み付け処理において利用される空間の中で、外部の空間と比較を行う。つまり、同一空間に含まれるノード同士は演算の対象とはならない。
【0098】
Webサイトの情報を管理する空間における場合を例として、全比較型の計算ロジックの説明を行う。本実施の形態1においては、重み付け計算部4221が、比較検討部4217を使用してノードに対する重みを求める時点で処理が行われることになる。図138の二つの空間5001、5002で外比較型の比較検討重み付け処理を行うとする。外比較型は外部の空間とだけ比較演算を行う。つまり、空間5001に含まれるノードは空間5001の他のノードとの比較は行わず、空間5002のノードとだけ比較を行う。逆に空間5002のノードは空間5002の他のノードとの比較は行わず、空間5001のノードとだけ比較を行う。このようにして計算した結果が図140の「外比較型のスコア」に示されている。例えばノードaについて考えてみる場合、空間5002のノードh、i、j、k、lと比較を行う。具体的な計算は、単純なスコアの加算の場合、「9+3+2+1+1」となりスコアは16となる。
【0099】
項目2.2.1.3.
内比較型である比較検討を利用した重み付け処理
【0100】
内比較型は、重み付け処理において利用される空間の中で、内部の空間と比較を行う。つまり、同一空間に含まれるノード同士で演算を行う。
【0101】
Webサイトの情報を管理する空間における場合を例として、全比較型の計算ロジックの説明を行う。本実施の形態1においては、重み付け計算部4221が、比較検討部4217を使用してノードに対する重みを求める時点で処理が行われることになる。図138の二つの空間5001、5002で内比較型の比較検討重み付け処理を行うとする。内比較型は空間同士を比較するのではなく、空間内部のノード間で比較を行う。つまり、空間5001に含まれるノードは空間5001のノードとだけ比較を行い、空間5002に含まれるノードは空間5002のノードとだけ比較を行う。このようにして計算した結果が図140の「内比較型のスコア」に示されている例えばノードaについて考えてみる場合、aは同じ空間5001のノードa、b、c、d、e、f、gと比較を行う。具体的な計算は、単純なスコアの加算の場合、「3+2+2+4+1+3」となりスコアは15となる。
【0102】
項目2.2.1.4.
全比較型、外比較型、内比較型の対比
【0103】
全比較型、外比較型、内比較型の特徴を対比させて説明する。全比較型は重み付け計算部4221が空間全体を使用して比較を行う。そのため、処理としては全体として特徴的な情報が導き出される。外比較型は重み付け計算部4221が外部の空間とのみ比較を行う。そのため、外比較型は複数の空間の関係において重要なものを取り出すという意味合いがある。例えば、図138に示されるように、巨大な空間5012と、小さな空間5011で比較検討重み付け処理を行う場合に、全比較型と外部比較型の特性の違いが明確になる。全比較型は全体として重要な情報を取得する傾向があるため、小さな空間の特性は巨大な空間に埋もれてしまうことがある。しかし、外比較型であるならば、両方の空間の特徴的な部分が特徴として抽出できるのである。内比較型は内部の空間だけで比較を行うものであるので、他の空間の影響は受けない。これは、それぞれの空間の特徴的な部分を取り出すことができる。これは、比較検討重み付け処理の単体として利用するよりも比較検討論理演算などに利用する使用方法が通常であると言える。
【0104】
項目2.2.1.5.
等価評価により比較回数を減少させることのできる比較検討を利用した重み付け処理
【0105】
等価評価により比較回数を減少させることのできる比較検討を利用した重み付け処理を行うことのできる装置における処理の流れについて、本実施の形態1の機能に対応させて説明する。処理開始部4212で開始される重ね合わせ処理は、空間データ部4201からデータ取得部4210により、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われ、関連性を取得する。関連性を算出する処理は、等価評価部4215で等価と判定できるものをまとめて、グループ化する。重み付け計算部4221が、グループ化された単位で比較検討部4217を使用してノードに対する重みを求め(全比較型、外比較型、または、内比較型のいずれかを使用する)、重ねあわせ処理結果とする。重ねあわせ処理結果はデータ出力部4213により、出力先4214に出力される。
【0106】
等価により比較回数を減少させることのできる比較検討を利用した重み付け処理の目的について説明する。重み付け計算部4221による比較検討重み付け処理は、空間の規模が大きくなれば計算に大きな時間がかかる。一つの空間に存在するノードの数が”n”であるとすると、二つの空間の全比較による比較検討重み付け処理は”O(n×n)”回の比較を行う。つまり、オーダーはnの二乗である。さらに、空間の数が多数であったり、比較の処理自体のコストが高かったりする場合はさらに大きな計算コストがかかってしまう。このため、重み付け計算部4221は、多少の精度の低下が起こる可能性があるものの、等価評価の基準でノードを分けて等価と判定されたノード同士で比較検討重み付け処理を行う「等価絞り込み比較検討重み付け処理」を使用することで、計算速度を速めることは有意義であると言える。
【0107】
等価絞り込み比較検討重み付け処理では、比較時に大きなスコアになる組み合わせを等価とする等価評価を使用するものが良い。これは、比較時に小さなスコアにしかならないものを除外しても結果に大きな影響は与えにくいためである。
【0108】
等価評価により比較回数を減少させることのできる比較検討を利用した重み付け処理の処理の流れを説明する。本実施の形態1においては、重み付け計算部4221が、比較検討部4217を使用してノードに対する重みを求める時に、等価評価部4215を利用して等価と判定された単位でノードを分類する。分類されたノード単位で、重み付け計算部4221により、比較検討を利用した重み付けが行われる。
【0109】
等価評価により比較回数を減少させることのできる比較検討を利用した重み付け処理の計算ロジックを説明する。図144の空間5401aと5402aを使用して全比較型の比較検討処理を行う場合、使用されるノードの合計は「9+8」で17となる。このため通常行わなければならない比較の回数は「17×16÷2」回。つまり、136回は行う必要がある。しかし、等価絞り込みを行うことで比較回数を減らすことができる。ある特定の基準の等価評価で図144の空間を見た物が図145である。ノードの同じアルファベットを振られたノードが等価と判定されたノードである。これらの等価なものだけで振り分けたものが図146である。図146のような等価なノードだけで比較による計算を行う場合、空間5405については「6×5÷2」回であり、空間5406では「5×4÷2」回であり、空間5407では「6×5÷2」回である。これらを合計すると40回となる。つまり、この場合は、等価評価による分類によるコストは掛かってしまうものの、単純な比較検討処理の3分の1以下の比較回数で済むことになる。
【0110】
項目2.2.2.
比較検討を利用した論理演算
【0111】
比較検討を利用した重み付け処理を行うことのできる装置における処理の流れについて、本実施の形態1の機能に対応させて説明する。空間データ部4201からデータ取得部4210により、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われ、重ねあわせ処理結果を取得する。関連性を算出する処理は重み付け計算部4221が、比較検討部4217を使用してノードに対する重みを求め(全比較型、外比較型、または、内比較型のいずれかを使用する)、重み付け処理結果とする。重み付け処理結果を元に論理演算計算部4220において真偽値情報へ変換する処理を行い、真偽値情報をデータ出力部4213により、出力先4214に出力される。
【0112】
比較検討部4217、重み付け計算部4221、および、論理演算部4220による比較検討論理演算について説明する。比較検討論理演算に使用される真偽値は、比較検討重み付け処理のスコアを利用したもののことをいう。例えば、「比較検討重み付け処理のスコアが20以上でノードにテキストデータが格納されているものを真、それ以外を偽」という条件で、空間単位で真偽値をもとめ、論理演算を行うなどである。論理演算の計算は真偽値を求められれば、計算方法は等価評価を利用した論理演算と同等である。

【0113】
項目2.3.
統合計算を行うことができる装置
【0114】
重み付け処理の応用として、統合計算演算部4222による統合計算がある。この機能を利用することで、複数の重み付け処理の結果を統合して、再計算することができる。統合計算は等価評価を使用した重み付け処理で良く使用されるが、それ以外にも様々な使用方法が存在する。統合計算は空間に結びついた重みを統合して計算することで、新たな結果を導くことができるものである。
【0115】
統合される重みは、様々なタイプの重み付け処理同士で行うことができる。例えば、等価評価を利用した重み付け処理と比較検討を利用した重み付け処理などである。また、統合される重みは統合計算の結果であっても良い。要は、ノードに重み情報が結びついていれば、統合計算は可能である。
【0116】
統合計算を行うことができる装置における処理の流れについて、本実施の形態1の機能に対応させて説明する。まず、空間に結びついた重み情報を取得する。取得方法の代表例を以下に列挙する。
1.空間データ部4201からデータ取得部4210により、空間情報と、空間のノードに結びついた重み情報を取得する
2.重ね合わせ計算処理部4211による等価評価を利用した重み付け処理を行った結果を取得する
3.重ね合わせ計算処理部4211による比較検討を利用した重み付け処理を行った結果を取得する
4.統合計算演算部4222による統合計算演算の結果を取得する
空間に結びついた重み情報より、統合計算演算部4222により、等価評価部4215を使用して、取得された空間のノードが等価であるかどうかが判定する等価評価の結果を元に、空間の重み情報を分類する。さらに、分類された重みを統合計算演算部4222により統合し、最終的な重みを算出する。算出された重ねあわせ処理結果は、データ出力部4213により出力先4214に出力される。
【0117】
重み付けの統合計算の目的は、重み付けの統合計算を行う利点は、単純な重み付け処理では分からなかったデータを導くことができるので、より深い分析用のデータを生成できる。重み付け処理のスコアは重要度を表す尺度として捉えることができる。スコアを加算することで、特定のノードが複数の等価評価や、比較検討で重要なものであるかどうかといったことも推測できる。さらに、特定の等価評価のスコアで減算を行うことで、その等価評価や、比較検討を除外するような意味を持たせることもできる。さらに、複雑な計算を組み合わせることで、微妙な意味合いの統合計算を行うことが可能となる。
【0118】
項目2.3.1.
重み付け処理の結果を統合するもの
【0119】
重み付け処理の結果を統合することで、より複雑で微妙な意味合いの重み付け処理が可能となる。等価評価を利用した重み付け処理の結果、および、比較検討を利用した重み付け処理の結果のいずれも使用する。
【0120】
項目2.3.2.
空間データ部より取得した結果を統合するもの
【0121】
空間データ部4201に保存された、情報であっても統合計算はできる。これは、明示的にデータとして作成されて情報でも良いし、重み付け処理の結果を空間データ部4201に保存し、再び、読み込んだ情報であっても良い。
項目2.3.3.
重みをオペランドとして計算する統合計算
【0122】
分類された重みを統合計算演算部4222で統合する場合、ノードに結び付いた重みを何かしらの計算のオペランドとして計算して統合することで様々な統合が可能となる。特に、重みを四則演算のオペランドとして計算するものが効果的である。
項目2.3.3.1.
重みを四則演算のオペランドとして計算する統合計算
【0123】
分類された重みを統合計算演算部4222で統合する場合、重みを四則演算のオペランドとして計算する統合計算を行うことで、複雑な意味合いを持つ計算を実行することができる。
【0124】
重み付け計算部4221による重みを四則演算のオペランドとして計算する統合計算の計算ロジックを、Webサイトを管理する本実施の形態1の装置における処理として説明する。
図51の空間1971、1972、1973の空間で等価重み付けを行い、その結果をまとめたものが図52に示される。図51はコンピュータ技術の情報サイトをカテゴリにより分類した空間で構成されている。空間1971はコンピュータの技術サイトをまとめたものであり、空間1972はさらに開発技術、および、FAQ(よくある質問集)を集めたものであり、空間1973はIT技術の初級から中級レベルの技術者向けのサイトである。この三つを重ね合わせた結果が図52に示されている。図52の表中の式は値を導く過程を示したもので、「=」の左側が計算過程の式を示し、「=」の右側が求める値である。それぞれの空間の重みは「1971のスコア」、「1972のスコア」、「1973のスコア」に示されている。「1971のスコア」をオペランド”x”、「1972のスコア」をオペランド”y”、「1973のスコア」をオペランド”z”と表現する。
【0125】
図52の「計算1のスコア」は”x + y + z”の計算式を利用した、加算による計算である。3つの空間に多く存在するWebページが大きなスコアとして計算される。
【0126】
図52の「計算2のスコア」は”x + y - z” の計算式を利用した計算であり、”x + y”から”z”を除外するという意味を持つ計算式になる。つまり、「初級者、中級者向け」のサイトは除外するという意味合いになる。
【0127】
図52の「計算3のスコア」は”x + y + 2 * z“の計算式を利用した計算である。この場合は”z”の概念をより強調した加算による重み付けと言える。つまり、「初級者、中級者向け」のサイトをより重視するという意味合いになる。
【0128】
図52の「計算4のスコア」はノードの番号がa、b、cのものは”x+y+z”となり、残りのノードは”x + y + 2 * z”として計算されている。これは、a、b、c以外のWebサイトでなおかつ「初級者、中級者向け」のサイトを重視するという意味合いになる。
【0129】
図52の「計算5のスコア」は”x + y * y + z“の計算式を利用した計算である。”y“に二乗の計算を行うことで”y”の値の増加が大きく結果に影響する重み付けと言える。
【0130】
上記のように、様々な計算のオペランドとして重みを使用することでより緻密で複雑な意味合いを持つ重み付けを行うことが可能となる。
【0131】
以下に、複数の等価評価を利用した重み付けの結果を使用して、統合計算演算部4222が重み付けの統合計算を行う場合の計算ロジックパターンの例を説明する。図65は重み付けの統合処理に使用される空間を示している。この図65の空間を異なる等価評価で表したものが図66、図67、図68、図69で示される。これらの空間の中で、同じ符号が振られているものが等価なものを意味する。空間2031と空間2032の等価重み付け処理を等価評価1で行ったものが図70の表で、等価評価2で行ったものが図71である。
【0132】
この図70と図71の結果に対して完全独立等価評価を基準として統合計算演算部4222が統合計算したものが図72の結果表である。ここで、「完全独立等価評価」とは、空間に存在するノードをすべてお互いに異なるものとして扱う評価である。「等価ノード」項目は完全独立等価評価を使用しているためすべての空間のノードを異なる物として扱っている。図72の具体的な表の作成方法は、2011、2012について考えると、等価評価1の重み付けの場合2011は等価a1であるためスコアは3となり、2012は等価b1であるためスコアは2となる。等価評価2の重み付けの場合2011は等価b2であるためスコアは1となり、2012は等価a2であるためスコアは2となる。図中の計算式は値を導く過程を示したもので、「=」の右側が求める値である。
【0133】
さらに、これらの結合について考察する。図72の「マージスコア」は統合計算演算部4222が「等価評価1のスコア」と「等価評価2のスコア」をノード単位で単純に加算しただけである。つまり、2011について詳細を説明すると「等価評価1のスコア」は3で、「等価評価2のスコア」は1であり、これらの加算が3+1となり答えは4となる。さらに、図72の「差分スコア」は統合計算演算部4222が「等価評価1のスコア」から「等価評価2のスコア」をノード単位で減算を行ったものである。さらに、「差分絶対値スコア」では統合計算演算部4222が「差分スコア」の絶対値を計算したものである。
【0134】
図70と図71の結果に対して等価評価3を基準として統合計算演算部4222が統合計算したものが図73の結果表である。図73の具体的な表の作成方法は等価a3について考えると、等価ノードは2013と2021となる。これを等価評価1の場合を考えると、2013のスコアは3で、2021のスコアは2であるため「3+2」よって「等価評価1のスコア」のスコアは5となる。等価評価2の場合を考えると2013のスコアは1で、2021のスコアは3であるため「1+3」となり「等価評価2のスコア」のスコアは4となる。これらの等価評価1と等価評価2のスコアを加算したものが「マージスコア」項目である。さらに「ひとつあたりのスコア」で、「マージスコア」を「等価ノード」で除算している。
【0135】
これらの図72、または、図73を導くために使用された重み付けは単純に存在に対してスコアを求めるものであるが、元になる重み付け処理は当然、重み付け計算部4221による一意化を利用した重み付け処理であったり、優先度が付加されたものであったりもする。
【0136】
項目2.3.4.
統合計算で使用される等価評価
【0137】
統合計算演算部4222で使用される等価評価には、様々なものを使用することができる。以下に、代表的なものを列挙する。
・同期したノード同士を同じとする等価評価
・空間に存在するノードをすべてお互いに異なるものとして扱う完全独立等価評価
【0138】
項目2.4.
フィルタリング処理を行うことができる装置
【0139】
フィルタリング部4223による重み付け処理の「フィルタリング処理」は、演算処理部4216(論理)で得られた結果を特定の条件で絞り込み、その結果を重ね合わせ計算処理部4211の結果として出力する処理部であり、重み付け処理によって得られた値をさらに絞り込んで出力するものである。この処理によって結果が大量で、情報が大きすぎて扱えない場合などに情報を絞り込むことができるので有効である。図53にフィルタリング処理のイメージ図を示す。
【0140】
論理演算の結果を利用してフィルタリング部4223によるフィルタリングを行うことも有効である。論理演算の真偽によってフィルタリングすることで、空間の構造や処理対象に応じたフィルタリングを容易に行うことが可能となる。
【0141】
項目2.5.
重みの加工処理を行うことができる装置
【0142】
加工処理部4224による「重みの加工処理」を使用することで、重み付けの処理結果に対して、重みの変更を行うことも有効である。この処理は重み付けの計算結果を分析して、変更を加えるものである。重みの変更とは、重みに値を加算することや、より複雑な演算式のオペランドとして使用されて新たな結果を導き出すことを言う。具体的言えば、ノードが特定の条件を満たすかどうかを調べるノード判定式を使用して加工の対象を調べたり、論理演算を使用して真になるものだけに重みに5を足すなどの処理を行うことで、追加的に重みに対して様々な色づけを行うことができる。
【0143】
論理演算の結果より、加工する空間を特定することとも有効である。例えば、論理演算の結果「真」であると判定されたノードのみ重みの加工処理を行うなどである。
【0144】
項目2.6.
重ね合わせ処理を利用した検索装置
【0145】
本実施の形態1を利用して、重ね合わせ処理を行う場合の例を示し、検索処理がどのように行われるかを実践的に示す。
【0146】
様々な重ね合わせ処理の実例をWebにおける音楽情報管理装置を利用した場合の説明をする。空間データ部4201(この場合は、図77、図78のWeb上の音楽情報を管理するために作成された空間の一部)、重み付け計算部4221、および、統合計算演算部422より求められた重みは、統合計算演算部4222へ渡され、重みの統合計算が行われる。最終的に重み付け処理の結果(図80、図81、図82、図83、図84に示される結果など)は出力先4214(WebブラウザやWeb端末装置など)に出力される。
【0147】
様々な重ね合わせ処理の計算方法をWebにおける音楽情報管理装置を利用した場合で検索の実行者の視点で説明する。ここで、重ね合わせ処理を実行する実行者の目的のCDを探しあてる様々な手法を説明する。図77は音楽CDに関する情報を表現した空間で、ノードは音楽CDと、CDの情報が記載されているWebサイトのアドレスを意味している。ノードに同じアルファベットが振られたものは同じCDを表しており同期の関係である。つまり、同期点等価評価を使用した場合に等価と判断されるものである。これは、図77において同じWebサイトを指しているものが等価と判断される。図79はそれぞれの空間の重みを列挙したものである。ここで、重ね合わせ処理の実行者の視点で処理を行う場合を考える。実行者はCDの評価において「A氏」「B氏」「D氏」の評価は信頼しているが、「C氏」の評価は全く信頼していない。また、実行者は流行の音楽に大変興味がある。このことを踏まえて重ね合わせ処理がどのように使用されるものなのかを示す。
【0148】
図77の空間で、「A氏、または、B氏のお薦めでなおかつ、売り上げが1〜10位までのもの」といった問い合わせを行う場合、論理演算計算部4220論理演算はうってつけである。この問い合わせは「空間2051、または、空間2052に存在し、かつ空間2055に存在するものは何か」といった問い合わせととることができる。このような問い合わせを行う場合、図81の表の「演算結果」に示されるようになる。それぞれの空間は1つ以上存在する場合は真として空間を真偽値に変換している。求める解は「(空間2051 OR 空間2052) A205D 空間2055」の結果で求められる。図81の演算結果から、求めるノードはbとgであると分る。
【0149】
空間2051、2052、2054の重みの加算を行った結果が図80の「重みスコア1」に示されている。これは実行者が信頼する「A氏」「B氏」「D氏」の推薦するCDを表す空間を重ね合わせたものである。この結果を分析すると等価番号bのCDが空間2051、2052、2054に存在しており、スコアは最も大きくお勧めのCDであると推測できる。ついで等価番号g、hが実行者の求めるものである可能性が高い。
【0150】
さらに、実行者は「C氏」の評価するものが嫌いである場合が多いので、空間2051、2052、2054の重みの加算から、空間2053の重みを減算した演算を行った結果が図80の「重みスコア2」である。この場合、「重みスコア1」とは少し異なりこの場合は等価番号b、gの重みが等しく、この二つがお勧めとみることができる。
【0151】
また、実行者は流行の音楽に興味がある。そのためさらに計算に少し工夫を加える。売り上げ1〜10位のものは空間の重みの3倍の値を図80の「重みスコア2」と乗算を行い、11〜100位のものは空間の重みの2倍の値を「重みスコア2」と乗算を行う。このことによって売り上げ順位の情報が大きく重み付けの結果に影響を与える。この場合でも等価番号bとgが重要で、次いでiが重要であると考えられる。
【0152】
以下に論理演算を使用した、フィルタリング部4223によるフィルタリング処理を具体的に説明する。空間2051、2052、2054の重み付け処理から、信頼していない「C氏」の推薦を集めた空間2053と、売り上げが低いものを集めた空間2057に含まれるノードの結果を必要ないとして除外したい場合などに有効である。この場合は空間2051、2052、2054の等価重み付け処理を行い、さらに空間2053と空間2057の1つ以上存在するものを真としてOR演算を行い、等価重み付けの結果からOR演算の結果の当てはまるものを除外する。空間2053と空間2057のOR演算の結果は図84で表されている。この結果を使用して重み付けのスコアからフィルタリングを使用する様子が図85に示される。この場合、論理演算で真と評価されるものを処理結果から除外している。
【0153】
以下に加工処理部4224による重みの加工処理を具体的に説明する。空間2051、2052、2054の重みの加算である、図86の「重みスコア1」の結果に対して加工処理を施し異なった視点で分析を行う。ここで、ノードの「ジャンル」プロパティで「ロック」と「ポップス」であるものを優先的に扱いたいので値が「ロック」であるものの重みを3倍(一例として3倍)、値が「ポップス」であるものを2倍(一例として2倍)にしている。
【0154】
図78を使用して、統合計算演算部4222による重み付け統合計算について、具体的な例を使用して説明する。重み付け統合計算を使用する場合の基準となる等価評価は同期点等価評価を使用するものとする。今回はノードのプロパティによる等価評価を使用した重み付け処理との連携を使用する。図78のノードは「音楽のジャンル」プロパティを保持しており、「音楽のジャンル」プロパティの値で等価評価を使用した場合は、図79で表すことができる。図79を等価なものでグループ分けしたものが図82である。図82から、お勧めで流行の音楽のジャンルは「ポップス」である可能性が高い。空間2051、2052、2054の重みの加算である図83の「スコア1」の結果と、「音楽のジャンル」プロパティの等価評価で空間2051、2052、2054、2055の重みの加算である図84の「スコア2」を統合する。「スコア1」と、「スコア2」の重みをそのまま加算すると「スコア2」の影響が大きいため二分の一にしたものとを加算して統合した結果が図84の「計算結果」に示される。このような計算によって、空間に存在する音楽CDのお勧めの重みに加えて、流行の音楽ジャンルを加味した重み付けを行うことが可能となる。
【0155】
項目2.7. 独立空間ノードを使用した重ね合わせ処理
【0156】
演算処理機能部4216において、空間データ部4201より取得した空間の情報に、独立空間ノードを使用する場合について説明する。空間の重ね合わせ処理において、独立空間ノードの扱いは少々あいまいである。これは独立空間ノードが、空間としての機能と、複数のノードを含んだ単なるノードとして捉えることもできるからである。よって、独立空間ノードを空間として捉えた場合、ノードとして捉える場合、その両方を組み合わせるといった実装が実現されるのが良い。
【0157】
図55を使用して、重ね合わせ計算処理部4211による独立空間ノードと空間の重ね合わせ処理について説明する。なお説明には、等価評価を利用した重み付け処理を行った場合として説明する。図68において、1920がノードで、1921は独立空間ノードである。この場合、1921aのように空間として重ね合わせ処理する場合と、1921bのようにノードとして重ね合わせ処理を行場合がある。空間として処理された場合は、独立空間ノードの内部のノードも計算対象となる。
【0158】
重ね合わせ計算処理部4211は、独立空間ノードを含む空間の等価重ね合わせ処理を行う。図56の空間1985と空間1986の重み付け処理を行う。同じアルファベットが割り振られたノードは、お互いに同期している。独立空間ノード1981、1982はお互いに同期している。この時、重み付け計算部4221において、独立空間ノードをノードと空間の両方の見方で同期しているもの同士を等価とする、等価評価を利用した重み付け処理を行った結果が図57と図58の「加算のスコア」項目である。図57は独立空間ノード1981、1982を空間として展開して計算したもので、図58は単なるいちノードとして検索した結果である。等価番号Aの部分がノードとして処理を行った部分であり、その他はノードとして処理をおこなった場合である。
【0159】
項目3.
射影化
【0160】
図87は射影部4411による射影化が具体的に使用されている場合の説明である。図87図ではノード2360、2361に対して射影部4411により、射影化が実行され、多言語用のノード群が形成されている。この場合、ノード2360、2361は4つ分のノード、または、ノード情報が生成されていることになる。このように、射影化は2次元で表現できる空間に対して、3次元の情報にすることとも言うことができる。
【0161】
図を使用して、射影部4411による射影化の効果と必要性を説明する。図105はあるドキュメントを表現した空間である。ここで、空間2481が重要なドキュメントに関するものであるため、多言語で作成する必要があるとする。この場合、射影化を使用しない場合、図106の様な空間設計となる。図106では、各言語バージョンの空間が多数作成されている。例えば、2481は日本語用、2482は英語用、2483はフランス語用というようになる。このように、異なるバージョンごとに新たな空間を作成することになる。これは、バージョンが増えるごとに空間が増えていく事を意味する。しかし、射影化を使用すれば論理的には図107の様に、射影した空間が作成され、異なる空間そのものが増えることはない。この場合、2481a、2481b、2481cそれぞれが一つの言語用の空間となっている。図106の様に異なるバージョンごとに異なる空間を作成することは管理コストの増大を招くこととなる。空間は何かしらの概念を表現した、または、集めた構成物である。表現する概念を変更する場合、空間の構成も変更する必要がある。この時、バージョンごとに単に複数の空間が存在するだけの場合、変更や追加をすべての空間に適用する必要が出てくる。これは表現する概念は同じであるにも係わらず形式の違いだけで異なる空間として実装するために発生する問題で、これらは大変な保守コストとなる。また、表現したい概念が表現形式の違いだけで、異なる空間として分散するため、第三者が概念と空間の関係を若干理解しづらくなる。このように、表現したい概念を一つに結びつける射影化は重要な機能と言える。
【0162】
図108は、射影部4411を詳細に説明するための図であり、ここでは、射影化を実現した一般的なプログラムの機能ブロック図を示す。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。射影化を実現するためには射影化に対応した空間と、処理の連携を行う。基本的には空間データ部4201を射影部4411によって制御する。空間へのインタフェース4413を通じて適切に空間データ部4201、または、射影部4411にアクセスすることができるので、空間データ部4201の内部が通常の空間と異なる特殊なフォーマットであっても容易に、そして、安全にアクセスすることができる。
【0163】
空間データ部4201では射影された空間のデータはリンク射影4430、ノード射影4431、データ付加射影4432、または、独立空間射影4433として存在している。これらのデータには直接アクセスしても良いが、空間へのインタフェース4413を通じて操作を行った方が、複雑な内部構成や仕様を考慮する必要がなく、データの破壊リスクも軽減できるので良い。
【0164】
射影部4411は、「射影ノードの単一アクセス」「ノードの生成の連携」、「ノードの削除の連携」、「空間の変形の連携」、「射影空間単位のアクセス」、「ノードの射影空間ごとのアクセス」、「射影ごとの空間の生成」、「射影ごとの空間の削除」、「射影同期」などを行うことで、射影化としての機能を果たす。
【0165】
ユーザ4412が空間へのインタフェース4413を通じて、空間を操作することで射影化としての適切な機能を提供することが可能となる。ユーザ4412は通常は外部、または、内部のプログラムか人間である。人間はユーザインタフェースなどを介して射影空間にアクセスする。
【0166】
射影化された空間を特に「射影空間」、射影化されたノードを「射影ノード」と呼ぶ。
【0167】
射影部4411が有する「射影機能」について説明する。射影機能とは、複数の空間を一つの空間として扱う処理であり、例えば、「射影ノードの単一アクセス」「ノードの生成の連携」、「ノードの削除の連携」、「空間の変形の連携」、「射影空間単位のアクセス」、「ノードの射影空間ごとのアクセス」、「射影ごとの空間の生成」、「射影ごとの空間の削除」、「射影同期」のことを言う。射影化は論理的にこれらの機能の一部、または、すべて備えている。
【0168】
図を使用して射影部4411による射影化の機能を説明する。図88の空間を3つに射影化した物が図89である。2320、2321、2322は射影空間で2301、2302、2303はそれぞれの射影化されたノードである。
【0169】
射影部4411による「射影ノードの単一アクセス」は、射影化された複数の射影ノードを空間上は一つのものとしてアクセスするものである。つまり、これは図89の様に射影化された空間を図88にアクセスするように扱うことができることを言う。
【0170】
射影部4411による「ノードの生成の連携」は、新たなノードが追加される場合、他の射影空間にも追加するものである。例えば、射影空間2320にノードが追加されると、対応する射影空間2321、2322にもノードが作成される機能である。図90Cは射影部4411によるノードの生成の連携を表したものである。この場合、射影ノード2311、2312、2313を同時に生成している。
【0171】
射影部4411による「ノードの削除の連携」は、ノードが削除された場合、他の射影空間の対応するノードも削除するものである。例えば、射影ノード2301を削除する場合、射影ノード2303、2305も削除される機能である。図89から射影ノード2301、2303、2305を破壊したものが図103Dである。この場合、3つの射影ノードを同時に破壊している。
【0172】
射影部4411による「空間の変形の連携」は、空間の構成を他の射影空間に反映させるものである。例えば2303と2304の間のリンクが破壊されれば、2301と2302、2305と2306の間のリンクも破壊する機能である。図89から空間の変形の連携を行ったたものが図92である。
【0173】
射影ノードの単一アクセス、ノードの生成の連携、ノードの削除の連携、および、空間の変形の連携は複数のノードを空間上の一つのものとして扱っている。つまり、射影ノード2301、2302、2303が空間上一つのノードとして扱うことが可能なのである。これが、複数の空間を一つの概念として扱うということである。
【0174】
射影部4411による「射影空間単位のアクセス」は、それぞれの射影空間をまとまった空間ではなく、一つの独立した空間として扱うことができるものである。つまり、射影空間2320、2321、2322をそれぞれ独立した空間として扱うことができるものである。
【0175】
射影部4411による「ノードの射影空間ごとのアクセス」とは、ノードに対して射影空間を指定してアクセスするものである。例えば、図89で説明するなら、射影空間2320であるならば射影ノード2301が指定され、射影空間2322であるならばノード2305が指定される。
【0176】
射影空間単位のアクセスや、ノードの射影空間ごとのアクセスは、射影空間を独立した一つ一つの空間として扱うことのできるようにする機能である。
【0177】
射影部4411による「射影ごとの空間の生成」は、新たな射影空間を追加する機能である。図89では3つの射影空間が存在するが、これに新たに4つめの射影空間2323加えたものが図93に示される。このように、新たな射影空間を空間単位で追加することができる。
【0178】
射影部4411による「射影ごとの空間の削除」は、射影空間単位で空間を破壊する機能である。これは図94に示されるように射影空間2320を破壊して、射影空間2321と2322だけにするなどの処理を行うことを言う。
【0179】
射影部4411による「射影同期」について説明する。この機能は、空間が射影化された場合、その空間に含まれるノードの同期に対しても射影化が適用される機能である。例えば、図95の空間においてノード2371aとノード2372aは同期している。この時、2371aに対して射影化が適用される場合、空間2372aにも射影化が適用される機能のことである。図95では、2371bと2372bが射影化されている。
【0180】
このように、射影化を行った空間は複数の空間を一つのものとして扱うことと、それぞれを異なった物として扱うことが可能となる。
【0181】
射影化を使用すれば、複数バージョンの空間を空間上は一つの空間であるかのように扱うことができる。例えば、射影ノード2301、2302、2303は実際には3つのノードであるが、空間上は一つのものとして扱っていることに等しい。
【0182】
射影部4411による射影化の実装の詳細について説明する。射影化の実装方法は無数にあるが内部の構成は「リンク射影」、「ノード射影」、「データ付加射影」、「独立空間射影」を利用するものが代表的な実装方法である。内部の構造をこれらの方法で実装し、プログラムによる制御で射影機能を実現する。これらのデータ構造はメモリ上のポインタやオブジェクトなどでも、XMLやHTMLなどのタグ言語を使用しても実現可能である。
【0183】
項目3.1.
リンク射影化
【0184】
リンク射影とは、リンク空間において実際にリンク構造を複数作り出し、それらをプログラムで制御する方法である。これは、実際に空間を複数作り出して、プログラムの機能で射影空間として扱えるようにするとも言える。図96をリンク射影したものを表したものが図97である。図97に見られるように、リンクの構成ごと二つの空間になっている。この場合、2331aと2332aで構成された空間と2331bと2332bで構成された空間が射影化の要素として生成されている。
【0185】
項目3.2.
ノード射影化
【0186】
ノード射影とは、空間を構成するノード単位で画一的な構造を作り出す処理であり、各々のノードを複数作り出して、それらをプログラムで制御する方法である。図96に対してノード射影したものが、図98である。これは、各々のノードに対して複数のノード、または、ノード情報を付加する構造のものである。この場合、ノード2331のノード2331cに、ノード2332をノード2332cへと変換している。つまり、それぞれのノードが射影化されたノード情報を保持している。ノード射影は無形空間などのリンクにより構成されていない空間における射影化や、同期射影を他の方法よりも実装しやすい。
【0187】
図101にはノード射影をリンクリストで作成した場合を表している。ノード2380には射影化されたノード、または、ノード情報が2381、2382、2383とリストの形を形成している。このリンクはメモリ上のリスト構造やオブジェクトのインスタンスで構成されたものでも、XMLやHTMLなどのタグ言語で構成されたものでも良い。このリンクはノードとノードをリンクさせる場合に使用される技術でも良い。
【0188】
図102にはノード射影において、ノードをデータ群と結びつける実装を図示している。ノード2390に対して、ノード2391のデータ群を結びつけている。これはメモリ上に実装される場合は、データコンテナに射影化されたノード、または、ノード情報を格納するなどが良い。ディスク記憶装置などに保存する場合は、ひとまとめにしてファイル形式やバイナリ圧縮された形でディスクに保存するなどが良い。要は、内部ではバラバラであっても、射影されたノードとしてアクセスできれば良い。
【0189】
項目3.3.
データを結びつける射影化
【0190】
データ付加射影とは、空間に対して射影用のデータを結びつける方法である。図96をデータ付加射影したものを表したものが、図99である。これはレイヤーを使用して射影化を実現するものも含まれる。この場合、射影化された空間に対して付加情報2333を使用して射影化を実現する。2333の内部には空間に関する情報が含まれている。この情報を利用して、空間が複数あるように扱う。
【0191】
データ付加射影を実装する場合は、レイヤー、または、それと同等の仕組みを用いるのが良い。
【0192】
図103を使用してデータ付加射影を説明する。図103はノード2401、2402、2403で構成された空間を射影化している。ノード2401には2404が、ノード2402には2405が、ノード2403には2406が結びついている。ここで、2404、2405、2406に射影用の情報を保持させれば良い。また、2404、2405、2406を全体として共通のリソース2407を参照する設計でも良い。このように、空間に対してデータを付加する形で射影化を行っている。
【0193】
項目3.4.独立空間ノードを利用する射影化
【0194】
独立空間射影とは、一種の独立空間ノードを作り出して内部、または、外部で複数の空間情報を保持することで射影を実現する方法である。図96を独立空間射影したものを表したものが、図100である。独立空間ノード2334の内部の射影化用データは射影化機能で扱えるのならば、いかなる形でも良く、内部に空間を複数保持しても良いし、全く異なるフォーマットとして表現されても良い。
【0195】
図104を使用して独立空間射影を説明する。独立空間ノード2411に外部、または、内部に空間定義2418が結びついている。2418には射影空間が3つ格納されており、2412と2413の空間、2414と2415の空間、2416と2417の空間ある。
【0196】
項目4.
レイヤー
【0197】
項目4.1.
レイヤーを有する空間
【0198】
ノード、リンク、および、空間には「レイヤー」を適用できる。レイヤーとは、ノード、または、空間に対して情報が平行に定義されるものであり、ノードそのものに情報を付加するのではなく、ノードと並行的に付加情報が与えられる構造である。平行に定義されるとは、ノードや空間に対応させた形で定義されることを意味する。レイヤーを使用することによって様々な情報を空間に付加することが出来る。また、プロパティと異なり、ノードそのものを操作するのではないので、情報の付加が容易になり、データの破壊リスクも軽減できる。さらに、レイヤーを複数重ねたり、状況によって組み合わせることで様々な場面で使用することが可能となる。レイヤーはノードや空間が表現したい概念と異なるものを分離することができる。さらに言えば、表現したい概念とは異なる情報はすべてレイヤーに含めるべきであるともいえる。レイヤーはノード一つでも空間にでも適用させることができ、柔軟であり、空間に対して情報を付加する場合、非常に便利である。使用用途はセキュリティ、イベント、優先度などへの実装が特に有効である。
【0199】
レイヤーは通常、空間データ部4201のノードや空間に存在するデータ形式である。
【0200】
レイヤーはレイヤーが付加された空間のノード一つ一つに対して、情報を与えることも、空間全体としての情報も与えることもできる。
【0201】
レイヤーには「構造レイヤー」と「実体レイヤー」がある。構造レイヤーは、空間の構造そのものに対してレイヤーを付加するものであり、ノード構造に対してレイヤーを適用するものである。実体レイヤーは、実体そのものに対してレイヤーを付加する、つまり、ノードそのものに対して行う。つまり、実体レイヤーが付加されたノードは基本的に同期点が同じであるすべてのノードに対してレイヤーの効果が適用される。
【0202】
図113を使用して構造レイヤーと実体レイヤーを説明する。ノード3141、3142はお互いに同期している。このとき、空間3140のノードに構造レイヤーを適用しても、ノード3141にレイヤーは付加されるが、ノード3142にはレイヤーは付加されない。しかし、空間3140のノードに対して、実体レイヤーを付加させると、ノード3141のみならずノード3142に対しても実体レイヤーが適用される。
【0203】
項目4.2.
構造レイヤー
【0204】
図109を使用して構造レイヤーについて説明する。図109には一つの空間と、二つの構造レイヤーが定義されている。3100、3101、3102、3103、3104はノードでリンク空間を形成している。3110、3111、3112、3113、および、3114、3115、3116、3117で構成されたものが構造レイヤーである。図109では空間に2つの構造レイヤーを結びつけている。構造レイヤーではリンクにもレイヤーを定義することは可能であるが、この場合は空間のノードのみに構造レイヤーが付加されている。それぞれ3110、3111、3112、3113は構造レイヤー1を、3114、3115、3116、3117は構造レイヤー2を形成している。図109に見られる直線の破線はノードと構造レイヤーの対応関係を示し、円形の破線は構造レイヤーを意味する。通常は、構造レイヤーに対して付加情報を与え、その付加情報を元にプログラム内部、または、外部で様々な処理が行われる。レイヤーはノードと並行的に存在するものであるが、リンク空間に対してレイヤーを付加する場合でも、ノードのようにリンクで構成される必要はない。
【0205】
項目4.3.
実体レイヤー
【0206】
図110を使用して実体レイヤーについて説明する。ノード3150とノード3152は、お互いに同期している。ノード3150、3151、3152に実体レイヤーが付加されている。このときレイヤー1の3153にノード3150とノード3152が、ノード3151には3154が結びついている。同様にレイヤー2の3155にノード3150と3152が、ノード3151には3156が結びついている。このように、実体レイヤーは空間の構造ではなくノードの実体に結びついている。
【0207】
項目4.4.
実体レイヤー
【0208】
レイヤーの具体的な実装について説明する。レイヤーはノードの外部、または、内部に存在させることができるが、レイヤーは論理的には外部からノードに対して情報を与えるものであるので、実装においても外部に多くの情報を保持するのが望ましい。レイヤーはコンピュータ読み取り可能な記録媒体、または、ネットワーク上に実装できる。つまり、ノードが実現できるすべての環境で実装可能である。それは、メモリ上の実体であっても、ディスク上のXMLで形成されたものでも良い。
【0209】
ノードとレイヤーを関連付けるにはノードとノードをリンクでつなぐ様に結びつける必要がある。ノードとレイヤーを結びつける情報はノードそのものの中に記述、外部に記述するなどがある。
【0210】
レイヤーは、理論上は空間の外部から情報を与えるものなので、すべての情報をノードの内部に格納するのは良いとは言えない。つまり、一部、または、全部を外部に格納するのが理想である。
【0211】
図111はノードそのものの中に記述する方式である。3150はノード、または、ノードへの参照情報である。3150にはレイヤーへの情報が格納されている。また、レイヤー3151にはノードへの情報が格納されている。
【0212】
図112はノードとレイヤーの関係を外部に記述する場合を示している。3155はノード、または、ノードへの参照情報を意味している。3156はレイヤーを意味し、3157は3155と3156を結びつける情報を保持している。
【0213】
構造レイヤーはノードに対して非同期型情報付加として情報が付加され、実体レイヤーはノードに対して同期型情報付加として扱われるのが通常である。
【0214】
XMLを使用して、空間にレイヤーを付加する実装を説明する。図22ノードのリンクを表現したXMLである図26、図27に対してレイヤーを付加した場合の実装を説明する。
【0215】
構造レイヤーを実装する場合の一例を示す。ノード851、852とその間のリンクに対して構造レイヤーを付加すると仮定する。この場合、図114、図115のようにリンク定義に対して、テスト用のシンプルな構造レイヤーを付加している。この場合は、
<StructualLayer name="layer1"
value="100"/>
部分が、構造レイヤーの定義である。実際の一般的な実装ではこのタグには、より多くの情報や情報への参照が含まれる。
【0216】
実体レイヤーを実装する場合の一例を示す。図22のノードAとノードBに対して、実体レイヤーを付加したものが図116に示されるようなXMLで示される。このように、構造ではなく、ノードそのものにレイヤーを付加している。この場合は、完全にノードの外部からレイヤーを定義している。
【0217】
レイヤーの自己拡張機能とはレイヤーが適用された空間に対して、ノード、または、空間が追加されると追加された部分に対してもレイヤーが適用される機能のことを言う。さらに、この機能に、空間のリンク選択、空間フィルタリングの機能を利用して、より、柔軟な形で空間の自己拡張を行う実装も有効である。この機能は主に構造レイヤーにおいて適用される。
【0218】
図を使用して、レイヤーの自己拡張機能を説明する。図117のノード3120、3121、3122はノードで空間を形成している。3130、3131、3132はレイヤーを形成している。図118に示されるように3122に対してノード3123を追加する。すると、図119のレイヤー3133が拡張される。
【0219】
項目4.5.
セキュリティレイヤー
【0220】
プログラムへの不正アクセスや、不正なプログラムの実行を阻止するセキュリティを実現するにあたってセキュリティレイヤーを導入することで、セキュリティの管理をより扱いやすくすることが出来る。これはセキュリティレイヤーを空間にマッピングさせることによって実現できる。通常、セキュリティレイヤーには一つ、または、複数のユーザ情報とセキュリティ権限情報が含まれている。これによって、ユーザ別のセキュリティや、複数のユーザの権限と空間との対応がより明確になり管理しやすくなる。なお、セキュリティレイヤーとは、レイヤーにセキュリティ情報が付加されたものである。
【0221】
図120を使用してセキュリティレイヤーを説明する。3215はユーザ3201用のセキュリティレイヤー、3216はユーザ3202用のセキュリティレイヤーである。それぞれのセキュリティレイヤーは空間の一部をマスクしている。ユーザ3201の命令3220はセキュリティレイヤー3215によって除外されるが、命令3222はセキュリティレイヤーの影響を受けることなく3211には適用されている。同様に、命令3221はノード3210に適用され、命令3223は除外されている。
【0222】
図121にセキュリティレイヤーによるセキュリティの実現の一例をステップ図の使用で示す。ステップS401で空間に対する操作を検出する。ステップS402で操作対象の空間にセキュリティレイヤーが存在するかどうか確認する。ステップS403で設定されているセキュリティを分析して、操作を許可するかどうか決定する。S404は操作を許可された時に実行され、S405は不許可となり操作を無効にされ通知処理も同時に実行される。
【0223】
項目4.6.
イベントレイヤー
【0224】
イベントを実現するに当たってイベント情報をレイヤーにしたイベントレイヤーを導入することで、イベントをより柔軟に扱うことができる。イベントは基本的には「反応」と「通知」からなる。つまり、イベントレイヤーには何に対して反応するか、誰にどのように通知するかといった情報を記録し、プログラムからイベントの機能を実現すればよい。なお、イベントレイヤーとは、レイヤーに空間の変化、空間に対する命令、または、時間的変移を内部、または、外部ユーザに通知するイベント情報が付加されたものである。
【0225】
図122にイベントレイヤーによるイベントの実現の一例をステップ図の使用で示す。ステップ501は空間に対する操作や変化などの出来事が発生することを意味する。ステップ502では操作の対象の空間、または、変化した空間に対応するイベントレイヤーが存在するのかどうか確認する。ステップS503は操作や変化に対して対応するイベント情報が存在するか確認する。ステップS504でイベント情報により通知処理を行う。ステップS502、S503でイベントに関する情報を収集し、S504で実際の通知を行う。
【0226】
項目4.7.
レイヤーを使用したソフトウェアシステム
【0227】
以下に図123を使用して実際にレイヤーが使用される様子を具体的に説明する。図123の空間はある会社のソフトウェアのバグレポートを表現したものである。この場合、この空間を外部のネットワークからアクセスできるようにする場合はセキュリティの設定を行う必要がある。ここで、この空間にセキュリティレイヤーを設定する。まず、社外の人間やバグの修正に関わる必要のない部外者に対しては、空間の情報を変更できないようにセキュリティを設定することが望ましい。ここで構造レイヤー3251を使用して部外者による変更を空間全体で禁止を行うセキュリティ情報を付加する。さらに、作成者別にバグを分類する部分も部外者には作者に関する情報を開示するのは不要で不名誉である。このため3252には作成者別の部分を部外者に対して不可視の状態にする構造レイヤーとしてセキュリティ情報を設定するのが良い。さらに、未対処のバグは悪用されると危険であったりするので、部外者に対して絶対に公開しない方が良い。そこで、3253の空間にあるノードには実体レイヤーとしてセキュリティ情報を設定すれば良い。このようにすれば、他の空間に同期が存在している場合でもセキュリティは適用される。以上のようにレイヤーを使用すればセキュリティに関する設定が空間に対して直接の変更を加えることなく行うことができる。このように管理された情報は明確に分離されており追加、削除などを容易に行うことができる。
【0228】
図124にセキュリティレイヤーを実現した一般的なプログラムの機能ブロック図を示す。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。ユーザ4802がセキュリティゲートウェイ4803を通して空間データ部4201にアクセスしている。セキュリティゲートウェイ4803はセキュリティレイヤー情報4804にアクセスし、セキュリティのレベルに応じた操作を許可する。
【0229】
項目5.
自動分類処理
【0230】
自動分類処理部4809の詳細について説明する。図137に示されるように、自動分類処理部4809は、空間を構成するノードを追加することによって空間を拡張する処理部であり、ノード、または、ノードに対応づけられた情報を取得して処理を開始する自動分類処理開始部4810と自動分類部4811とから構成される。自動分類部4811は、ノードのリンクを辿る巡回部4812、巡回部において巡回したノードに新たなノードを追加する場合に、適切かどうかを判断する判定部4813により追加が適切と判定された場合に、ノードを追加する追加部4814から構成され、判定部4813は、さらに、存在可否条件判定部4820及び巡回可否条件判定部4821から構成され、追加部4814は、さらに、個別追加部4830、同期追加部4831及びリンク追加部4832から構成される。これらの機能について、自動分類処理を実装した一般的なプログラムの機能ブロック図の図137を使用して処理の概要を説明する。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。
【0231】
自動分類処理を使用する利点は、適切な空間を保ったまま、拡張することができる点である。人手によって保守されるものは誤りを含む可能性がある。また、定義された空間の規模が巨大である場合は全体を認識できなくなる可能性がある。こういった問題を補完するものが自動分類処理である。図136に示されるように新たなノードを追加する場合、どの部分に追加すれば良いのか、どの部分に存在すべきかといったことが、空間の規模が大きくなればなるほど把握できなくなる。しかし、自動分類処理は一度、存在可否条件式を設定すれば、新たなノードの追加時に巡回して存在すべき適切な場所へ追加されることになる。
【0232】
自動分類処理部4809による空間の「自動分類処理」はリンク空間に対する拡張や追加を容易にする。この機能は、空間を巡回しながら、ノードとノードの内部、または、外部に結びついた存在可否条件式を使用して、新しく追加するノードが追加して良いものかどうか判断する。存在可否条件式の一般的な実装は、新しく追加されるノードの情報を使用して、スクリプト言語やプログラム言語で記述できるようにするのが一般的であると言える。存在可否条件式は一つを複数のノードに対応させても良い。
【0233】
以上のように、自動分類処理部4809による処理の大きな流れとしては自動分類処理開始部4810からのデータ決定を受け取り、自動分類部4811が実行され、空間データ部4201へのノードの追加が実行される。
【0234】
自動分類処理開始部4810は自動分類処理を開始するためのデータを取得、または、生成する。この部分には、外部、または、内部のプログラムによるものであったり、プログラム外部の変化を感知した場合であったり、人間が入力したものであったりする。
【0235】
自動分類部4811は、巡回部4812、判定部4813、追加部4814から成る。巡回部4812が空間データ部4201のノードを巡回し、判定部4813によりノードが追加可能と判断された場合、追加部4814により空間データ部4201にノードが追加される。
【0236】
巡回部4812は空間データ部4201の情報を取得して空間を巡回、または、巡回と同等の効果がある処理を行う。巡回部4812で巡回しながら、判定部4813を使用してノードを追加するのかどうか、または、ノードをさらに巡回するのかどうかを決定する。
【0237】
判定部4813はノードに結びついた存在許可条件式を判断して追加するかどうかを決定する存在可否条件判定部4820と、巡回可否条件式を判断して巡回するかどうかを決定する巡回可否条件判定部4821から成る。判定部4813で使用される存在許可条件式、巡回可否条件式は4815のように、レイヤー、または、同様の仕組みを用いてノードに対応付けられるのが通常である。存在可否条件式・巡回可否条件式4815はスクリプト・プログラム言語4841で定義されるのが通常であるが、外部プログラム4842などを使用するものでも良い。実際では、条件式が複雑な場合は、スクリプト・プログラム言語4841から、内部、または、外部プログラムの機能を呼び出して処理を行う方法が一般的と思われる。
【0238】
追加部4814は空間データ部4201へ新たなノードを追加する処理を行うものである。個別型自動追加は個別追加部4814を使用することで、同期型自動追加は同期追加部4831を使用することで、リンク型自動追加はリンク追加部4832を使用することで実現する。
【0239】
項目5.1.
個別追加を行う装置
【0240】
個別追加部4830に実装される「個別追加」とは、追加されるノードが個別の実体として追加されることを言う。つまり、二番目以降に追加するノードがそれぞれ異なる実体として追加されることである。
【0241】
図を使用して、個別追加部4830による個別追加を使用した場合について説明する。図132の空間にノード3660の自動分類処理を行ったところ、ノード3661、3662のノードで存在可能である場合、図133のようにノード3663、3664が加えられる。このときに、ノード3663と3664が異なる実体として追加される。
【0242】
項目5.2.
同期追加を行う装置
【0243】
同期追加部4831に実装される「同期追加」とは、二番目以降に追加されるノードが以前追加されたノードと同じものである場合は、以前に追加されたノードの同期した状態で追加されることを言う。つまり、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードどうしを、同期した状態と呼ぶ場合において、二番目以降に追加されるノードが最初に追加されたノードの同期した状態で追加されることである。この処理を利用しない場合、同一の情報であるのに同期していないため、情報の変更があった場合、他方にも適用されないので、管理が大変になってしまうためこの処理は重要である。
【0244】
図を使用して、同期追加部4831による同期追加を使用した場合について説明する。図132の空間にノード3660の自動分類処理を行ったところ、ノード3661、3662のノードで存在可能である場合、図133のようにノード3663、3664が加えられる。このときに、ノード3663と3664がお互いに同期した状態で追加される。
【0245】
項目5.3.
リンク追加を行う装置
【0246】
自動分類処理において、リンク追加部4832による「リンク追加」の使用によって、二番目以降に追加されるノードが以前追加されたノードと同じものである場合は、追加されるノードは最初に追加されたノードのリンクした状態で追加されることを言う。この処理を利用することで作成される空間は情報のノードの関係をリンクによって明確にすることができる。
【0247】
図を使用して、リンク追加部4832によるリンク追加を使用した場合について説明する。図132の空間にノード3660の自動分類処理をしたところ、ノード3661、3662のノードで存在可能であるとする。この場合、図134のノード3665が加えられる。このように、ノードが二つ追加されるのではなく、最初に追加された3665のリンクを追加する。
【0248】
項目5.4.
巡回時の存在可否条件式の付加
【0249】
自動分類処理でノードを追加する時に存在可否条件式を付加することで、自動分類処理そのものを拡張することができる。
【0250】
図を使用して、自動分類処理でノードを追加する時に存在可否条件式を付加する場合を説明する。自動分類処理でノードと存在可否条件式を付加する処理を図125に対して行う。すると、図127に示されるように、新しくノードが追加される場合、ノード3630、3631と共に存在可否条件式3636、3635を付加している。
【0251】
自動分類処理でノードを追加すると同時に存在可否条件式を付加する場合を図128のフロー図のS604を図129で示されるものとすることで実現する事ができる。
【0252】
項目5.5.
巡回可否条件式
【0253】
自動分類処理において、辿るべきノードをノードの内部、または、外部に結びついた巡回可否条件式によって制御することも可能である。これは階層空間において特に有効な手段である。この機能によって概念の体系化を利用した自動分類が可能となる。また、巡回すべきノード数が制限されるので、実行速度の面でも有利である。
【0254】
図130を使用して、自動分類処理において辿るべきノードを巡回可否条件判定部4821が巡回可否条件式によって制御する場合の説明を行う。ルートノード3640から自動分類処理が開始するとする。巡回処理3650がノード3642に到達するときに、条件式3652に設定された巡回可否条件式で巡回可否条件判定部4821により巡回不可と判定されると、ノード3643、3644に到達することなく処理が終了する。
【0255】
自動分類処理において辿るべきノードを巡回可否条件式によって制御する場合の説明を、図131のフロー図を用いて説明する。図131のフローは図128でのフロー図のステップS601とステップS602の間に新たに巡回可能かどうかを判断するステップS5を追加したものとなる。
【0256】
自動分類処理でノードを追加すると同時に巡回可否条件式を付加することも有効である。これにより、プログラムなどで動的に巡回経路を制御することが可能となる。つまり、状況に応じて自動的に計算コストを下げることが可能となる。
項目5.6.
式の形態について
【0257】
存在可否条件式、および、巡回可否条件式は同期した情報として使用する「同期型情報付加」、または、それぞれ個別の実体として追加する「空間型情報付加」のどちらでも仕組みでノードと結びつけても良い。「同期型情報付加」を使用すれば同期したノード同士で条件式を共有できる。
【0258】
存在可否条件式や巡回可否条件式は一つのノードに対応する必要はない。つまり、これらの式は複数のノードで共有されているものでも良い。
【0259】
存在可否条件式や巡回可否条件式は空間が表現したい概念を生成するための仕組みであるが、表現したい空間と直接には関係がない。そのため、これらがレイヤーとして実装されるのは自然なことだと言える。
存在可否条件式や巡回可否条件式に設定する条件がより複雑になると、スクリプトや単純なプログラム言語で表現することは困難となる。例えば、ノードの文章プロパティを複雑な構文解析を行って判断するような場合などである。そのため、判定部4813に外部のプログラムによる処理を実行することを可能として、存在可否条件式や巡回可否条件式の処理速度、開発効率、保守の容易性を向上させることが可能となる。
【0260】
項目6.
書籍検索システムとしての発明の実装(本実施の形態2)
【0261】
本発明の実装の実施の形態として書籍検索システムとして実装した場合について説明する。なお、この実装を本実施の形態2とする。
【0262】
現在、多くの本が出版されているが、その中から本当に自分の目的に当てはまるものであるかどうかを判断することは容易ではない。実際は、中身をある程度読まなければ分からないというのが現状であると言える。一部のシステムでは、書籍をテキストで検索することができるが、自分のニーズにマッチするかどうかは、書籍の内容がどうかといった問題であり、結局は中身を見る必要があるため、これも完全な解決とは言えない。そこで、本発明を書籍検索システムに組み込むことによって、より効率的な書籍検索が可能なシステムを構築する。
【0263】
項目6.1.
システムの機能構成
【0264】
書籍検索システムの実施の形態における情報空間装置6000を図154に示す。
【0265】
空間型書籍検索システム6000は本発明を、書籍検索システムとして実装したものである。書籍情報を意味空間と結びつけることで、重ね合わせ検索を利用することが可能となる。
【0266】
クライアントマシン10はPC(パーソナルコンピュータ)や携帯情報端末であり、一つ、または、複数存在し、情報通信網15を介して空間型書籍検索システム6000に対して情報の取得、および、送信を行う。
【0267】
HTTPクライアント部6011は、HTTPプロトコルを利用して、情報通信網15を介してHTTPサーバ6032にアクセスして情報を取得、および、送信できるものである。実際にはWebブラウザなどが使用される。取得する情報には、書籍に関する情報、書籍の内容、書籍を分類したした空間の情報などを取得する。また、検索用の情報を、HTTPプロトコルを使用して空間型書籍検索システム6000に送信する。
【0268】
ファイアウォール部6031は、外部からの通信に対して、セキュリティを通信の関しにより保つ部分である。情報通信網15からの不正なアクセスや、ウィルスに対する防御を行う。不正なアクセスを感知した場合は、その通信で取得した情報はHTTPサーバ部6032へは転送せずに、破棄、または、ログとして保存する。
【0269】
HTTPサーバ部6032は、HTTPプロトコルを利用して、情報を送信、および、受信する機能である。実際のシステムではApache(R)などのWebサーバが利用される。
【0270】
情報登録機能部6034は、空間データ部4210aに対して情報の登録、および、更新を行う。
【0271】
情報登録マシン6035は情報を更新するための端末で、情報登録機能部6034を利用して情報の登録、および、更新を行う。
【0272】
空間データ部4210には、システムが利用する情報が格納されている。実体はリレーショナルデータベースや、ファイルストレージシステムとして、情報を格納する。
【0273】
空間構造データベース6036は、ノード、および、空間の構造情報を保持する。
【0274】
書籍情報データベース6037は、書籍に関する情報が保持される。保持される情報は、書籍に関する情報(作者や出版社などの情報)や、書籍の内容(書籍の内容のテキスト情報)などである。
【0275】
システム機能部6021は、書籍検索システムのシステムロジックを保持した部分であり、書籍
【0276】
外部インタフェース部6041は、HTTPサーバ部6032からの通信を内部システム用の情報に変換し、内部システム用の情報を送信するためのHTMLなどにデータを変換する機能を保持する。HTTPクライアント部T11がWebブラウザであり、HTTPサーバ部6032がApache(TM)であるとすると、この部分にはJava(登録商標)のサーブレットやJSP(Java Server Pages)を利用して実装されるのが一般的である。
【0277】
テキスト比較エンジン6045は、テキスト情報を比較して、等価かどうかの検証や、類似度を数値として算出する。実体は外部プログラムとして機能し、必要に応じて比較部4218より呼び出される。
項目6.2.
処理における情報の流れ
【0278】
実施の形態2において、クライアントからの書籍、および、空間の情報を取得する場合の処理の流れを説明する。まず、HTTPクライアント部6011から、情報通信網15を通じて空間型書籍検索システム6000に情報取得メッセージを送信する。空間型書籍検索システム6000では、ファイアウォール部6031、HTTPサーバ部6032、外部インタフェース部6041、システムロジック6042へ順にメッセージが転送される。さらに、システムロジック部6042はメッセージの内容を判断して、取得すべき情報を空間データ部4201の情報を取得する。システムロジック部6042は取得された情報を、外部インタフェース部6041、HTTPサーバ部6032、ファイアウォール部6031、情報通信網15、HTTPクライアント部6011を介して、結果を通知する。
【0279】
実施の形態2において、クライアントから重ね合わせ処理を行う場合の処理の流れについて説明する。まず、HTTPクライアント部6011から、情報通信網15を通じて空間型書籍検索システム6000に重ね合わせ処理メッセージを送信する。空間型書籍検索システム6000では、ファイアウォール部6031、HTTPサーバ部6032、外部インタフェース部6041、システムロジック6042へ順にメッセージが転送される。さらに、システムロジック部6042の重ね合わせ処理制御部T42では、メッセージの内容を解析し、データ取得部4210aを利用し、書籍情報取得部6043、空間データ部4210aより重ね合わせ処理に必要な情報を取得する。重ね合わせ処理に必要な情報は、重ね合わせ計算処理部4211へ渡り、計算されて、システムロジック部6042は重ね合わせ計算処理の結果を受け取り、外部インタフェース部6041、HTTPサーバ部6032、ファイアウォール部6031、情報通信網15、HTTPクライアント部6011を介して、結果を通知する。
【0280】
本実施の形態2で使用される図 は書籍情報が格納された空間を示している。本説明用に空間の情報は大変簡略化しているが、実際はより巨大な空間情報である。また、図 でaからnのアルファベットが割り当てられているものは本の情報を保持したノードであり、同じアルファベットが割り当てらているノードは同じ本であることを表している。
項目6.3.
重ね合わせ処理の実行
【0281】
項目6.3.1.
等価評価を利用する重み付け処理による書籍検索
【0282】
等価評価を利用する重み付け処理によって、書籍の検索を行う。新館書籍で「恋愛あり」「サスペンスあり」の小説が望ましいとする。この場合、この二つの空間6102、6103に対して、等価評価を利用する重ね合わせ処理を利用することで、情報を検索することができる。そこで、図155の空間6102、6103、を等価評価を利用する重ね合わせ処理を行った結果が図156である。この結果により、求めるべき書籍a、および、fが求めるものに最も近いといえる。
【0283】
項目6.3.2.
等価評価を利用する論理演算を利用する書籍検索
【0284】
等価評価を利用する論理演算によって、書籍の検索を行う。図155の空間6102、6103、6104の新刊書籍の分類に「恋愛あり」「サスペンスあり」「歴史物」の分類すべてを満たすものを探したいとする。この場合、空間6102、6103、6104すべての条件を満たすものを取得するため、空間6102、6103、6104でAND演算を行う方法が良い。この計算を処理し、求めた結果が図157である。ここでは、1が真、0が偽を意味する。まず、空間6102、6103、6104それぞれを真偽値で表したものが、「空間6102の真偽」「空間6103の真偽」「空間6104の真偽」とる。さらに、これら3つの空間でAND演算を行った結果が「論理演算の結果」において示される。この場合、ずべてが偽であるため、空間6102、6103、6104の条件すべてを満たすものが存在しないことが演算によって求められる。
【0285】
項目6.3.3.
比較検討を利用した重み付け処理による書籍検索
【0286】
比較検討を利用した重み付け処理によって、書籍の情報分析を行う。新刊書籍に対して、どの書籍が、20歳代に受け入れられるかどうかを実施の形態2の装置を使用して検証する。空間6101は20歳代に人気の書籍を集めたものである。空間6105は新刊書籍に関する情報をまとめた空間である。この二つの空間に比較検討を利用した重み付け処理を外比較型で行うものとする。また、比較検討の結果は図158の比較表に従うものとする。比較検討を利用した重み付け処理を外比較型は、複数の空間において重要な要素がより多きなスコアをになりやすい。この場合、図159の結果となり、書籍nが新刊書籍の中で、20歳代に最も受け入れられやすいものと判定できる。
【0287】
項目6.3.4.
射影化を利用することで、印刷の版の管理を行う
【0288】
射影化を利用することで、概念上は同一でも実際は異なるものを管理することが容易になる。例えば、一つの書籍であっても、第1版、第2版などが存在し、同じ第1版でも印刷によっては誤植が修正さていたりして、微妙に異なっている。こういった書籍を射影化部4411による射影化を行い管理することで、処理が容易になる。
【0289】
項目6.3.5.
レイヤーを利用することで、会員用サービスを実装する
【0290】
レイヤーを利用することで、空間型書籍検索システム6000を使用するユーザによって、処理を変更することができる。この機能によって会員用、と非会員用サービスを実装するが、明瞭に処理を分離することができ、保守も容易になる。
【0291】
項目6.3.6.
自動分類処理を利用することで、情報登録を容易にする
【0292】
書籍はこの世界に数多く存在し、また、日々新たな本が出版されている。このいった情報をすべて、人手によって整理するとなると膨大なコストが発生してしまう。よって、この新規の書籍の登録処理を自動分類処理の仕組みを利用することで、自動登録とする処理を行う。
【0293】
実施の形態2において、自動分類処理の処理の流れを説明する。情報登録マシン6035より、新規で登録する書籍情報を入力し、情報登録機能部6034へ書籍情報が転送される。さらに、情報登録機能部6034では、自動分類処理部4809へ転送される。
【0294】
項目7.
汎用型情報管理ソフトウェアとしての実施例(本実施の形態3)
【0295】
汎用型情報管理ソフトウェア7000による実施の形態3における情報空間装置4000を図160に示す。汎用型情報管理ソフトウェア7000は、ユーザインタフェース層、ロジック層、データ層の大きく3つに分かれている3階層の機能を持つアプリケーションとして実装されている。汎用型情報管理ソフトウェアは、ノードに対して、ファイル情報を保持を関連付けることができるため、ファイル管理ソフトとしても使用することが可能である。
【0296】
ユーザインタフェース層7011はディスプレイ画面への描画や、ユーザインタフェースからの入力などを受け付ける機能が配置される領域である。
【0297】
ロジック層7012は重ね合わせ処理などの機能が実装されている部分であり、汎用型情報管理ソフトウェア7000の処理や、計算のロジックの大部分を担当する機能である。
【0298】
データ層7013は空間データ部4201から情報の記録や、取得などを行う。
【0299】
ユーザインタフェース部7041は、汎用型情報管理ソフトウェア7000のユーザからの画面への入力処理、および、画面へのデータの出力を制御する機能部である。
【0300】
実施の形態3における空間データ部4201はファイルシステムを利用している。また、ファイルシステムに記録されるデータ形式はXMLを使用している。
【0301】
中間データアクセス部7031は、ユーザインタフェース層7011の機能が空間に関する情報を取得する場合に使用する情報である。
【0302】
データアクセス部7021は、実際の空間のデータや実装を隠蔽するための機能である。例えば、空間データ部4201はファイルシステムを利用しているが、これをネットワーク経由にすることや、データ形式をXML以外のものへ変更することを、汎用型情報管理ソフトウェア7000全体の機能に影響することなく変更できる。
【0303】
データキャッシュリング部7022は、ファイルシステムで実装された、空間データ部4201から取得した情報をより高速である一時メモリ領域に保存することで、情報取得処理の高速化を行うことができる。
【0304】
汎用型情報管理ソフトウェア7000における、等価評価を利用した重み付け処理の流れを説明する。入出力装置7050からの操作により、重ね合わせ処理の指示が発生する。ユーザインタフェース部7041は、入出力装置7050からの指示により、処理開始部4212へ通知する。処理開始部4212で重ね合わせ処理が開始され、空間データ部4201からデータ取得部4210により、データアクセス部7021を介して、重ね合わせ処理で使用する空間の情報を取得する。取得された空間の情報は重ねあわせ計算部4211で空間どうしの関連性を算出する処理が行われる。重ねあわせ計算部4211では重み付け計算部4221が、等価評価部4215を使用して、取得された空間のノードが等価であるかどうかが判定する等価評価の結果を元に、空間別の重み情報を算出する。さらに、空間別の重み情報が、複数の空間による演算である場合は、その重みを統合計算演算部4222において、統合し、最終的な重み付け処理結果を算出する。算出された重み付け処理結果はユーザインタフェース部7041へ通知され、データ出力部4213により、入出力装置7050の画面7051へ出力される。
【0305】
図161に示されるように、画面7051に出力時にはツリービューにより空間が表されている。また、汎用型情報管理ソフトウェア7000における空間の形態はすべて階層状にリンクされた階層空間を利用して実装している。空間には1985年1月から2006年6月までの日記情報テキストファイルが格納されたノードで構成されており、日付別、思い出別など様々なカテゴリで分類されている。日記情報テキストファイルは日付単位で管理されており、空間上にある同じ日付の日記情報テキストファイルは同期しており、一方の変更は、もう一方にも適用される。日記には人生のさまざまな教訓や思い出が格納されており、それらから様々な情報を取得できることは大変に有意義であると言える。
【0306】
汎用型情報管理ソフトウェア7000で利用する重み付け処理は、等価評価を利用した重み付け処理のうち、同期したもの同士を等価とするものを利用することができ、汎用型情報管理ソフトウェア7000に対する説明においては、等価評価を利用した重み付け処理のうち、同期したもの同士を等価とするもののみを利用することとする。
【0307】
構造ノード、ファイルノードについて説明する。図162に示されるように、ノード7101は構造情報を形成することができる構造ノードを意味し、ノード7102は任意のファイルを格納できる(今回は日記情報テキストファイル)を意味する。
また、構造ノードは保存したい情報ではなく、空間を形成する(階層上のカテゴリを形成する)ための情報であるため、重ね合わせ処理の結果からは除外される。
【0308】
汎用型情報管理ソフトウェア7000において、重み付け処理の画面、および、画面操作の流れをと内容について説明する。図163は等価評価を利用した重み付け処理を行った場合の画面を表している。まず、検索処理を行うにあたっては、「空間ツリービュー」から検索したい空間をドラッグ・アンド・ドロップによって「空間検索ビュー」へドロップする。さらに「空間検索ビュー」で「検索」ボタンを押し、その結果が「空間検索結果ビュー」に処理されて示されている。
「空間検索ビュー」へドロップされた空間は、「空間ツリービュー」では、「日記情報−日付別−1990-1994」と辿ることができる空間と、「日記情報−出来事別−旅行−海外」と辿ることが可能な空間である。これは、「1990年から1994年の間で、海外旅行に行った日の日記」を検索するという意味と言える。
「空間検索ビュー」で「検索」ボタンを押すことで、重み付け処理が行われているが、処理の対象となる空間は、「空間検索ビュー」で示される空間を階層選択したものである。つまり、「日記情報−日付別−1990-1994」と辿ることができる空間の場合は、「1990-1994」の子要素である「1990」「1991」「1992」「1993」「1994」も選択されることとなる。また、「1990」の子要素、その子要素というように選択されている。
「空間検索結果ビュー」に示されている重み付け処理が行われた結果は、「1991.2.4.txt」、「1991.2.5.txt」、「1991.2.6.txt」、「1991.2.7.txt」、および、「1991.2.8.txt」がスコア2となり、「1990年から1994年の間で、海外旅行に行った日」は1991年2月4日、1991年2月5日、1991年2月6日、1991年2月7日、および、1991年2月8日が求める日付の日記であると言える。
【0309】
等価評価を利用した重み付け処理のうち、同期したもの同士を等価とするものを利用して、日記情報をビジュアルに検索する様子を、日記情報の検索者である検索者Aの視点で説明する。検索者Aは日記の情報を検索するにあたって、1990年から2003年の間の海外旅行に関するもので、良い思い出となっているものを検索したいとする。この場合は、日付を格納した空間と、「日記情報−出来事別−旅行−海外」で辿ることのできる「海外」空間を利用して、図164に示されるように検索をし、結果を取得するのが良い。
また、より情報を絞り込むため、「日記情報−思い出別−楽しい思い出−最高」で辿ることのできる空間を追加で「空間検索ビュー」へ追加し、検索した結果が、図165に示される。
【0310】
上記の検索はすべて画面7051を使用して、マウス7052のみを使用して検索することもできる。汎用型情報管理ソフトウェア7000を使用することで、情報をビジュアルに検索することが可能となるのである。
【0311】
項目8.
発明の要素の補足説明
【0312】
項目8.1.
発明を使用できる環境
【0313】
本情報空間処理装置4000は、単数、または、複数のコンピュータによって実現される。図2に一般的なコンピュータの概略図を示している。本発明は、パーソナルコンピュータ、サーバコンピュータ、メインフレームコンピュータ、ネットワークシステム、携帯情報端末、組み込みマイクロコンピュータなど、あらゆるコンピュータ、および、システムに実装可能である。本発明の原理は比較的単純であるため、ストアドプログラム方式と呼ぶことのできるコンピュータ、または、それを使用したすべてに実装可能である。
【0314】
情報通信網15は、インターネット、イントラネット、および、無線通信を含めるあらゆる、あらゆる通信経路を意味する。
【0315】
ユーザとはプログラムを使用する人のみならず、プログラムを使用するプログラムも含むものである。
【0316】
項目8.2.
ノード
【0317】
ノードについて説明する。本発明において、ノードとは情報を結びつけて管理するための単位、または、情報そのものである。
【0318】
ノード実装について説明する。ノードはコンピュータ読み取り可能な記録媒体、または、インターネットなどの情報通信網上で実装されるものである。つまり、ネットワークを流れる信号でも良く、本発明において、ノードであると識別できればいかなる形態でも良い。
【0319】
本発明において、ノードに結びついた情報、および、ノードにはありとあらゆる情報が使用できる。ここで言う情報とは名前や説明などのテキスト、IDなどの数値データ、アプリケーション特有のデータフォーマット、バイナリデータ、特定のメモリ領域、XMLで作成された文書やスキーマ、ファイルのリスト、ファイルストリーム(ファイルの実体、または、実体への参照であり、通常は、ハードディスクなどの磁気ディスク上、または、メモリ上に存在する)、ネットワークを流れる信号など多岐にわたり、どのような形態であるかは重要ではない。本発明を実行するプログラムや装置がノードに結びついた情報、および、ノードと判断できるならいかなる形態でも良い。
【0320】
ノード、および、ノードに結びついたデータの管理方法は無数にある。ノードに全情報をそのまま格納してもよいが、ファイルシステムによる管理やデータのシリアライズ化などを使用しても良い。また、リレーショナルデータベースとの連携による実装なども考えられる。プログラム実行時にはメモリ上に空間情報を展開しておき、保存用に不揮発性の記録媒体に記録することで、情報を永続化させるなども有効な実装である。
【0321】
図22のノード図に示される空間をXML形式で作成した場合の実装例を示す。アルファベットが同じものはお互いに同期しているとする。それぞれのノードは”name”プロパティと”type”プロパティ(属性情報)のみを持つ単純なノードである。それぞれのノード自身の定義は、図23にノードA、図24にノードB、図25にノードC、のノードをXMLであらわしたものである。これらのノードをネットワーク型のリンク空間とした場合のリンクの定義が図26の定義である。これらをリンク空間の一種である階層空間として表現した場合は、図27のように表すこともできる。これは親子のリンク関係をXMLの親要素、子要素として表現したものである。
【0322】
独立空間ノードは、本発明を実装したプログラムにおいて、空間、としてもノードとしても扱うことが可能なノードを言う。つまり、ノードであるが、ノードに結びついた情報がノードの集合である空間であるものと言える。独立空間ノードを使用することで、空間そのものをノードとして扱うことができる。図16のは500、501は独立空間ノードでお互いに同期しているとする。500、501はノードの様にリンクされているが、内部に空間情報が存在している。またノード502への変更は503への変更となる。これは、500と501が同期しているため、内部の空間も同期しているのである。
【0323】
独立空間ノードの実装について説明する。実装は様々に考えられるが、ノードに空間の情報を結びつければ良いので実装は比較的容易である。結びつける方法は同期したもの同士で共有される情報として、情報をノードに付加する同期型情報付加によってノードに対して空間の情報を結びつければ良い。
【0324】
項目8.3.
リンク
【0325】
リンクとは、ノードとノードをつなぎ合わせる仕組みである。「ノードとノードを結びつけている」とプログラム、または、装置が認識できる形態であるのならば、メモリ上の情報、ハードディスク上の情報、などいかなる形態で存在しても良い。リンクとはノード群を構造化するなど関連を示すために存在する。リンクの代表的なものと言えば、HTMLのハイパーリンクなどが代表的なものと言える。リンクによって構造化されることで、空間は人間にとって扱いものと言える。
【0326】
ノード間のリンクに関する情報はノードそのものの中に記述されていても、外部に記述されていてもかまわない。
【0327】
図9はノードそのものの中にノードのリンク情報が格納される場合の図である。この場合、ノード300がノード301へのリンク情報を保持している。300、301は実装によってはノードの参照の場合もある。
【0328】
図10は外部にリンク情報が記述されている場合であるの図である。ノード310とノード311はリンク状態であるとする。この場合、リンク情報がノード310、311のノードそれぞれに格納されているのではなく312によってリンク関係が定義されている。310、311は実装によってはノードの参照であることもある。
【0329】
ノードのリンクはメモリ上で実装される場合は、ノードに対するポインタやオブジェクトへの参照を保持する形で表現する方法が一般的である。
【0330】
項目8.4.
空間
【0331】
空間について説明する。本発明において空間とは、一つ以上のノードの集まりを、構造や形や状態にかかわらず一まとめにしたものである。空間には形態に応じて、リンク空間、階層空間、無形空間、および、論理空間などがある。
【0332】
図8を使用して、空間について説明する。図8の231、232、233はすべて空間と呼ぶことができる。231はノードと呼んでも良い。
【0333】
リンク空間は、ノードとノードをリンクさせて形成された空間を言う。リンク空間は空間を構造化、体系化することができるので、視認性や理解性に優れている。リンク空間において代表的な実装にはWebページのリンクなどがある。WebはWebページというノードが多数のリンクにより連結された空間であると言える。図6にリンク空間のノード図がある。210はノードで211はリンクを意味する。このようにノードとノードのリンクによって形成された空間がリンク空間である。
【0334】
ノードのリンク関係が親子関係のものを特に「階層空間」と呼ぶものとする。親子関係で作成された空間は容易に体系化することが出来るので、無秩序にリンクされた空間より学習理解性に優れている。階層空間が優れているのは「空間予測性」に富むと言うことである。これは空間の一部を認識するだけで、それに連なる空間を予測しやすいということにある。この空間予測性が空間の重ね合わせ処理で大きな効果をもたらす。
【0335】
以下に図19を使用して階層空間を説明する。ノード812はノード811の子ノードであり、ノード811はノード810の子ノードとなっている。このように親子関係で構成されたものが階層空間である。
【0336】
無形空間は、リンク空間のように構造化されていないノードの集合である。図9に示されるように、リンク空間と異なりノードはリンクされていない状態で格納される。220は無形空間で221はノードである。このように単純なデータノードの集合によって形成されているのが無形空間である。
【0337】
論理的に存在する空間である「論理空間」について説明する。図151は単なる情報の羅列である。図151では、ただ単にアルファベットと、そのアルファベットの順番が表示されているだけである。ただこの情報に対して、「アルファベットにアルファベット順に番号を付けて、付けられた数値を大きさとして、k、d、s、c、f、p、x、a、e、g、m、s、v、zの順に要素を挿入して2分探索木の空間を生成する」という計算式を適用すれば、図152の様な空間となる。しかし、この場合はノードや空間は計算されるまで実態として存在していないといえる。このように計算式を利用して、実際に実在していない場合でもコンピュータ読み取り可能な記録媒体、または、情報通信網上に実際に存在している空間と同等に重ね合わせ処理などに利用することができる。
【0338】
以下に空間を利用して、ファイルシステムを実装する方法を図17と図18を使用して説明する。ノード730をフォルダ740と結びつける。同様に731をファイル741と、732をファイル742と結びつける。このようにすれば、仮想ファイルシステムが出来上がる。つまり、ファイルシステムもノードで構成された空間と言える。
【0339】
空間予測性を図20を用いて説明する。800のノードは日記についての情報に対するリンクを所持している。もしあなたが、2001年10月6日の日記を読もうとする。あなたは、801の日付別のノードを辿って探すだろうか、それとも、802の思い出別のノードを辿るのだろうか。あなたは、日付別のノードを辿って探そうとするだろう。これが空間予測性である。これは空間の一部を認知することによって先の空間の構成を予測できることを言う。
【0340】
階層空間を使用したアプリケーションが実装される場合、ユーザインタフェースは図21の様なツリービューなどによる実装が容易で一般的であろう。
【0341】
項目8.5.
空間への操作
【0342】
空間を選択することで、特定の空間を利用した処理を行うことができる。選択とは厳密に定義すると、プログラムから認知されている空間となる。つまり、プログラムがその空間に対して処理を行えるだけの情報を取得した状態を意味する。
【0343】
リンク選択とは、リンク空間において、あるノードから特定の法則に従って空間を選択する方法である。選択された空間は空間の重ね合わせ処理、論理規則、レイヤーなど、処理や演算に空間を指定するものに利用すると便利である。
【0344】
また、リンク数選択の機能を利用することで、あるノードを中心に指定された数だけリンクを辿り、辿った空間を選択する方法である。
【0345】
以下に図29と図30を使用して、リンク数選択部4251によるリンク数選択について説明する。図29のノード1500のノードに対してリンク数を2として、リンク数選択を実行すると図30になる。図30の破線で示された部分が選択された空間である。
【0346】
階層選択とは、は階層空間において有効な選択方法である。この方法はリンク関係が親子関係で構成されていることが前提で使用可能なものである。階層空間の親ノードが選択されると、その子供ノードまで選択する仕組みである。
【0347】
以下に図31を使用して、階層選択部4252による階層選択について説明する。図43の1520、1521、1522、1523はノードであり、1510、1511、1512、1513は空間である。このとき1520のノードにおいて階層選択が実行されるとき、1510の空間が選択される。同様に1521のノードの場合は、1511の空間が選択され、1522のノードの場合は、1512が選択され、152のノードの場合は1513の空間が選択される。
【0348】
項目8.6.
同期
【0349】
同期について説明する。本発明において「同期」とは、同じと見なせるが空間上では異なるものである。例えば、ノードA1とノードA2はお互いに同期しているとする。リンクを除いて、A1に対する変化がA2にも適応されるものを同期していると呼ぶ。同期はお互いに同期しているものを同一のものとして扱うことができれば良い。つまり、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードをお互いに同期しているノードという。
【0350】
同期の扱いはコンピュータ読み取り可能な記録媒体上のインスタンス(実体)の参照を管理するものが最も適当と思われるが、操作を多重化する方法でも良い。
【0351】
参照とは、メモリ上であれば実体へのポインタ(メモリ上のアドレスなど)として存在し、オブジェクト指向な環境であれば、オブジェクト、または、オブジェクトの参照として存在しているのが一般的である。つまり、実際に存在するノードの実態へのパス(経路、または、位置)を通して管理する方式である。外部に定義されたリンク情報といったものも参照と呼ぶことができる。
【0352】
操作を多重化するとは、ひとつの命令を同期している複数のノードに同時に適用することで、同期を表現する。
【0353】
図12にインスタンスの参照管理型の実装を図示した。このように421、422は実体420への参照となっている。よって操作423と操作424の効果は共に実体への操作となり同期が維持される。
【0354】
図13は操作の多重化による実装を示している。この場合410と411はお互いに異なる実体であるが、一つの操作412が複製され、複数の実体に適用されることで同期を実現している。
【0355】
ノードや空間に対して情報を結びつける方法は、空間の実装によって左右される。ノードや空間に情報を結びつける場合、大きく二つの考え方に分かれる。これはノードの同期も含めたものに対する情報の付加である「同期型情報付加」であるのか、同期を含めない情報の付加である「非同期型情報付加」であるのかといったことである。同期型情報付加は同期したもの同士で共有される情報であるが、非同期型情報付加は同期したもの同士でも情報が共有されていないことを言う。これらの仕組みは、射影化、レイヤー、自動分類処理においても影響する重要な概念と言える。本発明において、プロパティは、同期型情報付加の情報であると言える。
【0356】
図14は同期を参照管理によって実現する実装における情報の結びつけの方法を示している。440はノードの実体を意味し、441、442は実体の参照を意味する。付加情報443、444、445は440、441、442の内部、または、外部に結びつけられた情報である。同期は参照による操作が実体への操作となることで同期を実現する。参照への操作はリンクを除いて、440へ適用される。この場合、同期型情報付加を適用する場合、付加情報445のように実体440へ結びつける実装が一般的である。また、付加情報443、444に対する操作を多重化することでも実現できる。つまり、付加情報443に対する操作を付加情報444にも適用する方法である。非同期型情報付加の場合は、付加情報443、444に見られるように441、442へ付加されている。これで実体とは異なり、参照に情報を付加することで、情報付加に柔軟性が生まれる。例えば、この参照が空間を定義する情報である場合、自由に特定の空間に対して情報を付加することもできる。
【0357】
図15は同期を操作の多重化により実現する実装における情報の結びつけの方法を示している。一つの命令439を同期関係にあるノードの実体431、432に同時に適用することで同期を維持している。付加情報433、434、435、436、437は431、432の内部、または、外部に結びつけられた情報である。この場合、非同期型情報付加を行う場合は、付加情報433、434に情報を付加すれば良い。同期型情報付加を適用する場合、431、432から共通の付加情報437を共有することで利用できる。同期型情報付加は付加情報433、434を使用しても実現できる。この場合、ノードに対する操作が多重化されたように、付加情報433、434に対する操作も多重化するという方法でも実現できる。
【0358】
項目8.7.
等価評価
【0359】
等価評価部4215で利用される「等価評価」について説明する。等価とは同じであることを意味し、等価評価とは同じであるかどうかを判定することを意味する。何をもって等価とするかは、状況において変化する。ノードに関係する情報を使用して、評価するのが一般的である。ノードに関係する情報を、比較して等価かどうかを判定する方法や、プログラム言語やスクリプト言語で計算して等価かどうかを判定するなど多岐にわたる。
【0360】
以下に等価評価において特に重要と思われるものを列挙する。
・ ノードがお互いに同期しているものを等価とする。
・ ノード、および、ノードと結びついた情報が同じと見なせるものを等価とする。
特に同期しているもの同士を等価とする同期点等価評価は重要である。これは、同期しているもの同士は本質的に同じものであるからである。同期しているものを等価として計算することは自然なことで、使用される場面も非常に多いと思われる。また、ノードと結びついた情報を使用することで、ノードに結びついた情報で同じかどうかを判定することができる。
【0361】
図を使用して、同期点、リンクを使用した等価評価を具体的に説明する。図32のノードで同じアルファベットが付けられたノードはお互いに同期している。つまり、ノード1730、1731、1732はお互いに同期しており、ノード1735、1736も互いに同期している。ここで、同期点の情報と、リンクの情報を使用して、等価評価を適用した場合の一例を示した結果表が図33である。例えば、一列目の「1730と1732」においては「お互いに同期しあっているノードを等価とする」という条件である。同じアルファベットはお互いに同期している。よって、等価であるかどうかと言うと「はい」となる。このように、ノードや空間の構造的な情報などでも行うことができる。
【0362】
完全独立等価評価とは、空間に存在するノードをすべてお互いに異なるものとして扱う評価である。
【0363】
ノードに結びついたデータをそのまま、あるいは計算してその結果を比較する方法が一般的である。
【0364】
等価の仕組みをどのように実装するかは空間プログラムの実装者に任せられる。また、何をもって等価とするかは、空間の使用される状況、および、設計によって千差万別であるのでその状況に応じた仕組みを提供することが望ましい。この等価評価部4215による等価評価は重ね合わせ処理や論理規則で特に重要な概念である。空間プログラムを使用して、情報を分析する場合、等価評価の判定基準を変えることで、様々に視点を変えることができる。そのため、空間プログラムのユーザがスクリプト言語やプログラム言語、外部プログラム等で等価評価を柔軟に拡張することができる仕組みが提供されていることが望ましい。特に、等価評価を複雑な構文解析やデータマイニングを通じて行う場合、外部プログラムと連携して等価評価を実行する仕組みは、実装のしやすさやの向上や、第三者による等価評価の提供や拡張を容易にする。等価評価は比べる2つのノード、または、ノード情報を渡して、同じかどうかの判定や計算処理用の情報を渡すだけでも良いので外部に記述することは比較的容易である。
【0365】
項目8.8.
比較評価
【0366】
比較検討部4217で利用される「比較検討」について説明する。比較検討処理はノード同士を比較し、どのくらい似ているのかを関連度で示す。最も一般的なものは有限の範囲の数値データを返すものである。例えば、同じなら10、まったく異なるなら0、すこし似ているなら3、かなり似ているなら8を返すなどである。
【0367】
比較検討の仕組みをどのように実装するかは空間プログラムの実装者に任せられる。また、どのようにノードの関連度を求めるかは、空間の使用される状況、および、設計によって千差万別であるのでその状況に応じた仕組みを提供することが望ましい。空間プログラムを使用して、情報を分析する場合、の判定基準を変えることで、様々に視点を変えることができる。そのため、空間プログラムのユーザがスクリプト言語やプログラム言語、外部プログラム等で比較検討を柔軟に拡張することができる仕組みが提供されていることが望ましい。特に、比較検討を複雑な構文解析やデータマイニングを通じて行う場合、外部プログラムと連携して比較検討を実行する仕組みは、実装のしやすさやの向上や、第三者による比較検討の提供や拡張を容易にする。比較検討は比べる2つのノード、または、ノード情報を渡して、計算処理用の情報を渡すだけでも良いので外部に記述することは比較的容易である。
【0368】
等価評価部4215で実装される等価評価、および、比較検討部4217で実装される比較検討の仕組みは、装置内部、および、外部から拡張できることが望ましい。これは、等価評価部4215、および、比較検討部4217ではノードの情報を利用して比較する場合、多くの場合、複雑な計算を大量に行う必要があるためである。また、状況に応じて切り替えたりする必要も生じる。
【産業上の利用可能性】
【0369】
空間を利用するにあたって最も強力な機能は重ね合わせ計算処理部4211による空間の重ね合わせを利用した処理である。これによって曖昧なデータから、より意味的に詳細な情報へと容易に変換することが可能となる。最先端技術、医療、法律、情報科学などの技術データベース、インターネット上での知識検索、交換などでの使用が、最も効果的と思われる。他の情報管理手法に比べて、より曖昧で複雑なデータを扱うほど本発明の効果は大きくなる。また、人間の感性的な情報を利用できるので、絵画、映画、音楽情報などの芸術データベースなどにも効果的である。また、重ね合わせ計算処理部4211による空間の重ね合わせ処理によって学習的検索も可能であるため、教育機関の学習用検索装置なども考えられる。さらに、個人の小型情報データベース、ファイル管理プログラムとしても十分効果的である。また、RDFやOWLといったセマンティクスウェブ技術やマイクロソフトの提唱するWinFSとも異なる技術であるが、相反するものではなく、これらの技術の内部または、本発明の内部にそれらの技術を使用することはより効果的な情報管理システムの構築を可能とする。以下にインターネットのディレクトリ型検検索エンジンに適用する場合について説明する。現在、インターネット検索エンジンにはgoogleなどで使用される、ロボット型検索エンジンなどが主流である。しかし、ディレクトリ型検索エンジンには比較的に厳選されたサイトが登録されており、まとまった特定の情報をしらみつぶしに調べるような場合には有効な検索エンジンと言える。
【図面の簡単な説明】
【0370】
【図1】重ね合わせ処理を行うことができる装置の機能ブロック図
【図2】本発明で使用されるコンピュータ概略図
【図3】本発明で使用されるネットワーク概略図
【図4】認知部分と非認知部分を示す図
【図5】認知部分と非認知部分をう重ね合わせ処理の概念を示す図
【図6】リンク空間を表したノード図
【図7】無形空間を表したノード図
【図8】空間を表すノード図
【図9】ノードのリンクをノードの内部に実装する仕組みを表す図
【図10】ノードのリンクをノードの外部における定義で表す図
【図11】同期点の説明における、ノード図
【図12】参照管理による同期維持の仕組みを表す図
【図13】操作の多重化による同期維持の仕組みを表す図
【図14】参照管理による同期維持を行う場合のデータ付加を行う図
【図15】操作の多重化による同期維持を行う場合のデータ付加を行う図
【図16】独立空間ノードを表したノード図
【図17】結びつけ用のノード図
【図18】ノードにファイル情報を結びつけた図
【図19】階層空間の説明図
【図20】空間予測性の説明における、ノード図
【図21】ツリービューのスクリーンショットを示す図
【図22】XMLによるノード実装の説明用の図
【図23】ノードの実体をXMLで表現した一例を示す図
【図24】ノードの実体をXMLで表現した他の例を示す図
【図25】ノードの実体をXMLで表現した他の例を示す図
【図26】空間のリンクをXMLで表現した例を示す図
【図27】階層空間のリンクをXMLで表現した例を示す図
【図28】ノードの情報をメモリと不揮発性記録媒体との連記を表す図
【図29】リンク数選択を行う前の空間を表すノード図
【図30】リンク数選択を行った後の空間を表すノード図
【図31】階層選択の仕組みを表すノード図
【図32】リンク、および、同期点の情報を使用した等価評価の説明用のノード図
【図33】リンク、および、同期点の情報を使用した等価評価の結果表
【図34】空間の論理演算を行うノード図
【図35】空間Aの論理表への置き換え例を示す図
【図36】空間Bの論理表への置き換え例を示す図
【図37】詳細な論理演算の説明図
【図38】空間のANDによる論理演算の例を示す図
【図39】空間のORによる論理演算の例を示す図
【図40】空間のXORによる論理演算の例を示す図
【図41】空間のNANDによる論理演算の例を示す図
【図42】空間のNORによる論理演算の例を示す図
【図43】空間のXNORによる論理演算の例を示す図
【図44】指定数を2にした場合の空間Aの真偽値への置き換えの例を示す図
【図45】空間の重み付け検索用のノード図
【図46】重み付け検索の結果を示す図
【図47】一意性重み付け検索の結果を示す図
【図48】優先度重み付けによる調整を行った、重み付け検索の結果を示す図
【図49】リンクの距離により優先度を調整する場合の例を示す図
【図50】リンクの距離により優先度を調整する場合の他の例を示す図
【図51】重み付け処理のより詳細な説明用のノード図
【図52】重み付け処理のより詳細な説明用の計算図
【図53】フィルタリング処理の説明図
【図54】空間の置換説明用のノード図
【図55】独立空間ノードの重ね合わせを示す図
【図56】独立空間ノードを含む空間の重み付け計算のノード図
【図57】独立空間ノードを含む空間の重み付け計算の結果表
【図58】独立空間ノードを含む空間の重み付け計算のその他の結果表
【図59】高速な重み付け処理の計算アルゴリズムのステップ図
【図60】高速な重み付け処理の計算アルゴリズムのブロック図
【図61】ノードのマージ処理の説明図
【図62】データの走査処理における計算を示す図
【図63】データの走査処理における論理演算の例を示す図
【図64】データの走査処理における重み付けの例を示す図
【図65】重み付け統合計算の説明用空間図
【図66】等価評価1の場合のノード図
【図67】等価評価2の場合のノード図
【図68】等価評価3の場合のノード図
【図69】等価評価4の場合のノード図
【図70】等価評価1の場合における重み付けのスコア表
【図71】等価評価2の場合における重み付けのスコア表
【図72】完全独立等価評価による統合計算の例を示す図
【図73】等価評価3が基準である統合計算の例を示す図
【図74】等価評価3の一意重み付け検索のスコア表
【図75】等価評価4が基準である統合計算の前処理の結果を示す図
【図76】等価評価4が基準である様々な統合計算の例を示す図
【図77】音楽情報を表し同期点等価評価で区別されたノード図
【図78】音楽情報を表しジャンルによる等価評価で区別されたノード図
【図79】音楽情報空間のスコア表
【図80】音楽情報の重ね合わせ処理結果表
【図81】音楽情報空間の論理演算の結果表
【図82】音楽情報のジャンル別のスコア表
【図83】音楽情報空間の統合演算結果表
【図84】音楽情報空間の論理規則の結果表
【図85】論理規則によるフィルタリングの計算方法を示す図
【図86】音楽情報空間の重みの加工処理を示す図
【図87】多言語バージョンによる射影化の説明を行う図
【図88】射影機能を説明するための射影化される前のノード図
【図89】3つに射影化した場合のノード図
【図90】ノードの生成の連携を説明するノード図
【図91】ノードの削除の連携を説明するノード図
【図92】空間の変形の連携を説明するノード図
【図93】射影ごとの空間の生成を説明するノード図
【図94】射影ごとの空間の削除を説明するノード図
【図95】射影同期を説明するノード図
【図96】射影化の実装の詳細を説明するためのノード図
【図97】リンク射影を行った場合のノード図
【図98】ノード射影を行った場合のノード図
【図99】データ付加射影を行った場合のノード図
【図100】独立空間射影を行った場合のノード図
【図101】ノード射影をリンクリストで形成した場合を示す図
【図102】ノード射影をデータ群と結びつけて形成した場合を示す図
【図103】データ付加射影の詳細を示す図
【図104】独立空間射影の詳細を示す図
【図105】射影化前のドキュメントを表現した空間のノード図
【図106】射影化を使用しない場合のドキュメントの多言語化ノード図
【図107】射影化を使用した場合のドキュメントの多言語化ノード図
【図108】射影化の実装時の機能ブロック図
【図109】構造レイヤーの構造説明図
【図110】実体レイヤーの説明図
【図111】レイヤーとノードの内部からのリンク関係を示す図
【図112】レイヤーとノードの外部からのリンク関係を示す図
【図113】構造レイヤーと実体レイヤーの違いについてのノード図
【図114】リンク空間における構造レイヤーのXMLによる実装例を示す図
【図115】階層空間におけるノードレイヤーのXMLによる実装例を示す図
【図116】実体レイヤーの実装例を示す図
【図117】レイヤーの自己拡張機能のノード図
【図118】レイヤーの自己拡張機能のノード図
【図119】レイヤーの自己拡張機能のノード図
【図120】セキュリティレイヤーの説明図
【図121】セキュリティレイヤーの説明用ステップ図
【図122】イベントレイヤーの説明用ステップ図
【図123】バグ情報システムのノード図
【図124】セキュリティレイヤー実装時の機能ブロック図
【図125】存在可否条件式が設定された空間のノード図
【図126】自動分類処理が適用された空間のノード図
【図127】自動分類処理において、ノードの追加と共に存在可否条件式が追加された空間のノード図
【図128】自動分類処理のステップ図
【図129】ノードの追加と共に存在可否条件式を適用する場合の差し替え用のステップ図
【図130】巡回可否を説明するノード図
【図131】巡回可否を説明するステップ図
【図132】自動分類処理において、ノードの追加前のノード図
【図133】自動分類処理において、ノードが追加される場合の図
【図134】自動分類処理において、二番目以降のノードが最初のノードのリンクとして追加される場合の図
【図135】巡回のシミュレーションを説明する図
【図136】巨大な空間に対する追加について説明する図
【図137】自動分類処理の実装時の機能ブロック図
【図138】全、外、内比較型を説明用するための空間の図
【図139】比較時のスコア対応表
【図140】全、外、内比較型の結果
【図141】巨大な空間と小さな空間
【図142】空間のオペランド計算の説明をするための図
【図143】空間のオペランド計算説明用計算結果の図
【図144】等価絞り込み前の空間の図
【図145】等価絞り込み後の空間の関係
【図146】等価絞り込みを適用した空間の図
【図147】統合計算の基本計算パターン図
【図148】統合計算の計算結果の図
【図149】統合計算の基本計算パターン2図
【図150】統合計算の計算結果2の図
【図151】論理的に生成する前の情報の図
【図152】論理的に生成された空間
【図153】併合化の説明用の図
【図154】重ね合わせ処理を行うことができる書籍検索装置の機能ブロック図
【図155】書籍検索装置で使用される空間の図
【図156】書籍検索装置において、等価評価を利用した重み付け処理を行った結果の図
【図157】書籍検索装置において、等価評価を利用した論理演算を行った結果の図
【図158】書籍検索装置において、比較検討を行った場合の比較表の図
【図159】書籍検索装置において、比較検討を利用した重み付け処理を行った結果の図
【図160】重ね合わせ処理を行うことができる情報管理ソフトの機能ブロック図
【図161】情報管理ソフトにおける空間の全体概要説明のスクリーンショット図
【図162】情報管理ソフトにおけるノードの要素説明のスクリーンショット図
【図163】情報管理ソフトにおける重み付け処理説明1のスクリーンショット図
【図164】情報管理ソフトにおける重み付け処理説明2のスクリーンショット図
【図165】情報管理ソフトにおける重み付け処理説明3のスクリーンショット図
【符号の説明】
【0371】
1 演算部
2 制御部
3 記憶部
4 出力部
5 入力部
4201 空間データ部
4210 データ取得部
4211 重ね合わせ計算処理部
4212 処理開始部
4213 データ出力部
4214 出力先
4215 等価評価部
4216 演算処理部
4220 論理演算計算部
4221 重み付け計算部
4221 論理演算計算部
4222 統合計算演算部
4223 フィルタリング部
4224 加工処理部
4240 プログラム言語
4241 外部プログラム
4250 空間選択部
4251 リンク選択部
4252 階層選択部
4253 空間フィルタリング部
4810 自動分類処理開始部
4811 自動分類部
4812 巡回部
4813 判定部
4814 個別追加部
4814 追加部
4815 存在可否条件式・巡回可否条件式
4820 存在可否条件判定部
4821 巡回可否条件判定部
4831 同期追加部
4832 リンク追加部
4841 プログラム言語
4842 外部プログラム

【特許請求の範囲】
【請求項1】
ひとまとまりの情報であるノードの集合で形成された一つ、または、複数の空間に対する評価を行う情報空間評価装置であって、
前記空間から情報を取得するデータ取得部と、
取得された情報に基づいて、一つ、または、複数の空間における情報の関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理部と、
前記重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力部と
を備えることを特徴とする情報空間評価装置。
【請求項2】
前記重ね合わせ計算処理部は、
前記ノードどうしが等価であると見なすことができるか否かを評価する等価評価部と、
前記等価評価部による評価に基づいて、前記異なる空間に対して、比較計算をし、その結果を前記関連性として算出する演算処理部とを有する
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項3】
前記演算処理部は、前記等価評価部による評価に対して、一定の条件を満たすか否かを判断することによって真偽を求め、前記異なる空間どうしの真偽を論理演算することによって、前記比較計算をする論理演算部を有する
ことを特徴とする請求項2記載の情報空間評価装置。
【請求項4】
前記論理演算部は、前記等価評価部によって等価と評価された前記ノードの数が指定された範囲なのか否かで前記真偽を求める
ことを特徴とする請求項3記載の情報空間評価装置。
【請求項5】
前記演算処理部は、
前記等価評価部によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとして重み付け処理をする重み付け計算部と
重み付け計算部で得られた重みを用いて、前記比較計算をする統合計算演算部とを有する
ことを特徴とする請求項2記載の情報空間評価装置。
【請求項6】
前記重み付け計算部は、前記等価評価部によって等価と評価されたノードについては、それぞれの前記空間で重複したノードとして、実際よりも少なく数え上げる計算する併合化処理をする
ことを特徴とする請求項5記載の情報空間評価装置。
【請求項7】
前記重み付け計算部は、前記等価評価部によって等価と評価されたノードについては、それぞれの前記空間で1つのノードとして数え上げる計算する一意化処理をする
ことを特徴とする請求項6記載の情報空間評価装置。
【請求項8】
前記重み付け計算部は、前記重みに対して、それぞれの前記空間で等価と評価されたノードの数で除算を行って得られる値を新たな重みとして、前記重み付け処理をする
ことを特徴とする請求項7記載の情報空間評価装置。
【請求項9】
前記重み付け計算部は、前記空間またはノードに応じて、数え上げたノードの数から重みを決定する際の依存関係を変化させる
ことを特徴とする請求項5記載の情報空間評価装置。
【請求項10】
前記統合計算演算部は、それぞれのノードの重みを計算のオペランドとして使用することによって前記重みを計算する
ことを特徴とする請求項5記載の情報空間評価装置。
【請求項11】
前記統合計算演算部は、前記計算において四則演算を使用する
ことを特徴とする請求項10記載の情報空間評価装置。
【請求項12】
前記等価評価部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつお互いに同期しているノードを等価とする判定によって、前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。
【請求項13】
前記等価評価部は、プログラム言語、または、スクリプト言語による判断で前記等価をする
ことを特徴とする請求項2記載の情報空間評価装置。
【請求項14】
前記等価評価は、外部プログラムによる判断で前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。
【請求項15】
前記等価評価部は、空間に存在するノードをすべてお互いに異なるものとして扱う完全独立等価評価によって前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。
【請求項16】
前記情報空間評価装置はさらに、
前記空間に存在するノード、または、前記ノードの情報をソート状態で前記空間別のデータコンテナへ格納するソート済みコンテナ作成部と、
ソート済みデータコンテナに対して線形走査による計算とマージ処理によって一つの結果を導くマージ計算部とを備え、
前記重ね合わせ計算処理部は、前記マージ計算部によってマージ処理された空間に対して、前記重ね合わせ計算をする
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項17】
前記重ね合わせ計算処理部は、
前記ノードと前記ノードとの比較計算を行い、関連度を算出する比較検討部と、
前記比較検討部による評価に基づいて、前記重ね合わせ計算をする比較検討重ね合わせ処理によって前記空間どうしの関連性を算出する
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項18】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、重みを求める比較検討重み付け処理をする
ことを特徴とする請求項17記載の情報空間評価装置。
【請求項19】
前記重ね合わせ計算処理部は、前記比較による値を計算のオペランドとして使用して計算することで前記関連性を算出する
ことを特徴とする請求項18記載の情報空間評価装置。
【請求項20】
前記重ね合わせ計算処理部は、前記比較による値を計算のオペランドとして使用する場合において、計算に四則演算を利用する
ことを特徴とする請求項19記載の情報空間評価装置。
【請求項21】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、空間全体を使用して比較を行う全比較型の比較をする
ことを特徴とする請求項17記載の情報空間評価装置。
【請求項22】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、外部の空間のノードと比較を行う外比較型の比較をする
ことを特徴とする請求項18記載の情報空間評価装置。
【請求項23】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、内部の空間のノードと比較を行う内比較型の比較をする
ことを特徴とする請求項17記載の情報空間評価装置。
【請求項24】
前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理によって空間又はノードに対する重みを算出し、算出した重みを使用して一定の条件に対する真偽を求め、求めた真偽を論理演算する比較検討論理演算をする
ことを特徴とする請求項17記載の情報空間評価装置。
【請求項25】
前記演算処理部は、
ノードに結びついた重みを用いて、前記比較計算をする統合計算演算部とを有する
ことを特徴とする請求項2記載の情報空間評価装置。
【請求項26】
前記ノードに結びついた重みは、
前記等価評価部によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとする等価重み付け処理、または、前記ノードと前記ノードとの比較を用いた前記重ね合わせ計算をすることによって前記重み付けをする比較検討重み付け処理をする重み付け計算部によって求められた、
ことを特徴とする請求項25記載の情報空間評価装置。
【請求項27】
前記ノードに結びついた重みは、空間に関する情報を保存する空間データ部から読み込まれたものである、
ことを特徴とする請求項25記載の情報空間評価装置。
【請求項28】
前記統合計算演算部は、
前記重み付け処理によって得られた結果を特定の等価評価を基準として分類、および、統合する分類統合部と、
前記分類統合部の結果を計算のオペランドとして使用して計算する統合計算部とを有する
ことを特徴とする請求項25記載の情報空間評価装置。
【請求項29】
前記分類統合部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつお互いに同期しているノードを等価とする同期点等価評価によって、前記等価評価をする
ことを特徴とする請求項28記載の情報空間評価装置。
【請求項30】
前記分類統合部は、空間に存在するノードをすべてお互いに異なるものとして扱う完全独立等価評価によって前記等価評価をする
ことを特徴とする請求項28記載の情報空間評価装置。
【請求項31】
前記統合計算部は、前記分類統合部の結果に対して四則演算による計算を行う
ことを特徴とする請求項28記載の情報空間評価装置。
【請求項32】
前記重み付け計算部は、導き出された結果に対して求める重みの値を加工する重み加工処理を行う
ことを特徴とする請求項5記載の情報空間評価装置。
【請求項33】
前記重み付け計算部は、前記重み加工処理において、論理演算により加工する重みを特定する
ことを特徴とする求項32記載の情報空間評価装置。
【請求項34】
前記重ね合わせ計算処理部はさらに、前記演算処理部で得られた結果を特定の条件で絞り込み、その結果を重ね合わせ計算処理部の結果として出力するフィルタリング部を有する
ことを特徴とする請求項2記載の情報空間評価装置。
【請求項35】
前記フィルタリング部は、前記空間の論理演算による絞り込みを行う
ことを特徴とする請求項34記載の情報空間評価装置。
【請求項36】
前記フィルタリング部は、特定のノードかどうかを判定する判定式を使用して絞り込みを行う
ことを特徴とする請求項35記載の情報空間評価装置。
【請求項37】
前記情報空間評価装置はさらに、前記複数の空間を一つの空間として扱う処理である空間の射影化を行う射影部を備える
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項38】
前記射影部は、空間を構成するノード単位で画一的な構造を作り出すノード射影化を行う
ことを特徴とする請求項37記載の情報空間評価装置。
【請求項39】
前記空間は、空間を構成するノードどうしが連結関係を示す情報であるリンクによって連結されたリンク空間であり、
前記射影部は、ノードのリンク構成そのものを複数作り出す事で前記射影化をするリンク射影化を行う
ことを特徴とする請求項38記載の情報空間評価装置。
【請求項40】
前記射影部は、空間に対してデータを結びつけることで前記射影化を行う
ことを特徴とする請求項38記載の情報空間評価装置。
【請求項41】
前記射影部は、ノードであるが空間としても使用することができる独立空間ノードを使用することで前記射影化を行う
ことを特徴とする請求項38記載の情報空間評価装置。
【請求項42】
前記空間は、空間を構成するノードどうしが連結関係を示す情報であるリンクによって連結されたリンク空間である
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項43】
前記リンク空間は、親子関係のリンクで形成された階層空間である
ことを特徴とする請求項43記載の情報空間評価装置。
【請求項44】
前記空間は、単なるノードの集合である無形空間であること
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項45】
前記空間は、論理的な空間である
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項46】
前記空間は、ノードそのものに情報を付加するのではなく、ノードと並行的に付加情報が与えられたレイヤー構造を有する
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項47】
前記レイヤーは、空間の構造そのものに対して前記レイヤーを付加する構造レイヤーである
ことを特徴とする請求項46記載の情報空間評価装置。
【請求項48】
前記レイヤーは、実体そのものに対して前記レイヤーを付加する実体レイヤーである
ことを特徴とする請求項46記載の情報空間評価装置。
【請求項49】
前記レイヤーは、レイヤーにセキュリティ情報が付加されたセキュリティレイヤーである
ことを特徴とする請求項46記載の情報空間評価装置。
【請求項50】
前記レイヤーは、レイヤーに空間の変化、空間に対する命令、または、時間的変移を内部、または、外部ユーザに通知するイベント情報が付加されたイベントレイヤーである
ことを特徴とする請求項46記載の情報空間評価装置。
【請求項51】
前記情報空間評価装置はさらに、
前記空間を構成するノードを追加することによって空間を拡張する自動分類処理部を備え、
前記自動分類処理部は、
前記ノード、または、前記ノードに対応づけられた情報を取得して処理を開始する自動化処理開始部と、
前記ノードのリンクを辿る巡回部と、
前記巡回部において巡回したノードに新たなノードを追加する場合に、適切かどうかを判断する存在可否条件式を使用して適切かどうかを判断する存在可否条件判定部と、
前記存在可否条件判定部により追加が適切と判定された場合に、ノードを追加する追加部とを有する
ことを特徴とする請求項1記載の情報空間評価装置。
【請求項52】
前記追加部は、二番目以降に追加するノードがそれぞれ異なる実体として追加される個別追加をする
ことを特徴とする請求項51記載の情報空間評価装置。
【請求項53】
前記追加部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードどうしを、同期した状態と呼ぶ場合において、二番目以降に追加されるノードが最初に追加されたノードの同期した状態で追加される同期追加をする
ことを特徴とする請求項51記載の情報空間評価装置。
【請求項54】
前記追加部は、二番目以降に追加されるノードが最初に追加されたノードへのリンクの追加となるリンク追加をする
ことを特徴とする請求項51記載の情報空間評価装置。
【請求項55】
前記追加部は、ノードの追加と共に前記存在可否条件式を設定する
ことを特徴とする請求項51記載の情報空間評価装置。
【請求項56】
前記巡回部は、巡回時にノードのリンクを辿って巡回するかどうか判定する巡回可否条件式を使用し、巡回不可と判断された場合に、リンクされたノードの巡回を行わない
ことを特徴とする請求項51記載の情報空間評価装置。
【請求項57】
ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価方法であって、
前記空間から情報を取得するデータ取得ステップと、
取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理ステップと、
前記重ね合わせ計算処理ステップによる重ね合わせ計算の結果を出力するデータ出力ステップと
を含むことを特徴とする情報空間評価方法。
【請求項58】
ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装置のためにプログラムであって、
請求項57記載のステップをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項59】
ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装置のためにプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
請求項58記載のプログラムが記録されている
ことを特徴とする記録媒体。
【請求項60】
前記情報空間評価装置に対して、情報通信網を介して接続することで前記情報空間評価装置の出力する情報を得ることができる情報接続部を備える情報受信装置。
【請求項61】
前記情報接続部は、重ね合わせ計算の結果に依存する情報を得ることができることを特徴とする請求項60記載の情報受信装置。
【請求項62】
ひとまとまりの書籍に関する情報である書籍情報ノードの集合で形成された一つ、または、複数の書籍情報空間に対する評価を行う情報空間評価装置であって、
前記書籍情報から情報を取得するデータ取得部と、
取得された情報に基づいて、一つ、または、複数の書籍情報における情報の関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理部と、
前記重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力部と
を備えることを特徴とする書籍情報空間評価装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate

【図61】
image rotate

【図62】
image rotate

【図63】
image rotate

【図64】
image rotate

【図65】
image rotate

【図66】
image rotate

【図67】
image rotate

【図68】
image rotate

【図69】
image rotate

【図70】
image rotate

【図71】
image rotate

【図72】
image rotate

【図73】
image rotate

【図74】
image rotate

【図75】
image rotate

【図76】
image rotate

【図77】
image rotate

【図78】
image rotate

【図79】
image rotate

【図80】
image rotate

【図81】
image rotate

【図82】
image rotate

【図83】
image rotate

【図84】
image rotate

【図85】
image rotate

【図86】
image rotate

【図87】
image rotate

【図88】
image rotate

【図89】
image rotate

【図90】
image rotate

【図91】
image rotate

【図92】
image rotate

【図93】
image rotate

【図94】
image rotate

【図95】
image rotate

【図96】
image rotate

【図97】
image rotate

【図98】
image rotate

【図99】
image rotate

【図100】
image rotate

【図101】
image rotate

【図102】
image rotate

【図103】
image rotate

【図104】
image rotate

【図105】
image rotate

【図106】
image rotate

【図107】
image rotate

【図108】
image rotate

【図109】
image rotate

【図110】
image rotate

【図111】
image rotate

【図112】
image rotate

【図113】
image rotate

【図114】
image rotate

【図115】
image rotate

【図116】
image rotate

【図117】
image rotate

【図118】
image rotate

【図119】
image rotate

【図120】
image rotate

【図121】
image rotate

【図122】
image rotate

【図123】
image rotate

【図124】
image rotate

【図125】
image rotate

【図126】
image rotate

【図127】
image rotate

【図128】
image rotate

【図129】
image rotate

【図130】
image rotate

【図131】
image rotate

【図132】
image rotate

【図133】
image rotate

【図134】
image rotate

【図135】
image rotate

【図136】
image rotate

【図137】
image rotate

【図138】
image rotate

【図139】
image rotate

【図140】
image rotate

【図141】
image rotate

【図142】
image rotate

【図143】
image rotate

【図144】
image rotate

【図145】
image rotate

【図146】
image rotate

【図147】
image rotate

【図148】
image rotate

【図149】
image rotate

【図150】
image rotate

【図151】
image rotate

【図152】
image rotate

【図153】
image rotate

【図154】
image rotate

【図155】
image rotate

【図156】
image rotate

【図157】
image rotate

【図158】
image rotate

【図159】
image rotate

【図160】
image rotate

【図21】
image rotate

【図161】
image rotate

【図162】
image rotate

【図163】
image rotate

【図164】
image rotate

【図165】
image rotate