반응형

인공지능 663

한국어 데이터 전처리 - 정제(Cleaning) 및 정규화(Normalization)

목표 - 수집한 자연어 코퍼스를 정제하는 과정 및 정규화 과정에 대해 이해할 수 있다. 정규화 - 대문자 -> 소문자, 다양한 이모지 통일 등 노이즈 - 판단 필요하다! -> 완벽하게 없애는 것은 힘들기 때문에 합의점이 필요하다. 분포가 너무 적은 것들은 제거도 한다. 쓰임이 없는 단어, 비효율적인 단어들 모델의 응답시간도 단축 가능하다. 정보량이 많지 않다. -> 무언가를 분류하는데 도움이 되지 않는다. 없다면 pip nltk로 설치도 필요하다. 대명사, 관사들이 들어있다. 내가 필요하다고 생각하다면 리스트에서 제거해주면 된다. 단어가 많이 줄어든 것을 볼 수 있다. 조사는 붙어있는데 어떻게 제거할까? 특수 문자중에서도 웃음과 같은 것은 긍정으로 볼 수 있지 않나...? 빈도에 따라 중요성도 생각해 볼..

한국어 데이터 전처리 - 자연어 코퍼스 수집

강의 목표 : 웹 상에 공개된 한국어 자연어 코퍼스들을 소개하고 활용하는 방법들을 이해할 수 있다. 내가 필요한 데이터의 종류를 잘 찾아야 한다. 어느 정도의 코퍼스를 수집해야 할까? 무한히 많은 코퍼스가 항상 좋은 것도 아니다. 번역 모델 - 모델 구조에 2만개의 학습 데이터를 넣었을 때 잘 된다는 논문을 보고 2만개라고 정할 수 있다. 레이블 - 데이터의 패턴 모델이 커지면 커질수록 데이터 필요 커짐 쉬운 작업에 큰 모델은 필요 없다! 데이터에 비해 모델이 너무 크다! 모델이 크려면 학습 데이터도 많아야 한다. 23년 현재의 어뷰징 컨텐츠를 거르고 싶은데 20년도 어뷰징 관련 데이터라면 지금 어뷰징은 못 잡을 확률이 크다. 데이터 분석 과정이 필수다. 중립적인 의견은 표출하지 않아 편향적인 데이터가 ..

자연어 처리 살펴보기 - Google colab 환경에서 Huggingface 기초 실습

Huggingface Tutorial Introduction Chapter 1. 자연어처리 살펴보기 강의의 google colab 환경에서 Huggingface 기초 실습 강의입니다. 자연어처리 실습을 위한 google colab 환경을 소개하고, 자연어처리 분야의 주요 모듈인 Huggingface의 사용법을 익히기 위해, Tokenizer 및 모델 실습을 진행합니다. Hugging Face, Inc.는 기계 학습을 사용하여 애플리케이션을 구축하기 위한 도구를 개발하는 미국 회사입니다. 자연어 처리 애플리케이션용으로 구축된 Transformers 라이브러리와 사용자가 기계 학습 모델 및 데이터 세트를 공유할 수 있는 플랫폼으로 가장 유명합니다. 우리는 이 라이브러리를 통해 오늘날 사용 가능한 대부분의 크..

자연어 처리 살펴보기 - 프레임워크 소개

목표 - 자연어 처리를 진행하면서 주로 사용하는 자연어 처리 프레임워크들에 대해 이해할 수 있다. 패키지들간의 의존성 때문에 오류가 많이 발생한다. -> 관리해주지 않으면 계속 오류가 날 것이다. 배타적인 환경을 구성할 수 있으나 다른 컴퓨터에서 진행할 땐 환경을 똑같이 구성해줘야 한다. 아나콘다보다 복잡한 경우가 많아서 재현성이 필요한 회사에서 많이 사용된다. Kaggle에서도 가능하다. TensorFlow를 통해 파이썬의 속도보다 더 빠르게 활용 가능하다. 저는 케라스를 활용해 본 적은 없네요

자연어 처리 진행 순서 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 출력..

728x90
728x90