Skip to content

Latest commit

 

History

History
217 lines (183 loc) · 10.3 KB

issues.md

File metadata and controls

217 lines (183 loc) · 10.3 KB

형태소 태그의 오자 (tag typo)

세종말뭉치의 문어 데이터에는 빈도수가 매우 작은 형태소 품사 태그들이 존재합니다. 데이터 기입 중 발생한 표기 실수로 생각됩니다. 단, 이 데이터를 모두 이용하여 모델을 학습하면 엉뚱한 tag states (or labels) 가 학습됩니다. 그렇기 때문에 반드시 이 태그가 포함된 데이터를 제외하여 학습하시기 바랍니다.

tag count
NNG 5240816
VV 1726983
EC 1664694
ETM 1306440
... ...
NA 1570
SW" 5
NNG" 3
NG 3
NNGG 2
S 2
VSV 1
VA" 1
JKSS 1
JG 1
MAAG 1
V 1
JKBB 1
NN 1
MMM 1
EEC 1
NNg 1
VX" 1
MAC 1

포멧을 지키지 않은 경우

파일 BTDO0275.txt

발음이 변하는 과정을 설명하려 한 듯 하나, 말뭉치 포멧이 아니기 때문에 데이터를 파싱하는 과정에서는 버려야 합니다.

BTDO0275-00020461\t1)\t1/SN + )/SS
BTDO0275-00020462\t디귿->지읒\t디귿/NNG + -/SS + >/SS + 지읒/NNG
BTDO0275-00020463\t:\t:/SP
BTDO0275-00020464\t굳+이->굳이->구디->[구지]\t굳+이->굳이->구디->[구지]/NA
BTDO0275-00020465\t2)\t2/SN + )/SS
BTDO0275-00020466\t티읕->치읓\t티읕/NNG + -/SS + >/SS + 치읓/NNG
BTDO0275-00020467\t:\t:/SP
BTDO0275-00020468\t같+이->같이->가티->[가치]\t같+이->같이->가티->[가치]/NA
BTDO0275-00020469\t3)\t3/SN + )/SS
BTDO0275-00020470\t디귿\t디귿/NNG
BTDO0275-00020471\t+\t+/SW
BTDO0275-00020472\t히읗\t히읗/NNG
BTDO0275-00020473\t->\t-/SS + >/SS
BTDO0275-00020474\t치읓\t치읓/NNG
BTDO0275-00020475\t:\t:/SP
BTDO0275-00020476\t닫\t닫/VV
BTDO0275-00020477\t+\t+/SW
BTDO0275-00020478\t혀\t혀/NA
BTDO0275-00020479\t->\t-/SS + >/SS
BTDO0275-00020480\t닫혀\t닫히/VV + 어/EC
BTDO0275-00020481\t+\t+/SW
BTDO0275-00020482\t다텨\t다텨/NA
BTDO0275-00020483\t->\t-/SS + >/SS
BTDO0275-00020484\t[다쳐]\t[/SS + 다치/VV + 어/EC + ]/SS
BTDO0275-00020485\t등\t등/NNB
BTDO0275-00020486\t구관\t구관/NNG
BTDO0275-00020487\t서각의\t서각/NNG + 의/JKG
BTDO0275-00020488\t하나.\t하나/NR + ./SF

문어 말뭉치의 자음 표기 오류

자음 -ㄴ, -ㄹ 은 조사로 이용됩니다. 그런데 세종 말뭉치에서 이를 표기할 때 자음이 아닌 아랫글자로 기록한 경우들이 있습니다. 실제로 이용되는 글자를 Python 의 ord 를 이용하여 고유 번호로 치환하면 아래처럼 서로 다른 글자임을 확인할 수 있습니다.

print(ord('ᆫ')) # 4523
print(ord('ㄴ')) # 12596

이러한 글자들을 통일하기 위하여 아래의 mapper 를 이용했습니다.

unicode_mapper = {
  'ᆨ': 'ㄱ', # 4520
  'ᆩ': 'ㄲ', # 4521
  'ᆪ': 'ㄳ', # 4522
  'ᆫ': 'ㄴ', # 4523
  'ᆬ': 'ㄵ', # 4524
  'ᆭ': 'ㄶ', # 4525
  'ᆮ': 'ㄷ', # 4526
  'ᆯ': 'ㄹ', # 4527
  'ᆰ': 'ㄺ', # 4528
  'ᆱ': 'ㄻ', # 4529
  'ᆲ': 'ㄼ', # 4530
  'ᆳ': 'ㄽ', # 4531
  'ᆴ': 'ㄾ', # 4532
  'ᆵ': 'ㄿ', # 4533
  'ᆶ': 'ㅀ', # 4534
  'ᆷ': 'ㅁ', # 4535
  'ᆸ': 'ㅂ', # 4536
  'ᆹ': 'ㅄ', # 4537
  'ᆺ': 'ㅅ', # 4538
  'ᆻ': 'ㅆ', # 4539
  'ᆼ': 'ㅇ', # 4540
  'ᆽ': 'ㅈ', # 4541
  'ᆾ': 'ㅊ', # 4542
  'ᆿ': 'ㅋ', # 4543
  'ᇀ': 'ㅌ', # 4544
  'ᇁ': 'ㅍ', # 4545
  'ᇂ': 'ㅎ', # 4546
  'ᄀ': 'ㄱ', # 4352
  'ᄁ': 'ㄲ', # 4353
  'ᄂ': 'ㄴ', # 4354
  'ᄃ': 'ㄷ', # 4355
  'ᄄ': 'ㄸ', # 4356
  'ᄅ': 'ㄹ', # 4357
  'ᄆ': 'ㅁ', # 4358
  'ᄇ': 'ㅂ', # 4359
  'ᄈ': 'ㅃ', # 4360
  'ᄉ': 'ㅅ', # 4361
  'ᄊ': 'ㅆ', # 4362
  'ᄋ': 'ㅇ', # 4363
  'ᄌ': 'ㅈ', # 4364
  'ᄍ': 'ㅉ', # 4365
  'ᄎ': 'ㅊ', # 4366
  'ᄏ': 'ㅋ', # 4367
  'ᄐ': 'ㅌ', # 4368
  'ᄑ': 'ㅍ', # 4369
  'ᄒ': 'ㅎ', # 4370
}

심지어 자음을 표현하는 기호가 두 개나 있습니다.

이러한 문제가 있다고 추정되는 문장은 문어 말뭉치의 834,078 문장 중 87,707 개의 문장입니다. 구어 말뭉치에서는 이러한 문제가 발생하지 않았습니다.

어절 내 형태소 구분 기호 ' + ' vs '+'

세종 말뭉치의 구어와 문어 말뭉치는 서로 다른 형태소 간 구분 기호를 이용합니다. 그렇기 때문에 두 종류의 말뭉치를 동일한 방법으로 파싱할 경우 오류가 발생할 수 있습니다.

구어 말뭉치는 어절 내 형태소의 구분기호로 띄어쓰기가 없는 '+' 를 이용합니다.

5CT_0013-0000130	지하철.	지하철/NNG+./SF
5CT_0013-0000180	기차?	기차/NNG+?/SF
5CT_0013-0000210	아침에	아침/NNG+에/JKB
5CT_0013-0000300	아침에	아침/NNG+에/JKB
5CT_0013-0000380	차를	차/NNG+를/JKO
5CT_0013-0000530	차를	차/NNG+를/JKO
5CT_0013-0000780	육호선은	육호선/NNG+은/JX
5CT_0013-0000950	육호선은.	육호선/NNG+은/JX+./SF
5CT_0013-0000990	이호선으로	이호선/NNG+으로/JKB
5CT_0013-0001110	운이	운/NNG+이/JKS

하지만 문어 말뭉치는 띄어쓰기가 포함되어 있는 ' + ' 로 어절 내 형태소를 구분합니다.

BTAA0001-00000012	프랑스의	프랑스/NNP + 의/JKG
BTAA0001-00000013	세계적인	세계/NNG + 적/XSN + 이/VCP + ᆫ/ETM
BTAA0001-00000017	웅가로가	웅가로/NNP + 가/JKS
BTAA0001-00000019	장식용	장식/NNG + 용/XSN
BTAA0001-00000021	디자이너로	디자이너/NNG + 로/JKB
BTAA0001-00000022	나섰다.	나서/VV + 었/EP + 다/EF + ./SF
BTAA0001-00000023	웅가로는	웅가로/NNP + 는/JX
BTAA0001-00000024	침실과	침실/NNG + 과/JC
BTAA0001-00000025	식당,	식당/NNG + ,/SP
BTAA0001-00000026	욕실에서	욕실/NNG + 에서/JKB

잘못된 품사 태깅

지금/MAG + /조사

한국어의 조사는 체언 뒤에 붙어 문법의 의미를 더하는 단어로, 독립적으로 하나의 어절을 이루지 못하며 체언 (명사, 대명사, 수사) 뒤에 위치해야 합니다. 단어 '지금'이 독립적으로 사용되거나, 그 뒤에 용언 어절이 위치할 경우에는 부사일 수 있습니다. 하지만 아래와 같이 MAG (부사) + JX (조사) 가 결합될 수는 없습니다. 세종 말뭉치에는 소수의 부분들이 아래와 같이 품사 태깅이 되어 있습니다. '지금' 이라는 단어에 일괄적으로 MAG 품사를 적용한 것이 아닌가 생각됩니다.

지금도 = [['지금', 'MAG'], ['도', 'JX']

위와 같은 부분은 state transition 을 이용하는 모델들에서는 (부사 -> 조사) 가 존재할 수 있는 것으로 학습되기 때문에 이를 교정해야 합니다.

품사의 일관성

어절 '해요'의 형태소가 일관되지 않습니다. 아래는 마침표가 포함된 '해요.'를 구성하는 형태소 세 종류 입니다. 일단 '하'라는 형태소를 동사(VV) 혹은 보조용언(VX) 으로 태깅을 하였습니다. 보조 용언은 본 용언의 의미를 보강하는 용언입니다.

어절 형태소 빈도수 말뭉치 출처
해요. ['하', 'VV'], ['ㅕ요', 'EF'], ['.', 'SF'] 162 구어 말뭉치
해요. ['하', 'VV'], ['아요', 'EF'], ['.', 'SF'] 188 문어 말뭉치
해요. ['하', 'VX'], ['아요', 'EF'], ['.', 'SF'] 138 문어 말뭉치

이 경우는 문제가 되지 않습니다. 한국어 문법에서 보조용언은 띄어쓰기를 할 수 있기 때문입니다.

'노래를 부르게 했다'의 경우 '노래를 부르게했다' 처럼 두 어절을 붙여 쓸 수도 있고 띄어 쓸 수도 있습니다. 이 때, '부르다/동사' 의 의미를 보존하기 위하여 띄어쓰는 것을 권장합니다. 주로 채팅같은 경우에는 보조용언을 잘 띄어쓰지 않기도 합니다만, 세종 말뭉치에서는 보조용언들이 띄어져 있습니다. (모두 띄워져 있는지는 확인해봐야겠습니다.)

문제가 되는 부분은 '하/VV' 다음에 어떤 어미를 이용하느냐입니다. 구어 말뭉치에서는 'ㅕ요'를 이용하고 문어 말뭉치에서는 '아요'를 이용합니다. 아래의 첫 테이블은 구어 말뭉치에서 어절 앞 두 글자가 '해요'인 경우의 일부이며, 두번째 테이블은 문어 말뭉치에서 어절 앞 두 글자가 '해요'인 경우입니다. 전수를 확인한 결과 말뭉치마다 '해요'의 형태소를 다르게 적어뒀음을 알았습니다. 이때문에 lemmatizing 을 할 때, 무엇을 따라야 하는지 결정해야만 합니다.

어절 형태소 빈도수
해요. ['하', 'VV'], ['ㅕ요', 'EF'], ['.', 'SF'] 162
해요, ['하', 'VV'], ['ㅕ요', 'EF'], [',', 'SP'] 82
해요? ['하', 'VV'], ['ㅕ요', 'EF'], ['?', 'SF'] 32
해요. ['하', 'VX'], ['ㅕ요', 'EF'], ['.', 'SF'] 28
해요' ['하', 'VV'], ['ㅕ요', 'EF'] 23
해요, ['하', 'VX'], ['ㅕ요', 'EF'], [',', 'SP'] 12
해요: ['하', 'VV'], ['ㅕ요', 'EF'], [',', 'SP'] 4
해요: ['하', 'VV'], ['ㅕ요', 'EF'], ['.', 'SF'] 2
해요' ['하', 'VX'], ['ㅕ요', 'EF'] 1
해요: ['하', 'VX'], ['ㅕ요', 'EF'] 1
해요: ['하', 'VX'], ['ㅕ요', 'EF'], ['.', 'SF'] 1
해요: ['하', 'VV'], ['ㅕ요', 'EF'], ['?', 'SF'] 1
해요잉, ['하', 'VV'], ['ㅕ요', 'EF'], ['잉', 'IC'], [',', 'SP'] 1
어절 형태소 빈도수
해요. ['하', 'VV'], ['아요', 'EF'], ['.', 'SF'] 188
해요. ['하', 'VX'], ['아요', 'EF'], ['.', 'SF'] 138
해요. ['하', 'VV'], ['아요', 'EF'], ['.', 'SF'] 56
해요. ['하', 'VX'], ['아요', 'EF'], ['.', 'SF'] 53
해요? ['하', 'VV'], ['아요', 'EF'], ['?', 'SF'] 22
해요, ['하', 'VV'], ['아요', 'EC'], [',', 'SP'] 8
해요? ['하', 'VX'], ['아요', 'EF'], ['?', 'SF'] 6

비슷한 경우로 '그런지는'도 있습니다. 그 외에도 통일되지 않은 품사 태깅이 더 있을 것입니다.

어절 형태소 빈도수
그런지는 ['그렇', 'VA'], ['ㄴ지', 'EC'], ['는', 'JX'] 17
그런지는 ['그러', 'VV'], ['ㄴ지', 'EC'], ['는', 'JX'] 4
그런지는 ['그런', 'MM'], ['지', 'EC'], ['는', 'JX'] 1