본문 바로가기

반응형

🥾 프로젝트/(STEP)파이썬을 활용한 인공지능 자연어 처리

(17)
8-2회차) BERT 모델을 활용한 Text Classification 모델 구현 2. BERT Multi Classification 모델구현 1) 학습 및 평가 데이터 세트 (1) 데이터 세트 준비 (2) 데이터 세트 클래스 정의 2) Pre-trained 모델 다운로드 및 Fine-tunning 설정 (1) Pre-trained 모델 다운로드 - num_labels은 멀티 classification에 반드시 입력해야 함. (2) Training을 위한 하이퍼 파라미터 설정
8-1회차) BERT 모델을 활용한 Text Classification 모델 구현 1. BERT Binary Classification 모델구현 1) 학습 및 평가 데이터 세트 (1) 데이터 세트 준비 - id컬럼은 사용하지 않음. - 8:2로 분리 - train data를 또 분리 7:3 (2) 데이터 세트 클래스 정의 (3) Pre-trained Tokenizer 다운로드 - 한국어 관련 다운 하고 싶으면? ko or kor 검색 (4) 데이터 세트 클래스 객체 생성 2) Pre-trained 모델 다운로드 및 Fine-tunning 설정 (1) Pre-trained 모델 다운로드 (2) Fine-tunning 설정 - 3번 전략 할 예정. 3) 모델 학습 및 평가 (1) Training을 위한 하이퍼 파라미터 설정 (2) Evaluation을 위한 Test 데이터 세트 준비 및 ..
7-2회차) 자연어 처리를 위한 BERT 모델 2. BERT 모델감성분석 1) 학습 및 평가 데이터 세트 (1) 데이터 세트 준비 - strafify : target에는 0,1이 있는데, 한쪽으로 치우치지 않게 해주는 것(0에서 80% 1에서 80%) - train data에서 train과 val 또 나눔. (2) 데이터 세트 클래스 정의 - overriding을 통해 재정의. 2) Pre-trained 모델 다운로드 및 Fine-tunning 설정 (1) Pre-trained Tokenizer 다운로드 - 데이터 보기 전에, 토크나이저를 지정 함. - 우리가 다운 받은 모델과 호환되는 것을 해야 함. - 보통은 모델 다운 받은 곳에 토크나이저를 제공함. - 우리는 bert-base-uncased 사용 (작은 모델을 사용, 대소문자 구분 x) - b..
7-1회차) 자연어 처리를 위한 BERT 모델 1. BERT 모델 Fine-tunning 1) Huggingface (1) Huggingface란? - 목적에 따라서 적절한 다운을 받아야 함. 2) Huggingface Transformer (1) Huggingface Transformer란 3) Huggingface와 Transformer (1) Huggingface Transformer 설치 (2) Huggingface Transformer 모델 다운로드 - Huggingface사이트에 접속에서 어떤 모델을 다운 받겠다 결정 함. - 그 모델의 이름을 기억해서, 다운 받기 - Down Stream TASK : 내가 어떤 것을 할 것이냐? - 여기서는 BertSequenceClassification을 다운 받을 예정. (2) Huggingface ..
6-2회차) 자연어 처리를 위한 Transformer 적용 2. Transformer 감성분석적용 1) Transformer 적용 방법 (1) Transformer 전체 구조 - 앞에서 배운 transformer를 통해서, 감성분석을 할 예정. - 감성분석을 하기 위한 위의 단계가 필요함. - 앞서 설명한 부분을 그림 표현 - 텍스트를 워드 임베딩 실시 2) Word Embedding과 Positional Embedding Layer (1) Word Embedding과 Positional Embedding Layer 추가 - word Embedding과 postition embedding 하기 (2) __init__ - 파일토치에 embbeding이라는 함수를 이용 - num_tokens : 토큰의 갯수 - d : Dimension의 크기 - max_seq_le..
6-1회차) 자연어 처리를 위한 Transformer 적용 1. Attention과Transformer 구현 1) Self-Attention과 Transformer (1) Transformer Block 내부 구조 (2) Query, Key, Value 계산 2) Self-Attention 구현 - 각 글자(It's / a / grat / movie) 입력 값에 대해서 곱 연산 시행 - Q,K,V 대한 weight를 각 각 input 값에 곱 연산 시행 - 그 결과를 K,Q,V (1) Query, Key, Value 계산 - WQ/WK/WV를 input 사이즈에 곱함 - transpose를 통해 변환 - contiquous함수를 통해 실제 연산을 실시. - Query와 Key 가 커진다는 의미는 Query와 Key 벡터 공간에서 유사한 위치(가까운 위치)에 있다..
5-2회차) 자연어 처리를 위한 RNN 2. LSTM/GRU 모델활용 1) PyTorch Lightning 개요 (1) PyTorch Lightning 정의 - 기존 파이토치의 복잡한 train, test 코드를 간결한 코드로 제공해 줌. - 파이토치 vs 라이트 비교 (1) PyTorch Lightning 설치 2) PyTorch Lightning 을 이용한 LSTM 구현 (1) LightningModule 클래스 상속 - class RNNModel 이라는 클래스 새롭게 정의 > 우리가 만들고자 하는 RNN 모델 class 사용 - 우리가 RNN 만들 수 있지만, 파이토치의 LightningModule 상속 받아서 사용할 예정 > light가 아니라 일반 파이토치도 가능은 함. (2) init 함수 재정의(Override) - 정의한 cla..
5-1회차) 자연어 처리를 위한 RNN 1. RNN 데이터입력을위한데이터로더구현 1) field 지정 (1) torchtext를 이용한 field 객체 생성 - 자연어 처리에서 텍스트 데이터를 가지고, 긍부정을 나누는 형태 - torchtext 라이브러리는 파이토치 환경에서 자연어 처리의 전처리, 데이터 분리 등 편리한 기능 제공 - filed를 생성할 예정인데, 여기에 text와 label 값을 넣을 예정. - text : 영화 평 - label : 긍/부정 - sequntial : > RNN계열은 sequntial 사용 예정. > sequntial 데이터란 시간적 흐름에 의미가 있거나, 자연어와 같은 선후관계가 존재하는 것. > 영화평은 자연어가 선후관계가 존재 함. - include_lengths : > 길이를 맞추는 여부 > 문장이 길..
4-3회차) 자연어 처리를 위한 토픽 모델링 3. 토픽 모델 시각화 1) pyLDAvis 설치 및 적용 (1) pyLDAvis 개요 (2) pyLDAvis 설치 (3) pyLDAvis 적용 - 판다스와 사용할 예정인데, 판다스 1.2 버전이 필요. 2) pyLDAvis 이용한 토픽 모델 시각화 (1) 토픽 모델 시각화 활용 - 시각화 작업에 필요한 prepare() 함수 사용. - 1번 파라미터 : 사이킷런의 lda가 전달 - 2번 파라미터 : lda수행한 결과(즉, 토픽 모델링을 수행한 결과) - 3번 파라미터 : lda수행하기 위해 만든 counter_vectorizer - display 함수 : 시각화 - 위 그림은 왼쪽에 위치 함. - 8개 그룹으로 토픽 - 토픽간에 거리가 멀다 -> 유사도가 떨어진다. - 8번은 다른 토픽에 비해 유사도가..
4-2회차) 자연어 처리를 위한 토픽 모델링 2. LDA를이용한토픽모델링 1) LDA 를 이용한 토픽모델링 1) LDA 적용을 위한 CountVectorizer 생성 (1) CountVectorizer 개요 - 사이킷런에서 제공하는 vectorizer 활용 예정 - CounterVectorizer 는 단순 counter - TfidfVectorizer 는 가중치 조정하여 counter - TfidfVectorizer 는 CounterVectorizer 단점을 보완 (2) CountVectorizer 적용 - max_df : 10% 이상 / 너무 자주 등장하는 단어들은 제외 - unigram : 단어 1개/ unigram : 단어 2개 씩 보면서 하겠다. - (1600, 1000) 데이터 모양 : > 1000개의 feature를 생성하라고 위에서 지..