KR102429334B1 - An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments - Google Patents

An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments Download PDF

Info

Publication number
KR102429334B1
KR102429334B1 KR1020210099066A KR20210099066A KR102429334B1 KR 102429334 B1 KR102429334 B1 KR 102429334B1 KR 1020210099066 A KR1020210099066 A KR 1020210099066A KR 20210099066 A KR20210099066 A KR 20210099066A KR 102429334 B1 KR102429334 B1 KR 102429334B1
Authority
KR
South Korea
Prior art keywords
user
mashup
iot
confirmation
user command
Prior art date
Application number
KR1020210099066A
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 한국과학기술원
Priority to KR1020210099066A priority Critical patent/KR102429334B1/en
Application granted granted Critical
Publication of KR102429334B1 publication Critical patent/KR102429334B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

An implicit-based interaction method and device for modifying automation rules in an IoT environment are presented. The method proposed by the present invention includes the steps of: recognizing a user command by converting a user command in voice form into text using a natural language processing model by a user command recognizing unit, and then extracting identifiers including object, operation, parameter, and location to recognize the user command; if the user command is recognized by a user command recognizing unit, providing the recognized content to a user terminal through a control unit, and controlling to display a message to the user terminal to add or stop the user command; taking the user command without redundant phrases for a previous IoT service called through mashup storage according to a message to add or stop the user command so as to iteratively add user commands, combine IoT services, and create and store mashups; if a recognition error occurs in a generated mashup, performing recovering from an error by canceling the execution of the corresponding user command without restarting the entire conversation through an error correction unit; and generating feedback for implicit confirmation through a feedback generation unit to inspect suggestion confirmation, and progress confirmation of the IoT service related to the recognized user command to check the need for implicit confirmation, suggestion confirmation, and progress confirmation, and confirmation, and delivering the generated feedback to the user terminal if necessary. IoT service mashups can be configured using simple and intuitive user commands.

Description

IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 모델{An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments}An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments

본 발명은 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법 및 장치에 관한 것이다. The present invention relates to an implication-based interaction method and apparatus for modifying automation rules in an IoT environment.

스마트 홈 및 스마트 오피스와 같은 사물 인터넷(Internet of Things; IoT) 환경에서 사용자는 여러 IoT 장치의 기능에 액세스하고 개인화하여 목표를 달성하는 것을 목표로 한다. 이를 위해서는 낮은 수준의 기술적 세부 사항을 고려하지 않고 높은 수준에서 자신의 관점에서 IoT 장치의 기능을 결합할 수 있어야 한다[1]. 일부 종래기술에서는 사용자가 IoT 장치의 기능을 고급 서비스로 결합할 수 있는 IoT 서비스 매시업 방법을 제안하였다[2, 3, 4, 5]. 사용자가 IoT 서비스 매시업을 생성하고 관리하는 가장 일반적인 접근 방식은 시각적 인터페이스를 통한 것이다. 여기서, 각 IoT 서비스는 아이콘이나 블록과 같은 시각적 구성 요소로 표시되고 실행 순서는 IoT 서비스 간의 연결 흐름 또는 단순화된 규칙으로 지정된다. In the Internet of Things (IoT) environment, such as smart homes and smart offices, users aim to achieve their goals by accessing and personalizing the functions of multiple IoT devices. This requires the ability to combine the capabilities of IoT devices from their point of view at a high level without considering low level technical details [1]. Some prior technologies have proposed an IoT service mashup method that allows users to combine the functions of IoT devices into advanced services [2, 3, 4, 5]. The most common approach for users to create and manage IoT service mashups is through a visual interface. Here, each IoT service is represented by a visual component such as an icon or block, and the execution order is specified as a connection flow between IoT services or a simplified rule.

최근에는 스마트 스피커와 같은 음성 지원 IoT 장치를 통해 IoT 서비스 매시업을 관리하려는 사용자의 요구가 증가하고 있다[6, 7, 8]. 사용자는 일상 생활에서 서비스 매시업을 생성, 수정 및 제거해야 할 때 기존 시각적 접근 방식의 손쉬운 방법을 원한다[6]. 일부 종래기술에서는 대화형 IoT 서비스 매시업의 요구에 대해 대화형 에이전트의 사용을 제안하였다[8, 9]. 대화형 에이전트는 Alexa1 또는 Google Assistant2와 같은 자연어 기반 상호작용 시스템이다. 사용자는 대화형 에이전트와 상호작용하여 자연어로된 IoT 서비스의 간단한 기능을 제어할 수 있다[8, 10]. Recently, there is an increasing demand from users to manage IoT service mashups through voice-enabled IoT devices such as smart speakers [6, 7, 8]. Users want an easy way of traditional visual approaches when they need to create, modify and remove service mashups in their daily life [6]. In some prior art, the use of interactive agent has been proposed for the needs of interactive IoT service mashup [8, 9]. Conversational agents are natural language-based interaction systems such as Alexa1 or Google Assistant2. Users can interact with interactive agents to control simple functions of IoT services in natural language [8, 10].

이에 반해 최근 종래기술에 따르면 스마트 홈 환경에서 숙련된 사용자가 생성하는 IoT 서비스 매시업의 약 1/3이 3개 이상의 IoT 장치 또는 서비스를 연결하고 있다[11]. IoT 서비스 매시업을 위한 기존 대화형 에이전트는 사용자와 에이전트 간의 상호작용이 주로 하나의 요청 명령과 하나의 응답으로 구성되는 단일 발화 접근 방식에 의존한다. 그러나 기존 에이전트를 이용하여 이러한 복잡한 매시업을 구성할 때 하나의 명령으로는 복잡한 사용자 요구를 표현하기에 충분하지 않으며, 이는 여러 IoT 서비스를 후속 액션으로 조정하여 충족해야 한다. 따라서 사용자가 3개 이상의 IoT 서비스로 구성된 IoT 서비스 매시업을 생성하기 위해서는 대화형 에이전트를 사용하여 사용자를 지원할 필요가 있다. On the other hand, according to the recent prior art, about 1/3 of the IoT service mashups created by skilled users in the smart home environment connect three or more IoT devices or services [11]. Existing interactive agents for IoT service mashups rely on a single utterance approach, where the interaction between the user and the agent mainly consists of one request command and one response. However, when constructing such complex mashups using existing agents, a single command is not sufficient to express complex user needs, which must be met by coordinating multiple IoT services with subsequent actions. Therefore, in order for a user to create an IoT service mashup consisting of three or more IoT services, it is necessary to support the user using an interactive agent.

단일 발화 접근 방식의 문제 외에도 기존 에이전트는 IoT 서비스 매시업 수정을 지원하지 않는 또 다른 문제가 있다. 생성된 매시업을 수정하는 것은, IoT 환경의 사용자가 전문 개발자가 아니기 때문에 IoT 환경의 사용자에게 일반적이다[12, 13, 14]. 사용자는 반복적인 매시업 수정 과정을 통해 매시업을 다듬기 때문에 생성된 IoT 서비스 매시업의 수정을 지원하는 것이 중요하다. 그러나 기존 에이전트들은 사용성 면에서 도전적인 것으로 여겨져 수정을 지원하지 않는다. 매시업을 수정하기 위해서는 사용자가 현재 배포된 매시업 목록을 듣고 대화형 인터페이스를 통해 그 중 하나를 선택하는 것이 필수적이라고 여겨졌다[15]. 이러한 접근 방식은 사용자에게 비효율적이며 사용자에게 많은 인지 부하를 가하는 사용성의 문제가 있다[16]. 따라서 불필요한 매시업 정보를 청취하는 등 불필요한 상호작용의 길이를 최소화하면서 IoT 서비스 매시업의 수정을 지원하는 것을 필요로 한다. In addition to the problem of the single utterance approach, there is another problem that existing agents do not support modifying IoT service mashups. Modifying the generated mashup is common for users of IoT environments because they are not professional developers [12, 13, 14]. Because users refine the mashup through an iterative process of modifying the mashup, it is important to support the modification of the created IoT service mashup. However, existing agents do not support modifications as they are considered challenging in terms of usability. In order to modify the mashup, it was considered essential for the user to listen to a list of currently distributed mashups and select one of them through an interactive interface [15]. This approach is inefficient for the user and has a usability problem that imposes a large cognitive load on the user [16]. Therefore, it is necessary to support the modification of the IoT service mashup while minimizing the length of unnecessary interactions, such as listening to unnecessary mashup information.

스마트 홈 및 스마트 오피스와 같은 사물 인터넷(Internet of Things; IoT) 환경에서 사용자는 여러 IoT 장치의 기능에 액세스하고 개인화하여 목표를 달성하는 것을 목표로 한다. 이를 위해서는 낮은 수준의 기술적 세부 사항을 고려하지 않고 높은 수준에서 자신의 관점에서 IoT 장치의 기능을 결합할 수 있어야 한다[1]. 일부 종래기술에서는 사용자가 IoT 장치의 기능을 고급 서비스로 결합할 수 있는 IoT 서비스 매시업 방법을 제안하였다[2, 3, 4, 5]. 사용자가 IoT 서비스 매시업을 생성하고 관리하는 가장 일반적인 접근 방식은 시각적 인터페이스를 통한 것이다. 여기서, 각 IoT 서비스는 아이콘이나 블록과 같은 시각적 구성 요소로 표시되고 실행 순서는 IoT 서비스 간의 연결 흐름 또는 단순화된 규칙으로 지정된다. In the Internet of Things (IoT) environment, such as smart homes and smart offices, users aim to achieve their goals by accessing and personalizing the functions of multiple IoT devices. This requires the ability to combine the capabilities of IoT devices from their point of view at a high level without considering low level technical details [1]. Some prior technologies have proposed an IoT service mashup method that allows users to combine the functions of IoT devices into advanced services [2, 3, 4, 5]. The most common approach for users to create and manage IoT service mashups is through a visual interface. Here, each IoT service is represented by a visual component such as an icon or block, and the execution order is specified as a connection flow between IoT services or a simplified rule.

최근에는 스마트 스피커와 같은 음성 지원 IoT 장치를 통해 IoT 서비스 매시업을 관리하려는 사용자의 요구가 증가하고 있다[6, 7, 8]. 사용자는 일상 생활에서 서비스 매시업을 생성, 수정 및 제거해야 할 때 기존 시각적 접근 방식의 손쉬운 방법을 원한다[6]. 일부 종래기술에서는 대화형 IoT 서비스 매시업의 요구에 대해 대화형 에이전트의 사용을 제안하였다[8, 9]. 대화형 에이전트는 Alexa1 또는 Google Assistant2와 같은 자연어 기반 상호작용 시스템이다. 사용자는 대화형 에이전트와 상호작용하여 자연어로된 IoT 서비스의 간단한 기능을 제어할 수 있다[8, 10]. Recently, there is an increasing demand from users to manage IoT service mashups through voice-enabled IoT devices such as smart speakers [6, 7, 8]. Users want an easy way of traditional visual approaches when they need to create, modify and remove service mashups in their daily life [6]. In some prior art, the use of interactive agent has been proposed for the needs of interactive IoT service mashup [8, 9]. Conversational agents are natural language-based interaction systems such as Alexa1 or Google Assistant2. Users can interact with interactive agents to control simple functions of IoT services in natural language [8, 10].

이에 반해 최근 종래기술에 따르면 스마트 홈 환경에서 숙련된 사용자가 생성하는 IoT 서비스 매시업의 약 1/3이 3개 이상의 IoT 장치 또는 서비스를 연결하고 있다[11]. IoT 서비스 매시업을 위한 기존 대화형 에이전트는 사용자와 에이전트 간의 상호작용이 주로 하나의 요청 명령과 하나의 응답으로 구성되는 단일 발화 접근 방식에 의존한다. 그러나 기존 에이전트를 이용하여 이러한 복잡한 매시업을 구성할 때 하나의 명령으로는 복잡한 사용자 요구를 표현하기에 충분하지 않으며, 이는 여러 IoT 서비스를 후속 액션으로 조정하여 충족해야 한다. 따라서 사용자가 3개 이상의 IoT 서비스로 구성된 IoT 서비스 매시업을 생성하기 위해서는 대화형 에이전트를 사용하여 사용자를 지원할 필요가 있다. On the other hand, according to the recent prior art, about 1/3 of the IoT service mashups created by skilled users in the smart home environment connect three or more IoT devices or services [11]. Existing interactive agents for IoT service mashups rely on a single utterance approach, where the interaction between the user and the agent mainly consists of one request command and one response. However, when constructing such complex mashups using existing agents, a single command is not sufficient to express complex user needs, which must be met by coordinating multiple IoT services with subsequent actions. Therefore, in order for a user to create an IoT service mashup consisting of three or more IoT services, it is necessary to support the user using an interactive agent.

단일 발화 접근 방식의 문제 외에도 기존 에이전트는 IoT 서비스 매시업 수정을 지원하지 않는 또 다른 문제가 있다. 생성된 매시업을 수정하는 것은, IoT 환경의 사용자가 전문 개발자가 아니기 때문에 IoT 환경의 사용자에게 일반적이다[12, 13, 14]. 사용자는 반복적인 매시업 수정 과정을 통해 매시업을 다듬기 때문에 생성된 IoT 서비스 매시업의 수정을 지원하는 것이 중요하다. 그러나 기존 에이전트들은 사용성 면에서 도전적인 것으로 여겨져 수정을 지원하지 않는다. 매시업을 수정하기 위해서는 사용자가 현재 배포된 매시업 목록을 듣고 대화형 인터페이스를 통해 그 중 하나를 선택하는 것이 필수적이라고 여겨졌다[15]. 이러한 접근 방식은 사용자에게 비효율적이며 사용자에게 많은 인지 부하를 가하는 사용성의 문제가 있다[16]. 따라서 불필요한 매시업 정보를 청취하는 등 불필요한 상호작용의 길이를 최소화하면서 IoT 서비스 매시업의 수정을 지원하는 것을 필요로 한다. In addition to the problem of the single utterance approach, there is another problem that traditional agents do not support modifying IoT service mashups. Modifying the generated mashup is common for users in IoT environments because they are not professional developers [12, 13, 14]. Because users refine the mashup through an iterative process of modifying the mashup, it is important to support the modification of the created IoT service mashup. However, existing agents do not support modifications as they are considered challenging in terms of usability. In order to modify a mashup, it was considered essential for the user to listen to a list of currently distributed mashups and select one of them through an interactive interface [15]. This approach is inefficient for the user and has a usability problem that imposes a large cognitive load on the user [16]. Therefore, it is necessary to support the modification of the IoT service mashup while minimizing the length of unnecessary interactions, such as listening to unnecessary mashup information.

일 측면에 있어서, 본 발명에서 제안하는 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법은 사용자 명령 인식부가 자연 언어 처리 모델을 활용하여 음성 형태의 사용자 명령을 텍스트로 변환한 후 객체, 운영, 파라미터 및 위치를 포함하는 각각의 식별자를 추출하여 사용자 명령을 인식하는 단계, 사용자 명령이 사용자 명령 인식부에 의해 인식되면 인식된 내용을 제어부를 통해 사용자 단말에게 제공하고, 사용자 명령을 더 추가하거나 중지하라는 메시지를 사용자 단말에 표시하도록 제어하는 단계, 사용자 명령을 더 추가하거나 중지하라는 메시지에 따라 매시업 저장부를 통해 호출되는 이전 IoT 서비스에 대하여 중복되는 문구 없이 사용자 명령을 추함으로써 반복적으로 사용자 명령을 추가하고, IoT 서비스를 결합하여 매시업을 생성하여 저장하는 단계, 생성된 매시업에서 인식 오류가 발생한 경우 오류 수정부를 통해 전체 대화를 재시작 하지 않고 해당 사용자 명령에 대한 실행을 취소하여 오류로부터 복구하는 단계 및 피드백 생성부를 통해, 상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성하여 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는 단계를 포함한다. In one aspect, the implication-based interaction method for modifying an automation rule in the IoT environment proposed by the present invention is an object, operation after a user command recognition unit converts a user command in voice form into text using a natural language processing model. , extracting each identifier including a parameter and a location to recognize a user command, when the user command is recognized by the user command recognition unit, the recognized content is provided to the user terminal through the control unit, and further user commands are added or Controlling a stop message to be displayed on the user terminal, adding more user commands or adding user commands repeatedly by adding user commands without overlapping phrases for the previous IoT service called through the mashup storage unit according to the message to stop The steps to create and save a mashup by combining IoT services, and to recover from the error by undoing the execution of the user command without restarting the entire conversation through the error correction unit when a recognition error occurs in the created mashup and feedback Through the generator, feedback for implicit confirmation of the IoT service regarding the recognized user command, proposal confirmation, and progress confirmation is generated to check whether there is a need for implicit confirmation, proposal confirmation and progress confirmation, and confirmation is required and transmitting the generated feedback to the user terminal in case of case.

상기 생성된 매시업에서 인식 오류가 발생한 경우 오류 수정부를 통해 전체 대화를 재시작 하지 않고 해당 사용자 명령에 대한 실행을 취소하여 오류로부터 복구하는 단계는 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계 및 상기 분류된 매시업을 수정하기 위해 상호작용을 수행하는 단계를 포함한다. If a recognition error occurs in the generated mashup, the step of recovering from the error by canceling the execution of the user command without restarting the entire conversation through the error correction unit is to classify the mashup that is currently deployed in the IoT environment and needs correction localizing to the mashup and performing an interaction to modify the classified mashup.

상기 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계는 발화 유형, 명령, 표현, 질문을 포함하는 사용자 발화에 관한 암시를 활용하여 매시업을 검색하고, 상호작용을 통해 상기 매시업을 사용 가능한 방식으로 로컬리제이션하며, 상기 사용자 발화에 관한 암시로부터 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업을 검색하는 암시 기반 역추적 프로세스를 수행한다. The step of localizing to classify a mashup that is deployed in the current IoT environment and needs modification is to search for a mashup by utilizing hints about user utterances, including utterance types, commands, expressions, and questions, and perform interactions. localizes the mashup in a usable manner through do.

상기 암시 기반 역추적 프로세스는 사용자 발화에서 특정 IoT 장치를 사용하는 매시업을 검색하기 위한 장치 키워드를 추가로 제공하고, 자연어 처리 모델을 통해 입력된 사용자 발화로부터 변경하고자 하는 IoT 환경 속성에 관한 암시를 유추하며, 변경하고자 하는 IoT 환경 속성과 특정 IoT 장치의 액션 간의 매핑을 포함하는 온톨로지를 역추적하여 사용자에게 영향을 주는 IoT 액션 서비스 목록을 추론하고, 최근 실행된 IoT 서비스 매시업 내역을 조회하여 해당 매시업을 검색하고 호출 타임스탬프를 이용하여 우선순위를 부여하며, 해당 매시업의 우선 순위에 따라 사용자에게 제공한다. The suggestion-based backtracking process additionally provides a device keyword for searching for a mashup using a specific IoT device in user speech, and infers hints about IoT environment properties to be changed from user speech input through a natural language processing model Inferring a list of IoT action services that affect users by backtracking the ontology including the mapping between the IoT environment property to be changed and the action of a specific IoT device, and querying the recently executed IoT service mashup history to select the corresponding mashup Searches, prioritizes using call timestamps, and presents to users according to the priority of the mashup.

상기 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계는 사용자의 명령 또는 사용자 발화에 의해 시작되고, 상기 사용자 발화에 관한 암시를 반환하여 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업의 검색 결과의 트리거 정보에 따라 수정 단계를 진행하거나 또는 액션을 실행한 이유를 질문하고, 검색 결과가 만족스럽지 않을 경우 또 다른 매시업을 검색하도록 하거나 또는 이전 결과로 돌아감으로써 암시 기반 역추적 프로세스 및 로컬리제이션의 상호작용을 통해 불필요한 정보를 최소화한다. The step of localizing to classify the mashup that is deployed in the current IoT environment and needs to be modified is started by a user's command or a user's utterance, and returns a hint about the user's utterance to infer the characteristics of the current IoT environment. Then, according to the trigger information of the search result of the IoT service mashup that affected the current IoT environment characteristics, the modification step or the reason for executing the action is asked, and if the search result is not satisfactory, another mashup is searched, or Alternatively, by going back to previous results, it minimizes unnecessary information through the interaction of implicit-based traceback process and localization.

상기 분류된 매시업을 수정하기 위해 상호작용을 수행하는 단계는 상기 분류된 매시업을 수정하기 위한 사용자 명령을 입력 받아 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보에 따라 새로운 매시업 구성 요소를 추가하거나 또는 미리 정장된 매시업 구성 요소 또는 파라미터를 대체한다. The step of performing the interaction to modify the classified mashup may include receiving a user command for modifying the classified mashup and replacing the service type, parameter, keyword, location to modify, and mashup for the user command for modifying the mashup. or add a new mashup component or replace a pre-established mashup component or parameter according to the required information including the addition.

상기 사용자 명령에 대한 새로운 트리거 추가, 새로운 액션 추가, 기존 트리거 대체, 기존 액션 대체, 트리거 파라미터 수정, 액션 파라미터 수정 및 서비스 매시업 삭제를 포함하는 복수의 명령 패턴에 기초하여, 사용자 명령의 서비스 유형이 파라미터를 설정, 증가 또는 감소시키는지 여부 및 수정하기 위한 상기 매시업에서 상기 파라미터를 사용하는 구성 요소가 있는지 확인하며, 기존 파라미터를 수정하는 사용자 명령을 찾을 수 없는 경우 수정할 위치와 수정하기 위한 상기 매시업의 대체 또는 추가 여부를 확인함으로써 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보의 모호성을 개선한다. Based on a plurality of command patterns including adding a new trigger for the user command, adding a new action, replacing an existing trigger, replacing an existing action, modifying a trigger parameter, modifying an action parameter, and deleting a service mashup, the service type of the user command is a parameter Whether to set, increment or decrement, and if there are components that use the parameter in the mashup to modify it, and if no user command to modify an existing parameter can be found, where to modify and replace the mashup to modify it. Or, by checking whether to add or not, the ambiguity of essential information including service types, parameters, keywords, locations to modify, and substitution or addition of mashups for user commands for modifying the mashup is improved.

상기 피드백 생성부를 통해, 상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성하여 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는 단계는 인식된 IoT 서비스의 자연어 형태인 암묵적 확인의 필요 여부를 점검하고, 상호작용 카운터가 미리 정해진 수에 도달하고 사용자 명령에 따른 IoT 서비스가 추가되는 경우 및 상호작용 카운터가 미리 정해진 수 이상이고 매시업 생성 완료 후 사용자 발화가 끝나기 전에 제안사항 확인의 필요 여부를 점검하며, 사용자가 매시업 진행상황을 추적할 수 있도록 진행상황 확인의 필요 여부를 점검하여, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달한다. Through the feedback generating unit, by generating feedback for implicit confirmation of the IoT service regarding the recognized user command, confirmation of proposals, and confirmation of progress, check whether there is a need for implicit confirmation, confirmation of proposals, and confirmation of progress, and confirm If this is necessary, the step of delivering the generated feedback to the user terminal checks whether implicit confirmation, which is the natural language form of the recognized IoT service, is necessary, and when the interaction counter reaches a predetermined number, the IoT service is added according to the user command If the number of interaction counters is greater than a predetermined number and the mashup creation is completed and the user's utterance is finished, it is checked whether the suggestion confirmation is necessary, and the progress confirmation is checked so that the user can track the mashup progress. , when confirmation is required, the generated feedback is transmitted to the user terminal.

또 다른 일 측면에 있어서, 본 발명에서 제안하는 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치는 자연 언어 처리 모델을 활용하여 음성 형태의 사용자 명령을 텍스트로 변환한 후 객체 객체, 운영, 파라미터 및 위치를 포함하는 각각의 식별자를 추출하여 사용자 명령을 인식하는 사용자 명령 인식부, 사용자 명령이 사용자 명령 인식부에 의해 인식되면 인식된 내용을 사용자 단말에게 제공하고, 사용자 명령을 더 추가하거나 중지하라는 메시지를 사용자 단말에 표시하도록 제어하는 제어부, 사용자 명령을 더 추가하거나 중지하라는 메시지에 따라 호출되는 이전 IoT 서비스에 대하여 중복되는 문구 없이 사용자 명령을 추함으로써 반복적으로 사용자 명령을 추가하고, IoT 서비스를 결합하여 서비스 매시업을 생성하여 저장하는 매시업 저장부, 생성된 매시업에서 인식 오류가 발생한 경우 전체 대화를 재시작 하지 않고 해당 사용자 명령에 대한 실행을 취소하여 오류로부터 복구하는 오류 수정부 및 상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성하여 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는 피드백 생성부를 포함한다.In another aspect, the implication-based interaction device for modifying an automation rule in the IoT environment proposed by the present invention converts a user command in a voice form into text using a natural language processing model, A user command recognition unit for recognizing a user command by extracting each identifier including a parameter and a location, when the user command is recognized by the user command recognition unit, provides the recognized contents to the user terminal, and adds or stops the user command A control unit that controls to display a message to the user terminal, adding more user commands or adding user commands without overlapping phrases to the previous IoT service called according to a message to stop repeatedly adding user commands and running IoT services A mashup storage unit that creates and stores a service mashup by combining, an error correction unit that recovers from the error by undoing the execution of the user command without restarting the entire conversation when a recognition error occurs in the generated mashup, and the recognized user command By generating feedback for implicit confirmation, proposal confirmation, and progress confirmation of IoT service regarding It includes a feedback generator to transmit.

본 발명의 실시예들에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 모델을 통해 복수의 IoT 서비스가 연결된 경우 사용자는 간단하고 직관적인 사용자 명령을 사용하여 IoT 서비스 매쉬업을 구성할 수 있고, 사용자 명령에 중복되는 구문을 피할 수 있으며, 응답에 전달된 정보의 간소화를 달성할 수 있다. 또한, 매시업 생성의 상호작용에 있어서 사용자에게 상당한 인지 부하를 초래하지 않고 매시업 생성 진행률을 유지할 수 있도록 지원할 수 있다.When a plurality of IoT services are connected through an implicit-based interaction model for modifying automation rules in an IoT environment according to embodiments of the present invention, a user can configure an IoT service mashup using a simple and intuitive user command, , it is possible to avoid redundant syntax in user commands, and to achieve simplification of the information passed in the response. It can also assist in maintaining mashup creation progress without incurring significant cognitive load on the user in the interaction of the mashup creation.

도 1은 본 발명의 일 실시예에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 CoMMA의 상호작용 과정을 설명하기 위한 개략도이다.
도 4는 본 발명의 일 실시예에 따른 암시 기반 역추적 프로세스의 개념을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 암시 기반 역추적 프로세스의 예시를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 로컬리제이션의 상호작용을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 로컬리제이션 과정에서 또 다른 매시업을 검색하거나 또는 이전 매시업으로 돌아가기 위한 상호작용의 예시를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 매시업 수정을 위한 명령 패턴을 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따른 사용자 명령의 모호성 문제를 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 사용자 명령의 명확화 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 매시업을 수정하기 위해 상호작용을 수행하는 과정을 설명하기 위한 도면이다.
1 is a flowchart illustrating an implicit-based interaction method for modifying an automation rule in an IoT environment according to an embodiment of the present invention.
2 is a diagram illustrating a configuration of an implicit-based interaction device for modifying an automation rule in an IoT environment according to an embodiment of the present invention.
3 is a schematic diagram for explaining the interaction process of CoMMA according to an embodiment of the present invention.
4 is a diagram for explaining the concept of a suggestion-based traceback process according to an embodiment of the present invention.
5 is a diagram for explaining an example of a suggestion-based traceback process according to an embodiment of the present invention.
6 is a diagram for explaining the interaction of localization according to an embodiment of the present invention.
7 is a diagram for explaining an example of an interaction for searching for another mashup or returning to a previous mashup in the localization process according to an embodiment of the present invention.
8 is a diagram illustrating a command pattern for modifying a mashup according to an embodiment of the present invention.
9 is a diagram for explaining a problem of ambiguity of a user command according to an embodiment of the present invention.
10 is a view for explaining a process of clarifying a user command according to an embodiment of the present invention.
11 is a view for explaining a process of performing an interaction to modify a mashup according to an embodiment of the present invention.

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

도 1은 본 발명의 일 실시예에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법을 설명하기 위한 흐름도이다. 1 is a flowchart illustrating an implicit-based interaction method for modifying an automation rule in an IoT environment according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법은 다중 대화 방식인 CoMMA(Conversational, Multi-dialog Mashup Agent)를 통해 수행된다. The implication-based interaction method for modifying an automation rule in an IoT environment according to an embodiment of the present invention is performed through a Conversational, Multi-dialog Mashup Agent (ComMA), which is a multi-conversational method.

제안하는 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법은 사용자 명령 인식부가 자연 언어 처리 모델을 활용하여 음성 형태의 사용자 명령을 텍스트로 변환한 후 객체, 운영, 파라미터 및 위치를 포함하는 각각의 식별자를 추출하여 사용자 명령을 인식하는 단계(110), 사용자 명령이 사용자 명령 인식부에 의해 인식되면 인식된 내용을 제어부를 통해 사용자 단말에게 제공하고, 사용자 명령을 더 추가하거나 중지하라는 메시지를 사용자 단말에 표시하도록 제어하는 단계(120), 사용자 명령을 더 추가하거나 중지하라는 메시지에 따라 매시업 저장부를 통해 호출되는 이전 IoT 서비스에 대하여 중복되는 문구 없이 사용자 명령을 추함으로써 반복적으로 사용자 명령을 추가하고, IoT 서비스를 결합하여 매시업을 생성하여 저장하는 단계(130), 생성된 매시업에서 인식 오류가 발생한 경우 오류 수정부를 통해 전체 대화를 재시작 하지 않고 해당 사용자 명령에 대한 실행을 취소하여 오류로부터 복구하는 단계(140) 및 피드백 생성부를 통해, 상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성하여 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는 단계(150)를 포함한다. In the proposed IoT environment, the implication-based interaction method for modifying the automation rules is that the user command recognition unit converts the user command in the form of speech into text using a natural language processing model, and each Step 110 of recognizing the user command by extracting the identifier of the user command, when the user command is recognized by the user command recognition unit, the recognized contents are provided to the user terminal through the control unit, and a message to add or stop the user command is sent to the user Step 120 of controlling to be displayed on the terminal, adding user commands repeatedly by adding user commands without overlapping phrases with respect to the previous IoT service called through the mashup storage unit according to a message to add or stop more user commands, Creating and saving a mashup by combining IoT services (130), when a recognition error occurs in the created mashup, recovering from the error by canceling the execution of the user command without restarting the entire conversation through the error correction unit ( 140) and through the feedback generator, generate feedback for implicit confirmation of the IoT service regarding the recognized user command, confirmation of proposals, and confirmation of progress, and check whether there is a need for implicit confirmation, confirmation of proposals, and confirmation of progress, and , when confirmation is required, transmitting the generated feedback to the user terminal (150).

단계(110)에서, 사용자 명령 인식부가 자연 언어 처리(Natural Language Pprocessing; NLP) 모델(112)을 활용하여 음성 형태의 사용자 명령(user commands)(111)을 텍스트로 변환한 후 객체(Object), 운영(Operation), 파라미터(Parameter) 및 위치(Position)를 포함하는 각각의 식별자(Identifiers)(113)를 추출하여 사용자 명령을 인식한다. In step 110, the user command recognition unit using a natural language processing (NLP) model 112 to convert the user commands (user commands) 111 in the form of speech into text objects (Object), Recognize the user command by extracting each identifier (Identifiers) 113 including the operation (Operation), parameter (Parameter) and position (Position).

사용자 명령이 사용자 명령 인식부에 의해 인식되면, 단계(120)에서 인식된 내용을 제어부를 통해 사용자 단말에게 제공하고, 사용자 명령을 더 추가하거나 중지하라는 메시지를 사용자 단말에 표시하도록 제어한다. When the user command is recognized by the user command recognition unit, the content recognized in step 120 is provided to the user terminal through the control unit, and a message to add or stop the user command is controlled to be displayed on the user terminal.

단계(130)에서, 사용자 명령을 더 추가하거나 중지하라는 메시지에 따라 매시업 저장부를 통해 호출되는 이전 IoT 서비스에 대하여 중복되는 문구 없이 사용자 명령을 추함으로써 반복적으로 사용자 명령을 추가하고, IoT 서비스를 결합하여 매시업을 생성하여 저장한다. In step 130, according to the message to add or stop more user commands, by adding user commands without overlapping phrases to the previous IoT service called through the mashup storage, the user command is repeatedly added, and the IoT service is combined. Create and save the mashup.

생성된 매시업에서 인식 오류가 발생한 경우, 단계(140)에서 오류 수정부를 통해 전체 대화를 재시작 하지 않고 해당 사용자 명령에 대한 실행을 취소하여 오류로부터 복구한다. When a recognition error occurs in the generated mashup, the error correction unit does not restart the entire conversation through the error correction unit, but cancels the execution of the user command to recover from the error.

단계(140)는 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계 및 상기 분류된 매시업을 수정하기 위해 상호작용을 수행하는 단계를 포함한다. Step 140 includes localizing to classify a mashup that is currently deployed in the IoT environment and needs modification, and performing an interaction to modify the classified mashup.

상기 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계는 발화 유형, 명령, 표현, 질문을 포함하는 사용자 발화에 관한 암시를 활용하여 매시업을 검색하고, 상호작용을 통해 상기 매시업을 사용 가능한 방식으로 로컬리제이션하며, 상기 사용자 발화에 관한 암시로부터 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업을 검색하는 암시 기반 역추적 프로세스를 수행한다. The step of localizing to classify a mashup that is deployed in the current IoT environment and needs modification is to search for a mashup by utilizing hints about user utterances, including utterance types, commands, expressions, and questions, and perform interactions. localizes the mashup in a usable manner through do.

상기 암시 기반 역추적 프로세스는 사용자 발화에서 특정 IoT 장치를 사용하는 매시업을 검색하기 위한 장치 키워드를 추가로 제공하고, 자연어 처리 모델을 통해 입력된 사용자 발화로부터 변경하고자 하는 IoT 환경 속성에 관한 암시를 유추한다. 이후, 변경하고자 하는 IoT 환경 속성과 특정 IoT 장치의 액션 간의 매핑을 포함하는 온톨로지를 역추적하여 사용자에게 영향을 주는 IoT 액션 서비스 목록을 추론하고, 최근 실행된 IoT 서비스 매시업 내역을 조회하여 해당 매시업을 검색하고 호출 타임스탬프를 이용하여 우선순위를 부여하며, 해당 매시업의 우선 순위에 따라 사용자에게 제공한다. The suggestion-based backtracking process additionally provides a device keyword for searching for a mashup using a specific IoT device in user speech, and infers hints about IoT environment properties to be changed from user speech input through a natural language processing model do. After that, backtrack the ontology including the mapping between the IoT environment property to be changed and the action of a specific IoT device to infer a list of IoT action services that affect users, and retrieve the recently executed IoT service mashup history to determine the corresponding mashup. Searches, prioritizes using call timestamps, and presents to users according to the priority of the mashup.

상기 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계는 사용자의 명령 또는 사용자 발화에 의해 시작되고, 상기 사용자 발화에 관한 암시를 반환하여 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업의 검색 결과의 트리거 정보에 따라 수정 단계를 진행하거나 또는 액션을 실행한 이유를 질문한다. 검색 결과가 만족스럽지 않을 경우 또 다른 매시업을 검색하도록 하거나 또는 이전 결과로 돌아감으로써 암시 기반 역추적 프로세스 및 로컬리제이션의 상호작용을 통해 불필요한 정보를 최소화한다. The step of localizing to classify the mashup that is deployed in the current IoT environment and needs to be modified is started by a user's command or a user's utterance, and returns a hint about the user's utterance to infer the characteristics of the current IoT environment. and the reason for performing the modification step or executing the action according to the trigger information of the search result of the IoT service mashup that has affected the current IoT environment characteristic is asked. Minimize unnecessary information through the interaction of a hint-based traceback process and localization, either by retrieving another mashup if the search results are not satisfactory, or by returning to the previous result.

상기 분류된 매시업을 수정하기 위해 상호작용을 수행하는 단계는 상기 분류된 매시업을 수정하기 위한 사용자 명령을 입력 받아 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보에 따라 새로운 매시업 구성 요소를 추가하거나 또는 미리 정장된 매시업 구성 요소 또는 파라미터를 대체한다. The step of performing the interaction to modify the classified mashup may include receiving a user command for modifying the classified mashup, and replacing the service type, parameter, keyword, location to modify, and mashup for the user command for modifying the mashup. Or add a new mashup component or replace a pre-established mashup component or parameter according to the required information including the addition.

상기 사용자 명령에 대한 새로운 트리거 추가, 새로운 액션 추가, 기존 트리거 대체, 기존 액션 대체, 트리거 파라미터 수정 및 액션 파라미터 수정을 포함하는 복수의 명령 패턴에 기초하여, 사용자 명령의 서비스 유형이 파라미터를 설정, 증가 또는 감소시키는지 여부 및 수정하기 위한 상기 매시업에서 상기 파라미터를 사용하는 구성 요소가 있는지 확인한다. 기존 파라미터를 수정하는 사용자 명령을 찾을 수 없는 경우에는 수정할 위치와 수정하기 위한 상기 매시업의 대체 또는 추가 여부를 확인함으로써 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보의 모호성을 개선한다. Based on a plurality of command patterns including adding a new trigger to the user command, adding a new action, replacing an existing trigger, replacing an existing action, modifying a trigger parameter, and modifying an action parameter, the service type of the user command sets and increases the parameter Or whether there is a component that uses the parameter in the mashup to reduce and modify it. If a user command to modify an existing parameter cannot be found, the service type, parameter, keyword, location to modify and the mashup for the user command for modifying the mashup by checking the location to modify and whether to replace or add the mashup to modify. Remedies ambiguity of essential information, including substitutions or additions.

단계(150)에서, 피드백 생성부를 통해 상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성한다. 생성된 피드백은 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백 및 단순 오류에 관한 피드백을 포함한다. 이후, 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고(151), 확인이 필요한 경우 사용자 단말에 상기 암묵적 확인, 제안사항 확인 및 진행상황 확인을 포함하는 생성된 피드백(Generated Feedback with Check Suggestion)을 전달한다. 확인이 필요하지 않은 경우에는 단순 오류에 관한 피드백만을 전달한다. In step 150, feedback for implicit confirmation of the IoT service regarding the recognized user command, proposal confirmation, and progress confirmation is generated through the feedback generator. The feedback generated includes feedback for tacit confirmation, feedback for suggestion confirmation and progress confirmation, and feedback for simple errors. Thereafter, it is checked whether there is a need for implicit confirmation, proposal confirmation, and progress confirmation (151), and when confirmation is necessary, generated feedback including the implicit confirmation, proposal confirmation and progress confirmation to the user terminal (Generated Feedback with) Check Suggestion). If confirmation is not required, only feedback on simple errors is provided.

더욱 상세하게는, 인식된 IoT 서비스의 자연어 형태인 암묵적 확인의 필요 여부를 점검하고, 상호작용 카운터가 미리 정해진 수에 도달하고 사용자 명령에 따른 IoT 서비스가 추가되는 경우 및 상호작용 카운터가 미리 정해진 수 이상이고 매시업 생성 완료 후 사용자 발화가 끝나기 전에 제안사항 확인의 필요 여부를 점검하며, 사용자가 매시업 진행상황을 추적할 수 있도록 진행상황 확인의 필요 여부를 점검하여, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달한다. More specifically, it is checked whether an implicit confirmation, which is a natural language form of a recognized IoT service, is required, and when the interaction counter reaches a predetermined number and an IoT service is added according to a user command, and when the interaction counter reaches a predetermined number After completion of mashup creation and before the end of user utterance, it is checked whether or not it is necessary to confirm the suggestion, and it is checked whether it is necessary to confirm the progress so that the user can track the progress of the mashup. provide feedback.

도 2는 본 발명의 일 실시예에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치의 구성을 나타내는 도면이다. 2 is a diagram illustrating a configuration of an implicit-based interaction device for modifying an automation rule in an IoT environment according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치의 구성은 다중 대화 방식인 CoMMA(Conversational, Multi-dialog Mashup Agent)에 포함될 수 있다. The configuration of an implicit interaction device for modifying an automation rule in an IoT environment according to an embodiment of the present invention may be included in a multi-conversational, multi-dialog mashup agent (ComMA).

제안하는 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치는 사용자 명령 인식부(User Command Indicator)(210), 제어부(Controller)(220), 매시업 저장부(Mashup Store)(230), 오류 수정부(Error Corretor)(240) 및 피드백 생성부(Feedback Generator)(250)를 포함한다. Implication-based interaction devices for modifying automation rules in the proposed IoT environment are a User Command Indicator 210, a Controller 220, a Mashup Store 230, and an error It includes a correction unit (Error Corretor) 240 and a feedback generator (Feedback Generator) 250 .

사용자 명령 인식부(210)는 자연 언어 처리(Natural Language Pprocessing; NLP) 모델을 활용하여 음성 형태의 사용자 명령(user commands)을 텍스트로 변환한 후 객체(Object), 운영(Operation), 파라미터(Parameter) 및 위치(Position)를 포함하는 각각의 식별자(Identifiers)를 추출하여 사용자 명령을 인식한다. The user command recognition unit 210 converts user commands in voice form into text using a Natural Language Pprocessing (NLP) model, and then converts the user commands into text objects, operations, and parameters. ) and position (Position) by extracting each identifier (Identifiers) to recognize the user command.

사용자 명령이 사용자 명령 인식부(210)에 의해 인식되면 제어부(220)는 인식된 내용을 사용자 단말에게 제공하고, 사용자 명령을 더 추가하거나 중지하라는 메시지를 사용자 단말에 표시하도록 제어한다. When the user command is recognized by the user command recognition unit 210, the control unit 220 provides the recognized content to the user terminal, and controls to display a message to add or stop more user commands to the user terminal.

매시업 저장부(230)는 사용자 명령을 더 추가하거나 중지하라는 메시지에 따라 호출되는 이전 IoT 서비스에 대하여 중복되는 문구 없이 사용자 명령을 추함으로써 반복적으로 사용자 명령을 추가하고, IoT 서비스를 결합하여 매시업을 생성하여 저장한다. The mashup storage unit 230 repeatedly adds user commands by adding user commands without overlapping phrases to the previous IoT service called according to a message to add or stop more user commands, and combines IoT services to create a mashup to save

오류 수정부(240)는 생성된 매시업에서 인식 오류가 발생한 경우, 전체 대화를 재시작 하지 않고 해당 사용자 명령에 대한 실행을 취소하여 오류로부터 복구한다. When a recognition error occurs in the generated mashup, the error correction unit 240 recovers from the error by canceling the execution of the corresponding user command without restarting the entire conversation.

오류 수정부(240)는 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션을 수행하고, 상기 분류된 매시업을 수정하기 위해 상호작용을 수행한다. The error correction unit 240 performs localization to classify a mashup that is currently deployed in the IoT environment and requires correction, and performs interaction to correct the classified mashup.

오류 수정부(240)는 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위한 로컬리제이션을 수행하기 위해 발화 유형, 명령, 표현, 질문을 포함하는 사용자 발화에 관한 암시를 활용하여 매시업을 검색하고, 상호작용을 통해 상기 매시업을 사용 가능한 방식으로 로컬리제이션하며, 상기 사용자 발화에 관한 암시로부터 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업을 검색하는 암시 기반 역추적 프로세스를 수행한다. The error correction unit 240 is currently deployed in the IoT environment and mashups by utilizing hints about user utterances including utterance types, commands, expressions, and questions to perform localization to classify mashups that require correction , localize the mashup in a usable way through interaction, infer the current IoT environment characteristic from the hint about the user utterance, and retrieve the IoT service mashup that affected the current IoT environment characteristic Perform an implicit-based traceback process.

오류 수정부(240)는 암시 기반 역추적 프로세스를 통해 사용자 발화에서 특정 IoT 장치를 사용하는 매시업을 검색하기 위한 장치 키워드를 추가로 제공하고, 자연어 처리 모델을 통해 입력된 사용자 발화로부터 변경하고자 하는 IoT 환경 속성에 관한 암시를 유추한다. 이후, 변경하고자 하는 IoT 환경 속성과 특정 IoT 장치의 액션 간의 매핑을 포함하는 온톨로지를 역추적하여 사용자에게 영향을 주는 IoT 액션 서비스 목록을 추론하고, 최근 실행된 IoT 서비스 매시업 내역을 조회하여 해당 매시업을 검색하고 호출 타임스탬프를 이용하여 우선순위를 부여하며, 해당 매시업의 우선 순위에 따라 사용자에게 제공한다. The error correction unit 240 additionally provides a device keyword for searching for a mashup using a specific IoT device in a user's utterance through a hint-based backtracking process, and an IoT that wants to change from a user's utterance input through a natural language processing model Infer hints about environment properties. After that, backtrack the ontology including the mapping between the IoT environment property to be changed and the action of a specific IoT device to infer a list of IoT action services that affect users, and retrieve the recently executed IoT service mashup history to determine the corresponding mashup. Searches, prioritizes using call timestamps, and presents to users according to the priority of the mashup.

오류 수정부(240)는 사용자의 명령 또는 사용자 발화에 의해 시작되고, 상기 사용자 발화에 관한 암시를 반환하여 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업의 검색 결과의 트리거 정보에 따라 수정 단계를 진행하거나 또는 액션을 실행한 이유를 질문한다. 검색 결과가 만족스럽지 않을 경우 또 다른 매시업을 검색하도록 하거나 또는 이전 결과로 돌아감으로써 암시 기반 역추적 프로세스 및 로컬리제이션의 상호작용을 통해 불필요한 정보를 최소화한다. The error correction unit 240 is started by a user's command or a user's utterance, returns a hint about the user's utterance, infers the current IoT environment characteristic, and a search result of the IoT service mashup that affects the current IoT environment characteristic Depending on the trigger information of Minimize unnecessary information through the interaction of a hint-based traceback process and localization, either by retrieving another mashup if the search results are not satisfactory, or by returning to the previous result.

오류 수정부(240)는 분류된 매시업을 수정하기 위한 사용자 명령을 입력 받아 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보에 따라 새로운 매시업 구성 요소를 추가하거나 또는 미리 정장된 매시업 구성 요소 또는 파라미터를 대체한다. The error correction unit 240 receives a user command for correcting the classified mashup, and the service type for the user command for correcting the mashup, parameter, keyword, location to be modified, and replacement or addition of the mashup according to essential information including Add new mashup components or replace predefined mashup components or parameters.

오류 수정부(240)는 상기 사용자 명령에 대한 새로운 트리거 추가, 새로운 액션 추가, 기존 트리거 대체, 기존 액션 대체, 트리거 파라미터 수정 및 액션 파라미터 수정을 포함하는 복수의 명령 패턴에 기초하여, 사용자 명령의 서비스 유형이 파라미터를 설정, 증가 또는 감소시키는지 여부 및 수정하기 위한 상기 매시업에서 상기 파라미터를 사용하는 구성 요소가 있는지 확인한다. 기존 파라미터를 수정하는 사용자 명령을 찾을 수 없는 경우에는 수정할 위치와 수정하기 위한 상기 매시업의 대체 또는 추가 여부를 확인함으로써 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보의 모호성을 개선한다. The error correction unit 240 is based on a plurality of command patterns including a new trigger addition, a new action addition, an existing trigger replacement, an existing action replacement, a trigger parameter modification, and an action parameter modification for the user command, the service of the user command Check whether a type sets, increments or decrements a parameter and if there is a component that uses that parameter in the mashup to modify it. If a user command to modify an existing parameter cannot be found, the service type, parameter, keyword, location to modify and the mashup for the user command for modifying the mashup by checking the location to modify and whether to replace or add the mashup to modify. Remedies ambiguity of essential information, including substitutions or additions.

피드백 생성부(250)는 상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성한다. 생성된 피드백은 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백 및 단순 오류에 관한 피드백을 포함한다. 이후, 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고, 확인이 필요한 경우 사용자 단말에 상기 암묵적 확인, 제안사항 확인 및 진행상황 확인을 포함하는 생성된 피드백(Generated Feedback with Check Suggestion)을 전달한다. 확인이 필요하지 않은 경우에는 단순 오류에 관한 피드백만을 전달한다. The feedback generator 250 generates feedback for implicit confirmation of the IoT service related to the recognized user command, confirmation of proposals, and confirmation of progress. The feedback generated includes feedback for tacit confirmation, feedback for suggestion confirmation and progress confirmation, and feedback for simple errors. Thereafter, it is checked whether there is a need for implicit confirmation, proposal confirmation, and progress confirmation, and when confirmation is required, generated feedback with Check Suggestion including the implicit confirmation, proposal confirmation and progress confirmation to the user terminal to convey If confirmation is not required, only feedback on simple errors is provided.

피드백 생성부(250)는 인식된 IoT 서비스의 자연어 형태인 암묵적 확인의 필요 여부를 점검하고, 상호작용 카운터가 미리 정해진 수에 도달하고 사용자 명령에 따른 IoT 서비스가 추가되는 경우 및 상호작용 카운터가 미리 정해진 수 이상이고 매시업 생성 완료 후 사용자 발화가 끝나기 전에 제안사항 확인의 필요 여부를 점검하며, 사용자가 매시업 진행상황을 추적할 수 있도록 진행상황 확인의 필요 여부를 점검하여, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달한다. The feedback generator 250 checks whether implicit confirmation, which is a natural language form of the recognized IoT service, is required, and when the interaction counter reaches a predetermined number and an IoT service is added according to a user command, and the interaction counter is set in advance After the mashup creation is completed and the user's utterance is over, it is checked whether or not there is a need for confirmation of the proposal, and whether the confirmation is necessary so that the user can track the progress of the mashup. The generated feedback is transmitted.

도 3은 본 발명의 일 실시예에 따른 CoMMA의 상호작용 과정을 설명하기 위한 개략도이다. 3 is a schematic diagram for explaining the interaction process of CoMMA according to an embodiment of the present invention.

IoT 서비스 매시업에 대한 기존의 대화 방식은 단일 발화로 상호작용하는 형태를 취했다. 이 제한된 양식에서는 사용자가 여러 IoT 서비스를 연결하고 생성된 매시업 간의 연결을 기억하기 위해 매시업 생성 프로세스를 반복해야 하는 문제가 있었다. 기존 접근 방식의 문제를 해결하기 위해 본 발명의 실시예에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치를 포함하는 CoMMA(Conversational, Multi-dialog Mashup Agent)를 통해 다음과 같은 요구 사항을 충족시키고자 한다: The traditional way of talking about IoT service mashups has taken the form of interacting with a single utterance. The problem with this limited form was that the user had to connect multiple IoT services and repeat the mashup creation process to remember the connections between the created mashups. In order to solve the problems of the existing approach, the following requirements through a Conversational, Multi-dialog Mashup Agent (ComMA) including an implicit-based interaction device for modifying automation rules in an IoT environment according to an embodiment of the present invention We want to satisfy:

[R1] 3개 이상의 IoT 서비스가 연결된 경우 사용자는 간단하고 직관적인 명령을 사용하여 IoT 서비스 매쉬업을 구성할 수 있어야 한다.[R1] When 3 or more IoT services are connected, users should be able to configure IoT service mashups using simple and intuitive commands.

[R2] 사용자 명령에 중복되는 구문을 피할 수 있어야 하며 응답에 전달된 정보가 너무 많으면 안 된다.[R2] Duplicate syntax in user commands must be avoided and the response must not contain too much information.

[R3] 매시업 생성의 상호작용은 사용자에게 상당한 인지 부하를 초래하지 않고 매시업 생성 진행률을 유지할 수 있도록 지원해야 한다.[R3] Interactions in mashup creation should support maintaining mashup creation progress without incurring significant cognitive load on the user.

도 3을 참조하면, 왼쪽(310)은 일련의 말 풍선(speech baloon)으로 사용자(또는, 사용자 단말)(311)와 CoMMA(312) 간의 상호 작용을 나타낸다. 오른쪽(320)은 각 단계에서 사용자 명령이 인식되고 식별자로 처리되며 IoT 서비스로 변환되는 방식을 보여준다. Referring to FIG. 3 , the left side 310 is a series of speech baloons and represents the interaction between the user (or user terminal) 311 and the CoMMA 312 . The right 320 shows how user commands are recognized at each step, processed as identifiers, and converted into IoT services.

반복 및 증분(Incremental) 매시업 모델은 CoMMA의 핵심 특징으로, 사용자가 다중 대화 상자의 상호 작용을 통해 멀티 액션 IoT 서비스 매시업을 구성할 수 있도록 지원한다. 먼저 사용자 명령이 CoMMA에서 IoT 서비스로 변환되는 방식을 설명하고, 이후 매시업 생성 시작과 매시업 추가 반복의 두 단계로 특징의 세부 정보를 설명한다. The iterative and incremental mashup model is a key feature of CoMMA, enabling users to construct multi-action IoT service mashups through the interaction of multiple dialog boxes. We first describe how user commands are converted from CoMMA to IoT services, and then describe the details of the features in two steps: starting to create a mashup and iterating to add a mashup.

