NLP/KLUE
-
GPT 모델 사용해보기NLP/KLUE 2021. 10. 12. 01:36
자연어 생성 Grid Search 방식 model.generate를 사용하면 가장 확률 값이 높은 결과를 선택 Beam Search 방식 확률의 합이 가장 커지는 방식 (문장 자체의 문법적 확률이 높아짐) 시간이 오래걸림 no_repeat_n_gram_size를 설정하여 결과가 반복되는 것을 막을 수 있음 output = model.generate( input_ids, max_length=30, num_beams=5, no_repeat_ngram_size=2, early_stopping=True ) Beam Search 방식은 유사한 문장을 많이 만들어냄 인간이 자연어를 생성할 때, 높은 확률의 문장만 만드는 것이 아님 → temperature 설정, random sampling, top_k_sampl..
-
NotesNLP/KLUE 2021. 9. 28. 15:36
ko-electra가 공개된 Huggingface 모델 중에 성능이 가장 좋다. vocab을 정의할 때 3만개 정도면 적절하다. BERT 학습시 개인정보를 잘 지우는 것이 중요 MASK로 개인정보를 예측하게 할 수 있음 (e.g. Obama was born in [MASK] → Honolulu) short seq prob으로 seq 길이를 랜덤하게 학습 kor_ner 한국해양대학교 자연어 처리 연구실에서 공개한 한국어 NER 데이터셋 NER 데이터셋은 POS tagging도 같이 BIO 태그로 구성 (begin, inner, out → entity의 종류와 위치를 알려주는 태그 e.g 스포츠 (B-ORG), 동아(I-ORG)) 형태소 단위의 토큰을 음절단위의 토큰으로 분해하는 것이 좋음
-
자연어 전처리NLP/KLUE 2021. 9. 28. 11:26
전처리 원시 데이터를 기계학습 모델이 학습하는데 적합하게 만드는 프로세스 학습에 사용될 데이터를 수집&가공하는 프로세스 자연어 처리 단계 task 설계 필요 데이터 수집 통계학적 분석 token의 개수 (아웃라이어 제거) 빈도 확인 tagging tokenizing - 자연어를 어떤 단위로 살펴볼것인지 모델 설계 모델 구현 성능 평가 완료 Python String 관련 함수 한국어 토큰화 토큰의 기준은 다를 수 있음 (어절, 단어, 형태소, 음절, 자소 등) 어절 단위 문장을 띄어쓰기 단위로 분리 spilt 함수 이용 형태소 단위 형태소 분석기 이용 (mecab, khaiii 등) 음절단위 자연어를 한 글자씩 분리 자소 단위 초성, 중성, 종성으로 분리 hgtk 라이브러리 이용 WordPiece 단위 한..
-
인공지능 & 자연어 처리 타임라인NLP/KLUE 2021. 9. 27. 12:02
자연어 단어 임베딩 가장 단순한 표현 방법은 One-hot encoding 방식 → n개의 벡터를 n차원으로 표현 one-hot encoding 방식은 sparse 해서 단어가 가지는 의미를 벡터 공간에 표현하기 어렵다 이러한 단점을 극복하기 위한 것이 Word2Vec 이다. → 한 단어의 주변 단어들을 통해, 그 단어의 의미를 파악 (skip-gram) Word2Vec 장점 - 단어간의 유사도 측정에 용이 - 단어간의 관계 파악 - 벡터 연산을 통한 추론 가능 (한국 - 서울 + 파리 = 프랑스) 단점 - 단어의 subword information 무시 (e.g. 서울 vs 서울시 vs 고양시) - out of vocabulary(OOV)에서 적용 불가능 FastText 기존의 word2vec과 유사하..