---
sourceDocument: Xanadu で AI を有効にする
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/intelligent-experiences

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu で AI を有効にする

ft:clusterId :

    - platai

bundleId :

    - platai

workflow :

    - Platform


---

# 機械学習 API の使用

# 機械学習 API の使用 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：13分

ServiceNow Machine Learning (ML) API を使用して、機械学習モデルをトレーニングし、推論を実行します。
ML API を使用すると、ソリューションのトレーニングとソリューションバージョンの管理が可能になります。アクティブなバージョンの取得と設定、トレーニングステータスの監視などを行うことができます。ML API にはエンコーダーも用意されており、用語頻度逆ドキュメント頻度 (TF-IDF) をワードコーパスとして使用できます。予測可能性の推定により、テーブル列の予測値を評価できます。  
注:  
予測インテリジェンス API の実行 全権限で実行します。ユーザーのアクセスを制限するには、スクリプトにアクセス制御メカニズムを含めます。

## ML API クラスの概要 {#ariaid-title2}

このセクションでは、ML ソリューションをトレーニングし、トレーニング済みソリューションを使用して推論を実行するためのクラスについて簡単に説明します。

データセット

:   データセットは、 ML トレーニングアルゴリズムの入力として使用する、テーブル名、列、および行の選択基準を含むレコードのセット。データセットには実際のデータは含まれていません。

    詳細については、「 [DatasetDefinition](https://www.servicenow.com/docs/access?context=DatasetDefinitionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)」を参照してください。

ML オブジェクト -- ソリューション、エンコーダー、推定

:   ML オブジェクトは、データセットに適用する特定のトレーニング構成を定義します。一部の操作は ML オブジェクト間で共通です。ソリューションオブジェクトには、分類、クラスタリング、回帰、および類似性が含まれます。

    エンコーダーは、事前にトレーニングされたか、指定した言語データセットに基づいてトレーニングされたテキスト処理オブジェクトです。システムがテキストフィールドをどのように解釈して処理するかを決定するエンコーダーをトレーニングできます。テキストを含む ML ソリューションの場合は、テキストを処理する方法を指定するようにエンコーダーをトレーニングし、 トレーニング済みの エンコーダーをソリューションで使用できます。

    PredictabilityEstimate オブジェクトは、データセット内のどのフィールドが予測可能か、およびこの予測可能性の基になる特徴を推定します。  
    詳細については、以下を参照してください。

    * [ClassificationSolution](https://www.servicenow.com/docs/access?context=ClassificationSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [ClusteringSolution](https://www.servicenow.com/docs/access?context=ClusteringSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [Encoder](https://www.servicenow.com/docs/access?context=EncoderAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [PredictabilityEstimate](https://www.servicenow.com/docs/access?context=PredictabilityEstimateAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [RegressionSolution](https://www.servicenow.com/docs/access?context=RegressionSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [SimilaritySolution](https://www.servicenow.com/docs/access?context=SimilaritySolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    {#ml-api-overview__ul_tsm_t4x_gmb}

店舗

:   ML オブジェクトは、オブジェクトタイプごとに特定のストアに保持されます。各ストア クラスには、追加、取得、更新、および削除操作のメソッドが含まれています。

    詳細については、以下を参照してください。

    * [分類ソリューションストア](https://www.servicenow.com/docs/access?context=ClassificationSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [ClusteringSolutionStore](https://www.servicenow.com/docs/access?context=ClusteringSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [エンコーダストア](https://www.servicenow.com/docs/access?context=EncoderStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [予測可能性の推定ストア](https://www.servicenow.com/docs/access?context=PredictabilityEstimateStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [RegressionSolutionStore](https://www.servicenow.com/docs/access?context=RegressionSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [類似ソリューションストア](https://www.servicenow.com/docs/access?context=SimilaritySolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    {#ml-api-overview__ul_dvb_54x_gmb}

バージョン

:   トレーニングされた各オブジェクトは、タスクを実行できる新しいバージョンになります。バージョン API を使用して、ソリューションのバージョンを取得し、それに対してタスクを実行します。

    詳細については、以下を参照してください。

    * [ClassificationSolutionVersion](https://www.servicenow.com/docs/access?context=ClassificationSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [ClusteringSolutionVersion](https://www.servicenow.com/docs/access?context=ClusteringSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [エンコーダーバージョン](https://www.servicenow.com/docs/access?context=EncoderVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [予測可能性の推定バージョン](https://www.servicenow.com/docs/access?context=PredictabilityEstimateVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [RegressionSolutionVersion](https://www.servicenow.com/docs/access?context=RegressionSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [SimilaritySolutionVersion](https://www.servicenow.com/docs/access?context=SimilaritySolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    {#ml-api-overview__ul_c4h_54x_gmb}

### まとめ: ML API フロー {#ml-api-overview__section_okc_y4j_gmb}

次のフローを使用して、ソリューション、エンコーダー、予測可能性の推定を構成およびトレーニングできます。図 : 1. ML API フロー -- ソリューション、エンコーダー、見積もりのトレーニング  
注:  
エンコーダー定義は複数のデータセット定義をサポートしていますが、トレーニング フローは同じです。  
エンコーダーを使用してソリューションをトレーニングするには、まずエンコーダーを作成してから、そのエンコーダーをソリューション構成に含めます。図 : 2. ML API フロー -- エンコーダーを使用したソリューション API トレーニング

ML オブジェクトエンコーダーの要件:

* 類似性 API ソリューションでは必須です。
* レーベンシュタイン距離アルゴリズムを使用する場合を除き、クラスタリング API ソリューションで必要です。この場合、エンコーダーはオプションです。
* 分類および回帰ソリューションではオプションです。
* 予測可能性の推定には使用できません。
{#ml-api-overview__ul_azy_z3j_gmb}

## ML API ソリューション トレーニングの開始 {#ariaid-title3}

このブレークダウンの例に従って、ソリューションを構成およびトレーニングする方法を学習します。

ソリューションの構成とトレーニング
:

    1. [DatasetDefinition](https://www.servicenow.com/docs/access?context=DatasetDefinitionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) API を使用してデータセットを定義します。  

           var myData = new sn_ml.DatasetDefinition({

             'tableName' : 'incident',
             'fieldNames' : ['assignment_group', 'short_description', 'description'],
             'encodedQuery' : 'activeANYTHING'

           });

    2. コンストラクターを使用して、構成内のデータセットを含むソリューションを定義します。  

           var mySolution = new sn_ml.ClassificationSolution({

             'label': "my solution definition",
             'dataset' : myData,
             'predictedFieldName' : 'assignment_group',
             'inputFieldNames':['short_description']

           });

       * [ClassificationSolution()](https://www.servicenow.com/docs/access?context=ClassificationSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolution()](https://www.servicenow.com/docs/access?context=ClusteringSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [エンコーダ()](https://www.servicenow.com/docs/access?context=EncoderAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [予測可能性の推定](https://www.servicenow.com/docs/access?context=PredictabilityEstimateAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolution()](https://www.servicenow.com/docs/access?context=RegressionSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [類似性ソリューション()](https://www.servicenow.com/docs/access?context=SimilaritySolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-train__ul_y2y_d3j_gmb}
    3. add() メソッドを使用して、ソリューション定義をストアに追加します。  

           var my_unique_name = sn_ml.ClassificationSolutionStore.add(mySolution);

       * [ClassificationSolutionStore - add()](https://www.servicenow.com/docs/access?context=ClassificationSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolutionStore -- add()](https://www.servicenow.com/docs/access?context=ClusteringSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [エンコーダストア - add()](https://www.servicenow.com/docs/access?context=EncoderStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [PredictabilityEstimateStore - add()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolutionStore - add()](https://www.servicenow.com/docs/access?context=RegressionSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [SimilaritySolutionStore - add()](https://www.servicenow.com/docs/access?context=SimilaritySolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-train__ul_z2y_d3j_gmb}
    4. submitTrainingJob() メソッドを使用してソリューションをトレーニングします。トレーニングが完了したら、ソリューションバージョン API を使用してトレーニング済みソリューションを管理できます。ソリューションは複数回再トレーニングできます。各トレーニングは、推論を実行できる新しいソリューションの「バージョン」になります。  

           var myClassifierVersion = mySolution.submitTrainingJob();

       * [ClassificationSolution - submitTrainingJob()](https://www.servicenow.com/docs/access?context=ClassificationSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolutionVersion -- submitTrainingJob()](https://www.servicenow.com/docs/access?context=ClusteringSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [Encoder - submitTrainingJob()](https://www.servicenow.com/docs/access?context=EncoderAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [PredictabilityEstimate - submitTrainingJob()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolution - submitTrainingJob()](https://www.servicenow.com/docs/access?context=RegressionSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [SimilaritySolution - submitTrainingJob()](https://www.servicenow.com/docs/access?context=SimilaritySolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-train__ul_afy_d3j_gmb}
    {#ml-api-demo-train__ol_if1_wgs_gmb}

ストア内のすべての分類ソリューションを表示
:   ストアの getAllNames() メソッドを使用して、ストアに追加されたすべてのソリューションのリストを表示できます。  

        gs.print(JSON.stringify(JSON.parse(sn_ml.ClassificationSolutionStore.getAllNames()), null, 2));


    出力では、ソリューションに `ml_x_snc_global_global_my_solution_definition`が付けられています。後続の例でこの名前を使用して、バージョン情報を取得します。

        *** Script: [
          "ml_incident_assignment",
          "ml_x_snc_global_global_my_solution_definition",
          "ml_incident_categorization"
        ]


    * [ClassificationSolutionStore - getAllNames()](https://www.servicenow.com/docs/access?context=ClassificationSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [ClusteringSolutionStore -- getAllNames()](https://www.servicenow.com/docs/access?context=ClusteringSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [エンコーダストア - getAllNames()](https://www.servicenow.com/docs/access?context=EncoderStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [PredictabilityEstimateStore - getAllNames()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [RegressionSolutionStore - getAllNames()](https://www.servicenow.com/docs/access?context=RegressionSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [SimilaritySolutionStore - getAllNames()](https://www.servicenow.com/docs/access?context=SimilaritySolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    {#ml-api-demo-train__ul_kxd_bjq_3mb}

## ML API ソリューションバージョンの開始 {#ariaid-title4}

これらのブレークダウン例に従って、トレーニング済みソリューションのバージョンを管理する方法を学習します。

トレーニングステータスの確認

:   ストアから分類ソリューションを取得し、バージョンを選択して、そのトレーニングステータスを確認します。トレーニングステータスの確認に使用される方法は、すべての ML オブジェクトタイプに適用できます。

    1. get() メソッドを使用して、分類ソリューションストアからソリューションを取得します。  

           // Get the solution created in the previous example from the classification solution store
           var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_my_solution_definition');

       * [ClassificationSolutionStore - get()](https://www.servicenow.com/docs/access?context=ClassificationSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolutionStore -- get()](https://www.servicenow.com/docs/access?context=ClusteringSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [エンコーダストア - get()](https://www.servicenow.com/docs/access?context=EncoderStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [PredictabilityEstimateStore - get()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolutionStore - get()](https://www.servicenow.com/docs/access?context=RegressionSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [SimilaritySolutionStore - get()](https://www.servicenow.com/docs/access?context=SimilaritySolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-use__ul_qq2_g3q_3mb}
    2. getLatestVersion() ソリューションメソッドを使用して最新のソリューションバージョンにアクセスし、getStatus() バージョンメソッドを使用してそのトレーニングステータスを取得します。  

           // Access the latest version of the solution and print its training status
           gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus(), null, 2)));

       トレーニング完了時の出力:  

           *** Script: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}

       {#ml-api-demo-use__table_t1d_wzq_3mb__entry__2}

       | getLatestVersion() | getStatus() |
       |-|-|
       | [ClassificationSolution - getLatestVersion()](https://www.servicenow.com/docs/access?context=ClassificationSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [ClassificationSolutionVersion - getStatus()](https://www.servicenow.com/docs/access?context=ClassificationSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [ClusteringSolution -- getLatestVersion()](https://www.servicenow.com/docs/access?context=ClusteringSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [ClusteringSolutionVersion -- getStatus()](https://www.servicenow.com/docs/access?context=ClusteringSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [Encoder - getLatestVersion()](https://www.servicenow.com/docs/access?context=EncoderAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [EncoderVersion - getStatus()](https://www.servicenow.com/docs/access?context=EncoderVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [PredictabilityEstimate - getLatestVersion()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [PredictabilityEstimateVersion - getStatus()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [RegressionSolution - getLatestVersion()](https://www.servicenow.com/docs/access?context=RegressionSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [RegressionSolutionVersion - getStatus()](https://www.servicenow.com/docs/access?context=RegressionSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [SimilaritySolution - getLatestVersion()](https://www.servicenow.com/docs/access?context=SimilaritySolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [SimilaritySolutionVersion - getStatus()](https://www.servicenow.com/docs/access?context=SimilaritySolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       [ ]

       {#ml-api-demo-use__table_t1d_wzq_3mb}
    {#ml-api-demo-use__ol_nrp_5fl_gmb}

ソリューションバージョンを使用して予測を取得
:   ソリューションがトレーニングされたら、トレーニング済みバージョンを取得し、予測を実行します。作成したソリューションをストアから入手します。次に、トレーニング済みバージョンを選択し、トレーニング済みバージョンを予測します。  
    注:  
    エンコーダーと予測可能性の推定では予測できません。

    1. get() メソッドを使用して、分類ソリューションストアからソリューションを取得します。  

           // Get the solution created in the first example from the classification solution store
           var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_my_solution_definition');

    2. [GlideRecord](https://www.servicenow.com/docs/access?context=c_GlideRecordAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) API の get() メソッドを使用して、インシデント \[incident\] テーブルからレコードを提供します。  

           // single GlideRecord input
           var input = new GlideRecord("incident");
           input.get("<sys_id>");

    3. オプション。上位 3 つの結果を返し、すべての結果を返すように ClassificationSolutionVersion -- predict() メソッド options パラメーターを構成します。  

           // configure optional parameters
           var options = {};
           options.top_n = 3;
           options.apply_threshold = false;

    4. `results` という変数を宣言し、それを予測ジョブに割り当てます。予測ジョブを実行するには、 ClassificationSolution -- getLatestVersion() メソッドを使用して最新のソリューションバージョンを取得し、そのメソッドで ClassificationSolutionVersion -- predict() メソッドを呼び出します。  

           var results = mlSolution.getLatestVersion().predict(input, options);

       * [ClassificationSolutionVersion - predict()](https://www.servicenow.com/docs/access?context=ClassificationSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolutionVersion -- predict()](https://www.servicenow.com/docs/access?context=ClusteringSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolutionVersion - predict()](https://www.servicenow.com/docs/access?context=RegressionSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [SimilaritySolutionVersion - predict()](https://www.servicenow.com/docs/access?context=SimilaritySolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-use__ul_knz_5lq_3mb}
    5. 予測結果出力を出力します。  

           gs.print(JSON.stringify(JSON.parse(results), null, 2));

       予測結果の出力例:

           *** Script: {
             "<sys_id>": [
               {
                 "confidence": 99,
                 "threshold": 24.75,
                 "predictedValue": "Email",
                 "predictedSysId": ""
               },
               {
                 "confidence": 5.88210244009169,
                 "threshold": 100,
                 "predictedValue": "Email (I/f)",
                 "predictedSysId": ""
               },
               {
                 "confidence": 2.3461203499840932,
                 "threshold": 14.81,
                 "predictedValue": "Authentication",
                 "predictedSysId": ""
               }
             ]
           }

    {#ml-api-demo-use__ol_njr_2fk_gmb}

