꼬꼬마 : 관계형 데이터베이스를 활용한 말뭉치 활용 도구
DESCRIPTION
꼬꼬마 : 관계형 데이터베이스를 활용한 말뭉치 활용 도구. 이동주 , 연종흠 , 황인범. 개요. 말뭉치 언어학 말뭉치 활용 도구 꼬꼬마 세종 말뭉치 활용 도구 세종 말뭉치 시스템 구성 데이터베이스 구조 기능 결론 및 향후 과제 꼬꼬마 프로젝트. 말뭉치 언어학 (Corpus Linguistics). 실제 언어나 실제 언어의 샘플을 이용하여 언어에서 나타나는 다양한 현상과 규칙들을 연구하는 응용 언어학의 한 분야 말뭉치 (Corpus) - PowerPoint PPT PresentationTRANSCRIPT
꼬꼬마 :관계형 데이터베이스를 활용한
말뭉치 활용 도구
이동주 , 연종흠 , 황인범
Copyright 2010 by Team KKMA 2
마스터 제목 스타일 편집개요
말뭉치 언어학
말뭉치 활용 도구
꼬꼬마 세종 말뭉치 활용 도구 세종 말뭉치
시스템 구성
데이터베이스 구조
기능
결론 및 향후 과제
꼬꼬마 프로젝트
Copyright 2010 by Team KKMA 3
마스터 제목 스타일 편집말뭉치 언어학 (Corpus Linguistics)
실제 언어나 실제 언어의 샘플을 이용하여 언어에서 나타나는 다양한 현상과 규칙들을 연구하는 응용 언어학의 한 분야
말뭉치 (Corpus) 대표성과 균형성을 지키면서 언어적 특성을 반영할 수 있도록
선택되어야 함
원시 말뭉치 (raw corpus), 주석 말뭉치 (tagged/anno-tated corpus), 분석 말뭉치 (analyzed corpus) 품사 , 구문 , 의미
Copyright 2010 by Team KKMA 4
마스터 제목 스타일 편집말뭉치 ( 국외 )
브라운 말뭉치 (Brown Corpus, 1963-4, 미국 ) : 1960년대 미국 문어 : 100만 어절
LOB 말뭉치 (Lancaster-Oslo/Bregen Corpus, 1970-78, 영국 /노르웨이 ) : 1960년대 영국 문어 : 100만 어절 : 브라운 말뭉치와의 비교연구에 활용
런던 -룬트 말뭉치 (London-Lund Corpus, 1975-88, 영국 /스웨덴 ) : 1960년대 영국 구어 : 50만 어절 : 영어 사용례 말뭉치 (Survey of English Usage Corpus)의 구어부분을 주로 주석
헬싱키 말뭉치 (Helsinki Corpus of English Text, 1984-, 핀란드 ) : 750년 -1720년 사이의 문어와 1970년대 구어 전사 방언 : 공시 말뭉치 160만 어절 , 방언 말뭉치 40만 어절
랭카스터 말뭉치 (Lancaster/IBM Spoken English Corpus, 1984-87, 영국 ) : 1980년대 영국 구어 : 5만 어절 : 음성 합성 시스템 개발을 위해 구축된 말뭉치로 구두점이나 운율전사와 같은 특수한 주석이 달려 있음
국제 영어 말뭉치 (International Corpus of English, 1990-, 다국적 ) : 1990년대 초반의 다양한 문어 : 2000만 어절
BNC(British National Corpus, 1991-94, 영국 ) : 1960년대 이후의 현대 영국 영어 : 1억 어절 : 여러 사전 출판사와 연구기관이 연대한 최대 규모의 영어 말뭉치
영어 뱅크 (The Bank of English, 1980-, 영국 ) : 1990년대 이후의 영국 영어 : 33만 어절 이상 : 30% 정도의 구어를 포함하고 있으며 콜린스 코빌드가 주로 활용하고 있음
유럽 다국어 말뭉치 (European Corpus Initiative Multilingual Corpus I, 1992-93, 유럽 ) : 현대 유럽어 : 1억 어절 : 유럽 언어들을 위주로 한 다국어 말뭉치
COCA(Corpus of Contemporary American English, 1990-, 미국 ) : 현대 미국어 : 4억 어절
Copyright 2010 by Team KKMA 5
마스터 제목 스타일 편집말뭉치 ( 국내 )
연세 한국어 말뭉치 (1987-) 1960 년대 이후의 한국어 : 4200 만 어절 : 연세한국어사전을 만드는 데
활용 : 연세대학교 언어정보연구원
고려대학교 한국어 말모둠 (1995) 1970-90 년대 한국어 : 1000 만 어절 : 고려대학교 민족문화연구소
국립국어원 말뭉치 (1992-) 1400 년대 이후의 한국어 : 6800 만 어절 : 표준국어대사전을 만드는 데
활용 : 국립국어원
세종 말뭉치 (1998~2007) 현대 문어 , 구어 , 북한 및 해외 , 역사 자료 , 한영 및 한일 병렬 말뭉치
Copyright 2010 by Team KKMA 6
마스터 제목 스타일 편집말뭉치 활용
어휘의 다양한 환경에서의 출현 빈도
연어 (collocation) 연구
변이 연구 - 표본의 특성에 따른 분석
역사 언어 연구 – 언어의 변화 분석
비교 언어학 – 병렬 말뭉치 이용
언어 교육
사전 편찬
Copyright 2010 by Team KKMA 7
마스터 제목 스타일 편집말뭉치 활용의 한계
구축 비용이 매우 크다
저작권 문제
활용을 위한 자연어 처리 및 프로그래밍 기술 필요 다양한 활용 도구
Copyright 2010 by Team KKMA 8
마스터 제목 스타일 편집말뭉치 활용 도구 - PC
국외 NLTK (python, Brown corpus)
ICECUP
WordSmith
MonoConc
한국어 한마루
글잡이 2
NLTK
ICECUP
MonoConc
Copyright 2010 by Team KKMA 9
마스터 제목 스타일 편집말뭉치 활용 도구 – Web-based
COCA: http://www.americancorpus.org/
Copyright 2010 by Team KKMA 10
마스터 제목 스타일 편집세종 말뭉치 활용
세종 말뭉치는 언어의 다양한 특성을 반영할 수 있도록 표본이 선택되었으며 , 그 양도 방대하여 언어학적 자료로 활용될 수 있다 .
PC 버전 활용 도구만이 배포되어 있고 , 활용 기능에도 제약이 많고 , 사용자가 쉽게 사용하기 어렵다 접근성 , 활용성 낮음
쉽고 용이하게 , 세종 말뭉치를 활용할 수 있는 시스템 필요
Copyright 2010 by Team KKMA 11
세종 말뭉치 – 현대 국어 말뭉치
구어
ORG
POS
세종 말뭉치
문어
ORG
POS
SYN
SEM
head
body
TEI 에 따른 주석 (Text Encoding Initiative, http://www.tei-c.org)
Copyright 2010 by Team KKMA 12
꼬꼬마 세종 말뭉치 활용 시스템
1) 말뭉치 데이터베이스화
2) 쉬운 말뭉치 사용 인터페이스 제공
4) 용례 검색 및 시각화
3) 다양한 통계 정보 생성 및 조회
Copyright 2010 by Team KKMA 13
필요했던 작업들
조회 및 검색 시스템 구현
시각화 모듈 구현
저장 구조 정의 오류 발견 및 교정 데이터 베이스 저장
파일별 처리 모듈 구현 말뭉치 통합 로더 구현
통계 데이터 생성
Copyright 2010 by Team KKMA 14
시스템 구성
말뭉치 저장
3) 조회 프로그램
세종 말뭉치 원본
사용자 사용자
사용자
FILE
SENT
WORDMORP
PERSON
PARTSC_TREE
2) 말뭉치 데이터베이스
1) 말뭉치 로더
수정된 말뭉치
교정 과정( 수작업 )
Copyright 2010 by Team KKMA
File
title
author
Sentence
Word
Morpheme
sense
morpheme
pos
word
sentence
phonetic_spell
Person
name agegender
job
language
text_class
person_id
Part
tag
Speak
typeCompose
Compose
Compose
Compose
prefix
말뭉치 저장을 위한 개념적 데이터 구조
parse_tree
Copyright 2010 by Team KKMA
file_idtitleauthortext_classlanguagetype
file_idpart_idperson_id
FilePart
person_idfile_idnameagegenderjobaddress
Person
file_idpart_idsentence_idsentenceparse_tree
Sentence
file_idpart_idsentence_idword_idwordphon
Word
file_idpart_idsentence_idword_idmorpheme_idmorphemepossense
Morpheme
말뭉치 저장을 위한 논리적 데이터 구조
Copyright 2010 by Team KKMA 17
마스터 제목 스타일 편집SQL 을 이용한 기능 구현
용례 검색
통계 정보 추출
연어 검색 굴절형
연어
Copyright 2010 by Team KKMA 18
용례 검색
SELECT s.sentenceFROM Sentence s JOIN Morpheme m ON s.file_id = m.file_id AND s.part_id = m.file_id AND s.sentence_id = m.sentence_id WHERE m.morpheme = ‘ 서울’ AND m.pos = ‘NNP’
고유 명사 ‘서울’에 대한 용례를 찾기 위한 SQL
SELECT s.sentenceFROM File f JOIN Sentence s ON f.file_id = s.file_id JOIN Morpheme m ON s.file_id = m.file_id AND s.part_id = m.file_id AND s.sentence_id = m.sentence_id WHERE m.morpheme = ‘ 서울’ AND m.pos = ‘NNP’AND f.type = ‘ 문어’
문어에서 용례를 찾기 위한 SQL
Copyright 2010 by Team KKMA 19
마스터 제목 스타일 편집용례 검색
Copyright 2010 by Team KKMA 20
통계 정보 추출
품사별 빈도수를 구하기 위한 SQL
SELECT m.pos, count(*)FROM Morpheme m GROUP BY m.pos
SELECT pr.job, m.pos, count(*)FROM File f JOIN Part p ON f.file_id = p.file_id JOIN Person pr ON p.person_id = pr.person_id JOIN Sentence s ON p.file_id = s.file_id p.part_id = s.part_id JOIN Morpheme m ON s.file_id = m.file_id AND s.part_id = m.part_id AND s.sentence_id = m.sentence_id WHERE f.type = ‘ 구어’GROUP BY pr.job, m.pos
직업군별 품사 사용 빈도수를 구하기 위한 SQL
Copyright 2010 by Team KKMA 21
마스터 제목 스타일 편집통계 조회
Copyright 2010 by Team KKMA 22
연어 검색
SELECT m1.morpheme, m1.pos, m2.morpheme, m2.pos, count(*) cntFROM Morpheme m1 JOIN Morpheme m2 ON m1.file_id = m2.file_id AND m1.part_id = m2.part_id AND m1.sentence_id = m2.sentence_id AND m1.word_id = m2.word_id AND m1.morpheme_id + 1 = m2.morpheme_id = 2GROUP BY m1.morpheme, m1.pos, m2.morpheme, m2.posORDER BY cnt DESC
고유 명사 ' 서울 ' 에 대한 굴절형을 분석하는 SQL
Copyright 2010 by Team KKMA 23
마스터 제목 스타일 편집굴절형 검색
Copyright 2010 by Team KKMA 24
마스터 제목 스타일 편집연어 검색
Copyright 2010 by Team KKMA 25
복잡한 연어 검색
‘- 어 두 ~’ 에 대한 연어 조회를 위한 SQL
SELECT m1.morpheme, m1.pos, count(*) cntFROM Morpheme m1 JOIN Morpheme m2 ON m1.file_id = m2.file_id AND m1.part_id = m2.part_id AND m1.sentence_id = m2.sentence_id AND m1.word_id = m2.word_id AND m1.morpheme_id + 1 = m2.morpheme_id = 2 JOIN Morpheme m3 ON m2.file_id = m3.file_id AND m2.part_id = m3.part_id AND m2.sentence_id = m3.sentence_id AND m2.word_id + 1 = m3.word_idWHERE m2.morp = ‘ 어’ and m2.pos = ‘EC’and m3.morp = ‘ 두’ and m3.pos = ‘VX’GROUP BY m1.morpheme, m1.posORDER BY cnt DESC
MORP POS CNT내버리 VV 118
넣 VV 85남기 VV 70묻 VV 37적 VV 37묶 VV 35
세우 VV 34감추 VV 33걸 VV 29숨기 VV 27버리 VV 27만들 VV 23밝히 VV 22접 VV 18덮 VV 15
제치 VV 14비우 VV 13맡기 VV 13새기 VV 12붙이 VV 12
실행 결과
Copyright 2010 by Team KKMA 26
마스터 제목 스타일 편집구현된 기능
말뭉치 통계 품사별 통계 정보 조회
형태소별 통계 정보 조회 (형태소별 검색 )
파일별 통계 정보 조회 (문어 , 구어 )
품사 Bigram 조회 (어절간 , 어절내 )
형태소 Bigram 조회
말뭉치 검색 형태소별 검색
문어 용례 검색
구어 용례 검색
구문 분석 용례 검색
구문 분석 결과 시각화
Bigram 시각화
굴절형 조회
연어 조회
분석기 형태소 분석기
색인어 추출기
의존문법 구문 분석기
Copyright 2010 by Team KKMA 27
마스터 제목 스타일 편집한국어 학습 도구
Copyright 2010 by Team KKMA 28
마스터 제목 스타일 편집한국어 학습 도구
Copyright 2010 by Team KKMA 29
마스터 제목 스타일 편집시각화 도구
Copyright 2010 by Team KKMA 30
마스터 제목 스타일 편집형태소 분석기
Copyright 2010 by Team KKMA 31
마스터 제목 스타일 편집구문 분석기
Copyright 2010 by Team KKMA 32
마스터 제목 스타일 편집활용 사례
꼬꼬마 한국어 형태소 분석기 말뭉치에서 얻어진 통계 정보를 형태소 분석기에서의 품사 태그 선정을 위한 확률 모델의 학습 데이터 활용
언어 연구 하와이 대학 한국어 전공 박사 연구
서울대학교 영어 교육과 영어와 한국어 비교연구
서울대학교 외국인을 위한 한국어 작문 보조 시스템
Copyright 2010 by Team KKMA 33
마스터 제목 스타일 편집결론
세종 말뭉치를 쉽고 , 다양하게 활용할 수 있는 웹기반의 말뭉치 활용 도구를 구현함
말뭉치를 관계형 데이터베이스에 저장하여 구현된 기능 뿐만 아니라 , 다양한 통계 정보를 SQL 을 이용하여 쉽게 조회할 수 있음 SQL 에 대한 지식이 필요
다양한 활용 가능성이 있음 언어학적 연구
학습 보조 도구
말뭉치를 활용한 언어 연구는 좋은 활용 도구가 밑받침 되어야 하며 , 이를 위해서는 인문학과 공학의 유기적 연계가 필요
Copyright 2010 by Team KKMA 34
마스터 제목 스타일 편집향후 과제
용례 조회를 더욱 다양하게 할 수 있도록 구현
패턴을 이용한 조회 Conjunctive normal form 형태를 활용한 패턴 검색
예제 V+ 기 때문에…
[V][ 기 /ETN][S][때문 /NNG][ 에 /JKM]
V+ 어 두 ~
[V][ 어 /EC][S][ 두 /VXV]
Pattern 을 조회하기 위한 다수의 조인 (Join) 이 발생하여 대용량 말뭉치에서는 속도를 보장하기 위한 다양한 방안이 필요함
Copyright 2010 by Team KKMA 35
마스터 제목 스타일 편집꼬꼬마 (KKMA) 프로젝트
Open source/Open knowledge 기반의 한국어 처리 모듈 개발을 위한 프로젝트 시리즈
꼬꼬마 한국어 형태소 분석기 ( 구문 분석기 ) http://kkma.snu.ac.kr
2009 공개 SW 공모대전 은상
꼬꼬마 세종 말뭉치 활용 시스템 http://kkma-sc.snu.ac.kr
국립국어원 주최 2009 한글 및 한국어 처리 시스템 경진대회 대상
Copyright 2010 by Team KKMA 36
Q & A
? & !