상세 컨텐츠

본문 제목

[자연어처리][NLP] 1주차 강의 #3 Frame-based chatbot

딥러닝/자연어처리_학술대회

by grizzly 2025. 3. 7. 18:39

본문

여러 개의 frame을 정의

한 frame안에 여러 개의 slot, value가 존재함 -> 즉, slot 여러 개를 모아둔 것이 frame

 

주어진 slot의 값을 채워가는 것들 (slot filling)

chatbot이 명령에 맞는 응답을 함

 

slot을 채운 이후에 채워진 slot에 맞게 반응하는 것이 frame-based chatbot(slot 채우는 것이 중요)

-> 그렇다면 어떻게 작동을 할까

 

question을 전부 다 정의해둠 (slot을 채우기 위함)
-> 유저한테 question template를 통해 질문하여 채워 넣음
(초기의 메커니즘)
한계점 : 비슷한 내용의 질문을 계속하고, 계속 질문이 들어올 수 있음
질문에 맞는 rule을 정해두면 -> 반복적인 질문을 줄일 수 있음.
(condition action rule)

Multiple frames
도메인(예약 - 버스, 비행기,..., 등등)-> 안에서도 다를 수 있음

예) 시리, 빅스비 -> 모든 거를 다 할 줄 알아야 함. 알람(도메인), 전화(도메인) 구별지어주는 무언가가 있어야 함. 알람 - 전화 (다른 프레임) => slot이 다르고 다르게 보관해야 편함 (user input이 어떤 프레임에 연결되어있지? 연결해주는 알고리즘이 필요함)

input이 들어올 때 어떤 프레임에 가서 어떤 slot을 채울 지를 정해야 함

초기 : rule based 
-> 좀 더 체계화 (frame 구분, slot filling)
=> nlp application이 많음
- domain classification
- intent determination
- slot filling (중요)

ex) 여행갈거야 -> 여행 (domain) -> 호텔, 비행기, 택시 (intent)
(multiple frame -> 좀 더 세분화해서 진화)

 

Slot Filling - rule based, machine learning

rule based로 slot filiing

rule 정의 해둔 것 : semantic grammars

input -> parsing -> slot을 찾아간다 (dialogue system)

 

machine learning based slot filling

-> bio tagging

 

crf(조건부확률을 계속해서 알려줌)

intent -> cfg를 통해서 판단이 내려질 수 있다.

 

final action - response generate

text-based dialogue state architecture -> advanced frame based

 

실제 회사 commercial 어떻게 이용?

rule based 시작 -> 데이터모아서 -> 새로운 데이터 -> 학습에 이용 (학습에 라벨 데이터와의 비교를 통해서 가중치 업데이트? 아니면 input에 정말로 새로 사용? bootstrap)

state tracker가 있으면 기억을 하고 있기 때문에 성능이 좋아짐(쓸 때 없는 것을 물어보지 않아도 됨)

dialogue acts
- speech acts -> 유저가 원하는 정보가 뭔지를 파악하게 해줌
- 다음 스텝을 정해주는 길라잡이 (dialogue acts(speech acts, grounding을 한 번에 갖고 있음), speech acts 번갈아가며)
- = tag set


template 기반 text generation(general) -> 딥러닝 모델 기반로 변화

dialogue manager -> finite automata 로 만들 수 있음

tracker, policy 따로 가져간다

tracker의 역할

 

------------------> 1주차 마무리

 

 

 

 

 

 

 

관련글 더보기