4급 한자 능력 검정 시험 기출문제 제68회, 69회, 70회
효율적인 한글-한자 자동변환을 위한 어 절 단위 의 변 환대상 추출 방식 과 한자어 사전 구축 방안
요 약 문서의 작성에 사용되는 워드프로세서가 일상생활에 필수도구로 자리잡아 가고 있다. 이에 따라 워드프로세서를 보다 지능화시켜 문서작성 작업에 도움울 주는 방향으로 발전하고 있다. 이러한 기능의 하나로서 한글/한자가 혼용되는 문서의 작성에 도움을 주기 위해 여러 가지 방 안둘이 연구되고 있다. 본 논문에서는 효율적인 한글/한자 자동변환을 위해 어절단위의 변환대 상 추출방식과 어절단위의 변환을 고려한 한글-한자 변환 시스템의 성능향상울 위해 요구되는 효율적인 한자어 사전의 구축방안에 대해 제안하고자 한다. 1. 서 론 문서의 작성을 위한 워드프로세서의 역할이 중요해 지고 있다. 이러한 가운데 현재 사용되고 있는 워드프 로세서에 좀더 지능화된 기능올 부여하기 위한 연구 들이 진행되고 있다. 이에 한 연구로 한자를 보다 편 리하게 입력하기 위한 방법들이 연구되고 있고, 부분 적으로 실용화되고 있다. 한글/한자를 혼용하여 문서를 작성하는 데 사용되 는 현재의 워드프로세서에서 한자의 입력은 음절 내 지 단어단위의 한글을 입력한 후 한자로 직접 변환하 는 방식으로 매우 수동적이며 비효율적이다. 이는 한 자에 대한 지식을 전적으로 사용자에게 의존하게 되 는 것이다. 보다 구체적으로,문장 내에서 변환하려는 단어를 직접 추출하여 변환을 수행해야만 한다. 이에 대한 개선을 위해 어절이나 문장단위의 자동적인 변 환방식이 필요하다. 즉,문장을 입력하는 과정에서 변 환되어야 하는 단어를 스스로 추출하여 지능적인 변 환을 수행하는 시스템이 요구되고 있다[1]. 이러한 한 글-한자 자동변환을 위해서는 한글문장의 형태소분 석, 의미분석, 방대한 양의 한자어 사전 둥이 필요하 지만, 자연언어의 규칙성 발견의 어려움과 사전의 구 현에 필요한 인력과 개발비용의 문제 등으로 실용적 인 시스템에 이르지 못하는 둥 어려움을 겪고 있다 [2]. 따라서, 보다 효율적인 한글-한자 자동변환 시스 템을 위해서는 현실성있는 변환방법의 연구와 변환에 필요한 효율적인 한자어 사전이 필요하다. 본 논문에서는, 효율적인 한글-한자 변환 시스템 구축을 위해 필요한 어절단위의 변환대상의 추출방식 과 한자어 사전의 구축방안을 제안한다. 어절단위의 변환대상 추출방식은 자연언어의 기계번역 등에도 중 요한 연구과제가 되고 있다. 그리고, 이러한 한자어 사전은 한글-한자와 관련된 시스템에서도 응용할 수 있다 2. 한글-한자 자동변환의 단위 일반적으로 우리가 사용하는 워드프로세서의 초기 버전들부터 최근(1997년 10월 현재)의 버전들을 살펴 보면,한글-한자의 변환을 수행하는 방법에 표 1과 같은 형태로 발전되어 왔음을 알 수 있다. 이들 방법을 살펴보면, 음절/글자 단위의 변환을 수 행하는 워드프로세서에서는 한 음절의 한글올 입력한 후, 그에 해당하는 한자를 보여주고 사용자로 하여금 직접적인 선택을 하도록 하는 방법을 주로 사용한다 표 1. 한자변환 방식의 예 변환 단위 옴절/글자 단 어 에서 상당한 비율로 나타난다. 조사부는, [조사]•의 형 태로 0개 이상의 조사로 구성되어 있다. 한글문장에서 나타나는 조사류어의 분포와 기능은 표 2와 같다. 표에서는, 각 조사류어의 성질을 생각하 고 있지만, 조사를 단순 비교-분리하는 경우에는 이 러한 것까지는 고려할 필요는 없다. 오히려 조사를 분 리해 내기 위한 판별우선순위를 정해야 한다. 변환의 예 국- 國, 민-民 : 국민(國民) 국민ᅳ國民 : 국민(國民) 따라서 사용자는 글자수 만큼의 선택을 해야만 한 다. 이에 비해 단어 수준의 변환은 현재 널리 사용되 고 있는 방법으로, 사용자로부터 한글-단어의 입력올 받은 후 그에 해당하는 한자를 보여준다[5]. 그러나, 이 방법 역시 사용자가 직접 변환하려는 단어를 직접 추출해야 하고, 또한 변환하려는 한자어가 동음이의어 인 경우가 발생해 여전히 사용자의 상당한 수고를 필 요로 한다. 이러한 문제점들을 개선하기 위해 어절/문 장 단위의 변환을 생각할 수 있다. 이 방법은 워드프 로세서에서 어절/문장을 입력받고, 각 어절/문장 단위 로 분석하여 적절한 변환대상올 추출하고 사용자의 개입을 줄이는 방향으로 자동적인 수법을 취한다. 워 드프로세서에서도 사용자들은 어절의 입력과정에서 한자변환을 생각하기 때문에,단어단위의 변환방법 보 다 진보된 방법이라 할 수 있다. 3. 어절단위의 변환 시스템 3.1 변환대상의 추출 사용자가 직접 추출한 단어-단위에서의 변환은 단 순히 단어에 대한 한자만 가지고 변환을 수행한다. 그 러나, 어절단위의 변환에서는 입력되고 있는, 또는 입 력된 어절에서 변환되어야 하는 변환대상을 시스템 스스로 찾아야 한다[3]. 한글/한자를 혼용하여 작성하 는 글에서 한자로 변환하는 어절은 대부분 '명사부+조 사부' 형태로 되어 있는 어절에 대해 수행한다. 따라 서, 변환을 이러한 어절을 분석하고 명사부를 추출하 여 변환올 수행하는 과정이 요구된다. 본 논문에서는 조사부를 분리하기 위해 어절 끝부 분부터 조사테이블과 비교하여 분리해낸다[4]. 우선, 변환하는 어절을 '명사부 + 조사부' 형태만으로 한정 시킨다. 실제적으로, 이러한 형태의 어절은 한글문장 연결 조사 비교 등위 연결 조사 표 2. 조사류어의 분포와 기능 격조사 접속 조사 이접 조사 열거 조사 대둥 비교 조사 조사 차등 비교 조사 한정 조사(보조사) 주어 조사/목적 조사 소유격 조사 호격 조사 까지, 께, 다,더러,로, 부터, 서, 써,에,에게,으로,한테 랑, 서껀, 와, 하고 고,나, 든 며, 에, 하며 같이,대로,마냥, 만,만큼,처럼 만, 보다 까지, ᄂ들, 나,나마, 는, 마저 만, 밖에, 부터,뿐, 조차 올,룰, 이,가 의 야, 시여 이를 위해 조사테이블을 다시 만들면, 아래와 같다. CString Josa_Table[2][30]={ II 2음절 조사류 {"에게","한테","더러","부터","까지","하고"/'으로","하 며","만큼","처럼","같이","마냥","대로","보다","밖에","조 차","마저","나마","시여","마다"," "," II II II // n II II n it " n n n\ // 1음절 조사류 {"어)'',"께",“로","서” "써'1/'다” "랑 와 ” "고" "나" "든"" 며 »' H'p'J.M » WW » » •«— » Wyj." // S O " 이" " 의" " C > Y' " " " ᄋ " "은/; n II "서 " "찐" "과" "아" " "JJ* CString 클래스: Visual C++의 String처리 클래스 < 조사의 길이별 분류 > 이와 같이 분류한 이유는, 어절에서 조사를 분리할 때 길이가 긴 조사가 우선 분리되어야 하기 때문이다. 다음에 그 예를 보인다. "," 그대에게 ᅳ 그대 + 에게 (ᄋ) 그대에 + 게 (X) 이 추출과정에서 사용되는 한자사전은, 3.2절에서 만약 길이순으로 분리되지 않으면 다음과 같이 짧은 길이의 조사가 긴 길이의 조사에 포함되는 경우에 문 제가 된다. 하고/고, 하며/며, 같이/이, 대로/로, 보다/다, 으로/로 따라서, 조사 테이블올 길이순으로 재배열할 필요 가 있다. 지금까지의 과정으로, 어절 끝부분을 분석하 여 하나의 조사를 분리할 수 있었다. 하지만, 조사가 분리된 명사부가 반드시 명사라는 보장을 하기엔 아 직 이르다. 왜냐하면, 조사는 조사끼리 결합할 수 있 기 때문이다. 조사끼리의 결합으로 이루어진 복조사인 경우, 위의 조사분리과정을 반복 적용해야 한다. 다음 과 같은 경우를 생각해 보자. 한국에서는 ᅳ 한국에서 + 는 지금까지의 방법으로는,이와 같이 분석해 낼 것이 다. 아직 '한국'이라는 명사가 추출되지 못했기 때문에 또 한번의 조사 분리를 시도해야 한다. 마찬가지로, 여러 조사가 결합된 경우에도 조사를 반복해서 분리 해야만 한다. 위의 방법들은 대부분의 경우에 있어서 성공적이다. 지금까지 신문기사의 문장을 가지고 실험을 해 본 결 과 70%정도의 분리율을 보이고 있다. 물론,명사사전 도 없는 경우이다. 그러나, 더 많은 문장의 실험에서 이 정도의 분리율은 오히려 떨어질 ■가능성이 많다. 이 는 자연언어에 내재하는 다음과 같은 원초적인 문제 때문이다. 누에가 (자라면) — 누+에+가 '누에'라는 명사를 모르는 경우에, 이제까지의 방법 대로 하면 위에서처럼 분리할 것이다. 이와 같은 경우 는 얼마든지 있을 수 있다. 이는 명사 속에 조사가 포 함된 경우이다. 따라서 '누에'와 같은 명사들을 데이터 베이스화 시켜 분리의 과정에서 참조하게 만들어야 한다. 일반적으로는 한글문장에서 발생하는 모든 명사 를 참조하도록 하여야 하겠지만,본 한글-한자 자동 변환의 과정에서는 한자어들만을 탐색의 대상으로 삼 기 때문에 한자어 사전만을 참조대상으로 삼는다. 그 러나, 한글의 고유어사전을 참조하도록 해서 변환대상 을 찾는 계산량을 줄일 수 있다. 다루어진다. 이 변환 시스템의 입력부에는 문장에서 분석된 어절을 받아들인다. 한글문장에서 어절의 구분 하는 한정자는 공백과 마침표(.), 쉼표(.), 기타문장기 호(?,!) 등으로 한다. 한자사전 조사 분리 V I 조사부 I 그림 1. 변환대상 추출 시스템 입력된 어절은 우선 사전을 검색한 후 발견되면 변 환의 대상이 된다. 그렇기 못한 경우에는 조사분리를 시도한다. 조사분리 시도에서 성공하면, 또 한번의 사 전검색올 한다. 이렇게 해서 사전에 있는 한자어에 대 한 정보를 기반으로 조사를 분리할 수 있다. 사전검색 에 실패하고, 조사분리에서도 실패한 경우 1차 실패의 경우로 본다. 이는 '복합명사 + 조사류'와 같은 형태가 발생할 수 있기 때문이다. 한글문장에서 흔히 발견되 는 이러한 형태의 경우 복합명사를 분석해내어야 한 다. 복합명사를 분석해내기 위한 연구는 이미 정보검 색을 위한 색인작업 분야 둥에서 연구가 진행중이다. 3.2 한자어 사전 어절에서 변환대상을 찾는데, 단순히 조사를 분리하 는 방법은 한자 사전을 참조하는 경우보다, 성공률이 낮다. 따라서 한자어 사전의 존재는 필수적이다. 그러 나, 요구되는 계산량은 그림 1에서처럼 한 어절에 있 어 최대 어절내의 음절수만큼 소모될 수 있다. 각 계 산량에는 사전을 검색하는 시간도 포함된다. 한 단어 를 보통 수만어의 사전에서 매칭하는 것을 찾는 계산 량은 상당하다. 따라서, 이러한 계산량을 줄이기 위한 방법이 필요하다. 본 논문에서는 다음과 같은 방법을 제안한다. - 빠른 사전검색을 위해, 해싱기법을 사용한다. 해싱 기법을 사용하여 0(1)으로 계산량을 줄인다. 이 경우 key로 한자어를, value로 한자어에 대한 한자들을 가 지도록 한다. 한자어의 경우, 동음이의어가 발생하기 때문에;' 각 동음이의어 한자들 모두를 갖도록 한다. 해싱기법을 사용한 한자어 사전의 사용은 이러한 한 글-한자에 관련해 다양하게 적용할 수 있을 것이다. - 한번 검색된 내용은 히스토리를 갖도록 한다. 사용 자가 한글문장올 작성할 경우, 사용되는 어구의 반복 출현도가 높올 가능성이 크기 때문에,사용자 사전을 작성하도록 한다. CMapping Class I CList Class 그림 3. 사전참조를 통한 한글-한자 변환시스템 ' i s ( 사전 K 丰典 II 寺田 유 私田 I« 4. 결 론 본 논문에서는, 한글문장에서 자주 발생하는 한자변 그림 2. 한자어 사전의 구조 두 개의 클래스로 표현되는 한자어 사전에 대한 구 조에서, CMapping 클래스는 한자어를 키로 받아들이 고, 해당되는 한자리스트를 가리키도록 한다. CList 클래스는 한자를 가지게 되는 데, 동음이의어가 존재 하는 경우 해당 한자를 모두 가지게 된다. CMapping 클래스로 검색한 후, CList 클래스로 적당한 한자를 선택할 수 있다. 이 과정에서,동음이의어에 대한 모 호성이 해결되어야 한다. 3.3 분석모델의 실험 사전을 참조하는 실제의 변환대상 추출 시스템으로 문장들을 실험하였다(그림 3). 실험대상은 신문기사를 중심으로 한 한글문장이었으며, 변환요구대상 3410개 룰 테스트한 결과 60%정도가 발견되었고, 이 중에서 동음이의어인 경우, '최종우선(Last-FirstV 규칙으로 변환한다고 가정하였을 때, 95%이상의 옳은 변환이 가능하였다. 미발견된 것 중에서 36%이상은 복합명사 ([명사]•)로, 이에 대한 처리를 수행한다면 전체적인 시스템의 효율('옳게 변환된 어절/발견된 어절')은 96%정도였다. 보다 많은 문장들을 통해 테스트가 필 요하겠지만, 이러한 한글문장의 규칙을 일반화한 기계 적인 방법에 의한 본 논문의 한글-한자 자동변환 시 스템에서도 상당한 효과를 거둘 수 있었다. 환대상 선택 과정을 어절단위로 규칙화시키고, 이를 컴퓨터에서 처리하기 위한 추출방법과, 추출과정에서 효율성 중가시키기 위한 한자어 사전의 구성에 관해 다루었다. 어절단위의 변환대상을 추출하는 본 시스템 은 실제적인 시스템을 통해 구현되어, 신문기사를 통 한 실험에서 96%의 높은 효과를 거두었다. 또한, 제 안한 한자어 사전 구축방안은 다른 한글-한자 관련 시스템의 사전구축에도 웅용할 수 있을 것이다. 앞으 로는, 한글-한자변환에서 가장 문제시되고 있는 동음 이의어의 처리와 복합어 처리에 대한 방법들을 보다 일반화시켜 실제 시스템에 적용할 수 있도록 하는 연 구가 진행되어야 할 것이다.