MIRAGE-Ⅲ 디지털도서관에서가상문서검색서버의설계및구현 219 MIRAGE-Ⅲ 디지털도서관에서가상문서검색서버의설계및구현 (Design and Implementation of a Retrieval Server for Virtual Documents in the MIRAGE-Ⅲ Digital Library) 이용배 맹성현 (Yong-Bae Lee) (Sung Hyon Myaeng) 요약인터넷이용의급증에따라지식정보화사회전반의작업들이분산환경의디지털도서관에저장되어있는멀티미디어컨텐츠를쉽고신속하게찾아새로운정보를생성또는공유하는작업을통해이루어진다. 이를위해핵심적으로연구해야할부분은원격지에흩어져있는정보를효과적으로연결시켜서의미있고일관된형태로보여지도록하는것이다. 이목적을달성하기위해디지털도서관에서는물리적으로흩어져있는정보들이논리적으로일관되게표현될수있는가상공간을제공해야하며가상공간에서정보가표현되었을때사용자가원하는정보를신속하게수집하여제시할수있어야한다. 가상문서 (Virtual Document) 란특정저장장소에저장되어존재하던물리적문서 (Physical Document) 들을대상으로사용자에게필요한일부분또는전체를동적으로연결하여통합한문서를의미한다. MIRAGE-Ⅲ 디지털도서관에서는일반텍스트문서와 XML로기술된구조화된가상문서를대상으로내용기반검색을수행한다. 이시스템에서는 XML 문서구조를기반으로부분문서의검색이가능하며문서의속성및계층구조에대한검색과문서간의링크관계를이용한검색도가능하다. 본논문에서는 MIRAGE-Ⅲ 디지털도서관에서의질의어처리기및검색기를설계하고구현한방법론에대하여기술한다. 키워드 : 가상문서, 디지털도서관, 구조화된문서검색, 질의어처리, XML Abstract One of the most important functions digital libraries need to offer is to help users find necessary information in a distributed environment in the most efficient and effective manner. In order to meet the goal, it is desirable to link scattered pieces of information and present them as a logically coherent whole when the user wants it, so that he or she doesn't need to know their physical location. The virtual document is an integrated document that the total or part of the physical documents stored in a specific repository are linked dynamically. Our MIRAGE-Ⅲ digital library system provides a content-based retrieval of physical documents and the virtual documents in XML. This system provides a retrieval of partial documents, attributes and hierarchical structures and linked-documents based in structured documents like XML or SGML. In this paper we describe a methodology of design and implementation of the query processor and retrieval server in the MIRAGE-Ⅲ digital library system. Key words : Virtual Document, Digital Library, Structured Document Retrieval, Query Processing, XML 본연구는한국과학재단지정소프트웨어연구센터의기본프로그램연 구비지원에의해서수행된연구결과임. 비회원 : 충남대학교컴퓨터과학과 yblee@cs.cnu.ac.kr 종신회원 : 충남대학교정보통신공학부교수 shmyaeng@cs.cnu.ac.kr 논문접수 : 2001년 3월 20일 심사완료 : 2001년 12월 3일 1. 서론디지털도서관의유용성이사용자가분산환경에서저장되어있는정보를쉽고신속하게찾을수있도록도와줄수있는지에달려있으므로이를위해핵심적으로연구해야할부분은원격지에흩어져있는정보를효과적으로연결시켜서의미있고일관된형태로보여지도록하는것
220 정보과학회논문지 : 컴퓨팅의실제제 8 권제 2 호 (2002.4) 이다. 이목적을달성하기위해디지털도서관에서는물리적으로흩어져있는정보들이논리적으로일관되게표현될수있는가상공간을제공해야하며가상공간에서정보가표현되었을때사용자가원하는정보를신속하게수집하여제시할수있어야한다. 가상문서 [1] 란특정저장장소에저장되어존재하던물리적문서들의일부분또는전체를연결하여구성하고재현시에이들을동적으 구조화된문서검색에대한국내외연구동향을기술하고 3장에서는 MIRAGE-Ⅲ의특징에관하여설명하며 4장에서는가상문서검색서버의구성및설계에관하여기술한다. 5장에서는가상문서색인방법과 6장에서는질의어처리설계에관하여상세히설명한다. 7장에서는검색서버를실험한내용을기술했으며마지막 8장에서는결론및향후연구과제에관하여기술한다. 로통합하여브라우징할수있는문서를의미한다. 새롭 게생성된가상문서에는실제데이타는존재하지않고기존에존재하던컨텐츠로의링크들만갖게된다. 가상문서기반디지털도서관은단순문서의저장및검색기능을가지고있는전통적인도서관개념을확장하여사용자가기존의분산환경에존재하던디지털문서들을재사용하여새로운문서를생성하고저장할수있다. 가상문서의링크가사용자에게보여질때목적컨텐츠가문서안으로삽입되어내용이보여지는내포링크와문서안에서다른문서로항해할수있는앵커역할을하는참조링크로구성되므로이러한특성을가진가상문서를검색하기위한디지털도서관에서의검색서버는내용을기반으로한내포링크와참조링크의검색이기본적으로이루어져야한다. 즉, 가상문서가문서재현시에동적으로구성되므로이를검색하기위한새로운색인방법과검색방법이필요하며이를 MIRAGE-Ⅲ 디지털도서관시스 2. 관련연구기존의정보검색시스템에서는검색단위를문서로하여키워드검색을하면문서목록을결과로가져오며사용자의요구시에전문을제시하는것이일반적인형태이다. 그러나대부분의문서들은구조를가지고있는데, 논문의경우에제목, 장, 절등의논리적구조를가지고있으며신문의경우에는날짜, 신문명, 섹션, 기사, 기자명, 광고등의구조를취하고있다. 이러한문서의논리적구조를검색에이용하면기존의전문검색방법보다는문서의논리적구조에근거한가중치검색과같은다양한검색을할수있는장점 [4,7] 이있다. 현재구조화되어진문서는하이퍼미디어형태로표현될수있는데이를기술하기위한도구로는디지털문서교환을위한문서기술표준인 SGML[8,9] 과 SGML 에시간적공간적개념을확장한하이퍼미디어기술언 템의검색서버에서지원할수있도록설계하였다. 어인 HyTime(Hypermedia/Time-based Structuring 본논문의연구과정에서개발된 MIRAGE-Ⅲ 디지털 Language)[10], SGML을 웹에서 응용한 HTML 도서관시스템에서는가상문서라는새로운개념의문서를정의 [1] 하였고 XML(eXtensible Markup Language) (Hypertext Markup Language) 및 HTML의차세대버전인 XML[11,12,13,14] 등이있다. XML은웹과함 을이용하여가상문서를기술하였다. 기존의 SGML 께인터넷응용분야가활성화됨에따라전자상거래분 (Standard Generalized Markup Language) 또는 XML 과같은언어로기술된구조화된문서를검색하는데필 야 [15] 나디지털도서관관련문서의검색및표현 [1,16,17] 등에서활발한연구가진행되고있다. 요한기능 [2,3,4,5,6] 은내용검색, 구조검색, 속성검색이 XML/SGML과같은언어로기술된구조화된문서를 있었지만 MIRAGE-Ⅲ의검색서버에서는기존의검색기능이외에 XML로기술된가상문서에대하여메타데이타검색을위한속성검색및기존의구조화된문서검색에서지원하지않았던문서간의링크관계를이용한내용검색을지원할수있도록색인기와검색기를설계한것이특징이다. 또한, XML과같은구조화된문서검색시사용자들은내용검색, 구조검색, 링크검색, 속성검색을각각독립적으로요구하지않고각검색을혼합한복합질의어로검색할수있는데이러한기능을지원할수있도록 MIRAGE-Ⅲ의검색서버에서는가상문서에적합한새로운질의모델을정립하고질의어처리기를구현하였다. 검색하기위해서는다음과같은작업이필요하다. - 내용기반검색, 구조기반검색, 속성기반검색이수행될수있도록색인구조를설계 - 사용자가찾고자하는문서를정확히찾을수있도록명령하는질의어를처리 - 구조화된문서특성에맞는검색모델을제시하여효과적인검색결과를얻을수있게해주는작업구조화된문서검색을지원하기위한인덱스 [2,3,4,6] 에는기존의하이퍼텍스트검색에서진행되어진항해와키워드를이용 [18] 하여해당하는질의어가문서내에포함되는가를묻는내용검색이외에문서가어떤계층구조를형성하고있는가에대한구조검색과각계층단 본논문의구성은다음과같다. 2 장에서현재까지의 위별로어떠한속성값을내포하느냐에대한속성검색을
MIRAGE-Ⅲ 디지털도서관에서가상문서검색서버의설계및구현 221 지원할수있는구조가필요하다. 또한 XML과같은하이퍼미디어표현언어로기술된문서들은임의의엘리먼트에서다른엘리먼트로링크를구성할수있는데이러한링크정보에대한검색을수행하기위해서는위에서설명한색인구조 [2,3,4,6] 이외에링크정보검색을위한색인구조가추가적으로필요하다. 질의어구성 [2,3,5,19] 은구조화된문서의내부구조를모르는정보이용자에게도투명한검색결과를보장하기위해사용자가자연어질의를입력하였을때, 이들을컴퓨터가인식할수있는정형화된질의어로만든후이정형화된질의어를구조화된문서검색기가빠르게검색할수있도록작은단위의질의어로재구성할필요가있다. 현재까지의질의연구에서는자연어질의를정형화된질의어로바꾸는연구보다는정형화된질의어를작은단위로잘라재구성 [20] 하거나정형화된질의어의설계 [21] 에대한연구가진행되어왔다. 구조화된문서검색을위한색인구조나질의어처리의전반적인부분에서는 Tuong의연구 [2,3,22] 에서내용기반검색, 구조기반검색, 속성기반검색을지원하는인덱스구조와이를검색하기위한질의어 (SCL) 개발에관한방법론을소개하였고, 특히 Tuong은속성기반검색을위한인덱스를구조인덱스와함께이용하므로색인에따른저장공간을최소화하였다. 새로운검색모델로 SGML 문서를내용기반으로빠르게검색할수있는연구 [4] 가수행되었는데, 여기서는추론망모델이근간이되었고검색의효율성을위해새로운저장구조를구현하였다. 이연구에서제안한모델은 SGML 엘리먼트간의다양한구조적관계를질의로표현할수있을뿐아니라, 문서를검색할때도엘리먼트단위검색을한후통합하는방법을적용하여일반문서검색방법보다검색신뢰도를향상시킬수있음을보였다. MIRAGE-Ⅲ 디지털도서관에서는가상문서라는새로운개념의문서를정의하였으며검색서버에서이를검색하기위한새로운질의모델을정립하고질의처리기를설계하였다. 또한기존의구조화된문서검색기술에서지원하지못했던문서간의링크관계를검색할수있도록색인구조와검색기를설계한것이특징이다. 3. MIRAGE-Ⅲ 디지털도서관의특징 3.1 가상문서 현재정의된가상문서에서사용되는링크들은다음과같이분류될수있다 [1]. - 내포링크 (embedding link) 와참조링크 (referential link) 내포링크와참조링크는가상문서에서링크를생성할때사용목적에따라분류한것이다. 내포링크는가상문서재현시에링크의목적컨텐츠가직접문서안으로삽입되어나타나는링크를의미하고, 참조링크는컨텐트가문서안으로삽입되지않고앵커로만남아사용자의선택시에항해나브라우징할수있도록표시하는링크를의미한다. 예를들어, 내포링크는웹문서의이미지삽입과유사한기능을지원하고참조링크는하이퍼링크와유사한개념이다. - 일대일 (one-to-one) 대응, 일대다 (one-to-many) 대응, 다대일 (many-to-one) 대응링크 일대일대응, 일대다대응, 다대일대응링크는링크의대응관계에의한분류로일대일대응은링크의목적컨텐트가유일한것을의미하며, 일대다대응은링크의목적컨텐트가두개이상인링크를의미하며, 다대일대응은여러개의링크가같은하나의목적컨텐트를갖는것을의미한다. - 특정링크 (specific link) 와총칭링크 (generic link) 특정링크와총칭링크는링크의시작점에서보는관점으로가상문서의특정위치에있는멀티미디어개체 ( 단어, 이미지, 소리등 ) 가특정컨텐트를가리킬경우, 이를특정 ( 일대일대응 ) 링크라하며, 임의의도메인에포함된모든특정개체들이모두하나의특정컨텐트를가리키는경우에는총칭링크 ( 다대일대응 ) 라한다. - 전체링크 (total link) 와부분링크 (partial link) 전체링크와부분링크는링크의목적지에서보는관점으로전체링크는링크의목적컨텐트가컨텐트전체인것을의미하고부분링크는링크의목적컨텐트가컨텐트내의일부분인것을의미한다. 가상문서의구성은가상문서의틀을설명하는허브 (Hub) 와가상문서별출력포멧을기술한스타일시트 (Style Sheet) 로이루어져있으며허브는다시참조링크리스트, 내포링크리스트, 가상문서의메타데이타로구성된다 [1]. 내포링크리스트는가상문서안에내포되는링크들의집합으로구성되며참조링크리스트는가상문서안에직접적으로삽입되지는않으나항해를할수있도록하이퍼링크의집합들로구성된다. 메타데이타는가상문서가개별적으로갖는메타정보들로구성되는데본연구의디지탈도서관에서사용한메타데이타는더블린코어 (Dublin Core) 메타데이타 [23,24] 의 15가지속성을모두수용하여구성하였으며, 메타데이타를포함한가상문서를기술하기위한도구로는현재웹문서의 표준으로위치하고있으며구조화된문서를표현하기에
222 정보과학회논문지 : 컴퓨팅의실제제 8 권제 2 호 (2002.4) 적절한 XML[11,12,13,14] 을이용하여기술하였다 [1]. 는데, 가상문서와물리적문서의검색은문서의특성상 3.2 MIRAGE-Ⅲ 디지털도서관의구조블록단위의검색을할수있다. 정확한문서검색을위 [ 그림 1] 에서와같이 MIRAGE-Ⅲ는용도에따라개해문서단위의메타데이타를검색할수있으며메타데인디지탈도서관 (MIRAGE-Lite) 과공용디지털도서관이타검색은검색결과를여과해주는기능을한다. 또한 (MIRAGE-Regular) 으로구분된다. 각각의전반적인구사용자의링크검색요구를수행하기위해문서나블록에조는같지만개인디지털도서관은개개인이사용하기서나가고들어오는링크정보들을링크서버로부터받아편리하도록사용자에의존적으로설계되었고공용디지와서처리한다. 털도서관은개인디지털도서관보다사용자에이전트기검색서버는사용자질의어에대한검색결과로블록단위능을확장시켜같은 MIRAGE계열의디지털도서관시의가상문서와문서단위의일반물리문서, 가상문서를같이스템이나분산환경하의다른디지털도서관시스템들과검색하므로, 서로다른문서컬렉션으로부터의결과를하서비스를교환할수있으며메타검색을할수있는기나로합하여다시재랭킹한다음사용자에게전달한다. 능이추가된다. - 링크서버가상문서는문서내에실제내용을가지고있지않고링크를이용하여어떤문서의전체또는일부분을내포하거나참조하는형식으로구성되어있다. 링크서버는검색서버의링크정보요청시에블록이나문서에서나가고들어오는링크정보를검색하여검색서버에전달한다. 또한문서내의링크정보를따로저장관리하므로검색의효율을높이는기능을한다. - 저장서버저장서버안에저장된문서들은텍스트, 비디오, 오디오, 이미지등의문서혹은가상문서형태이며, 각각의그림 1 분산환경의 MIRAGE-Ⅲ 디지털도서관문서들은모두 URI를갖는다. 저장서버의주요기능은일반문서나가상문서를저장관리하는일이다. 즉, 사용다음은개인디지털도서관과공용디지털도서관시스자에이전트로부터문서삽입또는삭제요구를받아해템의공통모듈에대한간략한설명이다 [1]. 당문서를삽입또는삭제하며, 사용자가일반문서나가 - 사용자에이전트상문서를재현할경우에는 URI에해당하는문서를찾사용자에이전트는사용자가문서저장이나검색, 삭제아사용자에이전트에전달하는기능을수행한다. 등을요구할경우에서비스를분류하여관련서버에전 - 저작도구달한다. 문서삽입이나삭제의경우에는해당문서정보를디지털도서관사용자들은저작도구를이용하여타문검색서버나링크서버, 저장서버에게전달하여각각의서서의일부또는전체에링크를생성하여 XML로기술된버에서이문서정보를이용하여문서를삽입하거나삭가상문서를만들수있으며, 이미만들어진가상문서나제할수있도록한다. 문서검색을요구할경우에는정형일반문서또는웹문서를재현할수있다. 또한생성된복합질의어를검색서버에전달하며검색기로부터검색가상문서를사용자에이전트에게저장을요구할수있다. 된엘리먼트ID( 이하블록ID) 를인터넷상에서디지털자 - 검색인터페이스원의유일한식별자 (Uniform Resource Identifier, 이하검색인터페이스는사용자로하여금쉽게디지털도서 URI) 로변환하여사용자에게검색결과를전달한다. 사관에접속하여디지털도서관내의가상문서나일반문서용자가 URI에매핑되는문서를재현할경우에는저장를고려하지않고문서를검색할수있도록도와준다. 서버로부터 URI에해당하는문서를받아와서사용자가사용자의질의를검색인터페이스는자동으로컴퓨터가볼수있는형태로변환하여전달한다. 이해할수있는복합질의로구성하여사용자에이전트 - 검색서버에전달하며검색된결과를재현하는기능을수행한다. 검색서버는사용자에이전트로부터질의어를받아저장서버가저장하고있는블록의조합으로이루어진가 4. 검색서버의구성및설계 상문서와일반물리적문서를대상으로검색을수행하 MIRAGE-Ⅲ 디지털도서관시스템은저작도구, 검색
MIRAGE-Ⅲ 디지털도서관에서가상문서검색서버의설계및구현 223 인터페이스, 사용자에이전트, 링크서버, 저장서버는 어의리스트로바꾸어주는역할을한다. 질의어처리기에 JAVA 1.2.2로검색서버는 GNU C++ 로구현되었으며사용자에이전트와각서버들사이의통신은 ORBacus CORBA환경에서동작한다. 본논문에서는특히검색서버의설계과정을중심으로기술한다. 검색서버는사용자의복합질의어를검색서버가빠르게검색할수있는단위질의어로변환하여기존의디지털도서관시스템에서지원하던내용검색, 구조검색이외에속성검색이나링크관계검색을수행할수있도록하며사용자에게는가상문서와더불어기존의디지털도서관에존재하던물리적문서를구분하지않고분산환경에서투명한검색결과를전달하는데목적을있다. MIRAGE-Ⅲ 디지털도서관의검색서버는기존의문서검색에서수행했던방식과는달리질의어부터 XML 로기술된가상문서와멀티미디어문서검색을위한복합질의어가입력되며이복합질의어를분류하여메타데이타검색기, 블록검색기, 구조검색기, 링크검색기, 일반문서검색기가빠르게검색할수있도록단위질의어로변환하여검색을수행한다. 서사용자에이전트로부터입력으로받는복합질의어는사용자들의일반적인검색요구인자연어질의를컴퓨터가처리할수있는형식을갖춘질의로변화시킨구조적질의를뜻한다. 복합질의가질의어처리기를통하여나오면검색기가처리하기쉬운일련의단위질의어로바뀌는데, 단위질의어란문서검색기, 블록검색기, 메타데이타검색기, 링크검색기가인덱스를한번이나두번검색하여처리할수있도록간단하게바뀐질의어를의미한다. 질의어처리기에대한상세한설명은 5장에서기술한다. - 메타데이타검색기각각의가상문서에들어있는메타데이타는저자, 제작일, 문서요약내용등을포함하는데 XML로기술될때메타데이타는하나의엘리먼트를생성하며더블린코어의 15가지속성 [17, 18] 이들어간다. 이속성값에대한검색인메타데이타검색은정확한문서검색을위해검색결과를여과해주는기능을하며, 홍길동이만든문서들을찾아라., 2000년 1월 1일이후의문서를찾아 검색연산시에수행되는각모듈간의상호작용은 [ 그 라., 가상문서의요약내용이영화메트릭스와관련된 림 2] 와같다. 문서를찾아라. 와같이직접메타데이타만으로메타데 이타데이타베이스를참조하여가상문서를검색할수도 있다. - 블록검색기 블록이란임의의문서일부또는전체를참조혹은내 포하여가상문서가구성될때, 참조혹은내포되는단위 를본연구에서는 블록 이라정의하였다. 가상문서가 XML로기술될때블록은각각의엘리먼트로매핑되고 블록단위검색질의어가들어오면, 블록검색기는미리색 인되어있는내용인덱스를참조하여내용기반의엘리먼 그림 2 검색연산시서버들간의관계 트검색을수행한다. - 구조검색기 여기서사용자에이전트가사용자의정형복합질의를확인하고검색서버로전달하면검색서버의질의어처리기가정형복합질의어를일련의단위질의어로변환시키고 구조검색기는구조화된문서검색에서문서의계층구조에대한검색이다. 구조검색은구조화된문서의특성에따른사용자의요구에의존적으로검색이수행되며부모 각단위질의어를검색서버로보낸다. 4개의검색기와링 (Parent), 자식 (Child), 형제 (Sibling), 순서 (Order), 조상 크서버가검색한후결과를조합하여사용자에이전트로보내면, 사용자에이전트가검색결과를사용자에게보낸다. 검색서버의각모듈에대한설명은아래에기술한다. - 질의어처리기질의어처리기는검색하기위한질의어가내용에대한질의와링크에대한질의가혼합된복합질의어가형태로들어오므로이를문서검색기, 블록검색기, 메타데이 (Ancestor) 등의연산을할수있어야한다. 현재가상문서가허브밑에링크들로구성된 2개의계층으로만이루어져있으므로부모- 자식과의관계검색이빈번하며형제, 순서, 조상등을찾는질의는가상문서의특성상무의미하다. 사용자의질의가특정엘리먼트를포함한가상문서를찾을때내용검색과함께구조검색을수행한다. 예를들어, 타잔이포함된문서를찾아라. 라는복합질의가들 타검색기, 링크검색기가각각수행할수있는단위질의 어오면먼저블록검색기기가 타잔 을포함한엘리먼트
224 정보과학회논문지 : 컴퓨팅의실제제 8 권제 2 호 (2002.4) 검색을수행한후, 구조검색기가검색결과들을대상으로부모관계에있는엘리먼트들을검색해낸다. - 일반문서검색기일반문서는기존의분산환경에존재하던멀티미디어문서들을의미한다. 가상문서는이문서들을이용하여재결합된문서이며, 디지털도서관정보이용자는가상문서나일반문서를구분하지않고질의를할수있다. 검색결과의투명성을보장하기위해서는사용자가문서검색을요구할경우, 가상문서이외에일반문서들도검색하여결과를사용자에게전달해야한다. 이때일반문서검색기가일반문서색인을검색하는역할을한다. - 링크서버링크서버에서는블록을참조하고있는블록 ( 이하 Inlink블록 ) 정보들과블록이참조하고있는블록 ( 이하 Outlin블록 ) 정보들을저장하고있으며검색서버의링크정보요구시에블록에대한 Inlink블록정보와 Outlink블록정보를전달해준다. [ 그림 3] 은블록간의참조관계를갖는 Inlink블록과 Outlink블록을보여주고있다. - 결과집합관리기단위질의어에대한검색을모두수행하면, 결과집합관리기에는최종검색결과가들어간다. 이검색결과들을정렬할때에는일반문서집합과가상문서집합이서로다른특성을가진문서집합이라는것과링크검색결과의링크개수에가중치를두어정렬할수있다. 현재의정렬방법은가상문서의메타데이타에서검색된문서를상위 그림 3 블록간의참조관계로위치시키며가상문서의내용에의해검색된문서를그다음에위치시키고일반문서의검색결과를마지막순위로할당한다. - 검색인터페이스검색인터페이스는분산환경의디지털도서관에접속된정보이용자가디지털도서관안의가상문서나일반문서를고려하지않고문서를검색할수있도록도와주며, 사용자가복잡한가상문서의검색질의어를이해하지못할지라도단순한선택만으로자동으로질의어를만들어사용자에이전트에게전달한다. 또한사용자에이전트로부터검색결과를받아디스플레이하고검색결과로부터문서가선택될시에는스타일이적용된 XML문서를재현할수있다. 그림 4 MIRAGE-Ⅲ 검색인터페이스
MIRAGE-Ⅲ 디지털도서관에서가상문서검색서버의설계및구현 225 [ 그림 4] 는가상문서검색을위한사용자인터페이스이다. 왼쪽위의창은검색질의를위한창으로검색단추를누르면정형복합질의어를구성하여사용자에이전트로전송한다. 질의창의왼쪽그림에서링크조건을선택할수있게해주며키워드입력란에검색키워드를입력한후메타데이타조건을선택할수있다. 검색명령을수행한후사용자에이전트로부터받은검색결과리스트는오른쪽창에서보여지며, 검색결과리스트중맨위의결과문서를선택했을때왼쪽아래창에서선택된 XML문서가재현된다. 5. 가상문서색인기 디지털도서관에서의중요한기능은광대한양의문서검색이며, 사용자의질의에대한빠른검색을수행하기위해서는색인작업이필수적이다. 색인작업은기존의대용량문서집합을한번에색인하던방법과는달리, 다중사용자의문서저장요구시마다각문서에대한색인작업이실시간으로수행되어야한다. 특히, 가상문서는 XML로기술된구조화된문서이므로일반문서의색인방법과는달리추가적인정보검색을위한색인방법이필요하다. 일반문서의색인시에단어별문서정보추출만을했던기존의방법과는달리가상문서는블록단위의링크로구성되므로단어별블록정보추출과함께임의의블록이참조하는블록이무엇인지에대한링크정보추출이필요하다. 또한문서단위검색을위해임의의블록이어떤가상문서안에포함되었는지에대한구조정보추출이필요하며각각의가상문서에포함된메타데이타에대한정보추출도필요하다. 이를위한색인구조는제 4장의검색서버에서설명한내용검색기, 구조검색기, 메타데이타검색기, 링크서버가각각검색할수있는내용인덱스, 구조인덱스, 메타데이타인덱스, 링크인덱스로구성된다. 그림 5 색인연산시시스템구성도 [ 그림 5] 에서사용자에이전트는사용자의문서저장요구시에가상문서를처리하여 XML 돔 (Document Object Model, DOM) 을구성한다음검색서버및링크서버가색인을위해필요한형태로추출하여전달해준다. 사용자에이전트가가상문서에서추출하여검색서버에전달해주는문서정보는 [ 표 1] 과같다. 표 1 색인연산시문서정보 데이타형식 문서정보 {VDocID, (BlockID, LinkType, Content)[], Metadata} VDocID 가상문서의식별자로긴정수형으로표현된다. BlockID 블록의식별자로긴정수형으로표현된다. LinkType Content Metadata 문서내용 가상문서안에있는블록이내포링크인지참조링크인지를구별하기위한기호로정수형으로표현된다. 각블록안의실제내용으로스트링형으로표현 메타데이타는더블린코어의메타데이타속성을모두사용하며현재는저자, 날짜, 문서요약만을메타데이타에넣는다. 즉, 메타데이타는저자, 날짜, 요약으로구성되며저자는스트링형, 날짜는긴정수형, 요약은스트링형으로표현된다. 문서정보에서 VdocID 만을제외한나머지부분으로 {(BlockID, LinkType, Content)[], Metadata} 가해당된다. 위의데이타를이용하여검색서버의색인연산시에동작하는모듈들의기능은다음과같다. - 블록추출기 블록추출기는사용자에이전트로부터받은문서정보를 VDocID와문서내용으로분류하고문서내용에서는메타데이타를잘라메타데이타추출기로전달한다. 또한 VDocID는내용색인기와메타데이타추출기에서문서식별자로사용할수있도록내용색인기와메타데이타추출기로전달한다. - 내용색인기 내용색인기는블록추출기가분류한메타데이타를제외한문서내용 {(BlockID, LinkType, Content)[]} 에서블록단위로텍스트에대한색인작업을수행하여내용인덱스를구성하며, 메타데이타의속성중문서요약부분도색인하여따로색인파일을구성하지않고내용인덱스에추가시켜사용하므로색인구조저장을위한공간을줄여준다. [ 그림 6] 은내용인덱스의구조를보여준다. - 메타데이타추출기 메타데이타추출기는블록추출기가분류한메타데이타중에서문서요약정보는내용색인기로보내고저자와날
226 정보과학회논문지 : 컴퓨팅의실제제 8 권제 2 호 (2002.4) 그림 6 내용인덱스의구조 그림 7 링크인덱스의구조 짜부분을분류하여저자별로날짜별로검색가능하도록날짜인덱스, 저자인덱스에저장시킨다. - 구조색인기 구조화된문서검색에서구조색인기의역할은문서의특성과사용자의검색요구에의존하여엘리먼트단위로부모, 자식, 형제, 순서, 조상등의구조정보를뽑아내어인덱스를구성하는일이다. 가상문서검색은문서의특성상부모-자식과의관계만필요하므로구조색인기는문서에서부모- 자식정보만을추출하여인덱스를구성한다. 즉, 가상문서가블록이라고부르는엘리먼트단위로색인되어있으므로엘리먼트가아닌문서전체를검색할경우에는블록을포함한가상문서를찾아줄수있도록가상문서내에내포링크로포함된블록ID와가상문서ID를매핑시켜주는구조를형성한다. - 링크색인기 링크서버안의링크색인기는사용자에이전트로부터링크색인정보를입력받아가상문서의블록별로 Inlink 블록과 Outlink블록에대한색인을수행하여링크인덱스를구성한다. 링크서버는검색서버의링크정보요구시에링크인덱스를검색하여결과를검색서버에전달한다. [ 그림 7] 은링크정보를색인한결과인링크인덱스의구조를보여준다. 설계된색인구조를기반으로실제색인연산은가상문서가저장되는시점에서실시간으로작동한다. 클라이언트의저작도구에서사용자에이전트로문서저장을요구하면사용자에이전트에서는내용인덱스, 구조인덱스, 메타데이타인덱스, 링크인덱스로색인을위해각색인기 에서필요한정보들을구성하여전송한다. 먼저메타데이타추출기는사용자에이전트에서받은메타데이타를대상으로날짜와저자를기준으로문서를빠르게찾아가는구조를구성한다. 메타데이타인덱스구성이끝나면 구조색인기는블록식별자를기준으로블록을포함한가상문서들을찾을수있는구조를구성하며그후에내용색인기가기존의문서색인방법과유사하게가상문서에내포되는블록단위로추출된용어를기준으로블록을찾아갈수있는구조를형성한다. 마지막으로링크서버에서는블록단위로들어오고나가는블록들을빠르게검색할수있는구조를구성하면서하나의문서삽입시색인연산이종료된다. 6. 질의어처리기 가상문서는본연구에서새롭게정의 [1] 한문서이고 XML을이용하여기술하였다. 이문서를검색하기위해서는 XML문서의특성과가상문서검색요구조건을분석하여이에적합한새로운질의모델이필요하며질의모델에의해구성된질의어를검색기가이해하여빠르게검색할수있도록변환시키는질의어처리기가필요하다. 그림 8 질의어처리기 디지털도서관사용자들은가상문서에대하여내용검색, 구조검색, 링크검색, 메타데이타검색을각각독립적으로요구하지않고각검색을혼합하여한번에요구할 수있도록질의어를구성할수있는데, 이러한질의어
MIRAGE-Ⅲ 디지털도서관에서가상문서검색서버의설계및구현 227 를복합질의어라한다. [ 그림 8] 의질의어처리기에서입력으로받은정형복합질의란사용자들의일반적인검색요구인자연어질의를컴퓨터가처리할수있는형식을갖춘질의로변화시킨구조적질의를뜻한다. 정형복합질의가질의어처리기에의해처리되어나오면가상문서검색기가처리할수있는일련의단위질의로바뀌는데단위질의란검색기가인덱스를한번이나두번검색하여처리할수있도록간단하게바뀐질의어를의미한다. 6.1 정형복합질의어의구조정형복합질의어의문법규칙은 [ 표 2] 에기술되어있다. 가상문서질의를위한키워드는검색단위지정, 일반기호, 내용검색명령어, 링크검색명령어, 메타데이타검색 명령어의크게다섯가지로구분할수있다. 정형복합질의어의구성은위다섯가지키워드의조합으로이루어지며키워드를이용한질의어구성과이에대한세부설명은 [ 표 3] 에서설명되어있다. 6.2 단위질의어의구조정형복합질의어가질의어처리기에의해처리되어나온일련의질의를단위질의라하는데정형복합질의어를세분화시켜블록검색기, 메타데이타검색기, 링크검색기, 구조검색기, 일반문서검색기가색인구조를한번이나두번접근하여검색할수있도록분류해놓은단순질의어를의미한다. 검색서버에서처리할수있는단위질의어로는블록검색어, 일반문서검색어, 부모검색어, 저자검색어, 날짜검색어, 요약정보검색어, Inlink검색어, Outlink 표 2 정형복합질의어의문법 CompositeQuery := Query Query 'REF' Query Query 'REFED' Query Query := BlockQuery DocQuery '{'BlockQuery'}' '{'DocQuery'}' BlockQuery := 'BLOCKS' 'BLOCKS' ContentQuery DocQuery := 'DOCS' 'DOCS' [ContentQuery] [MetaQuery] ContentQuery := '(' QUOTE termlist QUOTE ')' MetaQuery := '[' AuthorQ DateQ DescriptQ ']' AuthorQ := 'AUTHOR' EQ QUOTE termlist QUOTE DateQ := 'DATE' EQ QUOTE DatePeriod QUOTE DescriptQ := 'DESC' EQ QUOTE termlist QUOTE Termlist := term term termlist DatePeriod := DateForm DateForm '~' DateForm DateForm '~' '~' DateForm DateForm := yyyy '/' mm '/' dd Term := [0-9 a-z A-Z 가-힣 ]+ EQ := '=' QUOTE := '\'' 표 3 정형복합질의어의키워드분류및사용예 구분키워드설명정형복합질의사용예 검색단위지정 blocks, docs 일반기호 '', *, =, ~, {} 내용검색명령어 링크검색명령어 메타데이타검색명령어 (' ') ref, refed [author=' ' date=' ' desc= ' '] 검색단위를블록혹은문서로지정한다. 내용검색, 링크검색, 메타데이타검색에필요한기호 어떤단어가포함된문서나블록을검색할경우, 단어를지정하기위한명령어 문서나블록이참조하거나다른문서나블록에의해참조되는링크정보를검색한다. 메타데이타를검색하기위해문서의저자, 날짜, 요약내용을검색한다. blocks(' 바하헨델 ') -> ' 바하헨델 ' 을포함한블록을검색한다. Docs(' 이승엽홈런 ') -> ' 이승엽홈런 ' 을포함한일반문서와가상문서를검색한다. {Docs [author=* date='1999/12/25' desc=*]} -> 가상문서를만든저자나내용에관계없이 1999 년 12 월 25 일에만들어진문서만을검색한다. blocks(' 하이퍼미디어 ') -> 하이퍼미디어 를포함한블록을검색한다. docs ref {blocks (' 시네마천국 ')} -> ' 시네마천국 ' 을포함한블록을참조하는모든문서를검색한다. blocks refed docs('sgml XML') -> 'SGML XML' 을포함한문서에의해참조되어지는모든블록을검색한다. Docs[author=' 홍길동 'date=* desc=' 쇼팽바하헨델 '] -> 문서작성일에관계없이저자가 ' 홍길동 ' 이고, ' 쇼팽바하헨델 ' 의내용을포함한문서를검색한다.
228 정보과학회논문지 : 컴퓨팅의실제제 8 권제 2 호 (2002.4) 검색어의 8가지종류가있다. 단위질의어의종류와형식은 [ 표 4] 에서설명한다. 표 4 단위질의어의종류및사용예 종류형식설명 블록검색어일반문서검색어 blocks(' 정보검색 ) pdocs(' 자연어처리 ) 정보검색 을포함한가상문서의블록을검색 자연어처리 를포함한일반문서를검색 구조검색어 parent(result4) 4 번째검색결과집합의블록을포함한가상문서를검색 저자검색어날짜검색어요약정보검색어 meta[author= ' 현진건 ] meta[date= '20000101-'] meta[desc= ' 영화메트릭스 ] 저자가 현진건 인가상문서를검색 2000 년 1 월 1 일이후의가상문서를검색 요약내용에 영화메트릭스 를포함한가상문서를검색 Outlink 검색어 outlink(result2) 2번째결과집합에대한 outlink 블록을검색 Inlink 검색어 inlink(result5) 5번째결과집합에대한 inlink 블록을검색 6.3 질의어처리결과및검색방법 디지털도서관의정보이용자가 타이타닉을포함한문서중에제임스카메룬이만든영화가포함된문서를참조하고있는문서들을찾아라. 라는자연어질의를보내 면아래와같은정형복합질의어로변환될수있다. docs (' 타이타닉 ') ref {docs (' 영화 ') [author=' 제임스카메룬 ' date=* desc=*]} 위와같은정형복합질의어를사용자에이전트에서받아질의어처리후, 가상문서검색기가검색을수행한다. 질의어처리기를통한단위질의리스트는아래와같으며각단위검색기는질의어처리순서대로내용인덱스, 구조인덱스, 링크인덱스, 메타데이타인덱스를대상으로검색을수행하여 [ 표 5] 와같은검색결과를얻는다. 7. 실험 MIRAGE-Ⅲ 검색서버는분산환경에서가상문서저작과검색을계몽사데이타집합과한글테스트컬렉션 (Hangul Test Collection, HANTEC) 의해외과학기술동향 18,442건, 한국여성개발원문서 110건을대상으로리눅스서버와팬티엄Ⅲ PC하에서실험하여그기능을확인하였다. 또한가상문서의특성을반영한복합질의어 30개를작성하여질의어처리기를테스트하였으며그중 10개를추출하여검색시간을확인한결과평균 1.877초를기록하였다. 가상문서검색을위해사용된복합질의어와그에따른검색시간은 [ 표 6] 에서나타낸다. 표 6 질의어에따른검색시간 표 5 질의처리결과를이용한검색방법 검색순서 단위질의어 검색방법 결과1 blocks(' 타이타닉 ') 타이타닉 을포함한블록을내용인덱스를검색하여결과1 에저장 결과2 parent ( 결과1) 결과1의각블록들을포함한가상문서를구조인덱스를검색하여결과2 를구성한후결과1 을삭제 결과3 meta[desc=' 타이타닉 '] 가상문서메타데이타의요약정보에 타이타닉 이포함된문서를메타데이타인덱스를검색하여결과3 구성 결과4 결과2 or 결과3 결과2와결과3을합집합연산하여결과4 을생성하고사용된결과2, 3은삭제 결과5 pdocs (' 타이타닉 ') 타이타닉 이포함된문서를내용인덱스를검색하여결과5 를구성 결과6 결과4 or 결과5 결과4와결과5를합집합연산하여결과6 을구성한후, 사용된결과4, 5는삭제 결과7 blocks(' 영화 ') 영화 를포함한블록을내용인덱스를검색하여결과7 에저장 결과8 parent ( 결과7) 결과7의각블록들을포함한가상문서를구조인덱스를검색하여결과8 을생성하고결과7 은삭제 결과9 meta[desc=' 영화 '] 가상문서메타데이타의요약정보에 영화 를포함한문서를메타데이타인덱스를검색하여결과9 생성 결과10 결과8 or 결과9 결과8과결과9를합집합연산하여결과10을생성한후, 사용된결과8, 9는삭제 meta[author=' 제임스결과11 가상문서의저자가 제임스카메룬 인문서를메타데이타인덱스를검색하여결과11 생성카메룬 '] 결과12 결과10 and 결과11 결과10과결과11을교집합연산하여결과12을생성한후, 사용된결과10, 11은삭제결과13 inlink( 결과12) 결과12의블록들을대상으로링크인덱스를검색하여결과13을생성 결과 14 결과 6 and 결과 13 결과 6 과결과 13 을교집합연산하여결과 14 를생성한후, 사용된결과 6, 13 은삭제하고결과 14 를사용자에이전트로전송
MIRAGE-Ⅲ 디지털도서관에서가상문서검색서버의설계및구현 229 번호 정형복합질의어 검색시간 1 docs (' 사건 ') ref {docs (' 국제문제 ') [author=' 이용배 date=* desc=*]} 1.933 2 blocks( 여성 ) 1.802 3 blocks('3.1운동 ) ref blocks(' 민족운동 ) 1.819 4 docs(' 축구 ) refed blocks(' 월드컵진출 ) 1.921 5 blocks( 영화 ) refed docs( 액션 ) [author=* date='19990101~' desc=*] 1.843 6 {docs( 올챙이 ) [author=* date='~20001231' desc=*]} ref blocks( 과학 ) 1.846 7 {docs(' 거북이 ')} 1.912 8 9 {docs( 올챙이 ) [author=* date='~20001231' desc=*]} ref {docs( 생물학 ) [author= 이용배 date='~20001231' desc=*]} docs( 에너지 ) [author= 이용배 date='~20001231' desc=*] refed {docs( 물리 ) [author= date=* desc= 중학교과정 ]} 1.902 1.901 docs (' 교통사고 ') [author=' 이용배 date=* 10 1.890 desc= 항공기추락사고 ] 평균검색시간 1.877 [ 표 6] 에서는가상문서의검색시간이복합질의어에 'docs' 를포함한문서단위로검색할경우 (1,4,5,6,7,8,910) 와복합질의어에 'blocks' 만을포함한블록단위로검색할경우 (2,3) 가검색시간의차이가있음을보이고있다. 이것은문서단위로검색을하면내용인덱스와구조인덱스및일반물리적문서인덱스를모두검색하므로시간이많이소모되며블록단위로검색을하면키워드를포함한내용인덱스만을검색하므로검색시간이짧아지기때문이다. 문서단위로검색할경우에도메타데이타조건이있는가상문서만을검색 (5,6,8,9,10) 하는것과메타데이타조건이없는가상문서와일반문서를검색 (1,4,7) 하는것이검색시간이더걸리는것을볼수있다. 또한링크관계검색 (1,3,4,5,6,8,9) 에서는전체검색시간이별로영향을주지않은것을알수있었다. 8. 결론 에게서비스요구를명령하며각서버로부터서비스결과를받아사용자에게전달하는에이전트역할을한다. 검색서버는가상문서를색인하고사용자에이전트의정형복합질의를단위질의로처리하여내용검색, 링크검색, 구조검색, 메타데이타검색을수행한후결과를사용자에이전트에게전달하며, 링크서버는가상문서에서링크정보를분리하여저장관리하고검색서버의링크정보요구를처리하는기능을한다. 또한저장서버는디지털도서관에있는문서들을저장하고관리하는역할을한다. 본연구에서정의한가상문서는 XML을사용하여구체화시켰다. 가상문서는문서의틀을기술하는허브와문서의스타일을기술하는스타일시트로구성되는데허브는다시내포링크, 참조링크, 메타데이타로구성된다. 내포링크는가상문서안으로직접삽입되는링크를의미하며참조링크는현재웹문서의하이퍼링크와유사하게다른문서로항해할수있는링크를의미한다. 가상문서의메타정보를기술하는메타데이타는더블린코어의메타데이타속성 15가지를모두수용하였다. MIRAGE-Ⅲ의검색서버는사용자의정형복합질의어를검색서버가처리할수있는단위질의로바꾸어기존의내용검색이외에구조검색, 링크검색, 메타데이타검색을수행할수있도록하였으며사용자에게가상문서와더불어기존의디지털도서관에존재하던물리적문서를구분하지않고분산환경에서투명한검색결과를사용자에게전달할수있도록하였다. 특히, 기존의 XML/ SGML과같은구조화된문서검색시에지원하지못하던문서간의링크관계를이용한내용기반검색을수행할수있도록설계되었다는것이특징이다. 앞으로는저작과검색대상문서를관리가되고있는인트라넷상의데이타베이스로국한하지않고인터넷상의웹문서로의확장이필요하며현재설계를확장중에있다. 또한가상문서색인기의효율적인변경및삭제알고리즘이필요하며가상문서검색결과의순위결정시링크정보를이용한적합한검색순위정렬알고리즘이필요하다. 참고문헌 본논문에서는새로운형태의디지털도서관인 MIRAGE-Ⅲ의구조적인틀을제시하고, 이를응용한디지털도서관모형을제작하는과정에서저작된멀티미디어가상문서에대하여사용자에게투명한검색환경을제공하는검색서버의설계및구현에대하여기술하였다. MIRAGE-Ⅲ 디지털도서관시스템은사용자에이전트와검색서버, 링크서버, 저장서버로구성된다. 사용자에이전트는사용자의서비스요구를분석하여각서버 [1] Sung Hyon Myaeng, Mann-Ho Lee, Ji-Hoon Kang, Eun-Il Cho, Yong-Bae Lee, Dong-Soo Lim, Jeong-Mook Lim, Hyo-Jung Oh, Jung-Shik Yang, "A Digital Library System for Easy Creation/ Manipulation of New Documents from Existing Resources," Proceedings of RIAO 2000, pp196-208, April 2000. [2] Tuong Dao, "An Indexing Model for Structured Documents to Support Queries on Content, Structure
230 정보과학회논문지 : 컴퓨팅의실제제 8 권제 2 호 (2002.4) and Attributes," Proceedings of ADL '98, 1998. [3] T. Dao, R. Sacks-Davis and J. A. Thom,"An Indexing Scheme for Structured Documents and its Implementation," Proceedings of the 5 th International Conference on Database System for Advanced Applications, April 1997. [4] Sung Hyon Myaeng, Dong-Hyun Jang, Mun-Seok Kim, Zong-Cheol Zhoo, "A Flexible Model for Retrieval of SGML Documents," Proceedings of ACM SIGIR '98, pp138-145, 1998. [5] Ian A. Macleod, "Storage and Retrieval of Structured Documents," Information Proceeding & Management, Vol.26, No.2, 1990. [ 6 ] Lee, Y. K., Yoo, S. J., Yoon, K. & Berra, P. B., "Index Structure for Structured Documents," in Digital Library '96, 1996. [7] 맹성현, 주종철, 문서구조화와정보검색, 정보과학회지 제16권제8호, 1998. [8] Brian E. Travis, Dale C. Waldt, The SGML Implementation Guide, Springer, 1995. [9] Charles F. Goldfarb, The SGML Handbook, Clarendon Press, Oxford, 1990. [10] W. Eliot Kimber, "What's New and Cool in HyTime," 1997. (available at http://www.isogen. com/papers/newcool.html) [11] Simon ST.Laurent, XML A Primer, MIS:Press, 1998. [12] extensible Markup Language(XML) version 1.0, recommendation 1998. (available at http://www. w3c.org/xml/) [13] Eric Miller, "An Introduction to the Resource Description Framework," D-Lib Magazine, May 1998. [14] W3C, Resource Description Framework(RDF) Schema Specification 1.0, 2000.(available at http:// www.w3.org/tr/2000/cr-rdf-schema-20000327/) [15] Thibadeau, R. et al., "E-Commerce Catalog Construction: An Experiment with Programmable XML for Dynamic Documents," D-lib Magazine, February 1999. [16] William Y. Arms, Christophe Blanchi, Edward A. Overly, "An Architecture for Information in Digital Libraries," D-lib Magazine, February 1997. [17] S. Payette, C. Lagoze, "Flexible and Extensible Digital Object and Repository Architecture (FEDORA)," Proceeding of the 2nd European Conference on Digital Libraries, September 1998. [18] Maristella Agosti, Information Retrieval and Hypertext, in Information Retrieval and Hypertext, Kluwer Academic Publishers, 1996. [19] Ricardo Baeza-Yates, Berthier Ribeiro-Neto, "Structured Queries," in Modern Information Retrieval, Addison Wesley, pp 106-109, 1999. [20] 맹성현, 장동현, 이용배, 구조화정보검색모델및알 고리즘개발에관한연구, 한국전자통신연구원위탁과제최종보고서, 1998. [21] 이계준, 신동욱, 권택근, XML 문서의검색을위한효율적인색인기법과질의언어 (TQL) 의설계, 한국정보과학회가을학술발표논문집 Vol.26, No.2, 1999. [22] T. Dao, R. Sacks-Davis and J. A. Thom, "Indexing Structured Text for Queries on Containment Relationships," Proceedings of the 7 th Australian Database Conference, Jan. 1996. [23] Dublin Core Community, Dublin Core Metadata Initiative, recommendation 1999. (available at http://purl.org/dc/documents/) [24] Baker, T, "Language for Dublin Core," D-lib Magazine, December 1998. [25] Ricardo Baeza-Yates, Berthier Ribeiro-Neto, "Structured Text Retrieval Model," in Modern Information Retrieval, Addison Wesley, pp 61-65, 1999. [26] Klemens Bohm, Adrian Muller, Eric Neuhold, "Structured Document Handling - a Case for Integrating Database and Information Retrieval," Proceedings of the third International Conference on Information and Knowledge Management, 1994. [27] 맹성현, 분산환경에서의멀티미디어가상문서의표현및검색에관한연구, 충남대학교소프트웨어연구센터최종보고서, 1999. 이용배 1996 년충남대학교컴퓨터과학과 ( 학사 ). 1998 년충남대학교컴퓨터과학과대학원 ( 석사 ). 현재충남대학교컴퓨터과학과대학원 ( 박사과정 ). 관심분야는정보검색, 자연어처리, 디지털도서관, 장르분류, 지식관리시스템, 하이퍼미디어시스템 맹성현 1983 년미국캘리포니아주립대학학사. 1985 년미국 Southern Methodist University(SMU) 석사. 1987 년미국 Southern Methodist University(SMU) 박사. 1987 년 ~ 1988 년미국 Temple University 교수. 1988 년 ~ 1994 년미국 Syracuse University 교수. 1994 년 ~ 현재충남대학교정보통신공학부교수. 관심분야는정보검색, 자연어처리, 디지털도서관, 자동요약, 자동분류, 지식관리시스템