목록Keras (27)
꿈 많은 사람의 이야기
어제 텐서플로와 머신러닝으로 시작하는 자연어 처리 책을 보면서 sequence-to-sequence 모델을 공부했습니다.챗봇을 만들 때 사용하던 모델이었는데 과연 케라스(keras)에서는 어떻게 사용되는지 궁금해서 공부를 했고지금 정리를 하려고 합니다. 이 자료는 케라스 코리아 운영자이신 김태영님의 블로그를 많이 참고했습니다!https://tykimos.github.io/2018/09/14/ten-minute_introduction_to_sequence-to-sequence_learning_in_Keras/ 기계번역(NMT, Neural Machine Translation)에서 많이 쓰이는 seq2seq 모델은 작성된 소스 문장들(source sentences)을 인코더(Encoder)를 이용해서 생각 ..
이번 커널 필사편은 7주차 이후로 또 다시 자연어 처리 편입니다이 커널은 toxic 이라는 데이터로 알려져 있는데요. 캐글에서 자연어 처리(nlp) 데이터 셋으로 많이 유명합니다.일종의 분류 문제입니다. 하지만 label이 1개가 아닌 6개를 가진 특이한 데이터 구조입니다 처음 캐글을 시작할 때 타이타닉 다음으로 이 데이터 셋으로 했었는데..당시에는 아무것도 모를 때라 그냥 너무 어렵다.. 하고 포기했었는데요처음 봤을 때보다 지금이 7개월 정도 흘렀는데 이젠 좀 눈에 보이네요 ㅎㅎ 필사를 하면서 이해가 되더군요제가 그 만큼 공부를 했다는 거겠죠 ㅎㅎ 바로 진행합니다 역시 처음에 필요한 라이브러리를 가져와줍니다keras, matplotlib, seaborn, pandas, numpy 등을 가져와줍니다lay..
이번 커널 필사편은 자연어 처리 부분입니다.당분간은 자연어 처리 위주로 글을 올릴 예정입니다캐글에 있는 자연어 처리 데이터 중 쉬운 편에 속하는 스팸(sparm or ham) 데이터를 가지고 해당 글이 스팸인지 아닌지를 딥러닝으로 처리해보겠습니다.https://www.kaggle.com/uciml/sms-spam-collection-dataset캐글 데이터는 여기서 구할 수 있습니다! 먼저 필요한 라이브러리를 불러옵니다파이썬의 판다스(pandas), numpy와 그래프를 그릴 matplotlib, seaborn을 불러옵니다.그리고 머신러닝 라이브러리 scikit learn(사이킷런)과 딥러닝 라이브러리인 keras(케라스)를 불러옵니다 데이터는 v1, v2 컬럼으로 각각 라벨, 문장으로 되어있습니다.하지..
최근에 텐서플로우로 배우는 자연어 처리 책을 보고 있습니다 평소에는 케라스(keras)만 위주로 써서 이 책의 내용의 코드와 잘 맞지 않는 부분이 있는데요이 책도 텐서플로우 안에 있는 keras 모듈을 사용하기는 합니다.tf.keras.layer 등을 사용하고 때에 따라서 tf.nn.rnn 등을 사용하기도 합니다. 하지만 완전 순수 keras 라이브러리와는 좀 사용법이 다르네요그 중 하나가 저는 model summary 부분이 정말 궁금했습니다. 케라스에서는 그냥 model.summary()를 하면 모델 요약이 나왔었는데요!tf.keras를 사용하다보니까 사용 방법이 좀 달랐습니다 model을 요약(summary)해서 shape 등의 정보를 볼 수 있는 방법을 소개합니다(tensorflow model s..
파이썬으로 딥러닝을 해봅시다!이번 포스팅은 파이썬(python)의 케라스(keras) 딥러닝 라이브러리를 이용해서자연어 처리(NLP)를 해봅니다. 데이터는 네이버 영화 평점 데이터를 활용합니다.사실 이 딥러닝을 한지는 꽤 되었습니다.모두의 연구소에서 진행한 모두콘(moducon)때에 자연어 처리 대회가 있었는데요그때 참여했던 소스입니다. 당시는 3등을 했습니다(정확도가 별로 높지는 않지만..)1, 2등 분들의 코드나, 아이디어를 얻고 싶어서 모두연에 요청도 했는데 ㅠ끝내는 받지 못했네요 ㅠㅠ아무튼 저는 아래와 같은 방식으로 자연어 처리 딥러닝을 진행했습니다. 먼저 형태소 분석기가 인식하지 못할 단어를 모아서 구축했습니다.자연어 처리에서 형태소 분석기는 자주 사용하는데요저는 은전한닢(mecab)을 자주 사..
연말이 다가 오면서 목표했던 것들이 서서히 다 끝나간다.특히 최근에는 회사 일 때문에 딥러닝 공부를 아예 못하고 있는데개인적으로는 너무너무 딥러닝이 하고싶었다. 그래서 최근에 나혼 케라스 창시자에게 배우는 딥러닝 이라는 책을 샀다.프랑소와 숄레가 지었고 박해선님이 옮겨주셨다. 개인적으로 공부할 시간이 없었다. 맨날 야근해서 공부하고, 주말엔 모두의 연구소 스터디도 가고 그거 정리하고 하면 그냥 한 주가 끝났다.근데 너무 딥러닝이 하고 싶었다. 이미 뒤쳐지고 있는데 더 뒤쳐지기가 무서웠기 때문이다. 그래서 결심한 것이 새벽 5시 기상 후 공부!이다. 나는 이 책을 새벽 5시에 일어나서 출근 준비 전까지 1시간 30분 정도 공부했다.이걸 2주동안 반복하니까 책을 한 번 다 읽게 되었다.(물론 코드는 못쳐보고..
안녕하세요! 요즘 날씨가 갑자기 추워졌네요. 건강 조심하세요 지난 주에 카카오 형태소 분석기(khaiii)설치 및 은전한닢(mecab)과 비교를 했었습니다.https://lsjsj92.tistory.com/408궁금하신 분들은 해당 글 보시면 되겠습니다. 이 글을 올리고 나서 몇몇 분들이 이런 말씀을 해주셨습니다.'실제 데이터셋 성능 비교'와 '실행 시간 비교'를 해달라고 요청이 조금 있었습니다.(아무래도 NLP, 자연어 처리에서는 성능이 중요하니까요)그래서 이번 포스팅은 실제 데이터셋 성능 비교를 할 것입니다.LSTM 모델을 기반으로 문서 카테고리 분류를 해볼 것입니다. 또한, 형태소 분석기를 돌리면서 성능 시간도 측정해봅니다.(시간상 mecab과 비교뿐이 못했습니다.) 데이터셋은 몇개 못했습니다. 저..
파이썬으로 케라스(keras)글을 오랜만에 올립니다.그 동안 공부도 많이 못했고(일을 핑계 삼아..) 여태 공부했던 것들 정리하고 좀 다지는 시간을 가졌습니다. 그리고 개인적으로 관심이 있는 자연어처리(NLP)쪽 프로젝트를 딥러닝 기반으로 개인 프로젝트 식으로 진행했습니다. 주제는 뉴스 카테고리 분류 및 핵심 키워드 추출과 연관 단어 분석입니다.일종의 news category classification 입니다. 여기에 word2vec와 tf-idf를 섞은 것이죠.뭔가 말이 거창하네요. 쓰여진 알고리즘은 다음과 같습니다LSTM(Long Short Term Memory) RNN의 종류Word2vec 단어를 벡터화Tf-idf 문서의 핵심 키워드 추출Logistic regression 사이킷런(scikit-le..
그저께 금요일. 정신없던 오전 일정을 마치고 잠시 점심시간까지 쉴 겸 텐서플로우 코리아 페이스북을 들어갔다근데 갑자기 눈에 확 보이는 소식! IT쪽에서는 농담반 진담반으로 갓카오라고 불리우는 카카오에서 딥러닝 기반 형태소 분석기가 나왔다고 한 소식이었다!헐 이게 뭐지 싶었다.기존에는 보통 konlpy나 nltk를 많이 사용했는데(본인은 mecab, 은전한닢을 자주 사용) 딥러닝 기반 형태소 분석기라니!그래서 좀 시간이 비는 일요일에 해봐야겠다~ 라고 생각하고 있었다.블로그에 올려야하나 말아야 하나 고민도 했는데 마침 케라스 코리아에서 이 주제에서 얘기 하다보니까 공유해달라는 말씀이 있으셔서 이렇게 블로그에 적어본다. (참고로 저는 초보자입니다.. 자연어처리와 딥러닝은 독학으로 시간 날 때 공부하고 있구요..
해당 코드는 이 깃허브에 존재합니다. (https://github.com/lsjsj92/keras_basic) ------------ 요즘 딥러닝이 완전 핫합니다! 이미지 인식, 영상처리 문장 처리 등 많은 분야에서 사용되고 있는데요 이번 포스팅은 그 중에서 이미지 인식을 해봅니다 어떤 이미지 인식이냐구요? 바로 강아지 품종(종류)를 인식해보는 것입니다! 포메라니안, 불독, 시바, 허스키 등 강아지 종류를 한 번 예측해보죠 언어는 당연히 파이썬을 썼습니다. 라이브러리는 텐서플로 backend를 이용해 케라스(keras)를 사용했습니다. 즉 케라스로 CNN 네트워크를 구성해 훈련해봅니다 먼저 훈련 자료가 필요하겠죠?? 훈련 자료는 크롤링을 해서 가지고 왔습니다. 강아지 종류별로 폴더를 만들었는데요 종류는 ..