적응형 대화의 인식기 - 참조 가이드Recognizers in adaptive dialogs - reference guide

적용 대상: SDK v4APPLIES TO: SDK v4

인식기를 사용하면 봇이 사용자 입력을 이해할 수 있으며 적응형 대화 상자에 하나 이상의 인식기를 구성할 수 있습니다.Recognizers enable your bot to understand user input and an adaptive dialog can have one or more recognizers configured. 인식자에 대한 자세한 내용은 작성기 설명서의 언어 이해 문서를 참조하세요.For additional information on recognizers see the Language understanding article in the Composer documentation.

RegexRecognizerRegexRecognizer

RegEx 인식기 는 정규식 패턴을 기반으로 하여 발화에서 의도 및 엔터티 데이터를 추출하는 기능을 제공합니다.The RegEx recognizer gives you the ability to extract intent and entity data from an utterance based on regular expression patterns.

RegexRecognizer 는 주로 다음으로 구성됩니다.RegexRecognizer consists primarily of:

  • Intents.Intents. Intents 개체는 IntentPattern 개체의 목록을 포함하며, 이러한 IntentPattern 개체는 의도 이름인 Intent 속성 및 의도를 결정하기 위해 발화를 구문 분석하는 데 사용되는 정규식을 포함하는 Pattern 속성으로 구성됩니다.The Intents object contains a list of IntentPattern objects and these IntentPattern objects consist of an Intent property which is the name of the intent, and a Pattern property that contains a regular expression used to parse the utterance to determine intent.
  • Entities.Entities. Entities 개체는 EntityRecognizer 개체의 목록을 포함합니다.The Entities object contains a list of EntityRecognizer objects. Bot Framework SDK는 사용자 발화에 포함된 엔터티를 결정하는 데 도움이 되는 몇 가지 EntityRecognizer 클래스를 정의합니다.The Bot Framework SDK defines several EntityRecognizer classes to help you determine the entities contained in a users utterance:
    • AgeEntityRecognizer
    • ConfirmationEntityRecognizer
    • CurrencyEntityRecognizer
    • DateTimeEntityRecognizer
    • DimensionEntityRecognizer
    • EmailEntityRecognizer
    • EntityRecognizer
    • EntityRecognizerSet
    • GuidEntityRecognizer
    • HashtagEntityRecognizer
    • IpEntityRecognizer
    • MentionEntityRecognizer
    • NumberEntityRecognizer
    • NumberRangeEntityRecognizer
    • OrdinalEntityRecognizer
    • PercentageEntityRecognizer
    • PhoneNumberEntityRecognizer
    • RegExEntityRecognizer
    • TemperatureEntityRecognizer
    • TextEntity
    • TextEntityRecognizer
    • UrlEntityRecognizer

  • 입력 발화가 정의된 의도와 일치하지 않으면 RegexRecognizer에서 '없음' 의도를 내보냅니다.RegexRecognizer will emit a 'None' intent when the input utterance does not match any defined intent. 이 시나리오를 처리하기 위해 Intent = "None"을 사용하여 OnIntent 트리거를 만들 수 있습니다.You can create an OnIntent trigger with Intent = "None" to handle this scenario.
  • RegexRecognizer는 테스트 및 빠른 프로토타입 생성에 유용합니다.RegexRecognizer is useful for testing and quick prototyping. 더 정교한 봇의 경우 LUIS 인식기를 사용하는 것이 좋습니다.For more sophisticated bots we recommend using the LUIS recognizer.
  • 정규식 언어(RegEx) 빠른 참조가 유용할 수 있습니다.You might find the regular expression language (RegEx) Quick Reference helpful.

기본 인식기Default recognizer

다음 인식기를 바꾸기 위해 기본 인식기를 만들었습니다.The default recognizer was created to replace the following recognizers:

  • 없음 - 인식기를 사용하지 않습니다.None - do not use recognizer.
  • LUIS 인식기 - 정의된 LUIS 애플리케이션을 기반으로 사용자의 발화에서 의도 및 엔터티를 추출합니다.LUIS recognizer - to extract intents and entities from a user's utterance based on the defined LUIS application.
  • QnA Maker 인식기 - 정의된 QnAMaker 애플리케이션을 기반으로 사용자의 발화에서 의도를 추출합니다.QnA Maker recognizer - to extract intents from a user's utterance based on the defined QnAMaker application.
  • 교차 학습된 인식기 집합 - 두 개 이상의 인식기에서 인식 결과를 비교하여 인정을 결정합니다.Cross-trained recognizer set - to compare recognition results from more than one recognizer to decide a winner.

LUIS 인식기LUIS recognizer

LUIS(Language Understanding Intelligent Service)는 사용자 지정 기계 학습 인텔리전스를 사용자의 대화형 자연어 텍스트에 적용하여 전체 의미를 예측하고 관련된 세부 정보를 가져오는 클라우드 기반 API 서비스입니다.Language Understanding Intelligent Service (LUIS) is a cloud-based API service that applies custom machine-learning intelligence to a user's conversational, natural language text to predict overall meaning, and pull out relevant, detailed information. LUIS 인식기를 사용하면 미리 학습한 정의된 LUIS 애플리케이션을 기반으로 하여 사용자 발화에서 의도와 엔터티를 추출할 수 있습니다.The LUIS recognizer enables you to extract intents and entities from a users utterance based on the defined LUIS application, which you train in advance.

LUIS를 사용하여 LU(언어 이해)를 봇에 통합하는 방법에 대해 자세히 알아보는 데 도움이 되는 정보는 다음과 같습니다.The following information will help you learn more about how to incorporate language understanding (LU) into your bot using LUIS:

  • LUIS.ai - 자연어 기능을 봇에 구축할 수 있는 기계 학습 기반 서비스입니다.LUIS.ai is a machine learning-based service that enables you to build natural language capabilities into your bot.

QnA Maker 인식기QnA Maker Recognizer

QnAMaker.ai는 기존 콘텐츠(문서, URL, PDF 등)에서 다양한 질문-대답 쌍을 만들 수 있도록 하는 Microsoft Cognitive Services 중 하나입니다.QnAMaker.ai is one of the Microsoft Cognitive Services that enables you to create rich question-answer pairs from existing content - documents, URLs, PDFs, and so on. QnA Maker 인식기를 사용하여 서비스와 통합할 수 있습니다.You can use the QnA Maker recognizer to integrate with the service.

참고

QnA Maker 인식기에서 OnQnAMatch 트리거를 사용하여 처리할 수 있는 QnAMatch 이벤트를 내보냅니다.QnA Maker Recognizer will emit a QnAMatchevent which you can handle with an OnQnAMatch trigger. 전체 QnA Maker 응답은 answer 속성에서 사용할 수 있습니다.The entire QnA Maker response will be available in the answer property.

Orchestrator 인식기Orchestrator recognizer

Orchestrator는 대화형 AI 애플리케이션에 최적화된 언어 이해 솔루션입니다.Orchestrator is a language understanding solution optimized for conversational AI applications. 2018년에 도입된 Bot Framework 디스패처를 대체합니다.It is a replacement of the Bot Framework Dispatcher, introduced in 2018. Orchestrator 인식기를 사용하면 LUIS 또는 QnA Maker 같은 적절한 기술 또는 인식기로 라우팅하는 데 사용할 수 있는 사용자 발언에서 의도를 추출할 수 있습니다.The Orchestrator recognizer enables you to extract an intent from a users utterance, which could be used to route to an appropriate skill or recognizer, such as LUIS or QnA Maker.

다음 정보는 Orchestrator를 사용하여 언어 이해를 봇에 통합하는 방법에 대해 자세히 알아보는 데 도움이 됩니다.The following information will help you learn more about how to incorporate language understanding into your bot using Orchestrator:

다중 언어 인식기Multi-language recognizer

정교한 다국어 봇을 빌드하는 경우 일반적으로 하나의 인식기가 특정 언어 및 로캘에 연결됩니다.When building a sophisticated multi-lingual bot, you will typically have one recognizer tied to a specific language and locale. 다중 언어 인식기를 사용하면 사용자로부터 들어오는 활동에 대한 locale 속성을 기반으로 하여 사용할 인식기를 쉽게 지정할 수 있습니다.The Multi-language recognizer enables you to easily specify the recognizer to use based on the locale property on the incoming activity from a user.

자세한 내용은 작성기 설명서의 다국어 지원 문서를 참조하세요.For information see the Multilingual support article in the Composer documentation.

인식기 세트Recognizer set

대화의 모든 턴에서 둘 이상의 인식기를 실행해야 하는 경우도 있을 수 있습니다.Sometimes you might need to run more than one recognizer on every turn of the conversation. 이 작업은 인식기 세트에서 정확히 수행합니다.The recognizer set does exactly that. 모든 인식기는 대화의 각 턴에서 실행되며, 결과는 모든 인식 결과의 합집합입니다.All recognizers are run on each turn of the conversation and the result is a union of all recognition results.

교차 학습된 인식기 세트Cross-trained recognizer set

교차 학습된 인식기 세트는 둘 이상의 인식기에서 인식한 결과를 비교하여 승자를 결정합니다.The cross-trained recognizer set compares recognition results from more than one recognizer to decide a winner. 인식기 컬렉션이 지정되면 교차 학습된 인식기에서는 다음을 수행합니다.Given a collection of recognizers, the cross-trained recognizer will:

  • 다른 모든 인식기에서 단일 인식기의 인식을 연기하는 경우 인식기 중 하나의 인식 결과를 승격합니다.Promote the recognition result of one of the recognizer if all other recognizers defer recognition to a single recognizer. 인식을 연기시키기 위해 인식기에서 None 의도 또는 명시적 DeferToRecognizer_recognizerId를 의도로 반환할 수 있습니다.To defer recognition, a recognizer can return the None intent or an explicit DeferToRecognizer_recognizerId as intent.
  • OnChooseIntent코드에서 사용할 인식 결과를 선택할 수 있도록 이벤트를 발생합니다.Raise an OnChooseIntent event to allow your code to choose which recognition result to use. 각 인식기의 결과는 turn.recognized.candidates 속성을 통해 반환됩니다.Each recognizer's results are returned via the turn.recognized.candidates property. 이렇게 하면 가장 적합한 결과를 선택할 수 있습니다.This enables you to choose the most appropriate result.

추가 정보Additional Information