웹 서비스 기반 바이오 정보 시스템의 효율적인  키워드 검색 기법

박 성 수(), 이 종 근, 윤 지 희

한 림 대 학 교 컴 퓨 터 공 학 과

{sspark, jeikei, jhyoon}@hallym.ac.kr

An Efficient Keyword Search Method

for Web Service based Bio-Information Systems

Sung-Soo Park(), Jong-Keun Lee, Jee-Hee Yoon

Dept. of Computer Engineering, Hallym University

요   약

웹 서비스(Web Servie) 기술은 각종 분산 이질 형태의 정보 처리를 위한 효율적인 정보 통합 방식으로 알려져 있다. 웹 서비스 기반의 바이오 정보 시스템으로서 Bio-Moby, DDBJ, MyGrid 등이 실험적 시스템으로 연구, 개발되고 있다. 그러나 이 들 시스템은 검색 대상의 서비스명을 미리 시스템 내부적으로 설정, 제한하고 있거나 각 데이터베이스의 accession 번호를 이용한 검색 형태만을 지원하는 등 시스템 이용 형태가 매우 제한적이다. 본 논문에서는 키워드 기반의 효율적인 정보 검색을 지원하는 웹 서비스 바이오 정보 시스템의 설계 및 구현 방식을 제안한다. 본 시스템은 단일 키워드와 복수 키워드 검색 방식을 동시에 지원하며, GO, UMLS, LOINC 등의 지식 데이터베이스를 활용하여 의미적으로 유사한 키워드 혹은 상위 개념의 키워드를 추출하여 순위를 갖는 키워드 리스트를 생성한다. 다음 이 들 키워드를 기반으로 UDDI에 등록된 서비스를 검색하며, 이때 키워드의 출현 빈도. 서비스 실행시간 등을 품질 평가 요소로 사용한 서비스 품질 평가를 수행하여 품질기반의 서비스 검색 결과를 사용자에게 반환한다. 본 시스템은 키워드 기반의 사용자 친화적 인터페이스를 제공할 뿐 아니라 품질 기반의 서비스 선택이 가능한 효율적인 바이오 정보 검색 환경을 사용자에게 제공하게 된다.

1. 서  론

본 연구는 과학기술부 과학재단 목적기초연구(R01-2006-000-11106-0)지원으로 수행되었음.

포스트 게놈 시대를 맞이하여 바이오 데이터가 기하급수적으로 증가하고 있으며, 생물학, 전산학 전문가들은 이 들 데이터를 저장, 관리하기 위한 바이오 정보 시스템 개발에 많은 시간과 노력을 투자하고 있다[1].  개발된 대표적인 바이오 정보 시스템으로 미국 국립생물정보센터의 GenBank[2], 일본 국립유전학연구소의 DDBJ(DNA Data Bank of Japan)[3,4], 유럽 생물정보학연구소의 EMBL(European Molecular Biology Laboratory)[5], 스위스 생물정보학연구소의 Swiss-PROT[6] 등이 있다. 그러나 이 들 바이오 정보 시스템은 각각 고유의 목적과 특성을 살린 형태로 국가 혹은 단체에 의하여 개별적으로 개발, 축적되어 온 분산 이질의 형태를 갖는다.

따라서 생물학 전문가들은 정보 분석을 위하여 개개의 데이터베이스를 개별적으로 접속하여 정보를 검색, 취합, 정제, 추출하여야 하는 번거로운 과정을 겪어야 하며, 또한 이들 작업을 위해서는 각 시스템별 도메인 지식을 소유하여야 한다. 즉, 생물학 전문가는 각 시스템의 사용 방식에 숙련되기까지 많은 시간과 노력을 투자해야 하며, 또한 각 시스템에서 검색된 데이터 사이의 의미적 연관관계를 스스로 파악하여 이를 분석하여야 한다.  이와 같은 문제점을 해결하기 위해서는 분산 이질 형태의 각종 바이오 데이터를 하나의 사용자 환경에서 통합 검색할 수 있으며, 동시에 의미적으로 연관성 있는 관련 데이터를 통합 검색할 수 있는 바이오 정보 시스템의 개발이 필요하다[7].

분산 이질 데이터베이스의 통합 기술로서 하이퍼 링크 방식을 이용하여 각 소스 데이터베이스를 연결, 접근하는 링크 기반 통합(Link-based integration) 방식, 각 바이오 데이터를 소스 데이터베이스에 두고, 통합 뷰를 기반으로 질의를 한 후 결과를 반환하는 뷰 기반 통합(View-based integration) 방식, 소스 데이터베이스의 통합 데이터 모델을 기반으로 데이터를 수입하여 단일 데이터베이스를 구성하는 데이터 웨어하우징 통합(Datawarehousing integration) 기법 등이 제안되어 있다[8]. 그러나 이들 통합 방법을 사용할 경우, 기존에 구축된 바이오 정보 시스템의 내부 데이터 구조가 상이하여 시스템 간 통합 데이터 모델의 설계가 어렵고, 내부 데이터 구조 변경과 바이오 데이터의 업데이트에 대한 실시간 반영이 수월하지 않다는 문제점이 지적되고 있다.

웹 서비스 개발 방식은 플랫폼에 상관없이 상호운영을 가능하게 하는 표준기술로 이와 같은 문제점을 해결하기 위한 방안으로 제시되었다. 정보통신부 등의 국가정책기관에서는 웹 서비스를 데이터 공유 방법과 컴포넌트 기반 서비스 개발의 표준으로 권장하여 현재 비즈니스, 군사, 의료 시스템 등의 개발에 활용하고 있다. 웹 서비스는 검색(find), 등록(publish), 선택(binding)의 동작(operation, service)에 관한 표준안으로 웹 서비스 바인딩에 관한 SOAP(Simple Object Access Protocol), 웹 서비스 기술을 제공하는 WSDL(Web Service Description Language), 웹 서비스 등록과 검색에 관한 UDDI(Universal Discovery Description & Integration)로 구성된다.

그러나, 웹 서비스의 핵심 기술인 UDDI는 다음과 같은 몇 가지 문제점을 가지고 있다. UDDI는 동적으로 생성되어 등록되는 다수의 웹 서비스를 효율적으로 저장, 관리하여 사용자들에게 유연하고 편리한 검색 환경을 제공하여야 한다. 하지만 현재의 UDDI는 등록된 웹 서비스의 품질을 평가하여 사용자에게 제공하는 기능이 없으므로, 사용자는 서비스 선택에 어려움을 겪게 된다. 또한 UDDI 레지스트리는 IBM의 UDDI business 레지스트리와 SAP의 sap@uddi.business 레지스트리 등과 같이 e-비지니스 분야 위주로 개발되어 있어, 바이오 정보 시스템 분야에 적합한 UDDI 레지스트리 개발이 미흡한 상황이다. 기존 바이오 정보 시스템 중 웹 서비스를 기반으로 하는 대표적인 실험적 시스템으로서 Bio-Moby[9]와 DDBJ[3]등을 들 수 있다. 그러나 이 들 시스템은 UDDI 레지스트리 검색의 기본 방식인 키워드 검색 방식을 지원하지 못하며, 시스템 이용 형태가 매우 제한적이다.

본 논문에서는 이와 같은 문제점을 해결하기 위한 방안으로서 키워드 기반의 효율적인 정보 검색을 지원하는 웹 서비스 바이오 정보 시스템의 설계 몇 구현 방식을 제안한다. 본 시스템의 키워드 검색 방식에서는 GO(Gene Ontology)[10], UMLS(Unified Metathesaurus Language Syutem)[11], LOINC(Logical Observation  Idntifiers Names and Codes)[12] 등의 지식 데이터베이스를 활용하여 입력된 키워드와 의미적으로 유사한 혹은 상위 개념의 키워드를 찾고, 이들 간의 순위를 설정하여 순서화된 키워드 리스트를 생성한다. 다음 이 들 키워드를 이용하여 UDDI의 등록 서비스를 검색하여 사용자에게 제시하게 되며, 이 때 키워드의 출현 빈도 및 서비스 실행 시간을 기반으로 각 서비스의 품질 평가를 수행하여 서비스 품질 순위에 따라 서비스 검색 결과를 사용자에게 제시한다. 따라서 사용자는 각 서비스의 품질 평가 순위에 따라 제시된 서비스에 대하여 보다 선택적인 서비스 활용이 가능해지게 된다.

본 논문의 구성은 다음과 같다. 제 2장에서는 관련 연구로서 배경 지식 및 국내외 바이오 정보 시스템의 현황 및 특성을 기술한다. 제 3장에서는 키워드 기반의 바이오 정보 검색을 위한 시스템 개발 방식을 제안한다. GO 등의 지식베이스 구성 방식과 유사, 상위 개념의 연관 키워드 탐색을 위한 지식베이스 검색 과정 및 웹 서비스 검색 과정을 설명하고,  아울러 서비스 품질 평가 방식을 기술한다. 제 4장에서는 본 시스템의 구조와 각 모듈별 기능을 설명하고 제 5장에서는 결론과 향후 연구 과제를 보인다.

2. 관련연구

본 장에서는 배경 지식으로서 웹 서비스 기술 및 GO에 대하여 간단히 설명하고, 기존의 웹 서비스 기반의 바이오 정보 시스템의 특징 및 그들의 문제점을 살펴본다.

2.1 웹 서비스

웹 서비스는 각종 이질 분산 형태를 가지는 정보를 통합하기 위한 XML 기반의 시스템 개발 방식이다[13, 14]. 웹 서비스는 다음의 그림 1과 같이 서비스 제공자 Service Provider), 서비스 요청자(Service Requester), 서비스 대리자(Service Agency)로 구성된다. 서비스 제공자는 웹 서비스를 구성하여 서비스를 제공하는 소프트웨어 시스템이고, 서비스 요청자는 서비스를 받기위해 웹 서비스를 호출하는 시스템이며, 서비스 대리자는 서비스 요청자가 원하는 서비스를 찾을 수 있도록 해주는 레지스트리이다. 관련 기술은 다음과 같다.

○ WSDL[15] : 웹 서비스의 IDL(Interface Definition Language) 버전이며, 특정 웹 서비스의 방법과 프로토콜, 데이터 포맷 등을 더욱 상세하게 정의하는 표준 스크립트이다. 서비스 요청자가 서비스를 호출하는 방법과 사용할 수 있는 매개변수들의 목록을 포함한다.

○ SOAP[16] : 클라이언트의 작업 요청과 시스템의 응답을 XML 문자열로 구성하고 전송하는 표준 프로토콜이다.

○ UDDI[17] : 웹 서비스에 관한 정보를 등록, 탐색하기위한 레지스트리로, UDDI는 서비스 설명과 서비스 발견에 대한 표준 스펙을 제공한다. UDDI는 각 표준과 프로토콜별로 가상의 모든 인터페이스를 사용하여 매우 유연한 서비스를 구성한다. 그림 2는 UDDI Version 3.0.2의 표준 데이터 구조를 보인다. UDDI의 각 구성 요소는 XML 형태로 표현되어 저장되며, businessEntity, businessService, bindingTemplate, tModel로 이루어진다.  businessEntity는 서비스 제공자에 대한 정보를 기술하며, businessService는 서비스 제공자가 제공하는 웹서비스에 대한 다양한 타입을 기술하고, bindingTemplate는 서비스 진입점과 구현된 공간에 대한 정보를 담고 있다. 마지막으로 tModel은 웹 서비스와 어떻게 상호작용 할 수 있는지에 대한 방법을 기술하고 있다.

그림 1. 웹 서비스 구성

그림 2. UDDI Version 3.0.2의 데이터 구조

2.2 GO(Gene Ontology)

생물정보학 분야에서는 데이터의 특성과 데이터베이스의 목적에 따라 다양한 생물학 데이터베이스를 구축하고 있다. 이러한 데이터베이스들은 의미적으로 서로 독립적인 것이 아니라 상호 데이터의 의미가 같거나 유사한 연관 관계를 가지고 있어, 유기적인 데이터의 결합이 필요하다. 각 바이오 데이터베이스 내의 데이터 간 정보 공유와 교환을 위한 의미적 연관성 제공은 온톨로지를 적용함으로써 가능해진다. 온톨로지는 어휘, 개념, 관계 등을 포함하는 특정 분야 지식의 의미 모델로 기존 지식의 추출 및 신뢰성이 보장되는 검증 과정을 거쳐 확장 가능하다. 대표적인 유전자 정보 관련 온톨로지로 GO[10]를 들 수 있다.

GO는 단백질, 유전자 등과 같은 유전자 산출물(gene product)들이 각 생물체 내에서 수행하는 작용 및 기능 등을 구조화하여 체계적으로 기술하고 있다. GO는 Molecular Function(MF), Biological Process(BP), Cellular Component(CC)의 세 가지 범주로 나누어져 있다. 각 범주의 GO는 term이라 부르는 노드(node) 들의 집합으로 이루어지며, 이들 노드는 is_a 관련(혹은 has_part의 관련)으로 연결된 DAG(Directed Acyclic Graph) 형태를 갖는다. 여기에서 각 term은 생물학적 작용 및 기능 등을 표현하고 있으며, 각 term과 연관된 단백질, 유전자 정보가 association 정보의 형태로 링크되어 있는 형태를 갖는다. 다음의 그림 3은 GO의 Biological Process 범주의 일부분을 나타낸다. 예를 들어 ‘organ development’는 GO의 term 이름을 나타내며, GO:0048513은 해당 term의 GO 식별자를 나타낸다. 또한 ‘Cdh22’는 ‘organ development’ term과 관련된 유전자명을 나타내며,  association 정보의 형태로 term과 링크되어 있음을 나타낸다.

그림 3. GO의 부분 예제

2.3 기존 시스템

기존 바이오 정보 시스템 중 웹 서비스를 기반으로 하는 대표적인 시스템으로 Bio-Moby[9]와 DDBJ[3]등을 들 수 있다. 본 절에서는 기존 바이오 정보 시스템의 사용 방식을 기반으로 하여 그 문제점을 살펴본다.

2.3.1 Bio-Moby

Bio-Moby[9]는 2001년 이질적인 바이오 데이터베이스를 통합하기 위한 목적으로 개발된 시스템이다. Bio-Moby는 웹 서비스를 제공하는 MOBY-S와 시멘틱 웹 서비스를 제공하는 S-MOBY가 동시에 구축, 연구되고 있다. Bio-Moby는 MOBY Object, MOBY Central, 객체 및 서비스 계위와 같은 컴포넌트로 구성되어 있으며, MOBY Object는 클라이언트와 서버 사이에 주고받는 구조화된 데이터를 말하고, MOBY Central은 레지스트리 역할을 한다[18].

다음의 그림 4는 Bio-MOBY의 정보 검색 과정을 보인 예제이다. 그림 4-(a)는 검색 초기 화면을 나타내며, 검색 데이터베이스 선택에 해당하는 네임스페이스 선택과 데이터베이스의 해당 ID 입력을 필요로 한다. 그림 4-(a)와 같이 NCBI_gi의 네임스페이스를 선택하고 '163701'의 ID를 입력하면 그림 4-(b)와 같은 웹 서비스들이 검색되어 사용자에게 제시된다. 다음은 이 중 하나의 서비스를 선택하여 실행시킨 결과로서 그림 4-(c)는 서비스 실행이 성공적으로 수행된 결과를 나타내며, 그림 4-(d)는 서비스 실행이 성공적으로 수행되지 못한 결과 화면을 나타낸다.

그림 4. Bio-MOBY의 정보 검색 예제

이와 같이 Bio-MOBY는 일반적인 UDDI와 달리 키워드 검색을 지원하지 않으며, 검색 대상의 데이터베이스를 미리 선택하고 accession 번호를 통해서만 정보 검색이 이루어지고 있다. 또한 Bio-MOBY의 검색 결과로부터 제시된 서비스 중 실제로 서비스 링크가 깨졌거나 결과가 되돌아오지 않는 서비스들이 자주 보이는 것을 알 수 있다. 예를 들어 NCBI_gi의  ID='163701'을 이용해 검색을 수행한 결과 서비스 16건 중 결과를 돌려주는 서비스는 3건, 링크가 깨져서 결과 값이 없는 서비스가 11건, Bio-MOBY Cross Ref.를 돌려주는 서비스 2건으로 많은 부분 서비스 링크가 바르게 연결, 작동하지 않는 것이 관측되었다.

2.3.2 DDBJ

DDBJ는 1984년에 설립되어 1987년부터 본격적인 데이터를 제공하는 대표적인 유전자 데이터베이스이다[3,4]. 현재 DDBJ는 웹 서비스를 기반으로 하는 "XML Central of DDBJ"를 개발하여 서비스 중이다. 그러나 DDBJ는 UDDI 레지스트리가 아닌 제공자의 성격을 가지며, BLASTDemo, Blast, ClustralW, DDBJ, Ensembl 등 15개의 정해진 WSDL 문서를 제공하여 정보 검색을 지원하고 있다. 다음의 그림 5는 DDBJ에서 GetEntry Method를 선택하여 accession 번호 ‘163701’의 항목을 검색하는 과정을 보인다. 그림 5-(a)는  DDBJ의 초기 화면으로 GetEntry Method를 선택하는 과정을 나타내며, 그림 5-(b)는 GetEntry의 서브 메뉴인 SOAP 메소드 리스트 중 getDDBJEntry(accession)를 선택하는 과정을 나타내고, 그림 5-(c)는 각 메소드에 대한 전용 입력창을 나타낸다.

그림 5. DDBJ의 정보 검색 예제

3. 웹 서비스 기반의 바이오 정보 시스템

본 장에서는 시스템 개발 의의에 대하여 설명하고,  본 시스템의 키워드 검색 방식과 웹 서비스 품질 평가 방식에 대하여 설명하다.

3.1  시스템 개발 의의

기존의 범용 UDDI 레지스트리는 단일 키워드 입력만을 허용하며, e-business 분야 위주로 개발되어 있어, 바이오 정보 시스템 분야에 적합한 UDDI 레지스트리 개발이 미흡한 상황이다. 웹 서비스 기반의 생물정보 시스템으로 대표적인 Bio-MOBY의 경우에도 서비스 검색 대상의 데이터베이스를 미리 설정하고 accession 번호만을 이용한 검색을 지원하는 등 사용자로 하여금 구체적 세부 전문적인 지식을 요구하는 제한적인 형태를 띠고 있다. 또한 검색 결과로 돌아오는 서비스들은 사용자의 요구를 만족시키지 않는 서비스뿐 아니라 링크가 깨져 있는 등 불필요한 서비스까지 모두 검색되므로 사용자가 원하는 서비스를 찾는데 장애가 되고 있다.[19, 20]

본 시스템의 개발 의의는 다음과 같다. 첫째, 키워드 중심의 효율적인 바이오 정보 검색 방식을 개발한다. 입력 키워드를 의미적으로 유사한 혹은 상위 개념의 키워드 리스트로 확장하여 웹 서비스를  검색함으로써 서비스 검색 성능을 향상 시킨다. 두 번째로, 서비스 검색 결과에 대하여 품질 평가를 수행하여 순서화된 서비스 리스트를 사용자에게 제공한다. 키워드 검색 결과 얻어진 서비스들에 대하여 키워드의 출현 빈도 및 서비스 실행 시간을 기반으로 각 서비스의 품질 평가를 수행하여 서비스 품질 순위를 제공함으로써 사용자에게 보다 선택적인 서비스 활용을 가능하게 한다.

3.2 키워드 검색 기법

바이오 정보 검색을 위한 웹 서비스 시스템의 경우, 일반 UDDI 검색의 경우와 같이 키워드 검색이 가능한 것이 사용자의 편의를 위하여 바람직하다. 그러나 바이오 정보 검색을 수행하는 사용자는 생물학 전문가로서 일정한 목적 및 작업 패턴을 가지고 웹 서비스 검색을 수행하는 것이 일반적이다. 따라서 시스템은 생물학 전문가의 요구를 충분히 수용할 수 있는 유연성 있고 동시에 편리한 사용자 환경을 제공하여야 한다.

사용자가 단일 키워드를 입력하여 일반적인 웹 서비스 검색을 수행하는 경우, 돌아오는 서비스 검색 결과가 전혀 없거나 사용자의 요구를 충분히 수용한 서비스를 찾지 못하는 경우가 발생할 가능성이 매우 높다. 따라서 이와 같은 이유로 기존의 웹 서비스 기반 바이오 정보 시스템에서는 제 2.3절에서 보인 바와 같은 제한적인 사용자 환경만을 제공하고 있는 것이 사실이다.

본 연구에서는 이와 같은 문제점을 해결하기 위하여 온토로지를 사용한 입력 키워드 확장 방식을 사용하여 입력 키워드로부터 관련 키워드를 다수 추출하여 이를 서비스 검색에 활용한다. 또한 관련 키워드 추출 시 이 들 사이에 순위(ranking)를 설정하여 서비스 검색에 활용하며, 이는 서비스 검색 성능을 높이는 역할을 담당한다. 입력된 키워드로부터 관련 키워드 리스트를 추출하는 기본적 방법은 다음과 같다.

(1) 유전자명, term name, 일반 전문 용어 등으로 이루어진 입력 키워드의 유사 키워드를 추출한다.

(2) 입력 키워드의 상위 개념의 키워드를 추출한다.

입력 키워드로서 단수 혹은 복수 개의 키워드를 동시에 사용할 수 있다. 또한 유전자명, term name과 같은 유전자 기능 검색 키워드 외에도 일반 생물학, 의학 분야의 전문/일반 용어를 입력 키워드로 허용한다. 관련 키워드 검색을 위하여 GO, UMLS, LOINC 등의 지식베이스를 사용한다.

3.2.1 GO를 사용한 유사 키워드 추출 방식

GO 데이터는 MySQL용 데이터, XML 데이터, Flat File 등의 형태로 제공된다. 다음의 그림 6-(a)는 GO XML 데이터의 DTD 구조의 일부를 보이고 있다. DTD 구조는 “term” 태그 내에 구성되는데 구성 정보는 GO ID인 ‘go:accession’, Gene Product name인 ‘go:name’, 유사 정보를 표현하기 위한 ‘go:synonym’, term의 설명이 포함된 ‘go:def-inition’, term 사이의 관계를 나타내는 '(go:part-of | go:isa)'와 외부 데이터와의 연계 정보를 담고 있는 'go:dbxref', 주석 정보를 담고 있는 'go:association', 데이터 발견자와 발견시기를 포함하고 있는 'go:history' 태그로 구성된다.

본 시스템에서는 GO에서 제공하는 정보를 관계형 데이터베이스 MySQL 4.에 구축하였다. 다음의 그림 6-(b)는 본 시스템에서 사용하는 GO의 스키마를 보인다. GO데이터베이스는 termdb, assocdb seqdb의 3 부분으로 구성되어 있으며, termdb는 term, term2term, term_definition, dbxref, term_dbref, term_synonym, graph_path 테이블로 구성되어 있고, assocdb는 gene_product, association, evidence, gene_product_count 테이블로 구성되며, seqdb는 seq, gene_product_seq, seq_dbxref 테이블로 구성되어 진다.

본 시스템에서는 이 들 테이블로부터 통합 동의어(synonym)/약어(acronym) 정보를 추출하였다. 예를 들어 유전자명의 입력 키워드를 위한 유사 키워드는 "gene_product" 테이블, "gene_product_synonym" 테이블을 조인한 것으로부터 얻어진다. 또한, 용어들의 형태소 및 구조 분석 등을 통하여 용어 간의 연결성을 높였다.

3.2.2 GO를 사용한 상위 개념의 유사 키워드 추출 방식

입력 키워드의 상위 개념을 추출하기 위하여 GO를 사용할 수 있다. 입력 키워드가 유전학적 기능 등을 나타내는 term name의 경우, GO의 계층 구조로부터 직접 상위 개념의 name을 추출할 수 있다. 제 2.2절에서 설명한 바와 같이 GO는 노드라 부르는 term이 is_a 관련(혹은 has_part의 관련)으로 연결된 DAG(Directed Acyclic Graph) 형태를 가지므로 is_a 관련으로 연결된 term 사이에 상위 개념 추출이 가능하다.

한편, 입력 키워드가 유전자명의 경우, 역시 GO로부터 상위 개념 추출이 가능하다. GO 상에서 각 유전자 정보는 term에 association 정보로 링크되어 있으며, 각 유전자가 링크되어 있는 term이 각 유전자의 기능을 표현하는 상위 개념을 나타낸다고 볼 수 있다. 입력 키워드가 복수개의 유전자명으로 이루어진 경우, 이 들 유전자들의 상위 개념을 나타내는 term을 추출하기 위하여 유전자 클러스터링 기법을 사용할 수 있다[21, 22, 23].　참고 문헌 [22, 23] 에서는 GO 상의 각 유전자 사이의

그림 6 - (a) XML의 DTD 스키마

그림 6 - (b) MySQL 스키마

거리를 이용하여 이들을 클러스터링하는 term의 집합을 발견하고, 이들을 순위화한다. 본 연구에서는 참고 문헌

[21]의 방식을 사용하여 유전자들의 상위 개념을 나타내는 term을 추출, 이들을 순위화한다. 예를 들어 그림 3의　GO에 대하여 입력 키워드로서 K = {ERBB2, dpp}가 주어진 경우, 이 들의 상위 개념으로　‘gland development', ‘organ development' ‘Development'가 추출되며, ‘gland development'가 가장 순위가 높게 추천된다.

3.3 서비스 품질 평가

웹 서비스 품질 평가 요소로 서비스 가용성(availability), 네트워크 가용성, 실행 시간, 서비스 신뢰성(reliability), 네트워크 신뢰성, 실행 신뢰성, 선호도, 표준, 보안 등을 들 수 있다[24, 25]. 그러나 이와 같은 다양한 요소로 이루어진 품질 평가를 원활히 수행하기 위하여는 서비스 대리자뿐 아니라 서비스 제공자, 서비스 사용자가 부분적으로 참여하여 품질 평가 요소를 기술, 관리하여야 한다[26, 27]. 본 연구에서는 서비스 사용자가 일차적으로 서비스 품질에 대하여 만족을 느끼는 가장 중요한 평가 요인으로서 서비스 선호도와 서비스 실행 시간을 들 수 있다고 가정한다.

