본문 바로가기

반응형

텍스트 마이닝

(52)
한국어 문서에 대한 BERT 활용 (2) 16.2 KoBERT 사전학습모형에 대한 파이토치 기반 미세조정학습 !pip install sentencepiece !pip install 'git+https://github.com/SKTBrain/KoBERT.git#egg=kobert_tokenizer&subdirectory=kobert_hf' del model del trainer torch.cuda.empty_cache() from kobert_tokenizer import KoBERTTokenizer tokenizer = KoBERTTokenizer.from_pretrained('skt/kobert-base-v1') print(tokenizer.tokenize("안녕하세요. 반갑습니다.")) inputs = tokenizer("안녕하세요. 반갑습..
한국어 문서에 대한 BERT 활용 (1) 16.1 다중 언어 BERT 사전학습 모형의 미세조정학습 import pandas as pd import numpy as np from sklearn.model_selection import train_test_split df = pd.read_csv('/content/daum_movie_review.csv') # rating이 6보다 작으면 0 즉 부정, 6 이상이면 긍정으로 라벨 생성 y = [0 if rate < 6 else 1 for rate in df.rating] # 데이터셋을 학습, 검증, 평가의 세 데이터셋으로 분리 X_train_val, X_test, y_train_val, y_test = train_test_split(df.review.tolist(), y, random_state=0)..
BERT 사전학습 모형에 대한 미세조정학습 (3) 15.3 파이토치를 이용한 미세조정학습 del model del trainer torch.cuda.empty_cache() from torch.utils.data import DataLoader train_loader = DataLoader(train_dataset, shuffle=True, batch_size=8) from transformers import BertModel bert_model = BertModel.from_pretrained('bert-base-uncased') # BERT를 포함한 신경망 모형 class MyModel(torch.nn.Module): def __init__(self, pretrained_model, token_size, num_labels): super(MyMode..
BERT 사전학습 모형에 대한 미세조정학습 (2) 15.2 트랜스포머의 트레이너를 이용한 미세조정학습 import nltk from nltk.corpus import movie_reviews from sklearn.model_selection import train_test_split #sklearn에서 제공하는 split 함수를 사용 import numpy as np nltk.download('movie_reviews') fileids = movie_reviews.fileids() #movie review data에서 file id를 가져옴 reviews = [movie_reviews.raw(fileid) for fileid in fileids] #file id를 이용해 raw text file을 가져옴 categories = [movie_review..
BERT 사전학습 모형에 대한 미세조정학습 (1) 15.1 BERT 학습을 위한 전처리 토큰 임베딩 구간 임베딩 위치 임베딩 from transformers import BertTokenizer tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') sentence1 = "What a beautiful day!" sentence2 = "Nvidia Titan XP has 12GB of VRAM" # 1. 토큰화 결과 print(sentence1, '토큰화 결과:', tokenizer.tokenize(sentence1)) print(sentence2, '토큰화 결과:', tokenizer.tokenize(sentence2)) """ What a beautiful day! 토큰화 결과: ['what'..
BERT의 이해와 간단한 활용 (2) 14.4 사전학습된 BERT 모형의 직접 사용방법 pip install transformers from transformers import pipeline clf = pipeline("sentiment-analysis") result = clf("what a beautiful day!")[0] print("감성분석 결과: %s, 감성스코어: %0.4f" % (result['label'], result['score'])) """ 감성분석 결과: POSITIVE, 감성스코어: 0.9999 """ from transformers import pipeline text_generator = pipeline("text-generation") result = text_generator("Alice was beginn..
BERT의 이해와 간단한 활용 (1) 14.1 왜 언어 모델이 중요한가? 언어 모델: 문장 혹은 단어의 시퀀스에 대해 확률을 할당하는 모델 GPT(Generative Pre-trained Transformer)가 언어 모델로 학습한 대표적인 모형 14.2 BERT의 구조 BERT는 언어 모델 기반의 학습을 이용해 언어에 대한 이해를 높이는 데 목적이 있음 GPT가 단방향 혹은 순방향으로만 셀프 어텐션만 사용하는 것에 비해 BERT는 양방향 셀프 어텐션을 모두 활용할 수 있음 14.3 언어모델을 이용한 사전학습과 미세조정학습 사전학습: 언어에 대한 이해를 높이기 위한 비지도학습 미세조정학습: 실제 수행하고자 하는 작업에 대한 지도학습 BERT는 'masking', 단어를 가리고, 가린 단어를 예측하게 하는 것으로 언어 모델을 학습 BERT에서..
어텐션(Attention)과 트랜스포머 (2) 13.3 셀프 어텐션(Self-attention)과 트랜스포머 13.3.1 셀프 어텐션의 이해 셀프 어텐션의 목적은 문장 내에서 단어 간 영향을 표현하는 것 어떤 단어를 벡터로 임베딩할 때, 그 단어에 영향을 미치는 다른 단어들의 정보를 함께 인코딩하고 싶은 것 각 단어들에 대해 그 단어에 영향을 미치는 단어들의 정보를 선별해 자신에게 축적 이 경우 각 단어가 모두 자신에게 오는 어텐션에 대한 정보를 갖고 있으므로 RNN 혹은 LSTM에 기반한 seq2seq 모형과는 달리 어느 한 벡터가 전체 문맥에 대한 정보를 축적하고 있지는 않음 13.3.2 트랜스포머의 구조 현재 딥러닝을 이용한 자연어 처리 모형의 정점 BERT(Bidirectional Encoder Representations from Trans..
어텐션(Attention)과 트랜스포머 (1) 13.1 Seq2seq: 번역에서 시작한 딥러닝 기법 seq2seq: 일련의 단어들이 들어오고 이를 이용해서 다시 일련의 단어들을 생성해야 하는 문제 seq2seq 문제에 적용할 수 있는 가장 단순한 딥러닝 모형은 RNN 모형은 인코더와 디코더로 이루어짐 13.2 어텐션을 이용한 성능의 향상 컨텍스트 벡터: 추가된 부분의 인코더 윗부분, 예측에 가장 많은 영향을 미치는 단어에 대한 정보가 담겨 있음 어텐션 메커니즘은 번역의 성능을 향상시킨 결정적인 발견 중 하나 ※ 해당 내용은 의 내용을 토대로 학습하며 정리한 내용입니다.
CNN - 이미지 분류를 응용한 문서 분류 (1) 12.1 CNN의 등장과 작동 원리 CNN은 딥러닝 기반의 학습을 이용해 26% 정도였던 오류율을 16%까지 떨어뜨림 CNN에서 주변 정보들을 요약하고 특성을 추출하는 과정은 컨볼루션과 풀링 12.2 CNN을 이용한 문서 분류 12.2.1 CNN을 이용한 문서 분류의 원리 단어들의 연속된 나열에 대해 앞뒤 단어들 간의 주변정보를 요약해낼 수 있다면 문맥을 파악하는 것이 가능 문서 분류에서는 이미지에서 일반적으로 사용하는 conv2D 계층 대신 한 방향으로만 움직이는 conv1D 계층을 사용 단어의 시퀀스로부터 워드 임베딩을 이용해 각 문서에 대해 2차원 행렬로 변환하고, 컨볼루션과 풀링의 반복을 통해 요약 정보를 추출한 다음, 완전 연결 계층으로 구성된 분류기를 적용해 문서를 판별 12.2.2 CNN을 ..

반응형