논문 정리/Spoken Language Understanding

Joint Slot Filling and Intent Detection via Capsule Neural Networks

SHJuan 2020. 11. 22. 18:32

1. intro

- slot filling은 sequential labeling task로 취급됨.

- sequence tagging에 사용할 수 있는 조건부 무작위장(CRF) 등과 함께, RNN 및 CNN 구조를 사용하여 context를 고려하는 word representation을 학습한다.

 

- word level slot filling 과 utterance level intent detection은 동시에 수행되어 협력적인 효과를 낼 수 있다.

- 어떤 단어가 slot "artist"로 분류되었다면 intent는 "AddtoPlayList"등이 "GetWeather"와 같은 경우 보다 더 그럴듯 할 것이다.

- RNN의 마지막 hidden state, CNN output의 attention-weighted sum 등을 통해 intent를 예측하는 모델이 여럿 제시되었음.

- 그러나 이러한 모델은 단어와 slot, intent 간의 계층적인 정보를 직접적으로 활용하지는 않았다.

- 문장 길이가 늘어나면 모든 문맥 정보를 하나의 vector로 표현하기 어려움.

- 본 논문에서는 그러한 계층적인 정보를 활용하기 위해, capsule network를 도입하였다.

 

- "Sungmin"이라는 단어가 "artist"라는 slot으로 연결되고, 유사한 slot들("playlist", "playlist_owner")이 함께 "AddtoPlayList" intent를 예측하도록 한다.

- Capsnet에서 사용하는 dynamic routing-by-agreement 방식은 저단계 캡슐의 가장 큰 weight를 가장 그럴듯한 고단계 캡슐로 연결(할당)한다.

 

- 반대로, intent 추론을 통해 slot filling을 결정, 개선할 수 있다.

- 이를 위해 rerouting schema를 제안하였음. 

- 단어 캡슐과 slot 캡슐간의 dynamic routing에 intent 캡슐이 관여할 수 있도록 하였다.

 

2. 네트워크 구조

1) 3가지의 계층적인 캡슐로 구성됨.

(1) Wordcaps

- 문맥을 고려한 단어 표현(word representation)을 학습 

- Bert, ELMo같은 pretrained model을 사용할 수도 있음

(2) Slotcaps

- dynamic routing을 통해 각 단어를 slot type에 따라 적절히 분류하고, 그 slot에 해당하는 단어들의 representation을 기반으로 slot representation을 학습한다.

- routing-by-agreement 방식은 word representation이 slot representation과 큰 상호 연관성이 있을 경우에 저단계(Wordcaps)의 feature를 고단계(Slotcaps)의 capsule로 보내준다.

- Wordcaps의 word representation을 기반으로, 예측 벡터 p_(k|t)를 생성한다. FC network를 사용하며 activation function은 tanh등을 사용할 수 있다.

- agreement value: 한 단어가 어떤 slot에 연결될 가능성을 알려주는 값. dynamic routing-by-agreement 알고리즘을 통해 결정된다. 한 단어가 다른 slot에 연결될 때 마다 다르다.

- slot representation은 unsupervised 학습이 진행된다.  

(3) Intentcaps

- 발화 문맥 및 slot representation을 적절히 고려하여 발화 혹은 문장의 intent를 분류한다.

- 먼저 slot representation을 FC network에 통과시켜 예측 벡터 q_(l|k)를 생성한다.

- Slotcaps에서 p_(k|t)를 생성한 것과 같은 방법

 

- 똑같이 dynamic routing-by-agreement 알고리즘을 적용한다. 이를 통해 intent의 representation을 구한다.

- intent 예측 시 최대 norm을 갖는 경우를 찾는다.

 

2) Re-Routing

 

-

 

 

3. 실험 setting

1) dataset: SNIPS와 ATIS 사용

2020/11/22 최초 작성