KR100756421B1 - 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법 - Google Patents

해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법 Download PDF

Info

Publication number
KR100756421B1
KR100756421B1 KR1020040114698A KR20040114698A KR100756421B1 KR 100756421 B1 KR100756421 B1 KR 100756421B1 KR 1020040114698 A KR1020040114698 A KR 1020040114698A KR 20040114698 A KR20040114698 A KR 20040114698A KR 100756421 B1 KR100756421 B1 KR 100756421B1
Authority
KR
South Korea
Prior art keywords
information
text
site
electronic
bibliographic
Prior art date
Application number
KR1020040114698A
Other languages
English (en)
Other versions
KR20060075798A (ko
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 KR1020040114698A priority Critical patent/KR100756421B1/ko
Publication of KR20060075798A publication Critical patent/KR20060075798A/ko
Application granted granted Critical
Publication of KR100756421B1 publication Critical patent/KR100756421B1/ko

Links

Images

Classifications

    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법에 관한 것으로, 해외 과학기술 전자원문을 획득하기 위해 해당분야의 전문가가 선정한 권위 있고 품질과 신뢰성이 검증된 전자 원문만을 취급하는 특정한 사이트(OA 사이트)를 대상으로 로봇을 통해 전자원문을 수집하게 되며, 수집된 전자원문은 자료 모음에 보관됨과 동시에 파일 변환단계를 거친 후 생성된 텍스트 파일에서 추출한 서지 관련 메타데이터 정보를 기반으로 데이터베이스로 구축하고, 구축된 서지 메타정보를 검색대상으로 일반 웹 검색이 가능하도록 하였다.
이를 구현한 본 발명의 해외 과학기술 전자원문 수집/색인/추출 방법은, 본 발명에 의한 해외 과학기술 전자원문 수집/색인/추출 방법은, (a) 이용자로부터 전자원문 제공 해외 사이트 정보를 입력받는 단계; (b) 상기 사이트 정보를 이용하여 웹 로봇이 전자원문을 수집하는 단계; (c) 상기 수집된 전자원문을 텍스트 정보로 변환하는 단계; (d) 상기 변환된 텍스트 정보가 학술문헌 패턴인지를 판단하여 학술문헌 패턴이면 상기 서지정보 메타데이타를 추출하고, 학술문헌 패턴이 아니면 상기 변환된 텍스트 정보를 폐기하는 단계; (e) 상기 추출된 서지정보 메타데이터의 기사, 타이틀, 저자가 중복되는 지를 판단하여 중복되면 상기 추출된 서지정보 메타데이터를 폐기하고, 중복되지 않으면 키값을 부여하는 단계; 및 (f) 서지정보와 전자원문을 매핑한 후 자료 검사를 한 다음 서지정보를 색인하는 단계;를 더 포함한다.

Description

해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법{OVERSEAS SCIENTIFIC ELECTRONIC PLAIN TEXT COLLECTING/INDEX/EXTRACTION SYSTEM AND METHOD THEREOF}
도 1은 종래 기술에 따른 웹로봇에 의한 전자원문 수집 방법을 설명하기 위한 설명도
도 2는 본 발명에 의한 해외 과학기술 전자원문 수집/색인/추출 시스템의 구성도
도 3은 도 2에 도시된 전자원문 연계 서비스 시스템의 구성도
도 4는 본 발명에 의한 해외 과학기술 전자원문 수집/색인/추출 방법을 나타낸 흐름도
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 전자 원문 연게 서비스 시스템부
110 : 구성 판독기
120 : 사이트 정보 관리 데이터베이스
130 : 사이트 정보 판독기
140 : 로봇 프로세서
142 : 스레드 매니저
150_1∼150_n : 제 1 내지 제 n 스레드
160 : 웹페이지 크롤러
170 : 데이타파일 필터
180 : 데이타베이스 저장기
190 : 전자원문정보 관리 데이터베이스
200 : 로봇 시스템부
230 : 메타 레지스트리(Meta Registry)
240 : 전자원문 리포지터리(Repository)
본 발명은 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법에 관한 것으로, 특히 상대 웹페이지 정보 전체를 가져와 파싱하거나 내용을 콜렉션화 또는 인덱스를 부여하는 웹 검색기나 로봇 방식과 달리 일반적인 내용을 제외한 전자원문 자체만을 수집하여 메타데이터를 구축하는 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법에 관한 것이다.
일반적으로 해외 과학기술 전자원문 서비스 형태는 상용 출판사가 인터넷으로 제공하는 전자원문 서비스, 학회나 대학 등이 자체적으로 인터넷을 통해 전자원 문 서비스, 여러 출판사들의 저널들을 모아 Aggregator(중개자)가 전자원문을 통합 서비스 체제 등이 보편적이다. 그러나 이런 형태의 전자원문 서비스는 저작권이 대형 상용 출판사나 학회에 있기 때문에 이용자는 고비용으로 이용해야 하는 애로가 있고, 일정한 심사를 거친 학술 논문이 페이퍼로 발간된 후 다시 전자원문으로 변환하여 인터넷으로 공개되기까지의 기간이 길어 최신의 자료는 상당한 시간이 흐른 후에나 접하게 된다는 단점이 있다.
이러한 문제점을 보완하기 위해 전 세계적으로 학술 저널의 자유로운 상호유통 및 저비용 내지는 무료이용을 위한 Open Access(OA) 운동이 부다페스트 선언이후 급속히 전개되면서 개념적으로나 기술적으로 많은 발전이 있었다. 현재 운영중인 해외 전자원문 관문 서비스 시스템에 이러한 OA기반 사이트에서 제공되어지는 학술저널들을 효과적으로 적시에 제공하기 위해 본 발명을 착안하였다.
그러면, 첨부된 도면을 참조하여 종래 기술에 대해 설명하고 그 문제점에 대해 설명하기로 한다.
도 1은 종래 기술에 따른 웹로봇에 의한 전자원문 수집 방법을 설명하기 위한 설명도이다.
종래에는 로봇이 전자원문을 수집할 때, 특정 초기 사이트의 전자원문을 수집하고 그 사이트내의 디렉토리 구조를 따라 로봇이 이동하면서 사이트내의 하이퍼링크정보를 이용하여 다음 수집사이트를 결정하고, 다음 사이트에서도 역시 동일한 방법으로 수집해야할 사이트를 결정해서, 더 이상 하이퍼링크가 없을 때까지나 관리자 모드에서 지정된 탐색 조건 또는 깊이(Depth)까지만 동일한 루틴을 반복해 나 간다.
그러나, 도 1과 같은 구성을 갖는 종래의 웹로봇에 의한 전자원문 수집 방법은 수집 대상 사이트를 초기 정보를 제외하고는 로봇이 하이퍼링크에서 스스로 결정해 나감으로써 수집 대상 사이트에 대한 선별이 어려울 뿐만 아니라 수집 사이트 특성에 따른 적절한 제어의 어려움 등이 있고 사이트에 대한 모든 관리를 로봇이 담당하므로 인해 사이트의 개별적인 특징을 반영하지 못하는 단점이 있었다.
또한 기존 웹로봇은 HTML 웹문서의 텍스트를 파싱하여 정보를 수집하고 전자원문 파일을 수집하여 단순히 저장하는 체제로써 수집된 전자원문의 적절한 분류와 전자원문 자체 내용 검색(전문 검색) 및 사용자 서비스에도 한계가 있다.
따라서, 본 발명은 상기 문제점을 해결하기 위하여 이루어진 것으로, 본 발명의 목적은 웹로봇에 의한 특정포맷과 위치의 전자원문을 수집하고, 수집된 특정포맷의 전자원문에서 텍스트 포맷의 정보로 변환하고, 변환된 텍스트 정보에서 특정 메타데이터의 추출이 가능하도록 구현한 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명에 의한 해외 과학기술 전자원문 수집/색인/추출 방법은, (a) 이용자로부터 전자원문 제공 해외 사이트 정보를 입력받는 단계; (b) 상기 사이트 정보를 이용하여 웹 로봇이 전자원문을 수집하는 단계; (c) 상기 수집된 전자원문을 텍스트 정보로 변환하는 단계; (d) 상기 변환된 텍스트 정보가 학술문헌 패턴인지를 판단하여 학술문헌 패턴이면 상기 서지정보 메타데이타를 추출하고, 학술문헌 패턴이 아니면 상기 변환된 텍스트 정보를 폐기하는 단계; (e) 상기 추출된 서지정보 메타데이터의 기사, 타이틀, 저자가 중복되는 지를 판단하여 중복되면 상기 추출된 서지정보 메타데이터를 폐기하고, 중복되지 않으면 키값을 부여하는 단계; 및 (f) 서지정보와 전자원문을 매핑한 후 자료 검사를 한 다음 서지정보를 색인하는 단계;를 더 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명에 의한 해외 과학기술 전자원문 수집/색인/추출 시스템은, 로봇이 동작하는데 필요한 각종 설정정보들을 구성 테이블에 저장하고, 상기 구성 테이블에 저장된 설정정보를 읽어서 로봇 프로세서에 전달하여 로봇이 관리자가 지정한 규칙대로 동작하게끔 하는 구성 판독기; 상기 로봇이 전자원문을 수집할 대상사이트에 대한 정보를 저장한 사이트 정보 테이블에서 각각의 대상 사이트별 정보를 읽어 상기 로봇 프로세서에 전달하는 사이트 정보 판독기; 상기 사이트 정보 판독기에서 전달받은 사이트 정보를 기반으로 해당 사이트에서 전자원문수집작업을 수행하는 로봇 프로세서; 및 상기 사이트 정보 판독기로부터 가져온 하나의 레코드에 대하여 하나의 스레드(thread)를 생성하되, 스레드가 지정된 최대 카운트만큼 이미 생성되어 있으면 하나 이상이 종료할 때까지 기다렸다가 스레드를 생성하는 스레드 매니저;를 포함하며, 상기 스레드는, 사이트 정보에서 지정된 URL을 찾아가서 해당 사이트의 문서를 수집하는 웹페이지 크롤러(WebPage Crawler); 상기 웹페이지 크롤러가 가져온 데이터에서 텍스트 정보를 추출하기 위해 필터를 이용하여 필터링하는 데이터파일 필터; 및 상기 데이터파일 필터에 의해서 걸러진 데이터를 테이블에 저장하는 데이터베이스 저장기;를 포함하는 것을 특징으로 한다.
여기서, 상기 스레드는, 개별 사이트에 대하여 전자원문을 수집하고 원문정보를 추출해 내며, 이를 로컬 저장공간과 데이터베이스에 저장하는 프로세서인 것을 특징으로 한다.
이하, 본 발명에 의한 실시예는 첨부된 도면을 참조하여 더욱 상세하게 설명한다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
도 2는 본 발명에 의한 해외 과학기술 전자원문 수집/색인/추출 시스템의 구성도로서, 전자원문 연계 서비스 시스템부(100)와 로봇 시스템부(200)로 구성된다.
상기 전자원문 연계 서비스 시스템부(100)는 국내 이용자에게 해외 전자원문을 인터넷으로 쉽게 접근 및 활용할 수 있도록 OpenUrl 방식을 적용한 링킹(Linking) 시스템과 이용자의 제어권 확보 및 이용자 이용 과금을 위한 리다이렉션 (Re-direction) 시스템을 개발하여 유·무상 해외 전자원문을 서비스하는 시스템이다.
세계적으로 대형 상업출판사의 저작권 독점 방지와 저작물의 자유로운 상호유통을 위한 OA 운동이 급속하게 전개되면서 학술 관련 무료 전자원문에 대한 관심과 함께 서비스하는 사이트가 많아지고, 이용자 대부분도 전자원문을 무료로 이용하고자 함에 따라 현재 운영중인 '전자원문 연계 서비스 시스템'에서도 도 1과 같이 누구나 접근 및 이용이 가능한 OA 사이트에서 무료 전자원문을 로봇으로 수집하여 이용자에게 제공하고자 한다.
도 3은 도 2에 도시된 전자원문 연계 서비스 시스템부(100)의 구성도이다.
상기 전자원문 연계 서비스 시스템부(100)는 도 3에 도시된 바와 같이, 구성 판독기(Configuration Reader)(110), 사이트 정보 관리 데이터베이스(120), 사이트 정보 판독기(Site Information Reader)(130), 로봇 프로세서(Robot Processor)(140), 스레드 매니저(Thread Manager)(142), 제 1 내지 제 n 스레드(150_1∼150_n), 웹 페이지 크롤러(WebPage Crawler)(160), 데이타파일 필터(DataFile Filter)(170), 데이타베이스 저장기(Database Storer)(180), 전자원문정보 관리 데이터베이스(190)를 포함하여 구성한다.
상기 구성 판독기(110)는 로봇이 동작하는데 필요한 각종 설정정보들을 구성 테이블(Configuration Table)에 저장한다. 상기 구성 판독기(110)는 상기 구성 테이블에 저장된 설정정보를 읽어서 상기 로봇 프로세서(140)에 전달함으로서 로봇이 관리자가 지정한 규칙대로 동작하게끔 한다.
여기서, 구성(Configuration)은 로봇이 동작하는데 필요한 모든 설정이며 이는 config_info 테이블에 저장된다. 이러한 설정에는 아래와 같다.
create table config_info (
logfile varchar2(1024),
utilpath varchar2(1024),
updateintv number(8),
threadcnt number(3),
msglevel number(3),
robottxt char,
sleepintv number(3),
gathered varchar2(1024),
converted varchar2(1024),
extracted varchar2(1024),
kristal char,
fileexts varchar2(128),
depth number(2) );
여기서,
- logfile : 로그 파일(Log file)명
- utilpath : 유틸리티 경로(utility path)로서 Peftotext와 ps2ascii와 같 은 텍스트 추출 프로그램이 포함되어 있는 디렉토리 경로이다.
- updateintv : 특정 사이트가 업데이트(update)되어야 하는 인터벌(interval)로서, 각 site_info의 updateintv의 값이 세팅되어 있지 않으면 config_info의 updateintv 값을 디폴트(default)로 사용한다.
- threadcnt : 로봇을 실행하기 위해 생성할 스레드(thread) 갯수이다. 하나의 스레드(thread)가 하나의 사이트에 대해서 문서를 수집하므로 실질적으로 동시에 수집하는 사이트의 수가 된다. 최대값(Maximum value)는 10이다.
- msglevel : 로그를 남길 메세지 레벨(messeage level)
- '0' : fatal message
- '1' : fatal + warning message
- '2' : verbose mode 로 로그를 남긴다.
- robottxt : robot.txt 를 따를 지 여부
- 'N': robot.txt를 따르지 않는다.
- 'Y': robot.txt를 따른다.
- sleepintv : 슬리프 인터발(sleep interval)이다. 이 값이 N 이라고 세팅되어 있다면 일정 데이터를 가져 온 후 N 배만큼 쉬고 다시 수집한다.
- gathered : 문서 수집 디렉토리
- converted : 문서 변환 디렉토리, 구조는 gathered와 동일하며 변환된 데이터는 .txt가 확장자로 붙은 파일에 저장된다.
- extracted : 문서 추출 디렉토리, 구조는 gathered와 동일하며 추출된 데 이터는 .met가 확장자로 붙은 파일에 저장된다.
- kristal : Kristal 적재 정책(*Kristal은 일반 검색엔진)
- 'N' : kristal_info 테이블에 데이터를 적재하지 않는다.
- 'Y' : kristal_info 테이블에 insert, update 된 데이터를 적재한다.
- fileext : 수집할 문서의 확장자로서 site_info 테이블의 fileext 값이 없을 경우 이 값이 디폴트로 사용된다.
- depth : 수집할 깊이(depth)로서, site_info 테이블의 깊이(depth) 값이 세팅되어 있지 않을 경우 이 값이 사용된다. 0의 은 제한이 없음을 나타낸다. 예를 들어 http://www.cmu.edu/aaa/bbb/ccc.pdf는 깊이(depth) 3이다.
상기 사이트 정보 판독기(130)는 로봇이 전자원문을 수집할 대상사이트에 대한 정보를 저장한 상기 사이트 정보 관리 데이터베이스(120)에서 각각의 대상 사이트별 정보를 읽어 상기 로봇 프로세서(140)에 전달하는 역할을 한다. 이때, 상기 로봇 프로세서(140)는 상기 사이트 정보 판독기(130)에서 전달받은 사이트 정보를 기반으로 해당 사이트에서 전자원문수집작업을 수행하게 된다.
상기 사이트 정보 판독기(130)는 SITE_INFO 테이블로부터 하나씩 레코드를 읽어 온다. 각각의 레코드는 스레드 매니저(Thread Manager)가 스레드(Thread)를 만들어 크롤링(crawling)을 하는데 사용된다.
→ 사이트 정보 판독기(130)는 로봇 프로세서(140)가 핸들을 가진다.
→ 로봇 프로세서(140)가 사이트 정보 판독기(130)를 필요에 의해서 부른다.
→ 사이트 정보 판독기(130)는 한번에 하나의 사이트에 대한 정보를 넘겨준다.
→ 사이트 정보 판독기(130)는 필요에 의해(configuration 등에 의해) 앞선 시도에서 실패한 사이트 혹은 앞선 시도 후 일정한 시간이 흐른 사이트의 정보만 가져올 수 있는 능력을 가져야 한다.
SITE_INFO table은 아래와 같다.
create table site_info (
siteid number(8) primary key,
name varchar(256),
url varchar2(700) not null,
includedirs varchar2(64),
fileexts varchar2(128),
domains varchar2(1024),
lasttime date,
success char,
updateintv number(8),
robottxt char,
netspeed number(8),
sleepintv number(8),
activity char,
crawlflag char,
id varchar2(32),
password varchar2(32),
depth number(2),
patterntype char,
totaldocs number(8),
docsrank number(8),
recentdocs number(8),
convertrate number(8),
convertraterank number(8),
extractrate number(8),
extractraterank number(8),
urgentupdate char );
여기서,
- siteid : 사이트의 고유 번호로써 1부터 시작해야 한다.
- name : 사이트명
- url : 사이트의 시작 URL이다.
- includedirs : 수집되는 URL의 ',' 로 구분된 디렉토리 리스트이다. 예를 들어 www.host1.com에서 www.host1.com/dir1/ 과 www.host1.com/dir2/ 디렉토리 내의 문서만 수집하고 싶다면 includedirs의 값은 "dir1,dir2" 가 된다.
- fileexts : 수집되는 URL의 ',' 로 구분된 파일 extension 리스트이다. 예를 들어 www.host1.com에서 html, ps, pdf 파일만 수집하려고 한다면 fileexts는 "html,ps,pdf"이다.
- domains : 초기 URL의 호스트 외에 수집 가능한 host 리스트이다. 예를 들어 시작 URL이 www.host1.com/index.html이고 , 그 외에 www.host2.com과 www.host3.com의 문서도 수집하고자 한다면 domains의 값은 "www.host2.com,www.host3.com" 이 된다. www.host1.com은 기본적으로 포함된다.
- lasttime : 마지막으로 사이트의 문서가 수집된 시간으로써 로봇에 의해서 쓰여지고 사용되는 값이다.
- success : 사이트의 마지막 문서 수집의 성공 여부로서 로봇에 의해 Tm여지고 사용되는 값이다.
- 'S' : Success
- 'F' : Fail
- updateintv : site의 update interval로써 이 값이 세팅되어 있지 않을 경우 config_info 의 updateintv 값이 사용된다.
- robottxt : 사이트의 robot.txt가 이 inetwalker를 block하고 있는 지 여부. 로봇에 의해 갱신된다.
- 'Y' : 대상 사이트가 inetwalker의 crawling을 거부
- 'N' : 대상 사이트가 inetwalker의 crawling을 거부하지 않음.
- neetspeed : 대상사이트의 네트워크 속도. 단위는 bytes/microsecond
- sleepintv : sleep interval. 이 값이 N이라고 세팅되어 있다면 일정 데이터를 가져 온 후 N배만큼 쉬고 다시 수집한다.
- activity : 사이트의 활성화 여부. robot이 update
- 'A' : Active
- 'I' : Inactive
- crawlflag : 수집여부
- 'E' : Enable, 수집
- 'D' : Disable, 수집하지 않음.
- id : 대상 사이트의 로긴 아이디(login id)
- password : 대상 사이트의 로긴 패스워드(login password)
- depth : 수집할 깊이(depth). 값이 0일 경우 config_info의 깊이(depth) 값이 사용된다. 예를 들어 http://www.cmu.edu/aaa/bbb/ccc.pdf는 depth 3이다.
- patterntype : 사이트 문서의 패턴 유형dnm로 관리자가 설정. 값이 '0'일 경 우는 추출하지 않고 저장
- totaldocs : 대상 사이트에서 수집된 문서 수
- docsrank : 문서 수 순위
- recentdocs : 최근 수집된 문서 수
- convertrate : 문서 변환률
- convertraterank : 문서 변환율 순위
- extractrate : 무서 추출률
- extractraterank : 문서 추출률 순위
- urgentupdate : 특정 사이트에 대해서만 다시 수집하고 패턴이 달라져서 추출을 다시 하고자 할 때에는 이 필드의 값을 'U'(재수집)나 'E'(재추출)로 세팅하고 inetwalker를 urgentupdate 모드로 다시 돌린다.
Urgentupdate 모드는 'inetwalker DB_ 계정 ROBOT_ 계정 urgentupdate'로 실행하는 것이다.
(참고) 'E' 인 경우는 page_info 테이블에서 해당 siteid를 가진 모든 문서들을 지우고 로봇을 실행해야 한다.
상기 로봇 프로세서(140)는 상기 구성 판독기(110)에서 전달받은 정보에 의해서 동작을 시작한다. 또한, 상기 로봇 프로세서(140)는 상기 사이트 정보 판독기(130)에게서 전달받은 개별 사이트에 대한 하나의 레코드(Site Information)에 대하여 하나의 스레드(thread)를 생성하고 실제적인 수집작업을 지시한다. 만약, 스레드가 지정된 최대 카운트(Maximum Count)만큼 이미 생성되어 있으면 하나 이상이 종료할 때까지 기다렸다가 스레드를 생성한다.
상기 로봇 프로세서(140)는 상기 사이트 정보 판독기(130)로 부터 가져온 하나의 레코드(Site Information)에 대하여 하나의 스레드(thread)를 생성한다. 만약 스레드(Thread)가 지정된 최대 카운트(Maximum Count)만큼 이미 생성되어 있으면 하나 이상이 종료할 때까지 기다렸다가 스레드(Thread)를 생성한다.
이때, 각 스레드(Thread)는 하나의 사이트(Site)에 대하여 문서를 수집하며, 각 스레드(Thread)는 각 사이트 접속에 대해서 서로 다른 스레드에게 영향을 미치지 않아야 한다.
상기 제 1 내지 제 n 스레드(150_1∼150_n)는 개별 사이트에 대하여 전자원문을 수집하고 원문정보를 추출해 내며, 이를 로컬 저장공간과 데이터베이스에 저장하는 실질적인 프로세서이다. 각 스레드는 웹페이지 크롤러(WebPage Crawler)(160), 데이터파일 필터(DataFile Filter)(170), 데이터베이스 저장기(Database Storer)(180)로 구성된다.
여기서, 상기 웹페이지 크롤러(160)는 사이트 정보에서 지정된 URL을 찾아가서 해당 사이트의 문서를 수집해 온다. 이는 일반 로봇 기능과 동일하다. 상기 웹페이지 크롤러(160)는 INCLUDEDIRS, FILEEXTS, DOMAINS의 정보를 가지고 실질적으로 어떠한 문서들을 가져와야 하는 지를 결정한다. 수집된 문서는 웹로봇이 위치한 서버의 로컬 저장공간에 임시로 저장하며, 사용자의 지시에 따라서 리포지토리(Repository)로 이동한다.
상기 웹페이지 크롤러(160)의 소스는 wget을 사용한다.
- wget이 thread-safe 하도록 수정 필요(configuration 변수 등 전역 변수의 Parameter화 : 모든 전역 변수 제거).
- wget 1.9.1 사용 됨.
또한, 상기 데이타파일 필터(170)는 상기 웹페이지 크롤러(160)가 가져온 데이터에서 텍스트 정보를 추출하기 위해 필터를 이용하여 필터링(Filtering)을 한다. 실제 pdf, ps 형태의 파일에서 텍스트를 추출해내기 위해서 ghostscript와 xpdf 두가지 필터를 사용한다.
- PDF : xpdf 3.0 사용 됨.
- PS : ghostscript 8.14 사용 됨.
- ghostscript와 xpdf를 설치한 후 각각 ps2ascii와 pdftotext라는 text 추출용 어프리케이션(application)들을 C에서 시스템 콜(system call)을 사용하여 커맨드 라인(command line) 버전으로 사용
또한, 상기 데이터베이스 저장기(180)는 상기 데이터파일 필터(170)에 의해서 걸러진 데이터를 PAPER_INFO 테이블에 저장한다. 정보는 원문에 대한 전문(full text)과 해당원문에서 추출해낸 메타정보로 구분하여 각각을 데이터베이스의 해당 항목으로 저장하여, 향후 검색이나 통계에 쓰일 수 있는 정보로 구축된다.
상기 데이터파일 필터(170)에 의해서 걸러진 데이터를 PAPER_INFO table에 저장한다.
데이터베이스(DB) 저장 시,
URL이 신규이면 DB Insert하고 STATUS는 I
SIZE가 다르면 DB Update하고 STATUS는 U
URL이 마지막으로 Update된 날짜가 로봇 시작 시각 전이면서 저장된 URLTIME과 다르다면 DB Update하고STATUS는 U
위의 조건을 만족하지 않고 URL의 DB에서의 status가 D이면 STATUS를 R로 전환
DB에 저장되어 있지만, 수집되지 않은 문서들은 STATUS를 D로 전환
DB 저장 후, STATUS에 따라 검색엔진이 처리를 할 수 있도록 후처리
create table paper_info (
iteid number(8),
url varchar2(700) not null,
urltime date,
docsize number(12),
proctime date,
status char,
title varchar(1024) not null,
author varchar(1024),
keyword varchar(1024),
journal varchar(1024),
abstract varchar(2048),
contentsize number(12),
content long raw,
localurl varchar2(700),
koi varchar2(100),
extracttype char,
titleaccuracy number(8),
authoraccuracy number(8)
);
여기서,
- siteid : 수집된 문서의 사이트 아이디(site id)
- url : 수집된 문서의 URL
- urltime : 수집된 문서가의 웹서버에서 마지막으로 수정된 시각
- docsize : 수집된 문서의 텍스트 추출전의 크기
- proctime : 수집된 문서가 DB에 처리된 시각
- status : 문서의 상태(status)
- 'I' : 삽입(Insert), 문서가 새로 수집된 상태
- 'U' : 업데이트(Update), 문서가 변경된 상태
- 'D' : 데드(Dead), 문서가 삭제되었거나 현재 링크가 유효하지 않은 상태
- 'R' : 리서렉티드(Resurrected), 데드(Dead)로 표시되었던 문서의 링크가 다시 유효한 상태
- 'A' : 얼라이브(Alive), 이전에 수집된 후 문서에 변화가 없는 상태
- title : 문서의 제목
- author : 문서의 저자
- keyword : 문서의 키워드(keyword)
- journal : 문서가 실린 저널(journal)
- abstract : 문서의 초록(abstract)
- contentsize : 문서의 추출된 텍스트의 크기
- content : 수집된 문서로부터 추출된 텍스트
- localurl : 로컬 서버에 저장된 문서를 가리키는 URL
- koi : 고유 식별 체계 KOI(*DOI와 같은 성격)
- extracttype : 패턴타입에 따라 추출되었는지의 여부(패턴타입에 따라 추출었다면 '0', 그렇지 않다면 '0' 이 아닌 다른 값이 수작업에 의해 세팅됨.)
- titleaccuracy : 제목 정확도
- authoraccuracy : 저자 정확도
한편, 상기 스레드(Thread)는 실질적인 문서수집, 필터링, 저장의 역할을 하며, 종료 시 자신이 종료했음을 증거로 남겨 로봇 프로세서(140)가 새로운 스레드를 생성할 수 있게 허용하여 전체 스레드 갯수를 일정하게 유지한다.
도 4는 본 발명에 의한 해외 과학기술 전자원문 수집/색인/추출 방법을 나타 낸 흐름도이다.
먼저, 이용자가 전자원문 제공 해외 사이트를 발굴하여 전자원문이 포함된 사이트 정보를 입력한다(단계 S10).
그 다음, 상기 사이트 목록정보를 이용하여 웹로봇이 전자원문을 수집한다(단계 S20).
그 다음, 상기 수집된 전자원문을 텍스트 정보로 변환한다(단계 S30).
그 다음, 상기 변환된 텍스트 정보가 학술문헌 패턴인지를 판단(단계 S40)하여 학술문헌 패턴이면 다음 단계(S50)로 넘어가고, 학술문헌 패턴이 아니면 상기 변환된 텍스트 정보를 폐기(단계 S110)한다.
그 다음, 상기 단계(S40)에서 상기 변환된 텍스트 정보가 학술문헌 패턴이면 상기 변환된 텍스트 정보에서 필요한 서지정보 메타데이터를 추출한다(단계 S50).
그 다음, 상기 추출된 서지정보 메타데이터의 기사, 타이틀, 저자가 중복되는 지를 판단(단계 S60)하여 중복되면 상기 추출된 서지정보 메타데이터를 폐기(단계 S110)하고, 중복되지 않으면 다음 단계(S70)로 넘어가서 키값을 부여한다(단계 S70).
그 다음, 서지정보와 전자원문간 매핑한다(단계 S80).
그 다음, 자료 검사(단계 S90)를 한 후 서지정보를 색인한다(단계 S100).
이상의 본 발명은 상기에 기술된 실시예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경을 가져올 수 있으며, 이는 첨부된 특허청구범위에서 정의되는 본 발명의 취지와 범위에 포함되는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법에 의하면, 해외 과학기술 전자원문을 획득하기 위해 해당분야의 전문가가 선정한 권위 있고 품질과 신뢰성이 검증된 전자 원문만을 취급하는 특정한 사이트(OA 사이트)를 대상으로 로봇을 통해 전자원문을 수집하게 되며, 수집된 전자원문은 자료 모음(Repository)에 보관됨과 동시에 파일 변환단계를 거친 후 생성된 텍스트 파일에서 추출한 서지 관련 메타데이터 정보를 기반으로 데이터베이스로 구축하고, 구축된 서지 메타정보를 검색대상으로 일반 웹 검색이 가능하게 하였다.
또한, 전자원문을 무료로 이용할 수 있어 대부분의 이용자들이 해외 유명 출판사나 집합단체(Aggregator)의 저널을 고비용으로 이용한 관행을 해결하였고, 이용자 권한이나 등급에 관계없이 누구나 이용할 수 있으므로 학회/협회/대학 자료의 이용제한으로 인한 이용한계를 극복할 수 있다. 또한 OA 자료의 특성상 개인이 직접 등재 하므로 등재절차가 간소화되어 고품질의 최신의 자료를 바로 이용할 수 있는 장점이 있다.

Claims (10)

  1. 해외 과학기술 전자원문 수집/색인/추출 방법에 있어서,
    (a) 이용자로부터 전자원문 제공 해외 사이트 정보를 입력받는 단계;
    (b) 상기 사이트 정보를 이용하여 웹 로봇이 전자원문을 수집하는 단계;
    (c) 상기 수집된 전자원문을 텍스트 정보로 변환하는 단계;
    (d) 상기 변환된 텍스트 정보가 학술문헌 패턴인지를 판단하여 학술문헌 패턴이면 상기 서지정보 메타데이타를 추출하고, 학술문헌 패턴이 아니면 상기 변환된 텍스트 정보를 폐기하는 단계;
    (e) 상기 추출된 서지정보 메타데이터의 기사, 타이틀, 저자가 중복되는 지를 판단하여 중복되면 상기 추출된 서지정보 메타데이터를 폐기하고, 중복되지 않으면 키값을 부여하는 단계; 및
    (f) 서지정보와 전자원문을 매핑한 후 자료 검사를 한 다음 서지정보를 색인하는 단계;를 더 포함하는 것을 특징으로 하는 해외 과학기술 전자원문 수집/색인/추출 방법.
  2. 삭제
  3. 삭제
  4. 해외 과학기술 전자원문 수집/색인/추출 시스템에 있어서,
    로봇이 동작하는데 필요한 각종 설정정보들을 구성 테이블에 저장하고, 상기 구성 테이블에 저장된 설정정보를 읽어서 로봇 프로세서에 전달하여 로봇이 관리자가 지정한 규칙대로 동작하게끔 하는 구성 판독기;
    상기 로봇이 전자원문을 수집할 대상사이트에 대한 정보를 저장한 사이트 정보 테이블에서 각각의 대상 사이트별 정보를 읽어 상기 로봇 프로세서에 전달하는 사이트 정보 판독기;
    상기 사이트 정보 판독기에서 전달받은 사이트 정보를 기반으로 해당 사이트에서 전자원문수집작업을 수행하는 로봇 프로세서; 및
    상기 사이트 정보 판독기로부터 가져온 하나의 레코드에 대하여 하나의 스레드(thread)를 생성하되, 스레드가 지정된 최대 카운트만큼 이미 생성되어 있으면 하나 이상이 종료할 때까지 기다렸다가 스레드를 생성하는 스레드 매니저;를 포함하며,
    상기 스레드는:
    사이트 정보에서 지정된 URL을 찾아가서 해당 사이트의 문서를 수집하는 웹페이지 크롤러(WebPage Crawler);
    상기 웹페이지 크롤러가 가져온 데이터에서 텍스트 정보를 추출하기 위해 필터를 이용하여 필터링하는 데이터파일 필터; 및
    상기 데이터파일 필터에 의해서 걸러진 데이터를 테이블에 저장하는 데이터베이스 저장기;를 포함하는 것을 특징으로 하는 해외 과학기술 전자원문 수집/색인/추출 시스템.
  5. 삭제
  6. 제 4 항에 있어서, 상기 스레드는:
    개별 사이트에 대하여 전자원문을 수집하고 원문정보를 추출해 내며, 이를 로컬 저장공간과 데이터베이스에 저장하는 프로세서인 것을 특징으로 하는 해외 과학기술 전자원문 수집/색인/추출 시스템.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020040114698A 2004-12-29 2004-12-29 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법 KR100756421B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040114698A KR100756421B1 (ko) 2004-12-29 2004-12-29 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040114698A KR100756421B1 (ko) 2004-12-29 2004-12-29 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20060075798A KR20060075798A (ko) 2006-07-04
KR100756421B1 true KR100756421B1 (ko) 2007-09-07

Family

ID=37168292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040114698A KR100756421B1 (ko) 2004-12-29 2004-12-29 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100756421B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102577032B1 (ko) 2023-06-01 2023-09-11 사단법인 한국선급 설계 규정 검토를 위한 변수 색인 및 플랫폼 고도화 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100820900B1 (ko) * 2006-09-04 2008-04-11 엔에이치엔(주) 도서의 서지 데이터 및 본문 데이터를 통합하여 도서정보를 생성하는 방법 및 상기 방법을 수행하는 시스템
KR100853022B1 (ko) * 2006-11-27 2008-08-20 주식회사 씽크풀 기사 자동 생성 방법 및 그 장치
KR100856084B1 (ko) * 2006-12-13 2008-09-02 한국과학기술정보연구원 협회정보 데이터베이스 구축을 통한 협회정보 종합관리시스템 및 그 방법
KR20080059713A (ko) * 2006-12-26 2008-07-01 한국과학기술정보연구원 과학기술 정보에 대한 융합 정보 검색 시스템 및 그 방법
KR100980573B1 (ko) * 2007-12-28 2010-09-06 엔에이치엔(주) 게시물 검수 방법 및 시스템
KR101037091B1 (ko) * 2008-10-09 2011-05-26 주식회사 아이네크 자동 언어 번역을 통한 다국어의 전거 표목에 대한 온톨로지 기반 의미 검색 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054312A (ko) 2000-06-01 2000-09-05 최우석 맞춤 웹정보 구축 제공 방법
KR20030017267A (ko) 2001-08-24 2003-03-03 (주) 시온텍 문서 자동저장 시스템을 이용한 데이터베이스 구축 방법
KR20050032128A (ko) 2003-07-16 2005-04-07 이응렬 네트워크를 기반으로 하는 문서수집/전송 시스템 및 방법
KR100526438B1 (ko) * 2003-03-11 2005-11-08 메디서프 주식회사 저널 정보 제공시스템 및 그 제공방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054312A (ko) 2000-06-01 2000-09-05 최우석 맞춤 웹정보 구축 제공 방법
KR20030017267A (ko) 2001-08-24 2003-03-03 (주) 시온텍 문서 자동저장 시스템을 이용한 데이터베이스 구축 방법
KR100526438B1 (ko) * 2003-03-11 2005-11-08 메디서프 주식회사 저널 정보 제공시스템 및 그 제공방법
KR20050032128A (ko) 2003-07-16 2005-04-07 이응렬 네트워크를 기반으로 하는 문서수집/전송 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102577032B1 (ko) 2023-06-01 2023-09-11 사단법인 한국선급 설계 규정 검토를 위한 변수 색인 및 플랫폼 고도화 시스템

Also Published As

Publication number Publication date
KR20060075798A (ko) 2006-07-04

Similar Documents

Publication Publication Date Title
US6199081B1 (en) Automatic tagging of documents and exclusion by content
US8812478B1 (en) Distributed crawling of hyperlinked documents
Bowman et al. Harvest: A scalable, customizable discovery and access system
JP5656563B2 (ja) 文書管理システム、文書管理システムの制御方法、プログラム
Bharat SearchPad: Explicit capture of search context to support web search
CN106484828B (zh) 一种分布式互联网数据快速采集系统及采集方法
US5892908A (en) Method of extracting network information
US7529778B1 (en) System and method for providing access to consistent point-in-time file versions
US6952730B1 (en) System and method for efficient filtering of data set addresses in a web crawler
Cohen et al. A short walk in the Blogistan
CN101194255A (zh) 扩展分类索引以及分类文档的检索
CN103258017B (zh) 一种并行的垂直交叉网络数据采集方法及系统
JP2007527074A (ja) ファイルシステム内での効率的なファイルコンテンツをサーチするためのシステム及び方法
CN101211340A (zh) 基于客户端/服务端结构的动态网络爬行器
EP1069515A1 (en) Method and apparatus for web information extraction service
KR100756421B1 (ko) 해외 과학기술 전자원문 수집/색인/추출 시스템 및 그 방법
Peshave et al. How search engines work: And a web crawler application
Jin Research on data retrieval and analysis system based on Baidu reptile technology in big data era
Thelwall A publicly accessible database of UK university website links and a discussion of the need for human intervention in web crawling
JP4253315B2 (ja) 知識情報収集システムおよび知識情報収集方法
JP4513437B2 (ja) 木構造情報作成のためのプログラム及び装置
JP3725087B2 (ja) 知識情報収集システムおよび知識情報収集方法
US7502773B1 (en) System and method facilitating page indexing employing reference information
JP3708893B2 (ja) 知識情報収集システムおよび知識情報収集方法
JP3725837B2 (ja) 知識情報収集システムおよび知識情報収集方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120712

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee