자연어 NLP
-
한국어는 너무 어렵다. 띄어쓰기 차이, 한 글자 차이 등으로 의미가 달라진다. 많은 자연어 처리 책이나 논문등에서 영어에 대한 전처리 기법은 많지만 한국어에 대한 전처리 및 임베딩이 약했습니다. 하지만 최근에는 오픈프로젝트나 개인이 라이브러리나 오픈소스를 개발해주셔서..! 많이 좋아졌습니다. 데이터 전처리? 텍스트 데이터 관련 신경망 모델을 만들어야 한다. 일단 그러면 많은 양의 텍스트, 즉 코퍼스(Corpus)가 필요할 것이다. 크롤링이나 오픈 데이터 등을 통해 일단 얻는다. 하지만 띄어쓰기가 잘못되 있는 것도 있을 것이고, 맞춤법이 틀린 것도 있을 것이다. 이렇게 사소한 차이도 임베딩 벡터로 보면 큰 차이일 수 있기 때문에 처음에 전처리를 잘하는 것이 중요하다. 그래서 오늘은 한국어 전용 텍스트 전처..
[NLP] 자연어처리 - 한국어 전처리를 위한 기법들한국어는 너무 어렵다. 띄어쓰기 차이, 한 글자 차이 등으로 의미가 달라진다. 많은 자연어 처리 책이나 논문등에서 영어에 대한 전처리 기법은 많지만 한국어에 대한 전처리 및 임베딩이 약했습니다. 하지만 최근에는 오픈프로젝트나 개인이 라이브러리나 오픈소스를 개발해주셔서..! 많이 좋아졌습니다. 데이터 전처리? 텍스트 데이터 관련 신경망 모델을 만들어야 한다. 일단 그러면 많은 양의 텍스트, 즉 코퍼스(Corpus)가 필요할 것이다. 크롤링이나 오픈 데이터 등을 통해 일단 얻는다. 하지만 띄어쓰기가 잘못되 있는 것도 있을 것이고, 맞춤법이 틀린 것도 있을 것이다. 이렇게 사소한 차이도 임베딩 벡터로 보면 큰 차이일 수 있기 때문에 처음에 전처리를 잘하는 것이 중요하다. 그래서 오늘은 한국어 전용 텍스트 전처..
2020.10.22 -
● BERT 파인튜닝 2편에서 구글에서 제공하는 공식 BERT코드로 대량의 위키디피아 코퍼스로 사전훈련하여 생성한 모델을, 이번 포스팅에서는 전이학습시켜 다른 nlp task에 적용하는 파인튜닝 실습을 진행해 보려고 합니다. 저번시간에 생성한 vocab.txt파일과 사전학습한 모델 ckpt를 그대로 사용하여도 되고, 미리 생성한 위키디피아 큰 코퍼스로 학습시킨 모델 데이터를 첨부하니 그것을 이용하여도 됩니다. 파인튜닝에 필요한 다른 필요한 코드 파일은 이전 포스팅에서 사전에 첨부한 파일을 그대로 사용합니다. run_squad.py, run_classifier.py, run_multi_classifier.py 등 2020/03/26 - [SW개발/AI Development] - [BERT] BERT에 대해..
[BERT] BERT에 대해 쉽게 알아보기4 - BERT 파인튜닝● BERT 파인튜닝 2편에서 구글에서 제공하는 공식 BERT코드로 대량의 위키디피아 코퍼스로 사전훈련하여 생성한 모델을, 이번 포스팅에서는 전이학습시켜 다른 nlp task에 적용하는 파인튜닝 실습을 진행해 보려고 합니다. 저번시간에 생성한 vocab.txt파일과 사전학습한 모델 ckpt를 그대로 사용하여도 되고, 미리 생성한 위키디피아 큰 코퍼스로 학습시킨 모델 데이터를 첨부하니 그것을 이용하여도 됩니다. 파인튜닝에 필요한 다른 필요한 코드 파일은 이전 포스팅에서 사전에 첨부한 파일을 그대로 사용합니다. run_squad.py, run_classifier.py, run_multi_classifier.py 등 2020/03/26 - [SW개발/AI Development] - [BERT] BERT에 대해..
2020.03.30 -
● 텐서플로우 허브의 BERT layer를 이용한 캐글 분류문제 예제 지난번 포스팅에서 사전학습한 BERT 모델을 다른 NLP task 문제에 전이학습시켜 예제에 적용하는 포스팅을 이번 포스팅에서 작성하려고 하였는데요. 그 이전에 텐서플로우 허브, 허깅페이스 등을 이용해서 multilingual BERT 레이어를 실제로 예제에 어떻게 적용하는지 알아보는 포스팅을 먼저 쓰도록 하겠습니다. ● 텐서플로우 허브(TensorFlow Hub) 텐서플로우 허브는 일반화된 문제들에 대해서 모델의 재사용성을 극대화 하기 위해 구글에서 새로 공개한 API입니다. 텐서플로우 1.7.0 버전 이상에서 사용할 수 있고, pip install을 통해 설치해주어야 합니다. 텐서플로우를 이용하면 지금 사용하려는 사전 훈련된 버트 ..
[BERT] BERT에 대해 쉽게 알아보기3 - tf-hub BERT layer를 이용한 캐글 분류문제● 텐서플로우 허브의 BERT layer를 이용한 캐글 분류문제 예제 지난번 포스팅에서 사전학습한 BERT 모델을 다른 NLP task 문제에 전이학습시켜 예제에 적용하는 포스팅을 이번 포스팅에서 작성하려고 하였는데요. 그 이전에 텐서플로우 허브, 허깅페이스 등을 이용해서 multilingual BERT 레이어를 실제로 예제에 어떻게 적용하는지 알아보는 포스팅을 먼저 쓰도록 하겠습니다. ● 텐서플로우 허브(TensorFlow Hub) 텐서플로우 허브는 일반화된 문제들에 대해서 모델의 재사용성을 극대화 하기 위해 구글에서 새로 공개한 API입니다. 텐서플로우 1.7.0 버전 이상에서 사용할 수 있고, pip install을 통해 설치해주어야 합니다. 텐서플로우를 이용하면 지금 사용하려는 사전 훈련된 버트 ..
2020.03.27 -
** 이전 포스팅 코랩 노트북을 따라하시다가 오류가 난다는 분이 많아서, 코드를 쭉 수정하였습니다. ● BERT모델로 대량의 코퍼스 사전훈련 시키기 구글이 만든 사전훈련 모델 'BERT'로 대량의 코퍼스를 가지고 사전훈련을 시키는 방법을 포스팅 하도록 하겠습니다. 그리고 이 다음 포스팅에서는 사전훈련된 모델로 NLP모델 Task에 전이학습 시키는 방법을 포스팅 할 예정입니다. BERT는 위키디피아 같은 대량의 코퍼스를 사용해서 사전훈련을 시키고 언어의 기본적인 패턴을 이해한 워드임베딩을 추출해냅니다. 이렇게 사전훈련을 통해 생성된 임베딩으로 새로운 문제에 적용하는 전이학습(transfer learning)을 수행하여 적은데이터로 기존 ML, DL모델에 적용하여 빠르게 학습이 가능합니다. BERT가 무엇인..
[BERT] BERT에 대해 쉽게 알아보기2 - colab으로 BERT Pretraining(수정)** 이전 포스팅 코랩 노트북을 따라하시다가 오류가 난다는 분이 많아서, 코드를 쭉 수정하였습니다. ● BERT모델로 대량의 코퍼스 사전훈련 시키기 구글이 만든 사전훈련 모델 'BERT'로 대량의 코퍼스를 가지고 사전훈련을 시키는 방법을 포스팅 하도록 하겠습니다. 그리고 이 다음 포스팅에서는 사전훈련된 모델로 NLP모델 Task에 전이학습 시키는 방법을 포스팅 할 예정입니다. BERT는 위키디피아 같은 대량의 코퍼스를 사용해서 사전훈련을 시키고 언어의 기본적인 패턴을 이해한 워드임베딩을 추출해냅니다. 이렇게 사전훈련을 통해 생성된 임베딩으로 새로운 문제에 적용하는 전이학습(transfer learning)을 수행하여 적은데이터로 기존 ML, DL모델에 적용하여 빠르게 학습이 가능합니다. BERT가 무엇인..
2020.03.26 -
● 언어모델 BERT BERT : Pre-training of Deep Bidirectional Trnasformers for Language Understanding 구글에서 개발한 NLP(자연어처리) 사전 훈련 기술이며, 특정 분야에 국한된 기술이 아니라 모든 자연어 처리 분야에서 좋은 성능을 내는 범용 Language Model입니다. 11개 이상의 자연어처리 과제에서 BERT가 최첨단 성능을 발휘한다고 하지만 그 이유는 잘 알려져 있지 않다고 합니다. 하지만 BERT는 지금까지 자연어처리에 활용하였던 앙상블 모델보다 더 좋은 성능을 내고 있어서 많은 관심을 받고 있는 언어모델 입니다. ○ 그래서 BERT가 과연 무엇인가. 처음에 BERT라는 모델을 접하였을 때, 단지 LSTM, CNN, 앙상블 모..
[BERT] BERT에 대해 쉽게 알아보기1 - BERT는 무엇인가, 동작 구조● 언어모델 BERT BERT : Pre-training of Deep Bidirectional Trnasformers for Language Understanding 구글에서 개발한 NLP(자연어처리) 사전 훈련 기술이며, 특정 분야에 국한된 기술이 아니라 모든 자연어 처리 분야에서 좋은 성능을 내는 범용 Language Model입니다. 11개 이상의 자연어처리 과제에서 BERT가 최첨단 성능을 발휘한다고 하지만 그 이유는 잘 알려져 있지 않다고 합니다. 하지만 BERT는 지금까지 자연어처리에 활용하였던 앙상블 모델보다 더 좋은 성능을 내고 있어서 많은 관심을 받고 있는 언어모델 입니다. ○ 그래서 BERT가 과연 무엇인가. 처음에 BERT라는 모델을 접하였을 때, 단지 LSTM, CNN, 앙상블 모..
2020.02.12