맞춤 지식 추천 모델 학습

Agent Assist는 기술 추천을 위한 두 가지 모델링 옵션인 기준 모델 (기본값)과 커스텀 모델을 제공합니다. 이 가이드에서는 데이터 세트를 사용하여 커스텀 모델을 학습시킨 후 모델을 배포하고 성능을 테스트하는 과정을 안내합니다.

개요

Agent Assist에는 두 가지 기술 추천 기능이 있습니다. 문서 추천 (문서 추천)과 FAQ 지원 (최종 사용자 질문에 대한 답변 추천)이 있습니다. 이러한 기능을 구현하면 Agent Assist는 기본적으로 사전 학습된 기준 추천 모델을 사용합니다. 기준 모델은 정보 검색 기술을 사용하며 명시적인 모델 학습 단계를 완료할 필요가 없습니다. 커스텀 모델 옵션은 최첨단 NLU(자연어 이해) 기술을 사용합니다. 커스텀 NLU 모델을 빌드하려면 대화 스크립트를 업로드하고 명시적인 모델 학습 단계를 완료해야 합니다. 일반적으로 커스텀 모델은 기준 모델보다 더 나은 품질의 추천을 제공합니다.

시작하기 전에

이 가이드를 시작하기 전에 다음을 수행해야 합니다.

  1. 프로젝트에 Dialogflow API를 사용 설정합니다. Google Cloud

기술 자료 만들기 및 커스텀 모델 학습

Agent Assist에서 추천을 받으려면 기술 자료를 만들고 기술 자료에 문서를 업로드하고 대화 프로필을 구성해야 합니다.

다음 단계에서는 문서 추천 기능을 예로 사용하여 직접 API 호출을 통해 이러한 작업을 간략하게 설명합니다. 원하는 경우 Agent Assist Console을 사용하여 기술 자료 와 문서를 만들 수 있습니다.

기술 자료 만들기

문서 업로드를 시작하려면 먼저 기술 자료를 만들어야 합니다. 기술 자료를 만들려면 create 메서드를 KnowledgeBase 유형에서 호출합니다.

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: GCP 프로젝트 ID
  • KNOWLEDGE_BASE_DISPLAY_NAME: 원하는 기술 자료 이름

HTTP 메서드 및 URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases

JSON 요청 본문:

