3. 자연어처리 – 개요
3
S
NP VP
N N V
나는 사과를 먹었다
• 형태소분석: 문장을 형태소 단위로 분리
어휘적 중의성 존재: ex. “감기는”의 결과
감기(명사:cold)+는(조사)
감(동사 어간)+기(명사화 어미)+는(조사)
감(동사 어간)+기는(어미)
나는 사과를 먹었다
sub
obj
• 구문분석: 문장을 구성하는 성분들간의 관계를 분석
어휘적 중의성과 구조적 중의성 존재
Time flies like light flies: 명사 or 동사 2
가지 이상 tree
A man see a woman with a telescope 전치
사구가 see or woman을 수식 2가지 이상
tree
Ex. “나는 사과를 먹었다"의 구문분석 결과
• 자연어처리 분석 단계
형태소 분석
(Morphological Analysis)
구문 분석
(Syntax Analysis)
의미 분석
(Semantic Analysis)
분석 결과
자연언어문장
담화 분석
(Discourse Analysis)
4. 자연어처리 – 개요 (Cont‘d)
4
• 의미분석: 문장이 나타내는 의미를 분석하여 표현
단어 중의성 해소
단어가 현재 문장에서 어떤 의미로 사용되었는
지 분석
Ex) “말이 많다” 말: horse or speech ?
의미역 결정
서술어와 관계있는 논항의 역할을 결정
Ex) “먹다”의 행위주(agent)=“나“, 대상
(theme)=“사과”
• 자연어처리 분석 단계
형태소 분석
(Morphological Analysis)
구문 분석
(Syntax Analysis)
의미 분석
(Semantic Analysis)
분석 결과
자연언어문장
담화 분석
(Discourse Analysis)
• 담화분석: 문장간의 관계를 분석하여 표현
상초참조해결
같은 대상을 지칭하는 명사구들을 하나의 엔티
티(Entity)로 묶어주는 과정
“A씨는… B씨는 … 그는 …” 그: A or B ?
응집성(Coherence) 분석
담화는 내적 구조를 가짐: 조건, 결과, 요약, …
담화 구조 분석
화행(Speech act) 분석
화행: 발화에 나타난 화자에 의해 의도된 언어
적 행동 – 정보요구, 정보제공, 응답, 확인, 거절,
…
5. 자연어처리 특징
• Natural languages are ambiguous
– Rule Classification (Maximum Entropy,
SVM) Deep Learning
• NLP datasets are high dimensional
– One-hot representation Continuous
representation (Word Embedding)
• Many NLP problems can be viewed
as sequence labeling tasks
– Hidden Markov Model(HMM)
Conditional Random Fields (CRF) Deep
Learning (RNN)
• Many NLP problems can be posed as
sequence-to-sequence tasks
– Rule Statistical Machine Translation
Neural MT
• “감기는” 감기(명사) or 감다(동사) + 기
• “말이 많다” 말 = horse or speech ?
• “A씨는… B씨는 … 그는 …” 그: A or B ?
• Ex. [0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0]
• Dimensionality
• 50K (PTB) – 500K (big vocab) – 3M …
6. Recurrent Neural Network
• Many NLP problems can be viewed as sequence
labeling or sequence-to-sequence tasks
• “Recurrent” property dynamical system over time
7. Long Short-Term Memory RNN
• Vanishing Gradient Problem for RNN
• LSTM can preserve gradient information
12. Transformer-XL (ACL19)
• Language Model
• Transformer + RNN
– Recurrence Mechanism
• Relative Positional Encoding
– Absolute position relative
distance
출처: https://www.lyrn.ai/2019/01/16/transformer-xl-sota-language-model/
13. Adaptive Attention Span in
Transformers (ACL19)
• Learn the attention span of each head independently
• Extend significantly the maximum context size used in Transformer
• Language modeling
14. Learning Deep Transformer Models
(ACL19)
• Pre-norm is the key to learning deep encoders
• Dynamic linear combination of layers (DLCL)
• Successfully train a 30-layer encoder
18. BERT – cont’d
• BERT pre-training
– Masked Language
Model
• 15%의 token을 mask
• Mask token의 80%는
mask, 10%는 random
word, 10%는
unchanged word
– Next Sentence
Prediction
• 두 문장이 연속된 문장
인지 분류
BERT Pre-training 모델
Next Sentence
Prediction
Masked LM
Tok1 TokN
19. BERT – cont’d
• Fine-tuning
– 11개의 NLP tasks
에 적용
– 11개 모두 최고
성능
20. OpenAI GPT
• Generative Pre-Training
– Transformer’s decoder
– No encoder-decoder
attention sublayer
– Masked multi self
attention
25. HIBERT (ACL19)
• Document Level Pre-training of Hierarchical Bidirectional Transformers for
Document Summarization
26. Byte Pair Encoding
• Neural Machine Translation of Rare Words with Subword Units
– ACL16, Rico Sennrich (University of Edinburgh)
• Byte Pair Encoding (BPE) is a simple data compression technique
– Iteratively replaces the most frequent pair of bytes in a sequence with a single, unused byte
27. Byte Pair Encoding – cont’d
• 한국어 어절 + BPE
– 프랑스의_ 르 노_ 자동차_ 그룹 은_ 다음 주_
김 대중_ 대통령의_ 프랑스_ 방문_ 중_ 한국_
삼성 자동차_ 인수를_ 공식_ 제 의 할 지_ 모
른다고_ 르 노 사의_ 한_ 관계 자가_ 1일_ 밝혔
다 ._
28. Byte Pair Encoding – cont’d
• 한국어 형태소 + BPE
– 프랑스/NNP_ 의/JKG_ 르 노/NNP_ 자동 차
/NNG_ 그룹/NNG_ 은/JX_ 다음/NNG_ 주
/NNG_ 김대중/NNP_ 대통령/NNG_ 의/JKG_
프랑스/NNP_ 방문/NNG_ 중/NNB_ 한국
/NNP_ 삼성 자동차/NNP_ 인수/NNG_ 를
/JKO_ 공식/NNG_ 제의/NNG_ 하/XSV_ ㄹ지
/EC_ 모르/VV_ ㄴ다고/EC_ 르 노 사/NNP_ 의
/JKG_ 한/MM_ 관계 자/NNG_ 가/JKS_ 1/SN_
일/NNB_ 밝히/VV_ 었/EP_ 다/EF_ ./SF_
29. 차례
• 딥러닝 기반 자연어처리 최근 연구 동향
• 딥러닝 기반의 한국어 자연어처리
30. 딥러닝 기반 한국어 의미역 결정
(한글 및 한국어 정보처리 15, 동계학술대회 15)
• 서술어 인식(PIC)
– 그는 르노가 3월말까지 인수제의 시한을 [갖고]갖.1 있다고 [덧붙였다]덧붙.1
• 논항 인식(AIC)
– 그는 [르노가]ARG0 [3월말까지]ARGM-TMP 인수제의 [시한을]ARG1 [갖고]갖.1 [있
다고]AUX 덧붙였다
– [그는]ARG0 르노가 3월말까지 인수제의 시한을 갖고 [있다고]ARG1 [덧붙였
다]덧붙.1
• Bi-LSTM+CRF 성능 (AIC)
– F1: 78.2% (+1.2)
– Backward LSTM+CRF: F1 77.6%
– S-SVM 성능 (KCC14)
• 기본자질: F1 74.3%
• 기본자질+word cluster: 77.0%
– 정보과학회 논문지 2015.02
x(t-1) x(t ) x(t+1)
y(t+1)y(t-1) y(t )
bh(t-1) bh(t ) bh(t+1)
h(t )h(t-1) h(t+1)
32. Sequence-to-sequence 기반 한국어
구구조 구문 분석 (한글 및 한국어 16)
43/SN 국/NNG+ 참가/NNG
NP NP
NP
(NP (NP 43/SN + 국/NNG) (NP 참가/NNG))
GRUGRU
GRUGRU
GRUGRU
x1
h1t-1
h2t-1
yt-1
h1t
h2t
yt
x2 xT
ct
Attention + Input-feeding
입력
선 생 <NNG> 님 <XSN> 의 <JKG> <sp> 이 야 기 <NNG> <sp>
끝 나 <VV> 자 <EC> <sp> 마 치 <VV> 는 <ETM> <sp> 종
<NNG> 이 <JKS> <sp> 울 리 <VV> 었 <EP> 다 <EF> . <SF>
정답
(S (S (NP_SBJ (NP_MOD XX ) (NP_SBJ XX ) ) (VP XX ) ) (S (NP_SBJ
(VP_MOD XX ) (NP_SBJ XX ) ) (VP XX ) ) )
RNN-search[7]
(S (VP (NP_OBJ (NP_MOD XX ) (NP_OBJ XX ) ) (VP XX ) ) (S (NP_SBJ
(VP_MOD XX ) (NP_SBJ XX ) ) (VP XX ) ) )
RNN-search +
Input-feeding +
Dropout
(S (S (NP_SBJ (NP_MOD XX ) (NP_SBJ XX ) ) (VP XX ) ) (S (NP_SBJ
(VP_MOD XX ) (NP_SBJ XX ) ) (VP XX ) ) )
모델 F1
스탠포드 구문분석기[13] 74.65
버클리 구문분석기[13] 78.74
형태소의 음절 + 품사
태그 + <sp>
RNN-search[7] (Beam size 10) 88.00
RNN-search + Input-feeding 88.68
RNN-search + Input-feeding + Dropout 89.03
33. End-to-End 한국어 형태소 분석
(동계학술대회 16)
Attention + Input-feeding + Copying mechanism
36. 포인터 네트워크를 이용한 한국어 의존구문분석
(동계학술대회 16)
CJ그룹이 대한통운 인수계약을 체결했다
SBJ
OBJMOD
37. 포인터 네트워크 기반 상호참조해결
(KCC 16, Pattern Recognition Letters 17)
• 상호참조해결: “A씨는… B씨는 … 그는 …” 그: A or B ?
• 입력: 단어(형태소) 열, 출발점(대명사, 한정사구(이 별자리 등))
– X = {A:0, B:1, C:2, D:3, <EOS>:4}, Start_Point=A:0
• 출력: 입력 단어 열의 위치(Pointer) 열 Entity
– Y = {A:0, C:2, D:3, <EOS>:4}
• 특징: End-to-end 방식의 대명사 상호참조 해결 (mention detection 과정 X)
A B C D <EOS> A C D <EOS>
Encoding Decoding
Hidden
Layer
Projection
Layer
Attention
Layer
38. 포인터 네트워크 기반 멘션 탐지
(한글 및 한국어16, ETRI Journal 17)
• 멘션 탐지
– 멘션의 중복: … [[[조선 중기+의] 무신] 이순신+이] …
– BIO representation 가장 긴 멘션만 탐지 가능
• 기존: 구문 분석 정보 + 규칙
• 포인터 네크워크 기반 멘션 탐지 중복된 모든 멘션 탐지 가능
– … [[[조선 중기+의] 무신] 이순신+이] …
Model Long boundary All boundary
Rule-based MD[5] 44.08 72.42
Bi-LSTM CRF based MD 76.24
Pointer Networks based MD 73.23 80.07
40. Korean BERT Pre-training (ETRI)
• 학습 데이터
– 뉴스 및 위키피디아
• 23.5 GB
– 형태소 분석 후,
BPE(Byte Pair Encoding)
적용
• Vocab size: 30,349
• BERT-base
– L=12, H=768, A=12
– 최대 문장 길이: 512
• ETRI에서 학습 및 배포
– 엑소브레인 과제
Next Sentence
Prediction
Masked LM
Tok1 TokN
41. BERT 기반 개체명 인식
• BERT + Bi-LSTM + CRF
• 학습/평가셋: ETRI TV
domain NE set (15 tags)
• 사전 자질 추가
• 성능
– GRU+CRF: F1 85.27%
– BERT+LSTM+CRF: F1
87.59% (+2.3)
42. BERT 기반 한국어 개방형 정보추출
(KCC 19)
• BERT + Bi-LSTM + CRF
– 동사와의 위치 자질 추가
• 학습셋
– Parsing+SRL+Rule 자동 추출
결과
– News 10,000 문장
– Wiki 10,000 문장
• 평가셋
– News 50 문장 + Wiki 50 문장
– 202 + 172 트리플
News Wiki
Parsing+SRL+Rule
Prec 72.59 70.87
F1 58.16 60.20
BLSTM+CRF
Prec 70.29 63.64
F1 57.06 52.56
BERT+LSTM+CRF
Prec 72.30 72.66
F1 61.14 62.00
43. BERT 기반 한국어 의존구문분석
(KCC 19)
• BERT + Bi-LSTM + Deep
Biaffine attention
• 학습셋
– 세종구문분석 코퍼스
• 의존구조로 변환
– 학습: 53,842 문장
– 평가: 5,817 문장
세종코퍼스 UAS LAS
이창기[16] with MI 90.37 88.17
나승훈[6]: deep biaffine attention 91.78 89.76
박천음[5]: 포인터 네트워크 92.16 89.88
안휘진[10]: deep biaffine + 스택 포인터 네트워크 92.17 90.08
박성식[11]: ELMo + 멀티헤드 어텐션 92.85 90.65
BERT + LSTM deep biaffine (ours) 94.02 91.97
𝑠𝑗,𝑖
𝑎𝑟𝑐
=
𝐡T
𝑖
𝑑𝑒𝑝
𝑈𝐡𝑗
ℎ𝑒𝑎𝑑
, 𝑏𝑖𝑙𝑖𝑛𝑒𝑎𝑟
𝐡T
𝑖
𝑑𝑒𝑝
𝑈𝐡𝑗
ℎ𝑒𝑎𝑑
+ 𝐰T
𝐡𝑗
ℎ𝑒𝑎𝑑
, 𝑏𝑖𝑎𝑓𝑓𝑖𝑛𝑒
𝐡𝑖
𝑑𝑒𝑝
= elu FFNN 𝑑𝑒𝑝
𝐫𝑖
𝐡𝑖
ℎ𝑒𝑎𝑑
= elu FFNN ℎ𝑒𝑎𝑑
𝐫𝑖
44. BERT 기반 한국어 의미역 결정
(KCC 19)
• BERT + Bi-LSTM + CRF
– 동사와의 위치 자질 추가
• 학습셋
– Korean PropBank
• 의존구조 기반으로 변환
– 학습: 19,307 문장
– 평가: 3,778 문장
[CLS] tok1 tok2 … tokn [SEP] verb
Korean PropBank F1 (AIC)
Highway BiLSTM-CRF
BERT+LSTM+CRF (ours)
78.84
85.74 (+6.9)
45. BERT 기반 한국어 상호참조해결
(KCC 19)
• BERT + Bi-LSTM + Deep
Biaffine attention
– 자질 추가
• 어절 범위, 형태소 범위, 의존구문 레이
블, 개체명 태그, 문서 타입
• 학습셋
– ETRI 퀴즈 도메인 상호참조
해결 데이터 셋
• 장학퀴즈와 wiseQA
– 학습: 2,819 문서
– 개발: 645 문서
– 평가: 571 문서
그림 1. BERT 기반 deep biaffine을 이용한 상호참조해결 모델
𝑠𝑗,𝑖
𝑐𝑜𝑟𝑒𝑓
= 𝐡T
𝑖
𝑐𝑜𝑟𝑒𝑓_𝑡𝑔𝑡
𝐔𝐡𝑗
𝑐𝑜𝑟𝑒𝑓_𝑠𝑟𝑐
+ 𝐰T 𝐡𝑗
𝑐𝑜𝑟𝑒𝑓_𝑠𝑟𝑐
𝑠𝑗,𝑖
𝑚𝑒𝑛
= 𝐡T
𝑖
𝑚𝑒𝑛_𝑡𝑔𝑡
𝐔𝐡𝑗
𝑚𝑒𝑛_𝑠𝑟𝑐
+ 𝐰T 𝐡𝑗
𝑚𝑒𝑛_𝑠𝑟𝑐
DEV
Model CoNLL F1
Ptr-net + char + ELMo 57.63
BERT-coref (ours) 67.97
TEST
Model CoNLL F1
Ptr-net + char + ELMo 49.48
BERT-coref (ours) 64.55
46. BERT 기반 한국어 기계독해
(KCC 19)
• BERT + Bi-SRU + Pointer
Net
– 자질 추가
• Exact match, term frequency,
NE tag
• 학습셋
– KorQuAD
– 학습: 60,407 개
– 개발: 5,774 개
KorQuAD EM F1
BERT-CLKT anonymous (1위) 86.22 94.08
(?) Clova AI LaRva Team (2위) 85.35 93.96
BERT+Feat+Pointer Net (ours) 85.35 93.24
BERT-Kor Clova AI LPT Team (4위) 83.79 92.63
GPT2 Kakao NLP Team (5위) 84.12 92.62