KR102356623B1 - 가상 비서 전자 장치 및 그 제어 방법 - Google Patents

가상 비서 전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR102356623B1
KR102356623B1 KR1020190013418A KR20190013418A KR102356623B1 KR 102356623 B1 KR102356623 B1 KR 102356623B1 KR 1020190013418 A KR1020190013418 A KR 1020190013418A KR 20190013418 A KR20190013418 A KR 20190013418A KR 102356623 B1 KR102356623 B1 KR 102356623B1
Authority
KR
South Korea
Prior art keywords
response information
information
identified
electronic device
user
Prior art date
Application number
KR1020190013418A
Other languages
English (en)
Other versions
KR20200095719A (ko
Inventor
고현목
김성찬
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190013418A priority Critical patent/KR102356623B1/ko
Priority to US17/427,452 priority patent/US20220130392A1/en
Priority to PCT/KR2020/001495 priority patent/WO2020159288A1/ko
Priority to EP20748931.1A priority patent/EP3866160A4/en
Publication of KR20200095719A publication Critical patent/KR20200095719A/ko
Application granted granted Critical
Publication of KR102356623B1 publication Critical patent/KR102356623B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Abstract

전자 장치가 개시된다. 전자 장치는, 회로(circuitry)를 포함하는 통신 인터페이스 및 사용자 음성이 수신되면, 수신된 사용자 음성에 대응되는 응답 정보를 음성으로 제공하는 가상 비서 기능을 제공하는 프로세서를 포함하며, 프로세서는, 사용자 음성에 대응되는 응답 정보가 프라이버시(privacy) 정보인지 여부를 식별하고, 응답 정보가 프라이버시 정보인 것으로 식별되면, 전자 장치의 주변 환경이 퍼블릭 환경인지를 식별하고, 주변 환경이 퍼블릭 환경으로 식별되면 응답 정보를 외부 장치로 전송하도록 통신 인터페이스를 제어한다.

Description

가상 비서 전자 장치 및 그 제어 방법 {Virtual assistant electronic device and control method thereof}
본 개시는 주변 환경에 따라 서로 다른 가상 비서 기능의 출력 방식을 제공하는 전자 장치 및 그 제어 방법에 관한 것이다.
근래에는 사용자 질의에 대한 응답(답변)을 제공하는 인공지능 에이전트(예로, 빅스비TM, 어시스턴트TM, 알렉사TM 등)를 이용한 다양한 가상의 비서 서비스들이 제공되고 있다.
일반적으로, 가상의 비서 서비스들은 사용자 질의에 대한 응답을 음성으로 출력하여 사용자에게 제공한다. 다만, 사용자가 타인에게 공개되길 원하지 않는 개인 정보가 음성으로 출력되어 사용자의 프라이버시가 보호되지 못하는 문제점이 존재하였다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은 가상 비서 기능을 이용하는 경우 전자 장치 주변의 환경에 따라 사용자 질의에 대한 응답 정보의 제공 방식을 다양하게 수행하는 전자 장치 및 그 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 회로(circuitry)를 포함하는 통신 인터페이스 및 사용자 음성이 수신되면, 수신된 사용자 음성에 대응되는 응답 정보를 음성으로 제공하는 가상 비서 기능을 제공하는 프로세서를 포함할 수 있다.
상기 프로세서는, 사용자 음성에 대응되는 응답 정보가 프라이버시(privacy) 정보인지 여부를 식별하고, 상기 응답 정보가 상기 프라이버시 정보인 것으로 식별되면, 상기 전자 장치의 주변 환경이 퍼블릭 환경인지를 식별하고, 상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보를 외부 장치로 전송하도록 상기 통신 인터페이스를 제어할 수 있다.
전자 장치는, 상기 프라이버시 정보에 대응되는 타입 정보가 저장된 메모리를 더 포함하며, 상기 프로세서는, 상기 메모리에 저장된 상기 타입 정보에 기초하여 상기 응답 정보가 프라이버시 정보인지 여부를 식별할 수 있다.
상기 프로세서는, 상기 응답 정보가 상기 프라이버시 정보인 것으로 식별되면, 상기 응답 정보의 타입에 기초하여 상기 응답 정보의 제공 방식을 식별하고, 상기 식별된 제공 방식에 따라 상기 응답 정보를 처리하여 상기 외부 장치로 전송할 수 있다.
여기서, 상기 응답 정보의 제공 방식은, 상기 응답 정보의 암호화, 상기 응답 정보의 출력 방식, 상기 응답 정보의 출력 볼륨 조정 또는 상기 응답 정보 중 적어도 일부의 출력 중 적어도 하나를 포함할 수 있다.
상기 프로세서는, 상기 전자 장치와 통신 연결된 적어도 하나의 외부 장치를 검색하고, 상기 식별된 응답 정보의 제공 방식에 기초하여 상기 검색된 적어도 하나의 외부 장치 중 하나를 식별하고, 상기 식별된 외부 장치로 상기 처리된 응답 정보를 제공할 수 있다.
상기 외부 장치는, 상기 사용자의 프라이빗(private) 장치로 구현되며, 상기 프라이빗 장치는, AR(Augmented Reality) 글래스 또는 스마트 워치(smart watch)를 포함하는 웨어러블(wearable) 장치, 이어폰 또는 헤드폰 중 적어도 하나를 포함할 수 있다.
상기 프로세서는, 상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보의 타입을 식별하고, 상기 응답 정보의 타입에 기초하여 상기 응답 정보의 제공 시점을 식별하고, 상기 식별된 제공 시점에 상기 응답 정보를 외부 장치로 전송하도록 상기 통신 인터페이스를 제어할 수 있다.
전자 장치는, 카메라를 더 포함하고, 상기 프로세서는, 상기 카메라에 의해 획득된 이미지에 기초하여 상기 주변 환경을 식별할 수 있다.
전자 장치는, 마이크를 더 포함하고, 상기 프로세서는, 상기 마이크를 통해 녹음된 사운드 정보에 기초하여 상기 전자 장치 주변에 위치한 사람에 대한 정보를 식별하고, 상기 식별된 정보에 기초하여 상기 주변 환경을 식별할 수 있다.
전자 장치는, 스피커를 더 포함하며, 상기 프로세서는, 상기 응답 정보에서 상기 프라이버시 정보를 제외한 나머지 정보를 출력하도록 상기 스피커를 제어할 수 있다.
전자 장치는, 디스플레이를 더 포함하고, 상기 프로세서는, 상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보를 상기 음성으로 제공하지 않고, 상기 디스플레이를 통해 제공할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 제어 방법은, 사용자 음성에 대응되는 응답 정보가 프라이버시(privacy) 정보인지 여부를 식별하는 단계, 상기 응답 정보가 상기 프라이버시 정보인 것으로 식별되면, 상기 전자 장치의 주변 환경이 퍼블릭 환경인지를 식별하는 단계 및 상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보를 외부 장치로 전송하는 단계를 포함할 수 있다.
상기 프라이버시 정보인지 여부를 식별하는 단계는, 상기 프라이버시 정보에 대응되는 기 저장된 타입 정보에 기초하여 상기 응답 정보가 프라이버시 정보인지 여부를 식별할 수 있다.
상기 응답 정보를 상기 외부 장치로 전송하는 단계는, 상기 응답 정보가 상기 프라이버시 정보인 것으로 식별되면, 상기 응답 정보의 타입에 기초하여 상기 응답 정보의 제공 방식을 식별하고, 상기 식별된 제공 방식에 따라 상기 응답 정보를 처리하여 상기 외부 장치로 전송할 수 있다.
여기서, 상기 응답 정보의 제공 방식은, 상기 응답 정보의 암호화, 상기 응답 정보의 출력 방식, 상기 응답 정보의 출력 볼륨 조정 또는 상기 응답 정보 중 적어도 일부의 출력 중 적어도 하나를 포함할 수 있다.
상기 응답 정보를 상기 외부 장치로 전송하는 단계는, 상기 전자 장치와 통신 연결된 적어도 하나의 외부 장치를 검색하고, 상기 식별된 응답 정보의 제공 방식에 기초하여 상기 검색된 적어도 하나의 외부 장치 중 하나를 식별하고, 상기 식별된 외부 장치로 상기 처리된 응답 정보를 제공할 수 있다.
상기 외부 장치는, 상기 사용자의 프라이빗(private) 장치로 구현되며, 상기 프라이빗 장치는, AR(Augmented Reality) 글래스 또는 스마트 워치(smart watch)를 포함하는 웨어러블(wearable) 장치, 이어폰 또는 헤드폰 중 적어도 하나를 포함할 수 있다.
상기 응답 정보를 상기 외부 장치로 전송하는 단계는, 상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보의 타입을 식별하고, 상기 응답 정보의 타입에 기초하여 상기 응답 정보의 제공 시점을 식별하고, 상기 식별된 제공 시점에 상기 응답 정보를 외부 장치로 전송할 수 있다.
상기 주변 환경이 퍼블릭 환경인지를 식별하는 단계는, 상기 주변 환경의 이미지를 획득하고, 상기 획득된 이미지에 기초하여 상기 주변 환경을 식별할 수 있다.
상기 주변 환경이 퍼블릭 환경인지를 식별하는 단계는, 상기 주변 환경의 사운드 정보를 획득하고, 상기 획득된 사운드 정보에 기초하여 상기 전자 장치 주변에 위치한 사람에 대한 정보를 식별하고, 상기 식별된 정보에 기초하여 상기 주변 환경을 식별할 수 있다.
제어 방법은, 상기 응답 정보에서 상기 프라이버시 정보를 제외한 나머지 정보를 출력하는 단계를 더 포함할 수 있다.
또한, 제어 방법은, 상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보를 상기 음성으로 제공하지 않고, 디스플레이를 통해 제공하는 단계를 더 포함할 수 있다.
상술한 바와 같이 본 개시의 다양한 실시 예에 따르면, 전자 장치 주변의 환경에 따라 사용자 질의에 대한 응답 정보의 제공 방식이 결정되어 사용자의 프라이버시가 보호될 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 시스템을 나타내는 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 블록도이다.
도 3은 전자 장치의 세부 구성을 설명하기 위한 블록도이다.
도 4a는 에러가 발생되지 않은 정상 상태일 때 Lidar 장치에 의해 생성된 3D 이미지이다.
도 4는 본 개시의 일 실시 예에 따른 프라이버시 정보를 제공하기 위한 전자 장치의 동작을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 프라이빗 환경 및 퍼블릭 환경에 따라 상이하게 응답 정보를 제공하는 동작을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 등록된 타인이 사용자 주변에 존재하는 경우 프라이빗 환경 또는 퍼블릭 환경을 식별하는 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 사용자 질의에 대한 응답 정보를 제공하는 가상 비서 기능의 대화 시스템을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
A 및/또는 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 시스템을 나타내는 도면이다.
전자 시스템(1000)은 전자 장치(100), 타 전자 장치(200) 및 서버(300)를 포함한다.
전자 장치(100)는 가상 비서 기능을 제공할 수 있는 장치이며, 가상 비서 기능을 통해 사용자의 질의에 대응되는 응답 정보를 제공할 수 있는 장치이다. 전자 장치(100)는 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 등 다양한 형태로 구현될 수 있다.
여기서, 가상 비서 기능은 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다. 가상 비서 기능은 일 예로, 빅스비TM, 어시스턴트TM, 알렉사TM 등과 같은 인공지능 에이전트를 이용하는 시스템으로 구현될 수 있으며, AI 비서, 음성 비서, 가상 비서 등으로 불릴 수 있으나, 이하에서는 설명의 편의를 위해 가상 비서로 통칭한다. 가상 비서 기능은, 기설정된 사용자 음성(예를 들어, "빅스비" 등)이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 음성 비서를 실행하기 위한 버튼)이 눌러진 경우 실행될 수 있다. 음성 비서 기능 실행 중에 사용자 질의가 입력되면 전자 장치(100)는 이를 서버(300)로 전송하고 서버(300)로부터 사용자 질의에 대응되는 응답 정보를 수신할 수 있다. 이후, 전자 장치(100)는 수신된 응답 정보를 스피커(미도시)를 통해 출력할 수 있다. 다만, 응답 정보에 타인에게 공개되길 원하지 않는 프라이버시 정보가 포함된 경우, 전자 장치(100)는 응답 정보를 스피커를 통해 출력하지 않고 타 전자 장치(200)로 응답 정보를 제공하고, 타 전자 장치(200)가 사용자에게 응답 정보를 제공할 수 있다.
여기서, 타 전자 장치(200)는 외부 환경에 노출이 적은 사용자의 프라이빗(private) 장치로 구현될 수 있다. 예를 들어, 타 전자 장치(200)는 AR(Augmented Reality) 글래스 또는 스마트 워치(smart watch)를 포함하는 웨어러블(wearable) 장치, 이어폰 또는 헤드폰 중 적어도 하나를 포함할 수 있다.
서버(300)는 사용자의 질의에 대응되는 응답 정보를 획득하는 구성이다. 도 1에서 서버(300)를 하나의 서버로 도시하였으나, 이는 일 실시 예에 불과하고 서버(300)는 전자 장치(100) 주변 환경 정보를 획득하는 서버, 이벤트에 대한 출력 정보를 획득하는 서버 등 다양한 서버로 구현될 수 있다. 다만, 전자 장치(100)는 서버(300)로부터 응답 정보를 수신하지 않고, 직접 응답 정보를 획득할 수도 있다.
한편, 본 개시에서는 전자 장치(100)가 프라이버시 정보가 포함된 응답 정보를 타 전자 장치(200)로 전송하는 등 사용자의 프라이버시를 보호하기 위한 다양한 실시 예에 대해 자세히 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 블록도이다.
도 2에 따르면, 전자 장치(100)는 통신 인터페이스(110) 및 프로세서(120)를 포함한다.
회로(circuitry)를 포함하는 통신 인터페이스(110)는 외부 장치(200) 및 서버(300)와 데이터를 송수신할 수 있는 구성이다.
일 예로, 통신 인터페이스(110)는 유/무선 통신 방식에 따라 외부 장치(200) 및 서버(300)로 데이터를 전송할 수 있는 구성이다. 일 예로, 통신 인터페이스(110)는 BT(BlueTooth), WI-FI(Wireless Fidelity), Zigbee, IR(Infrared), 이더넷(Ethernet), Serial Interface, USB(Universal Serial Bus), MIPI CSI(Mobile Industry Processor Interface Camera Serial Interface), NFC(Near Field Communication), V2X(Vehicle to Everything), 이동통신(Cellular) 등과 같은 통신 방식을 이용할 수 있다.
특히, 통신 인터페이스(110)는 서버(300)부터 응답 정보를 수신하고, 수신된 응답 정보를 외부 장치(200)로 전송할 수 있다.
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다.
본 개시의 일 실시 예에 따라, 프로세서(120)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(120)는 메모리(130)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.
프로세서(120)는 사용자 음성이 수신되면, 수신된 사용자 음성에 대응되는 응답 정보를 음성으로 제공하는 가상 비서 기능을 제공할 수 있다. 전자 장치(100)에 마이크(미도시)가 구비되는 경우, 마이크 내부에 구비된 프로세서(미도시)는 수신되는 아날로그 음성 신호를 디지털화하여 디지털 신호를 획득할 수 있다. 프로세서(120)는 마이크로부터 획득된 디지털 신호를 음성 인식 관련 서버(미도시)로 전송하고 음성 인식 관련 서버로부터 수신되는 음성 인식 결과에 기초하여 사용자 음성을 인식할 수 있다. 여기서, 음성 인식 관련 서버는 음성 신호를 텍스트로 변환하는 STT (Speech to Text) 서버 역할을 할 수 있다. 이와 같은 STT 서버는 음성 신호를 텍스트로 변화하여 변환된 음성 인식 결과를 전자 장치(100)로 전송할 수 있다. 또는, 전자 장치(100)는 STT 기능을 구비하여 수신된 사용자 음성을 텍스트로 변환하여 사용자 음성을 인식할 수도 있다. 한편, 사용자 음성에 대응되는 응답 정보를 제공하는 가상 비서 기능의 구체적인 동작 절차에 관하여는 도 7에서 설명하도록 한다.
구체적으로, 가상 비서 기능을 실행하기 위해 기설정된 사용자 음성(예를 들어, "하이 빅스비" 등)이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 음성 비서를 실행하기 위한 버튼)이 눌러지는 동작이 선행될 수 있다.
이후, 음성 발화를 통한 사용자 음성, 즉 질의가 수신되면 프로세서(120)는 질의에 대응되는 응답 정보를 획득하고, 획득된 응답 정보를 스피커(미도시)를 통해 음성으로 제공할 수 있다. 예를 들어, "하이 빅스비"로 가상 비서 기능을 실행하고, "오늘 날씨 어때"라는 사용자 음성이 수신되면, 프로세서(120)는 사용자 음성에 대응하여 "오늘은 화창한 날씨입니다"라는 응답 정보를 획득하고 이를 스피커를 통해 음성으로 제공할 수 있다. 다만, 사용자 질의에 대응되는 사용자 음성은 음성뿐만 아니라 다른 수단에 의해 전자 장치(100)로 입력될 수 있다. 예를 들어, "오늘 날씨"라는 텍스트 형태로 사용자 질의가 전자 장치(100)에 입력될 수 있다. 프로세서(120)는 사용자 음성에 대응되는 응답 정보를 서버(300)로부터 수신하거나 직접 응답 정보를 획득할 수 있다.
한편, 응답 정보에 프라이버시 정보가 포함된 경우, 이러한 응답 정보를 제공하는 다양한 실시 예에 대해서 설명하도록 한다.
프로세서(120)는 사용자 음성에 대응되는 응답 정보가 프라이버시 정보인지 여부를 식별할 수 있다. 구체적으로, 프라이버시 정보에 대응되는 타입 정보가 메모리(미도시)에 저장될 수 있는데, 프로세서(120)는 타입 정보에 기초하여 응답 정보가 프라이버시 정보인지 여부를 식별할 수 있다. 즉, 프로세서(120)는 응답 정보에 프라이버시 정보가 포함되었는지 여부를 식별할 수 있다.
구체적으로, 주민번호, 신용카드 비밀번호, 공인인증서 비밀번호, 포털 사이트 비밀번호 등 다양한 형태의 비밀번호, 집 주소 등과 같은 타입의 정보는 프라이버시 정보로 저장될 수 있다. 예를 들어, 응답 정보에 사용자의 집 주소가 포함된 경우, 프로세서(120)는 응답 정보가 프라이버시 정보인 것으로 식별할 수 있다. 한편, 상술한 프라이버시 정보에 대응되는 타입의 정보는 일 예에 불과하고 다양한 타입의 정보가 프라이버시 정보에 대응될 수 있다. 예를 들어, 호텔 예약 완료 시 예약번호, 본인 확인을 위한 문자인증번호, 개인통관고유번호, 범죄경력, 정치사항, 장애등급, 노조활동, 자산 현황, 계좌번호, 구매이력 등 다양한 타입의 정보가 프라이버시 정보에 대응될 수 있다.
프로세서(120)는 응답 정보가 프라이버시 정보인 것으로 식별되면, 전자 장치(100)의 주변 환경이 퍼블릭 환경인지를 식별할 수 있다. 여기서, 퍼블릭 환경이란 공공장소, 등록되지 않은 타인이 존재하는 경우 등 프라이버시가 보호되지 않는 환경을 의미한다.
일 실시 예에 따르면, 프로세서(120)는 카메라(미도시)에 의해 획득된 이미지에 기초하여 주변 환경을 식별할 수 있다. 즉, 프로세서(120)는 획득된 이미지에 기초하여 주변 환경이 퍼블릭 환경인지를 식별할 수 있다.
예를 들어, 프로세서(120)는 획득된 이미지의 배경 영역을 검출하여 퍼블릭 환경인지를 식별할 수 있다. 일 예로, 배경 영역이 회사, 기차역, 카페로 검출되는 경우, 프로세서(120)는 주변 환경을 퍼블릭 환경으로 식별할 수 있다. 또는, 배경 영역이 집, 침실, 거실, 부엌 등으로 검출되는 경우, 프로세서(120)는 주변 환경을 퍼블릭 환경이 아닌 프라이빗 환경으로 식별할 수 있다. 한편, 상술한 배경 영역의 공간이 퍼블릭 환경인지 프라이빗 환경인지 여부는 메모리에 저장될 수 있다. 단순히 집, 침실, 거실, 부엌 등이 프라이빗 환경으로 메모리에 저장될 수 있으나, 사용자의 집, 침실, 거실, 부엌에 대응되는 이미지가 퍼블릭 환경에 대응되는 이미지로서 메모리에 저장될 수 있다. 이 경우, 타인의 집, 침실 등에 있더라도 프라이빗 환경으로 식별되지 않고, 사용자의 집, 침실 등에 있는 경우에만 프라이빗 환경으로 식별될 수 있다.
여기서, 배경 영역을 검출하는데 Scene description, Place detection 등의 기술이 이용될 수 있는데, 이러한 기술은 종래 기술이므로 자세한 설명은 생략하도록 한다.
또는, 프로세서(120)는 획득된 이미지의 객체 영역을 검출하여 퍼블릭 환경인지를 식별할 수 있다. 예를 들어, 객체 영역에 포함된 사람에 대한 정보를 식별하고, 사용자 이외의 타인이 존재하는 경우 주변 환경을 퍼블릭 환경으로 식별할 수 있다. 또는, 사람에 대한 정보를 식별하고, 식별된 정보가 등록된 정보와 일치하는 경우 프라이빗 환경으로 식별할 수 있다. 예를 들어, 사용자 가족의 구성원에 관한 정보가 미리 등록되어 사용자의 가족 중 적어도 한 명의 구성원이 획득된 이미지에 포함되더라도 프로세서(120)는 프라이빗 환경으로 식별할 수 있다. 사용자 가족의 구성원에 관한 정보는 이미지로 등록될 수 있다. 여기서, 객체 영역을 검출하는데 장면 분할(Scene segmentation), 객체 트레킹(Object tracking), 객체 검출(Object detection) 기술이 사용될 수 있으며, 객체 영역에 포함된 사람에 대한 정보를 식별하는 경우, Face detection, Face recognition 등의 기술이 이용될 수 있는데, 이러한 기술은 종래 기술이므로 자세한 설명은 생략하도록 한다.
한편, 사용자 및 등록된 타인은 제스처 또는 홍채 인식 등을 통해 식별될 수 있다. 예를 들어, 타인이 기설정된 제스처를 표시하는 경우 프로세서(120)는 해당 타인을 등록된 타인으로 식별하여 현재 환경을 프라이빗 환경으로 식별할 수 있다. 또는 카메라를 통해 인식된 홍채에 기초하여 등록된 타인인지 여부를 식별할 수 있다. 이 경우, 해당 타인의 홍채는 미리 전자 장치(100)에 등록되어야 한다.
다만, 이에 한정되는 것은 아니며, 사용자 및 등록된 타인은 얼굴 외곽선 등과 같은 얼굴 형태, 신체 형태 등으로 식별될 수도 있다. 사용자 및 등록된 타인을 식별할 수 있으면 상술한 실시 예 이외에도 다양한 실시 예가 이용될 수 있음은 물론이다.
다른 실시 예에 따르면, 프로세서(120)는 마이크(미도시)를 통해 녹음된 사운드 정보에 기초하여 전자 장치(100) 주변에 위치한 사람에 대한 정보를 식별하고, 식별된 정보에 기초하여 주변 환경을 식별할 수 있다. 즉, 프로세서(120)는 녹음된 사운드 정보에 기초하여 주변 환경이 퍼블릭 환경인지를 식별할 수 있다.
예를 들어, 프로세서(120)는 녹음된 사운드에 포함된 주파수에 기초하여 주변에 위치한 사람에 대한 정보를 식별할 수 있다. 구체적으로, 프로세서(120)는 주파수를 이용한 음성신호처리 기술 및 패턴인식 기술에 기초하여 녹음된 사운드 정보에 포함된 사람의 수를 식별할 수 있다. 프로세서(120)는 사용자 이외의 사람이 존재하는 경우 주변 환경을 퍼블릭 환경으로 식별할 수 있다. 또는, 사람에 대한 정보를 식별하고, 식별된 정보가 등록된 정보와 일치하는 경우 프라이빗 환경으로 식별할 수 있다. 예를 들어, 사용자 가족의 구성원에 음성 정보가 미리 등록되어 사용자의 가족 중 적어도 한 명의 구성원이 녹음된 사운드 정보에 포함되더라도 프로세서(120)는 프라이빗 환경으로 식별할 수 있다.
또 다른 실시 예에 따르면, 프로세서(120)는 GPS(Global Positioning System) 센서(미도시)를 통해 획득된 현재 위치에 기초하여 주변 환경이 퍼블릭 환경인지를 식별할 수도 있다. 예를 들어, GPS 센서를 통해 획득된 현재 위치가 사용자의 집으로 식별되면 프로세서(120)는 주변 환경을 프라이빗 환경으로 식별할 수 있다.
한편, 프로세서(120)는 상술한 다양한 실시 예에 따라 주변 환경이 퍼블릭 환경으로 식별되면 응답 정보를 외부 장치(200)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다. 여기서, 외부 장치(200)는, 사용자의 프라이빗 장치로 구현되며, 프라이빗 장치는, AR(Augmented Reality) 글래스 또는 스마트 워치(smart watch)를 포함하는 웨어러블(wearable) 장치, 이어폰 또는 헤드폰 중 적어도 하나를 포함할 수 있다. 프라이빗 장치란 외부 환경에 노출이 적은 장치를 의미할 수 있다. 여기서, 웨어러블 장치는 상술한 AR 글래스, 스마트 워치뿐만 아니라 액세서리 형(예: 반지, 팔찌, 발찌, 목걸이, 콘택트 렌즈, 또는 머리 착용 형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착 형(예: 스킨 패드 또는 문신), 또는 생체 이식 형 회로 중 적어도 하나를 포함할 수 있다.
응답 정보는 다양한 방식으로 처리되어 외부 장치(200)로 전송될 수 있는데, 구체적으로, 프로세서(120)는 응답 정보가 프라이버시 정보인 것으로 식별되면, 응답 정보의 타입에 기초하여 응답 정보의 제공 방식을 식별(결정)하고, 식별된 제공 방식에 따라 응답 정보를 처리하여 외부 장치(200)로 전송할 수 있다. 여기서, 응답 정보의 타입이란 프라이버시 정보의 레벨을 의미할 수 있다. 예를 들어, 프라이버시 정보는 상대적으로 낮은 프라이버시 레벨이 요구되는 타입의 정보(이하, 제1 레벨 프라이버시 정보) 및 상대적으로 높은 프라이버시가 요구되는 타입의 정보(이하, 제2 레벨 프라이버시 정보)로 구별될 수 있다. 일 예로, 제1 레벨 프라이버시 정보는 집 주소, 전화번호, 구매 이력 등을 포함하고, 제2 레벨 프라이버시 정보는 주민번호, 신용카드 비밀번호, 공인인증서 비밀번호, 포털 사이트 비밀번호 등 다양한 형태의 비밀번호 등을 포함할 수 있다. 다만, 이는 일 예에 불과할 뿐, 프라이버시 레벨은 더 세분화될 수 있고, 각 레벨에 대응되는 프라이버시 정보는 변경될 수 있음은 물론이다.
즉, 프로세서(120)는 응답 정보에 포함된 프라이버시 정보의 레벨에 따라 응답 정보의 제공 방식을 결정할 수 있다. 여기서, 응답 정보의 제공 방식은 응답 정보의 암호화, 응답 정보의 출력 방식, 응답 정보의 출력 볼륨 조정 또는 응답 정보 중 적어도 일부의 출력 중 적어도 하나를 포함할 수 있다.
예를 들어, 프로세서(120)는 집 주소, 전화번호, 구매 이력 등이 포함된 응답 정보는 응답 정보 중 적어도 일부만을 출력하거나 출력되는 볼륨을 낮춰 출력할 수 있다. 즉, 응답 정보가 제1 레벨 프라이버시 정보에 대응되는 경우, 프로세서(120)는 상대적으로 외부 환경에 노출될 가능성은 높으나, 사용자가 용이하게 원하는 정보를 인지할 수 있는 방식을 통해 응답 정보를 제공할 수 있다.
또는, 프로세서(120)는 주민번호, 신용카드 비밀번호, 공인인증서 비밀번호 등이 포함된 응답 정보를 암호화하여 제공할 수 있다. 여기서, 암호화는 프라이버시 정보에 해당되는 정보의 일부 또는 전부를 다른 용어 또는 동의어로 변경시키는 음어 방식 또는 프라이버시 정보에 해당되는 정보를 간접적으로 나타내는 간접어 방식을 포함할 수 있다. 즉, 응답 정보가 제2 레벨 프라이버시 정보에 대응되는 경우, 프로세서(120)는 상대적으로 외부 환경에 노출될 가능성이 낮은 방식을 통해 응답 정보를 제공할 수 있다.
다만, 프로세서(120)는 응답 정보에 포함된 프라이버시 정보의 레벨과 관계없이 기설정된 제공 방식에 기초하여 응답 정보를 처리하여 외부 장치(200)로 제공할 수도 있다.
한편, 프로세서(120)는 전자 장치(100)와 통신 연결된 적어도 하나의 외부 장치(200)를 검색하고, 식별된 응답 정보의 제공 방식에 기초하여 검색된 적어도 하나의 외부 장치(200) 중 하나를 식별하고, 식별된 외부 장치(200)로 처리된 응답 정보를 제공할 수 있다.
예를 들어, 응답 정보의 제공 방식이 출력 볼륨을 축소하여 제공하는 방식으로 식별된 경우, 프로세서(120)는 검색된 외부 장치(200) 중 스피커를 포함하는 장치로 출력 볼륨이 축소 처리된 응답 정보를 전송할 수 있다. 일 예로, 외부 장치(200)가 이어폰, 또는 스마트 워치가 검색된 경우, 음성 출력 기능이 구비된 이어폰으로 출력 볼륨이 축소 처리된 응답 정보를 전송할 수 있다.
한편, 응답 정보의 제공 방식을 식별하고, 식별된 제공 방식에 기초하여 외부 장치(200)를 식별하는 것으로 상술하였으나, 경우에 따라 외부 장치(200)를 먼저 식별하고, 식별된 외부 장치(200)에 기초하여 응답 정보의 제공 방식을 결정할 수도 있다. 예를 들어, 외부 장치(200)가 이어폰으로 식별된 경우, 응답 정보의 제공 방식으로 출력 볼륨이 축소 처리되는 방식이 결정될 수 있다.
한편, 프로세서(120)는 주변 환경이 퍼블릭 환경으로 식별되면 응답 정보의 타입을 식별하고, 응답 정보의 타입에 기초하여 응답 정보의 제공 시점을 식별할 수 있다. 이후, 프로세서(120)는 식별된 제공 시점에 응답 정보를 외부 장치(200)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다.
예를 들어, 프로세서(120)는 응답 정보에 프라이버시 정보가 포함된 것으로 식별되면, 응답 정보의 제공 시점을 주변 환경이 프라이빗 환경으로 식별되는 시점으로 식별할 수 있다.
또는, 프로세서(120)는 프라이버시 정보의 레벨에 따라 응답 정보의 제공 시점을 식별할 수 있다. 예를 들어, 응답 정보에 주민번호, 신용카드 비밀번호, 공인인증서 비밀번호 등이 포함된 경우, 프로세서(120)는 응답 정보의 제공 시점을 주변 환경이 프라이빗 환경으로 식별되는 시점으로 식별할 수 있다. 즉, 응답 정보가 제2 레벨 프라이버시 정보에 대응되는 경우, 프로세서(120)는 주변 환경이 프라이빗 환경으로 식별되기 전까지 응답 정보를 제공하지 않을 수 있다.
또한, 응답 정보에 집 주소, 전화번호, 구매 이력 등이 포함된 경우, 프로세서(120)는 주변 환경이 프라이빗 환경으로 식별되지 않더라도 식별된 제공 방식으로 응답 정보를 처리하여 제공할 수 있다.
또는, 프로세서(120)는 응답 정보의 제공 시점을 문의할 수 있다. 예를 들어, 프로세서(120)는 사용자로부터 응답 정보의 제공 시점을 입력 받기 위한 UI를 디스플레이 상에 제공하거나 음성을 통해 제공하여 응답 정보의 제공 시점을 문의할 수 있다.
또한, 프로세서(120)는 응답 정보의 제공 여부를 문의할 수도 있다. 예를 들어, 응답 정보에 프라이버시 정보가 포함된 경우, 프로세서(120)는 "프라이버시 정보가 포함되어 있습니다. 들으시겠습니까?"와 같은 음성을 출력하거나 문의 텍스트를 디스플레이를 통해 제공할 수 있다. 이후, 프로세서(120)는 사용자의 입력에 대응되는 동작을 수행할 수 있다. 상술한 문의 텍스트는 일 예일 뿐이며, 응답 정보의 제공 여부를 문의하는 내용이면 다양한 형태로 변경될 수 있음은 물론이다.
한편, 프로세서(120)는 응답 정보에서 프라이버시 정보를 제외한 나머지 정보를 출력하도록 스피커를 제어할 수 있다. 예를 들어, 사용자 음성에 대한 응답 정보에 프라이버시 정보뿐만 아니라 퍼블릭 정보도 포함된 경우, 프로세서(120)는 프라이버시 정보를 제외한 나머지 정보를 스피커를 통해 출력할 수도 있다. 일 예로, 프로세서(120)는 프라이버시 정보에 대응되는 정보는 묵음(mute) 처리하여 음성 출력하거나 프라이버시 정보가 포함된 문장은 음성 출력하지 않을 수 있다.
한편, 본 개시의 상술한 실시 예에 따르면, 프로세서(120)는 주변 환경이 퍼블릭 환경인지 여부를 식별하고, 퍼블릭 환경으로 식별되면 응답 정보를 외부 장치(200)로 전송하고, 프라이빗 환경으로 식별되면 응답 정보를 음성을 통해 또는 디스플레이를 통해 출력할 수 있다. 즉, 프로세서(120)는 현재 환경을 식별하여 응답 정보의 제공 방식을 결정하는 것으로 상술하였다.
다만, 이에 한정되는 것은 아니며, 프로세서(120)는 환경을 식별하지 않고 프라이버시 정보가 포함된 응답 정보를 외부 장치(200)로 전송하여 처리할 수 있다. 예를 들어, 사용자가 프라이빗 공간에 혼자 있는 경우에도 응답 정보에 프라이버시 정보가 포함된 경우, 응답 정보를 외부 장치(200)로 전송하여 처리하는 등 퍼블릭 환경으로 식별된 경우와 같이 처리할 수 있다.
한편, 사용자 음성에 대한 응답 정보에 프라이버시 정보가 포함되고, 퍼블릭 환경인 경우 응답 정보를 외부 장치(200)로 전송하는 실시 예에 대해 상술하였으나, 프로세서(120)는 응답 정보를 외부 장치(200)로 전송하지 않으며 음성으로 제공하지도 않고 전자 장치(100)에 구비된 디스플레이를 통해 제공할 수도 있다. 디스플레이에 표시되는 정보는 음성을 통해 제공되는 정보보다 타인에게 노출될 위험성이 적으므로 외부 장치(200)로 응답 정보를 전송하지 않더라도 사용자의 프라이버시가 보호될 수 있다. 이 경우, 프로세서(120)는 전자 장치(100)를 진동시키거나 특정 음성 또는 음향 등을 제공하여 프라이버시 정보가 포함된 응답 정보가 디스플레이 상에 표시되었음을 알릴 수 있다.
도 3은 전자 장치의 세부 구성을 설명하기 위한 블록도이다.
도 3에 따르면, 전자 장치(100)는 통신 인터페이스(110), 프로세서(120), 메모리(130), 카메라(140), 마이크(150), 스피커(160) 및 디스플레이(170)를 포함한다. 도 3에 도시된 구성 중 도 2에 도시된 구성과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
통신 인터페이스(110)는 외부 장치(200)와 통신할 수 있는 구성이다. 통신 인터페이스(110)는 와이파이 모듈(미도시), 블루투스 모듈(미도시), LAN(Local Area Network) 모듈, 무선 통신 모듈(미도시) 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다. 무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 이더넷(Ethernet), USB(Universal Serial Bus), MIPI CSI(Mobile Industry Processor Interface Camera Serial Interface), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다. 다만 이는 일 실시 예에 불과하며 통신 인터페이스(110)는 타 전자 장치(200)와 통신하는 경우 다양한 통신 모듈 중 적어도 하나의 통신 모듈을 이용할 수 있다.
프로세서(120)는 메모리(130)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(120)는 RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 124-n), 버스(125)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 124-n) 등은 버스(125)를 통해 서로 연결될 수 있다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 메모리(130)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 메모리(130)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다. 다만, 상술한 RAM(121), ROM(122)은 프로세서(120)와 별도의 외부 메모리로 구현될 수도 있다.
메인 CPU(123)는 메모리(130)에 액세스하여, 메모리(130)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(130)에 저장된 각종 프로그램, 컨텐츠 데이터 등을 이용하여 다양한 동작을 수행한다. 특히, 일 실시 예에 따르면, 메인 CPU(123)가 ROM(122)에 저장된 명령어에 따라 메모리(130)에 프로그램을 RAM(121)에 복사하고, RAM(121)에 액세스하여 해당 프로그램을 실행시킬 수 있다.
제1 내지 n 인터페이스(124-1 내지 124-n)는 상술한 각종 구성 요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
GPU(126)는 그래픽 처리를 위한 고성능의 처리 장치에 해당할 수 있으며, 메모리(130)를 빠르게 처리하고 바꾸어 화면으로 출력할 프레임 버퍼 안의 영상 생성을 가속하도록 설계된, 전문화된 전자 회로일 수 있다. 또한, GPU(126)는 VPU(visual processing unit)를 의미할 수 있다.
NPU(127)는 AI 칩셋(또는 AI 프로세서)에 해당할 수 있으며 AI 가속기(AI accelerator)일 수 있다. NPU(127)는 딥뉴럴네트워크 수행에 최적환 된 프로세서 칩에 해당할 수 있다. 한편, NPU(127)는 GPU(126)를 대신하여 딥러닝 모델을 실행하는 처리 장치에 해당할 수 있으며, NPU(127)는 GPU(126)와 함께 딥러닝 모델을 실행하는 처리 장치에 해당할 수도 있다.
한편, 도 3에서는 메인 CPU(123), GPU(126), NPU(127)를 모두 표시하였지만, 실제 구현 시 프로세서(120)는 메인 CPU(123), GPU(126) 또는 NPU(127) 중 적어도 하나로 구현되어 동작할 수 있다.
메모리(130)는 프라이버시 정보에 대응되는 타입 정보를 저장할 수 있다. 구체적으로, 주민번호, 신용카드 비밀번호, 공인인증서 비밀번호, 포털 사이트 비밀번호 등 다양한 형태의 비밀번호, 집 주소 등과 같은 타입의 정보는 프라이버시 정보로 저장될 수 있다. 또한, 메모리(130)는 프라이버시 정보의 레벨을 구분하여 프라이버시 정보를 저장할 수 있다. 상대적으로 낮은 프라이버시 레벨이 요구되는 제1 레벨 프라이버시 정보는 집 주소, 전화번호, 구매 이력 등을 포함하고, 상대적으로 높은 프라이버시가 요구되는 제2 레벨 프라이버시 정보는 주민번호, 신용카드 비밀번호, 공인인증서 비밀번호, 포털 사이트 비밀번호 등 다양한 형태의 비밀번호 등을 포함할 수 있다. 다만, 이는 일 예에 불과할 뿐, 프라이버시 레벨은 더 세분화될 수 있고, 각 레벨에 대응되는 프라이버시 정보는 변경될 수 있음은 물론이다.
또한, 검출된 배경 영역에 대응되는 공간이 프라이빗 환경 또는 퍼블릭 환경 중 어느 환경에 대응되는지에 관한 정보가 메모리(130)에 저장될 수 있다. 또한, 메모리(130)는 프라이빗 환경에 대응되는 사용자의 집, 침실, 거실, 부엌 등의 이미지를 저장할 수 있다.
한편, 메모리(130)는 프로세서(120)와 별도의 메모리로 구현될 수 있다. 이 경우, 메모리(130)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현되고, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
또한, 메모리(130)는 프로세서(120)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현될 수도 있다.
카메라(140)는 주변 환경을 촬영하여 이미지를 획득할 수 있다. 카메라(140)는 사용자 명령에 따라 주변 환경을 촬영할 수 있으나, 사용자 명령없이 기설정된 이벤트에 기초하여 주변 환경을 촬영할 수도 있다. 여기서, 기설정된 이벤트란 기설정된 시간이 경과되는 경우, 주변의 조도가 기설정된 임계치 이상 변경되는 경우, GPS 센서로부터 수신된 정보에 기초하여 다른 공간으로 이동이 식별되는 경우 등을 포함할 수 있다. 한편, 카메라(140)에 의해 촬영된 이미지는 주변 환경이 퍼블릭 환경인지 프라이빗 환경인지 여부를 식별하는데 이용될 수 있다.
카메라(140)는 전자 장치(100)의 전면에 구비된 전면 카메라, 전자 장치(100)의 후면에 구비된 후면 카메라와 같이 복수 개로 구현될 수도 있다.
마이크(150)는 사용자 음성을 입력 받기 위한 구성이다. 또한, 마이크(150)는 주변 환경의 사운드를 녹음하기 위한 구성이다.
마이크(150)에 의해 녹음된 사운드는 주변 환경이 퍼블릭 환경인지 프라이빗 환경인지 여부를 식별하는데 이용될 수 있다.
스피커(160)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 스피커(160)는 사용자 질의에 대한 응답 정보를 자연어 형태의 음성 메시지로 출력할 수 있다. 또한, 스피커(160)는 사용자로부터 응답 정보의 제공 시점을 입력 받기 위한 음성을 제공할 수 있다.
한편, 오디오를 출력하기 위한 구성은 스피커로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다.
디스플레이(170)는 프로세서(120)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 디스플레이(170)는 사용자 음성에 대응되는 응답 정보를 표시할 수 있다. 또한, 디스플레이(170)는 사용자로부터 응답 정보의 제공 시점을 입력 받기 위한 UI를 제공할 수 있다.
디스플레이(170)는 LCD(liquid crystal display), OLED(organic light-emitting diode), LCoS(Liquid Crystal on Silicon), DLP(Digital Light Processing), QD(quantum dot), 마이크로 LED(Micro light-emitting diode) 디스플레이 등과 같은 다양한 형태로 구현될 수 있다. 특히, 디스플레이(170)는 터치패드와 상호 레이어 구조를 이루는 터치 스크린 형태로 구현될 수 있다. 이 경우, 디스플레이(170)는 출력 장치 이외에 사용자 인터페이스(미도시)로 사용될 수도 있다. 여기서, 터치스크린은 터치 입력 위치 및 면적뿐만 아니라 터치 입력 압력까지도 검출할 수 있도록 구성될 수 있다.
상술한 구성 이외에도 전자 장치(100)는 센서(미도시)를 더 포함할 수도 있다.
센서는 전자 장치(100)의 다양한 상태 정보를 감지할 수 있다. 예를 들어, 센서는 전자 장치(100)의 움직임 정보를 감지할 수 있는 움직임 센서(예로, 자이로 센서, 가속도 센서 등)를 포함할 수 있으며, 위치 정보를 감지할 수 있는 센서(예로, GPS(Global Positioning System) 센서), 전자 장치(100) 주위의 환경 정보를 감지할 수 있는 센서(예로, 온도 센서, 습도 센서, 기압 센서 등), 전자 장치(100)의 사용자 정보를 감지할 수 있는 센서(예로, 혈압 센서, 혈당 센서, 맥박수 센서 등) 등을 포함할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 프라이버시 정보를 제공하기 위한 전자 장치의 동작을 설명하기 위한 도면이다.
전자 장치(100)는 마이크(150)를 통해 사용자 음성을 수신할 수 있다(S410). 여기서, 사용자 음성은 사용자 질의에 대응되는 음성을 의미하며, 사용자 질의는 음성뿐만 아니라 다른 수단에 의해 수신될 수도 있다. 또한, 가상 비서 기능을 실행하기 위해서는 사용자 질의가 수신되기 전에 기설정된 사용자 음성(예를 들어, "하이 빅스비" 등)이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 음성 비서를 실행하기 위한 버튼)이 눌러지는 동작이 선행될 수 있다.
이후, 전자 장치(100)는 사용자 음성, 즉 아날로그 음성 신호를 디지털화하여 디지털 신호를 획득할 수 있다. 전자 장치(100)는 획득된 디지털 신호를 음성 인식 관련 서버(미도시)로 전송하고 음성 인식 관련 서버로부터 수신되는 음성 인식 결과에 기초하여 사용자 음성을 인식할 수 있다. 여기서, 음성 인식 관련 서버는 음성 신호를 텍스트로 변환하는 STT (Speech to Text) 서버 역할을 할 수 있다. 이와 같은 STT 서버는 음성 신호를 텍스트로 변화하여 변환된 음성 인식 결과를 전자 장치(100)로 전송할 수 있다. 또는, 전자 장치(100)는 STT 기능을 구비하여 수신된 사용자 음성을 직접 텍스트로 변환하여 사용자 음성을 인식할 수도 있다.
이후, 전자 장치(100)는 사용자 음성에 대응되는 응답 정보를 서버(300)로부터 수신하거나 직접 응답 정보를 획득할 수 있다. 전자 장치(100)는 획득된 응답 정보에 프라이버시 정보가 포함되었는지 여부를 식별할 수 있다(S420). 구체적으로, 전자 장치(100)는 타입 정보에 기초하여 응답 정보에 프라이버시 정보가 포함되었는지 여부를 식별할 수 있다.
응답 정보에 프라이버시 정보가 포함된 것으로 식별되면(S420-Y), 전자 장치(100)는 주변 환경이 퍼블릭 환경인지를 식별할 수 있다(S430). 예를 들어, 응답 정보에 사용자의 신용카드 비밀번호가 포함된 경우, 전자 장치(100)는 응답 정보에 프라이버시 정보가 포함된 것으로 식별할 수 있다.
여기서, 퍼블릭 환경이란 공공장소, 등록되지 않은 타인이 존재하는 경우 등 프라이버시가 보호되지 않는 환경을 의미한다. 예를 들어, 카메라에 의해 획득된 이미지에 포함된 배경 영역 또는 객체 영역 중 적어도 하나에 기초하여 주변 환경이 퍼블릭 환경인지를 식별할 수 있다. 또는, 마이크에 의해 녹음된 사운드 정보에 기초하여 주변 환경이 퍼블릭 환경인지를 식별할 수 있다.
주변 환경이 퍼블릭 환경으로 식별되면(S430-Y), 전자 장치(100)는 응답 정보의 제공 시점을 식별할 수 있다(S440). 예를 들어, 전자 장치(100)는 응답 정보에 프라이버시 정보가 포함된 것으로 식별되면, 응답 정보의 제공 시점을 주변 환경이 프라이빗 환경으로 식별되는 시점으로 식별할 수 있다.
또한, 전자 장치(100)는 응답 정보의 타입에 기초하여 응답 정보의 제공 방식을 식별할 수 있다(S450).
예를 들어, 전자 장치(100)는 제1 레벨 프라이버시 정보에 대응되는 집 주소, 전화번호, 구매 이력 등이 포함된 응답 정보는 응답 정보 중 적어도 일부만을 출력하거나 출력되는 볼륨을 낮춰 출력할 수 있다. 또는, 전자 장치(100)는 제2 레벨 프라이버시 정보에 대응되는 주민번호, 신용카드 비밀번호, 공인인증서 비밀번호 등이 포함된 응답 정보를 암호화하여 제공할 수 있다.
이후, 전자 장치(100)는 응답 정보를 제공할 타 전자 장치(200)를 식별하고(S460), 식별된 타 전자 장치(200)로 응답 정보를 전송할 수 있다(S470). 예를 들어, 응답 정보의 제공 방식이 출력 볼륨을 축소하여 제공하는 방식으로 식별된 경우, 전자 장치(100)는 검색된 타 전자 장치(200) 중 스피커를 포함하는 장치로 출력 볼륨이 축소 처리된 응답 정보를 전송할 수 있다. 일 예로, 타 전자 장치(200)가 이어폰, 또는 스마트 워치가 검색된 경우, 음성 출력 기능이 구비된 이어폰으로 출력 볼륨이 축소 처리된 응답 정보를 전송할 수 있다.
한편, 응답 정보에 프라이버시 정보가 포함되지 않거나(S420-N), 주변 환경이 퍼블릭 환경이 아닌 프라이빗 환경으로 식별되는 경우(S430-N), 전자 장치(100)는 획득된 응답 정보를 음성으로 출력하여 제공할 수 있다(S480).
한편, 응답 정보의 제공 방식을 식별하고, 식별된 제공 방식에 기초하여 타 전자 장치(200)를 식별하는 것으로 상술하였으나, 경우에 따라 타 전자 장치(200)를 먼저 식별하고, 식별된 타 전자 장치(200)에 기초하여 응답 정보의 제공 방식을 결정할 수도 있다. 또한, 응답 정보의 제공 방식을 식별하기 전에 응답 정보의 제공 시점을 식별하는 것으로 상술하였으나, 응답 정보의 제공 방식을 식별한 후나 타 전자 장치(200)를 식별한 후에 응답 정보의 제공 시점을 식별할 수도 있다.
도 5는 본 개시의 일 실시 예에 따른 프라이빗 환경 및 퍼블릭 환경에 따라 상이하게 응답 정보를 제공하는 동작을 설명하기 위한 도면이다.
도 5는 차량에 전자 장치(100)(예를 들어, 스마트 폰)가 차량 내부에 거치된 상태에서 프라이버시 정보가 포함된 응답 정보를 사용자에게 제공해야 하는 상황을 상정한다. 전자 장치(100)는 현재 상황이 퍼블릭 환경인지를 식별하고 식별된 결과에 따라 상이하게 응답 정보를 제공할 수 있다.
예를 들어, 카메라(140)를 통해 획득된 차량 내부 이미지에 사용자만 존재하는 경우, 전자 장치(100)는 현재 주변 환경을 프라이빗 환경으로 식별할 수 있다. 이 경우, 전자 장치(100)는 프라이버시 정보가 포함된 응답 정보를 스피커(160)를 통해 음성으로 출력할 수 있다.
또는, 카메라(140)를 통해 획득된 차량 내부 이미지에 사용자뿐만 아니라 타인도 존재하는 경우, 전자 장치(100)는 현재 주변 환경을 퍼블릭 환경으로 식별할 수 있다. 이 경우, 전자 장치(100)는 프라이버시 정보가 포함된 응답 정보 타 전자 장치(200)에 전송하고, 타 전자 장치(200)에서 응답 정보를 출력할 수 있다. 예를 들어, 전자 장치(100)는 사용자가 착용하고 있는 스마트 워치를 통해 프라이버시가 포함된 응답 정보를 제공하고, 사용자는 스마트 워치를 통해 응답 정보를 인지할 수 있다. 이와 같이 차량 내부에 타인이 존재 하더라도 사용자는 타 전자 장치(200)를 통해 프라이버시 정보를 타인에게 노출하지 않고 획득할 수 있다.
도 5는 카메라(140)를 포함하는 전자 장치(100)가 차량 내부에 거치되어 차량 내부 이미지를 획득할 수 있는 경우를 상정하였으므로, 전자 장치(100)는 카메라(140)를 통해 획득된 이미지 데이터에 기초하여 현재 주변 환경을 식별할 수 있다. 다만, 전자 장치(100)가 사용자의 주머니 속에 있는 등 사용자 주변 환경을 촬영할 수 없는 경우 마이크(150)를 통해 녹음된 사운드에 기초하여 현재 주변 환경이 퍼블릭 환경인지를 식별할 수도 있다. 또는, 카메라(140) 및 마이크(150) 각각을 통해 획득된 데이터에 기초하여 현재 주변 환경이 각각 식별될 수 있다. 식별된 주변 환경의 결과에 퍼블릭 환경으로 식별된 결과가 적어도 하나있는 경우, 전자 장치(100)는 현재 환경을 퍼블릭 환경으로 식별할 수 있다. 예를 들어, 사용자 이외의 타인이 발화를 하지 않는 경우, 마이크(150)를 통해 녹음된 사운드에 타인에 대한 정보가 검출되지 않지만 카메라(140)를 통해 획득된 이미지에 타인이 포함된 경우를 상정한다. 마이크(150)를 통해 녹음된 사운드에 기초한 경우 현재 주변 환경이 프라이빗 환경으로 식별되나 카메라(140)를 통해 획득된 이미지에 기초한 경우 현재 주변 환경이 퍼블릭 환경으로 식별될 수 있다. 이 경우, 전자 장치(100)는 현재 주변 환경을 퍼블릭 환경으로 식별할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 등록된 타인이 사용자 주변에 존재하는 경우 프라이빗 환경 또는 퍼블릭 환경을 식별하는 동작을 설명하기 위한 도면이다.
도 6은 전자 장치(100)(예를 들어, 스마트 폰)가 사용자 방 내부에 위치한 상태에서 프라이버시 정보가 포함된 응답 정보를 사용자에게 제공해야 하는 상황을 상정한다.
예를 들어, 카메라(140)를 통해 획득된 이미지의 배경 영역에 기초하여 전자 장치(100)는 현재 위치를 사용자의 방으로 식별할 수 있다. 또한, 획득된 이미지에 사용자만 존재하는 경우, 전자 장치(100)는 현재 주변 환경을 프라이빗 환경으로 식별할 수 있다. 이 경우, 전자 장치(100)는 프라이버시 정보가 포함된 응답 정보를 스피커(160)를 통해 음성으로 출력할 수 있다.
또는, 카메라(140)를 통해 획득된 이미지의 배경 영역이 사용자 방으로 식별되더라도 이미지의 객체 영역에 사용자 이외의 타인도 존재하는 경우, 전자 장치(100)는 현재 주변 환경을 퍼블릭 환경으로 식별할 수 있다. 다만, 타인이 사용자에 의해 등록된 타인인 경우, 전자 장치(100)는 현재 주변 환경을 프라이빗 환경으로 식별할 수 있다. 예를 들어, 사용자 형제의 이미지가 주변 환경을 식별하기 이전에 입력되고, 입력된 객체와 동일한 객체가 타인으로 식별되는 경우 전자 장치(100)는 해당 객체를 등록된 타인으로 식별하여 현재 주변 환경을 프라이빗 환경으로 식별할 수 있다. 따라서, 전자 장치(100)는 프라이버시 정보가 포함된 응답 정보를 스피커(160)를 통해 음성으로 출력할 수 있다. 즉, 사용자에 의해 등록된 타인은 프라이버시 정보가 노출되더라도 무관한 사람으로, 전자 장치(100)는 등록된 타인이 존재하는 경우 별도의 제공 방식으로 응답 정보를 처리하지 않을 수 있다.
또는, 타인의 이미지가 주변 환경을 식별하기 이전에 입력되지 않아 퍼블릭 환경으로 식별될 수 있으나, 사용자가 별도로 현재 주변 환경을 프라이빗 환경으로 입력하는 경우, 전자 장치(100)는 획득된 이미지에 포함된 타인을 등록할 수 있다.
카메라(140)를 통해 획득된 이미지에 기초하여 현재 주변 환경을 식별하는 것으로 상술하였으나, 마이크(150)를 통해 녹음된 사운드 정보에 기초하여 현재 주변 환경을 식별할 수 있음은 물론이다. 예를 들어, 사용자 형제의 음성을 등록된 타인의 음성으로서 입력하는 경우, 전자 장치(100)는 사용자 음성 이외에 해당 음성이 감지되더라도 현재 주변 환경을 프라이빗 환경으로 식별할 수 있다.
또한, 타인의 제스처 또는 홍채를 통해 주변 환경이 식별될 수 있다. 예를 들어, 사용자 주변에 타인이 존재하는 것으로 식별되었으나 타인이 기설정된 제스처를 취하거나 타인의 홍채가 미리 등록된 홍채와 일치하는 경우, 전자 장치(100)는 현재 환경을 프라이빗 환경으로 식별할 수 있다.
또한, 전자 장치(100)는 기설정된 시간 구간이 도래하면, 해당 시간 구간 동안을 프라이빗 환경으로 식별할 수 있다. 예를 들어, 기설정된 시간 구간이 오후 11시부터 오전 6시로 설정된 경우를 상정한다. 이 경우, 오후 11시가 되면 응답 정보에 프라이버시 정보가 포함되더라도 전자 장치(100)는 스피커(160) 또는 디스플레이(170)를 통해 응답 정보를 출력할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 사용자 질의에 대한 응답 정보를 제공하는 가상 비서 기능의 대화 시스템을 설명하기 위한 도면이다.
도 7에 도시된 대화 시스템(700)은 가상의 인공지능 에이전트와 자연어를 통해 대화를 수행하기 위한 구성으로서, 본 개시의 일 실시 예 따르면, 대화 시스템(700)은 전자 장치(100)의 메모리(130) 내에 저장될 수 있다. 그러나, 이는 일 실시 예에 불과할 뿐, 대화 시스템(700)에 포함된 적어도 하나의 구성은 서버(300)에 포함될 수 있다.
대화 시스템(700)은 도 7에 도시된 바와 같이, 자동 음성 인식(automatic speech recognition)(ASR) 모듈(710), 자연어 이해(natural language understanding)(NLU) 모듈(720), 대화 매니저(dialogue manager)(DM) 모듈(730), 자연어 생성(natural language generator)(NLG) 모듈(740) 및 텍스트 음성 변환(text to speech)(TTS) 모듈(750)을 포함할 수 있다. 그 밖에 대화 시스템(700)은 패스 플래너(path planner) 모듈 또는 액션 플래너(action planner) 모듈을 더 포함할 수 있다.
자동 음성 인식(automatic speech recognition)(ASR) 모듈(710)은 전자 장치(100)로부터 수신된 사용자 음성(특히, 사용자 질의)을 텍스트 데이터로 변환할 수 있다. 예를 들어, 자동 음성 인식 모듈(710)은 발화 인식 모듈을 포함할 수 있다. 발화 인식 모듈은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 예를 들어, 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 발화 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 발화를 텍스트 데이터로 변환할 수 있다. 음향 모델 및 언어 모델에 대한 정보는, 예를 들어, 자동 음성 인식 데이터베이스(automatic speech recognition database)(ASR DB)(715)에 저장될 수 있다.
자연어 이해 모듈(720)은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 문법적 분석은 사용자 입력을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, 자연어 이해 모듈(720)은 사용자 입력이 어느 도메인(domain), 의도(intent) 또는 의도를 표현하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))를 얻을 수 있다.
자연어 이해 모듈(720)은 도메인(domain), 의도(intend) 및 의도를 파악하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))로 나누어진 매칭 규칙을 이용하여 사용자의 의도 및 파라미터를 결정할 수 있다. 예를 들어, 하나의 도메인(예: 알람)은 복수의 의도(예: 알람 설정, 알람 해제 등)를 포함할 수 있고, 하나의 의도는 복수의 파라미터(예: 시간, 반복 횟수, 알람음 등)을 포함할 수 있다. 복수의 룰은, 예를 들어, 하나 이상의 필수 요소 파라미터를 포함할 수 있다. 매칭 규칙은 자연어 인식 데이터베이스(natural language understanding database)(NLU DB)(723)에 저장될 수 있다.
자연어 이해 모듈(720)은 형태소, 구 등의 언어적 특징(예: 문법적 요소)을 이용하여 사용자 입력으로부터 추출된 단어의 의미를 파악하고, 파악된 단어의 의미를 도메인 및 의도에 매칭시켜 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(720)은 각각의 도메인 및 의도에 사용자 입력에서 추출된 단어가 얼마나 포함되어 있는 지를 계산하여 사용자 의도를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(720)은 의도를 파악하는데 기초가 된 단어를 이용하여 사용자 입력의 파라미터를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(720)은 사용자 입력의 의도를 파악하기 위한 언어적 특징이 저장된 자연어 인식 데이터베이스(723)를 이용하여 사용자의 의도를 결정할 수 있다.
자연어 이해 모듈(720)은 개인 지식 베이스(Private knowledge Base)(725)를 이용하여 사용자 질의를 이해할 수 있다. 이때, 개인 지식 베이스(725)는 사용자 프로파일 정보(사용자 이름, 나이, 성별, 신체 사이즈 등과 같은 신상 정보뿐만 아니라 사용자가 직접 입력한 사용자 선호 정보 등을 포함함.), 전자 장치(100)에 입력된 사용자 인터렉션, 사용자의 검색 히스토리, 전자 장치(100)가 센싱한 센싱 정보, 외부 장치로부터 수신된 사용자 정보 중 적어도 하나를 바탕으로 지식 정보들의 관계가 학습될 수 있다. 이때, 지식 정보들이 학습되는 방법은 Text로부터 지식 추출방법인 attribute Extraction, Entity Extraction, Relation Extraction, Co-reference resolution등을 포함할 수 있고, 기 구축된 지식 베이스에 Entity disambiguation을 통한 linking 작업(지식 베이스에 추출된 지식을 연결)이 이루어 질 수 있다. 이때 기 학습된 Language Model을 사용하거나 probability modeling, Embedding Technique이 사용될 수 있다. 또한 Link prediction등을 통한 Knowledge Base Completion이 수행될 수도 있다.
이때, 개인 지식 베이스(725)는 객체(object), 객체간의 관계(relation), 객체의 속성(attribute)을 테이블 혹은 그래프 형태로 저장하고, 특정 객체에서 관계나 속성이 복수개의 형태로 저장되는 데이터를 포함할 수 있다. 특히, 개인 지식 베이스(725)가 최초 구축될 때, 전자 장치(100)는 획득된 사용자와 관련된 다양한 정보뿐만 아니라 사용자와 관련된 정보와 연계된 지식을 외부 서버에 요청하여 개인 지식 베이스(725)를 구축할 수 있다. 이때, 객체(Object)는 Class, entity, parameter 등으로 명명 될 수 있으며, 객체의 속성은 속성 타입/속성명(attribute type/name) 또는 속성값(attribute value)를 포함할 수 있다.
또한, 개인 지식 베이스(725)는 새로운 지식 정보가 추가된 경우, 새로운 지식 정보의 추가 정보를 외부 서버로부터 수신하여 지식 정보와 추가 정보를 지식 그래프 형태로 저장할 수 있다.
한편, 개인 지식 베이스(725)가 지식 그래프 형태로 지식 정보를 저장하는 것은 일 실시 예에 불과할 뿐, 데이터셋 형태로 정보를 저장할 수 있다.
자연어 이해 모듈(720)은 개인 지식 베이스(725)를 이용하여 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(720)은 사용자 정보(예: 선호 문구, 선호 컨텐츠, 연락처 리스트, 음악 리스트 등)를 이용하여 사용자의 의도를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(720)뿐만 아니라 자동 음성 인식 모듈(710)도 개인 지식 베이스(725)를 참고하여 사용자의 음성을 인식할 수 있다.
자연어 이해 모듈(720)은 사용자 입력의 의도 및 파라미터에 기초하여 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(720)은 사용자 입력의 의도에 기초하여 실행될 앱을 선택하고, 선택된 앱에서 수행될 동작을 결정할 수 있다. 자연어 이해 모듈(720)은 결정된 동작에 대응되는 파라미터를 결정하여 패스 룰을 생성할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(720)에 의해 생성된 패스 룰은 실행될 앱, 앱에서 실행될 동작 및 상기 동작을 실행하는데 필요한 파라미터에 대한 정보를 포함할 수 있다.
자연어 이해 모듈(720)은 사용자 입력의 의도 및 파라미터를 기반으로 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(720)은 패스 플래너 모듈로부터 전자 장치(100)에 대응되는 패스 룰 셋을 수신하고, 사용자 입력의 의도 및 파라미터를 수신된 패스 룰 셋에 맵핑하여 패스 룰을 결정할 수 있다. 이때, 패스 룰은 앱의 기능을 수행하기 위한 동작(또는 오퍼레이션(operation))에 대한 정보 또는 동작을 실행하기 위해 필요한 파라미터에 대한 정보를 포함할 수 있다. 또한, 패스 룰은 앱의 동작 순서를 포함할 수 있다. 전자 장치(100)는 패스 룰을 수신하고, 패스 룰에 따라 앱을 선택하고, 선택된 앱에서 패스 룰에 포함된 동작을 실행시킬 수 있다.
자연어 이해 모듈(720)은 사용자 입력의 의도 및 파라미터에 기초하여 실행될 앱, 앱에서 실행될 동작 및 상기 동작을 실행하는데 필요한 파라미터를 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(720)은 전자 장치(100)의 정보를 이용하여 실행될 앱 및 상기 앱에서 실행될 동작을 사용자 입력의 의도에 따라 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 배열하여 패스 룰을 생성할 수 있다. 상기 생성된 패스 룰은, 예를 들어, 패스 플래너 모듈을 통해 패스 룰 데이터베이스(path rule database)에 저장될 수 있다. 상기 생성된 패스 룰은 데이터베이스(723)의 패스 룰 셋에 추가될 수 있다.
자연어 이해 모듈(720)은 생성된 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다. 예를 들어, 자연어 이해 모듈(720)은 복수의 패스 룰 최적의 패스 룰을 선택할 수 있다. 다른 예를 들어, 자연어 이해 모듈(720)은 사용자 발화에 기초하여 일부 동작만이 특정된 경우 복수의 패스 룰을 선택할 수 있다. 자연어 이해 모듈(720)은 사용자의 추가 입력에 의해 복수의 패스 룰 중 하나의 패스 룰을 결정할 수 있다.
대화 매니저 모듈(730)은 자연어 이해 모듈(720)에 의해 파악된 사용자의 의도가 명확한지 여부를 판단할 수 있다. 예를 들어, 대화 매니저 모듈(730)은 파라미터의 정보가 충분하지 여부에 기초하여 사용자의 의도가 명확한지 여부를 판단할 수 있다. 대화 매니저 모듈(730)는 자연어 이해 모듈(720)에서 파악된 파라미터가 태스크를 수행하는데 충분한지 여부를 판단할 수 있다. 일 실시 예에 따르면, 대화 매니저 모듈(730)는 사용자의 의도가 명확하지 않은 경우 사용자에게 필요한 정보를 요청하는 피드백을 수행할 수 있다. 예를 들어, 대화 매니저 모듈(730)는 사용자의 의도를 파악하기 위한 파라미터에 대한 정보를 요청하는 피드백을 수행할 수 있다. 또한, 대화 매니저 모듈(730)은 자연어 이해 모듈(720)에 의해 변경된 텍스트를 포함하는 사용자 질의를 확인하기 위한 메시지를 생성하여 출력할 수 있다.
일 실시 예에 따르면, 대화 매니저 모듈(730)은 컨텐츠 제공(content provider) 모듈을 포함할 수 있다. 컨텐츠 제공 모듈은 자연어 이해 모듈(720)에서 파악된 의도 및 파라미터에 기초하여 동작을 수행할 수 있는 경우, 사용자 입력에 대응되는 태스크를 수행한 결과를 생성할 수 있다.
다른 실시 예에 따르면, 대화 매니저 모듈(730)은 지식 베이스(735) 또는 개인 지식 베이스(725)를 이용하여 사용자 질의에 대한 응답을 제공할 수 있다. 이때, 지식 베이스(735)는 전자 장치(100) 내에 포함될 수 있으나, 이는 일 실시 예에 불과할 뿐, 외부 서버에 포함될 수 있다.
자연어 생성 모듈(NLG 모듈)(740)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 텍스트 형태로 변경된 정보는 자연어 발화의 형태일 수 있다. 여기서, 지정된 정보는, 예를 들어, 추가 입력에 대한 정보, 사용자 입력에 대응되는 동작의 완료를 안내하는 정보 또는 사용자의 추가 입력을 안내하는 정보(예: 사용자 입력에 대한 피드백 정보)일 수 있다. 텍스트 형태로 변경된 정보는 전자 장치(100)의 디스플레이(170)에 표시되거나, 텍스트 음성 변환 모듈(TTS 모듈)(750)에 의해 음성 형태로 변경될 수 있다.
텍스트 음성 변환 모듈(TTS 모듈)(750)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈(750)은 자연어 생성 모듈(740)로부터 텍스트 형태의 정보를 수신하고, 텍스트 형태의 정보를 음성 형태의 정보로 변경하여 스피커로 출력할 수 있다.
자연어 이해 모듈(720) 및 대화 매니저 모듈(730)은 하나의 모듈로 구현될 수 있다. 예를 들어, 자연어 이해 모듈(720)및 대화 매니저 모듈(730)은 하나의 모듈로 구현되어 사용자의 의도 및 파라미터를 결정하고, 결정된 사용자의 의도 및 파라미터에 대응되는 응답(예로, 패스 룰)을 획득할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 사용자 음성에 대응되는 응답 정보가 프라이버시 정보인지 여부를 식별할 수 있다(S810).
구체적으로, 전자 장치(100)는 프라이버시 정보에 대응되는 기 저장된 타입 정보에 기초하여 상기 응답 정보가 프라이버시 정보인지 여부를 식별할 수 있다. 예를 들어, 주민번호, 신용카드 비밀번호, 공인인증서 비밀번호, 포털 사이트 비밀번호 등 다양한 형태의 비밀번호, 집 주소 등과 같은 타입의 정보는 프라이버시 정보로 저장될 수 있다. 일 예로, 응답 정보에 사용자의 집 주소가 포함된 경우, 전자 장치(100)는 응답 정보가 프라이버시 정보인 것으로 식별할 수 있다.
전자 장치(100)는 응답 정보가 프라이버시 정보인 것으로 식별되면, 전자 장치(100)의 주변 환경이 퍼블릭 환경인지를 식별할 수 있다(S820).
구체적으로, 전자 장치(100)는 주변 환경의 이미지를 획득하고, 획득된 이미지에 기초하여 주변 환경을 식별할 수 있다. 구체적으로, 전자 장치(100)는 획득된 이미지의 배경 영역 및 객체 영역을 검출하고, 검출된 배경 영역 또는 객체 영역 중 적어도 하나에 기초하여 주변 환경이 퍼블릭 환경인지를 식별할 수 있다.
또한, 전자 장치(100)는 주변 환경의 사운드 정보를 획득하고, 획득된 사운드 정보에 기초하여 전자 장치(100) 주변에 위치한 사람에 대한 정보를 식별하고, 식별된 정보에 기초하여 주변 환경을 식별할 수 있다. 프로세서(120)는 녹음된 사운드에 포함된 주파수에 기초하여 사용자 이외의 타인의 존재를 식별하여 주변 환경이 퍼블릭 환경인지를 식별할 수 있다.
전자 장치(100)는 주변 환경이 퍼블릭 환경으로 식별되면 응답 정보를 외부 장치로 전송할 수 있다(S830). 여기서, 외부 장치(200)는 사용자의 프라이빗 장치로 구현되며, 프라이빗 장치는, AR(Augmented Reality) 글래스 또는 스마트 워치(smart watch)를 포함하는 웨어러블(wearable) 장치, 이어폰 또는 헤드폰 중 적어도 하나를 포함할 수 있다.
구체적으로, 응답 정보가 프라이버시 정보인 것으로 식별되면, 전자 장치(100)는 응답 정보의 타입에 기초하여 응답 정보의 제공 방식을 식별하고, 식별된 제공 방식에 따라 응답 정보를 처리하여 외부 장치(200)로 전송할 수 있다. 여기서, 응답 정보의 제공 방식은, 응답 정보의 암호화, 응답 정보의 출력 방식, 응답 정보의 출력 볼륨 조정 또는 응답 정보 중 적어도 일부의 출력 중 적어도 하나를 포함할 수 있다.
또한, 전자 장치(100)는 전자 장치(100)와 통신 연결된 적어도 하나의 외부 장치(200)를 검색하고, 식별된 응답 정보의 제공 방식에 기초하여 검색된 적어도 하나의 외부 장치(200) 중 하나를 식별하고, 식별된 외부 장치(200)로 처리된 응답 정보를 제공할 수 있다.
또한, 전자 장치(100)는 주변 환경이 퍼블릭 환경으로 식별되면 응답 정보의 타입을 식별하고, 응답 정보의 타입에 기초하여 응답 정보의 제공 시점을 식별하고, 식별된 제공 시점에 응답 정보를 외부 장치(200)로 전송할 수 있다.
한편, 전자 장치(100)는 응답 정보에서 프라이버시 정보를 제외한 나머지 정보를 출력할 수 있다. 예를 들어, 사용자 음성에 대한 응답 정보에 프라이버시 정보뿐만 아니라 퍼블릭 정보도 포함된 경우, 전자 장치(100)는 프라이버시 정보를 제외한 나머지 정보를 스피커(160)를 통해 출력할 수도 있다. 일 예로, 전자 장치(100)는 프라이버시 정보에 대응되는 정보는 묵음(mute) 처리하여 음성 출력하거나 프라이버시 정보가 포함된 문장은 음성 출력하지 않을 수 있다.
한편, 사용자 음성에 대한 응답 정보에 프라이버시 정보가 포함되고, 퍼블릭 환경인 경우 응답 정보를 외부 장치(200)로 전송하는 실시 예에 대해 상술하였으나, 전자 장치(100)는 응답 정보를 외부 장치(200)로 전송하지 않으며 음성으로 제공하지도 않고 전자 장치(100)에 구비된 디스플레이(170)를 통해 제공할 수도 있다. 디스플레이(170)에 표시되는 정보는 음성을 통해 제공되는 정보보다 타인에게 노출될 위험성이 적으므로 외부 장치(200)로 응답 정보를 전송하지 않더라도 사용자의 프라이버시가 보호될 수 있다. 이 경우, 전자 장치(100)가 진동하거나 특정 음성 또는 음향 등을 제공하여 프라이버시 정보가 포함된 응답 정보가 디스플레이(170) 상에 표시되었음을 알릴 수 있다.
각 단계의 상세 동작에 대해서는 상술한 바 있으므로 자세한 설명은 생략하도록 한다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 전자 장치 110 : 통신 인터페이스
120 : 프로세서 130 : 메모리
140 : 카메라 150 : 마이크
160 : 스피커 170 : 디스플레이
200 : 타 전자 장치 1000 : 전자 시스템

Claims (20)

  1. 전자 장치에 있어서,
    회로(circuitry)를 포함하는 통신 인터페이스; 및
    사용자 음성이 수신되면, 상기 사용자 음성에 대응되는 응답 정보를 음성으로 제공하는 가상 비서 기능을 제공하는 프로세서;를 포함하며,
    상기 프로세서는,
    상기 사용자 음성에 대응되는 응답 정보가 프라이버시(privacy) 정보인지 식별하고,
    상기 응답 정보가 상기 프라이버시 정보인 것으로 식별되면 상기 전자 장치의 주변 환경이 퍼블릭 환경인지 식별하고,
    상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보의 타입에 기초하여 상기 응답 정보의 제공 방식을 식별하고, 상기 식별된 제공 방식에 따라 상기 응답 정보를 처리하여 외부 장치로 전송하도록 상기 통신 인터페이스를 제어하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프라이버시 정보에 대응되는 타입 정보가 저장된 메모리;를 더 포함하며,
    상기 프로세서는,
    상기 메모리에 저장된 정보 및 상기 응답 정보의 타입에 기초하여 상기 응답 정보가 프라이버시 정보인지 식별하는, 전자 장치.
  3. 제1항에 있어서,
    상기 응답 정보의 제공 방식은,
    상기 응답 정보의 암호화 방식, 상기 응답 정보의 출력 장치 또는 상기 응답 정보의 출력 볼륨 중 적어도 하나를 포함하는, 전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 전자 장치와 통신 연결된 적어도 하나의 외부 장치를 검색하고,
    상기 식별된 응답 정보의 제공 방식에 기초하여 상기 응답 정보의 출력 장치가 상기 검색된 적어도 하나의 외부 장치인 것으로 판단되면, 상기 검색된 적어도 하나의 외부 장치 중 하나를 식별하고, 상기 식별된 외부 장치로 상기 처리된 응답 정보를 제공하는, 전자 장치.
  5. 제1항에 있어서,
    상기 외부 장치는,
    상기 사용자의 프라이빗(private) 장치로 구현되며,
    상기 프라이빗 장치는,
    AR(Augmented Reality) 글래스 또는 스마트 워치(smart watch)를 포함하는 웨어러블(wearable) 장치, 이어폰 또는 헤드폰 중 적어도 하나를 포함하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보의 타입을 식별하고, 상기 응답 정보의 타입에 기초하여 상기 응답 정보의 제공 시점을 식별하고, 상기 식별된 제공 시점에 상기 응답 정보를 상기 외부 장치로 전송하도록 상기 통신 인터페이스를 제어하는, 전자 장치.
  7. 제1항에 있어서,
    카메라;를 더 포함하고,
    상기 프로세서는,
    상기 카메라에 의해 획득된 이미지에 기초하여 상기 주변 환경을 식별하는, 전자 장치.
  8. 제1항에 있어서,
    마이크;를 더 포함하고,
    상기 프로세서는,
    상기 마이크를 통해 녹음된 사운드 정보에 기초하여 상기 전자 장치 주변에 위치한 사람에 대한 정보를 식별하고, 상기 식별된 정보에 기초하여 상기 주변 환경이 퍼블릭 환경인지 식별하는, 전자 장치.
  9. 제1항에 있어서,
    스피커;를 더 포함하며,
    상기 프로세서는,
    상기 응답 정보에서 상기 프라이버시 정보를 제외한 나머지 정보를 출력하도록 상기 스피커를 제어하는, 전자 장치.
  10. 제1항에 있어서,
    디스플레이;를 더 포함하고,
    상기 프로세서는,
    상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보를 상기 음성으로 제공하지 않고, 상기 디스플레이를 통해 제공하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    사용자 음성에 대응되는 응답 정보가 프라이버시(privacy) 정보인지 식별하는 단계;
    상기 응답 정보가 상기 프라이버시 정보인 것으로 식별되면, 상기 전자 장치의 주변 환경이 퍼블릭 환경인지 식별하는 단계;
    상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보의 타입에 기초하여 상기 응답 정보의 제공 방식을 식별하는 단계; 및
    상기 식별된 제공 방식에 따라 상기 응답 정보를 처리하여 외부 장치로 전송하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 프라이버시 정보인지 식별하는 단계는,
    상기 프라이버시 정보에 대응되는 기 저장된 타입 정보 및 상기 응답 정보의 타입에 기초하여 상기 응답 정보가 프라이버시 정보인지 식별하는, 제어 방법.
  13. 제11항에 있어서,
    상기 응답 정보의 제공 방식은,
    상기 응답 정보의 암호화 방식, 상기 응답 정보의 출력 장치 또는 상기 응답 정보의 출력 볼륨 중 적어도 일부의 출력 중 적어도 하나를 포함하는, 제어 방법.
  14. 제13항에 있어서,
    상기 응답 정보를 상기 외부 장치로 전송하는 단계는,
    상기 전자 장치와 통신 연결된 적어도 하나의 외부 장치를 검색하고,
    상기 식별된 응답 정보의 제공 방식에 기초하여 상기 응답 정보의 출력 장치가 상기 검색된 적어도 하나의 외부 장치인 것으로 판단되면, 상기 검색된 적어도 하나의 외부 장치 중 하나를 식별하고, 상기 식별된 외부 장치로 상기 처리된 응답 정보를 제공하는, 제어 방법.
  15. 제11항에 있어서,
    상기 외부 장치는,
    상기 사용자의 프라이빗(private) 장치로 구현되며,
    상기 프라이빗 장치는,
    AR(Augmented Reality) 글래스 또는 스마트 워치(smart watch)를 포함하는 웨어러블(wearable) 장치, 이어폰 또는 헤드폰 중 적어도 하나를 포함하는, 제어 방법.
  16. 제11항에 있어서,
    상기 응답 정보를 상기 외부 장치로 전송하는 단계는,
    상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보의 타입을 식별하고, 상기 응답 정보의 타입에 기초하여 상기 응답 정보의 제공 시점을 식별하고, 상기 식별된 제공 시점에 상기 응답 정보를 상기 외부 장치로 전송하는, 제어 방법.
  17. 제11항에 있어서,
    상기 주변 환경이 퍼블릭 환경인지 식별하는 단계는,
    상기 주변 환경의 이미지를 획득하고,
    상기 획득된 이미지에 기초하여 상기 주변 환경을 식별하는, 제어 방법.
  18. 제11항에 있어서,
    상기 주변 환경이 퍼블릭 환경인지 식별하는 단계는,
    상기 주변 환경의 사운드 정보를 획득하고,
    상기 획득된 사운드 정보에 기초하여 상기 전자 장치 주변에 위치한 사람에 대한 정보를 식별하고, 상기 식별된 정보에 기초하여 상기 주변 환경이 퍼블릭 환경인지 식별하는, 제어 방법.
  19. 제11항에 있어서,
    상기 응답 정보에서 상기 프라이버시 정보를 제외한 나머지 정보를 출력하는 단계;를 더 포함하는, 제어 방법.
  20. 제11항에 있어서,
    상기 주변 환경이 상기 퍼블릭 환경으로 식별되면 상기 응답 정보를 상기 음성으로 제공하지 않고, 디스플레이를 통해 제공하는 단계;를 더 포함하는, 제어 방법.
