자연어 이해(NLU)는 Copilot Studio 에이전트가 사용자 쿼리를 이해하고 관련성 있고 맥락에 맞는 답변을 제공하는 핵심입니다. 의도 인식, 엔터티 추출, 대체 처리에 대한 명확한 접근법은 에이전트가 비즈니스 요구에 부합하는 효율적이고 자연스러운 대화를 제공합니다.
사용자가 에이전트에게 무언가를 입력할 때, 이를 '발화(utterance)'라고 합니다. 에이전트는 그 발화를 의도와 실체로 나누어 에이전트의 반응이 자연스럽고 효율적으로 느껴지도록 해야 합니다.
언어 이해란 무엇인가요?
언어 이해(LU)는 자연어 처리(NLP)의 하위 분야로, 기계가 인간 언어의 의미, 의도, 맥락을 이해할 수 있도록 돕는 데 중점을 둡니다.
사용자의 메시지가 의도와 엔티티로 어떻게 나뉘는지 보여주는 도표입니다. 누군가가 "다음 주에 파리행 비행기를 예약하고 싶어요."라고 타이핑합니다. 메시지는 발화로 표시됩니다. "비행기 예약하고 싶어요"라는 문구가 의도로 식별되고, "파리"와 "다음 주"는 엔티티로 식별됩니다. 그 후 시스템에서 출발 도시와 여행 등급 같은 추가 정보를 요청합니다. 도표는 에이전트가 의도, 개체, 맥락을 활용해 최적의 반응을 결정하는 방식을 보여줍니다.
언어 이해는 다음을 포함합니다:
- 의도 인식: 사용자가 달성하고자 하는 목표를 파악하는 것(예: "다음 주 파리행 비행기 예약"이 비행기 예약 의도와 매핑됨).
- 엔터티 추출: 날짜, 위치, 이름(예: 목적지는 "파리", 여행 날짜는 "다음 주")과 같은 핵심 정보를 추출합니다.
- 맥락 인식: 대화의 연속성을 유지하고 모호함을 해소하는 것(예: 대명사나 지시 이해).
- 모호성 처리: 여러 의미를 가진 단어(예: '은행'을 금융 기관이나 강둑으로 표현)를 맥락을 활용해 해석하기.
Copilot Studio에서의 언어 이해
Copilot Studio는 언어 이해를 위한 유연한 모델을 제공하며, 다양한 구성 옵션을 제공합니다.
생성형 오케스트레이션
생성 오케스트레이션 은 언어 모델을 사용해 주제, 행동, 지식을 지능적으로 연결합니다. 이 기능은 다중 의도 인식, 고급 엔터티 추출, 복잡한 쿼리에 대한 동적 계획 생성을 가능하게 합니다.
이 방법이 Copilot Studio의 기본 방식입니다. 이 접근법은 단일 발화에서 여러 의도나 주제를 인식하고, 행동과 지식 소스를 자동으로 연쇄 연결하며, 통합된 응답을 생성합니다. 특히 여러 비즈니스 분야에 걸친 복잡한 대화를 처리할 때 유용합니다. 생성 오케스트레이션은 주제나 액션 체인당 5개의 메시지, 오케스트레이션당 128개의 주제 또는 행동 등 제한이 있지만, 대화의 폭을 확장하는 강력한 방법을 제공합니다.
생성 오케스트레이션 기능 적용 항목에서 더 알아보세요.
클래식 오케스트레이션
클래식 오케스트레이션은 트리거 구와 결정론적 주제 라우팅을 사용합니다. 사용자의 발화가 트리거 구문과 일치하면 해당 주제가 실행됩니다. 일치하지 않으면 백업 메커니즘이 지식 출처를 검색하거나 사용자에게 명확한 설명을 요청합니다.
내장 NLU
이 방식이 기본이었지만 지금은 대체 방식이 되었습니다. Copilot Studio는 트리거 구문, 미리 정의된 엔티티, 커스텀 엔티티를 지원하는 기본 제공되는 NLU 모델을 제공합니다. 이 모델은 에이전트가 사용자 의도를 식별하고 쿼리에서 날짜, 목적지, 수량과 같은 핵심 정보를 직접 추출할 수 있게 합니다.
NLU+
정확도를 높이려면 NLU+ 옵션을 사용하세요. NLU+ 옵션은 대규모 엔터프라이즈급 애플리케이션에 적합합니다. 이러한 유형의 애플리케이션은 일반적으로 많은 수의 토픽 및 엔터티로 구성되며 많은 수의 학습 샘플을 사용합니다. 또한 음성 지원 에이전트가 있는 경우 NLU+ 학습 데이터를 사용하여 음성 인식 기능을 최적화합니다.
Azure CLU integration
기본 생성 오케스트레이션을 사용할 수 없는 고급 시나리오에서는 Azure Conversational Language Understanding(CLU)을 통합할 수 있습니다. CLU는 더 큰 맞춤화, 다국어 지원, 복잡한 엔터티 추출(예: 여러 '출신' 엔터티)을 제공합니다. CLU 의도를 Copilot Studio 주제에 매핑하여 동기화를 유지해야 합니다. 이 옵션은 특히 업계별 어휘, 비영어 언어, 또는 더 높은 정확도가 요구되는 상황에 유용합니다.
주요 특징과 제한 사항
이 표는 Copilot Studio의 세 가지 언어 이해 접근법을 비교합니다. 주요 특징과 한계를 강조하여 에이전트의 복잡성, 규모, 정확성 요구에 맞는 모델을 선택하는 데 도움을 줍니다.
| 기능 및 제한 사항 | 생성형 오케스트레이션 | 내장된 NLU 모델 | 사용자 지정 Azure CLU 모델 |
|---|---|---|---|
| 주요 기능 |
|
|
|
| 제한 |
|
|
|
자연 어 이해(NLU) 개요에서 더 알아보세요.
주제 구조와 대체
주제들은 경직되고 의도 중심의 경로에서 벗어나 더 유연하고 오케스트레이션 우선 접근법으로 전환되었습니다. 미리 정의된 트리거와 경로에만 의존하는 대신, 주제는 이제 에이전트가 대화를 조율할 때 호출할 수 있는 모듈식 지시로 기능합니다. 생성 오케스트레이션은 사용자 입력을 동적으로 해석하여 대부분의 라우팅을 처리하며, 정밀성이 필요할 때 구조화된 후퇴 기능을 제공합니다.
전통적인 구조화된 주제 설계는 대화를 자연스럽고 효율적으로 만듭니다. 주제는 사용자 발언에 의해 트리거되는 진입점일 수도 있고, 리디렉션이나 시스템 이벤트로 호출된 재사용 가능한 하위 주제일 수도 있습니다. 명의성 주제는 여러 주제가 동시에 유발될 때 혼동을 피하는 데 도움을 주며, 후퇴 및 대화 촉진 주제는 에이전트가 의도를 확신할 수 없을 때 안전망을 제공합니다. 또한 외부 지식 출처에서 생성 답변을 끌어올 수 있는 생성 답변을 덧붙여 사용자가 응답 없이 지낼 수 있도록 할 수 있습니다.
주제 저작에 적용하는 모범 사례에서 더 알아보세요.
지역화 및 언어
Copilot Studio 에이전트가 사용하는 언어는 시스템 변수의 값으로 결정됩니다: System.User.Language.
이 변수는 에이전트 내 모든 언어 관련 동작에 대한 중앙 제어 지점 역할을 합니다. 수동으로, 프로그래머틱으로 설정할 수 있으며, 자동으로 감지할 수도 있습니다.
어떻게 작동하나요?
사용자 언어로 지식 검색: Copilot Studio는 해당 언어로 지식 소스를 검색하기 위해 의
System.User.Language값을 사용합니다. 이 방식은 사용자가 한 언어로 질문을 하더라도 에이전트가 검색 쿼리를 해당System.User.Language언어로 번역한다는 것을 의미합니다(검색 쿼리의 자동 번역).사용자의 언어로 응답하기: 에이전트는 질문에 사용된 언어나 원본 문서와 상관없이 가 지정한
System.User.Language언어로 답변을 생성합니다(답변 생성을 위한 자동 번역).수동 오버라이드: 에이전트가 특정 언어로 작동하도록 값을
System.User.Language수동으로 설정할 수 있습니다. 이 기능은 테스트나 언어를 명시적으로 제어해야 하는 상황에서 유용합니다. 다국어 에이전트 구성 및 만들기에 대해 자세히 알아봅니다.
자동 음성 감지
Copilot Studio를 설정하여 사용자의 말하거나 쓰는 언어를 자동으로 감지하고 변수를 System.User.Language 설정할 수 있습니다. 이 기능은 사용자가 언어 선호도를 명시하지 않고도 원활한 다국어 경험을 가능하게 합니다.
자동 탐지 작동 원리
- 트리거 기반 탐지: 봇이 메시지를 받으면 트리거가 언어 탐지 흐름을 시작합니다.
-
시스템 변수 설정: 봇이 감지된 언어
System.User.Language를 에 할당합니다. - 동적 반응: 에이전트는 탐지된 언어로 대화를 계속하며 지식을 탐색하고 그에 따라 응답을 생성합니다.
혜택
- 개인화된 경험: 사용자가 수동 설정 없이 선호하는 언어로 상호작용합니다.
- 일관된 경험: 모든 응답과 지식 검색은 감지되거나 설정된 언어와 일치합니다.
- 확장 가능한 솔루션: 최소한의 구성으로 글로벌 배포를 지원합니다.
팁 (조언)
Copilot Studio 에이전트가 사용자의 음성 언어를 자동으로 감지하고 제작자가 승인한 언어 중 하나인 생성 응답용 언어 자동 감지 방식으로 전환하는 방법을 시연하는 샘플 솔루션을 검토해 보세요
현지화의 모범 사례
- 지원 언어 설정: 에이전트의 기본 및 보조 언어를 정의하세요. 현지화 파일(JSON 또는 ResX)을 사용해 프롬프트, 메시지, 주제에 대한 번역을 제공합니다.
- 다국어 시나리오 테스트: 다양한 언어로 사용자 상호작용을 시뮬레이션하여 원활한 전환과 정확한 응답을 보장합니다.
- 자동 번역 사용: 지식 검색과 답변 생성에는 Copilot Studio의 내장 번역을 신뢰하지만, 중요하거나 미묘한 내용에 대해서는 맞춤형 번역을 제공하세요.
- 모니터링 및 개선: 언어 사용을 추적하고 현지화 커버리지를 시간에 따라 개선하기 위해 분석 기능을 활용하세요.
Copilot Studio 에이전트 언어 접근법:
- 언어별로 별도의 에이전트가 있습니다.
- 사전 작성된 번역을 가진 단일 다국어 에이전트.
- 사용자와 에이전트 간 번역 서비스를 사용하는 실시간 다국어 에이전트.
적절한 접근법은 사용, 분리 문제, 규모, 업데이트 주기, 사용 가능한 자원에 따라 달라집니다.
확인된 기술적 도전 과제
일반적인 과제로는 Azure CLU와 Copilot Studio 주제가 동기화되도록 보장하고, 모호한 발언을 처리하며, 다국어 배포를 확장하는 것이 포함됩니다. 이러한 장애물을 조기에 발견하면 대체 구성, 트리거 구문의 대량 테스트, 릴레이 기반 번역 서비스 등 완화 전략을 계획할 수 있습니다.
언어 이해의 목표는 모든 에이전트가 사용자 쿼리를 정확히 해석하고, 다양한 언어와 상황에 적응하며, 예상치 못한 상황을 우아하게 처리할 수 있도록 하는 것입니다. 이 목표는 신뢰할 수 있고 흥미로우며 효율적인 Copilot Studio 대화를 구축하는 견고한 기반을 마련합니다.