작성
·
216
답변 2
1
0
안녕하십니까, 인사이저입니다.
질문에 답변드리겠습니다.
어떤 샘플을 넣으셨는지 몰라 문제에 대해 자세하게 파악되지는 않지만,
설명해주신 내용을 토대로 보건데
count_vectorizer.vocabulary_ 에 대해 저희가 설명이 부족하지 않았나 파악하고 있습니다.
count_vectorizer.vocabulary_는 벡터 공간, 그러니까 입력하신 데이터들에 대해
어떤 단어들이 있는 지 보여주는 명령어이며,
{단어:숫자} 형태의 딕셔너리로 나오는 값의 의미는
count_vectorizer를 구축했을 시 각 문장에 대한 단어의 index를 의미합니다.
즉 빈도수가 아닌 단어의 위치를 의미합니다!
단어의 빈도수를 추출하고 싶으면 count_vectorizer에 fit 한 후 transform을 적용하거나,
fit_transform 명령어로 단번에 빈도수 테이블을 구축해야 합니다.
설명이 복잡한 것 같아 아래 샘플 코드를 준비해봤습니다.
세 개의 문장에 대해서 CountVectorizer의 빈도수 테이블을 구축하고,
그 결과에 대해 판다스 데이터프레임으로 보기좋게 꾸며봤습니다.
처음 출력 결과가 count_vectorizer에 fit을 한 후, vocabulary_ 명령어로 단어를 불러온 모습인데요,(코드 15,16번째)
보시면 아시겠지만 데이터프레임의 열 순서대로 번호가 매겨져 있는 모습을 볼 수 있습니다.
이를 묘사하기 위해 vocabulary_ 명령어 결과에 숫자가 존재하는 셈이지요!
그리고 만약 해당 값으로 wordcloud를 구축한다고 하신다면,
데이터프레임에서 wordcloud를 구축하고 싶은 문장의 행을 하나 가져와서 wordcloud에 집어넣으면 되겠습니다.(아래의 코드 12번째)
어떻게 도움이 되실 지 모르겠습니다.
아직 이해가 안가는 부분이 있거나
추가로 궁금한 사항이 생길 경우 언제든 질문 주시면 도와드리겠습니다.
감사합니다!