Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

iKnow で使用するセカンダリ・キューブの生成

この付録では、“構造化されていないデータのキューブでの使用 (iKnow)” の章で説明したように、iKnow メジャーを DeepSee キューブに追加済み (およびそのメジャーを使用する iKnow ディメンジョンを作成済み) であることを前提としています。この付録では、エンティティの出現およびディクショナリ・マッチング結果を分析する、セカンダリ・キューブを生成する方法について説明します。これらのキューブを構築する前に、必ずメイン・キューブを構築してください。

この付録の方法は、“構造化されていないデータのキューブでの使用 (iKnow)” の章の “エンティティ出現を数値化するメジャーの追加” および “一致結果を数値化するメジャーの追加” で説明した iKnow プラグインを使用する方法の代替方法です。メイン・キューブを再構築または同期化するときには、必ずセカンダリ・キューブを手動で再構築する必要があるため、プラグインの方が優れた方法です。

エンティティ出現キューブ

エンティティの出現を表すキューブを生成するには、ターミナルで以下のコマンドを使用します。

 d ##class(%iKnow.DeepSee.CubeUtils).CreateEOCube(cubename,measurename)

cubename は iKnow メジャーが含まれるキューブの名前、measurename は iKnow メジャーの名前です。

このメソッドは、キューブ・クラスが iKnow エンティティ出現データにアクセスするための読み取り専用クラスを生成します。このエンティティ出現クラスの名前は BaseCubeClass.measurename.EntityOccurrence です。BaseCubeClass はベース・キューブ・クラスのクラス名、measurename は iKnow メジャーの名前です。

このメソッドは、キューブ・クラス BaseCubeClass.measurename.EOCube も生成します。この新しいキューブの定義は以下のとおりです。

  • このキューブの論理名は BaseCubemeasurenameEO で、BaseCube はベース・キューブの論理名、measurename は iKnow メジャーの名前です。

  • このキューブは、エンティティの出現を表します。すなわち、このキューブのファクト・テーブルには、一意のエンティティの出現ごとに 1 行が存在します。

  • キューブには Count メジャーが定義され、エンティティの出現をカウントします。

  • キューブには Entity Value ディメンジョンが定義され、エンティティ値別にエンティティの出現をグループ化します。

    これは、カスタム計算ディメンジョンです。計算ディメンジョンの一般情報は、“キューブおよびサブジェクト領域の高度な機能の使用” の章を参照してください。

    このキューブの場合、ファクトは 1 回のエンティティの出現を表します。このキューブでは、ファクトとエンティティ値の間に一対一のリレーションシップが存在することに注意してください。一方、メイン・キューブでは、ファクトとエンティティ値の間に一対多のリレーションシップが存在します。

  • キューブには Roles ディメンジョンが定義され、メンバとして conceptrelation が存在します。これらのメンバにより、エンティティの出現は iKnow の概念および iKnow の関係にグループ化されます。これらの用語の詳細は、"iKnow の使用法" の “iKnow が識別する論理テキスト・ユニット” を参照してください。

  • キューブには、ベース・キューブへのリレーションシップが含まれます。このリレーションシップの名前は Main cube です。

以下に、Aviation デモでエンティティ出現キューブを使用するピボット・テーブルの例を示します。

generated description: iknow eo pivot

このピボット・テーブルは、以下のように定義されています。

  • メジャーは、Count (エンティティ出現数) です。

  • 行には、Entity Value ディメンジョンのメンバが表示されます。このディメンジョンの各メンバは、1 回のエンティティの出現を表します。例えば、pilot メンバは、ソースにエンティティ pilot が 1 回出現することを表します。

  • 行には、メイン・キューブの Aircraft ディメンジョンの Category レベルのメンバが表示されます。このディメンジョンの各メンバは、指定された航空機カテゴリに関連付けられているソース・ドキュメントを表します。

このピボット・テーブルは、例えば、Airplane カテゴリのイベントのレポートにエンティティ airplane が 4980 回出現していることを示します。

マッチング結果キューブ

マッチング結果を表すキューブを生成するには、ターミナルで以下のコマンドを使用します。

 d ##class(%iKnow.DeepSee.CubeUtils).CreateMRCube(cubename,measurename)

cubename は iKnow メジャーが含まれるキューブの名前、measurename は iKnow メジャーの名前です。

このメソッドは、キューブ・クラスが iKnow マッチング結果データにアクセスするための読み取り専用クラスを生成します。このマッチング結果クラスの名前は BaseCubeClass.measurename.MatchingResults です。BaseCubeClass はベース・キューブ・クラスのクラス名、measurename は iKnow メジャーの名前です。

このメソッドは、キューブ・クラス BaseCubeClass.measurename.MRCube も生成します。この新しいキューブの定義は以下のとおりです。

  • このキューブの論理名は BaseCubemeasurenameMR で、BaseCube はベース・キューブの論理名、measurename は iKnow メジャーの名前です。

  • このキューブは、ディクショナリの一致を表します。すなわち、このキューブのファクト・テーブルには、一意のディクショナリの一致ごとに 1 行が存在します。

  • キューブには Count メジャーが定義され、ディクショナリの一致をカウントします。

  • キューブには Score メジャーが定義され、ディクショナリの一致のスコアを示します。

  • キューブには Dictionary ディメンジョンが定義されます。Dictionary レベルは、ディクショナリ別に一致をグループ化し、Dictionary Item レベルはディクショナリ項目別に一致をグループ化します。

    このキューブの場合、ファクトは 1 つのマッチング結果を表します。このキューブでは、ファクトとディクショナリ項目の間に一対一のリレーションシップが存在することに注意してください。一方、メイン・キューブでは、ファクトとディクショナリ項目の間に一対多のリレーションシップが存在します。

  • キューブには Type ディメンジョンが定義され、メンバとして entityCRCpath、および sentence が存在します。これらのメンバにより、一致は iKnow のエンティティ、CRC、パス、および文にグループ化されます。これらの用語の詳細は、"iKnow の使用法" の “iKnow が識別する論理テキスト・ユニット” を参照してください。

    このデモの場合、Type ディメンジョンのメンバは entityCRC だけです。

  • キューブには、ベース・キューブへのリレーションシップが含まれます。このリレーションシップの名前は Main cube です。

以下に、Aviation デモでマッチング結果キューブを使用するピボット・テーブルの例を示します。

generated description: iknow mr pivot

このピボット・テーブルは、以下のように定義されています。

  • メジャーは Count (マッチング結果数) および Score (ディクショナリの一致の累積スコア) です。

  • 行には、Injuries ディクショナリのメンバが表示されます。このディメンジョンの各メンバは、このディクショナリの特定の項目に一致するエンティティを表します。例えば、minor メンバは、ディクショナリ項目 minor に一致するソースの各エンティティを表します。

  • 行には、メイン・キューブの Type ディメンジョンのメンバが表示されます。このディメンジョンの各メンバは、Accident または Incident のどちらかのレポート・タイプに関連付けられているソース・ドキュメントを表します。

このピボット・テーブルは、例えば、タイプ Incident のソースには、ディクショナリ項目 fatal との一致が存在しないことを示します。一方、タイプ Accident のソースには、このディクショナリ項目との一致が 106 件存在します。

FeedbackOpens in a new tab