반응형

아이펠 10

[Going Deeper(NLP)] 15. NLP Framework의 활용

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 목차 다양한 NLP Framework의 출현 Huggingface transformers 개요 Huggingface transformers (1) Model Huggingface transformers (2) Tokenizer Huggingface transformers (3) Processor Huggingface transformers (4) Config Huggingface transformers (5) Trainer 1. NLP 기술의 발전과 framework 소프트웨어에서 framework란 프로젝트의 뼈대를 이루는 클래스와 인터페이스의 집합을 말한다. 해당 분야의 베스트 프랙티스를 반영하여 확장 가능한 ..

[Going Deeper(NLP)] 11. 기계 번역이 걸어온 길

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 학습 목표 번역 모델이 발전해 온 과정을 살펴본다. 번역을 생성하는 여러 가지 방법을 이해한다. 주어진 데이터로 더 높은 성능을 만들어 내는 법을 배운다. 자연어 처리의 성능을 측정하기 위한 지표를 배운다. 1. 번역의 흐름 1.1 규칙 기반 기계 번역 번역할 때 경우의 수를 직접 정의해 주는 방식이 규칙 기반 기계 번역(RBMT, Rule-Based Machine Translation)이다. 수 많은 규칙들은 모두 언어학을 기반으로 하기에 개발 과정에 언어학자가 동반되어야만 했다. 1945년, 미국의 조지타운대와 IBM이 직접 정의한 언어 규칙을 통해 60개의 러시아어 문장을 영어로 번영하는데 성공했다. [역사 ..

[Going Deeper(NLP)] 10. Transformer로 번역기 만들기

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 준비물 터미널을 열고 프로젝트를 위한 디렉토리를 생성하자. $ mkdir -p ~/aiffel/transformer 실습에서 한국어가 포함된 말뭉치를 사용하기에 한국어를 지원하는 폰트를 지정하여 실행하자. import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm %config InlineBackend.figure_format = 'retina' fontpath = '/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf' font = fm.FontProperties(..

[Going Deeper(NLP)] 7. Seq2seq와 Attention

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 학습 목표 언어 모델이 발전해 온 과정을 개략적으로 파악한다. 기존 RNN 기법이 번역에서 보인 한계를 파악하고, 이를 개선한 Seq2seq를 이해한다. Seq2seq를 발전시킨 Attention에 대해 알아본다. 1. 우리가 만드는 언어 모델 언어모델(Language Model)이란, 주어진 단어들을 보고 다음 단어를 맞추는 모델이다. 즉, 단어의 시퀀스를 보고 다음 단어에 확률을 할당하는 모델이다. 언어 모델은 n-1개의 단어 시퀀스가 주어졌을 때, n번째 단어로 무엇이 올지 예측하는 확률 모델로 표현된다. 파라미터 θ로 모델링하는 언어 모델을 다음과 같이 표현할 수 있다. 1.1 통계적 언어 모델(Statis..

[Going Deeper(NLP)] 6. 임베딩 내 편향성 알아보기

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 학습 목표 데이터의 편향성에 대한 문제의식을 갖는다. 임베딩 모델의 편향성을 체크하는 방법 중 하나인 Word Embedding Association Test (WEAT)를 알아본다. WEAT 수식의 의미를 이해하고 이를 구현해본다. pre-train된 모델을 불러와서 WEAT score를 구해본다. 목차 워드 임베딩의 편향성 WEAT를 통한 편향성 측정 WEAT 구현하기 사전학습된 Word Embedding에 WEAT 적용 직접 만드는 Word Embedding에 WEAT 적용(1) 직접 만드는 Word Embedding에 WEAT 적용(2) 프로젝트 : 모든 장르 간 편향성 측정해 보기 참고 자료 아마존 채용 ..

[Going Deeper(NLP)] 3. 텍스트의 분포로 벡터화 하기

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 목차 단어 빈도를 이용한 벡터화 (1) Bag of Words (2) Bag of Words 구현해보기 (3) DTM과 코사인 유사도 (4) DTM의 구현과 한계점 (5) TF-IDF (6) TF-IDF 구현하기 LSA와 LDA (1) LSA (2) LSA 실습 (3) LDA (4) LDA 실습 텍스트 분포를 이용한 비지도 학습 토크나이저 (1) 형태소 분석기와 단어 미등록 문제 (2) soynlp 1. 단어 빈도를 이용한 벡터화 머신러닝 모델은 기계이기에 텍스트보다 수치화된 숫자를 잘 처리할 수 있다. 그래서 자연어 처리에서는 전처리 과정에서 텍스트를 숫자 벡터로 변환하는 벡터화(Vectorization)를 거친..

[Going Deeper(NLP)] 2. 멋진 단어사전 만들기

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 준비물 KoNLPy의 Mecab 클래스를 활용하여 실습하고자 한다. from konlpy.tag import Mecab mecab = Mecab() print(mecab.morphs('자연어처리가너무재밌어서밥먹는것도가끔까먹어요')) ['자연어', '처리', '가', '너무', '재밌', '어서', '밥', '먹', '는', '것', '도', '가끔', '까먹', '어요'] 1. 데이터 다운로드 및 분석 import os import matplotlib.pyplot as plt import tensorflow as tf import numpy as np %matplotlib inline 학습환경을 구성하고 데이터를 ..

[Going Deeper(NLP)] 1. 텍스트 데이터 다루기

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 학습목표 분산 표현에 대한 직관적 이해를 얻는다. 문장 데이터를 정제하는 방법을 배운다. 토큰화의 여러 가지 기법들을 배운다. 단어 Embedding을 구축하는 방법에 대해 가볍게 맛본다. 1. 들어가며 자연어(Natural Language)는 일상에서 자연히 발생하여 쓰이는 언어를 뜻한다. 자연어와 반대되는 언어 중 하나는 프로그래밍 언어라고 할 수 있다. 이 두 개의 언어의 본질적인 차이는 자연어는 '문맥 의존 문법(Context-sensitive Grammar), 프로그래밍 언어는 '문맥 자유 문법(Context-free Grammar)'이라는 각 문법을 따른다는 것이다. 기계적으로 언어를 해석하는 파서를 만..

[E-15] 문자를 읽을 수 있는 딥러닝 (OCR)

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 실습목표 OCR의 과정을 이해합니다. 문자인식 결과의 표현방식을 이해합니다. 파이썬을 통해 OCR을 사용할 수 있습니다. 1. OCR이란? OCR은 Optical Character Recognition으로 광학 문자 인식이라고 한다. 구글의 클라우드 기반 OCR API로 손십게 딥러닝 기반의 최신 OCR을 테스트해볼 수 있다. 구글 OCR API 구글 API에서는 문자의 영역을 사각형으로 표현하고 우측에 'Block'과 'Paragraph'로 구분해서 인식 결과를 나타낸다. 구글 API가 이미지에 박스를 친 다음 박스 별 텍스트의 내용을 알려준 것처럼 문자 모델은 보통 2단계로 이루어진다. 1) Text Detec..

AIFFEL/Exploration 2022.02.25

[E-14] 아이유팬이 좋아할 만한 다른 아티스트 찾기(추천 시스템)

해당 포스팅은 AIFFEL에서 제공한 학습자료를 통해 공부한 것을 정리한 것임을 밝힙니다. 학습 목표 추천 시스템의 개념과 목적을 이해한다. Implicit 라이브러리를 활용하여 Matrix Factorization(이하 MF) 기반의 추천 모델을 만들어 본다. 음악 감상 기록을 활용하여 비슷한 아티스트를 찾고 아티스트를 추천해 본다. 추천 시스템에서 자주 사용되는 데이터 구조인 CSR Matrix을 익힌다 유저의 행위 데이터 중 Explicit data와 Implicit data의 차이점을 익힌다. 새로운 데이터셋으로 직접 추천 모델을 만들어 본다. 1. 추천 시스템이란? 온라인 콘텐츠 서비스에서 데이터 분석과 AI 기술을 접목한 추천 시스템의 활용은 이제 필수가 되고 있다. 음원 서비스, 스트리밍 서..

AIFFEL/Exploration 2022.02.24
반응형