SimilaritySolutionVersion - 전역

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기17분
  • SimilaritySolutionVersion API는 저장소에서 예측 인텔리전스 사용되는 스크립팅 가능한 개체입니다.

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

    이 API는 SimilaritySolution 스토어SimilaritySolution API 객체를 기반으로 하는 솔루션 버전으로 작업하는 데 사용됩니다.

    시스템은 솔루션 정의를 교육할 때마다 솔루션 버전을 생성합니다. 대부분의 버전은 예약된 솔루션 교육 중에 생성됩니다.

    이 API의 메서드는 다음 SimilaritySolution 메서드를 사용하여 액세스할 수 있습니다.

    SimilaritySolutionVersion - getProperties()

    솔루션 객체 속성 가져오기 및 버전 번호.

    표 1. 매개변수
    이름 유형 설명
    없음
    표 2. 반환
    유형 설명
    객체 데이터 세트의 내용 및 SimilaritySolution 버전 세부 정보. 결과는 개체 속성 설정에 따라 달라집니다.
    {
      "domainName": "String",
      "encoder": {Object},  
      "isActive": "String",
      "label": "String",
      "lookupDatasetProperties": {Object},
      "name": "String",
      "predictedFieldName": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "testDatasetProperties": {Object},
      "trainingFrequency": "String",
      "updateFrequency": "String",
      "versionNumber": "String"
    }
    <Object>.domainName 이 데이터 세트와 연결된 도메인 이름입니다. 도메인 분리 및 예측 인텔리전스를 참조하십시오.

    데이터 형식: 문자열.

    <Object>.인코더 이 솔루션에 할당된 인코더 개체입니다. 인코더 - 인코더(개체 구성) 문서를 참조하십시오.

    데이터 형식: 개체.

    <Object>.isActive 이 버전이 활성 상태인지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 버전이 활성 상태입니다.
    • false: 버전이 활성화되지 않았습니다.

    데이터 유형: 문자열

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

    데이터 형식: 문자열.

    <Object>.lookupDatasetProperties DatasetDefinition() 조회 세트로 사용되는 객체입니다. 의 상세 정보
    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    데이터 형식: 개체.

    <Object>.lookupDatasetProperties.tableName 데이터 세트의 테이블 이름입니다. 예를 들어 "tableName" : "Incident"입니다.

    데이터 형식: 문자열.

    <Object>.lookupDatasetProperties.fieldNames 지정된 테이블의 필드 이름을 문자열로 나열한 목록입니다. 예를 들어 "fieldNames" : ["short_description", "priority"]입니다.

    데이터 형식: 배열.

    <Object>.lookupDatasetProperties.fieldNames.fieldDetails 필드 속성을 지정하는 JavaScript 객체의 목록입니다.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    데이터 형식: 배열.

    <Object>.lookupDatasetProperties.fieldNames.fieldDetails.<object>입니다. 이름 이 데이터 세트를 제한할 정보의 유형을 정의하는 필드의 이름입니다.

    데이터 형식: 문자열.

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

    데이터 형식: 문자열.

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

    데이터 형식: 문자열.

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

    데이터 형식: 문자열.

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

    데이터 형식: 문자열.

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

    데이터 형식: 문자열.

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

    데이터 유형: 문자열

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

    데이터 형식: 배열.

    <Object>.testDatasetProperties DatasetDefinition() 이 모델에서 검색된 결과와 에서 검색된 결과 간의 유사성을 검색하는 데 사용되는 객체입니다 lookupDataset. 의 상세 정보
    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    데이터 형식: 개체.

    <Object>.testDatasetProperties.tableName 데이터 세트의 테이블 이름입니다. 예를 들어 "tableName" : "Incident"입니다.

    데이터 형식: 문자열.

    <Object>.testDatasetProperties.fieldNames 지정된 테이블의 필드 이름을 문자열로 나열한 목록입니다. 예를 들어 "fieldNames" : ["short_description", "priority"]입니다.

    데이터 형식: 배열.

    <Object>.testDatasetProperties.fieldNames.fieldDetails 필드 속성을 지정하는 JavaScript 객체의 목록입니다.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    데이터 형식: 배열.

    <Object>.testDatasetProperties.fieldNames.fieldDetails.<object>입니다. 이름 이 데이터 세트를 제한할 정보의 유형을 정의하는 필드의 이름입니다.

    데이터 형식: 문자열.

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

    데이터 형식: 문자열.

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

    데이터 형식: 문자열.

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

    데이터 형식: 문자열.

    <Object>.updateFrequency (영문) 솔루션 정의에 대한 모델을 재구축해야 하는 빈도입니다.
    가능한 값:
    • do_not_update
    • every_1_day
    • every_1_hour
    • every_6_hours
    • every_12_hours
    • every_1_minute
    • every_15_minutes
    • every_30_minutes
    기본값: do_not_update

    데이터 유형: 문자열

    <Object>.versionNumber 의 버전 번호 SimilaritySolution 객체입니다.

    데이터 형식: 문자열.

    다음 예제에서는 저장소에 있는 활성 개체 버전의 속성을 가져옵니다.

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

    출력:

    *** Script: {
      "domainName": "global",
      "encoderProperties": {
        "datasetsProperties": [],
        "name": "wordCorpusA"
      },
      "isActive": "true",
      "label": "similarity",
      "lookupDatasetProperties": {
        "encodedQuery": "",
        "fieldNames": [
          "short_description"
        ],
        "tableName": "incident"
      },
      "name": "ml_x_snc_global_global_similarity",
      "processingLanguage": "en",
      "stopwords": [
        "Default English Stopwords"
      ],
      "testDatasetProperties": {
        "fieldNames": [
          "short_description"
        ],
        "tableName": "incident"
      },
      "versionNumber": "3"
    }

    SimilaritySolutionVersion - getStatus(부울 includeDetails)

    교육 완료 상태를 가져옵니다.

    표 3. 매개변수
    이름 유형 설명
    include상세 정보 부울 상태를 반환할지 여부를 나타내는 플래그입니다 details.
    유효한 값은 다음과 같습니다.
    • true: 추가 상세 정보를 반환합니다.
    • false: 추가 세부 정보를 반환하지 않습니다.

    기본값: False

    표 4. 반환
    유형 설명
    객체 다음에 대한 교육 상태 정보를 포함하는 JavaScript 객체SimilaritySolution 개체입니다.
    {
      "state": "String",
      "percentComplete": "Number as a String",
      "hasJobEnded": "Boolean value as a String",
      "details": {Object}
    }
    <Object>.상태 교육 완료 상태입니다. 훈련 작업이 종료 상태에 도달하면 작업은 해당 상태를 벗어나지 않습니다. 상태가 terminal 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>.percent완료 교육 완료율입니다. 완료율이 100 미만이면 작업이 종료 상태일 수 있습니다. 예를 들어 교육 시간이 초과되는 경우입니다.

    데이터 형식: 문자열로서의 숫자

    범위: 0 - 100

    <Object>.세부 정보 추가 교육 상세 정보 목록이 포함된 객체입니다.

    데이터 유형: 객체

    다음 예제에서는 교육이 완료된 성공적인 결과를 보여 줍니다.

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

    출력:

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

    다음 예제에서는 학습이 완료된 실패한 결과를 보여 줍니다.

    // Get status
    var solutionName = 'ml_x_snc_global_global_similarity_solution';
    var mlSolution = sn_ml.SimilaritySolutionStore.get(solutionName);
    var trainingStatus = JSON.parse(mlSolution.getLatestVersion().getStatus());
    
    gs.print(JSON.stringify(JSON.parse(trainingStatus), null, 2));

    출력:

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

    SimilaritySolutionVersion - getVersionNumber()

    다음의 버전 번호를 가져옵니다. 솔루션 개체입니다.

    표 5. 매개변수
    이름 유형 설명
    없음
    표 6. 반환
    유형 설명
    문자열 버전 번호입니다.

    다음 예제에서는 버전 번호를 가져오는 방법을 보여 줍니다.

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

    출력:

    Version number: 1

    SimilaritySolutionVersion - predict(객체 입력, 객체 옵션)

    예측에 대한 입력 데이터를 가져옵니다.

    표 7. 매개변수
    이름 유형 설명
    입력 객체 GlideRecord 또는 필드 이름과 값을 키-값 쌍으로 포함하는 JSON 객체의 배열입니다.
    옵션 객체 예측 결과를 필터링하기 위한 선택적 값입니다.
    {
      "apply_threshold": Boolean,
      "top_n": Number
    }
    options.apply_threshold 부울 솔루션의 임계값을 확인하고 결과 집합에 적용할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 신뢰도가 임계값보다 큰 결과를 반환합니다.
    • false: 모든 결과를 반환합니다.

    기본값: True

    options.top_n 번호 제공된 경우 지정된 예측 수까지 상위 결과를 반환합니다.
    표 8. 반환
    유형 설명
    객체 sys_id 또는 record_number별로 정렬된 예측 결과를 포함하는 JSON 객체입니다.
    {
        <identifier>: [Array]
    }
    <Object>.<식별자> 각 예측 결과에 대한 상세 정보가 있는 객체의 목록입니다.

    데이터 형식: 객체 배열

    <identifier>: [
      {
        "confidence": Number,
        "predictedSysId": "String",
        "predictedValue": "String", 
        "threshold": Number
      }
    ]
    <Object>.<식별자>.<object>. 자신 예측과 연결된 신뢰도 값입니다. 예: 53.84.

    데이터 유형: 숫자

    <Object>.<식별자>.<object>. 예측 시스템 ID 예측 값의 sys_id입니다. 결과가 예측되는 모든 테이블에서 나올 수 있습니다.

    데이터 유형: 문자열

    <Object>.<식별자>.<object>. 예측 값 예측 결과를 나타내는 값입니다.

    데이터 유형: 문자열

    <Object>.<식별자>.<object>. 문지방 예측과 연결된 구성된 임계치의 값입니다.

    데이터 유형: 숫자

    다음 예제에서는 입력을 위해 GlideRecord by sys_id 사용하고 상위 3개 결과로 제한하고 임계값을 제외하는 선택적 매개변수를 포함하는 predict() 메서드에 대한 예측 결과를 표시하는 방법을 보여줍니다.

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_incident_categorization');
    
    // single GlideRecord input
    var input = new GlideRecord("incident");
    input.get("<sys_id>");
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.getVersion(1).predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));
    {
            "<sys_id/now_GR>": [
        {
          "confidence": 62.10782320780268,
          "threshold": 20.36,
          "predictedValue": "Clone Issues",
          "predictedSysId": ""
        },
        {
          "confidence": 6.945237375770391,
          "threshold": 16.63,
          "predictedValue": "Instance Administration",
          "predictedSysId": ""
        },
        {
          "confidence": 5.321061076300759,
          "threshold": 23.7,
          "predictedValue": "Administration",
          "predictedSysId": ""
        }
      ]
    }

    다음 예제에서는 필드 이름 배열을 입력에 대한 키-값 쌍으로 사용하고 상위 3개의 결과로 제한하고 임계값을 제외하는 선택적 매개 변수를 포함하는 predict() 메서드에 대한 예측 결과를 표시하는 방법을 보여 줍니다.

    var mlSolution = sn_ml.SimilaritySolutionStore.get("ml_incident_categorization");
    // key-value pairs input
    var input = [{"short_description":"my email is not working"}, {short_description:"need help with password"}];
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));
    {
      "1": [
        {
          "confidence": 37.5023032262591,
          "threshold": 10.72,
          "predictedValue": "Authentication",
          "predictedSysId": ""
        },
        {
          "confidence": 24.439964862166583,
          "threshold": 23.7,
          "predictedValue": "Administration",
          "predictedSysId": ""
        },
        {
          "confidence": 11.736320486031047,
          "threshold": 100,
          "predictedValue": "Security",
          "predictedSysId": ""
        }
      ],
      "2": [
        {
          "confidence": 99,
          "threshold": 17.77,
          "predictedValue": "Email",
          "predictedSysId": ""
        },
        {
          "confidence": 3.182137005157543,
          "threshold": 10.72,
          "predictedValue": "Authentication",
          "predictedSysId": ""
        },
        {
          "confidence": 2.8773826570713514,
          "threshold": -1,
          "predictedValue": "Email (I/f)",
          "predictedSysId": ""
        }
      ]
    }