KR20100104982A - 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체 - Google Patents

부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체 Download PDF

Info

Publication number
KR20100104982A
KR20100104982A KR1020090023750A KR20090023750A KR20100104982A KR 20100104982 A KR20100104982 A KR 20100104982A KR 1020090023750 A KR1020090023750 A KR 1020090023750A KR 20090023750 A KR20090023750 A KR 20090023750A KR 20100104982 A KR20100104982 A KR 20100104982A
Authority
KR
South Korea
Prior art keywords
match
query
partial
path
web page
Prior art date
Application number
KR1020090023750A
Other languages
English (en)
Other versions
KR101045481B1 (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 KR1020090023750A priority Critical patent/KR101045481B1/ko
Publication of KR20100104982A publication Critical patent/KR20100104982A/ko
Application granted granted Critical
Publication of KR101045481B1 publication Critical patent/KR101045481B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체에 관한 것으로, 웹 페이지의 HTML 트리에서 루트로부터 추출 데이터까지의 경로가 절대 경로에 대하여 부분매치(match)되는 다수의 선형 부분매치 질의(Linear Partial Match Query)를 산출하는 제 1 산출단계와; 상기 산출된 각 선형 부분매치 질의에 대하여 해당 매치의 정렬된 원소가 다른 매치의 정렬된 원소보다 크거나 같은 최소 매치를 산출하는 제 2 산출단계와; 상기 최소 매치를 갖는 다수의 선형 부분매치 질의 중에서 해당 최소 매치의 정렬된 원소가 다른 최소 매치의 정렬된 원소보다 크거나 같은 부분매치 질의를 견고한 선형 부분매치 질의로 판단하는 판단 단계와; 상기 판단 결과에 따른 선형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출하는 추출 단계;를 포함하는 것을 특징으로 한다. 상기와 같은 구성에 의해 본 발명은 자바 패키지 또는 jar파일 형태로 제공되어 언어에 관계없이 웹의 변화에도 견고하게 데이터를 추출할 수 있는 효과가 있다.
부분 매칭, 선형, 가지형, 매쉬업, 데이터추출

Description

부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체{Method and program recording medium for extracting data of web page using partial matching Xpath}
본 발명은 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체에 관한 것으로, 특히, 웹 환경에서 매쉬업 응용을 위한 방법 중의 하나로서, 특정한 웹 페이지에 대한 추출 메커니즘, 그 정보를 기술하는 표기법, 그 표기법에 의해 웹 내용의 변화에도 사용자가 필요로 하는 정보를 견고하게(robust) 추출할 수 있는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체에 관한 것이다.
일반적으로 Web 2.0은 차세대 인터넷 기반 응용들의 집합을 의미한다. Web 2.0의 중요한 특징은 여러 가지 정보들을 다루는 응용들과 밀접한 연관을 가지고 있다는 것이며, 대표적인 응용 기술로서는 위키(wiki), RSS(Remote Switching System), 블로그(blog), AJAX, 매쉬업(Mashup)등이 있다.
또한, Web 2.0는 엔터프라이즈에서 상황적 응용(situational application)들의 집합을 의미하는데, 상황적 응용이란 기업체의 조직이나 관계들이 변화하는 상 황에 맞추어 요구되는 응용들을 의미한다. 이러한 응용들은 스크래치부터 새로이 개발되는 것이 아니라, 기업체 내에 이미 존재하는 응용들을 빠르게 조합함으로써 개발될 수 있는 특징을 가진다.
한편, 매쉬업은 Web 2.0에서의 상황 응용들을 쉽고 빠르게 개발할 수 있는 기반 기술로서 이미 존재하는 여러 개의 응용이나 데이터들을 하나로 통합한 응용을 나타낸다. 이질적인 웹 데이터의 통합에 대한 욕구가 증가하면서 매쉬업에 대한 필요성이 증가하고 있다. 이러한 매쉬업의 대표적인 예는 부동산 정보 사이트와 구글 맵 API를 사용한 매쉬업인 하우징맵(HousingMaps)이 있다.
이와 같은 통합된 응용을 위해서는 각각의 데이터를 추출하는 메커니즘이 핵심기술이며 다음과 같은 점을 고려해야한다.
첫째, 각 웹페이지는 고유의 특성들을 지니고 있어 웹사이트의 통합은 많은 시간이 소요되는 작업이다. 예를 들면, 하우징 맵 사이트의 소스가 된 부동산 정보 사이트에서는 웹 사이트의 자료 교환과 배급을 위한 표준 규격으로 RSS를 이용하여 데이터에 대한 접근 방법을 제공하고 있다. 이러한 RSS와 같은 데이터 접근 방법을 제공하는 웹사이트가 증가하고 있으나 아직은 대부분의 웹사이트에서는 이러한 메커니즘을 제공하고 있지 않다.
둘째, 웹페이지는 자주 바뀌는 경향이 있다. 따라서, 추출 메커니즘이 웹 데이터의 고정 위치에 대해 접근한다면 웹페이지의 레이아웃이 바뀌는 사소한 변화에도 데이터 추출이 곤란해진다.
한편, 웹 데이터 추출에 대한 연구는 최근까지 활발하게 이루어져 왔으며, 웹 데이터 추출에 대한 여러 가지 접근 방법들이 있었다. 이러한 방법들을 사용하면서 웹에서 데이터를 자동적으로 추출하는 방법 또한 활발히 연구되어 왔다.
그러나, 종래의 웹 데이터 추출 방법은 웹의 작은 변화에도 견고하게 추출되지 못하는 문제점이 있다.
또한, 사용자가 웹 브라우저와 상호작용하여 쉽고 간편하게 원하는 추출 데이터를 기술하는 것이 중요한데, 종래의 방법에서는 자연어 표현을 이용하여 텍스트를 매칭하여 웹 데이터를 추출하는 경우 JavaScript 내에서의 별도의 프로그래밍이 요구는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 데이터 추출 프레임워크의 언어에 관계없이 웹의 변화에도 견고하게 데이터를 추출할 수 있는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체를 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명은 웹 페이지의 HTML 트리에서 루트로부터 추출 데이터까지의 경로가 절대 경로에 대하여 부분매치(match)되는 다수의 선형 부분매치 질의(Linear Partial Match Query)를 산출하는 제 1 산출단계와; 상기 산출된 각 선형 부분매치 질의에 대하여 해당 매치의 정렬된 원소가 다른 매치의 정렬된 원소보다 크거나 같은 최소 매치를 산출하는 제 2 산출단계와; 상기 최소 매치를 갖는 다수의 선형 부분매치 질의 중에서 해당 최소 매치의 정렬된 원소가 다른 최소 매치의 정렬된 원소보다 크거나 같은 부분매치 질의를 견고한 선형 부분매치 질의로 판단하는 판단 단계와; 상기 판단 결과에 따른 선형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출하는 추출 단계;를 포함하는 것을 특징으로 한다.
바람직하게는 상기 루트로부터 추출 데이터까지의 경로는 하기의 식으로 정의된 선형 경로 질의이고,
Figure 112009016824240-PAT00001
여기서, l1은 트리의 루트, li는 경로의 i번째 노드의 인덱스(i=1,2…n), oj는(j=1,2…n) lj - 1와 lj의 부모-자식 관계를 나타내는 '/' 및 조상-자손 관계를 나타내는 '//'중 하나로 표현될 수 있다.
바람직하게는 상기 제 1 산출 단계는 상기 선형 부분매치 질의 Q(//l'1//l'2/…//l'm)는 상기 절대 경로 P(/l1/l2/…/ln(m<n))에 대하여 l'i=lt (i)를 만족하고 여기서 t(i)는 정렬된 m개의 튜플일 수 있다.
바람직하게는 상기 제 2 산출 단계는 상기 각 선형 부분매치 질의 Q(//l'1//l'2/…//l'm)에 대한 최소 매치 M(i1,i2,…,im)는 모든 다른 매치에 대하여 M'와 M ≥L M'를 만족하고, 여기서, M ≥L M'는 모든 i에 대하여 M[i] ≥ M'[i] 일 수 있다.
바람직하게는 상기 판단 단계는 상기 어느 하나의 선형 부분매치 질의 Q1(//l'1//l'2/…//l'n)의 최소 매치 M1(i1,i2,…,in)가 상기 다른 선형 부분매치 질의 Q2(//l''1//l''2/…//l''m)의 최소 매치 M2(j1,j2,…,jm)에 대하여 ik ≥ jk를 만족하면 Q1을 견고한 선형 부분매치 질의로 판단하며, 여기서 k는 1≤k≤n 일 수 있다.
본 발명의 다른 양태에 따른 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법은 웹 페이지의 HTML 트리에서 루트로부터 추출 데이터까지의 경로와 조건 데이터까지의 경로가 절대 경로에 대하여 부분매치되는 다수의 가지형 부분매치 질의(Twig Partial Match Query)를 산출하는 제 1 산출 단계와; 상기 산출된 각 가지형 부분매치 질의에 대하여 해당 매치의 정렬된 원소가 다른 매치의 정렬된 원소보다 크거나 같은 최소 매치를 산출하는 제 2 산출단계와; 상기 최소 매치를 갖는 다수의 가지형 부분매치 질의 중에서 해당 최소 매치의 정렬된 원소가 다른 최소 매치의 정렬된 원소보다 크거나 같은 부분매치 질의를 견고한 가지형 부분매치 질의로 판단하는 판단 단계와; 상기 판단 결과에 따른 가지형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출하는 추출 단계;를 포함하는 것을 특징으로 한다.
바람직하게는 상기 추출 데이터의 선형 경로 질의가 만족해야 하는 조건 데이터에 대한 술어(predicate)가 부가된 가지형 경로 질의는 하기의 식으로 표현하고,
Figure 112009016824240-PAT00002
여기서, l1은 트리의 루트, li는 경로의 i번째 노드의 인덱스(i=1,2…n), oj는(j=1,2…n) lj - 1와 lj의 부모-자식 관계를 나타내는 '/' 및 조상-자손 관계를 나타내는 '//'중 하나로 표현되고, pi는 i번 째 노드의 자식 노드 또는 자손 노드가 만족하는 술어, ?는 노드의 술어가 0개 또는 1개임을 의미하는 것일 수 있다.
바람직하게는 상기 제 1 산출 단계는 상기 가지형 부분매치 질의 Q(//l'1p'1?//l'2p'2?/…//l'np'n?)는 상기 절대 경로 P(/l1/l2/…/ln(m<n))에 대하여 l'i=lt(i)를 만족하고 여기서 t(i)는 정렬된 m개의 튜플일 수 있다.
바람직하게는 상기 제 2 산출 단계는 상기 각 가지형 부분매치 질의 Q(//l'1p'1?//l'2p'2?/…//l'np'n?)에 대한 최소 매치 M(i1,i2,…,im)는 모든 다른 매치에 대하여 M'와 M ≥L M'를 만족하고, 여기서, M ≥L M'는 모든 i에 대하여 M[i] ≥ M'[i]일 수 있다.
바람직하게는 상기 판단 단계는 상기 어느 하나의 가지형 부분매치 질의 Q1(//l'1p'1?//l'2p'2?/…//l'np'n?)의 최소 매치 M1(i1,i2,…,in)가 상기 다른 가지형 부분매치 질의 Q2(//l'1p'1?//l'2p'2?/…//l'mp'm?)의 최소 매치 M2(j1,j2,…,jm)에 대하여 ik ≥ jk를 만족하고, Q1의 술어의 최소 매치 PM1(k1,k2,…ka)가 Q2의 술어의 최소 매치 PM2(g1,g2,…gb)에 대하여 kf ≥ gf를 만족하면 Q1을 견고한 가지형 부분매치 질의로 판단하며, 여기서 k는 1≤k≤n, f는 1≤f≤a일 수 있다.
본 발명의 또 다른 양태에 따른 컴퓨터로 읽을 수 있는 기록매체는 상기 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법을 실행하기 위한 프로그램을 기록한 것을 특징으로 한다.
본 발명에 따른 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체는 특정 웹 페이지에서 데이터를 추출하는 가상 릴레이션(Virtual Relation), 특정 웹 페이지에서 추출하고자 하는 정보를 기술하는 표기법, 견고하게 정보를 기술하게 해주는 알고리즘, 가지형 경로 질의(Twig Path Query)를 처리하기 위한 새로운 자료구조 및 알고리즘에 의해 자바 패키지 또는 jar파일 형태로 제공되어 언어에 관계없이 웹의 변화에도 견고하게 데이터를 추출할 수 있는 효과가 있다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
본 발명 특정 웹 페이지에서 추출하는 메커니즘인 가상 릴레이션, 특정 웹 페이지에서 추출하고자 하는 정보를 기술하는 표기법, 가장 견고하게 정보를 기술하게 해주는 알고리즘, 가지형 경로 질의를 처리하기 위해서 새로운 자료구조 및 알고리즘을 제안한다.
도 1은 본 발명의 실시예에 따른 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법의 선형 부분매치 질의 산출 방법을 나타낸 순서도이다.
본 발명의 실시예에 따른 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법은 웹 페이지의 HTML 트리에서 루트로부터 추출 데이터까지의 경로가 절대 경로에 대하여 부분매치(match)되는 다수의 선형 부분매치 질의를 산출하는 제 1 산출단 계(단계 S101)와, 상기 산출된 각 선형 부분매치 질의에 대하여 해당 매치의 정렬된 원소가 다른 매치의 정렬된 원소보다 크거나 같은 최소 매치를 산출하는 제 2 산출단계(단계 S102)와, 상기 최소 매치를 갖는 다수의 선형 부분매치 질의 중에서 해당 최소 매치의 정렬된 원소가 다른 최소 매치의 정렬된 원소보다 크거나 같은 부분매치 질의를 견고한 선형 부분매치 질의로 판단하는 판단 단계(단계 S103)와, 상기 판단 결과에 따른 선형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출하는 추출 단계(단계 S104)를 포함한다.
도 2는 본 발명의 실시예에 따른 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법의 가지형 부분매치 질의 산출 방법을 나타낸 순서도이다.
본 발명의 실시예에 따른 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법은 웹 페이지의 HTML 트리에서 루트로부터 추출 데이터까지의 경로와 조건 데이터까지의 경로가 절대 경로에 대하여 부분매치되는 다수의 가지형 부분매치 질의를 산출하는 제 1 산출 단계(단계 S201)와, 상기 산출된 각 가지형 부분매치 질의에 대하여 해당 매치의 정렬된 원소가 다른 매치의 정렬된 원소보다 크거나 같은 최소 매치를 산출하는 제 2 산출단계와(단계 S202), 상기 최소 매치를 갖는 다수의 가지형 부분매치 질의 중에서 해당 최소 매치의 정렬된 원소가 다른 최소 매치의 정렬된 원소보다 크거나 같은 부분매치 질의를 견고한 가지형 부분매치 질의로 판단하는 판단 단계(단계 S203)와, 상기 판단 결과에 따른 가지형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출하는 추출 단계(단계 S204)를 포함한다.
도 3은 본 발명의 실시예에 따른 부분 매칭을 이용한 웹페이지의 데이터 추 출 방법이 적용된 가상 릴레이션의 구조를 나타낸 블록도이다.
가상 릴레이션 구조(10)는 특정 웹 페이지에서 데이터를 추출하는 메커니즘으로 사용자가 필요로 하는 정보(추출 데이터)를 기술한 VR맵을 해석하여 동적으로 웹페이지를 가상의 릴레이션으로 맵핑하는데, 도 3에 도시된 바와 같이, 주어진 URL에 대한 HTML 웹 페이지를 정형화된 형태(well-formed)로 추출하는 웹 추출부(110)와 정형화된 HTML 페이지에 VR맵을 적용하여 실제 데이터를 추출하는 VR맵 평가부(120)를 포함한다.
웹 추출부(110)는 입력받은 URL에 대한 HTML 페이지를 검색하는 검색부(Retriever)(112)와, 검색된 HTML 페이지를 정형화된 xhtml(eXtensible HTML) 페이지로 정화하는 정화부(Cleanser)(114)를 포함한다.
VR맵 평가부(120)는 입력받은 VR맵 룰 파일의 VR맵 룰들을 파싱하는 파서부(VRMap Parser)(122)와, 웹 추출부(110)로부터 정형화된 HTML 페이지와 파서부(122)로부터 파싱된 VR맵 룰들을 입력받아 VR맵 룰의 XPath를 정형화된 HTML 페이지에 적용하여 데이터를 추출하는 XPath 평가부(124)와, XPath 평가부(124)로부터 수신된 추출 데이터에 추가적으로 정류표현(Regular Expression)을 적용하여 추출 데이터를 릴레이션 형태로 변환하는 정규표현 평가부(126)를 포함한다.
도 4는 웹페이지의 데이터를 릴레이션으로 변환하는 예를 나타낸 도면이다.
도 4에 도시된 바와 같이, 하나의 웹 페이지에서 해당 데이터들을 추출하여 릴레이션 형태로 변환하는데, 하나의 웹 페이지는 단일 릴레이션으로 맵핑되며, 웹 페이지 내에 있는 데이터는 애트리뷰트(attribute)에 대한 튜플(tuple)로 맵핑된 다.
여기서, 웹 페이지에 대한 추출 데이터는 브라우저를 통해서 시각적으로 지각할(visible) 수 있는 텍스트 또는 URL, 이미지로서 HTML 태그로 구분 가능한 단위에 해당한다. 즉, HTML의 원소(element)의 텍스트 또는 애트리뷰트의 값(value)에 해당한다. HTML 웹페이지를 XML문서의 특별한 케이스로 간주하여 HTML 웹페이지는 HTML 태그들을 XML노드들로 맵핑하여 XML문서와 같이 루트를 가지고, 순서가 있으며, 라벨이 붙여진 트리로 간주한다. 이러한 트리의 모든 노드는 XML 문서의 강력한(powerful) 질의 언어인 XPath 표현(Expressions)으로 접근 가능하게 되어, 웹페이지 내에 어떤 값들도 추출할 수 있게 된다.
도 5는 HTML 트리에서 XPath 적용예를 설명하기 위한 도면이다.
도 5에 도시된 바와 같이, XPath를 통하여 텍스트 값에 접근한 후에, 사용자 입장에서는 추가적인 처리가 필요할 경우가 있다. 예를 들어, 텍스트 데이터 안에 불필요한 공백을 제거한다거나 의미적으로 가장 적합한 데이터를 가져올 필요가 있는 경우가 있다. 이러한 필요성을 처리하기 위해서 가상 릴레이션은 XPath로 접근한 웹 데이터에 대하여 정규표현을 적용할 수 있도록 한다.
이와 같은 가상 릴레이션의 기능을 기술할 수 있는 간결(simple)하면서도 강력한 맵핑 언어인 VR맵은 XPath와 정규표현을 기반으로 하여 XML문서와 비구조 문서를 처리한다. 이는 특정 웹 페이지에서 추출하고자 하는 정보를 기술하는 표기법에 해당한다.
VR맵의 문법은 하기와 같다.
ATTR_NAME("[i]")? = XPATH_EXP("."(REG_EXP))?
여기서, ATTR_NAME는 애트리뷰트 이름, XPATH_EXP는 XPath 표현, REG_EXP는 정규 표현이다.
이와 같은 VR맵 문법은 등호를 기준으로 왼편은 가상 릴레이션의 애트리뷰트에 해당하며, 오른편은 웹 페이지에서 데이터의 접근 방법에 해당한다. 웹 페이지에서 튜플 집합을 추출하고자 할 때는 룰의 왼편에서 인덱스 변수(i)를 사용하여 VR맵을 확장할 수 있다.
VR맵의 예로서 XPath로 접근한 데이터에 대해 정규표현을 적용한 예는 아래와 같다.
Accession=//TR[..//text()="Accession"]//TD[2]/tex().regex("number is (NM_[\d+])")
예를 들면, 도 4에서 //TR[..//text()="Accession"]//TD[2]/tex()는 NM_000052, regex("number is (NM_[\d+]")는 "number is NM_000052" 이다.
본 발명은 특정한 웹 페이지에서 사용자가 필요로 하는 정보를 기술할 때, 가장 견고하게 정보를 기술하게 해주는 알고리즘이다.
먼저, HTML 웹페이지에 대한 경로 질의를 선형 경로 질의와 가지형 경로 질의로 모델링한다.
선형 경로 질의는 HTML 트리에서 루트에서 추출 데이터를 텍스트로 가지는 노드까지의 경로를 기술하는 질의로서, 이를 통하여 HTML 트리에서 루트 노드부터 시작하여 기술하는 절대 경로(Absolute Path)와 기준 노드부터 시작하는 상대 경로 를 기술한다.
이러한 선형 경로 질의는
Figure 112009016824240-PAT00003
로 정의되며, 여기서, l1은 트리의 루트, li는 경로의 i번째 노드의 인덱스(i=1,2…n), oj는(j=1,2…n) lj -1와 lj의 부모-자식(parent-child relationship) 관계를 나타내는 '/' 및 조상-자손 관계(ancestor-descendent relationship)를 나타내는 '//'중 하나로 표현된다.
또한, 후술하는 바와 같이, 가지형 경로 질의는 추출 데이터의 선형 경로 질의가 만족해야 하는 조건 데이터에 대한 술어(predicate)가 추가된 질의이며, 술어는 선형 경로 질의 노드 레이블 옆에 각괄호 내에 기술되며, 조건 데이터의 선형 경로 질의와 데이터의 일치 여부에 대해 기술한다.
이러한 가지형 경로 질의는
Figure 112009016824240-PAT00004
로 정의되며, 여기서, l1은 트리의 루트, li는 경로의 i번째 노드의 인덱스(i=1,2…n), oj는(j=1,2…n) lj - 1와 lj의 부모-자식 관계를 나타내는 '/' 및 조상-자손 관계를 나타내는 '//'중 하나로 표현되고, pi는 i번째 노드의 자식 노드 또는 자손 노드가 만족하는 술어, ?는 노드의 술어가 0개 또는 1개임을 의미한다.
도 6은 선형 경로 질의와 가지형 경로 질의의 예를 도시한 도면이다.
도 6에 도시된 바와 같이, 선형 경로 질의인 "//issue//arthor/last"와 일치하는 노드는 "Curry"와 "Smith"이고, 가지형 경로 질의인 "//issue[./author/ last="Curry"]//article[./keyword="xml"]"로 접근 가능한 노드를 확인한다.
이하, 정렬된 튜플(Ordered Tuples)은 튜플의 원소(elements)들이 오름차순으로 나타나는 것을 의미하며, 예를 들면, tuple(2,3,5,7)는 원소들이 오름차순으로 나타나므로 정렬된 튜플이라 할 수 있다. 이런 정렬된 튜플들 사이에 부분적으로 일치하는 튜플들에 대해 아래와 정의한다.
즉, 정렬된 튜플에 대한 부분 정렬(Partial Order over Odered Tuples)은 튜플 t1과 t2로 이루어진 임의의 쌍에 대하여, 모든 i에 대해 t1[i] ≥ t2[i]를 만족하면 t1L t2 라고 한다.
견고한 선형 부분매치 질의
이하, 본 발명의 실시예에 따른 선형부분 매칭을 이용한 웹 페이지의 데이터 추출 방법을 구체적으로 설명한다.
먼저, 웹 페이지의 HTML 트리에서 절대 경로에 대하여 부분매치되는 선형 부분매치 질의를 산출한다(단계 S101).
여기서, 정렬된 m개 튜플들인 t에서 모든 i에 대해 l'i = lt [i]를 만족한다면 절대 솔류션 경로 P인 /l1/l2/.../ln(m≤n)에 대해서 선형 부분매칭 질의 Q인 //l'1//l'2//...//l'm과 매치되었다고 한다.
즉, 절대 경로 P에 대하여 l'i=lt (i)를 만족하는 산출된 선형 부분매치 질의 Q를 산출한다.
산출된 각 선형 부분매치 질의에 대하여 최소 매치(Lowest Match)를 산출한다(단계 S102).
여기서, 절대 솔루션 경로 P인 /l1/l2/.../ln(≤n)에 대한 선형 부분매치 질의 Q인 //l'1//l'2//...//l'm의 매치 M(i1, i2,…, im) 중에서 모든 다른 매치 M'에 대해서, M ≥L M'를 만족하면, 이를 최소 매치라 한다.
즉, 선형 부분매치 질의 Q에 대하여 모든 i에 대하여 M[i] ≥ M'[i]를 만족하는 최소 매치 M을 산출한다.
도 7은 최소 매치의 예를 나타낸 도면이다.
도 7에 도시된 바와 같이, 풀 솔루션 경로(Full Solution Path) P로서 "a/b/a/c/b/c"가 도시되고, 산출된 부분매치 질의로서 "//a//b//c"가 있다. 이 부분매치 질의에 의해 풀 솔루션 경로의 매치는 네 가지가 가능하다. 가능한 매치들 중에 루트를 기준으로 매치되는 노드들 중에 인덱스가 다른 매치들보다 크거나 같은 경우를 최소 매치라고 한다.
이와 같은 최소 매치를 갖는 다수의 선형 부분매치 질의 중에서 견고한 선형 부분매치 질의를 판단한다(단계 S103).
여기서, 주어진 절대 솔루션 경로 P에 대해서 다음의 조건을 만족한다면 선형 부분매치 질의 Q1 //l'0//l'1//l'2//...//l'm"는 Q2 //l"0//l"1//l"2//...//l"m 보다 더 견고하다.
P의 Q1에 대한 최소 매치를 M1(i1, i2,…, in)이라 하고, P의 Q2에 대한 최소 매치를 M2(j1, j2,…, jm)이라 하며, 모든 k(1≤k≤n)와 M1과 M2에 대해서, ik ≥ jk를 만족한다.
즉, 어느 하나의 선형 부분매치 질의 Q1의 최소 매치 M1가 다른 선형 부분매치 질의 Q2의 최소 매치 M2에 대하여 ik ≥ jk를 만족하는 선형 부분매치 질의를 견고한 질의로 판단한다.
견고한 선형 부분매치 질의 생성함수
도 8은 선형 부분매치 질의를 생성하기 위한 함수의 예이다.
도 8에서, GenLinearPartialMatchQuery는 정화된 HTML 페이지인 xhtml 문서(L)와 추출 데이터에 대한 Absolute Solution Path(p a )를 입력으로 받고, 출력으로 p a 에 대한 선형 부분매치 질의를 산출한다.
여기서, topADEdgeIndex는 루트를 시작으로 가장 상위의 조상-자손 관계 에지의 인덱스를 의미한다. 이 인덱스는 루트 노드와 연결된 에지의 인덱스로 초기화하여 리프 노드의 에지까지 라인 4의 while문을 수행하게 된다. XPathPrefix에는 현재까지 찾은 부분매치 질의가 저장된다.
라인 4의 while문을 통해 topADEdgeIndex의 루트 에지에서부터 리프 에지까지 수행하면서 가장 견고한 상위 조상-자손 관계 에지를 찾는다. 라인 5에서는 리프 에지를 시작으로 현재의 topADEdgeIndex와 리프 에지 사이에 가장 견고한 조상- 자손 관계 에지를 찾는다.
함수 XPathEvalWithoutDuplicate는 정화된 HTML 페이지인 xhtml 문서(D)와 선형 질의를 문자열 형태로 입력받고 문서 내에서 입력받은 선형 질의와 일치하는 모든 절대 솔루션 경로들만 필터링하여 리스트 형태로 출력한다.
라인 7에서 필터링된 경로의 개수가 하나이면 테스트한 선형 질의는 견고한 질의로 판단하여 topADEdgeIndex를 현재 에지 인덱스로 갱신하고 XPathPrefix도 현재 노드의 레이블을 추가하여 갱신한다.
이와 같이 생성된 선형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출한다(단계 S104).
가지형 경로 질의를 위한 자료 구조
한편, 가지형 경로 질의를 처리하기 위한 새로운 자료구조는 두 가지 종류의 트리로 절대 솔루션 트리(Absolute Solution Tree)와 부분매치 솔루션 트리(Partial Match Solution Tree)이다.
절대 솔루션 트리는 임의의(arbitrary) 루트와 추출 노드, 조건 노드를 포함하는 최소 트리로서 절대 솔루션 경로와 절대 조건 경로(Absolute Condition Path)로 구성된 트리에 임의의 루트가 추가되어 있다.
여기서, 절대 솔루션 트리는 웹 페이지의 HTML 트리에서 루트부터 추출 데이터까지의 선형 경로이며, 절대 조건 경로는 루트에서 조건 데이터까지의 선형 경로를 의미한다.
또한, 추출 노드는 절대 솔루션 경로의 마지막 노드이고, 조건 노드는 절대 조건 경로의 마지막 노드에 해당한다. 여기서 추가적으로 공통 노드를 정의한다. 공통 노드는 절대 솔루션 경로와 절대 조건 경로의의 루트에서 시작하여 가장 마지막으로 동일하게 일치하는 노드를 말한다.
절대 솔루션 경로의 노드는 트리 상에서 왼쪽 자식 노드로 에지와 연결되며 절대 조건 경로의 노드는 오른쪽 자식 노드로 연결된다. 모든 에지(edge)는 부모-자식 관계를 나타내는 실선으로 표현된다.
도 9는 절대 솔루션 트리의 예를 나타낸 도면이다.
도 9에서 절대 솔루션 경로 "/a/b/c/d"와 절대 조건 경로 "/a/f/h"와 "/a/b/c/e"로 구분된 절대 솔루션 트리를 도시한다. 이를 통해서 위에서 정의한 노드들과 트리 구성을 직관적으로 알 수 있다.
도 10은 부분 매치 솔루션 트리의 예를 나타낸 도면이다.
도 10에서 부분매치 솔루션 트리는 에지 타입을 조상-자손 관계로 변경하여 구성되었다. 조상-자손 관계인 에지는 이중선으로 표현되고, 최종적으로 부분매치 솔루션 트리를 통하여 부분매치 질의인 "//a[./f//h]//b/c[.//e]//d"를 산출할 수 있다.
견고한 가지형 부분매칭 질의
이하, 본 발명의 실시예에 따른 가지형 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법을 구체적으로 설명한다.
먼저, 웹 페이지의 HTML 트리에서 가지형 부분매치 질의를 산출한다(단계 S201).
여기서, 가지형 부분매치 질의 Q(//l'1p'1?//l'2p'2?/…//l'np'n?)는 상기 절대 경로 P(/l1/l2/…/ln(m<n))에 대하여 l'i=lt (i)를 만족하고 여기서 t(i)는 정렬된 m개의 튜플이다.
산출된 각 가지형 부분매치 질의에 대하여 최소 매치를 산출한다(단계 S202).
여기서, 가지형 부분매치 질의 Q(//l'1p'1?//l'2p'2?/…//l'np'n?)에 대한 최소 매치 M(i1,i2,…,im)는 모든 다른 매치에 대하여 M'와 M ≥L M'를 만족하고, 여기서, M ≥L M'는 모든 i에 대하여 M[i] ≥ M'[i]이다.
최소 매치를 갖는 다수의 가지형 부분매치 질의 중에서 견고한 가지형 부분매치 질의로 판단한다(단계 S203).
여기서, 주어진 절대 솔루션 경로 P에 대해서 다음의 조건을 만족한다면 가지형 부분매치 질의 Q1 //l'0p'0?//l'1p'1?//l'2p'2?//…//l'np'n? 는 Q2 //l"0p"0// l"1p"1//l"2p"2//…//l"mp"m보다 더 견고하다.
P의 Q1에 대한 최소 매치를 M1(i1, i2,…, in)이라 하고, P의 Q2에 대한 최소 매치를 M2(j1, j2,…, jm)이라 하며, 모든 k(1≤k≤n)과 M1, M2에 대하여, ik ≥ jk를 만족한다.
또한, Q1의 술어에 대한 최소 매치를 PM1(k1, k2,…, ka)이라 하고, Q2의 술 어에 대한 최소 매치를 PM2(g1, g2,…, gb)이라 하며, 모든 f(1≤f≤a)과 PM1, PM2에 대하여, kf ≥ gf를 만족한다.
즉, 어느 하나의 가지형 부분매치 질의 Q1의 최소 매치 M1가 다른 가지형 부분매치 질의 Q2의 최소 매치 M2에 대하여 ik ≥ jk를 만족하고, Q1의 술어의 최소 매치 PM1가 Q2의 술어의 최소 매치 PM2에 대하여 kf ≥ gf를 만족하면 Q1을 견고한 가지형 부분매치 질의로 판단한다.
견고한 선형 부분매치 질의 생성함수
도 11은 가지형 부분매치 질의를 생성하기 위한 함수의 예이다.
도 11은 절대 솔루션 트리와 부분 매치 솔루션 트리를 이용하여 가지형 질의에 대해 견고한 가지형 부분매치 질의를 생성한다.
여기서, Absolute Solution(ST)와 후보 에지 리스트(CE), 에지 변경자(EM),현재 Path 인덱스(i), 웹페이지 내에 있는 모든 절대 솔루션 경로(absolutePathList)를 입력으로 받고, 절대 솔루션 경로에 대해 웹페이지 내에서 가장 견고한 가지형 부분매치 질의(xpathExpr)를 출력한다.
CE(Candidate Edge List)는 추출 경로와 조건 경로의 다루고 있는 에지의 인덱스를 저장한 배열이다. CE[0]는 항상 추출 경로의 에지 인덱스가 저장되고 그 외에는 조건 노드가 리프에 가까운 순서에 있는 조건 경로의 에지 인덱스를 저장한다. EM(Edge Modifiers)는 솔루션 트리에서 추출 경로와 조건 경로 중 어느 경로에 의해 에지 타입이 변경되었는지 정보를 저장한다. 인덱스 i는 추출 경로와 조건 경로 중에 어느 경로를 현재 다루고 있는지를 나타낸다.
부분매치 솔루션 트리에서는 어느 리프에서 시작하여 알고리즘이 적용되는가에 대한 정보에 해당한다.
여기서, preADEdge는 루트를 시작으로 가장 상위의 조상-자손 관계 에지의 인덱스를 의미한다. 이 인덱스는 루트 노드와 연결된 에지의 인덱스로 초기화한다.
라인 2의 while문을 따라 preADEdge는 루트에서 리프까지 수행되며, 라인 3의 while문을 따라 preADEdge는 루트에서 현재 후보 에지를 만나기 전까지 수행된다. GenerateXpath 함수를 통하여 솔루션 트리에서 현재까지 찾은 조상-자손 관계 에지로 XPath 표현(xpathExpr)을 생성한다. 생성된 XPath 표현(xpathExpr)은 함수 Eval를 통하여 실제로 평가(evaluation)해서 일치하는 모든 절대 솔루션 경로의 리스트(absolutePathList)를 받는다. absolutePathList의 크기가 1이라면 함수 ChangeToADEdge를 통하여 현재 후보 에지의 타입을 조상-자손 관계로 변경한다.
라인 9는 추출 경로외에 조건 경로가 있을 경우에는 현재 후보 에지에 대하여 조건 경로에 대하여 견고한 부분매치 질의를 구하도록 한다. 함수 MoveUpCandidateEdge를 통해서 현재 후보 에지를 상위 에지로 변경하고 함수 MoveDownCandidateEdge를 통해서 preADEdge는 하위 에지로 내려온다. CE와 preADEdge를 통해서 Path의 루트와 리프 양쪽에서 Path의 범위를 좁혀가며 가장 견고한 질의를 찾도록 한다.
도 12는 부분 매치 솔루션 트리에서 가지형 부분 매치 질의를 생성하기 위한 함수의 예이다.
도 12에서, Absolute Solution(ST)와 후보 에지 리스트(CE), 에지 변경자(EM), 현재 Path의 인덱스(idxOfPaths)를 입력으로 받고, Solution Tree로부터 생성된 가지형 부분매치 질의를 출력한다.
라인 3과 4에서는 조상-자손 관계로 변경 가능한 모든 후보 에지의 타입을 변경한다. 라인 6에서는 현재 Path의 에지들에 대해서 while문을 따라 에지 타입이 조상-자손 관계일 경우에는 대해서는 상대 경로로 레이블을 추가한다. 라인 11에서는 현재 노드에서 조건 경로가 연결되어 있다면 조건 경로에 대한 부분매치 질의를 추가하도록 한다.
이와 같이 생성된 가지형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출한다(단계 S204).
이러한 방법에 의해 자주 바뀌는 경향이 있는 웹 사이트에 대하여 HTML 웹 페이지에서 데이터의 레이아웃이 바뀌는 사소한 변화에도 한번 작성된 추출 룰을 적용하여 데이터를 추출할 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
도 1은 본 발명의 실시예에 따른 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법의 선형 부분매치 질의 산출 방법을 나타낸 순서도이고,
도 2는 본 발명의 실시예에 따른 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법의 가지형 부분매치 질의 산출 방법을 나타낸 순서도이며,
도 3은 본 발명의 실시예에 따른 부분 매칭을 이용한 웹페이지의 데이터 추출 방법이 적용된 가상 릴레이션의 구조를 나타낸 블록도이고,
도 4는 웹페이지의 데이터를 릴레이션으로 변환하는 예를 나타낸 도면이며,
도 5는 HTML 트리에서 XPath 적용예를 설명하기 위한 도면이고,
도 6은 선형 경로 질의와 가지형 경로 질의의 예를 도시한 도면이며,
도 7은 최소 매치의 예를 나타낸 도면이고,
도 8은 선형 부분매치 질의를 생성하기 위한 함수의 예이며,
도 9는 절대 솔루션 트리의 예를 나타낸 도면이고,
도 10은 부분 매치 솔루션 트리의 예를 나타낸 도면이며,
도 11은 가지형 부분매치 질의를 생성하기 위한 함수의 예이고,
도 12는 부분 매치 솔루션 트리에서 가지형 부분 매치 질의를 생성하기 위한 함수의 예이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 가상 릴레이션 구조 110 : 웹 추출부
120 : VR맵 평가부

Claims (11)

  1. 웹 페이지의 HTML 트리에서 루트로부터 추출 데이터까지의 경로가 절대 경로에 대하여 부분매치(match)되는 다수의 선형 부분매치 질의(Linear Partial Match Query)를 산출하는 제 1 산출단계와;
    상기 산출된 각 선형 부분매치 질의에 대하여 해당 매치의 정렬된 원소가 다른 매치의 정렬된 원소보다 크거나 같은 최소 매치를 산출하는 제 2 산출단계와;
    상기 최소 매치를 갖는 다수의 선형 부분매치 질의 중에서 해당 최소 매치의 정렬된 원소가 다른 최소 매치의 정렬된 원소보다 크거나 같은 부분매치 질의를 견고한 선형 부분매치 질의로 판단하는 판단 단계와;
    상기 판단 결과에 따른 선형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출하는 추출 단계;를 포함하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  2. 제 1 항에 있어서,
    상기 루트로부터 추출 데이터까지의 경로는 하기의 식으로 정의된 선형 경로 질의이고,
    Figure 112009016824240-PAT00005
    여기서, l1은 트리의 루트, li는 경로의 i번째 노드의 인덱스(i=1,2…n), oj 는(j=1,2…n) lj - 1와 lj의 부모-자식 관계를 나타내는 '/' 및 조상-자손 관계를 나타내는 '//'중 하나로 표현되는 것을 특징으로 하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  3. 제 2 항에 있어서,
    상기 제 1 산출 단계는 상기 선형 부분매치 질의 Q(//l'1//l'2/…//l'm)는 상기 절대 경로 P(/l1/l2/…/ln(m<n))에 대하여 l'i=lt (i)를 만족하고 여기서 t(i)는 정렬된 m개의 튜플인 것을 특징으로 하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  4. 제 2 항에 있어서,
    상기 제 2 산출 단계는 상기 각 선형 부분매치 질의 Q(//l'1//l'2/…//l'm)에 대한 최소 매치 M(i1,i2,…,im)는 모든 다른 매치에 대하여 M'와 M ≥L M'를 만족하고, 여기서, M ≥L M'는 모든 i에 대하여 M[i] ≥ M'[i] 인 것을 특징으로 하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  5. 제 2 항에 에 있어서,
    상기 판단 단계는 상기 어느 하나의 선형 부분매치 질의 Q1(//l'1//l'2/… //l'n)의 최소 매치 M1(i1,i2,…,in)가 상기 다른 선형 부분매치 질의 Q2(//l''1//l''2/…//l''m)의 최소 매치 M2(j1,j2,…,jm)에 대하여 ik ≥ jk를 만족하면 Q1을 견고한 선형 부분매치 질의로 판단하며, 여기서 k는 1≤k≤n 인 것을 특징으로 하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  6. 웹 페이지의 HTML 트리에서 루트로부터 추출 데이터까지의 경로와 조건 데이터까지의 경로가 절대 경로에 대하여 부분매치되는 다수의 가지형 부분매치 질의(Twig Partial Match Query)를 산출하는 제 1 산출 단계와;
    상기 산출된 각 가지형 부분매치 질의에 대하여 해당 매치의 정렬된 원소가 다른 매치의 정렬된 원소보다 크거나 같은 최소 매치를 산출하는 제 2 산출단계와;
    상기 최소 매치를 갖는 다수의 가지형 부분매치 질의 중에서 해당 최소 매치의 정렬된 원소가 다른 최소 매치의 정렬된 원소보다 크거나 같은 부분매치 질의를 견고한 가지형 부분매치 질의로 판단하는 판단 단계와;
    상기 판단 결과에 따른 가지형 부분매치 질의에 의해 해당 웹 페이지의 데이터를 추출하는 추출 단계;를 포함하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  7. 제 6 항에 있어서,
    상기 추출 데이터의 선형 경로 질의가 만족해야 하는 조건 데이터에 대한 술 어(predicate)가 부가된 가지형 경로 질의는 하기의 식으로 표현하고,
    Figure 112009016824240-PAT00006
    여기서, l1은 트리의 루트, li는 경로의 i번째 노드의 인덱스(i=1,2…n), oj는(j=1,2…n) lj - 1와 lj의 부모-자식 관계를 나타내는 '/' 및 조상-자손 관계를 나타내는 '//'중 하나로 표현되고, pi는 i번째 노드의 자식 노드 또는 자손 노드가 만족하는 술어, ?는 노드의 술어가 0개 또는 1개임을 의미하는 것을 특징으로 하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  8. 제 7 항에 있어서,
    상기 제 1 산출 단계는 상기 가지형 부분매치 질의 Q(//l'1p'1?//l'2p'2?/…//l'np'n?)는 상기 절대 경로 P(/l1/l2/…/ln(m<n))에 대하여 l'i=lt (i)를 만족하고 여기서 t(i)는 정렬된 m개의 튜플인 것을 특징으로 하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  9. 제 7 항에 있어서,
    상기 제 2 산출 단계는 상기 각 가지형 부분매치 질의 Q(//l'1p'1?//l'2p'2?/…//l'np'n?)에 대한 최소 매치 M(i1,i2,…,im)는 모든 다른 매치에 대하여 M'와 M ≥L M'를 만족하고, 여기서, M ≥L M'는 모든 i에 대하여 M[i] ≥ M'[i]인 것을 특징으로 하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  10. 제 7 항에 에 있어서,
    상기 판단 단계는 상기 어느 하나의 가지형 부분매치 질의 Q1(//l'1p'1?//l'2p'2?/…//l'np'n?)의 최소 매치 M1(i1,i2,…,in)가 상기 다른 가지형 부분매치 질의 Q2(//l'1p'1?//l'2p'2?/…//l'mp'm?)의 최소 매치 M2(j1,j2,…,jm)에 대하여 ik ≥ jk를 만족하고, Q1의 술어의 최소 매치 PM1(k1,k2,…ka)가 Q2의 술어의 최소 매치 PM2(g1,g2,…gb)에 대하여 kf ≥ gf를 만족하면 Q1을 견고한 가지형 부분매치 질의로 판단하며, 여기서 k는 1≤k≤n, f는 1≤f≤a인 것을 특징으로 하는 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법.
  11. 제 1 항 내지 제 10 항중 어느 한 항의 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020090023750A 2009-03-20 2009-03-20 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체 KR101045481B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090023750A KR101045481B1 (ko) 2009-03-20 2009-03-20 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090023750A KR101045481B1 (ko) 2009-03-20 2009-03-20 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체

Publications (2)

Publication Number Publication Date
KR20100104982A true KR20100104982A (ko) 2010-09-29
KR101045481B1 KR101045481B1 (ko) 2011-06-30

Family

ID=43009173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090023750A KR101045481B1 (ko) 2009-03-20 2009-03-20 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체

Country Status (1)

Country Link
KR (1) KR101045481B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190136292A (ko) * 2018-05-30 2019-12-10 이재현 지능형 자료구조 기반의 데이터 처리 방법 및 그를 위한 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102420707B1 (ko) 2020-04-10 2022-07-14 (주)해나소프트 타깃 웹 사이트의 강제 복속을 통한 웹 데이터 선택적 임포팅 시스템
KR102477021B1 (ko) 2021-01-12 2022-12-13 (주)해나소프트 액션 오더의 선택적 정렬을 통한 타깃 데이터 추출 시스템
KR102420706B1 (ko) 2021-01-12 2022-07-15 (주)해나소프트 타깃 웹 페이지의 계층의 선별적 접근을 통한 타깃 데이터 수집 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844608B2 (en) 2006-12-15 2010-11-30 Yahoo! Inc. Clustered query support for a database query engine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190136292A (ko) * 2018-05-30 2019-12-10 이재현 지능형 자료구조 기반의 데이터 처리 방법 및 그를 위한 장치

Also Published As

Publication number Publication date
KR101045481B1 (ko) 2011-06-30

Similar Documents

Publication Publication Date Title
US7370061B2 (en) Method for querying XML documents using a weighted navigational index
US6654734B1 (en) System and method for query processing and optimization for XML repositories
US7747610B2 (en) Database system and methodology for processing path based queries
US8185530B2 (en) Method and system for web document clustering
US20090216708A1 (en) Structural clustering and template identification for electronic documents
US20090248707A1 (en) Site-specific information-type detection methods and systems
US20090327338A1 (en) Hierarchy extraction from the websites
US20130218898A1 (en) Mechanisms for metadata search in enterprise applications
WO2014052609A2 (en) Evaluating xml full text search
KR20190131778A (ko) 은닉 url에 포함된 정형 및 비정형 데이터의 수집을 위한 웹 크롤러 시스템
CN107220250A (zh) 一种模板配置方法及系统
KR101045481B1 (ko) 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체
US10558631B2 (en) Enhancing textual searches with executables
US7877400B1 (en) Optimizations of XPaths
Kolozali et al. A Validation Tool for the W3C SSN Ontology based Sensory Semantic Knowledge.
CN111381809B (zh) 一种焦点页面的查找方法及装置
KR20150023973A (ko) 소셜 네트워크 정보 수집 및 분석 시스템
Bai et al. G-path: flexible path pattern query on large graphs
KR100491725B1 (ko) 엑스퀘리를 사용하여 통합 스키마를 정의하는 데이터 통합시스템 및 그 방법
YesuRaju et al. A language independent web data extraction using vision based page segmentation algorithm
CN102521288A (zh) 一种互联网Web服务信息获取方法
Choi TPEMatcher: A tool for searching in parsed text corpora
Torre-Bastida et al. Query rewriting for an incremental search in heterogeneous linked data sources
Hong et al. Extracting Web query interfaces based on form structures and semantic similarity
Flesca et al. A fuzzy logic approach to wrapping pdf documents

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140521

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150603

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160526

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 8