KR20200079703A - Service package authoring method and robot service development system - Google Patents
Service package authoring method and robot service development system Download PDFInfo
- Publication number
- KR20200079703A KR20200079703A KR1020180169115A KR20180169115A KR20200079703A KR 20200079703 A KR20200079703 A KR 20200079703A KR 1020180169115 A KR1020180169115 A KR 1020180169115A KR 20180169115 A KR20180169115 A KR 20180169115A KR 20200079703 A KR20200079703 A KR 20200079703A
- Authority
- KR
- South Korea
- Prior art keywords
- service
- robot
- template
- robot service
- interaction
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Primary Health Care (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
Description
실시 예는 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템에 대한 것으로서, 더욱 상세하게는 다자간 작업을 필요로 하는 서비스의 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템에 관한 것이다. The embodiment relates to a method for generating a service package and a robot service development system for performing the same, and more particularly, to a method for generating a service package for a service requiring a multilateral operation and a robot service development system for performing the same.
최근 인식, 이동, 조작, 상호작용(Human-Robot Interaction, HRI), 학습, 추론 등의 지능적인 요소를 활용하여 다양한 서비스를 제공할 수 있는 로봇에 대한 연구가 활발하다. Recently, research on robots capable of providing various services using intelligent elements such as recognition, movement, manipulation, interaction (HRI), learning, and reasoning has been actively conducted.
기존에 로봇 서비스를 개발하는 개발자들은 서비스를 제공하는 로봇의 행위를 일일이 정의하는 방식으로 로봇 서비스를 구성하였다. 이러한 방식은 하나의 로봇 서비스를 개발하기까지 상당한 작업량과 복잡도를 요구하여 개발자가 로봇 서비스 개발에 쉽게 접근하지 못하도록 하였다. 또한, 이러한 방식은 서비스를 수행하는데 있어 로봇이 수행하는 행위만을 정의하고 있어, 다자간의 작업을 필요로 하는 서비스를 표현하는데 한계가 존재하고, 이를 수행하는 로봇 타입 또한 한정될 수 밖에 없어 로봇이 개발될 때마다 서비스를 새롭게 개발해야 하는 어려움이 있다. Developers developing robot services have configured robot services by defining the behavior of robots that provide services. This method required a considerable amount of work and complexity to develop a single robot service, which prevented developers from easily accessing robot service development. In addition, this method defines only the actions performed by the robot in performing the service, so there is a limitation in expressing the service that requires multi-party work, and the robot type that performs this must be limited, so the robot is developed. Whenever possible, there is a difficulty in developing a new service.
실시 예를 통해 해결하고자 하는 과제는, 다자간 작업을 필요로 하는 로봇 서비스의 개발을 용이하게 하고, 개발자의 개발 환경을 개선할 수 있는 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템을 제공하는 것이다. The problem to be solved through the embodiment is to provide a robot service development system and a service package generation method for facilitating the development of a robot service requiring multilateral work, and improving the developer's development environment, and performing the same. .
상기 과제를 해결하기 위한 실시 예에 따른 로봇 서비스 개발 시스템은, 개발자로부터 입력되는 정보에 기반하여, 다자간 작업을 필요로 하는 로봇 서비스의 흐름을 선언적으로 서술한 템플릿을 생성하는 템플릿 생성기, 복수의 온톨로지 모델 각각에 부여된 메타 데이터들을 포함하는 메타 모델과 상기 템플릿에 기초하여, 상기 복수의 온톨로지 모델 중 상기 로봇 서비스의 수행에 필요한 적어도 하나의 온톨로지 모델을 추론하는 질의문을 생성하는 템플릿 해석기, 및 상기 질의문을 바탕으로 추론된 상기 적어도 하나의 온톨로지 모델과 상기 템플릿을 바인딩하여, 상기 로봇 서비스를 수행하는 복수의 역할 별로 상기 로봇 서비스의 흐름을 설명하는 역할 설명, 상기 복수의 역할 간의 상호작용을 설명하는 상호작용 설명, 및 상기 로봇 서비스에 필요한 지식정보를 포함하는 서비스 패키지를 생성하는 서비스 패키지 생성기를 포함할 수 있다. The robot service development system according to an embodiment for solving the above problems is a template generator that generates a template declaratively describing the flow of a robot service requiring multi-party work based on information input from a developer, and a plurality of ontology A template interpreter for generating a query statement for inferring at least one ontology model necessary for the execution of the robot service among the plurality of ontology models, based on the meta model including the meta data given to each model and the template, and the template A role description for explaining the flow of the robot service for each of the plurality of roles that perform the robot service by binding the template and the template that are inferred based on the query statement, and explaining the interaction between the plurality of roles It may include a service package generator for generating a service package including the interaction description, and knowledge information required for the robot service.
상기 템플릿은 상기 복수의 역할과, 상기 복수의 역할 각각의 행위들, 그리고 상기 복수의 역할 간의 상호작용을 메타 데이터 형태로 서술할 수 있다.The template may describe the plurality of roles, the actions of each of the plurality of roles, and the interaction between the plurality of roles in the form of metadata.
상기 서비스 패키지 생성기는, 상기 적어도 하나의 온톨로지 모델을 바탕으로 상기 템플릿에 서술된 상호작용들을 상기 로봇 서비스의 도메인에 맞는 상호작용으로 분해 및 재조립하여 상기 서비스 패키지를 생성할 수 있다.The service package generator may generate and disassemble and reassemble interactions described in the template into interactions suitable for the domain of the robot service based on the at least one ontology model.
상기 메타 데이터는 상기 복수의 온톨로지 모델 각각의 속성을 선언적으로 서술할 수 있다. The metadata may declaratively describe the properties of each of the plurality of ontology models.
상기 역할 설명은, 상기 로봇 서비스의 목표 흐름을 역할 별로 서술하는 워크플로우 및 상기 로봇 서비스를 수행하기 위한 사전 환경 정보에 대응하는 컨디션을 포함할 수 있다. The role description may include a workflow describing a target flow of the robot service for each role and a condition corresponding to pre-environment information for performing the robot service.
상기 상호작용 설명은, 각 상호작용을 수행하는 역할들, 상기 각 상호작용의 시작조건 및 종료조건, 및 상기 각 상호작용을 수행하기 위한 행위 설명을 포함할 수 있다. The interaction description may include roles for performing each interaction, start and end conditions of each interaction, and action descriptions for performing each interaction.
상기 서비스 패키지는, 상기 로봇 서비스에서 활용되는 컨텍스트들의 소멸 및 생성에 대한 규칙을 서술하는 컨텍스트 설명을 더 포함할 수 있다. The service package may further include a context description describing rules for destruction and generation of contexts used in the robot service.
또한, 실시 예에 따른 로봇 서비스 개발 시스템의 서비스 패키지 생성 방법은, 개발자로부터 입력되는 정보에 기반하여, 다자간 작업을 필요로 하는 로봇 서비스의 흐름을 선언적으로 서술한 템플릿을 생성하는 단계, 복수의 온톨로지 모델 각각에 부여된 메타 데이터들을 포함하는 메타 모델과 상기 템플릿에 기초하여, 상기 복수의 온톨로지 모델 중 상기 로봇 서비스의 수행에 필요한 적어도 하나의 온톨로지 모델을 추론하는 질의문을 생성하는 단계, 상기 질의문을 이용하여 상기 복수의 온톨로지 모델 중 상기 적어도 하나의 온톨로지 모델을 가져오는 단계, 및 상기 적어도 하나의 온톨로지 모델과 상기 템플릿을 바인딩하여, 상기 로봇 서비스를 수행하는 복수의 역할 별로 상기 로봇 서비스의 흐름을 설명하는 역할 설명, 상기 복수의 역할 간의 상호작용을 설명하는 상호작용 설명, 및 상기 로봇 서비스에 필요한 지식정보를 포함하는 서비스 패키지를 생성하는 단계를 포함할 수 있다. In addition, the service package generation method of the robot service development system according to the embodiment, based on the information input from the developer, generating a template declaratively describing the flow of the robot service requiring multi-tasking, a plurality of ontology Generating a query statement for inferring at least one ontology model necessary for the execution of the robot service among the plurality of ontology models, based on the meta model including the meta data assigned to each model and the template, the query statement Importing the at least one ontology model among the plurality of ontology models, and binding the at least one ontology model and the template to flow the robot service according to a plurality of roles for performing the robot service. The method may include generating a service package including a role description to describe, an interaction description to describe interaction between the plurality of roles, and knowledge information required for the robot service.
상기 템플릿을 생성하는 단계는, 상기 개발자로부터 입력되는 작업 스크립트에 기초하여, 상기 복수의 역할과, 상기 복수의 역할 각각의 행위들, 그리고 상기 복수의 역할 간의 상호작용을 메타 데이터 형태로 서술하는 상기 템플릿을 생성하는 단계를 포함할 수 있다. In the generating of the template, based on a work script input from the developer, the description of the plurality of roles, the actions of each of the plurality of roles, and the interaction between the plurality of roles in metadata form And creating a template.
상기 서비스 패키지를 생성하는 단계는, 상기 적어도 하나의 온톨로지 모델을 바탕으로 상기 템플릿에 서술된 상호작용들을 상기 로봇 서비스의 도메인에 맞는 상호작용으로 분해 및 재조립하여 상기 서비스 패키지를 생성하는 단계를 포함할 수 있다. The generating of the service package includes generating and disassembling and reassembling the interactions described in the template into interactions suitable for the domain of the robot service based on the at least one ontology model. can do.
상기 서비스 패키지 생성 방법에서, 상기 상호작용 설명은, 각 상호작용을 수행하는 역할들, 상기 각 상호작용의 시작조건 및 종료조건, 및 상기 각 상호작용을 수행하기 위한 행위 설명을 포함하며, 상기 템플릿에 서술된 상호작용들을 분해 및 재조립하여 생성될 수 있다. 또한, 상기 메타 데이터는 상기 복수의 온톨로지 모델 각각의 속성을 선언적으로 서술할 수 있다. 또한, 상기 역할 설명은, 상기 로봇 서비스의 목표 흐름을 역할 별로 서술하는 워크플로우 및 상기 로봇 서비스를 수행하기 위한 사전 환경 정보에 대응하는 컨디션을 포함할 수 있다. 또한, 상기 서비스 패키지는, 상기 로봇 서비스에서 활용되는 컨텍스트들의 소멸 및 생성에 대한 규칙을 서술하는 컨텍스트 설명을 더 포함할 수 있다. In the service package generating method, the interaction description includes roles for performing each interaction, start and end conditions of each interaction, and action description for performing each interaction, and the template The interactions described in can be generated by disassembling and reassembling. In addition, the metadata may declaratively describe the attributes of each of the plurality of ontology models. In addition, the role description may include a workflow describing a target flow of the robot service for each role and a condition corresponding to pre-environment information for performing the robot service. In addition, the service package may further include a context description describing rules for destruction and generation of contexts used in the robot service.
실시 예에 따르면, 다자간 작업을 필요로 하는 로봇 서비스의 개발을 용이하게 하고, 더 나아가서 개발자의 개발 환경을 개선할 수 있다. According to the embodiment, it is possible to facilitate the development of a robot service requiring multi-party work, and further to improve the developer's development environment.
도 1은 실시 예에 따른 로봇 서비스 개발 시스템을 개략적으로 도시한 것이다.
도 2는 실시 예에 따른 사회성 모델의 속성을 정의하는 메타 데이터의 일 예를 도시한 것이다.
도 3은 실시 예에 따른 소셜 서비스 템플릿을 개략적으로 도시한 구조도이다.
도 4는 실시 예에 따른 소셜 서비스 템플릿의 일 예를 도시한 것이다.
도 5는 실시 예에 따른 소셜 서비스 패키지를 개략적으로 도시한 구조도이다.
도 6은 실시 예에 따른 소셜 서비스 패키지 생성 시스템에서 소셜 서비스 패키지를 생성하는 방법에 대해 개략적으로 도시한 것이다.
도 7은 실시 예에 따른 로봇 서비스 패키지 변환 시스템에서 소셜 서비스 패키지에 포함된 상호작용 모델로부터 로봇 작업을 도출하는 일 예를 도시한 것이다.
도 8은 실시 예에 따른 소셜 서비스 패키지를 개략적으로 도시한 구조도이다.
도 9는 실시 예에 따른 로봇 서비스 패키지 변환 시스템의 로봇 서비스 패키지 생성 방법을 개략적으로 도시한 것이다.1 schematically illustrates a robot service development system according to an embodiment.
2 shows an example of metadata defining attributes of a sociality model according to an embodiment.
3 is a structural diagram schematically showing a social service template according to an embodiment.
4 shows an example of a social service template according to an embodiment.
5 is a structural diagram schematically showing a social service package according to an embodiment.
6 schematically illustrates a method of generating a social service package in a system for generating a social service package according to an embodiment.
7 illustrates an example of deriving a robot task from an interaction model included in a social service package in the robot service package conversion system according to the embodiment.
8 is a structural diagram schematically showing a social service package according to an embodiment.
9 schematically illustrates a method of generating a robot service package in a system for converting a robot service package according to an embodiment.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains may easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification and claims, when a part “includes” a certain component, it means that the component may further include other components, not to exclude other components, unless otherwise stated.
이하, 필요로 하는 도면들을 참조하여 실시 예에 따른 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템에 대해 상세히 설명하기로 한다. 본 문서에서 소셜 서비스는 다자간 작업에 기반한 로봇 서비스를 의미하고, 로봇 서비스는 로봇에 의해 수행되는 서비스를 의미한다. 또한, 다자간 작업이란 복수의 주체들이 참가하는 작업으로, 주체들 간의 상호작용(interaction)으로 작업이 구성된다. Hereinafter, a method for generating a service package according to an embodiment and a robot service development system performing the same will be described in detail with reference to drawings required. In this document, social service means a robot service based on multilateral work, and robot service means a service performed by a robot. In addition, a multi-party work is a work in which a plurality of subjects participate, and the work is composed of interactions between subjects.
도 1은 실시 예에 따른 로봇 서비스 개발 시스템을 개략적으로 도시한 것이다. 1 schematically illustrates a robot service development system according to an embodiment.
도 1을 참조하면, 실시 예에 따른 로봇 서비스 개발 시스템(1)은 지식정보 데이터베이스(10), 소셜 서비스 패키지 생성 시스템(20), 작업 및 로봇 모델 데이터베이스(30), 및 로봇 서비스 패키지 변환 시스템(40)을 포함할 수 있다. Referring to FIG. 1, the robot service development system 1 according to an embodiment includes a
지식정보 데이터베이스(10)는 사회성 모델들(11~16)과, 메타 모델(17)을 포함할 수 있다. The
사회성 모델들(11~16)은, 로봇이 소셜 서비스를 수행하는데 필요로 하는 지식정보들을 모듈화하여 구성한 온톨로지 모델들이다. 지식정보 데이터베이스(10)에 저장되는 사회성 모델들은, 각 사회성 모델이 서술하는 지식정보의 타입에 따라, 목표/의도 모델(11), 감정 모델(12), 개성 모델(13), 작업 모델(14), 상호작용 모델(15), 사용자 모델(16) 등으로 구분될 수 있다. 목표/의도 모델(11)은 목표/의도 별로 대응하는 목표/의도를 이루는데 필요한 지식정보를 서술할 수 있다. 감정 모델(12)은 감정 타입 별로 대응하는 감정을 표출하는데 필요한 지식정보들을 서술할 수 있다. 개성 모델(13)은 개성 타입 별로 대응하는 개성을 표출하는데 필요한 지식정보를 서술할 수 있다. 또한, 작업 모델(14)은 작업 타입 별로 대응하는 작업을 수행하는데 필요한 지식정보를 서술할 수 있다. 상호작용 모델(15)은 상호작용 별로 상호작용을 수행하는데 필요한 지식정보들을 서술할 수 있다. 사용자 모델(16)은 소셜 서비스의 각 역할을 수행하는 사용자에 따라서 대응하는 역할을 수행하는데 필요한 지식정보를 서술한 것이다. The
메타 모델(17)은 각 사회성 모델(11~16)의 속성을 서술하는 메타 데이터들을 포함할 수 있다. 통상적으로, 메타 데이터는 데이터에 관한 구조화된 데이터로, 다른 데이터의 속성을 설명해 주는 데이터를 의미한다. 이러한 메타 데이터는, 대량의 정보 가운데서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해 일정한 규칙에 따라 데이터에 대하여 부여되는 데이터이다. The
메타 모델(17)은, 각 사회성 모델(11~16)의 속성을 선언적으로 서술하는 메타 데이터들과, 각 사회성 모델(11~16)에 메타 데이터를 부여하는 규칙을 정의한 명세를 포함할 수 있다. 각 사회성 모델(11~16)의 속성을 정의하는 메타 데이터로는, 예를 들어, 대응하는 사회성 모델의 지식 도메인, 목적, 이름, 식별정보, 제작자(author) 정보, 타입(목표/의도, 감정, 개성, 작업, 상호작용, 사용자 등) 정보, 업데이트 날짜 등과, 대응하는 사회성 모델이 참조한 지식정보 모델(또는 사회성 모델), 대응하는 사회성 모델에 대한 설명, 대응하는 사회성 모델에서 사용되는 값의 단위, 대응하는 사회성 모델이 가지는 클래스(class), 대응하는 사회성 모델이 가지는 프로퍼티(property) 등을 포함할 수 있다. The
도 2는 실시 예에 따른 사회성 모델의 속성을 정의하는 메타 데이터의 일 예를 도시한 것이다. 도 2를 예를 들면, 메타 모델(17)은 작업 모델(14)로 분류되는 사회성 모델에 대해, 해당 모델을 구성하는 지식정보들의 목적을 서술하는 메타 데이터(171), 해당 모델을 구성하는 지식정보들이 어떠한 역할을 수행하기 위한 것인지를 서술하는 메타 데이터(172), 해당 모델을 구성하는 지식정보들의 타입을 서술하는 메타 데이터(173) 등을 포함할 수 있다. 2 shows an example of metadata defining attributes of a sociality model according to an embodiment. For example, in FIG. 2, the
메타 모델(17)은 또한, 사회성 모델들 간의 관계정보 및 바인딩 규칙(binding rule)정보를 더 포함할 수 있다. 사회성 모델들 간의 관계정보는, 각 사회성 모델이 다른 사회성 모델과 연계된 정보를 생성하고자 하는 경우 사용되는 정보이다. 예를 들어, 행복지수를 1~100 사이의 값으로 나타내는 사회성 모델 A와 행복지수를 높음, 보통, 낮음 단계로 정의하는 사회성 모델 B 간의 관계정보는, '사회성 모델 A에서의 70 이상의 행복지수는 사회성 모델 B에서의 높음 단계의 행복지수에 대응한다'와 같이 정의될 수 있다. 사회성 모델들 간의 바인딩 규칙은, 사회성 모델들 간의 값을 바인딩하기 위한 규칙을 정의한 것이다. 예를 들어, 불쾌지수를 만들어내기 위해, 사회성 모델 C에 서술된 온도와 사회성 모델 D에 서술된 습도를 통합하기 위한 규칙 등을 바인딩 규칙이라 한다.The
지식정보 데이터베이스(10)는 개방형으로 운용되어, 개발자들은 자신의 단말을 통해 자신이 제작한 사회성 모델을 지식정보 데이터베이스(10)에 업로드하거나, 지식정보 데이터베이스(10)에 저장된 자신의 사회성 모델을 갱신할 수 있다. 또한, 개발자들은 자신이 개발한 사회성 모델을 업로드하거나 갱신 시, 해당 사회성 모델에 대한 대한 메타 데이터를 작성하여 메타 모델(17)에 추가하거나 갱신할 수 있다. The
한편, 도 1에서는 지식정보 데이터베이스(10)가 로봇 서비스 개발 시스템(1) 내에 포함되는 경우를 예로 들어 도시하였으나, 본 명의 기술적 사상이 이로 한정되는 것은 아니다. 다른 실시 예에 따르면, 지식정보 데이터베이스(10)는 로봇 서비스 개발 시스템(1)의 외부 데이터베이스로 구현될 수도 있다. Meanwhile, in FIG. 1, the case where the
다시, 도 1을 보면, 소셜 서비스 패키지 생성 시스템(20)은 개발자로부터 입력되는 작업 스크립트에 기반하여 소셜 서비스의 서비스 패키지(이하, '소셜 서비스 패키지'라 명명하여 사용함) 생성을 위한 템플릿(이하, '소셜 서비스 템플릿'이라 명명하여 사용함)을 생성하고, 소셜 서비스 템플릿과 메타 모델(17) 간의 연계를 통해 지식정보 데이터베이스(10)로부터 가져온 사회성 모델들을 바탕으로 소셜 서비스 패키지를 생성할 수 있다. 이를 위해, 소셜 서비스 패키지 생성 시스템(20)은 템플릿 생성기(21), 템플릿 해석기(22), 및 서비스 패키지 생성기(23)를 포함할 수 있다. Referring back to FIG. 1, the social service package generation system 20 is a template for generating a service package (hereinafter, referred to as a'social service package') of a social service based on a work script input from a developer (hereinafter, It is possible to create a social service package based on social models obtained from the
템플릿 생성기(21)는 서비스 개발자로부터 입력되는 작업 스크립트들에 기초하여 개발하고자 하는 소셜 서비스의 소셜 서비스 템플릿을 생성할 수 있다. 소셜 서비스 템플릿은, 개발하고자 하는 소셜 서비스의 목적에 따라 필요한 정보들을 메타 데이터 형태로 서술한 것이다. 즉, 소셜 서비스 템플릿은 대응하는 소셜 서비스를 수행하는데 필요한 역할들과 각 역할의 행위, 그리고 역할들 간의 상호작용을 메타 데이터 형태로 서술하여 대응하는 소셜 서비스의 흐름을 선언적으로 정의하는 템플릿이다. The
이러한 소셜 서비스 템플릿은, 도 3에 도시된 바와 같이, 소셜 서비스를 수행하는 주체인 역할(role)들에 대한 역할 설명(110), 행위(activity) 정보(120) 및 상호작용(interaction) 설명(130)를 포함할 수 있다. As illustrated in FIG. 3, such a social service template may include
도 3은 실시 예에 따른 소셜 서비스 템플릿을 개략적으로 도시한 구조도이다. 3 is a structural diagram schematically showing a social service template according to an embodiment.
도 3을 참조하면, 실시 예에 따른 소셜 서비스 템플릿(100)에서 역할 설명(110)은 각 역할 별로 서비스 흐름을 정의하는 정보로서, 각 역할의 라이브니스(liveness), 안전성(safety), 컨디션(condition) 등을 포함할 수 있다. 여기서, 라이브니스는, 각 역할이 소셜 서비스 수행을 위해 실행하는 상호작용 및/또는 행위(activity)의 순서를 서술하고, 안전성은 소셜 서비스를 수행하는 동안 각 역할이 유지해야 하는 컨텍스트(context) 리스트를 서술하고, 컨디션은 각 역할이 배정되기 위해 필요한 사전 환경(컨텍스트 리스트)을 서술할 수 있다. Referring to FIG. 3, the
또한, 소셜 서비스 템플릿(100)에 포함되는 행위 설명(120)은 소셜 서비스 내에서 각 역할이 혼자서 수행해야 하는 행위들에 대해 서술하고, 상호작용 설명(130)은 소셜 서비스를 수행하기 위해 2 이상의 역할들이 어떠한 상호작용들을 수행해야 하는지에 대해 서술할 수 있다. In addition, the
소셜 서비스 템플릿(100)은, 전술한 역할 설명(110), 행위 설명(120), 및 상호작용 설명(130) 외에도, 소셜 서비스에서 필요로 하는 지식정보, 사회성 모델 등의 속성을 정의하는 메타 데이터들을 더 포함할 수 있다. The
도 4는 실시 예에 따른 소셜 서비스 템플릿의 일 예를 도시한 것이다. 4 shows an example of a social service template according to an embodiment.
도 4를 예로 들면, 치매노인 교육을 위한 로봇 서비스를 다자간 작업이 필요한 소셜 서비스로 구성하는 경우, 해당 서비스는 교사(R1)와 학생(R2) 이렇게 두 개의 역할을 필요로 한다. 따라서, 치매노인 교육을 위한 소셜 서비스 템플릿(100)은 교사 역할(R1)과 학생 역할(R2) 각각에 대한 역할 설명(110), 행위 설명(120) 및 상호작용 설명(130)를 포함하도록 구성된다. For example, in the case of configuring the robot service for the education of the dementia elderly as a social service requiring multi-tasking, for example, the service requires two roles: a teacher (R1) and a student (R2). Therefore, the
교사 역할(R1)을 예로 들면, 교사 역할(R1)에 대한 역할 설명(110)으로는, 교사 역할(R1)에 필요한 상호작용 및/또는 행위들(학습 안내, 학습 준비, 학습 수행, 복습 수행, 서비스 종료)의 순서를 정의한 라이브니스 정보(111)와, "학생 집중도가 높아야 한다", "학습 도구가 계속 사용 가능하여야 한다" 등과 같이 교사 역할(R1)이 유지해야 하는 컨텍스트 리스트를 선언적으로 서술하는 안전성 정보(112)와, "학습 예정에 따라 수행"과 같이 교사 역할(R1)이 배정되기 위해 필요로 하는 컨텍스트 리스트를 선언적으로 서술하는 컨디션 정보(113)가 포함될 수 있다. 또한, 교사 역할(R1)에 대한 행위 설명(120)으로는, 대응하는 행위에 대한 메타 데이터(121)와, 시작조건(122) 및 종료조건(123)을 포함할 수 있다. 또한, 상호작용 설명(130)로는, 대응하는 상호작용에 대한 메타 데이터(상호작용을 수행하는 역할들(시작하는 역할과 참여하는 역할), 상호작용을 위한 행위 둥)(131)와, 대응하는 상호작용의 시작조건(132) 및 종료조건(133)을 포함할 수 있다. Taking the role of the teacher R1 as an example, as the
또한, 치매노인 교육 소셜 서비스 템플릿(100)은 전술한 역할 설명(110), 행위 설명(120), 및 상호작용 설명(130) 외에, 노인 인지 교육용 작업 모델, 인지 교육 학습 환경 모델, 노인 사용자용 액터(actor) 모델, 인지 교육 교사 의도 모델 등과 같이 치매노인 교육을 위한 소셜 서비스를 수행하는데 필요한 사회성 모델들의 속성에 대해 서술하는 메타 데이터들(140)을 더 포함할 수 있다. In addition, the dementia elderly education
다시, 도 1을 보면, 템플릿 해석기(22)는 템플릿 생성기(21)에 의해 소셜 서비스 템플릿이 생성되면, 이를 해석하여 서비스 수행에 필요한 사회성 모델을 추론하여 지식정보 데이터베이스(10)로부터 가져오기 위한 질의문을 생성할 수 있다. 템플릿 해석기(22)에 의해 생성되는 질의문은, 메타 모델(17)에 기반하여 대응하는 소셜 서비스의 수행에 필요한 사회성 모델들을 지식정보 데이터베이스(10)로부터 가져오도록 생성될 수 있다. 이를 위해서, 템플릿 해석기(22)는 각 사회성 모델에 대해 메타 데이터를 부여하는 규칙을 서술하는 메타 모델(17)의 명세 정보를 메타 모델(17)과 공유하고, 이를 바탕으로 질의문을 생성할 수 있다. Referring again to FIG. 1, when the
템플릿 해석기(22)에 의해 생성되는 질의문은, 스파클(Simple Protocol and RDF Query Language, SPARQL) 형태로 작성될 수 있다. The query statement generated by the
서비스 패키지 생성기(23)는 템플릿 해석기(22)에 의해 생성된 질의문과 지식정보 데이터베이스(10) 내 메타 모델(17)에 기반하여, 대응하는 소셜 서비스의 수행에 필요한 사회성 모델들을 추론하고, 이를 지식정보 데이터베이스(10)로부터 검색하여 가져올 수 있다. 서비스 패키지 생성기(23)는 지식정보 데이터베이스(10)로부터 사회성 모델을 가져올 때, 웹 온톨로지 언어(Ontology Web Language, OWL)를 사용하여 가져올 수 있다. The
서비스 패키지 생성기(23)는 지식정보 데이터베이스(10)로부터 사회성 모델들을 가져오면, 가져온 사회성 모델들과 소셜 서비스 템플릿의 바인딩을 통해 소셜 서비스 패키지를 생성할 수 있다. 사회성 모델들과 소셜 서비스 템플릿의 바인딩 과정에서, 소셜 서비스 템플릿에 포함된 상호작용들을 소셜 서비스의 도메인에 맞게 분해 및 재조립되고, 이러한 분해 및 재조립 과정을 통해 소셜 서비스를 수행하는데 필요한 다자간 작업 즉, 상호작용을 소셜 서비스의 도메인에 맞게 재구축하여 소셜 서비스 패키지를 생성할 수 있다. The
실시 예에 따르면, 소셜 서비스를 수행하기 위한 소셜 서비스 패키지는, 소셜 서비스를 수행하는 전체 흐름을 역할 별로 서술하는 역할 설명, 소셜 서비스를 수행하는 역할들 간의 상호작용을 서술하는 상호작용 설명, 소셜 서비스에서 활용되는 컨텍스트들의 소멸과 생성에 대해 서술하는 컨텍스트 설명, 및 소셜 서비스에 필요한 지식정보를 명세한 도메인 지식을 포함할 수 있다. According to an embodiment, the social service package for performing a social service includes a role description describing the overall flow of performing the social service for each role, an interaction description describing interactions between roles performing the social service, and a social service It may include a context description that describes the destruction and creation of contexts used in and domain knowledge that specifies knowledge information required for social services.
도 5는 실시 예에 따른 소셜 서비스 패키지를 개략적으로 도시한 구조도이다. 5 is a structural diagram schematically showing a social service package according to an embodiment.
도 5를 참조하면, 실시 예에 따른 소셜 서비스 패키지(200)에서 역할 설명(210)은 대응하는 역할에 대해 정의하는 것으로, 워크플로우, 및 컨디션을 포함할 수 있다. 워크플로우는 소셜 서비스를 수행하는 전체 흐름을 목표 단위에서 역할별로 서술하고, 컨디션은 각 역할이 소셜 서비스를 수행하기 위한 사전 환경 정보를 서술할 수 있다. Referring to FIG. 5, in the
소셜 서비스 패키지(200)에서 상호작용 설명(220)은 대응하는 상호작용을 정의하는 것으로, 프로토콜 및 상호작용을 위한 행위 설명을 포함할 수 있다. 프로토콜은 각 상호작용을 수행하는 역할들(시작하는 역할과 참여하는 역할)과, 각 상호작용의 시작 조건 및 종료 조건을 서술하고, 행위 설명은 상호작용을 수행하기 위한 각 역할의 행위들에 대해 서술할 수 있다. In the
소셜 서비스 패키지(200)에서 컨텍스트 설명(230)은 소셜 서비스에서 활용되는 각 컨텍스트의 생성과 소멸에 대한 규칙에 대해 서술할 수 있다. The
소셜 서비스 패키지(200)에서 도메인 지식(240)은 소셜 서비스와 관련된 지식 정보를 포함할 수 있다. 도메인 지식(240)은 사회성 모델들이 소셜 서비스 패키지(200) 내에 바인딩 되어 생성될 수 있다.The
전술한 구조의 소셜 서비스 패키지 생성 시스템(20)에서 템플릿 생성기(21), 템플릿 해석기(22) 및 서비스 패키지 생성기(23)의 기능들은 하나 이상의 중앙 처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현되는 프로세서에 의해 수행될 수 있다.The functions of the
도 6은 실시 예에 따른 소셜 서비스 패키지 생성 시스템(20)에서 소셜 서비스 패키지를 생성하는 방법에 대해 개략적으로 도시한 것이다. 도 6의 소셜 서비스 패키지 생성 방법은 도 1을 참조하여 설명한 소셜 서비스 패키지 생성 시스템(20)에 의해 수행될 수 있다. 6 schematically illustrates a method of generating a social service package in the social service package creation system 20 according to the embodiment. The method for generating the social service package of FIG. 6 may be performed by the social service package creation system 20 described with reference to FIG. 1.
도 6을 참조하면, 실시 예에 따른 소셜 서비스 패키지 생성 시스템(20)은 서비스 개발자로부터 입력되는 작업 스크립트들에 기초하여 개발하고자 하는 소셜 서비스의 소셜 서비스 템플릿을 생성한다(S10). 여기서, 소셜 서비스 템플릿은, 개발하고자 하는 소셜 서비스를 수행하는데 필요한 역할들과 각 역할의 행위, 그리고 역할들 간의 상호작용을 메타 데이터 형태로 서술하여 대응하는 소셜 서비스의 흐름을 선언적으로 정의한 것으로서, 소셜 서비스를 수행하는 역할에 대한 역할 설명, 행위 설명 및 상호작용 설명을 포함할 수 있다.Referring to FIG. 6, the social service package generation system 20 according to an embodiment generates a social service template of a social service to be developed based on work scripts input from a service developer (S10 ). Here, the social service template declaratively defines a flow of a corresponding social service by describing roles required for performing a social service to be developed, an action of each role, and interactions between roles in the form of metadata. It may include a role description, an action description, and an interaction description for a role performing a service.
소셜 서비스 템플릿이 생성되면, 소셜 서비스 패키지 생성 시스템(20)은 소셜 서비스 템플릿을 해석하여(S11), 서비스 수행에 필요한 사회성 모델들을 지식정보 데이터베이스(10)로부터 읽어오기 위한 질의문을 생성한다(S12). 그리고, 생성된 질의문과 지식정보 데이터베이스(10) 내 메타 모델(17)을 이용하여, 소셜 서비스 수행에 필요한 사회성 모델들을 추론하여 지식정보 데이터베이스(10)로부터 가져온다(S13). When the social service template is generated, the social service package generation system 20 interprets the social service template (S11), and generates a query statement for reading social models necessary for service execution from the knowledge information database 10 (S12). ). Then, using the generated query and the meta-
소셜 서비스 패키지 생성 시스템(20)은 지식정보 데이터베이스(10)로부터 사회성 모델들을 가져오면, 가져온 사회성 모델들과 개발자에 의해 작성된 소셜 서비스 템플릿에 기반하여 소셜 서비스 수행을 위한 소셜 서비스 패키지를 생성한다(S14). The social service package creation system 20 generates social service packages for performing social services based on the imported sociality models and the social service templates created by the developer when social modeling is obtained from the knowledge information database 10 (S14) ).
소셜 서비스 패키지 생성 시스템(20)에 의해 생성된 소셜 서비스 패키지는, 외부 데이터베이스(미도시) 상에 저장되어 이를 이용하여 로봇 서비스를 개발하고자 하는 개발자 또는 이를 이용하여 로봇 서비스를 수행하고자 하는 로봇 시스템으로 배포될 수 있다. The social service package generated by the social service package creation system 20 is stored on an external database (not shown) and is a developer who wants to develop a robot service using it or a robot system that wants to perform a robot service using the social service package. Can be distributed.
전술한 바에 따르면, 실시 예에 따른 소셜 서비스 패키지 생성 방법은, 로봇이 하는 작업을 일일이 기재하여 서비스 패키지를 생성하던 기존의 방식과 달리, 개발자가 자신이 개발하고자 하는 소셜 서비스를 수행하는데 필요한 역할들과 각 역할의 행위, 그리고 역할들 간의 상호작용을 직관적으로 정의하여 템플릿을 생성하면, 이를 바탕으로 소셜 서비스 수행을 위한 서비스 패키지를 자동으로 생성할 수 있다. 따라서, 서비스 패키지의 개발 절차를 간소화하여, 개발자들의 편의성과 접근성을 향상시킬 수 있으며, 이를 통해 소셜 서비스를 위한 서비스 패키지 개발에 대한 개발자들의 적극적인 참여를 유도할 수 있다. According to the foregoing, the method for generating a social service package according to an embodiment, unlike the conventional method in which a service package is generated by individually describing the work of the robot, roles required for a developer to perform a social service he or she wants to develop When the template is created by intuitively defining the actions of each role and the interaction between roles, a service package for performing a social service can be automatically generated based on the template. Accordingly, it is possible to improve the convenience and accessibility of developers by simplifying the process of developing a service package, and thereby, to actively induce developers to participate in service package development for a social service.
또한, 하나의 주체에 대해서만 명세하던 기존의 서비스 패키지와 달리, 서비스 패키지 내에 다자간 작업을 수행하는 역할들 각각에 대해 명세하고 있어, 특정 역할이나, 환경, 로봇 등에 구애 받지 않는 서비스 패키지를 생성하는 것이 가능하여, 서비스 패키지의 호환성을 높이는 효과가 있다. In addition, unlike the existing service package that only specified for one subject, it is specified for each of the roles that perform multilateral tasks in the service package, so creating a service package regardless of a specific role, environment, robot, etc. Possible, there is an effect to increase the compatibility of the service package.
한편, 소셜 서비스 패키지는 서비스 흐름을 소셜 서비스를 수행하는 역할 별로 정의하고, 역할들의 행위를 역할들 간의 다자간 작업 즉, 상호작용으로 정의하고 있다. 따라서, 이후 로봇에서 해당 소셜 서비스 패키지를 이용하여 특정 역할을 수행하고자 하는 경우, 상호작용으로 서술된 행위들을 실제 로봇이 수행하는 로봇 작업으로 변환하는 과정이 필요하다. Meanwhile, the social service package defines a service flow for each role performing a social service, and defines an action of roles as a multi-party operation between roles, that is, interaction. Therefore, when a robot wants to perform a specific role using the corresponding social service package, there is a need for a process of converting actions described as interaction into robot tasks performed by a real robot.
다시, 도 1을 보면, 작업 및 로봇 모델 데이터베이스(30)와 로봇 서비스 패키지 변환 시스템(40)은 소셜 서비스 패키지 내에 상호작용으로 서술된 행위들을 실제 로봇이 수행하는 로봇 작업으로 변환하여 서비스 패키지를 생성하는 기능을 수해하기 위한 것이다. Referring again to FIG. 1, the task and
작업 및 로봇 모델 데이터베이스(30)는 하나 이상의 로봇 프로파일(31), 액터 모델(32), 및 작업 모델(33)들을 포함할 수 있다. The work and
로봇 프로파일(31)은 로봇이 자체적인 센서 및 행위 모듈을 구동할 수 있도록 하기 위한 프로파일로, 로봇의 기능 별로 해당 기능을 수행하기 위한 행위 모듈 등을 정의할 수 있다. 예를 들어, A 로봇의 로봇 프로파일(31)은 A 로봇이 발화인식 기능을 수행하기 위해서는 STT(Speech To Text) 모듈을 행위 모듈로 사용하고, 로봇이 발화 기능을 수행하기 위해서는 TTS(Text To Speech) 모듈을 행위 모듈로 사용함을 서술하는 정보를 포함할 수 있다. The
로봇 프로파일(31)은 로봇 서비스 개발 시스템(1)이 지원하는 로봇 타입들 각각에 대해 정의될 수 있다. 예를 들어, 로봇 서비스 개발 시스템(1)이 로봇 타입 A와 로봇 타입 B를 지원하는 경우, 작업 및 로봇 모델 데이터베이스(30)는 로봇 타임 A와 로봇 타입 B 각각에 대해 정의된 로봇 프로파일(31)들을 포함할 수 있다. The
액터 모델(32)은 소셜 서비스를 수행하는 역할들 중 로봇에게 주어진 역할에 따라 로봇이 각 행위를 수행하는데 사용하는 기능 등을 서술할 수 있다. 예를 들어, 로봇에게 교사 역할이 주어져 로봇이 학생이 학습 내용을 인지하는 행위를 수행하는 경우, 액터 모델(32)은 로봇이 발화 인식(speech recognition) 기능을 이용하여 해당 행위를 수행하도록 정의하는 정보를 포함할 수 있다. The
액터 모델(32)은 로봇 프로파일(31)과 마찬가지로 로봇 서비스 개발 시스템(1)이 지원하는 로봇 타입들 각각에 대해 정의될 수 있다. The
작업 모델(33)은 로봇에서 특정 기능을 수행하기 위해 실행 가능한 작업 계획들을 서술하는 것이다. 작업 모델(33)은 로봇이 지원하는 기능 별로 정의되어 사용될 수 있다. 예를 들어, 로봇이 이동 기능과 음성 인식 기능을 지원하는 경우, 작업 및 로봇 모델 데이터베이스(30)는 이동 기능에 대한 작업 모델(33)과 음성 인식 기능에 대한 작업 모델(33)을 포함할 수 있다.The
한편, 도 1에서는 작업 및 로봇 모델 데이터베이스(30)가 로봇 서비스 개발 시스템(1) 내에 포함되는 경우를 예로 들어 도시하였으나, 본 명의 기술적 사상이 이로 한정되는 것은 아니다. 다른 실시 예에 따르면, 작업 및 로봇 모델 데이터베이스(30)는 로봇 서비스 개발 시스템(1)의 외부 데이터베이스로 구현될 수도 있다. Meanwhile, in FIG. 1, the case where the work and
다시, 도 1을 보면, 로봇 서비스 패키지 변환 시스템(40)은 소셜 서비스 패키지를 실제 로봇에 적용할 로봇 서비스 패키지로 변환하는 기능을 수행하는 시스템이다. 이러한 로봇 서비스 패키지 변환 시스템(40)은 로봇 작업 생성기(42), 및 서비스 패키지 변환기(43)를 포함할 수 있다. Referring again to FIG. 1, the robot service
소셜 서비스 패키지 해석기(41)는 로봇에서 수행하고자 하는 소셜 서비스가 정해지면, 해당 소셜 서비스의 소셜 서비스 패키지를 외부 데이터베이스(미도시)로부터 가져올 수 있다. 그리고, 소셜 서비스 패키지를 수행하는 각 역할에 대한 액터가 결정되면, 이를 바탕으로 소셜 서비스 패키지로부터 로봇이 실제 수행하는 행위들을 추론할 수 있다. 즉, 소셜 서비스 패키지 해석기(42)는 소셜 서비스 패키지에서 다자간 작업으로 표현된 상호작용들을 행위 단위로 분해하고, 로봇에 부여된 역할에 따라 로봇이 실제 수행해야 하는 행위들만 추론할 수 있다. The social
로봇 작업 생성기(42)는 소셜 서비스 패키지 해석기(41)에 의해 로봇이 수행해야 하는 행위들이 추출되면, 대응하는 로봇 프로파일(31) 및 액터 모델(32)을 참조하여, 로봇이 각 행위를 수행하기 위해 사용하는 기능과, 로봇이 해당 기능을 수행하는데 실제 사용하는 행위 모듈을 추론하고, 이를 바탕으로 작업 모델(33)로부터 로봇이 실제 수행할 작업 계획을 가져올 수 있다.When the actions to be performed by the robot are extracted by the social
도 7은 실시 예에 따른 로봇 서비스 패키지 변환 시스템(40)이 소셜 서비스 패키지에 포함된 상호작용으로부터 로봇 작업을 도출하는 일 예를 도시한 것이다. 7 illustrates an example in which the robot service
도 7을 예로 예로 들면, 로봇 서비스 패키지 변환 시스템(40)은 로봇에 교사 역할이 할당되면, 소셜 서비스 패키지(200)에 정의된 상호작용들 중 교사 역할이 포함된 상호작용 모델(220-1)을 해석하여, 상호작용을 구성하는 행위들(A1, A2) 중 교사 역할의 로봇이 수행해야 하는 행위들을 추론한다. 도 7의 경우, 교사 역할의 학습 내용 전달(A1)과 학습 내용 인지 인식(A2)이 로봇이 수행해야 하는 행위들로 추출될 수 있다. 이후, 로봇 서비스 패키지 변환 시스템(40)은 작업 및 로봇 모델 데이터베이스(30)에 저장된 로봇 프로파일(31) 및 액터 모델(32)과 연계하여, 로봇이 수행해야 하는 각 행위에 대응하는 작업 계획들(plan1, plan2)을 작업 모델(33)로부터 가져올 수 있다. 7 as an example, when the robot service
서비스 패키지 변환기(43)는, 소셜 서비스 패키지 해석기(41) 및 로봇 작업 생성기(42)가 로봇 프로파일(31) 및 액터 모델(32)을 바탕으로 소셜 서비스 패키지를 해석하여 로봇의 작업 계획들을 획득하면, 이를 바탕으로 소셜 서비스 패키지를 로봇에서의 서비스 제공을 위한 서비스 패키지(이하, '로봇 서비스 패키지'라 명명하여 사용함)로 변환할 수 있다. The
도 8은 실시 예에 따른 소셜 서비스 패키지를 개략적으로 도시한 구조도이다. 8 is a structural diagram schematically showing a social service package according to an embodiment.
도 8을 참조하면, 서비스 패키지 변환기(43)는 로봇에게 할당된 역할을 참조하여 소셜 서비스 패키지(200)에서 역할 단위로 정의된 역할 설명(210)을 로봇 서비스 패키지(300)의 서비스 설명(310)으로 변환할 수 있다. 또한, 서비스 패키지 변환기(43)는 로봇 작업 생성기(42)에 의해 획득된 작업계획들을 참조하여, 소셜 서비스 패키지(200)에서 다자간 작업으로 정의되던 상호작용 설명(220)을 로봇 서비스 패키지(300)의 작업 설명(320)으로 변환하고, 소셜 서비스 패키지(200)에 정의된 컨텍스트 설명(230)과 도메인 지식(240)들을 로봇 서비스 패키지(300)의 컨텍스트 설명(330)과 도메인 지식(340)으로 변환할 수 있다. Referring to FIG. 8, the
로봇 서비스 패키지(300)의 서비스 설명(310)은 서비스 단위로 정의된 워크 플로우 및 컨디션을 포함하고, 작업 설명(320)은 대응하는 로봇 서비스를 수행하기 위한 작업 계획들에 대해 정의할 수 있다. 또한, 컨텍스트 설명(330)은 로봇 서비스에서 활용되는 각 컨텍스트의 생성과 소멸에 대한 규칙에 대해 서술하고, 도메인 지식(340)은 로봇 서비스와 관련된 지식 정보를 포함할 수 있다. The
전술한 구조의 로봇 서비스 패키지 변환 시스템(40)에서 소셜 서비스 패키지 해석기(41), 로봇 작업 생성기(42) 및 로봇 서비스 패키지 변환기(43)의 기능들은 하나 이상의 중앙 처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현되는 프로세서에 의해 수행될 수 있다.The functions of the social
도 9는 실시 예에 따른 로봇 서비스 패키지 변환 시스템(40)의 로봇 서비스 패키지 생성 방법을 개략적으로 도시한 것이다. 도 9의 로봇 서비스 패키지 생성 방법은, 도 1을 참조하여 설명한 로봇 서비스 패키지 변환 시스템(40)에 의해 수행될 수 있다.9 schematically illustrates a method of generating a robot service package of the robot service
도 9를 참조하면, 실시 예에 따른 로봇 서비스 패키지 변환 시스템(40)은 로봇이 수행하고자 하는 소셜 서비스의 소셜 서비스 패키지를 외부 데이터로부터 읽어오고(S20), 이를 해석(S21)하여 소셜 서비스 패키지 내 다자간 작업으로 정의된 상호작용들로부터 로봇에 부여된 역할에 따라 로봇이 실제 수행해야 하는 행위들만 추론한다. Referring to FIG. 9, the robot service
소셜 서비스 패키지로부터 로봇이 실제 수행해야 하는 행위들이 추출되면, 로봇 서비스 패키지 변환 시스템(40)은 대응하는 로봇 프로파일(31) 및 액터 모델(32)을 참조하여, 로봇이 각 행위를 수행하기 위해 사용하는 기능과, 해당 기능을 수행하는데 실제 사용되는 로봇의 행위 모듈을 추론하고, 이를 바탕으로 작업 모델(33)로부터 로봇이 실제 수행할 작업을 가져온다(S22). 그리고, 가져온 로봇 작업들을 바탕으로 소셜 서비스 패키지를 로봇에서의 서비스 제공을 위한 로봇 서비스 패키지로 변환한다(S23). When the actions to be actually performed by the robot are extracted from the social service package, the robot service
이렇게 생성된 로봇 서비스 패키지는, 이후 서비스를 수행하는 로봇 시스템에 플러그 앤 플레이될 수 있다. The robot service package thus generated may be plugged and played into a robot system that performs a service.
전술한 바에 따르면, 실시 예에 따른 로봇 서비스 패키지 생성 방법은 소셜 서비스 패키지에서 다자간 작업으로 정의된 상호작용으로부터, 로봇에 주어진 역할에 해당하는 행위들만 자동으로 추출하고, 이를 토대로 로봇이 수행해야 하는 작업을 자동으로 정의하여 로봇 서비스 패키지를 생성한다. 이에 따라, 다자간 작업을 필요로 하는 소셜 서비스를 로봇이 특정 역할이 되어 수행하는 서비스를 제공하고자 하는 경우, 로봇에 적용할 서비스 패키지의 개발을 용이하게 하여, 개발자의 부담이 감소하고, 이로 인해 로봇 서비스 개발에 대한 개발자의 편의성 및 접근성이 향상될 수 있다. According to the above, the robot service package generation method according to the embodiment automatically extracts only actions corresponding to a role given to the robot from the interaction defined as a multi-party operation in the social service package, and the robot needs to perform the operation based on this Defines automatically to create a robot service package. Accordingly, when a robot wants to provide a service that performs a social service that requires a multi-party operation by performing a specific role, it facilitates the development of a service package to be applied to the robot, reducing the burden on the developer, and thereby the robot. The convenience and accessibility of developers for service development can be improved.
한편, 전술한 실시 예에서는 로봇 서비스 개발 시스템(1)이 로봇 시스템(미도시)과 별도로 존재하는 경우를 예로 들어 설명하였으나, 본 발명의 기술적 사상이 이로 한정되는 것은 아니다. 다른 실시 예에서는 로봇 서비스 개발 시스템(1)을 구성하는 적어도 일부의 구성 요소들이 로봇 내에 구현되어 사용될 수도 있다. 예를 들어, 전술한 로봇 서비스 패키지 변환 시스템(40)이 로봇 내부에 구현되어 사용될 수 있다. 이 경우, 로봇은 자신이 수행해야 하는 소셜 서비스와 해당 서비스에서의 자신의 역할이 정해지면, 로봇 서비스 패키지 변환 시스템(40)을 통해 대응하는 소셜 서비스 패키지를 자신의 역할에 맞는 로봇 서비스 패키지로 자동 변환하고, 이를 자신의 로봇 시스템에 플러그 앤 플레이할 수 있다. 예를 들어, 전술한 소셜 서비스 패키지 생성 시스템(20) 및 로봇 서비스 패키지 변환 시스템(40)이 로봇 내부에 구현되어 사용될 수 있다. 이 경우, 로봇은 소셜 서비스 패키지 생성 시스템(20)을 통해 자신이 수행해야 하는 소셜 서비스에 대해 선언적으로 명세한 템플릿을 이용하여 소셜 서비스 패키지를 자동 생성하고, 로봇 서비스 패키지 변환 시스템(40)을 통해 이를 다시 자신의 역할에 맞는 로봇 서비스 패키지로 변환한 뒤, 이를 자신의 로봇 시스템에 플러그 앤 플레이할 수 있다. Meanwhile, in the above-described embodiment, the case where the robot service development system 1 exists separately from the robot system (not shown) is described as an example, but the technical spirit of the present invention is not limited thereto. In another embodiment, at least some components constituting the robot service development system 1 may be implemented and used in the robot. For example, the aforementioned robot service
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위해 기록매체에 기록된 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiment of the present invention is not implemented only through the apparatus and/or method described above, and a program recorded in a recording medium or a recording medium in which the program is recorded is realized in order to realize a function corresponding to the configuration of the embodiment of the present invention. It may be implemented through, such an implementation can be easily implemented by those skilled in the art to which the present invention belongs from the description of the above-described embodiment.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of rights of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
1: 로봇 서비스 개발 시스템
10: 지식정보 데이터베이스
11~16: 사회성 모델
17: 메타 모델
20: 소셜 서비스 패키지 생성 시스템
21: 템플릿 생성기
22: 템플릿 해석기
23: 서비스 패키지 생성기
30: 작업 및 로봇 모델 데이터베이스
31: 로봇 프로파일
32: 액터 모델
33: 작업 모델
40: 로봇 서비스 패키지 변환 시스템
41: 소셜 서비스 패키지 해석기
42: 로봇 작업 생성기
100: 소셜 서비스 템플릿
200: 소셜 서비스 패키지
300: 로봇 서비스 패키지
. 1: Robot service development system
10: Knowledge information database
11~16: Sociality model
17: meta model
20: social service package creation system
21: Template Generator
22: Template interpreter
23: Service Package Generator
30: Work and robot model database
31: robot profile
32: actor model
33: working model
40: robot service package conversion system
41: social service package interpreter
42: robot task generator
100: social service template
200: social service package
300: robot service package
.
Claims (14)
복수의 온톨로지 모델 각각에 부여된 메타 데이터들을 포함하는 메타 모델과 상기 템플릿에 기초하여, 상기 복수의 온톨로지 모델 중 상기 로봇 서비스의 수행에 필요한 적어도 하나의 온톨로지 모델을 추론하는 질의문을 생성하는 템플릿 해석기, 및
상기 질의문을 바탕으로 추론된 상기 적어도 하나의 온톨로지 모델과 상기 템플릿을 바인딩하여, 상기 로봇 서비스를 수행하는 복수의 역할 별로 상기 로봇 서비스의 흐름을 설명하는 역할 설명, 상기 복수의 역할 간의 상호작용을 설명하는 상호작용 설명, 및 상기 로봇 서비스에 필요한 지식정보를 포함하는 서비스 패키지를 생성하는 서비스 패키지 생성기를 포함하는 로봇 서비스 개발 시스템. Template generator that generates a template declaratively describing the flow of a robot service that requires multi-party work based on information input from a developer,
A template interpreter that generates a query statement for inferring at least one ontology model necessary to perform the robot service among the plurality of ontology models, based on the meta model and the template including meta data assigned to each of the plurality of ontology models. , And
Role description for explaining the flow of the robot service for each of the plurality of roles for performing the robot service by binding the at least one ontology model inferred based on the query statement and the template, and interaction between the plurality of roles A robot service development system including a service package generator for generating a service package including an interaction description to be described and knowledge information required for the robot service.
상기 템플릿은 상기 복수의 역할과, 상기 복수의 역할 각각의 행위들, 그리고 상기 복수의 역할 간의 상호작용을 메타 데이터 형태로 서술한 것을 특징으로 하는 로봇 서비스 개발 시스템. According to claim 1,
The template is a robot service development system, characterized in that the plurality of roles, the actions of each of the plurality of roles, and the interaction between the plurality of roles are described in the form of metadata.
상기 서비스 패키지 생성기는, 상기 적어도 하나의 온톨로지 모델을 바탕으로 상기 템플릿에 서술된 상호작용들을 상기 로봇 서비스의 도메인에 맞는 상호작용으로 분해 및 재조립하여 상기 서비스 패키지를 생성하는 것을 특징으로 하는 로봇 서비스 개발 시스템. According to claim 2,
The service package generator, based on the at least one ontology model, decomposes and reassembles interactions described in the template into interactions suitable for the domain of the robot service to generate the service package. Development system.
상기 메타 데이터는 상기 복수의 온톨로지 모델 각각의 속성을 선언적으로 서술하는 것을 특징으로 하는 로봇 서비스 개발 시스템. According to claim 1,
The metadata is a robot service development system, characterized in that declaratively describes the properties of each of the plurality of ontology models.
상기 역할 설명은, 상기 로봇 서비스의 목표 흐름을 역할 별로 서술하는 워크플로우 및 상기 로봇 서비스를 수행하기 위한 사전 환경 정보에 대응하는 컨디션을 포함하는 것을 특징으로 하는 로봇 서비스 개발 시스템. According to claim 1,
The role description, the robot service development system comprising a workflow for describing the target flow of the robot service for each role and a condition corresponding to pre-environment information for performing the robot service.
상기 상호작용 설명은, 각 상호작용을 수행하는 역할들, 상기 각 상호작용의 시작조건 및 종료조건, 및 상기 각 상호작용을 수행하기 위한 행위 설명을 포함하는 것을 특징으로 하는 로봇 서비스 개발 시스템. According to claim 1,
The interaction description includes a role for performing each interaction, a start condition and an end condition for each interaction, and a robot service development system, characterized in that it includes an action description for performing each interaction.
상기 서비스 패키지는,
상기 로봇 서비스에서 활용되는 컨텍스트들의 소멸 및 생성에 대한 규칙을 서술하는 컨텍스트 설명을 더 포함하는 로봇 서비스 개발 시스템. According to claim 1,
The service package,
A robot service development system further comprising a context description describing rules for the destruction and generation of contexts used in the robot service.
개발자로부터 입력되는 정보에 기반하여, 다자간 작업을 필요로 하는 로봇 서비스의 흐름을 선언적으로 서술한 템플릿을 생성하는 단계,
복수의 온톨로지 모델 각각에 부여된 메타 데이터들을 포함하는 메타 모델과 상기 템플릿에 기초하여, 상기 복수의 온톨로지 모델 중 상기 로봇 서비스의 수행에 필요한 적어도 하나의 온톨로지 모델을 추론하는 질의문을 생성하는 단계,
상기 질의문을 이용하여 상기 복수의 온톨로지 모델 중 상기 적어도 하나의 온톨로지 모델을 가져오는 단계, 및
상기 적어도 하나의 온톨로지 모델과 상기 템플릿을 바인딩하여, 상기 로봇 서비스를 수행하는 복수의 역할 별로 상기 로봇 서비스의 흐름을 설명하는 역할 설명, 상기 복수의 역할 간의 상호작용을 설명하는 상호작용 설명, 및 상기 로봇 서비스에 필요한 지식정보를 포함하는 서비스 패키지를 생성하는 단계를 포함하는 서비스 패키지 생성 방법. In the service package generation method of the robot service development system,
Generating a template declaratively describing the flow of a robot service that requires multi-party work based on information input from a developer,
Generating a query statement for inferring at least one ontology model required to perform the robot service among the plurality of ontology models, based on the template and the meta model including meta data assigned to each of the plurality of ontology models,
Obtaining the at least one ontology model among the plurality of ontology models using the query statement, and
A role description for explaining the flow of the robot service for each of the plurality of roles for performing the robot service by binding the at least one ontology model and the template, an interaction description for explaining interactions between the plurality of roles, and the A service package generating method comprising the step of generating a service package including knowledge information required for a robot service.
상기 템플릿을 생성하는 단계는,
상기 개발자로부터 입력되는 작업 스크립트에 기초하여, 상기 복수의 역할과, 상기 복수의 역할 각각의 행위들, 그리고 상기 복수의 역할 간의 상호작용을 메타 데이터 형태로 서술하는 상기 템플릿을 생성하는 단계를 포함하는 것을 특징으로 하는 서비스 패키지 생성 방법. The method of claim 8,
The step of generating the template,
And generating the template describing metadata of the plurality of roles, actions of each of the plurality of roles, and interactions between the plurality of roles based on a work script input from the developer. Method of creating a service package, characterized in that.
상기 서비스 패키지를 생성하는 단계는,
상기 적어도 하나의 온톨로지 모델을 바탕으로 상기 템플릿에 서술된 상호작용들을 상기 로봇 서비스의 도메인에 맞는 상호작용으로 분해 및 재조립하여 상기 서비스 패키지를 생성하는 단계를 포함하는 것을 특징으로 하는 서비스 패키지 생성 방법.The method of claim 9,
The step of generating the service package,
And generating and disassembling and reassembling the interactions described in the template into interactions suitable for the domain of the robot service based on the at least one ontology model to generate the service package. .
상기 상호작용 설명은, 각 상호작용을 수행하는 역할들, 상기 각 상호작용의 시작조건 및 종료조건, 및 상기 각 상호작용을 수행하기 위한 행위 설명을 포함하며, 상기 템플릿에 서술된 상호작용들을 분해 및 재조립하여 생성되는 것을 특징으로 하는 서비스 패키지 생성 방법.The method of claim 10,
The interaction description includes roles for performing each interaction, a start condition and an end condition for each interaction, and an action description for performing each interaction, and decomposes the interactions described in the template And re-assembled to generate the service package.
상기 메타 데이터는 상기 복수의 온톨로지 모델 각각의 속성을 선언적으로 서술하는 것을 특징으로 하는 서비스 패키지 생성 방법.The method of claim 8,
The meta data declaratively describes the properties of each of the plurality of ontology models.
상기 역할 설명은, 상기 로봇 서비스의 목표 흐름을 역할 별로 서술하는 워크플로우 및 상기 로봇 서비스를 수행하기 위한 사전 환경 정보에 대응하는 컨디션을 포함하는 것을 특징으로 하는 서비스 패키지 생성 방법.The method of claim 8,
The role description includes a workflow for describing a target flow of the robot service for each role and a condition corresponding to pre-environment information for performing the robot service.
상기 서비스 패키지는,
상기 로봇 서비스에서 활용되는 컨텍스트들의 소멸 및 생성에 대한 규칙을 서술하는 컨텍스트 설명을 더 포함하는 서비스 패키지 생성 방법.
The method of claim 8,
The service package,
A service package generation method further comprising a context description describing rules for destruction and generation of contexts used in the robot service.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180169115A KR102143603B1 (en) | 2018-12-26 | 2018-12-26 | Service package authoring method and robot service development system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180169115A KR102143603B1 (en) | 2018-12-26 | 2018-12-26 | Service package authoring method and robot service development system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200079703A true KR20200079703A (en) | 2020-07-06 |
KR102143603B1 KR102143603B1 (en) | 2020-08-11 |
Family
ID=71571285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180169115A KR102143603B1 (en) | 2018-12-26 | 2018-12-26 | Service package authoring method and robot service development system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102143603B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230007147A (en) * | 2021-07-05 | 2023-01-12 | 한국생산기술연구원 | Method and device for generating robot task planning from assembly instruction |
KR20230081379A (en) | 2021-11-30 | 2023-06-07 | 서울시립대학교 산학협력단 | Method for multi-robot task processing using organization based task specification and apparatus thereof |
KR20230081380A (en) | 2021-11-30 | 2023-06-07 | 서울시립대학교 산학협력단 | Method for multi-robot task processing allocating tasks to robots and apparatus thereof |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230103493A (en) | 2021-12-31 | 2023-07-07 | 서울시립대학교 산학협력단 | Method and module for determining social action using social parameter |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060063561A (en) * | 2004-12-07 | 2006-06-12 | 한국전자통신연구원 | System and method for generation of robot service plan |
-
2018
- 2018-12-26 KR KR1020180169115A patent/KR102143603B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060063561A (en) * | 2004-12-07 | 2006-06-12 | 한국전자통신연구원 | System and method for generation of robot service plan |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230007147A (en) * | 2021-07-05 | 2023-01-12 | 한국생산기술연구원 | Method and device for generating robot task planning from assembly instruction |
KR20230081379A (en) | 2021-11-30 | 2023-06-07 | 서울시립대학교 산학협력단 | Method for multi-robot task processing using organization based task specification and apparatus thereof |
KR20230081380A (en) | 2021-11-30 | 2023-06-07 | 서울시립대학교 산학협력단 | Method for multi-robot task processing allocating tasks to robots and apparatus thereof |
WO2023101365A1 (en) * | 2021-11-30 | 2023-06-08 | 서울시립대학교 산학협력단 | Method and device for processing multi-robot work by using group-based work description |
WO2023101368A1 (en) * | 2021-11-30 | 2023-06-08 | 서울시립대학교 산학협력단 | Multi-robot task processing method and apparatus for assigning tasks to robots |
KR20240009526A (en) | 2021-11-30 | 2024-01-22 | 아리카 주식회사 | Method for multi-robot task processing allocating tasks to robots and apparatus thereof |
Also Published As
Publication number | Publication date |
---|---|
KR102143603B1 (en) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ross et al. | The programmer’s assistant: Conversational interaction with a large language model for software development | |
KR102143603B1 (en) | Service package authoring method and robot service development system | |
KR102106193B1 (en) | Methods and systems for managing dialogs of a robot | |
Coronado et al. | A cognitive assistant for learning java featuring social dialogue | |
Dibia | Lida: A tool for automatic generation of grammar-agnostic visualizations and infographics using large language models | |
Çetinkaya et al. | Model continuity in discrete event simulation: A framework for model-driven development of simulation models | |
CN115796299A (en) | Transparent and controllable human-intelligent interaction via a chain of machine-learned language models | |
Buchina et al. | Design and evaluation of an end-user friendly tool for robot programming | |
Stefanidi et al. | ParlAmI: a multimodal approach for programming intelligent environments | |
Trovato et al. | A novel greeting selection system for a culture-adaptive humanoid robot | |
Pastor | Conceptual modeling of life: beyond the homo sapiens | |
Canal et al. | PlanVerb: Domain-Independent Verbalization and Summary of Task Plans | |
Atzeni et al. | Towards semantic approaches for general-purpose end-user development | |
Foster et al. | Task-based evaluation of context-sensitive referring expressions in human–robot dialogue | |
KR102143602B1 (en) | Service package authoring method and robot service development system | |
JP2018072784A (en) | Voice recognition method, computer program, and device | |
Kim et al. | Speak your mind: Introducing aptly, the software platform that turns ideas into working apps | |
Stöckl | Natural language interface for data visualization with deep learning based language models | |
Blumendorf | Multimodal interaction in smart environments: a model-based runtime system for ubiquitous user interfaces. | |
McLean et al. | Computer programming in the creative arts | |
Singh et al. | Effective Analysis of Chatbot Frameworks: RASA and Dialogflow | |
Yaghoubzadeh et al. | Enabling robust and fluid spoken dialogue with cognitively impaired users | |
Feld et al. | Software platforms and toolkits for building multimodal systems and applications | |
Monge Roffarello et al. | Defining Trigger-Action Rules via Voice: A Novel Approach for End-User Development in the IoT | |
Bouchet et al. | A framework for modeling the relationships between the rational and behavioral reactions of assisting conversational agents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |