반응형

전체 글 746

자연어 처리 진행 순서 2 - 모델링, 모델 학습 및 평가

목표 - 자연어 처리 Task를 수행하는 절차 중 모델링, 모델 학습 및 평가 과정에 대해 이해할 수 있다. 기계번역 - 한국어 소스 -> 영어소스 = 영어 토큰으로 변환 최대 확률을 가지는 토큰을 가져온다! 문장 구조 상, 의미 상 가장 높은 확률을 가지는 토큰을 선택한다. 어순이 바른 것이 높은 확률을 가진다. SOTA = 그 분야에서 제일 적합한 모델 상황에 따른 결정들이 많이 다르다! 내가 사용할 수 있는 리소스의 한계를 알아두기 모델 평가 시점도 중요하다! 모델 학습이 끝난 후 평가를 진행하면 재학습을 처음부터 다시해야 하는 경우가 있을 수 있다. validation 데이터 셋을 사용하여 학습을 잘 체크한다! 오버 피팅에 대한 값은 validation과 train의 오차를 통해 확인 8/2로 나..

자연어 처리 진행 순서 1 - 데이터 수집 및 전처리

강의 목표 - 자연어 처리 Task를 수행하는 절차 중 데이터 수집, EDA 및 전처리에 해당하는 데이터 준비 과정에 대해 이해할 수 있다. 실제 세계의 분포와 같은 데이터를 사용해야 한다. 다양한 빈도를 잘 포함해야 한다! 성별에 대한 데이터를 반반 씩 잘 수집해야 한다. 특정 환경에서만 작동하는 데이터일 경우가 있고, 오래된 데이터일 경우도 있다. 데이터를 더 추가하거나 필터를 한번 더 설정하여 필요한 데이터만 사용하는 등 작업이 필요하다. 장점 - 양이 엄청나다 단점 - 보급편향 -> 극단의 데이터만 있다. (중립적인 사람들은 말을 하지 않는다.) 데이터 분석이 필요하다. 라벨링을 해줘야 한다. 추가 작업 필요! 데이터 분포를 확인 후 데이터 수집을 추가로 진행할 수 있다. 학습에선 리소스가 많이 ..

자연어 처리 살펴보기 - 다양한 자연어 처리 Task 소개

목표 - 다양한 자연어 처리 Task들에 대한 목적과 수행 방법을 이해할 수 있다. text classification - 긍정 부정 분류 정보 추출 문장 변환 및 생성 품사 분류 및 관계 토픽, 키워드 추출 챗봇 자연어 추론 어뷰징 디텍션 - 위험한 말들을 분류(선정성, 공격성 등) 유사도 - 얼마나 유사한 번역, 요약, 생성(이루다) 추출요약 - 기계적 방식으로 요약 -> 원문에서 중요한 문장을 뽑기 추상요약 - 문장을 사람이 요약하듯 요약 -> 문장 전체를 원문에 없는 문장으로 만들기 사람이 작성한 것 같은 텍스트!!!!!! chat GPT나 이루다가 여기에 포함 엔티티는 명사와는 다르다. 개체명 인식 -> 엔티티 구별 둘 이상의 엔티티에서 발생한다. 종속 관계가 나온다! 추상 요약과 추출 요약 중..

자연어 처리 살펴보기 - 개요

상황적인 인식을 통해 비언어적인 신호 또한 사용된다. 물어본 의도를 잘 파악하는 챗봇들이 많이 나오고 있다. drug는 약도 될 수 있고, 마약도 될 수 있다. -> 단어의 뜻을 명확하게 하여 검색결과를 보여준다. 오타를 자동 수정! 사람이 하기 힘든 일을 대신 해준다. 감정 분석은 긍정과 부정을 나누어 사용자의 만족도를 측정할 수 있다.

자연어 처리 python 실습 - Neural Language model 구현

# Neural Language Modeling #네이버 영화 댓글 데이터를 이용해 Neural language model을 구현해보고, 구현한 Neural language model로 댓글 생성을 해본다. from google.colab import drive drive.mount('/content/drive') base_path = "./drive/MyDrive/fastcampus/practice" import pandas as pd df = pd.read_csv(f"{base_path}/data/nsmc/ratings_train.txt", sep='\t') # pos, neg 비율 df['label'].value_counts() 0 75173 1 74827 Name: label, dtype: int..

자연어 처리 python 실습 - N gram language model

# N-gram Language Modeling 작은 샘플들을 활용해 N-gram language modeling을 구현해보고, 구현한 N-gram language model로 자동 완성 기능을 이해해보자 data corpus = ["오늘 날씨 어때", "오늘 날씨 어때", "오늘 날씨 어때", "오늘 축구 경기", "오늘 경기 결과", "오늘 경기 결과", "내일 날씨", "내일 축구 경기", "내일 축구 경기", "축구 일정", ] 문장의 빈도를 통한 확률 제대로 확인! # tokenization vocabs = set() for sample in corpus: for token in sample.split(): vocabs.add(token) vocabs = list(vocabs) vocabs 출력..

자연어 처리 python - 최신 Language model들과 활용법

objective = 모델이 학습하려고 하는 바 MLM = 컨텍스트들이 마스킹 되어 있다. 마스킹 된 것을 예측한다! 한 단어를 예측할 때 주변을 다 보고 예측한다. NSP = 이전문장과 다음 문장이 이어지면 1, 아니면 0으로 풀게 된다. BERT = MLM + NSP 문장에 대한 특징을 잘 추출, 언어를 잘 이해하게 되어 파인튜닝시 잘 이해한다. 실무적으로 아직 잘 사용되고 있다. GPT - 1 = 단방향! 미래는 볼 수 없다. 고전적인 학습 방법을 이용한다. RoBERTa : Long sequence!! GPT - 2: 1버전 보다 더 커졌다. T5 - 입력에 대해 토큰들로 치환하여 디코더에서 치환된 영역이 다시 생성된다! 모든 일을 자연어로 풀게한다-> 요즘의 트렌드 MTDNN - MS ELECT..

자연어 처리 python - skip thought vector

유사한 임베딩은 가까이 유사하지 않은 것은 다른 곳을 향하게 된다. sentence embedding을 잘 만드는 것으로 좋은 모델을 만들 수 있다. 어휘는 유사하지만 완전히 다른 의미와 완전히 다른 어휘와 동일한 의미! GRU도 RNN의 일종이다. 여러개 문장을 주어주고, 그 중 가장 알맞는 문장을 고르도록 학습하게 된다! 여기선 '오늘 날씨는 맑습니다'가 학습하면서 나올 확률이 높아지고, 출력하게 된다.

파이썬 = 웹 페이지 다운로드 하기

안에 웹툰의 아이디가 있다. 우리가 필요한 정보는 안에 있고 는 안에 있다. 웹툰을 다운로드 할 수 있도록 만들어 본다! import requests from bs4 import BeautifulSoup # 원하는 정보 추출하는 용! import random import os # exit 사용 # https://comic.naver.com/webtoon/detail?titleId=725586&no=247&week=fri days =["mon","tue","wed","thu","fri","sat","sun"] dic ={} for i in days: url = f"https://comic.naver.com/webtoon?tab={i}" res = requests.get(url) soup = Beautifu..

728x90
728x90