역전파법 back-propagationnlp.jbnu.ac.kr/papers/kcc2019_nr3_odqa.pdf · 2020. 7. 16. · title:...
TRANSCRIPT
NIL을 고려한 한국어 오픈 도메인 질의응답
2019.06.27
이영훈O1, 나승훈1, 최윤수2, 장두성2
1전북대학교, 2KT
• Background
• Related Works
• NR3 : NIL-aware Reinforced Ranker-Reader
• Experiment Result
• Conclusion
2
Contents
3
기계독해(MRC : Machine Reading Comprehension)
기계가 주어진 문맥을 이해하고, 질문에 대한 답을 찾는 것을 목표로 함
피카소는 … 파리의 발전상을
고향 스페인에 알리는 등의 노력을 했다….
Q: 피카소는 어느 나라 사람이야?
4
질의응답 데이터 셋 : SQuAD, KorQuAD
SQuAD(Stanford Question Answering Dataset)KorQuAD(Korean Question Answering Dataset)
5
질의응답 데이터 셋 : SQuAD 2.0
문서(Passage)에 항상 정답이 존재함
정답이 존재하지 않는 경우 (Unanswerable)을 포함한 데이터 셋문서-질문을 보고 정답을 알 수 없거나, 정답이 존재하지 않는 경우
SQuAD, KorQuAD
6
Closed-Domain / Open-Domain
• Closed-Domain
- 한정된 도메인
- Out of domain 문제
• Open-Domain
- 특정 도메인에 종속 X
- 포괄적인 질문-정답 유형
- 추가적인 문제 해결 방법 요구
IRQA (Information Retrieval QA)
…
KBQA (Knowledge Based QA)
WBQA (Web Based QA)
7
Closed-Domain / Open-Domain
• Closed-Domain
- 한정된 도메인
- Out of domain 문제
• Open-Domain
- 특정 도메인에 종속 X
- 포괄적인 질문-정답 유형
- 추가적인 문제 해결 방법 요구
IRQA (Information Retrieval QA)
…
KBQA (Knowledge Based QA)
WBQA (Web Based QA)
8
IRQA (Information Retrieval QA)
주어진 질문에 대해 적합한 문서를 검색
Q: 피카소는 어느 나라 사람이야?
IR
Passage
A: 스페인
Reading
기계독해(MRC)
?
문서(Passage)에 정답이 존재하지 않는 경우 치명적!
9
NIL Problem
IR
Passage
• NIL : 문서(Passage)에 정답이 포함되어 있지 않음 Unanswerable
NIL
Non-NILNIL detection
• IRQA에서는 NIL detection이 매우 중요한 요소
!
10
FusionNet: Fusing Via Fully-Aware Attention With Application To Machine Comprehension [Huang, ICLR ‘18]
• 모델이 깊어질수록 고차원의 추상화
• Low, High, Understanding Level의 3단계의 Hidden State 사용하여 표상 구성
• 사람이 어떠한 의미에 대해 생각할 때와 마찬가지로 낮은 수준부터 높은 수준까지의 의미를 고려
11
Multi-level Co-Attention + Verify를 이용한 기계독해[박광현, 나승훈, 최윤수, 장두성, 한국정보과학회 ‘18]
• FusionNet을 Co-Attention을 이용하여 확장한 Multi-level Co-Attention Fusion를 기계 독해에 적용하여성능을 향상시킴
12
𝐑𝟑: Reinforced Ranker-Reader for Open-Domain Question Answering
[S. Wang, AAAI‘18]
• 강화학습을 이용하여 선택한 문서에 정답이 존재할 경우 보상을 주는 방식
• Ranker를 통해 여러 후보 문서 집합에서 최적의 문서 찾음
13
1. Information Retrieval2. Encoding / Matching3. NIL Representation4. Ranker5. Reader
제안 모델 : NIL-Aware R3 구조
이미 선택된 문서라도검증의 역할을 함
문서 선택 단계에서의NIL 탐지
14
1. Encoding / Matching
• MCAF (Multi-level Co-Attention Fusion)
Document P = {w1P, … , wm
P }
Question Q = {w1Q, … ,wn
Q}
𝒈 = GloVe 임베딩𝒆 = ELMo
Passage Question
Low-level
High-level
Understanding-level
ℎ𝑝𝑙 = 𝐵𝑖𝐿𝑆𝑇𝑀 𝑔𝑝; 𝑒𝑝 , ℎ𝑞𝑙 = 𝐵𝑖𝐿𝑆𝑇𝑀 𝑔𝑞; 𝑒𝑞
ℎ𝑝ℎ = 𝐵𝑖𝐿𝑆𝑇𝑀 ℎ𝑝𝑙 , ℎ𝑞ℎ = 𝐵𝑖𝐿𝑆𝑇𝑀 ℎ𝑞𝑙
𝐻𝑝 = ℎ𝑝𝑙; ℎ𝑝ℎ; 𝑒𝑝 , 𝐻𝑞 = [ℎ𝑞𝑙; ℎ𝑞ℎ; 𝑒𝑞]ℎ𝑝𝑙 , ℎ𝑞𝑙 = 𝐶𝑜𝐴𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛 𝐻𝑝, 𝐻𝑞 , ℎ𝑝𝑙 , ℎ𝑞𝑙
ℎ𝑝ℎ, ℎ𝑞ℎ = 𝐶𝑜𝐴𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛 𝐻𝑝, 𝐻𝑞 , ℎ𝑝ℎ, ℎ𝑞ℎ
ℎ𝑝𝑢 = 𝐵𝑖𝐿𝑆𝑇𝑀 ℎ𝑝𝑙; ℎ𝑝ℎ ,
ℎ𝑞𝑢 = 𝐵𝑖𝐿𝑆𝑇𝑀 ℎ𝑞𝑙; ℎ𝑞ℎ
ℎ𝑝𝑢, ℎ𝑞𝑢 = 𝐶𝑜𝐴𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛 𝐻𝑝, 𝐻𝑞 , ℎ𝑝𝑢, ℎ𝑞𝑢
𝒇𝒑 = 𝐵𝑖𝐿𝑆𝑇𝑀 [ℎ𝑝𝑙; ℎ𝑝ℎ; ℎ𝑝𝑢]
• 𝐶𝑜𝐴𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛(𝑥1, 𝑦1, 𝑥2, 𝑦2)
𝑫 = 대각행렬𝐖= 학습 파라미터
𝑆 = 𝑅𝑒𝐿𝑈 𝑊𝑥1𝑇 ∙ D ∙ 𝑅𝑒𝐿𝑈 𝑊𝑦1
𝛼 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑐𝑜𝑙 𝑆 , 𝛽 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑟𝑜𝑤(𝑆)𝑝 = 𝛼 ∙ y2, 𝑞 = 𝛽𝑇 ∙ x2
Ƹ𝑝 = 𝑓𝑢𝑠𝑖𝑜𝑛(𝑥2, 𝑝), ො𝑞 = 𝑓𝑢𝑠𝑖𝑜𝑛(𝑦2, 𝑞)
• Multi-level Co-Attention Fusion
질문의 정보를 결합한 𝒇𝒑
Matching 단계 최종 문서 표현 𝑼𝒑
15
1. Encoding / Matching
• MCAF (Multi-level Co-Attention Fusion)
• 𝑓𝑢𝑠𝑖𝑜𝑛(𝑥, 𝑦)
𝑥 = 𝑔𝑒𝑙𝑢 𝑊𝑟 𝑥; 𝑦; 𝑥 ∘ 𝑦; 𝑥 − 𝑦
𝑔 = 𝜎 𝑊𝑔 𝑥; 𝑦; 𝑥 ∘ 𝑦; 𝑥 − 𝑦
𝑜 = 𝑔 ∘ 𝑥 + (1 − 𝑔) ∘ 𝑥
gelu = Gaussian Error Linear Unitσ = Sigmoid
• 𝐴𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛𝐹𝑢𝑠𝑖𝑜𝑛(𝑥1, 𝑦1, 𝑥2, 𝑦2)
𝑆 = 𝑅𝑒𝐿𝑈 𝑊𝑥1𝑇 ∙ 𝐷 ∙ 𝑅𝑒𝐿𝑈 𝑊𝑦1
𝛼 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑆v = 𝛼 ∙ y2
𝑜 = 𝑓𝑢𝑠𝑖𝑜𝑛(𝑥2, 𝑣),
• 𝑆𝑒𝑙𝑓−𝐴𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛
𝐹𝑝 = [ℎ𝑝𝑙; ℎ𝑝ℎ; ℎ𝑝𝑙; ℎ𝑝ℎ; ℎ𝑝𝑢; 𝑓𝑝; 𝑒𝑝]መ𝑓𝑝 = 𝐴𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛𝐹𝑢𝑠𝑖𝑜𝑛(𝐹𝑝, 𝐹𝑝, 𝑓𝑝, 𝑓𝑝)
𝑼𝒑 = BiLSTM([𝑓𝑝; መ𝑓𝑝])
Passage Question
Low-level
High-level
Understanding-level
질문의 정보를 결합한 𝒇𝒑
Matching 단계 최종 문서 표현 𝑼𝒑
16
2. NIL Representation
• NIL Representation- 질문의 정보를 결합한 𝒇𝒑
- Matching 단계 최종 문서 표현 𝑼𝒑
- Parallel / orthogonal 요소로 분해
- 모든 단어 차원에 대해서 max-pooling 적용 : NIL Vector ෝ𝒏
𝑦= =𝑈𝑝𝑓𝑝
𝑇
𝑓𝑝𝑓𝑝𝑇𝑓𝑝, 𝑦⊥ = 𝑈𝑝 − 𝑦=
𝑦𝑎 = tanh(𝑦=𝑊𝑎 + 𝑦⊥𝑊𝑎 + 𝑏𝑎)
• Evidence Decomposition-Aggregation- [S. Kundu, 2018]에서 제안된 방법- 의미적으로 관련이 있는 요소와 없는 요소들을 분해 : NIL 질문일 확률 조절- 결합 시 특정 단어에 도움이 되거나 그렇지 않은 Evidence를 모두 결합하여 구성
17
3. Ranker
• 정답이 포함 되어 있을 가능성이 가장 높은 문서 선택• 문서 집합 중에서 정답을 포함하고 있는 문서에 보상을 주는 방식의 강화학습• NIL-Passage를 추가하여 문서 선택 단계에서 NIL 탐지
𝐻𝑟𝑎𝑛𝑘 = 𝐵𝑖𝐿𝑆𝑇𝑀([𝑓𝑝; መ𝑓𝑝])
𝑢𝑖 = MaxPooling Hirank
𝐶 = tanh 𝑊𝑐[ ො𝑛; 𝑢1; … ; 𝑢𝑁]𝑟 = softmax 𝑤𝑐𝐶
…
Ranker
NIL-Rep
𝑁𝐼𝐿
𝐻1𝑅𝑎𝑛𝑘
𝑢1
𝐻2𝑅𝑎𝑛𝑘
𝑢2
𝐻𝑁𝑅𝑎𝑛𝑘
𝑢𝑁
BiLSTM
Max-pooling
Passage Selection
𝑅(𝑎𝑔, 𝑎𝑟𝑐|𝜏)
= ൞2, 𝑖𝑓 𝑎𝑔 == 𝑎𝑟𝑐
𝑓1 𝑎𝑔, 𝑎𝑟𝑐 , 𝑒𝑙𝑠𝑒 𝑖𝑓 𝑎𝑔 ∩ 𝑎𝑟𝑐! = ∅−1, 𝑒𝑙𝑠𝑒
• RewardMCAF
(Multi-Level Co-Attention Fusion)
18
4. Reader
• 문서에서의 정답의 시작과 끝의 확률 계산을 통해 정답 추출• NIL-Dummy를 추가하여 이미 선택된 문서라도 NIL 탐지 가능
𝐻𝑖𝑟𝑒𝑎𝑑𝑛𝑖𝑙 = [ො𝑛;Hi
read]
𝐹𝑠 = tanh Ws H𝜏𝑟𝑒𝑎𝑑𝑛𝑖𝑙 , H𝑛𝑒𝑔1
𝑟𝑒𝑎𝑑𝑛𝑖𝑙 , … , H𝑛𝑒𝑔𝑛
𝑟𝑒𝑎𝑑𝑛𝑖𝑙
Pstart = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑤𝑠𝐹𝑠)
Ws, ws : 시작점 파라미터
MCAF(Multi-Level Co-Attention Fusion)
Ranker Reader
𝐻𝜏𝑅𝑒𝑎𝑑
𝐴𝑛𝑠𝑤𝑒𝑟
𝑃𝜏
Passage Selection
NIL-Rep
…
19
Experiment Setting
• 문서 색인 : Elastic Search (루씬 기반의 검색 엔진)
- 색인 문서 개수
색인 문서 종류 #색인 문서
한국어 위키피디아 1,945,323
한겨레 뉴스 1,398,688
네이버 지식백과/포스트 871,588
• KT 질의응답 데이터 셋
- 실험 데이터 셋 개수
데이터 셋 학습 셋 개발 셋 평가 셋
#질문(#NIL/#Non-NIL)
15390(5327/10063)
900(303/597)
1800(599/1201)
Data Set* ModelNon-NIL(Answer)Precision*
Non-NIL(Answer)Recall*
Non-NIL(Answer)
F1
NIL(NotAns)Precision*
NIL(NotAns)Recall*
NIL(NotAns)
F1
All (900) HasAns (597)
EM F1 EM F1
Positive R3 - - 47.22 53.30 71.19 76.17
Positive + Negative
NR381.31
(552/679)92.46
(552/597)86.52
79.64(176/221)
58.09(176/303)
67.18 65.11 67.69 68.68 72.57
• SQuAD 2.0과 동일하게 NIL(Unanswerable) 질문을 예측할 경우, 정답으로 가정하여 평가를 진행
• Positive : Non-NIL 데이터만을 이용하여 학습 (R3), Positive + Negative : Non-NIL/NIL 데이터 모두 이용하여 학습 (NR3)
• All : 모든 데이터 (Non-NIL + NIL), HasAns : 정답을 가지고 있는 데이터 즉, Non-NIL 데이터
• NIL Precision =#𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑙𝑦 𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑁𝑖𝑙
#𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑁𝑖𝑙, NIL Recall =
#𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑙𝑦 𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑁𝑖𝑙
#𝑁𝑖𝑙 𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛𝑠, NIL F1 = 2 ×
𝑁𝑖𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑁𝑖𝑙 𝑟𝑒𝑐𝑎𝑙𝑙
𝑁𝑖𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+ 𝑁𝑖𝑙 𝑟𝑒𝑐𝑎𝑙𝑙
• Non-NIL Precision =#𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑙𝑦𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑𝑁𝑜𝑛−𝑁𝑖𝑙
#𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑𝑁𝑜𝑛−𝑁𝑖𝑙, Non-NIL Recall =
#𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑙𝑦𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑𝑁𝑜𝑛−𝑁𝑖𝑙#𝑁𝑜𝑛−𝑁𝑖𝑙𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛𝑠
, Non-NIL F1 = 2×𝑁𝑜𝑛−𝑁𝑖𝑙𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛×𝑁𝑜𝑛−𝑁𝑖𝑙𝑟𝑒𝑐𝑎𝑙𝑙𝑁𝑜𝑛−𝑁𝑖𝑙𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑁𝑜𝑛−𝑁𝑖𝑙𝑟𝑒𝑐𝑎𝑙𝑙
Dev (Nil Question/Total Question : 303/900)
TEST (Nil Question/Total Question : 599/1800)
실험 결과
Data Set* ModelNon-NIL(Answer)Precision*
Non-NIL(Answer)Recall*
Non-NIL(Answer)
F1
NIL(NotAns)Precision*
NIL(NotAns)Recall*
NIL(NotAns)
F1
All (1800) HasAns (1201)
EM F1 EM F1
Positive R3 - - 44.39 51.51 66.53 72.78
Positive + Negative
NR379.79
(1086/1361)90.42
(1086/1201)84.78
73.80(324/439)
54.09(324/599)
62.43 61.44 64.38 65.45 69.71
21
결론 및 향후 연구
• 결론- 오픈 도메인 질의 응답에서 문서에 정답이 포함되어있지 않는 경우에
대해서 NIL-Passage와 NIL-dummy를 이용하여 NIL을 탐지할 수 있도
록 R3 모델을 확장한 NR3를 제안하고, 성능을 측정하여 모델의 효과
성을 보임.
• 향후 연구- 범용 언어 모델인 BERT를 적용하여 Reader의 성능을 향상
- Non-NIL 예측성능의 변동 없이 NIL을 효과적으로 탐지 할 수 있는 방
법 연구
- Ranker의 다양한 Reward를 통하여 더욱 효과적으로 최적의 문서를
탐색 할 수 있는 방법 연구
22
Q/A