1.5hop+の思想:意味で探索する概念近傍
BoKでは開発プロジェクトの知識を知識グラフおよび知識ベクトルとして集積します。RAG経由で生成AIに知識を受け渡す処理では知識グラフへの検索が必要になりますが、この時の検索方式として1.5hop+について検討します。
1.5hop+ は、固定された hop 数ではなく、 概念理解にとって不可欠な意味構造を基準に 概念近傍を構成するための思想です。
この考え方は、RDF や OWL の表現力を前提としながらも、 単なるグラフ探索に留まらず、 モデル (Model)に基づいた意味理解を実現することを目的としています。
SimpleModeling では UML メタモデル由来のオブジェクト・モデル (Object Model)を採用しているため、モデルの構造に一定の枠組みが存在します。これを利用することにより、1.5hop+ が実務的に成立するのではないかと考えています。
固定hop探索の限界
RDF / OWL による知識表現では、 概念の意味は単一ノードに閉じて存在するものではなく、 複数のノードと関係の集合として構成されます。
例えば、あるクラス (Class)を理解するためには、 そのクラスが持つプロパティ、 各プロパティのデータ型 (Data Type)、 さらにそれらに課された値域や制約 (Constraint)まで含めて把握する必要があります。
これらの構造は RDF グラフ上では自然に 2hop 以上の深さを持ち、 探索距離を固定すると、意味理解に必要な情報が欠落します。
1.5hop+の基本的な考え方
1.5hop+ は、「どこまで辿るか」を距離で決めるのではなく、 「その要素が概念理解に不可欠かどうか」を基準に探索範囲を決定します。
基本原則は次の通りです。
-
直接関係する要素(1hop)は必ず含める
-
型定義・値域・制約など、意味的に不可分な構造は hop 数に関係なく含める
-
無制限な探索は行わず、実装上は安全な上限を設ける
この「+」は、探索深度が可変であること、 そして距離よりも意味を優先する姿勢を表しています。
CMLであることの意義
1.5hop+ が実務で成立する最大の理由は、 モデル定義に CML (Cozy Modeling Language) を用いている点にあります。
CML は UML メタモデル由来の言語であり、 クラス、プロパティ、型、汎化 (Generalization)、関係といった要素が 明確な意味役割を持って定義されています。
このため、 「どのノードが概念理解に必須か」 「どの関係が型理解に不可欠か」 を機械的なルールとして判断できます。
SimpleModeling / SIE における位置づけ
SimpleModeling および Semantic Integration Engine (SIE)(SIE)では、 1.5hop+ を概念理解のための基本探索単位として採用しています。
explainConcept や graph 検索 API は、呼び出し側に hop 数を指定させるのではなく、内部で 1.5hop+ に基づく概念近傍を軸に探索を行います。
まとめ
知識グラフの探索は、汎用性を追求すると速度が犠牲になります。
扱う知識の性質を特定できれば、その特性を活かした探索によって、検索の精度と速度の両立が可能になると考えられます。
1.5hop+はこの問題意識に基づき、SimpleModelingによるBoKの操作 (Operation)を円滑に行うための手法として開発されています。
参照
用語集
- BoK (Body of Knowledge)
-
SimpleModelingでは文脈共有の核となる知識体系をBoK (Body of Knowledge)と呼んでいます。 BoKの構築は、知識の共有、教育、AIによる支援、自動化、意思決定支援を可能にするための基盤です。
- 検索強化生成 (RAG, Retrieval-Augmented Generation)
-
生成AIが内部(パラメトリック)知識だけでなく、外部の知識ソースを検索してから応答を生成する技術。 RAGはまずデータベースや知識グラフなどから関連情報を検索し、それを文脈として取り込み、より正確で最新の応答を生成する。
- 知識グラフ (knowledge graph)
-
現実の概念・事物・出来事をノードとし、その関係をエッジとして表す意味的グラフ構造の知識ベース。
- RDF
-
W3C により標準化された、情報を「主語–述語–目的語」の三つ組(トリプル)で表現するための知識記述モデル。
- UML (Unified Modeling Language)
-
オブジェクト指向分析・設計のための統一モデリング言語。クラス図、シーケンス図、ユースケース図などを通じてシステム構造と動作を表現する。UPおよびCBDの基盤言語。
- シンプルモデリング (SimpleModeling)
-
SimpleModelingは、KnowledgeからDomain Modelを構成し、CMLで形式化し、CozyとAIによって実行可能ソフトウェアへ実現し、Textus上で動作させる、モデリング中心のソフトウェア開発方法論と技術体系です。
- モデル (Model)
-
Modelとは、対象を特定のPurposeとConcernに基づいて選択し、理解、判断、検証、構築に利用できる形で表した抽象です。対象そのものではなく、目的に必要な要素、関係、意味を保持する表現です。
- オブジェクト・モデル (Object Model)
-
Undefined
- データ型 (Data Type)
-
UMLにおけるData Typeは、InstanceがIdentityではなく値によって識別されるClassifierです。Data TypeのInstanceは、同じ値を持つ場合に区別されません。
- 制約 (Constraint)
-
UMLにおけるConstraintは、一つ以上のModel ElementのSemanticsの一部を宣言するため、自然言語または機械可読言語で表した条件または制限です。評価結果はBooleanであり、評価は副作用を持ちません。
- クラス (Class)
-
Undefined
- 型 (Type)
-
Undefined
- Cozy Modeling Language (CML)
-
CML(Cozy Modeling Language)は、オブジェクト・モデルのうち、プログラム生成と実行へ接続する実行可能モデルを記述するSimpleModelingの形式モデリング言語です。
- 汎化 (Generalization)
-
UMLにおけるGeneralizationは、より一般的なClassifierと、より具体的なClassifierの間の分類学的Relationshipです。具体側のInstanceは一般側のInstanceでもあり、具体側は一般側のFeatureを継承します。
- Semantic Integration Engine (SIE)
-
Semantic Integration Engine|Semantic Integration Engine(意味統合エンジン) ============= status=published published_at=2025-12-08 tag=simplemodeling_unique
- 操作 (Operation)
-
UMLにおけるOperationは、関連するBehaviorを呼び出すための名前、型、Parameter、Constraintを定めるClassifierのBehavioral Featureです。Operationは呼び出し契約を定め、MethodなどのBehaviorがその実現を担います。