KR20240001306A - Operation server and operation method for providing ai-based web builder by utilizing the change in the component's work and similar components - Google Patents

Operation server and operation method for providing ai-based web builder by utilizing the change in the component's work and similar components Download PDF

Info

Publication number
KR20240001306A
KR20240001306A KR1020230183191A KR20230183191A KR20240001306A KR 20240001306 A KR20240001306 A KR 20240001306A KR 1020230183191 A KR1020230183191 A KR 1020230183191A KR 20230183191 A KR20230183191 A KR 20230183191A KR 20240001306 A KR20240001306 A KR 20240001306A
Authority
KR
South Korea
Prior art keywords
component
template
user terminal
components
web
Prior art date
Application number
KR1020230183191A
Other languages
Korean (ko)
Inventor
김재훈
채중규
김성도
양재원
Original Assignee
주식회사 테스티파이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 테스티파이 filed Critical 주식회사 테스티파이
Publication of KR20240001306A publication Critical patent/KR20240001306A/en

Links

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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Fixing For Electrophotography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

컴포넌트의 작업 변화량과 유사 컴포넌트를 활용하여 AI 기반 웹빌더를 제공하기 위한 운영서버 및 그 동작 방법이 개시된다. 상기 AI 기반 웹빌더를 제공하기 위한 운영서버는, 사용자 단말에 의해 선택된 UI템플릿을 상기 사용자 단말에 제공하고, 상기 사용자 단말에 의해 선택된 UI템플릿 내에 배치할 컴포넌트들을 배치할 수 있는 사용자 인터페이스를 제공하는 웹빌더 서비스 관리부; 미리 다수의 UI 템플릿들을 관리자로부터 입력받아 저장하고, 저장된 UI 템플릿들 각각에 대한 메타 데이터를 생성하고 저장하는 UI 템플릿 관리부; 미리 다수의 컴포넌트들을 관리자로부터 입력받아 저장하고, 저장된 컴포넌트들 각각에 대한 메타 데이터를 생성하고 저장하하는 컴포넌트 관리부; 및 사용자 인터페이스와 병렬적으로 사용자 단말에게 웹디자인 상의 편의성을 증대하기 위한 인공지능 기반의 변환 지원서비스를 제공하는 인공지능 지원부;를 포함한다.An operation server and its operation method for providing an AI-based web builder by utilizing the work change amount of a component and similar components are disclosed. The operating server for providing the AI-based web builder provides a UI template selected by the user terminal to the user terminal, and provides a user interface that can place components to be placed within the UI template selected by the user terminal. Web Builder Service Management Department; a UI template management unit that receives and stores a plurality of UI templates in advance from an administrator, and generates and stores metadata for each of the stored UI templates; a component management unit that receives and stores a plurality of components in advance from an administrator, and generates and stores metadata for each of the stored components; and an artificial intelligence support unit that provides an artificial intelligence-based conversion support service to increase convenience in web design to the user terminal in parallel with the user interface.

Description

컴포넌트의 작업 변화량과 유사 컴포넌트를 활용하여 AI 기반 웹빌더를 제공하기 위한 운영서버 및 그 동작 방법{OPERATION SERVER AND OPERATION METHOD FOR PROVIDING AI-BASED WEB BUILDER BY UTILIZING THE CHANGE IN THE COMPONENT'S WORK AND SIMILAR COMPONENTS}An operation server and its operation method for providing an AI-based web builder by utilizing the change in work of a component and similar components {OPERATION SERVER AND OPERATION METHOD FOR PROVIDING AI-BASED WEB BUILDER BY UTILIZING THE CHANGE IN THE COMPONENT'S WORK AND SIMILAR COMPONENTS}

본 발명은 컴포넌트의 작업 변화량과 유사 컴포넌트를 활용하여 AI 기반 웹빌더를 제공하기 위한 운영서버 및 그 동작 방법에 관한 것이다.The present invention relates to an operation server and its operating method for providing an AI-based web builder by utilizing the work change amount of a component and similar components.

MVP(Minimum viable product)는 최소한의 기능을 담은 제품으로 애플리케이션에서는 통상 프로토타입 애플리케이션을 지칭한다.MVP (Minimum viable product) is a product with minimum functionality and usually refers to a prototype application.

이러한 프로토타입 애플리케이션을 개발하기 위해서는 상당한 IT 인력들을 투입하여 제작해야 하기 때문에 높은 비용과 기간이 소요되는 것이 일반적이다. 그런데, 대부분의 소프트웨어 스타트업의 경우 중소기업의 특성상 IT 개발자를 채용하는 데 어려움을 겪는 경우가 매우 많고, 애플리케이션 개발을 외주로 돌리더라도 개발 기간 동안 발생하는 외주 비용을 부담하는 데 어려움이 많다.Developing such prototype applications generally requires high costs and time because it requires considerable IT manpower to be produced. However, most software startups often have difficulty hiring IT developers due to the nature of small and medium-sized businesses, and even if they outsource application development, they often have difficulty covering the outsourcing costs incurred during the development period.

특히, 창업 기업의 실패 이유 중 가장 큰 이유는 시장 수요가 없다는 것에 있다. 따라서, 시장 진출 전에 빠르게 프로토타입 애플리케이션을 제작하여 사업 아이템에 대한 시장 검증을 반복해야 하기 때문에 프로토타입 애플리케이션의 제작과 수정이 빠르고 저렴하게 진행될 필요가 있다. In particular, the biggest reason for the failure of startup companies is the lack of market demand. Therefore, since it is necessary to quickly produce a prototype application and repeat market verification of the business item before entering the market, it is necessary to produce and modify the prototype application quickly and inexpensively.

일반적으로, 웹페이지 또는 웹기반 애플리케이션은 관련 지식을 가진 사람이 직접 제작을 하거나, 이미 만들어진 템플릿 사이트를 구입하고, 구입한 사이트의 스킨을 교체하는 방식으로 제작될 수 있다.In general, a web page or web-based application can be created by a person with relevant knowledge, or by purchasing an already created template site and replacing the skin of the purchased site.

그런데, 최근에는 웹 기반의 빌더를 소비자에게 제공하고, 소비자가 웹 기반으로 해당 빌더의 사용자인터페이스(UI)를 이용하여 원하는 기 제작 템플릿을 옮기고 적용하는 것만으로도 원하는 웹기반 애플리케이션을 제작하는 웹빌더 서비스가 출시되고 있다.However, recently, web builders provide web-based builders to consumers and allow consumers to create desired web-based applications simply by moving and applying the desired pre-made template using the user interface (UI) of the builder. The service is being launched.

이 때문에, 소프트웨어 개발 언어를 모르거나, 개발 능력이 없는 일반인이라도 원하는 애플리케이션을 제작할 수 있는 대안이 제시되고 있으나, 통상적인 웹빌더 서비스는 미리 만들어진 템플릿을 사용하고, 템플릿의 문구나 디자인을 정해진 다른 디자인으로 변경하는 등의 방식으로만 제작이 가능한 서비스이다.For this reason, an alternative is being proposed that allows even ordinary people who do not know software development languages or do not have development skills to create desired applications. However, typical web builder services use pre-made templates and replace the text or design of the template with a designated design. This is a service that can only be produced by changing it to .

따라서, 소비자가 모든 과정을 선택하고 디자인하는 과정을 해야 되는 문제가 있어 여전히 소비자에게 주어지는 역할과 요구사항이 많아 웹빌더 서비스를 이용하고자 하는 수요자로 하여금 심리적 부담으로 작용하게 하고 있는 실정이다.Therefore, there is a problem in that consumers have to select and design all the processes, so there are still many roles and requirements given to consumers, which is putting a psychological burden on consumers who want to use web builder services.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 컴포넌트의 작업 변화량과 유사 컴포넌트를 활용하여 AI 기반 웹빌더를 제공하기 위한 운영서버 및 그 동작 방법을 제공하는 데 있다.The purpose of the present invention to solve the above problems is to provide an operation server and a method of operating the same for providing an AI-based web builder by utilizing the work change amount of the component and similar components.

상기 목적을 달성하기 위한 본 발명의 일 측면은, AI 기반 웹빌더를 제공하기 위한 운영서버를 제공한다.One aspect of the present invention for achieving the above object provides an operation server for providing an AI-based web builder.

상기 AI 기반 웹빌더를 제공하기 위한 운영서버는, 사용자 단말에 의해 선택된 UI템플릿을 상기 사용자 단말에 제공하고, 상기 사용자 단말에 의해 선택된 UI템플릿 내에 배치할 컴포넌트들을 배치할 수 있는 사용자 인터페이스를 제공하는 웹빌더 서비스 관리부; 미리 다수의 UI 템플릿들을 관리자로부터 입력받아 저장하고, 저장된 UI 템플릿들 각각에 대한 메타 데이터를 생성하고 저장하는 UI 템플릿 관리부; 미리 다수의 컴포넌트들을 관리자로부터 입력받아 저장하고, 저장된 컴포넌트들 각각에 대한 메타 데이터를 생성하고 저장하하는 컴포넌트 관리부; 및 사용자 인터페이스와 병렬적으로 사용자 단말에게 웹디자인 상의 편의성을 증대하기 위한 인공지능 기반의 변환 지원서비스를 제공하는 인공지능 지원부;를 포함한다.The operating server for providing the AI-based web builder provides a UI template selected by the user terminal to the user terminal, and provides a user interface that can place components to be placed within the UI template selected by the user terminal. Web Builder Service Management Department; a UI template management unit that receives and stores a plurality of UI templates in advance from an administrator, and generates and stores metadata for each of the stored UI templates; a component management unit that receives and stores a plurality of components in advance from an administrator, and generates and stores metadata for each of the stored components; and an artificial intelligence support unit that provides an artificial intelligence-based conversion support service to increase convenience in web design to the user terminal in parallel with the user interface.

상기 인공지능 지원부는, 상기 사용자 단말의 상기 사용자 인터페이스를 통한 상기 UI 템플릿 또는 상기 컴포넌트들의 변경 상태를 모니터링하고, 모니터링된 변경 상태를 기반으로 상기 사용자 단말의 변경 이후를 예상하여 구현한 UI 템플릿이나 컴포넌트를 미리 생성하고, 생성된 UI 템플릿이나 컴포넌트의 미리보기 영역을 생성하여 상기 사용자 인터페이스와 중첩하게 상기 사용자 단말에 표시한다.The artificial intelligence support unit monitors the change state of the UI template or the components through the user interface of the user terminal, and implements a UI template or component in anticipation of the change in the user terminal based on the monitored change state. is created in advance, and a preview area of the generated UI template or component is created and displayed on the user terminal to overlap the user interface.

상기 인공지능 지원부는, 상기 사용자 단말에 의해 선택된 상기 UI 템플릿에 대한 변경 조작을 모니터링하고, 모니터링된 현재의 상기 UI 템플릿의 변경 정도를 기반으로 제1 인공신경망을 이용하여 미리보기로 제공할 UI 템플릿을 생성하는 템플릿 변환지원부를 더 포함한다.The artificial intelligence support unit monitors change operations on the UI template selected by the user terminal, and provides a UI template as a preview using a first artificial neural network based on the degree of change in the current UI template monitored. It further includes a template conversion support unit that generates.

상기 인공지능 지원부는, 상기 사용자 단말의 상기 컴포넌트들에 대한 변경 조작을 모니터링하고, 모니터링된 현재의 컴포넌트들의 변경 정도를 기반으로 제2 인공신경망을 이용하여 미리보기로 제공할 컴포넌트를 생성하는 컴포넌트 변환지원부;를 더 포함한다.The artificial intelligence support unit monitors change operations on the components of the user terminal, and converts components to generate a component to be provided as a preview using a second artificial neural network based on the degree of change in the monitored current components. It further includes a support department.

상기 인공지능 지원부는, 상기 제1 인공신경망과 상기 제2 인공신경망을 미리 지도학습하기 위한 학습데이터를 생성하는 변환모사 학습데이터 생성부;를 더 포함한다.The artificial intelligence support unit further includes a transformation simulation learning data generator that generates learning data for supervised learning of the first artificial neural network and the second artificial neural network in advance.

상기 변환모사 학습데이터 생성부는, 웹디자인 수행 영상을 수집하고, 수집된 상기 웹디자인 수행영상에서 복수의 키프레임들을 추출하고, 추출된 상기 키프레임들에서 컴포넌트와 UI 템플릿을 식별하고, 추출된 상기 키프레임들을 서로 동일한 UI 템플릿들이 식별된 키프레임들로 분류하고 제1 그룹들을 생성하고, 추출된 상기 키프레임들을 서로 동일한 컴포넌트들이 식별된 키프레임들로 분류하여 제2 그룹들을 생성하고, 상기 제1 그룹들 각각에서 UI 템플릿의 작업 변화량을 추출하고, 상기 제2 그룹들 각각에서 컴포넌트의 작업 변화량을 추출하고, 추출된 UI 템플릿의 작업 변화량을 해당 UI 템플릿의 유사 UI 템플릿과 커플링시켜 제1 학습데이터를 생성하고, 추출된 컴포넌트의 작업 변화량을 해당 컴포넌트의 유사 컴포넌트와 커플링시켜 제2 학습 데이터를 생성한다.The conversion simulation learning data generator collects web design performance images, extracts a plurality of key frames from the collected web design performance images, identifies components and UI templates in the extracted key frames, and The keyframes are classified into keyframes in which identical UI templates are identified to create first groups, and the extracted keyframes are classified into keyframes in which identical components are identified to create second groups. 1 The work change amount of the UI template is extracted from each of the groups, the work change amount of the component is extracted from each of the second groups, and the work change amount of the extracted UI template is coupled with the similar UI template of the corresponding UI template to create the first Learning data is generated, and second learning data is generated by coupling the work change amount of the extracted component with a similar component of the corresponding component.

상기 목적을 달성하기 위한 본 발명의 다른 측면은, AI 기반 웹빌더를 제공하기 위한 시스템을 제공한다.Another aspect of the present invention for achieving the above object provides a system for providing an AI-based web builder.

상기 시스템은, 웹빌더 서비스를 제공받는 사용자 단말; 및 상기 사용자 단말에 상기 웹기반의 애플리케이션 제작 툴(tool)을 제공하는 운영 서버;를 포함한다.The system includes a user terminal provided with a web builder service; and an operating server that provides the web-based application creation tool to the user terminal.

상기 운영서버는, 사용자 단말에 의해 선택된 UI템플릿을 상기 사용자 단말에 제공하고, 상기 사용자 단말에 의해 선택된 UI템플릿 내에 배치할 컴포넌트들을 배치할 수 있는 사용자 인터페이스를 제공하는 웹빌더 서비스 관리부; 미리 다수의 UI 템플릿들을 관리자로부터 입력받아 저장하고, 저장된 UI 템플릿들 각각에 대한 메타 데이터를 생성하고 저장하는 UI 템플릿 관리부; 미리 다수의 컴포넌트들을 관리자로부터 입력받아 저장하고, 저장된 컴포넌트들 각각에 대한 메타 데이터를 생성하고 저장하하는 컴포넌트 관리부; 및 사용자 인터페이스와 병렬적으로 사용자 단말에게 웹디자인 상의 편의성을 증대하기 위한 인공지능 기반의 변환 지원서비스를 제공하는 인공지능 지원부;를 포함한다.The operation server includes a web builder service management unit that provides a UI template selected by the user terminal to the user terminal and provides a user interface for arranging components to be placed within the UI template selected by the user terminal; a UI template management unit that receives and stores a plurality of UI templates in advance from an administrator, and generates and stores metadata for each of the stored UI templates; a component management unit that receives and stores a plurality of components in advance from an administrator, and generates and stores metadata for each of the stored components; and an artificial intelligence support unit that provides an artificial intelligence-based conversion support service to increase convenience in web design to the user terminal in parallel with the user interface.

상기 목적을 달성하기 위한 본 발명의 다른 측면은, AI 기반 웹빌더를 제공하기 위한 운영 서버의 동작 방법을 제공한다.Another aspect of the present invention for achieving the above object provides a method of operating an operation server to provide an AI-based web builder.

상기 동작 방법은, 사용자 단말에게 웹빌더를 통해 제작하고자 하는 웹기반 애플리케이션의 종류와 목적을 입력받는 단계; 입력받은 종류와 목적 등에 기반하여 미리 수집되어 저장된 UI템플릿들 중 하나를 선택하기 위한 제1 사용자 인터페이스를 상기 사용자 단말에 제공하는 단계; 상기 사용자 단말에 의해 선택된 UI 템플릿을 상기 사용자 단말에 표시하고, 상기 선택된 UI템플릿 내에 배치할 컴포넌트들을 배치할 수 있는 제2 사용자 인터페이스를 상기 사용자 단말에 제공하는 단계; 및 상기 제2 사용자 인터페이스 내에 표시된 상기 선택된 UI 템플릿 및 상기 선택된 UI 템플릿 내에 배치된 컴포넌트들의 디자인을 변경할 수 있는 제3 사용자 인터페이스를 상기 사용자 단말에 제공하는 단계;를 포함한다.The operating method includes receiving input from a user terminal the type and purpose of a web-based application to be produced through a web builder; providing a first user interface to the user terminal for selecting one of UI templates collected and stored in advance based on the input type and purpose; Displaying a UI template selected by the user terminal on the user terminal and providing a second user interface to the user terminal for arranging components to be placed within the selected UI template; and providing a third user interface to the user terminal capable of changing the design of the selected UI template displayed in the second user interface and components arranged in the selected UI template.

상기 동작 방법은, 상기 선택된 UI 템플릿에 대한 변경 조작을 모니터링하고, 모니터링된 현재의 상기 UI 템플릿의 변경 정도를 기반으로 제1 인공신경망을 이용하여 미리보기로 제공할 UI 템플릿을 생성하는 단계; 및 상기 사용자 단말의 상기 컴포넌트들에 대한 변경 조작을 모니터링하고, 모니터링된 현재의 컴포넌트들의 변경 정도를 기반으로 제2 인공신경망을 이용하여 미리보기로 제공할 컴포넌트를 생성하는 단계;를 더 포함한다.The operating method includes monitoring a change operation on the selected UI template and generating a UI template to be provided as a preview using a first artificial neural network based on the monitored degree of change of the current UI template; and monitoring change operations on the components of the user terminal and generating a component to be provided as a preview using a second artificial neural network based on the degree of change in the monitored current components.

