에이전트 성능 향상을 위한 데이터 사용

Dialogflow의 학습 기능은 일반적인 사용 및 외부 소스로부터 수집한 데이터를 사용하여 대화형 에이전트의 성능을 높이는 도구를 제공합니다. 예를 들어 고객과 상담원 간의 고객 서비스 상호작용에 대한 기존 로그를 사용하여 에이전트를 학습시킬 수 있습니다.

학습을 통해 사용자 입력을 올바른 인텐트에 연결하는 작업에 대한 에이전트의 정확도를 높일 수 있습니다. 또한 고객의 요구에 따라 새 인텐트를 추가하여 에이전트의 처리 범위를 확장할 수 있습니다.

학습은 일반적으로 기존 Dialogflow 에이전트의 성능을 높이기 위해 진행되지만, 새로 생성된 에이전트를 부트스트랩하는 데 사용할 수도 있습니다. 우선 기존 Dialogflow 에이전트를 교육하는 방법을 중점적으로 살펴보겠습니다.

기존 에이전트 학습

설정에서 로깅 사용을 중지하지 않았다면 Dialogflow 에이전트는 보유한 모든 대화 기록을 저장합니다. 학습 도구를 사용하면 모든 인바운드 고객 요청과 그와 일치하는 인텐트를 볼 수 있습니다. 아래 예에서는 fulfillment-bike-shop-nodejs 샘플을 사용합니다.

에이전트 학습 워크플로

학습 도구는 대화 목록을 시간순으로 표시합니다.

각 대화는 특정 고객의 인바운드 요청에 대한 로그이며 시간별로 그룹화되어 있습니다. 대화의 첫 번째 사용자 쿼리가 테이블에 표시됩니다. 동일한 고객이 별도의 두 상황에 대해 에이전트와 대화한 경우 로그가 두 개의 개별 대화로 표시됩니다.

에이전트를 학습시키려면 먼저 목록에서 대화 하나를 선택합니다. 사용자 요청 목록이 표시되며, 이는 에이전트에 대한 모든 사용자 입력을 나타냅니다. 실제 사용자 입력은 사용자의 말 옆 상자에 제공됩니다. 에이전트의 응답은 학습에 표시되지 않지만 기록 페이지에서 볼 수 있습니다.

대화의 각 요청에 대해 여러 작업을 수행할 수 있습니다.

  • 인텐트에 요청을 학습 문구로 추가합니다.
  • 기본 대체 인텐트에 요청을 학습 문구로 추가합니다.
  • 요청에 대한 항목 주석을 추가하고 편집합니다.
  • 학습 뷰에서 요청을 삭제합니다.

대화 내에서 요청을 단계별로 진행합니다. 각 요청과 일치하게 연결한 인텐트를 확인합니다. 인텐트에 대한 에이전트의 이해도를 바탕으로 지정된 요청이 올바르게 연결됐는지 판단할 수 있습니다.

예를 들어 다음 사례에서 요청은 잘못된 인텐트에 연결되었습니다. 인텐트 이름을 클릭하여 이 요청을 적절한 인텐트의 학습 문구로 지정하면 이후 유사한 요청이 올바르게 연결됩니다.

요청이 올바른 인텐트와 연결된 경우 해당 인텐트를 학습 문구로 추가할 수 있습니다. 이렇게 하면 에이전트의 일치 작업 정확도가 향상됩니다. 인텐트를 학습 문구로 추가하려면 요청 옆의 체크표시를 클릭하세요.

요청이 알 수 없는 입력으로 처리되어야 하는 인텐트와 잘못 연결되는 경우도 있습니다. 기본 대체 인텐트 또는 당시 컨텍스트에 있던 다른 대체 인텐트에 해당 요청을 추가하여 이러한 요청을 관련 없는 요청으로 처리하도록 Dialogflow를 학습시킬 수 있습니다.

학습 뷰를 사용하여 항목 주석을 편집할 수도 있습니다. 예를 들어 항목 값이 누락된 경우 요청에 주석을 달아 이후 올바르게 캡처하도록 할 수 있습니다. 학습 중에 가능한 새로운 항목 값을 식별하는 경우 해당 항목 유형에도 단어 또는 단어 시퀀스를 추가해야 합니다.

