인코더 - 전역

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

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

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

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

    인코더 설정-교육 흐름은 다음과 같습니다.
    1. DatasetDefinition API를 사용하여 하나 이상의 데이터 세트를 만듭니다.
    2. 생성자를 사용하여 인코더 개체를 만듭니다.
    3. EncoderStore - add() 메서드를 사용하여 인코더 저장소에 인코더 개체를 추가합니다.
    4. submitTrainingJob() 메서드를 사용하여 인코더를 학습시킵니다. 이렇게 하면 EncoderVersion API를 사용하여 관리할 수 있는 개체 버전이 만들어집니다.
    인코더를 학습한 후에는 솔루션 개체에서 사용할 수 있습니다.
    주:
    이 API는 전체 권한으로 실행됩니다 . 사용자 액세스를 제한하려면 스크립트에 접근 제어 메커니즘을 포함합니다.

    사용 지침은 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 문자열 옵션입니다. 이 데이터 세트와 연결된 도메인 이름입니다. Domain Separation 및 예측 인텔리전스을 참조하십시오.

    기본값: 현재 도메인(예: "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 의 최신 버전에 해당하는 객체Encoder()입니다.

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

    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. 반환
    유형 설명
    객체 EncoderStore의 Dataset 및 Encoder() 개체 세부 정보의 내용입니다.
    {
      "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 데이터 세트의 테이블 이름입니다. 예: &quot;tableName&quot; : &quot;Incident&quot;.

    데이터 유형: 문자열.

    <Object>.datasetsProperties.fieldNames 지정된 테이블의 필드 이름 목록(문자열)입니다. 예를 들어 &quot;fieldNames&quot; : [&quot;short_description&quot;, &quot;priority&quot;]입니다.

    데이터 유형: 배열.

    <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 이 데이터 세트와 연결된 도메인 이름입니다. Domain Separation 및 예측 인텔리전스을 참조하십시오.

    데이터 유형: 문자열.

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

    데이터 유형: 문자열.

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

    데이터 유형: 문자열.

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

    데이터 유형: 문자열.

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

    데이터 유형: 문자열.

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

    데이터 유형: 문자열

    <Object>.단어 옵션입니다. 시스템에서 속성 설정에 따라 자동으로 생성하는 문자열의 사전 설정 목록입니다 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(version 문자열)

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

    표 14. 매개변수
    이름 유형 설명
    version 문자열 의 기존 버전 번호 인코더입니다.
    표 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(version 문자열)

    저장소에서 지정된 버전의 인코더를 활성화합니다.

    표 16. 매개변수
    이름 유형 설명
    version 문자열 활성화할 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();