KR1020190013418A 2019-02-01 2019-02-01 가상 비서 전자 장치 및 그 제어 방법 KR102356623B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190013418A KR102356623B1 (ko) 2019-02-01 2019-02-01 가상 비서 전자 장치 및 그 제어 방법
US17/427,452 US20220130392A1 (en) 2019-02-01 2020-01-31 Electronic device and control method thereof
PCT/KR2020/001495 WO2020159288A1 (ko) 2019-02-01 2020-01-31 전자 장치 및 그 제어 방법
EP20748931.1A EP3866160A4 (en) 2019-02-01 2020-01-31 ELECTRONIC DEVICE AND ITS CONTROL PROCESS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190013418A KR102356623B1 (ko) 2019-02-01 2019-02-01 가상 비서 전자 장치 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20200095719A KR20200095719A (ko) 2020-08-11
KR102356623B1 true KR102356623B1 (ko) 2022-01-28

Family

ID=71842287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190013418A KR102356623B1 (ko) 2019-02-01 2019-02-01 가상 비서 전자 장치 및 그 제어 방법

Country Status (4)

Country Link
US (1) US20220130392A1 (ko)
EP (1) EP3866160A4 (ko)
KR (1) KR102356623B1 (ko)
WO (1) WO2020159288A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165552A (zh) * 2020-09-27 2021-01-01 广州三星通信技术研究有限公司 控制语音助手的方法以及使用该方法的电子装置
KR102525077B1 (ko) * 2020-11-06 2023-04-24 카페24 주식회사 설정 기반의 음성 처리 방법, 장치 및 시스템
KR20220082258A (ko) * 2020-12-10 2022-06-17 삼성전자주식회사 전자 장치 및 전자 장치에서 기억 서비스를 제공하는 방법
WO2023113303A1 (ko) * 2021-12-14 2023-06-22 삼성전자 주식회사 전자 장치 및 외부 장치에서의 출력 데이터 결정 방법
KR102636705B1 (ko) * 2022-01-14 2024-02-14 주식회사 한글과컴퓨터 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법
US20230298556A1 (en) * 2022-03-19 2023-09-21 Samsung Electronics Co., Ltd. Wearable audio device with active external audio mitigation
KR102490519B1 (ko) * 2022-07-21 2023-01-19 주식회사 라피치 발신자의 텍스트데이터에 대응하여 암호화를 하는 개인정보 보호 기능을 가지는 자동응답 시스템 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466232B1 (en) * 1998-12-18 2002-10-15 Tangis Corporation Method and system for controlling presentation of information to a user based on the user's condition
KR20040082769A (ko) * 2003-03-20 2004-09-30 이하림 전화기의 통화기록 노출 방지 기능을 갖는 전화기 시스템및 그 방법
KR101418286B1 (ko) * 2007-12-26 2014-07-10 엘지전자 주식회사 이동단말기 및 그 개인정보 보호방법
US9591346B2 (en) * 2012-05-14 2017-03-07 Samsung Electronics Co., Ltd. Content delivery system with content sharing mechanism and method of operation thereof
KR101991133B1 (ko) * 2012-11-20 2019-06-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 헤드 마운트 디스플레이 및 그 제어 방법
US9536106B2 (en) * 2013-10-08 2017-01-03 D.R. Systems, Inc. System and method for the display of restricted information on private displays
US8856948B1 (en) * 2013-12-23 2014-10-07 Google Inc. Displaying private information on personal devices
CN104615920B (zh) * 2014-12-30 2020-06-02 小米科技有限责任公司 通知信息显示方法及装置
US11087024B2 (en) * 2016-01-29 2021-08-10 Samsung Electronics Co., Ltd. System and method to enable privacy-preserving real time services against inference attacks
US10445523B2 (en) * 2016-10-14 2019-10-15 Google Llc Information privacy in virtual reality
US10628570B2 (en) * 2017-05-15 2020-04-21 Fmr Llc Protection of data in a zero user interface environment

Also Published As

Publication number Publication date
KR20200095719A (ko) 2020-08-11
EP3866160A1 (en) 2021-08-18
WO2020159288A1 (ko) 2020-08-06
US20220130392A1 (en) 2022-04-28
EP3866160A4 (en) 2021-12-15

Similar Documents

Publication Publication Date Title
KR102356623B1 (ko) 가상 비서 전자 장치 및 그 제어 방법
CN109243432B (zh) 话音处理方法以及支持该话音处理方法的电子设备
KR102341144B1 (ko) 메시지를 출력하는 전자 장치 및 그 제어 방법
US10621968B2 (en) Method and apparatus to synthesize voice based on facial structures
KR102636638B1 (ko) 컨텐츠 운용 방법 및 이를 구현한 전자 장치
KR102299764B1 (ko) 전자장치, 서버 및 음성출력 방법
US11238871B2 (en) Electronic device and control method thereof
KR20200046117A (ko) 공동 오디오-비디오 얼굴 애니메이션 시스템
US11810557B2 (en) Dynamic and/or context-specific hot words to invoke automated assistant
US20170147919A1 (en) Electronic device and operating method thereof
KR102389996B1 (ko) 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법
KR20160071732A (ko) 음성 입력을 처리하는 방법 및 장치
US20190019509A1 (en) Voice data processing method and electronic device for supporting the same
KR102193029B1 (ko) 디스플레이 장치 및 그의 화상 통화 수행 방법
EP3444811B1 (en) Speech recognition method and device
US9870521B1 (en) Systems and methods for identifying objects
KR20200059054A (ko) 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법
KR102431817B1 (ko) 사용자 발화를 처리하는 전자 장치 및 서버
US11915700B2 (en) Device for processing user voice input
KR20190068133A (ko) 오디오 데이터에 포함된 음소 정보를 이용하여 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
KR20200076439A (ko) 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 가능 매체.
US20200193161A1 (en) Electronic apparatus and controlling method thereof
KR20210042523A (ko) 전자 장치 및 이의 제어 방법
US20230134852A1 (en) Electronic apparatus and method for providing search result related to query sentence
KR20210042520A (ko) 전자 장치 및 이의 제어 방법

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