학교 69

AWS 서버 세팅하기

1. EC2(클라우드상의 가상 서버) 들어가기 나만의 서버 구축시 사용 인스턴스 : 하나의 서버 AWS Cost Explorer에서 비용 청구 주기적으로 확인 2. '인스턴스 시작' 클릭 3. AMI 선택 Ubuntu를 가장 많이 사용하는 편이라고 해서 선택 4. 사용할 인스턴스 유형 선택 추천받은 c5.xlarge 선택 4vCPU, 8GiB 우분투 서버는 월 $140.55의 비용이 발생 윈도우 서버는 월 $275.24의 비용이 발생 Window 서버가 좀 더 비싼데, 윈도우 라이선스 비용이 포함되기 때문이다. [다음: 인스턴스 세부 정보 구성] 클릭 5. 기본값으로 모두 세팅되어있으며 그대로 진행한다. [다음: 스토리지 추가] 클릭해 다음으로 진행 6. [다음: 태그추가] 클릭 인스턴스 생성 후에도 변..

학교/졸프 2021.06.15

카카오 i 오픈빌더 이용하기

1. 구름IDE 회원가입 후 대시보드 들어가기 2. 컨테이너 생성 Flask 파일로 생성함 Github와 연동해서 파일 가져왔다. # pytorch 설치 pip3 install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html # transformer 설치 pip install transformers[torch] # Flask 설치 pip install flask pip install --upgrade pip # faiss 설치 pip install faiss-cpu # python 설치 python -m pip install --upgrade pip 3..

학교/졸프 2021.05.20

Word2Vec

One-Hot Encoding 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 단어의 벡터 표현 방식 이렇게 표현된 벡터를 원-핫 벡터(One-Hot vector)라고 한다. TF-IDF의 문제점을 해결하기 위한 방법 TF-IDF 문제점 하나의 단어를 표현하는데 큰 벡터가 필요하다. - One-Hot Encoding에서는 하나의 columns이 Vocabulary에 등록된 단어를 의미한다. - 만약 사전에 3만개의 단어가 들어있다면, 하나의 단어를 표현하기 위해선 3만 차원이 필요 - 큰 차원의 벡터는 메모리 등의 문제 때문에 계산 복잡성이 크게 늘어난다. 단어 사이에 관련성을 파악할 수 없다. 벡터화하는 방법 카운트 기반의 벡..

학교/졸프 2021.05.05

TF-IDF

TF-IDF 특정 문서 내에 특정한 단어가 얼마나 자주 등장하는지를 의미하는 단어 빈도(TF)와 전체 문서에서 특정 단어가 얼마나 자주 등장하는지를 의미하는 역문서 빈도(DF)를 통해서 "다른 문서에서는 등장하지 않지만 특정 문서에서만 자주 등장하는 단어"를 찾아서 문서 내 단어의 가중치를 계산하는 방법 - 컴퓨터가 이해하기 쉬운 형식의 속성을 추출하는 것 용도 문서의 핵심어 추출 문서들 사이의 유사도 계산 검색 결과의 중요도를 정하는 작업 등 TF(d, t) Term Frequency 특정 문서 d 에서의 특정단어 t의 등장 횟수 DF(t) Document Frequency 특정 단어 t가 등장한 문서의 수 IDF(d, t) DF(t)에 반비례하는 수 (일종의 역수 변환) TF-IDF(d, t) = T..

학교/졸프 2021.05.05

Faiss

Faiss Fasebook AI Research가 개발한 대용량 데이터의 효율적인 유사성 검색 및 클러스터링을 위한 라이브러리 벡터화된 데이터를 인덱싱하고 벡터화된 검색어와 비교하여 가장 유사한 N 개의 인덱스 값을 반환할 때 사용한다 임베딩해둔 데이터들 중 원하는 값을 빨리 찾기 위해 이용 환경구성 아나콘다 프롬프트 가상환경에서 설치했다. # CPU version only conda install faiss-cpu -c pytorch Test code import faiss import numpy as np # indexing tagVec = outputs[1].detach().numpy() index = faiss.IndexFlatL2(tagVec.shape[1]) index.add(tagVec) p..

학교/졸프 2021.05.01

KcBERT 실습해보기(2)

KcBERT란? KcBERT는 네이버 뉴스에서 댓글과 대댓글을 수집해, 토크나이저와 BERT 모델을 처음부터 학습한 Pretrained BERT 모델 Huggingface의 Transformers 라이브러리를 통해 간편히 불러와 사용할 수 있다. (별도의 파일 다운로드가 필요하지 않습니다.) 위의 학습을 바탕으로 의미를 함축해, 데이터와 검색어를 vector로 표현해주는 모델 Embedding 자연어처리 분야에서 임베딩은 사람이 쓰는 자연어를 기계가 이해할 수 있는 형태인 vector로 바꾼 결과 혹은 그 일련의 과정 전체를 의미한다. 임베딩의 역할 단어/문장 간 관련도 계산 의미적/문법적 정보 함축 전이 학습 - 품질 좋은 임베딩은 모형의 성능과 모형의 수렴속도가 빨라지는데 이런 품질 좋은 임베딩을 다..

학교/졸프 2021.04.21

KcBERT 실습해보기(1)

개발환경 구축 1. 아나콘다 설치 - 아나콘다 사용시 데이터 과학 작업에 자주 사용하는 패키지를 간단하게 설치할 수 있음 https://www.anaconda.com/distribution/#windows Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 2. VSCode에 연결하기 - VSCode에서 import torch에서 ModuleNotFoundError: No module named 'torch' 라는 메세지가 뜨는 경우..

학교/졸프 2021.04.16

자연어처리 및 언어모델

* Tacademy 강의 내용 정리 1. 자연어 처리 자연 언어 : 일반 사회에서 자연히 발생하여 쓰이는 언어 자연어 처리(Natural Language Processing, NLP) - 컴퓨터를 이용하여 인간 언어의 이해, 생성 및 분석을 다루는 인공 지능 기술 - 자연어를 컴퓨터가 해독하고 그 의미를 이해하는 기술 자연어 처리 기술 1. 규칙/지식 기반 접근법 ( Symbolic approach ) - 규칙을 지정해두고, 지식을 이용해 그에 따라 자연어를 처리하는 것 2. 확률/통계 기반 접근법 ( Staticstical approach ) - 예 : TF-IDE -> 핵심 : 필요없는 키워드 말고, 의미 있는 키워드를 얻자 - TF : 단어가 문서에 등장한 개수 -> TF가 높을수록 중요한 단어 -..

학교/졸프 2021.04.12

BERT

BERT(Bi-directional Encoder Representations from Transformers) - 구글에서 개발한 NLP 사전 훈련 기술, Language Model 잘 만들어진 BERT 언어모델 위에 1개의 Classification layer만 부착하여 다양한 NLP task를 수행 Contextual Embedding 방법 : 단어마다 벡터가 고정되어있지 않고 문장마다 단어의 vector가 달라지는 임베딩 방법을 뜻한다. BERT 모델의 구조도 Sentence 2개를 input으로 받아 토큰 단위로 임베딩 Transformer layer를 거친다. 최종적으로 자신을 표현하는 구조 WordPiece tokenizing Byte Pair Encoding(BPE) 알고리즘 이용 빈도수에..

학교/졸프 2021.04.11