NLP
-
한국어는 너무 어렵다. 띄어쓰기 차이, 한 글자 차이 등으로 의미가 달라진다. 많은 자연어 처리 책이나 논문등에서 영어에 대한 전처리 기법은 많지만 한국어에 대한 전처리 및 임베딩이 약했습니다. 하지만 최근에는 오픈프로젝트나 개인이 라이브러리나 오픈소스를 개발해주셔서..! 많이 좋아졌습니다. 데이터 전처리? 텍스트 데이터 관련 신경망 모델을 만들어야 한다. 일단 그러면 많은 양의 텍스트, 즉 코퍼스(Corpus)가 필요할 것이다. 크롤링이나 오픈 데이터 등을 통해 일단 얻는다. 하지만 띄어쓰기가 잘못되 있는 것도 있을 것이고, 맞춤법이 틀린 것도 있을 것이다. 이렇게 사소한 차이도 임베딩 벡터로 보면 큰 차이일 수 있기 때문에 처음에 전처리를 잘하는 것이 중요하다. 그래서 오늘은 한국어 전용 텍스트 전처..
[NLP] 자연어처리 - 한국어 전처리를 위한 기법들한국어는 너무 어렵다. 띄어쓰기 차이, 한 글자 차이 등으로 의미가 달라진다. 많은 자연어 처리 책이나 논문등에서 영어에 대한 전처리 기법은 많지만 한국어에 대한 전처리 및 임베딩이 약했습니다. 하지만 최근에는 오픈프로젝트나 개인이 라이브러리나 오픈소스를 개발해주셔서..! 많이 좋아졌습니다. 데이터 전처리? 텍스트 데이터 관련 신경망 모델을 만들어야 한다. 일단 그러면 많은 양의 텍스트, 즉 코퍼스(Corpus)가 필요할 것이다. 크롤링이나 오픈 데이터 등을 통해 일단 얻는다. 하지만 띄어쓰기가 잘못되 있는 것도 있을 것이고, 맞춤법이 틀린 것도 있을 것이다. 이렇게 사소한 차이도 임베딩 벡터로 보면 큰 차이일 수 있기 때문에 처음에 전처리를 잘하는 것이 중요하다. 그래서 오늘은 한국어 전용 텍스트 전처..
2020.10.22 -
● Embedding Methods NLP task를 수행하기 전, 단어를 벡터로 만드는 임베딩 작업을 케라스를 이용해서 하는 방법은 크게 두 가지가 있습니다. 케라스의 내장 함수인 Embedding()을 사용하기 Pre-trained word embedding 가져와서 Embedding Layer에 주입하기 1. Keras Embedding Layer 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.prepr..
[Keras] Embedding Layer에 word2vec 주입하기● Embedding Methods NLP task를 수행하기 전, 단어를 벡터로 만드는 임베딩 작업을 케라스를 이용해서 하는 방법은 크게 두 가지가 있습니다. 케라스의 내장 함수인 Embedding()을 사용하기 Pre-trained word embedding 가져와서 Embedding Layer에 주입하기 1. Keras Embedding Layer 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.prepr..
2020.02.21 -
● Word2Vec 언어 모델링을 할 때, 언어(텍스트)를 신호 공간에 매핑(숫자로)하는 부분은 필수적입니다. 이러한 전처리를 단어 임베딩(Word Embedding)이라고 하는데 자연어 처리의 가장 기초적인 단계이며 현재까지 여러 방식이 제안되어 왔습니다. 이러한 임베딩 방식에서 가장 기초적인 방법은 '원 핫 인코딩(One-hot Encoding)'인데, ['강아지', '고양이', '동물', '멍멍이', '반려견']이라는 단어집합이 있을 때, 강아지 -> 1, 멍멍이 ->4 이런식으로 단어를 숫자에 그냥 무작정 매핑하는 방식입니다. 이렇게 만들어진 원핫벡터는 단어간 의미도와 유사도 등을 전혀 반영하지 못하게 됩니다. 언어끼리의 유사도나 의미를 반영한 벡터로 언어 모델을 구성하였을 때가 텍스트 분류나 N..
[Gensim] 자연어 처리3 - Gensim의 Word2Vec으로 토픽모델링● Word2Vec 언어 모델링을 할 때, 언어(텍스트)를 신호 공간에 매핑(숫자로)하는 부분은 필수적입니다. 이러한 전처리를 단어 임베딩(Word Embedding)이라고 하는데 자연어 처리의 가장 기초적인 단계이며 현재까지 여러 방식이 제안되어 왔습니다. 이러한 임베딩 방식에서 가장 기초적인 방법은 '원 핫 인코딩(One-hot Encoding)'인데, ['강아지', '고양이', '동물', '멍멍이', '반려견']이라는 단어집합이 있을 때, 강아지 -> 1, 멍멍이 ->4 이런식으로 단어를 숫자에 그냥 무작정 매핑하는 방식입니다. 이렇게 만들어진 원핫벡터는 단어간 의미도와 유사도 등을 전혀 반영하지 못하게 됩니다. 언어끼리의 유사도나 의미를 반영한 벡터로 언어 모델을 구성하였을 때가 텍스트 분류나 N..
2020.02.17 -
NLTK는 Natural Language ToolKit의 약자로 자연어 처리 및 분석, 텍스트마이닝을 위한 파이썬 패키지 입니다. NLTK는 토큰생성, 형태소 분석, 품사태깅 등의 다양한 기능을 제공하고 예제로 활용할 수 있는 말뭉치도 제공하고 있습니다. ● NLTK 설치 저는 아나콘다 환경에서 파이썬을 사용하고 있으므로 이미 루트 가상환경에 NLTK가 설치가 되어있었습니다. KoNLPy와 다르게 별도의 설정등을 해줄 필요가 없습니다.아나콘다 내에서 가상환경을 따로 만들어 설치를 해줄시엔 해당 가상환경 activate 후에 > conda install nltk] > conda update nltk 위 명령어를 입력하여 설치해주면 됩니다. 하지만 예제를 수행하면 여러 에러 메세지들을 볼 수 있습니다. 예를..
[NLTK] 자연어 처리2 - NLTK로 데이터 탐색NLTK는 Natural Language ToolKit의 약자로 자연어 처리 및 분석, 텍스트마이닝을 위한 파이썬 패키지 입니다. NLTK는 토큰생성, 형태소 분석, 품사태깅 등의 다양한 기능을 제공하고 예제로 활용할 수 있는 말뭉치도 제공하고 있습니다. ● NLTK 설치 저는 아나콘다 환경에서 파이썬을 사용하고 있으므로 이미 루트 가상환경에 NLTK가 설치가 되어있었습니다. KoNLPy와 다르게 별도의 설정등을 해줄 필요가 없습니다.아나콘다 내에서 가상환경을 따로 만들어 설치를 해줄시엔 해당 가상환경 activate 후에 > conda install nltk] > conda update nltk 위 명령어를 입력하여 설치해주면 됩니다. 하지만 예제를 수행하면 여러 에러 메세지들을 볼 수 있습니다. 예를..
2020.01.31