업무/챗봇 (Rasa 2.x)
[Rasa] config.yml 파일 설정 _pipeline, policies (Fallback 커스텀 액션)
phyho
2024. 7. 24. 10:27
* config.yml 파일 설정
[ pipeline ]
nlu 레벨에서 사용자 입력을 처리하고 이해하는 과정에서 어떤 구성 요소를 사용할 지 결정.
사용자의 입력을 분석하고 이해하는 단계. (NLU 데이터 및 Confidence 기반)
사용자입력값 --> 인텐트, 엔티티 추출
(주요구성요소)
- Tokenizer: 입력 문장을 토큰 단위로 분리
- Featurizer: 텍스트를 숫자형 벡터로 변환
- Intent Classifier: 사용자의 의도를 분류
- Entity Extractor: 텍스트에서 엔티티(명사구 등)를 추출
- FallbackClassifier: NLU 모델이 입력을 이해하지 못했을 때 fallback 처리
=> 토크나이저, 피처라이저, 인텐트 분류기, 엔티티 추출기 등 텍스트 처리 관련 구성요소.
[ policies ] _대화 정책 설정
core 레벨에서 대화의 흐름을 정의하고, 어떤 액션을 실행할지 결정.
사용자의 의도와 대화 상태를 바탕으로 대화 흐름을 관리. (Rule, Story, Policy 기반)
NLU(인텐트, 엔티티) + 대화상태 --> 실행할액션, 메시지출력, 규칙적용
(주요구성요소)
- MemoizationPolicy: 과거의 대화 기록을 바탕으로 다음 액션을 예측
- TEDPolicy: 트랜스포머 기반의 모델로, 대화의 맥락을 이해하여 다음 액션을 예측
- RulePolicy: 명시적인 규칙을 기반으로 다음 액션을 결정
- FallbackPolicy: Core 레벨에서 fallback을 처리
=> 과거 대화 기록, 규칙 기반 예측, 트랜스포머 모델 등을 통해 대화의 다음 단계를 예측하는 구성요소.
파이프라인 설정 => 사용자의 입력을 처리하고 이해하여 인텐트&엔티티 추출
대화 정책 설정 => 추출된 인텐트&엔티티를 바탕으로 대화의 흐름을 결정하고, 다음 실행 액션을 예측.