本機能は有償です。
本機能の料金を含む利用についての詳細・契約等については、担当営業までご連絡ください。
概要
ハラスメント判定は、通話内容にハラスメント発言が含まれていないか、またはハラスメントに類する会話をおこなっていないかを評価・分析し、簡易通話履歴に収集する機能です。
分析は発信者と受話者の双方向に対しておこなわれ、その結果を5段階で評価します。
判定結果の表示
ハラスメント判定の結果は、簡易通話履歴画面に「ハラスメント判定」の列として表示されます。

通話ごとの判定結果は、以下の5段階の評価レベルで表示されます。判定結果のバッヂはボタンになっており、押下することで判定詳細を確認することができます。
| 判定結果 | レベル | 説明 |
|---|---|---|
| 0 | 該当通話にハラスメントの兆候はありません | |
| 1 | 該当通話にハラスメントの兆候があります | |
| 2 | 該当通話にハラスメントが発生しています | |
| 3 | 該当通話にハラスメントが発生しており、高いリスクがあります | |
| 4 | 通話内容にハラスメントが発生しており、緊急対応が必要です |
結果判定の詳細表示
判定結果のバッヂを押下すると、ハラスメント判定の詳細結果パネルが表示されます。
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の型は文字列です。閾値比較する場合は数値化してください。
