KR20190005097A - 입력어를 처리하는 사용자 단말 및 방법 - Google Patents

입력어를 처리하는 사용자 단말 및 방법 Download PDF

Info

Publication number
KR20190005097A
KR20190005097A KR1020170137737A KR20170137737A KR20190005097A KR 20190005097 A KR20190005097 A KR 20190005097A KR 1020170137737 A KR1020170137737 A KR 1020170137737A KR 20170137737 A KR20170137737 A KR 20170137737A KR 20190005097 A KR20190005097 A KR 20190005097A
Authority
KR
South Korea
Prior art keywords
input
word
input word
application
app
Prior art date
Application number
KR1020170137737A
Other languages
English (en)
Other versions
KR102407577B1 (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 US16/028,294 priority Critical patent/US10831441B2/en
Publication of KR20190005097A publication Critical patent/KR20190005097A/ko
Application granted granted Critical
Publication of KR102407577B1 publication Critical patent/KR102407577B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

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

Abstract

입력어를 처리하는 사용자 단말은 메인 화면 및 상기 메인 화면에 노출되도록 기설정된 복수의 앱을 표시하는 표시부, 사용자로부터 입력어를 입력받는 입력부, 상기 복수의 앱으로 상기 입력받은 입력어를 전달하고, 상기 복수의 앱 중 상기 입력어를 처리할 수 있는 적어도 하나의 앱으로부터 상기 입력어에 대한 반환값을 전달받는 입력어 전달부 및 상기 반환값에 기초하여 상기 적어도 하나의 앱을 대기 상태로 변경하는 상태 변경부; 및 상기 입력부를 통해 상기 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받는 경우, 상기 추가 입력어에 대응하는 앱을 실행시키는 앱 실행부를 포함한다.

Description

입력어를 처리하는 사용자 단말 및 방법{USER DEVICE AND METHOD FOR PROCESSING INPUT MESSAGE}
본 발명은 입력어를 처리하는 사용자 단말 및 방법에 관한 것이다.
지능형 개인 비서는 사용자가 요구하는 작업을 처리하고, 사용자에게 특화된 서비스를 제공하는 소프트웨어 에이전트이다. 지능형 개인 비서는 인공 지능(AI) 엔진과 음성 인식을 기반으로 사용자에게 맞춤 정보를 수집하여 제공하고, 사용자의 음성 명령에 따라 일정 관리, 이메일 전송, 식당 예약 등 여러 기능을 수행하는 점에서 사용자의 편의성을 향상시키는 장점을 갖는다.
이러한 지능형 개인 비서는 주로 스마트폰에서 맞춤형 개인 서비스로 제공되고 있으며, 대표적으로 애플의 시리(siri), 구글의 나우(now), 삼성의 빅스비 등이 이에 포함된다. 이와 관련하여, 선행기술인 한국공개특허 제 2016-0071111호는 전자 장치에서의 개인 비서 서비스 제공 방법을 개시하고 있다.
최근에는 지능형 개인 비서는 사용자의 의도를 파악하여 그에 맞는 서비스를 제공할 수 있게 되었다. 그러나 지능형 개인 비서는 사용자의 의도를 실시간으로 파악하여 반영하지 못한다는 단점을 가지고 있다. 이를 위해, 지능형 개인 비서는 사용자의 의도를 명확하게 파악하기 위해 모든 앱에 대한 정보를 가지고 있어야 한다. 그러나 써드 파티(3rd-party) 앱의 확장이 제한적이고, 지능형 개인 비서의 명령없이는 3rd-party 앱의 실행 기회가 적다는 단점을 가지고 있다.
사용자의 연속적인 음성 입력에 대해 모든 앱이 실시간으로 반응하고, 각 앱의 반응에 대해 사용자가 앱의 실행에 대한 선택권을 갖는 사용자 단말 및 방법을 제공하고자 한다. 동시에 복수의 앱을 활성화 및 실행시키도록 하는 앱 실행 환경을 제공하는 사용자 단말 및 방법을 제공하고자 한다. 사용자의 명령 및 키워드를 모든 앱으로 전달하고, 사용자의 명령 및 키워드에 반응하는 앱을 강조하여 표시하는 사용자 단말 및 방법을 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 복수의 앱을 표시하는 표시부, 사용자로부터 입력어를 입력받는 입력부, 상기 복수의 앱으로 상기 입력받은 입력어를 전달하고, 상기 복수의 앱 중 상기 입력어를 처리할 수 있는 적어도 하나의 앱으로부터 상기 입력어에 대한 반환값을 전달받는 입력어 전달부 및 상기 반환값에 기초하여 상기 적어도 하나의 앱을 대기 상태로 변경하는 상태 변경부; 및 상기 입력부를 통해 상기 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받는 경우, 상기 추가 입력어에 대응하는 앱을 실행시키는 앱 실행부를 포함하는 사용자 단말을 제공할 수 있다.
본 발명의 다른 실시예는, 복수의 앱을 표시하는 단계, 사용자로부터 입력어를 입력받는 단계, 상기 복수의 앱으로 상기 입력받은 입력어를 전달하는 단계, 상기 복수의 앱 중 상기 입력어를 처리할 수 있는 적어도 하나의 앱으로부터 상기 입력어에 대한 반환값을 전달받는 단계 상기 반환값에 기초하여 상기 적어도 하나의 앱을 대기 상태로 변경하는 단계 및 상기 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받는 경우, 상기 추가 입력어에 대응하는 앱을 실행시키는 단계를 포함하는 입력어 처리 방법을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자의 연속적인 음성 입력에 대해 모든 앱이 실시간으로 반응하고, 각 앱의 반응에 대해 사용자가 앱의 실행에 대한 선택권을 갖는 사용자 단말 및 방법을 제공할 수 있다. 동시에 복수의 앱을 활성화 및 실행시키도록 하는 앱 실행 환경을 제공하는 사용자 단말 및 방법을 제공할 수 있다. 사용자의 명령 및 키워드를 모든 앱으로 전달하고, 사용자의 명령 및 키워드에 반응하는 앱을 강조하여 표시하는 사용자 단말 및 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 입력어 처리 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 사용자 단말에 표시된 메인 화면을 도시한 예시적인 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 사용자 단말로부터 입력받은 입력어를 복수의 앱으로 전달하는 과정을 설명하기 위한 예시적인 도면이다.
도 5a 내지 도 5d는 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어를 제 1 앱을 통해 처리하는 과정을 설명하기 위한 예시적인 도면이다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어를 제 2 앱을 통해 처리하는 과정을 도시한 예시적인 도면이다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어를 제 3 앱을 통해 처리하는 과정을 도시한 예시적인 도면이다.
도 8은 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어를 복수의 앱으로 전달하여 입력어에 대한 반환값을 전달받은 과정을 설명하기 위한 예시적인 도면이다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어에 따라 활성화된 앱을 통해 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다.
도 10은 본 발명의 일 실시예에 따른 사용자 단말에서 예약어의 입력 여부에 따라 입력어를 처리하는 방법의 순서도이다.
도 11은 본 발명의 일 실시예에 따른 사용자 단말에서 입력어를 처리하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 입력어 처리 시스템의 구성도이다. 도 1을 참조하면, 입력어 처리 시스템(1)은 사용자 단말(110), 디스플레이 장치(120) 및 복수의 서비스 제공 서버(130)를 포함할 수 있다. 사용자 단말(110), 디스플레이 장치(120) 및 복수의 서비스 제공 서버(130)는 입력어 처리 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다.
도 1의 입력어 처리 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 사용자 단말(110)은 복수의 서비스 제공 서버(130)와 동시에 또는 시간 간격을 두고 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
사용자 단말(110)은 메인 화면 및 메인 화면에 노출되도록 기설정된 복수의 앱을 표시할 수 있다.
사용자 단말(110)은 사용자로부터 입력어를 입력받고, 복수의 앱으로 입력받은 입력어를 전달할 수 있다. 입력어는 자연어로 구성될 수 있고, 사용자로부터 입력받을 수 있는 텍스트, 음성, 모션 등을 포함할 수 있다. 구체적으로, 사용자 단말(110)은 입력받은 입력어에 인덱스를 부여하여 단어 단위로 구분하고, 입력받은 순서로 단어 단위로 구분된 입력어를 복수의 앱으로 전달할 수 있다. 예를 들어, 사용자 단말(110)은 복수의 앱 중 어느 하나가 실행 상태인 경우, 입력어를 실행 상태인 앱으로 전달할 수 있다. 또한, 활성 명령어에 의해 시스템이 활성화된 경우, 복수의 앱으로 입력어를 전달할 수 있다.
사용자 단말(110)은 입력어가 앱에서의 처리보다 시스템적으로 우선 처리되어야 할 예약어에 해당하는지를 판단하고, 입력어가 예약어에 해당하는 경우, 예약어를 처리할 수 있다. 입력어가 예약어에 해당하는 경우, 사용자 단말(110)은 입력어를 복수의 앱으로 전달하지 않는다. 이 때, 사용자 단말(110)이 예약어 무시 상태인 경우, 사용자 단말(110)은 입력어가 예약어에 해당하는지에 대한 판단 없이 입력어를 복수의 앱으로 전달할 수 있다. 또는, 복수의 앱 중 어느 하나가 실행 상태인 경우, 사용자 단말(110)은 입력어를 실행 상태인 앱으로 전달할 수 있다.
사용자 단말(110)은 예약어가 앱 호출어를 포함하고, 사용자(115)로부터 입력된 입력어가 앱 호출어에 해당하는 경우, 현재 실행 상태인 앱을 대기 상태로 변경하고, 앱 호출어의 대상인 앱을 실행 상태로 변경할 수 있다.
사용자 단말(110)은 복수의 앱 중 입력어를 처리할 수 있는 적어도 하나의 앱으로부터 입력어에 대한 반환값을 전달받을 수 있다. 반환값은 예를 들어, 각 앱이 입력받은 입력어를 처리하는 경우에 얻을 수 있는 결과값 및 자동 실행에 대한 정보 등을 포함할 수 있다. 예를 들어, 반환값이 자동 실행에 대한 정보를 포함하고, 입력어가 기설정된 시간 후에 복수의 앱 중 어느 하나에 대한 자동 실행이 가능한 키워드를 포함한 경우, 사용자 단말(110)은 자동 실행에 해당하는 앱으로부터 자동 실행에 대한 정보를 전달받을 수 있다.
사용자 단말(110)은 반환값에 기초하여 적어도 하나의 앱을 대기 상태로 변경할 수 있다.
예를 들어, 반환값이 각 앱이 입력받은 입력어를 처리하는 경우에 얻을 수 있는 결과값을 포함하는 경우, 사용자 단말(110)은 결과값을 적어도 하나의 앱에 오버레이하도록 표시할 수 있다. 다른 예를 들어, 반환값이 자동 실행에 대한 정보를 포함하는 경우, 사용자 단말(110)은 자동 실행에 대한 정보를 자동 실행에 해당하는 앱에 오버레이하도록 표시할 수 있다. 이 때, 기설정된 시간 내에 추가적인 입력어가 입력되지 않는 경우, 자동 실행에 해당하는 앱이 실행될 수 있다.
사용자 단말(110)은 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받을 수 있고, 추가 입력어에 대응하는 앱을 실행시킬 수 있다. 이 때, 입력어는 추가 입력어에 대응하는 앱에 의해 처리될 수 있다.
사용자 단말(110)은 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받을 수 있으며, 추가 입력어에 대응하는 앱을 대기 상태로부터 실행 상태로 변경하고, 메인 화면으로부터 실행 상태인 앱의 실행 화면으로 전환할 수 있다. 예를 들어, 사용자 단말(110)은 메인 화면으로부터 실행 상태인 앱의 실행 화면으로 전환되는 동안의 렌더링 처리를 수행할 수 있다. 이 때, 입력어의 결과 화면은 실행 상태인 앱에 의해 처리되는 것일 수 있으며, 실행 상태인 앱으로 전환된 후 입력어의 결과 화면에 대한 렌더링 처리가 수행될 수 있다.
사용자 단말(110)은 사용자(115)로부터 화면 초기화에 대한 입력어를 입력받은 경우, 입력어를 실행 상태인 앱으로 전달할 수 있다. 이 때, 실행 상태인 앱은 입력어에 기초하여 화면 초기화를 수행할 수 있다.
이러한 사용자 단말(110)은 마이크(MIC)와 스피커(Speaker)를 구비한 인공지능(AI, Artificial Intellectual) 비서 기능을 제공하는 단말일 수 있다.
디스플레이 장치(120)는 사용자 단말(110)과 연동하여 메인 화면을 출력할 수 있다. 또한, 디스플레이 장치(120)는 메인 화면을 통해 기설정된 복수의 앱을 함께 출력할 수 있다.
복수의 서비스 제공 서버(130)는 각각의 앱에 대한 서비스를 제공하는 외부 서버로서, 각 앱에 해당하는 입력어에 대한 반환값을 도출하여 사용자 단말(110)로 전달할 수 있다. 예를 들어, 사용자 단말(110)은 입력어에 대한 반환값이 복수의 서비스 제공 서버(130)와 연동 없이 각 앱에 의해 도출될 수 있는 경우, 복수의 서비스 제공 서버(130)와 연동 없이 각 앱으로부터 전달받은 반환값에 기초하여 해당 앱을 활성화시킬 수 있다. 다른 예를 들어, 사용자 단말(110)은 입력어에 대한 반환값이 각 앱에 의해 도출될 수 없어 복수의 서비스 제공 서버(130)와의 연동이 요구되는 경우, 각 앱으로부터 반환값 대신 반환값에 구성 요소(예를 들어, 요청 URL, 컨텐츠 타입, 콜백 함수 등)를 수신하고, 수신한 반환값에 대한 구성 요소에 기초하여 복수의 서비스 제공 서버(130)와 연동하여 반환값을 도출할 수 있다.
음성 인식 서버(140)는 사용자 단말(110)로부터 사용자의 음성 신호에 해당하는 입력어를 수신하는 경우, 음성 신호로부터 특정 서비스 또는 프로세스를 실행하도록 하는 명령어를 해석/추론/도출하여 이를 사용자 단말(110)로 전송할 수 있다. 사용자 단말(110)은 수신한 명령어에 기초하여 복수의 앱과 연계하여 입력어를 처리할 수 있다. 이러한 음성 인식 서버(140)의 기능은 사용자 단말(110) 내에 설치될 수 있는 모듈로서 구현될 수도 있다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다. 도 2를 참조하면, 사용자 단말(110)은 표시부(210), 입력부(220), 예약어 판단부(230), 예약어 실행부(240), 입력어 전달부(250), 상태 변경부(260), 전환부(270) 및 실행부(280)를 포함할 수 있다.
표시부(210)는 메인 화면 및 메인 화면에 노출되도록 기설정된 복수의 앱을 표시할 수 있다. 메인 화면과 과련하여 도 3을 통해 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 사용자 단말에 표시된 메인 화면을 도시한 예시적인 도면이다. 도 3을 참조하면, 표시부(210)는 메인 화면을 표시하고, 메인 화면에 노출되도록 예를 들어, 검색앱(310), 음악앱(320), TV앱(330), 쇼핑앱(340), 증권앱(350), 배달앱, 지도앱, 전화앱, 쿠폰앱, 메모앱 등을 표시할 수 있다.
다시 도 2로 돌아와서, 입력부(220)는 사용자(115)로부터 입력어를 입력받을 수 있다. 예를 들어, 입력부(220)는 사용자로부터 마이크(MIC)를 통해 "오늘 KT 주가는"과 같은 입력어를 입력받을 수 있다.
입력부(220)는 사용자(115)로부터 화면 초기화에 대한 입력어를 입력받을 수 있다. 예를 들어, 입력부(220)는 사용자(115)로부터 "뒤로", "종료", "처음으로", "홈으로" 등과 같은 화면 초기화에 대한 입력어를 입력받을 수 있다.
입력부(220)는 사용자(115)로부터 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받을 수 있다. 이 때, 입력어는 추가 입력어에 대응하는 앱에 의해 처리될 수 있다. 예를 들어, 입력부(220)는 TV앱이 활성화된 상태에서 사용자(115)로부터 "틀어", "재생", "플레이(play)" 등과 같은 추가 입력어를 입력받을 수 있다.
예약어 판단부(230)는 입력어가 앱에서의 처리보다 시스템적으로 우선 처리되어야 할 예약어에 해당하는지를 판단할 수 있다. 예약어는 시스템 예약어와 앱 예약어로 구분될 수 있다. 시스템 예약어는 "친구야", "기가지니"와 같이 시스템을 활성화시키기 위한 예약어와 복수의 앱을 공동으로 제어하는 명령어인 "뒤로", "종료", "홈으로" 등을 포함할 수 있다. 앱 예약어는 실제 앱을 호출하는 명령어인 앱 호출어와 각 앱에서 독립적으로 수행되는 명령어인 앱 명령어를 포함할 수 있다. 예를 들어, 앱 명령어는 TV 앱에서 독립적으로 수행되는 명령어인 "재생" 또는 "틀어"와 같은 명령어를 포함할 수 있다.
예약어 실행부(240)는 입력어가 예약어에 해당하는 경우, 예약어를 처리할 수 있다. 예약어 실행부(240)는 입력어가 앱 호출어에 해당하는 경우, 현재 실행 상태인 앱을 대기 상태로 변경하고, 앱 호출어의 대상인 앱을 실행 상태로 변경할 수 있다. 예를 들어, 현재 TV앱이 실행 상태이고, 입력부(220)에서 사용자로부터 "지니"라는 입력어를 입력받고, 예약어 판단부(230)가 "지니"가 앱 호출어로 판단한 경우, 예약어 실행부(240)는 TV 앱을 대기 상태로 변경하고, "지니"라는 앱 호출어에 대응하는 음악앱을 실행 상태로 변경할 수 있다.
입력어 전달부(250)는 복수의 앱으로 입력받은 입력어를 전달할 수 있다. 입력어 전달부(250)는 활성 명령어에 의해 시스템이 활성화된 경우, 복수의 앱으로 입력어를 전달할 수 있다.
이를 위해, 입력어 전달부(250)는 입력어에 대해 자연어를 실시간으로 검출하고, 연속적인 입력어를 교정할 수도 있다. 예를 들어, 사용자로부터 입력된 입력어가 '해박하다'라는 문장인 경우, 입력어 전달부(250)는 '해->해바->해바케->해박해'로 실시간으로 검출 및 교정하여 단위 단위로 구분할 수 있다. 이를 위해, 본원 발명의 음성 입력 인터페이스는 활성화 상태부터 비활성화 상태까지 사용자의 총 입력 시간이나 인터벌 시간에 관계 없이 지속적으로 음성의 입력이 가능하도록(예를 들어, 입력어를 단어 단위로 교정하기 위해) 유지될 수 있다.
입력어 전달부(250)는 입력받은 입력어에 인덱스를 부여하여 단어 단위로 구분하고, 입력받은 순서로 단어 단위로 구분된 입력어를 복수의 앱으로 전달할 수 있다. 이 때, 교정 또는 단어 구분에 업데이트가 반영되는 타이머가 할당될 수 있다. 예를 들어, '해박하다'라는 문장에서 '해'라는 단어의 최초 입력 후 일정 시간 내에 해당 인덱스가 '해바'라고 업데이트되면, 입력어 전달부(250)는 이를 바로 복수의 앱으로 전달하지 않고, 타이머를 다시 초기화 시킨 후 일정 시간 내에 '해바케'와 '해박해'가 연이어 업데이트될 수 있다. 이 때, 단어가 완전히 교정 및 구분되기 전에는 자연어를 앱으로 바로 전달되지 않도록 할 수 있다. 입력어 전달부(250)는 단어가 완전히 구분되었다고 판단된 경우, 해당 스트링을 복수의 앱으로 전달할 수 있다.
복수의 앱으로 입력받은 입력어를 전달하는 과정에 대해서는 도 4a 및 도 4b를 통해 상세히 설명하도록 한다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 사용자 단말로부터 입력받은 입력어를 복수의 앱으로 전달하는 과정을 설명하기 위한 예시적인 도면이다.
도 4a는 종래의 사용자 단말로부터 입력받은 입력어를 앱으로 전달하는 과정을 도시한 예시적인 도면이다. 도 4a를 참조하면, 종래의 사용자 단말은 사용자로부터 입력받은 입력어를 특정 앱으로 전달하여, 해당 앱에 대해 자연어 검출, 해석, 추론 과정을 거쳐 결론을 도출할 수 있다.
예를 들어, 사용자 단말이 사용자로부터 "오늘 현대차 주가는?"이라는 입력어(400)를 입력받은 경우, 사용자 단말은 'callTodayStocks'라는 명령어와 '현대차'라는 파라미터를 함께 2번째 앱(410)인 증권앱으로 전달할 수 있다.
도 4b는 본 발명의 일 실시예에 따른 입력어 전달부에서 사용자로부터 입력받은 입력어를 복수의 앱으로 전달하는 과정을 도시한 예시적인 도면이다. 도 4b를 참조하면, 입력어 전달부(250)는 사용자(115)로부터 입력부(220)에 입력된 입력어 중 음성 관련 데이터만을 추출하여 문자열로 반환하고, 반환된 문자열을 앞뒤 음절의 변화 및 사전(dictionary)을 통해 가장 적합한 문자열로 치환할 수 있다.
예를 들어, 입력부(220)가 사용자(115)로부터 "오늘 현대차 주가는?"이라는 입력어(400)를 입력받은 경우, 입력어 전달부(250)는 "오늘/현대차/주가는"이라는 자연어 검출만을 수행하고, 해석 이하의 과정을 모든 앱에서 개별적으로 수행할 수 있도록 복수의 앱(420)으로 입력어를 전달할 수 있다.
상술한 내용을 구현하기 위해, 본원 발명에서 입력어를 전달/처리하는 주제는 중앙 제어부(미도시) 및 각 앱을 포함할 수 있다. 예를 들어, 1) 중앙 제어부(미도시, 또는 메인 시스템)는 입력받은 입력어를 각 앱으로 전달하고, 입력어를 처리할 수 있는 앱으로부터 입력어에 대한 반환값을 전달받을 수 있다. 예를 들어, 반환값이란, 각 앱에 의해 입력어가 직접 처리되는 것이 아니라, 입력어가 처리되는 경우에 도출될 수 있는 결과값(예를 들어, 검색 컨텐츠 개수 등)을 의미할 수 있다. 다시 말해, 중앙 제어부에 의해 입력어/반환값이 전달되는 과정은 각 앱에 의해 입력어에 대한 직접적인 처리가 수행되기 전에 행해지므로, 이러한 전달/반환 과정을 입력어에 대한 전처리 과정으로 볼 수 있다.
2) 이 후, 중앙 제어부는 사용자가 반환값을 인식할 수 있도록 각 앱을 활성화시키는 용도로 전달받은 반환값을 해당 앱에 표시하고, 사용자는 각 앱에 표시된 반환값을 참고하여 입력어를 처리할 수 있는 앱 중 어느 하나를 선택하기 위한 추가 입력어를 발화할 수 있다. 중앙 제어부는 입력받은 추가 입력어에 해당하는 앱을 통해 입력어를 처리할 수 있도록 화면 전환 프로세스를 수행하고, 화면 전환 프로세스가 완료된 후에 해당 앱을 통해 입력어가 처리될 수 있다.
3) 즉, 각 앱으로의 입력어 전달, 입력어에 대한 반환값 수신, 반환값 표시, 화면 전환에 대한 처리는 중앙 처리부에서 수행되며, 입력어에 대한 반환값 도출 및 입력어 처리는 각 앱에서 수행될 수 있다. 각 앱에 의해 수행되는 입력어에 대한 반환값 도출 과정은 단순히 입력어가 처리되는 경우에 도출될 수 있는 예시값을 도출하는 과정이므로, 직접적으로 입력어를 처리하고 렌더링하는 입력어 처리 과정보다 간단하게 처리되는 과정으로 볼 수 있다.
다시 도 2로 돌아와서, 입력어 전달부(250)는 입력어가 예약어에 해당하는 경우, 입력어를 복수의 앱으로 전달하지 않을 수 있다. 예를 들어, 입력어 전달부(250)는 사용자 단말(110)이 예약어 무시 상태인 경우, 입력어가 예약어에 해당하는지에 대한 판단 없이 입력어를 복수의 앱으로 전달할 수 있다. 이 때, 복수의 앱 중 어느 하나가 실행 상태인 경우, 입력어를 실행 상태인 앱으로 전달할 수 있다.
입력어 전달부(250)는 복수의 앱 중 어느 하나가 실행 상태인 경우, 입력어 전달부(250)는 입력어를 실행 상태인 앱으로 전달할 수 있다.
입력어 전달부(250)는 복수의 앱 중 입력어를 처리할 수 있는 적어도 하나의 앱으로부터 입력어에 대한 반환값을 전달받을 수 있다. 반환값은 예를 들어, 각 앱이 입력받은 입력어를 처리하는 경우에 얻을 수 있는 결과값, 자동 실행에 대한 정보 등을 포함할 수 있다.
입력어 전달부(250)는 각 앱에 따라 반환값에 대한 응답 시간을 제한함으로써 각 앱에서 허가되지 않은 고용량 데이터의 전송을 예방할 수 있다. 입력어 전달부(250)는 반환값을 각 앱으로부터 수신하는 순서에 대해 지정받음으로써 각 앱의 호출 순서를 다르게 지정할 수 있다. 입력어 전달부(250)는 입력어가 기설정된 시간 후에 복수의 앱 중 어느 하나에 대한 자동 실행이 가능한 키워드를 포함한 경우, 자동 실행에 해당하는 앱으로부터 자동 실행에 대한 정보를 전달받을 수 있다.
상태 변경부(260)는 반환값에 기초하여 적어도 하나의 앱을 대기 상태로 변경할 수 있다. 예를 들어, 대기 상태는 각 앱이 입력어를 처리할 수 있다고 반응하여, 실행되기 전 대기 중인 상태를 의미하며, 상태 변경부(260)는 비활성화 상태의 앱을 반환값에 기초하여 대기 상태로 변경할 수 있다.
예를 들어, 상태 변경부(260)는 반환값이 각 앱이 입력받은 입력어를 처리하는 경우에 얻을 수 있는 결과값을 적어도 하나의 앱에 오버레이하도록 표시할 수 있다.
다른 예를 들어, 상태 변경부(260)는 반환값이 자동 실행에 대한 정보를 포함하는 경우, 자동 실행에 대한 정보를 자동 실행에 해당하는 앱에 오버레이하도록 표시할 수 있다. 이 때, 기설정된 시간 내에 추가적인 입력어가 입력부(220)로 입력되지 않는 경우, 자동 실행에 해당하는 앱이 실행될 수 있다.
또한, 상태 변경부(260)는 반환값에 기초하여 각 앱에 대해 표시되는 정도를 각 앱 별로 차등적으로 처리하도록 할 수 있다. 예를 들어, 상태 변경부(260)는 일부 앱에 대해 입력어 또는 입력어에 대한 반환값이 누적됨에 따라 점점 대기 상태의 정도를 변화시키는 등 강조 효과에 대하여 차이를 설정하는 것이 가능하다.
전환부(270)는 추가 입력어에 대응하는 앱을 대기 상태로부터 실행 상태로 변경하고, 메인 화면으로부터 실행 상태인 앱의 실행 화면으로 전환할 수 있다. 이 때, 입력어는 실행 상태인 앱에 의해 처리될 수 있다. 예를 들어, 전환부(270)는 메인 화면으로부터 실행 상태인 앱의 실행 화면으로 전환되는 동안의 렌더링 처리를 수행하고, 전환부(270)에서 메인 화면으로부터 실행 상태인 앱으로 전환되면, 실행 상태인 앱에 의해 입력어의 결과 화면에 대한 렌더링이 처리될 수 있다.
전환부(270)는 각 앱 별로 처리되는 화면 전환 효과를 차등적으로 부과하여 특정 앱에 대한 화면 전환 효과가 시각적으로 부각되도록 할 수 있다.
전환부(270)는 입력부(220)를 통해 화면 초기화에 대한 입력어를 입력받은 경우, 입력어를 실행 상태인 앱으로 전달할 수 있다. 이 때, 실행 상태인 앱은 입력어에 기초하여 화면 초기화를 수행할 수 있다.
앱 실행부(280)은 입력부(220)를 통해 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받는 경우, 추가 입력어에 대응하는 앱을 실행시킬 수 있다. 입력어는 실행된 앱에 의해서 처리될 수 있다. 다시 말해, 본원 발명의 중앙 제어부는 앱을 실행시키는 경우에 발생하는 전환 화면의 렌더링을 처리할 수 있고, 각 앱은 각 앱이 실행된 이후의 입력어에 해당하는 결과 화면의 렌더링을 처리할 수 있다.
도 5a 내지 도 5d는 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어를 제 1 앱을 통해 처리하는 과정을 설명하기 위한 예시적인 도면이다. 사용자 단말(110)은 사용자로부터 입력어를 입력받지 않은 상태인 경우, 모든 앱을 비시각화할 수 있다. 또는, 모든 앱을 시각화하더라도 비활성화 상태로 표시할 수 있다.
도 5a는 본 발명의 일 실시예에 따른 사용자 단말에서 입력어에 대한 반환값에 기초하여 대기 상태로 표시된 앱을 도시한 예시적인 도면이다. 도 5a를 참조하면, 사용자 단말(110)은 사용자(115)로부터 "무한도전"이라는 입력어를 입력받을 수 있다.
사용자 단말(110)은 "무한도전"이라는 입력어를 복수의 앱으로 전달하고, 복수의 앱으로부터 입력어에 대한 반환값을 수신하여 표시할 수 있다. 이 때, 입력어에 대한 반환값은 각 앱에서 도출될 수 있다.
예를 들어, 사용자 단말(110)은 "무한도전"이라는 입력어와 관련하여, '음악앱'(510)을 통해 '241건'의 반환값을 전달받을 수 있고, 'TV앱'(520)을 통해 '4건'의 반환값을 전달받을 수 있다. 이 때, 사용자 단말(110)은 '음악앱'과 'TV앱'을 대기 상태로 변경하고, 전달받은 반환값에 포함된 입력어에 대한 결과값을 앱에 오버레이하여 표시할 수 있다.
도 5b 및 도 5c는 본 발명의 일 실시예에 따른 사용자 단말에서 추가 입력어에 대응하는 앱을 대기 상태로부터 실행 상태로 변경하는 과정을 설명하기 위한 예시적인 도면이다.
도 5b를 참조하면, 사용자 단말(110)이 추가 입력어로 "TV"를 입력받은 경우, 사용자 단말(110)은 'TV앱'을 대기 상태로부터 실행 상태(530)로 변경하고, 메인 화면으로부터 실행 상태(530)인 앱으로 전환할 수 있다. 이 때, 메인 화면으로부터 실행 상태(530)인 앱으로 전환되는 동안의 렌더링 처리는 전환부(270)에서 처리되는 것일 수 있다.
도 5c를 참조하면, 사용자 단말(110)은 대기 상태인 앱으로부터 실행 상태인 앱의 실행 화면(540)으로 전환되면, 전환 이후의 실행 화면(540)에 대한 구성은 실행 상태인 앱에 의해 처리될 수 있다. 이 때, 입력어의 결과 화면에 대한 렌더링 처리는 실행 상태인 앱에 의해 수행될 수 있다.
도 5d는 본 발명의 일 실시예에 따른 사용자 단말에서 실행 상태인 앱에 의해 추가 입력어를 처리하는 과정을 도시한 예시적인 도면이다. 도 5d를 참조하면, 사용자 단말(110)은 대기 상태이던 'TV앱'이 실행 상태로 전환된 이후, 사용자(115)로부터 "플레이(play)"라는 추가 입력어를 입력받으면, 입력받은 추가 입력어를 실행 상태로 전환된 'TV앱'으로 전달할 수 있다. 이 때, VoD의 수행 주체는 'TV앱'일 수 있다.
이후, 사용자 단말(110)은 "무한도전" VoD(550)를 디스플레이 장치(120)를 통해 출력할 수 있다.
만약, 사용자(115)로부터 "플레이"대신 "뒤로" 또는 "종료"를 입력받으면, 사용자 단말(110)은 화면 초기화를 수행할 수 있다. 이 때, 전환부(270)는 각 앱으로 화면 초기화를 요청하고, 화면 전환을 수행하고, 각 앱이 실제 화면 및 객체 초기화를 각각 진행할 수 있다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어를 제 2 앱을 통해 처리하는 과정을 도시한 예시적인 도면이다. 사용자 단말(110)은 사용자로부터 입력어를 입력받지 않은 상태인 경우, 모든 앱을 비시각화할 수 있다. 또는, 모든 앱을 시각화하더라도 비활성화 상태로 표시할 수 있다.
도 6a는 본 발명의 일 실시예에 따른 사용자 단말에서 입력어에 대한 반환값에 기초하여 대기 상태로 표시된 앱을 도시한 예시적인 도면이다. 도 6a를 참조하면, 사용자 단말(110)이 사용자(115)로부터 "KT"라는 입력어를 입력받은 경우, 사용자 단말(110)은 실시간으로 자연어를 검출하여 해장 문자열을 바탕으로 화면에 특정 정보를 추가로 표시하거나, 기존 객체에 별도의 표기 등을 할 수 있다.
이후, 사용자(115)로부터 "오늘 주식 알려 줘"(600)라는 추가 입력어를 입력받은 경우, 사용자 단말(110)은 실시간으로 자연어를 검출하여 'KT/오늘/주식/알려/줘'라는 인덱스 순으로 복수의 앱으로 전달할 수 있다. 이러한 과정은 사용자 단말(110)의 전환부(270)에 의해 수행될 수 있다.
사용자 단말(110)은 입력어에 대한 반환값에 기초하여 '대우증권앱'(610)을 대기 상태로 변경할 수 있다. 사용자 단말(110)은 사용자로부터 "대우증권"을 추가 입력어로 입력받은 경우, 사용자 단말(110)은 추가 입력어에 대응하는 앱을 대기 상태로부터 실행 상태로 변경하고, 메인 화면으로부터 실행 상태인 앱의 실행 화면으로 전환할 수 있다. 메인 화면으로부터 실행 상태인 앱의 실행 화면으로 전환되는 동안의 렌더링 처리는 해당 앱이 아닌 전환부(270)에서 처리되는 것일 수 있다.
도 6b는 본 발명의 일 실시예에 따른 사용자 단말에서 추가 입력어에 대응하는 앱을 대기 상태로부터 실행 상태로 변경하는 과정을 설명하기 위한 예시적인 도면이다. 도 6b를 참조하면, '대우증권앱'(610)이 실행 상태로 변경되면, '대우증권앱'(610)은 'KT' 주가(620)를 조회하여 표시할 수 있다. 이 때, 렌더링 처리는 '대우증권앱'(610)에 의해 수행될 수 있다.
만약, 사용자(115)로부터 "뒤로" 또는 "종료"를 입력받으면, 사용자 단말(110)은 화면 초기화를 수행할 수 있다. 이 때, 전환부(270)는 각 앱으로 화면 초기화를 요청하고, 화면 전환을 수행하고, 각 앱이 실제 화면 및 객체 초기화를 각각 진행할 수 있다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어를 제 3 앱을 통해 처리하는 과정을 도시한 예시적인 도면이다. 사용자 단말(110)은 사용자로부터 입력어를 입력받지 않은 상태인 경우, 모든 앱을 비시각화할 수 있다. 또는, 모든 앱을 시각화하더라도 비활성화 상태로 표시할 수 있다.
도 7a는 본 발명의 일 실시예에 따른 사용자 단말에서 입력어에 대한 반환값에 기초하여 대기 상태로 표시된 앱을 도시한 예시적인 도면이다. 도 7a를 참조하면, 사용자 단말(110)이 사용자(115)로부터 "YTN"(700)이라는 입력어를 입력받은 경우, 사용자 단말(110)은 실시간으로 자연어를 검출하여 해장 문자열을 바탕으로 화면에 특정 정보를 추가로 표시하거나, 기존 객체에 별도의 표기 등을 할 수 있다. 이 때, 수행 주체는 사용자 단말(110)의 전환부(270)일 수 있다.
'TV앱'(710)은 'YTN'(700)이라는 입력어가 자동 실행이 가능한 키워드를 포함하고 있음을 판단하여, 자동 실행에 해당하는 앱으로부터 자동 실행에 대한 정보를 전달받고, 자동 실행에 대한 정보를 자동 실행에 해당하는 앱에 오버레이하도록 표시할 수 있다. 예를 들어, 사용자 단말(110)의 전환부(270)는 일정 시간 이후 자동 실행이 이루어진다는 안내 멘트를 시각적으로 화면에 표시하고, 자동 실행이 즉각 실행될 수 있도록 하는 명령어(예를 들어, "틀어", "플레이", "재생" 등)에 대한 정보를 'TV앱'(710)으로부터 전달받아 해당 명령어를 화면에 추가로 표시할 수도 있다.
이후, 사용자(115)로부터 어떤 입력도 입력받지 않은 경우, 사용자 단말(110)은 일정 시간 내로 설정된 타이머가 종료되면, 즉각적으로 채널 변경을 수행하여 'YTN' 채널 화면(720)을 표시할 수 있다.
또는, 사용자(115)로부터 "틀어"라는 입력어를 입력받은 경우, 사용자 단말(110)은 타이머를 무시하고, 즉각 채널 변경을 수행할 수 있다.
또는, 사용자(115)로부터 별도의 입력어 또는 예약어를 입력받은 경우, 사용자 단말(110)은 타이머 및 즉각 실행 명령어를 제거하고, 이와 관련된 표시 사항도 제거할 수 있다.
도 8은 본 발명의 일 실시예에 따른 사용자 단말에서 입력받은 입력어를 복수의 앱으로 전달하여 입력어에 대한 반환값을 전달받은 과정을 설명하기 위한 예시적인 도면이다. 도 8을 참조하면, 사용자 단말(110)은 사용자로부터 입력받은 입력어를 앱의 예약어 유무와 관계없이 일반 검색어로 인지하여 복수의 앱으로 전달할 수 있다.
예를 들어, 사용자로부터 "문재인"(800) 대통령을 입력어로 입력받은 경우, 사용자 단말(110)은 복수의 앱으로 "문재인"(800)을 전달하고, 각각의 앱으로부터 그에 대한 반환값을 전달받을 수 있다. 예를 들어, 사용자 단말(110)은 복수의 검색 앱(810 내지 840)으로부터 반환값을 전달받을 수 있다.
사용자 단말(110)은 입력어에 대한 검색 결과를 검색앱을 통해 확인할 수 있다. 예를 들어, 사용자 단말(110)은 2번째 앱에 해당하는 '네이버'를 통해 검색 결과를 확인할 수 있으며, 사용자(115)로부터 "위로"라는 입력어를 입력받으면 '구글'을 통해 검색 결과를 확인할 수 있고, "아래로"라는 입력어를 입력받으면 '유투브'를 통해 검색 결과를 확인할 수도 있다.
사용자 단말(110)은 사용자(115)로부터 "다시"라는 예약어를 입력받은 경우, 사용자 단말(110)은 일정 시간 내로 입력되는 입력어를 일반 문자열로써 복수의 앱으로 다시 전달할 수 있다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 사용자 단말에서 실행 상태로 전환된 앱을 앱에서 제공하는 실행폼에 따라 표시한 예시적인 도면이다.
도 9a는 본 발명의 일 실시예에 따른 실행 상태인 TV앱에서 제공하는 실행폼을 도시한 예시적인 도면이다. 도 9a를 참조하면, 사용자 단말(110)은 사용자(115)로부터 "무한도전"(900)이라는 입력어를 입력받고, 무한도전 535회에 대한 VoD 정보(910)를 표시할 수 있다. 이 때, 사용자(115)로부터 "플레이"(920)를 입력받으면, 사용자 단말(110)은 해당 회차의 VoD를 재생할 수 있다.
도 9b는 본 발명의 일 실시예에 따른 실행 상태인 뮤직앱에서 제공하는 실행폼을 도시한 예시적인 도면이다. 도 9b를 참조하면, 사용자 단말(110)은 사용자(115)로부터 "윤도현"(950)이라는 입력어를 입력받고, "윤도현"(950)이 최근 발매한 앨범 정보(960)를 표시할 수 있다. 이 때, 사용자(115)로부터 "플레이"(970)를 입력받으면, 사용자 단말(110)은 해당 앨범을 재생할 수 있다.
도 10은 본 발명의 일 실시예에 따른 사용자 단말에서 예약어의 입력 여부에 따라 입력어를 처리하는 방법의 순서도이다. 도 10을 참조하면, 사용자 단말(110)은 시스템의 활성화 여부를 판단할 수 있다(S1000). 시스템의 활성화는 사용자(115)의 음성 입력을 바탕으로 각 앱에 입력어를 전달할 준비가 되어있는지를 확인하는 상태로, 예를 들어, 사용자(115)가 TV 시청만을 하고 있는 경우, 시스템은 비활성화 상태로 간주할 수 있다.
예를 들어, 사용자 단말(110)은 시스템이 활성화되지 않은 경우(S1001), 활성 명령어의 입력 여부를 판단할 수 있다(S1002). 사용자 단말(110)은 활성 명령어가 입력되지 않은 경우(S1003), 입력된 입력어를 무시하고(S1004), 활성 명령어가 입력된 경우(S1005), 시스템을 활성화(활성화 상태)시킬 수 있다(S1006). 활성 명령어는 각 앱에 입력어를 전달하거나, 특정 앱을 호출할 수 있는 상태가 되도록 시스템을 구동하는 명령어일 수 있다.
사용자 단말(110)은 시스템이 활성화된 경우(S1007), 예약어의 무시 상태 여부를 판단할 수 있다(S1008). 예약어의 무시 상태는 사용자 단말(110)이 모든 예약어를 무시하고, 사용자(115)가 입력하는 모든 입력어를 검색어로 간주하는 상태를 의미할 수 있다.
본 발명에서 제안하는 입력어 처리 시스템은 사용자(115)로부터 입력되는 모든 음성을 단어 단위로 실시간으로 처리하거나, 복수의 앱으로 전달할 수 있다. 그러나, 실시간으로 입력된 입력어가 예약어인 경우, 사용자 단말(110)은 예약어에 해당하는 명령어를 수행할 수 있다. 이 경우, 예약어를 검색 키워드 등의 입력어로 사용할 수 없으므로, 본 발명에서는 '예약어 무시 상태'라는 상태값을 부여하여 입력어 처리의 최상위 단계에서 우선적 분기문으로 예외 처리를 수행할 수 있도록 한다. '예약어 무시 상태'로 설정된 경우, 사용자 단말(110)은 모든 예약어와 관련된 처리를 수행하지 않는다.
'예약어 무시 상태'는 사용자(115)가 특정 예약어를 입력하거나, 앱에서 특정 상황의 발생 시 강제로 일정 상황 동안 설정이 가능하다.
예를 들어, 사용자(115)가 특정 예약어를 입력하는 경우는 메인 앱에서 다른 입력어를 입력하기 전에 '검색'이라는 입력어를 입력하는 경우, 서브 앱의 실행 상태에서 서브 앱이 사전에 지정한 특정 예약어를 입력한 경우를 포함할 수 있다. 예를 들어, '뮤직앱'이 실행된 상태에서 사용자(115)로부터 "검색" 또는 "다시"라는 예약어를 입력받은 경우, '검색앱'에서 검색 결과를 제공하였으나, 사용자(115)로부터 "다시"라는 키워드를 입력받은 경우일 수 있다.
다른 예를 들어, 앱에서 특정 상황이 발생하는 경우는 사용자(115)가 별도의 발화를 입력하지 않더라도, 각 앱이 인위적으로 '예약어 무시 상태'를 구현할 수 있다. 예를 들어, 검색 등의 작업이 수행되는 앱에서 검색 결과가 존재하지 않거나, 에외적인 상황으로 접근 혹은 디스플레이가 차단된 경우일 수 있다.
상술한 경우가 발생되면, 사용자 단말(110)은 기존에 입력된 모든 문자열을 초기화하고, 이후 일정 시간 동안 '예약어 무시 상태'를 유지할 수 있다.
예를 들어, 예약어 무시 상태인 경우(S1009), 사용자 단말(110)은 특정 앱의 실행 상태 여부를 판단할 수 있다(S1010). 특정 앱이 실행 상태인 경우(S1011), 사용자 단말(110)은 실행 상태인 앱으로 입력어를 전달하고(S1012), 특정 앱이 실행 상태가 아닌 경우(S1013), 사용자 단말(110)은 모든 앱으로 입력어를 전달할 수 있다(S1014). 연속적인 입력어는 최초 시스템 활성화가 이루어진 이후부터 비활성화(또는 종료)될 때까지의 사용자의 총 입력시간이나 인터벌 시간에 관계없이 지속적으로 음성 입력이 가능하도록 유지될 수 있다. 예약어 무시 상태가 아닌 경우(S1015), 사용자 단말(110)은 시스템 예약어의 여부를 판단할 수 있다(S1016). 시스템 예약어인 경우(S1017), 사용자 단말(110)은 예약어를 처리하고(S1018), 시스템 예약어가 아닌 경우(S1019), 앱 예약어의 여부를 판단할 수 있다(S1020).
앱 예약어가 아닌 경우(S1021), 사용자 단말(110)은 특정 앱의 실행 상태를 판단하는 단계를 거치고(S1010), 앱 예약어인 경우(S1022), 사용자 단말(110)은 앱 호출어의 여부를 판단할 수 있다(S1023). 앱 호출어를 통해 사용자 단말(110)은 현재 실행 중인 앱을 대기 상태로 변경하고, 호출 대상인 앱을 일반 대기 상태에서 실행 상태로 변경할 수 있다.
앱 호출어인 경우(S1024), 사용자 단말(110)은 앱 호출어의 대상인 앱을 실행하고(S1025), 앱 호출어가 아닌 경우(S1026), 사용자 단말(110)은 특정 앱의 실행 상태를 판단하고(S1027), 특정 앱이 실행되고 있지 않은 경우(S1028), 입력어를 무시하고(S1029), 특정 앱이 실행되고 있는 경우(S1030), 실행 상태인 앱에서 입력어를 처리할 수 있다(S1031). 특정 앱이 실행되고 있는지의 여부를 통해 사용자 단말(110)은 앞서 입력된 입력어를 통해 활성화 또는 실행 상태인 앱이 존재하는지를 판단할 수 있다.
상술한 설명에서, 단계 S1000 내지 S1031은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 11은 본 발명의 일 실시예에 따른 사용자 단말에서 입력어를 처리하는 방법의 순서도이다. 도 11에 도시된 실시에에 따른 사용자 단말(110)에 의해 수행되는 입력어를 처리하는 방법은 도 1 내지 도 10에 도시된 실시예에 따른 입력어 처리 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도1 내지 도 10에 도시된 실시예에 따른 사용자 단말(110)에 의해 수행되는 입력어를 처리하는 방법에도 적용된다.
단계 S1110에서 사용자 단말(110)은 메인 화면 및 메인 화면에 노출되도록 기설정된 복수의 앱을 표시할 수 있다.
단계 S1120에서 사용자 단말(110)은 사용자로부터 입력어를 입력받을 수 있다.
단계 S1130에서 사용자 단말(110)은 복수의 앱으로 입력받은 입력어를 전달할 수 있다. 이 때, 사용자 단말(110)이 예약어 무시 상태인 경우, 입력어가 예약어에 해당하는지에 대한 판단 없이 입력어를 복수의 앱으로 전달할 수 있다.
단계 S1140에서 사용자 단말(110)은 복수의 앱 중 입력어를 처리할 수 있는 적어도 하나의 앱으로부터 입력어에 대한 반환값을 전달받을 수 있다.
단계 S1150에서 사용자 단말(110)은 반환값에 기초하여 적어도 하나의 앱을 대기 상태로 변경할 수 있다.
단계 S1160에서 사용자 단말(110)은 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받는 경우, 추가 입력어에 대응하는 앱을 실행시킬 수 있다. 예를 들어, 입력어는 추가 입력어에 대응하는 앱에 의해 처리할 수 있다.
도 11에서는 도시되지 않았으나, 사용자 단말(110)은 추가 입력어에 대응하는 앱을 대기 상태로부터 실행 상태로 변경하는 단계, 메인 화면으로부터 실행 상태인 앱의 실행 화면으로 전환하는 단계 및 입력어를 실행 상태인 앱에 의해 처리하는 단계를 더 포함할 수 있다.
도 11에서는 도시되지 않았으나, 사용자 단말(110)은 사용자 단말(110)의 메인 시스템에 의해 메인 화면으로부터 실행 상태인 앱의 실행 화면으로의 전환에 대한 렌더링 처리를 수행하는 단계 및 실행 상태인 앱으로 전환된 후, 실행 상태인 앱에 의해 입력어의 결과 화면에 대한 렌더링 처리를 수행하는 단계를 더 포함할 수 있다.
도 11에서는 도시되지 않았으나, 사용자 단말(110)은 입력어가 앱에서의 처리보다 시스템적으로 우선 처리되어야 할 예약어에 해당하는지 판단하는 단계 및 입력어가 예약어에 해당하는 경우, 예약어를 처리하는 단계를 더 포함할 수 있다. 이 때, 단계 S1130은 입력어가 예약어에 해당하는 경우, 입력어를 복수의 앱으로 전달하지 않는다.
상술한 설명에서, 단계 S1110 내지 S1160은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 11을 통해 설명된 사용자 단말에서 입력어를 처리하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 11을 통해 설명된 사용자 단말에서 입력어를 처리하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 사용자 단말
120: 디스플레이 장치
130: 복수의 서비스 제공 서버
210: 표시부
220: 입력부
230: 예약어 판단부
240: 예약어 실행부
250: 입력어 전달부
260: 상태 변경부
270: 전환부
280: 앱 실행부

Claims (20)

  1. 입력어를 처리하는 사용자 단말에 있어서,
    복수의 앱을 표시하는 표시부;
    사용자로부터 입력어를 입력받는 입력부;
    상기 복수의 앱으로 상기 입력받은 입력어를 전달하고, 상기 복수의 앱 중 상기 입력어를 처리할 수 있는 적어도 하나의 앱으로부터 상기 입력어에 대한 반환값을 전달받는 입력어 전달부; 및
    상기 반환값에 기초하여 상기 적어도 하나의 앱을 대기 상태로 변경하는 상태 변경부; 및
    상기 입력부를 통해 상기 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받는 경우, 상기 추가 입력어에 대응하는 앱을 실행시키는 앱 실행부
    를 포함하는 것인, 사용자 단말.
  2. 제 1 항에 있어서,
    상기 입력어 전달부는 상기 입력받은 입력어에 인덱스를 부여하여 단어 단위로 구분하고, 입력받은 순서로 상기 단어 단위로 구분된 입력어를 상기 복수의 앱으로 전달하는 것인, 사용자 단말.
  3. 제 1 항에 있어서,
    상기 반환값은 각 앱이 상기 입력받은 입력어를 처리하는 경우에 얻을 수 있는 결과값을 포함하고,
    상기 상태 변경부는 상기 결과값을 상기 적어도 하나의 앱에 오버레이하도록 표시하는 것인, 사용자 단말.
  4. 제 1 항에 있어서,
    상기 추가 입력어에 대응하는 앱을 대기 상태로부터 실행 상태로 변경하고, 상기 복수의 앱이 표시된 메인 화면으로부터 상기 실행 상태인 앱의 실행 화면으로 전환하는 전환부를 포함하고,
    상기 입력어는 상기 실행 상태인 앱에 의해 처리되는 것인, 사용자 단말.
  5. 제 4 항에 있어서,
    상기 메인 화면으로부터 상기 실행 상태인 앱의 실행 화면으로 전환되는 동안의 렌더링 처리는 상기 전환부에 의해 수행되고,
    상기 입력어의 결과 화면에 대한 렌더링 처리는 상기 실행 상태인 앱으로 전환된 후 상기 실행 상태인 앱에 의해 수행되는 것인, 사용자 단말.
  6. 제 4 항에 있어서,
    상기 입력부를 통해 화면 초기화에 대한 입력어를 입력받은 경우, 상기 전환부는 상기 입력어를 상기 실행 상태인 앱으로 전달하고,
    상기 실행 상태인 앱은 상기 입력어에 기초하여 화면 초기화를 수행하는 것인, 사용자 단말.
  7. 제 4 항에 있어서,
    상기 입력어 전달부는 상기 복수의 앱 중 어느 하나가 실행 상태인 경우, 상기 입력어를 상기 실행 상태인 앱으로 전달하는 것인, 사용자 단말.
  8. 제 1 항에 있어서,
    상기 입력어가 기설정된 시간 후에 상기 복수의 앱 중 어느 하나에 대한 자동 실행이 가능한 키워드를 포함한 경우,
    상기 입력어 전달부는 상기 자동 실행에 해당하는 앱으로부터 상기 자동 실행에 대한 정보를 전달받고,
    상기 반환값은 상기 자동 실행에 대한 정보를 포함하는 것인, 사용자 단말.
  9. 제 8 항에 있어서,
    상기 상태 변경부는 상기 자동 실행에 대한 정보를 상기 자동 실행에 해당하는 앱에 오버레이하도록 표시하는 것인, 사용자 단말.
  10. 제 9 항에 있어서,
    상기 기설정된 시간 내에 추가적인 입력어가 입력되지 않는 경우, 상기 자동 실행에 해당하는 앱이 실행되는 것인, 사용자 단말.
  11. 제 1 항에 있어서,
    상기 입력 전달부는 활성 명령어에 의해 시스템이 활성화된 경우, 상기 복수의 앱으로 상기 입력어를 전달하는 것인, 사용자 단말.
  12. 제 11 항에 있어서,
    상기 입력어가 앱에서의 처리보다 시스템적으로 우선 처리되어야 할 예약어에 해당하는지 판단하는 예약어 판단부 및
    상기 입력어가 상기 예약어에 해당하는 경우, 상기 예약어를 처리하는 예약어 실행부
    를 더 포함하고,
    상기 입력어 전달부는 상기 입력어가 예약어에 해당하는 경우, 상기 입력어를 상기 복수의 앱으로 전달하지 않는 것인, 사용자 단말.
  13. 제 12 항에 있어서,
    상기 입력어 전달부는 상기 사용자 단말이 예약어 무시 상태인 경우, 상기 입력어가 예약어에 해당하는지에 대한 판단 없이 상기 입력어를 상기 복수의 앱으로 전달하는 것인, 사용자 단말.
  14. 제 13 항에 있어서,
    상기 입력어 전달부는 상기 복수의 앱 중 어느 하나가 실행 상태인 경우, 상기 입력어를 상기 실행 상태인 앱으로 전달하는 것인, 사용자 단말.
  15. 제 12 항에 있어서,
    상기 예약어는 앱 호출어를 포함하고,
    상기 예약어 실행부는 상기 입력어가 상기 앱 호출어에 해당하는 경우, 현재 실행 상태인 앱을 대기 상태로 변경하고, 상기 앱 호출어의 대상인 앱을 실행 상태로 변경하는 것인, 사용자 단말.
  16. 사용자 단말에서 입력어를 처리하는 방법에 있어서,
    기설정된 복수의 앱을 표시하는 단계;
    사용자로부터 입력어를 입력받는 단계;
    상기 복수의 앱으로 상기 입력받은 입력어를 전달하는 단계;
    상기 복수의 앱 중 상기 입력어를 처리할 수 있는 적어도 하나의 앱으로부터 상기 입력어에 대한 반환값을 전달받는 단계;
    상기 반환값에 기초하여 상기 적어도 하나의 앱을 대기 상태로 변경하는 단계; 및
    상기 대기 상태인 앱 중 어느 하나와 관련된 추가 입력어를 입력받는 경우, 상기 추가 입력어에 대응하는 앱을 실행시키는 단계
    를 포함하는 것인, 입력어 처리 방법.
  17. 제 16 항에 있어서,
    상기 추가 입력어에 대응하는 앱을 대기 상태로부터 실행 상태로 변경하는 단계;
    상기 복수의 앱이 표시된 메인 화면으로부터 상기 실행 상태인 앱의 실행 화면으로 전환하는 단계; 및
    상기 입력어를 상기 실행 상태인 앱에 의해 처리하는 단계
    를 더 포함하는 것인, 입력어 처리 방법.
  18. 제 17 항에 있어서,
    상기 사용자 단말의 메인 시스템에 의해 상기 메인 화면으로부터 상기 실행 상태인 앱의 실행 화면으로의 전환에 대한 렌더링 처리를 수행하는 단계; 및
    상기 실행 상태인 앱으로 전환된 후, 상기 실행 상태인 앱에 의해 상기 입력어의 결과 화면에 대한 렌더링 처리를 수행하는 단계
    를 더 포함하는 것인, 입력어 처리 방법.
  19. 제 16 항에 있어서,
    상기 입력어가 앱에서의 처리보다 시스템적으로 우선 처리되어야 할 예약어에 해당하는지 판단하는 단계; 및
    상기 입력어가 상기 예약어에 해당하는 경우, 상기 예약어를 처리하는 단계
    를 더 포함하고,
    상기 복수의 앱으로 상기 입력받은 입력어를 전달하는 단계는,
    상기 입력어가 예약어에 해당하는 경우, 상기 입력어를 상기 복수의 앱으로 전달하지 않는 것인, 입력어 처리 방법.
  20. 제 19 항에 있어서,
    상기 복수의 앱으로 상기 입력받은 입력어를 전달하는 단계는,
    상기 사용자 단말이 예약어 무시 상태인 경우, 상기 입력어가 예약어에 해당하는지에 대한 판단 없이 상기 입력어를 상기 복수의 앱으로 전달하는 것인, 입력어 처리 방법.
KR1020170137737A 2017-07-05 2017-10-23 입력어를 처리하는 사용자 단말 및 방법 KR102407577B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/028,294 US10831441B2 (en) 2017-07-05 2018-07-05 Method for controlling and accessing application based on active voice input

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170085679 2017-07-05
KR1020170085679 2017-07-05

Publications (2)

Publication Number Publication Date
KR20190005097A true KR20190005097A (ko) 2019-01-15
KR102407577B1 KR102407577B1 (ko) 2022-06-13

Family

ID=65030532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170137737A KR102407577B1 (ko) 2017-07-05 2017-10-23 입력어를 처리하는 사용자 단말 및 방법

Country Status (1)

Country Link
KR (1) KR102407577B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210049599A (ko) * 2019-10-25 2021-05-06 주식회사 오비고 복수의 인공지능을 사용한 정보 제공 방법 및 이를 사용한 앱 프레임워크 서버

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140070307A (ko) * 2012-11-29 2014-06-10 엘지전자 주식회사 모바일 디바이스 및 그 제어 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140070307A (ko) * 2012-11-29 2014-06-10 엘지전자 주식회사 모바일 디바이스 및 그 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210049599A (ko) * 2019-10-25 2021-05-06 주식회사 오비고 복수의 인공지능을 사용한 정보 제공 방법 및 이를 사용한 앱 프레임워크 서버

