Copilot에서 엔터티 및 슬롯 채우기 사용
Copilot Studio에서 Copilot 대화의 상당 부분은 자연 언어 이해이며, 이는 AI가 사용자의 의도를 이해할 수 있는 능력입니다. 예를 들어 사용자가 "기프트 카드를 사용하려고 했지만 작동하지 않습니다"라고 사용할 수 있으며 Copilot은 정확한 문구가 트리거 문구로 나열되지 않더라도 작동하지 않는 기프트 카드와 관련된 토픽으로 사용자를 라우팅하는 것을 알고 있습니다.
자연어 이해의 기본 요소 중 하나는 사용자 대화에서 엔터티를 식별하는 것입니다. 엔터티를 시작하려면 비디오를 시청하세요.
엔터티는 전화 번호, 우편 번호, 도시 또는 사람의 이름과 같은 특정 유형의 실제 주제를 나타내는 정보 단위로 생각할 수 있습니다. Copilot은 엔터티가 제공한 지식을 통해 사용자 입력에서 관련 정보를 지능적으로 인식하고 나중에 사용하기 위해 저장할 수 있습니다.
사전 빌드된 엔터티
Copilot의 엔터티를 통해 유사한 그룹에 정보를 저장할 수 있습니다.
기본적으로 Copilot Studio는 연령, 색상, 숫자 및 이름과 같은 실제 대화에서 가장 일반적으로 사용되는 정보 유형을 나타내는 사전 빌드된 엔터티 집합과 함께 제공됩니다.
Copilot은 엔터티가 제공한 지식을 통해 사용자 입력에서 관련 정보를 지능적으로 인식하고 나중에 사용하기 위해 저장할 수 있습니다.
그 개념을 이해하도록 돕기 위해 금액 엔터티를 예로 사용할 수 있습니다.
Copilot Studio에서 Copilot을 열고 페이지 상단에서 설정을 선택한 다음 메뉴에서 엔터티를 선택합니다.
사용할 수 있는 사전 빌드된 엔터티 목록이 표시됩니다.
금액 엔터티를 선택하여 엔터티에 대한 세부 정보 창을 엽니다.
여기서 이 엔터티에 대한 설명과 사용자 입력에서 이 엔터티를 금액이나 통화와 관련된 정보를 찾는 데 사용할 수 있는 방법을 볼 수 있습니다.
예를 들어, 사용자가 "1000달러 금액"을 입력할 때 Copilot은 이 금액 엔터티를 사용하여 "1000달러"가 금액 유형의 정보를 나타냄을 압니다. Copilot이 이 엔터티를 추출하여 변수에 저장하면 주변 정보가 텍스트인 경우에도 "1000"을 숫자로 저장합니다.
사용자 지정 엔터티
사전 빌드된 엔터티는 일반적으로 사용되는 정보 유형을 다룹니다. 특정 용도로 사용되는 Copilot을 빌드할 때와 같은 경우에 Copilot의 언어 이해 모델 도메인별 지식을 가르쳐야 합니다.
예를 들어 아웃도어 상점을 위한 Copilot을 만들고 싶다고 가정해 봅시다. 이 경우 Copilot에게 대화 상자에서 "아웃도어 장비 제품" 범주를 인식하도록 가르쳐야 합니다.
먼저 사용자 지정 엔터티를 만듭니다. 이 경우 Copilot에게 모든 아웃도어 제품 범주에 대한 지식을 제공하는 엔터티를 만들 수 있습니다.
Copilot Studio에서 Copilot을 열고 페이지 상단에서 설정을 선택한 다음 메뉴에서 엔터티를 선택합니다.
엔터티 추가>새 엔터티를 선택합니다.
엔터티 유형(닫힌 목록 엔터티 또는 정규식(regex) 엔터티)을 선택할 수 있는 새 창이 열립니다.
비공개 목록 엔터티
비공개 목록 엔터티를 사용하면 항목 목록을 정의할 수 있습니다. 이러한 엔터티는 관리하기 쉽고 간단한 항목 레이블이 있는 작은 목록에 가장 적합합니다.
엔터티를 만들 때 이 옵션을 선택하면 엔터티의 이름과 설명(선택 사항)을 지정하고 엔터티에 포함할 항목을 입력할 수 있는 창이 표시됩니다.
항목을 입력할 때 다음을 수행할 수 있습니다.
- 각 항목을 선택하고 이름을 변경합니다.
- 목록에서 항목을 삭제하려면 휴지통 아이콘을 선택합니다.
- + 동의어(또는 이미 추가된 경우 나열된 동의어 선택)를 선택하여 동의어 편집 창을 엽니다.
동의어를 추가하여 엔터티 목록의 각 항목에 대한 일치 논리를 수동으로 확장할 수 있습니다. 예를 들어 '하이킹' 항목에는 '트래킹'과 '등산'을 동의어로 추가할 수 있다.
각 엔터티에 대해 스마트 매칭을 사용할 수도 있습니다.
스마트 매칭은 Copilot의 언어 이해 모델이 지원하는 인텔리전스의 일부입니다. 이 옵션을 활성화하면 Copilot은 엔터티에 나열된 항목을 기반으로 퍼지 논리를 사용하여 사용자 입력을 해석합니다.
특히 Copilot은 맞춤법 오류를 자동 수정하고 의미론적으로 일치하는 논리를 확장합니다. 예를 들어 Copilot은 "소프트볼"을 "야구"와 자동으로 일치시킬 수 있습니다.
엔터티 생성 또는 편집을 마쳤으면 저장을 선택하여 저장하고 엔터티 목록으로 돌아갑니다. 닫기를 선택하여 변경 사항을 취소합니다(실수로 잘못된 옵션을 선택한 경우 엔터티 편집으로 돌아갈 수 있는 옵션이 제공됨).
정규식(regex) 엔터티
정규식(regex) 엔터티를 사용하면 입력에서 정보를 일치시키고 추출하는 데 사용할 수 있는 논리적 패턴을 정의할 수 있습니다. Regex 엔터티는 사용자 입력에 대한 복잡한 패턴 일치에 적합하거나 사용자가 대화에서 입력 형식을 지정하거나 입력하는 방법의 특정 변형을 허용해야 하는 경우에 적합합니다.
예를 들어 정규식 엔터티를 사용하여 사용자가 Copilot에 입력하는 문자열에서 추적 ID, 라이선스 번호, 신용 카드 번호 또는 IP 주소와 같은 항목을 식별할 수 있습니다.
엔터티를 만들 때 이 옵션을 선택하면 엔터티 이름, 선택적 설명을 지정하고 입력에서 엔터티 항목을 일치시키고 추출하는 데 사용해야 하는 정규식 패턴을 입력할 수 있는 창이 표시됩니다.
Copilot Studio 정규식 엔터티는 .NET 정규식 구문을 사용합니다.
기본적으로 패턴 일치는 대소문자를 구분하므로 대소문자를 구분하지 않도록 패턴 문자열에 (?i)
정규식 옵션을 사용합니다. 일부 기본 예제는 정규식 엔터티 창에 포함되어 있으며 구문에 대한 추가 정보와 더 많은 예제는 정규식 언어 - 빠른 참조 토픽에서 찾을 수 있습니다.
정규식이 여러 패턴을 수용하도록 해야 하는 경우 대체 연산자 |
을 사용하여 정규 표현식을 연결할 수 있습니다. 예를 들어 두 개의 정규식 패턴을 결합하여 제품 ID 코드의 이전 형식과 새 형식을 모두 찾을 수 있습니다.
엔터티 생성 또는 편집을 마쳤으면 저장을 선택하여 저장하고 엔터티 목록으로 돌아갑니다. 닫기를 선택하여 변경 사항을 취소합니다(실수로 잘못된 옵션을 선택한 경우 엔터티 편집으로 돌아갈 수 있는 옵션이 제공됨).
대화에서 엔터티 사용
이제 해당 제품 범주 엔터티 및 몇 가지 다른 사용자 지정 엔터티를 만들어 Copilot에게 아웃도어 장비에 대한 지식을 제공하는 작업을 완료했으므로 Copilot 대화를 구성할 때 이를 사용할 수 있습니다.
편집하려는 Copilot의 토픽 페이지로 이동합니다.
수집하려는 엔터티에 대한 토픽을 엽니다.
노드 추가 아이콘 을 선택한 다음 질문하기를 선택합니다.
식별 아래에 사용자 지정 엔터티에서 만든 엔터티를 선택하십시오.
선택적으로 단추로 표시할 항목을 선택할 수도 있습니다. 예를 들어 일부 범주를 사용자가 입력으로 편리하게 선택할 수 있는 단추로 표시하려는 경우 사용자에 대한 옵션 선택을 선택한 다음 사용자 지정 엔터티를 만들 때 추가한 항목이 포함된 목록에서 해당 항목을 선택하십시오.
필요한 경우 사용자 응답의 출력 변수를 지정하십시오.
슬롯 채우기
슬롯 채우기는 추출된 엔터티를 개체에 저장하는 것을 의미하는 자연어 이해 개념입니다. 그러나 Copilot Studio에서 슬롯 채우기는 추출된 엔터티 값을 변수에 넣는 것을 의미합니다.
계속해서 캠핑 활동 토픽을 예로 들며, 테스트 채팅에서 "뭔가를 하고 싶어요"를 입력하면 트리거됩니다.
토픽이 성공적으로 트리거되고 Copilot은 활동 유형을 묻고 질문하기 노드를 작성할 때 지정된 버튼 선택도 표시합니다. 대화 상자 트리에서 토픽 간 추적은 방금 편집한 질문 노드에서 Copilot이 실행되고 있음을 보여줍니다.
사용자는 버튼 중 하나를 선택하여 사전 정의된 선택 사항을 사용할 수 있습니다. 또는 "트레킹"과 같은 단어를 입력할 수 있으며, 해당 단어가 동의어로 정의되었기 때문에 "하이킹"에 매핑되는 것을 볼 수 있습니다.
토픽 간에 추적할 때 대화가 제품 범주 값이 "하이킹"인 경로로 올바르게 라우팅되었음을 표시합니다. 제작 캔버스 하단의 변수 조사식 창에서 변수 값을 검사할 수 있습니다. 조사 식 창에서 변수 값이 "하이킹"임을 나타냅니다.
기본적으로 추출된 엔터티 "하이킹"을 변수 VarCampType
에 삽입하여 슬롯 채우기가 발생했습니다.
사용자가 여러 엔터티에 매핑되는 여러 정보를 지정할 수 있는 "사전 슬롯 채우기"라는 기능을 사용할 수도 있습니다. Copilot은 어떤 정보가 어떤 엔터티에 속하는지 자동으로 이해할 수 있습니다. 의도한 매핑이 확실하지 않은 경우 선택 사항을 제공하여 사용자에게 보다 구체적으로 묻습니다.
이 예에서 사용자는 "지루하지만 등산을 좋아합니다."라고 썼습니다. 이 메시지에는 사용자가 야외 활동에 대한 도움을 원하는 트리거 문구와 두 번째 정보인 "등산"(엔터티 정의 하이킹 동의어)도 제공됩니다. 이 경우 Copilot은 야외 활동을 선택하기 위한 엔터티와 활동 유형을 모두 채웁니다.
토픽 간을 추적할 때 Copilot이 이 사용자 입력을 받아 활동 유형을 묻는 질문 노드를 지능적으로 건너뛰는 것을 볼 수 있습니다.
Copilot은 항상 사용자 입력을 적극적으로 듣고 정보를 미리 기억하여 필요에 따라 불필요한 단계를 건너뛸 수 있습니다.
테스트를 다시 시작하고 다른 사례를 시도해 봅시다. 이번 라운드에서는 활동에 대한 시간(기간 엔터티 사용) 및 가격 범위(금액 엔터티 사용)와 같은 사항을 묻는 질문 노드를 몇 개 더 추가할 수 있습니다.
이번에는 제품 범주 질문이 표시되면 사용자는 Copilot에게 제품 카테고리만 알려주는 대신 "$100 아래에서 하이킹 부츠 한 켤레를 구매하고 싶습니다"라고 말할 수 있습니다. 이 예에서 Copilot은 올바른 하이킹 제품 범주 경로로 라우팅할 수 있을 뿐만 아니라 하이킹 장비 유형 및 목표 가격 범위 정보를 요청하는 슬롯을 적극적으로 채 웁니다.
사전 슬롯 채우기는 노드 수준에서 수동으로 제어할 수 있습니다. 슬롯이 이전 사용자 응답으로 채워졌는지 여부에 관계없이 항상 특정 노드 내에서 질문을 묻는 메시지가 표시되도록 하려면 해당 질문 노드에 대한 질문 건너뛰기 옵션을 비활성화할 수 있습니다. 질문 건너뛰기 옵션을 비활성화하려면 다음 단계를 수행하십시오.
질문 노드의 추가 아이콘(…)을 선택한 다음 속성을 선택합니다. 질문 속성 패널이 나타납니다.
질문 속성 패널에서 질문 동작을 선택합니다.
질문 동작 패널의 질문 건너뛰기에서 매번 묻기를 선택한 다음 페이지 상단에서 저장을 선택하세요.