(57)【要約】【課題】種々の手法で非構造化情報を変換または加工した構造化情報について、表現の不統一などの理由で機能連携およびデータ共有ができないという課題に対処すること。【解決手段】二の情報と、当該二の情報のうちの一の情報と他の情報との関係と、を含む情報、を元とし、その集合をモノイドとして機能させるデータ構造を保持するデータストアと、データ処理エンジンと、データ保守エンジンとを備える。  元のデータ構造は数学的な関係で表されたデータ構造で共通化、一意化させる。  データ処理エンジン内では、外部の機能の連携を可能にする。【選択図】図２
2018060406.tif 000002
【特許請求の範囲】
【請求項１】
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が実装され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、
データストアと、データ処理エンジンと、データ保守エンジンとを備える情報処理装置。
【請求項２】
入力情報が、情報の集まりから抽出し、一つまたは二つの情報からなる文字列とその間の関係とで構造化された（構造、様式、条件を持たせた）情報（一の情報があれば、関係及び二の情報は必要としない）であり、
入力情報を初期の評価対象情報とする、
請求項１に記載された情報処理装置。
【請求項３】
前記モノイドの集合要素の元の二の情報あるいは関係に値を割り当てたものを情報カテゴリーとし、情報カテゴリー間の関係はいずれかの情報カテゴリーの元として実装されて直接的には元を共有しない、
請求項１に記載された情報処理装置。
【請求項４】
入力情報と、情報カテゴリーの元に含まれる前記二の情報のうちの一の情報とが前記関係にあるかを判定し、
情報カテゴリーに含まれるいずれかの元に含まれる二の情報のうちの少なくとも一の情報と、
前記関係があると判定された場合に、入力情報と、前記入力情報と前記関係がある前記一の情報と、
前記入力情報と前記一の情報との前記関係と、を備える複合情報を作成し、
作成したものを元の候補としてそのデータストアに追加する、
請求項１に記載された情報処理装置。
【請求項５】
入力情報が、情報カテゴリーに含まれるいずれの元に含まれる二の情報のうちのいずれの情報とも、前記関係があると判定されなかった場合に、
その判定されなかった前記入力情報の備える情報と既定の関係とを単位元として備える新たな情報カテゴリーの候補としてそのデータストアに追加する、
請求項１に記載された情報処理装置。
【請求項６】
三つの関係（証明可能（├）, 包含関係（⊂）, 所属関係（∈））を組み込み、探索を前記モノイド共通の演算要素と位置付け、三つの関係に各々、探索での機能や役割（探索の終了条件、情報カテゴリー内探索、情報カテゴリー間探索）を持たせ、
初期状態では指定された関係があればその関係を、なければ ∈ 関係を設定した入力情報をライブラリに対して探索を開始し、
ライブラリに含まれる情報カテゴリーの元との照合を行い、
探索の結果として、密関係・疎関係・未確定のいずれかを返す、
請求項１から請求項５のいずれか１項に記載された情報処理装置。
【請求項７】
探索を定められた条件によりモノイドの演算として機能させ、探索の中で評価対象情報と情報カテゴリーの元との間で情報の文字列としての照合を行う情報評価と、情報の範囲や構造に関する検証を行う妥当性確認と、を行う、
請求項６に記載された情報処理装置。
【請求項８】
請求項５において、証明可能（├）を関係とし情報カテゴリー名を二の情報各々の値とする式を単位元（前記モノイドの単位元要素）とする、
請求項５から請求項７のいずれか１項に記載された情報処理装置。
【請求項９】
情報評価においては、成否または未確定を返し、情報の文字列が終端記号または単位元である場合は成否を返し（一致の場合に成）、情報の文字列が非終端記号でのマッチングである場合に未確定（マッチの場合）または否（アンマッチの場合）とし、
妥当性確認においては、情報の型チェック、変域・値域チェック、書式・構造チェック等で受理される場合は成とし、不受理の場合は否とし、
さらに、情報評価が成で妥当性確認も成である場合に密関係を返し、いずれかが否である場合に疎関係を返し、いずれでも成否が確定しない場合に未確定を返し、
情報評価が密関係または疎関係である場合に探索を終了する、
請求項４または請求項５に記載された判定方式を持つ請求項８に記載された情報処理装置。
【請求項１０】
情報評価が未確定である場合にその元に対して本発明で限定する代入を施したものを新たな評価対象情報として生成することで再帰的に探索を密関係・疎関係が確定するまで行い、
その結果が密関係である場合は再帰前の未確定な情報評価を成とし、疎関係である場合は再帰前の未確定な情報評価を否とし、
その再帰的な探索の過程を保持するデータ処理エンジンをさらに備える、
請求項９に記載された情報処理装置。
【請求項１１】
推移律の定義された関係（⊂ 等）について、再び同関係により再帰的な情報カテゴリー内探索、または情報カテゴリー間探索を行う機能を持たせた、
請求項１０に記載された情報処理装置。
【請求項１２】
生成系を利用することで入力情報そのものの情報カテゴリー候補リストや元候補リストへの登録、再起検索を回避する機能を持たせた、
請求項１０に記載された情報処理装置。
【請求項１３】
本発明の情報処理装置を複数束ねて二階層以上のハブアンドスポークの各ノードとして役割分担して連携させることで、
複数の下層の情報カテゴリー候補、元候補、関係の共有と公開を促進させ、
同時に、共有による情報カテゴリー候補、元候補、関係の見直し機会の提供する、
請求項６から請求項１２のいずれか１項に記載された情報処理装置。
【請求項１４】
利活用機能に本発明の情報処理装置の探索、探索応答の処理に参加させる機能を持たせた、
請求項６から請求項１２のいずれか１項に記載された情報処理装置。
【請求項１５】
探索の結果または探索応答から入力情報に関連する新たな構造化された情報の集まりとして、情報の木および情報の森を作成し提供する、
請求項１４に記載された情報処理装置。
【請求項１６】
クラスター分析機能でクラスタリング解析を行い、
クラスター分析装置から得られるクラスター分析ルールのデータストアとして情報カテゴリーを利用する、
請求項１５に記載された情報処理装置。
【請求項１７】
クラスター分析機能と連携し、
請求項１６で得られた情報カテゴリーのクラスター分析ルールを用いてクラスタリング解析を行い、
クラスター分析機能を支援する、
請求項１４に記載された情報処理装置。
【請求項１８】
あるソフトウェアのメタ言語の定義及びそのソフトウェアのソースコード、から抽出した情報、を前記入力情報とし、
前記モノイドを表わす情報の出力をする、
請求項１４に記載された情報処理装置。
【請求項１９】
入力された前記モノイドを表わす情報からソースコードを自動生成するソースコード自動生成支援装置をさらに備える、
請求項１５に記載された情報処理装置。
【請求項２０】
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が定義され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、情報処理方法。
【請求項２１】
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が定義され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、
データ処理エンジンとして表わす処理をコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化した情報を表わす情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
テキストで記述された情報のような、十分に構造化されていない情報（以下において「非構造化情報」ということにする。）から情報を構造化して抽出する方法については、複数の方法が提案され、実用化が図られている。
その方法は、一つには、正規表現により記述された情報から情報を抽出するときのように、情報のパターンの一致から、対象とする情報を獲得する方法である。
それ以外に、テキスト含意認識技術（ＲＴＥ： Ｒｅｃｏｇｎｉｚｉｎｇ Ｔｅｘｔｕａｌ Ｅｎｔａｉｌｍｅｎｔ）のように検索条件と完全には一致しなくても、実質的に意味が同一であったり、類似していたりする場合を考慮して、非構造化情報から情報を獲得する方法やＮ−ｇｒａｍのような文中の語句の統計的分析手法も知られている（テキスト含意認識技術は自然言語の形態素解析の一種と考えられ文法の知識が必要になるが、Ｎ−ｇｒａｍの場合は正規表現などの活用で実現でき文法の知識は不要だが文法的および文脈的な意味づけも確定的ではなく統計的になる）。
【０００３】
構造化された情報は、データベース、あるいは知識ベース等のデータストアに蓄える方法が知られている。
例えば、リレーショナルデータベース（ＲＤＢ）、多次元データベース（ＭＤＤＢ）及びネットワークデータベース（ＮＤＢ）は、固定的な関係に基づく情報構造を多次元で蓄積できる技術である。
また、プロログ（Ｐｒｏｌｏｇ）言語は、言語として情報間の関係をケースバイケースかつ動的に知識として検索して的確な処理を実行させたり、メタ言語として動的に知識や推論を更新したりしていく機能がある(固定的なデータベースには向いていないが分析から蓄積まで実装することは可能である)。
さらに、オーダブリューエル（ＯＷＬ）等のオントロジー言語は、与えられたデータを意味化・概念化してデータ交換することができる。
また、特許文献１には、文書と画像を、その単位で構造化し、辞書に依存せずに、情報の関係にも着目して生成する技術が開示されている。
特許文献２には、情報を半自動で分類し、分類ルールが生成する技術が開示されている。
【０００４】
しかしながら、ＲＤＢ、ＭＤＤＢ及びＮＤＢは、分析する内容を予め定義する必要がある。さらに、ＲＤＢ及びＭＤＤＢは基本的にデータ構造をレコードとして予め静的に定義する必要があり、柔軟性がないため、意味解析を行う知識の表現への適性は低い。ＮＤＢも同様であり、さらには、その構造から利用が難しい。
Ｐｒｏｌｏｇ言語は、言語やメタ言語として組み込みの推論規則は基本的なものであり、基本的でない推論規則は静的に追加実装したり、実装を動的に追加・更新したりしていく必要がある（推論規則を追加するだけではなく、自らを更新するようにプログラミングする必要がある）。
オントロジー言語は、明示的に意味のベースとなるクラスや関係を定義していく必要があり、実装に手間がかかるうえに、静的、確定的な推論にしか向いていない。また、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ上での利用になるため応用に一定の制約がある。
オントロジー言語以外の一般の言語処理系は、字句解析、構文解析後、意味解析を行い、ここでの意味解析はライブラリファイル（．ｌｉｂ 等）のオブジェクトの名前解決や型チェックすなわち数値型、文字型、ポインタ型などの型に対応する集合の形態素解析のみを目的としており、人間的な意味での意味付けは行うことができない。
【０００５】
特許文献１に開示された技術においては、文書と画像をその単位で構造化する際に着目して生成する情報の関係は、文書構造的なものに限定され、生成されるものもデータ構造に限定されている。
特許文献２に開示された技術においては、半自動での情報の分類し及び分類ルールの生成が、論理的な特性に基づいたものではなく、分類のための属性情報を質問応答で求めていく必要があり、属性という分類の仕方も分類に対する手間を考慮する必要がある。
なお、本発明に関係して、前述及び後述の正規表現については例えば非特許文献１に、また、後述のデータ管理形式については例えば特許文献３に開示がある。
公報記載（サーチされた公報または過去に知り得た公報のうち本発明に最も近い技術を開示するもの）
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平２−１０８１３０号公報
【特許文献２】特開平２−２３８５６７号公報
【特許文献３】特許第３１９９１６６号公報
【非特許文献】
【０００７】
【非特許文献１】”正規表現の構文”、［平成２７年２月１７日検索］、インターネット（ｈｔｔｐ：／／ｍＳｄｎ．ｍｉｃｒｏＳｏｆｔ．ｃｏｍ／ｊａ−ｊｐ／ｌｉｂｒａｒｙ／ｃｃ３９２０２０．ａＳｐｘ）
【非特許文献２】”ビッグデータを支える先進技術: ビッグデータ | NEC”、 ［平成２７年１０月２０日検索］、インターネット（ｈｔｔｐ：／／ｊｐｎ.ｎｅｃ.ｃｏｍ／ｂｉｇｄａｔａ／ａｎａｌｙｚｅ／ｉｎｄｅｘ.ｈｔｍｌ）
【非特許文献３】”JIS X 3004:1987 データベース言語ＮＤＬ”、 ［平成２７年１０月１６日検索］、インターネット（ｈｔｔｐ：／／ｋｉｋａｋｕｒｕｉ.ｃｏｍ／ｘ３／Ｘ３００４−１９８７−０１.ｈｔｍｌ）
【非特許文献４】” Prolog - Wikipedia”、 ［平成２７年１０月２０日検索］、インターネット（ｈｔｔｐＳ：／／ｊａ.ｗｉｋｉｐｅｄｉａ.ｏｒｇ／ｗｉｋｉ／Ｐｒｏｌｏｇ）
【非特許文献５】”オントロジー (情報科学) - Wikipedia”、 ［平成２７年１０月２０日検索］、インターネット（ｈｔｔｐＳ：／／ｊａ.ｗｉｋｉｐｅｄｉａ.ｏｒｇ／ｗｉｋｉ／％Ｅ３％８２％ＡＡ％Ｅ３％８３％Ｂ３％Ｅ３％８３％８８％Ｅ３％８３％ＡＤ％Ｅ３％８２％Ｂ８％Ｅ３％８３％ＢＣ＿（％Ｅ６％８３％８５％Ｅ５％Ａ０％Ｂ１％Ｅ７％Ａ７％９１％Ｅ５％ＡＤ％Ａ６））
【非特許文献６】” OWL Web Ontology Language Overview”、 ［平成２７年１０月２０日検索］、インターネット（ｈｔｔｐ：／／ｗｗｗ.ｗ３.ｏｒｇ／ＴＲ／ｏｗｌ−ｆｅａｔｕｒｅＳ／）
【非特許文献７】”OWL 2 Web Ontology Language Manchester Syntax”、 ［平成２７年１０月２０日検索］、インターネット（ｈｔｔｐ：／／ｗｗｗ.ｗ３.ｏｒｇ／ＴＲ／２０１２／ＮＯＴＥ−ｏｗｌ２−ｍａｎｃｈｅｓｔｅｒ−Ｓｙｎｔａｘ−２０１２１０１８／）
【非特許文献８】”バッカス・ナウア記法 - Wikipedia”、 ［平成２７年１０月２３日検索］、インターネット（ｈｔｔｐＳ：／／ｊａ.ｗｉｋｉｐｅｄｉａ.ｏｒｇ／ｗｉｋｉ／％Ｅ３％８３％９０％Ｅ３％８３％８３％Ｅ３％８２％ＡＢ％Ｅ３％８２％Ｂ９％Ｅ３％８３％ＢＢ％Ｅ３％８３％８Ａ％Ｅ３％８２％Ａ６％Ｅ３％８２％Ａ２％Ｅ８％Ａ８％９８％Ｅ６％Ｂ３％９５）
【非特許文献９】”ISO/IEC 14977 : 1996(E)”、 ［平成２７年１０月２３日検索］、インターネット（ｈｔｔｐ：／／ｗｗｗ.ｉＳｏ.ｏｒｇ／ｉＳｏ／ｃａｔａｌｏｇｕｅ＿ｄｅｔａｉｌ.ｈｔｍ？ｃＳｎｕｍｂｅｒ＝２６１５３）
【非特許文献１０】” RFC 4234 - Augmented BNF for Syntax Specifications: ABNF”、 ［平成２７年１０月２３日検索］、インターネット（ｈｔｔｐＳ：／／ｔｏｏｌＳ.ｉｅｔｆ.ｏｒｇ／ｈｔｍｌ／ｒｆｃ４２３４）
【非特許文献１１】”モノイド - Wikipedia”、 ［平成２７年１０月２３日検索］、インターネット（ｈｔｔｐＳ：／／ｊａ.ｗｉｋｉｐｅｄｉａ.ｏｒｇ／ｗｉｋｉ／％Ｅ３％８３％Ａ２％Ｅ３％８３％８Ｅ％Ｅ３％８２％Ａ４％Ｅ３％８３％８９）
【非特許文献１２】” はじめてのAIプログラミング―C言語で作る人工知能と人工無能”、 ［平成１８年１０月発売］、第2章 文字を処理する―テキスト処理の技術
【発明の概要】
【発明が解決しようとする課題】
【０００８】
第１の問題点は、背景技術の項において説明した各応用技術（特許文献３及びすべての非特許文献を除く。）には、単独の方式で利用する際に以下の課題がある。
（課題１）非構造化情報間の関係を事前定義する必要があり、事前定義にはさらに以下の課題（静的な用途向きで活用価値が乏しい課題）がある。
・リアルタイムに動的な活用に難しいという共通した課題
・事前定義のための人間系介在の必要性に伴う自動化のための課題
【０００９】
（課題２）（課題１）の二次的影響として同一の従来技術間の連携に際して以下の課題が発生する。
・第三者による事前定義による解釈の差異を認め情報の信頼性や一意化の妨げを引き起こすという課題
・同じ情報を別々に定義することで生産性を低下させるという課題
その理由は、背景技術の項において説明した各技術では非構造化情報に内在するキーワードや構文を識別するために各々の技術で得意とする方法でその識別の条件を設定する必要があるためである。共通化された関係を事前にかつ可能な場合は動的に定義する仕組みが必要となる。
【００１０】
第２の問題点は、従来技術の異なる機能間の統合・連携等に際して以下の分割統治アルゴリズムや業種・職種横断への応用を難しくする課題がある。
（課題３）背景技術の項において説明した各技術（特許文献３及びすべての非特許文献を除く。）には、非構造化情報間の関係を各々固有の方式で定義する必要があって仕組みの連携・統合しにくいという共通課題。
（課題４）（課題３）の二次的影響としてデータの一元化を妨げるという課題。
その理由は、背景技術の項において説明した共通する原始的な論理構造を用いずに各技術で独自の文法を定めているためである。
【００１１】
［発明の目的］
本発明は、非構造化情報について、情報間の関係を新たに定義することなく、既に定義された関係のみを用いて構造化した情報を表わすことのできる、情報処理装置等の提供を目的とする。
別々の方法で利用してきた各技術との機能やデータの連携により、利用者にとっての操作性、生産性の向上を果たす。
情報の一元性、一意性を向上させ、かつ、異なる技術や用途で得られた情報を再利用性や共有性により利活用することで生産者（開発者）にとっての生産性、保守性の向上をもたらす。
本発明の目的あるいは機能そのものではないが、複数の情報間の互換性を持たせることを利用可能とする。
【課題を解決するための手段】
【００１２】
まず課題を解決するための方針について説明する。
次の二つの方法により、人間系の介在をなくす(自動化)か、あるいは少なく(半自動化)して問い合わせや知識の獲得を行う(（課題１）への対処)。
（方法１）単一の要求において、問い合わせと知識の獲得とをこなすことで、処理ステップを形式化する（後述の（付記Ａ４）、（付記Ａ５））。
（方法２）従来技術を問い合わせと知識の獲得の処理に参加させる（後述の（付記Ａ１４）乃至（付記Ａ１５）に対応）。
【００１３】
次の一連の方法により様々な方式を統合するため共通化された関係を用いた共通化された構文やスキーマを実装し、かつ様々な方式を参加させる仕組みを提供する。
（方法３）様々な方式で授受する情報は、基本的には数学的な関係として表現可能なはずであり、数学的な関係として表現されたものを本発明の情報処理装置で扱うことにする（（付記Ａ２）に対応）。
数学的な関係として表現することで、様々な方式の形式、データ、処理などを一元化・共通化することができる（（課題３）、（課題４）への対処）。
また本発明の情報処理装置で数学的な表現のばらつきを排除する（（課題２）、（課題４）への対処）。
数学的な関係として表現可能でないものについては直接的には本質的に利活用する価値はないものとする。
但し、数学的な関係として表現可能でないものについても間接的には非構造化情報の一種として再分析して利活用する価値を否定しないものとする。
【００１４】
次の一連の方法により情報の体系を体系毎にモノイドまたはその生成系として表現し、情報のデータストアとする。
（方法４）各情報を（方法３）により、モノイドまたはその生成系の元として数学的な関係で定式化された統一された形式で表現する（（課題３）、（課題４）への対処）。
情報がモノイドまたはその生成系の元となりうるかを探索し、該当するモノイドがあれば、適切な処理を行わせるようにする（判定だけで終わると単一の処理にできなくなるため、同期させる連携の仕組み）。
モノイドまたはその生成系の演算規則や利活用機能との相互作用を利用して複雑な判定を可能にする（判定の精度を上げる連携の仕組み）。
モノイドまたはその生成系の元と単位元との演算が、元そのものになることを探索の終了に利用する（後述の（付記Ａ９）および（付記Ａ１０））。
情報が元として所属するモノイドまたはその生成系が見つからない場合は、新たなモノイドまたはその生成系の候補とする。
利活用機能との相互作用により、利活用機能やそのデータの共有基盤とする（（課題３）、（課題４）への対処）。
【００１５】
次に、前記方針を実現するための手段について説明する。
本発明の情報処理装置はモノイド及びその生成系の仕組みを利用して利活用機能参加型の機能・データ共有基盤を実現する。
そこで、まず、モノイドと生成系および関連する概念について説明する。
集合 S とその上の閉じた二項関数 f : S×S→S, ∀x, ∀y ∈ S( f(x, y) ∈ S) が次の二式で表される条件を満たす時、(S, f, i) はモノイド（ｍｏｎｏｉｄ、単位半群、単位的半群）という。
【００１６】
（式１a）∀ｘ, ∀ｙ, ∀ｚ ∈ Ｓ（ ｆ（ｆ（ｘ, ｙ）, ｚ） ＝ ｆ（ｘ, ｆ（ｙ, ｚ）） ∈ Ｓ)        (f の結合法則)
（式１b）∃ｉ ∈ Ｓ（ｆ（ｘ, ｉ） ＝ ｆ（ｉ, ｘ） ＝ ｘ）    (単位元 i)
【００１７】
なお、数学用語では、律という言葉と法則という言葉が入り乱れて使われることが多い。
本説明では関係に対するものを律と記し、演算・関数に対するものを法則と記す。
たとえば関係に対しての辺の交換は対称律と記し、演算・関数に対しての項の交換は交換法則と記す。
モノイドや群（Ｇｒｏｕｐ）などの代数的構造の定義に使われる結合法則は、＝ 関係のための制約ではなく、二項関数 f のための制約であるため、結合律ではなく、結合法則と記している。
モノイド（単位元 i）に次の条件を追加すると群になる。
従い、群はモノイドである。
【００１８】
（式２）∀ｘ, ∃ｙ ∈ Ｓ（ｆ（ｘ, ｙ） ＝ ｆ（ｙ, ｘ） ＝ ｉ）        (逆元の存在)
【００１９】
群で表現できるものはあまたあるが、群には不向きなものも多々ある。
不向きな理由は逆元の存在が支障となるためであるが、モノイドであれば表現できる対象が大きく広がることになる。
例えば加算（＋）を二項演算とすると、数学的構造（非負整数の集合, ＋, ０） は０を単位元とするモノイドである（（ａ ＋ ｂ） ＋ ｃ ＝ ａ ＋ （ｂ ＋ ｃ） ＝ ａ ＋ ｂ ＋ ｃ， ａ ＋ ０ ＝ ０ ＋ ａ ＝ ａ）。
非負整数の集合を整数の集合に拡張すると、数学的構造（整数の集合， ＋， 0） は群になり、かつモノイドにもなる。
しかし、乗算（×）を二項演算にしても、数学的構造（整数の集合， ×， 1） は群にはならず、モノイドになる（０以外の有理数の集合に拡張すれば群になる）。
【００２０】
また文字列連結演算（・）に対して、（文字列の集合， ・， “”） は空列””を単位元とするモノイドになる（自由モノイドと呼ばれ、モノイドの性質 （“ａｂｃ” ・ “ｄｅｆ”） ・ “ｇｈｉ” ＝  “ａｂｃ” ・ （“ｄｅｆ” ・ “ｇｈｉ”） ＝ “ａｂｃｄｅｆｇｈｉ”， “ａｂｃ” ・ “” ＝ “” ・ “ａｂｃ” ＝ “ａｂｃ” を満たす）。
(文字列の集合, ・, “”) は前記整数の集合と異なり、逆元が定義できないため、群に拡張はできないが、モノイドとして扱うことができる。
このようにデジタルデータの中には逆元の定義・実装が難しいものもあるがモノイドでは表現できる場合があることがわかる。
【００２１】
モノイドや群等の数学的構造 （Ｘ， ｐ， ｉ） （Ｘ ： 集合， ｐ ： 演算 ｐ ： Ｘ × Ｘ→ Ｘ， ｉ ： 単位元） の Ｘ の部分集合 Ｓ （Ｓ ⊆ Ｘ）があって （Ｓ， ｐ， ｉ） が ｐ ： Ｓ × Ｓ → Ｘ となる場合、（Ｓ， ｐ， ｉ） は （Ｘ， ｐ， ｉ） の生成系（Ｇｅｎｅｒａｔｉｎｇ  ｓｅｔ）と呼ばれる。
つまり、生成系は代数的構造の部分集合と代数的構造の演算子だけを使って代数的構造の全体集合を作成できる。
モノイドや群ではその部分集合から生成系を作成する方法が多数知られている。
二つのモノイドや群等の数学的構造 （Ｘ， ｐ， ｉ）， （Ｙ， ｑ， ｊ） があって、写像 Ｍ が次の二つの式を満たす場合、写像 Ｍ は準同型写像であるといい、数学的構造 （Ｘ， ｐ， ｉ）， （Ｙ， ｑ， ｊ） は準同型であるという。
【００２２】
（式３a）Ｍ（Ｘ） ⊆ Ｙ
（式３b）∀ａ, ∀ｂ ∈ Ｘ（Ｍ（ｐ（ａ, ｂ）） ＝ ｑ（Ｍ（ａ）, Ｍ（ｂ）））
【００２３】
モノイドや群等に存在する単位元の準同型写像は、再び単位元になる（Ｍ（ｉ） ＝ ｊ）という性質がある。
集合を余すことなく共有部分のない部分集合に分割することを分割（Ｐａｒｔｉｔｉｏｎ）、あるいは類別（Ｃｌａｓｓｉｆｉｃａｔｉｏｎ）といい、類別された各部分集合を類（Ｃｌａｓｓ）という。
全体集合 Ｓ の類別による各類を Ｃｉ で表すと次の二つの式を満たす。
【００２４】
（式４a）Ｓ ＝ ∪ Ｃｉ              (i ≧ 0, Ｃｉ は i 番目の類)
（式４b）Ｃｉ ∩ Ｃｊ ＝ { }        (ｉ ≠ ｊ)
【００２５】
集合の元のある属性の取りうる値とその属性に対して定義された同値関係で同値とみなせる元の部分集合に類別できるとき、その類を同値類という。
例えば除法で同じ余りをとるもので整数を同値類別できる（除法による同値類を剰余類ともいう）。
同値類の元の一つを代表元（Ｒｅｐｒｅｓｅｎｔａｔｉｖｅ）という。
同値類の任意の元は互いに同値関係にあり、すべての元は代表元として利用でき、次の式が成立する（ａ を代表元とする同値類は Ｃ（ａ） あるいは ［ａ］ と表記する）。
【００２６】
（式５）∀ｘ ∈ Ｃ（ａ）（Ｃ（ｘ） ＝ Ｃ（ａ））
【００２７】
概念について一通り説明したので、次に、本発明の情報処理装置の機構について説明する。
前記モノイド、生成系、準同型、同値類を利用する目的を以下とする。
モノイドと生成系は情報カテゴリー（後述する）の外形となるデータ構造として利用する。
情報カテゴリーは情報の体系をデータ構造として表現したもので情報カテゴリーに含まれる元（すなわちモノイドや生成系の元）は二つの情報間の関係を式で表したもの、またその元との照合を確認する妥当性確認（後述する）とから構成されるデータ構造である。
情報カテゴリーの元は、式と妥当性確認を含み、式は二の情報間とその間の関係を含み、妥当性確認は式が成立することを確認する処理である。
情報カテゴリーの元の式はその情報カテゴリーとの関係を表現した式を含み、情報カテゴリーで表現する情報の体系に含まれる元やその範囲を指定したり、自身と他の情報の体系間の関係を指定したりしたものを含む。
生成系と同値類はモノイドに登録する元を削減する方法として利用する（すべての元を一つ一つ登録しても構わないがこの方法で削減できる）。
生成系としては元を追加していくことでモノイドをより広範なものに成長させていくことで任意の時点では最小のモノイドを構成するように元を削減する。
同値類の場合は、生成系とは別の方法で、元の照合範囲を可変にしてその代表元がモノイドに含まれれば、その同値類の元も含まれるという事実を用いて追加する元を削減する。
【００２８】
なお、同値類とは別に正規表現やワイルドカード等の技術的手法で同様に元の照合範囲を可変にして追加する元を削減することも可とするが詳細は後述する。
準同型は入力された情報体系を情報カテゴリーと対応付ける基本概念として位置付ける（定性的な対応が付けば準同型である必要はないし、厳密には単位元を違える必要がある）。
情報の体系の表現として、モノイドの代わりに完全加法族を利用することも考えられる。
完全加法族は、群になり、部分集合から生成系も構築できるのでモノイド同様に利便性はあるが元を個別にすべて登録していく必要があり、また生成系も元を組み合わせていくので元となる集合の数が指数関数的に膨大でかつ構造も多階層集合になり、生成系も意味合いの異なる視点で利用する必要があり、データ量としても探索時間としても効率的ではなくこの説明での用途の範疇とも異なるので説明の対象から外した（完全加法族の組み込みを否定しているわけではないので有用かつ現実的であれば機能として追加してもよい）。
【００２９】
次に前記各概念を機構として実現する手段を説明する。
情報カテゴリーはモノイドやその生成系となるデータ構造（クラス等）とする。
モノイドやその生成系とするため集合を情報カテゴリー、演算を探索とし、単位元（元の定義、単位元の定義と仕組みの詳細は後述する）を情報カテゴリー固有の二の情報と証明可能（├）関係で構成されたものとする。
情報カテゴリーは情報の体系の単位であるため、情報の体系毎に一つずつ実装する。
探索（後述する）はライブラリ（後述する）に含まれる全情報カテゴリーで共通する演算を表す処理ルーチンであり、利活用機能（後述する）から要求することのできる公開ルーチンと公開ルーチンから呼び出される非公開ルーチンとから構成される。
公開された探索ルーチン（情報カテゴリー間探索）では、全情報カテゴリーに対して非公開の探索ルーチン（情報カテゴリー内探索）を要求し、非公開の探索ルーチンでは各情報カテゴリーに含まれる元を探索して照合（探索の公開ルーチン、非公開ルーチンは実体化された情報カテゴリー非依存なので各々情報カテゴリークラスの静的メソッドまたは情報カテゴリークラスから独立したメソッドとして実装するとよい）し、密関係と判定される元が見つかるか、未照合の元が枯渇するまで照合を続ける。
非公開の探索ルーチンにおける照合は評価対象情報（後述する）と元に含まれる式との間で情報評価（後述する）、および元毎の妥当性確認を行い、各情報カテゴリーと密関係（後述する）か疎関係（後述する）かを返す（密関係・疎関係のデータ構造は制約しないので複雑なデータ構造でも構わないし真理値でも構わない）。
【００３０】
探索において情報カテゴリー間探索、情報カテゴリー内探索の選択は、評価対象情報に含まれる関係によって決定する。
包含関係（⊂）は集合間の関係を示すものであるため通常の探索（再帰を含む）においては情報カテゴリー間探索に対応させる。
なお、同値類を別の情報カテゴリーとせずに同一情報カテゴリー内に集約する場合は、⊂ は情報カテゴリー内探索が必要となるため、前記の限りではない。
所属関係（∈）は元と集合の間の関係を示すものであるため探索（再帰を含む）においては情報カテゴリー内探索に対応させる。
その他の関係も基本的には、包含関係・所属関係と同様に情報カテゴリー内探索、情報カテゴリー間探索に対応づけ（関係を定義するデータ構造にいずれの探索をするかフラグを設けるとよい）、関係の固有機能は妥当性確認の中で行う。
包含関係（⊂）、あるいは推移律の成り立つ関係は再帰的な探索において推移律が適用されるものとする（関係を定義するデータ構造に関係の持つ推移律などの規則の成否を定義するフラグを設けるとよい）。
【００３１】
情報評価は、評価対象情報と元に含まれる式との照合を、評価対象情報の式の関係と元に含まれる式の関係との照合、および、評価対象情報の式の二の情報と元に含まれる式の二の情報との照合を行い、成否を真理値で返す。
妥当性確認は、評価対象情報が元に含まれる式として妥当であるか否かを真理値で返す処理であり、その過程で利活用機能のコールバックを可能とする。
【００３２】
非公開の探索ルーチンは単位元以外との照合で、情報評価、妥当性確認いずれも真である場合に、密関係を返し、いずれも偽である場合に疎関係を返し、いずれか真偽が確定しない場合に再帰的な探索を行う。
非公開の探索ルーチンは単位元との照合で、再帰的な探索を行わず（つまり単位元は探索の終端記号）に、情報評価、妥当性確認で密関係・疎関係を確定する。
情報カテゴリーに含まれる一つ以上の元で密関係である場合、探索は関係が成立しているかその可能性があるとして、その情報カテゴリーと入力対象情報とが密関係にあると判定する。
情報カテゴリーに含まれるすべての元で疎関係である場合、探索は関係が成立していないとして、その情報カテゴリーと入力対象情報とが疎関係にあると判定する。
元に対する非公開の探索ルーチンの密関係・疎関係が確定しない場合、再帰的な探索が行われ、その結果を当該の探索結果として継承する（再帰的な探索については評価対象情報で説明する）。
【００３３】
探索に際して元毎の妥当性確認は利活用機能をコールバックすることができる。
探索に際して入力情報毎の探索応答は密関係と判定された探索に同期して利活用機能をコールバックすることができる（例えば探索結果のログ出力ができる）。
探索で全情報カテゴリーと疎関係にあると判定された場合、評価対象情報は新たな情報カテゴリーの候補リスト（後述する）に登録する。
情報カテゴリーの元は、式と妥当性確認とからなるデータ構造とする。
入力情報（後述する）は利活用情報から探索を要求された際に渡される式の形式の構造化情報である。
評価対象情報（後述する）は式のデータ構造である。
評価対象情報は、初期状態では入力情報の式であり、探索から再帰的に探索された場合はその再帰探索を要求した元に含まれる式に探索時に発生した代入の行われたものに更新される（再帰は結合法則を実現している）。
式は、関係と二の情報（後述する）とからなるデータ構造（クラス， 構造体等）とする。
式は、表現方法により解釈が分かれる場合があるため、冠頭標準形、スコーレム標準形で表せるようにするとよい（本説明も冠頭標準形を使用している）。
関係は、情報カテゴリーとは独立したデータ構造とし、情報カテゴリーから参照でき、式の照合の際に照合され、少なくとも三つの関係、証明可能（├）、包含関係（⊂）、所属関係（∈）の実装を既定で含み、追加も可能なものとする。
二の情報のデータ構造は限定しないが、認知可能な情報の単位であり、式の照合可能なデータ構造とする（二の情報の各情報は、少なくとも情報文字列を持ち、それ以外の情報を持たせても構わないものとする）。
各情報カテゴリーの単位元の実装は、次式で表される式を含む元とする。
【００３４】
（式６）{ A } ├ A
【００３５】
この式は、A の内容（集合であるか、元であるか）によらず常に存在し、成り立つ関係である（古典論理の公理に相当する）。
派生形として論理演算を交えた { A } ├ A ∨ B, { A ∧ B } ├ A という式もあるが、これらも証明における減規則によって、{ A } ├ A に導かれる。
つまり、前記の式は特殊ではない一般的な論証において成立を意味する最終形態となっている（この式は厳密には LK と呼ばれる数学における古典論理の公理であり古典論理の範囲であればこの式に帰着することになる）。
次のＰｒｏｌｏｇの導出原理と役割が似ているが、根本的に式が異なる。
【００３６】
（式７）{ A ∨ B, ¬A ∨ C } ├ B ∨ C        (Prolog 導出原理)
【００３７】
論理演算（∧， ∨， ⇒， ¬）の追加と証明可能（├）とで下記の古典論理の特徴を実現できるが、単位元にならず、情報カテゴリーで定義可能なため説明を省く。
【００３８】
（式８）{ A, A ⇒ B } ├ B                  (三段論法)
（式９）{ ¬¬A } ├ A                        (二重否定)
（式１０）{ A ⇒ B } ├ ¬B ⇒ ¬A        (対偶)
（式１１）{ A ∧ ¬A } ├ φ                (無矛盾)
【００３９】
探索は、密関係にある場合、次の式を機能として持つ演算である。
【００４０】
（式１２）探索（評価対象情報， 元２の式） ＝ 元３の式
（元２ ∈ 情報カテゴリー）
【００４１】
特に単位元との演算では、被演算対象がそのまま演算結果となるため、繰返しが意味をなさないので、これをもって再帰の終了とすることを前提とする。
【００４２】
（式１３）探索（元の式， 単位元の式） ＝元の式
（元， 単位元 ∈ 情報カテゴリー）
【００４３】
単位元以外の式とは新たな元３の式を含んでいるはずで、元２の式が単位元の式の場合は元３の式が式１のままとなる（これ以上の再帰的な繰り返しで変わらない）。
密関係にあるのであれば、元を検索して再び照合するということを再帰的に繰り返して単位元の式との照合が成立した時点で肯定的に探索を終了する。
一方、疎関係にある場合は、初期の探索、あるいは再帰的な探索のくりかえしのいずれかの段階で、元３の式が得られずに棄却され、否定的に探索を終了する。
つまり、密関係または疎関係のいずれかであるか確定するまで再帰的に検索と照合とを繰り返していくことが探索である。
次のように再帰的な探索は、結合法則の表現とみなすことができる。
【００４４】
（式１４）探索（探索（元１の式， 元２の式）， 元３の式） ＝ 探索（元１の式， 探索（元２の式， 元３の式））
【００４５】
従い、探索により、単位元の存在と結合法則が保証されるため、(情報カテゴリー， 探索， 単位元) はモノイドを構成している。
なお、探索中の元と疎関係にある場合、探索は結果を返すことができない。
そこで上記の式はプログラミング上の処理（メソッドや関数）としては次のように変形する必要がある。
【００４６】
（式１５）探索（式１， 式２， ｏｕｔ 式３） ＝ 密関係 ｏｒ 疎関係
【００４７】
ここで、ｏｕｔ は、修飾している式３引数に出力を含む場合を示し、呼び出し側からプレースホルダーを指定する場合は、ｏｕｔ ではなく、ｒｅｆ を指定する（ｏｕｔ／ｒｅｆ は Ｃ♯ 言語等で使われる場合の修飾子で他のプログラミング言語ではキーワードや文法が異なる場合がある）。
この処理で密関係となる場合、式３には式１と式２を照合した代入済みの値が返される。
各式を本発明の情報処理装置の構成要素を明示すると次のとおりである。
【００４８】
（式１６）探索（評価対象情報， 情報カテゴリーの元の式， ｏｕｔ 次の評価対象情報） ＝ 密関係 ｏｒ 疎関係
（式１７）次の評価対象情報 ＝ 情報カテゴリーの元の式 ・ 代入
【００４９】
ここで代入は、評価対象情報と情報カテゴリーの元の式を情報評価した際に必要となる代入であり、左辺の次の評価対象情報がその代入結果とすることを右辺で示している（結果として次の評価対象情報は前記代入済みの値となる）。
実装上の代入は、たとえば、変数への代入、あるいは定数との正規表現やワイルドカードでのマッチングを意図したものであり本発明固有の機能ではない。
空の代入（つまり代入されない状況）がありうる場合、空の代入を単位元とするモノイドになるが、空の代入があるとは限らず、ありえてもモノイドは一時的な存在となるため、本発明の情報処理装置をメタに実装する必要はない。
評価対象情報は、再帰的な探索の過程で更新されて利用されるため、必須ではないがスタック構造をしていることが望ましい。
単位元は、共通する探索操作のために表現している情報の体系に依存することなく、かつ、各情報カテゴリーに固有とするため ├（情報カテゴリー名, 情報カテゴリー名) を式として含むものとする（二の情報には情報文字列として各々情報カテゴリー名を登録し、情報文字列以外にそれ以外の情報を含めても構わない）。
【００５０】
つまり、単位元は、情報カテゴリーの単位元であって、情報の体系に単位元が含まれても、別物として扱う。
情報の体系の単位元を持つ演算を実装しているわけではないので問題はないし必要であれば、両単位元を関連付けるように登録すればよいことになる。
情報カテゴリーを同値類の連結として実装する場合は、同値類への所属関係を表す元（∈（Ｘ， 同値類）)と、同値類の代表元の情報カテゴリーへの所属関係を表す元（∈（同値類の代表元， 情報カテゴリー）)を情報カテゴリーに登録することで実現できる（まず、元 ∈（Ｘ， 同値類） の探索を行い、つづいて ∈（同値類の代表元， 情報カテゴリー名） を再帰的に探索する）。
モノイドの部分集合による生成系について説明する（合わせて部分モノイドが元のモノイドと同じ性質を持つことを示す）。
【００５１】
部分モノイドはモノイドの部分集合であってかつそれ自身もモノイドであるため、部分モノイドは元のモノイドの単位元を単位元として持ち、同じ二項関数で閉じている。
当初のモノイドの元を部分モノイドに追加すると再び、部分モノイドになる。
最大の部分モノイドが当初のモノイドということになる。
一方、部分モノイドにならない単位元を含む部分集合（演算・関数に関して閉じていないのでもともと開いているため、結合法則が成り立つようにすればその値域は部分モノイドになる）を適切にとると、部分モノイドの生成系となっている。
モノイドの部分集合が部分モノイドにならない（モノイドの単位元を含まないまたは演算結果が部分モノイドに閉じない）場合、そのモノイドの生成系になっている。
モノイドの部分集合による生成系にそのモノイドの元を追加しても演算結果はモノイドの範囲には閉じるため、再び生成系か部分モノイドになる。
従い、部分モノイドやモノイド部分集合の生成系に元を追加することで元のモノイドに近づくことになる。
【００５２】
モノイドからその生成系を得る手段・仕組みはいくつか知られているが本発明の情報処理装置では限定しない。
以下にその幾つかを紹介する（後述する実施形態の例で前提とする）。
・商集合（同値類）による生成系
・巡回群による生成系
・線形空間の基底による生成系
【００５３】
まず、商集合（同値類）による生成系について説明する。
商集合は同値類を要素とする群であり、群はモノイドである。
同値類は変換 Ｔ に対して不変量 Ｔ（ｘ） ＝ Ｔ（ｙ） となる ｘ, ｙ の集合でその一つの値を代表元（ｘ とする）として ［ｘ］ のようにあらわす。
同値類の元の間では同値関係が定義できる（逆に同値関係に対して変換を定義してもよい）。
変換 Ｔ で不変量となる ｘ, ｙ の関係を 〜 で表すと、「ｘ 〜 ｙ」 ≡ 「Ｔ（ｘ） ＝ Ｔ（ｙ）」ということになる。
この変換 Ｔ が存在するとき、関係 〜 は以下の同値律（反射率、対称律、推移律を同時に満たす）を満たし、同値関係であるという。
【００５４】
（同値律）
（式１８a）ｘ 〜 ｘ                                          （反射律）
（式１８b）ｘ 〜 ｙ ⇒ ｙ 〜 ｘ                          （対称律）
（式１８c）ｘ 〜 ｙ ∧ ｙ 〜 ｚ ⇒ ｘ 〜 ｚ          （推移律）
【００５５】
具体的には、都度同値関係を定義しないでもある属性を定めそのとる値やその範囲で排他的に分類していけばとる値やその範囲の同値類による商集合を定義することができる。
各同値類が無限個の元、あるいは多くの元を含む場合に情報カテゴリーには代表元で同値類別できるように元を実装し、必要であれば代表元を返す（例えば妥当性確認処理に実装する）。
〜 が同値関係である（反射律、対称律、推移律を満たす関係を同値関係と判断できるという意味）場合、情報カテゴリーとしては代表元毎に作成せずに、商集合として作成するようにする。
これにより、同値類毎の情報カテゴリーを作成する事態を避ける（代表元は同値類を識別するための元として情報カテゴリーに実装し、必要であれば探索時に代表元を返せるようにする）。
商集合は同値関係に対する同値類の集合である。
集合 S = { s1, s2, ...} に対して、同値関係 〜 が定義されると S/〜 = { [s1], [s2], ...} （s1, s2 が同値関係になく異なる同値類を構成した場合）となる。
各同値類の代表元は生成系の生成元の一つとなる。
例えば mod M による M を法とする商集合は、同値類間の演算を [x] + [y] = [x + y] と定義すると * に関して [0] を単位元とする同値類の群となる。
【００５６】
（式１９a）（［ｘ］ ＋ ［ｙ］） ＋ ［ｚ］ ＝ ［ｘ ＋ ｙ］ ＋ ［ｚ］ ＝ ［ｘ ＋ ｙ ＋ ｚ］ ＝ [x] + [y + z] = [x] + ([y] + [z])    (結合法則)
（式１９b）［ｘ］ ＋ ［ｙ］ ＝ ［ｘ ＋ ｙ］
（式１９c）［ｘ］ ＋ ［０］ ＝ ［ｘ ＋ ０］ ＝ ［ｘ］      (単位元)
（式１９d）［０］ ＋ ［ｘ］ ＝ ［０ ＋ ｘ］ ＝ ［ｘ］      (単位元)
（式１９e）［ｘ］ ＋ ［ｙ］ ＝ ［ｘ ＋ ｙ］ ＝ ［０］ ＝ ［ｙ ＋ ｘ］ ＝ ［ｙ］ ＋ ［ｘ］                                        (逆元)
【００５７】
商集合の場合は、群としての商集合とモノイドとしての情報カテゴリーとを別に考え、代表元を生成元として情報カテゴリーに登録する（［０］ も情報カテゴリーの単位元とは区別して登録する）。
mod M の商集合の場合、[0], ..., [M-1] という同値類の商集合を作ることができる。
[0], ..., [M-1] がそろって初めて mod M であることがわかる。
このように代表元だけでは同値類を判定することは難しいがその属性で類別すればよい。
mod M の場合は「余り」という属性を要素に持たせ、類別に使用することができる。
【００５８】
次に、巡回群による生成系について説明する。
巡回群は、群であり、群はモノイドである。
また、巡回群は群の生成系にもなる。
巡回群（Ｇ， ＊）の生成元を ｇ、整数を ｌ， ｍ， ｎ とすると巡回群は ｇｎ（ｇ の積 ＊ による ｎ 乗積）の集合であり、次の性質により ｇ０ ＝ １ を単位元とする群となる。
【００５９】
（式２０a）ｇｍ ＊ ｇｎ ＝ ｇ（ｍ ＋ ｎ）
（式２０b）ｇ（（ｌ ＋ ｍ） ＋ ｎ） ＝ ｇ（ｌ ＋ ｍ ＋ ｎ） ＝ ｇ（ｌ ＋ （ｍ ＋ ｎ））
(結合法則)
（式２０c）ｇｍ ＊ ｇ０ ＝ ｇ０ ＊ ｇｍ ＝ ｇｍ
(単位元)
（式２０d）ｇｍ ＊ ｇ（−ｍ） ＝ ｇ（−ｍ） ＊ ｇｍ ＝ ｇ０
(逆元)
【００６０】
演算 * を別途実装できる場合は、単位元と生成元を情報カテゴリーに登録する（単位元は本発明の情報処理装置の探索の終端記号として必要であり、巡回群の単位元と区別する必要もないので一元化して登録する）。
実装できない場合は有限巡回群に限定して生成元から生成されるすべての値を元として情報カテゴリーに登録する。
巡回群の場合、無限個の元、あるいは多くの元を含む場合に、その一つ一つを情報カテゴリーの元として登録するのは現実的ではない。
そこで、生成元をそのまま情報カテゴリーの元として利用し、各問合わせに対して必要であれば、その次数（ｌ，  ｍ，  ｎ）を取得できるようにする。
巡回群には回転群（操作回数により元の位置に戻る回転操作の集合）や方程式の解の集合等の例がある。
ただし、情報カテゴリーそのものを群（特に巡回群）として機能させないようにする必要がある。
一つは、情報カテゴリーのモノイドと、そこで表現されるものの代数的構造とは本質的には別物であるため、完全な準同型ではなく、少なくとも単位元は表現されるものの単位元とは別にする必要がある、という点である。
今一つは、逆元あるいは複数の元の演算で、単位元を得ると、その次の結合演算から、同じ元を得るため、探索はループしてしまうことになるためである。
【００６１】
最後に、線形空間の基底による生成系について説明する。
線形空間は体上の線形環であり、環は（体も）群であり、群はモノイドである。
線形空間の基底は線形結合を演算子とし、基底の各元を生成元の一つとする生成系になる。
【００６２】
本発明の情報処理装置の各情報カテゴリー（元の集合， 探索， 単位元）は再帰的な探索で結合法則を実現でき、単位元も定義できるためモノイドとして機能する。
本発明の情報処理装置そのものがモノイド実装する機械であるため、実在の物事がモノイドである場合、情報カテゴリーでの表現は準同型で実現することができる。
また、本発明の情報処理装置そのものがモノイド実装する機械であるため、実在の物事を適切に表現すれば実在の物事がモノイドである必要はない。
数学、物理学ではいろいろな群が知られており、情報工学でもいろいろなモノイドが知られているが、群はモノイドであるため、様々な物事をモノイドに対する準同型として実装することを期待できる。
準同型写像を Ｔ とし、実在の物事のモノイドと情報カテゴリーのモノイドの二項関数を各々 ｆ，  ｇ とすると、次の式で表されることになる。
【００６３】
（式２１a）Ｔ（ｆ（元１， 元２）） ＝ ｇ（Ｔ（元１）， Ｔ（元２））
（式２１b）Ｔ（元１・元２） ＝ Ｔ（元１）＊Ｔ（元２）
（ｆ， ｇ が二項演算 ・， ＊ の場合）
【００６４】
但し、次の三点の注意が必要である。
（注意事項１）情報カテゴリーのモノイドの単位元は特定の構造のものと規定しているため、実在の物事のモノイドを準同型写像で変換したものと違える必要があるので、厳密な準同型にはならない（探索を矛盾させないため、実在の物事のモノイドの単位元用の情報カテゴリーの元を情報カテゴリーの単位元に関連付けるようにする必要がある）。
（注意事項２）無限の元を含む情報の体系はそのまま実装できない（生成系や正規表現などを使って有限個の元で実装する）。
（注意事項３）モノイドとして表現できないものをモノイド化することを保証しているわけではない。
以上でモノイドとして表現される情報をそのままこの情報カテゴリーとして実装する（準同型的）こともできること、情報カテゴリーがモノイドとして機能するためモノイドでは表現できない情報をモノイド的に扱うこともできること、を示すことができた。
【００６５】
［効果をもたらす手段の働き］
まず、本発明の情報処理装置の情報の扱いについて説明する。
本発明の情報処理装置は情報の体系を各々分離しており、含まれる情報は、利活用機能によって非構造化情報から構造化情報に変換されたものを数学的な関係と、二の情報によってあらわされる関係式としてデータ構造化する。
このように非構造化情報から利活用機能によって構造化された情報を数学的な関係式をデータ構造で表すことで情報を一意・一元的・動的に共有する基盤としての効果をもたらす。
【００６６】
次に、本発明の情報処理装置と利活用機能間の連携の働きについて説明する。
本発明の情報処理装置は、単独で推論したり、統計情報を分析したりすることを目的とはしない。
その代わり、他の方法で予め得られた推論や統計分析などの成果を元として登録したり、他の方法を妥当性確認に参加させることで推論や統計分析を利用したりすることができる。
結果として、本発明の情報処理装置では探索の判定精度を挙げる効果があり、利活用機能では処理の軽減（開発負担低減という生産上の効率化や都度繰り返される推論・統計分析の抑制）と多様な利活用機能との機能連携による一元化・一意化されたデータの共有という効果を得ることができる。
【００６７】
副次的な効果として利活用機能間の連携により、たとえば、推論された結果を本発明の情報処理装置の情報として表現し、その情報に問い合わせをしたり、その情報を用いてクラスター分析をしたり、それらの作業を動的かつ一括して行ったりすることができるようになる。
同様にクラスター分析の結果から、本発明の情報処理装置で扱う情報として表現することで、推論すべき仮説（命題・述語）を創出することにも利用ができる。
このように直接的に分析することを目的とはせず、利活用機能から相互に連携する共有基盤として役割を果たす。
【００６８】
次に、本発明の情報処理装置の探索について説明する。
包含関係（⊂）に関する推移律を導入することで、情報カテゴリーへの再帰的な探索と、探索の結合法則をもたらす効果を実現している（情報カテゴリー内探索）。
包含関係（⊂）は情報カテゴリーを細かく定義した場合に、情報カテゴリー間での包含関係を担う場合もある（情報カテゴリー間探索）。
また、証明可能（├）を用いた特定の元を単位元として機能させることで、探索を有限ステップで終了させ、かつ、任意の情報カテゴリーを表現する情報の体系に非依存なモノイドとして構成する効果をもたらしている。
【００６９】
次に、本発明の情報処理装置の生成系・同値類の実装について説明する。
前記説明により、情報カテゴリーはモノイドとして機能することが保証される。
情報カテゴリーは情報の体系のすべての元を含まなくてもその生成系として機能している。
さらに、生成系の元を少ない個数に抑えるため、同値類とその代表元の関係を式として実装できるように同値類の機能拡張を提案している（あるいは正規表現やワイルドカードなどの既存の技術的な仕組みも活用して元の個数を抑制することも可能である）。
結果として、有限個の元でありながら、モノイドの特徴を保持し、かつ不定個、または無限個の元を扱うことを可能にする効果がある。
【発明の効果】
【００７０】
第１の効果は、複数の利活用機能間の機能連携・データ共有である。
その理由は、数学的（客観的）な関係式のデータ表現による一元化・一意化、および利活用機能の探索への参加による。
第２の効果は、再帰的な探索において、一意の結果を得られることである。
その理由は、情報カテゴリーが探索を演算とするモノイドとして構成しており、再帰的に行われる探索を結合法則とみなすことができるためである。
結果として再帰的な探索で発生する探索パス上のパス順で交換法則は成立していないのでパスを変えることはできないが、パス上のどこから始めても棄却されるべきパスはいずれかの段階のパスの探索時に棄却される。
【００７１】
第３の効果は、利活用機能の処理軽減である。
その理由は、一度証明・分析済みのものを都度、やり直すことなく、本発明の情報処理装置に要求することで、利活用機能での分析と本発明の情報処理装置での照合という役割分担ができ、また、本発明の情報処理装置の工夫により、照合を簡略化する仕組みを提供しているので、全体的な処理軽減を図ることができる。
第４の効果は、探索に使用した情報間の関係の有無や探索のために保管した情報が利活用機能に提供されるという点である。
その理由は、探索結果に加えて、探索で発生した情報の木、情報の森というデータ構造を利用できるためである。
情報の木は密関係にある情報の集合であり、情報の森は疎関係にある情報の木の集合であるため、利活用機能ではたとえば AND， OR に各々置き換えて扱うことができる。
【図面の簡単な説明】
【００７２】
【図１】情報の木を表わすグラフ表現（ａ）、情報間の関係表（ｂ）、モノイドの演算形式表現（ｃ）の例を表わした概念図である。
【図２】第一実施形態の情報処理装置の構成を表わす外部構成及びデータフロー図（ａ）、内部構成図（ｂ）、形態素解析を使用した外部構成の簡単な例(c)、である。
【図３】関係の種類を数学などで使われる関係に付与される代表的な規則（ａ）と、数学などで使われる関係と図３（ａ）で定義した規則との対応とで表した表（ｂ）である。規則（ａ）で式の両辺を記述する対象領域をＤとする。表（ｂ）で ∈ 等は様相・多値・ファジィ等の非古典論理を考慮に入れる場合、非対称律や排中律の結果が一概に定義できない。表（ｂ）において○は成立を示し、×は不成立を示している。
【図４】情報カテゴリー関連のデータ構造を表す、クラス図（ａ）と、内容を表わす表（ｂ）と、データ構造のＢＮＦ（ｃ）と、である。（ｂ）は以降の表の原型であり、表の左側に元との対応関係を示している。（ｃ）において元は本文での「カテゴリー元」である。（ｃ）において（式）という表記は直前の項の実体を表す補足説明であり、ＢＮＦの構文としての意図はない。
【図５】建物の情報カテゴリーの例を表わす表の例である。
【図６】情報カテゴリー間探索で探索される別の情報カテゴリー（その１）を表わす表の例である。
【図７】情報カテゴリー間探索で探索される別の情報カテゴリー（その２）を表わす表の例である。
【図８】∈ 関係を含む元を登録された場合の情報カテゴリーを表わす表の例（その１、ＵＣＳ）（ａ）と、∈ 関係を含む元を登録された場合の情報カテゴリーを表わす表の例（その２、ＩＳＢＮ）（ｂ）と、である。（ａ）においてｘは１６進数１桁（［０−９Ａ−Ｆａ−ｆ］）であり、（ｂ）において、ｎ は １０ 進数 １ 桁（［０−９］）, ｙ は １ 桁（［０−９Ｘ］） であり、いずれも実装時には正規表現などを利用する。
【図９】情報カテゴリーとして実装した処理の実行ログＩＳＢＮの例（ａ）と、人間の例（ｂ）と、数の例（ｃ）と、である。（ａ）において、データとして参考文献に挙げた書籍の書名とＩＳＢＮとを利用している。（ｂ）において、同値類の実施例として人間に関する処理結果を示している。（ｂ）において、データには発明者の氏名を使用している。（ｃ）において、情報評価だけを利用した複素数、実数、整数、非負整数間の包含関係、数値の所属関係を示している。
【図１０】∈ 関係以外の関係を含む元を登録された場合の情報カテゴリーを表わす表の例である。
【図１１】本情報処理装置に実装する関係テーブルを表わす表の例である。
【図１２】評価対象スタックの構造と動作を表す図である。
【図１３】情報構造化処理のフローを表わす概念図である。
【図１４】情報カテゴリー獲得処理のフローを表わす概念図である。
【図１５】情報カテゴリー保守処理のフローを表わす概念図（ａ）と、情報カテゴリー保守処理で利用するプロパティの例（ｂ）とである。
【図１６】情報カテゴリー破棄処理のフローを表わす概念図である。
【図１７】本情報処理装置による多階層連携のパターン（ａ）, （ｂ）, （ｃ）と、各層のカスタマイズの相違点（ｄ）とを表す概念図である。
【図１８】情報カテゴリー連携処理のフロー（ａ）と、多階層での各手段による情報カテゴリーのデータフロー（ｂ）とを表わす概念図である。
【図１９】第二実施形態の情報処理装置の、ＳＥＯへの利活用、を可能にする情報処理装置の構成を表わす概念図である。
【図２０】第二実施形態の情報処理装置の、クラスター分析への利活用（その１）、を可能にする情報処理装置の構成を表わす概念図である。
【図２１】第二実施形態の情報処理装置の、クラスター分析への利活用（その２）、を可能にする情報処理装置の構成を表わす概念図である。
【図２２】メタ言語の定義の例である。この図のＥＢＮＦの ＝ は定義を表す（ＢＮＦ の ：：＝）。
【図２３】図２２のプログラミング言語（ＸＸとする）を数学的な関係で表した概念図。この図のＥＢＮＦ＝ は、ＥＢＮＦの ＝ を表す。
【図２４】ＸＸのメタ言語の定義の情報カテゴリーの例を表わす表である。ＸＸは、図２２および図２３のプログラミング言語ＸＸである。
【図２５】プログラミング言語ＸＸで記述されたソースの例である。
【図２６】図２５のソースの情報をメタ言語の定義の情報カテゴリーをもとに分析し、分析結果を情報カテゴリー化した例を表わす表である。
【図２７】第二実施形態の情報処理装置の、利活用機能としてソース解析ツールのパーサから言語定義情報カテゴリーを参照したソース解析結果の取得（ａ）と、利活用機能としてメタ言語プロセッサ（ｙａｃｃ， Ｐｒｏｌｏｇ 等）を使っての言語定義ソースから言語定義情報カテゴリーの生成（ｂ）と、利活用機能としてソース生成ツールのジェネレータを使っての情報カテゴリーからのソース生成（ｃ）に関する各々の構造とデータフローを表わす概念図である。
【図２８】情報カテゴリーの元をオブジェクトに変換する例を示すための変換対象の情報カテゴリーを表わす概念図である。
【図２９】図２８の情報カテゴリーのソースへの変換例を表わす概念図である。
【図３０】Ｐｒｏｌｏｇ言語での変換ルールの一例（ａ）と、ＯＷＬ 言語での変換ルールの一例（ｂ）と、を表す例である。（ａ）では評価の妥当性確認に失敗した場合、閉世界仮説と同じ振る舞いになるが開世界仮説で否定を区別したければ、本方法に区別された否定を実装し、情報カテゴリーにその否定を明示的に定義していく必要がある。
【発明を実施するための形態】
【００７３】
＜用語の説明＞
最初に、発明を実施するための形態において用いる主要な用語について説明する。
なお、本発明固有の用語については「」でくくる。
情報は、一般的意味における情報である。
従い、情報は、必ずしもテキストや記号で表される情報である必要はなく、図形の構成要素、ベクトル、概念等であっても構わない。
ただし、本発明の理解の容易性を考慮して、以下においては、主として、テキスト（文字、数字、記号の列）で表わされる情報を例に説明する。
情報は本発明の情報処理装置で扱う部位・役割上の識別により、「入力情報」、「出力情報」、「カテゴリー元」の式に含まれる情報（「入力情報」、「カテゴリー元」については本発明の情報処理装置の構成要素であるため後述する。）に分類する。
説明上、分類を指定せずに「情報」と表現した場合は、これらの分類に関係のない共通事項とする。
情報の集まりは、固有の用語ではなく、一般的な意味での情報の集合である。
【００７４】
本発明の情報処理装置で扱う式（後述する）というデータ構造として構造化される前の情報源に含まれる任意の非構造化情報（デジタルデータ）あるいは式に成形されていない利活用機能（後述する）で扱う他の構造化情報を指し、実体は文章でも、プログラムのソースファイルでも、統計データでも、画像等のバイナリーデータでも構わない。
本発明の情報処理装置の構成要素やその形式などではなく、本発明で扱う情報の定義域である。
式は、本発明で扱う構造化情報のデータ構造であり、入力され、「探索」（後述する）時に照合される単位（評価対象情報）であり、「情報カテゴリー」（後述する。）の元に含まれるデータのデータ構造でもある。
式は数学の等号、不等号等の関係で表される関係式と同一の意図であるため、本発明固有の用語ではない。
式はデータ構造として二の情報、関係（二の情報、情報文字列、関係については後述する）で次のように構成されるものである（この式は関係の前置記法で表現しており、引数の出現順は変更できないので注意）。
【００７５】
（式２２）関係（第一情報文字列, 第二情報文字列）
【００７６】
例えば、∈(0, 整数) と表現（間置記法の 0 ∈ 整数 と同一）して、関係が ∈、第一情報文字列が 0、第二情報文字列が整数となる。
式は「評価対象情報」や「情報カテゴリー」の各元に一つ含まれる。
式は「情報カテゴリー」をモノイドもしくはその生成系とするため次の規則を満たす必要がある。
【００７７】
（関係に関する規則群）
（規則１）  本方法で用いる関係には、少なくとも証明可能（├）、包含関係（⊂）、所属関係（∈）を含む（組み込む）こと。
（規則２）  本方法で用いる関係を追加する場合は、数学的に表現でき、既存の関係（組み込みと過去に追加した関係とを含む）と矛盾しないこと。
（規則３）（モノイドの結合法則）  単一の情報カテゴリー内に含まれる任意の三つの元の式をＰ、Ｑ、Ｒとするときに、探索を・として、（Ｐ・Ｑ）・ＲとＰ・（Ｑ・Ｒ）が常に一致すること。
【００７８】
関係は数学・物理学、あるいはそれと同等に定義される式の両辺の間の二項関係を示すものである。
数学の等号、不等号、包含等の関係と同一の意図であるため、本発明固有の用語ではない。
関係は本発明の情報処理装置でのデータ構造として関係を一意に識別する記号、関係の満たす規則に関する情報から構成される。
さらに「情報カテゴリー」とは独立したデータとして関係はリスト、配列、連想記憶などに収録する。
本発明の情報処理装置において関係は式の構成要素として引用される。
本発明の情報処理装置にあらかじめ利用可能な三つの二項関係 ├(証明可能), ∈(所属関係), ⊂(包含関係)を定めておく。
その他の関係については、利用者定義とする。
【００７９】
数学上の関係を図３（ａ）の規則の組み合わせで定義する。
この表で式の両辺を記述する対象領域をＤとする。
数学上の代表的な関係の組み合わせ定義の表を図３（ｂ）に示す。
図３（ｂ）の表で ∈ 等は様相・多値・ファジィ等の非古典論理を考慮に入れる場合、非対称律や排中律の結果が一概に定義できない。
次に前記規則を満たす関係を使い、「情報カテゴリー」を構成する。
「情報カテゴリー」は次の規則・基本構造の元で構成される（「妥当性確認処理」は必要に応じて実装）。
【００８０】
（情報カテゴリーに関する規則群）
（規則４）  情報カテゴリーは一つ以上の元を含むこと。
（規則５）  元は一つの式を含み、式は図４に例示したように、第一情報文字列列と第二情報文字列列と、関係列とを備えること。
元は、式の構成要素以外の列、例えば図４に例示したように妥当性確認列等を備えても構わない。
（モノイドの単位元）規則４に定めた含まれる一つの元は単位元とする（単位元は情報カテゴリー毎に一つとする）。
単位元は二の情報の各情報文字列に情報カテゴリー名を値とし、関係を証明可能（├）とする式で構成される。
（規則６）  情報カテゴリーの元の式の第一情報文字列列、第二情報文字列列及び関係列には各々対応する値で、同一情報カテゴリー内の他の元の式と識別できること。
図４のデータ構造を構成する列は、識別できれば、その並び順は任意である。
（規則７）  式の関係列に登録できる関係については、図３について説明したものあるいは関係に関する規則群に基づいて追加されたものであること。
（規則８）  式の二の情報の各情報文字列列に登録できるデータ構造は文字列を照合用インテックスとすること（値そのものを文字列にするかクラスや構造体で文字列により複雑なオブジェクトを追加してもよい）。
【００８１】
「入力情報」は、外部から本発明の情報処理装置に入力される式で表現された構造化情報である。
すなわち、外部から渡された情報を他の手法で二の情報と関係とに解析した形態（後述する「カテゴリー元」と同じ構造）を式（後述する）として表現した構造化情報である。
ある情報の集まりから、以下において説明する、本発明の情報処理装置に用いる入力情報を抽出し解析する方法については、任意とする。
例えば、情報の集まりが、テキスト情報からなる文章である場合には、広く知られた技術である形態素解析の手法によりテキストを単語に分解し、その単語を情報にすることができる。
【００８２】
図２（ｃ）は図２（ａ）の利活用機能として形態素解析００３を割り当てたものであり、利活用機能は外部からの情報を「入力情報」に変換するフロントエンドとして機能している。
「情報カテゴリー」は元（後述する。）の集合のデータ構造であり、一つの「情報カテゴリー」で元の実装は「探索」（後述する。）に対してモノイドまたはその部分集合の生成系を構成する。
「カテゴリー元」は、「情報カテゴリー」を集合とみなした時の元である。
特段の指定がない場合は元という記述で「情報カテゴリー」（後述する）に含まれる元を指す。
集合の元と同一の意図であるため、本発明固有の用語ではない。
集合の元の実装であるが一般的な集合論での集合の元と区別する必要がある場合に「カテゴリー元」と記述する。
「情報カテゴリー」の元はデータ構造として式と、「妥当性確認処理」（後述する。）と、を含む。
すべての「情報カテゴリー」では前記二の情報のうちの一の情報と他の情報とが同一であり、かつ反射律である証明可能関係となる式を含む元を含む。
各「情報カテゴリー」の元は情報文字列で表現すると次で構成される式を含む元である（つまり ├（情報カテゴリー名, 情報カテゴリー名））。
【００８３】
第一情報文字列、第二情報文字列  ::= いずれも情報カテゴリー名
関係                            ::= 証明可能├
【００８４】
通常の論理では、証明可能は（式６）(間置記法)を満たすものとする。
なお、前置記法の├（Ａ, Ｂ）は間置記法の { Ａ } ├ Ｂ を意味する。
すなわち、├(情報カテゴリー名, 情報カテゴリー名) (前置記法)は、{ 情報カテゴリー名 } ├ 情報カテゴリー名 (間置記法)を意味する。
本発明の情報処理装置ではこの特別な元を以下の式を満たして各「情報カテゴリー」の「探索」処理に対する単位元として扱う。
【００８５】
（式２３）探索（式， 単位元の式） ＝ 式，    単位元 ∈ 情報カテゴリー
【００８６】
「情報カテゴリーに関する規則群」で説明したように、任意の「情報カテゴリー」には常にただ一つ「単位元」という「カテゴリー元」が存在している。
「カテゴリー元」は元としての実体を表す「式」と、「式」だけでは照合結果を適切に確定しにくい場合のための補足条件を判定する「妥当性確認」とから構成させる。
そのため元と式を区別しており、（式２３）では「探索」の演算の変域・値域を「式」として「単位元の式」と表現している。
従い、（式２３）は「探索」という演算に対して単位元の役割を果たしている（情報カテゴリーの単位元と表現する理由である）。
「情報カテゴリー」のデータ構造は共通であるため、「情報カテゴリー」が複数登録されていても、「探索」は一元化できる。
一方、「情報カテゴリー」の単位元はデータ構造が共通で登録内容は「情報カテゴリー」毎に固有のものとなる。
なお、実際の「探索」時には、式Y左辺第一項の式は（代入済みの）元に含まれる式または「評価対象情報」（後述する。）であり、元も同様にこの式に束縛される必要があることをこの（式２３）で表現している。
また、関係や「探索」などの演算では第一項、第二項は交換可能であり、説明の都合で第一項、第二項に役割を設けているが、例えば右単位元のような数学的な意味合いはなく、実装時に自由に決めてよい。
単位元も数学の単位元と同一の意図であるため、本発明固有の用語ではない。
【００８７】
「二の情報」は、与えられた情報を式として表現した場合の二つの項に含まれる情報を総称したものである。
情報の集まりは、文章、プログラムのソースファイル、統計データ、画像等のバイナリーデータ、その他、いろいろありうるので「二の情報」にはこれらが含まれる。
従って、「二の情報」に含まれる情報は各々文字列とは限らないが、説明を容易にしかつ一般的な情報との識別するため、以下では「情報文字列」を各情報の識別子として説明する。
「二の情報」を「情報文字列」で説明する理由は各項に同時に文字列以外を採用することで照合が言語処理系依存になることをこの説明から排除する意図もある。
また、「二の情報」は文字列ではない場合、互いに一致する必要もないが関係を使った式で表現するため一致・不一致を識別できる必要がある。
【００８８】
「情報文字列」は照合ができるからといって可読なものとは限らないし、可読な場合も文章的・説明的な内容とは限らない。
各項を「情報文字列」として識別する場合は、「第一情報文字列」、「第二情報文字列」と順序付けて記述する。
各「情報文字列」には正規表現やワイルドカードなどによる可変な書式を含めてもよい。
各「情報文字列」は「探索」時には可変部分は「情報評価」や「妥当性確認」で仮代入し、さらに「探索」を続ける。
【００８９】
「情報の木」は、本発明の情報処理装置で扱う「出力情報」としての情報の集まりである。
そして、「情報の木」には、その集まりを構成する一の情報が、その集まりを構成する他の一の情報と関係があると判定された場合に、その２つの情報について「密関係」（後述する）があることについての情報が記述されている。
さらに、「情報の木」においては、その情報の集まりを構成する任意の一の情報が、その集まりを構成する任意の他の情報と関係又は関係を組み合わせた関係がある。
【００９０】
「情報の木」を表わす表現は任意である。
例えば、図１（ａ）に例を表わしたように、その情報の集まりを構成する一の情報と、その情報の集まりを構成する他の一の情報との間で、関係があると判定された場合に、それら２つの情報を位置的に隣接させることにより表現してもよい。
また、図１（ｂ）に他の例を表わしたように、その情報の集まりを構成する各情報について、その情報と関係がある情報について、その情報の関連情報として表現してもよい。
また、図１（ｃ）に他の例を表わしたように、関係のある情報同士を”・”の記号で結び付けて表現してもよい。
【００９１】
「探索」（後述で説明する）結果で「情報評価」（後述で説明する）が「密関係」であった場合は「情報の木」を「探索」を要求した処理に渡すことができ、「疎関係」であった場合は「情報の木」は破棄される。
「情報の森」は、「情報の木」の集まりまたは「情報の木」を配置するためのデータ構造であって、相異なる「情報の木」を構成する任意の情報間に関係があると判定されなかった「疎関係」（後述する）にあるものである。
「情報評価」は、「探索」（後述する）の過程で、ある情報についての、情報カテゴリーの元の式と関係があるかを照合により判定する、その情報についての評価である。
「探索」は、「評価対象情報」と「情報カテゴリー」との関係有無の成否を確定するために「情報カテゴリー」の元を探す機能である。
「探索」は情報カテゴリーの元に関する代数的な演算を表す操作であり、演算記号・で表すと次の式を満たすように実装する。
【００９２】
（式２４a）    「評価対象情報」・(「元Ａ」・「元Ｂ」)・「元Ｃ」 ＝ 「評価対象情報」・「元Ａ」・(「元Ｂ」・「元Ｃ」)      (モノイドの結合法則)
（式２４b）    「評価対象情報」・「情報」情報カテゴリーの「単位元」 ＝ 「評価対象情報」                                      (モノイドの単位元)
【００９３】
「探索」は与えられた式の変形や代入を目的とした処理であるが、それとは別に「探索」自体の「密関係」・「疎関係」という戻り値を持ち、本発明の実行制御に使われる。
情報と「探索」されている元との間で「密関係」・「疎関係」という戻り値が確定できない場合は、その元の式や代入の情報をもとに再帰的に「探索」（後述する）が行われ、その戻り値を再帰する前の元の戻り値として利用する。
逆元や巡回元により探索の無限ループが発生するが、これらを回避する仕組みを持つことを前提にすれば再帰的な探索は有限ステップで完了する。
【００９４】
「密関係」・「疎関係」および関連用語を各々次のように定義する。
「密関係」は「評価対象情報」と元に含まれる式との間で探索が成功する状態にある関係である（「評価対象情報」、「探索」については後述する）。
「評価対象情報」が元に含まれる式として式に含まれる関係がある可能性が高いという意味合いで「密関係」と表現する。
本発明の情報処理装置は、論証等を行うものではないため、関係が成立しているとは限らないので現実の成立と区別するためこの用語を用いる。
同様に、「密関係」にある「評価対象情報」の式に含まれる情報と元の式に含まれる情報は成立するとは限らないので「結びつけた情報」と表現する。
「結びつけた情報」は「探索」に成功した場合の「探索」順の「評価対象情報」や元をノードとしてつなげた木構造の隣り合うノードに含まれる情報で表現する。
「探索」に際して「密関係」にないと判定された評価対象情報と元との間の関係を「疎関係」とする。
【００９５】
「探索」の実装は「評価対象情報」と「情報カテゴリー」との関係有無の成否を確定するため、まず「情報カテゴリー」間をクエリして一覧し（以下、「情報カテゴリー間探索」と表記する）、次に各「情報カテゴリー」内の元と「評価対象情報」との「情報評価」および「妥当性確認」を行いその「密関係」・「疎関係」を確定する（以下、「情報カテゴリー内探索」と表記する）。
「探索」は「情報カテゴリー」間をクエリして一覧し（以下、「情報カテゴリー間探索」と表記する）、次に各「情報カテゴリー」内の元と「評価対象情報」との「情報評価」および「妥当性確認」を行いその「密関係」・「疎関係」を確定する(以下、「情報カテゴリー内探索」と表記する)。
初期状態で「入力情報」を「評価対象情報」として「評価対象情報」と「カテゴリー元」との「情報評価」を行う二項演算（「情報評価」）とその演算の対象となる「カテゴリー元」を検索する操作である。
「情報カテゴリー」に含まれる「カテゴリー元」を「情報評価」および「妥当性確認」し、双方で真となる「カテゴリー元」を検出するか元が枯渇するまでこの操作を続ける。
【００９６】
「情報カテゴリー」に含まれるすべての「カテゴリー元」との「情報評価」および「妥当性確認」で「疎関係」と判定した場合、「情報カテゴリー」との「探索」も「疎関係」であると判断する（すなわちその「情報カテゴリー」と関係ありと判定する）。
「情報カテゴリー」に含まれる一つ以上の「カテゴリー元」で「情報評価」および「妥当性確認」の双方で真と判定した場合、「情報カテゴリー」との「探索」は「密関係」であると判断する(すなわちその「情報カテゴリー」と関係なしと判定する)。
「密関係」・「疎関係」の確定しない元を検知した場合はその「カテゴリー元」に含まれる式に代入が反映されたものを新たな「評価対象情報」として再帰的に「探索」を行い、その再帰的な「探索」の結果をこの「探索」の結果とする。
再帰的な「探索」も「情報カテゴリー」間、「情報カテゴリー」内で「探索」結果が確定するまで行う。
但し、単位元との「情報評価」および「妥当性確認」の成否では再帰せずに「探索」の「情報評価」の成否も決定する。
本説明では理解の容易性のため、「探索」時の左側の引数を「評価対象情報」とし、右側の引数を演算対象の「カテゴリー元」とする(引数の左右は数学上の概念的な位置を述べていて実装上の位置を限定するものではない)。
「評価対象情報」は、「探索」の入力引数とするデータであり、「探索」の初期状態では、「入力情報」であり、再帰的に探索される場合は、「カテゴリー元」に変わるので、スタック構造の「評価対象スタック」（後述する）を実装して先頭情報を「評価対象情報」とするとよい。
「評価対象スタック」は、「探索」毎に変化する「評価対象情報」のスタック構造であり、実装上の都合で用意したものであって、処理系や実装の仕方によっては必須の構成要素ではない。
各「カテゴリー元」と「情報評価」し、偽と判定された場合は他のカテゴリー元との「情報評価」を行う。
すなわち、「探索」は次の「定められた要件」に従って動作する。
【００９７】
（要件/探索1）評価対象情報は初期状態では、入力情報とする。
（要件/探索2）情報評価、妥当性確認で密関係・疎関係を確定する。
（要件/探索3）情報評価、妥当性確認で密関係・疎関係の確定しなかった元は含まれる式を新たに評価対象情報として設定して再帰的に別の探索を行う。
（要件/探索4）別の再帰的探索の結果はもともとの探索の結果として継承する。
（要件/探索5）単位元を探索した場合は強制的に密関係・疎関係を確定する。
（要件/探索6）情報カテゴリーのある元と疎関係と判定された場合、その情報カテゴリーの他の元を探索する。
（要件/探索7）情報カテゴリーのすべての元と疎関係と判定された場合、その情報カテゴリーの探索を疎関係と確定して終了する。
（要件/探索8）情報カテゴリーのある元と密関係と判定された場合、その情報カテゴリーの探索を密関係と確定して終了する。
（要件/探索9）探索対象の情報カテゴリーは固定しない(実装上のフィルタリングがなければすべての情報カテゴリーを探索する)。
【００９８】
「情報評価」は、「評価対象情報」の式と「情報カテゴリー」に含まれる「カテゴリー元」の式とを照合してその真偽を判定する処理である。
「情報評価」での真偽の判定には単純な文字列の一致判定や正規表現・ワイルトーカードのほか、「評価対象情報」に含まれる文字列以外の型チェックなどを利用してもよい。
「情報評価」ではその処理の中で必要に応じて代入処理が行われる（処理の中での代入であり、「情報カテゴリー」内の「カテゴリー元」に代入結果を反映することはない）。
正規表現・ワイルドカードにマッチする情報の代入や単純に式の一部の項を空にして照合対象の項を代入してもよい。
代入は、「情報評価」の際の一時的な状態情報とし、「情報カテゴリー」に含まれる「カテゴリー元」の式を恒久的な書き換えしないようにする。
例えばある「評価対象情報」の一の項が所属する「情報カテゴリー」をリストするために元に含まれる式の二の項を空欄にした場合、「探索」によって、「文字列」、「人間」、「書物」等の複数「情報カテゴリー」がリストされ、各々のケースについて二の項に代入された結果を返す。
【００９９】
「妥当性確認」は、「情報評価」で偽と判定できない式が「密関係」であるかを判定することを目的とした処理であり、実際の確認処理は利活用機能側にコールバックしてもよい。
「探索応答」は、「探索」で「密関係」である場合に呼び出されることを目的とした処理であり、実際の応答処理は利活用機能側にコールバックしてもよい。
例えば「探索」自体は、成否（関係有無）や「情報の木」の取得にしか利用できないため、「探索応答」で利活用機能側にデータを提供したり、成否に起因した処理を実施させたりするのに利用することができる。
「妥当性確認」、「探索応答」のコールバックは、何れも「情報カテゴリー」毎に指定できるものとする。
「検証」は、本説明で次の意図で「探索」機能、「情報評価」機能、「妥当性確認」機能を区別しない場合に用いる表現とする。
【０１００】
「探索」は、「情報カテゴリー」の「元」を探し歩くことを目的とした機能であり、「評価対象情報」と照合する元を「情報カテゴリー」から探す。
従って、「探索」は、まず「情報カテゴリー」にクエリをかけ、各「情報カテゴリー」に含まれる「元」と「情報評価」していく。
「情報評価」で照合に成功した場合、「妥当性確認」が登録されている場合は、「妥当性確認」を呼び出してその実行結果も踏まえて「探索」結果を判定するのが「検証」である。
「情報カテゴリー」の「元」に含まれる式も「妥当性確認」の実装も利活用機能側から提供することができ、本発明の情報処理装置自体はモノイド・生成系機械としての抽象性を保つことができる。
「ライブラリ」は、「情報カテゴリー」とそのインデックス（目録やサマリ情報）を記録する、物理的なデータストアである。
「ライブラリ」に登録する「情報カテゴリー」は「候補リスト」に登録され、自動または手動承認によりコミットされると、「ライブラリ」に移されて利用可能な「情報カテゴリー」として公開される（自動であるか、手動承認であるかは実装で決定するものとする）。
【０１０１】
本発明の情報処理装置は、階層化して各層間で連携することができ、例えば三層の場合、「ライブラリ」は最下層の「ローカルライブラリ」、中間層の「共有ライブラリ」、最上位層の「知識ライブラリ」と位置付けることができる。
「ローカルライブラリ」は個別に利用されている本発明の情報処理装置の「ライブラリ」であり、「共有ライブラリ」は「ローカルライブラリ」間での「情報カテゴリー」の共有を行った「ライブラリ」であり、「知識ライブラリ」は「共有ライブラリ」をさらに連携させてグローバルに公開した「ライブラリ」である。
下位階層の「候補リスト」は同層の「ライブラリ」に「情報カテゴリー」の候補を公開したり、同層の「ライブラリ」から上位層の「ライブラリ」に同層で公開済みの「情報カテゴリー」を公開・マージしたりするのに使用する。
【０１０２】
本発明の情報処理装置外の機能を利活用機能と総称する。
本発明の情報処理装置外の機能であるが、本発明の情報処理装置は利活用機能から機能の処理を要求され、利活用機能の処理を「妥当性確認」に参加させ、「探索応答」で利活用機能に処理を要求することができる。
【０１０３】
＜構成に関する説明＞
本発明の情報処理装置は図２（ａ）のように外部の利活用機能とシンプルな関係を保つ。
本発明の情報処理装置の後述の（付記Ａ１）、（付記Ａ３）、（付記Ａ４）、（付記Ａ５）で説明する内部の機能構成はさらに図２（ｂ）に細分化される。
これら以外の機能、これらを呼び出す機能、これらから呼び出される機能は利活用機能側に必要となる。
探索は全情報カテゴリー共通で (情報カテゴリー, 探索, 単位元) はモノイドまたはその部分集合の生成系として機能する。
この説明では ⊂ は「情報カテゴリー」間の探索にのみ使用する。
同値類と「情報カテゴリー」も ⊂ で記述できるが、うまく実装しないと処理が循環してしまうため、同値類を情報カテゴリーのような個別の構造化情報とはせず情報カテゴリー内の仕組みとすることが考えられる。
この場合、構造化情報として存在しないので ⊂ も同値類との間では使うことがないようにすることができる。
以下、同値類を個別の実装とはしないで記述するが説明上の都合であり、同値類や同値類との ⊂ を実装しても構わないし、その点の差異を本発明との差異とはしない。
情報カテゴリー間探索、妥当性確認、探索応答は利活用機能との直接的なインターフェースを持つ。
【０１０４】
利活用機能としては次のようなものを想定することができる。
−言語処理系（特に Ｐｒｏｌｏｇ のような推論エンジンを備えたもの）
−クラスター分析エンジン
等
【０１０５】
利活用機能は以下の役割を持つ機能として位置付ける。
−非構造化情報を本発明の情報処理装置で扱う式（構造化情報）に変換する。
−本発明の情報処理装置に探索（情報カテゴリー間探索）を要求する。
−本発明の情報処理装置での妥当性確認のための処理をコールバックハンドラとして提供する。
−本発明の情報処理装置を利活用するための機能を提供する、すなわち探索に対応する結果・情報の木・情報の森の利活用、および探索応答をコールバックハンドラとして提供する。
【０１０６】
すなわち、利活用機能は本発明の情報処理装置にデータの共有基盤として探索要求を出すだけでなく、探索に際してコールバックハンドラとして直接的に本発明の情報処理装置の処理に参加させることができる（利活用機能の共有基盤）。
利活用機能は非構造化情報を構造化情報に整理するルールを本発明の情報処理装置に実装または手動で登録すればよいので必須ではないし、様々な利活用機能とのコラボレーションを想定する。
これにより、本発明の情報処理装置は数学的な関係やコールバックハンドラなどを利用することで特定目的ではなく汎用目的に対応可能な抽象性を保持し、様々な外部の利活用機能の統合基盤として利用できる。
なお、本発明の情報処理装置の説明では、利活用機能の実装が目的ではないため、挙例する場合は各種の言語処理系に含まれる正規表現を利用する。
【０１０７】
＜データ構造に関する説明＞
情報カテゴリーライブラリは、図４（ｃ）のＢＮＦで表されるデータ構造で情報カテゴリーやその元を表現する。
図４（ｃ）の元は本文での「カテゴリー元」である。
図４（ｃ）の元（単位元）に含まれる式はここでは間置記法（ａ ＝ ａ 等）ではなく、前置記法（（＝ ａ ａ） 等）で表している（前置記法・後置記法の違いには影響しない）。
図４（ｃ）の単位元は「{項1} ├ 項1」という形式に式を限定し、情報カテゴリーは常に一つの単位元を保持するという意図である。
図４（ｃ）の式は「項1 二項関係 項2」を意味している（二項関係 2-ary relation なので、辺 side ではなく項 term という言い方をしているが英語を見ればわかる通り、二項というのは日本語数学用語独特の表現であり、本来は辺とする方が適切と思われる）。
図４（ｃ）の「Class[ 代表元 ]」という同値類の表記はこう記述しなければならない、という趣旨ではなく一例であり、代表元で同値類を識別できればよい（数学上は同値類を C(代表元) あるいは [代表元] と表記する）。
図４（ｃ）の同値類の代表元を探索すると、無限ループで循環する可能性があるため、例えば同値類の代表元は別にリストしておいてそのリストを検索するなどの工夫で循環を回避すべきである。
【０１０８】
本発明の情報処理装置は自身で論証・分析することを想定せず、論証・分析済みのパターンと情報評価・妥当性確認による照合に依存するため、偶発的に予期せぬ照合成功を招くことがあり（例えば姓と名を区別しない人名と書名などの相互誤認）、利活用機能側での工夫が求められる（人名の場合は書式を使って姓と名を分離できるようにしたり、妥当性確認でその様式に従っていることを確認したりするなど）。
データストアとしては、以上の機能・データ表現を提供できればデータベース（ＲＤＢ, ＭＤＤＢ, ＮＤＢ, ＸＭＬ−ＤＢ, ＫＢ 等）でもメモリ上のデータでも構わない。
なお、妥当性確認については、データ表現に取り込むのは難しくかつ再利用という意味で効率的でないため、ライブラリとして提供し、データ表現にはその引用の関連付け（例えば「ライブラリのメソッド名」）を登録することも可とする。
また、探索応答はデータ表現に含まれないため、前記ＢＮＦには含まれない。
妥当性確認および、探索応答としては情報評価にはない処理の内部的な追加に加えて利活用機能をコールバックする機能が想定されるがいずれもライブラリとして提供することが妥当である。
【０１０９】
［構成の説明］
構成については、図２（ａ）で外部構成、図２（ｂ）で内部構成を説明済みである。
【０１１０】
［動作の説明］
動作については、発明の他の実施の形態、第二実施形態、３．具体例、３−２．処理フローでまとめて説明する。
【０１１１】
[発明の他の実施の形態]
実施例１では、構成、仕組み、効果について説明し、実施例２以降では、具体的な実施形態とその個別の効果について説明する。
【実施例１】
【０１１２】
本実施形態は、本発明の最小限の情報処理装置についての実施形態である。
［構成］
本実施例は説明した図２（ａ）、図２（ｂ）を本実施形態の情報処理装置の構成とする。
本実施形態の情報処理装置のライブラリ１０６は、情報カテゴリー１０８を登録することができるデータストアである。
本実施形態の情報処理装置の探索処理は、ライブラリを操作するデータ処理エンジンとして提供している。
本実施形態の情報処理装置の探索処理は、情報カテゴリーの探索、情報カテゴリー内の元の探索、を行い、情報カテゴリー内の元の探索では評価対象情報と元とを照合する機構を備えている。
評価対象情報は初期状態では構造化された入力情報であり、照合の過程で再帰的な探索が発生した場合に照合された元に、代入が行われたものを新たな評価対象情報として更新し、再帰的な探索を行う機構を備えている。
情報カテゴリー１０８は、二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、のデータ構造（式）を一つ含む元とする集合であり、探索処理に関してモノイドとして機能する。
【０１１３】
［効果］
本実施形態の情報処理装置が備えるデータストアに実装される情報カテゴリーは、探索を演算とみなすとモノイドとして機能する（結合法則を実現する再帰的な探索が可能であり、その場合、次の探索対象の元を決定している）。
探索は、元と同じデータ構造の入力情報と元との照合、および照合する元の検索とから構成される。
情報カテゴリーの任意の元には関係と、二の情報とが含まれ、二の情報のうちのいずれかが、二の情報の他方と、関係に指定された関係にあり、ここで利用する関係は予め組み込まれたものの他、数学的な規則の定義できるものを追加することができるため、客観的であり、かつ、他の利活用機能から一意的に利用可能である。
そのため、本実施形態の情報処理装置は、互いに客観的に関係がある情報の集まりを構成することができる。
すなわち、本実施形態の情報処理装置は、非構造化情報について、情報間の関係を新たに定義することなしに既に定義された関係のみを用いた場合においても、客観的な関係により構造化した情報を表わすことができる。
【実施例２】
【０１１４】
＜第二実施形態＞
本実施形態は、具体的な情報処理装置等の例についての実施形態である。
［１．基本的な仕組］
本実施形態の情報処理装置等は、以下の数学的性質を利用して、構造化情報を表現する。
・生成系では任意の要素を有限個の要素の簡単な算術で表現できる。
・モノイドはその部分集合の生成系からそれ自信またはその部分モノイドを生成できる（上への写像の値域）。
【０１１５】
本実施形態の情報処理方法（以下においては本方法ということにする。）は、モノイドの生成系である情報カテゴリーにより、文字列やテキストなどの情報の集まりから与えられた入力情報と、情報カテゴリーの元の式に含まれる情報との、関係の検証を通じて、新たな構造化情報（情報の木、情報の森）を生成し、提供する。
本方法は、入力情報と情報カテゴリーの元の式に含まれる情報との関連を検証する。
検証により、関係があると判定された場合には、その入力情報とその情報カテゴリーの元の式に含まれる情報とは密関係が存在するという位置付けにする。
その情報カテゴリーの元の式に含まれる情報と疎関係であると判定された入力情報は、その入力情報から構成される単位元を含む情報カテゴリーを候補として生成することができる。
その候補は所定の場合にはその情報カテゴリーに追加される。
入力情報を評価対象情報に代入する。
評価対象情報と情報カテゴリーとの探索で検知された元と情報評価を行い、評価対象情報の可変部分を代入した式をまず情報の木の根とする。
再帰的な探索が発生した場合は現在の元に代入がされた式で評価対象情報を更新してから再帰的探索を行い、再び検知された元と情報評価を行い、評価対象情報の可変部分を代入した式を枝として、情報の木を成長させる。
情報の木を成長させる過程で情報の木の既存の分岐と同じ、代入済みの式が検知されたらループを検知したものとして、再帰的探索を疎関係で終了する（無限ループ回避および、情報の木の木構造の維持）。
異なる情報カテゴリーに属する情報間には包含関係（⊂）のような情報カテゴリー間の関係を示す場合以外は疎関係が存在するという位置付けにする。
結果として、探索によって得られる情報の木は複数の互いに関係が希薄で互いに合流することはなく、各々木構造となり、それらの情報の森を形成する。
【０１１６】
入力情報についての検証の結果、その入力情報が、いずれの情報カテゴリーのいずれの元とも密関係があるという位置付けにならない場合は、その入力情報についての新たな情報カテゴリーを生成する。
それにより、情報カテゴリーの集まりが自己成長する。
情報カテゴリーの構築や、情報カテゴリーと入力情報との関係の実装には、モノイドにはモノイドのある種の部分集合から元のモノイドを生成する生成系が実装できるというモノイドの生成系の性質を利用する。
情報カテゴリーに関する条件を含み、その条件を満たす情報は、その情報カテゴリーの元（カテゴリー元）であると判断する。
情報カテゴリーは生成系であり、カテゴリー元はそこから生成されるモノイドの元なので、そのカテゴリー元を都度追加しなくても同じ性質を維持し、同じ情報に対して同じ結果（カテゴリー元であるか否か）を得られることが保証される。
情報の逆元に相当する情報を含めると群になるが、情報カテゴリーとして逆元に相当する情報を含むのは適切ではなく、モノイドの生成系が実装できれば条件を満たすことが判断できるのでモノイドで十分である。
【０１１７】
ある情報が、情報カテゴリーの元であるといえるかどうかの判定は、情報評価により行う。
この際の情報評価は、評価対象情報が各情報カテゴリーの元に含まれる式との照合が可能であるかどうかにより真偽判定を行う。
すなわち、照合可能であればその評価対象情報はその情報カテゴリーの元である（真）か、その可能性がある（この場合は再帰的な探索で真偽を確定）か、とする。
ある情報が、情報評価の結果として、情報カテゴリーの元と密関係がある場合や、そのカテゴリー元と疎関係であると判定できなかった場合は、情報の木に追加する。
論理演算としては情報の木は密関係にある元をＡＮＤで連結したもの、情報の森は情報の木間の疎関係をＯＲで連結したものとなる。
入力情報についての情報評価が確定するまで、後述のように、再帰的に情報カテゴリーの生成系を構成する元を探索して、探索した元によりその情報について情報評価を行う。
ここで、探索には、情報カテゴリーの選択と、情報カテゴリー内の元をたどる二つの機能が必要である。
各情報カテゴリーの生成系における元には、全ての情報カテゴリーに共通の関係（証明可能（├））で定義をされた単位元と、その情報カテゴリーに固有の元とを含む。
ある情報カテゴリー固有の元としては、例えば、情報カテゴリーの元の条件を規定する元や情報カテゴリー間の関係を規定する元などがある。
評価対象情報について、情報評価が密関係となる元が見つかるまで、後述のように、情報カテゴリーに含まれる未照合の元を順に照合する。
【０１１８】
前述で説明した図３（ｂ）は、関係の種類を表わす表である。
図３（ａ）は、数学などで使われる関係に付与される代表的な規則を列挙したものである。
図３（ｂ）は、数学などで使われる関係と図３（ａ）で定義した規則との対応を順に列挙したものである。
本方法で用いる関係としては、図３に表わしたものすべてを用いてもよいし、図３に表わしたものから選択して用いてもよい（├、∈、⊂ は必須とする）。
関係を表わす記号は、図３において用いた記号に限定されるものではない。
なお、記号は、識別ができれば文字列でなくてもよいが、以下においては、説明の容易性を考慮し、記号が文字列の場合について説明する。
関係として、図３に含まれない関係を追加することも可能とするが、追加する関係は関係に関する規則群（規則１）乃至（規則３）を満たす必要がある。
【０１１９】
［２．情報カテゴリー］
本方法においては、上述の基本的な仕組みにより情報カテゴリーを構成する。
情報カテゴリーは、データストア上のライブラリに含める所定のデータ構造のデータである。
情報カテゴリーは、情報カテゴリーに関する規則群（規則４）乃至（規則８）を満たす必要がある。
探索は、情報カテゴリーの探索と、情報カテゴリー内の元の探索により行う。
情報カテゴリー内のすべての元の情報文字列について情報評価が確定すると、評価対象情報と探索した元の情報文字列との関係の真偽が仮判定される。
情報評価が確定しない場合は、妥当性確認処理を行う。
妥当性確認処理は、外部（探索要求元など）へのコールバックハンドラであり、戻り値を真偽または未確定の三値のいずれかで返す必要がある（コールバックを呼ぶ場合として、情報評価が未確定の場合、あるいは真で関係の推移律等のプロパティに従う場合、が実装上の選択肢としてありうる）。
情報評価、妥当性確認処理のいずれでも、真偽が確定しない場合には現在の元との照合によって得た代入の結果を新たな評価対象にして再帰的に探索する。
探索を二項演算”・”で表わすと、（規則３）の結合法則を次式で表せる。
【０１２０】
（式２５）    評価対象情報・（第一元の式・第二元の式）・第三元の式 ＝評価対象情報・第一元の式・（第二元の式・第三元の式）
【０１２１】
※  ここで、第一元、第二元、第三元は同一情報カテゴリー内の順序づけられた元の意ではなく識別のための表記であり、さらに同一情報カテゴリーに属する元とは限らない。
【０１２２】
この（式２５）は、演算”・”の定義から複数の項の演算を探索の再帰的な繰返しを表すものとなり、かつ、演算の計算順序が変えても結果が変わらないことを保証する（項の順序はもともと変えられない）。
さらに、第一元を情報カテゴリーの単位元とすると、情報カテゴリーに属すると判定できる評価対象情報に対し、次式が成立する（（式２３）と同一内容）。
【０１２３】
（式２６）    評価対象情報・単位元の式 ＝ 評価対象情報
【０１２４】
これで、ある入力情報について情報評価を行うことのできる情報の値域がモノイドとなることが明らかである。
また、モノイドには単位元が必ず存在しなければならない。
単位元を演算で導出するには逆元が必要になるが、情報カテゴリーでは、その用途から通常は逆元を取り込みたくない。
結果としてモノイドの生成系から単位元を演算で導出できないのでモノイドの生成系にモノイドの単位元を予め含める必要がある。
そこで、情報カテゴリーの単位元を表わす式は、二の情報の情報文字列として情報カテゴリー名を値とし、関係として証明可能（├）とする元を、単位元として、各情報カテゴリーを最初に生成する段階から既定で一つ備えさせる。
従い、本実施形態の情報処理開始時における情報カテゴリーはモノイドの生成系とすることができる。
（式２５）および（式２５）の演算・は同じ意図で探索を表す。
（式２５）の演算・が単位元以外の元との演算では別の元を指すことを探索として活用し、単位元との演算では当該の元を指すことを探索の終端記号として活用する（無限ループ検知時にも探索は終了させるがデータとしては終端記号にならない）。
即ち、評価対象情報は式であり、密関係にある場合、（式２６）が成立して同じ式が演算”・”の値域にあるので、情報カテゴリーの元であることを示したことになり、同時にこれ以上の演算”・”の繰返しでは他の結果を導けないことを示している。
【０１２５】
以下、情報カテゴリーの内容を、実例やより具体化した書式で表現して説明する。
具体化に際して、情報カテゴリーは本実施形態において説明した要件を満たせば、その具体化された実装方法については任意とする。
情報カテゴリーの具体的な実装の際には、関係の表現として関係の種別がわかればよいので日本語や記号である必要はなく、情報カテゴリーのスキーマは元に対応するものが一まとまりであればよく、列の並びも任意である（但し、探索の都合上、二の情報の役割上の順序は任意ではなく一意である）。
【０１２６】
まず、新しい関係を定義と、基本的な探索と、情報の木および情報の森とを含む例を示す。
オブジェクト指向では、ＩＳ−Ａ関係, ＨＡＳ−Ａ（またはＰＡＲＴ−ＯＦ）関係で対象を表現する。
ＩＳ−Ａ関係は、本方法の所属関係（∈）と同一と考えられる。
すなわち、X ｉｓ ａ Y. は X ∈ Y を意味する。
これに対して、ＨＡＳ−Ａ関係は、構成要素であることを示すもので、本説明で取り上げてきた数学的に該当する関係は見当たらない。
ＨＡＳ−Ａ 関係は、本説明で取り上げた律のうち、反対称律、排中律、推移律を満たしていると考えることができるが、その他の律は満たしていない（本発明の情報処理装置での推移律に関する実装については後述の例で説明する）。
また、ＨＡＳ−Ａ 関係をどのような用途で使うかは、本発明の情報処理装置では規定しないため、単なる情報でしかなく、探索で得られた結果を利活用機能側で適宜活用すればよいことになる。
これらの点に注意して実装すればよい（関係自体が固有の機能を持つ場合は、妥当性確認や探索応答の際に利活用機能側でその機能を実装すればよい）。
【０１２７】
例えば図５は、建物の情報カテゴリーを表わした概念図である。
図５の表は、情報カテゴリーに登録されている各元を左から順に、第一情報文字列列、関係列、第二情報文字列列及び妥当性確認処理列の４つの列の値を表形式で表したものである（元の中の式も展開している）。
第一情報文字列列及び第二情報文字列列には、情報文字列が表わされ、関係列には、この表の同一行に記入された、第一情報文字列と第二情報文字列との関係が表わされる。
この表の同一行に記載された、第一情報文字列、第二情報文字列及び関係の組が、この情報カテゴリーにおける元の式である。
単位元の式は第一情報文字列および、第二情報文字列が建物であり、第一情報文字列と第二情報文字列との関係は、証明可能（├）である。
また、第一情報文字列が建物であり、第二情報文字列がドアで、第一情報文字列と第二情報文字列との関係は、構成関係である（ドア ｈａｓ ａ 建物. または ドア ｉｓ ｐａｒｔ ｏｆ 建物. すなわち ドア ＨＡＳ−Ａ 建物）。
妥当性確認処理の列には、必要に応じて、関係の妥当性についての記述がされる場合がある。
【０１２８】
なお、図５における「：（略）」という記述は、ここに具体的に例示したもの以外にも同様の、第一情報文字列、関係、第二情報文字列及び妥当性確認処理の組み合わせが存在する可能性があることを示しており、これは、以下の図６、図７の説明においても同様である。
また、図５において、ドアに関してさらにＸＸ社製ドアのような情報や、ビルに関してビルの名称ＹＹビルのような情報が必要な場合には、別の情報カテゴリーから図６及び図７に表わしたような情報の提供を受ける場合もあり得る。
この場合は、図６及び図７に表わしたような情報を得るために、他の情報カテゴリーを探索してもよい（包含関係のような場合は集合間の関係になるため、関係の属性として情報カテゴリー間を参照させるように実装してもよい）し、既存技術のデータベースに情報カテゴリー間の参照関係を定義してもよい。
【０１２９】
図７の４行目は、関係列を $$所在地 としているが、これは ＨＡＳ−Ａ 関係と同様に既存ではない関係を組み込んだ例である。
$$プロパティ名 という関係（プロパティ名は可変であり、$$ は説明のための表記で書式を限定するものではない）を用意して第一情報文字列が第二情報文字列のプロパティ名に関するプロパティ知であることを示している（プロパティは情報工学ではオブジェクトの属性を指定する手段として用いられ、構成要素とみなせるものもあるがそうでないものもありうるため例として追加した）。
$$プロパティ名 を設けた理由は、関係の変数（任意の関係のいずれか）という意図ではなく、特定の関係の名前付けという意図であり、任意の名前で関係を追加定義してもよいが、たとえばプロパティ名を合成・分解して活用する場合などにはこの方法が有効となるのでオブジェクトの属性をそのままプロパティに変換する際に都合がよい。
例えば、建物というオブジェクトの所在地を所在地というプロパティで扱うことができる。
すなわち、図７の例では、YYビルの所在地はZZであるという意図である。
探索と情報評価により、”・”演算で結ばれた情報文字列からなる（式３）及び（式４）を生成することができる（探索の式そのものではなく、情報文字列に展開したものであり、情報列と呼ぶことにする）。
【０１３０】
（式２７a）    ＸＸ社製ドア・ドア・ビル・建物
（式２７b）    ＺＺ・ＹＹビル・ビル・建物
【０１３１】
（式２７a）と（式２７b）においてビル・建物が共通することから、（式２７a）により表わされる情報と（式２７b）により表わされる情報とは密関係があると判断できる。
そして、（式２７a）により表わされる情報と（式２７b）により表わされる情報とから、ビル・建物を根とする二本枝の情報の木が構成できる。
この例と異なり、２つの情報が共通する情報文字列を含まない独立な情報の場合は、２つの情報のそれぞれを、枝分かれのない情報の木とする。
二つ以上の情報の木から選択した任意の２つの情報同士の関係が疎関係の場合は、それらの情報の木同士は、関係が希薄である又は直接関連がないとして、互いに疎関係の二つ以上の情報の木の集合、すなわち情報の森とする。
ここで、検索の結果として、一つの入力情報が複数の情報カテゴリーと密関係があると判断される場合があり得る。
大量にある場合は、たとえば、探索する情報カテゴリーの数や探索に用いる情報カテゴリーを制限するなどの対応を行えばよい。
入力情報と、情報カテゴリーに含まれる元の式の情報文字列の間で密関係があるかの判定は、探索により、自動で判定される。
疎関係であると判定された場合は、その入力情報があらたな情報カテゴリーの候補と位置付けできる。
なお、ＨＡＳ−Ａ 関係のように予め組み込まれていない関係を利用する場合は、システムの矛盾動作を回避するため、運用前に事前にその関係を（人間系も介在させて内容確認したうえで）元として登録しておくとよい。
【０１３２】
次の例として情報カテゴリーに、妥当性確認あるいは所属関係（∈）を含む式を持つ元の登録を行った場合の、情報カテゴリーを表わす概念図を図８（ａ）と図８（ｂ）とに表わす。
図８（ａ）は、Ｕｎｉｃｏｄｅの符号化文字集合ＵＣＳの種類や各々の符号位置との関係を表している。
ここで、ＵＣＳは  Ｕｎｉｖｅｒｓａｌ  Ｍｕｌｔｉｐｌｅ−Ｏｃｔｅｔ  Ｃｏｄｅｄ  Ｃｈａｒａｃｔｅｒ  Ｓｅｔである。
図８（ａ）のＵＣＳ−２はＵＣＳ−４に拡張され規格としては廃止されているが、コンピュータ等の機器では互換性の観点で残す必要がある。
ＵＣＳ−４はＵＣＳ−２の拡張であるため、ＵＣＳという総称名の情報カテゴリーでＵＣＳ−２の符号位置の文字も同等に扱えるようにデザインしたものである。
図８（ａ）に表わした表において、列名を除く２行目から５行目に表わした各行が、関係として所属関係（∈）を含む元であり、各々自動または手動で登録された元である（ＵＣＳ等に関する情報を持ちえないので単位元以外の元は外部から登録する）。
同２行目及び３行目に表わした元では、元に含まれる情報文字列同士が所属関係（∈）であるので、妥当性確認処理列には処理を割り当ててはいない。
一方、同４行目及び５行目に表わした元では、元に含まれる情報文字列同士の関係が所属関係（∈）であるか否かの確認処理として符号化チェック処理が妥当性確認処理列に割り当てられている。
ＵＣＳ−４による拡張は書式の拡張を伴うため、ＵＣＳ−２を包含する集合とすることができないのでＵＣＳをＵＣＳ−２，ＵＣＳ−４を元として含む集合とし、また ＵＣＳ−２，ＵＣＳ−４各々の符号位置の書式を式として表した元を包含させている（符号位置の書式を同値分割に使ってもよいが同値分割については別の例を後述する）。
たとえば、「辺」という文字の符号位置はＵＣＳ−２では、U+8FBA であるが、ＵＣＳ−４では U+00008FBA となる。
∈(U+8FBA, ?) を入力情報として探索すると、∈(U+xxxx, ＵＣＳ−２) を式とする元と照合されて第一情報文字列が代入され、∈(U+8FBA, ＵＣＳ−２) が密関係であることを得ることができ、∈(U+00008FBA, ?) を入力情報として探索すると、同様に∈(U+xxxxxxxx, ＵＣＳ−４)の元と照合されて∈(U+00008FBA, ＵＣＳ−４) と密関係であることを得ることができる(? とした部分には実装に際してたとえば可変なオブジェクトや正規表現などを利用するとよい)。
【０１３３】
図８（ｂ）は、バーコードに用いられるＩＳＢＮ規格の種類や各々の書式との関係を表している。
ここで、ＩＳＢＮは、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  Ｂｏｏｋ  Ｎｕｍｂｅｒである。
ＩＳＢＮもＵｎｉｃｏｄｅと同様に２００６年まで使われた旧規格（ＩＳＢＮ−１０）と、現行の規格（ＩＳＢＮ−１３）を持たせている。
接頭記号が追加される点と、チェックディジットの計算方法が異なる点とを省けば、ＩＳＢＮ−１３はＩＳＢＮ−１０と互換性のあるため、互換性の活用例としてＩＳＢＮ−１０も図８（ｂ）に付加した。
図８（ｂ）に表わした表において、列名を除く２行目乃至３行目に表わした情報カテゴリーの元（各行）について、元の式の二の情報間の関係が所属関係（∈）であるが、各情報は書式チェックのために使われ、妥当性確認処理列にはチェックディジットを計算して妥当であるかを確認する処理が記入してある。
【０１３４】
本発明では、情報文字列として非終端記号を利用可能とする。
図８（ａ）及び（ｂ）に表わした例では、非終端記号であることを示すためにｘやｎの可変部分を含めた例が表わされている。
図８（ａ）及び（ｂ）は非終端記号の説明上の例であり、通常は非終端記号として、ワイルドカードや正規表現などの手法を想定している。
終端記号と非終端記号とが区別でき、実装側で適切に処理できれば、手法は限定しない。
非終端記号と終端記号とは図４（ｂ）の一般的なケースの中に用いているが、それらの違いは、情報文字列が可変部分を持つために再帰的に探索するか（情報文字列が非終端記号）、情報文字列が定数であるために再帰せずに探索の密関係・疎関係を確定できるか（情報文字列が終端記号）の違いを表すために用いている。
情報カテゴリー内探索は、終端記号の情報文字列との情報評価、または、単位元との情報評価で密関係であるか疎関係であるかを確定して終了し、非終端記号との情報評価では前記の手順で、密関係・疎関係が確定するまで再帰的な探索を行うことになる（本発明での情報間の関係性を導く導出原理に相当）。
なお、二つの情報文字列何れもが非終端記号である場合にどのように結果を導くかは本発明では規定せず、実装する者が決定するものとする。
【０１３５】
図８（ａ）における、列名を除く４行目及び５行目の第一情報文字列におけるｘおよび、図８（ｂ）における、列名を除く２行目及び３行目に表わした第一情報文字列におけるｎが、その非終端記号としての例である。
情報評価は、情報が非終端記号を含む場合には、例えば、その非終端記号について書式チェックや変域のチェックを行い、書式や変域が不整合の場合は関係がないという情報評価を確定する。
書式が整合する場合は、その非終端記号を終端記号で置き換えたうえで、関係について判定する。
入力情報が非終端記号を含む場合についても同様である。
ここで、妥当性確認処理は、例えば、図８（ａ）の５行目乃至６行目に表わした ＵＣＳ−２, ＵＣＳ−４ 各々の符号化チェックおよび図８（ｂ）の３行目乃至４行目に表したＩＳＢＮコードの各チェックディジットチェックで情報文字列の変域や妥当性確認をする処理である。
【０１３６】
参考までに、図９（ａ）、（ｂ）、（ｃ）に、情報カテゴリーを実装して動作させた結果を探索応答からログ出力した結果を示す（ログは本情報処理装置のプロトタイプの探索応答から出力したもので、ログ出力の内容は後述する）。
図９（ａ）では、図８（ｂ）で示したＩＳＢＮの情報カテゴリーの実装を利用して、実在の書籍のデータで情報評価と、妥当性確認とが正常に動作することを確認することができる。
なお図９（ａ）では参考文献で上げた書籍をデータとして利用しており、一般に知られた書籍ではあるがご注意いただきたい。
図９（ａ）では、ＩＳＢＮコードが探索時に文字列など他の情報カテゴリーとしても並行して検知されていることを認識することもできる。
図９（ａ）では、同値類の技法の利用が確認できるが、例としては複雑なので、別の例として同値類だけに関する実行ログの固有の例を図９（ｂ）、妥当性確認あるいは同値類を使わずに情報評価だけに関する実行ログの固有の例を図９（ｃ）に示す。
図９（ｂ）では、後述する人間の情報カテゴリーについて男性、女性に同値分割した実装のログである。
図９（ｃ）では、数の集合および数値に関する包含関係を例としている数式という情報カテゴリーを用意しなかったため、複素数は複素数の集合の元として検知されているが、よく似ている１＋１は数値そのものとは言えないため文字列としてのみ探索で検知されている（数式は表現の揺れもあって定義が難しいが四則演算だけであれば実現できる）。
また、妥当性確認処理は結果的に、例えば、パスワードを照合したり、インジェクションチェックしたり、など確認する処理としても利用できる。
【０１３７】
情報カテゴリーに所属関係（∈）以外の関係を含む式を持つ元の登録を行った場合の、情報カテゴリーを表わす概念図を図１０に示す。
図１０に表わした表において、２行目に表わした元は、情報カテゴリー登録時に自動的に追加された元（単位元）であり、３行目乃至１４行目に表わした元が、手動で追加された元である。
自動的に追加された元は、与えられた情報だけで構成できるが、情報カテゴリーの候補は既存のすべての情報カテゴリーと疎関係にあるため、自身では知識を獲得することができない。
単位元の情報文字列は、同表で表わされた地理座標情報カテゴリーが、最初に自動的に生成された時に、既定の元として登録されたものである。
図１０に表わした表において３行目以降の行における、関係が ＨＡＳ−Ａ 関係、直交関係（⊥）、所属関係（∈）である元は、次を想定している。
すなわち、同２行目に表わした単位元についての情報文字列が自動的に登録された新規に作成された情報カテゴリーに、追加された元を想定している。
【０１３８】
単位元だけの場合（自明なモノイド）、探索はその情報カテゴリーそのものであるか否かしか判断ができないので、理にかなった結果を返すためには知識を与える必要がある。
然るに情報カテゴリーが自動的に生成される段階では、既存の他の情報カテゴリーと疎関係であることしか情報がないため、これらの知識は自動的に獲得することができない。
知識は元の式として表現することができ、元は手動で追加することができる。
従い、知識として与えるべき元を手動で追加する必要がある。
元の式に用いられる関係は、実装時に関係テーブルを予め用意し、その中から選択する。
実装する関係テーブルは図１１に表わしたようなもので、証明可能（├）、包含関係（⊂）、所属関係（∈）は各々図３（ｂ）の意図であると同時に本方法での役割を担うため、予め関係テーブルに実装する。
図３（ａ）、（ｂ）の関係が持つ規則については、各々属性フラグとして各関係のオブジェクトに実装するとよい（例えば、推移律の属性の有効・無効で推移律を満たす関係な再帰的な探索の識別に利用できる）。
【０１３９】
その他の関係は組み込み済みのものと競合（重複）しない限り、追加してもかまわないし、関係テーブルに追加できる機構であるものとする。
関係を追加する場合は情報カテゴリーで利用する前にまずここに登録する。
ＨＡＳ−Ａ 関係、$$プロパティ名関係、直交関係（⊥）、がこれまでに説明した追加する関係の例である（一般的な関係であるため、これらを同様に予め組み込んでもかまわない）。
ここで、関係テーブルへの登録を処理の開始前に限定するのは、関係テーブルの更新により、情報評価の結果が処理途中で変わることを避けるためである。
情報評価の結果が確定した場合には、その結果を受けて処理が行われる。
真であった場合は、妥当性確認が処理され、偽であった場合には同一カテゴリー内の他の未探索の元を探索し、未探索の元がない場合はその情報カテゴリーと疎関係であるという結果を確定する。
また、情報評価および妥当性確認の結果が確定しない場合には再帰的な探索を行って、その結果を引き継ぐ。
【０１４０】
以下、生成系を利用した例についていくつか説明する。
生成系は代数的構造の空ではない部分集合と代数的構造の演算子だけを使って代数的構造の全体集合またはより大きな部分集合による同一の代数的構造を作成できる場合にその部分集合と代数的構造の演算子を元の代数的構造の生成系という。
例えば、単位元だけのモノイドを定義することはできるがこのモノイドの生成系はそれ自身にしかならない。
これに対して、空列と文字集合とを元とする場合、それ自身もモノイドになるが、文字列連結演算に対して、文字列集合の生成系をなしている。
文字集合の代数的構造（ＵＣＳ, “”, ・）は、文字列連結・を演算とし、空列“”（ＵＣＳ０ ＝ { “” }）を単位元とする自由モノイド（ＵＣＳ＊, “”, ・）の生成系になる。
ＵＣＳはＵＣＳ−２, ＵＣＳ−４を総称したものでＵＣＳ−２はＵＣＳ−４に包含され、かつ廃止されたのでＵＣＳ−４と同一とみなしてよい。
ここで、ＵＣＳ＊ は、文字集合 ＵＣＳ のクリーネ閉包であり、その要素は任意の文字列である（∪ は ｎ 次の複数の集合の和演算）。
【０１４１】
（式２８）    ＵＣＳ＊ ＝ ∪ ＵＣＳｎ    （０ ≦ ｎ）
【０１４２】
このようにモノイドは部分集合から容易に生成系を作成することができる。
（商集合（同値類）による生成系の例）
まず、商集合（同値類）を用いた生成系について説明する。
同値類による類別は代数的なものである必要はないし、多くの場合、代表元を見ただけでは類別のルールがわからないので同値律を定義できる属性を用意する必要がある。
例えばＩＳＢＮコードは、ＥＡＮ または ＪＡＮ 規格のサブセットであり、ＥＡＮ または ＪＡＮ 規格はバーコードの企画である。
ＩＳＢＮコードの書式は接頭記号とグループ記号とで書籍の出版された国または地域を表すため接頭記号とグループ記号とで類別できる。
【０１４３】
ISBN-13 コード :=
ISBN接頭記号-グループ記号-出版者記号-書名記号-チェックディジット
【０１４４】
ＩＳＢＮコードは書籍などの商品情報として使われているため、書籍の情報カテゴリーの元の属性として定義し、ＩＳＢＮコードの情報カテゴリーを探索させるということも考えられる。
これらを踏まえて情報カテゴリーを以下のように構築できる。
【０１４５】
「バーコード」情報カテゴリー
├("バーコード", "バーコード")  (単位元)
「EAN」情報カテゴリー
├("EAN", "EAN")                (単位元)
⊂("EAN", "バーコード")        (情報カテゴリー間の探索)
【０１４６】
⊂("EAN", "バーコード")が探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で棄却する。
【０１４７】
「JAN」情報カテゴリー
├("JAN", "JAN")                (単位元)
⊂("JAN", "バーコード")        (情報カテゴリー間の探索)
【０１４８】
⊂("JAN", "バーコード")が探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で棄却する。
【０１４９】
「ISBN」情報カテゴリー
├("ISBN", "ISBN")              (単位元)
⊂("ISBN", "EAN")              (情報カテゴリー間の探索)
【０１５０】
⊂("ISBN", "EAN")が探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("EAN", Y) を探索する（Ｙ は変数）。
【０１５１】
⊂("ISBN", "JAN")              (情報カテゴリー間の探索)
【０１５２】
⊂("ISBN", "JAN")が探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("JAN", Y) を探索する（Ｙ は変数）。
【０１５３】
「ISBN-10」情報カテゴリー
├("ISBN-10", "ISBN-10")        (単位元)
∈(c, "ISBN-10")                (情報カテゴリー内の探索)
【０１５４】
∈(c, "ISBN-10")が探索されたら元としての情報評価後、妥当性確認で c の桁数、チェックディジットの確認を行い、有効な場合、├("ISBN-10", "ISBN-10") の情報評価を行う（必要に応じて予想されるグループ記号、出版社記号、書名記号を返す）。
【０１５５】
⊂("ISBN-10", "ISBN")          (情報カテゴリー間の探索)
【０１５６】
探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("ISBN", Y) を探索する（Ｙ は変数）。
【０１５７】
「ISBN-13」情報カテゴリー
├("ISBN-13", "ISBN-13")        (単位元)
∈(c, "ISBN-13")                (情報カテゴリー内の探索)
【０１５８】
探索されたら元としての情報評価後、妥当性確認で c の桁数、チェックディジットの確認を行い、有効な場合、├("ISBN-13", "ISBN-13") の情報評価を行う（必要に応じて予想される接頭記号、グループ記号、出版社記号、書名記号を返す）。
【０１５９】
⊂("ISBN-13", "ISBN")          (情報カテゴリー間の探索)
【０１６０】
探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("ISBN", Y) を探索する（Ｙ は変数）。
【０１６１】
「ISSN」情報カテゴリー
├("ISSN", "ISSN")              (単位元)
⊂("ISSN", "JAN")              (情報カテゴリー間の探索)
【０１６２】
探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("JAN", Y) を探索する（Ｙ は変数）。
【０１６３】
「書物」情報カテゴリー
├("書物", "書物")              (単位元)
∈(B, "書物")                  (情報カテゴリー内の探索)
【０１６４】
探索されたら（情報カテゴリー外の探索、接頭記号、グループ記号、出版社記号、書名記号を取得する）。
【０１６５】
∈(b, Class[B])              (情報カテゴリー内の探索・情報カテゴリー間の探索)
【０１６６】
この場合、同値類の実装方針によって、登録する元の式の関係、すなわち探索方法が変わる。
同値類の代表元の情報カテゴリーへの所属関係を元とする場合は情報カテゴリー内探索を行い、同値類の情報カテゴリーへの包含関係を元とする場合は情報カテゴリー間探索を行う。
探索されたら b が ISBN コード（書籍）または ISSN コード（定期刊行物）の有無を確認（古い書物も扱うため）し、妥当性確認でその ISBN/ISSN コードを検証して接頭記号・グループ記号を使って国・地域で同値類別するため、∈(c, ISBN-13) のカテゴリー外探索を行い（情報評価後に接頭記号とグループ記号の国・地域で類別する）、カテゴリー外探索が成功した場合は、├("書物", "書物") を探索する。
【０１６７】
B        : ISBN コードの国・地域を共通とする書物の同値類の代表元
【０１６８】
※  ここでは同値類の代表元の情報カテゴリーへの所属関係を元とする。
この例（ＩＳＢＮ, ＩＳＢＮ−１０， ＩＳＢＮ−１３）では同値類をさらに同値類として細分する場合に直接細分せずに親集合を階層化している。
【０１６９】
また妥当性確認で使われる ⊆ は元に使われる ⊂, ├ にこの順を優先順としてマッチするものとした。
【０１７０】
例えば、書籍に関する問い合わせを ∈(書籍, [B])? という探索で実行することで結果を得ることができる。
また ⊂(ISBN-13, JAN) という探索を実行すると ⊂(ISBN-13, JAN) 自体は前記定義に含まれないが ⊂(ISBN-13, ISBN), ⊂(ISBN, JAN) と推移的に処理されれば、結果として得ることができる。
実装が複雑になりすぎるので詳述はしないが、推移性は一つの包含関係（この例では ⊂("ISBN-13", "JAN")）を複数の包含関係などに有限ステップに分離してゴールにたどり着けるように（⊂("ISBN-13", X), …, ⊂(X, "JAN"), ├("JAN", "JAN")）すればよいことがわかる。
例えば、⊂("ISBN-13", "JAN") が与えられたら、⊂("ISBN-13", "ISBN") の元の妥当性確認で ⊂("ISBN", "JAN") を探索させる。
⊂("ISBN", "JAN") の探索では元を検知して ⊂("ISBN-13", "JAN") の情報評価は成功とする（検知されなかった場合は再帰的に ⊂("ISBN", Y) を探索する）。
つまり、⊂ の推移律を説明済みの実装手段と利用者定義の妥当性確認などで処理することができる（全情報カテゴリーとの ⊂ 関係を各情報カテゴリーに元として登録してもよいが、実用的ではない）。
【０１７１】
本方式では情報カテゴリーに一元的な類別は要請しないので、一つの情報カテゴリーに複数の類別方法を元として登録することも禁止しない。
例えば、人間という情報カテゴリーを実装する際、性別という属性と、出生年という属性とを持たせ、各々を類別する元を登録することができる。
【０１７２】
情報カテゴリー : X のカテゴリー元としては ∈(x, [y]), ∈(y, X) の二つを含み、x : x ∈ X を判定する定数（正規表現などを含めてもよい）, y : 代表元であり、妥当性確認で代表元を返すことを可能にするようにしてあり、この内容で代表元毎に登録する（登録情報の枯渇した情報カテゴリーは完全代表系になる）。
変換 Ｔ が準同型写像であれば、Ｔ の像がモノイドであれば、現像もモノイドであるということができる。
ここで、代表元から直接同値類が判定できるかという課題がある。
【０１７３】
同じように属性で分類することで「人間」を「男性」属性の同値類と「女性」属性の同値類とに分類する完全代表系の商集合とすることができる。
この商集合には単位元はないが、「人間」情報カテゴリーには ├("人間", "人間") という単位元を用意しておくことで、モノイドとして機能させることができる。
元の正規表現は「人間」であることのチェックに使用することができる。
次のような実装で元の妥当性確認では「人間」であることのより精緻なチェックと、属性の判定に使用できる。
【０１７４】
h, X, Y, H ∈ D  対象領域（Ｘ, Ｙ, Ｈ は男性、女性、性別不明者の代表元）
├("人間", "人間")        (単位元)
∈(X, "人間")
【０１７５】
探索されたら妥当性確認で Ｘ が代表元であることを確認のうえ、├("人間", "人間") の再帰的な探索を行う（Ｘ が可変部を含まない場合は元登録時に代表元であることを確認すれば効率的である）。
【０１７６】
∈(Y, "人間")
【０１７７】
探索されたら妥当性確認で Ｙ が代表元であることを確認のうえ、├("人間", "人間") の再帰的な探索を行う（Ｙ が可変部を含まない場合は元登録時に代表元であることを確認すれば効率的である）。
【０１７８】
∈(H, "人間")
【０１７９】
探索されたら妥当性確認で Ｈ が代表元であることを確認のうえ、├("人間", "人間") の再帰的な探索を行う（Ｈ が可変部を含まない場合は元登録時に代表元であることを確認すれば効率的である）。
【０１８０】
∈(h, [X])
【０１８１】
探索されたら妥当性確認で ｈ が人間クラス（人間の定義がされている）である場合、∈は同値類に対する所属関係であり、∈(X, "人間") の情報評価を行う（必要に応じて ｘ の性別属性を返す）。
【０１８２】
∈(h, [Y])
【０１８３】
探索されたら妥当性確認で ｈ が人間クラス（人間の定義がされている）である場合、∈は同値類に対する所属関係であり、∈(Y, "人間") の情報評価を行う（必要に応じて ｙ の性別属性を返す）。
【０１８４】
∈(h, [H])
【０１８５】
探索されたら妥当性確認で ｈ が人間クラス（人間の定義がされている）で性別属性は不明または出生年属性が不明である場合、∈は同値類に対する所属関係であり、∈(h, [H]) の情報評価を行う（必要に応じて ｈ の性別属性や出生年属性を返す）。
【０１８６】
h      : 評価対象の情報（変数的）
H      : 性別属性、出生年属性とも不明（Ｃ♯言語の場合は null など）仮想の人間を表す代表元インスタンスとする。
X      : 男性の性別属性を持つ仮想の人間を表す代表元インスタンスとする。
Y      : 女性の性別属性を持つ仮想の人間を表す代表元インスタンスとする。
【０１８７】
[?] は ? を代表元とする同値類（慣習的に書かれないが同値関係を示す属性が指定されている必要がある）。
【０１８８】
※  本説明には記載してないが性別属性や出生年属性だけでは人間であることは判定できないので人間であることを示すには別の属性を妥当性確認で検証する必要がある。
【０１８９】
性別属性や出生年属性は情報評価や妥当性確認の指標ではなく、情報評価や妥当性確認の出力として利用することを目的とする（∈は全情報カテゴリー共通でこれらの属性を取得しないので固有の関係を設ける必要がある）。
【０１９０】
妥当性確認      対象（Ｘ, Ｙ, Ｈ）の性別属性により、分類または棄却する。
【０１９１】
カテゴリー元の情報にはオブジェクトの種類を限定しないが、書面での説明のため、カテゴリー元の情報として比較・照合のための文字列と、その実体を表す任意のオブジェクトをまとめたデータ構造として扱うことにする。
同値類への所属関係を表す元 ∈(h, [?]) の登録時に自動で代表元の親集合への所属関係を表す元 ∈(H, "親集合") も自動で元登録されるようにしてもよい。
【０１９２】
同値類での単位元の扱いについては、個別に注意する必要がある。
まず、情報カテゴリーの単位元は探索に関する単位元であり、情報カテゴリーで表現されているものの単位元とは本質的に異なる。
情報カテゴリーで表現されているものの単位元が代表元になる場合もある（例えば ［０］）が、そうでない場合は、情報カテゴリーとしての単位元は設けても、そこで表現されるものの単位元をあえて実装する必要はない。
情報カテゴリーへの表現が準同型とは言えず、上への写像ではなく中への写像になるがもともと単位元が異なるケースであり、かつ特定の元に限られ、その他の元は情報カテゴリーとしてモノイドになることが保証されるため、必要に応じ、特定の元への対応ができていればよいことになるためである。
例えば、人間の情報カテゴリーで人間の単位元は男性、または女性とすると類別しなければならないため、情報カテゴリーとしての単位元（├("人間", "人間")）は設けても人間の単位元を設ける必要はない。
その代わり、男性、女性、と類別された各同値類の代表元を直接、人間の情報カテゴリーで保証できるようにするとよいことになる。
【０１９３】
（線形空間の基底による生成系の例）
次に、線形空間の基底を用いた生成系について説明する。
本発明の情報処理装置では、より広い対象を扱うため群・環・線形代数より原始的な情報を元とするモノイドの生成系を実装している。
また、本発明の情報処理装置は式の意味解析あるいは論証を行うことを目的としない。
式の意味解析や論証は利活用機能で行い、本発明の情報処理装置では妥当性確認の中で利活用機能を呼び出して意味解析・論証を行ったり、その結果を登録したりすることで分析系と応用系とを連携させる方法を提供する。
ここでは、線形空間の例として数体系の実装例について考察する。
まず、実数(R, {+, *})は体である。
これに対して複素数(C, {+, *})は、その元が実部と虚部を各々実数ベクトルと虚数ベクトルを基底とする実数体上の線形環、つまり線形空間上の線形結合となる。
ここで正規表現を判定に活用して実数・複素数を情報カテゴリーとして表現してみる。
複素数の表現の揺れを吸収するために、本方式では結果として複数の正規表現パターンを元として用いる。
【０１９４】
実数の正規表現を用いた元のイメージ
├(実数, 実数)                        (単位元)
∈("(?<Real>(\+|\-)?(0|[1-9][0-9]*)\.?[0-9]*)", 実数)
【０１９５】
複素数の正規表現を用いた元のイメージ
├(複素数, 複素数)                    (単位元)
∈("(?<Real>(\+|\-)?(0|[1-9][0-9]*)\.?[0-9]*)", 複素数)
∈("(?<Imaginary>i\s*(\+|\-)?(0|[1-9][0-9]*)\.?[0-9]*)", 複素数)
∈("(?<Imaginary>(\+|\-)?(0|[1-9][0-9]*)\.?[0-9]*\s*i)", 複素数)
∈("(?<Real>(\+|\-)?(0|[1-9][0-9]*)\.?[0-9]*)\s*(\+|\-)\s*(?<Imaginary>i\s*(0|[1-9][0-9]*)\.?[0-9]*)", 複素数)
∈("(?<Real>(\+|\-)?(0|[1-9][0-9]*)\.?[0-9]*)\s*(\+|\-)\s*(?<Imaginary>(0|[1-9][0-9]*)\.?[0-9]*\s*i)", 複素数)
∈("(?<Imaginary>(\+|\-)?i\s*(0|[1-9][0-9]*)\.?[0-9]*)\s*(\+|\-)\s*(?<Real>(0|[1-9][0-9]*)\.?[0-9]*)", 複素数)
∈("(?<Imaginary>(\+|\-)?(0|[1-9][0-9]*)\.?[0-9]*\s*i)\s*(\+|\-)\s*(?<Real>(0|[1-9][0-9]*)\.?[0-9]*)", 複素数)
【０１９６】
例に挙げた複素数・実数の単位元以外の元は各々実数、複素数に属することを意味する元である。
正規表現は、探索時にマッチングさせるために使用している。
例えば、0.1 は、実数の元にも複素数の元にもマッチするため、0.1 ∈ 実数, 0.1 ∈ 複素数のいずれも成立するが、i1-2は実数ではないため i1-2 ∈ 複素数しか成立しない（ｉ は虚数単位）。
本発明の情報処理装置でのこの動作の実装は数学的処理ではなく、正規表現による結果である。
実数の場合は既存のプログラミング言語の特徴を生かしてより厳格な確認が可能であるが、複素数の場合は既存のプログラミング言語でデータ型としてサポートしているケースが少ないので、自力で実装する必要がある。
複素数の虚部は、実数に虚数単位を乗じたものであるから、実質的に実数と同等とみなせ、複素数をサポートしない既存のプログラミング言語でも扱える機能範囲（実数の組み合わせ）として実部・虚部各々で、実数用の妥当性確認を行えばよいことを示している。
同様に事実として実数⊂複素数であるため、実数と複素数の一部の情報カテゴリーの元の式は同一の正規表現を用いており、一方で虚部を持つ複素数を判定する元は実数には含まれない。
複素数の虚部は同様に実数情報カテゴリーの元の式と同一の正規表現である。
結果的に単なる⊂の実装だけではなく、実数を複素数の生成系として活用している（複素数の各項から実数を参照させれば生成系としてより明確になる）。
【０１９７】
本発明の情報処理装置は、多階層のハブアンドスポーク構造を構成することで、情報カテゴリーの共有・公開機能を提供する（発明とは直接には関係ないが、モノイド構造を維持・保守する仕組みとして説明する）。
情報カテゴリーは、例えば、知識ライブラリと一時ライブラリの二階層のデータストア上に記録する。
一時ライブラリはさらにローカルライブラリと共有ライブラリの二階層で構成することもできる。
以下においては、ライブラリとして、ローカルライブラリ、共有ライブラリ、知識ライブラリの三階層を構成した例についての探索について説明する（ローカルライブラリを最下位層、共有ライブラリをすべての中間層、知識ライブラリを最上位層と位置付け、同様に各層の本発明の情報処理装置を最下層ではクライアント基盤、中間層ではブローカ、最上位層では知識マスターと呼ぶ。クライアント基盤という名称は、アクセス用クライアント機能を含む意味である）。
【０１９８】
探索は、参照のアクセス権があるローカルライブラリ、共有ライブラリ、知識ライブラリの順に行われる。
そして、探索の対象となる元（以下において探索対象ということにする。）が最初に見つかった場合には、その最初に見つかったライブラリの中で情報評価等を行う。
すべてのライブラリにおいて入力情報と密関係があると判定される元が見つからない場合は、ローカルライブラリに新たな情報カテゴリー候補を追加する。
知識ライブラリは公開され、かつ、参照のアクセス権に制限はないものとする（参照以外のアクセス権はメンテナンス用にのみ使用する）。
予め組み込まれた情報カテゴリーと共有ライブラリから知識獲得した追加の情報カテゴリーを含み、これらを探索用に公開する。
共有ライブラリは、所属する全ローカルライブラリ参加者に参照のアクセス権を限定する（参照以外のアクセス権はメンテナンス用にのみ使用する）。
ローカルライブラリは、当該のローカルライブラリの参加者に参照・書き込み・更新・削除のアクセス権を限定する。
ローカルライブラリは、本方法による処理の途中で生成された情報カテゴリーの候補を一時記録するライブラリである。
情報カテゴリーの候補は、入力された情報の集まり（例えばテキストからなる文章）から取得した情報から、その情報カテゴリーの単位元のみを含む状態で自動生成される（初期状態）。
【０１９９】
（元候補の獲得）
そして、入力情報と知識ライブラリ上の情報カテゴリーに含まれる元との情報評価が、密関係であるという判定で確定した場合は、その元を知識ライブラリの作業領域にある元候補リストに追加する（元候補リストのデータ構造としては元候補と密関係になる情報カテゴリーとを保持する必要がある）。
また、前記作業領域にある元候補リストに単位元以外の元がある場合は、元候補としてその情報カテゴリーに追加できる。
【０２００】
（情報カテゴリー候補の獲得）
情報カテゴリーの共有は、ローカルライブラリにある情報カテゴリーから共有ライブラリにある情報カテゴリー候補リストへ行われる登録である。
さらに、情報カテゴリーの公開は、共有ライブラリにある情報カテゴリーから知識ライブラリにある情報カテゴリー候補リストへの元の登録である。
複数の本発明の情報処理装置を束ねる本発明の情報処理装置の場合、下位層のライブラリから、上位層のライブラリに候補を登録される際に同一と思われる候補による競合が発生する可能性がある。
これらを一元化する競合解決機能を統合と呼ぶことにする。
統合は、複数の下位ライブラリから同一名の情報カテゴリーが候補とされた場合に、マージする処理である。
マージの際に、情報カテゴリー候補の元に矛盾や循環があれば登録対象から除外することが望ましい。
ライブラリの出自の異なる情報カテゴリー名および、単位元が一致する情報カテゴリーは競合する。
競合のないものは上位ライブラリに登録(共有・公開)される。
競合する情報カテゴリー候補において矛盾する結論が導かれる(同一の入力情報に対し、ある競合は密関係にあり、別の競合は疎関係にある)場合は、その情報カテゴリーを公開された情報カテゴリーにはせずに保留する。
矛盾がなければ競合をマージする（単位元などの同一元は一元化する）。
マージによって探索が循環する場合も保留状態にする。
保留状態にないものは、上位ライブラリに登録（共有・公開）される。
【０２０１】
なお、情報カテゴリー名に表記の揺れ（日本語の場合末尾の「ー」の有無など）がある場合は、情報カテゴリーに合同関係（≡）とエイリアス名を情報文字列とする元を登録する（例えば ≡(コンピュータ, コンピューター)）。
ローカルライブラリから知識ライブラリへの直接的な情報カテゴリーの登録は行うべきではない（共有ライブラリを公開しない、共有ライブラリをローカルライブラリとして使わない）。
情報カテゴリーの統合や候補からの除外後、移行元の情報カテゴリーを残すか否かは選択できるものとし、残す場合は再候補しない仕組み、あるいは問題点を手動で解決して再候補する仕組み等に利用してもよい。
例えば、候補を保留するフラグを立てたり、候補しないリストを生成したりする等を行うことが望ましい。
【０２０２】
次にこの方式で得られた情報の森や情報の木の活用原理について説明する。
これらは木構造（情報の木）やその集合（情報の森）として表すことができるので、そのまま利用することも考えられる。
一方、木構造等では、取扱いに不都合がある場合は、密結合にあたる木の連結が”・”演算子の結合であると考えることができることに着目し、適切に写像する手段も考えられる。
情報の木や情報の森をそのまま利用する場合には、｛情報の木１、情報の木２、…、情報の木ｎ｝をそのまま利用する。
一方、写像する場合は、例えば、下記式５又は式６の条件を満たす、任意の演算子ｆ、ｇ、ｈによる準同型写像を用いることができる。
【０２０３】
（式２９a）    ｆ（ｇ｛情報の木１、情報の木２、…、情報の木ｎ｝）＝ｇ｛ｆ（情報の木１）、ｆ（情報の木２）、…、ｆ（情報の木ｎ）｝
（式２９b）    ｆ（元・元）＝ｈ（ｆ（元）、ｆ（元））
【０２０４】
上記式による準同型写像は、利用したいケースに適切な写像であり、上記条件を満たせば任意である。
【０２０５】
［３．具体例］
次に、本実施形態の情報処理装置の具体例について説明する。
［３−１．構成］
図２（ｂ）は、本具体例の情報処理装置の構成を表わす概念図である。
本具体例の情報処理装置００１は、情報構造化手段１１４と、情報カテゴリー獲得手段１１５と、情報カテゴリー保守手段１１６と、情報カテゴリー破棄手段１１７と、情報カテゴリー連携手段１１８とを備える。
なお、ここでの情報構造化とは、探索に際して構造化情報である代入結果、情報の木、情報の森を得ること、および、情報カテゴリー候補、元候補の追加であり、情報構造化手段は実質的に探索と同一である。
情報構造化手段１１４は、入力情報について、情報カテゴリーを探索し、情報評価を行うことにより、入力情報を構造化する（入力情報の式の可変部分に照合結果を代入して補完する）処理を行う。
情報構造化手段１１４に入力情報を生成するために用いられるもとの情報の集まりは、たとえば、文書、表、ソフトウェアのソースコード等の情報である。
これらの情報の集まりを分解した単語等の文字列等の情報が、式（入力情報）として、情報構造化手段１１４に入力される。
そして、情報構造化手段１１４による情報構造化処理の結果として生成される情報は、情報カテゴリー、情報の木及び情報の森といった構造化された情報である。
【０２０６】
情報カテゴリー獲得手段１１５は、情報カテゴリー候補リストから保留プロパティの付与されていない情報カテゴリー候補を情報カテゴリーとしてライブラリに登録する手段および、保留プロパティの付与されていない元候補リストから元候補を元として情報カテゴリーに登録する手段である。
情報カテゴリー保守手段１１６は、ライブラリにある情報カテゴリーの内容（情報文字列やプロパティ）を確認し、更新する保守処理を行う。
情報カテゴリー破棄手段１１７は、破棄プロパティが付与されている情報カテゴリーを削除する処理を行う。
情報カテゴリー連携手段１１８は、複数の本発明の情報処理装置を中心ノードの情報処理装置を上層とし、その他のノードの情報処理装置を下層とする、ハブアンドスコープに連携させる役割を担う。
【０２０７】
主な機能は階層の情報カテゴリーの共有と公開である。
ここでの共有とは、複数の本発明の情報処理装置を連携させた場合に、下層から上層に追加・更新をかけ、同時に下層が上層を参照できるようにすることで情報の共有・一元化を行うことである。
また、ここでの公開とは、複数の本発明の情報処理装置を連携させた場合に、下層から上層に追加・更新をかけ、同時に下層として参加してない任意の本発明の情報処理装置から参照できるようにすることである。
これらの各手段により行われる各処理については後述する。
【０２０８】
また、本具体例の情報処理装置００１は、上記の各手段を動作させるための機能として、共通機能と、知識マスター機能と、ブローカ機能と、クライアント基盤機能と、ライブラリと、候補リストとを備える。
共通機能は、本発明の情報処理装置００１を利用するフレームワークやアプリケーションであり、多階層での役割とは別にライブラリや候補リストに対して、以下の機能を備える（なお、以下では本発明の情報処理装置のデータストアで直接管理するライブラリを連携する本発明の情報処理装置の各々のデータストアのライブラリと区別して保持するライブラリと表記する）。
【０２０９】
・利活用機能から探索要求された情報と、保持するライブラリの情報カテゴリーとから、情報の木や情報の森を生成して応答する機能
・保持するライブラリを保守する機能
【０２１０】
ライブラリの情報カテゴリーのスキーマは、一つのレコードで一つの元を表し、元には式（第一情報文字列列と、第二情報文字列列と、関係列）と、妥当性確認処理列とを含むものとする。
なお、レコード数は拡張が可能とする。
知識ライブラリは、任意の利活用機能間で共有（公開）される情報カテゴリーのライブラリである。
【０２１１】
知識マスター機能は本発明の情報処理装置００１を利用するフレームワークやアプリケーションであり、以下の各機能を備える。
【０２１２】
・後述のブローカ機能から提示された情報カテゴリー連携手段用の候補を知識ライブラリに登録する機能
【０２１３】
知識ライブラリは、登録されたブローカの複数の一時ライブラリから提示される元を、情報カテゴリー連携手段１１８で登録したデータストアである。
共有ライブラリは、登録された範囲のクライアント基盤と連携する利活用機能間で共有される情報カテゴリーのライブラリである。
【０２１４】
ブローカ機能はこのシステムを利用するフレームワークやアプリケーションであり、以下の機能を備える。
【０２１５】
・後述のクライアント基盤機能から提示された情報カテゴリー連携手段用の候補を共有ライブラリに登録する機能
・情報カテゴリー連携手段用の候補を作成して知識マスター機能に提示する機能
【０２１６】
共有ライブラリは、登録されたクライアント基盤の複数の一時ライブラリから提示される元を、情報カテゴリー連携手段１１８で登録したデータストアである。
なお、ブローカがない場合（知識マスターとクライアント基盤のみの場合）は、知識ライブラリにおいて追加等の更新はされず、知識ライブラリは情報カテゴリーの生成系とはならない。
ローカルライブラリは、保持するクライアント基盤と連携する利活用機能だけで利用できる情報カテゴリーのライブラリである。
【０２１７】
クライアント基盤機能はこのシステムを利用するフレームワークやアプリケーションで、以下の機能を持つ。
【０２１８】
・ユーザー操作やバッチ操作で情報源から情報を取得する機能
・知識マスター機能やブローカ機能に要求して情報に関する情報の木や情報の森を取得する機能
・情報とローカルライブラリ機能から情報の木や情報の森を生成する機能
・情報カテゴリーを形成してローカルライブラリに登録する機能
・情報カテゴリー獲得手段用の情報カテゴリー候補および元候補を作成してブローカ機能に提示する機能
【０２１９】
情報カテゴリーには、プロパティと、その情報カテゴリーが表わす情報カテゴリーの基本構造を含む表とを備える（プロパティは静的な変数ではなくインスタンス毎の変数）。
ここで、プロパティは、例えば、情報カテゴリー獲得手段用の候補とすることの可否、情報カテゴリーを生存させることの可否、情報カテゴリーを破棄することの可否等、各種手段を制御するフラグやデータとして使用できる。
情報カテゴリー獲得手段用の候補とすることの可否を表わすプロパティは、情報カテゴリー獲得手段用の候補とすることを可とする候補リストへの登録可否を制御するプロパティの意図である。
情報カテゴリーを生存させることの可否を表わすプロパティは、ライブラリ内でのアクセス可否を制御するプロパティの意図である。
情報カテゴリーを破棄することの可否を表わすプロパティは、ライブラリに情報カテゴリーが既存する場合に情報カテゴリーの削除可否を制御するプロパティの意図である。
プロパティによる各種手段の制御は例えば次のように行われる。
各種ライブラリの情報カテゴリーは、情報カテゴリー保守手段による処理により削除設定し、情報カテゴリー破棄手段により自動で削除できるものとする。
また、プロパティの設定は次のようにして行われる。
【０２２０】
・探索で密関係となった入力情報は情報カテゴリー候補としない設定をする。
・情報カテゴリー連携手段で、既存の情報カテゴリーは獲得されず破棄設定される。
【０２２１】
各種のライブラリは、情報カテゴリーを記録し、出力することができる。
ライブラリは、データ管理形式について任意であり、その形式は、たとえば知識ベースでも、ＲＤＢでも、ＸＭＬＤＢ（ＸＭＬデータベース）でも、ＭＤＤＢでも、特許文献３に開示された技術を利用した方式でも、ファイルシステムそのものでも構わない。
ＫＶＳ（Ｋｅｙ−Ｖａｌｕｅストア）はレコードの列数が限られるためライブラリやその配下のデータ構造の直接的な実装には向かない。
なお、本明細書では、下位基盤の構成要素のライブラリ（ローカルライブラリと共有ライブラリ）を一時ライブラリと総称する。
【０２２２】
［３−２．処理フロー］
以下において、利活用機能から本発明の情報処理装置への要求とその応答のデータ処理エンジン（情報構造化手段１１４）と、データ保守エンジン（情報カテゴリー獲得手段１１５と、情報カテゴリー保守手段１１６と、情報カテゴリー破棄手段１１７と、情報カテゴリー連携手段１１８）とのそれぞれにおける処理のフローについて説明する。
【０２２３】
［３−２−１．情報構造化手段１１４］
情報構造化手段１１４（以下、本処理）は、入力情報について、探索（検索と、情報評価と、妥当性確認）と、探索結果の情報構造化とを行う処理である。
本処理は、構造化された入力情報を代入で補完して完成させ、出力として探索結果とともに、情報の木及び情報の森を提供する。
また、出力が得られない場合は、新しい情報カテゴリーとして構造化し、候補としてローカルライブラリに追加する。
探索要求は基本機能としてライブラリ内の情報カテゴリー間の探索と、情報カテゴリー内の探索が行われる。
多階層間に探索要求する場合は、ライブラリ内の探索の前にライブラリ間の探索も必要になる。
【０２２４】
以下の説明では、説明を容易にするため、図１２に示す評価対象情報のスタックとして評価対象スタックがあることを前提にしている（言語基盤などで同等の機能が利用できる場合があるので必須ではない）。
以下の説明では、入力情報が不完全となる場合に補完するため、可変となることを示すデータ（変数や正規表現など）を前提としている。
以下の説明では、情報評価と妥当性確認は別々に実施するのではなく、情報評価で真（ｔｒｕｅ、以下同）であった場合にのみ妥当性確認を行い、その戻り値を密結合・疎結合・未確定とする簡略化もしている（妥当性確認が設定されてない場合は常に ｔｒｕｅ）がこれも説明の都合であり、実装に際して制約するものではない。
以下の説明では、情報の森は既定で存在させていて、そこに情報の木を作成するという方針で説明する（これも実装に際しての制約とはしない）。
【０２２５】
図１３は、本処理のフローを表わす概念図である。
まず、利活用機能で情報の集まりから入力情報が作成される。
前記情報の集まりは、例えばテキストで与えられた文章である。
情報の集まりが文章である場合には、その文章を、例えば利活用機能で形態素解析の手法により情報文字列に分解することができる。
さらに、例えば、助詞等の不要な情報文字列は関係に置換する（Ｓ００１）。
利活用機能は、分解や置換で得られた情報を本発明の情報処理装置の式のデータ構造としてデータ化（インスタンス化）する。
データ化の際に関係や二の情報の情報文字列が不足する場合は、代わりに可変であることを示すデータなどで埋める（ただし、すべてのデータが、可変であることを示すデータとなることは避ける）（Ｓ００２）。
利活用機能は、本発明の情報処理装置に対して、前記で得られたデータを入力情報として探索要求をする（探索要求では必要に応じて探索応答用のコールバックを指定する）（Ｓ００３）。
本発明の情報処理装置が評価対象スタックを実装している場合は、探索要求を受けたら、入力情報を評価対象スタックにＰｕｓｈする（Ｓ００４）。
【０２２６】
本発明の情報処理装置が多階層で連携している場合は、ライブラリ探索を行い、以下の処理のループを優先度の高いものから順次行う（そのライブラリが終了したら次の優先度のライブラリを処理し、未処理のライブラリがなくなったら終了処理に移行する。多階層ではなく孤立している場合は、ローカルライブラリのみ処理）（Ｌ００１）。
情報カテゴリー間探索を行う（Ｌ００２）。
情報カテゴリー間探索は、ライブラリ内のすべての情報カテゴリーを順次、情報カテゴリー内探索する。
情報カテゴリー内探索は、評価対象情報（評価対象スタックの先頭）と、情報カテゴリー内の各元との情報評価、妥当性確認を行う（Ｌ００３）。
【０２２７】
情報評価は、評価対象情報と情報カテゴリー内の各元とのマッチングであり、両者のいずれかに可変部分が含まれない場合は一致するか、含まれる場合は代入によりマッチングが可能な場合であるか、の場合に妥当性確認を行う（Ｓ００５）。
情報評価で ｆａｌｓｅ であった場合、および、妥当性確認で疎関係であった場合、情報カテゴリー内探索のループ（Ｌ００３）を次の未評価の元に進める（Ｓ００６）。
情報評価で ｔｒｕｅ であった場合、情報カテゴリー内探索は情報カテゴリー内の未評価の（その探索で情報評価を一度もしていない）元との情報評価および妥当性確認を行う。
妥当性確認は、元が満たすべき要件を確認する処理で、元毎に指定できる。
即ち元を登録できるものには妥当性確認も登録することを許可する。
妥当性確認の実体は、探索要求した利活用機能のコールバックハンドラまたは別の利活用機能の ＡＰＩ として実装される。
また、妥当性確認の中で、意図的に再帰的な探索を要求させることも可能とする（この場合、意図的ではない再帰的な探索を起こさせたくない場合に未確定を戻り値としないようにする必要がある。また、評価対象スタックや情報の木が分離してしまう点も注意が必要である）。
妥当性確認は、戻り値を ｔｒｕｅ／ｆａｌｓｅ としてもよいがこの説明では、既に情報評価が ｔｒｕｅ と確定した組み合わせのため、この実施例では、元毎の疎関係・密関係・未確定のいずれかを返すものとする。
【０２２８】
疎関係・密関係と確定しない場合は、すべて未確定とする（Ｓ００７）。
なお、妥当性確認が設定されてない元の場合は、常に密関係を返したものとみなす。
情報評価で ｔｒｕｅ、妥当性確認で未確定となった場合は、再帰的な探索を行う（Ｓ００８）。
情報カテゴリー内探索は、同一情報カテゴリー内での情報評価および妥当性確認は密関係の元が見つかる（Ｓ０１０）か、すべての元と疎関係であることが確定する（Ｓ００９）まで繰り返される。
密関係を検知した場合は、そこまでの再帰的な探索での代入済みの元による、または元と代入の組み合わせによる情報の木を作成する（Ｓ０１１）。
同様に密関係を検知した場合は、探索応答を実行する。
探索応答は探索要求した利活用機能の処理をコールバックする。
探索応答は情報の木の作成（Ｓ０１１）と並行してもよいが、情報の木、情報の森を探索応答で利用することを想定してこの実施例では情報の木作成後としている（情報の森は、この実施例では常に存在しているが、すべての情報の木の作成が完了しないと確定しない点に注意が必要である）（Ｓ０１２）。
すべての元と疎関係であることが確定した場合、入力情報(当初の評価対象情報)とその情報カテゴリーとが疎関係であることを確定する（Ｓ０１３）。
（Ｓ０１２）および（Ｓ０１３）の後、（Ｌ００３）ループを終了させる。
【０２２９】
次に未探索の情報カテゴリーがあればその情報カテゴリーに対して（Ｌ００２）ループを繰り返し、未探索の情報カテゴリーがなければ（Ｌ００２）ループを終了させる。
情報カテゴリー間探索のループ後の処理としてすべての情報カテゴリー内探索の結果が、疎関係であったか、一つでも密関係となる情報カテゴリーがあったかを確認する（Ｓ０１４）。
探索結果がすべての情報カテゴリーと疎関係であった場合は、入力情報から、単位元と、入力情報の式を元として持つ情報カテゴリー候補としてデータ化（インスタンス化）する。
情報カテゴリー候補は、データ化直後、既定で候補可否プロパティが ｆａｌｓｅ、生存プロパティが ｔｒｕｅ となっている（本実施例での各種プロパティの用途と設定については情報カテゴリー保守手段で説明する）。
前記で得られる情報カテゴリー候補は入力情報を R(A, B) とすると次の元を含む（ここで R は特定の関係を表すものとする）。
【０２３０】
情報カテゴリー候補 A
├(A, A)                (A の単位元)
R(A, B)                (元)
情報カテゴリー候補 B
├(B, B)                (B の単位元)
R(A, B)                (元)
【０２３１】
但し、A, B が可変であることを示すデータの場合、対応する名前の情報カテゴリー候補は作成されない。たとえば A が可変であることを示すデータの場合、情報カテゴリー候補 B のみ生成される。関係が不特定の場合は、単位元のみの元を含む。
たとえば二の情報のうち、A が可変であることを示すデータの場合（ここではワイルドカード”*”で表現）は、次の通りとする（あくまで例であり、このままではあらゆるものを B と密関係にあると解釈してしまい、その後新たな情報カテゴリー候補を受け付けなくなるのでワイルドカードに接頭語・接尾語をつけたり、妥当性確認を省略せずに厳格にふるい分けしたりすべきである。正規表現の “(.|\n)*” も同様にあらゆるものとマッチするので要注意）。
【０２３２】
情報カテゴリー候補 B
├(B, B)                (B の単位元)
R(*, B)                (元)
【０２３３】
また二の情報(A, B)が固定で R が不特定の場合は次のとおりとする。
【０２３４】
情報カテゴリー候補 A
├(A, A)                (A の単位元)
情報カテゴリー候補 B
├(B, B)                (B の単位元)
【０２３５】
これにより得られた情報カテゴリー候補はクライアント基盤の作業領域の情報カテゴリー候補リストに情報カテゴリー候補として登録する。
情報カテゴリー候補登録時に情報カテゴリー名の一致する情報カテゴリー候補が既存する場合は既定では置換する（キャンセルにしてもよい）（Ｓ０１５）。
（Ｓ０１４）または（Ｓ０１５）の後に未探索のライブラリがあればそのライブラリに対して（Ｌ００１）のループを繰り返し、未探索のライブラリがなければ（Ｌ００１）のループを終了して本処理を終了する。
なお、図１３は、クライアント基盤機能、ブローカ機能、知識マスター機能各々に対して共通に提供される処理である。
【０２３６】
［３−２−２．情報カテゴリー獲得手段１１５］
情報カテゴリー獲得手段１１５（以下、本処理）は、作業領域の情報カテゴリー候補リストの情報カテゴリー候補をライブラリに複製して情報カテゴリーに昇格させる手段である。
本処理は、クライアント基盤の場合には上記情報構造化手段１１４を行った結果として、ブローカおよび知識マスターの場合には情報カテゴリー連携手段（後述する）を行った結果として、作業領域の情報カテゴリー候補リストに生成された情報カテゴリー候補において、候補可否プロパティ、および生存プロパティが共に ｔｒｕｅ であるものをローカルライブラリに複製して情報カテゴリーに昇格させる（プロパティで制御するのは実装例の一つ）。
情報カテゴリー獲得手段１１５は、クライアント基盤、ブローカ、知識マスターで機能する（ブローカ、知識マスターでは情報カテゴリー獲得手段１１５と情報カテゴリー連携手段１１８とを排他的に使用する）。
なお、本手段は作業手順に近く、各ステップを別々に行っても構わない。
【０２３７】
図１４は、本処理のフローを表わす概念図である。
まず、情報カテゴリー保守手段（後述する）で情報カテゴリーに昇格させたい情報カテゴリー候補の候補可否プロパティ、生存プロパティをともに ｔｒｕｅ に設定する（Ｓ１０１）。
次に、昇格させたい情報カテゴリー候補の配置されている作業領域にある情報カテゴリー候補リストからその作業領域と同じ装置にあるライブラリに候補可否プロパティ、生存プロパティをともに ｔｒｕｅ である情報カテゴリー候補を複製して情報カテゴリーに昇格する（ライブラリに既存する場合は置換する）（Ｓ１０２）。
昇格させた情報カテゴリー候補リストの情報カテゴリー候補は候補可否プロパティを ｆａｌｓｅ にする（これにより毎回置換することを避ける）（Ｓ１０３）。
本処理は、クライアント基盤機能、ブローカ機能、知識マスター機能各々に対して共通に提供される処理である。
【０２３８】
［３−２−３．情報カテゴリー保守手段１１６］
情報カテゴリー保守手段１１６（以下、本処理）は、情報カテゴリーに関する他の手段が、矛盾なく動作できるように保守する手段である。
本処理は、ライブラリの情報カテゴリーあるいは情報カテゴリー候補リストの情報カテゴリー候補内の各種プロパティをオンラインで編集する手段である。
【０２３９】
図１５（ａ）は、本処理のフローを表わす概念図である。
まず、多階層の場合はデータストア（階層、ライブラリまたは作業領域）を選択する（Ｓ２０１）。
次に、情報カテゴリー（ライブラリ内の）または情報カテゴリー候補（作業領域の情報カテゴリー候補リスト内の）を選択する（Ｓ２０２）。
選択した情報カテゴリーまたは情報カテゴリー候補のプロパティを編集する（Ｓ２０３）。
この実施例でのプロパティとしては、図１５（ｂ）のものを想定しているが機能を実現できればこの内容に固執しない。
なお、ここでのプロパティとは、情報カテゴリー（インスタンス）に実装するプロパティのことであって、２．情報カテゴリーで説明したプロパティ名を使った関係のことではない。
本処理は、クライアント基盤機能、ブローカ機能及び知識マスター機能による処理である。
【０２４０】
［３−２−４．情報カテゴリー破棄手段１１７］
情報カテゴリー破棄手段１１７（以下、本処理）は、ライブラリから情報カテゴリーを破棄する手段である。
本処理は、破棄プロパティがｔｒｕｅの情報カテゴリーを自身のライブラリから削除する。
ライブラリでの情報カテゴリーの爆発的増加とそれに伴う探索等の不要な処理を抑制する手段の一つである（情報カテゴリーの一元化および、多階層化もこれらの抑制手段になる）。
なお破棄手段として、データ削除またはデータ不可視化が利用できる。
不可視化してデータを残す場合は、一旦破棄した情報カテゴリーの再登録を回避することに利用できる。
一方、削除は、誤入力によって発生した情報カテゴリー、情報カテゴリー候補の削減のために使用できる。
【０２４１】
図１６は、本処理のフローを表わす概念図である。
まず、情報カテゴリー保守手段で削除したい情報カテゴリーまたは情報カテゴリー候補の破棄プロパティを ｔｒｕｅ に設定する（Ｓ３０１）。
次に、破棄したい情報カテゴリーまたは情報カテゴリー候補の生存プロパティを確認する。
生存プロパティが ｔｒｕｅ の場合はそのまま終了し、ｆａｌｓｅ の場合は次に進む（Ｓ３０２）。
当該の情報カテゴリーまたは情報カテゴリー候補を削除して終了する（Ｓ３０３）。
【０２４２】
［３−２−５．情報カテゴリー連携手段１１８］
情報カテゴリー連携手段１１８（以下、本処理）は、本発明の情報処理装置を図１７のパターン（ａ）, （ｂ）, （ｃ）のように多階層に連携させた場合にハブアンドスポークとして情報カテゴリー、追加・更新されたカテゴリー元、追加された関係、について下層から複製されたものを上層で統合して共有・公開できるようにする手段である（以下、情報カテゴリーの連携手段に限定して説明する。カテゴリー元の場合は元候補リスト、関係の場合は図１１の関係テーブル、を同様にこの連携手段で上層に複製する）。
【０２４３】
各層の役割の主な差分のみを図１７（ｄ）に表す。
図１７のパターン（ａ）は三層にした場合であり、三層以上では中間層をすべてブローカとする。
パターン（ｂ）, （ｃ）は二層にした場合であり、（ｂ）の場合は、ブローカがないので情報カテゴリーの追加が行われず、（ｃ）の場合は、知識マスターがないので情報が公開されない。
なお、単層の場合は、クライアント基盤として機能するものとする。
本処理は、直下の層の一時ライブラリ（ローカルライブラリ、共有ライブラリ）にある情報カテゴリーを自身の作業領域の情報カテゴリー候補リストに情報カテゴリー候補として複製する（直下の層は一つとは限らない）。
【０２４４】
情報カテゴリー獲得手段１１５と同様に、情報カテゴリー候補リストの情報カテゴリー候補を自身のライブラリに新規追加、または既存すれば更新を行う（この際、情報カテゴリー内の元も更新されている）。
情報カテゴリー連携手段１１８は、ブローカ、知識マスターで機能し、作業領域の情報カテゴリー候補リストは情報カテゴリー連携手段１１８で使用する（情報カテゴリー候補リストに登録された情報カテゴリー候補は情報カテゴリー獲得手段１１５でその装置内のライブラリに情報カテゴリーとして昇格される。ブローカ、知識マスターでは情報カテゴリー獲得手段１１５と情報カテゴリー連携手段１１８とを排他的に使用する）。
情報カテゴリー候補リストに複製された情報カテゴリー候補は各情報処理装置の情報カテゴリー獲得手段１１５で情報カテゴリーに昇格する。
【０２４５】
図１８（ａ）は、本処理のフローを表わす概念図である。
以下の説明では、概念図に示される多階層のアーキテクチャは構成済みとし、下位の階層のライブラリの情報カテゴリーを自身の情報処理装置の作業領域の情報カテゴリー候補リストに候補として複製する処理を説明する。
まず、自身に参加している下位の階層のライブラリを全件検索する（Ｓ４０１）。
次に、検索された下位の階層のライブラリに含まれる情報カテゴリーを自身の作業領域の情報カテゴリー候補リストに情報カテゴリー候補として複製する（Ｓ４０２）。
複製された情報カテゴリー候補の候補可否プロパティを ｆａｌｓｅ、生存プロパティを ｔｒｕｅ に設定する。
但し、自身のライブラリに情報カテゴリー候補と同一名の情報カテゴリー候補がある場合は、生存プロパティを ｆａｌｓｅ にしてもよい（Ｓ４０３）。
知識マスターでは、複製された情報カテゴリー候補の公開プロパティを ｔｒｕｅ にする。
本処理は、ブローカ機能、知識マスター機能各々に対して共通に提供される処理である。
なお、情報カテゴリー獲得手段、情報カテゴリー連携手段の情報カテゴリーのデータフローを図１８（ｂ）に示す。
【０２４６】
［４．効果］
本実施形態の情報処理装置が備える情報カテゴリーに含まれる元は、客観性を持つ構造化情報である。
元に含まれる関係は数学などで厳格に定義される客観的な二項関係で二の情報間の関係を表すために用いられる。
本実施形態の情報処理装置が備える情報カテゴリーと探索は、以下のモノイドの性質を持つ。
情報カテゴリーは元を持ち、必ず一つの単位元を持つ（探索の単位元）。
探索は、密関係・疎関係が確定すると終了する。
終端記号では密関係・疎関係を直ちに決定し、非終端記号では可変部分に代入を行ったうえで密関係・疎関係を判定する。
探索で密関係・疎関係が確定しない場合と、元に含まれる関係に推移律がある場合と、は探索中の元に代入を行ったものを新たな探索対象として再帰的に探索する（探索の結合法則）。
単位元を探索すると強制的に密関係・疎関係を確定して終了する。
探索は、情報カテゴリーに依存せず共通であり、元毎に探索から呼び出される妥当性確認で元毎の照合判定をカスタマイズできる。
【０２４７】
本実施形態の情報処理装置等は、互いに客観的に関係ある情報の集まりを構成することができる。
探索は、客観的に記述された構造化情報間の演算である。
再帰的な探索は、関係の規則に基づくため、客観性を失わずに蓄積する。
すなわち、本実施形態の情報処理装置等は、情報とその間の関係という基本的な構造化情報として入力することで関連する情報を手繰り、さらに構造化された情報（情報の木、情報の森）として表わすことができる。
【０２４８】
本実施形態の情報処理装置は、入力情報および探索された元の集まりの自己成長の結果として情報の木を、情報の木の集まりとして情報の森を生成することができる。
それに加えて、本実施形態の情報処理装置は、入力情報と全情報カテゴリーのすべての元との関係の有無を調べ、疎関係（関係がない）場合には、その入力情報を新しい情報カテゴリーとして、獲得し、自己成長することができる。
【０２４９】
通常の製品開発においては、リポジトリ（仕様ライブラリ、開発資産）に開発に用いるデータや情報等が体系化されて保管されているにしても、その体系は、その開発部門に固有の定義によるものであった。
そのため、ある開発部門と他の開発部門との間で情報等を共通に利用するためには、共有するための手段を別に設けることが必要で、そのままでは共通に利用することはできないという課題がある。
【０２５０】
本実施形態の情報処理装置は、情報間の関係を探索という演算に置き換え、情報間の関係が成立するかという客観的な基準で求め、ある情報カテゴリーに属する元に含まれる情報間の関係として成立する場合に、その情報カテゴリーと密関係にあるとする。
また、ある情報カテゴリーに属する元に含まれる情報間の関係が成立しない場合に、その情報についてはその情報カテゴリーとは疎関係にあり、異なる情報カテゴリーに属する情報とする（すべての情報カテゴリーと疎関係にある場合は、自動的に新たな情報カテゴリーとする）。
【０２５１】
本実施形態の情報処理装置により、関係の有無により客観的に構造化された情報により、表現や解釈に揺れのないリポジトリの構築が可能となる。
一元化・一意化された構造化情報に加えて、多様な利活用機能との連携および、多階層化時の公開により、異なる業種や職種であっても、情報を共有することが可能になり、利便性が向上する。
【０２５２】
本実施形態の情報処理装置を用いることにより、異業種、異職種リポジトリとして、埋没しがちな価値観の情報抽出し、同じような言葉、概念、作業が異業種間、異職種間である場合、同一であるか別物であるかを識別する。
これにより、シームレスな事業基盤の提供が可能になる、さらに、一元化すべき情報（規格や物理法則など）の共有による調査、決定の作業一元化と情報共有が可能になる。
以上でのリポジトリでの活用は一元化・一意化の効果の説明のための補足的な例であるが、続く実施例３では、開発資産への実際の活用について説明する。
【実施例３】
【０２５３】
＜第三実施形態＞
本実施形態は、第二実施形態の情報処理装置等の利活用（利用又は活用）についての実施形態である。
図１９は、第二実施形態の情報処理装置００１の機能と、それを利活用するシステムの機能との構成とデータフローを表わした概念図である。
なお、以下においては、第二実施形態の情報処理装置００１の機能を「本機能」と、それを利活用するシステムの機能を「利活用機能」と、それぞれいうことにする。
利活用機能から本機能へは、出力情報を要求するための、入力情報、情報の構造化を行う上での判断基準である関係、その他の情報が与えられる。
本機能は、与えられた関係を用いて、入力情報から、情報カテゴリーや元を生成し、あるいは、知識を獲得すると同時に、入力情報を構造化し、情報の木や情報の森といった構造化された情報を出力する。
出力された情報が利活用機能に対して出力される場合もある。
利活用機能には以下が含まれる。
【０２５４】
・利活用機能からの要求に対する、本機能による出力情報を利活用する機能
・利活用機能と本機能との間に介在し、情報間の関係を、利活用機能から本機能への要求前に事前に解析し、或いは、本機能による出力情報を利活用機能で扱いやすい形式に変換する機能
【０２５５】
本機能は、あらかじめ情報間の関係が整理や整形された項目を、異なる下位基盤の情報体系の間で統合していくことで、より抽象度の高い普遍化された情報を二次的に生成していくことに応用することができる。
これにより、特に要求されずに、業種間や職種間を横断した情報間の階層的関係を導出していくことができる。
一方で、情報間の関係そのものの整理や整形については、本機能においては対象としない。
そのため、利活用機能が、関係について整理や整形して本機能へ入力するか、利活用機が整理や整形が可能な方式（正規表現、Ｐｒｏｌｏｇの利用、テキスト含意分析など）により事前に整理や整形を行っておく必要がある場合がある。
以下においては、本機能により作成した情報の木や情報の森などの利活用機能による利活用の例や、本機能の機能と利活用機能との連携について具体的に説明する。
【０２５６】
［１．ＳＥＯ適正化への利活用］
ＳＥＯ（Ｓｅａｒｃｈ Ｅｎｇｉｎｅ Ｏｐｔｉｍｉｚｅｒ、検索エンジン最適化）は、検索エンジンでのヒット性をよくする手法である。
検索エンジンの代表的な手法、登録されたＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）にクローラがアクセスして、ＵＲＩに登録されているオブジェクト(アクセス可能なすべてのファイルやその中のキーワード)を取得してデータベースにインデックス化し、利用者が検索する際にはそのインデックス化されたデータベースを検索して応答している。
そこで、ＳＥＯでは検索やインデックスで、優位になる手法がとられる。
結果としてヒット性の数値だけで検索されるようになり、このようなＳＥＯ対策をとっていないインターネットの情報源は、過剰にアクセス性が低下してしまい、ＳＥＯ対策済みの情報源の間では均衡状態になって、対策をしただけの効果が見込めない、という課題などがある。
【０２５７】
分野が異なっても、同じ用語で検索されるとこの対策の効果で優位な方が分野に関係なく優先されるため意図した検索ができなくなる。
これは、検索する側にとっても、情報提供側にとっても適切なマッチングを阻害しているという意味で不利益となっている。
さらに、近年のビッグデータやインターネットでの機械学習、深層学習ベースでのＡＩは検索エンジンをベースにしているため、不適切な判断を導く可能性がある。
検索キーワードに対して、分野などの情報が提供できればこのような不利益・不適切な判断の削減が期待できることになる（偶発的な発見の機会も減るが、適切なデータの絞り込みで統計データの信頼性も向上する）。
また、検索において検索キーワードの区切りは通常、演算子ＯＲが省略されたものとみなす。
これは、情報提供サイト側の都合によるものだが、この仕組みだけでは、情報提供側からの一方的な情報提供により、検索結果の情報の肥大化が進みやすく、しかも検索時の意図とは異なるという側面がある。
そのために、利用者側のニーズとは必ずしも一致しない場合が多い。
情報提供サイト側についてはＳＥＯ対策を行えばよいため、利用者側で優先順だけではない絞込み機能の提供が必要ということになる。
本機能を併用することで、検索式を自動合成し、適切な絞り込みを行わせる工夫ができる。
情報の木すなわち情報の木を構成する元同士が密関係である場合には、準同型写像 Ｔ を用いて、演算・をＡＮＤ演算に置き換えることができる。
【０２５８】
（式３０）    Ｔ（元１・元２）＝ＡＮＤ{ Ｔ（元１）, Ｔ（元２） }
【０２５９】
一方、情報の森すなわち複数の情報の木は情報の木間のＯＲ演算とする。
【０２６０】
（式３１）    Ｔ（｛情報の木１, 情報の木２, …, 情報の木ｎ｝）＝ＯＲ｛Ｔ（情報の木１）, Ｔ（情報の木２）, …, Ｔ（情報の木ｎ）｝
【０２６１】
情報の木 Ｍ の元 Ｎ を元（Ｍ,Ｎ） と表すと、前記二式は以下に表現できる。
【０２６２】
（式３２）    Ｔ（｛情報の木１, 情報の木２, …, 情報の木ｎ｝）＝ＯＲ｛ＡＮＤ{Ｔ（元（１，１））, Ｔ（元（１，２））, …, Ｔ（元（１,Ｎ１））}, …, ＡＮＤ{ Ｔ（元（Ｍ，１））, …, Ｔ（元（Ｍ,ＮＭ））}｝
【０２６３】
検索結果の情報が膨大であっても、利用者に十分な知識があれば、検索結果から必要な情報のみを選択することができる。
しかしながら、ＳＥＯにより検索を行おうとする利用者は、検索により調査をしたいという目的で検索を行うのだから、前記の選択をするには（あるいはそもそも適切な検索キーワードを入力するには）、事前には十分な知識がないことが想定される。
本機能を適用することにより、検索結果の情報を、適切に絞り込むために必要な情報が補完され、検索による新しい知識の獲得が容易になる。
例えば、インターネットの検索エンジンで”東京 緯度”と検索する場合を考える。
その検索前に、本機能により、”東京”・”日本”という情報の木と、”緯度”・”地理座標”という情報の木とからなる情報の森が生成されたとする。
この場合には、東京ＡＮＤ日本ＯＲ緯度ＡＮＤ地理座標と事前に変換して検索を行うことができる。
一方、符号、座標等の情報は、各々の体系から導ける（生成できる）ので、データ一つ一つを元として保持しせずに生成系や正規表現・ワイルドカード等を使うことで、情報カテゴリー数の肥大化を軽減できる。
【０２６４】
図１９は、ブラウザ４０２（あるいはそのプラグイン）を利活用機能として連携した第二実施形態において説明した情報処理装置００１の構成を表わす概念図である。
ブラウザ４０２は、情報処理装置００１に検索キーワードをベースとして探索を要求する。
ここでの探索は、インターネットへの検索ではなく、インターネットへの検索のためのキーワードや条件を補完することを目的としたクライアントサイドでの辞書的な検索である。
情報処理装置００１にはブラウザ４０２から構造化された入力情報が入力され、情報処理装置００１からは情報が追加され、更に構造化された構造化情報（情報の木、情報の森）がブラウザ４０２に提供される。
検索エンジン４０１は、ブラウザ４０２からインターネットへの検索を受けると、これまでの構成、仕組み、資産を変えることなく、その検索条件により検索を行い、その検索結果を出力することができる（情報処理装置００１側も構成、仕組みに変更はなく情報カテゴリーでカスタマイズされていく）。
【０２６５】
［２．クラスター分析への利活用］
ビッグデータなどで用いられるクラスター分析においては、分析対象の多変量の個体が仮想的な多次元空間に存在する。
クラスターは多次元空間のデータをルールに基づき近接するものをグループ化する分析手法でそのルールは階層型もしくは非階層型に大別される。
階層型も非階層型も、その空間での個体間の距離を定義し、さらにクラスタリングするか別のクラスター（Ｃｉ）として分離するかなどを決定する。
【０２６６】
（式３３a）全データの集合 ＝ ∪ Ｃｉ                (０ ≦ ｉ)
（式３３b）Ｃｉ ∩ Ｃｊ ＝ φ                      (ｉ ≠ ｊ)
【０２６７】
（式３３a）および（式３３b）は（式４a）および（式４b）と同一であり、クラスタリングを類別とみなすことができる。
非階層型クラスターは、クラスターを排他的に分離することだけを目的として分類する。
階層型クラスターは、クラスターを排他的な分離に加え、上位階層での包含する枠組みとして規定し、包含関係がトーナメントの木構造になるようにすべてのデータを分類する。
【０２６８】
［その１：クラスターの情報カテゴリー化］
本発明の情報処理装置では、クラスター毎に情報カテゴリーを設けてクラスター間の包含関係と、クラスターに分類されるデータの所属関係とを元として登録すればよいことになる。
非階層型クラスターの場合は、クラスターを排他的に分離するだけなので各クラスターを、その代表点を代表元とする同値類とみなすことができ、データの各クラスターを表す同値類への所属関係を表す元、および、同値類の包含関係を表す元またはその同値類の代表元の所属関係を表す元とを単一の情報カテゴリーに登録すればよいことになる。
階層型も非階層型も、距離の測定とクラスター所属の閾値は妥当性確認で処理すればよく、かつ、妥当性確認を利活用機能に任せることで強力に連携することができる。
本機能を応用したクラスタリング方法として、本機能により作成した情報の木をクラスター内、情報の森を複数のクラスターの共存する状態として位置付けるとする。
単一の情報から、複数の情報の木が生成される場合、各情報の木を一つの次元と考えることで、情報が複数の次元の成分を持つものとしてとらえることができる。
これをもとにクラスタリングや多次元データベースを機械的に構成していくことができる。
これにより、クラスター分析の分析結果から主観の影響を排除することができる。
【０２６９】
図２０は、クラスター分析機能を利活用機能として連携した第二実施形態の情報処理装置００１の構成を表わす概念図である。
図２０の情報処理装置００１は、クラスター分析機能４１１からデータをもとに分類すべきクラスターを探索する用途を示したものである。
情報処理装置００１は、クラスター分析装置４１１から入力された情報を、探索する。
探索後、密関係にある情報カテゴリーあるいはその中の同値類をクラスターとしてクラスター分析装置４１１に出力する。
【０２７０】
［その２：情報カテゴリーに基づくサンプリング］
本発明の情報処理装置において関係の定義にクラスター分析を利用したり、本発明の情報処理装置をクラスター分析に利用したりすることも考えられる。
クラスター分析は多次元空間、すなわち、採取するデータの測定項目の決定あるいは閾値の決定は現状、人間系で行われており、任意の情報を扱う決定論的な分析手法としては結果に主観が影響し、自動化も難しいという課題がある。
たとえば、情報カテゴリーの様々な元をクラスタリングしたいデータ指標にしたり、所属関係、包含関係を示す元をクラスタリングの指標にしたりするということが考えられる。
また、統計情報などから閾値を定め、閾値よりも小さな距離にあるものを同一クラスターにあるとみなし（内的結合）、大きな距離にあるものを別のクラスターにあるとみなす（外的分離）ことで人間系を排除し、処理を自動化することも可能になる。
【０２７１】
図２１は、クラスター分析機能を利活用機能として連携した第二実施形態の情報処理装置００１の構成を表わす概念図である。
図２１の情報処理装置００１は、クラスター分析機能４１１からクラスター分析時に行った分類ルールをもとに探索を要求し、分類ルールを情報カテゴリーやその元として登録（定着化）することでクラスター分析機能での再利用可能な分類ルールを提供する用途を示したものである。
探索に際して、クラスター分析機能を妥当性確認として利用することで密な連携ができる。
クラスター分析機能を妥当性確認として利用する用途として、たとえば、クラスターの中心位置や境界とする距離の閾値設定（元毎に変えることができる）等が考えられる。
分析ルールを情報カテゴリーとして定着させることで、［その１］で示したクラスター分析を包含することができ、再利用、あるいは動的なクラスター分析への活用が期待できる。
【０２７２】
［３．ソースコード解析（リバースエンジニアリング）への利活用］
プログラミング言語やプロトコルは、ＢＮＦ(ＥＢＮＦ、ＡＢＮＦ)などのメタ言語を利用して定義することができる。
ここで、ＢＮＦはＢａｃｋｕＳ-Ｎａｕｒ  Ｆｏｒｍ(または ＢａｃｋｕＳ  Ｎｏｒｍａｌ  Ｆｏｒｍ)、ＥＢＮＦはＥｘｔｅｎｄｅｄ  ＢａｃｋｕＳ-Ｎａｕｒ  Ｆｏｒｍである。
また、ＡＢＮＦはＡｕｇｍｅｎｔｅｄ  ＢａｃｋｕＳ-Ｎａｕｒ  ｆｏｒｍである。
そこで、プログラミング言語やプロトコルのメタ言語の定義を情報カテゴリーの元として実装し、解析したいソースコードを入力情報として入力することができる。
これによりソースの構造や統計情報などを取得することができる。
【０２７３】
図２２は、メタ言語であるＥＢＮＦによりあるプログラミング言語（図２２以降では仮にＸＸ言語としている）の定義を表わした概念図である。
図２３は、図２２を情報カテゴリーに近い数学的な関係式で表現した図である。
図２４は、図２３を情報カテゴリーで表わした表の概念図である。
この情報カテゴリーの概念的な式は次のとおりである（厳格には字句解析に正規表現を使用するべきである。またＥＢＮＦでの ＝ 関係を通常の等号と区別するため、ＥＢＮＦ＝ と表現している）。
【０２７４】
図２５は、あるソースを表わす概念図である。
図２６は、図２５のソースを図２４に表わしたＥＢＮＦの定義の情報カテゴリーを用いて、情報カテゴリーの形式で解析した結果を表わした例の図である(この図は例えば探索応答でログ出力などすることで得ることができる)。
図２７（ａ）は図２５のソースから図２６の出力結果を得るための利活用機能との連携について、図２（ａ）の利活用機能としてソース解析ツール４２１を割り当て、データの内容や流れを示した実施例である。
この実施例では、メタ言語の言語定義情報カテゴリー４２３を触媒的に利用してソースからその解析結果を情報の木および新たな情報カテゴリー４２４として生成している（特別な仕組みは必要としない）。
この実施例特有の機能というわけではない（本実施例を使わなくても実現できる）が、言語定義情報カテゴリー４２３を多様なプログラミング言語分を用意し、切り替えることで単一のツールで多様なプログラミング言語の解析が行えることも想定できる。
【０２７５】
［４．利活用機能を利用したメタ言語定義獲得］
前記３．ソースコード解析への利活用では、言語定義が予め情報カテゴリーとして与えられていて、それをもとに当該言語で書かれていた言語ソースの解析に利活用する例を示した。
ソースコード解析の実施例を実現するには、事前に言語定義情報カテゴリー４２３を用意しておく必要がある。
図２７（ｂ）は言語定義ソースから言語定義情報カテゴリーを得るための利活用機能との連携について、図２（ａ）の利活用機能としてメタ言語プロセッサを割り当て、データの内容や流れを示した実施例である。
【０２７６】
メタ言語プロセッサ４２５と連携させることで、メタ言語定義ソース４２６から言語定義情報カテゴリー４２３を得る（自然言語解析に応用すれば語学学習を支援する機能として利用できる）。
まず、プログラミング言語名で探索を要求し、見つからずに固有の情報カテゴリー候補が作成されることを利用する。
メタ言語プロセッサ４２５でＥＢＮＦのメタ言語定義ソース４２６の一文（シンボル＝シンボルで構成される式）を入力情報（ＥＢＮＦ＝（シンボル， シンボルで構成される式））として探索を要求する。
探索で疎結合となったら、情報カテゴリー候補を作成せずに情報カテゴリー候補の元候補として先の入力情報をベースとした式を持つ元候補を登録する。
情報カテゴリー候補を昇格させ、昇格させた言語定義情報カテゴリー４２３に元候補をすべて登録すれば言語定義情報カテゴリー４２３は完成する。
この実施例でも、メタ言語による言語定義ソース４２６から情報カテゴリー４２３を生成しただけである（特別な仕組みは必要としない）。
【０２７７】
［５．ソースコード自動生成支援（フォワードエンジニアリング）への利活用］
前記[３．ソースコード解析への利活用]での解析とは逆方向の視点で、ソースの生成に任意の情報カテゴリーを利用することができる。
情報カテゴリーからソースを生成する方法について説明する（いずれか選択できるため図示はしないがＥＢＮＦのメタ言語定義または言語定義情報カテゴリーを変換ルールとして再び利用する。これらの言語定義の選択については後述する）。
例えばＣ＃言語で記述した各行は図２９に表わしたソースに変換することができる。
図２７（ｃ）は利活用機能との連携について、図２（ａ）の利活用機能としてソース生成ツールを割り当て、情報カテゴリーからソースを生成する際のデータの内容や流れを示した実施例である。
【０２７８】
図２８に表わした表の意図について説明する。
この図の表では生成後のソースの構成要素を明確にするため、あえて具体的な情報文字列ではなく、変数名、クラス名などと表記している。
４行目に表わした、クラス名２、⊂、クラス名３からなる元から クラス名２⊂クラス名３ という関係があることになる。
クラスは集合を排他的に分割した部分集合なので、二つのクラスに包含関係⊂があるということは分割のレベルが異なるからということになる。
関係に着目するとこの元は以下の継承に相当する。
【０２７９】
class クラス名2 : クラス名3 {
}
【０２８０】
クラス２はクラス３を継承していて、すなわちクラス３の部分集合となっている(サブクラス⊂クラス)。
ここで、｛｝でくくった範囲はブロックである。
３行目に表わした、変数名、∈、クラス名１からなる元から 変数名∈クラス名１ という関係があることになる。
関係に着目するとこの元は以下のインスタンス化に相当する。
【０２８１】
ｐｕｂｌｉｃ クラス名１  変数名＝ｎｅｗ  クラス名１（）；／／∈ 関係
【０２８２】
最初のクラス名１はデータ型を意味し、次のクラス名１はコンストラクタを意味する（インスタンス∈クラス、ここでは、変数名∈クラス名１）。
コンストラクタというのは、インスタンス化（プログラムが実行されてクラスが初めてメモリ上に構築されること）された時に最初に無条件に呼び出される処理である。
このような情報カテゴリーの関係に着目して変換（対応付け）していくことで、図２９のソースを得ることができる。
ここで図２９の一番外側（クラスの継承の横に出てくる）の｛｝がクラスの範囲を示すブロックある。
クラス名１の中で変数名が存在していることになるため、そうなるように自動生成している。
この処理の中で妥当性確認処理列に登録された静的（ｓｔａｔｉｃ）な処理がメソッド1としてインスタンス化する前に呼び出して事前チェックしてからインスタンス化するようにソースコードの一部が自動生成できる（別な手段としてインスタンス化した後に無効なインスタンスとして管理してもよい）。
探索応答については、図２８からは判断できないが、利活用機能側で実装する必要があるため、生成されるソースに直接実装する必要はない（但し、利活用機能の探索応答の登録有無の確認と、登録されていた場合のコンストラクタなどからのコールバックする処理と、は必要になる）。
なお、変換（対応付け）のルールについては、言語定義情報カテゴリー４２３を利用してもよいし、利活用機能であるソース生成ツール４２７側で実装しても構わないことになる。
この実施例でも、既存の情報カテゴリー４２９で探索結果（情報の木および情報の森）を変換ルールで変換してソース４２８を生成するだけである（特別な仕組みは必要としない）。
変換（対応付け）を他の言語に変えれば他のプログラミング言語でもソース生成ができる（つまりリポジトリとして活用できる）。
【０２８３】
関係で記述されているため、手続き型言語には向かないケースもありうる。
そこでＰｒｏｌｏｇおよびＯＷＬでの変換の規則について図３０（ａ），  （ｂ）に各々一例を示した。
Ｐｒｏｌｏｇは探索要求の発行元だけでなく、妥当性確認の処理の主体として利活用ができ、かつ長い歴史で生まれた資産との相互運用として活用していくことが期待できる。
ＯＷＬは、元来インターネット上のいろいろな資産の意味づけ的な役割があり、本発明の情報処理装置で得た情報と相互運用することでＩｏＴを支える基盤の一つとして期待することができる。
以上により、利活用機能との連携で、プログラミング言語との相互運用が可能であることが示せた。
【０２８４】
［６．効果］
本実施形態の情報処理装置００１は、各利活用において特別な追加の実装を行うことなく、説明したそれぞれの効果を奏する。
すなわち、１．ＳＥＯでの検索式自動生成方法への利活用、においては、未入力の検索キーワードを補完し、かつＳＥＯによる検索結果の情報が、不必要に膨大になるのを防ぐことができる。
また、２．クラスター分析への利活用、その１、においては、クラスター分析の分析結果をもとにした主観の影響を排除した情報カテゴリーあるいは元を生成することができる。
また、同、その２、においては、クラスター分析に直接参加させることで主観の排除された信頼性の高い構造化情報を得ることができる。
また、３．ソースコード解析（リバースエンジニアリング）への利活用、においては、ソースコード解析が行える。
【０２８５】
４．利活用機能を利用したメタ言語定義獲得、においては、言語の辞書化に関する利活用が行え、語学学習支援あるいはソースコード解析およびソースコード自動生成支援でさらなる利活用ができる。
５．ソースコード自動生成支援（フォワードエンジニアリング）への利活用、においては、ソースコード生成への利活用が行える。
ソースコード解析とソースコード生成の循環系の一部を担うことができる。
また、ソースコード解析、ソースコード自動生成は言語定義を切り替えることで、他の言語のソースコード解析、ソースコード自動生成が可能である。
以上のように、好ましい実施形態をあげて本発明を説明したが、本発明は必ずしも上記実施形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記述され得るが、当然に、以下に限定されるものではない。
【０２８６】
（付記Ａ１）＜アーキテクチャとデータ構造＞
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が実装され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、
データストアと、データ処理エンジンと、データ保守エンジンとを備える情報処理装置。
【０２８７】
（付記Ａ２）＜構造化された入力情報、評価対象情報＞
入力情報（後述する）が、情報の集まり（後述する）から抽出し、一つまたは二つの情報からなる文字列とその間の関係とで構造化された（構造、様式、条件を持たせた）情報（一の情報があれば、関係及び二の情報は必要としない）であり、
入力情報を初期の評価対象情報（後述する）とする、
付記Ａ１に記載された情報処理装置。
【０２８８】
（付記Ａ３）＜情報カテゴリー＞
前記モノイドの集合要素の元の二の情報あるいは関係に値を割り当てたものを情報カテゴリー（後述する）とし、情報カテゴリー間の関係はいずれかの情報カテゴリーの元として実装されて直接的には元を共有しない、
付記Ａ１に記載された情報処理装置。
【０２８９】
（付記Ａ４）＜元候補＞
前記入力情報と、前記情報カテゴリーの元に含まれる前記二の情報のうちの一の情報とが前記関係にあるかを判定し、
前記情報カテゴリーに含まれるいずれかの元に含まれる二の情報のうちの少なくとも一の情報と、
前記関係があると判定された場合に、前記入力情報と、前記入力情報と前記関係がある前記一の情報と、
前記入力情報と前記一の情報との前記関係と、を備える複合情報を作成し、
作成したものを元の候補としてそのデータストアに追加する、
付記Ａ１に記載された情報処理装置。
【０２９０】
（付記Ａ５）＜情報カテゴリー候補＞
前記入力情報が、前記情報カテゴリーに含まれるいずれの元に含まれる二の情報のうちのいずれの情報とも、前記関係があると判定されなかった場合に、
その判定されなかった前記入力情報の備える情報と既定の関係とを単位元（後述する）として備える新たな情報カテゴリーの候補としてそのデータストアに追加する、
付記Ａ１に記載された情報処理装置。
【０２９１】
（付記Ａ６）＜探索と組み込み関係との対応付け＞
三つの関係（証明可能（├）, 包含関係（⊂）, 所属関係（∈））を組み込み、探索（後述する）を前記モノイド共通の演算要素と位置付け、三つの関係に各々、探索での機能や役割（探索の終了条件、情報カテゴリー内探索（後述する）、情報カテゴリー間探索（後述する））を持たせ、
初期状態では指定された関係があればその関係を、なければ ∈ 関係を設定した入力情報（後述する）をライブラリ（後述する）に対して探索を開始し、
ライブラリに含まれる情報カテゴリーの元との照合を行い、
探索の結果として、密関係・疎関係・未確定のいずれかを返す、
付記Ａ１から付記Ａ５のいずれか１つの付記に記載された情報処理装置。
【０２９２】
（付記Ａ７）＜探索、情報評価・妥当性確認＞
探索を定められた条件（後述する）によりモノイドの演算として機能させ、探索の中で評価対象情報と情報カテゴリーの元との間で情報の文字列としての照合を行う情報評価（後述する）と、情報の範囲や構造に関する検証を行う妥当性確認（後述する）と、を行う、
付記Ａ６に記載された情報処理装置。
【０２９３】
（付記Ａ８）＜単位元＞
付記Ａ５において、証明可能（├）を関係とし情報カテゴリー名（後述する）を二の情報各々の値とする式を単位元（前記モノイドの単位元要素）とする、
付記Ａ５から付記Ａ７のいずれか１つの付記に記載された情報処理装置。
【０２９４】
（付記Ａ９）＜導出原理：密関係・疎関係・未確定、終了条件１＞
情報評価においては、成否または未確定を返し、情報の文字列が終端記号（後述する）または単位元（後述する）である場合は成否を返し（一致の場合に成）、情報の文字列が非終端記号（後述する）でのマッチングである場合に未確定（マッチの場合）または否（アンマッチの場合）とし、
妥当性確認においては、情報の変域・値域チェックや書式・構造チェック等で受理される場合は成とし、不受理の場合は否とし、
さらに、情報評価が成で妥当性確認も成である場合に密関係を返し、いずれかが否である場合に疎関係を返し、いずれでも成否が確定しない場合に未確定を返し、
情報評価が密関係または疎関係である場合に探索を終了する、
付記Ａ４乃至付記Ａ５のいずれか１つの付記に記載された判定方式を持つ付記Ａ８に記載された情報処理装置。
【０２９５】
（付記Ａ１０）＜再帰的探索、評価対象情報、終了条件２＞
情報評価が未確定である場合にその元に対して本発明で限定する代入を施したものを新たな評価対象情報として生成することで再帰的に探索（後述する）を密関係・疎関係が確定するまで行い、
その結果が密関係である場合は再帰前の未確定な情報評価を成とし、疎関係である場合は再帰前の未確定な情報評価を否とし、
その再帰的な探索の過程を保持するデータ処理エンジンをさらに備える、
付記Ａ９に記載された情報処理装置。
【０２９６】
（付記Ａ１１）＜再帰的探索詳細（推移関係）＞
推移律の定義された関係（⊂ 等）について、再び同関係により再帰的な情報カテゴリー内探索、または情報カテゴリー間探索を行う機能を持たせた、
付記Ａ１０に記載された情報処理装置。
付記Ａ２に記載された判定方式を持つ付記Ａ６に記載された情報処理装置。
【０２９７】
（付記Ａ１２）＜再帰的探索詳細（生成系）＞
生成系を利用することで入力情報そのものの情報カテゴリー候補リストや元候補リストへの登録、再起検索を回避する機能を持たせた、
付記Ａ１０に記載された情報処理装置。
【０２９８】
（付記Ａ１３）＜階層化（共有・公開）、階層間連携、各層の役割＞
本発明の情報処理装置を複数束ねて二階層以上のハブアンドスポークの各ノードとして役割分担して連携させることで、
複数の下層の情報カテゴリー候補、元候補、関係の共有（後述する）と公開（後述する）を促進させ、
同時に、共有による情報カテゴリー候補、元候補、関係の見直し機会の提供する、
付記Ａ６から付記Ａ１２のいずれか１つの付記に記載された情報処理装置。
【０２９９】
（付記Ａ１４）＜応用原理：探索・探索応答での利活用機能の参加＞
利活用機能に本発明の情報処理装置の探索、探索応答（後述する）の処理に参加させる機能を持たせた、
付記Ａ６から付記Ａ１２のいずれか１つの付記に記載された情報処理装置。
【０３００】
（付記Ａ１５）＜応用原理：情報の木・情報の森＞
探索の結果または探索応答から入力情報に関連する新たな構造化された情報の集まりとして、情報の木（後述する）および情報の森（後述する）を作成し提供する、
付記Ａ１４に記載された情報処理装置。
【０３０１】
（付記Ａ１６）＜応用：クラスター分析＞
クラスター分析機能でクラスタリング解析を行い、
クラスター分析装置から得られるクラスター分析ルールのデータストアとして情報カテゴリーを利用する、
付記Ａ１５に記載された情報処理装置。
【０３０２】
（付記Ａ１７）＜応用：クラスター分析支援＞
クラスター分析機能と連携し、
付記Ａ１６で得られた情報カテゴリーのクラスター分析ルールを用いてクラスタリング解析を行い、
クラスター分析機能を支援する、
付記Ａ１４に記載された情報処理装置。
【０３０３】
（付記Ａ１８）＜応用：メタ言語解析＞
あるソフトウェアのメタ言語の定義及びそのソフトウェアのソースコード、から抽出した情報、を前記入力情報とし、
前記モノイドを表わす情報の出力をする、
付記Ａ１４に記載された情報処理装置。
【０３０４】
（付記Ａ１９）＜応用：ソース生成＞
入力された前記モノイドを表わす情報からソースコードを自動生成するソースコード自動生成支援装置をさらに備える、
付記Ａ１５に記載された情報処理装置。
【０３０５】
（付記Ｂ１）＜アーキテクチャとデータ構造＞
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が定義され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、情報処理方法。
【０３０６】
（付記Ｃ１）＜アーキテクチャとデータ構造＞
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が定義され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、
データ処理エンジンとして表わす処理をコンピュータに実行させる情報処理プログラム。
【産業上の利用可能性】
【０３０７】
本発明の活用例として、「発明を実施するための形態」あるいは「実施例」での利用が考えられる。
また実施形態、実施例などをさらに応用して、ＡＩの学習機能のナレッジベース、ＯＷＬとの連携によるＩｏＴデバイスの名前解決等としての活用などが考えられる。
ＡＩの学習機能のナレッジベースでは、必要となる知識情報処理を一部担うことができると予想される（共通ルール的な部分の知識情報処理は残し、獲得する知識を本情報処理装置に担わせる）。
ＩｏＴデバイスは、オントロジーを使ってＷｅｂ上に存在するもの（デバイス、データなど）に名前付けや関係に基づく相互の関連性を本発明の情報処理装置と連携させることで辞書化を担うことができると予想される。
【符号の説明】
【０３０８】
００１    情報処理装置
００２    利活用機能
００３    形態素解析（利活用機能の代表的な例として）
１０１    データ処理エンジン
１０２    データ保守エンジン
１０３    データストア
１０４    探索
１０５    探索応答
１０６    ライブラリ
１０７    作業領域
１０８    情報カテゴリー
１０９    情報カテゴリー候補リスト
１１０    元候補リスト
１１１    情報カテゴリー間探索
１１２    情報カテゴリー内探索
１１３    妥当性確認
１１４    情報構造化手段
１１５    情報カテゴリー獲得手段
１１６    情報カテゴリー保守手段
１１７    情報カテゴリー破棄手段
１１８    情報カテゴリー連携手段
１２１    式
１２２    関係
１２３    一の情報（情報文字列）
１２４    二の情報（情報文字列）
１２５    入力情報（式）
１２６    元
１３０    情報の木
１３１    情報の木の分岐点
１３２    照合された元の式（式）
１３３    元の式への代入（式）
１３４    情報の森
１３５    評価対象スタック
１３６    評価対象情報
３０１    知識マスター
３０２    知識ライブラリ
３０３    ブローカ
３０４    共有ライブラリ
３０５    クライアント基盤
３０６    ローカルライブラリ
４０１    検索エンジン
４０２    ブラウザ（利活用機能）
４０３    情報カテゴリー
４１１    クラスター分析機能（利活用機能）
４１２    データ
４１３    情報カテゴリー
４２１    ソース解析ツール（利活用機能）
４２２    XX 言語で書かれたソース
４２３    XX 言語定義情報カテゴリー
４２４    ソース解析結果情報カテゴリー
４２５    メタ言語プロセッサ（利活用機能）
４２６    XX 言語定義ソース
４２７    ソース生成ツール
４２８    XX 言語で書かれたソース
４２９    設計情報カテゴリー
【図１】
2018060406.tif 000003
【図２】
2018060406.tif 000004
【図３】
2018060406.tif 000005
【図４】
2018060406.tif 000006
【図５】
2018060406.tif 000007
【図６】
2018060406.tif 000008
【図７】
2018060406.tif 000009
【図８】
2018060406.tif 000010
【図９】
2018060406.tif 000011
【図１０】
2018060406.tif 000012
【図１１】
2018060406.tif 000013
【図１２】
2018060406.tif 000014
【図１３】
2018060406.tif 000015
【図１４】
2018060406.tif 000016
【図１５】
2018060406.tif 000017
【図１６】
2018060406.tif 000018
【図１７】
2018060406.tif 000019
【図１８】
2018060406.tif 000020
【図１９】
2018060406.tif 000021
【図２０】
2018060406.tif 000022
【図２１】
2018060406.tif 000023
【図２２】
2018060406.tif 000024
【図２３】
2018060406.tif 000025
【図２４】
2018060406.tif 000026
【図２５】
2018060406.tif 000027
【図２６】
2018060406.tif 000028
【図２７】
2018060406.tif 000029
【図２８】
2018060406.tif 000030
【図２９】
2018060406.tif 000031
【図３０】
2018060406.tif 000032