codestates / codestates/ds-TIL

[TIL] 김민채_201215

Open
#1,176 0 comments 0 reactions 0 assignees View on GitHub
DSFT01
Dominant language
No language data
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

### Today I Learn_71

**1. vectorization of texts**
- 문서를 벡터화 하는 이유는 컴퓨터가 모델을 학습하고 예측할 수 있도록 하기 위함
일종의 embedding 작업이다.
- 크게 BOW(back of words)와 TF-IDF 벡터화 작업이 있다.
- BOW 는 단순히 토큰의 빈도만을 고려해 벡터화 한다면
- TF-IDF 는 단순히 빈도만 많을 것이 아니라 유의미한 중요도를 가진 단어인지까지 고려해 벡터화 한다.
- BOX 는 Countvectorizer 에 토큰화 작업까지 자동으로 이루어지지만
- TF-IDF 는 토큰화 작업이 자동으로 되지 않아 따로 spacy 모델을 통해 토큰화 작업을 해야 한다.
- 문서 검색을 하고 싶은 경우, 문서와 문서간 유사도를 측정하는 방법으로 할 수 있다.
- 크게 Cosine Similarity 로 전체 문서 대 전체 문서로 거리를 계산하는 것과 K-NN 트리구조로 특정 문서와 제일 가까운 K개의 문서만 거리를 계산하는 방법이 있다.
- Cosine Similarity 는 문서 전체에 관해 조사해볼 수 있지만 그만큼 많은 계산이 소요된다.
- K-NN 트리구조는 특정 K개의 문서만 거리를 계산하기 때문에 Cosine 보다는 계산 소요가 적다.
- 문서를 벡터화 하는 것은 위에서 언급한 BOW 와 TF-IDF 말고도 Word2Vec 모델을 통해서도 가능하다.
- 가장 큰 장점으로는 의미나 구조적으로 비슷한 단어를 통해 '문맥을 학습'하여 강력한 문맥 정보를 보유한 벡터를 가질 수 있다는 것이다. (단순 빈도 내지는 ngram_range() 를 통한 주변부 단어만으로 문서를 벡터화하는 것보다 훨-씬 예측도가 강력하다!)
- Word2Vec 은 Input하는 target 과 Output하는 target labe 을 통해 데이터 학습이 알아서 이루어져 잘 학습된 embedding 이 제공된다. 굿.
- 따라서 들어가는 corpus 는 골고루 많은 것을 학습할 수 있게 큰 것이 작은 것보다 좋다.
(물론 Word2Vec 말고도 spacy 모델도 방대한 corpus 로 학습된 embedding 을 제공하고 있어 매우 유용하다.)

**2. Impression from Today**
- 어제는 좀 꾸역꾸역 과제를 겨우 해내면서 많은 생각이 또 들었지만
- 오늘은 세션1에서 (한참 열정에 불타오르던 시기) 열심히 머리에 넣으려고 애쓰던 정보들과 비슷한 게 많아 재밌었다.
(과제를 잘 해내는 것과 별개)
- 물론 오늘 배운 양이 많아서 어제보다 note를 전체 run 하는 시간이 더 소요되는거 같다.
- 오늘도 열심히 과제를 해서 나에게 좋은 정보를 많이 줘야겠다.
하하..

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.