Python - CountVectorizer - 문서의 단어 출현 빈도 확인하기 (문자열 수치화)

카운트 벡터라이징이란? (Count Vectorizing)

  • from sklearn.feature_extraction.text import CountVectorizer 호출
  • 문서의 단어별 등장 횟수(출현 빈도)를 카운팅하여 수치화 하는 것
    • 단어 추출 > 단어 정렬 > 정렬된 단어 컬럼 생성 > 숫자로 변경 > 해당 단어 등장시 숫자 카운팅
  • 모두 소문자로 변환시키기 때문에 대문자 I와 소문자 i는 같이 취급
    • 예시1 ) 'i love you' > ['i', 'love', 'you']
      >>> 1(i) 1(love) 1(you)
    • 예시2 ) 'i love cake i love coffee' > ['i', 'love', 'cake', 'coffe']
      >>> 2(i) 2(love) 0(you) 1(cake) 1(coffee)

카운트 벡터라이저 사용 방법

카운트 벡터라이저 라이브러리 호출

from sklearn.feature_extraction.text import CountVectorizer

문자열 수치화 해보기 (문자를 벡터로 표현)

  • CountVectorizer() : 카운터 벡터라이징을 하기 위한 함수 선언
    • analyzer : 문자열 {‘word’, ‘char’} 또는 사용자 함수
      • 디폴트 값은 word(단어별)이므로 여기서는 생략하도록 함 
      • word : 단어별 / char : 한글자별
  • .fit_transform(데이터) : 입력된 데이터의 단어들을 숫자로 변환
  • .toarray() : 배열 형태로 변환
  • 밑에 결과 값 출력해놨음, 데이터프레임 파일은 미첨부
vec = CountVectorizer()
# 카운트벡터라이저 함수 선언

count_vec = vec.fit_transform(df_alexa['verified_reviews'])
# 데이터프레임의 리뷰 컬럼을 카운트벡터라이징

review_arr = count_vec.toarray()
# 카운트 벡터라이징한 데이터를 배열 형태로 변환

 

  • 특정 단어의 빈도를 눈으로 확인해보기
    • 예시) 두번째 리뷰를 카운트 벡터라이징한 것을 시각화 해보자
      • 배열로 저장된 값은 수많은 단어들이 0으로부터 나열
      • 0의 배열중 특정 단어가 출현하면 해당 자리만 카운트(+1)