KR102783347B1 - System of extracting and utilizing information based on artificial intelligence - Google Patents
System of extracting and utilizing information based on artificial intelligence Download PDFInfo
- Publication number
- KR102783347B1 KR102783347B1 KR1020210167694A KR20210167694A KR102783347B1 KR 102783347 B1 KR102783347 B1 KR 102783347B1 KR 1020210167694 A KR1020210167694 A KR 1020210167694A KR 20210167694 A KR20210167694 A KR 20210167694A KR 102783347 B1 KR102783347 B1 KR 102783347B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- information
- artificial intelligence
- target product
- category
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Medical Informatics (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
대상 상품과 관련된 정보를 포함하는 홈페이지의 URL(Uniform Resource Locator)을 수집하는 URL 수집부; 수집된 URL을 갖는 상기 홈페이지 내의 웹페이지들 중 상기 대상 상품의 상세 정보를 포함하는 웹페이지를 분류하는 웹페이지 분류부; 및 인공지능 모델을 기반으로, 분류된 상기 대상 상품의 상세 정보를 포함하는 웹페이지에서 상기 대상 상품에 대해 요구되는 정보의 카테고리 및/또는 밸류를 추출하고, 추출된 데이터를 기반으로 상기 인공지능 모델을 학습시키는 정보 추출부를 포함하는 인공지능 기반 정보 추출 및 활용 시스템이 개시된다.An artificial intelligence-based information extraction and utilization system is disclosed, including a URL collection unit that collects a Uniform Resource Locator (URL) of a homepage including information related to a target product; a webpage classification unit that classifies webpages including detailed information of the target product among webpages within the homepage having the collected URL; and an information extraction unit that extracts categories and/or values of information required for the target product from the webpages including the detailed information of the classified target product based on an artificial intelligence model and trains the artificial intelligence model based on the extracted data.
Description
본 발명은 인공지능 기반 정보 추출 및 활용 시스템에 관한 것으로, 더욱 상세하게는 인터넷 기반의 방대한 정보 바다에서 원하는 상품에 대해 필요한 정보를 용이하게 추출하고 추출된 정보를 활용하여 해당 상품에 대한 다양한 컨텐츠를 제작 및 서비스할 수 있는 인공지능 기반 정보 추출 및 활용 시스템에 관한 것이다.The present invention relates to an artificial intelligence-based information extraction and utilization system, and more specifically, to an artificial intelligence-based information extraction and utilization system that can easily extract necessary information about a desired product from a vast Internet-based information sea and produce and service various contents about the product by utilizing the extracted information.
정보의 바다라 불리는 인터넷은 매우 다양하고 방대한 정보가 곳곳에 산재하여 원하는 정보를 획득하고자 할 때 많은 시간과 노력이 요구된다.The Internet, which is called an ocean of information, has a wide variety of information scattered everywhere, so it requires a lot of time and effort to obtain the information you want.
예를 들어, 특정 상품에 대해 원하는 정보를 얻고자 하는 경우, 해당 상품의 생산하는 생산자나 해당 상품의 판매자가 운영하는 홈페이지에 일일이 접속하여야 하며, 홈페이지에 접속한 이후에도 해당 홈페이지 내에서 원하는 정보를 얻기 위해서는 홈페이지에 마련된 여러 웹페이지들을 확인하여 원하는 정보가 있는지 확인하여야 한다.For example, if you want to obtain the information you want about a specific product, you have to access each and every website operated by the manufacturer or seller of that product, and even after accessing the website, you have to check the various web pages provided on the website to see if the information you want is there.
따라서, 인터넷 환경에서 원하는 정보를 획득하기 위해서는 많은 시간과 노력이 소요되는 문제가 발생한다. Therefore, the problem arises that it takes a lot of time and effort to obtain the desired information in an Internet environment.
이에, 본 발명은 인터넷 기반의 방대한 정보 바다에서 원하는 상품에 대해 필요한 정보를 용이하게 추출하고 추출된 정보를 활용하여 해당 상품에 대한 다양한 컨텐츠를 제작 및 서비스할 수 있는 인공지능 기반 정보 추출 및 활용 시스템을 제공하는 것을 해결하고자 하는 기술적 과제로 한다.Accordingly, the present invention aims to solve a technical problem of providing an artificial intelligence-based information extraction and utilization system that can easily extract necessary information about a desired product from a vast Internet-based information sea and produce and service various contents about the product by utilizing the extracted information.
본 발명의 일 측면에 따르면, According to one aspect of the present invention,
대상 상품과 관련된 정보를 포함하는 홈페이지의 URL(Uniform Resource Locator)을 수집하는 URL 수집부;A URL collection unit that collects the Uniform Resource Locator (URL) of a homepage containing information related to the target product;
수집된 URL을 갖는 상기 홈페이지 내의 웹페이지들 중 상기 대상 상품의 상세 정보를 포함하는 웹페이지를 분류하는 웹페이지 분류부; 및A web page classification unit that classifies web pages containing detailed information on the target product among web pages within the homepage having the collected URL; and
인공지능 모델을 기반으로, 분류된 상기 대상 상품의 상세 정보를 포함하는 웹페이지에서 상기 대상 상품에 대해 요구되는 정보의 카테고리 및/또는 밸류를 추출하고, 추출된 데이터를 기반으로 상기 인공지능 모델을 학습시키는 정보 추출부;An information extraction unit that extracts categories and/or values of information required for the target product from a webpage containing detailed information of the classified target product based on an artificial intelligence model, and trains the artificial intelligence model based on the extracted data;
을 포함하는 인공지능 기반 정보 추출 및 활용 시스템이 제공된다.An artificial intelligence-based information extraction and utilization system including is provided.
상기 인공지능 모델은, 이미지, 단어(text) 및 단어 뭉치, 문장, 문단을 포함하는 문구(text phrase)가 상기 대상 상품에 대해 요구되는 정보에 해당하는지 판별하도록 학습될 수 있다.The above artificial intelligence model can be trained to determine whether an image, a word (text), a text phrase including a group of words, a sentence, or a paragraph corresponds to the information required for the target product.
상기 인공지능 모델은, 이미지, 단어(text) 및 단어 뭉치, 문장, 문단을 포함하는 문구(text phrase)의 카테고리와 밸류 및 그에 대한 xpath를 판별하도록 학습될 수 있다.The above artificial intelligence model can be trained to determine categories and values of images, words (text), and text phrases including word clusters, sentences, and paragraphs, and their xpaths.
상기 정보 추출부는, 상기 인공지능 모델의 추출 결과를 기반으로, DOM 트리에서 밸류를 갖는 리프 노드(leaf node)로부터 바텀-업(bottom-up) 방식으로 상향식 판단을 수행하여 상기 대상 상품에 대해 요구되는 정보를 추출할 수 있다.The above information extraction unit can extract information required for the target product by performing bottom-up judgment from a leaf node having a value in the DOM tree based on the extraction result of the artificial intelligence model.
상기 정보 추출부는, 상기 인공지능 모델의 추출 결과를 기반으로, DOM 트리에서 임의의 노드에 대한 밸류 또는 카테고리의 판단 결과에 따라 타 노드의 밸류 또는 카테고리의 판단을 수행할 수 있다.The above information extraction unit can perform a judgment of the value or category of another node based on the judgment result of the value or category of an arbitrary node in the DOM tree based on the extraction result of the artificial intelligence model.
상기 정보 추출부는, DOM 트리에서 임의의 노드가 헤더, 푸터를 포함하는 보일러플레이트(boilerplate)로 판단되지 않고 상기 대상 상품에 대해 요구되는 정보로 판단된 노드와의 거리가 사전 설정된 임계값 보다 작은 경우, 해당 노드를 상기 대상 상품에 대해 요구되는 정보인 것으로 판단할 수 있다.The above information extraction unit can determine that a node in the DOM tree is information required for the target product if the distance between the node and the information required for the target product is less than a preset threshold value and the node is not determined to be a boilerplate including a header and a footer.
상기 웹페이지 분류부는, 상기 웹페이지의 DOM(Document Object Model) 트리(tree), 상기 웹페이지별로 사용하는 CSS(Cascading Style Sheets) 및 스타일 태그, 상기 웹페이지의 구조-템플릿, 상기 웹페이지의 구조-보일러플레이트(structure-boilerplate) 및 상기 웹페이지에 존재하는 이미지, 단어, 문구 및 테이블을 포함하는 요소들 중 적어도 하나를 기반으로 상기 웹페이지를 분류할 수 있다.The above web page classification unit can classify the web page based on at least one of the following elements: a DOM (Document Object Model) tree of the web page, CSS (Cascading Style Sheets) and style tags used for each web page, a structure-template of the web page, a structure-boilerplate of the web page, and images, words, phrases, and tables existing in the web page.
본 발명의 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템은, 인터넷 기반의 방대한 정보 바다에서 학습 가능한 인공지능을 활용하여 원하는 상품에 대한 필요 정보를 신속하고 정확하게 추출하여 제공할 수 있다. An artificial intelligence-based information extraction and utilization system according to an embodiment of the present invention can quickly and accurately extract and provide necessary information on a desired product by utilizing artificial intelligence capable of learning from a vast ocean of information based on the Internet.
또한, 본 발명의 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템은, 추출된 정보를 활용하여 대상 상품에 대한 응용 컨텐츠를 제공하여 대상 상품에 대한 관심도 및 호감도를 증대 시키고 나아가 해당 상품의 매출 향상에 기여할 수 있다.In addition, the artificial intelligence-based information extraction and utilization system according to an embodiment of the present invention can provide application content for a target product by utilizing the extracted information, thereby increasing interest and favorability for the target product and further contributing to increased sales of the product.
도 1은 본 발명의 일 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템의 블록 구성도이다.
도 2 내지 도 4는 본 발명의 일 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템의 정보 추출부 내 인공지능 모델의 학습에 대한 예시를 설명하기 위한 도면이다.Figure 1 is a block diagram of an artificial intelligence-based information extraction and utilization system according to one embodiment of the present invention.
FIGS. 2 to 4 are diagrams for explaining examples of learning of an artificial intelligence model in an information extraction unit of an artificial intelligence-based information extraction and utilization system according to one embodiment of the present invention.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention can be modified in various ways and has various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, or substitutes included in the spirit and technical scope of the present invention.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the present invention, if it is judged that a detailed description of a related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, numbers (e.g., first, second, etc.) used in the description of this specification are merely identifiers for distinguishing one component from another.
또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다. 또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다.In addition, throughout the specification, when a component is referred to as being "connected" or "connected" to another component, it should be understood that the component may be directly connected or directly connected to the other component, but may also be connected or connected via another component in between, unless otherwise specifically stated. In addition, throughout the specification, when it is said that a certain part "includes" a certain component, this does not mean that other components are excluded, but rather that other components can be included, unless otherwise specifically stated. In addition, terms such as "part" and "module" described in the specification mean a unit that processes at least one function or operation, and this means that it can be implemented by one or more hardware or software, or a combination of hardware and software.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.
도 1은 본 발명의 일 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템의 블록 구성도이다.Figure 1 is a block diagram of an artificial intelligence-based information extraction and utilization system according to one embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템(10)은, 대상 상품과 관련된 정보를 포함하는 홈페이지의 URL(Uniform Resource Locator)을 수집하는 URL 수집부(11)와, 수집된 URL을 갖는 홈페이지 내의 웹페이지들 중 대상 상품의 상세 정보를 포함하는 웹페이지를 분류하는 웹페이지 분류부(12)와, 인공지능 모델을 기반으로, 분류된 대상 상품의 상세 정보를 포함하는 웹페이지에서 대상 상품에 대해 요구되는 정보의 카테고리 및/또는 밸류를 추출하고, 추출된 데이터를 기반으로 인공지능 모델을 학습시키는 정보 추출부(13)를 포함하여 구성될 수 있다.Referring to FIG. 1, an artificial intelligence-based information extraction and utilization system (10) according to one embodiment of the present invention may be configured to include a URL collection unit (11) that collects a Uniform Resource Locator (URL) of a homepage including information related to a target product, a webpage classification unit (12) that classifies a webpage including detailed information of a target product among webpages within the homepage having the collected URL, and an information extraction unit (13) that extracts a category and/or value of information required for a target product from a webpage including detailed information of the classified target product based on an artificial intelligence model and trains an artificial intelligence model based on the extracted data.
URL 수집부(11)는 대상 상품에 관련된 키워드 및/또는 이미지 등을 입력 받고 입력 받은 키워드 및/또는 이미지 등을 포털 사이트나 소셜 네트워크 서비스 사이트에 검색어로 입력하여 해당 포털 사이트나 소셜 네트워크 서비스 사이트의 데이터베이스를 검색하여 대상 상품 정보를 보유한 홈페이지의 URL을 수집할 수 있다.The URL collection unit (11) can collect the URL of a homepage that has information on the target product by inputting keywords and/or images, etc. related to the target product, and inputting the input keywords and/or images, etc. as search words on a portal site or social network service site to search the database of the portal site or social network service site.
다른 예로, URL 수집부(11)는 대상 상품에 관련된 연합체(상품 협회, 지역 협회 등)에서 운영하는 홈페이지의 데이터베이스를 통해 대상 상품의 정보를 보유한 홈페이지의 URL을 수집할 수 있다. 예를 들어, 대상 상품이 와인인 경우, URL 수집부(11)는 지역별 와인 생산자 협회에서 운영하는 홈페이지에서 와인에 대한 정보를 포함하는 홈페이지(예를 들어, 특정 생산자의 홈페이지)의 URL을 수집할 수 있다.As another example, the URL collection unit (11) can collect the URL of a homepage that has information on the target product through a database of homepages operated by associations (product associations, regional associations, etc.) related to the target product. For example, if the target product is wine, the URL collection unit (11) can collect the URL of a homepage (e.g., a specific producer's homepage) that includes information on wine from a homepage operated by a regional wine producer association.
또 다른 예로, URL 수집부(11)는 사용자가 직접 제공하는 URL을 입력 받는 방식으로 URL을 수집할 수도 있다.As another example, the URL collection unit (11) may collect URLs by receiving a URL directly provided by the user.
웹페이지 분류부(12)는, 수집된 URL을 갖는 홈페이지 내의 웹페이지들 중 대상 상품의 상세 정보를 포함하는 웹페이지를 분류할 수 있다.The web page classification unit (12) can classify web pages that include detailed information on the target product among web pages within a homepage having collected URLs.
수집된 URL을 갖는 홈페이지는 다수의 웹페이지들로 구성될 수 있으며, 다수의 웹페이지들 중에는 대상 상품의 상세 정보를 포함하는 웹페이지와 그 외 다른 용도로 이용하기 위해 대상 상품의 상세 정보와는 관련을 갖지 않는 웹페이지가 존재할 수 있다. 웹페이지 분류부(12)는 수집된 URL을 갖는 홈페이지를 구성하는 다수의 웹페이지들 중 요구되는 정보를 포함할 것으로 예상되는 웹페이지를 분류할 수 있다.A homepage having collected URLs may be composed of multiple web pages, and among the multiple web pages, there may be web pages that include detailed information about the target product and web pages that are not related to detailed information about the target product and are used for other purposes. The web page classification unit (12) may classify web pages that are expected to include the required information among the multiple web pages that compose the homepage having collected URLs.
웹페이지 분류부(12)는 다양한 방식으로 수집된 URL을 갖는 홈페이지 내에서 대상 상품의 상세 정보를 포함하는 웹페이지를 분류할 수 있다.The web page classification unit (12) can classify web pages containing detailed information on target products within a homepage having URLs collected in various ways.
첫 번째 예로, 웹페이지 분류부(12)는 구조 태그(structure-tag) 기반, 즉 DOM(Document Object Model) 트리(tree) 기반으로 웹페이지를 분류할 수 있다. 웹페이지 분류부(12)는 웹페이지 별 DOM 트리 요소 및 형상(폭, 깊이, 전체 노드의 수, 이너 노드의 수, 리프 노드의 수), 리프 노드의 깊이, 트리 에디트 거리 등을 파악하고, 파악된 결과에 따라 서로 유사한 형상을 갖는 웹페이지를 분류함으로써, 서로 유사한 형상을 갖는 웹페이지 들 중 하나를 제품의 상세 정보를 갖는 웹페이지로 분류할 수 있다.As a first example, the web page classification unit (12) can classify web pages based on structure tags, i.e., based on the Document Object Model (DOM) tree. The web page classification unit (12) identifies DOM tree elements and shapes (width, depth, number of total nodes, number of inner nodes, number of leaf nodes), depth of leaf nodes, tree edit distance, etc. for each web page, and classifies web pages having similar shapes based on the identified results, thereby classifying one of the web pages having similar shapes as a web page having detailed information on a product.
두 번째 예로, 웹페이지 분류부(12)는 구조 형상(structure-looking) 기반, 즉 웹페이지별로 사용하는 CSS(Cascading Style Sheets) 및 스타일 태그를 기반으로 웹페이지를 분류할 수 있다. 웹페이지 분류부(12)는 웹페이지 별로 사용하는 CSS의 종류, 사용된 CSS의 개수, DOM 트리에서의 위치를 파악하고, 웹페이지 별로 사용하는 스타일 태그(<style> tag)의 종류, 사용된 스타일 태그의 개수 및 DOM 트리에서의 위치를 파악하며, 파악된 결과에 따라 서로 유사한 CSS/스타일 태그가 사용된 웹페이지들을 분류함으로써, 서로 유사한 형상을 갖는 웹페이지 들 중 하나를 제품의 상세 정보를 갖는 웹페이지로 분류할 수 있다.As a second example, the web page classification unit (12) can classify web pages based on structure-looking, that is, based on CSS (Cascading Style Sheets) and style tags used for each web page. The web page classification unit (12) determines the type of CSS used for each web page, the number of CSS used, and the location in the DOM tree, determines the type of style tag (<style> tag) used for each web page, the number of style tags used, and the location in the DOM tree, and classifies web pages using similar CSS/style tags based on the determined result, thereby classifying one of the web pages having similar appearances as a web page having detailed information on a product.
세 번째 예로, 웹페이지 분류부(12)는 구조-템플릿(프레임워크) 기반으로 웹페이지를 분류할 수 있다. 웹페이지 분류부(12)는 웹페이지들의 프레임워크(예를 들어, Typo3, Bootstrap, Wordpress 등) 사용 여부를 판단하여 웹페이지를 분류할 수 있다. 일반적으로, 어떠한 프레임워크를 사용하는 지에 따라 웹페이지가 갖는 레이아웃 및 용도 등을 파악할 수 있으므로, 웹페이지 분류부(12)는 이와 같이 웹페이지 사용된 프레임워크를 기반으로 제품의 상세 정보를 갖는 웹페이지를 분류할 수 있다.As a third example, the web page classification unit (12) can classify web pages based on structure-template (framework). The web page classification unit (12) can classify web pages by determining whether the web pages use a framework (e.g., Typo3, Bootstrap, Wordpress, etc.). In general, the layout and purpose of the web page can be identified based on which framework is used, so the web page classification unit (12) can classify web pages with detailed product information based on the framework used by the web page.
네 번째 예로, 웹페이지 분류부(12)는 구조-보일러플레이트(structure-boilerplate 프레임워크) 기반으로 웹페이지를 분류할 수 있다. 웹페이지 분류부(12)는 웹페이지들의 보일러플레이트(중복 사용하는 소스 코드, 예를 들어, head/footer, 고정된 위치의 광고 등)를 제거하여 보일러플레이트가 제거된 웹페이지 남겨진 내용을 파악함으로써 제품의 상세 정보를 갖는 웹페이지를 분류할 수 있다.As a fourth example, the web page classification unit (12) can classify web pages based on a structure-boilerplate framework. The web page classification unit (12) can classify web pages with detailed product information by removing boilerplate (duplicate source codes, for example, head/footer, fixed-position advertisements, etc.) of web pages and identifying the remaining content of web pages from which the boilerplate has been removed.
다섯 번째 예로, 웹페이지 분류부(12)는 웹페이지에 존재하는 이미지를 추출하고 이미지의 해상도나 사이즈 또는 위치 등을 기반으로 웹페이지를 분류할 수 있다. 웹페이지 분류부(12)는 웹페이지에 사용된 태그를 통해 이미지를 추출할 수 있으며, 이미지 중 해당 상품의 이미지를 판단하고 상품 이미지의 화면 해상도, 파일 해상도, 파일 위치, DOM 트리에서 상품 이미지를 표시하는 노드의 속성 등을 기반으로 제품의 상세 정보를 갖는 웹페이지를 분류할 수 있다. 여기에서 상품 이미지를 판단하는 기법은 후술하는 인공지능 모델을 통해 수행될 수 있으므로 추후 상세하게 설명하기로 한다. 예를 들어, 웹페이지 분류부(12)는 추출된 이미지 중 상품 이미지가 없는 경우 해당 웹페이지가 상품의 상세 정보를 갖는 웹페이지가 아닌 것으로 판단할 수 있으며, 상품 이미지가 존재하는 것으로 판단된 웹페이지 중 가장 큰 화면 해상도를 갖는 페이지를 상품 상세 정보를 갖는 웹페이지로 판단할 수 있다.As a fifth example, the web page classification unit (12) can extract images existing in the web page and classify the web page based on the resolution, size, or location of the image. The web page classification unit (12) can extract images through tags used in the web page, determine the image of the corresponding product among the images, and classify the web page having detailed information of the product based on the screen resolution, file resolution, file location, and properties of the node displaying the product image in the DOM tree of the product image. Here, the technique for determining the product image can be performed through the artificial intelligence model described below, and thus will be described in detail later. For example, the web page classification unit (12) can determine that the corresponding web page is not a web page having detailed information of the product if there is no product image among the extracted images, and can determine that the page having the largest screen resolution among the web pages having a product image is a web page having detailed information of the product.
여섯 번째 예로, 웹페이지 분류부(12)는 웹페이지에 존재하는 단어(text)를 기반으로 웹페이지를 분류할 수 있다. 웹페이지 분류부(12)는 웹페이지의 코드에서 <>태그들을 모두 삭제하고 화면에 표시되는 단어만 남겨둔 상태에서, DOM 트리의 각 노드의 단어에 대해 후술하는 인공지능 모델을 활용하여 상품 정보에 해당하는지 판단함으로써 상품 상세 정보를 갖는 웹페이지를 추출할 수 있다. 즉, 웹페이지 분류부(12)는 상품 정보로 판별된 단어가 존재하지 않는 경우 대상 상품에 대한 상세 정보가 존재하지 않는 웹페이지로 판단할 수 있고, 단어들 중 '카테고리'-'상품 정보'(예를 들어, '가격'-'100원')의 관계가 존재하거나 카테고리가 존재하지 않는 '상품 정보'(예를 들어, '오늘 한정')에 해당하는 단어가 존재하는 경우 대상 상품에 대한 상세 정보를 갖는 웹페이지인 것으로 판단할 수 있다.As a sixth example, the web page classification unit (12) can classify the web page based on the words (text) existing in the web page. The web page classification unit (12) can extract the web page having the detailed product information by deleting all the <> tags from the code of the web page, leaving only the words displayed on the screen, and using the artificial intelligence model described below for the words of each node of the DOM tree to determine whether they correspond to product information. That is, if there is no word determined to be product information, the web page classification unit (12) can determine that the web page does not have detailed information on the target product, and if there is a word corresponding to 'category'-'product information' (e.g., 'price'-'100 won') among the words or 'product information' (e.g., 'today only') where no category exists, it can determine that the web page has detailed information on the target product.
일곱 번째 예로, 웹페이지 분류부(12)는 웹페이지에 존재하는 문구(text phrase)를 기반으로 웹페이지를 분류할 수 있다. 여기서, 문구(text phrase)는 단어를 합성이나 조합으로 구성된 단어 뭉치 또는 문장 또는 하나 이상의 문장으로 구성된 문단이 될 수 있다. 웹페이지 분류부(12)는 웹페이지의 코드에서 <>태그들을 모두 삭제하고 화면에 표시되는 문구만 남겨둔 상태에서, DOM 트리의 각 노드의 문구에 대해 후술하는 인공지능 모델을 활용하여 상품 정보에 해당하는지 판단함으로써 상품 상세 정보를 갖는 웹페이지를 추출할 수 있다. 즉, 웹페이지 분류부(12)는 상품 정보로 판별된 문구가 존재하지 않는 경우 대상 상품에 대한 상세 정보가 존재하지 않는 웹페이지로 판단할 수 있고, 텍스트 내에 '카테고리'-'상품 정보'(예를 들어, '사용법'-'물에 타서 충분히 섞어 음용합니다')의 관계가 존재하거나 카테고리가 존재하지 않는 '상품 정보'(예를 들어, '어린이 손에 닿지 않게 높은 곳에 보관하세요')에 해당하는 텍스트가 존재하는 경우 대상 상품에 대한 상세 정보를 갖는 웹페이지인 것으로 판단할 수 있다.As a seventh example, the web page classification unit (12) can classify web pages based on text phrases existing in the web pages. Here, the text phrases can be a group of words composed of words or combinations, sentences, or paragraphs composed of one or more sentences. The web page classification unit (12) can extract web pages having detailed product information by deleting all <> tags from the code of the web page and leaving only the text displayed on the screen, and then using the artificial intelligence model described below for the text of each node of the DOM tree to determine whether it corresponds to product information. That is, if there is no phrase determined as product information, the web page classification unit (12) can determine that the web page does not have detailed information on the target product, and if there is a relationship of 'category' - 'product information' (e.g., 'how to use' - 'mix thoroughly with water and drink') in the text or if there is text corresponding to 'product information' for which no category exists (e.g., 'keep in a high place out of reach of children'), it can be determined that the web page has detailed information on the target product.
여덟 번째 예로, 웹페이지 분류부(12)는 웹페이지에 테이블(text phrase)의 존재 여부 등에 기반하여 웹페이지를 분류할 수 있다. 웹페이지에서 상품의 상세 정보는 테이블 내에 존재할 가능성이 높기 때문에, 웹페이지 분류부(12)는 테이블 관련 태그(예를 들어, <table>, <div>, <ul>, <li>, <grid>, …)를 확인하고 테이블 내 기재된 단어나 문구를 확인하여 대상 상품에 대한 상세 정보를 갖는 웹페이지인 것으로 판단할 수 있다.As an eighth example, the web page classification unit (12) can classify the web page based on whether a table (text phrase) exists in the web page, etc. Since detailed information about a product on the web page is likely to exist in a table, the web page classification unit (12) can determine that the web page has detailed information about the target product by checking table-related tags (e.g., <table>, <div>, <ul>, <li>, <grid>, ...) and checking words or phrases written in the table.
아홉 번째 예로, 웹페이지 분류부(12)는 이미지 파일만 존재하는 웹페이지의 경우 후술하는 인공지능 모델을 이용하여 이미지를 통해 추출한 정보를 기반으로 대상 상품에 대한 상세 정보를 갖는 웹페이지인지 판단할 수 있다.As a ninth example, in the case of a webpage that only contains image files, the webpage classification unit (12) can determine whether the webpage has detailed information about the target product based on information extracted through the image using the artificial intelligence model described below.
웹페이지 분류부(12)는, 전술한 것과 같은 대상 상품에 대한 상세 정보를 갖는 웹페이지를 추출하기 위한 다양한 기법 중 하나만 적용하거나 둘 이상을 서로 조합하여 적용함으로써 웹페이지 추출의 정확도를 높일 수 있다.The web page classification unit (12) can increase the accuracy of web page extraction by applying only one of the various techniques for extracting web pages having detailed information on target products as described above, or by applying two or more techniques in combination.
정보 추출부(13)는, 인공지능 모델을 기반으로, 웹페이지 분류부(12)에 의해 분류된 대상 상품의 상세 정보를 포함하는 웹페이지에서 대상 상품에 대해 요구되는 정보의 카테고리 및/또는 밸류를 추출하고, 추출된 데이터를 기반으로 인공지능 모델을 학습시킬 수 있다. The information extraction unit (13) extracts categories and/or values of information required for a target product from a web page containing detailed information of the target product classified by the web page classification unit (12) based on an artificial intelligence model, and can train an artificial intelligence model based on the extracted data.
정보 추출부(13)는 대상 상품의 상세 정보를 갖는 웹페이지에서 대상 상품에 대해 요구되는 정보를 추출하기 위한 요소로서, 상품에 대해 요구되는 정보를 추출하기 위한 학습 가능한 인공지능 모델을 포함할 수 있다.The information extraction unit (13) is an element for extracting information required for a target product from a web page having detailed information on the target product, and may include a learnable artificial intelligence model for extracting information required for the product.
인공지능 모델에 의해 추출되는 상품에 대해 요구되는 정보는 정량적 정보 또는 정성적 정보 중 하나로 분류될 수 있으며, 속하는 카테고리를 가질 수 있다. 즉, 인공지능 모델은 분류된 웹페이지에서 대상 상품에 대해 요구되는 정보(대상 상품 정보)로서 대상 상품의 정량적 정보, 정성적 정보, 이 정보가 속하는 카테고리를 추출하도록 학습될 수 있다.Information required for a product extracted by an AI model can be classified into either quantitative information or qualitative information, and can have a category to which it belongs. That is, an AI model can be trained to extract quantitative information, qualitative information, and the category to which this information belongs as information required for the target product (target product information) from a classified web page.
예를 들어, 대상 상품 정보 중 정량적 정보로는 상품의 가격, 성분, 용량, 생산자, 판매자, 생산국 등을 명시하는 정보일 수 있다. 대상 상품 정보 중 정성적 정보로는 상품에 대한 생산자의 설명, 상품에 대한 전문가 평가 등이 될 수 있다. 이들 대상 성품 정보가 속하는 카테고리는 가격, 사용법, 조리법, 이미지, 동영상, 역사, 판매자 연락처 등일 수 있다.For example, quantitative information among the target product information may include information specifying the price, ingredients, capacity, producer, seller, country of production, etc. Qualitative information among the target product information may include the producer's description of the product, expert evaluation of the product, etc. The categories to which this target quality information belongs may include price, directions for use, recipes, images, videos, history, seller contact information, etc.
웹페이지의 웹 코드 내에서 대상 상품 정보는 DOM 트리 내에서 상품 정보가 가지는 값의 형태로 나타날 수 있으며 주로 2 개의 노드가 하나의 대상 상품 정보를 구성할 수 있다. 대상 상품 정보는 웹 코드 내에서 "xpath, 카테고리", "xpath, 해당 카테고리의 밸류"의 형태로 나타나며, 예를 들어, "가격": "100원"과 같이 나타날 수 있다. 2 개의 노드 대신 하나의 노드가 카테고리 없이 존재할 수도 있다. 즉, 대상 상품 정보는 단순히 웹 코드 내에서 "xpath, 밸류"의 형태로 나타날 수 있으며, 예를 들어, "오늘만 이 가격에 팔아요"와 같은 문구가 이에 해당할 수 있다.Within the web code of a web page, the target product information can appear in the form of the value that the product information has within the DOM tree, and mainly two nodes can constitute one target product information. The target product information appears in the form of "xpath, category", "xpath, value of the corresponding category" within the web code, and can appear, for example, as "price": "100 won". Instead of two nodes, one node may exist without a category. In other words, the target product information can simply appear in the form of "xpath, value" within the web code, and an example of this can be a phrase such as "Selling at this price today only".
정보 추출부(13)에 구비된 인공지능 모델은 웹페이지에 포함된 이미지, 단어(text), 문구(text phrase: 단어 뭉치, 문장, 문단)가 대상 상품 정보에 해당하는지 판단하고 이를 추출하도록 학습될 수 있다. 예를 들어, '100원'이라는 단어가 '가격'이라는 카테고리의 대상 상품 정보에 해당하는지 여부(또는 확률), '너무 맛있네요'라는 단어 뭉치가 대상 상품의 맛을 설명하는 카테고리에 해당되는지, '100년 전부터 생산해 온 … .'이라는 문단이 대상 상품의 생산자의 역사 카테고리에 해당되는지 등을 판단할 수 있다.The artificial intelligence model equipped in the information extraction unit (13) can be trained to determine whether an image, word (text), or text phrase (a group of words, a sentence, a paragraph) included in a web page corresponds to target product information and extract it. For example, it can determine whether (or the probability) the word '100 won' corresponds to target product information in the category of 'price', whether the group of words 'so delicious' corresponds to a category describing the taste of the target product, and whether the paragraph 'produced for 100 years...' corresponds to a category of history of the producer of the target product.
정보 추출부(13)에 구비된 인공지능 모델은, 초기 사용자가 임의로 입력하는 학습 데이터를 이용하여 학습될 수 있으며, 도 1에 도시된 것과 같은 시스템이 구성된 이후에는 웹페이지 분류부(12)에서 분류된 웹페이지에서 입력되는 이미지, 단어, 문구 등을 통해 반복적인 학습을 수행하고 업데이트 될 수 있다.The artificial intelligence model equipped in the information extraction unit (13) can be learned using learning data arbitrarily input by the initial user, and after the system as shown in Fig. 1 is configured, it can be updated and repeatedly learned using images, words, phrases, etc. input from web pages classified in the web page classification unit (12).
도 2 내지 도 4는 본 발명의 일 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템의 정보 추출부 내 인공지능 모델의 학습에 대한 예시를 설명하기 위한 도면이다. 특히, 도 2 및 도 3은 이미지에 대한 인공지능 모델 학습의 예시를 설명하기 위한 것이다.FIGS. 2 to 4 are diagrams for explaining examples of learning of an artificial intelligence model in an information extraction unit of an artificial intelligence-based information extraction and utilization system according to one embodiment of the present invention. In particular, FIGS. 2 and 3 are for explaining examples of learning of an artificial intelligence model for an image.
예를 들어, 인공지능 모델(131)은 도 2에 도시된 것과 같이 와인의 정면 이미지 또는 와인의 레이블을 확인할 수 있는 이미지를 학습 데이터로 입력 받아 학습을 수행할 수 있다. For example, the artificial intelligence model (131) can perform learning by receiving as learning data a frontal image of a wine or an image that can identify the label of the wine, as illustrated in FIG. 2.
여기서 '정면 이미지', '레이블 이미지'은 카테고리에 해당할 수 있고, 인공지능 모델(131)은 입력되는 학습 데이터 중 '정면 이미지', '레이블 이미지'이라는 카테고리에 해당하는 이미지를 대상 상품 이미지로 구분하고 각각의 카테고리로 분류하며 대상 상품 이미지가 아닌 이미지를 구분 하도록 학습될 수 있다.Here, 'front image' and 'label image' may correspond to categories, and the artificial intelligence model (131) may be trained to distinguish images corresponding to the categories of 'front image' and 'label image' among the input learning data as target product images and classify them into each category, and to distinguish images that are not target product images.
즉, 인공지능 모델(131)은 도 3에 도시된 것과 같이, 원하는 상품 이미지에 해당하는 이미지를 대상 상품인 와인 상품의 이미지로 구분하고 나머지 이미지를 와인 상품 이미지가 아닌 것으로 구분할 수 있다.That is, the artificial intelligence model (131) can distinguish an image corresponding to a desired product image as an image of a target product, that is, a wine product, as shown in Fig. 3, and distinguish the remaining images as not being images of wine products.
도 4는 인공지능 모델의 단어 또는 문구에 대한 학습의 예시를 설명하는 것으로, 전술한 이미지의 학습과 유사하게, 인공지능 모델(131)은 와인과 관련된 단어 또는 문구를 입력 받아 학습을 수행할 수 있다. 예를 들어, 인공지능 모델(131)은, '이름', '가격', '날짜', '성분' 등과 같은 단어에 해당하는 카테고리에 포함되는 와인 관련 단어를 학습 데이터로 입력 받고 대응 카테고리로 분류하도록 학습될 수 있다. 또한, 인공지능 모델(131)은 '사용법', '주의사항', '맛표현' 등과 같은 문구에 해당하는 카테고리에 포함되는 와인 관련 문구를 학습 데이터로 입력 받고 대응 카테고리로 분류하도록 학습될 수 있다.FIG. 4 illustrates an example of learning for words or phrases of an artificial intelligence model. Similar to the learning of the image described above, the artificial intelligence model (131) can perform learning by inputting words or phrases related to wine. For example, the artificial intelligence model (131) can be trained to input wine-related words included in categories corresponding to words such as 'name', 'price', 'date', 'ingredients', etc. as learning data and classify them into corresponding categories. In addition, the artificial intelligence model (131) can be trained to input wine-related phrases included in categories corresponding to phrases such as 'how to use', 'cautions', 'taste expression', etc. as learning data and classify them into corresponding categories.
이에 의해, 인공지능 모델(131)은 단어 또는 문구에 대해 와인이라는 대상 상품에 관련된 단어 또는 문구와 그렇지 않은 단어 또는 문구를 분류할 수 있으며, 대상 상품에 관련된 단어는 적절한 카테고리로 분류할 수 있다.By this, the artificial intelligence model (131) can classify words or phrases related to the target product, wine, and words or phrases that are not related, and classify words related to the target product into an appropriate category.
나아가, 인공지능 모델(131)은 카테고리와 밸류에 대한 xpath를 학습할 수 있다. 예를 들어, 카테고리로서 '가격'이라는 단어와 그에 대응되는 밸류로서 '100원'이라는 단어가 각각 갖는 xpath를 확인하여 해당 카테고리와 밸류에 대응되는 xpath를 판별할 수 있도록 학습될 수 있다. 또한, 인공지능 모델(131)은 카테고리를 갖지 않는 밸류에 대해서도 xpath를 확인하여 카테고리가 없는 해당 밸류에 대응되는 xpath를 판별할 수 있도록 학습될 수 있다. Furthermore, the artificial intelligence model (131) can learn xpaths for categories and values. For example, it can be learned to determine the xpath corresponding to the corresponding category and value by checking the xpaths of the word 'price' as a category and the word '100 won' as a corresponding value. In addition, the artificial intelligence model (131) can be learned to determine the xpath corresponding to the corresponding value without a category by checking the xpath for a value without a category.
이와 같이 학습된 인공지능 모델(131)은 시스템 내에서 웹페이지 분류부(12)가 제공하는 웹페이지로부터 대상 상품 정보에 해당하는 이미지, 단어, 문구를 추출하고 분류할 수 있다.The artificial intelligence model (131) learned in this way can extract and classify images, words, and phrases corresponding to target product information from web pages provided by the web page classification unit (12) within the system.
인공지능 모델(131)을 포함하는 정보 추출부(13)는 인공지능 모델(131) 및 웹페이지 분류부(12)에서 확보된 정보를 활용하여 다음과 같은 방식으로 상품 정보를 추출할 수 있다.The information extraction unit (13) including the artificial intelligence model (131) can extract product information in the following manner by utilizing information obtained from the artificial intelligence model (131) and the web page classification unit (12).
정보 추출부(13)는, DOM 트리에서 밸류를 갖는 리프 노드(leaf node)로부터 바텀-업(bottom-up) 방식으로 상향식 판단을 수행할 수 있다. The information extraction unit (13) can perform bottom-up judgment from a leaf node having a value in the DOM tree.
정보 추출부(13)는 특정 노드의 밸류(이미지, 단어 또는 문구)가 카테고리 인지, 특정 카테고리에 대한 밸류 인지 또는 카테고리가 없는 밸류인지에 대한 판단을 수행한 후 판단된 결과를 기반으로 그 상향 노드에 대해 판단된 노드와의 관계를 판단하는 방식이 적용될 수 있다. The information extraction unit (13) can be applied in a manner in which it determines whether the value (image, word or phrase) of a specific node is a category, a value for a specific category or a value without a category, and then determines the relationship between the determined node and the upper node based on the determined result.
또한, 정보 추출부(13)는 노드 A에 대한 판단 결과를 기반으로 다른 노드와의 관계를 판단할 수 있다.Additionally, the information extraction unit (13) can determine the relationship with other nodes based on the judgment result for node A.
예를 들어, 정보 추출부(13)는, 노드 A가 단어이고 노드 A가 밸류에 해당한다고 하면 노드 B는 노드 A에 대응되는 카테고리인지 판단하거나, 노드 A가 단어이고 노드 A가 카테고리에 해당한다고 하면 노드 B는 노드 A에 대응되는 밸류인지 판단하거나, 노드 A가 단어이고 노드 A가 카테고리에 해당한다고 하면 노드 B, 노드 C, 노드 D는 노드 A에 모두 대응되는 밸류인지 판단할 수 있다. For example, if node A is a word and node A corresponds to a value, the information extraction unit (13) can determine whether node B is a category corresponding to node A, or if node A is a word and node A corresponds to a category, determine whether node B is a value corresponding to node A, or if node A is a word and node A corresponds to a category, determine whether node B, node C, and node D are all values corresponding to node A.
또한, 정보 추출부(13)는, 노드 A가 상품 이미지이고 노드 A가 밸류에 해당한다고 하면 노드 B는 노드 A에 대응되는 카테고리인지 판단할 수 있다. In addition, the information extraction unit (13) can determine whether node B is a category corresponding to node A if node A is a product image and node A corresponds to a value.
또한, 정보 추출부(13)는, 노드 A가 문구이고 노드 A가 밸류에 해당한다고 하면 노드 B는 노드 A에 대응되는 카테고리인지 판단할 수 있다.In addition, the information extraction unit (13) can determine whether node B is a category corresponding to node A if node A is a phrase and node A corresponds to a value.
또한, 정보 추출부(13)는, 노드 A가 단어이고 노드 B가 이미지, 텍스트 또는 문구인 경우에도 두 노드 간의 관계를 판단할 수 있다. 정보 추출부(13)는 단어인 노드 A가 카테고리인 경우 이미지 또는 단어구인 노드 B가 노드 에에 해당되는 밸류인지 판단할 수 있다.In addition, the information extraction unit (13) can determine the relationship between two nodes even when node A is a word and node B is an image, text or phrase. When node A, which is a word, is a category, the information extraction unit (13) can determine whether node B, which is an image or a word phrase, is a value corresponding to node A.
한편, 정보 추출부(13)는 상품 정보 판단의 보정을 수행할 수 있다. Meanwhile, the information extraction unit (13) can perform correction of product information judgment.
정보 추출부(13) 서로 매칭된 노드 간의 관계가 DOM 트리에서 같은 부모(parent) 노드를 가지고 있는지, 같은 부모 노드는 루트 노드인지, 노드 A의 바로 위 부모 노드인 노드 A'와 노드 B의 바로 위 부모 노드인 노드 B'가 다른 노드인 경우 노드 A'와 노드 B'의 트리 거리(tree distance)는 얼마인지 트리 거리가 기설정된 임계값 보다 작은 지 노드 A와 노드 B의 부모 노드들은 가까운지 등을 판단함으로써, 노드 A와 노드 B의 거리가 얼마나 가까운지 판단할 수 있다.Information extraction unit (13) By determining whether the relationship between the nodes that are matched with each other has the same parent node in the DOM tree, whether the same parent node is a root node, if node A', the immediate parent node of node A, and node B', the immediate parent node of node B, are different nodes, what is the tree distance between node A' and node B', whether the tree distance is less than a preset threshold, and whether the parent nodes of node A and node B are close, it is possible to determine how close the distance between node A and node B is.
DOM 트리 내에서 상품 정보는 형상적으로 서로 매우 가까이 존재할 확률이 높으며 멀리 떨어져 분리되지 않을 것이다. 이에 따라, 대상 상품 정보(카테고리, 밸류)로 판별된 노드들의 집합에서 하나의 노드는 다른 노드와의 최단 거리가 기설정된 특정 임계값 이하인 것이 바람직하다.Within the DOM tree, product information is likely to be very close to each other in terms of shape and will not be separated by a large distance. Accordingly, it is desirable that among the set of nodes determined by the target product information (category, value), the shortest distance between one node and another node is less than a predetermined threshold value.
또한, 상품 정보는 DOM 트리의 양쪽 가장 자리에 해당하는 노드 보다는 내부에 위치한 노드에 있을 가능성이 높으며, DOM 트리의 양쪽 끝은 헤더(header)와 푸터(footer)가 차지할 것이다.Additionally, product information is more likely to be in nodes located inside the DOM tree rather than at the edges, with the ends of the DOM tree likely to be occupied by headers and footers.
더하여, 대상 상품의 상세 정보를 포함하는 웹페이지는 홈페이지에서 1개만 존재하지 않을 가능성이 높으며, 카테고리가 명시되지 않은 밸류만 표시된 노드의 경우 상품의 상세 정보를 포함하는 하나의 웹페이지만으로 판단하는 경우 추출하고자 하는 상품 정보인지 판단하기 어렵지만, 상세 정보를 갖는 웹페이지들이 여러 개 있으면 해당 xpath가 반복되어 존재하게 되어 이를 통해 상품 정보 여부를 판단할 수 있다.In addition, it is highly likely that there is not only one webpage on the homepage that contains detailed information about the target product, and in the case of a node that displays only values without specifying a category, it is difficult to determine whether it is the product information you want to extract if you only judge it as a single webpage containing detailed information about the product. However, if there are multiple webpages with detailed information, the corresponding xpath will be repeated, which can be used to determine whether it is product information.
즉, DOM tree에서 헤더, 푸터 등의 보일러플레이트(boilerplate)로 판단되지 않고 대상 상품의 정보로 판단된 노드 들과 거리가 가까우면(기 설정된 임계값 이내이면) 로컬 관점에서는 상품 정보로 판단되지 않았을 정보를 글로벌(global) 관점에서 상품 정보로 보정 가능하다.In other words, if the distance between nodes that are judged as information about the target product and those that are not judged as boilerplate such as headers and footers in the DOM tree is close (within a preset threshold), information that would not have been judged as product information from a local perspective can be corrected to product information from a global perspective.
이와 같이, 정보 추출부(13)는 특정 노드가 헤더, 푸터 등의 보일러플레이트(boilerplate)로 판단되지 않고 대상 상품의 정보로 판단된 노드 들과 거리가 가까운 경우 해당 노드를 상품 정보로 판단할 수 있다.In this way, the information extraction unit (13) can determine a node as product information if the node is not determined to be boilerplate such as a header or footer and is close to nodes determined to be information on the target product.
한편, 정보 추출부(13)는 추출된 대상 상품 정보를 이용하여 대상 상품 정보를 추출하기 위한 인공지능 모델(131)을 추가 학습시켜 업데이트할 뿐만 아니라, 추가의 인공지능 모델을 이용하여 응용 컨텐츠 또는 서비스를 생성 제공할 수 있다.Meanwhile, the information extraction unit (13) can not only update the artificial intelligence model (131) for extracting target product information by additionally learning it using the extracted target product information, but can also create and provide application content or services using the additional artificial intelligence model.
예를 들어, 정보 추출부(13) 내에 마련된 추가의 인공지능 모델은, 상품 설명 표현의 핵심 요소를 추출하고 그에 관련된 컨텐츠를 제작할 수 있다. 인공지능 모델은, 문자로 나열된 표현 중 요약/축약할 수 있는 일부 단어를 추출하거나 그림, 영상 등의 시각 표현 중 요약/축약할 수 있는 일부 표현 추출하도록 학습될 수 있다.For example, an additional artificial intelligence model provided in the information extraction unit (13) can extract key elements of product description expressions and produce content related thereto. The artificial intelligence model can be trained to extract some words that can be summarized/abbreviated among expressions listed in text, or to extract some expressions that can be summarized/abbreviated among visual expressions such as pictures and videos.
또한, 인공지능 모델은, 상품 표현에 연관된 컨텐츠를 자동 생성할 수 있다. 예를 들어, 인공지능 모델은, 문자로 나열된 상품 표현 중에 핵심 단어를 삭제하고 괄호 처리하여, 해당 칸에 들어갈 단어의 주관식/객관식 혹은 O/X 선택 퀴즈를 만들 수 있다. 또한 만들어진 퀴즈와 그에 대한 답을 바탕으로 비슷한 형식과 설명의 가상 퀴즈와 답을 생성 가능하다.In addition, the AI model can automatically generate content related to product expressions. For example, the AI model can delete key words from product expressions listed in letters and place them in parentheses to create a subjective/objective choice or true/false selection quiz for the words in the corresponding space. In addition, based on the created quiz and its answers, it is possible to generate a virtual quiz and answers with similar format and explanation.
또한, 인공지능 모델은 상품 표현에 대한 점수 매칭을 수행하도록 학습될 수 있다. 예를 들어, 인공지능 모델은, 평론가 A의 상품 표현과 채점값 1000개를 학습하고, 새로운 상품 표현을 입력하면 채점값을 산정하도록 구현될 수 있다.In addition, the AI model can be trained to perform score matching for product expressions. For example, the AI model can be implemented to learn 1,000 product expressions and ratings of critic A, and calculate the rating when a new product expression is input.
또한, 인공지능 모델은, 개개인의 상품 설명 방식을 학습하여 새로운 상품에 대한 설명 표현하도록 학습될 수 있다. 예를 들어, 인공지능 모델은, 평론가 A의 상품 표현 자료 1000개를 학습하여 모델을 생성하면, 새로운 물질에 대해 평론가 A가 작성한 것 같은 상품 표현을 생성하도록 구현될 수 있다.In addition, the AI model can be trained to express descriptions of new products by learning the product description style of each individual. For example, if the AI model learns 1,000 product description data of critic A and creates a model, it can be implemented to generate product descriptions that seem to have been written by critic A for new materials.
또한, 인공지능 모델은 상품 A의 설명과 비슷한 표현을 가진 상품 B를 찾거나, 상품 A의 설명에 어울리는 표현을 가진 상품 C를 찾을 수 있다. 또한, 인공지능 모델은 상품 A와 상품 B가 비슷한 이유 및 상품 A와 상품 C가 어울리는 이유를 문장과 문단으로 생성하도록 구현될 수 있다.Additionally, the AI model can find product B with similar expressions to the description of product A, or find product C with expressions that match the description of product A. Additionally, the AI model can be implemented to generate sentences and paragraphs explaining why products A and B are similar and why products A and C match.
이상에서 설명한 바와 같이, 본 발명의 여러 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템은, 인터넷 기반의 방대한 정보 바다에서 학습 가능한 인공지능을 활용하여 원하는 상품에 대한 필요 정보를 신속하고 정확하게 추출하여 제공할 수 있다. 또한, 본 발명의 여러 실시예에 따른 인공지능 기반 정보 추출 및 활용 시스템은, 추출된 정보를 활용하여 대상 상품에 대한 응용 컨텐츠를 제공하여 대상 상품에 대한 관심도 및 호감도를 증대시키고 나아가 해당 상품의 매출 향상에 기여할 수 있다.As described above, the AI-based information extraction and utilization system according to various embodiments of the present invention can quickly and accurately extract and provide necessary information on a desired product by utilizing AI capable of learning from a vast Internet-based information sea. In addition, the AI-based information extraction and utilization system according to various embodiments of the present invention can provide application content for a target product by utilizing the extracted information, thereby increasing interest and favorability for the target product and further contributing to increased sales of the product.
이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.Although the present invention has been described above with reference to embodiments thereof, it will be readily understood by those skilled in the art that various modifications and changes may be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below.
Claims (7)
상기 인공지능 모델은,
이미지, 단어(text) 및 단어 뭉치, 문장, 문단을 포함하는 문구(text phrase)가 상기 대상 상품에 대해 요구되는 정보에 해당하는지 판별하도록 학습되거나, 또는, 이미지, 단어(text) 및 단어 뭉치, 문장, 문단을 포함하는 문구(text phrase)의 카테고리와 밸류 및 그에 대한 xpath를 판별하도록 학습된 것이고,
상기 정보 추출부는,
상기 인공지능 모델의 추출 결과를 기반으로, DOM(Document Object Model) 트리(tree)에서 밸류를 갖는 리프 노드(leaf node)로부터 바텀-업(bottom-up) 방식으로 상향식 판단을 수행하여 상기 대상 상품에 대해 요구되는 정보를 추출하고,
상기 인공지능 모델의 추출 결과를 기반으로, DOM 트리에서 임의의 노드인 노드 A에 대한 밸류 또는 카테고리의 판단 결과에 따라 타 노드인 노드 B의 밸류 또는 카테고리의 판단을 수행하되,
노드 A가 상기 단어이면서 상기 밸류에 해당한다고 하면 노드 B는 노드 A에 대응되는 카테고리인지 판단하고,
노드 A가 상기 단어이면서 상기 카테고리에 해당한다고 하면 노드 B는 노드 A에 대응되는 밸류인지 판단하며,
노드 A가 상품에 대한 상기 이미지이면서 상기 밸류에 해당한다고 하면 노드 B는 노드 A에 대응되는 카테고리인지 판단하고,
노드 A가 상기 문구이면서 밸류에 해당한다고 하면 노드 B는 노드 A에 대응되는 카테고리인지 판단하며,
서로 매칭된 노드 간의 관계가 상기 DOM 트리에서 같은 부모(parent) 노드를 가지고 있는지, 같은 부모 노드는 루트 노드인지, 노드 A의 바로 위 부모 노드인 노드 A'와 노드 B의 바로 위 부모 노드인 노드 B'가 다른 노드인 경우 노드 A'와 노드 B'의 트리 거리(tree distance)는 얼마인지 트리 거리가 기설정된 임계값 보다 작은 지를 판단함으로써, 노드 A와 노드 B의 거리가 얼마나 가까운지 판단하는 것을 특징으로 하는 인공지능 기반 정보 추출 및 활용 시스템.A URL collection unit that collects a URL (Uniform Resource Locator) of a homepage including information related to a target product; a webpage classification unit that classifies a webpage including detailed information of the target product among webpages within the homepage having the collected URL; and an information extraction unit that extracts a category and/or value of information required for the target product from a webpage including detailed information of the classified target product based on an artificial intelligence model and trains the artificial intelligence model based on the extracted data.
The above artificial intelligence model is,
It is learned to determine whether an image, a word (text), and a text phrase containing a group of words, a sentence, or a paragraph corresponds to the information required for the target product, or it is learned to determine the category and value of an image, a word (text), and a text phrase containing a group of words, a sentence, or a paragraph, and its xpath.
The above information extraction unit,
Based on the extraction results of the above artificial intelligence model, bottom-up judgment is performed from leaf nodes having values in the DOM (Document Object Model) tree to extract the information required for the target product.
Based on the extraction results of the above artificial intelligence model, the value or category of node B, which is another node, is judged based on the value or category judgment result of node A, which is an arbitrary node in the DOM tree.
If node A is the above word and corresponds to the above value, then node B determines whether it is a category corresponding to node A.
If node A is the above word and falls into the above category, then node B is judged to be a value corresponding to node A.
If node A is the image of the product and corresponds to the value above, then node B determines whether it is a category corresponding to node A.
If node A is the above phrase and corresponds to a value, then node B determines whether it is a category corresponding to node A.
An artificial intelligence-based information extraction and utilization system characterized in that it determines how close the distance between nodes A and B is by determining whether the relationship between matched nodes has the same parent node in the DOM tree, whether the same parent node is a root node, and if node A', the immediate parent node of node A, and node B', the immediate parent node of node B, are different nodes, what the tree distance is between node A' and node B', and whether the tree distance is smaller than a preset threshold value.
DOM 트리에서 임의의 노드가 헤더, 푸터를 포함하는 보일러플레이트(boilerplate)로 판단되지 않고 상기 대상 상품에 대해 요구되는 정보로 판단된 노드와의 거리가 사전 설정된 임계값 보다 작은 경우, 해당 노드를 상기 대상 상품에 대해 요구되는 정보인 것으로 판단하는 것을 특징으로 하는 인공지능 기반 정보 추출 및 활용 시스템.In claim 1, the information extraction unit,
An artificial intelligence-based information extraction and utilization system characterized in that if any node in a DOM tree is not judged to be a boilerplate containing a header and a footer and the distance from a node judged to be information required for the target product is less than a preset threshold value, the node is judged to be information required for the target product.
상기 웹페이지의 DOM(Document Object Model) 트리(tree), 웹페이지별로 사용하는 CSS(Cascading Style Sheets) 및 스타일 태그, 상기 웹페이지의 구조-템플릿, 상기 웹페이지의 구조-보일러플레이트(structure-boilerplate) 및 상기 웹페이지에 존재하는 이미지, 단어, 문구 및 테이블을 포함하는 요소들 중 적어도 하나를 기반으로 상기 웹페이지를 분류하는 것을 특징으로 하는 인공지능 기반 정보 추출 및 활용 시스템. In claim 1, the web page classification section,
An artificial intelligence-based information extraction and utilization system characterized in that it classifies the webpage based on at least one of the following elements: a DOM (Document Object Model) tree of the webpage, CSS (Cascading Style Sheets) and style tags used for each webpage, a structure-template of the webpage, a structure-boilerplate of the webpage, and images, words, phrases, and tables existing in the webpage.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210167694A KR102783347B1 (en) | 2021-11-29 | 2021-11-29 | System of extracting and utilizing information based on artificial intelligence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210167694A KR102783347B1 (en) | 2021-11-29 | 2021-11-29 | System of extracting and utilizing information based on artificial intelligence |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230080197A KR20230080197A (en) | 2023-06-07 |
KR102783347B1 true KR102783347B1 (en) | 2025-03-17 |
Family
ID=86761812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210167694A Active KR102783347B1 (en) | 2021-11-29 | 2021-11-29 | System of extracting and utilizing information based on artificial intelligence |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102783347B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007047974A (en) * | 2005-08-09 | 2007-02-22 | Hokkaido Univ | Information extraction apparatus and information extraction method |
KR101509393B1 (en) | 2014-03-28 | 2015-04-13 | 주식회사 피넛 | Apparatus for providing product information and method thereof |
WO2020101479A1 (en) * | 2018-11-14 | 2020-05-22 | Mimos Berhad | System and method to detect and generate relevant content from uniform resource locator (url) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102365434B1 (en) * | 2014-04-02 | 2022-02-21 | 삼성전자주식회사 | Content search method and content search system |
KR20160070282A (en) * | 2014-12-09 | 2016-06-20 | 큐픽 주식회사 | Providing system and method for shopping mall web site, program and recording medium thereof |
KR101741509B1 (en) * | 2015-07-01 | 2017-06-15 | 지속가능발전소 주식회사 | Device and method for analyzing corporate reputation by data mining of news, recording medium for performing the method |
KR101990502B1 (en) * | 2017-03-29 | 2019-06-18 | 주식회사 위시어폰 | a device and a method for extracting generalized information |
KR102198904B1 (en) | 2020-01-09 | 2021-01-06 | 기술보증기금 | Distributed Deep Learning Model-based Artificial Intelligence System for Technology Appraisal |
KR20210092979A (en) | 2020-01-17 | 2021-07-27 | 글로벌사이버대학교 산학협력단 | Fake news artificial intelligence classification system, and method thereof |
CN111737446B (en) | 2020-06-22 | 2024-04-05 | 北京百度网讯科技有限公司 | Method, device, equipment and storage medium for building quality assessment model |
-
2021
- 2021-11-29 KR KR1020210167694A patent/KR102783347B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007047974A (en) * | 2005-08-09 | 2007-02-22 | Hokkaido Univ | Information extraction apparatus and information extraction method |
KR101509393B1 (en) | 2014-03-28 | 2015-04-13 | 주식회사 피넛 | Apparatus for providing product information and method thereof |
WO2020101479A1 (en) * | 2018-11-14 | 2020-05-22 | Mimos Berhad | System and method to detect and generate relevant content from uniform resource locator (url) |
Also Published As
Publication number | Publication date |
---|---|
KR20230080197A (en) | 2023-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10896214B2 (en) | Artificial intelligence based-document processing | |
US9069855B2 (en) | Modifying a hierarchical data structure according to a pseudo-rendering of a structured document by annotating and merging nodes | |
US8117203B2 (en) | Method and system for automatically extracting data from web sites | |
JP4940399B2 (en) | Advertisement distribution apparatus and program | |
Velldal et al. | Norec: The norwegian review corpus | |
US20200004792A1 (en) | Automated website data collection method | |
US7444325B2 (en) | Method and system for information extraction | |
US20110066662A1 (en) | System and Method for Content Extraction from Unstructured Sources | |
CN110390018A (en) | An LSTM-based social network comment generation method | |
CN110188107A (en) | A kind of method and device of the Extracting Information from table | |
CN108885617A (en) | Sentence parsing system and program | |
WO2014000130A1 (en) | Method or system for automated extraction of hyper-local events from one or more web pages | |
KR20170062564A (en) | Method, Apparatus for Food Safety Data Analysis Based on Big Data, And a Computer-readableStorage Medium for executing the Method | |
CN117807210A (en) | Knowledge database interaction method and device, electronic equipment and computer readable storage medium | |
Koumpouri et al. | Evaluation of four approaches for" sentiment analysis on movie reviews" the kaggle competition | |
Štajner et al. | Automatic assessment of conceptual text complexity using knowledge graphs | |
US20120221545A1 (en) | Isolating desired content, metadata, or both from social media | |
CN101350019A (en) | Web Page Information Extraction Method Based on Predefined Slot Vector Model | |
Sygkounas et al. | Sentiment polarity detection from amazon reviews: an experimental study | |
Itani | Sentiment analysis and resources for informal Arabic text on social media | |
Saleiro et al. | Popstar at replab 2013: Name ambiguity resolution on twitter | |
KR102783347B1 (en) | System of extracting and utilizing information based on artificial intelligence | |
Rahimi et al. | Bibliometric studies in tourism | |
CN118113962A (en) | Method and device for processing text in webpage, storage medium and processor | |
Kincl et al. | A cross-cultural study of online marketing in international higher education–a keyword analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20211129 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20240523 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20250312 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20250313 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20250313 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |