목록자연어처리 (31)
꿈 많은 사람의 이야기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPp0vH/btqwmuKkuTt/ozrlmaDk2exZWfVbbSJbZk/img.png)
요즘 자연어처리 (NLP)가 정말 핫합니다 텍스트 데이터를 활용하면 다양한 가치를 찾을 수 있고 재미있는 분석이 가능하기 때문이죠 그러나 우리나라 텍스트 데이터 분석은 형태소 분석기가 많이 필요합니다 영어 같은 경우에는 띄어쓰기로만 해도 커버가 가능하지만 한글은 그게 쉽지 않기 때문이죠 왜냐하면 사람들이 띄어쓰기도 잘 하지 않을 뿐더러 맞춤법, 은어 등이 많기 때문입니다. 그래서 형태소 분석기를 많이 사용하죠 예전에 형태소 분석기 중 하나인 konlpy를 설치한 것을 포스팅했습니다.(https://lsjsj92.tistory.com/442) 또한, 카카오 형태소 분석기(khaiii) 카이라고 불리우는 것도 포스팅 했었습니다.(https://lsjsj92.tistory.com/408) 사실 저는 MeCab..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/RMaGa/btqvwmzY6mc/mGgz12R7LPbtxvhApGce01/img.png)
얼마전 제 블로그에 keras를 활용해서 자연어처리(NLP) 개인 프로젝트 진행한 것을 올렸습니다. https://lsjsj92.tistory.com/476 파이썬 딥러닝 기반 욕설 탐지 시스템 개발(개인 프로젝트)해보기! 이번 포스팅은 파이썬 케라스와 장고(python keras, python django)를 활용한 딥러닝 기반 욕설 탐지 시스템을 개인적으로 만들어본 후기입니다. 데이터 특성 상 욕설이 포함되어 있을 수 있습니다! 만약 읽게 되.. lsjsj92.tistory.com 해당 글입니다. 아직까지 초안 단계일 뿐이고 부족함이 많은 개발 단계입니다. 더 많은 데이터를 쌓아야하며, 여러가지 연구해야할 것들이 많습니다 지금은 비록 딥러닝으로 욕설을 탐지하지만 나아가 더 많은 것들을 탐지할 수 있는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cI68Q9/btqvjMrizU1/0sDxgT0VO1IXL8FJN7KG7k/img.png)
이번 포스팅은 파이썬 케라스와 장고(python keras, python django)를 활용한 딥러닝 기반 욕설 탐지 시스템을 개인적으로 만들어본 후기입니다. 데이터 특성 상 욕설이 포함되어 있을 수 있습니다! 만약 읽게 되신다면 감안 부탁드립니다 ㅠㅠ 프로젝트를 어쩌다가 하게 되었나? 어느 날 한 프로게이머가 은퇴했습니다. 제가 정말 좋아하는 프로게이머였고 리그오브레전드(롤) 선수였습니다. 유튜브도 유명한 프로게이머입니다. 프레이, 프짱이라고 불리우는 선수였죠 사실 은퇴 전에 이번 시즌을 쉰다고 했을 때도 복귀할 것이라 생각했습니다. 하지만 자신감을 잃었다고 하고 은퇴를 선언했죠. 쉬는 기간에 챌린저도 가볍게 찍었던 그 였습니다. 왜 그런 그가 자신감이 없다고 했을까? 어느 댓글을 보니 이런 글이 있..
이전에 캐글(kaggle) nlp인 toxic 데이터를 가지고 필사를 했습니다https://lsjsj92.tistory.com/448 이번에도 마찬가지로 toxic 데이터를 가지고 캐글 커널을 필사합니다.기존에 했던 것과 같습니다. 하지만 어텐션 메커니즘이 추가된 코드이고 glove 데이터를 이용해서 모델 weight를 제공해줍니다.특히 glove 데이터를 추가해서 word embedding을 하는 방법은 정말 많이 사용해서 이번 기회에 정리하고자 합니다. 언제나 그렇듯이 필요한 라이브러리르 불러옵니다keras를 사용했고 모델과 전처리에 필요한 Tokenizer 및 LSTM, Embedding, Dropout 등을 가지고 옵니다그리고 이번 모델에서는 Attention을 class로 만들어서 사용하기 때문..
자연어 처리에서 공부를 하다보면 어텐션 메커니즘에 대해서 많이 듣게 됩니다아무래도 구글에서 발표한 attention is all you need의 transformer에서도self-attention(셀프 어텐션)을 사용하고기존의 LSTM(RNN)과 seq2seq 문제를 극복하기 위해서 많이 사용되기 때문에 계속 듣게 됩니다 어텐션(attention)에 대해서 공부를 하려면 먼저 저 메커니즘에 대해서 알아야겠죠그래서 이번 포스팅은 어텐션 메커니즘(attention machanism)에 대해서 정리합니다. 어텐션은 영상 처리쪽에서도 많이 사용됩니다.아마 CS231n 강의 같은 것을 보셨으면 아래 사진을 보셨을 겁니다. 대충 느낌 오시죠? 이것은 인간의 시각적 집중(visual attention) 현상을 구현..
본인은 딥러닝에 관심이 많다. 뭐 이론은 잘 모르지만 코드를 작성하고 뭔가 내 아이디어를 딥러닝에 접목시키고그리고 만들어내는 것이 너무 재밌기 때문그 중에서도 자연어 처리가 정말 재밌다.영상 처리는.. 개인 PC로는 너무 무리가 있다. 데이터도 그렇고 메모리 측면에서도 그렇고 ㅠㅠ 그러다가 일이 바빠서 한 동안 딥러닝을 못했었다.그리고 최근 회사가 안좋은 일이 생겨 어쩔 수 없이 강제로 쉬게 되었는데 마침 예약 주문한 책이 왔다 '텐서플로와 머신러닝으로 시작하는 자연어 처리'로지스틱 회귀부터 트랜스포머 챗봇까지전창욱, 최태균, 조중현님이 지으셨다. 전창욱님은 모두의 연구소에서 강연하는 것 한 번 봤었는데정말 잘하시더라.. 뭐 아무튼 나는 자연어 처리를 공부를 하다가 어느샌가 LSTM까지 공부하고 막혔었다..
이번 커널 필사편은 자연어 처리 부분입니다.당분간은 자연어 처리 위주로 글을 올릴 예정입니다캐글에 있는 자연어 처리 데이터 중 쉬운 편에 속하는 스팸(sparm or ham) 데이터를 가지고 해당 글이 스팸인지 아닌지를 딥러닝으로 처리해보겠습니다.https://www.kaggle.com/uciml/sms-spam-collection-dataset캐글 데이터는 여기서 구할 수 있습니다! 먼저 필요한 라이브러리를 불러옵니다파이썬의 판다스(pandas), numpy와 그래프를 그릴 matplotlib, seaborn을 불러옵니다.그리고 머신러닝 라이브러리 scikit learn(사이킷런)과 딥러닝 라이브러리인 keras(케라스)를 불러옵니다 데이터는 v1, v2 컬럼으로 각각 라벨, 문장으로 되어있습니다.하지..
파이썬으로 딥러닝을 해봅시다!이번 포스팅은 파이썬(python)의 케라스(keras) 딥러닝 라이브러리를 이용해서자연어 처리(NLP)를 해봅니다. 데이터는 네이버 영화 평점 데이터를 활용합니다.사실 이 딥러닝을 한지는 꽤 되었습니다.모두의 연구소에서 진행한 모두콘(moducon)때에 자연어 처리 대회가 있었는데요그때 참여했던 소스입니다. 당시는 3등을 했습니다(정확도가 별로 높지는 않지만..)1, 2등 분들의 코드나, 아이디어를 얻고 싶어서 모두연에 요청도 했는데 ㅠ끝내는 받지 못했네요 ㅠㅠ아무튼 저는 아래와 같은 방식으로 자연어 처리 딥러닝을 진행했습니다. 먼저 형태소 분석기가 인식하지 못할 단어를 모아서 구축했습니다.자연어 처리에서 형태소 분석기는 자주 사용하는데요저는 은전한닢(mecab)을 자주 사..
자연어 처리를 공부하면서 읽는 책(https://wikibook.co.kr/nlp/) 내용중에 유사도에 대해서 나온 내용이 있어 해당 내용과 더불어 각종 자료를 찾아 정리합니다. 유사도는 문장이 유사한지 측정해야 할 때 사용합니다. 텍스트 유사도에서 사용되는 것입니다. 자주 쓰이는 유사도 자카드 유사도 유클리디언 유사도 맨하탄 유사도 코사인 유사도 가 있습니다. 유클리디언은 유클리디안 거리(Euclidean Distance)을 이용하고 맨하탄 유사도는 맨하탄 거리(Manhattan Distance)를 이용하는 등의 특징이 있죠 하나씩 정리를 해봅니다 1. 자카드 유사도 자카드 유사도(자카드 지수)는 두 문장을 각각 단어의 집합으로 마든 뒤 두 집합을 통해 유사도를 측정하는 방식 중 하나입니다. 측정하는 ..
안녕하세요! 요즘 날씨가 갑자기 추워졌네요. 건강 조심하세요 지난 주에 카카오 형태소 분석기(khaiii)설치 및 은전한닢(mecab)과 비교를 했었습니다.https://lsjsj92.tistory.com/408궁금하신 분들은 해당 글 보시면 되겠습니다. 이 글을 올리고 나서 몇몇 분들이 이런 말씀을 해주셨습니다.'실제 데이터셋 성능 비교'와 '실행 시간 비교'를 해달라고 요청이 조금 있었습니다.(아무래도 NLP, 자연어 처리에서는 성능이 중요하니까요)그래서 이번 포스팅은 실제 데이터셋 성능 비교를 할 것입니다.LSTM 모델을 기반으로 문서 카테고리 분류를 해볼 것입니다. 또한, 형태소 분석기를 돌리면서 성능 시간도 측정해봅니다.(시간상 mecab과 비교뿐이 못했습니다.) 데이터셋은 몇개 못했습니다. 저..