자연어처리
-
한국어는 너무 어렵다. 띄어쓰기 차이, 한 글자 차이 등으로 의미가 달라진다. 많은 자연어 처리 책이나 논문등에서 영어에 대한 전처리 기법은 많지만 한국어에 대한 전처리 및 임베딩이 약했습니다. 하지만 최근에는 오픈프로젝트나 개인이 라이브러리나 오픈소스를 개발해주셔서..! 많이 좋아졌습니다. 데이터 전처리? 텍스트 데이터 관련 신경망 모델을 만들어야 한다. 일단 그러면 많은 양의 텍스트, 즉 코퍼스(Corpus)가 필요할 것이다. 크롤링이나 오픈 데이터 등을 통해 일단 얻는다. 하지만 띄어쓰기가 잘못되 있는 것도 있을 것이고, 맞춤법이 틀린 것도 있을 것이다. 이렇게 사소한 차이도 임베딩 벡터로 보면 큰 차이일 수 있기 때문에 처음에 전처리를 잘하는 것이 중요하다. 그래서 오늘은 한국어 전용 텍스트 전처..
[NLP] 자연어처리 - 한국어 전처리를 위한 기법들한국어는 너무 어렵다. 띄어쓰기 차이, 한 글자 차이 등으로 의미가 달라진다. 많은 자연어 처리 책이나 논문등에서 영어에 대한 전처리 기법은 많지만 한국어에 대한 전처리 및 임베딩이 약했습니다. 하지만 최근에는 오픈프로젝트나 개인이 라이브러리나 오픈소스를 개발해주셔서..! 많이 좋아졌습니다. 데이터 전처리? 텍스트 데이터 관련 신경망 모델을 만들어야 한다. 일단 그러면 많은 양의 텍스트, 즉 코퍼스(Corpus)가 필요할 것이다. 크롤링이나 오픈 데이터 등을 통해 일단 얻는다. 하지만 띄어쓰기가 잘못되 있는 것도 있을 것이고, 맞춤법이 틀린 것도 있을 것이다. 이렇게 사소한 차이도 임베딩 벡터로 보면 큰 차이일 수 있기 때문에 처음에 전처리를 잘하는 것이 중요하다. 그래서 오늘은 한국어 전용 텍스트 전처..
2020.10.22 -
● 형태소 분석기 한국어 처리에 있어 형태소 분석기는 매우 중요합니다. 영어의 경우 공백 기준으로 단어를 나누는 tokenize기능을 사용해도 큰 무리가 없지만, 한국어 문장에서 키워드를 추출하려면 각 단어들을 형태소 분석에 의하여 가치가 있는 명사, 동사, 조사 등을 추출해야 합니다. ○ 형태소 분석(Pos Tagging)이란? 원시말뭉치를 형태소 단위로 쪼개고 각 형태소에 품사 정보를 부착하는 작업을 가리킵니다. 많은 개발자, 데이터 분석가들이 한국어에 특화된 형태소 분석기를 만들어주었고 오픈소스로 이용할 수 있게 되었습니다. 특히 파이썬 패키지로 유명한 'KoNLPy'는 꼬꼬마, 꼬모란, 한나눔, 메캅 등의 유명한 형태소 분석기를 묶어 편리하게 사용할 수 있도록 되어있습니다. ○ 어떤 형태소 분석기..
[Android + NLP] Kkma형태소 분석기 안드로이드 스튜디오에서 사용하기● 형태소 분석기 한국어 처리에 있어 형태소 분석기는 매우 중요합니다. 영어의 경우 공백 기준으로 단어를 나누는 tokenize기능을 사용해도 큰 무리가 없지만, 한국어 문장에서 키워드를 추출하려면 각 단어들을 형태소 분석에 의하여 가치가 있는 명사, 동사, 조사 등을 추출해야 합니다. ○ 형태소 분석(Pos Tagging)이란? 원시말뭉치를 형태소 단위로 쪼개고 각 형태소에 품사 정보를 부착하는 작업을 가리킵니다. 많은 개발자, 데이터 분석가들이 한국어에 특화된 형태소 분석기를 만들어주었고 오픈소스로 이용할 수 있게 되었습니다. 특히 파이썬 패키지로 유명한 'KoNLPy'는 꼬꼬마, 꼬모란, 한나눔, 메캅 등의 유명한 형태소 분석기를 묶어 편리하게 사용할 수 있도록 되어있습니다. ○ 어떤 형태소 분석기..
2020.05.12 -
● 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모델로 대량의 코퍼스 사전훈련 시키기 구글이 만든 사전훈련 모델 '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 -
● KoNLPy란 KoNLPy는 한국어 정보처리를 위한 파이썬 패키지 입니다. 자연어처리(NLP)에서 형태소를 분리(형태소 단위 토크나이징)하는 데이터 전처리가 필요한데 이때 한국어 데이터 전처리를 할 때 많이 사용하는 패키지입니다. 텍스트를 형태소 단위로 분리하는 방법 중에는 1. 단어->품사 형태로 딕셔너리를 정의하고 이를 이용해 단어를 품사로 분리하는 방법. (딕셔너리가 동일해도 방법에 따라 형태소가 분리되는 결과가 다르다.) 2. 딕셔너리를 사용하지 않고 모델을 통해 학습시키는 방법. (어떤 품사인지까지 알 수 없고 문장에서 단어를 구별해내는 방법.) 이 있고 KoNLPy는 1번의 방법을 사용합니다. KoNLPy에는 총 5가지의 형태소 분석 방법을 제공하고 이는 Hannanum, Kkma, Kom..
[KoNLPy] 자연어 처리1 - KoNLPy로 데이터 전처리● KoNLPy란 KoNLPy는 한국어 정보처리를 위한 파이썬 패키지 입니다. 자연어처리(NLP)에서 형태소를 분리(형태소 단위 토크나이징)하는 데이터 전처리가 필요한데 이때 한국어 데이터 전처리를 할 때 많이 사용하는 패키지입니다. 텍스트를 형태소 단위로 분리하는 방법 중에는 1. 단어->품사 형태로 딕셔너리를 정의하고 이를 이용해 단어를 품사로 분리하는 방법. (딕셔너리가 동일해도 방법에 따라 형태소가 분리되는 결과가 다르다.) 2. 딕셔너리를 사용하지 않고 모델을 통해 학습시키는 방법. (어떤 품사인지까지 알 수 없고 문장에서 단어를 구별해내는 방법.) 이 있고 KoNLPy는 1번의 방법을 사용합니다. KoNLPy에는 총 5가지의 형태소 분석 방법을 제공하고 이는 Hannanum, Kkma, Kom..
2020.01.28