IntentDialog class
사용자 의도를 식별하고 필요에 따라 사용자 발언에서 엔터티를 추출합니다.
- Extends
생성자
| Intent |
IntentDialog의 새 인스턴스를 생성합니다. |
메서드
| add |
라이브러리 내의 각 대화 상자에 대해 한 번 호출하여 해당 |
| begin<T>(Session, T) | 새 대화 세션이 시작될 때 호출됩니다. |
| begin |
트리거될 때마다 다른 대화 상자를 시작할 대화 상자에 작업을 바인딩합니다. 새 대화 상자가 스택에 푸시되므로 현재 작업이 자동으로 종료되지 않습니다. 새 대화 상자가 끝나면 현재 작업이 계속됩니다. 기본 제공 프롬프트가 발생하면 사용자에게 자동으로 다시 메시지를 표시하지만 기본 제공 프롬프트를 호출할 때 promptAfterAction 플래그를 설정하여 해당 동작을 사용하지 않도록 설정할 수 있습니다. |
| cancel |
트리거될 때마다 대화 상자를 취소하는 작업을 대화 상자에 바인딩합니다. 취소되면취소되었음을 나타내는 |
| clone(Action |
기존 ActionSet의 복제본을 반환합니다. |
| custom |
트리거될 때 전달된 onSelectAction 처리기를 호출하는 대화 상자에 사용자 지정 작업을 바인딩합니다. |
| dialog |
루트 대화 상자가 다른 대화에 의해 중단될 때 호출됩니다. 이렇게 하면 중단되는 대화 상자가 스택에서 제거되기 전에 사용자 지정 논리를 실행할 수 있습니다. 대화 상자 자체는 대화 스택을 지우고 새 대화 상자를 시작하는 역할을 합니다. |
| dialog |
자식 대화 상자가 종료되고 현재 대화 상자가 다시 시작됩니다. |
| end |
트리거될 때 사용자와의 대화를 종료하는 작업을 바인딩합니다. |
| find |
Library.findRoutes()에서 호출되는 스택의 각 대화 상자를 호출하여 사용자 발화에 의해 대화 동작이 트리거되는지 여부를 확인합니다. |
| matches(Reg |
사용자 발언에서 지정된 의도가 감지되면 처리기를 호출합니다.
|
| matches |
사용자 발언에서 지정된 의도가 검색되면 처리기를 호출합니다.
|
| on |
session.beginDialog()호출한 후 대화 상자가 처음 로드될 때 호출됩니다. 이렇게 하면 봇이 대화 상자에 전달된 인수를 처리할 수 있습니다. 처리기는 항상 |
| on |
사용자 의도와 일치하는 처리기가 없을 때 호출할 기본 처리기입니다.
|
| recognize(IRecognize |
사용자 발화를 구문 분석하고 0.0에서 1.0까지의 점수를 할당하여 대화 상자가 사용자 발화를 이해했는지를 나타냅니다. 이 메서드는 항상 스택의 활성 대화 상자에 대해 호출됩니다. 점수가 1.0이면 완벽한 일치를 나타내고 추가 인식을 종료합니다.
점수가 1.0보다 작으면 스택의 모든 대화 상자에는 recognizeAction() 메서드가 호출되어 사용자 발언과 더 잘 일치하는 대화 상자에 바인딩된 명명된 작업이 있는지 확인합니다. 봇 수준에서 등록된 전역 작업도 평가됩니다. 대화 상자에 점수가 더 높은 경우 바인딩된 동작이 있으면 recognize() 호출에서 반환된 결과 개체를 사용하여 replyReceived() 메서드에 점수가 더 높은 작업이 있는 경우 대화 상자는 replyReceived() 메서드 대신 동작이 호출됩니다. 대화 상자는 스택에 유지되며 작업이 새 대화 상자를 호출하는 경우 언제든지 다시 시작될 수 있으므로 대화 상자에서 dialogResumed()대한 예기치 않은 호출을 준비해야 합니다. |
| recognizer(IIntent |
의도 대화 상자에 새 인식기 플러그 인을 추가합니다. |
| reload |
트리거될 때마다 대화 상자가 다시 로드되도록 하는 작업을 대화 상자에 바인딩합니다. 이는 "다시 시작"과 같은 사용자 발언을 처리하는 논리를 구현하는 데 유용합니다. |
| reply |
사용자로부터 받은 메시지를 처리합니다. 대화 시스템에서 호출됩니다. |
| select |
발화에 대한 신뢰도 점수가 가장 높은 경로를 선택합니다. |
| trigger |
트리거될 때마다 활성 대화 상자로 만드는 작업을 대화 상자에 바인딩합니다.
기본 동작은 스택을 지우고 스택의 루트에서 대화 상자를 시작하여 기존 대화 상자를 상호 결합하는 것입니다. 중단되는 대화 상자는 중단된 처리기의 사용자 지정 |
생성자 세부 정보
IntentDialog(IIntentDialogOptions)
IntentDialog의 새 인스턴스를 생성합니다.
new IntentDialog(options?: IIntentDialogOptions)
매개 변수
- options
- IIntentDialogOptions
(선택 사항) 대화 상자를 초기화하는 데 사용되는 옵션입니다.
메서드 세부 정보
addDialogTrigger(ActionSet, string)
라이브러리 내의 각 대화 상자에 대해 한 번 호출하여 해당 triggerAction() 라이브러리 전역 작업 집합에 추가할 수 있는 기회를 제공합니다. 이러한 트리거는 트리거 조건이 충족되면 대화 상자를 시작하는 beginDialogAction() 매핑됩니다.
function addDialogTrigger(actions: ActionSet, dialogId: string)
매개 변수
- actions
- ActionSet
라이브러리 전역 작업 집합입니다.
- dialogId
-
string
트리거할 대화 상자의 정규화된 ID입니다.
begin<T>(Session, T)
새 대화 세션이 시작될 때 호출됩니다.
function begin<T>(session: Session, args?: T)
매개 변수
- session
- Session
현재 대화의 세션 개체입니다.
- args
-
T
(선택 사항) 부모가 대화 상자에 전달한 인수입니다.
beginDialogAction(string, string, IBeginDialogActionOptions)
트리거될 때마다 다른 대화 상자를 시작할 대화 상자에 작업을 바인딩합니다. 새 대화 상자가 스택에 푸시되므로 현재 작업이 자동으로 종료되지 않습니다. 새 대화 상자가 끝나면 현재 작업이 계속됩니다. 기본 제공 프롬프트가 발생하면 사용자에게 자동으로 다시 메시지를 표시하지만 기본 제공 프롬프트를 호출할 때 promptAfterAction 플래그를 설정하여 해당 동작을 사용하지 않도록 설정할 수 있습니다.
function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)
매개 변수
- name
-
string
작업을 할당할 고유 이름입니다.
- id
-
string
시작할 대화 상자의 ID입니다.
- options
- IBeginDialogActionOptions
(선택 사항) 작업을 구성하는 데 사용되는 옵션입니다. 일치 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하도록 수신 대기합니다. 그렇지 않으면 작업을 트리거하기 위해 CardAction.dialogAction() 사용하여 단추에 작업을 바인딩해야 합니다. dialogArgs 사용하여 시작 중인 대화 상자에 추가 매개 변수를 전달할 수도 있습니다.
반환
cancelAction(string, TextOrMessageType, ICancelActionOptions)
트리거될 때마다 대화 상자를 취소하는 작업을 대화 상자에 바인딩합니다. 취소되면취소되었음을 나타내는
function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
매개 변수
- name
-
string
작업을 할당할 고유 이름입니다.
(선택 사항) 대화 상자를 취소하기 전에 사용자를 보내는 메시지입니다.
- options
- ICancelActionOptions
(선택 사항) 작업을 구성하는 데 사용되는 옵션입니다. 일치 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하도록 수신 대기합니다. 그렇지 않으면 작업을 트리거하기 위해 CardAction.dialogAction() 사용하여 단추에 작업을 바인딩해야 합니다.
반환
clone(ActionSet)
기존 ActionSet의 복제본을 반환합니다.
function clone(copyTo?: ActionSet)
매개 변수
- copyTo
- ActionSet
(선택 사항) 현재 개체를 복사할 인스턴스입니다. 누락된 경우 새 인스턴스가 만들어집니다.
반환
customAction(IDialogActionOptions)
트리거될 때 전달된 onSelectAction 처리기를 호출하는 대화 상자에 사용자 지정 작업을 바인딩합니다.
function customAction(options: IDialogActionOptions)
매개 변수
- options
- IDialogActionOptions
작업을 구성하는 데 사용되는 옵션입니다. 일치하는 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하는 것을 수신 대기합니다. onFindAction사용하여 사용자 지정 일치 논리를 제공할 수 있습니다.
반환
dialogInterrupted(Session, string, any)
루트 대화 상자가 다른 대화에 의해 중단될 때 호출됩니다. 이렇게 하면 중단되는 대화 상자가 스택에서 제거되기 전에 사용자 지정 논리를 실행할 수 있습니다. 대화 상자 자체는 대화 스택을 지우고 새 대화 상자를 시작하는 역할을 합니다.
function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)
매개 변수
- session
- Session
현재 대화의 세션 개체입니다.
- dialogId
-
string
시작해야 하는 대화 상자의 ID입니다.
- dialogArgs
-
any
새 대화 상자에 전달되어야 하는 인수입니다.
dialogResumed<T>(Session, IDialogResult<T>)
자식 대화 상자가 종료되고 현재 대화 상자가 다시 시작됩니다.
function dialogResumed<T>(session: Session, result: IDialogResult<T>)
매개 변수
- session
- Session
현재 대화의 세션 개체입니다.
- result
자식 대화 상자에서 반환된 결과입니다.
endConversationAction(string, TextOrMessageType, ICancelActionOptions)
트리거될 때 사용자와의 대화를 종료하는 작업을 바인딩합니다.
function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
매개 변수
- name
-
string
작업을 할당할 고유 이름입니다.
(선택 사항) 대화를 종료하기 전에 사용자를 보내는 메시지입니다.
- options
- ICancelActionOptions
(선택 사항) 작업을 구성하는 데 사용되는 옵션입니다. 일치 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하도록 수신 대기합니다. 그렇지 않으면 작업을 트리거하기 위해 CardAction.dialogAction() 사용하여 단추에 작업을 바인딩해야 합니다.
반환
findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)
Library.findRoutes()에서 호출되는 스택의 각 대화 상자를 호출하여 사용자 발화에 의해 대화 동작이 트리거되는지 여부를 확인합니다.
function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)
매개 변수
- context
- IRecognizeDialogContext
수신 메시지의 컨텍스트와 평가된 대화에 대한 dialogData.
- callback
-
(err: Error, results: IRouteResult[]) => void
상위 후보 경로를 사용하여 호출하는 함수입니다.
matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)
사용자 발언에서 지정된 의도가 감지되면 처리기를 호출합니다.
참고: 검색된 엔터티에 & 의도 목록을 포함하여 일치 항목의 전체 세부 정보는 시작된 첫 번째 폭포 단계 또는 대화 상자의 인수 전달됩니다.
function matches(intent: RegExp | string, dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)
매개 변수
- intent
-
RegExp | string
- 의도:{RegExp} - 사용자 의도를 검색하기 위해 평가되는 정규식입니다.
- 의도:{string} - 사용자 의도와 일치하는 데 사용할 IIntentRecognizer 플러그 인에서 반환된 명명된 의도입니다.
- dialogId
-
string | IDialogWaterfallStep[] | IDialogWaterfallStep
- dialogId: _{string} - 의도가 일치할 때 시작할 대화 상자의 ID입니다.
- dialogId:{IDialogWaterfallStep[]} - 의도가 일치할 때 실행할 단계의 폭포입니다.
- dialogId:{IDialogWaterfallStep} - 의도가 일치할 때 실행할 단일 단계 폭포입니다. 기본 제공 프롬프트를 호출하거나 새 대화 상자를 시작하면 자식 프롬프트/대화가 완료되면 현재 대화 상자가 종료됩니다.
- dialogArgs
-
any
(선택 사항) dialogId{string}때 시작된 대화 상자를 전달하는 인수입니다.
반환
matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)
사용자 발언에서 지정된 의도가 검색되면 처리기를 호출합니다.
참고: 검색된 엔터티에 & 의도 목록을 포함하여 일치 항목의 전체 세부 정보는 시작된 첫 번째 폭포 단계 또는 대화 상자의 인수 전달됩니다.
function matchesAny(intent: RegExp[] | string[], dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)
매개 변수
- intent
-
RegExp[] | string[]
- 의도:{RegExp[]} - 사용자 의도를 검색하기 위해 평가될 정규식 배열입니다.
- 의도:{string[]} - 사용자 의도와 일치하는 데 사용할 IIntentRecognizer 플러그 인에서 반환된 명명된 의도의 배열입니다.
- dialogId
-
string | IDialogWaterfallStep[] | IDialogWaterfallStep
- dialogId: _{string} - 의도가 일치할 때 시작할 대화 상자의 ID입니다.
- dialogId:{IDialogWaterfallStep[]} - 의도가 일치할 때 실행할 단계의 폭포입니다.
- dialogId:{IDialogWaterfallStep} - 의도가 일치할 때 실행할 단일 단계 폭포입니다. 기본 제공 프롬프트를 호출하거나 새 대화 상자를 시작하면 자식 프롬프트/대화가 완료되면 현재 대화 상자가 종료됩니다.
- dialogArgs
-
any
(선택 사항) dialogId{string}때 시작된 대화 상자를 전달하는 인수입니다.
반환
onBegin((session: Session, args: any, next: () => void) => void)
session.beginDialog()호출한 후 대화 상자가 처음 로드될 때 호출됩니다. 이렇게 하면 봇이 대화 상자에 전달된 인수를 처리할 수 있습니다. 처리기는 항상 next() 함수를 호출하여 대화 상자 주 논리의 실행을 계속해야 합니다.
function onBegin(handler: (session: Session, args: any, next: () => void) => void)
매개 변수
- handler
-
(session: Session, args: any, next: () => void) => void
대화 상자가 시작될 때 호출하는 함수입니다.
반환
onDefault(string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)
사용자 의도와 일치하는 처리기가 없을 때 호출할 기본 처리기입니다.
참고: 검색된 엔터티에 & 의도 목록을 포함하여 인식 시도의 전체 세부 정보는 시작된 첫 번째 폭포 단계 또는 대화 상자의인수에 전달됩니다.
function onDefault(dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)
매개 변수
- dialogId
-
string | IDialogWaterfallStep[] | IDialogWaterfallStep
- dialogId: _{string} - 시작할 대화 상자의 ID입니다.
- dialogId:{IDialogWaterfallStep[]} - 실행할 단계의 폭포입니다.
- dialogId:{IDialogWaterfallStep} - 실행할 단일 단계 폭포입니다. 기본 제공 프롬프트를 호출하거나 새 대화 상자를 시작하면 자식 프롬프트/대화가 완료되면 현재 대화 상자가 종료됩니다.
- dialogArgs
-
any
(선택 사항) dialogId{string}때 시작된 대화 상자를 전달하는 인수입니다.
반환
recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)
사용자 발화를 구문 분석하고 0.0에서 1.0까지의 점수를 할당하여 대화 상자가 사용자 발화를 이해했는지를 나타냅니다. 이 메서드는 항상 스택의 활성 대화 상자에 대해 호출됩니다. 점수가 1.0이면 완벽한 일치를 나타내고 추가 인식을 종료합니다.
점수가 1.0보다 작으면 스택의 모든 대화 상자에는 recognizeAction() 메서드가 호출되어 사용자 발언과 더 잘 일치하는 대화 상자에 바인딩된 명명된 작업이 있는지 확인합니다. 봇 수준에서 등록된 전역 작업도 평가됩니다. 대화 상자에 점수가 더 높은 경우 바인딩된 동작이 있으면 recognize() 호출에서 반환된 결과 개체를 사용하여 replyReceived() 메서드에
점수가 더 높은 작업이 있는 경우 대화 상자는 replyReceived() 메서드 대신 동작이 호출됩니다. 대화 상자는 스택에 유지되며 작업이 새 대화 상자를 호출하는 경우 언제든지 다시 시작될 수 있으므로 대화 상자에서 dialogResumed()대한 예기치 않은 호출을 준비해야 합니다.
function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)
매개 변수
- context
- IRecognizeDialogContext
요청의 컨텍스트입니다.
- callback
-
(err: Error, result: IRecognizeResult) => void
인식 결과를 사용하여 호출하는 함수입니다.
recognizer(IIntentRecognizer)
의도 대화 상자에 새 인식기 플러그 인을 추가합니다.
function recognizer(plugin: IIntentRecognizer)
매개 변수
- plugin
- IIntentRecognizer
추가할 인식기입니다.
반환
reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)
트리거될 때마다 대화 상자가 다시 로드되도록 하는 작업을 대화 상자에 바인딩합니다. 이는 "다시 시작"과 같은 사용자 발언을 처리하는 논리를 구현하는 데 유용합니다.
function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)
매개 변수
- name
-
string
작업을 할당할 고유 이름입니다.
(선택 사항) 대화 상자를 다시 로드하기 전에 사용자를 보내는 메시지입니다.
- options
- IBeginDialogActionOptions
(선택 사항) 작업을 구성하는 데 사용되는 옵션입니다. 일치 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하도록 수신 대기합니다. 그렇지 않으면 작업을 트리거하기 위해 CardAction.dialogAction() 사용하여 단추에 작업을 바인딩해야 합니다. dialogArgs 사용하여 다시 로드할 때 대화 상자에 추가 매개 변수를 전달할 수도 있습니다.
반환
replyReceived(Session, IRecognizeResult)
사용자로부터 받은 메시지를 처리합니다. 대화 시스템에서 호출됩니다.
function replyReceived(session: Session, recognizeResult?: IRecognizeResult)
매개 변수
- session
- Session
현재 대화의 세션 개체입니다.
- recognizeResult
- IRecognizeResult
selectActionRoute(Session, IRouteResult)
발화에 대한 신뢰도 점수가 가장 높은 경로를 선택합니다.
function selectActionRoute(session: Session, route: IRouteResult)
매개 변수
- session
- Session
현재 대화의 세션 개체입니다.
- route
- IRouteResult
findActionRoutes()
triggerAction(ITriggerActionOptions)
트리거될 때마다 활성 대화 상자로 만드는 작업을 대화 상자에 바인딩합니다.
기본 동작은 스택을 지우고 스택의 루트에서 대화 상자를 시작하여 기존 대화 상자를 상호 결합하는 것입니다. 중단되는 대화 상자는 중단된 처리기의 사용자 지정
function triggerAction(options: ITriggerActionOptions)
매개 변수
- options
- ITriggerActionOptions
작업을 구성하는 데 사용되는 옵션입니다.