Discoveryガイド> Discoveryの紹介> 検出された関係について> 関係確率スコア(RPS)について
 
関係確率スコア(Relationship Probability Score, RPS)について
Discoveryは、Discoveryの内部RPSアルゴリズムに基づいて、検出される関係とそれらのスコアリング方法を制御します。検出された関係には、次の要因に基づいてRPSが割り当てられます。
列名比較係数(Column Name Comparison Factor)
インデックスキー係数(Index Key Factor)
一致率係数(Match Percentage Factor)
一致数係の数(Number of Matches Factor)
スキーマ局所性係数(Schema Locality Factor)
係数に重み(合計100%)を掛けてから合計し、次の式を使用して関係の合計スコアを算出します。
スコア= columnNameComparisonFactor * 40%+ indexKeyFactor * 30%+ matchPercentageFactor * 10%+ numberOfMatchesFactor * 10%+ schemaLocalityFactor * 10%
 
因子の重みは、文字列以外のデータタイプに対して構成可能です。これらの要素の重みの変更については、RPS要素の重みの調整を参照してください。
次の表で、これらの要因について説明します。
要素
説明
列名の比較
この係数にその重みを掛けて、RPSの名前コンポーネントを取得します。範囲は0から1で、1は完全一致、0は不一致です。
1.0-c1とc2の列名が完全に一致します。
0.9-列名は、英数字以外の文字が削除されたものと完全に一致します。
例:users.user_idは、users.useridと比較して0.9の係数を持っています。
0.9-一方の列名がもう一方の列名で終わります。
例:sales.sold_to_user_idと比較するとusers.user_idに0.9が与えられます
例:pymts.pymt_term_idと比較するとterm.term_idに0.9が与えられます
0.9-一方の列名のテーブル名は、もう一方の列名の一部です。
例:status.issueと比較した場合、issue.idには0.9が与えられます
0.8-0.5—Column values have similar names (to handle misspelling names).
   Example: cust.user_id is given a factor of 0.5-0.8 when compared with cust.usee_id
インデックスキー
この係数にその重みを掛けて、RPSのインデックスキーコンポーネントを取得します。関係の列の1つがキー列である可能性に基づいて、0から1の範囲になります。
1.0-関係のカーディナリティは、1対1、多対1、または1対多です。どちらの列にも90%を超える一意の値があります。
0.5-関係のカーディナリティは多対多であり、両方の列の一意の値は90%未満です。
一致率係数
この係数にその重みを掛けて、RPSの一致率コンポーネントを取得します。これは、次の式を使用して計算されます。
[#一致]/ MIN([#c1の一意の値]、[#c2の一意の値])
[#matches]は、column1とcolumn2の両方の一意の値の数です。
値の一意性のしきい値の調整については、最小一意パーセンテージの調整を参照してください。
例:c1の一意の値の数が100の場合、c2の一意の値の数は50であり、c1とc2の両方に表示される一意の値の数は40です。この場合、係数は40/MINに等しくなります。 (50,100)= 40/50=0.8。
一致係数の数
この係数にその重みを掛けて、RPSの一致コンポーネントの数を取得します。
1.0-[一致数] => 10 else
[係数]—[一致数]/10
デフォルトでは、一致の最小数が3未満の場合、関係は検出されません。
スキーマ局所性係数
この係数にその重みを掛けて、RPSのスキーマローカリティコンポーネントを取得します。
1.0-2つの列は同じデータソースからのものです。
0-列は同じデータソースからのものではありません。