상기 목적을 달성하기 위한 본 발명의 다른 측면은, 상기 운영 서버의 동작 방법을 실행시키기 위한 프로그램이 기록되고, 컴퓨터에 의해 읽혀질 수 있는, 비일시적 기록매체를 제공한다.Another aspect of the present invention for achieving the above object is to provide a non-transitory recording medium on which a program for executing the operating method of the operating server is recorded and can be read by a computer.

상기 목적을 달성하기 위한 본 발명의 다른 측면은, 상기 운영 서버에서 상기 운영 서버의 동작 방법을 실행시키기 위하여, 비일시적 기록매체에 기록된 컴퓨터 프로그램을 제공한다.Another aspect of the present invention for achieving the above object provides a computer program recorded on a non-transitory recording medium in order to execute the operating method of the operating server in the operating server.

상기와 같은 본 발명에 따른 AI 기반 웹빌더를 제공하기 위한 운영서버 및 그 동작 방법를 이용할 경우에는 수요자가 모든 요소들을 직접 디자인하고 적용하지 않더라도, AI 기반의 디자인과 컴포넌트를 활용해 기존보다 소비자 편의성을 향상시킨 웹빌더를 제공할 수 있다.When using the operation server and its operation method to provide an AI-based web builder according to the present invention as described above, even if the consumer does not design and apply all elements directly, consumer convenience can be improved by utilizing AI-based design and components. We can provide an improved web builder.

도 1은 일 실시예에 따른 AI 기반 웹빌더를 제공하기 위한 운영서버가 수행되는 환경을 나타낸 개요도이다.
도 2는 일 실시예에 따른 AI 기반 웹빌더를 제공하기 위한 운영서버의 기능적 구성요소들을 나타낸 도면이다.
도 3은 일 실시예에 따른 템플릿 변환지원부의 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 컴포넌트 변환지원부의 동작을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 제1 인공신경망과 제2 인공신경망의 구조를 설명하기 위한 개념도이다.
도 6은 일 실시예에 따른 변환모사 학습데이터 생성부의 동작을 나타낸 대표 흐름도이다.
도 7은 일 실시예에 따른 AI 기반 웹빌더를 제공하기 위한 운영서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 통신 과정에서 적용될 수 있는 무선 통신 시스템을 나타낸 도면이다.
도 9는 도 8에 따른 무선 통신 시스템에서 기지국을 나타낸 도면이다.
도 10은 도 8에 따른 무선 통신 시스템에서 단말을 나타낸 도면이다.
도 11은 도 8에 따른 무선 통신 시스템에서 통신 인터페이스를 나타낸 도면이다.
Figure 1 is a schematic diagram showing an environment in which an operation server for providing an AI-based web builder according to an embodiment is performed.
Figure 2 is a diagram showing functional components of an operation server for providing an AI-based web builder according to an embodiment.
Figure 3 is a diagram for explaining the operation of a template conversion support unit according to an embodiment.
Figure 4 is a diagram for explaining the operation of the component conversion support unit according to one embodiment.
Figure 5 is a conceptual diagram for explaining the structure of a first artificial neural network and a second artificial neural network according to an embodiment.
Figure 6 is a representative flowchart showing the operation of the transformation simulation learning data generator according to an embodiment.
Figure 7 is a diagram illustrating the hardware configuration of an operation server for providing an AI-based web builder according to an embodiment.
Figure 8 is a diagram showing a wireless communication system that can be applied in a communication process according to an embodiment of the present invention.
FIG. 9 is a diagram showing a base station in the wireless communication system according to FIG. 8.
FIG. 10 is a diagram showing a terminal in the wireless communication system according to FIG. 8.
FIG. 11 is a diagram showing a communication interface in the wireless communication system according to FIG. 8.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can make various changes and have various embodiments, specific embodiments will be 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, and should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. While describing each drawing, similar reference numerals are used for similar components.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be named a second component, and similarly, the second component may also be named a first component without departing from the scope of the present invention. The term and/or includes any of a plurality of related stated items or a combination of a plurality of related stated items.

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

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this application are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and unless explicitly defined in the present application, should not be interpreted in an ideal or excessively formal sense. No.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings.

도 1은 일 실시예에 따른 AI 기반 웹빌더를 제공하기 위한 운영서버가 수행되는 환경을 나타낸 개요도이다.Figure 1 is a schematic diagram showing an environment in which an operation server for providing an AI-based web builder according to an embodiment is performed.

도 1을 참조하면, 웹기반 애플리케이션을 제작하기를 원하는 사용자의 사용자 단말(200)은 AI 기반 웹빌더를 제공하기 위한 운영서버(100)에 접속할 수 있다. Referring to Figure 1, the user terminal 200 of a user who wants to create a web-based application can access the operation server 100 for providing an AI-based web builder.

웹기반 애플리케이션은, 온라인 웹 상에서 접속하고, 웹페이지 형식으로 구동되는 홈페이지, 웹 애플리케이션 등을 포함할 수 있다.Web-based applications may include homepages, web applications, etc. that are accessed on the online web and run in web page format.

웹빌더는 사용자가 자신의 사용자 단말(200)을 이용하여 웹기반 애플리케이션을 제공하기 위한 온라인상의 제작 툴(tool)을 의미할 수 있다. 예를 들어, 운영서버(100)는, 이러한 웹빌더를 제공하기 위하여 웹상에서 구동되고, 운영서버(100)에 접속한 사용자 단말(200)에게 웹빌더를 제공할 수 있다.A web builder may refer to an online production tool for users to provide web-based applications using their user terminal 200. For example, the operation server 100 runs on the web to provide such a web builder, and may provide the web builder to the user terminal 200 connected to the operation server 100.

일 실시예에서, 운영서버(100)는, 다수의 UI 템플릿들과 다수의 컴포넌트들을 미리 수집하여 저장할 수 있고, 사용자 단말(200)에게 수집된 UI 템플릿들과 컴포넌트들을 선택하고, 배치할 수 있도록 사용자 인터페이스를 제공할 수 있다.In one embodiment, the operation server 100 can collect and store a plurality of UI templates and a plurality of components in advance, and allows the user terminal 200 to select and place the collected UI templates and components. A user interface can be provided.

일 실시예에서, UI 템플릿들은 미리 지정된 종류의 컴포넌트들을 미리 지정된 디자인 구조에 배치할 수 있도록 제작된 웹페이지 형태의 템플릿(templet)으로서, 텍스트를 입력할 수 있는 영역, 이미지 컴포넌트를 배치할 수 있는 영역, 메뉴바를 배치할 수 있는 영역 등이 사전에 정의되어 있는 웹페이지 형식일 수 있다. In one embodiment, UI templates are templates in the form of web pages designed to place pre-specified types of components in a pre-specified design structure, including an area where text can be entered and an image component can be placed. It may be a web page format with predefined areas, areas where menu bars can be placed, etc.

일 실시예에서, 컴포넌트는, UI 템플릿 내에 배치가능하도록 미리 제작된 각종 기능부들로서, 특정 입력 데이터에 따라 미리 지정된 연산을 수행하고, 수행된 연산 결과를 시각적으로 표시할 수 있다. 예를 들어, 컴포넌트는, 입력 데이터에 대응하는 그래프가 표현되는 그래프 컴포넌트, 입력 데이터에 따른 통계 연산을 수행하고, 통계 연산에 따른 결과 데이터가 표시되는 통계 출력 컴포넌트, 입력 데이터에 대한 이미지 처리를 수행하고, 수행된 이미지 처리 결과 이미지를 표시하는 이미지 컴포넌트 등을 포함할 수 있다. 여기서, 미리 지정된 연산은 경우에 따라 생략되어 입력 데이터를 그대로 시각적으로 표시하도록 구현될 수도 있다. In one embodiment, components are various functional units that are pre-fabricated so that they can be placed within a UI template, and can perform pre-designated operations according to specific input data and visually display the results of the performed operations. For example, the components include a graph component that displays a graph corresponding to input data, a statistical output component that performs statistical operations based on the input data and displays result data according to the statistical operations, and performs image processing on the input data. and may include an image component that displays an image as a result of image processing. Here, pre-designated operations may be omitted in some cases and may be implemented to visually display the input data as is.

운영서버(100)는, 사용자 단말(200)에게 웹빌더를 통해 제작하고자 하는 웹기반 애플리케이션의 종류, 목적 등을 입력하고, 입력받은 종류와 목적 등에 기반하여 UI템플릿들을 사용자 단말(200)에 제공하고, 사용자 단말(200)은 제공되는 UI템플릿들 중 하나를 선택할 수 있다.The operation server 100 inputs the type and purpose of the web-based application to be produced through the web builder to the user terminal 200, and provides UI templates to the user terminal 200 based on the input type and purpose. And the user terminal 200 can select one of the provided UI templates.

운영서버(100)는, 사용자 단말(200)에 의해 선택된 UI템플릿을 사용자 단말(200)에 표시하고, 사용자 단말(200)에 표시된 UI템플릿 내에 배치할 컴포넌트들을 배치할 수 있는 사용자 인터페이스를 사용자 단말(200)에 제공할 수 있다.The operation server 100 displays the UI template selected by the user terminal 200 on the user terminal 200, and provides a user interface that can place components to be placed within the UI template displayed on the user terminal 200. It can be provided at (200).

사용자 단말(200)의 사용자는 제공받은 사용자 인터페이스를 이용하여 UI 템플릿 내에 배치하기를 원하는 컴포넌트들을 선정하고, 배치할 수 있다.The user of the user terminal 200 can select and place components desired to be placed within the UI template using the provided user interface.

운영 서버(100)는, 미리 수집된 컴포넌트들과 UI 템플릿들의 디자인을 변경할 수 있는 사용자 인터페이스를 사용자 단말(200)에 제공할 수도 있다. 사용자 단말(200)의 사용자는, 제공받은 사용자 인터페이스를 이용하여 컴포넌트들 또는 UI템플릿들을 구성하는 이미지, 크기, 색상, 폰트 등을 변경할 수 있다.The operation server 100 may provide the user terminal 200 with a user interface that can change the design of pre-collected components and UI templates. The user of the user terminal 200 can change the image, size, color, font, etc. that make up the components or UI templates using the provided user interface.

또한, 운영 서버(100)는, 사용자 단말(200)에 의해 최종적으로 완성된 웹기반 애플리케이션에 접속하기 위한 접속주소를 생성하고, 생성된 접속주소를 사용자 단말(200)에 제공할 수 있다.In addition, the operation server 100 may generate an access address for accessing the web-based application finally completed by the user terminal 200 and provide the generated access address to the user terminal 200.

사용자 단말(200)의 사용자는 접속주소를 외부의 다른 사이트 등을 이용하여 공개하고, 공개된 접속주소를 이용하여 웹빌더를 이용하지 않는 제3자의 사용자 단말(300)이 접속주소를 통해 운영 서버(100)에 접속할 수도 있다.The user of the user terminal 200 discloses the access address using another external site, etc., and the user terminal 300 of a third party that does not use the web builder uses the public access address to access the operating server through the access address. You can also access (100).

제3자의 사용자 단말(300)이 접속주소를 통해 운영 서버(100)에 접속하는 경우, 운영 서버(100)는 해당 접속주소와 미리 매칭되어 저장된 웹기반 애플리케이션을 구동하기 위한 웹페이지를 생성하고, 생성된 웹페이지 내에서 웹기반 애플리케이션을 구동시켜 제3자의 사용자 단말(300)에 제공할 수 있다.When a third party's user terminal 300 connects to the operation server 100 through the access address, the operation server 100 generates a web page for running a web-based application stored in advance by matching with the access address, A web-based application can be run within the created web page and provided to a third party's user terminal 300.

이를 통해, 제3자의 사용자 단말(300)이 사용자의 사용자 단말(200)이 제작한 웹기반 애플리케이션을 미리 체험하도록 할 수 있고, 이를 통해 사용자 단말(200)의 사용자가 자신이 제작한 웹기반 애플리케이션의 시장 반응을 미리 예측할 수 있도록 시장성 테스트를 수행할 수 있다.Through this, a third party's user terminal 300 can experience the web-based application created by the user's user terminal 200 in advance, and through this, the user of the user terminal 200 can experience the web-based application created by the user. Marketability tests can be performed to predict the market reaction in advance.

이를 위해, 운영 서버(100)는, 제3자의 사용자 단말(300)이 운영서버(100)를 통해 구동된 웹기반 애플리케이션을 이용하는 과정에서 발생하는 각종 오류 내역들을 로그 파일로 저장하고, 이를 사용자의 사용자 단말(200)에서 열람 가능하도록 사용자 단말(200)에 제공할 수 있다.To this end, the operation server 100 stores various error details that occur in the process of using a web-based application run through the operation server 100 by a third party's user terminal 300 as a log file, and stores this in a log file. It can be provided to the user terminal 200 so that it can be viewed on the user terminal 200.

일 실시예에서, 운영 서버(100)는, 제3자의 사용자 단말(300)이 웹기반 애플리케이션을 이용하는 현황(예를 들어, 이용 시간, 이용할 때 사용자 단말(300)의 위치, 사용자 단말(300)이 주로 열람한 데이터 내역 등)을 모니터링하고, 모니터링된 이용현황 내역들을 로그 파일로 저장하고, 이를 사용자의 사용자 단말(200)에서 열람 가능하도록 사용자 단말(200)에 제공할 수도 있다.In one embodiment, the operation server 100 records the status of a third party's user terminal 300 using the web-based application (e.g., usage time, location of the user terminal 300 when used, user terminal 300 (mainly viewed data details, etc.) may be monitored, the monitored usage status details may be saved as a log file, and the log files may be provided to the user's user terminal 200 so that they can be viewed on the user's user terminal 200.

도 2는 일 실시예에 따른 AI 기반 웹빌더를 제공하기 위한 운영서버의 기능적 구성요소들을 나타낸 도면이다.Figure 2 is a diagram showing functional components of an operation server for providing an AI-based web builder according to an embodiment.

도 2를 참조하면, AI기반 웹빌더를 제공하기 위한 운영서버(100)는, 웹빌더 서비스 관리부(101), UI 템플릿 관리부(102), 컴포넌트 관리부(103), 및 인공지능 지원부(104)를 포함할 수 있다.Referring to FIG. 2, the operation server 100 for providing an AI-based web builder includes a web builder service management unit 101, a UI template management unit 102, a component management unit 103, and an artificial intelligence support unit 104. It can be included.

웹빌더 서비스 관리부(101)는, 사용자 단말(200)의 사용자들을 관리할 수 있다. 예를 들어, 웹빌더 서비스 관리부(101)는, 사용자 단말(200)로부터 사용자 정보를 수신하고, 수신된 사용자 정보를 검증하고, 검증된 사용자 정보들을 저장할 수 있다. 여기서, 사용자 정보는, 사용자 단말(200)의 사용자에 대한 이름, 주소, ID, PASSWORD, 이메일주소 등과 같은 개인정보 뿐만 아니라, 사용자가 제작하기를 원하는 애플리케이션의 종류, 애플리케이션의 제작 목적, 애플리케이션의 제작기간 등을 포함할 수 있다.The web builder service management unit 101 can manage users of the user terminal 200. For example, the web builder service management unit 101 may receive user information from the user terminal 200, verify the received user information, and store the verified user information. Here, the user information includes not only personal information such as the name, address, ID, PASSWORD, and email address of the user of the user terminal 200, but also the type of application the user wants to create, the purpose of producing the application, and the production of the application. It may include a period, etc.

선택적으로, 웹빌더 서비스 관리부(101)는, 사용자 단말(200)에 결제 정보를 전송하고, 사용자 단말(200)이 전송받은 결제 정보를 이용하여 외부의 금융 서버와 연동해 결제를 수행하고, 결제 완료 메시지를 외부의 금융 서버로부터 수신하고, 결제가 완료된 사용자 단말(200)의 사용자에게 웹기반 애플리케이션을 제작하기 위한 웹 기반 제작 툴인 웹빌더 서비스에 대한 사용자 인터페이스를 제공할 수 있다.Optionally, the web builder service management unit 101 transmits payment information to the user terminal 200, performs payment in conjunction with an external financial server using the payment information transmitted by the user terminal 200, and makes the payment. A completion message may be received from an external financial server, and a user interface for the web builder service, a web-based production tool for creating web-based applications, may be provided to the user of the user terminal 200 for which payment has been completed.

웹빌더 서비스 관리부(101)는, 사용자 단말(200)에게 웹빌더를 통해 제작하고자 하는 웹기반 애플리케이션의 종류, 목적 등을 입력받고, 입력받은 종류와 목적 등에 기반하여 미리 수집되어 저장된 UI템플릿들 중 하나를 선택하기 위한 제1 사용자 인터페이스를 사용자 단말(200)에 제공하고, 사용자 단말(200)은 제1 사용자 인터페이스를 이용하여 UI템플릿들 중 하나를 선택할 수 있다.The web builder service management unit 101 receives input from the user terminal 200 of the type and purpose of the web-based application to be produced through the web builder, and selects UI templates from among the UI templates collected and stored in advance based on the input type and purpose. A first user interface for selecting one is provided to the user terminal 200, and the user terminal 200 can select one of the UI templates using the first user interface.

웹빌더 서비스 관리부(101)는, 사용자 단말(200)에 의해 선택된 UI템플릿을 사용자 단말(200)에 표시하고, 사용자 단말(200)에 의해 선택된 UI템플릿 내에 배치할 컴포넌트들을 배치할 수 있는 제2 사용자 인터페이스를 사용자 단말(200)에 제공할 수 있다.The web builder service management unit 101 displays the UI template selected by the user terminal 200 on the user terminal 200 and places components to be placed within the UI template selected by the user terminal 200. A user interface may be provided to the user terminal 200.

사용자 단말(200)의 사용자는 제공받은 제2 사용자 인터페이스를 이용하여 UI 템플릿 내에 배치하기를 원하는 컴포넌트들을 선정하고, 배치할 수 있다.The user of the user terminal 200 can select and place components desired to be placed within the UI template using the provided second user interface.

웹빌더 서비스 관리부(101)는, 제2 사용자 인터페이스 내에 표시된 UI 템플릿 및 해당 UI 템플릿 내에 배치된 컴포넌트들의 디자인을 변경할 수 있는 제3 사용자 인터페이스를 사용자 단말(200)에 제공할 수도 있다. 사용자 단말(200)의 사용자는, 제공받은 제3 사용자 인터페이스를 이용하여 컴포넌트들 또는 UI템플릿을 구성하는 이미지, 크기, 색상, 폰트 등을 변경할 수 있다.The web builder service management unit 101 may provide the user terminal 200 with a third user interface that can change the design of the UI template displayed in the second user interface and the components arranged in the corresponding UI template. The user of the user terminal 200 can change the image, size, color, font, etc. that make up the components or UI template using the provided third user interface.

또한, 웹빌더 서비스 관리부(101)는, 사용자 단말(200)에 의해 최종적으로 완성된 웹기반 애플리케이션에 접속하기 위한 접속주소를 생성하고, 생성된 접속주소를 사용자 단말(200)에 제공할 수도 있다.In addition, the web builder service management unit 101 may generate an access address for accessing the web-based application finally completed by the user terminal 200 and provide the generated access address to the user terminal 200. .

UI 템플릿 관리부(102)는, 미리 다수의 UI 템플릿들을 관리자로부터 입력받아 저장하고, 저장된 UI 템플릿들 각각에 대한 메타 데이터를 생성하고 저장할 수 있다. 예를 들어, 외부의 개발 인력들을 이용해 제작된 UI 템플릿들의 소스 코드가 운영 서버(100)에 업로드되면, UI 템플릿 관리부(102)는, 해당 소스 코드를 판독하여 UI 템플릿에 대응하는 메타 데이터를 생성하고, 생성된 메타 데이터에 대한 확인 입력을 관리자로부터 입력받고, 확인 입력이 완료된 메타 데이터를 해당 UI 템플릿의 소스 코드와 매칭하여 저장할 수 있다. 예를 들어, UI 템플릿 관리부(102)는, UI 템플릿의 소스 코드를 판독하고, 소스 코드를 구성하는 호출 함수들을 수집하고, 수집된 호출 함수들의 종류, 호출 함수들의 메개 변수, 호출 함수들의 호출 순서 등을 기반으로 메타 데이터를 생성할 수 있다.The UI template management unit 102 may receive and store a plurality of UI templates in advance from the manager, and generate and store metadata for each of the stored UI templates. For example, when the source code of UI templates produced using external development personnel is uploaded to the operation server 100, the UI template management unit 102 reads the source code and generates metadata corresponding to the UI template. Then, a confirmation input for the generated metadata can be received from the administrator, and the metadata for which the confirmation input has been completed can be matched with the source code of the corresponding UI template and stored. For example, the UI template management unit 102 reads the source code of the UI template, collects the call functions constituting the source code, types of the collected call functions, parameters of the call functions, and calling order of the call functions. Metadata can be created based on etc.

일 실시예에서, UI 템플릿의 메타 데이터는, 해당 UI템플릿이 속하는 테마 종류(테마 종류들을 미리 관리자에 의해 입력되어 지정될 수 있고, 메타 데이터는 미리 지정된 메타 종류들 중 하나를 지시하는 데이터로 생성될 수 있음) 및 해당 UI 템플릿을 구성하는 구성요소들의 변환 허용 범위를 포함할 수 있다. 여기서, 변환 허용 범위는 해당 UI 템플릿을 구성하는 구성요소들(예를 들어, 폰트 크기, 배치 가능한 크기 등)이 변경될 수 있는 크기와 위치, 종류의 범위를 지시할 수 있다. 폰트 크기를 예로 들면, 해당 UI 템플릿 내에서 특정 위치에 배치된 폰트들의 변경 가능한 크기 범위가 변환 허용 범위에 포함된다. 구체적인 구현례에서, 변환 허용 범위는, 해당 구성요소들의 크기가 증가되었을 때 다른 구성요소들의 변경없이 커질 수 있는 한도를 최대 변환 허용 범위로 갖고, 해당 구성요소들의 크기가 감소되었을 때 다른 구성요소들 과의 크기 차이가 미리 설정된 임계값을 초과할 때를 최소 변환 허용 범위로 갖도록 설정될 수 있다. 변환 허용 범위는 소스 코드 판독에 의해 일차적으로 생성된 후 관리자의 확인 입력을 통해 최종적으로 설정 입력되는 것이 바람직할 수 있다.In one embodiment, the metadata of the UI template is the theme type to which the corresponding UI template belongs (theme types can be input and specified in advance by the administrator, and the metadata is generated as data indicating one of the pre-designated meta types. may be) and the allowable conversion range of the components that make up the corresponding UI template. Here, the allowable conversion range may indicate the range of sizes, positions, and types in which the components constituting the corresponding UI template (e.g., font size, deployable size, etc.) can be changed. Taking font size as an example, the changeable size range of fonts placed at specific positions within the relevant UI template is included in the conversion allowable range. In a specific implementation, the conversion tolerance range has a maximum conversion tolerance range that can increase without changing other components when the size of the corresponding components increases, and when the size of the corresponding components decreases, the limit to which other components can grow is the maximum conversion tolerance range. It can be set to have the minimum conversion allowable range when the size difference between and exceeds a preset threshold. It may be desirable for the conversion tolerance range to be initially created by reading the source code and then finally set and input through the administrator's confirmation input.

또한, UI 템플릿 관리부(102)는, 저장된 UI 템플릿들 중에서 사용자 단말(200)의 사용자에 의해 선택된 UI 템플릿의 소스 코드를 호출하고, 호출된 소스 코드를 웹 상에서 웹페이지 형태로 구동하여 사용자 단말(200)에 표시할 수 있다.In addition, the UI template management unit 102 calls the source code of the UI template selected by the user of the user terminal 200 from among the stored UI templates, and runs the called source code in the form of a web page on the web to display the user terminal ( 200).

컴포넌트 관리부(103)는, 미리 다수의 컴포넌트들을 관리자로부터 입력받아 저장하고, 저장된 컴포넌트들 각각에 대한 메타 데이터를 생성하고 저장할 수 있다. 예를 들어, 외부의 개발 인력들을 이용해 제작된 컴포넌트들의 소스 코드가 운영 서버(100)에 업로드되면, 컴포넌트 관리부(103)는, 해당 소스 코드를 판독하여 컴포넌트에 대응하는 메타 데이터를 생성하고, 생성된 메타 데이터에 대한 확인 입력을 관리자로부터 입력받고, 확인 입력이 완료된 메타 데이터를 해당 컴포넌트의 소스 코드와 매칭하여 저장할 수 있다.The component management unit 103 may receive and store a number of components in advance from the manager, and generate and store metadata for each of the stored components. For example, when the source code of components produced using external development personnel is uploaded to the operation server 100, the component management unit 103 reads the source code and generates metadata corresponding to the component. Confirmation input for the metadata can be received from the administrator, and the confirmed metadata can be matched with the source code of the corresponding component and stored.

일 실시예에서, 컴포넌트의 메타 데이터는, 해당 컴포넌트에 의해 구동되는 기능의 종류(관리자에 의해 미리 지정된 종류들 중 하나) 및 해당 컴포넌트를 구성하는 구성요소들(폰트, 색상, 크기 등)의 변환 허용 범위를 포함할 수 있다. 여기서 변환 허용 범위에 대해서는 앞선 UI 템플릿의 메타 데이터에서의 변환 허용 범위와 동일한 방식으로 설정될 수 있다.In one embodiment, the metadata of a component includes the type of function driven by the component (one of the types specified in advance by the administrator) and the conversion of the components (font, color, size, etc.) that make up the component. Allowable range may be included. Here, the conversion allowance range can be set in the same way as the conversion allowance range in the metadata of the previous UI template.

인공지능 지원부(104)는, 웹빌더 서비스 관리부(101)에서 제공하는 사용자 인터페이스와 병렬적으로 사용자 단말(200)에게 웹디자인 상의 편의성을 증대하기 위한 인공지능 기반의 변환 지원서비스를 제공할 수 있다.The artificial intelligence support unit 104 can provide an artificial intelligence-based conversion support service to increase convenience in web design to the user terminal 200 in parallel with the user interface provided by the web builder service management unit 101. .

예를 들어, 인공지능 지원부(104)는, 사용자 단말(200)의 제3 사용자 인터페이스를 통한 UI 템플릿이나 컴포넌트 변경 상태를 모니터링하고, UI 템플릿이나 컴포넌트 변경 상태를 기반으로 사용자 단말(200)의 UI 템플릿과 컴포넌트 변경 형태를 예상하여 구현한 UI 템플릿이나 컴포넌트를 미리 생성하고, 생성된 UI 템플릿이나 컴포넌트의 미리보기 영역을 생성하여 제3 사용자 인터페이스와 중첩하게 사용자 단말(200)에 표시할 수 있다.For example, the artificial intelligence support unit 104 monitors the UI template or component change status through the third user interface of the user terminal 200, and changes the UI of the user terminal 200 based on the UI template or component change status. A UI template or component implemented by anticipating the template and component change form may be created in advance, and a preview area of the generated UI template or component may be created and displayed on the user terminal 200 to overlap the third user interface.

즉, 인공지능 지원부(104)는, 인공지능 기반으로 사용자 단말(200)의 사용자가 UI 템플릿이나 컴포넌트를 변경하는 상태를 지속적으로 모니터링하면서, 사용자가 최종적으로 변환 생성하고자 하는 UI 템플릿이나 컴포넌트를 미리 생성할 수 있다.That is, the artificial intelligence support unit 104 continuously monitors the state in which the user of the user terminal 200 changes the UI template or component based on artificial intelligence, and prepares in advance the UI template or component that the user ultimately wants to convert and create. can be created.

이를 위해, 인공지능 지원부(104)는, 사용자 단말(200)의 UI 템플릿 변경 조작을 모니터링하고, 모니터링된 현재의 UI 템플릿의 변경 정도를 기반으로 제1 인공신경망(10)을 이용하여 미리보기로 제공할 UI 템플릿을 생성하는 템플릿 변환지원부(104a)를 포함할 수 있다.To this end, the artificial intelligence support unit 104 monitors the UI template change operation of the user terminal 200 and previews it using the first artificial neural network 10 based on the degree of change in the monitored current UI template. It may include a template conversion support unit 104a that generates a UI template to be provided.

같은 취지로, 인공지능 지원부(104)는, 사용자 단말(200)의 컴포넌트 변경 조작을 모니터링하고, 모니터링된 현재의 컴포넌트의 변경 정도를 기반으로 제2 인공신경망(20)을 이용하여 미리보기로 제공할 컴포넌트를 생성하는 컴포넌트 변환지원부(104b)를 포함할 수 있다.To the same purpose, the artificial intelligence support unit 104 monitors the component change operation of the user terminal 200 and provides a preview using the second artificial neural network 20 based on the degree of change of the current monitored component. It may include a component conversion support unit 104b that creates a component to be processed.

또한, 인공지능 지원부(104)는, 제1 인공신경망(10)과 제2 인공신경망(20)을 미리 지도학습하기 위한 학습데이터를 생성하는 변환모사 학습데이터 생성부(104c)를 더 포함할 수 있다. 변환모사 학습데이터 생성부(104c)는, 다양하게 수집되는 웹디자인 제작 영상들을 기반으로 제1 인공신경망(10)과 제2 인공신경망(20)을 미리 지도학습하기 위한 학습데이터를 생성할 수 있다.In addition, the artificial intelligence support unit 104 may further include a transformation simulation learning data generator 104c that generates learning data for supervised learning of the first artificial neural network 10 and the second artificial neural network 20 in advance. there is. The transformation simulation learning data generator 104c can generate learning data for supervised learning of the first artificial neural network 10 and the second artificial neural network 20 in advance based on various collected web design production images. .

도 3은 일 실시예에 따른 템플릿 변환지원부의 동작을 설명하기 위한 도면이다. Figure 3 is a diagram for explaining the operation of a template conversion support unit according to an embodiment.

도 3을 참조하면, 템플릿 변환지원부(104a)는, 사용자 단말(200)의 사용자가 현재 작업하고 있는 현재의 UI 템플릿에 대응하는 템플릿 메타 데이터 및 템플릿 작업 모니터링 데이터를 획득하고, 획득된 템플릿 메타 데이터와 템플릿 작업 모니터링 데이터를 이용하여 제1 입력 데이터를 생성할 수 있다.Referring to FIG. 3, the template conversion support unit 104a acquires template metadata and template work monitoring data corresponding to the current UI template that the user of the user terminal 200 is currently working on, and stores the obtained template metadata. First input data can be generated using the template task monitoring data.

구체적으로, 템플릿 변환지원부(104a)는, 템플릿 메타 데이터에 포함된 테마 종류와 변환 허용 범위, 템플릿 작업 모니터링 데이터에 포함된 이미지 크기 변량, 이미지 배치위치 변량, 이미지 종류 변량, 컴포넌트 크기 변량, 컴포넌트 배치위치 변량, 컴포넌트 형식 변량을 포함하는 제1 입력 데이터를 생성할 수 있다. 여기서 이미지 크기 변량은 사용자 단말(200)의 사용자가 UI 템플릿에 포함된 이미지의 크기를 조작한 경우 그 크기 변량(대각선 크기 변화량)이고, 이미지 종류 변량은 사용자가 UI템플릿에 포함된 이미지를 다른 이미지로 변경한 경우, 변경 후 이미지의 종류(예를 들어, 해당 이미지에 포함된 객체)를 의미하고, 컴포넌트 크기 변량은 사용자가 UI 템플릿에 포함된 특정 컴포넌트의 크기를 조작한 경우 그 크기 변량(대각선 크기 변화량)이고, 컴포넌트 배치위치 변량은 사용자가 UI템플릿에 포함된 특정 컴포넌트의 위치를 조작한 경우, 그 위치 변화량(거리)이고, 컴포넌트 형식 변량은, 사용자가 UI 템플릿에 포함된 특정 컴포넌트를 다른 컴포넌트로 바꾼 경우 바뀐 후의 컴포넌트가 속하는 컴포넌트 형식(type)을 지시할 수 있다.Specifically, the template conversion support unit 104a configures the theme type and conversion allowable range included in the template metadata, the image size variable included in the template work monitoring data, the image placement position variable, the image type variable, the component size variable, and the component placement. First input data including a positional variable and a component type variable may be generated. Here, the image size variable is the size variable (diagonal size change) when the user of the user terminal 200 manipulates the size of the image included in the UI template, and the image type variable is when the user changes the image included in the UI template to another image. When changed to , it means the type of image (for example, the object included in the image) after the change, and component size variation refers to the size variation (diagonal) when the user manipulates the size of a specific component included in the UI template. size change), the component placement position variable is the amount of position change (distance) when the user manipulates the position of a specific component included in the UI template, and the component type variable is the amount of change in position (distance) when the user manipulates the position of a specific component included in the UI template. When changed to a component, the component type (type) to which the changed component belongs can be indicated.

제1 입력 데이터의 형태는 각 요소들을 성분값으로 하는 행렬을 구성하여 적용하는 것이 일반적이나, 사용하는 인공신경망의 종류와 입력층을 구성하는 노드들의 수에 따라 상이하므로 통상의 기술자가 구성 성분들을 적당히 조정하여 입력 데이터로 생성할 수 있다.The form of the first input data is generally applied by constructing a matrix with each element as the component value. However, since it varies depending on the type of artificial neural network used and the number of nodes constituting the input layer, a person skilled in the art can determine the components. It can be generated from input data by adjusting appropriately.

제1 인공신경망(10)은, 제1 입력데이터를 입력받으면, 미리보기로 제공할 UI 템플릿을 구성하기 위한 구성요소들을 제1 출력 데이터로서 출력할 수 있다. 예를 들어, 제1 인공신경망(10)은, 미리보기로 제공할 UI 템플릿에 포함된 이미지 크기, 이미지 배치위치, 이미지 종류, 컴포넌트 크기, 컴포넌트 배치위치, 및 컴포넌트 형식을 포함하는 제1 출력 데이터를 출력할 수 있다.When receiving first input data, the first artificial neural network 10 may output components for configuring a UI template to be provided as a preview as first output data. For example, the first artificial neural network 10 generates first output data including image size, image placement position, image type, component size, component placement position, and component format included in the UI template to be provided as a preview. can be output.

템플릿 변환지원부(104a)는, 제1 출력 데이터를 기반으로 현재 사용자가 작업중인 UI템플릿을 변경하고, 변경된 UI 템플릿을 미리보기로서 사용자 단말(200)에 제공할 수 있다.The template conversion support unit 104a may change the UI template that the user is currently working on based on the first output data and provide the changed UI template as a preview to the user terminal 200.

일 실시예에서, 제1 인공신경망(10)은, 학습 데이터를 이용하여 미리 지도학습될 수 있다.In one embodiment, the first artificial neural network 10 may be supervised in advance using training data.

여기서 학습 데이터는, 제1 훈련 입력값 및 제1 훈련입력값에 대응하는 정답을 나타내는 제1 훈련출력값의 쌍(pair)으로 구성될 수 있다. 제1 훈련 입력값은, 사람이 UI 템플릿에 대한 웹디자인을 수행하는 과정을 모니터링하여 얻어지는 이미지 크기 변량, 이미지 배치위치 변량, 및 이미지 종류 변량, 컴포넌트 크기 변량, 컴포넌트 배치위치 변량, 및 컴포넌트 형식 변량과 함께, 해당 UI 템플릿(또는 그 유사 UI 템플릿)의 메타 데이터로부터 확인 가능한 테마 종류 및 변환 허용 범위를 포함할 수 있다.Here, the learning data may be composed of a pair of a first training input value and a first training output value indicating the correct answer corresponding to the first training input value. The first training input values are image size variable, image placement position variable, image type variable, component size variable, component placement position variable, and component format variable obtained by monitoring the process of a person performing web design for a UI template. In addition, it may include the theme type and conversion allowable range that can be confirmed from the metadata of the corresponding UI template (or similar UI template).

제1 훈련 출력값은, 해당 웹디자인 수행 과정을 통해 사람이 최종적으로 만든 UI템플릿(또는 그와 유사 UI 템플릿)을 구성하는 이미지 크기, 이미지 배치위치, 이미지 종류, 컴포넌트 크기, 컴포넌트 배치위치, 및 컴포넌트 형식을 포함하는 출력 데이터일 수 있다.The first training output value is the image size, image placement position, image type, component size, component placement position, and component that constitute the UI template (or similar UI template) finally created by a person through the web design process. It may be output data including a format.

제1 인공신경망(10)은, 제1 훈련입력값이 입력되었을 때 얻어지는 출력 데이터 및 정답으로서 제공되는 제1 출력 출력값을 이용하여 손실 함수(loss fuction)을 연산하고, 연산된 손실 함수의 결과값이 최소화되도록 지도학습될 수 있다. 여기서 최소화되도록 지도학습하는 과정은, 손실함수의 결과값이 최소화되도록 제1 인공신경망(10)을 구성하는 각 계층들을 구성하는 노드들의 가중치를 재조정하는 과정일 수 있다.The first artificial neural network 10 calculates a loss function using the output data obtained when the first training input value is input and the first output output value provided as the correct answer, and the result value of the calculated loss function This can be supervised to minimize this. Here, the process of supervised learning to minimize may be a process of readjusting the weights of the nodes constituting each layer of the first artificial neural network 10 so that the result of the loss function is minimized.

제1 인공신경망(10) 및 제2 인공신경망(20)은, 딥러닝 기반의 인공신경망으로서, Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM), Autoencoder, Variational Autoencoder (VAE), Deep Residual Network (DRN), Generative Adversarial Network (GAN) 등이 활용될 수 있으며, Recurrent Neural Network (RNN) 또는 Long Short-Term Memory (LSTM) 기반의 인공신경망을 활용하는 것이 바람직할 수 있다. 이때, Recurrent Neural Network (RNN) 또는 Long Short-Term Memory (LSTM) 기반의 인공신경망은 다양한 소스코드들이 이미 공개되어 있고 접근 가능하므로, 통상의 기술자들은 이미 알려진 이러한 인공신경망들 중 하나를 성능평가를 통해 선정하고 활용하는 것이 가능하다. 본 발명에서는 특정 인공신경망으로의 제한을 두지 않는다.The first artificial neural network 10 and the second artificial neural network 20 are deep learning-based artificial neural networks, such as Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM), Autoencoder, Variational Autoencoder (VAE), Deep Residual Network (DRN), Generative Adversarial Network (GAN), etc. can be used, and it may be desirable to use artificial neural networks based on Recurrent Neural Network (RNN) or Long Short-Term Memory (LSTM). At this time, since various source codes for artificial neural networks based on Recurrent Neural Network (RNN) or Long Short-Term Memory (LSTM) are already public and accessible, those skilled in the art can evaluate the performance of one of these already known artificial neural networks. It is possible to select and utilize it. The present invention is not limited to a specific artificial neural network.

도 4는 일 실시예에 따른 컴포넌트 변환지원부의 동작을 설명하기 위한 도면이다.Figure 4 is a diagram for explaining the operation of the component conversion support unit according to one embodiment.

컴포넌트 변환지원부(104b)는, 템플릿 변환지원부(104a)와 마찬가지로, 사용자 단말(200)의 사용자가 현재 작업하고 있는 현재의 컴포넌트에 대응하는 컴포넌트 메타 데이터 및 컴포넌트 작업 모니터링 데이터를 획득하고, 획득된 컴포넌트 메타 데이터와 컴포넌트 작업 모니터링 데이터를 이용하여 제2 입력 데이터를 생성할 수 있다.The component conversion support unit 104b, like the template conversion support unit 104a, acquires component metadata and component work monitoring data corresponding to the current component that the user of the user terminal 200 is currently working on, and configures the acquired component Second input data can be generated using metadata and component operation monitoring data.

구체적으로, 컴포넌트 변환지원부(104b)는, 컴포넌트 메타 데이터에 포함된 해당 컴포넌트가 분류되어 있는 기능의 종류와 해당 컴포넌트가 변환 가능한 변환 허용 범위, 컴포넌트 작업 모니터링 데이터에 포함된 폰트 종류, 컴포넌트 크기 변량, 및 컴포넌트 색상을 포함하는 제2 입력 데이터를 생성할 수 있다. Specifically, the component conversion support unit 104b includes the type of function in which the corresponding component included in the component metadata is classified, the conversion allowable range for which the corresponding component can be converted, the font type included in the component operation monitoring data, the component size variation, and second input data including the component color may be generated.

여기서 폰트 종류는, 사용자 단말(200)의 사용자가 해당 컴포넌트를 구성하는 폰트 종류를 바꾼 경우 바꾼 후의 폰트 종류를 의미하고, 컴포넌트 크기 변량은, 사용자가 해당 컴포넌트의 크기를 조작한 경우 그 크기 변량(대각선 크기 변화량)이고, 컴포넌트 색상 변량은 사용자가 해당 컴포넌트를 구성하는 색상을 바꾼 경우, 바꾼 후의 컴포넌트 색상을 의미한다.Here, the font type refers to the font type after changing when the user of the user terminal 200 changes the font type constituting the corresponding component, and the component size variation refers to the size variation when the user manipulates the size of the component ( diagonal size change), and component color variation refers to the color of the component after the change when the user changes the color of the component.

제2 인공신경망(20)은, 제2 입력데이터를 입력받으면, 미리보기로 제공할 컴포넌트를 구성하기 위한 구성요소들을 제1 출력 데이터로서 출력할 수 있다. 예를 들어, 제2 인공신경망(20)은, 미리보기로 제공할 컴포넌트를 구성하는 폰트 종류, 컴포넌트 크기, 및 컴포넌트 색상을 포함하는 제2 출력 데이터를 출력할 수 있다.When receiving second input data, the second artificial neural network 20 may output components for configuring a component to be provided as a preview as first output data. For example, the second artificial neural network 20 may output second output data including the font type, component size, and component color that constitute the component to be provided as a preview.

컴포넌트 변환지원부(104b)는, 제2 출력 데이터를 기반으로 현재 사용자가 작업중인 UI컴포넌트를 변경하고, 변경된 UI 컴포넌트를 미리보기로서 사용자 단말(200)에 제공할 수 있다.The component conversion support unit 104b may change the UI component that the user is currently working on based on the second output data and provide the changed UI component as a preview to the user terminal 200.

일 실시예에서, 제2 인공신경망(20)은, 학습 데이터를 이용하여 미리 지도학습될 수 있다.In one embodiment, the second artificial neural network 20 may be supervised in advance using training data.

여기서 학습 데이터는, 제2 훈련 입력값 및 제2 훈련입력값에 대응하는 정답을 나타내는 제2 훈련출력값의 쌍(pair)으로 구성될 수 있다. 제2 훈련 입력값은, 사람이 해당 컴포넌트 또는 그와 유사한 컴포넌트에 대한 웹디자인을 수행하는 과정을 모니터링하여 얻어지는 폰트 종류, 컴포넌트 크기 변량, 컴포넌트 색상, 및 해당 컴포넌트(또는 그와 유사 컴포넌트)의 메타데이터를 통해 얻어지는 기능의 종류, 변환 허용 범위를 포함할 수 있다.Here, the learning data may be composed of a pair of second training input values and a second training output value indicating the correct answer corresponding to the second training input value. The second training input value is the font type, component size variation, component color, and meta of the corresponding component (or similar component) obtained by monitoring the process of a person performing web design for the corresponding component or a similar component. It can include the type of function obtained through data and the allowable conversion range.

제2 훈련 출력값은, 해당 웹디자인 수행 과정을 통해 사람이 최종적으로 만든 컴포넌트를 구성하는 폰트 종류, 컴포넌트 크기, 및 컴포넌트 색상을 포함할 수 있다.The second training output value may include the font type, component size, and component color that constitute the component finally created by a person through the web design execution process.

제2 인공신경망(20)은, 제2 훈련입력값이 입력되었을 때 얻어지는 출력 데이터 및 정답으로서 제공되는 제2 출력 출력값을 이용하여 손실 함수(loss fuction)을 연산하고, 연산된 손실 함수의 결과값이 최소화되도록 지도학습될 수 있다. 여기서 최소화되도록 지도학습하는 과정은, 손실함수의 결과값이 최소화되도록 제2 인공신경망(20)을 구성하는 각 계층들을 구성하는 노드들의 가중치를 재조정하는 과정일 수 있다.The second artificial neural network 20 calculates a loss function using the output data obtained when the second training input value is input and the second output output value provided as the correct answer, and the result value of the calculated loss function This can be supervised to minimize this. Here, the process of supervised learning to minimize may be a process of readjusting the weights of the nodes constituting each layer of the second artificial neural network 20 so that the result of the loss function is minimized.

제2 인공신경망(20)은, 딥러닝 기반의 인공신경망으로서, Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM), Autoencoder, Variational Autoencoder (VAE), Deep Residual Network (DRN), Generative Adversarial Network (GAN) 등이 활용될 수 있으며, Recurrent Neural Network (RNN) 또는 Long Short-Term Memory (LSTM) 기반의 인공신경망을 활용하는 것이 바람직할 수 있다. 이때, Recurrent Neural Network (RNN) 또는 Long Short-Term Memory (LSTM) 기반의 인공신경망은 다양한 소스코드들이 이미 공개되어 있고 접근 가능하므로, 통상의 기술자들은 이미 알려진 이러한 인공신경망들 중 하나를 성능평가를 통해 선정하고 활용하는 것이 가능하다. 본 발명에서는 특정 인공신경망으로의 제한을 두지 않는다.The second artificial neural network 20 is a deep learning-based artificial neural network, including Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM), Autoencoder, Variational Autoencoder (VAE), Deep Residual Network (DRN), and Generative Adversarial. Network (GAN) can be used, and it may be desirable to use an artificial neural network based on Recurrent Neural Network (RNN) or Long Short-Term Memory (LSTM). At this time, since various source codes for artificial neural networks based on Recurrent Neural Network (RNN) or Long Short-Term Memory (LSTM) are already public and accessible, those skilled in the art can evaluate the performance of one of these already known artificial neural networks. It is possible to select and utilize it. The present invention is not limited to a specific artificial neural network.

도 5는 일 실시예에 따른 제1 인공신경망과 제2 인공신경망의 구조를 설명하기 위한 개념도이다.Figure 5 is a conceptual diagram for explaining the structure of a first artificial neural network and a second artificial neural network according to an embodiment.

도 5를 참조하여 제1 인공신경망(10)의 구조에 대해 설명하지만 제2 인공신경망(20)에도 데이터 크기를 달리하면 동일한 구조의 인공신경망이 적용될 수 있는 것으로 해석되어야 한다.Although the structure of the first artificial neural network 10 is described with reference to FIG. 5, it should be interpreted that an artificial neural network with the same structure can be applied to the second artificial neural network 20 if the data size is different.

도 5를 참조하면, 제1 인공 신경망(10)은, 제1 입력 데이터를 구성하는 행렬의 각 열들을 입력 벡터(X)로서 순차적으로 입력받고, 입력받은 입력 벡터(X)의 성분값 개수와 동일한 개수(N)의 입력 노드들로 구성되는 입력층(11), 입력층(11)으로부터 전달받은 출력값들을 이용하여 산출된 출력 벡터(Y`)를 출력층(13)에 전달하는 은닉층(12), 및 출력 벡터(Y`)에 활성화 함수를 적용하여 출력 벡터(Y`)에 대응하는 확률(p)을 결정하고, 결정된 확률(p)이 가장 높은 출력 벡터(Y`)를 출력하는 출력층(13)을 포함할 수 있다. 본 발명에서 인공 신경망(10)을 구성하는 노드들 각각은 본 발명이 속하는 기술분야에서 흔히 사용하는 표현인 뉴런(neuron)이라는 용어로도 혼용하여 지칭될 수 있다.Referring to FIG. 5, the first artificial neural network 10 sequentially receives each column of the matrix constituting the first input data as an input vector (X), and calculates the number of component values of the input vector (X) and An input layer 11 composed of the same number (N) of input nodes, and a hidden layer 12 that transmits the output vector (Y') calculated using the output values received from the input layer 11 to the output layer 13. , and an activation function is applied to the output vector (Y`) to determine the probability (p) corresponding to the output vector (Y`), and the output layer ( 13) may be included. In the present invention, each of the nodes constituting the artificial neural network 10 may be interchangeably referred to as a neuron, which is an expression commonly used in the technical field to which the present invention belongs.

구체적으로, 인공 신경망(10)은, 훈련 입력값으로 제공된 매트릭스의 각 열들을 입력 벡터(X)로서 순차 입력받으면, 은닉층(12)의 출력으로서 획득되는 출력 벡터(Y`)와 훈련 출력값을 벡터화하여 생성된 훈련출력벡터(Y)를 사용하여 손실함수(loss function)을 연산하고, 연산된 손실함수의 결과값이 최소화되도록 지도학습된다.Specifically, when the artificial neural network 10 sequentially receives each column of the matrix provided as a training input as an input vector (X), the output vector (Y') obtained as the output of the hidden layer 12 and the training output value are vectorized. A loss function is calculated using the generated training output vector (Y), and supervised learning is performed to minimize the result of the calculated loss function.

예를 들어, 손실 함수(H(Y,Y`))는, 크로스 엔트로피(Cross Entropy) 함수일 수 있다. 출력 벡터(Y`)와 훈련출력벡터(Y) 사이의 크로스 엔트로피(H(Y,Y`))는 다음의 수학식 1과 같이 정의될 수 있다.For example, the loss function (H(Y,Y')) may be a cross entropy function. The cross entropy (H(Y,Y')) between the output vector (Y') and the training output vector (Y) can be defined as Equation 1 below.

수학식 1에서 Ym은 훈련출력벡터(Y)의 m(m은 1 이상의 자연수)번째 성분이고, Y`m은 출력 벡터(Y`)의 m번째 성분일 수 있다.In Equation 1, Ym may be the mth component of the training output vector (Y) (m is a natural number greater than or equal to 1), and Y`m may be the mth component of the output vector (Y`).

입력층(11)은 입력 벡터(X)를 입력받고, 입력받은 입력 벡터(X)의 성분들 각각에 대하여, 입력 노드들과 대응하는 하나 이상의 연결 강도값들을 적용하여 은닉층(12)에 전달할 수 있다.The input layer 11 can receive an input vector (X), apply one or more connection strength values corresponding to the input nodes to each component of the input vector (X), and transmit it to the hidden layer 12. there is.

예를 들어, 입력 노드들 각각에 대응하는 하나 이상의 연결 강도값들은 N×M의 크기를 갖는 제1 연결강도 행렬(WN×M)로 표현할 수 있다. 이때, N은 입력노드들과 동일한 개수일 수 있고, M은 N보다 1/10 배 이하로 충분히 작게 설정된다. 제1 연결강도 행렬(WN×M)은 임의의 초기값으로 설정된 후 지도학습을 통해 지속적으로 갱신되는 파라미터일 수 있다.For example, one or more connection strength values corresponding to each of the input nodes can be expressed as a first connection strength matrix (W N × M ) having a size of N × M. At this time, N may be the same number as the input nodes, and M is set sufficiently small to be less than 1/10 times N. The first connection strength matrix (W N×M ) may be a parameter that is set to an arbitrary initial value and then continuously updated through supervised learning.

종합하면, 입력층(11)은 입력받은 입력 벡터(X)에 제1 연결강도 행렬(WN×M)을 행렬곱 연산하여 얻어진 중간 연산 벡터(X)을 은닉층(12)에 전달할 수 있다.In summary, the input layer 11 can transmit the intermediate operation vector (X) obtained by matrix multiplying the first connection strength matrix (W N × M ) to the hidden layer 12.

은닉층(12)은, 입력층(11)으로부터 전달받은 중간 연산 벡터(X)에서 획득되는 특징 벡터(feature vector, F)에 은닉 노드들 각각에 대응하는 하나 이상의 연결 강도를 적용하여 출력 벡터(Y`)를 생성하고, 생성된 출력 벡터(Y`)를 출력층(13)에 전달할 수 있다. The hidden layer 12 applies one or more connection strengths corresponding to each hidden node to the feature vector (F) obtained from the intermediate operation vector (X) received from the input layer 11 to obtain an output vector (Y `) can be generated, and the generated output vector (Y`) can be transmitted to the output layer 13.

예를 들어, 은닉층(12)은, 중간 연산 벡터(X)로부터 아래 수학식 2를 만족하는 대각 행렬(diagonal matrix)인 특징 벡터(F)를 획득할 수 있다.For example, the hidden layer 12 may obtain a feature vector (F), which is a diagonal matrix that satisfies Equation 2 below, from the intermediate operation vector (X).

수학식 2에서, R는 대각 행렬인 특징 벡터(F)와 중간 연산 벡터(X) 사이에 수학식 2에 따른 관계를 가역적으로 만족시키는 행렬로서, 좌표변환행렬에 해당한다. 수학식 2에 따른 연산은 대각화 연산의 하나로 지칭될 수 있으며, 통상의 기술자에게 쉽게 이해될 수 있으므로 구체적인 설명은 생략한다.In Equation 2, R is a matrix that reversibly satisfies the relationship according to Equation 2 between the feature vector (F), which is a diagonal matrix, and the intermediate operation vector (X), and corresponds to a coordinate transformation matrix. The operation according to Equation 2 may be referred to as one of the diagonalization operations, and since it can be easily understood by those skilled in the art, detailed description will be omitted.

이때, 은닉 노드들 각각에 대응하는 하나 이상의 연결 강도값들은 M×Q의 크기를 갖는 제2 연결강도 행렬(UM×Q)로 표현할 수 있다. 즉, 제2 연결강도 행렬(UM×Q)은 M개의 차원으로 사상된 특징 벡터(F)를 다시 Q개의 차원으로 늘린다. Q는 M보다 10배 이상 충분히 큰 값으로 설정된다.At this time, one or more connection strength values corresponding to each of the hidden nodes can be expressed as a second connection strength matrix (U M×Q ) having a size of M×Q. That is, the second connection strength matrix (UM×Q) increases the feature vector (F) mapped into M dimensions back to Q dimensions. Q is set to a sufficiently large value, at least 10 times greater than M.

