KR100296500B1 - An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall - Google Patents

An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall Download PDF

Info

Publication number
KR100296500B1
KR100296500B1 KR1019990047316A KR19990047316A KR100296500B1 KR 100296500 B1 KR100296500 B1 KR 100296500B1 KR 1019990047316 A KR1019990047316 A KR 1019990047316A KR 19990047316 A KR19990047316 A KR 19990047316A KR 100296500 B1 KR100296500 B1 KR 100296500B1
Authority
KR
South Korea
Prior art keywords
information
search
classification
product
web
Prior art date
Application number
KR1019990047316A
Other languages
Korean (ko)
Other versions
KR20000049333A (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 KR1019990047316A priority Critical patent/KR100296500B1/en
Publication of KR20000049333A publication Critical patent/KR20000049333A/en
Application granted granted Critical
Publication of KR100296500B1 publication Critical patent/KR100296500B1/en

Links

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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • G06Q30/0629Directed, with specific intent or strategy for generating comparisons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Abstract

본 발명은 인터넷 상에 존재하는 쇼핑몰들로부터 별도의 가공작업을 요구하지 않고, 웹 형태로 제공하는 문서들로부터 상품정보를 자동으로 추출, 분류하여 사용자들에게 디렉토리 형태의 서비스로 제공하는 지능형 인터넷 쇼핑몰 상품비교 검색엔진에 관한 것이다. 이를 위해, 인터넷상에서, 상품에 관한 정보를 포함하고 있는 다수의 웹으로부터 주기적으로 문서정보를 수신하는 웹탐색수단(110); 상기 수신된 문서정보로부터 상품정보와 상기 상품정보 주변의 위치정보를 함께 추출하고, 추출된 정보들로부터 단어비교 및 정보의 종류와 형식을 비교하는 정보분석수단(130); 웹페이지 자체의 분류 및 상기 웹페이지 내의 상품정보에 관한 분류를 내장된 상품분류 데이터베이스와 비교하여 분류한 뒤, 상기 데이터베이스에 저장하는 분류분석수단(150); 입력된 적어도 하나 이상의 검색어를 이용하여 상기 분류분석수단(15)의 데이터베이스를 검색하는 지능형 검색수단(170); 및 인터넷상에서 다수의 사용자가 접속하여 데이터를 입출력할 수 있는 웹서버(190)를 포함한다.The present invention does not require separate processing from shopping malls existing on the Internet, and automatically extracts and classifies product information from documents provided in a web form and provides an intelligent Internet shopping mall to users as a directory type service. It's about a product comparison search engine. To this end, on the Internet, the web searching means 110 for receiving document information periodically from a plurality of web containing information about the product; Information analysis means (130) for extracting commodity information and location information around the commodity information from the received document information, and comparing word types and types and types of information from the extracted information; A classification analysis means (150) for classifying the classification of the web page itself and the classification of the product information in the web page by comparing the classification with a built-in product classification database and storing the classification in the database; Intelligent search means 170 for searching the database of the classification analysis means 15 by using at least one search term input; And a web server 190 to which a plurality of users can access and input / output data on the Internet.

Description

지능형 인터넷 쇼핑몰 상품비교검색엔진{An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall}An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall}

본 발명은 인터넷상에 산재하는 쇼핑상품을 검색하는 검색엔진에 관한 것으로, 보다 상세하게는 인터넷 상에 존재하는 쇼핑몰들로부터 별도의 가공작업을 요구하지 않고, 웹 형태로 제공하는 문서들로부터 상품정보를 자동으로 추출, 분류하여 사용자들에게 디렉토리 형태의 서비스로 제공하는 지능형 인터넷 쇼핑몰 상품비교검색엔진에 관한 것이다.종래에는 인터넷상의 상품검색엔진은 단순히 웹상에서 제공하는 문서내에 존재하는 단어를 비교하여 일치하는가를 판단하는 수준이었다. 따라서, 상품에 관한 상품명, 가격, 제조사 등의 정보가 함께 모여 상품정보를 이루는 경우 상품검색엔진이 이들 정보를 적절히 판단하여 분류할 없기 때문에 최상의 검색 서비스를 제공하는데 한계가 있었다. 또한 이러한 종래의 검색엔진들 역시 쇼핑몰의 등록 및 처리, 상품검색 등에 있어 상당한 수준의 수작업을 요하거나, 지나치게 낮은 인식률과 오류로 인해 원활하게 정보를 제공하지 못해 왔다.The present invention relates to a search engine for searching for shopping goods scattered on the Internet, and more particularly, product information from documents provided in a web form without requiring a separate processing operation from shopping malls existing on the Internet. Is related to an intelligent internet shopping mall product comparison search engine that automatically extracts, classifies, and provides users as a directory-type service. Conventionally, a product search engine on the Internet simply compares and matches words existing in documents provided on the web. It was a level to judge. Therefore, when information about a product name, a price, a manufacturer, and the like are gathered together to form product information, the product search engine cannot properly determine and classify such information, thereby providing a best search service. In addition, these conventional search engines also require a considerable amount of manual work in the registration and processing of the shopping mall, product search, or have not been able to provide information smoothly due to too low recognition rate and errors.

따라서 본 발명은 상기와 같은 문제점을 해결하기 위하여 도출된 것으로써, 본 발명의 제 1 목적은, 인터넷상에 산재하는 상품정보를 검색하여 분류한 뒤, 이를 체계적으로 제공하는 지능형 인터넷 쇼핑몰 상품비교검색엔진을 제공하는 것이다.본 발명의 제 2 목적은 상품정보에 대해 높은 인식률을 갖고, 관리자에 의해 별도의 수작업이 필요없는 지능형 인터넷 쇼핑몰 상품비교검색엔진을 제공하는 것이다.상기와 같은 본 발명의 목적은, 인터넷상에서, 상품에 관한 정보를 포함하고 있는 다수의 웹으로부터 주기적으로 문서정보를 수신하는 웹탐색수단(110); 상기 수신된 문서정보로부터 상품정보와 상기 상품정보의 상, 하, 좌, 우에위치한 정보를 함께 추출하고, 추출된 상기 상품정보와 위치정보를 이용하여 단어검색과 속성검색을 수행하는 정보분석수단(130); 상기 웹탐색수단(110)에 의해 접속되는 웹페이지 정보 및 상기 정보분석수단(130)에 의하여 분석된 상품정보에 기초하여 상기 웹페이지의 분류 및 상기 상품정보에 관한 분류를 내장된 상품분류 데이터베이스와 검색비교한 뒤, 상기 데이터베이스에 업데이트하는 분류분석수단(150); 유사어사전을 구비하고 있고, 적어도 하나 이상의 검색어가 입력될 경우, 상기 유사어사전으로부터 상기 검색어에 대한 대표어와 유사어를 검색하고, 상기 대표어와 상기 유사어에 기초하여 상기 분류분석수단(150)의 데이터베이스를 검색하는 검색수단(170); 및 인터넷상에서 다수의 사용자가 접속하여 데이터를 입출력할 수 있는 웹서버(190)를 포함하는 것을 특징으로 하는 지능형 인터넷 쇼핑몰 상품비교검색엔진에 의하여 달성될 수 있다.그리고, 상기 웹탐색수단(110)은, HTML파일 및/또는 CGI를 수신할 수 있는 HTTP 클라이언트(113), 수신된 웹페이지와 링크된 다른 웹페이지를 파악하는 URL파싱부(115), 상기 URL을 임시저장하는 URL 캐쉬부(117)로 구성된 메타로봇(111); 및 불특정 웹페이지로부터 상기 웹페이지의 구조와 상품정보의 표현방식을 파악하여 저장하는 제 1모드(119), 상기 제 1모드에 의해 저장된 웹페이지의 구조와 표현방식으로부터 상기 웹페이지 내용의 변경을 판단하여 업데이트하는 고속모드(121) 및 상품정보가 존재하는 특정 웹페이지로부터 상기 웹페이지의 구조와 상기 상품정보를 파악하는 재시작모드(123)로 동작되는 검색로봇(112); 을 포함하는 것이 바람직하다.또한, 상기 메타로봇(111)의 상기 URL 캐쉬부(117)는, URL의 절대경로가 저장될 수 있는 URL 필드(125); 미검색상태인 경우 'NOT', 검색이 끝난 경우 'END', 상품정보가 존재하여 상기 상품정보를 상기 검색로봇(112)에 전송한 경우 'DATA' 들중 하나의 상태값이 저장되는 콘텐츠(contents) 필드(129); 및 마지막으로 검색한 시간을 저장하여 검색이 주기적으로 수행될 수 있도록 하는 서치시간(search_time) 필드(132);를 포함하는 구조의 데이터베이스인 것이 가능하다.상기 검색로봇(112)은, URL의 절대경로가 저장되는 URL 필드(133); 상기 고속모드에서 이용될 수 있도록 상기 웹페이지가 상품정보를 포함하고 있는가 여부를 저장하는 콘텐츠(content) 필드(134); 미검색상태인 경우 'NOT', 검색이 끝난 경우 'END', 상품정보가 존재하여 상기 상품정보를 상기 검색로봇(112)에 전송한 경우 'DATA' 들중 하나의 상태값이 저장되는 상태(state) 필드(135); 및 마지막으로 검색한 시간을 저장하여 검색이 주기적으로 수행될 수 있도록 하는 시간(time) 필드(136);를 포함하는 구조의 데이터베이스를 더 포함하는 것을 바람직하다.또한, 상기 정보분석수단(130)은, 상기 웹페이지의 분석을 위해 상기 웹페이지의 HTML 태그을 기초로 하여 상기 웹페이지가 상하관계인지 병렬관계인지를 판단하는 것이 바람직하다.그리고, 상기 검색수단(170)의 상기 유사어사전은, 대표어와 상기 대표어에 해당하는 복수의 유사어들로 구성되는 것이 가능하다.본 발명의 다른 목적들, 분명한 장점들 및 신규한 특징들은 이하의 상세한 설명 및 첨부된 도면들에 따른 바람직한 실시예들로 부터 더 분명해 질것이다.Therefore, the present invention was derived to solve the above problems, the first object of the present invention is to search and classify the product information scattered on the Internet, and then intelligently provide a systematic shopping mall product comparison search A second object of the present invention is to provide an intelligent Internet shopping mall product comparison search engine that has a high recognition rate for product information and does not require a separate manual operation by an administrator. The web search means 110 for receiving document information periodically from a plurality of web containing information on the product on the Internet; Information analysis means for extracting the product information and the information located on the upper, lower, left, right of the product information from the received document information, and performs a word search and attribute search using the extracted product information and location information ( 130); A product classification database including a classification of the web page and a classification of the product information based on the web page information connected by the web search means 110 and the product information analyzed by the information analysis means 130; Classification analysis means 150 for updating the database after comparing and searching; And having at least one keyword, the representative word and the similar word for the search word are searched from the similar word dictionary, and the database of the classification analysis means 150 is searched based on the representative word and the similar word. Search means 170; And it can be achieved by an intelligent Internet shopping mall product comparison search engine, characterized in that it comprises a web server 190 that can be connected to a plurality of users on the Internet to input and output data. The web search means 110 Is, an HTTP client 113 capable of receiving HTML files and / or CGIs, a URL parsing unit 115 for grasping other web pages linked with the received web page, and a URL cache unit 117 for temporarily storing the URLs. Meta robot 111 consisting of; And a first mode 119 for grasping and storing the structure of the web page and the expression method of the product information from the unspecified web page, and changing the contents of the web page from the structure and the expression method of the web page stored by the first mode. A search robot 112 operated in a restart mode 123 for identifying the structure of the web page and the product information from a specific web page in which the high speed mode 121 for determining and updating the product information exists; In addition, the URL cache unit 117 of the meta-robot 111, the URL field 125, the absolute path of the URL can be stored; 'NOT' in the unsearched state, 'END' in the end of the search, and contents in which one state value of 'DATA' is stored when the product information exists and is transmitted to the search robot 112 ( contents field 129; And a search_time field 132 for storing the last searched time so that the search can be performed periodically. The search robot 112 may be an absolute structure of a URL. A URL field 133 in which a path is stored; A content field 134 for storing whether or not the web page includes product information for use in the fast mode; 'NOT' in the unsearched state, 'END' when the search is completed, and when the product information exists and the product information is transmitted to the search robot 112, the state value of one of the 'DATA' is stored ( state) field 135; And a time field 136 for storing the last searched time so that the search can be performed periodically. Further, the information analyzing means 130 may further include a database. In order to analyze the web page, it is preferable to determine whether the web page is a vertical relationship or a parallel relationship based on the HTML tag of the web page. The similar word dictionary of the search means 170 is representative. And a plurality of similar words corresponding to the representative words. Other objects, obvious advantages, and novel features of the present invention can be made from the preferred embodiments according to the following detailed description and the accompanying drawings. It will be clearer.

도 1은 본 발명의 일실시예에 의한 지능형 인터넷 쇼핑몰 상품비교검색엔진의 개략적인 구성도,1 is a schematic configuration diagram of an intelligent internet shopping mall product comparison search engine according to an embodiment of the present invention;

도 2는 도 1에 도시된 웹탐색시스템의 개략적인 구성도,FIG. 2 is a schematic configuration diagram of the web search system shown in FIG. 1;

도 3은 도 2에 도시된 URL 캐쉬부의 데이터구조도,3 is a data structure diagram of a URL cache unit shown in FIG. 2;

도 4는 도 2에 도시된 검색로봇이 갖는 데이터베이스의 구조도이다.4 is a structural diagram of a database of the search robot shown in FIG.

이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하도록 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 의한 지능형 인터넷 쇼핑몰 상품비교검색엔진의 개략적인 구성도이다. 도 1에 도시된 바와 같은 전체 시스템 구성은 검색엔진(100)와 다수의 쇼핑몰(200)로 나타낼 수 있고, 검색엔진(100)에 접속가능한 다수의 사용자(10)와 시스템을 관리, 유지, 보수하는 관리자(20)가 있다.검색엔진(100)의 내부는 크게 웹탐색시스템(110), 정보분석 시스템(130), 분류분석시스템(150), 지능형 검색시스템(170) 및 웹서버(190)로 구성된다. 이하에서는 검색엔진(100)의 내부를 구성하는 상기 각 구성요소의 구성과 기능 및 작용효과에 대해 순차적으로 기술하도록 한다.1 is a schematic diagram of an intelligent Internet shopping mall product comparison search engine according to an embodiment of the present invention. The overall system configuration as shown in FIG. 1 may be represented by a search engine 100 and a plurality of shopping malls 200, and manages, maintains, and maintains a plurality of users 10 and systems accessible to the search engine 100. There is an administrator 20. The search engine 100 includes a web search system 110, an information analysis system 130, a classification analysis system 150, an intelligent search system 170, and a web server 190. It consists of. Hereinafter, the configuration, function, and effect of each of the components constituting the inside of the search engine 100 will be described sequentially.

웹탐색시스템(100)은 상품 정보를 가지고 있는 웹을 대상으로 자동적으로 자료를 가져오고, 주기적으로 자료를 갱신하고 새로운 정보를 파악한다. 웹페이지 내의 구조가 바뀌거나, 홈페이지 자체의 구조가 변경되는 경우에도 자동으로 이를 파악하여 주기적으로 자료를 갱신하며, 갱신 주기를 자동으로 설정하여 부하를 최소한으로 줄이는 기능을 포함한다.The web search system 100 automatically imports data on the web having product information, periodically updates the data and grasps new information. When the structure of the webpage changes or the structure of the homepage itself changes, it automatically checks for this and updates the data periodically, and includes a function to reduce the load by setting the update cycle automatically.

도 2는 도 1에 도시된 웹탐색시스템의 개략적인 구성도이다. 도2에 도시된 바와 같이, 웹탐색 시스템(110)은 로봇기술을 사용한 메타로봇(111)과 서치로봇(112)의 2개 시스템으로 구성되어 있다.FIG. 2 is a schematic configuration diagram of the web search system shown in FIG. 1. As shown in FIG. 2, the web search system 110 is composed of two systems, a meta robot 111 and a search robot 112 using robot technology.

메타로봇(111)은 전체 웹을 대상으로 무작위한 검색을 한다. 전체 웹사이트에 대한 자체 DB를 구성하여, 검색을 한 웹사이트와 검색하지 않은 웹사이트를 구분한다. 또한, 초기에 기본적인 웹사이트 DB를 가지고 있지 않으며, 특정 웹사이트를 시작 사이트로 지정하기만 하면, 전체 웹의 거미줄 같은 구조를 이용해서 끊임없이 검색을 시작한다.The meta robot 111 performs a random search of the entire web. It constructs its own DB for the entire website, and distinguishes between searched and unsearched websites. In addition, it does not have a basic web site DB initially, and simply designates a specific web site as a starting site, and continuously searches using a web-like structure of the entire web.

자체적으로 멀티 프로세스(Multi Process)로 작동되므로 분산 처리가 가능하며, 그 다중 수행(Multi Performance)을 결정할 수 있다. 웹사이트를 검색하면서 정보분석시스템과 연계하여 특정 정보가 존재하는지의 여부를 판단하여, 특정 정보가 존재하는 경우에는 검색로봇에게 자료를 전달한다. 특정정보에 해당하는 키워드가 명확하게 존재하는 경우에는 국내/외 기존의 검색엔진을 이용하여, 필터링(Filtering) 하는 기능을 통하여 전체웹을 대상으로 하는 것보다 높은 속도를 낼 수도 있다.Because it operates as a multi-process itself, distributed processing is possible and its multi performance can be determined. While searching a web site, it determines whether or not specific information exists in connection with an information analysis system, and delivers data to a search robot when specific information exists. If the keyword corresponding to the specific information is clearly present, it may be higher than that of the entire web through the filtering function using existing search engines at home and abroad.

이하에서는 이와 같은 메타로봇(111)의 구성에 관하여 상세히 설명하기로 한다.메타로봇(111)은 크게 HTML파일이나 CGI를 가져올 수 있는 HTTP 클라이언트(113) 부분과 URL을 파싱(parsing)하는 부분(115) 및 URL을 캐쉬(cache)하는 부분(117)으로 나누어진다.HTTP 클라이언트(113)는 C언어나 자바(Java)를 사용하여 전형적인 네트워크 프로그래밍 방법을 통하여 해결한다. 가상 웹호스팅 사이트에 정상적으로 작동하기 위하여 헤더(Header)를 자체적으로 조절하며, 웹 로봇을 배제하기 위한 규약인 'robots.txt' 파일에 대한 처리를 한다.URL을 파싱부(115)는 크게 2가지 인자로 수행된다. 즉, HTML TAG상의 링크 정보를 바탕으로 절대 URL을 얻는 것이 주 목적이다.현재의 URL을 'current_url' 에 저장하고, 현재의 상대경로를 'reference_url' 로 저장하여 이 둘을 하나의 url로 만들어 내는데, 특정 웹사이트에서 잘못된 링크를 하는 경우에는 이를 오류로 판단한다. 기본적으로 웹브라우저에서 절대 url을 얻어내는 방식과 동일한 방식으로 구현한다. 두 url의 절대경로간의 관계를 파악하는 것은 물리적인 경로를 구분하는 '/'를 사용하여 구현한다. 이는 URL 파서(파서)라는 부분에서 다시 자세히 설명하겠다.URL 캐쉬부(117)는 똑같은 웹사이트를 다시 검색하지 않도록 하고, 다수개의 웹사이트를 대상으로 로봇이 무한순환을 하게 되는 것을 방지하기 위함이다. 검색이 끝난 사이트와 아직 검색하지 않은 사이트를 구분하며, 특정 정보가 존재하는 사이트는 검색로봇이 검색할 수 있도록 자료를 전달한다.도 3에 도시된 바와 같이, DB를 사용하여 URL(125), Contents(129), Search_Time(132) 의 3가지 필드로 구성한다. URL필드(125)는 절대 경로를 저장하며, Contents필드(129)는 내용을 포함하고, Search_Time필드(132)는 검색한 시간을 나타낸다.Contents필드(129)는 'NOT', 'END', 'DATA'의 3가지 값을 가질수 있으며, 'NOT'은 아직 검색을 하지 않은 상태를 나타내며, 'END'는 검색이 끝난 상태, 'DATA'는 특정 정보가 존재하여 검색로봇에 자료를 전송한 상태를 나타낸다. Search_Time필드(132)는 마지막으로 검색한 시간을 저장하여, 주기적으로 웹사이트를 다시 검색할 수 있도록 제공한다.이하에서는 웹탐색시스템(110)내에 존재하는 또 다른 로봇인 검색로봇(112)에 대해 설명하기로 한다.Hereinafter, the configuration of the meta-robot 111 will be described in detail. The meta-robot 111 is a part for parsing a URL and an HTTP client 113 capable of importing an HTML file or CGI. 115) and the portion 117 that caches the URL. The HTTP client 113 solves through a typical network programming method using C language or Java. In order to operate normally in the virtual web hosting site, the header itself is controlled and the robots.txt file, which is a protocol for excluding the web robot, is processed. Performed as an argument. In other words, the main purpose is to get an absolute URL based on the link information on the HTML TAG, save the current URL in 'current_url' and save the current relative path as 'reference_url' to make them both urls. For example, if an incorrect link is made from a specific website, it is regarded as an error. Basically, it is implemented in the same way that the absolute url is obtained from the web browser. Determining the relationship between absolute paths of two urls is implemented by using '/' to separate physical paths. This will be described in detail later in the section called URL parsers. The URL cache unit 117 prevents the robot from infinitely circulating a plurality of websites without re-searching the same website again. . The searched site is distinguished from the site which has not been searched yet, and the site in which the specific information exists is transmitted to the search robot for searching. As shown in FIG. 3, the URL 125, It consists of three fields: Contents (129) and Search_Time (132). The URL field 125 stores the absolute path, the Contents field 129 contains the content, and the Search_Time field 132 indicates the searched time. The Contents field 129 indicates' NOT ',' END ',' DATA 'can have three values,' NOT 'indicates the state that has not been searched yet,' END 'indicates that the search has been completed, and' DATA 'indicates the state where data has been sent to the search robot because certain information exists. Indicates. The Search_Time field 132 stores the last searched time and provides a search for the web site periodically. Hereinafter, the search robot 112, which is another robot existing in the web search system 110, may be used. Let's explain.

