[NLP] 전통적 자연어 처리 방법들: BoW, TF-IDF, Word2Vec, FastText자연어 처리(NLP)는 사람의 언어를 컴퓨터가 이해하고 처리할 수 있도록 하는 기술이다. 최근 NLP는 딥러닝 기반 모델(BERT, GRT etc...) 많이 넘어왔고 이미 이를 넘어선 많은 모델들이 사용되고 있다.datanovice.tistory.com 📌 1. FastText?FastText는 단어 자체뿐 아니라, 단어 구성하는 문자 n-그램 정보까지 함께 학습하는 단어 임베딩 기법이다. Word2Vec처럼 주변 단어 간 통계적 패턴을 이용해 벡터를 학습하지만, 'play'라는 단어를 '' 같은 부분 단위(subword)로 쪼개어 표현함으로써, 어휘에 없는 신조어나 철자 변형에도 유연하게 대처가 가능하다...
전체 글
공부한 걸 정리하고 공유하며 틀린 부분을 함께 고쳐나가는 블로그입니다.[NLP] 전통적 자연어 처리 방법들: BoW, TF-IDF, Word2Vec, FastText자연어 처리(NLP)는 사람의 언어를 컴퓨터가 이해하고 처리할 수 있도록 하는 기술이다. 최근 NLP는 딥러닝 기반 모델(BERT, GRT etc...) 많이 넘어왔고 이미 이를 넘어선 많은 모델들이 사용되고 있다.datanovice.tistory.com 📌 1. Word2Vec 위 포스팅에도 설명드렸습니다만 다시 한 번 정리해보면.Word2Vec은 대규모 말뭉치(corpus)에서 단어들 간의 통계적 패턴을 학습, 각 단어를 실수 벡터 공간상의 밀집(벡터) 표현으로 매핑하는 기법. 즉, 희소 벡터가 아님.이렇게 얻어진 단어 벡터는 단어의 의미적, 통사적 유사성을 내제하게 되어, 벡터 간 거리나 방향을 통해 단..
[NLP] 전통적 자연어 처리 방법들: BoW, TF-IDF, Word2Vec, FastText자연어 처리(NLP)는 사람의 언어를 컴퓨터가 이해하고 처리할 수 있도록 하는 기술이다. 최근 NLP는 딥러닝 기반 모델(BERT, GRT etc...) 많이 넘어왔고 이미 이를 넘어선 많은 모델들이 사용되고 있다.datanovice.tistory.com 이전에 자연어 처리 방법들의 기본적인 설명을 작성해보았습니다. 실제 예제를 통해 코드를 확인하고 시행해보기 위해 포스팅으로 정리해보려고 합니다. 여러 방법들중 오늘은 TF-IDF에 대해 확인해보겠습니다. 📌 1. BoW 개념 다시 정리해보기 TF-IDF는 단어의 단순한 빈도뿐 아니라 문서 내 중요도를 반영하는 벡터 표현 방식입니다. 문장 내 단어 순서는 고려..
[NLP] 전통적 자연어 처리 방법들: BoW, TF-IDF, Word2Vec, FastText자연어 처리(NLP)는 사람의 언어를 컴퓨터가 이해하고 처리할 수 있도록 하는 기술이다. 최근 NLP는 딥러닝 기반 모델(BERT, GRT etc...) 많이 넘어왔고 이미 이를 넘어선 많은 모델들이 사용되고 있다.datanovice.tistory.com 이전에 자연어 처리 방법들의 기본적인 설명을 작성해보았습니다. 실제 예제를 통해 코드를 확인하고 시행해보기 위해 포스팅으로 정리해보려고 합니다. 여러 방법들중 오늘은 BoW(Bag of Words)에 대해 확인해보겠습니다. 📌 1. BoW 개념 다시 정리해보기 BoW는 단어의 등장 빈도 도는 유무만 반영하는 벡터 표현 방식입니다. 문장 내 단어 순서를 고려하..
자연어 처리(NLP)는 사람의 언어를 컴퓨터가 이해하고 처리할 수 있도록 하는 기술이다. 최근 NLP는 딥러닝 기반 모델(BERT, GRT etc...) 많이 넘어왔고 이미 이를 넘어선 많은 모델들이 사용되고 있다. 여전히 전통적인 방법론은 빠른 프로토타입 개발이나 작은 데이터셋 처리에서 유용하게 활용된다. 본 글에서는 대표적인 전통 NLP 기법인 BoW, TF-IDF, Wrod2Vec, FastText에 대해 각각의 개념, 알고리즘 흐름, 장단점을 정리한다. 📌 1. BoW (Bag of Words) BoW는 가장 기초적인 문서 벡터화 방법이다. 문서 내 단어의 등장 여부(or 빈도)를 기반으로 벡터를 구성한다. 문장의 문법적 구조나 단어의 순서를 무사하고 단어의 등장 유무 또는 횟수만 반영합니다...
[Deep Learning] RNN 실습 : IMDB 감정 분석 (with 임베딩하는 이유)RNN에 대한 기본 설명 포스팅입니다. [Deep Learning] RNN에 대한 기본 설명RNN(Recurrent Neural Network)이란?? RNN은 연속된 데이터(시계열, 문장, 음성 등)를 처리하기 위한 딥러닝 구조이다. 핵심 아이디어는datanovice.tistory.com [Deep Learning] CNN 실습 : MNIST 분류기 (with 정규화, 차원 확장)CNN에 대한 기본 설명 포스팅입니다. [Deep Learning] CNN에 대한 기본 설명 (with pooling, padding)CNN(Convolutional Neural Network)란? 전체 프레임워크 📌 1. CNN의 ..
RNN에 대한 기본 설명 포스팅입니다. [Deep Learning] RNN에 대한 기본 설명RNN(Recurrent Neural Network)이란?? RNN은 연속된 데이터(시계열, 문장, 음성 등)를 처리하기 위한 딥러닝 구조이다. 핵심 아이디어는 이전 시점의 출력을 현재 시점의 입력으로 다시 사용하는 것.즉, 기datanovice.tistory.com 📌 1. IMDB?Internet Movie Database 데이터셋은 영화 리뷰 텍스트와 그에 대한 '감정 라벨 (긍정 or 부정)'로 구성된 이진 분류용 데이터 셋이다. 총 50,000개의 영화 리뷰가 포함되어있다. (train : test = 5:5).텍스트는 사전 전처리가 되어있어서 단어가 아닌 정수 인덱스 시퀀스 형태로 제공된다.자주 등장..
CNN에 대한 기본 설명 포스팅입니다. [Deep Learning] CNN에 대한 기본 설명 (with pooling, padding)CNN(Convolutional Neural Network)란? 전체 프레임워크 📌 1. CNN의 기본 개념 CNN은 이미지와 같은 2차원 또는 3차원 구조 데이터를 처리하기 위해 설계된 딥러닝 아키텍쳐다.전통적인 DNN은 입력을 일렬로datanovice.tistory.com 📌 1. MNIST?MNIST는 손글씨 숫자 이미지로 구성된 딥러닝 학습용 데이터셋. 아마 모르는 사람이 없을 정도로 일반적인게 아닐까 싶다.'Modified National Institute of Standards and Technology'의 약자인 MNIST는 0부터 9까지의 숫자가 손으로 ..
RNN(Recurrent Neural Network)이란?? RNN은 연속된 데이터(시계열, 문장, 음성 등)를 처리하기 위한 딥러닝 구조이다. 핵심 아이디어는 이전 시점의 출력을 현재 시점의 입력으로 다시 사용하는 것.즉, 기억을 갖는 인공 신경망이라고 이해할 수 있다. 일반적인 인공신경망(ANN, CNN)은 입력 데이터가 정적이고 독립적이라는 가정을 기반으로 설계된다.예를 들어, 이미지 분류는 픽셀 간 공간 관계를 이해하면 충분하고, 각 입력은 시간 순서와는 무관하다.하지만 현실 세계의 데이터는 순서를 갖는 경우가 많다 예를 들어,- 문장, 음성, 주가, 날씨, 센서 데이터 등의 시계열 데이터 이러한 순차적 정보(sequence data)를 처리하기 위해서는 과거의 정보가 현재에 영향을 주는 모델..
CNN(Convolutional Neural Network)란? 전체 프레임워크 📌 1. CNN의 기본 개념 CNN은 이미지와 같은 2차원 또는 3차원 구조 데이터를 처리하기 위해 설계된 딥러닝 아키텍쳐다.전통적인 DNN은 입력을 일렬로 펴(flatten)서 처리하기 때문에, 공간적 구조(예: 이미지의 픽셀 간 관계)를 고려하지 못하는 한계가 있다.이를 극복하기 위해 CNN은 입력의 지역적 정보(local pattern)를 학습할 수 있도록 고안되었고, 시각 영역에서의 혁신적인 성능을 보여주며 다음과 같은 분야에서 광범위하게 사용된다: 이미지 분류, 물체 탐지, 얼굴 인식, 의료 영상 분석, 자율주행 카메라 비전 📌 2. CNN의 알고리즘 구조1) 합성곱? 합성곱(Convolution)이란 두 함수 ..