Text Augmentation 라이브러리 nlpaug
파이썬에서 텍스트 데이터를 augmentation해야할 때 유용하게 사용할 수 있는
nlpaug 모듈에 대해서 소개해보고 사용법을 간단하게 살펴보겠습니다.
nlpaug에서 지원하는 텍스트 증강 종류
우선, nlpaug 라이브러리에 대한 내용이 정리된 공식 github 페이지의 링크는 아래와 같습니다.
해당 페이지의 내용을 확인해보시면 텍스트 데이터뿐만 아니라 음성 신호 데이터에 대한
augmentation도 같이 제공하고 있는 점을 확인하실 수 있습니다.
텍스트 데이터를 기준으로 character, word 및 sentence 단위의 다양한 증강 방법들을
정리해두었다는 점을 확인할 수 있습니다.
각 증강 방법들에 대하여 설명을 간단히나마 요약해보면
character 단위의 데이터 증강 방법으로는 키보드 오타, OCR engine 오류, 랜덤 오타 등을
재현하고 있으며,
word 단위에서는 반의어, 동의어 등 rule 기반 방법부터 언어 모델을 활용한
ContextualWordEmbsAug이나 back translation(번역 후 재번역으로 돌아오는 과정)
등 다소 복잡한 과정의 증강도 제공하고 있습니다.
sentence 단위에서도 GPT2 등의 언어 모델을 활용한 방법과
summary 생성 결과를 활용한 방법 등 복잡한 text augmentation 방법들을
이용하기 쉽게 지원하고 있습니다.
더 자세한 종류 및 원리는 공식 github 페이지에 표로 정리된 내용을 참고해주세요.
nlpaug 사용법 예제
사용법은 매우 간단한 편이며, 위의 깃헙 페이지를 살펴보시면 자세하게 서술되어 있습니다.
예시로, 모듈 설치의 경우 아래 명령어로 간단하게 설치가 가능합니다.
!pip install numpy requests nlpaug
깃헙 페이지의 Quick Demo 파트에 코드 예제들이 상세하게 설명되어 있는데,
character 단위의 OCR 인식 오타를 3번 발생시켜본 예시 코드는 아래와 같습니다.
import nlpaug.augmenter.char as nac
text = 'Do to others as you would be done by'
aug = nac.OcrAug()
aug_text = aug.augment(text, n = 3)
print(aug_text)
# ['Do t0 uther8 as you would be done 6y', 'Do to others as you would 6e dune 6y', 'Do tu others a8 y0o would be done by']
'Python > NLP Code' 카테고리의 다른 글
파이썬 BERT 모델 활용 IMDB 데이터셋 감성 분석 classification 예제 (0) | 2022.06.18 |
---|---|
BERT 모델 MLM 기반 pre-train 파이썬 코드 예제 (0) | 2022.04.03 |
Transformers 모델 병렬화(Model Parallelism) 간단하게 하는 방법 (0) | 2022.03.21 |