WO2018155810A1 - Electronic device, control method therefor, and non-transitory computer readable recording medium - Google Patents

Electronic device, control method therefor, and non-transitory computer readable recording medium Download PDF

Info

Publication number
WO2018155810A1
WO2018155810A1 PCT/KR2018/000336 KR2018000336W WO2018155810A1 WO 2018155810 A1 WO2018155810 A1 WO 2018155810A1 KR 2018000336 W KR2018000336 W KR 2018000336W WO 2018155810 A1 WO2018155810 A1 WO 2018155810A1
Authority
WO
WIPO (PCT)
Prior art keywords
determined
alternative
voice
determining
user
Prior art date
Application number
PCT/KR2018/000336
Other languages
French (fr)
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
Priority claimed from KR1020170157902A external-priority patent/KR102490916B1/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US16/485,061 priority Critical patent/US20200043476A1/en
Publication of WO2018155810A1 publication Critical patent/WO2018155810A1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present disclosure relates to an artificial intelligence (AI) system utilizing a machine learning algorithm such as deep learning, and applications thereof. In particular, a method for controlling an electronic device of the present disclosure comprises the steps of: receiving a user's voice; obtaining text data from the user's voice; determining a target component and a parameter component from the obtained text data; determining, on the basis of the target component and the parameter component, an action corresponding to the user's voice; if it is determined that the determined action cannot be performed, determining an alternative action to replace the action that was determined on the basis of at least one of the target component and the parameter component; and providing a message for guiding the alternative action.

Description

