'NLP' 카테고리의 글 목록 — 뚝딱이

NLP

NLP

프롬프트 엔지니어링 prompt-engineering 기초

Chat GPT의 공개로 대화형 인공지능(Conversation AI)의 시대가 열였다. 시험용 버전의 사용자가 1억명을 넘어섰으며 많은 사람들이 일상생활에서 Chat GPT를 활용하고 있다. 그렇기에 대화형 인공지능을 다루는 방법을 익히는 것이 중요해지며 인공지능과 상호작용을 통해 "답"을 원하는 양식으로 얻을 수 있는 "능력"이 중요해질 것이다. 프롬프트 엔지니어링 사용 사례 주제별 전문 지식 비판적 사고 창의성 프롬프트(Prompt) 프롬프트(prompt)란 거대 언어 모델(Large Language Model; LLM)로 부터 응답을 생성하기 위한 입력값을 의미하며 자연어의 형태를 지님 즉 특정 작업을 수행하도록 생성형 AI에 요청하는 자연어 text이며 모든 유형의 입력에 유용한 출력을 생성하지..

NLP

GNN(Graph Neural Network)의 기초, 이론, 모델 학습

그래프는 기존의 머신러닝, 딥러닝 모델이 잘 처리하지 못하는 non-Euclidean 데이터이며 처리하기 어려운 이유는 기존의 모델들은 상대적으로 단순한 데이터 유형에 특화되어 있기 때문임 이미지, 텍스트, 오디오는 인접한 픽셀, 전후 순서 연결 등이 있으며 상하좌우도 없고 고정된 순서도 없는 복잡한 그래프보다는 단순함 이러한 그래프를 데이터를 처리하기 위해 GNN이 등장 선행지식 Graph https://pasongsong.tistory.com/237 Graph란 Vecties(꼭짓점, 정점)와 edges(간선)으로 이루어진 데이터 구조를 말함 정의는 G=(V, E)로 정의되며 V는 node set, E는 Edge set이다. V는 데이터의 정보를 담고 있으며, E는 데이터 간의 관계 정보가 포함되어 ..

NLP

NER 기초

NER(Named Entity Recognition) Named Entity(이름을 가진 개체)를 Recognition(인식)하는 것을 의미하며 "개체명 인식"이라고 불림 정보 통신 용어에 따르면 아래와 같이 정의 미리 정의해 둔 사람, 회사, 장소, 시간, 단위 등에 해당하는 단어(개체명)를 문서에서 인식하여 추출 분류하는 기법. 추출된 개체명은 인명(person), 지명(location), 기관명(organization), 시간(time) 등으로 분류된다. 개체명 인식(NER)은 정보 추출을 목적으로 시작되어 자연어 처리, 정보 검색 등에 사용됨 인간은 단어를 듣거나 text를 읽을 때마다 그 단어가 어디에 속하는 지 식별(사람, 장소 위치 등)하는 능력을 가지고 있으며 단어를 빠르게 인식하고 분류하..

NLP

Seq2Seq + Attention 코드로 이해하기

Dataset data = { "src" : [ "i love you", "i love myself", "i like you", "he love you" ], "tar" : [ "ich liebe dich", "ich liebe mich", "ich mag dich", "er liebt dich" ] } 단어 사전 각각 src, tar이다. Encoder class Encoder(nn.Module): def __init__(self): super(Encoder, self).__init__() #embedding과 LSTM 준비 self.embed = nn.Embedding(src_tok.n_vocab, hparam['embed_size']) # embed_size = 4 self.rnn = nn.LSTM..

NLP

[NLP] NLP를 위한 CNN

CNN CNN이란 Convolution Neural Network로 동물의 시각 신경망을 본 따 만들었다. CNN을 구성하는 가장 중요한 요소로는 Filter와 Convolution 연산이 있다. Filter(=kernel) Filter는 입력 데이터로부터 우리가 원하는 특징 또는 패턴 들만 통과하도록 설계하는 도구로 예전에는 filter 값을 지정하여 사용하였으나 최근에는 weight로 학습을 통해 얻어낸다. CNN의 경우 동물이 사물을 인식하는 방법과 같이 겹겹이 층으로 쌓여 있으며 Convolution과 Pooling으로 이뤄져 있다. Convolution Convolution이란 합성곱으로 하나의 함수와 또 다른 함수를 반전 이동한 값을 곱한 다음 구간에 대해 적분하여 새로운 함수를 구하는 수학 ..

NLP

[NLP] LSTM(Long Short-Term Memory)

Background RNN은 순차적 데이터를 처리하기 위해 만들어졌지만 input의 길이가 길어지면 이전에 일어난 사건을 바탕으로 나중에 일어나는 사건을 생각하지 못한다. LSTM(Long Short-Term Memory) 파란선이 기존의 RNN이고 주황선이 Memory cell로 LSTM에서 추가된 부분이다. Memory cell은 gate에 의해서 제어되며 정보를 저장하거나 잊어버리는 용도로 사용된다. 3개의 gate로 이루어져 있음 Ct(Cell State 장기상태), ht(Hidden State) 등이 존재함 Forget gate \( C_{t-1} \)의 정보를 얼마나 잊을지에 관한 관계 sigmoid 값이 0에 가까우면 이전 상태의 정보를 잊고, 1에 가까우면 이전 상태의 정보를 기억함 Inp..

NLP

[NLP] RNN 실습 - Numpy, keras 구현

input으로 h, e, l, , l, o가 차례로 들어갈 때 다음에 나올 알파벳을 예측하는 모델 Numpy 구현 import import numpy as np One-hot vector로 문자 구현 : End of Sequence로 문자의 끝을 알림 char2vec = {'h': np.array([1,0,0,0,0]), 'e': np.array([0,1,0,0,0]), 'l': np.array([0,0,1,0,0]), 'o': np.array([0,0,0,1,0]), '': np.array([0,0,0,0,1])} #End of Sequence idx2char = ['h', 'e', 'l', 'o', ''] Weight 구성 RNN은 parameter를 공유하기 때문에 아래와 같이 step 별로 만들지..

NLP

[NLP] RNN(Recurrent Neural Network)

순차 데이터 (Sequential Data) 데이터 집합 내의 객체들이 어떤 순서를 가지고 있는 데이터 데이터들의 순서에 따라 해당 데이터의 의미가 달라짐 가변적인 데이터의 길이를 가짐 순서가 달라질 경우 의미가 손상됨 Temporal Sequence 시간에 민감한 데이터 유효기간이나 트랜잭션 시간 등 시간 표시기와 함께 데이터가 저장됨 Time Series 일정한 시간차를 가진 데이터 시간 경과에 따라 변화하는 데이터로 타임스탬프와 함께 데이터가 저장됨 심층 신경망 & 순차 데이터 Input으로 음성 데이터가 들어왔을 때 입력되는 음성의 길이가 매번 다른 문제가 발생한다. Output의 경우 변역 결과가 될 수 있는 문장이 많기 때문에 one hot vector로 예측하기 힘듦 -> 심층 신경망으로 순..

파송송
'NLP' 카테고리의 글 목록