도 3의 오른쪽(320)에는 사용자 명령이 IoT 서비스로 변환되는 방법의 예시를 도시하였다. 먼저, 사용자 명령을 인식하는 단계(330)에서 CoMMA는 자연 언어 처리 모델을 활용하여 음성 명령을 텍스트로 변환한 다음(331), 표시된 식별자(Identifiers)(332)를 추출한다. 식별자(332)는 객체(Object), 운영(Operation), 파라미터(Parameter) 및 위치(Position)를 포함하는 네 가지 유형으로 분류할 수 있다. An example of how a user command is converted into an IoT service is shown on the right side 320 of FIG. 3 . First, in the step of recognizing a user command (330), ComMA converts a voice command into text (331) using a natural language processing model, and then extracts displayed identifiers (Identifiers) (332). The identifier 332 may be classified into four types including an object, an operation, a parameter, and a position.

더욱 상세하게는, 객체 식별자를 사용하여 어떤 IoT 기기가 필요한지 또는 어떤 속성이 제어될지를 파악한다. 그리고, 객체에 필요한 액션을 식별하기 위해 운영 식별자를 사용한다. 파라미터 식별자는 IoT 서비스를 제공하는 데 필요한 추가 정보로서, 시간 관련 서비스 활성화를 위한 시간(예를 들어, 오후 8시) 등이다. 위치 식별자를 사용하여 매시업에서 서비스의 실행 순서와 IoT 서비스가 트리거인지 또는 액션 유형인지 확인한다. More specifically, object identifiers are used to figure out which IoT devices are needed or which attributes are to be controlled. Then, the operation identifier is used to identify the action required for the object. The parameter identifier is additional information required to provide an IoT service, and is a time (eg, 8:00 pm) for activating a time-related service. The location identifier is used to determine the execution order of the services in the mashup and whether the IoT service is a trigger or action type.

시간 관련 서비스와 같은 몇 가지 예외를 제외하고는 대부분의 IoT 서비스를 객체와 운영 식별자의 조합으로 식별할 수 있다. 위치 식별자는 IoT 서비스를 실행할 순서를 결정하는 데 사용되며, 이러한 서비스를 순서대로 구성하여 매시업을 생성한다. 예를 들어, 도 3의 식별자(332)는 "windows"와 "close"의 조합이 "CloseWindowFrame Action"으로 식별되는 반면, "if"와 "rain"은 "WeatherConditionsTrigger"로 식별됨을 보여준다. 생성된 매시업은 노드가 IoT 서비스인 방향 그래프의 형태로 내부적으로 저장되며 사용자가 명령을 추가할 때 점진적(Incremental)으로 증가한다.With a few exceptions, such as time-related services, most IoT services can be identified by a combination of object and operational identifier. Location identifiers are used to determine the order in which IoT services will be run, and these services are organized in order to create a mashup. For example, identifier 332 of FIG. 3 shows that the combination of "windows" and "close" is identified as "CloseWindowFrame Action", while "if" and "rain" are identified as "WeatherConditionsTrigger". The generated mashup is stored internally in the form of a directed graph where the node is an IoT service, and it increases incrementally as the user adds commands.

본 발명의 실시예에서는 실제 사용자의 데이터를 기반으로 IoT 서비스를 트리거링하고 동작하는 유형을 분류하는 EUPont ontology[18]를 기반으로 CoMMA에서 식별할 IoT 서비스 유형을 구성하였다. In the embodiment of the present invention, based on EUPont ontology [18] that triggers and categorizes IoT service types based on actual user data, IoT service types to be identified in ComMA are configured.

사용자 명령이 사용자 명령 인식부에 의해 인식되면, 이후 인식된 내용을 제어부를 통해 사용자 단말에게 제공하고, 사용자 명령을 더 추가하거나 중지하라는 메시지를 사용자 단말에 표시하도록 제어한다. When the user command is recognized by the user command recognition unit, the recognized contents are then provided to the user terminal through the control unit, and a message to add or stop the user command is further controlled to be displayed on the user terminal.

다음으로 본 발명의 실시예에 따른 매시업을 생성 단계(350)에서, CoMMA의 매시업 생성 시작의 첫 번째 단계는 트리거 서비스를 지정하는 것이며, 첫 번째 액션 서비스는 "트리거 서비스→액션 서비스"이다. 따라서 단일 발화 접근 방식을 사용하는 사용자는 다중 대화 방식으로 쉽게 이동할 수 있다.Next, in the mashup creation step 350 according to the embodiment of the present invention, the first step of starting the mashup creation of CoMMA is to designate a trigger service, and the first action service is "trigger service→action service". Thus, a user using a single-utterance approach can easily move to a multi-talk approach.

단계(330)에서는 사용자가 매시업을 생성하기 위한 상호 작용을 보여준다. CoMMA에 의해 사용자 명령에 대한 입력이 올바르게 처리되면, 인식된 내용을 사용자 단말에게 피드백으로 제공하고 명령을 더 추가하거나 중지하라는 메시지를 표시한다. 이후 단계(340)에서 사용자는 여러 작업으로 서비스 매시업을 생성하기 위해 반복적으로 명령을 추가할 수 있다.Step 330 shows the user's interaction to create the mashup. If the input to the user command is correctly processed by ComMA, the recognized content is provided as feedback to the user terminal and a message to add or stop more commands is displayed. Then, in step 340, the user may repeatedly add commands to create a service mashup with multiple tasks.

단계(340)에서, 반복 추가 특징을 사용하면 중복된 문구 없이 호출된 이전 IoT 서비스 이후에 추가 IoT 서비스를 결합할 수 있다. 본 발명에서는 사용자가 대화상자에서 하나의 IoT 서비스를 지정할 수 있도록 CoMMA를 설계한다. 따라서 다중 대화 상자 상호 작용의 각 사용자 명령이 높은 응집력으로 간결하게 되어 긴 사용자 명령으로 인한 문제를 방지할 수 있다.In step 340 , using the repeat add feature, it is possible to combine additional IoT services after the previous IoT service called without duplicate phrases. In the present invention, ComMA is designed so that the user can designate one IoT service in the dialog box. Therefore, each user command in the multi-dialog box interaction can be concise with high cohesion, avoiding problems caused by long user commands.

단계(340)에서, 사용자가 IoT 서비스를 반복적으로 추가하여 매시업을 생성하는 상호 작용을 보여준다. 사용자는 다중 대화 상자 상호 작용 내에서 필요한 IoT 서비스를 하나씩 추가하여 IoT 서비스 매시업을 생성할 수 있다. 따라서 반복 추가 특징은 상술된 사용자 요구 사항 [R1] 및 [R2]를 충족한다.In step 340, the user repeatedly adds IoT services to show the interaction to create a mashup. Users can create IoT service mashups by adding the required IoT services one by one within a multi-dialog interaction. Therefore, the repeating additional feature satisfies the user requirements [R1] and [R2] described above.

본 발명의 실시예에 따르면, 오류로부터의 복구는 다중 대화 상자 상호작용에서 필수적인 기능이다[17]. 또한 복구 프로세스를 사용하기 쉽게 만드는 것이 중요하다. 수정 명령이 쉽지 않은 경우 사용자는 오류를 수정하면서 더 많은 오류를 범할 가능성이 높다[16].According to an embodiment of the present invention, recovery from errors is an essential function in multi-dialog box interaction [17]. It is also important to make the recovery process easy to use. If the correction command is not easy, users are more likely to make more errors while correcting errors [16].

따라서, 본 발명의 실시예에 따른 오류 수정 단계(360)에서는 사용자가 오류 복구를 쉽게 수행할 수 있도록 현재 매시업에서 마지막으로 추가된 IoT 서비스를 제거하는 취소(Undo) 기능을 CoMMA에 추가한다. 단계(360)는 실행 취소 상호 작용의 예시를 보여준다. 사용자는 전체 대화를 재시작하지 않고 인식 오류가 발생했을 때 잘못된 명령을 실행 취소(361)하여 오류로부터 복구할 수 있다. Therefore, in the error correction step 360 according to the embodiment of the present invention, an Undo function for removing the last added IoT service from the current mashup is added to ComMA so that the user can easily perform error recovery. Step 360 shows an example of an undo interaction. The user can recover from the error by undoing 361 the erroneous command when a recognition error occurs without restarting the entire conversation.

다음으로, 본 발명의 실시예에 따른 피드백 메커니즘은 CoMMA의 또 다른 핵심 특징이다. 본 발명의 실시예에 따른 피드백 메커니즘의 구성 요소는 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백이 있다.Next, the feedback mechanism according to the embodiment of the present invention is another key feature of CoMMA. Components of the feedback mechanism according to an embodiment of the present invention include feedback for implicit confirmation, proposal confirmation, and progress confirmation.

IoT 서비스 매시업 생성을 지원하기 위해서는 사용자 검증을 통해 서비스가 제대로 인식되도록 하는 것이 중요하다. 예를 들어, "보안 시스템을 비활성화(then deactivating the security system)"에서 "그리고 나서 보안 시스템을 활성화(then THE activating the security system)"하라는 사용자 명령과 같이 잘못 인식된 IoT 서비스는 해당 서비스의 운영에 영향을 미칠 수 있다. 인식된 서비스가 올바른지 확인하는 방법에는 두 가지가 있다. 즉, 암묵적 방식과 명시적 방식[17, 19]이다. 본 발명에서는 사용자를 너무 신경 쓰이게 하지 않기 위해 암묵적 확인 방법을 사용한다.In order to support creation of IoT service mashups, it is important to properly recognize services through user verification. Misunderstood IoT services, such as user commands from "then deactivating the security system" to "then THE activating the security system" can affect There are two ways to check that the recognized service is correct. That is, there is an implicit method and an explicit method [17, 19]. In the present invention, an implicit confirmation method is used in order not to bother the user too much.

본 발명의 실시예에 따른 암묵적 확인을 위한 피드백에 있어서, 사용자 명령이 IoT 서비스로 인식됨에 따라 CoMMA의 응답으로 암묵적 확인이 전달되며, 암묵적 확인의 내용은 식별된 IoT 서비스의 자연어 형태이자 인식된 파라미터이다. 예를 들어, 도 3의 (332)에는 "WeatherConditionsTrigger" 와 "CloseWindowFrameAction"으로 식별될 "비가 오면 창 닫기(close the windows if it rains)"의 사용자 입력을 보여준다. 이러한 인식된 서비스의 암묵적 확인은 (333)과 같이 "기상 조건이 비 올 경우 창문을 닫기(closing the windows if the weather condition is raining)"이다. 확인 피드백이 제공된 후, CoMMA는 사용자에게 후속 명령을 말하라는 메시지를 표시한다. In feedback for implicit confirmation according to an embodiment of the present invention, as a user command is recognized as an IoT service, an implicit confirmation is transmitted as a response of CoMMA, and the content of the implicit confirmation is a natural language form of the identified IoT service and a recognized parameter to be. For example, 332 of FIG. 3 shows a user input of “close the windows if it rains” to be identified as “WeatherConditionsTrigger” and “CloseWindowFrameAction”. An implicit confirmation of this recognized service is "closing the windows if the weather condition is raining" as in (333). After acknowledgment feedback is provided, ComMA prompts the user to speak a follow-up command.

도 3의 굵은 글꼴 대화는 다중 대화 상자 상호 작용 내에서 암묵적 확인이 제공되는 방법을 보여준다. 사용자는 피드백에서 인식 오류를 확인하고 다음 명령으로 진행할 수 있다. 따라서 암묵적 확인은 다중 대화 상자 상호작용을 신뢰할 수 있고 이해할 수 있게 만들어 상술된 사용자 요구 사항 [R2] 및 [R3]을 충족한다. The bold dialog in Figure 3 illustrates how implicit confirmation is provided within a multi-dialog interaction. The user can check the recognition error in the feedback and proceed to the next command. Thus, implicit validation makes multi-dialog interactions reliable and understandable, meeting the user requirements [R2] and [R3] described above.

종래기술에 따른 단일 발화 접근법에서 확인된 문제 중 하나는 매시업 생성 진행 상황을 추적하기 어렵다는 것이다. 사용자 요구 사항 [R3]을 충족하기 위해 본 발명의 실시예에 따른 CoMMA에는 여러 대화 상자 상호 작용에서 사전 예방적으로 검사를 권장하는 제안사항 확인이 있다.One of the problems identified in the single utterance approach according to the prior art is that it is difficult to track the progress of the mashup creation. In order to meet the user requirement [R3], CoMMA according to an embodiment of the present invention has a suggestion check that recommends proactively checking in multiple dialog box interactions.

본 발명의 실시예에 따르면, 사용자가 IoT 서비스를 추가하거나 실행 취소할 때마다 두 개의 IoT 서비스, 트리거 및 액션을 지정해야 하는 초기 상호 작용을 제외하고 상호 작용 카운터는 1씩 증가한다. 제안사항 확인이 제시되는 순간은 두 번이다. 예를 들어, 먼저 상호 작용 카운터가 5에 도달하고 사용자가 IoT 서비스를 추가하는 경우 제안 간격 5는 인간 단기 기억의 정보 용량이 5에서 9 항목 사이인 휴리스틱을 기반으로 한다[20]. 두 번째는, 상호작용 카운터가 2개 이상이고 사용자가 매시업 생성을 마치면 대화가 끝나기 전에 제안사항 확인을 한다.According to an embodiment of the present invention, whenever a user adds or undos an IoT service, the interaction counter is incremented by 1, except for the initial interaction where two IoT services, a trigger and an action must be specified. There are two moments at which the proposal confirmation is presented. For example, if the interaction counter reaches 5 first and the user adds IoT services, the proposed interval 5 is based on the heuristic where the information capacity of human short-term memory is between 5 and 9 items [20]. Second, if you have two or more interaction counters and the user has finished creating the mashup, check for suggestions before the conversation ends.

도 3의 단계(350)에서는 사용자에게 제안사항 확인을 하는 상호 작용을 보여준다. 사용자가 추가한 IoT 서비스는 상호 작용 카운터를 1씩 증가시키며(351), 사용자는 제안사항 확인을 CoMMA(352)로부터 제공받는다. 사용자는 제안 수락 또는 거부 중 하나를 선택할 수 있으며, (353)과 같이 매시업의 현재 상태는 수락된 경우 표시된다. 이를 통해 사용자는 주기적으로 매시업 발생 방식을 파악할 수 있어 사용자 요구 사항 [R3]을 충족할 수 있다. In step 350 of FIG. 3 , an interaction for confirming a suggestion is shown to the user. The IoT service added by the user increments the interaction counter by 1 ( 351 ), and the user receives a suggestion confirmation from the CoMMA ( 352 ). The user can either choose to accept or reject the proposal, and the current status of the mashup, as shown in 353, is displayed if accepted. This allows the user to periodically identify how the mashup occurs, thus satisfying the user requirement [R3].

본 발명의 실시예에 따른 피드백 메커니즘에는 사용자가 매시업 진행상황을 추적할 수 있도록 지원하는 진행상황 확인이 있다. 그러나 진행상황 확인은 자체적으로 필요할 수 있으며 일반적인 경우에 도움이 된다. 예를 들어, 사용자가 실수로 매시업 생성 진행상황을 잊어버린 경우 진행상황을 호출하는 것이 도움이 될 수 있다. 사용자는 원할 때마다 "매시업 상태에 대해 말해줘(tell me about the mashup state)" 또는 "현재 매시업(current mashup)"이라고 말하며 CoMMA에 매시업 진행상황을 확인하도록 요청할 수 있다.A feedback mechanism according to an embodiment of the present invention includes a progress check that supports a user to track the progress of a mashup. However, a progress check may be necessary on its own and is helpful in general cases. For example, if a user accidentally forgets the progress of creating a mashup, it can be helpful to call the progress. Users can ask CoMMA to check the progress of the mashup whenever they want by saying "tell me about the mashup state" or "current mashup".

본 발명의 실시예에 따르면, 사용자가 매시업 생성을 위한 사용자 명령(User Commands)을 발화할 때, 필요한 식별자(Identifiers)는 도 3의 (331)의 예시와 같은 자연 언어 처리 모델(NLP Model)을 사용하여 인식된다. 인식된 식별자를 통해 CoMMA는 도 3의 (332)의 예시와 같이 사용자가 사용하고자 하는 IoT 서비스의 유형을 제공한다. 현재 IoT 환경에서 사용할 수 없는 서비스에 대해 사용자가 언급하는 등 서비스 유형을 유추하는 동안 문제가 발생하면 CoMMA는 피드백 생성부를 통해 사용자에게 오류를 피드백한다. 추정된 서비스 유형은 매시업 저장부에 저장되고 피드백 생성부에 공급된다. 매시업 저장부는 도 3의 (353)의 매시업 데이터와 같이 사용자가 생성한 매시업을 지시된 그래프의 형태로 저장하는 데 사용된다. 제안하는 피드백 생성부는 도 3의 (333)의 예시와 같은 추론된 정보를 기반으로 피드백을 생성하고, 현재 상호작용 카운터에 확인이 필요한지 여부를 점검한다. 확인이 필요한 경우, 생성된 피드백과 확인 제안이 모두 도 3의 (352)의 예시와 같이 사용자에게 전달된다. According to an embodiment of the present invention, when a user utters a user command (User Commands) for generating a mashup, the necessary identifiers are a natural language processing model (NLP Model) such as the example of 331 of FIG. 3 . recognized using Through the recognized identifier, CoMMA provides the type of IoT service that the user wants to use, as shown in the example 332 of FIG. 3 . If a problem occurs while inferring a service type, such as a user mentioning a service that cannot be used in the current IoT environment, ComMA feeds back an error to the user through the feedback generator. The estimated service type is stored in the mashup storage and fed to the feedback generator. The mashup storage unit is used to store the mashup created by the user in the form of a graph indicated, such as the mashup data of 353 of FIG. 3 . The proposed feedback generator generates feedback based on the inferred information as in the example of 333 of FIG. 3 , and checks whether confirmation is required for the current interaction counter. When confirmation is required, both the generated feedback and confirmation suggestion are transmitted to the user as illustrated in 352 of FIG. 3 .

