본문 바로가기

Python/NLP&LLM15

Tokenizer 심화 1. Tokenization : text를 word 또는 sub-word로 분리2. Tokenizer 종류  (1) 사전방식 : KoNLPy   (2) sub-word 방식 : BPE, WordPiece, SentencePiece 3. Tokenizer 방법  (1) 사전방식      - rule-based tokenization : 공백 또는 구둣점으로 분리 by Keras       - 띄어쓰기가 가능한 영어같은 경우에 가능       - 단점 memory, time complexity 증가   (2) subword tokenization  * 모두 학습이라는 과정이 필요함       - 빈번히 사용되는 단어는 더 작은 subword로 나뉘어지면안됨       - 가끔 사용되는 단어는 의미 있는 su.. 2024. 5. 3.
영화리뷰 : 감정분석 1. 라이브러리 및 데이터 호출#라이브러리import tensorflow as tf# 모델 구성 라이브러리# Embedding 레이어: 텍스트 데이터의 임베딩을 처리. 각 단어를 고정된 크기의 벡터로 매핑.# Bidirectional LSTM 레이어: LSTM 레이어를 양방향으로 사용하여 문맥을 이해하고 순서 정보를 고려.# Dense 레이어: 분류를 위한 완전 연결 레이어.# Dropout 레이어: 과적합을 방지하기 위해 랜덤으로 입력 유닛을 0으로 만듬.from tensorflow.keras.layers import Dense, LSTM, Embedding, Dropout, Bidirectionalfrom tensorflow.keras.models import Sequential#데이터 전처리 라이브.. 2024. 5. 3.
RNN(Recurrent Neural Network) ※ Word2Vec은 단어를 고차원 벡터로 매핑하는 기술로, 단어 간의 의미적 유사성을 측정할 수 있게 해줌. 이러한 Word-embedding은 자연어 처리(Natural Language Processing, NLP) 분야에서 널리 사용됨※ RNN(Recurrent Neural Network)은 순환 신경망으로, 순차적인 데이터나 시퀀스 데이터를 처리하는 데 사용됨. 이전의 정보를 현재 상태로 전달하여 순서에 따른 패턴을 학습할 수 있음. ※  Word2Vec과 RNN은 자연어 처리에서 서로 보완적으로 사용될 수 있음. Word2Vec은 단어를 고정된 차원의 밀집 벡터로 표현하여 단어 간의 의미적 유사성을 측정할 수 있음. 이런 단어 벡터는 RNN과 같은 모델에 입력으로 사용될 수 있음. 예를 들어, .. 2024. 5. 2.
Word Embedding과 Word2Vec □ One-Hot-Encoding 문제점 : 단어를 단순히 index번호에 따라 one-hot-encoding으로 vectorize하므로 단어간의 유사성 파악 못함. 즉 우리는 단어간의 유사성을 파악할 수 있어야함.https://dandora-90.tistory.com/330 문장 Vector 작업□ Vector 화 작업 : 텍스트 문장을 숫자 벡터로 변환하는 과정을 말함. 자연어 처리에서 텍스트 데이터를 다룰 때, 컴퓨터가 이해할 수 있는 형태로 변환해야하며 이를 위해 텍스트를 숫자로 표현dandora-90.tistory.com □ 단어간의 유사성 파악을 위해 Word Embedding 활용(현대 딥러닝 모델의 근간이됨)  ○ 단어/문장간 관련도계산   ○ 의미적/문법적 정보 함축(vetorize만으로.. 2024. 5. 2.
문장 Vector 작업 □ Vector 화 작업 : 텍스트 문장을 숫자 벡터로 변환하는 과정을 말함. 자연어 처리에서 텍스트 데이터를 다룰 때, 컴퓨터가 이해할 수 있는 형태로 변환해야하며 이를 위해 텍스트를 숫자로 표현하는 여러 가지 방법이 있음.  ○ BOW (Bag of Words)    - CountVectorizer는 Python의 scikit-learn 라이브러리에 포함된 클래스로, 텍스트 데이터의 토큰화(tokenization)와 단어 빈도 수를 기반으로 하는 피처 벡터(feature vector)를 생성하는 데 사용.from sklearn.feature_extraction.text import CountVectorizer     - 이 클래스는 자연어 처리(Natural Language Processing, NL.. 2024. 5. 1.
자연어 처리(Natural Language Processing) 및 발전단계 1. 자연어 : 일반 사회에서 자연히 발생한 언어(한국어, 일본어 등)2. 인공언어 : 프로그래밍 언어, 에스페란토어3. 자연어처리 : 자연어를 컴퓨터가 해독하고 그 의미를 이해하는 기술4. NLP 응용분야 : 웹 스크래핑, 요약, 감성분석, 번역, 교정 등. 자연어 이해와 자연어 생성으로 분류됨.5. 발전단계  (1) 스팸분류/품사결정/개체명 인식  (2) 감성분석/구문분석/기계번역/정보추출  (3) 질의응답/의역/요약/대화  ※ (1)으로 갈수록 전통적기법(규칙기반, 통계기반)이며 (1)~(3) 모두 딥러닝기법에 기반함. 대부분의 자연어 처리 문제는 분류 문제임.6. 기존방식  (1) 규칙기반 : 언어학을 기반한 rule-based program  (2) 통계기반 : 말뭉치를 기반으로 통계 모델 및 .. 2024. 4. 30.
요약 : LLM관련 용어 □ LLM(Large Language Model)로 예를 들면 아래와 같음.애플 태블릿LLM(Large Language Model)아이패드 시리즈GPT 시리즈인기 아이패드 모델Chat GPT다른 브랜드 태플릿Llama, Bard 등 즉, LLM은 모델이며 ChatGPT는 수 많은 LLM의 하나임. □ 주요용어정리용어상황예시Prompt Engineering지시 제대로 하기AI지난 데이터 패턴을 학습하여 결과를 나오게함Model/Foundation Model기본 언어모델로 튜닝 가능함. ChatGPT, Llama 등Pre-traing기본 공교육. API 제공 llm 모델Fine Tuning기본 제공 llm 모델을 커스터마이징하여 실무에 맞게 튜닝. 즉, 직업교육, 연수원과 같은 역할API/serving th.. 2024. 4. 30.
LLM 주요용어 : Temprature 온도 1. 언어 모델에서 다음 토큰의 확률 예측 2. 언어 모델링(language Modelibg)에서 다음 토큰의 예측은 다어 집합(Vocabulary)에 존재하는 단어들에 대한 Softmax Regression 값이 됨3. 온도는 Softmax Regression의 각 토큰이 샘플링 시에 뽑힐 확률을 뾰족하게 만들어 주거나 평평하게 만들어줌   (1) 온도(Temperature) 값이 작을 경우 : 확률값이 높은 토큰의 예측 확률이 증폭. 가장 크럴듯한 토큰이 뽑힐 확률이 높아짐.   (2) 온도(Temperature) 값이 높을 경우 : 모든 토큰의 확률 값이 편평해짐. 더욱 다양성 있는 텍스틑가 생성될 확률이 높아짐.* 온도 수치를 1로 올릴수록 다양하고 중복되지 않는 키워드가 추출되는 것을 확인 할 .. 2024. 4. 28.
LLM 주요용어 : 창발능력(Emergent Abilities) 1. Emergent abilities of large language models 의 핵심 idea    : 큰 LLM 모델 학습과정에서 특정 임계치를 넘으면 기존의 작은 LLM 모델에서 발생하지 않았던 새로운 능력이 발현됨2. 창발능력 개요   (1) 언어 모델의 확장은 다양한 하위 작업에서의 성능과 샘플 효율성을 예측 가능하게 향상시키는 것으로 나타나짐.  (2) 작은 언어 모델에서는 나타나지 않지만 큰 모델에서 나타난다면 그 능력을 창발 능력(예측 불가능한 현상)이라고 간주함.  (3) 창발 능력은 작은 모델의 성능을 단순히 확장해서 추론하는 것만으로는 예측 할 수 없음.  (4)창발의 존재는 스케일을 더 키우는 것이 언어 모델의 능력을 추가로 확장할 수 있을지의 문제를 제기함. 3. 즉, 많은 .. 2024. 4. 28.