728x90

DeepLearning/NLP 7

[Word2Vec] CBOW - Python 코드

1. Word2Vec - CBOWCBOW에 대한 정의는 아래 게시글 참조 [NLP] Word Embedding자연어처리 공부중입니다. 잘못된 부분은 편히 댓글 부탁드립니다.1. 워드 임베딩이란?단어를 인공신경망 학습을 통해 벡터화하는 하는 것즉 텍스트를 숫자로 변환하는 방법2. 희소 표현(Sparse Rehello-heehee.tistory.com2. CODE1) Gensim Gensim: topic modelling for humansEfficient topic modelling in Pythonradimrehurek.com가장 많이 사용되고 상용화되어있는 Gensim의 Word2Vec이다.from gensim.models import Word2Vecfrom gensim.models.word2vec i..

DeepLearning/NLP 2025.02.25

[NLP] Drain3 - Python

1. Drain3자연어로 이루어진 데이터들의 Template을 자동적으로 만들어주는 라이브러리# 라이브러리 설치pip install drain32. CODEGithub GitHub - logpai/Drain3: A robust streaming log template miner based on the Drain algorithmA robust streaming log template miner based on the Drain algorithm - logpai/Drain3github.comexamples 폴더의 drain3.ini와 drain_bigfile_demo.py, drain_stdin_demo.py만 봐도 기본적인 drain3가 사용가능위를 바탕으로 아래에 코드 재 정리1) LogTemplate..

DeepLearning/NLP 2025.02.19

[NLP] 텍스트 데이터 전처리 - Log Template

자연어인 로그 데이터를 딥러닝할 때 전처리는 어떻게 할까?보통 로그 데이터는 패턴이 존재한다. 이 패턴에 대해서 알고 있다면 공통 패턴이 되는 템플릿(Template)을 만들어 처리하면 되지만 만약 데이터가 많고 템플릿을 정리할 수 없다면 이 템플릿을 만들어주는 여러 방법들이 존재한다.템플릿을 추출하는 이유는 방대한 데이터로 처리하기엔 시간이 많이 소요되기 때문에 공통 패턴을 템플릿으로 만들고 가변 데이터만 따로 처리한다면 시간비용이 적게 들기 때문이다.1. Log Parsing 의 정의와 특징 로그: 일반적으로 시스템, 애플리케이션, 네트워크 등에서 발생하는 이벤트를 기록한 텍스트 데이터로그 파싱: 로그 메시지를 구조화된 형식으로 변환하는 과정로그를 구조화하여 패턴을 생성하고 분석 가능한 형식(ex. ..

DeepLearning/NLP 2025.01.13

[NLP] Transformer - BERT

1. BERT란 무엇인가 17. BERT(Bidirectional Encoder Representations from Transformers)트랜스포머(transformer)의 등장 이후, 다양한 자연어 처리 태스크에서 사용되었던 RNN 계열의 신경망인 LSTM, GRU는 트랜스포머로 대체되어가는 추세입니다. 이에 따…wikidocs.net Bidirectional Encoder Representations from TransformersTranformer 계열의 자연어 처리 모델다음에 올 단어를 예측하는데 자주 사용하는 언어모델2. BERT의 구조BERT의 기본구조는 Transformer의 Encoder를 쌓아올린 구조로 Base버전에는 총 12개, Large버전에는 24개를 쌓음Input: 단어를 토..

DeepLearning/NLP 2025.01.11

[NLP] Encoder-Decoder와 Attention

1. Encoder 와 DecoderEncoder: Input data를 받아 압축 데이터(context vector)로 변환 및 출력Decoder: Encoder와 반대로 압축 데이터(context vector)를 입력 받아 Output data를 출력데이터를 압축하여 전달하는 이유는 정보를 압축하여 연산량을 최소화할 수 있기 때문다만 압축하여 발생하는 정보 손실이 존재정보 손실을 해결하기 위해 Attention이라는 개념이 도입됨* Embedding [NLP] Word Embedding자연어처리 공부중입니다. 잘못된 부분은 편히 댓글 부탁드립니다.1. 워드 임베딩이란?단어를 인공신경망 학습을 통해 벡터화하는 하는 것즉 텍스트를 숫자로 변환하는 방법2. 희소 표현(Sparse Rehello-heehee..

DeepLearning/NLP 2025.01.06

[NLP] 텍스트 데이터 전처리

자연어를 분석하기 위해서는 전처리가 필요한데, 텍스트 데이터는 어떻게 전처리를 해야할까? 1. 텍스트 정규화1) 클렌징: 불필요한 문자, 기호 등을 제거하는 방법ex) 특수문자, 공백, 태그 등import retext = re.sub(r']+>', '', text) # HTML 태그 제거text = re.sub(r'\d+', '', text) # 숫자 제거text = re.sub(r'[^\w\s]', '', text) # 특수문자 제거text = re.sub(r'\s+', ' ', text).strip() #공백 제거2) 소문자 변환: 대소문자 구분을 없애 분석의 일관성 유지text = text.lower()2. 불용어 제거: 의미 없는 단어 제거from nltk.corpus import sto..

DeepLearning/NLP 2025.01.05

[NLP] Word Embedding

자연어처리 공부중입니다. 잘못된 부분은 편히 댓글 부탁드립니다.1. 워드 임베딩이란?단어를 인공신경망 학습을 통해 벡터화하는 하는 것즉 텍스트를 숫자로 변환하는 방법2. 희소 표현(Sparse Representation)One-hot-encoding은 값이 2개로만 이루어진 것으로 희소표현은 One-hot-Vetor를 의미하며 0과 1로만 이루어져있음.단, 하나만 1 나머지는 0이어야 한다.10개의 데이터 중 고양이가 4번째라면, 고양이 = [0,0,0,1,0,0,0,0,0,0]단어의 개수가 늘어날 수록 벡터 차원이 한없이 커진다는 단점이 있음단어가 1만개라면 벡터의 차원도 1만3. 밀집 표현(Dense Representation)희소 표현과 반대되는 표현벡터의 차원을 단어 집합의 크기로 상정하지 않음...

DeepLearning/NLP 2024.11.28
728x90