꼬꼬마 : 관계형 데이터베이스를 활용한 말뭉치 활용 도구

36
꼬꼬꼬 : 꼬꼬꼬 꼬꼬꼬꼬꼬꼬꼬 꼬꼬꼬 꼬꼬꼬 꼬꼬 꼬꼬 꼬꼬꼬 , 꼬꼬꼬 , 꼬꼬꼬

Upload: royal

Post on 14-Jan-2016

229 views

Category:

Documents


0 download

DESCRIPTION

꼬꼬마 : 관계형 데이터베이스를 활용한 말뭉치 활용 도구. 이동주 , 연종흠 , 황인범. 개요. 말뭉치 언어학 말뭉치 활용 도구 꼬꼬마 세종 말뭉치 활용 도구 세종 말뭉치 시스템 구성 데이터베이스 구조 기능 결론 및 향후 과제 꼬꼬마 프로젝트. 말뭉치 언어학 (Corpus Linguistics). 실제 언어나 실제 언어의 샘플을 이용하여 언어에서 나타나는 다양한 현상과 규칙들을 연구하는 응용 언어학의 한 분야 말뭉치 (Corpus) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

꼬꼬마 :관계형 데이터베이스를 활용한

말뭉치 활용 도구

이동주 , 연종흠 , 황인범

Page 2: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 2

마스터 제목 스타일 편집개요

말뭉치 언어학

말뭉치 활용 도구

꼬꼬마 세종 말뭉치 활용 도구 세종 말뭉치

시스템 구성

데이터베이스 구조

기능

결론 및 향후 과제

꼬꼬마 프로젝트

Page 3: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 3

마스터 제목 스타일 편집말뭉치 언어학 (Corpus Linguistics)

실제 언어나 실제 언어의 샘플을 이용하여 언어에서 나타나는 다양한 현상과 규칙들을 연구하는 응용 언어학의 한 분야

말뭉치 (Corpus) 대표성과 균형성을 지키면서 언어적 특성을 반영할 수 있도록

선택되어야 함

원시 말뭉치 (raw corpus), 주석 말뭉치 (tagged/anno-tated corpus), 분석 말뭉치 (analyzed corpus) 품사 , 구문 , 의미

Page 4: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

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억 어절

Page 5: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 5

마스터 제목 스타일 편집말뭉치 ( 국내 )

연세 한국어 말뭉치 (1987-) 1960 년대 이후의 한국어 : 4200 만 어절 : 연세한국어사전을 만드는 데

활용 : 연세대학교 언어정보연구원

고려대학교 한국어 말모둠 (1995) 1970-90 년대 한국어 : 1000 만 어절 : 고려대학교 민족문화연구소

국립국어원 말뭉치 (1992-) 1400 년대 이후의 한국어 : 6800 만 어절 : 표준국어대사전을 만드는 데

활용 : 국립국어원

세종 말뭉치 (1998~2007) 현대 문어 , 구어 , 북한 및 해외 , 역사 자료 , 한영 및 한일 병렬 말뭉치

Page 6: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 6

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

어휘의 다양한 환경에서의 출현 빈도

연어 (collocation) 연구

변이 연구 - 표본의 특성에 따른 분석

역사 언어 연구 – 언어의 변화 분석

비교 언어학 – 병렬 말뭉치 이용

언어 교육

사전 편찬

Page 7: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 7

마스터 제목 스타일 편집말뭉치 활용의 한계

구축 비용이 매우 크다

저작권 문제

활용을 위한 자연어 처리 및 프로그래밍 기술 필요 다양한 활용 도구

Page 8: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 8

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

국외 NLTK (python, Brown corpus)

ICECUP

WordSmith

MonoConc

한국어 한마루

글잡이 2

NLTK

ICECUP

MonoConc

Page 9: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 9

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

COCA: http://www.americancorpus.org/

Page 10: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 10

마스터 제목 스타일 편집세종 말뭉치 활용

세종 말뭉치는 언어의 다양한 특성을 반영할 수 있도록 표본이 선택되었으며 , 그 양도 방대하여 언어학적 자료로 활용될 수 있다 .

PC 버전 활용 도구만이 배포되어 있고 , 활용 기능에도 제약이 많고 , 사용자가 쉽게 사용하기 어렵다 접근성 , 활용성 낮음

쉽고 용이하게 , 세종 말뭉치를 활용할 수 있는 시스템 필요

Page 11: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 11

세종 말뭉치 – 현대 국어 말뭉치

구어

ORG

POS

세종 말뭉치

문어

ORG

POS

SYN

SEM

head

body

