MLSolution - グローバル
MLSolution API には、予測インテリジェンス予測を処理し、類似性、分類、クラスタリングのすべての機能のソリューション オブジェクトを取得するためのメソッドが用意されています。
- すべてのソリューションオブジェクトに使用される共通メソッド:
- getCapability()
- getVersion()
- isActive()
- predict()
- 分類および回帰ソリューションにのみ使用されるメソッド:
- applyPrediction()
- クラスタリングソリューションにのみ使用されるメソッド:
- getClusterAssignments()
- getClusterForRecord()
- getClusterInfo()
MLSolution API には 予測インテリジェンス プラグイン (com.glide.platform_ml) が必要です。この API は sn_ml 名前空間内で提供されます。
このオブジェクトのメソッドは、 MLSolutionFactory を使用してインスタンス化されます。
MLSolution - applyPrediction(GlideRecord now_GR)
信頼性の値がしきい値より大きい場合に、分類ソリューションの予測結果を取得し、それを入力 GlideRecord に適用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| now_GR | GlideRecord | 予測を実行して結果を適用する対象の値を含む GlideRecord オブジェクト。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | 予測が適用されたかどうかを示すフラグ。
|
var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
var inputGR = new GlideRecord("incident");
inputGR.get("0ef47232db801300864adfea5e961912");
mlSolution.applyPrediction(inputGR);
MLSolution - getCapability()
トレーニング済みソリューションの機能情報を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | トレーニング済みソリューションのタイプ。 可能な値:
|
var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
// configure optional parameters
var options = {};
options.group_by = 'network';
options.cluster_id = 1;
options.top_n_per_cluster = 3;
if (mlSolution.getCapability() == 'clustering') {
var results = mlSolution.getClusterAssignments(options);
// pretty print JSON results
gs.print(JSON.stringify(JSON.parse(results), null, 2));
}
MLSolution - getClusterAssignments(オブジェクト options)
クラスタリングソリューションの割り当てを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| オプション | オブジェクト | オプション。返された結果を、クラスタリングソリューション内のグループとレベルで絞り込むために使用する値。 デフォルト:すべてのクラスターのクラスターメンバーシップを返します。 |
| options.group_by | 文字列 | オプション。クラスターメンバーシップ (assignment_group など) を取得するセグメンテーションフィールドを識別します。 このフィールドは、[クラスタリング定義] フォームの [グループ化] チェックボックスで提供されるオプションと同じグループ化を提供します。表示される情報は、[テーブル] フィールドで選択したテーブルによって異なります。詳細については、「 クラスタリングソリューションの作成とトレーニング 」を参照してください。 |
| options.cluster_id | 文字列 | オプション。クラスターサマリー [ml_cluster_summary] テーブルのトレーニング済みソリューションのクラスター ID。 |
| options.top_n_per_cluster | 番号 | クラスターごとに受信する上位の結果の数。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | クラスター情報を含む JSON のアレイ (cluster_id の昇順)。
|
var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
// configure optional parameters
var options = {};
options.group_by = 'network';
options.cluster_id = '1';
// returns top 3 results per cluster
options.top_n_per_cluster = 3;
var results = mlSolution.getClusterAssignments(options);
出力:
[{"cluster_id":"1","rec_display_id":"Incident: INC0014483","rec_sys_id":"04e33e7adb401300864adfea5e961900","group_by":"network"},
{"cluster_id":"1","rec_display_id":"Incident: INC0011133","rec_sys_id":"5bd23af2db401300864adfea5e96194d","group_by":"network"}]
MLSolution - getClusterForRecord(GlideRecord now_GR)
クラスタリングソリューションのクラスター情報を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| now_GR | GlideRecord | 入力 GlideRecord の名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | レコードがクラスターに属する場合は、クラスターサマリー [ml_cluster_summary] テーブルの cluster_id。レコードがクラスターに属していない場合は、空の文字列が返されます。 |
var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
var now_GR = new GlideRecord('incident');
if (mlSolution.getCapability() == 'clustering') {
var clusterId = mlSolution.getClusterForRecord(now_GR);
}
MLSolution - getClusterInfo(オブジェクト options)
指定されたクラスタリングソリューションの情報を取得します。。
| 名前 | タイプ | 説明 |
|---|---|---|
| オプション | オブジェクト | オプション。返された結果を、クラスタリングソリューション内のグループとレベルで絞り込みます。 デフォルト:すべてのクラスターのクラスターメンバーシップを返します。 |
| options.group_by | 文字列 | オプション。クラスターメンバーシップ (assignment_group など) を取得するセグメンテーションフィールドを識別します。 このフィールドは、[クラスタリング定義] フォームの [グループ化] チェックボックスで提供されるオプションと同じグループ化を提供します。表示される情報は、[テーブル] フィールドで選択したテーブルによって異なります。詳細については、「 クラスタリングソリューションの作成とトレーニング 」を参照してください。 |
| options.cluster_id | 文字列 | オプション。クラスターサマリー [ml_cluster_summary] テーブルのトレーニング済みソリューションのクラスター ID。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | クラスター情報を含む JSON のアレイ (cluster_id の昇順)。
|
var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
// configure optional parameters
var options = {};
options.group_by = 'network';
options.cluster_id = 1;
var results = mlSolution.getClusterInfo(options);
出力:
[ {"cluster_id":"1","cluster_quality":"56.6","cluster_size":"46","group_by":"SLA","cluster_concept":"issue occur capacity ..."},
{"cluster_id":"2","cluster_quality":"55.47","cluster_size":"75","group_by":"SLA","cluster_concept":"clone instance request ..."},
... ]
MLSolution - getVersion()
アクティブなソリューションのバージョンを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | アクティブなソリューションのバージョン。 |
var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
var solutionVersion = mlSolution.getVersion();
MLSolution - isActive()
ソリューションがアクティブかどうかを判断します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | ソリューションがアクティブかどうかを示すフラグ。
|
var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
var isActive = mlSolution.isActive();
MLSolution - predict(オブジェクト input, オブジェクト options)
GlideRecord またはキーと値のペアのアレイを指定して、予測サーバーから予測結果を取得します。
GlideRecord は反復子であるため、このメソッドを使用して複数の入力レコードを含む予測を呼び出すことができます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 入力 | オブジェクト | GlideRecord または、キーと値のペアとしてフィールド名と値を含む JSON オブジェクトのアレイ。 |
| オプション | オブジェクト | オプション。次のプロパティを持つ、 JSON のキーと値のペア。
|
| タイプ | 説明 |
|---|---|
| オブジェクト | sys_id または record_number でソートされた予測結果を含む JSON オブジェクト。
|
var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
// single GlideRecord input
var input = new GlideRecord("incident");
input.get("0ef47232db801300864adfea5e961912");
// configure optional parameters
var options = {};
options.top_n = 3;
options.apply_threshold = false;
var results = mlSolution.predict(input, options);
// pretty print JSON results
gs.print(JSON.stringify(JSON.parse(results), null, 2));
var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
// multiple GlideRecord input
var input = new GlideRecord("incident");
input.addQuery("sys_created_onONLast week@javascript:gs.beginningOfLastWeek()@javascript:gs.endOfLastWeek()");
input.query();
// configure optional parameters
var options = {};
options.top_n = 3;
options.apply_threshold = false;
var results = mlSolution.predict(input, options);
// pretty print JSON results
gs.print(JSON.stringify(JSON.parse(results), null, 2));
出力:
{
input_gr_sys_id1: [
{
predictedValue : xxx,
predictedSysId : xx0,
confidence : xxx,
threshold : xxx
},
{
predictedValue : yyy,
predictedSysId : xx1,
confidence : xxx,
threshold : xxx
}
],
input_gr_sys_id2 : [
{
predictedValue : xxx,
predictedSysId : xx0,
confidence : xxx,
threshold : xxx
},
...
]
}
var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
// key-value pairs input
var input = [{"short_description":"my email is not working"},
{short_description:"need help with password"}];
// configure optional parameters
var options = {};
options.top_n = 3;
options.apply_threshold = false;
var results = mlSolution.predict(input, options);
// pretty print JSON results
gs.print(JSON.stringify(JSON.parse(results), null, 2));