본 발명의 실시예에 따르면, 식별자 매칭 등 CoMMA의 자연어 처리는 Google Dialogflow NLP 모델을 사용하여 수행하였다. 확인된 명령은 Intel Xeon E3-1230v6 CPU 및 16GB RAM이 있는 컴퓨터에서 작동하는 CoMMA 백엔드 서버로 전송되었다. 백엔드 서버는 CoMMA 응답 생성 및 그래프 형식의 매시업 관리를 고려한다. 백엔드 서버는 Python 3.5에서 Flask 1.1.22 및 NetworkX 2.23으로 프로그래밍되었다. According to an embodiment of the present invention, natural language processing of CoMMA such as identifier matching was performed using the Google Dialogflow NLP model. The commands identified were sent to a ComMA backend server running on a computer with an Intel Xeon E3-1230v6 CPU and 16 GB of RAM. The backend server considers generating ComMA responses and managing mashups in graph form. The backend server was programmed with Flask 1.1.22 and NetworkX 2.23 in Python 3.5.

본 발명의 실시예에 따른 매시업을 수정하기 위한 사용자(또는, 사용자 단말)와 CoMMA와의 상호 작용은 두 가지 주요 단계, 즉 로컬리제이션 단계와 수정 단계로 나뉜다. 로컬리제이션 단계는 현재 스마트홈(다시 말해, IoT 환경)에 배포되어 수정해야 하는 매시업을 로컬리제이션하는 단계로, 사용자는 이 단계에서 문제가 있는 매시업을 분류할 수 있다. 이후, 수정 단계에서 로컬리제이션된 매쉬업을 수정하기 위해 상호 작용이 이루어진다. The interaction between a user (or a user terminal) and CoMMA for modifying a mashup according to an embodiment of the present invention is divided into two main phases, namely, a localization phase and a modification phase. The localization stage is a stage to localize the mashup that is currently deployed in the smart home (that is, the IoT environment) and needs to be modified, and the user can classify the problematic mashup at this stage. An interaction is then made to modify the localized mashup in the edit phase.

사용자가 대화 인터페이스를 통해 현재 배포된 매시업 목록을 확인하는 것은 유용성 측면에서 효율적이지도 효과적이지도 않다. CoMMA와 사용자가 사용 가능한 모든 매시업 목록을 말하고 그 중 하나를 선택하는 대신 본 발명에서는 CoMMA가 사용자가 말하는 사용자 암시를 기반으로 매시업을 검색하는 방식을 사용했다. 함축된 의미는 사용자 발화에서 암시된 의미이다[21]. 이러한 사용자 암시를 활용하여 상호작용 인터페이스를 통해 매시업을 사용 가능한 방식으로 로컬리제이션할 수 있다. 또한, 사용자 암시로부터 대상 환경 특성을 유추하고 환경 특성에 영향을 준 IoT 서비스 매시업을 검색하는 "암시 기반 역추적 프로세스"를 제안한다. It is neither efficient nor effective in terms of usability for the user to check the list of currently deployed mashups through a conversational interface. Instead of telling CoMMA and the user a list of all available mashups and selecting one, the present invention uses CoMMA to retrieve a mashup based on the user's suggestion of the user. The implied meaning is the meaning implied in the user's utterance [21]. You can leverage these user hints to localize the mashup in a usable way through an interactive interface. In addition, we propose an "implicit-based traceback process" that infers target environment characteristics from user hints and retrieves IoT service mashups that have influenced environment characteristics.

발화 유형에 영향을 받는 화용론(pragmatics)의 분류법[22]에 따르면, 사용자와 CoMMA 사이의 상호작용 동안 5가지 발화 행동을 할 수 있다. 이러한 음성 행위 중 두 가지(예를 들어, 명령 및 표현)는 암묵적 추론에 활용될 수 있다. 두 음성 행위 모두 직간접 방식으로 환경을 변경하려는 의도를 포함할 수 있기 때문이다[23]. 또한, 두 가지 모두 스마트 홈 환경에서 종래기술[8, 24, 25]에 의해 사용되었고, 암묵적 추론을 위한 NLP 모델은 관련 문장 유형을 지원하도록 훈련되었다. 지원되는 발화 유형은 다음과 같다.According to the taxonomy of pragmatics [22], which is influenced by the type of speech, five speech actions are possible during the interaction between the user and ComMA. Two of these voice actions (eg, command and expression) can be utilized for implicit reasoning. This is because both voice actions can include an intention to change the environment in a direct or indirect way [23]. In addition, both were used by the prior art [8, 24, 25] in the smart home environment, and the NLP model for implicit inference was trained to support the relevant sentence types. The following utterance types are supported:

예를 들어, 명령에는 "이 방을 시원하게 하라(make this room cool)"와 같은 문장이 포함될 수 있다. 이러한 유형의 문장은 사용자와 CoMMA 사이의 상호작용에서 가장 우세하다[23].For example, a command might contain a sentence such as "make this room cool". This type of sentence is most prevalent in the interaction between the user and CoMMA [23].

예를 들어, 표현에는 "방이 정말 덥다(the room is really hot)" 또는 단순히 "덥다(it' s hot)"와 같은 문장이 포함될 수 있다. Gricean의 최대 관련성[21]을 바탕으로 현재 환경에 대한 사용자의 느낌을 반영할 뿐만 아니라 현재 환경을 개선하고자 하는 사용자의 바람도 반영된다.For example, the expression may include sentences such as "the room is really hot" or simply "it's hot". Based on Gricean's maximum relevance [21], it reflects not only the user's feelings about the current environment, but also the user's desire to improve the current environment.

예를 들어, 질문에는 "방이 왜 이렇게 더운가(why is the room so hot)"와 같은 문장이 포함될 수 있다. 이러한 질문은 사용자가 대화 담당자에게 현재 환경적 특성에 대한 근거를 묻는다는 점에서 필수 사항의 형태를 취한다. 동시에, 그들은 현재 환경적 특성에 대한 부정적인 피드백으로 암묵적으로 작용한다는 점에서 표현들의 속성도 가지고 있다. For example, a question might contain sentences such as "why is the room so hot". These questions take the form of essentials in that the user asks the conversationalist for reasons about the current environmental characteristics. At the same time, they also have the property of expressions in that they act implicitly as negative feedback on current environmental characteristics.

본 발명의 실시예에 따른 스마트 홈 환경에서 사용자에게 영향을 미칠 수 있는 환경 속성 유형에 대해서는 EUPont ontology[18]를 참조했다. 예를 들어, 온톨로지에서는 공기 품질, 밝기, 습도, 소음, 온도, 보안 등 6가지 특성이 정의되며, 각 IoT 액션 서비스는 환경 특성을 1개 이상 증감한다. 예를 들어, 온톨로지에서 "EnableAirPurifierSystemAction"으로 정의되는 에어 클리어를 켜면 환경의 공기 품질이 증가하므로 그 주효과는 하이퀄리티(HighAirQuality)로 정의된다. For the type of environment attribute that can affect users in the smart home environment according to the embodiment of the present invention, reference was made to EUPont ontology [18]. For example, in the ontology, six characteristics such as air quality, brightness, humidity, noise, temperature, and security are defined, and each IoT action service increases or decreases one or more environmental characteristics. For example, turning on air clear defined as "EnableAirPurifierSystemAction" in the ontology increases the air quality of the environment, so its main effect is defined as HighAirQuality.

그러나 IoT 서비스의 주효과뿐만 아니라 부작용에서도 사용자 암시가 발생할 수 있다. 예를 들어, 에어 클리어를 켜면 환경의 공기 품질이 향상될 뿐만 아니라 환경 내 소음 수준 증가에 따른 부작용도 발생한다. 온톨로지는 IoT 서비스별 주요 효과만을 규정하고 있기 때문에 잠재적인 부작용을 고려하여 분류를 확대하였다. However, not only the main effects of IoT services, but also user hints may occur in side effects. For example, turning on Air Clear not only improves the quality of the air in the environment, but also has a side effect of increasing noise levels in the environment. Since Ontology defines only the main effects of each IoT service, the classification has been expanded in consideration of potential side effects.

도 4는 본 발명의 일 실시예에 따른 암시 기반 역추적 프로세스의 개념을 설명하기 위한 도면이다.4 is a diagram for explaining the concept of a suggestion-based traceback process according to an embodiment of the present invention.

본 발명의 실시예에 따른 수정을 위한 매시업 검색을 시작하기 위해 사용자는 NLP 모델(410)에서 지원할 수 있는 모든 표현을 말할 수 있다. 예를 들어, 사용자는 "에어컨이 충분히 냉각되지 않음(the air conditioner is not cooling enough)"과 같은 특정 장치를 사용하는 매시업을 검색하기 위한 장치 키워드(Device Keyword)를 추가로 제공할 수 있다. 이후, NLP 모델(410)은 입력된 사용자 발화(User Utterances)로부터 암시(User Implicature)하는 것을 유추한다. 여기서 사용자는 변경하려는 환경 속성에 대한 정보를 암시한다. 환경 속성과 IoT 액션 간의 매핑을 포함하는 온톨로지(420)를 역추적하면, 사용자에게 영향을 미쳤을 수 있는 IoT 액션 서비스 목록을 추론할 수 있다(그림에서 "기여 행동(Attributable Actions)"으로 명명됨). 마지막으로, 최근 실행된 IoT 서비스 매시업 내역(mashup History)(430)을 조회하여 귀속 매시업을 검색하고 호출 타임스탬프를 이용하여 우선순위를 부여한다. 가장 최근에 실행된 매시업은 사용자에게 영향을 미칠 가능성이 가장 높고 시간 임계값을 초과하는 이력 기록은 검색에서 제외되기 때문에 가장 높은 우선 순위를 가진다. 이 프로세스를 통해 검색된 매시업은 사용자에게 우선 순위에 따라 제공된다.In order to start a mashup search for modifications according to an embodiment of the present invention, the user can say any representation that the NLP model 410 can support. For example, the user may additionally provide a Device Keyword to search for a mashup using a particular device, such as "the air conditioner is not cooling enough". Thereafter, the NLP model 410 infers user implicature from the input user utterances. Here, the user hints at information about the environment attribute that he wants to change. By tracing back onto the ontology 420 containing the mapping between environment properties and IoT actions, it is possible to infer a list of IoT action services that may have affected the user (named “Attributable Actions” in the figure). . Finally, by querying the recently executed IoT service mashup history 430 , the attributable mashup is searched and priority is given using the call timestamp. The most recently executed mashup has the highest priority because it is most likely to affect users and historical records that exceed the time threshold are excluded from the search. Mashups retrieved through this process are presented to users in priority order.

도 5는 본 발명의 일 실시예에 따른 암시 기반 역추적 프로세스의 예시를 설명하기 위한 도면이다. 5 is a diagram for explaining an example of a suggestion-based traceback process according to an embodiment of the present invention.

예를 들어, 도 5의 (510)에서 사용자는 "지금 방이 덥다(the room is hot now)"고 말했으며, 여기에서 "고온(HighTemperature)"의 함축성이 추론된다. "고온(HighTemperature)"의 함축성을 가진 온톨로지 역추적을 통해 기여 행동 목록을 얻을 수 있다. 도 5의 (520)에서 온도 특성에 영향을 미칠 수 있는 IoT 행동 목록에는 히터 끄기(Disable Heating System), 제습기 켜기(Enable Dehumidifier System), 창 열기(Open Window Frame) 등이 있다. 이 목록은 속성 매시업 우선 순위를 지정하기 위해 도 5의 (530)과 같이 매시업 호출 기록으로 조회된다. For example, in 510 of FIG. 5 , the user said "the room is hot now", and the implication of "HighTemperature" is inferred from here. A list of contributing behaviors can be obtained through an ontology traceback with the implication of "HighTemperature". In 520 of FIG. 5 , the list of IoT actions that may affect the temperature characteristic include turning off a heater (Disable Heating System), turning on a dehumidifier (Enable Dehumidifier System), and opening a window (Open Window Frame). This list is queried as a mashup call record as shown at 530 in FIG. 5 to prioritize the attribute mashup.

도 6은 본 발명의 일 실시예에 따른 로컬리제이션의 상호작용을 설명하기 위한 도면이다. 6 is a diagram for explaining the interaction of localization according to an embodiment of the present invention.

도 6을 참조하여 사용자(또는 사용자 단말)와 CoMMA 간의 상호 작용이 프런트 엔드에서 어떻게 작동하는지 설명한다. 본 발명의 실시예에 따른 로컬리제이션 프로세스는 사용자의 명령 또는 표현 발화에 의해 시작된다. 이후, 본 발명의 실시예에 따른 CoMMA는 도 6의 (610)과 같이 발화에서 추론된 사용자 암시를 반환한다. 이러한 암묵적 동의는 추론된 암시가 올바를 뿐만 아니라 IoT 서비스 매시업 기록에 액세스할 수 있는 권한을 부여하는 역할도 한다. 이는 기록에 액세스하는 것이 사생활에 민감한 행동이기 때문이다[26, 6]. 다음으로, 도 6의 (620)과 같이 검색 결과에 대해 간략하게 답변한다. 사용자가 검색 결과의 트리거 정보를 기억하면 사용자가 수정 단계를 직접 진행할 수 있다. 그렇지 않으면 사용자가 도 6의 (630)과 같이 액션을 실행한 이유를 질문할 수 있으며, 본 발명의 실시예에 따른 CoMMA는 결과에 대한 모든 정보를 사용하여 응답한다. Referring to FIG. 6 , how the interaction between the user (or user terminal) and CoMMA works at the front end will be described. The localization process according to an embodiment of the present invention is initiated by the user's command or expression utterance. Thereafter, CoMMA according to an embodiment of the present invention returns a user suggestion inferred from the utterance as shown in 610 of FIG. 6 . This tacit consent not only ensures that the inferred implication is correct, but also serves to grant access to the IoT service mashup record. This is because accessing records is a privacy-sensitive behavior [26, 6]. Next, a brief answer is given to the search result as shown in 620 of FIG. 6 . If the user remembers the trigger information of the search result, the user can directly proceed with the correction step. Otherwise, the user may ask the reason for executing the action as shown in 630 of FIG. 6 , and CoMMA according to an embodiment of the present invention responds using all information about the result.

도 7은 본 발명의 일 실시예에 따른 로컬리제이션 과정에서 또 다른 매시업을 검색하거나 또는 이전 매시업으로 돌아가기 위한 상호작용의 예시를 설명하기 위한 도면이다. 7 is a diagram for explaining an example of interaction for searching for another mashup or returning to a previous mashup in the localization process according to an embodiment of the present invention.

현재 검색 결과가 만족스럽지 않을 경우 도 7(a)와 같이 CoMMA가 다음 매시업을 검색하도록 만드는 거절 명령을 말할 수 있다. 또한 도 7(b)와 같이 이전 결과로 돌아갈 수 있다. 이와 같은 사용자 암시 추론 과정과의 로컬리제이션 상호작용을 통해 단순하고 직관적인 문장으로 IoT 서비스 매시업을 로컬리제이션할 수 있으며, CoMMA 응답에서 불필요한 정보를 최소화할 수 있다. If the current search result is not satisfactory, as shown in FIG. 7( a ), a rejection command to make CoMMA search for the next mashup may be given. Also, it is possible to return to the previous result as shown in FIG. 7(b). Through this localization interaction with the user implicit reasoning process, IoT service mashups can be localized with simple and intuitive sentences, and unnecessary information can be minimized in the ComMA response.

본 발명의 실시예에 따른 오류 수정 단계에서 사용자는 로컬리제이션된 매시업을 수정하는 명령을 말한다. 명령은 새로운 매시업 구성 요소(예를 들어, "온도 설정 24로 추가(add setting the temperature to 24)")를 추가하거나 기존 매시업 구성 요소 또는 파라미터를 대체하는 것일 수 있다(예를 들어, "트리거 조건을 사무실 밖으로 나갈 때마다 변경(change the triggering condition to whenever I leave the office)"). CoMMA가 어떤 유형의 수정을 지원해야 하는지 명확히 하기 위해 도 8과 같이 7가지 유형의 수정을 분류했다.In the error correction step according to an embodiment of the present invention, the user refers to a command to correct the localized mashup. The command may be to add a new mashup component (eg "add setting the temperature to 24") or replace an existing mashup component or parameter (eg "trigger condition"). change the triggering condition to whenever I leave the office"). To clarify what types of modifications CoMMA should support, we have grouped 7 types of modifications as shown in Figure 8.

도 8은 본 발명의 일 실시예에 따른 매시업 수정을 위한 명령 패턴을 나타내는 도면이다. 8 is a diagram illustrating a command pattern for modifying a mashup according to an embodiment of the present invention.

본 발명의 실시예에 따른 사용자 명령에 대한 새로운 트리거 추가(Appending a new Ttrigger), 새로운 액션 추가(Appending a new action), 기존 트리거 대체(Replacing the existing trigger), 기존 액션 대체(Replacing the existing action), 트리거 파라미터 수정(Modifiying the trgger parameter), 액션 파라미터 수정(Modifying the action parameter) 및 서비스 매시업 삭제(Removing the service mashup)를 포함하는 복수의 명령 패턴에 기초하여, 사용자 명령의 서비스 유형이 파라미터를 설정, 증가 또는 감소시키는지 여부 및 수정하기 위한 상기 매시업에서 상기 파라미터를 사용하는 구성 요소가 있는지 확인한다. 기존 파라미터를 수정하는 사용자 명령을 찾을 수 없는 경우 수정할 위치와 수정하기 위한 상기 매시업의 대체 또는 추가 여부를 확인함으로써 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보의 모호성을 개선할 수 있다. Adding a new trigger to a user command according to an embodiment of the present invention (Appending a new Ttrigger), adding a new action (Appending a new action), replacing the existing trigger (Replacing the existing trigger), replacing the existing action (Replacing the existing action) , based on a plurality of command patterns including Modifying the trigger parameter, Modifying the action parameter, and Removing the service mashup, the service type of the user command sets the parameter , whether to increment or decrement, and if there is a component that uses the parameter in the mashup to modify. If a user command to modify an existing parameter cannot be found, the type of service, parameters, keywords, location to modify, and substitution or Ambiguity of essential information including additions can be improved.

앞서 설명된 바와 같이, 분류된 사용자 입력의 유형을 바탕으로 IoT 서비스 매시업을 수정하려면 4가지 정보가 필요함을 확인하였다. 각 정보에 대한 설명은 다음과 같다: As described above, it was confirmed that four pieces of information were needed to modify the IoT service mashup based on the classified type of user input. A description of each piece of information follows:

IoT 서비스 매시업을 수정하기 위한 정보 중 "서비스 유형"은 사용자 명령을 수행하는 데 사용되는 서비스를 확인하는 데 필요하다. 예를 들어 사용자가 "집에서 나갈 때 변경(change it to when I leave home)"이라고 하면 위치 기반 종료 감지 서비스를 사용하려는 것이다. 사용자가 "3도 증가(increase temperature by 3)" 또는 "실온 3도 증가 시(when the room temperature increased by 3)"라고 하면 이는 온도 감지 또는 작동 서비스가 사용됨을 나타낸다. 사용자에게 필요한 서비스 유형은 NLP 모델의 의도 감지를 통해 해결된다.Among the information for modifying the IoT service mashup, the "service type" is needed to identify the service used to perform user commands. For example, if the user says "change it to when I leave home," then you want to use a location-based exit detection service. When a user says "increase temperature by 3" or "when the room temperature increased by 3", this indicates that a temperature sensing or activation service is used. The type of service required by the user is resolved through intent detection in the NLP model.

또한, IoT 서비스 매시업을 수정하기 위한 정보 중 "파라미터"와 "키워드"는 사용자 입력에서 중요한 정보이다. 위의 예에서 "집(home)"과 "3"은 IoT 서비스를 올바르게 운영하는 데 필요하므로 파라미터로 인식된다. 이 정보는 NLP 모델의 슬롯 채우기 기능을 통해 해결된다.In addition, among the information for modifying the IoT service mashup, “parameters” and “keywords” are important information in user input. In the example above, "home" and "3" are recognized as parameters as they are necessary to operate the IoT service correctly. This information is addressed through the slot filling function of the NLP model.