서비스 선호도란 사용자의 입력 키워드와 검색된 서비스의 연관성으로 정의할 수 있으며, 서비스를 기술하는 서비스 문서를 평가하여 입력 키워드와의 연관성을 추출하는 방식을 사용한다. 여기에서 서비스 문서는 UDDI에 등록된 각 서비스의 Service Name, Service Description 등의 관련 정보를 연결한 가상의 문서로 정의한다. 본 연구에서는 다음과 같은 수식에 따라 서비스 Sj(j=1, ... ,m)의 품질 순위를 계산한다.

위 수식은 입력 키워드 리스트 [K1, K2, ..., Kn]를 입력 받으며, 입력 키워드 리스트는 사용자의 입력 키워드와의 연관성에 따라 순위화 되어 있는 리스트로 가정한다. 여기에서 Ki_tf는 입력 키워드 Ki의 서비스 문서 Sj에서의 출현 빈도를 나타내며, w(Ki)는 입력 키워드 Ki의 순위에 의한 가중치를 나타낸다. 또한 Sj_tf는 서비스 문서 Sj에 출현하는 단어 수를 의미하며, 실제로는 UDDI에 등록된 서비스 Sj의 Service Name, Service Description 등에 등록된 단어수를 의미한다. 즉, Quality(Sj)는 서비스 문서 Sj에 출현하는 입력 키워드들의 출현 빈도와 그 들의 가중치의 합을 서비스 문서의 단어 수로 나누는 결과를 의미한다.

또한 본 연구에서는 서비스 실행 시간을 서비스 품질 평가의 주요 요소로 사용한다. 이는 여러 품질 평가 요소 중 실제 서비스가 실행되는지 가장 정확히 판단할 수 있는 요소로 서비스 실행 시간을 들 수 있기 때문이다. 서비스에 대한 실행시간 평가 자료는 자체적인 품질 평가 데이터베이스에 축적되며 이후 이 요소를 이용해 품질 평가 시간을 단축시키는데 활용한다.

4. 시스템 구조

다음의 그림 7은 시스템의 정보 처리 과정을 도식적으로 나타낸 것이다.  본 시스템은 사용자와 기존 UDDI 레지스트리 사이에서 기능적 에이전트 역할을 담당한다. 본 시스템의 구조도를 그림 8에 보인다. 그림과 같이 크게 3개의 기능적 모듈로 구성되어 있으며, 각 모듈의 세부 기능은 다음과 같다.

○ 키워드 추출 모듈 : 사용자가 입력한 질의를 가지고 GO를 이용해 입력 질의를 확장하는 모듈이다. 이 모듈은 GO를 이용해 질의와 의미적으로 유사한 키워드 혹은 상위개념의 키워드를 찾고 이들 간 순위를 정하여 실제 검색 키워드를 생성한다. 키워드 추출 모듈은 다시 GO를 검색하여 관련 키워드를 추출하는 모듈과 키워드 순위를 정하는 모듈로 구성된다.

○ UDDI 검색 모듈 : 키워드 추출 모듈을 통해 추출된 키워드를 통해 Bio-MOBY와 같은 외부 UDDI를 검색하고 검색된 결과를 되돌려 준다.

○ 품질평가 모듈 : UDDI를 통해 검색된 결과를 각 서비스별로 품질을 계산한다. 계산된 품질에 의해 각 서비스의 순위를 정해 사용자에게 돌려준다. 품질평가 결과는 추후 품질평가에 사용되기 위해 품질평가 DB에 저장된다.

그림 7. 시스템의 정보 처리과정

그림 8. 시스템 구조도

5. 결론 및 향후 연구과제

기존의 범용 UDDI 레지스트리는 단일 키워드 입력만을 허용하며, e-비지니스 분야 위주로 개발되어 있어, 바이오 정보 시스템 분야에 적합한 UDDI 레지스트리 개발이 미흡한 상황이다. 또한 UDDI 레지스트리는 검색 서비스에 대한 품질 평가를 제공하는 기능이 결여되어 있어 사용자의 선택적 서비스 활용이 불가능하다.

본 논문에서는 이와 같은 문제점을 해결하는 웹서비스 기반의 바이오 정보 시스템을 제안하였다. 본 연구의 주요 공헌은 다음과 같다. 첫째, 키워드 중심의 효율적인 바이오 정보 검색 방식을 제안하였다. 입력 키워드를 의미적으로 유사한 혹은 상위 개념의 키워드 리스트로 확장하여 웹 서비스를  검색하는 새로운 방식을 제안하여 서비스 검색 성능을 향상시켰다. 두 번째로, 효율적이고 유용한 서비스 품질 평가 방식을 제안하였다. 키워드 검색 결과 얻어진 서비스들에 대하여 키워드의 출현 빈도 및 서비스 실행 시간을 기반으로 각 서비스의 품질 평가를 수행하여 서비스 품질 순위를 제공함으로써 사용자에게 보다 선택적인 서비스 활용을 가능하게 하였다.

