출처 : http://www.kbanker.co.kr/news/articleView.html?idxno=98914
출처 : https://fish-tank.tistory.com/95
손쉬운 데이터 증대는 전통적이고 매우 간단한 데이터 증대 방법을 사용합니다. EDA는 오버피팅을 방지하고 보다 견고한 모델을 훈련시키는 데 도움 이 되는 놀랍도록 훌륭한 작업을 수행하는 네 가지 간단한 작업 으로 구성됩니다.
불용어가 아닌 문장에서 무작위로 n개의 단어를 선택합니다. 이러한 각 단어를 무작위로 선택한 동의어 중 하나로 바꿉니다.
정지 단어가 아닌 문장에서 임의의 단어의 임의 동의어를 찾습니다. 해당 동의어를 문장의 임의의 위치에 삽입합니다. 이 작업 을 n 번 수행합니다.
문장에서 무작위로 두 단어를 선택하고 위치를 바꿉니다. 이 작업 을 n 번 수행합니다.
확률 p 로 문장의 각 단어를 무작위로 제거합니다.
예를 들어 주어진 문장
이 기사 는 NLP의 데이터 증대 기술 을 요약하는 데 중점을 둘 것 입니다.
이 방법은 n개의 단어(예: 2개), 단어 will 및 techniques 를 선택하고 문장에서 제거합니다.
이것 기사 는 NLP의 데이터 증대를 요약하는 데 중점을 둡니다.
이러한 기술을 프로젝트에 적용하려면 이 저장소 로 이동할 수 있습니다 .
이를 한국어용으로 코드구현을 한 좋은 자료가 있어 아래 깃허브를 함께 올린다 !
출처 : github.com/catSirup/KorEDA/blob/master/eda.pygithub.com/catSirup/KorEDA/tree/master
: 증강 데이터로 훈련할 때 직면 하는 주요 문제는 알고리즘이 잘못 수행될 때 증강 훈련 데이터를 지나치게 과적합한다는 것입니다.
출처 : https://soohwan-justin.tistory.com/65
: 딥러닝 모델은 수치형 텐서만 다룰 수 있습니다. 따라서 텍스트도 수치형 텐서로 변환해야 하는데, 이를 텍스트 벡터화(vectorizing text)라고 합니다. 텍스트 벡터화의 방법에는 몇 가지가 있습니다.
텍스트를 나누는 이런 단위(단어, 문자, n-gram)을 토큰이라고 합니다. 그리고 이렇게 텍스트를 토큰으로 나누는 작업을 토큰화(tokenization)라고 합니다. 모든 텍스트 벡터화 과정은 특정 종류의 토큰화를 적용하고, 이렇게 생성된 토큰에 수치형 벡터를 매핑하는 것으로 이루어집니다.
토큰과 벡터를 매핑하는 방법에는 (1)원-핫 인코딩과 (2)토큰 임베딩(또는 단어 임베딩)이 있습니다.
: 단어와 벡터를 매핑하는 또다른 방법은 단어 임베딩 입니다. 원-핫 인코딩으로 만든 벡터는 희소(sparse)하고, 차원이 매우 높습니다(사용할 단어의 수와 같습니다).
반면, 단어 임베딩은 저차원의 실수 벡터입니다(희소 벡터의 반대인 밀집 벡터입니다). 단어 임베딩은 데이터로부터 학습되며, 보통 256, 512 또는 큰 어휘 사전을 다룰때는 1024차원의 단어 임베딩을 사용합니다.
단어 임베딩을 만드는 방법에는 두 가지가 있습니다.
- 관심 대상인 문제와 함께 단어 임베딩도 같이 학습합니다. 랜덤한 단어 벡터로 시작하며, 신경망의 가중치를 학습하는 것처럼 단어 벡터도 학습합니다.
- 다른 머신 러닝에서 사용했던 단어 임베딩을 불러와서 사용합니다. 이를 사전 훈련된 단어 임베딩(pretrained word embedding)이라고 합니다.
: 단어와 밀집 벡터를 매핑하는 가장 간단한 방법은, 벡터를 랜덤하게 고르는 것입니다. 하지만 이 방법의 문제는 임베딩 공간이 구조적이지 않다는 것입니다.
단어 벡터 사이에 추상적이고 기하학적인 관계를 얻기 위해서는 그 단어들 사이의 의미 관계를 반영해야 합니다. 단어 임베딩은 언어를 기하학적 공간에 매핑하는 것이므로, 비슷한 단어 끼리는 비슷한 벡터로 임베딩 되어야 합니다.
일반적으로 두 벡터 사이의 L2 거리는 단어 사이의 의미 거리와 관계되어 있습니다. 즉, 비슷한 단어는 가까운 위치에 임베딩되어야 합니다.
https://kaggler-tv.github.io/dku-kaggle-class/lectures/16-data-augmentation.html -
https://neptune.ai/blog/data-augmentation-nlp - NLP의 데이터 증대: Kaggle 마스터의 모범 사례