더북(TheBook)

이 세 문장에 등장하는 단어를 모두 세어 보고 출현 빈도가 가장 높은 것부터 나열해 보면, ‘토큰화’가 3회, ‘딥러닝에서’가 2회, ‘텍스트의’가 2회, 그리고 나머지 단어들이 1회씩입니다. 가장 많이 사용된 단어인 ‘토큰화, 딥러닝, 텍스트’가 앞의 세 문장에서 중요한 역할을 하는 단어임을 짐작할 수 있습니다.

케라스의 Tokenizer() 함수를 사용하면 단어의 빈도수를 쉽게 계산할 수 있습니다. 다음 예제는 위에 제시된 세 문장의 단어를 빈도수로 다시 정리하는 코드입니다. 먼저 케라스에서 제공하는 텍스트 전처리 함수 중 Tokenizer() 함수를 불러옵니다.

from tensorflow.keras.preprocessing.text import Tokenizer

전처리하려는 세 개의 문장을 docs라는 배열에 지정합니다.

docs = ['먼저 텍스트의 각 단어를 나누어 토큰화합니다.',
        '텍스트의 단어로 토큰화해야 딥러닝에서 인식됩니다.',
        '토큰화한 결과는 딥러닝에서 사용할 수 있습니다.',
       ]

토큰화 함수인 Tokenizer()를 이용해 전처리하는 과정은 다음과 같습니다.

token = Tokenizer()      # 토큰화 함수 지정
token.fit_on_texts(docs) # 토큰화 함수에 문장 적용

print("\n단어 카운트:\n", token.word_counts) # 단어의 빈도수를 계산한 결과 출력
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.