SlideShare a Scribd company logo
1 of 16
Download to read offline
홍은기
INTRODUCTION
TO
NATURAL LANGUAGE
PROCESSING
1. 자연언어처리란?
2. 형태소분석
3. 구문분석
4. 의미분석
5. 담화분석
6. 상호참조 해결
7. 무형대용어 생략 복원
8. 개체명 인식
CONTENTS
자연언어처리 (Natural Language Processing),
또는 전산언어학 (Computational Linguistics)은
컴퓨터가 인간의 말을 이해하고 인간과 대화하는 것을
목표로 하는 언어학과 컴퓨터과학의 학제간 분야.
자연언어처리란?
 자연언어처리의 기초기술:
• 형태소분석 및 품사태깅(POS tagging)
• 구문분석
• 의미분석
• 담화분석
• 상호참조 해결 (Coreference Resolution)
• 무형대용어 생략 복원
• 개체명 인식 (NER, Named Entity Recognition)
자연언어처리란?
 자연언어처리의 응용기술:
• 기계번역 (Machine Translation)
• 의견 마이닝 (Opinion Mining)
• 질의응답 시스템 (Q & A System)
• 문서자동요약 (Automatic Summarization)
• 정보검색 (Information Retrieval)
• 정보추출 (Information Extraction)
자연언어처리란?
형태소분석 및 품사태깅
 철수는 커피를 마셨다
철수/NNG + 는/JX 커피/NNG + 를/JKO 마시/VV + 었/EP + 다/EF
 이것 좀 가져다 주렴
이것/NG 좀/MAG 가지/VV + 어다/EC 주/VX + 렴/EF
형태소분석 및 품사태깅
 나는
1. 나/NNP + 는/JX ex) 나는 학생이다 / 나는 짜장면
2. 나/NP + 는/JX ex) 나는 가 다음이다
3. 날/VV + 는/ETM ex) 하늘을 나는 새
4. 나/VV + 는/ETM ex) 땅에서 나는 먹거리
UTAGGER를 이용한 형태소분석 및 품사태깅
NLTK를 이용한 품사태깅
• 구성소(constituent)란?
- 하나의 묶음을 이루는 문장의 성분
• 어떤 단어가 어떤 단어에 더 가까울까?
Ex) 저는 순한 맛으로 해주세요.
1. 저는 순한 / 맛으로 / 해주세요
2. 저는 / 순한 맛으로 / 해주세요
3. 저는 / 순한 / 맛으로 해주세요
구문분석
• Non-terminal Symbols
S → NP VP
NP → Noun | Det Noun | Noun PP | Det Noun PP
VP → Verb | Verb NP | Verb PP | Verb CP
PP → Preposition NP
CP → Complementizer S
• Terminal Symbols
Noun → man | king | telescope
Det → a | an | the
Verb → saw | liked | wanted
Preposition → in | on | from
Complementizer → that
문맥자유문법의 구성
S
NP VP
Det N V NP PP
The man saw Det N P NP
the king with Det N
a telescope
“남자는 망원경을 이용해 왕을 보았다.”
구문분석
S
NP VP
Det N V NP
The man saw Det N PP
the king P NP
with Det N
a telescope
“남자는 망원경을 들고 있는 왕을 보았다.”
구문분석
NLTK를 이용한 구문분석
NLTK를 이용한 구문분석
 Bird et al. (2009). Natural Language
Processing with Python. O'Reilly
 김진우. (2004). 언어, 이론과 그 응용. 탑출판사
 울산대 UTagger
(http://nlplab.ulsan.ac.kr)
참조

More Related Content

Viewers also liked

형태소분석과 HMM 알고리즘
형태소분석과 HMM 알고리즘형태소분석과 HMM 알고리즘
형태소분석과 HMM 알고리즘Dosang Yoon
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수Yeon Soo Kim
 
Python array.array 모듈 이해하기
Python array.array 모듈 이해하기Python array.array 모듈 이해하기
Python array.array 모듈 이해하기Yong Joon Moon
 
파이썬 크롤링 모듈
파이썬 크롤링 모듈파이썬 크롤링 모듈
파이썬 크롤링 모듈Yong Joon Moon
 
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization홍배 김
 
Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석용 최
 
한국어와 NLTK, Gensim의 만남
한국어와 NLTK, Gensim의 만남한국어와 NLTK, Gensim의 만남
한국어와 NLTK, Gensim의 만남Eunjeong (Lucy) Park
 
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사Taejoon Yoo
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLPEunjeong (Lucy) Park
 
[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개NAVER D2
 
The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)Eunjeong (Lucy) Park
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)홍배 김
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향홍배 김
 
