728x90
해당 게시물은 '박조은'강사님의 인프런 강의, [NLP] IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리를 정리한 게시글입니다.
Bag-of-words model - Wikipedia
요약: 단어 가방에 단어가 얼마나 나오는지 넣어보자!
다음의 두 문장이 있다고 하자,
(1) John likes to watch movies. Mary likes movies too.
(2) John also likes to watch football games.
위 두 문장을 토큰화 하여 가방에 담아주면 다음과 같다.
[
"John",
"likes",
"to",
"watch",
"movies",
"Mary",
"too",
"also",
"football",
"games"
]
그리고 배열의 순서대로 가방에서 각 토큰이 몇 번 등장하는지 횟수를 세어준다.
(1) [1, 2, 1, 1, 2, 1, 1, 0, 0, 0]
(2) [1, 1, 1, 1, 0, 0, 0, 1, 1, 1]
=> 머신러닝 알고리즘이 이해할 수 있는 형태로 바꿔주는 작업이다.
단어 가방을 n-gram을 사용해 bigram(2개씩)으로 담아주면 다음과 같다. (unigram - 1개, bigram - 2개, trigram - 3개)
[
"John likes",
"likes to",
"to watch",
"watch movies",
"Mary likes",
"likes movies",
"movies too",
]
=> 여기에서는 CountVectorizer를 통해 위 작업을 한다.
사이킷런의 CountVectorizer를 통해 피처 생성
- 정규표현식을 사용해 토큰을 추출한다.
- 모두 소문자로 변환시키기 때문에 good, Good, gOod이 모두 같은 특성이 된다.
- 의미없는 특성을 많이 생성하기 때문에 적어도 두 개의 문서에 나타난 토큰만을 사용한다.
- min_df로 토큰이 나타날 최소 문서 개수를 지정할 수 있다.
맥스피쳐: 가방 안에 몇개를 담을 것인가?
벡터라이즈를 바로 사용하면 시간이 걸린다.
그래서 fit_transform을 이용해서 진행
pipeline
- 아래의 공식 문서를 보면 pipeline 에서 메모리의 캐시를 사용할 수 있다는 문구도 있습니다. 하지만 성능상의 이슈라기보다는 cross-validation 과 GridSearch 과정을 하나로 만들어 주는게 pipeline의 가장 큰 장점이라고 한다.
- 하나의 과정만 묶어줘서 사실 굳이 pipeline을 쓸 필요는 없는데 보통 transform 하는 과정에서 pipeline을 사용
- 해당 코드에는 cross-validation 과 GridSearch 과정이 없는데 해당 과정은 모델의 성능(정확도)를 측정해 보는 과정이고, GridSearch는 최적의 하이퍼파라메터를 찾는 과정
- Sequentially apply a list of transforms and a final estimator. Intermediate steps of the pipeline must be ‘transforms’, that is, they must implement fit and transform methods. The final estimator only needs to implement fit. The transformers in the pipeline can be cached using memory argument.
행렬 데이터가 어떤 단어를 가지는지 피쳐 수 확인 (2만개)
728x90
'공부정리 > NLP' 카테고리의 다른 글
[NLP] 캐글 영화 리뷰 분석 튜토리얼 2 - (1) 딥러닝 기법 Word2Vec 소개 - 강의 정리 (0) | 2022.08.29 |
---|---|
[NLP] 캐글 영화 리뷰 분석 튜토리얼 (4) 랜덤 포레스트로 영화 감성 예측 평가 ROC / AUC - 강의 정리 (0) | 2022.08.29 |
[NLP] 캐글 영화 리뷰 분석 튜토리얼 (2) 데이터 정제하기 (BeautifulSoup, re, NLTK) - 강의 정리 (0) | 2022.08.18 |
[NLP] 캐글 영화 리뷰 분석 튜토리얼 (1) 데이터 확인하기 - 강의 정리 (0) | 2022.08.18 |
[NLP] 캐글 머신러닝 자연어처리 NLP 튜토리얼 - 강의 정리 (0) | 2022.08.18 |