NLP
Natural Language Processing
Table of Contents
- 자연어의 개념
- NLP의 하위 분류
- NLP Difficulties
- NLP Tools
NLP
- 언어학
- 컴퓨터과학
- 인공지능
프로그래밍 언어
- 인공적으로 만들어진
- 의도와 목적에 따라 해석
- 좀 더 넓은 개념으로
'인공어'에 포함됨
자연어
- 자연스럽게 만들어짐
- 일상생활과 의사소통에 사용됨
- '인공어'와 반대되는 개념
<>
NLP 분야
- 정보 검색
- 음성 인식
- 단어 분류
- 감정 분석
- 기계 번역
정보검색


음성 인식



NLP difficulties
- 신조어
- 같은 단어 다른 뜻
- 이상한 띄어쓰기

Make Rule!!!
하지만 다양한 자연어 상황에 대응하지 못하는 경우가 많아짐
if previous_sentence.contains("승리") {
return "successive victory"
} else if next_sentence.contains("기쁨") {
if next_sentence.noun == current_sentence.noun {
return "successive victory"
} else {
return "successive defeats"
}
}
...In stastics??
- n%의 확률로
- m%의 확률로
- p%의 확률로
따라서 Deep Learning을 적용하기 쉬운 구조로 바뀌었습니다
- 자연어 데이터를 통해서
- 구조를 학습하고 확률적 모델을 구축
- 이를 활용해서 NLP 진행
NLP Tools
- nltk
- konlpy
NLTK
- 교육용으로 개발된 NLP학습용 라이브러리
- 크게는 말뭉치와 NLP 기법이 포함되어있음
- 하지만 영어용

KoNLPy
- NLTK의 한글버전
- 포함된 말뭉치는 적습니다
- 대신 사용가능한 NLP Library들이 다수 존재합니다
- 주요 NLP기법들을 사용가능합니다
- 형태소 분석
- 품사 태깅

KoNLPy - Normalization
한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ
한국어를 처리하는 예시입니다ㅋㅋ
KoNLPy - Tokenization
한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ
한국어/Noun, 를/Josa, 처리/Noun,
하는/Verb, 예시/Noun, 입니다/Adjective,
ㅋㅋ/KoreanParticle
KoNLPy - Stemming
한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ
한국어/Noun, 를/Josa, 처리/Noun,
하다/Verb, 예시/Noun, 이다/Adjective,
ㅋㅋ/KoreanParticle
이 외의 간단하게 참고할만한 toolkit site들
-
https://github.com/lovit/soynlp
- 신조어 문제등 기존 toolkit으로 해결불가능한 문제 등을 해결하고자함
-
https://github.com/haven-jeon/PyKoSpacing
- 딥러닝 모델을 사용해서 만든 자동 띄어쓰기
NLP
By JunMyeong Lee
NLP
- 329