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