TEI 에 따른 주석 (Text Encoding Initiative, http://www.tei-c.org)

Page 12: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 12

꼬꼬마 세종 말뭉치 활용 시스템

1) 말뭉치 데이터베이스화

2) 쉬운 말뭉치 사용 인터페이스 제공

4) 용례 검색 및 시각화

3) 다양한 통계 정보 생성 및 조회

Page 13: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 13

필요했던 작업들

조회 및 검색 시스템 구현

시각화 모듈 구현

저장 구조 정의 오류 발견 및 교정 데이터 베이스 저장

파일별 처리 모듈 구현 말뭉치 통합 로더 구현

통계 데이터 생성

Page 14: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 14

시스템 구성

말뭉치 저장

3) 조회 프로그램

세종 말뭉치 원본

사용자 사용자

사용자

FILE

SENT

WORDMORP

PERSON

PARTSC_TREE

2) 말뭉치 데이터베이스

1) 말뭉치 로더

수정된 말뭉치

교정 과정( 수작업 )

Page 15: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

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

Page 16: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

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

말뭉치 저장을 위한 논리적 데이터 구조

Page 17: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 17

마스터 제목 스타일 편집SQL 을 이용한 기능 구현

용례 검색

통계 정보 추출

연어 검색 굴절형

연어

Page 18: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

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

Page 19: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 19

마스터 제목 스타일 편집용례 검색

Page 20: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

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

Page 21: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 21

마스터 제목 스타일 편집통계 조회

Page 22: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

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

Page 23: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 23

마스터 제목 스타일 편집굴절형 검색

Page 24: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 24

마스터 제목 스타일 편집연어 검색

Page 25: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

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

실행 결과

Page 26: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 26

마스터 제목 스타일 편집구현된 기능

말뭉치 통계 품사별 통계 정보 조회

형태소별 통계 정보 조회 (형태소별 검색 )

파일별 통계 정보 조회 (문어 , 구어 )

품사 Bigram 조회 (어절간 , 어절내 )

형태소 Bigram 조회

말뭉치 검색 형태소별 검색

문어 용례 검색

구어 용례 검색

구문 분석 용례 검색

구문 분석 결과 시각화

Bigram 시각화

굴절형 조회

연어 조회

분석기 형태소 분석기

색인어 추출기

의존문법 구문 분석기

Page 27: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 27

마스터 제목 스타일 편집한국어 학습 도구

Page 28: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 28

마스터 제목 스타일 편집한국어 학습 도구

Page 29: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 29

마스터 제목 스타일 편집시각화 도구

Page 30: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 30

마스터 제목 스타일 편집형태소 분석기

Page 31: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 31

마스터 제목 스타일 편집구문 분석기

Page 32: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 32

마스터 제목 스타일 편집활용 사례

꼬꼬마 한국어 형태소 분석기 말뭉치에서 얻어진 통계 정보를 형태소 분석기에서의 품사 태그 선정을 위한 확률 모델의 학습 데이터 활용

언어 연구 하와이 대학 한국어 전공 박사 연구

서울대학교 영어 교육과 영어와 한국어 비교연구

서울대학교 외국인을 위한 한국어 작문 보조 시스템

Page 33: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 33

마스터 제목 스타일 편집결론

세종 말뭉치를 쉽고 , 다양하게 활용할 수 있는 웹기반의 말뭉치 활용 도구를 구현함

말뭉치를 관계형 데이터베이스에 저장하여 구현된 기능 뿐만 아니라 , 다양한 통계 정보를 SQL 을 이용하여 쉽게 조회할 수 있음 SQL 에 대한 지식이 필요

다양한 활용 가능성이 있음 언어학적 연구

학습 보조 도구

말뭉치를 활용한 언어 연구는 좋은 활용 도구가 밑받침 되어야 하며 , 이를 위해서는 인문학과 공학의 유기적 연계가 필요

Page 34: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 34

마스터 제목 스타일 편집향후 과제

용례 조회를 더욱 다양하게 할 수 있도록 구현

패턴을 이용한 조회 Conjunctive normal form 형태를 활용한 패턴 검색

예제 V+ 기 때문에…

[V][ 기 /ETN][S][때문 /NNG][ 에 /JKM]

V+ 어 두 ~

[V][ 어 /EC][S][ 두 /VXV]

Pattern 을 조회하기 위한 다수의 조인 (Join) 이 발생하여 대용량 말뭉치에서는 속도를 보장하기 위한 다양한 방안이 필요함

Page 35: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

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 한글 및 한국어 처리 시스템 경진대회 대상

Page 36: 꼬꼬마 : 관계형  데이터베이스를 활용한  말뭉치 활용 도구

Copyright 2010 by Team KKMA 36

Q & A

? & !