MLSolution - 글로벌

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기13분
  • MLSolution API는 유사성, 분류 및 클러스터링과 같은 모든 기능에 대한 예측을 처리하고 예측 인텔리전스 솔루션 객체를 검색하는 메서드를 제공합니다.

    이 API는 모든 솔루션 기능 중에서 일반적으로 사용되는 방법과 분류 및 클러스터링 솔루션에 고유한 방법을 제공합니다.
    • 모든 솔루션 개체에 사용되는 공통 메서드는 다음과 같습니다.
      • getCapability()
      • getVersion()
      • isActive()
      • 예측()
    • 분류 및 회귀 솔루션에만 사용되는 메서드:
      • applyPrediction()
    • 클러스터링 솔루션에만 사용되는 메서드:
      • getClusterAssignments()
      • getClusterForRecord()
      • getClusterInfo()

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

    이 개체의 메서드는 MLSolutionFactory를 사용하여 인스턴스화됩니다.

    MLSolution - applyPrediction(GlideRecord now_GR)

    분류 솔루션에 대한 예측 결과를 가져오고 신뢰도 값이 임계치보다 높은 경우 입력 GlideRecord에 적용합니다.

    표 1. 매개변수
    이름 유형 설명
    now_GR GlideRecord 예측을 실행하고 결과를 적용할 값을 포함하는 GlideRecord 객체입니다.
    표 2. 반환
    유형 설명
    부울

    예측이 적용되었는지 여부를 나타내는 플래그:

    • true: 예측 적용됨
    • false: 예측 거부됨
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    var inputGR = new GlideRecord("incident");
    inputGR.get("0ef47232db801300864adfea5e961912");
    
    mlSolution.applyPrediction(inputGR);

    MLSolution - getCapability()

    교육된 솔루션의 역량 정보를 가져옵니다.

    표 3. 매개변수
    이름 유형 설명
    없음
    표 4. 반환
    유형 설명
    문자열 교육된 솔루션의 유형입니다.
    가능한 값:
    • 유사성
    • 분류
    • 클러스터링
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = 1;
    options.top_n_per_cluster = 3;
    
    if (mlSolution.getCapability() == 'clustering') {
    	var results = mlSolution.getClusterAssignments(options);
    	// pretty print JSON results
    	gs.print(JSON.stringify(JSON.parse(results), null, 2));
    }

    MLSolution - getClusterAssignments(객체 옵션)

    클러스터링 솔루션에 대한 할당을 가져옵니다.

    표 5. 매개변수
    이름 유형 설명
    옵션 객체 옵션입니다. 클러스터링 솔루션 내에서 반환된 결과를 그룹 및 수준별로 좁히는 데 사용할 값입니다.

    기본값: 모든 클러스터에 대한 클러스터 구성원 자격을 반환합니다.

    options.group_by 문자열 옵션입니다. 클러스터 구성원 자격을 검색할 세부 항목 필드(예: assignment_group)를 식별합니다.

    이 필드는 클러스터링 정의 양식의 그룹화 기준 사용 확인란에 제공된 옵션과 동일한 그룹화를 제공합니다. 제공되는 정보는 테이블 필드에서 선택한 테이블에 따라 달라집니다. 자세한 내용은 클러스터링 솔루션 만들기 및 교육을 참조하십시오 .

    options.cluster_id 문자열 옵션입니다. 클러스터 요약 [ml_cluster_summary] 테이블에 있는 교육된 솔루션의 클러스터 ID입니다.
    options.top_n_per_cluster 번호 각 클러스터에 대해 수신할 상위 결과 수입니다.
    표 6. 반환
    유형 설명
    객체 cluster_id 오름차순으로 클러스터 정보를 포함하는 JSON 배열입니다.
    • cluster_id: 문자열. 클러스터 솔루션 내의 고유한 클러스터 번호입니다.
    • rec_display_id: 문자열. 기록 유형 및 번호
    • rec_sys_id: 문자열. 기록 sys_id.
    • group_by: 그룹화된 경우 이 클러스터와 연결된 분할 필드의 이름입니다.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = '1';
    // returns top 3 results per cluster
    options.top_n_per_cluster = 3;
    
    var results = mlSolution.getClusterAssignments(options);
    
    

    출력:

    [{"cluster_id":"1","rec_display_id":"Incident: INC0014483","rec_sys_id":"04e33e7adb401300864adfea5e961900","group_by":"network"},
     {"cluster_id":"1","rec_display_id":"Incident: INC0011133","rec_sys_id":"5bd23af2db401300864adfea5e96194d","group_by":"network"}]

    MLSolution - getClusterForRecord(GlideRecord now_GR)

    클러스터링 솔루션에 대한 클러스터 정보를 가져옵니다.

    표 7. 매개변수
    이름 유형 설명
    now_GR GlideRecord 입력 GlideRecord의 이름입니다.
    표 8. 반환
    유형 설명
    문자열 기록이 클러스터에 속하는 경우 클러스터 요약 [ml_cluster_summary] 테이블의 cluster_id입니다. 기록이 클러스터에 속하지 않으면 빈 문자열이 반환됩니다.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    var now_GR = new GlideRecord('incident');
    if (mlSolution.getCapability() == 'clustering') {
    var clusterId = mlSolution.getClusterForRecord(now_GR);
    }

    MLSolution - getClusterInfo(객체 옵션)

    지정된 클러스터링 솔루션에 대한 정보를 가져옵니다..

    표 9. 매개변수
    이름 유형 설명
    옵션 객체 옵션입니다. 반환된 결과를 클러스터링 솔루션 내의 그룹 및 수준별로 좁힙니다.

    기본값: 모든 클러스터에 대한 클러스터 구성원 자격을 반환합니다.

    options.group_by 문자열 옵션입니다. 클러스터 구성원 자격을 검색할 세부 항목 필드(예: assignment_group)를 식별합니다.

    이 필드는 클러스터링 정의 양식의 그룹화 기준 사용 확인란에 제공된 옵션과 동일한 그룹화를 제공합니다. 제공되는 정보는 테이블 필드에서 선택한 테이블에 따라 달라집니다. 자세한 내용은 클러스터링 솔루션 만들기 및 교육을 참조하십시오 .

    options.cluster_id 문자열 옵션입니다. 클러스터 요약 [ml_cluster_summary] 테이블에 있는 교육된 솔루션의 클러스터 ID입니다.
    표 10. 반환
    유형 설명
    객체 cluster_id 오름차순으로 클러스터 정보를 포함하는 JSON 배열입니다.
    • cluster_id: 문자열. 클러스터 솔루션 내의 고유한 클러스터 번호입니다.
    • cluster_quality: 문자열. 0에서 100 사이의 숫자입니다. 숫자가 높을수록 클러스터 밀도가 높음을 나타냅니다.
    • cluster_size: 문자열. 클러스터의 기록 수입니다.
    • group_by: 그룹화된 경우 이 클러스터와 연결된 분할 필드의 이름입니다.
    • cluster_concept: 문자열. 빈도의 내림차순으로 클러스터를 설명하는 단어 집합입니다.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = 1;
    
    var results = mlSolution.getClusterInfo(options);

    출력:

    [ {"cluster_id":"1","cluster_quality":"56.6","cluster_size":"46","group_by":"SLA","cluster_concept":"issue occur capacity ..."},
      {"cluster_id":"2","cluster_quality":"55.47","cluster_size":"75","group_by":"SLA","cluster_concept":"clone instance request ..."},
    ... ]

    MLSolution - getVersion()

    활성 솔루션의 버전을 가져옵니다.

    표 11. 매개변수
    이름 유형 설명
    없음
    표 12. 반환
    유형 설명
    문자열 활성 솔루션의 버전입니다.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var solutionVersion = mlSolution.getVersion();

    MLSolution - isActive()

    솔루션이 활성 상태인지 확인합니다.

    표 13. 매개변수
    이름 유형 설명
    없음
    표 14. 반환
    유형 설명
    부울 솔루션이 활성 상태인지 여부를 나타내는 플래그입니다.
    • true: 솔루션 활성
    • false: 솔루션 비활성
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var isActive = mlSolution.isActive();

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

    GlideRecord 또는 키-값 쌍 배열이 지정된 예측 서버에서 예측 결과를 가져옵니다.

    GlideRecord는 반복기이므로 이 메서드를 사용하여 여러 입력 기록으로 예측을 호출할 수 있습니다.

    표 15. 매개변수
    이름 유형 설명
    입력 객체 글라이드레코드 또는 필드 이름과 값을 키-값 쌍으로 포함하는 JSON 객체의 배열입니다.
    옵션 객체 옵션입니다. 다음 속성을 가진 JSON 키-값 쌍:
    • top_n: 숫자. 제공된 경우 지정된 예측 수까지 상위 결과를 반환합니다.
    • apply_threshold: 부울. 솔루션의 임계값을 확인하고 결과 집합에 적용합니다. 임계치 값은 유사성에 대한 솔루션 임계치 또는 분류에 대한 클래스 수준 임계치입니다. 기본값은 true입니다.
    • custom_results_filter: 문자열. 유사성 솔루션만 해당됩니다. 인코딩된 쿼리를 사용하여 결과가 반환되는 허용되는 집합을 지정합니다.
    표 16. 반환
    유형 설명
    객체 sys_id 또는 record_number별로 정렬된 예측 결과를 포함하는 JSON 객체입니다.
    • predictedValue: 문자열. 예측 결과를 나타내는 값입니다.
    • predictedSysId: 문자열. 예측 값의 sys_id입니다. 결과는 정보가 예측되는 모든 테이블에서 나올 수 있습니다.
    • 신뢰도: 숫자. 예측과 연결된 신뢰도의 값입니다. 예를 들어 53.84입니다.
    • 임계치: 숫자. 예측과 연결된 구성된 임계치의 값입니다.
    • detailedResults: 객체. 유사성 솔루션만 해당됩니다. 일치하는 텍스트 인덱스에 대한 세부 정보를 포함하는 JSON 키-값 쌍입니다.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    // single GlideRecord input
    var input = new GlideRecord("incident");
    input.get("0ef47232db801300864adfea5e961912");
    
    // 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));
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    // multiple GlideRecord input
    var input = new GlideRecord("incident");
    input.addQuery("sys_created_onONLast week@javascript:gs.beginningOfLastWeek()@javascript:gs.endOfLastWeek()");
    input.query();
    
    // 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));

    출력:

    {
        input_gr_sys_id1: [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx,
                        detailedResults : [.....]
    
                    }, 
                    {
                        predictedValue : yyy,
                        predictedSysId : xx1,
                        confidence : xxx,
                        threshold : xxx,
                        detailedResults : [.....]
                    }
            ],
        input_gr_sys_id2 : [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx,
                        detailedResults : [.....]
    
                    }, 
                ...
            ]
    }
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("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));