communications-mining
latest
false
- API ドキュメント
- CLI
- 連携ガイド
- ブログ
- 機械が単語を理解する方法:NLPに埋め込むためのガイド
- トランスフォーマーによるプロンプトベースの学習
- 効率的な変圧器II:知識蒸留と微調整
- 効率的な変圧器I:注意メカニズム
- 階層的な教師なしインテントモデリング:トレーニングデータなしで価値を得る
- Communications Mining による注釈バイアスの修正
- アクティブ ラーニング: より優れた ML モデルを短時間で実現
- それはすべて数字にあります-メトリックを使用してモデルのパフォーマンスを評価します
- モデルの検証が重要な理由
- 会話型データ インテリジェンスのための Communications Mining と Google AutoML の比較
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
Communications Mining 開発者ガイド
Last updated 2024年10月3日
ストリームを作成する
/api/v1/datasets/<project>/<dataset_name>/streams
/api/v1/datasets/<project>/<dataset_name>/streams
必要な権限: ストリーム管理者、表示ラベル
- bash
curl -X PUT 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "stream": { "comment_filter": { "user_properties": { "number:Spend": { "maximum": 100000, "minimum": 100 }, "number:Transactions": { "one_of": [ 1 ] }, "string:Country": { "one_of": [ "uk", "de" ] } } }, "description": "Used by ACME RPA to create tickets for disputes.", "model": { "label_thresholds": [ { "name": [ "Some Label" ], "threshold": 0.37 }, { "name": [ "Another Label" ], "threshold": 0.46 }, { "name": [ "Parent Label", "Child Label" ], "threshold": 0.41 } ], "version": 8 }, "name": "dispute", "title": "Collateral Disputes" } }'
curl -X PUT 'https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "stream": { "comment_filter": { "user_properties": { "number:Spend": { "maximum": 100000, "minimum": 100 }, "number:Transactions": { "one_of": [ 1 ] }, "string:Country": { "one_of": [ "uk", "de" ] } } }, "description": "Used by ACME RPA to create tickets for disputes.", "model": { "label_thresholds": [ { "name": [ "Some Label" ], "threshold": 0.37 }, { "name": [ "Another Label" ], "threshold": 0.46 }, { "name": [ "Parent Label", "Child Label" ], "threshold": 0.41 } ], "version": 8 }, "name": "dispute", "title": "Collateral Disputes" } }' - ノード
const request = require("request"); request.put( { url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { stream: { comment_filter: { user_properties: { "number:Spend": { maximum: 100000, minimum: 100 }, "number:Transactions": { one_of: [1] }, "string:Country": { one_of: ["uk", "de"] }, }, }, description: "Used by ACME RPA to create tickets for disputes.", model: { label_thresholds: [ { name: ["Some Label"], threshold: 0.37 }, { name: ["Another Label"], threshold: 0.46 }, { name: ["Parent Label", "Child Label"], threshold: 0.41 }, ], version: 8, }, name: "dispute", title: "Collateral Disputes", }, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.put( { url: "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { stream: { comment_filter: { user_properties: { "number:Spend": { maximum: 100000, minimum: 100 }, "number:Transactions": { one_of: [1] }, "string:Country": { one_of: ["uk", "de"] }, }, }, description: "Used by ACME RPA to create tickets for disputes.", model: { label_thresholds: [ { name: ["Some Label"], threshold: 0.37 }, { name: ["Another Label"], threshold: 0.46 }, { name: ["Parent Label", "Child Label"], threshold: 0.41 }, ], version: 8, }, name: "dispute", title: "Collateral Disputes", }, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.put( "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "stream": { "name": "dispute", "title": "Collateral Disputes", "description": "Used by ACME RPA to create tickets for disputes.", "model": { "version": 8, "label_thresholds": [ {"name": ["Some Label"], "threshold": 0.37}, {"name": ["Another Label"], "threshold": 0.46}, { "name": ["Parent Label", "Child Label"], "threshold": 0.41, }, ], }, "comment_filter": { "user_properties": { "string:Country": {"one_of": ["uk", "de"]}, "number:Spend": {"minimum": 100, "maximum": 100000}, "number:Transactions": {"one_of": [1]}, } }, } }, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.put( "https://<my_api_endpoint>/api/v1/datasets/project1/collateral/streams", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "stream": { "name": "dispute", "title": "Collateral Disputes", "description": "Used by ACME RPA to create tickets for disputes.", "model": { "version": 8, "label_thresholds": [ {"name": ["Some Label"], "threshold": 0.37}, {"name": ["Another Label"], "threshold": 0.46}, { "name": ["Parent Label", "Child Label"], "threshold": 0.41, }, ], }, "comment_filter": { "user_properties": { "string:Country": {"one_of": ["uk", "de"]}, "number:Spend": {"minimum": 100, "maximum": 100000}, "number:Transactions": {"one_of": [1]}, } }, } }, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - レスポンス
{ "status": "ok", "stream": { "context": "0", "created_at": "2019-08-03T12:30:00.123456Z", "dataset_id": "abcdef0123456789", "description": "Used by ACME RPA to create tickets for disputes.", "id": "0123456789abcdef", "model": { "version": 8 }, "name": "dispute", "title": "Collateral Disputes", "updated_at": "2019-08-03T12:30:00.123456Z" } }
{ "status": "ok", "stream": { "context": "0", "created_at": "2019-08-03T12:30:00.123456Z", "dataset_id": "abcdef0123456789", "description": "Used by ACME RPA to create tickets for disputes.", "id": "0123456789abcdef", "model": { "version": 8 }, "name": "dispute", "title": "Collateral Disputes", "updated_at": "2019-08-03T12:30:00.123456Z" } }
ストリームを使用すると、データセット内のコメントに対する永続的でステートフルな反復処理が可能になり、ピン留めされたモデルを使用して予測されたラベルと一般的なフィールドが計算されます。
ストリームが作成されたら、 メソッドと メソッドを使用してコメントを反復処理できます。
名前 | 型 | 必須 | 説明 |
---|---|---|---|
name | string | ○ | URL で使用されるストリームの API 参照名です。 データセット内で一意であり、 [A-Za-z0-9-_]{1,256} と一致する必要があります。
|
title | string | × | ストリームの人間が判読できる 1 行のタイトル。 |
description | string | × | ストリームの詳細な説明。 |
model | モデル | × | 指定した場合、このストリームからフェッチされたコメントには、ピン留めされたモデルからの予測が含まれます。 |
comment_filter | CommentFilter | × | 指定した場合、フィルターに一致しないコメントは返されません。 コメント フィルターがストリームによって返される結果に与える影響について詳しくは、こちらをご覧ください。 |
ここで
Model
の形式は次のとおりです。
名前 | 型 | 必須 | 説明 |
---|---|---|---|
version | integer | ○ | [ モデル] ページでピン留めされたモデル バージョン。 |
label_thresholds | array<LabelThreshold> | × | 設定すると、指定した label_thresholds に一致する値のみが返されます。 設定しない場合、すべてのラベルとすべての予測値が返されます。
|
ここで
LabelThreshold
の形式は次のとおりです。
名前 | 型 | 必須 | 説明 |
---|---|---|---|
name | array<string> | ○ | 階層ラベルのリストとして書式設定された、返されるラベルの名前。 たとえば、ラベル "Some Label" の形式は ["Some Label"] で、ラベル "Parent Label > Child Label" の形式は ["Parent Label", "Child Label"] になります。
|
threshold | Number | ○ | ラベルに使用する信頼度のしきい値 (0.0 から 1.0 の間の数値)。 ラベルは、予測がこのしきい値を超えている場合にのみ、コメントに対して返されます。 |
ここで
CommentFilter
の形式は次のとおりです。
名前 | 型 | 必須 | 説明 |
---|---|---|---|
user_properties | UserPropertyFilter | × | コメントのユーザー プロパティに適用されるフィルター。 ユーザー プロパティの詳細については、「 コメント リファレンス」を参照してください。 |
UserPropertyFilter
は、フィルター処理するユーザー プロパティ名のマップです。文字列プロパティは、セット ({"one_of": ["val_1", "val_2"]}
) 内の値にフィルター処理できます。 数値プロパティは、セット内の値 ({"one_of": [123, 456]}
) または範囲 ({"minimum": 123, "maximum": 456}
) にフィルター処理できます。