KR20190022109A - 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치 - Google Patents

음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치 Download PDF

Info

Publication number
KR20190022109A
KR20190022109A KR1020170107963A KR20170107963A KR20190022109A KR 20190022109 A KR20190022109 A KR 20190022109A KR 1020170107963 A KR1020170107963 A KR 1020170107963A KR 20170107963 A KR20170107963 A KR 20170107963A KR 20190022109 A KR20190022109 A KR 20190022109A
Authority
KR
South Korea
Prior art keywords
user
processor
caller
voice
word
Prior art date
Application number
KR1020170107963A
Other languages
English (en)
Other versions
KR102411766B1 (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 KR1020170107963A priority Critical patent/KR102411766B1/ko
Priority to EP18190758.5A priority patent/EP3447764B1/en
Priority to PCT/KR2018/009821 priority patent/WO2019039915A1/en
Priority to CN201810979837.3A priority patent/CN109427333B/zh
Priority to US16/113,602 priority patent/US10692495B2/en
Publication of KR20190022109A publication Critical patent/KR20190022109A/ko
Application granted granted Critical
Publication of KR102411766B1 publication Critical patent/KR102411766B1/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
    • 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/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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/08Speech classification or search
    • G10L2015/086Recognition of spelled words
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다.
다양한 실시예는 스피커, 마이크, 통신 인터페이스, 상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서; 및 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금, 사용자 입력에 응답하여 음성 인식 서비스를 활성화하고, 상기 활성화된 음성 인식 서비스에 의해 입력된 음성 정보에 대한 태스크를 처리하고, 상기 음성 정보를 분석하여 적어도 하나의 사용자 호출어를 등록하고, 상기 적어도 하나의 사용자 호출어 감지에 응답하여 상기 음성 인식 서비스를 활성화하도록 설정된 전자 장치 및 방법을 제공한다. 또한, 상기 사용자 호출어는 제스처(예: 수화), 모스 부호, 특정 부호어, 텍스트, 시각 등 다양한 입력 방식을 통해 등록할 수 있다.

Description

음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치{METHOD FOR ACTIVATING VOICE RECOGNITION SERVIVE AND ELECTRONIC DEVICE FOR THE SAME}
다양한 실시예는 사용자 호출어를 이용하여 음성 인식 서비스를 활성화하는 방법 및 장치에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, PDA(personal digital assistant), 전자수첩, 스마트 폰, 태블릿 PC(personal computer), 웨어러블 디바이스(wearable device) 등과 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한, 전자 장치는 기능 지지 및 증대를 위해, 전자 장치의 하드웨어적인 부분 및/또는 소프트웨어적인 부분이 지속적으로 개량되고 있다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
전자 장치에는 음성 인식 기술에 인공지능 기술을 결합하여 다양한 서비스(또는 기능)을 제공하고 있다. 음성 인식 기술은, 예를 들면, 전자 장치가 마이크와 같은 소리 센서를 통해 획득하는 음향학적 신호(acoustic speech signal)를 단어나 문장으로 변환시키는 기술을 포함할 수 있다. 음성 인식 기술은 일반적으로, 음향 신호를 추출한 후 잡음(noise)을 제거하는 작업을 수행하게 되며, 이후 음성 신호의 특징을 추출하여 음성모델 데이터베이스(DB)와 비교하는 방식으로 음성 인식을 수행할 수 있다. 전자 장치는 사용자의 음성 명령을 바탕으로 모바일 검색, 일정 관리, 전화 걸기, 메모, 또는 음악 재생 등 다양한 생활 편의 서비스를 제공하고 있다.
일례로, 전자 장치는 음성 웨이크-업(voice wake-up) 방식에 기반하여 음성 인식 서비스를 시작할 수 있다. 한 실시 예에 따르면, 전자 장치는, 특정 음성 명령어(예: 단어)를 호출어(wake word)(또는 웨이크-업 워드(wake-up word))로 사용하고 있으며, 호출어가 입력되기 이전에는 사용자 발화에 대한 음성 인식을 수행하지 않고 있다. 호출어는, 예를 들면, 전자 장치(또는 전자 장치의 에이전트(agent)(또는 인공 지능(AI, artificial intelligence))의 이름(name) 등이 사용될 수 있다.
전자 장치는 웨이크-업 방식에 기반하여 음성 인식 서비스를 시작할 수 있다. 예를 들어, 전자 장치는 음성 인식 서비스를 위한 호출어(예: 음성 호출어), 터치, 또는 버튼이 입력되면, 음성 인식 서비스를 활성화할 수 있다. 예를 들어, 호출어를 이용한 음성 인식 방법은, 마이크를 통해 입력된 음성이 호출어인 경우 음성 인식 서비스를 실행(또는 활성화)시켜 사용자의 음성 명령에 따른 응답을 제공할 수 있다. 다만, 전자 장치는 응답을 제공한 후 정해진 시간(예: 3초, 5초, 10초 등)이 경과하기 전까지 사용자로부터 음성 명령을 수신하지 못한 경우 음성 인식 서비스의 실행을 중단(또는 비활성화)할 수 있다. 만약, 음성 인식 서비스를 다시 실행시키려면, 전자 장치는 사용자로부터 호출어를 재 입력받아 음성 인식 서비스를 수행할 수 있다. 이러한 호출어는 전자 장치에 미리 설정되어 있을 수 있고, 변경 또는 설정이 가능할 수 있다. 즉, 사용자는 정해진 시간 안에 계속해서 음성 명령을 시도하거나, 상기 정해진 시간을 초과한 경우에는 호출어를 먼저 발화한 후 음성 명령을 시도해야 하는 불편함이 있을 수 있다.
다양한 실시예들은 사용자 호출어를 이용하여 음성 인식 서비스를 활성화하는 방법 및 장치를 제공할 수 있다.
다양한 실시예들에 따른 전자 장치는 스피커, 마이크, 통신 인터페이스, 상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서; 및 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금, 사용자 입력에 응답하여 음성 인식 서비스를 활성화하고, 상기 활성화된 음성 인식 서비스에 의해 입력된 음성 정보에 대한 태스크를 처리하고, 상기 음성 정보를 분석하여 적어도 하나의 사용자 호출어를 등록하고, 상기 적어도 하나의 사용자 호출어 감지에 응답하여 상기 음성 인식 서비스를 활성화하도록 설정될 수 있다.
다양한 실시예들에 따른 전자 장치는 스피커, 마이크, 통신 인터페이스, 상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서; 및 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금, 상기 마이크를 통해 적어도 하나의 메인 호출어를 수신하고, 상기 수신된 메인 호출어에 응답하여 외부 서버에서 제공되거나, 상기 전자 장치에 구현된 음성 인식 기능을 활성화하고, 상기 마이크를 통해 적어도 하나의 사용자 호출어를 포함하는 사용자 발화를 수신하고, 상기 메인 호출어 없이 상기 수신된 사용자 호출어에 응답하여 상기 음성 인식 기능을 활성화하도록 설정될 수 있다.
다양한 실시예들에 따른 전자 장치는 스피커, 마이크, 통신 인터페이스, 상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서; 및 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금, 상기 마이크를 통해 적어도 하나의 메인 호출어를 수신하고, 하루의 특정 시점에 관계없이(regardless of a point in time in a day) 상기 수신된 메인 호출어에 응답하여 외부 서버에서 제공되거나, 상기 전자 장치에 구현된 음성 인식 기능을 활성화하고, 상기 마이크를 통해 적어도 하나의 사용자 호출어를 수신하고, 하루의 일정 기간 동안만(only during a period of time during a day) 상기 수신된 사용자 호출어에 응답하여 상기 음성 인식 기능을 활성화하도록 설정될 수 있다.
다양한 실시예들에 따르면, 정해진 시간 동안 계속해서 음성 명령을 하거나, 정해진 호출어를 발화한 후 음성 명령을 할 필요없이 연속적으로 음성 인식 서비스를 제공함으로써, 사용자의 편의성을 향상시킬 수 있다.
다양한 실시예들에 따르면, 특정시간, 특정장소 등과 관련된 호출어를 추가적으로 적용하여 음성 인식 서비스를 실행시킬 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른 전자 장치의 구성을 도시한 블록도이다.
도 3은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시한 흐름도이다.
도 4는 다양한 실시예들에 따른 사용자 호출어를 이용하여 음성 인식 서비스를 활성화하는 일례를 도시한 도면이다.
도 5는 다양한 실시예들에 따른 전자 장치의 사용자 호출어 등록 방법을 도시한 흐름도이다.
도 6은 다양한 실시예들에 따른 사용자 호출어를 편집하는 일례를 도시한 도면이다.
도 7은 다양한 실시예들에 따른 사용자 호출어를 이용하여 음성 인식 서비스를 활성화하는 방법을 도시한 흐름도이다.
도 8은 다양한 실시예들에 따른 사용자 호출어를 초기화하는 방법을 도시한 흐름도이다.
도 9는 다양한 실시예들에 따른 화자의 수에 따라 사용자 호출어 서비스를 제어하는 방법을 도시한 흐름도이다.
도 10a 및 도 10b는 다양한 실시예들에 따른 사용자 호출어 서비스를 제어하는 일례를 도시한 도면들이다.
도 11은 다양한 실시예들에 따른 현재 조건에 대응하여 사용자 호출어를 제어하는 방법을 도시한 흐름도이다.
도 12a 및 도 12b는 다양한 실시예들에 따른 현재 조건에 따라 사용자 호출어를 제어하는 일례를 도시한 도면들이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 그리고 본 발명에 개시된 실시 예는 개시된 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예들을 포함하는 것으로 해석되어야 한다.
도 1은 다양한 실시 예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)에는, 이 구성 요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드(embedded)된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성 요소들이 통합되어 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성 요소(예: 하드웨어 또는 소프트웨어 구성 요소)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성 요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(volatile memory)(132)에 로드(load)하여 처리하고, 결과 데이터를 비휘발성 메모리(non-volatile memory)(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(active)(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성 요소들 중 적어도 하나의 구성 요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성 요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성 요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드 등을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버(receiver)를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(pressure sensor)(또는 포스 센서(force sensor))를 포함할 수 있다.
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서(gesture sensor), 자이로 센서(gyro sensor), 기압 센서(barometer sensor), 마그네틱 센서(magnetic sensor), 가속도 센서(acceleration sensor), 그립 센서(grip sensor), 근접 센서(proximity sensor), 컬러 센서(color sensor)(예: RGB(red, green, blue) 센서), IR(infrared) 센서, 생체 센서(medical sensor, biometric sensor), 온도 센서(temperature sensor), 습도 센서(humidity sensor), 또는 조도 센서(illuminance sensor) 등을 포함할 수 있다.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜(protocol)을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스 등을 포함할 수 있다.
연결 단자(connection terminal)(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터) 등을 포함할 수 있다.
햅틱 모듈(haptic module)(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터(motor), 압전 소자(piezoelectric element), 또는 전기 자극 장치(electrical stimulation device) 등을 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지(fuel cell)를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일 실시 예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성 요소들 중 일부 구성 요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호 간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104) 간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다.
일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치(102, 104)에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치(102, 104)에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치(102, 104)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅(cloud computing), 분산 컴퓨팅(distributed computing), 또는 클라이언트-서버 컴퓨팅(client-server computing) 기술이 이용될 수 있다.
도 2는 다양한 실시예들에 따른 전자 장치의 구성을 도시한 블록도이다.
도 2를 참조하면, 전자 장치(200)(예: 전자 장치(101))는 프로세서(210)(예: 프로세서(120)), 마이크(220)(예: 입력 장치(150)), 스피커(230)(예: 음향 출력 장치(155)), 메모리(240)(예: 메모리(130)), 또는 통신부(250)(예: 통신 모듈(190))를 포함할 수 있다. 다양한 실시 예들에 따른 전자 장치(200)는 도 2에 도시된 구성들이 필수적인 것은 아니어서, 도 2에 도시된 구성들보다 많은 구성들을 가지거나, 또는 그보다 적은 구성들을 가지는 것으로 구현될 수 있다. 전자 장치(200)는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템이 적용된 것일 수 있다.
프로세서(210)는 음성 인식 서비스를 위한 사용자 입력을 검출하고, 검출된 사용자 입력에 따라 상기 음성 인식 서비스를 활성화시켜 음성을 인식하고, 인식된 음성에 대응하는 기능을 수행하는 역할을 할 수 있다. 상기 사용자 입력은 음성 호출어, 터치 또는 버튼 중 적어도 하나를 포함할 수 있다. 예를 들어, 상기 음성 호출어를 이용한 음성 인식 서비스의 경우, 프로세서(210)는 메인 호출어(또는 제1 호출어)를 감지하여 음성 인식 서비스를 활성화시키고, 사용자로부터 입력된 음성에 대한 태스크를 처리하고, 음성 정보를 분석하여 적어도 하나의 사용자 호출어(또는 제2 호출어)를 등록할 수 있다. 이를 위해, 프로세서(210)는 메모리(240)에 저장된 인스트럭션들(instructions)에 의해 호출어를 검출하고, 음성 인식 서비스를 제공할 수 있다. 상기 인스트럭션들은 프로세싱 회로(processing circuitry)를 포함하는 프로세서(120)에 하드웨어 모듈(hardware module)로 포함되거나, 또는 소프트웨어 모듈(software module)로 포함될 수 있다. 예를 들어, 상기 인스트럭션들은 호출어 감지 모듈(211), 음성 인식 모듈(213), 호출어 제어 모듈(215), 화자 식별 모듈(217) 또는 조건 판단 모듈(219)을 포함할 수 있다.
호출어 감지 모듈(211)(또는 웨이크-업 엔진(wake-up engine))은 호출어를 감지할 수 있다. 상기 호출어는 전자 장치(200)에 설정된 메인 호출어(main wake word) 또는 사용자에 의해 등록된 사용자 호출어(user wake word)를 포함할 수 있다. 예를 들어, 상기 호출어는 웨이크-업 커맨드(wake-up command) 또는 웨이크-업 워드(wake-up word)로 표현될 수도 있다. 상기 호출어는 메모리(240)에 저장될 수 있다. 호출어 감지 모듈(211)은 마이크(220)를 통해 입력되는 음성에 호출어가 포함되어 있는지 여부를 판단할 수 있다. 호출어 감지 모듈(211)은 마이크(220)로부터 수신된 음성을 녹음(예: 버퍼(예: 메모리(240))에 저장)할 수 있다.
예를 들어, 호출어 감지 모듈(211)은 상기 입력된 소리를 음성 신호로 처리 (예: Preprocessing)할 수 있다. 음성 신호 처리란 음성 인식을 위한 전처리 과정으로서, 예를 들어, 소리를 음성 신호로 변환하는 것을 의미할 수 있다. 또는, 호출어 감지 모듈(211)은 상기 변환된 음성 신호를 텍스트로 변환(예: speech to text)할 수 있다. 호출어 감지 모듈(211)은 상기 변환된 텍스트 정보에 호출어가 포함되어 있는지 여부를 판단할 수 있다. 이를 위해, 호출어 감지 모듈(211)은 음성 인식 모듈(213)과 연동하여 입력된 음성으로부터 텍스트 정보를 추출할 수 있다. 또는, 호출어 감지 모듈(211)은 음성 인식 모듈(213)에 포함될 수 있다. 호출어 감지 모듈(211)은 추출된 텍스트 정보가 메모리(240)에 저장된 호출어에 매칭되는지 여부를 판단할 수 있다. 호출어 감지 모듈(211)은 호출어가 감지되면, 음성 인식 모듈(213)로 호출어가 감지되었음을 통보할 수 있다.
음성 인식 모듈(213)은 상기 호출어가 감지되면, 음성 인식 서비스(또는 음성 인식 기능)를 활성화(또는 실행)할 수 있다. 음성 인식 모듈(213)은 상기 호출어와 함께 또는 상기 호출어 감지 이후에 마이크(220)로부터 음성(또는 음성 신호)을 수신(또는 입력)하고, 수신된 음성을 인식(예: automatic speech recognition; ASR)하는 역할을 할 수 있다. 예를 들어, 음성 인식 모듈(213)은 음성 신호에 대한 언어 처리(예: 자연어 이해(natural language understanding; NLU)), 대화 관리(dialogue management; DM) 또는 음성 합성(text to speech; TTS))을 수행할 수 있다. 이러한, 음성 인식 모듈(213)은 음성 처리 및 음성 인식을 위해 음성 처리 서버와 연동할 수 있다. 즉, 음성 인식 모듈(213)은 수신된(또는 입력된) 음성 신호(또는 녹음된 음성 파일)를 상기 음성 처리 서버로 전송하고, 상기 음성 처리 서버로부터 음성 정보(또는 음성 정보에 대응하는 텍스트 정보)를 수신할 수 있다. 또는, 음성 인식 모듈(213)은 수신된 음성에 대한 처리를 수행하여 텍스트 정보를 생성(또는 추출)하고, 생성된 텍스트 정보를 상기 음성 처리 서버로 전송하고, 상기 음성 처리 서버로부터 상기 텍스트 정보에 대응하는 태스크 정보를 수신할 수 있다. 상기 태스크 정보는 사용자 발화에 응답하여 전자 장치(200)에서 수행해야 할 기능(또는 서비스)을 의미할 수 있다. 음성 인식 모듈(213)은 상기 음성 정보, 상기 텍스트 정보, 또는 상기 태스크 정보 중 적어도 하나를 호출어 제어 모듈(215), 화자 식별 모듈(217) 또는 조건 판단 모듈(219)로 전달할 수 있다. 음성 인식 기술에 대해서는 이미 공지된 기술이므로, 자세한 설명을 생략한다.
다양한 실시예들에 따른 음성 인식 모듈(213)은 음성 정보에 기반하여 태스크를 처리할 수 있다. 예를 들어, 음성 인식 모듈(213)은 상기 수신된 태스크 정보에 기반하여 상기 음성 정보에 대응하는 기능(또는 서비스)을 실행하는 것과 관련된 적어도 하나의 태스크를 처리할 수 있다. 예를 들면, 사용자 발화에 따라 "오늘 날씨는?"을 인식하는 경우, 음성 인식 모듈(213)은 전자 장치(200)의 현재 위치 또는 현재 시간에 대응하는 날씨 정보를 인터넷 상에 검색하고, 검색된 날씨 정보를 제공할 수 있다. 상기 날씨 정보는 텍스트, 이미지, 소리 또는 비디오 중 적어도 하나를 포함할 수 있다. 예를 들어, 전자 장치(200)의 설정에 따라 위치 정보를 알 수 없는 경우에는 가장 최근에 획득된 위치 정보에 기반하여 상기 날씨 정보를 제공할 수 있다. 또는, 사용자 발화에 따라 "째즈 음악 재생"을 인식하는 경우, 음성 인식 모듈(213)은 음악 어플리케이션을 실행시켜 메모리(240)에 저장된 음악 정보 중에서 음악 카테고리가 째즈에 해당하는 음악을 식별하고, 식별된 음악을 스피커(230)를 통해 재생할 수 있다.
호출어 제어 모듈(215)은 상기 처리된 태스크와 연관된 텍스트 정보로부터 사용자 호출어를 등록할 수 있다. 예를 들어, 호출어 제어 모듈(215)은 상기 음성 정보를 분석하여 사용자 호출어로 등록 가능한 키워드 또는 단어를 결정할 수 있다. 예를 들어, 호출어 제어 모듈(215)은 "오늘 날씨는?"에 대응하여 "오늘", "날씨"를 사용자 호출어로 결정할 수 있다. 다양한 실시예들에 따른 호출어 제어 모듈(215)은 "오늘" 또는 "날씨"와 연관된 단어, 예를 들어, "어제", "내일", "맑음", "비", "눈", "온도" 등을 사용자 호출어로 결정할 수 있다. 상기 키워드와 연관된 단어는 "오늘" 또는 "날씨"로부터 파생되는 단어로서, 동의어, 유의어 등의 단어일 수 있다. 호출어 제어 모듈(215)은 상기 결정된 사용자 호출어를 메모리(240)에 저장할 수 있다. 호출어 제어 모듈(215)은 전자 장치(200)에 미리 설정된 메인 호출어와 상기 사용자 호출어를 구별하여 관리할 수 있다. 호출어 제어 모듈(215)은 사용자의 발화 이력 또는 기계 학습(machine learning)을 이용하여 상기 사용자 호출어를 생성 또는 획득할 수 있다.
다양한 실시예들에 따른 호출어 제어 모듈(215)은 화자 식별에 기반하여 사용자 호출어 서비스를 제어할 수 있다. 상기 사용자 호출어 서비스는 상기 호출어로 상기 메인 호출어에 더하여 상기 사용자 호출어를 사용하는 것을 의미할 수 있다. 예를 들어, 호출어 제어 모듈(215)은 상기 화자가 한 명 이하인 경우, 상기 사용자 호출어 서비스를 활성화하고, 상기 화자가 한 명을 초과하는 경우, 상기 사용자 호출어 서비스를 비활성화(또는 중단)시킬 수 있다. 호출어 제어 모듈(215)은 상기 사용자 호출어 서비스가 활성화되면, 메모리(240)에 저장된 사용자 호출어를 인에이블시킬 수 있다. 상기 사용자 호출어를 인에이블시키면, 호출어 감지 모듈(211)은 사용자 발화 시, 상기 메인 호출어와 더불어 상기 사용자 호출어를 호출어로 감지할 수 있다. 또한, 호출어 제어 모듈(215)은 상기 사용자 호출어 서비스가 활성화되는 동안 사용자 발화에 따라 새로운 사용자 호출어를 등록할 수 있다. 또는, 호출어 제어 모듈(215)은 상기 사용자 호출어 서비스가 비활성화되면, 메모리(240)에 저장된 사용자 호출어를 디스에이블시킬 수 있다. 상기 사용자 호출어를 디스에이블시키면, 호출어 감지 모듈(211)은 사용자 발화 시, 상기 메인 호출어만을 호출어로 감지할 수 있다.
다양한 실시예들에 따른 호출어 제어 모듈(215)은 현재 조건에 대응하는 사용자 호출어를 인에이블시킬 수 있다. 예를 들어, 상기 사용자 호출어가 인에이블되면, 상기 메인 호출어에 더하여 상기 현재 조건에 대응하는 사용자 호출어를 호출어로서 사용하는 것을 의미할 수 있다. 예를 들어, 호출어 제어 모듈(215)은 메모리(240)에 저장된 사용자 호출어들 중에서 상기 현재 조건에 대응하는 사용자 호출어를 인에이블시키고, 상기 현재 조건에 대응하지 않는 사용자 호출어를 디스에이블시킬 수 있다. 예를 들어, 오전 7시 ~ 8시 사이에는 "버스", "지하철", "교통 정보", "정류장" 등이 사용자 호출어로 저장되어 있고, 오전 11시 ~ 오후 1시 사이에는 "점심", "메뉴", "음식점", "맛집" 등이 사용자 호출어로 저장되어 있을 수 있다. 호출어 제어 모듈(215)은 현재 시간이 오전 7시 10분인 경우 "버스", "지하철", "교통 정보", "정류장" 등의 사용자 호출어를 인에이블시킬수 있다. 또한, 호출어 제어 모듈(215)은 점심", "메뉴", "음식점", "맛집" 등의 사용자 호출어를 디스에이블시킬수 있다. 호출어 제어 모듈(215)은 상기 현재 조건이 만료되는지 여부를 판단하고, 상기 현재 조건이 만료되는 경우 상기 현재 조건에 대응하는 사용자 호출어를 디스에이블시킬 수 있다. 상기 현재 조건에 대응하는 사용자 호출어를 인에이블시키면, 호출어 감지 모듈(211)은 사용자 발화 시, 상기 메인 호출어와 더불어 상기 현재 조건에 대응하는 사용자 호출어를 호출어로 감지할 수 있다. 상기 현재 조건에 대응하는 사용자 호출어를 디스에이블시키면, 호출어 감지 모듈(211)은 사용자 발화 시, 상기 메인 호출어만을 호출어로 감지할 수 있다.
화자 식별 모듈(217)은 화자를 식별할 수 있다. 이를 위해, 화자 식별 모듈(217)은 마이크(220)로부터 수신되는 음성의 주파수를 이용하여 화자가 한 명을 초과하는지 여부를 판단할 수 있다. 사람의 음성은 사람마다 특이한 주파수를 가지기 때문에, 화자 식별 모듈(217)은 음성 주파수의 차이를 이용하여 화자를 식별할 수 있다. 또는 화자 식별 모듈(217)은 카메라(예: 카메라 모듈(180))로부터 획득되는 이미지를 이용하여 상기 화자를 식별할 수 있다. 화자 식별 모듈(217)은 상기 음성의 주파수 또는 이미지를 조합하여 화자의 인원수를 결정할 수 있다. 화자 식별 방법은 종래 기술에 해당하므로 자세한 설명을 생략한다. 다양한 실시예들에 따른 화자 식별 모듈(217)은 상기 음성 인식 서비스가 활성화되는 동안 화자가 몇 명인지 여부를 식별할 수 있다. 화자 식별 모듈(217)은 화자 식별 정보를 호출어 제어 모듈(215)로 전달할 수 있다.
조건 판단 모듈(219)은 현재 조건이 기설정된 조건에 해당하는지 여부를 감지할 수 있다. 상기 기설정된 조건은 특정 위치 정보 또는 특정 시간 정보를 포함할 수 있다. 상기 현재 조건에 해당하는 조건 정보는 메모리(240)에 저장될 수 있다. 조건 판단 모듈(219)은 통신부(250)(예: 통신 모듈(190)로부터 현재 시간 정보 또는 현재 위치 정보를 획득할 수 있다. 예를 들어, 조건 판단 모듈(219)은 현재 조건(예: 현재 시간 또는 현재 위치)이 메모리(240)에 저장된 조건 정보(예: 시간 조건 정보 또는 위치 조건 정보)에 해당하는지 여부를 판단하고, 판단 결과를 호출어 제어 모듈(215)로 전달할 수 있다. 조건 판단 모듈(219)은 상기 음성 인식 서비스가 활성화되는 동안 현재 조건이 기설정된 조건에 해당하는지 여부를 감지할 수 있다. 또는, 조건 판단 모듈(219)은 실시간으로 또는 주기적으로 현재 조건이 기설정된 조건에 해당하는지 여부를 감지할 수 있다.
다양한 실시예들에 따른 전자 장치(200)는 제1 프로세서(예: 보조 프로세서(123)) 및 제2 프로세서(예: 메인 프로세서(121))를 포함할 수 있다. 상기 제1 프로세서는 호출어 감지 모듈(211)를 포함하고, 상기 제2 프로세서는 음성 인식 모듈(213), 호출어 제어 모듈(215), 화자 식별 모듈(217) 또는 조건 판단 모듈(219)를 포함할 수 있다. 예를 들어, 상기 제1 프로세서는 저전력 프로세서일 수 있으며, 상기 제2 프로세서가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 상기 제2 프로세서를 대신하여 호출어 감지 모듈(211), 마이크(220), 스피커(230), 메모리(240) 또는 통신부(250)와 연관된 기능 또는 상태들의 적어도 일부를 제어할 수 있다.
마이크(220)는 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리할 수 있다. 마이크(220)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘(noise reduction algorithm)이 구현될 수 있다. 마이크(220)는 음성 명령(예: 음성 인식 서비스 등의 활성화/비활성화를 제어하기 위한 음성 명령 등) 등과 같은 오디오 스트리밍(audio streaming)의 입력을 담당할 수 있다.
스피커(230)는 통신부(250)로부터 수신되거나, 또는 메모리(240) 에 저장된 오디오 데이터를 출력할 수 있다. 스피커(230)는 전자 장치(200)에서 수행되는 다양한 동작(기능)과 관련된 음향 신호를 출력할 수 있다.
메모리(240)(예: 메모리(130))는 프로세서(210)에 의해 실행되는 하나 또는 그 이상의 프로그램들(one or more programs)을 저장할 수 있고, 입/출력되는 데이터들의 임시 저장(예: 버퍼링(buffering))을 위한 기능을 수행할 수도 있다. 입/출력되는 데이터들은, 예를 들면, 동영상, 이미지, 사진, 또는 오디오 등을 포함할 수 있다. 메모리(240)는 메인 호출어, 사용자 호출어, 현재 조건에 대응하는 사용자 호출어 중 적어도 하나를 저장할 수 있다.
통신부(250)(예: 통신 모듈(190))는 전자 장치(200)와 외부 장치(예: 음성 처리 서버(예: 서버(108)), 다른 전자 장치(102, 104) 등) 사이의 무선 통신을 가능하게 하는 하나 또는 그 이상의 모듈들을 포함할 수 있다. 예를 들어, 통신부(250)는 이동통신 모듈, 무선 랜 모듈, 근거리 통신 모듈, 그리고 위치 산출 모듈 등을 포함하여 구성될 수 있다. 다양한 실시 예들에서 통신부(250)는 주변의 외부 장치와 통신을 수행하기 위한 모듈(예: 근거리 통신 모듈, 원거리 통신 모듈 등)을 포함할 수 있다.
다양한 실시예들에 따른 전자 장치(예: 전자 장치(101), 전자 장치(200))는 스피커(예: 음향 출력 장치(155), 스피커(230)), 마이크(예: 입력 장치(150), 마이크(220)), 통신 인터페이스(예: 통신 모듈(190), 통신부(250)), 상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서(예: 프로세서(120), 프로세서(210), 및 상기 프로세서와 전기적으로 연결된 메모리(예: 메모리(130), 메모리(240))를 포함하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금, 사용자 입력에 응답하여 음성 인식 서비스를 활성화하고, 상기 활성화된 음성 인식 서비스에 의해 입력된 음성 정보에 대한 태스크를 처리하고, 상기 음성 정보를 분석하여 적어도 하나의 사용자 호출어를 등록하고, 상기 적어도 하나의 사용자 호출어 감지에 응답하여 상기 음성 인식 서비스를 활성화하도록 설정된 것일 수 있다.
상기 인스트럭션들은 상기 음성 정보로부터 텍스트 정보를 추출하고, 상기 텍스트 정보로부터 적어도 하나의 단어를 획득하고, 상기 획득된 단어를 상기 사용자 호출어로 등록하도록 설정될 수 있다.
상기 인스트럭션들은 상기 텍스트 정보로부터 적어도 하나의 제1 단어를 획득하고, 상기 제1 단어로부터 상기 제1 단어와 연관된 적어도 하나의 제2 단어를 획득하고, 상기 제1 단어 또는 상기 제2 단어를 상기 사용자 호출어로 등록하도록 설정될 수 있다.
상기 인스트럭션들은 상기 제1 단어 및 상기 제2 단어를 이용하여 적어도 하나의 제3 단어를 획득하고, 상기 제1 단어 내지 상기 제3 단어 중 적어도 하나를 상기 사용자 호출어로 등록하도록 설정될 수 있다.
상기 인스트럭션들은 상기 음성 정보에 대한 태스크를 처리한 후 활성화 대기시간을 카운트하고, 상기 활성화 대기시간 동안 음성이 검출되지 않는 경우, 상기 음성 인식 서비스를 비활성화하도록 설정될 수 있다.
상기 인스트럭션들은 상기 음성 인식 서비스가 비활성화된 상태에서 음성이 감지되면, 상기 입력된 음성에 메인 호출어가 포함되어 있는지 판단하고, 상기 입력된 음성에 상기 메인 호출어가 포함되어 있는 경우 상기 등록된 사용자 호출어를 초기화하도록 설정될 수 있다.
상기 인스트럭션들은 화자를 식별하고, 상기 식별된 화자의 인원수에 따라 상기 사용자 호출어를 이용한 음성 인식 서비스를 제어하도록 설정될 수 있다.
상기 인스트럭션들은 상기 화자가 한 명을 초과하는 경우 상기 사용자 호출어를 이용한 음성 인식 서비스를 비활성화하도록 설정될 수 있다.
상기 인스트럭션들은 현재 조건이 조건 정보에 해당하는지 여부를 판단하고, 상기 현재 조건이 조건 정보에 해당하는 경우, 상기 조건 정보에 대응하는 적어도 하나의 사용자 호출어를 인에이블하도록 설정될 수 있다.
상기 인스트럭션들은 상기 조건 정보가 만료되는지 여부를 판단하고, 상기 조건 정보가 만료되는 경우 상기 조건 정보에 대응하는 적어도 하나의 사용자 호출어를 디스에이블하도록 설정될 수 있다.
상기 사용자 입력은, 음성 호출어, 터치 또는 버튼 중 적어도 하나를 포함할 수 있다.
상기 인스트럭션들은 상기 음성 정보에 대한 태스크를 처리한 후 상기 사용자 호출어를 제어하기 위한 사용자 인터페이스를 디스플레이(예: 표시 장치(160))에 표시하도록 설정 수 있다.
상기 인스트럭션들은 화자 식별에 따른 상기 사용자 호출어를 이용한 음성 인식 서비스를 제어하도록 설정될 수 있다.
다양한 실시예들에 따른 전자 장치(예: 전자 장치(101), 전자 장치(200))는 스피커(예: 음향 출력 장치(155), 스피커(230)), 마이크(예: 입력 장치(150), 마이크(220)), 통신 인터페이스(예: 통신 모듈(190), 통신부(250)), 상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서(예: 프로세서(120), 프로세서(210), 및 상기 프로세서와 전기적으로 연결된 메모리(예: 메모리(130), 메모리(240))를 포함하고, 상기 메모리는 인스트럭션들을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금, 상기 마이크를 통해 적어도 하나의 메인 호출어를 수신하고, 상기 수신된 메인 호출어에 응답하여 외부 서버에서 제공되거나, 상기 전자 장치에 구현된 음성 인식 기능을 활성화하고, 상기 마이크를 통해 적어도 하나의 사용자 호출어를 포함하는 사용자 발화를 수신하고, 상기 메인 호출어 없이 상기 수신된 사용자 호출어에 응답하여 상기 음성 인식 기능을 활성화하도록 설정될 수 있다.
상기 적어도 하나의 메인 호출어는 상기 전자 장치와 연관된 이름 또는 제목을 포함하도록 설정될 수 있다.
상기 적어도 하나의 메인 호출어는 사용자에 의해 선택된 이름 또는 제목을 포함하도록 설정될 수 있다.
상기 인스트럭션들은 설정된 시간 주기 동안만 상기 수신된 사용자 호출어에 응답하여 음성 인식 기능을 활성화하도록 설정될 수 있다.
다양한 실시예들에 따른 전자 장치(예: 전자 장치(101), 전자 장치(200))는 스피커(예: 음향 출력 장치(155), 스피커(230)), 마이크(예: 입력 장치(150), 마이크(220)), 통신 인터페이스(예: 통신 모듈(190), 통신부(250)), 상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서(예: 프로세서(120), 프로세서(210), 및 상기 프로세서와 전기적으로 연결된 메모리(예: 메모리(130), 메모리(240))를 포함하고, 상기 메모리는 인스트럭션들을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금, 상기 마이크를 통해 적어도 하나의 메인 호출어를 수신하고, 하루의 특정 시점에 관계없이(regardless of a point in time in a day) 상기 수신된 메인 호출어에 응답하여 외부 서버에서 제공되거나, 상기 전자 장치에 구현된 음성 인식 기능을 활성화하고, 상기 마이크를 통해 적어도 하나의 사용자 호출어를 수신하고, 하루의 일정 기간 동안(during a period of time during a day) 상기 수신된 사용자 호출어에 응답하여 상기 음성 인식 기능을 활성화하도록 설정될 수 있다.
상기 적어도 하나의 사용자 호출어는 사용자 발화의 주제(subject matter) 또는 토픽과 연관된 것일 수 있다.
상기 적어도 하나의 사용자 호출어는 사용자의 발화 이력 또는 기계 학습(machine learning)으로부터 선택된 것일 수 있다.
도 3은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시한 흐름도이다.
도 3을 참조하면, 동작(301)에서, 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 음성 인식 서비스를 위한 사용자 입력을 검출할 수 있다. 예를 들어, 상기 사용자 입력은 음성 호출어, 터치, 또는 버튼 중 적어도 하나를 포함할 수 있다. 이하에서는, 음성 호출어를 이용하여 음성 인식 서비스를 활성화시키는 일례를 설명하지만, 설명에 의해 본 발명이 제한되는 것은 아니다. 다양한 실시예들에 따른 전자 장치(200)는 메인 호출어를 인식하기 위한 제1 프로세서(예: 보조 프로세서(123))에 기반하여, 마이크(예: 입력 장치(150), 마이크(220))를 통해 전달되는 호출어를 인식할 수 있다. 상기 메인 호출어는 전자 장치(200)에 미리 설정된 호출어를 의미할 수 있다. 다양한 실시예들에 따른 상기 메인 호출어는 전자 장치(200)와 연관된 이름 또는 제목을 포함하거나, 사용자에 의해 선택된 이름 또는 제목을 포함할 수 있다.
동작(303)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성 인식 서비스를 활성화할 수 있다. 예를 들면, 프로세서(210)는 상기 메인 호출어가 감지되면, 음성 인식을 위한 기능을 웨이크-업할 수 있다. 한 실시 예에 따르면, 전자 장치(200)는 제1 프로세서(예: 보조 프로세서(123))의 호출어 감지에 기반하여, 제2 프로세서(예: 메인 프로세서(121), 음성 인식 모듈(213))를 웨이크-업할 수 있다. 다양한 실시 예들에 따르면, 프로세서(210)는 상기 사용자 입력에 대응하여, 사용자 발화에 따른 음성 인식을 개시할 수 있다.
동작(305)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성 정보에 기반하여 태스크를 처리할 수 있다. 한 실시 예에 따르면, 프로세서(210)는 상기 음성 인식 서비스가 활성화되는 동안 사용자 발화에 따른 음성 정보를 인식하고, 음성 정보에 대응하는 기능을 실행하는 것과 관련된 적어도 하나의 태스크를 처리할 수 있다. 예를 들면, "뉴욕 날씨"라는 사용자 발화를 인식한 경우, 프로세서(210)는 "뉴욕 날씨"를 키워드로 인터넷 검색하고, 검색된 뉴욕 날씨 정보를 제공할 수 있다. 상기 뉴욕 날씨 정보는 텍스트, 이미지, 소리, 또는 비디오 중 적어도 하나로 구성될 수 있다.
동작(307)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 상기 처리된 태스크와 연관된 음성 정보를 분석할 수 있다. 예를 들어, 프로세서(210)는 상기 음성 정보를 분석하여 사용자 호출어로 등록 가능한 키워드 또는 단어를 결정할 수 있다. 예를 들어, 프로세서(210)는 "뉴욕 날씨"로부터 "뉴욕", "날씨"를 키워드(예: 제1 단어)로 추출할 수 있다. 다양한 실시예들에 따른 프로세서(210)는 상기 추출된 키워드로부터 파생되는 연관 단어(예: 제2 단어)를 획득할 수 있다. 상기 연관 단어는 상기 키워드로부터 파생되는 단어로서, 예를 들어 동의어, 유의어일 수 있다. 예를 들어, 프로세서(210)는 "뉴욕"이라는 키워드로부터 "필라델피아", "보스톤", "워싱턴 DC"를 연관 단어로 획득할 수 있다. 또한, 프로세서(210)는 "날씨"라는 키워드로부터 "맑음", "흐름", "비", "눈", "온도", "습도" 등을 연관 단어로서 획득할 수 있다. 다양한 실시예들에 따른 프로세서(210)는 상기 획득한 키워드 또는 연관 단어를 이용하여 새로운 단어(예: 제3 단어)를 획득할 수 있다. 예를 들어, 프로세서(210)는 "뉴욕", "비"라는 단어를 이용하여 "우산"이라는 새로운 단어를 획득할 수 있다. 또는, 프로세서(210)는 "날씨", "맑음"이라는 단어를 이용하여 "패션", "의류", "반팔" 등의 새로운 단어를 획득할 수 있다.
동작(309)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 상기 분석 결과에 기반하여 적어도 하나의 사용자 호출어(또는 제2 호출어)를 등록할 수 있다. 예를 들어, 프로세서(210)는 1차적으로 "뉴욕", "날씨"를 사용자 호출어로 등록(예: 메모리(240)에 저장)할 수 있다. 프로세서(210)는 전자 장치(200)에 미리 설정된 메인 호출어와 상기 사용자 호출어를 구별하여 관리할 수 있다. 다양한 실시예들에 따른 프로세서(210)는 상기 메인 호출어에 대해서는 사용자에 의해 접근 또는 변경이 불가능하도록 설정하고, 상기 사용자 호출어에 대해서는 사용자에 의해 변경, 수정, 삭제, 추가 등이 가능하도록 설정할 수 있다. 다양한 실시예들에 따른 프로세서(210)는 2차적으로 "필라델피아", "보스톤", "워싱턴 DC", "맑음", "흐름", "비", "눈", "온도", "습도"를 사용자 호출어로 등록할 수 있다. 또한, 프로세서(210)는 3차적으로 "우산", "패션", "의류", "반팔"을 사용자 호출어로 등록할 수 있다. 프로세서(210)는 상기 2차적으로 또는 상기 3차적으로 획득된 사용자 호출어를 등록하지 않을 수도 있다.
다양한 실시예들에 따른 프로세서(210)는 제스처, 모스 부호, 특정 부호어, 텍스트, 시각 등 다양한 입력 방식을 통한 사용자 호출어를 등록할 수 있다. 예를 들어, 프로세서(210)는 상기 음성 인식 서비스가 활성화되면, 카메라를 통해 제스처(예: 수화)를 검출하거나, 사용자의 시각을 검출하고, 검출된 제스처 또는 사용자의 시각을 사용자 호출어로 등록할 수 있다. 또는, 프로세서(210)는 상기 음성 인식 서비스가 활성화되면, 입력 장치(예: 입력 장치(150))를 통해 모스 부호, 특정 부호어 또는 텍스트 중 적어도 하나를 입력받고, 입력된 모스 부호, 특정 부호어, 또는 텍스트를 사용자 호출어로 등록할 수 있다. 다양한 실시예들에 따른 전자 장치(200)는 전원 공급 장치(예: 충전기)와 연결되는 동안 동작(301) 내지 동작(309)을 수행할 수 있다.
도 4는 다양한 실시예들에 따른 사용자 호출어를 이용하여 음성 인식 서비스를 활성화하는 일례를 도시한 도면이다.
도 4를 참조하면, 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120))는 음성 인식 서비스를 활성화하여 음성 인식하는 제1 사용자 인터페이스(410)를 제공할 수 있다. 프로세서(210)는 메인 호출어에 응답하여 상기 음성 인식 서비스가 활성화되었음을 안내할 수 있다. 예를 들어, 프로세서(210)는 상기 음성 인식 서비스가 활성화되었음을 안내하는 안내 메시지(411)를 제공할 수 있다. 도면에서는 안내 메시지(411)가 디스플레이(예: 표시 장치(160))에 표시된 것으로 도시하고 있지만, 프로세서(210)는 안내 메시지(411)를 표시함과 동시에 스피커(230)(예: 음향 출력 장치(155))를 통해 안내 메시지(411)에 해당하는 음성을 출력할 수 있다. 안내 메시지(411)는 텍스트, 이미지, 소리, 또는 비디오 중 적어도 하나로 구성될 수 있다.
안내 메시지(411)를 제공한 후, 프로세서(210)는 활성화 대기시간(예: 3초, 5초) 이내 또는 연속적으로 사용자 발화를 수신하여 음성 인식할 수 있다. 프로세서(210)는 자체적으로 또는 음성 처리 서버와 연동하여 상기 사용자 발화에 대한 음성을 인식할 수 있다. 프로세서(210)는 음성 인식한 제1 음성 정보(413)를 상기 디스플레이에 표시하고, 제1 음성 정보(413)에 대응하는 태스크를 처리할 수 있다. 프로세서(210)는 제1 음성 정보(413)에 대응하는 제1 태스크 정보(415)를 상기 디스플레이에 표시할 수 있다. 또는, 프로세서(210)는 스피커(230)를 통해 제1 태스크 정보(415)에 해당하는 음성을 출력할 수 있다. 제1 태스크 정보(415)는 텍스트, 이미지, 소리, 또는 비디오 중 적어도 하나로 구성될 수 있다.
다양한 실시예들에 따른 프로세서(210)는 제1 태스크 정보(415)를 제공한 이후 또는 동시에 제1 음성 정보(413)를 분석하여 사용자 호출어를 등록할 수 있다. 예를 들어, 프로세서(210)는 "대구", "날씨"를 사용자 호출어로 등록할 수 있다. 또는, 프로세서(210)는 "서울", "부산", "온도", "습도" 등을 사용자 호출어로 등록할 수 있다. 다양한 실시예들에 따른 프로세서(210)는 제1 태스크 정보(415)를 제공한 후 상기 활성화 대기시간이 경과할 때까지 사용자 발화가 감지되지 않는 경우 음성 인식 서비스를 비활성화(또는 중단)할 수 있다.
다양한 실시예들에 따른 프로세서(210)는 제1 태스크 정보(415)를 제공하고, 활성화 대기시간이 경과한 후, 사용자 발화를 수신하여 음성 인식하는 제2 사용자 인터페이스(450)를 제공할 수 있다. 제2 사용자 인터페이스(450)는 상기 음성 인식 서비스가 비활성화 상태에서, 사용자 발화를 수신하는 일례를 도시한 것이다. 프로세서(210)는 음성 인식한 제2 음성 정보(451)에 호출어가 포함되어 있는지 판단할 수 있다. 여기서, 상기 호출어는 상기 메인 호출어 및 상기 사용자 호출어를 모두 포함할 수 있다. 예를 들어, 프로세서(210)는 제2 음성 정보(451)에 포함된 "날씨"를 사용자 호출어로 인식하고, 호출어가 감지되었다고 판단할 수 있다. 프로세서(210)는 호출어가 감지되면 상기 음성 인식 서비스를 활성화할 수 있다.
즉, 프로세서(210)는 상기 호출어가 감지됨에 따라 상기 비활성화된 음성 인식 서비스를 다시 활성화시킬 수 있다. 도면에서는 상기 비활성화된 음성 인식 서비스가 다시 활성화되었음을 안내하는 안내 메시지가 제공되지 않는 것으로 도시하고 있지만, 안내 메시지가 제공될 수도 있다. 프로세서(210)는 음성 인식한 제2 음성 정보(451)를 디스플레이(예: 표시 장치(160))에 표시하고, 제2 음성 정보(451)에 대응하는 태스크를 처리할 수 있다. 프로세서(210)는 제2 음성 정보(451)에 대응하는 제2 태스크 정보(453)를 상기 디스플레이에 표시할 수 있다. 또는, 프로세서(210)는 스피커(230)를 통해 제2 태스크 정보(453)에 해당하는 음성을 출력할 수 있다. 제2 태스크 정보(453)는 텍스트, 이미지, 소리, 또는 비디오 중 적어도 하나로 구성될 수 있다.
다양한 실시예들에 따른 프로세서(210)는 제2 태스크 정보(453)를 제공한 이후 또는 동시에 제2 음성 정보(451)를 분석하여 사용자 호출어를 등록할 수 있다. 예를 들어, 프로세서(210)는 "날씨", "빨래"를 사용자 호출어로 등록할 수 있다. 또는, 프로세서(210)는 "온도", "습도", "세탁", "세탁 방법", "세제", "건조기" 등을 사용자 호출어로 등록할 수 있다. 다양한 실시예들에 따른 프로세서(210)는 제2 태스크 정보(453)를 제공한 후 상기 활성화 대기시간이 경과할 때까지 사용자 발화가 감지되지 않는 경우 음성 인식 서비스를 비활성화(또는 중단)할 수 있다. 또는, 프로세서(210)는 상기 메인 호출어 이후에 입력되는 사용자 발화(예: 제1 음성 정보(413))에 대해서만 사용자 호출어를 등록하고, 제2 음성 정보(451)에 대해서는 사용자 호출어를 등록하지 않을 수도 있다. 이는, 전자 장치(200)의 설정 또는 사용자의 설정에 따라 변경될 수 있다.
종래의 전자 장치는 기설정된 호출어(예: 메인 호출어)를 감지한 경우, 음성 인식 서비스를 활성화할 수 있다. 즉, 종래의 전자 장치는 음성 인식 서비스가 활성화되는 동안 사용자 발화에 대한 응답을 제공한 후 상기 활성화 대기시간이 경과하기 전까지 사용자로부터 음성 명령을 수신하지 못한 경우 상기 음성 인식 서비스의 실행을 중단(또는 비활성화)할 수 있다. 종래에는, 비활성화된 음성 인식 서비스를 다시 활성화하기 위해서는 상기 메인 호출어를 먼저 발화해야 한다. 그러나, 본 발명은 상기 메인 호출어와 함께 사용자 호출어를 호출어로 등록함으로써, 상기 메인 호출어가 아니더라도 상기 사용자 호출어가 감지되면 상기 음성 인식 서비스를 활성화할 수 있다.
도 5는 다양한 실시예들에 따른 전자 장치의 사용자 호출어 등록 방법을 도시한 흐름도이다. 도 5의 흐름도는 도 3의 동작(307) 및 동작(309)을 상세히 설명한 것이다.
도 5를 참조하면, 동작(501)에서, 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 입력된 음성으로부터 제1 단어를 획득할 수 있다. 예를 들어, "점심은 스테이크 먹고 싶은데, 회사 주위에 추천해줄 만한 곳이 있나?"라는 사용자 발화가 수신된 경우, 프로세서(210)는 사용자 발화에 따른 음성 정보를 분석하여 제1 단어를 획득할 수 있다. 프로세서(210)는 상기 음성 정보에서 변환된 텍스트 정보로부터 상기 제1 단어(또는 키워드)를 획득할 수 있다. 상기 키워드의 사전적 의미는 '기록의 내용을 표현하기 위해 제목이나 내용에서 추출한 단어 또는 구절'을 의미할 수 있다. 따라서, 사전적 의미로는 상기 키워드는 단어 및 구절을 포함하는 것으로, 상기 단어를 포함하는 개념일 수 있다. 예를 들어, 상기 제1 단어는 "점심", "스테이크", "회사" 또는 "추천" 중 적어도 하나를 포함할 수 있다.
동작(503)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 상기 획득한 제1 단어로부터 제2 단어를 획득할 수 있다. 프로세서(210)는 상기 제1 단어로부터 유추 가능한 또는 파생되는 제2 단어를 획득할 수 있다. 예를 들어, 상기 제2 단어는 상기 제1 단어의 유의어 또는 동의어일 수 있다. 예를 들어, 상기 제2 단어는 "점심 식사", "소고기", 회사에 해당하는 "위치 정보(예: 뉴욕)" 또는 "강추" 중 적어도 하나를 포함할 수 있다.
동작(505)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 상기 제1 단어 또는 상기 제2 단어를 이용하여 제3 단어를 획득할 수 있다. 프로세서(210)는 상기 제1 단어 또는 상기 제2 단어를 조합하여 새로운 제3 단어를 획득할 수 있다. 예를 들어, 상기 제3 단어는 "맛집"을 포함할 수 있다.
다양한 실시예들에 따른 동작(503) 및 동작(505)은 수행되지 않을 수도 있다. 예를 들어, 전자 장치(200)의 설정 또는 사용의 설정에 따라 동작(501) 및 동작(507)만 수행하고, 동작(503) 및 동작(505)은 생략될 수 있다.
동작(507)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 획득한 단어를 적어도 하나의 사용자 호출어로 등록할 수 있다. 예를 들어, 프로세서(210)는 "점심", "스테이크", "회사", "추천", "식사", "소고기", "뉴욕", "강추", 또는 "맛집" 중 적어도 하나를 사용자 호출어로 등록(예: 메모리(240)에 저장)할 수 있다. 상기 사용자 호출어는 상기 사용자 발화의 주제(subject matter) 또는 토픽과 연관된 것일 수 있다. 또는, 상기 사용자 호출어는 사용자의 발화 이력 또는 기계 학습(machine learning)으로부터 선택된 것일 수 있다.
예를 들어, "점심은 스테이크 먹고 싶은데, 회사 주위에 추천해줄 만한 곳이 있나?"라는 사용자 발화가 수신된 경우, 프로세서(210)는 사용자 발화에 대한 음성 인식을 처리하여 "회사 주위의 스테이크 음식점은 XXX입니다."라는 메시지를 출력(예: 디스플레이(예: 표시 장치(160))에 표시, 스피커(예: 스피커(230), 음향 출력 장치(155))에 출력)할 수 있다. 다음으로, "맛집인가?"라는 사용자 발화가 수신된 경우, 프로세서(210)는 사용자 발화에 대한 음성 인식을 처리하여 "맛집으로 등록되어 있으며, 최근 1달 이내에 10점 평가가 두 번 있습니다."라는 메시지를 출력할 수 있다. 동작(501) 내지 동작(507)을 수행한 경우, 프로세서(210)는 메인 호출어 이외에 "맛집"을 사용자 호출어로 등록할 수 있다.
다양한 실시예들에 따른 프로세서(210)는 메인 호출어 이후에 입력되는 사용자 발화에 대해서만 음성 정보를 분석하여 사용자 호출어를 등록할 수 있다. 또는, 프로세서(210)는 상기 메인 호출어 이후에 일정 시간(예: 1시간, 3시간, 하루, 일주일 등) 동안 입력되는 사용자 발화에 대해서 음성 정보를 분석하여 사용자 호출어를 등록할 수 있다. 프로세서(210)는 일정 시간이 경과하면 등록된 사용자 호출어를 자동으로 메모리(예: 메모리(130), 메모리(240))로부터 삭제할 수 있다. 또는, 프로세서(210)는 사용자 호출어를 삭제하기 전에 사용자에게 사용자 호출어 삭제를 통보하고, 상기 사용자의 선택에 따라 상기 사용자 호출어를 삭제할 수 있다. 또는, 프로세서(210)는 사용자로부터 기설정된 입력(예: 터치, 제스처, 버튼 선택)을 수신하는 경우, 상기 사용자 호출어를 삭제할 수 있다. 또는, 프로세서(210)는 상기 사용자의 요청(예: 사용자 호출어 보기, 사용자 호출어 편집 등)에 따라 상기 메모리에 저장된 사용자 호출어를 포함하는 리스트를 제공하고, 상기 리스트에 포함된 사용자 호출어 중 적어도 하나 또는 전체를 삭제하라는 사용자 입력을 수신한 경우 상기 사용자에 의해 선택된 사용자 호출어를 삭제할 수 있다.
도 6은 다양한 실시예들에 따른 사용자 호출어를 등록하는 일례를 도시한 도면이다.
도 6을 참조하면, 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120))는 사용자 호출어를 등록하기 위한 사용자 인터페이스(610)를 제공할 수 있다. 사용자 인터페이스(610)에는 "대구 날씨"라는 음성 정보에 대응하여 태스크 정보(611)를 제공하고, 상기 음성 정보로부터 "대구", "날씨"를 사용자 호출어로 등록되었음을 알리는 메시지(613)가 포함되어 있을 수 있다. 메시지(613)에는 사용자 호출어에 대한 안내 문구, 수정 버튼(615), 추가 버튼(617), 취소 버튼(619)을 포함할 수 있다. 예를 들어, 프로세서(210)는 수정 버튼(615)이 선택되는 경우, "대구", 또는 "날씨"에 대해 수정할 수 있는 사용자 인터페이스를 제공할 수 있다. 상기 사용자 인터페이스에는 입력 필드에 "대구", 또는 "날씨"가 표시되고, 키패드(또는 키보드)를 포함할 수 있다. 프로세서(210)는 추가 버튼(617)이 선택되는 경우, 입력 필드 또는 키패드를 포함하는 사용자 인터페이스를 제공할 수 있다. 상기 사용자 인터페이스의 입력 필드에는 아무것도 표시되지 않은 빈 상태일 수 있다. 프로세서(210)는 취소 버튼(619)이 선택되는 경우, "대구", 또는 "날씨"를 사용자 호출어에서 삭제하였음을 알리는 사용자 인터페이스를 제공할 수 있다. 프로세서(210)는 상기 사용자 인터페이스를 제공한 후, 활성화 대기시간이 경과할 때까지 사용자 발화가 감지되지 않는 경우 음성 인식 서비스를 비활성화(또는 중단)할 수 있다.
도 7은 다양한 실시예들에 따른 사용자 호출어를 이용하여 음성 인식 서비스를 활성화하는 방법을 도시한 흐름도이다. 도 7의 흐름도는 도 3의 동작(309) 이후에 수행될 수 있다.
도 7을 참조하면, 동작(701)에서, 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 활성화 대기시간을 카운트할 수 있다. 상기 활성화 대기시간은 EPD(end point detection) 시간, 입력 대기 시간 또는 마이크 녹음 대기 시간 중 적어도 하나로 해석될 수 있다. 예를 들어, 상기 활성화 대기시간은 음성 입력이 종료된 것으로 판단하기 위한 대기 시간일 수 있다. 예를 들어, 프로세서(210)는 음성 입력(예: 제1 음성 입력)이 완료된 시점(또는 제1 음성 입력에 대응하는 태스크 정보를 제공한 시점)부터 카운트를 시작하고, 상기 활성화 대기시간이 만료되기 전에 다시 음성 입력(예: 제2 음성 입력)이 검출되면, 상기 활성화 대기시간을 처음부터 다시 카운트할 수 있다. 즉, 프로세서(210)는 음성 인식 서비스가 활성화되는 동안 상기 활성화 대기시간을 카운트할 수 있다.
동작(703)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 상기 활성화 대기시간이 만료되는지 여부를 판단할 수 있다. 예를 들어, 상기 활성화 대기시간이 5초인 경우, 프로세서(210)는 제1 음성 입력이 완료된 시점(또는 제1 음성 입력에 대응하는 태스크 정보를 제공한 시점)부터 상기 활성화 대기시간을 카운트하고, 상기 활성화 대기시간이 3초까지 카운트된 시점에 다시 제2 음성 입력이 검출되면, 지금까지 카운트한 활성화 대기시간을 삭제(또는 무시)하고, 상기 제2 음성 입력이 완료된 시점부터 다시 상기 활성화 대기시간을 카운트할 수 있다.
프로세서(210)는 상기 활성화 대기시간이 만료되면(예: 동작(703)에서 '예'인 경우), 동작(705)을 수행하고, 상기 활성화 대기시간이 만료되지 않으면(예: 동작(703)에서 '아니오'인 경우), 동작(715)을 수행할 수 있다.
상기 활성화 대기시간이 만료되면, 동작(705)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성 인식 서비스를 비활성화할 수 있다. 프로세서(210)는 상기 활성화 대기시간이 만료된 경우 음성 입력이 완료된 것으로 판단할 수 있다. 상기 음성 인식 서비스가 비활성화되는 경우, 저전력 구동을 위해 음성 인식을 위해 필요한 구성요소의 실행을 중지할 수 있다. 예를 들어, 프로세서(210)는 음성 입력이 완료된 경우, 음성 입력의 수신을 중단 또는 마이크(220)로부터 수신되는 음성 녹음을 중단할 수 있다.
동작(707)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 음성을 감지할 수 있다. 예를 들어, 프로세서(210)는 마이크(예: 입력 장치(150), 마이크(220))를 통해 음성이 수신됨을 감지할 수 있다. 프로세서(210)는 수신되는 음성을 메모리(예: 메모리(130), 메모리(240))에 임시 저장할 수 있다.
동작(709)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 상기 감지된 음성에 호출어가 포함되어 있는지 여부를 판단할 수 있다. 여기서, 상기 호출어는 전자 장치(200)에 설정된 메인 호출어 또는 사용자에 의해 등록된 사용자 호출어를 포함할 수 있다. 다양한 실시예들에 따른 프로세서(210)는 상기 메모리에 저장된 음성(또는 음성 파일)으로부터 텍스트 정보를 추출하고, 추출된 텍스트 정보 중 첫번째 단어를 상기 메모리에 저장된 호출어에 매칭되는지 여부를 판단할 수 있다. 또는, 프로세서(210)는 추출된 텍스트 정보에 포함된 적어도 하나의 단어가 상기 메모리에 저장된 호출어에 매칭되는지 여부를 판단할 수 있다. 또는, 프로세서(210)는 추출된 텍스트 정보에 포함된 단어 중 마지막 단어를 상기 메모리에 저장된 호출어에 매칭되는지 여부를 판단할 수 있다. 상기 텍스트 정보와 호출어를 매칭하는 방법은 전자 장치(200)의 설정 또는 사용자의 설정에 따라 다를 수 있다.
프로세서(210)는 상기 감지된 음성에 호출어가 포함되어 있는 경우(예: 동작(709)에서 '예'인 경우), 동작(711)을 수행하고, 상기 감지된 음성에 호출어가 포함되어 있지 않은 경우(예: 동작(709)에서 '아니오'인 경우), 종료할 수 있다.
예를 들어, 프로세서(210)는 상기 감지된 음성에 메인 호출어가 포함되어 있는 경우 동작(711)을 수행할 수 있다. 또는, 프로세서(210)는 상기 감지된 음성에 사용자 호출어가 포함되어 있는 경우 동작(711)을 수행할 수 있다. 그러나, 프로세서(210)는 상기 감지된 음성에 메인 호출어 또는 사용자 호출어가 포함되어 있지 않은 경우 종료할 수 있다. 종래에는 상기 음성 인식 서비스가 비활성화된 상태에서 음성 인식하기 위해서는 무조건 메인 호출어를 발화해야 했지만, 본 발명에서는 메인 호출어뿐만 아니라, 사용자 호출어를 발화하는 경우에도 음성 인식 서비스를 활성화시킬 수 있다.
상기 감지된 음성에 호출어가 포함되어 있는 경우 동작(711)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성 인식 서비스를 활성화할 수 있다. 예를 들면, 프로세서(210)는 상기 호출어가 감지되면, 음성 인식을 위한 기능을 웨이크-업할 수 있다. 동작(711)은 동작(303)과 동일 또는 유사하므로 자세한 설명을 생략한다.
동작(713)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성 정보에 기반하여 태스크를 처리할 수 있다. 한 실시 예에 따르면, 프로세서(210)는 상기 음성 인식 서비스가 활성화되는 동안 사용자 발화에서 호출어를 포함하는 음성 정보 또는 호출어를 제외한 음성 정보를 인식하고, 음성 정보에 대응하는 기능을 실행할 수 있다. 예를 들어, 상기 호출어가 메인 호출어인 경우, 프로세서(210)는 상기 메인 호출어를 제외한 음성 정보를 인식하고, 음성 정보에 대응하는 기능을 실행할 수 있다. 또는, 상기 호출어가 사용자 호출어인 경우, 프로세서(210)는 상기 사용자 호출어를 포함하는 음성 정보를 인식하고, 음성 정보에 대응하는 기능을 실행할 수 있다. 또는, 상기 호출어가 사용자 호출어인 경우에도, 프로세서(210)는 상기 사용자 호출어를 제외한 음성 정보를 인식하고, 음성 정보에 대응하는 기능을 실행할 수 있다.
상기 활성화 대기시간이 만료되지 않으면, 동작(715)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 상기 음성 인식 서비스 활성화를 유지할 수 있다. 동작(701)은 상기 음성 인식 서비스가 활성화되는 동안 수행되는 동작으로서, 상기 활성화 대기시간이 만료되지 않는 경우 프로세서(210)는 상기 음성 인식 서비스를 활성화한 상태를 유지할 수 있다.
동작(717)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성이 감지되는지 여부를 판단할 수 있다. 예를 들어, 프로세서(210)는 상기 음성 인식 서비스가 활성화된 상태에서 사용자로부터 새로운 발화가 입력되는지 여부를 판단할 수 있다.
프로세서(210)는 음성이 감지되는 경우(예: 동작(717)에서 '예'인 경우), 동작(719)을 수행하고, 음성이 감지되지 않는 경우(예: 동작(717)에서 '아니오'인 경우), 동작(701)으로 리턴할 수 있다. 동작(701)으로 리턴하면, 프로세서(210)는 상기 활성화 대기시간이 만료되기 전까지 사용자 발화가 입력되는지 여부를 판단할 수 있다.
음성이 감지되는 경우, 동작(717)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 입력된 음성에 대한 태스크를 처리할 수 있다. 프로세서(210)는 상기 음성 인식 서비스가 활성화되는 동안 사용자 발화에 따른 음성 정보를 인식하고, 음성 정보에 대응하는 기능을 실행하는 것과 관련된 적어도 하나의 태스크를 처리할 수 있다. 동작(719)은 동작(305)과 동일 또는 유사하므로 자세한 설명을 생략한다.
도 8은 다양한 실시예들에 따른 사용자 호출어를 초기화하는 방법을 도시한 흐름도이다.
도 8을 참조하면, 동작(801)에서, 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성 인식 서비스를 비활성화할 수 있다. 프로세서(210)는 활성화 대기시간이 만료된 경우 음성 입력이 완료된 것으로 판단하고, 상기 음성 인식 서비스를 비활성화할 수 있다. 동작(801)은 동작(705)과 동일 또는 유사하므로 자세한 설명을 생략한다.
동작(803)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 음성 입력을 수신할 수 있다. 예를 들어, 프로세서(210)는 마이크(예: 입력 장치(150), 마이크(220))를 통해 음성이 수신됨을 감지할 수 있다. 프로세서(210)는 수신되는 음성을 메모리(예: 메모리(130), 메모리(240))에 임시 저장할 수 있다.
동작(805)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 상기 감지된 음성에 사용자 호출어가 포함되어 있는지 여부를 판단할 수 있다. 여기서, 상기 사용자 호출어는 사용자에 의해 등록된 호출어를 의미할 수 있다. 즉, 동작(805)에서 판단하는 호출어는 메인 호출어가 아닌 사용자 호출어만 해당될 수 있다. 다양한 실시예들에 따른 프로세서(210)는 상기 메모리에 저장된 음성(또는 음성 파일)으로부터 텍스트 정보를 추출하고, 추출된 텍스트 정보의 전체 또는 일부(예: 첫번째 단어)를 상기 메모리에 저장된 사용자 호출어에 매칭되는지 여부를 판단할 수 있다.
프로세서(210)는 상기 감지된 음성에 사용자 호출어가 포함되어 있는 경우(예: 동작(805)에서 '예'인 경우), 동작(807)을 수행하고, 상기 감지된 음성에 사용자 호출어가 포함되어 있지 않은 경우(예: 동작(805)에서 '아니오'인 경우), 동작(811)을 수행할 수 있다. 예를 들어, 프로세서(210)는 상기 감지된 음성에 사용자 호출어가 포함되어 있는 경우 동작(807)을 수행하고, 상기 감지된 음성에 메인 호출어가 포함되어 있는 경우 동작(813)을 수행할 수 있다.
상기 감지된 음성에 사용자 호출어가 포함되어 있는 경우 동작(807)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성 인식 서비스를 활성화할 수 있다. 예를 들면, 프로세서(210)는 상기 사용자 호출어가 감지되면, 음성 인식을 위한 기능을 웨이크-업할 수 있다. 동작(807)은 동작(303)과 동일 또는 유사하므로 자세한 설명을 생략한다.
동작(809)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 음성 정보에 기반하여 태스크를 처리할 수 있다. 한 실시 예에 따르면, 프로세서(210)는 상기 음성 인식 서비스가 활성화되는 동안 사용자 발화에 따른 음성 정보를 인식하고, 음성 정보에 대응하는 기능을 실행하는 것과 관련된 적어도 하나의 태스크를 처리할 수 있다. 동작(809)은 동작(305)과 동일 또는 유사하므로 자세한 설명을 생략할 수 있다.
동작(810)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 호출어 업데이트 프로세스를 수행할 수 있다. 상기 호출어 업데이트 프로세스는 사용자 발화에 따른 음성 정보를 분석하여 사용자 호출어를 등록하는 동작을 포함할 수 있다. 상기 호출어 업데이트 프로세스는 동작(307) 및 동작(309)을 포함할 수 있다. 전자 장치(200)의 설정 또는 사용자의 설정에 따라 동작(810)은 수행되지 않을 수도 있다. 예를 들어, 프로세서(210)는 사용자 호출어를 이용하여 음성 인식 서비스가 활성화된 경우 호출어 업데이트 프로세스를 수행하지 않을 수도 있다. 또는, 프로세서(210)는 사용자 호출어를 이용하여 음성 인식 서비스가 활성화된 경우에도 호출어 업데이트 프로세스를 수행할 수 있다.
상기 감지된 음성에 사용자 호출어가 포함되지 않은 경우, 동작(811)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 상기 감지된 음성에 메인 호출어가 포함되어 있는지 여부를 판단할 수 있다. 여기서, 상기 메인 호출어는 전자 장치(200)에 미리 설정된 호출어를 의미할 수 있다. 다양한 실시예들에 따른 프로세서(210)는 상기 메모리에 저장된 음성(또는 음성 파일)으로부터 텍스트 정보를 추출하고, 추출된 텍스트 정보의 전체 또는 일부(예: 첫번째 단어)를 전자 장치(200)에 설정된 메인 호출어에 매칭되는지 여부를 판단할 수 있다.
도면에서는 감지된 음성에 사용자 호출어가 포함되어 있는지 판단하는 동작(805)을 먼저 수행한 후, 감지된 음성에 메인 호출어가 포함되어 있는지 판단하는 동작(811)을 나중에 수행되는 것으로 도시하고 있지만, 동작(811)을 먼저 수행하고 동작(805)을 나중에 수행하거나, 동작(805) 및 동작(811)을 동시에 수행할 수도 있다. 이는 구현 상의 문제일 뿐, 상세한 설명 및 도면에 의해 본 발명의 내용이 제한되는 것은 아니다.
프로세서(210)는 상기 감지된 음성에 메인 호출어가 포함되어 있는 경우(예: 동작(811)에서 '예'인 경우), 동작(813)을 수행하고, 상기 감지된 음성에 메인 호출어가 포함되어 있지 않은 경우(예: 동작(811)에서 '아니오'인 경우), 종료할 수 있다. 즉, 프로세서(210)는 상기 감지된 음성에 사용자 호출어 또는 메인 호출어 중 어느 것도 포함되어 있지 않은 경우 종료할 수 있다.
상기 감지된 음성에 메인 호출어가 포함되어 있는 경우 동작(813)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 사용자 호출어를 초기화할 수 있다. 상기 초기화는 메모리(예: 메모리(130), 메모리(240))에 저장된 사용자 호출어를 삭제하는 것을 의미할 수 있다. 프로세서(210)는 호출어로서 메인 호출어가 감지되는 경우 상기 메모리에 저장된 사용자 호출어를 삭제할 수 있다. 즉, 상기 메인 호출어 발화가 사용자 호출어를 삭제하라는 명령일 수 있다. 상기 메인 호출어 발화를 사용자 호출어 삭제 명령으로 인식하는 동작은 전자 장치(200)의 설정 또는 사용자의 설정에 따라 정해질 수 있다. 다양한 실시예들에 따른 프로세서(210)는 상기 사용자 호출어를 삭제하기 전에 사용자에게 사용자 호출어를 삭제할 지 여부를 통보하고, 상기 사용자의 선택에 따라 상기 사용자 호출어를 삭제할 수 있다.
프로세서(210)는 상기 사용자 호출어를 삭제한 후 동작(807)으로 리턴할 수 있다. 프로세서(210)는 상기 사용자 호출어를 삭제한 후 동작(807)으로 리턴한 경우, 동작(810)에서 호출어 업데이트 프로세스를 수행할 수 있다.
도 9는 다양한 실시예들에 따른 화자의 수에 따라 사용자 호출어 서비스를 제어하는 방법을 도시한 흐름도이다.
도 9를 참조하면, 동작(901)에서, 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120), 화자 식별 모듈(217))는 화자를 식별할 수 있다. 예를 들어, 프로세서(210)는 마이크(예: 마이크(220), 음향 출력 장치(155))로부터 수신되는 음성의 주파수를 이용하여 화자가 한 명을 초과하는지 여부를 판단할 수 있다. 프로세서(210)는 사람마다 가지는 음성 주파수의 차이를 이용하여 화자를 식별할 수 있다. 또는, 프로세서(210)는 카메라(예: 카메라 모듈(180))로부터 획득되는 이미지를 이용하여 상기 화자를 식별할 수 있다. 프로세서(210)는 상기 음성의 주파수 또는 이미지를 조합하여 화자의 인원수를 결정할 수 있다.
다양한 실시예들에 따른 동작(901)은 음성 인식 서비스가 활성화되는 동안 수행될 수 있다. 예를 들어, 동작(901)은 활성화 대기시간 동안, 또는 상기 활성화 대기시간이 만료되기 전까지 수행될 수 있다. 다양한 실시예들에 따른 프로세서(210)는 동작(901)의 수행과 동시에 또는 순차적으로 활성화 대기시간이 만료되는지 여부를 판단할 수 있다.
동작(903)에서, 프로세서(210)(예: 프로세서(120), 화자 식별 모듈(217))는 화자가 한 명을 초과하는지 여부를 판단할 수 있다. 예를 들어, 프로세서(210)는 실시간으로, 주기적으로, 또는 상기 음성 인식 서비스가 활성화된 상태 중 적어도 하나에서 화자가 한 명을 초과하는지 여부를 판단할 수 있다.
프로세서(210)는 화자가 한 명을 초과하는 경우(예: 동작(903)에서 '예'인 경우), 동작(905)을 수행하고, 화자가 한 명을 초과하지 않는 경우(예: 동작(903)에서 '아니오'인 경우), 동작(915)을 수행할 수 있다.
화자가 한 명을 초과하는 경우 동작(905)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 사용자 호출어 서비스를 비활성화(또는 중단)할 수 있다. 상기 사용자 호출어 서비스는 음성 인식 서비스를 활성화시키기 위한 호출어로 메인 호출어에 더하여 사용자 호출어를 사용하는 것을 의미할 수 있다. 그런데, 화자가 한 명을 초과하는 경우, 전자 장치(200)가 화자 간의 대화를 음성 인식하여 태스크를 처리할 수도 있다. 이는 불필요한 전력을 소비하는 것이고 사용자 편의성을 저해하는 것일 수 있다. 프로세서(210)는 상기 화자가 한 명을 초과하는 경우, 상기 사용자 호출어 서비스를 비활성화시켜 메모리(240)에 저장된 사용자 호출어를 디스에이블시킬 수 있다. 상기 사용자 호출어를 디스에이블시키면, 프로세서(210)는 사용자 발화 시, 상기 메인 호출어만을 호출어로 감지할 수 있다.
동작(907)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 음성 입력을 수신할 수 있다. 예를 들어, 프로세서(210)는 마이크(예: 입력 장치(150), 마이크(220))를 통해 음성이 수신됨을 감지할 수 있다. 프로세서(210)는 수신되는 음성을 메모리(예: 메모리(130), 메모리(240))에 임시 저장할 수 있다.
동작(909)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 상기 감지된 음성에 메인 호출어가 포함되어 있는지 여부를 판단할 수 있다. 프로세서(210)는 상기 사용자 호출어 서비스가 비활성화된 상태에서 음성이 감지되는 경우, 감지된 음성에 메인 호출어가 포함되어 있는지 판단할 수 있다.
프로세서(210)는 상기 감지된 음성에 메인 호출어가 포함되어 있는 경우(예: 동작(909)에서 '예'인 경우), 동작(911)을 수행하고, 상기 감지된 음성에 메인 호출어가 포함되어 있지 않은 경우(예: 동작(909)에서 '아니오'인 경우), 종료할 수 있다. 상기 사용자 호출어 서비스가 비활성화된 상태에서 음성 인식하기 위해서는 무조건 메인 호출어를 발화해야 할 수 있다.
상기 감지된 음성에 메인 호출어가 포함되어 있는 경우 동작(911)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 입력된 음성에 대한 태스크를 처리할 수 있다. 동작(901) 내지 동작(907) 수행 시 음성 인식 서비스가 활성화된 상태일 수 있으므로, 프로세서(210)는 음성 인식 서비스를 활성화시킬 필요없이 곧바로 인식된 음성에 대한 기능을 실행할 수 있다. 프로세서(210)는 태스크 처리 후 동작(901)으로 리턴할 수 있다. 동작(901)으로 리턴 시, 프로세서(210)는 화자 식별과 동시에 또는 순차적으로 활성화 대기시간이 만료되는지 여부를 판단할 수 있다.
화자가 한 명을 초과하지 않는 경우 동작(915)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 상기 사용자 호출어 서비스를 유지(또는 중단)할 수 있다. 상기 사용자 호출어 서비스는 상기 음성 인식 서비스가 활성화되는 동안 항상 활성화되어 있을 수 있다. 따라서, 상기 사용자 호출어 서비스 유지는 상기 사용자 호출어 서비스를 활성화 상태로 유지하는 것을 의미할 수 있다. 프로세서(210)는 상기 사용자 호출어 서비스가 활성화되면, 메모리(240)에 저장된 사용자 호출어를 인에이블시킬 수 있다. 상기 사용자 호출어를 인에이블시키면, 프로세서(210)는 사용자 발화 시, 상기 메인 호출어와 더불어 상기 사용자 호출어를 호출어로 감지할 수 있다. 또한, 프로세서(210)는 상기 사용자 호출어 서비스가 활성화되는 동안 사용자 발화에 따라 새로운 사용자 호출어를 등록할 수 있다.
동작(917)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 음성 입력을 수신할 수 있다. 예를 들어, 프로세서(210)는 마이크(예: 입력 장치(150), 마이크(220))를 통해 음성이 수신됨을 감지할 수 있다. 프로세서(210)는 수신되는 음성을 메모리(예: 메모리(130), 메모리(240))에 임시 저장할 수 있다.
동작(919)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 상기 감지된 음성에 호출어가 포함되어 있는지 여부를 판단할 수 있다. 여기서, 상기 호출어는 메인 호출어 및 사용자 호출어를 모두 포함하는 것일 수 있다. 즉, 프로세서(210)는 상기 사용자 호출어 서비스가 활성화된 상태에서 음성이 감지되는 경우, 감지된 음성에 메인 호출어 또는 사용자 호출어가 포함되어 있는지 판단할 수 있다.
프로세서(210)는 상기 감지된 음성에 호출어가 포함되어 있는 경우(예: 동작(919)에서 '예'인 경우), 동작(921)을 수행하고, 상기 감지된 음성에 호출어가 포함되어 있지 않은 경우(예: 동작(919)에서 '아니오'인 경우), 종료할 수 있다. 프로세서(210)는 상기 사용자 호출어 서비스가 활성화된 상태에서는 메인 호출어 또는 사용자 호출어 중 어느 하나만 발화해도 음성 인식 기능을 수행할 수 있다.
상기 감지된 음성에 호출어가 포함되어 있는 경우 동작(921)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 입력된 음성에 대한 태스크를 처리할 수 있다. 동작(915) 내지 동작(919) 수행 시 음성 인식 서비스가 활성화된 상태일 수 있으므로, 프로세서(210)는 음성 인식 서비스를 활성화시킬 필요없이 곧바로 인식된 음성에 대한 기능을 실행할 수 있다. 프로세서(210)는 태스크 처리 후 동작(901)으로 리턴할 수 있다.
도 10a 및 도 10b는 다양한 실시예들에 따른 사용자 호출어 서비스를 제어하는 일례를 도시한 도면들이다.
도 10a는 화자의 인원수와 상관없이 사용자 호출어 서비스를 활성화하는 일례를 도시한 도면이다.
도 10a를 참조하면, 제1 상황(1010)은 제1 사용자(1001)와 전자 장치(200)(예: 전자 장치(101))가 일대일로 음성 인식 서비스를 제공하는 일례를 도시한 것이다. 제1 상황(1010)에서, 전자 장치(200)는 사용자 호출어 서비스가 활성화된 상태이므로, 제1 사용자(1001)로부터 메인 호출어 또는 사용자 호출어가 감지되면 음성 인식 서비스를 제공할 수 있다.
제2 상황(1020)은 제1 상황(1010)에서 제2 사용자(1003)가 추가되는 일례를 도시한 것이다. 제2 상황(1020)에서도 전자 장치(200)는 사용자 호출어 서비스가 활성화된 상태이므로, 제1 사용자(1001) 또는 제2 사용자(1003)로부터 메인 호출어 또는 사용자 호출어가 감지되면 음성 인식 서비스를 제공할 수 있다.
제3 상황(1030)은 제2 상황(1020)에서 호출어가 감지되는 일례를 도시한 것이다. 제3 상황(1030)에서도, 전자 장치(200)는 사용자 호출어 서비스가 활성화된 상태이므로, 제1 사용자(1001) 또는 제2 사용자(1003)로부터 메인 호출어 또는 사용자 호출어가 감지되면 음성 인식 서비스를 제공할 수 있다. 그러나, 제1 사용자(1001)는 제2 사용자(1003)에게 발화((1031)한 것인데, 전자 장치(200)는 제1 사용자(1001)의 발화(1031)에 사용자 호출어(예: 대구 또는 날씨)가 포함되어 있으므로, 음성 정보에 대한 태스크를 처리하여 발화(1031)에 대한 응답(1033)을 제공할 수 있다. 즉, 사용자 호출어 서비스가 활성화된 상태에서는 사용자 호출어가 감지되면 음성 인식하게 되므로, 제1 사용자(1001)는 제2 사용자(1003)에게 발화(1031)한 것인데, 전자 장치(200)가 응답(1033)하는 상황이 발생할 수 있다.
도 10b는 화자 식별에 따라 사용자 호출어 서비스를 제어하는 일례를 도시한 도면이다.
도 10b를 참조하면, 제4 상황(1050)은 전자 장치(200)(예: 전자 장치(101))가 화자를 식별하여 사용자 호출어 서비스를 제어하는 일례를 도시한 것이다. 예를 들어, 전자 장치(200)는 제4 상황(1050)에서 화자 식별을 통해 제1 사용자(1001) 및 제2 사용자(1003)를 감지할 수 있다. 전자 장치(200)는 화자가 한 명을 초과하는 것으로 판단되면, 제4 상황(1050)에서 사용자 호출어 서비스를 비활성화(또는 중단)할 수 있다.
제5 상황(1060)은 전자 장치(200)가 사용자 호출어 서비스를 비활성화한 상태에서 사용자 간에 대화하는 일례를 도시한 것이다. 제5 상황(1060)에서는 사용자 호출어 서비스가 비활성화된 상태이므로, 전자 장치(200)는 메인 호출어가 감지되는 경우에만 음성 인식 서비스를 제공할 수 있다. 사용자 호출어 서비스가 비활성화된 상태에서는 전자 장치(200)에 사용자 호출어(예: 대구 또는 날씨)가 디스에이블될 수 있다. 제5 상황(1060)에서는, 제1 사용자(1001)가 제2 사용자(1003)에게 발화(1061)하더라도, 전자 장치(200)는 제1 사용자(1001)의 발화(1061)에 대해 응답(1063)하지 않을 수 있다. 왜냐하면, 제5 상황(1060)에서는 사용자 호출어 서비스가 비활성화된 상태이므로, 발화(1061)에 메인 호출어가 포함되어 있지 않으면, 전자 장치(200)는 음성 인식 서비스를 활성화하지 않기 때문이다.
제6 상황(1070)은 전자 장치(200)가 사용자 호출어 서비스를 비활성화한 상태에서 사용자 발화에 응답하는 일례를 도시한 것이다. 제6 상황(1070)에서도, 화자가 한 명을 초과하기 때문에, 전자 장치(200)는 사용자 호출어 서비스가 비활성화된 상태일 수 있다. 제6 상황(1070)에서, 전자 장치(200)는 제1 사용자(1001)의 발화(1071)를 감지하고, 발화(1071)에 메인 호출어가 포함되어 있는지 여부를 판단할 수 있다. 발화(1071)에 메인 호출어(예: Bixby)가 포함되어 있는 경우, 전자 장치(200)는 발화(1071)에 대한 태스크를 처리하여 응답(1073)을 제공할 수 있다. 즉, 전자 장치(200)는 사용자 호출어 서비스가 비활성화된 상태에서는 메인 호출어가 감지되어야만 음성 인식 기능을 제공할 수 있다.
도 11은 다양한 실시예들에 따른 현재 조건에 대응하여 사용자 호출어를 제어하는 방법을 도시한 흐름도이다.
도 11을 참조하면, 동작(1101)에서, 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120), 조건 판단 모듈(219))는 현재 조건이 기설정된 조건(예: 조건 정보)에 해당하는지 여부를 감지할 수 있다. 상기 기설정된 조건은 특정 위치 정보 또는 특정 시간 정보를 포함할 수 있다. 상기 현재 조건에 해당하는 조건 정보는 메모리(예: 메모리(130), 메모리(240))에 저장될 수 있다. 예를 들어, 프로세서(210)는 현재 조건이 상기 메모리에 저장된 조건 정보에 해당하는지 여부를 판단할 수 있다. 프로세서(210)는 상기 음성 인식 서비스가 활성화되는 동안 현재 조건이 기설정된 조건에 해당하는지 여부를 감지할 수 있다. 또는, 프로세서(210)는 실시간으로 또는 주기적으로 현재 조건이 기설정된 조건에 해당하는지 여부를 감지할 수 있다.
동작(1103)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 현재 조건에 대응하는 적어도 하나의 사용자 호출어를 인에이블시킬 수 있다. 예를 들어, 프로세서(210)는 현재 시간이 오전 7시 10분이고, 오전 7시 10분이라는 시간 정보가 기설정된 조건에 해당하는 경우, 상기 시간 정보에 대응하는 사용자 호출어를 인에이블시킬 수 있다. 예를 들어, 프로세서(210)는 메모리(예: 메모리(130), 메모리(240))에 저장된 시간 정보(예: 오전 7시 ~ 9시)에 대응하는 사용자 호출어(예: 버스, 지하철, 노선도, 일정)가 저장되어 있는 경우, 상기 사용자 호출어를 인에이블시킬 수 있다. 또는, 프로세서(210)는 현재 위치가 "서울시 강남구"이고, "서울시 강남구"라는 위치 정보가 기설정된 조건에 해당하는 경우, 상기 위치 정보에 대응하는 사용자 호출어를 인에이블시킬 수 있다. 프로세서(210)는 상기 메모리에 저장된 위치 정보(예: 서울시 강남구)에 대응하는 사용자 호출어(예: 점심, 메뉴, 음식점, 일정)가 저장되어 있는 경우, 상기 사용자 호출어를 인에이블시킬 수 있다. 상기 사용자 호출어가 인에이블되면, 프로세서(210)는 메인 호출어와 함께 사용자 호출어가 감지되면 음성 인식 서비스를 제공할 수 있다.
동작(1105)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 음성을 감지할 수 있다. 예를 들어, 프로세서(210)는 마이크(예: 입력 장치(150), 마이크(220))를 통해 음성이 수신됨을 감지할 수 있다. 프로세서(210)는 수신되는 음성을 메모리(예: 메모리(130), 메모리(240))에 임시 저장할 수 있다.
동작(1107)에서, 프로세서(210)(예: 프로세서(120), 호출어 감지 모듈(211))는 상기 감지된 음성에 호출어가 포함되어 있는지 여부를 판단할 수 있다. 여기서, 상기 호출어는 전자 장치(200)에 설정된 메인 호출어 및 현재 조건에 대응하는 사용자 호출어를 포함할 수 있다.
프로세서(210)는 상기 감지된 음성에 호출어가 포함되어 있는 경우(예: 동작(1107)에서 '예'인 경우), 동작(1109)을 수행하고, 상기 감지된 음성에 호출어가 포함되어 있지 않은 경우(예: 동작(1107)에서 '아니오'인 경우), 종료할 수 있다.
상기 감지된 음성에 호출어가 포함되어 있는 경우 동작(1109)에서, 프로세서(210)(예: 프로세서(120), 음성 인식 모듈(213))는 입력된 음성에 대한 태스크를 처리할 수 있다. 동작(1101) 내지 동작(1107)을 수행 시 음성 인식 서비스가 활성화된 상태일 수 있으므로, 프로세서(210)는 음성 인식 서비스를 활성화시킬 필요없이 곧바로 인식된 음성에 대한 기능을 실행할 수 있다. 또는, 상기 음성 인식 서비스가 비활성화된 상태인 경우, 프로세서(210)는 상기 음성 인식 서비스를 활성화시킨 후, 상기 감지된 음성에 대한 기능을 실행할 수 있다.
동작(1111)에서, 프로세서(210)(예: 프로세서(120), 조건 판단 모듈(219))는 현재 조건이 만료되는지 여부(또는 조건 정보가 만료되는지 여부)를 판단할 수 있다. 예를 들어, 프로세서(210)는 현재 시간이 오전 9시 5분인 경우, 오전 7시 ~ 9시의 시간 정보에 대응하는 조건을 벗어났으므로, 현재 조건이 만료된 것으로 판단할 수 있다. 또는, 프로세서(210)는 현재 위치가 "경기도 수원시"인 경우, "서울시 강남구"의 위치 정보에 대응하는 조건을 벗어났으므로, 현재 조건이 만료된 것으로 판단할 수 있다.
프로세서(210)는 상기 현재 조건이 만료된 경우(예: 동작(1111)에서 '예'인 경우), 동작(1113)을 수행하고, 상기 현재 조건이 만료되지 않은 경우(예: 동작(1111)에서 '아니오'인 경우), 동작(1105)으로 리턴할 수 있다. 동작(1105)으로 리턴하면, 프로세서(210)는 현재 조건이 기설정된 조건에 해당하는 동안 계속해서 메인 호출어 또는 사용자 호출어에 의한 음성 인식 서비스를 제공할 수 있다.
동작(1113)에서, 프로세서(210)(예: 프로세서(120), 호출어 제어 모듈(215))는 현재 조건에 대응하는 적어도 하나의 사용자 호출어를 디스에이블시킬 수 있다. 예를 들어, 프로세서(210)는 메모리(예: 메모리(130), 메모리(240))에 저장된 시간 정보(예: 오전 7시 ~ 9시)에 대응하는 사용자 호출어(예: 버스, 지하철, 노선도, 일정)를 디스에이블시킬 수 있다. 이 경우, 프로세서(210)는 사용자 발화에 따라 음성이 감지되면, 감지된 음성에 메인 호출어가 포함되어 있는지 여부에 따라 음성 인식 서비스를 제공할 수 있다.
도 12a 및 도 12b는 다양한 실시예들에 따른 현재 조건에 따라 사용자 호출어를 제어하는 일례를 도시한 도면들이다.
도 12a는 시간 조건 정보에 따라 사용자 호출어를 제어하는 일례를 도시한 도면이다.
도 12a를 참고하면, 제1 상황(1210)은 전자 장치(200)(예: 전자 장치(101))의 메모리(예: 메모리(130), 메모리(240))에 사용자 호출어들(1213, 1215, 1217)를 저장하는 일례를 나타낸 것이다. 전자 장치(200)는 시간 정보에 대응하는 사용자 호출어들(1213, 1215, 1217)를 상기 메모리에 저장할 수 있다. 제1 사용자 호출어(1213)는 제1 시간 조건 정보(예: 오전 7시 ~ 8시)에 해당하는 경우 인에이블되는 것일 수 있다. 제2 사용자 호출어(1215)는 제2 시간 조건 정보(예: 오전 11시 ~ 오후 1시)에 해당하는 경우 인에이블되는 것일 수 있다. 제3 사용자 호출어(1217)는 제3 시간 조건 정보(예: 오후 5시 ~ 오후 7시)에 해당하는 경우 인에이블되는 것일 수 있다. 제1 상황(1210)에서, 전자 장치(200)는 사용자(1200)의 발화에 메인 호출어가 포함되는 경우 음성 인식 서비스를 제공할 수 있다.
제2 상황(1220)은 현재 시간 조건에 대응하여 사용자 호출어를 인에이블하는 일례를 도시한 것이다. 전자 장치(200)는 현재 시간이 "07:35"인 경우, 제1 시간 조건 정보(예: 오전 7시 ~ 8시)에 대응하는 제1 사용자 호출어(1223)를 인에이블시킬 수 있다. 전자 장치(200)는 사용자(1200)의 발화에 메인 호출어 또는 제1 사용자 호출어(1223)가 포함되는 경우 음성 인식 서비스를 제공할 수 있다. 전자 장치(200)는 제2 시간 조건 정보(예: 오전 11시 ~ 오후 1시)에 대응하는 제2 사용자 호출어(1215) 및 제3 시간 조건 정보(예: 오후 5시 ~ 오후 7시)에 대응하는 제3 사용자 호출어(1217)에 대해서는 디스에이블시킬 수 있다.
제3 상황(1230)은 현재 시간 조건에 대응하여 사용자 호출어를 인에이블하는 다른 일례를 도시한 것이다. 전자 장치(200)는 현재 시간이 "11:35"인 경우, 제2 시간 조건 정보(예: 오전 11시 ~ 오후 1시)에 대응하는 제2 사용자 호출어(1233)를 인에이블시킬 수 있다. 전자 장치(200)는 사용자(1200)의 발화에 메인 호출어 또는 제2 사용자 호출어(1233)가 포함되는 경우 음성 인식 서비스를 제공할 수 있다. 전자 장치(200)는 제1 시간 조건 정보(예: 오전 7시 ~ 8시)에 대응하는 제1 사용자 호출어(1213) 및 제3 시간 조건 정보(예: 오후 5시 ~ 오후 7시)에 대응하는 제3 사용자 호출어(1217)에 대해서는 디스에이블시킬 수 있다.
도 12b는 위치 조건 정보에 따라 사용자 호출어를 제어하는 일례를 도시한 도면이다.
도 12b를 참고하면, 제4 상황(1250)은 전자 장치(200)(예: 전자 장치(101))의 메모리(예: 메모리(130), 메모리(240))에 사용자 호출어들(1253, 1255, 1257)를 저장하는 일례를 나타낸 것이다. 전자 장치(200)는 위치 정보에 대응하는 사용자 호출어들(1253, 1255, 1257)를 상기 메모리에 저장할 수 있다. 제1 사용자 호출어(1253)는 제1 위치 조건 정보(예: 집)에 해당하는 경우 인에이블되는 것일 수 있다. 제2 사용자 호출어(1255)는 제2 위치 조건 정보(예: 사무실)에 해당하는 경우 인에이블되는 것일 수 있다. 제3 사용자 호출어(1257)는 제3 위치 조건 정보(예: 이동 중)에 해당하는 경우 인에이블되는 것일 수 있다. 도면에서는 제1 위치 조건 정보 내지 제3 위치 조건 정보가 '집', '사무실', '이동중'이라고 표기되어 있지만, 상기 제1 위치 조건 정보 내지 제3 위치 조건 정보는 위치 좌표 정보(예: 위도, 경도), 또는 지역 정보(예: 서울시 강남구 논현동, 경기도 수원시 장안구)일 수 있다. 도면 내 표기된 위치 정보는 발명의 이해를 돕기 위해 표기한 것일 뿐, 상세한 설명 또는 도면에 의해 본 발명이 제한되는 것은 아니다. 제4 상황(1250)에서, 전자 장치(200)는 사용자(1200)의 발화에 메인 호출어가 포함되는 경우 음성 인식 서비스를 제공할 수 있다.
제5 상황(1260)은 현재 위치 조건에 대응하여 사용자 호출어를 인에이블하는 일례를 도시한 것이다. 전자 장치(200)는 실시간 또는 주기적으로 통신부(예: 통신 모듈(190), 통신부(250))로부터 획득되는 위치 정보에 기반하여 현재 위치를 파악할 수 있다. 예를 들어, 전자 장치(200)는 일정 시간(예: 10분, 30분) 동안 시간에 따른 위치 변화가 적거나 없는 경우 '집' 또는 '사무실'로 판단할 수 있다. 또는, 전자 장치(200)는 시간에 따라 위치 변화가 검출되는 경우 '이동중'으로 판단할 수 있다.
전자 장치(200)는 현재 위치가 '집(예: 경기도 수원시 장안구)'인 경우, 제1 위치 조건 정보(예: 집)에 대응하는 제1 사용자 호출어(1263)를 인에이블시킬 수 있다. 전자 장치(200)는 사용자(1200)의 발화에 메인 호출어 또는 제1 사용자 호출어(1263)가 포함되는 경우 음성 인식 서비스를 제공할 수 있다. 전자 장치(200)는 제2 위치 조건 정보(예: 사무실)에 대응하는 제2 사용자 호출어(1255) 및 제3 위치 조건 정보(예: 이동중)에 대응하는 제3 사용자 호출어(1257)에 대해서는 디스에이블시킬 수 있다.
제6 상황(1270)은 현재 위치 조건에 대응하여 사용자 호출어를 인에이블하는 다른 일례를 도시한 것이다. 전자 장치(200)는 현재 위치가 '사무실(예: 서울시 강남구 논현동)'인 경우, 제2 위치 조건 정보(예: 사무실)에 대응하는 제2 사용자 호출어(1273)를 인에이블시킬 수 있다. 전자 장치(200)는 사용자(1200)의 발화에 메인 호출어 또는 제2 사용자 호출어(1273)가 포함되는 경우 음성 인식 서비스를 제공할 수 있다. 전자 장치(200)는 제1 위치 조건 정보(예: 집)에 대응하는 제1 사용자 호출어(1253) 및 제3 위치 조건 정보(예: 이동중)에 대응하는 제3 사용자 호출어(1257)에 대해서는 디스에이블시킬 수 있다.
다양한 실시예들에 따른 전자 장치(200)(예: 전자 장치(101))의 프로세서(210)(예: 프로세서(120))는 현재 조건이 시간 조건 정보 및 위치 조건 정보에 모두 해당하는 경우, 위치 조건 정보에 우선순위를 두어 위치 조건 정보에 대응하는 사용자 호출어만 인에이블시킬 수 있다. 반대로, 프로세서(210)는 시간 조건 정보에 우선순위를 두어 시간 조건 정보에 대응하는 사용자 호출어만 인에이블시킬 수 있다. 또는, 프로세서(210)는 위치 조건 정보 및 시간 조건 정보에 모두 해당하는 사용자 호출어만 인에이블시킬 수 있다. 또는, 프로세서(210)는 사용자의 사용 이력에 기반하여 위치 조건 정보 및 시간 조건 정보에 각각 서로 다른 가중치를 부여하고, 가중치가 높은 조건 정보(예: 위치 조건 정보)에 대응하는 사용자 호출어를 모두 인에이블시키고, 가중치가 낮은 조건 정보(예: 시간 조건 정보)에 대해서는 설정된 개수(예: 1개)의 사용자 호출어만 인에이블시킬 수 있다. 조건 정보가 중첩될 때 사용자 호출어를 인에이블하는 동작은 전자 장치(200)의 설정 또는 사용자의 설정에 따라 변경될 수 있다. 또는, 전자 장치(200)구현 상의 문제일 뿐, 상세한 설명 및 도면에 의해 본 발명의 내용이 제한되는 것은 아니다.
다양한 실시예들에 따른 전자 장치의 동작 방법은 사용자 입력에 응답하여 음성 인식 서비스를 활성화하는 동작; 상기 활성화된 음성 인식 서비스에 의해 입력된 음성 정보에 대한 태스크를 처리하는 동작; 상기 음성 정보를 분석하여 적어도 하나의 사용자 호출어를 등록하는 동작; 및 상기 적어도 하나의 사용자 호출어 감지에 응답하여 상기 음성 인식 서비스를 활성화하는 동작을 포함할 수 있다.
상기 등록하는 동작은, 상기 음성 정보로부터 텍스트 정보를 추출하는 동작; 상기 텍스트 정보로부터 적어도 하나의 단어를 획득하는 동작; 및 상기 획득된 단어를 상기 사용자 호출어로 등록하는 동작을 포함할 수 있다.
상기 방법은 상기 음성 인식 서비스가 비활성화된 상태에서 음성을 감지하는 동작; 상기 입력된 음성에 메인 호출어가 포함되어 있는지 판단하는 동작; 및 상기 입력된 음성에 상기 메인 호출어가 포함되어 있는 경우 상기 등록된 사용자 호출어를 초기화하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따른 컴퓨터로 판독 가능한 기록 매체는 사용자 입력에 응답하여 음성 인식 서비스를 활성화하는 동작; 상기 활성화된 음성 인식 서비스에 의해 입력된 음성 정보에 대한 태스크를 처리하는 동작; 상기 음성 정보를 분석하여 적어도 하나의 사용자 호출어를 등록하는 동작; 및 상기 적어도 하나의 사용자 호출어 감지에 응답하여 상기 음성 인식 서비스를 활성화하는 동작을 실행하는 프로그램을 포함할 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서에 개시된 다양한 실시 예들에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제1) 구성 요소가 다른(예: 제2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 어떤 구성 요소가 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직(logic), 논리 블록(logic block), 부품(component), 또는 회로(circuit) 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어(instruction)를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성 요소들을 이용하여 명령어에 해당하는 기능을 수행할 수 있다. 명령어는 컴파일러(compiler) 또는 인터프리터(interpreter)에 의해 생성 또는 실행되는 코드(code)를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: CD-ROM, compact disc read only memory)의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예들에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
200: 전자 장치
210: 프로세서
211: 호출어 감지 모듈 213: 음성 인식 모듈
215: 호출어 제어 모듈 217: 화자 식별 모듈
219: 조건 판단 모듈
220: 마이크 230: 스피커
240: 메모리 250: 통신부

Claims (20)

  1. 전자 장치에 있어서,
    스피커;
    마이크;
    통신 인터페이스;
    상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서; 및
    상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금,
    사용자 입력에 응답하여 음성 인식 서비스를 활성화하고,
    상기 활성화된 음성 인식 서비스에 의해 입력된 음성 정보에 대한 태스크를 처리하고,
    상기 음성 정보를 분석하여 적어도 하나의 사용자 호출어를 등록하고,
    상기 적어도 하나의 사용자 호출어 감지에 응답하여 상기 음성 인식 서비스를 활성화하도록 설정된 전자 장치.
  2. 제1항에 있어서,
    상기 인스트럭션들은 상기 음성 정보로부터 텍스트 정보를 추출하고, 상기 텍스트 정보로부터 적어도 하나의 단어를 획득하고, 상기 획득된 단어를 상기 사용자 호출어로 등록하도록 설정된 전자 장치.
  3. 제2항에 있어서,
    상기 인스트럭션들은 상기 텍스트 정보로부터 적어도 하나의 제1 단어를 획득하고, 상기 제1 단어로부터 상기 제1 단어와 연관된 적어도 하나의 제2 단어를 획득하고, 상기 제1 단어 또는 상기 제2 단어를 상기 사용자 호출어로 등록하도록 설정된 전자 장치.
  4. 제3항에 있어서,
    상기 인스트럭션들은 상기 제1 단어 및 상기 제2 단어를 이용하여 적어도 하나의 제3 단어를 획득하고, 상기 제1 단어 내지 상기 제3 단어 중 적어도 하나를 상기 사용자 호출어로 등록하도록 설정된 전자 장치.
  5. 제1항에 있어서,
    상기 인스트럭션들은 상기 음성 정보에 대한 태스크를 처리한 후 활성화 대기시간을 카운트하고, 상기 활성화 대기시간 동안 음성이 검출되지 않는 경우, 상기 음성 인식 서비스를 비활성화하도록 설정된 전자 장치.
  6. 제1항에 있어서,
    상기 인스트럭션들은 상기 음성 인식 서비스가 비활성화된 상태에서 음성이 감지되면, 상기 입력된 음성에 메인 호출어가 포함되어 있는지 판단하고, 상기 입력된 음성에 상기 메인 호출어가 포함되어 있는 경우 상기 등록된 사용자 호출어를 초기화하도록 설정된 전자 장치.
  7. 제1항에 있어서,
    상기 인스트럭션들은 화자를 식별하고, 상기 식별된 화자의 인원수에 따라 상기 사용자 호출어를 이용한 음성 인식 서비스를 제어하도록 설정된 전자 장치.
  8. 제7항에 있어서,
    상기 인스트럭션들은 상기 화자가 한 명을 초과하는 경우 상기 사용자 호출어를 이용한 음성 인식 서비스를 비활성화하도록 설정된 전자 장치.
  9. 제1항에 있어서,
    상기 인스트럭션들은 현재 조건이 조건 정보에 해당하는지 여부를 판단하고, 상기 현재 조건이 조건 정보에 해당하는 경우, 상기 조건 정보에 대응하는 적어도 하나의 사용자 호출어를 인에이블하도록 설정된 전자 장치.
  10. 제1항에 있어서,
    상기 인스트럭션들은 상기 조건 정보가 만료되는지 여부를 판단하고, 상기 조건 정보가 만료되는 경우 상기 조건 정보에 대응하는 적어도 하나의 사용자 호출어를 디스에이블하도록 설정된 전자 장치.
  11. 제1항에 있어서,
    상기 사용자 입력은, 음성 호출어, 터치, 또는 버튼 중 적어도 하나를 포함하는 전자 장치.
  12. 제1항에 있어서,
    상기 인스트럭션들은 상기 음성 정보에 대한 태스크를 처리한 후 상기 사용자 호출어를 제어하기 위한 사용자 인터페이스를 디스플레이에 표시하도록 설정된 전자 장치.
  13. 제1항에 있어서,
    상기 인스트럭션들은 상기 음성 인식 서비스가 활성화되는 동안 화자 식별에 따른 상기 사용자 호출어를 이용한 음성 인식 서비스를 제어하도록 설정된 전자 장치.
  14. 전자 장치에 있어서,
    스피커;
    마이크;
    통신 인터페이스;
    상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서; 및
    상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금,
    상기 마이크를 통해 적어도 하나의 메인 호출어를 수신하고,
    상기 수신된 메인 호출어에 응답하여 외부 서버에서 제공되거나, 상기 전자 장치에 구현된 음성 인식 기능을 활성화하고,
    상기 마이크를 통해 적어도 하나의 사용자 호출어를 포함하는 사용자 발화를 수신하고,
    상기 메인 호출어 없이 상기 수신된 사용자 호출어에 응답하여 상기 음성 인식 기능을 활성화하도록 설정된 전자 장치.
  15. 제14항에 있어서,
    상기 적어도 하나의 메인 호출어는 상기 전자 장치와 연관된 이름 또는 제목을 포함하도록 설정된 전자 장치.
  16. 제14항에 있어서,
    상기 적어도 하나의 사용자 호출어는 사용자에 의해 선택된 이름 또는 제목을 포함하도록 설정된 전자 장치.
  17. 제14항에 있어서,
    상기 인스트럭션들은 설정된 시간 주기 동안만 상기 수신된 사용자 호출어에 응답하여 음성 인식 기능을 활성화하도록 설정된 전자 장치.
  18. 전자 장치에 있어서,
    스피커;
    마이크;
    통신 인터페이스;
    상기 스피커, 상기 마이크 또는 상기 통신 인터페이스와 전기적으로 연결된 프로세서; 및
    상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들은 실행 시에 상기 프로세서로 하여금,
    상기 마이크를 통해 적어도 하나의 메인 호출어를 수신하고,
    하루의 특정 시점에 관계없이(regardless of a point in time in a day) 상기 수신된 메인 호출어에 응답하여 외부 서버에서 제공되거나, 상기 전자 장치에 구현된 음성 인식 기능을 활성화하고,
    상기 마이크를 통해 적어도 하나의 사용자 호출어를 수신하고,
    하루의 일정 기간 동안(during a period of time during a day) 상기 수신된 사용자 호출어에 응답하여 상기 음성 인식 기능을 활성화하도록 설정된 전자 장치.
  19. 제18항에 있어서,
    상기 적어도 하나의 사용자 호출어는 사용자 발화의 주제(subject matter) 또는 토픽과 연관된 것인 전자 장치.
  20. 제18항에 있어서,
    상기 적어도 하나의 사용자 호출어는 사용자의 발화 이력 또는 기계 학습(machine learning)으로부터 선택된 것인 전자 장치.
KR1020170107963A 2017-08-25 2017-08-25 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치 KR102411766B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170107963A KR102411766B1 (ko) 2017-08-25 2017-08-25 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치
EP18190758.5A EP3447764B1 (en) 2017-08-25 2018-08-24 Electronic device for implementing method of activiating voice-recognition service
PCT/KR2018/009821 WO2019039915A1 (en) 2017-08-25 2018-08-24 METHOD FOR ACTIVATION OF VOICE RECOGNITION SERVICE AND ELECTRONIC DEVICE IMPLEMENTING THE SAME
CN201810979837.3A CN109427333B (zh) 2017-08-25 2018-08-27 激活语音识别服务的方法和用于实现所述方法的电子装置
US16/113,602 US10692495B2 (en) 2017-08-25 2018-08-27 Method of receiving commands for activating voice-recognition service and electronic device for implementing same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170107963A KR102411766B1 (ko) 2017-08-25 2017-08-25 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치

Publications (2)

Publication Number Publication Date
KR20190022109A true KR20190022109A (ko) 2019-03-06
KR102411766B1 KR102411766B1 (ko) 2022-06-22

Family

ID=63490205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170107963A KR102411766B1 (ko) 2017-08-25 2017-08-25 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치

Country Status (5)

Country Link
US (1) US10692495B2 (ko)
EP (1) EP3447764B1 (ko)
KR (1) KR102411766B1 (ko)
CN (1) CN109427333B (ko)
WO (1) WO2019039915A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190082689A (ko) * 2019-06-20 2019-07-10 엘지전자 주식회사 음성 인식 방법 및 음성 인식 장치
WO2020226213A1 (ko) * 2019-05-09 2020-11-12 엘지전자 주식회사 음성 인식 기능을 제공하는 인공 지능 기기, 인공 지능 기기의 동작 방법
WO2021118269A1 (en) * 2019-12-12 2021-06-17 Samsung Electronics Co., Ltd. Electronic device and method for controlling electronic device
US11250852B2 (en) 2019-06-18 2022-02-15 Lg Electronics Inc. Generation of trigger recognition models for robot
WO2023132574A1 (ko) * 2022-01-10 2023-07-13 엘지전자 주식회사 인공 지능 기기

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US20180190306A1 (en) 2017-01-04 2018-07-05 2236008 Ontario Inc. Voice interface and vocal entertainment system
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US20190130898A1 (en) * 2017-11-02 2019-05-02 GM Global Technology Operations LLC Wake-up-word detection
CN107895573B (zh) * 2017-11-15 2021-08-24 百度在线网络技术(北京)有限公司 用于识别信息的方法及装置
KR102361458B1 (ko) * 2018-01-25 2022-02-10 삼성전자주식회사 사용자 발화 응답 방법 및 이를 지원하는 전자 장치
US10789940B2 (en) * 2018-03-27 2020-09-29 Lenovo (Singapore) Pte. Ltd. Dynamic wake word identification
CN108600911B (zh) 2018-03-30 2021-05-18 联想(北京)有限公司 一种输出方法及电子设备
US20210134272A1 (en) * 2018-07-20 2021-05-06 Sony Corporation Information processing device, information processing system, information processing method, and program
US11289097B2 (en) * 2018-08-28 2022-03-29 Dell Products L.P. Information handling systems and methods for accurately identifying an active speaker in a communication session
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
WO2020056375A1 (en) 2018-09-13 2020-03-19 The Charles Stark Draper Laboratory, Inc. Voice modification to robot motion plans
JP7202853B2 (ja) * 2018-11-08 2023-01-12 シャープ株式会社 冷蔵庫
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US11211061B2 (en) * 2019-01-07 2021-12-28 2236008 Ontario Inc. Voice control in a multi-talker and multimedia environment
TW202029181A (zh) * 2019-01-28 2020-08-01 正崴精密工業股份有限公司 語音識別用於特定目標喚醒的方法及裝置
JP7198122B2 (ja) * 2019-03-07 2022-12-28 本田技研工業株式会社 エージェント装置、エージェント装置の制御方法、およびプログラム
JP2020144275A (ja) * 2019-03-07 2020-09-10 本田技研工業株式会社 エージェント装置、エージェント装置の制御方法、およびプログラム
WO2020195204A1 (ja) * 2019-03-22 2020-10-01 ソニー・オリンパスメディカルソリューションズ株式会社 制御装置及び医療用観察システム
CN110012166B (zh) * 2019-03-31 2021-02-19 联想(北京)有限公司 一种信息处理方法及装置
US10964324B2 (en) * 2019-04-26 2021-03-30 Rovi Guides, Inc. Systems and methods for enabling topic-based verbal interaction with a virtual assistant
EP3759709A1 (en) * 2019-05-06 2021-01-06 Google LLC Selectively activating on-device speech recognition, and using recognized text in selectively activating on-device nlu and/or on-device fulfillment
KR102671211B1 (ko) * 2019-05-23 2024-06-03 삼성전자 주식회사 하우징의 입력에 대응하는 피드백을 제공하는 전자 장치
CN110224904B (zh) * 2019-06-06 2022-10-21 腾讯科技(深圳)有限公司 语音处理方法、装置、计算机可读存储介质和计算机设备
CN110265029A (zh) * 2019-06-21 2019-09-20 百度在线网络技术(北京)有限公司 语音芯片和电子设备
KR102246661B1 (ko) * 2019-06-25 2021-05-03 엘지전자 주식회사 음성 인에이블 디바이스 선택 방법 및 장치
US11639944B2 (en) * 2019-08-26 2023-05-02 Apple Inc. Methods and apparatus for detecting individual health related events
EP3792914A3 (en) * 2019-09-12 2021-05-05 Orcam Technologies Ltd. Wearable apparatus and methods for processing audio signals
CN110989963B (zh) * 2019-11-22 2023-08-01 北京梧桐车联科技有限责任公司 唤醒词推荐方法及装置、存储介质
CN112835413B (zh) * 2019-11-25 2024-05-31 Oppo广东移动通信有限公司 可穿戴设备的控制方法和装置、电子设备
US11295741B2 (en) 2019-12-05 2022-04-05 Soundhound, Inc. Dynamic wakewords for speech-enabled devices
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
CN113096651A (zh) * 2020-01-07 2021-07-09 北京地平线机器人技术研发有限公司 语音信号处理方法、装置、可读存储介质及电子设备
KR20210089347A (ko) * 2020-01-08 2021-07-16 엘지전자 주식회사 음성 인식 장치 및 음성데이터를 학습하는 방법
JP7482640B2 (ja) * 2020-02-05 2024-05-14 キヤノン株式会社 音声入力装置およびその制御方法ならびにプログラム
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11321048B2 (en) 2020-02-25 2022-05-03 Motorola Solutions, Inc. Method and apparatus for temporary hands-free voice interaction
US11862168B1 (en) * 2020-03-30 2024-01-02 Amazon Technologies, Inc. Speaker disambiguation and transcription from multiple audio feeds
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US20220084504A1 (en) * 2020-09-11 2022-03-17 International Business Machines Corporation Artificial intelligence voice response system for speech impaired users
CN112201239B (zh) * 2020-09-25 2024-05-24 海尔优家智能科技(北京)有限公司 目标设备的确定方法及装置、存储介质、电子装置
US20220139379A1 (en) * 2020-11-02 2022-05-05 Aondevices, Inc. Wake word method to prolong the conversational state between human and a machine in edge devices
US11955112B1 (en) * 2021-01-18 2024-04-09 Amazon Technologies, Inc. Cross-assistant command processing
US11776550B2 (en) * 2021-03-09 2023-10-03 Qualcomm Incorporated Device operation based on dynamic classifier
CN113160821A (zh) * 2021-04-30 2021-07-23 中天智领(北京)科技有限公司 一种基于语音识别的控制方法及装置
CN113568318A (zh) * 2021-05-31 2021-10-29 舌尖科技(北京)有限公司 一种多功能舱及相应计算机可读存储介质
US11893989B2 (en) * 2021-07-13 2024-02-06 Snap Inc. Voice-controlled settings and navigation
US20230099144A1 (en) * 2021-09-30 2023-03-30 Sonos, Inc. Enabling and Disabling Microphones and Voice Assistants
KR20240048966A (ko) * 2022-10-07 2024-04-16 엘지전자 주식회사 인공지능 기기 및 그의 동작 방법
CN117198287A (zh) * 2023-08-30 2023-12-08 南京汇智互娱网络科技有限公司 一种用于智能体的人机交互的语音识别系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140097365A (ko) * 2011-11-17 2014-08-06 마이크로소프트 코포레이션 장치 활성화를 위한 오디오 패턴 정합
KR20160055162A (ko) * 2013-08-26 2016-05-17 삼성전자주식회사 음성 인식을 위한 전자 장치 및 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657059B1 (ko) * 2004-07-19 2006-12-13 삼성전자주식회사 음성인식구동방법
US8099287B2 (en) * 2006-12-05 2012-01-17 Nuance Communications, Inc. Automatically providing a user with substitutes for potentially ambiguous user-defined speech commands
EP2531999A4 (en) * 2010-02-05 2017-03-29 Nuance Communications, Inc. Language context sensitive command system and method
KR101754686B1 (ko) * 2010-07-23 2017-07-06 엘지전자 주식회사 음성인식 공기조화기 및 그 제어방법
US8924219B1 (en) * 2011-09-30 2014-12-30 Google Inc. Multi hotword robust continuous voice command detection in mobile devices
KR20130133629A (ko) * 2012-05-29 2013-12-09 삼성전자주식회사 전자장치에서 음성명령을 실행시키기 위한 장치 및 방법
US10304465B2 (en) * 2012-10-30 2019-05-28 Google Technology Holdings LLC Voice control user interface for low power mode
WO2014084413A1 (ko) * 2012-11-28 2014-06-05 엘지전자 주식회사 가전 기기 구동 장치 및 방법
KR20140073889A (ko) 2012-12-07 2014-06-17 현대자동차주식회사 대화형 음성인식을 위한 호출어 버퍼링 및 필링 인터페이스
KR20140089871A (ko) * 2013-01-07 2014-07-16 삼성전자주식회사 대화형 서버, 그 제어 방법 및 대화형 시스템
EP2816554A3 (en) * 2013-05-28 2015-03-25 Samsung Electronics Co., Ltd Method of executing voice recognition of electronic device and electronic device using the same
US9245527B2 (en) * 2013-10-11 2016-01-26 Apple Inc. Speech recognition wake-up of a handheld portable electronic device
US9147397B2 (en) * 2013-10-29 2015-09-29 Knowles Electronics, Llc VAD detection apparatus and method of operating the same
US9368105B1 (en) * 2014-06-26 2016-06-14 Amazon Technologies, Inc. Preventing false wake word detections with a voice-controlled device
TWI525532B (zh) * 2015-03-30 2016-03-11 Yu-Wei Chen Set the name of the person to wake up the name for voice manipulation
US9472196B1 (en) * 2015-04-22 2016-10-18 Google Inc. Developer voice actions system
US9542941B1 (en) * 2015-10-01 2017-01-10 Lenovo (Singapore) Pte. Ltd. Situationally suspending wakeup word to enable voice command input
US9940929B2 (en) * 2015-12-09 2018-04-10 Lenovo (Singapore) Pte. Ltd. Extending the period of voice recognition
US10210863B2 (en) * 2016-11-02 2019-02-19 Roku, Inc. Reception of audio commands

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140097365A (ko) * 2011-11-17 2014-08-06 마이크로소프트 코포레이션 장치 활성화를 위한 오디오 패턴 정합
KR20160055162A (ko) * 2013-08-26 2016-05-17 삼성전자주식회사 음성 인식을 위한 전자 장치 및 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020226213A1 (ko) * 2019-05-09 2020-11-12 엘지전자 주식회사 음성 인식 기능을 제공하는 인공 지능 기기, 인공 지능 기기의 동작 방법
US11200888B2 (en) 2019-05-09 2021-12-14 Lg Electronics Inc. Artificial intelligence device for providing speech recognition function and method of operating artificial intelligence device
US11250852B2 (en) 2019-06-18 2022-02-15 Lg Electronics Inc. Generation of trigger recognition models for robot
KR20190082689A (ko) * 2019-06-20 2019-07-10 엘지전자 주식회사 음성 인식 방법 및 음성 인식 장치
US11308955B2 (en) 2019-06-20 2022-04-19 Lg Electronics Inc. Method and apparatus for recognizing a voice
WO2021118269A1 (en) * 2019-12-12 2021-06-17 Samsung Electronics Co., Ltd. Electronic device and method for controlling electronic device
US11688396B2 (en) 2019-12-12 2023-06-27 Samsung Electronics Co., Ltd. Electronic device and method for controlling electronic device
WO2023132574A1 (ko) * 2022-01-10 2023-07-13 엘지전자 주식회사 인공 지능 기기

