2. 개요
• 텍스트 처리를 위한 기본적인 요소 이해하기
• 토큰분리 (Tokenization)
• 청크화 (Chunking)
• 구문분석 (Parsing)
• 품사 태그 부착 (POS 태깅, Part of speech)
3. 언어의 기초
• 분석하고자 하는 텍스트를 구성하는 언어의 문법 지식이 약간
필요함.
• 주어, 동사 찾기
• 수식어 찾기 (부사, 형용사)
• 구(Phrase), 절(Clause), 문장(Sentence)
4. 언어의 기초
• 단어는 품사로 나뉜다
꼬꼬마 형태소분석기 품사표 http://kkma.snu.ac.kr/documents/index.jsp?doc=postag
Mecab 형태소분석기 품사표 https://docs.google.com/spreadsheets/d/1-9blXKjtjeKZqsf4NzHeYJCrr49-nXeRF6D80udfcwY/edit#gid=589544265
5. 언어의 기초
• 품사
• 명사는 보통 사람, 장소, 물건 같은것을 정의한다.
• 동사는 행동을 정의한다.
• 부사, 형용사, ….
• 구
• 나열된 단어는 여러 개의 단어로 구성될 수 있는 구에 대한 구조를 갖는다.
• 명사구 “the happy girl”
• 한정사 the와 형용사 happy로 이루어지고 일반명사 girl을 루트로 갖는다.
6. 언어의 기초
• 절
• 절은 문장을 구성하기 위한 최소 단위이다.
• 절은 최소한 명사구(주어)와 동사구(술어)로 구성되는데, 이 구는 흔히
동사와 다른 명사구로 이뤄진다.
• 구는 절을 만들기 위해 서로 결합될 수 있다.
• The fox jumped the fence.
• 위 문장은 명사구 The fox (주어)와 동사구 jumped the fence로 이루어
진 절이다.
• 동사구는 다시 세분화 되어 명사구 the fence(목적어)와 동사 jumped
가 결합되어 구성되어 있다.
7. 구문분석 (Parsing)
• 구문의 특성
• 어떤 문장이든지 절의 집합으로 분해될 수 있다.
• 그 절들은 다시 구의 집합으로 분해될 수 있다.
• 구는 다시 특정 품사를 갖는 단어들로 분해될 수 있다.
• 구문분석
• 품사, 구, 절과 그것들 사이의 관계를 밝히는 작업을 구문 분석이라고
한다.
8. 말뭉치 (Corpus)
• 자연연어 연구를 위해 특정한 목적을 가지고 언어의 표본을 추
출한 집합이다.
• 형태소 분석기를 학습시키기 위해서 많은 말뭉치를 이용하면
할수록 정확도가 높아진다. (확률모델)
9. 세종 한국어 말뭉치
21세기 세종 계획은 1997년에 그 계획이 수립되어
1998년부터 2007년까지 10년 동안 시행
대부분의 한글 형태소 분석기들이 사용하고 있는 사전이
여기서 파생됨
https://ithub.korean.go.kr/user/corpus/corpusSearchManager.do
10.
11. 형태소분석 (Morphology)
• 형태소의 특성
• 대부분의 언어에서 단어는 형태소(품사)로 구성된다.
• 단어는 원형(root form)을 가진다.
• 단어가 어떻게 사용되는가에 따라 다양한 접사(접두사, 접미사)를 가진
다.
13. POS 태깅
• 단어를 명사, 동사, 형용사 같은 품사(POS, part of speech) 확인을 하고 태
깅한다.
• POS 태깅은 이미 POS 태그를 붙여놓은 문서의 말뭉치를 이용하여 만들어
진 통계모델을 이용한다.
기아자동차가 통상임금 판결의 여파로 10년 만에 분기 적자를 기록했습니다.
기아/NNG+자동차/NNG+가/JKS 통상/NNG+임금/NNG 판결/NNG+의/JKG
여파/NNG+로/JKM 10/NR+년/NNM 만/NNB+에/JKM 분기/NNG
적자/NNG+를/JKO 기록/NNG+하/XSV+었/EPT+습니다/EFN+./SF
14. POS 태깅
• 형태소 분석기마다 형태소 분석 결과가 달라질 수 있다.
• 대표적인 오픈소스 한글 형태소 비교
• http://konlpy.org/ko/v0.4.4/morph/
15. POS 태깅
• POS 태깅 기술이 인공지능과 만나면 객체 식별도 가능해진다.
• 향상된 동음이의어 처리
• 거미(가수) vs 거미(곤충)
• 파리(프랑스) vs 파리(곤충)
• https://cloud.google.com/natural-language/
17. 마지막으로 오늘 소개 할 한글 형태소 분석기
1. Arirang
2. Seunjeon
3. OpenKoreaText
4. Nori
18. 루씬 한글 분석기 커뮤니티에서 개발중인 한글 형태소 분석기
http://cafe.naver.com/korlucene
19. 스칼라로 개발된 Mecab 기반의 한글 형태소 분석기
https://bitbucket.org/eunjeon/seunjeon/src/master
20. 트위터에서 개발한 한글 형태소 분석기
https://github.com/open-korean-text
21. Lucene에서 제공하는 공식 한국어 형태소 분석기
https://github.com/apache/lucene-solr/tree/master/lucene/analysis/nori
https://www.elastic.co/kr/blog/nori-the-official-elasticsearch-plugin-for-korean-language-analysis