KR20040017008A - 검색엔진을 활용한 정보 제공 시스템 및 그 방법 - Google Patents

검색엔진을 활용한 정보 제공 시스템 및 그 방법 Download PDF

Info

Publication number
KR20040017008A
KR20040017008A KR1020020049085A KR20020049085A KR20040017008A KR 20040017008 A KR20040017008 A KR 20040017008A KR 1020020049085 A KR1020020049085 A KR 1020020049085A KR 20020049085 A KR20020049085 A KR 20020049085A KR 20040017008 A KR20040017008 A KR 20040017008A
Authority
KR
South Korea
Prior art keywords
file
document
module
information
search
Prior art date
Application number
KR1020020049085A
Other languages
English (en)
Inventor
김영태
김기원
Original Assignee
주식회사 케이랩
정보통신연구진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이랩, 정보통신연구진흥원 filed Critical 주식회사 케이랩
Priority to KR1020020049085A priority Critical patent/KR20040017008A/ko
Publication of KR20040017008A publication Critical patent/KR20040017008A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

본 발명은 검색엔진을 활용한 정보제공 시스템 및 그 방법에 관한 것이다. 본 발명의 하나의 특징에 따른 검색 엔진을 활용한 정보 제공 시스템은, 하나 이상의 문서를 상기 네트워크를 통해 연결된 하나 이상의 정보원으로부터 획득하여 저장하는 정보 획득 및 저장 수단; 및 상기 하나 이상의 질의어에 대응하는 정보를 상기 획득되어 저장된 하나 이상의 문서로부터 검색하여 그 결과를 상기 유저 단말기에 제공하는 정보 제공 수단을 포함하되, 상기 정보 획득 및 저장 수단은 상기 획득된 문서의 검색이 용이하도록 블록 단위로 저장하고, 상기 블록 단위로 저장된 문서를 색인하여 제1 파일을 생성하며, 상기 문서가 작성된 날짜, 질의어간의 관련도 및 자동 랭킹 순서 중에서 적어도 하나 이상에 의해 상기 제1 파일을 배열하는 것을 특징으로 한다.
본 발명에 의하면, 유저가 원하는 특정 목적에 최적화 된 문서를 검색하여 그 결과를 유저에게 제공하며, 다수의 정보원 사이트에 존재하는 웹 문서 중 필요 내용만을 추출하고 검색 결과를 축소하여 양질의 검색 결과 정보를 확보함으로써, 다양한 기준으로 분류된 검색 정보를 유저에게 제공한다.

Description

검색엔진을 활용한 정보 제공 시스템 및 그 방법{SYSTEM AND METHOD FOR OFFERING INFORMATION USING A SEARCH ENGINE}
본 발명은 검색엔진을 활용한 정보 제공 시스템 및 그 방법에 관한 것으로써, 특히 네트워크 상에 존재하는 다수의 웹 문서 내용 중에서 유저가 원하는 최적의 문서 내용을 검색하여 제공하는 검색엔진을 활용한 정보 제공 시스템 및 그 방법에 관한 것이다.
특정 계층에서 사용되었던 네트워크, 특히 인터넷(internet)이 일반인에게 보급되면서, 다양한 분야의 정보 검색에 대한 개념이 바뀌게 되었다. 최근 들어, 인터넷을 이용한 정보 검색은 전 세계적으로 급격히 확산되고 있고 인터넷을 통해 접할 수 있는 정보의 형태 또한 서지 데이터에서부터 멀티미디어 데이터에 이르기까지 매우 다양해지고 있다. 특히, 검색 시스템의 개발은 데이터베이스에 축적된 문헌의 전체문서(full-text)를 대상으로 필요 정보를 검색하고, 필요한 정보를 담고 있는 문서의 전부 또는 일부분을 볼 수 있다는 점에서 유저에게 커다란 도움을 주고 있다.
일반적으로, 검색 시스템은 웹(Web)검색 시스템, 전문(full-text)검색 시스템, 실시간 정보 브리핑(briefing)시스템 등으로 분류된다. 웹(Web)검색 시스템은 웹 전체를 대상으로 하여 정보를 수집하는 웹 로봇 에이전트(web robot agent)를 이용하여 정보를 추출한다. 이 때, 웹 검색 시스템은 임의의 사이트(site)를 시작으로 하여 하이퍼링크(hyperlink)를 따라 무작위로 정보를 수집하는 링크 추적 방식을 사용하며, 수집 및 색인 시간 등 경제적 제약에 따라 하이퍼링크의 깊이(depth)개수를 제한하여 추적하는 정보 추출 방식을 사용한다. 이어서, 웹 로봇 에이전트가 수집한 문서를 검색이 가능하도록 자동 색인한다. 유저의 검색어 입력에 응답하여 문헌의 내용과 유저의 검색어의 완전 또는 부분일치에 따라 검색결과를 제공하며, 벡터모델(vector model)에 의한 관련도 랭킹(ranking)이나 시간 순으로 소팅(sorting)한 결과를 제공한다. 전문(full-text)검색 시스템은 주로 기업 내부 데이터베이스 또는 대상 데이터베이스의 문헌 전문을 대상으로 정보를 검색하고, 필요한 정보를 담고 있는 문헌 전문의 전부 또는 일부분을 제공하며, 피디에프(PDF), 오피스(Office)파일 등 일반 문서편집기로 작성된 문서를 색인하고 검색한다. 또한, 실시간 정보브리핑 시스템은 웹 로봇 에이전트를 이용하여 정보를 추출하고, 웹 검색시스템을 기반으로 특정 URL 또는 호스트(Host) 문서를 무작위수집하고, 웹 검색이 보통 1~2달 이전의 웹사이트 정보를 보여 주는 데 비하여 검색대상 사이트를 한정해서 실시간으로 전달하며, 검색대상 사이트 20~300여 개 대상으로 검색한다.
이러한, 일반적인 검색 시스템을 통해 검색 서비스, 포탈(portal)뉴스섹션 서비스 및 정보 브리핑 서비스 등이 제공된다. 검색 서비스는 웹사이트/웹페이지/일반문서/멀티미디어파일/뉴스 검색 등 기술적 분류에 따라 여러 가지 검색방법을 혼용한다. 예를 들어, 웹사이트 검색은 서퍼(suffer)에 의해 추천사이트를 등록해 분류하여 검색하거나 에이치티엠엘 태그(HTML tag)에 사이트 관리자가 등록시켜 놓은 정보를 수동으로 색인해 검색하여 제공하며, 웹페이지 검색은 웹사이트 검색 대상 사이트에 대해 전문(full-text)을 자동 색인하고 검색하여 제공한다. 포탈 뉴스섹션 서비스는 포탈(portal)사이트와 뉴스 공급계약을 맺은 뉴스공급자의 뉴스를 포탈 데이터베이스 내부에 저장하였다가 전문(full-text)을 제공하고, 웹사이트 검색 또는 웹페이지 검색처럼 포탈 자체화면에서 그래픽 재구성, 검색 결과 및 뉴스 제공한다. 정보 브리핑 서비스는 리서치기업 등에서 전문연구원을 두고, 세계 각국의 뉴스를 종합, 요약하여 오프라인 출판물 형태로 전달한다.
그러나, 이러한 종래의 검색 시스템 및 검색 방법에는 다음과 같은 문제점이 있다. 즉, 웹 검색시스템에서는 로그인(login)을 통해서만 접근이 가능한 데이터베이스의 정보를 추출할 경우 정보의 수집 불가능하며, 동적으로 생성되는 데이터베이스 예를 들어, CGI(Common Gateway Interface)스크립트, 자바(JAVA)스크립트, ASP(Active Server Page)등으로 이루어진 데이터베이스에 접근이 불가능하다. 또한, 정보를 색인 및 검색할 때에는 주식시세, 날씨정보, 항공여행정보, 뉴스속보 등의 실시간 데이터는 대용량 저장공간과 처리시스템을 필요로 하므로 색인이 불가능하다. 또한, 유저 요구에 적합한 문헌들이 데이터베이스 내에 축적되어 있음에도 불구하고 색인어와 검색어의 불일치로 인해 적합한 문서가 검색결과에서 누락된다. 또한, 웹 규모의 폭발적 증가와 검색엔진의 기능향상으로 검색 결과 양이 늘어나, 원하는 정보를 찾기 위해 많은 시간을 투자해 검색결과를 확인해야 하거나 결과내 재검색을 해야하는 불편함이 있다. 뿐만 아니라, 검색결과를 분석해 보면 중복문서, 유사문서가 차지하는 양이 많아 검색 유효율(search effective rate)이 매우 떨어지며, 웹 전체를 대상으로 하는 대용량 시스템의 한계로 전체 데이터베이스를 업데이트(update)하는데 장기간(약 3주~2달)소요되어 실시간 정보 누락, 정보의 시간차 및 데드 링크(dead link)가 발생하는 문제점이 있다. 검색 시스템은 유저의 다양한 의도에 맞는 검색결과를 제공하기 어려우며, 업무에 검색 결과를 활용하고자 하는 유저는 원하는 정보를 얻기 위해 검색 결과 사이트 내의 다양한 메뉴를 일일이 찾아 다녀야 한다는 문제점이 있다. 웹페이지 검색에 있어서도 원하는 정보를 비교, 분석하기 위해서는 결과 내 검색을 하거나 정보로서 가치가 없는 검색결과 내에서 선별해야 하는 어려움이 있다. 포탈뉴스섹션 서비스 방법은 정보 공급원이 계약을 맺고 있는 뉴스 공급자로 공급 채널이 제한되는 문제점이 있으며, 정보브리핑 서비스 방법은 전체 프로세스가 수작업으로 진행되므로 생산비가 증가하고 검색을 수행하는 개개인 선호 및 능력에 따라 정보가 제한되는 문제점이 있다.
이와 함께, 종래의 검색 시스템은 검색 결과에 따라 순위를 매겨 그 결과를유저에게 제공하기도 한다. 이러한 종래의 랭킹(RANKING)방법에는 시간순서 및 관련도(TERM FREQUENCY)를 계산하여 순위를 매기는 일차원적 방법과, 외부에서 특정 사이트로 링크되어 있는 수를 계산하여 링크의 수가 많을수록 먼저 보여주는 이차원적 방법이 있지만, 문서 내용의 검색 신뢰도를 떨어뜨리는 문제점이 있다.
이와 같은 문제점을 해결하기 위해, 본 발명이 이루고자 하는 기술적인 과제는 유저가 원하는 특정 목적에 최적화 된 문서를 검색하여 그 결과를 유저에게 제공하는 데 있다.
본 발명의 다른 목적은 다수의 정보원 사이트에 존재하는 웹 문서 중 필요 내용만을 추출하고 검색 결과를 축소하여 양질의 검색 결과를 확보함으로써, 다양한 기준으로 분류된 검색 결과를 유저에게 제공하는 것이다.
본 발명의 또 다른 목적은 시간에 따른 정보의 가치체감과 정보 출처의 신뢰도 및 키워드와 정보 출처의 전문성을 종합 계산하고 정보 출처의 웹 문서 내용을 분석함으로써, 그 결과를 기준 순서로 재 정렬하여 독자적인 랭킹 정보를 제공하는 것이다.
본 발명의 또 다른 목적은 전문 분야별 동의어사전(시소러스 : thesaurus)을 구축하고, 다국어 정보를 검색해 주는 언어 자동 확장 검색을 가능하게 함으로써, 유저에게 다양한 검색 결과를 제공하는 것이다.
본 발명의 또 다른 목적은 웹 문서의 전문(full-text)에 대한 자동분류를 수행함으로써, 유저에게 자동분류 된 디렉토리 서비스를 제공하는 것이다.
본 발명의 또 다른 목적은 유저가 관심을 가지는 분야에 대한 새로운 정보를 자동으로 찾아주는 정보 자동추적 기술을 이용하여 최신 정보를 확보하고, 유저의 정보 요청 시에 이를 제공하는 것이다.
본 발명의 또 다른 목적은 검색된 웹 문서를 정밀 분석하여, 짧은 시간 내에 검색된 웹 문서의 중복성 및 유사성을 판정하여 중복되거나 유사한 웹 문서를 클러스터링 하는 서비스를 제공하는 것이다.
본 발명의 또 다른 목적은 다양한 검색 부가 기능을 통해 원하는 웹 문서를 검색하여 유저에게 제공하는 것이다.
도 1은 본 발명의 실시 예에 따른 정보 제공 시스템을 나타내는 구성 블록도.
도 2는 도 1의 문서 획득 모듈을 보다 상세히 나타내는 구성 블록도.
도 3은 도 1의 문서 추출 모듈을 보다 상세히 나타내는 구성 블록도.
도 4는 도 1의 형태소 분석 모듈을 보다 상세히 나타내는 구성 블록도.
도 5는 도 1의 역파일 생성 모듈을 보다 상세히 나타내는 구성 블록도.
도 6은 도 1의 소트 모듈을 보다 상세히 나타내는 구성 블록도.
도 7은 도 1의 검색 엔진을 보다 상세히 나타내는 구성 블록도.
도 8은 정보원 웹사이트로부터 문서를 획득하는 과정을 나타내는 흐름도.
도 9는 도 3의 획득된 문서로부터 문서를 추출하는 과정을 나타내는 흐름도.
도 10은 추출된 문서로부터 형태소 분석을 수행하는 과정을 나타내는 흐름도.
도 11은 형태소 분석이 완료된 내용으로 역파일을 생성하는 과정을 나타내는 흐름도.
도 12는 생성된 역파일을 이용해 소팅을 수행하는 과정을 나타내는 흐름도.
도 13은 유저의 질의어 및 검색 조건 입력에 따른 검색 과정을 나타내는 흐름도.
< 도면의 주요부분에 대한 부호의 설명 >
10 : 정보원 웹사이트
20 : 유저 컴퓨터
50 : 인터넷
100 : 웹 서버
200 : 정보 검색 서버
300 : 데이터베이스
이와 같은 목적을 달성하기 위한 본 발명의 하나의 특징에 따른 검색엔진을 활용한 정보 제공 시스템은, 네트워크를 통해 유저 단말기로부터 수신한 하나 이상의 질의어에 대해 검색을 수행하여 그 결과를 상기 유저 단말기에 제공하는 정보제공 시스템으로서, 하나 이상의 문서를 상기 네트워크를 통해 연결된 하나 이상의 정보원으로부터 획득하여 저장하는 정보 획득 및 저장 수단; 및 상기 하나 이상의 질의어에 대응하는 정보를 상기 획득되어 저장된 하나 이상의 문서로부터 검색하여 그 결과를 상기 유저 단말기에 제공하는 정보 제공 수단을 포함하되, 상기 정보 획득 및 저장 수단은 상기 획득된 문서의 검색이 용이하도록 블록 단위로 저장하고, 상기 블록 단위로 저장된 문서를 색인하여 제1 파일을 생성하며, 상기 문서가 작성된 날짜, 질의어간의 관련도 및 자동 랭킹 순서 중에서 적어도 하나 이상에 의해 상기 제1 파일을 배열하는 것을 특징으로 한다.
본 발명의 다른 특징에 따른 검색엔진을 활용한 정보 제공 방법은, 네트워크를 통해 유저 단말기로부터 수신한 하나 이상의 질의어에 대해 검색을 수행하여 그 결과 정보를 상기 유저 단말기에 제공하는 정보제공 방법으로서, 상기 네트워크를 통해 연결된 하나 이상의 정보원으로부터, 상기 질의어가 포함된 문서를 획득하여 획득된 상기 문서의 검색이 용이하도록 블록 단위로 저장하는 단계; 상기 블록 단위로 저장된 문서를 색인하여 제1 파일을 생성하며, 상기 문서가 작성된 날짜, 질의어간의 관련도 및 자동 랭킹 순서 중에서 적어도 하나 이상에 의해 상기 제1 파일을 배열하는 단계; 및 상기 단계에서 배열된 결과를 기초로 하여 상기 질의어에 해당하는 문서의 정보를 검색하여 그 결과를 상기 유저 단말기에 제공하는 단계를 포함한다.
이하에서는 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 가장 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 정보 제공 시스템을 나타내는 구성 블록도 인데, 도 1에 도시한 바와 같이, 본 발명의 실시 예에 따른 정보 제공 시스템은 웹서버(100), 정보 검색 서버(200) 및 데이터베이스(300)를 포함한다.
웹서버(100)는 유저 인터페이스 모듈(110) 및 유저 DB(120)를 포함하며, 유저 컴퓨터(20)로부터 입력된 질의어 및 검색 조건을 인터넷(50)을 통해 수신하여 정보 검색 서버(200)에 검색을 요청하고, 그 검색 결과를 정보 검색 서버(200)로부터 전달받아 유저 컴퓨터(20)에 제공한다. 유저 인터페이스 모듈(110)은 유저가 유저 컴퓨터(20)를 통해 검색을 원하는 질의어 및 질의어에 대한 하나 이상의 검색 조건을 입력할 수 있도록 한다. 또한, 유저 인터페이스 모듈(110)은 질의어 및 검색 조건에 부합하는 웹 문서를 검색할 수 있도록 검색 엔진(260)과 연동되어 동작한다. 유저 DB(120)는 다수의 유저에 대한 상세 정보를 저장하고, 유저가 입력한 질의어 및 검색 조건에 따른 유저의 검색 성향 등의 정보를 저장한다.
정보 검색 서버(200)는 문서 획득 모듈(210), 문서 추출 모듈(220), 형태소 분석 모듈(230), 역파일 생성 모듈(240), 소트 모듈(250) 및 검색 엔진(260)을 포함하며, 유저 컴퓨터(20)로부터의 질의어 및 검색 조건에 부합하는 웹 문서를 다수의 정보원 웹사이트(10)에서 검색하고, 블록 단위로 웹 문서에 포함된 기사 내용을 판독해 추출하고 분석하여 색인 한다.
상세하게, 문서 획득 모듈(210)은 인터넷(50)을 통해 다수의 정보원 웹사이트(10)에 존재하는 웹 문서 중에서 유저에 의해 검색 요청될 수 있는 웹 문서만을 획득한다. 즉, 문서 획득 모듈(210)은 획득된 웹 문서에 포함된 불필요한 항목(예를 들어 광고 또는 작성된 지 오래된 내용)을 제거한 후 각 웹 문서를 프레임(frame)으로 생성하여 일정크기의 블록 단위로 웹 문서의 원문 데이터를 저장한다. 도 2는 도 1의 문서 획득 모듈(210)을 보다 상세히 나타내는 구성 블록도로서, 도 2에 도시한 바와 같이, 문서 획득 모듈(210)은 정보원 관리 모듈(211), 정보 처리 모듈(212), 정보 요청 모듈(213), 기사 정보 추출 모듈(214), 프레임 축적 모듈(215), 프레임 구성 모듈(216)을 포함한다.
보다 상세히 설명하면, 정보원 관리 모듈(211)은 하나 이상의 정보원(Seed)에 대해 정보원 데이터를 유지하고, 필요한 웹 문서에 대해 정보원 웹사이트(10)로 정보를 요청할 때 각 정보원 웹사이트(10)에 접속할 수 있도록 정보원을 배정하며, 웹 문서를 획득할 차기 정보원 웹사이트(10)의 색인(index)을 알려준다. 정보 처리 모듈(212)은 정보원의 접속 정보 등의 상세 정보가 포함된 ".dat"파일을 정보원 DB(301)에서 호출하여 정보원 관리 모듈(211)로 하여금 정보원 테이블(seed going table)을 구축하도록 명령하고, 정보원 웹사이트(10)로부터 웹 문서를 지정된 절차에 의해 가져오도록 지시하는 쓰레드(thread) 및 정보 요청 모듈(213)을 생성한다. 정보 요청 모듈(213)은 인터넷(50)을 통해 정보원 웹사이트(10)의 웹 문서를 요청하여 수신하고, 기사 정보 추출 모듈(214)을 생성하여 기사 정보 추출 모듈(214)이 수신된 웹 문서로부터 기사 내용을 획득하도록 요청한다. 기사 정보 추출 모듈(214)은 웹 문서를 정보원 웹사이트(10)로부터 수신하여 웹 문서로부터 획득하고자 하는 기사 내용의 제1 기사 정보만을 추출한다. 즉, 기사 정보 추출 모듈(214)은 기사 내용이 위치하는 URL, 기사 내용의 제목, 기사 내용 작성 날짜, 기사 내용의 요약문, 기사 내용과 관련된 첨부파일 정보 등의 제1 기사 정보를 추출하며, 이때 첨부 파일 정보는 첨부파일의 URL, 제목, 파일 형식 등의 첨부 파일 정보를 포함한다. 프레임 축적 모듈(215)은 제1 기사 정보를 기사 정보 추출 모듈(214)로부터 수신해 프레임 구성 모듈(216)을 생성하고, 프레임 구성 모듈(216)이 기사 내용을 정보원 웹사이트(10)에 요청하도록 하며, 프레임 구성 모듈(216)로부터 수신한 기사 내용의 원문 데이터를 특정 크기의 프레임으로 생성한 후, 일정크기, 바람직하게는 2 메가바이트(Megabyte)크기의 블록 단위로 축적하여원문 DB(302)에 저장한다. 상기한 블록 단위는 다수의 프레임화 된 웹 문서를 하나의 파일 형태로 저장하기 위한 임의의 저장단위를 말한다. 프레임 구성 모듈(216)은 프레임 축적 모듈(215)로부터 기사 내용을 요청하라는 명령을 수신해 실제 기사 내용이 위치한 URL로부터 기사 내용을 가져오고, 기사 내용을 저장하기 위해 저장 포맷(format)에 맞도록 프레임 단위로 구성한 후 프레임 축적(215)에 전달한다.
문서 추출 모듈(220)은 문서 획득 모듈(210)로부터 획득된 웹 문서를 수신하여 블록 단위로 웹 문서의 내용을 판독해 추출한 후, 새롭게 생성되는 파일에 판독된 웹 문서 내용의 추출 결과를 저장한다. 도 3은 도 1의 문서 추출 모듈을 보다 상세히 나타내는 구성 블록도 인데, 도 3에 도시한 바와 같이, 본 발명의 실시 예에 따른 문서 추출 모듈(220)은 아이엔아이(Ini)매니저(221), 메시지 버퍼 매니저(222), 리시브 핸들 버퍼(223), 쓰레드 매니저(224), 메시지 큐(225), 파일 생성 모듈(226), 다큐멘트 버퍼(227)를 포함한다. 아이엔아이 매니저(221)는 문서 획득 모듈(210)로부터 전달되는 메시지에 따라 필요한 정보를 판독하고 기록하며(read/write), 작동에 필요한 기본적인 변수값을 로그(Log)파일로 남겨놓아 오류로 인하여 작동이 종료될 경우 다시 시작할 때의 인자로 받아들여서 처리한다. 메시지 버퍼 매니저(222)는 문서 획득 모듈(210)로부터 입력되는 32개의 메시지를 리시브 핸들 버퍼(223)에 저장하여 관리한다. 리시브 핸들 버퍼(223)는 메시지 버퍼 매니저(222)로부터 수신한 메시지를 저장한다. 쓰레드 매니저(224)는 문서 획득 모듈(210)로부터 128개 또는 64개의 쓰레드에 의해 입력되는 메시지의 병목 현상을 제거하기 위해 32개 이상의 쓰레드를 만들어 처리한다. 메시지 큐(225)는문서 획득 모듈(210)로부터 128 또는 64개의 쓰레드에 의해 전송된 메시지를 처리하기 위해 메시지를 임시 저장한다. 파일 생성 모듈(226)은 메시지 큐(225)에 저장되어 있는 메시지의 카운트(Count)를 판독하여, 메시지 큐(225)에 저장된 32개의 메시지 내용을 헤더(header)와 원문 HTML을 포함하는 각각의 파일로 구분하여 다큐멘트 파일(document file : 문서 파일)을 생성한다. 다큐멘트 버퍼(227)는 생성된 다큐멘트 파일(document file : 문서 파일)을 저장한다.
형태소 분석 모듈(230)은 문서 추출 모듈(220)에 의해 추출된 내용 중 원하는 기사 내용만을 골라 형태소 분석하여 색인하고, 관련도(TF : Term Frequency)에 의한 형태소 분석 결과가 저장된 관련도(TF)파일 및 형태소 분석 결과에 따른 요약(SUM)파일을 생성한다. 도 4는 도 1의 형태소 분석 모듈을 보다 상세히 나타내는 구성 블록도 인데, 도 4에 도시한 바와 같이, 본 발명의 실시 예에 따른 형태소 분석 모듈(230)은 다큐멘트 아이디(document ID 또는 문서 인식자) 수신 모듈(231), 내부 버퍼(232), 필터 모듈(233), 기사 정보 추출 모듈(234), 형태소 분석 실행 모듈(235), 문서 요약 모듈(236), 문서 분류 모듈(237), 유사문서 판정 모듈(238), 필터 매니저(239)를 포함한다. 다큐멘트 아이디 수신 모듈(231)은 문서 추출 모듈(220)로부터 전송되어 온 메시지에 포함된 다큐멘트 아이디를 수신하여 전역변수(동작을 위한 프로그래밍 언어의 문장이 시작되기 전에 미리 선언되는 변수로서, 함수의 외부에 선언되는 변수)에 저장하고, 저장된 다큐멘트 아이디를 호출하여 다큐멘트 파일에 저장한다. 내부 버퍼(232)는 다큐멘트 아이디 수신 모듈(231)로부터 다큐멘트 아이디의 시작 아이디(StartID)와 끝 아이디(EndID)를수신해 저장한다. 필터 모듈(233)은 다큐멘트 아이디 수신 모듈(231)로부터 다큐멘트 파일을 전달받아 에이치티엠엘(HyperText Markup Language, 이하 HTML이라 칭함)태그(tag)를 제거하고 실제 기사 내용만을 추출한다. 기사 정보 추출 모듈(234)은 필터 모듈(233)로부터 수신한 HTML 문서에 포함된 모든 태그를 제거하고 불필요한 내용 즉, 배너(Banner)의 내용이나 하이퍼링크(Hyperlink)에 해당하는 내용 등을 제거하여 실제로 필요한 부분의 기사 내용을 획득한다. 형태소 분석 실행 모듈(235)은 기사 정보 추출 모듈(234)로부터 수신한 추출된 기사 내용을 이용해 형태소 분석을 수행한다. 문서 요약 모듈(236)은 형태소 분석 실행 모듈(235)로부터 분석된 기사 내용을 수신하여 요약한다. 문서 분류 모듈(237)은 형태소 분석 실행 모듈(235)에 의해 분석된 기사 내용을 수신하여, 분류 카테고리(category)에 따라 각각 자동 분류한다. 유사문서 판정 모듈(238)은 형태소 분석 실행 모듈(235)에 의해 분석된 기사 내용을 기초로 최초의 200자 정도의 유사도를 계산해 유사 문서인지의 유무를 판정한다. 필터 매니저(239)는 16개 또는 32개의 필터 모듈(233)을 이용해 필터링의 병목현상을 막고, 다큐멘트 아이디를 감시하는 상태에서 필터 모듈(233)이 실행되면 관련도(TF)문서와 요약(SUM)문서를 생성할 수 있도록 관리한다.
역파일 생성 모듈(240)은 형태소 분석 모듈(230)에 의해 생성된 관련도 파일 및 요약 파일을 기초로 하여 소팅(sorting)되지 않은 역파일(inverted file)을 생성한다. 여기서, 역파일은 다른 여러 파일이나 데이터베이스에서 레코드를 빨리 검색하기 위해 별도의 색인 파일로 만들어 놓은 파일을 말하며, 상기한 색인 파일에는 검색의 기준이 되는 키 필드(key field)의 값과 키 값을 가지는 레코드(record)에 대한 포인터(pointer)들이 저장되며, 원래 파일에서는 키 값이 빠진다. 이하에서 일반적인 키 필드, 레코드 및 포인터에 대한 설명은 생략한다. 도 5는 도 1의 역파일 생성 모듈을 보다 상세히 나타내는 구성 블록도 인데, 도 5에 도시한 바와 같이, 본 발명의 실시 예에 따른 역파일 생성 모듈(240)은 색인 모듈(241), 텀 생성 모듈(242), 포스트 생성 모듈(243), 실시간 데이터 생성 모듈(244), 역파일 분산 모듈(245) 및 타이틀 분석 역파일 생성 모듈(246)을 포함한다. 색인 모듈(241)은 형태소 분석 모듈(230)로부터 텀(TERM 또는 빈도)파일과 포스트(POST)파일에 추가할 원문 번호를 메시지로 수신하여 색인 한다. 텀 생성 모듈(242)은 색인 모듈(241)로부터 색인 결과를 수신하여 이미지 데이터 포맷(Image Data Format : IDF), 위치, 시간 정보를 포함한 텀 파일 "TERM.dat"을 생성한다. 포스트 생성 모듈(243)은 색인 모듈(241)로부터 색인 결과를 수신한 후 색인어를 이용해 블록 단위의 파일 입출력(FILE I/O)을 실행하여 역파일인 포스트 파일 "POST.dat"을 생성한다. 실시간 데이터 생성 모듈(244)은 생성된 텀 파일 "TERM.dat" 및 포스트 파일을 이용해서 실시간으로 기사 내용의 머릿글(Headline)정보를 제공한다. 역파일 분산 모듈(245)은 검색 시 검색 시간을 절약하기 위해 텀 파일 "TERM.dat"에 대한 역파일을 분산하여 재 생성한다. 타이틀 분석 역파일 생성 모듈(246)은 생성된 텀 파일 "TERM.dat" 및 포스트 파일 "POST.dat"을 이용해서 기사 내용과 관련된 제목 내 검색의 조건식을 포함시켜 역파일을 생성한다.
소트 모듈(250)은 역파일 생성 모듈(240)에서 생성된 역파일과 기간(TERM)을이용하여 날짜 순 또는 관련도(TF)순 또는 랭크 순 등으로 소팅을 실행한다. 도 6은 도 1의 소트 모듈을 보다 상세히 나타내는 구성 블록도 인데, 도 6에 도시한 바와 같이, 본 발명의 실시 예에 따른 소트 모듈(250)은 소팅 준비 모듈(251), 날짜 소팅 모듈(252), 관련도(TF)소팅 모듈(253), 자동 랭크 소팅 모듈(254), 역파일 분리 모듈(255)을 포함한다. 소팅 준비 모듈(251)은 역파일 생성 모듈(246)에서 생성된 텀 파일 "TERM.dat"과 포스트 파일 "POST.dat"을 복사하여 저장하고, 텀 파일 "TERM.dat"과 포스트 파일 "POST.dat"을 이용해 소팅을 준비한다. 날짜 소팅 모듈(252)은 포스트 파일 "POST.dat"에 저장되어 있는 데이터를 이용해 날짜 순서로 소팅된 역파일을 생성한다. 관련도 소팅 모듈(253)은 포스트 파일 "POST.dat"에 저장되어 있는 데이터를 이용해 관련도(TF) 순서로 소팅된 역파일을 생성한다. 자동 랭크 소팅 모듈(254)은 포스트 파일 "POST.dat"에 저장되어 있는 날짜와 관련도(TF) 등과 각 요약(SUM)문서에 존재하는 디렉토리 코드(directory code)를 이용해 랭킹 순서로 소팅된 역파일을 생성한다. 즉, 자동 랭크 소팅 모듈(254)은 주요 디렉토리 코드별로 역파일을 생성함으로써 검색속도를 높일 수 있다. 역파일 분리 모듈(255)은 가장 자주 사용되는 높은 인기도의 역파일을 따로 분리한다.
검색 엔진(260)은 소트 모듈(250)에 의해 실행된 소팅 결과를 기초로 하여, 유저가 입력한 질의어 및 질의어에 해당하는 하나 이상의 검색 조건에 맞는 기사 내용을 검색한다. 도 7은 도 1의 검색 엔진을 보다 상세히 나타내는 구성 블록도 인데, 도 7에 도시한 바와 같이, 본 발명의 실시 예에 따른 검색 엔진(260)은 서버 소켓(261) 및 검색 모듈(262)을 포함한다. 서버 소켓(261)은 유저가 유저컴퓨터(20)를 이용해 입력한 질의어 및 검색 조건을 웹서버(100)의 유저 인터페이스 모듈(110)로부터 수신하여 내부 버퍼(261-1)에 결과를 저장한다. 검색 모듈(262)은 서버 소켓(261)으로부터 유저의 질의어를 수신하여 질의어에 해당하는 검색을 실행하는데, 쿼리 파서(Query Parser)모듈(262-1), 시소러스 모듈(262-2), 파일 로드 모듈(262-3), 불린(Boolean, 이하 Boolean이라 칭함)검색 모듈(262-4), 쓰레드 매니저 모듈(262-5), 유사문서 검색 모듈(262-6), 조건부 검색 모듈(262-7), 검색 질의어 확장 모듈(262-8)을 포함한다.
쿼리 파서 모듈(262-1)은 특정 질의어 검색에 대한 요청을 유저 인터페이스 모듈(110)로부터 수신해 컴파일링(compiling)한다. 시소러스 모듈(262-2)은 쿼리 파싱을 마친 결과를 기반으로, 수신한 조건식에 의해 시소러스 확장 유무를 판단한다. 파일 로드 모듈(262-3)은 특정 질의어에 대한 검색 및 검색 결과를 화면에 표시하기 위한 정보를 미리 로드(Load)하여 준비한다. Boolean 검색 모듈(262-4)은 유저에 의해 입력되는 특정 질의어에 포함된 연산자에 따라 검색을 수행한다. 쓰레드 매니저 모듈(262-5)은 다수의 유저 컴퓨터(20)로부터 검색 질의어가 입력되면 동시에 검색이 가능하도록 멀티쓰레드(Multi-thread)를 수행한다. 유사문서 검색 모듈(262-6)은 질의어에 부합하는 유사 문서를 검색하여 검색된 문서 내용의 유사도를 유저 컴퓨터(20)의 화면에 표시한다. 조건부 검색 모듈(262-7)은 소팅순, 지역순, 시소러스 확장 유무, 조건부 검색 등의 입력 조건을 분석하고, 입력 조건에 맞는 내용을 검색한다. 검색 질의어 확장 모듈(262-8)은 유저에 의해 입력된 검색 질의어를 설정된 다국어로 확장한다.
정보 검색 서버(200)의 각 모듈은 각각의 기능을 독립적으로 수행하는 프로그램이 저장된 단말기일 수도 있고, 부분적으로 통합된 프로그램이 저장된 복수의 단말기일 수도 있다.
상기한 데이터베이스(300)는 정보 검색 서버(200)에 의해 추출된 원문 정보, 새롭게 생성된 역파일 정보, 소팅 결과 정보 및 질의어 확장을 위한 정보 등을 저장한다. 데이터베이스(300)는 하나 이상의 정보원 웹사이트(10)로부터 웹 문서를 획득하기 위한 접속 유알엘 등의 상세 정보를 저장하는 정보원 DB(301); 문서 획득 모듈(210)에 의해 획득된 문서 내용 및 문서 추출 모듈(220)에 의해 추출된 실제 기사 내용의 원문 데이터를 저장하는 원문 DB(302); 형태소 분석 모듈(230)에 의해 생성된 관련도 파일(TF 파일)을 저장하는 관련도 파일 DB(303); 형태소 분석 모듈(230)에 의해 생성된 요약 파일 "SUM 파일"을 저장하는 요약 파일 DB(304); 역파일 생성 모듈(240)에 의해 생성된 역파일인 텀 파일 "TERM.dat"을 저장하는 텀 DB(305); 역파일 생성 모듈(240)에 의해 생성된 역파일인 포스트 파일 "POST.dat"을 저장하는 포스트 DB(306); 소트 모듈(250)에 의해 날짜순으로 소팅 되어 생성된 역파일을 저장하는 날짜별 DB(307); 소트 모듈(250)에 의해 기간순으로 소팅(배열)되어 생성된 역파일을 저장하는 관련도별 DB(308); 소트 모듈(250)에 의해 자동랭킹 순으로 소팅(배열)되어 생성된 역파일을 저장하는 랭킹별 DB(309); 검색 엔진(260)으로부터 질의어 및 검색 조건에 따른 시소러스 확장을 위해, 질의 용어 상호간의 관계에 대한 정보를 저장하는 시소러스 DB(310); 입력된 질의어에 부합하는 확장된 다국어를 제시하기 위해 다국어 데이터를 저장하는 다국어 DB(311); 및검색 엔진(260)에 의해 수행된 질의어 및 검색 조건에 해당하는 검색 결과를 저장하는 검색 결과 DB(312)를 포함한다.
데이터베이스(300)의 각 DB는 각각의 정보를 독립적으로 저장하는 정보저장장치 또는 정보저장매체일 수 있고, 정보 검색 서버(200)에 포함되어 각 모듈과 연동된 정보저장장치 또는 정보저장매체일 수도 있으며, 각 정보가 통합된 단일의 정보저장장치 또는 정보저장매체일 수도 있다.
이하에서는 본 발명의 실시 예에 따른 정보 제공 시스템의 동작에 대하여 첨부한 도면을 참조하여 상세히 설명한다.
도 8은 정보원 웹사이트로부터 문서를 획득하는 과정을 나타내는 흐름도 이다. 관리자 컴퓨터(도시하지 않음)로부터 문서 획득을 위한 관리자의 실행 명령(예 : runspider seed.dat1)이 입력되면(S100), 정보 처리 모듈(212)은 동작을 시작한다. 먼저, 정보 처리 모듈(212)은 정보원의 상세 정보가 포함되어 저장된 ".dat"파일을 정보원 DB(301)로부터 호출한 후 정보원 관리모듈(211)에 전달하여 정보원 테이블(seed going table)을 구축하도록 명령한다(S110). 이와 동시에, 정보 처리 모듈(212)은 정보원 웹사이트(10)로부터 웹 문서를 가져오는 정보 처리 모듈(212)을 쓰레드 카운트의 최대값(MAX_THREAD_COUNT)인 n개, 바람직하게는 32개만큼 쓰레드로 생성한다(S111). 상기한 쓰레드는 하나의 프로그램을 다수의 인원이 동시에 사용할 때 생성되는 일련의 절차 정보로서, 한 명 또는 다수의 서비스 요청이 발생하면 사용 인원 또는 프로그램의 데이터 처리를 위해 생성되며 유지된다.
이어서, 정보원 관리 모듈(211)은 정보 처리 모듈(212)로부터 전송된 정보원테이블 구축 명령에 따라 정보원 테이블을 정보원 DB(301)에 구축하며(S120), 생성된 쓰레드인 정보 처리 모듈(212)은 자신이 접속하여 획득하려는 정보원 데이터를 정보원 관리 모듈(211)에게 요청한다(S121). 정보원 관리 모듈(211)은 정보 처리 모듈(212)로부터 정보원 데이터의 요청을 각각 수신하여, 정보원 DB(301)에 저장되어 있는 정보원 데이터를 호출하여 정보 처리 모듈(212)에 전달한다(S130). 정보 처리 모듈(212)은 전달받은 정보원 데이터를 기반으로 n개, 바람직하게는 32개의 정보 요청 모듈(213)을 생성하고(S140), 수신한 정보원 데이터를 생성된 32개의 정보 요청 모듈(213)에 각각 전달한다(S150). 각각의 정보 요청 모듈(213)은 정보 처리 모듈(212)로부터 수신한 정보원 데이터에 포함된 정보원 웹사이트(10)의 유알엘(URL : Uniform Resource Locator, 이하 URL이라 칭함)로 인터넷(50)을 통해 기사 내용이 포함된 웹 문서를 요청하고(S160), 정보원 웹사이트(10)로부터 검색된 기사 내용이 포함된 웹 문서를 각각 수신한다(S170). 정보 요청 모듈(213)은 정보원 웹사이트(10)로부터 수신한 웹 문서를 기사 정보 추출 모듈(214)에 전달하여 실제로 추출하고자 하는 기사 내용이 포함된 URL을 요청한다(S180). 예를 들어, "홍길동"이라는 기사 내용이 포함된 웹 문서에는 획득하고자 하는 기사 내용의 웹 문서 이외에 하이퍼링크(hyperlink)된 다수의 웹 문서가 포함되어 하나의 문서를 이루고 있을 수 있기 때문에, 먼저 "홍길동"이라는 기사 내용이 포함된 하나의 큰 웹 문서를 정보원 웹사이트(10)로부터 수신한 후, 웹 문서 내에 실제로 "홍길동"이라는 기사 내용이 포함된 웹 문서의 URL을 요청한다.
이어서, 기사 정보 추출 모듈(214)은 정보 요청 모듈(213)로부터 전달받은웹 문서를 분석하여 실제 획득하여야 할 기사 내용의 제1 기사 정보를 추출한 후 그 목록(list)을 정보 요청 모듈(213)에 전달한다(S190). 이때, 기사 정보 추출 모듈(214)이 추출하는 제1 기사 정보는 URL, 제목, 날짜, 요약문, 첨부파일 정보 등이며, 기사 정보 추출 모듈(214)은 첨부파일의 URL, 제목, 파일 형식 등의 첨부 파일 정보도 추출한다. 정보 요청 모듈(213)은 기사 정보 추출 모듈(214)로부터 전달받은 획득하려는 기사 내용의 제1 기사 정보를 프레임 축적 모듈(215)에 전달하고(S200), 프레임 축적 모듈(215)은 실제로 획득하여야 할 기사 내용을 획득하도록 프레임 구성 모듈(216)에 명령한다(S210). 프레임 구성 모듈(216)은 실제 기사 내용이 위치하는 URL로 인터넷(50)을 통해 웹 문서를 요청하고, 기사 내용의 URL에 해당하는 정보원 웹사이트(10)로부터 요청한 기사 내용을 수신한다(S220). 프레임 구성 모듈(216)은 인터넷(50)을 통해 수신한 기사 내용을 저장에 필요한 저장 포맷(format)에 맞도록 프레임 단위로 구성하여 프레임 축적 모듈(215)에 전달한다. 프레임 축적 모듈(215)은 수신한 기사 내용의 원문 데이터를 특정 크기의 프레임, 바람직하게는 2 메가바이트(Megabyte)크기의 블록 단위로 축적하여(S240), 기사 내용 중에서 불필요한 광고 또는 시간이 지나버린 오래된 내용 또는 HTML 초기에 작성된 필요 없는 내용 등을 제외시켜 원문 DB(302)에 저장한다(S250). 일반적으로 문서를 검색할 때 검색 속도를 가장 저하시키는 요인 중의 하나는 하드디스크 등의 정보기록매체에서의 파일 입출력(FILE I/O)때문이므로, 본 발명의 실시 예에서는 검색 속도 저하를 최소화하는 방법으로 실제 기사 내용을 블록 단위로 저장하는 방법을 이용한다. 즉, 문서 획득 모듈(210)은 정보원 웹사이트(10)로부터 획득한 웹 문서를 파일 단위로 원문 저장하거나 데이터베이스에 저장하지 않고 문서 작성 시간 순서에 맞게 블록 단위로 저장함으로써, 날짜순으로 검색할 경우 독립된 파일들의 경우보다 하나의 블록에서 검색조건에 맞는 문서를 획득할 가능성이 높아 파일 입출력(FILE I/O)부하를 줄일 수 있다. 왜냐하면, 대부분의 기사가 같은 내용을 거의 같은 날에 다루는 기사의 특성을 이용하므로, 한번의 파일 입출력(FILE I/O)으로 문서의 검색을 보다 빠르게 수행할 수 있다. 예를 들어, "홍길동이 200X년 X월 X일에 A라는 팀과 야구시합을 하였다"라는 기사 내용이 있고, "홍길동"이라는 하나의 질의어를 검색 대상으로 선택하였다고 가정하자. 대부분의 언론 매체는 상기 내용을 기사로 사용할 것이고 이 내용이 어느 특정 블록에 같은 파일로 유지될 가능성이 매우 높다. 이때, 검색어 "홍길동"의 결과물이 10,000개일 경우, 독립적으로 파일을 유지하면 10,000에 걸친 파일 입출력(FILE I/O)을 수행해야 하지만, 블록으로 유지할 경우는 최소 블록의 크기에 반비례하여 최대로 파일 입출력(FILE I/O)을 수행할 수 있다.
이때의 메시지 흐름 제어는, 문서 추출 모듈(220)이 32개의 쓰레드가 대기 중에 메시지가 입력되면 처리하기 때문에, 문서 획득 모듈(210)로 하여금 32개 이상의 메시지를 수신하게 되면 일단 대기 상태로 유지하도록 하며, 일정시간동안 문서 추출 모듈(220)로부터 메시지가 도착했다는 내용의 "ACK" 메시지를 받지 못하면 다시 메시지를 전송하도록 한다.
도 9는 도 3의 획득된 문서로부터 문서를 추출하는 과정을 나타내는 흐름도 인데, 도 9에 도시한 바와 같이, Ini 매니저(221)는 필요한 정보를 문서 획득모듈(210)로부터 획득한 후 전역 변수를 초기화한다(S300). 메시지 버퍼 매니저(222)는 문서 획득 모듈(210)로부터 원하는 기사 내용이 포함된 문서 획득이 완료되었다는 메시지를 수신하고(S310), 수신된 메시지를 리스브 핸들 버퍼(Receive handle buffer)(223)에 저장한다(S320). 수신된 메시지에 의해, 쓰레드 매니저(224)는 메시지 수신 쓰레드를 생성하고 생성된 쓰레드를 실행한다(S330). 즉, 문서 획득 모듈(210)로부터 보내지는 메시지는 128개 또는 64개의 쓰레드에 의해서 전달되는 것이기 때문에 전체를 하나의 모듈에서 수신하는 데에 무리가 있다. 따라서, 이 병목현상을 보안하기 위해서 메시지를 수신하는 문서 추출 모듈(220)도 32개의 이상의 쓰레드를 생성하여 이를 처리해야 한다. 다음으로, 생성된 각각의 메시지 수신 쓰레드는 리시브 팬들 버퍼(223)에 저장된 메시지를 호출하여 메시지 큐 매니저(225)에 전달하고, 메시지 큐 매니저(225)는 수신 메시지를 메시지 큐(225-1)에 추가한다(S340). 즉, 문서 획득 모듈(210)로부터 수신한 메시지가 128개 또는 64개의 쓰레드에 의해서 전송되므로, 전체 메시지를 하나의 모듈에서 수신하여 처리하기 위해 메시지 큐가 필요하다. 메시지 큐 매니저(225)는 수신 메시지를 다큐멘트 버퍼(227)에 저장한다(S350). 메시지 큐 매니저(222)는 메시지 큐(225-1)에 32개 이상의 메시지가 저장되었는지를 체크하여(S360), 32개 이상의 메시지가 저장되었으면 파일 생성 모듈(227)은 메시지 큐의 카운트를 판독한다(S370). 만일, 메시지 큐에 저장된 개수 체크 단계(S360)에서 32개 미만의 메시지가 메시지 큐에 저장되었으면, 메시지 큐는 32개의 개수가 저장될 때까지 메시지를 저장한다. 파일 생성 모듈(227)은 판독된 버퍼의 카운트를 기초로 하여 32개의 다큐멘트 아이디 파일 "DocumentID.doc"을 생성한다(S380). 파일 생성 모듈(227)은 생성된 다큐멘트 아이디 파일을 원문 DB(302)에 저장한다(S390).
도 10은 추출된 문서로부터 형태소 분석을 수행하는 과정을 나타내는 흐름도 인데, 도 10에 도시한 바와 같이, 다큐멘트 아이디 수신 모듈(231)은 문서 추출 모듈(220)로부터 시작 다큐멘트 아이디(StartDocId)와 끝 다큐멘트 아이디(EndDocId)를 수신하여 내부 버퍼에 저장한다(S500).
필터 모듈(233)은 내부 버퍼를 감시하고 있는 상태에서 필터링을 수행할 문서가 수신되면, 내부 버퍼에 저장된 시작 다큐멘트 아이디부터 끝 다큐멘트 아이디까지의 문서 중 원하는 기사 내용에 해당하는 웹 문서의 HTML 태그를 제거하여 실제 기사 부분만을 추출한다(S510). 즉, 웹 문서는 매우 다양한 포맷을 가지고 있기 때문에, 이러한 다양한 형태의 웹 문서에서 기사 내용만을 보다 정확하게 추출하기 위해 웹 문서에서 특정 형태의 포맷을 찾는다. 기사의 시작이라고 판단되는 부분의 태그(HTML)를 찾고 해당 태그의 끝 태그(/HTML)를 찾아서, 찾아진 내용을 하나의 기사 덩어리로 간주한다. 이러한 형태의 내용은 하나의 웹 문서에서도 여러 번 나타날 것이므로, 우선 이러한 기사 덩어리들을 찾아낸다. 본 발명의 실시 예에서, 필터 모듈(233)은 16개 또는 32개의 필터를 이용하여 필터링을 수행할 때의 병목을 막지만, 32개 이상의 필터를 사용할 수도 있다.
기사 정보 추출 모듈(234)은 필터 모듈(233)에 의해 찾아진 기사 덩어리의 HTML 문서에서 태그와 태그 사이의 스트링의 길이가 한글은 최소 50자, 영문은 최소 100자로 표현된 내용이 존재하는 기사 덩어리를 추출한다. 추출된 기사 덩어리들에서 태그(tag)를 제거하고 중복 스페이스(space) 및 특수 문자(special char)를 제거하며, 불필요한 배너(Banner)등의 광고 내용이나 하이퍼링크에 해당하는 내용을 제거하여 더 이상의 불필요한 정보가 없는 곳까지 제거한 후 실제로 필요한 부분의 기사 내용만을 추출하여(S520) 기사의 원문을 만든다.
형태소 분석 실행 모듈(235)은 기사 정보 추출 모듈(234)에서 추출된 문서를 이용하여 형태소 분석을 수행한다(S530). 이때, 발생하는 오류 형태소인 문자들을 제거하는 함수를 새로이 생성한다. 형태소 분석 결과에 따라, 필터 모듈(233)은 관련도(TF)에 의한 형태소 분석 결과가 저장된 관련도 파일(TF 파일) 및 형태소 분석 결과에 따른 요약 파일(SUM 파일)을 생성하여 데이터베이스(300)에 저장한다(S540). 문서 요약 모듈(236)은 형태소 분석 결과를 기초로 문서 내용을 요약하고, 문서 분류 모듈(237)은 요약된 내용을 기초로 하여 각 카테고리 별로 문서를 분류한다. 유사 문서 판정 모듈(238)은 유사 문서에 대한 내용을 앞 200자 정도의 유사도를 계산해서 유무를 판단하여 각 해당되는 내용을 테이블(Table)로 저장하여 검색 엔진에 의해 수행되는 검색 결과 화면에 보여질 수 있도록 한다. 이때, 필터 매니저(239)는 16개 또는 32개의 필터 모듈(233)을 이용해 필터링의 병목현상을 막고, 다큐멘트 아이디를 감시하는 상태에서 필터 모듈(233)이 실행되면 관련도 파일 과 요약 파일을 생성할 수 있도록 관리한다.
도 11은 형태소 분석이 완료된 내용으로 역파일을 생성하는 과정을 나타내는 흐름도 인데, 도 11에 도시한 바와 같이, 색인 모듈(241)은 원문 번호 추가 메시지를 형태소 분석 모듈(230)로부터 수신하여 색인을 한다(S700). 이때에는 여러 개의 쓰레드를 생성할 수 없으므로 내부 버퍼 및 쓰레드를 필요로 하지 않는다.
텀 생성 모듈(242)은 색인 모듈(241)로부터 색인 결과를 수신하여, 10,000,000개의 색인어를 처리 가능하도록 미리 정의하여 이미지 데이터 포맷, 위치, 시간 정보를 포함한 텀 파일 "TERM.dat"을 생성한다(S710). 또한, 포스트 생성 모듈(243)은 색인 모듈(241)로부터 색인 결과를 수신한 후 색인어를 이용하여 역파일인 포스트 파일 "POST.dat을 생성하는데(S711), 이때에도 블록 단위의 파일 입출력(File I/O)을 실행한다. 이때 생성된 역파일은 임시 파일이고 추후 소트 모듈(250)에 의해 소팅 되면 최적화된다. 즉, 하나의 블록은 127개의 레코드(Record)를 포함하며, 하나의 레코드는 다큐멘트 아이디(Document ID, 문서 식별자) 4바이트(Bytes), 관련도(TF) 1바이트, 위치(LOC : Location) 3바이트, 날짜(Date) 4바이트를 포함해 총 12 바이트로 구성된다. 128번째 옵셋(Offset)에는 다음 블록을 지정하는 차기 포인터(Next Pointer)로 사용되며, 전체 블록의 크기는 1528 바이트(127 * 12 + 4)이다.
실시간 데이터 생성 모듈(244)은 생성된 텀 파일 및 포스트 파일 문서를 이용해서 최근 기사 목록 10,000개의 리스트를 확보하여 유저에게 실시간으로 머릿글(Headline)정보를 제공한다(S720). 이때, 실시간 데이터 생성 모듈(244)은 타이틀과 URL과 요약문을 저장하여 실시간 파일 "REALTIME.dat"을 생성하고, 생성된 실시간 파일을 이용하여 실시간 데이터를 화면에 표시한다. 역파일 분산 모듈(245)은, 역파일을 하나의 구조로 가지고 가면 추후 검색 엔진(260)에 의한 검색 시 많은 시간이 소요되는 단점을 보완하기 위해, 역파일을 검색에 용이하게 4개로 구분하여 분산한다. 이렇게 되면, 텀 파일 "TERM.dat"이 4개로 분산되고, 각각의 텀 파일에 대한 역파일이 날짜, 기간, 랭크에 따른 3개의 역파일로 재생성 되므로, 검색 시 총 12개의 역파일에 접근할 수 있게되어 검색시간을 절약할 수 있다. 타이틀 분석 역파일 생성 모듈(246)은 생성된 텀 파일 및 포스트 파일 문서를 이용해서 기사 내용과 관련된 제목 내 검색의 조건식을 포함시켜 역파일을 생성한다. 이때의 역파일 생성 과정은 기사 내용을 이용한 역파일 생성과 동일하며, 이하에서는 그 생성 과정은 생략한다.
상기한 바와 같은 역파일은 모든 문서에서 색인된 내용을 저장하고 있는 파일로서, 색인어, IDF, 역파일 위치를 하나의 레코드로 하여 저장하고 있는 텀 파일 "TERM.dat"과, 색인어마다 각 문서의 정보를 연결한 파일로 구성된 포스트 파일 "POST.dat"과, 각 기사에 대한 중요 정보를 리스트로 가지고 있는 다큐멘트 파일(docs.dat)이 있다. 이때, 다큐멘트 파일은 실시간 데이터 생성을 위한 실시간 파일 자료 구조를 말하며, 추후 검색 엔진(260)에 의한 검색에서 파일 입출력(FILE I/O)을 최소화한다.
도 12는 생성된 역파일을 이용해 소팅을 수행하는 과정을 나타내는 흐름도 인데, 도 12에 도시한 바와 같이, 소팅 준비 모듈(251)은 생성된 텀 파일 "TERM.dat"과 포스트 파일 "POST.dat"을 호출하여 소팅(sorting, 배열)을 준비한다(S900). 소팅이 시작되면, 날짜 소팅 모듈(252)은 포스트 파일 "POST.dat"에 저장되어 있는 날짜 정보를 이용하여 날짜순으로 소팅된 역파일을생성한다(S910). 이때, 역파일의 크기를 최소화하는 형태로 텀 파일 "TERM.dat"과 역파일인 포스트 파일 "POST.dat"을 재구성한다. 이어서, 관련도(TF)소팅 모듈(253)은 포스트 파일 "POST.dat"에 저장되어 있는 관련도(TF)정보를 이용하여 관련도(TF)순으로 소팅된 역파일을 생성한다(S920). 이때에도, 역파일 크기를 최소화하는 형태로 텀 파일(Terms.dat)과 역파일일 포스트 파일 "POST.dat"을 재구성한다.
이어서, 자동 랭크 소팅 모듈(254)은 포스트 파일 "POST.dat"에 저장된 시간(Date), 중요도(Importance)정보 등과, 각 요약 파일(.sum)에 존재하는 디렉토리 코드를 이용하여 랭킹 순으로 소팅된 역파일을 생성한다(S930). 즉, 자동 랭킹 소팅 모듈(254)은 사전 설정된 정보원 웹사이트 별 가중치를 이용하여 기사의 중요도를 계산한다. 정보원 웹사이트 별 가중치를 사전 설정을 위해 통신사, 예를 들어 연합 통신, 로이터 등은 별도로 가중치를 부여하고, 기타 웹사이트의 경우 기사 또는 문서의 내용상에서 많이 언급되거나 참조된 사이트가 우수한 사이트 또는 참조할 정보가 많은 사이트로 판단하여 가중치를 부여한다. 자동 랭킹을 수행하기 위해, 먼저, 자동 랭킹 소팅 모듈(254)은 문서 획득 모듈(210)로부터 획득된 기사 또는 문서 중에서 특정 시간 범위 내의 기사 또는 문서를 시간 단위로 잘라낸 후, 특정 범위 내에 있는 기사 또는 문서는 그 기사 또는 문서의 작성 시간을 무시한다. 다음으로, 시간 단위로 잘라낸 기사 또는 문서가 사이트의 메인 페이지에 나왔는지를 체크하여 메인 페이지에 기사 또는 문서가 존재하는지의 여부로 분류한다. 이어서, 정보원 DB(301)에 사전에 주요 매체 사이트에 대하여 구분되어 저장되어 있는정보원의 상세 정보로부터 기사 또는 문서가 획득되어 온 정보원 웹사이트의 중요도에 따라 각각을 분류한다. 결과적으로, 특정 범위 내에 있는 기사 또는 문서를 4가지로 분류하여 가중치를 부여한다. 이렇게 획득된 기사 또는 문서에 대해 가산점을 부여하는 방법은 다음과 같다.
현재 당일의 정보는 유저에게 매우 필요한 정보이므로, 상기한 시간 정보(P(D))는 기사 또는 문서의 작성시간이 최신기사 또는 문서일수록 높은 가중치로 계산되어야 한다. 그러므로, 자동 랭크 소팅 모듈(254)은 시간 정보(P(D))를 금일, 하루 전 - 1주일, 1주일 - 31일 등으로 구분하여 "P(D) = (현재시간 - 기사 또는 문서 생성시간) / 100"으로 계산함으로써 가장 최근 시간의 기사 또는 문서에 제일 높은 가산점을 부여한다. 중요도 정보((P(I))는 문서 획득 모듈(210)에 의해 획득된 문서에 대해 부여되는 랭크(rank), 기사의 중요도에 따라 관리자에 의해 부여되는 등급(grade), 기사 출처의 위치에 따라 부여되는 위치(position)항목이 있다. 위치 항목에 있어서는 모든 문서가 각 정보원 웹사이트(10)홈페이지의 어느 부분에 위치하는가에 따라서 정보의 중요성이 결정될 수 있다. 신문사 또는 기타 웹사이트의 메인 페이지(main page)에 있는 기사 중에서 상위 몇 개의 기사, 바람직하게는 상위 3개의 기사는 우선적으로 중요한 정보로 간주하여 이에 해당하는 문서는 다른 문서보다 우선순위를 부여한다. 이어서, 각 섹션의 최우선(section top)기사는 그 다음의 중요한 정보로 간주하고, 섹션 내에 포함되는 섹션 리스트(section list)의 기사를 그 다음의 중요한 정보로 간주한다. 따라서, 각 신문사 또는 각 사이트의 중요도를 결정하는 사이트의 메인 페이지, 섹션별 최우선, 섹션 내의 섹션리스트 등으로 가중치를 부여하여 계산한다. 이때에는 문서의 출처 스코어(1 - 20)를 메인 페이지, 섹션별 최우선 및 섹션 리스트를 조합하여 "P(I) = position(top, section, normal) * score / 특정 단위" 로 P(I)를 결정한다. 기간 정보(P(F))는, 기사 또는 문서 내 빈도가 랭킹에 매우 중요한 정보를 갖거나 문서의 타이틀에 나타난 텀이 가중치를 더하여 주므로, 이러한 기간 정보(P(F))를 이용하여 자동 랭킹 순서를 계산한다. 즉, 전체 문서 내 텀(Term)의 전체 주기를 이용하여 해당 값을 MAX_TERM_FREQUENCY로 하고, IDF를 적용하여 문서크기를 표준화한 후 "P(F) = term frequency / MAX_TERM_FREQUNECY"로 계산한다. 유사 문서 수(P(S))정보는, 문서중 유사문서가 가장 많은 것만큼 중요한 정보였다는 증거로 활용할 수 있으므로, 문서 클러스터링(clustering)에 의한 유사도를 계산하거나, 특정 유사 문서 판정 알고리즘을 이용하여 각 문서마다 유사성을 이용하고, 유사문서 판정 후 가장 많은 문서수를 갖고 있는 MAX_SIM_DOC을 이용하여 "P(S) = sim count / MAX_SIM_DOC"로 계산한다. 상기한 P(D),P(I),P(F),P(S)의 범위는 0 ≤P(D),P(I),P(F),P(S) ≤1 이다. 상기한 바와 같이 계산된 네 가지 정보를 이용하여, 자동 랭크 소팅 모듈(254)은 최종적인 자동 랭킹의 순서를 RANK = (P(D) * a + P(I) * b + P(F) * c + P(S) *d) / 4(단, a, b, c, d는 임의 상수)로 계산하여 각 문서의 순서를 정한다. 이때, 각 랭킹 내용마다 시간순으로 20 %, 중요도순으로 80%의 가중치를 부여하고, 중요도순에서는 랭크(rank)에 25%, 등급(grade)에 50%, 위치(position)에 25%의 가중치를 부여함으로써 보다 개선된 랭킹을 수행할 수 있다. 이때, 가중치의 비율은 조정이 가능하며, 본 발명이 실시 예에만 한정되는 것은 아니다.
역파일 분리 모듈(255)은 가장 자주 쓰이는 하이라이트의 역파일을 따로 DB(도시하지 않음)에 저장하여 보유하고, 검색 엔진(260)으로부터 하이라이트 검색 요청 시에 저장된 역파일을 제공한다. 이처럼 역파일을 분리하면 검색 속도에 있어서는 매우 좋은 효과를 거둘 수 있다. 역파일이 생성된 후, 날짜 소팅 모듈(252)은 날짜별로 소팅 하여 새롭게 생성된 역파일을 날짜별 DB(307)에 저장하고, 관련도 소팅 모듈(253)은 관련도별로 소팅 하여 새롭게 생성된 역파일을 관련도별 DB(308)에 저장하며, 자동 랭크 소팅 모듈(254)은 랭킹 순서로 소팅 하여 새롭게 생성된 역파일을 랭크별 DB(309)에 저장한다(S940).
도 13은 유저의 질의어 및 검색 조건 입력에 따른 검색 과정을 나타내는 흐름도 인데, 도 13에 도시한 바와 같이, 유저가 검색어 조건을 입력하면(S1100), 유저 인터페이스(110)는 하나 이상의 메시지를 검색 엔진(260)과 송수신한다. 이때, 메시지에는 웹 화면과 검색엔진과의 카테고리별 검색을 위한 메시지 포맷, 정보원(호스트)별 검색을 위한 메시지 포맷, 검색 날짜 제한을 위한 메시지 포맷, 정렬(역파일종류: 날짜, TF, 랭크)의 종류, 유사문서보기, 시소러스 확장 유무, 출처(전체, 국내, 국외)별 보기 유무 등을 위한 메시지 포맷, 질의어에 대한 메시지 포맷, 검색시 분류되는 4가지 항목의 값 설정 메시지 포맷, 검색 메시지 중 헤더 포맷 등의 포맷을 포함하며, 모든 메시지는 헤더(HEADER)가 존재하고 실제 쿼리(QUERY)내용이 존재한다.
검색 엔진(260)의 서버 소켓(261)은 유저에 의해 입력된 검색어와 검색조건을 유저 인터페이스(110)로부터 수신하여(S1110) 내부버퍼(261-1)에 저장하고, 검색어의 내용을 분석(Query Parsing)한다. 검색 모듈(262)은 수신한 해당 검색 조건에 따라 다양한 검색을 실행한다(S1120).
예를 들어, 쿼리 파서(Query Parser, 262-1)는 유저가 입력한 질의어에 포함된 특수 기호(예 : ^)를 제외한 모든 문자는 모두 질의어라고 간주하여 검색을 한다. 그러나, "|"(or를 나타내는 기호) 나 "+" 는 제거하고 "&"가 없이 띄어쓰기가 되어 있는 것은 하나의 단어라고 판단하고, 모두 붙여서 시소러스 검색을 할 수 있도록 하며, 띄어쓰기가 된 모든 문자는 OR 연산으로 진행한다. 시소러스(Thesaurus)모듈(262-2)은 쿼리 파서(262-1)에 의해 내용 분석이 완료된 후 조건식에 의해서 시소러스 확장 유무를 판단한다. 즉, 입력 질의가 띄어쓰기만으로 들어오는 경우는 전체를 하나의 문자로 판단하여 시소러스 DB(310)에 저장된 시소러스 데이터를 호출하여 시소러스 확장을 시도하여 보고, 실제 검색은 각각의 질의를 AND 연산으로 처리하여 검색을 한다. 입력에 AND 연산 기호인 "^"이 포함되어 있으면 시소러스 모듈(262-2)은 우선어, 비우선어로 확장하여 자신을 포함한 4개로 확장한다. 여기서, 시소러스(thesaurus, 관련어집)란 용어의 사용법과 용어들 사이의 관계에 대한 정보를 제공하는 어휘 도구를 말한다. 용어의 관계성은 일반적으로 상위 개념(BT: broader term), 하위 개념(NT: Narrower Term), 용례 혹은 동의어(UF: Use For Or Synonymous), 관계어(RT: Related Term), 대체어(USE) 등으로 분류되는데, 시소러스는 이러한 관계성을 이용, 탐색시 질의에 포함된 용어의 의미를 확대하기 위해 주로 사용된다. 파일 로드 모듈(262-3)은 검색과 화면에 표시하기 위한 정보를 미리 로드(Load)하여 준비한다. 텀 파일(Terms.dat)은 각 역파일마다 존재하기 때문에 하이라이트(Highlight), 이슈(issue), 리서치(research), 통계(statistic)에 해당하는 텀 파일(terms.dat)을 로드한다. 또한, 포스트 파일(Post.dat)도 4가지에 대해서 로드하고 그 외로 각 소팅별로 로드하는데, 이때 포스트 파일은 개방(open)하며 메모리로 로드하지는 않는다. 또한, 타이틀에 관련된 검색에서 필요한 텀 파일(Terms.dat)과 포스트 파일(Post.dat)을 로드하여 검색한다. Boolean 검색 모듈(262-4)은 예를 들어, 질의 내용 안에 "^"이 존재하면 And연산을 시도하고 그렇지 않은 경우는 하나의 질의어라 판단하여 시소러스 확장한다. 이때, Boolean 검색은 AND 연산을 위한 기호 "^"을 이용하여서만 시도한다. 또한, 질의어에서 자동 확장된 시소러스는 모두 or 연산을 시도하고 And 연산이 존재하면 And 연산을 시도한다. 쓰레드 매니저 모듈(262-5)은 여러 유저 컴퓨터(20)가 동시에 접속하여 검색할 수 있도록 멀티쓰레드(Multi thread)로 진행한다. 유사 문서 검색 모듈(262-6)은 문서 내용의 유사도를 판단하여 유저 컴퓨터(20)의 화면에 유사문서에 관한 내용을 표시한다. 이때, 각 문서는 유사 테이블(Table)을 갖고 있어야 한다. 조건부 검색 모듈(262-7)은 소팅순, 지역순, 시소러스 확장 유무, 조건부 검색, 기타 등등의 조건을 분석하고 이에 맞는 내용으로 검색을 시도한다. 검색 질의어 자동 확장 모듈(262-8)은 입력된 질의어를 기초로 다국어 DB(311)에 저장된 데이터를 호출하고, 호출된 데이터를 근거로 하여 다국어 확장 검색을 수행한다.
검색 질의어 자동 확장 모듈(262-8)은 단순 확장과 시소러스 확장을 수행하는데, 단순 확장은 검색 질의어가 들어오면 우선 각 해당 미리 다국어 DB(311)에 설정되어 있는 형태의 언어로 확장한다. 예를 들어, 유저가 "인터넷"을 검색할 경우, 검색 질의어 자동 확장 모듈(262-8)은 자동으로 "internet"을 확장하여 or 연산으로 처리함으로써 검색의 질을 향상할 수 있다. 또한, 검색 질의어 자동 확장 모듈(262-8)은 각국의 언어별로 "인터넷"의 대용어를 이용하여 처리하므로, 각 나라별 언어로 자동 확장이 용이하다. 시소러스 확장은, 검색 질의어가 입력되면 해당 질의어의 시소러스를 시소러스 DB(310)로부터 확인하여 비우선어에 해당하는 내용을 자동으로 확장하여 검색한다. 예를 들어, "인터넷"을 검색할 경우, "월드와이드웹"으로 확장하여 검색할 수 있고 유저에게 관련어들을 표시하여 준다. 이로 인해, 유저는 "엑스트라넷", "이메일", "인트라넷", "전자상거래", "하이퍼텍스트", "Arpanet" 등을 검색의 대상으로 확인할 수 있다.
이렇게 검색이 완료되면, 검색 모듈(262)은 검색 결과를 검색 결과 DB(312)에 저장한다(S1130). 서버 소켓(261)은 검색조건에 의해서 검색된 결과를 웹서버(100)에 전달한다(S1140). 웹서버(100)의 검색 엔진 연동 모듈(120)은 수신한 검색 결과를 인터페이싱(interfacing)하여 유저 인터페이스 모듈(110)에 전달하고, 유저 인터페이스 모듈(110)은 질의어 또는 질의 항목에 따른 검색 결과를 유저 컴퓨터(20)에 표시한다(S1150).
이상에서 설명한 본 발명의 실시 예는 하나의 실시 예에 지나지 않으며, 전술한 내용 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상 및 요지를 벗어나지 않는 범위 내에서 각 모듈과 데이터베이스와 자료 구조 등에 여러 가지 치환, 변형 및 변경이 가능함은 물론이다. 특히, 본 발명의 실시 예는 기사 내용과 관련된 웹 문서에 대해서 기재하였지만, 일반적인 웹 문서에 대한 검색도 가능함은 물론이며, 본 발명이 실시 예에만 한정되는 것은 아니다.
이상에서와 같이, 본 발명의 검색엔진을 활용한 정보 제공 시스템 및 그 방법은 웹 상에서 업무에 필요한 정보를 찾고자 하는 유저를 대상으로 하여 전자사전, 시소러스, 분류체계, 검색대상 사이트 등 지식베이스를 최종사용의 관심분야에 최적화하여 구축함으로써, 유저가 요구하는 특정 목적에 최적화된 검색 방법을 제공한다.
또한, 검색어와 색인어의 불일치로 검색결과가 누락되는 경우를 최소화하기 위해 경제/ 시사/ IT 등 전문분야별 시소러스 구축 및 검색을 활용하여 동의어까지 파악하는 정보 분석 및 자국어 이외의 다국어로 된 정보를 검색해주는 언어 자동확장 검색기능으로 보다 풍부한 검색 정보를 제공한다.
또한, 검색어 빈도를 계산하는 벡터모델을 기초로 시간에 따른 정보의 가치체감, 정보출처의 신뢰도, 키워드와 정보출처의 전문성을 종합계산 하고, 정보출처의 홈페이지 내용을 분석하여 출처 저작권자의 편집의도를 검색결과에 포함시켜 랭킹을 재 구축함으로써 유저에게 독자적인 랭킹 정보를 제공한다.
또한, 현재 시간의 기사와 시간이 경과한 기사의 가치 체감을 반영하여 가중치를 부여, 검색어를 형태소 분석하여 관련 사이트로 분류된 사이트 데이터베이스와 대조하여 출처에 대한 가중치 부여, 정보출처를 단계별로 분류 및 키워드와 무관하게 가중치 부여 등의 조건을 종합 점수화하여 검색결과 생성하고, 이에 대한 결과를 시간순, 인기도순, 관련도 순 등으로 재정렬 가능하도록 한다.
또한, 뉴스, 정부기관, 기업, 개인홈페이지 등 다양한 기준으로 분류 후 양질의 정보생산 주체에 한해 정보 수집, 색인, 검색함으로써, 정보원 사이트를 선별하여 선별된 사이트 내 웹 문서 중 필요 내용만을 추출하고, 검색 결과를 축소하며 양질의 검색결과를 확보할 수 있다.
또한, 웹페이지 사전분류를 통한 우선 분류와 전문(full-text)에 대한 자동분류를 혼용한 자동분류를 통해, 웹사이트 분류가 아닌 전문에 대한 자동분류를 통한 디렉토리 서비스를 유저에게 제공한다.
또한, 실시간으로 생성되는 데이터베이스와 정적인 데이터베이스를 분리하여 유지함으로써, 데드링크를 최소화하고 최신정보를 확보하여 대용량 데이터 처리가 가능하도록 하며, 웹 검색시스템의 장점과 실시간 정보브리핑시스템을 장점을 혼용함으로써 관심분야의 새로운 정보를 자동으로 찾아주는 정보 자동추적 기술을 제공한다.
또한, 검색된 문서 중 중복문서 판정 시에, 문서 내용 전체를 대상으로 하지 않고 인덱스 트리의 형식을 가진 문서를 디지털 코드화하거나, 고유의 프래그(flag)를 부여한 뒤 중복문서를 정밀 분석하거나, 최단시간 내에 최소의 경비로 중복문서 판정하며, 중복문서 판정에 따른 유사문서 유사도 계산으로 중복문서 및 유사문서 클러스터링을 수행하여 유저에게 제공한다.
또한, 웹페이지 분류체계 내 정보원 한정 검색, 지역별 정보원 한정검색, 자연어 검색, 제목 내에서만 검색이나 결과 내에서 키워드 검색하는 검색 결과 내 재검색 등을 수행함으로써, 유저에게 다양한 검색 부가 기능을 제공한다.

Claims (22)

  1. 네트워크를 통해 유저 단말기로부터 수신한 하나 이상의 질의어에 대해 검색을 수행하여 그 결과를 상기 유저 단말기에 제공하는 정보제공 시스템에 있어서,
    하나 이상의 문서를 상기 네트워크를 통해 연결된 하나 이상의 정보원으로부터 획득하여 저장하는 정보 획득 및 저장 수단; 및
    상기 하나 이상의 질의어에 대응하는 정보를 상기 획득되어 저장된 하나 이상의 문서로부터 검색하여 그 결과를 상기 유저 단말기에 제공하는 정보 제공 수단을 포함하되,
    상기 정보 획득 및 저장 수단은 상기 획득된 문서의 검색이 용이하도록 블록 단위로 저장하고, 상기 블록 단위로 저장된 문서를 색인하여 제1 파일을 생성하며, 상기 문서가 작성된 날짜, 질의어간의 관련도 및 자동 랭킹 순서 중에서 적어도 하나 이상에 의해 상기 제1 파일을 배열하는 것을 특징으로 하는 검색 엔진을 활용한 정보 제공 시스템.
  2. 제1항에 있어서, 상기 정보 획득 및 저장 수단은
    추출된 상기 질의어가 포함된 원문 정보, 새롭게 생성된 상기 제1 파일 정보, 배열 결과 정보 및 상기 질의어에 대한 의미 확장을 위한 정보를 저장하는 데이터베이스를 더 포함하는 검색엔진을 활용한 정보 제공 시스템.
  3. 제1항에 있어서, 상기 정보 획득 및 저장 수단은
    상기 정보 획득 수단으로부터 획득된 문서를 수신하여 상기 블록 단위로 상기 문서의 내용을 판독하여 추출한 후 상기 데이터베이스에 저장하는 문서 추출 모듈;
    상기 문서 추출 모듈로부터 추출된 내용을 수신하여 상기 질의어에 부합하는 내용만을 골라 형태소 분석하여 색인하고, 관련도(Term Frequency)에 의한 형태소 분석 결과가 저장된 제2 파일 및 형태소 분석 결과에 따른 제3 파일을 생성하는 형태소 분석 모듈;
    상기 형태소 분석 모듈로부터 생성된 상기 제2, 제3 파일을 수신하여, 상기 제2, 제3 파일을 기초로 상기 제1 파일을 생성하는 역파일 생성 모듈;
    상기 역파일 생성 모듈에서 생성된 상기 제1 파일을 수신하여, 상기 제1 파일과 상기 질의어의 빈도(TERM)를 기초로 하여 하나 이상의 배열 순서로 소팅하는 소트 모듈
    을 포함하는 검색엔진을 활용한 정보 제공 시스템.
  4. 제1항에 있어서, 상기 정보 제공 수단은
    상기 유저 단말기로부터 상기 질의어를 수신하여 상기 질의어에 해당하는 검색 조건을 입력받아 저장하는 통신 인터페이스; 및
    상기 통신 인터페이스로부터 상기 질의어를 수신하여 상기 질의어에 해당하는 문서 검색을 실행하는 검색 모듈
    을 포함하는 검색엔진을 활용한 정보 제공 시스템.
  5. 제4항에 있어서, 상기 검색 모듈은
    상기 유저 단말기로부터 상기 질의어 검색에 대한 요청을 수신하여 파싱하는 쿼리 파서 모듈;
    상기 파싱된 결과에 따라, 조건식에 의해서 시소러스 확장 유무를 판단하는 시소러스 모듈;
    상기 유저 단말기의 화면에 상기 질의어에 대한 검색과 검색 결과를 나타내는 표시 정보를 미리 로드하여 준비하는 파일 로드 모듈;
    상기 유저 단말기로부터 수신한 상기 질의어에 포함된 연산자에 따라 검색을 수행하는 불린 검색 모듈;
    상기 유저 단말기로부터 상기 질의어가 입력되면, 동시에 검색이 가능하도록 멀티쓰레드를 수행하는 쓰레드 매니저 모듈;
    상기 질의어에 부합하는 유사 문서를 검색하여 검색된 문서의 내용의 유사도를 상기 유저 단말기에 표시하는 유사문서 검색 모듈;
    검색 조건을 분석하여 상기 검색 조건에 부합하는 내용으로 검색하는 조건부 검색 모듈; 및
    상기 유저에 의해 입력된 상기 질의어를 사전 설정된 다국어 언어로 확장하는 검색 질의어 확장 모듈
    을 포함하는 검색엔진을 활용한 정보 제공 시스템.
  6. 제3항에 있어서, 상기 정보 획득 및 저장 수단 모듈은
    상기 정보원에 대한 상세 정보를 포함하며, 상기 정보원에 정보를 요청할 때 각 정보원에 접속할 수 있도록 정보원을 배정하는 정보원 관리 모듈;
    상기 정보원으로부터 획득한 문서를 분석하여 상기 문서 내의 실제 질의어가 포함된 내용까지 동시에 획득하는 정보 처리 모듈;
    상기 정보원의 유알엘로 상기 네트워크를 통해 문서를 요청하고, 그 결과로 수신된 문서를 기초로 하여 실제 질의어가 포함된 문서를 획득하도록 요청하는 정보 요청 모듈;
    상기 문서를 상기 정보원으로부터 전달받아 실제 획득할 질의어가 포함된 문서의 제1 정보만을 추출하는 기사 정보 추출 모듈;
    상기 제1 정보를 상기 기사 정보 추출 모듈로부터 전달받아 상기 질의어가 포함된 문서를 요청하도록 하고, 요청 결과에 의해 전달받은 상기 질의어가 포함된 문서의 내용을 제1 크기로 블록화 하는 프레임 축적 모듈;
    상기 프레임 축적 모듈로부터 상기 질의어가 포함된 문서의 요청을 수신해 실제 질의어가 포함된 문서의 유알엘로부터 내용을 획득하여 프레임으로 구성하는 프레임 구성 모듈
    을 포함하는 검색엔진을 활용한 정보 제공 시스템.
  7. 제3항에 있어서, 상기 문서 추출 모듈은
    상기 문서 획득 모듈로부터 수신한 메시지를 저장하여 관리하는 메시지 버퍼 매니저;
    상기 메시지 버퍼 매니저로부터 수신한 메시지를 저장하는 제1 버퍼;
    상기 문서 획득 모듈로부터 수신된 다수의 쓰레드에 대응하여 새로운 쓰레드를 생성하는 쓰레드 매니저;
    상기 문서 획득 모듈로부터 메시지를 수신하여 저장하는 메시지 큐;
    상기 메시지 큐에 저장된 메시지의 카운트를 판독하여 헤더 정보와 원문 웹 문서를 포함하는 각각의 파일로 구분하여 생성하는 파일 생성 모듈;
    상기 파일 생성 모듈에 의해 생성된 문서 파일인 제4 파일을 저장하는 제2 버퍼; 및
    상기 문서 획득 모듈로부터 전달되는 메시지에 따라 필요한 정보를 읽고 쓰며, 작동에 필요한 기본적인 변수값을 로그 파일로 보존하여 오류 발생 시 재 작동을 위한 인자로 받아들여 처리하는 프로그램 파일 매니저
    를 포함하는 검색엔진을 활용한 정보 제공 시스템.
  8. 제3항에 있어서, 상기 형태소 분석 모듈은
    상기 문서 추출 모듈로부터 수신한 문서 식별자를 전역변수에 저장하고, 저장된 상기 문서 식별자를 호출하여 상기 제4 파일에 저장하는 문서 식별자 수신 모듈;
    상기 문서 식별자의 시작 식별자와 끝 식별자를 저장하는 제3 버퍼;
    상기 문서 식별자 수신 모듈로부터 상기 제4 파일을 수신하여 웹 문서 태그를 제거하고 실제 질의어가 포함된 내용만을 추출하는 필터 모듈;
    상기 필터 모듈로부터 상기 웹 문서의 태그가 제거된 웹 문서를 수신하여 모든 태그를 제거하고 필요한 부분의 내용만을 추출하는 기사 정보 추출 모듈;
    상기 기사 정보 추출 모듈로부터 수신한 추출된 내용을 이용해 형태소 분석하는 형태소 분석 실행 모듈;
    상기 형태소 분석 실행 모듈에 의해 분석된 내용을 요약하는 문서 요약 모듈;
    상기 형태소 분석 실행 모듈에 의해 분석된 내용을 분류하는 문서 분류 모듈;
    상기 형태소 분석 실행 모듈에 의해 분석된 내용을 근거로 유사도를 계산해 유사 문서인지의 유무를 판정하는 유사문서 판정 모듈; 및
    다수의 상기 필터 모듈을 이용해 필터링의 병목현상을 막고, 상기 문서 식별자를 체크하는 상태에서 상기 필터 모듈이 실행되면 상기 제2, 제3 파일을 생성할 수 있도록 관리하는 필터 매니저
    를 포함하는 검색엔진을 활용한 정보 제공 시스템.
  9. 제3항에 있어서, 상기 역파일 생성 모듈은
    상기 제2, 제3 파일 추가할 원문 번호를 상기 형태소 분석 모듈로부터 메시지로 수신하여 색인 하는 색인 모듈;
    상기 색인 모듈로부터 색인 결과를 수신하여 이미지 데이터 포맷, 위치, 시간 정보를 포함한 제5 파일을 생성하는 텀 생성 모듈;
    상기 색인 모듈로부터 색인 결과를 수신한 후 색인어를 이용해 블록 단위의 파일 입출력을 실행하여 제6 파일을 생성하는 포스트 생성 모듈;
    생성된 상기 제5, 제6 파일을 이용해서 상기 질의어가 포함된 최근의 문서 내용 목록으로부터 실시간으로 머릿글 정보를 제공하는 실시간 데이터 생성 모듈;
    상기 제5 파일에 대한 역파일을 분산하여 재 생성하는 역파일 분산 모듈; 및
    생성된 상기 제5, 제6 파일을 이용해서 상기 질의어가 포함된 문서와 관련된 제목 내 검색의 조건식을 포함시켜 역파일을 생성하는 타이틀 분석 역파일 생성 모듈
    을 포함하는 검색엔진을 활용한 정보 제공 시스템.
  10. 제3항에 있어서, 상기 소트 모듈은
    상기 역파일 생성 모듈에서 생성된 상기 제5, 제6 파일을 저장하고, 상기 제5, 제6 파일을 이용해 소팅을 준비하는 소팅 준비 모듈;
    상기 제6 파일에 저장되어 있는 데이터를 이용해 날짜 순서로 배열된 제7 파일을 생성하는 날짜 소팅 모듈;
    상기 제6 파일에 저장되어 있는 데이터를 이용해 관련도 순서로 배열된 제8 파일을 생성하는 관련도 소팅 모듈;
    상기 제6 파일에 저장되어 있는 날짜와 관련도 및 상기 제3 파일에 존재하는디렉토리 코드를 이용해 자동 랭킹된 순서로 배열된 제9 파일 생성하는 자동 랭크 소팅 모듈; 및
    자주 사용되는 높은 인기도의 역파일을 따로 분리하는 역파일 분리 모듈
    을 포함하는 검색엔진을 활용한 정보 제공 시스템.
  11. 제2항에 있어서, 상기 데이터베이스는
    하나 이상의 상기 정보원으로부터 웹 문서를 획득하기 위해 상기 정보원의 상세 정보를 저장하는 정보원 데이터베이스;
    상기 문서 획득 모듈에 의해 획득된 문서 내용 및 상기 문서 추출 모듈에 의해 추출된 상기 질의어가 포함된 문서의 원문 데이터를 저장하는 원문 데이터베이스;
    상기 형태소 분석 모듈에 의해 생성된 상기 제2 파일을 저장하는 관련도 파일 데이터베이스;
    상기 형태소 분석 모듈에 의해 생성된 상기 제3 파일을 저장하는 요약 파일 데이터베이스;
    상기 역파일 생성 모듈에 의해 생성된 상기 제5 파일을 저장하는 빈도(Term) 데이테베이스;
    상기 역파일 생성 모듈에 의해 생성된 상기 제6 파일을 저장하는 포스트 데이터베이스;
    상기 소트 모듈에 의해 날짜순으로 배열되어 생성된 상기 제7 파일을 저장하는 날짜별 데이터베이스;
    상기 소트 모듈에 의해 기간순으로 배열되어 생성된 상기 제8 파일을 저장하는 관련도별 데이터베이스;
    상기 소트 모듈에 의해 자동랭킹 순으로 배열되어 생성된 상기 제9 파일을 저장하는 랭킹별 데이터베이스;
    상기 검색 엔진으로부터 질의어 및 검색 조건에 따른 시소러스 확장을 위해 질의 용어 상호간의 관계에 대한 정보를 저장하는 시소러스 데이터베이스;
    상기 유저 단말기로부터 수신한 질의어를 기초로 확장된 다국어 데이터를 저장하는 다국어 데이터베이스
    를 포함하는 검색엔진을 활용한 정보 제공 시스템.
  12. 제10항에 있어서, 상기 자동 랭크 소팅 모듈은
    시간 순서 및 중요도 순서로 각각 가중치를 부여하고, 상기 중요도 순서에 랭크, 등급, 위치별로 각각 가중치를 부여하며, 상기 위치별로는 상기 정보원의 웹 사이트 메인 페이지, 섹션 탑, 섹션 리스트를 구분하여 가산점을 부여하는 것을 특징으로 하는 검색엔진을 활용한 정보 제공 시스템.
  13. 네트워크를 통해 유저 단말기로부터 수신한 하나 이상의 질의어에 대해 검색을 수행하여 그 결과 정보를 상기 유저 단말기에 제공하는 정보제공 방법에 있어서,
    상기 네트워크를 통해 연결된 하나 이상의 정보원으로부터, 상기 질의어가 포함된 문서를 획득하여 획득된 상기 문서의 검색이 용이하도록 블록 단위로 저장하는 단계;
    상기 블록 단위로 저장된 문서를 색인하여 제1 파일을 생성하며, 상기 문서가 작성된 날짜, 질의어간의 관련도 및 자동 랭킹 순서 중에서 적어도 하나 이상에 의해 상기 제1 파일을 배열하는 단계; 및
    상기 단계에서 배열된 결과를 기초로 하여 상기 질의어에 해당하는 문서의 정보를 검색하여 그 결과를 상기 유저 단말기에 제공하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 방법.
  14. 제13항에 있어서, 상기 저장 단계가
    실행 명령에 따라 상기 정보원의 정보를 저장하고 있는 상기 정보저장 매체로부터 상기 정보원의 정보를 호출하여 정보원 테이블을 구축하고 다수의 쓰레드를 생성하는 단계;
    상기 쓰레드가 상기 정보원의 정보를 수신하여 상기 정보원으로부터 상기 질의어가 포함된 문서를 수신하는 단계;
    상기 문서의 제1 정보를 획득하여, 상기 질의어가 포함된 내용을 획득하는 실행 모듈을 생성하는 단계;
    생성된 상기 실행 모듈에 의해 상기 질의어가 포함된 내용을 상기 정보원으로부터 획득하여 저장에 필요한 포맷으로 구성하는 단계; 및
    구성된 내용을 수신하여 제1 크기의 블록 단위로 축적하여 상기 정보저장매체에 저장하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 방법.
  15. 제13항에 있어서, 상기 저장 단계가
    상기 문서 획득 단계에서 획득된 문서를 수신하여 블록 단위로 문서의 내용을 판독하여 추출하는 단계;
    추출된 상기 문서의 내용 중에서 실제 기사에 해당하는 내용만을 골라 형태소 분석하여 색인하고, 관련도(TF)에 의한 형태소 분석 결과가 저장된 관련도 파일 및 형태소 분석 결과에 따른 요약(SUM)파일을 생성하는 단계;
    생성된 상기 관련도 파일 및 요약 파일을 기초로 하여 상기 역파일을 생성하는 단계;
    생성된 상기 역파일과 빈도(TERM)를 기초로 하여 하나 이상의 배열 순서로 소팅하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 방법.
  16. 제15항에 있어서, 상기 문서 내용 추출 단계가
    전역 변수를 초기화하여 원하는 기사 내용이 포함된 문서 획득이 완료되었다는 메시지를 수신하고, 내부 버퍼에 저장하는 단계;
    수신된 메시지에 의해 다수의 메시지 수신 쓰레드를 생성하고 생성된 쓰레드를 실행하는 단계;
    상기 내부 버퍼에 저장된 메시지를 호출하여 메시지 큐에 저장한 후, 지정된 메시지 개수 이상의 메시지가 저장되면 메시지 큐의 카운트를 판독하여 판독된 버퍼의 카운트를 기초로 하여 지정된 상기 메시지 개수에 해당하는 문서 인식자 파일을 생성하는 단계;
    생성된 상기 문서 인식자 파일을 상기 정보저장 매체에 저장하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 방법.
  17. 제15항에 있어서, 상기 파일 생성 단계가
    상기 문서 인식자 파일의 시작 문서 인식자와 끝 문서 인식자를 내부 버퍼에 저장한 후, 상기 내부 버퍼를 체크하는 단계;
    상기 내부 버퍼를 체크하고 있는 상태에서 필터링을 수행할 문서가 수신되면, 상기 내부 버퍼에 저장된 상기 시작 문서 인식자부터 상기 끝 문서 인식자까지의 문서 중 원하는 기사 내용에 해당하는 문서의 태그를 제거하여 실제 기사 부분만을 추출하는 단계;
    추출된 실제 기사 부분의 문서에서 다수의 태그 사이의 기사 내용에 포함된 불필요한 정보를 제거한 후 추출하여 기사의 원문을 만드는 단계;
    추출된 기사 원문에서 형태소 분석을 수행하는 단계;
    형태소 분석 결과에 따라, 관련도(TF)에 의한 상기 관련도 파일 및 상기 요약 파일을 생성하여 상기 정보저장 매체에 저장하는 단계;
    형태소 분석 결과를 기초로 문서 내용을 요약하고, 요약된 내용을 기초로 하여 각 카테고리 별로 문서를 분류하는 단계;
    유사 문서에 대해 유사도를 계산해서 유사성 유무를 판단하여 판단 결과를 상기 정보저장 매체에 저장하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 방법.
  18. 제15항에 있어서, 상기 역파일 생성 단계가
    형태소 분석 결과에 따른 원문 번호 추가 메시지를 수신하여 분석된 문서 내용을 색인하는 단계;
    색인 결과에 따라, 기 지정된 이미지 데이터 포맷, 위치, 시간 정보를 포함한 텀 파일을 생성하는 단계;
    색인 결과에 따라, 색인어를 이용하여 임시 파일인 포스트 파일을 생성하는 단계;
    생성된 상기 텀 파일 및 포스트 파일을 이용해 최근 기사 목록을 확보하여 실시간으로 머릿글 정보를 제공하는 단계;
    검색 시의 시간 절약을 위해, 상기 텀 파일을 분산하고, 각각의 텀 파일에 대한 역파일이 날짜, 기간, 자동 랭킹에 따른 역파일로 재생성 하는 단계;
    생성된 상기 텀 파일 및 포스트 파일 문서를 이용해서 기사 내용과 관련된 제목 내 검색의 조건식을 포함시켜 역파일을 생성하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 시스템.
  19. 제15항에 있어서, 상기 소팅 단계가
    생성된 상기 텀 파일 및 포스트 파일을 호출하여 배열을 위한 준비를 수행하는 단계;
    상기 포스트 파일에 저장되어 있는 날짜 정보를 이용하여 소팅하고 날짜순으로 소팅된 역파일을 생성하는 단계;
    상기 포스트 파일에 저장되어 있는 기간 정보를 이용하여 소팅하고 관련도(TF)순으로 소팅된 역파일을 생성하는 단계;
    상기 포스트 파일에 저장된 조건 정보와 상기 요약 파일에 존재하는 디렉토리 코드를 이용하여 소팅하고 랭킹 순으로 소팅된 역파일을 생성하는 단계;
    날짜, 관련도, 자동 랭킹 순으로 새롭게 생성된 역파일을 상기 정보저장 매체에 저장하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 방법.
    제10항에 있어서, 상기 자동 랭크 소팅 모듈은
  20. 제19항에 있어서, 상기 자동 랭킹은
    시간 순서 및 중요도 순서로 각각 가중치를 부여하고, 상기 중요도 순서에 랭크, 등급, 위치별로 각각 가중치를 부여하며, 상기 위치별로는 상기 정보원의 웹 사이트 메인 페이지, 섹션 탑, 섹션 리스트를 구분하여 가산점을 부여하는 것을 특징으로 하는 검색엔진을 활용한 정보 제공 시스템.
  21. 제13항에 있어서, 상기 검색 수행 단계가
    상기 유저 단말기로부터 검색 질의어 및 검색 조건을 수신하여, 검색 수행을 위한 다수의 메시지 포맷에 해당하는 메시지를 정의하는 단계;
    정의된 메시지를 수신하여 내부 버퍼에 저장하고, 검색어의 내용을 분석하는 단계;
    분석 결과에 따라 하나 이상의 검색 조건에 따라 상기 질의어에 해당하는 검색을 실행하는 단계;
    검색이 완료되면, 검색 결과를 상기 정보저장 매체에 저장하고, 상기 네트워크를 통해 상기 유저 단말기에 표시하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 방법.
  22. 제21항에 있어서, 상기 검색 실행 단계가
    상기 유저 단말기로부터 수신한 질의어에 포함된 특수 기호를 제외한 모든 문자를 질의어로 간주하여 쿼리 파싱 검색을 수행하는 단계;
    쿼리 파싱에 의한 내용 분석이 완료되면 조건식에 의해서 시소러스 확장 유무를 판단하여 시소러스 검색하는 단계;
    검색과 상기 유저 단말기의 화면에 표시하기 위한 정보를 미리 로드하여 준비하기 위해, 상기 텀 파일 및 포스트 파일을 로드하여 파일 로드 검색하는 단계;
    질의어에 포함된 하나 이상의 연산자를 파악하여 불린 검색하는 단계;
    하나 이상의 유저 단말기가 상기 네트워크를 통해 동시에 접속하여 검색할 수 있도록 멀티쓰레딩을 수행하여 검색하는 단계;
    검색할 문서 내용의 유사도를 판단하여 유사문서를 검색하는 단계;
    하나 이상의 검색 조건을 판단하여 조건부 검색하는 단계; 및
    수신한 질의어를 기초로 하여, 검색 질의어를 하나 이상의 다국어로 자동 확장하여 검색하는 단계
    를 포함하는 검색엔진을 활용한 정보 제공 방법.
KR1020020049085A 2002-08-20 2002-08-20 검색엔진을 활용한 정보 제공 시스템 및 그 방법 KR20040017008A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020049085A KR20040017008A (ko) 2002-08-20 2002-08-20 검색엔진을 활용한 정보 제공 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020049085A KR20040017008A (ko) 2002-08-20 2002-08-20 검색엔진을 활용한 정보 제공 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20040017008A true KR20040017008A (ko) 2004-02-26

Family

ID=37322748

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020049085A KR20040017008A (ko) 2002-08-20 2002-08-20 검색엔진을 활용한 정보 제공 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20040017008A (ko)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100462292B1 (ko) * 2004-02-26 2004-12-17 엔에이치엔(주) 중요도 정보를 반영한 검색 결과 리스트 제공 방법 및 그시스템
WO2006118360A1 (en) * 2005-05-04 2006-11-09 R.S.N. Co., Ltd. Issue trend analysis system
KR100706489B1 (ko) * 2005-02-03 2007-04-10 (주)첫눈 정보원을 이용한 검색 서비스 제공 서버 및 방법
KR100774541B1 (ko) * 2006-09-11 2007-11-08 엔에이치엔(주) 검색 결과에 동적 스코어를 적용하는 방법 및 상기 방법을수행하는 시스템
KR100775748B1 (ko) * 2006-07-28 2007-11-12 박정규 사용자가 입력한 검색어에 대응하는 url을 제공하는url 연결 시스템, 검색어 관리 서버, 사용자 단말 및 그url 연결 방법
WO2007139290A1 (en) * 2006-05-29 2007-12-06 Chutnoon Inc. Method and apparatus for using tab corresponding to query to provide additional information
KR100818742B1 (ko) * 2007-08-09 2008-04-02 이종경 색인 단어의 문서 내 위치 정보에 대한 관련성을 이용한문서 검색 방법
KR100888329B1 (ko) * 2007-07-05 2009-03-12 에스케이 텔레콤주식회사 룰을 이용한 실시간 자동 정보 추출 시스템 및 방법
KR100905434B1 (ko) * 2008-08-08 2009-07-02 (주)이스트소프트 실시간 색인 정보 추출 기능을 갖는 파일 업로드 방법 및 이를 이용한 웹 스토리지 시스템
KR100986207B1 (ko) * 2008-08-27 2010-10-08 주식회사 휴먼브릿지 티형 피에스씨 거더교 및 그 시공방법
KR101011726B1 (ko) * 2009-06-09 2011-01-28 성균관대학교산학협력단 스니펫 제공 장치 및 방법
KR101037091B1 (ko) * 2008-10-09 2011-05-26 주식회사 아이네크 자동 언어 번역을 통한 다국어의 전거 표목에 대한 온톨로지 기반 의미 검색 시스템 및 방법
KR101276087B1 (ko) * 2006-03-21 2013-06-18 에스케이플래닛 주식회사 이동 통신망에서의 위치 및 시간 정보를 이용한 검색서비스 시스템 및 그 방법
WO2014028871A1 (en) * 2012-08-17 2014-02-20 Twitter, Inc. Search infrastructure
KR101409863B1 (ko) * 2012-08-21 2014-06-20 주식회사 솔트룩스 대용량 소셜 데이터 처리 장치
WO2016186326A1 (ko) * 2015-05-15 2016-11-24 네이버 주식회사 검색어 리스트 제공 장치 및 이를 이용한 방법
KR20200042767A (ko) * 2018-10-16 2020-04-24 주식회사 포스코아이씨티 키워드 추출 및 요약문 생성 시스템 및 방법
CN111797158A (zh) * 2019-04-08 2020-10-20 北京沃东天骏信息技术有限公司 数据同步系统、方法和计算机可读存储介质
CN112580336A (zh) * 2020-12-25 2021-03-30 深圳壹账通创配科技有限公司 信息校准检索方法、装置、计算机设备及可读存储介质
KR102426919B1 (ko) * 2022-06-07 2022-07-29 (주)유알피시스템 지능형 문서 플랫폼 운영 방법 및 이를 구현하는 지능형 문서 플랫폼

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005083593A1 (en) * 2004-02-26 2005-09-09 Nhn Corporation A method for providing search results list based on importance information and system thereof
KR100462292B1 (ko) * 2004-02-26 2004-12-17 엔에이치엔(주) 중요도 정보를 반영한 검색 결과 리스트 제공 방법 및 그시스템
US7756868B2 (en) 2004-02-26 2010-07-13 Nhn Corporation Method for providing search results list based on importance information and system thereof
KR100706489B1 (ko) * 2005-02-03 2007-04-10 (주)첫눈 정보원을 이용한 검색 서비스 제공 서버 및 방법
WO2006118360A1 (en) * 2005-05-04 2006-11-09 R.S.N. Co., Ltd. Issue trend analysis system
KR101276087B1 (ko) * 2006-03-21 2013-06-18 에스케이플래닛 주식회사 이동 통신망에서의 위치 및 시간 정보를 이용한 검색서비스 시스템 및 그 방법
WO2007139290A1 (en) * 2006-05-29 2007-12-06 Chutnoon Inc. Method and apparatus for using tab corresponding to query to provide additional information
KR100775748B1 (ko) * 2006-07-28 2007-11-12 박정규 사용자가 입력한 검색어에 대응하는 url을 제공하는url 연결 시스템, 검색어 관리 서버, 사용자 단말 및 그url 연결 방법
KR100774541B1 (ko) * 2006-09-11 2007-11-08 엔에이치엔(주) 검색 결과에 동적 스코어를 적용하는 방법 및 상기 방법을수행하는 시스템
KR100888329B1 (ko) * 2007-07-05 2009-03-12 에스케이 텔레콤주식회사 룰을 이용한 실시간 자동 정보 추출 시스템 및 방법
KR100818742B1 (ko) * 2007-08-09 2008-04-02 이종경 색인 단어의 문서 내 위치 정보에 대한 관련성을 이용한문서 검색 방법
KR100905434B1 (ko) * 2008-08-08 2009-07-02 (주)이스트소프트 실시간 색인 정보 추출 기능을 갖는 파일 업로드 방법 및 이를 이용한 웹 스토리지 시스템
KR100986207B1 (ko) * 2008-08-27 2010-10-08 주식회사 휴먼브릿지 티형 피에스씨 거더교 및 그 시공방법
KR101037091B1 (ko) * 2008-10-09 2011-05-26 주식회사 아이네크 자동 언어 번역을 통한 다국어의 전거 표목에 대한 온톨로지 기반 의미 검색 시스템 및 방법
KR101011726B1 (ko) * 2009-06-09 2011-01-28 성균관대학교산학협력단 스니펫 제공 장치 및 방법
WO2014028871A1 (en) * 2012-08-17 2014-02-20 Twitter, Inc. Search infrastructure
US10878042B2 (en) 2012-08-17 2020-12-29 Twitter, Inc. Search infrastructure
US11580176B2 (en) 2012-08-17 2023-02-14 Twitter, Inc. Search infrastructure
KR101409863B1 (ko) * 2012-08-21 2014-06-20 주식회사 솔트룩스 대용량 소셜 데이터 처리 장치
WO2016186326A1 (ko) * 2015-05-15 2016-11-24 네이버 주식회사 검색어 리스트 제공 장치 및 이를 이용한 방법
KR20200042767A (ko) * 2018-10-16 2020-04-24 주식회사 포스코아이씨티 키워드 추출 및 요약문 생성 시스템 및 방법
CN111797158A (zh) * 2019-04-08 2020-10-20 北京沃东天骏信息技术有限公司 数据同步系统、方法和计算机可读存储介质
CN111797158B (zh) * 2019-04-08 2024-04-05 北京沃东天骏信息技术有限公司 数据同步系统、方法和计算机可读存储介质
CN112580336A (zh) * 2020-12-25 2021-03-30 深圳壹账通创配科技有限公司 信息校准检索方法、装置、计算机设备及可读存储介质
KR102426919B1 (ko) * 2022-06-07 2022-07-29 (주)유알피시스템 지능형 문서 플랫폼 운영 방법 및 이를 구현하는 지능형 문서 플랫폼

Similar Documents

Publication Publication Date Title
US8452766B1 (en) Detecting query-specific duplicate documents
US6490579B1 (en) Search engine system and method utilizing context of heterogeneous information resources
US6993534B2 (en) Data store for knowledge-based data mining system
KR20040017008A (ko) 검색엔진을 활용한 정보 제공 시스템 및 그 방법
US7010526B2 (en) Knowledge-based data mining system
KR101266267B1 (ko) 시계열 검색 엔진
US7788253B2 (en) Global anchor text processing
US6493721B1 (en) Techniques for performing incremental data updates
US8214391B2 (en) Knowledge-based data mining system
US6397228B1 (en) Data enhancement techniques
US6484161B1 (en) Method and system for performing online data queries in a distributed computer system
US6199081B1 (en) Automatic tagging of documents and exclusion by content
US7302646B2 (en) Information rearrangement method, information processing apparatus and information processing system, and storage medium and program transmission apparatus therefor
US6581057B1 (en) Method and apparatus for rapidly producing document summaries and document browsing aids
US6578056B1 (en) Efficient data transfer mechanism for synchronization of multi-media databases
US6393415B1 (en) Adaptive partitioning techniques in performing query requests and request routing
US6408294B1 (en) Common term optimization
US6633867B1 (en) System and method for providing a session query within the context of a dynamic search result set
US6374241B1 (en) Data merging techniques
JP3108015B2 (ja) ハイパーテキスト検索装置
US10162802B1 (en) Systems and methods for syndicating and hosting customized news content
US7024405B2 (en) Method and apparatus for improved internet searching
JP2004054631A (ja) 情報検索システム、情報検索方法、html文書の構造解析方法及びプログラム
JP2001519952A (ja) データ要約装置
WO1997049048A1 (en) Hypertext document retrieval system and method

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination