EWSOの概要
EWSOは、あらゆる目的でLLM出力を強化するために、知識の構造化された表現を活用する動的なオントロジー工学方法論のオントロジーです。 EWSOには、オントロジーエンジニアリング方法論テンプレートLLMペルソナプロンプトを使用して、構造化された応答を出力できるようにするための抽象的な構文が含まれます。これらの構造は依然として確率的であり、修正するためにGanのようなロールプレイの会話構成で除正当を必要とします。このドキュメントは、AI対応エージェント内のLLM通訳者の使用を形式化する構文の基礎を提供し、以前の会話の集約された出力から合成されたオントロジーを自律的に構築し、オントロジーを認識している自律AIエージェントを可能にします。減圧。
緊急のWeb構造は、関係(存在論的2形態のような)などの変換チェーンで互いにリンクされた抽象的な緊急エンティティの層のクラスターであり、チェーン内のリンクであり、2つの二重フィードバックループで構成された二重フィードバックループで構築されたデュアルフィードバックループからの変換をもたらします。言い換えれば、それは完全な概念と見なされるものを作成し、デュアルフィードバックループ(など)で構成されたデュアルフィードバックループを持つオントロジーマイニングと抽出のためにワークフローで使用できる2つの主要言語を使用することでそうします。以下に、CorlとPCNLの2つの例を示します。 EWSOの原則と組み合わせて、継続的なオントロジードリルダウンと抽象化エンジンを作成することができます。これは、独自の情報の流れ(LLM反射)についての観察から意味のある知識を採掘します。
https://www.mermaidchart.com/raw/57ad88cf-63a3-41ec-a7ce-29b9eb711bde?theme=light&version=v0.1&format=svg
AIシステム用のCorlプライマー
目的:CORLは、OWL形式の知識表現を扱うAIエージェント向けに設計された構文圧縮言語です。存在論的要素を定義しながら、フクロウへのスムーズな機械翻訳を保証する人間の読み取り可能な方法を提供します。
コアルール
エンティティ宣言:
構文:エンティティ:OWLマッピング:OWL:RDFを備えたクラス:ID等式(IS_A):ID:
構文:サブクラス:オウルマッピング:RDFS:サブクラソフ関係。プロパティ宣言:
構文:プロパティ:(ドメイン:、範囲:)OWLマッピング:OWL:ObjectProperty(オブジェクトプロパティ用)またはOWL:DataTypeProperty(データ値にリンクするプロパティ用)、RDFS:ドメインおよびRDF:範囲制限。インスタンスの割り当て:
構文:instance:of:owlマッピング:owl:namedindividual with rdf:タイプ設定されたクラスに設定されています。高度なルール
プロパティの特性:推移的プロパティ:...対称性プロパティ:...機能的プロパティ:...逆機能特性:...カーディナリティ:
構文:プロパティ:...(cardinality_min:、cardinality_max:)owlマッピング:owl:mincardinality、owl:maxcardinalityの制限。複雑なクラス式(ブールオペレーター):
クラス:equivalent_to:およびclass:equivalent_to:またはclass:equivalent_to:not quantifiers:
...(hasproperty some)=> owl:somevaluesfrom ...(haspropertyのみ)=> owl:allvaluesfromデータプロパティとデータタイプ:
data_property :( domain:、range:xsd:datatype)(データ型の例:xsd:integer、xsd:string、xsd:date)追加のメモ
コメント://(人間の場合、翻訳中に無視されている人間の場合)の前にコメントがあります。名前空間:オントロジー全体で概念を円滑に統合するためにプレフィックスと虹彩を処理するメカニズムが必要です。翻訳プロセス
プリプロセッサ:プログラムは、トークン化、定義されたルールに対するCorl構文の検証、および潜在的なエラー報告を処理します。フクロウ生成:CORLコンストラクトから対応するフクロウの公理への直接マッピングに従います。標準化されたフクロウの出力形式の選択(XML、機能構文、マンチェスターなど)が必要になる場合があります。 CorlはAI機能とともに進化していることを忘れないでください。潜在的な将来の拡張機能を期待して、微妙な論理的な複雑さをキャプチャしてください!
メタデータフレーム構造
コアテーブル
entity_table
entity_id(プライマリキー)entity_name entity_type(可能な値: 'class'、 'objectproperty'、 'dataTypeproperty'、 'namedIndividual')説明(オプション - 人間の理解性、厳格なコンプライアンスではない)関係_table
Relationtions_id(Primary Key)source_entity_id(fortion key-> entity_table)target_entity_id(fortion key-> entity_table)raterations_type(values: 'subclassof'、 'equivalentclass'、 'dijoint with'、 'hasproperty'、...)プロパティ特性テーブル
Property_Characteristics
Property_id(fortion key-> entity_table、entity_typeプロパティに制約)特性_type(values: 'transitive'、 'symmetric'、 'functional'、 'inverseFunctional')制限
制限_ID(プライマリキー)プロパティ_ID(外部キー - > entity_table)制限_type(values: 'somevaluesfrom'、 'allvaluesfrom'、 'hasvalue'、 'cardinality')制限_class(該当する場合、外部key-> entity_table)rintible_datatype(該当する場合)(該当する場合)cardinalメタデータフレームエントリ
| entity_table | | --- | --- | --- | --- | | 1 |犬|クラス| ... | | 2 |人|クラス| ... | | 3 | Hasowner | ObjectProperty | ... | | 4 | fido | namedIndividual | ... |
| Relationtions_table | | --- | --- | --- | --- | | 1 | 1 | 2 |サブクロッソフ|
| 2 | 3 | 2 | HasProperty | | 3 | 3 | 1 | HasProperty |
| Property_Characteristics | | --- | --- | | 3 |トランシティブ|
|制限| | --- | --- | --- | --- | --- | --- | --- | | 1 | 3 | somevaluesfrom |犬| ... | ... | | 2 | 2 |カーディナリティ| Hasowner | ... | 1 | 1
メモ
この構造は、フクロウのオントロジーに見られる固有の関係を反映しています。 「...」は、人間の読み取り可能な注釈を追加できる場所を示します。 DataTypeの詳細は、使用される選択された「XSD」語彙によって異なります。複雑な公理表現は、拡張を必要とする場合があります。
エンティティ表現:すべてのエンティティは、括弧内にカプセル化されています。例:( (entity:Name) 。エンティティタイプは大文字であり、特定のインスタンスは小文字になったり、特定の命名規則に従うことができます。
関係表現:エンティティ間の関係は-[r:RELATIONSHIP_TYPE]->括弧内の関係タイプを持つ方向矢印として表現されます。関係タイプはすべてキャップであり、マルチワード関係のためにアンダースコア分離されています。受け入れられる関係のみは、part_of、is_a、instantiates/instantiated_by "(xがyの実際の実現可能なインスタンス、すなわちyの存在が具体化スキーマxの妥当性を証明する場合、yをインスタンス化するy)です。
IS_A 、 PART_OF 、 INSTANTIATESを超えた関係の拡張: HAS_ATTRIBUTEなどの追加の種類の関係を組み込むには、正式な拡張ルールが使用されます。
HAS_ATTRIBUTE (entity:Attribute)-[r:PART_OF]->(entity)-[r:IS_A]->(Entity)に分解できます。これは、属性がエンティティの一部であることを示しており、エンティティが何であるかを説明しています。IS_A 、 PART_OFで直接カバーされていないINSTANTIATES USED_INおよびその他の関係は、これら3つの基本的な関係またはその組み合わせにマッピングでき、常に基礎関係の種類に関連する論理的な分解があることを常に保証します。 「contains」のようなセマンティクスは、コンテナがエンティティである方法についてISA/partof/intantiateをアルゴリズム的に示します。目的はその一部であり、封じ込めは目的です。コンテナには封じ込めの目的があります。チェーン関係:複数の関係を接続して、複雑な関係と階層を表すことができます。チェーンは、ある関係矢の端を別の関係の開始に接続し、論理的および意味的な一貫性を維持することによって行われます。
圧縮と減圧:ベースタイプの一部ではない関係( IS_A 、 PART_OF 、 INSTANTIATES )は、事前に定義されたロジックマッピングに従って圧縮または減圧されます。これには、複雑な関係または微妙な関係をマッピングする一連のルールを、直接または基礎となる構造を明確にする一連のステップを使用して、3つの基本関係タイプに戻る必要があります。
あいまいさと多面的な関係の処理:エンティティが複数のタイプで説明できる関係を持っている場合、知識領域のコンテキストと関係の特定の性質に基づいて優先順位付けルールが適用されます。そのようなケースを解決するために、決定ツリーまたは優先順位の階層が採用される場合があります。
プロパティ指定:簡単にするために、エンティティ(例えば、色、味など)のプロパティは、エンティティ自体として扱われ、 HAS_ATTRIBUTEまたは同等の減圧関係を介してメインエンティティにリンクされます。これにより、プロパティ値が構造化された方法でエンティティに動的に関連することができます。
(entity:Apple)-[r:HAS_ATTRIBUTE]->(entity:Taste) - 減圧: - (entity:Taste)-[r:PART_OF]->(entity:Apple)-[r:IS_A]->(Entity:Fruit); - これは、「味はリンゴの一部であり、果物の一種である属性であることを意味します。」
Pseudocyphernlは、グラフ構造化された方法で自然言語ステートメントを表現するための標準化された形式を提供することを目指しており、AIシステムが知識グラフ内の複雑な関係と属性の自然言語の説明を処理、理解、および生成しやすくします。その開発とアプリケーションでは、意味的な豊かさと構造的明確性の両方を維持するために、微妙な関係の減圧とマッピングの規則を慎重に検討する必要があります。
重要な重要性:ユーザーがその正確なフローについて直接尋ねるまで、pseudocyphernlで書いた後、NLを使用してpseudocyphernlで書かれたものを説明しないでください。人間には十分です。
(entity:Screenplay) )と関係( [r:HAS_PART] )は、シンボルと速記コード( (e1:Screenplay) 、 [p] )に略され、各参照の長さを削減します。e1 、 e2 、..)で紹介され、理解のための最初の宣言を通じて確立されたコンテキストに依存します。エンティティエンコーディング:
(e1:EntityName) 。"" 。(eX:X) 。関係エンコーディング:
[r:RELATIONSHIP_TYPE] 。PART_OF関係( PART_OF 、 IS_A 、 INSTANTIATES ) INSTANTIATES場合、略語[p]使用[n] [i] IS_Aエンティティと関係のインデックス作成:
e1 、 e2 、 r1 、 r2などの一意の番号が割り当てられます。チェーンとグループ化:
(e1)-[r1]->(e2)-(r2)->(e3)のようなチェーンの場合、 (e1)-[r1]->[r2]->(e3)を使用します。属性エンコード:
e1:a1 e1の最初の属性のa1。rel not not Isa/partof/instantiatesには、カスタムプロセスRelをインスタンス化するISA/partof/Instantiatesクラスターへの曖昧性の除去を伴う必要があります。明示的にラベル付けされた方法をマッピングする必要があります
ワークフロー:{手順:{
キーのエンコード:{ ⇒ : ⊆ : ↻ :インスタンス(一般的な価値をより具体的なemergent algebra 、すなわち 'organs⊆person' <=> 'x⇒hand(⊆person)↻kkin')緊急代数として表示することで、一般的な価値を繰り返します。そして、そのセットは、エンティティ3. %s :%sを使用してセットを示す不明なentityXです。 }
たとえば、 "(e1:エージェント)⊆(e2:環境)、(e1)⊆(e3:ルール)、(e1)↻(e4:相互作用)、(e5:シミュレーション)⇒{(e1)、(e2)、(e4)、(e4)、(e4)}、%(e1↻e4)%
数字:
rels:「エンティティ1にはRインデックス1があるため、すべてのエンティティ1 Rが1.x」などのインデックスが必要です。
エンティティ自体だけでなく、分類学的に拡張できるuuidとしてエンティティの数を使用する
階層的なグループ化:
%G{entity/relationship list}% Gがグループまたはクラスターを表し、リストにはこの階層グループの一部であるエンティティまたは関係が含まれています。コンポーネントのモジュール化:
M{module_name}ここで、 Mモジュールを示し、 module_nameは再利用可能なコンポーネントです(たとえば、相互作用パターン、チェーン、ワークフロー、ループ、デュアルループ、フィードバックループなど)。関係タイプの精度:
[r:NEW_REL]->マッピング[r:BASE_TYPE]-> + [m:Mapping] NEW_REL新しい関係であり、 BASE_TYPE元の関係タイプの1つであり、 Mapping変換を説明します。効率的な参照メカニズム:
@ref<number>ここで、 ref参照を示し、 <number>ラベル付きのエンティティまたは関係を指します。この高度なNLP対応AIアプリケーションは、ユーザー向けに動作し、展開されています。
動的なドメインオントロジーのためのInstanceInstancingChain:
IIC_DDO_TOOLを開始します
入力:エンティティe、属性のセットa、リレーションシップタイプのセットrt( "is_a"、 "part_of"、 "instantiates")
初期化:domainontology do = empty initialize:entityrelationshipmap erm = empty
e do.do.createentity(e)の各エンティティeについて[e] do.addattribute(e、a)end for end for end do.addattribute(e)
RTの各関係rについて、R.Type == "is_a" Then do.addisarelationship(r.source、r.target)else if r.type == "part_of" then do.addpartofrelationship(r.source、r.target)if if if if if if r.type == "instantiates" Erm.Add(R.Source、R.Target、R.Type)の終わり
関数のcreateEntity(e) / *ドメインontologyに新しいエンティティを作成 * /そうでない場合は、do.contains(e)then.addnewentity(e)end end end function
function addattribute(entity、attribute) / *ドメインontologyのエンティティに属性を追加 * / do.addentityattribute(entity、属性)end関数
関数addisarelationship(ソース、ターゲット) / * 2つのエンティティ間の「is_a」関係を確立します * / do.addisarelation(ソース、ターゲット)末端関数
関数AddPartofrelationship(ソース、ターゲット) / * 2つのエンティティ間の「PART_OF」関係を確立します * / do.AddPartofrelation(ソース、ターゲット)エンド機能
関数addInstantiateSrelationship(source、target) / *エンティティ間の「インスタンス化」関係を確立します * / do.addinstantiateSrelation(ソース、ターゲット)エンド機能
DomainOntologyを検証 / *すべての関係が静的および構造的制約の範囲内であることを確認 * / ISA、Partofを検証し、コンプライアンスの終了検証のために関係をインスタンス化します
出力:domainontology、entity -relationshipMap
IIC_DDO_TOOLを終了します
PCNL2CORLコンパイラを作成するには、以下を考慮する必要があります。
セマンティックマッピング:
セマンティック分析手法:要素をタグ付けするためのエンティティ認識という名前の名前が付けられ、エンティティを明確にします。 PCNLコンストラクト内の主要な関係を特定するための依存関係解析。中間表現:厳密なCORL翻訳の前に分析された意味を保持する構造化された形式(表、おそらくミニグラフ)を設計します。これにより、複雑さの取り扱いが容易になります。レバレッジコンテキスト:コンパイラは、以前の存在論的定義に敏感になり、周囲の知識構造を利用して、同様の微妙な用語を明らかにします。複雑な関係処理:
プログレッシブ分解:コンパイラ内の手順を導入して、複雑なPCNLステートメントを一連のシンプルな相互接続されたCORL構造に変換します。パターン認識:おそらく、ドメイン固有の自然言語使用で観察される一般的な概念フレームによって通知されるルールベースの認識を採用します。 LLM Augmentation(注意):PCNL説明のフラグメントとCorl構文を入力/出力ペアとしてLLMプロンプトを使用して、候補者の翻訳ステップを生成して、後で厳密な人間の検証を使用して検討します。拡張性:
モジュラー設計:個別の解析、セマンティック分析、および最終的なCORL生成ステップ。これにより、完全なリファクタリングなしでターゲットを絞った改善が可能になります。バージョントラッキング:CORL自体の堅牢なバージョン化を進化させ、コンパイラが構文の更新を効果的に処理できるようにします。コミュニティの貢献:オープンソース開発モデルを検討して、自然言語と正式な知識領域の間のパターン認識とマッピングにおけるより広範なコラボレーションを促進します。
プロトタイピングアプローチ
小規模なプロトタイプから始めるのは賢明でしょう。
ドメインを選択:特定のドメイン(生物学、eコマースなど)に焦点を当てたオントロジーから始めて、最初に言語の変動性を制限します。 PCNLのサブセット:最初にPCNLのコア機能(エンティティと関係の定義、単純な属性)のキュレーションされた選択のみを使用します。テストケース:予想されるCORL出力と一緒に手動でPCNLの例を作成します。これらをプロトタイプコンパイラを介して実行し、マッピングを反復的に改良し、ロジックを解析します。評価
構文の妥当性チェックを超えたメトリックが必要です。
セマンティックの類似性:派生したCORLが、他の既存のオントロジー/知識ソースに対する絡み合いチェックを使用して、元のPCNLクエリの意図をどの程度正確に反映しているかを決定します。往復翻訳(実現可能な場合):コンパイラの操作を逆にする(corl-> pcnl)がオリジナルと意味的に類似した構成要素を生成するかどうかを評価する可能性があります。コラボレーションしましょう!
ミニドメインを選択し、小規模なテストのためにいくつかのサンプルPCNL-CORLペアを設計しますか?自然言語の複雑さと形式化を分離する中間表現形式の概要?
<=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <=> <> <> <=>
https://platform.openai.com/playground/p/2xti7qyrqmwwc8ofasqfr2ij?model=gpt-4-turbo-preview&mode=chat