SlideShare a Scribd company logo
1 of 24
Download to read offline
한국어자연어처리101
Korean Natural Language Processing
Korean NLP Basic
POS Tagging
N‑gram model
Natural Language Processing
Discrete Representation
Bag of Words (TF‑IDF)
Word Embedding (Word2Vec)
Topic Modeling (LDA)
Text Classification & Clustering
한국어자연어처리기초‑ 형태소분석및품사태깅
형태소분석이란형태소를비롯하여, 어근, 접두사/접미사, 품사(POS,
part‑of‑speech) 등다양한언어적속성의구조를파악하는것
Mecab, Twitter, Komoran, Hannanum 등
사용할패키지
R은KoNLP (https://github.com/haven‑jeon/KoNLP)
Python은KoNLPy (https://github.com/konlpy/konlpy)
명사만뽑을수도있고,
트위터형태소분석기는'ㅋㅋㅋ' 까지처리할수있다
N‑gram Model
문자열을N 만큼쪼개어이어붙이는방법
기존의input보다좋은성능을내는경우가 많다.
Word Representation
비정형텍스트데이터로부터의미있는정보를추출해내고 싶다.
결국 컴퓨터가 단어의의미를이해하도록해야한다.
하지만, 컴퓨터는사람의언어를이해하지못한다.
컴퓨터는문자를단지유니코드의조합으로인식할뿐,
두단어의의미적차이를모른다!
어떻게 처리해야컴퓨터가 사람의언어를이해할수있을까?
WordNet
수년간 노력한집단지성의결과물(아주거대한트리구조)
Discrete Representation
하지만위와같은방식에는다음과 같은문제들이있다.
주관적이며, 많은노동력이필요함
동의어, 반의어등에대한처리가 부족(similarity)
언어는문맥에따라의미가 달라지는데그 부분이반영이안됨
Bag of Words Representation
그렇다면, 단어를숫자(벡터)로표현해보자
봄= 1, 여름= 2 : 그럼여름이봄의2배인가?
One‑Hot Encoding
봄, 여름, 가을, 겨울이라는단어가 있으면,
봄= [1, 0, 0, 0]
여름= [0, 1, 0, 0]
가을= [0, 0, 1, 0]
겨울= [0, 0, 0, 1]
이렇게 matrix로나타내는방법, 문제는?
봄과 여름에AND 연산을해보자, 무조건 0이나온다
즉, 연관성(유사도)을계산할수없다.
Distributional similarity based representations
그렇다면, 단어의앞과 뒤의정보를통해단어의의미를파악해보자
예를들면, banking 이라는단어를표현할때, 단어의왼쪽과 오른쪽으로부터
banking이라는단어의정보를얻는다. (debt, crieses...)
하지만이방법은차원수가 엄청나게 커진다(sparcity)
Low Dimensional Vectors ‑ SVD
가장핵심적인정보들을저차원의벡터로저장하는방법!
하지만, 계산비용이아주높다는단점이있다
Word2Vec
Word2Vec Models
다시돌아와서,
문서에서의미있는정보를추출하려면어떻게 해야할까?
TF‑IDF Vectorizer
Term Frequency‑Inverse Document Frequency
역문서빈도: 단어가 문서집합내에서얼마나자주등장하는지
전체문서에서자주발생하는단어의중요도는오히려낮춘다(ex 그, 그녀)
한문서에서많이나타나는단어의중요도는높인다(ex 탄핵, 수사)
Topic Modeling
Latent Dirichlet Allocation
주어진문서에대하여각 문서에어떤주제들이존재하는지에대한확률모형
미리알고 있는주제별단어수분포를바탕으로,
주어진문서에서발견된단어수분포를분석
해당문서가 어떤주제들을함께다루고 있을지를예측할수있음
Latent Dirichlet Allocation
한국어LDA를돌릴때는명사와동사원형만넣고 사용한다
이외에도NMF와같이Matrix Factorization을응용한방법이있다
Text Classification & Clustering
그냥하던대로하면된다, 다만input만다르게
Naive Bayes Classifier
Support Vector Machine
K‑Means Clustering
Neural Network
Ex) News Clustering
input을Word2Vec으로넣을경우,
cosine distance를계산하는클러스터링알고리즘으로수정해야한다
정리
이외에도감성분석(Sentiment Analysis) ,
기계번역(Neural Translation ‑ RNN, LSTM, Seq2Seq) 등이있다
언제까지나숫자놀음에만족할수는없다
추천알고리즘, 챗봇등다양한영역에서활용가능
특히심리학/사회과학영역에결합되면아주막강한힘이생긴다
슬라이드에적용된자연어처리예시코드는
https://github.com/Swalloow/Korean‑NLP 에서확인
학습자료
https://www.coursera.org/learn/natural‑language‑processing/
http://cs224d.stanford.edu/syllabus.html
NIPS 학회튜토리얼세션

More Related Content

What's hot

Nlp and perl - The old memory
Nlp and perl - The old memoryNlp and perl - The old memory
Nlp and perl - The old memoryJun Hong Kim
 
Warnikchow - Babeltop 1901
Warnikchow - Babeltop 1901Warnikchow - Babeltop 1901
Warnikchow - Babeltop 1901WarNik Chow
 
기계번역과 통계기반 자연어 처리
기계번역과 통계기반 자연어 처리기계번역과 통계기반 자연어 처리
기계번역과 통계기반 자연어 처리Seonbae Kim
 
GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역Byeong il Ko
 
Introduction to Natural Language Processing
Introduction to Natural Language ProcessingIntroduction to Natural Language Processing
Introduction to Natural Language ProcessingEunGi Hong
 
CoreDot TechSeminar 2018 - Session3 Doh Seungheon
CoreDot TechSeminar 2018 - Session3 Doh SeungheonCoreDot TechSeminar 2018 - Session3 Doh Seungheon
CoreDot TechSeminar 2018 - Session3 Doh SeungheonCore.Today
 
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?ssuseraf7587
 
문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine TranslationNAVER LABS
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Taekyung Han
 
3주차 language
3주차 language3주차 language
3주차 language준혁 이
 
Deview2013 naver labs_nsmt_외부공개버전_김준석
Deview2013 naver labs_nsmt_외부공개버전_김준석Deview2013 naver labs_nsmt_외부공개버전_김준석
Deview2013 naver labs_nsmt_외부공개버전_김준석NAVER D2
 
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...taeseon ryu
 
Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역NAVER LABS
 

What's hot (19)

Nlp and perl - The old memory
Nlp and perl - The old memoryNlp and perl - The old memory
Nlp and perl - The old memory
 
Warnikchow - Babeltop 1901
Warnikchow - Babeltop 1901Warnikchow - Babeltop 1901
Warnikchow - Babeltop 1901
 
기계번역과 통계기반 자연어 처리
기계번역과 통계기반 자연어 처리기계번역과 통계기반 자연어 처리
기계번역과 통계기반 자연어 처리
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
 
서울 R&D 캠퍼스 자연어 수업자료
서울 R&D 캠퍼스 자연어 수업자료서울 R&D 캠퍼스 자연어 수업자료
서울 R&D 캠퍼스 자연어 수업자료
 
파이썬과 자연어 1 | Word Cloud
파이썬과 자연어 1 | Word Cloud파이썬과 자연어 1 | Word Cloud
파이썬과 자연어 1 | Word Cloud
 
GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역
 
Introduction to Natural Language Processing
Introduction to Natural Language ProcessingIntroduction to Natural Language Processing
Introduction to Natural Language Processing
 
CoreDot TechSeminar 2018 - Session3 Doh Seungheon
CoreDot TechSeminar 2018 - Session3 Doh SeungheonCoreDot TechSeminar 2018 - Session3 Doh Seungheon
CoreDot TechSeminar 2018 - Session3 Doh Seungheon
 
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
 
문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차
 
메이크챗봇 자연어기초
메이크챗봇 자연어기초메이크챗봇 자연어기초
메이크챗봇 자연어기초
 
3주차 language
3주차 language3주차 language
3주차 language
 
파이썬을 활용한 자연어 분석 - 2차
파이썬을 활용한 자연어 분석 - 2차파이썬을 활용한 자연어 분석 - 2차
파이썬을 활용한 자연어 분석 - 2차
 
Deview2013 naver labs_nsmt_외부공개버전_김준석
Deview2013 naver labs_nsmt_외부공개버전_김준석Deview2013 naver labs_nsmt_외부공개버전_김준석
Deview2013 naver labs_nsmt_외부공개버전_김준석
 
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
 
컴퓨터개론05
컴퓨터개론05컴퓨터개론05
컴퓨터개론05
 
Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역
 

Similar to 한국어 자연어처리 101

생초보를 위한 한글 형태소 분석하기
생초보를 위한 한글 형태소 분석하기생초보를 위한 한글 형태소 분석하기
생초보를 위한 한글 형태소 분석하기흥래 김
 
[NUGU Conference 2018] 세션 B-3.2 : 지식기술 소개 2
[NUGU Conference 2018] 세션 B-3.2 : 지식기술 소개 2[NUGU Conference 2018] 세션 B-3.2 : 지식기술 소개 2
[NUGU Conference 2018] 세션 B-3.2 : 지식기술 소개 2NUGU developers
 
자연어처리 소개
자연어처리 소개자연어처리 소개
자연어처리 소개Jin wook
 
한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용r-kor
 
Python machine learning_chap06_1
Python machine learning_chap06_1Python machine learning_chap06_1
Python machine learning_chap06_1PartPrime
 
Python machine learning Chapter 06 - PART1
Python machine learning Chapter 06 - PART1Python machine learning Chapter 06 - PART1
Python machine learning Chapter 06 - PART1Young Oh Jeong
 
[NUGU Conference 2018] 세션 B-1 : 음성인식 기술 및 응용 사례
[NUGU Conference 2018] 세션 B-1 : 음성인식 기술 및 응용 사례[NUGU Conference 2018] 세션 B-1 : 음성인식 기술 및 응용 사례
[NUGU Conference 2018] 세션 B-1 : 음성인식 기술 및 응용 사례NUGU developers
 

Similar to 한국어 자연어처리 101 (8)

생초보를 위한 한글 형태소 분석하기
생초보를 위한 한글 형태소 분석하기생초보를 위한 한글 형태소 분석하기
생초보를 위한 한글 형태소 분석하기
 
[NUGU Conference 2018] 세션 B-3.2 : 지식기술 소개 2
[NUGU Conference 2018] 세션 B-3.2 : 지식기술 소개 2[NUGU Conference 2018] 세션 B-3.2 : 지식기술 소개 2
[NUGU Conference 2018] 세션 B-3.2 : 지식기술 소개 2
 
자연어처리 소개
자연어처리 소개자연어처리 소개
자연어처리 소개
 
한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용
 
Pycon Korea 2020
Pycon Korea 2020 Pycon Korea 2020
Pycon Korea 2020
 
Python machine learning_chap06_1
Python machine learning_chap06_1Python machine learning_chap06_1
Python machine learning_chap06_1
 
Python machine learning Chapter 06 - PART1
Python machine learning Chapter 06 - PART1Python machine learning Chapter 06 - PART1
Python machine learning Chapter 06 - PART1
 
[NUGU Conference 2018] 세션 B-1 : 음성인식 기술 및 응용 사례
[NUGU Conference 2018] 세션 B-1 : 음성인식 기술 및 응용 사례[NUGU Conference 2018] 세션 B-1 : 음성인식 기술 및 응용 사례
[NUGU Conference 2018] 세션 B-1 : 음성인식 기술 및 응용 사례
 

More from Junyoung Park

Quantitive Algorithm Trading
Quantitive Algorithm TradingQuantitive Algorithm Trading
Quantitive Algorithm TradingJunyoung Park
 
Common Design for Distributed Machine Learning
Common Design for Distributed Machine LearningCommon Design for Distributed Machine Learning
Common Design for Distributed Machine LearningJunyoung Park
 
Kaggle KKBox Churn Prediction
Kaggle KKBox Churn PredictionKaggle KKBox Churn Prediction
Kaggle KKBox Churn PredictionJunyoung Park
 
Cloudera & Zookeeper
Cloudera & ZookeeperCloudera & Zookeeper
Cloudera & ZookeeperJunyoung Park
 
Continuous Integration with Gitlab
Continuous Integration with GitlabContinuous Integration with Gitlab
Continuous Integration with GitlabJunyoung Park
 
Python Testing for Flask
Python Testing for FlaskPython Testing for Flask
Python Testing for FlaskJunyoung Park
 
News clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingNews clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingJunyoung Park
 
Clustering, k means algorithm
Clustering, k means algorithmClustering, k means algorithm
Clustering, k means algorithmJunyoung Park
 
About Neural Network
About Neural NetworkAbout Neural Network
About Neural NetworkJunyoung Park
 

More from Junyoung Park (14)

Quantitive Algorithm Trading
Quantitive Algorithm TradingQuantitive Algorithm Trading
Quantitive Algorithm Trading
 
K-Means Clustering
K-Means ClusteringK-Means Clustering
K-Means Clustering
 
Common Design for Distributed Machine Learning
Common Design for Distributed Machine LearningCommon Design for Distributed Machine Learning
Common Design for Distributed Machine Learning
 
AWS EMR + Spark ML
AWS EMR + Spark MLAWS EMR + Spark ML
AWS EMR + Spark ML
 
Kaggle KKBox Churn Prediction
Kaggle KKBox Churn PredictionKaggle KKBox Churn Prediction
Kaggle KKBox Churn Prediction
 
Spark config
Spark configSpark config
Spark config
 
Cloudera & Zookeeper
Cloudera & ZookeeperCloudera & Zookeeper
Cloudera & Zookeeper
 
Continuous Integration with Gitlab
Continuous Integration with GitlabContinuous Integration with Gitlab
Continuous Integration with Gitlab
 
Docker Intro
Docker IntroDocker Intro
Docker Intro
 
Python Testing for Flask
Python Testing for FlaskPython Testing for Flask
Python Testing for Flask
 
News clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingNews clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word Embedding
 
Clustering, k means algorithm
Clustering, k means algorithmClustering, k means algorithm
Clustering, k means algorithm
 
About Neural Network
About Neural NetworkAbout Neural Network
About Neural Network
 
About SVM
About SVMAbout SVM
About SVM
 

한국어 자연어처리 101