EncoderVersion :グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:15分
  • EncoderVersion API は、予測インテリジェンス ストアで使用されるスクリプト可能なオブジェクトを提供します。

    この API には 予測インテリジェンス プラグイン (com.glide.platform_ml) が必要で、 sn_ml 名前空間内で提供されます。

    この API は、エンコーダー ストア内のエンコーダー API オブジェクトに基づくエンコーダー バージョンを操作するために使用されます。

    バージョンのソリューションをアクティブ化 エンコーダー トレーニング完了時に最新バージョンのソリューションをアクティブ化し、一度にアクティブにできるのは 1 つのバージョンのみです。ただし、予測に使用する、以前にトレーニングしたバージョンをアクティブ化することはできます。

    この API のメソッドには、次の エンコーダー メソッドを使用してアクセスできます。

    EncoderVersion:getProperties()

    エンコーダーオブジェクトのプロパティ およびバージョン番号を取得します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 戻り値
    タイプ 説明
    オブジェクト データセットのコンテンツと エンコーダー の詳細。結果は、オブジェクトプロパティの設定によって異なります。
    {
      "algorithmConfig" : {Object},
      "datasetsProperties": [Array],
      "domainName": "String",
      "isActive": "String",
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String",
      "versionNumber": "Number"
    }
    <Object>.algorithmConfig オプション。 アルゴリズム構成プロパティを含む JavaScript オブジェクト。
    'algorithmConfig' : {
      "algorithm": "String"
    }

    データタイプ:オブジェクト。

    <Object>.algorithmConfig.algorithm このエンコーダーをトレーニングするためのアルゴリズムの名前。
    可能な値:
    • paravec:段落ベクトル語の埋め込み。
    • tf-idf:用語頻度逆ドキュメント頻度 (TF-IDF) ベースのテキスト。

    データタイプ:文字列。

    <Object>.datasetsProperties

    エンコーダーに関連付けられている DatasetDefinition() プロパティのリスト。

    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    データタイプ:アレイ。

    <Object>.datasetsProperties.tableName データセットのテーブルの名前。たとえば、「 tableName」:「インシデント」です。

    データタイプ:文字列。

    <Object>.datasetsProperties.fieldNames 指定されたテーブルのフィールド名を文字列としてリストします。例:"fieldNames" : ["short_description", "priority"]。

    データタイプ:アレイ。

    <Object>.datasetsProperties.fieldNames.fieldDetails フィールドのプロパティを指定する JavaScript オブジェクトのリスト。
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    データタイプ:アレイ。

    <Object>.datasetsProperties.fieldNames.fieldDetails.<object>.名前 このデータセットを制限する情報のタイプを定義するフィールドの名前。

    データタイプ:文字列。

    <Object>.datasetsProperties.fieldDetails.<object>。タイプ 機械学習フィールドタイプ。

    データタイプ:文字列。

    <Object>.datasetsProperties.fieldDetails.encodedQuery 標準の Glide 形式でエンコードされたクエリ文字列。「 エンコードされたクエリ文字列」を参照してください。

    データタイプ:文字列。

    <Object>.domainName このデータセットに関連付けられたドメイン名。「 ドメインセパレーション」および 予測インテリジェンスを参照してください。

    データタイプ:文字列。

    <Object>.isActive このバージョンがアクティブかどうかを示すフラグ。
    有効な値:
    • true:バージョンはアクティブです。
    • false:バージョンはアクティブではありません。

    データタイプ:文字列

    <Object>.label 予測タスクを識別します。
    {
      "label": "my first prediction"
    }

    データタイプ:文字列。

    <Object>.name システムによって割り当てられた名前。

    データタイプ:文字列。

    <Object>.predictedFieldName 予測可能性のためにトレーニングするフィールドを識別します。

    データタイプ:文字列。

    <Object>.processingLanguage 2 文字の ISO 639-1 言語コード形式の処理言語。

    データタイプ:文字列。

    <Object>.scope オブジェクトスコープ。現時点で有効な値は グローバル値のみです。

    データタイプ:文字列

    <Object>.stopwords オプション。languageプロパティ設定に基づいてシステムが自動的に生成する文字列のプリセットリスト。詳細については、「 カスタムストップワードリストの作成」を参照してください。

    データタイプ:アレイ。

    <Object>.trainingFrequency モデルを再トレーニングする頻度。
    可能な値:
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    デフォルト:run_once

    データタイプ:文字列。

    <Object>.versionNumber のバージョン番号 Encoder オブジェクト。

    データタイプ:文字列。

    次の例では、ストア内のアクティブなオブジェクトバージョンのプロパティを取得します。

    // Get properties
    var mlEncoder = sn_ml.EncoderStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getProperties()), null, 2));

    出力:

    *** Script: {
      "datasetsProperties": [
        {
          "tableName": "incident",
          "fieldNames": [
            "assignment_group",
            "short_description",
            "description"
          ],
          "encodedQuery": "activeANYTHING"
        }
      ],
      "domainName": "global",
      "isActive": "true",
      "label": "my encoder definition",
      "name": "ml_x_snc_global_global_my_encoder_definition",
      "processingLanguage": "en",
      "stopwords": [
        "Default English Stopwords"
      ],
      "versionNumber": "1"
    }

    EncoderVersion:getSentenceVectors(アレイ入力)

    各入力センテンスのベクトルを返します。

    表 : 3. パラメーター
    名前 タイプ 説明
    入力 アレイ ベクトルを受け取る文としての文字列の配列。
    表 : 4. 戻り値
    タイプ 説明
    文字列 文ベクトルの配列。

    次の例は、1 つの文のベクトルを返す方法を示しています。

    var myEncoderName = 'GloVe';
    
    var myEncoder = sn_ml.EncoderStore.get(myEncoderName);
    
    var input = ["I like to code."];
    
    var vectors = myEncoder.getActiveVersion().getSentenceVectors(input);
    
    gs.print(vectors);
    

    出力:

    *** Script: [-0.16243751347064972,0.30614474415779114,0.08489049971103668,
    -0.48100000619888306,-0.170997753739357,0.08779674768447876,-0.07848624140024185,-0.15123701095581055,
    -0.07843250036239624,-1.9505999088287354,0.3007825016975403,-0.07804800570011139,-0.04779449850320816,
    0.04803549498319626,0.09848674386739731,0.2427891194820404,-0.41138750314712524,0.10880374908447266,
     … ,
    0.21227750182151794,0.18478751182556152,-0.3113832473754883,-0.16560424864292145,0.09052124619483948]

    EncoderVersion:getSimilarWords(アレイ入力、オブジェクトオプション)

    各入力単語に類似する単語を類似度の降順で返します。

    表 : 5. パラメーター
    名前 タイプ 説明
    入力 アレイ 類似の単語を検索するための単語のアレイ。
    オプション オブジェクト マップして結果を絞り込みます。
    { "topN":"String" }
    options.topN 文字列 指定した場合、指定された数までの上位結果を返します 言葉の。たとえば、最も類似している上位 10 個の単語を返すには 、「10」 を使用します。
    表 : 6. 戻り値
    タイプ 説明
    アレイ 対応する位置に入力単語の類似した単語を含む要素のリスト。これらの類似した単語は 、[単語、類似性スコア] 形式のペアのアレイによって表されます。

    次の例は、 GloVe エンコーダーを使用して類似の単語を取得する方法を示しています。

    var myEncoderName = 'GloVe';
    var myEncoder = sn_ml.EncoderStore.get(myEncoderName);
    var input =  ["apple"];
    var options = {"topN":"5"};
    gs.print(myEncoder.getActiveVersion().getSimilarWords(input, options));	

    出力:

    *** Script: [[["iphone",0.5987],["macintosh",0.5836],["ipod",0.5761],["microsoft",0.5664],["ipad",0.5628]]]

    EncoderVersion:getStatus(ブール値 includeDetails)

    トレーニング完了ステータスを取得します。

    表 : 7. パラメーター
    名前 タイプ 説明
    includeDetails ブール ステータスを details にするかどうかを示すフラグ。
    有効な値:
    • true:追加の詳細を返します。
    • false:追加の詳細を返しません。

    デフォルト値:False

    表 : 8. 戻り値
    タイプ 説明
    オブジェクト のトレーニングステータス情報を含む JavaScript オブジェクトEncoder オブジェクト。
    {
      "state": "String",
      "percentComplete": "Number as a String",
      "hasJobEnded": "Boolean value as a String",
      "details": {Object}
    }
    <Object>.state トレーニング完了ステータス。トレーニングジョブがターミナルステータスに達しても、ジョブはそのステータスを終了しません。ステータスが [ターミナル] の場合、 hasJobEnded プロパティは true に設定されます。
    可能な値:
    • fetching_files_for_training
    • preparing_data
    • 再試行
    • solution_cancelled (端末)
    • solution_complete (ターミナル)
    • solution_error (端末)
    • solution_incomplete
    • training_request_received
    • training_request_timed_out (ターミナル)
    • training_solution
    • uploading_solution
    • waiting_for_training

    データタイプ:文字列

    <Object>.hasJobEnded トレーニングが完了したかどうかを示すフラグ。
    有効な値:
    • true:トレーニングが完了しました。
    • false:トレーニングが不完全です。

    データタイプ:文字列としてのブール値

    <Object>.percentComplete トレーニング完了率。完了率が 100 未満の場合、ジョブはターミナル状態である可能性があります。たとえば、トレーニングがタイムアウトした場合などです。

    データタイプ:文字列としての数値

    範囲:0〜100

    <Object>.details 追加のトレーニング詳細のリストを含むオブジェクト。

    データタイプ:オブジェクト

    次の例は、トレーニングが完了した正常な結果を示しています。

    // Get status
    var mlEncoder = sn_ml.EncoderStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getStatus(true), null, 2)));

    出力:

    {
     "state":"solution_complete",
     "percentComplete":"100",
     "hasJobEnded":"true",
     "details":{"stepLabel":"Encoder Complete"} // This information is only returned if getStatus(true);
    }

    次の例は、トレーニング完了での失敗の結果を示しています。

    // Get status
    var encoderName = 'ml_x_snc_global_global_encoder';
    var mlEncoder = sn_ml.EncoderStore.get(encoderName);
    var trainingStatus = mlEncoder.getLatestVersion().getStatus();
    
    gs.print(JSON.stringify(JSON.parse(trainingStatus), null, 2));

    出力:

    {
     "state":"solution_error",
     "percentComplete":"100",
     "hasJobEnded":"true"
    }

    EncoderVersion:getVersionNumber()

    のバージョン番号を取得します ソリューションオブジェクト。

    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 戻り値
    タイプ 説明
    文字列 バージョン番号。

    次の例は、バージョン番号を取得する方法を示しています。

    // Get version number
    var mlEncoder = sn_ml.EncoderStore.get('ml_incident_categorization');
    
    gs.print("Version number: "+JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getVersionNumber()), null, 2));

    出力:

    Version number: 1

    EncoderVersion:getWordVectors(アレイ入力)

    各入力単語のベクトルを返します。

    表 : 11. パラメーター
    名前 タイプ 説明
    入力 アレイ ベクトルを受け取る単語としての文字列のリスト。
    表 : 12. 戻り値
    タイプ 説明
    アレイ 指定された各単語のベクトルのリスト。

    次の例は、「 hello」という単語からベクトルを取得する方法を示しています。

    var myEncoderName = 'GloVe';
    var myEncoder = sn_ml.EncoderStore.get(myEncoderName);
    var input =  ["hello"];
    
    gs.print(myEncoder.getActiveVersion().getWordVectors(input));

    出力:

    *** Script: [[-0.337119996547699,-0.2169100046157837,-0.006636499892920256,
    -0.41624999046325684,-1.2554999589920044,-0.0284659992903471,-0.7219499945640564,
    -0.5288699865341187,0.0072085000574588776,0.3199700117111206,0.02942500077188015,
    -0.013236000202596188,0.4351100027561188,0.2571600079536438,0.3899500072002411,
     … ,
    0.3384299874305725,0.4055800139904022,0.18073000013828278,0.6424999833106995]]