๐ก ์ฃผ์ : Question Answering
๐ ํต์ฌ
- Task : QA ์ง๋ฌธ ์๋ต, reading comprehension, open-domain QA
- SQuAD dataset
- BiDAF , BERT
1๏ธโฃ Introduction
1. Motivation : QA
โ QA ์ IR system ์ ์ฐจ์ด
โฝ IR = information retrieval ์ ๋ณด๊ฒ์
๐จ QA : Query (specifit) → Answer : ๋ฌธ์์์ ์ ๋ต ์ฐพ๊ธฐ
ex. ์ฐ๋ฆฌ๋๋ผ ์๋๋ ์ด๋์ผ? - ์์ธ
๐จ IR : Query (general) → Document list : ์ ๋ต์ ํฌํจํ๊ณ ์๋ ๋ฌธ์ ์ฐพ๊ธฐ
ex. ๊น์น๋ณถ์๋ฐฅ์ ์ด๋ป๊ฒ ๋ง๋ค์ด? - ์ ํ๋ธ ์์ ๋ฆฌ์คํธ, ๋ธ๋ก๊ทธ ๋ฆฌ์คํธ
๐ ์ต๊ทผ์๋ ์ค๋งํธํฐ, ์ธ๊ณต์ง๋ฅ ์คํผ์ปค ๊ธฐ๋ฐ์ ์ ๋ณด์ทจ๋์ด ๋ง๊ธฐ ๋๋ฌธ์ ์ฆ๊ฐ์ ์ธ ์ง๋ฌธ์ ๋ตํ๋ QA ๋ชจ๋ธ์ ์ค์์ฑ์ด ๋์์ง๊ณ ์๋ค.
์ฌ๋์ ์ธ์ด๋ก ๋ "์ง๋ฌธ"์ ์๋์ ์ผ๋ก "๋ต"ํ ์ ์๋ ์์คํ ์ ๋ง๋ค๊ธฐ
โ QA 2 step
1. Finding documents that contain an answer
๐จ ์ง๋ฌธ์ ๋ํ ์ ๋ต์ด ์์ ๊ฒ ๊ฐ์ ๋ฌธ์๋ค ์ฐพ๊ธฐ : Traditional IR/web search ๊ณผ ๊ด๋ จ์ด ์์
2. Finding an answer in the documents
๐จ ์ฐพ์ ๋ฌธ์๋ค ๋ด์์ ์ ๋ต ์ฐพ๊ธฐ : Machine reading comprehension ๊ณผ ๊ด๋ จ์ด ์์
๐จ ๋๋ถ๋ถ์ state-of-the-art-question answering ์์คํ ๋ค์ end-to-end train ๊ณผ ์ฌ์ ํ๋ จ๋ language ๋ชจ๋ธ ์์ build ๋๋ค.
โ Beyond textual QA problems
๐จ ์ค๋๋ ์๋ ๊ตฌ์กฐํ๋์ง ์์ text ์ ๊ธฐ๋ฐํ ์ง๋ฌธ์ ๋ตํ๋ ์ ํ์ด ์ฃผ๋ชฉ๋ฐ๊ณ ์๋ค.
โฝ Knowledge based QA : ๋๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด์ QA ๋ฅผ ๊ตฌ์ถ
โฝ Visual QA : ์ด๋ฏธ์ง์ ๊ธฐ๋ฐํ QA
2. Machine Reading comprehension
โ ์ ์
(P,Q) ๐ A : Text ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ๋จ์ ์ดํดํ๊ณ ํด๋น ๋ด์ฉ์ ๋ํ ์ง๋ฌธ์ ๋ตํ์
- ๊ธฐ๊ณ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ฃผ์ด์ง ๋ฌธ์๋ฅผ ์ดํดํ ์ ์๋๋ก ํ๋ Task
- passage ์ question ์ด ์ฃผ์ด์ก์ ๋, ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ต์ ์ถ๋ ฅํ๋์ง ํ์ธํ์ฌ ๊ธฐ๊ณ์ reading ability ๋ฅผ ์ธก์ ํ๋ค.
- ๋ง์ ๋ค๋ฅธ NLP task ๋ค๋ reading comprehension ๋ฌธ์ ๋ก ๋จ์ํ์ํฌ ์ ์๋ค.
๐ ๋ต๋ณ 1 → ๊ธฐ๊ณ๊ฐ ์ง๋ฌธ/๋ฌธ๋จ์ ์ ๋๋ก ์ดํดํ๋ค๊ณ ๋ณผ ์ ์์
๐ ๋ต๋ณ 2 → ๊ธฐ๊ณ๊ฐ ์ง๋ฌธ/๋ฌธ๋จ์ ์ ๋๋ก ์ดํดํ๋ค๊ณ ๋ณผ ์ ์์
โฝ 2015๋ ์ด์ ์๋ MRC ์ ์ ํฉํ ๋ฐ์ดํฐ์ (passage, question, answer) ๊ณผ NLP ์์คํ ์ด ์กด์ฌํ์ง ์์๋ค.
โฝ 2015๋ ์ดํ MRC ๋ฅผ ์ํ ๋ฐ์ดํฐ์ ๊ณผ NLP ์์คํ ์ด ๊ณ์ํด์ ๋ฑ์ฅ, ๋ฐ์ ํ๊ณ ์๋ค.
โ ์ญ์ฌ
- 2013๋ Machine comprehension : MCT test corpus ๋ฅผ ๊ฐ์ง๊ณ ์ง๋ฌธ์ ์๋ ๋ต์ ๊ทธ๋๋ก ์ฐพ๋ ๋ฌธ์
โฝ Passage (P) : Document, Context
โฝ Answer (A) : Extractive AQ, Sub-sequence
โฝ ๋ต๋ณ์ ํญ์ ๋ฌธ๋จ ์ ํ์ ๋ฌธ์ฅ ์ผ๋ถ๋ก ๊ตฌ์ฑ๋จ
โฝ ๊ณผ๊ฑฐ QA ๋ชจ๋ธ์ ์ฃผ๋ก NER ๊ธฐ๋ฐ์ผ๋ก ์ ๊ทผํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๊ธฐ ๋๋ฌธ์ ์์์ ์ด ๋ง๊ณ ๋ณต์กํ ํํ๋ฅผ ๋๊ณ ์์๋ค.
โ ์ง๋ฌธ ์ ํ
โ MT vs MRC
Machine Translation | Reading Comprehension |
Source ๋ฌธ์ฅ, Target ๋ฌธ์ฅ | Passage, question |
Autogressive decoder : word by word target ๋ฌธ์ฅ ์์ฑ | Two Classifier : ์ ๋ต์ start, end ์์น๋ง ์์ธก |
Source ๋ฌธ์ฅ์ ์ด๋ค ๋จ์ด๊ฐ ํ์ฌ์ target ๋จ์ด์ ๊ฐ์ฅ ๊ด๋ จ ์์๊น? | Passage ์ ์ด๋ค ๋จ์ด๋ค์ด question ์ ๋จ์ด์ ๊ฐ์ฅ ๊ด๋ จ์ด ์์๊น |
โญ ๋ NLP task ๋ชจ๋ Attention ์ด ํต์ฌ!
3. SQuAD dataset
โ ์ ์
โฝ Stanford Question Answering Dataset ๐ large scale supervised dataset
โฝ 10๋ง๊ฐ ์ด์์ ์ง๋ฌธ-๋ต๋ณ ๋ฐ์ดํฐ๊ฐ ์กด์ฌ , ๋ต๋ณ์ ๋ฐ๋์ passage ๋ด์์ span ์ผ๋ก ๋์ค๋๋ก (passage ์ ๋ฑ์ฅํ ๋ฌธ๊ตฌ์ฌ์ผ ํ๋ค๋ ๋ป) ๊ตฌ์ฑ๋์ด ์๋ค.
โฝ SQuAD dataset ์ด ๊ต์ฅํ ์ ๊ตํ๊ฒ ๊ตฌ์ถ๋์ด QA task ์ ํฌ๊ฒ ๊ธฐ์ฌํ์๊ณ , ์ง๊ธ๊น์ง ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ค.
- Passage : ์ํคํผ๋์์ 100๊ฐ ~ 150๊ฐ ๋จ์ด๋ก ์ด๋ฃจ์ด์ง ๋ฌธ๋จ๋ค (= paragraph, context ๋ผ๊ณ ์ง์นญํ๊ธฐ๋ ํจ) ๐ passage ๋ด์ ์ ๋ต์ด ์์
- Question : ํด๋ผ์ฐ๋ ์์ค ๋ฐฉ๋ฒ์ผ๋ก ๋ง๋ค์ด์ง ์ง๋ฌธ - ์ฌ๋๋ค์ด ๋ฌธ๋จ์ ์ฝ๊ณ ์ง๋ฌธ๊ณผ ๊ทธ์ ์๋ง๋ ๋ต์ ๋ง๋๋ ๋ฐฉ์ (= query ๋ผ๊ณ ์ง์นญํ๊ธฐ๋ ํจ)
- Answer : 3๊ฐ์ ๊ฐ๋ฅํ ์ ๋ต ๋ต์์ ๋ฃ์ด์ค
- query ๊ฐ context ๋ณด๋ค ์งง์ (N๊ฐ ํ ํฐ > M๊ฐ ํ ํฐ)
- SQuAD ๋ฅผ ํธ๋ ๋ ๊ฐ์ง ์ข ๋ฅ์ ์ ๊ฒฝ๋ง ๋ชจ๋ธ : 2018๋ ์ด์ ๊น์ง๋ LSTM ๊ธฐ๋ฐ์ attetion ๋ชจ๋ธ์ด ์ฃผ๋ฅผ ์ด๋ฃจ์๊ณ , 2019๋ ๋ ์ดํ ๋ถํฐ๋ BERT ์ ๊ฐ์ Pre-trained ๋ ๋ชจ๋ธ์์ Fine tuning ํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ๋์๋ค.
โ version 1.1
โฝ 3 gold answer : ๋ต๋ณ ์ ํ์ ๋ณํ์๋ ์ ๋์ฒํ๊ธฐ ์ํด ์ธ ์ฌ๋์๊ฒ ๋ต๋ณ์ ์ป์
โฝ ํ๊ฐ์งํ
- Exact Match : (์ธ๊ฐ์ด ๋ง๋ ) 3๊ฐ ๋ต ์ค์ ํ๋๋ก ๋์์ผ๋ฉด 1, ์๋๋ฉด 0์ผ๋ก binary accuracy ๐ ์ธ๊ฐ์ด ์ค์ ํ ๋ต๋ ์ ๋์ ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๊ด์ ์ธ ์งํ์ธ F1 score ๋ ๊ณ์ฐ
- F1 : ๋จ์ด ๋จ์๋ก ๊ตฌํ F1-score 3๊ฐ ์ค์ max one ์ per-question F1-score ๋ก ๋๊ณ macro average
- punctuation ๊ณผ a,an,the ๋ ๋ฌด์ํ๋ค.
โ ํ๊ฐ์งํ ๊ณ์ฐ ์์
(1) ์์ธก๋ ๋ต๋ณ์ ๊ฐ gold answer ๊ณผ ๋น๊ตํ๋ค. ์ด๋ a, an, the, . (๊ตฌ๋์ ) ์ ์ ๊ฑฐํ๋ค.
(2) Max score ๋ฅผ ๊ณ์ฐํ๋ค.
(3) ๋ชจ๋ ์์ ์ ๋ํด EM ๊ณผ F1์ ํ๊ท ํ ๊ฐ์ ๊ตฌํ๋ค.
โ version 2.0 ๐ unanswerable question ์ด ์ถ๊ฐ๋จ
โฝ 1.1 ์์๋ ๋ชจ๋ ์ง๋ฌธ์ ๋ต๋ณ์ด ํญ์ ์กด์ฌ (answerable) ํ๋ค๋ณด๋, ๋ฌธ๋จ ๋ด์์ ๋ฌธ๋งฅ์ ์ดํดํ์ง ์๊ณ ๋จ์ํ ranking task ๋ก ์๋ํ๋ ๋ฌธ์ ์ ์ด ์กด์ฌํจ (๋ต์ ๊ทผ์ ํด ๋ณด์ด๋ span ์ ์ฐพ์ ๋ฟ)
โฝ v1.1 ์ ์๋ก์ด 5๋ง๊ฐ ์ด์์ ์๋ต ๋ถ๊ฐ๋ฅํ (unanswerable) ์ง๋ฌธ์ ๋ณํฉํ์๋ค : v2.0 ์์๋ dev/test ๋ฐ์ดํฐ ์ ๋ฐ์ passage ์ answer ๊ฐ ํฌํจ๋์ด ์๊ณ ์ ๋ฐ์ ํฌํจ๋์ด ์์ง ์๋ค.
โฝ ์จ๋ผ์ธ์์ ์ฌ๋๋ค์ด unanswerable question ์ ์ง์ ์์ฑํ์ฌ ์ฑ๋ฅ์ด ๋๋ค.
โฝ ํ๊ฐ ์ no answer ๋ฅผ no answer ๋ผ๊ณ ํด์ผ ๋ง๊ฒ ์์ธกํ ๊ฒ์ ๐ threshold ๋ฅผ ๋๊ณ ๊ทธ ์ดํ์ผ ๋๋ ์์ธกํ answer ๋ฅผ ๋ฑ์ง ์๋๋ค.
โ ํ๊ณ์
๐ SQuAD ๋ฌธ์ ๋ฅผ ์ ํผ๋ค๊ณ ํด์ ๋ ํด๋ฅผ ์ํ๋ค๊ณ ๋งํ ์ ์๋ค.
โฝ Span-based answers ๋ง ์กด์ฌ : yes/no, counting, implicit ์ง๋ฌธ๋ค์ ๋ํ ๋ต๋ณ์ ๊ตฌ์ฒด์ ์ธ ์ด์ ๋ฅผ ์ฐพ๊ธฐ ์ด๋ ต๋ค.
โฝ Passage ๋ด์์๋ง ์ ๋ต์ ์ฐพ๋๋ก ํ๋ ์ง๋ฌธ๊ตฌ์ฑ
- ์ฌ๋ฌ ๋ฌธ์๋ค์ ๋น๊ตํด ์ง์ง ์ ๋ต์ ์ฐพ์๋ผ ํ์๊ฐ ์์
- ์ค์ ๋ง์ฃผํ๊ฒ๋ ์ง๋ฌธ-๋ต๋ณ (๋ฐ์ดํฐ) ๋ณด๋ค, ์ฝ๊ฒ ๋ต๋ณ์ ์ฐพ์ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ ํ๊ณ
โฝ ๋์ผ ์ง์์ด (coreference) ๋ฌธ์ ๋ฅผ ์ ์ธํ๊ณ ๋ Multi-fact ๋ฌธ์ , ๋ฌธ์ฅ ์ถ๋ก ๋ฌธ์ ๊ฐ ๊ฑฐ์ ์๋ค.
๐คธโ๏ธ ๊ทธ๋ผ์๋ ์ง๊ธ๊น์ง QA ๋ชจ๋ธ์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ well structed, clean ํ ๋ฐ์ดํฐ์ ์ด๋ค.
โ KorQuAD 2.0
โฝ ํ๊ตญ์ด ์ํค๋ฐฑ๊ณผ๋ก ๋ฐ์ดํฐ ๊ตฌ์ถ
2๏ธโฃ QA models
0. Bi-LSTM
๐ ๋์ํ๋ ๋จ์ด์ ์ฃผ๋ณ์ ๋ณด๋ฅผ ๊ท ํ์๊ฒ ๋ด์๋ด๊ธฐ ์ํด ์๋ฐฉํฅ์ผ๋ก ์ดํด๋ณธ๋ค. ์๋ฐฉํฅ LSTM ์ ์ง๊ธ๊น์ง์ LSTM ๊ณ์ธต์ ์ญ๋ฐฉํฅ์ผ๋ก ์ฒ๋ฆฌํ๋ LSTM ๊ณ์ธต๋ ์ถ๊ฐํ๋ค.
โฝ ์ฃผํฉ์ ๋ธ๋ก : forward ์ ๋ฐฉํฅ LSTM, ์ด๋ก์ ๋ธ๋ก : backward ์ญ๋ฐฉํฅ LSTM
โฝ model input ํํ : Tokenizing ๊ณผ Embedding ๊ณผ์ ์ด ์๋ฃ๋ sequence ๐ forward, backward ๋ฐฉํฅ์ LSTM ์ ๊ฐ๊ฐ ์ ๋ ฅ๋๋ค.
โฝ forward LSTM Cell ๊ณผ backward LSTM Cell ์ ์๋๊ฐ์ Concat (๊ฐ timestep๋ณ๋ก) ํ์ฌ, ์ดํ ๋ชจ๋ concat ๊ฒฐ๊ณผ๋ฌผ์ ๊ฐ์ง๊ณ ์ต์ข ์ถ๋ ฅ์ ๋ฝ๊ฒ ๋๋ค.
1. Stanford attentive reader +
โ ๊ฐ์
โฝ simplest neural question answering system
โฝ Bi-LSTM ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด ๊ฐ ๋ฐฉํฅ์ ์ต์ข hidden state ๋ค์ concat ํ์ฌ question vector ๋ก ์ฌ์ฉํ๋ค.
โ ๋ชจ๋ธ ๊ตฌ์กฐ : 3 parts
1๏ธโฃ Question vector ์์ฑ
(1) Glove ์ฌ์ ์๋ฒ ๋ฉ ์ฌ์ฉ
(2) One layer ์ Bi-LSTM ์ฌ์ฉ
(3) ์๋ฐฉํฅ์ ๋ง์ง๋ง hidden state ๋ค์ concatenate
(4) question vector ์์ฑ
- ์ฃผ์ด์ง ๋ฌธ์ฅ์ ์๋ ๋จ์ด๋ค์ ์ฌ์ ์ ํ์ต๋ 300 ์ฐจ์์ GloVe word embedding ์์ lookup ์ ์งํํ ํ, 1-layer ์๋ฐฉํฅ LSTM ๋ชจ๋ธ์ ์ง์ด๋ฃ๋๋ค. ๊ฐ ๋ฐฉํฅ์ ๋ง์ง๋ง hidden state ๋ค์ concatenate ํ์ฌ ๊ณ ์ ๋ size ์ question vector ๋ฅผ ์ป๋๋ค.
2๏ธโฃ Passage vector ์์ฑ
(1) Glove ์ฌ์ embedding ์ฌ์ฉ
(2) One layer Bi-LSTM ์ฌ์ฉ
(3) ์๋ฐฉํฅ์ hidden state position ๋ณ๋ก concatenate → passage ๋จ์ด ๊ฐ์๋งํผ!
(4) Passage vector ์์ฑ
- passage ์ ๊ฐ ๋จ์ด ๋ฒกํฐ๋ค๋ ๋๊ฐ์ด Bi-LSTM ์ ์ฌ์ฉํ์ฌ, ๊ฐ ๋จ์ด ์์ ์ ๋ ๋ฐฉํฅ hidden state ๋ฅผ concat ํ์ฌ passage word vector ๋ก ์ฌ์ฉํ๋ค.
3๏ธโฃ Attention ์ ์ฉ
โญ passage ์์ ์ด๋๊ฐ answer ์์์ด๊ณ ๋์ธ์ง ์์ธก โญ
(1) αi : i ๊ฐ์ p (passage) ๋ฒกํฐ์ ํ ๊ฐ์ q (question) ๋ฒกํฐ๋ฅผ ์ด์ฉํด attention ์ ์ ์ฉํ ํ softmax
(2) Os : αi์ pi ๋ฒกํฐ๋ฅผ ๊ณฑํ์ฌ ๋ชจ๋ ๋ํจ
(3) αs: Os ์ linear transform ์ ์ทจํจ
๐จ Attention : ํด๋น ์์ ์์ ์์ธกํด์ผํ ๋จ์ด์ ์ฐ๊ด์ด ์๋ ์ ๋ ฅ ๋จ์ด ๋ถ๋ถ์ ์ข ๋ ์ง์ค(attention)ํด์ ๋ณด๊ธฐ
- 1 ๊ฐ์ question vector ์ i ๊ฐ์ passage vector ๋ค์ ๋ํด attention ์ ์ ์ฉํ์ฌ passage ์์ ์ด๋๊ฐ answer ์์์ด๊ณ ๋์ธ์ง๋ฅผ ํ์ตํ๋ ๋ฐฉ์
- softmax ๋ฅผ ์ทจํ ๊ฐ์ธ αi ์ passage vector Pi ๋ฅผ ๊ณฑํ ๋ค, ์ ๋ถ ๋ํ๋ฉด output vector Os ๊ฐ ๋์ค๊ณ , ์ด๋ฅผ linear transform ์ ์์ผ์ค ๊ฐ์ด start token ์ ๋ํด ์์ธก์ ์ํํ๋ค. ์ด์ ๋๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก end token ์ ๋ํด์๋ ์์ธก์ ์ํํ๋ค.
- start token ๊ณผ end token ์ loss ๊ฐ์ ๋ํ ๊ฒ์ด ์ต์ข ๋ชฉ์ ํจ์๊ฐ ๋๊ณ ์ด๋ฅผ ์ค์ฌ ๋์๊ฐ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ชจ๋ธ์ ํ์ตํ๋ค.
2. Stanford attentive reader ++ (DrQA)
โ ๋ชจ๋ธ ๊ตฌ์กฐ
๐จ 3 layer Bi-LSTM
โญ ์ด์ ์๋ ์ต์ข hidden state ๋ง ๊ฐ์ ธ์๋ ๊ฒ์ ์ง๊ธ์ question์ ๋ชจ๋ ๋จ์ด ์์ hidden state ์ attention ์ ๊ตฌํด์ ๊ทธ ๊ฐ์คํฉ์ question vector ๋ก ์ฌ์ฉ
โ Paragraph Encoding
โพ 3-layer Bi-LSTM
โพ input embedding ์ ๋ํด GloVe vector ๋ง์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋, ๋จ์ด๋ณ๋ก ๋ณ๋์ ์ถ๊ฐ feature ๋ฅผ ๋ถ์ฌ์ฃผ์๋ค ๐ ์ธ์ดํ์ ํน์ฑ์ ๋ด์ ํ์ฌ์ ๋ณด (POS) ์ NER ํ๊ทธ๋ค์ ์ํซ์ธ์ฝ๋ฉํ ๋ฒกํฐ๋ก ๋ถ์ฌ์ค
โพ Unigram probability ์ถ๊ฐ ๐ Term frequency ๋ฐ์
โพ EM : ๋ฌธ๋จ ๋ด ํด๋น ๋จ์ด๊ฐ ์ง๋ฌธ์ ๋ฑ์ฅํ๋์ง ์๋์ง๋ฅผ ํ๋จํ๋ feature
โฝ 3 binary features : exact (์ ํํ ์ผ์น), uncased (์์), lemma (์ด๊ทผ์ถ์ถ์ ํ๊ฒ๋๋ฉด ์ผ์นํ๋์ง ์ฌ๋ถ)
โพ Aligned question embedding
โฝ Question ์ ๋จ์ด qi ์ paragraph ๋จ์ด์ pi ์ ์ ์ฌ๋๋ฅผ ํฌ์ฐฉํ๊ธฐ ์ํจ
โฝ soft alignmnet : ์ ํํ ๋จ์ด์ ํํ๊ฐ ์ผ์นํ๊ฑฐ๋, lemma ๋ฅผ ๊ฑฐ์ณ๋ ํํ๊ฐ ์ผ์นํ ๋จ์ด๋ ์๋์ง๋ง ์๋ก ์ ์ฌํ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋จ์ด
โฝ soft alignmnet ๋ฅผ ์ถ๊ฐํด์ค ์ ์๋ค.
๐ ์ดํ attention ๊ณผ์ ์ SAR+ ๊ณผ ๊ณผ์ ์ด ๊ฐ์
๐ BiDAF ๊ฐ์ ๋ณต์กํ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ์ฑ๋ฅ์ด ๋์๋ ๋ชจ๋ธ
3. BiDAF
โ ๊ฐ์
๐ Bidirectional Attention Flow → BERT ๊ฐ ๋ฑ์ฅํ๊ธฐ ์ ์ ๊ฐ์ฅ ์ ๋ช ํ reading comprehension ๋ชจ๋ธ ์ค ํ๋์์
โญ attention ์ด (pharagraph <-> question) ์๋ฐฉํฅ์ผ๋ก ์ ๋ฌ๋๋ ์
- Query (question) ๊ณผ Context (passage) ์ฌ์ด์ attention flow layer ๊ฐ bi-directional ์ผ๋ก ๋์ํ๋ ๊ฒ์ด ํต์ฌ
- ๊ฐ question word ์ passage word ์๋ก ๊ฐ์ ์ ์ฌ๋ ๊ธฐ๋ฐ
โ model architecture
โ Embedding layer
- Glove ๋ก ์๋ฒ ๋ฉํ์ฌ ๊ฐ ๋จ์ด์ ๋ํด word vector ๋์ถ + Character level CNN ์ ํตํด ๊ณ ์ ๋ ํฌ๊ธฐ์ Character vector ๋์ถ ๐จ Concatenate
- Concat ํ ๋ฒกํฐ๋ฅผ Two-layer Highway Network (f) ๋ฅผ ๊ฑฐ์น ํ Bi-directional LSTM ์ ๋ฃ์ด์ค๋ค.
- Bi-LSTM ์ผ๋ก ๋์ถ๋ ์๋ฐฉํฅ hidden state ๋ฅผ concat ๐จ Contextual embedding ์์ฑ → Attention layer ์ ์ ๋ ฅ์ด ๋จ
โก Attention Flow layer
๐จ input : query ์ context ์ contextual vector representation (ci, qj)
๐จ output : context ๋จ์ด๋ค์ query-aware vector representation (gi) , ์ด์ layer ์ contextual embedding
- ๋ชจ๋ (ci, qj) ์์ ๋ํด ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ๋ค.
- ์๋ฐฉํฅ attention ์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํ์ฌ Shared similarity matrix S ๋ฅผ ์ฌ์ฉํ๋ค.
- S ๋ α ๋ผ๋ ํจ์๋ฅผ ๊ฑฐ์ณ ๋์ถ๋๋ค.
- α : h ์ u ๊ทธ๋ฆฌ๊ณ h ์ u ๋ฅผ element wise ๋ก ๊ณฑํ ์ด 3๊ฐ์ ๋ฒกํฐ๋ฅผ concat ํ ํ linear transform ์ ํด์ค๋ค.
2-(1). Context2Query Attention
โพ ๊ฐ context ๋จ์ด์ ๋ํด ๊ฐ์ฅ ์ ์ฌํ query ๋จ์ด ์ฐพ๊ธฐ (์ง๋ฌธ์ ์ด๋ค ๋จ์ด๋ค์ด ci ์ ์ฐ๊ด์ด ์๋๊ฐ)
2-(2). Query2Context Attention
โพ query ๋จ์ด ์ค ํ๋์ ๊ฐ์ฅ ๊ด๋ จ์๋ context ๋จ์ด๋ค ์ ํํ๊ธฐ (๋ฌธ๋จ์์ ์ด๋ค ๋จ์ด๋ค์ด ์ง๋ฌธ ๋จ์ด์ ์ฐ๊ด์ด ์๋๊ฐ)
2-(3). Combine contextual embedding , attention vectors
โข start token, end token ์์ธก
๐จ Modeling layer
โพ gi ๋ฅผ ๋ ๋ค๋ฅธ bidirectional LSTM ์ 2๊ฐ layer ๋ก ์ ๋ฌ
โพ Context ๋จ์ด๋ค ์ฌ์ด์ interation ์ ๋ชจ๋ธ๋ง
๐จ Output layer
โพ start, end ์ ์์น๋ฅผ ์์ธกํ๋ classifier
โพ Training : start point ์ Negative log likelihood ์ end point ์ Negative log likelihood ์ ํฉ
โฃ Attention visualization
4. ELMO, BERT ๐ 2021 version ๊ฐ์
'1๏ธโฃ AIโขDS > ๐ NLP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ ์คํธ ๋ถ์ โก (0) | 2022.05.17 |
---|---|
ํ ์คํธ ๋ถ์ โ (0) | 2022.05.14 |
[cs224n] 9๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.05.09 |
[cs224n] 8๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.05.09 |
[cs224n] 7๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.04.21 |
๋๊ธ