본문 바로가기
Python/텐서플로 2와 머신러닝으로 시작하는 자연어 처리2

특징 추출(Feature extraction)

by 훈영 2024. 2. 9.

세 가지 방법 모두 텍스트를 벡터로 만드는 방법이다.

 

1. CountVectorizer

  • 텍스트에서 단어 출현 횟수를 특징으로 추출
  • 직관적이고 간단해서 여러 상황에서 사용할 수 있다는 장점이 있다.
  • 단순히 횟수만을 특징으로 잡기 때문에 큰 의미가 없지만 자주 사용되는 단어들(조사, 지시대명사)이 높은 특징 값을 가지기 때문에 유의미하게 사용하기 어려울 수 있다.

 

2. TfidfVectorizer

TF(Term Frequency): 특정 단어가 하나의 데이터 안에서 등장하는 횟수
DF(Document Frequency): 문서 빈도 값으로, 특정 단어가 여러 데이터에 자주 등장하는지를 알려주는 지
IDF(Inverse Document Frequency): DF 값에 역수를 취해서 구할 수 잇으며, 특정 단어가 다른 데이터에 등장하지 않을 수록 값이 커진다는 것을 의미
  • TF-IDF라는 특정한 값을 사용해 텍스트에서 특징 추출
  • TF-IDE란, TF와 IDF의 값을 곱해서 사용하므로 어떤 단어가 해당 문서에 자주 등장하지만 다른 문서에는 많이 없는 단어일수록 높은 값을 가지게 된다.
  • 따라서, 조사나 지시대명사처럼 자주 등장하는 단어는 TF 값은 크지만 IDF 값은 작아지므로 TfidfVectorizer는 CountVectorizer가 가진 문제점을 해결할 수 있다.

 

 3. HashingVecorizer

  • CountVetorize와 동일한 방법이지만 텍스트를 처리할 때 해시 함수를 사용하기 때문에 실행 시간을 크게 줄일 수 있다.
  • 따라서, 텍스트의 크기가 클수록 HashingVecorizer를 사용하는 것이 효율적이다.

'Python > 텐서플로 2와 머신러닝으로 시작하는 자연어 처리2' 카테고리의 다른 글

Index  (0) 2024.02.09

댓글