KR20110029205A - 인터넷 쇼핑몰 검색 시스템 및 방법 - Google Patents

인터넷 쇼핑몰 검색 시스템 및 방법 Download PDF

Info

Publication number
KR20110029205A
KR20110029205A KR1020090086773A KR20090086773A KR20110029205A KR 20110029205 A KR20110029205 A KR 20110029205A KR 1020090086773 A KR1020090086773 A KR 1020090086773A KR 20090086773 A KR20090086773 A KR 20090086773A KR 20110029205 A KR20110029205 A KR 20110029205A
Authority
KR
South Korea
Prior art keywords
wrapper
extracting
shopping mall
path
internet shopping
Prior art date
Application number
KR1020090086773A
Other languages
English (en)
Other versions
KR101223864B1 (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 KR1020090086773A priority Critical patent/KR101223864B1/ko
Publication of KR20110029205A publication Critical patent/KR20110029205A/ko
Application granted granted Critical
Publication of KR101223864B1 publication Critical patent/KR101223864B1/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/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

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 Transfer Between Computers (AREA)

Abstract

본 발명은 인터넷 환경에서 사용자가 요구하는 인터넷 콘텐츠가 존재하는 페이지를 추출하여 사용자가 원하는 형태로 통합 및 가공하여 제공하는 인터넷 검색방법으로, 쇼핑몰 사이트에서 제공하는 상품 정보를 데이터 추출 기술, 데이터 통합 가공 기술, DB 연동 기술 등을 통해 특정 정보만 추출할 수 있도록 하기 위한 것으로서, 복수의 쇼핑몰 사이트 서버로부터 사용자에 의해서 요청된 특정 웹 페이지(Web Page)를 추출하고, 특정 웹 페이지로부터 소스(Source)를 추출하여 데이터 변환을 수행한 후, 기 설정된 랩(Wrapper) 추출 알고리즘을 이용하여 랩을 생성하기 때문에, 사용자가 원하는 해당 사이트에서 제품의 정보를 실시간으로 추출할 수 있고, 해당 사이트의 UI Frame이 변경될 경우에도 사용자로부터 요청된 키워드의 상대 주소 값을 추출하여 랩퍼(Wrapper)를 생성하여 정보를 실시간으로 제공할 수 있다는 효과를 기대할 수 있다.

Description

인터넷 쇼핑몰 검색 시스템 및 방법{Internet Shopping Mall Search System and Method}
본 발명은 인터넷 쇼핑몰 검색 시스템 및 방법에 관한 것으로서, 보다 상세하게는 인터넷 환경에서 사용자가 요구하는 인터넷 콘텐츠가 존재하는 페이지를 추출하여 사용자가 원하는 형태로 통합 및 가공하여 제공하는 인터넷 검색방법으로, 쇼핑몰 사이트에서 제공하는 상품 정보를 데이터 추출 기술, 데이터 통합 가공 기술, DB 연동 기술 등을 통해 특정 정보만 추출할 수 있도록 하기 위한 인터넷 쇼핑몰 검색 시스템 및 방법에 관한 것이다.
현재, 쇼핑몰 가격 비교 검색은 포털 사이트(Portal Site)와 가격을 비교하는 사이트 거래 계약에 의해서 쇼핑몰들의 정보가 제공되고 있는 형태이다.
그러나, 상술한 서비스는 도메인 계약에 의해서 정보를 제공하는 것으로, 한정된 정보의 제공이며, 실제로 실시간 정보 검색 개념이 아니라는 문제점이 있다.
본 발명은 웹 환경에 분산되어 있는 Semi-Structured 형태의 웹 콘텐츠 정보 를 추출하여 사용자가 원하는 정보만을 통합된 형태로 제공하기 위하여, 자주 변경되는 웹 콘텐츠 구성에 변화가 있을 경우에도 사용자가 원하는 정보를 자동으로 추출할 수 있도록 서비스를 제공하는 것으로서, 구체적으로는 비정형화된 다수의 웹 문서를 분석하여 원하는 정보만을 추출하여 저장 및 활용하고, 웹 콘텐츠의 추출, 통합뿐만 아니라 웹 페이지 변경을 감지하여 자동으로 룰을 생성하고 정보를 정상적으로 추출하는 자동 처리 기능을 구현하기 위한 인터넷 쇼핑몰 검색 시스템 및 방법을 제공하는데 그 기술적 과제가 있다.
상술한 목적을 달성하기 위한 본 발명의 인터넷 쇼핑몰 검색 시스템은 복수의 쇼핑몰 사이트 서버로부터 사용자에 의해서 요청된 특정 웹 페이지(Web Page)를 추출하고, 상기 특정 웹 페이지로부터 소스(Source)를 추출하여 데이터 변환을 수행한 후, 기 설정된 랩(Wrapper) 추출 알고리즘을 이용하여 랩을 생성한다.
다른 본 발명의 인터넷 쇼핑몰 검색 시스템은, 복수의 사이트로부터 특정 페이지만을 추출하는 콘텐츠 추출부;
콘텐츠 추출부로부터 수신한 데이터를 변환하여 리파지터리에 저장하는 콘텐츠 통합부;
기 설정된 랩퍼 추출 알고리즘을 이용하여 랩퍼를 생성하는 랩퍼(Wrapper) 생성부;
인터넷 쇼핑몰 검색 시스템과 관련된 정보를 저장하는 리파지터리;를 포함한다.
상기 콘텐츠 추출부는,
사용자의 요청에 따라 특정 URL에 대한 웹 페이지 추출 요청을 처리하고, 사이트 에이전트를 생성, 관리 삭제하는 추출 매니저;
특정 URL에 대한 웹 페이지의 소스를 추출하는 사이트 에이전트;를 포함하는 것이 바람직하다.
상기 추출 매니저는 사이트 에이전트로부터 추출 데이터를 상기 콘텐츠 통합부로 전달하여 데이터 포맷의 타당성 여부를 요청하며, 사이트 에이전트로부터 추출 오류가 발생한 경우, 랩퍼 생성부로 랩퍼 재 생성을 요청하는 것이 바람직하다.
상기 사이트 에이전트는,
랩퍼를 적용하여 웹 페이지로부터 소스의 추출을 수행하고, 그 결과를 추출 매니저로 리턴 하는 것이 바람직하다.
상기 콘텐츠 통합부는,
추출 데이터를 변환하여 리파지터리에 저장하기 이전에 데이터 포맷의 타당성을 검증하고 데이터의 정제 작업을 담당하는 타당성 검증수단;을 포함하는 것이 바람직하다.
상기 랩퍼 생성부는,
콘텐츠 추출부의 요청에 따라 랩퍼를 재 생성하여 제공하는 랩퍼 변경수단;
기 설정된 랩퍼 추출 알고리즘을 이용하여 랩퍼를 생성하는 랩퍼 생성수단;
특정 사이트의 구조가 변경되었을 때, 신규 랩퍼를 생성하고 관련된 사이트의 정보를 수정하는 랩퍼 자동 처리수단;을 포함하는 것이 바람직하다.
또 다른 본 발명의 인터넷 쇼핑몰 검색 방법은,
인터넷 쇼핑몰 검색 시스템이 사용자로부터 요청되는 특정 웹 페이지를 추출하는 단계;
특정 URL에 대한 웹 페이지의 소스를 추출하는 단계;
추출된 데이터를 변환하여 저장하는 단계;
정보의 소스로부터 특정 정보를 추출하는 단계;를 포함한다.
상기 정보의 소스로부터 특정 정보를 추출하는 단계는,
리스트 페이지의 HTML 소스를 추출하고, HTML 소스를 DOM(Document Object Model) Tree로 파싱한 상태의 소스의 텍스트 노드 중 특정 정보를 포함하고 있는 복수의 텍스트 노드(Text Node)의 키노드리스트(KeyNodeList)를 생성하는 단계;
키노드리스트에 포함된 노드를 간단 경로(Simple Path)가 동일한 것끼리 분류하여 키경로리스트(KeyPathList)의 집합을 산출하는 단계;
상기 키경로리스트 중에서 가장 노드 수가 많은 키데이터노드리스트(KeyDataNodeList)를 선택하는 단계;
키데이터노드리스트에 포함된 노드의 인덱스 경로(Indexed Path)를 산출하는 단계;
인덱스 경로로부터 인덱스가 변하는 반복태그(Iteration Tag)를 산출하는 단계;
산출된 반복태그 이하의 텍스트 노드를 모두 추출하는 단계;
텍스트 노드의 인덱스 경로를 상기 반복태그로부터의 상대 경로로 산출하는 단계;
키노드(KeyNode)를 기준으로 인덱스 경로가 동일한 노드끼리 정렬하여 테이블을 구성하는 단계;
기 저장된 지식정보(Knowledge)를 이용하여 테이블의 각 컬럼(Colum)에 대해 필드의 타입을 매칭하는 단계;
반복태그, 컬럼 경로를 이용하여 랩퍼를 추출하고, 추출된 랩퍼 정보를 저장하는 단계;를 포함하는 것이 바람직하다.
또 다른 본 발명은 인터넷 쇼핑몰 검색 결과 제공을 위한 랩퍼 생성 방법으로서,
리스트 페이지의 HTML 소스를 추출하고, HTML 소스를 DOM(Document Object Model) Tree로 파싱한 상태의 소스의 텍스트 노드 중 특정 정보를 포함하고 있는 복수의 텍스트 노드(Text Node)의 키노드리스트(KeyNodeList)를 생성하는 단계;
키노드리스트에 포함된 노드를 간단 경로(Simple Path)가 동일한 것끼리 분류하여 키경로리스트(KeyPathList)의 집합을 산출하는 단계;
상기 키경로리스트 중에서 가장 노드 수가 많은 키데이터노드리스트(KeyDataNodeList)를 선택하는 단계;
키데이터노드리스트에 포함된 노드의 인덱스 경로(Indexed Path)를 산출하는 단계;
인덱스 경로로부터 인덱스가 변하는 반복태그(Iteration Tag)를 산출하는 단계;
산출된 반복태그 이하의 텍스트 노드를 모두 추출하는 단계;
텍스트 노드의 인덱스 경로를 상기 반복태그로부터의 상대 경로로 산출하는 단계;
키노드(KeyNode)를 기준으로 인덱스 경로가 동일한 노드끼리 정렬하여 테이블을 구성하는 단계;
기 저장된 지식정보(Knowledge)를 이용하여 테이블의 각 컬럼(Colum)에 대해 필드의 타입을 매칭하는 단계;
반복태그, 컬럼 경로를 이용하여 랩퍼를 추출하고, 추출된 랩퍼 정보를 저장하는 단계;를 포함한다.
상기 인덱스 경로는,
최상위 노드로부터 해당 노드에 이르는 태그를 인덱스와 함께 나열한 것이 바람직하다.
상기 인덱스 경로로부터 인덱스가 변하는 반복태그(Iteration Tag)를 산출하는 단계에서,
상기 반복태그는 세로형 리스트일 경우 1개, 바둑판형 리스트일 경우 2개가 존재하는 것이 바람직하다.
상술한 바와 같이 본 발명의 인터넷 쇼핑몰 검색 시스템 및 방법은 사용자가 원하는 해당 사이트에서 제품의 정보를 실시간으로 추출할 수 있고, 해당 사이트의 UI Frame이 변경될 경우에도 사용자로부터 요청된 키워드의 상대 주소 값을 추출하 여 랩퍼(Wrapper)를 생성하여 정보를 실시간으로 제공할 수 있다는 효과를 기대할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세히 설명하기로 한다.
도 1은 본 발명에 의한 인터넷 쇼핑몰 검색 시스템과 통신망의 연결 관계를 나타내는 도면이다.
본 발명에서 개시하는 인터넷 쇼핑몰 검색 시스템(200)은 복수의 쇼핑몰 사이트 서버(300)로부터 사용자(사용자 단말기(100))에 의해서 요청된 특정 웹 페이지(Web Page)를 추출하고, 특정 웹 페이지로부터 소스(Source)를 추출하여 데이터 변환을 수행한 후, 기 설정된 랩(Wrapper) 추출 알고리즘을 이용하여 랩을 생성하여 제공한다.
여기에서, 랩퍼(Wrapper)는 Packaging의 의미로 본 발명에서 정보의 소스(Source)(예를 들어, 텍스트 문서, HTML 문서 등)에서 정보를 추출하기 위해서 요구되는 정보 추출 과정을 정의한 규칙 또는 패턴을 의미하는 것이다.
즉, 본 발명에 의한 인터넷 쇼핑몰 검색 시스템은 쇼핑몰 사이트 서버 상에서 다루는 웹 콘텐츠 구성의 변화가 있을 경우에도 사용자로부터 요청되는 정보만을 추출 및 통합하여 제공할 수 있다는 효과를 기대할 수 있는 것이다.
도 2는 본 발명에 의한 인터넷 쇼핑몰 검색 시스템의 구성을 나타내는 도면으로서, 사이트 등록에서 라벨링을 추가하는 방법을 설명하기 위한 도 3, HTML 페 이지에서 HTML Tag DOM 트리 구성을 나타내는 도 4, 필드 라벨 딕셔너리를 설명하기 위한 도 5를 참조하여 설명하기로 한다.
도시하는 바와 같이, 인터넷 쇼핑몰 검색 시스템은 통신 인터페이스부(210), 어플리케이션 사용자 인터페이스부(Application User Interface)(220), 콘텐츠 추출부(Contents Extraction)(230), 콘텐츠 통합부(Contents Integration)(240), 랩퍼 생성부(Wrapper Generation)(250) 및 리파지터리(Repository)(260)를 포함한다.
보다 상세히 설명하면, 통신 인터페이스부(210)는 통신망을 통해 사용자 단말기(100) 또는 복수의 쇼핑몰 사이트 서버(300)와 통신을 수행하기 위한 구성 요소이다.
어플리케이션 사용자 인터페이스부(220)는 인터넷 쇼핑몰 검색 시스템 상에서 이루어지는 서비스와 관련하여 사용자가 접근할 수 있는 환경을 제공한다.
콘텐츠 추출부(230)는 복수의 사이트로부터 특정 페이지만을 추출한다.
한편, 콘텐츠 추출부(230)는 사용자의 요청에 따라 특정 URL에 대한 웹 페이지 추출 요청을 처리하고, 사이트 에이전트를 생성, 관리 삭제하는 추출 매니저(Extraction Manager)(231)와 특정 URL에 대한 웹 페이지의 소스를 추출하는 사이트 에이전트(Site Agent)(233)를 포함한다.
또한, 추출 매니저(231)는 사이트 에이전트(233)로부터 추출 데이터를 콘텐츠 통합부(240)로 전달하여 데이터 포맷의 타당성 여부를 요청하며, 사이트 에이전트(233)로부터 추출 오류가 발생한 경우, 랩퍼 생성부(250)로 랩퍼 재 생성을 요청한다.
여기에서, 랩퍼(Wrapper)는 Packaging의 의미로 본 발명에서 정보의 소스(Source)(예를 들어, 텍스트 문서, HTML 문서 등)에서 정보를 추출하기 위해서 요구되는 정보 추출 과정을 정의한 규칙 또는 패턴을 의미하는 것이다.
사이트 에이전트(233)는 랩퍼를 적용하여 웹 페이지로부터 소스의 추출을 수행하고, 그 결과를 추출 매니저로 리턴 한다.
콘텐츠 통합부(240)는 콘텐츠 추출부(230)로부터 수신한 데이터를 변환하여 리파지터리(260)에 저장한다.
여기에서, 콘텐츠 통합부(240)는 추출 데이터를 변환하여 리파지터리(260)에 저장하기 이전에 데이터 포맷의 타당성을 검증하고 데이터의 정제 작업을 담당하는 타당성 검증수단(241)을 포함한다.
랩퍼 생성부(250)는 기 설정된 랩퍼 추출 알고리즘을 이용하여 랩퍼를 생성한다.
한편, 랩퍼 생성부(250)는 콘텐츠 추출부의 요청에 따라 랩퍼를 재 생성하여 제공하는 랩퍼 변경수단(251), 기 설정된 랩퍼 추출 알고리즘을 이용하여 랩퍼를 생성하는 랩퍼 생성수단(253), 특정 사이트의 구조가 변경되었을 때, 신규 랩퍼를 생성하고 관련된 사이트의 정보를 수정하는 랩퍼 자동 처리수단(255)를 포함한다.
이하에서는 랩 추출알고리즘의 개요에 대해 설명하기로 한다.
랩퍼 생성부(250)는 자동으로 랩퍼를 생성하기 위해 요구되는 지식정보(Knowledge)를 구축하는 과정으로 데이터 영역 중에서 원하는 데이터의 위치를 식별하기 위한 라벨링(도 3)을 수행한다.
라벨링은 랩퍼 추출 시에 라벨링 정보를 등록하거나 또는 도 3에서 도시하는 것과 같이, 관리자 화면의 필드 라벨 딕셔너리(Field Label Dictionary) 관리 항목을 통해서 정보를 등록하는 것이 가능하다.
또한, HTML 소스는 단순한 태그(Tag)라는 텍스트의 집합으로 구성되어 있으며, 세부 구성으로 태그 들간에 계층 구조로 이루어져 있다. 태그들을 트리(Tree) 형태의 계층구조로 재구성한 데이터 구조를 DOM(Document Object Model) Tree(도 4)라고 하며, 랩퍼 추출 알고리즘은 HTML 소스를 DOM Tree로 파싱(Parsing)한 형태로부터 시작한다
또한, 필드 라벨 딕셔너리(Field Label Dictionary)는 DOM Tree로부터 특정 필드(Field)(예를 들어, 배송비, 상품평)를 인식하기 위해 사용하는 지식정보(Knowledge)로, 각 필드 별로 정규식의 집합을 구성하는 것이다.
예를 들어, 도 5에서 도시하는 바와 같이, <배송비>에 대한 필드 라벨 딕셔너리는 .*무료.*, .*착불.*, (?!).*free.*, .*[0-9][0-9,]*원?.* 등이다.
리파지터리(260)는 인터넷 쇼핑몰 검색 시스템과 관련된 정보를 저장한다.
도 6은 본 발명에 의한 인터넷 쇼핑몰 검색 방법을 설명하기 위한 흐름도이다.
먼저, 인터넷 쇼핑몰 검색 시스템(200)은 사용자로부터 요청되는 특정 웹 페이지를 추출한다(S101).
이어서, 인터넷 쇼핑몰 검색 시스템(200)은 특정 URL에 대한 웹 페이지의 소스를 추출한다(S103).
이후, 인터넷 쇼핑몰 검색 시스템(200)은 추출된 데이터를 변환하여 저장한다(S105).
마지막으로, 인터넷 쇼핑몰 검색 시스템(200)은 정보의 소스로부터 특정 정보를 추출한 후, 저장한다(S107).
단계 S107의 소스로부터 특정 정보를 추출하는 방법에 대한 자세한 설명은 이하에서 하기로 한다.
도 7은 본 발명에 의한 랩퍼 추출 방법을 설명하기 위한 흐름도로서, 도 8 및 도 9를 참조하여 설명하기로 한다.
먼저, 인터넷 쇼핑몰 검색 시스템(200)은 리스트 페이지의 HTML 소스를 추출하고, HTML 소스를 DOM(Document Object Model) Tree로 파싱한 상태의 소스의 텍스트 노드 중 특정 정보를 포함하고 있는 복수의 텍스트 노드(Text Node)의 키노드리스트(KeyNodeList)를 생성한다(S201).
인터넷 쇼핑몰 검색 시스템(200)은 키노드리스트에 포함된 노드를 간단 경로(Simple Path)가 동일한 것끼리 분류하여 키경로리스트(KeyPathList)의 집합을 산출한다(S203).
이후, 인터넷 쇼핑몰 검색 시스템(200)은 키경로리스트 중에서 가장 노드 수가 많은 키데이터노드리스트(KeyDataNodeList)를 선택한다(S205).
인터넷 쇼핑몰 검색 시스템(200)은 키데이터노드리스트에 포함된 노드의 인덱스 경로(Indexed Path)를 산출한다(S207).
여기에서, 인덱스 경로는 최상위 노드로부터 해당 노드에 이르는 태그를 인 덱스와 함께 나열한 것을 의미하는 것이다.
예를 들어, 인덱스 경로는 <HTML[0].BODY[0].TABLE[1].TBODY[0].TR[0].TD[1].FORM[0].TABLE[1]. TBODY[0].TR[0].TD[0]>와 같은 형태이다.
인터넷 쇼핑몰 검색 시스템(200)은 인덱스 경로로부터 인덱스가 변하는 반복태그(Iteration Tag)를 산출한다(S209).
예를 들어, 도 8에서 도시하는 인덱스 경로 중 인덱스가 변하는 태그가 반복태그가 되는 것이다.
여기에서, 태그 하나는 1개의 상품 정보를 담고 있으며, 이 태그의 인덱스(Index)를 증가시키면, 다음 상품 정보를 가진 노드(Node)로 이동하는 것이 가능하다.
또한, 반복태그는 세로형 리스트일 경우 1개, 바둑판형 리스트일 경우 2개가 존재하는 것이 바람직하다.
반복태그의 부모노드가 상품 리스트인 데이터 노드가 되는 것인데, 도 8의 경우, <HTML[0].BODY[0].CENTER[0].CENTER[0].FORM[0].TABLE[4].TBODY[0]. TR[0].TD[2]>이 데이터 노드가 되는 것이다.
인터넷 쇼핑몰 검색 시스템(200)은 산출된 반복태그 이하의 텍스트 노드를 모두 추출한다(211).
인터넷 쇼핑몰 검색 시스템(200)은 텍스트 노드의 인덱스 경로를 반복태그로부터의 상대 경로로 산출한다(S213).
예를 들어, 도 9(a)와 도 9(b)는 도 8의 TABLE[3]과 TABLE[5] 각각에 대해 산출한 것이다.
이후, 인터넷 쇼핑몰 검색 시스템(200)은 키노드(KeyNode)를 기준으로 인덱스 경로가 동일한 노드끼리 정렬하여 테이블을 구성한다(S215).
예를 들어, 테이블은 다음과 같으며, 이는, 최종 추출한 최종 상품 정보이다.
[A전자] 여름사냥 스페셜버전! MP3플레이어 CLIX 레드라인(4GB)+크래들+Case(Tango Red)+퓨어플레이트 238,000원 → 221,340원 상품평 20건
[B 전자] UP3 Sharp(#) 2GB (USB2.0, MP3플레이어, 슬라이드, 미러LCD, Ogg재생, 음성녹음) 69,900원 상품평 1건
... ... ... ...
인터넷 쇼핑몰 검색 시스템(200)은 기 저장된 지식정보(Knowledge)를 이용하여 테이블의 각 컬럼(Colum)에 대해 필드의 타입을 매칭한다(S217).
필드 타입을 매칭한 예는 다음과 같다.
상품명 가격 상품평
[A 전자] 여름사냥 스페셜버전! MP3플레이어 CLIX 레드라인(4GB)+크래들+Case(Tango Red)+퓨어플레이트 238,000원 → 221,340원 상품평 20건
[B 전자] UP3 Sharp(#) 2GB (USB2.0, MP3플레이어, 슬라이드, 미러LCD, Ogg재생, 음성녹음) 69,900원 상품평 1건
... ... ... ...
마지막으로, 인터넷 쇼핑몰 검색 시스템(200)은 반복태그, 컬럼 경로를 이용하여 랩퍼를 추출하고, 추출된 랩퍼 정보를 저장한다(S219).
단계 S219를 통해 최종으로 추출된 랩퍼는 다음과 같다.
iteration1 상품한개의 위치를 나타내는 경로 마지막의 [*]표시는 *에 인덱스를 증가시키면 다음 상품에 해당하는 Node를 찾을 수 있다는 의미이다.
iteration2 바둑판 형식의 상품리스트일 경우 세로 및 가로로 두개의 인덱스가 변화 한다. 형식은 iteration1과 동일하다.
name “상품명”에 대한 iteration위치로부터의 상대경로.
price “가격”정보에 대한 iteration 위치로부터의 상대경로.
delivery “배송비”정보에 대한 iteration 위치로부터의 상대경로.
review “상품평”정보에 대한 iteration 위치로부터의 상대경로.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
이상과 같이, 본 발명의 인터넷 쇼핑몰 검색 시스템 및 방법은 사용자가 원하는 해당 사이트에서 제품의 정보를 실시간으로 추출할 수 있고, 해당 사이트의 UI Frame이 변경될 경우에도 사용자로부터 요청된 키워드의 상대 주소 값을 추출하여 랩퍼를 생성하여 정보를 실시간으로 제공할 필요성이 높은 것에 적합하다.
도 1은 본 발명에 의한 인터넷 쇼핑몰 검색 시스템과 통신망의 연결 관계를 나타내는 도면,
도 2는 본 발명에 의한 인터넷 쇼핑몰 검색 시스템의 구성을 나타내는 도면,
도 3은 본 발명에 의한 사이트 등록에서 라벨링을 추가하는 방법을 설명하기 위한 도면,
도 4는 본 발명에 의한 HTML 페이지에서 HTML Tag DOM 트리 구성을 나타내는 도면,
도 5는 본 발명에 의한 필드 라벨 딕셔너리를 설명하기 위한 도면,
도 6은 본 발명에 의한 인터넷 쇼핑몰 검색 방법을 설명하기 위한 흐름도,
도 7은 본 발명에 의한 랩퍼 추출 방법을 설명하기 위한 흐름도,
도 8 및 도 9는 본 발명에 의한 랩퍼 추출 방법을 설명하기 위한 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 사용자 단말기 200 : 인터넷 쇼핑몰 검색 시스템
210 : 통신 인터페이스부
220 : 어플리케이션 사용자 인터페이스부
230 : 콘텐츠 추출부 231 : 추출 매니저
233 : 사이트 에이전트 240 : 콘텐츠 통합부
241 : 타당성 검증수단 250 : 랩퍼 생성부
251 : 랩퍼 변경수단 253 : 랩퍼 생성수단
255 : 랩퍼 자동 처리수단

Claims (12)

  1. 복수의 쇼핑몰 사이트 서버로부터 사용자에 의해서 요청된 특정 웹 페이지(Web Page)를 추출하고, 상기 특정 웹 페이지로부터 소스(Source)를 추출하여 데이터 변환을 수행한 후, 기 설정된 랩(Wrapper) 추출 알고리즘을 이용하여 랩을 생성하는 인터넷 쇼핑몰 검색 시스템.
  2. 복수의 사이트로부터 특정 페이지만을 추출하는 콘텐츠 추출부;
    콘텐츠 추출부로부터 수신한 데이터를 변환하여 리파지터리에 저장하는 콘텐츠 통합부;
    기 설정된 랩퍼 추출 알고리즘을 이용하여 랩퍼를 생성하는 랩퍼(Wrapper) 생성부;
    인터넷 쇼핑몰 검색 시스템과 관련된 정보를 저장하는 리파지터리;
    를 포함하는 인터넷 쇼핑몰 검색 시스템.
  3. 제2항에 있어서,
    상기 콘텐츠 추출부는,
    사용자의 요청에 따라 특정 URL에 대한 웹 페이지 추출 요청을 처리하고, 사이트 에이전트를 생성, 관리 삭제하는 추출 매니저;
    특정 URL에 대한 웹 페이지의 소스를 추출하는 사이트 에이전트;
    를 포함하고 있는 것을 특징으로 하는 인터넷 쇼핑몰 검색 시스템.
  4. 제3항에 있어서,
    상기 추출 매니저는 사이트 에이전트로부터 추출 데이터를 상기 콘텐츠 통합부로 전달하여 데이터 포맷의 타당성 여부를 요청하며, 사이트 에이전트로부터 추출 오류가 발생한 경우, 랩퍼 생성부로 랩퍼 재 생성을 요청하는 것을 특징으로 하는 인터넷 쇼핑몰 검색 시스템.
  5. 제3항에 있어서,
    상기 사이트 에이전트는,
    랩퍼를 적용하여 웹 페이지로부터 소스의 추출을 수행하고, 그 결과를 추출 매니저로 리턴 하는 것을 특징으로 하는 인터넷 쇼핑몰 검색 시스템.
  6. 제2항에 있어서,
    상기 콘텐츠 통합부는,
    추출 데이터를 변환하여 리파지터리에 저장하기 이전에 데이터 포맷의 타당성을 검증하고 데이터의 정제 작업을 담당하는 타당성 검증수단;
    를 포함하는 것을 특징으로 하는 인터넷 쇼핑몰 검색 시스템.
  7. 제2항에 있어서,
    상기 랩퍼 생성부는,
    콘텐츠 추출부의 요청에 따라 랩퍼를 재 생성하여 제공하는 랩퍼 변경수단;
    기 설정된 랩퍼 추출 알고리즘을 이용하여 랩퍼를 생성하는 랩퍼 생성수단;
    특정 사이트의 구조가 변경되었을 때, 신규 랩퍼를 생성하고 관련된 사이트의 정보를 수정하는 랩퍼 자동 처리수단;
    을 포함하는 것을 특징으로 하는 인터넷 쇼핑몰 검색 시스템.
  8. 인터넷 쇼핑몰 검색 시스템이 사용자로부터 요청되는 특정 웹 페이지를 추출하는 단계;
    특정 URL에 대한 웹 페이지의 소스를 추출하는 단계;
    추출된 데이터를 변환하여 저장하는 단계;
    정보의 소스로부터 특정 정보를 추출하는 단계;
    를 포함하는 인터넷 쇼핑몰 검색 방법.
  9. 제8항에 있어서,
    상기 정보의 소스로부터 특정 정보를 추출하는 단계는,
    리스트 페이지의 HTML 소스를 추출하고, HTML 소스를 DOM(Document Object Model) Tree로 파싱한 상태의 소스의 텍스트 노드 중 특정 정보를 포함하고 있는 복수의 텍스트 노드(Text Node)의 키노드리스트(KeyNodeList)를 생성하는 단계;
    키노드리스트에 포함된 노드를 간단 경로(Simple Path)가 동일한 것끼리 분 류하여 키경로리스트(KeyPathList)의 집합을 산출하는 단계;
    상기 키경로리스트 중에서 가장 노드 수가 많은 키데이터노드리스트(KeyDataNodeList)를 선택하는 단계;
    키데이터노드리스트에 포함된 노드의 인덱스 경로(Indexed Path)를 산출하는 단계;
    인덱스 경로로부터 인덱스가 변하는 반복태그(Iteration Tag)를 산출하는 단계;
    산출된 반복태그 이하의 텍스트 노드를 모두 추출하는 단계;
    텍스트 노드의 인덱스 경로를 상기 반복태그로부터의 상대 경로로 산출하는 단계;
    키노드(KeyNode)를 기준으로 인덱스 경로가 동일한 노드끼리 정렬하여 테이블을 구성하는 단계;
    기 저장된 지식정보(Knowledge)를 이용하여 테이블의 각 컬럼(Colum)에 대해 필드의 타입을 매칭하는 단계;
    반복태그, 컬럼 경로를 이용하여 랩퍼를 추출하고, 추출된 랩퍼 정보를 저장하는 단계;
    를 포함하는 것을 특징으로 하는 인터넷 쇼핑몰 검색 방법.
  10. 인터넷 쇼핑몰 검색 결과 제공을 위한 랩퍼 생성 방법으로서,
    리스트 페이지의 HTML 소스를 추출하고, HTML 소스를 DOM(Document Object Model) Tree로 파싱한 상태의 소스의 텍스트 노드 중 특정 정보를 포함하고 있는 복수의 텍스트 노드(Text Node)의 키노드리스트(KeyNodeList)를 생성하는 단계;
    키노드리스트에 포함된 노드를 간단 경로(Simple Path)가 동일한 것끼리 분류하여 키경로리스트(KeyPathList)의 집합을 산출하는 단계;
    상기 키경로리스트 중에서 가장 노드 수가 많은 키데이터노드리스트(KeyDataNodeList)를 선택하는 단계;
    키데이터노드리스트에 포함된 노드의 인덱스 경로(Indexed Path)를 산출하는 단계;
    인덱스 경로로부터 인덱스가 변하는 반복태그(Iteration Tag)를 산출하는 단계;
    산출된 반복태그 이하의 텍스트 노드를 모두 추출하는 단계;
    텍스트 노드의 인덱스 경로를 상기 반복태그로부터의 상대 경로로 산출하는 단계;
    키노드(KeyNode)를 기준으로 인덱스 경로가 동일한 노드끼리 정렬하여 테이블을 구성하는 단계;
    기 저장된 지식정보(Knowledge)를 이용하여 테이블의 각 컬럼(Colum)에 대해 필드의 타입을 매칭하는 단계;
    반복태그, 컬럼 경로를 이용하여 랩퍼를 추출하고, 추출된 랩퍼 정보를 저장하는 단계;
    를 포함하는 랩퍼 생성 방법.
  11. 제10항에 있어서,
    상기 인덱스 경로는,
    최상위 노드로부터 해당 노드에 이르는 태그를 인덱스와 함께 나열한 것인 것을 특징으로 하는 랩퍼 생성 방법.
  12. 제11항에 있어서,
    상기 인덱스 경로로부터 인덱스가 변하는 반복태그(Iteration Tag)를 산출하는 단계에서,
    상기 반복태그는 세로형 리스트일 경우 1개, 바둑판형 리스트일 경우 2개가 존재하는 것을 특징으로 하는 랩퍼 생성 방법.
KR1020090086773A 2009-09-15 2009-09-15 인터넷 쇼핑몰 검색 시스템 및 방법 KR101223864B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090086773A KR101223864B1 (ko) 2009-09-15 2009-09-15 인터넷 쇼핑몰 검색 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090086773A KR101223864B1 (ko) 2009-09-15 2009-09-15 인터넷 쇼핑몰 검색 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20110029205A true KR20110029205A (ko) 2011-03-23
KR101223864B1 KR101223864B1 (ko) 2013-01-18

Family

ID=43935117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090086773A KR101223864B1 (ko) 2009-09-15 2009-09-15 인터넷 쇼핑몰 검색 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101223864B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101478795B1 (ko) * 2013-05-10 2015-01-07 강호남 글로벌 마케팅을 위한 통합 관리 시스템 및 그 방법
WO2016068514A1 (ko) * 2014-10-30 2016-05-06 한국과학기술정보연구원 자연어 처리를 활용한 제품별 산업구조 분석방법 및 분석장치
KR20230017548A (ko) * 2021-07-28 2023-02-06 비전과가치 주식회사 쇼핑몰 데이터 가공 시스템 및 그의 데이터 가공 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101364403B1 (ko) * 2013-10-21 2014-02-17 김용문 데이터 분석/제공 방법, 및 이를 이용한 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100544978B1 (ko) * 2003-11-05 2006-01-24 한국전자통신연구원 랩퍼 명세 언어에 기반한 인터넷상의 반구조화된 생물정보추출방법
KR100792109B1 (ko) * 2006-03-27 2008-01-04 하상호 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹정보 추출을 위한 래퍼 생성장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101478795B1 (ko) * 2013-05-10 2015-01-07 강호남 글로벌 마케팅을 위한 통합 관리 시스템 및 그 방법
WO2016068514A1 (ko) * 2014-10-30 2016-05-06 한국과학기술정보연구원 자연어 처리를 활용한 제품별 산업구조 분석방법 및 분석장치
KR20230017548A (ko) * 2021-07-28 2023-02-06 비전과가치 주식회사 쇼핑몰 데이터 가공 시스템 및 그의 데이터 가공 방법

Also Published As

Publication number Publication date
KR101223864B1 (ko) 2013-01-18

Similar Documents

Publication Publication Date Title
US10963513B2 (en) Data system and method
Kerremans et al. The NeoCrawler: Identifying and retrieving neologisms from the internet and monitoring ongoing change
CN102279894B (zh) 基于语义的查找、集成和提供评论信息的方法及搜索系统
CN103902653B (zh) 一种构建数据仓库表血缘关系图的方法和装置
JP2007122732A (ja) ウェブドキュメントの集合において効率的に日付を検索する方法、コンピュータプログラム、およびサービス方法(ウェブドキュメントの集合において効率的に日付を検索するシステムおよび方法)
CN107092639A (zh) 一种搜索引擎系统
CN101655862A (zh) 信息对象搜索的方法和装置
CN103491089B (zh) 一种基于http的数据还原中的转码方法及系统
CN1487452A (zh) 在一个或多个网络上进行通用搜索管理的系统
US20150287047A1 (en) Extracting Information from Chain-Store Websites
US20170185653A1 (en) Predicting Knowledge Types In A Search Query Using Word Co-Occurrence And Semi/Unstructured Free Text
Wang Semantic information extraction for software requirements using semantic role labeling
US9886711B2 (en) Product recommendations over multiple stores
CN102622219A (zh) 对动态调用服务的执行结果进行渲染的方法、装置及系统
KR101223864B1 (ko) 인터넷 쇼핑몰 검색 시스템 및 방법
CN103744987B (zh) 基于dom树匹配的视频网站媒资聚合方法和系统
CN102760150A (zh) 基于属性重现和标签路径的网页抽取方法
US20180232410A1 (en) Refining structured data indexes
US20220292160A1 (en) Automated system and method for creating structured data objects for a media-based electronic document
US9811592B1 (en) Query modification based on textual resource context
WO2007064174A1 (en) System, apparatus and method for providing shared information by connecting a tag to the internet resource and computer readable medium processing the method
US20210109945A1 (en) Self-orchestrated system for extraction, analysis, and presentation of entity data
CN107480197A (zh) 实体词识别方法及装置
CN103618742A (zh) 获取子域名的方法和系统以及网站管理员权限验证方法
CN103425646A (zh) 一种web服务发现方法及其装置

Legal Events

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

Payment date: 20161223

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180110

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190110

Year of fee payment: 7