> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# AML一致スコア：本人特定の信頼度を算出する計算式

> DiditのAML一致スコアは、氏名・生年月日・国の照合で本人特定の信頼度を測定します。重みとしきい値を調整して誤検知を削減できます。

**一致スコア**は、**AMLの一致候補がスクリーニング対象者とどの程度一致しているか**を判定する加重信頼度指標です。このスコアは、個々の一致を**誤検知**とするか、追加のレビューが必要な**一致の可能性あり**とするかの分類に使用されます。

![氏名、生年月日、国の加重しきい値を示すDiditのAML一致スコア設定](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/aml-match-score-config.jpg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=76d3124f99349a81e16e711f3d2816e6)

> ⚠️ **重要:** 一致スコアが決定するのは**個々の一致の分類**であり、最終的なAMLステータスではありません。最終的なAMLステータス(承認済み/レビュー中/却下)は、誤検知以外の一致の[リスクスコア](https://docs.didit.me/ja/core-technology/aml-screening/aml-risk-score.md)によって決まります。

## 概要

AMLウォッチリストと照合して人物をスクリーニングすると、各一致候補に**0〜100の一致スコア**が付与されます。このスコアは、**「この一致は、スクリーニング対象者と本当に同一人物か」**という問いに答えるものです。

### 一致スコアとリスクスコアの違い

| 観点 | 一致スコア | リスクスコア |
| - | - | - |
| **質問** | 同一人物か | このエンティティのリスクはどの程度か |
| **目的** | 一致を誤検知と一致の可能性があるものに分類する | 最終的なAMLステータスを決定する |
| **要素** | 氏名、生年月日、国、書類番号 | 国、カテゴリー、犯罪歴 |
| **しきい値** | 一致スコアのしきい値(デフォルト: 93) | 承認しきい値/レビューしきい値 |

***

## 一致スコアによるレビューステータスの決定

各一致は、一致スコアに基づいて分類されます。

| 一致スコア | レビューステータス | 意味 |
| - | - | - |
| スコアが一致スコアのしきい値未満 | **誤検知** | 同一人物ではない可能性が高い |
| スコアが一致スコアのしきい値以上 | **未レビュー** | 手動レビューが必要 |

> **デフォルトのしきい値:** 93%

**例:** しきい値が93の場合

* スコア85の一致 → **誤検知**（自動的に却下）
* スコア95の一致 → **未レビュー**(レビューが必要で、リスクスコアによって緊急度が決まる)

### レビューステータスの説明

すべてのAML一致は、一致スコアに基づいて2つの初期ステータスのいずれかから始まります。

| ステータス | 説明 | 設定される条件 |
| - | - | - |
| **誤検知** | スクリーニング対象者と同一人物ではない可能性が高い一致です。リスク評価から除外されます。 | 一致スコア \< しきい値 |
| **未レビュー** | 一致する可能性があり、確定または除外するために手動レビューが必要な一致です。 | 一致スコア ≥ しきい値 |

手動レビューの後、コンプライアンス担当者はステータスを次のように更新できます。

| ステータス | 説明 |
| - | - |
| **確認済み一致** | 同一人物であることが確認された一致です。 |
| **判断不能** | 同一人物かどうかを判断できない一致です。 |

> [!NOTE]
>
> ### **ヒント:** 一致のレビューステータスは、コンソールでAMLの概要を表示するか、特定の一致をクリックして詳細を開くことで変更できます。

***

## 一致スコアの計算方法

### ステップ1: 基本スコアの計算

基本スコアは、重みを設定できる3つの要素を使って計算されます。

```
Base Score = (Name Score × Name Weight) + (DOB Score × DOB Weight) + (Country Score × Country Weight)
```

| 要素 | デフォルトの重み | 説明 |
| - | - | - |
| **名前** | 60% | スクリーニング対象の氏名と一致候補の氏名とのファジー文字列類似度 |
| **生年月日** | 25% | 完全一致、部分一致(年のみ)、不一致によるスコアリング |
| **国/国籍** | 15% | スクリーニング対象の国籍と一致候補の国との比較 |

> **注:** 重みの合計は必ず100%にする必要があります。

### ステップ2: 書類番号のゴールデンキーロジック

基本スコアを計算した後、書類番号は特別な上書きロジックを使って個別に評価されます。

| シナリオ | 効果 | 例 |
| - | - | - |
| **一致** | スコアを**100**に上書き | パスポート番号が完全に一致する |
| **中立** | 基本スコアを変更しない | 書類の種類が異なる、またはどちらか一方が欠落している |
| **明確な不一致** | ペナルティを適用(-50ポイント) | 書類の種類は同じだが値が異なる |

この方式では、書類番号の一致を本人であることの決定的な証拠(ゴールデンキー)とみなす一方で、書類の種類が異なることによってスコアが減点されないようにしています。

***

## コンポーネント別のスコアリング詳細

### 名前の類似度 (0-100)

名前の照合にはRapidFuzzの**WRatioアルゴリズム**を使用しており、次のような違いにも対応できます。

* タイプミスや綴りの誤り
* 語順の違い (「John Smith」と「Smith, John」)
* ミドルネームの表記の違い (「Robert J. Smith」と「Robert James Smith」)
* 長さの違い

### 生年月日のスコアリング

| シナリオ | スコア | 例 |
| - | - | - |
| **完全一致** | 100% | 「1985-03-15」と「1985-03-15」が一致 |
| **年が一致 (マッチ側が年のみ)** | 100% | 「1985-03-15」と「1985」が一致。マッチ側が年単位の精度しか持たないため完全一致とみなされます |
| **年が一致 (日・月が異なる)** | 50% | 「1985-03-15」と「1985-06-20」が一致。年は同じですが日付が異なります |
| **年が不一致** | -100% (ペナルティ) | 「1985-03-15」と「1990-03-15」は一致しない |
| **データなし** | 0% (中立) | どちらか一方に生年月日がない |

> **重要:** マッチ側が年のみ (例: 「1974」) を提供する場合、その年が一致すれば**完全一致**とみなされます。検証に利用できる情報がそれしかないためです。

### 国・国籍のスコアリング

| シナリオ | スコア | 例 |
| - | - | - |
| **完全一致** | 100% | 「ES」が「Spain」または「ESP」と一致 |
| **マッチ側にデータなし** | 0% (中立) | マッチ側に国の情報がない |
| **不一致** | -50% (ペナルティ) | 「ES」は「France」と一致しない |

システムは次の形式を自動的に相互変換します。

* ISO alpha-2コード (ES)
* ISO alpha-3コード (ESP)
* 国名のフル表記 (Spain)

また、`countries`に加えて`citizenship`フィールドも確認します。

***

## スコアの正規化 (再重み付け)

スクリーニング対象者とマッチのどちらかにデータが欠けている場合、システムは**スコアの正規化**を行い、入手できない情報によってスコアが不当に下がらないようにします。

### 例: 名前のみのスクリーニング

名前のみ (生年月日や国なし) でスクリーニングした場合:

| 元の重み | 正規化後の重み |
| - | - |
| 名前: 60% | 名前: **100%** |
| 生年月日: 25% | 生年月日: 0% (比較不可) |
| 国: 15% | 国: 0% (比較不可) |

**結果:** 名前のスコアがそのまま一致スコア全体になります。

### 例: マッチ側に国の情報がない場合

マッチ側に国のデータはないものの生年月日がある場合:

| 元の重み | 正規化後の重み |
| - | - |
| 名前: 60% | 名前: **70.6%** |
| 生年月日: 25% | 生年月日: **29.4%** |
| 国: 15% | 国: 0% (比較不可) |

これにより、データの有無にかかわらず公平なスコアリングが行われます。

***

## 設定オプション

一致スコアの計算は、APIまたはワークフローの設定でカスタマイズできます。

### 一致スコアのしきい値

| 設定 | デフォルト | 説明 |
| - | - | - |
| 一致スコアのしきい値 | 93 | この値を下回るマッチは**誤検知**に分類されます。この値以上のマッチは**未レビュー** (一致の可能性あり) となり、レビューが必要です。 |

### 重み (合計が100である必要があります)

| 設定 | デフォルト | 説明 |
| - | - | - |
| 名前の重み | 60 | 名前の類似度の重み (0-100) |
| 生年月日の重み | 25 | 生年月日の重み (0-100) |
| 国の重み | 15 | 国・国籍の重み (0-100) |

***

## APIリクエストの例

```json theme={null}
{
  "full_name": "John Doe",
  "date_of_birth": "1990-01-01",
  "nationality": "USA",
  "document_number": "SAMPLE-DOC-12345",
  "aml_name_weight": 60,
  "aml_dob_weight": 25,
  "aml_country_weight": 15,
  "aml_match_score_threshold": 93
}
```

***

## レスポンス: スコアの内訳

レスポンス内の各マッチには次の項目が含まれます。

* `match_score`: 算出された一致スコア (0-100)
* `risk_score`: 算出されたリスクスコア (0-100)。詳しくは[リスクスコア](https://docs.didit.me/ja/core-technology/aml-screening/aml-risk-score.md)を参照してください
* `review_status`: 一致スコアのしきい値に基づく「False Positive」または「Unreviewed」
* `score_breakdown`: 一致スコア計算の詳細な内訳

```json theme={null}
{
  "caption": "David Sanchez",
  "match_score": 95,
  "risk_score": 65.5,
  "review_status": "Unreviewed",
  "score_breakdown": {
    "name_score": 95,
    "name_weight": 60,
    "name_weight_normalized": 70.59,
    "name_contribution": 67.06,
    "dob_score": 100,
    "dob_weight": 25,
    "dob_weight_normalized": 29.41,
    "dob_contribution": 29.41,
    "country_score": 0,
    "country_weight": 15,
    "country_weight_normalized": 0,
    "country_contribution": 0,
    "document_number_match_type": "NEUTRAL",
    "document_number_effect": "No document number provided for screening",
    "total_score": 95
  }
}
```

***

## 全体の流れ: 一致スコアから最終的なAMLステータスまで

```
┌─────────────────────────────────────────────────────────────────────────────┐
│                           AML SCREENING FLOW                                 │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  1. RETRIEVE MATCHES FROM WATCHLISTS                                        │
│     └── All matches with score ≥ 75% are included                           │
│                                                                             │
│  2. CALCULATE MATCH SCORE FOR EACH MATCH                                    │
│     Match Score = (Name × W1) + (DOB × W2) + (Country × W3)                │
│     + Golden Key document number logic                                      │
│                                                                             │
│  3. CLASSIFY MATCHES BY MATCH SCORE (Match Score Threshold = 93)           │
│     ├── Match Score < 93 → FALSE POSITIVE (excluded from risk assessment)  │
│     └── Match Score ≥ 93 → UNREVIEWED (included in risk assessment)        │
│                                                                             │
│  4. CALCULATE RISK SCORE FOR NON-FALSE-POSITIVE MATCHES                     │
│     Risk Score = (Country × 30%) + (Category × 50%) + (Criminal × 20%)     │
│                                                                             │
│  5. DETERMINE FINAL AML STATUS (based on highest risk score)               │
│     ├── Highest Risk Score < approve_threshold → APPROVED                   │
│     ├── Highest Risk Score ≤ review_threshold → IN REVIEW                   │
│     └── Highest Risk Score > review_threshold → DECLINED                    │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```

***

## 計算例

### 例1: 強い一致 → 未レビュー

**スクリーニング対象のデータ:**

* 氏名: "Robert J. Smith"
* 生年月日: "1985-03-15"
* 国: "US"

**一致候補のデータ:**

* 氏名: "Robert James Smith"
* 生年月日: "1985"
* 国: "United States"

**計算:**

1. 氏名スコア: 90%(あいまい一致)
2. 生年月日スコア: 100%(一致候補には年のみがあり、年が一致)
3. 国スコア: 100%(完全一致)

```
Match Score = (90 × 0.60) + (100 × 0.25) + (100 × 0.15)
            = 54 + 25 + 15
            = 94
```

**結果:** 一致スコア(94)≥しきい値(93)→ **未レビュー**
→ リスクスコアが算出され、最終的なAMLステータスの判定に使用されます

### 例2: 弱い一致 → 誤検知

**スクリーニング対象のデータ:**

* 氏名: "John Smith"
* 生年月日: "1990-05-20"
* 国: "US"

**一致候補のデータ:**

* 氏名: "Johnny Smithson"
* 生年月日: "1975"
* 国: "Canada"

**計算:**

1. 氏名スコア: 72%(弱いあいまい一致)
2. 生年月日スコア: -100%(年の不一致によるペナルティ)
3. 国スコア: -50%(国の不一致によるペナルティ)

```
Match Score = (72 × 0.60) + (-100 × 0.25) + (-50 × 0.15)
            = 43.2 - 25 - 7.5
            = 10.7 → 11
```

**結果:** 一致スコア(11)\< しきい値(93)→ **誤検知**
→ この一致候補はリスク評価から除外されます

### 例3: ゴールデンキーによる上書き

**スクリーニング対象のデータ:**

* 氏名: "John D. Smith"
* 書類番号: "A12345678"

**一致候補のデータ:**

* 氏名: "Jonathan David Smith"
* 書類番号: "A12345678"

**計算:**

1. 基本スコア: 約70(氏名のあいまい一致)
2. 書類番号: **一致**(完全一致)

**結果:** スコアが **100** に上書きされます(ゴールデンキーによる一致)→ **未レビュー**

***

## レビューステータスの管理

初回の分類後、各一致候補のレビューステータスを手動で更新できます。

### コンソールでの操作

1. セッションのAML概要画面に移動します
2. 対象の一致候補をクリックして詳細を表示します
3. ステータスのドロップダウンでレビューステータスを変更します。
   * **確認済み一致**: 一致候補が同一人物であることを確認します
   * **誤検知**: 一致候補を不一致としてマークします
   * **判断不能**: 判断できない場合に使用します

***

## ベストプラクティス

1. **デフォルトのしきい値(93)から始める**: 真の一致の検出と誤検知の除外のバランスが適切に保たれます。

2. **リスクの高いケースではしきい値を下げる**: より慎重な運用が必要な場合は、一致スコアのしきい値を下げて、一致の可能性がある候補をより多く検出します。

3. **書類番号がある場合は活用する**: 書類番号は最も強力な本人確認の根拠となり、低い一致スコアを上書きできます。

4. **正規化された重みを確認する**: スコア内訳の正規化された重みのフィールドを確認し、欠落データがスコアにどう影響したかを把握します。

5. **誤検知率をモニタリングする**: 正当な一致が誤検知として多くマークされている場合は、しきい値を下げてください。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.