본문 바로가기

AI

[NLP] Finite State Dialogue Manager(FSDM)

대화를 미리 정해진 상태(State)들을 따라 흐르게 하는 방식

  • State: 정해진 질문
  • Edge: 사용자 응답에 따라 수행할 작업

  • Pros: 설계가 간단하다. 에러 처리가 쉽다.
  • Cons: 자유도가 낮다. 대화가 유연하지 않다.

그래서 우리는 Dialogue State Traker & Dialogue Policy를 사용한다.

  • Dialogue State Traker(DST)는?
    • 현재까지 대화에서 사용자가 제공한 정보를 기억하고 관리하는 컴포넌트이다.
    • 즉 사용자가 뭘 요청했는지, 어떤 정보를 이미 줬는지, 어떤 슬롯이 아직 비어있는지를 계속 추적한다.
  • Dialogue Policy는?
    • System이 다음으로 어떤 Action을 취해야하는지 결정하는 규칙이다. ex)질문 다시하기, 정보 제공, 대화 종료
    • 이 결정은 DST가 추적한 대화 상태를 기반으로 한다.
    • 턴 i에서 시스템은 어떤 행동 Ai를 해야할지 결정해야 한다. 이때 가능한 모든 행동 중에서, 현재까지의 모든 대화 상태를 고려해 가장 확률이 높은 행동을 선택해야 한다. argmax P(Ai | A1, U1, ... Ai-1, Ui-1)
  • 요런 확률을 어떻게 추정할까?
    • Neural Classifier (신경망 분류기): 슬롯 필러와 발화를 벡터로 표현한 후, 이를 입력으로 하는 분류기를 학습시켜 다음 행동의 확률 예측
    • Reinforcement Learning (강화학습): 대화가 종료되었을 때 시스템이 보상을 받고, 그 보상을 기준으로 Policy를 학습해, 가장 좋은 행동 순서를 찾음. 보상ex) 슬롯을 다 채우면 보상, 모두 틀리면 패널티 등

'AI' 카테고리의 다른 글

[NLP] Text Tokenization & Edit Distance  (0) 2025.04.18
[NLP] Text Preprocessing  (0) 2025.04.17
[NLP] Chatbot and NLU  (0) 2025.04.17
[NLP] 시작  (5) 2025.04.16
Transformer  (0) 2024.12.16