Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏.
S2-Net: SRU 기반 Self-matching Network를 이용한한국어기계
독해
강원대학교1, 마인즈랩2, 한국전자통신연구원3
박천음1, 이창기1, 홍수린2, 황이규2, 유태준2, 김현기3
2017.10.14
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 2
연구배경및 연구방법
기계 독해 (Machine Reading Comprehension)• 시스템이 주어진 문맥을 이해
• 질의응답 적용질문에 올바른 정답을 문맥 내에서 유추
기계 독해 영어 데이터 셋• bAbi (cloze-style: Children Book Test, Hill et al., 2016)
• WikiQA (answer sentence selection, Yang et al., 2015)
• SQuAD (answer span prediction, Rajpurkar et al., 2016)
• MS-MARCO (answer synthesis, Nguyen et al., 2016)
문맥2004년건조기시장에 ... 의류건조기중 LG전자는점유율 77.4%로 1위를차지했다.
질문 국내건조기시장점유율 1위누구야?
정답 LG전자
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 3
연구배경및 연구방법
기계 독해 딥 러닝 모델
제안 방법• 기계 독해 한국어 데이터 셋 구축 MindsMRC Data Set (한국어)
• 기계 독해 딥 러닝 모델 개발 S2-Net (SRU 기반 Self-matching layer 이용)
• 질문에 대한 자질 추출
DrQA, Chen et al., 2017 BiDAF, Seo et al., 2017 R-Net, Microsoft Research Asia, 2017
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 4
GRU and LSTM
GRU
LSTM
𝑖𝑡 = 𝜎 𝑊𝑖𝑥𝑥𝑡 + 𝑊𝑖ℎℎ𝑡−1 + 𝑊𝑖𝑐𝑐𝑡−1 + 𝑏𝑖
𝑓𝑡 = 𝜎 𝑊𝑓𝑥𝑥𝑡 + 𝑊𝑓ℎℎ𝑡−1 + 𝑊𝑓𝑐𝑐𝑡−1 + 𝑏𝑓
𝑐𝑡 = 𝑓𝑡⨀𝑐𝑡−1 + 𝑖𝑡⨀tanh(𝑊𝑐𝑥𝑥𝑡 + 𝑊𝑐ℎℎ𝑡−1 + 𝑏𝑐)
𝑜𝑡 = 𝜎 𝑊𝑜𝑥𝑥𝑡 + 𝑊𝑜ℎℎ𝑡−1 + 𝑊𝑜𝑐𝑐𝑡−1 + 𝑏𝑜
ℎ𝑡 = 𝑜𝑡⨀tanh(𝑐𝑡)
𝑦𝑡 = 𝑔(𝑊𝑦ℎℎ𝑡 + 𝑏𝑦)
GRU Gating. Chung, Junyoung, et al. “Empirical evaluation of gated recurrent neural networks
on sequence modeling.”
ℎ𝑡 = 1 − 𝑧𝑡 ℎ𝑡−1 + 𝑧𝑡 ℎ𝑡
𝑧𝑡 = 𝜎(𝑊𝑧𝑥𝑡 + 𝑈𝑧ℎ𝑡−1)
𝑟𝑡 = 𝜎(𝑊𝑟𝑥𝑡 + 𝑈𝑟ℎ𝑡−1)
ℎ𝑡 = tanh(𝑊𝑥𝑡 + 𝑈(𝑟𝑡⨀ℎ𝑡−1)
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 5
Simple Recurrent Unit
Simple Recurrent Unit (SRU)
• Gate 입력에서 이전 hidden state를 지운 recurrent unit 모델
• 출력 hidden state에 highway network 적용
𝑥
ℎ
𝑓
𝐶
𝑟
𝑥𝑡 = 𝑊𝑥𝑡
)𝑖𝑡 = (1 − 𝑓𝑡
𝑓𝑡 = 𝜎(𝑊𝑓𝑥𝑡 + 𝑏𝑡
)𝑟𝑡 = 𝜎(𝑊𝑟𝑥𝑡 + 𝑏𝑟
𝑐𝑡 = 𝑓𝑡 ⊙ 𝑐𝑡−1 + 𝑖𝑡 ⊙ 𝑥𝑡
ℎ𝑡 = 𝑟𝑡 ⊙ 𝑔 𝑐𝑡 + (1 − 𝑟𝑡) ⊙ 𝑥𝑡
FFNN
FFNN
HighwayNetwork
LSTM
GRU
GRU Gating. Chung, Junyoung, et al. “Empirical evaluation of gated recurrent neural networks
on sequence modeling.”
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 6
S2-Net을 이용한한국어 기계 독해
Hidden Layer (Encoding)• 질문과 문단에 자질 사용
Self-Matching Layer• 자기 자신에 대한 attention
weight 계산• 상호참조해결 효과
Modeling Layer
• 추상화 시도
Output Layer• Pointer Networks
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 7
S2-Net: Question and Passage Feature Layer
Feature Layer
• 𝑝 = [𝑓𝑒𝑚𝑏 𝑝𝑡 ; 𝑓𝑐_𝑒𝑚𝑏 𝑝𝑡 ; 𝑓𝑒𝑥𝑎𝑐𝑡_𝑚𝑎𝑡𝑐ℎ 𝑝𝑡 ; 𝑓𝑡𝑓 𝑝𝑡 ; 𝑓𝑎𝑙𝑖𝑔𝑛(𝑝𝑡)]
• 𝑞 = [𝑓𝑒𝑚𝑏 𝑞𝑡 ; 𝑓𝑐_𝑒𝑚𝑏 𝑞𝑡 ; 𝑓𝑒𝑥𝑎𝑐𝑡_𝑚𝑎𝑡𝑐ℎ 𝑞𝑡 ; 𝑓𝑡𝑓 𝑞𝑡 ; 𝑓𝑎𝑙𝑖𝑔𝑛(𝑞𝑡)]
• 단어 표현 (word embedding)𝑓𝑒𝑚𝑏 𝑝𝑡 = 𝐸(𝑝𝑡)
• 음절 표현 (character embedding)𝑓𝑐_𝑒𝑚𝑏 𝑝𝑡 = 𝐶𝐸(𝑝𝑡)
• 정확한 매치 (exact match)𝑓𝑒𝑥𝑎𝑐𝑡_𝑚𝑎𝑡𝑐ℎ 𝑝𝑡 = ∏(𝑝𝑡 ∈ 𝑞)
• 토큰 자질 (token feature)𝑓𝑡𝑓 𝑝𝑡 = 𝑇𝐹(𝑝𝑡)
• 정렬된 질문 표현 (aligned question embedding)
𝑓𝑎𝑙𝑖𝑔𝑛 𝑝𝑡 = 𝑗 𝛼𝑡,𝑗𝐸(𝑞𝑗) 𝛼𝑡,𝑗 =exp 𝛼 𝐸 𝑝𝑡 ⋅𝛼 𝐸 𝑞𝑗
𝑗′ exp 𝛼 𝐸 𝑝𝑡 ⋅𝛼 𝐸 𝑞𝑗′
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 8
S2-Net: Hidden Layer (Encoding)
Question Hidden Layer
Passage Hidden Layer
𝒒 = 𝑗 𝑏𝑗𝑞𝑗
𝑏𝑗 =exp 𝑤 ∙ 𝑞𝑗
𝑗′ exp(𝑤 ∙ 𝑞𝑗′)
𝑢𝑡𝑃 = 𝐵𝑖𝑆𝑅𝑈𝑃(𝑢𝑡−1
𝑃 , 𝑝𝑡)
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 9
S2-Net: Self-Matching and Modeling Layer
Self-Matching Layer
Modeling Layer
𝑐𝑡 = 𝑖=1𝑛 𝑎𝑖
𝑡𝑢𝑖𝑃
𝑠𝑗𝑡 = 𝑣𝑇tanh(𝑊𝑢
𝑃𝑢𝑗𝑃 + 𝑊𝑢
𝑝𝑢𝑡
𝑃)
𝑎𝑖𝑡 = exp 𝑠𝑖
𝑡 / 𝑗=1𝑛 exp(𝑠𝑗
𝑡)
ℎ𝑡𝑃 = 𝐵𝑖𝑆𝑅𝑈(ℎ𝑡−1
𝑃 , 𝑢𝑡𝑃; 𝑐𝑡
∗)
𝑔𝑡 = 𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑊𝑔 𝑢𝑡𝑃; 𝑐𝑡 )
𝑢𝑡𝑃; 𝑐𝑡
∗ = 𝑔𝑡 ⊙ 𝑢𝑡𝑃; 𝑐𝑡
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 10
S2-Net: Output Layer
Bi-linear sequence attention
출력 결과 answer span
최대 span 길이: 50 형태소
𝑃𝑠𝑡𝑎𝑟𝑡(𝑡) ∝ exp(ℎ𝑡𝑃𝑊𝑠𝒒)
𝑃𝑒𝑛𝑑(𝑡) ∝ exp(ℎ𝑡𝑃𝑊𝑒𝒒)
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 11
한국어 기계독해데이터 셋
연예, 일반 도메인 대상
뉴스와 위키피디아 문단 수집, 질문-정답 쌍
한국어 기계 독해 데이터 셋 구조
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 12
한국어 기계독해데이터 셋
한국어 기계 독해 데이터 셋 예제Title
장마철에도 빳빳하게... 물 만난 의류건조기
Paragraphs
Context_original
2004년 건조기 시장에 가장 먼저 뛰어든 LG전자를 비롯해 올해 초 삼성전자와 중견 기업까지 건조기 판
매에 나서면서 국내 건조기 생산량은 급격히 늘고 있다. 건조기의 대당 판매가격을 고려했을 때 1~2년 내
에 연간 시장 규모는 1조 원을 넘을 것으로 예상된다. 국내 건조기 시장은 LG전자가 주도하고 있다. 가격
비교사이트 다나와리서치에 따르면 올 1월부터 6월까지 판매된 의류 건조기 중 LG전자는 점유율 77.4%
로 1위를 차지했다. 가스식·전기식을 모두 판매하는 LG전자는 올해 초부터 전기식 건조기 사업에 주력하
고 있다. 회사는 올해 용량과 사용 편의성을 업그레이드한 트롬 전기식 건조기 신제품 2종을 출시했다. 올
해 제품에는 냉매를 순환시켜 발생한 열을 활용하는 ‘인버터 히트펌프’ 기술을 적용했다.
Context
[[['2004/sn', '년/nnb'], ['건조기/nng'], ['시장/nng', '에/jkb'], ['가장/mag'], ['먼저/mag'], ['뛰어들/vv', 'ㄴ/etm'],
['LG/sl', '전자/nng', '를/jko'], ['비롯하/vv', '어/ec'], ['올해/nng'], ['초/nnb'], ['삼성전자/nng', '와/jc'], ['중견/nng'], ['
기업/nng', '까지/jx'], ['건조기/nng'], ['판매/nng', '에/jkb'], ['나서/vv', '면서/ec'], ['국내/nng'], ['건조기/nng'], ['생
산량/nng', '은/jx'], ['급격히/mag'], ['늘/vv', '고/ec'], ['있/vx', '다/ef', './sf']], ... ]]
Question_original 한국 건조기 시장 점유율 1위 어딘지 알려줘
Question[[['한국/nng'], ['건조기/nng'], ['시장/nng'], ['점유율/nng'], ['1/sn', '위/nnb'], ['어디/np', '이/vcp', 'ㄴ지/ec'], ['알려
주/vv', '어/ec']]]
Answers
text_original LG전자
text [[['LG/sl', '전자/nng']]]
answer_start 95
answer_end 97
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 13
실험설정
본 논문에서 적용한 문제• 한국어 기계 독해
데이터 셋• 한국어 기계 독해 데이터 구축
• MindsMRC Data Set
• 학습 셋과 개발 셋 9:1 비율
실험 환경• Intel i7-4790 CPU (3.60 GHz)
• 32GB RAM
• Ubuntu 16.04 OS
• TITAN X (Pascal), GeForce GTX 1080, 1070
Dataset
문단수 질문수 고유질문수Dev set 6,221 16,107 8,054
Train set 55,986 141,424 70,712
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 14
실험설정
S2-Net 하이퍼 파라미터• 학습 알고리즘 Adam이용
• 학습율 (learning rate): 0.1
• 활성함수 (activation function): 모두 tanh 적용
• 모든 RNN 레이어에 SRU (CUDA level optimization) 적용
• 드랍아웃 (dropout): 모든 레이어 0.2 적용
• 히든 레이어 차원 수: 128
• 워드 임베딩 차원 수: 100
• 음절 임베딩 차원 수: 50
• Char CNN 윈도우 사이즈: [2,3,4,5,6]
• Char CNN 필터 크기: 30
• 미니 배치 (mini batch) 배치 크기: 24 or 32
• 최대 epoch: 70
• 매 epoch마다 dev셋으로 평가
성능척도 (measure)• Exact Match (EM)와 F1 이용
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 15
실험및 결과
Baseline: DrQA [3, 1, LSTM] (EM) 59.25% (F1) 74.37%
S2-Net (our) [3, 1, SRU] (EM) 64.37% (F1) 78.16%
S2-Net (our) [5, 2, SRU] (EM) 65.84% (F1) 78.98%
ModelHidden
layers
Modeling
layers
RNN
typeEM F1
DrQA(baseline)[4]
3 1
LSTM 59.25 74.37
DrQA+BiSRU[14]
SRU
64.16 77.55
BiDAF 64.01 77.29
BiDAF+SM 63.97 77.71
S2-Net (our) 64.37 78.16
DrQA+BiSRU[14]
5 2 SRU
64.94 78.16
BiDAF 64.76 78.03
BiDAF+SM 61.78 75.67
S2-Net (our) 65.84 78.98 +4.61
+3.79
𝐼𝑛𝑡𝑒𝑙𝑙𝑖𝑔𝑒𝑛𝑡 𝑠𝑜𝑓𝑡𝑤𝑎𝑟𝑒 𝐿𝑎𝑏. 16
결론
한국어 기계 독해 데이터 셋 구축
기계 독해를 위한 S2-Net 모델 제안
S2-Net과 DrQA, BiDAF, BiDAF+SM 모델 비교 실험 수행
실험 결과• Baseline DrQA에 비하여 성능 향상
• DrQA (EM) 59.25% (F1) 74.37%
• S2-Net (EM) 65.84% (+6.59%) (F1) 78.98% (+4.61%)
• 그 외의 다른 모델들(BiDAF, BiDAF+SM) 에 비하여 좋은 성능
향후 연구• 더 많은 학습 데이터 구축
• 성능 향상을 위한 자질 튜닝
• Hierarchical RNN 모델 확장