NLU 전문가 피드백 루프
채팅 로그 발언에 대한 가상 에이전트 피드백을 제공하여 시스템이 지속적으로 학습하고 사용자 입력을 더 잘 예측할 수 있도록 지원합니다.
요약 사용량
전문가 피드백 루프는 인스턴스에서 데이터를 가져와 피드백을 위해 제공합니다. 이 데이터는 사용자의 가상 에이전트(VA) 채팅 로그에서 가져오며 해당 로그의 발언을 포함합니다. nlu_admin 역할을 사용하여 다음으로 이동합니다. 및 발화가 의도에 대해 올바른지(일치) 또는 올바르지 않은지(불일치)를 확인하여 모델의 각 발화를 표시합니다. 이 피드백은 모델이 모델 성능을 지속적으로 개선하는 데 도움이 됩니다.
설치
전문가 피드백 루프는 에서 사용할 수 있는 ServiceNow® StoreNLU 워크벤치 - 고급 기능 앱의 일부입니다.
전문가 피드백 루프를 사용하려면 - 고급 기능(sn_nlu_workbench) 플러그인이 인스턴스에서 활성화되어 NLU 워크벤치 있는지 확인하십시오. 자세한 내용은 NLU 워크벤치 활성화를 참조하십시오NLU 워크벤치 설치 - 고급 기능.
전문가 피드백 루프는 VA 채팅 로그의 데이터에 의존하므로 Glide 가상 에이전트(com.glide.cs.chatbot) 플러그인도 활성 상태인지 확인하십시오. 가상 에이전트 활성화의 내용을 참조하십시오.
인스턴스 간 전문가 피드백 루프 데이터 임포트
임포트를 시작하기 전에 인스턴스의 데이터에 액세스할 수 있고 피드백을 진행하기에 충분한 데이터가 있는지 확인하십시오.
하위 프로덕션 인스턴스에서 작업하는 경우, 프로덕션 인스턴스의 open_nlu_predict_intent_feedback 테이블에서 하위 프로덕션 인스턴스로 피드백 데이터를 임포트해야 합니다. 임포트 방법에 대한 지침은 다른 ServiceNow 인스턴스에서 임포트를 참조하십시오.
- 모델을 다른 인스턴스로 이동하면 피드백 데이터가 유지됩니다.
- 인스턴스를 업그레이드하면 피드백 데이터가 유지됩니다.
- 인스턴스를 복제하면 데이터가 유지되지 않으므로 위에서 참조한 절차에 따라 데이터를 복제된 인스턴스로 임포트해야 합니다.
피드백 컨텍스트 및 액세스
전문가 피드백 루프는 선택한 발언 하위 집합에 대해 제공하는 피드백을 통해 VA에 배포된 모델을 개선할 NLU 수 있는 메커니즘을 제공합니다. 각 발화에 대해 예측된 의도를 확인하거나 발화가 속한 올바른 의도를 제공하라는 메시지가 표시됩니다. 이 피드백이 완료되면 데이터가 모델 성능을 조정하는 데 사용되므로 이제 더 많은 최종 사용자 데이터를 수집하기 위해 다시 배포할 수 있는 개선된 모델이 생성됩니다. 이는 시스템이 지속적으로 데이터를 수집하고, 사용자가 제공한 피드백에서 학습하고, 해당 피드백을 사용하여 모델을 더욱 개선할 수 있도록 하는 반복적인 주기입니다 NLU .
30일마다 한 번씩 시스템은 VA 채팅 로그에서 전문가 피드백 루프로 최대 300개의 발언 샘플을 가져옵니다. 로그의 모든 발화를 얼마나 잘 나타내는지에 따라 피드백을 위해 발화가 선택됩니다. VA 채팅 로그에서 샘플링된 모든 발언에는 시스템에서 선택한 예측 의도가 있습니다.
시스템 속성에 대한 glide.mlpredictor.option.nlu.activeLearning.label_candidate_table.max_response_size 설정을 조정하여 VA 채팅 로그에서 끌어올 발언 수를 설정할 수도 있습니다.
VA 채팅 로그에서 발언을 끌어오는 프로세스에 대한 자세한 내용은 아래의 요청 시 추가 VA 피드백 데이터 조달 및 활성 학습 작업 사용 섹션에서 확인할 수 있습니다.
발언을 검토할 때 각 발언이 예측된 의도에 속하는지 아니면 다른 의도로 이동해야 하는지 결정합니다. 올바른 의도를 확신할 수 없는 경우 추가 검토를 위해 다시 방문하도록 발언을 표시할 수 있습니다. 피드백을 100개 이상의 발화로 표시하면 시스템은 표시된 모든 발화를 사용하여 모델을 조정하고 개선합니다.
VA 채팅 로그 발화 검토
이제 루프에 있으므로 다음 이미지에서 VA 모델의 의도를 지원하는 발화 목록을 NLU 볼 수 있습니다. 목록의 각 페이지에는 페이지당 약 20개의 발화가 표시됩니다. 목표는 각 발언을 검토하고 해당 발화의 관계 상태를 지정된 VA 의도로 표시하는 것입니다. 각 발언을 NLU_Match, 불일치 또는 확실하지 않은 값으로 표시합니다.
발화를 NLU_Match 으로 표시하면 해당 발화에 대한 NLU 예측에 동의한다는 의미입니다. 발화를 불일치 로 표시하면 발화가 다른 의도에 속한다는 의미이며, 불일치를 선택하면 올바른 의도를 선택할 수 있도록 의도 드롭다운이 나타납니다. 어떤 의도가 올바른지 확실하지 않은 경우 확실하지 않음으로 표시할 수 있습니다.
NLU_Match 값 또는 불일치 값으로 표시되고 저장된 발언은 완료된 검토 섹션으로 이동됩니다. 불확실 값으로 표시되고 저장된 발언은 추가 검토 필요 섹션으로 이동됩니다.
- Export Feedback Loop(피드백 루프 내보내기) 화면 상단의 Expert Feedback Loop(전문가 피드백 루프 )에서 검토할 모델을 선택하여 프롬프트를 표시합니다. 이 기능 내에서는 어떤 모델을 선택하든 상관없는데, 이러한 모델은 주로 리뷰에 표시하는 발화를 보관하는 역할을 하기 때문입니다. 따라서 이 예시 시나리오에서는 각 의도 내에 5개의 의도와 많은 발언이 있는 IT 모델 모델을 선택하기로 결정합니다. 다음 이미지와 같이 검토해야 하는 발화 수가 예측된 의도의 이름 옆에 표시됩니다. 이러한 모델의 의도는 화면의 예측 의도 열에 나열됩니다. 예측된 의도에서 발언을 검토하고 표시할 수 있지만 의도가 처음 나타나는 순서대로 연속적으로 검토를 완료하는 것이 좋습니다. 예를 들어, ad_password_change 의도로 시작한 다음 다른 예측 의도로 이동합니다.
- ad_password_change 의도를 클릭하여 검토를 위해 할 일 섹션에 발언을 로드합니다.
- 의도에서 15개의 발언을 검토합니다. 이 시나리오에서는 AD 암호를 변경하려는 경우를 ad_password_change 의도와 일치하는 것으로 올바르게 표시하여 시작했습니다.
- 피드백 저장을 클릭합니다.결과: 표시한 발언이 화면의 완료 섹션으로 이동합니다. 동시에 할 일 발언의 수는 15개에서 14개로 감소하고 완료 섹션의 개수는 0에서 1로 증가합니다. 다른 발화에 대해 '확실치 않음 ' 값을 표시하고 변경 내용을 저장한 경우 추가 검토 필요 섹션의 발화 수도 0에서 1로 증가합니다.주:발화와 가장 일치하는 의도를 모르는 경우 불확실 값으로 표시합니다. 이 작업을 수행하면 발언이 추가 검토 필요 섹션으로 이동하여, 할 일 섹션에서 의도와 일치시키거나 불일치하기 쉬울 수 있는 다른 발언을 표시할 시간을 확보할 수 있습니다. 언제든지 추가 검토 필요 섹션으로 돌아가서 특정 의도로 고정하기 어려운 발언을 표시할 수 있습니다.
- 예측 의도 열의 나머지 의도를 검토하면서 1단계부터 4단계까지 반복합니다.
의도 내에 password라는 단어가 있는 발화가 하나 이상 있기 때문에 ad_password_change 의도의 발화를 예측된 의도와 일치하는 것으로 표시하기 쉽습니다.
예측된 의도의 발언 검토를 마치고 피드백 저장을 클릭하면 화면이 새로 고쳐지고 모델의 다음 예측 의도가 강조 표시됩니다.
값별로 그룹화된 발언을 보려면 필터 표시 를 클릭하고 프롬프트에서 옵션 중 하나를 선택합니다. 값은 모두, NLU_Match 및 확실하지 않음입니다.
카드 뷰 옵션을 사용하여 발언 검토
전문가 피드백 루프 발언은 위에서 지금까지 본 많은 이미지와 같이 기본적으로 목록 보기의 할 일 섹션에 표시됩니다. 그러나 카드 내의 각 발언 프레임을 표시하는 다른 뷰를 선택할 수도 있습니다. 이 옵션을 선택하면 각 발언이 페이지에 5개 그룹으로 표시됩니다. 목록 뷰 내에 있는 동안 카드 아이콘을 클릭합니다.
결과: 카드 보기가 목록 보기를 대체합니다. 발언 카드 페이지의 양쪽에 있는 왼쪽 및 오른쪽 화살표를 확인합니다. 오른쪽 화살표를 클릭하면 페이지가 다음 5개 카드 세트로 넘어갑니다. 왼쪽 화살표를 클릭하면 페이지가 이전 5개 카드 세트로 바뀝니다. 카드 뷰 대신 목록 뷰로 다시 전환하려면 아래 이미지의 오른쪽 상단에 표시된 대로 목록 아이콘을 클릭합니다.
발언 값 변경
발언을 표시한 다음 선택한 값에 대한 생각이 바뀌면 불일치 를 클릭하고 다른 의도를 선택하여 문제를 해결할 수 있습니다. 피드백 저장을 클릭하여 변경 내용을 저장합니다.
저장되지 않은 피드백
발화 표시 세션을 마치고 로그아웃했지만 변경 내용을 저장하는 것을 잊은 경우 표시 프롬프트에서 저장되지 않은 변경 사항을 선택합니다. 이 작업은 피드백을 제공했지만 아직 저장하지 않은 모든 발언을 표시합니다.
요청 시 추가 VA 피드백 데이터 조달
- nlu_admin 역할을 사용하여 .
- 활성 학습을 클릭합니다.
- 지금 실행을 클릭합니다.
- 다음 네 가지 NLU 시스템 속성에서 값을 늘리거나 설정합니다.
- glide.mlpredictor.option.nlu.activeLearning.va_chat_logs.max_row_limit - 3000
- glide.mlpredictor.option.nlu.activeLearning.label_candidate_table.max_data_size - 10000
- glide.mlpredictor.option.nlu.activeLearning.label_table.max_data_size - 10000
- glide.mlpredictor.option.nlu.activeLearning.label_candidate_table.max_response_size-300
이러한 속성이 다른 NLU 속성의 컨텍스트 내에서 어떻게 작동하는지 보려면 을 참조하십시오 NLU 워크벤치 속성.
분류되지 않은 발언 검토
VA 채팅 로그에서 전문가 피드백 루프로 전달되는 피드의 일부로, 시스템은 VA 의도에 속하지 않는 인스턴스의 모든 발언을 수집하여 목록에 표시합니다. 화면 상단의 프롬프트에 대한 전문가 피드백 루프에서 분류되지 않음을 선택하여 이러한 발언에 액세스합니다.
- 발화 열의 목록에서 발화를 선택합니다.
- 수정된 의도 열에서 발언과 가장 일치한다고 생각되는 프롬프트에서 의도와 해당 모델을 검색하고 선택합니다.
위의 이미지와 관련하여 다음과 같이 분류되지 않은 발화 페이지의 작동 방식을 설명하는 데 도움이 되는 몇 가지 항목을 살펴보겠습니다. 할 일 섹션은 의도에 연결되어야 하는 발언을 수집합니다. 이 특별한 날에 우리는 120개의 그러한 발언이 있음을 알 수 있습니다. 아직 아무 작업도 수행하지 않았기 때문에 화면의 완료 섹션에는 발언이 없습니다.
또한 화면의 맨 오른쪽에는 위아래로 스크롤하여 발화 목록을 탐색할 수 있는 세로 막대가 있습니다. 이 스크롤 화면의 아래쪽에는 왼쪽과 오른쪽을 가리키는 화살표가 있으므로 해당 날짜의 전체 발화 목록의 다음 또는 이전 페이지로 넘길 수 있습니다.
또한 연결을 위한 작업을 수행하면 시스템이 작업을 인식하고 변경 내용을 자동으로 저장하기 때문에 일반적으로 기본적으로 활성화되는 피드백 저장 버튼이 비활성화됩니다.
모델 조정 단계의 전문가 피드백 루프 데이터
전문가 피드백 루프의 모델 조정 버튼은 항상 활성화되어 있으며, 전문가 피드백 루프 완료 탭에서 모델 및 해당 테스트 세트로 발언을 이동하는 환경을 지원합니다. 모델을 조정하거나 재조정해야 할 때마다 nlu_admin 역할을 사용하여 이 버튼을 클릭합니다.
전문가 피드백 루프에서 발언을 검토한 후 피드백 데이터의 일부를 모델의 기본 테스트 세트로 푸시할 수 있습니다. 그런 다음 이러한 발화는 모델의 테스트 발화 탭에 직접 추가됩니다. 이렇게 하면 테스트 세트를 지속적으로 유지관리하고 실제 최종 사용자 발화로 업데이트할 수 있습니다. 시스템은 테스트 발언의 출처를 추적하여 전문가 피드백 루프에서 왔는지 아니면 다른 출처에서 왔는지 여부를 확인합니다.
100개 이상의 발언을 표시하고 저장하기 전에 모델 조정 버튼을 클릭하면 아래 이미지의 텍스트에 참조된 대로 100개의 발언 피드백 목표를 통과하면 모델 성능의 품질이 향상됨을 알리기 위해 화면이 새로 고쳐집니다.
피드백 데이터를 계속 표시하고 저장하면 아래의 진행률 표시줄 이미지에서 검토된 발화(녹색)와 검토할 수 있는 발화(흰색)의 비율을 확인할 수 있습니다.
활성 학습 작업 사용
일괄처리 작업 또는 일괄처리 일정 예약이라고도 하는 예약된 작업은 특정 시간에 또는 되풀이 일정에 따라 수행되는 자동화된 작업입니다. 많은 작업이 일정에 따라 실행되지만 지금은 Active Learning 작업을 예로 중점적으로 살펴보겠습니다.
- 활성 학습 작업이 실행되도록 설정될 반복 빈도 간격을 변경합니다.
- 활성 학습 작업에 대해 예약된 다음 실행이 설정되는 시기를 확인합니다.
- 원할 때마다(요청 시) 활성 학습 작업을 실행합니다.
- nlu_admin 역할을 사용하여 모두 필드로 이동하여 sysauto_script.list를 입력한 다음 키보드에서 return 키를 누릅니다. 화면이 새로 고쳐지면서 모든 예약된 작업이 나열된 일정 페이지가 표시됩니다.
- Schedule(일정) 페이지에서 Active Learning(활성 학습)을 클릭합니다. 아래 이미지와 같이 활성 학습 작업에 대한 기록이 나타납니다.
- 활성 학습 기록에서 다음 필드를 구성합니다.
- 실행 필드에서 작업에 대한 8개의 반복 간격 옵션 중 하나를 선택합니다. 옵션은 매일, 매주, 매월, 주기적으로, 1개, 요청 시, 비즈니스 달력: 항목 시작 및 비즈니스 달력: 항목 종료입니다.
- 반복 간격 필드에 활성 학습 작업에 대한 지금부터 다음 반복 간격 사이에 원하는 일 수를 입력합니다.
- 시작 필드에서 달력 아이콘을 클릭하고 다음 활성 학습 작업 간격의 날짜와 시간을 선택합니다.
- 업데이트 버튼을 클릭하여 구성을 저장하거나 지금 실행 버튼을 클릭하여 활성 학습 작업 실행을 시작합니다.
- 다음 활성 학습 작업이 실행되는 시기를 확인하려면 모두 필드로 이동하여 sys_trigger.list를 입력한 다음 키보드에서 return 키를 누릅니다. 일정 페이지가 나타납니다. 활성 학습을 클릭합니다. 일정 항목/활성 학습 기록이 나타나고 다음 활성 학습 작업 실행에 대한 날짜 및 시간으로 다음 작업 필드가 채워집니다.