인일의 공부 블로그

데이터 조작 방법 본문

AI ML DL/NLP

데이터 조작 방법

nineil912 2024. 10. 24. 15:10

포스팅 개요

아이펠 9기 리서치 NLP과정 딥다이브 노드 학습 중 작성되었습니다.

 

 

목차

1. Data Augmentation

2. Lexical substiution

3. Back Translation

 

 

🎈 Data Augmentation

Augmentation을 하는 이유

- 성능 향상

- 성능 저하 X

- 패턴이 있어 쉽게 데이터를 얻을 수 잇음

 

Augmentation 방법

- 이미지 조작(좌우 반전, 크롭, 밝기조절, roataion, Shifting ...)

- 응용방법(AlexNet, VGGNet, ResNet)

 

🎈 Lexical substitution

동의어 기반 대체

- 시소러스(Thesaurus) : 동의어, 유의어를 집중적으로 구축해놓은 사전. 

i.e. 워드넷(WordNet)

- 기계번역을 돕기 위해 동의어집합, 상위어, 하위어에 관한 정보가 잘 구축되어있음

- 단어에 대한 상위어와 하위어 정보를 구축하기 위해 유향 비순환 그래프(Directed acyclic graph, DAT)를 이룸

- 한 노드가 여러개의 상위 노드를 가질 수 있기 때문에 위와같은 구조를 가짐 

https://kh-kim.gitbook.io/natural-language-processing-with-pytorch/00-cover-4/03-wordnet

Embedding 활용 대체

- Pre Training Word Embedding을 활용하는 방법 (Word2Vec, GloVe 등 기법)

- Embedding의 유사도를 기반하여 단어를 대체함

 

TF-IDF 기반 대체

- TF-IDF는 여러 문서를 기반으로 단어마다 중요도를 부여하는 알고리즘

- 문서의 핵심이 되는 소년, 피리가 높은 값 부여

- 문서의 핵심이 되지 않는 한, 를 과 같은 단어는 낮은 값을 가짐

- TF-IDF값이 낮은 단어들은 다른 단어로 대체되어도 문맥이 크게 변하지 않음

🎈 Back Translation

- 번역 모델에 단일 언어 데이터를 학습시키는 방법

- 단일 언어 데이터는 구하기 쉽고 많으나, 병렬 쌍을 이루는 언어 데이터를 찾기 어렵다는 문제를 해결하고자 함

 

Synthetic Source Sentence를 생성하는 과정

소스를 인공적으로 만드는 과정. 이 과정을 통해 역번역을 가지고 데이터를 생성하여 이용 할 수 있음.

 

🎈 Random Noise Injection

- 오타 노이즈 추가 : 쿼티 키보드 상의 키의 거리 기반으로 비슷한 위치에 있는 노이즈 추가

- 공백 노이즈 추가 

공백 토큰을 치환하고 추축하여 학습하는 방법인 MLM(Masked Language Modeling)을 사용 할 수 잇음 

예시 ) https://huggingface.co/docs/transformers/ko/tasks/masked_language_modeling

 

마스킹된 언어 모델링(Masked language modeling)

텍스트를 토큰화하고 input_ids를 TensorFlow 텐서 형태로 반환합니다. 또한, 토큰의 위치를 지정해야 합니다: >>> from transformers import AutoTokenizer >>> tokenizer = AutoTokenizer.from_pretrained("my_awesome_eli5_mlm_model")

huggingface.co

- 랜덤 유의어 추가 : 불용어가 아닌 단어를 랜덤하게 뽑고 해당 단어와 유사한 단얼르 삽입 

 

 

🎈 번역 품질 평가 지표 

- BLEU(Biliingual Evaluation Understudy) Score : 기계가 실제 번역을 얼마나 잘 재현했는가? 를 평가. 

- n-gram을 통한 순서쌍들이 얼마나 겹치는지 측정

https://wikidocs.net/31695

 

14-03 BLEU Score(Bilingual Evaluation Understudy Score)

앞서 언어 모델(Language Model)의 성능 측정을 위한 평가 방법으로 펄플렉서티(perplexity, PPL)를 소개한 바 있습니다. 기계 번역기에도 PPL을 평가에 사…

wikidocs.net

 


간단 후기

Greedy Algorithm이 어떻게 적용하는지 알아봐서 좋습니다. 알고리즘 기법들이 적용되는 부분을 공부하는게 재밌었습니다.

 

'AI ML DL > NLP' 카테고리의 다른 글

NLP 흐름 정리  (3) 2024.10.28
Searching Algorithm  (1) 2024.10.24
텍스트 데이터 다루기  (0) 2024.10.10