train other corpus
- detail code is here
- train UD_English Corpus from Universal Treebank
- evaluation accuracy is around 88%, not that high.
- check only parsing accuracy. i.e, pos tags are given
- train Korean Sejong Corpus
- convert constituent parse to dependency parse
and split eojeol-based token to morpheme-based to train parser.
; 프랑스의 세계적인 의상 디자이너 엠마누엘 웅가로가 실내 장식용 직물 디자이너로 나섰다.
(S (NP_SBJ (NP (NP_MOD 프랑스/NNP + 의/JKG)
(NP (VNP_MOD 세계/NNG + 적/XSN + 이/VCP + ᆫ/ETM)
(NP (NP 의상/NNG)
(NP 디자이너/NNG))))
(NP_SBJ (NP 엠마누엘/NNP)
(NP_SBJ 웅가로/NNP + 가/JKS)))
(VP (NP_AJT (NP (NP (NP 실내/NNG)
(NP 장식/NNG + 용/XSN))
(NP 직물/NNG))
(NP_AJT 디자이너/NNG + 로/JKB))
(VP 나서/VV + 었/EP + 다/EF + ./SF)))
# if you want to visualize this constituent tree,
use https://github.com/dsindex/syntree
1 프랑스의 프랑스/NNP + 의/JKG NP_MOD 4
2 세계적인 세계/NNG + 적/XSN + 이/VCP + ᆫ/ETM VNP_MOD 4
3 의상 의상/NNG NP 4
4 디자이너 디자이너/NNG NP 6
5 엠마누엘 엠마누엘/NNP NP 6
6 웅가로가 웅가로/NNP + 가/JKS NP_SBJ 11
7 실내 실내/NNG NP 8
8 장식용 장식/NNG + 용/XSN NP 9
9 직물 직물/NNG NP 10
10 디자이너로 디자이너/NNG + 로/JKB NP_AJT 11
11 나섰다. 나서/VV + 었/EP + 다/EF + ./SF VP 0
1 프랑스 프랑스 NNP NNP _ 2 MOD _ _
2 의 의 JKG JKG _ 8 NP_MOD _ _
3 세계 세계 NNG NNG _ 4 MOD _ _
4 적 적 XSN XSN _ 5 MOD _ _
5 이 이 VCP VCP _ 6 MOD _ _
6 ᆫ ᆫ ETM ETM _ 8 VNP_MOD _ _
7 의상 의상 NNG NNG _ 8 NP _ _
8 디자이너 디자이너 NNG NNG _ 10 NP _ _
9 엠마누엘 엠마누엘 NNP NNP _ 10 NP _ _
10 웅가로 웅가로 NNP NNP _ 11 MOD _ _
11 가 가 JKS JKS _ 18 NP_SBJ _ _
12 실내 실내 NNG NNG _ 13 NP _ _
13 장식 장식 NNG NNG _ 14 MOD _ _
14 용 용 XSN XSN _ 15 NP _ _
15 직물 직물 NNG NNG _ 16 NP _ _
16 디자이너 디자이너 NNG NNG _ 17 MOD _ _
17 로 로 JKB JKB _ 18 NP_AJT _ _
18 나서 나서 VV VV _ 19 MOD _ _
19 었 었 EP EP _ 20 MOD _ _
20 다 다 EF EF _ 21 MOD _ _
21 . . SF SF _ 0 VP _ _
- evaluation accuracy(UAS) is over 94% with structured model.
...
INFO:tensorflow:Seconds elapsed in evaluation: 116.51, eval metric: 94.07%
...
to the best of my knowledge,
Korean dependency parsing accuracy(eoj-based) of state of arts is around 91%.
in this case, however, there should be label bias on computing accuracy
because i add 'MOD' label to inter-eojeol relations
(adjacent morphemes in the same eojeol).
for fair comparison,
we need to convert morpheme-based parse to eoj-based parse before computing accuracy.
...
accuracy(UAS) = 0.887824
...
i think this result is worse than CRF-ME based parser which i developed 5 months ago. -_-;;
some kind of tunings are heavily demanding.
- sample
; 추위와 흥분으로 볼이 발갛게 달아오른 꼬마를 한 명 붙잡았다.
1 추위와 추위/NNG + 와/JC NP_CNJ 2 NP_CNJ 2 SUCCESS
2 흥분으로 흥분/NNG + 으로/JKB NP_AJT 5 NP_AJT 9 FAILURE
3 볼이 볼/NNG + 이/JKS NP_SBJ 5 NP_SBJ 9 FAILURE
4 발갛게 발갛/VA + 게/EC VP 5 VP 5 SUCCESS
5 달아오른 달아오르/VV + ᆫ/ETM VP_MOD 6 VP_MOD 6 SUCCESS
6 꼬마를 꼬마/NNG + 를/JKO NP_OBJ 9 NP_OBJ 9 SUCCESS
7 한 한/MM DP 8 DP 8 SUCCESS
8 명 명/NNB NP_OBJ 9 NP_OBJ 9 SUCCESS
9 붙잡았다. 붙잡/VV + 았/EP + 다/EF + ./SF VP 0 ROOT 0 SUCCESS
; 그 날 지회에서는 해직교사 비상대책회의인가 하는 조금은 살벌한 회의가 열렸다.
1 그 그/MM DP 2 MOD 2 SUCCESS
2 날 날/NNG NP_AJT 10 NP_AJT 10 SUCCESS
3 지회에서는 지회/NNG + 에서/JKB + 는/JX NP_AJT 10 NP_AJT 10 SUCCESS
4 해직교사 해직/NNG + 교사/NNG NP 5 MOD 5 SUCCESS
5 비상대책회의인가 비상/NNG + 대책/NNG + 회의/NNG + 이/VCP + ᆫ가/EC VNP 6 VNP 6 SUCCESS
6 하는 하/VV + 는/ETM VP_MOD 9 VP_MOD 7 FAILURE
7 조금은 조금/NNG + 은/JX NP_AJT 8 NP_AJT 10 FAILURE
8 살벌한 살벌/NNG + 하/XSA + ᆫ/ETM VP_MOD 9 VP_MOD 9 SUCCESS
9 회의가 회의/NNG + 가/JKS NP_SBJ 10 NP_SBJ 10 SUCCESS
10 열렸다. 열리/VV + 었/EP + 다/EF + ./SF VP 0 ROOT 0 SUCCESS
; 제게 중요한 건 이성주의와는 달리, 인간이 '사고하는' 본질에 따라 합리적으로 사고하거나 행동하지 않는다는 점이었습니다.
1 제게 저/NP + 에게/JKB NP_AJT 2 NP_AJT 2 SUCCESS
2 중요한 중요/NNG + 하/XSA + ᆫ/ETM VP_MOD 3 VP_MOD 3 SUCCESS
3 건 것/NNB + ᆫ/JX NP_SBJ 14 NP_SBJ 14 SUCCESS
4 이성주의와는 이성주의/NNG + 와/JKB + 는/JX NP_AJT 5 NP_AJT 5 SUCCESS
5 달리, 달리/MAG + ,/SP AP 13 AP 14 FAILURE
6 인간이 인간/NNG + 이/JKS NP_SBJ 12 NP_SBJ 14 FAILURE
7 '사고하는' '/SS + 사고/NNG + 하/XSV + 는/ETM + '/SS VP 8 L 14 FAILURE
8 본질에 본질/NNG + 에/JKB NP_AJT 12 NP_AJT 9 FAILURE
9 따라 따르/VV + 아/EC VP 10 VP 12 FAILURE
10 합리적으로 합리/NNG + 적/XSN + 으로/JKB NP_AJT 12 NP_AJT 12 SUCCESS
11 사고하거나 사고/NNG + 하/XSV + 거나/EC VP 12 VP 12 SUCCESS
12 행동하지 행동/NNG + 하/XSV + 지/EC VP 13 VP 13 SUCCESS
13 않는다는 않/VX + 는다는/ETM VP_MOD 14 VP_MOD 14 SUCCESS
14 점이었습니다. 점/NNG + 이/VCP + 었/EP + 습니다/EF + ./SF VNP 0 ROOT 0 SUCCESS