JPWO2005122014A1 - 情報空間処理装置、プログラム、および、方法 - Google Patents
情報空間処理装置、プログラム、および、方法 Download PDFInfo
- Publication number
- JPWO2005122014A1 JPWO2005122014A1 JP2006514606A JP2006514606A JPWO2005122014A1 JP WO2005122014 A1 JPWO2005122014 A1 JP WO2005122014A1 JP 2006514606 A JP2006514606 A JP 2006514606A JP 2006514606 A JP2006514606 A JP 2006514606A JP WO2005122014 A1 JPWO2005122014 A1 JP WO2005122014A1
- Authority
- JP
- Japan
- Prior art keywords
- space
- information
- node
- unit
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Abstract
人間の持つ意味といったものノードの集合である空間として扱うことで、本来の情報の持つ意味に近い形で情報を扱い、お互いに共有し、自然な形で処理や管理を可能にする情報管理装置、プログラム、および、方法を提供する。具体的には、ノードの集合で形成された一つ、または、複数の空間を利用する。さらにこの空間に対する比較処理を行い、複数の空間にまたがる概念を抽出する、重ね合わせ処理を行うことができる。さらに本発明は、射影化、レイヤー、自動分類処理といった情報管理、および、生成に関する機能によって空間情報の管理を容易にする。
Description
本発明は、コンピュータプログラムにおける知識情報からなる情報空間の管理、検索、分析、共有化を行う情報空間処理装置についての発明である。
今日の科学技術の発展は目覚しいものである。しかし、一方で、科学技術の進歩と複雑化、インターネット空間での情報の大規模化が進み、膨大な情報を管理することが困難になってきている。これらの問題を解決し、膨大な情報管理を容易にするには、単なる情報を情報として扱うのではなく、情報の持つ意味を効率的に処理することができれば、大きなアドバンテージを持つことができる。
人の頭の中にある、「ある情報に対する意味」というものは非常にあいまいである。また、同じ情報であっても扱う人によって意味は変わる。また、状況や情報に対する視点によっても変化するものである。これが計算機上で表現しにくい原因となっている。極論を言ってしまえば個人の持っている意味情報を正確に扱おうとするなら、脳を分子コピーして、コンピュータ上に分子レベルでシュミレーションしなければならないだろう。しかし、現代科学ではこれは不可能である。では意味といったあいまいなものをコンピュータ上で表現することはできないのだろうか。
過去にも、意味を情報化しようという試みはあった。既存の意味管理システム、意味体系化手法には、非特許文献1、非特許文献2、非特許文献3、非特許文献4、非特許文献5、および、非特許文献9に記述されているようなセマンティクスネットワーク、トピックマップ、RDF(Resource
Description Framework)、OWL(Web Ontology Language)といったものがある。特にトピックマップ、RDF,OWLはセマンティクスウェブと呼ばれ現在盛んに研究されている。しかし、これらでは情報にメタデータを与えることや、情報に意味情報および関係情報を付加、または定義することで情報に意味を与えようとしている。しかし、これでは意味の硬直化と複雑化の増大という問題が起こってしまう。硬直化とは本来「意味」とはあいまいなものであるはずが特定のものに固定されてしまうことで、複雑化とは定義されたデータ間の関係を定義する情報が大きくなりすぎ扱えなくなることを意味する。つまり、既存のデータ管理手法では意味を何かしらの検索用の定義データに置き換えて管理しようとしているとも言える。
Description Framework)、OWL(Web Ontology Language)といったものがある。特にトピックマップ、RDF,OWLはセマンティクスウェブと呼ばれ現在盛んに研究されている。しかし、これらでは情報にメタデータを与えることや、情報に意味情報および関係情報を付加、または定義することで情報に意味を与えようとしている。しかし、これでは意味の硬直化と複雑化の増大という問題が起こってしまう。硬直化とは本来「意味」とはあいまいなものであるはずが特定のものに固定されてしまうことで、複雑化とは定義されたデータ間の関係を定義する情報が大きくなりすぎ扱えなくなることを意味する。つまり、既存のデータ管理手法では意味を何かしらの検索用の定義データに置き換えて管理しようとしているとも言える。
また、非特許文献6、非特許文献7、および、非特許文献8に記述されているマイクロソフトの次世代ファイルシステムの(コードネーム)WinFSなども、情報の次世代の情報管理手法として研究開発が進んでいる。この手法は、ファイルシステムをWebにアクセスするようにファイルシステムにアクセス可能にしようというものである。これは、ファイルについてのメタ情報をリレーショナルデータベースに格納し、高度なクエリー検索、横断検索、検索速度の向上、分類による検索、検索結果の絞り込み検索などが可能になるというものである。しかし、これもまた、情報のメタ情報を管理し検索するという手法である。
ジャック・パーク(Jack Park)著, サム・ハンティング(SamHunting)編, 後藤 強訳, 「XML Topic Maps―時代はセマンティクウェブ」
Members of the TopicMaps.Org Authoring Group著,XML Topic Maps (XTM) 1.0, [online], [2004年5月20日検索], インターネット<http://www.topicmaps.org/xtm/1.0/>
ISO 13250
W3C著, Resource Description Framework (RDF),[online], [2004年5月検索], インターネット<URL:http://www.w3.org/RDF/>
W3C著, OWL Web Ontology Language XML PresentationSyntax, [online], [2004年5月20日検索],インターネット<http://www.w3.org/TR/owl-xmlsyntax/>
MicrosoftCorporation著, WinFS, [online], [2004年5月検索], インターネット<URL:http://msdn.microsoft.com/Longhorn/understanding/pillars/WinFS/default.aspx>
Microsoft Corporation著, WinFS in the Longhorn SDK, [online], [2004年5月検索], インターネット<URL:http://longhorn.msdn.microsoft.com/?//longhorn.msdn.microsoft.com/lhsdk/winfs/daovrWelcomeToWinFS.aspx>
Microsoft Corporation著, The WindowsFile System, [online], [2004年5月検索], インターネット<URL:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaero/html/wux_topic_storage.asp>
「Computational Intelligence Part4 知識工学 オントロジが知識の共有を促す」,日経バイト2004年2月号, 日経BP社, 2004年, P.42−45
しかしながら、上記従来の技術では、人間の持つ意味といったもの本来の意味に近い形で体系的扱い、お互いに共有し、本来の意味に基づいた処理や管理ができているとはいえないという問題がある。
そこで、本発明は、人間の持つ意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱うことができる情報空間処理装置等を提供することを目的とする。
そこで、本発明は、人間の持つ意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱うことができる情報空間処理装置等を提供することを目的とする。
上記目的を達成するために、本発明に係る情報空間評価装置は、ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装置であって、前記空間から情報を取得するデータ取得部と、取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理部と、前記重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力部とを備えることを特徴とする。
本発明では意味といったものを空間として扱う。つまり、意味を何かしらの定義された属性情報ではなく、空間に存在する位置情報、および、その存在の状態情報として扱う。本発明ではこの空間のことを特に意味空間(セマンティクススペース)と呼ぶ。また、この存在の状態情報として扱うことが、意味の持つあいまい性を扱う上で大きな役割を果たす。
本発明では意味といったものを空間として扱う。つまり、意味を何かしらの定義された属性情報ではなく、空間に存在する位置情報、および、その存在の状態情報として扱う。本発明ではこの空間のことを特に意味空間(セマンティクススペース)と呼ぶ。また、この存在の状態情報として扱うことが、意味の持つあいまい性を扱う上で大きな役割を果たす。
本発明は存在の状態を扱うことで、情報の持つ概念を効率的に扱うことができる。この原理によって情報の管理や取得をより効率的に扱うことができる。しかし、これらの効果を適切に引き出すには、特定の管理方法や処理方法を使用する必要がある。
空間の重ね合わせ処理は本発明において非常に重要な概念である。これは異なる空間に存在を比較して演算するというものである。特に重要なものはこの比較に同じであるかどうかを比較するものである。それぞれの空間は何かしらの概念を表現したものとなる。それぞれの異なる空間の中で同じであるものが存在するということは、同じものが異なる概念の中で存在しているということを意味する。本発明においては存在することを意味として捉えている。この存在は空間の構造そのものや、情報と情報の関係といったものに左右されないため、空間の記述に大きな自由度を与えることができる。重ね合わせ処理を使用すれば、複数の空間に横断的に存在するものを浮かびあがらせる事ができる。
一言で言えば、重ね合わせ処理は、空間におけるデータの偏りや特徴を比較することで情報を浮かび上がらせる処理であるといえる。
さらに、重ね合わせ処理は空間予測性を利用する事で大きな効果を生み出ことができる。空間予測性とは人間が空間に結びついた情報や、空間の一部を認知することで、認知していな部分を予測できることを言う。この予測に基づいて重ね合わせ処理を行うことで、認知していない、つまり、ハッキリとした存在すら知らない概念や情報を浮かび上がらせることで到達が容易に可能となる。このように、重ね合わせ処理は人間の持つ予測能力を利用して、情報を検索できる処理であるとも言える。
以下に図を使用して、認知と非認知と重ね合わせ処理について説明する。通常、空間が巨大であるならば、すべてを認知することはできない。しかし、図3の112のように非認知であっても111のような認知した情報からある程度は予測できる。このとき、図4の113に見られるように、認知部分から非認知の部分を予測し、重ね合わせ処理によって非認知の部分についての情報を浮かび上がらせることが可能となる。
以下にキーワードや自然言語処理による検索と、重ね合わせ処理の情報サイクルの比較を行う。図5はキーワードや自然言語処理による検索による情報の流れを示した物である。この場合は、人間121が自身の持つイメージをキーワードや自然言語へ122において変換する。この情報を123でコンピュータが処理し、結果124として出力されて人間がそれを認知する。図6は重ね合わせ処理の情報の流れを示した物である。この場合は、人間121が自身の持つイメージが定義された空間のどれにあたるのかといったことを125においてマッピングして、そのマッピングの結果を126でコンピュータ処理し、結果127として出力されて人間がそれを認知する。
空間の射影化は画一的な構造を維持したままで、異なるものを表現する場合に重宝する仕組みである。つまり、複数バージョンの空間を一つの概念として扱うことを可能とするものである。空間の射影化によって画一的なデータを扱いやすくすることが出来る。用途としては、日本語版と英語版とスペイン語版といった、多言語用に空間を管理する射影化などが強力である。射影化によって特定の構造を保持したまま、様々な局面別のまとまった空間を明確に作成することができる。
レイヤーは空間に対して、付加情報、または、付加情報を使用した処理を提供することができる。例えば、セキュリティに関する情報は、空間で表現したい概念とは通常は異なる。具体的に言えば、あるテスト結果を表現した空間があるとする。この空間のセキュリティに関する情報であるアクセス許可、不許可といった情報は、テストの点数といったテスト結果とは関係ないはずである。このように空間の表現したい概念と直接関係のない情報を明確に分離することで、それぞれを扱いやすくすることができる。
空間の自動分類処理によって空間の拡張が容易になる。この処理を使用すれば、人間が手作業で空間のどこにノードを追加するのか、どこに存在させるべきかといったことを考慮する必要がなくなり、空間全体を把握してノードを追加するという手間を大幅に減少させることが可能となる。
なお、本発明は、上記のような情報空間評価装置として実現できるだけでなく、情報空間評価方法、その方法をステップとして表現したプログラム、そのプログラムを記録したコンピュータ読み取り可能なCD−ROM等の記録媒体としても実現できる。
なお、本発明は、上記のような情報空間評価装置として実現できるだけでなく、情報空間評価方法、その方法をステップとして表現したプログラム、そのプログラムを記録したコンピュータ読み取り可能なCD−ROM等の記録媒体としても実現できる。
この意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱うことができるようになった。このことによって多くの人間が情報を保存、共有、交換、および、伝達できるようになる。この意味のあいまい性の効果は階層空間を利用したプログラムによって顕著に表れる。さらに、存在の状態を使用した空間の論理演算、重み付け処理、意味空間を利用する上で最も強力な機能といえる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
図101に、本実施の形態における情報空間処理装置4000の構成例を示す機能ブロック図を示す。この情報空間処理装置4000は、ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価(分析、管理、検索、共有化等)を行なう装置であり、人間の持つ意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱うことができる点に特徴を有し、データ取得部4210、処理開始部4212、射影部4411、重ね合わせ計算処理部4211、データ出力部4213及び自動分類処理部4809から構成される。データ取得部4210は、さらに、リンク選択部4251及び階層選択部4252からなる空間選択部4250と、空間フィルタリング部4253とから構成される。また、重ね合わせ計算処理部4211は、さらに、論理演算計算部4220、重み付け計算部4221、統合計算演算部4222、フィルタリング部4223及び加工処理部4224からなる演算処理部4216と、等価評価部4215と比較検討部4217とから構成される。
なお、本図には、本情報空間処理装置4000の外に存在する空間データ部4201等も一緒に示されている。各構成要素は一つ、または、複数のプログラム及び/又はハードウェアで実装される。また、プログラムは複数のコンピュータで処理されても良い。全体的な処理の流れは、空間データ部4201から処理開始部4212とデータ取得部4210を使用して、行う処理や対象となる空間を決定する。さらに、処理開始部4212とデータ取得部4210の決定を使用して、重ね合わせ計算処理部4211で重ね合わせ処理を行い、データ出力部4213により出力先4214へ結果を出力する。
空間データ部4201は空間に関する情報が存在する部分で、メモリや磁気ディスクなどコンピュータ読み取り可能な記録媒体、または、ネットワークそのものを意味する。これらの情報にアクセスするには、メモリ、や磁気ディスク上の実現された空間から情報を読み取る方法や、ネットワーク上の他のコンピュータから空間情報を取得する方法などが一般的である・
処理開始部4212でどの様な処理を行うのかを決定する。ここには、外部、または、内部のプログラムからの命令であったり、人間が処理を命令した場合であったりする。この部分で、どの空間が処理対象であるのかとったことや、どの様に重ね合わせ処理を行うのかといったことを決定する。処理を行う上で、空間データ部4201にアクセスしたり、データ取得部4210などを使用して情報を収集したりする。このような処理は例えば、人間がプログラムを通じて対話的に検索対象を決定する場合に多い。
データ取得部4210は、空間データ部4201から情報を取得する処理部であり、処理開始部4212で利用するための情報を取得することや、重ね合わせ計算処理部4211で利用するために行う。データ取得部4210は空間選択部4250の一種であるリンク選択部4251や階層選択部4252などを使用して重ね合わせ処理に使用するデータを取得する。さらに必要であるならデータ取得部4210の結果に対して空間フィルタリング部4253などを実行して使用すべきデータを選別する。
重ね合わせ計算処理部4211は、データ取得部4210で取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う処理部であり、データ取得部4210の情報を元に演算処理部4216と等価評価部4215を使用して、さまざまな演算を行い論理演算の真偽値や重み付け処理や重み付け統合計算の重み(スコア)を取得する。論理演算による真偽値の計算は論理演算計算部4220で実装される。重み付け計算部4221では重み付けの重み(スコア)を求める。統合計算演算部4222では重み付け計算部4221の結果を使用して重み付け統合計算用の処理を行うのが良い。論理演算計算部4220、重み付け計算部4221、統合計算演算部4222の結果に対してフィルタリング部4223を適用することや、加工処理部4224を適用することも有効である。
等価評価部4215について解説する。等価評価部4215は、ノードどうしが等価であると見なすことができるか否かを評価する処理部である。重ね合わせ計算処理で使用される等価評価には基本的に使用できないものはなく、同期点等価評価、ノードのプロパティを使用する等価評価やノードタイプを使用するものなどあらゆる等価評価を使用できる。これらはスクリプト・プログラム言語4240で定義されたり、等価評価の機能を外部プログラム4241に委任したりすることもできる。
比較検討部4217について解説する。比較検討部4217は、ノードどうしを比較して評価する比較検討処理を行う。通常は比較して数値情報を求める。比較検討処理はスクリプト・プログラム言語4240で定義されたり、比較検討処理の機能を外部プログラム4241に委任したりすることもできる。
演算処理部4216は、等価評価部4215、および、比較検討部4217による評価に基づいて、異なる空間に対して、比較計算をし、その結果を前記関連性として算出する処理部である。論理演算計算部4221では論理演算の真偽値を計算する。計算は等価評価部4215、または、比較検討部4217を使用して行われる。たとえば、等価評価部4215による評価に対して、一定の条件を満たすか否かを判断することによって真偽を求め、異なる空間どうしの真偽を論理演算する。この結果は、データ出力部4213に渡されるか、フィルタリング部4223によって真偽値を選別したり、フィルタリング部4223や加工処理部4224の計算に利用されたりする。
重み付け計算部4221では重み付け処理の重み(スコア)を計算する。計算は等価評価部4215を使用して行われる。たとえば、等価評価部4215によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとして重み付け処理をする。通常はこの部分で一意化処理や優先度調整や様々な計算を行う。
統合計算演算部4222では重み付け統合計算の重み(スコア)を計算する。計算は等価評価部4215を使用して行われる。通常、この計算は重み付け計算部4221の結果を利用して行われる。たとえば、重み付け計算部4221で得られた重みを用いて、異なる空間に対する比較計算をする。
重み付け計算部4221や統合計算演算部4222の計算の結果は、データ出力部4213にそのまま出力しても良いが、フィルタリング部4223によって特定のものだけを選別することや、加工処理部4224を使用して、スコアを調整したものを出力するなども有効である。
フィルタング部4223は論理演算、重み付け処理、または、重み付け統合計算などの結果を絞りこむ仕組みであるフィルタリング処理を行うものである。論理演算計算部4220や重み付け計算部4221や統合計算演算部4222の結果に対して適用することで情報を絞り込むことができる。絞り込みには、論理演算計算部4220の結果を使用したり、ノード判定式を使用したりする。また、結果をさらに加工処理部4224で加工を行うことも有効である。これらの結果をデータ出力部4213によって出力先4214に出力される。
加工処理部4224は重み付け処理や重み付け統合計算の重みに対して加工を行う重みの加工処理の計算を行う。加工には論理演算計算部4220の結果を使用することや、ノード判定式を使用して処理を行うものが一般的である。また、結果をさらにフィルタリング部4223で選別することも有効である。これらの結果はデータ出力部4213によって出力先4214に出力される。
データ出力部4213は重ね合わせ計算処理4211の結果を受け取り、出力先4214への出力を行う。出力先は、コンピュータ読み取り可能な記録媒体やネットワークなどである。通常は、結果をメモリや磁気ディスクに保存したり、ネットワークを使用するなどして他のコンピュータやプログラムに結果を転送したり、ディスプレイやスピーカーなどを使用して出力を行ったりする。また、出力された結果に対して、フィルタリング部4223や加工処理部4224を使用して、結果をさらにアレンジすることもできる。
射影化部4411は複数バージョンの空間を一つの概念として扱うことを可能とするための処理、つまり、空間を射影化する処理部である。この機能を使用することで、情報の分散を防止することができる。射影化は、空間の多言語設計や、複雑なプログラムやドキュメントのバージョン別管理など有効である。
本発明の運用形態としては、図161に示されるように、情報提供装置6005に対して一つ、または、複数の情報受信装置が接続して情報を受け取る形態が有効である。図161では情報受信装置6001、6002、が情報空間処理装置4200、空間データ部4201を含む6005から情報接続部6011、6012を介して情報を得ている。これによって実際にはクライアントが情報空間処理装置4200を実装していなくても情報受信装置は重ね合わせ処理の結果などの情報を利用することができる。また、図161に示される実装にすることで、情報を多数のユーザで容易に共有することができる。
また、空間データ部4201や情報空間処理装置4000の機能の一部を複数の装置で共有する運用形態も有効である。このように、機能を分散させることで、計算処理のコストを特定のプログラムやコンピュータに集中させすぎないなどの利点を得ることができる。例えば、図162に示されるように、重ね合わせ計算処理部4211を装置6021、6022にも実装している。この場合、重ね合わせ処理に必要な情報を6025を介して、情報接続部6031、6032が取得して、重ね合わせ処理をそれぞれの装置6021、6022で行う。このように比較的に計算コストの高い重ね合わせ処理などの機能や情報の一部をクライアントコンピュータに任せることで、計算のコストが情報を提供するコンピュータに集中しないように調整できる。
本発明において「ノード」とはコンピュータ読み取り可能な記録媒体、または、インターネットなどの情報通信網で実現されるものである。基本的にノードは情報を結びつけて管理するための単位、または、情報そのものである。通常、情報はノードに結びつけられて管理される。
自動分類処理部4809は、この情報空間処理装置4000が備える各構成要素を順次自動実行させる制御を行う制御部である。
自動分類処理部4809は、この情報空間処理装置4000が備える各構成要素を順次自動実行させる制御を行う制御部である。
次に、本明細書で用いられる各用語の意味と各構成要素の詳細な説明をする。
本発明において、「ユーザ」とはプログラムを使用する人のみならず、プログラムを使用するプログラムも含むものである。
本発明において、「ユーザ」とはプログラムを使用する人のみならず、プログラムを使用するプログラムも含むものである。
本発明において、「リンク」とは、ノードとノードをつなぎ合わせる仕組みである。ノードとノードを結びつけていると人間やプログラム、または、装置が認識できるのならば、いかなる形態で表現されても良い。リンクとはノード群を構造化するなど関連を示すために存在する。
リンクは、単方向リンクと双方向リンクが存在する。使用される環境にもよるが、一般的な実装では双方向リンクによる実装の方がリンクを双方向にたどることが可能となるので、利用しやすい。
リンクに何かしらの制限や規則を適用する「リンク制限」の仕組みを利用することで、様々な特性を持ったノード、および、空間を作成することができる。リンク可能な数を1つに限定して、ノードをリンク空間の中で局所的なものにすることもできる。また、リンク関係を親子関係でリンクさせた階層空間などが代表的である。
実態を持った空間にはノードとノードのリンクにより形成された「リンク空間」と、カテゴリ別にノードを集めた(つまり、単なるノードの集合である)「無形空間」がある。
リンク空間は空間を構造化、体系化することができるので、視認性や理解性に優れている。
無形空間の機能は、リンク空間で代用できる。しかし、無形空間による処理は実装がリンク空間による実装よりも単純で実装しやすい。また、一時的な計算処理などに利用する場合は、特に処理の速度の面で、リンクに関する処理を考える必要がないので優れている。
本発明において、空間を使用するプログラムのことを「空間プログラム」、または、「空間管理プログラム」と呼ぶ。
図7にリンク空間のノード図がある。210はノードで211はリンクを意味する。このようにノードとノードのリンクによって形成された空間がリンク空間である。
以下に図8を使用して無形空間を説明する。リンク空間と異なりノードはリンクされていない状態で格納される。220は無形空間で221はノードである。このように単純なデータノードの集合によって形成されているのが無形空間である。
本発明において、「空間」とは非常に広義な言葉である。空間とはノードが一つでも空間と呼ぶことができる。また、複数の空間を一つの空間と呼ぶこともできる。空間とは一つ以上のノードの集まりを、構造や形や状態にかかわらず一まとめにしたものであると言える。
図9を使用して、空間について説明する。図9の231、232、233はすべて空間と呼ぶことができる。231はノードと呼んでも良い。
ノード間のリンクの情報はノードそのものの中に記述されていても、外部に記述されていてもかまわない。
図10はノードそのものの中にノードのリンク情報が格納される場合の図である。この場合、ノード300がノード301へのリンク情報を保持している。300、301は実装によってはノードの参照の場合もある。
図11は外部にリンク情報が記述されている場合であるの図である。ノード310とノード311はリンク状態であるとする。この場合、リンク情報がノード310、311のノードそれぞれに格納されているのではなく312によってリンク関係が定義されている。310、311は実装によってはノードの参照であることもある。
ノードのリンクはメモリ上で実装される場合は、ノードに対するポインタやオブジェクトへの参照を保持する形で表現する方法が一般的である。
ノードのリンクはHTMLやXMLなどの形式でも表現することができる。HTMLのハイパーリンクやXMLのXlinkなどを使用して表現することもできる。
本発明において、「プロパティ」とはノードに結びついた情報を意味する。ノードに結びついた情報はプロパティと呼ぶことができる。
プロパティに何を設定するかはプログラムの実装者に任せられるものである。例えば名前や説明などのテキスト、IDなどの数値データ、アプリケーション特有のデータフォーマット、バイナリデータ、特定のメモリ領域、XMLで作成されたスキーマ、ファイルのリスト、ファイルストリームでも良い。さらに、プロパティと他のプログラムの情報やネットワーク上の情報と結びつけることで、分散環境での情報管理が容易に実現できる。
本発明において「同期」とは、同じと見なせるが空間上では異なるものである。例えば、ノードA1とノードA2はお互いに同期しているとする。リンクを除いて、A1に対する変化がA2にも適応されるものを同期していると呼ぶ。同期はお互いに同期しているものをリンクは除いて同一のものとして扱うことができれば良い。つまり、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードをお互いに同期しているノードという。
本発明において、「同期点」とはお互いに同期しあっているもののことを言う。以下に図12を使用して同期点を説明する。ノードAは400、401、402でお互いに同期している。このとき400、401、402をAの同期点と呼び、同期点が同じであると言う。また、同期点が1つのものは非同期とみなすこともできる。しかし、実際の実装では同期と非同期を明確に分離されたものとして扱うほうが良い場合が多いと思われる。
同期の扱いはコンピュータ読み取り可能な記録媒体上のインスタンス(実体)の参照を管理するものが最も適当と思われるが、操作を多重化する方法でも良い。
参照とは、メモリ上であれば実体へのポインタとして存在し、オブジェクト指向な環境であれば、オブジェクト、または、オブジェクトの参照として存在しているのが一般的である。外部に定義されたリンク情報といったものも参照と呼ぶことができる。
操作を多重化するとは、ひとつの命令を同期している複数のノードに同時に適用することで、同期を表現する。
図13にインスタンスの参照管理型の実装を図示した。このように421、422は実体420への参照となっている。よって操作423と操作424の効果は共に実体への操作となり同期が維持される。
図14は操作の多重化による実装を示している。この場合410と411はお互いに異なる実体であるが、一つの操作412が複製され、複数の実体に適用されることで同期を実現している。
ノードや空間に対して情報を結びつける方法は、空間の実装によって左右される。ノードや空間に情報を結びつける場合、大きく二つの考え方に分かれる。これはノードの同期も含めたものに対する情報の付加である「同期型情報付加」であるのか、同期を含めない情報の付加である「非同期型情報付加」であるのかといったことである。同期型情報付加は同期したもの同士で共有される情報であるが、非同期型情報付加は同期したもの同士でも情報が共有されていないことを言う。これらの仕組みは、射影化、レイヤー、自動分類処理においても影響する重要な概念と言える。本発明において、プロパティは、同期型情報付加の情報であると言える。
図15は同期を参照管理によって実現する実装における情報の結びつけの方法を示している。440はノードの実体を意味し、441、442は実体の参照を意味する。付加情報443、444、445は440、441、442の内部、または、外部に結びつけられた情報である。同期は参照による操作が実体への操作となることで同期を実現する。参照への操作はリンクを除いて、440へ適用される。この場合、同期型情報付加を適用する場合、付加情報445のように実体440へ結びつける実装が一般的である。また、付加情報443、444に対する操作を多重化することでも実現できる。つまり、付加情報443に対する操作を付加情報444にも適用する方法である。非同期型情報付加の場合は、付加情報443、444に見られるように441、442へ付加されている。これで実体とは異なり、参照に情報を付加することで、情報付加に柔軟性が生まれる。例えば、この参照が空間を定義する情報である場合、自由に特定の空間に対して情報を付加することもできる。
図16は同期を操作の多重化により実現する実装における情報の結びつけの方法を示している。一つの命令439を同期関係にあるノードの実体431、432に同時に適用することで同期を維持している。付加情報433、434、435、436、437は431、432の内部、または、外部に結びつけられた情報である。この場合、非同期型情報付加を行う場合は、付加情報433、434に情報を付加すれば良い。同期型情報付加を適用する場合、431、432から共通の付加情報437を共有することで利用できる。同期型情報付加は付加情報433、434を使用しても実現できる。この場合、ノードに対する操作が多重化されたように、付加情報433、434に対する操作も多重化するという方法でも実現できる。
「独立空間ノード」を使用することで、空間そのものをノードとして扱うことができる。つまり、独立空間ノードはノードとして扱うことも、空間として扱うこともできる。
以下に図17を使用して、独立空間ノードを解説する。500、501は独立空間ノードでお互いに同期しているとする。500、501はノードの様にリンクされているが、内部に空間が形成されている。またノード502への変更は503への変更となる。これは、500と501が同期しているため、内部の空間が同期しているのである。
独立空間ノードの実装について説明する。実装は様々に考えられるが、ノードに空間の情報を結びつければ良いので実装は比較的容易である。結びつける方法は同期型情報付加によってノードに対して空間の情報を結びつければ良い。
「ノードタイプ」とは、ノードを表す型を意味する。ノードタイプを具現化したものがノードとも言える。これは、オブジェクト指向言語で使用される、クラスとインスタンスの関係に似ている。クラスを具現化したものがインスタンスである。
ノードは「継承」を使用して、新たなノードを定義できるものとする。この機能はノードを拡張して新たなノードに継承元のプロパティを受け継がせることが出来るものである。継承とはオブジェクト指向言語などで良く利用されるものであるが、プログラム言語以外の分野でも良く利用されているものである。この仕組みは実装の重複を防止し、概念を体系化し、プログラミング言語で多態性を表現できるようになるものである。具体例としてノードを継承し、ノードにファイルを格納するファイルデータノードなどを作成するなどの用途で使用される。この仕組みは空間プログラムにおいて必要なものではないが、空間の管理がより容易になる。
図18を使用して、継承について説明する。ノード602はノード601を継承して作成されている。ノード602のプロパティ615、616は、ノード601のプロパティ610、611をそのまま受け継いでいる。その上で、新たなプロパティ617を拡張している。
さらに、XMLを使用して、ノードの継承を説明する。図19、図20はノードタイプを定義したXMLである。図19は図18のノード601を、図20は図18のノード602を意味する。この場合、図20のプロパティのうち、図19で定義されているものは省略(受け継がれて)いるのがわかる。
ノードの応用的な実装は数多く考えることができる。ノードのプロパティにURIやグローバルIDを結びつけて、ネットワークへつなげば、容易にインターネット上での情報管理システムとなる。ファイルシステムのファイルやディレクトリに結びつければ、強力なファイル管理システムとなる。
ノードは情報そのものであっても良い。つまり、単なるテキストデータや画像データであっても良い。これらをノードとして扱うかどうかはプログラム次第でコントロールできる。
以下に空間を利用して、ファイルシステムを実装する方法を図21と図22を使用して説明する。ノード730をフォルダ740と結びつける。同様に731をファイル741と、732をファイル742と結びつける。このようにすれば、仮想ファイルシステムが出来上がる。
ノードのリンク関係が親子関係のものを特に「階層空間」と呼ぶものとする。親子関係で作成された空間は容易に体系化することが出来るので、無秩序にリンクされた空間より学習理解性に優れている。階層空間が優れているのは「空間予測性」に富むと言うことである。これは空間の一部を認識するだけで、それに連なる空間を予測しやすいということにある。この空間予測性が空間の重ね合わせ処理で大きな効果をもたらす。
階層空間とは親子関係の空間であるため、始点となるノードが存在することとなる。これをルートノードと呼ぶ。また、元になるノードが定まるのでそのルートノードからのパスで目的の空間を指定することが出来る。
以下に図23を使用して階層空間を説明する。ノード812はノード811の子ノードであり、ノード811はノード810の子ノードとなっている。このように親子関係で構成されたものが階層空間である。
空間予測性を図24を用いて説明する。800のノードは日記についての情報に対するリンクを所持している。もしあなたが、2001年10月6日の日記を読もうとする。あなたは、801の日付別のノードを辿って探すだろうか、それとも、802の思い出別のノードを辿るのだろうか。あなたは、日付別のノードを辿って探そうとするだろう。これが空間予測性である。これは空間の一部を認知することによって先の空間の構成を予測できることを言う。
階層空間を使用したアプリケーションが実装される場合、ユーザインタフェースは図25の様なツリービューなどによる実装が容易で一般的であろう。
この情報空間処理装置4000は、プロパティを使用して検索をすることができる。この検索はプログラミング言語などで再帰処理を記述することや、検索巡回するエージェントを使用することなどで、簡潔に検索処理を記述することが出来る。
本発明において、ノード間の情報を定義することもできる。これは、ノードとノードの関係をメタデータで定義するということを意味する。これは従来のセマンティクスウェブでも利用されてきた方法である。しかし、ノード間に与えた情報を元に処理を行う手法は、特定のアプリケーションには扱いやすいが、他のアプリケーションからは扱いにくいものとなる可能性がある。また、情報の硬直化を招いてしまう可能性もある。しかし、この手法の利点はコンピュータによる情報の自動処理や推論処理を記述しやすいという利点がある。
ノードとノードの間にリンクノードを配置することによってリンク自体にノードと同じ特性を与えることが容易に可能となる。つまり、プロパティを保持することや、重ね合わせ計算処理部4211による重ね合わせ処理の実行といったことも、通常のリンク空間の実装を使用することで容易に実装することもできる。また、ユーザ側からはリンクノードをリンクとして見せることでより自然にリンクを扱うことができる。リンクに関連情報や特別な情報を与えるような実装を行う場合でもこのような実装が望ましい。図26に示されるように空間828にはノード821とノード823の間にリンクノード822が配置されている。これを実際のユーザ側に対して空間829として公開する。この場合ノード821はノード824として、ノード823はノード826として表現できる。リンクの形態もリンクノード822からリンク825として使用されることになる。
本情報空間処理装置4000は、単数、または、複数のコンピュータによって実現される。図1に一般的なコンピュータの概略図を示している。本発明は、パーソナルコンピュータ、サーバコンピュータ、メインフレームコンピュータ、ネットワークシステム、携帯情報端末、組み込みマイクロコンピュータなど、あらゆるコンピュータ、および、システムに実装可能である。本発明の原理は比較的単純であるため、ストアドプログラム方式と呼ぶことのできるコンピュータ、または、それを使用したすべてに実装可能である。
空間データ部4201における空間の実装方法は無数にある。たとえばXMLで利用されるDOM(Document
Object Model)でも、空間の実装をシミュレートすることができる。ネットワーク型データベースと呼ばれるものもリンク空間の一実装例ともいうことが出来る。階層型データベースは階層空間の一実装例と言える。RDFもリンク空間を実装した一例であると言える。ファイルシステムもディレクトリとディレクトリ、ディレクトリとファイルの親子関係によるリンクで形成された階層空間と言うことができる。
Object Model)でも、空間の実装をシミュレートすることができる。ネットワーク型データベースと呼ばれるものもリンク空間の一実装例ともいうことが出来る。階層型データベースは階層空間の一実装例と言える。RDFもリンク空間を実装した一例であると言える。ファイルシステムもディレクトリとディレクトリ、ディレクトリとファイルの親子関係によるリンクで形成された階層空間と言うことができる。
ノードがプログラム言語によって、メモリ上で実装された場合、C言語の場合はデータ部とポインタ部から成るリスト構造が一般的ある。また、JAVA(登録商標)言語のようなオブジェクト指向言語においては、オブジェクトによるリンク構造を作成するのが一般的である。
ノードはネットワーク上でも実現することができる。これは、ノードやリンクといったものがネットワークを流れる信号であっても良いということを意味する。
図27のノード図に示される空間をXML形式で作成した場合の実装例を示す。アルファベットが同じものはお互いに同期しているとする。それぞれのノードは”name”プロパティと”type”プロパティのみを持つ単純なノードである。それぞれのノード自身の定義は、図28にノードA、図29にノードB、図30にノードC、のノードをXMLであらわしたものである。これらのノードをネットワーク型のリンク空間とした場合のリンクの定義が図31の定義である。これらをリンク空間の一種である階層空間として表現した場合は、図32のように表すこともできる。これは親子のリンク関係をXMLの親要素、子要素として表現したものである。
ノード、および、空間は、コンピュータ読み取り可能な記録媒体、または、情報通信網上に実際に存在している必要はない。クエリーやプログラム、計算式などで表現できる論理的に存在するものもノード、および、空間と呼んでも良い。
以下に、論理的に存在する空間について説明する。図149は単なる情報の羅列である。図149では、ただ単にアルファベットと、そのアルファベットの順番が表示されているだけである。ただこの情報に対して、「アルファベットにアルファベット順に番号を付けて、付けられた数値を大きさとして、k、d、s、c、f、p、x、a、e、g、m、s、v、zの順に要素を挿入して2分探索木の空間を生成する」という計算式を適用すれば、図150の様な空間となる。この場合、しかし、空間は計算されるまで実態として存在していないといえる。このように計算式を利用して、実際に実在していない場合でもコンピュータ読み取り可能な記録媒体、または、情報通信網上に実際に存在している空間と同等に使用することができる。
ノード、および、ノードに結びついたデータの管理方法は無数にある。ノードに全情報をそのまま格納してもよいが、ファイルシステムによる管理やデータのシリアライズ化などを使用しても良い。また、リレーショナルデータベースとの連携による実装なども考えられる。プログラム実行時にはメモリ上に空間情報を展開しておき、保存用に不揮発性の記録媒体に記録することで、情報を永続化させるなども有効な実装である。
図33を使用して本情報空間処理装置4000によるデータのシリアライズ化によるノード情報の管理の一例を説明する。910のノード情報を、911のシリアライズ処理により、912のバイトストリームやXML(図34参照)などに変換し、913の記録媒体に保存される。913はファイルシステムでも、ネットワークファイルシステムでもデータベースでも独自のストレージシステムでもよい。
図35を使用して本情報空間処理装置4000によるリレーショナルデータベースによるノード情報の管理の一例を説明する。920、921はノードである。この実装では、ノードのプロパティをリレーショナルデータベース923のテーブル922に格納して、プロパティによる検索を早めることができる。また、ノードそのものもシリアライズ処理で、テーブルにデータとして格納することで管理をより容易にすることもできる。ノードの参照情報をテーブルに格納することも有益である。
図36を使用してプログラム実行時にはメモリ上に空間情報を展開しておき、保存用に不揮発性の記録媒体に記録することで、情報を永続化させる場合を説明する。空間プログラム930が起動している場合、より高速なメモリなどの記録媒体931に空間を展開し、演算などを行う。しかし、保存命令時、終了時、または、あるタイミングによって不揮発性のコンピュータ読み取り可能な記録媒体932に空間のデータ記録することで、効率的なコンピュータの資源を有効活用する。
次に、この情報空間処理装置4000による空間の分散管理についての説明を行う。扱う空間が巨大になると一つのコンピュータ、または、一つのプログラム上で管理することが困難となる。空間は当然複数のコンピュータ、および、複数のプログラムでも実現できる。空間の分散管理の実装方法は多数あるが、代表的なものを以下に列挙する。
・ 異なるプログラム間で、ノードを同期として共有する
・ 異なるプログラム間で、ノードをリンクさせる
・ 以上の手順を組み合わせる。などがある。
・ 異なるプログラム間で、ノードを同期として共有する
・ 異なるプログラム間で、ノードをリンクさせる
・ 以上の手順を組み合わせる。などがある。
空間の分散管理は複数のプログラムで空間を管理する。空間の分散管理は一つのコンピュータ上、または、図2に示すように複数のコンピュータ上にも実装することができる。15はインターネットやイントラネット、無線通信などのネットワーク(情報通信網)を意味する。10、11、12、13はネットワークに接続されたそれぞれ独立したコンピュータを意味している。
図37に示されるようなプログラム間の通信に使用する代表的なものを以下に列挙する。
手法1 ネットワーク、ネットワークプロトコルを利用した通信
手法2 メモリやハードディスクなど、コンピュータ読み取り可能な記録媒体の共有による通信
手法3 処理のアドレス呼び出しによる通信
手法4 プログラム言語のシステム、または、ライブラリによる通信
手法5 OSのAPIによる通信
などがある。要は、プログラム間で情報の共有、または、伝達を行うことができるものであるならば良い。ネットワークプロトコルとはOSI参照モデル(OSI reference model)に一部、または、全体を含めることができるものはすべて含めることのできる概念である。アドレス呼び出しとは、特定の処理を記述した部分へメモリ上のポインタを使用してアクセスする方法である。これは、C言語などではコールバック処理と呼ばれるものでも使用されている。また、多くの場合、手法3、4、5は手法1、2を用いて実現されている。
図38を使用して、異なるプログラム間で、ノードを同期として共有する場合の説明を行う。1201、1202、1203はプログラムを意味する。プログラム1201で管理されているノード1210は共有手段1205によってプログラム1202でノード1211として使用されている。また、プログラム1203で管理されているノード1213は共有手段1206によってプログラム1202でノード1212として使用されている。しかし、プログラム1202からは1202によって管理されているかの様に操作することができる。
図39を使用して、異なるプログラム間で、ノードをリンクさせる場合の説明を行う。1230、1231はプログラムを意味する。ノード1220、1221をリンク手段1232によってリンクされている。このようにノードとノードが直接リンクを形成することで、空間を形成している。
空間の分散管理を使用して、多ユーザによる空間の接続が可能となる。これはインターネット上で大規模な意味ネットワークの構築を可能する。
以下に図を使用して、論理演算
以下に図を使用して、論理演算
ノードにURIやGUIDのようなグローバルに一意なデータ(グローバル識別子)と結びつけることで、ネットワークを介したグローバルなレベルでの空間の重ね合わせ処理なども容易に実現させることが可能となる。また、同期の情報とグローバル識別子を結びつけることで、同期の実装をネットワーク環境などで実現しやすくなる。
空間におけるイベントは、空間の変化、空間への命令、時間的遷移時に対して外部、および、内部のプログラムにそれを伝える仕組みである。図40は発生したイベントが外部に伝わる様子を表したものである。コンピュータ1300上の空間プログラム1301で発生したイベントはメッセージ1310のように内部のプログラムに伝えられている。メッセージ1311は外部のプログラム1302に伝えられている。メッセージ1312はネットワーク空間1305を走り、他のコンピュータ1303のプログラムに伝えられる。
一つ、または、複数の空間を様々なユーザで共有する場合、セキュリティの問題は無視できない。このためユーザ別に使用可能な操作を設定できることが重要である。
図41を使用してセキュリティを説明する。ユーザ1410、1411、1412はそれぞれ異なる権限を持っている。操作1420、1421は空間1430に対する命令を表す。ユーザ1410は操作1420、1421を実行する権限を持っているので実行できる。ユーザ1411は操作1421実行できるが操作1422は実行できない。ユーザ1412は操作1420、1421を実行できない。このように、使用するユーザによって適用できる命令に制限を課す。
セキュリティの権限や制限についてさらに詳しく説明する。ノードやリンクといったものにセキュリティをかける場合、一般的には、「読み込み」、「書き込み」、「実行」といったものに分解できる。読み込みに関する権限は、データの一部、または、全体を読み込めないようにすることができる。完全に読み込みを不可にすれば、不可視となり存在していることそのものを隠蔽することも可能となる。書き込みに関する権限は、ノードやリンクそのものや、結びついた情報の変更を禁止することができる。実行に関する権限は、ノードなどに結びついたプログラムやスクリプトなどの処理を実行できないようにすることも可能である。セキュリティはノードやリンクなどの「存在するもの」に付加されるだけではない。特定の機能や命令の実行に制限をかけることもできる。例えば、論理規則や射影化を行うことに対して制限するなどもある。
「リンク選択」とはリンク空間において、あるノードから特定の法則に従って空間を選択する方法である。選択された空間は空間の重ね合わせ処理、論理規則、レイヤーなど、処理や演算に空間を指定するものに利用すると便利である。選択とは厳密に定義すると、空間プログラムから認知されている空間となる。つまり、プログラムがその空間に対して処理を行えるだけの情報を取得した状態を意味する。
「リンク数選択」を利用することで、あるノードを中心に指定された数だけリンクを辿り、辿った空間を選択する方法である。
以下に図42Aと図42Bを使用して、リンク数選択部4251によるリンク数選択について説明する。図42Aのノード1500のノードに対してリンク数を2として、リンク数選択を実行すると図42Bになる。図42Bの破線で示された部分が選択された空間である。
「階層選択」は階層空間において有効な選択方法である。この方法はリンク関係が親子関係で構成されていることが前提で使用可能なものである。階層空間の親ノードが選択されると、その子供ノードまで選択する仕組みである。
以下に図43を使用して、階層選択部4252による階層選択について説明する。図43の1520、1521、1522、1523はノードであり、1510、1511、1512、1513は空間である。このとき1520のノードにおいて階層選択が実行されるとき、1510の空間が選択される。同様に1521のノードの場合は、1511の空間が選択され、1522のノードの場合は、1512が選択され、152のノードの場合は1513の空間が選択される。
空間フィルタリング部4253は、「空間フィルタリング」を使用することで、選択された空間に対してフィルタリング処理を行い、空間の中のより必要とされる部分を抽出することができる。フィルタリング処理は選択するものかどうかを判定する部分が必要である。この部分にノード判定式を利用する、単純なものから、複雑なノード計算式までフィルタリング処理に利用することができる。
データ取得部4210が空間をコピーする場合、大きく分けると3つのコピー方法が存在する。以下に3つのコピー方法を列挙する。
方法1 すべてのノードを同期としてコピーする
方法2 すべてのノードを実体としてコピーする
方法3 特定のノードを同期としてコピーして、残りを実体とコピーする
などがある。方法3では特定のノードを同期としてコピーするが、実際はリンク選択やフィルタリング処理により、特定したノードのみを同期としてコピーするのが一般的である。
方法1 すべてのノードを同期としてコピーする
方法2 すべてのノードを実体としてコピーする
方法3 特定のノードを同期としてコピーして、残りを実体とコピーする
などがある。方法3では特定のノードを同期としてコピーするが、実際はリンク選択やフィルタリング処理により、特定したノードのみを同期としてコピーするのが一般的である。
本発明において、「ノード計算式」とはノードに関係する情報を取得、または、使用して、計算する手順を定義したものである。ノードに結びついた情報とは以下に列挙するものが代表的である。
・ ノードの同期点の情報
・ ノードのプロパティの情報
・ ノードが保持する特定のプロパティの値、または、結びついた資源の情報
・ ノードタイプに関する情報
・ ノードのリンクに関する情報
・ ノードに直接結びつかない(独自の付加情報、レイヤーの情報、ログデータなど)情報
これらを使用することで、ノードに関して様々な分析を行うことが可能となる。どのような計算を行うかは分析したいデータや求めたい情報によって異なる。
・ ノードの同期点の情報
・ ノードのプロパティの情報
・ ノードが保持する特定のプロパティの値、または、結びついた資源の情報
・ ノードタイプに関する情報
・ ノードのリンクに関する情報
・ ノードに直接結びつかない(独自の付加情報、レイヤーの情報、ログデータなど)情報
これらを使用することで、ノードに関して様々な分析を行うことが可能となる。どのような計算を行うかは分析したいデータや求めたい情報によって異なる。
「ノードの同期点の情報」を使用することで、特定のノードの同期点かどうかといった事や、空間に特定のノードの同期点はいくつあるのかといったことを知ることができる。
「ノードのプロパティの情報」とはノードがどの様なプロパティを保持しているか、ノードのプロパティにはどの様な情報を格納できるかといったプロパティの定義に関する情報のことである。
「ノードのリンクに関する情報」とは、ノードに対してリンクはいったいいくつあるのか、ノードのリンクは双方向かといった情報である。
「ノード判定式」とはノード計算式で使用されるような、ノードに関係する情報を使用して計算する手順を定義したもので、ノードが求めるものか、そうでないかを判定する式のことを言う。ここには、単純にプロパティの値が特定のものかどうかといった単純なものから、より複雑なノード計算式を使用して答えをもとめるものでも良い。実際の実装では、スクリプト言語やプログラム言語でノード判定式が定義することができるようにするのが一般的であろう。外部、または、内部のプログラムによるノード判定式の実装も有効である。
図を使用して、本情報空間処理装置4000が使用するノード計算式、ノード判定式がいかなるものかをいくつかの例を示して説明する。図44において、ノード1616の詳細な定義が1601となる。ノード1616に対してノードのプロパティの値を使用した計算の例を図45の表に示す。
ノード1616に対してノードのプロパティ、ノードタイプ、リンクの情報を使用した計算の例を図46の表に示す。図47のノード1621とノード1622はお互いに同期している。このとき、同期点情報を使用した計算の例が図48の表に示される。
ノード1616に対してノードのプロパティ、ノードタイプ、リンクの情報を使用した計算の例を図46の表に示す。図47のノード1621とノード1622はお互いに同期している。このとき、同期点情報を使用した計算の例が図48の表に示される。
次に、等価評価部4215による「等価評価」について説明する。等価とは同じであることを意味し、等価評価とは同じであるかどうかを判定することを意味する。何をもって等価とするかは、空間を使用する状況において変化する。ノード計算式で使用されるような、ノードに関係する情報を使用して、評価するのが一般的である。ノードに結びついた情報を、そのまま比較して等価かどうかを判定する方法や、より複雑なノード計算式をプログラム言語やスクリプトで定義して判定するなど多岐にわたる。以下に特に重要と思われるものを列挙する。
・ ノードの同期点が同じもの(お互いに同期しているもの)を等価とする。
・ ノードで定義された特定のプロパティの値が同じであるものを等価とする。
特に同期しているもの同士を等価とする同期点等価評価は重要である。これは、同期しているもの同士は本質的に同じものであるからである。同期しているものを等価として計算することは自然なことで、使用される場面も非常に多いと思われる。
・ ノードの同期点が同じもの(お互いに同期しているもの)を等価とする。
・ ノードで定義された特定のプロパティの値が同じであるものを等価とする。
特に同期しているもの同士を等価とする同期点等価評価は重要である。これは、同期しているもの同士は本質的に同じものであるからである。同期しているものを等価として計算することは自然なことで、使用される場面も非常に多いと思われる。
等価かどうか比較するそれぞれのノードにノード計算式を適用し、ノード計算式の結果が同じものや、近いものを等価とするなども一般的な手法である。
図を使用して、等価評価部4215によるプロパティ、ノードタイプを使用した等価評価を具体的に説明する。図49には二つのノード1701、1702が定義されている。この二つについてプロパティ、および、ノードタイプを使用した様々な等価評価を適用した場合の一例を示した結果表が図50である。さらに例を挙げると、プロパティ1715とプロパティ1725の値を、テキストマイニングや構文解析によって解析して等価なのかどうかを判定するなどがある。
図を使用して、同期点、リンクを使用した等価評価を具体的に説明する。図51のノードで同じアルファベットが降られたノードはお互いに同期している。つまり、ノード1730、1731、1732はお互いに同期しており、ノード1735、1736も互いに同期している。ここで、同期点の情報と、リンクの情報を使用して、等価評価を適用した場合の一例を示した結果表が図52である。
ノードの外部のデータを使用して、等価評価を行う方法もノードに関係するデータをそのまま、あるいは計算してその結果を比較する方法が一般的である。
等価の仕組みをどのように実装するかは空間プログラムの実装者に任せられる。また、何をもって等価とするかは、空間の使用される状況、および、設計によって千差万別であるのでその状況に応じた仕組みを提供することが望ましい。この等価評価部4215による等価評価は重ね合わせ処理や論理規則で特に重要な概念である。空間プログラムを使用して、情報を分析する場合、等価評価の判定基準を変えることで、様々に視点を変えることができる。そのため、空間プログラムのユーザがスクリプト言語やプログラム言語、外部プログラム等で等価評価を柔軟に拡張することができる仕組みが提供されていることが望ましい。特に、等価評価を複雑な構文解析やデータマイニングを通じて行う場合、外部プログラムと連携して等価評価を実行する仕組みは、実装のしやすさやの向上や、第三者による等価評価の提供や拡張を容易にする。等価評価は比べる2つのノード、または、ノード情報を渡して、同じかどうかの判定や計算処理用の情報を渡すだけでも良いので外部に記述することは比較的容易である。
重ね合わせ計算処理部による空間の「重ね合わせ処理」とは、ノードを比較する比較評価を使用して、複数の空間から情報を抽出することにある。この処理を使用することによって、様々な情報を浮かび上がらせることができる。比較評価の仕組みとして利用されるものは等価評価部4215による等価評価が最も重要である。本発明では、等価による重ね合わせ処理を「等価重ね合わせ処理」とも呼ぶ。
論理演算計算部4220による空間の「論理演算」は、ある特定のノード、または、空間を使用して行われる重ね合わせ処理の一種である。この演算は空間の情報を論理演算用の真偽値表であらわして真偽値表同士で論理演算を行う方法が一般的である。AND(論理積), OR(論理和), XOR(排他的論理和), NOT(否定論理積), NAND(否定論理積), NOR(否定論理和),XNOR(排他的論理和の否定)とすべての演算が可能である。基本的にこの演算は空間に含まれるノードに対しての情報、および、真偽を返す。
論理演算において何を真として、何を偽とするかは重要である。一般的なものは、等価評価で等価と判断されるノードの数が、任意の指定された範囲であるのか、どうかで真偽を決定する方法である。例えば、等価な数が1以上のものを真、それ以外を偽とするなどである。これらの値はユーザが状況によって指定できる実装が良い。また、空間によって指定される数を変えて計算することもできる。
また、論理演算において重み付け処理などの結果スコアを元に真偽を決定する方法も重要である。例えば、あるノードに結びついた重み付け処理のスコアが1以上、10以下が真でそれ以外を偽として計算するなどである。
以下に図を使用して、論理演算計算部4220による空間の論理演算の実装例を解説する。図53の丸はノードで中に数字が割り当てられているものが、空間の演算対象となっている。数字の意味は、等価となるものを同じ番号であらわした等価番号である。この例では、二つの空間1800、1801は共に等価な数が1以上のものを真とする。つまり、存在するものは空間単位ですべて真となる。空間1800を論理表に置き換えた真偽値表が図54に示され、空間1801を置き換えた真偽値表が図55である。論理演算をAND演算の使用で、詳細に説明すると図56のようになる。図56に示されるように、本実装ではそれぞれの空間に存在しないもの(なし)は、偽として演算されている。図56でも示されるように、真偽値表に置き換えた時点で通常の論理演算と同じ真偽値が結果として返ってくる。同様に、空間1800と空間1801を論理演算した場合の結果が図57のAND演算、図58のOR演算、図59のXOR演算、図60のNAND演算、図61のNOR演算、図62のXNOR演算に示されるような結果となる。
当然、真偽値の計算は単に空間を真偽で表したもの同士とは限らない。ビットマスクを適用したり、演算の結果同士を論理演算したり、特定の部分にNOT演算を適用することも当然行うことができる。
以下には、論理演算の指定数を様々に変化させた場合の真偽値表を示す。空間1800を等価な数が2以上のものを真、それ以外を偽として、真偽値表として置き換えた場合図63の結果となる。
また、ノードに結びついた情報が一定の基準を満たす場合に真、そうでない場合は偽とするなどがあります。例えば、重み付け処理で求めた重みが特定の範囲の値であるかどうかで、真偽を決めるなどである。具体的に言えば、重ね合わせ処理の結果のスコアが5から10の間を真で、そうでない場合は偽にするなどである。
重み付け計算部4221による空間の重み付け処理は、ノードの比較評価を使用した検索で、一つ、または、複数の空間からデータの重みを求めるものである。比較評価の仕組みとして利用されるものは等価評価が最も重要である。本発明では、等価評価による重み付け処理を「等価重ね合わせ処理」とも呼ぶ。また、ノード同士を比較して重みを求める比較検討処理による重み付け処理を「比較検討重ね合わせ処理」と呼ぶ。
重み付け計算部4221による等価重み付け処理は、ある特定のノード、または、空間に対してノードの等価評価で等価とされたものの重複数を数え上げて演算を行う。通常、重み付け処理においてこの重複数は情報に対する重要度とも捉えることができる情報である。通常、重み付け処理は、図65に示されるように、求めた重み(スコア)と等価なノードに関する情報を返す。
空間に併合化処理を適用することで、空間の設計により大きな自由度を与えることができる。併合化とは空間に存在する等価なものを併合、つまり、まとめ上げる処理を言う。具体的に言えば、ある空間に6個の等価なものが存在するときにそれを2つにしてしまうなどである。併合化処理でも特に重要なものは一意化処理である。
以下に併合化処理を図を使用して説明する。図151の空間6101に対して、等価なものを最大2個にするという計算処理を行うとする。この処理の結果は図151の表61021に示されるようになる。つまり、併合化とは重複するものをまとめ上げるて計算する処理であるといえる。
一意化処理とは、空間それぞれの空間で等価なものが複数ある場合、これを重複数1とみなす処理である。たとえば、等価評価部4215によって等価と評価されたノードについては、それぞれの空間で1つのノードとして数え上げる。
重み付け計算部4221による空間の重み付け処理は、重み付けの値を状況に応じて変化させることができる。これを特に、優先度調整と呼ぶ。この機能によって、重み付け処理の使用時に意味の調整が可能となる。たとえば、空間またはノードに応じて、数え上げたノードの数から重みを決定する際の依存関係を変化させる調整などである。
図を使用して、重み付け計算部4221による一般的な空間の等価重み付け処理と一意化処理を使用した重み付け処理の具体例を図によって説明する。図64に示される3つの空間における重複数の数え上げを示す。3つのノード図でアルファベットa、bが打たれたノードが重み付け検索において検索のため選択されたノードであるとする。それぞれの空間のaノード1901、1902は等価同士で、bノード1903、1904、1905、1906も等価同士であるとする。
以下は、等価重み付け処理を使用した具体例を示す。空間1910と1911と1912と1913の重み付け検索の結果は図65に等価ノードの列挙と重み(スコア)として示されている。空間1910はaノードのスコアが1、空間1911はaノードのスコアが1でbノードのスコアが1、空間1912はbノードのスコアが3として計算される。よって3つの空間の加算による重ね合わせのスコアはaノードのスコアが2、bノードのスコアが4となる。以上の様に計算時に空間における等価評価のノードをそのまま数え上げる。
以下に、重み付け計算部4221による一意化処理を使用した重み付け処理の具体例を示す。空間1910と1911と1912の重み付け検索の結果は図66に等価ノードの列挙と重み(スコア)として示されている。空間1910はaノードのスコアが1、空間1911はaノードのスコアが1でbノードのスコアが1、空間1912はbノードのスコアが1として計算される。よって3つの空間の加算による等価重み付け処理のスコアは、aノードのスコアが2、bノードのスコアが2となる。このように空間1912でbノードのスコアが1にマージされている。
重み付け計算部4221は、通常の重み付け処理と、一意化処理を使用した重み付け処理は、当然組み合わせて使用することができる。例えば図64の場合、空間1910と空間1911と空間1912の重み付け処理の場合、空間1910、1911は重み付けで計算して、空間1912は一意化処理を適用して重み付けで計算するなどが可能である。
以下に図を使用して、優先度調整を説明する。図64の空間1910、1911、1912の等価重み付け処理において1912全体の優先度を二倍にしたとき、計算時の1912のスコアはbノードが6となる。その結果、最終的に、加算による等価重み付け処理の計算結果は図67に示されるように、aノードのスコアは2、bノードのスコアは7になる。以上の様に、優先度をノード、または空間に対して状況に応じて変化させることで、重み付け処理に柔軟性を与えることができる。
一意化処理の計算方法について説明する。等価となるノードが一つの空間に複数ある場合、強制的に重みを1にしてしまうと優先度に関する情報が失われてしまう可能性がある。よって一意化処理の適用方法は、重み付け処理を行った後、等価となるノードの数で割る方法が良い。この方法であるなら、優先度調整と一意化処理を共存させることができる。実際に実装する場合は、強制的に重みを1にする方法と、重みを等価となるノードの数で割る方法の両方を異なるものとして実装するものが良い。
ノードや空間に対して、優先度に関する情報を付加し、検索時に優先度調整を使用しなくても優先的に重み付け処理時に浮かび上がらせる事ができる優先度付加を利用することは有効である。
重み付け処理を行う場合、特定のノードからの距離により優先度を調整して重みを計算する「距離優先度方式」も有効である場合がある。図68では、破線で示された部分が重み付け処理の対象となる空間であるとする。ノード1991を基準として「1/リンクの距離 + 1」の式をそれぞれの空間の重みとして適用したものである。また、図69はリンクの距離が離れるごとに0になるまで0.25を引いていくとという手法である。このように、リンクの距離に応じて重みを様々な方法で調整している。距離優先度方式を使用することで、空間の位置的な情報で重みを変化させることが可能となる。
図70を使用して、より詳細に等価重み付け処理を説明する図70の空間1971、1972、1973の重み付け計算部4221による等価重み付け処理を行う場合の説明を行う。等価重み付け処理の結果が図71の表に示される。図の式は値を導く過程を示したもので、「=」の右側が求める値である。それぞれの空間の重みは「1971のスコア」、「1972のスコア」、「1973のスコア」に示されている。「1971のスコア」をオペランド”x”、「1972のスコア」をオペランド”y”、「1973のスコア」をオペランド”z”とする。「計算1のスコア」は”x + y + z”の加算による計算である。「計算2のスコア」は”x
+ y - z”となり、”x + y”から”z”を除外するという意味になる。「計算3のスコア」は”x + y + 2 * z“となり、”z”の概念をより強調した加算による重み付けと言える。「計算4のスコア」は等価番号がa、b、cのものは”x+y+z”となり、残りは”x
+ y + 2 * z”として計算されている。「計算5のスコア」は”x + y * y + z“となり、”y“に二乗の計算を行うことで”y”の値の増加が大きく結果に影響する重み付けと言える。
+ y - z”となり、”x + y”から”z”を除外するという意味になる。「計算3のスコア」は”x + y + 2 * z“となり、”z”の概念をより強調した加算による重み付けと言える。「計算4のスコア」は等価番号がa、b、cのものは”x+y+z”となり、残りは”x
+ y + 2 * z”として計算されている。「計算5のスコア」は”x + y * y + z“となり、”y“に二乗の計算を行うことで”y”の値の増加が大きく結果に影響する重み付けと言える。
このように、様々な計算のオペランドとして重みを使用することでより緻密で複雑な重み付けを行うことが可能となる。
フィルタリング部4223による重み付け処理の「フィルタリング処理」は、演算処理部4216(論理)演算計算部4220等)で得られた結果を特定の条件で絞り込み、その結果を重ね合わせ計算処理部4211の結果として出力する処理部であり、重み付け処理によって得られた値をさらに絞り込んで出力するものである。この処理によって結果が大量で、情報が大きすぎて扱えない場合などに情報を絞り込むことができるので有効である。図72にフィルタリング処理のイメージ図を示す。
ノード判定式を利用し、必要なものとそうでないものを選別するフィルタリングは有効なフィルタリング処理である。この機能によって特定のプロパティを保持したものだけを残すなどのフィルタリング処理が可能となる。また、論理演算の真偽の結果を使用して、フィルタリング部4223によるフィルタリング処理を行うことも有効である。
加工処理部4224による「重みの加工処理」を使用することで、重み付けの処理結果に対して、重みの変更を行うことも有効である。この処理は重み付けの計算結果を分析して、変更を加えるものである。重みの変更とは、重みに値を加算することや、より複雑な演算式のオペランドとして使用されて新たな結果を導き出すことを言う。具体的言えば、ノード判定式を使用してノードが特定の条件を満たすものや、論理演算を使用して真になるものだけに重みに5を足すなどの処理を行う。
重ね合わせ計算処理部4211による空間の重ね合わせ処理において、リンク構造を考慮しなければ結果には影響しない。つまり、図64で使用した空間1911は、図73の無形空間1915で重み付け処理を行っても、リンク構造を考慮しなければ同じスコアが導かれる。
空間の重ね合わせ処理において、独立空間ノードの扱いは少々あいまいである。これは独立空間ノードが、空間としての機能と、複数のノードを含んだ単なるノードとして捉えることもできるからである。よって、独立空間ノードを空間として捉えた場合、ノードとして捉える場合、その両方を組み合わせるといった実装が実現されるのが良い。
図74を使用して、重ね合わせ計算処理部4211による独立空間ノードと空間の重ね合わせ処理について説明する。図74において、1920がノードで、1921は独立空間ノードである。この場合、1921aのように空間として重ね合わせ処理する場合と、1921bのようにノードとして重ね合わせ処理を行場合がある。空間として処理された場合は、独立空間ノードの内部のノードも計算対象となる。
重ね合わせ計算処理部4211は、独立空間ノードを含む空間の等価重ね合わせ処理を行う。図75の空間1985と空間1986の重み付け処理を行う。独立空間ノード1981、1982はお互いに同期している。この時、独立空間ノードをノードと空間の両方の見方で等価重み付け処理を行った結果が図76の「加算のスコア」項目である。等価番号Aの部分がノードとして処理を行った部分である。
効率的な重ね合わせ処理の計算を使用することは重要である。以下に重ね合わせ計算処理部4211による効率的な重ね合わせ処理の計算方法について考察する。図77のステップ図に効率的な検索処理の大まかな手順が記されている。ステップS101では空間のノード、および、重ね合わせ処理に必要なノード情報をデータコンテナへ展開しソート済みの状態にする。データコンテナとはC++言語ではコンテナ、Java(登録商標)言語ではコレクションと呼ばれるものなどである。通常、データコンテナは内部にメモリの資源領域、リスト構造、ツリー構造、ハッシュ構造などを備えている。この、データコンテナは格納後にソート処理を行ってソート済みの状態すると良い。内部にツリー構造やハッシュ構造のデータ格納領域を備えたコンテナを使用して、格納時にソート状態で情報を取り出すことができるものでも良い。これは一般的にC++言語では連想コンテナとよばれるものである。さらにステップS102ではソート済みデータコンテナに対して、走査をしながら計算とマージ(併合)処理を行って最終的な結果を出力する。ここで、ソート済みデータコンテナを使用することで、それぞれのデータコンテナに対して、一度の走査処理でステップS102の計算を行うことが可能であるので、この処理のコストは線形時間で処理を行うことが可能となる。
データコンテナに対してソート処理をする場合のソート基準としては、重ね合わせ処理で使用される等価評価で等価と判断とされるものが隣同士になるような形であれば良い。
以下に図78を交えて有効な実装の詳細について解説する。図78は3つの空間の重ね合わせ処理を行う場合のアルゴリズムの実装を表す。まずは処理1950によって空間のノード、または、ノードの情報をデータコンテナへ格納する。データコンテナで処理1951のソート処理を行う。処理1950、1951の部分は連想コンテナを使用すれば一つにすることもできる。処理1953でデータコンテナに走査を行い、空間単位での重み付けの計算、優先度や一意重み付け処理の計算を行いつつ、結果をマージ処理で結合している。
以下に、マージの部分をより詳しく説明する。図79には二つのソート済みデータコンテナから計算結果を導き出す部分を示している。図79のデータコンテナの数字はノード、または、ノード情報を意味し、同じ番号のものは等価評価で等価と判断されるものである。この場合データコンテナ1とデータコンテナ2を交互に走査を行いながら計算処理をして結果として出力している。走査による計算も、等価となるノード、または、ノード情報が隣同士で並んでいるため、走査しながら計算し、等価でない部分にコンテナ内で達したときにマージ処理の走査の切り替えを行えば良い。
論理演算計算部4220による論理演算を実行する場合、走査を行いながら真偽を計算する。図80にはデータコンテナを走査している様子が図示されている。同じアルファベットのものは、等価なノード、または、ノード情報を意味する。これを2つ以上等価なものを真、それ以外を偽として計算すると図81で示されるような表となる。
重み付け計算部4221による重み付け処理を実行する場合、走査を行いながら、数え上げ、一意化処理、優先度調整の計算を行う必要がある。こういった処理を一つ、または、複数のデータコンテナで線形走査しながら計算し、計算結果をマージ処理の応用で結合していく。以下に図を一意化処理を利用した重み付け処理で、かつ、ノードcの優先度を二倍にした場合の計算結果を図82に示す。
ノードに格納された情報自体が抽象的なデータである場合、等価評価を使用したものよりも処理のコストは大きくなるが、ノードを比較検討することで重みを求める「比較検討処理」を行うことも有効である場合がある。抽象的なデータとはノードの情報がテキストベースの情報や、マルチメディアである場合などである。単純な等価評価による重み付けは、同じかどうかというハッキリとした基準を使用するため、抽象的な内容を考慮する等価評価である場合は、処理の結果は不安定で処理の実行者の期待するものとのずれが生じる場合がある。また、ノードが空間の中で理路整然と整理されていない場合にも比較検討処理は有効である。
以下に例を使用して、抽象的な内容を考慮する等価評価について考える。
1.
今日、ヤンキースの松井は3安打5打点の活躍であった。
2.
ドジャースの野茂は被安打7ながらも無失点に抑え3勝目を上げた。
3.
阪神タイガースは今年優勝できるのであろうか。
4.
今年の高校野球の注目選手は東北高校のダルビッシュ投手である。
5.
サッカー日本代表はワールドカップでどこまでいけるのだろうか。
これらの様々な等価について列挙する。
1.
これらはどれもスポーツに関するものであるのですべてを同じであるとみなす
2.
5以外は野球に関するものなので、1、2、3、4の文書を等価と見なす。
3.
1、2、3がプロ野球に関する事なので等価である。
4.
1、2がメジャーリーグに関することで、等価である。
5.
3、4が日本の野球に関することなので、等価である。
このように様々な等価が考えられ、特定の物だけを選択するのは手間であるし、難い場合がある。どの等価評価を使用するかによって結果も大きく変化する。また、重み付け処理において空間全体に含まれる抽象的な内容の意味を考慮した処理を行いたい場合などもある。
1.
今日、ヤンキースの松井は3安打5打点の活躍であった。
2.
ドジャースの野茂は被安打7ながらも無失点に抑え3勝目を上げた。
3.
阪神タイガースは今年優勝できるのであろうか。
4.
今年の高校野球の注目選手は東北高校のダルビッシュ投手である。
5.
サッカー日本代表はワールドカップでどこまでいけるのだろうか。
これらの様々な等価について列挙する。
1.
これらはどれもスポーツに関するものであるのですべてを同じであるとみなす
2.
5以外は野球に関するものなので、1、2、3、4の文書を等価と見なす。
3.
1、2、3がプロ野球に関する事なので等価である。
4.
1、2がメジャーリーグに関することで、等価である。
5.
3、4が日本の野球に関することなので、等価である。
このように様々な等価が考えられ、特定の物だけを選択するのは手間であるし、難い場合がある。どの等価評価を使用するかによって結果も大きく変化する。また、重み付け処理において空間全体に含まれる抽象的な内容の意味を考慮した処理を行いたい場合などもある。
このように等価評価だけでは扱いにくい場合、比較検討部4217を利用した重み付け計算部4221による「比較検討重み付け処理」を行うことが有効な場合がある。例えば、同じであるなら重みは10、かなり似ているのであれば重みは8、似ているのであれば重みは6、少し似ているのであれば重みは4、ほとんど似ていないのであれば重みは2、全く似ていないのであれば重みは0というように比較して重みを求める。実際の比較時にそれぞれの重みをどのようにするかは実装者に任せられる。
本発明において、比較検討処理を利用する空間の重ね合わせ処理を特に、「比較検討重ね合わせ処理」と呼ぶ。つまり、ノードとノードとの比較により重ね合わせ計算をする処理である。そのなかで、重み付け計算部4221による重みを求める処理を「比較検討重み付け処理」と呼び、論理演算を行い、真偽値を求める処理を「比較検討論理演算」と呼ぶ。
比較検討重み付け処理により求められた重みは、論理演算として利用する比較検討論理演算や、空間単位で四則演算を行う比較検討重み付け処理などとして利用することもできる。
重み付け計算部4221による比較検討重み付け処理について説明する。代表的なものは様々な比較検討処理で求められた重みをオペランドとして四則演算を使用して計算を行うことである。一般的なものは、等価評価の基準で四則演算を行うものである。
次に、重み付け計算部4221による比較検討重ね合わせ処理の計算方法である、「全比較型」、「外比較型」、「内比較型」について説明する。全比較型は比較演算の対象の空間をすべてとするもので、外比較型は外部の空間とだけ比較演算を行うもので、内比較型は内部の空間だけで比較演算を行うものである。
以下に図を使用して重み付け計算部4221による全比較型の説明を行う。図136の二つの空間5001、5002で全比較型の比較検討重み付け処理を行う。それぞれのノードを比較した場合のスコアの対応表は図137になる。計算の結果は図138の「全比較型のスコア」で示されている。全比較型はすべてのノードを比較するものである。例えばノードaについて考えてみる場合、a以外のすべてのノードと比較を行いスコアをまとめる。具体的な計算は、単純なスコアの加算の場合、「3+2+2+4+1+3+9+3+2+1+1」となりスコアは31となる。
以下に図を使用して重み付け計算部4221による外比較型の説明を行う。図136の二つの空間5001、5002で外比較型の比較検討重み付け処理を行うとする。外比較型は外部の空間とだけ比較演算を行う。つまり、空間5001に含まれるノードは空間5001の他のノードとの比較は行わず、空間5002のノードとだけ比較を行う。逆に空間5002のノードは空間5002の他のノードとの比較は行わず、空間5001のノードとだけ比較を行う。このようにして計算した結果が図138の「外比較型のスコア」に示されている。例えばノードaについて考えてみる場合、空間5002のノードh、i、j、k、lと比較を行う。具体的な計算は、単純なスコアの加算の場合、「9+3+2+1+1」となりスコアは16となる。
以下に図を使用して重み付け計算部4221による内比較型の説明を行う。図136の二つの空間5001、5002で内比較型の比較検討重み付け処理を行うとする。内比較型は空間同士を比較するのではなく、空間内部のノード間で比較を行う。つまり、空間5001に含まれるノードは空間5001のノードとだけ比較を行い、空間5002に含まれるノードは空間5002のノードとだけ比較を行う。例えばノードaについて考えてみる場合、aは同じ空間5001のノードa、b、c、d、e、f、gと比較を行う。具体的な計算は、単純なスコアの加算の場合、「3+2+2+4+1+3」となりスコアは15となる。
全比較型、外比較型、内比較型の特徴を対比させて説明する。全比較型は重み付け計算部4221が空間全体を使用して比較を行う。そのため、処理としては全体として特徴的な情報が導き出される。外比較型は重み付け計算部4221が外部の空間とのみ比較を行う。そのため、外比較型は複数の空間の関係において重要なものを取り出すという意味合いがある。例えば、図139に示されるように、巨大な空間5012と、小さな空間5011で比較検討重み付け処理を行う場合に、全比較型と外部比較型の特性の違いが明確になる。全比較型は全体として重要な情報を取得する傾向があるため、小さな空間の特性は巨大な空間に埋もれてしまうことがある。しかし、外比較型であるならば、両方の空間の特徴的な部分が特徴として抽出できるのである。内比較型は内部の空間だけで比較を行うものであるので、他の空間の影響は受けない。これは、それぞれの空間の特徴的な部分を取り出すことができる。これは、比較検討重み付け処理の単体として利用するよりも比較検討論理演算などに利用する使用方法が通常であると言える。
重み付け計算部4221による選別比較型について説明する。選別比較型とは比較するかどうかについてノード判定式を利用して決定する方法である。つまり、特定の条件を満たした場合、比較検討処理の計算を行い、そうでない場合は無視する方法である。例えば、ノードのプロパティに特定の情報が格納されている場合のみ比較を行い、それ以外は無視するなどである。
重み付け計算部4221による比較検討重み付け処理の計算は加算によるものだけとは限らない。比較検討重み付け処理の重みは、計算のオペランドとして様々な計算を行うことができる。
以下に例を使用して、重み付け計算部4221が異なる比較形式を持つ比較検討重み付け処理の結果を計算のオペランドとして計算を行う場合について説明する。図140にある4個の空間を使用して重み付け計算部4221が比較検討重み付け処理を行う。ここでは空間5201の情報について結果を求めるものとする。比較時のスコアは図137に従うものとする。ここでは、空間5201、5202の全体として特徴的なものが重要で、さらに、空間5203と関係が深いものは特に重要で、空間5204と関係が深いものは除外すべきものという意味の計算を行うと仮定する。この場合、重み付け計算部4221は、空間5201、空間5202で全比較を行い、かつ、空間5203で外比較で2倍の値の加算を行い、さらに、空間5204で外比較を行いその値を減算する計算を行うことで求めることができる。この計算による結果は図141にある表に示される。図141には実際に行われる計算の式と結果が格納されている。例えば「5201と5202の全比較」項目では、「2+1+9+4+3」の部分が計算で、「19」が最終的な結果となる。この場合、空間5201と空間5202の全比較をx、空間5201と空間5203の外比較をy、空間5201と空間5204の外比較をzとすると、この計算は「x+y*2―z」という式で表すことができる。このように、比較検討処理の重みも様々な計算によってさらに有効に利用されるのである。
比較検討重み付け処理を行う前、または、後に空間のノードを特定の等価評価で一意化してから計算する一意比較検討処理を行うことができる。このなかで特に重要な等価評価は同期点等価評価である。同期しているということは、情報が同じ実体であると言うことができる。同じ実体を一つと見なす事は情報の重複をなくす、または、軽減するという意味がある。
比較検討重み付け処理は複雑な処理が必要になる場合がある。これは、信頼できる結果を返すには様々な解析処理やデータマイニングなどを駆使する必要が出てくるためである。そのため、この部分を外部から処理を行うなどの拡張ができるように実装することが望ましい。例えば、スクリプトやプログラム言語4240を使用することや、外部プログラム4241、または、内部のプログラムやシステムを使用するなどである。
重み付け計算部4221による比較検討重み付け処理は、空間の規模が大きくなれば計算に大きな時間がかかる。一つの空間に存在するノードの数が”n”であるとすると、二つの空間の全比較による比較検討処理は”O(n×n)”回の比較を行う。つまり、オーダーはnの二乗である。さらに、空間の数が多数であったり、比較の処理自体のコストが高かったりする場合はさらに大きな計算コストがかかってしまう。このため、重み付け計算部4221は、多少の精度の低下が起こる可能性があるものの、等価評価の基準でノードを分けて等価と判定されたノード同士で比較検討重み付け処理を行う「等価絞り込み比較検討重み付け処理」を使用することで、計算速度を速めることは有意義であると言える。
等価絞り込み比較検討重み付け処理では、比較時に大きなスコアにならないものが等価ではない等価評価を使用するものが良い。これは、比較時に小さなスコアにしかならないものを除外しても結果に大きな影響は与えにくいためである。
以下に重み付け計算部4221による「等価絞り込み比較検討重み付け処理」を図142を使用して一例を説明する。図142の空間5401aと5402aを使用して全比較型の比較検討処理を行う場合、使用されるノードの合計は「9+8」で17となる。このため通常行わなければならない比較の回数は「17×16÷2」回。つまり、136回は行う必要がある。しかし、等価絞り込みを行うことで比較回数を減らすことができる。ある特定の基準の等価評価で図142の空間を見た物が図143である。ノードの同じアルファベットを振られたノードが等価と判定されたノードである。これらの等価なものだけで振り分けたものが図144である。図144のような等価なノードだけで比較による計算を行う場合、空間5405については「6×5÷2」回であり、空間5406では「5×4÷2」回であり、空間5407では「6×5÷2」回である。これらを合計すると40回となる。つまり、この場合は、等価評価による分類によるコストは掛かってしまうものの、単純な比較検討処理の3分の1以下の比較回数で済むことになる。重み付け処理の応用として、統合計算演算部4222による「重み付け統合計算」がある。これは、複数の重み付け処理の結果を統合して、再計算する方法である。
統合される重みは、様々なタイプの重み付け処理同士で行うことができる。例えば、等価重み付け処理と比較検討重み付け処理などである。また、重み付け統合計算の結果であっても良い。要は、ノードに重み情報が結びついていれば、重み付け統合計算は可能である。
重み付け統合計算を行う利点は、単純な重み付け処理では分からなかったデータを導くことができるので、より深い分析用のデータを生成できる。重み付け処理のスコアは重要度を表す尺度として捉えることができる。スコアを加算することで、特定のノードが複数の等価評価や、比較検討で重要なものであるかどうかといったことも推測できる。さらに、特定の等価評価のスコアで減算を行うことで、その等価評価や、比較検討を除外するような意味を持たせることもできる。さらに、複雑な計算を組み合わせることで、微妙な意味合いの統合計算を行うことが可能となる。
以下に統合計算演算部4222による統合計算の手順について説明する。図145の空間5611、5612、5613のノードに重みが結びついている。重みは、重ね合わせ処理の結果導かれたものでも、そうでなくても可能である。振られているアルファベットはある等価評価で等価と判定されるものである。
統合計算演算部4222による統合計算は等価評価の基準で計算できる。統合計算は複数の方法で求められた重みを統合する処理である。ここでの統合とは特定の基準でまとめることを意味する。その重みを統合する基準が等価評価である。また、どのような等価評価でも使用することができ、無数にある等価評価のどれを使用するのか決定するのはケースバイケースといえる。
以下に統合計算演算部4222による重み付け統合計算の計算パターンを説明する。まず、図145の3つの空間を統合する場合について考える。図145において同じアルファベットが割り振られているノードは等価評価で等価と判定されるものである。また、割り振られている数字は重みを表している。たとえば、ノード5615には重み6が結びついている。ここで、この3つの空間を足し合わせてあらたな結果を導くとする。この場合の結果は図146に示される。統合計算演算部4222による計算の手順を見るためにノードaについて計算の順を追って説明する。ノードaは空間5611、空間5613に存在する。それぞれを足し合わせる計算は6+8で14が答えとなる。このように統合することで、複数の重みをまとめて一つの結果にすることができる。
さらに、同一の空間の重みであったとしても、異なる方法や基準で求められた重みを統合することにも使用できる。図147の2つの空間5621、5622とある重み表5623を統合する場合について考える。空間5621と空間5622は同じ空間であるが、異なる重みが付与されている。重み表は重ね合わせ処理によって求められたものでも良いし、そうでなくても良い。図147において、同じアルファベットが振られているものは統合する等価の基準である。統合計算演算部4222は、この三つを統合するが、ここで、重み表5623の要素が重要であるため2倍して加える。この場合の計算は図148の表に示される。図148の「計算」項目では結果に至る具体的な計算手順が示され、「スコア」項目に具体的な結果が格納されている。これを計算式で表すとx+y*2となる。
以下に、等価重み付けの結果を使用して、統合計算演算部4222が重み付けの統合計算を行う場合の方法を説明する。図83Aは重み付けの統合処理に使用される空間を示している。この図83Aの空間を異なる等価評価で表したものが図83B、図83C、図83D、図83Eで示される。これらの空間の中で、同じ符号が振られているものが等価なものを意味する。空間2031と空間2032の等価重み付け処理を等価評価1で行ったものが図84の表で、等価評価2で行ったものが図85である。
この図84と図85の結果に対して完全独立等価評価を基準として統合計算演算部4222が統合計算したものが図86の結果表である。ここで、「完全独立等価評価」とは、空間に存在するノードをすべてお互いに異なるものとして扱う評価である。「等価ノード」項目は完全独立等価評価を使用しているためすべての空間のノードを異なる物として扱っている。図86の具体的な表の作成方法は、2011、2012について考えると、等価評価1の重み付けの場合2011は等価a1であるためスコアは3となり、2012は等価b1であるためスコアは2となる。等価評価2の重み付けの場合2011は等価b2であるためスコアは1となり、2012は等価a2であるためスコアは2となる。図の計算式は値を導く過程を示したもので、「=」の右側が求める値である。
さらに、これらの結合について考察する。図86のマージスコアは統合計算演算部4222が「等価評価1のスコア」と「等価評価2のスコア」をノード単位で単純に加算しただけである。つまり、2011について詳細を説明すると「等価評価1のスコア」は3で、「等価評価2のスコア」は1であり、これらの加算が3+1となり答えは4となる。さらに、図86の差分スコア」は統合計算演算部4222が「等価評価1のスコア」から「等価評価2のスコア」をノード単位で減算を行ったものである。さらに、「差分絶対値スコア」では統合計算演算部4222が「差分スコア」の絶対値を計算したものである。
図84と図85の結果に対して等価評価3を基準として統合計算演算部4222が統合計算したものが図87の結果表である。図87の具体的な表の作成方法は等価a3について考えると、等価ノードは2013と2021となる。これを等価評価1の場合を考えると、2013のスコアは3で、2021のスコアは2であるため「3+2」よって「等価評価1のスコア」のスコアは5となる。等価評価2の場合を考えると2013のスコアは1で、2021のスコアは3であるため「1+3」となり「等価評価2のスコア」のスコアは4となる。これらの等価評価1と等価評価2のスコアを加算したものが「マージスコア」項目である。さらに「ひとつあたりのスコア」で、「マージスコア」を「等価ノード」で除算している。
これらの図86、または、図87を導くために使用された重み付けは単純に存在に対してスコアを求めるものであるが、元になる重み付け処理は当然、重み付け計算部4221による一意化処理を利用した重み付け処理であったり、優先度が付加されたものであったりもする。
統合計算演算部4222によるによる重み付け統合計算の結果をそのまま利用する方法も良いが、結果に対してフィルタリング部4223によるフィルタリング処理や加工処理部4224による様々な計算を適用してスコアを調整することも有用である。
以下に図を使用して、統合計算演算部4222による3つの重み付け処理の統合計算の処理を行う。この計算は等価評価1、等価評価2で空間2031、2032の重み付け処理の結果と、等価評価3で、空間2031、2032の両方に一意化処理を行う空間2031、2032の一意化処理を利用した重み付け処理の結果を等価評価4を基準として統合計算した場合を説明する。空間2031、2032の両方に一意化処理を行った一意重み付けの結果が図88である。図89は統合計算を行う前の前処理を表し、図90は図89を使用して計算した結果を表している。図90の「マージスコア」は単純に図89の3つの等価評価のスコアを足し算したものである。さらに、3つの、より複雑な計算の結果が図90の「計算1のスコア」、「計算2のスコア」、」、「計算3のスコア」に示されている。「計算1のスコア」は図89における「等価評価1のスコア」と「等価評価3のスコア」を加算したものに「等価評価2のスコア」を減算したものである。「計算2のスコア」項目では図89の「等価評価1のスコア」と「等価評価2のスコア」と「等価評価3のスコア」を2乗したものを加算している。「計算3のスコア」は図89における「等価評価1のスコア」で2以上のものを2で除算したものと「等価評価2のスコア」と「等価評価3のスコア」の加算である。
ここで、図90の「計算2のスコア」で使用される方法を式に直してみると、基準1のスコアをオペランドx、基準2のスコアをオペランドy、基準3のスコアをオペランドzとすると、「x-y+z*z」という式で表せる。
フィルタリング部4223によるフィルタリング処理や、加工処理部4224による重みの加工処理は当然、重み付けの統合演算でも使用できる。
重ね合わせをどのように計算するかといったことに答えはない。様々な切り口や視点で計算方法を、理論的、または、感覚的に変化させることで様々な結果が導き出され分析できることが重要である。
具体的な例を用いて統合計算演算部4222による重ね合わせ処理を説明する。ここで、重ね合わせ処理を実行する実行者の目的のCDを探しあてる様々な手法を説明する。図91は音楽CDに関する情報を表現した空間で、ノードは音楽CDを意味している。同じ番号が振られたものは同期点等価評価で等価と判断されるものである。図93はそれぞれの空間の重みを列挙したものである。ここで、重ね合わせ処理の実行者の視点で処理を行う場合を考える。実行者はCDの評価において「A氏」「B氏」「D氏」の評価は信頼しているが、「C氏」の評価は全く信頼していない。また、実行者は流行の音楽に大変興味がある。このことを踏まえて重ね合わせ処理がどのように使用されるものなのかを示す。
図91の空間で、「A氏、または、B氏のお薦めでなおかつ、売り上げが1〜10位までのもの」といった問い合わせを行う場合、論理演算計算部4220論理演算はうってつけである。この問い合わせは「空間2051、または、空間2052に存在し、かつ空間2055に存在するものは何か」といった問い合わせととることができる。このような問い合わせを行う場合、図95の表の「演算結果」に示されるようになる。それぞれの空間は1つ以上存在する場合は真として空間を真偽値に変換している。求める解は「(空間2051 OR 空間2052) A205D 空間2055」の結果で求められる。図95の演算結果から、求めるノードはbとgであると分る。
空間2051、2052、2054の重みの加算を行った結果が図94の「重みスコア1」に示されている。これは実行者が信頼する「A氏」「B氏」「D氏」の推薦するCDを表す空間を重ね合わせたものである。この結果を分析すると等価番号bのCDが空間2051、2052、2054に存在しており、スコアは最も大きくお勧めのCDであると推測できる。ついで等価番号g、hが実行者の求めるものである可能性が高い。
さらに、実行者は「C氏」の評価するものが嫌いである場合が多いので、空間2051、2052、2054の重みの加算から、空間2053の重みを減算した演算を行った結果が図94の「重みスコア2」である。この場合、「重みスコア1」とは少し異なりこの場合は等価番号b、gの重みが等しく、この二つがお勧めとみることができる。
また、実行者は流行の音楽に興味がある。そのためさらに計算に少し工夫を加える。売り上げ1〜10位のものは空間の重みの3倍の値を図94の「重みスコア2」と乗算を行い、11〜100位のものは空間の重みの2倍の値を「重みスコア2」と乗算を行う。このことによって売り上げ順位の情報が大きく重み付けの結果に影響を与える。この場合でも等価番号bとgが重要で、次いでiが重要であると考えられる。
以下に論理演算を使用した、フィルタリング部4223によるフィルタリング処理を具体的に説明する。空間2051、2052、2054の重み付け処理から、信頼していない「C氏」の推薦を集めた空間2053と、売り上げが低いものを集めた空間2057に含まれるノードの結果を必要ないとして除外したい場合などに有効である。この場合は空間2051、2052、2054の等価重み付け処理を行い、さらに空間2053と空間2057の1つ以上存在するものを真としてOR演算を行い、等価重み付けの結果からOR演算の結果の当てはまるものを除外する。空間2053と空間2057のOR演算の結果は図98で表されている。この結果を使用して重み付けのスコアからフィルタリングを使用する様子が図99に示される。この場合、論理演算で真と評価されるものを処理結果から除外している。
以下に加工処理部4224による重みの加工処理を具体的に説明する。空間2051、2052、2054の重みの加算である、図100の「重みスコア1」の結果に対して加工処理を施し異なった視点で分析を行う。ここで、ノードの「ジャンル」プロパティで「ロック」と「ポップス」であるものを優先的に扱いたいので値が「ロック」であるものの重みを3倍、値が「ポップス」であるものを2倍にしている。
図92を使用して、統合計算演算部4222による重み付け統合計算について、具体的な例を使用して説明する。重み付け統合計算を使用する場合の基準となる等価評価は同期点等価評価を使用するものとする。今回はノードのプロパティによる等価評価を使用した重み付け処理との連携を使用する。図92のノードは「ジャンル」プロパティを保持しており、「ジャンル」プロパティの値で等価評価を使用した場合は、図93で表すことができる。図93を等価なものでグループ分けしたものが図96である。図96から、お勧めで流行のジャンルは「ポップス」である可能性が高い。空間2051、2052、2054の重みの加算である図97の「スコア1」の結果と、「ジャンル」プロパティの等価評価で空間2051、2052、2054、2055の重みの加算である図98の「スコア2」を統合する。「スコア1」と、「スコア2」の重みをそのまま加算すると「スコア2」の影響が大きいため二分の一にしたものとを加算して統合した結果が図98の「計算結果」に示される。このような計算によって、空間に存在する音楽CDのお勧めの重みに加えて、流行の音楽ジャンルを加味した重み付けを行うことが可能となる。
図102は射影部4411による射影化が具体的に使用されている場合の説明である。図102ではノード2360、2361に対して射影部4411により、射影化が実行され、多言語用のノード群が形成されている。この場合、ノード2360、2361は4つ分のノード、または、ノード情報が生成されていることになる。このように、射影化は2次元で表現できる空間に対して、3次元の情報にすることとも言うことができる。
射影化された空間を特に「射影空間」、射影化されたノードを「射影ノード」と呼ぶ。
射影部4411が有する「射影機能」について説明する。射影機能とは、複数の空間を一つの空間として扱う処理であり、例えば、「射影ノードの単一アクセス」「ノードの生成の連携」、「ノードの削除の連携」、「空間の変形の連携」、「射影空間単位のアクセス」、「ノードの射影空間ごとのアクセス」、「射影ごとの空間の生成」、「射影ごとの空間の削除」、「射影同期」のことを言う。射影化は論理的にこれらの機能の一部、または、すべて備えている。
図を使用して射影部4411による射影化の機能を説明する。図103Aの空間を3つに射影化した物が図103Bである。2320、2321、2322は射影空間で2301、2302、2303はそれぞれの射影化されたノードである。
射影部4411による「射影ノードの単一アクセス」は、射影化された複数の射影ノードを空間上は一つのものとしてアクセスするものである。つまり、これは図103Bの様に射影化された空間を図103Aにアクセスするように扱うことができることを言う。
射影部4411による「ノードの生成の連携」は、新たなノードが追加される場合、他の射影空間にも追加するものである。例えば、射影空間2320にノードが追加されると、対応する射影空間2321、2322にもノードが作成される機能である。図103Cは射影部4411によるノードの生成の連携を表したものである。この場合、射影ノード2311、2312、2313を同時に生成している。
射影部4411による「ノードの削除の連携」は、ノードが削除された場合、他の射影空間の対応するノードも削除するものである。例えば、射影ノード2301を削除する場合、射影ノード2303、2305も削除される機能である。図103Bから射影ノード2301、2303、2305を破壊したものが図103Dである。この場合、3つの射影ノードを同時に破壊している。
射影部4411による「空間の変形の連携」は、空間の構成を他の射影空間に反映させるものである。例えば2303と2304の間のリンクが破壊されれば、2301と2302、2305と2306の間のリンクも破壊する機能である。図97Bから空間の変形の連携を行ったたものが図97Eである。
射影ノードの単一アクセス、ノードの生成の連携、ノードの削除の連携、および、空間の変形の連携は複数のノードを空間上の一つのものとして扱っている。つまり、射影ノード2301、2302、2303が空間上一つのノードとして扱うことが可能なのである。これが、複数の空間を一つの概念として扱うということである。
射影部4411による「射影空間単位のアクセス」は、それぞれの射影空間をまとまった空間ではなく、一つの独立した空間として扱うことができるものである。つまり、射影空間2320、2321、2322をそれぞれ独立した空間として扱うことができるものである。
射影部4411による「ノードの射影空間ごとのアクセス」とは、ノードに対して射影空間を指定してアクセスするものである。例えば、図97Bで説明するなら、射影空間2320であるならば射影ノード2301が指定され、射影空間2322であるならばノード2305が指定される。
射影空間単位のアクセスや、ノードの射影空間ごとのアクセスは、射影空間を独立した一つ一つの空間として扱うことのできるようにする機能である。
射影部4411による「射影ごとの空間の生成」は、新たな射影空間を追加する機能である。図97Bでは3つの射影空間が存在するが、これに新たに4つめの射影空間2323加えたものが図97Fに示される。このように、新たな射影空間を空間単位で追加することができる。
射影部4411による「射影ごとの空間の削除」は、射影空間単位で空間を破壊する機能である。これは図97Gに示されるように射影空間2320を破壊して、射影空間2321と2322だけにするなどの処理を行うことを言う。
射影部4411による「射影同期」について説明する。この機能は、空間が射影化された場合、その空間に含まれるノードの同期に対しても射影化が適用される機能である。例えば、図104の空間においてノード2371aとノード2372aは同期している。この時、2371aに対して射影化が適用される場合、空間2372aにも射影化が適用される機能のことである。図104では、2371bと2372bが射影化されている。
このように、射影化を行った空間は複数の空間を一つのものとして扱うことと、それぞれを異なった物として扱うことが可能となる。
射影化を使用すれば、複数バージョンの空間を空間上は一つの空間であるかのように扱うことができる。例えば、射影ノード2301、2302、2303は実際には3つのノードであるが、空間上は一つのものとして扱っていることに等しい。
射影部4411による射影化の実装の詳細について説明する。射影化の実装方法は無数にあるが内部の構成は「リンク射影」、「ノード射影」、「データ付加射影」、「独立空間射影」を利用するものが代表的な実装方法である。内部の構造をこれらの方法で実装し、プログラムによる制御で射影機能を実現する。これらのデータ構造はメモリ上のポインタやオブジェクトなどでも、XMLやHTMLなどのタグ言語を使用しても実現可能である。
リンク射影とは、リンク空間において実際にリンク構造を複数作り出し、それらをプログラムで制御する方法である。これは、実際に空間を複数作り出して、プログラムの機能で射影空間として扱えるようにするとも言える。図105Aをリンク射影したものを表したものが図105Bである。図105Bに見られるように、リンクの構成ごと二つの空間になっている。この場合、2331aと2332aで構成された空間と2331bと2332bで構成された空間が射影化の要素として生成されている。
ノード射影とは、空間を構成するノード単位で画一的な構造を作り出す処理であり、各々のノードを複数作り出して、それらをプログラムで制御する方法である。図105Aに対してノード射影したものが、図105Cである。これは、各々のノードに対して複数のノード、または、ノード情報を付加する構造のものである。この場合、ノード2331のノード2331cに、ノード2332をノード2332cへと変換している。つまり、それぞれのノードが射影化されたノード情報を保持している。ノード射影は無形空間などのリンクにより構成されていない空間における射影化や、同期射影を他の方法よりも実装しやすい。
図106にはノード射影をリンクリストで作成した場合を表している。ノード2380には射影化されたノード、または、ノード情報が2381、2382、2383とリストの形を形成している。このリンクはメモリ上のリスト構造やオブジェクトのインスタンスで構成されたものでも、XMLやHTMLなどのタグ言語で構成されたものでも良い。このリンクはノードとノードをリンクさせる場合に使用される技術でも良い。
図107にはノード射影において、ノードをデータ群と結びつける実装を図示している。ノード2390に対して、ノード2391のデータ群を結びつけている。これはメモリ上に実装される場合は、データコンテナに射影化されたノード、または、ノード情報を格納するなどが良い。ディスク記憶装置などに保存する場合は、ひとまとめにしてファイル形式やバイナリ圧縮された形でディスクに保存するなどが良い。要は、内部ではバラバラであっても、射影されたノードとしてアクセスできれば良い。
データ付加射影とは、空間に対して射影用のデータを結びつける方法である。図105Aをデータ付加射影したものを表したものが、図105Dである。これはレイヤーを使用して射影化を実現するものも含まれる。この場合、射影化された空間に対して付加情報2333を使用して射影化を実現する。2333の内部には空間に関する情報が含まれている。この情報を利用して、空間が複数あるように扱う。
データ付加射影を実装する場合は、レイヤー、または、それと同等の仕組みを用いるのが良い。
図108を使用してデータ付加射影を説明する。図108はノード2401、2402、2403で構成された空間を射影化している。ノード2401には2404が、ノード2402には2405が、ノード2403には2406が結びついている。ここで、2404、2405、2406に射影用の情報を保持させれば良い。また、2404、2405、2406を全体として共通のリソース2407を参照する設計でも良い。このように、空間に対してデータを付加する形で射影化を行っている。
射影部4411による独立空間射影とは、一種の独立空間ノードを作り出して内部、または、外部で複数の空間情報を保持することで射影を実現する方法である。図105Aを独立空間射影したものを表したものが、図105Eである。独立空間ノード2334の内部の射影化用データは射影化機能で扱えるのならば、いかなる形でも良く、内部に空間を複数保持しても良いし、全く異なるフォーマットとして表現されても良い。
図109を使用して独立空間射影を説明する。独立空間ノード2411に外部、または、内部に空間定義2418が結びついている。2418には射影空間が3つ格納されており、2412と2413の空間、2414と2415の空間、2416と2417の空間ある。
図を使用して、射影部4411による射影化の効果と必要性を説明する。図110Aはあるドキュメントを表現した空間である。ここで、空間2481が重要なドキュメントに関するものであるため、多言語で作成する必要があるとする。この場合、射影化を使用しない場合、図110Bの様な空間設計となる。図110Bでは、各言語バージョンの空間が多数作成されている。例えば、2481は日本語用、2482は英語用、2483はフランス語用というようになる。このように、異なるバージョンごとに新たな空間を作成することになる。これは、バージョンが増えるごとに空間が増えていく事を意味する。しかし、射影化を使用すれば論理的には図110Cの様に異なる空間そのものが増えることはない。この場合、2481a、2481b、2481cそれぞれが一つの言語用の空間となっている。図110Bの様に異なるバージョンごとに異なる空間を作成することは管理コストの増大を招くこととなる。空間は何かしらの概念を表現した、または、集めた構成物である。表現する概念を変更する場合、空間の構成も変更する必要がある。この時、バージョンごとに単に複数の空間が存在するだけの場合、変更や追加をすべての空間に適用する必要が出てくる。これは表現する概念は同じであるにも係わらず形式の違いだけで異なる空間として実装するために発生する問題で、これらは大変な保守コストとなる。また、表現したい概念が表現形式の違いだけで、異なる空間として分散するため、第三者が概念と空間の関係を若干理解しづらくなる。このように、表現したい概念を一つに結びつける射影化は重要な機能と言える。
図111は、射影部4411を詳細に説明するための図であり、ここでは、射影化を実現した一般的なプログラムの機能ブロック図を示す。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。射影化を実現するためには射影化に対応した空間と、処理の連携を行う。基本的には空間データ部4201を射影部4411によって制御する。空間へのインタフェース4413を通じて適切に空間データ部4201、または、射影部4411にアクセスすることができるので、空間データ部4201の内部が通常の空間と異なる特殊なフォーマットであっても容易に、そして、安全にアクセスすることができる。
空間データ部4201では射影された空間のデータはリンク射影4430、ノード射影4431、データ付加射影4432、または、独立空間射影4433として存在している。これらのデータには直接アクセスしても良いが、空間へのインタフェース4413を通じて操作を行った方が、複雑な内部構成や仕様を考慮する必要がなく、データの破壊リスクも軽減できるので良い。
射影部4411は、「射影ノードの単一アクセス」「ノードの生成の連携」、「ノードの削除の連携」、「空間の変形の連携」、「射影空間単位のアクセス」、「ノードの射影空間ごとのアクセス」、「射影ごとの空間の生成」、「射影ごとの空間の削除」、「射影同期」などを行うことで、射影化としての機能を果たす。
ユーザ4412が空間へのインタフェース4413を通じて、空間を操作することで射影化としての適切な機能を提供することが可能となる。ユーザ4412は通常は外部、または、内部のプログラムか人間である。人間はユーザインタフェースなどを介して射影空間にアクセスする。
ノード、リンク、および、空間には「レイヤー」を適用できる。レイヤーとは、ノード、または、空間に対して情報が平行に定義されるものであり、ノードそのものに情報を付加するのではなく、ノードと並行的に付加情報が与えられる構造である。平行に定義されるとは、ノードや空間に対応させた形で定義されることを意味する。レイヤーを使用することによって様々な情報を空間に付加することが出来る。また、プロパティと異なり、ノードそのものを操作するのではないので、情報の付加が容易になり、データの破壊リスクも軽減できる。さらに、レイヤーを複数重ねたり、状況によって組み合わせることで様々な場面で使用することが可能となる。レイヤーはノードや空間が表現したい概念と異なるものを分離することができる。さらに言えば、表現したい概念とは異なる情報はすべてレイヤーに含めるべきであるともいえる。レイヤーはノード一つでも空間にでも適用させることができ、柔軟であり、空間に対して情報を付加する場合、非常に便利である。使用用途はセキュリティ、イベント、優先度などへの実装が特に有効である。
レイヤーはレイヤーが付加された空間のノード一つ一つに対して、情報を与えることも、空間全体としての情報も与えることもできる。
レイヤーには「構造レイヤー」と「実体レイヤー」がある。構造レイヤーは、空間の構造そのものに対してレイヤーを付加するものであり、ノード構造に対してレイヤーを適用するものである。実体レイヤーは、実体そのものに対してレイヤーを付加する、つまり、ノードそのものに対して行う。つまり、実体レイヤーが付加されたノードは基本的に同期点が同じであるすべてのノードに対してレイヤーの効果が適用される。
図116を使用して構造レイヤーと実体レイヤーを説明する。ノード3141、3142はお互いに同期している。このとき、空間3140のノードに構造レイヤーを適用しても、ノード3141にレイヤーは付加されるが、ノード3142にはレイヤーは付加されない。しかし、空間3140のノードに対して、実体レイヤーを付加させると、ノード3141のみならずノード3142に対しても実体レイヤーが適用される。
図112を使用して構造レイヤーについて説明する。図112には一つの空間と、二つの構造レイヤーが定義されている。3100、3101、3102、3103、3104はノードでリンク空間を形成している。3110、3111、3112、3113、および、3114、3115、3116、3117で構成されたものが構造レイヤーである。図112では空間に2つの構造レイヤーを結びつけている。構造レイヤーではリンクにもレイヤーを定義することは可能であるが、この場合は空間のノードのみに構造レイヤーが付加されている。それぞれ3110、3111、3112、3113は構造レイヤー1を、3114、3115、3116、3117は構造レイヤー2を形成している。図112に見られる直線の破線はノードと構造レイヤーの対応関係を示し、円形の破線は構造レイヤーを意味する。通常は、構造レイヤーに対して付加情報を与え、その付加情報を元にプログラム内部、または、外部で様々な処理が行われる。レイヤーはノードと並行的に存在するものであるが、リンク空間に対してレイヤーを付加する場合でも、ノードのようにリンクで構成される必要はない。
図113を使用して実体レイヤーについて説明する。ノード3150とノード3152は、お互いに同期している。ノード3150、3151、3152に実体レイヤーが付加されている。このときレイヤー1の3153にノード3150とノード3152が、ノード3151には3154が結びついている。同様にレイヤー2の3155にノード3150と3152が、ノード3151には3156が結びついている。このように、実体レイヤーは空間の構造ではなくノードの実体に結びついている。
レイヤーの具体的な実装について説明する。レイヤーはノードの外部、または、内部に存在させることができるが、レイヤーは論理的には外部からノードに対して情報を与えるものであるので、実装においても外部に多くの情報を保持するのが望ましい。レイヤーはコンピュータ読み取り可能な記録媒体、または、ネットワーク上に実装できる。つまり、ノードが実現できるすべての環境で実装可能である。それは、メモリ上の実体であっても、ディスク上のXMLで形成されたものでも良い。
ノードとレイヤーを関連付けるにはノードとノードをリンクでつなぐ様に結びつける必要がある。ノードとレイヤーを結びつける情報はノードそのものの中に記述、外部に記述するなどがある。
レイヤーは、理論上は空間の外部から情報を与えるものなので、すべての情報をノードの内部に格納するのは良いとは言えない。つまり、一部、または、全部を外部に格納するのが理想である。
図114はノードそのものの中に記述する方式である。3150はノード、または、ノードへの参照情報である。3150にはレイヤーへの情報が格納されている。また、レイヤー3151にはノードへの情報が格納されている。
図115はノードとレイヤーの関係を外部に記述する場合を示している。3155はノード、または、ノードへの参照情報を意味している。3156はレイヤーを意味し、3157は3155と3156を結びつける情報を保持している。
構造レイヤーはノードに対して非同期型情報付加として情報が付加され、実体レイヤーはノードに対して同期型情報付加として扱われるのが通常である。
XMLを使用して、空間にレイヤーを付加する実装を説明する。図27のノードのリンクを表現したXMLである図31、図32に対してレイヤーを付加した場合の実装を説明する。
構造レイヤーを実装する場合の一例を示す。ノード851、852とその間のリンクに対して構造レイヤーを付加すると仮定する。この場合、図117、図118のようにリンク定義に対して、テスト用のシンプルな構造レイヤーを付加している。この場合は、
<StructualLayer
name="layer1" value="100"/>
部分が、構造レイヤーの定義である。実際の一般的な実装ではこのタグには、より多くの情報や情報への参照が含まれる。
<StructualLayer
name="layer1" value="100"/>
部分が、構造レイヤーの定義である。実際の一般的な実装ではこのタグには、より多くの情報や情報への参照が含まれる。
実体レイヤーを実装する場合の一例を示す。図119のノードAとノードBに対して、実体レイヤーを付加したものが図 に示されるようなXMLで示される。このように、構造ではなく、ノードそのものにレイヤーを付加している。この場合は、完全にノードの外部からレイヤーを定義している。
レイヤーの自己拡張機能とはレイヤーが適用された空間に対して、ノード、または、空間が追加されると追加された部分に対してもレイヤーが適用される機能のことを言う。さらに、この機能に、空間のリンク選択、空間フィルタリングの機能を利用して、より、柔軟な形で空間の自己拡張を行う実装も有効である。この機能は主に構造レイヤーにおいて適用される。
図を使用して、レイヤーの自己拡張機能を説明する。図120Aのノード3120、3121、3122はノードで空間を形成している。3130、3131、3132はレイヤーを形成している。図120Bに示されるように3122に対してノード3123を追加する。すると、図120Cのレイヤー3133が拡張される。
セキュリティを実現するにあたってセキュリティレイヤーを導入することで、セキュリティの管理をより扱いやすくすることが出来る。これはセキュリティレイヤーを空間にマッピングさせることによって実現できる。通常、セキュリティレイヤーには一つ、または、複数のユーザ情報とセキュリティ権限情報が含まれている。これによって、ユーザ別のセキュリティや、複数のユーザの権限と空間との対応がより明確になり管理しやすくなる。なお、セキュリティレイヤーとは、レイヤーにセキュリティ情報が付加されたものである。
図121を使用してセキュリティレイヤーを説明する。3215はユーザ3201用のセキュリティレイヤー、3216はユーザ3202用のセキュリティレイヤーである。それぞれのセキュリティレイヤーは空間の一部をマスクしている。ユーザ3201の命令3220はセキュリティレイヤー3215によって除外されるが、命令3222はセキュリティレイヤーの影響を受けることなく3211には適用されている。同様に、命令3221はノード3210に適用され、命令3223は除外されている。
図122にセキュリティレイヤーによるセキュリティの実現の一例をステップ図の使用で示す。ステップS401で空間に対する操作を検出する。ステップS402で操作対象の空間にセキュリティレイヤーが存在するかどうか確認する。ステップS403で設定されているセキュリティを分析して、操作を許可するかどうか決定する。S404は操作を許可された時に実行され、S405は不許可となり操作を無効にされ通知処理も同時に実行される。
イベントを実現するに当たってイベント情報をレイヤーにしたイベントレイヤーを導入することで、イベントをより柔軟に扱うことができる。イベントは基本的には「反応」と「通知」からなる。つまり、イベントレイヤーには何に対して反応するか、誰にどのように通知するかといった情報を記録し、プログラムからイベントの機能を実現すればよい。なお、イベントレイヤーとは、レイヤーに空間の変化、空間に対する命令、または、時間的変移を内部、または、外部ユーザに通知するイベント情報が付加されたものである。
図123にイベントレイヤーによるイベントの実現の一例をステップ図の使用で示す。ステップ501は空間に対する操作や変化などの出来事が発生することを意味する。ステップ502では操作の対象の空間、または、変化した空間に対応するイベントレイヤーが存在するのかどうか確認する。ステップS503は操作や変化に対して対応するイベント情報が存在するか確認する。ステップS504でイベント情報により通知処理を行う。ステップS502、S503でイベントに関する情報を収集し、S504で実際の通知を行う。
レイヤーに重み付け処理で利用する優先度を付加することも有用である。優先度の情報をレイヤーにすれば、状況によって優先度を自在に切り替えて重み付け処理を行うことも容易に実現できる。
以下に図124を使用して実際にレイヤーが使用される様子を具体的に説明する。図 の空間はある会社のソフトウェアのバグレポートを表現したものである。この場合、この空間を外部のネットワークからアクセスできるようにする場合はセキュリティの設定を行う必要がある。ここで、この空間にセキュリティレイヤーを設定する。まず、社外の人間やバグの修正に関わる必要のない部外者に対しては、空間の情報を変更できないようにセキュリティを設定することが望ましい。ここで構造レイヤー3251を使用して部外者による変更を空間全体で禁止を行うセキュリティ情報を付加する。さらに、作成者別にバグを分類する部分も部外者には作者に関する情報を開示するのは不要で不名誉である。このため3252には作成者別の部分を部外者に対して不可視の状態にする構造レイヤーとしてセキュリティ情報を設定するのが良い。さらに、未対処のバグは悪用されると危険であったりするので、部外者に対して絶対に公開しない方が良い。そこで、3253の空間にあるノードには実体レイヤーとしてセキュリティ情報を設定すれば良い。このようにすれば、他の空間に同期が存在している場合でもセキュリティは適用される。以上のようにレイヤーを使用すればセキュリティに関する設定が空間に対して直接の変更を加えることなく行うことができる。このように管理された情報は明確に分離されており追加、削除などを容易に行うことができる。
図125にセキュリティレイヤーを実現した一般的なプログラムの機能ブロック図を示す。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。ユーザ4802がセキュリティゲートウェイ4803を通して空間データ部4201にアクセスしている。セキュリティゲートウェイ4803はセキュリティレイヤー情報4804にアクセスし、セキュリティのレベルに応じた操作を許可する。
次に、自動分類処理部4809の詳細について説明する。自動分類処理部4809は、空間を構成するノードを追加することによって空間を拡張する処理部であり、ノード、または、ノードに対応づけられた情報を取得して処理を開始する自動分類処理開始部4810と自動分類部4811とから構成される。自動分類部4811は、ノードのリンクを辿る巡回部4812、巡回部において巡回したノードに新たなノードを追加する場合に、適切かどうかを判断する判定部4813及び判定部4813により追加が適切と判定された場合に、ノードを追加する追加部4814から構成され、判定部4813は、さらに、存在可否条件判定部4820及び巡回可否条件判定部4821から構成され、追加部4814は、さらに、個別追加部4830、同期追加部4831及びリンク追加部4832から構成される。これらの機能について、自動分類処理を実装した一般的なプログラムの機能ブロック図の図134を使用して処理の概要を説明する。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良い。
自動分類処理部4809による空間の「自動分類処理」はリンク空間に対する拡張や追加を容易にする。この機能は、空間を巡回しながら、ノードとノードの内部、または、外部に結びついた存在可否条件式を使用して、新しく追加するノードが追加して良いものかどうか判断する。存在可否条件式の一般的な実装は、新しく追加されるノードの情報を使用して、ノード判定式のようにスクリプト言語やプログラム言語で記述できるようにするのが一般的であると思われる。存在可否条件式は一つを複数のノードに対応させても良い。
図を使用して自動分類処理部4809による自動分類処理を説明する。図126Aはノードに存在可否条件式が付加されたものを示している。ノード3610、3611、3612、3613にそれぞれ存在可否条件式3620、3621、3622、3623が結びついている。ここに新たなノードを自動分類処理で追加すると図126Bになった。これは新たに追加されたノードが条件式の要件を満たしたからと言える。この場合、条件式3620、3621では新たに追加されるノードは不適切と判断されたが、条件式3622、3623によって、新たなノード3630、3631を適切なものとして追加を許可したのである。
自動分類処理の大まかなフローの一例として図127を示し、順を追って説明する。S601で、巡回部4812は、辿るべきノードが存在するかどうか確認し、ないのなら処理を終了する。S602で次のノードを辿る。S603において、存在可否条件判定部4820は、存在可否条件式で存在可能かどうか判定し、可能と判断されればS604で追加部4814はノードを追加する。さらに、S602、または、S604の内部で図127のフローを再帰的に実行する。
実際の実装では自動分類処理において、リンクを巡回部4812による巡回しない実装もある。これは、処理を実行するノードが分かれば良いので、図132の3671のような空間を直接巡回しなくても、3672に示されるように、3671のノードを置き換えたもの、または、表現する別のものを通じて、自動分類処理を行うことで同様の効果を上げる方法も実装上は考えられる。3672は3671の空間のノードを特定できるだけの情報を保持していれば良い。
図を使用して、自動分類処理でノードを追加する時に存在可否条件式を付加する場合を説明する。自動分類処理でノードと存在可否条件式を付加する処理を図126Aに対して行う。すると、図126Cに示されるように、新しくノードが追加される場合、ノード3630、3631と共に存在可否条件式3636、3635を付加している。
自動分類処理でノードを追加すると同時に存在可否条件式を付加する場合を図127のフロー図のS604を図128で示されるものとすることで実現する事ができる。
自動分類処理において、辿るべきノードをノードの内部、または、外部に結びついた巡回可否条件式によって制御することも可能である。これは階層空間において特に有効な手段である。この機能によって概念の体系化を利用した自動分類が可能となる。また、巡回すべきノード数が制限されるので、実行速度の面でも有利である。
図129を使用して、自動分類処理において辿るべきノードを巡回可否条件判定部4821が巡回可否条件式によって制御する場合の説明を行う。ルートノード3640から自動分類処理が開始するとする。巡回処理3650がノード3642に到達するときに、条件式3652に設定された巡回可否条件式で巡回可否条件判定部4821により巡回不可と判定されると、ノード3643、3644に到達することなく処理が終了する。
自動分類処理において辿るべきノードを巡回可否条件式によって制御する場合の説明を、図130のフロー図を用いて説明する。図130のフローは図127でのフロー図のステップS601とステップS602の間に新たに巡回可能かどうかを判断するステップS5を追加したものとなる。
自動分類処理でノードを追加すると同時に巡回可否条件式を付加することも有効である。
自動分類処理において、個別追加部4830による「個別型自動追加」とは、追加されるノードが個別の実体として追加されることを言う。つまり、二番目以降に追加するノードがそれぞれ異なる実体として追加されることである。
図を使用して、個別追加部4830による個別型自動追加を使用した場合について説明する。図131Aの空間にノード3660の自動分類処理を行ったところ、ノード3661、3662のノードで存在可能である場合、図131Bのようにノード3663、3664が加えられる。このときに、ノード3663と3664が異なる実体として追加される。
自動分類処理において、同期型追加部4831による「同期型自動追加」とは、二番目以降に追加されるノードは最初に追加されたノードの同期した状態で追加されることを言う。つまり、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードどうしを、同期した状態と呼ぶ場合において、二番目以降に追加されるノードが最初に追加されたノードの同期した状態で追加されることである。
図を使用して、同期型追加部4831による同期型自動追加を使用した場合について説明する。図131Aの空間にノード3660の自動分類処理を行ったところ、ノード3661、3662のノードで存在可能である場合、図131Bのようにノード3663、3664が加えられる。このときに、ノード3663と3664がお互いに同期した状態で追加される。
自動分類処理において、リンク追加部4832による「リンク型自動追加」の使用によって、二番目以降に追加されるノードは最初に追加されたノードのリンクした状態で追加されることを言う。
図を使用して、リンク追加部4832によるリンク型自動追加を使用した場合について説明する。図131Aの空間にノード3660の自動分類処理をしたところ、ノード3661、3662のノードで存在可能であるとする。この場合、図131Cのノード3665が加えられる。このように、ノードが二つ追加されるのではなく、最初に追加された3665のリンクを追加する。
存在可否条件式、および、巡回可否条件式は「同期型情報付加」、または、「空間型情報付加」のどちらでも仕組みでノードと結びつけても良い。同期型情報付加を使用すれば同期したノード同士で条件式を共有できる。
存在可否条件式や巡回可否条件式は一つのノードに対応する必要はない。つまり、これらの式は複数のノードで共有されているものでも良い。
存在可否条件式や巡回可否条件式は空間が表現したい概念を生成するための仕組みであるが、表現したい空間と直接には関係がない。そのため、これらがレイヤーとして実装されるのは自然なことだと言える。
存在可否条件式や巡回可否条件式に設定する条件がより複雑になると、スクリプトや単純なプログラム言語で表現することは困難となる。例えば、ノードの文章プロパティを複雑な構文解析を行って判断するような場合などである。そのため、この部分に外部のプログラムによる処理を実行することを可能として、存在可否条件式や巡回可否条件式の処理速度、開発効率、保守の容易性を向上させることが可能となる。
以上のように、自動分類処理部4809による処理の大きな流れとしては自動分類処理開始部4810からのデータ決定を受け取り、自動分類部4811が実行され、空間データ部4201へのノードの追加が実行される。
自動分類処理開始部4810は自動分類処理を開始するためのデータを取得、または、生成する。この部分には、外部、または、内部のプログラムによるものであったり、プログラム外部の変化を感知した場合であったり、人間が入力したものであったりする。
自動分類部4811は、巡回部4812、判定部4813、追加部4814から成る。巡回部4812が空間データ部4201のノードを巡回し、判定部4813によりノードが追加可能と判断された場合、追加部4814により空間データ部4201にノードが追加される。
巡回部4812は空間データ部4201の情報を取得して空間を巡回、または、巡回と同等の効果がある処理を行う。巡回部4812で巡回しながら、判定部4813を使用してノードを追加するのかどうか、または、ノードをさらに巡回するのかどうかを決定する。
判定部4813はノードに結びついた存在許可条件式を判断して追加するかどうかを決定する存在可否条件判定部4820と、巡回可否条件式を判断して巡回するかどうかを決定する巡回可否条件判定部4821から成る。判定部4813で使用される存在許可条件式、巡回可否条件式は4815のように、レイヤー、または、同様の仕組みを用いてノードに対応付けられるのが通常である。存在可否条件式・巡回可否条件式4815はスクリプト・プログラム言語4841で定義されるのが通常であるが、外部プログラム4842などを使用するものでも良い。実際では、条件式が複雑な場合は、スクリプト・プログラム言語4841から、内部、または、外部プログラムの機能を呼び出して処理を行う方法が一般的と思われる。
追加部4814は空間データ部4201へ新たなノードを追加する処理を行うものである。個別型自動追加は個別追加部4814を使用することで、同期型自動追加は同期追加部4831を使用することで、リンク型自動追加はリンク追加部4832を使用することで実現する。
自動分類処理を使用する利点は、適切な空間を保ったまま、拡張することができる点である。人手によって保守されるものは誤りを含む可能性がある。また、定義された空間の規模が巨大である場合は全体を認識できなくなる可能性がある。こういった問題を補完するものが自動分類処理である。図133に示されるように新たなノードを追加する場合、どの部分に追加すれば良いのか、どの部分に存在すべきかといったことが、空間の規模が大きくなればなるほど把握できなくなる。しかし、自動分類処理は一度、存在可否条件式を設定すれば、新たなノードの追加時に巡回して存在すべき適切な場所へ追加されることになる。
空間データ部4201における空間の実装を独立したストレージとして、「空間ストレージ」を実装することはデータの扱いやすさや処理の連携などが容易になり有効である。また、意味空間ストレージの実装で、リレーショナルデータベースやXMLデータベースなどとの連携を可能とすることによって、性能の向上や、データの一元管理、既存の情報システムとの共存なども容易になる。これは、空間の分散管理の技術がベースになっている。空間ストレージの定義は空間の重ね合わせ処理、射影化、レイヤーまたは、自動分類処理を使用することができるストレージである。
図を使用して、空間ストレージを説明する。図135において、3802が空間ストレージで3801が空間ストレージのクライアントで、3803はリレーショナルデータベースやXMLデータベースなどである。そして、3801、3802、3803間を、3804、3805によって通信している。3804、3805の通信は空間の分散管理で使用されている通信手段でよい。
間を利用するにあたって最も強力な機能は重ね合わせ計算処理部4211による空間の重ね合わせを利用した処理である。これによって曖昧なデータから、より意味的に詳細な情報へと容易に変換することが可能となる。最先端技術、医療、法律、情報科学などの技術データベース、インターネット上での知識検索、交換などでの使用が、最も効果的と思われる。他の情報管理手法に比べて、より曖昧で複雑なデータを扱うほど本発明の効果は大きくなる。また、人間の感性的な情報を利用できるので、絵画、映画、音楽情報などの芸術データベースなどにも効果的である。また、重ね合わせ計算処理部4211による空間の重ね合わせ処理によって学習的検索も可能であるため、教育機関の学習用検索装置なども考えられる。さらに、個人の小型情報データベース、ファイル管理プログラムとしても十分効果的である。また、RDFやOWLといったセマンティクスウェブ技術やマイクロソフトの提唱するWinFSとも異なる技術であるが、相反するものではなく、これらの技術の内部または、本発明の内部にそれらの技術を使用することはより効果的な情報管理システムの構築を可能とする。以下にインターネットのディレクトリ型検検索エンジンに適用する場合について説明する。現在、インターネット検索エンジンにはgoogleなどで使用される、ロボット型検索エンジンなどが主流である。しかし、ディレクトリ型検索エンジンには比較的に厳選されたサイトが登録されており、まとまった特定の情報をしらみつぶしに調べるような場合には有効な検索エンジンと言える。
代表的なディレクトリ型検索エンジンにはYahooカテゴリやgoogleディレクトリといったものが代表的と言える。
図152は本発明を適用した検索エンジンシステムである。7111、7112、7113は検索エンジンを利用するユーザを表している。ユーザはインターネットエクスプローラなどのWebブラウザや、その他の通信プログラムを使用して、情報通信網15を通して検索エンジン装置7101へ接続する。この実装では、情報提供インタフェース部7102が検索エンジンとしてのインタフェース機能を実装し、Webサイトのアドレスや名前を空間データ部に格納している。重ね合わせ処理を行う必要があれば、情報空間処理装置4000を使用して計算を行い、結果を7102を通じてユーザに配信される。
基本的にディレクトリ型検索エンジンは人、または、コンピュータによってWebサイトをカテゴリ別に分類してツリー状の情報を作成し、検索者はカテゴリをたどることで情報を見つけることができる。
通常、ディレクトリ型検索エンジンを使用してWebページを検索する場合、カテゴライズされた階層を一つずつ辿り、目的のWebサイトを探す方法が一般的であるが、検索ボックスに情報を入力することで検索するものもある。
ディレクトリ型検索エンジンに本発明を適用する場合は、Webサイトのタイトルやアドレスをノードに結びつけて、分類階層を空間とする。図153がディレクトリ型検索エンジンのカテゴライズの一例を部分的に省略して示している。カテゴライズされた空間は順に辿ることで、目的の情報へ到達することができる。例えば、サッカーに関するニュース情報を知りたいのであれば、ニュース > スポーツニュース > サッカーニュースと辿って行けば、7121、7122、7123といった適切なサイトへ到達できる。
重ね合わせ処理を使用する前提で空間を設計すれば、通常は役に立たないカテゴライズも有用な分類情報になる。例をあげれば、Webサイトの登録日別や対応言語で分類した空間などである。 こういった空間は単体ではWebページの分類情報としてはほとんど無価値であるといえるが、重ね合わせ処理を利用すれば有意義な情報となる。こういった情報は単体ではあまり価値がないためWebサイトの分類では作成されない。しかし、こういった情報は重ね合わせ処理を利用するシステムとしては有効な付加価値情報となる。
検索エンジンシステム7100を使用することで、絶えず変動する情報を利用して検索することも容易になる。例えば、Webページへのアクセスランキングを使用する場合について考える。図154にアクセスランキングの情報を空間7131にした様子を示している。こういった情報は時間によって変化する。また、単体では興味本位のデータで、それほど有意義なデータではないため、通常のインデックス型の検索エンジンではカテゴリ化されにくい。しかし、アクセスランキング空間を作成すれば、「探しているカテゴリのWebサイトでありながら、アクセスランキング1〜2000位のもの」といったより付加価値をつける検索が重ね合わせ処理により容易に可能となる。この結果、ユーザの求める情報原である可能性の高いWebサイトを絞り込むことができるのである。
本発明を使用する場合、空間の拡張は基本的にはノードに影響を与えない。そのため、検索エンジンシステム7100においても空間の拡張は比較的容易に行うことができる。そのため、様々な切り口で空間を作成、および、追加することで、Webページ検索のバリエーションを大幅に増やすことができる。また、主観的な情報で空間を作成してもユーザがそれを理解できれば重ね合わせによる情報検索を使用することができる。
検索エンジンシステム7100において、実際に空間を主観的に拡張する場合と、その効果を説明する。空間データ部4201に作成された、図154の空間に対して新たな空間7132を追加した図面が図155である。この空間7132は有名なオピニオンリーダーと呼ばれるような著名人のお薦めサイトが列挙されている。ここで、先ほどの検索「探しているジャンルでありながら、アクセスランキング1〜2000位のもの」に対して、さらに空間7133との重ね合わせを追加することで、「探しているジャンルでありながら、アクセスランキング1〜2000位のもの、かつ、著名人A氏がお勧めするサイト」というようなより特殊な検索を行うことができる。このように、様々な空間を選択して重ね合わせることで、分析に近い検索が可能となる。このように、様々な空間を加えたり、減らしたりしながら重ね合わせ処理を利用することで、ユーザは様々な見方でインターネットの情報を検索できるのである。
以下に掲示板システムに対して、本発明を適用した場合の実例を利用方法を説明する。掲示板システムとは、インターネットなどの情報通信ネットワークを通じて、多数の人々が情報を掲示板に書き込むことで、情報を共有するシステムである。
以下に本発明を使用した掲示板システムの実装例を説明する。図156の掲示板システム7300は本発明を使用することで、検索システムが強化された掲示板システムである。7311、7312、7313は掲示板を利用する掲示板ユーザを表している。掲示板システム7300では掲示板の情報と空間情報を結びつけ管理している。ユーザはインターネットエクスプローラなどのWebブラウザやその他の通信プログラムを使用して、情報通信網15を通して掲示板装置7301へ接続する。ユーザは任意の情報を掲示板装置7301に転送し、議論や情報交換を行う。
一般的な掲示板システムでは話題単位で一つの掲示板が作成される。これを通常、掲示板のスレッドと呼ばれる。スレッドはメッセージを書き込む複数のメッセージボードから成り立っている。
掲示板をについて説明する。図157はある掲示板を単純に表したものである。7321が掲示板の話題の単位であるスレッドを意味し、7322がメッセージボードを意味する。ユーザがメッセージボードに対して文章などを転送し、それを見た他のユーザがレスポンスを新たなメッセージとして転送する。図158はツリー型の掲示板である。この場合、それぞれの任意のメッセージボードに対してレスポンスを返すことができる。例えばメッセージボード7327は7326に対するレスポンスメッセージボードである。
世界中の掲示板システムには日々膨大な量の情報が蓄積されている。しかし、大半の情報が整理されておらず、テキストのかたまりとしてログファイルの中に存在しているといえる。これらの情報を本発明により、テキストマッチング以外の検索方法を適用することで、過去の情報に対してより深い分析を行うことを可能とする。
掲示板システム7300に本発明を適用する場合は、メッセージボートをノード、掲示板を空間として重ね合わせ処理を行って計算する方法が良い。この場合、図157の掲示板は図159のように表すことができる。この場合、メッセージボード732はノード7323と対応しており、メッセージボード7323はノード7333と対応している。また、同様に図158のツリー型掲示板は図160のように表すことができる。この場合メッセージボード7326はノード7336と、メッセージボード7328はノード7338と対応している。
掲示板を使って複数の人間が議論を行っているとする。ここで、過去にも似たような議論が行われているかどうかを調査する場合、過去の掲示板と重ね合わせ処理を行うことで、似たような議論を引っ張りだすことができる。
スレッド全体、または、一部で、他の掲示板のスレッドと重ね合わせ処理を行えば、類似したスレッドを見つけることも可能になる。比較検討処理などを利用すれば似たもの同士を比較してスコアを足し合わせた時、似ていれば似ているほど、スコアは大きくなる。そのため、掲示板のノードの数とスコアの大きさで類似度を算出することが可能となり、「内容の近い掲示板を見つけ出す」といった検索が可能となる。
理論上は等価評価によるものよりも、比較検討による重み付けの方がテキスト情報などを扱いやすいと言えるが、計算コストは非常に大きい。そのため、システムとして実装する場合はあらかじめメッセージボードのテキスト情報をベクトル情報などの検索処理用の情報に置き換えて空間データ部4201に情報を保存し、その情報に対して比較検討重み付けなどを行う方法が一般的といえる。
また、掲示板の議論の白熱や内容の細分化によってスレッドが大きくなりすぎる場合もある。このような場合、このスレッド単体で比較検討重み付け処理を行えば、全体として重要なメッセージボードを浮かび上がらせることができる。
Claims (60)
- ひとまとまりの情報であるノードの集合で形成された一つ、または、複数の空間に対する評価を行う情報空間評価装置であって、
前記空間から情報を取得するデータ取得部と、
取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理部と、
前記重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力部と
を備えることを特徴とする情報空間評価装置。 - 前記重ね合わせ計算処理部は、
前記ノードどうしが等価であると見なすことができるか否かを評価する等価評価部と、
前記等価評価部による評価に基づいて、前記異なる空間に対して、比較計算をし、その結果を前記関連性として算出する演算処理部とを有する
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記演算処理部は、前記等価評価部による評価に対して、一定の条件を満たすか否かを判断することによって真偽を求め、前記異なる空間どうしの真偽を論理演算することによって、前記比較計算をする論理演算部を有する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記論理演算部は、前記等価評価部によって等価と評価された前記ノードの数が指定された範囲なのか否かで前記真偽を求める
ことを特徴とする請求項3記載の情報空間評価装置。 - 前記演算処理部は、
前記等価評価部によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとして重み付け処理をする重み付け計算部と
重み付け計算部で得られた重みを用いて、前記比較計算をする統合計算演算部とを有する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記重み付け計算部は、前記等価評価部によって等価と評価されたノードについては、それぞれの前記空間で1つのノードとして数え上げる計算する一意化処理をする
ことを特徴とする請求項5記載の情報空間評価装置。 - 前記重み付け計算部は、前記重みに対して、それぞれの前記空間で等価と評価されたノードの数で除算を行って得られる値を新たな重みとして、前記重み付け処理をする
ことを特徴とする請求項6記載の情報空間評価装置。 - 前記重み付け計算部は、前記空間またはノードに応じて、数え上げたノードの数から重みを決定する際の依存関係を変化させる
ことを特徴とする請求項5記載の情報空間評価装置。 - 前記重み付け計算部は、それぞれの空間の重みを計算のオペランドとして使用することによって前記重みを特定する
ことを特徴とする請求項5記載の情報空間評価装置。 - 前記重み付け計算部は、前記計算において四則演算を使用する
ことを特徴とする請求項9記載の情報空間評価装置。 - 前記等価評価部は、前記ノードに結びついた情報であるプロパティを使用することによって、前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記等価評価部は、前記ノードの型を表すノードタイプを使用することによって、前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記等価評価部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつお互いに同期しているノードを等価とする同期点等価評価によって、前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記等価評価部は、プログラム言語、または、スクリプト言語による判断で前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記等価評価は、外部プログラムによる判断で前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記等価評価部は、空間に存在するノードをすべてお互いに異なるものとして扱う完全独立等価評価によって前記等価を評価する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記情報空間評価装置はさらに、
前記空間に存在するノード、または、前記ノードの情報をソート状態で前記空間別のデータコンテナへ格納するソート済みコンテナ作成部と、
ソート済みデータコンテナに対して線形走査による計算とマージ処理によって一つの結果を導くマージ計算部とを備え、
前記重ね合わせ計算処理部は、前記マージ計算部によってマージ処理された空間に対して、前記重ね合わせ計算をする
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記重ね合わせ計算処理部は、
前記ノードと前記ノードとの比較計算を行い、関連度を算出する比較検討部と、
前記比較検討部による評価に基づいて、前記重ね合わせ計算をする比較検討重ね合わせ処理によって前記空間どうしの関連性を算出する
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、重みを求める比較検討重み付け処理をする
ことを特徴とする請求項18記載の情報空間評価装置。 - 前記重ね合わせ計算処理部は、前記比較による値を計算のオペランドとして使用して計算することで前記関連性を算出する
ことを特徴とする請求項19記載の情報空間評価装置。 - 前記重ね合わせ計算処理部は、前記比較による値を計算のオペランドとして使用する場合において、計算に四則演算を利用する
ことを特徴とする請求項20記載の情報空間評価装置。 - 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、空間全体を使用して比較を行う全比較型の比較をする
ことを特徴とする請求項18記載の情報空間評価装置。 - 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、外部の空間のノードと比較を行う外比較型の比較をする
ことを特徴とする請求項18記載の情報空間評価装置。 - 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、内部の空間のノードと比較を行う内比較型の比較をする
ことを特徴とする請求項18記載の情報空間評価装置。 - 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理によって空間又はノードに対する重みを算出し、算出した重みを使用して一定の条件に対する真偽を求め、求めた真偽を論理演算する比較検討論理演算をする
ことを特徴とする請求項18記載の情報空間評価装置。 - 前記演算処理部は、
前記等価評価部によって等価と判断されたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する重みとして重み付けする等価重み付け処理と、前記ノードと前記ノードとの比較を用いた前記重ね合わせ計算をすることによって前記重み付けをする比較検討重み付け処理をする重み付け計算部と、
前記重み付け計算部で得られた重みを用いて、前記比較計算をする統合計算演算部とを有する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記統合計算演算部は、
前記重み付け処理によって得られた結果を特定の等価評価を基準として分類、および、統合する分類統合部と、
前記分類統合部の結果を計算のオペランドとして使用して計算する統合計算部とを有する
ことを特徴とする請求項26記載の情報空間評価装置。 - 前記分類統合部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつお互いに同期しているノードを等価とする同期点等価評価によって、前記等価評価をする
ことを特徴とする請求項27記載の情報空間評価装置。 - 前記分類統合部は、空間に存在するノードをすべてお互いに異なるものとして扱う完全独立等価評価によって前記等価評価をする
ことを特徴とする請求項27記載の情報空間評価装置。 - 前記統合計算部は、前記分類統合部の結果に対して四則演算による計算を行う
ことを特徴とする請求項27記載の情報空間評価装置。 - 前記重み付け計算部は、導き出された結果に対して求める重みの値を加工する重み加工処理を行う
ことを特徴とする請求項5記載の情報空間評価装置。 - 前記重み付け計算部は、前記重み加工処理において、論理演算により加工する重みを特定する
ことを特徴とする請求項31記載の情報空間評価装置。 - 前記重ね合わせ計算処理部はさらに、前記演算処理部で得られた結果を特定の条件で絞り込み、その結果を重ね合わせ計算処理部の結果として出力するフィルタリング部を有する
ことを特徴とする請求項2記載の情報空間評価装置。 - 前記フィルタリング部は、前記空間の論理演算による絞り込みを行う
ことを特徴とする請求項33記載の情報空間評価装置。 - 前記フィルタリング部は、特定のノードかどうかを判定する判定式を使用して絞り込みを行う
ことを特徴とする請求項34記載の情報空間評価装置。 - 前記情報空間評価装置はさらに、前記複数の空間を一つの空間として扱う処理である空間の射影化を行う射影部を備える
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記射影部は、空間を構成するノード単位で画一的な構造を作り出すノード射影化を行う
ことを特徴とする請求項36記載の情報空間評価装置。 - 前記空間は、空間を構成するノードどうしが連結関係を示す情報であるリンクによって連結されたリンク空間であり、
前記射影部は、ノードのリンク構成そのものを複数作り出す事で前記射影化をするリンク射影化を行う
ことを特徴とする請求項37記載の情報空間評価装置。 - 前記射影部は、空間に対してデータを結びつけることで前記射影化を行う
ことを特徴とする請求項37記載の情報空間評価装置。 - 前記射影部は、ノードであるが空間としても使用することができる独立空間ノードを使用することで前記射影化を行う
ことを特徴とする請求項37記載の情報空間評価装置。 - 前記空間は、空間を構成するノードどうしが連結関係を示す情報であるリンクによって連結されたリンク空間である
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記リンク空間は、親子関係のリンクで形成された階層空間である
ことを特徴とする請求項42記載の情報空間評価装置。 - 前記空間は、単なるノードの集合である無形空間であること
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記空間は、論理的な空間である
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記空間は、ノードそのものに情報を付加するのではなく、ノードと並行的に付加情報が与えられたレイヤー構造を有する
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記レイヤーは、空間の構造そのものに対して前記レイヤーを付加する構造レイヤーである
ことを特徴とする請求項45記載の情報空間評価装置。 - 前記レイヤーは、実体そのものに対して前記レイヤーを付加する実体レイヤーである
ことを特徴とする請求項45記載の情報空間評価装置。 - 前記レイヤーは、レイヤーにセキュリティ情報が付加されたセキュリティレイヤーである
ことを特徴とする請求項45記載の情報空間評価装置。 - 前記レイヤーは、レイヤーに空間の変化、空間に対する命令、または、時間的変移を内部、または、外部ユーザに通知するイベント情報が付加されたイベントレイヤーである
ことを特徴とする請求項45記載の情報空間評価装置。 - 前記情報空間評価装置はさらに、
前記空間を構成するノードを追加することによって空間を拡張する自動分類処理部を備え、
前記自動分類処理部は、
前記ノード、または、前記ノードに対応づけられた情報を取得して処理を開始する自動化処理開始部と、
前記ノードのリンクを辿る巡回部と、
前記巡回部において巡回したノードに新たなノードを追加する場合に、適切かどうかを判断する存在可否条件式を使用して適切かどうかを判断する存在可否条件判定部と、
前記存在可否条件判定部により追加が適切と判定された場合に、ノードを追加する追加部とを有する
ことを特徴とする請求項1記載の情報空間評価装置。 - 前記追加部は、二番目以降に追加するノードがそれぞれ異なる実体として追加される個別型自動追加をする
ことを特徴とする請求項50記載の情報空間評価装置。 - 前記追加部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノードどうしを、同期した状態と呼ぶ場合において、二番目以降に追加されるノードが最初に追加されたノードの同期した状態で追加される同期型自動追加をする
ことを特徴とする請求項50記載の情報空間評価装置。 - 前記追加部は、二番目以降に追加されるノードが最初に追加されたノードへのリンクの追加となるリンク型自動追加をする
ことを特徴とする請求項50記載の情報空間評価装置。 - 前記追加部は、ノードの追加と共に前記存在可否条件式を設定する
ことを特徴とする請求項50記載の情報空間評価装置。 - 前記巡回部は、巡回時にノードのリンクを辿って巡回するかどうか判定する巡回可否条件式を使用し、巡回不可と判断された場合に、リンクされたノードの巡回を行わない
ことを特徴とする請求項50記載の情報空間評価装置。 - ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価方法であって、
前記空間から情報を取得するデータ取得ステップと、
取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね合わせ計算処理ステップと、
前記重ね合わせ計算処理ステップによる重ね合わせ計算の結果を出力するデータ出力ステップと
を含むことを特徴とする情報空間評価方法。 - ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装置のためにプログラムであって、
請求項56記載のステップをコンピュータに実行させる
ことを特徴とするプログラム。 - ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装置のためにプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
請求項57記載のプログラムが記録されている
ことを特徴とする記録媒体。 - 前記情報空間評価装置に対して、情報通信網を介して接続することで前記情報空間評価装置の出力する情報を得ることができる情報接続部を備える情報受信装置。
- 前記情報接続部は、重ね合わせ計算の結果に依存する情報を得ることができることを特徴とする請求項59記載の情報受信装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004175714 | 2004-06-14 | ||
JP2004175714 | 2004-06-14 | ||
PCT/JP2005/010856 WO2005122014A1 (ja) | 2004-06-14 | 2005-06-14 | 情報空間処理装置、プログラム、および、方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2005122014A1 true JPWO2005122014A1 (ja) | 2008-04-10 |
Family
ID=35503795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006514606A Pending JPWO2005122014A1 (ja) | 2004-06-14 | 2005-06-14 | 情報空間処理装置、プログラム、および、方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPWO2005122014A1 (ja) |
-
2005
- 2005-06-14 JP JP2006514606A patent/JPWO2005122014A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2005122014A2 (ja) | 2005-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kiryakov et al. | Semantic annotation, indexing, and retrieval | |
Ramage et al. | Clustering the tagged web | |
Mehrotra et al. | Extracting hierarchies of search tasks & subtasks via a bayesian nonparametric approach | |
KR102046692B1 (ko) | 다언어 특질 투영된 개체 공간 기반 개체 요약본 생성 방법 및 시스템 | |
EP3249557B1 (en) | Computer implemented and computer controlled method, computer program product and platform for arranging data for processing and storage at a data storage engine | |
Fernandez-Basso et al. | New spark solutions for distributed frequent itemset and association rule mining algorithms | |
Asghari et al. | XML document clustering: techniques and challenges | |
WO2007000893A1 (ja) | 情報空間処理装置、プログラム、および、方法 | |
Bellandi et al. | An Entity Registry: A Model for a Repository of Entities Found in a Document Set | |
Liu et al. | SKDStream: a dynamic clustering algorithm on time-decaying data stream | |
KR20140047952A (ko) | 지식베이스 구축장치 및 이의 지식베이스 구축방법 | |
Mimouni et al. | Answering complex queries on legal networks: A direct and a structured IR approaches | |
JPWO2005122014A1 (ja) | 情報空間処理装置、プログラム、および、方法 | |
JP2007188469A (ja) | 情報空間処理装置、プログラム、および、方法 | |
CN101452462A (zh) | 用于自动建立网络上信息对象之间层次结构的方法和系统 | |
Meditskos et al. | V4Ann: representation and interlinking of atom-based annotations of digital content | |
Nguyen et al. | Discovering topic evolution in heterogeneous bibliographic network | |
Bai et al. | Querying multi-source heterogeneous fuzzy spatiotemporal data | |
JPWO2007000893A1 (ja) | 情報空間処理装置、プログラム、および、方法 | |
Ruiz-Rube et al. | Non-functional aspects of information integration and research for the web science | |
US20230138151A1 (en) | Knowledge Graph for Information Retrieval and Exploration | |
Yang | DSI: A model for distributed multimedia semantic indexing and content integration | |
Čech | Content-based exploration of unstructured data | |
Laxmi Lydia et al. | Challenging Data Models and Data Confidentiality Through “Pay-As-You-Go” Approach Entity Resolution | |
Joseph et al. | Context shifting for effective search over large knowledge bases |