Situated and Interactive Multimodal Conversations
Seungwhan Moon∗ , Satwik Kottur∗ , Paul A. Crook† , Ankita De† , Shivani Poddar† Theodore Levin, David Whitney, Daniel Difranco, Ahmad Beirami Eunjoon Cho, Rajen Subba, Alborz Geramifard
Facebook Assistant & Facebook Conversational AI Research
reference : https://arxiv.org/pdf/2006.01460.pdf
cf> 용어 정리
- Multimodal input : vision, 이전 상호 작용에 대한 기억 (user 발화 이외의 것)
- Multimodal action : 시스템의 발화 생성외의 방식 표시
- coobserve ??
- task-oriented (dataset) : 기능 수행을 목적으로 하는 VA를 train하기 위해 존재하는 dataset
- ontology??
- agent :
0. Abstract
1) Task 간단한 소개
1> next generation Virtual Assitant(VA)는 Multimodal input을 처리하고 Multimodal action를 수행할 것입니다.
2> Multimodal input
이 논문에서의 Multimodal input은 아래 3가지입니다.
- utterance (text)
- vision
- previous interactions (dialog history)
2) Dataset 간단 소개
1> data의 개수와 종류
Multimodal Wizard-of-Oz를 이용한 총 13,000개의 dialog(대화) == 169,000개의 utterances(한 번의 발화를 의미)
(둘 다 shopping 쪽 data이다.)
- furniture (shared virtual environment에 배치될)
- fashion (evolving set of images에 배치될)
2> data에 포함되는 내용
각 scene에 나오는 item에 대한 logcontextual NLUcoreference annotation
3) task 및 연구 진행 상황
Structural API Prediction and Response Generation과 같은 객관적인 protocol로 SIMMC에서 몇가지 task가 있다.
Facebook 연구 팀은 현존 모델들의 collection을 벤치마킹해서 좋은 multimodal conversational interaction임을 보여줬다. (data, annotation, code, model 모두 공개)
1. Introduction
Virtual Assistant는 앞으로 user나 VA 자신이 사용하는 Multimodal Input을 처리해서 modality를 출력할 수도 있게 될 것인다.
그래서 추후 발생할 다량의 새롭고 어려운 문제를 community(대회 참가자들)에서 다루는 것이 중요하다.
1) SIMMC Dataset 소개
1> User와 Assistant가 [1] 서로 같은 image or VR 환경을 공유하면서 나누는 [2] task-oriented [3] dialogue입니다.
2> 2종류의 dataset이 있으며
3> NLU, DST, DM, NLG에 대한 annotation이 있습니다.
2) Task 예시
해당 그림은 가구를 검색하고 쇼핑하는 과정에서 user가 assistant(VA)와 interact하고 있는 장면입니다.
VA는 user와의 이전 dialog를 기반으로 새로운 situated context를 생성합니다.
예를 들어,
요청 : user가 "I like the brown one. Show me the back of it."이라고 요청하면
응답 : VA는 [1] 갈색 가구에 집중하고 [2] 이를 뒤집는 작업을 합니다.
또한, 여기서 발생한 행동으로 공유 중인 multimodal context를 변경하고 이를 다음 dialog에 반영합니다.
(그리고 이 예시를 통해 multimodal action prediction과 multimodal coreference resolution 등의 과제도 수행할 수 있음을 알려주며 해당 논문의 뒷부분에서 안내합니다.)
3) 논문 전개에 대한 안내
2절 : 기존 literature 관점에서 Facebook AI Research Team에서 제시하는 dataset과 task가 참신함을 안내합니다.
3절 : SIMMC-Furniture(VR)와 SIMMC-Fashion(Image) dataset에 대한 설명
4절 : dataset에 대한 SIMMC Dialog Annotation Schema 제시
5절 : dataset과 annotation에 대한 자세한 분석
6절 : SIMMC task와 metric 정의
7절 : SIMMC 모델을 제시 (SIMMC task를 해결하기 위한 SOTA model이다.)
8절 : baseline model을 이용해서 SIMMC-Furniture와 SIMMC-Fashion dataset에서의 성능 제시
9절 : 결론
2. Novelty & Related Work
1) Novelty of SIMMC
SIMMC dataset은 기존 multimodal dialog dataset과 구분되는 중요한 특징을 제시합니다.
1> real world의 assistant 시나리오의 기초가 되는 목표를 가지고, coobserved multimodal context(user와 VA 사이의)를 가정하고, 등장하는 item에 대한 ground-truth item apperance log를 기록합니다.
이는 coobserved multimodal context 속에서 대화의 기본 문제에 대해 집중하게 합니다.
대조적으로
기존 literature (Das et al., 2017; Kottur et al.,2019; De Vries et al., 2017; de Vries et al., 2018)와
drawing motivation from the Visual Question Answering (Antol et al., 2015)은
1차 observer (Questioner)와 2차 observer (Answerer) 의 역할을 사실로 받아들입니다. (그 둘은 동일한 multimodal context를 coobserve 하지 않습니다.)
2> VA의 기능을 real-world multimodal setting만큼 확장하는 것을 목표로 해서 이 문제를 task oriented, multimodal dialog system 으로 보려고 합니다.
기존 task-oriented conversational dataset(e.g. MultiWoZ (Budzianowski et al., 2018))과 비교하면
dataset에서의 VA의 동작은 다양한 multimodal action으로 확장된다. (e.g. ROTATE,SEARCH, ADD TO CART).
그래서 visual dialog 연구에서는
'token 혹은 phrase 수준에서의 visual scene을 기반으로 하는 것'에서
'복잡한 multimodal context를 고려해서 task 수준에서 dialog를 이해하는 것'으로 초점을 맞췄습니다.
3> situated multimodal context가 동적으로 update 되는 시나리오를 연구하고 agent의 동작을 반영합니다.
연구팀의 setting에서는 agent action이
object-level (e.g. changing the view of a specific object within a scene)과
scene-level (e.g. introducing a new scene or an image)에서 실행될 수 있습니다.
the dialog-based image retrieval tasks(Guo et al., 2018; Saha et al., 2018)와
the visual navigation tasks (Thomason et al., 2019; de Vrieset al., 2018)
은 context update로 구성되지만,
이들은 새로운 visual scene 도입에 제한이 있습니다.
4> 연구팀은 semantic annotations를 위한 새롭고 유연한 schema를 제시합니다.
(semantic annotations는 연구팀이 natural multimodal conversations에서 특별히 개발한 것입니다.)
SIMMC annotation schema는 visual grounding of conversations에 대한 체계적이고 구조적인 접근을 허용합니다.
(이는 real-world 시나리오에서의 어려운 문제 풀이에 필요합니다.)
연구팀의 dataset은 multimodal dialog corpora(corpus의 복수)분야에서 처음으로 fine-grained semantic annotation을 제공합니다.
2) Multomodal Dialog Dataset
1> Visual Question Answering (VQA) (Antol et al., 2015) dataset은제공된 multimodal context에 대해 answering multi-turn questions 문제를 다룹니다.
2> 대화가 interactive multimodal 환경을 기반으로하는 시나리오를 연구합니다.시각적 특성에 대한 언어 이해에 초점을 맞춘 dialog로 적절한 이미지를 검색합니다.
3> 기존 multimodal dialog dataset과 달리, 연구팀은 real-world VA 시나리오를 구축하는 것을 목표로 co-observed and dynamic multimodal contexts의 기초에 집중합니다.
3) Task-oriented Dialog Datasets
1> dialog에 대한 핵심은 실용적인 적용 가능성에 대한 task oriented dialog에 있습니다.
기존 ask oriented dialog dataset은 single specified domain task (e.g. restaurant booking)에 초점을 맞추거나
multiple domain을 통해 agent의 성공을 자동적으로 검증할 수 있습니다. (e.g. did the agent book the correct 대restaurant?).
SIMMC-Furniture에서는 이미지 또는 항목 설명의 형태로 target goal이 user에게 제공됩니다.
2> dialog literature의 핵심은 cumulative dialog context의 추적에 있습니다.
이는 종종 많은 multimodal dialog dataset에서 (both in terms of the task design and the annotations) 무시됩니다.
연구팀의 task-oriented dialog에 대한 강조는 dialog communitiy에서 연구된 많은 문제들을 multimodal setting으로 끌어들여서 task-oriented dialog와 multimodal setting의 격차를 줄인다.
3. SIMMC Datasets
두 data 모두 SIMMC platform을 기반으로 만들어졌습니다.
1) SIMMC-Furniture (VR) Dataset
이런 과정을 가능하게 하려고 아래 두 상태의 전환이 가능하다.
1> SIMMC-Furniture (VR) Dataset은 VR환경을 기반으로 VA가 user에게 가구 추천하는 과정을 담고있다. (user가 가구 추천을 위해 VA와 상호작용하는 과정을 담고있다. )
2> 예시
- user에게 'Shop for a table'과 같은 (수준 높은) 지시나 구매할 가구 사진을 제시해서 대화를 진행한다.
- 그러면 user는 [1] available option(가구) 중 하나를 자세히 보거나 [2] 다른 option(가구)을 보는 요청을 할 수 있습니다. ([1]을 선택하면 assistant는 더 자세한 설명을 제공합니다.)
3> item을 제시하는 2가지 mode
- carousel mode : 3개의 slot에 item을 담아 소개하는 mode
- fouced mode : carousel mode의 item 중 하나를 확대하여 보여주는 mode
(a) Carousel : filtered furniture을 보여주기 위한 3개의 slot을 가진다.
(b) Focused : Carousel에 있는 item 중 하나를 확대
(user와 assistant 대화 중에 user가 성공적 결과에 도달했다고 느낄 때까지 6~12번 반복)
(예제 dataset)
2) SIMMC-Fashion (Image) Dataset
SIMMC-Furniture와 마찬가지로 user가 assistant에게 의류에 대한 추천 과정을 담고 있다.
그리고 price, brand, color와 같은 정보들을 이용해 정보 조회 및 item 추천을 제공합니다.
visual scene, memory, assistant-recommend item에서 언급한 shared attribute, preference 등을 보고 추천하여 user가 option을 탐색하도록 합니다.
(예제 dataset)
3) Item Apperance Log
두 dataset 모두 각 view에 나타나는 item의 ground-truth이 기록됩니다.
=> 이를 통해 computer vision 문제는 피해갑니다.
=> 의미론적으로 modality를 결합하는데 집중합니다.
1> SIMMC-Furniture
item appearance에 대한 log는 몇 가지 식별자(identifier)로 구성되어 있다.
(carousel mode라면 3개 item에 대한 log가 순서대로 들어가있다.)
2> SIMMC-Fashion
마찬가지로 item appearance에 대한 log는 몇 가지 식별자(identifier)로 구성되어 있다.
(이 식별자들은 각 항목에 대한 묘사를 나타냅니다.)
이를 통해 computer vision의 문제로부터 피할 수 있고 modality를 의미적으로 결합하는데 집중할 수 잇습니다.
4. SIMMC Dialog Annotations
0) Challenges
task-oriented multmodal conversational model은
action과 multimodal interaction에 대한 item-level의 이해가 필요하기 때문에
여러 어려움이 있습니다.
=> visual context를 기반으로 하는 semantic-level의 fine-grained(미세한) annotation이 필요합니다.
=> 이를 위해 dialog flow에서 상세한 multimodal을 기록할 수 있는 새로운 SIMMC ontology(존재론)를 개발했다.
즉,
1> object에 대한 SIMMC ontology와 계층적 labeling
2> multimodal coreference schema (notation과 multimodal context를 연결)
1) SIMMC Anotation Ontology
SIMMC ontology는 assistant와 user의 발화에 대한 공통된 의미를 제공한다.
4 primary components
1> Objects : object의 hierarchy는 ontology에서 정의된다.
등장하는 object를 말한다.
ex> SOFA(sub-type, fine-grained object) is a FURNITURE(super-type)
fine-grained object(subtype)는 깊은 level에 있는 구조 ex> USER, DRESS, SOFA
2> Activities : activity의 hierachy는 ontology 내부에 object의 subgraph로 정의된다.
VA가 수행할 수 있는 활동을 나타낸다. (GET, REFINE, ADD TO CART)
3> Attributes :
object는 다른 object와 연관시키는 attirbute의 list를 가진다.
(예를 들어 brand attribute 관점에서 SOFA는 COMPANY와 관련이 있다.)
4> Dialog Act : dialog act의 hierarchy 또한 ontology 내부에 object의 subgraph로 정의된다. (activity와 동일)
dialog act는 user 혹은 system utterance의 linguistically motivated purpose를 나타낸다.
ex> ASK, INFORM, PROMPT
cf> 예시
DA : Dialog Acts : Activity : Objects
2) SIMMC Labeling Language
1> 구성
labeling 언어는 intent와 slot으로 구성된다.
(빨간색은 intent를 의미하고, 이를 구체적으로 slot에서 값을 지정합니다.)
- intent는 intent가 구성한 유형의 instance를 나타내고 2가지 형식 중 하나를 취합니다.
- DIALOG ACT:ACTIVITY:OBJECT
- DIALOG ACT:ACTIVITY:OBJECT.attribute.
(ontology에서 유효하다고 선언된 object와 attribute의 조합만이 labeling language으로 사용할 수 있습니다.)
- slot은 위와 같은 intent 내에서 object, activites, attribute type의 속성에 대한 값을 더 지정합니다.
2> consistency와 accuracy를 보장하기 위한 annotation task의 규칙이 존재한다.
- Type ambiguity : object가 등장하면, 가장 fine-grained한 annotation하기
- Attributes ambiguity : attribute는 모호하지 않을 때, annotation이 붙는다. (모호한 경우에는 genric한 attribute를 annotation)
- Attributes inverses : attribute가 2가지 다른 방향으로 annotation을 하면 canonical attribute가 annotation으로 사용
(attentionOn vs inAttentionOf -> attentionOn이 generic하니 annotation으로 지정)
- Smart prefixes : attribute slot은 intent-level에서 Activity 혹은 Object를 제한하는지에 따라 A or O로 annotation
- Attribute variable : .info는 speaker의 의도가 동시에 하나 이상의 attribute를 목표로 할 때 사용
3) SIMMC Coreference Annotations
dialog에서 object 유형의 annotation이 허용되며
이는 다시 underlying multimodal context로부터 특정 canoical listing을 참조할 수 있습니다.
그 예로 annotation이 있는 발화를 보면 annotation이 있는 CHAIR(it)은 image metatdata 내의 item id로 표현되는 특정 item을 가리킵니다.
5. Dataset & Annotation Analysis
SIMMC-Furniture
- 6.4K의 dialog
- 평균 7.62 round (or turn pairs)
- 97.6K의 utterance (발음?)
- audio datat도 존재한다.
SIMMC-Fashion
- 6.6K의 dialog
- 평균 5.42 round (or turn pairs)
- 71.2K의 utterance
1) Data Analysis
<SIMMC-Furniture>
1> dialog당 round가 4~14 (68%가 7~9 round)
2> dialog당 utterance의 길이
'assistant는 12.2±7.9 vs user는 11.0±5.9'로 assistant가 분산이 약간 길다. (assistant는 catalog에 접근 가능해서 더 장홯하게 설명할 것으로 예상)
3> 경향 자체는 SIMMC-Fashion도 비슷하다.
4> catalog coverage
Catalog coverage. Recall that both SIMMC datasets contain conversations in a shopping scenario grounded in a catalog of furniture and fashion items respectively. SIMMC-Furniture builds on a catalog of 179 items, where each dialog contains around 3.3 shares of different views between the user and assistant, and each furniture item is shared in roughly 45 dialogs. Similarly, SIMMCFashion contains 2098 items that appear in 32 dialogs on average, thus providing a rich catalog context to support interesting multimodal dialogs.
(user와 assistant와 다른 견해를 가지는 dialog가 일부 존재한다는 내용)
2) Annotation Analysis
1>
SIMMC-Furniture는 9개의 class
SIMMC-Fashion은 7개의 class (디자인 때문에 COUNT와 ROTATE를 제외한다.)
2> dominant
- the most dominant dialog act : INFORM (SIMMC-Fashion에서 50%, SIMMC-Furniture에서 45%)
(user는 preference를 inform, assistant는 attribute난 availability를 inform)
- the most dominant dialog activity : GET
(assistant는 user로부터 new item이나 additional information을 습득하기 때문이다.)
3> low occurance
low occurance of dialog act : CONFERM
(explicit confirm을 자주하면 user가 좋아하지 않을 수 있다.)
3) User Satisfaction Metrics
SIMMC dataset은 goal-oriented dialog이기 때문에 turn 단위로 만족도(1~5)를 수집한다.
SIMMC-Furniture에서는 4.69 ± 0.77로 높은 concentration을 보여준다.
6. SIMMC Task & Metrics
SIMMC task를 정의하기 위한 general offline evalutation framework 제공
3가지 task를 제공한다. (rich, interactive shooping scenario가 가능하게 하는 것이 목표)
1) Offline Evaluation Framework
1> D : Dialog = {(U_i, A_i, M_i, a_i)} (i = 1 ~ N_r)
N_r : round long
U_i, A_i : user & assistant utterances
M_i : domain-specific multimodal context
a_i : 각 round(i)별로 assistant가 취한 action
2>H_t : Dialog History = (U_i, A_i) (i = 1 ~ t-1)
t : 각 tound
3> 3가지 advantage
- accurately represents the scenario encountered by a SIMMC model during deployment.
- evaluate model on a per-turn basis
- define and evaluate sub-tasks(action prediction, response generation, dialog state tracking)
2) SIMMC Furniture & Fasion Tasks
1> Task 1 : Structural API Call Prediction
H_t, M_i, U_t를 input과 필요한 argument로 assistant action인 a_t를 예측하는 작업
2> Task 2 : Response Generation
assistant의 response(A_t)를 현재 turn에서 측정 (conditional language modeling problem)
BLEU score를 이용해서 generated response와 ground-truth response간의 유사도를 계산
(질문 : 이런 생성을 단순히 transformer 구조로 구현해도 되는지?)
3> Task 3: Dialog State Tracking
goal : dialog act와 여러 turn에서 연관된 slot pair를 체계적으로 추적
intent와 slog accuracy를 이용해서 coreference across modality를 해결하기 위해 성능을 측정한다. (annotated table 이용)
7. Modeling for SIMMC Task
4가지 주요 component가 존재
- Utterance and History Encoder
- MultiModal Fusion
- Action Predictor
- Response Generator
1) Utterance and History Encoder
input : U_t(user utterance), H_t (dialog history)
output : u_t(utterance encoding), h_t (history_encoding) == textual semantic
2) Multimodal Fusion
input : u_t(utterance encoding), h_t (history_encoding), M_t(multimodal context)
output : u~_t (fused context)
3) Action Predictor (TASK 1)
input : u~_t (fused context)
output : a^_t (the Action Predictor predicts the appropriate action)
4) Response Generator (TASK 2)
input : u~_t (fused context), c_t (output of Action Predictor)
output : A^_t (assistant response)
구조는 encoder-decoder 구조인데
encoder : LSTM
decoder : LSTM with attention, Trasformer-based decoder
8. Experiments & Results
1) Dataset Split and Baseline
1> 70% random split
2> with the model hyperparameters chosen via early stopping using performance on another randomly sampled 10%,
3> 2개의 baseline
- TF-IDF feature (utterance, history) 사용
- LSTM-based language model
4> Glove Embedding 사용
2) Supervision
end-to-end로 만들기 위해
action prediction loss와 reponse generation loss의 합을 전체 loss로 설정
3) Detail
Pytorch 사용
1> 소문자 변환
2> D_W = dimension word embedding = 256
3> LSTM(2-layer), Transformer(4-layer)는 D_H(hidden state) = 256
4> learning rate 1e-4 (clip [-1, 1])
4) Results
1> neural model (HAE, HRE, MN, T-HAE) > base-line (TF-IDF, LM-LSTM)
2> (response generation) MN : superior BLEU / T-HAE : least perplexity
3> HRE는 두 dataset에서 모두 가장 높은 accuracy 기록
4> confusion matrix
Search Furniture와 None 사이의 confusion
=> 'search item'과 '사용자 선호도를 얻는 것' 사이의 범위를 좁히기 위한 자연 결정으로 해석할 수 있다.
'NLP 연구실 업무 > DSTC9 - SIMMC' 카테고리의 다른 글
코드 분석 - Task 3 (0) | 2020.08.16 |
---|---|
코드 분석 - Task 1, 2 (0) | 2020.08.16 |