한편, 제2 연결강도 행렬(UM×Q)의 초기값은 임의의 값으로 설정된 후, 특징 벡터(F)와 제2 연결강도 행렬(UM×Q) 사이의 행렬곱 연산하여 생성된 출력 벡터(Y`)가 훈련 출력값인 훈련출력벡터(Y)가 되도록 지속적으로 갱신될 수 있다. 즉, 제2 연결강도 행렬(UM×Q)도 훈련 데이터를 지속적으로 지도학습함에 따라 갱신되는 파라미터일 수 있다.Meanwhile, the initial value of the second connection strength matrix (U M×Q ) is set to a random value, and then the output generated by matrix multiplication between the feature vector (F) and the second connection strength matrix (U M×Q ) The vector (Y') can be continuously updated to become the training output vector (Y), which is the training output value. That is, the second connection strength matrix (U M×Q ) may also be a parameter that is updated as training data is continuously supervised.

즉, 은닉층(12)은, 입력층(11)으로부터 전달받은 중간 연산 벡터(X)를 특징 벡터로 변환하고, 특징 벡터에 대하여 연결강도를 적용하여 출력 벡터(Y`)를 생성하므로, 마치 CNN(convolutional neural network)의 특징 추출을 담당하는 컨볼루셔널 레이어와 유사한 기능을 은닉층(12)에서 수행하도록 구성할 수 있다.In other words, the hidden layer 12 converts the intermediate operation vector ( The hidden layer 12 can be configured to perform a function similar to the convolutional layer responsible for feature extraction of a (convolutional neural network).

출력층(13)은, 은닉층(12)으로부터 전달받은 출력 벡터(Y`)에 활성화 함수를 적용함으로써 출력 벡터(Y`)에 대응하는 확률(p)을 결정하고, 결정된 확률(p)이 가장 높은 출력 벡터(Y`)를 출력할 수 있다. 활성화 함수는 다양한 범위를 가지는 값들을 0과 1 사이의 값으로 확대 또는 축소함으로써 확률로 변환하는 효과가 있다. 예를 들어, 활성화 함수는, ReLU 함수 또는 Softmax 함수일 수 있으나 이에 한정되는 것은 아니다.The output layer 13 determines the probability (p) corresponding to the output vector (Y') by applying an activation function to the output vector (Y') received from the hidden layer (12), and the determined probability (p) is the highest. An output vector (Y`) can be output. The activation function has the effect of converting values with various ranges into probabilities by expanding or reducing them to values between 0 and 1. For example, the activation function may be a ReLU function or a Softmax function, but is not limited thereto.

본 발명의 일 실시예에서 은닉층(12)은, 동일한 개수의 뉴런들을 가지며, 서로 다르고 순차적으로 연결된 복수의 은닉층들로 구성될 수 있다. 예를 들어, 은닉층(12)은 서로 다르고 순차적으로 연결된 제1 은닉층, 제2 은닉층, 제3 은닉층, 및 제4 은닉층으로 구성될 수 있다. 이때, 제1 내지 제4 은닉층은 선형 레이어(linear layer)일 수 있으며, 제1 내지 제4 은닉층들 중에서 적어도 하나는 밀집 레이어(dense layer)일 수 있다. 여기서 선형 레이어 또는 밀집 레이어의 지정은 Tensorflow에서 미리 정의된 함수를 통해 간단하게 설정될 수 있으므로 설명은 생략한다.In one embodiment of the present invention, the hidden layer 12 may have the same number of neurons and may be composed of a plurality of hidden layers that are different from each other and connected sequentially. For example, the hidden layer 12 may be composed of a first hidden layer, a second hidden layer, a third hidden layer, and a fourth hidden layer that are different from each other and connected sequentially. At this time, the first to fourth hidden layers may be linear layers, and at least one of the first to fourth hidden layers may be a dense layer. Here, the designation of a linear layer or dense layer can be simply set through a predefined function in Tensorflow, so description is omitted.

또한, 제1 내지 제4 은닉층들 중에서 적어도 하나는 은닉층들의 개수와 은닉층들 각각이 갖는 뉴런들의 수에 따라 결정되는 확률에 따라 드랍아웃(drop out)이 적용될 수 있다.Additionally, drop out may be applied to at least one of the first to fourth hidden layers according to a probability determined according to the number of hidden layers and the number of neurons each of the hidden layers has.

본 발명의 일 실시예에서, 드랍아웃이란, 해당 계층을 구성하는 뉴런들 중에서 확률에 따라 무작위로 선택된 적어도 일부의 뉴런들의 가중치를 0 또는 미리 정의된 상수로 설정함으로써 해당 일부의 뉴런들을 비활성화하거나 방해하도록 구성하는 것을 의미할 수 있다.In one embodiment of the present invention, dropout refers to deactivating or disturbing some neurons by setting the weight of at least some neurons randomly selected according to probability to 0 or a predefined constant among the neurons constituting the corresponding layer. It may mean configuring it to do so.

예를 들어, 제1 은닉층이 768개의 뉴런들로 구성되고, 확률(p)이 0.2인 경우, 768개의 뉴런들 중 무작위로 선택된 20%의 뉴런들(즉, 768/5 개의 뉴런들)에 대한 가중치가 0 또는 미리 정의된 상수로 설정될 수 있다.For example, if the first hidden layer consists of 768 neurons and the probability (p) is 0.2, the The weight can be set to 0 or a predefined constant.

예를 들어, 확률(pp)는 다음의 수학식 3과 같이 정의될 수 있다.For example, probability (pp) can be defined as Equation 3 below.

수학식 3에서 NRn은 제1 내지 제4 은닉층들에 포함된 뉴런들의 평균 개수일 수 있고, Nn은 드랍아웃을 적용할 은닉층에 포함된 뉴런들의 개수이고, HDn은 은닉층들의 전체 개수로서 제1 내지 제4 은닉층들로 구성될 경우 4일 수 있다. In Equation 3, NRn may be the average number of neurons included in the first to fourth hidden layers, Nn may be the number of neurons included in the hidden layer to which dropout is to be applied, and HDn may be the total number of hidden layers, i.e. the first to fourth hidden layers. If it consists of fourth hidden layers, it may be 4.

이처럼, 제1 내지 제4 은닉층들 중에서 적어도 하나에 대하여 드랍아웃을 적용할 경우, 은닉층들의 수와 각 뉴런들의 수가 증가함에 따라 발생할 수 있는 과적합 경향성을 보상하거나 상쇄할 수 있어 더 높은 예측 효과를 가져오는 데 도움이 될 수 있다. In this way, when dropout is applied to at least one of the first to fourth hidden layers, the overfitting tendency that may occur as the number of hidden layers and the number of each neuron increases can be compensated or offset, resulting in a higher prediction effect. It can help you get it.

일 실시예에서, 제1 내지 제4 은닉층들 중에서 제1 은닉층 및 제3 은닉층 내지 제4 은닉층 각각은 서로 동일한 뉴런들의 수로 구성될 수 있다. 예를 들어, 각각 768개의 뉴런들로 구성될 수 있다.In one embodiment, among the first to fourth hidden layers, each of the first hidden layer and the third to fourth hidden layers may be composed of the same number of neurons. For example, each may consist of 768 neurons.

이때, 제1 은닉층 뒤에 연결되는 제2 은닉층을 구성하는 뉴런들의 수는 다른 은닉층들 각각이 갖는 뉴런들의 수보다 적어도 4 배이상 클 수 있다. 제2 은닉층을 구성하는 뉴런들의 수를 다른 은닉층들 각각이 갖는 뉴런들의 수보다 기준치 이상 크게 설정할 경우, 인공 신경망(10)이 과적합되는 경향성이 줄어들 수 있는 장점이 있다.At this time, the number of neurons constituting the second hidden layer connected behind the first hidden layer may be at least four times larger than the number of neurons each of the other hidden layers has. If the number of neurons constituting the second hidden layer is set to be larger than the reference value than the number of neurons in each of the other hidden layers, there is an advantage in that the tendency of the artificial neural network 10 to overfit can be reduced.

도 6은 일 실시예에 따른 변환모사 학습데이터 생성부의 동작을 나타낸 대표 흐름도이다.Figure 6 is a representative flowchart showing the operation of the transformation simulation learning data generator according to an embodiment.

제1 인공신경망(10)이나 제2 인공신경망(20)의 지도학습을 위해서는 방대한 양의 사람이 작업하는 웹디자인 영상이 요구되고 이는 일반적으로 모두 구해 적용하기 매우 어려운 경우가 많다. 특히 웹디자인 작업은 매우 다양한 컴포넌트와 UI 템플릿을 대상으로 이루어지기 때문에, 서비스에 적용하고자 하는 컴포넌트 및 UI 템플릿과 동일한 컴포넌트와 UI 템플릿의 작업 영상으로 학습데이터를 만드는 것은 사실상 불가능하다.For supervised learning of the first artificial neural network (10) or the second artificial neural network (20), a vast amount of web design images of people working are required, and it is generally very difficult to obtain and apply them all. In particular, because web design work involves a wide variety of components and UI templates, it is virtually impossible to create learning data from work videos of the same components and UI templates as the components and UI templates you want to apply to the service.

이러한 문제를 해결하기 위하여 본 발명의 일 실시예에 따르면, 웹디자인 수행 영상으로부터 컴포넌트와 UI 템플릿을 식별한 후, 식별된 컴포넌트와 UI 템플릿과 유사한 유사 컴포넌트 및 유사 UI 템플릿을 미리 수집된 컴포넌트와 UI 템플릿에서 선택하여 훈련데이터를 구성함으로써, 훈련 데이터 수집의 어려움을 보완하는 방안을 제안한다.In order to solve this problem, according to an embodiment of the present invention, components and UI templates are identified from a web design performance video, and then similar components and similar UI templates similar to the identified components and UI templates are collected in advance with the components and UI. We propose a method to compensate for the difficulty in collecting training data by selecting from a template and configuring training data.

도 6을 참조하면, 변환모사 학습 데이터 생성부(104c)는, 웹디자인 수행영상을 수집할 수 있다(S100). 여기서 웹디자인 수행영상은 웹디자이너 또는 개발자가 컴포넌트 또는 컴포넌트를 포함하는 UI 템플릿을 대상으로 한 웹디자인 작업을 수행하는 과정을 촬영한 영상일 수 있다.Referring to FIG. 6, the conversion simulation learning data generator 104c can collect web design performance images (S100). Here, the web design performance video may be a video of a web designer or developer performing web design work on a component or a UI template including a component.

변환모사 학습 데이터 생성부(104c)는, 웹디자인 수행영상에서 복수의 키프레임들을 추출할 수 있다(S110). 여기서 키프레임들 각각은 컴포넌트나 UI 템플릿이 식별되는 이미지 프레임을 의미할 수 있다. The transformation simulation learning data generator 104c can extract a plurality of key frames from the web design performance video (S110). Here, each keyframe may mean an image frame in which a component or UI template is identified.

이를 위해, 별도로 CNN 기반의 인공신경망을 구성하고, 구성된 CNN 기반의 인공신경망이 컴포넌트나 UI 템플릿을 입력 이미지에서 식별할 수 있도록 지도학습시켜 사용할 수 있다. CNN 기반의 인공신경망은 이미지의 분류(classify)에 용이한 인공신경망으로 널리 알려져 있어 컴포넌트와 UI 템플릿을 식별하도록 학습시키는 것이 가능하다.For this purpose, a separate CNN-based artificial neural network can be constructed and used by supervised learning so that the constructed CNN-based artificial neural network can identify components or UI templates from the input image. CNN-based artificial neural networks are widely known as artificial neural networks that are easy to classify images, and can be trained to identify components and UI templates.

예를 들어, CNN 기반의 인공신경망은 LeNet, AlexNet, ZFNet, VGGNET, GoogLeNet, ResNet, DensNet 등의 알려진 인공신경망 구조를 통상의 기술자가 용이하게 입수하여 사용할 수 있다.For example, a CNN-based artificial neural network can be easily obtained and used by a person skilled in the art with known artificial neural network structures such as LeNet, AlexNet, ZFNet, VGGNET, GoogLeNet, ResNet, and DensNet.

변환모사 학습 데이터 생성부(104c)는, 추출된 키프레임들에서 컴포넌트와 UI 템플릿을 식별할 수 있다(S120). The transformation simulation learning data generator 104c can identify components and UI templates from the extracted keyframes (S120).

구체적으로, 단계 S120에서 변환모사 학습 데이터 생성부(104c)는, UI 템플릿으로 식별된 영역에서 이미지의 크기, 이미지의 종류(즉, 이미지에 들어있는 객체, 공지된 객체 식별 알고리즘을 사용할 수 있음.), 삽입된 컴포넌트의 크기, 컴포넌트의 형식, 및 컴포넌트의 기능을 포함하는 제1 식별 정보를 식별할 수 있다. Specifically, in step S120, the transformation simulation learning data generator 104c may use the size of the image, the type of the image (i.e., the object contained in the image, and a known object identification algorithm) in the area identified by the UI template. ), first identification information including the size of the inserted component, the format of the component, and the function of the component can be identified.

여기서 컴포넌트 기능은 컴포넌트로 식별된 영역에 포함된 텍스트를 미리 지정된 컴포넌트 기능 사전에 저장된 텍스트들과 대조하는 방식으로 컴포넌트 기능을 식별할 수 있다. 컴포넌트 기능 사전은 컴포넌트의 기능에 따라 해당 컴포넌트에 대표적으로 삽입되는 문구가 저장된 데이터일 수 있다.Here, the component function can be identified by comparing the text included in the area identified as the component with texts stored in a pre-designated component function dictionary. The component function dictionary may be data storing phrases typically inserted into the component according to the function of the component.

단계 S120에서 변환모사 학습 데이터 생성부(104c)는, 컴포넌트로 식별된 영역에서 폰트 종류, 컴포넌트의 크기, 컴포넌트의 기능 및 컴포넌트의 색상을 포함하는 제2 식별 정보를 식별할 수 있다. In step S120, the conversion simulation learning data generator 104c may identify second identification information including the font type, size of the component, function of the component, and color of the component in the area identified as the component.

변환모사 학습 데이터 생성부(104c)는, 추출된 키프레임들을 서로 동일한 UI 템플릿들이 식별된 키프레임들로 분류하여 제1 그룹들을 생성하고, 추출된 키프레임들을 서로 동일한 컴포넌트들이 식별된 키프레임들로 분류하여 제2 그룹들을 생성할 수 있다(S130).The transformation simulation learning data generator 104c classifies the extracted keyframes into keyframes in which identical UI templates are identified to create first groups, and divides the extracted keyframes into keyframes in which identical components are identified. Second groups can be created by classification (S130).

단계 S130에서 변환모사 학습 데이터 생성부(104c)는, 식별된 UI 템플릿들 사이에 제1 식별 정보들을 서로 비교하고, 제1 식별 정보들 사이에 차이가 미리 설정된 임계차이 이내인 경우 동일한 UI 템플릿으로 결정할 수 있다.In step S130, the conversion simulation learning data generator 104c compares the first identification information between the identified UI templates, and when the difference between the first identification information is within a preset threshold difference, the conversion simulation learning data generator 104c compares the first identification information with the same UI template. You can decide.

같은 방식으로, 단계 S130에서 변환모사 학습 데이터 생성부(104c)는, 식별된 컴포넌트들 사이에 제2 식별 정보들을 서로 비교하고, 제2 식별 정보들 사이에 차이가 미리 설정된 임계차이 이내인 경우 동일한 컴포넌트로 결정할 수 있다.In the same way, in step S130, the transformation simulation learning data generating unit 104c compares the second identification information between the identified components, and if the difference between the second identification information is within a preset threshold difference, the conversion simulation learning data generating unit 104c This can be decided by component.

또한, 단계 S130에서 변환모사 학습 데이터 생성부(104c)는, 생성된 제1 그룹들과 제2 그룹들 중에서 각 그룹을 구성하는 키프레임들의 수가 미리 설정된 임계갯수 이하인 그룹들을 필터링(제거)할 수 있다. 이 과정을 통해 충분한 이미지 프레임 개수가 확보되지 않은 그룹은 제외시킴으로써 웹디자인의 작업 변화량 확인에 어려움이 있는 이미지들을 제거할 수 있다.In addition, in step S130, the transformation simulation learning data generator 104c may filter (remove) groups in which the number of key frames constituting each group is less than or equal to a preset threshold among the created first groups and second groups. there is. Through this process, it is possible to remove images that make it difficult to check the amount of change in web design work by excluding groups that do not have a sufficient number of image frames.

다음으로, 변환모사 학습 데이터 생성부(104c)는, 제1 그룹들 각각에서 UI 템플릿의 작업 변화량을 추출하고, 제2 그룹들 각각에서 컴포넌트의 작업 변화량을 추출할 수 있다. 여기서 UI 템플릿의 작업 변화량은 제1 입력 데이터를 구성하기 위한 이미지 크기 변량, 이미지 배치 위치 변량, 이미지 종류 변량, 컴포넌트 크기 변량, 컴포넌트 배치위치 변량, 컴포넌트 형식 변량을 포함한다.Next, the transformation simulation learning data generator 104c may extract the work change amount of the UI template from each of the first groups and the work change amount of the component from each of the second groups. Here, the work variation of the UI template includes image size variation, image placement position variation, image type variation, component size variation, component placement position variation, and component format variation for configuring the first input data.

같은 방식으로 컴포넌트의 작업 변화량은 제2 입력 데이터를 구성하기 위한 폰트 종류, 컴포넌트 크기 변량, 컴포넌트 색상을 포함한다.In the same way, the work variation of the component includes the font type, component size variation, and component color for configuring the second input data.

변환모사 학습 데이터 생성부(104c)는, 추출된 UI 템플릿의 작업 변화량을 해당 UI 템플릿의 유사 UI 템플릿과 커플링시켜 제1 학습데이터를 생성하고, 추출된 컴포넌트의 작업 변화량을 해당 컴포넌트의 유사 컴포넌트와 커플링시켜 제2 학습 데이터를 생성할 수 있다.The conversion simulation learning data generator 104c generates first learning data by coupling the work change amount of the extracted UI template with the similar UI template of the corresponding UI template, and converts the work change amount of the extracted component to the similar component of the corresponding component. Second learning data can be generated by coupling with .

여기서 제1 학습 데이터는 제1 인공신경망(10)을 지도학습시키는 데 활용하고, 제2 학습 데이터는 제2 인공신경망(20)을 지도학습시키는 데 활용된다.Here, the first learning data is used for supervised learning of the first artificial neural network 10, and the second learning data is used for supervised learning of the second artificial neural network 20.

여기서, 유사 UI 템플릿은, 웹디자인 수행 영상에서 식별된 특정 UI 템플릿 및 미리 수집되어 저장된 각각의 UI 템플릿들과의 관계에서 하기 수학식 4에 따른 템플릿 관련도를 산출하고, 산출된 템플릿 관련도가 저장된 UI 템플릿들 중에서 가장 작은 UI 템플릿일 수 있다.Here, the similar UI template calculates the template relatedness according to Equation 4 below in the relationship with the specific UI template identified in the web design performance video and each UI template collected and stored in advance, and the calculated template relatedness is It may be the smallest UI template among the saved UI templates.

TR은 템플릿 관련도이고, m과 k는 각각 비교되는 두개의 UI템플릿들 각각에 삽입된 이미지의 총 갯수들 중에서 큰 값과 작은 값이고, IS는 웹디자인 수행 영상에서 식별된 특정 UI 템플릿에 포함된 이미지의 크기이고, ISr은 미리 저장된 UI템플릿에 포함된 이미지의 크기이고, EQ는 이미지의 종류가 동일하면 1이고 다르면 0을 지시하는 값이고, z2와 z1은 각각 비교되는 두개의 UI템플릿들 각각에 삽입된 컴포넌트들의 총 갯수들 중에서 큰 값과 작은 값이고, CPS는 특정 UI 템플릿에 삽입된 컴포넌트의 크기이고, CPSr은 미리 저장된 UI 템플릿에 삽입된 컴포넌트의 크기이고, EQn은 컴포넌트의 형식과 컴포넌트의 기능이 동일하면 1이고 다르면 0을 지시하는 값일 수 있다. L1과 L2는 각각 UI 템플릿에 포함된 이미지와 컴포넌트 각각에 부여된 가중치로서, 관리자가 중요시하는 비중에 따라 설정 가능하며, L1과 L2의 합은 1이고, L2가 L1보다 적어도 두배 이상 큰값으로 설정되는 것이 바람직할 수 있다.TR is the template relevance, m and k are the large and small values of the total number of images inserted into each of the two UI templates being compared, and IS is included in the specific UI template identified in the web design performance video. is the size of the image, ISr is the size of the image included in the pre-saved UI template, EQ is a value indicating 1 if the image type is the same and 0 otherwise, and z2 and z1 are the two UI templates being compared, respectively. Among the total number of components inserted into each, the large and small values are, CPS is the size of the component inserted into a specific UI template, CPSr is the size of the component inserted into the pre-stored UI template, and EQn is the format of the component and If the component functions are the same, the value may be 1, and if they are different, the value may be 0. L1 and L2 are weights assigned to each image and component included in the UI template, and can be set according to the importance given to the administrator. The sum of L1 and L2 is 1, and L2 is set to a value that is at least twice as large as L1. It may be desirable to be

여기서, 유사 컴포넌트는, 웹디자인 수행 영상에서 식별된 특정 컴포넌트와 미리 수집되어 저장된 컴포넌트들과의 관계에서 하기 수학식 5에 따른 컴포넌트 관련도를 산출하고, 산출된 컴포넌트 관련도가 미리 저장된 컴포넌트들 중에서 가장 작은 컴포넌트일 수 있다.Here, the similar component calculates the component relatedness according to Equation 5 below from the relationship between the specific component identified in the web design performance video and the components collected and stored in advance, and the calculated component relatedness is selected among the components for which the component is pre-stored. It can be the smallest component.

T는 특정 컴포넌트의 폰트 종류와 미리 저장된 컴포넌트의 폰트 종류가 같으면 미리 설정된 제1값(예를 들어, 0.8)을 갖고 다르면 미리 설정된 제2 값(예를 들어 1.2)를 갖는 상수이고, CoPS는 특정 컴포넌트의 크기이고, CoPSr은 미리 저장된 컴포넌트의 크기이고, EF는 비교되는 2개의 컴포넌트의 기능이 동일한 경우 1이고 다르면 0을 지시하는 값이고, sum(dr, dg, db)는 비교되는 2개의 컴포넌트들의 크기를 서로 동일하게 리사이징하고(예를 들어 둘중 작은 사이즈로 리사이징), 2개의 컴포너트들 각각을 구성하는 색상값들을 동일한 위치의 색상값끼리 차분하고, 차분한 색상값들의 레드 색상 성분(dr), 그린 색상 성분(dg), 블루 색상 성분(db)을 모두 더한 값이다.T is a constant that has a preset first value (e.g., 0.8) if the font type of a specific component and the font type of a pre-stored component are the same and a preset second value (e.g., 1.2) if they are different, and CoPS is a specific This is the size of the component, CoPSr is the size of the pre-stored component, EF is a value indicating 1 if the functions of the two components being compared are the same and 0 if they are different, and sum(dr, dg, db) is the value of the two components being compared. The sizes of the components are resized to be the same (for example, resized to the smaller of the two), the color values that make up each of the two components are subdued between the color values at the same location, and the red color component (dr) of the subdued color values is It is the sum of both the green color component (dg) and the blue color component (db).

이처럼 본 발명의 일 실시예에 따르면, 반드시 웹빌더에서 제공하는 컴포넌트 및 UI 템플릿과 동일한 웹디자인 영상을 수집하지 않더라도 미리 정해진 조건에 따라 가장 유사한 컴포넌트와 UI 템플릿의 훈련 데이터로 수집하여 활용할 수 있어, 훈련 데이터를 수집하기 용이하고 서비스를 쉽게 정착시킬 수 있다.In this way, according to one embodiment of the present invention, even if the same web design images as the components and UI templates provided by the web builder are not collected, they can be collected and used as training data for the most similar components and UI templates according to predetermined conditions, It is easy to collect training data and easily establish the service.

서비스 출시 이후에는 훈련 데이터를 직접 웹빌더를 이용하는 사용자 단말(200)의 웹디자인 조작 과정을 직접 모니터링하여 수집하는 방식으로 추가 훈련이 가능하며, 이를 통해 앞서 초기 단계에서 훈련 데이터를 유사 데이터를 사용함에 따라 발생하는 오차를 순차적으로 보정할 수 있다.After the service is launched, additional training is possible by collecting training data by directly monitoring the web design operation process of the user terminal 200 using the web builder. This allows training data to be used in the initial stage using similar data. Errors that occur can be sequentially corrected.

도 7은 일 실시예에 따른 AI 기반 웹빌더를 제공하기 위한 운영서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.Figure 7 is a diagram illustrating the hardware configuration of an operation server for providing an AI-based web builder according to an embodiment.

도 7을 참조하면, AI 기반 웹빌더를 제공하기 위한 운영서버(100)는, 적어도 하나의 프로세서(110), 및 적어도 하나의 프로세서(110)가 적어도 하나의 동작을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(120)를 포함할 수 있다.Referring to FIG. 7, the operation server 100 for providing an AI-based web builder includes at least one processor 110, and instructions that instruct the at least one processor 110 to perform at least one operation ( It may include a memory 120 that stores instructions.

여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.Here, the at least one processor 110 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. You can.

메모리(120)는 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중 하나일 수 있고, The memory 120 may be comprised of at least one of a volatile storage medium and a non-volatile storage medium. For example, memory 120 may be one of read only memory (ROM) and random access memory (RAM),

운영서버(100)는, 상기 적어도 하나의 동작을 수행하기 위한 입력 데이터, 중간처리 임시 데이터, 출력 데이터 등을 저장하기 위한 저장 장치(160)를 더 포함할 수 있다. 예를 들어, 저장 장치(160)는, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 또는 각종 메모리 카드(예를 들어, micro SD 카드) 등일 수 있다.The operation server 100 may further include a storage device 160 for storing input data, intermediate processing temporary data, output data, etc. for performing the at least one operation. For example, the storage device 160 may be a flash memory, a hard disk drive (HDD), a solid state drive (SSD), or various memory cards (eg, micro SD cards).

또한, AI 기반 웹빌더를 제공하기 위한 운영서버(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있다. 또한, AI 기반 웹빌더를 제공하기 위한 운영서버(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. AI 기반 웹빌더를 제공하기 위한 운영서버(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.Additionally, the operation server 100 for providing an AI-based web builder may include a transceiver 130 that communicates through a wireless network. In addition, the operation server 100 for providing an AI-based web builder may further include an input interface device 140, an output interface device 150, a storage device 160, etc. Each component included in the operation server 100 for providing an AI-based web builder is connected by a bus 170 and can communicate with each other.

AI 기반 웹빌더를 제공하기 위한 운영서버(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.Examples of the operating server 100 for providing an AI-based web builder include a communication-capable desktop computer, a laptop computer, a laptop, a smart phone, and a tablet PC. PC, mobile phone, smart watch, smart glass, e-book reader, PMP (portable multimedia player), portable game console, navigation device, digital camera ), DMB (digital multimedia broadcasting) player, digital audio recorder, digital audio player, digital video recorder, digital video player, PDA (Personal Digital) Assistant), etc.

도 8은 본 발명의 일 실시예에 따른 통신 과정에서 적용될 수 있는 무선 통신 시스템을 나타낸 도면이다. 도 9는 도 8에 따른 무선 통신 시스템에서 기지국을 나타낸 도면이다. 도 10은 도 8에 따른 무선 통신 시스템에서 단말을 나타낸 도면이다. 도 11은 도 8에 따른 무선 통신 시스템에서 통신 인터페이스를 나타낸 도면이다.Figure 8 is a diagram showing a wireless communication system that can be applied in a communication process according to an embodiment of the present invention. FIG. 9 is a diagram showing a base station in the wireless communication system according to FIG. 8. FIG. 10 is a diagram showing a terminal in the wireless communication system according to FIG. 8. FIG. 11 is a diagram showing a communication interface in the wireless communication system according to FIG. 8.

이하에서는 본 발명에 따라 운영 서버(100)와 단말들(200, 300) 사이의 통신을 지원하는 무선 통신 네트워크 시스템의 일례를 구체적으로 예를 들어 설명한다. 다음 설명에서, 제1 노드(장치)는 앵커/도너 노드 또는 앵커/도너 노드의 CU(centralized unit) 일 수 있고, 제2 노드(장치)는 앵커/도너 노드 또는 릴레이 노드의 DU(distributed unit) 일 수 있다.Below, an example of a wireless communication network system supporting communication between the operation server 100 and the terminals 200 and 300 according to the present invention will be described in detail as an example. In the following description, the first node (device) may be an anchor/donor node or a centralized unit (CU) of an anchor/donor node, and the second node (device) may be a distributed unit (DU) of an anchor/donor node or relay node. It can be.

무선 통신 시스템에서 무선 채널을 사용하는 노드의 일부로 기지국(base station, BS), 단말, 서버 등이 포함될 수 있다.In a wireless communication system, a base station (BS), terminal, server, etc. may be included as part of the nodes that use a wireless channel.

기지국은 단말 및 단말에 무선 액세스를 제공하는 네트워크 인프라이다. 기지국은 신호가 전송될 수 있는 거리에 따라 소정의 지리적 영역으로 정의된 커버리지를 갖는다.A base station is a network infrastructure that provides wireless access to terminals and terminals. A base station has a coverage area defined as a geographic area depending on the distance over which signals can be transmitted.

기지국은 "기지국"과 마찬가지로 "액세스 포인트(access point, AP)", "이노드비(enodeb, eNB)", "5 세대(5th generation, 5G) 노드", "무선 포인트(wireless point)", "송/수신 포인트(transmission/reception point, TRP)" 지칭될 수 있다.A base station, like a "base station", can be referred to as an "access point (AP)", "enodeb (eNB)", "5th generation (5G) node", "wireless point", " It may be referred to as a “transmission/reception point (TRP)”.

기지국, 단말 및 단말은 밀리미터 파(millimeter wave, mmWave) 대역(예: 28GHz, 30GHz, 38GHz, 60GHz)으로 무선 신호를 송수신할 수 있다. 이때, 채널 이득 향상을 위해 기지국, 단말 및 단말은 빔포밍을 수행할 수 있다. 빔포밍은 송신 빔포밍 및 수신 빔포밍을 포함할 수 있다. 즉, 기지국, 단말 및 단말은 송신 신호와 수신 신호에 지향성을 부여할 수 있다. 이를 위해 기지국, 단말 및 단말은 빔 탐색 절차 또는 빔 관리 절차를 통해 서빙 빔을 선택할 수 있다. 그 후, 통신은 서빙 빔을 운반하는 자원과 준 동일위치(quasi co-located) 관계에 있는 자원을 사용하여 수행될 수 있다.Base stations, terminals, and terminals can transmit and receive wireless signals in the millimeter wave (mmWave) band (e.g., 28 GHz, 30 GHz, 38 GHz, 60 GHz). At this time, the base station, terminal, and terminal may perform beamforming to improve channel gain. Beamforming may include transmit beamforming and receive beamforming. That is, the base station, terminal, and terminal can give directivity to the transmitted signal and the received signal. To this end, the base station, terminal, and terminal can select a serving beam through a beam search procedure or beam management procedure. Thereafter, communication may be performed using a resource that is in a quasi co-located relationship with the resource carrying the serving beam.

첫 번째 안테나 포트 및 두 번째 안테나 포트는 첫 번째 안테나 포트의 심볼이 전달되는 채널의 대규모 속성이 두 번째 안테나 포트의 심볼이 전달되는 채널에서 유추될 수 있는 경우 준 동일위치 위치에 있는 것으로 간주된다. 대규모 속성은 지연 확산, 도플러 확산, 도플러 시프트, 평균 이득, 평균 지연 및 공간 Rx 파라미터 중 하나 이상을 포함할 수 있다.A first antenna port and a second antenna port are considered to be quasi-colocated if the large-scale properties of the channel on which the symbols of the first antenna port are carried can be inferred from the channel on which the symbols of the second antenna port are carried. Large-scale properties may include one or more of delay spread, Doppler spread, Doppler shift, average gain, average delay, and spatial Rx parameters.

이하에서는 상술한 무선 통신 시스템에서 기지국을 예시한다. 이하에서 사용되는 "-모듈(module)", "-부(unit)"또는 "-er"라는 용어는 적어도 하나의 기능 또는 동작을 처리하는 유닛을 의미할 수 있으며, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.Below, a base station in the above-described wireless communication system is exemplified. As used hereinafter, the terms "-module", "-unit", or "-er" may mean a unit that processes at least one function or operation, and may mean hardware, software, or hardware and software. It can be implemented as a combination of.

기지국은 무선 통신 인터페이스, 백홀 통신 인터페이스, 저장부(storage unit 및 컨트롤러을 포함할 수 있다.The base station may include a wireless communication interface, a backhaul communication interface, a storage unit, and a controller.

무선 통신 인터페이스는 무선 채널을 통해 신호를 송수신하는 기능을 수행한다. 예를 들어, 무선 통신 인터페이스는 시스템의 물리 계층 표준에 따라 베이스 밴드 신호와 비트 스트림 간의 변환 기능을 수행할 수 있다. 예를 들어, 데이터 전송에서, 무선 통신 인터페이스은 전송 비트 스트림을 인코딩 및 변조하여 복합 심볼을 생성한다. 또한, 데이터 수신 시 무선 통신 인터페이스는 베이스 밴드 신호를 복조 및 디코딩하여 수신 비트 스트림을 재구성한다.The wireless communication interface performs the function of transmitting and receiving signals through a wireless channel. For example, a wireless communication interface may perform a conversion function between a baseband signal and a bit stream according to the system's physical layer standard. For example, in data transmission, a wireless communication interface encodes and modulates a transmitted bit stream to generate complex symbols. Additionally, when receiving data, the wireless communication interface demodulates and decodes the baseband signal to reconstruct the received bit stream.

무선 통신 인터페이스는 무선 채널을 통해 신호를 송수신하는 기능을 수행한다. 예를 들어, 무선 통신 인터페이스은 시스템의 물리 계층 표준에 따라 베이스 밴드 신호와 비트 스트림 간의 변환 기능을 수행할 수 있다. 예를 들어, 데이터 전송에서, 무선 통신 인터페이스은 전송 비트 스트림을 인코딩 및 변조하여 복합 심볼을 생성한다. 또한, 데이터 수신 시 무선 통신 인터페이스은 베이스 밴드 신호를 복조 및 디코딩하여 수신 비트 스트림을 재구성한다.The wireless communication interface performs the function of transmitting and receiving signals through a wireless channel. For example, a wireless communication interface may perform a conversion function between a baseband signal and a bit stream according to the system's physical layer standard. For example, in data transmission, a wireless communication interface encodes and modulates a transmitted bit stream to generate complex symbols. Additionally, upon receiving data, the wireless communication interface demodulates and decodes the baseband signal to reconstruct the received bit stream.

또한, 무선 통신 인터페이스는 베이스 대역 신호를 RF(Radio Frequency) 대역 신호로 상향 변환하고, 변환된 신호를 안테나를 통해 전송한 후 안테나를 통해 수신된 RF 대역 신호를 베이스 대역 신호로 하향 변환한다. 이를 위해, 무선 통신 인터페이스은 송신 필터(transmission filter), 수신 필터(reception filter), 증폭기(amplifier), 믹서(mixer), 발진기(oscillator), 디지털-아날로그 컨버터(digital-to-analog convertor, DAC), 아날로그-디지털 컨버터(analog-to-digital convertor, ADC) 등을 포함할 수 있다. 또한, 무선 통신 인터페이스는 복수의 송수신 경로를 포함할 수 있다. 또한, 무선 통신 인터페이스는 복수의 안테나 요소를 포함하는 적어도 하나의 안테나 어레이를 포함할 수 있다.Additionally, the wireless communication interface up-converts the base band signal into an RF (Radio Frequency) band signal, transmits the converted signal through an antenna, and then down-converts the RF band signal received through the antenna into a base band signal. For this purpose, the wireless communication interface includes a transmission filter, a reception filter, an amplifier, a mixer, an oscillator, a digital-to-analog convertor (DAC), It may include an analog-to-digital convertor (ADC), etc. Additionally, the wireless communication interface may include a plurality of transmission and reception paths. Additionally, the wireless communication interface may include at least one antenna array including a plurality of antenna elements.

하드웨어 측면에서 무선 통신 인터페이스는 디지털 유닛과 아날로그 유닛을 포함할 수 있고, 아날로그 유닛은 동작 전력, 동작 주파수 등에 따라 복수의 서브 유닛을 포함할 수 있다. 디지털 유닛은 적어도 하나의 프로세서(예를 들어, 디지털 신호 프로세서(digital signal processor, DSP))로 구현될 수 있다.In terms of hardware, a wireless communication interface may include a digital unit and an analog unit, and the analog unit may include a plurality of subunits depending on operating power, operating frequency, etc. The digital unit may be implemented with at least one processor (eg, digital signal processor (DSP)).

무선 통신 인터페이스는 전술한 바와 같이 신호를 송수신한다. 따라서, 무선 통신 인터페이스는 "송신기(transmitter)", "수신기(receiver)"또는 "트랜시버(transceiver)"로 지칭될 수 있다. 또한, 이하의 설명에서 무선 채널을 통해 수행되는 송수신은 전술한 바와 같이 무선 통신 인터페이스에서 수행되는 처리를 포함하는 의미로 사용될 수 있다.The wireless communication interface transmits and receives signals as described above. Accordingly, a wireless communication interface may be referred to as a “transmitter,” “receiver,” or “transceiver.” Additionally, in the following description, transmission and reception performed through a wireless channel may be used to include processing performed in a wireless communication interface as described above.

백홀 통신 인터페이스는 네트워크 내의 다른 노드와 통신을 수행하기위한 인터페이스를 제공한다. 즉, 백홀 통신 인터페이스는 다른 노드로 전송되는 비트 스트림을 변환하고, 예를 들어, 다른 액세스 노드, 다른 기지국, 상위 노드 또는 기지국으로부터의 코어 네트워크는 물리적 신호로, 다른 노드로부터 수신된 물리적 신호를 비트 스트림으로 변환한다.The backhaul communication interface provides an interface to communicate with other nodes within the network. That is, the backhaul communication interface converts the bit stream transmitted to other nodes, for example, other access nodes, other base stations, upper nodes or the core network from the base station into physical signals, and converts the physical signals received from other nodes into bits. Convert to stream.

저장부는 기본 프로그램, 어플리케이션, 기지국의 동작을 위한 설정 정보 등의 데이터를 저장한다. 저장부는 휘발성 메모리, 비 휘발성 메모리 또는 휘발성 메모리와 비 휘발성 메모리의 조합을 포함할 수 있다.The storage unit stores data such as basic programs, applications, and setting information for operation of the base station. The storage unit may include volatile memory, non-volatile memory, or a combination of volatile memory and non-volatile memory.

컨트롤러는 기지국의 전반적인 동작을 제어한다. 예를 들어, 컨트롤러는 무선 통신 인터페이스 또는 백홀 통신 인터페이스를 통해 신호를 송수신한다. 또한 컨트롤러는 저장부에 데이터를 기록하고 기록된 데이터를 읽는다. 컨트롤러는 통신 규격에서 요구하는 프로토콜 스택의 기능을 수행할 수 있다. 다른 구현에 따르면, 프로토콜 스택은 무선 통신 인터페이스에 포함될 수 있다. 이를 위해 컨트롤러는 적어도 하나의 프로세서를 포함할 수 있다.The controller controls the overall operation of the base station. For example, the controller transmits and receives signals through a wireless communication interface or a backhaul communication interface. Additionally, the controller records data in the storage and reads the recorded data. The controller can perform the protocol stack functions required by communication standards. According to another implementation, the protocol stack may be included in the wireless communication interface. For this purpose, the controller may include at least one processor.

일 실시 예에 따르면 컨트롤러는 본 발명의 실시 예에 따른 동작을 수행하도록 기지국을 제어할 수 있다.According to one embodiment, the controller may control the base station to perform operations according to the embodiment of the present invention.

다양한 실시 예에 따르면, 무선 통신 시스템의 도너 노드는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 동작 가능하게 결합된 트랜시버를 포함하고, 상기 릴레이 노드에 액세스하는 단말에 대한 복수의 라디오 베어러에 관한 상기 도너 노드와 관련된 제1 정보를 포함하는 제1 메시지를 릴레이 노드로 전송하도록 구성되고; 상기 릴레이 노드로부터 상기 단말에 대한 복수의 라디오 베어러에 관한 상기 릴레이 노드와 관련된 제2 정보를 포함하는 제2 메시지를 수신하고; 단말에 대한 데이터를 릴레이 노드로 전송할 수 있다. 데이터는 제1 정보 및 제2 정보에 기초하여 복수의 라디오 베어러를 통해 단말로 전송될 수 있다.According to various embodiments, a donor node of a wireless communication system includes at least one processor, a transceiver operably coupled to the at least one processor, and a plurality of radio bearers for a terminal accessing the relay node. configured to transmit to a relay node a first message containing first information related to the donor node regarding; receive a second message from the relay node containing second information related to the relay node regarding a plurality of radio bearers for the terminal; Data about the terminal can be transmitted to the relay node. Data may be transmitted to the terminal through a plurality of radio bearers based on the first information and the second information.

다양한 실시 예에 따르면, 복수의 라디오 베어러 중 라디오 베어러는 복수의 라디오 베어러를 통합시킬 수 있다. 적어도 하나의 프로세서는 또한 릴레이 노드에 액세스하는 단말에 대한 라디오 베어러 및 라디오 베어러에 의해 통합된 다중 라디오 베어러를 결정하도록 구성되고; 또는 릴레이 노드에 액세스하는 단말에 대한 라디오 베어러를 결정할 수 있다.According to various embodiments, a radio bearer among a plurality of radio bearers may integrate a plurality of radio bearers. The at least one processor is further configured to determine a radio bearer for a terminal accessing the relay node and multiple radio bearers integrated by the radio bearer; Alternatively, a radio bearer for a terminal accessing the relay node can be determined.

다양한 실시 예에 따르면, 제1 메시지는 다음 중 하나 이상을 포함할 수 있다: 릴레이 노드에 액세스하는 터미널의 식별; 릴레이 노드에 접속하는 단말의 종류를 나타내는 표시 정보; 릴레이 노드에 접속하는 단말의 라디오 베어러에 대한 정보; 릴레이 노드에 액세스하는 단말에 의해 전달된 라디오 베어러에 대한 정보; 도너 노드와 릴레이 노드 사이의 라디오 베어러에 대해 설정된 터널에 대한 정보; 통합된 다중 라디오 베어러에 대한 정보; 라디오 베어러 매핑 정보; 도너 노드 측면의 주소에 대한 정보; 릴레이 노드 측의 주소에 대한 정보; 릴레이 노드에 접속하는 단말의 라디오 베어러에 대응하는 표시 정보; 릴레이 노드에 액세스하는 단말에 대해 새로운 주소를 라디오 베어러에 할당하도록 릴레이 노드를 나타내는 표시 정보; 릴레이 노드에 접속하는 단말의 라디오 베어러의 데이터를 전송하는 릴레이 노드가 사용할 수 없는 주소 정보 목록; 및 보안 구성과 관련된 정보.According to various embodiments, the first message may include one or more of the following: identification of the terminal accessing the relay node; Display information indicating the type of terminal connecting to the relay node; Information about the radio bearer of the terminal connecting to the relay node; Information about the radio bearer carried by the terminal accessing the relay node; Information about the tunnel established for the radio bearer between the donor node and the relay node; Information on integrated multi-radio bearers; radio bearer mapping information; Information about the address on the donor node side; Information about the address on the relay node side; Display information corresponding to the radio bearer of the terminal connecting to the relay node; Indication information indicating the relay node to allocate a new address to a radio bearer for a terminal accessing the relay node; A list of address information that cannot be used by the relay node transmitting data of the radio bearer of the terminal connecting to the relay node; and information related to security configuration.

다양한 실시 예에 따르면, 제2 메시지는 다음 중 하나 이상을 포함할 수 있다: 릴레이 노드에 액세스하는 터미널의 식별; 릴레이 노드에 의해 승인된 라디오 베어러에 대한 정보; 릴레이 노드에 의해 승인되지 않은 라디오 베어러에 대한 정보; 릴레이 노드에 의해 부분적으로 승인된 라디오 베어러에 대한 정보; 라디오 베어러 매핑 정보; 릴레이 노드가 생성한 릴레이 노드에 접속하는 단말의 구성 정보; 릴레이 노드 측의 주소에 대한 정보; 및 보안 구성과 관련된 정보.According to various embodiments, the second message may include one or more of the following: identification of the terminal accessing the relay node; Information about radio bearers approved by the relay node; Information about radio bearers not acknowledged by the relay node; Information about radio bearers partially accepted by the relay node; radio bearer mapping information; Configuration information of a terminal connecting to the relay node created by the relay node; Information about the address on the relay node side; and information related to security configuration.

다양한 실시 예에 따르면, 제2 메시지는 통합된 다중 라디오 베어러에 대한 정보를 더 포함할 수 있다.According to various embodiments, the second message may further include information about integrated multiple radio bearers.

다양한 실시 예에 따르면, 도너 노드는 도너 노드의 중앙 유닛을 포함하고, 릴레이 노드는 도너 노드의 분산 유닛을 포함할 수 있다.According to various embodiments, the donor node may include a central unit of the donor node, and the relay node may include a distributed unit of the donor node.

다양한 실시 예에 따르면, 무선 통신 시스템의 릴레이 노드는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 동작 가능하게 결합된 트랜시버를 포함하고, 도너 노드로부터, 릴레이 노드에 액세스하는 단말에 대한 복수의 라디오 베어러에 관한 도너 노드와 관련된 제1 정보를 포함하는 제1 메시지를 수신하도록 구성되고; 단말에 대한 복수의 라디오 베어러에 관한 릴레이 노드와 관련된 제2 정보를 포함하는 제2 메시지를 도너 노드로 전송하고; 도너 노드로부터 단말기에 대한 데이터를 수신할 수 있다. 데이터는 제1 정보 및 제2 정보에 기초하여 복수의 라디오 베어러를 통해 단말로 전송될 수 있다.According to various embodiments, a relay node in a wireless communication system includes at least one processor, includes a transceiver operably coupled to the at least one processor, and transmits, from a donor node, a plurality of terminals accessing the relay node. configured to receive a first message containing first information related to a donor node regarding a radio bearer of; transmitting a second message containing second information related to a relay node regarding a plurality of radio bearers for the terminal to the donor node; Data about the terminal can be received from the donor node. Data may be transmitted to the terminal through a plurality of radio bearers based on the first information and the second information.

다양한 실시 예에 따르면, 복수의 라디오 베어러 중 라디오 베어러는 복수의 라디오 베어러를 통합시킬 수 있다. 적어도 하나의 프로세서는 또한 릴레이 노드에 액세스하는 단말에 대한 라디오 베어러 및 라디오 베어러에 의해 통합된 다중 라디오 베어러를 결정하도록 구성되고; 또는 라디오 베어러에 의해 통합된 다중 라디오 베어러를 결정할 수 있다.According to various embodiments, a radio bearer among a plurality of radio bearers may integrate a plurality of radio bearers. The at least one processor is further configured to determine a radio bearer for a terminal accessing the relay node and multiple radio bearers integrated by the radio bearer; Alternatively, multiple radio bearers integrated by radio bearer may be determined.

다양한 실시 예에 따르면, 제1 메시지는 다음 중 하나 이상을 포함할 수 있다: 릴레이 노드에 액세스하는 터미널의 식별; 릴레이 노드에 접속하는 단말의 종류를 나타내는 표시 정보; 릴레이 노드에 접속하는 단말의 라디오 베어러에 대한 정보; 릴레이 노드에 액세스하는 단말에 의해 전달된 라디오 베어러에 대한 정보; 도너 노드와 릴레이 노드 사이의 라디오 베어러에 대해 설정된 터널에 대한 정보; 통합된 다중 라디오 베어러에 대한 정보; 라디오 베어러 매핑 정보; 도너 노드 측면의 주소에 대한 정보; 릴레이 노드 측의 주소에 대한 정보; 릴레이 노드에 접속하는 단말의 라디오 베어러에 대응하는 표시 정보; 릴레이 노드에 액세스하는 단말에 대해 새로운 주소를 라디오 베어러에 할당하도록 릴레이 노드를 나타내는 표시 정보; 릴레이 노드에 접속하는 단말의 라디오 베어러의 데이터를 전송하는 릴레이 노드가 사용할 수 없는 주소 정보 목록; 및 보안 구성과 관련된 정보.According to various embodiments, the first message may include one or more of the following: identification of the terminal accessing the relay node; Display information indicating the type of terminal connecting to the relay node; Information about the radio bearer of the terminal connecting to the relay node; Information about the radio bearer carried by the terminal accessing the relay node; Information about the tunnel established for the radio bearer between the donor node and the relay node; Information on integrated multi-radio bearers; radio bearer mapping information; Information about the address on the donor node side; Information about the address on the relay node side; Indication information corresponding to the radio bearer of the terminal connecting to the relay node; Indication information indicating the relay node to allocate a new address to a radio bearer for a terminal accessing the relay node; A list of address information that cannot be used by the relay node transmitting data of the radio bearer of the terminal connecting to the relay node; and information related to security configuration.

다양한 실시 예에 따르면, 제2 메시지는 다음 중 하나 이상을 포함할 수 있다: 릴레이 노드에 액세스하는 터미널의 식별; 릴레이 노드에 의해 승인된 라디오 베어러에 대한 정보; 릴레이 노드에 의해 승인되지 않은 라디오 베어러에 대한 정보; 릴레이 노드에 의해 부분적으로 승인된 라디오 베어러에 대한 정보; 라디오 베어러 매핑 정보; 릴레이 노드가 생성한 릴레이 노드에 접속하는 단말의 구성 정보; 릴레이 노드 측의 주소에 대한 정보; 및 보안 구성과 관련된 정보.According to various embodiments, the second message may include one or more of the following: identification of the terminal accessing the relay node; Information about radio bearers approved by the relay node; Information about radio bearers not acknowledged by the relay node; Information about radio bearers partially accepted by the relay node; radio bearer mapping information; Configuration information of a terminal connecting to the relay node created by the relay node; Information about the address on the relay node side; and information related to security configuration.

다양한 실시 예에 따르면, 제2 메시지는 통합된 다중 라디오 베어러에 대한 정보를 더 포함할 수 있다.According to various embodiments, the second message may further include information about integrated multiple radio bearers.

다양한 실시 예에 따르면, 도너 노드는 도너 노드의 중앙 유닛을 포함하고, 릴레이 노드는 도너 노드의 분산 유닛을 포함할 수 있다.According to various embodiments, the donor node may include a central unit of the donor node, and the relay node may include a distributed unit of the donor node.

이하에서는 상술한 무선 통신 시스템에서 단말의 구성요소를 도시한다. 이하에서는 설명하는 단말의 구성요소는 무선 통신 시스템에서 지원하는 범용적인 단말의 구성요소로서 전술한 내용들에 따른 단말의 구성요소와 병합되거나 통합될 수 있고, 일부 중첩되거나 상충되는 범위에서 앞서 도면을 참조하여 설명한 내용이 우선적용되는 것으로 해석될 수 있다. 이하에서 사용되는 "-모듈", "-유닛"또는 "-er"라는 용어는 적어도 하나의 기능을 처리하는 유닛을 의미할 수 있다.Below, the components of the terminal in the above-described wireless communication system are shown. The components of the terminal described below are components of a general-purpose terminal supported by a wireless communication system and may be merged or integrated with the components of the terminal according to the above-mentioned contents, and may be compared to the previous drawings to the extent of some overlap or conflict. The content explained with reference may be interpreted as having priority. The terms “-module”, “-unit”, or “-er” used below may refer to a unit that processes at least one function.

단말은 통신 인터페이스, 저장부 및 컨트롤러를 포함한다.The terminal includes a communication interface, a storage unit, and a controller.

통신 인터페이스는 무선 채널을 통해 신호를 송수신하는 기능을 수행한다. 예를 들어, 통신 인터페이스는 시스템의 물리 계층 표준에 따라 베이스 밴드 신호와 비트 스트림 간의 변환 기능을 수행한다. 예를 들어, 데이터 전송에서 통신 인터페이스는 전송 비트 스트림을 인코딩 및 변조하여 복합 심볼을 생성한다. 또한, 데이터 수신시 통신 인터페이스는 베이스 대역 신호를 복조 및 복호화하여 수신 비트 스트림을 재구성한다. 또한, 통신 인터페이스는 베이스 대역 신호를 RF 대역 신호로 상향 변환하고, 변환된 신호를 안테나를 통해 전송한 후 안테나를 통해 수신된 RF 대역 신호를 기저 대역 신호로 하향 변환한다. 예를 들어, 통신 인터페이스는 송신 필터(transmission filter), 수신 필터(reception filter), 증폭기(amplifier), 믹서(mixer), 발진기(oscillator), 디지털-아날로그 컨버터(digital-to-analog convertor, DAC), 아날로그-디지털 컨버터(analog-to-digital convertor, ADC) 등을 포함할 수 있다.The communication interface performs the function of transmitting and receiving signals through a wireless channel. For example, the communication interface performs conversion between baseband signals and bit streams according to the system's physical layer standards. For example, in data transmission, a communication interface encodes and modulates the transmitted bit stream to generate complex symbols. Additionally, when receiving data, the communication interface demodulates and decodes the base band signal to reconstruct the received bit stream. Additionally, the communication interface up-converts the base band signal into an RF band signal, transmits the converted signal through an antenna, and then down-converts the RF band signal received through the antenna into a base band signal. For example, the communication interface includes a transmission filter, reception filter, amplifier, mixer, oscillator, and digital-to-analog convertor (DAC). , analog-to-digital convertor (ADC), etc.

또한, 통신 인터페이스는 복수의 송수신 경로를 포함할 수 있다. 또한, 통신 인터페이스는 복수의 안테나 요소를 포함하는 적어도 하나의 안테나 어레이를 포함할 수 있다. 하드웨어 측에서 무선 통신 인터페이스는 디지털 회로 및 아날로그 회로(예를 들어, radio frequency integrated circuit, RFIC)를 포함할 수 있다. 디지털 회로는 적어도 하나의 프로세서(예: DSP)로 구현될 수 있다. 통신 인터페이스는 복수의 RF 체인을 포함할 수 있다. 통신 인터페이스는 빔포밍을 수행할 수 있다.Additionally, the communication interface may include multiple transmission and reception paths. Additionally, the communication interface may include at least one antenna array including a plurality of antenna elements. On the hardware side, the wireless communication interface may include digital circuits and analog circuits (eg, radio frequency integrated circuit, RFIC). A digital circuit may be implemented with at least one processor (e.g., DSP). The communication interface may include multiple RF chains. The communication interface may perform beamforming.

통신 인터페이스는 전술한 바와 같이 신호를 송수신한다. 따라서, 통신 인터페이스는 "송신기(transmitter)", "수신기(receiver)"또는 "트랜시버(transceiver)"로 지칭될 수 있다. 또한, 이하의 설명에서 무선 채널을 통해 수행되는 송수신은 전술한 바와 같이 통신 인터페이스에서 수행되는 처리를 포함하는 의미로 사용될 수 있다.The communication interface transmits and receives signals as described above. Accordingly, a communication interface may be referred to as a “transmitter,” “receiver,” or “transceiver.” Additionally, in the following description, transmission and reception performed through a wireless channel may be used to include processing performed in the communication interface as described above.

저장부는 단말기의 동작을 위한 기본 프로그램, 어플리케이션, 설정 정보 등의 데이터를 저장한다. 저장부는 휘발성 메모리, 비 휘발성 메모리 또는 휘발성 메모리와 비 휘발성 메모리의 조합을 포함할 수 있다. 또한, 저장부는 컨트롤러의 요청에 따라 저장된 데이터를 제공한다.The storage unit stores data such as basic programs, applications, and setting information for the operation of the terminal. The storage unit may include volatile memory, non-volatile memory, or a combination of volatile memory and non-volatile memory. Additionally, the storage unit provides stored data upon request from the controller.

컨트롤러는 단말의 전반적인 동작을 제어한다. 예를 들어, 컨트롤러는 통신 인터페이스를 통해 신호를 송수신한다. 또한 컨트롤러는 저장부에 데이터를 기록하고 기록된 데이터를 읽는다. 컨트롤러는 통신 규격에서 요구하는 프로토콜 스택의 기능을 수행할 수 있다. 다른 구현에 따르면, 프로토콜 스택은 통신 인터페이스에 포함될 수 있다. 이를 위해, 컨트롤러는 적어도 하나의 프로세서 또는 마이크로 프로세서를 포함하거나 프로세서의 일부를 재생할 수 있다. 또한, 통신 인터페이스 또는 컨트롤러의 일부를 통신 프로세서(communication processor, CP)라고 할 수 있다.The controller controls the overall operation of the terminal. For example, a controller sends and receives signals through a communication interface. Additionally, the controller records data in the storage and reads the recorded data. The controller can perform the protocol stack functions required by communication standards. According to another implementation, a protocol stack may be included in the communication interface. For this purpose, the controller may comprise at least one processor or microprocessor or may reproduce part of a processor. Additionally, a part of the communication interface or controller may be referred to as a communication processor (CP).

본 발명의 일 실시 예에 따르면, 컨트롤러는 본 발명의 실시 예에 따른 동작을 수행하도록 단말을 제어할 수 있다.According to an embodiment of the present invention, a controller can control a terminal to perform an operation according to an embodiment of the present invention.

이하에서는 무선 통신 시스템에서 통신 인터페이스를 예시한다. Below, a communication interface in a wireless communication system is illustrated.

통신 인터페이스는 인코딩 및 변조 회로, 디지털 빔포밍 회로, 복수의 전송 경로 및 아날로그 빔포밍 회로를 포함한다.The communication interface includes encoding and modulation circuitry, digital beamforming circuitry, a plurality of transmission paths, and analog beamforming circuitry.

인코딩 및 변조 회로는 채널 인코딩을 수행한다. 채널 인코딩을 위해 low-density parity check(LDPC) 코드, 컨볼루션 코드 및 폴라 코드 중 적어도 하나가 사용될 수 있다. 인코딩 및 변조 회로는 성상 매핑(constellation mapping)을 수행함으로써 변조 심볼을 생성한다.Encoding and modulation circuitry performs channel encoding. At least one of a low-density parity check (LDPC) code, a convolutional code, and a polar code may be used for channel encoding. The encoding and modulation circuit generates modulation symbols by performing constellation mapping.

디지털 빔포밍 회로는 디지털 신호(예를 들어, 변조 심볼)에 대한 빔 형성을 수행한다. 이를 위해, 디지털 빔포밍 회로는 빔포밍 가중 값에 의해 변조 심볼을 다중화한다. 빔포밍 가중치는 신호의 크기 및 문구를 변경하는데 사용될 수 있으며, "프리코딩 매트릭스(precoding matrix)"또는 "프리코더(precoder)"라고 할 수 있다. 디지털 빔포밍 회로는 디지털 빔포밍된 변조 심볼을 복수의 전송 경로로 출력한다. 이때, 다중 안테나 기술(multiple input multiple output, MIMO) 전송 방식에 따라 변조 심볼이 다중화 되거나 동일한 변조 심볼이 복수의 전송 경로에 제공될 수 있다.A digital beamforming circuit performs beam forming on digital signals (eg, modulation symbols). For this purpose, the digital beamforming circuit multiplexes the modulation symbols by beamforming weight values. Beamforming weights can be used to change the size and wording of the signal and may be referred to as a “precoding matrix” or “precoder.” The digital beamforming circuit outputs digital beamformed modulation symbols through a plurality of transmission paths. At this time, depending on the multiple input multiple output (MIMO) transmission method, modulation symbols may be multiplexed or the same modulation symbol may be provided to multiple transmission paths.

복수의 전송 경로는 디지털 빔포밍된 디지털 신호를 아날로그 신호로 변환한다. 이를 위해, 복수의 전송 경로 각각은 인버스 고속 푸리에 변환(inverse fast fourier transform, IFFT) 계산 유닛, 순환 전치(cyclic prefix, CP) 삽입 유닛, DAC 및 상향 변환 유닛을 포함할 수 있다. CP 삽입 부는 직교 주파수 분할 다중화(orthogonal frequency division multiplexing, OFDM) 방식을 위한 것으로 다른 물리 계층 방식(예: 필터 뱅크 다중 반송파(a filter bank multi-carrier): FBMC) 적용시 생략될 수 있다. 즉, 복수의 전송 경로는 디지털 빔포밍을 통해 생성된 복수의 스트림에 대해 독립적인 신호 처리 프로세스를 제공한다. 그러나, 구현에 따라 복수의 전송 경로의 일부 요소는 공통적으로 사용될 수 있다.A plurality of transmission paths convert digital beamformed digital signals into analog signals. To this end, each of the plurality of transmission paths may include an inverse fast Fourier transform (IFFT) calculation unit, a cyclic prefix (CP) insertion unit, a DAC, and an upconversion unit. The CP insertion unit is for the orthogonal frequency division multiplexing (OFDM) method and can be omitted when applying another physical layer method (e.g., a filter bank multi-carrier (FBMC)). That is, multiple transmission paths provide independent signal processing processes for multiple streams generated through digital beamforming. However, depending on the implementation, some elements of multiple transmission paths may be commonly used.

아날로그 빔포밍 회로는 아날로그 신호에 대한 빔포밍을 수행한다. 이를 위해, 디지털 빔포밍 회로는 빔포밍 가중 값에 의해 아날로그 신호를 다중화한다. 빔포밍된 가중치는 신호의 크기와 문구를 변경하는데 사용된다. 보다 구체적으로, 복수의 전송 경로와 안테나 사이의 연결 구조에 따라, 아날로그 빔포밍 회로는 다양한 방식으로 구성될 수 있다. 예를 들어, 복수의 전송 경로 각각은 하나의 안테나 어레이에 연결될 수 있다. 다른 예에서, 복수의 전송 경로는 하나의 안테나 어레이에 연결될 수 있다. 또 다른 예에서, 복수의 전송 경로는 하나의 안테나 어레이에 적응적으로 연결될 수 있거나 2개 이상의 안테나 어레이에 연결될 수 있다.The analog beamforming circuit performs beamforming on analog signals. For this purpose, the digital beamforming circuit multiplexes the analog signal by beamforming weighting values. Beamformed weights are used to change the size and wording of the signal. More specifically, depending on the connection structure between a plurality of transmission paths and antennas, the analog beamforming circuit can be configured in various ways. For example, each of the plurality of transmission paths may be connected to one antenna array. In another example, multiple transmission paths may be connected to one antenna array. In another example, multiple transmission paths may be adaptively connected to one antenna array or may be connected to two or more antenna arrays.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.Methods according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. Computer-readable media may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on a computer-readable medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the computer software art.

컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media may include hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions may include machine language code such as that created by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The above-described hardware device may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. Additionally, the above-described method or device may be implemented by combining all or part of its components or functions, or may be implemented separately.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the present invention has been described above with reference to preferred embodiments, those skilled in the art may make various modifications and changes to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that you can do it.

100: AI 기반 웹빌더를 제공하기 위한 운영서버
200: 사용자 단말
300: 제3자의 사용자 단말
100: Operation server to provide AI-based web builder
200: user terminal
300: Third party user terminal

Claims (1)

AI 기반 웹빌더를 제공하기 위한 운영서버로서,
사용자 단말에 의해 선택된 UI템플릿을 상기 사용자 단말에 제공하고, 상기 사용자 단말에 의해 선택된 UI템플릿 내에 배치할 컴포넌트들을 배치할 수 있는 사용자 인터페이스를 제공하는 웹빌더 서비스 관리부;
미리 다수의 UI 템플릿들을 관리자로부터 입력받아 저장하고, 저장된 UI 템플릿들 각각에 대한 메타 데이터를 생성하고 저장하는 UI 템플릿 관리부;
미리 다수의 컴포넌트들을 관리자로부터 입력받아 저장하고, 저장된 컴포넌트들 각각에 대한 메타 데이터를 생성하고 저장하는 컴포넌트 관리부; 및
사용자 인터페이스와 병렬적으로 사용자 단말(200)에게 웹디자인 상의 편의성을 증대하기 위한 인공지능 기반의 변환 지원서비스를 제공하는 인공지능 지원부;를 포함하되,
상기 인공지능 지원부는,
상기 사용자 단말의 상기 사용자 인터페이스를 통한 상기 UI 템플릿 또는 상기 컴포넌트들의 변경 상태를 모니터링하고, 모니터링된 변경 상태를 기반으로 상기 사용자 단말의 변경 이후를 예상하여 구현한 UI 템플릿이나 컴포넌트를 미리 생성하고, 생성된 UI 템플릿이나 컴포넌트의 미리보기 영역을 생성하여 상기 사용자 인터페이스와 중첩하게 상기 사용자 단말에 표시하고,
상기 인공지능 지원부는,
상기 사용자 단말에 의해 선택된 상기 UI 템플릿에 대한 변경 조작을 모니터링하고, 모니터링된 현재의 상기 UI 템플릿의 변경 정도를 기반으로 제1 인공신경망을 이용하여 미리보기로 제공할 UI 템플릿을 생성하는 템플릿 변환지원부; 및
상기 사용자 단말의 상기 컴포넌트들에 대한 변경 조작을 모니터링하고, 모니터링된 현재의 컴포넌트들의 변경 정도를 기반으로 제2 인공신경망을 이용하여 미리보기로 제공할 컴포넌트를 생성하는 컴포넌트 변환지원부;를 포함하고,
상기 인공지능 지원부는,
상기 제1 인공신경망과 상기 제2 인공신경망을 미리 지도학습하기 위한 학습데이터를 생성하는 변환모사 학습데이터 생성부;를 더 포함하되,
상기 변환모사 학습데이터 생성부는,
웹디자인 수행 영상을 수집하고,
수집된 상기 웹디자인 수행영상에서 복수의 키프레임들을 추출하고,
추출된 상기 키프레임들에서 컴포넌트와 UI 템플릿을 식별하고,
추출된 상기 키프레임들을 서로 동일한 UI 템플릿들이 식별된 키프레임들로 분류하고 제1 그룹들을 생성하고, 추출된 상기 키프레임들을 서로 동일한 컴포넌트들이 식별된 키프레임들로 분류하여 제2 그룹들을 생성하고,
상기 제1 그룹들 각각에서 UI 템플릿의 작업 변화량을 추출하고, 상기 제2 그룹들 각각에서 컴포넌트의 작업 변화량을 추출하고,
추출된 UI 템플릿의 작업 변화량을 해당 UI 템플릿의 유사 UI 템플릿과 커플링시켜 제1 학습데이터를 생성하고, 추출된 컴포넌트의 작업 변화량을 해당 컴포넌트의 유사 컴포넌트와 커플링시켜 제2 학습 데이터를 생성하는,
AI 기반 웹빌더를 제공하기 위한 운영서버.
As an operating server to provide an AI-based web builder,
A web builder service management unit that provides a UI template selected by a user terminal to the user terminal and provides a user interface for arranging components to be placed within the UI template selected by the user terminal;
a UI template management unit that receives and stores a plurality of UI templates in advance from an administrator, and generates and stores metadata for each of the stored UI templates;
a component management unit that receives and stores a plurality of components in advance from an administrator, and generates and stores metadata for each of the stored components; and
An artificial intelligence support unit that provides an artificial intelligence-based conversion support service to increase convenience in web design to the user terminal 200 in parallel with the user interface;
The artificial intelligence support department,
Monitoring the change status of the UI template or the components through the user interface of the user terminal, and generating and generating in advance a UI template or component implemented in anticipation of the change in the user terminal based on the monitored change status. Create a preview area of the UI template or component and display it on the user terminal to overlap the user interface,
The artificial intelligence support department,
A template conversion support unit that monitors change operations on the UI template selected by the user terminal and generates a UI template to be provided as a preview using a first artificial neural network based on the degree of change in the monitored current UI template. ; and
A component conversion support unit that monitors change operations on the components of the user terminal and generates a component to be provided as a preview using a second artificial neural network based on the degree of change in the current monitored components.
The artificial intelligence support department,
It further includes a transformation simulation learning data generator that generates learning data for supervised learning of the first artificial neural network and the second artificial neural network in advance,
The conversion simulation learning data generation unit,
Collect web design performance videos,
Extracting a plurality of key frames from the collected web design performance video,
Identify components and UI templates from the extracted keyframes,
Classifying the extracted keyframes into keyframes in which identical UI templates are identified to create first groups, and classifying the extracted keyframes into keyframes in which identical components are identified to create second groups; ,
Extracting the work change amount of the UI template from each of the first groups and extracting the work change amount of the component from each of the second groups,
First learning data is generated by coupling the work change amount of the extracted UI template with a similar UI template of the corresponding UI template, and the work change amount of the extracted component is coupled with the similar component of the corresponding component to generate second learning data. ,
An operating server to provide an AI-based web builder.
KR1020230183191A 2023-07-04 2023-12-15 Operation server and operation method for providing ai-based web builder by utilizing the change in the component's work and similar components KR20240001306A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20230086380 2023-07-04
KR1020230086380 2023-07-04
KR1020230086984 2023-07-05
KR20230086984 2023-07-05
KR1020230087218A KR102616267B1 (en) 2023-07-04 2023-07-05 Operation server and operation method for providing ai-based web builder

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020230087218A Division KR102616267B1 (en) 2023-07-04 2023-07-05 Operation server and operation method for providing ai-based web builder

Publications (1)

Publication Number Publication Date
KR20240001306A true KR20240001306A (en) 2024-01-03

Family

ID=89320626

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020230087218A KR102616267B1 (en) 2023-07-04 2023-07-05 Operation server and operation method for providing ai-based web builder
KR1020230183191A KR20240001306A (en) 2023-07-04 2023-12-15 Operation server and operation method for providing ai-based web builder by utilizing the change in the component's work and similar components
KR1020230183190A KR20240001305A (en) 2023-07-04 2023-12-15 Operation server and operation method for providing ai-based web builder that constructs learning data from web design performance videos and performs supervised learning based on the learning data

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020230087218A KR102616267B1 (en) 2023-07-04 2023-07-05 Operation server and operation method for providing ai-based web builder

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230183190A KR20240001305A (en) 2023-07-04 2023-12-15 Operation server and operation method for providing ai-based web builder that constructs learning data from web design performance videos and performs supervised learning based on the learning data

Country Status (1)

Country Link
KR (3) KR102616267B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102275763B1 (en) * 2021-01-14 2021-07-09 주식회사 누리콘 Method and system for automatically generating deep learning application from deep learning model
US20220245206A1 (en) * 2021-01-29 2022-08-04 Salesforce.Com, Inc. Process flow builder for user-configurable web component sequences
KR20230080049A (en) * 2021-11-29 2023-06-07 김정환 System for supporting manufacturing of website based on ai and method thereof
KR102446649B1 (en) * 2022-07-12 2022-09-22 신은철 Method and apparatus for producing application using recommended templet based on artificial intelligence model

Also Published As

Publication number Publication date
KR20240001305A (en) 2024-01-03
KR102616267B1 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
KR102540203B1 (en) Apparatus, system, method and program for providing live streaming relay service providing show host recommendation function
KR102345551B1 (en) System for providing space rental and method for the same
KR102405464B1 (en) Method and apparatus for providing non-face-to-face online education service
KR102420629B1 (en) Method and system for providing advertiser service
KR102601196B1 (en) Device, system, method and program for providing user-customized virtual space creation service
KR102486487B1 (en) A method of providing products for users
KR102566441B1 (en) Integrated test platform system that includes technical tests that provide defect-suspicion data for applications that correspond to business models and the operating method thereof
KR102661900B1 (en) Method for providing ip licensing predicted sales volume and synthetic image using regression model and system for the same
KR102616267B1 (en) Operation server and operation method for providing ai-based web builder
Lambrechts et al. The role of millimeter-wave and 5G in the fourth industrial revolution
KR102385924B1 (en) A method of delivering customized products
KR102560678B1 (en) A method of providing customized products based on user preferences
KR102505267B1 (en) Device, system, method and program for disease spread prediction service using big data
KR102590842B1 (en) A method of Creating a Custom Restaurant Branding for users
KR102562358B1 (en) A method of Advertising agency for users
KR102528992B1 (en) A method of International shipping methods for users
KR102577740B1 (en) A method of caring pet health care for users
KR102633294B1 (en) Servers, systems, methods and programs that provide product name recommendation and trademark application generation services for user self-trademark applications
KR102661611B1 (en) Method and apparatus for providing social networking services for sharing personal experiences about failure
KR102403235B1 (en) Apparatus, method and system for diagnosing financial capabilities and conducting consultations
KR102534271B1 (en) A method of providing digital stationery content for users
KR20230021037A (en) Device, system, method and program for disease spread prediction service using big data

Legal Events

Date Code Title Description
A107 Divisional application of patent