A Korean Morphological Analyzer Supports Multi-Threads

정보 검색용 다중 스레드 한국어 형태소 해석기

  • Choi, Yoo-Kyung (Dept. of Computer Engineering, Chonbuk National University) ;
  • An, Dong-Un (Dept. of Computer Engineering, Chonbuk National University) ;
  • Chung, Sung-Jong (Dept. of Computer Engineering, Chonbuk National University)
  • 최유경 (전북대학교 컴퓨터공학과) ;
  • 안동언 (전북대학교 컴퓨터공학과) ;
  • 정성종 (전북대학교 컴퓨터공학과)
  • Published : 2001.10.12

Abstract

본 논문에서는 한국어 형태소 해석기에 다중 스레드 기법을 도입하여 다중 처리가 가능하도륵 하였다. 기존의 여러 형태소 해석기들은 언어 분석에만 관심이 있었기 때문에 다량의 문서를 동시에 처리하는 기능을 고려하지 않았다. 그러나 형태소 해석기가 정보 검색 시스템 분야에서 사용되기 시작하면서, 다수의 사용자가 대량의 문서를 처리해야 하는 필요성이 생겼다. 스레드 간에는 메모리 영역과 같은 자원을 공유한다. 이러한 특징 때문에 자칫하면 예상치 못한 결과가 야기될 수 있다. 따라서, 다중 스레드 기법을 사용하기 위해서는 스레드의 특징을 고려한 조치가 필요하다 기존의 한국어 형태소 해석기의 소스 코드를 분석하여 자주 사용되는 전역 변수는 하나의 구조체로 구성하였다. 그리고 이러한 전역 변수와 크기가 큰 지역 변수를 사용할 때 메모리를 동적으로 할당하였다. 또한, 파일에서 입력값을 읽어오거나 파일에 결과값을 쓰는 등 여러 스레드가 접근할 때 값이 변경될 위험이 있는 부분은 조건 변수를 이용하여 동기화 시켰다. 구현된 시스템의 검증을 위하여, 단일 스레드 방식으로 순차적인 처리를 하는 원래의 형태소 해석기와 비교 실험을 실시하였다. 35Kbyte 문서 30개를 처리하는 경우, 다중 처리가 가능한 형태소 해석기가 단일 스레드 방식의 형태소 해석기보다 처리속도가 약 12% 향상되었다.

Keywords