20170227 파이썬으로 챗봇_만들기
20170227 파이썬으로 챗봇_만들기20170227 파이썬으로 챗봇_만들기
20170227 파이썬으로 챗봇_만들기Kim Sungdong
 

Viewers also liked (14)

형태소분석과 HMM 알고리즘
형태소분석과 HMM 알고리즘형태소분석과 HMM 알고리즘
형태소분석과 HMM 알고리즘
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수
 
Python array.array 모듈 이해하기
Python array.array 모듈 이해하기Python array.array 모듈 이해하기
Python array.array 모듈 이해하기
 
파이썬 크롤링 모듈
파이썬 크롤링 모듈파이썬 크롤링 모듈
파이썬 크롤링 모듈
 
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization
 
Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석
 
한국어와 NLTK, Gensim의 만남
한국어와 NLTK, Gensim의 만남한국어와 NLTK, Gensim의 만남
한국어와 NLTK, Gensim의 만남
 
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
20160203_마인즈랩_딥러닝세미나_05 딥러닝 자연어처리와 분류엔진 황이규박사
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP
 
[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개
 
The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
 
20170227 파이썬으로 챗봇_만들기
20170227 파이썬으로 챗봇_만들기20170227 파이썬으로 챗봇_만들기
20170227 파이썬으로 챗봇_만들기
 

More from EunGi Hong

최소 편집 거리와 동적 프로그래밍
최소 편집 거리와 동적 프로그래밍최소 편집 거리와 동적 프로그래밍
최소 편집 거리와 동적 프로그래밍EunGi Hong
 
라틴어로 보는 컴퓨터 과학
라틴어로 보는 컴퓨터 과학라틴어로 보는 컴퓨터 과학
라틴어로 보는 컴퓨터 과학EunGi Hong
 
Android App Bar
Android App BarAndroid App Bar
Android App BarEunGi Hong
 
검색엔진 오픈 소스 Lucene
검색엔진 오픈 소스 Lucene검색엔진 오픈 소스 Lucene
검색엔진 오픈 소스 LuceneEunGi Hong
 
Haskell and Function
Haskell and FunctionHaskell and Function
Haskell and FunctionEunGi Hong
 
Wordswordswords
WordswordswordsWordswordswords
WordswordswordsEunGi Hong
 
Haskell and List
Haskell and ListHaskell and List
Haskell and ListEunGi Hong
 
Ah Counter App 마무리
Ah Counter App 마무리Ah Counter App 마무리
Ah Counter App 마무리EunGi Hong
 
안드로이드 개발하기 3rd week
안드로이드 개발하기 3rd week안드로이드 개발하기 3rd week
안드로이드 개발하기 3rd weekEunGi Hong
 
안드로이드 개발하기 2nd week
안드로이드 개발하기 2nd week안드로이드 개발하기 2nd week
안드로이드 개발하기 2nd weekEunGi Hong
 
안드로이드 개발하기_1st
안드로이드 개발하기_1st안드로이드 개발하기_1st
안드로이드 개발하기_1stEunGi Hong
 
Python learning for Natural Language Processing (2nd)
Python learning for Natural Language Processing (2nd)Python learning for Natural Language Processing (2nd)
Python learning for Natural Language Processing (2nd)EunGi Hong
 
Python Learning for Natural Language Processing
Python Learning for Natural Language ProcessingPython Learning for Natural Language Processing
Python Learning for Natural Language ProcessingEunGi Hong
 

More from EunGi Hong (15)

최소 편집 거리와 동적 프로그래밍
최소 편집 거리와 동적 프로그래밍최소 편집 거리와 동적 프로그래밍
최소 편집 거리와 동적 프로그래밍
 
라틴어로 보는 컴퓨터 과학
라틴어로 보는 컴퓨터 과학라틴어로 보는 컴퓨터 과학
라틴어로 보는 컴퓨터 과학
 
Android App Bar
Android App BarAndroid App Bar
Android App Bar
 
검색엔진 오픈 소스 Lucene
검색엔진 오픈 소스 Lucene검색엔진 오픈 소스 Lucene
검색엔진 오픈 소스 Lucene
 
Haskell and Function
Haskell and FunctionHaskell and Function
Haskell and Function
 
Wordswordswords
WordswordswordsWordswordswords
Wordswordswords
 
Haskell and List
Haskell and ListHaskell and List
Haskell and List
 
Automata
AutomataAutomata
Automata
 
Ah Counter App 마무리
Ah Counter App 마무리Ah Counter App 마무리
Ah Counter App 마무리
 
Linguistics
LinguisticsLinguistics
Linguistics
 
안드로이드 개발하기 3rd week
안드로이드 개발하기 3rd week안드로이드 개발하기 3rd week
안드로이드 개발하기 3rd week
 
안드로이드 개발하기 2nd week
안드로이드 개발하기 2nd week안드로이드 개발하기 2nd week
안드로이드 개발하기 2nd week
 
안드로이드 개발하기_1st
안드로이드 개발하기_1st안드로이드 개발하기_1st
안드로이드 개발하기_1st
 
Python learning for Natural Language Processing (2nd)
Python learning for Natural Language Processing (2nd)Python learning for Natural Language Processing (2nd)
Python learning for Natural Language Processing (2nd)
 
Python Learning for Natural Language Processing
Python Learning for Natural Language ProcessingPython Learning for Natural Language Processing
Python Learning for Natural Language Processing
 

Introduction to Natural Language Processing

  • 2. 1. 자연언어처리란? 2. 형태소분석 3. 구문분석 4. 의미분석 5. 담화분석 6. 상호참조 해결 7. 무형대용어 생략 복원 8. 개체명 인식 CONTENTS
  • 3. 자연언어처리 (Natural Language Processing), 또는 전산언어학 (Computational Linguistics)은 컴퓨터가 인간의 말을 이해하고 인간과 대화하는 것을 목표로 하는 언어학과 컴퓨터과학의 학제간 분야. 자연언어처리란?
  • 4.  자연언어처리의 기초기술: • 형태소분석 및 품사태깅(POS tagging) • 구문분석 • 의미분석 • 담화분석 • 상호참조 해결 (Coreference Resolution) • 무형대용어 생략 복원 • 개체명 인식 (NER, Named Entity Recognition) 자연언어처리란?
  • 5.  자연언어처리의 응용기술: • 기계번역 (Machine Translation) • 의견 마이닝 (Opinion Mining) • 질의응답 시스템 (Q & A System) • 문서자동요약 (Automatic Summarization) • 정보검색 (Information Retrieval) • 정보추출 (Information Extraction) 자연언어처리란?
  • 6. 형태소분석 및 품사태깅  철수는 커피를 마셨다 철수/NNG + 는/JX 커피/NNG + 를/JKO 마시/VV + 었/EP + 다/EF  이것 좀 가져다 주렴 이것/NG 좀/MAG 가지/VV + 어다/EC 주/VX + 렴/EF
  • 7. 형태소분석 및 품사태깅  나는 1. 나/NNP + 는/JX ex) 나는 학생이다 / 나는 짜장면 2. 나/NP + 는/JX ex) 나는 가 다음이다 3. 날/VV + 는/ETM ex) 하늘을 나는 새 4. 나/VV + 는/ETM ex) 땅에서 나는 먹거리
  • 10. • 구성소(constituent)란? - 하나의 묶음을 이루는 문장의 성분 • 어떤 단어가 어떤 단어에 더 가까울까? Ex) 저는 순한 맛으로 해주세요. 1. 저는 순한 / 맛으로 / 해주세요 2. 저는 / 순한 맛으로 / 해주세요 3. 저는 / 순한 / 맛으로 해주세요 구문분석
  • 11. • Non-terminal Symbols S → NP VP NP → Noun | Det Noun | Noun PP | Det Noun PP VP → Verb | Verb NP | Verb PP | Verb CP PP → Preposition NP CP → Complementizer S • Terminal Symbols Noun → man | king | telescope Det → a | an | the Verb → saw | liked | wanted Preposition → in | on | from Complementizer → that 문맥자유문법의 구성
  • 12. S NP VP Det N V NP PP The man saw Det N P NP the king with Det N a telescope “남자는 망원경을 이용해 왕을 보았다.” 구문분석
  • 13. S NP VP Det N V NP The man saw Det N PP the king P NP with Det N a telescope “남자는 망원경을 들고 있는 왕을 보았다.” 구문분석
  • 16.  Bird et al. (2009). Natural Language Processing with Python. O'Reilly  김진우. (2004). 언어, 이론과 그 응용. 탑출판사  울산대 UTagger (http://nlplab.ulsan.ac.kr) 참조

Editor's Notes

  1. 한국어 구구조문법 참조
  2. 한국어 구구조문법 참조
  3. Context-Free Grammar is the most commonly used mathematical system for modeling constituent structure in English and other natural languages. CFGs are also called Phrase-Structure Grammars.
  4. Context-Free Grammar is the most commonly used mathematical system for modeling constituent structure in English and other natural languages. CFGs are also called Phrase-Structure Grammars.
  5. 한국어 구구조문법 참조