JP6575478B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP6575478B2
JP6575478B2 JP2016198162A JP2016198162A JP6575478B2 JP 6575478 B2 JP6575478 B2 JP 6575478B2 JP 2016198162 A JP2016198162 A JP 2016198162A JP 2016198162 A JP2016198162 A JP 2016198162A JP 6575478 B2 JP6575478 B2 JP 6575478B2
Authority
JP
Japan
Prior art keywords
information
category
search
relationship
processing apparatus
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.)
Active
Application number
JP2016198162A
Other languages
English (en)
Other versions
JP2018060406A (ja
Inventor
晃弘 坂野
晃弘 坂野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2016198162A priority Critical patent/JP6575478B2/ja
Publication of JP2018060406A publication Critical patent/JP2018060406A/ja
Application granted granted Critical
Publication of JP6575478B2 publication Critical patent/JP6575478B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、構造化した情報を表わす情報処理装置、情報処理方法及び情報処理プログラムに関する。
テキストで記述された情報のような、十分に構造化されていない情報(以下において「非構造化情報」ということにする。)から情報を構造化して抽出する方法については、複数の方法が提案され、実用化が図られている。
その方法は、一つには、正規表現により記述された情報から情報を抽出するときのように、情報のパターンの一致から、対象とする情報を獲得する方法である。
それ以外に、テキスト含意認識技術(RTE: Recognizing Textual Entailment)のように検索条件と完全には一致しなくても、実質的に意味が同一であったり、類似していたりする場合を考慮して、非構造化情報から情報を獲得する方法やN−gramのような文中の語句の統計的分析手法も知られている(テキスト含意認識技術は自然言語の形態素解析の一種と考えられ文法の知識が必要になるが、N−gramの場合は正規表現などの活用で実現でき文法の知識は不要だが文法的および文脈的な意味づけも確定的ではなく統計的になる)。
構造化された情報は、データベース、あるいは知識ベース等のデータストアに蓄える方法が知られている。
例えば、リレーショナルデータベース(RDB)、多次元データベース(MDDB)及びネットワークデータベース(NDB)は、固定的な関係に基づく情報構造を多次元で蓄積できる技術である。
また、プロログ(Prolog)言語は、言語として情報間の関係をケースバイケースかつ動的に知識として検索して的確な処理を実行させたり、メタ言語として動的に知識や推論を更新したりしていく機能がある(固定的なデータベースには向いていないが分析から蓄積まで実装することは可能である)。
さらに、オーダブリューエル(OWL)等のオントロジー言語は、与えられたデータを意味化・概念化してデータ交換することができる。
また、特許文献1には、文書と画像を、その単位で構造化し、辞書に依存せずに、情報の関係にも着目して生成する技術が開示されている。
特許文献2には、情報を半自動で分類し、分類ルールが生成する技術が開示されている。
しかしながら、RDB、MDDB及びNDBは、分析する内容を予め定義する必要がある。さらに、RDB及びMDDBは基本的にデータ構造をレコードとして予め静的に定義する必要があり、柔軟性がないため、意味解析を行う知識の表現への適性は低い。NDBも同様であり、さらには、その構造から利用が難しい。
Prolog言語は、言語やメタ言語として組み込みの推論規則は基本的なものであり、基本的でない推論規則は静的に追加実装したり、実装を動的に追加・更新したりしていく必要がある(推論規則を追加するだけではなく、自らを更新するようにプログラミングする必要がある)。
オントロジー言語は、明示的に意味のベースとなるクラスや関係を定義していく必要があり、実装に手間がかかるうえに、静的、確定的な推論にしか向いていない。また、World Wide Web上での利用になるため応用に一定の制約がある。
オントロジー言語以外の一般の言語処理系は、字句解析、構文解析後、意味解析を行い、ここでの意味解析はライブラリファイル(.lib 等)のオブジェクトの名前解決や型チェックすなわち数値型、文字型、ポインタ型などの型に対応する集合の形態素解析のみを目的としており、人間的な意味での意味付けは行うことができない。
特許文献1に開示された技術においては、文書と画像をその単位で構造化する際に着目して生成する情報の関係は、文書構造的なものに限定され、生成されるものもデータ構造に限定されている。
特許文献2に開示された技術においては、半自動での情報の分類し及び分類ルールの生成が、論理的な特性に基づいたものではなく、分類のための属性情報を質問応答で求めていく必要があり、属性という分類の仕方も分類に対する手間を考慮する必要がある。
なお、本発明に関係して、前述及び後述の正規表現については例えば非特許文献1に、また、後述のデータ管理形式については例えば特許文献3に開示がある。
公報記載(サーチされた公報または過去に知り得た公報のうち本発明に最も近い技術を開示するもの)
特開平2−108130号公報 特開平2−238567号公報 特許第3199166号公報
"正規表現の構文"、[平成27年2月17日検索]、インターネット(http://mSdn.microSoft.com/ja−jp/library/cc392020.aSpx) "ビッグデータを支える先進技術: ビッグデータ | NEC"、 [平成27年10月20日検索]、インターネット(http://jpn.nec.com/bigdata/analyze/index.html) "JIS X 3004:1987 データベース言語NDL"、 [平成27年10月16日検索]、インターネット(http://kikakurui.com/x3/X3004−1987−01.html) " Prolog - Wikipedia"、 [平成27年10月20日検索]、インターネット(httpS://ja.wikipedia.org/wiki/Prolog) "オントロジー (情報科学) - Wikipedia"、 [平成27年10月20日検索]、インターネット(httpS://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%B3%E3%83%88%E3%83%AD%E3%82%B8%E3%83%BC_(%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6)) " OWL Web Ontology Language Overview"、 [平成27年10月20日検索]、インターネット(http://www.w3.org/TR/owl−featureS/) "OWL 2 Web Ontology Language Manchester Syntax"、 [平成27年10月20日検索]、インターネット(http://www.w3.org/TR/2012/NOTE−owl2−manchester−Syntax−20121018/) "バッカス・ナウア記法 - Wikipedia"、 [平成27年10月23日検索]、インターネット(httpS://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%82%AB%E3%82%B9%E3%83%BB%E3%83%8A%E3%82%A6%E3%82%A2%E8%A8%98%E6%B3%95) "ISO/IEC 14977 : 1996(E)"、 [平成27年10月23日検索]、インターネット(http://www.iSo.org/iSo/catalogue_detail.htm?cSnumber=26153) " RFC 4234 - Augmented BNF for Syntax Specifications: ABNF"、 [平成27年10月23日検索]、インターネット(httpS://toolS.ietf.org/html/rfc4234) "モノイド - Wikipedia"、 [平成27年10月23日検索]、インターネット(httpS://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%8E%E3%82%A4%E3%83%89) " はじめてのAIプログラミング―C言語で作る人工知能と人工無能"、 [平成18年10月発売]、第2章 文字を処理する―テキスト処理の技術
第1の問題点は、背景技術の項において説明した各応用技術(特許文献3及びすべての非特許文献を除く。)には、単独の方式で利用する際に以下の課題がある。
(課題1)非構造化情報間の関係を事前定義する必要があり、事前定義にはさらに以下の課題(静的な用途向きで活用価値が乏しい課題)がある。
・リアルタイムに動的な活用に難しいという共通した課題
・事前定義のための人間系介在の必要性に伴う自動化のための課題
(課題2)(課題1)の二次的影響として同一の従来技術間の連携に際して以下の課題が発生する。
・第三者による事前定義による解釈の差異を認め情報の信頼性や一意化の妨げを引き起こすという課題
・同じ情報を別々に定義することで生産性を低下させるという課題
その理由は、背景技術の項において説明した各技術では非構造化情報に内在するキーワードや構文を識別するために各々の技術で得意とする方法でその識別の条件を設定する必要があるためである。共通化された関係を事前にかつ可能な場合は動的に定義する仕組みが必要となる。
第2の問題点は、従来技術の異なる機能間の統合・連携等に際して以下の分割統治アルゴリズムや業種・職種横断への応用を難しくする課題がある。
(課題3)背景技術の項において説明した各技術(特許文献3及びすべての非特許文献を除く。)には、非構造化情報間の関係を各々固有の方式で定義する必要があって仕組みの連携・統合しにくいという共通課題。
(課題4)(課題3)の二次的影響としてデータの一元化を妨げるという課題。
その理由は、背景技術の項において説明した共通する原始的な論理構造を用いずに各技術で独自の文法を定めているためである。
[発明の目的]
本発明は、非構造化情報について、情報間の関係を新たに定義することなく、既に定義された関係のみを用いて構造化した情報を表わすことのできる、情報処理装置等の提供を目的とする。
別々の方法で利用してきた各技術との機能やデータの連携により、利用者にとっての操作性、生産性の向上を果たす。
情報の一元性、一意性を向上させ、かつ、異なる技術や用途で得られた情報を再利用性や共有性により利活用することで生産者(開発者)にとっての生産性、保守性の向上をもたらす。
本発明の目的あるいは機能そのものではないが、複数の情報間の互換性を持たせることを利用可能とする。
まず課題を解決するための方針について説明する。
次の二つの方法により、人間系の介在をなくす(自動化)か、あるいは少なく(半自動化)して問い合わせや知識の獲得を行う((課題1)への対処)。
(方法1)単一の要求において、問い合わせと知識の獲得とをこなすことで、処理ステップを形式化する(後述の(付記A4)、(付記A5))。
(方法2)従来技術を問い合わせと知識の獲得の処理に参加させる(後述の(付記A14)乃至(付記A15)に対応)。
次の一連の方法により様々な方式を統合するため共通化された関係を用いた共通化された構文やスキーマを実装し、かつ様々な方式を参加させる仕組みを提供する。
(方法3)様々な方式で授受する情報は、基本的には数学的な関係として表現可能なはずであり、数学的な関係として表現されたものを本発明の情報処理装置で扱うことにする((付記A2)に対応)。
数学的な関係として表現することで、様々な方式の形式、データ、処理などを一元化・共通化することができる((課題3)、(課題4)への対処)。
また本発明の情報処理装置で数学的な表現のばらつきを排除する((課題2)、(課題4)への対処)。
数学的な関係として表現可能でないものについては直接的には本質的に利活用する価値はないものとする。
但し、数学的な関係として表現可能でないものについても間接的には非構造化情報の一種として再分析して利活用する価値を否定しないものとする。
次の一連の方法により情報の体系を体系毎にモノイドまたはその生成系として表現し、情報のデータストアとする。
(方法4)各情報を(方法3)により、モノイドまたはその生成系の元として数学的な関係で定式化された統一された形式で表現する((課題3)、(課題4)への対処)。
情報がモノイドまたはその生成系の元となりうるかを探索し、該当するモノイドがあれば、適切な処理を行わせるようにする(判定だけで終わると単一の処理にできなくなるため、同期させる連携の仕組み)。
モノイドまたはその生成系の演算規則や利活用機能との相互作用を利用して複雑な判定を可能にする(判定の精度を上げる連携の仕組み)。
モノイドまたはその生成系の元と単位元との演算が、元そのものになることを探索の終了に利用する(後述の(付記A9)および(付記A10))。
情報が元として所属するモノイドまたはその生成系が見つからない場合は、新たなモノイドまたはその生成系の候補とする。
利活用機能との相互作用により、利活用機能やそのデータの共有基盤とする((課題3)、(課題4)への対処)。
次に、前記方針を実現するための手段について説明する。
本発明の情報処理装置はモノイド及びその生成系の仕組みを利用して利活用機能参加型の機能・データ共有基盤を実現する。
そこで、まず、モノイドと生成系および関連する概念について説明する。
集合 S とその上の閉じた二項関数 f : S×S→S, ∀x, ∀y ∈ S( f(x, y) ∈ S) が次の二式で表される条件を満たす時、(S, f, i) はモノイド(monoid、単位半群、単位的半群)という。

(式1a)∀x, ∀y, ∀z ∈ S( f(f(x, y), z) = f(x, f(y, z)) ∈ S) (f の結合法則)
(式1b)∃i ∈ S(f(x, i) = f(i, x) = x) (単位元 i)
なお、数学用語では、律という言葉と法則という言葉が入り乱れて使われることが多い。
本説明では関係に対するものを律と記し、演算・関数に対するものを法則と記す。
たとえば関係に対しての辺の交換は対称律と記し、演算・関数に対しての項の交換は交換法則と記す。
モノイドや群(Group)などの代数的構造の定義に使われる結合法則は、= 関係のための制約ではなく、二項関数 f のための制約であるため、結合律ではなく、結合法則と記している。
モノイド(単位元 i)に次の条件を追加すると群になる。
従い、群はモノイドである。
(式2)∀x, ∃y ∈ S(f(x, y) = f(y, x) = i) (逆元の存在)
群で表現できるものはあまたあるが、群には不向きなものも多々ある。
不向きな理由は逆元の存在が支障となるためであるが、モノイドであれば表現できる対象が大きく広がることになる。
例えば加算(+)を二項演算とすると、数学的構造(非負整数の集合, +, 0) は0を単位元とするモノイドである((a + b) + c = a + (b + c) = a + b + c, a + 0 = 0 + a = a)。
非負整数の集合を整数の集合に拡張すると、数学的構造(整数の集合, +, 0) は群になり、かつモノイドにもなる。
しかし、乗算(×)を二項演算にしても、数学的構造(整数の集合, ×, 1) は群にはならず、モノイドになる(0以外の有理数の集合に拡張すれば群になる)。
また文字列連結演算(・)に対して、(文字列の集合, ・, “”) は空列””を単位元とするモノイドになる(自由モノイドと呼ばれ、モノイドの性質 (“abc” ・ “def”) ・ “ghi” = “abc” ・ (“def” ・ “ghi”) = “abcdefghi”, “abc” ・ “” = “” ・ “abc” = “abc” を満たす)。
(文字列の集合, ・, “”) は前記整数の集合と異なり、逆元が定義できないため、群に拡張はできないが、モノイドとして扱うことができる。
このようにデジタルデータの中には逆元の定義・実装が難しいものもあるがモノイドでは表現できる場合があることがわかる。
モノイドや群等の数学的構造 (X, p, i) (X : 集合, p : 演算 p : X × X→ X, i : 単位元) の X の部分集合 S (S ⊆ X)があって (S, p, i) が p : S × S → X となる場合、(S, p, i) は (X, p, i) の生成系(Generating set)と呼ばれる。
つまり、生成系は代数的構造の部分集合と代数的構造の演算子だけを使って代数的構造の全体集合を作成できる。
モノイドや群ではその部分集合から生成系を作成する方法が多数知られている。
二つのモノイドや群等の数学的構造 (X, p, i), (Y, q, j) があって、写像 M が次の二つの式を満たす場合、写像 M は準同型写像であるといい、数学的構造 (X, p, i), (Y, q, j) は準同型であるという。
(式3a)M(X) ⊆ Y
(式3b)∀a, ∀b ∈ X(M(p(a, b)) = q(M(a), M(b)))
モノイドや群等に存在する単位元の準同型写像は、再び単位元になる(M(i) = j)という性質がある。
集合を余すことなく共有部分のない部分集合に分割することを分割(Partition)、あるいは類別(Classification)といい、類別された各部分集合を類(Class)という。
全体集合 S の類別による各類を Ci で表すと次の二つの式を満たす。
(式4a)S = ∪ Ci (i ≧ 0, Ci は i 番目の類)
(式4b)Ci ∩ Cj = { } (i ≠ j)
集合の元のある属性の取りうる値とその属性に対して定義された同値関係で同値とみなせる元の部分集合に類別できるとき、その類を同値類という。
例えば除法で同じ余りをとるもので整数を同値類別できる(除法による同値類を剰余類ともいう)。
同値類の元の一つを代表元(Representative)という。
同値類の任意の元は互いに同値関係にあり、すべての元は代表元として利用でき、次の式が成立する(a を代表元とする同値類は C(a) あるいは [a] と表記する)。
(式5)∀x ∈ C(a)(C(x) = C(a))
概念について一通り説明したので、次に、本発明の情報処理装置の機構について説明する。
前記モノイド、生成系、準同型、同値類を利用する目的を以下とする。
モノイドと生成系は情報カテゴリー(後述する)の外形となるデータ構造として利用する。
情報カテゴリーは情報の体系をデータ構造として表現したもので情報カテゴリーに含まれる元(すなわちモノイドや生成系の元)は二つの情報間の関係を式で表したもの、またその元との照合を確認する妥当性確認(後述する)とから構成されるデータ構造である。
情報カテゴリーの元は、式と妥当性確認を含み、式は二の情報間とその間の関係を含み、妥当性確認は式が成立することを確認する処理である。
情報カテゴリーの元の式はその情報カテゴリーとの関係を表現した式を含み、情報カテゴリーで表現する情報の体系に含まれる元やその範囲を指定したり、自身と他の情報の体系間の関係を指定したりしたものを含む。
生成系と同値類はモノイドに登録する元を削減する方法として利用する(すべての元を一つ一つ登録しても構わないがこの方法で削減できる)。
生成系としては元を追加していくことでモノイドをより広範なものに成長させていくことで任意の時点では最小のモノイドを構成するように元を削減する。
同値類の場合は、生成系とは別の方法で、元の照合範囲を可変にしてその代表元がモノイドに含まれれば、その同値類の元も含まれるという事実を用いて追加する元を削減する。
なお、同値類とは別に正規表現やワイルドカード等の技術的手法で同様に元の照合範囲を可変にして追加する元を削減することも可とするが詳細は後述する。
準同型は入力された情報体系を情報カテゴリーと対応付ける基本概念として位置付ける(定性的な対応が付けば準同型である必要はないし、厳密には単位元を違える必要がある)。
情報の体系の表現として、モノイドの代わりに完全加法族を利用することも考えられる。
完全加法族は、群になり、部分集合から生成系も構築できるのでモノイド同様に利便性はあるが元を個別にすべて登録していく必要があり、また生成系も元を組み合わせていくので元となる集合の数が指数関数的に膨大でかつ構造も多階層集合になり、生成系も意味合いの異なる視点で利用する必要があり、データ量としても探索時間としても効率的ではなくこの説明での用途の範疇とも異なるので説明の対象から外した(完全加法族の組み込みを否定しているわけではないので有用かつ現実的であれば機能として追加してもよい)。
次に前記各概念を機構として実現する手段を説明する。
情報カテゴリーはモノイドやその生成系となるデータ構造(クラス等)とする。
モノイドやその生成系とするため集合を情報カテゴリー、演算を探索とし、単位元(元の定義、単位元の定義と仕組みの詳細は後述する)を情報カテゴリー固有の二の情報と証明可能(├)関係で構成されたものとする。
情報カテゴリーは情報の体系の単位であるため、情報の体系毎に一つずつ実装する。
探索(後述する)はライブラリ(後述する)に含まれる全情報カテゴリーで共通する演算を表す処理ルーチンであり、利活用機能(後述する)から要求することのできる公開ルーチンと公開ルーチンから呼び出される非公開ルーチンとから構成される。
公開された探索ルーチン(情報カテゴリー間探索)では、全情報カテゴリーに対して非公開の探索ルーチン(情報カテゴリー内探索)を要求し、非公開の探索ルーチンでは各情報カテゴリーに含まれる元を探索して照合(探索の公開ルーチン、非公開ルーチンは実体化された情報カテゴリー非依存なので各々情報カテゴリークラスの静的メソッドまたは情報カテゴリークラスから独立したメソッドとして実装するとよい)し、密関係と判定される元が見つかるか、未照合の元が枯渇するまで照合を続ける。
非公開の探索ルーチンにおける照合は評価対象情報(後述する)と元に含まれる式との間で情報評価(後述する)、および元毎の妥当性確認を行い、各情報カテゴリーと密関係(後述する)か疎関係(後述する)かを返す(密関係・疎関係のデータ構造は制約しないので複雑なデータ構造でも構わないし真理値でも構わない)。
探索において情報カテゴリー間探索、情報カテゴリー内探索の選択は、評価対象情報に含まれる関係によって決定する。
包含関係(⊂)は集合間の関係を示すものであるため通常の探索(再帰を含む)においては情報カテゴリー間探索に対応させる。
なお、同値類を別の情報カテゴリーとせずに同一情報カテゴリー内に集約する場合は、⊂ は情報カテゴリー内探索が必要となるため、前記の限りではない。
所属関係(∈)は元と集合の間の関係を示すものであるため探索(再帰を含む)においては情報カテゴリー内探索に対応させる。
その他の関係も基本的には、包含関係・所属関係と同様に情報カテゴリー内探索、情報カテゴリー間探索に対応づけ(関係を定義するデータ構造にいずれの探索をするかフラグを設けるとよい)、関係の固有機能は妥当性確認の中で行う。
包含関係(⊂)、あるいは推移律の成り立つ関係は再帰的な探索において推移律が適用されるものとする(関係を定義するデータ構造に関係の持つ推移律などの規則の成否を定義するフラグを設けるとよい)。
情報評価は、評価対象情報と元に含まれる式との照合を、評価対象情報の式の関係と元に含まれる式の関係との照合、および、評価対象情報の式の二の情報と元に含まれる式の二の情報との照合を行い、成否を真理値で返す。
妥当性確認は、評価対象情報が元に含まれる式として妥当であるか否かを真理値で返す処理であり、その過程で利活用機能のコールバックを可能とする。
非公開の探索ルーチンは単位元以外との照合で、情報評価、妥当性確認いずれも真である場合に、密関係を返し、いずれも偽である場合に疎関係を返し、いずれか真偽が確定しない場合に再帰的な探索を行う。
非公開の探索ルーチンは単位元との照合で、再帰的な探索を行わず(つまり単位元は探索の終端記号)に、情報評価、妥当性確認で密関係・疎関係を確定する。
情報カテゴリーに含まれる一つ以上の元で密関係である場合、探索は関係が成立しているかその可能性があるとして、その情報カテゴリーと入力対象情報とが密関係にあると判定する。
情報カテゴリーに含まれるすべての元で疎関係である場合、探索は関係が成立していないとして、その情報カテゴリーと入力対象情報とが疎関係にあると判定する。
元に対する非公開の探索ルーチンの密関係・疎関係が確定しない場合、再帰的な探索が行われ、その結果を当該の探索結果として継承する(再帰的な探索については評価対象情報で説明する)。
探索に際して元毎の妥当性確認は利活用機能をコールバックすることができる。
探索に際して入力情報毎の探索応答は密関係と判定された探索に同期して利活用機能をコールバックすることができる(例えば探索結果のログ出力ができる)。
探索で全情報カテゴリーと疎関係にあると判定された場合、評価対象情報は新たな情報カテゴリーの候補リスト(後述する)に登録する。
情報カテゴリーの元は、式と妥当性確認とからなるデータ構造とする。
入力情報(後述する)は利活用情報から探索を要求された際に渡される式の形式の構造化情報である。
評価対象情報(後述する)は式のデータ構造である。
評価対象情報は、初期状態では入力情報の式であり、探索から再帰的に探索された場合はその再帰探索を要求した元に含まれる式に探索時に発生した代入の行われたものに更新される(再帰は結合法則を実現している)。
式は、関係と二の情報(後述する)とからなるデータ構造(クラス, 構造体等)とする。
式は、表現方法により解釈が分かれる場合があるため、冠頭標準形、スコーレム標準形で表せるようにするとよい(本説明も冠頭標準形を使用している)。
関係は、情報カテゴリーとは独立したデータ構造とし、情報カテゴリーから参照でき、式の照合の際に照合され、少なくとも三つの関係、証明可能(├)、包含関係(⊂)、所属関係(∈)の実装を既定で含み、追加も可能なものとする。
二の情報のデータ構造は限定しないが、認知可能な情報の単位であり、式の照合可能なデータ構造とする(二の情報の各情報は、少なくとも情報文字列を持ち、それ以外の情報を持たせても構わないものとする)。
各情報カテゴリーの単位元の実装は、次式で表される式を含む元とする。
(式6){ A } ├ A
この式は、A の内容(集合であるか、元であるか)によらず常に存在し、成り立つ関係である(古典論理の公理に相当する)。
派生形として論理演算を交えた { A } ├ A ∨ B, { A ∧ B } ├ A という式もあるが、これらも証明における減規則によって、{ A } ├ A に導かれる。
つまり、前記の式は特殊ではない一般的な論証において成立を意味する最終形態となっている(この式は厳密には LK と呼ばれる数学における古典論理の公理であり古典論理の範囲であればこの式に帰着することになる)。
次のPrologの導出原理と役割が似ているが、根本的に式が異なる。
(式7){ A ∨ B, ¬A ∨ C } ├ B ∨ C (Prolog 導出原理)
論理演算(∧, ∨, ⇒, ¬)の追加と証明可能(├)とで下記の古典論理の特徴を実現できるが、単位元にならず、情報カテゴリーで定義可能なため説明を省く。
(式8){ A, A ⇒ B } ├ B (三段論法)
(式9){ ¬¬A } ├ A (二重否定)
(式10){ A ⇒ B } ├ ¬B ⇒ ¬A (対偶)
(式11){ A ∧ ¬A } ├ φ (無矛盾)
探索は、密関係にある場合、次の式を機能として持つ演算である。
(式12)探索(評価対象情報, 元2の式) = 元3の式
(元2 ∈ 情報カテゴリー)
特に単位元との演算では、被演算対象がそのまま演算結果となるため、繰返しが意味をなさないので、これをもって再帰の終了とすることを前提とする。
(式13)探索(元の式, 単位元の式) =元の式
(元, 単位元 ∈ 情報カテゴリー)
単位元以外の式とは新たな元3の式を含んでいるはずで、元2の式が単位元の式の場合は元3の式が式1のままとなる(これ以上の再帰的な繰り返しで変わらない)。
密関係にあるのであれば、元を検索して再び照合するということを再帰的に繰り返して単位元の式との照合が成立した時点で肯定的に探索を終了する。
一方、疎関係にある場合は、初期の探索、あるいは再帰的な探索のくりかえしのいずれかの段階で、元3の式が得られずに棄却され、否定的に探索を終了する。
つまり、密関係または疎関係のいずれかであるか確定するまで再帰的に検索と照合とを繰り返していくことが探索である。
次のように再帰的な探索は、結合法則の表現とみなすことができる。
(式14)探索(探索(元1の式, 元2の式), 元3の式) = 探索(元1の式, 探索(元2の式, 元3の式))
従い、探索により、単位元の存在と結合法則が保証されるため、(情報カテゴリー, 探索, 単位元) はモノイドを構成している。
なお、探索中の元と疎関係にある場合、探索は結果を返すことができない。
そこで上記の式はプログラミング上の処理(メソッドや関数)としては次のように変形する必要がある。
(式15)探索(式1, 式2, out 式3) = 密関係 or 疎関係
ここで、out は、修飾している式3引数に出力を含む場合を示し、呼び出し側からプレースホルダーを指定する場合は、out ではなく、ref を指定する(out/ref は C♯ 言語等で使われる場合の修飾子で他のプログラミング言語ではキーワードや文法が異なる場合がある)。
この処理で密関係となる場合、式3には式1と式2を照合した代入済みの値が返される。
各式を本発明の情報処理装置の構成要素を明示すると次のとおりである。
(式16)探索(評価対象情報, 情報カテゴリーの元の式, out 次の評価対象情報) = 密関係 or 疎関係
(式17)次の評価対象情報 = 情報カテゴリーの元の式 ・ 代入
ここで代入は、評価対象情報と情報カテゴリーの元の式を情報評価した際に必要となる代入であり、左辺の次の評価対象情報がその代入結果とすることを右辺で示している(結果として次の評価対象情報は前記代入済みの値となる)。
実装上の代入は、たとえば、変数への代入、あるいは定数との正規表現やワイルドカードでのマッチングを意図したものであり本発明固有の機能ではない。
空の代入(つまり代入されない状況)がありうる場合、空の代入を単位元とするモノイドになるが、空の代入があるとは限らず、ありえてもモノイドは一時的な存在となるため、本発明の情報処理装置をメタに実装する必要はない。
評価対象情報は、再帰的な探索の過程で更新されて利用されるため、必須ではないがスタック構造をしていることが望ましい。
単位元は、共通する探索操作のために表現している情報の体系に依存することなく、かつ、各情報カテゴリーに固有とするため ├(情報カテゴリー名, 情報カテゴリー名) を式として含むものとする(二の情報には情報文字列として各々情報カテゴリー名を登録し、情報文字列以外にそれ以外の情報を含めても構わない)。
つまり、単位元は、情報カテゴリーの単位元であって、情報の体系に単位元が含まれても、別物として扱う。
情報の体系の単位元を持つ演算を実装しているわけではないので問題はないし必要であれば、両単位元を関連付けるように登録すればよいことになる。
情報カテゴリーを同値類の連結として実装する場合は、同値類への所属関係を表す元(∈(X, 同値類))と、同値類の代表元の情報カテゴリーへの所属関係を表す元(∈(同値類の代表元, 情報カテゴリー))を情報カテゴリーに登録することで実現できる(まず、元 ∈(X, 同値類) の探索を行い、つづいて ∈(同値類の代表元, 情報カテゴリー名) を再帰的に探索する)。
モノイドの部分集合による生成系について説明する(合わせて部分モノイドが元のモノイドと同じ性質を持つことを示す)。
部分モノイドはモノイドの部分集合であってかつそれ自身もモノイドであるため、部分モノイドは元のモノイドの単位元を単位元として持ち、同じ二項関数で閉じている。
当初のモノイドの元を部分モノイドに追加すると再び、部分モノイドになる。
最大の部分モノイドが当初のモノイドということになる。
一方、部分モノイドにならない単位元を含む部分集合(演算・関数に関して閉じていないのでもともと開いているため、結合法則が成り立つようにすればその値域は部分モノイドになる)を適切にとると、部分モノイドの生成系となっている。
モノイドの部分集合が部分モノイドにならない(モノイドの単位元を含まないまたは演算結果が部分モノイドに閉じない)場合、そのモノイドの生成系になっている。
モノイドの部分集合による生成系にそのモノイドの元を追加しても演算結果はモノイドの範囲には閉じるため、再び生成系か部分モノイドになる。
従い、部分モノイドやモノイド部分集合の生成系に元を追加することで元のモノイドに近づくことになる。
モノイドからその生成系を得る手段・仕組みはいくつか知られているが本発明の情報処理装置では限定しない。
以下にその幾つかを紹介する(後述する実施形態の例で前提とする)。
・商集合(同値類)による生成系
・巡回群による生成系
・線形空間の基底による生成系
まず、商集合(同値類)による生成系について説明する。
商集合は同値類を要素とする群であり、群はモノイドである。
同値類は変換 T に対して不変量 T(x) = T(y) となる x, y の集合でその一つの値を代表元(x とする)として [x] のようにあらわす。
同値類の元の間では同値関係が定義できる(逆に同値関係に対して変換を定義してもよい)。
変換 T で不変量となる x, y の関係を 〜 で表すと、「x 〜 y」 ≡ 「T(x) = T(y)」ということになる。
この変換 T が存在するとき、関係 〜 は以下の同値律(反射率、対称律、推移律を同時に満たす)を満たし、同値関係であるという。
(同値律)
(式18a)x 〜 x (反射律)
(式18b)x 〜 y ⇒ y 〜 x (対称律)
(式18c)x 〜 y ∧ y 〜 z ⇒ x 〜 z (推移律)
具体的には、都度同値関係を定義しないでもある属性を定めそのとる値やその範囲で排他的に分類していけばとる値やその範囲の同値類による商集合を定義することができる。
各同値類が無限個の元、あるいは多くの元を含む場合に情報カテゴリーには代表元で同値類別できるように元を実装し、必要であれば代表元を返す(例えば妥当性確認処理に実装する)。
〜 が同値関係である(反射律、対称律、推移律を満たす関係を同値関係と判断できるという意味)場合、情報カテゴリーとしては代表元毎に作成せずに、商集合として作成するようにする。
これにより、同値類毎の情報カテゴリーを作成する事態を避ける(代表元は同値類を識別するための元として情報カテゴリーに実装し、必要であれば探索時に代表元を返せるようにする)。
商集合は同値関係に対する同値類の集合である。
集合 S = { s1, s2, ...} に対して、同値関係 〜 が定義されると S/〜 = { [s1], [s2], ...} (s1, s2 が同値関係になく異なる同値類を構成した場合)となる。
各同値類の代表元は生成系の生成元の一つとなる。
例えば mod M による M を法とする商集合は、同値類間の演算を [x] + [y] = [x + y] と定義すると * に関して [0] を単位元とする同値類の群となる。
(式19a)([x] + [y]) + [z] = [x + y] + [z] = [x + y + z] = [x] + [y + z] = [x] + ([y] + [z]) (結合法則)
(式19b)[x] + [y] = [x + y]
(式19c)[x] + [0] = [x + 0] = [x] (単位元)
(式19d)[0] + [x] = [0 + x] = [x] (単位元)
(式19e)[x] + [y] = [x + y] = [0] = [y + x] = [y] + [x] (逆元)
商集合の場合は、群としての商集合とモノイドとしての情報カテゴリーとを別に考え、代表元を生成元として情報カテゴリーに登録する([0] も情報カテゴリーの単位元とは区別して登録する)。
mod M の商集合の場合、[0], ..., [M-1] という同値類の商集合を作ることができる。
[0], ..., [M-1] がそろって初めて mod M であることがわかる。
このように代表元だけでは同値類を判定することは難しいがその属性で類別すればよい。
mod M の場合は「余り」という属性を要素に持たせ、類別に使用することができる。
次に、巡回群による生成系について説明する。
巡回群は、群であり、群はモノイドである。
また、巡回群は群の生成系にもなる。
巡回群(G, *)の生成元を g、整数を l, m, n とすると巡回群は g(g の積 * による n 乗積)の集合であり、次の性質により g = 1 を単位元とする群となる。
(式20a)g * g = g(m + n)
(式20b)g((l + m) + n) = g(l + m + n) = g(l + (m + n))
(結合法則)
(式20c)g * g = g * g = g
(単位元)
(式20d)g * g(−m) = g(−m) * g = g
(逆元)
演算 * を別途実装できる場合は、単位元と生成元を情報カテゴリーに登録する(単位元は本発明の情報処理装置の探索の終端記号として必要であり、巡回群の単位元と区別する必要もないので一元化して登録する)。
実装できない場合は有限巡回群に限定して生成元から生成されるすべての値を元として情報カテゴリーに登録する。
巡回群の場合、無限個の元、あるいは多くの元を含む場合に、その一つ一つを情報カテゴリーの元として登録するのは現実的ではない。
そこで、生成元をそのまま情報カテゴリーの元として利用し、各問合わせに対して必要であれば、その次数(l, m, n)を取得できるようにする。
巡回群には回転群(操作回数により元の位置に戻る回転操作の集合)や方程式の解の集合等の例がある。
ただし、情報カテゴリーそのものを群(特に巡回群)として機能させないようにする必要がある。
一つは、情報カテゴリーのモノイドと、そこで表現されるものの代数的構造とは本質的には別物であるため、完全な準同型ではなく、少なくとも単位元は表現されるものの単位元とは別にする必要がある、という点である。
今一つは、逆元あるいは複数の元の演算で、単位元を得ると、その次の結合演算から、同じ元を得るため、探索はループしてしまうことになるためである。
最後に、線形空間の基底による生成系について説明する。
線形空間は体上の線形環であり、環は(体も)群であり、群はモノイドである。
線形空間の基底は線形結合を演算子とし、基底の各元を生成元の一つとする生成系になる。
本発明の情報処理装置の各情報カテゴリー(元の集合, 探索, 単位元)は再帰的な探索で結合法則を実現でき、単位元も定義できるためモノイドとして機能する。
本発明の情報処理装置そのものがモノイド実装する機械であるため、実在の物事がモノイドである場合、情報カテゴリーでの表現は準同型で実現することができる。
また、本発明の情報処理装置そのものがモノイド実装する機械であるため、実在の物事を適切に表現すれば実在の物事がモノイドである必要はない。
数学、物理学ではいろいろな群が知られており、情報工学でもいろいろなモノイドが知られているが、群はモノイドであるため、様々な物事をモノイドに対する準同型として実装することを期待できる。
準同型写像を T とし、実在の物事のモノイドと情報カテゴリーのモノイドの二項関数を各々 f, g とすると、次の式で表されることになる。
(式21a)T(f(元1, 元2)) = g(T(元1), T(元2))
(式21b)T(元1・元2) = T(元1)*T(元2)
(f, g が二項演算 ・, * の場合)
但し、次の三点の注意が必要である。
(注意事項1)情報カテゴリーのモノイドの単位元は特定の構造のものと規定しているため、実在の物事のモノイドを準同型写像で変換したものと違える必要があるので、厳密な準同型にはならない(探索を矛盾させないため、実在の物事のモノイドの単位元用の情報カテゴリーの元を情報カテゴリーの単位元に関連付けるようにする必要がある)。
(注意事項2)無限の元を含む情報の体系はそのまま実装できない(生成系や正規表現などを使って有限個の元で実装する)。
(注意事項3)モノイドとして表現できないものをモノイド化することを保証しているわけではない。
以上でモノイドとして表現される情報をそのままこの情報カテゴリーとして実装する(準同型的)こともできること、情報カテゴリーがモノイドとして機能するためモノイドでは表現できない情報をモノイド的に扱うこともできること、を示すことができた。
[効果をもたらす手段の働き]
まず、本発明の情報処理装置の情報の扱いについて説明する。
本発明の情報処理装置は情報の体系を各々分離しており、含まれる情報は、利活用機能によって非構造化情報から構造化情報に変換されたものを数学的な関係と、二の情報によってあらわされる関係式としてデータ構造化する。
このように非構造化情報から利活用機能によって構造化された情報を数学的な関係式をデータ構造で表すことで情報を一意・一元的・動的に共有する基盤としての効果をもたらす。
次に、本発明の情報処理装置と利活用機能間の連携の働きについて説明する。
本発明の情報処理装置は、単独で推論したり、統計情報を分析したりすることを目的とはしない。
その代わり、他の方法で予め得られた推論や統計分析などの成果を元として登録したり、他の方法を妥当性確認に参加させることで推論や統計分析を利用したりすることができる。
結果として、本発明の情報処理装置では探索の判定精度を挙げる効果があり、利活用機能では処理の軽減(開発負担低減という生産上の効率化や都度繰り返される推論・統計分析の抑制)と多様な利活用機能との機能連携による一元化・一意化されたデータの共有という効果を得ることができる。
副次的な効果として利活用機能間の連携により、たとえば、推論された結果を本発明の情報処理装置の情報として表現し、その情報に問い合わせをしたり、その情報を用いてクラスター分析をしたり、それらの作業を動的かつ一括して行ったりすることができるようになる。
同様にクラスター分析の結果から、本発明の情報処理装置で扱う情報として表現することで、推論すべき仮説(命題・述語)を創出することにも利用ができる。
このように直接的に分析することを目的とはせず、利活用機能から相互に連携する共有基盤として役割を果たす。
次に、本発明の情報処理装置の探索について説明する。
包含関係(⊂)に関する推移律を導入することで、情報カテゴリーへの再帰的な探索と、探索の結合法則をもたらす効果を実現している(情報カテゴリー内探索)。
包含関係(⊂)は情報カテゴリーを細かく定義した場合に、情報カテゴリー間での包含関係を担う場合もある(情報カテゴリー間探索)。
また、証明可能(├)を用いた特定の元を単位元として機能させることで、探索を有限ステップで終了させ、かつ、任意の情報カテゴリーを表現する情報の体系に非依存なモノイドとして構成する効果をもたらしている。
次に、本発明の情報処理装置の生成系・同値類の実装について説明する。
前記説明により、情報カテゴリーはモノイドとして機能することが保証される。
情報カテゴリーは情報の体系のすべての元を含まなくてもその生成系として機能している。
さらに、生成系の元を少ない個数に抑えるため、同値類とその代表元の関係を式として実装できるように同値類の機能拡張を提案している(あるいは正規表現やワイルドカードなどの既存の技術的な仕組みも活用して元の個数を抑制することも可能である)。
結果として、有限個の元でありながら、モノイドの特徴を保持し、かつ不定個、または無限個の元を扱うことを可能にする効果がある。
第1の効果は、複数の利活用機能間の機能連携・データ共有である。
その理由は、数学的(客観的)な関係式のデータ表現による一元化・一意化、および利活用機能の探索への参加による。
第2の効果は、再帰的な探索において、一意の結果を得られることである。
その理由は、情報カテゴリーが探索を演算とするモノイドとして構成しており、再帰的に行われる探索を結合法則とみなすことができるためである。
結果として再帰的な探索で発生する探索パス上のパス順で交換法則は成立していないのでパスを変えることはできないが、パス上のどこから始めても棄却されるべきパスはいずれかの段階のパスの探索時に棄却される。
第3の効果は、利活用機能の処理軽減である。
その理由は、一度証明・分析済みのものを都度、やり直すことなく、本発明の情報処理装置に要求することで、利活用機能での分析と本発明の情報処理装置での照合という役割分担ができ、また、本発明の情報処理装置の工夫により、照合を簡略化する仕組みを提供しているので、全体的な処理軽減を図ることができる。
第4の効果は、探索に使用した情報間の関係の有無や探索のために保管した情報が利活用機能に提供されるという点である。
その理由は、探索結果に加えて、探索で発生した情報の木、情報の森というデータ構造を利用できるためである。
情報の木は密関係にある情報の集合であり、情報の森は疎関係にある情報の木の集合であるため、利活用機能ではたとえば AND, OR に各々置き換えて扱うことができる。
情報の木を表わすグラフ表現(a)、情報間の関係表(b)、モノイドの演算形式表現(c)の例を表わした概念図である。 第一実施形態の情報処理装置の構成を表わす外部構成及びデータフロー図(a)、内部構成図(b)、形態素解析を使用した外部構成の簡単な例(c)、である。 関係の種類を数学などで使われる関係に付与される代表的な規則(a)と、数学などで使われる関係と図3(a)で定義した規則との対応とで表した表(b)である。規則(a)で式の両辺を記述する対象領域をDとする。表(b)で ∈ 等は様相・多値・ファジィ等の非古典論理を考慮に入れる場合、非対称律や排中律の結果が一概に定義できない。表(b)において○は成立を示し、×は不成立を示している。 情報カテゴリー関連のデータ構造を表す、クラス図(a)と、内容を表わす表(b)と、データ構造のBNF(c)と、である。(b)は以降の表の原型であり、表の左側に元との対応関係を示している。(c)において元は本文での「カテゴリー元」である。(c)において(式)という表記は直前の項の実体を表す補足説明であり、BNFの構文としての意図はない。 建物の情報カテゴリーの例を表わす表の例である。 情報カテゴリー間探索で探索される別の情報カテゴリー(その1)を表わす表の例である。 情報カテゴリー間探索で探索される別の情報カテゴリー(その2)を表わす表の例である。 ∈ 関係を含む元を登録された場合の情報カテゴリーを表わす表の例(その1、UCS)(a)と、∈ 関係を含む元を登録された場合の情報カテゴリーを表わす表の例(その2、ISBN)(b)と、である。(a)においてxは16進数1桁([0−9A−Fa−f])であり、(b)において、n は 10 進数 1 桁([0−9]), y は 1 桁([0−9X]) であり、いずれも実装時には正規表現などを利用する。 情報カテゴリーとして実装した処理の実行ログISBNの例(a)と、人間の例(b)と、数の例(c)と、である。(a)において、データとして参考文献に挙げた書籍の書名とISBNとを利用している。(b)において、同値類の実施例として人間に関する処理結果を示している。(b)において、データには発明者の氏名を使用している。(c)において、情報評価だけを利用した複素数、実数、整数、非負整数間の包含関係、数値の所属関係を示している。 ∈ 関係以外の関係を含む元を登録された場合の情報カテゴリーを表わす表の例である。 本情報処理装置に実装する関係テーブルを表わす表の例である。 評価対象スタックの構造と動作を表す図である。 情報構造化処理のフローを表わす概念図である。 情報カテゴリー獲得処理のフローを表わす概念図である。 情報カテゴリー保守処理のフローを表わす概念図(a)と、情報カテゴリー保守処理で利用するプロパティの例(b)とである。 情報カテゴリー破棄処理のフローを表わす概念図である。 本情報処理装置による多階層連携のパターン(a), (b), (c)と、各層のカスタマイズの相違点(d)とを表す概念図である。 情報カテゴリー連携処理のフロー(a)と、多階層での各手段による情報カテゴリーのデータフロー(b)とを表わす概念図である。 第二実施形態の情報処理装置の、SEOへの利活用、を可能にする情報処理装置の構成を表わす概念図である。 第二実施形態の情報処理装置の、クラスター分析への利活用(その1)、を可能にする情報処理装置の構成を表わす概念図である。 第二実施形態の情報処理装置の、クラスター分析への利活用(その2)、を可能にする情報処理装置の構成を表わす概念図である。 メタ言語の定義の例である。この図のEBNFの = は定義を表す(BNF の ::=)。 図22のプログラミング言語(XXとする)を数学的な関係で表した概念図。この図のEBNF= は、EBNFの = を表す。 XXのメタ言語の定義の情報カテゴリーの例を表わす表である。XXは、図22および図23のプログラミング言語XXである。 プログラミング言語XXで記述されたソースの例である。 図25のソースの情報をメタ言語の定義の情報カテゴリーをもとに分析し、分析結果を情報カテゴリー化した例を表わす表である。 第二実施形態の情報処理装置の、利活用機能としてソース解析ツールのパーサから言語定義情報カテゴリーを参照したソース解析結果の取得(a)と、利活用機能としてメタ言語プロセッサ(yacc, Prolog 等)を使っての言語定義ソースから言語定義情報カテゴリーの生成(b)と、利活用機能としてソース生成ツールのジェネレータを使っての情報カテゴリーからのソース生成(c)に関する各々の構造とデータフローを表わす概念図である。 情報カテゴリーの元をオブジェクトに変換する例を示すための変換対象の情報カテゴリーを表わす概念図である。 図28の情報カテゴリーのソースへの変換例を表わす概念図である。 Prolog言語での変換ルールの一例(a)と、OWL 言語での変換ルールの一例(b)と、を表す例である。(a)では評価の妥当性確認に失敗した場合、閉世界仮説と同じ振る舞いになるが開世界仮説で否定を区別したければ、本方法に区別された否定を実装し、情報カテゴリーにその否定を明示的に定義していく必要がある。
<用語の説明>
最初に、発明を実施するための形態において用いる主要な用語について説明する。
なお、本発明固有の用語については「」でくくる。
情報は、一般的意味における情報である。
従い、情報は、必ずしもテキストや記号で表される情報である必要はなく、図形の構成要素、ベクトル、概念等であっても構わない。
ただし、本発明の理解の容易性を考慮して、以下においては、主として、テキスト(文字、数字、記号の列)で表わされる情報を例に説明する。
情報は本発明の情報処理装置で扱う部位・役割上の識別により、「入力情報」、「出力情報」、「カテゴリー元」の式に含まれる情報(「入力情報」、「カテゴリー元」については本発明の情報処理装置の構成要素であるため後述する。)に分類する。
説明上、分類を指定せずに「情報」と表現した場合は、これらの分類に関係のない共通事項とする。
情報の集まりは、固有の用語ではなく、一般的な意味での情報の集合である。
本発明の情報処理装置で扱う式(後述する)というデータ構造として構造化される前の情報源に含まれる任意の非構造化情報(デジタルデータ)あるいは式に成形されていない利活用機能(後述する)で扱う他の構造化情報を指し、実体は文章でも、プログラムのソースファイルでも、統計データでも、画像等のバイナリーデータでも構わない。
本発明の情報処理装置の構成要素やその形式などではなく、本発明で扱う情報の定義域である。
式は、本発明で扱う構造化情報のデータ構造であり、入力され、「探索」(後述する)時に照合される単位(評価対象情報)であり、「情報カテゴリー」(後述する。)の元に含まれるデータのデータ構造でもある。
式は数学の等号、不等号等の関係で表される関係式と同一の意図であるため、本発明固有の用語ではない。
式はデータ構造として二の情報、関係(二の情報、情報文字列、関係については後述する)で次のように構成されるものである(この式は関係の前置記法で表現しており、引数の出現順は変更できないので注意)。
(式22)関係(第一情報文字列, 第二情報文字列)
例えば、∈(0, 整数) と表現(間置記法の 0 ∈ 整数 と同一)して、関係が ∈、第一情報文字列が 0、第二情報文字列が整数となる。
式は「評価対象情報」や「情報カテゴリー」の各元に一つ含まれる。
式は「情報カテゴリー」をモノイドもしくはその生成系とするため次の規則を満たす必要がある。
(関係に関する規則群)
(規則1) 本方法で用いる関係には、少なくとも証明可能(├)、包含関係(⊂)、所属関係(∈)を含む(組み込む)こと。
(規則2) 本方法で用いる関係を追加する場合は、数学的に表現でき、既存の関係(組み込みと過去に追加した関係とを含む)と矛盾しないこと。
(規則3)(モノイドの結合法則) 単一の情報カテゴリー内に含まれる任意の三つの元の式をP、Q、Rとするときに、探索を・として、(P・Q)・RとP・(Q・R)が常に一致すること。
関係は数学・物理学、あるいはそれと同等に定義される式の両辺の間の二項関係を示すものである。
数学の等号、不等号、包含等の関係と同一の意図であるため、本発明固有の用語ではない。
関係は本発明の情報処理装置でのデータ構造として関係を一意に識別する記号、関係の満たす規則に関する情報から構成される。
さらに「情報カテゴリー」とは独立したデータとして関係はリスト、配列、連想記憶などに収録する。
本発明の情報処理装置において関係は式の構成要素として引用される。
本発明の情報処理装置にあらかじめ利用可能な三つの二項関係 ├(証明可能), ∈(所属関係), ⊂(包含関係)を定めておく。
その他の関係については、利用者定義とする。
数学上の関係を図3(a)の規則の組み合わせで定義する。
この表で式の両辺を記述する対象領域をDとする。
数学上の代表的な関係の組み合わせ定義の表を図3(b)に示す。
図3(b)の表で ∈ 等は様相・多値・ファジィ等の非古典論理を考慮に入れる場合、非対称律や排中律の結果が一概に定義できない。
次に前記規則を満たす関係を使い、「情報カテゴリー」を構成する。
「情報カテゴリー」は次の規則・基本構造の元で構成される(「妥当性確認処理」は必要に応じて実装)。
(情報カテゴリーに関する規則群)
(規則4) 情報カテゴリーは一つ以上の元を含むこと。
(規則5) 元は一つの式を含み、式は図4に例示したように、第一情報文字列列と第二情報文字列列と、関係列とを備えること。
元は、式の構成要素以外の列、例えば図4に例示したように妥当性確認列等を備えても構わない。
(モノイドの単位元)規則4に定めた含まれる一つの元は単位元とする(単位元は情報カテゴリー毎に一つとする)。
単位元は二の情報の各情報文字列に情報カテゴリー名を値とし、関係を証明可能(├)とする式で構成される。
(規則6) 情報カテゴリーの元の式の第一情報文字列列、第二情報文字列列及び関係列には各々対応する値で、同一情報カテゴリー内の他の元の式と識別できること。
図4のデータ構造を構成する列は、識別できれば、その並び順は任意である。
(規則7) 式の関係列に登録できる関係については、図3について説明したものあるいは関係に関する規則群に基づいて追加されたものであること。
(規則8) 式の二の情報の各情報文字列列に登録できるデータ構造は文字列を照合用インテックスとすること(値そのものを文字列にするかクラスや構造体で文字列により複雑なオブジェクトを追加してもよい)。
「入力情報」は、外部から本発明の情報処理装置に入力される式で表現された構造化情報である。
すなわち、外部から渡された情報を他の手法で二の情報と関係とに解析した形態(後述する「カテゴリー元」と同じ構造)を式(後述する)として表現した構造化情報である。
ある情報の集まりから、以下において説明する、本発明の情報処理装置に用いる入力情報を抽出し解析する方法については、任意とする。
例えば、情報の集まりが、テキスト情報からなる文章である場合には、広く知られた技術である形態素解析の手法によりテキストを単語に分解し、その単語を情報にすることができる。
図2(c)は図2(a)の利活用機能として形態素解析003を割り当てたものであり、利活用機能は外部からの情報を「入力情報」に変換するフロントエンドとして機能している。
「情報カテゴリー」は元(後述する。)の集合のデータ構造であり、一つの「情報カテゴリー」で元の実装は「探索」(後述する。)に対してモノイドまたはその部分集合の生成系を構成する。
「カテゴリー元」は、「情報カテゴリー」を集合とみなした時の元である。
特段の指定がない場合は元という記述で「情報カテゴリー」(後述する)に含まれる元を指す。
集合の元と同一の意図であるため、本発明固有の用語ではない。
集合の元の実装であるが一般的な集合論での集合の元と区別する必要がある場合に「カテゴリー元」と記述する。
「情報カテゴリー」の元はデータ構造として式と、「妥当性確認処理」(後述する。)と、を含む。
すべての「情報カテゴリー」では前記二の情報のうちの一の情報と他の情報とが同一であり、かつ反射律である証明可能関係となる式を含む元を含む。
各「情報カテゴリー」の元は情報文字列で表現すると次で構成される式を含む元である(つまり ├(情報カテゴリー名, 情報カテゴリー名))。
第一情報文字列、第二情報文字列 ::= いずれも情報カテゴリー名
関係 ::= 証明可能├
通常の論理では、証明可能は(式6)(間置記法)を満たすものとする。
なお、前置記法の├(A, B)は間置記法の { A } ├ B を意味する。
すなわち、├(情報カテゴリー名, 情報カテゴリー名) (前置記法)は、{ 情報カテゴリー名 } ├ 情報カテゴリー名 (間置記法)を意味する。
本発明の情報処理装置ではこの特別な元を以下の式を満たして各「情報カテゴリー」の「探索」処理に対する単位元として扱う。
(式23)探索(式, 単位元の式) = 式, 単位元 ∈ 情報カテゴリー
「情報カテゴリーに関する規則群」で説明したように、任意の「情報カテゴリー」には常にただ一つ「単位元」という「カテゴリー元」が存在している。
「カテゴリー元」は元としての実体を表す「式」と、「式」だけでは照合結果を適切に確定しにくい場合のための補足条件を判定する「妥当性確認」とから構成させる。
そのため元と式を区別しており、(式23)では「探索」の演算の変域・値域を「式」として「単位元の式」と表現している。
従い、(式23)は「探索」という演算に対して単位元の役割を果たしている(情報カテゴリーの単位元と表現する理由である)。
「情報カテゴリー」のデータ構造は共通であるため、「情報カテゴリー」が複数登録されていても、「探索」は一元化できる。
一方、「情報カテゴリー」の単位元はデータ構造が共通で登録内容は「情報カテゴリー」毎に固有のものとなる。
なお、実際の「探索」時には、式Y左辺第一項の式は(代入済みの)元に含まれる式または「評価対象情報」(後述する。)であり、元も同様にこの式に束縛される必要があることをこの(式23)で表現している。
また、関係や「探索」などの演算では第一項、第二項は交換可能であり、説明の都合で第一項、第二項に役割を設けているが、例えば右単位元のような数学的な意味合いはなく、実装時に自由に決めてよい。
単位元も数学の単位元と同一の意図であるため、本発明固有の用語ではない。
「二の情報」は、与えられた情報を式として表現した場合の二つの項に含まれる情報を総称したものである。
情報の集まりは、文章、プログラムのソースファイル、統計データ、画像等のバイナリーデータ、その他、いろいろありうるので「二の情報」にはこれらが含まれる。
従って、「二の情報」に含まれる情報は各々文字列とは限らないが、説明を容易にしかつ一般的な情報との識別するため、以下では「情報文字列」を各情報の識別子として説明する。
「二の情報」を「情報文字列」で説明する理由は各項に同時に文字列以外を採用することで照合が言語処理系依存になることをこの説明から排除する意図もある。
また、「二の情報」は文字列ではない場合、互いに一致する必要もないが関係を使った式で表現するため一致・不一致を識別できる必要がある。
「情報文字列」は照合ができるからといって可読なものとは限らないし、可読な場合も文章的・説明的な内容とは限らない。
各項を「情報文字列」として識別する場合は、「第一情報文字列」、「第二情報文字列」と順序付けて記述する。
各「情報文字列」には正規表現やワイルドカードなどによる可変な書式を含めてもよい。
各「情報文字列」は「探索」時には可変部分は「情報評価」や「妥当性確認」で仮代入し、さらに「探索」を続ける。
「情報の木」は、本発明の情報処理装置で扱う「出力情報」としての情報の集まりである。
そして、「情報の木」には、その集まりを構成する一の情報が、その集まりを構成する他の一の情報と関係があると判定された場合に、その2つの情報について「密関係」(後述する)があることについての情報が記述されている。
さらに、「情報の木」においては、その情報の集まりを構成する任意の一の情報が、その集まりを構成する任意の他の情報と関係又は関係を組み合わせた関係がある。
「情報の木」を表わす表現は任意である。
例えば、図1(a)に例を表わしたように、その情報の集まりを構成する一の情報と、その情報の集まりを構成する他の一の情報との間で、関係があると判定された場合に、それら2つの情報を位置的に隣接させることにより表現してもよい。
また、図1(b)に他の例を表わしたように、その情報の集まりを構成する各情報について、その情報と関係がある情報について、その情報の関連情報として表現してもよい。
また、図1(c)に他の例を表わしたように、関係のある情報同士を”・”の記号で結び付けて表現してもよい。
「探索」(後述で説明する)結果で「情報評価」(後述で説明する)が「密関係」であった場合は「情報の木」を「探索」を要求した処理に渡すことができ、「疎関係」であった場合は「情報の木」は破棄される。
「情報の森」は、「情報の木」の集まりまたは「情報の木」を配置するためのデータ構造であって、相異なる「情報の木」を構成する任意の情報間に関係があると判定されなかった「疎関係」(後述する)にあるものである。
「情報評価」は、「探索」(後述する)の過程で、ある情報についての、情報カテゴリーの元の式と関係があるかを照合により判定する、その情報についての評価である。
「探索」は、「評価対象情報」と「情報カテゴリー」との関係有無の成否を確定するために「情報カテゴリー」の元を探す機能である。
「探索」は情報カテゴリーの元に関する代数的な演算を表す操作であり、演算記号・で表すと次の式を満たすように実装する。
(式24a) 「評価対象情報」・(「元A」・「元B」)・「元C」 = 「評価対象情報」・「元A」・(「元B」・「元C」) (モノイドの結合法則)
(式24b) 「評価対象情報」・「情報」情報カテゴリーの「単位元」 = 「評価対象情報」 (モノイドの単位元)
「探索」は与えられた式の変形や代入を目的とした処理であるが、それとは別に「探索」自体の「密関係」・「疎関係」という戻り値を持ち、本発明の実行制御に使われる。
情報と「探索」されている元との間で「密関係」・「疎関係」という戻り値が確定できない場合は、その元の式や代入の情報をもとに再帰的に「探索」(後述する)が行われ、その戻り値を再帰する前の元の戻り値として利用する。
逆元や巡回元により探索の無限ループが発生するが、これらを回避する仕組みを持つことを前提にすれば再帰的な探索は有限ステップで完了する。
「密関係」・「疎関係」および関連用語を各々次のように定義する。
「密関係」は「評価対象情報」と元に含まれる式との間で探索が成功する状態にある関係である(「評価対象情報」、「探索」については後述する)。
「評価対象情報」が元に含まれる式として式に含まれる関係がある可能性が高いという意味合いで「密関係」と表現する。
本発明の情報処理装置は、論証等を行うものではないため、関係が成立しているとは限らないので現実の成立と区別するためこの用語を用いる。
同様に、「密関係」にある「評価対象情報」の式に含まれる情報と元の式に含まれる情報は成立するとは限らないので「結びつけた情報」と表現する。
「結びつけた情報」は「探索」に成功した場合の「探索」順の「評価対象情報」や元をノードとしてつなげた木構造の隣り合うノードに含まれる情報で表現する。
「探索」に際して「密関係」にないと判定された評価対象情報と元との間の関係を「疎関係」とする。
「探索」の実装は「評価対象情報」と「情報カテゴリー」との関係有無の成否を確定するため、まず「情報カテゴリー」間をクエリして一覧し(以下、「情報カテゴリー間探索」と表記する)、次に各「情報カテゴリー」内の元と「評価対象情報」との「情報評価」および「妥当性確認」を行いその「密関係」・「疎関係」を確定する(以下、「情報カテゴリー内探索」と表記する)。
「探索」は「情報カテゴリー」間をクエリして一覧し(以下、「情報カテゴリー間探索」と表記する)、次に各「情報カテゴリー」内の元と「評価対象情報」との「情報評価」および「妥当性確認」を行いその「密関係」・「疎関係」を確定する(以下、「情報カテゴリー内探索」と表記する)。
初期状態で「入力情報」を「評価対象情報」として「評価対象情報」と「カテゴリー元」との「情報評価」を行う二項演算(「情報評価」)とその演算の対象となる「カテゴリー元」を検索する操作である。
「情報カテゴリー」に含まれる「カテゴリー元」を「情報評価」および「妥当性確認」し、双方で真となる「カテゴリー元」を検出するか元が枯渇するまでこの操作を続ける。
「情報カテゴリー」に含まれるすべての「カテゴリー元」との「情報評価」および「妥当性確認」で「疎関係」と判定した場合、「情報カテゴリー」との「探索」も「疎関係」であると判断する(すなわちその「情報カテゴリー」と関係ありと判定する)。
「情報カテゴリー」に含まれる一つ以上の「カテゴリー元」で「情報評価」および「妥当性確認」の双方で真と判定した場合、「情報カテゴリー」との「探索」は「密関係」であると判断する(すなわちその「情報カテゴリー」と関係なしと判定する)。
「密関係」・「疎関係」の確定しない元を検知した場合はその「カテゴリー元」に含まれる式に代入が反映されたものを新たな「評価対象情報」として再帰的に「探索」を行い、その再帰的な「探索」の結果をこの「探索」の結果とする。
再帰的な「探索」も「情報カテゴリー」間、「情報カテゴリー」内で「探索」結果が確定するまで行う。
但し、単位元との「情報評価」および「妥当性確認」の成否では再帰せずに「探索」の「情報評価」の成否も決定する。
本説明では理解の容易性のため、「探索」時の左側の引数を「評価対象情報」とし、右側の引数を演算対象の「カテゴリー元」とする(引数の左右は数学上の概念的な位置を述べていて実装上の位置を限定するものではない)。
「評価対象情報」は、「探索」の入力引数とするデータであり、「探索」の初期状態では、「入力情報」であり、再帰的に探索される場合は、「カテゴリー元」に変わるので、スタック構造の「評価対象スタック」(後述する)を実装して先頭情報を「評価対象情報」とするとよい。
「評価対象スタック」は、「探索」毎に変化する「評価対象情報」のスタック構造であり、実装上の都合で用意したものであって、処理系や実装の仕方によっては必須の構成要素ではない。
各「カテゴリー元」と「情報評価」し、偽と判定された場合は他のカテゴリー元との「情報評価」を行う。
すなわち、「探索」は次の「定められた要件」に従って動作する。
(要件/探索1)評価対象情報は初期状態では、入力情報とする。
(要件/探索2)情報評価、妥当性確認で密関係・疎関係を確定する。
(要件/探索3)情報評価、妥当性確認で密関係・疎関係の確定しなかった元は含まれる式を新たに評価対象情報として設定して再帰的に別の探索を行う。
(要件/探索4)別の再帰的探索の結果はもともとの探索の結果として継承する。
(要件/探索5)単位元を探索した場合は強制的に密関係・疎関係を確定する。
(要件/探索6)情報カテゴリーのある元と疎関係と判定された場合、その情報カテゴリーの他の元を探索する。
(要件/探索7)情報カテゴリーのすべての元と疎関係と判定された場合、その情報カテゴリーの探索を疎関係と確定して終了する。
(要件/探索8)情報カテゴリーのある元と密関係と判定された場合、その情報カテゴリーの探索を密関係と確定して終了する。
(要件/探索9)探索対象の情報カテゴリーは固定しない(実装上のフィルタリングがなければすべての情報カテゴリーを探索する)。
「情報評価」は、「評価対象情報」の式と「情報カテゴリー」に含まれる「カテゴリー元」の式とを照合してその真偽を判定する処理である。
「情報評価」での真偽の判定には単純な文字列の一致判定や正規表現・ワイルトーカードのほか、「評価対象情報」に含まれる文字列以外の型チェックなどを利用してもよい。
「情報評価」ではその処理の中で必要に応じて代入処理が行われる(処理の中での代入であり、「情報カテゴリー」内の「カテゴリー元」に代入結果を反映することはない)。
正規表現・ワイルドカードにマッチする情報の代入や単純に式の一部の項を空にして照合対象の項を代入してもよい。
代入は、「情報評価」の際の一時的な状態情報とし、「情報カテゴリー」に含まれる「カテゴリー元」の式を恒久的な書き換えしないようにする。
例えばある「評価対象情報」の一の項が所属する「情報カテゴリー」をリストするために元に含まれる式の二の項を空欄にした場合、「探索」によって、「文字列」、「人間」、「書物」等の複数「情報カテゴリー」がリストされ、各々のケースについて二の項に代入された結果を返す。
「妥当性確認」は、「情報評価」で偽と判定できない式が「密関係」であるかを判定することを目的とした処理であり、実際の確認処理は利活用機能側にコールバックしてもよい。
「探索応答」は、「探索」で「密関係」である場合に呼び出されることを目的とした処理であり、実際の応答処理は利活用機能側にコールバックしてもよい。
例えば「探索」自体は、成否(関係有無)や「情報の木」の取得にしか利用できないため、「探索応答」で利活用機能側にデータを提供したり、成否に起因した処理を実施させたりするのに利用することができる。
「妥当性確認」、「探索応答」のコールバックは、何れも「情報カテゴリー」毎に指定できるものとする。
「検証」は、本説明で次の意図で「探索」機能、「情報評価」機能、「妥当性確認」機能を区別しない場合に用いる表現とする。
「探索」は、「情報カテゴリー」の「元」を探し歩くことを目的とした機能であり、「評価対象情報」と照合する元を「情報カテゴリー」から探す。
従って、「探索」は、まず「情報カテゴリー」にクエリをかけ、各「情報カテゴリー」に含まれる「元」と「情報評価」していく。
「情報評価」で照合に成功した場合、「妥当性確認」が登録されている場合は、「妥当性確認」を呼び出してその実行結果も踏まえて「探索」結果を判定するのが「検証」である。
「情報カテゴリー」の「元」に含まれる式も「妥当性確認」の実装も利活用機能側から提供することができ、本発明の情報処理装置自体はモノイド・生成系機械としての抽象性を保つことができる。
「ライブラリ」は、「情報カテゴリー」とそのインデックス(目録やサマリ情報)を記録する、物理的なデータストアである。
「ライブラリ」に登録する「情報カテゴリー」は「候補リスト」に登録され、自動または手動承認によりコミットされると、「ライブラリ」に移されて利用可能な「情報カテゴリー」として公開される(自動であるか、手動承認であるかは実装で決定するものとする)。
本発明の情報処理装置は、階層化して各層間で連携することができ、例えば三層の場合、「ライブラリ」は最下層の「ローカルライブラリ」、中間層の「共有ライブラリ」、最上位層の「知識ライブラリ」と位置付けることができる。
「ローカルライブラリ」は個別に利用されている本発明の情報処理装置の「ライブラリ」であり、「共有ライブラリ」は「ローカルライブラリ」間での「情報カテゴリー」の共有を行った「ライブラリ」であり、「知識ライブラリ」は「共有ライブラリ」をさらに連携させてグローバルに公開した「ライブラリ」である。
下位階層の「候補リスト」は同層の「ライブラリ」に「情報カテゴリー」の候補を公開したり、同層の「ライブラリ」から上位層の「ライブラリ」に同層で公開済みの「情報カテゴリー」を公開・マージしたりするのに使用する。
本発明の情報処理装置外の機能を利活用機能と総称する。
本発明の情報処理装置外の機能であるが、本発明の情報処理装置は利活用機能から機能の処理を要求され、利活用機能の処理を「妥当性確認」に参加させ、「探索応答」で利活用機能に処理を要求することができる。
<構成に関する説明>
本発明の情報処理装置は図2(a)のように外部の利活用機能とシンプルな関係を保つ。
本発明の情報処理装置の後述の(付記A1)、(付記A3)、(付記A4)、(付記A5)で説明する内部の機能構成はさらに図2(b)に細分化される。
これら以外の機能、これらを呼び出す機能、これらから呼び出される機能は利活用機能側に必要となる。
探索は全情報カテゴリー共通で (情報カテゴリー, 探索, 単位元) はモノイドまたはその部分集合の生成系として機能する。
この説明では ⊂ は「情報カテゴリー」間の探索にのみ使用する。
同値類と「情報カテゴリー」も ⊂ で記述できるが、うまく実装しないと処理が循環してしまうため、同値類を情報カテゴリーのような個別の構造化情報とはせず情報カテゴリー内の仕組みとすることが考えられる。
この場合、構造化情報として存在しないので ⊂ も同値類との間では使うことがないようにすることができる。
以下、同値類を個別の実装とはしないで記述するが説明上の都合であり、同値類や同値類との ⊂ を実装しても構わないし、その点の差異を本発明との差異とはしない。
情報カテゴリー間探索、妥当性確認、探索応答は利活用機能との直接的なインターフェースを持つ。
利活用機能としては次のようなものを想定することができる。
−言語処理系(特に Prolog のような推論エンジンを備えたもの)
−クラスター分析エンジン
利活用機能は以下の役割を持つ機能として位置付ける。
−非構造化情報を本発明の情報処理装置で扱う式(構造化情報)に変換する。
−本発明の情報処理装置に探索(情報カテゴリー間探索)を要求する。
−本発明の情報処理装置での妥当性確認のための処理をコールバックハンドラとして提供する。
−本発明の情報処理装置を利活用するための機能を提供する、すなわち探索に対応する結果・情報の木・情報の森の利活用、および探索応答をコールバックハンドラとして提供する。
すなわち、利活用機能は本発明の情報処理装置にデータの共有基盤として探索要求を出すだけでなく、探索に際してコールバックハンドラとして直接的に本発明の情報処理装置の処理に参加させることができる(利活用機能の共有基盤)。
利活用機能は非構造化情報を構造化情報に整理するルールを本発明の情報処理装置に実装または手動で登録すればよいので必須ではないし、様々な利活用機能とのコラボレーションを想定する。
これにより、本発明の情報処理装置は数学的な関係やコールバックハンドラなどを利用することで特定目的ではなく汎用目的に対応可能な抽象性を保持し、様々な外部の利活用機能の統合基盤として利用できる。
なお、本発明の情報処理装置の説明では、利活用機能の実装が目的ではないため、挙例する場合は各種の言語処理系に含まれる正規表現を利用する。
<データ構造に関する説明>
情報カテゴリーライブラリは、図4(c)のBNFで表されるデータ構造で情報カテゴリーやその元を表現する。
図4(c)の元は本文での「カテゴリー元」である。
図4(c)の元(単位元)に含まれる式はここでは間置記法(a = a 等)ではなく、前置記法((= a a) 等)で表している(前置記法・後置記法の違いには影響しない)。
図4(c)の単位元は「{項1} ├ 項1」という形式に式を限定し、情報カテゴリーは常に一つの単位元を保持するという意図である。
図4(c)の式は「項1 二項関係 項2」を意味している(二項関係 2-ary relation なので、辺 side ではなく項 term という言い方をしているが英語を見ればわかる通り、二項というのは日本語数学用語独特の表現であり、本来は辺とする方が適切と思われる)。
図4(c)の「Class[ 代表元 ]」という同値類の表記はこう記述しなければならない、という趣旨ではなく一例であり、代表元で同値類を識別できればよい(数学上は同値類を C(代表元) あるいは [代表元] と表記する)。
図4(c)の同値類の代表元を探索すると、無限ループで循環する可能性があるため、例えば同値類の代表元は別にリストしておいてそのリストを検索するなどの工夫で循環を回避すべきである。
本発明の情報処理装置は自身で論証・分析することを想定せず、論証・分析済みのパターンと情報評価・妥当性確認による照合に依存するため、偶発的に予期せぬ照合成功を招くことがあり(例えば姓と名を区別しない人名と書名などの相互誤認)、利活用機能側での工夫が求められる(人名の場合は書式を使って姓と名を分離できるようにしたり、妥当性確認でその様式に従っていることを確認したりするなど)。
データストアとしては、以上の機能・データ表現を提供できればデータベース(RDB, MDDB, NDB, XML−DB, KB 等)でもメモリ上のデータでも構わない。
なお、妥当性確認については、データ表現に取り込むのは難しくかつ再利用という意味で効率的でないため、ライブラリとして提供し、データ表現にはその引用の関連付け(例えば「ライブラリのメソッド名」)を登録することも可とする。
また、探索応答はデータ表現に含まれないため、前記BNFには含まれない。
妥当性確認および、探索応答としては情報評価にはない処理の内部的な追加に加えて利活用機能をコールバックする機能が想定されるがいずれもライブラリとして提供することが妥当である。
[構成の説明]
構成については、図2(a)で外部構成、図2(b)で内部構成を説明済みである。
[動作の説明]
動作については、発明の他の実施の形態、第二実施形態、3.具体例、3−2.処理フローでまとめて説明する。
[発明の他の実施の形態]
実施例1では、構成、仕組み、効果について説明し、実施例2以降では、具体的な実施形態とその個別の効果について説明する。
本実施形態は、本発明の最小限の情報処理装置についての実施形態である。
[構成]
本実施例は説明した図2(a)、図2(b)を本実施形態の情報処理装置の構成とする。
本実施形態の情報処理装置のライブラリ106は、情報カテゴリー108を登録することができるデータストアである。
本実施形態の情報処理装置の探索処理は、ライブラリを操作するデータ処理エンジンとして提供している。
本実施形態の情報処理装置の探索処理は、情報カテゴリーの探索、情報カテゴリー内の元の探索、を行い、情報カテゴリー内の元の探索では評価対象情報と元とを照合する機構を備えている。
評価対象情報は初期状態では構造化された入力情報であり、照合の過程で再帰的な探索が発生した場合に照合された元に、代入が行われたものを新たな評価対象情報として更新し、再帰的な探索を行う機構を備えている。
情報カテゴリー108は、二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、のデータ構造(式)を一つ含む元とする集合であり、探索処理に関してモノイドとして機能する。
[効果]
本実施形態の情報処理装置が備えるデータストアに実装される情報カテゴリーは、探索を演算とみなすとモノイドとして機能する(結合法則を実現する再帰的な探索が可能であり、その場合、次の探索対象の元を決定している)。
探索は、元と同じデータ構造の入力情報と元との照合、および照合する元の検索とから構成される。
情報カテゴリーの任意の元には関係と、二の情報とが含まれ、二の情報のうちのいずれかが、二の情報の他方と、関係に指定された関係にあり、ここで利用する関係は予め組み込まれたものの他、数学的な規則の定義できるものを追加することができるため、客観的であり、かつ、他の利活用機能から一意的に利用可能である。
そのため、本実施形態の情報処理装置は、互いに客観的に関係がある情報の集まりを構成することができる。
すなわち、本実施形態の情報処理装置は、非構造化情報について、情報間の関係を新たに定義することなしに既に定義された関係のみを用いた場合においても、客観的な関係により構造化した情報を表わすことができる。
<第二実施形態>
本実施形態は、具体的な情報処理装置等の例についての実施形態である。
[1.基本的な仕組]
本実施形態の情報処理装置等は、以下の数学的性質を利用して、構造化情報を表現する。
・生成系では任意の要素を有限個の要素の簡単な算術で表現できる。
・モノイドはその部分集合の生成系からそれ自信またはその部分モノイドを生成できる(上への写像の値域)。
本実施形態の情報処理方法(以下においては本方法ということにする。)は、モノイドの生成系である情報カテゴリーにより、文字列やテキストなどの情報の集まりから与えられた入力情報と、情報カテゴリーの元の式に含まれる情報との、関係の検証を通じて、新たな構造化情報(情報の木、情報の森)を生成し、提供する。
本方法は、入力情報と情報カテゴリーの元の式に含まれる情報との関連を検証する。
検証により、関係があると判定された場合には、その入力情報とその情報カテゴリーの元の式に含まれる情報とは密関係が存在するという位置付けにする。
その情報カテゴリーの元の式に含まれる情報と疎関係であると判定された入力情報は、その入力情報から構成される単位元を含む情報カテゴリーを候補として生成することができる。
その候補は所定の場合にはその情報カテゴリーに追加される。
入力情報を評価対象情報に代入する。
評価対象情報と情報カテゴリーとの探索で検知された元と情報評価を行い、評価対象情報の可変部分を代入した式をまず情報の木の根とする。
再帰的な探索が発生した場合は現在の元に代入がされた式で評価対象情報を更新してから再帰的探索を行い、再び検知された元と情報評価を行い、評価対象情報の可変部分を代入した式を枝として、情報の木を成長させる。
情報の木を成長させる過程で情報の木の既存の分岐と同じ、代入済みの式が検知されたらループを検知したものとして、再帰的探索を疎関係で終了する(無限ループ回避および、情報の木の木構造の維持)。
異なる情報カテゴリーに属する情報間には包含関係(⊂)のような情報カテゴリー間の関係を示す場合以外は疎関係が存在するという位置付けにする。
結果として、探索によって得られる情報の木は複数の互いに関係が希薄で互いに合流することはなく、各々木構造となり、それらの情報の森を形成する。
入力情報についての検証の結果、その入力情報が、いずれの情報カテゴリーのいずれの元とも密関係があるという位置付けにならない場合は、その入力情報についての新たな情報カテゴリーを生成する。
それにより、情報カテゴリーの集まりが自己成長する。
情報カテゴリーの構築や、情報カテゴリーと入力情報との関係の実装には、モノイドにはモノイドのある種の部分集合から元のモノイドを生成する生成系が実装できるというモノイドの生成系の性質を利用する。
情報カテゴリーに関する条件を含み、その条件を満たす情報は、その情報カテゴリーの元(カテゴリー元)であると判断する。
情報カテゴリーは生成系であり、カテゴリー元はそこから生成されるモノイドの元なので、そのカテゴリー元を都度追加しなくても同じ性質を維持し、同じ情報に対して同じ結果(カテゴリー元であるか否か)を得られることが保証される。
情報の逆元に相当する情報を含めると群になるが、情報カテゴリーとして逆元に相当する情報を含むのは適切ではなく、モノイドの生成系が実装できれば条件を満たすことが判断できるのでモノイドで十分である。
ある情報が、情報カテゴリーの元であるといえるかどうかの判定は、情報評価により行う。
この際の情報評価は、評価対象情報が各情報カテゴリーの元に含まれる式との照合が可能であるかどうかにより真偽判定を行う。
すなわち、照合可能であればその評価対象情報はその情報カテゴリーの元である(真)か、その可能性がある(この場合は再帰的な探索で真偽を確定)か、とする。
ある情報が、情報評価の結果として、情報カテゴリーの元と密関係がある場合や、そのカテゴリー元と疎関係であると判定できなかった場合は、情報の木に追加する。
論理演算としては情報の木は密関係にある元をANDで連結したもの、情報の森は情報の木間の疎関係をORで連結したものとなる。
入力情報についての情報評価が確定するまで、後述のように、再帰的に情報カテゴリーの生成系を構成する元を探索して、探索した元によりその情報について情報評価を行う。
ここで、探索には、情報カテゴリーの選択と、情報カテゴリー内の元をたどる二つの機能が必要である。
各情報カテゴリーの生成系における元には、全ての情報カテゴリーに共通の関係(証明可能(├))で定義をされた単位元と、その情報カテゴリーに固有の元とを含む。
ある情報カテゴリー固有の元としては、例えば、情報カテゴリーの元の条件を規定する元や情報カテゴリー間の関係を規定する元などがある。
評価対象情報について、情報評価が密関係となる元が見つかるまで、後述のように、情報カテゴリーに含まれる未照合の元を順に照合する。
前述で説明した図3(b)は、関係の種類を表わす表である。
図3(a)は、数学などで使われる関係に付与される代表的な規則を列挙したものである。
図3(b)は、数学などで使われる関係と図3(a)で定義した規則との対応を順に列挙したものである。
本方法で用いる関係としては、図3に表わしたものすべてを用いてもよいし、図3に表わしたものから選択して用いてもよい(├、∈、⊂ は必須とする)。
関係を表わす記号は、図3において用いた記号に限定されるものではない。
なお、記号は、識別ができれば文字列でなくてもよいが、以下においては、説明の容易性を考慮し、記号が文字列の場合について説明する。
関係として、図3に含まれない関係を追加することも可能とするが、追加する関係は関係に関する規則群(規則1)乃至(規則3)を満たす必要がある。
[2.情報カテゴリー]
本方法においては、上述の基本的な仕組みにより情報カテゴリーを構成する。
情報カテゴリーは、データストア上のライブラリに含める所定のデータ構造のデータである。
情報カテゴリーは、情報カテゴリーに関する規則群(規則4)乃至(規則8)を満たす必要がある。
探索は、情報カテゴリーの探索と、情報カテゴリー内の元の探索により行う。
情報カテゴリー内のすべての元の情報文字列について情報評価が確定すると、評価対象情報と探索した元の情報文字列との関係の真偽が仮判定される。
情報評価が確定しない場合は、妥当性確認処理を行う。
妥当性確認処理は、外部(探索要求元など)へのコールバックハンドラであり、戻り値を真偽または未確定の三値のいずれかで返す必要がある(コールバックを呼ぶ場合として、情報評価が未確定の場合、あるいは真で関係の推移律等のプロパティに従う場合、が実装上の選択肢としてありうる)。
情報評価、妥当性確認処理のいずれでも、真偽が確定しない場合には現在の元との照合によって得た代入の結果を新たな評価対象にして再帰的に探索する。
探索を二項演算”・”で表わすと、(規則3)の結合法則を次式で表せる。
(式25) 評価対象情報・(第一元の式・第二元の式)・第三元の式 =評価対象情報・第一元の式・(第二元の式・第三元の式)
※ ここで、第一元、第二元、第三元は同一情報カテゴリー内の順序づけられた元の意ではなく識別のための表記であり、さらに同一情報カテゴリーに属する元とは限らない。
この(式25)は、演算”・”の定義から複数の項の演算を探索の再帰的な繰返しを表すものとなり、かつ、演算の計算順序が変えても結果が変わらないことを保証する(項の順序はもともと変えられない)。
さらに、第一元を情報カテゴリーの単位元とすると、情報カテゴリーに属すると判定できる評価対象情報に対し、次式が成立する((式23)と同一内容)。
(式26) 評価対象情報・単位元の式 = 評価対象情報
これで、ある入力情報について情報評価を行うことのできる情報の値域がモノイドとなることが明らかである。
また、モノイドには単位元が必ず存在しなければならない。
単位元を演算で導出するには逆元が必要になるが、情報カテゴリーでは、その用途から通常は逆元を取り込みたくない。
結果としてモノイドの生成系から単位元を演算で導出できないのでモノイドの生成系にモノイドの単位元を予め含める必要がある。
そこで、情報カテゴリーの単位元を表わす式は、二の情報の情報文字列として情報カテゴリー名を値とし、関係として証明可能(├)とする元を、単位元として、各情報カテゴリーを最初に生成する段階から既定で一つ備えさせる。
従い、本実施形態の情報処理開始時における情報カテゴリーはモノイドの生成系とすることができる。
(式25)および(式25)の演算・は同じ意図で探索を表す。
(式25)の演算・が単位元以外の元との演算では別の元を指すことを探索として活用し、単位元との演算では当該の元を指すことを探索の終端記号として活用する(無限ループ検知時にも探索は終了させるがデータとしては終端記号にならない)。
即ち、評価対象情報は式であり、密関係にある場合、(式26)が成立して同じ式が演算”・”の値域にあるので、情報カテゴリーの元であることを示したことになり、同時にこれ以上の演算”・”の繰返しでは他の結果を導けないことを示している。
以下、情報カテゴリーの内容を、実例やより具体化した書式で表現して説明する。
具体化に際して、情報カテゴリーは本実施形態において説明した要件を満たせば、その具体化された実装方法については任意とする。
情報カテゴリーの具体的な実装の際には、関係の表現として関係の種別がわかればよいので日本語や記号である必要はなく、情報カテゴリーのスキーマは元に対応するものが一まとまりであればよく、列の並びも任意である(但し、探索の都合上、二の情報の役割上の順序は任意ではなく一意である)。
まず、新しい関係を定義と、基本的な探索と、情報の木および情報の森とを含む例を示す。
オブジェクト指向では、IS−A関係, HAS−A(またはPART−OF)関係で対象を表現する。
IS−A関係は、本方法の所属関係(∈)と同一と考えられる。
すなわち、X is a Y. は X ∈ Y を意味する。
これに対して、HAS−A関係は、構成要素であることを示すもので、本説明で取り上げてきた数学的に該当する関係は見当たらない。
HAS−A 関係は、本説明で取り上げた律のうち、反対称律、排中律、推移律を満たしていると考えることができるが、その他の律は満たしていない(本発明の情報処理装置での推移律に関する実装については後述の例で説明する)。
また、HAS−A 関係をどのような用途で使うかは、本発明の情報処理装置では規定しないため、単なる情報でしかなく、探索で得られた結果を利活用機能側で適宜活用すればよいことになる。
これらの点に注意して実装すればよい(関係自体が固有の機能を持つ場合は、妥当性確認や探索応答の際に利活用機能側でその機能を実装すればよい)。
例えば図5は、建物の情報カテゴリーを表わした概念図である。
図5の表は、情報カテゴリーに登録されている各元を左から順に、第一情報文字列列、関係列、第二情報文字列列及び妥当性確認処理列の4つの列の値を表形式で表したものである(元の中の式も展開している)。
第一情報文字列列及び第二情報文字列列には、情報文字列が表わされ、関係列には、この表の同一行に記入された、第一情報文字列と第二情報文字列との関係が表わされる。
この表の同一行に記載された、第一情報文字列、第二情報文字列及び関係の組が、この情報カテゴリーにおける元の式である。
単位元の式は第一情報文字列および、第二情報文字列が建物であり、第一情報文字列と第二情報文字列との関係は、証明可能(├)である。
また、第一情報文字列が建物であり、第二情報文字列がドアで、第一情報文字列と第二情報文字列との関係は、構成関係である(ドア has a 建物. または ドア is part of 建物. すなわち ドア HAS−A 建物)。
妥当性確認処理の列には、必要に応じて、関係の妥当性についての記述がされる場合がある。
なお、図5における「:(略)」という記述は、ここに具体的に例示したもの以外にも同様の、第一情報文字列、関係、第二情報文字列及び妥当性確認処理の組み合わせが存在する可能性があることを示しており、これは、以下の図6、図7の説明においても同様である。
また、図5において、ドアに関してさらにXX社製ドアのような情報や、ビルに関してビルの名称YYビルのような情報が必要な場合には、別の情報カテゴリーから図6及び図7に表わしたような情報の提供を受ける場合もあり得る。
この場合は、図6及び図7に表わしたような情報を得るために、他の情報カテゴリーを探索してもよい(包含関係のような場合は集合間の関係になるため、関係の属性として情報カテゴリー間を参照させるように実装してもよい)し、既存技術のデータベースに情報カテゴリー間の参照関係を定義してもよい。
図7の4行目は、関係列を $$所在地 としているが、これは HAS−A 関係と同様に既存ではない関係を組み込んだ例である。
$$プロパティ名 という関係(プロパティ名は可変であり、$$ は説明のための表記で書式を限定するものではない)を用意して第一情報文字列が第二情報文字列のプロパティ名に関するプロパティ知であることを示している(プロパティは情報工学ではオブジェクトの属性を指定する手段として用いられ、構成要素とみなせるものもあるがそうでないものもありうるため例として追加した)。
$$プロパティ名 を設けた理由は、関係の変数(任意の関係のいずれか)という意図ではなく、特定の関係の名前付けという意図であり、任意の名前で関係を追加定義してもよいが、たとえばプロパティ名を合成・分解して活用する場合などにはこの方法が有効となるのでオブジェクトの属性をそのままプロパティに変換する際に都合がよい。
例えば、建物というオブジェクトの所在地を所在地というプロパティで扱うことができる。
すなわち、図7の例では、YYビルの所在地はZZであるという意図である。
探索と情報評価により、”・”演算で結ばれた情報文字列からなる(式3)及び(式4)を生成することができる(探索の式そのものではなく、情報文字列に展開したものであり、情報列と呼ぶことにする)。
(式27a) XX社製ドア・ドア・ビル・建物
(式27b) ZZ・YYビル・ビル・建物
(式27a)と(式27b)においてビル・建物が共通することから、(式27a)により表わされる情報と(式27b)により表わされる情報とは密関係があると判断できる。
そして、(式27a)により表わされる情報と(式27b)により表わされる情報とから、ビル・建物を根とする二本枝の情報の木が構成できる。
この例と異なり、2つの情報が共通する情報文字列を含まない独立な情報の場合は、2つの情報のそれぞれを、枝分かれのない情報の木とする。
二つ以上の情報の木から選択した任意の2つの情報同士の関係が疎関係の場合は、それらの情報の木同士は、関係が希薄である又は直接関連がないとして、互いに疎関係の二つ以上の情報の木の集合、すなわち情報の森とする。
ここで、検索の結果として、一つの入力情報が複数の情報カテゴリーと密関係があると判断される場合があり得る。
大量にある場合は、たとえば、探索する情報カテゴリーの数や探索に用いる情報カテゴリーを制限するなどの対応を行えばよい。
入力情報と、情報カテゴリーに含まれる元の式の情報文字列の間で密関係があるかの判定は、探索により、自動で判定される。
疎関係であると判定された場合は、その入力情報があらたな情報カテゴリーの候補と位置付けできる。
なお、HAS−A 関係のように予め組み込まれていない関係を利用する場合は、システムの矛盾動作を回避するため、運用前に事前にその関係を(人間系も介在させて内容確認したうえで)元として登録しておくとよい。
次の例として情報カテゴリーに、妥当性確認あるいは所属関係(∈)を含む式を持つ元の登録を行った場合の、情報カテゴリーを表わす概念図を図8(a)と図8(b)とに表わす。
図8(a)は、Unicodeの符号化文字集合UCSの種類や各々の符号位置との関係を表している。
ここで、UCSは Universal Multiple−Octet Coded Character Setである。
図8(a)のUCS−2はUCS−4に拡張され規格としては廃止されているが、コンピュータ等の機器では互換性の観点で残す必要がある。
UCS−4はUCS−2の拡張であるため、UCSという総称名の情報カテゴリーでUCS−2の符号位置の文字も同等に扱えるようにデザインしたものである。
図8(a)に表わした表において、列名を除く2行目から5行目に表わした各行が、関係として所属関係(∈)を含む元であり、各々自動または手動で登録された元である(UCS等に関する情報を持ちえないので単位元以外の元は外部から登録する)。
同2行目及び3行目に表わした元では、元に含まれる情報文字列同士が所属関係(∈)であるので、妥当性確認処理列には処理を割り当ててはいない。
一方、同4行目及び5行目に表わした元では、元に含まれる情報文字列同士の関係が所属関係(∈)であるか否かの確認処理として符号化チェック処理が妥当性確認処理列に割り当てられている。
UCS−4による拡張は書式の拡張を伴うため、UCS−2を包含する集合とすることができないのでUCSをUCS−2,UCS−4を元として含む集合とし、また UCS−2,UCS−4各々の符号位置の書式を式として表した元を包含させている(符号位置の書式を同値分割に使ってもよいが同値分割については別の例を後述する)。
たとえば、「辺」という文字の符号位置はUCS−2では、U+8FBA であるが、UCS−4では U+00008FBA となる。
∈(U+8FBA, ?) を入力情報として探索すると、∈(U+xxxx, UCS−2) を式とする元と照合されて第一情報文字列が代入され、∈(U+8FBA, UCS−2) が密関係であることを得ることができ、∈(U+00008FBA, ?) を入力情報として探索すると、同様に∈(U+xxxxxxxx, UCS−4)の元と照合されて∈(U+00008FBA, UCS−4) と密関係であることを得ることができる(? とした部分には実装に際してたとえば可変なオブジェクトや正規表現などを利用するとよい)。
図8(b)は、バーコードに用いられるISBN規格の種類や各々の書式との関係を表している。
ここで、ISBNは、International Standard Book Numberである。
ISBNもUnicodeと同様に2006年まで使われた旧規格(ISBN−10)と、現行の規格(ISBN−13)を持たせている。
接頭記号が追加される点と、チェックディジットの計算方法が異なる点とを省けば、ISBN−13はISBN−10と互換性のあるため、互換性の活用例としてISBN−10も図8(b)に付加した。
図8(b)に表わした表において、列名を除く2行目乃至3行目に表わした情報カテゴリーの元(各行)について、元の式の二の情報間の関係が所属関係(∈)であるが、各情報は書式チェックのために使われ、妥当性確認処理列にはチェックディジットを計算して妥当であるかを確認する処理が記入してある。
本発明では、情報文字列として非終端記号を利用可能とする。
図8(a)及び(b)に表わした例では、非終端記号であることを示すためにxやnの可変部分を含めた例が表わされている。
図8(a)及び(b)は非終端記号の説明上の例であり、通常は非終端記号として、ワイルドカードや正規表現などの手法を想定している。
終端記号と非終端記号とが区別でき、実装側で適切に処理できれば、手法は限定しない。
非終端記号と終端記号とは図4(b)の一般的なケースの中に用いているが、それらの違いは、情報文字列が可変部分を持つために再帰的に探索するか(情報文字列が非終端記号)、情報文字列が定数であるために再帰せずに探索の密関係・疎関係を確定できるか(情報文字列が終端記号)の違いを表すために用いている。
情報カテゴリー内探索は、終端記号の情報文字列との情報評価、または、単位元との情報評価で密関係であるか疎関係であるかを確定して終了し、非終端記号との情報評価では前記の手順で、密関係・疎関係が確定するまで再帰的な探索を行うことになる(本発明での情報間の関係性を導く導出原理に相当)。
なお、二つの情報文字列何れもが非終端記号である場合にどのように結果を導くかは本発明では規定せず、実装する者が決定するものとする。
図8(a)における、列名を除く4行目及び5行目の第一情報文字列におけるxおよび、図8(b)における、列名を除く2行目及び3行目に表わした第一情報文字列におけるnが、その非終端記号としての例である。
情報評価は、情報が非終端記号を含む場合には、例えば、その非終端記号について書式チェックや変域のチェックを行い、書式や変域が不整合の場合は関係がないという情報評価を確定する。
書式が整合する場合は、その非終端記号を終端記号で置き換えたうえで、関係について判定する。
入力情報が非終端記号を含む場合についても同様である。
ここで、妥当性確認処理は、例えば、図8(a)の5行目乃至6行目に表わした UCS−2, UCS−4 各々の符号化チェックおよび図8(b)の3行目乃至4行目に表したISBNコードの各チェックディジットチェックで情報文字列の変域や妥当性確認をする処理である。
参考までに、図9(a)、(b)、(c)に、情報カテゴリーを実装して動作させた結果を探索応答からログ出力した結果を示す(ログは本情報処理装置のプロトタイプの探索応答から出力したもので、ログ出力の内容は後述する)。
図9(a)では、図8(b)で示したISBNの情報カテゴリーの実装を利用して、実在の書籍のデータで情報評価と、妥当性確認とが正常に動作することを確認することができる。
なお図9(a)では参考文献で上げた書籍をデータとして利用しており、一般に知られた書籍ではあるがご注意いただきたい。
図9(a)では、ISBNコードが探索時に文字列など他の情報カテゴリーとしても並行して検知されていることを認識することもできる。
図9(a)では、同値類の技法の利用が確認できるが、例としては複雑なので、別の例として同値類だけに関する実行ログの固有の例を図9(b)、妥当性確認あるいは同値類を使わずに情報評価だけに関する実行ログの固有の例を図9(c)に示す。
図9(b)では、後述する人間の情報カテゴリーについて男性、女性に同値分割した実装のログである。
図9(c)では、数の集合および数値に関する包含関係を例としている数式という情報カテゴリーを用意しなかったため、複素数は複素数の集合の元として検知されているが、よく似ている1+1は数値そのものとは言えないため文字列としてのみ探索で検知されている(数式は表現の揺れもあって定義が難しいが四則演算だけであれば実現できる)。
また、妥当性確認処理は結果的に、例えば、パスワードを照合したり、インジェクションチェックしたり、など確認する処理としても利用できる。
情報カテゴリーに所属関係(∈)以外の関係を含む式を持つ元の登録を行った場合の、情報カテゴリーを表わす概念図を図10に示す。
図10に表わした表において、2行目に表わした元は、情報カテゴリー登録時に自動的に追加された元(単位元)であり、3行目乃至14行目に表わした元が、手動で追加された元である。
自動的に追加された元は、与えられた情報だけで構成できるが、情報カテゴリーの候補は既存のすべての情報カテゴリーと疎関係にあるため、自身では知識を獲得することができない。
単位元の情報文字列は、同表で表わされた地理座標情報カテゴリーが、最初に自動的に生成された時に、既定の元として登録されたものである。
図10に表わした表において3行目以降の行における、関係が HAS−A 関係、直交関係(⊥)、所属関係(∈)である元は、次を想定している。
すなわち、同2行目に表わした単位元についての情報文字列が自動的に登録された新規に作成された情報カテゴリーに、追加された元を想定している。
単位元だけの場合(自明なモノイド)、探索はその情報カテゴリーそのものであるか否かしか判断ができないので、理にかなった結果を返すためには知識を与える必要がある。
然るに情報カテゴリーが自動的に生成される段階では、既存の他の情報カテゴリーと疎関係であることしか情報がないため、これらの知識は自動的に獲得することができない。
知識は元の式として表現することができ、元は手動で追加することができる。
従い、知識として与えるべき元を手動で追加する必要がある。
元の式に用いられる関係は、実装時に関係テーブルを予め用意し、その中から選択する。
実装する関係テーブルは図11に表わしたようなもので、証明可能(├)、包含関係(⊂)、所属関係(∈)は各々図3(b)の意図であると同時に本方法での役割を担うため、予め関係テーブルに実装する。
図3(a)、(b)の関係が持つ規則については、各々属性フラグとして各関係のオブジェクトに実装するとよい(例えば、推移律の属性の有効・無効で推移律を満たす関係な再帰的な探索の識別に利用できる)。
その他の関係は組み込み済みのものと競合(重複)しない限り、追加してもかまわないし、関係テーブルに追加できる機構であるものとする。
関係を追加する場合は情報カテゴリーで利用する前にまずここに登録する。
HAS−A 関係、$$プロパティ名関係、直交関係(⊥)、がこれまでに説明した追加する関係の例である(一般的な関係であるため、これらを同様に予め組み込んでもかまわない)。
ここで、関係テーブルへの登録を処理の開始前に限定するのは、関係テーブルの更新により、情報評価の結果が処理途中で変わることを避けるためである。
情報評価の結果が確定した場合には、その結果を受けて処理が行われる。
真であった場合は、妥当性確認が処理され、偽であった場合には同一カテゴリー内の他の未探索の元を探索し、未探索の元がない場合はその情報カテゴリーと疎関係であるという結果を確定する。
また、情報評価および妥当性確認の結果が確定しない場合には再帰的な探索を行って、その結果を引き継ぐ。
以下、生成系を利用した例についていくつか説明する。
生成系は代数的構造の空ではない部分集合と代数的構造の演算子だけを使って代数的構造の全体集合またはより大きな部分集合による同一の代数的構造を作成できる場合にその部分集合と代数的構造の演算子を元の代数的構造の生成系という。
例えば、単位元だけのモノイドを定義することはできるがこのモノイドの生成系はそれ自身にしかならない。
これに対して、空列と文字集合とを元とする場合、それ自身もモノイドになるが、文字列連結演算に対して、文字列集合の生成系をなしている。
文字集合の代数的構造(UCS, “”, ・)は、文字列連結・を演算とし、空列“”(UCS = { “” })を単位元とする自由モノイド(UCS, “”, ・)の生成系になる。
UCSはUCS−2, UCS−4を総称したものでUCS−2はUCS−4に包含され、かつ廃止されたのでUCS−4と同一とみなしてよい。
ここで、UCS は、文字集合 UCS のクリーネ閉包であり、その要素は任意の文字列である(∪ は n 次の複数の集合の和演算)。
(式28) UCS = ∪ UCS (0 ≦ n)
このようにモノイドは部分集合から容易に生成系を作成することができる。
(商集合(同値類)による生成系の例)
まず、商集合(同値類)を用いた生成系について説明する。
同値類による類別は代数的なものである必要はないし、多くの場合、代表元を見ただけでは類別のルールがわからないので同値律を定義できる属性を用意する必要がある。
例えばISBNコードは、EAN または JAN 規格のサブセットであり、EAN または JAN 規格はバーコードの企画である。
ISBNコードの書式は接頭記号とグループ記号とで書籍の出版された国または地域を表すため接頭記号とグループ記号とで類別できる。
ISBN-13 コード :=
ISBN接頭記号-グループ記号-出版者記号-書名記号-チェックディジット
ISBNコードは書籍などの商品情報として使われているため、書籍の情報カテゴリーの元の属性として定義し、ISBNコードの情報カテゴリーを探索させるということも考えられる。
これらを踏まえて情報カテゴリーを以下のように構築できる。
「バーコード」情報カテゴリー
├("バーコード", "バーコード") (単位元)

「EAN」情報カテゴリー
├("EAN", "EAN") (単位元)
⊂("EAN", "バーコード") (情報カテゴリー間の探索)
⊂("EAN", "バーコード")が探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で棄却する。
「JAN」情報カテゴリー
├("JAN", "JAN") (単位元)
⊂("JAN", "バーコード") (情報カテゴリー間の探索)
⊂("JAN", "バーコード")が探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で棄却する。
「ISBN」情報カテゴリー
├("ISBN", "ISBN") (単位元)
⊂("ISBN", "EAN") (情報カテゴリー間の探索)
⊂("ISBN", "EAN")が探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("EAN", Y) を探索する(Y は変数)。
⊂("ISBN", "JAN") (情報カテゴリー間の探索)
⊂("ISBN", "JAN")が探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("JAN", Y) を探索する(Y は変数)。
「ISBN-10」情報カテゴリー
├("ISBN-10", "ISBN-10") (単位元)
∈(c, "ISBN-10") (情報カテゴリー内の探索)
∈(c, "ISBN-10")が探索されたら元としての情報評価後、妥当性確認で c の桁数、チェックディジットの確認を行い、有効な場合、├("ISBN-10", "ISBN-10") の情報評価を行う(必要に応じて予想されるグループ記号、出版社記号、書名記号を返す)。
⊂("ISBN-10", "ISBN") (情報カテゴリー間の探索)
探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("ISBN", Y) を探索する(Y は変数)。
「ISBN-13」情報カテゴリー
├("ISBN-13", "ISBN-13") (単位元)
∈(c, "ISBN-13") (情報カテゴリー内の探索)
探索されたら元としての情報評価後、妥当性確認で c の桁数、チェックディジットの確認を行い、有効な場合、├("ISBN-13", "ISBN-13") の情報評価を行う(必要に応じて予想される接頭記号、グループ記号、出版社記号、書名記号を返す)。
⊂("ISBN-13", "ISBN") (情報カテゴリー間の探索)
探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("ISBN", Y) を探索する(Y は変数)。
「ISSN」情報カテゴリー
├("ISSN", "ISSN") (単位元)
⊂("ISSN", "JAN") (情報カテゴリー間の探索)
探索されたら元としての情報評価後、真の場合は妥当性確認で情報評価を成功させ、偽の場合は妥当性確認で ⊆("JAN", Y) を探索する(Y は変数)。
「書物」情報カテゴリー
├("書物", "書物") (単位元)
∈(B, "書物") (情報カテゴリー内の探索)
探索されたら(情報カテゴリー外の探索、接頭記号、グループ記号、出版社記号、書名記号を取得する)。
∈(b, Class[B]) (情報カテゴリー内の探索・情報カテゴリー間の探索)
この場合、同値類の実装方針によって、登録する元の式の関係、すなわち探索方法が変わる。
同値類の代表元の情報カテゴリーへの所属関係を元とする場合は情報カテゴリー内探索を行い、同値類の情報カテゴリーへの包含関係を元とする場合は情報カテゴリー間探索を行う。
探索されたら b が ISBN コード(書籍)または ISSN コード(定期刊行物)の有無を確認(古い書物も扱うため)し、妥当性確認でその ISBN/ISSN コードを検証して接頭記号・グループ記号を使って国・地域で同値類別するため、∈(c, ISBN-13) のカテゴリー外探索を行い(情報評価後に接頭記号とグループ記号の国・地域で類別する)、カテゴリー外探索が成功した場合は、├("書物", "書物") を探索する。
B : ISBN コードの国・地域を共通とする書物の同値類の代表元
※ ここでは同値類の代表元の情報カテゴリーへの所属関係を元とする。
この例(ISBN, ISBN−10, ISBN−13)では同値類をさらに同値類として細分する場合に直接細分せずに親集合を階層化している。
また妥当性確認で使われる ⊆ は元に使われる ⊂, ├ にこの順を優先順としてマッチするものとした。
例えば、書籍に関する問い合わせを ∈(書籍, [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 : 代表元であり、妥当性確認で代表元を返すことを可能にするようにしてあり、この内容で代表元毎に登録する(登録情報の枯渇した情報カテゴリーは完全代表系になる)。
変換 T が準同型写像であれば、T の像がモノイドであれば、現像もモノイドであるということができる。
ここで、代表元から直接同値類が判定できるかという課題がある。
同じように属性で分類することで「人間」を「男性」属性の同値類と「女性」属性の同値類とに分類する完全代表系の商集合とすることができる。
この商集合には単位元はないが、「人間」情報カテゴリーには ├("人間", "人間") という単位元を用意しておくことで、モノイドとして機能させることができる。
元の正規表現は「人間」であることのチェックに使用することができる。
次のような実装で元の妥当性確認では「人間」であることのより精緻なチェックと、属性の判定に使用できる。
h, X, Y, H ∈ D 対象領域(X, Y, H は男性、女性、性別不明者の代表元)

├("人間", "人間") (単位元)
∈(X, "人間")
探索されたら妥当性確認で X が代表元であることを確認のうえ、├("人間", "人間") の再帰的な探索を行う(X が可変部を含まない場合は元登録時に代表元であることを確認すれば効率的である)。
∈(Y, "人間")
探索されたら妥当性確認で Y が代表元であることを確認のうえ、├("人間", "人間") の再帰的な探索を行う(Y が可変部を含まない場合は元登録時に代表元であることを確認すれば効率的である)。
∈(H, "人間")
探索されたら妥当性確認で H が代表元であることを確認のうえ、├("人間", "人間") の再帰的な探索を行う(H が可変部を含まない場合は元登録時に代表元であることを確認すれば効率的である)。
∈(h, [X])
探索されたら妥当性確認で h が人間クラス(人間の定義がされている)である場合、∈は同値類に対する所属関係であり、∈(X, "人間") の情報評価を行う(必要に応じて x の性別属性を返す)。
∈(h, [Y])
探索されたら妥当性確認で h が人間クラス(人間の定義がされている)である場合、∈は同値類に対する所属関係であり、∈(Y, "人間") の情報評価を行う(必要に応じて y の性別属性を返す)。
∈(h, [H])
探索されたら妥当性確認で h が人間クラス(人間の定義がされている)で性別属性は不明または出生年属性が不明である場合、∈は同値類に対する所属関係であり、∈(h, [H]) の情報評価を行う(必要に応じて h の性別属性や出生年属性を返す)。
h : 評価対象の情報(変数的)
H : 性別属性、出生年属性とも不明(C♯言語の場合は null など)仮想の人間を表す代表元インスタンスとする。
X : 男性の性別属性を持つ仮想の人間を表す代表元インスタンスとする。
Y : 女性の性別属性を持つ仮想の人間を表す代表元インスタンスとする。
[?] は ? を代表元とする同値類(慣習的に書かれないが同値関係を示す属性が指定されている必要がある)。
※ 本説明には記載してないが性別属性や出生年属性だけでは人間であることは判定できないので人間であることを示すには別の属性を妥当性確認で検証する必要がある。
性別属性や出生年属性は情報評価や妥当性確認の指標ではなく、情報評価や妥当性確認の出力として利用することを目的とする(∈は全情報カテゴリー共通でこれらの属性を取得しないので固有の関係を設ける必要がある)。
妥当性確認 対象(X, Y, H)の性別属性により、分類または棄却する。
カテゴリー元の情報にはオブジェクトの種類を限定しないが、書面での説明のため、カテゴリー元の情報として比較・照合のための文字列と、その実体を表す任意のオブジェクトをまとめたデータ構造として扱うことにする。
同値類への所属関係を表す元 ∈(h, [?]) の登録時に自動で代表元の親集合への所属関係を表す元 ∈(H, "親集合") も自動で元登録されるようにしてもよい。
同値類での単位元の扱いについては、個別に注意する必要がある。
まず、情報カテゴリーの単位元は探索に関する単位元であり、情報カテゴリーで表現されているものの単位元とは本質的に異なる。
情報カテゴリーで表現されているものの単位元が代表元になる場合もある(例えば [0])が、そうでない場合は、情報カテゴリーとしての単位元は設けても、そこで表現されるものの単位元をあえて実装する必要はない。
情報カテゴリーへの表現が準同型とは言えず、上への写像ではなく中への写像になるがもともと単位元が異なるケースであり、かつ特定の元に限られ、その他の元は情報カテゴリーとしてモノイドになることが保証されるため、必要に応じ、特定の元への対応ができていればよいことになるためである。
例えば、人間の情報カテゴリーで人間の単位元は男性、または女性とすると類別しなければならないため、情報カテゴリーとしての単位元(├("人間", "人間"))は設けても人間の単位元を設ける必要はない。
その代わり、男性、女性、と類別された各同値類の代表元を直接、人間の情報カテゴリーで保証できるようにするとよいことになる。
(線形空間の基底による生成系の例)
次に、線形空間の基底を用いた生成系について説明する。
本発明の情報処理装置では、より広い対象を扱うため群・環・線形代数より原始的な情報を元とするモノイドの生成系を実装している。
また、本発明の情報処理装置は式の意味解析あるいは論証を行うことを目的としない。
式の意味解析や論証は利活用機能で行い、本発明の情報処理装置では妥当性確認の中で利活用機能を呼び出して意味解析・論証を行ったり、その結果を登録したりすることで分析系と応用系とを連携させる方法を提供する。
ここでは、線形空間の例として数体系の実装例について考察する。
まず、実数(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 ∈ 複素数しか成立しない(i は虚数単位)。
本発明の情報処理装置でのこの動作の実装は数学的処理ではなく、正規表現による結果である。
実数の場合は既存のプログラミング言語の特徴を生かしてより厳格な確認が可能であるが、複素数の場合は既存のプログラミング言語でデータ型としてサポートしているケースが少ないので、自力で実装する必要がある。
複素数の虚部は、実数に虚数単位を乗じたものであるから、実質的に実数と同等とみなせ、複素数をサポートしない既存のプログラミング言語でも扱える機能範囲(実数の組み合わせ)として実部・虚部各々で、実数用の妥当性確認を行えばよいことを示している。
同様に事実として実数⊂複素数であるため、実数と複素数の一部の情報カテゴリーの元の式は同一の正規表現を用いており、一方で虚部を持つ複素数を判定する元は実数には含まれない。
複素数の虚部は同様に実数情報カテゴリーの元の式と同一の正規表現である。
結果的に単なる⊂の実装だけではなく、実数を複素数の生成系として活用している(複素数の各項から実数を参照させれば生成系としてより明確になる)。
本発明の情報処理装置は、多階層のハブアンドスポーク構造を構成することで、情報カテゴリーの共有・公開機能を提供する(発明とは直接には関係ないが、モノイド構造を維持・保守する仕組みとして説明する)。
情報カテゴリーは、例えば、知識ライブラリと一時ライブラリの二階層のデータストア上に記録する。
一時ライブラリはさらにローカルライブラリと共有ライブラリの二階層で構成することもできる。
以下においては、ライブラリとして、ローカルライブラリ、共有ライブラリ、知識ライブラリの三階層を構成した例についての探索について説明する(ローカルライブラリを最下位層、共有ライブラリをすべての中間層、知識ライブラリを最上位層と位置付け、同様に各層の本発明の情報処理装置を最下層ではクライアント基盤、中間層ではブローカ、最上位層では知識マスターと呼ぶ。クライアント基盤という名称は、アクセス用クライアント機能を含む意味である)。
探索は、参照のアクセス権があるローカルライブラリ、共有ライブラリ、知識ライブラリの順に行われる。
そして、探索の対象となる元(以下において探索対象ということにする。)が最初に見つかった場合には、その最初に見つかったライブラリの中で情報評価等を行う。
すべてのライブラリにおいて入力情報と密関係があると判定される元が見つからない場合は、ローカルライブラリに新たな情報カテゴリー候補を追加する。
知識ライブラリは公開され、かつ、参照のアクセス権に制限はないものとする(参照以外のアクセス権はメンテナンス用にのみ使用する)。
予め組み込まれた情報カテゴリーと共有ライブラリから知識獲得した追加の情報カテゴリーを含み、これらを探索用に公開する。
共有ライブラリは、所属する全ローカルライブラリ参加者に参照のアクセス権を限定する(参照以外のアクセス権はメンテナンス用にのみ使用する)。
ローカルライブラリは、当該のローカルライブラリの参加者に参照・書き込み・更新・削除のアクセス権を限定する。
ローカルライブラリは、本方法による処理の途中で生成された情報カテゴリーの候補を一時記録するライブラリである。
情報カテゴリーの候補は、入力された情報の集まり(例えばテキストからなる文章)から取得した情報から、その情報カテゴリーの単位元のみを含む状態で自動生成される(初期状態)。
(元候補の獲得)
そして、入力情報と知識ライブラリ上の情報カテゴリーに含まれる元との情報評価が、密関係であるという判定で確定した場合は、その元を知識ライブラリの作業領域にある元候補リストに追加する(元候補リストのデータ構造としては元候補と密関係になる情報カテゴリーとを保持する必要がある)。
また、前記作業領域にある元候補リストに単位元以外の元がある場合は、元候補としてその情報カテゴリーに追加できる。
(情報カテゴリー候補の獲得)
情報カテゴリーの共有は、ローカルライブラリにある情報カテゴリーから共有ライブラリにある情報カテゴリー候補リストへ行われる登録である。
さらに、情報カテゴリーの公開は、共有ライブラリにある情報カテゴリーから知識ライブラリにある情報カテゴリー候補リストへの元の登録である。
複数の本発明の情報処理装置を束ねる本発明の情報処理装置の場合、下位層のライブラリから、上位層のライブラリに候補を登録される際に同一と思われる候補による競合が発生する可能性がある。
これらを一元化する競合解決機能を統合と呼ぶことにする。
統合は、複数の下位ライブラリから同一名の情報カテゴリーが候補とされた場合に、マージする処理である。
マージの際に、情報カテゴリー候補の元に矛盾や循環があれば登録対象から除外することが望ましい。
ライブラリの出自の異なる情報カテゴリー名および、単位元が一致する情報カテゴリーは競合する。
競合のないものは上位ライブラリに登録(共有・公開)される。
競合する情報カテゴリー候補において矛盾する結論が導かれる(同一の入力情報に対し、ある競合は密関係にあり、別の競合は疎関係にある)場合は、その情報カテゴリーを公開された情報カテゴリーにはせずに保留する。
矛盾がなければ競合をマージする(単位元などの同一元は一元化する)。
マージによって探索が循環する場合も保留状態にする。
保留状態にないものは、上位ライブラリに登録(共有・公開)される。
なお、情報カテゴリー名に表記の揺れ(日本語の場合末尾の「ー」の有無など)がある場合は、情報カテゴリーに合同関係(≡)とエイリアス名を情報文字列とする元を登録する(例えば ≡(コンピュータ, コンピューター))。
ローカルライブラリから知識ライブラリへの直接的な情報カテゴリーの登録は行うべきではない(共有ライブラリを公開しない、共有ライブラリをローカルライブラリとして使わない)。
情報カテゴリーの統合や候補からの除外後、移行元の情報カテゴリーを残すか否かは選択できるものとし、残す場合は再候補しない仕組み、あるいは問題点を手動で解決して再候補する仕組み等に利用してもよい。
例えば、候補を保留するフラグを立てたり、候補しないリストを生成したりする等を行うことが望ましい。
次にこの方式で得られた情報の森や情報の木の活用原理について説明する。
これらは木構造(情報の木)やその集合(情報の森)として表すことができるので、そのまま利用することも考えられる。
一方、木構造等では、取扱いに不都合がある場合は、密関係にあたる木の連結が”・”演算子の結合であると考えることができることに着目し、適切に写像する手段も考えられる。
情報の木や情報の森をそのまま利用する場合には、{情報の木1、情報の木2、…、情報の木n}をそのまま利用する。
一方、写像する場合は、例えば、下記式5又は式6の条件を満たす、任意の演算子f、g、hによる準同型写像を用いることができる。
(式29a) f(g{情報の木1、情報の木2、…、情報の木n})=g{f(情報の木1)、f(情報の木2)、…、f(情報の木n)}
(式29b) f(元・元)=h(f(元)、f(元))
上記式による準同型写像は、利用したいケースに適切な写像であり、上記条件を満たせば任意である。
[3.具体例]
次に、本実施形態の情報処理装置の具体例について説明する。
[3−1.構成]
図2(b)は、本具体例の情報処理装置の構成を表わす概念図である。
本具体例の情報処理装置001は、情報構造化手段114と、情報カテゴリー獲得手段115と、情報カテゴリー保守手段116と、情報カテゴリー破棄手段117と、情報カテゴリー連携手段118とを備える。
なお、ここでの情報構造化とは、探索に際して構造化情報である代入結果、情報の木、情報の森を得ること、および、情報カテゴリー候補、元候補の追加であり、情報構造化手段は実質的に探索と同一である。
情報構造化手段114は、入力情報について、情報カテゴリーを探索し、情報評価を行うことにより、入力情報を構造化する(入力情報の式の可変部分に照合結果を代入して補完する)処理を行う。
情報構造化手段114に入力情報を生成するために用いられるもとの情報の集まりは、たとえば、文書、表、ソフトウェアのソースコード等の情報である。
これらの情報の集まりを分解した単語等の文字列等の情報が、式(入力情報)として、情報構造化手段114に入力される。
そして、情報構造化手段114による情報構造化処理の結果として生成される情報は、情報カテゴリー、情報の木及び情報の森といった構造化された情報である。
情報カテゴリー獲得手段115は、情報カテゴリー候補リストから保留プロパティの付与されていない情報カテゴリー候補を情報カテゴリーとしてライブラリに登録する手段および、保留プロパティの付与されていない元候補リストから元候補を元として情報カテゴリーに登録する手段である。
情報カテゴリー保守手段116は、ライブラリにある情報カテゴリーの内容(情報文字列やプロパティ)を確認し、更新する保守処理を行う。
情報カテゴリー破棄手段117は、破棄プロパティが付与されている情報カテゴリーを削除する処理を行う。
情報カテゴリー連携手段118は、複数の本発明の情報処理装置を中心ノードの情報処理装置を上層とし、その他のノードの情報処理装置を下層とする、ハブアンドスコープに連携させる役割を担う。
主な機能は階層の情報カテゴリーの共有と公開である。
ここでの共有とは、複数の本発明の情報処理装置を連携させた場合に、下層から上層に追加・更新をかけ、同時に下層が上層を参照できるようにすることで情報の共有・一元化を行うことである。
また、ここでの公開とは、複数の本発明の情報処理装置を連携させた場合に、下層から上層に追加・更新をかけ、同時に下層として参加してない任意の本発明の情報処理装置から参照できるようにすることである。
これらの各手段により行われる各処理については後述する。
また、本具体例の情報処理装置001は、上記の各手段を動作させるための機能として、共通機能と、知識マスター機能と、ブローカ機能と、クライアント基盤機能と、ライブラリと、候補リストとを備える。
共通機能は、本発明の情報処理装置001を利用するフレームワークやアプリケーションであり、多階層での役割とは別にライブラリや候補リストに対して、以下の機能を備える(なお、以下では本発明の情報処理装置のデータストアで直接管理するライブラリを連携する本発明の情報処理装置の各々のデータストアのライブラリと区別して保持するライブラリと表記する)。
・利活用機能から探索要求された情報と、保持するライブラリの情報カテゴリーとから、情報の木や情報の森を生成して応答する機能
・保持するライブラリを保守する機能
ライブラリの情報カテゴリーのスキーマは、一つのレコードで一つの元を表し、元には式(第一情報文字列列と、第二情報文字列列と、関係列)と、妥当性確認処理列とを含むものとする。
なお、レコード数は拡張が可能とする。
知識ライブラリは、任意の利活用機能間で共有(公開)される情報カテゴリーのライブラリである。
知識マスター機能は本発明の情報処理装置001を利用するフレームワークやアプリケーションであり、以下の各機能を備える。
・後述のブローカ機能から提示された情報カテゴリー連携手段用の候補を知識ライブラリに登録する機能
知識ライブラリは、登録されたブローカの複数の一時ライブラリから提示される元を、情報カテゴリー連携手段118で登録したデータストアである。
共有ライブラリは、登録された範囲のクライアント基盤と連携する利活用機能間で共有される情報カテゴリーのライブラリである。
ブローカ機能はこのシステムを利用するフレームワークやアプリケーションであり、以下の機能を備える。
・後述のクライアント基盤機能から提示された情報カテゴリー連携手段用の候補を共有ライブラリに登録する機能
・情報カテゴリー連携手段用の候補を作成して知識マスター機能に提示する機能
共有ライブラリは、登録されたクライアント基盤の複数の一時ライブラリから提示される元を、情報カテゴリー連携手段118で登録したデータストアである。
なお、ブローカがない場合(知識マスターとクライアント基盤のみの場合)は、知識ライブラリにおいて追加等の更新はされず、知識ライブラリは情報カテゴリーの生成系とはならない。
ローカルライブラリは、保持するクライアント基盤と連携する利活用機能だけで利用できる情報カテゴリーのライブラリである。
クライアント基盤機能はこのシステムを利用するフレームワークやアプリケーションで、以下の機能を持つ。
・ユーザー操作やバッチ操作で情報源から情報を取得する機能
・知識マスター機能やブローカ機能に要求して情報に関する情報の木や情報の森を取得する機能
・情報とローカルライブラリ機能から情報の木や情報の森を生成する機能
・情報カテゴリーを形成してローカルライブラリに登録する機能
・情報カテゴリー獲得手段用の情報カテゴリー候補および元候補を作成してブローカ機能に提示する機能
情報カテゴリーには、プロパティと、その情報カテゴリーが表わす情報カテゴリーの基本構造を含む表とを備える(プロパティは静的な変数ではなくインスタンス毎の変数)。
ここで、プロパティは、例えば、情報カテゴリー獲得手段用の候補とすることの可否、情報カテゴリーを生存させることの可否、情報カテゴリーを破棄することの可否等、各種手段を制御するフラグやデータとして使用できる。
情報カテゴリー獲得手段用の候補とすることの可否を表わすプロパティは、情報カテゴリー獲得手段用の候補とすることを可とする候補リストへの登録可否を制御するプロパティの意図である。
情報カテゴリーを生存させることの可否を表わすプロパティは、ライブラリ内でのアクセス可否を制御するプロパティの意図である。
情報カテゴリーを破棄することの可否を表わすプロパティは、ライブラリに情報カテゴリーが既存する場合に情報カテゴリーの削除可否を制御するプロパティの意図である。
プロパティによる各種手段の制御は例えば次のように行われる。
各種ライブラリの情報カテゴリーは、情報カテゴリー保守手段による処理により削除設定し、情報カテゴリー破棄手段により自動で削除できるものとする。
また、プロパティの設定は次のようにして行われる。
・探索で密関係となった入力情報は情報カテゴリー候補としない設定をする。
・情報カテゴリー連携手段で、既存の情報カテゴリーは獲得されず破棄設定される。
各種のライブラリは、情報カテゴリーを記録し、出力することができる。
ライブラリは、データ管理形式について任意であり、その形式は、たとえば知識ベースでも、RDBでも、XMLDB(XMLデータベース)でも、MDDBでも、特許文献3に開示された技術を利用した方式でも、ファイルシステムそのものでも構わない。
KVS(Key−Valueストア)はレコードの列数が限られるためライブラリやその配下のデータ構造の直接的な実装には向かない。
なお、本明細書では、下位基盤の構成要素のライブラリ(ローカルライブラリと共有ライブラリ)を一時ライブラリと総称する。
[3−2.処理フロー]
以下において、利活用機能から本発明の情報処理装置への要求とその応答のデータ処理エンジン(情報構造化手段114)と、データ保守エンジン(情報カテゴリー獲得手段115と、情報カテゴリー保守手段116と、情報カテゴリー破棄手段117と、情報カテゴリー連携手段118)とのそれぞれにおける処理のフローについて説明する。
[3−2−1.情報構造化手段114]
情報構造化手段114(以下、本処理)は、入力情報について、探索(検索と、情報評価と、妥当性確認)と、探索結果の情報構造化とを行う処理である。
本処理は、構造化された入力情報を代入で補完して完成させ、出力として探索結果とともに、情報の木及び情報の森を提供する。
また、出力が得られない場合は、新しい情報カテゴリーとして構造化し、候補としてローカルライブラリに追加する。
探索要求は基本機能としてライブラリ内の情報カテゴリー間の探索と、情報カテゴリー内の探索が行われる。
多階層間に探索要求する場合は、ライブラリ内の探索の前にライブラリ間の探索も必要になる。
以下の説明では、説明を容易にするため、図12に示す評価対象情報のスタックとして評価対象スタックがあることを前提にしている(言語基盤などで同等の機能が利用できる場合があるので必須ではない)。
以下の説明では、入力情報が不完全となる場合に補完するため、可変となることを示すデータ(変数や正規表現など)を前提としている。
以下の説明では、情報評価と妥当性確認は別々に実施するのではなく、情報評価で真(true、以下同)であった場合にのみ妥当性確認を行い、その戻り値を密関係・疎関係・未確定とする簡略化もしている(妥当性確認が設定されてない場合は常に true)がこれも説明の都合であり、実装に際して制約するものではない。
以下の説明では、情報の森は既定で存在させていて、そこに情報の木を作成するという方針で説明する(これも実装に際しての制約とはしない)。
図13は、本処理のフローを表わす概念図である。
まず、利活用機能で情報の集まりから入力情報が作成される。
前記情報の集まりは、例えばテキストで与えられた文章である。
情報の集まりが文章である場合には、その文章を、例えば利活用機能で形態素解析の手法により情報文字列に分解することができる。
さらに、例えば、助詞等の不要な情報文字列は関係に置換する(S001)。
利活用機能は、分解や置換で得られた情報を本発明の情報処理装置の式のデータ構造としてデータ化(インスタンス化)する。
データ化の際に関係や二の情報の情報文字列が不足する場合は、代わりに可変であることを示すデータなどで埋める(ただし、すべてのデータが、可変であることを示すデータとなることは避ける)(S002)。
利活用機能は、本発明の情報処理装置に対して、前記で得られたデータを入力情報として探索要求をする(探索要求では必要に応じて探索応答用のコールバックを指定する)(S003)。
本発明の情報処理装置が評価対象スタックを実装している場合は、探索要求を受けたら、入力情報を評価対象スタックにPushする(S004)。
本発明の情報処理装置が多階層で連携している場合は、ライブラリ探索を行い、以下の処理のループを優先度の高いものから順次行う(そのライブラリが終了したら次の優先度のライブラリを処理し、未処理のライブラリがなくなったら終了処理に移行する。多階層ではなく孤立している場合は、ローカルライブラリのみ処理)(L001)。
情報カテゴリー間探索を行う(L002)。
情報カテゴリー間探索は、ライブラリ内のすべての情報カテゴリーを順次、情報カテゴリー内探索する。
情報カテゴリー内探索は、評価対象情報(評価対象スタックの先頭)と、情報カテゴリー内の各元との情報評価、妥当性確認を行う(L003)。
情報評価は、評価対象情報と情報カテゴリー内の各元とのマッチングであり、両者のいずれかに可変部分が含まれない場合は一致するか、含まれる場合は代入によりマッチングが可能な場合であるか、の場合に妥当性確認を行う(S005)。
情報評価で false であった場合、および、妥当性確認で疎関係であった場合、情報カテゴリー内探索のループ(L003)を次の未評価の元に進める(S006)。
情報評価で true であった場合、情報カテゴリー内探索は情報カテゴリー内の未評価の(その探索で情報評価を一度もしていない)元との情報評価および妥当性確認を行う。
妥当性確認は、元が満たすべき要件を確認する処理で、元毎に指定できる。
即ち元を登録できるものには妥当性確認も登録することを許可する。
妥当性確認の実体は、探索要求した利活用機能のコールバックハンドラまたは別の利活用機能の API として実装される。
また、妥当性確認の中で、意図的に再帰的な探索を要求させることも可能とする(この場合、意図的ではない再帰的な探索を起こさせたくない場合に未確定を戻り値としないようにする必要がある。また、評価対象スタックや情報の木が分離してしまう点も注意が必要である)。
妥当性確認は、戻り値を true/false としてもよいがこの説明では、既に情報評価が true と確定した組み合わせのため、この実施例では、元毎の疎関係・密関係・未確定のいずれかを返すものとする。
疎関係・密関係と確定しない場合は、すべて未確定とする(S007)。
なお、妥当性確認が設定されてない元の場合は、常に密関係を返したものとみなす。
情報評価で true、妥当性確認で未確定となった場合は、再帰的な探索を行う(S008)。
情報カテゴリー内探索は、同一情報カテゴリー内での情報評価および妥当性確認は密関係の元が見つかる(S010)か、すべての元と疎関係であることが確定する(S009)まで繰り返される。
密関係を検知した場合は、そこまでの再帰的な探索での代入済みの元による、または元と代入の組み合わせによる情報の木を作成する(S011)。
同様に密関係を検知した場合は、探索応答を実行する。
探索応答は探索要求した利活用機能の処理をコールバックする。
探索応答は情報の木の作成(S011)と並行してもよいが、情報の木、情報の森を探索応答で利用することを想定してこの実施例では情報の木作成後としている(情報の森は、この実施例では常に存在しているが、すべての情報の木の作成が完了しないと確定しない点に注意が必要である)(S012)。
すべての元と疎関係であることが確定した場合、入力情報(当初の評価対象情報)とその情報カテゴリーとが疎関係であることを確定する(S013)。
(S012)および(S013)の後、(L003)ループを終了させる。
次に未探索の情報カテゴリーがあればその情報カテゴリーに対して(L002)ループを繰り返し、未探索の情報カテゴリーがなければ(L002)ループを終了させる。
情報カテゴリー間探索のループ後の処理としてすべての情報カテゴリー内探索の結果が、疎関係であったか、一つでも密関係となる情報カテゴリーがあったかを確認する(S014)。
探索結果がすべての情報カテゴリーと疎関係であった場合は、入力情報から、単位元と、入力情報の式を元として持つ情報カテゴリー候補としてデータ化(インスタンス化)する。
情報カテゴリー候補は、データ化直後、既定で候補可否プロパティが false、生存プロパティが true となっている(本実施例での各種プロパティの用途と設定については情報カテゴリー保守手段で説明する)。
前記で得られる情報カテゴリー候補は入力情報を 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 の単位元)
これにより得られた情報カテゴリー候補はクライアント基盤の作業領域の情報カテゴリー候補リストに情報カテゴリー候補として登録する。
情報カテゴリー候補登録時に情報カテゴリー名の一致する情報カテゴリー候補が既存する場合は既定では置換する(キャンセルにしてもよい)(S015)。
(S014)または(S015)の後に未探索のライブラリがあればそのライブラリに対して(L001)のループを繰り返し、未探索のライブラリがなければ(L001)のループを終了して本処理を終了する。
なお、図13は、クライアント基盤機能、ブローカ機能、知識マスター機能各々に対して共通に提供される処理である。
[3−2−2.情報カテゴリー獲得手段115]
情報カテゴリー獲得手段115(以下、本処理)は、作業領域の情報カテゴリー候補リストの情報カテゴリー候補をライブラリに複製して情報カテゴリーに昇格させる手段である。
本処理は、クライアント基盤の場合には上記情報構造化手段114を行った結果として、ブローカおよび知識マスターの場合には情報カテゴリー連携手段(後述する)を行った結果として、作業領域の情報カテゴリー候補リストに生成された情報カテゴリー候補において、候補可否プロパティ、および生存プロパティが共に true であるものをローカルライブラリに複製して情報カテゴリーに昇格させる(プロパティで制御するのは実装例の一つ)。
情報カテゴリー獲得手段115は、クライアント基盤、ブローカ、知識マスターで機能する(ブローカ、知識マスターでは情報カテゴリー獲得手段115と情報カテゴリー連携手段118とを排他的に使用する)。
なお、本手段は作業手順に近く、各ステップを別々に行っても構わない。
図14は、本処理のフローを表わす概念図である。
まず、情報カテゴリー保守手段(後述する)で情報カテゴリーに昇格させたい情報カテゴリー候補の候補可否プロパティ、生存プロパティをともに true に設定する(S101)。
次に、昇格させたい情報カテゴリー候補の配置されている作業領域にある情報カテゴリー候補リストからその作業領域と同じ装置にあるライブラリに候補可否プロパティ、生存プロパティをともに true である情報カテゴリー候補を複製して情報カテゴリーに昇格する(ライブラリに既存する場合は置換する)(S102)。
昇格させた情報カテゴリー候補リストの情報カテゴリー候補は候補可否プロパティを false にする(これにより毎回置換することを避ける)(S103)。
本処理は、クライアント基盤機能、ブローカ機能、知識マスター機能各々に対して共通に提供される処理である。
[3−2−3.情報カテゴリー保守手段116]
情報カテゴリー保守手段116(以下、本処理)は、情報カテゴリーに関する他の手段が、矛盾なく動作できるように保守する手段である。
本処理は、ライブラリの情報カテゴリーあるいは情報カテゴリー候補リストの情報カテゴリー候補内の各種プロパティをオンラインで編集する手段である。
図15(a)は、本処理のフローを表わす概念図である。
まず、多階層の場合はデータストア(階層、ライブラリまたは作業領域)を選択する(S201)。
次に、情報カテゴリー(ライブラリ内の)または情報カテゴリー候補(作業領域の情報カテゴリー候補リスト内の)を選択する(S202)。
選択した情報カテゴリーまたは情報カテゴリー候補のプロパティを編集する(S203)。
この実施例でのプロパティとしては、図15(b)のものを想定しているが機能を実現できればこの内容に固執しない。
なお、ここでのプロパティとは、情報カテゴリー(インスタンス)に実装するプロパティのことであって、2.情報カテゴリーで説明したプロパティ名を使った関係のことではない。
本処理は、クライアント基盤機能、ブローカ機能及び知識マスター機能による処理である。
[3−2−4.情報カテゴリー破棄手段117]
情報カテゴリー破棄手段117(以下、本処理)は、ライブラリから情報カテゴリーを破棄する手段である。
本処理は、破棄プロパティがtrueの情報カテゴリーを自身のライブラリから削除する。
ライブラリでの情報カテゴリーの爆発的増加とそれに伴う探索等の不要な処理を抑制する手段の一つである(情報カテゴリーの一元化および、多階層化もこれらの抑制手段になる)。
なお破棄手段として、データ削除またはデータ不可視化が利用できる。
不可視化してデータを残す場合は、一旦破棄した情報カテゴリーの再登録を回避することに利用できる。
一方、削除は、誤入力によって発生した情報カテゴリー、情報カテゴリー候補の削減のために使用できる。
図16は、本処理のフローを表わす概念図である。
まず、情報カテゴリー保守手段で削除したい情報カテゴリーまたは情報カテゴリー候補の破棄プロパティを true に設定する(S301)。
次に、破棄したい情報カテゴリーまたは情報カテゴリー候補の生存プロパティを確認する。
生存プロパティが true の場合はそのまま終了し、false の場合は次に進む(S302)。
当該の情報カテゴリーまたは情報カテゴリー候補を削除して終了する(S303)。
[3−2−5.情報カテゴリー連携手段118]
情報カテゴリー連携手段118(以下、本処理)は、本発明の情報処理装置を図17のパターン(a), (b), (c)のように多階層に連携させた場合にハブアンドスポークとして情報カテゴリー、追加・更新されたカテゴリー元、追加された関係、について下層から複製されたものを上層で統合して共有・公開できるようにする手段である(以下、情報カテゴリーの連携手段に限定して説明する。カテゴリー元の場合は元候補リスト、関係の場合は図11の関係テーブル、を同様にこの連携手段で上層に複製する)。
各層の役割の主な差分のみを図17(d)に表す。
図17のパターン(a)は三層にした場合であり、三層以上では中間層をすべてブローカとする。
パターン(b), (c)は二層にした場合であり、(b)の場合は、ブローカがないので情報カテゴリーの追加が行われず、(c)の場合は、知識マスターがないので情報が公開されない。
なお、単層の場合は、クライアント基盤として機能するものとする。
本処理は、直下の層の一時ライブラリ(ローカルライブラリ、共有ライブラリ)にある情報カテゴリーを自身の作業領域の情報カテゴリー候補リストに情報カテゴリー候補として複製する(直下の層は一つとは限らない)。
情報カテゴリー獲得手段115と同様に、情報カテゴリー候補リストの情報カテゴリー候補を自身のライブラリに新規追加、または既存すれば更新を行う(この際、情報カテゴリー内の元も更新されている)。
情報カテゴリー連携手段118は、ブローカ、知識マスターで機能し、作業領域の情報カテゴリー候補リストは情報カテゴリー連携手段118で使用する(情報カテゴリー候補リストに登録された情報カテゴリー候補は情報カテゴリー獲得手段115でその装置内のライブラリに情報カテゴリーとして昇格される。ブローカ、知識マスターでは情報カテゴリー獲得手段115と情報カテゴリー連携手段118とを排他的に使用する)。
情報カテゴリー候補リストに複製された情報カテゴリー候補は各情報処理装置の情報カテゴリー獲得手段115で情報カテゴリーに昇格する。
図18(a)は、本処理のフローを表わす概念図である。
以下の説明では、概念図に示される多階層のアーキテクチャは構成済みとし、下位の階層のライブラリの情報カテゴリーを自身の情報処理装置の作業領域の情報カテゴリー候補リストに候補として複製する処理を説明する。
まず、自身に参加している下位の階層のライブラリを全件検索する(S401)。
次に、検索された下位の階層のライブラリに含まれる情報カテゴリーを自身の作業領域の情報カテゴリー候補リストに情報カテゴリー候補として複製する(S402)。
複製された情報カテゴリー候補の候補可否プロパティを false、生存プロパティを true に設定する。
但し、自身のライブラリに情報カテゴリー候補と同一名の情報カテゴリー候補がある場合は、生存プロパティを false にしてもよい(S403)。
知識マスターでは、複製された情報カテゴリー候補の公開プロパティを true にする。
本処理は、ブローカ機能、知識マスター機能各々に対して共通に提供される処理である。
なお、情報カテゴリー獲得手段、情報カテゴリー連携手段の情報カテゴリーのデータフローを図18(b)に示す。
[4.効果]
本実施形態の情報処理装置が備える情報カテゴリーに含まれる元は、客観性を持つ構造化情報である。
元に含まれる関係は数学などで厳格に定義される客観的な二項関係で二の情報間の関係を表すために用いられる。
本実施形態の情報処理装置が備える情報カテゴリーと探索は、以下のモノイドの性質を持つ。
情報カテゴリーは元を持ち、必ず一つの単位元を持つ(探索の単位元)。
探索は、密関係・疎関係が確定すると終了する。
終端記号では密関係・疎関係を直ちに決定し、非終端記号では可変部分に代入を行ったうえで密関係・疎関係を判定する。
探索で密関係・疎関係が確定しない場合と、元に含まれる関係に推移律がある場合と、は探索中の元に代入を行ったものを新たな探索対象として再帰的に探索する(探索の結合法則)。
単位元を探索すると強制的に密関係・疎関係を確定して終了する。
探索は、情報カテゴリーに依存せず共通であり、元毎に探索から呼び出される妥当性確認で元毎の照合判定をカスタマイズできる。
本実施形態の情報処理装置等は、互いに客観的に関係ある情報の集まりを構成することができる。
探索は、客観的に記述された構造化情報間の演算である。
再帰的な探索は、関係の規則に基づくため、客観性を失わずに蓄積する。
すなわち、本実施形態の情報処理装置等は、情報とその間の関係という基本的な構造化情報として入力することで関連する情報を手繰り、さらに構造化された情報(情報の木、情報の森)として表わすことができる。
本実施形態の情報処理装置は、入力情報および探索された元の集まりの自己成長の結果として情報の木を、情報の木の集まりとして情報の森を生成することができる。
それに加えて、本実施形態の情報処理装置は、入力情報と全情報カテゴリーのすべての元との関係の有無を調べ、疎関係(関係がない)場合には、その入力情報を新しい情報カテゴリーとして、獲得し、自己成長することができる。
通常の製品開発においては、リポジトリ(仕様ライブラリ、開発資産)に開発に用いるデータや情報等が体系化されて保管されているにしても、その体系は、その開発部門に固有の定義によるものであった。
そのため、ある開発部門と他の開発部門との間で情報等を共通に利用するためには、共有するための手段を別に設けることが必要で、そのままでは共通に利用することはできないという課題がある。
本実施形態の情報処理装置は、情報間の関係を探索という演算に置き換え、情報間の関係が成立するかという客観的な基準で求め、ある情報カテゴリーに属する元に含まれる情報間の関係として成立する場合に、その情報カテゴリーと密関係にあるとする。
また、ある情報カテゴリーに属する元に含まれる情報間の関係が成立しない場合に、その情報についてはその情報カテゴリーとは疎関係にあり、異なる情報カテゴリーに属する情報とする(すべての情報カテゴリーと疎関係にある場合は、自動的に新たな情報カテゴリーとする)。
本実施形態の情報処理装置により、関係の有無により客観的に構造化された情報により、表現や解釈に揺れのないリポジトリの構築が可能となる。
一元化・一意化された構造化情報に加えて、多様な利活用機能との連携および、多階層化時の公開により、異なる業種や職種であっても、情報を共有することが可能になり、利便性が向上する。
本実施形態の情報処理装置を用いることにより、異業種、異職種リポジトリとして、埋没しがちな価値観の情報抽出し、同じような言葉、概念、作業が異業種間、異職種間である場合、同一であるか別物であるかを識別する。
これにより、シームレスな事業基盤の提供が可能になる、さらに、一元化すべき情報(規格や物理法則など)の共有による調査、決定の作業一元化と情報共有が可能になる。
以上でのリポジトリでの活用は一元化・一意化の効果の説明のための補足的な例であるが、続く実施例3では、開発資産への実際の活用について説明する。
<第三実施形態>
本実施形態は、第二実施形態の情報処理装置等の利活用(利用又は活用)についての実施形態である。
図19は、第二実施形態の情報処理装置001の機能と、それを利活用するシステムの機能との構成とデータフローを表わした概念図である。
なお、以下においては、第二実施形態の情報処理装置001の機能を「本機能」と、それを利活用するシステムの機能を「利活用機能」と、それぞれいうことにする。
利活用機能から本機能へは、出力情報を要求するための、入力情報、情報の構造化を行う上での判断基準である関係、その他の情報が与えられる。
本機能は、与えられた関係を用いて、入力情報から、情報カテゴリーや元を生成し、あるいは、知識を獲得すると同時に、入力情報を構造化し、情報の木や情報の森といった構造化された情報を出力する。
出力された情報が利活用機能に対して出力される場合もある。
利活用機能には以下が含まれる。
・利活用機能からの要求に対する、本機能による出力情報を利活用する機能
・利活用機能と本機能との間に介在し、情報間の関係を、利活用機能から本機能への要求前に事前に解析し、或いは、本機能による出力情報を利活用機能で扱いやすい形式に変換する機能
本機能は、あらかじめ情報間の関係が整理や整形された項目を、異なる下位基盤の情報体系の間で統合していくことで、より抽象度の高い普遍化された情報を二次的に生成していくことに応用することができる。
これにより、特に要求されずに、業種間や職種間を横断した情報間の階層的関係を導出していくことができる。
一方で、情報間の関係そのものの整理や整形については、本機能においては対象としない。
そのため、利活用機能が、関係について整理や整形して本機能へ入力するか、利活用機が整理や整形が可能な方式(正規表現、Prologの利用、テキスト含意分析など)により事前に整理や整形を行っておく必要がある場合がある。
以下においては、本機能により作成した情報の木や情報の森などの利活用機能による利活用の例や、本機能の機能と利活用機能との連携について具体的に説明する。
[1.SEO適正化への利活用]
SEO(Search Engine Optimizer、検索エンジン最適化)は、検索エンジンでのヒット性をよくする手法である。
検索エンジンの代表的な手法、登録されたURI(Uniform Resource Identifier)にクローラがアクセスして、URIに登録されているオブジェクト(アクセス可能なすべてのファイルやその中のキーワード)を取得してデータベースにインデックス化し、利用者が検索する際にはそのインデックス化されたデータベースを検索して応答している。
そこで、SEOでは検索やインデックスで、優位になる手法がとられる。
結果としてヒット性の数値だけで検索されるようになり、このようなSEO対策をとっていないインターネットの情報源は、過剰にアクセス性が低下してしまい、SEO対策済みの情報源の間では均衡状態になって、対策をしただけの効果が見込めない、という課題などがある。
分野が異なっても、同じ用語で検索されるとこの対策の効果で優位な方が分野に関係なく優先されるため意図した検索ができなくなる。
これは、検索する側にとっても、情報提供側にとっても適切なマッチングを阻害しているという意味で不利益となっている。
さらに、近年のビッグデータやインターネットでの機械学習、深層学習ベースでのAIは検索エンジンをベースにしているため、不適切な判断を導く可能性がある。
検索キーワードに対して、分野などの情報が提供できればこのような不利益・不適切な判断の削減が期待できることになる(偶発的な発見の機会も減るが、適切なデータの絞り込みで統計データの信頼性も向上する)。
また、検索において検索キーワードの区切りは通常、演算子ORが省略されたものとみなす。
これは、情報提供サイト側の都合によるものだが、この仕組みだけでは、情報提供側からの一方的な情報提供により、検索結果の情報の肥大化が進みやすく、しかも検索時の意図とは異なるという側面がある。
そのために、利用者側のニーズとは必ずしも一致しない場合が多い。
情報提供サイト側についてはSEO対策を行えばよいため、利用者側で優先順だけではない絞込み機能の提供が必要ということになる。
本機能を併用することで、検索式を自動合成し、適切な絞り込みを行わせる工夫ができる。
情報の木すなわち情報の木を構成する元同士が密関係である場合には、準同型写像 T を用いて、演算・をAND演算に置き換えることができる。
(式30) T(元1・元2)=AND{ T(元1), T(元2) }
一方、情報の森すなわち複数の情報の木は情報の木間のOR演算とする。
(式31) T({情報の木1, 情報の木2, …, 情報の木n})=OR{T(情報の木1), T(情報の木2), …, T(情報の木n)}
情報の木 M の元 N を元(M,N) と表すと、前記二式は以下に表現できる。
(式32) T({情報の木1, 情報の木2, …, 情報の木n})=OR{AND{T(元(1,1)), T(元(1,2)), …, T(元(1,N1))}, …, AND{ T(元(M,1)), …, T(元(M,NM))}}
検索結果の情報が膨大であっても、利用者に十分な知識があれば、検索結果から必要な情報のみを選択することができる。
しかしながら、SEOにより検索を行おうとする利用者は、検索により調査をしたいという目的で検索を行うのだから、前記の選択をするには(あるいはそもそも適切な検索キーワードを入力するには)、事前には十分な知識がないことが想定される。
本機能を適用することにより、検索結果の情報を、適切に絞り込むために必要な情報が補完され、検索による新しい知識の獲得が容易になる。
例えば、インターネットの検索エンジンで”東京 緯度”と検索する場合を考える。
その検索前に、本機能により、”東京”・”日本”という情報の木と、”緯度”・”地理座標”という情報の木とからなる情報の森が生成されたとする。
この場合には、東京AND日本OR緯度AND地理座標と事前に変換して検索を行うことができる。
一方、符号、座標等の情報は、各々の体系から導ける(生成できる)ので、データ一つ一つを元として保持しせずに生成系や正規表現・ワイルドカード等を使うことで、情報カテゴリー数の肥大化を軽減できる。
図19は、ブラウザ402(あるいはそのプラグイン)を利活用機能として連携した第二実施形態において説明した情報処理装置001の構成を表わす概念図である。
ブラウザ402は、情報処理装置001に検索キーワードをベースとして探索を要求する。
ここでの探索は、インターネットへの検索ではなく、インターネットへの検索のためのキーワードや条件を補完することを目的としたクライアントサイドでの辞書的な検索である。
情報処理装置001にはブラウザ402から構造化された入力情報が入力され、情報処理装置001からは情報が追加され、更に構造化された構造化情報(情報の木、情報の森)がブラウザ402に提供される。
検索エンジン401は、ブラウザ402からインターネットへの検索を受けると、これまでの構成、仕組み、資産を変えることなく、その検索条件により検索を行い、その検索結果を出力することができる(情報処理装置001側も構成、仕組みに変更はなく情報カテゴリーでカスタマイズされていく)。
[2.クラスター分析への利活用]
ビッグデータなどで用いられるクラスター分析においては、分析対象の多変量の個体が仮想的な多次元空間に存在する。
クラスターは多次元空間のデータをルールに基づき近接するものをグループ化する分析手法でそのルールは階層型もしくは非階層型に大別される。
階層型も非階層型も、その空間での個体間の距離を定義し、さらにクラスタリングするか別のクラスター(Ci)として分離するかなどを決定する。
(式33a)全データの集合 = ∪ Ci (0 ≦ i)
(式33b)Ci ∩ Cj = φ (i ≠ j)
(式33a)および(式33b)は(式4a)および(式4b)と同一であり、クラスタリングを類別とみなすことができる。
非階層型クラスターは、クラスターを排他的に分離することだけを目的として分類する。
階層型クラスターは、クラスターを排他的な分離に加え、上位階層での包含する枠組みとして規定し、包含関係がトーナメントの木構造になるようにすべてのデータを分類する。
[その1:クラスターの情報カテゴリー化]
本発明の情報処理装置では、クラスター毎に情報カテゴリーを設けてクラスター間の包含関係と、クラスターに分類されるデータの所属関係とを元として登録すればよいことになる。
非階層型クラスターの場合は、クラスターを排他的に分離するだけなので各クラスターを、その代表点を代表元とする同値類とみなすことができ、データの各クラスターを表す同値類への所属関係を表す元、および、同値類の包含関係を表す元またはその同値類の代表元の所属関係を表す元とを単一の情報カテゴリーに登録すればよいことになる。
階層型も非階層型も、距離の測定とクラスター所属の閾値は妥当性確認で処理すればよく、かつ、妥当性確認を利活用機能に任せることで強力に連携することができる。
本機能を応用したクラスタリング方法として、本機能により作成した情報の木をクラスター内、情報の森を複数のクラスターの共存する状態として位置付けるとする。
単一の情報から、複数の情報の木が生成される場合、各情報の木を一つの次元と考えることで、情報が複数の次元の成分を持つものとしてとらえることができる。
これをもとにクラスタリングや多次元データベースを機械的に構成していくことができる。
これにより、クラスター分析の分析結果から主観の影響を排除することができる。
図20は、クラスター分析機能を利活用機能として連携した第二実施形態の情報処理装置001の構成を表わす概念図である。
図20の情報処理装置001は、クラスター分析機能411からデータをもとに分類すべきクラスターを探索する用途を示したものである。
情報処理装置001は、クラスター分析装置411から入力された情報を、探索する。
探索後、密関係にある情報カテゴリーあるいはその中の同値類をクラスターとしてクラスター分析装置411に出力する。
[その2:情報カテゴリーに基づくサンプリング]
本発明の情報処理装置において関係の定義にクラスター分析を利用したり、本発明の情報処理装置をクラスター分析に利用したりすることも考えられる。
クラスター分析は多次元空間、すなわち、採取するデータの測定項目の決定あるいは閾値の決定は現状、人間系で行われており、任意の情報を扱う決定論的な分析手法としては結果に主観が影響し、自動化も難しいという課題がある。
たとえば、情報カテゴリーの様々な元をクラスタリングしたいデータ指標にしたり、所属関係、包含関係を示す元をクラスタリングの指標にしたりするということが考えられる。
また、統計情報などから閾値を定め、閾値よりも小さな距離にあるものを同一クラスターにあるとみなし(内的結合)、大きな距離にあるものを別のクラスターにあるとみなす(外的分離)ことで人間系を排除し、処理を自動化することも可能になる。
図21は、クラスター分析機能を利活用機能として連携した第二実施形態の情報処理装置001の構成を表わす概念図である。
図21の情報処理装置001は、クラスター分析機能411からクラスター分析時に行った分類ルールをもとに探索を要求し、分類ルールを情報カテゴリーやその元として登録(定着化)することでクラスター分析機能での再利用可能な分類ルールを提供する用途を示したものである。
探索に際して、クラスター分析機能を妥当性確認として利用することで密な連携ができる。
クラスター分析機能を妥当性確認として利用する用途として、たとえば、クラスターの中心位置や境界とする距離の閾値設定(元毎に変えることができる)等が考えられる。
分析ルールを情報カテゴリーとして定着させることで、[その1]で示したクラスター分析を包含することができ、再利用、あるいは動的なクラスター分析への活用が期待できる。
[3.ソースコード解析(リバースエンジニアリング)への利活用]
プログラミング言語やプロトコルは、BNF(EBNF、ABNF)などのメタ言語を利用して定義することができる。
ここで、BNFはBackuS-Naur Form(または BackuS Normal Form)、EBNFはExtended BackuS-Naur Formである。
また、ABNFはAugmented BackuS-Naur formである。
そこで、プログラミング言語やプロトコルのメタ言語の定義を情報カテゴリーの元として実装し、解析したいソースコードを入力情報として入力することができる。
これによりソースの構造や統計情報などを取得することができる。
図22は、メタ言語であるEBNFによりあるプログラミング言語(図22以降では仮にXX言語としている)の定義を表わした概念図である。
図23は、図22を情報カテゴリーに近い数学的な関係式で表現した図である。
図24は、図23を情報カテゴリーで表わした表の概念図である。
この情報カテゴリーの概念的な式は次のとおりである(厳格には字句解析に正規表現を使用するべきである。またEBNFでの = 関係を通常の等号と区別するため、EBNF= と表現している)。
図25は、あるソースを表わす概念図である。
図26は、図25のソースを図24に表わしたEBNFの定義の情報カテゴリーを用いて、情報カテゴリーの形式で解析した結果を表わした例の図である(この図は例えば探索応答でログ出力などすることで得ることができる)。
図27(a)は図25のソースから図26の出力結果を得るための利活用機能との連携について、図2(a)の利活用機能としてソース解析ツール421を割り当て、データの内容や流れを示した実施例である。
この実施例では、メタ言語の言語定義情報カテゴリー423を触媒的に利用してソースからその解析結果を情報の木および新たな情報カテゴリー424として生成している(特別な仕組みは必要としない)。
この実施例特有の機能というわけではない(本実施例を使わなくても実現できる)が、言語定義情報カテゴリー423を多様なプログラミング言語分を用意し、切り替えることで単一のツールで多様なプログラミング言語の解析が行えることも想定できる。
[4.利活用機能を利用したメタ言語定義獲得]
前記3.ソースコード解析への利活用では、言語定義が予め情報カテゴリーとして与えられていて、それをもとに当該言語で書かれていた言語ソースの解析に利活用する例を示した。
ソースコード解析の実施例を実現するには、事前に言語定義情報カテゴリー423を用意しておく必要がある。
図27(b)は言語定義ソースから言語定義情報カテゴリーを得るための利活用機能との連携について、図2(a)の利活用機能としてメタ言語プロセッサを割り当て、データの内容や流れを示した実施例である。
メタ言語プロセッサ425と連携させることで、メタ言語定義ソース426から言語定義情報カテゴリー423を得る(自然言語解析に応用すれば語学学習を支援する機能として利用できる)。
まず、プログラミング言語名で探索を要求し、見つからずに固有の情報カテゴリー候補が作成されることを利用する。
メタ言語プロセッサ425でEBNFのメタ言語定義ソース426の一文(シンボル=シンボルで構成される式)を入力情報(EBNF=(シンボル, シンボルで構成される式))として探索を要求する。
探索で疎関係となったら、情報カテゴリー候補を作成せずに情報カテゴリー候補の元候補として先の入力情報をベースとした式を持つ元候補を登録する。
情報カテゴリー候補を昇格させ、昇格させた言語定義情報カテゴリー423に元候補をすべて登録すれば言語定義情報カテゴリー423は完成する。
この実施例でも、メタ言語による言語定義ソース426から情報カテゴリー423を生成しただけである(特別な仕組みは必要としない)。
[5.ソースコード自動生成支援(フォワードエンジニアリング)への利活用]
前記[3.ソースコード解析への利活用]での解析とは逆方向の視点で、ソースの生成に任意の情報カテゴリーを利用することができる。
情報カテゴリーからソースを生成する方法について説明する(いずれか選択できるため図示はしないがEBNFのメタ言語定義または言語定義情報カテゴリーを変換ルールとして再び利用する。これらの言語定義の選択については後述する)。
例えばC#言語で記述した各行は図29に表わしたソースに変換することができる。
図27(c)は利活用機能との連携について、図2(a)の利活用機能としてソース生成ツールを割り当て、情報カテゴリーからソースを生成する際のデータの内容や流れを示した実施例である。
図28に表わした表の意図について説明する。
この図の表では生成後のソースの構成要素を明確にするため、あえて具体的な情報文字列ではなく、変数名、クラス名などと表記している。
4行目に表わした、クラス名2、⊂、クラス名3からなる元から クラス名2⊂クラス名3 という関係があることになる。
クラスは集合を排他的に分割した部分集合なので、二つのクラスに包含関係⊂があるということは分割のレベルが異なるからということになる。
関係に着目するとこの元は以下の継承に相当する。
class クラス名2 : クラス名3 {
}
クラス2はクラス3を継承していて、すなわちクラス3の部分集合となっている(サブクラス⊂クラス)。
ここで、{}でくくった範囲はブロックである。
3行目に表わした、変数名、∈、クラス名1からなる元から 変数名∈クラス名1 という関係があることになる。
関係に着目するとこの元は以下のインスタンス化に相当する。
public クラス名1 変数名=new クラス名1();//∈ 関係
最初のクラス名1はデータ型を意味し、次のクラス名1はコンストラクタを意味する(インスタンス∈クラス、ここでは、変数名∈クラス名1)。
コンストラクタというのは、インスタンス化(プログラムが実行されてクラスが初めてメモリ上に構築されること)された時に最初に無条件に呼び出される処理である。
このような情報カテゴリーの関係に着目して変換(対応付け)していくことで、図29のソースを得ることができる。
ここで図29の一番外側(クラスの継承の横に出てくる)の{}がクラスの範囲を示すブロックある。
クラス名1の中で変数名が存在していることになるため、そうなるように自動生成している。
この処理の中で妥当性確認処理列に登録された静的(static)な処理がメソッド1としてインスタンス化する前に呼び出して事前チェックしてからインスタンス化するようにソースコードの一部が自動生成できる(別な手段としてインスタンス化した後に無効なインスタンスとして管理してもよい)。
探索応答については、図28からは判断できないが、利活用機能側で実装する必要があるため、生成されるソースに直接実装する必要はない(但し、利活用機能の探索応答の登録有無の確認と、登録されていた場合のコンストラクタなどからのコールバックする処理と、は必要になる)。
なお、変換(対応付け)のルールについては、言語定義情報カテゴリー423を利用してもよいし、利活用機能であるソース生成ツール427側で実装しても構わないことになる。
この実施例でも、既存の情報カテゴリー429で探索結果(情報の木および情報の森)を変換ルールで変換してソース428を生成するだけである(特別な仕組みは必要としない)。
変換(対応付け)を他の言語に変えれば他のプログラミング言語でもソース生成ができる(つまりリポジトリとして活用できる)。
関係で記述されているため、手続き型言語には向かないケースもありうる。
そこでPrologおよびOWLでの変換の規則について図30(a), (b)に各々一例を示した。
Prologは探索要求の発行元だけでなく、妥当性確認の処理の主体として利活用ができ、かつ長い歴史で生まれた資産との相互運用として活用していくことが期待できる。
OWLは、元来インターネット上のいろいろな資産の意味づけ的な役割があり、本発明の情報処理装置で得た情報と相互運用することでIoTを支える基盤の一つとして期待することができる。
以上により、利活用機能との連携で、プログラミング言語との相互運用が可能であることが示せた。
[6.効果]
本実施形態の情報処理装置001は、各利活用において特別な追加の実装を行うことなく、説明したそれぞれの効果を奏する。
すなわち、1.SEOでの検索式自動生成方法への利活用、においては、未入力の検索キーワードを補完し、かつSEOによる検索結果の情報が、不必要に膨大になるのを防ぐことができる。
また、2.クラスター分析への利活用、その1、においては、クラスター分析の分析結果をもとにした主観の影響を排除した情報カテゴリーあるいは元を生成することができる。
また、同、その2、においては、クラスター分析に直接参加させることで主観の排除された信頼性の高い構造化情報を得ることができる。
また、3.ソースコード解析(リバースエンジニアリング)への利活用、においては、ソースコード解析が行える。
4.利活用機能を利用したメタ言語定義獲得、においては、言語の辞書化に関する利活用が行え、語学学習支援あるいはソースコード解析およびソースコード自動生成支援でさらなる利活用ができる。
5.ソースコード自動生成支援(フォワードエンジニアリング)への利活用、においては、ソースコード生成への利活用が行える。
ソースコード解析とソースコード生成の循環系の一部を担うことができる。
また、ソースコード解析、ソースコード自動生成は言語定義を切り替えることで、他の言語のソースコード解析、ソースコード自動生成が可能である。
以上のように、好ましい実施形態をあげて本発明を説明したが、本発明は必ずしも上記実施形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記述され得るが、当然に、以下に限定されるものではない。
(付記A1)<アーキテクチャとデータ構造>
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が実装され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、
データストアと、データ処理エンジンと、データ保守エンジンとを備える情報処理装置。
(付記A2)<構造化された入力情報、評価対象情報>
入力情報(後述する)が、情報の集まり(後述する)から抽出し、一つまたは二つの情報からなる文字列とその間の関係とで構造化された(構造、様式、条件を持たせた)情報(一の情報があれば、関係及び二の情報は必要としない)であり、
入力情報を初期の評価対象情報(後述する)とする、
付記A1に記載された情報処理装置。
(付記A3)<情報カテゴリー>
前記モノイドの集合要素の元の二の情報あるいは関係に値を割り当てたものを情報カテゴリー(後述する)とし、情報カテゴリー間の関係はいずれかの情報カテゴリーの元として実装されて直接的には元を共有しない、
付記A1に記載された情報処理装置。
(付記A4)<元候補>
前記入力情報と、前記情報カテゴリーの元に含まれる前記二の情報のうちの一の情報とが前記関係にあるかを判定し、
前記情報カテゴリーに含まれるいずれかの元に含まれる二の情報のうちの少なくとも一の情報と、
前記関係があると判定された場合に、前記入力情報と、前記入力情報と前記関係がある前記一の情報と、
前記入力情報と前記一の情報との前記関係と、を備える複合情報を作成し、
作成したものを元の候補としてそのデータストアに追加する、
付記A1に記載された情報処理装置。
(付記A5)<情報カテゴリー候補>
前記入力情報が、前記情報カテゴリーに含まれるいずれの元に含まれる二の情報のうちのいずれの情報とも、前記関係があると判定されなかった場合に、
その判定されなかった前記入力情報の備える情報と既定の関係とを単位元(後述する)として備える新たな情報カテゴリーの候補としてそのデータストアに追加する、
付記A1に記載された情報処理装置。
(付記A6)<探索と組み込み関係との対応付け>
三つの関係(証明可能(├), 包含関係(⊂), 所属関係(∈))を組み込み、探索(後述する)を前記モノイド共通の演算要素と位置付け、三つの関係に各々、探索での機能や役割(探索の終了条件、情報カテゴリー内探索(後述する)、情報カテゴリー間探索(後述する))を持たせ、
初期状態では指定された関係があればその関係を、なければ ∈ 関係を設定した入力情報(後述する)をライブラリ(後述する)に対して探索を開始し、
ライブラリに含まれる情報カテゴリーの元との照合を行い、
探索の結果として、密関係・疎関係・未確定のいずれかを返す、
付記A1から付記A5のいずれか1つの付記に記載された情報処理装置。
(付記A7)<探索、情報評価・妥当性確認>
探索を定められた条件(後述する)によりモノイドの演算として機能させ、探索の中で評価対象情報と情報カテゴリーの元との間で情報の文字列としての照合を行う情報評価(後述する)と、情報の範囲や構造に関する検証を行う妥当性確認(後述する)と、を行う、
付記A6に記載された情報処理装置。
(付記A8)<単位元>
付記A5において、証明可能(├)を関係とし情報カテゴリー名(後述する)を二の情報各々の値とする式を単位元(前記モノイドの単位元要素)とする、
付記A5から付記A7のいずれか1つの付記に記載された情報処理装置。
(付記A9)<導出原理:密関係・疎関係・未確定、終了条件1>
情報評価においては、成否または未確定を返し、情報の文字列が終端記号(後述する)または単位元(後述する)である場合は成否を返し(一致の場合に成)、情報の文字列が非終端記号(後述する)でのマッチングである場合に未確定(マッチの場合)または否(アンマッチの場合)とし、
妥当性確認においては、情報の変域・値域チェックや書式・構造チェック等で受理される場合は成とし、不受理の場合は否とし、
さらに、情報評価が成で妥当性確認も成である場合に密関係を返し、いずれかが否である場合に疎関係を返し、いずれでも成否が確定しない場合に未確定を返し、
情報評価が密関係または疎関係である場合に探索を終了する、
付記A4乃至付記A5のいずれか1つの付記に記載された判定方式を持つ付記A8に記載された情報処理装置。
(付記A10)<再帰的探索、評価対象情報、終了条件2>
情報評価が未確定である場合にその元に対して本発明で限定する代入を施したものを新たな評価対象情報として生成することで再帰的に探索(後述する)を密関係・疎関係が確定するまで行い、
その結果が密関係である場合は再帰前の未確定な情報評価を成とし、疎関係である場合は再帰前の未確定な情報評価を否とし、
その再帰的な探索の過程を保持するデータ処理エンジンをさらに備える、
付記A9に記載された情報処理装置。
(付記A11)<再帰的探索詳細(推移関係)>
推移律の定義された関係(⊂ 等)について、再び同関係により再帰的な情報カテゴリー内探索、または情報カテゴリー間探索を行う機能を持たせた、
付記A10に記載された情報処理装置。
付記A2に記載された判定方式を持つ付記A6に記載された情報処理装置。
(付記A12)<再帰的探索詳細(生成系)>
生成系を利用することで入力情報そのものの情報カテゴリー候補リストや元候補リストへの登録、再起検索を回避する機能を持たせた、
付記A10に記載された情報処理装置。
(付記A13)<階層化(共有・公開)、階層間連携、各層の役割>
本発明の情報処理装置を複数束ねて二階層以上のハブアンドスポークの各ノードとして役割分担して連携させることで、
複数の下層の情報カテゴリー候補、元候補、関係の共有(後述する)と公開(後述する)を促進させ、
同時に、共有による情報カテゴリー候補、元候補、関係の見直し機会の提供する、
付記A6から付記A12のいずれか1つの付記に記載された情報処理装置。
(付記A14)<応用原理:探索・探索応答での利活用機能の参加>
利活用機能に本発明の情報処理装置の探索、探索応答(後述する)の処理に参加させる機能を持たせた、
付記A6から付記A12のいずれか1つの付記に記載された情報処理装置。
(付記A15)<応用原理:情報の木・情報の森>
探索の結果または探索応答から入力情報に関連する新たな構造化された情報の集まりとして、情報の木(後述する)および情報の森(後述する)を作成し提供する、
付記A14に記載された情報処理装置。
(付記A16)<応用:クラスター分析>
クラスター分析機能でクラスタリング解析を行い、
クラスター分析装置から得られるクラスター分析ルールのデータストアとして情報カテゴリーを利用する、
付記A15に記載された情報処理装置。
(付記A17)<応用:クラスター分析支援>
クラスター分析機能と連携し、
付記A16で得られた情報カテゴリーのクラスター分析ルールを用いてクラスタリング解析を行い、
クラスター分析機能を支援する、
付記A14に記載された情報処理装置。
(付記A18)<応用:メタ言語解析>
あるソフトウェアのメタ言語の定義及びそのソフトウェアのソースコード、から抽出した情報、を前記入力情報とし、
前記モノイドを表わす情報の出力をする、
付記A14に記載された情報処理装置。
(付記A19)<応用:ソース生成>
入力された前記モノイドを表わす情報からソースコードを自動生成するソースコード自動生成支援装置をさらに備える、
付記A15に記載された情報処理装置。
(付記B1)<アーキテクチャとデータ構造>
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が定義され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、情報処理方法。
(付記C1)<アーキテクチャとデータ構造>
二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
その集合に演算に相当する探索処理が定義され、
その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
集合と演算の組をモノイドとして機能させ、
演算に相当する探索処理を個々のモノイドによらず一元化した、
データ処理エンジンとして表わす処理をコンピュータに実行させる情報処理プログラム。
本発明の活用例として、「発明を実施するための形態」あるいは「実施例」での利用が考えられる。
また実施形態、実施例などをさらに応用して、AIの学習機能のナレッジベース、OWLとの連携によるIoTデバイスの名前解決等としての活用などが考えられる。
AIの学習機能のナレッジベースでは、必要となる知識情報処理を一部担うことができると予想される(共通ルール的な部分の知識情報処理は残し、獲得する知識を本情報処理装置に担わせる)。
IoTデバイスは、オントロジーを使ってWeb上に存在するもの(デバイス、データなど)に名前付けや関係に基づく相互の関連性を本発明の情報処理装置と連携させることで辞書化を担うことができると予想される。
001 情報処理装置
002 利活用機能
003 形態素解析(利活用機能の代表的な例として)
101 データ処理エンジン
102 データ保守エンジン
103 データストア
104 探索
105 探索応答
106 ライブラリ
107 作業領域
108 情報カテゴリー
109 情報カテゴリー候補リスト
110 元候補リスト
111 情報カテゴリー間探索
112 情報カテゴリー内探索
113 妥当性確認
114 情報構造化手段
115 情報カテゴリー獲得手段
116 情報カテゴリー保守手段
117 情報カテゴリー破棄手段
118 情報カテゴリー連携手段
121 式
122 関係
123 一の情報(情報文字列)
124 二の情報(情報文字列)
125 入力情報(式)
126 元
130 情報の木
131 情報の木の分岐点
132 照合された元の式(式)
133 元の式への代入(式)
134 情報の森
135 評価対象スタック
136 評価対象情報
301 知識マスター
302 知識ライブラリ
303 ブローカ
304 共有ライブラリ
305 クライアント基盤
306 ローカルライブラリ
401 検索エンジン
402 ブラウザ(利活用機能)
403 情報カテゴリー
411 クラスター分析機能(利活用機能)
412 データ
413 情報カテゴリー
421 ソース解析ツール(利活用機能)
422 XX 言語で書かれたソース
423 XX 言語定義情報カテゴリー
424 ソース解析結果情報カテゴリー
425 メタ言語プロセッサ(利活用機能)
426 XX 言語定義ソース
427 ソース生成ツール
428 XX 言語で書かれたソース
429 設計情報カテゴリー

Claims (20)

  1. 二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
    その集合に演算に相当する探索処理が実装され、
    その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
    集合と演算の組をモノイドとして機能させ、
    演算に相当する探索処理を個々のモノイドによらず一元化した、データ処理エンジンと、
    元の情報をライブラリに保持される前記モノイドとなる情報カテゴリーに獲得・保守・破棄し、他の同情報処理装置との間で連携するデータ保守エンジンと、
    データ処理エンジンの探索処理で元を探索するライブラリと、データ保守エンジンで元の情報を獲得・保守・破棄・連携処理で扱う作業領域と、を記憶するデータストアと、
    を備え、
    前記データ処理エンジンが、
    三つの関係(証明可能(├), 包含関係(⊂), 所属関係(∈))を組み込み、探索処理を情報カテゴリー共通の演算要素と位置付け、三つの関係に各々、探索処理での機能や役割(探索処理の終了条件、情報カテゴリー内探索処理、情報カテゴリー間探索処理)を持たせ、
    初期の評価対象情報では指定された関係があればその関係を、なければ ∈ 関係を設定した入力情報をライブラリに対して探索処理を開始し、
    ライブラリに含まれる情報カテゴリーの元の式との照合を行い、
    探索処理の結果として、密関係・疎関係・未確定のいずれかを返す、
    情報処理装置。
  2. 入力情報が、利活用機能から入力された情報の集まりから抽出し、一つまたは二つの情報からなる文字列とその間の関係とで構造化された(構造、様式、条件を持たせた)式の情報(一の情報があれば、関係及び二の情報は必要としない)であり、
    入力情報の式探索の初期の評価対象情報とする、
    請求項1に記載された情報処理装置。
  3. 前記情報カテゴリーの集合要素の元の二の情報あるいは関係に値を割り当てたものを情報カテゴリーの元を一意に識別し構成する式とし、情報カテゴリー間の関係はいずれかの情報カテゴリーの元の式として実装されて直接的には元を共有しない、
    請求項1に記載された情報処理装置。
  4. 入力情報と、情報カテゴリーの元の式に含まれるの情報のうちの一の情報と関係にあるかを判定し、
    情報カテゴリーに含まれるいずれかの元に含まれる式の二の情報のうちの少なくとも一の情報と、
    係があると判定された場合に、入力情報と、当該入力情報関係があると判定された情報カテゴリーの元の式の一の情報および関係と、を備える複合情報を作成し、
    作成したものを元の候補としてそのデータストアの作業領域に追加する、
    請求項1に記載された情報処理装置。
  5. 入力情報が、情報カテゴリーに含まれるいずれの元の式に含まれる二の情報のうちのいずれの情報とも、前記関係があると判定されなかった場合に、
    その判定されなかった前記入力情報の備える情報と既定の関係とを単位元として備える新たな情報カテゴリーの候補としてそのデータストアの作業領域に追加する、
    請求項1に記載された情報処理装置。
  6. 探索処理を定められた条件により情報カテゴリーの演算として機能させ、探索処理の中で評価対象情報と情報カテゴリーの元との間で情報の文字列としての照合を行って成否または未確定を返す情報評価と、情報の範囲や構造に関する検証を行って成否を返す妥当性確認処理と、を行う、
    請求項1から請求項5のいずれか1項に記載された情報処理装置。
  7. 明可能(├)を関係とし情報カテゴリー名を二の情報各々の値とする公理A├Aを表す式を単位元(前記モノイドの単位元要素)とする、
    請求項5または請求項6に記載された情報処理装置。
  8. 情報評価においては、成否または未確定を返し、探索対象の式の情報の文字列が終端記号または単位元である場合は成否を返し(一致の場合に成)、探索対象の式の情報の文字列が非終端記号での探索された情報カテゴリーの元の式とのマッチングである場合に未確定(マッチの場合)または否(アンマッチの場合)とし、
    妥当性確認処理においては、利活用機能が提供するライブラリまたは/およびコールバックを活用した情報変域・値域チェック、書式・構造チェック受理される場合は成とし、不受理場合は否とし、
    さらに、情報評価が成で妥当性確認処理も成である場合に密関係を返し、いずれかが否である場合に疎関係を返し、いずれでも成否が確定しない場合に未確定を返し、
    情報評価が密関係または疎関係である場合に探索処理を終了する、
    請求項4または請求項5に記載された判定方式を持つ請求項に記載された情報処理装置。
  9. 情報評価が未確定である場合にその元に対して本発明で限定する代入を施したものを新たな評価対象情報として生成することで再帰的に探索処理を密関係・疎関係が確定するまで行い、
    その結果が密関係である場合は再帰前の未確定な情報評価を成とし、疎関係である場合は再帰前の未確定な情報評価を否とし、
    その再帰的な探索処理の過程を保持するデータ処理エンジンをさらに備える、
    請求項に記載された情報処理装置。
  10. 推移律の定義された関係(⊂について、再び同関係により再帰的な情報カテゴリー内探索処理、または情報カテゴリー間探索処理を行う機能を持たせた、
    請求項に記載された情報処理装置。
  11. 生成系を利用することで入力情報そのものを情報カテゴリーの候補とする作業領域の情報カテゴリー候補リストや入力情報そのものをいずれかの情報カテゴリーの元の候補とする作業領域の元候補リストへの登録、再帰検索を回避する機能を持たせた、
    請求項に記載された情報処理装置。
  12. 本発明の情報処理装置を複数束ねて二階層以上のハブアンドスポークの各ノードとして役割分担して連携させることで、
    複数の下層の情報処理装置に記憶された情報カテゴリー候補、元候補、関係の上位層との共有と公開を促進させ、
    同時に、共有による情報カテゴリー候補、元候補、関係の見直し機会の提供する、前記データ保守エンジンを有する
    請求項6から請求項11のいずれか1項に記載された情報処理装置。
  13. 利活用機能に本発明の情報処理装置の探索処理中に、本方式の情報処理装置から利活用機能へのコールバックとして呼び出される利活用機能側の探索応答処理を登録できる機能を持たせた、
    請求項6から請求項11のいずれか1項に記載された情報処理装置。
  14. 探索処理の結果または探索応答処理からその探索処理を行った入力情報を根とするすべての評価対象情報の情報を探索された順に構造化した情報の集まりとして、単一の木構造の情報の木および複数の木構造の情報の森を作成し提供する、
    請求項13に記載された情報処理装置。
  15. 利活用機能のクラスター分析機能でクラスタリング解析を行い、
    クラスター分析装置からの入力情報として得られる距離、階層、クラスターの閾値を含むクラスター分析ルールのデータストアとして情報カテゴリーを利用する、
    請求項14に記載された情報処理装置。
  16. 利活用機能のクラスター分析機能と連携し、
    前記クラスター分析ルールを用いてクラスタリング解析を行い、
    クラスター分析機能を支援する、
    請求項13に記載された情報処理装置。
  17. 利活用機能のソースコード解析機能から、あるソフトウェアのメタ言語の定義及びそのソフトウェアのソースコード、当該ソースコードから抽出した情報、入力情報とし、
    ノイドを表わす式の情報の出力をする、
    請求項13に記載された情報処理装置。
  18. 利活用機能のソースコード解析機能から入力されたノイドを表わす式の情報からソースコードを自動生成するソースコード自動生成支援装置をさらに備える、
    請求項14に記載された情報処理装置。
  19. 情報処理装置のデータ処理エンジンが、
    二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
    その集合に演算に相当する探索処理が定義され、
    その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
    集合と演算の組をモノイドとして機能させ、
    演算に相当する探索処理を個々のモノイドによらず一元化し
    前記情報処理装置のデータ保守エンジンが、元の情報をライブラリに保持される前記モノイドに獲得・保守・破棄し、他の同情報処理装置との間で連携し、
    前記情報処理装置のデータストアが、データ処理エンジンの探索処理で元を探索するライブラリと、データ保守エンジンで元の情報を獲得・保守・破棄・連携処理で扱う作業領域と、を記憶し、
    前記データ処理エンジンが、
    三つの関係(証明可能(├), 包含関係(⊂), 所属関係(∈))を組み込み、探索処理を情報カテゴリー共通の演算要素と位置付け、三つの関係に各々、探索処理での機能や役割(探索処理の終了条件、情報カテゴリー内探索処理、情報カテゴリー間探索処理)を持たせ、
    初期の評価対象情報では指定された関係があればその関係を、なければ ∈ 関係を設定した入力情報をライブラリに対して探索処理を開始し、
    ライブラリに含まれる情報カテゴリーの元の式との照合を行い、
    探索処理の結果として、密関係・疎関係・未確定のいずれかを返す、
    情報処理方法。
  20. データ処理エンジンの探索処理で元を探索するライブラリと、データ保守エンジンで元の情報を獲得・保守・破棄・連携処理で扱う作業領域と、を記憶するデータストアを備えた情報処理装置のデータ処理エンジンに、
    二の情報と、当該二の情報のうちの一の情報と当該二の情報のうちの他の一の情報との関係と、を含む情報、を元とする集合で、
    その集合に演算に相当する探索処理が実装され、
    その演算に関して閉じていて、単位元を持ち、結合法則が成り立たせることで、
    集合と演算の組をモノイドとして機能させ、
    演算に相当する探索処理を個々のモノイドによらず一元化する処理を実行させ、
    情報処理装置のデータ保守エンジンに、
    元の情報をライブラリに保持される前記モノイドとなる情報カテゴリーに獲得・保守・破棄し、他の同情報処理装置との間で連携させ、
    前記データ処理エンジンに、
    三つの関係(証明可能(├), 包含関係(⊂), 所属関係(∈))を組み込み、探索処理を情報カテゴリー共通の演算要素と位置付け、三つの関係に各々、探索処理での機能や役割(探索処理の終了条件、情報カテゴリー内探索処理、情報カテゴリー間探索処理)を持たせ、
    初期の評価対象情報では指定された関係があればその関係を、なければ ∈ 関係を設定した入力情報をライブラリに対して探索処理を開始し、
    ライブラリに含まれる情報カテゴリーの元の式との照合を行い、
    探索処理の結果として、密関係・疎関係・未確定のいずれかを返す、処理を実行させる、
    情報処理プログラム。
JP2016198162A 2016-10-06 2016-10-06 情報処理装置、情報処理方法及び情報処理プログラム Active JP6575478B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016198162A JP6575478B2 (ja) 2016-10-06 2016-10-06 情報処理装置、情報処理方法及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016198162A JP6575478B2 (ja) 2016-10-06 2016-10-06 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2018060406A JP2018060406A (ja) 2018-04-12
JP6575478B2 true JP6575478B2 (ja) 2019-09-18

Family

ID=61908532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016198162A Active JP6575478B2 (ja) 2016-10-06 2016-10-06 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP6575478B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220398355A1 (en) * 2020-01-20 2022-12-15 Mitsubishi Electric Corporation Design support device and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2755148A1 (en) * 2013-01-15 2014-07-16 Fujitsu Limited Data storage system, and program and method for execution in a data storage system

Also Published As

Publication number Publication date
JP2018060406A (ja) 2018-04-12

Similar Documents

Publication Publication Date Title
US20240152542A1 (en) Ontology mapping method and apparatus
US11625424B2 (en) Ontology aligner method, semantic matching method and apparatus
Cui et al. Benefits of ontologies in real time data access
AU2015258752A1 (en) Putative ontology generating method and apparatus
US20170061001A1 (en) Ontology browser and grouping method and apparatus
Peterfreund et al. Complexity bounds for relational algebra over document spanners
Seipel et al. Domain-specific languages in Prolog for declarative expert knowledge in rules and ontologies
Cano-Benito et al. Toward the ontological modeling of smart contracts: a solidity use case
Ángel et al. Automated modelling assistance by integrating heterogeneous information sources
Iglesias-Molina et al. An ontological approach for representing declarative mapping languages
Koubarakis et al. A retrospective on Telos as a metamodeling language for requirements engineering
Xu et al. Application of rough concept lattice model in construction of ontology and semantic annotation in semantic web of things
Buey et al. Automatic legal document analysis: Improving the results of information extraction processes using an ontology
Mosca et al. Ontology learning from relational database: a review
Fillotrani et al. Evidence-based lean conceptual data modelling languages
JP6575478B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
Kagal et al. Gasping for air why we need linked rules and justifications on the semantic web
Mocan et al. Solving semantic interoperability conflicts in cross-border e-government services
CN114880483A (zh) 一种元数据知识图谱构建方法、存储介质及系统
Boiret et al. Privacy Operators for Semantic Graph Databases as Graph Rewriting
CN114648121A (zh) 一种数据处理方法、装置、电子设备和存储介质
Forcher et al. Semantic logging: Towards explanation-aware das
Obraczka et al. Big Data Integration for Industry 4.0
Ramanujam et al. Relationalization of provenance data in complex RDF reification nodes
Dutta et al. AMV: Algorithm Metadata Vocabulary

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190805

R150 Certificate of patent or registration of utility model

Ref document number: 6575478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150