Professional Field

ETL : Airflow / DW(Snowflake) | AI : Python | BI : Tableau / Power BI

Scientist/ML.DL

[ML/DL] NLP TF-IDF / Word2Vec

K_CY 2024. 7. 18. 22:12

1. TF-IDF 임베딩

TF-IDF (Term Frequency-Inverse Document Frequency)는 텍스트 데이터를 수치 벡터로 변환

 

– 핵심어 추출 위해 단어의 특정 문서 내 중요도 산출
– TF: 단어의 문서내 빈도, IDF: 문서 빈도 수(DF)의 역수

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from nltk.tokenize import word_tokenize

# TF-IDF 임베딩
vectorizer = TfidfVectorizer(tokenizer=lambda x: x, lowercase=False)  # 이미 토크나이즈 했으므로 tokenizer와 lowercase 옵션 조정
tfidf_matrix = vectorizer.fit_transform(train_X['Comment'])

# TF-IDF 결과 출력
print(tfidf_matrix.toarray())

 

2. Word2Vec 임베딩

Word2Vec은 단어를 고정 길이 벡터로 변환하는 딥러닝 기반 임베딩 기법. Gensim 라이브러리를 사용하여 구현

 

– 단어를 벡터 평면에 배치하여 문맥적 의미 보존
– 신경망 연산 수행하며 CBOW와 Skip-gram 모델 적용

import pandas as pd
from nltk.tokenize import word_tokenize
from gensim.models import Word2Vec

# Word2Vec 임베딩
sentences = train_X['Comment'].tolist()
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)

# 각 단어에 대한 벡터 출력
word_vectors = model.wv
print(word_vectors['sample'])  # 'sample' 단어에 대한 벡터 출력

 

 

 

https://blog.skby.net/%EC%9B%8C%EB%93%9C-%EC%9E%84%EB%B2%A0%EB%94%A9word-embedding/

 

워드 임베딩(Word Embedding) < 도리의 디지털라이프

I. 기계의 자연어 처리를 위한 워드 임베딩의 필요성 유사한 의미의 단어를 군집화하고 벡터 연산을 통해 단어 간의 관계를 파악하여 추론이 가능해짐에 따라 자연어 처리 모델링에 필수 기술로

blog.skby.net

 

https://eda-ai-lab.tistory.com/428

 

임베딩 기법(Embedding)

본 글은 자연어 처리에서 주로 사용하는 임베딩 기법들에 대해 정리해놓은 자료입니다. One-hot Encoding, TF-IDF, LSA, Word2Vec, Glove, FastText에 대해 정리할 것이고 ratsgo님의 블로그을 많이 참고하였습니

eda-ai-lab.tistory.com

 

'Scientist > ML.DL' 카테고리의 다른 글

[LangChain] PDF Loader 종류  (0) 2024.08.09
[ML/DL] LangChain이란?  (0) 2024.07.18
[ML/DL] NLP 토크나이저 종류  (0) 2024.07.17
[ML/DL] NLP BERT 감정분석  (0) 2024.07.15
[ML/DL] NLP 단어 가방 모형  (0) 2024.07.15