전자 장치, 이의 제어 방법 및 비일시적인 컴퓨터 판독가능 기록매체Electronic device, its control method and non-transitory computer readable recording medium
본 개시는 전자 장치, 이의 제어 방법 및 비일시적인 컴퓨터 판독가능 기록매체에 관한 것으로, 더욱 구체적으로, 사용자 음성에 대응되는 동작이 수행 불가능할 경우, 대체 동작을 안내하는 가이드를 제공하는 전자 장치, 이의 제어 방법 및 비일시적인 컴퓨터 판독가능 기록매체에 관한 것이다.The present disclosure relates to an electronic device, a control method thereof, and a non-transitory computer readable recording medium. More particularly, an electronic device providing a guide for guiding an alternative operation when an operation corresponding to a user's voice cannot be performed, and control thereof A method and a non-transitory computer readable recording medium.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.Artificial Intelligence (AI) system is a computer system that implements human-level intelligence, and unlike conventional rule-based smart systems, the machine learns, judges, and becomes smart. As the AI system is used, the recognition rate is improved and the user's taste can be understood more accurately, and the existing rule-based smart system is gradually replaced by the deep learning-based AI system.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.AI technology is composed of elementary technologies that utilize machine learning (deep learning) and machine learning.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself, and element technology is a technology that uses machine learning algorithms such as deep learning.Its linguistic understanding, visual understanding, reasoning / prediction, knowledge expression, motion control, etc. It consists of technical fields.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.The various fields in which artificial intelligence technology is applied are as follows. Linguistic understanding is a technology for recognizing and applying / processing human language / characters and includes natural language processing, machine translation, dialogue system, question and answer, speech recognition / synthesis, and the like. Visual understanding is a technology that recognizes and processes objects as human vision, and includes object recognition, object tracking, image retrieval, person recognition, scene understanding, spatial understanding, and image enhancement. Inference Prediction is a technique for judging, logically inferring, and predicting information. It includes knowledge / probability-based inference, optimization prediction, preference-based planning, and recommendation. Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction (data generation / classification) and knowledge management (data utilization). Motion control is a technology for controlling autonomous driving of a vehicle and movement of a robot, and includes motion control (navigation, collision, driving), operation control (action control), and the like.
한편, 최근 모바일 장치, 음성 인식 장치, 홈네트워크 허브 장치, 서버 등의 기능이 향상됨에 따라, 이들 장치를 이용하는 사용자의 수가 증가하고 있다. 특히, 이와 같은 전자 장치는 사용자의 음성을 인식하고 그에 대응되는 정보를 제공하거나 동작을 수행하는 지능형 비서(Intelligent Assistant) 또는 가상 개인 비서(Virtual Personal Assistant, VPA) 기능을 제공한다.Meanwhile, as functions of mobile devices, voice recognition devices, home network hub devices, servers, and the like have been recently improved, the number of users using these devices has increased. In particular, such an electronic device provides an intelligent assistant or virtual personal assistant (VPA) function that recognizes a user's voice and provides corresponding information or performs an operation.
기존의 지능형 비서 기능은 사용자의 음성을 분석하여 동작을 수행 가능한 형태로 해석되지 않을 경우, 에러 발생을 안내하는 에러 메시지만을 제공하였다. 특히, 사용자 음성에 대응되는 동작은 판단되나 판단된 동작이 수행 불가능한 경우, 단순히 에러 메시지만을 제공한다면 사용자가 의도하는 동작을 수행하기 위하여 어떠한 사용자 음성을 입력해야 하는지 알 수 없는 문제가 발생한다.The existing intelligent assistant function provided only an error message for guiding an error when the voice of the user was not interpreted as a form capable of performing an operation. In particular, when an operation corresponding to the user's voice is determined but the determined operation is impossible, the user may not know which user's voice to input in order to perform the intended operation if the user merely provides an error message.
본 개시의 목적은 사용자 음성에 대응되는 동작이 수행 불가능할 경우, 사용자 음성에 대응되는 동작을 대체할 수 있는 대체 동작을 안내하기 위한 전자 장치, 이의 제어 방법 및 비일시적인 컴퓨터 판독가능 기록매체에 관한 것이다.An object of the present disclosure relates to an electronic device, a control method thereof, and a non-transitory computer readable recording medium for guiding an alternative operation that can replace an operation corresponding to the user's voice when an operation corresponding to the user's voice cannot be performed. .
상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법은, 사용자 음성을 입력받는 단계; 상기 사용자 음성으로부터 텍스트 데이터를 획득하며, 획득된 텍스트 데이터로부터 목표 성분 및 파라미터 성분을 결정하는 단계; 상기 목표 성분 및 상기 파라미터 성분을 바탕으로 상기 사용자 음성에 대응되는 동작을 결정하는 단계; 상기 결정된 동작의 수행이 불가능하다고 판단된 경우, 상기 목표 성분 및 상기 파라미터 성분 중 적어도 하나를 바탕으로 상기 결정된 동작을 대체하기 위한 대체 동작을 결정하는 단계; 및 상기 대체 동작을 안내하기 위한 메시지를 제공하는 단계;를 포함한다.According to an embodiment of the present disclosure, a method of controlling an electronic device includes: receiving a user voice; Obtaining text data from the user voice, and determining a target component and a parameter component from the obtained text data; Determining an operation corresponding to the user voice based on the target component and the parameter component; If it is determined that it is impossible to perform the determined operation, determining an alternative operation for replacing the determined operation based on at least one of the target component and the parameter component; And providing a message for guiding the alternative operation.
한편, 상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른, 전자 장치는 사용자 음성을 입력받는 입력부; 및 상기 입력부를 통해 입력된 상기 사용자 음성으로부터 텍스트 데이터를 획득하며, 상기 획득된 텍스트 데이터로부터 목표 성분 및 파라미터 성분을 결정하고, 상기 목표 성분 및 상기 파라미터 성분을 바탕으로 상기 사용자 음성에 대응되는 동작을 결정하며, 상기 동작의 수행이 불가능하다고 판단된 경우, 상기 목표 성분 및 상기 파라미터 성분 중 적어도 하나를 바탕으로 상기 결정된 동작을 대체하기 위한 대체 동작을 결정하고, 상기 대체 동작을 안내하기 위한 메시지를 제공하는 프로세서;를 포함한다.On the other hand, according to an embodiment of the present disclosure for achieving the above object, the electronic device comprises an input unit for receiving a user voice; And obtaining text data from the user voice input through the input unit, determining a target component and a parameter component from the obtained text data, and performing an operation corresponding to the user voice based on the target component and the parameter component. And if it is determined that it is impossible to perform the operation, determine an alternative operation for replacing the determined operation based on at least one of the target component and the parameter component, and provide a message for guiding the alternative operation. A processor;
한편, 상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 실행하기 위한 프로그램을 저장하는 비일시적인 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 전자 장치의 제어 방법은, 사용자 음성을 입력받는 단계; 상기 사용자 음성으로부터 텍스트 데이터를 획득하며, 획득된 텍스트 데이터로부터 목표 성분 및 파라미터 성분을 결정하는 단계; 상기 목표 성분 및 상기 파라미터 성분을 바탕으로 상기 사용자 음성에 대응되는 동작을 결정하는 단계; 상기 결정된 동작의 수행이 불가능하다고 판단된 경우, 상기 목표 성분 및 상기 파라미터 성분 중 적어도 하나를 바탕으로 상기 결정된 동작을 대체하기 위한 대체 동작을 결정하는 단계; 및 상기 대체 동작을 안내하기 위한 메시지를 제공하는 단계;를 포함한다.Meanwhile, in a non-transitory computer readable recording medium storing a program for executing a control method of an electronic device according to an embodiment of the present disclosure for achieving the above object, the control method of the electronic device is a user voice. Receiving an input; Obtaining text data from the user voice, and determining a target component and a parameter component from the obtained text data; Determining an operation corresponding to the user voice based on the target component and the parameter component; If it is determined that it is impossible to perform the determined operation, determining an alternative operation for replacing the determined operation based on at least one of the target component and the parameter component; And providing a message for guiding the alternative operation.
상술한 바와 같은 본 개시의 실시예에 따라, 실행 불가능한 동작을 대체할 수 있는 대체 동작을 안내함으로써, 지능형 비서 기능을 처음 이용하거나 익숙하지 않은 사용자라도 더욱 쉽고 자연스럽게 지능형 비서 기능을 이용할 수 있게 된다.According to the embodiment of the present disclosure as described above, by guiding the alternative operation that can replace the non-executable operation, it is easier and more natural to use the intelligent assistant function even for first-time users or unfamiliar users.
도 1은 본 개시의 일 실시예에 따른, 전자 장치의 구성을 간략히 도시한 블럭도,1 is a block diagram schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure;
도 2는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블럭도,2 is a block diagram illustrating a configuration of an electronic device in detail according to an embodiment of the present disclosure;
도 3은 본 개시의 일 실시예에 따른, 지능형 비서 기능을 수행하기 위한 구성을 도시한 블럭도,3 is a block diagram illustrating a configuration for performing an intelligent assistant function according to an embodiment of the present disclosure;
도 4a 내지 도 5는 본 개시의 일 실시예에 따른, 대체 동작을 안내하기 위한 메시지를 도시한 도면,4A through 5 illustrate a message for guiding an alternate operation according to an embodiment of the present disclosure;
도 6은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 도면,6 is a diagram for describing a method of controlling an electronic device, according to an embodiment of the present disclosure;
도 7은 본 개시의 다른 실시예에 따른, 사용자 단말과 지능형 비서 기능을 수행하기 위한 서버를 포함하는 지능형 비서 시스템을 도시한 도면,7 illustrates an intelligent secretary system including a user terminal and a server for performing an intelligent secretary function according to another embodiment of the present disclosure;
도 8은 본 개시의 일 실시예에 따른, 지능형 비서 시스템의 제어 방법을 설명하기 위한 시퀀스도,8 is a sequence diagram illustrating a control method of an intelligent secretary system according to an embodiment of the present disclosure;
도 9는 본 개시의 일 실시 예에 따른, 프로세서의 구성을 도시한 블록도9 is a block diagram illustrating a configuration of a processor according to an embodiment of the present disclosure.
도 10a는 본 개시의 일 실시 예에 따른, 데이터 학습부의 구성을 도시한 블록도,10A is a block diagram illustrating a configuration of a data learning unit according to an exemplary embodiment.
도 10b는 본 개시의 일 실시 예에 따른 대체 동작 판단부의 구성을 도시한 블록도이다.10B is a block diagram illustrating a configuration of an alternative operation determiner according to an exemplary embodiment.
이하에서는 본 개시의 바람직한 실시 예가 첨부된 도면을 참조하여 상세히 설명한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In describing the present disclosure, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted. The terms to be described below are terms defined in consideration of functions in the present disclosure, and may vary according to a user, an operator, or a custom. Therefore, the definition should be made based on the contents throughout the specification.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are only used to distinguish one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes any one of a plurality of related items or a combination of a plurality of related items.
본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting and / or limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms including or having are intended to indicate that there is a feature, number, operation, component, part, or a combination thereof described in the specification, but one or more other features or numbers, operation, configuration It should be understood that it does not preclude the presence or possibility of addition of elements, parts or combinations thereof.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 또는 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In an embodiment, the module or unit performs at least one function or operation, and may be implemented by hardware or software or a combination of hardware or software. In addition, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module except for 'modules' or 'units' that need to be implemented by specific hardware, and may be implemented as at least one processor.
이하에서는 첨부된 도면을 이용하여 본 개시에 대하여 구체적으로 설명한다. 도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 개략적인 블록도이다. 전자 장치(100)는 도 1에 도시된 바와 같이, 단독으로 지능형 비서 서비스를 제공할 수 있다. 전자 장치(100)가 단독으로 지능형 비서 서비스를 제공할 경우, 스마트 폰, 타블렛 PC, 노트북 PC, 데스크탑 PC, 스마트 와치와 같은 웨어러블 장치, 전자 액자, 인간형 로봇, 오디오 장치, 스마트 TV 등과 같은 다양한 전자 장치로 구현될 수 있다. 다른 예로, 전자 장치(100)는 도 7에 도시된 바와 같이, 서버로 구현되어 외부의 사용자 단말(200)과 연동하여 사용자에게 지능형 비서 서비스를 제공할 수도 있다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings. 1 is a schematic block diagram illustrating a configuration of an electronic device 100 according to an embodiment of the present disclosure. As shown in FIG. 1, the electronic device 100 may provide an intelligent assistant service alone. When the electronic device 100 alone provides intelligent secretarial services, various electronic devices such as smart phones, tablet PCs, notebook PCs, desktop PCs, wearable devices such as smart watches, electronic photo frames, humanoid robots, audio devices, and smart TVs may be used. It may be implemented as a device. As another example, as illustrated in FIG. 7, the electronic device 100 may be implemented as a server to provide an intelligent secretarial service to a user in cooperation with an external user terminal 200.
본 명세서에서 사용되는 용어 '지능형 비서'는, 인공지능 기술과 음성 인식 기술의 결합으로 사용자의 언어를 이해하고 사용자가 원하는 지시사항을 수행하는 소프트웨어 어플리케이션을 말한다. 예를 들어, 지능형 비서는 딥러닝을 포함하는 머신러닝, 음성 인식, 문장 분석, 상황 인지와 같은 인공지능 기능을 수행할 수 있다. 지능형 비서는 사용자의 습관 또는 패턴을 학습하여 개인에 필요한 맞춤형 서비스를 제공할 수 있다. 지능형 비서의 예로는 S voice, Bixby를 들 수 있다. 지능형 비서는 다른 용어로 가상 개인 비서, 대화형 에이전트 등으로 불릴 수도 있다.The term 'intelligent assistant', as used herein, refers to a software application that understands a user's language and performs instructions desired by a user through a combination of artificial intelligence and voice recognition technology. For example, an intelligent assistant may perform artificial intelligence functions such as machine learning, deep speech recognition, sentence analysis, and situational awareness, including deep learning. The intelligent assistant can learn a user's habits or patterns to provide a personalized service for the individual. Examples of intelligent assistants include S voice and Bixby. Intelligent assistants may also be called virtual personal assistants, interactive agents, etc. in other terms.
도 1에 도시된 바와 같이, 전자 장치(100)는 입력부(110) 및 프로세서(130)를 포함한다.As shown in FIG. 1, the electronic device 100 includes an input unit 110 and a processor 130.
입력부(110)는 사용자 음성을 수신한다. 이때, 입력부(110)는 마이크로 구현될 수 있으며, 마이크를 통해 사용자 음성을 수신할 수 있다. 또한, 입력부(110)는 사용자 음성 외에 사용자 음성에 대응하는 텍스트를 수신할 수 있다.The input unit 110 receives a user voice. In this case, the input unit 110 may be implemented as a microphone, and may receive a user voice through a microphone. In addition, the input unit 110 may receive text corresponding to the user voice in addition to the user voice.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 구체적으로, 프로세서(130)는 입력부(110)를 통해 입력된 사용자 음성으로부터 텍스트 데이터를 획득하며, 획득된 텍스트 데이터로부터 목표 성분 및 파라미터 성분을 결정할 수 있다. 그리고, 프로세서(130)는 목표 성분 및 파라미터 성분을 바탕으로 사용자 음성에 대응되는 동작을 결정할 수 있다. 결정된 동작의 수행이 불가능하다고 판단된 경우, 프로세서(130)는 목표 성분 및 파라미터 성분 중 적어도 하나를 바탕으로 결정된 동작을 대체하기 위한 대체 동작을 결정하고, 대체 동작을 안내하기 위한 메시지를 제공할 수 있다.The processor 130 may control overall operations of the electronic device 100. In detail, the processor 130 may acquire text data from a user voice input through the input unit 110 and determine a target component and a parameter component from the obtained text data. The processor 130 may determine an operation corresponding to the user voice based on the target component and the parameter component. If it is determined that it is impossible to perform the determined operation, the processor 130 may determine an alternative operation for replacing the determined operation based on at least one of the target component and the parameter component, and provide a message for guiding the alternative operation. have.
구체적으로, 프로세서(130)는 입력부(110)를 통해 입력된 사용자 음성을 분석하여 사용자 음성에 대응되는 텍스트 데이터를 획득할 수 있다. 그리고, 프로세서(130)는 텍스트 데이터로부터 목표(Goal) 성분 및 파라미터(Parameter) 성분을 결정할 수 있다. 이때, 목표 성분은 사용자가 사용자 음성을 이루고자 하는 동작의 의도를 나타내며, 파라미터 성분은 사용자가 의도하는 동작을 구체적인 내용(예를 들어, 어플리케이션 종류, 시간, 대상 등)을 나타낼 수 있다.In detail, the processor 130 may obtain text data corresponding to the user voice by analyzing the user voice input through the input unit 110. The processor 130 may determine a target component and a parameter component from the text data. In this case, the target component may indicate an intention of the user to make a user voice, and the parameter component may indicate specific contents (for example, application type, time, object, etc.) of the user's intended operation.
그리고, 프로세서(130)는 결정된 목표 성분 및 파라미터 성분을 바탕으로 사용자 음성에 대응되는 동작(Task)를 결정할 수 있다. 이때, 프로세서(130)는 결정된 목표 성분을 바탕으로 사용자 음성에 대응되는 동작의 유형을 결정하고, 파라미터 성분을 바탕으로 사용자 음성에 대응되는 동작의 내용을 결정할 수 있다. The processor 130 may determine a task corresponding to the user voice based on the determined target component and parameter component. In this case, the processor 130 may determine the type of the operation corresponding to the user's voice based on the determined target component, and determine the content of the operation corresponding to the user's voice based on the parameter component.
동작이 결정된 경우, 프로세서(130)는 결정된 동작 수행 가능 여부를 판단할 수 있다. 구체적으로, 목표 성분을 바탕으로 동작의 유형이 결정된 경우, 프로세서(130)는 파라미터 성분을 바탕으로 결정된 동작의 내용이 수행 가능한지 여부를 판단할 수 있다. When the operation is determined, the processor 130 may determine whether the determined operation can be performed. In detail, when the type of operation is determined based on the target component, the processor 130 may determine whether the content of the operation determined based on the parameter component is feasible.
결정된 동작의 내용이 수행 불가능한 것으로 판단된 경우, 프로세서(130)는 목표 성분 및 파라미터 성분 중 적어도 하나를 바탕으로 결정된 동작을 대체할 수 있는 대체 동작을 판단할 수 있다.If it is determined that the content of the determined operation is not executable, the processor 130 may determine an alternative operation that may replace the determined operation based on at least one of the target component and the parameter component.
구체적으로, 결정된 동작의 내용이 수행 불가능한 것으로 판단된 경우, 프로세서(130)는 파라미터 성분을 통해 결정된 동작의 내용을 바탕으로 결정된 동작을 대체할 수 있는 복수의 대체 동작 중 하나를 대체 동작으로 결정할 수 있다. 이때, 결정된 동작과 복수의 대체 동작이 서로 매칭되어 저장될 수 있다.In detail, when it is determined that the content of the determined operation is not executable, the processor 130 may determine one of the plurality of alternative operations that may replace the determined operation based on the content of the operation determined through the parameter component as the replacement operation. have. In this case, the determined operation and the plurality of alternative operations may be matched with each other and stored.
또한, 결정된 동작의 내용이 수행 불가능한 것으로 판단된 경우, 프로세서(130)는 결정된 동작의 내용을 학습된 대체 동작 판단 모델에 입력하여 대체 동작을 결정할 수 있다. 이때, 대체 동작 판단 모델은 특정 동작을 대체하기 위한 대체 동작을 인식하기 위한 모델로서, 미리 구축될 수 있다. In addition, when it is determined that the content of the determined operation is not performed, the processor 130 may determine the replacement operation by inputting the content of the determined operation to the learned substitute operation determination model. In this case, the alternative motion determination model is a model for recognizing the alternative motion for replacing the specific motion, and may be built in advance.
그리고, 프로세서(130)는 대체 동작을 안내하기 위한 메시지를 자연어 형태로 처리하여 제공할 수 있다. 이때, 전자 장치(100)가 스마트 폰과 같은 형태로 구현되는 경우, 프로세서(130)는 디스플레이를 통해 메시지를 제공할 수 있다. 또한, 전자 장치(100)가 서버로 구현되는 경우, 프로세서(130)는 외부의 사용자 단말로 메시지를 제공할 수 있다.In addition, the processor 130 may process and provide a message for guiding an alternative operation in a natural language form. In this case, when the electronic device 100 is implemented in the form of a smart phone, the processor 130 may provide a message through a display. In addition, when the electronic device 100 is implemented as a server, the processor 130 may provide a message to an external user terminal.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 상세히 설명하기 위한 블록도이다. 도 2를 참조하면, 전자 장치(100)는 입력부(110), 디스플레이(120), 프로세서(130), 음성 출력부(140), 통신부(150) 및 메모리(160)를 포함할 수 있다. 도 2의 실시 예에 도시된 구성 요소 이외에도 전자 장치(100)는 영상 수신부(미도시), 영상 처리부(미도시), 전원부(미도시) 등 다양한 구성을 포함할 수 있다. 또한, 전자 장치(100)가 반드시 도 2에 도시된 구성을 모두 포함하여 구현되는 것으로 한정되지 않음은 물론이다. 예를 들어, 전자 장치(100)가 서버로 구현되는 경우, 디스플레이(120), 음성 출력부(140)가 구비되지 않을 수 있음을 물론이다.2 is a block diagram illustrating a configuration of an electronic device 100 according to an embodiment of the present disclosure in detail. Referring to FIG. 2, the electronic device 100 may include an input unit 110, a display 120, a processor 130, a voice output unit 140, a communication unit 150, and a memory 160. In addition to the components illustrated in the embodiment of FIG. 2, the electronic device 100 may include various components such as an image receiving unit (not shown), an image processing unit (not shown), a power supply unit (not shown), and the like. In addition, the electronic device 100 is not necessarily limited to being implemented by including all the configurations shown in FIG. 2. For example, when the electronic device 100 is implemented as a server, the display 120 and the voice output unit 140 may not be provided.
입력부(110)는 사용자 음성을 수신할 수 있다. 특히, 입력부(110)는 사용자 음성을 입력받는 음성 입력부(예를 들어, 마이크)를 포함할 수 있다.The input unit 110 may receive a user voice. In particular, the input unit 110 may include a voice input unit (eg, a microphone) that receives a user voice.
음성 입력부는 사용자가 발화한 사용자 음성을 입력받을 수 있다. 예를 들어, 음성 입력부는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 구현될 수도 있고, 별도의 수단으로 마련되어 전자 장치(100)와 유선 또는 무선 인터페이스로 연결될 수도 있다.The voice input unit may receive a user voice spoken by the user. For example, the voice input unit may be implemented as an integrated body integrated with the upper side, the front side, the side, or the like of the electronic device 100, or may be provided as a separate means and connected to the electronic device 100 through a wired or wireless interface.
또한, 음성 입력부는 복수 개로 구성되어, 서로 다른 위치에서 음성을 입력 받아 복수의 음성 신호를 생성할 수 있다. 복수의 음성 신호를 이용하여, 전자 장치(100)는 음성 인식 기능 수행 이전의 전처리(pre-processing) 과정에서 강화된 단일 음성 신호를 생성할 수 있다. 구체적으로, 음성 입력부는 마이크, ADC(Analog-Digital Converter), 에너지 판단부, 노이즈 제거부, 음성신호 생성부를 포함한다. The voice input unit may include a plurality of voice input units to generate voice signals by receiving voices from different locations. Using the plurality of voice signals, the electronic device 100 may generate a single voice signal that is enhanced in a pre-processing process before performing the voice recognition function. Specifically, the voice input unit includes a microphone, an analog-to-digital converter (ADC), an energy determiner, a noise remover, and a voice signal generator.
마이크는 사용자 음성이 포함된 아날로그 형태의 오디오 신호를 입력받는다. 그리고, ADC는 마이크로부터 입력된 다채널 아날로그 신호를 디지털 신호로 변환한다. 그리고, 에너지 판단부는 변환된 디지털 신호의 에너지를 계산하여, 디지털 신호의 에너지가 기설정된 값 이상인지 여부를 판단한다. 디지털 신호의 에너지가 기설정된 값 이상인 경우, 에너지 판단부는 입력된 디지털 신호를 노이즈 제거부로 전송하고, 디지털 신호의 에너지가 기설정된 값 미만인 경우, 에너지 판단부는 입력된 디지털 신호를 외부로 출력하지 않고, 다른 입력을 기다린다. 이에 의해, 음성 신호가 아닌 소리에 의해 전체 오디오 처리 과정이 활성화되지 않아, 불필요한 전력 소모를 방지할 수 있다. 노이즈 제거부에 입력된 디지털 신호가 입력된 경우, 노이즈 제거부는 노이즈 성분과 사용자 음성 성분이 포함된 디지털 신호 중 노이즈 성분을 제거한다. 이때, 노이즈 성분은 가정 환경에서 발생할 수 있는 돌발성 잡음으로써, 에어컨 소리, 청소기 소리, 음악 소리 등이 포함될 수 있다. 그리고, 노이즈 제거부는 노이즈 성분이 제거된 디지털 신호를 음성 신호 생성부로 출력한다. 음성 신호 생성부는 Localization/Speaker Tracking 모듈을 이용하여 음성 입력부를 기준으로 360˚ 범위 내에 존재하는 사용자의 발화 위치를 추적하여 사용자 음성에 대한 방향 정보를 구한다. 그리고, 음성 신호 생성부는 Target Spoken Sound Extraction 모듈을 통해 노이즈가 제거된 디지털 신호와 사용자 음성에 대한 방향 정보를 이용하여 음성 입력부를 기준으로 360˚ 범위 내에 존재하는 목표 음원을 추출한다. 음성 입력부가 전자 장치와 무선으로 연결된 경우, 음성 신호 생성부는 사용자 음성을 전자 장치로 전송하기 위한 형태의 사용자 음성 신호로 변환하고, 무선 인터페이스를 이용하여 전자 장치(100)의 본체로 사용자 음성 신호를 전송한다.The microphone receives an analog audio signal including a user's voice. The ADC converts the multichannel analog signal input from the microphone into a digital signal. The energy determination unit calculates energy of the converted digital signal to determine whether the energy of the digital signal is greater than or equal to a predetermined value. If the energy of the digital signal is greater than or equal to a predetermined value, the energy determination unit transmits the input digital signal to the noise canceller, and if the energy of the digital signal is less than the predetermined value, the energy determination unit does not output the input digital signal to the outside. , Wait for another input. As a result, the entire audio processing process is not activated by the sound other than the voice signal, and unnecessary power consumption can be prevented. When a digital signal input to the noise remover is input, the noise remover removes a noise component among the digital signal including the noise component and the user voice component. In this case, the noise component is a sudden noise that may occur in a home environment, and may include an air conditioner sound, a cleaner sound, a music sound, and the like. The noise removing unit outputs the digital signal from which the noise component is removed to the audio signal generating unit. The voice signal generator obtains direction information on the user's voice by tracking the location of the user's utterance within the 360 ° range from the voice input unit using the Localization / Speaker Tracking module. The voice signal generator extracts a target sound source within a 360 ° range from the voice input unit by using the digital signal from which the noise is removed and the direction information on the user voice through the target spoken sound extraction module. When the voice input unit is wirelessly connected to the electronic device, the voice signal generator converts the user voice into a user voice signal in a form for transmitting to the electronic device, and transmits the user voice signal to the main body of the electronic device 100 using the wireless interface. send.
그 밖에, 입력부(110)는 사용자 음성 이외에 다양한 형태의 사용자 명령을 입력받을 수 있다. 예를 들어, 입력부(110)는 가이드 UI에 표시된 복수의 후보 동작 중 하나를 선택하는 사용자 명령을 입력받을 수 있다. 또한, 입력부(110)는 버튼, 모션 인식 장치, 터치 패드 등으로 구현될 수 있다. 또한, 입력부(110)가 터치 패드로 구현되는 경우, 터치 패널과 디스플레이(120)가 서로 결합되어 상호 레이어 구조를 이루는 터치 스크린의 형태로 구현될 수 있다. 터치 스크린은 터치 입력 위치, 면적, 터치 입력의 압력 등을 검출할 수 있다.In addition, the input unit 110 may receive various types of user commands in addition to the user voice. For example, the input unit 110 may receive a user command for selecting one of a plurality of candidate operations displayed on the guide UI. In addition, the input unit 110 may be implemented as a button, a motion recognition device, a touch pad, or the like. In addition, when the input unit 110 is implemented as a touch pad, the touch panel and the display 120 may be coupled to each other to form a touch screen in which a mutual layer structure is formed. The touch screen may detect a touch input position, an area, a pressure of the touch input, and the like.
디스플레이(120)는 전자 장치(100)에서 제공되는 각종 가이드, 영상 컨텐츠, 정보, UI 등을 표시할 수 있다. 디스플레이(120)는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 또는 플라즈마 표시 패널(Plasma Display Panel, PDP) 등으로 구현되어, 전자 장치(100)를 통해 제공 가능한 다양한 화면을 표시할 수 있다.The display 120 may display various guides, image contents, information, UIs, and the like provided by the electronic device 100. The display 120 is implemented as a liquid crystal display (LCD), an organic light emitting diode (OLED), a plasma display panel (PDP), or the like. Various screens that can be provided can be displayed.
디스플레이(120)는 프로세서(130)의 음성 판단 결과에 대응되는 영상을 제공할 수 있다. 예를 들어, 디스플레이(120)는 사용자의 음성 판단 결과를 텍스트로 표시할 수 있다. 그리고 디스플레이(120)는 대체 동작을 안내하는 메시지를 표시할 수 있다.The display 120 may provide an image corresponding to a voice determination result of the processor 130. For example, the display 120 may display the voice determination result of the user in text. In addition, the display 120 may display a message for guiding an alternative operation.
음성 출력부(140)는 음성을 출력할 수 있다. 예를 들어, 음성 출력부(140)는 각종 오디오 데이터뿐만 아니라 알림 음이나 음성 메시지를 출력할 수 있다. 본 발명의 일 실시 예에 따른 전자 장치(100)는 대화형 지능형 비서 기능을 제공하기 위한 출력부의 하나로 음성 출력부(140)를 포함할 수 있다. 자연언어 처리된 음성 메시지를 음성 출력부(140)를 통해 출력함으로써, 전자 장치(100)는 사용자에게 전자 장치(100)와 대화하는 듯한 사용자 경험을 제공할 수 있다. 음성 출력부(140)는 전자 장치(100)에 내장될 수도 있으며, 잭 등과 같은 출력 포트의 형태로 구현될 수도 있다.The voice output unit 140 may output a voice. For example, the voice output unit 140 may output not only various audio data but also a notification sound or a voice message. The electronic device 100 according to an embodiment of the present disclosure may include a voice output unit 140 as an output unit for providing an interactive intelligent secretary function. By outputting the natural language-processed voice message through the voice output unit 140, the electronic device 100 may provide a user experience as if the user is talking with the electronic device 100. The voice output unit 140 may be embedded in the electronic device 100 or may be implemented in the form of an output port such as a jack.
통신부(150)는 외부 장치와 통신을 수행한다. 예를 들어, 외부 장치는 다른 전자 장치, 서버, 클라우드 저장소, 네트워크 등으로 구현될 수 있다. 통신부(150)는 외부 장치에 음성 판단 결과를 송신하고, 대응되는 정보를 외부 장치로부터 수신할 수 있다. 통신부(150)는 음성 인식을 위한 언어 모델, 동작 결정을 위한 학습 모델을 외부 장치로부터 수신할 수도 있다.The communicator 150 communicates with an external device. For example, the external device may be implemented as another electronic device, server, cloud storage, network, or the like. The communicator 150 may transmit a voice determination result to an external device and receive corresponding information from the external device. The communicator 150 may receive a language model for speech recognition and a learning model for motion determination from an external device.
본 발명의 일 실시예로, 통신부(150)는 음성 판단 결과를 서버(200)로 전송하고, 서버(200)에서 대응 동작을 수행하기 위한 제어 신호 또는 대체 동작을 안내하는 메시지를 수신할 수 있다.According to an embodiment of the present disclosure, the communication unit 150 may transmit a voice determination result to the server 200, and receive a control signal or a message for guiding an alternative operation for performing a corresponding operation in the server 200. .
이를 위해, 통신부(150)는 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다. 여기에서, 근거리 무선 통신 모듈이란 블루투스(Bluetooth), 지그비(Zigbee) 등과 같은 근거리 무선 통신 방식에 따라, 근거리에 위치한 외부 기기와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, WiFi direct, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution), LTE-A(LTE Advanced) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.To this end, the communication unit 150 may include various communication modules such as a short range wireless communication module (not shown), a wireless communication module (not shown), and the like. Here, the short range wireless communication module is a module for communicating with an external device located in a short range according to a short range wireless communication scheme such as Bluetooth, Zigbee, or the like. In addition, the wireless communication module is a module that is connected to an external network and performs communication according to a wireless communication protocol such as WiFi, WiFi direct, or IEEE. In addition, the wireless communication module performs communication by connecting to a mobile communication network according to various mobile communication standards such as 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), Long Term Evoloution (LTE), LTE Advanced (LTE-A), etc. It may further include a mobile communication module.
메모리(160)는 전자 장치(100)를 구동하기 위한 다양한 모듈, 소프트웨어, 데이터를 저장할 수 있다. 예를 들어, 메모리(160)에는 사용자의 음성을 인식하는데 이용될 수 있는 음향 모델(Acoustic Model, AM) 및 언어 모델(Language Model, LM)이 저장될 수 있다. 또한, 메모리(160)에는 대체 동작을 결정하기 위해 학습된 대체 동작 판단 모델이 저장될 수 있다. 그리고 메모리(160)에는 자연언어생성(Natural Language Generation, NLG)를 위한 모델이 저장될 수 있다.The memory 160 may store various modules, software, and data for driving the electronic device 100. For example, the memory 160 may store an acoustic model (AM) and a language model (LM) that may be used to recognize a user's voice. In addition, the memory 160 may store a learned substitute action determination model to determine the substitute action. In addition, the memory 160 may store a model for Natural Language Generation (NLG).
메모리(160)에는 디스플레이(120)에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터가 저장될 수 있다. 또한, 메모리(160)에는 특정 서비스를 수행하기 위한 프로그램, 어플리케이션 및 데이터가 저장될 수 있다.The memory 160 may store programs and data for configuring various screens to be displayed on the display 120. In addition, the memory 160 may store a program, an application, and data for performing a specific service.
메모리(160)는 사용자의 음성에 대응되는 각종 응답 메시지를 음성 또는 텍스트 데이터로 기저장하고 있을 수 있다. 전자 장치(100)는 수신된 사용자 음성(특히, 사용자 제어 명령)에 대응되는 음성 및 텍스트 데이터 중 적어도 하나를 메모리(160)로부터 독출하여 디스플레이(120) 또는 음성 출력부(140)로 출력할 수도 있다. 이를 통해, 전자 장치(100)는 자연언어생성 모델을 거치지 않고도, 간단하거나 자주 사용되는 메시지를 사용자에게 제공할 수 있다.The memory 160 may previously store various response messages corresponding to the voice of the user as voice or text data. The electronic device 100 may also read at least one of voice and text data corresponding to the received user voice (especially, a user control command) from the memory 160 and output the readout to the display 120 or the voice output unit 140. have. In this way, the electronic device 100 may provide a user with a simple or frequently used message without passing through the natural language generation model.
메모리(160)는 전자 장치(100)를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 플래쉬 메모리, HDD(Hard Disk Drive), SSD (Solid State Drive) 등의 형태로 구현 가능하다. 예를 들어, 메모리(160)는 전자 장치(100)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 전자 장치(100)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM을 구비할 수 있다.The memory 160 is a storage medium that stores various programs necessary for operating the electronic device 100. The memory 160 may be implemented in the form of a flash memory, a hard disk drive (HDD), a solid state drive (SSD), or the like. For example, the memory 160 may include a ROM for storing a program for performing an operation of the electronic device 100 and a RAM for temporarily storing data for performing an operation of the electronic device 100.
한편, 메모리(160)는 사용자 음성에 대응되는 동작을 수행하기 위한 복수의 소프트웨어 모듈을 저장할 수 있다. 구체적으로, 메모리(160)는 도 3에 도시된 바와 같이, 텍스트 획득 모듈(310), 텍스트 분석 모듈(320), 동작 결정 모듈(330), 동작 수행 판단 모듈(340), 동작 수행 모듈(350), 대체 동작 판단 모듈(360) 및 대체 동작 안내 모듈(370)을 포함할 수 있다.The memory 160 may store a plurality of software modules for performing an operation corresponding to a user voice. Specifically, as shown in FIG. 3, the memory 160 may include a text acquisition module 310, a text analysis module 320, an operation determination module 330, an operation performance determination module 340, and an operation performance module 350. ), The alternative motion determination module 360 and the alternative motion guide module 370.
텍스트 획득 모듈(310)은 사용자 음성을 포함하는 음성 신호로부터 텍스트 데이터를 획득한다.The text acquiring module 310 obtains text data from a voice signal including a user voice.
텍스트 분석 모듈(320)은 텍스트 데이터를 분석하여 사용자 음성의 목적 성분 및 파라미터 성분을 결정한다.The text analysis module 320 analyzes the text data to determine a target component and a parameter component of the user's voice.
텍스트 결정 모듈(330)은 목적 성분 및 파라미터 성분을 바탕으로 사용자 음성에 대응하는 동작을 결정한다. 특히, 텍스트 결정 모듈(330)은 목적 성분을 이용하여 사용자 음성에 대응되는 동작의 유형을 결정하고, 파라미터 성분을 이용하여 사용자 음성에 대응되는 동작의 내용을 결정할 수 있다.The text determination module 330 determines an operation corresponding to the user's voice based on the target component and the parameter component. In particular, the text determination module 330 may determine the type of the operation corresponding to the user's voice using the target component, and determine the content of the operation corresponding to the user's voice using the parameter component.
동작 수행 판단 모듈(340)은 결정된 동작을 수행할 수 있을지 여부에 대해 판단한다. 구체적으로, 동작 수행 판단 모듈(340)은 파라미터 성분을 이용하여 결정된 동작의 내용을 바탕으로 동작 수행이 가능한지 여부를 판단할 수 있다. 예를 들어, 동작 수행 판단 모듈(340)은 파라미터 성분을 이용하여 결정된 동작의 내용이 동작 불가능한 내용이거나 파라미터 성분을 이용하여 결정된 동작의 내용 중 일부 내용이 빠진 경우, 동작 수행이 불가능한 것으로 판단할 수 있다.The operation performance determining module 340 determines whether the determined operation can be performed. In detail, the operation performance determining module 340 may determine whether the operation may be performed based on the content of the operation determined using the parameter component. For example, the operation performance determining module 340 may determine that the operation cannot be performed when the contents of the operation determined by using the parameter component are inoperable or some contents of the contents determined by the parameter component are missing. have.
결정된 동작이 수행 가능한 것으로 판단된 경우, 동작 수행 모듈(350)은 결정된 동작을 수행한다.If it is determined that the determined operation can be performed, the operation performing module 350 performs the determined operation.
결정된 동작이 수행 불가능한 것으로 판단된 경우, 대체 동작 판단 모듈(360)은 목적 성분 및 파라미터 성분을 이용하여 결정된 동작을 대체할 수 있는 대체 동작을 결정할 수 있다. 이때, 대체 동작 판단 모듈(360)은 결정된 동작과 매칭된 기저장된 대체 동작 또는 기학습된 대체 동작 판단 모델을 이용하여 대체 동작을 결정할 수 있다.If it is determined that the determined operation is not executable, the replacement operation determination module 360 may determine an alternative operation that may replace the determined operation using the target component and the parameter component. In this case, the substitute operation determination module 360 may determine the substitute operation using a previously stored substitute action or a previously learned substitute action determination model matched with the determined action.
대체 동작 안내 모듈(370)은 결정된 대체 동작을 안내하기 위한 메시지를 제공한다. 이때, 대체 동작을 안내하기 위한 메시지는 청각적 형태 또는 시각적 형태일 수 있으며, 자연어 형태로 처리되어 제공될 수 있다.The substitute operation guide module 370 provides a message for guiding the determined substitute action. In this case, the message for guiding the alternative operation may be in an audio form or a visual form, and may be processed and provided in a natural language form.
프로세서(130)는 전자 장치(100)의 상술한 구성들을 제어할 수 있다. 예를 들어, 프로세서(130)는 메모리(160)에 저장된 복수의 소프트웨어 모듈을 이용하여 사용자 음성에 대응되는 동작을 대체할 수 있는 대체 동작을 결정하고, 결정된 대체 동작을 안내하기 위한 메시지를 제공할 수 있다.The processor 130 may control the above-described components of the electronic device 100. For example, the processor 130 may use a plurality of software modules stored in the memory 160 to determine an alternative operation that may replace an operation corresponding to the user's voice, and provide a message for guiding the determined alternative operation. Can be.
프로세서(130)는 단일 CPU로 구현되어 음성 인식 동작, 언어 이해 동작, 대화 관리 동작, 대체 동작 검색 동작, 필터링 동작, 응답 생성 동작 등을 수행할 수도 있고, 복수의 프로세서 및 상기 메모리에 저장된 복수의 소프트웨어 모듈 중 적어도 하나의 기능과 같은 동작을 수행하는 전용 프로세서로 구현될 수도 있다. 프로세서(130)는 전통적인 은닉 마코프 모델(Hidden Markov Model, HMM) 기반의 음성 인식을 수행할 수도 있고, 딥 신경망(Deep Neural Network, DNN)과 같은 딥러닝 기반의 음성 인식을 수행할 수도 있다.The processor 130 may be implemented as a single CPU to perform a voice recognition operation, a language understanding operation, a conversation management operation, an alternative operation search operation, a filtering operation, a response generation operation, or the like. It may be implemented as a dedicated processor that performs the same operation as at least one function of the software module. The processor 130 may perform speech recognition based on a traditional hidden markov model (HMM), or may perform deep learning based speech recognition such as a deep neural network (DNN).
또한, 프로세서(130)는 음성 인식 및 대체 동작 결정에 빅데이터 및 사용자별 히스토리 데이터를 이용할 수 있다. 이를 통해, 프로세서(130)는 빅데이터로 학습된 음성 인식 모델 및 대체 동작을 결정하기 위한 대체 동작 판단 모델을 사용함과 동시에 음성 인식 모델 및 대체 동작 판단 모델을 개인화시킬 수 있다.In addition, the processor 130 may use big data and user-specific history data to determine voice recognition and substitute operation. In this way, the processor 130 may personalize the speech recognition model and the replacement gesture determination model while using the speech recognition model learned from the big data and the replacement gesture determination model for determining the replacement gesture.
이하에서는 도 4a 내지 도 5를 참조하여 본 발명에 대해 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to FIGS. 4A to 5.
본 발명의 일 실시예로, 입력부(110)를 통해 "어제 찍은 사진 갤러리에서 찾아서 길동이에게 메시지로 보내줘"라는 사용자 음성이 입력된 경우, 프로세서(130)는 텍스트 획득 모듈(310)을 제어하여 사용자 음성으로 부터 텍스트 데이터를 획득할 수 있다.In one embodiment of the present invention, if a user voice is input through the input unit 110 "find in the picture gallery taken yesterday and send it as a message to the assistant", the processor 130 controls the text acquisition module 310 Text data can be obtained from the user's voice.
그리고, 프로세서(130)는 텍스트 분석 모듈(320)을 제어하여 획득된 텍스트 데이터를 분석하여 목적 성분과 파라미터 성분을 결정할 수 있다. 예를 들어, 프로세서(130)는 텍스트 분석 모듈(320)을 제어하여 텍스트 데이터인 "어제 찍은 사진 갤러리에서 찾아서 길동이에게 메시지로 보내줘"를 분석하여 아래와 같이, 목적 성분과 파라미터 성분을 결정할 수 있다.In addition, the processor 130 may control the text analysis module 320 to determine the target component and the parameter component by analyzing the obtained text data. For example, the processor 130 may control the text analysis module 320 to analyze the text data "find it in a photo gallery taken yesterday and send it as a message to a friend" and determine a target component and a parameter component as follows. .
<Goal: 사진 전송><Goal: Photo Transfer>
<Para1(Time): 어제, Para2(AppName): 갤러리 어플리케이션, Para3(Person.to): 길동, Para4(AppName): 메시지 어플리케이션><Para1 (Time): Yesterday, Para2 (AppName): Gallery Application, Para3 (Person.to): Gildong, Para4 (AppName): Message Application>
그리고, 프로세서(130)는 동작 결정 모듈(330)을 제어하여 목적 성분 및 파라미터 성분을 바탕으로 사용자 음성에 대응되는 동작을 결정할 수 있다. 구체적으로, 프로세서(130)는 동작 결정 모듈(330)을 제어하여 목적 성분을 바탕으로 동작의 유형이 "사진 전송"임을 결정할 수 있고, 동작의 내용이 "어제 찍은 사진을 갤러리 어플리케이션에서 찾아서 메시지로 보내기"로 결정할 수 있다.In addition, the processor 130 may control the motion determining module 330 to determine a motion corresponding to the user's voice based on the target component and the parameter component. In detail, the processor 130 may control the motion determination module 330 to determine that the type of motion is “send photo” based on the target component, and the content of the motion “find the picture taken yesterday in a gallery application as a message”. Send ".
그리고, 프로세서(130)는 동작 수행 판단 모듈(340)을 제어하여 결정된 동작이 수행 가능한지 여부를 판단할 수 있다. 결정된 동작이 수행 가능한 경우, 프로세서(130)는 동작 수행 모듈(350)을 제어하여 결정된 동작을 수행하거나 결정된 동작에 대응하는 제어 신호를 외부 장치로 전송할 수 있다. 예를 들어, "어제 찍은 사진을 갤러리 어플리케이션에서 찾아서 메시지로 보내기"가 수행 가능한 경우, 프로세서(130)는 동작 수행 모듈(350)을 제어하여 어제 찍은 사진을 갤러리 어플리케이션에서 검색하여 메시지에 첨부하여 길동이에 대응하는 외부 장치로 전송할 수 있다.In addition, the processor 130 may determine whether the determined operation may be performed by controlling the operation performance determining module 340. When the determined operation can be performed, the processor 130 may control the operation performing module 350 to perform the determined operation or transmit a control signal corresponding to the determined operation to an external device. For example, if it is possible to "find the picture taken yesterday in the gallery application and send it as a message", the processor 130 controls the action performing module 350 to retrieve the picture taken yesterday in the gallery application and attach it to the message. It can be transmitted to the external device corresponding thereto.
그러나, 결정된 동작이 수행 불가능한 경우, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 목적 성분 및 파라미터 성분을 바탕으로 결정된 동작을 대체할 수 있는 대체 동작을 결정할 수 있다. 예를 들어, 메시지로 전송할 수 있는 사진의 개수가 5개인데 반해, 갤러리 어플리케이션에서 검색된 어제 찍은 사진이 10개인 경우, 프로세서(130)는 동작 수행 판단 모듈(340)을 제어하여 결정된 동작이 수행 가능하지 않음을 판단할 수 있다. However, when the determined operation cannot be performed, the processor 130 may control the replacement operation determination module 360 to determine an alternative operation that may replace the determined operation based on the target component and the parameter component. For example, if the number of pictures that can be transmitted in a message is five, but there are ten pictures taken yesterday found in the gallery application, the processor 130 may control the operation performance determining module 340 to perform an operation determined. It can be determined that no.
프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 동작 수행 불가능한 이유가 10장의 사진을 메시지 전송이 불가능함을 판단하고, 사용자 음성에 대응하는 동작의 대체 동작이 있는지 여부를 판단할 수 있다.The processor 130 may control the alternative gesture determining module 360 to determine that it is impossible to transmit a message of 10 pictures, and determine whether there is an alternative gesture corresponding to the user's voice. .
이때, 대체 동작에는 사용자 음성에 대응되는 동작과 동일한 동작의 유형을 가지나 상이한 동작의 내용을 가지는 동작 또는 사용자 음성에 대응되는 동작과 상이한 동작의 유형 및 상이한 동작의 내용을 가지는 동작이 포함될 수 있다.In this case, the alternative operation may include an operation having the same type of operation as the operation corresponding to the user's voice but having different contents of the operation, or an operation having a type of operation different from the operation corresponding to the user's voice and different contents of the operation.
예를 들어, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 사진 전송이라는 동일한 유형을 가지나, 동작 내용이 메시지를 이용하여 전송하는 것이 아닌 다른 채팅 어플리케이션을 이용하여 사진을 전송하는 동작을 대체 동작으로 결정할 수 있다. 즉, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 동작의 유형이 "사진 전송"이고, 동작의 내용이 "어제 찍은 사진을 갤러리 어플리케이션에서 찾아서 채팅 어플리케이션으로 보내기"라는 대체 동작을 결정할 수 있다.For example, the processor 130 controls the alternative motion determining module 360 to have the same type of picture transmission, but transmits the picture using a chat application other than the message content using the message. This can be determined by an alternate action. In other words, the processor 130 controls the alternative motion determining module 360 to determine the alternative action of "transfer photo" and the content of the action "find the picture taken yesterday in the gallery application and send it to the chat application". Can be.
또 다른 예로, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 사진 전송이 아닌 캡쳐 화면 전송이라는 상이한 동작의 유형을 가지는 동작을 대체 동작으로 결정할 수 있다. 즉, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 동작의 유형이 "캡쳐 화면 전송"이고, 동작의 내용이 "어제 찍은 사진을 갤러리 어플리케이션에서 찾아서 화면을 캡쳐하여 메시지로 전송"이라는 대체 동작을 결정할 수 있다.As another example, the processor 130 may control the alternative motion determining module 360 to determine an action having a different type of motion, such as a capture screen transmission instead of a picture transmission, as the alternative motion. That is, the processor 130 controls the alternative motion determination module 360 so that the type of motion is “send capture screen”, and the content of the motion is “find the picture taken yesterday in the gallery application and capture the screen and send it as a message”. Alternative actions can be determined.
특정 동작에 대응하는 복수의 대체 동작은 기저장될 수 있다. 예를 들어, 메모리(160)는 "사진 전송"의 대체 동작으로, "캡쳐 화면 전송", "메시지 전송" 등을 "사진 전송"과 매칭하여 기저장할 수 있다. 이때, 프로세서(130)는 대체 동작 판단 모듈 (360)을 제어하여 에러 원인을 바탕으로 기저장된 적어도 하나의 대체 동작 중 하나를 사용자 음성에 대응하는 동작의 대체 동작으로 결정할 수 있다. 예를 들어, 전송 가능한 사진의 개수 초과로 사용자 음성에 대응되는 동작이 불가능한 경우, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 "캡쳐 화면 전송"을 대체 동작으로 결정하고, 전송 가능한 데이터의 초과로 사용자 음성에 대응되는 동작이 불가능한 경우, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 "메시지 전송"을 대체 동작으로 결정할 수 있다. 이때, 에러 원인과 대체 동작 역시 매칭되어 기 저장될 수 있다.The plurality of alternative operations corresponding to the specific operation may be stored in advance. For example, the memory 160 replaces the "picture transfer", and may pre-store "capture screen transfer", "message transfer", and the like by matching "photo transfer". In this case, the processor 130 may control the substitute operation determining module 360 to determine one of the at least one prestored alternative operation based on the cause of the error as the alternative operation of the operation corresponding to the user's voice. For example, if the operation corresponding to the user's voice is not possible due to the number of photos that can be transmitted, the processor 130 controls the alternative motion determination module 360 to determine “send the captured screen” as the alternative motion, and transmit the same. If the operation corresponding to the user's voice is not possible due to the excess of data, the processor 130 may control the substitute operation determining module 360 to determine “message transmission” as the substitute operation. In this case, the error cause and the replacement operation may also be matched and stored.
또는, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 기학습된 대체 동작 판단 모델을 이용하여 사용자 음성에 대응하는 동작을 대체하기 위한 대체 동작을 결정할 수 있다. 즉, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 사용자 또는 타인에 의해 기학습된 대체 동작 판단 모델에 결정된 동작을 입력하여 결정된 동작에 대응하는 대체 동작을 결정할 수 있다. 대체 동작 판단 모델에 대해서는 도 9 내지 도 10b를 참조하여 상세히 설명하기로 한다.Alternatively, the processor 130 may control the substitute motion determining module 360 to determine the substitute motion for replacing the motion corresponding to the user's voice using the previously learned substitute motion determination model. That is, the processor 130 may control the substitute motion determination module 360 to input the action determined in the substitute action determination model previously learned by the user or another person to determine the substitute action corresponding to the determined action. The alternative operation determination model will be described in detail with reference to FIGS. 9 to 10B.
대체 동작이 결정된 경우, 프로세서(130)는 대체 동작 안내 모듈(370)을 제어하여 대체 동작을 안내하기 위한 메시지를 제공할 수 있다. 이때, 대체 동작을 안내하기 위한 메시지에는 사용자 음성에 대응하는 동작을 수행하지 못하는 원인과 대체 동작 중 적어도 하나를 안내하기 위한 메시지가 포함될 수 있다. 프로세서(130)는 대체 동작 안내 모듈 (370)을 제어하여 대체 동작을 안내하기 위한 메시지를 표시할 수 있으며, 메시지를 오디오 형태로 출력할 수 있다.When the replacement operation is determined, the processor 130 may control the replacement operation guide module 370 to provide a message for guiding the replacement operation. In this case, the message for guiding the alternative operation may include a message for guiding at least one of a cause for failing to perform an operation corresponding to the user voice and an alternative operation. The processor 130 may control the substitute operation guide module 370 to display a message for guiding the substitute operation, and output the message in an audio form.
또한, 프로세서(130)는 대체 동작 안내 모듈(370)을 제어하여 대체 동작을 안내하기 위한 메시지를 자연어 형태로 처리하여 제공할 수 있다. 구체적으로, 동작의 유형이 "사진 전송"이고, 동작의 내용이 "어제 찍은 사진을 갤러리 어플리케이션에서 찾아서 채팅 어플리케이션으로 보내기"인 대체 동작의 경우, 프로세서(130)는 대체 동작 안내 모듈(370)을 제어하여 도 4a에 도시된 바와 같이, "메시지로 보내는 것이 불가능하여 xxx톡으로 보낼까요"라는 자연어 형태의 메시지를 디스플레이(120)에 표시할 수 있다. 또한, 동작의 유형이 "합성 이미지 전송"이고, 동작의 내용이 "어제 찍은 사진을 갤러리 어플리케이션에서 찾아서 사진을 1장의 이미지로 합성하여 메시지로 전송"인 대체 동작의 경우, 프로세서(130)는 대체 동작 안내 모듈(370)을 제어하여 도 4b에 도시된 바와 같이, "모든 사진을 보낼 수가 없어 10장 사진을 1 장으로 합성하여 메시지로 보낼까요?"라는 자연어 형태의 메시지를 디스플레이(120)에 표시할 수 있다.In addition, the processor 130 may control the substitute operation guide module 370 to process and provide a message for guiding the substitute operation in a natural language form. Specifically, in the case of an alternative action of which the type of action is "send photo" and the content of the action is "Find a picture taken yesterday in the gallery application and send it to the chat application", the processor 130 may execute the alternative action guide module 370. As shown in FIG. 4A, the display 120 may display a message in a natural language form, “Is not possible to send the message and send it to xxx chat.” In addition, in the case of an alternative action of which the type of action is "Send Composite Image" and the content of the action is "Find a picture taken yesterday in the gallery application and combine the picture into one image and send it as a message", the processor 130 replaces the action. As shown in FIG. 4B, the operation guide module 370 is controlled to display a message in natural language form, “Can't send all the pictures, and then synthesizes 10 pictures into one message?” To the display 120. I can display it.
이때, 프로세서(130)는 대체 동작 안내 모듈(370)을 제어하여 기저장된 자연어 형태의 메시지를 제공할 수 있으나, 이는 일 실시예에 불과할 뿐, 자연어 처리를 위한 언어 모델을 이용하여 자연어 형태의 메시지를 생성하여 제공할 수 있다.In this case, the processor 130 may control the alternative operation guide module 370 to provide a pre-stored natural language message, but this is only an example, and the natural language message may be generated using a language model for natural language processing. Can be generated and provided.
본 발명의 다른 실시예로, 입력부(110)를 통해 "내일 모임 일정 잡아줘"라는 사용자 음성이 입력된 경우, 프로세서(130)는 텍스트 획득 모듈(310)을 제어하여 사용자 음성으로부터 텍스트 데이터를 획득할 수 있다.In another embodiment of the present invention, when a user voice of “schedule tomorrow meeting” is input through the input unit 110, the processor 130 controls the text acquisition module 310 to obtain text data from the user voice. can do.
그리고, 프로세서(130)는 텍스트 분석 모듈(320)을 제어하여 획득된 텍스트 데이터를 분석하여 목적 성분과 파라미터 성분을 결정할 수 있다. 예를 들어, 프로세서(130)는 텍스트 분석 모듈(320)을 제어하여 텍스트 데이터인 "내일 일정 잡아줘"를 분석하여 아래와 같이, 목적 성분과 파라미터 성분을 결정할 수 있다.In addition, the processor 130 may control the text analysis module 320 to determine the target component and the parameter component by analyzing the obtained text data. For example, the processor 130 may control the text analysis module 320 to analyze the text data “schedule tomorrow” to determine a target component and a parameter component as follows.
<Goal: 일정 잡기><Goal: Scheduling>
<Para1(Time): 내일, Para2(AppName): 스케줄 어플리케이션, Para3(Person.to): non><Para1 (Time): Tomorrow, Para2 (AppName): Schedule application, Para3 (Person.to): non>
그리고, 프로세서(130)는 동작 결정 모듈(330)을 제어하여 목적 성분 및 파라미터 성분을 바탕으로 사용자 음성에 대응되는 동작을 결정할 수 있다. 구체적으로, 프로세셔(130)는 동작 결정 모듈(330)을 제어하여 목적 성분을 바탕으로 동작의 유형이 "일정 잡기"임을 결정할 수 있고, 동작의 내용이 "내일 모임을 스케줄 어플리케이션에 등록하기"로 결정할 수 있다.In addition, the processor 130 may control the motion determining module 330 to determine a motion corresponding to the user's voice based on the target component and the parameter component. Specifically, the processor 130 may control the motion determination module 330 to determine that the type of motion is "scheduling" based on the target component, and the content of the motion is "registering a meeting tomorrow in the schedule application". Can be determined.
그리고, 프로세서(130)는 동작 수행 판단 모듈(340)을 제어하여 결정된 동작이 수행 가능한지 여부를 판단할 수 있다. 결정된 동작이 수행 불가능한 경우, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 목적 성분 및 파라미터 성분을 바탕으로 결정된 동작을 대체할 수 있는 대체 동작을 결정할 수 있다. 예를 들어, 누구와의 모임인지 여부를 나타내는 파라미터 성분이 없으므로, 프로세서(130)는 동작 수행 판단 모듈(340)을 제어하여 결정된 동작이 수행 가능하지 않음을 판단할 수 있다. In addition, the processor 130 may determine whether the determined operation may be performed by controlling the operation performance determining module 340. When the determined operation cannot be performed, the processor 130 may control the substitute operation determination module 360 to determine an alternative operation that may replace the determined operation based on the target component and the parameter component. For example, since there is no parameter component indicating who is meeting with, the processor 130 may control the operation performance determining module 340 to determine that the determined operation is not executable.
프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 사용자 음성에 대응하는 동작의 대체 동작이 있는지 여부를 판단할 수 있다. 예를 들어, 누구와의 모임인지 여부에 대한 정보가 없으므로, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 "일정 잡기"가 아닌 "메모 남기기"라는 상이한 동작의 유형을 가지는 대체 동작을 결정할 수 있다. 즉, 프로세서(130)는 대체 동작 판단 모듈(360)을 제어하여 동작의 유형이 "메모 남기기"이고, 동작의 내용이 "내일 모임 일정을 메모로 작성"이라는 대체 동작을 결정할 수 있다.The processor 130 may control the substitute motion determining module 360 to determine whether there is an alternative motion corresponding to the user's voice. For example, since there is no information about who is meeting with, the processor 130 controls the alternative action determining module 360 so that the alternative action has a different type of action, such as "leave a note" rather than "schedule". Can be determined. That is, the processor 130 may control the alternative operation determining module 360 to determine an alternative action of "Make a note" and the content of the action "Make a meeting schedule for tomorrow".
대체 동작이 결정된 경우, 프로세서(130)는 대체 동작 안내 모듈(370)을 제어하여 대체 동작을 안내하기 위한 메시지를 제공할 수 있다. 예를 들어, 동작의 유형이 "메모 남기기"이고, 동작의 내용이 "내일 모임 일정을 메모로 작성하기"인 대체 동작의 경우, 프로세서(130)는 대체 동작 안내 모듈(370)을 제어하여 도 5에 도시된 바와 같이, "누구와 모임을 가지나요? 메모로 남길까요?"라는 자연어 형태의 메시지를 디스플레이(120)에 표시할 수 있다.When the replacement operation is determined, the processor 130 may control the replacement operation guide module 370 to provide a message for guiding the replacement operation. For example, in the case of an alternative action of which the type of action is "leave a note" and the content of the action is "composing a meeting schedule for tomorrow," the processor 130 controls the alternative action guide module 370. As shown in FIG. 5, a message in a natural language form may be displayed on the display 120.
도 6은 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a control method of the electronic device 100 according to an embodiment of the present disclosure.
우선, 전자 장치(100)는 사용자 음성을 입력받는다(S610).First, the electronic device 100 receives a user voice in operation S610.
그리고, 전자 장치(100)는 사용자 음성으로부터 텍스트 데이터를 획득한다(S620).In operation S620, the electronic device 100 obtains text data from the user's voice.
그리고, 전자 장치(100)는 획득된 텍스트 데이터로부터 목표 성분 및 파라미터 성분을 결정한다(S630).In operation S630, the electronic device 100 determines a target component and a parameter component from the obtained text data.
그리고, 전자 장치(100)는 목표 성분 및 파라미터 성분을 바탕으로 사용자 음성에 대응되는 동작을 결정한다(S640). 이때, 전자 장치(100)는 목표 성분을 이용하여 사용자 음성에 대응하는 동작의 유형을 결정하고, 파라미터 성분을 이용하여 사용자 음성에 대응하는 동작의 내용을 결정할 수 있다.The electronic device 100 determines an operation corresponding to the user's voice based on the target component and the parameter component (S640). In this case, the electronic device 100 may determine the type of the operation corresponding to the user's voice using the target component, and may determine the content of the operation corresponding to the user's voice using the parameter component.
그리고, 전자 장치(100)는 결정된 동작의 수행 가능 여부를 판단한다(S650).In operation S650, the electronic device 100 may determine whether the determined operation may be performed.
결정된 동작의 수행이 가능하다고 판단된 경우(S650-Y), 전자 장치(100)는 결정된 동작을 수행한다(S660).If it is determined that the determined operation is possible (S650-Y), the electronic device 100 performs the determined operation (S660).
반면, 결정된 동작의 수행이 불가능하다고 판단된 경우(S650-N), 전자 장치(100)는 결정된 동작을 대체하기 위한 대체 동작을 결정한다(S670). 이때, 전자 장치(100)는 결정된 동작과 대칭되어 기 저장된 복수의 대체 동작 중 하나를 대체 동작으로 결정할 수 있으며, 결정된 동작을 대체 동작 판단 모델에 입력하여 대체 동작을 결정할 수 있다.On the other hand, when it is determined that it is impossible to perform the determined operation (S650-N), the electronic device 100 determines an alternative operation for replacing the determined operation (S670). In this case, the electronic device 100 may determine one of a plurality of pre-stored alternative operations, which are symmetrical to the determined operation, as an alternative operation, and determine the alternative operation by inputting the determined operation to the alternative operation determination model.
그리고, 전자 장치(100)는 대체 동작을 안내하기 위한 메시지를 제공한다(S680). 이때, 전자 장치(100)는 대체 동작을 안내하기 위한 메시지를 자연어 형태로 처리하여 제공할 수 있다.In operation S680, the electronic device 100 provides a message for guiding the replacement operation. In this case, the electronic device 100 may process and provide a message for guiding an alternative operation in a natural language form.
도 7은 본 개시의 다른 실시예에 따른, 사용자 단말과 지능형 비서 기능을 수행하기 위한 서버를 포함하는 지능형 비서 시스템을 도시한 도면이다. 도 7을 참조하면, 지능형 비서 시스템(1000)은 사용자 단말(200) 및 서버(100)를 포함할 수 있다. 한편, 상술한 실시예에서 설명한 전자 장치(100)는 도 7에서 서버로 구현될 수 있다.7 is a diagram illustrating an intelligent secretary system including a user terminal and a server for performing an intelligent secretary function according to another exemplary embodiment of the present disclosure. Referring to FIG. 7, the intelligent secretary system 1000 may include a user terminal 200 and a server 100. Meanwhile, the electronic device 100 described in the above-described embodiment may be implemented as a server in FIG. 7.
사용자 단말(200)은 사용자가 발화한 사용자 음성을 획득하여 사용자 음성을 외부의 서버(100)로 전송할 수 있다. 서버(200)는 수신된 사용자 음성에 대응하는 동작 또는 대체 동작을 결정하고, 제어 신호 또는 대체 동작을 안내하기 위한 메시지를 사용자 단말(200)로 전송할 수 있다. 이와 같이, 사용자 단말(200)과 서버(100)가 연동하여 지능형 비서 서비스를 제공할 수 있다.The user terminal 200 may obtain the user's voice spoken by the user and transmit the user's voice to the external server 100. The server 200 may determine an operation or substitute operation corresponding to the received user voice, and transmit a control signal or a message for guiding the substitute operation to the user terminal 200. As such, the user terminal 200 and the server 100 may interwork to provide an intelligent secretary service.
즉, 사용자 단말(200)은 단순히 사용자의 음성을 수신하고 메시지를 제공하는 입출력장치로서의 역할만을 수행하고, 서버(100)가 지능형 비서 서비스의 대부분을 처리하는 형태로 구현될 수도 있다. 특히, 도 7에 도시된 것과 같이 사용자 단말(200)이 스마트 워치와 같은 소형 웨어러블 장치로 구현되어 가용 리소스가 한정되는 경우에, 대체 동작 결정 및 자연언어생성과 같은 과정은 리소스가 풍부한 서버(200)에서 수행할 수 있다.That is, the user terminal 200 may simply be implemented as an input / output device for receiving a user's voice and providing a message, and may be implemented in a form in which the server 100 processes most of the intelligent secretary service. In particular, when the user terminal 200 is implemented as a small wearable device such as a smart watch as shown in FIG. 7 and the available resources are limited, processes such as determining an alternative operation and generating a natural language are resource-rich servers 200. ) Can be performed.
도 8은 본 개시의 일 실시예에 따른, 지능형 비서 시스템의 제어 방법을 설명하기 위한 시퀀스도이다.8 is a sequence diagram illustrating a control method of an intelligent secretary system according to an embodiment of the present disclosure.
사용자 단말(200)은 사용자 음성을 획득한다(S810). 이때, 사용자 단말(200)은 사용자 단말(200)에 구비되거나 사용자 단말(200)과 연결된 마이크로부터 사용자 음성을 획득할 수 있다.The user terminal 200 obtains a user voice (S810). In this case, the user terminal 200 may obtain a user voice from a microphone provided in the user terminal 200 or connected to the user terminal 200.
그리고, 사용자 단말(200)은 사용자 음성을 외부의 서버(100)로 전송한다(S820). 구체적으로, 사용자 단말(200)은 사용자 음성에 대응하는 음성 신호를 외부의 서버(100)로 전송할 수 있다.The user terminal 200 transmits the user's voice to the external server 100 (S820). In detail, the user terminal 200 may transmit a voice signal corresponding to the user voice to the external server 100.
그리고, 서버(100)는 수신된 사용자 음성으로부터 텍스트 데이터를 획득한다(S830).In operation S830, the server 100 obtains text data from the received user voice.
그리고, 서버(100)는 텍스트 데이터를 분석하고(S840), 사용자 음성에 대응하는 동작을 결정한다(S850). 구체적으로, 서버(100)는 텍스트 데이터로부터 목적 성분 및 파라미터 성분을 결정하고, 목적 성분으로부터 사용자 음성에 대하는 동작의 유형을 결정하고, 파라미터 성분으로부터 사용자 음성에 대하는 동작의 내용을 결정할 수 있다.The server 100 analyzes the text data (S840) and determines an operation corresponding to the user's voice (S850). Specifically, the server 100 may determine the target component and the parameter component from the text data, determine the type of the operation for the user voice from the target component, and determine the content of the operation for the user voice from the parameter component.
사용자 음성에 대응하는 동작이 수행 불가능하다고 판단된 경우, 서버(100)는 사용자 음성에 대응하는 동작을 대체할 수 있는 대체 동작을 결정한다(S860). 이때, 서버(100)는 기 저장된 대체 동작들 중 하나를 대체 동작으로 결정할 수 있으며, 학습된 대체 동작 판단 모델을 이용하여 대체 동작을 결정할 수 있다.If it is determined that the operation corresponding to the user's voice cannot be performed, the server 100 determines an alternative operation that may replace the operation corresponding to the user's voice (S860). In this case, the server 100 may determine one of the pre-stored alternative operations as the alternative operation, and determine the alternative operation using the learned substitute operation determination model.
서버(100)는 대체 동작을 안내하기 위한 메시지를 생성한다(S870). 이때, 서버(100)는 자연어 형태로 메시지를 생성할 수 있다.The server 100 generates a message for guiding the replacement operation (S870). In this case, the server 100 may generate a message in a natural language form.
서버(100)는 메시지를 사용자 단말(200)로 전송하고(S880), 사용자 단말(200)은 수신된 메시지를 출력한다(S890).The server 100 transmits a message to the user terminal 200 (S880), and the user terminal 200 outputs the received message (S890).
상술한 바와 같은 본 개시의 실시예에 따라, 실행 불가능한 동작에 대한 대체 동작을 안내함으로써, 지능형 비서 기능을 처음 이용하거나 익숙치 않는 사용자라도 더욱 쉽고 자연스럽게 지능형 비서 기능을 이용할 수 있게 된다.According to the embodiment of the present disclosure as described above, by guiding the alternative operation for the non-executable operation, even the first time users or new users who are not familiar with the intelligent assistant function can use the intelligent assistant function more easily and naturally.
도 9는 본 개시의 일부 실시 예에 따른 프로세서(130)의 블록도이다. 도 9를 참조하면, 일부 실시 예에 따른 프로세서(130)는 데이터 학습부(131) 및 대체 동작 판단부(132)를 포함할 수 있다.9 is a block diagram of a processor 130 according to some embodiments of the present disclosure. Referring to FIG. 9, the processor 130 according to some embodiments may include a data learner 131 and an alternative operation determiner 132.
데이터 학습부(131)는 대체 동작 결정을 위한 기준을 학습할 수 있다. 프로세서(130)는 학습된 기준에 따라 입력된 동작을 분석하여 사용자 음성에 대응되는 동작을 대체할 수 있는 대체 동작을 결정할 수 있다. 데이터 학습부(131)는 대체 동작을 결정하기 위하여 어떠한 데이터(또는 파라미터 성분)를 이용할 것인지 결정할 수 있다. 또한, 데이터 학습부(131)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 대체 동작 판단 모델에 적용함으로써 대체 동작을 위한 기준을 학습할 수 있다.The data learner 131 may learn a criterion for determining an alternative operation. The processor 130 may analyze the input motion according to the learned criterion to determine an alternative motion that may replace the motion corresponding to the user's voice. The data learner 131 may determine which data (or parameter component) to use to determine the replacement operation. In addition, the data learner 131 may acquire the data to be used for learning, and apply the acquired data to an alternative operation determination model to be described later to learn the criteria for the alternative operation.
대체 동작 판단부(132)는 기학습된 대체 동작 판단 모델을 이용하여, 소정의 데이터로부터 사용자 음성에 대응하는 동작을 대체할 수 있는 대체 동작을 판단할 수 있다. 대체 동작 판단부(132)는 학습에 의한 기설정된 기준에 따라 소정의 데이터(예를 들어, 결정된 동작의 목적 성분 및 파라미터 성분 중 적어도 하나)를 획득하고, 획득된 데이터를 입력값으로 하여 대체 동작 판단 모델을 이용할 수 있다. 또한, 대체 동작 판단부(132)는 입력된 데이터를 대체 동작 판단 모델에 적용하여 대체 동작에 대한 결과값을 획득할 수 있다. 그리고, 대체 동작 판단부(132)는 입력값 및 출력값에 대한 사용자 피드백을 바탕으로 대체 동작 판단 모델을 갱신할 수 있다.The alternative gesture determination unit 132 may determine an alternative gesture that may replace the gesture corresponding to the user's voice from the predetermined data using the previously learned alternative gesture determination model. The replacement operation determiner 132 obtains predetermined data (eg, at least one of the target component and the parameter component of the determined operation) according to a predetermined criterion by learning, and uses the obtained data as an input value to replace the replacement operation. Judgment models can be used. In addition, the substitute operation determination unit 132 may apply the inputted data to the substitute operation determination model to obtain a result value for the substitute operation. In addition, the substitute operation determination unit 132 may update the substitute operation determination model based on user feedback on the input value and the output value.
데이터 학습부(131) 및 대체 동작 판단부(132) 중 적어도 하나는, 하나 또는 복수의 하드웨어 칩 형태로 제작되어 전자 장치(100)에 탑재될 수 있다. 예를 들어, 데이터 학습부(131) 및 대체 동작 판단부(132) 중 적어도 하나는 인공 지능(Artifical Intelligence, AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 기존의 범용 프로세서(예를 들어, CPU 또는 application processor) 또는 특정 기능을 위한 IP의 일부로 제작되어 전술한 각종 전자 장치(100)에 탑재될 수도 있다.At least one of the data learner 131 and the substitute operation determiner 132 may be manufactured in the form of one or a plurality of hardware chips and mounted on the electronic device 100. For example, at least one of the data learning unit 131 and the alternative operation determining unit 132 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be a conventional general purpose processor (for example, , A CPU or an application processor) or a part of an IP for a specific function, and may be mounted on the aforementioned various electronic devices 100.
도 9의 실시 예에서는 데이터 학습부(131) 및 대체 동작 판단부(132)가 모두 전자 장치(100)에 탑재된 경우를 도시하였으나, 이들은 각각 별개의 장치에 탑재될 수도 있다. 예를 들어, 데이터 학습부(131) 및 대체 동작 판단부(132) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 사용자 단말(200)에 포함될 수 있다. 또한 데이터 학습부(131) 및 대체 동작 판단부(132)는 서로 유선 또는 무선으로 연결되어, 데이터 학습부(131)가 구축한 대체 동작 판단 모델에 대한 정보가 대체 동작 판단부(132)로 제공될 수 있고, 대체 동작 판단부(132)로 입력된 데이터가 추가 학습 데이터로 데이터 학습부(131)로 제공될 수도 있다.In the embodiment of FIG. 9, the data learner 131 and the replacement operation determiner 132 are both mounted on the electronic device 100, but they may be mounted on separate devices. For example, one of the data learner 131 and the substitute operation determiner 132 may be included in the electronic device 100, and the other may be included in the user terminal 200. In addition, the data learning unit 131 and the replacement operation determination unit 132 are connected to each other by wire or wirelessly, and the information on the replacement operation determination model built by the data learning unit 131 is provided to the replacement operation determination unit 132. The data input to the substitute operation determiner 132 may be provided to the data learner 131 as additional learning data.
한편, 데이터 학습부(131) 및 대체 동작 판단부(132) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(131) 및 대체 동작 판단부(132) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 비일시적 컴퓨터 판독가능 기록매체에 저장될 수 있다. 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는 적어도 하나의 소프트웨어 모듈 중 일부는 OS에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수도 있다.Meanwhile, at least one of the data learner 131 and the substitute operation determiner 132 may be implemented as a software module. When at least one of the data learner 131 and the substitute operation determiner 132 is implemented as a software module (or a program module including instructions), the software module may be stored in a non-transitory computer readable recording medium. . At least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
도 10a는 본 개시의 일부 실시 예에 따른 데이터 학습부(131)의 블록도이다. 도 10a를 참조하면, 일부 실시 예에 따른 데이터 학습부(131)는 데이터 획득부(131-1), 전처리부(131-2), 학습 데이터 선택부(131-3), 모델 학습부(131-4) 및 모델 평가부(131-5)를 포함할 수 있다.10A is a block diagram of a data learner 131, according to some embodiments of the present disclosure. Referring to FIG. 10A, the data learner 131 includes a data acquirer 131-1, a preprocessor 131-2, a training data selector 131-3, and a model learner 131. -4) and the model evaluator 131-5.
데이터 획득부(131-1)는 대체 동작을 판단하기 위해 필요한 데이터를 획득할 수 있다. 특히, 데이터 획득부(131-1)는 사용자 음성에 대응하는 동작을 결정할 수 있는 데이터를 학습 데이터로 획득할 수 있다. 예를 들어, 입력부(110)를 통해 입력된 사용자 음성에 대응되는 신호, 사용자 음성에 대응하는 텍스트 데이터, 텍스트 데이터로부터 결정된 목적 성분 및 파라미터 성분 중 적어도 하나를 입력받을 수 있다.The data acquirer 131-1 may acquire data necessary for determining the replacement operation. In particular, the data acquirer 131-1 may acquire data for determining an operation corresponding to the user's voice as the training data. For example, at least one of a signal corresponding to a user voice input through the input unit 110, a text data corresponding to the user voice, a target component determined from the text data, and a parameter component may be input.
전처리부(131-2)는 대체 동작 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(131-2)는 후술할 모델 학습부(131-4)가 대체 동작 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다.The preprocessor 131-2 may preprocess the acquired data so that the obtained data may be used for learning to determine an alternative operation. The preprocessor 131-2 may process the acquired data in a predetermined format so that the model learner 131-4 to be described later uses the acquired data for learning to determine an alternative operation.
예를 들어, 전처리부(131-2)는 입력된 사용자 음성에 대해 인식 대상이 되는 구간을 추출할 수 있다. 그리고, 전처리부(131-2)는 사용자 음성에 대응하는 신호에 대해 잡음 제거, 특징 추출 등을 수행하고, 텍스트 데이터로 변환할 수 있다.For example, the preprocessor 131-2 may extract a section that is a recognition target for the input user voice. The preprocessor 131-2 may perform noise reduction, feature extraction, and the like, on the signal corresponding to the user's voice, and convert the signal into text data.
다른 예로, 전처리부(131-2)는 입력된 사용자 음성의 주파수 성분을 분석하여 일부 주파수 성분을 강화하고, 나머지 주파수 성분을 억제하는 방식으로 음성 인식에 적합하도록 음성 데이터를 생성할 수도 있다.As another example, the preprocessor 131-2 may generate voice data to be suitable for speech recognition by analyzing a frequency component of the input user voice to reinforce some frequency components and suppress the remaining frequency components.
학습 데이터 선택부(131-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(131-4)에 제공될 수 있다. 학습 데이터 선택부(131-3)는 대체 동작 판단을 위한 기설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(131-3)는 후술할 모델 학습부(131-4)에 의한 학습에 의해 기설정된 기준에 따라 데이터를 선택할 수도 있다. 예를 들어, 학습 데이터 선택부(131-1)는 입력된 텍스트 데이터로부터 목적 성분 및 파라미터 성분만을 선택할 수 있다. The training data selector 131-3 may select data necessary for learning from the preprocessed data. The selected data may be provided to the model learner 131-4. The training data selector 131-3 may select data necessary for learning from preprocessed data according to a predetermined criterion for determining an alternative operation. In addition, the training data selector 131-3 may select data according to a predetermined criterion by learning by the model learner 131-4 to be described later. For example, the training data selector 131-1 may select only a target component and a parameter component from the input text data.
모델 학습부(131-4)는 학습 데이터에 기초하여 대체 동작을 어떻게 판단할지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(131-4)는 대체 동작 판단을 위하여 어떤 학습 데이터를 이용해야 하는지에 대한 기준을 학습할 수도 있다.The model learner 131-4 may learn a criterion on how to determine an alternative operation based on the training data. In addition, the model learner 131-4 may learn a criterion about what training data should be used to determine an alternative operation.
모델 학습부(131-4)는 대체 동작 판단에 이용되는 대체 동작 판단 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 대체 동작 판단 모델은 미리 구축된 모델일 수 있다. 예를 들어, 대체 동작 판단 모델은 기본 학습 데이터을 입력 받아 미리 구축된 모델일 수 있다. 다른 예로, 대체 동작 판단 모델은 빅데이터를 이용하여 미리 구축된 모델일 수 있다. The model learner 131-4 may train the alternative motion determination model used for the alternative motion determination using the training data. In this case, the alternative motion determination model may be a previously built model. For example, the alternative motion determination model may be a model built in advance by receiving basic training data. As another example, the alternative motion determination model may be a model built in advance using big data.
대체 동작 판단 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 대체 동작 판단 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 대체 동작 판단 모델로서 사용될 수 있으나, 이에 한정되지 않는다.The alternative motion determination model may be constructed in consideration of the application field of the recognition model, the purpose of learning, or the computer performance of the device. The alternative motion determination model may be, for example, a model based on a neural network. For example, a model such as a deep neural network (DNN), a recurrent neural network (RNN), and a bidirectional recurrent deep neural network (BRDNN) may be used as an alternative operation determination model, but is not limited thereto.
다양한 실시 예에 따르면, 모델 학습부(131-4)는 미리 구축된 대체 동작 판단 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 대체 동작 판단 모델을 학습할 대체 동작 판단 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기분류되어 있을 수 있으며, 대체 동작 판단 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기분류되어 있을 수 있다. According to various embodiments of the present disclosure, when there are a plurality of previously constructed alternative action determination models, the model learner 131-4 may substitute an alternative action determination model having a large correlation between input training data and basic training data. Can be determined by the judgment model. In this case, the basic training data may be felt for each type of data, and the alternative motion determination model may be built in advance for each type of data. For example, the basic training data may be mood based on various criteria such as the region where the training data is generated, the time at which the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, the types of objects in the training data, and the like. It may be.
또한, 모델 학습부(131-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 대체 동작 판단 모델을 학습시킬 수 있다.Also, the model learner 131-4 may train the alternative motion determination model using a learning algorithm including, for example, error back-propagation or gradient descent. have.
예를 들어, 모델 학습부(131-4)는 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여 대체 동작 판단 모델을 학습시킬 수 있다. 다른 예로, 모델 학습부(131-4)는 별도의 지도 없이 대체 동작 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써 대체 동작 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 대체 동작 판단 모델을 학습시킬 수 있다. 또 다른 예로, 모델 학습부(131-4)는 학습에 따른 대체 동작 판단의 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 대체 동작 판단 모델을 학습시킬 수 있다.For example, the model learner 131-4 may train the alternative motion determination model through supervised learning using the training data as an input value. As another example, the model learning unit 131-4 may perform the alternative operation through unsupervised learning that discovers a criterion for determining the alternative operation by learning the type of data necessary for the determination of the alternative operation without additional guidance. Train decision models. As another example, the model learner 131-4 may train the alternative gesture determination model through reinforcement learning using feedback on whether the result of the alternative gesture determination according to the learning is correct.
또한, 대체 동작 판단 모델이 학습되면, 모델 학습부(131-4)는 학습된 대체 동작 판단 모델을 저장할 수 있다. 이 경우, 모델 학습부(131-4)는 학습된 대체 동작 판단 모델을 전자 장치(100)의 메모리(160)에 저장할 수 있다. In addition, when the alternative motion determination model is trained, the model learner 131-4 may store the learned alternative motion determination model. In this case, the model learner 131-4 may store the learned substitute motion determination model in the memory 160 of the electronic device 100.
이 경우, 학습된 대체 동작 판단 모델이 저장되는 메모리(160)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리(160)는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 예를 들어, 프로그램은 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.In this case, the memory 160 in which the learned substitute operation determination model is stored may also store commands or data related to at least one other element of the electronic device 100. The memory 160 may also store software and / or programs. For example, the program may include a kernel, middleware, an application programming interface (API) and / or an application program (or “application”), and the like.
모델 평가부(131-5)는 대체 동작 판단 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 판단 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(131-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 대체 동작 판단 모델을 평가하기 위한 기설정된 데이터일 수 있다. The model evaluator 131-5 inputs the evaluation data to the substitute operation determination model, and causes the model learner 131-4 to relearn if the determination result output from the evaluation data does not satisfy a predetermined criterion. Can be. In this case, the evaluation data may be preset data for evaluating the alternative operation determination model.
예를 들어, 모델 평가부(131-5)는 평가 데이터에 대한 학습된 대체 동작 판단 모델의 판단 결과 중에서, 판단 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 대체 동작 판단 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 판단 결과를 출력하는 경우, 모델 평가부(131-5)는 학습된 대체 동작 판단 모델이 적합하지 않은 것으로 평가할 수 있다.For example, the model evaluator 131-5 may determine a predetermined criterion when the number or ratio of evaluation data in which the determination result is not accurate among the determination results of the learned substitute operation determination model for the evaluation data exceeds a preset threshold. Can be evaluated as not satisfied. For example, when a predetermined criterion is defined as a ratio of 2%, the model evaluator 131-5 when the learned substitute motion judgment model outputs an incorrect judgment result for more than 20 evaluation data out of a total of 1000 evaluation data. ) Can be assessed as not suiting the learned alternative behavior decision model.
한편, 학습된 대체 동작 판단 모델이 복수 개가 존재하는 경우, 모델 평가부(131-5)는 각각의 학습된 대체 동작 판단 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 대체 동작 판단 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(131-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 대체 동작 판단 모델로서 결정할 수 있다.On the other hand, when there are a plurality of learned alternative motion determination models, the model evaluator 131-5 evaluates whether each learned alternative motion determination model satisfies a predetermined criterion, and finally ends the model satisfying the predetermined criterion. It can be determined as an alternative behavior judgment model. In this case, when there are a plurality of models satisfying a predetermined criterion, the model evaluator 131-5 may determine any one or a predetermined number of models that are preset in the order of the highest evaluation score as the final replacement operation determination model.
한편, 데이터 학습부(131) 내의 데이터 획득부(131-1), 전처리부(131-2), 학습 데이터 선택부(131-3), 모델 학습부(131-4) 및 모델 평가부(131-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(131-1), 전처리부(131-2), 학습 데이터 선택부(131-3), 모델 학습부(131-4) 및 모델 평가부(131-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예를 들어, CPU 또는 application processor) 또는 특정 기능을 위한 IP의 일부로 제작되어 전술한 각종 전자 장치(100)에 탑재될 수도 있다.Meanwhile, the data acquisition unit 131-1, the preprocessor 131-2, the training data selection unit 131-3, the model learner 131-4, and the model evaluator 131 in the data learner 131. At least one of -5) may be manufactured in the form of at least one hardware chip and mounted on the electronic device. For example, at least one of the data acquirer 131-1, the preprocessor 131-2, the training data selector 131-3, the model learner 131-4, and the model evaluator 131-5. One may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as an existing general purpose processor (eg, a CPU or an application processor) or part of an IP for a specific function. It may be mounted on the electronic device 100.
또한, 데이터 획득부(131-1), 전처리부(131-2), 학습 데이터 선택부(131-3), 모델 학습부(131-4) 및 모델 평가부(131-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(131-1), 전처리부(131-2), 학습 데이터 선택부(131-3), 모델 학습부(131-4) 및 모델 평가부(131-5) 중 일부는 전자 장치(100)에 포함되고, 나머지 일부는 서버(200)에 포함될 수 있다.In addition, the data obtaining unit 131-1, the preprocessor 131-2, the training data selecting unit 131-3, the model learning unit 131-4, and the model evaluating unit 131-5 are electronic components. It may be mounted on the device, or may be mounted on separate electronic devices, respectively. For example, some of the data acquirer 131-1, the preprocessor 131-2, the training data selector 131-3, the model learner 131-4, and the model evaluator 131-5. May be included in the electronic device 100, and some of them may be included in the server 200.
한편, 데이터 획득부(131-1), 전처리부(131-2), 학습 데이터 선택부(131-3), 모델 학습부(131-4) 및 모델 평가부(131-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(131-1), 전처리부(131-2), 학습 데이터 선택부(131-3), 모델 학습부(131-4) 및 모델 평가부(131-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 비일시적 컴퓨터 판독가능 기록매체에 저장될 수 있다. 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는 적어도 하나의 소프트웨어 모듈 중 일부는 OS에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수도 있다.Meanwhile, at least one of the data acquirer 131-1, the preprocessor 131-2, the training data selector 131-3, the model learner 131-4, and the model evaluator 131-5 is provided. It may be implemented as a software module. At least one of the data acquirer 131-1, the preprocessor 131-2, the training data selector 131-3, the model learner 131-4, and the model evaluator 131-5 is a software module. (Or, a program module including instructions), the software module may be stored on a non-transitory computer readable recording medium. At least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
도 10b는 본 개시의 일부 실시 예에 따른 대체 동작 판단부(132)의 블록도이다. 도 10b를 참조하면, 일부 실시예에 따른 대체 동작 판단부(132)는 데이터 획득부(132-1), 전처리부(132-2), 데이터 선택부(132-3), 판단 결과 제공부(132-4) 및 모델 갱신부(132-5)를 포함할 수 있다10B is a block diagram of an alternative operation determiner 132 according to some embodiments of the present disclosure. Referring to FIG. 10B, the alternative operation determiner 132 according to some embodiments may include a data acquirer 132-1, a preprocessor 132-2, a data selector 132-3, and a determination result provider ( 132-4) and the model updater 132-5.
데이터 획득부(132-1)는 대체 동작 판단에 필요한 데이터를 획득할 수 있으며, 전처리부(132-2)는 대체 동작 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(132-2)는 후술할 판단 결과 제공부(132-4)가 대체 동작 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다. The data acquirer 132-1 may acquire data necessary for determining the replacement operation, and the preprocessor 132-2 may preprocess the acquired data so that the obtained data may be used for the replacement operation determination. have. The preprocessing unit 132-2 may process the acquired data in a predetermined format so that the determination result providing unit 132-4, which will be described later, may use the acquired data for determining the replacement operation.
데이터 선택부(132-3)는 전처리된 데이터 중에서 대체 동작 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 판단 결과 제공부(132-4)에게 제공될 수 있다. 데이터 선택부(132-3)는 대체 동작 판단을 위한 기설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 데이터 선택부(132-3)는 후술할 모델 학습부(142-4)에 의한 학습에 의해 기설정된 기준에 따라 데이터를 선택할 수도 있다.The data selector 132-3 may select data necessary for determining the replacement operation from the preprocessed data. The selected data may be provided to the determination result providing unit 132-4. The data selector 132-3 may select some or all of the preprocessed data according to a predetermined criterion for determining the replacement operation. In addition, the data selector 132-3 may select data according to a predetermined criterion by learning by the model learner 142-4 to be described later.
판단 결과 제공부(132-4)는 선택된 데이터를 대체 동작 판단 모델에 적용하여 사용자 음성에 대응되는 동작을 대체할 수 있는 대체 동작을 판단할 수 있다. 판단 결과 제공부(132-4)는 데이터 선택부(132-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 대체 동작 판단 모델에 적용할 수 있다. 또한, 판단 결과는 대체 동작 판단 모델에 의해 결정될 수 있다. 예를 들어, 판단 결과 제공부(132-4)는 사용자 음성에 대응되는 동작을 판단할 수 있는 데이터를 대체 동작 판단 모델에 입력하여 사용자 음성에 대응되는 동작을 대체할 수 있는 동작을 판단할 수 있다.The determination result providing unit 132-4 may apply the selected data to an alternative gesture determination model to determine an alternative gesture that may replace the gesture corresponding to the user's voice. The determination result providing unit 132-4 may apply the selected data to the replacement operation determination model by using the data selected by the data selecting unit 132-3 as an input value. In addition, the determination result may be determined by the alternative operation determination model. For example, the determination result providing unit 132-4 may determine an operation that may substitute an operation corresponding to the user's voice by inputting data capable of determining an operation corresponding to the user's voice into an alternative operation determination model. have.
모델 갱신부(132-5)는 판단 결과 제공부(132-4)에 의해 제공되는 판단 결과에 대한 평가에 기초하여, 대체 동작 판단 모델이 갱신되도록할 수 있다. 예를 들어, 모델 갱신부(132-5)는 판단 결과 제공부(132-4)에 의해 제공되는 판단 결과를 모델 학습부(131-4)에게 제공함으로써, 모델 학습부(131-4)가 대체 동작 판단 모델을 갱신하도록 할 수 있다.The model updater 132-5 may update the alternative operation determination model based on the evaluation of the determination result provided by the determination result providing unit 132-4. For example, the model updater 132-5 may provide the model learner 131-4 to the model learner 131-4 by providing the determination result provided by the determination result provider 132-4 to the model learner 131-4. It is possible to update the alternative behavior determination model.
한편, 대체 동작 판단부(132) 내의 데이터 획득부(132-1), 전처리부(132-2), 데이터 선택부(132-3), 판단 결과 제공부(132-4) 및 모델 갱신부(132-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(132-1), 전처리부(132-2), 데이터 선택부(132-3), 판단 결과 제공부(132-4) 및 모델 갱신부(132-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예를 들어, CPU 또는 application processor) 또는 특정 기능을 위한 IP의 일부로 제작되어 전술한 각종 전자 장치(100)에 탑재될 수도 있다.Meanwhile, the data acquisition unit 132-1, the preprocessor 132-2, the data selection unit 132-3, the determination result providing unit 132-4, and the model updater in the alternative operation determination unit 132 ( At least one of the 132-5 may be manufactured in the form of at least one hardware chip and mounted on the electronic device. For example, at least one of the data obtaining unit 132-1, the preprocessor 132-2, the data selecting unit 132-3, the determination result providing unit 132-4, and the model updating unit 132-5. One may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as an existing general purpose processor (eg, a CPU or an application processor) or part of an IP for a specific function. It may be mounted on the electronic device 100.
또한, 데이터 획득부(132-1), 전처리부(132-2), 데이터 선택부(132-3), 판단 결과 제공부(132-4) 및 모델 갱신부(132-5) 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(132-1), 전처리부(132-2), 데이터 선택부(132-3), 판단 결과 제공부(132-4) 및 모델 갱신부(132-5) 중 일부는 전자 장치(100)에 포함되고, 나머지 일부는 전자 잗치(100)와 연동하는 서버에 포함될 수 있다.In addition, one electronic device of the data acquirer 132-1, the preprocessor 132-2, the data selector 132-3, the determination result providing unit 132-4, and the model updater 132-5 It may be mounted on, or may be mounted on separate electronic devices, respectively. For example, some of the data obtaining unit 132-1, the preprocessor 132-2, the data selecting unit 132-3, the determination result providing unit 132-4, and the model updating unit 132-5. May be included in the electronic device 100, and the remaining part may be included in a server interworking with the electronic watch 100.
한편, 데이터 획득부(132-1), 전처리부(132-2), 데이터 선택부(132-3), 판단 결과 제공부(132-4) 및 모델 갱신부(132-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(132-1), 전처리부(132-2), 데이터 선택부(132-3), 판단 결과 제공부(132-4) 및 모델 갱신부(132-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 비일시적 컴퓨터 판독가능 기록매체에 저장될 수 있다. 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는 적어도 하나의 소프트웨어 모듈 중 일부는 OS에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수도 있다.Meanwhile, at least one of the data acquirer 132-1, the preprocessor 132-2, the data selector 132-3, the determination result providing unit 132-4, and the model updater 132-5 It may be implemented as a software module. At least one of the data acquisition unit 132-1, the preprocessor 132-2, the data selection unit 132-3, the determination result providing unit 132-4, and the model updater 132-5 is a software module. (Or, a program module including instructions), the software module may be stored on a non-transitory computer readable recording medium. At least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
상기에서 설명된 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기의 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The methods described above may be embodied in the form of program instructions that may be executed by various computer means and may be recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 개시는 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 개시는 상기의 실시 예에 한정되는 것은 아니며, 본 개시가 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present disclosure has been described with reference to the limited embodiments and the drawings, the present disclosure is not limited to the above embodiments, and those skilled in the art to which the present disclosure pertains may make various modifications and variations from such descriptions. This is possible. Therefore, the scope of the present disclosure should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

Claims (15)

  1. 전자 장치의 제어 방법에 있어서,In the control method of an electronic device,
    사용자 음성을 입력받는 단계;Receiving a user voice;
    상기 사용자 음성으로부터 텍스트 데이터를 획득하며, 상기 획득된 텍스트 데이터로부터 목표 성분 및 파라미터 성분을 결정하는 단계; Obtaining text data from the user voice, and determining a target component and a parameter component from the obtained text data;
    상기 목표 성분 및 상기 파라미터 성분을 바탕으로 상기 사용자 음성에 대응되는 동작을 결정하는 단계;Determining an operation corresponding to the user voice based on the target component and the parameter component;
    상기 결정된 동작의 수행이 불가능하다고 판단된 경우, 상기 목표 성분 및 상기 파라미터 성분 중 적어도 하나를 바탕으로 상기 결정된 동작을 대체하기 위한 대체 동작을 결정하는 단계; 및If it is determined that it is impossible to perform the determined operation, determining an alternative operation for replacing the determined operation based on at least one of the target component and the parameter component; And
    상기 대체 동작을 안내하기 위한 메시지를 제공하는 단계;를 포함하는 제어 방법.Providing a message for guiding the replacement operation.
  2. 제1항에 있어서,The method of claim 1,
    상기 사용자 음성에 대응되는 동작을 결정하는 단계는,Determining an operation corresponding to the user voice,
    상기 결정된 목표 성분을 바탕으로 상기 사용자 음성에 대응되는 동작의 유형을 결정하고, 상기 파라미터 성분을 바탕으로 상기 사용자 음성에 대응되는 동작의 내용을 결정하는 것을 특징으로 하는 제어 방법.And determining a type of an operation corresponding to the user voice based on the determined target component, and determining contents of an operation corresponding to the user voice based on the parameter component.
  3. 제2항에 있어서,The method of claim 2,
    상기 목표 성분을 바탕으로 상기 동작의 유형이 결정된 경우, 상기 파라미터 성분을 바탕으로 결정된 동작의 내용이 수행 가능한지 여부를 판단하는 단계;를 더 포함하는 것을 특징으로 하는 제어 방법.If the type of the operation is determined based on the target component, determining whether the content of the operation determined based on the parameter component is feasible;
  4. 제3항에 있어서,The method of claim 3,
    상기 대체 동작을 결정하는 단계는,Determining the alternative action,
    상기 결정된 동작의 내용이 수행 불가능한 것으로 판단된 경우, 상기 결정된 동작의 내용을 바탕으로 상기 결정된 동작을 대체할 수 있는 복수의 대체 동작 중 하나를 대체 동작으로 결정하는 것을 특징으로 하는 제어 방법.And when it is determined that the content of the determined operation is not executable, determining one of a plurality of alternative operations capable of substituting the determined operation as a substitute operation based on the content of the determined operation.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 결정된 동작과 상기 복수의 대체 동작은 서로 매칭되어 기 저장된 것을 특징으로 하는 제어 방법.And the determined operation and the plurality of alternative operations are matched with each other and stored in advance.
  6. 제3항에 있어서,The method of claim 3,
    상기 대체 동작을 결정하는 단계는,Determining the alternative action,
    상기 결정된 동작의 내용이 수행 불가능한 것으로 판단된 경우, 상기 결정된 동작의 내용을 학습된 대체 동작 판단 모델에 입력하여 대체 동작을 결정하는 것을 특징으로 하는 제어 방법.And when it is determined that the content of the determined operation is not executable, inputting the content of the determined operation into a learned substitute motion determination model to determine a substitute motion.
  7. 제1항에 있어서,The method of claim 1,
    상기 대체 동작을 안내하기 위한 메시지는 자연어 형태로 처리되는 것을 특징으로 하는 제어 방법.And a message for guiding the substitute operation is processed in a natural language form.
  8. 전자 장치에 있어서,In an electronic device,
    사용자 음성을 입력받는 입력부; 및An input unit for receiving a user voice; And
    상기 입력부를 통해 입력된 상기 사용자 음성으로부터 텍스트 데이터를 획득하며, 상기 획득된 텍스트 데이터로부터 목표 성분 및 파라미터 성분을 결정하고, 상기 목표 성분 및 상기 파라미터 성분을 바탕으로 상기 사용자 음성에 대응되는 동작을 결정하며, 상기 동작의 수행이 불가능하다고 판단된 경우, 상기 목표 성분 및 상기 파라미터 성분 중 적어도 하나를 바탕으로 상기 결정된 동작을 대체하기 위한 대체 동작을 결정하고, 상기 대체 동작을 안내하기 위한 메시지를 제공하는 프로세서;를 포함하는 전자 장치.Acquire text data from the user voice input through the input unit, determine a target component and a parameter component from the obtained text data, and determine an operation corresponding to the user voice based on the target component and the parameter component. And when it is determined that the operation is impossible, determining an alternative operation for replacing the determined operation based on at least one of the target component and the parameter component, and providing a message for guiding the alternative operation. And an electronic device.
  9. 제1항에 있어서,The method of claim 1,
    상기 프로세서는,The processor,
    상기 결정된 목표 성분을 바탕으로 상기 사용자 음성에 대응되는 동작의 유형을 결정하고, 상기 파라미터 성분을 바탕으로 상기 사용자 음성에 대응되는 동작의 내용을 결정하는 것을 특징으로 하는 전자 장치.And determine a type of an operation corresponding to the user's voice based on the determined target component, and determine contents of an operation corresponding to the user's voice based on the parameter component.
  10. 제9항에 있어서,The method of claim 9,
    상기 프로세서는,The processor,
    상기 목표 성분을 바탕으로 상기 동작의 유형이 결정된 경우, 상기 파라미터 성분을 바탕으로 결정된 동작의 내용이 수행 가능한지 여부를 판단하는 것을 특징으로 하는 전자 장치.And when the type of the operation is determined based on the target component, determining whether the content of the operation determined based on the parameter component is feasible.
  11. 제10항에 있어서,The method of claim 10,
    상기 프로세서는,The processor,
    상기 결정된 동작의 내용이 수행 불가능한 것으로 판단된 경우, 상기 결정된 동작의 내용을 바탕으로 상기 결정된 동작을 대체할 수 있는 복수의 대체 동작 중 하나를 대체 동작으로 결정하는 것을 특징으로 하는 전자 장치.And when it is determined that the content of the determined operation is not executable, determining one of a plurality of alternative operations that can replace the determined operation as a substitute operation based on the content of the determined operation.
  12. 제11항에 있어서,The method of claim 11,
    상기 결정된 동작과 상기 복수의 대체 동작을 서로 매칭하여 저장하는 메모리;를 더 포함하는 것을 특징으로 하는 전자 장치.And a memory configured to store the determined operation and the plurality of alternative operations by matching each other with each other.
  13. 제10항에 있어서,The method of claim 10,
    상기 프로세서는,The processor,
    상기 결정된 동작의 내용이 수행 불가능한 것으로 판단된 경우, 상기 결정된 동작의 내용을 학습된 대체 동작 판단 모델에 입력하여 대체 동작을 결정하는 것을 특징으로 하는 전자 장치.And when it is determined that the content of the determined operation is not executable, inputting the content of the determined operation into a learned substitute operation determination model to determine a substitute operation.
  14. 제8항에 있어서,The method of claim 8,
    상기 프로세서는,The processor,
    상기 대체 동작을 안내하기 위한 메시지를 자연어 형태로 처리하여 제공하는 것을 특징으로 하는 전자 장치.And providing a message for guiding the replacement operation in a natural language form.
  15. 전자 장치의 제어 방법을 실행하기 위한 프로그램을 저장하는 비일시적인 컴퓨터 판독 가능한 기록 매체에 있어서,A non-transitory computer readable recording medium storing a program for executing a method of controlling an electronic device, the method comprising:
    상기 전자 장치의 제어 방법은,The control method of the electronic device,
    사용자 음성을 입력받는 단계;Receiving a user voice;
    상기 사용자 음성으로부터 텍스트 데이터를 획득하며, 획득된 텍스트 데이터로부터 목표 성분 및 파라미터 성분을 결정하는 단계;Obtaining text data from the user voice, and determining a target component and a parameter component from the obtained text data;
    상기 목표 성분 및 상기 파라미터 성분을 바탕으로 상기 사용자 음성에 대응되는 동작을 결정하는 단계;Determining an operation corresponding to the user voice based on the target component and the parameter component;
    상기 결정된 동작의 수행이 불가능하다고 판단된 경우, 상기 목표 성분 및 상기 파라미터 성분 중 적어도 하나를 바탕으로 상기 결정된 동작을 대체하기 위한 대체 동작을 결정하는 단계; 및If it is determined that it is impossible to perform the determined operation, determining an alternative operation for replacing the determined operation based on at least one of the target component and the parameter component; And
    상기 대체 동작을 안내하기 위한 메시지를 제공하는 단계;를 포함하는 기록 매체.Providing a message for guiding the replacement operation.
PCT/KR2018/000336 2017-02-21 2018-01-08 Electronic device, control method therefor, and non-transitory computer readable recording medium WO2018155810A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/485,061 US20200043476A1 (en) 2017-02-21 2018-01-08 Electronic device, control method therefor, and non-transitory computer readable recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170023121 2017-02-21
KR10-2017-0023121 2017-02-21
KR10-2017-0157902 2017-11-24
KR1020170157902A KR102490916B1 (en) 2017-02-21 2017-11-24 Electronic apparatus, method for controlling thereof, and non-transitory computer readable recording medium

Publications (1)

Publication Number Publication Date
WO2018155810A1 true WO2018155810A1 (en) 2018-08-30

Family

ID=63253946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/000336 WO2018155810A1 (en) 2017-02-21 2018-01-08 Electronic device, control method therefor, and non-transitory computer readable recording medium

Country Status (1)

Country Link
WO (1) WO2018155810A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021045447A1 (en) 2019-09-02 2021-03-11 Samsung Electronics Co., Ltd. Apparatus and method for providing voice assistant service

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000338993A (en) * 1999-05-26 2000-12-08 Denso Corp Voice recognition device and navigation system using this device
US20040172256A1 (en) * 2002-07-25 2004-09-02 Kunio Yokoi Voice control system
KR20140098525A (en) * 2013-01-31 2014-08-08 삼성전자주식회사 Speech recognition apparatus and method for providing response information
WO2016063564A1 (en) * 2014-10-24 2016-04-28 株式会社ソニー・コンピュータエンタテインメント Control device, control method, program and information storage medium
KR101614746B1 (en) * 2015-02-10 2016-05-02 미디어젠(주) Method, system for correcting user error in Voice User Interface

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000338993A (en) * 1999-05-26 2000-12-08 Denso Corp Voice recognition device and navigation system using this device
US20040172256A1 (en) * 2002-07-25 2004-09-02 Kunio Yokoi Voice control system
KR20140098525A (en) * 2013-01-31 2014-08-08 삼성전자주식회사 Speech recognition apparatus and method for providing response information
WO2016063564A1 (en) * 2014-10-24 2016-04-28 株式会社ソニー・コンピュータエンタテインメント Control device, control method, program and information storage medium
KR101614746B1 (en) * 2015-02-10 2016-05-02 미디어젠(주) Method, system for correcting user error in Voice User Interface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021045447A1 (en) 2019-09-02 2021-03-11 Samsung Electronics Co., Ltd. Apparatus and method for providing voice assistant service
EP3997695A4 (en) * 2019-09-02 2022-08-10 Samsung Electronics Co., Ltd. Apparatus and method for providing voice assistant service
US11501755B2 (en) 2019-09-02 2022-11-15 Samsung Electronics Co., Ltd. Apparatus and method for providing voice assistant service

Similar Documents

Publication Publication Date Title
WO2020213762A1 (en) Electronic device, operation method thereof, and system comprising plurality of artificial intelligence devices
WO2020189850A1 (en) Electronic device and method of controlling speech recognition by electronic device
WO2019194451A1 (en) Voice conversation analysis method and apparatus using artificial intelligence
WO2019182346A1 (en) Electronic device for modulating user voice using artificial intelligence model and control method thereof
KR102490916B1 (en) Electronic apparatus, method for controlling thereof, and non-transitory computer readable recording medium
WO2020204655A1 (en) System and method for context-enriched attentive memory network with global and local encoding for dialogue breakdown detection
WO2020080635A1 (en) Electronic device for performing voice recognition using microphones selected on basis of operation state, and operation method of same
WO2019132410A1 (en) Electronic device and control method thereof
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
WO2020130549A1 (en) Electronic device and method for controlling electronic device
US11450326B2 (en) Device for recognizing voice content, server connected thereto, and method for recognizing voice content
WO2020251074A1 (en) Artificial intelligence robot for providing voice recognition function and operation method thereof
KR20190068021A (en) User adaptive conversation apparatus based on monitoring emotion and ethic and method for thereof
WO2020180001A1 (en) Electronic device and control method therefor
WO2021071271A1 (en) Electronic apparatus and controlling method thereof
WO2018155810A1 (en) Electronic device, control method therefor, and non-transitory computer readable recording medium
WO2020080771A1 (en) Electronic device providing modified utterance text and operation method therefor
US20200090663A1 (en) Information processing apparatus and electronic device
WO2018117608A1 (en) Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium
WO2020116766A1 (en) Method for generating user prediction model for identifying user by learning data, electronic device applied with said model, and method for applying said model
WO2018155807A1 (en) Electronic device, document display method therefor, and non-transitory computer-readable recording medium
WO2022108190A1 (en) Electronic device and control method thereof
WO2022114482A1 (en) Electronic device and method for controlling same
WO2022097970A1 (en) Electronic device and control method thereof
WO2023075118A1 (en) Electronic device and operation method therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18757472

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18757472

Country of ref document: EP

Kind code of ref document: A1