KR102301880B1 - 전자 장치 및 이의 음성 대화 방법 - Google Patents

전자 장치 및 이의 음성 대화 방법 Download PDF

Info

Publication number
KR102301880B1
KR102301880B1 KR1020140138548A KR20140138548A KR102301880B1 KR 102301880 B1 KR102301880 B1 KR 102301880B1 KR 1020140138548 A KR1020140138548 A KR 1020140138548A KR 20140138548 A KR20140138548 A KR 20140138548A KR 102301880 B1 KR102301880 B1 KR 102301880B1
Authority
KR
South Korea
Prior art keywords
information
text block
electronic device
module
user
Prior art date
Application number
KR1020140138548A
Other languages
English (en)
Other versions
KR20160043836A (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 KR1020140138548A priority Critical patent/KR102301880B1/ko
Priority to PCT/KR2015/010855 priority patent/WO2016060480A1/en
Priority to CN201580055978.0A priority patent/CN107077464B/zh
Priority to EP15189719.6A priority patent/EP3010015B1/en
Priority to US14/883,489 priority patent/US10546587B2/en
Publication of KR20160043836A publication Critical patent/KR20160043836A/ko
Application granted granted Critical
Publication of KR102301880B1 publication Critical patent/KR102301880B1/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

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

Abstract

본 기술은 전자장치를 동작하는 방법에 있어서, 디스플레이 및 음성 수신 장치를 포함하는 전자장치에 의하여, 상기 음성 수신 장치를 통하여, 스피치 요소들 (speech elements)의 시퀀스를 수신하는 동작; 상기 전자장치에 의하여, 상기 스피치 요소들 중 제 1 스피치 요소에 적어도 일부에 기반한 제 1 정보를 상기 디스플레이에 표시하는 동작; 및 상기 전자장치에 의하여, 상기 스피치 요소들 중 제 1 스피치 요소보다 늦게 수신된 제 2 스피치 요소에 적어도 일부 기반하고, 상기 제 1 정보와 상이한 제 2 정보를 상기 디스플레이에 표시하는 동작을 포함하는 것을 특징으로 하는 방법을 개시한다. 다만, 상기 실시 예에 한정되지 않으며 다른 실시 예가 가능하다.

Description

전자 장치 및 이의 음성 대화 방법{ELECTRONIC APPARATUS AND METHOD FOR SPOKEN DIALOG THEREOF}
본 개시는 전자 장치를 이용한 음성 대화 기술에 관한 것이다.
컴퓨터의 발달로 전자 장치가 인간의 실생활에 깊숙이 연관되고 있다. 전자 장치는 인간으로부터 단순 명령을 수신하는 것뿐만 아니라, 더 나아가 인간의 언어를 이해할 수 있는 기능을 갖춰가고 있다. 전자 장치가 인간의 문장을 이해, 생성 및 분석하는 기술을 자연어 처리 기술(Natural Language Processing) 이라고 한다.
스마트 폰의 발달로 인간과 전자 장치간의 인터렉션(interaction)이 더욱 중요한 화두로 떠올랐고, 요즘 각광받는 기술이 바로 음성 대화 기능이다. 음성 대화 기능은 사용자가 전자 장치의 인터페이스를 통하여 음성 입력을 제공하면 전자 장치가 상기 음성 입력에 포함된 사용자 의도를 파악하여 그에 대한 응답을 다시 인터페이스를 통하여 제공하는 기능이다. 음성 입력을 텍스트로 인식한 후 인식된 텍스트로부터 사용자 의도를 파악하는 데에 상기 자연어 처리 기술이 적용될 수 있다.
컴퓨터가 자연어 처리를 하기 위해서는 완성된 문장이 제공되어야만 했다. 음성 대화 기능을 실행함에 있어서도 사용자 음성 입력을 텍스트 형식으로 변환하여 문장이 생성된 후에야 비로소 완성된 문장을 가지고 사용자 의도를 파악할 수 있었다.
이와 같이 자연어 처리는 문장이 완성된 경우 완성된 문장을 가지고 수행되기 때문에, 문장이 모두 제공될 때까지 대기하여야 하는 시간이 발생할 수 있다. 그리고, 문장이 길거나 복잡한 경우 한꺼번에 한 문장을 분석 또는 처리해야 때문에 자연어 처리 수행 시간이 길어질 수도 있다. 사용자가 음성 대화 기능 사용하는 경우, 이러한 시간 지연이 발생할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치 및 이의 음성 대화 방법을 제공할 수 있다.
본 개시의 한 실시 예에 따른 전자장치를 동작하는 방법은, 디스플레이 및 음성 수신 장치를 포함하는 전자장치에 의하여, 상기 음성 수신 장치를 통하여, 스피치 요소들 (speech elements)의 시퀀스를 수신하는 동작; 상기 전자장치에 의하여, 상기 스피치 요소들 중 제 1 스피치 요소에 적어도 일부에 기반한 제 1 정보를 상기 디스플레이에 표시하는 동작; 및 상기 전자장치에 의하여, 상기 스피치 요소들 중 제 1 스피치 요소보다 늦게 수신된 제 2 스피치 요소에 적어도 일부 기반하고, 상기 제 1 정보와 상이한 제 2 정보를 상기 디스플레이에 표시하는 동작을 포함할 수 있다.
본 개시의 한 실시 예에 의한 음성 대화 기술은, 음성 입력으로 제공되는 문장을 수신되는 블록 단위로 처리하여 자연어 처리에 소요되는 시간을 감축시킬 수 있기 때문에, 응답을 제공하는 시간을 효과적으로 단축할 수 있다.
본 개시의 한 실시 예에 의한 음성 대화 기술은, 음성 입력으로 제공되는 문장을 수신되는 블록 단위로 처리할 수 있기 때문에, 사용자에게 음성 입력에 대한 중간 응답을 제공할 수 있다.
또한, 본 개시의 한 실시 예에 의한 음성 대화 기술은, 사용자의 환경을 고려하여 출력 모드를 결정함으로써, 사용자의 음성 입력에 대응하는 응답을 제공하는 환경을 개선할 수 있다.
도 1은 본 개시의 한 실시 예에 따른 전자 장치를 포함하는 네트워크 환경을 도시하는 도면이다.
도 2는 본 개시의 한 실시 예에 따른 음성 대화 시스템을 나타내는 블록도를 도시한다.
도 3은 본 개시의 한 실시 예에 따른 음성 대화 인터페이스 모듈을 나타내는 블록도를 도시한다.
도 4는 본 개시의 한 실시 예에 따른 패턴 감지 모듈의 사용자 음성 입력의 패턴을 감지하여 처리하는 방법을 나타내는 순서도를 도시한다.
도 5는 본 개시의 한 실시 예에 따른 자연어 처리 모듈의 자연어 처리 방법을 나타내는 순서도를 도시한다.
도 6은 본 개시의 한 실시 예에 따른 자연어 처리 모듈의 자연어 처리 방법을 나타내는 순서도를 도시한다.
도 7은 본 개시의 한 실시 예에 따른 자연어 처리 모듈에 의한 자연어 처리의 예시를 나타내는 예시도를 도시한다.
도 8은 본 개시의 한 실시 예에 따른 자연어 처리 모듈에 의한 자연어 처리의 예시를 나타내는 예시도를 도시한다.
도 9는 본 개시의 한 실시 예에 따른 음성 대화 시스템의 동작을 나타내는 흐름도를 도시한다.
도 10a 내지 도 10d는 본 개시의 다양한 실시 예에 따른 전자 장치의 음성 대화 방법을 나타내는 화면 예시도를 도시한다.
도 11a 및 도 11b는 본 개시의 다양한 실시 예에 따른 전자 장치의 음성 대화 방법을 나타내는 화면 예시도를 도시한다.
도 12a 및 도 12b는 본 개시의 다양한 실시 예에 따른 전자 장치의 음성 입력 수신 개시 및 종료 동작을 나타내는 순서도를 도시한다.
도 13은 본 개시의 한 실시 예에 따른 전자 장치의 응답 출력 모드 결정 동작을 나타내는 순서도를 도시한다.
도 14는 본 개시의 한 실시 예에 따른 전자 장치의 구성을 개략적으로 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 본 개시(present disclosure)를 설명한다. 본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용되었다.
본 개시 가운데 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 개시에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 개시 가운데 "제 1, " "제2, " "첫째," 또는 "둘째," 등의 표현들이 본 개시의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 개시의 한 실시 예에 따른 자연어 처리 기술은 인간의 언어를 처리하여 사용자와 인터렉션을 수행하는 다양한 시스템에 적용될 수 있고, 본 실시 예에서는 전자 장치를 이용한 음성 대화 시스템에 적용될 수 있다.
본 개시의 한 실시 예에 따른 전자 장치는 통신 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smartwatch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 또는 산업용 또는 가정용 로봇 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 개시의 다양한 실시 예에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 개시의 다양한 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
도 1은 본 개시의 실시 예에 따른 전자 장치(100)를 포함하는 네트워크 환경(101)을 도시한다.
도 1을 참조하면, 전자 장치(100)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(140), 디스플레이(150), 통신 인터페이스(160) 및 음성 대화 인터페이스 모듈(170)을 포함할 수 있다.
버스(110)는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
프로세서(120)는 버스(110)를 통해 전술한 다른 구성요소들(예: 메모리(130), 입출력 인터페이스(140), 디스플레이(150), 통신 인터페이스(160) 및 음성 대화 인터페이스 모듈(170))로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는 프로세서(120) 또는 다른 구성요소들(예: 입출력 인터페이스(140), 디스플레이(150), 통신 인터페이스(160) 및 음성 대화 인터페이스 모듈(170))로부터 수신되거나 프로세서(120) 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 메모리(130)는 커널(131), 미들웨어(132), 애플리케이션 프로그래밍 인터페이스(API: application programming interface, 133) 또는 애플리케이션(134) 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
커널(131)은 나머지 다른 프로그래밍 모듈들 미들웨어(132), API(133) 또는 애플리케이션(134)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 (110), 프로세서(120) 또는 메모리(130))을 제어 또는 관리할 수 있다. 또한, 커널(131)은 미들웨어(132), API(133) 또는 애플리케이션(134)에서 음성 대화 인터페이스(100)의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(132)는 API(133) 또는 애플리케이션(134)이 커널(131)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(132)는 애플리케이션(134)으로부터 수신된 작업 요청들과 관련하여, 예를 들면, 애플리케이션(134) 중 적어도 하나의 애플리케이션에 전자 장치(100)의 시스템 리소스(예: 버스(110), 프로세서(120) 또는 메모리(130))를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
API(133)는 애플리케이션(134)이 커널(131) 또는 미들웨어(132)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
다양한 실시 예에 따르면, 애플리케이션(134)은 SMS/MMS 애플리케이션, 이메일 애플리케이션, 달력 애플리케이션, 알람 애플리케이션, 건강 관리(health care) 애플리케이션(예: 운동량 또는 혈당 등을 측정하는 어플리케이션) 또는 환경 정보 애플리케이션(예: 기압, 습도 또는 온도 정보 등을 제공하는 애플리케이션) 등을 포함할 수 있다. 추가적으로 또는 대체적으로, 애플리케이션(134)은 전자 장치(100)와 적어도 하나의 외부 전자 장치(예: 전자 장치 104) 사이의 정보 교환과 관련된 애플리케이션일 수 있다. 정보 교환과 관련된 애플리케이션은, 예를 들어, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 애플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 애플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 애플리케이션은 전자 장치(100)의 다른 애플리케이션(예: SMS/MMS 애플리케이션, 이메일 애플리케이션, 건강 관리 애플리케이션 또는 환경 정보 애플리케이션 등)에서 발생한 알림 정보를 외부 전자 장치(예: 전자 장치 104)로 전달하는 기능을 포함할 수 있다. 추가적으로 또는 대체적으로, 알림 전달 애플리케이션은, 예를 들면, 외부 전자 장치(예: 전자 장치 104)로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 애플리케이션은, 예를 들면, 음성 대화 인터페이스(100)와 통신하는 외부 전자 장치(예: 전자 장치 104)의 적어도 일부에 대한 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴온/턴오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제 또는 업데이트)할 수 있다.
다양한 실시 예에 따르면, 애플리케이션(134)은 외부 전자 장치(예: 전자 장치 104)의 속성(예: 전자 장치의 종류)에 따라 지정된 애플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 애플리케이션(134)은 음악 재생과 관련된 애플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 애플리케이션(134)은 건강 관리와 관련된 애플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 애플리케이션(134)은 전자 장치(100)에 지정된 애플리케이션 또는 외부 전자 장치(예: 서버 106 또는 전자 장치 104)로부터 수신된 애플리케이션 중 적어도 하나를 포함할 수 있다.
입출력 인터페이스(140)는, 입출력 장치(예: 센서, 키보드 또는 터치 스크린)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 버스(110)를 통해 프로세서(120), 메모리(130), 통신 인터페이스(160), 또는 음성 대화 인터페이스 모듈(170)에 전달할 수 있다. 예를 들면, 입출력 인터페이스(140)는 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 프로세서(120)로 제공할 수 있다. 또한, 입출력 인터페이스(140)는, 예를 들면, 버스(110)를 통해 프로세서(120), 메모리(130), 통신 인터페이스(160), 또는 음성 대화 인터페이스 모듈(170)로부터 수신된 명령 또는 데이터를 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 예를 들면, 입출력 인터페이스(140)는 프로세서(120)를 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다.
디스플레이(150)는 사용자에게 각종 정보(예: 멀티미디어 데이터 또는 텍스트 데이터 등)을 표시할 수 있다.
통신 인터페이스(160)는 전자 장치(100)와 외부 장치(예: 전자 장치 104 또는 서버 106) 간의 통신을 연결할 수 있다. 예를 들면, 통신 인터페이스(160)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치와 통신할 수 있다. 무선 통신은, 예를 들어, Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication), GPS(global positioning system) 또는 cellular 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면, 네트워크(162)는 통신 네트워크(telecommunications network)일 수 있다. 통신 네트워크 는 컴퓨터 네트워크(computer network), 인터넷(internet), 사물 인터넷(internet of things) 또는 전화망(telephone network) 중 적어도 하나를 포함할 수 있다. 한 실시 예에 따르면, 전자 장치(100)와 외부 장치 간의 통신을 위한 프로토콜(예: transport layer protocol, data link layer protocol 또는 physical layer protocol))은 애플리케이션(134), 애플리케이션 프로그래밍 인터페이스(133), 미들웨어(132), 커널(131) 또는 통신 인터페이스(160) 중 적어도 하나에서 지원될 수 있다.
음성 대화 인터페이스 모듈(170)은, 다른 구성요소들(예: 프로세서(120), 메모리(130), 입출력 인터페이스(140), 또는 통신 인터페이스(160))로부터 획득된 정보 중 적어도 일부를 처리하고, 이를 다양한 방법으로 사용자에게 제공할 수 있다. 예컨대, 음성 대화 인터페이스 모듈(170)은, 사용자로부터 음성 입력을 수신하고 음성 입력의 관련 정보를 서버(106)로 전송하며, 서버로(106)부터 음성 입력에 대한 응답을 수신하여 사용자에게 제공할 수 있다.
한 실시 예에 따르면, 음성 대화 인터페이스 모듈(170)은, 사용자가 제공하는 음성 입력을 수신하여 이에 대응하는 음성 신호 또는 해당 음성 신호를 변환한 텍스트 블록을 스트리밍 방식으로 서버(106)로 전송할 수 있다. 서버(106)는 스트리밍 방식으로 수신하는 음성 신호 또는 변환된 텍스트 블록을 이용하여 사용자 의도를 추측할 수 있고, 추측된 사용자 의도에 기반하여 중간 응답을 생성할 수 있다. 서버(106)는 생성된 중간 응답을 전자 장치(100)로 전송할 수 있다. 음성 대화 인터페이스 모듈(170)은 서버(106)로부터 수신한 중간 응답을 실행하여 출력할 수 있다. 서버(106)는 동일한 문장 내에서 후속으로 제공되는 음성 신호 또는 변환된 텍스트 블록에 기반하여 중간 응답을 수정할 수 있다. 음성 대화 인터페이스 모듈(170)은 수정된 중간 응답을 서버(106)로부터 수신하고 이를 실행하여 출력할 수 있다. 서버(106)는 추측된 사용자 의도에 기반하여 해당 문장을 완성하는 음성 신호 또는 변환된 텍스트 블록을 이용하여 사용자 의도를 결정할 수 있고, 결정된 사용자 의도에 기반하여 최종 응답을 생성할 수 있다. 서버(106)는 생성된 최종 응답을 전자 장치(100)로 전송할 수 있다. 음성 대화 인터페이스 모듈(170)은 서버(106)로부터 수신한 최종 응답을 실행하여 출력할 수 있다. 서버(106)는 완성된 문장을 보충하는 음성 신호 또는 변환된 텍스트 블록에 기반하여 최종 응답을 수정할 수 있다. 음성 대화 인터페이스 모듈(170)은 수정된 최종 응답을 서버(106)로부터 수신하고, 이를 실행하여 출력할 수 있다.
도 2는 본 개시의 한 실시 예에 따른 음성 대화 시스템(200)의 구성을 개략적으로 나타낸 도면이다. 음성 대화 시스템(200)은, 예를 들면, 전자 장치(100) 및 서버(106)를 포함할 수 있다. 전자 장치(100)가 사용자로부터 음성 입력을 수신하여 서버(106)로 전송하면 서버(106)가 수신한 음성 입력이 포함하는 사용자 의도에 대한 응답을 전자 장치(100)로 전송하고, 전자 장치(100)가 응답을 실행하여 사용자에게 제공할 수 있다.
전자 장치(100)는, 예컨대 앞서 설명한 바와 같이, 음성 대화 인터페이스 모듈(170)을 포함할 수 있다. 서버(106)는, 예컨대, 음성 인식 모듈(210), 자연어 처리 모듈(240), 응답 모듈(250) 및 대화 데이터베이스(260)를 포함할 수 있다. 뿐만 아니라, 다양한 실시 예에 따르면, 전자 장치(100)는 음성 대화 인터페이스 모듈(170)뿐만 아니라, 음성 인식 모듈(210), 자연어 처리 모듈(240), 응답 모듈(250) 및 대화 데이터베이스(260) 중 적어도 하나를 더 포함할 수 있다.
한 실시 예에 따르면, 전자 장치(100)에 포함된 음성 대화 인터페이스 모듈(170)은, 사용자의 음성 입력을 수신하여 음성 신호로 음성 인식 모듈(210)에 전달할 수 있다. 음성 대화 인터페이스 모듈(170)는 음성 신호를 연속적으로 음성 인식 모듈(210)로 전달할 수 있다. 예컨대, 음성 대화 인터페이스 모듈(170)는 음성 신호를 스트리밍 방식으로 음성 인식 모듈(210)로 전달할 수 있다. 다른 실시 예에 따르면, 음성 대화 인터페이스 모듈(170)은 자체적으로 음성 신호를 텍스트 정보로 변환할 수 있다. 이 경우, 음성 대화 인터페이스 모듈(170)은 음성 신호가 변환된 적어도 하나의 텍스트 블록을 연속적으로 서버(200)로 전송할 수 있다. 음성 대화 인터페이스 모듈(170)이 음성 신호를 텍스트 블록으로 변환하는 방법은 아래에서 설명될 음성 인식 모듈(210)의 동작과 동일 할 수 있다.
한 실시 예에 따르면, 음성 대화 인터페이스 모듈(170)은 응답 모듈(250)로부터 사용자의 음성 입력에 대응하는 중간 응답 또는 최종 응답을 수신하고, 이를 각각 실행하여 사용자에게 제공할 수 있다. 음성 대화 인터페이스 모듈(170)는 음성 인식 모듈(210) 및 응답 모듈(250)과 데이터를 주고받을 수 있다.
한 실시 예에 따르면, 서버(200)에 포함된 음성 인식 모듈(210)은, 전자 장치(100)로부터 음성 신호를 수신한 경우 수신한 음성 신호를 텍스트 정보로 변환할 수 있다. 음성 인식 모듈(210)은 수신하는 음성 신호를 스트리밍 방식으로 텍스트 정보로 변환할 수 있다. 스트리밍 방식의 음성 인식은 임의의 어쿠스틱(acoustic) 블록 단위로 수행될 수 있다. 예컨대, 음성 인식은 어쿠스틱 모델(acoustic model)을 이용하여 음소(phoneme)의 특징에 따라 음성 신호로부터 음소 정보를 예측하고, 랭귀지 모델(language model)을 이용한 텍스트 예측 결과와 합하여 문법적으로 적합한 텍스트를 완성하는 동작을 포함할 수 있다. 완성된 텍스트는 복수의 텍스트 블록을 포함할 수 있고, 상기 텍스트 블록은 적어도 하나의 단어의 집합으로 볼 수 있다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 음성 인식 모듈(210) 또는 전자 장치(100)로부터 스트리밍 방식으로 수신되는 적어도 하나 이상의 텍스트 블록 내에 포함된 텍스트들을 이용하여 의미를 파악하는 동작을 수행할 수 있다. 자연어 처리 모듈(240)은 적어도 하나 이상의 텍스트 블록을 포함하는 문장의 의미를 파악하는 동작을 수행할 수 있다. 자연어 처리 모듈(240)은 수신되는 일부 텍스트 블록에 포함된 키워드를 이용하여 사용자 의도를 추측할 수 있다. 사용자 의도를 추측하는 동작은, 예컨대 문장의 유형이나 주제를 판단하는 동작을 포함할 수 있다. 자연어 처리 모듈(240)은 추측되는 사용자 의도를 응답 모듈(250)로 전송할 수 있다. 자연어 처리 모듈(240)은 연속적으로 수신되는 해당 문장의 텍스트 블록에 포함된 키워드를 이용하여 해당 문장의 의미를 파악할 수 있다. 자연어 처리 모듈(240)은 해당 문장의 의미를 파악하기 위하여, 수신된 해당 문장을 구성하는 텍스트 블록에 포함된 텍스트들을 고려할 수 있다. 자연어 처리 모듈(240)이 문장의 의미를 파악했다는 것은, 추측된 사용자 의도를 기반으로 "사용자 의도"를 결정했다는 뜻이다. 이하에서는, 자연어 처리 모듈(240)이 문장에 대한 의미 파악을 완성한 경우 "사용자 의도가 결정"되었다라는 표현으로 설명하기로 한다. 자연어 처리 모듈(240)은 결정된 사용자 의도를 응답 모듈(250)로 전송할 수 있다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 추측되는 사용자 의도에 기반하여, 사용자 의도를 결정하기 위해 필요한 키워드의 범위를 예상할 수 있다. 자연어 처리 모듈(240)은 연속적으로 수신되는 텍스트 블록 내에 예상된 키워드의 범위에 해당하는 키워드가 포함되어 있는지를 확인할 수 있다. 자연어 처리 모듈(240)은 연속적으로 수신되는 텍스트 블록 내에 예상된 키워드의 범위에 해당하는 키워드가 포함되어 있는지 확인하고, 확인된 키워드를 이용하여 사용자 의도를 결정할 수 있다. 자연어 처리 모듈(240)은 사용자 의도를 결정하기 위하여, 수신된 해당 문장을 구성하는 텍스트 블록에 포함된 텍스트들을 고려할 수 있다.
한 실시 예에 따르면, 응답 모듈(250)은 자연어 처리 모듈(240)에서 추측된 사용자 의도에 대응하는 중간 응답 및 결정된 사용자 의도에 대응하는 최종 응답을 생성할 수 있다. 대화 데이터베이스(260)는 사용자 의도에 대응하는 응답과 관련한 데이터베이스를 저장할 수 있다. 응답 모듈(250)은 대화 데이터베이스(260)로부터 추측된 사용자 의도에 대응하는 중간 응답을 검색하여 제공할 수 있고, 결정된 사용자 의도에 대응하는 최종 응답을 검색하여 제공할 수 있다. 상기 중간 응답은 예컨대 추측된 사용자 의도와 관련된 적어도 하나의 어플리케이션 정보 제공일 수 있다. 상기 최종 응답은 예컨대 결정된 사용자 의도에 대한 단순 대답과 같은 단순 정보 제공일 수도 있고, 어플리케이션 기능 실행 정보, 기타 편집 또는 설정 명령 정보 제공일 수도 있다. 응답 모듈(250)이 제공하는 응답은 상기 예시에 한정되는 것은 아니다. 전자 장치(100)의 음성 대화 인터페이스 모듈(170)은 응답 모듈(250)로부터 중간 응답 및 최종 응답을 수신하여 실행할 수 있다.
음성 대화 시스템(200)은, 예를 들면, 패턴 감지 모듈(220) 및 파라미터 데이터베이스(230)를 더 포함할 수 있다.
한 실시 예에 따르면, 패턴 감지 모듈(220)은 사용자의 음성 입력 패턴을 감지하여 다양한 파라미터를 생성할 수 있다. 패턴 감지 모듈(220)은 사용자 음성 입력에 대한 음성 신호 또는 변환된 텍스트 정보를 이용하여 사용자의 음성 입력 패턴을 감지할 수 있다. 생성된 상기 파라미터 중 한 예시는 발화 속도를 나타낼 수 있다. 발화 속도는 예컨대 초당 평균 단어의 수, 문장 당 평균 단어의 수, 문장 내 평균 하위 문장의 수, 하위 문장 당 평균 단어의 수 등을 고려하여 측정될 수 있다. 상기 파라미터 중 한 예시는 또한 일반적으로 구사하는 단어 또는 문장의 패턴을 나타낼 수 있다. 상기 파라미터 중 한 예시는 스피킹 도중 휴지(pause) 패턴을 나타낼 수 있다. 휴지 패턴은 예컨대 단어 사의의 짧은 휴지 패턴, 하위 문장 사이의 긴 휴지 패턴 등을 포함할 수 있다.
파라미터는 한 실시 예에 따르면 파라미터 데이터베이스(230)에 저장될 수 있다. 사용자와 음성 대화 시스템(200)간의 음성 대화가 수행될 때마다 파라미터는 갱신될 수 있다.
본 개시의 다양한 실시 예에 따르면, 파라미터로 저장된 사용자의 음성 입력 패턴으로부터 음성 대화 시스템(200)은 수신하는 사용자의 음성 입력 패턴을 미리 예측할 수 있다. 예컨대, 자연어 처리 모듈(240)은 파라미터 정보를 이용하여 사용자가 문장을 끝마친 것인지, 아니면 중간에 잠시 휴지를 갖는 것인지 판단할 수 있다. 예컨대, 수신하는 사용자의 음성 입력의 휴지기가 저장된 음성 입력 패턴과 비교하여 상대적으로 긴 경우 사용자가 문장을 종료한 것으로 판단할 수 있고, 상대적으로 짧은 경우 잠시 휴지를 갖는 것으로 판단할 수 있다.
본 개시의 다양한 실시 예에 따르면, 파라미터로 저장된 사용자의 음성 입력 패턴으로부터 음성 대화 시스템(200)은 수신하는 사용자의 음성 입력의 오류를 수정할 수 있다. 예컨대, 자연어 처리 모듈(240)은 사용자가 일반적으로 구사하는 단어 또는 문장의 패턴과 관련한 파라미터 정보를 이용하여, 사용자가 제공한 음성 입력에 오류가 있는지 판단할 수 있다. 예컨대, bus stop을 bus stap과 같이 잘못 입력한 경우가 있을 수 있다. 한 실시 예에 따르면, 자연어 처리 모듈(240)은 오류가 발견되는 경우 파라미터를 이용하여 오류를 자동으로 수정할 수 있다. 다른 실시 예에 따르면, 자연어 처리 모듈(240)은 오류가 발견되는 경우 다음에 수신되는 단어에 오류가 없다면, 오류가 있는 단어를 다음에 수신된 단어로 수정할 수 있다.
도 3은 본 개시의 한 실시 예에 따른 전자 장치(100)를 나타내는 블록도를 도시한다.
전자 장치(100)는, 예를 들면, 오디오 처리부(310), 센서부(320), 카메라(330), GPS(340), 출력부(350) 및 제어부(360)를 포함할 수 있다.
한 실시 예에 따르면, 오디오 처리부(310)는 스피커(SPK) 및 마이크(MIC)와 결합하여 음성 수신, 음성 녹음, 디지털 레코딩(recording) 또는 통화를 위한 음성 데이터의 입력 및 출력을 수행할 수 있다. 오디오 처리부(310)는 제어부(360)로부터 오디오 신호를 수신하고, 수신한 오디오 신호를 아날로그로 D/A 변환하고 증폭한 후 스피커(SPK)로 출력할 수 있다. 스피커(SPK)는 오디오 처리부(310)로부터 수신한 오디오 신호를 음파(sound wave)로 변환하여 출력할 수 있다. 응답 모듈(250)로부터 수신한 중간 응답 또는 최종 응답이 실행되는 경우 스피커(SPK)를 통하여 사용자에게 청각적인 실행 결과를 제공할 수 있다. 마이크(MIC)는 사람이나 기타 소리원(sound source)들로부터 전달된 음파를 오디오 신호로 변환할 수 있다. 마이크(MIC)는 음성 대화 기능 실행 시, 사용자로부터 음성 입력을 수신하는 역할을 수행할 수 있다. 오디오 처리부(310)는 마이크(MIC)으로부터 수신한 음성 신호를 디지털로 A/D 변환한 후 제어부(360)로 전달할 수 있다. 마이크(MIC)를 통하여 사용자의 음성 대화 기능 실행 시 음성 입력뿐만 아니라 외부 환경의 잡음도 함께 수신할 수 있다. 예컨대, 오디오 처리부(310)는 도 1의 입출력 인터페이스(140)을 포함할 수 있다.
한 실시 예에 따르면, 센서부(320)는 사용자의 전자 장치(100)에 대한 위치를 감지할 수 있다. 한 예로, 센서부는(320) 사용자가 음성을 입력하기 위한 전자 장치(100)를 얼굴 또는 입에 가까이 가져가는 동작을 감지할 수 있다. 센서부(320)는 사용자가 음성 입력을 중단하기 위한 전자 장치(100)를 얼굴 또는 입에서 떨어뜨리는 동작을 감지할 수 있다. 센서부(320)는 예컨대, 자이로 센서 또는 근접 센서를 포함할 수 있다.
한 실시 예에 따르면, 카메라(330)는 이미지 또는 영상을 포착하는 기능을 수행할 수 있다. 카메라(330)는 사용자가 음성을 입력하기 위하여 전자 장치(100)를 얼굴 또는 입에 가까이 가져가는 경우 획득하는 영상으로부터 사용자의 얼굴 또는 입을 감지할 수 있고, 이후 음성 입력을 중단하기 위하여 전자 장치(100)를 떨어뜨리면 획득하는 영상으로부터 더 이상 사용자의 얼굴 또는 입을 감지할 수 없다.
한 실시 예에 따르면, GPS(340)는 전자 장치(100)의 위치를 추적하는 기능을 수행할 수 있다. 따라서 GPS(340)를 통하여 전자 장치(100)를 소지하는 사용자의 위치 또는 이동을 감지할 수 있다.
한 실시 예에 따르면, 표시부(350)는 제어부(360)의 제어 하에 다양한 정보를 표시할 수 있다. 표시부(350)는 음성 대화 기능이 실행되면 이를 나타내는 알림을 표시할 수 있고, 사용자의 음성 입력이 수신되면 이를 나타내는 알림을 표시할 수 있다. 표시부(350)는 사용자의 음성 입력을 수신하는 경우, 순차적으로 수신되는 음성 입력에 대응하는 텍스트들을 연속적으로 출력할 수 있다. 표시부(350)는 응답 모듈(250)로부터 수신한 중간 응답 또는 최종 응답이 실행되는 경우 사용자에게 시각적인 실행 결과를 제공할 수 있다. 표시부(350)는 액정 표시 장치(liquid crystal display: LCD), AMOLED(active matrix organic light emitted diode), 플랙서블 디스플레이(flexible display) 또는 투명 디스플레이로 이루어질 수 있다. 예컨대, 표시부(350)는 도 1의 디스플레이(150)를 포함할 수 있다.
제어부(360)는 음성 대화 기능을 전반적으로 제어하는 기능을 수행할 수 있다. 예컨대, 제어부(360)는 도 1의 프로세서(120)와 동시에 또는 독립적으로 동작할 수 있다. 제어부(360)는 사용자로부터 연속적으로 수신하는 음성 입력을 순차적으로 음성 신호로 변환할 수 있다. 한 실시 예에 따르면, 제어부(360)는 생성되는 음성 신호를 순차적으로 텍스트 블록으로 변환할 수 있다. 제어부(360)는 음성 신호 또는 변환된 텍스트 블록을 서버(106)로 전송할 수 있다. 제어부(360)는 서버(106)로부터 수신하는 중간 응답 및 최종 응답을 실행할 수 있다.
제어부(360)는, 예컨대 음성 입력 판단부(361), 음성 인식부(362), 응답 출력 모드 결정부(363) 및 응답 출력 제어부(364)를 포함할 수 있다.
한 실시 예에 따르면, 음성 입력 판단부(361)는 음성 입력 수신을 개시하는지 여부 또는 음성 입력 수신을 종료하는지 여부를 판단할 수 있다. 예컨대, 음성 입력 판단부(361)는 센서부(320)가 전자 장치(100)를 얼굴 또는 입에 가까이 가져가는 동작을 감지하면 음성 입력 수신을 개시할 수 있다. 제어부(361)는 음성 입력 수신 개시와 함께 음성 대화 기능을 실행시킬 수 있다. 센서부(320)가 사용자가 전자 장치(100)를 얼굴 또는 입에서 떨어뜨리는 동작을 감지하면 음성 입력 수신을 종료할 수 있다. 또한, 음성 입력 판단부(361)는 카메라(330)가 획득하는 영상으로부터 사용자의 얼굴 또는 입을 감지하면 음성 입력 수신을 개시할 수 있다. 제어부(360)는 음성 입력 수신 개시에 기반하여(예: 음성 입력 수신 개시와 함께) 음성 대화 기능을 실행시킬 수 있다. 음성 입력 판단부(361)는 카메라(330)가 획득하는 영상으로부터 더 이상 사용자의 얼굴 또는 입이 감지되지 않으면 음성 입력 수신을 종료할 수 있다. 음성 입력 판단부(361)는 입력부(미도시)를 통하여 음성 입력 수신 개시 입력을 수신하는 경우 음성 입력 수신을 개시할 수 있고, 음성 입력 수신 종료 입력을 수신하는 경우 음성 입력 수신을 종료할 수 있다. 한 실시예에 따르면, 음성 입력을 수신하는 과정에서 소정 시간 이상 사용자가 휴지하는 경우 음성 입력이 종료된 것으로 판단될 수 있다.
한 실시 예에 따르면, 음성 인식부(362)는 사용자 음성 입력으로부터 순차적으로 생성된 음성 신호를 텍스트 정보로 변환할 수 있다. 음성 인식부(362)는 생성되는 음성 신호를 스트리밍 방식으로 텍스트 블록으로 변환할 수 있다. 음성 인식부(362)의 동작은 도 2에서 설명한 음성 인식 모듈(210)의 동작과 실질적으로 동일할 수 있다. 제어부(360)는 음성 신호 또는 변환된 텍스트 블록을 스트리밍 방식으로 서버(106)로 전송할 수 있다.
한 실시 예에 따르면, 응답 출력 모드 결정부(363)는 전자 장치(100)가 응답 모듈(250)로부터 중간 응답 또는 최종 응답을 수신한 경우, 응답을 실행하여 출력함에 있어 사용자의 현재 상황에 적합한 출력 모드를 결정할 수 있다. 예컨대, 응답 출력 모드 결정부(363)는 마이크(MIC)를 통하여 소정 레벨 이상의 잡음이 수신되는 경우에는, 표시부(350)를 통하여 응답 실행 결과를 비디오 데이터로 출력할 수 있다. 또한, GPS(340)를 통하여 사용자가 소정 속도 이상으로 이동하고 있는 것으로 판단되는 경우에는, 스피커(SPK)를 통하여 응답 실행 결과를 오디오 데이터로 출력할 수 있다. 응답 출력 모드 결정부(363)의 동작 예시는 아래 도 13에서 다시 설명하기로 한다.
한 실시 예에 따르면, 응답 출력 제어부(364)는 응답 모듈(250)로부터 수신한 중간 응답 및 최종 응답을 실행하여 출력할 수 있다. 예컨대, 중간 응답이 추측된 사용자 의도와 관련된 적어도 하나의 어플리케이션 정보인 경우, 적어도 하나의 어플리케이션 정보를 예컨대 아이콘으로 표시부(350)를 통해 제공할 수 있다. 응답 출력 제어부(340)는 응답 모듈(250)로부터 수정된 중간 응답을 수신하는 경우, 예컨대 관련 어플리케이션 정보가 좀 더 구체화된 경우, 구체화된 어플리케이션 정보를 아이콘으로 표시부(350)를 통해 제공할 수 있다. 응답 출력 제어부(364)는 최종 응답이 특정 어플리케이션의 기능 실행과 관련된 정보인 경우, 해당 어플리케이션의 기능을 실행한 결과를 표시부(350) 또는 스피커(SPK) 중 적어도 하나를 통해 제공할 수 있다. 응답 출력 제어부(364)는 서버(106)로부터 수정된 최종 응답을 수신한 경우, 수정된 최종 응답을 실행한 결과를 출력할 수 있다. 응답 출력 제어부(364)는 예컨대, 새로운 어플리케이션의 기능을 실행한 결과를 제공할 수도 있고, 최종 응답에 대응하여 실행되던 어플리케이션의 기능을 수정된 최종 응답에 따라 재실행한 결과를 제공할 수도 있다. 응답 출력 제어부(364)의 동작 예시는 아래 도 10a 내지 도 10d와 도 11a 및 도 11b에서 다시 설명하기로 한다.
본 발명의 실시 예에 따른 전자장치는, 디스플레이; 음성 수신 장치; 통신 모듈; 메모리; 및 프로세서를 포함하며, 상기 메모리는, 실행 시에, 전자장치가, 상기 음성 수신 장치를 통하여, 스피치 요소들 (speech elements)들의 시퀀스를 수신하고, 상기 스피치 요소들 중 제 1 스피치 요소에 적어도 일부에 기반한 제 1 정보를 상기 디스플레이에 표시하며, 상기 스피치 요소들 중 제 1 스피치 요소보다 늦게 수신된 제 2 스피치 요소에 적어도 일부 기반하고, 상기 제 1 정보와 상이한 제 2 정보를 상기 디스플레이에 표시하도록 하는 인스트럭션들(instructions)을 저장할 수 있다.
다양한 실시 예에 따르면, 상기 메모리는, 실행 시에, 상기 전자장치가, 상기 제 1 스피치 요소를 상기 통신 모듈을 통하여 상기 전자장치 외부로 송신하고, 상기 제 1 정보를 상기 통신 모듈을 통하여 상기 전자장치 외부로부터 수신하도록 하는 인스트럭션들을 더 저장할 수 있다.
다양한 실시 예에 따르면, 상기 메모리는, 실행 시에, 상기 전자장치가, 상기 제 1 스피치 요소를 상기 통신 모듈을 통하여 상기 전자장치 외부로 송신하는 동작 후에, 상기 전자장치에 의하여, 상기 제 2스피치 요소를 상기 통신 모듈을 통하여 상기 전자장치 외부로 송신하고, 상기 제 1 정보를 상기 통신 모듈을 통하여 상기 전자장치 외부로부터 수신하는 동작 후에, 상기 전자장치에 의하여, 상기 제 2 정보를 상기 통신 모듈을 통하여 상기 전자장치 외부로부터 수신하도록 하는 인스트럭션들을 더 저장할 수 있다.
다양한 실시 예에 따르면, 상기 스피치 요소들 (speech elements)들의 시퀀스는 적어도 하나의 문장의 적어도 일부를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 스피치 요소는 하나 또는 그 이상의 단어를 포함하는 구(phrase)이고, 완전한 문장 (sentence)를 형성하지 않는 것을 특징으로 할 수 있다.
다양한 실시 예에 따르면, 상기 제 2 스피치 요소는 하나 또는 그 이상의 단어를 포함하는 구(phrase)이고, 완전한 문장 (sentence)를 형성하지 않으며, 상기 제 1 스피치 요소와 하나의 문장의 적어도 일부를 형성하는 것을 특징으로 할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 정보는, 상기 제 1 스피치 요소에 기반하여 생성, 검색, 및/또는 추천된 정보를 포함하며, 상기 제 2 정보는, 상기 제 1 정보 및 상기 제 2 스피치 요소의 조합에 적어도 일부 기반하여 생성, 검색, 및/또는 추천된 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 정보는 지도를 포함하고, 상기 제 2 정보는 상기 지도 내의 위치 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 메모리는, 실행 시에, 상기 전자장치가, 상기 제 1 스피치 요소를 프로세싱하여 상기 제 1 정보를 생성, 검색, 또는 추천하고, 상기 제 2 스피치 요소를 프로세싱하여 상기 제 2 정보를 생성, 검색, 또는 추천하도록 하는 인스트럭션들을 더 저장할 수 있다.
도 4는 본 개시의 한 실시 예에 따른 패턴 감지 모듈(220)의 사용자의 음성 입력 패턴을 감지하여 처리하는 방법을 나타내는 순서도이다. 한 실시 예에 따르면, 패턴 감지 모듈(220)은 410 동작에서, 사용자의 음성 입력을 변환한 텍스트 정보를 획득할 수 있다. 예컨대, 상기 텍스트 정보는 전자 장치(100) 또는 음성 인식 모듈(210)로부터 획득할 수 있다. 패턴 감지 모듈(220)은 420 동작에서 획득한 텍스트 정보를 이용하여 사용자의 음성 입력 패턴을 감지할 수 있고, 430 동작에서 감지된 음성 입력 패턴과 관련된 파라미터를 생성할 수 있다. 앞서 검토한 바와 같이, 파라미터는 예컨대 음성 입력 속도의 패턴, 자주 사용하는 단어 또는 문장의 패턴, 스피킹 도중 휴지 사용의 패턴 등을 포함할 수 있다. 패턴 감지 모듈(220)은 440 동작에서, 생성된 파라미터를 파라미터 데이터베이스(230)에 저장할 수 있다. 만약, 이 전에 저장된 파라미터가 있다면 생성된 새로운 파라미터로 갱신할 수 있다.
도 5 및 도 6은 본 개시의 다양한 실시 예에 따른 자연어 처리 모듈(240)의 자연어 처리 방법을 나타내는 순서도이다. 본 개시의 한 실시 예에 따라, 자연어 처리 모듈(240)은 전자 장치(100) 또는 음성 인식 모듈(210)로부터 인식되어 전달되는 텍스트 블록들을 순차적으로 수신할 수 있다. 자연어 처리 모듈(240)은 순차적으로 수신하는 텍스트 블록 내의 텍스트들의 자연어 처리를 수행할 수 있다. 적어도 하나의 텍스트 블록 내의 텍스트들을 이용하여 문맥을 완성하는 자연어 처리의 경우, 한 예시로 아래와 같은 방식으로 수행될 수 있다.
도 5 및 도 6을 참조하면, 자연어 처리 모듈(240)은 510 동작에서 적어도 하나의 제 1 텍스트 블록을 수신할 수 있고, 520 동작에서 적어도 하나의 제 1 텍스트 블록에서 적어도 하나의 키워드를 확인할 수 있다. 자연어 처리 모듈(240)은 530 동작에서 확인된 키워드를 이용하여 사용자 의도를 추측할 수 있다. 예컨대, 자연어 처리 모듈(240)은 확인된 키워드를 이용하여 정보 검색, 길 안내와 같은 특정 응용 프로그램의 실행, 데이터 편집 또는 설정 변경 중 적어도 하나를 사용자 의도로 추측할 수 있다. 키워드와 사용자 의도 간의 맵핑 관계가 미리 설정되어 저장되어 있을 수 있고, 자연어 처리 모듈(240)은 저장된 맵핑 관계에 기반하여 확인된 키워드로부터 사용자 의도를 추측할 수 있다. 자연어 처리 모듈(240)은 사용자 의도를 추측하기 위하여, 수신된 적어도 하나의 제 1 텍스트 블록에 포함된 텍스트들을 고려할 수 있다. 다른 실시 예에 따르면, 자연어 처리 모듈(240)은, 사용자의 입력에 대응하는 문장이 비교적 간단한 문장인 경우, 제 1 텍스트 블록에 포함된 키워드로 사용자 의도를 결정할 수 있다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 540 동작에서 추측된 사용자 의도에 기초하여 사용자 의도를 결정하기 위해 필요한 키워드를 확인할 수 있다. 예컨대, 자연어 처리 모듈(240)은 복수의 키워드들을 저장할 수 있고, 추측된 사용자 의도에 따라 저장된 키워드들 중 사용자 의도를 결정하기 위해 필요한 적어도 하나의 키워드를 포함하는 키워드 범위를 예상할 수 있다. 예컨대, 자연어 처리 모듈(240)은 추측된 사용자 의도가 "길 안내 정보 제공"이면, "지명"을 키워드의 범위로 예상할 수 있고, 추측된 사용자 의도가 "스케쥴 입력"이면, "날짜 및 시간"을 키워드의 범위로 예상할 수 있다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 550 동작에서 제 1 텍스트 블록 이후 순차적으로 적어도 하나의 제 2 텍스트 블록을 수신할 수 있다. 그리고 560 동작에서 적어도 하나의 제 2 텍스트 블록 내에 상기 확인된 키워드가 포함되어 있는지 확인할 수 있다. 예컨대, 자연어 처리 모듈(240)은 연속적으로 수신되는 제 2 텍스트 블록 내에 예상된 키워드의 범위에 해당하는 키워드가 포함되어 있는지를 확인할 수 있다.
만약 수신한 제 2 텍스트 블록 내에 키워드가 포함되어 있지 않다면 다시 550 동작으로 돌아가 키워드가 확인될 때까지 제 2 텍스트 블록을 계속하여 수신할 수 있다. 한편, 제 2 텍스트 블록에서 키워드가 확인된 이후에도 포즈(pause) 없이 계속하여 텍스트 블록이 수신되는 경우에는, 수신된 텍스트 블록이 함께 문장을 이루는 것으로 판단될 수 있다. 추가적으로 수신된 텍스트 블록은 키워드에 관련된 추가 정보를 포함할 수 있다. 반면, 소정 시간이상(예: 1초 이상) 포즈가 발생한 경우에는 문장이 완성된 것으로 판단될 수 있다. 예컨대, 텍스트 블록 간의 포즈에 의하여 문장이 완성된 것인지 또는 휴지를 갖는 것인지 여부는, 도 2의 패턴 감지 모듈(220)이 파라미터 데이터베이스(230)에 저장된 파라미터를 기초로 판단할 수 있고, 판단 결과를 자연어 처리 모듈(240)로 알려줄 수 있다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 570 동작에서, 수신한 제 2 텍스트 블록에서 키워드를 확인하면, 추측된 사용자 의도를 기반으로 확인된 키워드를 이용하여 사용자 의도를 결정할 수 있다. 자연어 처리 모듈(240)은 사용자 의도를 결정하기 위하여, 수신된 해당 문장을 구성하는 텍스트 블록에 포함된 텍스트들을 고려할 수 있다.
도 6은 본 개시의 한 실시 예에 따른 자연어 처리 모듈(240)이 음성 입력 수신 종료 신호를 수신하는 실시 예에 따른 자연어 처리 방법을 추가적으로 도시하고 있다.
본 실시 예에 따른 자연어 처리 모듈(240)은 문장이 완성되었음을 알리는 예컨대 음성 입력 수신 종료 신호가 제공되기 전까지 텍스트 블록들을 계속하여 수신할 수 있다. 자연어 처리 모듈(240)은 텍스트 블록을 수신하는 사이 사이에 포즈(pause)가 발생하는지 여부와 상관없이, 문장 완성을 알리는 신호가 제공되기 전까지 수신한 텍스트 블록들을 한 문장으로 보아 사용자 의도를 결정할 수 있다.
예컨대, 자연어 처리 모듈(240)은 570 동작에서 사용자 의도를 결정한 이후, 610 동작에서 문장 완성을 알리는 신호, 즉 음성 입력이 종료되었는지 여부를 알리는 신호를 수신하였는지 여부를 판단할 수 있다. 만약 상기 신호가 수신되었다면, 620 동작에서 앞선 570 동작에서 결정된 사용자 의도로 사용자 의도가 결정될 수 있다.
반면 한 실시 예에 따라 상기 신호가 수신되지 않았다면, 소정 시간 이상 포즈(pause)가 발생하였는지 여부와 상관없이 630 동작에서 계속하여 추가 텍스트를 포함하는 텍스트 블록을 수신할 수 있다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 문장 완성을 알리는 상기 신호가 입력되기 전까지 수신하는 텍스트 블록들이 모두 함께 포함되어 문장을 이루는 것으로 판단할 수 있다. 추가적으로 수신된 텍스트 블록은 확인된 키워드에 관련된 추가 정보를 포함할 수 있다. 자연어 처리 모듈(240)은 640 동작에서 결정된 사용자 의도에 추가 텍스트를 더 포함하여 사용자 의도를 재결정할 수 있다.
도 7 및 도 8은 본 개시의 다양한 실시 예에 따른 자연어 처리 모듈(240)의 자연어 처리의 예시를 나타내는 예시도이다.
도 7 및 도 8을 참조하면, t1의 시점에서, 자연어 처리 모듈(240)로 "How can"이라는 텍스트를 포함하는 제 1 텍스트 블록(T1a)이 수신되었다. 자연어 처리 모듈(240)은 "How" 및 "can"이라는 단어를 확인하여 의미를 파악할 수 있고, "How"라는 키워드로부터 입력되는 문장의 유형이 질문과 관련된 것임을 판단할 수 있다. 자연어 처리 모듈(240)은 판단 결과를 "추측된 사용자 의도"로 응답 모듈(250)로 전송할 수 있다.
한 실시 예에 따르면 t2의 시점에서, 자연어 처리 모듈(240)로 연속적으로 "I reach the"라는 텍스트를 포함하는 제 1 텍스트 블록(T1b)이 수신되었다. 자연어 처리 모듈(240)은 "I", "reach", "the"라는 단어를 확인하여 의미를 파악할 수 있고, "reach"라는 키워드로부터 입력되는 문장의 주제가 길 안내에 관련된 것임을 판단할 수 있다. 자연어 처리 모듈(240)은 판단 결과를 수정된 "추측된 사용자 의도"로 응답 모듈(250)로 전송할 수 있다. 한 실시 예에 따르면, 자연어 처리 모듈(240)은 추측된 사용자 의도가 결정되기 위해서는 목적지 정보(예: 장소 정보)가 더 포함되어야 함을 판단할 수 있고, 따라서 이후 수신될 텍스트 블록에서 목적지 정보(예: 장소 정보)를 포함하는 키워드가 포함되어 있는지 여부를 확인할 수 있다.
한 실시 예에 따르면 t3의 시점에서, 자연어 처리 모듈(240)로 "nearest"라는 텍스트를 포함하는 제 2 텍스트 블록(T2a)이 수신되었다. 자연어 처리 모듈(240)은 "nearest"라는 단어를 확인하여 의미를 파악하고, 상기 단어가 "장소 정보"에 해당하는지 여부를 확인할 수 있다. 그러나 상기 단어는 부가 정보를 포함할 뿐 장소 정보를 포함하지 않으므로 자연어 처리 모듈(240)은 계속하여 제 2 텍스트 블록을 수신할 수 있다.
한 실시 예에 따르면 t4의 시점에서, 자연어 처리 모듈(240)로 연속적으로 "bus stop"이라는 텍스트를 포함하는 제 2 텍스트 블록(T2b)이 수신되었다. 자연어 처리 모듈(240)은 "bus", "stop"이라는 단어를 확인하여 정류장이라는 의미를 파악할 수 있다. 자연어 처리 모듈(240)은 "bus stop"이 장소 정보를 포함하는 제 2 키워드(kw2)임을 확인할 수 있고, 제 2 키워드(kw2) 및 수신한 텍스트 블록에 포함된 텍스트들을 종합적으로 고려하여 사용자 의도를 결정할 수 있다. 따라서, 자연어 처리 모듈(240)은 해당 문장에서의 사용자 의도를 "가장 가까운 정류장에 대한 길 안내"라고 결정할 수 있다. 자연어 처리 모듈(240)은 "결정된 사용자 의도"를 응답 모듈(250)로 전송할 수 있다.
한편, 상기 실시 예에 따른 자연어 처리 모듈(240)은 예컨대 소정 시간을 초과하는 포즈(pause) 없이 계속하여 수신되는 텍스트 블록들에 대하여 한 문장(예: 처리될 문장)으로 판단하고, 이에 대한 사용자 의도를 결정할 수 있다. 소정 시간을 초과하는 포즈가 발생한 경우에는 문장이 완성된 것으로 보아 그때까지 수신한 텍스트 블록들에 기초하여 사용자 의도를 결정할 수 있다. 예컨대, 텍스트 블록 간의 포즈에 의하여 문장이 완성된 것인지 또는 휴지를 갖는 것인지 여부는, 패턴 감지 모듈(220)이 파라미터 데이터베이스(230)에 저장된 파라미터를 기초로 판단할 수 있고, 판단 결과를 자연어 처리 모듈(240)로 알려줄 수 있다.
실제 상황에서는 사용자가 음성 입력을 제공할 때 머뭇거리는 경우가 발생할 수도 있고, 추후에 떠오르는 부가 사항을 해당 문장에 추가하고자 하는 경우가 발생할 수도 있다. 따라서, 한 실시 예에 따라 자연어 처리 모듈(240)은 음성 입력이 종료되었다는 신호 즉, 문장이 완성되었다는 신호를 예컨대 전자 장치(100)로부터 수신한 경우에 문장이 완성된 것으로 보아 해당 문장에 대한 사용자 의도를 결정할 수 있다.
도 8은 자연어 문장 처리 모듈(240)이 음성 입력 종료 신호를 수신하는 실시 예에 따른 자연어 처리의 예시를 추가적으로 도시하고 있다.
한 실시 예에 따르면, 음성 입력 종료 신호를 수신하지 않으면, 소정 시간이 경과한 t5의 시점에서 자연어 처리 모듈(240)로 "with coffee shop nearby" 라는 추가 텍스트를 포함하는 텍스트 블록(aT)이 수신하더라도 상기 추가 텍스트를 앞선 문장에 부가되는 내용으로 처리할 수 있다. 예컨대, 추가 텍스트는 키워드인 "bus stop"(kw2)에 대한 한정 내용을 포함할 수 있다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 음성 입력 종료 신호를 수신하면 상기 추가 텍스트를 포함하여 사용자 의도를 재결정할 수 있다. 본 실시 예에서 사용자 의도는 "커피숍 근처에 있는 정류장 중 가장 가까운 정류장에 대한 길 안내"라고 재결정될 수 있다. 자연어 처리 모듈(240)은 재결정된 사용자 의도를 응답 모듈(250)로 전송할 수 있다.
도 9는 본 개시의 한 실시 예에 따른 음성 대화 시스템(200)의 구성 중 자연어 처리 모듈(240)과 응답 모듈(240)간의 동작을 나타내는 흐름도를 도시한다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 901 동작에서 전자 장치(100) 또는 음성 인식 모듈(210)로부터 스트리밍 방식으로 적어도 하나의 제 1 텍스트 블록을 수신할 수 있고, 903 동작에서 수신한 제 1 텍스트 블록에서 키워드를 확인할 수 있다. 자연어 처리 모듈(240)은 905 동작에서 확인된 키워드에 기반하여 사용자의 의도를 추측할 수 있고, 907 동작에서 추측된 사용자 의도를 응답 모듈(250)로 전송할 수 있다.
한 실시 예에 따르면, 응답 모듈(250)은 909 동작에서 자연어 처리 모듈(240)로부터 수신한 추측된 사용자 의도에 대응하는 중간 응답을 생성할 수 있다. 예컨대, 응답 모듈(250)은 추측된 사용자 의도와 관련된 적어도 하나의 어플리케이션 정보를 생성할 수 있다. 응답 모듈(250)은 911 동작에서 생성된 중간 응답, 예컨대 적어도 하나의 어플리케이션 정보를 전자 장치(100)로 전송할 수 있다.
도시되지는 않았으나, 자연어 처리 모듈(240)은 계속하여 수신되는 제 1 텍스트 블록에 포함된 키워드에 기반하여 추측된 사용자 의도를 수정할 수 있고, 수정된 추측된 사용자 의도를 다시 응답 모듈(250)로 전송할 수 있다. 응답 모듈(250)은 수정된 추측된 사용자 의도에 기반하여 중간 응답을 수정할 수 있다. 예컨대, 응답 모듈(250)은 추측된 사용자 의도와 관련된 어플리케이션 정보를 구체화할 수 있다. 응답 모듈(250)은 수정된 중간 응답, 예컨대 구체화된 어플리케이션을 전자 장치(100)로 전송할 수 있다.
한 실시 예에 따르면, 자연어 처리 모듈(240)은 913 동작에서 추측된 사용자 의도에 기초하여 사용자 의도를 결정하기 위해 필요한 키워드를 확인할 수 있다. 자연어 처리 모듈(240)은 915 동작에서 전자 장치(100) 또는 음성 인식 모듈(210)로부터 적어도 하나의 제 2 텍스트 블록을 수신할 수 있고, 917 동작에서 수신한 적어도 하나의 제 2 텍스트 블록 내에 확인된 키워드가 포함된 경우, 해당 키워드를 이용하여 사용자 의도를 결정할 수 있다. 자연어 처리 모듈(240)은 앞서 추측된 사용자 의도를 기반으로 제 2 텍스트 블록 내에 포함된 키워드를 이용하여 사용자 의도를 결정할 수 있다. 자연어 처리 모듈(240)은 919 동작에서 결정된 사용자 의도를 응답 모듈(250)로 전송할 수 있다.
한 실시 예에 따르면, 응답 모듈(250)은 921 동작에서 자연어 처리 모듈(240)로부터 수신한 결정된 사용자 의도에 대응하는 최종 응답을 생성할 수 있다. 예컨대, 응답 모듈(250)은 결정된 사용자 의도와 관련된 특정 어플리케이션의 기능 실행 정보를 생성할 수 있다. 응답 모듈(250)은 923 동작에서 생성된 최종 응답, 예컨대 특정 어플리케이션 기능 실행 정보를 전자 장치(100)로 전송할 수 있다.
도 10a 내지 도 10d는 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 음성 대화 방법을 나타내는 화면 예시도를 도시한다.
도 10a를 참조하면, 전자 장치(100)는 음성 대화 기능을 실행할 수 있고, 사용자로부터 음성 입력을 수신할 수 있다. 전자 장치(100)는 사용자가 제공하는 음성 입력을 기반으로 음성 신호를 생성하고, 생성된 음성 신호를 텍스트 정보로 변환할 수 있다. 예컨대, 전자 장치(100)는 음성 신호를 블록 단위로 텍스트 정보로 변환할 수 있다. 전자 장치(100)는 사용자가 제공하는 음성 입력에 대응하는 "How can"이라는 단어를 포함하는 텍스트를 디스플레이(150)의 소정 영역(1020)에 출력할 수 있다. 전자 장치(100)는 "How can"이라는 데이터를 포함하는 음성 신호 또는 텍스트 블록을 서버(106)로 전송할 수 있다. 서버(106)는 "How can"이라는 데이터를 기반으로 입력되는 문장의 유형이 질문과 관련된 것임을 판단할 수 있고, 판단 결과를 기반으로 적어도 하나의 어플리케이션 정보를 생성하고 전자 장치(100)로 전송할 수 있다. 예컨대, 서버(106)는 사용자의 의도를 검색 또는 설정으로 추측하여, 검색 또는 설정과 관련된 어플리케이션 정보를 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수신한 적어도 하나의 어플리케이션 정보, 예컨대 지도 어플리케이션, 스케쥴 어플리케이션, 알람 어플리케이션 정보를 디스플레이(150)의 소정 영역(1010)에 출력할 수 있다. 전자 장치(100)는 소정 영역(1010) 내에 지도 어플리케이션, 스케쥴 어플리케이션, 알람 어플리케이션을 각각에 대응하는 아이콘(1011~1013)으로 표시할 수 있다.
도 10b를 참조하면, 전자 장치(100)는 계속하여 사용자가 제공하는 음성 입력을 기반으로 음성 신호를 생성하고, 생성된 음성 신호를 텍스트 정보로 변환할 수 있다. 전자 장치(100)는 계속하여 사용자가 제공하는 음성 입력에 대응하는 "I reach the"라는 단어를 포함하는 텍스트를 디스플레이(150)의 소정 영역(1020)에 연속적으로 출력할 수 있다. 전자 장치(100)는 "I reach the"라는 데이터를 포함하는 음성 신호 또는 텍스트 블록을 서버(106)로 전송할 수 있다. 서버(106)는 "I reach the"라는 데이터를 기반으로 입력되는 문장의 주제가 길 안내에 관련된 것임을 판단할 수 있고, 판단 결과를 기반으로 관련 어플리케이션 정보를 구체화하여 전자 장치(100)로 전송할 수 있다. 예컨대, 서버(106)는 사용자의 의도를 길 안내 요청으로 재 추측하여, 길 안내와 관련된 어플리케이션 정보, 예컨대 지도 어플리케이션 정보를 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수신한 지도 어플리케이션 정보에 대응하는 아이콘(1011)만 계속하여 디스플레이(150)를 통해 표시하고, 기존에 표시되던 관련성이 없는 어플리케이션의 아이콘들은 삭제할 수 있다.
도 10c를 참조하면, 전자 장치(100)는 계속하여 사용자가 제공하는 음성 입력을 기반으로 음성 신호를 생성하고, 생성된 음성 신호를 텍스트 정보로 변환할 수 있다. 전자 장치(100)는 계속하여 사용자가 제공하는 음성 입력에 대응하는 "nearest bus stop"이라는 단어를 포함하는 텍스트를 디스플레이(150)의 소정 영역(1020)에 연속적으로 출력할 수 있다. 전자 장치(100)는 "nearest bus stop"이라는 데이터를 포함하는 음성 신호 또는 텍스트 블록을 서버(106)로 전송할 수 있다. 서버(106)는 "nearest bus stop"이라는 데이터를 기반으로 입력되는 문장에 포함된 사용자 의도를 "가장 가까운 정류장에 대한 길 안내 요청"으로 결정할 수 있다. 서버(106)는 결정된 사용자 의도에 기반하여 "지도 어플리케이션을 실행하여 가장 가까운 정류장에 대한 경로 탐색"을 지시하는 최종 응답을 생성할 수 있고, 생성된 최종 응답을 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수신한 최종 응답에 따라 지도 어플리케이션을 실행시키고, 가장 가까운 정류장까지의 경로를 안내할 수 있다. 예컨대, 전자 장치(100)는 디스플레이(150)의 실행 화면(1030)을 통해서 경로 안내를 표시할 수도 있고, 스피커(SPK)를 통해 음성 경로 안내를 출력할 수도 있다.
도 10d를 참조하면, 전자 장치(100)는 이후에도 연속적으로 사용자 음성 입력을 수신할 수 있다. 연속적으로 "with coffee shop nearby"라는 음성 입력을 수신한 경우, 전자 장치(100)는 음성 입력을 기반으로 음성 신호를 생성하고, 생성된 음성 신호를 텍스트 정보로 변환할 수 있다. 전자 장치(100)는 "with coffee shop nearby"이라는 단어를 포함하는 텍스트를 디스플레이(150)의 소정 영역(1020)에 연속적으로 출력할 수 있다. 전자 장치(100)는 "with coffee shop nearby"라는 데이터를 포함하는 음성 신호 또는 텍스트 블록을 서버(106)로 전송할 수 있다. 서버(106)는 "with coffee shop nearby"라는 데이터를 기반으로 입력되는 전체 문장에 포함된 사용자 의도를 "커피숍이 근처에 있는 가장 가까운 정류장에 대한 길 안내 요청"으로 재결정할 수 있다. 서버(106)는 재결정된 사용자 의도에 기반하여 "지도 어플리케이션을 실행하여 커피숍이 근처에 있는 가장 가까운 정류장에 대한 길 안내 요청"을 지시하는 수정된 최종 응답을 생성할 수 있고, 수정된 최종 응답을 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수정된 최종 응답에 따라 지도 어플리케이션에서 커피숍이 근처에 있는 가장 가까운 정류장에 대한 경로 안내를 실행할 수 있다.
도 11a 및 도 11b 또한 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 음성 대화 방법을 나타내는 화면 예시도를 도시한다.
도 11a를 참조하면, 전자 장치(100)는 음성 대화 기능 실행 중에 사용자로부터 "Set a schedule on Oct 14, 2014"라는 음성 입력을 수신하였고, 이후 소정 시간 동안 포즈(pause)가 발생하였다. 전자 장치(100)는 수신한 음성 입력을 기반으로 음성 신호를 생성하고, 생성된 음성 신호를 텍스트 정보로 변환할 수 있다. 전자 장치(100)는 음성 입력에 대응하는 "Set a schedule on Oct 14, 2014"라는 단어를 포함하는 텍스트를 디스플레이(150)의 소정 영역(1120)에 출력할 수 있다. 전자 장치(100)는 "Set a schedule on Oct 14, 2014"라는 데이터를 포함하는 음성 신호 또는 텍스트 블록을 스트리밍 방식으로 서버(106)로 전송할 수 있다. 서버(106)는 "Set a schedule on Oct 14, 2014"이라는 데이터를 기반으로 입력되는 문장에 포함된 사용자 의도를 "2014년 10월 14일에 스케쥴 설정"으로 판단할 수 있고, 또한 스케쥴 설정에 시간 정보가 더 필요함을 판단할 수 있다. 서버(106)는 우선 "2014 년 10월 14일에 스케쥴 설정"을 지시하는 중간 응답을 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수신한 중간 응답에 따라 실행 화면(1130)에 스케쥴 어플리케이션을 실행시킬 수 있다.
도 11b를 참조하면, 전자 장치(100)는 연속적으로 시간 정보를 포함하는 "2pm"이라는 음성 입력을 수신하였다. 전자 장치(100)는 수신한 음성 입력을 기반으로 음성 신호를 생성하고, 생성된 음성 신호를 텍스트 정보로 변환할 수 있다. 전자 장치(100)는 음성 입력에 대응하는 "2pm"이라는 단어를 포함하는 텍스트를 디스플레이(150)의 소정 영역(1120)에 출력할 수 있다. 전자 장치(100)는 "2pm"이라는 데이터를 포함하는 음성 신호 또는 텍스트 블록을 스트리밍 방식으로 서버(106)로 전송할 수 있다. 서버(106)는 "2pm"이라는 데이터를 기반으로 입력되는 문장에 포함된 사용자 의도를 "2014년 10월 14일 오후 2시에 스케쥴 설정"으로 결정할 수 있다. 서버(106)는 "2014년 10월 14일 오후 2시에 스케쥴 설정"을 지시하는 최종 응답을 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수신한 최종 응답에 따라 실행 화면(1130)에 스케쥴 설정 내용을 표시할 수 있다. 또는, 스피커(SPK)를 통해 스케쥴 설정 내용을 출력할 수 있다.
도 12a 및 도 12b는 각각 전자 장치(100)가 음성 입력 수신을 개시하고 이후 이를 종료하는 동작을 나타내는 순서도이다.
도 12a는 본 개시의 한 실시 예에 따라 센서부(320)가 획득하는 전자 장치의(100) 움직임 정보 등을 이용하여 사용자 음성 입력 수신의 개시 또는 종료를 판단하는 내용을 나타내고 있다.
한 실시 예에 따르면 1210 동작에서, 전자 장치(100)가 사용자 얼굴 또는 입을 향하여 이동하는 것으로 감지되는지 여부를 판단하여, 만약 이동하는 것으로 감지되면 1220 동작에서 사용자의 음성 입력을 수신할 수 있다. 전자 장치(100)는 사용자의 음성 입력 수신과 함께 음성 대화 기능을 실행할 수 있다.
한 실시 예에 따르면, 1230 동작에서 전자 장치(100)를 사용자 얼굴 또는 입으로부터 떨어뜨리는 동작을 감지할 수 있다. 상기 이동 동작을 감지하기 전까지 전자 장치(100)는 사용자 음성 입력을 계속하여 수신할 수 있다. 만약, 상기 이동 동작을 감지하게 되면 전자 장치(100)는 1240 동작에서 사용자 음성 입력 수신을 종료할 수 있다. 이때, 문장이 완성되었음을 알리는 음성 입력 종료 신호를 생성할 수 있고, 생성된 음성 입력 종료 신호를 음성 인식 모듈(210) 또는 자연어 처리 모듈(240)로 전송할 수 있다.
도 12b는 본 개시의 한 실시 예에 따라 카메라(330)가 획득하는 영상 정보를 이용하여 사용자 음성 입력 수신의 개시 및 종료를 판단하는 내용을 나타내고 있다.
한 실시 예에 따르면, 1250 동작에서 카메라(330)가 획득하는 영상 정보에 사용자의 얼굴 또는 입이 감지되는지 여부를 판단하고, 사용자의 얼굴 또는 입이 감지되면 1260 동작에서 사용자의 입이 움직이는지 여부를 감지할 수 있다. 사용자의 입이 움직이는 것으로 감지되면, 1270 동작에서 전자 장치(100)는 사용자 음성 입력을 수신할 수 있다. 전자 장치(100)는 사용자의 음성 입력 수신과 함께 음성 대화 기능을 실행할 수 있다.
한 실시 예에 따르면, 1280 동작에서 카메라(330)가 획득하는 영상 정보에서 사용자의 얼굴 또는 입이 계속하여 감지되는지 여부를 판단할 수 있다. 사용자의 얼굴 또는 입이 감지되는 경우에는 입이 움직이는지 여부에 관계없이 사용자의 얼굴 또는 입이 감지되지 않을 때까지 음성 입력을 계속하여 수신할 수 있다. 만약 사용자의 얼굴 또는 입이 감지되지 않게 되면 전자 장치(100)는 1290 동작에서 사용자 음성 입력 수신을 종료할 수 있다. 이때, 문장이 완성되었음을 알리는 음성 입력 종료 신호를 생성할 수 있고, 생성된 음성 입력 종료 신호를 음성 인식 모듈(210) 또는 자연어 처리 모듈(240)로 전송할 수 있다.
도 13은 본 개시의 한 실시 예에 따른 전자 장치(100)의 응답 출력 동작을 나타내는 순서도이다.
한 실시 예에 따르면, 1310 동작에서 전자 장치(100)가 응답 모듈(250)로부터 사용자 음성 입력에 대응한 응답을 수신할 수 있다. 전자 장치(100)는 1320 동작에서 적어도 하나의 센서로 사용자 환경을 감지할 수 있고, 1330 동작에서 감지 결과에 기초하여 수신한 응답의 출력 모드를 결정할 수 있다. 이후 1340 동작에서 결정된 출력 모드로 수신한 응답을 실행하여 출력할 수 있다. 상기 센서는 카메라, GPS, 마이크, 자이로 센서 또는 근접 센서 중 적어도 하나를 포함할 수 있다. 상기 출력 모드는 일 예로 비디오 데이터 출력 모드 또는 오디오 데이터 출력 모드일 수 있다. 또한, 비디오 데이터 및 오디오 데이터가 함께 출력되는 출력 모드일 수도 있다.
예컨대, 전자 장치(100)는 소음의 레벨이 소정 값 이상인 경우 비디오 데이터 출력 모드를 선호할 수 있고, 이동 속도가 소정 값 이상인 경우 오디오 데이터 출력 모드로 선호할 수 있다.
한 실시 예에 따르면, 예컨대 비정상적인 레벨의 소음 값이 탐지되고 장치가 걷는 속도로 움직이고 있는 것으로 감지되는 경우, 사용자가 복잡한 장소를 걸어가고 있는 것으로 판단될 수 있다. 이 경우 사용자는 화면을 통하여 응답 실행 결과를 확인하는 것이 보다 용이할 수 있기 때문에, 전자 장치(100)는 응답 실행 결과를 적어도 비디오 데이터로 출력할 수 있다. 한 실시 예에 따르면, 사용자 외부 환경의 소음은 사용자의 음성 입력이 수신되는 경우에는 정확하게 측정되기 어렵기 때문에, 사용자의 음성 입력이 수신되지 않는 경우에 측정될 수 있다. 사용자의 음성 입력 수신 여부는 앞서 검토한 바와 같이 카메라(330)를 통하여 획득하는 영상에 포착된 사용자 입의 움직임을 검출하여 판단될 수 있다.
한 실시 예에 따르면 만약, 소음이 정상적이 수치로 탐지되고 장치가 빠른 속도로 이동하는 것으로 감지되는 경우에는 사용자가 차에 탑승하여 이동하는 것으로 판단될 수 있다. 이때, 사용자의 얼굴 또는 입이 감지되지 않는 경우에는 사용자가 운전을 하고 있는 것으로 판단될 수 있다. 이 경우 소리를 통하여 응답 실행 결과를 확인하는 것이 보다 용이할 수 있기 때문에, 전자 장치(100)는 응답 실행 결과를 적어도 오디오 데이터로 출력할 수 있다. 한 실시 예에 따르면, 사용자의 얼굴 또는 입이 감지되는 경우에는 사용자가 화면을 확인할 수 있는 상황인 것으로 판단하여 응답 실행 결과를 비디오 데이터로도 출력할 수 있다.
본 발명의 실시 예에 따른 전자장치를 동작하는 방법은, 디스플레이 및 음성 수신 장치를 포함하는 전자장치에 의하여, 상기 음성 수신 장치를 통하여, 스피치 요소들 (speech elements)의 시퀀스를 수신하는 동작; 상기 전자장치에 의하여, 상기 스피치 요소들 중 제 1 스피치 요소에 적어도 일부에 기반한 제 1 정보를 상기 디스플레이에 표시하는 동작; 및 상기 전자장치에 의하여, 상기 스피치 요소들 중 제 1 스피치 요소보다 늦게 수신된 제 2 스피치 요소에 적어도 일부 기반하고, 상기 제 1 정보와 상이한 제 2 정보를 상기 디스플레이에 표시하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자장치를 동작하는 방법은, 상기 전자장치에 의하여, 상기 제 1 스피치 요소를 통신 모듈을 통하여 상기 전자장치 외부로 송신하는 동작; 및 상기 전자장치에 의하여, 상기 제 1 정보를 상기 통신 모듈을 통하여 상기 전자장치 외부로부터 수신하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자장치를 동작하는 방법은, 상기 제 1 스피치 요소를 통신 모듈을 통하여 상기 전자장치 외부로 송신하는 동작 후에, 상기 전자장치에 의하여, 상기 제 2스피치 요소를 상기 통신 모듈을 통하여 상기 전자장치 외부로 송신하는 동작; 및 상기 제 1 정보를 상기 통신 모듈을 통하여 상기 전자장치 외부로부터 수신하는 동작 후에, 상기 전자장치에 의하여, 상기 제 2 정보를 상기 통신 모듈을 통하여 상기 전자장치 외부로부터 수신하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 스피치 요소들 (speech elements)들의 시퀀스는 적어도 하나의 문장의 적어도 일부를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 스피치 요소는 하나 또는 그 이상의 단어를 포함하는 구(phrase)이고, 완전한 문장 (sentence)를 형성하지 않는 것을 특징으로 할 수 있다.
다양한 실시 예에 따르면, 상기 제 2 스피치 요소는 하나 또는 그 이상의 단어를 포함하는 구(phrase)이고, 완전한 문장 (sentence)를 형성하지 않으며, 상기 제 1 스피치 요소와 하나의 문장의 적어도 일부를 형성하는 것을 특징으로 할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 정보는, 상기 제 1 스피치 요소에 기반하여 생성, 검색, 및/또는 추천된 정보를 포함하며, 상기 제 2 정보는, 상기 제 1 정보 및 상기 제 2 스피치 요소의 조합에 적어도 일부 기반하여 생성, 검색, 및/또는 추천된 정보를 포함하는 것을 특징으로 할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 정보는 지도를 포함하고, 상기 제 2 정보는 상기 지도 내의 위치 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자장치를 동작하는 방법은, 상기 전자장치에 의하여, 상기 제 1 스피치 요소를 프로세싱하여 상기 제 1 정보를 생성, 검색, 또는 추천하는 동작; 및 상기 전자장치에 의하여, 상기 제 2 스피치 요소를 프로세싱하여 상기 제 2 정보를 생성, 검색, 또는 추천하는 동작을 더 포함할 수 있다.
도 14는 본 개시의 실시 예들에 따른 전자 장치(1400)의 블록도를 도시한다. 예를 들어, 전자 장치(1400)는 도 1에 도시된 전자 장치(100)의 전체 또는 일부를 구성할 수 있다.
도 14를 참조하면, 전자 장치(1400)는 하나 이상의 애플리케이션 프로세서(AP: application processor, 1410), 통신 모듈(1420), SIM(subscriber identification module) 카드(1424), 메모리(1430), 센서 모듈(1440), 입력 장치(1450), 디스플레이(1460), 인터페이스(1470), 오디오 모듈(1480), 카메라 모듈(1491), 전력관리 모듈(1495), 배터리(1496), 인디케이터(1497) 및 모터(1498)를 포함할 수 있다.
AP(1410)는 운영체제 또는 응용 프로그램을 구동하여 AP(1410)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 예를 들어, AP(1410)는 SoC(system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, AP(1410)는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
통신 모듈(1420)(예: 통신 인터페이스(160))은 전자 장치(1400)(예: 도 1의 음성 대화 인터페이스(100))와 네트워크를 통해 연결된 다른 전자 장치들(예: 도 1의 전자 장치(104) 또는 서버(106)) 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시 예에 따르면, 통신 모듈(1420)은 셀룰러 모듈(1421), Wifi 모듈(1423), BT 모듈(1425), GPS 모듈(1427), NFC 모듈(1428) 및 RF(radio frequency) 모듈(1429)을 포함할 수 있다.
셀룰러 모듈(1421)은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 예를 들어, 셀룰러 모듈(1421)은 가입자 식별 모듈(예: SIM 카드(1424))을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(1421)은 AP(1410)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 셀룰러 모듈(1421)은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시 예에 따르면, 셀룰러 모듈(1421)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 예를 들어, 셀룰러 모듈(1421)은 SoC로 구현될 수 있다. 셀룰러 모듈(1421)은(예: 커뮤니케이션 프로세서) 메모리(1430) 또는 전력관리 모듈(1495) 등의 구성요소들이 AP(1410)와 별개의 구성요소로 도시되어 있으나, 한 실시 예에 따르면, AP(1410)가 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈(1421))를 포함하도록 구현될 수 있다.
한 실시 예에 따르면, AP(1410) 또는 셀룰러 모듈(1421)(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, AP(1410) 또는 셀룰러 모듈(1421)은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다. AP(1410) 및/또는 셀룰러 모듈(1421)은 도 1에서 전술한 프로세서(120)의 전체 또는 일부를 구성할 수 있다.
예를 들어, Wifi 모듈(1423), BT 모듈(1425), GPS 모듈(1427) 또는 NFC 모듈(1428) 각각은 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다.
셀룰러 모듈(1421), Wifi 모듈(1423), BT 모듈(1425), GPS 모듈(1427) 또는 NFC 모듈(1428)이 각각 별개의 블록으로 도시되었으나, 한 실시 예에 따르면, 셀룰러 모듈(1421), Wifi 모듈(1423), BT 모듈(1425), GPS 모듈(1427) 또는 NFC 모듈(1428) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈(1421), Wifi 모듈(1423), BT 모듈(1425), GPS 모듈(1427) 또는 NFC 모듈(1428) 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈(1421)에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈(1423)에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
RF 모듈(1429)은 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 예를 들어, RF 모듈(1429)은 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 예를 들어, RF 모듈(1429)은 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품 도체 또는 도선 등을 더 포함할 수 있다. 셀룰러 모듈(1421), Wifi 모듈(1423), BT 모듈(1425), GPS 모듈(1427) 또는 NFC 모듈(1428)이 하나의 RF 모듈(1429)을 서로 공유하는 것으로 도시되어 있으나, 한 실시 예에 따르면, 셀룰러 모듈(1421), Wifi 모듈(1423), BT 모듈(1425), GPS 모듈(1427) 또는 NFC 모듈(1428) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
SIM 카드(1424)는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치(1400)의 특정 위치에 형성된 슬롯에 삽입될 수 있다. SIM 카드(1424)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(1430)(예: 도 1의 메모리(130))는 내장 메모리(1432) 또는 외장 메모리(1434)를 포함할 수 있다. 예를 들어, 내장 메모리(1432)는 휘발성 메모리(예를 들면, 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 memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면, 내장 메모리(1432)는 Solid State Drive (SSD)일 수 있다. 외장 메모리(1434)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 외장 메모리(1434)는 다양한 인터페이스를 통하여 전자 장치(1400)과 기능적으로 연결될 수 있다. 한 실시 예에 따르면, 전자 장치(1400)는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
센서 모듈(1440)은 물리량을 계측하거나 전자 장치(1400)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 예를 들어, 센서 모듈(1440)은 제스처 센서(1440A), 자이로 센서(1440B), 기압 센서(1440C), 마그네틱 센서(1440D), 가속도 센서(1440E), 그립 센서(1440F), 근접 센서(1440G), 컬러(color) 센서(1440H)(예: RGB(red, green, blue) 센서), 생체 센서(1440I), 온/습도 센서(1440J), 조도 센서(1440K) 또는 UV(ultra violet) 센서(1440M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(1440)은 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infrared) 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 센서 모듈(1440)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
입력 장치(1450)는 터치 패널(touch panel, 1452), 펜 센서(pen sensor, 1454), 키(key, 1456) 또는 초음파(ultrasonic) 입력 장치(1458)를 포함할 수 있다. 예를 들어, 터치 패널(1452)은 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 터치 패널(1452)은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 터치 패널(1452)은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 터치 패널(1452)은 사용자에게 촉각 반응을 제공할 수 있다.
예를 들어, 펜 센서(1454)는 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 예를 들어, 키 (1456)는 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 초음파(ultrasonic) 입력 장치(1458)는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치(1400)에서 마이크(예: 마이크(1488))로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시 예에 따르면, 전자 장치(1400)는 통신 모듈(1420)을 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
디스플레이(1460)(예: 도 1의 디스플레이(150))는 패널(1462), 홀로그램 장치(1464) 또는 프로젝터(1466)를 포함할 수 있다. 예를 들어, 패널(1462)은 LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 예를 들어, 패널(1462)은 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널(1462)은 터치 패널(1452)과 하나의 모듈로 구성될 수도 있다. 홀로그램 장치(1464)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(1466)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 예를 들어, 스크린은 전자 장치(1400)의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 디스플레이(1460)는 패널(1462), 홀로그램 장치(1464), 또는 프로젝터(1466)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
예를 들어, 인터페이스(1470)는 HDMI(high-definition multimedia interface, 1472), USB(universal serial bus, 1474), 광 인터페이스(optical interface, 1476) 또는 D-sub(D-subminiature, 1478)를 포함할 수 있다. 예를 들어, 인터페이스(1470)는 도 1에 도시된 통신 인터페이스(160)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(1470)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(1480)은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 예를 들어, 오디오 모듈(1480)의 적어도 일부 구성요소는 도 1 에 도시된 입출력 인터페이스(140)에 포함될 수 있다. 예를 들어, 오디오 모듈(1480)은 스피커(1482), 리시버(1484), 이어폰(1486) 또는 마이크(1488) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
한 실시 예에 따르면, 카메라 모듈(1491)은 정지 영상 및 동영상을 촬영할 수 있는 장치로서 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
전력 관리 모듈(1495)은 전자 장치(1400)의 전력을 관리할 수 있다. 도시하지는 않았으나, 전력 관리 모듈(1495)은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
예를 들어, PMIC는 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시 예에 따르면, 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
예를 들어, 배터리 게이지는 배터리(1496)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 배터리(1496)는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 전자 장치(1400)에 전원을 공급할 수 있다. 예를 들어, 배터리(1496)는 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터(1497)는 전자 장치(1400) 혹은 그 일부(예: AP(1410))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(1498)는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 전자 장치(1400)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 예를 들어, 모바일 TV지원을 위한 처리 장치는 DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어 플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 발명의 실시예에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 개시에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 개시에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 발명에 사용된 용어 "모듈"은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 개시에 따른 "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따르면, 본 개시에 따른 장치(예: 전자 장치(100) 및 모듈들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 도시되지는 않았지만 예를 들면 저장부 또는 메모리가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 프로세서에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 개시의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 개시에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 개시에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 명세서와 도면에 개시된 본 개시의 실시 예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시 예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (18)

  1. 전자장치의 동작 방법에 있어서,
    디스플레이 및 음성 수신 장치를 포함하는 상기 전자장치에 의하여, 상기 음성 수신 장치를 통하여 수신하는 음성 신호에 따른 문장을 제 1 텍스트 블록과 제 2 텍스트 블록의 블록 단위로 처리하는 동작;
    상기 제 1 텍스트 블록을 상기 디스플레이의 제 1 영역에 표시하는 동작;
    상기 제 1 텍스트 블록에 이어 상기 문장의 제 2 텍스트 블록을 수신하는 동안, 상기 제 1 텍스트 블록에 기반하여 예측된 제 1 키워드를 기반으로, 사용자 의도가 추정된 적어도 하나의 제 1 정보를 상기 디스플레이의 제 2 영역에 표시하는 동작;
    상기 문장에서 상기 제 1 텍스트 블록 이후에 수신된 상기 제 1 텍스트 블록에 연속되는 제 2 텍스트 블록을 상기 디스플레이의 상기 제 1 영역에서 상기 제 1 텍스트 블록에 연속적으로 표시하는 동작; 및
    상기 제 2 텍스트 블록에 기반하여 예측된 제 2 키워드를 기반으로, 사용자 의도가 결정된 상기 제 1 정보와 상이한 적어도 하나의 제 2 정보를 상기 디스플레이의 상기 제 2 영역에 표시하는 동작을 포함하고,
    상기 적어도 하나의 제 2 정보는, 상기 적어도 하나의 제 1 정보 중에서 상기 제 2 키워드에 기반하여 선택되는 정보이거나, 또는 상기 적어도 하나의 제 1 정보가 상기 제 2 키워드에 기반하여 구체화된 정보인 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 제 1 정보를 표시하는 동작은,
    상기 전자장치에 의하여, 상기 제 1 텍스트 블록을 통신 모듈을 통하여 상기 전자장치의 외부로 송신하는 동작; 및
    상기 전자장치에 의하여, 상기 제 1 텍스트 블록의 상기 제 1 키워드에 대응하는 복수의 어플리케이션들에 관련된 상기 제 1 정보를 상기 통신 모듈을 통하여 상기 전자장치의 외부로부터 수신하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서, 상기 제 2 정보를 표시하는 동작은,
    상기 제 1 텍스트 블록을 통신 모듈을 통하여 상기 전자장치의 외부로 송신하는 동작 후에, 상기 전자장치에 의하여, 상기 제 2 텍스트 블록을 상기 통신 모듈을 통하여 상기 전자장치의 외부로 송신하는 동작; 및
    상기 제 1 정보를 상기 통신 모듈을 통하여 상기 전자장치의 외부로부터 수신하는 동작 후에, 상기 전자장치에 의하여, 상기 복수의 어플리케이션들에 관련된 상기 제 1 정보 중 상기 제 2 텍스트 블록의 상기 제 2 키워드에 대응하는 적어도 하나의 어플리케이션과 관련된 상기 제 2 정보를 상기 통신 모듈을 통하여 상기 전자장치의 외부로부터 수신하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 텍스트 블록 및 상기 제 2 텍스트 블록 각각은 적어도 하나의 문장의 적어도 일부를 포함하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 제 1 텍스트 블록은 하나 또는 그 이상의 단어를 포함하는 구(phrase)이고, 완전한 문장(sentence)을 형성하지 않는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 제 2 텍스트 블록은 하나 또는 그 이상의 단어를 포함하는 구(phrase)이고, 완전한 문장(sentence)을 형성하지 않으며, 상기 제 1 텍스트 블록과 하나의 문장의 적어도 일부를 형성하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서,
    상기 제 1 정보는, 상기 제 1 텍스트 블록에서 예측된 제 1 키워드에 기반하여 생성, 검색, 및/또는 추천된 정보를 포함하며,
    상기 제 2 정보는, 상기 제 1 정보 및 상기 제 2 텍스트 블록에서 예측된 제 2 키워드의 조합에 기반하여 생성, 검색, 및/또는 추천된 정보를 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서,
    상기 제 1 정보는 지도 어플리케이션 정보를 포함하고,
    상기 제 2 정보는 지도 어플리케이션 내의 위치 정보를 포함하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서,
    상기 전자장치에 의하여, 상기 제 1 텍스트 블록을 프로세싱하여 상기 제 1 정보를 생성, 검색, 또는 추천하는 동작; 및
    상기 전자장치에 의하여, 상기 제 2 텍스트 블록을 프로세싱하여 상기 제 2 정보를 생성, 검색, 또는 추천하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  10. 전자장치에 있어서,
    디스플레이;
    음성 수신 장치;
    통신 모듈;
    메모리; 및
    프로세서를 포함하며,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 음성 수신 장치를 통하여 수신하는 음성 신호에 따른 문장을 제 1 텍스트 블록과 제 2 텍스트 블록의 블록 단위로 처리하고,
    상기 제 1 텍스트 블록을 상기 디스플레이의 제 1 영역에 표시하고,
    상기 제 1 텍스트 블록에 이어 상기 문장의 제 2 텍스트 블록을 수신하는 동안, 상기 제 1 텍스트 블록에 기반하여 예측된 제 1 키워드를 기반으로, 사용자 의도가 추정된 적어도 하나의 제 1 정보를 상기 디스플레이의 제 2 영역에 표시하고,
    상기 문장에서 상기 제 1 텍스트 블록 이후에 수신된 상기 제 1 텍스트 블록에 연속되는 제 2 텍스트 블록을 상기 디스플레이의 상기 제 1 영역에서 상기 제 1 텍스트 블록에 연속적으로 표시하고, 및
    상기 제 2 텍스트 블록에 기반하여 예측된 제 2 키워드를 기반으로, 사용자 의도가 결정된 상기 제 1 정보와 상이한 적어도 하나의 제 2 정보를 상기 디스플레이의 상기 제 2 영역에 표시하도록 하는 인스트럭션들(instructions)을 저장하고,
    상기 적어도 하나의 제 2 정보는, 상기 적어도 하나의 제 1 정보 중에서 상기 제 2 키워드에 기반하여 선택되는 정보이거나, 또는 상기 적어도 하나의 제 1 정보가 상기 제 2 키워드에 기반하여 구체화된 정보인 것을 특징으로 하는 전자장치.
  11. 제 10 항에 있어서,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 제 1 텍스트 블록을 상기 통신 모듈을 통하여 상기 전자장치의 외부로 송신하고,
    상기 제 1 텍스트 블록의 상기 제 1 키워드에 대응하는 복수의 어플리케이션들에 관련된 상기 제 1 정보를 상기 통신 모듈을 통하여 상기 전자장치의 외부로부터 수신하도록 하는 인스트럭션들을 저장하는 것을 특징으로 하는 전자장치.
  12. 제 11 항에 있어서,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 제 1 텍스트 블록을 상기 통신 모듈을 통하여 상기 전자장치의 외부로 송신하는 동작 후에, 상기 제 텍스트 블록을 상기 통신 모듈을 통하여 상기 전자장치의 외부로 송신하고,
    상기 제 1 정보를 상기 통신 모듈을 통하여 상기 전자장치의 외부로부터 수신하는 동작 후에, 상기 복수의 어플리케이션들에 관련된 상기 제 1 정보 중 상기 제 2 텍스트 블록의 상기 제 2 키워드에 대응하는 적어도 하나의 어플리케이션과 관련된 상기 제 2 정보를 상기 통신 모듈을 통하여 상기 전자장치의 외부로부터 수신하도록 하는 인스트럭션들을 더 저장하는 것을 특징으로 하는 전자장치.
  13. 제 10 항에 있어서,
    상기 제 1 텍스트 블록 및 상기 제 2 텍스트 블록 각각은 적어도 하나의 문장의 적어도 일부를 포함하는 것을 특징으로 하는 전자장치.
  14. 제 10 항에 있어서,
    상기 제 1 텍스트 블록은 하나 또는 그 이상의 단어를 포함하는 구(phrase)이고, 완전한 문장(sentence)을 형성하지 않는 것을 특징으로 하는 전자장치.
  15. 제 10 항에 있어서,
    상기 제 2 텍스트 블록은 하나 또는 그 이상의 단어를 포함하는 구(phrase)이고, 완전한 문장 (sentence)를 형성하지 않으며, 상기 제 1 텍스트 블록과 하나의 문장의 적어도 일부를 형성하는 것을 특징으로 하는 전자장치.
  16. 제 10 항에 있어서,
    상기 제 1 정보는, 상기 제 1 텍스트 블록에서 예측된 제 1 키워드에 기반하여 생성, 검색, 및/또는 추천된 정보를 포함하며,
    상기 제 2 정보는, 상기 제 1 정보 및 상기 제 2 텍스트 블록에서 예측된 제 2 키워드의 조합에 기반하여 생성, 검색, 및/또는 추천된 정보를 포함하는 것을 특징으로 하는 전자장치.
  17. 제 16 항에 있어서,
    상기 제 1 정보는 지도 어플리케이션 정보를 포함하고,
    상기 제 2 정보는 지도 어플리케이션 내의 위치 정보를 포함하는 것을 특징으로 하는 전자장치.
  18. 제 10 항에 있어서,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 제 1 텍스트 블록을 프로세싱하여 상기 제 1 정보를 생성, 검색, 또는 추천하고,
    상기 제 2 텍스트 블록을 프로세싱하여 상기 제 2 정보를 생성, 검색, 또는 추천하도록 하는 인스트럭션들을 저장하는 것을 특징으로 하는 전자장치.
KR1020140138548A 2014-10-14 2014-10-14 전자 장치 및 이의 음성 대화 방법 KR102301880B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140138548A KR102301880B1 (ko) 2014-10-14 2014-10-14 전자 장치 및 이의 음성 대화 방법
PCT/KR2015/010855 WO2016060480A1 (en) 2014-10-14 2015-10-14 Electronic device and method for spoken interaction thereof
CN201580055978.0A CN107077464B (zh) 2014-10-14 2015-10-14 电子设备和用于其口头交互的方法
EP15189719.6A EP3010015B1 (en) 2014-10-14 2015-10-14 Electronic device and method for spoken interaction thereof
US14/883,489 US10546587B2 (en) 2014-10-14 2015-10-14 Electronic device and method for spoken interaction thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140138548A KR102301880B1 (ko) 2014-10-14 2014-10-14 전자 장치 및 이의 음성 대화 방법

Publications (2)

Publication Number Publication Date
KR20160043836A KR20160043836A (ko) 2016-04-22
KR102301880B1 true KR102301880B1 (ko) 2021-09-14

Family

ID=54324881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140138548A KR102301880B1 (ko) 2014-10-14 2014-10-14 전자 장치 및 이의 음성 대화 방법

Country Status (5)

Country Link
US (1) US10546587B2 (ko)
EP (1) EP3010015B1 (ko)
KR (1) KR102301880B1 (ko)
CN (1) CN107077464B (ko)
WO (1) WO2016060480A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9837069B2 (en) * 2015-12-22 2017-12-05 Intel Corporation Technologies for end-of-sentence detection using syntactic coherence
US10025399B2 (en) * 2016-03-16 2018-07-17 Lg Electronics Inc. Watch type mobile terminal and method for controlling the same
CN107203261B (zh) * 2016-03-16 2022-05-24 Lg电子株式会社 手表型移动终端及其控制方法
CN107452383B (zh) * 2016-05-31 2021-10-26 华为终端有限公司 一种信息处理方法、服务器、终端及信息处理系统
KR101934280B1 (ko) * 2016-10-05 2019-01-03 현대자동차주식회사 발화내용 분석 장치 및 방법
KR20180043627A (ko) * 2016-10-20 2018-04-30 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치를 제어하는 방법
KR20180060328A (ko) 2016-11-28 2018-06-07 삼성전자주식회사 멀티 모달 입력을 처리하는 전자 장치, 멀티 모달 입력을 처리하는 방법 및 멀티 모달 입력을 처리하는 서버
US10468022B2 (en) * 2017-04-03 2019-11-05 Motorola Mobility Llc Multi mode voice assistant for the hearing disabled
KR102298947B1 (ko) * 2017-04-28 2021-09-08 삼성전자주식회사 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
US10754673B2 (en) * 2017-05-08 2020-08-25 Google Llc Smart device configuration guidance via automated assistant interface of separate client device
KR102060775B1 (ko) * 2017-06-27 2019-12-30 삼성전자주식회사 음성 입력에 대응하는 동작을 수행하는 전자 장치
KR102412523B1 (ko) * 2017-07-18 2022-06-24 삼성전자주식회사 음성 인식 서비스 운용 방법, 이를 지원하는 전자 장치 및 서버
CN110753908B (zh) * 2017-08-22 2023-11-10 谷歌有限责任公司 在通信会话期间促进用户设备和/或代理设备动作
US11581095B2 (en) 2017-10-10 2023-02-14 Sanofi Medical query answering apparatus
KR101932263B1 (ko) * 2017-11-03 2018-12-26 주식회사 머니브레인 적시에 실질적 답변을 제공함으로써 자연어 대화를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
CN107978315B (zh) * 2017-11-20 2021-08-10 徐榭 基于语音识别的对话式放射治疗计划系统及制定方法
KR102517219B1 (ko) * 2017-11-23 2023-04-03 삼성전자주식회사 전자장치 및 그 제어방법
KR102617265B1 (ko) * 2018-03-13 2023-12-26 삼성전자주식회사 사용자 음성 입력을 처리하는 장치
KR102508863B1 (ko) * 2018-03-19 2023-03-10 삼성전자 주식회사 전자 장치 및 상기 전자 장치로부터 수신된 데이터를 처리하는 서버
KR102685523B1 (ko) 2018-03-27 2024-07-17 삼성전자주식회사 사용자 음성 입력을 처리하는 장치
KR102707293B1 (ko) * 2018-03-29 2024-09-20 삼성전자주식회사 사용자 음성 입력을 처리하는 장치
GB2574471A (en) * 2018-06-08 2019-12-11 Pure International Ltd An apparatus and method
JP7173670B2 (ja) * 2018-08-07 2022-11-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 音声制御コマンド生成方法および端末
KR20200048976A (ko) * 2018-10-31 2020-05-08 삼성전자주식회사 전자 장치 및 그 제어 방법
US10978069B1 (en) * 2019-03-18 2021-04-13 Amazon Technologies, Inc. Word selection for natural language interface
US11935521B2 (en) * 2019-09-12 2024-03-19 Oracle International Corporation Real-time feedback for efficient dialog processing
CN112533041A (zh) * 2019-09-19 2021-03-19 百度在线网络技术(北京)有限公司 视频播放方法、装置、电子设备和可读存储介质
BR112023019971A2 (pt) * 2021-06-18 2023-11-21 Deepmind Tech Ltd Reconhecimento de fala visual adaptativo
KR102670725B1 (ko) * 2023-09-27 2024-05-30 주식회사 씨와이디정보기술 다수의 상대방 디바이스와 연결되는 음성-텍스트 변환 장치 및 이를 위한 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044516A1 (en) 2002-06-03 2004-03-04 Kennewick Robert A. Systems and methods for responding to natural language speech utterance
US20090326936A1 (en) * 2007-04-17 2009-12-31 Honda Motor Co., Ltd. Voice recognition device, voice recognition method, and voice recognition program
US20090326939A1 (en) 2008-06-25 2009-12-31 Embarq Holdings Company, Llc System and method for transcribing and displaying speech during a telephone call
US20140297283A1 (en) 2013-04-02 2014-10-02 Nuance Communications, Inc. Concept Cloud in Smart Phone Applications

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6897861B2 (en) * 2002-01-09 2005-05-24 Nissan Motor Co., Ltd. Map image display device, map image display method and map image display program
US7917356B2 (en) 2004-09-16 2011-03-29 At&T Corporation Operating method for voice activity detection/silence suppression system
KR100892079B1 (ko) * 2006-08-24 2009-04-07 최윤정 내비게이션 시스템
JP2008064885A (ja) * 2006-09-05 2008-03-21 Honda Motor Co Ltd 音声認識装置、音声認識方法、及び音声認識プログラム
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8635243B2 (en) * 2007-03-07 2014-01-21 Research In Motion Limited Sending a communications header with voice recording to send metadata for use in speech recognition, formatting, and search mobile search application
US8478578B2 (en) * 2008-01-09 2013-07-02 Fluential, Llc Mobile speech-to-speech interpretation system
US20090234655A1 (en) * 2008-03-13 2009-09-17 Jason Kwon Mobile electronic device with active speech recognition
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
JP5340418B2 (ja) * 2009-12-24 2013-11-13 三菱電機株式会社 ナビゲーション装置
US20110184740A1 (en) * 2010-01-26 2011-07-28 Google Inc. Integration of Embedded and Network Speech Recognizers
US8626498B2 (en) 2010-02-24 2014-01-07 Qualcomm Incorporated Voice activity detection based on plural voice activity detectors
KR101208166B1 (ko) * 2010-12-16 2012-12-04 엔에이치엔(주) 온라인 음성인식을 처리하는 음성인식 클라이언트 시스템, 음성인식 서버 시스템 및 음성인식 방법
EP2494545A4 (en) 2010-12-24 2012-11-21 Huawei Tech Co Ltd METHOD AND DEVICE FOR DETECTING LANGUAGE ACTIVITIES
WO2013022218A2 (en) * 2011-08-05 2013-02-14 Samsung Electronics Co., Ltd. Electronic apparatus and method for providing user interface thereof
WO2013056343A1 (en) * 2011-09-30 2013-04-25 Ming Li System, method and computer program for correcting speech recognition information
US8515766B1 (en) * 2011-09-30 2013-08-20 Google Inc. Voice application finding and user invoking applications related to a single entity
US10156455B2 (en) * 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US9997069B2 (en) * 2012-06-05 2018-06-12 Apple Inc. Context-aware voice guidance
US8543397B1 (en) * 2012-10-11 2013-09-24 Google Inc. Mobile device voice activation
KR20140089861A (ko) * 2013-01-07 2014-07-16 삼성전자주식회사 디스플레이 장치 및 그의 제어 방법
CN105246743B (zh) * 2013-05-21 2017-03-29 三菱电机株式会社 语音识别装置、识别结果显示装置及显示方法
US9575720B2 (en) * 2013-07-31 2017-02-21 Google Inc. Visual confirmation for a recognized voice-initiated action
US10127224B2 (en) * 2013-08-30 2018-11-13 Intel Corporation Extensible context-aware natural language interactions for virtual personal assistants
US9412363B2 (en) * 2014-03-03 2016-08-09 Microsoft Technology Licensing, Llc Model based approach for on-screen item selection and disambiguation
US9448991B2 (en) * 2014-03-18 2016-09-20 Bayerische Motoren Werke Aktiengesellschaft Method for providing context-based correction of voice recognition results

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044516A1 (en) 2002-06-03 2004-03-04 Kennewick Robert A. Systems and methods for responding to natural language speech utterance
US20090326936A1 (en) * 2007-04-17 2009-12-31 Honda Motor Co., Ltd. Voice recognition device, voice recognition method, and voice recognition program
US20090326939A1 (en) 2008-06-25 2009-12-31 Embarq Holdings Company, Llc System and method for transcribing and displaying speech during a telephone call
US20140297283A1 (en) 2013-04-02 2014-10-02 Nuance Communications, Inc. Concept Cloud in Smart Phone Applications

Also Published As

Publication number Publication date
US10546587B2 (en) 2020-01-28
EP3010015B1 (en) 2018-01-31
WO2016060480A1 (en) 2016-04-21
KR20160043836A (ko) 2016-04-22
CN107077464A (zh) 2017-08-18
US20160104484A1 (en) 2016-04-14
CN107077464B (zh) 2020-08-07
EP3010015A1 (en) 2016-04-20

Similar Documents

Publication Publication Date Title
KR102301880B1 (ko) 전자 장치 및 이의 음성 대화 방법
KR102394485B1 (ko) 음성 인식을 위한 전자 장치 및 방법
US10261683B2 (en) Electronic apparatus and screen display method thereof
US20190355365A1 (en) Electronic device and method of operation thereof
EP2816554A2 (en) Method of executing voice recognition of electronic device and electronic device using the same
EP3391367B1 (en) Electronic device and speech recognition method thereof
KR102293660B1 (ko) 전자 장치의 근거리 무선 통신 방법 및 이를 사용하는 전자 장치
US9641665B2 (en) Method for providing content and electronic device thereof
US10652680B2 (en) Electronic device and method for controlling input and output by electronic device
US9860359B2 (en) Method for communicating with neighbor device, electronic device, and storage medium
US20160007084A1 (en) Method and apparatus for sharing data of electronic device
US10139494B2 (en) Electronic device and method for measuring position information of electronic device
US20150349852A1 (en) Electronic device having multiple subscriber identity modules and method therefor
EP3001656A1 (en) Method and apparatus for providing function by using schedule information in electronic device
KR102256683B1 (ko) 재난 관리 방법 및 그 전자 장치
US20150169425A1 (en) Electronic device and operating method thereof
KR102305117B1 (ko) 텍스트 입력 제어 방법 및 그 전자 장치
KR102332468B1 (ko) 기능 제어 방법 및 그 전자 장치
KR102323797B1 (ko) 전자 장치 및 그의 정보 공유 방법
KR102328449B1 (ko) 전자 장치 및 그 동작 방법
US20150205459A1 (en) Method and device for managing folder
KR20160014360A (ko) 전자 장치, 서버 및 전자 장치에서의 스캔 동작 방법
US20170054678A1 (en) Method for managing contacts in electronic device and electronic device thereof
KR102250777B1 (ko) 컨텐츠 제공 방법 및 그 전자 장치
KR102333218B1 (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
GRNT Written decision to grant