마스터 제목 스타일 편집 말뭉치 활용 도구

Download Report

Transcript 마스터 제목 스타일 편집 말뭉치 활용 도구

꼬꼬마:
관계형 데이터베이스를 활용한
말뭉치 활용 도구
이동주, 연종흠, 황인범
마스터 제목 스타일 편집
개요
 말뭉치 언어학
 말뭉치 활용 도구
 꼬꼬마 세종 말뭉치 활용 도구
 세종 말뭉치
 시스템 구성
 데이터베이스 구조
 기능
 결론 및 향후 과제
 꼬꼬마 프로젝트
Copyright 2010 by Team KKMA
2
마스터 언어학
말뭉치
제목 스타일
(Corpus
편집Linguistics)
 실제 언어나 실제 언어의 샘플을 이용하여 언어에서
나타나는 다양한 현상과 규칙들을 연구하는 응용 언
어학의 한 분야
 말뭉치 (Corpus)
 대표성과 균형성을 지키면서 언어적 특성을 반영할 수 있도
록 선택되어야 함
 원시 말뭉치(raw corpus), 주석 말뭉치(tagged/annotated
corpus), 분석 말뭉치(analyzed corpus)

품사, 구문, 의미
Copyright 2010 by Team KKMA
3
마스터 (국외)
말뭉치
제목 스타일 편집

브라운 말뭉치(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
4
마스터 (국내)
말뭉치
제목 스타일 편집
 연세 한국어 말뭉치(1987-)

1960년대 이후의 한국어 : 4200만 어절 : 연세한국어사전을 만드는 데 활용 :
연세대학교 언어정보연구원
 고려대학교 한국어 말모둠(1995)

1970-90년대 한국어 : 1000만 어절 : 고려대학교 민족문화연구소
 국립국어원 말뭉치(1992-)

1400년대 이후의 한국어 : 6800만 어절 : 표준국어대사전을 만드는 데 활용 :
국립국어원
 세종 말뭉치(1998~2007)

현대 문어, 구어, 북한 및 해외, 역사 자료, 한영 및 한일 병렬 말뭉치
Copyright 2010 by Team KKMA
5
마스터 활용
말뭉치
제목 스타일 편집
 어휘의 다양한 환경에서의 출현 빈도
 연어 (collocation) 연구
 변이 연구 - 표본의 특성에 따른 분석
 역사 언어 연구 – 언어의 변화 분석
 비교 언어학 – 병렬 말뭉치 이용
 언어 교육
 사전 편찬
Copyright 2010 by Team KKMA
6
마스터 활용의
말뭉치
제목 스타일
한계 편집
 구축 비용이 매우 크다
 저작권 문제
 활용을 위한 자연어 처리 및 프로그래밍 기술 필요
 다양한 활용 도구
Copyright 2010 by Team KKMA
7
마스터 활용
말뭉치
제목 도구
스타일
- PC
편집
NLTK
 국외
 NLTK (python, Brown corpus)
 ICECUP
MonoConc
ICECUP
 WordSmith
 MonoConc
 한국어
 한마루
 글잡이2
Copyright 2010 by Team KKMA
8
마스터 활용
말뭉치
제목 도구
스타일
– Web-based
편집
COCA: http://www.americancorpus.org/
Copyright 2010 by Team KKMA
9
마스터
세종
말뭉치
제목 활용
스타일 편집
 세종 말뭉치는 언어의 다양한 특성을 반영할 수 있도
록 표본이 선택되었으며, 그 양도 방대하여 언어학적
자료로 활용될 수 있다.
 PC버전 활용 도구만이 배포되어 있고, 활용 기능에도
제약이 많고, 사용자가 쉽게 사용하기 어렵다
 접근성, 활용성 낮음
 쉽고 용이하게, 세종 말뭉치를 활용할 수 있는 시스템
필요
Copyright 2010 by Team KKMA
10
세종 말뭉치 – 현대 국어 말뭉치
TEI 에 따른 주석 (Text Encoding Initiative, http://www.tei-c.org)
세종 말뭉치
구어
ORG
POS
head
문어
ORG
body
POS
SYN
SEM
Copyright 2010 by Team KKMA
11
꼬꼬마 세종 말뭉치 활용 시스템
1) 말뭉치 데이터베이스화
2) 쉬운 말뭉치 사용 인터페이스 제공
3) 다양한 통계 정보 생성 및 조회
4) 용례 검색 및 시각화
Copyright 2010 by Team KKMA
12
필요했던 작업들
통계 데이터 생성
저장 구조 정의
오류 발견 및 교정
파일별 처리 모듈 구현
데이터 베이스 저장
말뭉치 통합 로더 구현
조회 및 검색 시스템 구현
시각화 모듈 구현
Copyright 2010 by Team KKMA
13
시스템 구성
사용자
사용자
세종 말뭉치 원본
사용자
3) 조회 프로그램
교정 과정
(수작업)
1) 말뭉치 로더
말뭉치 저장
PERSON
FILE
SC_TREE
PART
SENT
수정된 말뭉치
MORP
WORD
2) 말뭉치 데이터베이스
Copyright 2010 by Team KKMA
14
말뭉치 저장을 위한 개념적 데이터 구조
title
author
name
text_class
File
age
language
gender
person_id
Compose
type
job
prefix
Person
Speak
Part
tag
Compose
sentence
Sentence
parse_tree
Compose
word
Word
phonetic_spell
Compose
morpheme
Morpheme
pos
sense
Copyright 2010 by Team KKMA
말뭉치 저장을 위한 논리적 데이터 구조
File
file_id
title
author
text_class
language
type
Part
file_id
part_id
person_id
Sentence
file_id
part_id
sentence_id
sentence
parse_tree
Person
person_id
file_id
name
age
gender
job
address
Copyright 2010 by Team KKMA
Word
file_id
part_id
sentence_id
word_id
word
phon
Morpheme
file_id
part_id
sentence_id
word_id
morpheme_id
morpheme
pos
sense
마스터 이용한
SQL을
제목 스타일
기능 구현
편집
 용례 검색
 통계 정보 추출
 연어 검색
 굴절형
 연어
Copyright 2010 by Team KKMA
17
용례 검색
고유 명사 ‘서울’에 대한 용례를 찾기 위한 SQL
SELECT s.sentence
FROM 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.sentence
FROM 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 = ‘문어’
Copyright 2010 by Team KKMA
18
마스터
용례
검색
제목 스타일 편집
Copyright 2010 by Team KKMA
19
통계 정보 추출
품사별 빈도수를 구하기 위한 SQL
SELECT m.pos, count(*)
FROM Morpheme m
GROUP BY m.pos
직업군별 품사 사용 빈도수를 구하기 위한 SQL
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
Copyright 2010 by Team KKMA
20
마스터
통계
조회
제목 스타일 편집
Copyright 2010 by Team KKMA
21
연어 검색
고유 명사 '서울'에 대한 굴절형을 분석하는 SQL
SELECT m1.morpheme, m1.pos, m2.morpheme, m2.pos, count(*) cnt
FROM 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
GROUP BY m1.morpheme, m1.pos, m2.morpheme, m2.pos
ORDER BY cnt DESC
Copyright 2010 by Team KKMA
22
마스터 검색
굴절형
제목 스타일 편집
Copyright 2010 by Team KKMA
23
마스터
연어
검색
제목 스타일 편집
Copyright 2010 by Team KKMA
24
복잡한 연어 검색
‘-어 두~’에 대한 연어 조회를 위한 SQL
SELECT m1.morpheme, m1.pos, count(*) cnt
FROM 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_id
WHERE m2.morp = ‘어’ and m2.pos = ‘EC’and
m3.morp = ‘두’ and m3.pos = ‘VX’
GROUP BY m1.morpheme, m1.pos
ORDER BY cnt DESC
Copyright 2010 by Team KKMA
실행 결과
MORP
내버리
넣
남기
묻
적
묶
세우
감추
걸
숨기
버리
만들
밝히
접
덮
제치
비우
맡기
새기
붙이
POS
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
VV
CNT
118
85
70
37
37
35
34
33
29
27
27
23
22
18
15
14
13
13
12
12
25
마스터 기능
구현된
제목 스타일 편집



말뭉치 통계

품사별 통계 정보 조회

형태소별 통계 정보 조회 (형태소별 검색)

파일별 통계 정보 조회 (문어, 구어)

품사 Bigram 조회 (어절간, 어절내)

형태소 Bigram 조회
말뭉치 검색

형태소별 검색

문어 용례 검색

구어 용례 검색

구문 분석 용례 검색

구문 분석 결과 시각화

Bigram 시각화

굴절형 조회

연어 조회
분석기

형태소 분석기

색인어 추출기

의존문법 구문 분석기
Copyright 2010 by Team KKMA
26
마스터 학습
한국어
제목 도구
스타일 편집
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
마스터 제목 스타일 편집
결론
 세종 말뭉치를 쉽고, 다양하게 활용할 수 있는 웹기반의 말뭉치
활용 도구를 구현함
 말뭉치를 관계형 데이터베이스에 저장하여 구현된 기능 뿐만 아
니라, 다양한 통계 정보를 SQL을 이용하여 쉽게 조회할 수 있음

SQL에 대한 지식이 필요
 다양한 활용 가능성이 있음

언어학적 연구

학습 보조 도구
 말뭉치를 활용한 언어 연구는 좋은 활용 도구가 밑받침 되어야
하며, 이를 위해서는 인문학과 공학의 유기적 연계가 필요
Copyright 2010 by Team KKMA
33
마스터
향후
과제
제목 스타일 편집
 용례 조회를 더욱 다양하게 할 수 있도록 구현
 패턴을 이용한 조회
 Conjunctive normal form형태를 활용한 패턴 검색
 예제

V+기 때문에…


[V][기/ETN][S][때문/NNG][에/JKM]
V+어 두~

[V][어/EC][S][두/VXV]
 Pattern을 조회하기 위한 다수의 조인(Join)이 발생하여 대용
량 말뭉치에서는 속도를 보장하기 위한 다양한 방안이 필요
함
Copyright 2010 by Team KKMA
34
마스터 제목 스타일
꼬꼬마(KKMA)
프로젝트
편집
 Open source/Open knowledge 기반의 한국어 처리 모듈
개발을 위한 프로젝트 시리즈
 꼬꼬마 한국어 형태소 분석기 (구문 분석기)

http://kkma.snu.ac.kr

2009 공개 SW 공모대전 은상
 꼬꼬마 세종 말뭉치 활용 시스템

http://kkma-sc.snu.ac.kr

국립국어원 주최 2009 한글 및 한국어 처리 시스템 경진대회 대
상
Copyright 2010 by Team KKMA
35
Q&A
?&!
Copyright 2010 by Team KKMA
36