Also Published As

Publication number Publication date
WO2019039915A1 (en) 2019-02-28
CN109427333B (zh) 2024-04-16
KR102411766B1 (ko) 2022-06-22
US20190066680A1 (en) 2019-02-28
EP3447764B1 (en) 2021-06-23
EP3447764A1 (en) 2019-02-27
CN109427333A (zh) 2019-03-05
US10692495B2 (en) 2020-06-23

Similar Documents

Publication Publication Date Title
KR102411766B1 (ko) 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치
US10832674B2 (en) Voice data processing method and electronic device supporting the same
US11430438B2 (en) Electronic device providing response corresponding to user conversation style and emotion and method of operating same
EP3608906B1 (en) System for processing user voice utterance and method for operating same
KR20190109868A (ko) 사운드 데이터를 처리하는 시스템 및 시스템의 제어 방법
KR102406718B1 (ko) 컨텍스트 정보에 기반하여 음성 입력을 수신하는 지속 기간을 결정하는 전자 장치 및 시스템
KR20210016815A (ko) 복수의 지능형 에이전트를 관리하는 전자 장치 및 그의 동작 방법
EP3794809B1 (en) Electronic device for performing task including call in response to user utterance and operation method thereof
KR20200043642A (ko) 동작 상태에 기반하여 선택한 마이크를 이용하여 음성 인식을 수행하는 전자 장치 및 그의 동작 방법
KR20190032026A (ko) 자연어 표현 제공 방법 및 이를 지원하는 전자 장치
CN111640429A (zh) 提供语音识别服务的方法和用于该方法的电子装置
KR20200045851A (ko) 음성 인식 서비스를 제공하는 전자 장치 및 시스템
US20210217406A1 (en) Voice recognition service operating method and electronic device supporting same
US10976997B2 (en) Electronic device outputting hints in an offline state for providing service according to user context
KR102511517B1 (ko) 음성 입력 처리 방법 및 이를 지원하는 전자 장치
KR20200101221A (ko) 사용자 입력 처리 방법 및 이를 지원하는 전자 장치
KR102421745B1 (ko) Tts 모델을 생성하는 시스템 및 전자 장치
US11145290B2 (en) System including electronic device of processing user's speech and method of controlling speech recognition on electronic device
KR20210015234A (ko) 전자 장치, 및 그의 음성 명령에 따른 기능이 실행되도록 제어하는 방법
KR20200042137A (ko) 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법
KR102612835B1 (ko) 전자 장치 및 전자 장치의 기능 실행 방법
KR20210044606A (ko) 웨이크업 모델 생성 방법 및 이를 위한 전자 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right