KR102411619B1 - Electronic apparatus and the controlling method thereof - Google Patents
Electronic apparatus and the controlling method thereof Download PDFInfo
- Publication number
- KR102411619B1 KR102411619B1 KR1020150128511A KR20150128511A KR102411619B1 KR 102411619 B1 KR102411619 B1 KR 102411619B1 KR 1020150128511 A KR1020150128511 A KR 1020150128511A KR 20150128511 A KR20150128511 A KR 20150128511A KR 102411619 B1 KR102411619 B1 KR 102411619B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- domain
- voice
- uttered voice
- context
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
Abstract
전자 장치가 개시된다. 전자 장치는 대화 주제 별로 카테고리화된 도메인 정보를 저장하는 저장부, 사용자 발화 음성에 대응되는 시스템 응답을 출력하는 스피커부 및 사용자 발화 음성에 대응되는 도메인을 검출하고, 사용자 발화 음성과 검출된 도메인 간의 신뢰도(confidence)에 기초하여 검출된 도메인 및 이전 도메인 중 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성하는 프로세서를 포함한다. 이에 따라, 다양한 사용자 발화 음성을 인식하고 복수의 단말 장치의 기능에 기초하여 시스템 응답을 생성할 수 있게 된다.An electronic device is disclosed. The electronic device detects a storage unit that stores domain information categorized for each conversation topic, a speaker unit that outputs a system response corresponding to the user's uttered voice, and a domain corresponding to the user's uttered voice, between the user uttered voice and the detected domain. and a processor for generating a system response by determining a domain to process a user's uttered voice from among the detected domain and the previous domain based on confidence. Accordingly, it is possible to recognize various user utterances and generate a system response based on functions of a plurality of terminal devices.
Description
본 발명은 전자 장치 및 그 제어 방법에 관한 것으로서, 보다 상세하게는 사용자 발화 음성에 대응되는 시스템 응답을 생성하는 전자 장치 및 그 제어 방법에 관한 것이다.The present invention relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device for generating a system response corresponding to a user uttered voice, and a method for controlling the same.
전자 기술의 발달에 힘입어 다양한 유형의 전자 제품들이 개발 및 보급되고 있다. 특히, TV, 휴대폰, PC, 노트북 PC, PDA 등과 같은 각종 디스플레이 장치들은 대부분의 일반 가정에서도 많이 사용되고 있다.With the development of electronic technology, various types of electronic products are being developed and distributed. In particular, various display devices such as TV, mobile phone, PC, notebook PC, PDA, etc. are widely used in most general homes.
디스플레이 장치들의 사용이 늘면서 좀 더 다양한 기능에 대한 사용자 니즈(needs)도 증대되었다. 이에 따라, 사용자 니즈에 부합하기 위한 각 제조사들의 노력도 커져서, 종래에 없던 새로운 기능을 갖춘 제품들이 속속 등장하고 있다.As the use of display devices increases, user needs for more diverse functions have also increased. Accordingly, each manufacturer's efforts to meet the user's needs have also increased, and products with new functions that were not previously available are appearing one after another.
특히, 일반 가정에서는 이러한 디스플레이 장치뿐만 아니라 냉장고, 에어컨, 전등 등과 같은 다양한 가전 제품을 사용하고 있으며, 현재 이러한 다양한 가전 제품을 네트워크로 연결하여 제어하고자 하는 홈 네트워크 시스템이 상용화되어 있다.In particular, not only the display device but also various home appliances such as refrigerators, air conditioners, and electric lamps are used in general households, and a home network system for controlling these various home appliances by connecting them through a network has been commercialized.
한편, 이러한 홈 네트워크 시스템에 대해 사용자는 직접 조작을 수행하여 원하는 목적을 달성할 수 있으나, 홈 네트워크 시스템이 음성 인식 기능을 지원하는 경우 사용자는 음성 명령을 발화하여 원하는 목적을 달성할 수 있게 된다.On the other hand, the user can directly manipulate the home network system to achieve a desired purpose, but when the home network system supports a voice recognition function, the user can utter a voice command to achieve the desired purpose.
다만, 현재 사용자 발화 음성을 인식하고 이에 대응되는 응답을 생성하는 시스템은 단순히 하나의 단말 장치가 제공하는 기능만을 제어하는데 사용될 뿐, 여러 개의 단말 장치들의 기능을 조합 및 비교하여 응답을 생성할 수 없고 또는 시스템에 프로그래밍된 다이얼로그를 벗어나는 사용자 발화 음성이 인식되면 이를 처리하지 못하는 문제가 있다.However, the current system for recognizing a user's uttered voice and generating a corresponding response is used to simply control a function provided by one terminal device, and cannot generate a response by combining and comparing the functions of several terminal devices. Alternatively, when a user's spoken voice outside of a dialog programmed in the system is recognized, there is a problem in that it cannot be processed.
또한, 하나의 특정 도메인에 대해 사용자와 시스템이 대화를 주고 받는 상황에서 사용자가 다른 도메인에 대한 대화를 진행하면 시스템은 정상적으로 처리하지 못하는 문제가 있다.In addition, there is a problem in that if the user proceeds with a conversation on another domain in a situation where the user and the system exchange a conversation for one specific domain, the system cannot normally process it.
이에 따라, 다양한 사용자 발화 음성을 인식하고 이에 대응되는 응답을 생성하며 여러 개의 단말 장치의 기능에 기초하여 응답을 생성하고자 하는 요구가 증대되었다.Accordingly, there has been an increase in demand for recognizing various user voices, generating responses corresponding thereto, and generating responses based on functions of a plurality of terminal devices.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성하는 전자 장치 및 그 제어 방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been devised to solve the above problems, and an object of the present invention is to provide an electronic device for generating a system response by determining a domain to process a user's uttered voice, and a method for controlling the same.
이러한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 전자 장치는 대화 주제 별로 카테고리화된 도메인 정보를 저장하는 저장부, 사용자 발화 음성에 대응되는 시스템 응답을 출력하는 스피커부 및 상기 사용자 발화 음성에 대응되는 도메인을 검출하고, 상기 사용자 발화 음성과 상기 검출된 도메인 간의 신뢰도(confidence)에 기초하여 상기 검출된 도메인 및 이전 도메인 중 상기 사용자 발화 음성을 처리할 도메인을 결정하여 상기 시스템 응답을 생성하는 프로세서를 포함한다.In order to achieve this object, an electronic device according to an embodiment of the present invention includes a storage unit for storing domain information categorized for each conversation topic, a speaker unit for outputting a system response corresponding to the user's uttered voice, and the user's uttered voice. A processor configured to detect a corresponding domain and generate the system response by determining a domain to process the user uttered voice from among the detected domain and previous domains based on confidence between the user uttered voice and the detected domain includes
여기서, 상기 저장부는, 상기 도메인 각각에 대응되는 대화 주제를 컨텍스트 별로 카테고리화하여 저장하며, 상기 프로세서는, 상기 이전 도메인이 상기 사용자 발화 음성을 처리할 도메인으로 결정되면, 상기 사용자 발화 음성에 대응되는 컨텍스트를 판단하고, 상기 사용자 발화 음성과 상기 판단된 컨텍스트 간의 신뢰도에 기초하여 상기 판단된 컨텍스트 및 이전 컨텍스트 중 상기 사용자 발화 음성을 처리할 컨텍스트를 결정하여 상기 시스템 응답을 생성할 수 있다.Here, the storage unit categorizes and stores conversation topics corresponding to each of the domains for each context, and the processor is configured to store, when the previous domain is determined as a domain to process the user's spoken voice, corresponding to the user's spoken voice. The system response may be generated by determining a context, and determining a context to process the user's spoken voice from among the determined context and previous contexts based on the reliability between the user's spoken voice and the determined context.
또한, 상기 프로세서는, 상기 판단된 컨텍스트가 상기 사용자 발화 음성을 처리할 컨텍스트로 결정되면, 상기 이전 컨텍스트와 관련된 정보를 상기 저장부에 저장하고, 상기 판단된 컨텍스트에서의 발화 음성 처리가 종료되면, 상기 저장된 이전 컨텍스트와 관련된 정보에 기초하여 신규 발화 음성을 처리할 수 있다.In addition, when the determined context is determined as a context for processing the user's spoken voice, the processor stores information related to the previous context in the storage unit, and when the spoken voice processing in the determined context is terminated, A new spoken voice may be processed based on the stored information related to the previous context.
또한, 상기 프로세서는, 상기 검출된 도메인이 상기 사용자 발화 음성을 처리할 도메인으로 결정되면, 상기 이전 도메인과 관련된 정보를 상기 저장부에 저장하고, 상기 검출된 도메인에서의 발화 음성 처리가 종료되면, 상기 저장된 이전 도메인과 관련된 정보에 기초하여 신규 발화 음성을 처리할 수 있다.In addition, when the detected domain is determined as a domain to process the user's speech voice, the processor stores information related to the previous domain in the storage unit, and when the speech speech processing in the detected domain ends, A new spoken voice may be processed based on the stored information related to the previous domain.
또한, 상기 프로세서는, 상기 사용자 발화 음성을 구성하는 적어도 하나의 발화 요소와 상기 검출된 도메인에 속하는 적어도 하나의 발화 요소 간의 동일 여부에 따른 신뢰도 스코어 에 기초하여 상기 사용자 발화 음성과 상기 검출된 도메인 간의 신뢰도를 판단할 수 있다.In addition, the processor is configured to: Based on a confidence score based on whether at least one speech element constituting the user's speech voice is identical to at least one speech element belonging to the detected domain, between the user's speech voice and the detected domain reliability can be judged.
한편, 본 발명의 일 실시 예에 따른 전자 장치는 적어도 하나의 외부 장치와 통신을 수행하는 통신부를 더 포함하며, 상기 프로세서는, 상기 발화 음성에 대응되는 시스템 응답이 상기 결정된 도메인 내에서 상기 적어도 하나의 외부 장치의 기능 제어가 요구되는 컨텍스트에 기초하여 생성되면, 상기 외부 장치의 기능에 관한 정보에 기초하여 적어도 하나의 외부 장치의 기능을 제어하기 위한 상기 시스템 응답을 생성할 수 있다.Meanwhile, the electronic device according to an embodiment of the present invention further includes a communication unit configured to communicate with at least one external device, wherein the processor is configured to provide a system response corresponding to the spoken voice to the at least one within the determined domain. When the function control of the external device is generated based on a context in which the function control of the external device is requested, the system response for controlling the function of at least one external device may be generated based on the information on the function of the external device.
또한, 상기 저장부는, 상기 외부 장치의 기능에 대한 정보를 더 저장하고, 상기 통신부는, 기설정된 네트워크 내에 추가된 적어도 하나의 외부 장치에 대한 기능 정보를 수신하며, 상기 프로세서는, 상기 수신된 적어도 하나의 외부 장치에 대한 기능 정보에 기초하여 상기 저장부에 저장된 정보를 업데이트할 수 있다.In addition, the storage unit further stores information on functions of the external device, the communication unit receives function information on at least one external device added in a preset network, and the processor, Information stored in the storage unit may be updated based on function information about one external device.
또한, 상기 프로세서는, 발화 이력 정보에 기초하여 상기 사용자 발화 음성을 처리할 도메인을 결정하여 상기 시스템 응답을 생성하며, 상기 발화 이력 정보는 이전에 수신된 사용자 발화 음성, 상기 이전에 수신된 사용자 발화 음성을 처리한 도메인과 관련된 정보 및 상기 이전에 수신된 사용자 발화 음성에 대응되는 시스템 응답 중 적어도 하나를 포함할 수 있다.In addition, the processor generates the system response by determining a domain to process the user uttered voice based on the utterance history information, and the utterance history information includes a previously received user uttered voice and the previously received user uttered voice. It may include at least one of information related to the domain in which the voice has been processed and a system response corresponding to the previously received user uttered voice.
또한, 상기 도메인 정보는, 상기 대화 주제에 대응되는 태스크 수행을 위한 제어 정보 및 상기 대화 주제 별 대화 패턴 중 적어도 하나를 포함할 수 있다.Also, the domain information may include at least one of control information for performing a task corresponding to the conversation topic and a conversation pattern for each conversation topic.
한편, 본 발명의 일 실시 예에 따른 전자 장치는 상기 사용자 발화 음성을 입력받는 마이크부를 더 포함할 수 있다.Meanwhile, the electronic device according to an embodiment of the present invention may further include a microphone unit for receiving the user's uttered voice.
한편, 본 발명의 일 실시 예에 따른 대화 주제 별로 카테고리화된 도메인 정보를 저장하는 저장부를 포함하는 전자 장치의 제어 방법에 있어서, 사용자 발화 음성에 대응되는 도메인을 검출하는 단계 및 상기 사용자 발화 음성과 상기 검출된 도메인 간의 신뢰도(confidence)에 기초하여 상기 검출된 도메인 및 이전 도메인 중 상기 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성하는 단계를 포함한다.Meanwhile, in the control method of an electronic device including a storage unit for storing domain information categorized for each conversation topic according to an embodiment of the present invention, the step of detecting a domain corresponding to a user uttered voice and the and generating a system response by determining a domain to process the user's uttered voice from among the detected domain and previous domains based on confidence between the detected domains.
여기서, 상기 저장부는, 상기 도메인 각각에 대응되는 대화 주제를 컨텍스트 별로 카테고리화하여 저장하며, 상기 시스템 응답을 생성하는 단계는, 상기 이전 도메인이 상기 사용자 발화 음성을 처리할 도메인으로 결정되면, 상기 사용자 발화 음성에 대응되는 컨텍스트를 판단하고, 상기 사용자 발화 음성과 상기 판단된 컨텍스트 간의 신뢰도에 기초하여 상기 판단된 컨텍스트 및 이전 컨텍스트 중 상기 사용자 발화 음성을 처리할 컨텍스트를 결정하여 상기 시스템 응답을 생성할 수 있다.Here, the storage unit categorizes and stores the conversation topics corresponding to each of the domains for each context, and the generating of the system response includes, The system response may be generated by determining a context corresponding to the spoken voice, and determining a context to process the user's spoken voice among the determined context and previous contexts based on the reliability between the user's spoken voice and the determined context have.
또한, 상기 시스템 응답을 생성하는 단계는, 상기 판단된 컨텍스트가 상기 사용자 발화 음성을 처리할 컨텍스트로 결정되면, 상기 이전 컨텍스트와 관련된 정보를 상기 저장부에 저장하고, 상기 판단된 컨텍스에서의 발화 음성 처리가 종료되면, 상기 저장된 이전 컨텍스트와 관련된 정보에 기초하여 신규 발화 음성을 처리할 수 있다.Also, in the generating of the system response, when the determined context is determined as a context to process the user uttered voice, information related to the previous context is stored in the storage unit, and the utterance in the determined context When the voice processing is finished, the newly uttered voice may be processed based on the stored information related to the previous context.
또한, 상기 시스템 응답을 생성하는 단계는, 상기 검출된 도메인이 상기 사용자 발화 음성을 처리할 도메인으로 결정되면, 상기 이전 도메인과 관련된 정보를 상기 저장부에 저장하고, 상기 검출된 도메인에서의 발화 음성 처리가 종료되면, 상기 저장된 이전 도메인과 관련된 정보에 기초하여 신규 발화 음성을 처리할 수 있다.In addition, the generating of the system response may include, when the detected domain is determined as a domain to process the user's uttered voice, information related to the previous domain is stored in the storage unit, and the uttered voice from the detected domain is stored in the storage unit. When the processing is completed, the newly uttered voice may be processed based on the stored information related to the previous domain.
또한, 상기 시스템 응답을 생성하는 단계는, 상기 사용자 발화 음성을 구성하는 적어도 하나의 발화 요소와 상기 검출된 도메인에 속하는 적어도 하나의 발화 요소 간의 동일 여부에 따른 신뢰도 스코어에 기초하여 상기 사용자 발화 음성과 상기 검출된 도메인 간의 신뢰도를 판단할 수 있다.In addition, the generating of the system response may include: based on a reliability score according to whether at least one speech element constituting the user's speech voice and at least one speech element belonging to the detected domain is identical to the user's speech voice and Reliability between the detected domains may be determined.
또한, 상기 시스템 응답을 생성하는 단계는, 상기 발화 음성에 대응되는 시스템 응답이 상기 결정된 도메인 내에서 상기 적어도 하나의 외부 장치의 기능 제어가 요구되는 컨텍스트에 기초하여 생성되면, 상기 외부 장치의 기능에 관한 정보에 기초하여 적어도 하나의 외부 장치의 기능을 제어하기 위한 상기 시스템 응답을 생성할 수 있다.In addition, the generating of the system response may include, when a system response corresponding to the spoken voice is generated based on a context in which function control of the at least one external device is required within the determined domain, the function of the external device is determined. The system response for controlling the function of the at least one external device may be generated based on the related information.
한편, 본 발명의 일 실시 예에 따른 전자 장치의 제어 방법은 기 설정된 네트워크 내에 추가된 적어도 하나의 외부 장치에 대한 기능 정보를 수신하여 기 저장된 상기 외부 장치의 기능에 대한 정보를 업데이트하는 단계를 더 포함할 수 있다.Meanwhile, the method of controlling an electronic device according to an embodiment of the present invention further includes the step of receiving function information on at least one external device added in a preset network and updating the previously stored information on the function of the external device. may include
또한, 본 발명의 일 실시 예에 따른 전자 장치의 제어 방법은 발화 이력 정보에 기초하여 상기 사용자 발화 음성을 처리할 도메인을 결정하여 상기 시스템 응답을 생성하는 단계를 더 포함하며, 상기 발화 이력 정보는 이전에 수신된 사용자 발화 음성, 상기 이전에 수신된 사용자 발화 음성을 처리한 도메인과 관련된 정보 및 상기 이전에 수신된 사용자 발화 음성에 대응되는 시스템 응답 중 적어도 하나를 포함할 수 있다.In addition, the method of controlling an electronic device according to an embodiment of the present invention further includes generating the system response by determining a domain to process the user's uttered voice based on utterance history information, wherein the utterance history information includes: It may include at least one of a previously received user uttered voice, information related to a domain in which the previously received user uttered voice has been processed, and a system response corresponding to the previously received user uttered voice.
또한, 상기 도메인 정보는, 상기 대화 주제에 대응되는 태스크 수행을 위한 제어 정보 및 상기 대화 주제 별 대화 패턴 중 적어도 하나를 포함할 수 있다.Also, the domain information may include at least one of control information for performing a task corresponding to the conversation topic and a conversation pattern for each conversation topic.
또한, 본 발명의 일 실시 예에 따른 전자 장치는 상기 사용자 발화 음성을 입력받는 단계를 더 포함할 수 있다.In addition, the electronic device according to an embodiment of the present invention may further include the step of receiving the user's spoken voice.
또한, 본 발명의 일 실시 예에 따른 시스템 응답을 생성하는 프로그램이 저장된 저장 매체에 있어서, 상기 프로그램은, 사용자 발화 음성에 대응되는 도메인을 검출하는 단계 및 상기 사용자 발화 음성과 상기 검출된 도메인 간의 신뢰도(confidence)에 기초하여 상기 검출된 도메인 및 이전 도메인 중 상기 사용자 발화 음성을 처리할 도메인을 결정하여 상기 시스템 응답을 생성하는 단계를 포함할 수 있다.In addition, in a storage medium storing a program for generating a system response according to an embodiment of the present invention, the program includes the steps of: detecting a domain corresponding to a user's uttered voice and reliability between the user's uttered voice and the detected domain and generating the system response by determining a domain to process the user's uttered voice from among the detected domain and the previous domain based on (confidence).
이상과 같은 본 발명의 다양한 실시 예에 따르면, 다양한 사용자 발화 음성을 인식하고 복수의 단말 장치의 기능에 기초하여 시스템 응답을 생성할 수 있게 된다.According to various embodiments of the present disclosure as described above, it is possible to recognize various user voices and generate a system response based on functions of a plurality of terminal devices.
도 1은 본 발명의 일 실시 예에 따른 전자 장치의 구성을 도시한 블럭도이다.
도 2는 본 발명의 일 실시 예에 따른 사용자 발화 음성을 처리하는 과정을 나타낸 도면이다.
도 3은 본 발명의 일 실시 예에 따른 사용자 발화 음성을 처리하는 과정을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 사용자 발화 음성을 처리할 도메인이 변경되는 경우 처리 과정에 관한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 사용자 발화 음성을 처리할 도메인이 변경되지 않는 경우 처리 과정에 관한 도메인이다.
도 6은 본 발명의 DM 모듈에서의 처리 과정을 도시한 도면이다.
도 7은 본 발명의 일 실시 예에 따른 전자 장치(100)와 외부 장치에 관한 정보를 포함하는 데이터 베이스를 포함하는 시스템에서 수행되는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 다른 실시 예에 따른 전자 장치의 구성을 도시한 블럭도이다.
도 9는 본 발명의 또 다른 실시 예에 따른 전자 장치의 구성을 도시한 블럭도이다.
도 10은 도 1에 도시된 전자 장치의 구체적 구성을 나타내는 블럭도이다.
도 11은 본 발명의 일 실시 예에 따른 저장부에 저장된 소프트웨어 모듈에 관한 도면이다.
도 12는 본 발명의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.1 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present invention.
2 is a diagram illustrating a process of processing a user uttered voice according to an embodiment of the present invention.
3 is a flowchart illustrating a process of processing a user uttered voice according to an embodiment of the present invention.
4 is a diagram illustrating a processing process when a domain for processing a user's uttered voice is changed according to an embodiment of the present invention.
5 is a domain related to a processing process when a domain for processing a user's uttered voice is not changed according to an embodiment of the present invention.
6 is a diagram illustrating a processing process in the DM module of the present invention.
7 is a diagram for explaining a process performed in a system including the
8 is a block diagram illustrating a configuration of an electronic device according to another embodiment of the present invention.
9 is a block diagram illustrating a configuration of an electronic device according to another embodiment of the present invention.
FIG. 10 is a block diagram illustrating a specific configuration of the electronic device shown in FIG. 1 .
11 is a diagram of a software module stored in a storage unit according to an embodiment of the present invention.
12 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present invention.
이하에서는 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관계 등에 따라 달라질 수 있다. 그러므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, the present invention will be described in more detail with reference to the drawings. In the description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary depending on the intention or relationship of a user or an operator. Therefore, the definition should be made based on the content throughout this specification.
도 1은 본 발명의 일 실시 예에 따른 전자 장치의 구성을 도시한 블럭도이다.1 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present invention.
도 1을 참조하면, 전자 장치(100)는 통신부(110) 및 프로세서(120)를 포함한다. 여기서, 전자 장치(100)는 사용자 발화 음성을 인식하여 사용자 발화 음성에 대응되는 시스템 응답을 처리하는 기능을 수행할 수 있는 장치를 포함하며, 예를 들어, TV, 전자 칠판, 전자 테이블, LFD(Large Format Display), 스마트 폰, 태블릿, 데스크탑 PC, 노트북, 홈 네트워크 시스템 서버 등과 같은 다양한 형태의 전자 장치로 구현될 수 있다. 물론, 전자 장치(100)는 사용자 발화 음성을 인식하여 사용자 발화 음성에 대응되는 시스템 응답을 처리하는 기능을 수행하기 위한 SOC(System On Chip) 형태로 구현될 수도 있다.Referring to FIG. 1 , the
저장부(110)는 대화 주제 별로 카테고리화된 도메인 정보를 저장할 수 있다. 여기서, 저장부(110)는 전자 장치(100)를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 메모리, HDD(Hard Disk Drive) 등으로 구현가능하다. 예를 들어, 저장부(110)는 프로세서(130)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 제어부(150)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM 등을 구비할 수 있다. 또한 각종 참조 데이터를 저장하기 위한 EEROM(Electrically Erasable and Programmable ROM) 등을 더 구비할 수 있다.The
특히, 저장부(110)는 대화 주제 별로 카테고리화된 도메인 정보를 저장할 수 있는데, 대화 주제 별로 카테고리화된 도메인 정보는 사용자 발화 음성이 속하는 주제에 따라 구분되는 그룹에 관한 정보를 의미한다. 여기서, 도메인 정보는 대화 주제에 대응되는 태스크 수행을 위한 제어 정보 및 대화 주제 별 대화 패턴 중 적어도 하나를 포함할 수 있다.In particular, the
구체적으로, 저장부(110)는 서비스 도메인별 대화 패턴을 저장할 수 있으며, 이를 위해 저장부(110)는 각 서비스 도메인별 말뭉치(corpus) 데이터베이스를 구비할 수 있다. 여기서, 서비스 도메인은 상술한 바와 같이 사용자 발화 음성이 속하는 주제에 따라 구분될 수 있다.Specifically, the
예를 들어, 저장부(110)는 방송 서비스 도메인에 대한 제1 말뭉치 데이터베이스 및 날씨 서비스 도메인에 대한 제2 말뭉치 데이터베이스를 구비할 수 있다.For example, the
이 경우, 제1 말뭉치 데이터베이스는 방송 서비스 도메인 내에서 발생할 수 있는 다양한 대화 패턴을 저장할 수 있다. 예를 들어, "프로그램 언제 시작해?"에 대한 답변으로 "어느 프로그램의 시작시간을 알고 싶습니까?"를 저장하고, "○○○(방송 프로그램명) 언제 시작해?"에 대한 답변으로 "문의하신 ○○○의 시작시간은 ... 입니다"를 저장할 수 있다. In this case, the first corpus database may store various conversation patterns that may occur in the broadcast service domain. For example, as an answer to "When does a program start?", "Which program do you want to know the start time of?" is stored, and as an answer to "When does ○○○ (broadcast program name) start?" ○○○'s start time is ..." can be saved.
또한, 제2 말뭉치 데이터베이스는 날씨 서비스 도메인 내에서 발생할 수 있는 대화 패턴을 저장할 수 있다. 예를 들어, "○○(지역명)의 날씨 어때?"에 대한 답변으로 "온도를 말씀드릴까요?"를 저장하고, "서울의 온도는 어때?"에 대한 답변으로 "문의하신 ○○의 온도는 ... 입니다"를 답변으로 저장할 수 있다.Also, the second corpus database may store a conversation pattern that may occur within the weather service domain. For example, as an answer to "How's the weather in ○○ (region name)?", "Can you tell me the temperature?" is saved, and as an answer to "How is the temperature in Seoul?" The temperature is ..." can be stored as an answer.
또한, 저장부(110)는 사용자의 발화 의도 별로 제어 명령을 매칭시켜 저장하고 있을 수 있다. 예를 들어, 사용자의 발화 의도가 채널 변경인 경우 디스플레이 장치(미도시)의 채널을 변경하기 위한 제어 명령을 매칭시켜 저장하고, 사용자의 발화 의도가 예약 녹화인 경우 디스플레이 장치(미도시)에서 특정 프로그램에 대한 예약 녹화 기능을 실행시키기 위한 제어 명령을 매칭시켜 저장하고 있을 수 있다.In addition, the
또한, 사용자의 발화 의도가 온도 조절인 경우 에어컨 장치(미도시)의 온도를 조절하기 위한 제어 명령을 매칭시켜 저장하고, 사용자의 발화 의도가 음악 재생인 경우 음향 출력 장치(미도시)를 재생하기 위한 제어 명령을 매칭시켜 저장할 수 있다. 이와 같이, 저장부(110)는 다양한 외부 장치를 제어하기 위한 제어 명령을 사용자의 발화 의도 별로 매칭시켜 저장하고 있을 수 있다.In addition, when the user's speech intention is temperature control, a control command for adjusting the temperature of the air conditioner (not shown) is matched and stored, and when the user's speech intention is music playback, the sound output device (not shown) is played It can be stored by matching the control commands for As such, the
스피커부(120)는 사용자 발화 음성에 대응되는 시스템 응답을 출력할 수 있다. 여기서, 스피커부(120)는 시스템 응답을 음성 형태로 출력하는 스피커 형태로 구현될 수도 있으나, 외부 스피커를 통해 시스템 응답을 음성 형태로 출력하기 위해 외부 스피커를 연결하기 위한 잭 등과 같은 출력 포트로 구현될 수도 있다.The
프로세서(130)는 사용자 발화 음성에 대응되는 도메인을 검출하고, 사용자 발화 음성과 검출된 도메인 간의 신뢰도(confidence)에 기초하여 검출된 도메인 및 이전 도메인 중 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성할 수 있다.The
구체적으로, 프로세서(130)는 사용자 발화 음성이 입력되면 사용자 발화 음성을 분석하여 사용자 발화 음성이 어느 대화 주제에 대응되는지 여부를 판단하여 사용자 발화 음성에 대응되는 도메인을 검출할 수 있다.Specifically, when a user uttered voice is input, the
여기서, 프로세서(130)는 ASR(Automatic Speech Recognition) 모듈을 이용하여 사용자 발화 음성을 텍스트로 변환하여 사용자 발화 음성에 대응되는 텍스트를 생성할 수 있다. ASR 모듈은 음성 신호를 텍스트로 변환하기 위한 모듈로서, 종래 개시되어 있는 다양한 ASR 알고리즘을 이용하여 음성 신호를 텍스트로 변환할 수 있다.Here, the
예를 들어, 프로세서(130)는 수신된 음성 신호 내에서 사용자가 발화한 음성의 시작과 끝을 검출하여 음성 구간을 판단한다. 구체적으로, 프로세서(130)는 수신된 음성 신호의 에너지를 계산하고, 계산된 에너지에 따라 음성 신호의 에너지 레벨을 분류하여, 동적 프로그래밍을 통해 음성 구간을 검출할 수 있다. 그리고, 프로세서(130)는 검출된 음성 구간 내에서 음향 모델(Acoustic Model)을 기초로 음성의 최소 단위인 음소를 검출하여 음소 데이터를 생성하고, 생성된 음소 데이터에 HMM(Hidden Markov Model) 확률 모델을 적용하여 사용자의 발화 음성을 텍스트로 변환할 수 있다. For example, the
그리고, 프로세서(130)는 SLU(Spoken Language Understanding) 모듈을 이용하여 사용자 발화 음성에 대응되는 텍스트를 프로세서(130)가 이해할 수 있도록 Part of speech, Named entity extraction, information extraction, semantic analytic 등과 같은 여러가지 분석을 수행할 수 있다.In addition, the
이후, 프로세서(130)는 사용자의 발화 음성이 변환된 텍스트에 매칭되는 대화 패턴이 존재하는 말뭉치 데이터베이스를 검출하여, 사용자의 발화 음성에 대응되는 도메인을 검출할 수 있다.Thereafter, the
예를 들어, 프로세서(130)는 "프로그램 언제 시작해?"라는 텍스트가 수신되면 사용자의 발화 음성이 방송 서비스 도메인에 대응되는 것으로 판단하고, "○○(지역명)의 날씨 어때?"라는 텍스트가 수신되면 사용자 발화 음성이 날씨 서비스 도메인에 대응되는 것으로 판단할 수 있다.For example, when the text "When does the program start?" is received, the
그리고, 프로세서(130)는 사용자 발화 음성과 검출된 도메인 간의 신뢰도를 분석할 수 있다.In addition, the
구체적으로, 프로세서(130)는 사용자 발화 음성을 구성하는 적어도 하나의 발화 요소와 검출된 도메인에 속하는 적어도 하나의 발화 요소 간의 동일 여부에 따른 신뢰도 스코어에 기초하여 사용자 발화 음성과 검출된 도메인 간의 신뢰도를 판단할 수 있다.Specifically, the
예를 들어, 프로세서(130)는 사용자 발화 음성으로부터 화행(dialogue act), 주행(main action) 및 구성요소(component slot)를 추출할 수 있다. 여기서, 화행, 주행 및 구성요소는 발화 요소에 포함된다.For example, the
그리고, 프로세서(130)는 사용자 발화 음성에서 MaxEnt(Maximum Entropy Classifier)를 이용하여 화행, 주행을 추출하고, CRF(Conditional Random Field)를 이용하여 구성요소를 추출할 수 있다. 하지만, 이에 한정되는 것은 아니며 이미 공지된 다양한 방식을 통해 화행, 주행 및 구성요소를 추출할 수 있다.In addition, the
여기서, 화행은 문장의 형태와 관련된 분류 기준으로, 해당 문장이 서술문(Statement), 요청문(Request), Why 의문문(WH-Question) 또는 Yes-No 의문문(YN-Question)인지를 나타내는 것이다. 주행은 해당 발화가 특정 도메인에서 대화를 통해 원하는 행위를 나타내는 의미적 정보이다. 예를 들어, 방송 서비스 도메인에서, 주행은 TV 온/오프, 프로그램 찾기, 프로그램 시간 찾기, 프로그램 예약 등을 포함할 수 있다. 구성요소는 발화에 나타나는 특정 도메인에 대한 개체 정보즉, 특정 도메인에서 의도하는 행동의 의미를 구체화하기 위해서 부가되는 정보이다. 예를 들어, 방송 서비스 도메인에서 구성요소는 장르, 프로그램명, 시작시간, 채널명, 배우 이름 등을 포함할 수 있다.Here, the dialogue act is a classification criterion related to the form of a sentence, and indicates whether the corresponding sentence is a Statement, a Request, a Why question (WH-Question), or a Yes-No question (YN-Question). Driving is semantic information in which a corresponding utterance indicates a desired action through a conversation in a specific domain. For example, in the broadcast service domain, driving may include TV on/off, program search, program time search, program reservation, and the like. A component is information added to specify the meaning of an action intended in a specific domain, that is, individual information about a specific domain appearing in the speech. For example, in the broadcast service domain, components may include a genre, a program name, a start time, a channel name, an actor name, and the like.
그리고, 프로세서(130)는 사용자 발화 음성으로부터 추출된 화행, 주행 및 구성요소 중 적어도 하나와 검출된 도메인에 속하는 적어도 하나의 발화 요소 간의 동일 여부에 따라 신뢰도 스코어를 산출할 수 있고, 프로세서(130)는 산출된 신뢰도 스코어에 기초하여 사용자 발화 음성과 검출된 도메인 간의 신뢰도를 판단할 수 있다.In addition, the
또한, 프로세서(130)는 판단된 사용자 발화 음성과 검출된 도메인 간의 신뢰도에 기초하여 검출된 도메인 및 이전 도메인 중 사용자 발화 음성을 처리할 도메인을 결정할 수 있다.Also, the
예를 들어, 이전에 수신된 사용자 발화 음성이 날씨에 관한 것이어서 이전 도메인이 날씨에 관한 것이라고 상정하면, 프로세서(130)는 현재 수신된 사용자 발화 음성이 "프로그램 언제 시작해?"인 경우 방송에 관한 도메인을 검출할 수 있고, 현재 수신된 "프로그램 언제 시작해?"라는 사용자 발화 음성과 날씨에 관한 도메인 간의 신뢰도 스코어가 10이고 "프로그램 언제 시작해?"라는 사용자 발화 음성과 방송에 관한 도메인 간의 신뢰도 스코어가 80인 경우, 프로세서(130)는 "프로그램 언제 시작해?"라는 사용자 발화 음성을 처리할 도메인은 이전 도메인(날씨에 관한 도메인)이 아닌 방송에 관한 도메인이라고 결정할 수 있다.For example, if it is assumed that the previously received user uttered voice relates to the weather and thus the previous domain relates to the weather, the
또한, 예를 들어, 이전에 수신된 사용자 발화 음성이 "비가 오면 창문을 닫아줘"이고 이를 처리한 도메인이 날씨에 관한 도메인으로 결정되었다고 상정하면, 프로세서(130)는 현재 수신된 사용자 발화 음성이 "비가 오면 TV를 켜줘"인 경우 날씨에 관한 도메인과 방송에 관한 도메인을 검출할 수 있고, "비가 오면 TV를 켜줘"라는 사용자 발화 음성과 날씨에 관한 도메인 간의 신뢰도 스코어가 70이고, "비가 오면 TV를 켜줘"라는 사용자 발화 음성과 방송에 관한 도메인 간의 신뢰도 스코어가 50인 경우 프로세서(130)는 "비가 오면 TV를 켜줘"라는 사용자 발화 음성을 처리할 도메인은 이전 도메인인 날씨에 관한 도메인과 동일한 것으로 결정할 수 있다.Also, for example, if it is assumed that the previously received user's uttered voice is "close the window when it rains" and the domain that has processed this is determined to be a weather-related domain, the
즉, 프로세서(130)는 이전 사용자 발화 음성을 처리하는 도메인이 이미 결정되어 있다고 하더라도, 새롭게 사용자 발화 음성이 수신될 때마다 새롭게 수신된 사용자 발화 음성을 처리할 도메인을 각각 결정할 수 있다.That is, even if the domain for processing the previous user's uttered voice has already been determined, the
또한, 프로세서(130)는 현재 수신된 사용자 발화 음성과 이전 도메인 간의 신뢰도 스코어와 현재 수신된 사용자 발화 음성에 대응되는 도메인 간의 신뢰도 스코어가 서로 비슷하여 현재 수신된 사용자 발화 음성을 처리할 도메인을 판단하는 것이 불가능한 경우, 사용자에게 현재 수신된 사용자 발화 음성이 어떤 도메인에 대한 것인지 물어보는 메시지를 생성하여 스피커부(120)를 통해 출력할 수도 있다.In addition, the
한편, 프로세서(130)는 추출된 화행, 주행 및 구성요소를 이용하여 사용자 발화 음성에 포함된 발화 의도를 판단할 수 있다. Meanwhile, the
예를 들어, "○○○(방송프로그램명)를 언제 해?"라는 사용자 발화 음성이 수신되면, 프로세서(130)는 사용자 발화 음성과 매칭되는 대화 패턴이 존재하는 말뭉치 데이터베이스를 검색하여, "○○○를 언제 해?"라는 사용자 발화 음성이 방송 서비스 도메인에 포함되는 것으로 검출할 수 있다.For example, when a user's uttered voice "When do you do ○○○ (broadcast program name)?" is received, the
이후, 프로세서(130)는 화행을 통해 해당 음성의 문장 형태가 "의문형"인 것으로 판단하고, 주행 및 핵심 요소를 통해 "○○○"에 대한 "프로그램 시작시간"을 알기 원하는 것으로 판단한다. 결과적으로, 프로세서(130)는 사용자 음성에 포함된 발화 의도는 "○○○"에 대해 "프로그램 시작시간"을 "문의"하는 것으로 판단할 수 있다.Thereafter, the
그리고, 프로세서(130)는 사용자 발화 음성이 방송 서비스 도메인에 대응되고 발화 의도는 "○○○"에 대해 "프로그램 시작시간"을 "문의"하는 것임을 고려하여 최종적으로 사용자 발화 음성은 방송 서비스 도메인에서 "○○○"에 대해 "프로그램 시작시간"을 "문의"하는 것으로 판단할 수 있다.And, considering that the user's spoken voice corresponds to the broadcast service domain and the utterance intention is to "inquire" the "program start time" for "○○○", finally the user's spoken voice is transmitted in the broadcast service domain. For "○○○", it can be judged as "inquiring" about "program start time".
특히, 프로세서(130)는 사용자 발화 음성이 수신될 때마다 사용자 발화 음성을 처리할 도메인을 각각 결정할 수 있고, 또한 결정된 도메인 각각에 포함된 컨텍스트에 기초하여 각 도메인 내에서의 사용자의 발화 의도를 판단할 수 있다.In particular, the
기존의 음성 인식 기반의 처리 시스템은 사용자 발화 음성이 수신되어 사용자 발화 음성을 처리할 도메인이 결정되면, 결정된 도메인 내의 컨텍스트에만 기초하여 사용자의 발화 의도를 판단할 수 있었으나, 본 발명의 일 실시 예에 따른 프로세서(130)는 사용자 발화 음성이 수신될 때마다 사용자 발화 음성을 처리할 도메인을 각각 결정할 수 있고, 결정된 도메인 각각에 속한 컨텍스트에 기초하여 각 도메인 내에서의 사용자 발화 의도를 판단할 수 있게 되어 다양한 사용자 발화 음성을 처리할 수 있다.In the existing speech recognition-based processing system, when a domain for processing a user's spoken voice is determined by receiving a user's spoken voice, the user's speech intention can be determined based only on the context within the determined domain. The
한편, 프로세서(130)는 사용자 발화 음성을 처리할 도메인이 결정되면 사용자 발화 음성에 대응되는 시스템 응답을 생성할 수 있다.Meanwhile, when a domain for processing the user's spoken voice is determined, the
예를 들어, 프로세서(130)는 사용자 발화 음성은 방송 서비스 도메인에서 "○○○"에 대해 "프로그램 시작시간"을 "문의"하는 것으로 판단되면, "문의하신 ○○○의 시작시간은 ... 입니다"라는 답변을 방송 서비스 도메인의 말뭉치 데이터베이스에서 추출한다. 이 경우, 프로세서(130)는 저장부(110)에 기저장된 EPG(Electronic Program Guide) 정보를 이용하여 "○○○"에 대한 방송 시작시간을 검색하고, "문의하신 ○○○의 시작시간은 토요일 7시입니다"라는 시스템 응답을 생성할 수 있다.For example, if it is determined that the
또한, 프로세서(130)는 사용자의 발화 의도에 대응되는 기능을 수행하기 위한 제어 명령을 시스템 응답으로 생성할 수도 있다.In addition, the
예를 들면, "○○○(방송 프로그램명)를 예약해줘"라는 사용자 발화 음성이 수신된 경우를 가정할 수 있다. 이 경우, 제어부(330)는 사용자의 음성과 매칭되는 대화 패턴이 존재하는 말뭉치 데이터베이스를 검색하여, "○○○를 예약해줘"라는 사용자의 음성이 방송 서비스 도메인에 포함되는 것으로 판단할 수 있다. For example, it may be assumed that a user uttered voice “Reserve ○○○ (broadcast program name)” is received. In this case, the controller 330 may search the corpus database in which a conversation pattern matching the user's voice exists, and determine that the user's voice "Reserve ○○○" is included in the broadcast service domain.
그리고, 프로세서(130)는 화행을 통해 해당 음성이 "요청"과 관련된 문장 형태인 것으로 판단하고, 주행 및 핵심 요소를 통해 "○○○"에 대한 "프로그램 예약"을 원하는 것으로 판단할 수 있다. 결과적으로, 프로세서(130)는 사용자 음성에 포함된 발화 의도는 "○○○"에 대해 "프로그램 예약"을 "요청"하는 것으로 판단할 수 있다.In addition, the
이후, 프로세서(130)는 "○○○"에 대해 "프로그램 예약"을 "요청"하는 발화 의도에 대응되는 제어 명령을 저장부(110)로부터 검출하여, 디스플레이 장치(미도시)에서 "○○○"의 예약 녹화 기능을 수행하기 위한 제어 명령을 생성할 수 있다. 이 경우, 프로세서(130)는 "○○○"에 대해 "프로그램 예약"을 "요청"하는 발화 의도에 대해 "요청하신 프로그램의 녹화가 예약되었습니다"라는 응답 메시지를 방송 서비스 도메인의 말뭉치 데이터베이스에서 추출하여, 스피커부(120)를 통해 함께 출력할 수 있다.Thereafter, the
한편, 저장부(110)는 도메인 각각에 대응되는 대화 주제를 컨텍스트 별로 카테고리화하여 저장하며, 프로세서(130)는 이전 도메인이 사용자 발화 음성을 처리할 도메인으로 결정되면, 사용자 발화 음성에 대응되는 컨텍스트를 판단하고, 사용자 발화 음성과 판단된 컨텍스트 간의 신뢰도에 기초하여 판단된 컨텍스트 및 이전 컨텍스트 중 사용자 발화 음성을 처리할 컨텍스트를 결정하여 시스템 응답을 생성할 수 있다.Meanwhile, the
여기서, 저장부(110)에 저장된 도메인 각각에 대응되는 대화 주제를 컨텍스트 별 카테고리는 상술한 도메인에 대한 말뭉치 데이터베이스에 대응될 수 있다. 즉, 도메인 각각에 대응되는 대화 주제와 관련된 컨텍스트는 각 도메인 내에서 발생할 수 있는 다양한 대화 패턴을 포함하고, 이러한 대화 패턴뿐만 아니라, 특정 대화 주제에서 사용되는 특정 용어, 고유 명사, 지명 등의 단어도 대화 주제에 따라 카테고리화하여 포함할 수 있다.Here, the category for each context of the conversation topic corresponding to each domain stored in the
그리고, 프로세서(130)는 이전 도메인이 현재 수신된 사용자 발화 음성을 처리할 도메인으로 결정되면 사용자 발화 음성에 대응되는 컨텍스트를 판단하고, 현재 수신된 사용자 발화 음성과 사용자 발화 음성에 대응되는 컨텍스트 간의 신뢰도 및 현재 수신된 사용자 발화 음성과 이전 컨텍스트 간의 신뢰도를 비교하여 현재 수신된 사용자 발화 음성을 처리할 컨텍스트를 결정하여 시스템 응답을 생성할 수 있다.Then, when the previous domain is determined as a domain to process the currently received user uttered voice, the
예를 들어, 이전에 수신된 사용자 발화 음성이 "큰방에 있는 TV 시청할 때면 다른 방 불 꺼주고 큰 방은 시원하고 어둡게 해줘"인 경우, 프로세서(130)는 이전에 수신된 사용자 발화 음성을 처리할 도메인으로 디스플레이 장치에 관한 도메인으로 결정하고 컨텍스트는 큰방에 있는 TV 시청 시 전등과 온도에 관한 것으로 판단하게 된다. 이후, 수신된 사용자 발화 음성이 "영화 나오는 채널이 몇 번이지?"인 경우, 프로세서(130)는 사용자 발화 음성을 처리할 도메인은 이전 도메인과 마찬가지로 디스플레이 장치에 관한 도메인으로 결정할 수 있으며, "영화 나오는 채널이 몇 번이지?"에 대응되는 컨텍스트는 채널 정보에 관한 것으로 판단할 수 있다. 그리고, 프로세서(130)는 "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성과 채널 정보에 관한 컨텍스트 간의 신뢰도 스코어가 80이고, "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성과 TV 시청 시 전등과 온도에 관한 컨텍스트 간의 신뢰도 스코어가 40인 경우, "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성을 처리할 컨텍스트는 채널 정보에 관한 컨텍스트로 결정할 수 있다.For example, if the previously received user's spoken voice is "When watching TV in a large room, turn off the lights in other rooms and make the big room cool and dark", the
즉, 프로세서(130)는 이전 사용자 발화 음성을 처리하는 도메인이 이미 결정되어 있다고 하더라도, 새롭게 사용자 발화 음성이 수신될 때마다 새롭게 수신된 사용자 발화 음성을 처리할 도메인을 각각 결정할 수 있고, 또한, 새롭게 수신된 사용자 발화 음성을 처리할 도메인이 이전 도메인과 동일하다고 하더라도 도메인 내에 포함된 복수의 컨텍스트들 중 새롭게 수신된 사용자 발화 음성을 처리할 컨텍스트를 결정할 수 있다.That is, even if the domain for processing the previous user's uttered voice is already determined, the
그리고, 프로세서(130)는 결정된 컨텍스트가 이전 컨텍스트와 동일하다면 이전 컨텍스트 내에서 새롭게 수신된 사용자 발화 음성을 처리하고, 결정된 컨텍스트가 이전 컨텍스트와 다르다면 결정된 컨텍스트 내에서 새롭게 수신된 사용자 발화 음성을 처리하게 된다.And, if the determined context is the same as the previous context, the
한편, 프로세서(130)는 판단된 컨텍스트가 사용자 발화 음성을 처리할 컨텍스트로 결정되면, 이전 컨텍스트와 관련된 정보를 저장부(110)에 저장하고, 판단된 컨텍스트에서의 발화 음성 처리가 종료되면, 저장된 이전 컨텍스트와 관련된 정보에 기초하여 신규 발화 음성을 처리할 수 있다.On the other hand, when the determined context is determined as a context for processing the user's spoken voice, the
예를 들어, "큰 방에 있는 TV 시청할 때 다른 방은 꺼주고 큰 방은 시원하고 어둡게 해줘"라는 사용자 발화 음성이 수신되면, 프로세서(130)는 수신된 사용자 발화 음성을 처리할 도메인으로 디스플레이 장치에 관한 도메인으로 결정하고 컨텍스트는 큰방에 있는 TV 시청 시 전등과 온도에 관한 것으로 판단하며, 이러한 사용자 발화 음성에 대응하여 "거실과 복도 불도 함께 끌까요?"와 같은 시스템 응답을 생성할 수 있다.For example, when a user uttered voice is received, "When watching TV in a large room, turn off other rooms and make the large room cool and dark", the
이후, "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성이 수신되면, 프로세서(130)는 사용자 발화 음성을 처리할 도메인은 이전 도메인과 마찬가지로 디스플레이 장치에 관한 도메인으로 결정하되 "영화 나오는 채널이 몇 번이지?"에 대응되는 컨텍스트는 채널 정보에 관한 것으로 판단하게 된다. 이에 따라, 프로세서(130)는 TV 시청 시 전등과 온도에 관한 컨텍스트와 관련된 정보를 저장부(110)에 저장하고, 채널 정보에 관한 컨텍스트에서 수신되는 사용자 발화 음성을 처리하게 된다. 여기서, TV 시청 시 전등과 온도에 관한 컨텍스트와 관련된 정보는 TV 시청 시 전등과 온도에 관한 컨텍스트 내에서 수신된 사용자 발화 음성, 수신된 사용자 발화 음성을 처리하는데 사용된 데이터 및 수신된 사용자 발화 음성에 대응하여 생성된 시스템 응답에 관한 정보를 포함할 수 있다.Thereafter, when a user's spoken voice asking "what channel is a movie on?" is received, the
한편, 프로세서(130)는 채널 정보에 관한 컨텍스트에서 수신된 사용자 발화 음성에 대한 처리가 종료되면, 다시 저장부(110)에 저장된 TV 시청 시 전등과 온도에 관한 컨텍스트와 관련된 정보를 독출하고 이에 기초하여 새롭게 수신되는 사용자 발화 음성을 처리할 수 있다.On the other hand, when the processing of the user's spoken voice received in the context related to channel information is finished, the
예를 들면, 프로세서(130)는 채널 정보에 관한 컨텍스트에서 수신된 사용자 발화 음성에 대한 처리가 종료되면, 다시 저장부(110)에 저장된 TV 시청 시 전등과 온도에 관한 컨텍스트와 관련된 정보를 독출하면서, "이전에 진행중이던 대화를 이어서 진행하겠습니다."와 같은 음성 메시지를 생성하여 스피커부(120)를 통해 출력할 수 있다.For example, when the processing of the user's spoken voice received in the context related to channel information is finished, the
그리고, 프로세서(130)는 TV 시청 시 전등과 온도에 관한 컨텍스트에 기초하여 이전에 진행하던 "거실과 복도 불도 함께 끌까요?"의 음성 메시지를 다시 스피커부(120)를 통해 출력하면 사용자로부터 "거실은 끄고 복도는 켜줘"라는 신규 발화 음성을 수신하게 되고, 이에 따라, 프로세서(130)는 TV 시청 시 전등과 온도에 관한 컨텍스트에 기초하여 "거실은 끄고 복도는 켜줘"라는 사용자 발화 음성을 처리할 수 있다.Then, when the
상술한 예는, 이전 도메인이 사용자 발화 음성을 처리할 도메인으로 결정되는 경우에 대해 설명한 것이고, 이전 도메인이 아닌 사용자 발화 음성에 대응하여 검출된 도메인이 사용자 발화 음성을 처리할 도메인으로 결정되는 경우에 대해서도 설명하기로 한다.The above-described example describes a case where the previous domain is determined as a domain to process a user's uttered voice, and when a domain detected corresponding to a user's uttered voice other than the previous domain is determined as a domain for processing the user's uttered voice It will also be explained.
프로세서(130)는 사용자 발화 음성에 대응하여 검출된 도메인이 사용자 발화 음성을 처리할 도메인으로 결정되면, 이전 도메인과 관련된 정보를 저장부(110)에 저장하고, 검출된 도메인에서의 발화 음성 처리가 종료되면, 저장된 이전 도메인과 관련된 정보에 기초하여 신규 발화 음성을 처리할 수 있다.When the domain detected in response to the user's uttered voice is determined as a domain to process the user's uttered voice, the
예를 들어, 프로세서(130)는 "큰 방에 있는 TV 시청할 때 다른 방 불 꺼주고 큰 방은 시원하고 어둡게 해줘"라는 사용자 발화 음성이 수신되면 디스플레이 장치에 관한 도메인으로 판단하고, 디스플레이 장치에 관한 도메인에서 사용자 발화 음성을 처리하게 된다. 이때, 프로세서(130)는 "거실과 복도 불도 함께 끌까요?"와 같은 시스템 응답을 생성할 수 있다.For example, when a user's voice saying "When watching TV in a large room, turn off the lights in the other room and make the large room cool and dark" is received, the
이후, 사용자로부터 "참, 다음 주말에 결혼식 일정 등록해줘"라는 사용자 발화 음성이 수신되면, 프로세서(130)는 "참, 다음 주말에 결혼식 일정 등록해줘"라는 사용자 발화 음성에 대응되는 도메인을 일정에 관한 도메인으로 검출할 수 있고, 사용자 발화 음성과 일정에 관한 도메인 및 디스플레이 장치에 관한 도메인 각각에 관한 신뢰도에 기초하여 "참, 다음 주말에 결혼식 일정 등록해줘"라는 사용자 발화 음성을 처리할 도메인을 일정에 관한 도메인으로 결정할 수 있다.Thereafter, when a user uttered voice “Register a wedding schedule for next weekend” is received from the user, the
이때, 프로세서(130)는 이전 도메인과 관련된 정보 즉, 디스플레이 장치에 관한 도메인과 관련된 정보를 저장부(110)에 저장하고, 일정에 관한 도메인에서 사용자로부터 수신되는 "토요일 12시"와 같은 사용자 발화 음성을 처리하여 "일정 등록 완료되었습니다"와 같은 시스템 응답을 생성하여 스피커부(120)를 통해 출력함으로써 일정에 관한 도메인에서의 발화 음성 처리가 종료되면, 다시 저장부(110)에 저장된 디스플레이 장치에 관한 도메인에 관련된 정보를 독출하면서, "이전에 진행중이던 대화를 이어서 진행하겠습니다."와 같은 음성 메시지를 생성하여 스피커부(120)를 통해 출력할 수 있다.In this case, the
그리고, 프로세서(130)는 디스플레이 장치에 관한 도메인에 기초하여 이전에 진행하던 "거실과 복도 불도 함께 끌까요?"의 음성 메시지를 다시 스피커부(120)를 통해 출력하면 사용자로부터 "거실은 끄고 복도는 켜줘"라는 신규 발화 음성을 수신하게 되고, 이에 따라, 프로세서(130)는 디스플레이 장치에 관한 도메인에 기초하여 "거실은 끄고 복도는 켜줘"라는 사용자 발화 음성을 처리할 수 있다.Then, when the
도 2는 본 발명의 일 실시 예에 따른 사용자 발화 음성을 처리하는 과정을 나타낸 도면이다.2 is a diagram illustrating a process of processing a user uttered voice according to an embodiment of the present invention.
도 2를 참조하면, 사용자 발화 음성이 입력되면, 프로세서(130)는 ASR(Automatic Speech(210) 모듈을 사용하여 Language Model(211)을 참조하여 음성 신호를 텍스트로 변환하고, SLU(Spoken Language Understanding)(220) 모듈을 사용하여 SLU Model(221)을 참조하여 텍스트 입력을 프로세서(130)가 이해할 수 있도록 여러가지 분석을 수행할 수 있다.Referring to FIG. 2 , when a user's spoken voice is input, the
또한, 프로세서(130)는 DM(Dialogue Manager)(230) 모듈을 사용하여 사용자의 사용자의 발화 음성을 분석하고 사용자의 발화 의도를 분석하면서 다양한 자연어 대화를 생성할 수 있다. 구체적으로, 프로세서(130)는 DM(230) 모듈을 사용하여 사용자 발화 음성에 대응되는 도메인을 검출하고,사용자 발화 음성과 검출된 도메인 간이 신뢰도에 기초하여 검출된 도메인 및 이전 도메인 중 사용자 발화 음성을 처리할 도메인을 결정할 수 있다.In addition, the
또한, 프로세서(130)는 DM(230) 모듈을 사용하여 사용자 발화 음성에 대응되는 컨텍스트를 판단하고, 사용자 발화 음성과 판단된 컨텍스트 간의 신뢰도에 기초하여 판단된 컨텍스트 및 이전 컨텍스트 중 사용자 발화 음성을 처리할 컨텍스트를 결정할 수 있다. 특히, 프로세서(130)는 이전 도메인과 관련된 정보 또는 이전 컨텍스트와 관련된 정보를 Context Stack(231)에 저장할 수 있고, 사용자와 전자 장치(100) 간의 대화 내용에 관련된 데이터를 Context History(232)에 저장할 수 있다. 여기서, Context Stack(231)은 사용자와의 대화 중 다른 대화 주제로 전환될 경우 이전의 컨텍스트에 관련된 정보를 저장하기 위한 저장 공간을 의미하고, Context History(232)는 사용자와 전자 장치 간의 대화에 관련된 데이터를 저장하기 위한 저장 공간을 의미한다.In addition, the
또한, 프로세서(130)는 Context Manager & Task Delegating(240) 모듈을 사용하여 전자 장치(100)와 사용자 간의 대화를 모니터링하고 사용자와의 대화에서 활용 가능한 정보를 지원할 수 있다.In addition, the
또한, 프로세서(130)는 Context Manager & Task Delegating(240) 모듈을 사용하여 Action Plannig Agent(250), Family member Agent(260) 및 Health Agent(270) 등 중 적어도 하나를 제어하여 사용자 발화 음성을 처리하도록 할 수 있다.In addition, the
한편, 프로세서(130)는 Action Plannig Agent(250)를 사용하여 DM(230) 모듈에서 분석된 사용자 발화 음성, 사용자 발화 의도, 사용자 발화 음성을 처리할 도메인 및 컨텍스트 등에 기초하여 적어도 하나의 외부 장치의 기능을 제어할 수 있다.On the other hand, the
또한, 프로세서(130)는 Action Plannig Agent(250)를 사용하여 외부 장치의 기능 및 상태 등에 기초하여 어떤 외부 장치를 사용하여 사용자 발화 음성에 대응되는 기능을 수행하도록 할지 결정할 수 있다. 여기서, 프로세서(130)는 Action Plannig Agent(250)를 사용하여 Action Ontology(251) 및 Things Graph DB(252)에 기초하여 외부 장치의 기능 및 상태를 판단할 수 있다.Also, the
한편, 프로세서(130)는 SLU(Spoken Language Understanding)(280) 모듈을 사용하여 생성된 시스템 응답을 사용자가 이해할 수 있도록 텍스트로 변환할 수 있다.Meanwhile, the
그리고, 프로세서(130)는 TTS(Text to Speech)(290) 모듈을 사용하여 텍스트를 음성 신호로 변환할 수 있다. 이에 따라, 프로세서(130)는 생성된 시스템 응답을 음성 신호로 변환하여 스피커부(120)를 통해 출력할 수 있다.In addition, the
한편, 도 3은 본 발명의 일 실시 예에 따른 사용자 발화 음성을 처리하는 과정을 설명하기 위한 흐름도이다.Meanwhile, FIG. 3 is a flowchart illustrating a process of processing a user uttered voice according to an embodiment of the present invention.
도 3을 참조하면, 사용자 발화 음성이 입력되면 프로세서(130)는 ASR(Automatic Speech Recognition) 모듈을 사용하여 음성 신호를 텍스트로 변환할 수 있고(S310), 사용자 발화 음성에 대응되는 도메인을 검출하고(S321), 사용자 발화 음성과 검출된 도메인 및 이전 도메인 간의 신뢰도를 분석할 수 있다(S322). 또한, 프로세서(130)는 사용자 발화 의도를 분석할 수도 있다(S320). 사용자 발화 음성에 대응되는 도메인을 검출하고, 사용자 발화 음성과 검출된 도메인 및 이전 도메인 간의 신뢰도를 분석하며 사용자 발화 의도를 분석하는 구체적인 설명은 미리 하였으므로 자세한 설명은 생략하기로 한다.Referring to FIG. 3 , when a user's spoken voice is input, the
이후, 프로세서(130)는 사용자 발화 음성과 검출된 도메인 및 이전 도메인 간의 신뢰도에 기초하여 사용자 발화 음성을 처리할 도메인이 이전 도메인과 동일한지 여부를 판단할 수 있다(S330).Thereafter, the
여기서, 프로세서(130)는 사용자 발화 음성을 처리할 도메인이 이전 도메인과 동일한 것으로 판단된 경우, 사용자 발화 음성에 대응되는 컨텍스트를 판단하고, 사용자 발화 음성과 판단된 컨텍스트 및 이전 컨텍스트 간의 신뢰도 스코어를 분석할 수 있다(S340).Here, when it is determined that the domain to process the user uttered voice is the same as the previous domain, the
그리고, 프로세서(130)는 사용자 발화 음성과 판단된 컨텍스트 및 이전 컨텍스트 간의 신뢰도 스코어에 기초하여 사용자 발화 음성을 처리할 컨텍스트가 이전 컨텍스트와 동일하니 여부를 판단하거나 현재 state에서 처리 가능한지 판단할 수 있다(S350).In addition, the
여기서, 프로세서(130)는 사용자 발화 음성을 처리할 컨텍스트가 이전 컨텍스트와 동일하다고 판단된 경우, 이전 컨텍스트에 기초하여 State management를 처리할 수 있다(S360). 그리고, 프로세서(130)는 이전 컨텍스트에 기초하여 수신된 사용자 발화 음성에 대한 처리를 완료할 수 있다(S370). 또한, 프로세서(130)는 현재 사용자 발화 음성이 수신되기 이전에 저장해두었던 컨텍스트를 다시 저장부(110)로부터 독출하여 신규 사용자 발화 음성을 처리할 수도 있다(S380).Here, when it is determined that the context in which the user uttered voice is to be processed is the same as the previous context, the
한편, 프로세서(130)는 사용자 발화 음성을 처리할 도메인이 이전 도메인이 아닌 검출된 사용자 발화 음성에 대응되는 도메인으로 결정된 경우, 이전 도메인 및 이전 컨텍스트과 관련된 정보를 저장하고(S331), 검출된 사용자 발화 음성에 대응되는 도메인의 context state management를 수행하여(S332) 사용자 발화 음성을 처리하게 된다.Meanwhile, when the domain for processing the user's uttered voice is determined to be a domain corresponding to the detected user's uttered voice instead of the previous domain, the
또한, 프로세서(130)는 사용자 발화 음성을 처리할 도메인이 이전 도메인과 동일한 것으로 판단된 경우라도 사용자 발화 음성을 처리할 컨텍스트가 이전 컨텍스트가 아닌 사용자 발화 음성에 대응되는 컨텍스트로 결정된 경우, 이전에 진행중이던 컨텍스트에 관련된 정보를 저장하고(S351), 이전 도메인 내에서 새로운 Ccontext state management를 수행하여(S352), 사용자 발화 음성을 처리하게 된다.In addition, even when it is determined that the domain for processing the user's uttered voice is the same as the previous domain, the
한편, 도 4는 본 발명의 일 실시 예에 따른 사용자 발화 음성을 처리할 도메인이 변경되는 경우 처리 과정에 관한 도면이다.Meanwhile, FIG. 4 is a diagram illustrating a processing process when a domain for processing a user's uttered voice is changed according to an embodiment of the present invention.
예를 들어, 사용자로부터 "큰 방 TV 시청할 때면 다른 방 불 꺼주고 이 방은 시원하고 어둡게 해줘"라는 사용자 발화 음성이 수신되면(411), 프로세서(130)는 "큰 방 TV 시청할 때면 다른 방 불 꺼주고 이 방은 시원하고 어둡게 해줘"라는 사용자 발화 음성을 처리할 도메인으로서 TV 시청 시 전등 및 온도에 관한 도메인으로 결정하여 사용자 발화 음성을 처리하여 "거실과 복도 불도 함께 끌까요?"와 같은 시스템 응답을 생성하여 출력할 수 있다(421).For example, when a user's voice saying "When watching TV in a big room, turn off the lights in another room and make this room cool and dark" is received from the user (411), the
이후, 사용자로부터 "참, 다음 주말에 결혼식 일정 등록해줘"라는 사용자 발화 음성이 수신되면(412) 프로세서(130)는 수신된 "참, 다음 주말에 결혼식 일정 등록해줘"라는 사용자 발화 음성에 대응되는 일정에 관한 도메인을 검출하고 사용자 발화 의도를 분석하여(S431), 사용자 발화 음성과 검출된 일정에 관한 도메인 간의 신뢰도를 분석하고(S432), 분석된 신뢰도 결과에 따라 "참, 다음 주말에 결혼식 일정 등록해줘"라는 사용자 발화 음성을 처리할 도메인이 이전의 TV 시청 시 전등 및 온도에 관한 도메인과 동일한지 여부를 판단할 수 있다(S433). 여기서, 프로세서(130)는 "참, 다음 주말에 결혼식 일정 등록해줘"라는 사용자 발화 음성을 처리할 도메인은 이전 TV 시청 시 전등 및 온도에 관한 도메인이 아닌 일정에 관한 도메인으로 결정되면, 이전 도메인에서 진행중이던 컨텍스트와 관련된 정보를 저장부(110)에 저장할 수 있고(S434), 새롭게 결정된 일정에 관한 도메인에 맞는 컨텍스트를 생성하여 사용자 발화 음성을 처리할 수 있다(S435). 도 4에 도시된 바와 같이, 프로세서(130)는 "무슨 요일, 몇 시인가요?"라는 시스템 응답을 생성하여 출력할 수 있고(S422), 이에 대해 사용자로부터 "토요일, 12시"라는 사용자 발화 음성이 수신되면 여전히 일정에 관한 도메인 내의 동일한 컨텍스트이므로 이를 유지한 채 "추가 정보는 있나요?"라는 시스템 응답을 생성하여 출력(423)할 수 있다. 또한, 이에 대해, 사용자로부터 "김대경 결혼식, 장소는 신촌 ○○○ 대학교 동문회관"이라는 사용자 발화 음성이 수신되면(414), 프로세서(130)는 여전히 일정에 관한 도메인 내의 동일한 컨텍스트이므로 이를 유지한 채 "일정 등록이 완료되었습니다"라는 시스템 응답을 생성하여 출력할 수 있고(424), 이에 대해 사용자로부터 "알았어"라는 사용자 발화 음성을 수신할 수 있다(415). 이에 따라 프로세서(130)는 현재 진행 중인 Task가 완료되었음을 판단할 수 있다(S436).Thereafter, when a user's uttered voice is received from the user, "Yes, register the wedding schedule for next weekend" (412), the
이후, 프로세서(130)는 이전에 진행 중이던 TV 시청 시 전등 및 온도에 관한 도메인과 관련 컨텍스트를 저장부(110)로부터 독출하고(S437), 이전 도메인과 관련 컨텍스트에 기초하여 사용자로부터 수신되는 신규 발화 음성을 처리할 수 있다(S438).Thereafter, the
예를 들어, 프로세서(130)는 "이전에 진행 중이던 Planning을 이어서 진행하겠습니다"와 같은 시스템 응답을 출력하여 사용자로부터 "거실은 끄고 복도는 켜줘"라는 사용자 발화 음성이 수신되면 이전 도메인인 TV 시청 시 전등 및 온도에 관한 도메인과 관련 컨텍스트에 기초하여 사용자 발화 음성을 처리하고, 거실과 복도 불도 함께 끌까요?"라는 시스템 응답을 생성하여 출력할 수 있고(426), 이에 대해 사용자로부터 "중간 정도로 해줘"라는 사용자 발화 음성이 수신되면(417), 프로세서(130)는 여전히 TV 시청 시 전등 및 온도에 관한 도메인 및 관련 컨텍스트에 관한 것으로 판단하여 이를 유지한 채 "에어컨은 어느 정도로 할까요?"와 같은 시스템 응답을 생성하여 출력할 수 있다.For example, the
한편, 도 5는 본 발명의 일 실시 예에 따른 사용자 발화 음성을 처리할 도메인이 변경되지 않는 경우 처리 과정에 관한 도메인이다.Meanwhile, FIG. 5 is a domain for processing when a domain for processing a user's uttered voice is not changed according to an embodiment of the present invention.
예를 들어, 사용자로부터 "큰 방 TV 시청할 때면 다른 방 불 꺼주고 이 방은 시원하고 어둡게 해줘"라는 사용자 발화 음성이 수신되면(511), 프로세서(130)는 "큰 방 TV 시청할 때면 다른 방 불 꺼주고 이 방은 시원하고 어둡게 해줘"라는 사용자 발화 음성을 처리할 도메인으로서 TV 시청 시 전등 및 온도에 관한 도메인으로 결정하여 사용자 발화 음성을 처리하여 "거실과 복도 불도 함께 끌까요?"와 같은 시스템 응답을 생성하여 출력할 수 있다(521).For example, when a user uttered voice saying "When watching TV in a large room, turn off the lights in another room and make this room cool and dark" is received from the user (511), the
이후, 사용자로부터 "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성이 수신되면(512), 프로세서(130)는 수신된 "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성에 대응되는 채널 정보에 관한 도메인을 검출하고 사용자 발화 의도를 분석하여(S531), 사용자 발화 음성과 검출된 방송 프로그램에 관한 도메인 가의 신뢰도를 분석하고(S532), 분석된 신뢰도 결과에 따라 "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성을 처리할 도메인이 이전의 TV 시청 시 전등 및 온도에 관한 도메인과 동일한지 여부를 판단할 수 있다(S533). 여기서, 프로세서(130)는 "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성을 처리할 도메인은 이전 도메인인 TV 시청 시 전등 및 온도에 관한 도메인과 동일한 것으로 판단되면, TV 시청 시 전등 및 온도에 관한 도메인 내에서 "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성에 대응되어 검출된 채널 정보에 관한 컨텍스트 간의 신뢰도를 분석할 수 있고(S534), 신뢰도 분석 결과에 따라 프로세서(130)는 "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성을 처리할 컨텍스트가 이전 컨텍스트인 TV 시청 시 전등 및 온도에 관한 컨텍스트와 동일하니 여부를 판단할 수 있다(S535). 여기서, 프로세서(130)는 "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성을 처리할 컨텍스트는 이전 컨텍스트가 아닌 검출된 채널 정보에 관한 컨텍스르로 결정할 수 있고, 이에 다라, 이전에 진행 중이던 컨텍스트 관련 정보를 저장부(110)에 저장할 수 있다(S536).Thereafter, when a user uttered voice saying “what channel is a movie on?” is received from the user (512), the
그리고, 프로세서(130)는 TV 시청 시 전등 및 온도에 관한 도메인 내에서 새로운 채널 정보에 관한 컨텍스트를 생성하여 사용자 발화 음성을 처리할 수 있다(S537).In addition, the
즉, "영화 나오는 채널이 몇 번이지?"라는 사용자 발화 음성에 대해 프로세서(130)는 "23, 37, 101, 157, 274 번 채널입니다"와 같은 시스템 응답을 생성하여 출력할 수 있고(522), 이에 대해 사용자로부터 "34번"이라는 사용자 발화 음성이 수신되면 프로세서(130)는 "34번으로 채널 변환하였습니다"와 같은 시스템 응답을 생성하여 출력할 수 있다(523).That is, to the user's voice saying "what channel is the movie on?", the
이후, 프로세서(130)는 현재 진행 중인 Task가 완료되었음을 판단할 수 있고(S538), 프로세서(130)는 이전에 진행 중이던 TV 시청 시 전등 및 온도에 관한 컨텍스트를 저장부(110)로부터 독출하며(S539-1), 이에 기초하여 사용자로부터 수신되는 신규 발화 음성을 처리할 수 있다(S539-2). 예를 들어, 프로세서(130)는 "이전에 진행 중이던 Planning을 이어서 진행하겠습니다"와 같은 시스템 응답을 출력하여(524) 사용자로부터 "거실은 끄고 복도는 켜줘"라는 사용자 발화 음성이 수신되면(514), 이전 컨텍스트인 TV 시청 시 전등 및 온도에 관한 컨텍스트에 기초하여 사용자 발화 음성을 처리하고, "거실과 복도 불도 함께 끌까요?"라는 시스템 응답을 생성하여 출력할 수 있고(525), 이에 대해 사용자로부터 "중간 정도로 해줘"라는 사용자 발화 음성이 수신되면(515), 프로세서(130)는 여전히 TV 시청 시 전등 및 온도에 관한 컨텍스트에 관한 것으로 판단하여 이를 유지한 채 "에어컨은 어느 정도로 할까요?"와 같은 시스템 응답을 생성하여 출력할 수 있다(526).Thereafter, the
한편, 도 6은 본 발명의 DM 모듈에서의 처리 과정을 도시한 도면이다.Meanwhile, FIG. 6 is a diagram illustrating a processing process in the DM module of the present invention.
도 6을 참조하면, "효율적인 에너지 관리해줘"라는 사용자 발화 음성이 수신되면, 프로세서(130)는 Dialog Manager(10)가 Dialog Context, Dialog History 및 Question Answering을 참조하여 NLP(Natural Language Processing)(640)이 사용자 발화 의도를 분석하도록 제어할 수 있다. 예를 들어, Dialog Manager(10)은 "효율적인 에너지 관리해줘"라는 사용자 발화 음성에 있어서 이해가 불명확한 부분에 대한 내용에 관한 정보를 NLP(640) 모듈로 전송하고(610), NLP(640) 모듈을 사용하여 불필요하거나 사용 안 하는 에너지 관리 또는 효율적인 성능 수치를 적용하여 사용자 발화 음성의 정확한 의미 및 발화 의도를 분석할 수 있다.Referring to FIG. 6 , when a user uttered voice saying “manage energy efficiently” is received, the
그리고, 프로세서(130)는 Dialog Manager(10)가 Context Manager(650) 모듈로 불명확한 내용이나 조건 또는 선택에 필요한 정보를 요청하면(620), Context Manager(650) 모듈을 사용하여 "효율적인 에너지 관리해줘"라는 사용자 발화 음성과 관련된 다양한 외부 기기에 대한 컨텍스트를 체크하고, 사용자 발화 음성과 관련된 컨텍스트를 분석하여 도움이 될 만한 Task를 추천하거나(670), 관련된 Task를 제안하도록 제어할 수 있다(680).And, when the Dialog Manager (10) requests unclear content or conditions or information necessary for selection by the Context Manager (650) module (620), using the Context Manager (650) module, "Efficient energy management" It is possible to check the context of various external devices related to the user's uttered voice, "Do it," and analyze the context related to the user's uttered voice to recommend a helpful task (670), or control to suggest a related task (680). ).
또한, 프로세서(130)는 Planning Manager(660) 모듈로 Planning 시 필요한 내용을 요청하면(630), Planning Manager(660) 모듈을 사용하여 "효율적인 에너지 관리해줘"라는 사용자 발화 음성에 대해 다양한 외부 장치들의 조합을 통해 사용자 발화 음성에 대응되는 적절한 시스템 응답 즉, 다양한 외부 장치들을 어떻게 조합하여 기능을 수행하게 할 것인가에 관한 Action Planning을 수행하도록 제어할 수있다(660).In addition, when the
한편, 도 7은 본 발명의 일 실시 예에 따른 전자 장치(100)와 외부 장치에 관한 정보를 포함하는 데이터 베이스를 포함하는 시스템에서 수행되는 과정을 설명하기 위한 도면이다.Meanwhile, FIG. 7 is a diagram for explaining a process performed in a system including the
도 7을 참조하면, 프로세서(130)는 Dialog Manager(10), NLP(640), Context Manager(650) 및 Planning Manager(660)이 외부 장치에 관한 정보를 저장하는 데이터 베이스(KB)(20)에 외부 장치의 기능, 성능, 특징 등에 관한 정보를 요청하면, 외부 장치에 관한 정보를 저장하는 데이터 베이스(KB)(20)를 제어하는 KB Manager(30) 및 Things Manger(40)는 수신된 요청을 처리하고 Batch Manager(50)는 Dialog Manager(10), NLP(640), Context Manager(650) 및 Planning Manager(660)으로 외부 장치의 기능, 성능, 특징 등에 관한 정보를 전송할 수 있다.Referring to FIG. 7 , the
이에 따라, 프로세서(130)는 수신된 외부 장치의 기능, 성능, 특징 등에 관한 정보에 기초하여 Dialog Manager(10), NLP(640), Context Manager(650) 및 Planning Manager(660)을 통해 사용자 발화 음성을 처리하여 시스템 응답을 생성하여 출력할 수 있다.Accordingly, the
도 8은 본 발명의 다른 실시 예에 따른 전자 장치의 구성을 도시한 블럭도이다.8 is a block diagram illustrating a configuration of an electronic device according to another embodiment of the present invention.
도 8을 참조하면, 전자 장치(100)는 저장부(110), 스피커부(120), 프로세서(130) 및 통신부(140)를 포함하며, 저장부(110), 스피커부(120) 및 프로세서(130)에 대해서는 미리 설명하였으므로 자세한 설명은 생략하기로 한다.Referring to FIG. 8 , the
통신부(140)는 적어도 하나의 외부 장치와 통신을 수행할 수 있으며, 프로세서(130)는 발화 음성에 대응되는 시스템 응답이 결정된 도메인 내에서 적어도 하나의 외부 장치의 기능 제어가 요구되는 컨텍스트에 기초하여 생성되면, 외부 장치의 기능에 관한 정보에 기초하여 적어도 하나의 외부 장치의 기능을 제어하기 위한 시스템 응답을 생성할 수 있다.The
구체적으로, "집안 온도를 낮춰줘"라는 사용자 발화 음성이 수신되면, 프로세서(130)는 사용자 발화 음성을 처리할 도메인으로 온도 관련 도메인을 결정할 수 있고, 이러한 온도 관련 도메인 내에서 적어도 하나의 외부 장치의 기능 제어가 요구되는 컨텍스트에 기초하여 생성되면, 프로세서(130)는 집안에 배치된 다양한 외부 장치들 중 온도 조절 기능과 관련된 외부 장치를 검색할 수 있다. 예를 들어, 프로세서(130)는 온도 조절 기능과 관련하여 에어컨, 창문 및 전등 등의 외부 장치를 검색할 수 있고, 에어컨을 턴 온 시켜 온도를 낮추고, 창문을 닫아서 에너지 효율을 높이며 전등을 턴 오프하는 기능을 수행하도록 하는 제어 명령을 에어컨, 창문 및 전등 각각에 전송할 수 있다.Specifically, when a user's uttered voice of “lower the house temperature” is received, the
또한, 프로세서(130)는 온도 관련 도메인 내에서 온도를 조절하기 위해 다양한 외부 장치의 기능, 성능 및 특징 등을 고려하여 사용자 발화 음성에 대응되는 시스템 응답에 부합하는 적어도 하나의 외부 장치를 판단할 수 있다.In addition, the
여기서, 저장부(110)는 외부 장치의 기능에 대한 정보를 더 저장할 수 있고, 통신부(140)는 기 설정된 네트워크 내에 추가된 적어도 하나의 외부 장치에 대한 기능 정보를 수신할 수 있다.Here, the
그리고, 프로세서(130)는 수신된 적어도 하나의 외부 장치에 대한 기능 정보에 기초하여 저장부(110)에 저장된 정보를 업데이트할 수 있다.In addition, the
예를 들어, 기 설정된 네트워크를 집 내부의 네트워크로 상정하면, 집 내부에 신규 디스플레이 장치가 추가적으로 구비된 경우, 통신부(140)는 집 내부의 네트워크 내에 추가된 신규 디스플레이 장치에 대한 기능 정보를 수신할 수 있고, 프로세서(130)는 수신된 신규 디스플레이 장치에 대한 기능 정보에 기초하여 저장부(110)에 저장된 정보를 업데이트할 수 있다. 이에 따라, 프로세서(130)는 이후 수신되는 사용자 발화 음성을 처리하는데 있어서, 추가된 신규 디스플레이 장치의 기능 정보를 더 고려하여 시스템 응답을 생성할 수 있다.For example, assuming a preset network as an internal network, if a new display device is additionally provided inside the house, the
한편, 프로세서(130)는 발화 이력 정보에 기초하여 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성하며, 발화 이력 정보는 이전에 수신된 사용자 발화 음성, 이전에 수신된 사용자 발화 음성을 처리한 도메인과 관련된 정보 및 이전에 수신된 사용자 발화 음성에 대응되는 시스템 응답 중 적어도 하나를 포함할 수 있다.Meanwhile, the
예를 들어, 프로세서(130)는 사용자 발화 음성에 대응되는 도메인 또는 컨텍스트를 검출하기 불가능하거나 사용자 발화 음성과 검출된 도메인 또는 컨텍스트 간의 신뢰도에 기초하여 사용자 발화 음성을 처리할 도메인 또는 컨텍스트를 결정하기 불가능한 경우, 발화 이력 정보에 기초하여 사용자 발화 음성을 처리할 도메인 또는 컨텍스트를 결정할 수 있다.For example, the
또한, 이러한 발화 이력 정보는 이전에 수신된 사용자 발화 음성, 이전에 수신된 사용자 발화 음성을 처리한 도메인과 관련된 컨텍스트에 관한 정보 및 이전에 수신된 사용자 발화 음성에 대응되는 시스템 응답을 생성하는데 있어서 참조한 외부 장치에 관한 정보, 외부 장치의 기능에 관한 정보 등을 포함할 수 있다.In addition, this utterance history information is referred to in generating a previously received user uttered voice, information about a context related to a domain in which the previously received user uttered voice has been processed, and a system response corresponding to the previously received user uttered voice. It may include information about the external device, information about the function of the external device, and the like.
한편, 도 9는 본 발명의 또 다른 실시 예에 따른 전자 장치의 구성을 도시한 블럭도이다. 도 9를 참조하면, 전자 장치(100)는 저장부(110), 스피커부(120), 프로세서(130) 및 마이크부(160)를 포함하며, 저장부(110), 스피커부(120) 및 프로세서(130)에 대해서는 이미 설명하였으므로, 자세한 설명은 생략하기로 한다.Meanwhile, FIG. 9 is a block diagram illustrating the configuration of an electronic device according to another embodiment of the present invention. Referring to FIG. 9 , the
또한, 마이크부(160)는 사용자 발화 음성을 입력받을 수 있으며, 이러한 마이크부(160)는 전자 장치(100)에 구비되어 있을 수도 있으나, 분리되어 외부에 존재할 수도 있고, 탈부착이 가능한 형태로 구현될 수도 있다.In addition, the
한편, 상술한 바와 같이 전자 장치(100)는 사용자 발화 음성에 대응되는 시스템 응답을 출력할 수 있으며, 시스템 응답을 출력함과 동시에 사용자에게 피드백 효과를 제공할 수도 있다. 또한, 전자 장치(100)는 디스플레이부(미도시)를 포함하며, 디스플레이부(미도시)를 통해 피드백 효과를 제공할 수 있다.Meanwhile, as described above, the
구체적으로, 프로세서(130)는 사용자 발화 음성에 대응되는 시스템 응답을 생성하여 출력함과 동시에 사용자 발화 음성에 대응되는 동작의 수행이 완료되었음을 음향 신호, 메시지 및 사용자 유저인터페이스 화면 등 중 하나를 통해 사용자에게 제공할 수 있으며, 여기서, 메시지 또는 사용자 유저인터페이스 화면은 디스플레이부(미도시)를 통해 출력될 수 있다.Specifically, the
예를 들어, 프로세서(130)는 "집안 온도를 낮춰줘"라는 사용자 발화 음성이 수신되면, 집안에 배치된 다양한 외부 장치들 중 온도 조절 기능과 관련된 외부 장치를 검색하고, 이에 따라 에어컨을 턴 온 시켜 온도를 낮추고, 창문을 닫아서 에너지 효율을 높이며 전등을 턴 오프하는 기능을 수행하도록 하는 제어 명령을 에어컨, 창문, 및 전등 각각에 전송할 수 있으며, 이와 동시에 "요청하신 부분을 처리하였습니다" 또는 "요청하신 바에 따라 에어컨을 작동하고, 창문을 닫으며 전등을 껐습니다"와 같은 음향 신호를 스피커부(120)를 통해 출력하여 사용자에게 피드백 효과를 줄 수도 있고, "요청하신 부분을 처리하였습니다" 또는 "요청하신 바에 따라 에어컨을 작동하고, 창문을 닫으며 전등을 껐습니다"를 텍스트 형태로 포함하는 메시지나 사용자 유저인터페이스 화면 또는 아이콘 등을 디스플레이부(미도시)를 통해 출력하여 사용자에게 피드백 효과를 줄 수도 있다.For example, when a user uttered voice saying “lower the house temperature” is received, the
또한, 프로세서(130)는 사용자 발화 음성에 대응되는 시스템 응답을 출력하고 출력된 시스템 응답과 관련성이 있는 또 다른 동작 또는 Task를 사용자에게 추가적으로 추천 또는 제안할 수도 있다.In addition, the
예를 들어, 프로세서(130)는 "어제 보던 영화를 보여줘"라고 사용자 발화 음성이 수신되면, TV에서 어제 보던 영화를 디스플레이하도록 하는 제어 명령을 TV로 전송한 후, TV에서 영화를 재생하도록 하는 제어 명령 중 "영화 재생"이라는 키워드와 관련하여 현재 영화를 재생하는 상황에 적합한 다른 동작 또는 Task를 사용자에게 추가적으로 추천 또는 제안할 수 있다. 구체적으로, 프로세서(130)는 "전등의 라이트 조도를 낮출까요?" 또는 "현재 로봇 청소기가 작동중인데 영화 시청에 방해가 되니 로봇 청소기의 동작을 중단할까요?" 또는 "영화 시청에 방해가 되지 않도록 창문을 닫을까요?" 등과 같이 TV에서 영화를 재생하도록 하는 제어 명령과 관련된 동작 또는 Task를 사용자에게 추가적으로 제안하고 추천할 수 있다.For example, when a user uttered voice saying “show me the movie I watched yesterday” is received, the
이와 같이, 프로세서(130)는 사용자 발화 음성에 대응되는 시스템 응답을 생성하여 출력함과 동시에 사용자 발화 음성에 대응되는 동작의 수행이 완료되었음을 음향 신호, 메시지 및 사용자 유저인터페이스 화면 등 중 하나를 통해 사용자에게 제공할 수 있고, 또한, 사용자 발화 음성에 대응되는 시스템 응답과 관련성이 있는 또 다른 동작 또는 Task를 사용자에게 추가적으로 추천하거나 제안할 수 있다.As such, the
도 10은 도 1에 도시된 전자 장치의 구체적 구성을 나타내는 블럭도이다.FIG. 10 is a block diagram illustrating a specific configuration of the electronic device shown in FIG. 1 .
도 10을 참조하면, 전자 장치(100')는 저장부(110), 스피커부(120), 프로세서(130), 통신부(140), 디스플레이부(150), 마이크부(160) 및 센서부(170)를 포함한다. 도 10에 도시된 구성 중 도 1에 도시된 구성과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.Referring to FIG. 10 , the
프로세서(130)는 전자 장치(100)의 동작을 전반적으로 제어한다.The
구체적으로, 프로세서(130)는 RAM(131), ROM(132), 메인 CPU(133), 그래픽 처리부(134), 제1 내지 n 인터페이스(135-1 ~ 135-n), 버스(136)를 포함한다.Specifically, the
RAM(131), ROM(132), 메인 CPU(133), 그래픽 처리부(134), 제1 내지 n 인터페이스(135-1 ~ 135-n) 등은 버스(136)를 통해 서로 연결될 수 있다. The
제1 내지 n 인터페이스(135-1 내지 135-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.The first to n-th interfaces 135-1 to 135-n are connected to the various components described above. One of the interfaces may be a network interface connected to an external device through a network.
메인 CPU(133)는 저장부(110)에 액세스하여, 저장부(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(110)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다. The
ROM(132)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(133)는 ROM(132)에 저장된 명령어에 따라 저장부(140)에 저장된 O/S를 RAM(131)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(133)는 저장부(140)에 저장된 각종 어플리케이션 프로그램을 RAM(131)에 복사하고, RAM(131)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다. The
그래픽 처리부(134)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다. 특히, 그래픽 처리부(134)는 사용자 발화 음성에 대응하여 생성된 시스템 응답을 텍스트 형태로 변환하면서, 문자의 폰트, 크기, 색상 등을 결정할 수 있다. 렌더링부(미도시)에서 생성된 화면은 디스플레이부(150)를 통해 디스플레이될 수 있다.The
한편, 상술한 프로세서(130)의 동작은 저장부(110)에 저장된 프로그램에 의해 이루어질 수 있다.Meanwhile, the above-described operation of the
저장부(140)는 디스플레이 장치(100')를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 각종 멀티미디어 컨텐츠와 같은 다양한 데이터를 저장한다.The
특히, 저장부(110)는 사용자 발화 음성에 대응되는 도메인을 검출하고, 사용자 발화 음성과 검출된 도메인 간의 신뢰도에 기초하여 검출된 도메인 및 이전 도메인 중 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성하기 위한 소프트웨어 모듈을 포함한다. 이에 대해서는 도 11을 통해 상세히 설명하기로 한다.In particular, the
한편, 센서부(170)는 각종 센서들을 포함할 수 있으며, 터치를 인식하기 위한 터치 센서, 사용자의 움직임을 감지하기 위한 모션 센서 등을 포함할 수 있다. 특히, 센서부(170)는 사용자의 발화 음성과 외부의 잡음을 구별하는 센서를 포함할 수 있다.Meanwhile, the
도 11은 본 발명의 일 실시 예에 따른 저장부에 저장된 소프트웨어 모듈에 관한 도면이다.11 is a diagram of a software module stored in a storage unit according to an embodiment of the present invention.
도 11을 참조하면, 저장부(110)에는 Dialogue Manager 모듈(111), Dialogue Context 모듈(112), NLP 모듈(113), NLG 모듈(114), Discourse Manage 모듈(115), Question Answering 모듈(116), Context Manager 모듈(117) 및 Action Planner 모듈(118) 등의 프로그램이 저장되어 있을 수 있다.Referring to FIG. 11 , the
한편, 상술한 프로세서(130)의 동작은 저장부(110)에 저장된 프로그램에 의해 이루어질 수 있다. 이하에서는 저장부(110)에 저장된 프로그램을 이용한 프로세서(130)의 세부 동작에 대해 자세히 설명하도록 한다. Meanwhile, the above-described operation of the
Dialogue Manager 모듈(111)은 사용자 발화 음성을 분석하여 사용자 발화 음성의 내용과 발화 의도를 검출하는 기능을 수행하고, 사용자와 자연어 대화를 생성할 수 있는 기능을 수행할 수 있다. 특히, Dialogue Manager 모듈(111)은 다이얼로그 시스템의 메인 모듈로써, 사용자와 전자 장치 간에 이루어지는 대화의 전체적인 흐름을 관리하고, 다른 내부 모듈을 전반적으로 관리하는 기능을 수행할 수 있다.The
Dialogue Context 모듈(112)은 사용자와 전자 장치(100) 간에 주고 받은 대화 내용을 기록하고 관리하는 기능을 수행할 수 있다.The
또한, NLP 모듈(113)은 자연어를 처리하고 이에 기초하여 사용자 발화 의도를 검출하는 기능을 수행할 수 있다.In addition, the
NLG 모듈(114)은 사용자 발화 음성에 대응하여 생성된 시스템 응답을 텍스트로 변환하는 기능을 수행할 수 있다.The
또한, Discourse Manage 모듈(115)은 사용자 발화 음성의 내용 및 발화 의도에 기초하여 시스템 응답을 생성하는 기능을 수행할 수 있다.Also, the Discourse Manage
Question Answering 모듈(116)은 사용자로부터 수신된 질문에 대한 내용을 처리하는 기능을 수행할 수 있다.The
Context Manager 모듈(117)은 사용자와 전자 장치(100) 간의 대화 내용을 모니터링하면서 필요한 컨텍스트에 관한 정보를 제공하거나, 사용자 발화 음성에 대응되는 컨텍스트를 검출하여 제공하는 기능을 수행할 수 있다.The
Action Planner 모듈(118)은 분석된 사용자 발화 음성의 내용 및 발화 의도에 기초하여 적어도 하나의 외부 장치의 기능, 성능 등을 고려하여 적어도 하나의 외부 장치를 제어하도록 하는 기능을 수행할 수 있다.The
여기서, Action Planner 모듈(118)에서 출력되는 결과는 다양한 타입으로 결정될 수 있다. 예를 들어, 일반적으로 사용자의 발화 음성을 처리하게 되면 "요청이 성공적으로 수행되었습니다"와 같이 출력될 수 있고, 사용자의 발화 음성을 처리하지 않는 경우에는 "요청하신 내용은 이미지 수행된 것입니다"와 같이 출력될 수 있다. 또한, 사용자의 발화 음성을 처리하되 사용자의 발화 의도와 다르게 처리하게 되면, "사용자가 요청하신 내용 대신 다른 방식으로 수행되었습니다"와 같이 출력될 수도 있다.Here, the results output from the
또한, 사용자 발화 음성을 통해 요청한 부분 이외에 이와 관련된 부분을 추가적으로 처리하는 경우에는 "요청하신 부분은 성공적으로 수행되었습니다. 또한, 요청하신 부분과 관련하여 또 다른 가능한 기능을 찾았습니다"와 같이 출력될 수도 있다.In addition, if a part related to this is additionally processed in addition to the part requested through the user's voice, it may output something like "The requested part has been successfully performed. Also, another possible function has been found related to the requested part." have.
또한, 사용자의 수동적인 조작이 필요한 경우에는 "요청하신 부분을 처리하기 위해서는 사용자의 선택이 필요합니다"와 같이 출력될 수 있고, 파라미터 값에 대한 요청이 필요한 경우에는 "파라미터 값에 대한 입력을 요청드립니다"와 같이 출력될 수도 있다. 또한, 사용자 발화 음성에 대하여 2 이상의 처리 방안이 결정될 경우, "사용자의 선택이 필요합니다"와 같이 출력될 수 있다.In addition, when manual manipulation of the user is required, it can be output as "User's selection is required to process the requested part", and when a request for parameter value is required, "Request input for parameter value" It may be printed as "I will give you". In addition, when two or more processing methods are determined for the user's spoken voice, "the user's selection is required" may be output.
한편, 도 12는 본 발명의 일 실시 예에 따른 전자 장치의 제어 방법을 설며하기 위한 흐름도이다.Meanwhile, FIG. 12 is a flowchart illustrating a method for controlling an electronic device according to an embodiment of the present invention.
도 12에 도시된 대화 주제 별로 카테고리화된 도메인 정보를 저장하는 저장부를 포함하는 전자 장치의 제어 방법은 사용자 발화 음성에 대응되는 도메인을 검출한다(S1210).The control method of the electronic device including a storage unit for storing domain information categorized for each conversation topic shown in FIG. 12 detects a domain corresponding to a user's uttered voice (S1210).
그리고, 사용자 발화 음성과 검출된 도메인 간의 신뢰도에 기초하여 검출된 도메인과 이전 도메인 중 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성한다(S1220).Then, a system response is generated by determining a domain to process the user's spoken voice from among the detected domain and the previous domain based on the reliability between the user's spoken voice and the detected domain ( S1220 ).
여기서, 저장부는 도메인 각각에 대응되는 대화 주제를 컨텍스트 별로 카테고리화하여 저장하며, 시스템 응답을 생성하는 단계는, 이전 도메인이 사용자 발화 음성을 처리할 도메인으로 결정되면, 사용자 발화 음성에 대응되는 컨텍스트를 판단하고, 사용자 발화 음성과 판단된 컨텍스트 간의 신뢰도에 기초하여 판단된 컨텍스트 및 이전 컨텍스트 중 사용자 발화 음성을 처리할 컨텍스트를 결정하여 시스템 응답을 생성할 수 있다.Here, the storage unit categorizes and stores the conversation topic corresponding to each domain for each context, and the step of generating a system response includes, when the previous domain is determined as a domain to process the user's uttered voice, the context corresponding to the user's uttered voice. The system response may be generated by determining a context in which to process the user's spoken voice among the determined contexts and previous contexts based on the reliability between the user's spoken voice and the determined context.
또한, 시스템 응답을 생성하는 단계는, 판단된 컨텍스트가 사용자 발화 음성을 처리할 컨텍스트로 결정되면, 이전 컨텍스트와 관련된 정보를 저장부에 저장하고 판단된 컨텍스트에서의 발화 음성 처리가 종료되면, 저장된 이전 컨텍스트와 관련된 정보에 기초하여 신규 발화 음성을 처리할 수 있다.In addition, the generating of the system response includes, when the determined context is determined as a context to process the user's spoken voice, stores information related to the previous context in the storage unit, and when the spoken voice processing in the determined context ends, the stored previous A newly uttered voice may be processed based on context-related information.
또한, 시스템 응답을 생성하는 단계는, 검출된 도메인이 사용자 발화 음성을 처리할 도메인으로 결정되면, 이전 도메인과 관련된 정보를 저장부에 저장하고 검출된 도메인에서의 발화 음성 처리가 종료되면, 저장된 이전 도메인과 관련된 정보에 기초하여 신규 발화 음성을 처리할 수 있다.In addition, the generating of the system response includes, when the detected domain is determined as a domain to process the user's spoken voice, stores information related to the previous domain in the storage unit, and when the spoken voice processing in the detected domain ends, the stored previous A newly uttered voice may be processed based on domain-related information.
또한, 시스템 응답을 생성하는 단계는, 사용자 발화 음성을 구성하는 적어도 하나의 발화 요소와 검출된 도메인에 속하는 적어도 하나의 발화 요소 간의 동일 여부에 따른 신뢰도 스코어에 기초하여 사용자 발화 음성과 검출된 도메인 간의 신뢰도를 판단할 수 있다.In addition, the generating of the system response may include: based on a confidence score according to whether at least one speech element constituting the user's speech voice and at least one speech element belonging to the detected domain are identical between the user's speech voice and the detected domain. reliability can be judged.
또한, 시스템 응답을 생성하는 단계는, 발화 음성에 대응되는 시스템 응답이 결정된 도메인 내에서 적어도 하나의 외부 장치의 기능 제어가 요구되는 컨텍스트에 기초하여 생성되면, 외부 장치의 기능에 관한 정보에 기초하여 적어도 하나의 외부 장치의 기능을 제어하기 위한 시스템 응답을 생성할 수 있다.In addition, the generating of the system response may include, when a system response corresponding to the spoken voice is generated based on a context in which a function control of at least one external device is required within the determined domain, based on the information on the function of the external device. A system response for controlling a function of the at least one external device may be generated.
또한, 본 발명의 일 실시 예에 따른 전자 장치의 제어 방법은 기 설정된 네트워크 내에 추가된 적어도 하나의 외부 장치에 대한 기능 정보를 수신하여 기 저장된 외부 장치의 기능에 대한 정보를 업데이트하는 단계를 더 포함할 수 있다.In addition, the method of controlling an electronic device according to an embodiment of the present invention further includes the step of receiving function information on at least one external device added in a preset network and updating the information on the function of the pre-stored external device. can do.
또한, 본 발명의 일 실시 예에 따른 전자 장치의 제어 방법은 발화 이력 정보에 기초하여 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성하는 단계를 더 포함하며, 발화 이력 정보는 이전에 수신된 사용자 발화 음성, 이전에 수신된 사용자 발화 음성을 처리한 도메인과 관련된 정보 및 이전에 수신된 사용자 발화 음성에 대응되는 시스템 응답 중 적어도 하나를 포함할 수 있다.In addition, the method of controlling an electronic device according to an embodiment of the present invention further includes generating a system response by determining a domain to process a user's uttered voice based on the utterance history information, wherein the utterance history information has been previously received. It may include at least one of a user uttered voice, information related to a domain in which a previously received user uttered voice has been processed, and a system response corresponding to a previously received user uttered voice.
또한, 도메인 정보는, 대화 주제에 대응되는 태스크 수행을 위한 제어 정보 및 대화 주제 별 대화 패턴 중 적어도 하나를 포함할 수 있다.Also, the domain information may include at least one of control information for performing a task corresponding to a conversation topic and a conversation pattern for each conversation topic.
또한, 본 발명의 일 실시 예에 따른 전자 장치의 제어 방법은 사용자 발화 음성을 입력받는 단계를 더 포함할 수 있다.Also, the method of controlling an electronic device according to an embodiment of the present invention may further include receiving a user's spoken voice.
한편, 본 발명에 따른 제어 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다. Meanwhile, a non-transitory computer readable medium in which a program for sequentially performing the control method according to the present invention is stored may be provided.
일 예로, 사용자 발화 음성에 대응되는 도메인을 검출하는 단계 및 사용자 발화 음성과 검출된 도메인 간의 신뢰도에 기초하여 검출된 도메인 및 이전 도메인 중 사용자 발화 음성을 처리할 도메인을 결정하여 시스템 응답을 생성하는 단계를 를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.For example, detecting a domain corresponding to the user's uttered voice and generating a system response by determining a domain to process the user's uttered voice from among a detected domain and a previous domain based on the reliability between the user's uttered voice and the detected domain A non-transitory computer readable medium in which a program for performing a is stored may be provided.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, and the like, and can be read by a device. Specifically, the various applications or programs described above may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
또한, 전자 장치에 대해 도시한 상술한 블록도에서는 버스(bus)를 미도시하였으나, 전자 장치에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 각 디바이스에는 상술한 다양한 단계를 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있다. In addition, although a bus is not illustrated in the above-described block diagram of an electronic device, communication between respective components in the electronic device may be performed through a bus. In addition, each device may further include a processor such as a CPU or a microprocessor that performs the various steps described above.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention pertains without departing from the gist of the present invention as claimed in the claims In addition, various modifications are possible by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.
100: 저장부 120: 스피커부
130: 프로세서100: storage unit 120: speaker unit
130: processor
Claims (20)
마이크부;
스피커부; 및
상기 마이크부를 통해 수신된 사용자 발화 음성에 대응되는 도메인을 검출하고,
상기 사용자 발화 음성과 상기 검출된 도메인 간의 제1 신뢰도(confidence) 및 상기 사용자 발화 음성 이전에 상기 마이크부를 통해 수신된 이전 사용자 발화 음성의 처리에 이용된 이전 도메인과 상기 사용자 발화 음성 간의 제2 신뢰도에 기초하여 상기 검출된 도메인 및 상기 이전 도메인 중 상기 사용자 발화 음성을 처리하기 위한 도메인을 결정하고, 상기 결정된 도메인에 기초하여 상기 사용자 발화 음성에 대응되는 시스템 응답을 생성하고, 상기 생성된 시스템 응답을 출력하도록 상기 스피커부를 제어하는 프로세서;를 포함하고,
상기 프로세서는,
상기 검출된 도메인이 상기 사용자 발화 음성을 처리하기 위한 도메인으로 판단되면, 상기 이전 도메인과 관련된 정보를 상기 저장부에 저장하고, 상기 검출된 도메인에서의 발화 음성 처리가 종료되면, 상기 저장된 이전 도메인과 관련된 정보에 기초하여 신규 발화 음성을 처리하는 것을 특징으로 하는, 전자 장치.a storage unit for storing domain information categorized by conversation topic;
microphone unit;
speaker unit; and
detecting a domain corresponding to a user uttered voice received through the microphone unit,
A first confidence between the user uttered voice and the detected domain and a second confidence between the user uttered voice and a previous domain used for processing a previous user uttered voice received through the microphone unit before the user uttered voice determines a domain for processing the user's uttered voice from among the detected domain and the previous domain, generates a system response corresponding to the user's uttered voice based on the determined domain, and outputs the generated system response A processor for controlling the speaker unit so as to include;
The processor is
When it is determined that the detected domain is a domain for processing the user's uttered voice, information related to the previous domain is stored in the storage unit, and when the uttered voice processing in the detected domain is terminated, the stored previous domain and An electronic device characterized in that the newly uttered voice is processed based on related information.
상기 저장부는,
상기 도메인 각각에 대응되는 대화 주제를 컨텍스트 별로 카테고리화하여 저장하며,
상기 프로세서는,
상기 이전 도메인이 상기 사용자 발화 음성을 처리할 도메인으로 결정되면, 상기 사용자 발화 음성에 대응되는 컨텍스트를 판단하고, 상기 사용자 발화 음성과 상기 판단된 컨텍스트 간의 신뢰도에 기초하여 상기 판단된 컨텍스트 및 이전 컨텍스트 중 상기 사용자 발화 음성을 처리할 컨텍스트를 결정하여 상기 시스템 응답을 생성하는 것을 특징으로 하는 전자 장치. According to claim 1,
The storage unit,
categorizing and storing conversation topics corresponding to each of the domains for each context,
The processor is
When the previous domain is determined as the domain to process the user's uttered voice, a context corresponding to the user's uttered voice is determined, and based on the reliability between the user uttered voice and the determined context, among the determined context and the previous context and generating the system response by determining a context in which to process the user's uttered voice.
상기 프로세서는,
상기 판단된 컨텍스트가 상기 사용자 발화 음성을 처리할 컨텍스트로 결정되면, 상기 이전 컨텍스트와 관련된 정보를 상기 저장부에 저장하고, 상기 판단된 컨텍스트에서의 발화 음성 처리가 종료되면, 상기 저장된 이전 컨텍스트와 관련된 정보에 기초하여 신규 발화 음성을 처리하는 것을 특징으로 하는 전자 장치. 3. The method of claim 2,
The processor is
When the determined context is determined as a context to process the user's spoken voice, information related to the previous context is stored in the storage unit, and when processing of the spoken voice in the determined context is terminated, the stored previous context related information An electronic device characterized in that the newly uttered voice is processed based on the information.
상기 프로세서는,
상기 사용자 발화 음성을 구성하는 적어도 하나의 발화 요소와 상기 검출된 도메인에 속하는 적어도 하나의 발화 요소 간의 동일 여부에 따른 신뢰도 스코어 에 기초하여 상기 사용자 발화 음성과 상기 검출된 도메인 간의 신뢰도를 판단하는 것을 특징으로 하는 전자 장치. According to claim 1,
The processor is
and determining the reliability between the user's uttered voice and the detected domain based on a reliability score according to whether at least one utterance constituting the user's uttered voice is identical to at least one uttered element belonging to the detected domain. electronic device with
적어도 하나의 외부 장치와 통신을 수행하는 통신부;를 더 포함하며,
상기 프로세서는,
상기 발화 음성에 대응되는 시스템 응답이 상기 결정된 도메인 내에서 상기 적어도 하나의 외부 장치의 기능 제어가 요구되는 컨텍스트에 기초하여 생성되면, 상기 외부 장치의 기능에 관한 정보에 기초하여 적어도 하나의 외부 장치의 기능을 제어하기 위한 상기 시스템 응답을 생성하는 것을 특징으로 하는 전자 장치. According to claim 1,
It further includes; a communication unit for performing communication with at least one external device,
The processor is
When a system response corresponding to the spoken voice is generated based on a context in which the function control of the at least one external device is requested within the determined domain, the system response of the at least one external device is generated based on the information on the function of the external device. and generating the system response for controlling a function.
상기 저장부는, 상기 외부 장치의 기능에 대한 정보를 더 저장하고,
상기 통신부는, 기설정된 네트워크 내에 추가된 적어도 하나의 외부 장치에 대한 기능 정보를 수신하며,
상기 프로세서는,
상기 수신된 적어도 하나의 외부 장치에 대한 기능 정보에 기초하여 상기 저장부에 저장된 정보를 업데이트하는 것을 특징으로 하는 전자 장치. 7. The method of claim 6,
The storage unit further stores information on the function of the external device,
The communication unit receives function information on at least one external device added in a preset network,
The processor is
and updating the information stored in the storage unit based on the received function information on the at least one external device.
상기 프로세서는,
발화 이력 정보에 기초하여 상기 사용자 발화 음성을 처리할 도메인을 결정하여 상기 시스템 응답을 생성하며,
상기 발화 이력 정보는 이전에 수신된 사용자 발화 음성, 상기 이전에 수신된 사용자 발화 음성을 처리한 도메인과 관련된 정보 및 상기 이전에 수신된 사용자 발화 음성에 대응되는 시스템 응답 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치.According to claim 1,
The processor is
determining a domain to process the user's uttered voice based on utterance history information to generate the system response,
The utterance history information includes at least one of a previously received user uttered voice, information related to a domain in which the previously received user uttered voice has been processed, and a system response corresponding to the previously received user uttered voice. electronic device with
상기 도메인 정보는,
상기 대화 주제에 대응되는 태스크 수행을 위한 제어 정보 및 상기 대화 주제 별 대화 패턴 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치. According to claim 1,
The domain information is
The electronic device comprising at least one of control information for performing a task corresponding to the conversation topic and a conversation pattern for each conversation topic.
상기 사용자 발화 음성을 입력받는 마이크부;를 더 포함하는 것을 특징으로 하는 전자 장치. According to claim 1,
The electronic device further comprising; a microphone unit for receiving the user's speech voice.
사용자 발화 음성을 수신하는 단계;
상기 사용자 발화 음성에 대응되는 도메인을 검출하는 단계;
상기 사용자 발화 음성과 상기 검출된 도메인 간의 제1 신뢰도(confidence) 및 상기 사용자 발화 음성과 이전의 사용자 발화 음성을 처리하기 위해 상기 검출된 도메인 이전에 사용된 이전 도메인 간의 제2 신뢰도에 기초하여 상기 검출된 도메인 및 이전 도메인 중 상기 사용자 발화 음성을 처리할 도메인을 결정하는 단계;
상기 검출된 도메인이 상기 사용자 발화 음성을 처리할 도메인으로 선택되면, 상기 이전 도메인과 관련된 정보를 상기 저장부에 저장하는 단계;
상기 선택된 도메인에 기초하여 시스템 응답을 생성하는 단계;
상기 시스템 응답을 출력하는 단계; 및
상기 선택된 도메인에서의 발화 음성 처리가 종료되면, 상기 저장된 이전 도메인과 관련된 정보에 기초하여 신규 발화 음성을 처리하는 단계;를 포함하는, 전자 장치의 제어 방법.In the control method of an electronic device comprising a storage unit for storing domain information categorized by conversation topic,
receiving a user uttered voice;
detecting a domain corresponding to the user's spoken voice;
the detection based on a first confidence between the user uttered voice and the detected domain and a second confidence between the user uttered voice and a previous domain used before the detected domain to process a previous user uttered voice determining a domain to process the user's uttered voice from among the old domain and the previous domain;
storing information related to the previous domain in the storage unit when the detected domain is selected as a domain to process the user's uttered voice;
generating a system response based on the selected domain;
outputting the system response; and
and processing a new spoken voice based on the stored information related to the previous domain when the spoken voice processing in the selected domain is finished.
상기 시스템 응답을 생성하는 단계는,
상기 사용자 발화 음성을 구성하는 적어도 하나의 발화 요소와 상기 검출된 도메인에 속하는 적어도 하나의 발화 요소 간의 동일 여부에 따른 신뢰도 스코어에 기초하여 상기 사용자 발화 음성과 상기 검출된 도메인 간의 신뢰도를 판단하는 것을 특징으로 하는 전자 장치의 제어 방법.12. The method of claim 11,
The step of generating the system response comprises:
and determining the reliability between the user's spoken voice and the detected domain based on a reliability score according to whether at least one speech element constituting the user's speech voice and at least one speech element belonging to the detected domain are identical. A method for controlling an electronic device.
상기 시스템 응답을 생성하는 단계는,
상기 발화 음성에 대응되는 시스템 응답이 상기 결정된 도메인 내에서 적어도 하나의 외부 장치의 기능 제어가 요구되는 컨텍스트에 기초하여 생성되면, 상기 적어도 하나의 외부 장치의 기능에 관한 정보에 기초하여 상기 적어도 하나의 외부 장치의 기능을 제어하기 위한 상기 시스템 응답을 생성하는 것을 특징으로 하는 전자 장치의 제어 방법.12. The method of claim 11,
The step of generating the system response comprises:
When a system response corresponding to the spoken voice is generated based on a context in which function control of at least one external device is required within the determined domain, the at least one and generating the system response for controlling a function of an external device.
기 설정된 네트워크 내에 추가된 적어도 하나의 외부 장치에 대한 기능 정보를 수신하여 기 저장된 상기 외부 장치의 기능에 대한 정보를 업데이트하는 단계;를 더 포함하는 것을 특징으로 하는 전자 장치의 제어 방법.17. The method of claim 16,
The method of controlling an electronic device further comprising: receiving function information on at least one external device added in a preset network and updating the stored information on the function of the external device.
발화 이력 정보에 기초하여 상기 사용자 발화 음성을 처리할 도메인을 결정하여 상기 시스템 응답을 생성하는 단계;를 더 포함하며,
상기 발화 이력 정보는 이전에 수신된 사용자 발화 음성, 상기 이전에 수신된 사용자 발화 음성을 처리한 도메인과 관련된 정보 및 상기 이전에 수신된 사용자 발화 음성에 대응되는 시스템 응답 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치의 제어 방법.12. The method of claim 11,
Generating the system response by determining a domain to process the user's uttered voice based on the utterance history information;
The utterance history information includes at least one of a previously received user uttered voice, information related to a domain in which the previously received user uttered voice has been processed, and a system response corresponding to the previously received user uttered voice. A method for controlling an electronic device.
상기 도메인 정보는,
상기 대화 주제에 대응되는 태스크 수행을 위한 제어 정보 및 상기 대화 주제 별 대화 패턴 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치의 제어 방법.12. The method of claim 11,
The domain information is
and at least one of control information for performing a task corresponding to the conversation topic and a conversation pattern for each conversation topic.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/130,399 US9953648B2 (en) | 2015-05-11 | 2016-04-15 | Electronic device and method for controlling the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562159467P | 2015-05-11 | 2015-05-11 | |
US62/159,467 | 2015-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160132748A KR20160132748A (en) | 2016-11-21 |
KR102411619B1 true KR102411619B1 (en) | 2022-06-21 |
Family
ID=57537917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150128511A KR102411619B1 (en) | 2015-05-11 | 2015-09-10 | Electronic apparatus and the controlling method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102411619B1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102426411B1 (en) * | 2017-06-21 | 2022-07-29 | 삼성전자주식회사 | Electronic apparatus for processing user utterance and server |
KR102448287B1 (en) * | 2017-08-08 | 2022-09-28 | 삼성전자주식회사 | Electronic apparatus and operating method for the same |
KR102080931B1 (en) * | 2017-11-14 | 2020-02-24 | (주) 엔에이치엔다이퀘스트 | Voice dialogue controlling method and apparatus for the same |
KR102517219B1 (en) * | 2017-11-23 | 2023-04-03 | 삼성전자주식회사 | Electronic apparatus and the control method thereof |
KR102515023B1 (en) | 2018-02-23 | 2023-03-29 | 삼성전자주식회사 | Electronic apparatus and control method thereof |
KR102640308B1 (en) | 2018-03-05 | 2024-02-23 | 구글 엘엘씨 | Transitioning between prior dialog contexts with automated assistants |
CN108646580A (en) * | 2018-05-14 | 2018-10-12 | 中兴通讯股份有限公司 | The determination method and device of control object, storage medium, electronic device |
KR20210036527A (en) * | 2019-09-26 | 2021-04-05 | 삼성전자주식회사 | Electronic device for processing user utterance and method for operating thereof |
KR20220057249A (en) * | 2020-10-29 | 2022-05-09 | 삼성전자주식회사 | Electronic apparatus for processing user utterance and controlling method thereof |
CN116097348A (en) | 2020-11-11 | 2023-05-09 | 三星电子株式会社 | Electronic device, system and control method thereof |
WO2023113227A1 (en) * | 2021-12-16 | 2023-06-22 | 삼성전자주식회사 | Electronic apparatus and method for controlling external apparatus |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101622111B1 (en) * | 2009-12-11 | 2016-05-18 | 삼성전자 주식회사 | Dialog system and conversational method thereof |
KR101387928B1 (en) * | 2010-06-24 | 2014-04-22 | 에스케이플래닛 주식회사 | Home media device, system and method using it |
KR102211595B1 (en) * | 2012-12-07 | 2021-02-04 | 삼성전자주식회사 | Speech recognition apparatus and control method thereof |
-
2015
- 2015-09-10 KR KR1020150128511A patent/KR102411619B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20160132748A (en) | 2016-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102411619B1 (en) | Electronic apparatus and the controlling method thereof | |
US9953648B2 (en) | Electronic device and method for controlling the same | |
US20230267921A1 (en) | Systems and methods for determining whether to trigger a voice capable device based on speaking cadence | |
KR102505597B1 (en) | Voice user interface shortcuts for an assistant application | |
KR102309540B1 (en) | Server for seleting a target device according to a voice input, and controlling the selected target device, and method for operating the same | |
EP3788620B1 (en) | Supplementing voice inputs to an automated assistant according to selected suggestions | |
KR20200034430A (en) | Electronic apparatus, system and method for using speech recognition service | |
KR20140089863A (en) | Display apparatus, Method for controlling display apparatus and Method for controlling display apparatus in Voice recognition system thereof | |
KR20140089861A (en) | display apparatus and method for controlling the display apparatus | |
US11721343B2 (en) | Hub device, multi-device system including the hub device and plurality of devices, and method of operating the same | |
JP7170739B2 (en) | Reduced client device latency in rendering remotely generated Automation Assistant content | |
US10952075B2 (en) | Electronic apparatus and WiFi connecting method thereof | |
US11769490B2 (en) | Electronic apparatus and control method thereof | |
KR20220143622A (en) | Electronic apparatus and control method thereof | |
US11150923B2 (en) | Electronic apparatus and method for providing manual thereof | |
TW201804459A (en) | Method of switching input modes, mobile communication device and computer-readable medium allowing users to switch, in presence of large amount of ambient noises, from a voice input mode to a text input mode while operating a financial software | |
KR20210098250A (en) | Electronic device and Method for controlling the electronic device thereof | |
KR20200127823A (en) | The hub device, multi device system comprising the hub device and a plurality of devices and method operating the same | |
KR102089593B1 (en) | Display apparatus, Method for controlling display apparatus and Method for controlling display apparatus in Voice recognition system thereof | |
US11527247B2 (en) | Computing device and method of operating the same | |
KR102124396B1 (en) | Display apparatus, Method for controlling display apparatus and Method for controlling display apparatus in Voice recognition system thereof | |
KR102091006B1 (en) | Display apparatus and method for controlling the display apparatus | |
KR20160022326A (en) | Display apparatus and method for controlling the display apparatus | |
KR102045539B1 (en) | Display apparatus, Method for controlling display apparatus and Method for controlling display apparatus in Voice recognition system thereof | |
WO2020017165A1 (en) | Information processing device, information processing system, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |