KR20220093637A - Method for obtaining automatically user identification object in web page - Google Patents

Method for obtaining automatically user identification object in web page Download PDF

Info

Publication number
KR20220093637A
KR20220093637A KR1020200184552A KR20200184552A KR20220093637A KR 20220093637 A KR20220093637 A KR 20220093637A KR 1020200184552 A KR1020200184552 A KR 1020200184552A KR 20200184552 A KR20200184552 A KR 20200184552A KR 20220093637 A KR20220093637 A KR 20220093637A
Authority
KR
South Korea
Prior art keywords
dome
web page
learning
model
dom
Prior art date
Application number
KR1020200184552A
Other languages
Korean (ko)
Other versions
KR102570477B1 (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 KR1020200184552A priority Critical patent/KR102570477B1/en
Publication of KR20220093637A publication Critical patent/KR20220093637A/en
Application granted granted Critical
Publication of KR102570477B1 publication Critical patent/KR102570477B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed is a method for identifying an object of a webpage. The method for identifying the object of the webpage according to one embodiment of the present specification selects a specific DOM object among a DOM tree of the document object model (DOM) of a specific webpage, extracts a feature value according to predetermined criteria from the selected DOM object, and may prepare the learning data to be applied to a learning target classifier model. Therefore, the present invention enables to more efficiently recognize an object desired by a user in an arbitrary webpage whose structure is unknown through the learned classifier.

Description

웹 페이지에서 자동으로 사용자 식별 객체 획득하는 방법{METHOD FOR OBTAINING AUTOMATICALLY USER IDENTIFICATION OBJECT IN WEB PAGE}How to automatically obtain a user identification object from a web page {METHOD FOR OBTAINING AUTOMATICALLY USER IDENTIFICATION OBJECT IN WEB PAGE}

본 명세서는 웹 페이지에서 자동으로 사용자 식별 객체를 획득하는 방법에 관한 것이다.This specification relates to a method for automatically obtaining a user identification object in a web page.

웹 페이지는 일반적으로 HTML 표준 규격에 따라 구성되지만, 실제 웹 페이지에 게시되는 컨텐츠와 디자인 레이아웃 등은 매우 다양하게 존재할 수 있다. 따라서, 웹 페이지에 제공되는 다양한 컨텐츠 중 특정 주제를 갖는 컨텐츠 또한 특정한 표준 규격에 맞추어 게시되는 것이 아니라, 위치, 모양 등 제 각각의 형태로 게재되는 것이 일반적이다. Although web pages are generally constructed according to the HTML standard, content and design layouts, etc. posted on the actual web pages may be very diverse. Therefore, it is common that content having a specific subject among various contents provided on a web page is also posted in various forms, such as location and shape, rather than being posted according to a specific standard.

따라서, 다양한 구조를 갖는 복수의 웹 페이지 내에서 특정 아이템을 자동으로 파악하기 위해서는, 자동 식별을 위한 통일된 표준 규격에 대한 필요성이 존재하지만, 특정 아이템의 인식을 위해 HTML와 유사한 표준 규격을 제정하기는 현실적으로 어려운 실정이다. 또한, 특정 아이템의 효율적 식별을 위한 명시적인 규칙을 만들어서 직접 관리하는 것은 매우 비효율적인 방법이다. 이에 따라, 웹 페이지에서 사용자가 원하는 객체를 보다 효율적으로 획득하는 방법이 필요하다.Therefore, in order to automatically identify a specific item within a plurality of web pages having various structures, there is a need for a unified standard for automatic identification. is difficult in reality. Also, it is very inefficient to create and manage explicit rules for efficient identification of specific items. Accordingly, there is a need for a method for more efficiently obtaining an object desired by a user in a web page.

본 명세서는 전술한 문제점을 해결하기 위한 것으로서, 특정 컨텐츠 또는 객체가 가지는 구조적, 형태적 공통 특징에 기초하여 웹 페이지의 객체 식별 방법을 제공하는 것을 목적으로 한다.An object of the present specification is to solve the above problems, and an object of the present specification is to provide a method for identifying an object of a web page based on structural and morphological common characteristics of specific content or objects.

또한, 본 명세서는 웹 페이지의 HTML 문서의 각 요소를 객체화하여, HMTL 태그를 자동으로 제어함으로써, 웹 페이지 내에서 컨텐츠를 게시한 사용자를 보다 효율적으로 식별할 수 있는 웹 페이지의 객체 식별 방법을 제공하는 것을 목적으로 한다.In addition, the present specification provides an object identification method of a web page that can more efficiently identify a user who posted content in a web page by objectifying each element of the HTML document of the web page and automatically controlling the HMTL tag aim to do

또한, 본 명세서는 HTML 태그를 동적으로 제어하기 위해 문서 객체 모델(DOM)으로부터 학습데이터를 획득하여, 기계학습 기반의 분류기를 학습시키는 것을 목적으로 한다.In addition, the present specification aims to train a machine learning-based classifier by acquiring training data from a document object model (DOM) to dynamically control HTML tags.

본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 이하의 발명의 상세한 설명으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved by the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned are clear to those of ordinary skill in the art to which the present invention belongs from the detailed description of the invention below. can be understood clearly.

본 명세서의 일 실시예에 따른 웹 페이지의 객체 식별 방법은, 웹 페이지의 HTML을 파싱하는 단계; 상기 웹 페이지에 대응하는 문서 객체 모델(DOM)의 돔 트리(DOM Tree)를 생성하는 단계; 상기 돔 트리 중 최하위 노드에 해당하는 적어도 하나의 돔 객체(DOM Object)를 선택하는 단계; 상기 선택된 돔 객체로부터 미리 정해진 기준에 따라 특징값을 추출하는 단계; 및 상기 추출된 특징값 및 레이블을 학습대상 모델에 입력값으로 설정하여 분류기(classifier)를 학습시키는 단계;를 포함하고, 상기 분류기는, 상기 웹 페이지에 포함된 특정 객체를 자동으로 식별하도록 학습된다.A method for identifying an object of a web page according to an embodiment of the present specification includes parsing HTML of the web page; generating a DOM Tree of a document object model (DOM) corresponding to the web page; selecting at least one DOM object corresponding to the lowest node in the dome tree; extracting a feature value from the selected dome object according to a predetermined criterion; and learning a classifier by setting the extracted feature values and labels as input values to a learning target model, wherein the classifier is learned to automatically identify a specific object included in the web page .

상기 특정 객체는 사용자 식별 객체를 포함할 수 있다.The specific object may include a user identification object.

상기 적어도 하나의 돔 객체를 선택하는 단계는, 상기 돔 트리 중 텍스트(text)를 포함하는 객체를 선택할 수 있다.The selecting of the at least one dome object may include selecting an object including text from the dome tree.

상기 미리 정해진 기준은, 상기 선택된 돔 객체에 포함된 텍스트 특징, HTML 태그의 속성 또는 상기 돔 트리내에서 복수의 돔 객체의 계층 구조의 유사성 중 적어도 하나를 포함하고, 상기 특징값을 추출하는 단계는, 상기 적어도 하나의 미리 정해진 기준에 따라 특징 벡터를 생성하는 단계를 포함할 수 있다.The predetermined criterion includes at least one of a text feature included in the selected dome object, an attribute of an HTML tag, or similarity of a hierarchical structure of a plurality of dome objects in the dome tree, and the step of extracting the feature value includes: , generating a feature vector according to the at least one predetermined criterion.

상기 텍스트 특징은, 텍스트의 길이, 특수문자의 포함 여부 또는 띄어쓰기 여부 중 적어도 하나를 포함하고, 상기 텍스트의 특징에 따라 상기 돔 객체가 상기 특정 객체를 표시하는 용도로 사용되는지를 결정하여 상기 특징 벡터가 결정될 수 있다.The text characteristic includes at least one of a length of text, whether special characters are included, or whether a space is used, and determines whether the dome object is used for displaying the specific object according to the characteristic of the text. can be determined.

상기 HTML 태그는, 클래스(class), href, 사용자 정의(User-defined) 태그 중 적어도 하나를 포함하고, 상기 HTML 태그의 속성이 사용자 식별 정보를 포함하는지 여부에 따라 상기 특정 객체를 표시하는 용도로 사용되는지를 결정하여 상기 특징 벡터가 결정될 수 있다.The HTML tag includes at least one of a class, href, and user-defined tag, and displays the specific object according to whether an attribute of the HTML tag includes user identification information. The feature vector can be determined by determining whether it is used.

상기 복수의 돔 객체의 계층 구조의 유사성은, 상기 돔 트리에서 가장 낮은 공통 조상(lowest common ancestor) 까지의 경로의 길이 및 상기 경로에 위치하는 태그들의 시퀀스가 동일한 경우 상기 계층구조의 유사성이 존재하는 것으로 판단하고, 상기 계층 구조의 유사성에 따라 상기 특징 벡터가 결정될 수 있다.The similarity of the hierarchical structure of the plurality of dome objects is determined by the similarity of the hierarchical structure when the length of the path to the lowest common ancestor in the dome tree and the sequence of tags located in the path are the same. , and the feature vector may be determined according to the similarity of the hierarchical structure.

상기 분류기는, 머신 러닝 기반의 이진 분류기(binary classifier)를 포함할 수 있다.The classifier may include a machine learning-based binary classifier.

상기 웹 페이지의 객체 식별 방법은, 상기 학습된 분류기 모델을 메모리에 저장하는 단계;를 더 포함하고, 제1 웹 페이지를 수집하는 단계; 상기 미리 정해진 기준에 따라 상기 제1 웹 페이지에 대하여 상기 특징값을 추출하는 단계; 및 상기 특징값을 상기 학습된 분류기 모델의 입력으로 설정하고, 상기 학습된 분류기 모델의 출력 결과에 따라 상기 특정 객체를 자동 식별하는 단계;를 더 포함할 수 있다.The method for identifying the object of the web page further includes: storing the learned classifier model in a memory; collecting a first web page; extracting the feature value with respect to the first web page according to the predetermined criterion; and setting the feature value as an input of the learned classifier model, and automatically identifying the specific object according to an output result of the learned classifier model.

본 명세서의 다른 실시예에 따른 컴퓨터 프로그램은, 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하고, 상기 컴퓨터 프로그램은, 웹 페이지의 HTML을 파싱하도록 하는 명령; 상기 웹 페이지에 대응하는 문서 객체 모델(DOM)의 돔 트리(DOM Tree)를 생성하고, 상기 돔 트리 중 최하위 노드에 해당하는 적어도 하나의 돔 객체(DOM Object)를 선택하도록 하는 명령; 상기 선택된 돔 객체에 포함된 텍스트 특징, HTML 태그의 속성 또는 상기 돔 트리내에서 복수의 돔 객체의 계층 구조의 유사성 중 적어도 하나에 기초하여 상기 선택된 돔 객체의 특징 벡터를 생성하도록 하는 명령; 상기 추출된 특징 벡터 및 레이블을 학습대상 모델에 입력값으로 설정하여 분류기(classifier)를 학습시키도록 하는 명령;을 포함하고, 상기 분류기는, 상기 웹 페이지에 포함된 특정 객체를 자동으로 식별하도록 학습된다.A computer program according to another embodiment of the present specification includes a plurality of instructions executed by one or more processors, the computer program comprising: instructions to parse HTML of a web page; a command for generating a DOM tree of a document object model (DOM) corresponding to the web page and selecting at least one DOM object corresponding to the lowest node among the dome tree; a command to generate a feature vector of the selected dome object based on at least one of a text feature included in the selected dome object, an attribute of an HTML tag, or a similarity of a hierarchical structure of a plurality of dome objects in the dome tree; and a command to train a classifier by setting the extracted feature vector and label as input values to a learning target model, wherein the classifier learns to automatically identify a specific object included in the web page do.

본 명세서 다른 실시예에 따른 장치는, 웹 페이지에서 사용자 식별객체를 자동으로 식별할 수 있도록 하는 학습 데이터를 획득하여 데이터 학습을 제어하는 데이터 학습부; 및 학습된 모델을 저장하는 메모리;를 포함하고, 상기 데이터 학습부는, 웹 페이지의 HTML을 파싱하고,상기 웹 페이지에 대응하는 문서 객체 모델(DOM)의 돔 트리(DOM Tree)를 생성하고, 상기 돔 트리 중 최하위 노드에 해당하는 적어도 하나의 돔 객체(DOM Object)를 선택하고, 미리 정해진 기준에 따라 상기 선택된 돔 객체의 특징 벡터를 추출하는 학습데이터 획득부; 및 상기 추출된 특징 벡터 및 레이블을 학습대상 모델에 입력값으로 설정하여 분류기(classifier)를 학습시키는 모델 학습부;를 포함하고, 상기 분류기는, 상기 웹 페이지에 포함된 상기 사용자 식별 객체를 자동으로 식별하도록 학습된다.An apparatus according to another embodiment of the present specification includes: a data learning unit for controlling data learning by acquiring learning data for automatically identifying a user identification object on a web page; and a memory for storing the learned model, wherein the data learning unit parses the HTML of the web page, generates a DOM Tree of a document object model (DOM) corresponding to the web page, and the a learning data acquisition unit that selects at least one DOM object corresponding to the lowest node in the dome tree and extracts a feature vector of the selected dome object according to a predetermined criterion; and a model learning unit for learning a classifier by setting the extracted feature vector and label as input values to a learning target model, wherein the classifier automatically selects the user identification object included in the web page. learn to identify.

상기 학습데이터 획득부는, 상기 선택된 돔 객체에 포함된 텍스트 특징, HTML 태그의 속성 또는 상기 돔 트리내에서 복수의 돔 객체의 계층 구조의 유사성 중 적어도 하나에 기초하여 상기 특징 벡터를 추출할 수 있다.The learning data acquisition unit may extract the feature vector based on at least one of a text feature included in the selected dome object, an attribute of an HTML tag, or a similarity of a hierarchical structure of a plurality of dome objects in the dome tree.

본 명세서는 일 실시예에 따른 웹 페이지의 객체 식별 방법은, 특정 컨텐츠 또는 객체가 가지는 구조적, 형태적 공통 특징에 기초하여 웹 페이지 내에서 사용자가 원하는 객체를 보다 효율적으로 식별할 수 있다.In the present specification, a method for identifying an object of a web page according to an embodiment may more efficiently identify an object desired by a user within a web page based on structural and morphological common characteristics of specific content or objects.

또한, 본 명세서의 일 실시예에 따른 웹 페이지의 객체 식별 방법은 웹 페이지의 HTML 문서의 각 요소를 객체화하여, HMTL 태그를 자동으로 제어함으로써, 웹 페이지 내에서 컨텐츠를 게시한 사용자를 보다 효율적으로 식별할 수 있다.In addition, the object identification method of a web page according to an embodiment of the present specification objectifies each element of the HTML document of the web page and automatically controls the HMTL tag, so that the user who has posted the content in the web page can be identified more efficiently can be identified.

또한, 본 명세서의 일 실시에에 따르면, HTML 태그를 동적으로 제어하기 위해 문서 객체 모델(DOM)으로부터 학습데이터를 획득하여, 기계학습 기반의 분류기를 학습시킴으로써, 웹 페이지에 컨텐츠를 게시한 사용자를 보다 효율적으로 식별할 수 있다.In addition, according to an embodiment of the present specification, by acquiring learning data from a document object model (DOM) to dynamically control HTML tags, and learning a machine learning-based classifier, users who posted content on a web page can be identified more efficiently.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. .

본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
도 1은 본 명세서의 일 실시예에 따른 장치의 블록도이다.
도 2는 본 명세서의 일 실시예에 따른 웹 페이지에서 사용자 식별 객체방법을 구현하기 위한 학습 단계, 데이터 처리 단계를 보다 구체적으로 설명하기 위한 도면이다.
도 3은 본 명세서의 일 실시예에 따른 웹 페이지의 객체 식별 방법의 흐름도이다.
도 4는 본 명세서의 일 실시예에 따라 학습 데이터 획득을 위해 웹 페이지의 HTML 파싱 결과의 예시이다.
도 5는 본 명세서의 일 실시예에 따라 학습 데이터 획득을 위해 생성되는 돔 트리(DOM Tree)을 예시적으로 설명하기 위한 도면이다.
도 6은 본 명세서의 일 실시예에 따라 획득된 학습 데이터에 기초하여 분류기를 학습하는 과정을 설명하기 위한 도면이다.
도 7은 도 3의 S330을 보다 구체적으로 설명하기 위한 흐름도이다.
도 8 내지 도 9는 본 명세서의 일 실시예에 따라 학습 데이터 획득을 위해 DOM 객체를 분석하는 과정을 예시적으로 설명하기 위한 도면들이다.
도 10은 본 명세서의 일 실시예에 따라 분류기 학습을 위해 필요한 DOM 객체의 특징 벡터를 획득하는 과정을 예시적으로 설명하기 위한 도면이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included as a part of the detailed description to help the understanding of the present specification, provide embodiments of the present specification, and together with the detailed description, explain the technical features of the present specification.
1 is a block diagram of an apparatus according to an embodiment of the present specification.
2 is a diagram for explaining in more detail a learning step and a data processing step for implementing the user identification object method in a web page according to an embodiment of the present specification.
3 is a flowchart of a method for identifying an object of a web page according to an embodiment of the present specification.
4 is an example of a HTML parsing result of a web page to obtain learning data according to an embodiment of the present specification.
5 is a diagram for exemplarily explaining a DOM tree generated for acquiring learning data according to an embodiment of the present specification.
6 is a diagram for explaining a process of learning a classifier based on acquired learning data according to an embodiment of the present specification.
7 is a flowchart for describing S330 of FIG. 3 in more detail.
8 to 9 are diagrams for exemplarily explaining a process of analyzing a DOM object to obtain learning data according to an embodiment of the present specification.
FIG. 10 is a diagram for exemplarily explaining a process of acquiring a feature vector of a DOM object required for classifier learning according to an embodiment of the present specification.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included as a part of the detailed description to facilitate the understanding of the present invention, provide embodiments of the present invention, and together with the detailed description, explain the technical features of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, the embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numbers regardless of reference numerals, and redundant description thereof will be omitted. The suffixes "module" and "part" for components used in the following description are given or mixed in consideration of only the ease of writing the specification, and do not have distinct meanings or roles by themselves. In addition, in describing the embodiments disclosed in the present specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in the present specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in the present specification, and the technical idea disclosed herein is not limited by the accompanying drawings, and all changes included in the spirit and scope of the present invention , should be understood to include equivalents or substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including an ordinal number such as 1st, 2nd, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The singular expression includes the plural expression unless the context clearly dictates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, terms such as “comprises” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

도 1은 본 명세서의 일 실시예에 따른 장치의 블록도이다.1 is a block diagram of an apparatus according to an embodiment of the present specification.

본 명세서에서 개시되는 웹 페이지의 객체 식별 방법은 컴퓨터 장치에서 구현될 수 있다. 상기 컴퓨터 장치는 AI 프로세서(100)와 메모리(150)로 구성될 수 있다. 상기 컴퓨터 장치는 AI 프로세싱을 수행할 수 있는 AI 프로세서(100)를 포함하는 전자 기기 또는 상기 AI 프로세서(100)을 포함하는 서버 등을 포함할 수 있다. The method for identifying an object of a web page disclosed herein may be implemented in a computer device. The computer device may include an AI processor 100 and a memory 150 . The computer device may include an electronic device including the AI processor 100 capable of performing AI processing, or a server including the AI processor 100 .

상기 AI 프로세서(100)는 실제 컨텐츠의 개시 방법이 제각각이 복수의 웹 페이지로부터 특정 객체를 자동으로 식별할 수 있도록 하는 학습 모델을 학습시키기 위해 데이터 학습부(100), 학습된 모델을 저장하는 메모리(150), 모델 학습이 종료된 이후, 새롭게 획득되는 웹 페이지에 대하여 학습 모델을 통해 데이터를 처리하는 데이터 처리부(140)를 포함할 수 있다. The AI processor 100 is a data learning unit 100, a memory for storing the learned model in order to learn a learning model that enables each method of starting the actual content to automatically identify a specific object from a plurality of web pages. At 150 , the data processing unit 140 may include a data processing unit 140 that processes data through a learning model with respect to a newly acquired web page after the model learning is finished.

상기 컴퓨터 장치는 신경망을 학습할 수 있는 장치로서, 서버, 데스크탑 PC, 노트북 PC, 태블릿 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.The computer device is a device capable of learning a neural network, and may be implemented as various electronic devices such as a server, a desktop PC, a notebook PC, and a tablet PC.

AI 프로세서(100)는 메모리(150)에 저장된 프로그램을 이용하여 모델 학습부(130)를 통해 신경망을 학습할 수 있다. 특히, AI 프로세서(100)는 웹 페이지에 컨텐츠를 게시한 사용자를 인식하기 위한 신경망을 학습할 수 있다. The AI processor 100 may learn the neural network through the model learning unit 130 using a program stored in the memory 150 . In particular, the AI processor 100 may learn a neural network for recognizing a user who has posted content on a web page.

여기서, 웹 페이지에 컨텐츠를 게시한 사용자를 인식하기 위한 신경망은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 갖는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 모드들은 뉴런이 시냅스(synapse)를 통해 신호를 주고 받는 뉴런의 시냅틱 활동을 모의하도록 각각 연결 관계에 따라 데이터를 주고 받을 수 있다. 여기서 신경망은 신경망 모델에서 발전한 딥러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 신경망 모델의 예는 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Boltzmann Machine), 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥 러닝 기법들을 포함하며, 컴퓨터비젼, 음성인식, 자연어처리, 음성/신호처리 등의 분야에 적용될 수 있다.Here, a neural network for recognizing a user who has posted content on a web page may be designed to simulate a human brain structure on a computer, and a plurality of network nodes having weights that simulate neurons of a human neural network may include The plurality of network modes may transmit and receive data according to a connection relationship, respectively, so as to simulate a synaptic activity of a neuron in which a neuron sends and receives a signal through a synapse. Here, the neural network may include a deep learning model developed from a neural network model. In a deep learning model, a plurality of network nodes can exchange data according to a convolutional connection relationship while being located in different layers. Examples of neural network models include deep neural networks (DNN), convolutional deep neural networks (CNN), Recurrent Boltzmann Machine (RNN), Restricted Boltzmann Machine (RBM), deep trust It includes various deep learning techniques such as neural networks (DBN, deep belief networks) and deep Q-networks, and can be applied to fields such as computer vision, speech recognition, natural language processing, and voice/signal processing.

한편, 전술한 바와 같은 기능을 수행하는 프로세서는 범용 프로세서(예를 들어, CPU)일 수 있으나, 인공지능 학습을 위한 AI 전용 프로세서(예를 들어, GPU)일 수 있다.Meanwhile, the processor performing the above-described function may be a general-purpose processor (eg, CPU), but may be an AI-only processor (eg, GPU) for artificial intelligence learning.

메모리(150)는 AI 프로세서(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(150)는 비 휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SDD) 등으로 구현할 수 있다. 메모리(150)는 AI 프로세서(100)에 의해 액세스되며, AI 프로세서(100)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 또한, 메모리(150)는 본 명세서의 일 실시예에 따른 데이터 분류/인식을 위한 학습 알고리즘을 통해 생성된 신경망 모델(예를 들어, 인공신경망 모델, 분류 모델 등)을 저장할 수 있다.The memory 150 may store various programs and data necessary for the operation of the AI processor 100 . The memory 150 may be implemented as a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SDD). The memory 150 is accessed by the AI processor 100 , and reading/writing/modification/deletion/update of data by the AI processor 100 may be performed. Also, the memory 150 may store a neural network model (eg, an artificial neural network model, a classification model, etc.) generated through a learning algorithm for data classification/recognition according to an embodiment of the present specification.

한편, AI 프로세서(100)는 데이터 분류/인식을 위한 신경망을 학습하는 데이터 학습부(120)를 포함할 수 있다. Meanwhile, the AI processor 100 may include a data learning unit 120 that learns a neural network for data classification/recognition.

데이터 학습부(110)는 데이터 분류/인식을 판단하기 위하여 어떤 학습 데이터를 이용할지, 학습 데이터를 이용하여 데이터를 어떻게 분류하고 인식할지에 관한 기준을 학습할 수 있다. 데이터 학습부(110)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습데이터를 딥러닝 모델에 적용함으로써, 딥러닝 모델을 학습할 수 있다. The data learning unit 110 may learn a criterion regarding which training data to use to determine data classification/recognition and how to classify and recognize data using the training data. The data learning unit 110 may learn the deep learning model by acquiring learning data to be used for learning and applying the acquired learning data to the deep learning model.

데이터 학습부(110)는 적어도 하나의 하드웨어 칩 형태로 제작되어 컴퓨터 장치 및/또는 AI 프로세서(100)에 탑재될 수 있다. 예를 들어, 데이터 학습부(110)는 인공지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 범용 프로세서(CPU) 또는 그래픽 전용 프로세서(GPU)의 일부로 제작되어 컴퓨터 장치 및/또는 AI 프로세서(100)에 탑재될 수도 있다. The data learning unit 110 may be manufactured in the form of at least one hardware chip and mounted on the computer device and/or the AI processor 100 . For example, the data learning unit 110 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as a part of a general-purpose processor (CPU) or a graphics-only processor (GPU) for a computer device and/or AI It may be mounted on the processor 100 .

또한, 데이터 학습부(110)는 소프트웨어 모듈로 구현될 수 있다. 소프트웨어 모듈(또는 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록 매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 애플리케이션에 의해 제공될 수 있다. Also, the data learning unit 110 may be implemented as a software module. When implemented as a software module (or a program module including instructions), the software module may be stored in a computer-readable non-transitory computer readable medium. In this case, the at least one software module may be provided by an operating system (OS) or may be provided by an application.

데이터 학습부(110)는 학습 데이터 획득부(120) 및 모델 학습부(130)를 포함할 수 있다. The data learning unit 110 may include a training data acquiring unit 120 and a model learning unit 130 .

학습 데이터 획득부(120)는 데이터를 분류하고 인식하기 위한 신경망 모델에 필요한 학습 데이터를 획득할 수 있다. 예를 들어, 학습 데이터 획득부(120)는 학습 데이터로서, 신경망 모델에 입력하기 위한 DOM 객체의 특징 벡터 및/또는 라벨링 데이터(레이블)를 획득할 수 있다.The training data acquisition unit 120 may acquire training data required for a neural network model for classifying and recognizing data. For example, the training data acquisition unit 120 may acquire, as training data, a feature vector and/or labeling data (label) of a DOM object to be input to the neural network model.

모델 학습부(130)는 상기 획득된 학습 데이터를 이용하여, 신경망 모델이 소정의 데이터를 어떻게 분류할지에 관한 판단 기준을 가지도록 학습할 수 있다. 이 때 모델 학습부(130)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또는 모델 학습부(130)는 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통해 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(24)는 학습에 따른 상황 판단의 결과가 올바른지에 대한 피드백을 이용하여 강화 학습(reinforcement learning)을 통하여, 신경망 모델을 학습시킬 수 있다.또한, 모델 학습부(130)는 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient decent)을 포함하는 학습 알고리즘을 이용하여 신경망 모델을 학습시킬 수 있다.The model learning unit 130 may use the acquired training data to learn the neural network model to have a criterion for determining how to classify predetermined data. In this case, the model learning unit 130 may train the neural network model through supervised learning using at least a portion of the training data as a criterion for determination. Alternatively, the model learning unit 130 may learn the neural network model through unsupervised learning for discovering a judgment criterion by self-learning using learning data without guidance. Also, the model learning unit 24 may train the neural network model through reinforcement learning using feedback on whether the result of the situation determination according to the learning is correct. In addition, the model learning unit 130 may A neural network model can be trained using a learning algorithm including error back-propagation or gradient decent.

신경망 모델이 학습되면, 모델 학습부(130)는 학습된 신경망 모델을 메모리(150)에 저장할 수 있다. 모델 학습부(130)는 학습된 신경망 모델을 AI 장치와 유선 또는 무선 네트워크로 연결된 서버의 메모리에 저장할 수도 있다.When the neural network model is learned, the model learning unit 130 may store the learned neural network model in the memory 150 . The model learning unit 130 may store the learned neural network model in the memory of the server connected to the AI device through a wired or wireless network.

데이터 학습부(110)는 인식 모델의 분석 결과를 향상시키거나, 인식 모델의 생성에 필요한 리소스 또는 시간을 절약하기 위해 학습 데이터 전처리부(미도시) 및 학습 데이터 선택부(미도시)를 더 포함할 수도 있다. The data learning unit 110 further includes a training data preprocessor (not shown) and a training data selection unit (not shown) to improve the analysis result of the recognition model or to save resources or time required for generating the recognition model You may.

학습 데이터 전처리부는 획득된 데이터가 상황 판단을 위한 학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 예를 들어, 학습 데이터 전처리부는, 모델 학습부(130)가 웹 페이지에서 사용자 식별객체를 인식하기 위한 학습을 위하여 웹 페이지의 HTML을 파싱하고, HTML 문서 내의 내용을 정의(모델 구성)하고 각 요소에 접근하는 방법을 명시하는 문서 객체 모델(DOM)의 계층적 구조를 확인할 수 있다. The learning data preprocessor may preprocess the acquired data so that the acquired data can be used for learning for situation determination. For example, the training data preprocessor parses the HTML of the web page for the model learning unit 130 to learn to recognize the user identification object in the web page, defines the contents in the HTML document (model configuration), and each element You can see the hierarchical structure of the Document Object Model (DOM) that specifies how to access the .

또한, 학습 데이터 선택부는, 학습 데이터 획득부(120)에서 획득된 학습 데이터 또는 전처리부에서 전처리된 학습 데이터 중 학습에 필요한 데이터를 선택할 수 있다.선택된 학습 데이터는 모델 학습부(130)에 제공될 수 있다. 예를 들어, 학습 데이터 선택부는, 상기 돔 트리(DOM Tree) 중 특정 돔 객체를 선택함으로써, 원하는 객체에 대한 데이터만을 학습 데이터로 선택할 수 있다. 상기 돔 트리를 구성하는 복수의 돔 객체 중 특정 돔 객체를 선택하는 과정은 도 5를 통해 보다 구체적으로 설명한다.In addition, the training data selection unit may select data necessary for learning from among the training data acquired by the training data acquisition unit 120 or the training data preprocessed by the preprocessing unit. The selected training data is to be provided to the model learning unit 130 . can For example, the learning data selector may select only data for a desired object as the learning data by selecting a specific dome object from the DOM tree. A process of selecting a specific dome object from among a plurality of dome objects constituting the dome tree will be described in more detail with reference to FIG. 5 .

상기 학습 데이터 전처리부 및/또는 학습 데이터 선택부의 동작은 도 1에 도시된 학습 데이터 획득부(120)와 구별되는 프로세싱으로 진행될 수도 있지만, 학습 데이터 획득부(120)에 통합되어 구현될 수도 있다.The operation of the learning data preprocessor and/or the learning data selection unit may be processed separately from the learning data acquisition unit 120 illustrated in FIG. 1 , but may be implemented by being integrated into the training data acquisition unit 120 .

또한, 데이터 학습부(110)는 신경망 모델의 분석 결과를 향상시키기 위하여 모델 평가부(미도시)를 더 포함할 수도 있다.In addition, the data learning unit 110 may further include a model evaluation unit (not shown) in order to improve the analysis result of the neural network model.

모델 평가부는, 신경망 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(130)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인식 모델을 평가하기 위한 기 정의된 데이터일 수 있다. 일 예로, 모델 평가부는 평가 데이터에 대한 학습된 인식 모델의 분석 결과 중, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정되 임계치를 초과하는 경우, 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 본 명세서의 일 실시예에 따르면, DOM 객체로부터 추출된 특징 벡터를 학습 데이터로 정의하여 학습 대상 분류기 모델에 입력한 결과, 상기 DOM 객체에 대응되는 레이블과 모델 출력값을 비교한 결과에 따라 학습 모델을 평가할 수 있다.The model evaluator may input evaluation data to the neural network model and, when an analysis result output from the evaluation data does not satisfy a predetermined criterion, cause the model learning unit 130 to learn again. In this case, the evaluation data may be predefined data for evaluating the recognition model. As an example, the model evaluation unit may evaluate as not satisfying a predetermined criterion when, among the analysis results of the learned recognition model for the evaluation data, the number or ratio of evaluation data for which the analysis result is not accurate exceeds a preset threshold. have. According to an embodiment of the present specification, a learning model is defined according to a result of comparing a label corresponding to the DOM object with a model output value as a result of defining a feature vector extracted from a DOM object as learning data and inputting it to the learning target classifier model. can be evaluated

데이터 처리부(140)는 입력 데이터를 메모리에 저장된 학습 모델(분류기)에 적용함으로써, 특정 웹 페이지에 포함된 사용자 식별 객체를 자동으로 인식하도록 한다.The data processing unit 140 applies the input data to the learning model (classifier) stored in the memory to automatically recognize the user identification object included in the specific web page.

한편, 도시하지는 않았지만, 도 1에 도시된 컴퓨터 장치는 통신부(미도시)를 더 포함할 수 있다. 통신부는 AI 프로세서(100)에 의한 AI 프로세싱 결과를 외부 전자 기기(예를 들어, 네트워크 서버 등)로 전송할 수 있다.Meanwhile, although not shown, the computer device shown in FIG. 1 may further include a communication unit (not shown). The communication unit may transmit the AI processing result by the AI processor 100 to an external electronic device (eg, a network server, etc.).

한편, 전술한 분류기 학습 과정은 클라이언트 단말과 구별되는 서버에서 구현될 수도 있다. 예를 들어, 클라이언트 단말을 통해서 학습 대상이 되는 복수의 웹 페이지 정보만을 수집하고, 웹 페이지 정보는 상기 서버로 전달될 수 있다. 서버에서 상기 웹 페이지 정보에 기초하여 전술한 학습 과정을 통해 학습 모델을 생성할 수 있다. 또한, 학습 모델 구축이 완료된 이후에도, 클라이언트 단말에서 수집되는 새로운 웹 페이지 정보가 서버로 전달된 후, 서버에서 기 학습된 분류기 모델에 적용한 결과만을 클라이언트 단말에 전송할 수도 있다.Meanwhile, the above-described classifier learning process may be implemented in a server distinct from the client terminal. For example, only a plurality of web page information to be learned may be collected through the client terminal, and the web page information may be transmitted to the server. The server may generate a learning model through the above-described learning process based on the web page information. Also, even after the building of the learning model is completed, after new web page information collected from the client terminal is transmitted to the server, only the results applied to the classifier model previously learned by the server may be transmitted to the client terminal.

한편, 상기 클라이언트 단말에서는 학습 데이터 구축을 위한 전처리 과정 예를 들어, 웹 페이지의 HTML 파싱 동작, 돔 트리 생성 동작 등 학습 데이터 구축을 위한 적어도 일부의 동작만을 수행하고, 서버에서 모델 학습 동작을 수행할 수 있다. 경우에 따라서는 학습 모델 구축에 따른 리소스 분배를 위해 상기 클라이언트 단말과 서버 사이에 엣지 컴퓨팅 환경을 통해 상기 학습에 필요한 적어도 일부의 동작이 함께 실행될 수 있다.On the other hand, the client terminal performs only at least some operations for building learning data, such as a preprocessing process for building learning data, for example, HTML parsing of a web page, and creating a dome tree, and performing model learning in the server. can In some cases, at least some operations necessary for the learning may be executed together through an edge computing environment between the client terminal and the server for resource distribution according to the construction of the learning model.

한편, 도 1에 도시된 컴퓨팅 장치는 AI 프로세서(100)와 메모리(150), 통신부(미도시)등으로 기능적으로 구분하여 설명하였지만, 전술한 구성요소들이 하나의 모듈로 통합되어 AI 모듈로 호칭될 수도 있음을 밝혀둔다.On the other hand, although the computing device shown in FIG. 1 has been functionally described as an AI processor 100, a memory 150, a communication unit (not shown), etc., the above-described components are integrated into one module and are referred to as an AI module. It should be pointed out that it may be

도 2는 본 명세서의 일 실시예에 따른 웹 페이지에서 사용자 식별 객체방법을 구현하기 위한 학습 단계, 데이터 처리 단계를 보다 구체적으로 설명하기 위한 도면이다.2 is a diagram for explaining in more detail a learning step and a data processing step for implementing the user identification object method in a web page according to an embodiment of the present specification.

도 2를 참조하면, 본 명세서의 일 실시예에 따른 웹 페이지의 객체 식별 방법은 크게 (a) 학습 단계와, 학습이 완료된 후 예측 단계로 구분될 수 있다.Referring to FIG. 2 , the method for identifying an object of a web page according to an embodiment of the present specification may be largely divided into (a) a learning step and a prediction step after learning is completed.

학습 단계(a)는, 지도 학습을 위해 레이블(201)과 입력 데이터(205)가 마련될 수 있다. 상기 입력 데이터(205)는 웹 페이지 정보일 수 있다. 보다 구체적으로는 AI 프로세서(도 1 참조, 이하 프로세서라 함)는 학습 데이터 획득부(도 1의 120)를 통해 학습 데이터를 획득할 수 있다. 보다 구체적으로 학습 데이터 획득부(120)는 HTML 파서(121), 돔 객체 추출부(123) 및 특징 추출부(125)를 포함할 수 있다.In the learning step (a), a label 201 and input data 205 may be provided for supervised learning. The input data 205 may be web page information. More specifically, the AI processor (refer to FIG. 1 , hereinafter referred to as a processor) may acquire learning data through the learning data acquisition unit 120 of FIG. 1 . More specifically, the learning data acquisition unit 120 may include an HTML parser 121 , a dome object extraction unit 123 , and a feature extraction unit 125 .

HTML 파서(121)는 특정 웹페이지의 URL 주소를 읽어들이고, HTML 파서를 통해 response의 content 영역을 HTML로 파싱한다. 돔 객체 추출부(123)는 파싱된 HTML을 돔 객체로 저장할 수 있다. 상기 HTML 파서는 Python BeautifulSoup이 적용될 수 있으나, 본 명세서는 이에 한정되는 것은 아니다.The HTML parser 121 reads the URL address of a specific web page, and parses the content area of the response into HTML through the HTML parser. The dome object extraction unit 123 may store the parsed HTML as a dome object. Python BeautifulSoup may be applied to the HTML parser, but the present specification is not limited thereto.

문서 객체 모델(The Document Object Model, 이하 DOM)은 HTML, XML 문서의 프로그래밍 인터페이스이다. DOM은 문서의 구조화된 표현(structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있도록 지원한다. DOM은 구조화된 modes와 property, method를 갖고 있는 객체로 문서를 표현한다. DOM은 웹 페이지를 스크립트 또는 프로그래밍 언어들에서 사용될 수 있게 연결시켜주는 역할을 담당한다.The Document Object Model (hereinafter DOM) is a programming interface for HTML and XML documents. The DOM provides a structured representation of the document and provides a way for programming languages to access the DOM structure, allowing them to change the document structure, style, content, etc. DOM represents documents as objects with structured modes, properties, and methods. The DOM is responsible for linking web pages so that they can be used in scripts or programming languages.

웹 페이지는 일종의 문서(document)이다. 문서는 웹 브라우저를 통해 그 내용이 해석되어 웹 브라우저 화면에 나타나거나, HTML 소스 자체로 나타나기도 한다. 동일한 문서를 사용하여 다른 형태로 나타날 수 있다. DOM은 동일한 문서를 표현하고, 저장하고 조작하는 방법을 제공한다. DOM은 웹 페이지의 객체 지향 표현이며, 자바스크립트와 같은 스크립팅 언어를 이용해 DOM을 수정할 수 있다. A web page is a kind of document. The document is interpreted through a web browser and displayed on the web browser screen, or it appears as an HTML source itself. It may appear in different forms using the same document. The DOM provides a way to represent, store, and manipulate the same document. The DOM is an object-oriented representation of a web page, and the DOM can be modified using a scripting language such as JavaScript.

W3C DOM, WHATWG DOM 표준은 대부분의 브라우저에서 DOM을 구현하는 기준이다. 많은 브라우저들이 표준 규약에서 제공하는 기능 외에도 추가적인 기능을 제공하기 때문에 사용자가 작성한 문서들이 각각 다른 DOM이 적용된 다양한 브라우저 환경에서 동작할 수 있다.The W3C DOM and WHATWG DOM standards are the standards for implementing DOM in most browsers. Since many browsers provide additional functions in addition to the functions provided by the standard protocol, user-written documents can operate in various browser environments with different DOMs applied.

한편, 돔 객체 추출부(123)는 HTML 태그의 포함관계에 따라 돔 객체들을 트리 구조로 만들 수 있다. 돔 트리의 각 브랜치는 노드로 끝나며, 각 노드는 객체(object)를 갖는다.Meanwhile, the dome object extraction unit 123 may create the dome objects in a tree structure according to the inclusion relationship of the HTML tag. Each branch of the dome tree ends with a node, and each node has an object.

본 명세서의 일 실시예에 따르면 생성된 돔 트리에 포함된 돔 객체 중 텍스트가 포함된 적어도 하나의 객체가 학습 데이터로 선택될 수 있다. 상기 선택된 적어도 하나의 객체 중 적어도 하나는 사용자 식별 정보가 포함된 적어도 하나의 돔 객체일 수 있다. 그리고 특징 추출기(125, 210)는 선택된 돔 객체에서 학습 모델의 입력값으로 정의할 특징값을 추출할 수 있다. 상기 특징값은 웹 페이지의 특정 영역이 사용자 이름 등 사용자를 식별할 수 있는 정보를 포함하는지 여부에 따라 결정될 수 있다.According to an embodiment of the present specification, at least one object including text among the dome objects included in the created dome tree may be selected as the learning data. At least one of the selected at least one object may be at least one dome object including user identification information. In addition, the feature extractors 125 and 210 may extract a feature value to be defined as an input value of the learning model from the selected dome object. The feature value may be determined according to whether a specific area of the web page includes information for identifying the user, such as a user name.

데이터 학습부(110)는 추출된 특징값을 특징 벡터(220)로 표현할 수 있다.The data learning unit 110 may express the extracted feature value as a feature vector 220 .

모델 학습부(130)는 상기 특징 벡터(220)와 미리 준비된 레이블(201)을 학습 대상 분류 모델(230)에 입력함으로써, 머신 러닝 알고리즘을 통해 학습할 수 있다.The model learning unit 130 may learn through a machine learning algorithm by inputting the feature vector 220 and the pre-prepared label 201 to the learning target classification model 230 .

학습이 완료된 분류 모델(260)은 메모리에 저장될 수 있으며, 새로운 웹 페이지(240)를 입력 데이터로 지정하는 경우, 특징 추출기(210)는 상기 새로운 웹 페이지 내 각 돔객체로부터 특징 벡터(220)를 추출하여, 학습된 분류 모델(260)에 입력으로 설정된다. 학습된 분류 모델(260)의 출력 결과에 따라 상기 새로운 웹 페이지 내 각 돔객체에 사용자 식별 객체가 포함되어 있는지 여부를 판단할 수 있다. 본 명세서의 실시예에 따르면 학습된 분류모델(260)의 출력은 True, False 중 어느 하나의 결과(270)를 출력할 수 있다.The learned classification model 260 may be stored in the memory, and when a new web page 240 is designated as input data, the feature extractor 210 performs a feature vector 220 from each dome object in the new web page. is extracted and set as an input to the learned classification model 260 . According to the output result of the learned classification model 260, it may be determined whether a user identification object is included in each dome object in the new web page. According to the embodiment of the present specification, the output of the learned classification model 260 may output any one result 270 of True and False.

이하, 도 3 내지 도 5를 참조하여 학습 데이터에 대한 전처리 과정을 보다 구체적으로 설명한다.Hereinafter, a pre-processing process for the training data will be described in more detail with reference to FIGS. 3 to 5 .

도 3은 본 명세서의 일 실시예에 따른 웹 페이지의 객체 식별 방법의 흐름도이다. 도 3에 도시된 방법은 도 1 및/또는 2에 도시된 컴퓨터 장치를 통해 구현될 수 있다.3 is a flowchart of a method for identifying an object of a web page according to an embodiment of the present specification. The method illustrated in FIG. 3 may be implemented through the computer device illustrated in FIGS. 1 and/or 2 .

도 3을 참조하면, 프로세서는 분류기 모델을 학습하는데 이용될 웹 페이지의 HTML을 파싱할 수 있다(300). 프로세서는 HTML의 문서 객체 모델(DOM)을 구성하고, 돔 트리를 구성하는 돔 객체들 간의 계층 구조를 확인한다(310).Referring to FIG. 3 , the processor may parse the HTML of the web page to be used for training the classifier model ( 300 ). The processor constructs a document object model (DOM) of HTML and checks a hierarchical structure between DOM objects constituting the dome tree ( 310 ).

도 4를 참조하면, 상기 학습에 이용될 웹 페이지는 서로 다른 사용자가 컨텐츠를 업로드하거나, 글을 게시할 수 있는 온라인 포럼 형태의 웹 페이지일 수 있다. 예를 들어, 본 명세서는 서로 다른 웹 페이지에 동일한 사용자가 포럼을 생성하거나, 글을 게시할 경우 사용자별로 게시글을 추적하거나, 교차분석이 필요한 경우에 구조를 모르는 임의의 웹 페이지에서 사용자 식별객체를 자동으로 인식할 수 있는 이점이 있다. 도 4는 서로 다른 ID를 갖는 복수의 사용자가 서로 다른 글을 게시하거나, 서로 다른 모임을 생성할 수 있도록 구성된 인터페이스를 개시한다. 프로세서(300)는 상기 웹 페이지의 HTML을 파싱하고, 파싱된 HTML의 돔 트리를 구성한다.Referring to FIG. 4 , the web page to be used for learning may be a web page in the form of an online forum where different users can upload content or post an article. For example, in this specification, when the same user creates a forum on different web pages, when a post is posted, each user tracks a post, or when cross-analysis is required, a user identification object is created in an arbitrary web page whose structure is unknown. It has the advantage of being automatically recognized. 4 discloses an interface configured so that a plurality of users having different IDs can post different articles or create different meetings. The processor 300 parses the HTML of the web page and constructs a dome tree of the parsed HTML.

도 5를 참조하면, 돔 트리의 모든 노드는 상호 계층적 관계, 예를 들어, 최상위 루트 노드(root node), 부모 노드(parent node), 조상 노드(ancestor node), 자식 노드(child node), 자손 노드(descendant node), 형제 노드(sibling node)로 계층적 관계가 정의될 수 있으며, 돔 트리에서 노드는 문서 노드(Document mode), 요소 노드(element node), 속성 노드(Attribute node), 텍스트 노드(text node)의 네가지 종류로 구성될 수 있다.5, all nodes of the dome tree have a mutual hierarchical relationship, for example, a top-level root node, a parent node, an ancestor node, a child node, Hierarchical relationships can be defined with descendant nodes and sibling nodes, and nodes in the dome tree are document mode, element node, attribute node, and text. It can be composed of four types of nodes (text nodes).

돔 트리에서 최상위에 존재하는 루트 노드는 문서 노드(Document node)로서, 웹 페이지(HTML) 전체를 의미한다. 최상위 노드이므로 부모, 조상 노드는 존재하지 않는다. 그리고, 모든 HTML의 요소(element)는 돔 트리에서 요소 노드(element node, 예를 들어, head, title, body, main, h1)에 해당된다. 그리고 요소 노드는 돔 트리 내에서 유일하게 속성 노드(예를 들어, class)를 가질 수 있다. 그리고, HTML Element에 지정된 속성은 돔 트리에서 속성 노드(Attribute node에 해당된다. 해당 속성이 지정된 요소 노드의 자식 노드 개념이 아닌 해당 요소 노드의 일부에 해당될 수 있다. 그리고, HTML Element 내의 모든 텍스트 요소는 돔 트리에서 텍스트 노드에 해당되며 돔 트리 내에서 최하위에 존재하는 것이 일반적이다.The root node existing at the top of the dome tree is a document node, meaning the entire web page (HTML). Since it is a top-level node, parent and ancestor nodes do not exist. And, all HTML elements correspond to element nodes (eg, head, title, body, main, h1) in the dome tree. And an element node can have a unique attribute node (eg, class) in the dome tree. Also, the attribute specified in the HTML Element corresponds to an attribute node in the dome tree. The attribute may correspond to a part of the corresponding element node, not the concept of a child node of the specified element node. And, all texts in the HTML Element An element corresponds to a text node in the dome tree, and it is common to exist at the bottom of the dome tree.

다시 도 3을 참조하면, 프로세서는 돔 트리 내에서 학습 대상 분류기에 적용되는 학습 데이터를 획득하기 위하여 특정 돔 객체를 선택할 수 있다(S320)Referring back to FIG. 3 , the processor may select a specific dome object in order to obtain training data applied to the learning object classifier within the dome tree ( S320 ).

본 명세서의 일 실시예는 돔 트리에 포함된 텍스트의 특성과 돔 객체에 포함된 태그의 속성에 기초하여 사용자 식별 정보가 포함되어 있는지를 판단할 수 있다. 상기 특정 돔 객체는 전술한 바와 같이, 사용자 식별 정보가 포함되어 있는 것으로 추정할 수 있는 돔 객체로서, 텍스트 노드 또는 속성 노드가 이에 해당될 수 있다. 상기 사용자 식별정보는 사용자를 식별하기 위한 태그가 존재할 수 있다. 예를 들어, 사용자를 가리키기 위해서는 user, author, poster, member, name, id, profile 등의 태그가 이용될 수 있다. 또한, 상기 태그와 함께 직접적으로 사용자를 지칭하는 사용자 이름, 별명, 아이디 등의 텍스트가 포함될 수 있다.According to an embodiment of the present specification, it may be determined whether user identification information is included based on the properties of the text included in the dome tree and the properties of the tags included in the dome object. As described above, the specific dome object is a dome object that can be estimated to include user identification information, and may correspond to a text node or an attribute node. The user identification information may include a tag for identifying the user. For example, tags such as user, author, poster, member, name, id, and profile may be used to indicate a user. In addition, text such as a user name, nickname, or ID directly indicating a user may be included along with the tag.

따라서, 프로세서는 돔 트리에서 최하위 돔 객체들을 선택할 수 있다. 예를 들어, 프로세서는 도 5의 돔 트리에서 최하위 노드에 대응되는 복수의 돔 객체(510, 521,522,523,524)를 선택할 수 있다.Accordingly, the processor may select the lowest dome objects in the dome tree. For example, the processor may select a plurality of dome objects 510 , 521 , 522 , 523 , and 524 corresponding to the lowest node in the dome tree of FIG. 5 .

프로세서는 선택된 돔 객체로부터 특징값을 추출하고(S330), 추출된 특징값 및 레이블에 기초하여 분류기를 학습시킬 수 있다(S340).The processor may extract a feature value from the selected dome object (S330), and train a classifier based on the extracted feature value and label (S340).

도 6은 본 명세서의 일 실시예에 따라 획득된 학습 데이터에 기초하여 분류기를 학습하는 과정을 설명하기 위한 도면이다.6 is a view for explaining a process of learning a classifier based on the acquired learning data according to an embodiment of the present specification.

도 6을 참조하면, 프로세서는 돔 트리에서 선택된 복수의 돔 객체 각각에 대한 특징을 추출한다. 상기 돔 객체의 특징은 특징 벡터로 표현될 수 있다. 프로세서는 추출된 각 돔 객체의 특징을 각 돔 객체에 대응하는 레이블(True 또는 False)과 함께 기계학습 기반의 이진 분류기 모델에 입력값으로 설정함으로써, 분류기를 학습시킬 수 있다. 전술한 이진 분류기는 예시이며 본 명세서는 이에 한정되지 않고 웹 페이지에 특정 객체 인식이 필요한 어떠한 분류 방식도 함께 적용될 수 있음은 물론이다.Referring to FIG. 6 , the processor extracts features for each of a plurality of dome objects selected from the dome tree. The feature of the dome object may be expressed as a feature vector. The processor can train the classifier by setting the extracted characteristics of each dome object as input values to the machine learning-based binary classifier model together with the label (True or False) corresponding to each dome object. The above-described binary classifier is an example, and the present specification is not limited thereto, and any classification method requiring specific object recognition may be applied to a web page.

도 7은 도 3의 S330을 보다 구체적으로 설명하기 위한 흐름도이다. 도 8 내지 도 9는 본 명세서의 일 실시예에 따라 학습 데이터 획득을 위해 DOM 객체를 분석하는 과정을 예시적으로 설명하기 위한 도면들이다. 이하, 도 7 내지 도 9를 함께 참고하여 설명한다.7 is a flowchart for describing S330 of FIG. 3 in more detail. 8 to 9 are diagrams for exemplarily explaining a process of analyzing a DOM object to obtain learning data according to an embodiment of the present specification. Hereinafter, it will be described with reference to FIGS. 7 to 9 together.

전술한 바와 같이, 본 명세서의 일 실시예는 학습 데이터를 선별하는 과정에서 돔 트리에서 텍스트 특성 및 HTML 태그의 속성을 기준으로 할 수 있다. As described above, an embodiment of the present specification may be based on text characteristics and attributes of HTML tags in the DOM tree in the process of selecting learning data.

도 7을 참조하면, 프로세서는 돔 객체를 분석하여(S700), 각 돔 객체의 특징 벡터를 구성한다(710). 그런 후, 특징 벡터 및 레이블을 학습기에 입력하여 학습시킬 수 있다(S720).Referring to FIG. 7 , the processor analyzes the dome object ( S700 ) and configures a feature vector of each dome object ( 710 ). Thereafter, the feature vector and the label may be input to the learner to learn ( S720 ).

프로세서는 돔 객체에 포함된 텍스트의 특징을 분석할 수 있다(S701). 예를 들어, 돔 객체 내에 존재하는 텍스트의 특성은 사용자 식별 정보의 특성으로서, 문자열의 길이가 일정 글자 수 이상은 사용되지 않는 점, 아이디 등에 특수문자 등이 사용되지 않는 점, 아이디의 경우 띄어쓰기가 일반적으로 적용되지 않는 점 등을 고려하여, 프로세서는 돔 객체 내의 텍스트의 문자열 길이, 특수문자 포함 여부, 띄어쓰기 여부 등을 확인할 수 있다.The processor may analyze the characteristics of the text included in the dome object (S701). For example, the characteristics of text existing in the dome object are characteristics of user identification information. The length of the string does not exceed a certain number of characters, the point that special characters are not used in the ID, etc. In the case of ID, spaces are not used. Considering that it is not generally applied, the processor may check the string length of the text in the dome object, whether special characters are included, whether there is a space, and the like.

또한, 프로세서는 HTML 태그의 속성을 분석할 수 있다(S703). 상기 HTML 태그는, 클래스(class), href, 사용자 정의(User-defined) 태그 중 적어도 하나를 포함하고, 상기 HTML 태그의 속성이 사용자 식별 정보를 포함하는지 여부에 따라 상기 특정 객체를 표시하는 용도로 사용되는지를 결정할 수 있다.In addition, the processor may analyze the attribute of the HTML tag (S703). The HTML tag includes at least one of a class, href, and user-defined tag, and displays the specific object according to whether an attribute of the HTML tag includes user identification information. You can decide which one to use.

또한, 프로세서는 사용자가 정의한 속성을 분석할 수 있다(S703). 상기 사용자가 정의한 속성 id 태그에 대응하는 텍스트 정보를 포함할 수 있다.In addition, the processor may analyze the user-defined attribute (S703). It may include text information corresponding to the attribute id tag defined by the user.

또한, 프로세서는 돔 객체의 계층구조를 분석할 수 있다(S707). 돔 객체의 계층 구조가 상기 돔 트리에서 가장 낮은 공통 조상(lowest common ancestor) 까지의 경로의 길이 및 상기 경로에 위치하는 태그들의 시퀀스가 동일한 경우 상기 계층구조의 유사성이 존재하는 것으로 판단할 수 있다.Also, the processor may analyze the hierarchical structure of the dome object (S707). When the hierarchical structure of the dome object has the same length of a path to the lowest common ancestor in the dome tree and the same sequence of tags located in the path, it may be determined that the hierarchical similarity exists.

도 8을 참조하면, 웹 페이지 화면상에 특정 영역에 대응하는 HTML 중 사용자 아이디(OB1)에 대응하는 돔 객체(810)를 분석한다. 프로세서는 HTML 태그 중 하이퍼링크의 속성에 대응되는 href의 텍스트 노드 중"member"(820)가 사용자를 인식할 수 있는 텍스트로 판단하고, 특징 벡터를 추출할 수 있다. 도 10을 참조하면, 돔 객체 분석을 통해 추출되는 특징 벡터는 이진 분류기의 결과에 대응되도록 True(0), False(1)의 형태로 구성될 수 있다. HTML 태그 중 href 태그를 분석한 결과 추출되는 벡터는 "0"의 값을 가진다.Referring to FIG. 8 , a dome object 810 corresponding to a user ID OB1 in HTML corresponding to a specific region on a web page screen is analyzed. The processor may determine that the text node "member" 820 among the text nodes of href corresponding to the hyperlink attribute of the HTML tag can recognize the user, and extract a feature vector. Referring to FIG. 10 , the feature vector extracted through the analysis of the dome object may be configured in the form of True(0) or False(1) to correspond to the result of the binary classifier. The vector extracted as a result of analyzing the href tag among HTML tags has a value of "0".

그리고, 프로세서는 HTML 태그 중 Class의 속성이 "username"(830)이 발견됨에 따라 마찬가지로 돔 객체 중 class 속성에 따른 특징 벡터로 "0"을 추출할 수 있다.And, as the class attribute of the HTML tag "username" 830 is found, the processor may also extract "0" as a feature vector according to the class attribute of the dome object.

또한, 프로세서는 사용자가 정의한 속성 "data-user-id"(840) 내에 "user, id" 등 사용자 식별 가능한 키워드가 포함된 경우, 마찬가지로 돔 객체 중 사용자가 정의한 속성에 따른 특징 벡터로 "0"을 추출할 수 있다.In addition, when a user-identifiable keyword such as “user, id” is included in the user-defined attribute “data-user-id” 840, the processor similarly sets “0” as a feature vector according to the user-defined attribute among the dome objects. can be extracted.

또한, 프로세서는 돔 트리 중 최하위 노드에 위치하는 텍스트 노드에 포함되는 문자가 "member"(850)로서, 사용자 식별 가능한 키워드가 포함된 경우 텍스트 노드에 대응하는 특징 벡터를 "0"으로 추출할 수 있다. 또한, 프로세서는 텍스트 노드 중 "Pofecker"(841)의 문자열의 길이가 미리 정해진 문자 개수를 초과하지 않거나, 특수문자 없이 숫자 또는 문자로 이루어진 경우, 띄어쓰기가 없는 경우 특징 벡터로 "0"을 추출할 수 있다.In addition, when the character included in the text node located at the lowest node of the dome tree is "member" 850, and a user identifiable keyword is included, the processor can extract a feature vector corresponding to the text node as "0". have. In addition, the processor extracts "0" as a feature vector when the length of the string of "Pofecker" (841) among the text nodes does not exceed the predetermined number of characters, consists of numbers or characters without special characters, and there is no space. can

한편, 프로세서는 돔 트리 내에서 학습 데이터로 선택된 돔 객체들이 상기 돔 트리 내에서 형제(sibling) 돔 객체에 대응되는 것으로 판단한 경우, 각 돔 객체들의 특징 벡터를 "0"으로 추출할 수 있다.Meanwhile, when it is determined that the dome objects selected as training data in the dome tree correspond to sibling dome objects in the dome tree, the processor may extract a feature vector of each dome object as “0”.

도 9를 참조하면, 돔 트리에서 돔 객체1(900a), 돔 객체2(900b), 돔 객체3(900c)는 각각 1차 상위 노드(910a, 910b, 910c)를 가진다. 또한, 1차 상위 노드 각각은 2차 상위 노드(920a, 920b, 920c)를 가지며, 2차 상위 노드 각각은 동일한 3차 상위 노드(930)를 가진다. 이 경우, 프로세서는 돔 객체 1, 2, 3을 형제(sibling) 관계로 파악할 수 있다. 형제 돔 객체 관계는, 동일한 종류의 HTML 태그 및 속성값을 가지는 것이 일반적이며, 나아가 가장 낮은 공통 조상까지의 경로 길이 및 경로상의 태그 시퀀스가 동일할 수 있다.Referring to FIG. 9 , in the dome tree, a dome object 1 900a, a dome object 2 900b, and a dome object 3 900c have primary upper nodes 910a, 910b, and 910c, respectively. In addition, each of the primary upper nodes has secondary upper nodes 920a , 920b , and 920c , and each of the secondary upper nodes has the same tertiary upper node 930 . In this case, the processor may recognize the dome objects 1, 2, and 3 as a sibling relationship. The sibling DOM object relationship generally has the same type of HTML tag and attribute value, and further, the path length to the lowest common ancestor and the tag sequence on the path may be the same.

도 8 내지 도 9에서 예시한 돔 객체 분석과정에 따르면, 프로세서는 도 10에 도시된 바와 같이, 텍스트 길이, 특수문자 포함여부, 띄어쓰기 여부, HTML 속성(id, href, class), 형제 노드의 존재 여부를 돔 객체의 특징 요소로 구성하고, 각 특징 요소들의 특징값을 추출하여 연결함으로써, 최종 특징 벡터를 추출할 수 있다.According to the DOM object analysis process illustrated in FIGS. 8 to 9 , the processor as shown in FIG. 10 , the text length, whether special characters are included, whether spaces are used, HTML attributes (id, href, class), existence of sibling nodes The final feature vector can be extracted by composing whether or not it is a feature element of the dome object, and extracting and connecting the feature values of each feature element.

본 명세서의 경우, 도 10에 도시된 특징 벡터는 예시적인 것으로서 특징 벡터를 구성하는 특징 요소의 순서, 특징 요소의 종류가 다양하게 변형되어 구성될 수 있음은 물론이다.In the present specification, the feature vector shown in FIG. 10 is exemplary, and it goes without saying that the order of the feature elements constituting the feature vector and the type of feature elements may be variously modified.

한편, 본 명세서의 일 실시예에 의하면, 도 2에 도시된 바와 같이 머신 러닝 알고리즘 기반으로 분류기를 학습하는 과정에서, 학습 데이터를 돔 객체에서 추출된 적어도 하나의 특징 요소에 대응하는 특징 벡터를 추출한 결과를 학습 데이터로 이용할 수 있지만, 본 명세서는 이에 한정되지 않는다. 예를 들어, 돔 트리에서 텍스트 노드 또는 속성 노드에 대응하는 돔 객체를 선택한 후, 선택한 돔 객체에 포함된 텍스트를 인코딩한 결과를 학습 대상 분류기의 입력으로 설정할 수도 있다. 다만, 이 경우는 전술한 예들에 비하여 학습 데이터의 양이 많아지며 그에 따른 레이블의 수도 증가하게 된다. Meanwhile, according to an embodiment of the present specification, as shown in FIG. 2 , in the process of learning a classifier based on a machine learning algorithm, a feature vector corresponding to at least one feature element extracted from the dome object is extracted from the learning data. The results may be used as training data, but the present specification is not limited thereto. For example, after selecting a dome object corresponding to a text node or an attribute node in the dome tree, a result of encoding text included in the selected dome object may be set as an input of the learning target classifier. However, in this case, the amount of training data increases compared to the above-described examples, and the number of labels increases accordingly.

이에 반해, 학습 대상 분류기에 학습데이터를 입력하기 전에, 1차적으로 돔 객체로부터 특징 벡터를 추출한 결과를 학습 데이터로 설정하는 경우, 학습 모델의 정확성이 향상될 수 있다. 나아가 학습 데이터 자체가 1차 적으로 특징 추출로 인한 전처리 과정이 수행된 데이터이므로 최종 분류기 모델 학습에 필요한 학습 데이터량, 레이블의 수가 줄어들 수 있는 이점이 있다.On the other hand, when the result of first extracting the feature vector from the dome object is set as the training data before inputting the training data into the learning target classifier, the accuracy of the learning model may be improved. Furthermore, since the training data itself is primarily data that has undergone a preprocessing process due to feature extraction, there is an advantage in that the amount of training data and the number of labels required for training the final classifier model can be reduced.

본 명세서의 일 실시예들에 의하면, 복수의 사용자가 게시글을 등록하는 웹 페이지 내에서 특정 사용자가 작성한 글을 보다 효율적으로 추적할 수 있다. 또한, 교차 분석을 통해 동일한 사용자에 의해 서로 다른 웹 페이지에 게시글의 등록 여부를 보다 용이하게 확인할 수 있다.According to the exemplary embodiments of the present specification, it is possible to more efficiently track a post written by a specific user in a web page in which a plurality of users register a post. In addition, through cross-analysis, it is easier to check whether postings are registered on different web pages by the same user.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be implemented as computer-readable codes on a medium in which a program is recorded. The computer-readable medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is also a carrier wave (eg, transmission over the Internet) that is implemented in the form of. Accordingly, the above detailed description should not be construed as restrictive in all respects but as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (12)

웹 페이지의 HTML을 파싱하는 단계;
상기 웹 페이지에 대응하는 문서 객체 모델(DOM)의 돔 트리(DOM Tree)를 생성하는 단계;
상기 돔 트리 중 최하위 노드에 해당하는 적어도 하나의 돔 객체(DOM Object)를 선택하는 단계;
상기 선택된 돔 객체로부터 미리 정해진 기준에 따라 특징값을 추출하는 단계; 및
상기 추출된 특징값 및 레이블을 학습대상 모델에 입력값으로 설정하여 분류기(classifier)를 학습시키는 단계;를 포함하고,
상기 분류기는, 상기 웹 페이지에 포함된 특정 객체를 자동으로 식별하도록 학습되는 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
parsing the HTML of the web page;
generating a DOM Tree of a document object model (DOM) corresponding to the web page;
selecting at least one DOM object corresponding to the lowest node in the dome tree;
extracting a feature value from the selected dome object according to a predetermined criterion; and
Including; setting the extracted feature values and labels as input values to the learning target model to learn a classifier;
The classifier is an object identification method of a web page, characterized in that it is learned to automatically identify a specific object included in the web page.
제 1 항에 있어서,
상기 특정 객체는 사용자 식별 객체를 포함하는 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
The method of claim 1,
The specific object is an object identification method of a web page, characterized in that it includes a user identification object.
제 1 항에 있어서,
상기 적어도 하나의 돔 객체를 선택하는 단계는,
상기 돔 트리 중 텍스트(text)를 포함하는 객체를 선택하는 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
The method of claim 1,
Selecting the at least one dome object comprises:
The object identification method of a web page, characterized in that selecting an object including text from the dome tree.
제 1 항에 있어서,
상기 미리 정해진 기준은,
상기 선택된 돔 객체에 포함된 텍스트 특징, HTML 태그의 속성 또는 상기 돔 트리내에서 복수의 돔 객체의 계층 구조의 유사성 중 적어도 하나를 포함하고,
상기 특징값을 추출하는 단계는, 상기 적어도 하나의 미리 정해진 기준에 따라 특징 벡터를 생성하는 단계를 포함하는 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
The method of claim 1,
The predetermined criterion is
including at least one of a text feature included in the selected dome object, an attribute of an HTML tag, or similarity of a hierarchical structure of a plurality of dome objects in the dome tree,
The extracting of the feature value comprises generating a feature vector according to the at least one predetermined criterion.
제 4 항에 있어서,
상기 텍스트 특징은,
텍스트의 길이, 특수문자의 포함 여부 또는 띄어쓰기 여부 중 적어도 하나를 포함하고,
상기 텍스트의 특징에 따라 상기 돔 객체가 상기 특정 객체를 표시하는 용도로 사용되는지를 결정하여 상기 특징 벡터가 결정되는 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
5. The method of claim 4,
The text feature is
At least one of the length of the text, whether special characters are included, or whether spaces are included,
The object identification method of a web page, characterized in that the feature vector is determined by determining whether the dome object is used for displaying the specific object according to the text feature.
제 4 항에 있어서,
상기 HTML 태그는,
클래스(class), href, 사용자 정의(User-defined) 태그 중 적어도 하나를 포함하고,
상기 HTML 태그의 속성이 사용자 식별 정보를 포함하는지 여부에 따라 상기 특정 객체를 표시하는 용도로 사용되는지를 결정하여 상기 특징 벡터가 결정되는 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
5. The method of claim 4,
The HTML tag is
Contains at least one of a class (class), href, user-defined (User-defined) tag,
The method for identifying an object of a web page, wherein the feature vector is determined by determining whether the attribute of the HTML tag is used for displaying the specific object according to whether the user identification information is included.
제 4 항에 있어서,
상기 복수의 돔 객체의 계층 구조의 유사성은,
상기 돔 트리에서 가장 낮은 공통 조상(lowest common ancestor) 까지의 경로의 길이 및 상기 경로에 위치하는 태그들의 시퀀스가 동일한 경우 상기 계층구조의 유사성이 존재하는 것으로 판단하고,
상기 계층 구조의 유사성에 따라 상기 특징 벡터가 결정되는 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
5. The method of claim 4,
The similarity of the hierarchical structure of the plurality of dome objects is,
If the length of the path to the lowest common ancestor in the dome tree and the sequence of tags located in the path are the same, it is determined that the hierarchical similarity exists,
The method of identifying an object of a web page, characterized in that the feature vector is determined according to the similarity of the hierarchical structure.
제 1 항에 있어서,
상기 분류기는,
머신 러닝 기반의 이진 분류기(binary classifier)인 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
The method of claim 1,
The classifier is
An object identification method of a web page, characterized in that it is a machine learning-based binary classifier.
제 1 항에 있어서,
상기 학습된 분류기 모델을 메모리에 저장하는 단계;를 더 포함하고,
제1 웹 페이지를 수집하는 단계;
상기 미리 정해진 기준에 따라 상기 제1 웹 페이지에 대하여 상기 특징값을 추출하는 단계; 및
상기 특징값을 상기 학습된 분류기 모델의 입력으로 설정하고, 상기 학습된 분류기 모델의 출력 결과에 따라 상기 특정 객체를 자동 식별하는 단계;
를 더 포함하는 것을 특징으로 하는 웹 페이지의 객체 식별 방법.
The method of claim 1,
Storing the learned classifier model in a memory; further comprising,
collecting a first web page;
extracting the feature value with respect to the first web page according to the predetermined criterion; and
setting the feature value as an input of the learned classifier model and automatically identifying the specific object according to an output result of the learned classifier model;
Object identification method of a web page, characterized in that it further comprises.
하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은,
웹 페이지의 HTML을 파싱하도록 하는 명령;
상기 웹 페이지에 대응하는 문서 객체 모델(DOM)의 돔 트리(DOM Tree)를 생성하고, 상기 돔 트리 중 최하위 노드에 해당하는 적어도 하나의 돔 객체(DOM Object)를 선택하도록 하는 명령;
상기 선택된 돔 객체에 포함된 텍스트 특징, HTML 태그의 속성 또는 상기 돔 트리내에서 복수의 돔 객체의 계층 구조의 유사성 중 적어도 하나에 기초하여 상기 선택된 돔 객체의 특징 벡터를 생성하도록 하는 명령;
상기 추출된 특징 벡터 및 레이블을 학습대상 모델에 입력값으로 설정하여 분류기(classifier)를 학습시키도록 하는 명령;을 포함하고,
상기 분류기는, 상기 웹 페이지에 포함된 특정 객체를 자동으로 식별하도록 학습되는 것을 특징으로 하는 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer-readable medium comprising a plurality of instructions executed by one or more processors, the computer program comprising:
The computer program is
a command to parse the HTML of a web page;
a command for generating a DOM tree of a document object model (DOM) corresponding to the web page and selecting at least one DOM object corresponding to the lowest node among the dome tree;
a command to generate a feature vector of the selected dome object based on at least one of a text feature included in the selected dome object, an attribute of an HTML tag, or a similarity of a hierarchical structure of a plurality of dome objects in the dome tree;
Including; a command to learn a classifier by setting the extracted feature vector and label as input values to the learning target model;
and the classifier is learned to automatically identify a specific object included in the web page.
웹 페이지에서 사용자 식별객체를 자동으로 식별할 수 있도록 하는 학습 데이터를 획득하여 데이터 학습을 제어하는 데이터 학습부; 및
학습된 모델을 저장하는 메모리;를 포함하고,
상기 데이터 학습부는,
웹 페이지의 HTML을 파싱하고,상기 웹 페이지에 대응하는 문서 객체 모델(DOM)의 돔 트리(DOM Tree)를 생성하고, 상기 돔 트리 중 최하위 노드에 해당하는 적어도 하나의 돔 객체(DOM Object)를 선택하고, 미리 정해진 기준에 따라 상기 선택된 돔 객체의 특징 벡터를 추출하는 학습데이터 획득부; 및
상기 추출된 특징 벡터 및 레이블을 학습대상 모델에 입력값으로 설정하여 분류기(classifier)를 학습시키는 모델 학습부;를 포함하고,
상기 분류기는, 상기 웹 페이지에 포함된 상기 사용자 식별 객체를 자동으로 식별하도록 학습되는 것을 특징으로 하는 장치.
a data learning unit for controlling data learning by acquiring learning data for automatically identifying a user identification object on a web page; and
A memory for storing the trained model; includes,
The data learning unit,
Parsing the HTML of the web page, generating a DOM tree of a document object model (DOM) corresponding to the web page, and generating at least one DOM object corresponding to the lowest node among the dome trees. a learning data acquisition unit for selecting and extracting a feature vector of the selected dome object according to a predetermined criterion; and
a model learning unit configured to learn a classifier by setting the extracted feature vector and label as input values to a learning target model; and
The classifier is characterized in that it is learned to automatically identify the user identification object included in the web page.
제 11 항에 있어서,
상기 학습데이터 획득부는,
상기 선택된 돔 객체에 포함된 텍스트 특징, HTML 태그의 속성 또는 상기 돔 트리내에서 복수의 돔 객체의 계층 구조의 유사성 중 적어도 하나에 기초하여 상기 특징 벡터를 추출하는 것을 특징으로 하는 장치.
12. The method of claim 11,
The learning data acquisition unit,
and extracting the feature vector based on at least one of a text feature included in the selected dome object, an attribute of an HTML tag, or similarity of a hierarchical structure of a plurality of dome objects in the dome tree.
KR1020200184552A 2020-12-28 2020-12-28 Method for obtaining automatically user identification object in web page KR102570477B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200184552A KR102570477B1 (en) 2020-12-28 2020-12-28 Method for obtaining automatically user identification object in web page

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200184552A KR102570477B1 (en) 2020-12-28 2020-12-28 Method for obtaining automatically user identification object in web page

Publications (2)

Publication Number Publication Date
KR20220093637A true KR20220093637A (en) 2022-07-05
KR102570477B1 KR102570477B1 (en) 2023-09-04

Family

ID=82402418

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200184552A KR102570477B1 (en) 2020-12-28 2020-12-28 Method for obtaining automatically user identification object in web page

Country Status (1)

Country Link
KR (1) KR102570477B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102651294B1 (en) * 2023-12-15 2024-03-26 주식회사 넷스루 Method for assisting collect information about screen component

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007047974A (en) * 2005-08-09 2007-02-22 Hokkaido Univ Information extraction device and information extraction method
KR20200043467A (en) * 2017-10-13 2020-04-27 후아웨이 테크놀러지 컴퍼니 리미티드 Method and terminal device for extracting web page content
JP2020098592A (en) * 2018-12-18 2020-06-25 富士通株式会社 Method, device and storage medium of extracting web page content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007047974A (en) * 2005-08-09 2007-02-22 Hokkaido Univ Information extraction device and information extraction method
KR20200043467A (en) * 2017-10-13 2020-04-27 후아웨이 테크놀러지 컴퍼니 리미티드 Method and terminal device for extracting web page content
JP2020098592A (en) * 2018-12-18 2020-06-25 富士通株式会社 Method, device and storage medium of extracting web page content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102651294B1 (en) * 2023-12-15 2024-03-26 주식회사 넷스루 Method for assisting collect information about screen component

Also Published As

Publication number Publication date
KR102570477B1 (en) 2023-09-04

Similar Documents

Publication Publication Date Title
CN108182295B (en) Enterprise knowledge graph attribute extraction method and system
AU2019364424B2 (en) Software test case maintenance
US7941420B2 (en) Method for organizing structurally similar web pages from a web site
CN103823824B (en) A kind of method and system that text classification corpus is built automatically by the Internet
US11487844B2 (en) System and method for automatic detection of webpage zones of interest
CN109189943B (en) Method for extracting capability knowledge and constructing capability knowledge map
CN103559199B (en) Method for abstracting web page information and device
CN110427614B (en) Construction method and device of paragraph level, electronic equipment and storage medium
CN112732994B (en) Method, device and equipment for extracting webpage information and storage medium
CN111079043A (en) Key content positioning method
CN111737623A (en) Webpage information extraction method and related equipment
CN113051914A (en) Enterprise hidden label extraction method and device based on multi-feature dynamic portrait
WO2023155303A1 (en) Webpage data extraction method and apparatus, computer device, and storage medium
CN112668316A (en) word document key information extraction method
CN111078546A (en) Method for expressing page features and electronic equipment
CN113204624A (en) Multi-feature fusion text emotion analysis model and device
KR102570477B1 (en) Method for obtaining automatically user identification object in web page
CN114586038B (en) Method and device for event extraction and extraction model training, equipment and medium
WO2022003392A1 (en) System and method for automatic detection of webpage zones of interest
CN109992723B (en) User interest tag construction method based on social network and related equipment
Xu et al. Estimating similarity of rich internet pages using visual information
Kim et al. A machine-learning based approach for extracting logical structure of a styled document
Krishneth et al. Web-plugin to Detect Clickbait in News Articles using RNN and LSTM
JP7530931B2 (en) Ranking determination system, ranking determination method, and program
US11790892B1 (en) Voice-driven application prototyping using machine-learning techniques

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right