TripPy Paper review
이전 리뷰 -> TOD, DST 설명
introductionPermalink
Task-Orientation Dialog system의 구성 요소중에 DST 단계가 있다. DST를 위한 논문.
현재 기준 Multi-domain DST 3위 모델
DST는 대화중에 계속 달라지는 slot의 값을 Tracking해서 대화 끝에 나오는 최종적인 해당 slot를 추출하는 Task이다.
본 논문에서는 DST를 위한 다양한 Copy mechanism을 사용하는 새로운 방법론을 제시.
Slot은 3가지의 copy mechanism중 하나로 채워진다.
- Span Prediction -> 현재 대화에서 바로 추출할 수 있음.
- System imform memory -> System의 inform을 Tracking하는 system imform memory에서 값을 복사해서 사용할 수 있음.
- DS Memory -> Domain 내에 Domain 간의 coreference와 value sharing problems을 해결하기 위해 이미 채워진 다른 Slot값을 복사해서 현재 Slot에 채울 수 있다. (이미 존재하는 slot을 사용해서 새로운 slot을 추론하는 방법)
이 접근 방식은 Span-based 방식의 slot filling의 장점과 메모리에서 copy하는 방법을 사용
이 방법론은 System imform memory와 DS Memory(이전에 본 슬롯)에 대한 두 개의 메모리를 즉석에서 생성하고 유지해서 위의 2, 3번의 값을 채울 수 있다.
이전 방식들은 slot-value 값을 고정시켜서 해당하는 slot을 추출하는 방식으로 진행을 해왔지만 이런 방식은 고정된 데이터안에서만 높은 성능을 낼 수 있다.
이를 더 복잡한 데이터 안에 넣게 되면 다양한 한계점이 드러난다.
- 작업에 대한 완전한 slot-value값을 고정시키기 어렵다.
- 고정시킨 slot-value값 밖에 있는 다른 slot-value들은 추출하지 못한다.
- 이러한 방법론은 고정시킨 slot-value값의 데이터 크기와 성능이 선형적으로 확장된다.(비례한다)
실제 대화는 무수히 많은 어휘들과 slot-value값을 가질 수 있기 때문이다.
Model ArchitecturePermalink
요약Permalink
BERT의 인코더 방식을 사용하고 output에 θspan = Span prediction layer(Gate), θgate = Slot gate,
θbgate = binary slot gate, θrefer = Coreference gate 를 달아 각각의 Copy mechanism을 수행 하며
ainformt = sysytem inform memory와 adst = DS(domain slot) memory을 현재 상황정보를 보존할수 있는 Auxiliary input으로 사용한다.
Context EncoderPermalink
BERT의 인코더 방식을 사용하였다.
Rt=BERT([CLS])⊕Ut⊕[SEP]⊕Mt⊕[SEP]⊕Ht⊕[SEP])Ht=(Ut−1,Mt−1),…,(U1,M1) -> dialog history, t = turn
U = User utterance, M = System utterance
Rt=[rCLSt,r1t,…,rseqmaxt] -> BERT인코딩결과
rCLSt = 한 턴의 모든 context의 representation을 담고있음
r1t,…,rseqmaxt 각 sequence의 input token에 대한 representation이 담겨있음
이 representation 결과를 이용해서 slot에 대한 classification 할 수 있음.
Slot GatesPermalink
C = Slot Class
C=none,doncate,span,inform,refer
- none = 슬롯이 없는것
- dontcare = slot에 대한 모든값 허용
- span = span prediction값으로 예측
- inform = system inform memory값 사용
- refer = DS memory값 사용
Slot gates 수식
softmax(Wgates⋅rCLSt+bgates)∈R5Binary Slot gate 수식
softmax(Wbgates⋅rCLSt+bbgates)∈R4System Inform Memory for Value PredictionPermalink
system inform memery = system에서 원하는 slot이 나왔을경우 이를 복사해서 사용
It=I1t,…,INt
slot gate 가 inform으로 prediction시에 DSst=Ist값으로 copy후 사용
DS Memory for Coreference ResolutionPermalink
DS Memory = 대화중에 도메인의 변경이 있을 시 다른 슬롯에 할당된 값을 copy후 사용
copy하는 다른 slot에 대한 확률분포는
prefert,s(rCLSt)=softmax(Wsrefer⋅rCLSt+(bsrefer)∈RN+1copy값이 중복이 되거나 copy값이 없을 시 none 반환
Auxiliary FeaturesPermalink
최근 연구 방향은 상황 정보를 보존하기 위해 보조 입력을 사용한다
system imform memory, DS memory 기반으로 보조 입력을 생성한다.
ainformt은 system imform memory를 언제 copy해서 사용했는지
adst은 DS memory를 사용했는데 slot이 이미 채워져 있는것을 나타낸다.
pgatet,s(ˆrCLSt),pbgatet,s(ˆrCLSt),prefert,s(ˆrCLSt) 위의 친구들의 (ˆrCLSt) 부분에 추가로 보조입력들을 추가로 더해 학습하게 된다. (BERT의 출력에 추가해서 학습한다.)
ˆrCLSt=rCLSt⊕ainformt⊕adstPartial MaskingPermalink
dialog history 부분에 [UNK]토큰을 넣어서 부분적으로 마스킹을 씌우는 방법이다.
dialog history부분에 [UNK]토큰을 넣게 되면 과거의 context 정보에 좀 더 집중을 하게 만들 수 있어 rCLSt가 좀 더 강력한 representation을 가질 수 있다
Dialog State UpdatePermalink
턴을 기준으로 DST를 진행하는데 slot이 detection이 되지 않으면 매 턴마다 슬롯을 업데이트 한다. slot값이 none으로 예측되면 슬롯이 업데이트 되지 않는다.
ExperimentPermalink
DataPermalink
데이터셋은 MultiWOZ 2.1, WOZ 2.0, sim-M. sim-R에 대해서 진행한다.
MultiWOZ2.1은 10000개 이상의 multi-domain 발화로 구성 되어 있으며 30개의 domain-slot쌍과 5개의 도메인(기차, 레스토랑, 호텔, 택시, 명소)로 구성되어 있다. 다른 데이터셋들은 단일 도메인 데이터셋들이며 MultiWOZ2.1 보다 훨씬 작은데이터다.
EvaluationPermalink
joint goal accuracy (JGA)로 평가 진행
TrainingPermalink
Joint Loss를 구하게 되는데 Multi domain은 아래와 같이 진행한다.
loss = CE, optimizer = Adam, lr = 2e−5, warm-up = 10%, Dropout = 0.3
L=0.8⋅Lgate+0.1⋅Lspan+0.1⋅Lrefersingle domain 은 domain 간 coreference가 없음으로 refer는 제거하고 진행
L=0.8⋅Lgate+0.2⋅LspanresultPermalink
MultiWOZ 2.1
WOZ 2.0
sim-M. sim-R
실험 비교
ConclusionPermalink
본 논문에서는 DST를 위한 다양한 Copy mechanism을 사용하는 새로운 방법론을 제시.
Slot은 3가지의 copy mechanism중 하나로 채워진다.
- Span Prediction -> 현재 대화에서 바로 추출할 수 있음.
- System imform memory -> System의 inform을 Tracking하는 system imform memory에서 값을 복사해서 사용할 수 있음.
- DS Memory -> Domain 내에 Domain 간의 coreference와 value sharing problems을 해결하기 위해 이미 채워진 다른 Slot값을 복사해서 현재 Slot에 채울 수 있다. (이미 존재하는 slot을 사용해서 새로운 slot을 추론하는 방법)
이 접근 방식은 Span-based 방식의 slot filling의 장점과 메모리에서 copy하는 방법을 사용
본 논문에서 제안한 방법론들 모두 좋은 성능향상을 보였다.
현재 기준 multi-domain DST 3위 모델
Leave a comment