한국어 자연어처리 기술 조사 - hexists/konlpy GitHub Wiki

활용도가 높은 한국어 자연어처리 기술을 조사합니다.

목적

  • koNLPy와 결합하여 시너지를 낼 수 있는 자연어처리 기술을 조사합니다.

자연어처리 기술 정리

  • wiki를 보면 자연어처리 전반에 대해 자세히 정리되어 있습니다.
  • Major evaluations and tasks 부분을 참고합니다.
    • Syntax
      • Grammar induction
      • Lemmatization
      • Morphological segmentation
      • Part-of-speech tagging (konlpy)
      • Parsing
      • Sentence breaking
      • Stemming
      • Word segmentation
      • Terminology extraction
    • Semantics
      • Lexical semantics
      • Distributional semantics
      • Machine translation
      • Named entity recognition
      • Natural language generation
      • Natural language understanding
      • Optical character recognition
      • Question answering
      • Recognizing Textual entailment
      • Relationship extraction
      • Sentiment analysis
      • Topic segmentation and recognition
      • Word sense disambiguation
    • Discourse
      • Automatic summarization
      • Coreference resolution
      • Discourse analysis
    • Speech
      • Speech recognition
      • Speech segmentation
      • Text-to-speech
    • Dialogue
  • references

자연어처리에서 형태소 분석기(koNLPy)의 역할

  • 형태소 분석기는 자연어처리 기반 기술입니다.

  • low level 분석이며, token을 의미 단위로 분리(tokenizer)하여 다음 단계에서 사용합니다.

    • 형태소 분석을 통해 다양한 입력 형태를 같은 의미로 분석할 수 있습니다.

    • 예) 분석 결과에 '날씨'와 '좋(다)'이 모두 존재

      입력 분석
      날씨 좋다 [('날씨', 'NNG'), ('좋', 'VA'), ('다', 'EFN')]
      날씨 좋구나 [('날씨', 'NNG'), ('좋', 'VA'), ('구나', 'EFI')]
      날씨가 좋습니다 [('날씨', 'NNG'), ('가', 'JKS'), ('좋', 'VA'), ('습니다', 'EFN')]
  • 입력의 의미를 다양한 형태로 활용해서 주어진 task에 맞춰 사용하기 때문에, 형태소 분석기는 항상 중요합니다.

  • 참고, 최근에는 형태소 분석기 대신 WPM(Wordpiece Model)을 사용하기도 합니다.

형태소 분석기와 결합하면 시너지를 낼 수 있는 기술

  • 한국어 Word Embedding

    • 최근 Deep Learning을 통한 연구가 주를 이루고 있는데, 입력을 특정 차원으로 전사해서 사용합니다. (ex, word2vec, GloVe, ...)
    • 특정 차원으로 전사할 때, 입력의 의미 정보가 잘 저장되는 것이 중요합니다.
    • 형태소 분석기를 사용하여 입력을 분석한 뒤 word embedding을 학습하는 것이 좋습니다.
  • 개체명 인식(NER, Named Entity Recognition)

    • 개체명을 인식할 때, 개체명의 경계가 되는 부분을 찾아내야 합니다. (ex, 강남역[장소]에서 만나자)
    • 형태소 분석기를 사용하면 개체명의 경계가 되는 부분을 구분하기 좋습니다.
  • 맞춤법 검사기

    • 맞춤법 검사를 위해서는 형태소 분석 정보가 필요합니다.
    • 형태소 분석 후에 형태소 간의 결합일 잘못된 경우를 발견하여 문법적인 오류를 찾고 수정할 수 있습니다.
  • 단어 의미 중의성 해결(Word sense disambiguation)

    • 의미 중의성 해결을 위해서는 가장 작은 의미 단위로 분석이 필요합니다.
    • 형태소 분석을 통해 가장 작은 의미 단위로 분석하고 중의성을 해결할 수 있습니다.
  • 기타

    • NLU(Natural language understanding), Sentiment analysis 등 다양한 기술들이 형태소 분석된 결과를 통해 좋은 성능을 냅니다.