EncoderVersion - グローバル

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

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

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

    トレーニングを完了すると、最新バージョンの Encoder がアクティブ化され、一度に 1 つのバージョンのみがアクティブになります。ただし、予測を行うために使用したい以前にトレーニングされたバージョンをアクティブ化することができます。

    この API のメソッドは、次の Encoder メソッドを使用してアクセスできます。

    EncoderVersion - getProperties()

    Encoder オブジェクトプロパティ バージョン番号 を取得します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 返される内容
    タイプ 説明
    オブジェクト データセットのコンテンツと Encoder の詳細です。結果はオブジェクトプロパティのセットアップによって異なります。
    {
      "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

    Encoder に関連付けられた DatasetDefinition() プロパティのリストです。

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

    データタイプ:アレイ。

    <Object>.datasetsProperties.tableName データセットのテーブルの名前。例:"tableName" : "Incident"

    データタイプ:文字列。

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

    データタイプ:アレイ。

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

    データタイプ:アレイ。

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

    データタイプ:文字列。

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

    データタイプ:文字列。

    <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 オブジェクトスコープ。現在、有効な値は global のみです。

    データタイプ:文字列

    <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(アレイ input)

    入力された各文のベクトルを返します。

    表 : 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(アレイ input, オブジェクト options)

    入力された各単語の類似単語を類似度が高い順に返します。

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

    次の例は、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. 返される内容
    タイプ 説明
    オブジェクト Encoder オブジェクト のトレーニングステータス情報を含む JavaScript オブジェクト
    {
      "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 (terminal)
    • solution_complete (terminal)
    • solution_error (terminal)
    • solution_incomplete
    • training_request_received
    • training_request_timed_out (terminal)
    • 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(アレイ input)

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

    表 : 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]]