인코더 - 전역

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기17분
  • 인코더 API는 매장에서 예측 인텔리전스 사용되는 스크립팅 가능한 객체를 제공합니다. 이 객체는 인코더별 목표 및 구성에 따라 입력 데이터를 숫자 벡터로 변환합니다. 인코더는 독립적으로 사용하여 인코딩을 실행하거나 텍스트 열을 인코딩하는 솔루션의 일부로 구성할 수 있습니다.

    API에는 플러그인(com.glide.platform_ml)이 예측 인텔리전스 필요하며 sn_ml 네임스페이스 내에서 제공됩니다.

    인코더는 사용자가 제공하는 언어 데이터 세트를 기반으로 미리 학습되거나 학습된 텍스트 처리 개체입니다. 시스템이 텍스트 필드를 해석하고 처리하는 방법을 결정하는 인코더를 학습시킬 수 있습니다. 텍스트가 포함된 ML 솔루션의 경우 인코더를 학습시켜 텍스트를 처리하고 솔루션에서 학습된 인코더를 사용하는 방법을 지정할 수 있습니다.

    인코더에는 구성 및 버전이 있으며 자체 재교육 빈도로 독립적으로 학습할 수 있습니다. API 정의 인코더는 UI 정의 인코더의 재학습이 이를 사용하는 솔루션에 의해 제어되기 때문에 UI 정의 인코더와 다릅니다.

    인코더 설정-학습 흐름은 다음과 같습니다.
    1. DatasetDefinition API를 사용하여 하나 이상의 데이터 세트를 만듭니다.
    2. 생성자를 사용하여 인코더 개체를 만듭니다.
    3. EncoderStore - add() 메서드를 사용하여 인코더 저장소에 인코더 개체를 추가합니다.
    4. submitTrainingJob() 메서드를 사용하여 인코더를 학습시킵니다. 이렇게 하면 EncoderVersion API를 사용하여 관리할 수 있는 객체의 버전이 생성됩니다.
    인코더를 학습한 후에는 솔루션 개체에서 사용할 수 있습니다.
    주:
    이 API는 Washington DC 패치 7 릴리스 전에 모든 권한으로 실행됩니다. 해당 릴리스 후에는 ACL을 사용하여 액세스 권한을 부여합니다. 자세한 내용은 Query ACLs 문서를 참조하십시오.

    사용 지침은 ML API 사용을 참조하세요.

    인코더 - 인코더(객체 구성)

    인코더를 작성합니다.

    하나 이상의 데이터 세트에 대한 인코더를 가져오려면 이 생성자를 사용하여 고유한 이름을 가진 새 인코더 개체를 만듭니다.

    표 1. 매개변수
    이름 유형 설명
    구성 객체 의 구성 속성을 포함하는 JavaScript 객체 인코더.
    {
      "algorithmConfig": {Object},
      "datasets": [Array],
      "domainName": "String",
      "label": "String",
      "minRowCount": "String",
      "processingLanguage": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    config.algorithmConfig 객체 옵션입니다. 알고리즘 구성 속성을 포함하는 JavaScript 객체입니다.
    'algorithmConfig' : {
      "algorithm": "String"
    }
    config.algorithmConfig.algorithm 문자열 이 인코더를 학습시키기 위한 알고리즘의 이름입니다.
    가능한 값:
    • paravec: 단락 벡터 단어 포함입니다.
    • tf-idf: TF-IDF(Term Frequency–Inverse Document Frequency) 기반 텍스트.
    config.datasets 배열 DatasetDefinition 개체 이름 목록입니다.
    config.domainName 문자열 옵션입니다. 이 데이터 세트와 연결된 도메인 이름입니다. 도메인 분리 및 예측 인텔리전스를 참조하십시오.

    기본값: 현재 도메인(예: "global").

    config.label 문자열 예측 작업을 식별합니다.
    config.minRowCount 문자열 옵션입니다. 교육을 위해 데이터 세트에 필요한 최소 레코드 수입니다.

    기본값: 10000

    config.processingLanguage 문자열 옵션입니다. 두 글자 ISO 639-1 언어 코드 형식의 처리 언어입니다.

    기본값: "en"

    config.stopwords 배열 옵션입니다. 속성 설정에 따라 language 시스템이 자동으로 생성하는 문자열의 사전 설정 목록입니다. 자세한 내용은 사용자 지정 중지 단어 목록 만들기를 참조하세요.

    기본값: 영어 스톱 워드

    config.trainingFrequency 문자열 모델을 재교육하는 빈도입니다.
    가능한 값:
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    기본값: run_once

    다음 예제에서는 인코더 작업을 만들고 인코더 저장소에 추가하는 방법을 보여 줍니다.

    var myPrbData = new sn_ml.DatasetDefinition({
        'tableName' : 'problem',
        'fieldNames' : ['short_description'],
        'encodedQuery' : 'activeANYTHING'
    });
    
    var myIncidentData = new sn_ml.DatasetDefinition({
        'tableName' : 'incident',
        'fieldNames' : ['short_description', 'description'],
        'encodedQuery' : 'activeANYTHING'
    });
    
    var myEncoder = new sn_ml.Encoder({
        'label': "encoder",
        'datasets' : [myPrbData, myIncidentData],
        'algorithmConfig' : {
            'algorithm' : 'tf-idf'
        }
    });
    var myEncoderName = sn_ml.EncoderStore.add(myEncoder);

    인코더 - cancelTrainingJob()

    대한 작업을 취소합니다 인코더 객체 교육을 위해 제출된

    표 2. 매개변수
    이름 유형 설명
    없음
    표 3. 반환
    유형 설명
    안 함

    다음 예제에서는 기존 학습 작업을 취소하는 방법을 보여 줍니다.

    var myEncoder = sn_ml.EncoderStore.get('ml_sn_global_global_encoder');
    
    myEncoder.cancelTrainingJob();

    인코더 - getActiveVersion()

    활성 항목을 가져옵니다. EncoderVersion 객체입니다.

    표 4. 매개변수
    이름 유형 설명
    없음
    표 5. 반환
    유형 설명
    객체 활성 EncoderVersion 개체입니다.

    방법을 보여 줍니다 인코더 저장소에서 활성 버전을 가져오고 학습 상태를 반환하는

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getStatus()), null, 2));

    출력:

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

    인코더 - getAllVersions()

    의 모든 버전을 가져옵니다. 인코더.

    표 6. 매개변수
    이름 유형 설명
    없음
    표 7. 반환
    유형 설명
    배열 인코더 개체의 기존 버전입니다. EncoderVersion API도 참조하세요.

    다음 예제에서는 모든 인코더 버전 개체를 가져오고 getVersionNumber()getStatus() 인코더 버전 메서드를 호출하는 방법을 보여 줍니다.

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    var mlEncoderVersions = mlEncoder.getAllVersions();
    
    for (i = 0; i < mlEncoderVersions.length; i++) {
    gs.print("Version " + mlEncoderVersions[i].getVersionNumber() + " Status: " + mlEncoderVersions[i].getStatus() +"\n");
    };

    출력:

    Version 3 Status: {"state":"encoder_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 2 Status: {"state":"encoder_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 1 Status: {"state":"encoder_cancelled","percentComplete":"0","hasJobEnded":"true"}

    인코더 - getLatestVersion()

    의 최신 버전을 가져옵니다. 인코더.

    표 8. 매개변수
    이름 유형 설명
    없음
    표 9. 반환
    유형 설명
    객체 EncoderVersion 최신 버전에 해당하는 객체 인코더 ()를 사용합니다.

    다음 예제에서는 최신 버전의 솔루션을 가져오고 학습 상태를 반환하는 방법을 보여 줍니다 인코더이며 학습 상태를 반환합니다.

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

    출력:

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

    인코더 - getName()

    저장소와의 상호 작용에 사용할 개체의 이름을 가져옵니다.

    표 10. 매개변수
    이름 유형 설명
    없음
    표 11. 반환
    유형 설명
    문자열 인코더 객체의 이름입니다.

    방법을 보여 줍니다 인코더 데이터 집합 정보를 업데이트하고 개체 이름을 인쇄하는

    // Update encoder
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });
    
    var eligibleFields = JSON.parse(myIncidentData.getEligibleFields(encoder));
    
    var myEncoder = new sn_ml.Encoder({
       'label': "my encoder",
       'datasets' : [myIncidentData],
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });
    
    // update encoder
    sn_ml.EncoderStore.update('ml_x_snc_global_global_my_definition_4', myEncoder);
    
    // print encoder name
    gs.print('Encoder Name: '+myEncoder.getName());

    출력:

    Encoder Name: ml_x_snc_global_global_my_definition_4

    인코더 - getProperties()

    솔루션 객체 속성 가져오기.

    표 12. 매개변수
    이름 유형 설명
    없음
    표 13. 반환
    유형 설명
    객체 Dataset 및 Encoder() 개체의 내용은 EncoderStore에 자세히 설명되어 있습니다.
    {
      "algorithmConfig" : {Object},
      "datasetsProperties": [Array],
      "domainName": "String",
      "label": "String",
      "name": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    <Object>.algorithmConfig.algorithm 이 인코더를 학습시키기 위한 알고리즘의 이름입니다.
    가능한 값:
    • paravec: 단락 벡터 단어 포함입니다.
    • tf-idf: TF-IDF(Term Frequency–Inverse Document Frequency) 기반 텍스트.

    데이터 형식: 문자열.

    <Object>.algorithmConfig 옵션입니다. 알고리즘 구성 속성을 포함하는 JavaScript 객체입니다.
    'algorithmConfig' : {
      "algorithm": "String"
    }

    데이터 형식: 개체.

    <Object>.datasetsProperties

    인코더와 연결된 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>. 이름 이 데이터 세트를 제한할 정보의 유형을 정의하는 필드의 이름입니다.

    데이터 형식: 문자열.

    <Object>.datasetsProperties.fieldDetails.<object>. 형 머신 러닝 필드 유형입니다.

    데이터 형식: 문자열.

    <Object>.datasetsProperties.fieldDetails.encodedQuery 표준 Glide 형식으로 인코딩된 쿼리 문자열입니다. 인코딩된 쿼리 문자열을 참조하세요.

    데이터 형식: 문자열.

    <Object>.domainName 이 데이터 세트와 연결된 도메인 이름입니다. 도메인 분리 및 예측 인텔리전스를 참조하십시오.

    데이터 형식: 문자열.

    <Object>.레이블 예측 작업을 식별합니다.
    {
      "label": "my first prediction"
    }

    데이터 형식: 문자열.

    <Object>.이름 시스템에서 할당한 이름입니다.

    데이터 형식: 문자열.

    <Object>.predictedFieldName 예측 가능성을 위해 교육할 필드를 식별합니다.

    데이터 형식: 문자열.

    <Object>.processingLanguage 두 글자 ISO 639-1 언어 코드 형식의 처리 언어입니다.

    데이터 형식: 문자열.

    <Object>.범위 객체 범위입니다. 현재 유일하게 유효한 값은 전역입니다.

    데이터 유형: 문자열

    <Object>.stopwords 옵션입니다. 속성 설정에 따라 language 시스템이 자동으로 생성하는 문자열의 사전 설정 목록입니다. 자세한 내용은 사용자 지정 중지 단어 목록 만들기를 참조하세요.

    데이터 형식: 배열.

    <Object>.trainingFrequency 모델을 재교육하는 빈도입니다.
    가능한 값:
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    기본값: run_once

    데이터 형식: 문자열.

    다음 예제에서는 인코더 객체 저장소에 있는

    var myEncoder = sn_ml.EncoderStore.get('ml_sn_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(myEncoder.getProperties()), null, 2));
    출력:
    *** Script: {
      "datasetsProperties": [
        {
          "tableName": "incident",
          "fieldNames": [
            "assignment_group",
            "short_description",
            "description"
          ],
          "encodedQuery": "activeANYTHING"
        }
      ],
      "domainName": "global",
      "label": "my encoder definition",
      "name": "ml_x_snc_global_global_my_encoder_definition",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "run_once"
    }

    인코더 - getVersion(String version)

    인코더를 가져옵니다. 제공된 버전 번호로.

    표 14. 매개변수
    이름 유형 설명
    버전 문자열 기존 버전 번호 인코더.
    표 15. 반환
    유형 설명
    객체 EncoderVersion API 메서드를 호출할 수 있는 지정된 버전의 Encoder() 객체입니다.

    학습 상태를 가져오는 방법을 보여 줍니다 버전 번호별 인코더입니다.

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getVersion('1').getStatus()), null, 2));

    출력:

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

    인코더 - setActiveVersion(String version)

    스토어에서 지정된 버전의 인코더를 활성화합니다.

    표 16. 매개변수
    이름 유형 설명
    버전 문자열 활성화할 Encoder() 객체 버전의 이름입니다.

    이 버전을 활성화하면 다른 버전은 비활성화됩니다.

    표 17. 반환
    유형 설명
    안 함

    활성화하는 방법을 보여줍니다 인코더 저장소에서 솔루션 버전을

    sn_ml.Encoder.setActiveVersion("ml_incident_categorization");

    인코더 - submitTrainingJob()

    교육 작업을 제출합니다.

    주:
    이 메서드를 실행하기 전에 먼저 EncoderStore - add() 메서드를 사용하여 저장소에 인코더를 추가해야 합니다.
    표 18. 매개변수
    이름 유형 설명
    없음
    표 19. 반환
    유형 설명
    객체 EncoderVersion 개체에 해당합니다 인코더 학습 중인

    다음 예제에서는 데이터 세트를 만들고, 솔루션에 적용 인코더, 추가 솔루션에 솔루션을 추가하고, 학습 작업을 제출하는

    // Create a dataset 
    var myData = new sn_ml.DatasetDefinition({
    
      'tableName' : 'incident',
      'fieldNames' : ['assignment_group', 'short_description', 'description'],
      'encodedQuery' : 'activeANYTHING'
    
    });
    
    // Create an encoder 
    var myEncoder = new sn_ml.Encoder({
    
      'label': "my encoder definition",
      'datasets' : [myData],
      'predictedFieldName' : 'assignment_group',
      'inputFieldNames':['short_description']
    
    });
    
    // Add the encoder to the store to later be able to retrieve it.
    var my_unique_name = sn_ml.EncoderStore.add(myEncoder);
    
    // Train the encoder - this is a long running job 
    var myEncoderVersion = myEncoder.submitTrainingJob();