본문 바로가기

전체 글

2024.08.05 - 한국어 챗봇 import pandas as pdimport urllib.requestimport tensorflow_datasets as tfdsimport tensorflow as tfimport timeimport numpy as npimport matplotlib.pyplot as pltimport reurllib.request.urlretrieve("https://raw.githubusercontent.com/songys/Chatbot_data/master/ChatbotData.csv", filename="ChatBotData.csv")train_data = pd.read_csv('ChatBotData.csv')train_data.head() 더보기
2024.08.05 - 문장 임베딩 1. 문장 임베딩2017년 이전의 임베딩 기법들은 대부분 단어 수준 모델이였음(Word2Vec, FastText, GloVe)단어 수준 임베딩 기법은 자연어의 특성인 모호성, 동음이의어를 구분하기 어렵다는 한계가 있음2017년 이후에는 ELMo(Embeddings from Language Models) 와 같은 모델이 발표되고 트랜스포머와 같은 언어 모델에서 문장 수준의 언어 모델링을 고려하면서 한계점들이 해결됨 2. Seq2Seq 배경Seq2Seq 모델 등장하기 전에 DNN( Deep Neural Network) 모델은 사물인식, 음성인식 등에서 꾸준히 성과를 냈음( ex, CNN, RNN, LSTM, GRU ....)모델 입/출력의 크기가 고정된다는 한계점이 존재 했기 때문에 자연어 처리와 같은 가변.. 더보기
2024.08.05 - LSTM과 GRU import torchimport torch.nn as nnimport torch.optim as optimimport numpy as npfrom sklearn.preprocessing import LabelEncoderfrom sklearn.feature_extraction.text import CountVectorizerfrom torch.utils.data import DataLoader, Datasetfrom sklearn.datasets import fetch_20newsgroupsfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_scorenewsgroups_data = fetch_20.. 더보기
2024.08.05 - CNN text classification 1. 문장 임베딩 import urllib.requestimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport torchimport torch.nn as nnfrom torch.utils.data import Dataset, DataLoaderimport torch.optim as optimimport torch.nn.functional as Ffrom copy import deepcopyfrom tqdm.auto import tqdmurllib.request.urlretrieve("https://raw.githubusercontent.com/e9t/nsmc/master/ratings_train.txt", filename="r.. 더보기
2024.08.02 - cbow text classification 1. 문장 임베딩import urllib.requestimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport torchimport torch.nn as nnfrom torch.utils.data import Dataset, DataLoaderimport torch.optim as optimfrom copy import deepcopy from tqdm.auto import tqdmurllib.request.urlretrieve("https://raw.githubusercontent.com/e9t/nsmc/master/ratings_train.txt", filename="ratings_train.txt")urllib.reque.. 더보기
2024.08.01 - Rnn기초 1. 순환 신경망(Recurrent Neurl Network, RNN)시계열 또는 자연어와 같은 Sequence 데이터를 모델링하는 데 강력한 신경망. 시계열 데이터나 시퀀스 데이터를 잘 처리예) 주식 가격, 텍스트 데이터, 오디오 데이터SeQuence: 단어의 문장. 연결되어 있는 정보1-1. RNN 동작방식은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 다시 출력층 방향으로 보내면서 은닉층 노드의 다음 계산의 입력으로 보내는 것이 특징셀(Cell): 은닉층에서 활성화 함수를 통해 나온 결과를 내보내는 역할을 하는것. 이전의 값을 기억하려고 하는 일종의 메모리 역할을 수행은닉 상태(hidden state): 셀이 출력층 방향 또는 다음 시점으로 자신에게 보내는 값runn = torch.nn.RNN(.. 더보기
2024.08.01 - 워드 임베딩 시각화 1. 네이버 영화 리뷰 데이터셋총 200,000개의 리뷰로 구성된 데이터로 영화 리뷰를 긍/부정으로 분류하기 위해 만들어진 데이터셋리뷰가 긍정인 경우1, 부정인 경우 0으로 표시한 레이블로 구성되어 있음#표에 한글을 쓰기위해 폰트 다운로드!sudo apt-get install -y fonts-nanum!sudo fc-cache -fv!rm ~/.cache/matplotlib -rfimport urllib.requestimport pandas as pdurllib.request.urlretrieve('https://raw.githubusercontent.com/e9t/nsmc/master/ratings_train.txt', filename='ratings_train.txt')urllib.request.ur.. 더보기
2024.08.01 - 워드 임베딩 1. 워드 임베딩(Word Embedding)단어를 컴퓨터가 이해하고, 효율적으로 처리할 수 있도록 단어를 벡터화 하는 기술단어를 밀집 벡터(실수 값으로 이루어진 벡터)의 형태로 표현하는 방법워드 임베딩 과정을 통해 나온 결과를 임베딩 벡터라고 함워드 임베딩을 거쳐 잘 표현된 단어 벡터들은 계산이 가능하며, 모델에 입력으로 사용할 수 있음1-1. 희소 표현(Sparse Representation)원-핫 인코딩을 통해서 나온 벡터들은 표현하고자 하는 단어의 인덱스의 값만 1이고, 나머지 인덱스에는 전부 0으로 표현되는 벡터 표현 방법에 의해 만들어지는 벡터를 희소 벡터라고 함1-2. 희소 벡터의 문제점희소 벡터의 특징은 단어의 개수가 늘어나면 벡터의 차원이 한없이 커진다는 것원-핫 벡터는 벡터 표현 방식이.. 더보기