또한, 사용자가 매시업의 트리거 구성 요소 또는 작업 구성 요소를 수정할지 여부를 확인하려면 "수정 위치"가 필요하다. 이 정보는 사용자 명령(예를 들어, "...로 트리거 변경(change the trigger to ...)"에 명시적으로 명시되어 있거나 명령을 액션(예를 들어, 시간, 날씨 또는 위치 기반 서비스)으로 확인할 수 없는 경우 사소한 방법으로 해결할 수 있다. 그렇지 않으면 모호성 문제가 발생한다. Also, we need a "modify location" to check whether the user wants to modify the mashup's trigger component or action component. This information may be explicitly specified in a user command (e.g., "change the trigger to ..." If it cannot be checked with , it can be solved in a trivial way, otherwise an ambiguity problem arises.

또한, IoT 서비스 매시업을 수정하기 위한 정보 중 "대체" 또는 "추가"는 사용자가 기존 매시업 구성 요소를 대체할 것인지 아니면 새로운 구성 요소를 추가할 것인지를 나타낸다. 수정 위치와 유사하게, 이 정보에도 모호성 문제가 있다.In addition, among the information for modifying the IoT service mashup, “replace” or “add” indicates whether the user will replace the existing mashup component or add a new component. Similar to the location of the fix, there is also an ambiguity problem with this information.

Gricean 최대치[21]에 따르면, 사람들은 현재 대화에서 쉽게 추론할 수 있는 정보를 생략할 수 있다. 따라서 사용자는 일부 필수 정보를 생략하여 명령을 단순화할 수 있으며, 이는 모호성 문제를 야기한다.According to the Gricean maximum [21], people can omit information that can be easily inferred from the current conversation. Thus, the user can simplify the command by omitting some essential information, which creates an ambiguity problem.

도 9는 본 발명의 일 실시예에 따른 사용자 명령의 모호성 문제를 설명하기 위한 도면이다. 9 is a diagram for explaining a problem of ambiguity of a user command according to an embodiment of the present invention.

도 9의 예시와 같은 매시업에서 사용자는 기존 액션을 대체하기 위해 "제습기 켜기로 액션 변경(change the action to turning the dehumidifier on) (A1)"을 할 수 있다. 여기서 사용자는 "가습기 켜기로 변경(change it to turning on the humidifier)(A2)"이라고만 말하면 키워드 "액션(action)"을 생략할 수 있다. 사용자는 때때로 (A3)와 같은 구문이나 불규칙한 문법을 사용하여 말을 더욱 간소화할 수 있다. 또 다른 예시로, 사용자는 "습도를 60%로 변경(P1)" 명령을 내리거나 "60으로 변경(P2)"이라고 말함으로써 도 9에 표시된 습도 파라미터를 수정할 수 있다.In the mashup as in the example of FIG. 9 , the user may “change the action to turning the dehumidifier on (A1)” to replace the existing action. Here, the user can omit the keyword "action" by simply saying "change it to turning on the humidifier (A2)". Users can sometimes further simplify their speech by using phrases such as (A3) or irregular grammars. As another example, the user may modify the humidity parameter shown in FIG. 9 by issuing a command "change humidity to 60% (P1)" or saying "change to 60 (P2)".

모호성 문제를 해결하는 순수한 방법은 문제가 발생할 때마다 사용자에게 후속 질문을 하는 것이다. 즉, 사용자가 "제습기를 켜도록 변경(change it to dehumidifier turn on,)"이라고 하면 CoMMA는 "어떤 항목을 변경, 트리거 또는 수행하시겠습니까(which one do you want to change, trigger or action)"라고 물을 수 있다. 후속 질문은 명확하지 않지만[27] 후속 질문을 자주 하면 대화 턴(turn)이 늘어나고 상호작용이 부자연스러워진다. 따라서 사용 편의성 측면에서 수정 상호작용 과정에서 후속 질문의 수를 최소화하면서 모호성 문제를 해결하는 것이 중요하다. 스마트 홈 환경에는 다양한 트리거와 작업이 있으며 트리거와 작업의 조합인 여러 IoT 서비스 매시업이 있을 수 있다. 본 발명에서는 특정 종류의 자연어 명령, 트리거, 동작에 의존하지 않는 일반화된 솔루션으로서 상술된 사용자의 7가지 명령 패턴에 기초한 모호성 전략을 고려하여 모호성 문제를 해결하였다.A pure way to solve the ambiguity problem is to ask the user a follow-up question whenever a problem arises. In other words, when the user says "change it to dehumidifier turn on," ComMA asks "which one do you want to change, trigger or action" can be Follow-up questions are not clear [27], but frequent follow-up questions increase conversation turns and make interactions unnatural. Therefore, in terms of ease of use, it is important to solve the ambiguity problem while minimizing the number of follow-up questions in the course of the revision interaction. In a smart home environment, there are different triggers and actions, and there can be multiple IoT service mashups that are combinations of triggers and actions. In the present invention, the ambiguity problem is solved by considering the ambiguity strategy based on the user's seven command patterns as a generalized solution that does not depend on a specific type of natural language command, trigger, or action.

도 10은 본 발명의 일 실시예에 따른 사용자 명령의 명확화 과정을 설명하기 위한 도면이다. 10 is a view for explaining a process of clarifying a user command according to an embodiment of the present invention.

도 8의 명령 패턴 "서비스 매시업 삭제"를 제외하고, 사용자 명령의 유형을 분류하는 프로세스는 도 10과 같이 3단계로 나뉜다. 프로세스에 따라 각 단계의 세부정보는 다음과 같다: Except for the command pattern “delete service mashup” in FIG. 8 , the process of classifying the types of user commands is divided into three steps as shown in FIG. 10 . Depending on the process, the details of each step are as follows:

먼저, 명령에 의해 파라미터가 변경되는지 확인한다(1010). 이때 두 가지 조건, 즉 사용자 명령의 서비스 유형이 파라미터를 설정, 증가 또는 감소하는지 여부 및 현재 선택한 매시업에서 파라미터를 사용하는 구성 요소가 있는지 확인해야 한다. 본 발명의 실시예에 따른 CoMMA는 두 조건이 모두 충족될 때마다 사용자 명령에 대상 파라미터 유형이 지정되어 있는지 확인한다. 사용자가 유형을 지정하지 않은 경우(예를 들어, 도 9의 (P2)), 선택한 매시업에서 파라미터를 사용하는 구성요소가 수정된다. 그렇지 않으면 사용자 지정 유형과 동일한 유형의 파라미터를 사용하는 구성 요소가 수정된다(예를 들어, 도 9의 (P1)). 이 과정에서 모호성이 발생하는 경우(예를 들어, 트리거와 파라미터 모두 동일한 유형의 파라미터를 사용함), 사용자에게 후속 질문이 제시된다. 위의 프로세스에 일치하는 구성요소가 없으면 사용자 명령은 도 8의 명령 패턴(a-d) 중 하나로 간주되고 프로세스는 다음 단계로 진행된다.First, it is checked whether a parameter is changed by the command (1010). At this point, you need to check two conditions: whether the service type of the user command sets, increments or decrements the parameter, and whether there is a component using the parameter in the currently selected mashup. CoMMA according to an embodiment of the present invention checks whether the target parameter type is specified in the user command whenever both conditions are satisfied. If the user does not specify a type (eg, (P2) in FIG. 9 ), the component using the parameter in the selected mashup is modified. Otherwise, a component that uses a parameter of the same type as the user-specified type is modified (eg, (P1) in FIG. 9). If ambiguity arises during this process (for example, both trigger and parameter use the same type of parameter), the user is presented with a follow-up question. If there is no matching component in the above process, the user command is regarded as one of the command patterns (a-d) in Fig. 8 and the process proceeds to the next step.

다음으로, 수정 위치를 명확하게 해야 한다(1020). 기존 파라미터를 수정하는 사용자 명령을 찾을 수 없는 경우(즉, 수정 유형이 도 8의 명령 패턴(a-d) 중 하나), 수정 위치와 대체 또는 추가 여부를 확인해야 한다. 이를 해결하기 위해, 본 발명에서는 휴먼-AI 지침에 의해 권장되는 대화 내의 상황 정보를 사용한다[27]: (1) 현재 선택된 IoT 서비스 매시업 정보, (2) 사용자와 CoMMA의 대화 기록, (3) 사용자가 말하는 키워드 등 3가지 상황별 정보를 사용한다.Next, it is necessary to clarify the location of the correction (1020). If a user command to modify an existing parameter cannot be found (that is, the type of modification is one of the command patterns (a-d) in FIG. 8), it is necessary to check the location of the modification and whether to replace or add it. To solve this, the present invention uses contextual information within the conversation recommended by the Human-AI guidelines [27]: (1) currently selected IoT service mashup information, (2) Conversation record between the user and CoMMA, (3) We use 3 contextual information such as keywords spoken by the user.

가장 높은 우선순위는 사용자가 위치 키워드를 명시적으로 말한 적이 있는지 여부이다. 사용자가 현재 명령 또는 이전 문장에서 위치 키워드를 말한 경우 해당 정보를 사용하여 명확하게 설명한다. 그렇지 않은 경우, 사용자가 로컬리제이션 단계에서 상세한 응답(도 6의 (630))을 들은 적이 있는지 확인한다. 이때, 사용자의 대화 기록을 식별하여 확인할 수 있다. CoMMA는 사용자가 트리거링 상세 내역을 들어본 적이 없는 경우 작업 구성 요소를 수정하려는 것으로 간주한다. 위의 절차에서 모호성이 해결되지 않은 경우, CoMMA는 수정 위치를 명확히 하기 위한 후속 질문을 해야 한다.The highest priority is whether the user has ever explicitly said a location keyword. If the user said a location keyword in the current command or in a previous sentence, use that information to clarify it. If not, it is checked whether the user has ever heard a detailed response ( 630 in FIG. 6 ) in the localization step. In this case, the user's conversation record can be identified and checked. CoMMA considers that users are trying to modify the working component if they have never heard of the triggering details. If the ambiguity has not been resolved in the above procedure, CoMMA should ask a follow-up question to clarify the location of the correction.

또한, 대체 또는 추가를 명확하게 해야 한다(1030). 이전 단계와 마찬가지로 컨텍스트 정보를 사용하여 사용자가 기존 구성 요소를 대체할지 또는 새로운 구성 요소를 추가할지 여부를 명확히 알 수 없다. 사용자가 명시적으로 말하는 키워드가 가장 높은 우선 순위를 가진다. 예를 들어 사용자가 "교체...(change...)" 또는 "대체...(replace...)"와 같은 명령을 말했다면 기존 구성 요소를 대체한 것이다. "추가...(add...)" 및 "포함...(include...)"과 같은 명령은 새로운 구성 요소를 추가하는 것으로 간주된다. 명시적 키워드가 없는 경우 서비스 유형을 대상 구성요소 유형과 비교한다. 입력 명령과 현재 대상 구성요소가 동일한 유형의 서비스를 참조하는 경우 명령이 기존 구성요소를 대체하는 것으로 간주된다. 그렇지 않으면 명확화에 대한 후속 질문이 생성된다.Also, the substitution or addition should be made explicit (1030). As with the previous step, using contextual information, it is not clear whether the user will replace an existing component or add a new component. Keywords explicitly spoken by the user have the highest priority. For example, if the user said a command such as "change..." or "replace...", they replaced an existing component. Commands like "add..." and "include..." are considered to add a new component. In the absence of an explicit keyword, the service type is compared to the target component type. If the input command and the current target component refer to the same type of service, the command is considered to replace the existing component. Otherwise, follow-up questions for disambiguation are generated.

도 11은 본 발명의 일 실시예에 따른 매시업을 수정하기 위해 상호작용을 수행하는 과정을 설명하기 위한 도면이다.11 is a view for explaining a process of performing an interaction to modify a mashup according to an embodiment of the present invention.

도 11은 사용자(또는, 사용자 단말)와 CoMMA 간의 수정 상호작용의 예시를 보여준다. 수정 상호작용은 사용자가 현재 선택한 매시업을 수정하는 명령을 발화함으로써 시작된다. 인식된 사용자 발화는 NLP 모델에 의해 처리되며, 이용 가능한 정보는 발화에서 추출된다. 도 11의 예시(1110)에서 사용자가 "제습기를 켜는 것으로 변경하라(change it to turning on the dehumidifier)"고 말한 서비스 유형은 기기 활성화, 장치 파라미터는 제습기 활성화, 교체 또는 추가 정보로 인식된다. 이 인정된 정보를 바탕으로 명확화를 진행한다. 먼저, 이러한 예시에서는 사용자 명령이 기존 매시업에서 파라미터를 수정하지 않으므로 도 11의 예시(1120)을 건너뛴다. 두 번째로, 사용자가 트리거링 정보를 들었고 사용자가 수정할 매시업 구성요소를 지정하지 않았기 때문에 도 11의 예시(1130)과 같이 수정할 위치에 대한 후속 질문이 생성된다. 정보 대체 또는 추가는 도 11의 예시(1140)과 같이 사용자의 음성에서 자동으로 명확화된다. 마지막으로 사용자의 수정 명령을 매시업에 적용하기 전에 명시적 확인 요청을 한다. 수정이 완료되면 사용자는 수정할 다른 매시업을 검색하거나 수정 프로세스를 완료할 수 있다.11 shows an example of a modification interaction between a user (or user terminal) and CoMMA. The edit interaction is initiated by the user issuing a command to modify the currently selected mashup. The recognized user utterances are processed by the NLP model, and available information is extracted from the utterances. In the example 1110 of FIG. 11 , the service type in which the user said "change it to turning on the dehumidifier" is device activation, and the device parameter is recognized as dehumidifier activation, replacement, or additional information. Clarification proceeds based on this accepted information. First, in this example, the example 1120 of FIG. 11 is skipped because the user command does not modify the parameters in the existing mashup. Second, since the user has heard the triggering information and the user has not specified which mashup component to modify, a follow-up question is generated as to where to modify, as in example 1130 of FIG. 11 . Substitution or addition of information is automatically disambiguated in the user's voice, as in example 1140 of FIG. 11 . Finally, an explicit confirmation request is made before applying the user's edit command to the mashup. Once the edit is complete, the user can either search for another mashup to edit or complete the edit process.

본 발명의 실시예에 따른 암묵적 유형 감지 또는 식별자 일치와 같은 자연어 처리는 Google Dialog flow1 NLP 엔진을 사용하여 수행되었다. 확인된 사용자 명령은 Intel Xeon E3-1230v6 CPU 및 16GB RAM이 있는 컴퓨터에서 작동하는 CoMMA 백엔드 서버로 전송되었다. 백엔드 서버는 Flask 1.1.22를 사용하는 Python 3.5로 프로그래밍되었다. Natural language processing such as implicit type detection or identifier matching according to an embodiment of the present invention was performed using the Google Dialog flow1 NLP engine. The verified user commands were sent to a ComMA backend server running on a computer with an Intel Xeon E3-1230v6 CPU and 16 GB of RAM. The backend server was programmed in Python 3.5 using Flask 1.1.22.

이와 같이 본 발명의 실시예들에 따른 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 모델을 통해 복수의 IoT 서비스가 연결된 경우 사용자는 간단하고 직관적인 사용자 명령을 사용하여 IoT 서비스 매쉬업을 구성할 수 있고, 사용자 명령에 중복되는 구문을 피할 수 있으며, 응답에 전달된 정보의 간소화를 달성할 수 있다. 또한, 매시업 생성의 상호작용에 있어서 사용자에게 상당한 인지 부하를 초래하지 않고 매시업 생성 진행률을 유지할 수 있도록 지원할 수 있다. As described above, when a plurality of IoT services are connected through an implicit-based interaction model for modifying automation rules in the IoT environment according to embodiments of the present invention, the user can configure the IoT service mashup using simple and intuitive user commands. It is possible to avoid duplicate syntax in user commands, and to achieve simplification of information conveyed in responses. It can also assist in maintaining mashup creation progress without incurring significant cognitive load on the user in the interaction of the mashup creation.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. may be embodied in The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.  The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

<참고문헌><References>

[1] Giuseppe Ghiani, Marco Manca, Fabio Patern'o, and Carmen Santoro. Personalization of context-dependent applications through trigger-action rules. ACM Transactions on Computer-Human Interaction (TOCHI), 24(2):1-33, 2017. [1] Giuseppe Ghiani, Marco Manca, Fabio Patern'o, and Carmen Santoro. Personalization of context-dependent applications through trigger-action rules. ACM Transactions on Computer-Human Interaction (TOCHI), 24(2):1-33, 2017.

[2] Dominique Guinard, Vlad Trifa, Stamatis Karnouskos, Patrik Spiess, and Domnic Savio. Interacting with the soa-based internet of things: Discovery, query, selection, and on-demand provisioning of web services. IEEE Transactions on Services Computing, 3(3):223-235, 2010. [2] Dominique Guinard, Vlad Trifa, Stamatis Karnouskos, Patrik Spiess, and Domnic Savio. Interacting with the soa-based internet of things: Discovery, query, selection, and on-demand provisioning of web services. IEEE Transactions on Services Computing, 3(3):223-235, 2010.

[3] Janggwan Im, Seonghoon Kim, and Daeyoung Kim. Iot mashup as a service: Cloud-based mashup service for the internet of things. In Proceedings of the 2013 IEEE International Conference on Services Computing, pages 462-469, 2013. [3] Janggwan Im, Seonghoon Kim, and Daeyoung Kim. Iot mashup as a service: Cloud-based mashup service for the internet of things. In Proceedings of the 2013 IEEE International Conference on Services Computing, pages 462-469, 2013.

[4] In-Young Ko, Han-Gyu Ko, Angel Jimenez Molina, and Jung-Hyun Kwon. Soiot: Toward a user-centric iot-based service framework. ACM Transactions on Internet Technology (TOIT), 16(2):8, 2016. [4] In-Young Ko, Han-Gyu Ko, Angel Jimenez Molina, and Jung-Hyun Kwon. Soiot: Toward a user-centric iot-based service framework. ACM Transactions on Internet Technology (TOIT), 16(2):8, 2016.

[5] Marwa Boulakbech, Nizar Messai, Yacine Sam, Mohammad Hammoudeh, et al. Iot mashups: From iot big data to iot big service. In Proceedings of the International Conference on Future Networks and Distributed Systems, page 20. ACM, 2017. [5] Marwa Boulakbech, Nizar Messai, Yacine Sam, Mohammad Hammoudeh, et al. Iot mashups: From iot big data to iot big service. In Proceedings of the International Conference on Future Networks and Distributed Systems, page 20. ACM, 2017.

[6] Tawfiq Ammari, Jofish Kaye, Janice Y Tsai, and Frank Bentley. Music, search, and iot: How people (really) use voice assistants. ACM Transactions on Computer-Human Interaction (TOCHI), 26(3):1-28, 2019. [6] Tawfiq Ammari, Jofish Kaye, Janice Y Tsai, and Frank Bentley. Music, search, and iot: How people (really) use voice assistants. ACM Transactions on Computer-Human Interaction (TOCHI), 26(3):1-28, 2019.

[7] Dave Braines, Nick O'leary, Anna Thomas, Daniel Harborne, Alun Preece, and Will Webberley. Conversational Homes: A Uniform Natural Language Approach for Collaboration Among Humans and Devices. International Journal on Advances in Intelligent Systems, 10(3):223-237, 2017. [7] Dave Braines, Nick O'leary, Anna Thomas, Daniel Harborne, Alun Preece, and Will Webberley. Conversational Homes: A Uniform Natural Language Approach for Collaboration Among Humans and Devices. International Journal on Advances in Intelligent Systems, 10(3):223-237, 2017.

[8] Andr'e Sousa Lago, Joao Pedro Dias, and Hugo Sereno Ferreira. Conversational interface for managing non-trivial internet-of-things systems. In International Conference on Computational Science, pages 384-397. Springer, 2020. [8] Andr'e Sousa Lago, Joao Pedro Dias, and Hugo Sereno Ferreira. Conversational interface for managing non-trivial internet-of-things systems. In International Conference on Computational Science, pages 384-397. Springer, 2020.

[9] Giovanni Campagna, Rakesh Ramesh, Silei Xu, Michael Fischer, and Monica S Lam. Almond: The architecture of an open, crowdsourced, privacy-preserving, programmable virtual assistant. In Proceedings of the 26th International Conference on World Wide Web, pages 341-350, 2017. [9] Giovanni Campagna, Rakesh Ramesh, Silei Xu, Michael Fischer, and Monica S Lam. Almond: The architecture of an open, crowdsourced, privacy-preserving, programmable virtual assistant. In Proceedings of the 26th International Conference on World Wide Web, pages 341-350, 2017.

[10] Frank Bentley, Chris Luvogt, Max Silverman, Rushani Wirasinghe, Brooke White, and Danielle Lottridge. Understanding the long-term use of smart speaker assistants. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 2(3):91, 2018. [10] Frank Bentley, Chris Luvogt, Max Silverman, Rushani Wirasinghe, Brooke White, and Danielle Lottridge. Understanding the long-term use of smart speaker assistants. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 2(3):91, 2018.

[11] Yoonjeong Cha, Jincheul Jang, Younghyun Hong, and Mun Yong Yi. "jack-of-all-trades": A the matic analysis of conversational agents in multi-device collaboration contexts. In Extended Abstracts of the 2019 CHI Conference on Human Factors in Computing Systems, pages 1-6, 2019. [11] Yoonjeong Cha, Jincheul Jang, Younghyun Hong, and Mun Yong Yi. "jack-of-all-trades": A the matic analysis of conversational agents in multi-device collaboration contexts. In Extended Abstracts of the 2019 CHI Conference on Human Factors in Computing Systems, pages 1-6, 2019.

[12] A.J. Bernheim Brush, Bongshin Lee, Ratul Mahajan, Sharad Agarwal, Stefan Saroiu, and Colin Dixon. Home automation in the wild: Challenges and opportunities. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI '11, page 2115-2124, New York, NY, USA, 2011. Association for Computing Machinery.[12] A.J. Bernheim Brush, Bongshin Lee, Ratul Mahajan, Sharad Agarwal, Stefan Saroiu, and Colin Dixon. Home automation in the wild: Challenges and opportunities. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI '11, page 2115-2124, New York, NY, USA, 2011. Association for Computing Machinery.

[13] Sarah Mennicken and Elaine M Huang. Hacking the natural habitat: An in-the-wild study of smart homes, their development, and the people who live in them. In Pervasive Computing: 10th International Conference, Pervasive 2012, Newcastle, UK, June 18-22, 2012. Proceedings, volume 7319, page 143. Springer, 2012. [13] Sarah Mennicken and Elaine M Huang. Hacking the natural habitat: An in-the-wild study of smart homes, their development, and the people who live in them. In Pervasive Computing: 10th International Conference, Pervasive 2012, Newcastle, UK, June 18-22, 2012. Proceedings, volume 7319, page 143. Springer, 2012.

[14] Jong-bum Woo and Youn-kyung Lim. User experience in do-it-yourself-style smart homes. In Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing, UbiComp '15, page 779-790, New York, NY, USA, 2015. Association for Computing Machinery. [14] Jong-bum Woo and Youn-kyung Lim. User experience in do-it-yourself-style smart homes. In Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing, UbiComp '15, page 779-790, New York, NY, USA, 2015. Association for Computing Machinery.

[15] Luigi De Russis and Alberto Monge Roffarello. Personalizing iot ecosystems via voice. In Proceedings of the 1st International Workshop on Empowering People in Dealing with Internet of Things Ecosystems co-located with International Conference on Advanced Visual Interfaces (EMPATHY@AVI 2020), volume 2702 of CEUR Workshop Proceedings, pages 37-40, 2020. [15] Luigi De Russis and Alberto Monge Roffarello. Personalizing iot ecosystems via voice. In Proceedings of the 1st International Workshop on Empowering People in Dealing with Internet of Things Ecosystems co-located with International Conference on Advanced Visual Interfaces (EMPATHY@AVI 2020), volume 2702 of CEUR Workshop Proceedings, pages 37-40, 2020.

[16] Ben Shneiderman. The limits of speech recognition. Communications of the ACM, 43(9):63-65, 2000.[16] Ben Shneiderman. The limits of speech recognition. Communications of the ACM, 43(9):63-65, 2000.

[17] Christine Murad, Cosmin Munteanu, Leigh Clark, and Benjamin R Cowan. Design guidelines for hands-free speech interaction. In Proceedings of the 20th International Conference on Human-Computer Interaction with Mobile Devices and Services Adjunct, pages 269-276. ACM, 2018.[17] Christine Murad, Cosmin Munteanu, Leigh Clark, and Benjamin R Cowan. Design guidelines for hands-free speech interaction. In Proceedings of the 20th International Conference on Human-Computer Interaction with Mobile Devices and Services Adjunct, pages 269-276. ACM, 2018.

[18] Fulvio Corno, Luigi De Russis, and Alberto Monge Roffarello. A High-Level Approach Towards End User Development in the IoT. In Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems - CHI EA '17, pages 1546-1552, New York, New York, USA, 2017. ACM Press.[18] Fulvio Corno, Luigi De Russis, and Alberto Monge Roffarello. A High-Level Approach Towards End User Development in the IoT. In Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems - CHI EA '17, pages 1546-1552, New York, New York, USA, 2017. ACM Press.

[19] Nicole Yankelovich, Gina-Anne Levow, and Matt Marx. Designing speechacts: Issues in speech user interfaces. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 369-376. ACM Press/Addison-Wesley Publishing Co., 1995.[19] Nicole Yankelovich, Gina-Anne Levow, and Matt Marx. Designing speechacts: Issues in speech user interfaces. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 369-376. ACM Press/Addison-Wesley Publishing Co., 1995.

[20] George Miller. The magical number seven, plus or minus two: Some limits on our capacity for processing information. The Psychological Review, 63:81-97, 1956. [20] George Miller. The magical number seven, plus or minus two: Some limits on our capacity for processing information. The Psychological Review, 63:81-97, 1956.

[21] Herbert P Grice. Logic and conversation. Syntax and Semantics, 3:41-58, 1975. [21] Herbert P Grice. Logic and conversation. Syntax and Semantics, 3:41-58, 1975.

[22] Andrea Scarantino. How to do things with emotional expressions: The theory of affective pragmatics. Psychological Inquiry, 28(2-3):165-185, 2017. [22] Andrea Scarantino. How to do things with emotional expressions: The theory of affective pragmatics. Psychological Inquiry, 28(2-3):165-185, 2017.

[23] Minha Lee. Speech acts redux: Beyond request-response interactions. In Proceedings of the 2nd Conference on Conversational User Interfaces, CUI '20, New York, NY, USA, 2020. Association for Computing Machinery. [23] Minha Lee. Speech acts redux: Beyond request-response interactions. In Proceedings of the 2nd Conference on Conversational User Interfaces, CUI '20, New York, NY, USA, 2020. Association for Computing Machinery.

[24] Dave Braines, Nick O'Leary, Anna Thomas, Daniel Harborne, Alun David Preece, and William M Webberley. Conversational homes: A uniform natural language approach for collaboration among humans and devices. International Journal on Advances in Intelligent Systems, 10(3/4):223-237, 2017. [24] Dave Braines, Nick O'Leary, Anna Thomas, Daniel Harborne, Alun David Preece, and William M Webberley. Conversational homes: A uniform natural language approach for collaboration among humans and devices. International Journal on Advances in Intelligent Systems, 10(3/4):223-237, 2017.

[25] Mahda Noura, Sebastian Heil, and Martin Gaedke. Growth: Goal-oriented end user development for web of things devices. In International Conference on Web Engineering, pages 358-365. Springer, 2018. [25] Mahda Noura, Sebastian Heil, and Martin Gaedke. Growth: Goal-oriented end user development for web of things devices. In International Conference on Web Engineering, pages 358-365. Springer, 2018.

[26] Josephine Lau, Benjamin Zimmerman, and Florian Schaub. Alexa, are you listening? privacy perceptions, concerns and privacy-seeking behaviors with smart speakers. Proc. ACM Hum.-Comput. Interact., 2(CSCW), November 2018. [26] Josephine Lau, Benjamin Zimmerman, and Florian Schaub. Alexa, are you listening? privacy perceptions, concerns and privacy-seeking behaviors with smart speakers. Proc. ACM Hum.-Comput. Interact., 2 (CSCW), November 2018.

[27] Saleema Amershi, Dan Weld, Mihaela Vorvoreanu, Adam Fourney, Besmira Nushi, Penny Collisson, Jina Suh, Shamsi Iqbal, Paul N. Bennett, Kori Inkpen, Jaime Teevan, Ruth Kikin-Gil, and Eric Horvitz. Guidelines for human-AI interaction. In Conference on Human Factors in Computing Systems - Proceedings. Association for Computing Machinery, May 2019. [27] Saleema Amershi, Dan Weld, Mihaela Vorvoreanu, Adam Fourney, Besmira Nushi, Penny Collisson, Jina Suh, Shamsi Iqbal, Paul N. Bennett, Kori Inkpen, Jaime Teevan, Ruth Kikin-Gil, and Eric Horvitz. Guidelines for human-AI interaction. In Conference on Human Factors in Computing Systems - Proceedings. Association for Computing Machinery, May 2019.

Claims (16)

삭제delete 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계; 및
상기 분류된 매시업을 수정하기 위해 오류 수정부를 통해 암시 기반 역추적 프로세스 및 로컬리제이션 간의 상호작용을 수행하는 단계
를 포함하는 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법.
localizing to classify mashups that are currently deployed in the IoT environment and require modification; and
performing an interaction between the suggestion-based traceback process and localization through an error correction unit to correct the classified mashup;
An implicit-based interaction method for modifying automation rules in an IoT environment that includes
제2항에 있어서,
상기 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계는,
발화 유형, 명령, 표현, 질문을 포함하는 사용자 발화에 관한 암시를 활용하여 매시업을 검색하고, 상기 상호작용을 통해 상기 매시업을 사용 가능한 방식으로 로컬리제이션하며, 상기 사용자 발화에 관한 암시로부터 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업을 검색하는 암시 기반 역추적 프로세스를 수행하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법.
3. The method of claim 2,
The step of localizing to classify a mashup that is deployed in the current IoT environment and requires modification is,
retrieving a mashup using hints about user utterances, including utterance types, commands, expressions, and questions, localizing the mashup in a usable manner through the interaction, and from hints about the user utterance to the current Performing a hint-based traceback process of inferring IoT environment characteristics and searching for IoT service mashups that have affected the current IoT environment characteristics
An implicit-based interaction method for modifying automation rules in an IoT environment.
제3항에 있어서,
상기 암시 기반 역추적 프로세스는,
사용자 발화에서 특정 IoT 장치를 사용하는 매시업을 검색하기 위한 장치 키워드를 추가로 제공하고,
자연어 처리 모델을 통해 입력된 사용자 발화로부터 변경하고자 하는 IoT 환경 속성에 관한 암시를 유추하며,
변경하고자 하는 IoT 환경 속성과 특정 IoT 장치의 액션 간의 매핑을 포함하는 온톨로지를 역추적하여 사용자에게 영향을 주는 IoT 액션 서비스 목록을 추론하고,
최근 실행된 IoT 서비스 매시업 내역을 조회하여 해당 매시업을 검색하고 호출 타임스탬프를 이용하여 우선순위를 부여하며, 해당 매시업의 우선 순위에 따라 사용자에게 제공하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법.
4. The method of claim 3,
The suggestion-based traceback process is
provide additional device keywords to search for mashups that use specific IoT devices in user utterances;
Inferring hints about the IoT environment properties you want to change from user utterances input through the natural language processing model,
Inferring a list of IoT action services that affect users by tracing back the ontology including the mapping between the IoT environment property to be changed and the action of a specific IoT device,
Searches the recently executed IoT service mashup history, searches for the corresponding mashup, gives priority using the call timestamp, and provides users according to the priority of the corresponding mashup.
An implicit-based interaction method for modifying automation rules in an IoT environment.
제4항에 있어서,
상기 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위해 로컬리제이션하는 단계는,
사용자의 명령 또는 사용자 발화에 의해 시작되고, 상기 사용자 발화에 관한 암시를 반환하여 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업의 검색 결과의 트리거 정보에 따라 수정 단계를 진행하거나 또는 액션을 실행한 이유를 질문하고, 검색 결과가 만족스럽지 않을 경우 또 다른 매시업을 검색하도록 하거나 또는 이전 결과로 돌아감으로써 암시 기반 역추적 프로세스 및 로컬리제이션 간의 상호작용을 통해 불필요한 정보를 최소화하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법.
5. The method of claim 4,
The step of localizing to classify a mashup that is deployed in the current IoT environment and requires modification is,
A modification step according to trigger information of a search result of an IoT service mashup that is initiated by a user's command or user's utterance, returns a hint about the user's utterance, infers the current IoT environment characteristic, and has affected the current IoT environment characteristic , or by asking why an action was executed, asking for another mashup if the search results are unsatisfactory, or returning to the previous result, providing unnecessary information through the interaction between the suggestion-based traceback process and localization. to minimize
An implicit-based interaction method for modifying automation rules in an IoT environment.
제2항에 있어서,
상기 분류된 매시업을 수정하기 위해 오류 수정부를 통해 암시 기반 역추적 프로세스 및 로컬리제이션 간의 상호작용을 수행하는 단계는,
상기 분류된 매시업을 수정하기 위한 사용자 명령을 입력 받아 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보에 따라 새로운 매시업 구성 요소를 추가하거나 또는 미리 정장된 매시업 구성 요소 또는 파라미터를 대체하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법.
3. The method of claim 2,
The step of performing the interaction between the suggestion-based traceback process and localization through the error correction unit to correct the classified mashup,
Receive a user command for modifying the classified mashup, and add a new mashup component according to essential information including service type, parameter, keyword, location to modify, and replacement or addition of mashup for the user command for modifying the mashup or to replace pre-formulated mashup components or parameters.
An implicit-based interaction method for modifying automation rules in an IoT environment.
제6항에 있어서,
상기 사용자 명령에 대한 새로운 트리거 추가, 새로운 액션 추가, 기존 트리거 대체, 기존 액션 대체, 트리거 파라미터 수정, 액션 파라미터 수정 및 서비스 매시업 삭제를 포함하는 복수의 명령 패턴에 기초하여, 사용자 명령의 서비스 유형이 파라미터를 설정, 증가 또는 감소시키는지 여부 및 수정하기 위한 상기 매시업에서 상기 파라미터를 사용하는 구성 요소가 있는지 확인하며, 기존 파라미터를 수정하는 사용자 명령을 찾을 수 없는 경우 수정할 위치와 수정하기 위한 상기 매시업의 대체 또는 추가 여부를 확인함으로써 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보의 모호성을 개선하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법.
7. The method of claim 6,
Based on a plurality of command patterns including adding a new trigger for the user command, adding a new action, replacing an existing trigger, replacing an existing action, modifying a trigger parameter, modifying an action parameter, and deleting a service mashup, the service type of the user command is a parameter Whether to set, increment or decrement, and if there are components that use the parameter in the mashup to modify it, and if no user command to modify an existing parameter can be found, where to modify and replace the mashup to modify it. or to improve the ambiguity of essential information, including service types, parameters, keywords, locations to modify, and substitution or addition of mashups for user commands for modifying the mashup by checking whether to add
An implicit-based interaction method for modifying automation rules in an IoT environment.
사용자 명령 인식부가 자연 언어 처리 모델을 활용하여 음성 형태의 사용자 명령을 텍스트로 변환한 후 객체, 운영, 파라미터 및 위치를 포함하는 각각의 식별자를 추출하여 사용자 명령을 인식하는 단계;
사용자 명령이 사용자 명령 인식부에 의해 인식되면 인식된 내용을 제어부를 통해 사용자 단말에게 제공하고, 사용자 명령을 더 추가하거나 중지하라는 메시지를 사용자 단말에 표시하도록 제어하는 단계;
사용자 명령을 더 추가하거나 중지하라는 메시지에 따라 매시업 저장부를 통해 호출되는 이전 IoT 서비스에 대하여 중복되는 문구 없이 사용자 명령을 추가함으로써 반복적으로 사용자 명령을 추가하고, IoT 서비스를 결합하여 매시업을 생성하여 저장하는 단계;
생성된 매시업에서 인식 오류가 발생한 경우 오류 수정부를 통해 전체 대화를 재시작 하지 않고 해당 사용자 명령에 대한 실행을 취소하여 오류로부터 복구하는 단계; 및
피드백 생성부를 통해, 상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성하여 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는 단계
를 포함하고,
상기 피드백 생성부를 통해, 상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성하여 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는 단계는,
인식된 IoT 서비스의 자연어 형태인 암묵적 확인의 필요 여부를 점검하고,
상호작용 카운터가 미리 정해진 수에 도달하고 사용자 명령에 따른 IoT 서비스가 추가되는 경우 및 상호작용 카운터가 미리 정해진 수 이상이고 매시업 생성 완료 후 사용자 발화가 끝나기 전에 제안사항 확인의 필요 여부를 점검하며,
사용자가 매시업 진행상황을 추적할 수 있도록 진행상황 확인의 필요 여부를 점검하여, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 방법.
Recognizing the user command by the user command recognition unit using a natural language processing model to convert the user command in voice form into text and then extract each identifier including an object, an operation, a parameter, and a location;
When the user command is recognized by the user command recognition unit, providing the recognized content to the user terminal through the control unit, and controlling the user terminal to display a message to further add or stop the user command;
By adding user commands without overlapping phrases to the previous IoT service called through the mashup storage in response to a message to add or stop more user commands, iteratively adds user commands, and combines IoT services to create and store mashups. step;
recovering from the error by undoing the execution of the user's command without restarting the entire conversation through the error correction unit when a recognition error occurs in the generated mashup; and
Through the feedback generator, feedback for implicit confirmation of the IoT service regarding the recognized user command, confirmation of proposals, and confirmation of progress is generated to check whether there is a need for implicit confirmation, confirmation of proposals and confirmation of progress, and confirmation Transmitting the generated feedback to a user terminal if necessary
including,
Through the feedback generating unit, by generating feedback for implicit confirmation of the IoT service regarding the recognized user command, confirmation of proposals, and confirmation of progress, check whether there is a need for implicit confirmation, confirmation of proposals, and confirmation of progress, and confirm If necessary, the step of delivering the generated feedback to the user terminal,
Check whether there is a need for implicit confirmation, which is a natural language form of the recognized IoT service,
When the interaction counter reaches a predetermined number and IoT services are added according to user commands, and when the interaction counter is greater than or equal to a predetermined number, after completing the creation of the mashup and before the end of the user's utterance, check whether it is necessary to confirm the suggestion;
It checks whether progress confirmation is necessary so that the user can track the progress of the mashup, and delivers the generated feedback to the user terminal when confirmation is required.
An implicit-based interaction method for modifying automation rules in an IoT environment.
삭제delete 현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위한 로컬리제이션을 수행하고, 상기 분류된 매시업을 수정하기 위한 암시 기반 역추적 프로세스 및 로컬리제이션 간의 상호작용을 수행하는 오류 수정부
를 포함하는 IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치,
An error correction unit that performs localization to classify a mashup that is currently deployed in the IoT environment and requires modification, and performs an interaction between the implicit-based traceback process and localization to correct the classified mashup
An implicit-based interaction device for modifying automation rules in an IoT environment comprising:
제10항에 있어서,
상기 오류 수정부는,
현재 IoT 환경에 배포되어 수정을 필요로 하는 매시업을 분류하기 위한 로컬리제이션을 수행하기 위해 발화 유형, 명령, 표현, 질문을 포함하는 사용자 발화에 관한 암시를 활용하여 매시업을 검색하고, 상기 상호작용을 통해 상기 매시업을 사용 가능한 방식으로 로컬리제이션하며, 상기 사용자 발화에 관한 암시로부터 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업을 검색하는 암시 기반 역추적 프로세스를 수행하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치.
11. The method of claim 10,
The error correction unit,
Retrieve mashups using hints about user utterances, including utterance types, commands, expressions, and questions, to perform localization to classify mashups that are currently deployed in IoT environments and require modification, and the interactions localizes the mashup in a usable way through performing
Implication-based interaction devices for modifying automation rules in IoT environments.
제11항에 있어서,
상기 오류 수정부는,
상기 암시 기반 역추적 프로세스를 통해 사용자 발화에서 특정 IoT 장치를 사용하는 매시업을 검색하기 위한 장치 키워드를 추가로 제공하고,
자연어 처리 모델을 통해 입력된 사용자 발화로부터 변경하고자 하는 IoT 환경 속성에 관한 암시를 유추하며,
변경하고자 하는 IoT 환경 속성과 특정 IoT 장치의 액션 간의 매핑을 포함하는 온톨로지를 역추적하여 사용자에게 영향을 주는 IoT 액션 서비스 목록을 추론하고,
최근 실행된 IoT 서비스 매시업 내역을 조회하여 해당 매시업을 검색하고 호출 타임스탬프를 이용하여 우선순위를 부여하며, 해당 매시업의 우선 순위에 따라 사용자에게 제공하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치.
12. The method of claim 11,
The error correction unit,
Further providing a device keyword for searching for a mashup using a specific IoT device in user utterances through the suggestion-based backtracking process,
Inferring hints about the IoT environment properties you want to change from user utterances input through the natural language processing model,
Inferring a list of IoT action services that affect users by tracing back the ontology including the mapping between the IoT environment property to be changed and the action of a specific IoT device,
Searches the recently executed IoT service mashup history, searches for the corresponding mashup, gives priority using the call timestamp, and provides users according to the priority of the corresponding mashup.
Implication-based interaction devices for modifying automation rules in IoT environments.
제12항에 있어서,
상기 오류 수정부는,
상기 사용자의 명령 또는 상기 사용자 발화에 의해 상기 매시업을 분류하기 위한 로컬리제이션을 시작하고, 상기 사용자 발화에 관한 암시를 반환하여 상기 현재 IoT 환경 특성을 유추하고 상기 현재 IoT 환경 특성에 영향을 준 IoT 서비스 매시업의 검색 결과의 트리거 정보에 따라 수정 단계를 진행하거나 또는 액션을 실행한 이유를 질문하고, 검색 결과가 만족스럽지 않을 경우 또 다른 매시업을 검색하도록 하거나 또는 이전 결과로 돌아감으로써 암시 기반 역추적 프로세스 및 로컬리제이션 간의 상호작용을 통해 불필요한 정보를 최소화하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치.
13. The method of claim 12,
The error correction unit,
IoT that starts localization for classifying the mashup by the user's command or the user's utterance, returns a hint about the user's utterance, infers the current IoT environment characteristic, and affects the current IoT environment characteristic Implicit-based traceback by taking corrective steps or asking why an action was executed according to the trigger information in the search result of the service mashup, and then searching for another mashup if the search result is not satisfactory or returning to the previous result Minimize unnecessary information through interactions between processes and localization
Implication-based interaction devices for modifying automation rules in IoT environments.
제10항에 있어서,
상기 오류 수정부는,
상기 분류된 매시업을 수정하기 위한 사용자 명령을 입력 받아 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보에 따라 새로운 매시업 구성 요소를 추가하거나 또는 미리 정장된 매시업 구성 요소 또는 파라미터를 대체하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치.
11. The method of claim 10,
The error correction unit,
Receive a user command for modifying the classified mashup, and add a new mashup component according to essential information including service type, parameter, keyword, location to modify, and replacement or addition of mashup for the user command for modifying the mashup or to replace pre-formulated mashup components or parameters.
Implication-based interaction devices for modifying automation rules in IoT environments.
제14항에 있어서,
상기 오류 수정부는,
상기 사용자 명령에 대한 새로운 트리거 추가, 새로운 액션 추가, 기존 트리거 대체, 기존 액션 대체, 트리거 파라미터 수정, 액션 파라미터 수정 및 서비스 매시업 삭제를 포함하는 복수의 명령 패턴에 기초하여, 사용자 명령의 서비스 유형이 파라미터를 설정, 증가 또는 감소시키는지 여부 및 수정하기 위한 상기 매시업에서 상기 파라미터를 사용하는 구성 요소가 있는지 확인하며, 기존 파라미터를 수정하는 사용자 명령을 찾을 수 없는 경우 수정할 위치와 수정하기 위한 상기 매시업의 대체 또는 추가 여부를 확인함으로써 상기 매시업 수정을 위한 사용자 명령에 대한 서비스 유형, 파라미터, 키워드, 수정할 위치 및 매시업의 대체 또는 추가를 포함하는 필수 정보의 모호성을 개선하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치.
15. The method of claim 14,
The error correction unit,
Based on a plurality of command patterns including adding a new trigger for the user command, adding a new action, replacing an existing trigger, replacing an existing action, modifying a trigger parameter, modifying an action parameter, and deleting a service mashup, the service type of the user command is a parameter Whether to set, increment or decrement, and if there is a component that uses the parameter in the mashup to modify it, and if a user command to modify an existing parameter cannot be found, where to modify it and the substitution of the mashup to modify it. or to improve the ambiguity of essential information, including service types, parameters, keywords, locations to modify, and substitution or addition of mashups for user commands for modifying the mashup by checking whether to add
Implication-based interaction devices for modifying automation rules in IoT environments.
자연 언어 처리 모델을 활용하여 음성 형태의 사용자 명령을 텍스트로 변환한 후 객체 객체, 운영, 파라미터 및 위치를 포함하는 각각의 식별자를 추출하여 사용자 명령을 인식하는 사용자 명령 인식부;
사용자 명령이 사용자 명령 인식부에 의해 인식되면 인식된 내용을 사용자 단말에게 제공하고, 사용자 명령을 더 추가하거나 중지하라는 메시지를 사용자 단말에 표시하도록 제어하는 제어부;
사용자 명령을 더 추가하거나 중지하라는 메시지에 따라 호출되는 이전 IoT 서비스에 대하여 중복되는 문구 없이 사용자 명령을 추가함으로써 반복적으로 사용자 명령을 추가하고, IoT 서비스를 결합하여 서비스 매시업을 생성하여 저장하는 매시업 저장부;
생성된 매시업에서 인식 오류가 발생한 경우 전체 대화를 재시작 하지 않고 해당 사용자 명령에 대한 실행을 취소하여 오류로부터 복구하는 오류 수정부; 및
상기 인식된 사용자 명령에 관한 IoT 서비스의 암묵적 확인, 제안사항 확인 및 진행상황 확인을 위한 피드백을 생성하여 암묵적 확인, 제안사항 확인 및 진행상황 확인의 필요 여부를 점검하고, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는 피드백 생성부
를 포함하고,
상기 피드백 생성부는,
상기 인식된 IoT 서비스의 자연어 형태인 암묵적 확인의 필요 여부를 점검하고,
상호작용 카운터가 미리 정해진 수에 도달하고 사용자 명령에 따른 IoT 서비스가 추가되는 경우 및 상호작용 카운터가 미리 정해진 수 이상이고 매시업 생성 완료 후 사용자 발화가 끝나기 전에 제안사항 확인의 필요 여부를 점검하며,
사용자가 매시업 진행상황을 추적할 수 있도록 진행상황 확인의 필요 여부를 점검하여, 확인이 필요한 경우 사용자 단말에 상기 생성된 피드백을 전달하는
IoT 환경에서 자동화 규칙을 수정하기 위한 함축 기반 상호작용 장치.
a user command recognition unit that converts a user command in voice form into text using a natural language processing model and then extracts each identifier including an object object, operation, parameter, and location to recognize the user command;
When a user command is recognized by the user command recognition unit, the control unit provides the recognized content to the user terminal, and controls to display a message to add or stop the user command further on the user terminal;
A mashup storage unit that repeatedly adds user commands by adding user commands without overlapping phrases to the previous IoT service that is called according to a message to add or stop more user commands, and combines IoT services to create and store a service mashup ;
an error correction unit that recovers from the error by undoing the execution of the user's command without restarting the entire conversation when a recognition error occurs in the generated mashup; and
By generating feedback for implicit confirmation of the IoT service regarding the recognized user command, confirmation of proposals, and confirmation of progress, it checks whether implicit confirmation, confirmation of proposals and confirmation of progress are necessary, and when confirmation is necessary, to the user terminal A feedback generator that transmits the generated feedback
including,
The feedback generator,
Checking whether there is a need for implicit confirmation, which is a natural language form of the recognized IoT service,
When the interaction counter reaches a predetermined number and IoT services are added according to user commands, and when the interaction counter is greater than or equal to a predetermined number, after completing the creation of the mashup and before the end of the user's utterance, check whether it is necessary to confirm the suggestion;
It checks whether progress confirmation is necessary so that the user can track the progress of the mashup, and delivers the generated feedback to the user terminal when confirmation is required.
Implication-based interaction devices for modifying automation rules in IoT environments.
KR1020210099066A 2021-07-28 2021-07-28 An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments KR102429334B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210099066A KR102429334B1 (en) 2021-07-28 2021-07-28 An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210099066A KR102429334B1 (en) 2021-07-28 2021-07-28 An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments

Publications (1)

Publication Number Publication Date
KR102429334B1 true KR102429334B1 (en) 2022-08-04

Family

ID=82834314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210099066A KR102429334B1 (en) 2021-07-28 2021-07-28 An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments

Country Status (1)

Country Link
KR (1) KR102429334B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170089146A (en) * 2016-01-26 2017-08-03 전자부품연구원 Method for building a driving scenarios of internet of things equipment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170089146A (en) * 2016-01-26 2017-08-03 전자부품연구원 Method for building a driving scenarios of internet of things equipment

Similar Documents

Publication Publication Date Title
EP3491533B1 (en) Providing command bundle suggestions for an automated assistant
US10733983B2 (en) Parameter collection and automatic dialog generation in dialog systems
CN102750271B (en) Converstional dialog learning and correction
JP6204982B2 (en) Contextual query tuning using natural motion input
US7689420B2 (en) Personalizing a context-free grammar using a dictation language model
US11721343B2 (en) Hub device, multi-device system including the hub device and plurality of devices, and method of operating the same
US20070239453A1 (en) Augmenting context-free grammars with back-off grammars for processing out-of-grammar utterances
US20090094283A1 (en) Active use lookup via mobile device
CN111144132B (en) Semantic recognition method and device
KR102060775B1 (en) Electronic device for performing operation corresponding to voice input
US11960514B1 (en) Interactive conversation assistance using semantic search and generative AI
WO2022081937A1 (en) Event-based semantic search and retrieval
US10861453B1 (en) Resource scheduling with voice controlled devices
Kim et al. A conversational approach for modifying service mashups in iot environments
CN108447478A (en) A kind of sound control method of terminal device, terminal device and device
EP3447765B1 (en) Electronic device performing operation using voice command and method of operating electronic device
KR20210042520A (en) An electronic apparatus and Method for controlling the electronic apparatus thereof
KR102429334B1 (en) An Implicature-Based Interaction Model to Modify Automation Rules in IoT Environments
KR102080931B1 (en) Voice dialogue controlling method and apparatus for the same
Sumathi et al. Artificially Intelligent Operating System with Sapi5 Voice Recognition Engine
CN117377942A (en) Active listening of assistant systems
CN116897353A (en) Text editing using voice and gesture input for auxiliary systems
Espejo et al. Mayordomo: Ambient Intelligence in a Home Environment
JPH04163618A (en) Sound operation computer

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant