KR100426994B1 - 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법 - Google Patents
컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법 Download PDFInfo
- Publication number
- KR100426994B1 KR100426994B1 KR10-2000-0078917A KR20000078917A KR100426994B1 KR 100426994 B1 KR100426994 B1 KR 100426994B1 KR 20000078917 A KR20000078917 A KR 20000078917A KR 100426994 B1 KR100426994 B1 KR 100426994B1
- Authority
- KR
- South Korea
- Prior art keywords
- word
- index
- document
- words
- information
- Prior art date
Links
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 발생 빈도수가 높은 단어로 이루어진 조사표를 기초로 두 단어로 조합된 문서의 색인어를 추출하고 두 개의 단어가 모두 조사표에 있는 경우에만 등록시키고 두 단어 중 어느 하나가 조사표에 없는 경우에는 등록시키지 않는 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법에 관한 것으로, 특히 본 발명은 색인하고자 하는 문서를 분석하여 기준단어를 추출하고, 기준단어가 기 등록된 조사표에 존재하는 단어인가를 검색하는 단계와; 기준단어가 조사표에 존재하는 단어이면 기준단어를 제1단어로 설정하고, 제1단어에서 일정 거리 내에 있는 제2단어를 추출하고, 제2단어가 기 등록된 조사표에 존재하는 단어인가를 검색하는 단계와; 제1단어 및 제2단어가 모두 조사표에 있으면, 제1단어 및 제2단어의 조합으로 이루어진 색인어를 등록하고 파일 정보를 저장하는 단계를 포함한다. 따라서, 본 발명에 의하면 두 개의 단어로 이루어진 색인어를 기초로 역파일 또는 해쉬 테이블을 구성함으로써, 검색 속도를 빠르게 개선하고 식별성이 뛰어난 검색 결과를 도출할 수 있는 효과가 있다.
Description
본 발명은 문서 색인 방법에 관한 것으로, 보다 상세하게는 발생 빈도수가 높은 단어로 이루어진 조사표(look up table)를 기초로 두 단어로 조합된 문서의 색인어를 추출하고 두 개의 단어가 모두 조사표에 있는 경우에만 등록시키고 두 단어 중 어느 하나가 조사표에 없는 경우에는 등록시키지 않는 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법에 관한 것이다.
최근 들어, 대부분의 문서를 컴퓨터로 작성하고 통신망을 통해 문서를 배포하고 획득함에 따라 효과적으로 문서를 찾는 기술의 중요성이 매우 커지고 있다. 더구나, 인터넷이 보급됨으로써 전문가뿐만 아니라 일반인도 통신망에 접속하여 정보를 제공하거나 획득하는 것이 일반화되고, 이에 따라 인터넷으로 접근할 수 있는 정보의 양이 기하급수적으로 증가하고 있다. 따라서, 역사상 유래 없는 거대한 정보창고이자 정보획득 인프라 역할을 수행하는 인터넷에서 검색엔진(예컨대, altavista, yahoo, infoseek ultra, dejanews, lycos, empas 등)을 이용한 검색 서비스가 가장 성공적인 응용 프로그램으로 대두되고 있으며, 많은 인터넷 이용자를 확보하기 위한 경쟁도 치열하게 전개되고 있다.
초기 인터넷 검색엔진은 웹의 규모가 크지 않았기 때문에 몇 안 되는 자료를 데이터베이스로 구축할 필요가 없었으며, 야후와 같은 웹 초기의 검색엔진들은 데이터베이스 규모가 작은 경우 개발과 검색에 편리한 주제 검색 방법을 이용하였다. 예를 들어, 초기메뉴를 비롯한 각 단계의 메뉴들이 하위메뉴를 약 10개 정도 갖고 있고 전체 메뉴는 총 4단계까지 지원한다고 가정하면, 이를 트리구조 형식으로 나타냈을 때 총 1000(103)개만큼의 자료를 보유할 수 있다. 여기에서 한 단계를 더 추가한다면 10000(104)개까지 자료를 확보할 수 있다. 그러나, 현재의 인터넷 검색엔진들의 보유 레코드 수가 작게는 100만 개부터 많게는 5천만 개에 이르고 있기 때문에 주제 검색 방식으로 자료를 검색할 경우 여러 단계를 거쳐야만 최종 자료에 접근할 수 있다. 만약, 여러 단계 중에서 한 번이라도 실수하게 되면 다시 상위 주제로 올라가지 않는 한 하위 주제에서 자료를 검색하는 것은 불가능하다. 이와 같이, 지속적으로 인터넷의 규모가 커지면서 더 이상 주제 검색만으로는 원활한 검색이 불가능해졌고, 급팽창하는 웹의 규모에 맞게 검색엔진이 보유한 레코드 수도 그만큼 증가해야 하는데, 예전과 같이 사람의 수작업에 의해 하나의 홈페이지를 확인하고 이를 하나의 레코드로 추가시키는 방식은 급격한 웹의 성장을 따라 갈 수 없으며, 이러한 수작업에 의해 수십만 개의 홈페이지를 색인하여 데이터베이스를 구축하더라도 이를 사용자가 메뉴 방식으로 검색하기 위해서는 많은 시간과 노력을 기울여야 한다.
이 때부터 로봇(예컨대, robots, wanderers, spiders, worms 등) 에이전트라는 개념이 인터넷에 도입되었으며, 로봇이란 일종의 자동 순회 프로그램으로 기존에 수작업으로 홈페이지를 찾아다니며 색인하던 작업을 자동적으로 검색하고 색인하여 이를 데이터베이스화하는 프로그램을 일컫는다. 이러한 로봇에 의해 만들어진 데이터베이스는 대부분이 키워드 검색이 가능하도록 설계되며, 이 때부터 인터넷 검색엔진이 주제 검색에서 키워드 검색으로 전환하기 시작했다. 즉, 사용자가 자신이 원하는 정보를 검색하기 위해 해당 검색식을 키워드로 입력하고, 입력한 키워드간의 관계를 이용하여 불리언 질의 방식이나 벡터 질의 방식으로 관련 정보에 접근해간다.
이와 같은 종래 기술에서는 입력된 키워드들간의 관계(즉, 키워드간의 가중치 등)를 고려하여 시스템에 구축되어 있는 키워드들의 인덱스에서 검색하여 해당되는 정보들을 사용자에게 제공한다. 키워드들간의 관계를 고려하여 원하는 정보에 접근하는 방법은 크게 단위 키워드들의 단어를 미리 분석하여 저장하고 해당 키워드와 관련된 색인 키워드를 추출하는 방법과 검색 키워드의 비그램(bigram) 또는 트라이그램(trigram)의 정보를 이용하여 키워드를 찾아내는 방법 등이 있다. 이를 이용하여 인터넷 이용자들이 원하는 정보를 빠른 시간 내에 획득하기 위해 검색엔진을 개발하기에 이르렀다. 검색엔진은 인터넷 이용자를 대신하여 인터넷을 빠른 속도로 돌아다니면서 이용자의 요구에 맞는 정보를 찾아준다. 즉, 인터넷 이용자는 검색엔진에서 제공하는 질의어 형식에 맞게 자신이 원하는 정보가 무엇인지 알려주고 검색엔진은 해당 정보를 찾아 인터넷 이용자에게 제공한다.
그러나, 이와 같은 종래의 검색엔진을 이용한 정보 검색 방법은 처리속도와 안정성에 초점을 맞추어 개발해 왔기 때문에 여러 가지 문제점을 내포하고 있다. 첫째, 기술적 어려움과 처리비용의 문제 때문에 문제영역 정보나 사용자의 선호도를 반영한 정보검색을 하지 못한다. 둘째, 많은 인터넷 이용자가 동시에 검색을 요청하는 경우 검색시간과 응답시간이 길어짐에 따라 검색효율이 낮아진다. 셋째, 전문지식이 없는 초보자들은 검색 시스템을 효율적으로 사용하지 못하고, 키워드에의한 검색 방법은 단어의 모호성으로 인하여 정확한 정보를 검색할 수 없다. 넷째, 일반적인 검색 사이트는 검색엔진을 통해 방대한 웹문서를 소유하고 있는데 하나의 키워드를 이용하여 검색을 수행하는 종래의 검색방법은 과다한 검색결과를 출력하므로 오히려 사용자가 원하는 정보를 선별하기가 어렵다.
따라서, 본 발명은 상기한 바와 같은 종래의 제반 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 발생 빈도수가 높은 단어를 선별하여 일정한 양의 단어(예컨대, 10만 내지 200만 단어)로 구성된 조사표를 작성하고 검색하고자 하는 문서의 (두 개의 단어로 이루어진) 색인어가 일정한 거리(예컨대, 8내지 50단어 정도) 내에 있고 조사표에 모두 존재하는 경우에 해당 문서를 등록시킴으로써, 검색 속도를 빠르게 개선하고 식별성이 뛰어난 검색 결과를 도출할 수 있는 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법을 제공하는 데 있다.
도 1은 본 발명에 따른 일 실시예의 구성을 보여주는 블록도이고,
도 2는 본 발명에 따른 다른 실시예의 구성을 보여주는 블록도이고,
도 3은 본 발명에 따른 일 실시예의 동작을 설명하는 흐름도이고,
도 3a는 수집된 문서의 예를 도시한 예시도이고,
도 3b는 수집된 문서의 색인어 추출에 대한 예시도이고,
도 3c는 색인어별 문서 정보에 대한 역파일의 구조 또는 해쉬 테이블 구조를 도시한 예시도이고,
도 4는 본 발명에 따른 다른 실시예의 동작을 설명하는 흐름도이다.
♣ 도면의 주요 부분에 대한 부호의 설명 ♣
100,230: 색인 에이전트 110,234: 색인 모듈
120,238: 조사표 200: 문서 색인 시스템
220: 로봇 에이전트 240: 등록 에이전트
이와 같은 목적을 달성하기 위한 본 발명은 문서를 분석하여 색인어별로 정보를 저장하는 문서 색인 방법에 있어서, 색인하고자 하는 문서를 분석하여 기준단어를 추출하고, 기준단어가 기 등록된 조사표에 존재하는 단어인가를 검색하는 단계와; 기준단어가 조사표에 존재하는 단어이면 기준단어를 제1단어로 설정하고, 제1단어에서 일정 거리 내에 있는 제2단어를 추출하고, 제2단어가 기 등록된 조사표에 존재하는 단어인가를 검색하는 단계와; 제1단어 및 제2단어가 모두 조사표에 있으면, 제1단어 및 제2단어의 조합으로 이루어진 색인어를 등록하고 파일 정보를저장하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 문서를 분석하여 색인어별로 정보를 저장하는 문서 색인 시스템에 있어서, 색인하고자 하는 문서를 추출하여 전달하는 문서 관리기와 문서 관리기에 의해 전달된 문서로부터 추출된 색인어들을 역파일 또는 해쉬 테이블 구조로 저장 관리하며 색인어 통계 정보, 동의어 파일, 불용어 파일들을 관리하는 색인 관리기로 이루어진 색인 모듈과; 색인 관리기와 상호 연결되어 있고, 발생 빈도수가 높은 단어로 구성된 조사표와; 문서 관리기와 상호 연결되어 있으며, 색인하고자 하는 문서의 전체 내용 또는 인터넷상의 문서 위치 정보를 저장하고, 문서 관리기의 요청에 의해 해당 문서를 추출하여 전달하는 문서 데이터베이스; 및 색인 관리기와 상호 연결되어 있고, 색인 관리기에 의해 선정된 두 개의 단어로 조합된 색인어에 대한 목록 및 해당 색인어가 포함된 문서 번호를 색인하기 용이한 역파일 또는 해쉬 테이블 구조로 저장하는 색인 데이터베이스를 포함하는 것을 특징으로 한다.
본 발명에서 이용하는 컨셉 랭킹(Concept Ranking) 기법이란 발생 빈도수가 높은 단어를 선별하여 구성한 조사표를 기초로 검색하고자 하는 문서에 대한 색인어의 등록 여부를 결정하는 방식을 말한다. 조사표를 구성하는 단어는 약 10만 내지 200만 단어 정도로 이루어져 있으며, 단어 선정은 기존 검색 엔진을 이용하여 발생 빈도수가 높은 키워드를 일차적으로 추출한다. 이러한 컨셉 랭킹 기법은 기존의 한 단어의 색인어에 의해 문서의 등록 여부를 결정하는 방식보다 두 개의 단어를 색인어로 분류하기 때문에 검색 식별성을 높일 수 있다는 장점이 있다. 두 개의단어를 색인어로 등록시키는 기준은 두 단어 모두 조사표에 존재하는 단어이어야 하고, 두 단어 사이의 거리는 8내지 50 단어로 한정하는 것이 바람직하다.
이하, 본 발명에 따른 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법에 대한 바람직한 실시예를 첨부된 도면에 의거하여 상세하게 설명한다.
도 1은 본 발명에 따른 일 실시예의 구성을 보여주는 블록도이고, 색인 에이전트(100)는 색인 모듈(110), 조사표(120), 색인 DB(130), 문서 DB(140), 퍼시러테이터(facilitator, 이하 'FA'로 약칭함)(150)를 포함하고, 색인 모듈(110)은 문서 관리기(112) 및 색인 관리기(114)를 포함한다.
색인 모듈(110)은 보유하고 있는 문서의 내용을 파악하여 색인어를 추출하고 해당 색인어가 기 등록된 조사표(120)에 존재하는 단어인가를 판별하여 역파일 또는 해쉬 테이블 구성여부를 결정하는 기능을 수행한다. 색인 방법에는 역파일을 생성하는 방법이외에 해쉬 테이블(hash table), B 트리(B tree), 바이너리 트리(binary tree) 등을 사용할 수 있다. 색인 모듈(110)이 수행하는 색인 작업은 수집된 정보로부터 단어를 추출해 내는 작업과 추출된 단어가 조사표에 존재하는지를 판별하는 작업 및 문서에 대한 단어의 주소 위치정보의 위치를 지시함으로써 효율적인 정보 검색의 기반을 제공하는 색인 작성 작업으로 이루어진다. 색인 모듈(110)은 색인하고자 하는 문서를 문서 DB(140)로부터 추출하여 색인 관리기(114)로 전달하는 문서 관리기(112)와 문서 관리기(112)에 의해 전달된 문서로부터 추출된 색인어들을 역파일 또는 해쉬 테이블 구조로 저장 관리하며 색인어 통계 정보, 동의어 파일, 불용어 파일들을 관리하는 색인 관리기(114)를 포함한다.색인 관리기(114)에서 추출되는 색인어는 두 단어의 조합으로 이루어지며, 이 두 단어 모두가 조사표(120)에 등록된 경우에 해당 색인어 및 문서가 저장된다. 두 단어의 색인어 조합은 8내지 50자 이내에 있는 단어들로 구성하고, 부사 및 동사는 색인어 조합에 포함시키지 않고 명사, 형용사 또는 동사의 명사형으로 색인어를 구성하는 것이 바람직하다.
조사표(120)는 색인 관리기(114)와 상호 연결되어 있고, 약 10만 내지 200만 단어를 선정하여 구성하며, 그 선정 기준은 기존의 검색 엔진에서 발생 빈도수가 높은 단어를 위주로 선정한다. 조사표(120)에 등록된 단어는 문서 색인의 기초가 되고 색인어가 조사표(120)에 모두 존재하여야 해당 색인어에 대한 역파일 또는 해쉬 테이블을 구성할 수 있다. 조사표(120)를 구성하는 단어는 색인 관리기(114)에 의해 추가되거나 삭제될 수 있다. 색인 DB(130)는 색인 관리기(114)와 상호 연결되어 있고, 색인 관리기(114)에 의해 등록된 두 개의 단어로 조합된 색인어에 대한 목록 및 해당 색인어가 포함된 문서 번호를 색인하기 용이한 역파일 또는 해쉬 테이블 구조로 저장하는 기능을 수행한다. 문서 DB(140)는 문서 관리기(112)와 상호 연결되어 있으며, 색인하고자 하는 문서의 전체 내용 또는 그 문서에 대한 인터넷상의 주소 위치정보를 저장하고, 문서 관리기(112)의 요청에 의해 해당 문서를 추출하여 전달하는 기능을 수행한다. FA(150)는 색인 관리기(114)와 상호 연결되어 있고, 외부 에이전트(예컨대, 로봇 에이전트, 등록 에이전트, 검색 에이전트 등)의 정보 요청 시 해당 에이전트와의 통신을 수행하기 위해 통신 형식을 조절하는 기능을 담당하고 관련된 에이전트를 관리하는 기능을 수행한다.
도 2는 본 발명에 따른 다른 실시예의 구성을 보여주는 블록도로서, 문서 색인 시스템(200)은 로봇 에이전트(220), 색인 에이전트(230) 및 등록 에이전트(240)로 이루어져 있으며, 로봇 에이전트(220)는 인터넷(210)에 연결되도록 구성되어 있다. 또한, 로봇 에이전트(220)는 수집 로봇(222), 추적 로봇(224), 관리 로봇(226), FA(228) 및 URL 데이터베이스(229)를 포함하고, 색인 에이전트(230)는 FA(232), 색인 모듈(234) 및 색인 데이터베이스(236)를 포함하고, 등록 에이전트(240)는 FA(242) 및 등록 데이터베이스(244)를 포함한다.
로봇 에이전트(220)는 인터넷(210)에 연결되어 있으며, 로봇 에이전트(220)는 자동 순회 프로그램으로 기존에 수작업으로 홈페이지를 검색하여 색인 작업을 수행하는 대신에 자동적으로 검색 및 색인하여 이를 데이터베이스화하는 기능을 수행한다. 로봇 에이전트(220)에는 새로운 정보를 수집하는 수집 로봇(222)과 기존 정보의 내용변경 유무를 추적하여 정보를 수집하는 추적 로봇(224) 및 중복된 정보의 수집을 방지하고 최적의 정보를 저장하기 위해 URL 데이터베이스(229)를 관리하는 관리 로봇(226)을 포함하고, 각 에이전트간의 통신을 담당하고 관련된 에이전트를 관리하는 FA(228)를 포함한다. 또한, 추적 로봇(224)은 새로운 인터넷 홈페이지(등록되지 않은 홈페이지)를 찾는 로봇, 내용이 변한 홈페이지(삭제된 홈페이지도 포함)를 추적하는 로봇, 접속에 실패한 홈페이지를 추후에 추적하는 로봇을 포함할 수 있다. 로봇 에이전트(220)는 결국 웹서버에 접속해 데이터를 가져오는 기능적인 측면만 보면 웹브라우저와 같은 기능을 하는 것처럼 보이지만 웹브라우저는 가져온 데이터를 화면에 보여 주고 하이퍼링크 등의 기능을 수행하고, 로봇에이전트는 데이터를 분석하고 그 안의 URL을 추출해 다른 URL로 연결시켜 주는 기능을 수행한다는 차이점이 있다. 따라서, 로봇 에이전트(220)를 실행시켜 놓으면 로봇 에이전트(220)가 자동으로 인터넷상의 홈페이지를 찾아 정보를 수집한다. 대표적인 로봇 에이전트(220)에는 기존의 스파이더(spider) 및 크롤러(crawler) 등이 있다. 로봇 에이전트(220)는 자신이 방문한 웹 페이지의 모든 내용을 읽고 링크되어 있는 모든 사이트들을 차례로 방문하고, 일정 기간을 주기로 자신이 과거 방문했던 사이트들을 다시 방문하여 해당 페이지의 갱신 여부를 체크하여 변경이 있으면 해당 정보를 수집한다. 로봇 에이전트(220)가 방문한 곳에 링크된 웹 문서가 있으면 로봇은 자동으로 그곳으로 들어가 정보를 수집하고, 링크된 웹 문서가 없으면 로봇 에이전트(220)가 탐색해야 할 곳을 시작점으로 지정하여 그 곳에서부터 인덱스 수집이 이루어진다.
색인 에이전트(230)는 로봇 에이전트(220)와 상호 연결되어 있거나 수집된 문서를 별도로 처리할 수도 있으며, 로봇 에이전트(220)에 의해 수집된 정보를 검색하여 색인어를 추출하고 색인어가 조사표(238)에 존재하는 경우에 해당 색인어별로 수집된 정보를 처리하여 색인 데이터베이스(236)에 저장하는 기능을 수행한다. 이러한 기능은 색인 모듈(234)에 의해 수행된다. 색인 모듈(234)이 수행하는 색인 작업은 수집된 정보로부터 단어를 추출해 내는 작업과 추출된 단어가 조사표에 존재하는지를 판별하는 작업 및 그 단어에 대한 문서 파일 정보를 저장함으로써 효율적인 정보 검색의 기반을 제공하는 색인 작성 작업으로 이루어진다. 여기에서, 로봇 에이전트(220)와 색인 에이전트(230)간의 통신은 각각의 facilitator(228, 232)가 담당한다. 색인 모듈(234)은 facilitator(232)를 통해 로봇 에이전트(220)로부터 전송된 정보(예를 들면, HTML 문서)의 태그(예를 들면, HTML 태그)를 제거하고 남은 정보의 내용을 가지고 제목 및 색인어를 추출하여 색인 데이터베이스(236)에 저장한다.
색인 모듈(234)은 데이터베이스를 생성하고 문서의 전문 또는 그 문서에 대한 인터넷(예컨대, 인트라넷, 랜 등)상의 문서 위치정보를 저장하는 문서 관리기, 문서로부터 추출된 색인어들을 역파일 또는 해쉬 테이블 구조로 저장 관리하며 색인어 통계 정보, 동의어 파일, 불용어 파일들을 관리하는 색인 관리기, 색인어들을 추출하기 위한 자동 색인 모듈들을 관리하는 토큰 생성기 라이브러리, 인터넷 등에 존재하는 문서들의 위치 정보를 관리하는 문서 위치정보 관리기 및 문서 위치정보를 이용하여 문서로부터 텍스트를 추출하는 문서 판독기를 관리하는 문서 판독기 라이브러리 등으로 구성할 수 있다. 조사표(238)는 약 10만 내지 200만 단어를 선정하여 구성하고, 그 선정 기준은 기존의 검색 엔진에서 발생 빈도수가 높은 단어를 위주로 선정한다. 조사표(238)에 등록된 단어는 문서 색인의 기초가 되고 색인어는 두 단어의 조합으로 이루어지며, 이 두 단어 모두가 조사표(238)에 등록된 경우에 해당 색인어 및 문서가 저장된다. 두 단어의 색인어 조합은 각 단어가 서로 8내지 50자 이내에 있는 단어들로 구성하고, 부사 및 동사는 색인어 조합에 포함시키지 않고 명사, 형용사 또는 동사의 명사형을 위주로 색인어를 구성한다.
등록 에이전트(240)는 색인 에이전트(230)에 상호 연결되어 있으며, 색인 에이전트(230)에 의해 색인화된 정보를 색인어별 또는 카테고리별로 분류하여 등록데이터베이스(244)에 저장하는 기능을 수행한다. 또한, 다른 에이전트의 요구 시 저장된 정보를 추출하여 해당 에이전트로 전송하는 기능도 함께 수행한다. 즉, 등록된 정보는 주요 웹의 홈페이지이고, 분류검색 서비스 및 기본 검색에 필요한 기본자료로 활용되며, 로봇을 이용하여 확장자료를 구성하는데 쓰이기도 한다.
이하에서는, 본 발명에 따른 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법에 대한 각 실시예의 동작 관계를 첨부된 도면에 의거하여 좀 더 구체적으로 설명하면 다음과 같다.
도 3은 본 발명에 따른 일 실시예의 동작을 설명하는 흐름도이고, 검색하고자 하는 문서를 문서 DB에 저장하고 기존의 검색엔진에서 발생 빈도수가 높은 10만 내지 200만 단어 정도를 선정하여 조사표에 등록하였다고 가정한다.
먼저, 문서 관리기는 색인 관리기의 색인 요청 신호가 입력되면 색인하고자 하는 문서를 문서 DB에서 추출하여 색인 관리기로 전달하고, 색인 관리기는 조사표를 이용하여 발생 빈도수가 높은 단어만을 선정한 후, 문서 관리기로부터 전달된 문서 내용을 기초로 기준단어를 추출한다(S305). 기준단어는 문서의 단어 중 부사, 동사를 제외한 명사, 형용사, 동사의 명사형으로 이루어진 단어이며, 색인어를 이루는 두 단어 중 전단에 위치하는 단어이다.
기준단어가 추출되면 색인 관리기는 해당 기준단어가 색인하고자 하는 문서에 존재하는 마지막 기준단어인가를 판단(S310)하여 마지막 기준단어가 아니면 해당 기준단어가 조사표에 있는 단어인가를 판단한다(S315). 기준단어가 조사표에 존재하지 않는 단어이면 다음 기준단어를 문서로부터 추출(S320)하여 상기단계(S310)를 반복 수행한다. 상기 단계(S315)의 판단 결과, 해당 기준단어가 조사표에 존재하는 단어이면 해당 기준단어를 제1단어로 설정하고 거리값을 0으로 초기화한다(S325). 여기에서, 기준단어를 제1단어로 설정하는 이유는 색인어가 두 개의 단어의 조합으로 이루어진 것이기 때문에 각각의 단어를 구별하기 위함이다.
색인어를 이루는 제1단어가 설정되면 색인 관리기는 제1단어에서 거리를 1증가시켜 상기 거리에 있는 제2단어를 추출한다(S330). 제2단어는 문서의 단어 중 부사, 동사를 제외한 명사, 형용사, 동사의 명사형으로 이루어진 단어이며, 색인어를 이루는 두 단어 중 후단에 위치하는 단어이다. 따라서, 제2단어는 제1단어의 일정 거리 내에 위치하며, 제1단어보다 앞에 위치할 수는 없다. 여기에서, 거리는 한 단어(예컨대, 제1단어)와 다음 단어(예컨대, 제2단어) 사이의 간격을 의미한다. 제2단어가 추출되면 해당 제2단어가 제1단어(즉, 기준단어)에서 일정 거리에 존재하는 단어인가를 판단(S335)하여 일정 거리 내에 존재하는 단어가 아니면 상기 단계(S320)로 진행하여 이후의 단계들을 반복 수행하고, 일정 거리 내에 존재하는 단어이면 제2단어가 조사표에 있는 단어인가를 판단한다(S340). 여기에서, 일정 거리는 필요에 따라 자유롭게 증감할 수 있지만, 본 발명에서는 8내지 50자 이내라고 가정하여 설명한다.
상기 단계(S340)의 판단 결과, 제2단어가 조사표에 존재하는 단어가 아니면 다음 제2단어를 추출하기 위해 상기 단계(S330)로 진행하여 이후의 단계들을 반복 수행하고, 제2단어가 조사표에 존재하는 단어이면 제1단어와 제2단어가 모두 조사표에 존재하는 단어이므로 제1단어와 제2단어의 조합으로 이루어진 색인어 및 해당색인어의 파일 정보를 색인 DB에 저장한다(S345).
이하에서는, 문서를 분석하여 색인어를 추출하고 해당 색인어 및 파일 정보를 저장하는 과정은 도 3a 내지 도 3c를 참조하여 예시적으로 설명한다.
도 3a는 수집된 문서의 예를 도시한 예시도이고, 도 3b는 수집된 문서의 색인어 추출에 대한 예시도이고, 도 3c는 색인어별 문서 정보에 대한 역파일 또는 해쉬 테이블의 구조를 도시한 예시도이다. 색인 관리기는 문서 관리기로부터 전달된 문서(예컨대, File 1, File 2)의 내용을 분석하여 부사와 동사를 제외하고 명사, 형용사 또는 동사의 명사형으로 이루어진 단어를 선정한다. 도 3a에 도시된 각각의 번호(예컨대, ⓐ∼ⓡ, ㉠∼㉪)는 단지 선정된 단어를 구분하기 위한 기호이고, 문서들은 여러 개가 일시에 색인 관리기에 전달되는 것이 아니라 하나의 문서씩 전달되지만 색인어별 문서 정보의 처리과정을 설명하기 위해 두 개의 문서를 인용한 것이다.
먼저, 색인 관리기는 문서를 분석하여 기준단어(즉, 제1단어) 및 제2단어를 추출한다. 여기에서, 제1단어 및 제2단어의 거리는 8내지 50자 이내에 존재하는 단어의 결합으로 이루어지는 것이 바람직하며, 각 문서(예컨대, File 1, File 2)에 대한 제1단어 및 제2단어의 추출은 도 3b에 도시되어 있다. 예를 들면, File 1의 '정보(ⓐ)'(즉, 제1단어)를 기준으로 제2단어를 추출하고자 할 때, 추출될 수 있는 경우의 수는 '정보 검색(ⓐⓑ)', '정보 시스템(ⓐⓒ)', '정보 수집(ⓐⓔ)', '정보 분석(ⓐⓕ)', '정보 용이(ⓐⓗ)', '정보 형태(ⓐⓘ)', '정보 조작(ⓐⓙ)'이며, '정보 정보(ⓐⓓ)' 및 '정보 검색(ⓐⓖ)'는 중복된 것이기 때문에 제2단어 추출에서제외된 것이다. '정보'를 기준으로 제2단어가 모두 추출되면 다음 단어인 '검색'(즉, 다음 기준단어)을 기준으로 제2단어를 추출하며, 제2단어의 추출 방법은 '정보'와 동일하게 진행한다. 도 3b에 도시된 제1단어 및 제2단어는 8내지 50자 이내에 있는 단어의 결합으로 추출한 것이며, 단어 결합의 추출 거리는 필요에 따라 자유롭게 증감할 수 있다.
제1단어 및 제2단어가 추출되면, 해당 단어가 모두 조사표에 존재하는 단어인가를 판단하고, 해당 단어가 모두 조사표에 있으면 해당 단어를 색인어로 등록하고 그 색인어가 포함된 파일 정보(예컨대, 파일 번호 등)를 색인 DB에 저장한다. 예를 들어, 조사표에 '정보', '검색', '시스템', '형태', '추출', '디렉토리', '엔진', '검색엔진', '주제어'가 있다고 가정했을 때, 색인 DB에 등록될 수 있는 두 개의 단어로 조합된 색인어의 목록 및 해당 색인어가 포함된 문서 번호에 대한 파일 정보를 구성하는 역파일 또는 해쉬 테이블의 구조는 도 3c와 같다. 여기에서, 색인 DB에 등록된 색인어에 대한 역파일 또는 해쉬 테이블이 형성되었다는 것은 해당 문서에 대한 색인어가 적어도 하나 이상이 있다는 것이다.
상기 단계(S310)에서 추출된 기준단어가 마지막이면, 하나의 문서에 대한 색인어 작업이 종료한 것이므로 다른 문서가 있는가를 판단(S350)하여 다른 문서가 있으면 상기 단계(S305)로 진행한 후 이후의 단계들을 반복 수행하고, 색인할 다른 문서가 없으면 본 발명의 모든 처리과정을 종료한다.
도 4는 본 발명에 따른 다른 실시예의 동작을 설명하는 흐름도이고, 문서 색인을 처리하기 전에 로봇 에이전트는 추적 로봇을 이용하여 검색할 URL을 추적하여URL 데이터베이스에 저장시켜 두고, 기존의 검색엔진에서 발생 빈도수가 높은 10만 내지 200만 단어 정도를 선정하여 조사표에 등록하였다고 가정한다.
먼저, 문서 색인 시스템은 URL 데이터베이스에 저장된 URL를 추출하여 처음 검색할 URL을 선정하여 로봇 에이전트를 가동시킨다(S405). 로봇 에이전트의 수집 로봇은 선정된 URL에 접근(S410)하여 해당 URL이 검색 로봇의 접근을 허용하는지를 판단한다(S415). 즉, 수집 로봇은 URL의 호스트 이름에 따라 http://호스트이름/robots.txt에 접근하여 robots.txt의 내용을 분석하고 검색하고자 하는 URL이 로봇 에이전트의 접근을 허용하고 있는지의 여부를 판별한다. 판단 결과, 접근이 허용되면 분석된 robots.txt의 내용을 기초로 해당 사이트의 문서를 수집하고 관련된 URL을 추출한다(S420). 이때, 모든 URL은 상대 URL이 아닌 절대 URL로 변환한다. 즉, 상대 URL(예컨대, /dir/index.html)을 절대 URL(http://호스트이름/dir/index.html)로 변환한다. 추출한 URL은 추후에 활용할 수 있도록 URL 데이터베이스에 저장하고 관련된 URL까지 함께 저장한다. 예를 들면, http://host/dir/subdir/file.html이 저장할 URL이면 이 URL이외에 관련된 URL(예컨대, http://host/dir/subdir/, http://host/dir/, http://host/)도 있을 것이므로 검색하고자 하는 URL뿐만 아니라 관련 URL도 추측하여 저장한다. 또한, 추출한 URL을 데이터베이스에 저장할 때는 관리 로봇을 이용하여 해당 URL이 이미 등록되어 있는지를 검사하여 중복된 URL이 등록되지 않도록 하는 것이 바람직하다.
수집 로봇에 의해 수집된 문서는 FA를 통해 색인 에이전트로 전송되고, 색인 에이전트는 전송된 문서를 기초로 기준단어를 추출한다(S425). 기준단어는 문서의단어 중 부사, 동사를 제외한 명사, 형용사, 동사의 명사형으로 이루어진 단어이며, 색인어를 이루는 두 단어 중 전단에 위치하는 단어이다. 기준단어가 추출되면 색인 에이전트는 해당 기준단어가 색인하고자 하는 문서에 존재하는 마지막 기준단어인가를 판단(S430)하여 마지막 기준단어가 아니면 해당 기준단어가 조사표에 있는 단어인가를 판단한다(S435). 기준단어가 조사표에 존재하지 않는 단어이면 다음 기준단어를 문서로부터 추출(S440)하여 상기 단계(S430)를 반복 수행한다. 상기 단계(S435)의 판단 결과, 해당 기준단어가 조사표에 존재하는 단어이면 해당 기준단어를 제1단어로 설정하고 거리값으로 0으로 초기화한다(S445). 여기에서, 기준단어를 제1단어로 설정하는 이유는 색인어가 두 개의 단어의 조합으로 이루어진 것이기 때문에 각각의 단어를 구별하기 위함이다.
색인어를 이루는 제1단어가 설정되면 색인 에이전트는 제1단어에서 거리를 1증가시켜 상기 거리에 있는 제2단어를 추출한다(S450). 제2단어는 문서의 단어 중 부사, 동사를 제외한 명사, 형용사, 동사의 명사형으로 이루어진 단어이며, 색인어를 이루는 두 단어 중 후단에 위치하는 단어이다. 따라서, 제2단어는 제1단어의 일정 거리 내에 위치하며, 제1단어보다 앞에 위치할 수는 없다. 여기에서, 거리는 한 단어(예컨대, 제1단어)와 다음 단어(예컨대, 제2단어) 사이의 간격을 의미한다. 제2단어가 추출되면 해당 제2단어가 제1단어(즉, 기준단어)에서 일정 거리에 존재하는 단어인가를 판단(S455)하여 일정 거리 내에 존재하는 단어가 아니면 상기 단계(S440)로 진행하여 이후의 단계들을 반복 수행하고, 일정 거리 내에 존재하는 단어이면 제2단어가 조사표에 있는 단어인가를 판단한다(S460). 여기에서, 일정 거리는 필요에 따라 자유롭게 증감할 수 있지만, 본 발명에서는 8내지 50자 이내라고 가정하여 설명한다.
상기 단계(S460)의 판단 결과, 제2단어가 조사표에 존재하는 단어가 아니면 다음 제2단어를 추출하기 위해 상기 단계(S450)로 진행하여 이후의 단계들을 반복 수행하고, 제2단어가 조사표에 존재하는 단어이면 제1단어와 제2단어가 모두 조사표에 존재하는 단어이므로 제1단어와 제2단어의 조합으로 이루어진 색인어 및 해당 색인어의 파일 정보를 색인 DB에 저장한다(S465). 다음에, 상기 단계(S430)에서 추출된 기준단어가 마지막이면, 색인 에이전트는 해당 색인어가 포함된 전체 문서를 등록 에이전트로 전달하고, 등록 에이전트는 전달받은 문서를 등록 DB에 모두 저장시킨다(S470). 다음에, 상기 단계(S410)에서 접근이 허용되지 않거나 상기 단계(S470)에서 등록 DB에 문서가 저장되면, 하나의 URL에 대한 색인어 작업이 종료한 것이므로 로봇 에이전트는 URL 데이터베이스를 검색하여 남아있는 URL이 있는가를 판단(S475)하여 다른 URL이 있으면 URL DB로부터 다음 URL를 전송받아 상기 단계(S410)로 진행한 후 이후의 단계들을 반복 수행하고, 색인할 다른 URL이 없으면 본 발명의 모든 처리과정을 종료한다.
이상의 설명은 하나의 실시예를 설명한 것에 불과하고, 본 발명은 상술한 실시예에 한정되지 않으며 첨부한 특허청구범위 내에서 다양하게 변경 가능한 것이다. 예를 들어 본 발명의 실시예에 구체적으로 나타난 각 구성 요소의 형상 및 구조는 변형하여 실시할 수 있을 것이다.
이상에서 설명한 바와 같이 본 발명에 따른 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법에 의하면, 두 개의 단어로 이루어진 색인어를 기초로 역파일 또는 해쉬 테이블을 구성함으로써, 검색 속도를 빠르게 개선하고 식별성이 뛰어난 검색 결과를 도출할 수 있는 효과가 있다.
Claims (8)
- 문서를 분석하여 색인어별로 정보를 저장하는 문서 색인 방법에 있어서,색인하고자 하는 문서를 분석하여 기준단어를 추출하고, 상기 기준단어가 기 등록된 조사표에 존재하는 단어인가를 검색하는 단계;상기 기준단어가 조사표에 존재하는 단어이면 상기 기준단어를 제1단어로 설정하고, 상기 제1단어에서 일정 거리 내에 있는 제2단어를 추출하고, 상기 제2단어가 기 등록된 조사표에 존재하는 단어인가를 검색하는 단계;상기 제1단어 및 상기 제2단어가 모두 상기 조사표에 있으면, 상기 제1단어 및 상기 제2단어의 조합으로 이루어진 색인어를 등록하고 파일 정보를 저장하는 단계를 포함하고,상기 조사표는 발생 빈도수가 높은 단어를 위주로 선정하는 것을 특징으로 하는 컨셉 랭킹 기법을 이용한 문서 색인 방법.
- 삭제
- 제1항에 있어서, 상기 기준단어, 상기 제1단어 및 상기 제2단어는 명사, 형용사 또는 동사의 명사형으로 이루어진 것을 특징으로 하는 컨셉 랭킹 기법을 이용한 문서 색인 방법.
- 제1항에 있어서, 상기 파일 정보는 등록된 색인어의 목록과 해당 색인어가 포함된 문서 번호를 포함하는 역파일 구조로 이루어지고, 해쉬 테이블, B 트리, 바이너리 트리 중 어느 하나를 사용하는 것을 특징으로 하는 컨셉 랭킹 기법을 이용한 문서 색인 방법.
- 삭제
- 문서를 분석하여 색인어별로 정보를 저장하는 문서 색인 시스템에 있어서,색인하고자 하는 문서를 추출하여 전달하는 문서 관리기와 상기 문서 관리기에 의해 전달된 문서로부터 추출된 색인어들을 역파일 또는 해쉬 테이블 구조로 저장 관리하며 색인어 통계 정보, 동의어 파일, 불용어 파일들을 관리하는 색인 관리기로 이루어진 색인 모듈;상기 색인 관리기와 상호 연결되어 있고, 발생 빈도수가 높은 단어로 구성된 조사표;상기 문서 관리기와 상호 연결되어 있으며, 색인하고자 하는 문서의 전체 내용 또는 인터넷상의 문서 위치 정보를 저장하고, 상기 문서 관리기의 요청에 의해 해당 문서를 추출하여 전달하는 문서 데이터베이스; 및상기 색인 관리기와 상호 연결되어 있고, 상기 색인 관리기에 의해 선정된 두 개의 단어로 조합된 색인어에 대한 목록 및 해당 색인어가 포함된 문서 번호를 색인하기 용이한 역파일 또는 해쉬 테이블 구조로 저장하는 색인 데이터베이스를포함하는 것을 특징으로 하는 컨셉 랭킹 기법을 이용한 문서 색인 시스템.
- 제6항에 있어서, 상기 색인어는 상기 두 단어가 모두 상기 조사표에 존재하고 일정한 거리 내에 있는 두 단어의 조합으로 추출하여 해당 색인어를 등록시키고,상기 파일 정보는 등록된 색인어의 목록과 해당 색인어가 포함된 문서 번호를 포함하는 역파일 구조 또는 해쉬 테이블 구조로 이루어진 것을 특징으로 하는 컨셉 랭킹 기법을 이용한 문서 색인 시스템.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0078917A KR100426994B1 (ko) | 2000-12-20 | 2000-12-20 | 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0078917A KR100426994B1 (ko) | 2000-12-20 | 2000-12-20 | 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020049694A KR20020049694A (ko) | 2002-06-26 |
KR100426994B1 true KR100426994B1 (ko) | 2004-04-13 |
Family
ID=27683653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0078917A KR100426994B1 (ko) | 2000-12-20 | 2000-12-20 | 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100426994B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100426995B1 (ko) * | 2001-02-15 | 2004-04-13 | 전석진 | 문서 색인 시스템 및 그 방법 |
KR100426341B1 (ko) * | 2001-02-27 | 2004-04-08 | 김동우 | 지정 웹 사이트 문서 검색 보고 시스템 |
KR20030082109A (ko) * | 2002-04-16 | 2003-10-22 | (주)메타웨이브 | 앤드 연산자를 이용한 색인어 검색 및 정보 제공 시스템및 방법 |
KR20030082110A (ko) * | 2002-04-16 | 2003-10-22 | (주)메타웨이브 | 앤드 연산자 및 문서 내 연관성을 이용한 색인어 검색 및정보 제공 시스템 및 방법 |
KR100939215B1 (ko) | 2007-12-17 | 2010-01-28 | 한국전자통신연구원 | 인덱스 데이터베이스 생성 장치 및 검색 장치 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000137738A (ja) * | 1998-11-03 | 2000-05-16 | Nec Corp | 複数の細分度のインデックス付けとクエリ―処理を効果的に用いてクエリ―の拡張を支援する方法、及び装置 |
-
2000
- 2000-12-20 KR KR10-2000-0078917A patent/KR100426994B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000137738A (ja) * | 1998-11-03 | 2000-05-16 | Nec Corp | 複数の細分度のインデックス付けとクエリ―処理を効果的に用いてクエリ―の拡張を支援する方法、及び装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20020049694A (ko) | 2002-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6954755B2 (en) | Task/domain segmentation in applying feedback to command control | |
US9158764B2 (en) | Method and apparatus for utilizing user feedback to improve signifier mapping | |
US5920859A (en) | Hypertext document retrieval system and method | |
Yuwono et al. | WISE: a world wide web resource database system | |
US20020073079A1 (en) | Method and apparatus for searching a database and providing relevance feedback | |
US20050114317A1 (en) | Ordering of web search results | |
Agosti et al. | Information retrieval on the web | |
CA2251043A1 (en) | Method of organizing information retrieved from the internet using knowledge based representation | |
KR100445943B1 (ko) | 근접 검색식을 이용한 정보 검색 시스템 및 방법 | |
KR100426994B1 (ko) | 컨셉 랭킹 기법을 이용한 문서 색인 시스템 및 방법 | |
WO1997049048A1 (en) | Hypertext document retrieval system and method | |
KR100672278B1 (ko) | 웹 브라우저의 즐겨찾기 리스트를 이용한 개인화 검색 방법및 검색 서버 | |
Wu et al. | Query clustering in the web context | |
US7490082B2 (en) | System and method for searching internet domains | |
Inkpen | Information retrieval on the internet | |
JP3632354B2 (ja) | 情報検索装置 | |
KR20030082109A (ko) | 앤드 연산자를 이용한 색인어 검색 및 정보 제공 시스템및 방법 | |
KR100434718B1 (ko) | 문서 색인 시스템 및 그 방법 | |
KR20030082110A (ko) | 앤드 연산자 및 문서 내 연관성을 이용한 색인어 검색 및정보 제공 시스템 및 방법 | |
Kanakam et al. | An Analysis of Exploring Information from Search Engines in Semantic Manner | |
Pardakhe et al. | Enhancement of web search engine results using keyword frequency based ranking | |
Abdulmunim et al. | Links Evaluation and Ranking Based on Semantic Metadata Analysis | |
Nirkhi et al. | A Survey on Clustering Algorithms for web Applications. | |
Patil et al. | Content and usage based ranking for enhancing search result delivery | |
Shivalingaiah et al. | Web Search Engines and Search Strategies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |