목록자연어처리 (27)
꿈 많은 사람의 이야기
포스팅 개요 본 포스팅은 파이썬(Python)을 활용한 텍스트 분석에서 사용할 수 있는 다양한 형태소 분석기(tokenizer)를 사용해 한국어 단어를 원형으로 복구, 복원해주는 원형 복원기(혹은 분석기)를 소개하려고 합니다. 기존에 어떤 훌륭하신 분께서 만들어주신 원형 복원 분석기를 사용하는데요. 이 원형 복원 분석기가 너무 오래되서 현재 파이썬 환경에선 잘 동작하지 않습니다. 따라서 본 포스팅에서는 해당 한국어 원형 복원 형태소 분석기를 활용할 수 있도록 설치하고 설정하는 과정을 소개하려고 합니다. 참고로 본 실습에 필요한 기본적인 파이썬 라이브러리는 아래와 같은 리스트가 설치되어 있어야 합니다. (Python 3.7 이상 기준입니다.) konlpy mecab hanja ( 기존에 만들어주신 한국어 ..
포스팅 개요 이번 포스팅은 최근에 제가 읽게되었던 딥러닝 분야의 자연어 처리(NLP) 논문을 읽고난 후기입니다. 어떠한 계기로 자연어처리 논문을 읽게 되었는지, 무엇을 배울 수 있었고 목표를 달성한 지금 어떤 기분인지 등을 정리하고자 합니다. 비록 보잘것 없는 경험이지만, 이 경험이 자연어처리 공부에 관심 있으신 분들에게 도움이 되었으면 좋겠습니다. 본문 내용는 본인에 대한 후기 내용이어서 ~습니다 식으로 작성하지 않고 '다, 까' 형식으로 작성하였습니다. 포스팅 본문 2020년 7월 말. 나는 하나의 결정을 하게되었다. 가뜩이나 여러가지 일로 힘든 상황이었고 바쁘기도 했지만 그래도 해야한다 라는 생각이 들었다. 그건 바로 자연어처리(Natural Language Processing; NLP) 논문 읽기..
포스팅 개요 이번 포스팅은 자연어 처리에서 최근 많이 사용하는 subword 분절 방식인 sentencepiece와 huggingface sentencepiece 사용 방법을 정리합니다. 최근에 자연어처리쪽 모델을 다룰 일이 있어서 형태소 분석기를 사용할 까 하다가 sentnecepiece를 사용해 봤는데 너무 좋은 경험이 되어서 이를 정리하고자 합니다. 제가 참고한 자료는 아래와 같습니다. github.com/google/sentencepiece google/sentencepiece Unsupervised text tokenizer for Neural Network-based text generation. - google/sentencepiece github.com github.com/huggingfa..
포스팅 목적 이번 포스팅은 Python 형태소 분석기 중 하나인 Mecab(은전한닢)에서 나오는 에러를 해결하는 방법에 대해 정리합니다. 해당 에러는 Mecab에서 사용자 사전(user dictionary)를 추가할 때 ./tools/add-userdic.sh을 실행 했을 때 나는 오류입니다. 포스팅 본문 Python으로 텍스트 데이터 특히, 자연어 처리를 할 때 형태소 분석기를 많이 사용합니다. 그리고 다양한 형태소 분석기 중 인기 있는 형태소 분석기 Mecab(은전한닢 이라고도 불리웁니다.)이 있습니다. Mecab은 속도도 빠르고, 다른 konlpy 형태소 분석기보다 정확하여 많이 사용합니다. 또한, 사용자 단어(user dictionary)를 쉽게 추가할 수 있기 때문에 매우 유용합니다. Mecab..
지난 포스팅에 seq2seq 모델을 적용시켜서 기계 번역에 대해서 알아보았습니다. 인공지능 기반 자연어 처리 번역 즉, 기계 번역(NMT)은 규칙 기반부터 확률, 통계 기반으로 시작하여 현재 딥러닝을 활용해 기계 번역을 하는 역사를 가지고 있다는 것도 배웠죠 또한, 그 중심에 seq2seq 모델이 있다는 것도 배웠습니다. 하지만 seq2seq는 한계가 있습니다. 그 한계는 바로 번역이 잘 되지 않는다는 것이죠 그래서 어텐션 메커니즘이 나오게 됩니다. Attention Mechanism은 무언가에 집중한다는 개념입니다. 이 어텐션 메커니즘의 효과는 정말 어마어마합니다. 현재 자연어처리 분야에 있어서 어텐션 메커니즘을 안쓰는 곳이 없기 때문이죠. 또한 인공지능, 딥러닝 분야에서도 핫한 기술이기도 합니다. 이..
딥러닝이 핫한 지금 영상처리 분야뿐 아니라 자연어 처리 분야도 엄청 핫합니다. 특히 일반적인 문서 분류(text classification)를 넘어서 이제 번역기나 문장 생성, 텍스트 생성에도 포커스가 맞춰지고 있죠 이번 포스팅은 seq2seq에 대해서 자세히 알아보려고 합니다. 제 블로그에 seq2seq 내용을 다루긴 했지만 이론적인 내용이 부실했었습니다. 그래서 최근 제가 모두의 연구소에서 자연어처리 기초반(NLP)을 운영하면서 진행했던 발표 자료를 가지고 다시 정리해보려고 합니다. 기계 번역의 역사부터 현재까지 어떻게 진행되는지 전반적인 내용을 보려고 합니다. 그리고 이 자료는 허훈님의 자료를 조금 참고해서 만들었었습니다. 그럼 시작하죠! 먼저 기계 번역의 역사입니다. 기계 번역의 역사는 사실 좀 ..
요즘 자연어처리 (NLP)가 정말 핫합니다 텍스트 데이터를 활용하면 다양한 가치를 찾을 수 있고 재미있는 분석이 가능하기 때문이죠 그러나 우리나라 텍스트 데이터 분석은 형태소 분석기가 많이 필요합니다 영어 같은 경우에는 띄어쓰기로만 해도 커버가 가능하지만 한글은 그게 쉽지 않기 때문이죠 왜냐하면 사람들이 띄어쓰기도 잘 하지 않을 뿐더러 맞춤법, 은어 등이 많기 때문입니다. 그래서 형태소 분석기를 많이 사용하죠 예전에 형태소 분석기 중 하나인 konlpy를 설치한 것을 포스팅했습니다.(https://lsjsj92.tistory.com/442) 또한, 카카오 형태소 분석기(khaiii) 카이라고 불리우는 것도 포스팅 했었습니다.(https://lsjsj92.tistory.com/408) 사실 저는 MeCab..
얼마전 제 블로그에 keras를 활용해서 자연어처리(NLP) 개인 프로젝트 진행한 것을 올렸습니다. https://lsjsj92.tistory.com/476 파이썬 딥러닝 기반 욕설 탐지 시스템 개발(개인 프로젝트)해보기! 이번 포스팅은 파이썬 케라스와 장고(python keras, python django)를 활용한 딥러닝 기반 욕설 탐지 시스템을 개인적으로 만들어본 후기입니다. 데이터 특성 상 욕설이 포함되어 있을 수 있습니다! 만약 읽게 되.. lsjsj92.tistory.com 해당 글입니다. 아직까지 초안 단계일 뿐이고 부족함이 많은 개발 단계입니다. 더 많은 데이터를 쌓아야하며, 여러가지 연구해야할 것들이 많습니다 지금은 비록 딥러닝으로 욕설을 탐지하지만 나아가 더 많은 것들을 탐지할 수 있는..
이번 포스팅은 파이썬 케라스와 장고(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로 만들어서 사용하기 때문..