검색로봇(112)은 메타로봇(111)이 판단한 웹사이트 중에서 특정 정보가 존재하는 사이트만을 대상으로 검색을 행한다. 특정정보의 표현방식과 웹사이트의 구조를 파악하는 첫번째 모드(제 1 모드)(119)와 판단된 구조를 바탕으로 빠른 속도로 검색하는 고속모드(Fast 모드)(121), 웹사이트의 구조가 변경되었거나 추가/삭제된 경우에 이를 파악하는 재시작 모드(Restart 모드)(123)의 3가지로 구성되어 있다.The search robot 112 searches only the site where specific information exists among the websites determined by the meta robot 111. The first mode (first mode) 119 to grasp the expression method of the specific information and the structure of the website, and the fast mode 121 to search at a high speed based on the determined structure, the structure of the website It is composed of three types of restart mode (Restart mode) 123 to identify when changed or added / deleted.

제 1모드(119)는 특정 사이트를 처음 검색할 경우에 사용하는 모드로써, 웹사이트의 구조와 특정 정보의 표현방식에 대한 판단을 행한다. 웹사이트내에서 특정 정보가 존재하는 페이지만을 정확히 분리해내고, 이를 등록한다. 또한, 게시판이나 방명록과 같이 불필요한 정보가 대량으로 존재하는 경우에는 이를 판단하여 검색에서 제외시킴으로써 검색속도를 향상시킨다. 기본적으로 웹사이트의 전체 페이지를 검색하게 된다. 또한, 특정 웹사이트 외부로 검색로봇이 검색대상을 확장하는 것을 막기 위해서, 자체적으로 경계(Boundary)를 설정하게 된다. 이 경계선에 의해서 다른 사이트로 검색대상이 변경되는 것을 방지한다.The first mode 119 is a mode used when searching for a specific site for the first time. The first mode 119 determines a structure of a website and a method of expressing specific information. Accurately separate and register only pages with specific information within the website. In addition, when there is a large amount of unnecessary information such as a bulletin board or a guest book, it is determined and excluded from the search to improve the search speed. By default it will search the entire page of your website. In addition, in order to prevent the search robot from expanding a search object outside of a specific website, a boundary is set by itself. This boundary prevents the search target from being changed to another site.

고속 모드(121)는 제 1 모드(119)에서 파악한 정보만을 바탕으로 검색을 행하므로, 빠른 속도로 자료를 갱신할 수 있게 된다. 즉, 정보가 존재하는 페이지만을 대상으로 검색을 하게 되는데, 그 구조에 대해서도 기존에 제 1 모드(119)에서 작성한 자료를 바탕으로 비교한다. 자료가 새로 추가되었거나 삭제/변경된 경우에 이를 모두 감지할 수 있으며, 기존의 자료와의 차이점을 파악할 수 있으므로 정보를 가져오는 것을 완벽하게 수행한다.The high speed mode 121 searches based on only the information grasped in the first mode 119, so that the data can be updated at a high speed. That is, the search is performed only on the page in which the information exists, and the structure thereof is also compared based on the data previously created in the first mode 119. When the data is newly added or deleted / changed, all of them can be detected, and the difference with the existing data can be detected, so the information is perfectly imported.

자체적으로 고속 모드(121)를 주기적으로 가동하는 별도의 서버 프로그램이 존재하는데, 이는 자체 스케쥴 기능을 포함하므로 주기적으로 검색해야 할 간격을 설정할 수 있다. 처음에 기본값으로 주기를 설정하더라도 여러번 검색을 통해서, 웹사이트의 정보가 바뀌는 간격을 파악한다. 따라서, 상대편 웹서버에 부하를 최소한으로 줄일 수 있다.There is a separate server program that periodically operates the high speed mode 121 by itself, and since it includes its own scheduling function, an interval to be periodically searched can be set. Even if you initially set the frequency as the default, search through it several times to see how often the information on your website changes. Thus, the load on the other web server can be reduced to a minimum.

정보가 존재하는 웹페이지의 자료를 가져온 후에는 추후 설명할 정보분석시스템(130)과 연동하여 대상 자료만을 정확하게 가져오게 되는데, 이 과정을 병행하므로 상대편 웹서버에 자동으로 시간 간격을 두고 접근하게 된다. 고속 모드(121)는 웹사이트의 구조가 변경되는 경우에는 이를 감지할 수가 없는데, 이럴 경우 오류 처리를 통하여 세 번째 모드인 재시작 모드(123)를 호출함으로써 이를 해결한다.After importing the data of the web page where the information exists, only the target data is accurately imported in conjunction with the information analysis system 130, which will be described later. In parallel with this process, the web server of the other side is automatically approached at intervals. . The fast mode 121 cannot detect this when the structure of the website is changed. In this case, the fast mode 121 solves this by calling the restart mode 123, which is the third mode through error processing.

재시작 모드(123)는 제 1 모드(119)와 고속 모드(121)의 복합형이라고 할 수 있다. 특정 정보가 존재하는 페이지만을 대상으로 정보를 가져오면서 더불어 웹사이트 전체를 파악함으로써 새로운 구조를 파악하게 된다. 제 1 모드와 가장 큰 차이점은 관리자가 수동으로 변경한 정보에 대해서 자료를 갱신하지 않고, 수동 작업 결과를 반영한다는데 있다. 또한 고속 모드(121)에서 사용하는 빠른 속도를 통한 자료갱신을 할 수 있다.The restart mode 123 may be referred to as a hybrid of the first mode 119 and the fast mode 121. By importing information only on pages where specific information exists, the entire structure of the website is identified to identify the new structure. The main difference from the first mode is that the administrator does not update the data on the information manually changed, but reflects the result of manual work. In addition, data can be updated through the high speed used in the high speed mode 121.

검색로봇(112)은 2개의 DB Table을 참조하게 되는데, 그 구조를 먼저 설명하겠다. 도 4에 도시된 바와 같이, 검색로봇(112)이 작동하기 위해서는 2가지의 정보를 기억해야 하는데, 그것은 웹사이트 내에서 정보가 존재하는 페이지를 저장하는 것과 정보의 표현방식을 저장하는 것이다. 정보가 존재하는 페이지와 표현방식은 웹사이트내에서 변경될 수 있으며, 이는 재시작 모드()123)에서 감지가 가능하다. 하지만, 고속모드(121)로 정보를 빠른 속도로 갱신하기 위해서 캐쉬 형태로 저장해 두는 것이 필요하다. 이 테이블(Table)은 'URL'(133), 'C0NTENT'(134), 'STATE'(135) 및 'TIME'(136) 의 4가지 필드로 구성된다.URL필드(133)은 절대경로를 저장하고, CONTENT필드(134)는 어떤 정보를 담고 있는지 저장한다. 즉, 특정 정보를 포함하고 있는지 그렇지 않은지를 판단함으로써 고속 모드에서 특정 정보를 담고 있는 페이지만을 검색할 수 있도록 한다. STATE필드(135)는 현재 상태를 나타내는데, 현재 검색중인지 검색이 끝났는지, 아직 검색하지 않았는지를 저장해서 중복해서 검색하지 않도록 한다. TIME필드(136)는 검색이 끝난 최근 시간을 저장하며, 특정 주기로 재검색을 할 수 있도록 구성된다.The search robot 112 refers to two DB tables, the structure of which will be described first. As shown in Fig. 4, in order for the search robot 112 to operate, two pieces of information need to be stored, that is, a page in which the information exists in a website and a method of storing the information. The page in which the information is present and the presentation method can be changed in the website, which can be detected in restart mode (123). However, in order to update information at a high speed in the high speed mode 121, it is necessary to store it in a cache form. This table consists of four fields: 'URL' 133, 'C0NTENT' 134, 'STATE' 135, and 'TIME' 136. The URL field 133 is an absolute path. And the CONTENT field 134 stores what information is contained. That is, it is possible to search only the page containing the specific information in the fast mode by determining whether the specific information is included or not. The STATE field 135 indicates the current state. The STATE field 135 stores whether the current search is completed, whether the search is over, or has not been searched yet, so that the search is not repeated. The TIME field 136 stores the latest time when the search is completed, and is configured to allow re-search at a specific period.

표현방식을 저장하는 것은 정보분석시스템에서 특정 정보의 표현형식을 파악하여 이를 저장하는 것으로 정보분석시스템에서 설명하겠다.Storing the expression method is to identify and store the expression format of specific information in the information analysis system, which will be explained in the information analysis system.

이하에서는 검색로봇(112)중 제 1모드(119)의 동작구성을 상세히 설명하도록 한다. 즉, 제 1 모드는 다음과 같은 단계로 구성된다.Hereinafter, an operation configuration of the first mode 119 of the search robot 112 will be described in detail. That is, the first mode consists of the following steps.

(1) 대상 웹사이트 검색 - 메타로봇(111)에서 전달한 정보를 바탕으로 제 1 모드로 검색해야 할, 특정 정보를 담고 있는 웹사이트를 찾아낸다.(1) Target website search-Finds a website containing specific information to be searched in the first mode based on the information transmitted from the metarobot 111.

(2) 현재 상태를 체크 - 현재 특정 웹사이트를 검색로봇(112)이 검색중이라는 상태를 저장한다. 멀티 프로세스로 작동하면서 중복해서 검색하지 않도록 한다.(2) Check the current state-Stores the state that the search robot 112 is currently searching for a specific website. It works in a multi-process way, avoiding duplicate searches.

(3) 기존의 자료를 삭제 - 제 1 모드(119)로 작동하는 경우에는 기존의 자료가 존재하지 않으나, 똑같은 사이트가 다른 URL을 가지고 있거나, 기존의 제 1 모드(119)에서 비정상적으로 종료된 경우 남아 있을 가능성이 있는 정보들을 삭제한다.(3) Deleting Existing Material-When operating in the first mode 119, there is no existing material, but the same site has a different URL or abnormally terminated in the existing first mode 119. If so, delete any information that may remain.

(4) STATE 변경 - 웹사이트에 해당하는 URL을 전부 검색해야 할 대상이 될 수 있도록 STATE를 조정한다. 웹사이트를 처음 검색하는 경우에 이런 기능은 필요없지만, 기존의 제 1 모드(119)에서 비정상적으로 종료되어 재시도되는 경우가 있을 수 있으므로 STATE를 전부 'NOT' 으로 변경한다.(4) Change STATE-Adjust STATE so that all URLs corresponding to the website can be searched. This function is not necessary when the website is first searched, but may be abnormally terminated and retried in the existing first mode 119, and thus, STATE is changed to 'NOT'.

(5) 검색해야 할 URL 판단 - 검색하지 않은 URL을 하나씩 재귀적으로 호출한다. 한 페이지를 검색할 때마다 검색이 끝났음을 체크하기 때문에 단순하게 하나씩 호출하면, 실질적으로 모든 페이지를 순서대로 검색하게 된다.(5) Determining URLs to Search-Recursively call unsearched URLs one by one. Whenever we search for a page, we check that the search is over, so if we simply call them one by one, we will actually search all the pages in order.

(6) 웹페이지 가져오기 - HTTP 클라이언트(113)를 이용해서 해당 URL의 페이지를 가져온다.(6) Web page import-Use the HTTP client 113 to retrieve the page of the URL.

(7) 정보의 존재여부 판단 - 가져온 웹페이지가 특정 정보를 담고 있는지를 파악한다. 만약 특정 정보가 존재한다면 이는 정보가 있는 페이지로 분류하고, 그렇지 않은 경우에는 정보가 존재하지 않는 페이지로 저장한다.(7) Determination of the existence of information-Determine whether the imported web page contains specific information. If specific information exists, it is classified as a page with information. Otherwise, it is stored as a page without information.

(8) 정보 저장 - 특정 정보가 존재하는 페이지의 경우에는 후술할 정보분석시스템(130)과 연동하여 특정정보를 추출하여 이를 저장한다. 직접 DB로 입력하지 않고, 일종의 임시 DB를 사용하는데, 이는 오류시에 데이터 복구를 위해서이다. 웹사이트 전체에 대한 검색이 끝난후에 임시 DB의 내용을 메인 DB로 복사한다.(8) Information Storage-In the case of a page in which specific information exists, the specific information is extracted and stored in association with the information analysis system 130 to be described later. Instead of entering the DB directly, a temporary DB is used, which is used to recover data in case of error. After searching the entire website, copy the contents of the temporary DB to the main DB.

(9) URL 파서 작동 - URL을 파싱하는 프로그램을 이용하여, 가져온 웹페이지내에서 다른 페이지로의 연결되는 것들을 모두 파악한다. 이런 방식으로 웹사이트 전체를 검색하게 된다. URL 파서의 구현은 다시 자세히 설명하겠다.(9) URL parser operation-Using a program that parses URLs, it grasps all the links to other pages in the imported web page. In this way, you will search the entire website. The implementation of the URL parser will be described in detail later.

(10) URL 검사 - 파싱한 결과 URL중에서 해당 웹사이트의 경계에 속하는 것들만 제외하고는 삭제한다.(10) URL checking-As a result of parsing, the URL is deleted except for those belonging to the boundary of the website.

(11) 현재 상태를 체크 - 검색이 끝났음을 저장하고, 마지막으로 검색한 시간을 변경한다.(11) Check the current status-save the end of the search and change the last searched time.

(12) DB 업데이트 - 검색중일 때 임시적으로 사용하던 임시 DB에서 실제 DB로 자료를 옮긴다. 이로써 자료의 등록과정이 모두 끝나게 된다.(12) DB Update-Moves data from the temporary DB that was used temporarily while searching to the actual DB. This completes the registration process.

이하에서는 검색로봇(112)중 고속 모드(121)의 동작구성을 상세히 설명하도록 한다. 즉, 고속 모드(121)는 다음과 같은 단계로 구성된다.Hereinafter, the operation configuration of the high speed mode 121 of the search robot 112 will be described in detail. That is, the high speed mode 121 is composed of the following steps.

(1) 대상 웹사이트 검색 - 고속 모드(121)로 검색해야할 웹사이트를 찾는다. 최근에 마지막으로 검색한 시간과 현재 시간을 비교하여, 검색 주기를 바탕으로 판단한다.(1) Target website search-finds a website to be searched in the fast mode 121. The latest search time and the current time are compared to determine the search time.

(2) 현재 상태를 체크 - 현재 특정 웹사이트를 검색로봇(112)이 검색중이라는 상태를 저장한다. 멀티 프로세스로 작동하면서 중복해서 검색하지 않도록 한다.(2) Check the current state-Stores the state that the search robot 112 is currently searching for a specific website. It works in a multi-process way, avoiding duplicate searches.

(3) 기존의 정보를 복사 - 기존의 정보를 바탕으로 그 변경내용을 저장하는 기능이 있으므로, 기존의 정보를 삭제하지 않고, 메인 DB에서 임시 DB로 내용을 복사한다.(3) Copy existing information-Since there is a function to save the changes based on the existing information, the contents are copied from the main DB to the temporary DB without deleting the existing information.

(4) STATE 변경 - 웹사이트에 해당하는 URL을 전부 검색해야 할 대상이 될 수 있도록 STATE를 조정한다.(4) Change STATE-Adjust STATE so that all URLs corresponding to the website can be searched.

(5) 검색해야 할 URL 판단 - 검색하지 않은 URL을 하나씩 재귀적으로 호출한다. 한 페이지를 검색할 때마다 검색이 끝났음을 체크하기 때문에 단순하게 하나씩 호출하면, 실질적으로 모든 페이지를 순서대로 검색하게 된다. 고속 모드(121)이므로, 기존의 URL DB에서 정보가 존재하는 페이지만을 대상으로 검색한다.(5) Determining URLs to Search-Recursively call unsearched URLs one by one. Whenever we search for a page, we check that the search is over, so if we simply call them one by one, we will actually search all the pages in order. Since the fast mode 121, the target URL is searched only for pages in which information exists in the existing URL DB.

(6) 웹페이지 가져오기 - HTTP 클라이언트를 이용해서 해당 URL의 페이지를 가져온다.(6) Get web page-Get the page of the URL using HTTP client.

(7) 정보의 존재여부 판단 - 가져온 웹페이지가 특정 정보를 담고 있는지를 파악한다. 고속 모드의 경우에는 정보가 존재하는 페이지만을 대상으로 검색하지만, 웹사이트의 구조가 변경된 경우에는 정보가 존재하지 않을 수도 있는데, 이럴 경우에는 웹사이트의 구조가 변경된 것으로 판단하고 재시작 모드(123)로 검색로봇(112)을 작동한다.(7) Determination of the existence of information-Determine whether the imported web page contains specific information. In the case of the fast mode, only the page in which the information exists is searched for, but the information may not exist when the structure of the website is changed. In this case, it is determined that the structure of the website is changed and the restart mode 123 is performed. The search robot 112 is operated.

(8) 정보 저장 - 특정 정보가 존재하는 페이지의 경우에는 후술할 정보분석시스템(13)과 연동하여 특정정보를 추출하여 이를 저장한다. 직접 DB로 입력하지 않고, 일종의 임시 DB를 사용하는데, 이는 오류시에 데이터 복구를 위해서이다. 웹사이트 전체에 대한 검색이 끝난후에 임시 DB의 내용을 메인 DB로 복사한다. 기존에 이미 동일 정보가 존재하는 경우에는 그 변경내용만을 파악하여 저장한다. 또한, 기존의 정보와 비교가 필요한 경우에는 그 변경 내용을 별도의 필드에 저장하도록 DB를 구성한다.(8) Information Storage-In the case of a page in which specific information exists, the specific information is extracted and stored in association with the information analysis system 13 to be described later. Instead of entering the DB directly, a temporary DB is used, which is used to recover data in case of error. After searching the entire website, copy the contents of the temporary DB to the main DB. If the same information already exists, only the change is identified and stored. In addition, when comparison with existing information is required, the DB is configured to store the changes in a separate field.

(9) 현재 상태를 체크 - 검색이 끝났음을 저장하고, 마지막으로 검색한 시간을 변경한다.(9) Check the current status-Save the end of the search and change the last searched time.

(10) DB 업데이트 - 검색중일 때 임시적으로 사용하던 임시 DB에서 실제 DB로 자료를 옮긴다. 이로써 자료의 등록과정이 모두 끝나게 된다.(10) DB Update-Moves data from the temporary DB that was used temporarily while searching to the actual DB. This completes the registration process.

(11) 주기설정 - 기존의 정보와 새로 검색한 정보가 많이 다른 경우에는 검색 주기를 좀더 줄이게 되고, 그렇지 않고 기존의 정보와 새로 검색한 정보가 일치하는 경우에는 검색 주기를 좀더 늘리게 된다. 이렇게 경험적으로 해당 웹사이트의 변경주기를 파악하 여 상대편 웹서버의 부하를 줄이게 된다.(11) Period setting-If the existing information and the newly searched information are very different, the search period is further reduced. Otherwise, if the existing information and the newly searched information match, the search period is further increased. As a result, it is possible to reduce the load on the web server by identifying the change cycle of the web site.

이하에서는 검색로봇(112)중 재시작 모드(123)의 동작구성을 상세히 설명하도록 한다. 즉, 재시작 모드(123)는 다음과 같은 단계로 구성된다.Hereinafter, the operation configuration of the restart mode 123 of the search robot 112 will be described in detail. That is, the restart mode 123 is composed of the following steps.

(1) 대상 웹사이트 검색 - 고속 모드에서 전달한 정보를 바탕으로 재시작 모드를 수행해야 할 웹사이트를 판단한다. 재시작 모드를 수행하는 경우는 2가지가 있는데, 고속 모드에서 웹사이트의 구조에 대한 변경이 감지된 경우나, 또는 재시작 모드를 수행해야 할 시간주기가 지난 경우이다. 재시작 모드를 수행해야 할 시간 주기는 자동으로 설정된다.(1) Target website search-Based on the information delivered in the high speed mode, it determines the website to perform the restart mode. There are two cases in which the restart mode is performed, either when a change in the structure of the website is detected in the high speed mode, or when the time period for performing the restart mode has passed. The time period in which the restart mode must be performed is automatically set.

(2) 현재 상태를 체크 - 현재 특정 웹사이트를 검색로봇(112)이 검색중이라는 상태를 저장한다. 멀티 프로세스로 작동하면서 중복해서 검색하지 않도록 한다.(2) Check the current state-Stores the state that the search robot 112 is currently searching for a specific website. It works in a multi-process way, avoiding duplicate searches.

(3) 기존의 정보를 복사 - 기존의 정보를 바탕으로 그 변경내용을 저장하는 기능이 있으므로, 기존의 정보를 삭제하지 않고, 메인 DB에서 임시 DB로 내용을 복사한다.(3) Copy existing information-Since there is a function to save the changes based on the existing information, the contents are copied from the main DB to the temporary DB without deleting the existing information.

(4) STATE 변경 - 웹사이트에 해당하는 URL을 전부 검색해야 할 대상이 될 수 있도록 STATE를 조정한다. 웹사이트를 처음 검색하는 경우에 이런 기능은 필요없지만, 기존의 제 1 모드(119)에서 비정상적으로 종료되어 재시도되는 경우가 있을 수 있으므로 STATE를 전부 'NOT'으로 변경한다.(4) Change STATE-Adjust STATE so that all URLs corresponding to the website can be searched. This function is not necessary when searching the website for the first time, but it may be abnormally terminated and retried in the existing first mode 119, so all the STATE is changed to 'NOT'.

(5) 검색해야 할 URL 판단 - 검색하지 않은 URL을 하나씩 재귀적으로 호출한다. 한 페이지를 검색할 때마다 검색이 끝났음을 체크하기 때문에 단순하게 하나씩 호출하면, 실질적으로 모든 페이지를 순서대로 검색하게 된다.(5) Determining URLs to Search-Recursively call unsearched URLs one by one. Whenever we search for a page, we check that the search is over, so if we simply call them one by one, we will actually search all the pages in order.

(6) 웹페이지 가져오기 - HTTP 클라이언트(113)를 이용해서 해당 URL의 페이지를 가져온다.(6) Web page import-Use the HTTP client 113 to retrieve the page of the URL.

(7) 웹페이지 구조 파악하기 - 기존에 파악한 웹페이지의 정보 표현방식에 변화가 생긴 경우에는 이를 다시 파악하여 저장한다.(7) Identifying the structure of the web page-If there is a change in the information expression method of the web page previously identified, it is reconstructed and stored.

(8) 정보의 존재여부 판단 - 가져온 웹페이지가 특정 정보를 담고 있는지를 파악한다. 만약 특정 정보가 존재한다면 이는 정보가 있는 페이지로 분류하고, 그렇지 않은 경우에는 정보가 존재하지 않는 페이지로 저장한다.(8) Determining the existence of information-Determine whether the imported web page contains specific information. If specific information exists, it is classified as a page with information. Otherwise, it is stored as a page without information.

(9) 정보 저장 - 특정 정보가 존재하는 페이지의 경우에는 후술할 정보분석시스템(130)과 연동하여 특정정보를 추출하여 이를 저장한다. 직접 DB로 입력하지 않고, 일종의 임시 DB를 사용하는데, 이는 오류시에 데이터 복구를 위해서이다. 웹사이트 전체에 대한 검색이 끝난후에 임시 DB의 내용을 메인 DB로 복사한다.(9) Information Storage-In the case of a page in which specific information exists, the specific information is extracted and stored in association with the information analysis system 130 to be described later. Instead of entering the DB directly, a temporary DB is used, which is used to recover data in case of error. After searching the entire website, copy the contents of the temporary DB to the main DB.

(10) URL 파서 작동 - URL을 파싱하는 프로그램을 이용하여, 가져온 웹페이지내에서 다른 페이지로의 연결되는 것들을 모두 파악한다. 이런 방식으로 웹사이트 전체를 검색하게 된다. URL 파서의 구현은 다시 자세히 설명하겠다.(10) URL Parser Operation-Using a program that parses URLs, it grasps all the links to other pages in the imported web page. In this way, you will search the entire website. The implementation of the URL parser will be described in detail later.

(11) URL 검사 - 파싱한 결과 URL중에서 해당 웹사이트의 경계에 속하는 것들만 제외하고는 삭제한다.(11) URL checking-As a result of parsing, the URL is deleted except for those belonging to the boundary of the website.

(12) 현재 상태를 체크 - 검색이 끝났음을 저장하고, 마지막으로 검색한 시간을 변경한다.(12) Check the current status-save the end of the search and change the last searched time.

(13) DB 업데이트 - 검색중일 때 임시적으로 사용하던 임시 DB에서 실제 DB로 자료를 옮긴다. 이로써 자료의 등록과정이 모두 끝나게 된다.(13) DB Update-Moves data from the temporary DB that was used temporarily while searching to the actual DB. This completes the registration process.

(14) 주기 설정 - 기존의 웹사이트 구조와 새로 파악한 웹사이트 구조가 다른 경우에는 재시작 검색 주기를 줄이고, 기존의 웹사이트 구조와 새로 파악한 웹사이트 구조가 동일한 경우에는 재시작 검색 주기를 늘리게 된다. 이렇게 경험적으로 해당 웹사이트의 변경주기를 파악하여 상대편 웹서버의 부하를 줄이게 된다.(14) Period setting-If the existing web site structure and the newly identified web site structure are different, the restart search period is reduced. If the existing web site structure and the newly identified web site structure are the same, the restart search period is increased. As a rule of thumb, it can reduce the load of the web server by identifying the change cycle of the web site.

이하에서는 URL 파서에 관해 상세히 설명하기로 한다.Hereinafter, the URL parser will be described in detail.

URL 파서는 3개의 인자를 바탕으로 파싱작업을 행하게 되는데, 이는 현재의 url과 웹사이트 이름, HTML 파일명이다. 이를 바탕으로 다음과 같은 순서로 작업이 이루어진다.The URL parser parses based on three arguments: the current url, the website name, and the HTML file name. Based on this, the work is done in the following order.

(1) 링크 태그(Tag) 판별 - HTML 태그 중에서 다른 페이지로의 링크를 나타내는 태그들을 전부 찾아낸다. 주로 '<a href' 태그와 자바 스크립트(Java Script)기술을 사용한 것들이 이에 해당된다.(1) Link Tag Determination-Finds all the tags that represent links to other pages among HTML tags. This is mainly the case using the '<a href' tag and Java Script technology.

(2) 링크 문자열 판단 - Text형태의 문자열에 링크가 되어 있는 경우에는 이를 파악한다. 웹탐색 시스템에서는 필요는 없으나, 분류분석 시스템과 연동되는 경우에는 문자열 자체가 큰 의미를 지닐 수도 있기 때문이다.(2) Determination of link string-If there is a link in a text string, identify it. This is not necessary in the web search system, but when linked with the classification analysis system, the string itself may have a great meaning.

(3) 현재 URL을 판단 - 현재의 URL을 판단하는데, 이는 주로 물리적인 구조를 나누는 '/' 문자를 중심으로 하여, 현재 디렉토리의 깊이를 구한다.(3) Determining the Current URL-Determining the current URL. This is to determine the depth of the current directory, mainly around the '/' character that divides the physical structure.

(4) 링크 URL 분석 - 링크 URL을 분석한다. 링크 URL은 절대 경로일 수도 있고, 상대경로를 나타낼 수도 있으며, 파일명만을 나타내는 경우도 있다. 절대 경로일 경우에는 이를 그대로 사용할 수 있으며, 상대경로나 파일명인 경우에는 현재의 URL과 복합해서 새로운 URL을 만들어 내야 한다.(4) Link URL Analysis-Analyze link URL. The link URL may be an absolute path, may indicate a relative path, or may indicate only a file name. In case of absolute path, it can be used as it is. In case of relative path or file name, a new URL should be created by combining with the current URL.

이하에서는 도 2에 도시된 검색엔진(100)중 정보분석 시스템(130)에 관하여 설명하기로 한다.Hereinafter, the information analysis system 130 of the search engine 100 shown in FIG. 2 will be described.

정보분석시스템(130)은 외부의 문서정보들을 읽어들이고, 그 안에 담겨진 내용을 분석하여 일관된 정보체계를 구성하는 것을 주된 목적으로 한다. 현재의 전체 시스템에서는 인터넷 상에 존재하는 외부의 사이트들로부터 얻어온 HTML 형식의 문서들을 읽어들이고, 해당 문서 내에 존재하고 있는 상품관련정보들을 추출하는데 정보분석시스템(130)을 이용하고 있다.The information analysis system 130 reads external document information, analyzes the contents contained therein, and forms a consistent information system. In the current system, the information analysis system 130 is used to read documents in HTML format from external sites existing on the Internet, and to extract product-related information existing in the documents.

정보분석시스템(130)은 외부의 정보를 읽어들이고, 이를 처리하는데 있어 인간중심적 사고를 도입하였다. 즉, 인간이 정보를 분석함에 있어 가장 크게 의존하는 정보가 영상정보이고, 영상정보가 타정보들과 구분되는 특징은 위치정보가 존재하고 있다는 점이라는 것에 착안, 위치정보를 포함하며 유사한 수준의 정보들을 구별해 내는 시각중심적 정보인식법을 개발, 적용하여 인간이 정보를 분석할 때와 유사한 수준의 결과를 얻을 수 있도록 한 것이다. 이러한 개념은 전체 시스템에 공통적으로 적용되어져 있어 스스로 정보의 구조를 판별해 내거나, 유사한 정보의 구성을 간파해 내는 부분들도 이와같은 인간중심적 사고에 기반을 두고 있다.The information analysis system 130 reads external information and introduces human-centered thinking in processing it. That is, the information that humans most depend on when analyzing information is image information, and the feature that distinguishes image information from other information is that location information exists. By developing and applying a visual-based information recognition method that distinguishes people from each other, we can achieve similar results as humans analyze information. This concept is commonly applied to the whole system, and the parts that discriminate the structure of information by themselves or identify the structure of similar information are based on such human-centered thinking.

정보분석시스템(130)은 전체적으로 볼 때, 네 가지의 주요한 특징을 지니고 있다. 이러한 특징은 종래의 분석용 시스템에서 찾아보기 힘든 성질들로써 정보분석시스템(130)을 규정짓는 가장 큰 요소들이라 할 수 있다. 정보분석시스템(130)에 존재하는 주요한 기능 및 설명은 다음과 같다.The information analysis system 130 has four main characteristics as a whole. These features are properties that are hard to find in a conventional analysis system, and may be the biggest factors defining the information analysis system 130. The main functions and descriptions present in the information analysis system 130 are as follows.

(1) 시각중심적 정보인식(1) Vision-based Information Recognition

현재의 전체 시스템은 인터넷 환경을 바탕으로 다양한 사이트에서 다양한 내용과 형식의 정보들을 수집해 오고 있다. 따라서 전체 시스템에서 수집되고 있는 정보는 그 종류나 형식이 대단히 다양하여 어떤 일관된 구성이나 개념을 찾아내기가 힘들다. 현재의 컴퓨터 프로그램 기술은 모든 단계가 논리적으로 동작하게 되므로 비논리적이거나 지나치게 다양한 형태의 데이터에 대해서는 일괄적인 데이터 처리가 불가능하다는 공통적인 문제점을 안고 있어 이러한 문제점을 해결하기 위해서는 좀 더 특수한 형태의 기술이 요구된다.Currently, the entire system has collected information of various contents and formats from various sites based on the Internet environment. Therefore, the information gathered from the whole system is very diverse in its kind and format, making it difficult to find any consistent composition or concept. The current computer program technology has a common problem that all steps are logically operated, and thus batch data processing is impossible for illogical or overly diverse data types. Therefore, a more special type of technology is required to solve these problems. do.

정보분석시스템(130)에서는 이러한 문제의 해결을 위하여 시각중심적인 정보인식법을 채용하였다. 시각중심적 정보인식법이란 현재 주어진 문서형식의 정보를 분석하여 상, 하, 좌, 우와 같은 시각적인 정보들을 함께 포함하는 형태로 다시 재구성함으로써 어떠한 정보와 유사한 정보가 우측으로 나열된다거나 아래에서 위로 늘어서 있다거나 하는 등의 방식으로 정보를 분석할 수 있도록 하는 것을 말한다. 이러한 기법을 적용할 경우, 어떠한 정보가 가지고 있는 속성의 종류를 단순한 문자위주의 정보에서 시각적인 정보까지 확장해 냄으로써 더욱 다양한 정보를 바탕으로 원하는 정보를 정확히 찾아낼 수 있도록 도와준다.The information analysis system 130 employs a vision-based information recognition method to solve this problem. Visually-based information recognition method analyzes the information of a given document format and reconstructs it into a form that includes visual information such as up, down, left, and right together. To analyze information in such a way as to When this technique is applied, it helps to find exactly the desired information based on a wider variety of information by extending the kind of attributes that the information has from simple text-based information to visual information.

시각중심적 정보인식법을 이용할 경우, 현재의 전체 시스템에서 이용하고 있는 것과 같은 상품정보의 추출 이외에도 다양한 정보를 추출해 낼 수 있으며, 정보의 우선순위와 계층 등에 대한 정보도 파악할 수 있어 모든 정보에 대하여 범용적으로 적용할 수 있는 등 다양한 장점을 가지게 된다.In case of using the visual-based information recognition method, it is possible to extract various information in addition to the extraction of product information like the one used in the entire system, and to grasp information on the priority and hierarchy of the information. It can have various advantages such as being applicable as an enemy.

(2) 핵심정보 자동추출(2) Automatic extraction of key information

스스로 정의하지 않은 다양한 정보를 취급함에 있어 가장 중요한 문제중 하나가 바로 어떠한 것이 바로 내가 원하는 정보인지를 간파해 내는 것이다. 특히 현재의 전체 시스템과 같이 단순한 정보를 바탕으로 수천, 수만에 이르는 유사정보들을 명확히 추출해내고자 할 경우에는 더욱 그 중요성이 커지게 된다. 어떠한 것이 원하는 정보인가를 바르게 알아내는 것이야말로 정보추출에 있어서 발생할 수 있는 오류들을 줄일 수 있도록 도와주기 때문이다. 그러나 이러한 부분을 구현하기 위하여 현재까지는 대개 단순한 수준의 사전들을 이용하거나 사람의 도움에 전적으로 의존하고 있다. 이러할 경우에는 수작업의 비중이 대폭 증가하게 되므로 원하는 수준의 자동화율을 얻을 수 없다.One of the most important problems in dealing with a variety of information that you don't define yourself is to find out what you want. In particular, if you want to clearly extract thousands or tens of thousands of similar information based on simple information such as the whole system, the importance becomes more important. Knowing exactly what is the information you want is helping to reduce the errors that can occur in information extraction. However, to this end, up to now, it usually uses simple dictionaries or relies entirely on human help. In this case, the proportion of manual labor is greatly increased, and thus the desired level of automation cannot be achieved.

그러나, 정보분석시스템(130)에서는 핵심정보에 대한 자동추출기능을 보유하고 있어 사람의 도움이 없어도 원하는 정보를 추출할 수 있다. 이를 위하여 정보분석시스템(130)에서는 단어단위의 비교를 통한 분석기능이외에도 정보의 종류와 형식에 따라 분석해내는 별도의 분석기를 활용하고 있으며, 정보의 내용까지도 고려하여 분석하고 있다. 따라서 기존의 방식보다 훨씬 더 폭 넓은 정보를 분석대상에 올려놓을 수 있게 되었으며, 정보의 깊이와 정확도 또한 대단히 높다. 그리고 정보의 획득과정을 자동화함으로써 정보분석의 전 단계를 자동화할 수 있게 되었으며, 관리자의 관리영역을 대폭 줄일 수 있게 되었다.However, the information analysis system 130 has an automatic extraction function for the core information, it is possible to extract the desired information without the help of people. To this end, the information analysis system 130 utilizes a separate analyzer that analyzes according to the type and format of the information in addition to the analysis function through comparison of word units, and analyzes the information. Therefore, much wider information can be placed on the analysis target than the conventional method, and the depth and accuracy of the information is also very high. And by automating the information acquisition process, it is possible to automate the entire stage of information analysis and greatly reduce the management area of the manager.

(3) 지능형 정보분석(3) Intelligent Information Analysis

원하는 정보의 범위를 상당수 좁혔다 하더라도 원하는 정보를 정확히 알아내는 것과는 상당한 차이가 있다. 정보의 형태를 나타낼 수 있는 구조적 형태를 분석해 냈다 하더라도 단편적인 분석정보를 바탕으로 하여 전체 유사정보를 일괄적으로 분석해 내는 것은 여전히 난해한 문제로 남게 된다. 이러한 부분을 해결하기 위하여 기존에는 대개 완벽하게 일치하는 몇몇 경우에 대해서만 정보를 자동으로 추출해 내는 방식을 활용하였고, 따라서 영원히 모든 정보를 완벽하게 획득할 수는 없게 되었다. 인터넷 상에 존재하는 무한한 수의 정보를 대상으로 하는 검색엔진의 입장에서 볼 때, 이러한 원론적인 제약은 대단히 큰 장애가 되며, 반드시 극복해야만 하는 문제라 할 수 있다.Even if you narrow down the scope of information you want, there is a significant difference from knowing exactly what you want. Even if the structural form that can represent the information is analyzed, it is still difficult to analyze all the similar information on the basis of fragmentary analysis information. In order to solve this problem, conventionally, a method of automatically extracting information only for a few cases of perfect matches is not available, so that all information cannot be obtained forever. From the perspective of search engines targeting an infinite number of pieces of information on the Internet, these fundamental constraints are a huge obstacle and must be overcome.

정보분석시스템(130)에서는 이러한 문제를 해결하기 위하여 정보의 구조나 내용이 완전히 일치하지 않더라도 이를 추리하여 상이한 형태이지만 동일한 정보라는 것을 판단해 내는 지능형 정보분석능력을 개발하였다. 전체 정보는 절대 하나의 구조로 일관되게 존재할 수가 없으며, 그러한 형태의 가정은 기본적으로 가정되어서는 안된다. 정보분석시스템(130)은 처음부터 어떠한 형태가 존재할 수 있다라고 하는 가정을 전혀 하지 않고 있으며, 개념적으로도 경우의 수를 고려하는 방식과는 완전히 구분되어져 있다. 정보분석시스템(130)에서는 단지 어떠한 정보가 핵심정보인지, 그리고 그러한 정보가 어떻게 서로 작용하는지에 대한 기본적인 규칙들을 알고 있을 뿐, 쇼핑몰의 형태와 관련한 어떠한 종류의 데이터베이스도 보유하고 있지 않기 때문에 일반적으로 고려할 수 있는 경우를 벗어나는 경우에도 모두 정보를 분석해 낼 수 있으며, 차후 발생할 수 있는 예측불가능한 상황에 대해서도 스스로 문제를 해결할 수 있는 것이다.심지어는 관련정보가 존재하지 않는 경우에는 관련정보가 존재하지 않는다고 하는 판단까지도 내릴 수 있어 정보가 존재하지 않는 경우까지도 처리할 수 있다. 따라서 정보분석시스템(130)은 이러한 정보에 대한 지능적인 분석능력을 통하여 관련 정보의 획득에 있어 발생할 수 있는 문제들을 근본적으로 해결하였으며, 영원히 동일한 방식으로 추론할 수 있는 영구성을 확보하였다.In order to solve such a problem, the information analysis system 130 has developed an intelligent information analysis capability of inferring even though the structure or contents of the information are not completely identical, and determining that the information is the same but different. The whole information can never exist consistently in one structure, and such forms of assumptions should not be assumed by default. The information analysis system 130 makes no assumption that any form may exist from the beginning, and is conceptually completely separated from the method of considering the number of cases. The information analysis system 130 is generally considered because it only knows the basic rules on what information is key information and how such information interacts, and does not have any kind of database related to the type of shopping mall. It is possible to analyze the information even if it is out of the situation, and to solve the problem on its own for the unpredictable situation that may occur in the future, even if the information does not exist, the judgment that the information does not exist. It can even get down, and can handle even if no information exists. Therefore, the information analysis system 130 has fundamentally solved problems that may occur in the acquisition of related information through the intelligent analysis of the information, and secured the permanence that can be inferred in the same way forever.

(4) 편리한 관리구조(4) Convenient management structure

정보분석시스템(130)이 완전자동을 목표로 사람의 관리와는 독립하여 개발되었기는 하지만 그렇다고 해서 인간에 의한 관리가 전혀 불필요한 것은 아니다. 지능형 소프트웨어라 할지라도 인간이 도와주면 좀 더 정확해지는 것은 당연한 이치이며, 예측 불가능한 오류의 가능성을 고려할 때 사람에 의한 관리구조도 충분히 고려되고, 준비되어져야만 한다.Although the information analysis system 130 was developed independently of the management of the person with the aim of fully automatic, this does not mean that the management by the human being is not unnecessary at all. Even with intelligent software, it is natural to be more accurate with human help, and considering the possibility of unpredictable errors, human management must be fully considered and prepared.

정보분석시스템(130)에서는 사람에 의한 관리를 정보획득의 초기와 말기에만 개입할 수 있도록 하였다. 정보를 획득하는 실제 과정에서는 사람의 참여를 완전히 배제하였으며, 다만 정보를 얻기 전과 얻은 후에 확인하는 작업을 가능토록 한 것이다. 이러할 경우, 관리자는 정보의 획득과 관련한 정보를 사전에 미리 도와주고, 사후에 이를 간략히 확인하기만 하면 되므로 정보의 획득시 발생하는 모든 종류의 과다한 작업으로부터 완전히 해방된다. 이를 통하여 정보분석시스템(130)의 관리를 위해 필요한 인원을 1인 수준으로 끌어내려 관리비용을 획기적으로 절감할 수 있으며, 관리자의 개입이 적으므로 실수에 의한 오류소지도 극단적으로 축소된다.In the information analysis system 130, it is possible to intervene management by people only at the beginning and end of information acquisition. The actual process of acquiring information completely excludes the participation of people, but only allows checking before and after the information. In this case, the manager only needs to help in advance the information related to the acquisition of the information in advance, and confirms it briefly afterwards, so that the manager is completely free from all kinds of excessive work occurring in the acquisition of the information. Through this, it is possible to drastically reduce the management cost by drawing down the number of personnel required for the management of the information analysis system 130 to one person level, and there is little administrator intervention, and the error occurrence caused by mistakes is extremely reduced.

이하에서는 도 2에 도시된 분류분석시스템(150)에 관하여 설명하기로 한다.Hereinafter, the classification analysis system 150 shown in FIG. 2 will be described.

분류분석시스템(150)은 분류정보를 포함하는 자체 DB에 외부의 데이터를 입력하는 경우에 외부의 데이터에 해당하는 분류를 자동으로 분석해서 파악하는 시스템이다. 따라서, 외부의 데이터를 자동으로 자체 DB로 입력하는 시스템에서 유용하게 사용될 수 있다.The classification analysis system 150 is a system for automatically analyzing and grasping a classification corresponding to external data when inputting external data into its own DB including classification information. Therefore, it can be usefully used in a system that automatically inputs external data into its own DB.

분류분석시스템(150)을 웹사이트에 적용하는 경우에 웹페이지 자체의 분류를 판단하는 기능과 페이지 내의 정보마다 별도의 분류를 판단하는 기능을 포함한다. 또한, 다른 웹사이트의 분류가 존재하는 경우에 자체 분류보다 항목이 포괄적이거나 세부적인 경우에 외부 분류와 자체 분류를 매치하는 기능을 포함한다.When the classification analysis system 150 is applied to a website, the classification analysis system 150 includes a function of determining a classification of the web page itself and a function of determining a separate classification for each information in the page. It also includes the ability to match external and self-classifications when the category is comprehensive or detailed rather than self-classification when other web sites are present.

이러한 분류분석시스템(150)은 다수의 정보를 포함하는 정보군에 대한 분류를 판단하는 기능과 한건의 정보마다 해당분류를 판단하는 기능의 두가지로 구성된다. 또한, 이 두가지 기능을 복합적으로 이용한 분류판단도 가능하다. 각각의 기능에 대하여 세부적으로 설명하면 다음과 같다.The classification analysis system 150 is composed of two functions: a function of determining a classification of an information group including a plurality of information, and a function of determining a corresponding classification for each piece of information. In addition, classification judgment using these two functions is possible. Each function will be described in detail as follows.

(1) 정보군에 대한 분류 판단 기능(1) Classification judgment function for information group

정보의 집단 전체를 하나의 분류로 판단하는 기능이다. 이 경우에 정보군이 다수의 분류에 포함되는 경우는 추후 설명할 복합적인 기능으로 구현되므로 제외한다.It is a function to judge the whole group of information as one classification. In this case, the case where the information group is included in a plurality of classifications is excluded because it is implemented as a complex function to be described later.

정보군의 분류를 판단하기에 앞서서 여러 개의 정보군간의 상관관계를 파악하게 된다. 정보군간의 관계를 물리적이 아닌 논리적인 상관관계로 재구성하여 정보와 분류를 1:1로 매칭하는 단순한 방식을 사용하지 않고, 각각의 분류내에서의 정보와 분류를 연결하며, 이 방식을 재귀호출방식을 사용해서 분류의 깊이에 관계없이 구현된다.Before judging the classification of the information group, the correlation between the multiple information groups is identified. Rather than using a simple method of matching information and classification 1: 1 by reorganizing the relationship between information groups into logical and non-physical correlations, linking information and classification within each classification is called recursive. The approach is implemented regardless of the depth of the classification.

(3) 복합적인 분류 판단 기능(3) complex classification judgment function

상기 (1)와 (2)에서 설명한 분류판단 기능 2가지를 복합적으로 사용해서 판단하는 기능이다. 외부정보의 분류가 자체 분류보다 포괄적인 경우나, 정보군 자체가 여러 분류에 해당하는 정보를 가지고 있는 경우에 이 기능을 사용해서 분류를 판단한다.This is a function for judging by using two kinds of classification judgment functions described above in (1) and (2). If the classification of external information is more comprehensive than its own classification, or if the information group itself contains information corresponding to multiple classifications, this function is used to determine the classification.

(1)에서 설명한 분류를 먼저 판단하는데, 가장 하부 항목의 분류와 매칭되지 않고, 하부 분류를 포함하는 상위 분류로 판단이 된다. 이 분류를 (2)에서 언급한 사전 DB를 이용해서 정보 각각마다 분류를 판단한다. 현재 판단한 정보군의 분류내에 정보 각각의 분류가 포함되지 않는 오류는 발생하지 않는데, 이는 사전DB가 정보군에 대해서 적용할 수 있도록 재귀적으로 구성되어 있기 때문이다.The classification described in (1) is first determined, and it is determined as the upper category including the lower category without matching the classification of the lowest category. The classification is determined for each piece of information using the dictionary DB mentioned in (2). An error that does not include the classification of each information in the classification of the currently determined information group does not occur because the dictionary DB is recursively configured to apply to the information group.

이하에서는 분류분석시스템(150)의 구현방법에 관하여 설명하기로 한다.Hereinafter, an implementation method of the classification analysis system 150 will be described.

분류분석시스템(150)의 내부는 크게 (1)정보군에 대한 분류판단과 (2)정보 각각에 대한 분류판단의 크게 2가지 부분으로 나누어진다. 외부 정보에 대해서 판단한 분류와 자체 분류와의 매칭 방법은 각각의 경우에 개별적으로 이루어지기 때문에, 별도의 부분으로 구성되어 있지 않다.The interior of the classification analysis system 150 is largely divided into two parts: (1) classification judgment for information groups and (2) classification judgment for each information. Since the matching method between the classification determined for the external information and the self classification is performed individually in each case, it is not composed of separate parts.

각각의 구현방법은 현재의 전체 시스템인 쇼핑몰 비교검색엔진의 형태를 중심으로 설명될 것이다. 따라서, 정보는 쇼핑몰에서 판매중인 상품을 뜻하고, 정보군이라는 단위는 상품이 다수개 존재하는 웹페이지를 의미한다.Each implementation method will be described based on the form of a shopping mall comparison search engine which is the current overall system. Therefore, information refers to a product being sold in a shopping mall, and the information group refers to a web page in which a plurality of products exist.

(1) 정보군에 대한 분류 판단 기능(1) Classification judgment function for information group

쇼핑몰에서 판매중인 상품에 대한 분류가 이미 존재하는 경우에 이들의 상관관계를 파악하여 논리적인 분류체계를 프로그램이 판단해야 한다. 이 경우에 웹페이지라는 특성을 이용하여 HTML 태그 자체에 대한 특성을 이해하고 분석하게 된다. 정보군에 의한 분류 판단기능은 크게 ⅰ) 서로의 연관관계를 판단하는 기능 및 ⅱ) 병렬구조를 파악하는 기능으로 대별될 수 있다.If there is already a classification of products for sale in a shopping mall, the program should determine the logical classification system by identifying these correlations. In this case, the characteristics of the HTML tag itself are understood and analyzed using the characteristic of web page. The classification determination function by the information group can be roughly classified into iv) a function of judging each other's relations and ii) a function of identifying a parallel structure.

ⅰ) 서로의 연관관계를 판단하는 기능Iii) the ability to determine the relationship between

웹페이지간의 연관관계를 판단하기 위해서는 기본적으로 연결 고리가 될 수 있는 HTML 태그을 바탕으로 파악한다. 그러나, 이 경우에 웹페이지는 물리적으로 상/하구조를 가지고 있지 않고, 거미줄처럼 연결되어 있는 형태이므로 이를 상/하관계로 파악하는 것이 중요하다. 이 구조를 파악하기 위해서는 한 페이지 단위로 여러개의 연결고리중에서 핵심이 되는 연결고리를 판단하는 것이 필요한데, 첫 번째 연결고리와 바로 이전의 연결고리를 전부 저장하여 이를 다시 구성하는 방식으로 해결한다. 이 경우에 제외는 형태는 병렬구조로 연결된 것들이다. 예를 들자면 상품페이지가 여러개로 나누어져 '이전', '다음'과 같은 형태로 구성되어 있는 경우이다. 이런 병렬구조는 밑에서 다시 설명하도록 하겠다.In order to determine the relationship between web pages, it is basically based on HTML tags that can be linked. However, in this case, it is important to identify the web page as a top / bottom relationship because the web page does not have a physical structure in the upper / lower structure and is connected like a spider web. In order to grasp this structure, it is necessary to determine the core link among the multiple links in one page unit. The first link and the previous link are stored and reorganized. In this case, the exclusions are those connected in parallel. For example, a product page is divided into several parts and composed of 'previous' and 'next'. This parallel structure will be described again below.

거미줄처럼 연결되어 있는 웹페이지 구조를 논리적으로 바꾸는데 있어서는 여러개의 연결고리중에서 핵심연결고리를 찾아야 된다고 설명했는데, 정보가 존재하는지의 여부를 판단할 수가 있고, 이를 바탕으로 정보가 존재하는 페이지만을 배경으로 연결고리를 다시 재구성하므로, 핵심연결고리만을 찾아내는 것이 가능하게된다.In logically changing the structure of web pages connected like spider webs, we explained that it is necessary to find the core link among multiple links, but it is possible to determine whether the information exists, and based on this, only the page on which the information exists By reconfiguring the link, it is possible to find only the key link.

링크가 되는 경우에 필요하다고 판단되는 정보를 모두 파악하여 이를 바탕으로 핵심 연결고리를 찾게 되는데, 이는 재귀적으로 처리된다. 즉, 상단의 분류에 대한 판단이 서 있고, 그 형태가 자체 분류 구조와 매칭되는 작업이 이루어져 있다고 가정한 상태에서 하나의 상품 페이지에 해당하는 분류를 찾게 된다.In the case of a link, it finds all the information deemed necessary and finds the core link based on it, which is processed recursively. That is, assuming that the classification of the upper stage is standing, and that the form is matched with its own classification structure, the classification corresponding to one product page is found.

일반적인 웹페이지의 연결에서 필요한 정보는 연결되는 문자열이라고 할 수 있는데, 이는 별도의 사전을 구성하여 비교하게 된다. 링크_dictionary라 불리우는 이 사전에는 연결 문자열에 해당하는 분류를 판단하도록 구성되어 있는데, 기본적으로 상품 분류와 1:1로 매칭되는 문자열들을 가지고 있으며, 좀 더 세부적인 항목들에 대한 것들과 유사어를 가지고 있다. 별도의 유사어 사전이 적용되는데, 이 유사어 사전은 일반적인 검색에서 사용하는 유사어 사전과 동일하다.The information needed in the connection of a general web page is a string to be connected, which is composed by comparing a separate dictionary. Called Link_dictionary, this dictionary is configured to determine the classification corresponding to the connection string, which basically has a 1: 1 match to the product classification, and has similar words as those for more detailed items. have. A separate similar dictionary is applied, which is identical to the similar dictionary used in a general search.

연결되는 문자열이 존재하지 않는 경우에도 분류 판단에 문제가 없는데, 이는 문자열을 바탕으로 처리하는 구현방식이 여러 가지의 구조파악 방법중의 하나이기 때문이다.Even if there is no concatenated string, there is no problem in the classification judgment, because the implementation method based on the string is one of several structural identification methods.

상품 페이지 하나에 대한 정보가 전혀 존재하지 않고, 오로지 상품목록만 얻을 수 있는 경우라도 상품분류를 파악할 수 있는데, 이것은 상품 각각에 대한 분류를 판단할 수 있는 기능이 존재하기 때문이다. 이런 기능을 이용하면 여러개의 분류에 해당하는 상품이 포함되어 있는 '히트상품' 페이지 같은 경우라도 정확하게 상품분류를 찾아낼 수 있게 된다.Even if there is no information on one product page, and only a product list can be obtained, the product classification can be grasped, because there is a function to determine the classification of each product. By using this function, even if it is a 'hit product' page that includes products of several categories, the classification of products can be found accurately.

ⅱ) 병렬구조를 파악하는 기능Ii) the ability to identify parallel structures

일반적으로 상품정보를 가지고 있는 페이지가 병렬로 존재하는 경우에는 페이지 링크로 구성되게 되어 있는데, 이런 일반적인 정보의 판단이 가능하다. 하지만, 이런 페이지 링크형태가 아니더라도, 각각의 페이지가 담고 있는 상품을 판단하는 기능을 통하여 한 페이지에 대한 분류를 판단할 수 있으므로, 같은 분류로 판단되는 페이지들이 연속적으로 존재하는 경우에 이를 병렬구조로 판단한다. 또한, 실질적으로 병렬구조 형태가 아닌 방식으로 구성되어 있다고 하더라도, 물리적인 연결에 관계없이 정보 자체를 바탕으로 판단하기 때문에, 재구성되는 형태에서는 병렬구조로 나타나게 된다.In general, when pages with product information exist in parallel, they are configured as page links. This general information can be determined. However, even if it is not in the form of such a page link, it is possible to determine the classification of a page through the function of judging the products contained in each page, so that if there are consecutive pages that are determined to be the same classification, this is a parallel structure To judge. In addition, even if it is configured in a manner that is not substantially parallel structure, since it is determined based on the information itself regardless of the physical connection, it appears as a parallel structure in the reconstructed form.

(2) 각각의 정보에 대한 분류 판단 기능(2) Classification judgment function for each information

각각의 상품정보에 해당하는 분류를 판단하기 위해서는 별도의 ITEM_D라는 사전이 필요한데, 이 사전은 실질적으로 현재 가지고 있는 상품정보를 바탕으로 자동으로 생성된다. 같은 상품명을 가지는 상품이 서로 다른 분류내에 존재하는 경우에 오류를 유발할 수 있는데, 이런 문제점은 ITEM_D DB구조가 상품명과 분류 정보를 1:1로 매치하는 형태가 아니라, 자체 분류를 포함하는 형태로 구성이 되어 있기 때문에 해결이 가능하다.In order to determine the classification corresponding to each product information, a separate ITEM_D dictionary is required. This dictionary is automatically generated based on the product information that you have. If a product with the same brand name exists in different classifications, it may cause an error. This problem is not composed of the ITEM_D DB structure that matches the product name and the classification information in a one-to-one manner, but includes a self-classification. It is possible to solve this problem.

이하에서는 도 2에 도시된 지능형 검색시스템(170)에 관하여 설명하기로 한다.Hereinafter, the intelligent search system 170 shown in FIG. 2 will be described.

지능형 검색시스템(170)은 분류 구조를 가지는 DB내에서 자료를 효과적으로 찾기 위한 시스템을 말한다. 수많은 자료중에서 사용자가 원하는 결과만을 찾아내기 위하여 검색어의 의미를 분석하고, 분류와의 상관관계를 파악하는 시스템으로, 다단어 검색에 대한 처리와 유사어 검색이 가능하다.The intelligent search system 170 refers to a system for effectively searching for data in a DB having a classification structure. It is a system that analyzes the meaning of search terms and finds correlations with classifications to find only the results that users want from a large number of data.

이을 위해, 지능형 검색시스템(170)은 (1)한 단어 검색, (2)두 단어 검색, (3)복합단어 검색의 3가지로 나누어진다. 또한 각각의 경우에 분류구조와의 상관관계를 파악하는 기능을 가진다.To this end, the intelligent search system 170 is divided into three categories: (1) one word search, (2) two word search, and (3) complex word search. In each case, it also has a function to grasp the correlation with the classification structure.

(1) 한단어 검색(1) single word search

가장 간단하게 사용자가 한 단어를 검색하는 경우에는 크게 2가지로 나누어진다. 유사어 사전을 참조하여, 검색어에 대한 대표어와 유사어를 모두 찾아낸다. 만약, 유사어가 존재하지 않는 경우에는 검색어 자체가 대표어가 되며, 검색어 자체를 단 하나의 유사어로 처리한다.In the simplest case, a user searches for a word, it is divided into two categories. By referring to the dictionary of synonyms, both the representative word and the similar word for the search term are found. If there is no similar word, the search word itself becomes a representative word, and the search word itself is treated as a single similar word.

자체 분류 정보를 바탕으로 찾아낸 대표어에 해당하는 분류를 파악한다. 이 경우에 분류가 존재하는 경우와 존재하지 않는 경우로 나누어지는데, 분류가 존재하지 않는 경우에는 일반적인 유사어 검색을 구현하게 된다. 분류가 존재하는 경우에는 분류내의 정보를 보여주게 되는데, 만약에 분류가 최하위 분류가 아닌 상단 분류인 경우에는 하부 분류를 보여줌으로써, 포괄적인 검색어를 입력한 경우에 좀더 세부적인 분류를 선택할 수 있도록 유도한다.Based on the classification information, identify the classification corresponding to the representative word. In this case, the classification is divided into a case where there is a classification and a case where there is no classification. When a classification does not exist, a general similar word search is implemented. If the classification exists, the information in the classification is displayed. If the classification is a top category instead of the lowest category, the sub category is displayed, so that a more detailed classification can be selected when a comprehensive search term is entered. do.

(2) 두단어 검색(2) two-word search

두단어 검색의 경우에는 두단어 간의 상관관계를 파악하게 된다. 먼저, 두 단어 각각의 대표어와 유사어를 찾아낸다. 한단어 검색과 마찬가지로 찾아낸 대표어를 바탕으로 해당하는 분류를 찾게 되는데, 분류가 존재할 수도 있고 그렇지 않을 수도 있다. 한단어 검색과 달리 각각의 검색어가 분류가 존재할 수도 있고, 그렇지 않을수도 있으므로 다시 크게 3가지로 나누어진다. 4가지가 아닌 3가지로 나누어지는 것은 두 단어간의 순서는 중요하지 않기 때문이다. 일반적으로 포괄적인 단어뒤에 세부적인 단어가 나오는 형태라 하더라도, 상관관계 자체를 다시 판단하므로, 아무런 의미가 없게 된다.In the case of two word search, the correlation between two words is determined. First, find representative words and similar words for each of the two words. Similar to single word search, the corresponding classification is searched based on the found representative word. The classification may or may not exist. Unlike single word search, each search word may or may not have a classification. It is divided into three rather than four because the order between two words is not important. In general, even if a word appears in detail after a comprehensive word, the correlation itself is judged again, so there is no meaning.

ⅰ) 두 검색어 모두 분류가 존재하지 않은 경우Iii) If no classification exists for both search terms

두 검색어 모두 분류가 존재하지 않는 경우에는 일반적인 형태의 AND와 OR검색을 행한다. 이전 작업에서 이미 대표어와 유사어를 판단했으므로, 유사어 검색에 대한 기능을 자동적으로 포함한다.If both search terms do not have a classification, a general AND and OR search is performed. Since the previous work has already determined the representative words and similar words, it automatically includes the function for searching for similar words.

ⅱ) 한 검색어만 분류가 존재하는 경우Ii) If only one search term exists

한 검색어만 분류가 존재하는 경우에는 자동으로 분류내 검색을 행하게 된다. 해당하는 분류내에서 나머지 한 검색어에 해당하는 정보를 찾게 되는데, 이런 경우에 앞에서 판단한 유사어 기능은 포함하게 된다.If only one search term exists, a classification is automatically searched. In the corresponding category, information corresponding to the other search term is found. In this case, the similarity function determined above is included.

ⅲ) 두 검색어 모두 분류가 존재하는 경우Iii) If a classification exists for both search terms

두 검색어 모두 분류가 존재하는 경우에는 두 분류간의 상하/포함관계를 파악하게 된다. 따라서, 두 분류간의 관계에 따라서 다시 여러 가지 경우로 나눌 수 있다. 첫 번째는 두 분류간의 포함관계가 성립하는 경우로, 하부 분류에 해당하는 정보들을 보여준다.If the classification exists in both search terms, the upper and lower relations between the two classifications are determined. Therefore, it can be divided into several cases according to the relationship between the two classifications. The first is the case where the inclusion relation between the two categories is established, and the information corresponding to the subcategory is shown.

두 번째는 두 분류간의 포함관계가 존재하지 않는 경우이다. 이런 경우에는 첫 번째 분류내에서 두 번째 검색어에 해당하는 분류내 검색을 행하고, 두 번째 분류내에서 첫 번째 검색어에 해당하는 분류내 검색을 행하여 결과를 출력한다.Second, there is no inclusion relationship between the two classifications. In this case, an intra-category search corresponding to the second search term is performed in the first category, and an intra-category search corresponding to the first search term is output in the second category.

(3) 복합단어 검색(3) compound word search

복합단어라 함은 3단어 이상을 말한다. 3단어 이상의 검색어를 입력하는 경우에는 기본적으로 두단어 검색과 같은 방법으로 행한다. 그러나, 두단어와 같이 3가지 경우로 나눌 수가 없기 때문에, 재귀적으로 검색어를 줄여나가는 과정이 필요하다. 즉, 검색어 중에서 분류에 해당되는 검색어가 2개 이상 존재하고, 둘 사이에 포함관계가 성립하는 경우에는 상위 분류에 해당하는 검색어를 제거한다. 이런 과정을 통해서 검색어가 2단어 이하가 되는 경우에는 (가)와 (나)에서 구현한 검색기능이 실행되며, 검색어를 줄인 이후에도 3단어 이상이 나오는 경우에는 'AND'와 'OR' 검색을 통해서 결과를 출력한다.Compound word means three or more words. In the case of inputting a search word of three words or more, the search is basically performed in the same manner as the two word search. However, since it cannot be divided into three cases like two words, it is necessary to recursively reduce the search word. That is, when two or more search terms corresponding to the classification exist among the search terms and an inclusion relationship is established between the two, the search terms corresponding to the upper classification are removed. If the search term becomes less than 2 words through this process, the search function implemented in (A) and (B) is executed. If more than 3 words appear after the search term is reduced, the word 'AND' and 'OR' are searched. Output the result.

이하에서는 이러한 지능형 검색시스템(17)의 구현방법을 설명하기 전에 지능형 검색 시스템을 구축하기 위해서 필요한 유사어 사전 DB를 소개하도록 하겠다.3단어 이상의 복합단어에 대한 구현은 두단어에 대한 검색과 동일하며, 내부적으로 재귀적 구현을 사용한다는 차이점이 있으므로 별도로 언급하지 않겠다. 또한, 각각의 구현방법은 현재의 전체 시스템인 쇼핑몰 비교검색엔진의 형태를 중심으로 설명될 것이다. 따라서, 분류는 상품을 포함하는 분류를 나타내며, 정보라 함을 상품정보를 나타낸다.Hereinafter, before describing the method of implementing the intelligent search system 17, the synonym dictionary DB necessary for building the intelligent search system will be introduced. The implementation of a compound word of three or more words is the same as the search for two words. There is a difference between using a recursive implementation internally, so I will not mention it separately. In addition, each implementation method will be described based on the shape of a shopping mall comparison search engine which is the current overall system. Thus, classification refers to a classification that includes a product, and information refers to product information.

유사어 사전은 검색어만 사용되므로, 그 구조가 매우 간단하게 구성될 수 있다. 대표어와 대표어에 해당하는 유사어의 리스트 형태로 구성되는데, 다단어의 경우에는 별도로 각각의 단어에 대한 판단을 하기 때문에, 다단어에 대한 대표어는 존재하지 않는다고 가정한다. 따라서, 공백이나 기타 특수문자를 제거하는 별도의 함수를 제작하여 이 과정을 수행하게 된다.Since the analogy dictionary uses only a search word, its structure can be very simple. It is composed of a list of representative words and similar words corresponding to the representative word. In the case of a multiword word, since each word is judged separately, it is assumed that there is no representative word for the multiword word. Therefore, this process is performed by creating a separate function to remove spaces or other special characters.

유사어 사전은 고정적인 형태가 아니라, 유동적으로 변할 수 있기 때문에 등록/수정/삭제할 수 있는 툴이 필요하다. 또한, 유사어를 효과적으로 등록하기 위해서 사용자가 검색한 검색어에 대한 Log분석을 통하여 사용자가 자주 검색하는 단어에 대한 유사어 등록이 손쉽도록 구현한다.이하에서는 지능형 검색시스템(170)이 구현하는 (1)한 단어 검색, (2)두 단어 검색을 설명하기로 한다.Because the dictionary of synonyms is not fixed, but can change dynamically, you need a tool to register, modify, or delete it. In addition, in order to effectively register the similar words, the user can easily register the similar words for the words frequently searched by the user by analyzing the log of the search word searched by the user. Hereinafter, the intelligent search system 170 implements (1) Word search, (2) two word search will be described.

(1) 한 단어 검색(1) single word search

한 단어 검색의 경우 첫 번째 행할 일은 대표어와 유사어를 찾는 일이다. 이 과정은 위에서 언급한 유사어 사전 DB를 이용하는데, SQL의 select 문을 이용해서 손쉽게 해결한다. 다수개의 유사어에 대한 처리는 리스트 트리(list tree)구조를 이용해서 구현한다.For a single word search, the first thing to do is to find a representative word and a similar word. This process uses the synonym dictionary DB mentioned above, which can be easily solved using the SQL select statement. The processing of multiple similar words is implemented using a list tree structure.

두 번째는 대표어에 해당하는 상품 분류를 찾게 된다. 유사어를 이용하지 않고, 대표어만 이용하는 것은 여러개의 유사어를 등록하는 과정에서 상품분류와 일치하는 유사어를 대표어로 등록하기 때문이다.Secondly, the product classification corresponding to the representative word is found. The reason for using only the representative word without using the similar word is that the similar word matching the product classification is registered as the representative word in the process of registering several similar words.

상품분류가 존재하는 경우에는 검색어와 관계없이 상풉분류내의 상품을 결과로 보여주게 되는데, 상품명 자체에 검색어에 해당하는 문자열이 존재하지 않더라도 같은 분류에 속한다면 검색이 가능하다. 내부적으로 처리되는 검색 순서는 아래와 같다.If the product classification exists, the product in the upper classification is shown as a result irrespective of the search word. Even if a string corresponding to the search word does not exist in the product name, the search is possible. The search order processed internally is as follows.

'mouse' 검색 -> 대표어로 '마우스' 판단 -> 유사어로 'mouse' 존재 -> '마우스'에 해당하는 상품 분류 검색 -> '마우스' 분류내 상품 출력 -> 'Logitech Wheel' 과 같이 상품명에 'mouse'가 존재하지 않더라도 검색이 가능하다.search for 'mouse'-> determine 'mouse' as a representative-> find 'mouse' as a synonym-> search for product categories corresponding to 'mouse'-> print products in category 'mouse'-> Search is possible even if 'mouse' does not exist.

(2) 두단어 검색(2) two-word search

두 단어를 검색하는 경우에는 각각의 검색어에 해당하는 분류는 찾아내는 과정이 필요하다.In the case of searching for two words, the classification corresponding to each search word needs to be found.

전체 검색어를 space를 토큰 분리자로 사용하여 각각 토큰으로 분리해 낸다. 분리해낸 토큰은 다시 space를 제거하는데, 이는 유사어 사전 DB 자체에 space가 존재하지 않기 때문이다. space가 존재한다는 것은 이미 그 자체로 2단어 이상이라는 의미를 내포하기 때문에 유사어 사전에는 space가 존재하지 않는다.The entire search term is separated into tokens using space as the token separator. The separated token removes the space again because there is no space in the synonym dictionary DB itself. The existence of a space already implies that there is more than one word in itself, so there is no space in the dictionary of words.

분리해낸 각각의 토큰을 유사어 사전을 통하여 대표어와 유사어를 찾아낸다. 이 과정은 상기 (1)에서 설명한 한 단어의 경우와 동일하다.Each token that is separated is searched for a representative word and a similar word through a dictionary of similar words. This process is the same as that of the one word described in (1) above.

두 단어 모두 대표어는 반드시 존재하는데, 유사어 사전에 등록되어 있지 않은 검색어의 우에는 검색어 자체를 대표어로 사용하기 때문이다.In both words, the representative word must exist, because the search word itself is used as the representative word for the search word that is not registered in the similar dictionary.

대표어를 사용하여 분류 DB에서 해당되는 분류를 찾아내게 되는데, 분류사전에서 분류명은 유사어 사전의 대표어와 연결된다. 유사어 사전을 새로이 등록하는 경우에는 여러 유사어 중에서 분류에 해당하는 유사어를 대표어로 등록하기 때문이다.The representative words are used to find the corresponding classification in the classification DB. In the classification dictionary, the classification name is connected with the representative words of the similar dictionary. This is because when a new dictionary of similar words is registered, a similar word corresponding to a classification among the similar words is registered as a representative word.

분류를 찾아낸 경우에는 다시 다음의 3가지 경우로 나누어진다.When the classification is found, it is divided into three cases.

(ⅰ) 두 검색어 모두 분류가 존재하지 않은 경우(Iii) no classification exists for both search terms

두 검색어가 모두 분류가 존재하지 않는 경우에는 일반적인 AND와 OR검색을 행한다. 이 경우에도 유사어 기능을 포함하는데, SQL Query를 이용해서 다음과 같이 구현한다. DICTIONARY와 '대표어Field'는 각각 유사어 사전 Table과 대표어에 해당하는 Field를 뜻한다.If both search terms do not have a classification, a general AND and OR search is performed. In this case, the similarity function is included. The following is implemented using SQL Query. DICTIONARY and 'keyword field' mean a field corresponding to a table of similar words and a representative word, respectively.

select * from [DICTIONARY] where [대표어Field]='대표어'select * from [DICTIONARY] where [keywordField] = 'keyword'

SQL Query는 기본적으로 정규 표현식(regular expression)을 이용하는데, 이는 다수개의 유사어가 존재하기 때문이다. 여러개의 유사어는 전부 OR로 처리하며, 다수개가 가능하므로 재귀적으로 구현한다. 따라서, 전체 query는 다음과 같은 형태로 구현된다. DBName과 모드l은 임의적으로 정한 DB Table 이름과 상품명을 담고 있는 Field를 나타낸다.SQL Query uses regular expressions by default, because there are many similar words. Multiple synonyms are all ORed, and many can be implemented recursively. Therefore, the entire query is implemented in the following form. DBName and model indicate a field containing a randomly designated DB table name and a brand name.

select * from [DBName] where 모드l regexp [대표어1 OR 유사어1 OR 유사어2 OR ...] AND [대표어1' OR 유사어1' OR 유사어2' OR ...]select * from [DBName] where mode regexp [prescript1 OR synonym1 OR synonym2 OR ...] AND [prescriptor1 'OR synonym1' OR synonym2 'OR ...]

또한, 두 검색어 사이의 OR검색을 하는 경우에는 다음과 같은 형태로 SQL Query가 구현된다.In addition, in case of OR search between two search terms, SQL Query is implemented as follows.

select * from [DBName] where 모드l regexp [대표어1 OR 유사어1 OR 유사어2 OR ...] OR [대표어1' OR 유사어1' OR 유사어2' OR...]select * from [DBName] where mode regexp [prescript1 OR synonym1 OR synonym2 OR ...] OR [prescript1 'OR synonym1' OR synonym2 'OR ...]

(ⅱ) 한 검색어만 분류가 존재하는 경우(Ii) if only one search term exists

두 검색어 중에서 한 검색어만 분류가 존재하는 경우는, 분류내 검색을 행하게 되며 유사어 검색 기능을 자체적으로 포함하게 된다.If only one of the two search terms has a classification, the search is performed within the classification and includes a similar word search function by itself.

분류정보를 담고 있는 DB는 분류코드를 별도로 가지고 있는데, 이 분류코드를 이용해서 다음과 같이 SQL Query를 구성한다.The DB containing the classification information has a classification code. By using this classification code, a SQL Query is constructed as follows.

select * from [DBName] where [분류코드Field]='분류코드' AND 모드l regexp [대표어1 OR 유사어1 OR 유사어2 OR ...]select * from [DBName] where [classification code Field] = 'classification code' AND mode l regexp [keyword1 OR synonym1 OR synonym2 OR ...]

상품은 각각 해당하는 분류에 대한 정보를 담고 있으며, 이를 위에서는 '분류코드Field'에 저장되어 있다. 또한, '분류코드'는 검색어에서 추출한 분류코드를 의미한다.Each product contains information on the corresponding classification, which is stored in the "Category Code Field" above. In addition, the "classification code" means a classification code extracted from the search word.

이런 경우를 예로 들자면 '15인치 모니터'와 같은 경우인데, '모니터'에 해당하는 분류가 존재하므로, 모니터 분류내에서 15인치라는 문자열을 검색하게 된다. 또한, 유사어 사전에는 15인치와 15'가 존재하기 때문에, '15' 평면' 과 같은 상품도 검색이 가능하게 된다.For example, this is the case of '15 inch monitor '. Since there is a classification corresponding to' monitor ', the string 15 inches is searched for in the monitor classification. In addition, since 15 inches and 15 'exist in the synonym dictionary, a product such as a' 15 'plane' can be searched.

(ⅲ) 두 검색어 모두 분류가 존재하는 경우(Iii) a classification exists for both search terms

두 검색어 모두 분류가 존재하는 경우는 다시 두 분류간의 포함관계에 의해서 나누어진다. 첫 번째 경우는 두 분류가 서로 포함관계를 가지는 경우이며, 두 번째 경우는 서로의 포함관계가 없는 경우이다.If a category exists in both search terms, it is divided again by the inclusion relationship between the two categories. The first case is when two classifications have inclusion relations with each other, and the second case is no inclusion relation with each other.

'컴퓨터 마우스'와 같은 검색어의 경우에는 '컴퓨터'에 해당하는 분류가 존재하고, '마우스'에 해당하는 분류가 존재하며, 두 분류가 서로 포함관계를 가지게 된다. 이런 경우에는 '마우스' 분류내의 상품을 보여주게 된다. 따라서, '컴퓨터 마우스'라는 문자열이 상품정보에 없다고 하더라고 검색이 가능한데, 'Logitech Wheel'과 같은 전혀 다른 상품정보를 가지는 상품이 검색결과에 나타나므로, 지능적인 검색이 가능한 것이다.In the case of a search term such as 'computer mouse', a classification corresponding to 'computer' exists, a classification corresponding to 'mouse' exists, and the two classifications have an inclusion relationship with each other. In this case, the product in the 'mouse' category will be shown. Therefore, even if the string 'computer mouse' is not found in the product information, it is possible to search. Since products with completely different product information such as 'Logitech Wheel' appear in the search results, intelligent search is possible.

두 번째 경우는 '컴퓨터 책상'과 같이 '컴퓨터'에 해당하는 분류가 존재하며 '책상'에 해당하는 분류가 '가구' 분류내에 존재하는 경우이다. 이 경우에는 복합 AND검색을 행하게 되는데, '컴퓨터' 분류내에서 '책상'을 검색하며 동시에 '책상' 분류내에서 '컴퓨터'라는 제품을 검색하게 된다. '컴퓨터' 분류내에 '책상' 이 존재하며, '책상' 분류내에 '컴퓨터용 책상'이 존재하는 경우에 둘다 검색결과로 보여줄 수가 있다.In the second case, there is a classification corresponding to 'computer', such as 'computer desk', and the classification corresponding to 'desk' exists in the 'furniture' category. In this case, a compound AND search is performed, which searches for 'desk' in the 'computer' category and at the same time searches for a product 'computer' in the 'desk' category. If there is a 'desk' in the 'computer' category, and a 'computer desk' in the 'desk' category, both can be shown as search results.

SQL Query를 간단하게 나타내면 다음과 같이 된다.A simple SQL query looks like this:

select * from [DBName] where ([분류코드Field]='분류코드1' AND 모드l regexp [대표어1 OR 유사어1 OR 유사어2 OR ...]) OR ([분류코드Field]='분류코드2' AND 모드l regexp [대표어1' OR 유사어1' OR 유사어2' OR ...])select * from [DBName] where ([Category code Field] = 'Category code 1' AND mode l regexp [Representative 1 OR Synonym 1 OR Synonym 2 OR ...]) OR ([Category code Field] = 'Category code 2 'AND mode regexp [keyword1' OR synonym1 'OR synonym2' OR ...])

위에서 제시한 예제와 비교해 보면, 분류코드1이 '컴퓨터'에 해당하는 분류이며, 대표어1은 '책상'에 해당된다. 분류코드2는 '책상'에 해당되는 분류이며, 대표어 1'는 컴퓨터'가 된다. 이 경우에도 유사어 사전을 통한 유사어 검색이 가능하다.Compared with the example presented above, the classification code 1 corresponds to the 'computer' and the representative word 1 corresponds to the 'desk'. Classification code 2 is a classification corresponding to 'desk', and the representative word 1 is 'computer'. In this case, the similar words can be searched through the similar word dictionary.

인터넷 상의 거의 모든 정보들이 정돈되거나 연관되지 못한채 무작위적으로 등록되고 있어 이미 개개인이 소화할 수 있는 정보의 양을 초과하였을 뿐만 아니라, 가치있는 정보의 집합으로써 의미를 갖기도 불가능해 졌다. 이러한 상황을 극복하기 위해서는 정보의 의미를 간파하고, 분석하여 필요할 때에 적절한 수준의 정보를 제공하여 줄 수 있는 고차원 소프트웨어가 반드시 필요한데 본 소프트웨어가 바로 그러하다. 본 소프트웨어에 사용된 관련 기술들은 이러한 모호한 정보의 인식 및 분석, 제공의 세 단계를 자동화해냄으로써 차후 인터넷 관련 지능형 에이전트 소프트웨어의 개발에 있어 중대한 이정표를 세웠다 할 것이다.비록 본 발명이 상기 언급된 바람직한 실시예와 관련하여 설명되어졌지만, 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허청구의 범위는 본 발명의 요지에서 속하는 이러한 수정이나 변형을 포함할 것이다.Almost all information on the Internet is randomly registered, unorganized or unrelated, which has already exceeded the amount of information an individual can digest, making it impossible to have meaning as a collection of valuable information. In order to overcome this situation, high-level software is required to understand the meaning of information, analyze it, and provide an appropriate level of information when necessary. The related technologies used in the software will mark important milestones in the future development of Internet-related intelligent agent software by automating the three phases of the recognition, analysis and provision of such ambiguous information. Although described in connection with the examples, it is possible to make various modifications or variations without departing from the spirit and scope of the invention. Accordingly, the appended claims will cover such modifications and variations as fall within the spirit of the invention.

Claims (6)

인터넷상에서, 상품에 관한 정보를 포함하고 있는 다수의 웹으로부터 주기적으로 문서정보를 수신하는 웹탐색수단(110);A web search means (110) for receiving document information periodically from a plurality of webs containing information on goods on the Internet; 상기 수신된 문서정보로부터 상품정보와 상기 상품정보의 상, 하, 좌, 우에 위치한 정보를 함께 추출하고, 추출된 상기 상품정보와 위치정보를 이용하여 단어검색과 속성검색을 수행하는 정보분석수단(130);Information analysis means for extracting the product information and the information located in the upper, lower, left, right of the product information from the received document information, and performs a word search and attribute search using the extracted product information and location information ( 130); 상기 웹탐색수단(110)에 의해 접속되는 웹페이지 정보 및 상기 정보분석수단(130)에 의하여 분석된 상품정보에 기초하여 상기 웹페이지의 분류 및 상기 상품정보에 관한 분류를 내장된 상품분류 데이터베이스와 검색비교한 뒤, 상기 데이터베이스에 업데이트하는 분류분석수단(150);A product classification database including a classification of the web page and a classification of the product information based on the web page information connected by the web search means 110 and the product information analyzed by the information analysis means 130; Classification analysis means 150 for updating the database after comparing and searching; 유사어사전을 구비하고 있고, 적어도 하나 이상의 검색어가 입력될 경우, 상기 유사어사전으로부터 상기 검색어에 대한 대표어와 유사어를 검색하고, 상기 대표어와 상기 유사어에 기초하여 상기 분류분석수단(150)의 데이터베이스를 검색하는 검색수단(170); 및And having at least one keyword, the representative word and the similar word for the search word are searched from the similar word dictionary, and the database of the classification analysis means 150 is searched based on the representative word and the similar word. Search means 170; And 인터넷상에서 다수의 사용자가 접속하여 데이터를 입출력할 수 있는 웹서버(190)를 포함하는 것을 특징으로 하는 지능형 인터넷 쇼핑몰 상품비교검색 엔진.Intelligent Internet shopping mall product comparison search engine comprising a web server (190) that can be connected to a plurality of users on the Internet to input and output data. 제 1항에 있어서, 상기 웹탐색수단(110)은,The method of claim 1, wherein the web search means 110, HTML파일 및/또는 CGI를 수신할 수 있는 HTTP 클라이언트(113), 수신된 웹페이지와 링크된 다른 웹페이지를 파악하는 URL파싱부(115), 상기 URL을 임시저장하는 URL 캐쉬부(117)로 구성된 메타로봇(111); 및An HTTP client 113 capable of receiving HTML files and / or CGIs, a URL parsing unit 115 for grasping other web pages linked with the received web page, and a URL cache unit 117 for temporarily storing the URLs. A configured meta robot 111; And 불특정 웹페이지로부터 상기 웹페이지의 구조와 상품정보의 표현방식을 파악하여 저장하는 제 1모드(119), 상기 제 1모드에 의해 저장된 웹페이지의 구조와 표현방식으로부터 상기 웹페이지 내용의 변경을 판단하여 업데이트하는 고속모드(121) 및 상품정보가 존재하는 특정 웹페이지로부터 상기 웹페이지의 구조와 상기 상품정보를 파악하는 재시작모드(123)로 동작되는 검색로봇(112); 을 포함하는 것을 특징으로 하는 지능형 인터넷 쇼핑몰 상품비교검색 엔진.A first mode 119 for grasping and storing the structure of the web page and the expression method of the product information from an unspecified web page, and determining the change of the content of the web page from the structure and the expression method of the web page stored by the first mode A search robot 112 operated in a restart mode 123 for identifying the structure of the web page and the product information from a specific web page in which the fast mode 121 and product information exist to be updated; Intelligent Internet shopping mall product comparison search engine comprising a. 제 2항에 있어서,The method of claim 2, 상기 메타로봇(111)의 상기 URL 캐쉬부(117)는,The URL cache unit 117 of the meta robot 111, URL의 절대경로가 저장될 수 있는 URL 필드(125);A URL field 125 in which an absolute path of the URL may be stored; 미검색상태인 경우 'NOT', 검색이 끝난 경우 'END', 상품정보가 존재하여 상기 상품정보를 상기 검색로봇(112)에 전송한 경우 'DATA' 들중 하나의 상태값이 저장되는 콘텐츠(contents) 필드(129); 및'NOT' in the unsearched state, 'END' in the end of the search, and contents in which one state value of 'DATA' is stored when the product information exists and is transmitted to the search robot 112 ( contents field 129; And 마지막으로 검색한 시간을 저장하여 검색이 주기적으로 수행될 수 있도록 하는 서치시간(search_time) 필드(132);를 포함하는 구조의 데이터베이스인 것을 특징으로 하는 지능형 인터넷 쇼핑몰 상품비교검색 엔진.An intelligent Internet shopping mall product comparison search engine, comprising: a database having a structure including a search time (search_time) field 132 storing a last searched time to perform a search periodically. 제 2항에 있어서, 상기 검색로봇(112)은,The method of claim 2, wherein the search robot 112, URL의 절대경로가 저장되는 URL 필드(133);A URL field 133 in which an absolute path of the URL is stored; 상기 고속모드에서 이용될 수 있도록 상기 웹페이지가 상품정보를 포함하고 있는가 여부를 저장하는 콘텐츠(content) 필드(134);A content field 134 for storing whether or not the web page includes product information for use in the fast mode; 미검색상태인 경우 'NOT', 검색이 끝난 경우 'END', 상품정보가 존재하여 상기 상품정보를 상기 검색로봇(112)에 전송한 경우 'DATA' 들중 하나의 상태값이 저장되는 상태(state) 필드(135); 및'NOT' in the unsearched state, 'END' when the search is completed, and when the product information exists and the product information is transmitted to the search robot 112, the state value of one of the 'DATA' is stored ( state) field 135; And 마지막으로 검색한 시간을 저장하여 검색이 주기적으로 수행될 수 있도록 하는 시간(time) 필드(136);를 포함하는 구조의 데이터베이스를 더 포함하는 것을 특징으로 하는 지능형 인터넷 쇼핑몰 상품비교검색 엔진.And a database having a structure including a time field (136) for storing a last searched time to perform a search periodically. 제 1항에 있어서,The method of claim 1, 상기 정보분석수단(130)은, 상기 웹페이지의 분석을 위해 상기 웹페이지의 HTML 태그을 기초로 하여 상기 웹페이지가 상하관계인지 병렬관계인지를 판단하는 것을 특징으로 하는 지능형 인터넷 쇼핑몰 상품비교검색 엔진.The information analysis means 130, the intelligent internet shopping mall product comparison search engine, characterized in that for determining whether the web page is a vertical relationship or a parallel relationship based on the HTML tag of the web page for analysis. 제 1항에 있어서,The method of claim 1, 상기 검색수단(170)의 상기 유사어사전은,The similar word dictionary of the search means 170, 대표어와 상기 대표어에 해당하는 복수의 유사어들로 구성되는 것을 특징으로 하는 지능형 인터넷 쇼핑몰 상품비교검색 엔진.Intelligent Internet shopping mall product comparison search engine comprising a representative word and a plurality of similar words corresponding to the representative word.
KR1019990047316A 1999-10-28 1999-10-28 An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall KR100296500B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990047316A KR100296500B1 (en) 1999-10-28 1999-10-28 An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990047316A KR100296500B1 (en) 1999-10-28 1999-10-28 An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall

Publications (2)

Publication Number Publication Date
KR20000049333A KR20000049333A (en) 2000-08-05
KR100296500B1 true KR100296500B1 (en) 2001-07-12

Family

ID=19617512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990047316A KR100296500B1 (en) 1999-10-28 1999-10-28 An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall

Country Status (1)

Country Link
KR (1) KR100296500B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000059173A (en) * 2000-07-19 2000-10-05 한상천 mall provider service
KR20030085719A (en) * 2002-05-01 2003-11-07 삼성에스디에스 주식회사 Method classifying shopping mall webpages and apparatus thereof
KR20160147460A (en) * 2015-06-15 2016-12-23 주식회사 인프라웨어 Cloud server and computer program stored in computer-readable medium for automatically creating document

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010103532A (en) * 2000-05-10 2001-11-23 제임스 김 다니엘 The oneclick shopping search method and search system for e-commerce
KR100433584B1 (en) * 2000-12-12 2004-06-04 한국전자통신연구원 Method for product detailed information extraction of internet shopping mall with ontology and wrapper data
KR100426135B1 (en) * 2001-05-03 2004-04-08 인하대학교 산학협력단 Wire & Wireless Internet EC Support System Using Mobile Agent
KR20030085314A (en) * 2002-04-30 2003-11-05 (주)메타웨이브 System for providing goods information using Internet and operating method thereof
KR100829356B1 (en) * 2006-08-01 2008-05-13 주식회사 옥션 Marketplace type shopping portal system
KR101896404B1 (en) 2017-09-29 2018-09-07 오명운 Product Recommendation System Using Computer Vision

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000059173A (en) * 2000-07-19 2000-10-05 한상천 mall provider service
KR20030085719A (en) * 2002-05-01 2003-11-07 삼성에스디에스 주식회사 Method classifying shopping mall webpages and apparatus thereof
KR20160147460A (en) * 2015-06-15 2016-12-23 주식회사 인프라웨어 Cloud server and computer program stored in computer-readable medium for automatically creating document
KR101715054B1 (en) 2015-06-15 2017-03-10 주식회사 인프라웨어 Cloud server and computer program stored in computer-readable medium for automatically creating document

Also Published As

Publication number Publication date
KR20000049333A (en) 2000-08-05

Similar Documents

Publication Publication Date Title
US8375029B2 (en) Data processing
US7499965B1 (en) Software agent for locating and analyzing virtual communities on the world wide web
US20100169311A1 (en) Approaches for the unsupervised creation of structural templates for electronic documents
US20040167864A1 (en) Indexing profile for efficient and scalable XML based publish and subscribe system
US20060277168A1 (en) Method and system for assessing relevant properties of work contexts for use by information services
US20090248707A1 (en) Site-specific information-type detection methods and systems
US20090106286A1 (en) Method of Hybrid Searching for Extensible Markup Language (XML) Documents
JP2002297602A (en) Method and device for structured document retrieval, structured document managing device, program, and recording medium
KR101505858B1 (en) A templet-based online composing system for analyzing reports or views of big data by providing past templets of database tables and reference fields
CN111400323B (en) Data retrieval method, system, equipment and storage medium
Stata et al. The term vector database: fast access to indexing terms for web pages
US20050114317A1 (en) Ordering of web search results
KR100296500B1 (en) An Intelligent Goods Comparison And Search Engine For Internet Shpping Mall
KR100303153B1 (en) System for storing and searching html document
KR100445943B1 (en) Method and System for Retrieving Information using Proximity Search Formula
JP2008065417A (en) Associative word group retrieval device and system, and content match type advertisement system
JP2003281149A (en) Method of setting access right and system of structured document management
US20040122809A1 (en) Information augmentation method
KR20030051577A (en) Display method for research result in internet site
CN114117242A (en) Data query method and device, computer equipment and storage medium
KR100659370B1 (en) Method for constructing a document database and method for searching information by matching thesaurus
Pakojwar et al. Web data extraction and alignment using tag and value similarity
Deogun et al. Structural abstractions of hypertext documents for web-based retrieval
Sathya et al. Link based K-Means clustering algorithm for information retrieval
Sheokand et al. Best effort query answering in dataspaces on unstructured data

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
G15R Request for early publication
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: 20070510

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee