ハラスメント判定

本機能は有償です。
本機能の料金を含む利用についての詳細・契約等については、担当営業までご連絡ください。

概要

ハラスメント判定は、通話内容にハラスメント発言が含まれていないか、またはハラスメントに類する会話をおこなっていないかを評価・分析し、簡易通話履歴に収集する機能です。
分析は発信者と受話者の双方向に対しておこなわれ、その結果を5段階で評価します。

判定結果の表示

ハラスメント判定の結果は、簡易通話履歴画面に「ハラスメント判定」の列として表示されます。

通話ごとの判定結果は、以下の5段階の評価レベルで表示されます。判定結果のバッヂはボタンになっており、押下することで判定詳細を確認することができます。

判定結果レベル説明
0該当通話にハラスメントの兆候はありません
1該当通話にハラスメントの兆候があります
2該当通話にハラスメントが発生しています
3該当通話にハラスメントが発生しており、高いリスクがあります
4通話内容にハラスメントが発生しており、緊急対応が必要です

結果判定の詳細表示

判定結果のバッヂを押下すると、ハラスメント判定の詳細結果パネルが表示されます。

  1. 総合評価
  2. 検出された問題と対応策
  3. 推奨アクション

1.総合評価

「総合評価」には、通話全体のハラスメント判定の総合評価が表示されます。

項目説明
評価レベル5段階の評価レベルと、そのレベルとして判定された理由
話者情報ハラスメントに関与している話者と、どのような発言がおこなわれているかの要約

2.検出された問題と対応策

「検出された問題と対応策」には、ハラスメントとして判定された各発言の詳細が、以下の5つのカテゴリーに分類されて表示されます。

カテゴリー説明
脅迫・強要脅迫や強要に該当する発言や行動
暴言・侮辱暴言、侮辱、人格否定に該当する発言
不当な要求過剰または不当な要求
拘束的行動拘束的な言動や行為
プライバシー侵害プライバシーの侵害に該当する行為

各発言の詳細には、「どちらの話者が」「どのような発言をおこない」「それがハラスメントとして判定された理由を明記した上で」「今後の推奨の対応策」が表示されます。

3.推奨アクション

「推奨アクション」には、通話全体のハラスメント判定の総合評価を踏まえた上で、今後どのような対応をおこなうべきかの推奨アクションが表示されます。

ハラスメント判定の感度設定

ハラスメント判定の感度設定は以下の3段階で設定ができます。
通常は「標準」に設定されています。

レベル説明
厳格わずかな兆候や社会通念上グレーゾーンとされる発言をハラスメントと判定します
標準一般的なコンプライアンス基準に基づき、
ハラスメントと判断される可能性が高い発言をハラスメントと判定します
緩和明らかな、または反復的なハラスメント行為に限定してハラスメントと判定します

ハラスメント判定の厳格さを変更したい場合、担当営業までご連絡ください。

Webフック通知と外部連携用API

従来のテキスト解析と同様に、ハラスメント判定の解析結果についても、Webフック通知で送信したり、外部連携用APIで取得することができます。

両機能でハラスメント判定の解析結果を送信/取得するには、プロンプトID 8f82ad79d5 をご使用ください。

ハラスメント判定の解析結果フォーマット

ハラスメント判定の解析結果は、JSON構造の文字列で送信または取得することができます。

以下はJSON構造の文字列を、JSON化した場合のサンプルです。

{
    assessmentResult: {
      level: '3',
      levelDescription: '高リスク',
      summary: '相手に対する強い暴言と威圧的な表現が含まれており、対人ハラスメントとして明確に問題があります。特に「お前ふざけるなよ」「表出ろ」は、侮辱と対決の示唆を伴い、エスカレートの危険があります。',
      harassingSpeakersSummary: 'お客様(受話者)が暴言と威圧的な言動を行っており、会話全体を攻撃的で危険な方向にしています。'
    },
    harassmentAnalysis: {
      threats: [
        {
          speaker: 'お客様(受話者)',
          excerpt: '表出ろ。',
          reason: '相手を外に出させるよう迫り、威圧・対決を伴う脅しとして受け取られる可能性が高い発言です。',
          modelResponse: {
            objective: '対面の強要や威圧を止め、通話を安全に収束させる',
            script: '恐れ入りますが、そのようなご発言が続く場合は対応を続けられません。ご用件を整理してお伝えいただければ、担当部署で確認します。',
            caution: '挑発し返さず、対面対応を約束しない。必要に応じて通話を終了し、記録を残す。'
          }
        }
      ],
      verbalAbuse: [
        {
          speaker: 'お客様(受話者)',
          excerpt: 'おい、お前ふざけるなよ。',
          reason: '「お前」「ふざけるなよ」などの侮辱的表現が繰り返されており、相手を強く罵倒する暴言に該当します。',
          modelResponse: {
            objective: '暴言を受け止めつつ、会話を事実確認に戻す',
            script: 'ご不快な思いをさせてしまい申し訳ありません。暴言を伴うご対応はできませんので、状況を確認するために、何が起きたかを順にお知らせください。',
            caution: '相手の言葉を言い返さない。謝罪は事実確認と切り分け、感情的な応酬を避ける。'
          }
        }
      ],
      unreasonableDemands: [],
      coerciveBehavior: [],
      privacyInvasion: []
    },
    recommendedActions: [
      '自社担当者は、暴言や威圧が続く場合は冷静に注意し、必要なら通話を終了する。',
      '通話記録を保存し、上長またはコンプライアンス担当へ共有して再発防止と対応方針を確認する。',
      '対面を示唆する発言があるため、必要に応じて安全確保を優先し、単独対応を避ける。'
    ]
}

ハラスメント判定の解析結果を外部連携用APIで取得した場合、レスポンスの data 配下に格納されます。各要素の意味と、レベルによる出力の違いを以下に示します。

  • Webhook通知と外部連携用APIで、判定結果JSON本体(上記 data 相当)の構造は同一です。通知全体のラッパー項目は連携仕様を別途ご確認ください。
  • 本説明は JSON形式(例: /external/get-text-analysis で format: 1)を対象とします。CSV形式ではネストがフラット化され、構造が異なります。
{
  "code": 0,
  "executionId": "...",
  "message": "処理成功",
  "date": 1790576179483,
  "data": { ...ハラスメント判定結果... }
}

以降の表におけるパスは、特に断りのない限り data 配下を指します。説明中のJSONは二重引用符の正式表記です(デバッグ時の JS オブジェクト表記とは異なります)。

1. 要素一覧

「出力条件」は備考列の先頭に【】で示します。

パス 型 説明 備考(出力条件)
■ API共通(レスポンス直下)
code number API処理結果コード。成功時は 0。 【常時】
executionId string 処理を一意に識別するID。 【常時】
message string 処理結果メッセージ(例: 「処理成功」)。 【常時】
date number 処理日時(UNIX時刻・ミリ秒)。 【常時】
data object ハラスメント判定結果本体。 【常時】以降はこの配下を参照
■ 総合評価(常時)
data.assessmentResult object 総合評価(リスクレベルと総括)。 【常時】全レベルで必須
data.assessmentResult.level string ハラスメントリスクレベル。"0"〜"4" の半角数字文字列。 【常時】数値の 0 ではない。閾値比較する場合は数値化(例: Number(level))
data.assessmentResult.levelDescription string レベルの日本語表記。 【常時】level と必ず対応(下表参照)
data.assessmentResult.summary string そのレベルと判断した結論の要約。 【常時】
data.assessmentResult.harassingSpeakersSummary string 関与話者と、会話全体への影響の総括。 【常時】レベル0では該当発言がなかった旨が記載される(固定文言ではない)
■ 詳細分析(レベル1以上)
data.harassmentAnalysis object カテゴリ別の詳細分析。 【レベル1以上のみ】レベル0ではキー自体なし。参照前に存在チェックを推奨
data.harassmentAnalysis.threats array 脅迫・強要に該当する発言。 【親キーがあるとき常に存在】該当なしは空配列 []
data.harassmentAnalysis.verbalAbuse array 暴言・侮辱に該当する発言。 【親キーがあるとき常に存在】該当なしは空配列 []
data.harassmentAnalysis.unreasonableDemands array 不当な要求に該当する発言。 【親キーがあるとき常に存在】該当なしは空配列 []
data.harassmentAnalysis.coerciveBehavior array 拘束的行動に該当する発言。 【親キーがあるとき常に存在】該当なしは空配列 []
data.harassmentAnalysis.privacyInvasion array プライバシー侵害に該当する発言。 【親キーがあるとき常に存在】該当なしは空配列 []。レベル1以上では少なくとも1カテゴリは非空
■ カテゴリ配列の各要素(該当発言がある場合のみ)
パス例: data.harassmentAnalysis.threats[0].speaker(他カテゴリも同構造)
...[].speaker string 該当発言の話者ラベル(括弧付きフル表記)。 【配列要素がある場合のみ】例: お客様(発信者) / 自社担当者(受話者) / 社内関係者A(発信者)
...[].excerpt string 判定根拠となった発言の抜粋。 【配列要素がある場合のみ】文字起こしに実在する文言を引用
...[].reason string 当該カテゴリと判断した理由。 【配列要素がある場合のみ】
...[].modelResponse object 当該発言に対する推奨対応策。 【配列要素がある場合のみ】組織側が使える内容
...[].modelResponse.objective string 対応目的。 【配列要素がある場合のみ】
...[].modelResponse.script string 推奨応答(実際に使える応答文例)。 【配列要素がある場合のみ】
...[].modelResponse.caution string 対応時の注意点。 【配列要素がある場合のみ】
■ 推奨アクション(レベル1以上)
data.recommendedActions array<string> 組織として次に取るべき対応アクション。 【レベル1以上のみ】レベル0ではキー自体なし。1件以上(空配列にならない)。参照前に存在チェックを推奨

2. level と levelDescription の対応

level(string) levelDescription 意味
"0" 問題なし ハラスメントに該当する発言なし
"1" 要注意 礼儀を欠く表現や不適切な言い回しはあるが、即座に重大なリスクとはならない
"2" 要警戒 明確な不快感を与えるマナー違反、またはエスカレートする兆候がある
"3" 高リスク 強い威圧、暴言、法的リスクを伴う不当な要求など、明確なハラスメント
"4" 緊急対応 身体的危害の予告、犯罪行為、深刻な権利侵害など、直ちに法的措置や緊急対応が必要

3. 出力有無マトリクス

キーなし=プロパティ自体が欠落。空配列 []=キーはあるが要素なし。この2つは別物です。

要素 レベル0 レベル1〜4
data.assessmentResult あり あり
data.harassmentAnalysis キーなし あり(必須)
5カテゴリ配列
(threats 等)
(親がないため参照不可) キーは5つすべて存在
該当あり: オブジェクト配列 / 該当なし: []
少なくとも1カテゴリは非空
配列内要素
(speaker 等)
(親がないため参照不可) 該当発言があるカテゴリにのみ存在
data.recommendedActions キーなし あり(1件以上。空配列にならない)

4. 出力例

レベル0(詳細キーなし)

{
  "assessmentResult": {
    "level": "0",
    "levelDescription": "問題なし",
    "summary": "ハラスメントに該当する発言は確認されませんでした。",
    "harassingSpeakersSummary": "ハラスメントに該当する発言は確認されませんでした。"
  }
}

レベル1以上(概念例)

{
  "assessmentResult": {
    "level": "2",
    "levelDescription": "要警戒",
    "summary": "...",
    "harassingSpeakersSummary": "..."
  },
  "harassmentAnalysis": {
    "threats": [],
    "verbalAbuse": [
      {
        "speaker": "お客様(発信者)",
        "excerpt": "...",
        "reason": "...",
        "modelResponse": {
          "objective": "...",
          "script": "...",
          "caution": "..."
        }
      }
    ],
    "unreasonableDemands": [],
    "coerciveBehavior": [],
    "privacyInvasion": []
  },
  "recommendedActions": [
    "上司へエスカレーションする"
  ]
}

5. 連携時の注意

  • レベル0では data.harassmentAnalysis と data.recommendedActions は出力されません。参照前に存在チェックを行ってください。
  • レベル1以上でも、5カテゴリすべてに中身があるとは限りません。該当しないカテゴリは空配列 [] です。空カテゴリは画面・連携双方で非表示として扱って問題ありません。
  • 空配列 [] とキー欠落は別物です。カテゴリ配列は空配列、詳細分析/推奨アクションはレベル0でキー欠落です。
  • assessmentResult.level の型は文字列です。閾値比較する場合は数値化してください。