Upload
naver-d2
View
3.136
Download
4
Embed Size (px)
Citation preview
강원대 컴퓨터과학과 이창기
자연어처리 소개 ◦ 한국어 자동 띄어쓰기, 한국어 개체명 인식
자연어처리를 위한 기계학습 소개: ◦ ME, CRF, SVM, Structural SVM
한국어 자동 띄어쓰기 실험 결과 한국어 개체명 인식 실험 결과
자동 띄어쓰기 (word segmentation) ◦ 단어(한국어인 경우 어절)간의 경계를 결정하는 문제
중국어와 일본어에서는 필수적인 과정으로 이들 언어권에서 많은 연구가 진행됨 주로 통계기반 - HMM, SVM, CRF
◦ 한국어에서는 어절 단위 띄어쓰기를 하고 있음 메신저, SMS, 블로그, 트윗, 댓글 등에서 띄어쓰기 오류 문제 문자 인식기, 음성 인식기 등의 결과의 띄어쓰기 후처리 모듈
◦ 일반적으로 띄어쓰기가 완전히 무시된 한국어 문장 입력 가정 띄어쓰기가 잘 되어있는 코퍼스를 학습데이터로 사용
◦ 한국어 띄어쓰기 선행연구 주로 통계기반: HMM, CRF
본 발표 ◦ Structural SVM (Pegasos 알고리즘)을 이용한 한국어 자동 띄어쓰기
x = <아, 버, 지, 가, 방, 에, 들, 어, 가, 셨, 다, ‘.’> y = < B, I, I, I, B, I, B, I, I, I, I, I>
개체명 인식 ◦ 인명, 지명, 기관명 등의 개체명을 문서에서 추출하고 종류를 결정 ◦ Message Understanding Conference (MUC)에서 본격적으로 연구
시작 ◦ CoNLL 2002, 2003에서 더욱 발전됨
최고 성적을 낸 IBM의 시스템은 여러 기계학습 방법을 voting, 영어의 경우 약 F1=89
◦ 최근에 주로 이용되는 방법은 통계기반의 기계학습 방법 HMM, MEMM, SVMs, CRFs
본 발표 ◦ Structural SVMs 및 Pegasos 알고리즘을 이용한 개체명 인식 시스템을
소개하고, 기존의 CRFs 기반의 개체명 인식 시스템과 비교 실험 수행
x
y
한나라당/nn 조해진/nn 대변인/nc 은/jc …
B-Org — B-Per — O — O … | | | |
한나라당/nn 조해진/nn 대변인/nc 은/jc … 한나라당→−
→
→−
→−
→−
→−
⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=Ψ
OrgBncOnnPerBjcOrgBncOrgBnnOrgB
111001
),( yx
x = <한나라당/nn, 조해진/nn, 대변인/nc, …> y = < B-ORG, B-Per, O, …>
자연어처리 소개 ◦ 한국어 자동 띄어쓰기, 한국어 개체명 인식
자연어처리를 위한 기계학습 소개: ◦ ME, CRF, SVM, Structural SVM
한국어 자동 띄어쓰기 실험 결과 한국어 개체명 인식 실험 결과
nn oooossss ,...,,..., 2121 ==
HMM:
MEMM:
CRF:
St-1 St
Ot
St+1
Ot+1 Ot-1
...
...
St-1 St
Ot
St+1
Ot+1 Ot-1
...
...
St-1 St
Ot
St+1
Ot+1 Ot-1
...
...
∏=
−∝||
11 )|()|(),(
o
ttttt soPssPosP
∏∑
∑
∏
=
−
=−
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
+∝
∝
−
||
1
1
,
||
11
),(
),(exp1
),|()|(
1
o
tk
ttkk
jttjj
os
o
tttt
xsg
ssf
Z
ossPosP
tt
µ
λ
∏∑
∑
=
−
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
+∝
||
1
1
),(
),(exp1)|(
o
tk
ttkk
jttjj
o xsg
ssf
ZosP
µ
λ
9
It can be proved that ME solution p* must have the form:
So our task is to estimate parameters λi in p* which maximize H(p) ◦ When the problem is complex, we need to find a way to aut
omatically derive λi, given a set of constraints
∑ ∑
∑
⎥⎦
⎤⎢⎣
⎡=
⎥⎦
⎤⎢⎣
⎡=
=
=
y
k
iii
k
iii
yxfxZ
yxfxZ
xyp
1
1
),(exp)(
),(exp)(
1)|(
λ
λ
10
Lagrange multiplier
Solve:
12
Probabilistic conditional models generalizing MEMMs.
Whole sequence rather than per-state normalization.
Convex likelihood function. CRFs use the observation-dependent normalization Z
(x) for the conditional distributions:
(y | x) exp ( , y | , x) ( , y |1(x)
, x)θ λ µ∈ ∈
⎛ ⎞= +⎜ ⎟
⎝ ⎠∑ ∑k k e k k ve E,k v V ,k
p f e g vZ
14
Part-Of-Speech tagging experiments
15
Mallet ◦ http://mallet.cs.umass.edu/index.php/Main_Page ◦ Java, GIS, L-BFGS, Feature induction, …
FlexCRFs ◦ http://www.jaist.ac.jp/~hieuxuan/flexcrfs/flexcrfs.html ◦ C++, L-BFGS, Constrained CRF
CRF++: Yet Another CRF toolkit ◦ http://chasen.org/~taku/software/CRF++/ ◦ C++, L-BFGS, n-best output
Our CRF toolkit ◦ ETRI 지식마이닝 연구팀 ◦ C++, L-BFGS, n-best output ◦ Structural SVM
Bundle method, Pegasos, FSMO 등의 학습 알고리즘 지원 Domain Adaptation 기능 지원
Lagrange multiplier (KKT condition)
Tool: SVM-light, SVM-Perf, LIBSVM (SMO algorithm)
iiiiT
i
i
n
iiw
LYi
itsnC
ξδ
ξξξ
−≥Ψ∈∀∀
≥∀+ ∑
),(),(:\,
0, .. , 21min 2
,
yyyxwyy
w
iii
i
n
iiw
byiits
nC
ξ
ξ
ξξ
−≥+⋅∀
≥∀
+ ∑
1)(, 0, ..
21min 2
,
xw
w
∑
∑
∑∑∑
=
≥≤≤∀=
⋅−
n
iiii
ii
n
iii
n
i
n
ijiji
n
ii
y
nCiyts
xw
xx
α
ααα
αααα
0,0, , 0 ..
21max
),(),(),( yxyxyx iiiii Ψ−Ψ=Ψδ
정답열 오답열
∑
∑
∑ ∑
∑
≠
≠
≠ ≠
≠
Ψ=
>∀≤≤∀
Ψ⋅Ψ−
i
i
i j
i
iiii
ii
i jjjiiji
iii
inCits
L
yyy
yyy
y
yy yyyy
yyy
yxw
y
yxyx
yy
,
, ,
,
),(
0 , ,0 , ..
,),(),(21
),(max
δα
αα
δδαα
αα
),( yxΨ
x
y
한나라당/nn 조해진/nn 대변인/nc 은/jc …
B-Org — B-Per — O — O … | | | |
한나라당/nn 조해진/nn 대변인/nc 은/jc … 한나라당→−
→
→−
→−
→−
→−
⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=Ψ
OrgBncOnnPerBjcOrgBncOrgBnnOrgB
111001
),( yx
구문 분석 예
개체명 인식 예
ETRI journal
• FSMO uses the fact that the formulation of structured SVM has no bias.
• FSMO breaks down the QP problems of structural SVM into a series of smallest QP problems, each involving only one variable.
iiiiT
i
i
n
iiw
LYi
itsnC
ξδ
ξξξ
−≥Ψ∈∀∀
≥∀+ ∑
),(),(:\,
0, .. , 21min 2
,
yyyxwyy
w
.)ˆ,(1)ˆ,(1:)ˆ,...,ˆ(
0, .. , 21min
111
2,
ξδ
ξξξ
−≥Ψ∈∀
≥∀+
∑∑==
n
iii
n
iiii
Tnn
w
Lnn
Υ
itsC
yyyxwyy
w
n-slack structural SVMs
1-slack structural SVMs
1-Slack Cutting Plane Algorithm 1: Input: (x1,y1), …, (xn,yn), C, e 2: S Ø 3: repeat
4:
5: for i=1,…,n do 6: 7: end for 8: 9: until 10: return (w, ξ)
ξδ
ξξ ξ
−≥Ψ
∈∀
+←
∑∑==
>
n
iii
n
iiii
T
n
T
Lnn
Sts
C
11
1
0,
)ˆ,(1)ˆ,(1
:)ˆ,,ˆ(.. 21minarg),(
yyyxw
yy
www w
)},(),({maxˆ yxwyyy y iT
iYi L Ψ+← ∈
)}ˆ,,ˆ{( 1 nSS yy ∪←
en
Ln
n
iiii
Tn
iii +≤Ψ− ∑∑
==
ξδ11
)ˆ,(1)ˆ,(1 yxwyy
Stochastic Gradient Descent (SGD) ◦ Optimization algorithm for unconstrained optimizat
ion
Pegasos ◦ Primal Estimated sub-GrAdient SOlver for SVM
,
(ETRI journal, IPM)
자연어처리 소개 ◦ 한국어 자동 띄어쓰기, 한국어 개체명 인식
자연어처리를 위한 기계학습 소개: ◦ ME, CRF, SVM, Structural SVM
한국어 자동 띄어쓰기 실험 결과 한국어 개체명 인식 실험 결과
x = <아, 버, 지, 가, 방, 에, 들, 어, 가, 셨, 다, ‘.’> y = < B, I, I, I, B, I, B, I, I, I, I, I>
),( yxΨ
N-gram character feature {xt, xt-1, xt+1, xt-2xt-1, xt-1xt, xtxt+1, xt+1xt+2, xt-3xt-2xt-1, xt-2xt-1xt, xt-1xtxt+1, xtxt+
1xt+2, xt+1xt+2xt+3} × yt List lookup feature (list of nouns) {lookup(xt-3xt-2…xt+3), lookup(xt-3xt-2…xt+2), lookup(xt-3xt-2…xt+1), lookup(xt-3xt-
2…xt), lookup(xt-3xt-2xt-1), lookup(xt-2xt-1…xt+3), lookup(xt-2xt-1…xt+2), lookup(xt-2xt-1…xt+1), lookup(xt-2xt-1xt), lookup(xt-2xt-1), lookup(xt-1xt…xt+3), lookup(xt-1xt…xt+2), lookup(xt-1xtxt+1), lookup(xt-1xt), lookup(xtxt+1…xt+3), lookup(xtxt+1xt+2), lookup(xtxt+1), lookup(xt+1xt+2xt+3), lookup(xt+1xt+2)} × yt
Character level regular expression feature {normalize(xt-3), normalize(xt-3xt-2), normalize(xt-3xt-2xt-1), normalize(xt-2), norm
alize(xt-2xt-1), normalize(xt-2xt-1xt), normalize(xt-1), normalize(xt-1xt), normalize(xt-1xtxt+1), normalize(xt), normalize(xtxt+1), normalize(xtxt+1xt+2), normalize(xt+1), normalize(xt+1xt+2), normalize(xt+1xt+2xt+3), normalize(xt+2), normalize(xt+2xt+3), normalize(xt+3)} × yt
Transition feature yt-1 × yt
실험 대상 학습: 세종 코퍼스 원문 (2,600만 어절) 평가: ETRI 품사 태그 말뭉치 원문 (29만 어절)
50% 학습데이터 사용 CRF 및 Structural SVM의 메모리 부족 문제
* 평가셋이 다름
알고리즘 음절단위 정확도
어절단위 정확도
HMM [1] 98.44 93.46
CRF [2]* 98.84* 95.99*
CRF(50%학습) 98.47 93.97
S-SVM(50%학습) 98.51 94.11
Pegasos-struct(50%학습) 98.73 94.13
Pegasos-struct 99.01 95.47
Pegasos-struct +2nd-order 99.09 96.00
자연어처리 소개 ◦ 한국어 자동 띄어쓰기, 한국어 개체명 인식
자연어처리를 위한 기계학습 소개: ◦ ME, CRF, SVM, Structural SVM
한국어 자동 띄어쓰기 실험 결과 한국어 개체명 인식 실험 결과
x
y
한나라당/nn 조해진/nn 대변인/nc 은/jc …
B-Org — B-Per — O — O … | | | |
한나라당/nn 조해진/nn 대변인/nc 은/jc … 한나라당→−
→
→−
→−
→−
→−
⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=Ψ
OrgBncOnnPerBjcOrgBncOrgBnnOrgB
111001
),( yx
x = <한나라당/nn, 조해진/nn, 대변인/nc, …> y = < B-ORG, B-Per, O, …>
실험에 사용된 모든 기계학습 알고리즘에 공통으로 사용됨 자질 ◦ 어휘 자질: (-2,-1,0,1,2) 위치에 해당하는 형태소 어휘 ◦ 접미사(suffix) 자질: (-2,-1,0,1,2) 위치에 해당하는 형태소 어휘의 접미사(suffix) ◦ 형태소 태그 자질: (-2,-1,0,1,2) 위치에 해당하는 형태소의 POS tag ◦ 형태소 태그 + 길이 자질: 태그와 형태소의 길이 조합 ◦ 형태소의 어절 내 위치: 형태소가 어절의 시작, 중간, 끝 위치에 있는 지에 대한 정보 ◦ 개체명 사전 자질: 개체명 사전에 존재하는 지에 대한 정보 ◦ 개체명 사전 자질 + 형태소 길이 자질 ◦ 15개의 정규 표현식: [A-Z]*, [0-9]*, [0-9][0-9], [0-9][0-9][0-9][0-9], [A-Za-z0
-9]*, … ◦ N-gram class 기반의 word cluster 자질 ◦ 어휘망을 이용한 어휘 의미 자질 ◦ Prediction history 자질
기계학습 알고리즘 학습시간 (초)
정확도 (accuracy) F1
CRFs (baseline) 16738 96.78 84.99
1-slack structural SVMs 11239 96.92 (+0.14) 85.14 (+0.15)
modified Pegasos 649 96.94 (+0.16) 85.43 (+0.44)
TV 도메인(3,000문서): 2,900 학습, 100 테스트 학습시간: CRFs 학습 시간의 4% (modified Pegasos) Paired t-test (유의수준 0.01, 신뢰도 99%)
Modified Pegasos, structural SVMs > CRFs Modified Pegasos ~= structural SVMs (p값 0.69)
기계학습 알고리즘 학습시간 (초)
정확도 (accuracy) F1
CRFs (baseline) 14362 95.58 86.64
1-slack structural SVMs 5991 95.82 (+0.24) 86.86 (+0.22)
modified Pegasos 610 95.81 (+0.23) 86.79 (+0.15)
스포츠 도메인 (3,500문서): 3,400 학습, 100 테스트 학습시간: CRFs 학습 시간의 4% (modified Pegasos) Paired t-test (유의수준 0.001, 신뢰도 99.9%)
Modified Pegasos, structural SVMs > CRFs Modified Pegasos ~= structural SVMs (p값 0.72)