KR20230102506A - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR20230102506A
KR20230102506A KR1020210192699A KR20210192699A KR20230102506A KR 20230102506 A KR20230102506 A KR 20230102506A KR 1020210192699 A KR1020210192699 A KR 1020210192699A KR 20210192699 A KR20210192699 A KR 20210192699A KR 20230102506 A KR20230102506 A KR 20230102506A
Authority
KR
South Korea
Prior art keywords
voice input
command
user voice
identified
user
Prior art date
Application number
KR1020210192699A
Other languages
English (en)
Inventor
박준현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210192699A priority Critical patent/KR20230102506A/ko
Priority to PCT/KR2022/021373 priority patent/WO2023128547A1/ko
Priority to US18/297,948 priority patent/US20230245656A1/en
Publication of KR20230102506A publication Critical patent/KR20230102506A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Landscapes

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

Abstract

전자 장치 및 이의 제어 방법이 제공 된다. 전자 장치는 사용자 음성 입력을 수신하는 단계; 사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도를 획득하는 단계; 기 저장된 복수의 명령어 중 획득된 텍스트에 대응하는 적어도 하나의 명령어를 식별하는 단계; 획득된 텍스트에 포함된 기설정된 단어에 대응한 필터 정보와 정확도에 기초하여, 복수의 기 설정된 동작 중 사용자 음성 입력에 대응하는 동작을 식별하는 단계; 및 적어도 하나의 명령어 및 식별된 동작을 기초로, 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하는 단계;를 포함한다.

Description

전자 장치 및 이의 제어 방법{ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 사용자 음성 입력에 대응하는 응답을 제공하는 전자 장치 및 이의 제어 방법에 관한 것이다.
최근 인공지능 시스템이 다양한 분야에서 이용되고 있다. 특히, 인공지능 시스템은 사용자 음성 입력을 포함하는 오디오 데이터를 활용하는 분야에서도 널리 이용되고 있다.
구체적으로, 사용자 음성 입력이 수신되면, 전자 장치는 사용자 음성 입력에 대한 텍스트를 획득하고, 텍스트를 바탕으로 사용자 음성 입력에 대응하는 기능을 실행할 수 있다.
이에, 종래에는 자연어 처리 기술 및 오디오 데이터를 활용하는 기술의 발전으로, 자연어 처리 및 음성 인식 단계에서의 오디오 데이터의 보완 방법이 크게 대두되고 있다. 이에 따라 종래에는 오디오 데이터뿐만 아니라, 사용자 컨텍스트를 이용한 인식률 향상 방법 및 응답 제공 방법이 제시되고 있으나, 사용자 컨텍스트를 수집하기 위해 추가적인 장치들이 필요하며, 이를 부담스러워 하는 사용자들로 인해 실직적인 활용이 아직까지 어려운 상황이다.
따라서, 사용자 음성 입력 만으로 사용자에게 적합한 응답을 제공할 수 있는 방법의 필요성이 대두되고 있다.
본 개시는 상술한 필요성을 바탕으로 안출된 것으로, 본 개시의 목적은 사용자 음성 입력을 바탕으로, 다양한 응답을 제공하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른, 전자 장치의 제어 방법은, 사용자 음성 입력을 수신하는 단계; 상기 사용자 음성 입력에 대응하는 텍스트 및 상기 텍스트에 대한 정확도를 획득하는 단계; 기 저장된 복수의 명령어 중 상기 획득된 텍스트에 대응하는 적어도 하나의 명령어를 식별하는 단계; 상기 획득된 텍스트에 포함된 기설정된 단어에 대응한 필터 정보와 상기 정확도에 기초하여, 복수의 기 설정된 동작 중 상기 사용자 음성 입력에 대응하는 동작을 식별하는 단계; 및 상기 적어도 하나의 명령어 및 상기 식별된 동작을 기초로, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 상기 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하는 단계;를 포함한다.
그리고, 상기 동작을 식별하는 단계는, 상기 획득된 텍스트에 포함된 단어 중 기설정된 제1 유형의 단어가 식별되면 상기 제1 유형의 단어에 따라 상기 필터 정보에 대응되는 제1 값을 증가시키고, 상기 획득된 텍스트에 포함된 단어 중 기설정된 제2 유형의 단어가 식별되면 상기 제2 유형의 단어에 따라 상기 필터 정보에 대응되는 제1 값을 감소시키는 단계; 상기 정확도의 값이 높을수록 상기 정확도에 대응되는 제2 값을 감소시키고, 상기 정확도의 값이 낮을수록 상기 정확도에 대응되는 제2 값을 증가시키는 단계; 및 상기 제1 값 및 상기 제2 값을 합산한 값에 기초하여 복수의 기 설정된 동작 중 상기 사용자 음성 입력에 대응하는 동작을 식별하는 단계;를 포함할 수 있다.
그리고, 상기 수행하는 단계는, 상기 텍스트와 상기 적어도 하나의 명령어 각각의 유사도에 기초하여 명령어에 대응하는 기능을 실행할 것으로 식별되면, 상기 적어도 하나의 명령어 중 상기 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능을 실행하는 단계; 및 상기 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 명령어와 상기 식별된 동작을 기초로 상기 사용자 음성 입력에 대응하는 응답 제공을 수행하는 단계;를 포함할 수 있다.
그리고, 상기 명령어에 대응하는 기능을 실행하지 않는 것으로 식별되면, 상기 식별된 동작을 기초로 상기 사용자 음성 입력에 대응하는 응답 제공을 수행하는 단계;를 포함할 수 있다.
그리고, 상기 동작을 식별하는 단계는, 상기 합산한 값이 제1 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제1 동작으로 식별하는 단계;를 포함하고, 상기 수행하는 단계는, 상기 사용자 음성 입력에 대응하는 동작이 제1 동작인 것으로 식별되면, 상기 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공하는 단계;를 포함할 수 있다.
그리고, 상기 응답을 제공하는 단계는, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 적어도 하나의 명령어 중 상기 실행된 기능에 대응하는 명령어를 제외한 나머지 명령어에 대응하는 리스트를 제공하는 단계; 및 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 적어도 하나의 명령어에 대응하는 리스트를 제공하는 단계;를 더 포함할 수 있다.
그리고, 상기 동작을 식별하는 단계는, 상기 합산한 값이 제2 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제2 동작으로 식별하는 단계;를 포함하고, 상기 수행하는 단계는, 상기 사용자 음성 입력에 대응하는 동작이 제2 동작인 것으로 식별되면, 상기 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공하는 단계;를 포함할 수 있다.
그리고, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행되는 기능이 실행된 이후에 제공될 수 있는 관련 명령어 리스트를 제공하는 단계; 및 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 적어도 하나의 명령어에 대응하는 리스트를 제공하는 단계;를 포함할 수 있다.
그리고, 상기 동작을 식별하는 단계는, 상기 합산한 값이 제3 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제3 동작으로 식별하는 단계;를 포함하고, 상기 수행하는 단계는, 상기 사용자 음성 입력에 대응하는 동작이 제3 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 텍스트 및 음성 응답을 제공하는 단계; 및 상기 사용자 음성 입력에 대응하는 동작이 제3 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 기능이 실행되지 않음을 알리는 텍스트 및 음성 응답을 제공하는 단계;를 포함할 수 있다.
그리고, 상기 동작을 식별하는 단계는, 상기 합산한 값이 제4 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제4 동작으로 식별하는 단계;를 포함하고, 상기 수행하는 단계는, 상기 사용자 음성 입력에 대응하는 동작이 제4 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 텍스트를 제공하는 단계; 및 상기 사용자 음성 입력에 대응하는 동작이 제4 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 기능이 실행되지 않음을 알리는 텍스트를 제공하는 단계;를 포함할 수 있다.
그리고, 상기 동작을 식별하는 단계는, 상기 합산한 값이 제5 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제5 동작으로 식별하는 단계;를 포함하며, 상기 사용자 음성 입력에 대응하는 동작이 제5 동작인 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 응답을 제공하지 않는 것을 특징으로 할 수 있다.
그리고, 상기 제1 유형의 단어는, 욕설에 대응되는 단어를 포함하며, 상기 제2 유형의 단어는, 칭찬에 대응되는 단어를 포함하는 것을 특징으로 할 수 있다.
한편, 본 개시의 일 실시 예에 따른, 전자 장치는 적어도 하나의 인스트럭션을 포함하는 메모리, 상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 사용자 음성 입력을 수신하고, 상기 사용자 음성 입력에 대응하는 텍스트 및 상기 텍스트에 대한 정확도를 획득하고, 기 저장된 복수의 명령어 중 상기 획득된 텍스트에 대응하는 적어도 하나의 명령어를 식별하고, 상기 획득된 텍스트에 포함된 기설정된 단어에 대응한 필터 정보와 상기 정확도에 기초하여, 복수의 기 설정된 동작 중 상기 사용자 음성 입력에 대응하는 동작을 식별하고, 상기 적어도 하나의 명령어 및 상기 식별된 동작을 기초로, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 상기 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행할 수 있다.
그리고, 상기 프로세서는, 상기 획득된 텍스트에 포함된 단어 중 기설정된 제1 유형의 단어가 식별되면 상기 제1 유형의 단어에 따라 상기 필터 정보에 대응되는 제1 값을 증가시키고, 상기 획득된 텍스트에 포함된 단어 중 기설정된 제2 유형의 단어가 식별되면 상기 제2 유형의 단어에 따라 상기 필터 정보에 대응되는 제1 값을 감소시키며, 상기 정확도의 값이 높을수록 상기 정확도에 대응되는 제2 값을 감소시키며, 상기 정확도의 값이 낮을수록 상기 정확도에 대응되는 제2 값을 증가시키고, 상기 제1 값 및 상기 제2 값을 합산한 값에 기초하여 복수의 기 설정된 동작 중 상기 사용자 음성 입력에 대응하는 동작을 식별할 수 있다.
그리고, 상기 프로세서는, 상기 텍스트와 상기 적어도 하나의 명령어 각각의 유사도에 기초하여 명령어에 대응하는 기능을 실행할 것으로 식별되면, 상기 적어도 하나의 명령어 중 상기 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능을 실행하고, 상기 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 명령어와 상기 식별된 동작을 기초로 상기 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다.
그리고, 상기 프로세서는, 상기 명령어에 대응하는 기능을 실행하지 않는 것으로 식별되면, 상기 식별된 동작을 기초로 상기 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다.
그리고, 상기 프로세서는, 상기 합산한 값이 제1 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제1 동작으로 식별하고, 상기 사용자 음성 입력에 대응하는 동작이 제1 동작인 것으로 식별되면, 상기 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공할 수 있다.
그리고, 상기 프로세서는, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 적어도 하나의 명령어 중 상기 실행된 기능에 대응하는 명령어를 제외한 나머지 명령어에 대응하는 리스트를 제공하고, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 적어도 하나의 명령어에 대응하는 리스트를 제공할 수 있다.
그리고, 상기 프로세서는, 상기 합산한 값이 제2 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제2 동작으로 식별하고, 상기 사용자 음성 입력에 대응하는 동작이 제2 동작인 것으로 식별되면, 상기 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공할 수 있다.
그리고, 상기 프로세서는, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행되는 기능이 실행된 이후에 제공될 수 있는 관련 명령어 리스트를 제공하고, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 적어도 하나의 명령어에 대응하는 리스트를 제공할 수 있다.
그리고, 상기 프로세서는, 상기 합산한 값이 제3 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제3 동작으로 식별하고, 상기 사용자 음성 입력에 대응하는 동작이 제3 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 텍스트 및 음성 응답을 제공하고, 상기 사용자 음성 입력에 대응하는 동작이 제3 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 기능이 실행되지 않음을 알리는 텍스트 및 음성 응답을 제공할 수 있다.
그리고, 상기 프로세서는, 상기 합산한 값이 제4 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제4 동작으로 식별하고, 상기 사용자 음성 입력에 대응하는 동작이 제4 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 텍스트를 제공하고, 상기 사용자 음성 입력에 대응하는 동작이 제4 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 기능이 실행되지 않음을 알리는 텍스트를 제공할 수 있다.
그리고, 상기 프로세서는, 상기 합산한 값이 제5 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제5 동작으로 식별하고, 상기 사용자 음성 입력에 대응하는 동작이 제5 동작인 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 응답을 제공하지 않는 것을 특징으로 할 수 있다.
그리고, 상기 제1 유형의 단어는, 욕설에 대응되는 단어를 포함하며, 상기 제2 유형의 단어는, 칭찬에 대응되는 단어를 포함하는 것을 특징으로 할 수 있다.
상술한 바와 같은 다양한 실시 예들에 의해, 전자 장치는 사용자 음성 입력 만을 통해 다양한 응답을 제공할 수 있다.
도 1은 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하기 위한 구체적인 방법을 설명하기 위한 도면이다.
도 3a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제1 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 3b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제1 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 4a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제2 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 4b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제2 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 5a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제3 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 5b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제3 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 6a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제4 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 6b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제4 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 7a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제5 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 7b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제5 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 8은 본 개시의 일 실시 예에 따른, 전자 장치의 동작을 설명하기 위한 흐름도 이다.
도 9는 본 개시의 일 실시 예에 따른, 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 10은 본 개시의 일 실시 예에 따른, 전자 장치(100)의 구성을 도시한 블록도이다.
이하에서는 도면을 참조하면, 본 개시의 실시 예에 대하여 상세히 설명한다.
도 1은 전자 장치의 구성을 설명하기 위한 블록도이다.
도 1에 도시된 바와 같이, 본 개시에 따른 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다. 본 개시에 따른 전자 장치(100)는 사용자 단말 장치 또는 가전 제품으로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 적어도 하나의 서버로 구현될 수 있다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 구체적으로, 메모리(110)에는 적어도 하나의 인스트럭션이 저장될 수 있다. 프로세서(120)는 메모리(110)에 저장된 인스트럭션을 실행함으로써 전자 장치(100)의 동작을 수행할 수 있다.
메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(110)에는 디스플레이의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
또한, 메모리(110)는 음성 인식 시스템을 수행하기 위한 인공지능 에이전트를 저장할 수 있다. 구체적으로, 전자 장치(100)는 사용자 발화에 대한 응답으로 자연어를 생성하기 위하여 인공지능 에이전트(Artificial intelligence agent)를 이용할 수 있다. 이때, 인공지능 에이전트는 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램이다. 특히, 인공지능 에이전트는 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다.
프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), AP(application processor) 등과 같은 범용 프로세서, GPU(Graphics Processing Unit). VPU(Visual Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit) 와 같은 인공지능 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
프로세서(120)는 운영 체제 또는 응용 프로그램을 구동하여 프로세서(120)에 연결된 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 또한, 프로세서(120)는 다른 구성요소들 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장할 수 있다.
프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(120)는 사용자 음성 입력을 수신할 수 있다. 일 예로, 프로세서(120)는 전자 장치(100)에 포함된 마이크를 통해 사용자 음성 입력을 수신할 수 있다. 일 예로, 프로세서(120)는 전자 장치(100) 외부의 마이크(예로, 리모컨의 마이크)를 통해 사용자 음성 입력을 수신할 수 있다. 일 예로, 프로세서(120)는 전자 장치(100)와 통신 가능한 사용자 단말 장치(예로, 스마트폰)을 통해 사용자 음성 입력을 수신할 수 있다.
그리고, 프로세서(120)는 사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도를 획득할 수 있다. 구체적으로, 프로세서(120)는 사용자 음성 입력을 ASR 모델에 입력하여, 사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도 정보를 획득할 수 있다. 여기서, ASR 모델은 음성 신호를 텍스트로 변환하기 위한 모델일 수 있으며, 음성 신호를 입력 받아 음성 신호에 대응하는 텍스트를 출력할 수 있다. 일 예로, 인공지능 모델로 구현될 수 있다. 그리고, 일 예로, 프로세서(120)는 ASR 모델에 사용자 음성 입력을 입력하기 이전에, 사용자 음성 입력에 대한 전 처리를 수행하여 사용자 음성 입력을 적적한 음성 신호로 변환한 후, 변환된 음성 신호를 ASR 모델에 입력할 수 있다. 그리고, ASR 모델은 텍스트와 함께, 출력된 텍스트에 대한 정확도 정보를 출력할 수 있다. 여기서, 정확도 정보는 ASR 모델에 입력된 사용자 음성 입력과 ASR 모델에서 출력된 텍스트 간의 정확도에 대한 정보이며, 정확도가 높을수록 ASR 모델에서 출력된 텍스트가 ASR 모델에 입력된 사용자 음성 입력을 잘 반영할 수 있다.
그리고, 프로세서(120)는 메모리(110)에 기 저장된 복수의 명령어 중 획득된 텍스트에 대응하는 적어도 하나의 명령어를 획득할 수 있다. 일 예로, 메모리(110)에는 사용자 음성 입력에 대응하는 기능을 제공하기 위한 복수의 명령어들이 저장되어 있을 수 있다. 프로세서(120)는 메모리(110)에 기 저장된 복수의 명령어들과 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트를 비교하여, 복수의 명령어 중 사용자 음성 입력에 대응하는 텍스트에 대응하는 적어도 하나의 명령어를 식별할 수 있다. 일 예로, 프로세서(120)는 메모리(110)에 기 저장된 복수의 명령어 각각과 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트 간의 유사도를 획득하고, 획득한 유사도를 바탕으로 복수의 명령어 중 적어도 하나의 명령어를 식별할 수 있다. 구체적으로, 프로세서(120)는 유클리디언(Euclidean) 유사도 측정 방식 또는 기계 학습을 통한 유사도 측정 방식 등 유사도를 수치화할 수 있는 알고리즘을 이용하여 메모리(110)에 기 저장된 복수의 명령어 각각과 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트 간의 유사도를 획득할 수 있다.
일 실시 예로, 프로세서(120)는 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 적어도 하나의 명령어를 식별할 수 있다. 또 다른 실시 예로. 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 명령어가 식별되지 않으면, 프로세서(120)는 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값이 높은 기 설정 개수(예로, 3개)의 명령어를 식별할 수 있다.
그리고, 프로세서(120)는 획득된 텍스트에 포함된 기 설정된 단어에 대응한 필터 정보와 텍스트에 대한 정확도에 기초하여 복수의 기 설정된 동작 중 사용자 음성 입력에 대응하는 동작을 식별할 수 있다. 여기서, 기 설정된 동작은 사용자의 음성 입력에 대응하는 다양한 응답을 제공하기 위한 복수의 동작 유형을 포함할 수 있다. 일 예로, 기 설정된 동작은 가장 적극적인 응답을 제공하는 제1 동작, 적극적인 응답을 제공하는 제2 동작, 기본적인 응답을 제공하는 제3 동작, 간소화된 응답을 제공하는 제4 동작 및 최소화 응답을 제공하는 제5 동작을 포함할 수 있다.
그리고, 본 개시에 따른 필터 정보는 ASR 모델을 통해 획득된 텍스트에 기 설정된 단어가 포함되어 있는지 여부에 대한 정보일 수 있다. 구체적으로, 획득된 텍스트에 포함된 단어 중 기설정된 제1 유형의 단어가 식별되면, 프로세서(120)는 제1 유형의 단어에 따라 필터 정보에 대응되는 제1 값을 높아지도록 설정할 수 있다. 그리고, 획득된 텍스트에 포함된 단어 중 기설정된 제2 유형의 단어가 식별되면, 프로세서(120)는 제2 유형의 단어에 따라 필터 정보에 대응되는 제1 값을 낮아지도록 설정할 수 있다. 일 예로, 제1 유형의 단어는 칭찬에 대응하는 단어 또는 긍정적인 단어를 포함할 수 있으며, 제2 유형의 단어는 욕설에 대응하는 단어 또는 부정적인 단어를 포함할 수 있다. 일 예로, 프로세서(120)는 ASR 모델에서 획득된 텍스트에 칭찬에 대응하는 제1 유형의 단어가 식별되면, 필터 정보에 대응하는 제1 값을 높임(예로 +0.1)으로, 적극적인 응답을 제공하는 방향으로 응답을 제공하도록 제어할 수 있다. 그리고, 프로세서(120)는 ASR 모델에서 획득된 텍스트에 욕설에 대응하는 제2 유형의 단어가 식별되면, 필터 정보에 대응하는 제1 값을 낮춤(예로 -0.1)으로, 최소화 응답을 제공하는 방향으로 응답을 제공하도록 제어할 수 있다.
다만, 본 개시는 이에 한정되지 않고, 제1 유형의 단어는 응답 유형을 적극적인 응답으로 제공하기 위한 단어 유형을 포함할 수 있으며, 제2 유형의 단어는 응답 유형을 최소화 응답으로 제공하기 위한 단어 유형을 포함할 수 있다. 일 예로, 사용자가 부엌에서 요리를 하고 있는 경우 사용자가 전자 장치(100)를 제어하기에 불편할 수 있으므로 부엌 또는 요리에 대응하는 단어를 제1 유형의 단어로 설정할 수 있다. 그리고, 부엌 또는 요리에 대응하는 단어가 식별되면, 프로세서(120)는 적극적인 응답을 제공하는 방향으로 응답을 제공하도록 제어할 수 있다. 일 예로, 사용자가 거실이나, 침실에 위치 하고 있는 경우 사용자가 전자 장치(100)를 제어하기에 수월할 수 있으므로 거실 또는 침실에 대응하는 단어를 제2 유형의 단어로 설정할 수 있다. 그리고, 거실 또는 침실에 대응하는 단어가 식별되면, 프로세서(120)는 최소화 응답을 제공하는 방향으로 응답을 제공하도록 제어할 수 있다. 이러한, 제1 유형의 단어 및 제2 유형의 단어는 전자 장치(100)의 제조사에 의해 기설정되거나, 사용자에 의해 설정될 수 있다.
그리고, 프로세서(120)는 ASR 모델에서 획득된 텍스트의 정확도 값이 높을수록(예로, 1) 정확도에 대응되는 제2 값이 낮아지도록(예로, 0) 설정하고, 정확도 값이 낮을수록(예로, 0) 정확도에 대응되는 제2 값이 높아지도록(예로, 1) 설정할 수 있다. 즉, 프로세서(120)는 ASR 모델에서 획득된 텍스트의 정확도 값이 낮을 수록 적극적인 응답을 제공하는 방향으로 응답을 제공하고, 정확도 값이 높을 수록 최소화 응답을 제공하는 방향으로 응답을 제공하도록 제어할 수 있다.
그리고, 프로세서(120)는 제1 값 및 제2 값을 합산한 값에 기초하여 복수의 기설정된 동작 중 사용자 음성 입력에 대응하는 동작을 식별할 수 있다. 일 예로, 합산한 값의 범위는 0에서 1사이의 범위일 수 있으며, 제1 값 및 제2 값에 따라 0보다 낮거나 1보다 높을 수 있다. 일 예로, 합산한 값이 제1 범위(0.8 초과) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제1 동작으로 식별할 수 있다. 그리고, 합산한 값이 제2 범위(0.6 초과 0.8 이하) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제2 동작으로 식별할 수 있다. 합산한 값이 제3 범위(0.4 초과 0.6 이하) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제3 동작으로 식별할 수 있다. 합산한 값이 제4 범위(0.2 초과 0.4 이하) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제4 동작으로 식별할 수 있다. 합산한 값이 제5 범위(0.2 이하) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제5 동작으로 식별할 수 있다.
그리고, 프로세서(120)는 식별된 적어도 하나의 명령어 및 식별된 동작을 기초로, 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행할 수 있다. 구체적으로, 사용자 음성 입력에 대응하는 응답 제공은 제1 동작 내지 제5 동작 중 식별된 동작에 기초하여 제공될 수 있다. 그리고, 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행은 명령어에 대응하는 기능을 실행할지 여부에 기초하여 제공될 수 있다.
일 실시 예로, 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 적어도 하나의 명령어가 식별되면, 프로세서(120)는 명령어에 대응하는 기능을 실행하는 것으로 식별할 수 있다. 그리고, 프로세서(120)는 식별된 적어도 하나의 명령어 중 하나에 대응하는 기능을 실행할 수 있다.
일 예로, 프로세서(120)는 식별된 적어도 하나의 명령어 중 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능을 실행할 수 있다. 반면, 적어도 하나의 명령어 중 유사도가 가장 높은 명령어가 두 개 이상인 경우, 프로세서(120)는 유사도가 가장 높은 명령어 중 명령어에 대응하는 기능을 수행하기 까지 필요한 인터렉션 횟수가 많은 명령어에 대응하는 기능을 실행할 수 있다. 일 예로, 제1 명령어는 해당 명령어에 대응하는 기능을 수행하기 위해 제1 어플리케이션을 실행하는 제1 인터렉션 및 제1 어플리케이션에서 제1 명령어에 대응하는 검색어를 검색하는 제2 인터렉션을 포함할 수 있다. 그리고, 제2 명령어는 제2 명령어에 대응하는 어플리케이션을 식별하는 제3 인터렉션, 식별된 어플리케이션을 실행하는 제4 인터렉션 및 실행 어플리케이션에서 제2 명령어에 대응하는 검색어를 검색하는 제5 인터렉션을 포함할 수 있다. 이 경우, 제1 명령어 및 제2 명령어가 ASR 모델에서 획득된 텍스트와 유사도가 가장 높은 명령어로 식별되면, 프로세서(120)는 제2 명령어에 대응되는 기능을 실행할 수 있다.
또 다른 실시 예로. 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 명령어가 식별되지 않으면, 프로세서(120)는 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값이 높은 기 설정 개수(예로, 3개)의 명령어를 식별하며, 명령어에 대응하는 기능을 실행하지 않는 것으로 식별할 수 있다.
즉, 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값이 넘는 명령어가 존재하면 프로세서(120)는 명령어에 대응하는 기능을 실행하는 것으로 식별하고, 임계 값이 넘는 명령어가 존재하지 않으면 프로세서(120)는 명령어에 대응하는 기능을 실행하지 않는 것으로 식별할 수 있다. 즉, 명령어에 대응하는 기능을 실행하는 것으로 식별되면, 프로세서(120)는 식별된 적어도 하나의 명령어 중 하나에 대응하는 기능을 실행하면서, 식별된 동작을 기초로 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다. 반면, 명령어에 대응하는 기능을 실행하지 않는 것으로 식별되면, 프로세서(120)는 명령어에 대응하는 기능을 실행하지 않으면서, 식별된 동작을 기초로 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다.
일 실시 예로, 제1 값 및 제2 값을 합산한 값이 제1 범위 제1 범위(0.8 초과) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제1 동작으로 식별할 수 있다. 그리고, 프로세서(120)는 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공할 수 있다. 구체적으로, 사용자 음성 입력에 대응하는 동작이 제1 동작으로 식별되고, 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 프로세서(120)는 메모리(110)에 기 저장된 복수의 명령어 중 ASR 모델을 통해 획득된 텍스트에 대응하는 적어도 하나의 명령어 중, 실행된 기능에 대응하는 명령어를 제외한 나머지 명령어에 대응하는 리스트를 제공할 수 있다. 반면, 사용자 음성 입력에 대응하는 동작이 제1 동작으로 식별되고, 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 프로세서(120)는 식별된 적어도 하나의 명령어에 대응하는 리스트를 제공할 수 있다. 제1 동작에 따른 응답을 제공하는 실시 예에 대해서는 도 3a 및 도 3b를 통해 후술하도록 한다.
일 실시 예로, 제1 값 및 제2 값을 합산한 값이 제2 범위(0.6 초과 0.8 이하) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제2 동작으로 식별할 수 있다. 그리고, 프로세서(120)는 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공할 수 있다. 구체적으로, 사용자 음성 입력에 대응하는 동작이 제2 동작으로 식별되고, 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 프로세서(120)는 실행되는 기능이 실행된 이후에 제공될 수 있는 관련 명령어 리스트를 제공할 수 있다. 반면, 사용자 음성 입력에 대응하는 동작이 제2 동작으로 식별되고, 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 프로세서(120)는 메모리(110)에 기 저장된 복수의 명령어 중 ASR 모델을 통해 획득된 텍스트에 대응하는 적어도 하나의 명령어에 대응하는 리스트를 제공할 수 있다. 제2 동작에 따른 응답을 제공하는 실시 예에 대해서는 도 4a 및 도 4b를 통해 후술하도록 한다.
일 실시 예로, 제1 값 및 제2 값을 합산한 값이 제3 범위(0.4 초과 0.6 이하) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제3 동작으로 식별할 수 있다. 그리고, 사용자 음성 입력에 대응하는 동작이 제3 동작으로 식별되고, 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 프로세서(120)는 실행된 기능에 대응하는 텍스트 및 음성 응답을 제공할 수 있다. 반면, 사용자 음성 입력에 대응하는 동작이 제3 동작으로 식별되고, 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 프로세서(120)는 해당 기능이 실행되지 않음을 알리는 텍스트 및 음성 응답을 제공할 수 있다. 제2 동작에 따른 응답을 제공하는 실시 예에 대해서는 도 5a 및 도 5b를 통해 후술하도록 한다.
일 실시 예로, 제1 값 및 제2 값을 합산한 값이 제4 범위(0.2 초과 0.4 이하) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제4 동작으로 식별할 수 있다. 그리고, 사용자 음성 입력에 대응하는 동작이 제4 동작으로 식별되고, 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 프로세서(120)는 실행된 기능에 대응하는 텍스트를 제공할 수 있다. 반면, 사용자 음성 입력에 대응하는 동작이 제4 동작으로 식별되고, 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 프로세서(120)는 해당 기능이 실행되지 않음을 알리는 텍스트를 제공할 수 있다. 제2 동작에 따른 응답을 제공하는 실시 예에 대해서는 도 6a 및 도 6b를 통해 후술하도록 한다.
일 실시 예로, 제1 값 및 제2 값을 합산한 값이 제5 범위(0.2 이하) 내에 존재하는 것으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 동작을 제5 동작으로 식별할 수 있다. 사용자 음성 입력에 대응하는 동작이 제5 동작으로 식별되면, 프로세서(120)는 사용자 음성 입력에 대응하는 응답을 제공하지 않을 수 있다. 제5 동작에 따른 응답을 제공하지 않는 실시 예에 대해서는 도 7a 및 도 7b를 통해 후술하도록 한다.
도 2는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하기 위한 구체적인 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 전자 장치(100)는 음성 인식 모듈(1000), 유사도 획득 모듈(2000), 필터 모듈(3000) 및 응답 제공 모듈(4000)을 포함할 수 있다. 구체적으로, 전자 장치(100)는 음성 인식 모듈(1000), 유사도 획득 모듈(2000), 필터 모듈(3000) 및 응답 제공 모듈(4000)을 통해 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행할 수 있다. 일 예로, 음성 인식 모듈(1000), 유사도 획득 모듈(2000), 필터 모듈(3000) 및 응답 제공 모듈(4000)은 전자 장치(100)의 메모리(110)에 저장될 수 있으며, 해당 모듈들이 프로세서(120)에 포함된 메모리(예로, 휘발성 메모리)에 로딩될 수 있다. 즉, 전자 장치(100)는 복수의 모듈(1000 내지 4000)을 비휘발성 메모리에서 휘발성 메모리로 로딩하여 복수의 모듈(1000 내지 4000)의 각 기능들을 실행할 수 있다. 로딩(loading)이란, 프로세서(120)가 액세스 할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미한다. 본 개시에 따른 복수의 모듈(1000 내지 4000)은 각각의 소프트웨어로 구현될 수 있으나, 이에 한정되지 않고 일부 모듈은 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또 다른 실시 예로, 복수의 모듈(1000 내지 4000)은 하나의 소프트웨어로 구현될 수 있다. 또한, 일부 모듈은 전자 장치(100) 내에서 구현되고, 다른 일부 모듈은 외부 장치에서 구현될 수 있다.
도 2를 참조하면, 전자 장치(100)는 사용자 음성 입력을 음성 인식 모듈(1000)에 입력하여 사용자 음성 입력에 대응되는 텍스트 및 텍스트에 대한 정확도를 획득할 수 있다. 음성 인식 모듈(1000)은 사용자 음성 입력을 음성 인식하여 텍스트로 변환하기 위한 모듈로 ASR 모델을 포함할 수 있다. 일 예로, 전자 장치(100)는 사용자 음성 입력을 전처리하여 획득된 음성 신호를 음성 인식 모듈(1000)에 입력하여 사용자 음성 입력에 대응되는 텍스트 및 텍스트에 대한 정확도를 획득할 수 있다. 여기서, 정확도는 음성 인식 모듈(1000)에 입력된 사용자 음성 입력과 음성 인식 모듈(1000)에서 출력된 텍스트 간의 정확도에 대한 값을 의미하며, 정확도가 높을수록 음성 인식 모듈(1000)에서 출력된 텍스트가 음성 인식 모듈(1000)에 입력된 사용자 음성 입력을 잘 반영할 수 있다.
일 예로, 사용자 음성 입력에 대응하는 텍스트를 획득하는 음성 인식 모듈(1000)은 사용자 음성 입력에 대응하는 오디오 신호를 텍스트로 변환하는 외부의 STT(Speech To Text) 서버에 의해 동작될 수 있다. 이 경우, 전자 장치(100)는 사용자 음성 입력 외부의 STT 서버에 전송하여, 외부의 STT 서버로부터 사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도를 수신할 수 있다.
그리고, 전자 장치(100)는 음성 인식 모듈(1000)에서 획득된 텍스트를 유사도 획득 모듈(2000)에 입력하여 적어도 하나의 명령어를 획득할 수 있다. 본 개시에 따른, 유사도 획득 모듈(2000) 기 저장된 복수의 명령어 중 사용자 음성 입력에 대응하는 명령어를 식별하기 위한 모듈일 수 있다. 여기서, 적어도 하나의 명령어는 전자 장치(100)에 기 저장된 복수의 명령어 중 사용자 음성 입력에 대응하는 적어도 하나의 명령어일 수 있다. 일 예로, 유사도 획득 모듈(2000)은 기 저장된 복수의 명령어 각각과 음성 인식 모듈(1000)을 통해 획득된 사용자 음성 입력에 대응하는 텍스트 간의 유사도를 획득하고, 획득한 유사도를 바탕으로 복수의 명령어 중 적어도 하나의 명령어를 식별할 수 있다. 구체적으로, 유사도 획득 모듈(2000)는 유클리디언(Euclidean) 유사도 측정 방식 또는 기계 학습을 통한 유사도 측정 방식 등 유사도를 수치화할 수 있는 알고리즘을 이용하여 전자 장치(100)에 기 저장된 복수의 명령어 각각과 음성 인식 모듈(1000)을 통해 획득된 사용자 음성 입력에 대응하는 텍스트 간의 유사도를 획득할 수 있다.
그리고, 유사도 획득 모듈(2000)은 복수의 명령어 중 음성 인식 모듈(1000)을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 적어도 하나의 명령어를 식별할 수 있다. 또 다른 실시 예로, 복수의 명령어 중 음성 인식 모듈(1000)을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 명령어가 식별되지 않으면, 유사도 획득 모듈(2000)은 복수의 명령어 중 음성 인식 모듈(1000)을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값이 높은 기 설정 개수(예로, 3개)의 명령어를 식별할 수 있다.
그리고, 전자 장치(100)는 음성 인식 모듈(1000)에서 획득된 텍스트를 필터 모듈(3000)에 입력하여 사용자 음성 입력에 대응하는 필터 정보를 획득할 수 있다. 본 개시에 따른 필터 모듈(300)은 음성 인식 모듈(1000)에서 획득된 텍스트에 기 설정된 단어가 포함되어 있는지를 식별하기 위한 모듈이다.
구체적으로, 음성 인식 모듈(1000)에서 획득된 텍스트에 포함된 단어 중 기설정된 제1 유형의 단어가 식별되면, 필터 모듈(3000)은 제1 유형의 단어에 따라 필터 정보에 대응되는 제1 값을 높아지도록 설정할 수 있다. 그리고, 음성 인식 모듈(1000)에서 획득된 텍스트에 포함된 단어 중 기설정된 제2 유형의 단어가 식별되면, 필터 모듈(3000)은 제2 유형의 단어에 따라 필터 정보에 대응되는 제1 값을 낮아지도록 설정할 수 있다.
제1 유형의 단어는 칭찬에 대응하는 단어 또는 긍정적인 단어를 포함할 수 있으며, 제2 유형의 단어는 욕설에 대응하는 단어 또는 부정적인 단어를 포함할 수 있다. 다만, 본 개시는 이에 한정되지 않고, 제1 유형의 단어는 응답 유형을 적극적인 응답으로 제공하기 위한 단어 유형을 포함할 수 있으며, 제2 유형의 단어는 응답 유형을 최소화 응답으로 제공하기 위한 단어 유형을 포함할 수 있다. 일 예로, 사용자가 부엌에서 요리를 하고 있는 경우 사용자가 전자 장치(100)를 제어하기에 불편할 수 있으므로 부엌 또는 요리에 대응하는 단어를 제1 유형의 단어로 설정할 수 있다. 그리고, 부엌 또는 요리에 대응하는 단어가 식별되면, 필터 모듈(300)은 제1 값을 높이도록 설정하여 적극적인 응답을 제공하는 방향으로 응답을 제공하도록 제어할 수 있다. 일 예로, 사용자가 거실이나, 침실에 위치 하고 있는 경우 사용자가 전자 장치(100)를 제어하기에 수월할 수 있으므로 거실 또는 침실에 대응하는 단어를 제2 유형의 단어로 설정할 수 있다. 그리고, 거실 또는 침실에 대응하는 단어가 식별되면, 필터 모듈(300)은 제1 값을 낮추도록 설정하여 최소화 응답을 제공하는 방향으로 응답을 제공하도록 제어할 수 있다. 이러한, 제1 유형의 단어 및 제2 유형의 단어는 전자 장치(100)의 제조사에 의해 기설정되거나, 사용자에 의해 설정될 수 있다.
그리고, 응답 제공 모듈(4000)은 적어도 하나의 명령어, 필터 정보 및 텍스트에 대한 정확도를 바탕으로 사용자 음성 입력에 대응하는 응답 제공 및 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 중 적어도 하나를 수행할 수 있다. 본 개시에 따른, 응답 제공 모듈(4000)은 사용자 음성 입력에 대응하는 응답을 제공하기 위한 모듈이다. 구체적으로, 응답 제공 모듈(4000)은 필터 정보를 통해 획득된 제1 값 및 정확도를 통해 획득된 제2 값을 합산한 값에 기초하여 복수의 기설정된 동작 중 사용자 음성 입력에 대응하는 동작을 식별할 수 있다. 앞서, 필터 모듈(3000)에서 필터 정보를 바탕으로 제1 값을 설정하는 것으로 설명 하였는바, 이 경우 필터 정보에는 제1 값에 대한 정보 또한 포함될 수 있다. 다만, 본 개시는 이에 한정되지 않고, 일 예로 필터 모듈(3000)는 텍스트에 기 설정 단어가 포함되어 있는지 여부를 나타내는 필터 정보를 획득하고, 응답 제공 모듈(4000)에서 필터 정보를 바탕으로 제1 값을 설정할 수도 있다.
그리고, 응답 제공 모듈(4000)은 음성 인식 모듈(1000)에서 획득된 텍스트의 정확도 값이 높을수록(예로, 1) 정확도에 대응되는 제2 값이 낮아지도록(예로, 0) 설정하고, 정확도 값이 낮을수록(예로, 0) 정확도에 대응되는 제2 값이 높아지도록(예로, 1) 설정할 수 있다. 즉, 응답 제공 모듈(4000)은 음성 인식 모듈(1000)에서 획득된 텍스트의 정확도 값이 낮을 수록 적극적인 응답을 제공하는 방향으로 응답을 제공하고, 정확도 값이 높을 수록 최소화 응답을 제공하는 방향으로 응답을 제공하도록 제어할 수 있다.
그리고, 응답 제공 모듈(4000)은 제1 값 및 제2 값을 합산한 값에 기초하여 복수의 기설정된 동작 중 사용자 음성 입력에 대응하는 동작을 식별할 수 있다. 일 예로, 합산한 값의 범위는 0에서 1사이의 범위일 수 있으며, 제1 값 및 제2 값에 따라 0보다 낮거나 1보다 높을 수 있다. 일 예로, 합산한 값이 제1 범위(0.8 초과) 내에 존재하는 것으로 식별되면, 응답 제공 모듈(4000)은 사용자 음성 입력에 대응하는 동작을 제1 동작으로 식별할 수 있다. 그리고, 합산한 값이 제2 범위(0.6 초과 0.8 이하) 내에 존재하는 것으로 식별되면, 응답 제공 모듈(4000)은 사용자 음성 입력에 대응하는 동작을 제2 동작으로 식별할 수 있다. 합산한 값이 제3 범위(0.4 초과 0.6 이하) 내에 존재하는 것으로 식별되면, 응답 제공 모듈(4000)은 사용자 음성 입력에 대응하는 동작을 제3 동작으로 식별할 수 있다. 합산한 값이 제4 범위(0.2 초과 0.4 이하) 내에 존재하는 것으로 식별되면, 응답 제공 모듈(4000)은 사용자 음성 입력에 대응하는 동작을 제4 동작으로 식별할 수 있다. 합산한 값이 제5 범위(0.2 이하) 내에 존재하는 것으로 식별되면, 응답 제공 모듈(4000)은 사용자 음성 입력에 대응하는 동작을 제5 동작으로 식별할 수 있다.
그리고, 응답 제공 모듈(4000)은 적어도 하나의 명령어를 바탕으로, 사용자 음성 입력에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 실시 예로, 유사도 획득 모듈(2000)에서 기 저장된 복수의 명령어 중 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 적어도 하나의 명령어가 존재하는 것으로 식별된 경우, 응답 제공 모듈(4000)은 사용자 음성 입력에 대응하는 명령어에 대한 기능을 실행하는 것으로 식별할 수 있다. 반면, 유사도 획득 모듈(2000)에서 기 저장된 복수의 명령어 중 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 명령어가 존재하지 않는 것으로 식별된 경우, 응답 제공 모듈(4000)은 사용자 음성 입력에 대응하는 명령어에 대한 기능을 실행하지 않는 것으로 식별할 수 있다.
그리고, 명령어에 대한 기능을 실행하는 것으로 식별되면, 응답 제공 모듈(4000)은 식별된 적어도 하나의 명령어 중 하나에 대응하는 기능을 실행하면서, 식별된 동작을 기초로 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다. 반면, 명령어에 대한 기능을 실행하지 않는 것으로 식별되면, 응답 제공 모듈(4000)은 명령어에 대응하는 기능을 실행하지 않으면서, 식별된 동작을 기초로 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다.
식별된 사용자 음성 입력에 대응하는 동작의 유형 및 명령어에 대응하는 기능의 실행 여부에 따라 다양한 응답을 제공하는 실시 예들에 대해서는 도 3a 내지 도 7b를 통해 후술하도록 한다.
도 2에서는 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하기 위한 기능 들이, 전자 장치(100) 내에서 구현되는 것으로 설명하였으나, 본 개시는 이에 한정되지 않는다.
일 실시 예로, 도 2에 따른 음성 인식 모듈(1000), 유사도 획득 모듈(2000), 필터 모듈(3000) 및 응답 제공 모듈(4000)에서 수행되는 기능들은 외부의 서버에 의해 수행될 수 있다. 이 경우, 전자 장치(100)는 사용자 음성 입력을 외부 서버에 전송하여, 외부 서버로부터 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하기 위한 정보를 수신할 수 있다. 그리고, 전자 장치(100)는 수신한 정보를 이용하여 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행할 수 있다.
일 실시 예로, 앞서 상술한 바와 같이, 음성 인식 모듈(1000)이 외부의 STT 서버에서 동작되는 경우, 유사도 획득 모듈(2000), 필터 모듈(3000) 및 응답 제공 모듈(4000) 또한, 외부의 STT 서버에 의해 동작될 수 있다.
일 실시 예로, 음성 인식 모듈(1000)이 외부의 STT 서버에서 동작되어 외부의 STT 서버에서 수행되어 텍스트 및 정확도가 획득되면, STT 서버는 유사도 획득 모듈(2000), 필터 모듈(3000) 및 응답 제공 모듈(4000)의 기능이 수행되는 또 다른 서버로 텍스트 및 정확도를 전송할 수 있다. 그리고, 전자 장치(100)는 또 다른 서버로부터 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하기 위한 정보를 수신할 수 있다. 그리고, 전자 장치(100)는 수신한 정보를 이용하여 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행할 수 있다.
도 3a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제1 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 3a를 참조하면, 사용자는 '안녕 똑똑한 빅스비야 음악 틀어줘'의 제1 사용자 음성 입력(310)을 발화할 수 있다. 여기서, '빅스비'는 전자 장치(100)의 음성 인식 기능을 활성화하기 위한 트리거 음성일 수 있으며, 트리거 음성은 음성 인식 시스템에 따라 다양할 수 있다. 그리고, 전자 장치(100)는 제1 사용자 음성 입력(310)을 수신하고, 제1 사용자 음성 입력(310)에 대응하는 동작을 식별하고, 제1 사용자 음성 입력(310)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제1 사용자 음성 입력(310)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높지 않아(예로, 0.5 미만) 제2 값이 높게(예로, 0.6) 설정될 수 있다. 또한, 제1 사용자 음성 입력(310)에는 '똑똑한'과 같은 칭찬에 대응하는 제1 유형의 단어가 포함되어 있으므로, '똑똑한' 단어를 바탕으로 제1 값이 높게(예로, +0.1) 설정될 수 있다. 또한, 제1 사용자 음성 입력(310)에 포함된 '안녕', '빅스비야'의 단어 또한, 제1 유형의 단어로 식별될 수 있어, '안녕', '빅스비야' 단어를 바탕으로 제1 값이 높게(예로, +0.2) 설정될 수 있다. 즉, 제1 유형의 단어는 '칭찬'에 대응하는 단어에 한정되지 않으며, 긍정적인 단어 유형들 또한 제1 유형의 단어에 포함될 수 있다. 따라서, '똑똑한', '안녕' 및 '빅스비야'의 단어를 반영하여 제1 값이 높게(예로, +0.3) 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값이 제1 범위(0.8 초과) 내에 존재하는 것으로 식별하고, 제1 사용자 음성 입력(310)에 대응하는 동작을 제1 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제1 사용자 음성 입력(310)에 대응하는 텍스트와 유사도가 임계값을 넘는 적어도 하나의 명령어를 식별할 수 있다. 도 3a의 실시 예에 따른, 적어도 하나의 명령어는 A 어플리케이션을 실행하여 음악을 재생하는 제1 명령어, B 어플리케이션을 실행하여 음악을 재생하는 제2 명령어 및 C 어플리케이션을 통해 전자 장치(100)에 저장된 음악을 재생하는 제3 명령어를 포함할 수 있다.
그리고, 전자 장치(100)는 도 1 및 도 2에 설명한 실시 예들에 따라 제1 명령어, 제2 명령어 및 제3 명령어 중 명령어에 대한 기능을 실행할 명령어를 제1 명령어로 식별할 수 있다. 일 예로, 제1 명령어가 제1 사용자 음성 입력(310)에 대응하는 텍스트와 유사도가 가장 높을 수 있다.
그리고, 전자 장치(100)는 제1 명령어에 대응하는 기능을 실행하면서, 제1 동작에 따른 응답을 제공할 수 있다. 전자 장치(100)는 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생할 수 있다. 그리고, 전자 장치(100)는 제2 명령어 및 제3 명령어에 대응하는 리스트를 제공할 수 있다. 즉, 도 3a를 참조하면, 전자 장치(100)는 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생하며, 전자 장치(100)의 디스플레이에 제2 명령어에 대응하는 기능을 실행하기 위한 아이콘(31-1) 및 제3 명령어에 대응하는 기능을 실행하기 위한 아이콘(31-2)을 표시할 수 있다. 그리고, 전자 장치(100)는 제1 명령어 대한 기능이 실행되며, 제2 명령어 및 제3 명령어에 대응하는 리스트가 제공되었음을 알리는 음성을 출력할 수 있다. 일 예로, 제2 명령어에 대응하는 기능을 실행하기 위한 아이콘(31-1)이 선택되면, 전자 장치(100)는 제2 명령어에 따라 B 어플리케이션을 실행하여 음악을 재생할 수 있다. 일 예로, 제3 명령어에 대응하는 기능을 실행하기 위한 아이콘(31-2)이 선택되면, 전자 장치(100)는 제3 명령어에 따라 C 어플리케이션을 통해 전자 장치(100)에 저장된 음악을 재생할 수 있다.
도 3b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제1 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 3b를 참조하면, 사용자는 '안녕 똑똑한 빅스비야 날씨 뭐야'의 제2 사용자 음성 입력(320)을 발화할 수 있다. 그리고, 전자 장치(100)는 제2 사용자 음성 입력(320)을 수신하고, 제2 사용자 음성 입력(320)에 대응하는 동작을 식별하고, 제2 사용자 음성 입력(320)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제2 사용자 음성 입력(320)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높지 않아(예로, 0.5 미만) 제2 값이 높게(예로, 0.6) 설정될 수 있다. 또한, 제1 사용자 음성 입력(310)에 포함된 '안녕', '빅스비야'의 단어 또한, 제1 유형의 단어로 식별될 수 있어, '안녕', '빅스비야' 단어를 바탕으로 제1 값이 높게(예로, +0.2) 설정될 수 있다. 즉, 제1 유형의 단어는 '칭찬'에 대응하는 단어에 한정되지 않으며, 긍정적인 단어 유형들 또한 제1 유형의 단어에 포함될 수 있다. 따라서, '똑똑한', '안녕' 및 '빅스비야'의 단어를 반영하여 제1 값이 높게(예로, +0.3) 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값이 제1 범위(0.8 초과) 내에 존재하는 것으로 식별하고, 제1 사용자 음성 입력(310)에 대응하는 동작을 제1 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제2 사용자 음성 입력(320)에 대응하는 텍스트와 유사도가 임계값(예로, 0.7)을 넘는 명령어가 존재하지 않는 것으로 식별할 수 있다. 그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제2 사용자 음성 입력(320)에 대응하는 텍스트와 유사도가 높은 기 설정 개수(예로, 2개)의 명령어를 식별할 수 있다. 일 예로, 전자 장치(100)는 현재 시간의 날씨에 대한 정보를 알려주는 제4 명령어 및 오늘 하루의 날씨에 대한 정보를 알려주는 제5 명령어를 식별할 수 있다. 여기서, 제4 명령어 및 제5 명령어는 제2 사용자 음성 입력(320)에 대응하는 텍스트와 유사도가 임계값(예로, 0.7)을 넘지는 않으나, 유사도가 가장 높은 2개의 명령어일 수 있다. 그리고, 제4 명령어 및 제5 명령어와 제2 사용자 음성 입력(320)에 대응하는 텍스트와의 유사도가 임계값이 넘지 않으므로, 전자 장치(100)는 제2 사용자 음성 입력(320)에 대응하는 명령어를 실행하지 않는 것으로 식별할 수 있다.
그리고, 전자 장치(100)는 전자 장치(100)는 명령어에 대응하는 기능 실행을 가이드 하기 위한 UI(32)를 제공할 수 있다. 즉, 전자 장치(100)는 제4 명령어 또는 제5 명령어에 대응하는 기능 실행을 가이드 하기 위한 UI(32)를 디스플레이에 표시할 수 있다. 또한, 전자 장치(100)는 전자 장치(100)는 명령어에 대응하는 기능 실행을 가이드 하기 위한 음성을 출력할 수 있다. 그리고, UI(32)에 따라 사용자가 제4 명령어에 대응되는 음성 입력을 발화하면, 전자 장치(100)는 제4 명령어에 대응하는 기능을 실행할 수 있다. 또한, UI(32)에 따라 사용자가 제4 명령어에 대응되는 음성 입력을 발화하면, 전자 장치(100)는 제4 명령어에 대응하는 기능을 실행할 수 있다.
도 4a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제2 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 4a를 참조하면, 사용자는 '좋은 아침이야 음악 틀어줘'의 제3 사용자 음성 입력(410)을 발화할 수 있다. 그리고, 전자 장치(100)는 제3 사용자 음성 입력(410)을 수신하고, 제3 사용자 음성 입력(410)에 대응하는 동작을 식별하고, 제3 사용자 음성 입력(410)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제3 사용자 음성 입력(410)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높지 않아(예로, 0.5 미만) 제2 값이 높게(예로, 0.6) 설정될 수 있다. 또한, 제3 사용자 음성 입력(410)에는 긍정적인 단어 유형에 해당하는 '좋은 아침' 단어가 포함되어 있으므로, 제1 값이 높게(예로, +0.1) 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값(예로, 0.7)이 제2 범위(예로, 0.6 초과 0.8 이하) 내에 존재하는 것으로 식별하고, 제3 사용자 음성 입력(410)에 대응하는 동작을 제2 동작으로 식별할 수 있다.
전자 장치(100)는 기 저장된 복수의 명령어 중 제3 사용자 음성 입력(410)에 대응하는 텍스트와 유사도가 임계값을 넘는 적어도 하나의 명령어를 식별할 수 있다. 도 4a의 실시 예에 따른, 적어도 하나의 명령어는 A 어플리케이션을 실행하여 음악을 재생하는 제1 명령어, B 어플리케이션을 실행하여 음악을 재생하는 제2 명령어 및 C 어플리케이션을 통해 전자 장치(100)에 저장된 음악을 재생하는 제3 명령어를 포함할 수 있다. 그리고, 전자 장치(100)는 도 1 및 도 2에 설명한 실시 예들에 따라 제1 명령어, 제2 명령어 및 제3 명령어 중 명령어에 대한 기능을 실행할 명령어를 제1 명령어로 식별할 수 있다. 일 예로, 제1 명령어가 제3 사용자 음성 입력(410)에 대응하는 텍스트와 유사도가 가장 높을 수 있다.
그리고, 전자 장치(100)는 제1 명령어에 대응하는 기능을 실행하면서, 제2 동작에 따른 응답을 제공할 수 있다. 전자 장치(100)는 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생할 수 있다. 그리고, 전자 장치(100)는 제1 명령어에 대한 기능이 실행된 이후 제공될 수 있는 관련 명령어 리스트를 제공할 수 있다. 즉, 도 4a를 참조하면, 전자 장치(100)는 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생하며, 전자 장치(100)의 디스플레이에 A 어플리케이션으로 음악을 검색하기 위한 아이콘(41-1) 및 A 어플리케이션 설정 메뉴를 실행하기 위한 아이콘(41-2)을 표시할 수 있다. 그리고, 전자 장치(100)는 제1 명령어 대한 기능이 실행되며, 관련 명령어 리스트가 제공되었음을 알리는 음성을 출력할 수 있다.
도 4b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제2 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 4b를 참조하면, 사용자는 '좋은 아침이야 날씨 뭐야'의 제4 사용자 음성 입력(420)을 발화할 수 있다. 그리고, 전자 장치(100)는 제4 사용자 음성 입력(420)을 수신하고, 제4 사용자 음성 입력(420)에 대응하는 동작을 식별하고, 제4 사용자 음성 입력(420)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제4 사용자 음성 입력(420)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높이 않아(예로, 0.5 미만) 제2 값이 높게(예로, 0.6) 설정될 수 있다. 또한, 제4 사용자 음성 입력(420)에는 긍정적인 단어 유형에 해당하는 '좋은 아침' 단어가 포함되어 있으므로, 제1 값이 높게(예로, +0.1) 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값(예로, 0.7)이 제2 범위(예로, 0.6 초과 0.8 이하) 내에 존재하는 것으로 식별하고, 제4 사용자 음성 입력(420)에 대응하는 동작을 제2 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제4 사용자 음성 입력(420)에 대응하는 텍스트와 유사도가 임계값(예로, 0.7)을 넘는 명령어가 존재하지 않는 것으로 식별할 수 있다. 그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제4 사용자 음성 입력(420)에 대응하는 텍스트와 유사도가 높은 기 설정 개수(예로, 3개)의 명령어를 식별할 수 있다. 일 예로, 전자 장치(100)는 현재 시간의 날씨에 대한 정보를 알려주는 제4 명령어 및 오늘 하루의 날씨에 대한 정보를 알려주는 제5 명령어 및 주간 날씨에 대한 정보를 알려주는 제 6명령어를 식별할 수 있다. 여기서, 제4 명령어, 제5 명령어 및 제6 명령어는 제4 사용자 음성 입력(420)에 대응하는 텍스트와 유사도가 임계값(예로, 0.7)을 넘지는 않으나, 유사도가 가장 높은 3개의 명령어일 수 있다. 그리고, 제4 명령어, 제5 명령어 및 제6 명령어 각각이 제4 사용자 음성 입력(420)에 대응하는 텍스트와의 유사도가 임계값이 넘지 않으므로, 전자 장치(100)는 제4 사용자 음성 입력(420)에 대응하는 명령어를 실행하지 않는 것으로 식별할 수 있다.
그리고, 전자 장치(100)는 제4 명령어, 제5 명령어 및 제6 명령어에 대응하는 리스트를 제공할 수 있다. 즉, 도 4b를 참조하면, 전자 장치(100)는 제4 명령어에 따라 지금 날씨를 확인하기 위한 아이콘(42-1) 및 제5 명령어에 따라 오늘 하루 날씨를 확인하기 위한 아이콘(42-2) 및 제6 명령어에 따라 주간 날씨를 확인하기 위한 아이콘(42-3)을 표시할 수 있다. 그리고, 전자 장치(100)는 제4 사용자 음성 입력(420)에 대응하는 기능이 실행되지 않았으며, 제4 명령어, 제5 명령어 및 제6 명령어에 대응하는 리스트가 제공되었음을 알리는 음성을 출력할 수 있다.
그리고, 제4 명령어에 대응하는 아이콘(42-1)이 선택되면, 전자 장치(100)는 제4 명령어에 대응하는 기능을 실행할 수 있다. 또한, 제5 명령어에 대응하는 아이콘(42-2)이 선택되면, 전자 장치(100)는 제5 명령어에 대응하는 기능을 실행할 수 있다. 또한, 제6 명령어에 대응하는 아이콘(42-3)이 선택되면, 전자 장치(100)는 제6 명령어에 대응하는 기능을 실행할 수 있다.
도 5a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제3 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 5a를 참조하면, 사용자는 '음악 틀어줘'의 제5 사용자 음성 입력(510)을 발화할 수 있다. 그리고, 전자 장치(100)는 제5 사용자 음성 입력(510)을 수신하고, 제5 사용자 음성 입력(510)에 대응하는 동작을 식별하고, 제5 사용자 음성 입력(510)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제5 사용자 음성 입력(510)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 중간 범위의 값인 경우(예로, 0.3 내지 0.7) 제2 값이 중간 범위의 값으로(예로, 0.5) 설정될 수 있다. 또한, 제5 사용자 음성 입력(510)에 대응하는 텍스트(음악 틀어줘)에는 제1 유형의 단어 및 제2 유형의 단어가 식별되지 않으므로, 제1 값이 중간 범위의 값(예로, 0)으로 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값(예로, 0.5)이 제3 범위(예로, 0.4 초과 0.6 이하) 내에 존재하는 것으로 식별하고, 제5 사용자 음성 입력(510)에 대응하는 동작을 제3 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제5 사용자 음성 입력(510)에 대응하는 텍스트와 유사도가 임계값을 넘는 적어도 하나의 명령어를 식별할 수 있다. 도 5a의 실시 예에 따른, 적어도 하나의 명령어는 A 어플리케이션을 실행하여 음악을 재생하는 제1 명령어, B 어플리케이션을 실행하여 음악을 재생하는 제2 명령어 및 C 어플리케이션을 통해 전자 장치(100)에 저장된 음악을 재생하는 제3 명령어를 포함할 수 있다. 그리고, 전자 장치(100)는 도 1 및 도 2에 설명한 실시 예들에 따라 제1 명령어, 제2 명령어 및 제3 명령어 중 명령어에 대한 기능을 실행할 명령어를 제1 명령어로 식별할 수 있다. 일 예로, 제1 명령어가 제5 사용자 음성 입력(510)에 대응하는 텍스트와 유사도가 가장 높을 수 있다.
그리고, 전자 장치(100)는 제1 명령어에 대응하는 기능을 실행하면서, 제3 동작에 따른 응답을 제공할 수 있다. 전자 장치(100)는 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생할 수 있다. 그리고, 전자 장치(100)는 실행된 기능에 대응하는 텍스트 및 음성 응답을 제공할 수 있다. 즉, 도 5a를 참조하면, 전자 장치(100)는 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생하며, 전자 장치(100)의 디스플레이에 A 어플리케이션을 실행하여 음악을 재생하였음을 알리는 텍스트를 표시하며, A 어플리케이션을 실행하여 음악을 재생하였음을 알리는 음성 응답을 출력할 수 있다.
도 5b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제3 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 5b를 참조하면, 사용자는 '날씨 뭐야'의 제6 사용자 음성 입력(520)을 발화할 수 있다. 그리고, 전자 장치(100)는 제6 사용자 음성 입력(520)을 수신하고, 제6 사용자 음성 입력(520)에 대응하는 동작을 식별하고, 제6 사용자 음성 입력(520)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제6 사용자 음성 입력(520)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높아(예로, 0.7 이상) 제2 값이 낮게(예로, 0.3) 설정될 수 있다. 또한, 제6 사용자 음성 입력(520)에 대응하는 텍스트(날씨 뭐야)에는 제1 유형의 단어 및 제2 유형의 단어가 식별되지 않으므로, 제1 값이 중간 범위의 값(예로, 0)으로 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값(예로, 0.3)이 제2 범위(예로, 0.2 초과 0.4 이하) 내에 존재하는 것으로 식별하고, 제6 사용자 음성 입력(520)에 대응하는 동작을 제3 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제6 사용자 음성 입력(520)에 대응하는 텍스트와 유사도가 임계값(예로, 0.7)을 넘는 명령어가 존재하지 않는 것으로 식별할 수 있다. 이에 따라, 전자 장치(100)는 제6 사용자 음성 입력(520)에 대응하는 기능을 실행하지 않는 것으로 식별할 수 있다.
그리고, 전자 장치(100)는 제6 사용자 음성 입력(520)에 대응하는 기능을 실행하지 않으며, 제3 동작에 따라 기능이 실행되지 않음을 알리는 텍스트 및 음성 응답을 제공할 수 있다. 일 예로, 도 5b를 참조하면, 전자 장치(100)는 디스플레이에 기능이 실행되지 않음을 알리는 텍스트를 표시할 수 있다. 그리고, 전자 장치(100)는 기능이 실행되지 않음을 알리는 음성 응답을 출력할 수 있다.
도 6a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제4 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 6a를 참조하면, 사용자는 '음악'의 제7 사용자 음성 입력(610)을 발화할 수 있다. 그리고, 전자 장치(100)는 제7 사용자 음성 입력(610)을 수신하고, 제7 사용자 음성 입력(610)에 대응하는 동작을 식별하고, 제7 사용자 음성 입력(610)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제7 사용자 음성 입력(610)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높은 경우(예로, 0.7) 제2 값이 낮은 값으로(예로, 0.3) 설정될 수 있다. 또한, 제7 사용자 음성 입력(610)에 대응하는 텍스트(음악)에는 제1 유형의 단어 및 제2 유형의 단어가 식별되지 않으므로, 제1 값이 중간 범위의 값(예로, 0)으로 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값(예로, 0.3)이 제4 범위(예로, 0.2 초과 0.4 이하) 내에 존재하는 것으로 식별하고, 제7 사용자 음성 입력(610)에 대응하는 동작을 제4 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제7 사용자 음성 입력(610))에 대응하는 텍스트와 유사도가 임계값을 넘는 적어도 하나의 명령어를 식별할 수 있다. 도 6a의 실시 예에 따른, 적어도 하나의 명령어는 A 어플리케이션을 실행하여 음악을 재생하는 제1 명령어, B 어플리케이션을 실행하여 음악을 재생하는 제2 명령어 및 C 어플리케이션을 통해 전자 장치(100)에 저장된 음악을 재생하는 제3 명령어를 포함할 수 있다. 그리고, 전자 장치(100)는 도 1 및 도 2에 설명한 실시 예들에 따라 제1 명령어, 제2 명령어 및 제3 명령어 중 명령어에 대한 기능을 실행할 명령어를 제1 명령어로 식별할 수 있다. 일 예로, 제1 명령어가 제7 사용자 음성 입력(610)에 대응하는 텍스트와 유사도가 가장 높을 수 있다.
그리고, 전자 장치(100)는 제1 명령어에 대응하는 기능을 실행하면서, 제4 동작에 따른 응답을 제공할 수 있다. 전자 장치(100)는 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생할 수 있다. 그리고, 전자 장치(100)는 실행된 기능에 대응하는 텍스트를 제공할 수 있다. 즉, 도 6a를 참조하면, 전자 장치(100)는 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생하며, 전자 장치(100)의 디스플레이에 A 어플리케이션을 실행하여 음악을 재생하였음을 알리는 텍스트를 표시할 수 있다.
도 6b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제4 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 6b를 참조하면, 사용자는 '날씨'의 제8 사용자 음성 입력(620)을 발화할 수 있다. 그리고, 전자 장치(100)는 제8 사용자 음성 입력(620)을 수신하고, 제8 사용자 음성 입력(620)에 대응하는 동작을 식별하고, 제8 사용자 음성 입력(620)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제8 사용자 음성 입력(620)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높은 경우(예로, 0.7) 제2 값이 낮은 값으로(예로, 0.3) 설정될 수 있다. 또한, 제8 사용자 음성 입력(620)에 대응하는 텍스트(날씨)에는 제1 유형의 단어 및 제2 유형의 단어가 식별되지 않으므로, 제1 값이 중간 범위의 값(예로, 0)으로 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값(예로, 0.3)이 제4 범위(예로, 0.2 초과 0.4 이하) 내에 존재하는 것으로 식별하고, 제8 사용자 음성 입력(620)에 대응하는 동작을 제4 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제8 사용자 음성 입력(620)에 대응하는 텍스트와 유사도가 임계값(예로, 0.7)을 넘는 명령어가 존재하지 않는 것으로 식별할 수 있다. 이에 따라, 전자 장치(100)는 제8 사용자 음성 입력(620)에 대응하는 기능을 실행하지 않는 것으로 식별할 수 있다.
그리고, 전자 장치(100)는 제8 사용자 음성 입력(620)에 대응하는 기능을 실행하지 않으며, 제4 동작에 따라 기능이 실행되지 않음을 알리는 응답을 제공할 수 있다. 일 예로, 도 6b를 참조하면, 전자 장치(100)는 디스플레이에 기능이 실행되지 않음을 알리는 텍스트를 표시할 수 있다.
도 7a 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제5 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되는 실시 예를 도시한 도면이다.
도 7a를 참조하면, 사용자는 'XX YY 음악'의 제9 사용자 음성 입력(710)을 발화할 수 있다. 그리고, 전자 장치(100)는 제9 사용자 음성 입력(710)을 수신하고, 제9 사용자 음성 입력(710)에 대응하는 동작을 식별하고, 제9 사용자 음성 입력(710)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제9 사용자 음성 입력(710)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높은 경우(예로, 0.7) 제2 값이 낮은 값으로(예로, 0.3) 설정될 수 있다. 또한, 제9 사용자 음성 입력(710)에 대응하는 텍스트(XX YY 음악)에서 'XX' 및 'YY'는 욕설이거나 부정적인 단어일 수 있다. 이 경우, 전자 장치(100)는 제9 사용자 음성 입력(710)에 대응하는 텍스트에 제2 유형의 단어가 포함된 것으로 식별하여 제1 값이 낮은 값(예로, -0.2)으로 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값(예로, 0.1)이 제5 범위(예로, 0 초과 0.2 이하) 내에 존재하는 것으로 식별하고, 제9 사용자 음성 입력(710)에 대응하는 동작을 제5 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제9 사용자 음성 입력(710)에 대응하는 텍스트와 유사도가 임계값을 넘는 적어도 하나의 명령어를 식별할 수 있다. 도 7a의 실시 예에 따른, 적어도 하나의 명령어는 A 어플리케이션을 실행하여 음악을 재생하는 제1 명령어, B 어플리케이션을 실행하여 음악을 재생하는 제2 명령어 및 C 어플리케이션을 통해 전자 장치(100)에 저장된 음악을 재생하는 제3 명령어를 포함할 수 있다. 그리고, 전자 장치(100)는 도 1 및 도 2에 설명한 실시 예들에 따라 제1 명령어, 제2 명령어 및 제3 명령어 중 명령어에 대한 기능을 실행할 명령어를 제1 명령어로 식별할 수 있다. 일 예로, 제1 명령어가 제9 사용자 음성 입력(710)에 대응하는 텍스트와 유사도가 가장 높을 수 있다.
그리고, 전자 장치(100)는 제1 명령어에 대응하는 기능을 실행할 수 있다. 그리고, 전자 장치(100)는 제5 동작에 따라 제9 사용자 음성 입력(710)에 대응하는 응답을 제공하지 않을 수 있다. 즉, 전자 장치(100)는 제9 사용자 음성 입력(710)에 대응하는 텍스트 및 음성 응답을 제공하지 않으며, 제1 명령어에 따라 A 어플리케이션을 실행하면서 음악을 재생할 수 있다.
도 7b 는 본 개시의 일 실시 예에 따른, 사용자 음성 입력에 대응하는 동작이 제5 동작으로 식별되며, 사용자 음성 입력에 대응하는 명령어에 대한 기능이 실행되지 않는 실시 예를 도시한 도면이다.
도 7b를 참조하면, 사용자는 'XX YY 날씨'의 제10 사용자 음성 입력(720)을 발화할 수 있다. 그리고, 전자 장치(100)는 제10 사용자 음성 입력(720)을 수신하고, 제10 사용자 음성 입력(720)에 대응하는 동작을 식별하고, 제10 사용자 음성 입력(720)에 대응하는 명령어에 대한 기능을 실행할지 여부를 식별할 수 있다.
일 예로, 제10 사용자 음성 입력(720)을 ASR 모델에 입력하여 출력된 텍스트에 대한 정확도가 높은 경우(예로, 0.7) 제2 값이 낮은 값으로(예로, 0.3) 설정될 수 있다. 또한, 제10 사용자 음성 입력(720)에 대응하는 텍스트(XX YY 음악)에서 'XX' 및 'YY'는 욕설이거나 부정적인 단어일 수 있다. 이 경우, 전자 장치(100)는 제10 사용자 음성 입력(720)에 대응하는 텍스트에 제2 유형의 단어가 포함된 것으로 식별하여 제1 값이 낮은 값(예로, -0.2)으로 설정될 수 있다. 이 경우, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값(예로, 0.1)이 제5 범위(예로, 0 초과 0.2 이하) 내에 존재하는 것으로 식별하고, 제10 사용자 음성 입력(720)에 대응하는 동작을 제5 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 제10 사용자 음성 입력(720)에 대응하는 텍스트와 유사도가 임계값(예로, 0.7)을 넘는 명령어가 존재하지 않는 것으로 식별할 수 있다. 이에 따라, 전자 장치(100)는 제10 사용자 음성 입력(720)에 대응하는 기능을 실행하지 않는 것으로 식별할 수 있다.
그리고, 전자 장치(100)는 제10 사용자 음성 입력(720)에 대응하는 기능을 실행하지 않으며, 제5 동작에 따라 제10 사용자 음성 입력(720)에 대응하는 응답을 제공하지 않을 수 있다. 일 예로, 도 7b를 참조하면, 전자 장치(100)는 제10 사용자 음성 입력(720)을 수신하여도 제10 사용자 음성 입력(720)에 대응하는 기능을 실행하지 않으며, 제10 사용자 음성 입력(720)에 대응하는 응답을 제공하지 않을 수 있다.
한편, 상술한 도면들은 전자 장치(100)가 TV인 것으로 도시되어 있으나, 본 개시에 따른, 전자 장치(100)는 이에 한정되지 않는다. 일 예로, 전자 장치(100)는 디스플레이를 포함하는 사용자 단말 장치로 구현될 수 있다. 일 예로, 전자 장치(100)는 디스플레이를 포함하지 않는 AI 스피커로 구현될 수 있다.
도 8은 본 개시의 일 실시 예에 따른, 전자 장치의 동작을 설명하기 위한 흐름도 이다.
도 8을 참조하면, 전자 장치(100)는 사용자 음성 입력을 수신할 수 있다(S810). 일 예로, 전자 장치(100)는 전자 장치(100)에 포함된 마이크를 통해 사용자 음성 입력을 수신할 수 있다. 일 예로, 전자 장치(100)는 전자 장치(100) 외부의 마이크(예로, 리모컨의 마이크)를 통해 사용자 음성 입력을 수신할 수 있다. 그리고, 사용자 음성 입력에는 전자 장치(100)에서 특정 기능을 수행하기 위한 사용자의 음성이 포함될 수 있다.
그리고, 전자 장치(100)는 사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도를 획득할 수 있다(S820). 구체적으로, 전자 장치(100)는 사용자 음성 입력을 ASR 모델에 입력하여, 사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도 정보를 획득할 수 있다. 여기서, ASR 모델은 음성 신호를 텍스트로 변환하기 위한 모델일 수 있으며, 인공지능 모델로 구현될 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 획득된 텍스트에 대응하는 적어도 하나의 명령어를 식별할 수 있다(S830). 일 예로, 전자 장치(100)의 메모리(110)에는 사용자 음성 입력에 대응하는 기능을 제공하기 위한 복수의 명령어들이 저장되어 있을 수 있다. 전자 장치(100)는 메모리(110)에 기 저장된 복수의 명령어들과 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트를 비교하여, 복수의 명령어 중 사용자 음성 입력에 대응하는 텍스트에 대응하는 적어도 하나의 명령어를 식별할 수 있다. 일 예로, 전자 장치(100)는 메모리(110)에 기 저장된 복수의 명령어 각각과 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트 간의 유사도를 획득하고, 획득한 유사도를 바탕으로 복수의 명령어 중 적어도 하나의 명령어를 식별할 수 있다.
일 실시 예로, 전자 장치(100)는 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 적어도 하나의 명령어를 식별할 수 있다. 또 다른 실시 예로. 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 명령어가 식별되지 않으면, 전자 장치(100)는 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값이 높은 기 설정 개수(예로, 3개)의 명령어를 식별할 수 있다.
그리고, 전자 장치(100)는 획득된 텍스트에 포함된 기 설정된 단어에 대응한 필터 정보와 정확도에 기초하여, 복수의 기 설정된 동작 중 사용자 음성 입력에 대응하는 동작을 식별할 수 있다(S840). 여기서, 기 설정된 동작은 사용자의 음성 입력에 대응하는 다양한 응답을 제공하기 위한 복수의 동작 유형을 포함할 수 있다. 일 예로, 기 설정된 동작은 가장 적극적인 응답을 제공하는 제1 동작, 적극적인 응답을 제공하는 제2 동작, 기본적인 응답을 제공하는 제3 동작, 간소화된 응답을 제공하는 제4 동작 및 최소화 응답을 제공하는 제5 동작을 포함할 수 있다.
그리고, 본 개시에 따른 필터 정보는 ASR 모델을 통해 획득된 텍스트에 기 설정된 단어가 포함되어 있는지 여부에 대한 정보일 수 있다. 일 예로, 획득된 텍스트에 포함된 단어 중 기설정된 제1 유형의 단어가 식별되면, 전자 장치(100)는 제1 유형의 단어에 따라 필터 정보에 대응되는 제1 값을 높아지도록 설정할 수 있다. 그리고, 획득된 텍스트에 포함된 단어 중 기설정된 제2 유형의 단어가 식별되면, 전자 장치(100)는 제2 유형의 단어에 따라 필터 정보에 대응되는 제1 값을 낮아지도록 설정할 수 있다. 그리고, 전자 장치(100)는 ASR 모델에서 획득된 텍스트의 정확도 값이 높을수록(예로, 1) 정확도에 대응되는 제2 값이 낮아지도록(예로, 0) 설정하고, 정확도 값이 낮을수록(예로, 0) 정확도에 대응되는 제2 값이 높아지도록(예로, 1) 설정할 수 있다.
그리고, 전자 장치(100)는 적어도 하나의 명령어 및 식별된 동작을 기초로, 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행할 수 있다(S850). 일 예로, 사용자 음성 입력에 대응하는 응답 제공은 제1 동작 내지 제5 동작 중 식별된 동작에 기초하여 제공될 수 있다. 그리고, 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행은 명령어에 대응하는 기능을 실행할지 여부에 기초하여 제공될 수 있다.
도 9는 본 개시의 일 실시 예에 따른, 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 9를 참조하면, 전자 장치(100)는 사용자 음성 입력을 수신할 수 있다(S905). 그리고, 전자 장치(100)는 사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도를 획득할 수 있다(S910).
사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도가 획득되면, 전자 장치(100)는 텍스트에 포함된 기설정된 단어에 기초하여 필터 정보에 대응하는 제1 값을 식별할 수 있다(S915). 일 예로, 획득된 텍스트에 포함된 단어 중 기설정된 제1 유형의 단어가 식별되면, 전자 장치(100)는 제1 유형의 단어에 따라 필터 정보에 대응되는 제1 값을 높아지도록 설정할 수 있다. 그리고, 획득된 텍스트에 포함된 단어 중 기설정된 제2 유형의 단어가 식별되면, 전자 장치(100)는 제2 유형의 단어에 따라 필터 정보에 대응되는 제1 값을 낮아지도록 설정할 수 있다.
사용자 음성 입력에 대응하는 텍스트 및 텍스트에 대한 정확도가 획득되면, 전자 장치(100)는 정확도에 기초하여 제2 값을 식별할 수 있다(S920). 일 예로, 전자 장치(100)는 ASR 모델에서 획득된 텍스트의 정확도 값이 높을수록(예로, 1) 정확도에 대응되는 제2 값이 낮아지도록(예로, 0) 설정하고, 정확도 값이 낮을수록(예로, 0) 정확도에 대응되는 제2 값이 높아지도록(예로, 1) 설정할 수 있다.
그리고, 전자 장치(100)는 제1 값 및 제2 값을 합산한 값에 기초하여 복수의 기 설정된 동작 중 사용자 음성 입력에 대응하는 동작을 식별할 수 있다(S925). 일 예로, 합산한 값의 범위는 0에서 1사이의 범위일 수 있으며, 합산한 값의 범위는 제1 값 및 제2 값에 따라 0보다 낮거나 1보다 높을 수 있다. 일 예로, 합산한 값이 제1 범위(0.8 초과) 내에 존재하는 것으로 식별되면, 전자 장치(100)는 사용자 음성 입력에 대응하는 동작을 제1 동작으로 식별할 수 있다. 그리고, 합산한 값이 제2 범위(0.6 초과 0.8 이하) 내에 존재하는 것으로 식별되면, 전자 장치(100)는 사용자 음성 입력에 대응하는 동작을 제2 동작으로 식별할 수 있다. 합산한 값이 제3 범위(0.4 초과 0.6 이하) 내에 존재하는 것으로 식별되면, 전자 장치(100)는 사용자 음성 입력에 대응하는 동작을 제3 동작으로 식별할 수 있다. 합산한 값이 제4 범위(0.2 초과 0.4 이하) 내에 존재하는 것으로 식별되면, 전자 장치(100)는 사용자 음성 입력에 대응하는 동작을 제4 동작으로 식별할 수 있다. 합산한 값이 제5 범위(0.2 이하) 내에 존재하는 것으로 식별되면, 전자 장치(100)는 사용자 음성 입력에 대응하는 동작을 제5 동작으로 식별할 수 있다.
그리고, 전자 장치(100)는 기 저장된 복수의 명령어 중 획득된 텍스트에 대응하는 적어도 하나의 명령어를 식별할 수 있다(S930).
그리고, 전자 장치(100)는 텍스트와 적어도 하나의 명령어 각각의 유사도에 기초하여 적어도 하나의 명령어 중 하나에 대응하는 기능을 실행할지 여부를 판단할 수 있다(S935).
일 실시 예로, 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 적어도 하나의 명령어가 식별되면, 전자 장치(100)는 명령어에 대응하는 기능을 실행하는 것으로 식별할 수 있다. 또 다른 실시 예로. 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값(예로, 0.7)을 넘는 명령어가 식별되지 않으면, 전자 장치(100)는 복수의 명령어 중 ASR 모델을 통해 획득된 사용자 음성 입력에 대응하는 텍스트와 유사도가 임계 값이 높은 기 설정 개수(예로, 3개)의 명령어를 식별하며, 명령어에 대응하는 기능을 실행하지 않는 것으로 식별할 수 있다.
한편, 도 9 및 상술한 설명에서는 S915, S920 및 S925 동작이 수행된 이후에, S930 및 S935 동작이 수행되는 것으로 도시되어 있으나, 본 개시는 이에 한정되지 않는다. 즉, S915, S920 및 S925 동작과 S930 및 S935 동작은 독립적으로 수행되는 동작으로, 전자 장치(100)는 S930 및 S935 동작을 수행한 이후에, S915, S920 및 S925 동작을 수행할 수 있다. 또한, 전자 장치(100)는 S915, S920 및 S925 동작과 S930 및 S935 동작을 동시에 수행할 수 있다.
적어도 하나의 명령어 중 하나에 대응하는 기능을 실행하는 것으로 판단되면(S935-Y), 전자 장치(100)는 적어도 하나의 명령어 중 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능을 실행할 수 있다(S940). 반면, 적어도 하나의 명령어 중 유사도가 가장 높은 명령어가 두 개 이상인 경우, 전자 장치(100)는 유사도가 가장 높은 명령어 중 명령어에 대응하는 기능을 수행하기 까지 필요한 인터렉션 횟수가 많은 명령어에 대응하는 기능을 실행할 수 있다.
그리고, 전자 장치(100)는, S940 동작에 따라 실행된 기능에 대응하는 명령어와 S925 동작에 따라 식별된 동작을 기초로 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다. 즉, 전자 장치(100)는 S940 동작에 따라 적어도 하나의 명령어 중 하나에 대응하는 기능을 수행하면서, S925 동작에 따라 식별된 동작(예로, 제1 동작 내지 제5 동작)을 기초로 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다.
적어도 하나의 명령어 중 하나에 대응하는 기능을 실행하지 않는 것으로 판단되면(S935-N), 전자 장치(100)는 식별된 동작을 기초로 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다(S950). 즉, 전자 장치(100)는 적어도 하나의 명령어에 대응하는 기능을 실행하지 않으면서, S925 동작에 따라 식별된 동작을 기초로 사용자 음성 입력에 대응하는 응답 제공을 수행할 수 있다.
도 10은 본 개시의 일 실시 예에 따른, 전자 장치(100)의 구성을 도시한 블록도이다.
도 10을 참조하면, 전자 장치(100)는 메모리(110), 프로세서(120), 마이크(130), 디스플레이(140), 스피커(150), 통신 인터페이스(160) 및 입출력 인터페이스(170)를 포함할 수 있다. 여기서, 메모리(110) 및 프로세서(120) 구성은 도 1에 도시된 구성과 동일한 바, 중복된 기재는 생략한다.
마이크(130)는, 외부로부터 오디오 신호를 수신할 수 있다. 구체적으로, 마이크(130)는 사용자 음성 입력을 포함하는 오디오 신호를 수신할 수 있다. 사용자 음성 입력에는 음성 인식 엔진을 통해 전자 장치(100)를 제어하기 위한 명령어가 포함될 수 있으며, 음성 인식 엔진을 활성화하기 위한 트리거 음성이 더 포함될 수 있다. 전자 장치(100)가 마이크(130)로부터 오디오 신호를 수신하는 경우, 마이크(130)는 수신된 아날로그 오디오 신호를 디지털화하여 프로세서(120)로 전송할 수 있다.
도 10에 개시된 전자 장치(100)는 마이크(130)를 포함하는 것으로 개시되어 있으나, 이에 한정되지 않고, 외부 전자 장치가 오디오 신호를 수신하고, 본 개시에 따른 전자 장치(100)는 외부 전자 장치로부터 오디오 신호를 수신할 수 있다.
일 예로, 외부 전자 장치는 전자 장치(100)를 제어할 수 있는 사용자 단말 장치로 구현될 수 있으며, 사용자 단말 장치는 일 예로, 디스플레이를 포함하는 스마트 폰일 수 있다. 이 경우, 사용자 단말 장치에 전자 장치(100)를 제어하기 위한 특정 어플리케이션이 설치되어, 해당 어플리케이션을 통해 사용자 단말 장치에서 전자 장치(100)로 오디오 신호를 전송할 수 있다.
일 예로, 외부 전자 장치는 마이크를 포함하는 스마트 장치로 구현될 수 있으며, 스마트 장치는 AI 스피커 등과 같이 사용자 음성 입력을 수신 할 수 있는 장치일 수 있다. 이 경우, 스마트 장치에 전자 장치(100)를 제어하기 위한 특정 어플리케이션이 설치되어, 해당 어플리케이션을 통해 사용자 단말 장치에서 전자 장치(100)로 오디오 신호를 전송할 수 있다.
외부 전자 장치로부터 오디오 신호를 수신하는 경우, 외부 전자 장치는 입력 받은 아날로그 오디오 신호를 디지털화 하여 블루투스 통신 방식 등을 통해 전자 장치(100)로 전송할 수 있다.
디스플레이(140)는, 프로세서(120)의 제어에 따라 다양한 정보를 표시할 수 있다. 일 예로, 디스플레이(140)는 본 개시에 따른 식별된 사용자 음성 입력에 대응하는 동작에 따라 사용자 음성 입력에 대응하는 응답을 표시할 수 있다. 그리고, 도 10에 개시된 전자 장치(100)는 디스플레이(140)를 포함하는 것으로 개시되어 있으나, 이에 한정되지 않고, 본 개시에 따른 전자 장치는 외부 디스플레이와 연결을 수행할 수 있으며, 외부 디스플레이를 통해 사용자 음성 입력에 대응하는 응답을 표시할 수 있다.
그리고, 이와 같은, 디스플레이(140)는 LCD(Liquid Crystal Display Panel), LED(light emitting diode), OLED(Organic Light Emitting Diodes), LCoS(Liquid Crystal on Silicon), DLP(Digital Light Processing) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 또한, 디스플레이(140) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 또한, 디스플레이(140)는 폴더블 디스플레이, 롤러블 디스플레이 등 다양한 디스플레이로 구현될 수 있다. 또한, 디스플레이(140)는 터치 감지부와 결합되어 터치 스크린으로 구현될 수도 있다.
스피커(150)는, 외부로 수신된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소일 수 있다. 이때, 전자 장치(100)는 스피커(150)와 같은 오디오 출력 장치를 포함할 수 있으나, 오디오 출력 단자와 같은 출력 장치를 포함할 수 있다. 특히, 스피커(150)는 본 개시에 따른 식별된 사용자 음성 입력에 대응하는 동작에 따라 사용자 음성 입력에 대응하는 응답 음성을 출력할 수 있다.
통신 인터페이스(160)는 무선 통신 또는 유선 통신을 통해 외부 장치와 통신을 수행할 수 있다. 일 실시 예로, 무선 통신은, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 일 실시예에 따르면, 무선 통신은, 예를 들면, 와이파이(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 무선 통신 또는 유선 통신이 수행되는 네트워크는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
일 예로, 전자 장치(100)는 통신 인터페이스(160)를 통해 외부의 사용자 단말 장치와 통신 연결을 수행할 수 있다. 이 경우, 사용자 단말 장치에 설치된 어플리케이션 등을 통해, 전자 장치(100)가 제어될 수 있다. 또한, 사용자 단말 장치에 설치된 어플리케이션 등을 통해 사용자 단말 장치가 사용자 음성 입력을 입력 받으면, 전자 장치(100)는 사용자 단말 장치로부터 사용자 음성 입력을 수신할 수 있다.
일 예로, 전자 장치(100)는 통신 인터페이스(160)를 통해 외부의 스마트 장치와 통신 연결을 수행할 수 있다. 여기서, 스마트 장치는 AI 스피커 등과 같이 사용자 음성 입력을 입력 받을 수 있으며, 전자 장치(100)를 제어할 수 있는 어플리케이션이 설치될 수 있는 다양한 장치일 수 있다.
일 예로, 도 2의 복수의 모듈(1000 내지 4000)들이 외부의 서버에서 구현되는 경우, 전자 장치(100)는 통신 인터페이스(160)를 통해 외부의 서버와 통신을 수행할 수 있다.
입출력 인터페이스(170)는 오디오 및 영상 신호 중 적어도 하나를 입출력 하기 위한 구성이다. 일 예로, 입출력 인터페이스(170)는 HDMI(High Definition Multimedia Interface) 일 수 있으나, 이는 일 실시 예에 불과할 뿐, MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다. 구현 예에 따라, 입출력 인터페이스(170)는 오디오 신호만을 입출력하는 포트와 영상 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 영상 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하였다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 상술한 실시 예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법은 비일시적 판독 가능 매체(non-transitory readable medium)에 저장될 수 있다. 이러한 비일시적 판독 가능 매체는 다양한 장치에 탑재되어 사용될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 방법을 수행하기 위한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치
110: 메모리
120: 프로세서

Claims (20)

  1. 전자 장치의 제어 방법에 있어서,
    사용자 음성 입력을 수신하는 단계;
    상기 사용자 음성 입력에 대응하는 텍스트 및 상기 텍스트에 대한 정확도를 획득하는 단계;
    기 저장된 복수의 명령어 중 상기 획득된 텍스트에 대응하는 적어도 하나의 명령어를 식별하는 단계;
    상기 획득된 텍스트에 포함된 기설정된 단어에 대응한 필터 정보와 상기 정확도에 기초하여, 복수의 기 설정된 동작 중 상기 사용자 음성 입력에 대응하는 동작을 식별하는 단계; 및
    상기 적어도 하나의 명령어 및 상기 식별된 동작을 기초로, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 상기 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하는 단계;를 포함하는 제어 방법.
  2. 제1항에 있어서,
    상기 동작을 식별하는 단계는,
    상기 획득된 텍스트에 포함된 단어 중 기설정된 제1 유형의 단어가 식별되면 상기 제1 유형의 단어에 따라 상기 필터 정보에 대응되는 제1 값을 증가시키고, 상기 획득된 텍스트에 포함된 단어 중 기설정된 제2 유형의 단어가 식별되면 상기 제2 유형의 단어에 따라 상기 필터 정보에 대응되는 제1 값을 감소시키는 단계;
    상기 정확도의 값이 높을수록 상기 정확도에 대응되는 제2 값을 감소시키고, 상기 정확도의 값이 낮을수록 상기 정확도에 대응되는 제2 값을 증가시키는 단계; 및
    상기 제1 값 및 상기 제2 값을 합산한 값에 기초하여 복수의 기 설정된 동작 중 상기 사용자 음성 입력에 대응하는 동작을 식별하는 단계;를 포함하는 제어 방법.
  3. 제1항에 있어서,
    상기 수행하는 단계는,
    상기 텍스트와 상기 적어도 하나의 명령어 각각의 유사도에 기초하여 명령어에 대응하는 기능을 실행할 것으로 식별되면, 상기 적어도 하나의 명령어 중 상기 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능을 실행하는 단계; 및
    상기 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 명령어와 상기 식별된 동작을 기초로 상기 사용자 음성 입력에 대응하는 응답 제공을 수행하는 단계;를 포함하는 제어 방법.
  4. 제3항에 있어서,
    상기 명령어에 대응하는 기능을 실행하지 않는 것으로 식별되면, 상기 식별된 동작을 기초로 상기 사용자 음성 입력에 대응하는 응답 제공을 수행하는 단계;를 포함하는 제어 방법.
  5. 제2항에 있어서,
    상기 동작을 식별하는 단계는,
    상기 합산한 값이 제1 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제1 동작으로 식별하는 단계;를 포함하고,
    상기 수행하는 단계는,
    상기 사용자 음성 입력에 대응하는 동작이 제1 동작인 것으로 식별되면, 상기 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공하는 단계;를 포함하는 제어 방법.
  6. 제5항에 있어서,
    상기 응답을 제공하는 단계는,
    상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 적어도 하나의 명령어 중 상기 실행된 기능에 대응하는 명령어를 제외한 나머지 명령어에 대응하는 리스트를 제공하는 단계; 및
    상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 적어도 하나의 명령어에 대응하는 리스트를 제공하는 단계;를 더 포함하는 제어 방법.
  7. 제2항에 있어서,
    상기 동작을 식별하는 단계는,
    상기 합산한 값이 제2 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제2 동작으로 식별하는 단계;를 포함하고,
    상기 수행하는 단계는,
    상기 사용자 음성 입력에 대응하는 동작이 제2 동작인 것으로 식별되면, 상기 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공하는 단계;를 포함하는 제어 방법.
  8. 제7항에 있어서,
    상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행되는 기능이 실행된 이후에 제공될 수 있는 관련 명령어 리스트를 제공하는 단계; 및
    상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 적어도 하나의 명령어에 대응하는 리스트를 제공하는 단계;를 포함하는 제어 방법.
  9. 제2항에 있어서,
    상기 동작을 식별하는 단계는,
    상기 합산한 값이 제3 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제3 동작으로 식별하는 단계;를 포함하고,
    상기 수행하는 단계는,
    상기 사용자 음성 입력에 대응하는 동작이 제3 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 텍스트 및 음성 응답을 제공하는 단계; 및
    상기 사용자 음성 입력에 대응하는 동작이 제3 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 기능이 실행되지 않음을 알리는 텍스트 및 음성 응답을 제공하는 단계;를 포함하는 제어 방법.
  10. 제2항에 있어서,
    상기 동작을 식별하는 단계는,
    상기 합산한 값이 제4 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제4 동작으로 식별하는 단계;를 포함하고,
    상기 수행하는 단계는,
    상기 사용자 음성 입력에 대응하는 동작이 제4 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 텍스트를 제공하는 단계; 및
    상기 사용자 음성 입력에 대응하는 동작이 제4 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 기능이 실행되지 않음을 알리는 텍스트를 제공하는 단계;를 포함하는 제어 방법.
  11. 제2항에 있어서,
    상기 동작을 식별하는 단계는,
    상기 합산한 값이 제5 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제5 동작으로 식별하는 단계;를 포함하며,
    상기 사용자 음성 입력에 대응하는 동작이 제5 동작인 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 응답을 제공하지 않는 것을 특징으로 하는 제어 방법.
  12. 전자 장치에 있어서,
    적어도 하나의 인스트럭션을 포함하는 메모리,
    상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서를 포함하고,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    사용자 음성 입력을 수신하고,
    상기 사용자 음성 입력에 대응하는 텍스트 및 상기 텍스트에 대한 정확도를 획득하고,
    기 저장된 복수의 명령어 중 상기 획득된 텍스트에 대응하는 적어도 하나의 명령어를 식별하고,
    상기 획득된 텍스트에 포함된 기설정된 단어에 대응한 필터 정보와 상기 정확도에 기초하여, 복수의 기 설정된 동작 중 상기 사용자 음성 입력에 대응하는 동작을 식별하고,
    상기 적어도 하나의 명령어 및 상기 식별된 동작을 기초로, 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능 실행 및 상기 사용자 음성 입력에 대응하는 응답 제공 중 적어도 하나를 수행하는 전자 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 획득된 텍스트에 포함된 단어 중 기설정된 제1 유형의 단어가 식별되면 상기 제1 유형의 단어에 따라 상기 필터 정보에 대응되는 제1 값을 증가시키고, 상기 획득된 텍스트에 포함된 단어 중 기설정된 제2 유형의 단어가 식별되면 상기 제2 유형의 단어에 따라 상기 필터 정보에 대응되는 제1 값을 감소시키며,
    상기 정확도의 값이 높을수록 상기 정확도에 대응되는 제2 값을 감소시키고, 상기 정확도의 값이 낮을수록 상기 정확도에 대응되는 제2 값을 증가시키고,
    상기 제1 값 및 상기 제2 값을 합산한 값에 기초하여 복수의 기 설정된 동작 중 상기 사용자 음성 입력에 대응하는 동작을 식별하는 전자 장치.
  14. 제12항에 있어서,
    상기 프로세서는,
    상기 텍스트와 상기 적어도 하나의 명령어 각각의 유사도에 기초하여 명령어에 대응하는 기능을 실행할 것으로 식별되면, 상기 적어도 하나의 명령어 중 상기 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능을 실행하고,
    상기 텍스트와 유사도가 가장 높은 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 명령어와 상기 식별된 동작을 기초로 상기 사용자 음성 입력에 대응하는 응답 제공을 수행하는 전자 장치.
  15. 제14항에 있어서,
    상기 프로세서는,
    상기 명령어에 대응하는 기능을 실행하지 않는 것으로 식별되면, 상기 식별된 동작을 기초로 상기 사용자 음성 입력에 대응하는 응답 제공을 수행하는 전자 장치.
  16. 제13항에 있어서,
    상기 프로세서는,
    상기 합산한 값이 제1 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제1 동작으로 식별하고,
    상기 사용자 음성 입력에 대응하는 동작이 제1 동작인 것으로 식별되면, 상기 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공하는 전자 장치.
  17. 제16항에 있어서,
    상기 프로세서는,
    상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 적어도 하나의 명령어 중 상기 실행된 기능에 대응하는 명령어를 제외한 나머지 명령어에 대응하는 리스트를 제공하고,
    상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 적어도 하나의 명령어에 대응하는 리스트를 제공하는 전자 장치.
  18. 제13항에 있어서,
    상기 프로세서는,
    상기 합산한 값이 제2 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제2 동작으로 식별하고,
    상기 사용자 음성 입력에 대응하는 동작이 제2 동작인 것으로 식별되면, 상기 사용자 음성 입력에 따른 명령어에 대응하는 기능을 실행할지 여부에 따라 상이한 응답을 제공하는 전자 장치.
  19. 제18항에 있어서,
    상기 프로세서는,
    상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행되는 기능이 실행된 이후에 제공될 수 있는 관련 명령어 리스트를 제공하고,
    상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 적어도 하나의 명령어에 대응하는 리스트를 제공하는 전자 장치.
  20. 제13항에 있어서,
    상기 프로세서는,
    상기 합산한 값이 제3 범위 내에 존재하는 것으로 식별되면, 상기 사용자 음성 입력에 대응하는 동작을 제3 동작으로 식별하고,
    상기 사용자 음성 입력에 대응하는 동작이 제3 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되면, 상기 실행된 기능에 대응하는 텍스트 및 음성 응답을 제공하고,
    상기 사용자 음성 입력에 대응하는 동작이 제3 동작인 것으로 식별되며 상기 사용자 음성 입력에 따른 명령어에 대응되는 기능이 실행되지 않으면, 상기 기능이 실행되지 않음을 알리는 텍스트 및 음성 응답을 제공하는 전자 장치.

KR1020210192699A 2021-12-30 2021-12-30 전자 장치 및 이의 제어 방법 KR20230102506A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210192699A KR20230102506A (ko) 2021-12-30 2021-12-30 전자 장치 및 이의 제어 방법
PCT/KR2022/021373 WO2023128547A1 (ko) 2021-12-30 2022-12-27 전자 장치 및 이의 제어 방법
US18/297,948 US20230245656A1 (en) 2021-12-30 2023-04-10 Electronic apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210192699A KR20230102506A (ko) 2021-12-30 2021-12-30 전자 장치 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
KR20230102506A true KR20230102506A (ko) 2023-07-07

Family

ID=86999864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210192699A KR20230102506A (ko) 2021-12-30 2021-12-30 전자 장치 및 이의 제어 방법

Country Status (3)

Country Link
US (1) US20230245656A1 (ko)
KR (1) KR20230102506A (ko)
WO (1) WO2023128547A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566088B2 (en) * 2008-11-12 2013-10-22 Scti Holdings, Inc. System and method for automatic speech to text conversion
KR102455067B1 (ko) * 2017-11-24 2022-10-17 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102166446B1 (ko) * 2018-09-28 2020-10-15 우석대학교 산학협력단 음성을 이용한 키워드 추출 방법 및 서버
KR102309540B1 (ko) * 2019-05-02 2021-10-07 삼성전자주식회사 사용자의 입력 입력에 기초하여 타겟 디바이스를 결정하고, 타겟 디바이스를 제어하는 서버 및 그 동작 방법
KR20200132645A (ko) * 2019-05-16 2020-11-25 삼성전자주식회사 음성 인식 서비스를 제공하는 장치 및 방법

Also Published As

Publication number Publication date
US20230245656A1 (en) 2023-08-03
WO2023128547A1 (ko) 2023-07-06

Similar Documents

Publication Publication Date Title
US11580964B2 (en) Electronic apparatus and control method thereof
US10867596B2 (en) Voice assistant system, server apparatus, device, voice assistant method therefor, and program to be executed by computer
US20160217795A1 (en) Electronic device and method for voice recognition
KR20200013162A (ko) 전자 장치 및 그의 제어 방법
US20230177398A1 (en) Electronic apparatus and control method thereof
US11804228B2 (en) Phoneme-based speaker model adaptation method and device
US20210158803A1 (en) Determining wake word strength
US11575957B2 (en) Display device and controlling method of display device
US10691717B2 (en) Method and apparatus for managing data
KR20170093491A (ko) 음성 인식 방법 및 이를 사용하는 전자 장치
KR102656521B1 (ko) 디스플레이 장치 및 디스플레이 장치의 제어 방법
US11886817B2 (en) Electronic apparatus and method for controlling thereof
KR20230102506A (ko) 전자 장치 및 이의 제어 방법
US20220318524A1 (en) Electronic device and method for controlling the electronic device thereof
US9898264B2 (en) Automatic componentization engine
US11889152B2 (en) Electronic device and control method thereof
US11350157B2 (en) Systems and methods for delayed pausing
US20210390138A1 (en) VideoChat
US20200357414A1 (en) Display apparatus and method for controlling thereof
US11688396B2 (en) Electronic device and method for controlling electronic device
US11915691B2 (en) Electronic apparatus and controlling method thereof
US20220261554A1 (en) Electronic device and controlling method of electronic device
US20230197059A1 (en) Electronic device and control method thereof
KR20230094744A (ko) 전자 장치 및 그 제어 방법
KR102585777B1 (ko) 전자 장치 및 그 제어방법