학습 뷰의 오른쪽 상단에 있는 승인을 클릭하기 전에는 학습 중에 수행한 작업이 에이전트에 적용되지 않습니다. 승인 후에 에이전트가 학습을 시작하며 학습이 완료되면 알림이 전송됩니다. 학습 도구에서 학습에 사용된 대화는 녹색 체크표시로 표시됩니다.

에이전트 학습이 필요한 경우

학습은 대부분의 요청을 처리할 수 있는 에이전트를 빌드하는 데 필수적입니다. 다음 경우에 에이전트 학습을 진행하는 것이 좋습니다.

제한된 수의 사용자로 초기 설계를 테스트한 이후

에이전트의 첫 번째 반복을 빌드했다면 소수의 사용자(예: QA 팀)를 에이전트와의 자연스러운 대화에 참여하게 하여 테스트합니다. 이 프로세스를 통해 학습에 사용할 수 있는 대화 로그가 생성됩니다.

첫 번째 반복에서 일치하지 않는 요청이 많이 발생하기 때문에 학습 작업량이 급등하는 것을 방지하려면 소수의 사용자부터 시작하는 것이 좋습니다. 새 학습 문구를 통합하고 나면 에이전트의 일치 작업 정확도가 크게 향상됩니다.

테스터와 에이전트를 쉽게 공유하려면 Dialogflow의 웹 위젯 또는 통합을 사용하여 팀에서 이미 사용 중인 채팅 메시지 플랫폼에 에이전트를 연결하세요.

에이전트를 잠시 프로덕션 단계에서 사용한 이후

실제 사용 환경에서의 요청은 초기 테스트 사용자가 생성한 요청과 크게 다를 수 있습니다. 에이전트를 잠시 프로덕션 단계에서 사용한 다음 교육하면 이러한 요청을 통합하고 실제 환경에서 에이전트의 작업 정확도를 개선할 수 있습니다.

에이전트를 주기적으로 프로덕션 단계에서 사용한 경우

사용자가 에이전트와 통신할 때 정확하게 일치하지 않는 새로운 입력이 발생할 수 있습니다. 주기적으로 학습 도구를 방문하면 이러한 요청을 통합하고 에이전트 성능을 꾸준히 높일 수 있습니다.

기존 데이터로 에이전트 빌드

많은 경우 기존 대화 로그에 액세스할 수 있습니다. 예를 들어 인간 고객 서비스 상담원과의 과거 대화 로그를 보유하고 있을 수 있습니다. 이 섹션에서는 이 데이터를 처리하고 Dialogflow 에이전트를 학습시키는 데 사용하는 방법을 설명합니다.

기존 데이터를 사용하는 이유

Dialogflow 에이전트의 일치 정확도는 학습 데이터의 품질을 기반으로 하므로 실제 대화 로그를 사용하면 쉽게 성능을 높일 수 있습니다.

Dialogflow가 기존 데이터를 사용하는 방법

대화 로그는 Dialogflow의 학습 도구에 업로드할 수 있으며 일반 에이전트 사용에서 수집한 요청 로그와 같은 방식으로 학습 도구에 나열됩니다. 로그가 업로드되면 위에서 설명한 학습 워크플로를 사용하여 에이전트에 로그를 통합할 수 있습니다.

수집해야 하는 데이터 종류

수집하는 상호작용이 에이전트의 인텐트와 관련이 있는 경우 모든 소스에서 대화 로그를 수집할 수 있습니다. Dialogflow에 업로드하는 모든 로그가 학습 뷰에 표시되므로 에이전트에 학습 문구로 통합될 수 있는 로그만 업로드해야 합니다.

로그는 일반 텍스트 형식이어야 하며 고객 측의 대화만 업로드해야 합니다. 학습에는 사용자 요청만 포함되기 때문에 고객 서비스 에이전트가 말한 내용이 담긴 로그를 업로드해도 아무런 효과가 없습니다.

다음은 유용한 데이터 소스로 이용할 수 있습니다.

  • 고객 서비스 상담원과의 대화 로그
  • 온라인 고객지원 요청(이메일, 포럼, FAQ)
  • 소셜 미디어를 통한 고객 질문

다음 유형의 데이터는 피하는 것이 좋습니다.

  • 대화 형식이 아닌 긴 요청
  • 여러 문장으로 된 요청
  • 에이전트의 인텐트와 관련이 없는 요청
  • 고객이 아닌 사용자가 말한 내용이 담긴 로그(예: 고객 서비스 에이전트의 응답)

데이터 수집 및 정리

한 번에 하나의 인텐트를 학습할 경우 외부 데이터를 사용하는 것이 가장 쉽습니다.

다음은 인텐트의 데이터를 수집하는 데 권장되는 워크플로입니다.

  1. 모든 대화 로그를 데이터베이스 테이블이나 스프레드시트 등의 데이터 저장소에 저장합니다.
  2. 사용자가 언급하지 않은 요청(예: 고객 서비스 에이전트의 응답)을 필터링 및 삭제합니다.
  3. 모든 메타데이터를 삭제하고 대화 텍스트만 남깁니다. 예를 들어 날짜, 이름, 소스, 비공개 데이터를 제거해야 합니다.
  4. 학습시킬 특정 Dialogflow 인텐트를 선택합니다.
  5. 키워드 검색 및 정규 표현식과 같은 도구를 사용하여 요청을 필터링하고 선택한 인텐트와 일치해 보이는 요청만 주로 남깁니다. 관련 없는 요청이 일부 있어도 괜찮습니다. 학습에서 해당 요청을 건너뛸 수 있습니다.
  6. 선택한 요청을 한 줄에 한 요청씩 .txt 파일로 내보냅니다. 원시 요청 외에 추가 필드를 포함하지 않습니다.

대화 로그 업로드

Dialogflow의 학습 기능을 사용하면 대화 로그가 포함된 텍스트 파일을 업로드할 수 있습니다. 이 데이터는 에이전트 자체에서 수집한 데이터와 동일한 형식으로 학습 뷰에 표시됩니다.

이 업로드 기능은 한 줄에 하나의 로그가 있는 단일 텍스트 파일 또는 최대 10개의 텍스트 파일이 담긴 zip 보관 파일을 허용합니다. 단일 텍스트 파일 또는 zip 파일의 압축되지 않은 모든 텍스트 파일의 전체 크기가 3MB 이하여야 합니다.

여러 인텐트에 대한 요청 로그를 수집한 경우 각 인텐트에 대해 하나의 텍스트 파일을 만들어야 합니다. 이렇게 하면 로그가 Dialogflow의 학습 뷰에 별도로 표시됩니다.

학습 워크플로

업로드된 요청 로그는 프로덕션 에이전트 로그와 동일한 방식으로 학습 뷰에 표시됩니다. 즉, 위에서 설명한 기존 에이전트 학습과 동일한 워크플로를 따라 에이전트를 학습시킬 수 있습니다. 업로드하는 각 파일이 특정 인텐트 요청만 포함하는 경우 요청을 신속하게 스캔하고 적절하게 할당할 수 있어야 합니다.

기존 데이터를 기반으로 에이전트 설계

아직 에이전트를 설계하는 중이라면 수집한 데이터를 설계에 적용할 수 있습니다. 다음의 워크플로를 통해 적용합니다.

  1. 새로 생성된 에이전트의 학습 뷰에 요청 로그를 업로드합니다.
  2. 각 요청이 에이전트 내에 존재해야 하는 특정 인텐트를 대표하는지 여부를 결정합니다. 요청이 에이전트에게 적절하지 않아 보이는 경우 휴지통 아이콘을 선택하여 요청을 삭제합니다.

    이전에 보지 못했던 요청이지만 인텐트를 대표하는 요청으로 생각되는 경우 클릭하여 할당 인터페이스를 사용하여 새 인텐트를 생성합니다.

    이 요청에 맞는 인텐트가 이미 존재하는 경우 인터페이스를 사용하여 해당 인텐트에 요청을 학습 문구로 할당합니다.

  3. 로그를 기반으로 인텐트 집합을 만들 때까지 업로드된 모든 요청 로그에 이 프로세스를 진행합니다. 이 인텐트를 새 에이전트의 기반으로 사용할 수 있습니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Dialogflow 문서
도움이 필요하시나요? 지원 페이지를 방문하세요.