{
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA",
  "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}

knowledgeBases 다음의 경로 세그먼트에 새로운 기술 자료 ID가 있습니다.

Python

Agent Assist에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

def create_knowledge_base(project_id, display_name):
    """Creates a Knowledge base.

    Args:
        project_id: The GCP project linked with the agent.
        display_name: The display name of the Knowledge base."""
    from google.cloud import dialogflow_v2beta1 as dialogflow

    client = dialogflow.KnowledgeBasesClient()
    project_path = client.common_project_path(project_id)

    knowledge_base = dialogflow.KnowledgeBase(display_name=display_name)

    response = client.create_knowledge_base(
        parent=project_path, knowledge_base=knowledge_base
    )

    print("Knowledge Base created:\n")
    print("Display Name: {}\n".format(response.display_name))
    print("Name: {}\n".format(response.name))

기술 문서 만들기

이제 기술 자료에 문서를 추가할 수 있습니다. 기술 자료에 문서를 만들려면 유형create 메서드를 호출합니다.Document KnowledgeTypeARTICLE_SUGGESTION으로 설정합니다. 이 예시에서는 반품 주문 정보가 포함된 HTML 파일 공개적으로 공유된 Cloud Storage 버킷에 업로드된 파일을 사용합니다. 고유 시스템에서 자료 추천을 설정할 때 문서는 다음 형식 중 하나여야 합니다. 문서 권장사항에 대한 자세한 내용은 기술 문서 설명서를 참조하세요.

기술 문서 형식:

  • Cloud Storage 버킷에 저장된 파일입니다. API를 호출할 때 경로를 지정할 수 있습니다.
  • API 요청으로 보낼 수 있는 문서의 텍스트 콘텐츠
  • 공개 URL

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: GCP 프로젝트 ID
  • KNOWLEDGE_BASE_ID: 이전 요청에서 반환된 기술 자료 ID
  • DOCUMENT_DISPLAY_NAME: 원하는 기술 문서 이름

HTTP 메서드 및 URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents

JSON 요청 본문:

{
  "displayName": "DOCUMENT_DISPLAY_NAME",
  "mimeType": "text/html",
  "knowledgeTypes": "ARTICLE_SUGGESTION",
  "contentUri": "gs://agent-assist-public-examples/public_article_suggestion_example_returns.html"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA"
}

응답은 완료 여부를 확인하기 위해 폴링할 수 있는 장기 실행 작업입니다.

Python

Agent Assist에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

def create_document(
    project_id, knowledge_base_id, display_name, mime_type, knowledge_type, content_uri
):
    """Creates a Document.

    Args:
        project_id: The GCP project linked with the agent.
        knowledge_base_id: Id of the Knowledge base.
        display_name: The display name of the Document.
        mime_type: The mime_type of the Document. e.g. text/csv, text/html,
            text/plain, text/pdf etc.
        knowledge_type: The Knowledge type of the Document. e.g. FAQ,
            EXTRACTIVE_QA.
        content_uri: Uri of the document, e.g. gs://path/mydoc.csv,
            http://mypage.com/faq.html."""
    from google.cloud import dialogflow_v2beta1 as dialogflow

    client = dialogflow.DocumentsClient()
    knowledge_base_path = dialogflow.KnowledgeBasesClient.knowledge_base_path(
        project_id, knowledge_base_id
    )

    document = dialogflow.Document(
        display_name=display_name, mime_type=mime_type, content_uri=content_uri
    )

    document.knowledge_types.append(
        getattr(dialogflow.Document.KnowledgeType, knowledge_type)
    )

    response = client.create_document(parent=knowledge_base_path, document=document)
    print("Waiting for results...")
    document = response.result(timeout=120)
    print("Created Document:")
    print(" - Display Name: {}".format(document.display_name))
    print(" - Knowledge ID: {}".format(document.name))
    print(" - MIME Type: {}".format(document.mime_type))
    print(" - Knowledge Types:")
    for knowledge_type in document.knowledge_types:
        print("    - {}".format(KNOWLEDGE_TYPES[knowledge_type]))
    print(" - Source: {}\n".format(document.content_uri))

새 커스텀 모델 만들기 및 배포

  1. Agent Assist UI 로 이동하여 페이지 왼쪽 끝에 있는 모델 메뉴 옵션을 클릭합니다.

  2. 모델 메뉴에 모든 모델이 표시됩니다. 새 모델을 만들려면 오른쪽 상단에 있는 +새로 만들기 버튼을 클릭합니다.

  3. 모델 유형 에서 자료 추천 을 선택합니다. 이름 필드에 새 모델의 고유한 이름을 입력합니다. 마지막으로 모델을 학습시키는 데 사용할 기술 자료의 이름을 선택합니다. 이 필드를 클릭하면 이미 생성된 모든 데이터 세트 목록이 포함된 메뉴가 표시됩니다.

  4. 기술 추천 모델은 스마트 답장 모델과 마찬가지로 대화 데이터 세트를 사용하여 학습됩니다. 기술 추천 모델은 스마트 답장 기능과 같이 에이전트에게 단어 추천을 표시하는 대신 자료 또는 FAQ 답변을 표시합니다.

    모델을 학습시키는 데 사용할 대화 데이터 세트를 원하는 만큼 선택합니다. 만들기 를 클릭하여 새 모델을 만듭니다.

  5. 이제 새 모델이 모델 페이지의 모델 목록에 표시됩니다. 모델이 학습될 때까지 새 모델의 상태가 대기 중 , 생성 중 으로 표시됩니다. 학습에는 컴퓨팅 리소스에 따라 하루 이상이 걸립니다. 학습된 모델을 배포하려면 페이지 오른쪽 끝에 있는 모델과 연결된 세로 점 3개 아이콘을 클릭하고 배포 를 클릭합니다.

Agent Assist 시뮬레이터를 사용하여 커스텀 지식 지원 모델 테스트

Agent Assist 시뮬레이터를 사용하면 모델을 구현하기 전에 모델의 성능을 미리 볼 수 있습니다. 시뮬레이터는 모든 Agent Assist 기능과 함께 사용할 수 있습니다. 다음 단계에서는 시뮬레이터를 사용하여 커스텀 지식 지원 모델을 테스트하는 과정을 안내합니다.

  1. 시뮬레이터를 실행하려면 먼저 하나 이상의 대화 프로필 을 만들어야 합니다. 대화 프로필은 학습되고 배포된 지식 지원 모델을 나타냅니다. 스마트 답장 모델과 달리 지식 지원 모델에는 연결된 허용 목록이 없습니다.

    대화 프로필을 만들려면 페이지 왼쪽의 기본 메뉴에서 대화 프로필 을 클릭합니다.

  2. 기존 대화 프로필 목록이 표시됩니다. 기존 프로필을 사용하려면 나중에 4단계로 건너뛰면 됩니다. 그렇지 않으면 페이지 오른쪽에 있는 +새로 만들기 버튼을 클릭하여 새 대화 프로필을 만듭니다.

  3. 표시되는 메뉴에서 표시 이름 상자에 고유한 대화 프로필 이름을 입력합니다. 추천 유형 상자에서 자료 또는 FAQ(학습시킨 모델 유형에 따라)를 선택합니다. 신뢰도 임곗값최대 추천 개수 값을 입력하라는 메시지도 표시됩니다. 최대 추천 개수는 반환된 응답 자료 또는 FAQ 답변 수이며, 신뢰도 임곗값은 각 응답이 에이전트의 요청과 관련이 있다는 모델의 신뢰도 수준을 나타냅니다. 신뢰도 값이 높을수록 관련 응답이 반환될 가능성이 높아지지만 사용 가능한 옵션이 높은 임곗값에 부합하지 않는 경우 반환되는 응답이 적거나 없을 수 있습니다. 정확도를 높이고 적용 범위를 줄이려면 신뢰도 임곗값을 0.8로 설정하는 것이 좋습니다. 정확도를 낮추고 적용 범위를 넓히려면 신뢰도 임곗값을 0.2로 설정하는 것이 좋습니다.

    **가져오기 메서드**(인라인 또는 Pub/Sub), 감정 분석 사용 설정 여부, Dialogflow 가상 에이전트 사용 여부를 선택합니다. **만들기** 버튼을 클릭하여 대화 프로필을 만듭니다.

  4. 이제 대화 프로필이 기본 대화 프로필 페이지의 프로필 목록에 표시됩니다. 시뮬레이터를 사용하려면 테스트할 대화 프로필 이름 오른쪽 끝에 있는 세로 점 3개 아이콘을 클릭하고 시뮬레이터 사용 을 클릭합니다.

  5. 표시되는 창에 고객 및 에이전트 응답 입력 상자가 제공됩니다. 이러한 상자를 사용하여 대화 프로필을 구성할 때 선택한 Agent Assist 기능을 테스트할 수 있습니다. 테스트할 기능 조합을 변경하려면 오른쪽 상단에 있는 옵션 버튼을 클릭하고 표시되는 뷰 구성 메뉴에서 기능을 선택합니다.

  6. 오른쪽 상단에 있는 완료 버튼을 클릭하여 기본 대화 프로필 페이지로 돌아갑니다.