목록파이썬 (41)
개발자의 스터디 노트
설치하려는 곳에 docker와 docker compose가 설치되어 있어야 합니다. docker 및 docker compose 는 설치되어 있다는 가정 하에 설치를 진행하겠습니다. 1. 설치 하려는 경로에 디렉토리를 생성합니다. mkdir airflow cd airflow mkdir install cd install ./airflow/install 아래에 설치 파일을 두고 설치를 진행하겠습니다. 2. docker-compose.yaml 파일을 다운 받습니다. curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.3.3/docker-compose.yaml' 3. docker compose 명령어를 통해 설치를 진행합니다. docker compose up..
우선 학습하고자 하는 데이터를 준비합니다. 여기서는 리포트의 외향 내향 분석을 하기 위해 따로 자료를 준비해두었습니다. 2진 분류 데이터라면 어떠한 데이터도 상관없으니 준비하여 학습하면 됩니다. 1. 학습에 필요한 패키지 import import pandas as pd import csv ## Import import torch from torch import nn import torch.nn.functional as F import torch.optim as optim from torch.utils.data import Dataset, DataLoader import gluonnlp as nlp import numpy as np from tqdm import tqdm, tqdm_notebook #KoB..
BERT란? - 구글에서 개발한 NLP(자연어처리) 사전 훈련 기술이며, 특정 분야에 국한된 기술이 아니라 모든 자연어 처리 분야에서 좋은 성능을 내는 범용 Language Model입니다. - BERT는 사전 훈련 언어모델 입니다. 특정 과제를 수행하기 위한 모델의 성능은, 데이터가 충분히 많다면 Embedding이 큰 영향을 미칩니다. 이 임베딩 과정에서 BERT를 사용하는 것이고, BERT는 특정 과제를 하기 전 사전 훈련 Embedding을 통해 특정 과제의 성능을 더 좋게 할 수 있는 언어 모델입니다. - BERT 이전에 임베딩을 Word2Vec, GloVe, FastText 등의 방식을 많이 사용했지만, 요즘은 고성능을 내는 대부분의 모델에서 BERT를 많이 사용하고 있다고 합니다. 이런 BE..
임베딩을 사용하여 문서 분류 전이 학습은 3단계의 과정을 거쳐 학습됩니다. 1. 사전 훈련된 단어 임베딩을 로드 2. 뉴스 기사를 분류하여 사전 훈련된 임베딩을 미세 조정 3. 단어 간의 공간 관계를 감지하는 합성곱 신경망을 사용하여 학습 학습 데이터는 AG 뉴스 데이터 셋을 사용합니다. - 데이터 마이닝과 정부 추출 방법을 연구할 목적으로 2005년에 수집한 뉴스 기사 모음 - 100만 개 이상의 기사 학습에는 스포츠, 과학/기술, 세계, 비즈니스의 네 가지 범주로 균등하게 분할된 뉴스 기사 12만 개로 구성된 축소 버전을 사용합니다. 아래 다운로드 경로를 통해 전 처리된 학습 데이터를 다운로드합니다. https://docs.google.com/uc?export=download&id=1Z4fOgvrNh..
글로브(Global Vectors for Word Representation, GloVe)는 카운트 기반과 예측 기반을 모두 사용하는 방법론으로 2014년에 미국 스탠포드대학에서 개발한 단어 임베딩 방법론입니다. 카운트 기반의 LSA(Latent Semantic Analysis)와 예측 기반의 Word2Vec의 단점을 지적하며 이를 보완한다느 목적으로 나왔고, 실제로도 Word2Vec 만큼 뛰어난 성능을 보여줍니다. 앞서 실습했던 위키백과 데이터로 GloVe 학습을 진행하도록 하겠습니다. 우선 실습을 위해 GloVe 패키지를 설치 합니다. pip install glove_python_binary 윈도우에서는 제대로 설치가 되지 않아 실습이 안돼서 리눅스 장비에서 실습을 진행하였습니다. 실습을 진행한 리눅..
한국어 위키 백과 데이터 베이스로 Word2Vec 학습을 해보겠습니다. 1. 위키피디아로부터 데이터를 파싱하기 위한 wikiextractor를 설치합니다. pip install wikiextractor 2. 위키디피아 데이터를 다운로드 합니다. Index of /kowiki/latest/ (wikimedia.org) Index of /kowiki/latest/ dumps.wikimedia.org kowiki-latest-pages-articles.xml.bz2 파일을 다운로드하였습니다. 3. 위키익스트랙터를 사용하여 위키피디아 덤프를 파싱 합니다. python -m wikiextractor.WikiExtractor kowiki-latest-pages-articles.xml.bz2 4. 위키피디아 데이터를..
인공지능 스터디를 위한 참고 싸이트를 공유합니다. 1. 한국어 임베딩 - 한국어 임베딩이라는 도서와 관련된 사이트입니다. https://ratsgo.github.io/embedding/ 한국어 임베딩 한국어 임베딩 관련 튜토리얼 페이지입니다. ratsgo.github.io 2. 딥 러닝을 이용한 자연어 처리 입문 - WikiDocs에서 운영하는 온라인 책입니다. https://wikidocs.net/book/2155 딥 러닝을 이용한 자연어 처리 입문 많은 분들의 피드백으로 수년간 보완되어 온 딥 러닝 자연어 처리 무료 eBook입니다. 기본적인 텍스트 전처리부터 BERT와 같은 PLM의 다양한 다운스트림 태스크를 ... wikidocs.net 3. KoNLPy 한국어 형태소 분석기 https://kon..
프랑켄 슈타인 데이터셋으로 Word2Vec CBOW모델을 만들어 봅니다. 우선 프랑켄 슈타인 데이터셋을 다운로드 받습니다. https://docs.google.com/uc?export=download&id=1dRi4LQSFZHy40l7ZE85fSDqb3URqh1Om 프로젝트 쿠텐베르크에서 메리 셸리의 소설 프랑켄슈타인의 전처리 데이터입니다. 해당 데이터는 아래와 같이 전처리된 데이터입니다. CBOW 작업 : 왼쪽 문맥과 오른쪽 문맥을 사용해 단어를 예측합니다. 문맥 윈도 길이는 양쪽으로 2입니다. 텍스트 위를 슬라이딩하는 윈도가 지도 학습 샘플을 생성합니다. 각 샘플의 타깃 단어는 가운데 단어입니다. 길이가 2가 아닌 윈도는 적절하게 패딩 됩니다. 예를 들어 윈도 #3은 i pitied와 my pity라..