본 시스템에서는 GO를 사용하여 관련 키워드를 추출하고 있으나. 시스템의 입력 키워드로서 유전자명, term name과 키워드 외에도 일반 생물학, 의학 분야의 전문/일반 용어를 입력 키워드로 하는 정보 검색을 가능하게 하기 위하여 GO외에 UMLS,, LOINC 등의 지식베이스를 추가한 시스템 기능 확장을 수행하고 있다. 현재 프로토타입 시스템을 개발 중에 있으며, 금후 Bio-Moby와 연계하여 품질 기반의 시스템 성능 분석을 진행할 예정이다.

6. 참고문헌

[1] Stein, L., "Creating a bioinformatics nation," Nature, Vol. 417 pp.119-129, 2002.

[2] GeneBank : "http://www.ncbi.nlm.nih.gov/"

[3] DDBJ : "http://www.ddbj.nig.ac.jp"

[4] Sugawara, H. and Miyazaki, S., "Biological SOAP Server and Web Services provided by the public sequence data bank," Nucleic Acids Research, Vol. 31, No. 13, pp. 3836-3839, 2003.

[5] EMBL project : "http://www,ebi.ac.uk"

[6] Swiss-PROT Project : "http://www.expasy.ch"

[7] 박용일, 박성수, 이종근, 홍동완, 윤지희, "의미적 데이터 통합을 위한 바이오 정보 시스템의 설계 및 구현," Proc. KDBC 2005, pp. 36-43, 2005.

[8] Stein, L., "Intergrating Biological Database," Nature Reviews-Genetics," Vol. 4 pp. 337-345, 2003.

[9] BioMOBY : "http://www.bioMOBY.org"

[10] Gene Ontology : "http://www.geneontology.org"

[11] UMLS :　"http://www.nlm.nih.gov/research/umls

documentation.html"

[12]　LOINC :　"http://www.regenstrief.org/loinc/"

[13] "http://www.w3.org/TR/2002/WD-ws-arch-

20021114/", W3C Working Draft, 2004.

[14] “http://www.w3.org/2002/ws", Web Services Activity.

[15] WSDL : "http://www.w3.org/TR/2001/NOTE-wsdl-

20010315"

[16] SOAP : "http://www.w3.org/TR/2000/NOTE-SOAP-

20000508"

[17] UDDI : “www.uddi.org", OASIS

[18] Wilkinson, M., Gessler, D., Farmer, A., and Stein, L., "The BioMOBY Project Explores Open-Source, Simple, Extensible Protocols for Enabling Biological Database Interoperability," Proc Virt Conf Genom and Bioinf, Vol. 3, pp. 17-27, 2003.

[19] 임익천, 김현수, 김승령, "웹 서비스의 평가, 인증 제도에 관한 탐색전 연구," 정보화정책 Vol. 10, No. 1, pp. 99-119, 2003.

[20] Clark, M., "UDDI-The Weather Report," http://www.webservicesarchitect.com. 2001.

[21] Joslyn, A., Mniszewski, S., Fulmer, A., and Heaton, G., "The Gene Ontology Categorizer," Bioinformatics, Vol. 20, Suppl.1, pp. i169-i177, 2004.

[22] Lee, S., Hur, J., and Kim, Y., "A graph-theoretic modeling on GO space for biological interpretation of gene clusters," Bioinformatics, Vol. 20 No.3, pp. 381-388, 2004.

[23] Smid, M. and Dorssers, L., "GO-Mapper:functional analysis of gene expression data using the expression level as a score to evaluate Gene Ontolog terms," Bioinformatics,  Vol. 20, No.16, pp. 2618-2625, 2004.

[24] Menasce, D., "QoS Issues in Web Services," IEEE Internet Computing Vol. 6 No. 6 pp. 72-75, 2002.

[25] Zeng, L., Benatallah, B., Dumas, M., Kalagnanam, J., and Sheng, Q., "Quality Driven Web Services Composition," www2003, pp. 411-421, 2003.

[26] Maximilien, E. and Singh, M., "Toward Autonomic Web Services Trust and Selection," ICSOC'04, pp. 15-19, 2004.

[27] 윤석현, 김동준, 한상용, "웹 서비스 품질 기반 검색을 위한 UDDI 개선 모델," 정보과학회, Vol. 31, No.5, pp. 511~518, 2004.