[nlp] 자연어처리에서 숫자를 학습시킬 수 있을까?
·
데이터 과학 Data Science/자연어처리 NLP
오늘도 사수 없이 혼자 하는 자연어처리 공부.. 심오한 고민에 빠졌다 자연어처리에서 숫자가 중요한 의미를 가지는 경우에 숫자를 학습 대상에 넣을 수 있을까? 보통 문장을 학습시켜 감성이나 주제를 분류하는 경우 숫자는 불용어처리를 하고 제거한 후 문자만을 토큰화해 학습시키는게 일반적인 방법 같다. 그런데, 숫자가 중요한 의미를 가져 학습 대상이 되는 경우에는 어떻게 해야 할까.. 인터넷을 뒤져도 마음에 드는 해답이 나오지 않아 써 보는 글! 일단 내가 하고자 하는 task 를 간단히 설명하자면, 나는 카페 메뉴 분류를 하고싶다. 메뉴명과 price 를 보고 그게 음료인지, 식품인지, 추가메뉴인지 분류하는 작업을 해보려고 한다. 요렇게 생긴 데이터에 fasttext 모델을 썼다. (요건 지난 게시글을 참조하..
[nlp] Glove 써보기 (세상에서 제일 쉬운 설명)
·
데이터 과학 Data Science/자연어처리 NLP
* 이 글은 태생이 문과생인 글쓴이 본인을 이해시키기 위해 초등학생도 이해할 수 있는 쉬운 언어로 바꾸어 작성했습니다. 혹시라도 틀린 부분이 있다면 저보다 멋지신 많은 디지털 노마드님들의 조언 또는 지적 감사히 받겠습니다 오늘은 단어를 벡터화하는 임베딩 방법론 중 하나인 Glove 에 대해 알아보겠다. 1. 등장 배경 (word2vec 너 좀 별로다) 우선 Glove 는 Word2vec, Fasttext 와 함께 임베딩 방법론의 삼대장으로 자주 거론되는 라이브러리라고 한다. 세 가지 방법론은 각기 다르나 핵심적인 원리는 비슷하다. 임베딩 방식의 이 nlp 방법론들을 공부하는 사람이라면, "CBOW" 와 "skip-gram" 정도는 들어봤을 것이다. CBOW 는 어떤 문장의 중심 단어를 보고 주변 단어를 ..
[NLP] Fasttext 한국어에서 써보고 하이퍼파라미터 튜닝까지!
·
데이터 과학 Data Science/자연어처리 NLP
필자는 지금 다음 주 나갈 대회 준비를 위해 여러가지 자연어 분류기 알고리즘들을 공부중이다. 사실 오늘 소개할 fasttext 라는 알고리즘 역시 딥러닝 알고리즘이기 때문에 그 안에 있는 복잡한 수식이나 원리는 강의를 들어도... 뭔 말인지.. 잘 이해가 안 가는 것 같다.. 이론에 대한 내용은 다른 블로거들을 참고하시고! 나는 내가 이해되는 수준에서 쉽고 간단하게 원리를 설명해 보고, 사용했던 모듈들과 소스코드를 집중적으로 공유하겠다 1. 모델 원리 (안 궁금하면 넘어가셔도 됩니다..) 우선 Fasttext 는 Word2Vec 의 확장판 모델이라고 생각하면 편하다. Fasttext 를 이해하기 위해 Word2vec 을 먼저 설명하자면, Word2vec 은 주변 단어를 예측하는 과정에서 적절한 단어를 압..
[nlp] subword 분절
·
데이터 과학 Data Science/자연어처리 NLP
단어에서 subword 란 말 그대로 더 작은 단위의 의미들이다. 예를 들어 "집중" 이라는 한글 단어는 모은다는 뜻이 있는 "집" 그리고 가운데를 뜻하는 "중" 으로 이루어져 있다. 영어의 경우도 Concentrate 는 con/centr/ate 의 세 가지 뜻으로 구성된 단어들이 대부분이다. 따라서 이런 작은 의미 단위로 분절할 수 있다면 학습이 더 유리해지나, 이를 위해서는 subword 를 나눠둔 사전이 필요하다. 오늘은 이 subword 사전을 만들어내기 위한 여러가지 방법들을 알아보고, 간단한 실습을 해보도록 하겠다. 1. Byte Pair Encoding 알고리즘 압축 알고리즘? 이라고 불리는 이 알고리즘은 subword 사전을 생성해내는 알고리즘이다. 학습 코퍼스를 활용해 모델을 학습시킨 ..
허니비 honeybee
'데이터 과학 Data Science/자연어처리 NLP' 카테고리의 글 목록