Also Published As

Publication number Publication date
KR102407577B1 (ko) 2022-06-13

Similar Documents

Publication Publication Date Title
US11854570B2 (en) Electronic device providing response to voice input, and method and computer readable medium thereof
US10068571B2 (en) Voice control method and voice control system
EP3084633B1 (en) Attribute-based audio channel arbitration
KR102490776B1 (ko) 디지털 개인 비서 내에서 헤드리스로 작업을 완료하기 위한 기법
US11869487B1 (en) Allocation of local and remote resources for speech processing
EP3389044A1 (en) Management layer for multiple intelligent personal assistant services
WO2019218820A1 (zh) 控制对象的确定方法及装置、存储介质、电子装置
US10860289B2 (en) Flexible voice-based information retrieval system for virtual assistant
US20170133013A1 (en) Voice control method and voice control system
EP1481334A2 (en) System and method for concurrent multimodal communication
US20220334795A1 (en) System and method for providing a response to a user query using a visual assistant
KR20190031167A (ko) 전자 장치 및 이의 제어 방법
US10535337B2 (en) Method for correcting false recognition contained in recognition result of speech of user
KR20190001435A (ko) 음성 입력에 대응하는 동작을 수행하는 전자 장치
US11908471B2 (en) Integrating logic services with a group communication service and a voice assistant service
JP6689953B2 (ja) 通訳サービスシステム、通訳サービス方法及び通訳サービスプログラム
KR20200092455A (ko) 사용자 의도를 예측하는 서버, 방법 및 컴퓨터 프로그램
KR102407577B1 (ko) 입력어를 처리하는 사용자 단말 및 방법
CN114822598A (zh) 服务器及语音情感识别方法
CN105118507A (zh) 声控系统及其控制方法
WO2022270603A1 (en) A system and method for delivering domain or use-case switch suggestion for an ongoing conversation
US11810573B2 (en) Assisted speech recognition
KR102368488B1 (ko) 발화 내용을 태깅하는 서버, 사용자 단말 및 방법
KR20220045327A (ko) 음성 인식 기반 인터랙션 서비스를 제공하는 음성 인식 장치, 방법 및 컴퓨터 프로그램
KR20240042964A (ko) 음성 명령의 키워드 분석을 통한 관련 영상데이터 선정 및 송출방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant