NLP

[NLP] 한국어 자연어처리

파송송 2023. 4. 3. 14:24
728x90
  • 한국어 NLP를 공부하기 위해서 영어 NLP를 알아야 함
  • 이는 현재 존재하는 라이브러리, 알고리즘이 영어에 맞춰져 있기 때문에 이 특성을 고려하여 한국어의 특징에 pattern화 해야 함

한국어 문법

음절

한글 자모 첫소리와 가운뎃소리 끝소리 글자로 이뤄진 한글의 단위(끝소리가 없을 수 있음

ㅎ - 초성 - 첫소리
ㅏ - 중성 - 가운뎃소리
ㄴ - 종성 - 끝소리

어간, 어미

어간과 어미는 용언인 동사와 형용사에만 쓰이는 개념으로 용언 활용 시 변하지 않는 부분이 어간, 변하는 부분이 어미이다.

  • 먹다, 먹고, 먹니, 먹지, 먹으며, 먹어서
    • '먹'은 어간이며 '-다', '-고', '-니', '-지', '-으며', '-어서'는 어미이다.
  • 예쁘다, 예쁘고, 예쁘니, 예쁘지
    • '예쁘'는 어간이며 '-다', '-고', '-니', '-지'는 어미이다.

어근, 접사

  • 모든 단어에 쓸 수 있는 개념으로 어근은 단어에서 실질적인 의미, 중심의미를 나타내고 접사는 어근에 붙어 뜻을 제한하는 역할을 함
  • 어근은 혼자 쓰일 수 있으며 어근끼리 모여 쓸 수 있고 접사는 어근 없이 혼자 쓰이지 못함
  • 어근은 어간이 될 수 있지만 어간은 어근이 되지 못함
    • 나무, 국어, 소금, 가을
      • 어근 1개인 단어
    • 과일, 맨, 군, 짓누르다, 치솟다
      • 빨간 글씨 어근에 접사가 붙어 뜻을 제한해 줌
    • 나무꾼, 선생님, ,
      • 빨간 글씨 어근에 접사가 붙음

'-다'를 접사로 분류하지 않은 이유는 '-다'는 굴절 접사라는 접사로 분류하기도 하지만 학교 교육에서는 굴절 접사를 인정하지 않기 때문에 포함시키지 않음

 

형태소

뜻을 가진 가장 작은 말의 단위

  • 아기가 밥을 먹는다
    • 아기/가/밥/을/먹/는/다

한국어 처리의 어려움

교착어

  • 단어의 중심이 되는 형태소(어근)에 접사를 비롯한 다른 형태소들이 붙어 단어가 구성되는 것
  • 먹다, 먹었다, 먹히다, 먹히었다 등등 다양한 단어 생성
  • 다리가 아파서 다리를 주물렀더니 다리의 통증이 사라졌다 -> 다리가, 다리를, 다리의 다 같은 뜻을 가지지만 다르게 간주할 수 있음
  • 한국어는 순서를 변경해도 뜻이 안 변하지만 영어를 변함
한국어 영어
교착어 고립어
제임스는 수지를 사랑한다. Jemes Loves Suzy
수지를 제임스는 사랑한다. Suzy Loves Jemes

주어 생략과 어순

  • 한국어는 주어를 생략하는 경우가 많은데 컴퓨터는 생략된 주어를 추가적인 정보 없이 메꿀 수 없음
    • (너) 밥 먹었어?
    • (나) 밥 먹었어.
  • 접사에 따라 단어의 역할이 정의되는 한국어에서는 어순이 중요하지 않음
    • (너) 밥 먹었어?
    • 밥 먹었어 (너)?

한자 기반의 언어

한국어는 한자 기반의 언어이기 때문에 한자를 표음 문자인 한글로 표현하는 과정에서 정보의 손실이 발생함

띄어쓰기

  • 띄어쓰기에 대한 표준을 계속 바뀌고 있고 적용 방식이 매우 까다로움
  • 띄어쓰기를 잘하지 않아도  의미가 전달되는 경우가 많고 실제로 잘 사용하지 않음
    • 이번 휴가 때 어디가?
    • 이번휴가 때 어디가?
      • 이번 휴가 때(3 단어), 이번휴가 때(1 단어) 같은 의미를 다르게 인식함

평서문과 의문문

  • 평서문
    • 화자가 문장의 내용을 객관적으로 진술하는 문장
  • 의문문
    • 화자가 청자에게 질문을 하여 답을 요구하는 문장
  • 어디 갔다 왔니?, 어디 갔다 왔어? 어디 갔다 왔어.
    • 보통 전처리할 때 기호를 없애기 때문에 의문문과 평서문을 분류하기 힘듦 (영어는 where, what 등으로 표현됨)
728x90