일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 출력층
- KONLPY
- 코랩
- 전이학습
- 양방향 RNN
- 순환 신경망
- 입력층
- 텍스트 마이닝
- 망각 게이트
- 성능 최적화
- COLAB
- 합성곱층
- 완전연결층
- 과적합
- cnn
- RNN
- 클러스터링
- 프로그래머스
- 임베딩
- 시계열 분석
- 풀링층
- 딥러닝
- 자연어 전처리
- 원-핫 인코딩
- 코딩테스트
- 합성곱 신경망
- 카운트 벡터
- 이미지 분류
- NLTK
- 생성모델
Archives
- Today
- Total
Colab으로 하루에 하나씩 딥러닝
한국어 영화 리뷰 카운트 벡터 변환 본문
728x90
### 데이터 다운로드
!git clone https://github.com/wikibook/textmining.git
### 데이터 확인하기
import pandas as pd
df = pd.read_csv("/content/textmining/data/daum_movie_review.csv")
df.head(10)
### review 항목을 바탕으로 카운트 벡터 생성
from sklearn.feature_extraction.text import CountVectorizer
daum_cv = CountVectorizer(max_features=1000)
# review를 이용해 count vector를 학습하고, 변환
daum_DTM = daum_cv.fit_transform(df.review)
print(daum_cv.get_feature_names_out()[:100]) # count vector에 사용된 feature 이름을 반환
### KoNLPy 형태소 분석기를 사용하여 분석
!pip install konlpy
from konlpy .tag import Okt
twitter_tag = Okt()
print('전체 형태소 결과: ', twitter_tag.morphs(df.review[1]))
print('*'*50)
print('명사만 추출: ', twitter_tag.nouns(df.review[1]))
print('*'*50)
print('품사 태깅 결과: ', twitter_tag.pos(df.review[1]))
print('*'*50)
### 명사, 동사, 형용사를 선택하여 토크나이저 함수 제작 후 테스트
def my_tokenizer(doc):
return [
token
for token, pos in twitter_tag.pos(doc)
if pos in ['Noun', 'Verb','Adjective']
]
print('나만의 토크나이저 결과: ', my_tokenizer(df.review[1]))
### tokenizer 매개변수에 my_tokenizer 함수를 지정해 객체를 생성한 후에, fit_transform으로 카운트 백터를 생성
from sklearn.feature_extraction.text import CountVectorizer
# 토크나이저와 특성의 최대 개수를 지정
# 명사만 추출하고 싶은 경우에는 tokenizer에 'twitter_tag.nouns'를 바로 지정해도 됨
daum_cv = CountVectorizer(max_features=1000, tokenizer=my_tokenizer)
# review를 이용해 count vector를 학습하고, 변환
daum_DTM = daum_cv.fit_transform(df.review)
print(daum_cv.get_feature_names_out()[:100]) # count vector에 사용된 feature 이름을 반환
### 희소 행렬에서 값이 있는 비율 확인
print(repr(daum_DTM))
print(110800/(14725*1000))
참고: 박상언, 『파이썬 텍스트 마이닝 완벽 가이드』, 위키북스(2022)
'딥러닝_프로젝트' 카테고리의 다른 글
20 뉴스그룹 데이터 준비 및 특성 추출 (0) | 2022.12.22 |
---|