머신러닝/자연어처리

말뭉치(corpus)란?

Olivia-BlackCherry 2022. 7. 28. 22:25

컴퓨터가 자연어를 이해시키는 방법 두 번째입니다. 

이번에는 통계 기반 기법을 사용할 것입니다.

 

먼저 말뭉치(corpus)에 대해 알아봅시다. 

말뭉치란?

간단히 말하면 대량의 텍스트 데이터입니다. 

'나는 너를 진심으로 사랑한다'는 문장에서

나는, 너를, 진심으로, 사랑한다는 단어를 어떤 공간에 한 곳에 뭉쳐놓은 것이죠.

 

파이썬 코드로 살펴보겠습니다. 

※ 하단의 재생 버튼▶을 눌러보시면 출력 화면을 볼 수 있습니다.

 

 

 

말뭉치를 위한 사전작업을 마쳤습니다. 이를 preprocess() 함수로 구현하면 아래와 같습니다.

def preprocess(text):
  text = text.lower()
  text = text.replace('.', ' .')
  words = text.split(' ')

  word_to_id = {}
  id_to_word = {}
  for word in words:
    if word not in word_to_id:
      new_id = len(word_to_id)
      word_to_id[word] = new_id
      id_to_word[new_id] = word

  corpus = np.array([word_to_id[w] for w in words])
 return corpus, word_to_id, id_to_word

※ 하단의 재생버튼▶을 눌러보시면 출력 화면을 볼 수 있습니다.