[RASA] policy 정리

2023. 12. 15. 15:12파이썬/자연어 처리

rasa policy 우선 순위

1위  RulePolicy
2위  MemoizationPolicy 혹은 AugmentedMemoizationPolicy
3위 UnexpecTEDIntentPolicy
4위 TEDPolicy

cf) 동일한 순위에 우선순위를 가진 2개의 정책이 동일한 신뢰도로 예측하는 경우 무작위 !

우선순위 변경은 가능하지만 권장하지 않는다.

1.TEDPolicy
-TED: Transfommer Embedding Dialogue
-순서
1.사용자 입력 텍스틀를 받아드려 1개의 백터로 바꾼다(대화 연결)
2.1개로 변환한 백터를 Transformer에 인코더로 전달
3.결과를 얻기 위해 dense layer를 이용
cf)dense layer - FC레이어로 불리며, 인공 신경망 중간층(hidden layer)에 사용을 많이 한다.
   특징: 경사하강법,역전파를 통해 0으로 수렴하는 문제 해결
end to end 방식으로 입력과 출력층에 연결이 강력하게 이루어져 데이터 손실이 적음
파라미터를 공유한다.

4. 대화 임베딩과 임베드된 시스템간에 유사성을 계산 
StarSpace를 이용

5. 엔터티 출력을 위해 CRF 알고리즘 적용

Parameter
epochs: 정방향, 역방향을 1세트로 반복 횟수 (default: 1)
max_history : 대화 기록의 양 (default: None - 세션이 끊기면 초기화)
constrain_similarities - 유사한 용어에 시그모이드 검증이 적용된다. 
use_gpu : 학습시 gpu를 사용할지 말지 (default:True)



2. UnexpecTED Intent Policy
- 보조 정책
- 반드지 다른 정책과 같이 사용해야한다.
- action_unlikely_intent에 반응하는 정책
- TEDPolicy와 같은 모델
- 차이점: 작업 수준 
- TED는 다음 트리거가 될 가장 적합한 작업을 학습 하고, 
- UnexpecTED는 대화 문맥을 고려해 사용자가 표현할 가능성이 높은 의도 세트를 학습


3.Memorization Policy
- story.yml에 기록된 내용를 기억하는 정책
-  질문이 story.yml에 있으면 confidence_score를 1  / 없다면 0을 반환







728x90