Redaction Policy (バージョン 2024-11-15-preview のみ)
バージョン 2024-11-15-preview では、redactionPolicy
パラメーターを定義して、応答でドキュメントを編集するときに使用される編集ポリシーを反映できます。 ポリシー フィールドでは、次の 3 種類のポリシーがサポートされています。
noMask
characterMask
(既定)
entityMask
noMask
ポリシーを使用すると、ユーザーは redactedText
フィールドなしで応答を返すことができます。
characterMask
ポリシーでは、元のテキストの長さとオフセットを保持し、1 文字を使用して redactedText
をマスクできます。 これは既存の動作です。
characterMask
ポリシーを使用している場合は、編集で使用される文字を入力できる redactionCharacter
と呼ばれる省略可能なフィールドもあります
entityMask
ポリシーを使用すると、検出されたエンティティ型を使用して、検出された PII エンティティ テキストをマスクできます
編集ポリシーを変更する場合は、次の例を使用します。
curl -i -X POST https://your-language-endpoint-here/language/analyze-conversations/jobs?api-version=2024-05-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: your-key-here" \
-d \
'
{
"displayName": "Analyze conversations from xxx",
"analysisInput": {
"conversations": [
{
"id": "23611680-c4eb-4705-adef-4aa1c17507b5",
"language": "en",
"modality": "text",
"conversationItems": [
{
"participantId": "agent_1",
"id": "1",
"text": "Good morning."
},
{
"participantId": "agent_1",
"id": "2",
"text": "Can I have your name?"
},
{
"participantId": "customer_1",
"id": "3",
"text": "Sure that is John Doe."
}
]
}
]
},
"tasks": [
{
"taskName": "analyze 1",
"kind": "ConversationalPIITask",
"parameters": {
"modelVersion": "2023-04-15-preview",
“redactionCharacter”
"redactionPolicy": {
"policyKind": "characterMask",
//characterMask|entityMask|noMask
"redactionCharacter": "*"
}
}
}
]
}
`
音声テキスト変換を使用してトランスクリプトを送信する
Speech サービスの音声テキスト変換機能を使用して会話を文字起こしする場合は、次の例を使用してください。
curl -i -X POST https://your-language-endpoint-here/language/analyze-conversations/jobs?api-version=2024-05-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: your-key-here" \
-d \
'
{
"displayName": "Analyze conversations from xxx",
"analysisInput": {
"conversations": [
{
"id": "23611680-c4eb-4705-adef-4aa1c17507b5",
"language": "en",
"modality": "transcript",
"conversationItems": [
{
"participantId": "agent_1",
"id": "8074caf7-97e8-4492-ace3-d284821adacd",
"text": "Good morning.",
"lexical": "good morning",
"itn": "good morning",
"maskedItn": "good morning",
"audioTimings": [
{
"word": "good",
"offset": 11700000,
"duration": 2100000
},
{
"word": "morning",
"offset": 13900000,
"duration": 3100000
}
]
},
{
"participantId": "agent_1",
"id": "0d67d52b-693f-4e34-9881-754a14eec887",
"text": "Can I have your name?",
"lexical": "can i have your name",
"itn": "can i have your name",
"maskedItn": "can i have your name",
"audioTimings": [
{
"word": "can",
"offset": 44200000,
"duration": 2200000
},
{
"word": "i",
"offset": 46500000,
"duration": 800000
},
{
"word": "have",
"offset": 47400000,
"duration": 1500000
},
{
"word": "your",
"offset": 49000000,
"duration": 1500000
},
{
"word": "name",
"offset": 50600000,
"duration": 2100000
}
]
},
{
"participantId": "customer_1",
"id": "08684a7a-5433-4658-a3f1-c6114fcfed51",
"text": "Sure that is John Doe.",
"lexical": "sure that is john doe",
"itn": "sure that is john doe",
"maskedItn": "sure that is john doe",
"audioTimings": [
{
"word": "sure",
"offset": 5400000,
"duration": 6300000
},
{
"word": "that",
"offset": 13600000,
"duration": 2300000
},
{
"word": "is",
"offset": 16000000,
"duration": 1300000
},
{
"word": "john",
"offset": 17400000,
"duration": 2500000
},
{
"word": "doe",
"offset": 20000000,
"duration": 2700000
}
]
}
]
}
]
},
"tasks": [
{
"taskName": "analyze 1",
"kind": "ConversationalPIITask",
"parameters": {
"modelVersion": "2023-04-15-preview",
"redactionSource": "text",
"includeAudioRedaction": true,
"piiCategories": [
"all"
]
}
}
]
}
`
テキスト チャットを送信する
テキストで発信された会話がある場合は、次の例を使用してください。 たとえば、テキスト ベースのチャット クライアントを介した会話などです。
curl -i -X POST https://your-language-endpoint-here/language/analyze-conversations/jobs?api-version=2024-05-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: your-key-here" \
-d \
'
{
"displayName": "Analyze conversations from xxx",
"analysisInput": {
"conversations": [
{
"id": "23611680-c4eb-4705-adef-4aa1c17507b5",
"language": "en",
"modality": "text",
"conversationItems": [
{
"participantId": "agent_1",
"id": "8074caf7-97e8-4492-ace3-d284821adacd",
"text": "Good morning."
},
{
"participantId": "agent_1",
"id": "0d67d52b-693f-4e34-9881-754a14eec887",
"text": "Can I have your name?"
},
{
"participantId": "customer_1",
"id": "08684a7a-5433-4658-a3f1-c6114fcfed51",
"text": "Sure that is John Doe."
}
]
}
]
},
"tasks": [
{
"taskName": "analyze 1",
"kind": "ConversationalPIITask",
"parameters": {
"modelVersion": "2023-04-15-preview"
}
}
]
}
`
結果を取得する
operation-location
を応答ヘッダーから取得します。 値は次の URL のようになります。
https://your-language-endpoint/language/analyze-conversations/jobs/12345678-1234-1234-1234-12345678
要求の結果を取得するには、次の cURL コマンドを使用します。 my-job-id
を、前の operation-location
応答ヘッダーから受け取った数値 ID 値に必ず置き換えてください。
curl -X GET https://your-language-endpoint/language/analyze-conversations/jobs/my-job-id \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: your-key-here"