전문용어를 사용하여 있어보이게 말하는 것. by 황병선 멘토님
'Memo' 카테고리의 다른 글
특허 괴물 (0) | 2012.08.10 |
---|---|
다리가 짧은 강아지들 (0) | 2012.05.21 |
전문용어를 사용하여 있어보이게 말하는 것. by 황병선 멘토님
특허 괴물 (0) | 2012.08.10 |
---|---|
다리가 짧은 강아지들 (0) | 2012.05.21 |
오류 내용은 iBatis 매핑 관련 설정 파일인 SqlMapConfig.xml에서 발생했고,
오타가 문제였다. 책 샘플 중의 오타...
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
userStatementNamespaces="true"
/>
Sql문 매핑 시 네임스페이스를 사용할 지 말지를 설정하는 부분에서
user가 아닌(어쩌면 당연하게도)useStatementNamespace였다.
아직 예제를 보면서 따라하는 수준이다 보니 에러가 나는 저 부분을 삭제하고 서버를 다시 실행했는데,
이번엔 템플릿을 통해 sql문을 실행할 때 매핑에 설정해둔 구문의 이름을 찾을 수 없다고 뜬다.
이름은 네임스페이스를 줘놓고, 설정에서는 네임스페이스를 사용하지 않는다고 했으니 당연한 에러다.
만약 네임스페이스를 사용하지 않는다면 모든 Statement에 유일한 이름을 부여하면 되겠다.
Hibernate 4.3.5.Final 버전의 버그 (0) | 2015.07.07 |
---|---|
lombok 설정이 안된다.. (0) | 2015.05.12 |
Spring JSON message converter 삽질기.. (1) | 2015.05.12 |
ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile. (0) | 2015.05.06 |
Dynamic Web - Spring 3.0 DispatcherServlet 세팅 (0) | 2012.08.14 |
이용율 평가 척도
DAUDaily Active User
MAUMonthly Active User
Retention - RRRetention Rate
얼마나 잡아두는가? - 재접속률
1 Day RR 7Days RR 1M RR
- 마케팅을 계속 해줄지 결정하는 요소가 됨
1 Day RR의 기준
40%↑ 평균
50%↑ Awesome! 이 게임은 대박날거다!
7 Day RR의 기준
30%↑ 평균
1 Month RR
10%를 넘기기가 힘드나 한국 시장은 20% 정도
하루 이용자 수도 반영이 되어야 한다.
한국 시장같은 경우 서비스 사용자 수가 3000명 정도가 되면 Reasonable함
7D RR과 1M RR을 많이 보는 추세
PCUPick Concurrent User - 최대 동시 접속자 수
중국은 LAN이 끊겨서 큰 용량의 게임을 다운로드 받기 어려움
-> PC방에 설치하여 유저들이 사용
(논외로 베이징에서 폰 개통해서 상하이로 가면 로밍해야한다고.. -_-)
모바일 게임이 성공(Flash 기반)
왜? 전체를 바로 다운로드 받는 것이 아니라 하면서 받기 때문에 느리지 않음
PCU은 마케팅 포인트를 잡거나 서버를 얼마나 두어야 할지 판단하는 기준이 됨
ARPUAverage Revenue Per User - 객단가
기본적으로 monthly based
ARPPUAverage Revenue Per Paying User
하드코어 게임은 주로 ARPPU를 산출
얼마나 게임에 돈을 지불하며 사용하는가?
UAC
진성유저/가성유저
LTVLife Time Value
한 기업의 고객으로 존재하는 전체기간동안 기업에게 제공될 것으로 추정되는 재무적인 공헌도의 합계
ROI
LTNVLife Time Network Value
자신의 서비스를 이용하는 사람이 다른 사람을 데려오는 정도?
바이럴리티?
배너광고의
Click Through Rate
CVR
CPI Cost Per Install
내 앱을 하나 설치하는데 어느정도의 비용이 드는가
EED
XED Exit ? Distribution
Outbound Messages Per User
유저가 얼마나 알리는지(메시지를 보내는지)
K Factor - 메시지당 얼마나 데리고 오는지
Soft Cash or Ingagement Cash or Soft Currency
모든 게임은 currency가 2가지가 있어야 한다 (돈으로 살 수 있는 것과 없는 것)
Whales 고래를 잡아라 - 게임업계의 화두?
ex | 사장님 같은 사람이 whale - 특정 몇몇이 매출을 올려준다.
만약 사우디에 고래가 있다 -> 사우디 시간에 맞는 이벤트를 한다던가 등의
추천 영화 - Indie Game the Movie
참고 사이트 - kontagent.com
추천 도서 - Anything you want
Social Game Design : Monetization Methods and Mechanics
Steal Like an Artist
Reality is Broken
용어 정리 (0) | 2012.07.23 |
---|---|
소프트웨어 마에스트로 면접 (8) | 2012.07.03 |
SW 마에스트로 최종합격 (0) | 2012.07.03 |
마에스트로 면접 준비해야하는데... (0) | 2012.06.22 |
뭘 준비해야 하지.. (0) | 2012.06.09 |
가을에 핀 연꽃이다.
겨울에 꽃이 피면 풍년이 든다.
고운 꽃은 산중에 있다.
고운 꽃은 열매가 열지 않는다.
고운 꽃은 향기가 없다.
곱기만 한 꽃에는 벌 나비가 오지 않는다.
꽃 구경도 밥 먹고 나서 한다.
꽃다운 이름은 오래도록 말로 전해진다.
꽃도 부끄러워 하고 말도 슴는다.
꽃도 시들면 오던 나비도 아니 온다.
꽃도 십일홍이면 오던 벌 나비도 아니 온다.
꽃도 입이 있어야 곱다.
꽃도 지고 봄도 갔다.
꽃도 피면 진다.
꽃도 한때 사람도 한창때다.
꽃도 한철이다.
꽃만 피고 열매는 맺지 않는다.
꽃방석에 앉힌다.
꽃밭에 나귀 맨다.
꽃보다는 경단이다.
꽃 본 나비가 그저 가랴.
꽃 본 나비다.
꽃 본 나비 불을 헤아리랴.
꽃 본 나비요, 물 본 기러기다.
꽃샘 잎샘에 반 늙은이 얼어 죽는다.
꽃샘 추위는 꾸워다 해도 한다.
꽃 싫어하는 사람 없다.
꽃 아래보다 코 아래.
꽃 없는 나비다.
꽃은 꽃이라도 호박꽃이다.
꽃은 반만 핀 것이 좋고 복은 만 복이 좋다.
꽃은 반만 핀 것이 좋고 술은 조금 취하도록 마신 것이 좋다.
꽃은 지면 다시 피고 피었다가는 다시 진다.
꽃을 탐내 나비가 거미줄에 죽는다.
꽃이 가지에 가득하다.
꽃이 고와야 벌 나비도 찾아온다.
꽃이 좋아야 나비도 모인다.
꽃이 지고 열매가 맺힌다.
꽃이 지니 봄이 저물어 간다.
꽃이 지면 오던 나비도 되돌아간다.
꽃이 펴야 열매도 열린다.
꽃이 향기로와야 벌 나비도 쉬어간다.
꽃 피지 임 오신다.
꽃 필 무렵에는 비바람이 잦다.
꿀 있는 꽃이라야 벌도 찾아간다.
굶주린 놈에게 화초다.
길가 버들과 담밑꽃은 누구나 꺾을 수 있다.
길가에서 고생하는 오얏꽃이다.
달리는 말 위에서 꽃구경하기다.
담 밑에 핀 꽃이다.
떨어진 꽃은 다시 나뭇가지에서 피지 못한다.
도라지꽃 피면 장마진다.
듣기 좋은 꽃노래도 한 두 번이다.
말로 꽃을 피운다.
매화는 백화의 형이다.
매화는 봄바람을 기다리지 않는다.
매화도 한철이고 국화도 한철이다.
목단꽃은 고와도 향기가 없다.
목단꽃이 곱다 해도 벌나비가 찾지 않는다.
무궁화꽃 편지 백일이며 서리가 온다.
배꽃이 두 번 피면 풍년이 든다.
백일 붉은 꽃 없고 천일 좋은 사람 없다.
백일 붉은 꽃 없다.
벌 나비가 꽃을 찾아 다닌다.
벌 나비가 꽃을 탐낸다.
벌 나비가 꽃을 희롱한다.
벌 나비가 꽃향기를 탐낸다.
봄꽃도 한때다.
봄꽃은 햇볕에서 웃는 것 같다.
붉은 꽃 한 송이다.
비단 위에 꽃 무늬를 놓는다.
산소 등에 꽃이 핀다.
연꽃은 더러운 못에서 핀다.
연꽃은 흙탕물에서 핀다.
일찍 핀 꽃이 일찍 진다.
좋은 꽃은 나중에 나온다.
죽은 나무에 꽃이 핀다.
죽은 뒤에 꽃상여다.
진달래가 두 번 피면 가울날이 따뜻하다.
진달래 꽃잎이 여덟이면 풍년 든다.
진달래 지면 철쭉꽃 보랬다.
찔레꽃 가뭄은 꾸어다 해도 한다.
한번 진 꽃은 다시 피지 못한다.
한 송이 꽃도 꽃은 꽃이다.
한 송이 꽃만 피어도 봄이 온 줄을 안다.
호박꽃도 꽃이다.
호박꽃에도 나비는 온다.
호박꽃을 꽃이라니까 오는 나비 괄세한다.
홍두깨에 꽃이 피겠다.
화초밭의 괴석이다.
참 쉽게들 하려고 한다. (0) | 2012.12.04 |
---|---|
소음 소음 소음 소음 (0) | 2012.08.25 |
모난 돌 (0) | 2012.01.26 |
못난 놈 (0) | 2012.01.25 |
모르면 고생한다. (0) | 2011.12.28 |
POJOPlain Old Java Object
특정 인터페이스를 구현하거나 특정 부모 클래스를 상속받는 등의 특별한 요구사항을 따르지 않은 평범한 자바 객체
Stereo Type
JNDIJava Naming and Directory Interface
JNDI는 자바 프로그램들을 DNS, LDAP 및 NDS 등과 같은 네이밍/디렉토리 서비스에 연결하기 위한 썬의 API이다
모바일 게임 At to Z (0) | 2012.08.06 |
---|---|
소프트웨어 마에스트로 면접 (8) | 2012.07.03 |
SW 마에스트로 최종합격 (0) | 2012.07.03 |
마에스트로 면접 준비해야하는데... (0) | 2012.06.22 |
뭘 준비해야 하지.. (0) | 2012.06.09 |
의존 문법
문장을 구성하는 언어요소와 또하나의 언어요소 사이의 의존관계를 파악함으로써 문장을 분석한다.
여기서 언어요소란 한국어의 경우 형태소로 볼 수도 있고 어절로 볼 수도 있다. 구구조 문법에서는 여러 언어요소가 모여서 구문 요소를 만들고 여러 구문요소가 모여서 더 큰 구문 요소를 만드는 방법을 택한다.
따라서 문장의 분석 결과는 문장 전체가 부분들로 나누어지며 각 부분은 다시 몇개의 더 작은 부분으로 나누어지는 계층화된 구조를 가진다.
의존관계는 두 언어요소 사이에 존재하는데 이 중 한 언어 요소는 지배소(governor)가 되며 다른 한 언어 요소는 의존소(dependent)가 된다. 의존 문법에 의한 문장의 분석 결과는 문장 내의 가능한 모든 의존 관계들의 집합이다. 의존 관계에 있는 두 언어요소 중 지배소는 의미의 중심이 되는 요소를 말하며, 의존소는 지배소가 갖는 의미를 보완해 주는 요소를 말한다. n개의 단어를 가진 문장이 가질 수 있는 최대의 의존관계 수는 가능한 두 단어의 쌍의 수와 같으며 따라서 n(n-1)/2가 된다. 그러나 실제 의존관계 수는 이보다 적게 된다.
의존 문법을 이용한 한국어 구문 분석을 하는 이유는 첫째로 어순의 자유성에 의한 문제점이 의존문법에서는 쉽게 해결되며, 둘째로 구성요소의 불연속성이나 구성요소의 생략 등과 같은 현상에 큰 영향을 받지 않으며 따라서 매우 견고성이 있는 파싱 방법을 구축할 수 있기 때문이다.
의존 규칙
의존 문법에서 가장 중요한 것은 두 단어 사이에 의존 관계가 존재하는지를 결정할 수 있는 기준으로써 이는 의존 규칙에 의하여 구현된다. 의존 규칙의 예는 다음과 같다. 1
예를 들면 "철수의 모자를 보았다"에서 "철수의"와 "모자를"은 "수식" 의존관계가 있음을 다음의 표로부터 알 수 있다. 즉 DEP-RELATIONmod(철수의, 모자를)이 성립된다.
관계 |
지배소 |
의존소 |
수식
|
명사
|
관형사, 관형격조사, 관형형어미, 명사, 부사 관형사, 관형격조사, 관형형어미, 부사 주격조사, 목적격 조사, 부사격조사, 보조사, 부사, 연결형서술어미, 부사형전성어미 부사 |
위 표는 어절을 언어요소로 본 경우이다. 그런데 한 어절은 여러개의 형태소로 구성되어 있는 경우가 대부분이다. 어떤 어절 A를 지배소로 이용하고자 할 때와 의존소로 이용하고자 할 때에 따라 A에 대한 범주를 다르게 하여야한다.
예를 들면 "모자를"을 지배소로 이용하고자 할 때는 명사 범주로, 의존소로 이용하고자 할 때에는 격조사 범주로 하여 위 표를 이용하여야 한다. 이러한 이유에서 "어절 사이의 퍼지0 의존관계를 이용한 한국어 파서에 관한 연구" (1993, 서광준, 최기선)에서는 이절마다 좌범주와 우범주를 갖도록 한다. 좌범주는 지배소의 경우에, 우범주는 의존소의 경우에 적용된다. 예를 들면 "철수의"는 좌범주로 고유명사, 우범주로 관형격 조사를 가진다.
의존 제약
문장의 의존관계를 구하는 데 있어서 의존관계 규칙만을 이용하면 실제로 올바르지 못한 의존 관계가 많이 생성될 수 있어 여러 의존관계 제약을 이용하여 잘못된 의존 관계의 생성을 제외해야 한다.
1. 지배소 후위의 원칙
지배소는 의존소보다 문장내에서 뒤에 위치한다.
2. 투영의 원칙
임의의 의존관계 A, B에 대해서 A에 대한 아크와 B에 대한 아크는 서로 겹치지(crossing) 않아야 한다. 2
3. 지배소 유일의 원칙
하나의 의존소는 오직 한개의 지배소만 갖는다.
4. 격틀/의미정보 제약
의존소 A가 격 c1을 나타낼 때 지배소 B의 c1 격에 대한 의미 제약(semantic constraint)을 의존소 A가
만족시킬 수 있어야 A와 B사이에 의존관계가 성립한다.
5. 필수 성분 제약
필수 성분을 가져야 하는 어절이 필요한 성분을 갖지 못하고서는 다른 어절의 의존소로 사용될 수 없다.
이와 같은 의존 제약 이외에도 "지배 가능경로를 이용한 오른쪽 우선 구문분석"(김창현, 김재훈, 서정연, 1993)에서는 문장 내의 일부의 어절에 대해서만 의존관계를 조사할 수 있게 하여 불필요한 의존관계의 생성을 시도하지 않게 하여 파싱의 효율을 높이도록 한다. 즉 i번째 어절 W1에 대해서 이를 의존소로 보고자할 때 지배소가 될 수 있는 어절들은 Wi의 지배 가능 경로 상에 있는 어절들 뿐임을 이용하는 것이다. W1의 지배가능 경로란 W1+1, …, Wn(즉 W1 이후의 모든 어절들)을 모두 포함하는 의존 트리에서 W1 + 1에서 루트까지의 경로(path)를 말한다.
나동렬, "한국어 파싱에 대한 고찰",1994.
한국어 구문 분석 관련 연구 (0) | 2012.07.05 |
---|---|
문장 분석 (작성 중) (0) | 2012.07.05 |
의존 구조 분석 (5) | 2012.07.03 |
1987', 김재훈, 김철호, 최기선, 김길창
PIVOT 방식의 기계번역에서 한국어 격구조 설정과 중간언어로부터 조사 생성
류법모, 이종혁, 이근배
한국어 파서에서의 지역 의존 관계의 이용
1993', 서광준, 최기선
어절 사이의 퍼지 의존 관계를 이용한 한국어 파서에 관한 연구
1994', 나동렬
한국어 파싱에 대한 고찰
정석원, 박의규, 나동열,
격 관계와 상호정보를 이용한 한국어 의존 파서
1995', 홍영국 이종혁
한국어 의존 해석을 위한 형태-통사적 품사 분류 체계
1996', 류법모, 이태승, 이종혁, 이근배
술어 중심 제약 전파를 이용한 2-단계 한국어 의존 파서
1997', 강호관, 이종혁, 이근배
새로운 어절 해설에 기반한 한국어 의존관계 파서
1997', 이성욱
변환 규칙 학습기를 이용한 한국어 의존 구조 분석기
2000', 황이규, 이현영, 이용석
형태소 및 구문 모호성 축소를 위한 구문단위 형태소의 이용
2000', 김미영, 강신재, 이종혁
단위 분석과 의존문법에 기반한 한국어 구문분석
2002', 김광백, 박의규, 나동렬, 윤준태
구간 분할 기반 한국어 구문 분석
2003', 최선화, 박혁로
한국어 확률 의존문법 학습
2004', 임수종, 정의석, 장명길
백과사전 질의응답을 위한 격틀 기반 의존관계 분석
2004', 우근신, 박찬곤
질의응답시스템을 위한 문장의 수식구조와 질의문 연구
2004', 박의규, 조민희, 김성원, 나동열
구묶음과 구간분할을 이용한 의존 관계 추출 기법
2004', 신승은, 서영훈
한국어 질의응답시스템에서 구문정보에 기반한 질의분석
2006', 박의규, 나동열
한국어 구문분석을 위한 구묶음 기반 의존명사 처리
2006', 김태웅, 조희영, 서형원, 김재훈
의존명사를 포함하는 보조용언의 구묶음
2007', 우연문, 송영인, 박소영, 임해창
지배가능 경로 문맥을 이용한 의존 구문 분석의 수식 거리 모델
2008', 이호석
하위범주화에 의한 한국어 파싱 설계
김미영, 강신재, 이종혁
규칙과 어휘정보를 이용한 한국어 문장의 구묶음(Chunking)
강호관, 이종혁, 이근배
새로운 어절 해석에 기반한 한국어 의존관계 파서
우연문, 송영인, 박소영, 임해창, 정후중
지배가능 경로 문맥을 이용한 의존 구문 분석의 수식 거리 확률 모델
2009', 김의수
문장의 구조와 복잡성
2010', 김의수
문장 구조의 다양성과 복잡성
의존 문법에 의한 한국어 파싱 (0) | 2012.07.05 |
---|---|
문장 분석 (작성 중) (0) | 2012.07.05 |
의존 구조 분석 (5) | 2012.07.03 |
문장 분석의 목적
하나의 입력 문장이 주어졌을 때 그에 적합한 문장 구조를 알아내기 위함
한국어 문장 분석에 적합한 파싱 방법
의존 문법에 의한 한국어 파싱 (0) | 2012.07.05 |
---|---|
한국어 구문 분석 관련 연구 (0) | 2012.07.05 |
의존 구조 분석 (5) | 2012.07.03 |
펌 : http://klpl.re.pusan.ac.kr/graduates/2008_2/iku88/Background.htm
2. 관련 연구
이 장에서는 구문 분석에 대한 선행 연구를 살펴본다. 구문 분석기를 분류하는 기준 중 하나는 바로 사용된 문법(Grammar)이다. 구문 분석기는 기본적으로 특정 문법에 따라 그 기능을 수행한다. 다만, 이러한 문법들은 각기 고유한 특징이 있으며, 언어들이 가진 특징에 따라 적용할 문법을 잘 고르는 것이 구문 분석의 중요한 첫걸음이라 할 수 있다. 구문 분석에 주로 적용되는 문법은 구구조 문법(phrase-structure grammar), 범주 문법(categorial grammar), 의존 문법(dependency grammar) 등이 있다[4].
구문 분석기의 문법을 구축할 때, 학습에 의한 자동적 방식인지 사람에 의한 수동적 방식인지도 구문 분석기를 분류하는 기준이 될 수 있다. 학습에 의한 자동적 방식은 정제된 대용량의 구문 분석 말뭉치가 필요하며, 확률이 비교적 적은 문법 규칙까지 포함, 문법 규칙의 수가 많은 경향이 있다. 사람이 직접 규칙을 만드는 방식은 많은 시간이 필요하며, 한국어 문법에 대한 높은 지식이 필요하다는 단점이 각각 있다.
한국어 구문 분석기는 구문 분석의 기본 단위에 따라서도 분류할 수 있다. 영어는 하나의 어절이 거의 하나의 형태소이기 때문에 큰 상관이 없지만, 한국어는 하나의 어절이 하나 이상의 형태소로 이루어졌기 때문이다. 따라서 한국어 구문 분석기는 그 기본 단위가 형태소인지, 어절인지에 따라 구분할 수 있다. 전 세계적으로 기계에 의한 구문 분석이 가장 발전한 언어는 영어이다. 따라서, 2.1절에서 영어 구문 분석기에 대한 연구들을 먼저 살펴보고, 2.2절에서 한국어 구문 분석기에 대한 연구들을 살펴본다. 그리고 2.3절에서 그들의 문제점을 지적하고, 본 논문에서 제안하는 구문 분석기의 방향을 잡아 본다.
2.1 영어 구문 분석기
영어는 대용량의 구문 분석 말뭉치가 구축되어 있다. 대표적인 것이 Penn tree-bank인데, 이 대용량 말뭉치를 이용해 다양한 확률 기반의 영어 구문 분석기가 구현되었다.
E. Charniak의 immediate-head parsing model[22]은 파스 트리(parse tree)의 한 구성요소 c에서 하위 노드로 확장될 때, 구성요소 c의 head의 어휘정보를 조건부로 하는 확률에 따른다. 40단어 미만의 문장을 대상으로 E. Charniak의 immediate-head parsing model은 평균 90.1% LP(labeled precision)/LR(labeled recall)를 보이고 있다. M.Collins의 dependency-based parsing model[24]은 하나의 head와 이것과 관련된 여러 modifiers 사이의 확률적인 의존 관계를 고려한 모델이다. 40단어 미만의 문장을 대상으로 평균 88.6%의 LP/LR를 보이고 있다. 또한, 이들은 Collins의 기본 parsing model을 바탕으로 서로 다른 reranking 방법을 적용하였는데, Collins의 reranking 모델은 평균 90.3% LP/LR, Charniak의 reranking 모델은 평균 91.0% LP/LR의 성능을 나타냈다[8].
2.2 한국어 구문 분석기
한국어는 주어, 목적어와 같은 문법 요소들의 생략이 빈번하며, 문장에서의 위치보다는 조사와 같은 기능어에 의해 결정된다. 이러한 특징 때문에, 한국어는 구구조 문법(phrase structure grammar)보다 의존 문법(dependency grammar)에 의한 분석이 더 적합하다[11]. 초기에는 한국어 구문 분석에 구구조 문법을 적용하기도 하였으나, 최근의 많은 한국어 구문 분석기는 의존 문법을 이용하고 있으며, 본 논문에서 제안하는 구문 분석기 역시 의존 문법을 이용한 구문 분석기이다.
한국어에서, 하나의 문장은 하나 이상의 어절로 되어 있으며, 하나의 어절은 하나 이상의 형태소로 이루어져 있다. 대부분의 한국어 구문 분석기는 어절을 구문 분석의 기본 단위로 삼아왔다. 어절을 기본 단위로 삼으면, 기본 단위의 수가 형태소를 기본 단위로 삼을 때보다 훨씬 줄어들며, 이것은 곧 구문 분석 과정이 단순해 짐을 의미한다. 다만, 하나의 어절이 하나 이상의 형태소로 이루어졌으며, 이는 곧 하나의 어절이 실제 그것을 구성하는 형태소들의 조합에 의해 분류됨을 뜻한다.
‘선희는’이라는 어절이 있다고 하자. 이것은 ‘선희’라는 명사와 ‘는’이라는 보조사로 결합 되어 있다. 구문 분석을 위해서는 이 어절이 명사+보조사로 이루어졌다는 정보가 모두 필요하다. 이 어절은 ‘명사+보조사’ 정도로 분류될 수 있다. ‘옷의’라는 어절은 ‘명사+관형격조사’ 정도로 분류할 수 있을 것이다. 표 1은 [8]에서 사용한 전처리 단계 중 하나로, “선희는 현우를 일으켜 세워 옷의 먼지를 털어 주었다.”라는 문장을 형태소 분석한 후, 그것을 어절 단위로 묶은 결과를 보여준다.
이처럼 하나의 어절을 분류하려면 하나 이상의 형태소 분류의 조합이 필요하며, 이것은 곧 형태소 기본 단위보다 그 분류 체계가 훨씬 커짐을 의미한다[20]. 분류 체계가 크다는 것은, 그것을 바탕으로 구축되는 문법 규모 역시 크다는 것을 의미한다. 이 경우, 필연적으로 문법 구축 역시 학습을 통해 이루어질 수밖에 없다. 사람이 수동적으로 구축하기에는 그 규모가 너무 크기 때문이다. 수동적으로 문법을 구축하려면, 분류 체계를 많이 쓰이는 순으로 적당한 수만 선택하는 방법도 있다. 하지만, 분류 체계의 수가 줄어드는 만큼 정확도 역시 떨어질 것이다.
한국어의 어려운 점 중 하나로, 어절의 중의성을 들 수 있다. 하나의 어절이 하나 이상의 형태소로 구성되었으며, 하나의 어절은 하나 이상의 형태소 조합으로 분석될 수 있다. 예를 들어, ‘나는’이라는 어절은 표 2와 같이 분석될 수 있다.
이러한 어절의 중의성은 한국어 구문 분석의 큰 장애 중 하나다. 하나의 문장이 3개의 어절로 되어 있고, 각 어절이 2개의 형태소 분석 조합으로 되어 있다고 하자. 이 경우, 구문 분석 입력의 가짓수는 8(2×2×2)개가 된다. 문장이 길어지면 길어질수록, 구문 분석 입력의 가짓수는 엄청나게 늘어나게 되어 구문 분석이 불가능에 가까워진다.
이 문제점을 피하는 방법 중 가장 많이 쓰이는 것은 품사 태거를 이용하는 것이다. 대부분의 한국어 품사 태깅 시스템은 90% 이상의 성능을 보인다. 품사 태거를 사용하면 모든 어절의 중의성이 없어진다. 하지만, 그 결과는 100% 맞는 것이 아니며, 결국 품사 태거의 오답은 구문 분석의 오답으로 직결된다. 구문 분석을 아무리 잘해봐야 품사 태거의 성능을 뛰어넘지 못한다. 또한, 품사 태깅 자체가 구문 분석을 해야 정답을 찾을 수 있는 일도 있다.
“은지현의 확률적 차트 파싱에 기반한 한국어 의존 구조 분석기[8]”는 의존 문법을 사용하며, 어절을 기본 단위로 하고 있다. 구문 문법 규칙은 세종 말뭉치에서 사용된 1,189개의 규칙 중, 빈도수를 고려한 793개를 사용하고 있다. E.Charniak의 immediate-head parsing model[22]을 적용시켰다. 성능은 LP/LR 78.98%/79.55%이다.
“Hoojung CHUNG의 A New Probabilistic Dependency Parsing Model for Head-Final, Free Word Order Languages[23]”에서 소개된 시스템은 어절 단위의 확률에 기반을 두고 있으며, 의존 문법을 사용한 확률 기반 구문 분석기이다. KAIST Language Resources 말뭉치를 사용하고 있으며, 성능은 Precision 85.00%, Recall 84.51%, F-measure 84.76%를 보이고 있다.
“최선화의 형태소 단위의 한국어 확률 의존문법 학습[15]”에서 소개된 시스템은 형태소 단위이며, 확률 의존 문법을 사용하고 있다. 학습을 위해 KAIST의 트리부착 말뭉치 25,000문장을 사용했으며, 총 2,349개의 확률 문법 규칙을 발견, 적용했다. 성능은 69.77%이다. 최근 한국어 구문 분석에 대한 연구는 기본적인 구문 분석 방법론을 넘어서, 다양한 언어적 기법을 적용하고 있다. 이러한 연구들은 구문 분석 알고리즘과는 독립적으로 적용될 수 있는 추가적인 제약 규칙이다.
“황선영의 구조적 중의성 해결을 위한 명사 수식 부사 연구[16]”에서 소개된 구문 분석기는 구구조 문법을 사용하고 있으며, 3만 문장으로부터 자동으로 추출된 2,600여 개의 구구조 규칙이 적용되었다. 거기에 명사 수식 부사에 대한 처리를 더하여 성능을 81.9%에서 83.6%로 향상시켰다.
“김미영의 S-절 분할을 통한 구문 분석[3]”에서 소개된 시스템은 어절 단위이며, 의존 문법을 사용한다. 학습과 실험에 사용된 말뭉치는 Matec99(제1회 형태소 분석기 평가 대회)와 KIBS(국어정보베이스)의 일부분이다. S-절 분할을 통해 여러 개의 용언이 나오는 문장을 구문 분석 전에 분할하여 중의성을 줄였다. 성능은 정확도 87.38%, 재현율 87.60%이다.
“박의규의 한국어 구문분석을 위한 구묶음 기반 의존명사 처리[7]”는 구문 분석을 수행하기 전, 의존명사들에 구 묶음(chunking)을 수행하여 모호성을 줄이는 기법을 소개하고 있다. 동아일보 2002년 기사를 수동 구축한 말뭉치 1,000문장을 사용했으며, 성능은 정확도 88.13%, 재현율 86.96%, F-score 0.8754이다.
2.3 한국어 구문 분석기에 대한 고찰
선행 연구들로부터 알아낸, 한국어 구문 분석기를 구현할 때 고려해야 할 사항들은 다음과 같다.
1) 사용할 문법
2) 품사 태거 사용 여부
3) 구문 분석의 기본 단위 - 형태소 혹은 어절
4) 문법 구축 방식 - 확률 혹은 수동
5) 추가적인 언어적 제약 기법
각 사항에 대한 장단점을 보면서, 본 논문에서 제안하는 구문 분석기의 구현 방향에 대해 얘기해보겠다.
2.3.1 사용할 문법
자연 언어 구문 분석을 위한 문법은 다양하지만, 그중에서 한국어 구문 분석에 가장 적합한 문법은 의존 문법으로 생각된다. 한국어는 주어, 목적어와 같은 문법 관계들이 문장에서의 위치와는 무관하기 때문에 어순이 자유로우며, 생략이 빈번하다. 의존 문법은 이러한 한국어의 특징을 반영하기에 적합하다. 따라서 본 논문에서는 의존 문법을 사용한 구문 분석기를 사용할 것이다. 다만, 의존 문법은 위치를 상관하지 않기 때문에, 그 구문 트리(tree)가 원래 문장과 많이 달라 알아보기 어려운 경향이 있다. 본 논문에서는 의존 문법에 구(phrase)의 개념을 도입하여 이를 해결했다. 원래 구는 구구조 문법에서 사용되는 것으로, 구문 트리에서 하위트리(sub-tree)를 표현하고자 사용되는 비단말 노드(non-terminal node)이다. 이를 적용하여 문법 규칙을 더 세분화하여 구축할 수 있었으며, 구문 분석의 결과가 의존 문법보다 이해하기가 더 쉬웠다.
2.3.2 품사 태거 사용 여부
한국어는 어절의 중의성이 매우 크기 때문에, 거의 모든 한국어 구문 분석기는 품사 태거를 사용하고 있다. 이는 매우 효율적이지만, 품사 태거의 한계가 곧 구문 분석기의 한계로 이어진다. 이를 방지하고자, 본 논문에서는 품사 태거를 사용하지 않고, 가능한 모든 형태소 분석 조합에 대해 구문 분석을 시도한다. 또한, 중의성을 제거하고자 복합 명사의 구 묶음, 관용구 처리, 의존 명사에 의한 형태소 분석 후보 제거 등 다양한 전처리를 수행한다.
2.3.3 구문 분석의 기본 단위
대부분의 한국어 구문 분석기는 그 기본 단위를 어절로 삼고 있다. 이 경우, 구문 분석 과정은 단순해지지만, 어절의 분류 체계가 커져 결국 문법 규칙의 수가 커지게 된다. 이는 곧 규칙을 수동으로 구축하기 어렵게 하며, 말뭉치를 이용한 학습 방법을 선택하게 한다. 다만, 아직 한국어의 구문 분석에 대한 말뭉치는 구축을 중심으로 진행되었으며, 그 검증이나 보완에 대한 연구는 미비한 실정이다[9].
또한, 어절 단위의 구문 분석은 언어학적으로 자연스럽지 못한 구문 분석을 수행하게 된다. 예를 들어, “예쁜 집으로”를 분석할 때, 어절 단위는 [[예쁜][집으로]]로, 형태소 단위는 [[예쁜 집]으로]로 분석이 된다. 언어학적으로 형태소 단위는 깔끔하며, 어절 단위의 분석은 억지스럽다. 이와 같은 문제점을 피하고자, 본 논문에서는 형태소를 기본 단위로 구문 분석을 수행한다.
2.3.4 문법 구축 방식
본 논문에서는 문법을 수동으로 구축하였다. 확률적 시스템은 정제된 말뭉치를 기반으로 구현되는데, 아직 국내에서는 기존에 구축된 말뭉치에 대한 검증이나 보완에 대한 연구가 미비한 실정이다[9]. 따라서, 본 논문에서는 사람이 직접 실제 자료(data)를 눈으로 보면서 의존 관계를 찾아냈다. 200개 정도의 의존 문법 규칙을 구축했으며, 이는 계속 보완이 이루어질 것이다.
2.3.5 추가적인 제약 규칙
앞서 소개한 다양한 언어학적 제약 기법들을 반영했다. 본 논문에서 제안하는 구문 분석기는 형태소 단위에 품사 태거도 사용하지 않고, 그로 말미암은 중의성을 처리하고자 많은 기법을 적용했다. 전처리로 복합 명사와 관용구의 구 묶음, 보조용언과 어울리는 어미에 대한 처리 등 기존에 알려진 기법들이 적용되었으며, 실제 구문 분석 단계에서는 건너뛰기와 인접이라는 부가 설정을 새롭게 도입하였으며, 부사의 하위 범주화, 연결어미의 하위 범주화 등 품사 분류를 세분화하여 중의성을 줄이고자 하였다. 또한, 후처리로 동사의 논항 의미 정보를 적용하는데, 논항 사전의 일관성을 위하여 한국어 어휘의미망을 적용시키는 새로운 아이디어를 시도하였다.
의존 문법에 의한 한국어 파싱 (0) | 2012.07.05 |
---|---|
한국어 구문 분석 관련 연구 (0) | 2012.07.05 |
문장 분석 (작성 중) (0) | 2012.07.05 |
이것 저것 바쁜 탓에 준비를 많이 못해갔다.
PT도 너무 대충 만들어 갔고..
예상질문으로 준비했던 것들
1. 자기 소개
2. 지원 동기
3. 향후 계획 및 포부
4. (교내 프로그래밍 경시대회에서) 어떤 문제들이었고, 어떤식으로 해결했는가
5. 다른 사람을 이끌어본 경험이 있다면 어떤 것이었고, 무엇이 어려웠는가
6. 리더의 입장이 되어본적이 있다면 사람들간의 충돌이나 팔로워들이 따르지 않을 때, 어떻게 행동하였는가
7. 성격의 장단점
8. 자신은 어떤 사람이라고 생각하는가?
PT는 간단하게 지금까지 프로젝트 했던 것 캡쳐해서 슬라이드로 구성했고,
뒤에가서는 지금 생각하는 프로그래머로써의 나를 간단하게 애니메이션으로 만들었다.
면접 시간에 조금 늦어서 급하게 들어갔는데, 안내메일에서 멘토 회의실 2-A였나? 거기로 되어있어서,
센터 2층에 들어서자마자 그냥 그리로 들어갔는데, 잘못들어간거였다..
면접 순서는 대기하고 있다가, 코딩 문제를 받아서, 코딩실에서 문제를 푼 후,
자기 차례가 되면 면접실로 들어가서 면접을 본다,
인성 면접을 멘토 세분과 30분간 보고 이후에 면접실을 옮겨 다른 멘토 세분과 다시 기술면접을 본다.
사실 인성면접, 기술면접 나눠져 있긴 하지만 그 기준이 모호하다..
두 면접실 모두 인성, 기술을 보는 듯..?
주어지는 문제를 자신의 노트북으로 코딩해서 면접실의 TV에 연결하여 소스를 보면서 얘기한다.
주로 여기서는 문제를 어떤식으로 해결하였는가? 그리고 코딩 스타일은 어떤가?를 보는 듯 하다.
내가 풀었던 문제는 우등 고속 버스의 좌석 배치 문제였는데, 보통 우등 버스의 경우에는 2열이 붙은 좌석과
1열만 있는 좌석이 있다.
2열이 붙은 좌석을 A, B열이라고 하고 1열만 있는 좌석을 C열이라고 할 때
한명의 승객이 좌석을 요구하는 경우 C열을 우선으로 주고, 만약 C열이 꽉 찬 경우에는 AB열의 뒤쪽부터 채워나간다.
두명의 승객이 좌석을 요구하는 경우 AB열을 우선으로 주고, 이때 A열 또는 B열만 차있는 상태라면
한 자리를 비워두고 뒤쪽의 붙어있는 좌석을 내어준다.
쓸데없이 머리굴리다가 복잡해져서 코드 엎고 다시 한다고 완성은 못했으나,
완성에 대해서는 크게 얘기하진 않았다.
다만 의아한 점은 인성 면접에서 코드를 볼 때는 면접 거의 끝에 가운데 앉으신 멘토분이 옆의 멘토분께 더 하실 말씀 있으신가요? 했을 때 코딩을 잘해서 그렇게 할 말은 없네요라고 했고...
기술 면접에서는 소스코드가 대체적으로 엉망이고 자료구조를 사용했으면 좋았을걸 이라고 말씀하셨다.
각자 멘토에 따라 자신의 스타일이 있으니 그런 모양이다.
자바를 사용해서 문제를 풀었는데 객체지향적이진 않고 거의 C스타일로 작성해서 그런 모양이다.
대부분의 대화는 문제 풀이와, 지금까지 했던 프로젝트에 대한 얘기였고,
자신을 어필하기 위한 소개, 포부, 계획, 자신감 등을 내비칠 수 있도록 준비하면
하고 싶은 말이 있냐고 물어볼 때 준비한 대로 대답하면 되고, 멘토분들도 어느정도 수준을 맞춰서 말씀해 주셔서
부담없이 면접을 볼 수 있었던 것 같다.
모바일 게임 At to Z (0) | 2012.08.06 |
---|---|
용어 정리 (0) | 2012.07.23 |
SW 마에스트로 최종합격 (0) | 2012.07.03 |
마에스트로 면접 준비해야하는데... (0) | 2012.06.22 |
뭘 준비해야 하지.. (0) | 2012.06.09 |