본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
또한, 본 명세서에서, “사용자 입력”은, 터치 입력, 키보드 입력, 음성 입력, 소리 입력, 버튼 입력, 제스쳐 입력 및 다중(multimodal) 입력 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 본 명세서에서 “터치 입력”이란 사용자가 디바이스(100)를 제어하기 위해 터치 스크린 및 커버에 행하는 터치 제스처 등을 의미한다. 예를 들어, 본 명세서에서 기술되는 터치 입력에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭 등이 있을 수 있으나, 이에 제한되지 않는다.
또한, 본 명세서에서 “버튼 입력”은 사용자가 디바이스(100)에 부착된 물리적인 버튼을 이용하여, 디바이스(100)를 제어하는 입력을 의미한다.
또한, 본 명세서에서 "제스쳐 입력"은, 사용자가 디바이스(100)에 입력을 인가하기 위해 디바이스(100)에 가하는 움직임을 의미할 수 있다. 예를 들어, 제스쳐 입력은, 사용자가 디바이스(100)를 회전시키거나, 디바이스(100)를 기울이거나, 디바이스(100)를 상하좌우로 이동시키는 입력을 포함할 수 있다. 디바이스(100)는, 가속도 센서(Acceleration sensor), 기울기 센서(tilt sensor), 자이로 센서(Gyro sensor), 자기장 센서(3-axis Magnetic sensor) 등을 이용하여, 사용자에 의해 기 설정된 제스쳐 입력을 감지할 수 있다.
또는 본 명세서에서 "제스쳐 입력"은 사용자가 디바이스에 입력하기 위한 움직임에 대한 입력을 의미할 수 있다. 일 실시 예에 따른 제스쳐 입력은 디바이스(100)가 디바이스 외부로부터 획득한 움직임 정보를 포함할 수 있다. 예를 들면, 제스쳐 입력은, 사용자가 특정 물체를 가리키거나, 사용자가 특정 방식으로 움직이는 입력을 포함할 수 있다. 일 실시 예에 따른 디바이스(100)는 카메라, 적외선 센서 등을 이용하여 사용자의 움직임을 감지하여 제스쳐 입력을 수신할 수 있다.
또한, 본 명세서에서 “다중 입력”은, 적어도 둘 이상의 입력 방식이 결합된 것을 의미한다. 예를 들어, 디바이스(100)는, 사용자의 터치 입력 및 모션 입력을 수신할 수도 있고, 사용자의 터치 입력 및 음성 입력을 수신할 수도 있다. 또한, 디바이스(100)는 사용자의 터치 입력 및 안구 입력을 수신할 수도 있다. 안구 입력은 디바이스(100)를 제어하기 위해 사용자가 눈의 깜빡임, 응시 위치, 안구의 이동 속도 등을 조절하는 입력을 의미한다.
또한, 본 명세서에서 “애플리케이션”은 특정한 업무를 수행하기 위해 고안된 일련의 컴퓨터 프로그램 집합을 말한다. 본 명세서에 기술되는 애플리케이션은 다양할 수 있다. 예를 들어, 게임 애플리케이션, 동영상 재생 애플리케이션, 지도 애플리케이션, 메모 애플리케이션, 캘린더 애플리케이션, 폰 북 애플리케이션, 방송 애플리케이션, 운동 지원 애플리케이션, 결제 애플리케이션, 사진 폴더 애플리케이션 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 일부 실시 예에 따른 디바이스(100)가 입력을 수신하여 응답을 출력하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 디바이스(100)의 외부로부터 입력을 수신할 수 있다. 디바이스(100)가 수신하는 입력은 사용자 입력을 포함할 수 있다. 사용자 입력은 터치 입력, 키보드 입력, 음성 입력, 소리 입력, 버튼 입력, 제스쳐 입력 및 다중(multimodal) 입력 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른 디바이스(100)는 수신한 입력에 대응하는 응답을 출력할 수 있다. 예를 들면, 디바이스(100)는 수신한 사용자 입력이 나타내는 질의를 획득하고, 획득한 질의에 대한 응답을 출력할 수 있다. 디바이스(100)는 사용자 수준에 대응하는 응답 수준에 따라 질의에 대응하는 복수개의 응답 중 출력할 하나의 응답을 결정할 수 있다.
일 실시 예에 따른 디바이스(100)는 서버(110)와 연동하여 동작할 수 있다. 예를 들면, 디바이스(100)는 서버(110)로부터 수신한 사용자에 대한 정보를 이용하여 응답 수준을 결정할 수 있다. 예를 들면, 사용자가 유아인 경우 디바이스(100)는 서버(110)로부터 수신한 사용자에 대한 정보를 이용하여 응답 수준을 유아 수준으로 결정하고, 유아 수준에 대응하는 응답 수준으로 응답을 출력할 수 있다.
도 2는 일부 실시 예에 따른 디바이스(100)가 질의에 대한 응답을 출력하는 방법의 흐름도이다.
단계 S210에서 디바이스(100)는 한 명 이상의 사용자로부터 입력을 수신하여 입력이 나타내는 질의를 획득할 수 있다.
일 실시 예에 따른 디바이스(100)는 디바이스(100)의 외부로부터 사용자 입력을 수신할 수 있다. 예를 들면, 디바이스(100)는 터치 입력, 키보드 입력, 소리 입력, 음성 입력, 버튼 입력, 제스처 입력 및 다중 입력 중 적어도 하나를 수신할 수 있다.
일 실시 예에 따른 디바이스(100)는 복수의 사용자로부터 사용자 입력을 수신할 수 있다. 예를 들면, 디바이스(100)는 복수의 사용자로 구성된 사용자 그룹으로부터 입력을 수신할 수 있다. 예를 들면, 디바이스(100)는 디바이스(100)에 포함된 센서를 통하여 복수의 사용자로부터 음성 입력을 수신할 수 있다.
일 실시 예에 따른 디바이스(100)는 수신한 입력이 나타내는 질의를 획득할 수 있다.
예를 들면 디바이스(100)는 수신한 입력으로부터 키워드를 추출하고, 추출된 키워드를 이용하여 수신한 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 디바이스(100)는 “음식점과 메뉴를 결정하자.” 라는 텍스트 입력을 수신한 경우, “음식점” 및 “메뉴” 라는 키워드를 추출하여, “현재 위치 주변의 인기 음식점의 메뉴는 무엇인가?” 라는 질의를 획득할 수 있다.
다른 예로, 디바이스(100)는 수신한 입력이 기설정된 입력에 대응되는 경우, 기설정된 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 디바이스(100)는 특정 사물을 가리키는 제스쳐 입력을 수신한 경우 “가리킴의 대상이 된 물체는 무엇인가?” 라는 질의를 획득할 수 있다. 다른 예로, 디바이스(100)는 하늘을 가리키는 제스쳐 입력을 수신한 경우 “오늘 날씨는 어떠한가?”라는 질의를 획득할 수 있다. 다른 예로, 디바이스(100)는 수화로 표현되는 제스쳐 입력을 수신한 경우 수화가 나타내는 의미를 분석하여 제스쳐 입력이 나타내는 질의를 획득할 수 있다. 다른 예로, 디바이스(100)는 “시간”이라는 텍스트 입력을 수신한 경우 “현재 시간은 몇 시인가?”라는 질의를 획득할 수 있다.
다른 예로 디바이스(100)는 수신한 입력 및 사용자 정보를 이용하여 수신한 입력이 나타내는 질의를 획득할 수 있다. 사용자 정보는 사용자의 위치 정보, 현재 시간 정보, 사용자에 대한 응답 히스토리 정보, 사용자의 연령대 정보 및 사용자의 지식 수준 정보 중 적어도 하나를 포함할 수 있다. 사용자에 대한 응답 히스토리 정보는 현재 사용자에 대한 입력 및 응답의 히스토리에 대한 정보를 의미할 수 있다. 예를 들면, 현재 사용자에 대해서 과거에 “현재 위치 주변의 인기 음식점 메뉴는 무엇인가?”라는 질의를 획득한 횟수가 소정 횟수 이상인 경우, 현재 사용자의 입력으로부터 “음식점”이라는 키워드만을 획득한 경우에도 “현재 위치 주변의 인기 음식점 메뉴는 무엇인가?”라는 질의를 획득할 수 있다. 다른 예로, 사용자 입력으로부터 획득한 키워드가 “집으로 가는 방법”인 경우 디바이스(100)는 새벽 시간대에는 “콜택시 전화 번호는 무엇인가?”라는 질의를 획득하고, 저녁 시간대에는 “현재 위치에서 집으로 갈 때 이용할 수 있는 버스 번호는 무엇인가?” 라는 질의를 획득할 수 있다.
다른 예로 디바이스(100)는 수신한 입력 및 복수의 사용자로 구성된 사용자 그룹을 구성하는 사용자들에 대한 사용자 정보를 이용하여 수신한 입력이 나타내는 질의를 획득할 수 있다. 사용자 정보는 사용자의 위치 정보, 현재 시간 정보, 사용자에 대한 응답 히스토리 정보, 사용자의 연령대 정보 및 사용자의 지식 수준 정보 중 적어도 하나를 포함할 수 있다. 사용자에 대한 응답 히스토리 정보는 현재 사용자에 대한 입력 및 응답의 히스토리에 대한 정보를 의미할 수 있다. 일 실시 예에 따른 디바이스(100)가 사용자 그룹에 대해 응답을 출력할 때, 디바이스(100)는 사용자 그룹을 구성하는 사용자들의 선호도를 반영할 수 있다. 예를 들면, 질의가 “추천할만한 회식 장소는?”인 경우, 디바이스(100)는 사용자 그룹에 포함된 사용자들에 대한 정보를 분석하여 가장 많은 사람이 선호하는 음식적을 응답으로 출력할 수 있다. 다른 예로, 질의가 “추천할만한 회식 장소는?”인 경우, 디바이스(100)는 과거에 회식 장소로 결정된 곳들 중 가장 평가가 좋았던 장소를 응답으로 출력할 수 있다.
일 실시 예에 따른 디바이스(100)는 수신한 입력에 대응되는 질의를 획득하지 못한 경우 사용자로부터 추가 입력을 수신할 수 있다.
예를 들면, 디바이스(100)는 수신한 입력에 대한 분석에 실패한 경우, 사용자에게 추가 입력을 인가할 것을 요청하는 화면을 디스플레이할 수 있다. 예를 들면, 디바이스(100)는 수신한 음성 입력으로부터 텍스트를 획득하지 못한 경우, 사용자에게 추가 입력을 인가할 것을 요청하는 화면을 디스플레이할 수 있다.
다른 예로, 디바이스(100)는 수신한 입력에 대응하는 질의가 복수개이고, 복수개의 질의에 대한 우선순위가 동일한 경우, 수신한 입력에 대응하는 하나의 질의를 결정하기 위해 사용자로부터 추가 입력을 수신할 수 있다.
디바이스는 추가 입력을 수신한 경우, 초기에 수신한 입력 및 추가 입력에 기초하여 질의를 획득할 수 있다.
예를 들면, 디바이스(100)가 초기에 수신한 입력으로부터 획득한 키워드가 “현재”이고, 추가 추가 입력으로부터 획득한 키워드가 “시간”인 경우, “현재 시간은 몇 시인가?”라는 질의를 획득할 수 있다.
일 실시 예에 따른 디바이스(100)는 입력의 방식을 결정할 수 있다. 예를 들면 디바이스(100)는 사용자로부터 수신되는 입력의 종류에 따라 입력 방식을 결정할 수 있다. 결정된 입력 방식에 따라 디바이스(100)는 사용자 입력을 수신하는 방식을 결정할 수 있다.
예를 들면, 디바이스(100)가 디바이스(100)의 외부로부터 소리를 인식한 경우, 디바이스(100)는 입력 방식을 소리 입력 방식으로 결정할 수 있다. 디바이스(100)가 입력 방식을 소리 입력 방식으로 결정한 경우, 디바이스(100)는 디바이스(100) 내에 포함된 마이크를 통해 수신되는 소리 입력이 나타내는 질의를 획득할 수 있다.
일 실시 예에 따른 디바이스(100)는 결정된 입력의 방식에 기초하여 입력을 수신할 수 있다. 예를 들면, 디바이스(100)가 입력 방식을 제스쳐 입력 방식으로 결정한 경우, 디바이스(100)는 디바이스(100) 외부로부터 제스쳐 입력을 수신하고, 수신한 제스쳐 입력이 나타내는 질의를 획득할 수 있다.
단계 S220에서 디바이스(100)는 기설정된 하나 이상의 응답 수준들 중에서 사용자의 수준에 대응되는 응답 수준을 결정할 수 있다.
일 실시 예에 따른 디바이스(100)는 기설정된 하나 이상의 응답 수준을 저장하고 있을 수 있다.
예를 들면, 디바이스(100)는 나이를 기준으로 하여 결정된 복수개의 응답 수준을 저장하고 있을 수 있다. 예를 들면, 디바이스(100)는 3세부터 100세까지 각 나이별로 응답 수준을 저장하고 있을 수 있다. 다른 예로, 디바이스(100)는 유아, 어린이, 청소년, 청년, 장년, 노년으로 구별되는 응답 수준을 저장하고 있을 수 있다.
다른 예로, 디바이스(100)는 지식 수준을 기준으로 하여 결정된 복수개의 응답 수준을 저장하고 있을 수 있다. 예를 들면, 디바이스(100)는 초졸, 중졸, 고졸, 대학교졸, 석사, 박사로 구별되는 응답 수준을 저장하고 있을 수 있다. 다른 예로, 디바이스(100)는 초급자, 중급자, 상급자, 전문가로 구별되는 응답 수준을 저장하고 있을 수 있다. 다른 예로, 디바이스(100)는 비전공자, 전공자, 전문가로 구별되는 응답 수준을 저장하고 있을 수 있다. 다른 예로, 디바이스(100)는 1부터 100까지의 각 수치에 대응되는 응답 수준을 저장하고 있을 수 있다.
일 실시 예에 따른 디바이스(100)는 사용자의 수준에 대응되는 응답 수준을 결정할 수 있다. 예를 들면, 디바이스(100)는 사용자의 연령대 정보 및 사용자의 지식 수준 정보 중 적어도 하나를 이용하여 응답 수준을 결정할 수 있다.
예를 들면, 디바이스(100)는 유아, 어린이, 청소년 청년, 장년, 노년으로 구별되는 응답 수준 중 하나를 사용자의 수준에 대응되는 응답수준으로 결정할 수 있다. 예를 들면, 사용자 입력이 어린이 음성인 경우, 디바이스(100)는 음성을 분석하여 사용자의 수준에 대응되는 응답 수준을 어린이 응답 수준으로 결정할 수 있다. 일 실시 예에 따른 디바이스(100)는 수신한 음성 입력의 특징을 분석하여 사용자의 연령대를 결정하고, 결정된 연령대에 기초하여 응답 수준을 결정할 수 있다. 예를 들면, 수신한 음성 입력의 특징이 어린이 목소리의 특징에 대응되는 경우, 디바이스(100)는 수신한 음성 입력에 대응되는 응답 수준을 어린이 응답 수준으로 결정할 수 있다. 다른 실시 예에 따른 디바이스(100)는 음성을 통해 음성이 나타내는 텍스트를 획득하고, 획득한 텍스트를 분석하여 응답 수준을 결정할 수 있다. 예를 들면, 획득한 텍스트가 어린이가 사용하는 단어를 포함하거나, 획득한 텍스트가 어린이가 사용하는 말투를 포함하는 경우, 디바이스(100)는 수신한 음성 입력에 대응되는 응답 수준을 어린이 응답 수준으로 결정할 수 있다.
다른 예로, 디바이스(100)는 미리 저장되거나 디바이스(100) 외부로부터 수신된 사용자의 연령대 정보 또는 사용자의 지식 수준 정보를 이용하여 미리 결정된 복수개의 응답 수준 중 하나를 사용자의 수준에 대응되는 응답 수준으로 결정할 수 있다. 예를 들면, 디바이스(100)는 입력을 인가하는 사용자의 지식 수준이 전문가 수준이라는 정보를 수신하고, 전문가 수준에 대응하는 응답 수준을 사용자의 수준에 대응되는 응답 수준으로 결정할 수 있다.
일 실시 예에 따른 디바이스(100)는 디바이스(100)에 저장되어 있는 데이터에 기초하여 각 사용자에 대한 응답 수준을 결정할 수 있다. 예를 들면, 사용자의 연령이나, 사용자의 학력에 대한 정보가 디바이스(100)에 저장되어 있는 경우, 디바이스(100)는 사용자에 대한 응답 수준을 사용자의 연령 및 학력에 대응되는 수준으로 설정할 수 있다.
다른 실시 예에 따른 디바이스(100)는 사용자로부터 수신한 입력에 기초하여 각 사용자에 대한 응답 수준을 결정할 수 있다. 예를 들면, 사용자로부터 사용자 수준을 결정하는 입력을 수신하여, 사용자에 대한 응답 수준을 결정할 수 있다. 다른 예로, 사용자로부터 수신한 입력을 분석하여, 사용자에 대한 응답 수준을 결정할 수 있다. 예를 들면, 디바이스(100)는 사용자의 음색을 분석하여 연령대를 결정하거나, 사용자가 사용하는 어휘의 난이도를 분석하여 사용자의 지식 수준을 결정할 수 있다.
일 실시 예에 따른 디바이스(100)는 응답 수준을 선택하기 위한 GUI를 제공할 수 있다.
예를 들면, 디바이스(100)는 1부터 10 중 하나의 숫자를 선택하는 GUI를 통해 응답 수준을 선택하는 선택 입력을 사용자로부터 수신할 수 있다.
다른 예로, 디바이스(100)는 복수개의 응답 수준을 나타내는 복수개의 이미지 중 하나에 대한 선택 입력을 수신하는 방식으로 응답 수준을 선택하는 사용자 입력을 수신할 수 있다. 예를 들면, 디바이스(100)는 캐릭터 이미지가 선택된 경우 어린이 수준을 응답 수준으로 결정하고, 풍경 이미지가 선택된 경우 성인 수준을 응답 수준으로 결정할 수 있다.
일 실시 예에 따른 디바이스(100)는 복수개의 응답 수준 중 특정 응답 수준을 선택 했을 때 출력될 것으로 예상되는 샘플 응답을 출력할 수 있다. 사용자는 출력되는 샘플 응답은 사용자가 복수개의 응답 수준 중 하나에 대한 선택 입력을 인가할 때 참조될 수 있다.
단계 S230에서 디바이스(100)는 단계 S220에서 결정된 응답 수준에 기초하여 질의에 대한 응답을 출력할 수 있다.
일 실시 예에 따른 디바이스(100)는 단계 S210에서 획득한 질의에 대응하는 하나 이상의 응답을 결정할 수 있다. 예를 들면, “요즘 인기 있는 영화는?”이라는 질의에 대응하는 응답을 복수개 획득할 수 있다. 예를 들면, 유아에 대해서 인기가 있는 제 1 영화, 청소년에 대해서 인기가 있는 제 2 영화, 성인에 대해서 인기가 있는 제 3 영화가 “요즘 인기 있는 영화는?”이라는 질의에 대응하는 복수개의 응답일 수 있다.
일 실시 예에 따른 디바이스(100)는 단계 S220에서 결정된 응답 수준에 기초하여 단계 S210에서 획득한 질의에 대응하는 하나 이상의 응답 중 하나의 응답을 결정할 수 있다. 예를 들면 디바이스(100)는 “요즘 인기 있는 영화는?”이라는 질의에 대응하는 응답인 제 1 영화, 제 2 영화 및 제 3 영화 중 하나의 응답을 사용자 수준에 기초하여 결정할 수 있다.
일 실시 예에 따른 디바이스(100)는 사용자 정보를 획득할 수 있다. 일 실시 예에 따른 사용자 정보는 사용자의 위치 정보, 현재 시간 정보, 사용자에 대한 응답 히스토리 정보, 상기 사용자의 연령대 정보 및 상기 사용자의 지식 수준 정보 중 적어도 하나를 포함할 수 있다. 예를 들면, 디바이스(100)는 사용자 정보를 미리 저장하고 있을 수 있다. 다른 예로, 디바이스(100)는 사용자 정보를 수신하여 저장할 수 있다.
일 실시 예에 따른 응답 히스토리 정보는 사용자가 과거에 제공받은 응답에 대해 제공한 피드백 정보를 포함할 수 있다. 예를 들면 디바이스(100)가 사용자로부터 “음식점”이라는 텍스트를 수신하여 A 음식점을 응답으로 출력한 경우, 사용자는 텍스트 형태의 입력으로 B 음식점을 피드백 정보로 입력할 수 있다. 이 경우, 디바이스(100)는 이후에 “B 음식점”이라는 피드백 정보를 반영하여 응답을 출력할 수 있다. 예를 들면, 디바이스(100)는 이후에 동일한 “음식점”이라는 텍스트 입력에 대해서 B 음식점을 응답으로 출력할 수 있다.
피드백 정보는 다양한 입력 형태로 디바이스(100)에 입력될 수 있다. 예를 들면, 피드백 정보는 텍스트 입력, 제스쳐 입력, 음성 입력, 스케치 입력, 다중 입력 중 적어도 하나의 입력 방식으로 디바이스(100)에 입력될 수 있다. 각각의 입력 방식에 대한 구체적인 내용은 도 6 내지 도 11에서 후술한다.
일 실시 예에 따른 디바이스(100)는 단계 S220에서 결정된 응답 수준 및 사용자에 대한 정보 중 적어도 하나에 기초하여 단계 S210에서 획득한 질의에 대응하는 하나 이상의 응답 중 하나의 응답을 출력할 수 있다.
예를 들면 디바이스(100)는 “요즘 인기 있는 영화는?”이라는 질의에 대응하는 응답인 제 1 영화, 제 2 영화 및 제 3 영화 중 하나의 응답을 사용자 정보에 포함된 사용자 연령대 정보에 기초하여 결정할 수 있다.
일 실시 예에 따른 디바이스(100)는 결정된 응답을 출력할 수 있다. 예를 들면, 디바이스(100)는 결정된 응답을 텍스트, 음성, 이미지 및 동영상 중 적어도 하나의 방식으로 출력할 수 있다. 예를 들면 결정된 응답이 “17시 정각”인 경우, 디바이스(100)는 “17시 정각”이라는 텍스트를 디스플레이 할 수도 있고, “17시 정각”이라는 음성을 재생할 수도 있고, “17시 정각”을 나타내는 시계 이미지를 디스플레이할 수도 있고, 현재 시간을 나타내는 시계를 애니메이션 형태로 디스플레이할 수도 있다.
일 실시 예에 따른 디바이스(100)는 동일한 질의 및 동일한 응답 수준에 대응하여 상황에 따라 상이한 응답을 출력할 수 있다. 예를 들면, 디바이스(100)는 “현재 위치는?” 이라는 질의에 대응하여 처음에는 “서울”이라는 응답을 출력하고, 두번째 “현재 위치는?” 이라는 질의에 대해서는 “서울 도곡동”이라는 응답을 출력할 수 있다. 다른 예로, 디바이스(100)는 “날씨는?” 이라는 질의에 대응하여 처음에는 오늘의 날씨에 대한 응답을 출력하고, 두번째 “날씨는?” 이라는 질의에 대해서는 이번 주의 날씨에 대한 응답을 출력할 수 있다. 다른 예로, 디바이스(100)는 현재 시간 및/또는 현재 장소에 따라서 동일한 질의에 대하여 상이한 응답을 출력할 수 있다. 예를 들면, 동일한 사용자로부터 획득한 질의가 “집으로 가는 방법은?”인 경우 디바이스(100)는 새벽 시간대에는 “콜택시 전화”를 응답으로 출력하고, 저녁 시간대에는 “현재 위치에서 집으로 갈 때 이용할 수 있는 버스 번호”를 응답으로 출력할 수 있다.
다른 실시 예에 따른 디바이스(100)는 동일한 질의 및 동일한 응답 수준에 대응하여 동일한 응답을 출력할 수 있다. 예를 들면, 디바이스(100)는 “현재 위치는?” 이라는 질의에 대응하여 항상 현재 위치를 번지 단위까지 출력할 수 있다.
디바이스(100)와 서버(110)는 상호 연동하여 동작할 수 있다. 예를 들면, 디바이스(100)는 디바이스(100)에 저장되어있는 정보를 서버(110)로 업데이트할 수 있다. 다른 예로 디바이스(100)는 서버(110)로부터 정보를 수신하여 저장할 수 있다.
일 실시 예에 따른 디바이스(100)가 서버(110)로부터 데이터를 수신하는 경우 카테고리 유형별로 나누어서 저장할 수 있다. 예를 들면, 디바이스(100)에서 사용자의 입력에 따라 구별된 데이터 저장 카테고리에 따라 서버(110)로부터 수신된 데이터가 구분되어 디바이스(100)에 저장될 수 있다.
일 실시 예에 따른 디바이스(100)는 서버(110)로부터 수신한 데이터를 서버(110)에 저장된 형태보다 단순한 형태로 변환하여 저장할 수 있다. 예를 들면, 디바이스(100)가 서버(110)로부터 수신한 동영상은 압축 효율이 더 높은 포맷으로 변환될 수 있다.
다른 예로, 서버(110)는 디바이스(100)로부터 수신한 데이터를 디바이스(100)에 저장된 형태보다 복잡한 형태로 변환하여 저장할 수 있다. 예를 들면, 서버(110)가 디바이스(100)로부터 수신한 사용자의 전공에 대한 정보를 사용자의 전공 정보 카테고리 내에 저장할 때, 서버에 저장된 관련 정보를 추가하여 저장할 수 있다.
도 3은 일부 실시 예에 따른 디바이스(100)가 질의에 대한 복수개의 응답 중 하나를 출력하는 일례를 도시한 도면이다.
단계 S310에서 일 실시 예에 따른 디바이스(100)는 사용자 입력을 수신할 수 있다. 예를 들면 디바이스(100)는 음성 입력을 인가하라는 화면(310)을 디스플레이하여, 음성 입력을 사용자로부터 수신할 수 있다. 다른 예로, 디바이스(100)는 텍스트 입력을 인가하라는 화면(320)을 디스플레이하여, 텍스트 입력을 사용자로부터 수신할 수 있다. 예를 들면 디바이스(100)는 사용자로부터 “기린이 모예요?”라는 음성 입력을 수신할 수 있다.
단계 S320에서 일 실시 예에 따른 디바이스(100)는 출력할 응답을 결정할 수 있다. 일 실시 예에 따른 디바이스(100)는 수신한 사용자 입력이 나타내는 질의 및 사용자 수준을 이용하여 출력할 응답을 결정할 수 있다. 예를 들면, 디바이스(100)는 수신한 사용자 입력이 나타내는 질의에 대응하는 응답을 수준별로 복수개 획득할 수 있다. 디바이스(100)는 획득한 복수개의 응답 중 사용자 수준에 대응되는 응답 수준에 기초하여 하나의 응답을 결정할 수 있다. 예를 들면, 디바이스(100)는 “기린이 모예요?”라는 질의에 대응하는 응답 수준을 사용자가 어린이인 경우에는 저수준으로, 사용자가 어른인 경우에는 고수준으로 결정할 수 있다.
단계 S330에서 일 실시 예에 따른 디바이스(100)는 단계 S320에서 결정된 응답을 출력할 수 있다. 예를 들면, 디바이스(100)는 결정된 응답을 텍스트, 음성 및 이미지 중 적어도 하나의 방식으로 출력할 수 있다. 예를 들면 결정된 응답이 기린에 대한 정보인 경우, 디바이스(100)는 기린에 대한 정보를 이미지 및 텍스트를 이용하여 디스플레이할 수 있다.
도 4a는 일부 실시 예에 따른 디바이스(100)가 복수의 사용자에 대해서 각 사용자에 대한 응답 수준을 결정하는 일례를 도시한 도면이다.
예를 들면, 디바이스(100)는 복수의 사용자(510 내지 540) 각각에 대해서 HW 지식 수준과 SW 지식 수준을 결정할 수 있다. 지식 수준의 카테고리는 HW 지식 수준과 SW 지식 수준에 한정되지 않으며, 디바이스(100)는 하나 이상의 카테고리로 지식 수준을 나타낼 수 있다.
일 실시 예에 따른 디바이스(100)는 각 사용자에 대한 지식 수준을 각 사용자에 대한 질의 응답 히스토리 등을 이용하여 결정할 수 있다. 예를 들면, 디바이스(100)는 제 2 사용자(520)로부터 수신한 사용자 입력을 통해 획득한 질의에 전문 용어가 높은 빈도로 포함되는 경우 제 2 사용자(520)의 지식 수준을 높게 결정할 수 있다. 다른 예로, 디바이스(100)는 제 2 사용자(520)로부터 수신한 피드백 정보가 높은 응답 수준을 요청하는 경우 제 2 사용자(520)의 지식 수준을 높게 결정할 수 있다.
다른 실시 예에 따른 디바이스(100)는 각 사용자에 대한 지식 수준에 대한 정보를 수신하여 획득할 수 있다. 예를 들면, 사용자가 자신의 지식 수준을 터치 입력 등을 통하여 입력할 수 있다.
일 실시 예에 따른 디바이스(100)는 각 사용자 별로 결정된 지식 수준에 대응되는 응답 수준을 결정할 수 있다.
도 4b는 일부 실시 예에 따른 디바이스(100)가 사용자 그룹에 대한 응답 수준을 결정하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 사용자 그룹에 대한 응답 수준을 결정할 수 있다. 예를 들면, 디바이스(100)는 제 2 사용자(520)와 제 4 사용자(540)로 구성되는 제 1 사용자 그룹의 지식 수준(410)을 결정할 수 있다. 제 1 사용자 그룹의 지식 수준은 제 1 사용자 그룹을 구성하는 사용자들의 지식 수준에 기초하여 결정될 수 있다. 예를 들면, 제 1 사용자 그룹의 지식 수준은 제 1 사용자 그룹을 구성하는 사용자들의 지식 수준의 평균값으로 결정될 수 있다. 다른 예로, 제 1 사용자 그룹의 지식 수준은 제 1 사용자 그룹을 구성하는 사용자들 중 가장 낮은 지식 수준을 가진 사용자의 지식수준으로 결정될 수 있다. 만약 제 1 사용자 그룹에 제 3 사용자(530)가 추가되어 제 2 사용자 그룹을 구성하게 된 경우, 제 2 사용자 그룹의 지식 수준(420)은 새롭게 변경된 구성원의 지식 수준을 반영하여 변경될 수 있다.
도 5a는 일부 실시 예에 따른 디바이스(100)가 다수의 사용자 중 어느 한 사용자의 수준을 고려하여 어느 한 사용자로부터 수신한 입력에 대응하는 응답을 다수의 사용자에게 제공하는 일례를 도시한 도면이다.
예를 들면, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540) 중 제 2 사용자(520)의 수준을 고려하여 응답 수준을 결정할 수 있다. 또한, 디바이스(100)는 제 2 사용자(520)로부터 수신한 입력에 대응하는 하나 이상의 응답 중 제 2 사용자(520)의 수준을 고려하여 결정된 응답 수준에 대응하는 응답을 제 1 사용자(510) 내지 제 4 사용자(540)에게 제공할 수 있다.
일 실시 예에 따른 디바이스(100)는 B2C 그룹의 형태로 응답을 제공할 수 있다. 예를 들면, 디바이스(100)는 단수의 사용자의 지식 수준에 기초하여 결정된 응답 수준에 대응되는 응답을 복수의 사용자에게 제공할 수 있다.
도 5b는 일부 실시 예에 따른 디바이스(100)가 다수의 사용자의 수준을 고려하여 다수의 사용자로부터 수신한 입력에 대응하는 응답을 다수의 사용자에게 제공하는 일례를 도시한 도면이다.
예를 들면, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540)의 수준을 고려하여 응답 수준을 결정할 수 있다. 또한, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540)로부터 수신한 입력에 대응하는 하나 이상의 응답 중 제 1 사용자(510) 내지 제 4 사용자(540)의 수준을 고려하여 결정된 응답 수준에 대응하는 응답을 제 1 사용자(510) 내지 제 4 사용자(540)에게 제공할 수 있다.
일 실시 예에 따른 디바이스(100)는 B2B 그룹의 형태로 응답을 제공할 수 있다. 예를 들면, 디바이스(100)는 복수의 사용자의 지식 수준에 기초하여 결정된 응답 수준에 대응되는 응답을 복수의 사용자에게 제공할 수 있다.
예를 들면, 디바이스(100)와 연동하여 동작하는 제 1 디바이스(미도시), 제 2 디바이스(미도시), 제 3 디바이스(미도시) 및 제 4 디바이스(미도시)가 각각 제 1 사용자(510), 제 2 사용자(520), 제 3 사용자(530) 및 제 4 사용자(540)에게 출력을 제공하는 경우, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540)로부터 수신한 입력이 나타내는 질의를 획득하고, 제 1 디바이스 내지 제 4 디바이스는 획득한 질의에 대한 응답을 각 사용자의 수준에 따라 상이한 응답 수준으로 출력할 수 있다. 예를 들면, 제 3 사용자(530)의 회의에 대한 준비가 부족할 경우, 제 3 사용자는 제 3 디바이스에 응답 수준을 낮은 수준으로 입력하여 제 3 디바이스를 통해 낮은 수준의 응답을 제공받을 수 있다. 다른 예로, 제 2 사용자(520)는 지식 수준이 높을 경우, 제 2 디바이스는 제 2 사용자(520)의 지식 수준이 높음을 제 2 사용자(520)에 대한 과거 응답 히스토리를 통해 확인하고, 제 2 사용자(520)에게 높은 수준의 응답을 제공할 수 있다.
다른 예로, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540)로부터 수신한 입력이 나타내는 질의를 획득하고, 질의에 대응하는 응답을 제 1 사용자(510) 내지 제 4 사용자(540) 모두의 지식 수준을 고려하여 출력할 수 있다. 예를 들면, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540) 중 가장 지식 수준이 낮은 사용자의 지식 수준에 대응되도록 응답 수준을 결정할 수 있다. 다른 예로, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540)의 평균 지식 수준에 대응되도록 응답 수준을 결정할 수 있다.
도 5c는 일부 실시 예에 따른 디바이스(100)가 다수의 사용자 중 어느 한 사용자의 수준을 고려하여 어느 한 사용자로부터 수신한 입력에 대응하는 응답을 특정 사용자에게 제공하는 일례를 도시한 도면이다.
예를 들면, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540) 중 제 2 사용자(520)의 수준을 고려하여 응답 수준을 결정할 수 있다. 또한, 디바이스(100)는 제 2 사용자(520)로부터 수신한 입력에 대응하는 하나 이상의 응답 중 제 2 사용자(520)의 수준을 고려하여 결정된 응답 수준에 대응하는 응답을 제 3 사용자(530) 에게 제공할 수 있다.
일 실시 예에 따른 디바이스(100)는 B2C 개인의 형태로 응답을 제공할 수 있다. 예를 들면, 디바이스(100)는 단수의 사용자의 지식 수준에 기초하여 결정된 응답 수준에 대응되는 응답을 단수의 사용자에게 제공할 수 있다.
도 5d는 일부 실시 예에 따른 디바이스(100)가 다수의 사용자의 수준을 고려하여 다수의 사용자로부터 수신한 입력에 대응하는 응답을 특정 사용자에게 제공하는 일례를 도시한 도면이다.
예를 들면, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540) 의 수준을 고려하여 응답 수준을 결정할 수 있다. 또한, 디바이스(100)는 제 1 사용자(510) 내지 제 4 사용자(540)로부터 수신한 입력에 대응하는 하나 이상의 응답 중 제 1 사용자(510) 내지 제 4 사용자(540)의 수준을 고려하여 결정된 응답 수준에 대응하는 응답을 제 2 사용자(520) 에게 제공할 수 있다.
일 실시 예에 따른 디바이스(100)는 B2B 개인의 형태로 응답을 제공할 수 있다. 예를 들면, 디바이스(100)는 복수의 사용자의 지식 수준에 기초하여 결정된 응답 수준에 대응되는 응답을 단수의 사용자에게 제공할 수 있다.
도 6은 일부 실시 예에 따른 디바이스(100)가 텍스트 입력을 수신하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 디바이스(100)의 외부로부터 사용자 입력을 수신할 수 있다. 예를 들면 디바이스(100)는 키보드를 통해 사용자 입력을 수신할 수 있다. 키보드를 통해 사용자 입력을 수신할 경우 수신되는 사용자 입력의 형태는 텍스트일 수 있다.
일 실시 예에 따른 디바이스(100)가 텍스트 입력을 수신할 경우 수신한 텍스트 입력으로부터 수신한 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 디바이스(100)는 수신한 텍스트 입력으로부터 키워드를 추출하고, 추출된 키워드를 이용하여 수신한 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 수신한 텍스트가 “지금 배가 고프다”인 경우, 디바이스(100)는 “배” 및 “고프다”라는 키워드를 추출하고, 추출된 키워드로부터 대응되는 질의인 “현재 위치 주변의 인기 음식점은?”이라는 질의를 획득할 수 있다.
도 7은 일부 실시 예에 따른 디바이스(100)가 음성 입력을 수신하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 디바이스(100)의 외부로부터 사용자 입력을 수신할 수 있다. 예를 들면 디바이스(100)는 소리 입력 형태로 사용자 입력을 수신할 수 있다. 소리 입력 형태로 사용자 입력을 수신할 경우, 디바이스(100)는 디바이스(100) 내에 포함된 마이크를 통해 사용자 입력을 수신할 수 있다.
일 실시 예에 따른 디바이스(100)가 음성 입력을 수신한 경우 수신한 음성 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 디바이스(100)는 수신한 음성 입력을 텍스트로 변환하고, 변환된 텍스트로부터 키워드를 추출하고, 추출된 키워드를 이용하여 수신한 입력이 나타내는 질의를 획득할 수 있다.
다른 실시 예에 따른 디바이스(100)가 음성 입력을 수신한 경우, 디바이스(100)는 음성 입력의 특성을 분석하여 사용자에 대한 정보를 획득할 수 있다. 예를 들면, 수신한 음성 입력을 분석한 결과 수신한 음성 입력에 어린이 음성에 대한 특성이 포함된 것으로 판단된 경우 디바이스(100)는 사용자의 연령대를 어린이 연령대로 결정할 수 있다.
도 8은 일부 실시 예에 따른 디바이스(100)가 제스쳐 입력을 수신하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 디바이스(100)의 외부로부터 제스쳐 입력을 수신할 수 있다. 예를 들면 디바이스(100)는 디바이스(100) 외부에 발생한 움직임에 대한 정보를 획득할 수 있다.
예를 들면, 디바이스(100)는 사용자가 특정 물체를 가리키는 움직임을 인식할 수 있다. 이 경우, 디바이스(100)는 사용자가 특정 물체를 가리키는 움직임을 인식한 경우 “가리킴의 대상이 되는 물체는 무엇인가?”라는 질의를 획득할 수 있다. 다른 예로, 디바이스(100)는 사용자가 팔장을 끼는 움직임을 인식할 수 있다. 이 경우, 디바이스(100)는 팔장을 끼는 동작에 대응되는 질의로 “현재 시간은?”이라는 질의를 획득할 수 있다. 일 실시 예에 따른 디바이스(100)는 미리 정해진 동작에 대응되는 질의를 미리 결정하여 저장하고 있을 수 있다.
일 실시 예에 따른 디바이스(100)는 움직임 감지 센서 또는 카메라 등을 이용하여 제스쳐 입력을 수신할 수 있다.
도 9는 일부 실시 예에 따른 디바이스(100)가 착용 가능한 형태로 구현되는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 착용 가능한 형태로 구현될 수 있다. 예를 들면 디바이스(100)는 손목시계, 안경, 귀걸이, 목걸이, 이어폰, 귀걸이 형 액세서리, 신발, 반지, 옷, 헬멧 등의 형태로 구현될 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(100)는 사용자의 신체에 직접 탈부착 가능한 형태고 구현될 수 있다. 예를 들어, 디바이스(100)는 패치 형태로 구현될 수 있으며, 사용자의 신체에 접착식 또는 비접착식으로 탈부착될 수 있다. 또한, 디바이스(100)는 사용자의 신체 내부에 삽입되는 형태로 구현될 수 있다. 예를 들어, 디바이스(100)는, 전자 피부(epidermal electronics, 또는 E-Skin) 또는 전자 문신(E-Tattoo) 등과 같은 형태로 구현되어, 의료적인 시술을 통하여 신체의 표피 또는 내부에 삽입될 수 있다.
디바이스(100)를 착용하였다고 함은, 디바이스(100)를 사용자의 신체에 접촉되는 형태로 사용자가 지니고 있음을 의미한다. 예를 들면, 사용자가 손목시계를 팔목에 차거나, 안경을 쓰거나, 귀걸이를 귀에 걸거나, 목걸이를 목에 걸거나, 이어폰을 귓구멍에 끼거나, 귀걸이 형 액세서리를 귓바퀴에 걸거나, 신발을 신거나, 반지를 손가락에 끼거나, 옷을 입거나, 헬멧을 쓰는 등의 형태로 디바이스(100)를 착용할 수 있다.
일 실시 예에 따른 디바이스(100)가 착용 가능한 형태로 구현된 경우 디바이스(100)는 사용자가 디바이스(100)에 입력을 인가하기 위해 디바이스(100)에 가하는 움직임에 대한 입력을 수신할 수 있다. 예를 들면, 디바이스(100)는 디바이스(100)의 위치가 변경된 경우, 디바이스(100)의 이동 정보를 통해 제스쳐 정보를 획득할 수 있다. 예를 들면, 디바이스(100)의 위치가 사용자의 눈높이 위치로 이동된 경우, 디바이스(100)는 “현재 시간은?”이라는 질의를 획득할 수 있다.
일 실시 예에 따른 디바이스(100)는 자이로 센서, 지자계 센서, 가속도 센서, 카메라, 기울기 센서 중력 센서 등을 이용하여 제스쳐 입력을 수신할 수 있다.
일 실시 예에 따른 디바이스(100)가 웨어러블 디바이스 형태로 구현된 경우, 디바이스(100)는 외부 기기와 데이터를 송수신할 때, 블루투스 및/또는 와이파이 방식을 이용할 수 있다.
일 실시 예에 따른 디바이스(100)가 웨어러블 디바이스 형태로 구현된 경우, 디바이스(100)는 입력을 수신할 때, 눈의 깜박임 인식, 음성 인식, 가상 키보드 인식을 통해 입력을 수신할 수 있다.
일 실시 예에 따른 디바이스(100)가 웨어러블 디바이스 형태로 구현된 경우, 디바이스(100)는 응답을 출력할 때, 화면 디스플레이 방식, 음성 출력 방식을 이용할 수 있다.
도 10은 일부 실시 예에 따른 디바이스(100)가 이미지 입력을 수신하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 이미지 입력을 수신할 수 있다. 디바이스(100)가 이미지 입력을 수신할 경우 디바이스(100)는 디바이스(100) 내에 포함된 카메라 등의 빛 감지 센서를 이용하여 사용자 입력을 수신할 수 있다.
일 실시 예에 따른 디바이스(100)가 이미지 입력을 수신한 경우 수신한 이미지가 나타내는 질의를 획득할 수 있다. 예를 들면, 수신한 이미지가 바코드인 경우, 디바이스(100)는 “바코드에 대응되는 물품에 대한 정보가 무엇인가?”라는 질의를 획득할 수 있다. 다른 예로, 수신한 이미지가 하늘 이미지인 경우, 디바이스(100)는 “오늘 날씨 예보는 어떠한가?”라는 질의를 획득할 수 있다. 다른 예로, 수신한 이미지가 소정의 물품인 경우, 디바이스(100)는 “소정의 물품은 무엇인가?”라는 질의를 획득할 수 있다.
도 11은 일부 실시 예에 따른 디바이스(100)가 스케치 입력 또는 터치 입력을 수신하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 스케치 입력 또는 터치 입력을 수신할 수 있다. 디바이스(100)가 터치 입력을 수신할 경우 디바이스(100)는 디바이스(100) 내에 포함된 터치 센서를 이용하여 사용자 입력을 수신할 수 있다.
일 실시 예에 따른 디바이스(100)가 스케치 입력을 수신한 경우, 수신한 스케치 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 수신한 스케치가 별모양인 경우, 디바이스(100)는 “현재 위치에서 관찰할 수 있는 별자리에는 어떤 것이 있는가?”라는 질의를 획득할 수 있다. 다른 예로, 수신한 스케치가 소정의 물품인 경우, 디바이스(100)는 “소정의 물품은 무엇인가?”라는 질의를 획득할 수 있다. 다른 예로, 수신한 스케치가 텍스트를 나타내는 경우, 디바이스(100)는 스케치가 나타내는 텍스트가 나타내는 질의를 획득할 수 있다.
다른 예에 따른 디바이스(100)가 터치 입력을 수신한 경우, 수신한 터치 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 화면의 소정 위치를 3번 연속으로 소정 시간 내에 터치한 경우, 디바이스(100)는 “오늘의 스케줄은 무엇인가?”라는 질의를 획득할 수 있다.
일 실시 예에 따른 디바이스(100)는 다중 입력을 수신할 수 있다. 예를 들면, 디바이스(100)는 음성 입력과 제스쳐 입력을 동시에 수신할 수 있다. 예를 들면, 사용자가 특정 물건을 가리키는 제스쳐 입력과, 음성 입력을 동시에 디바이스(100)에 입력할 수 있다.
일 실시 예에 따른 디바이스(100)는 다중 입력이 수신된 경우 수신된 복수개의 입력을 분석하여 다중 입력에 대응되는 응답을 출력할 수 있다. 예를 들면, 책상을 가리키는 제스쳐 입력과, “브랜드”라는 음성 입력을 디바이스(100)가 수신한 경우, 디바이스(100)는 가리킴의 대상이 된 책상의 브랜드를 사용자의 응답 수준에 대응되도록 출력할 수 있다.
도 12는 일부 실시 예에 따른 디바이스(100)가 수신한 입력이 언어 입력인지 여부에 따라 응답을 출력하는 방법의 흐름도이다.
단계 S1210에서 일 실시 예에 따른 디바이스(100)는 디바이스(100)의 외부로부터 입력을 수신할 수 있다. 디바이스(100)가 수신하는 입력은 사용자 입력을 포함할 수 있다. 사용자 입력은 터치 입력, 키보드 입력, 음성 입력, 소리 입력, 버튼 입력, 제스쳐 입력 및 다중(multimodal) 입력 중 적어도 하나를 포함할 수 있다.
단계 S1220에서 일 실시 예에 따른 디바이스(100)는 수신한 입력의 방식을 결정할 수 있다. 예를 들면 디바이스(100)는 수신한 입력이 음성 입력인 경우 수신한 입력의 방식을 음성 입력으로 결정할 수 있다. 디바이스(100)는 결정된 입력 방식에 기초하여 사용자 입력을 처리할 수 있다.
단계 S1230에서 일 실시 예에 따른 디바이스(100)는 수신한 입력이 언어 입력인지 여부를 결정할 수 있다. 예를 들면 디바이스(100)는 수신한 입력이 한국어에 대한 텍스트 입력인 경우 수신한 입력을 언어 입력으로 결정할 수 있다. 다른 예로, 디바이스(100)는 수신한 입력이 박수소리인 경우 수신한 입력이 언어 입력이 아닌 것으로 결정할 수 있다. 다른 예로, 디바이스(100)는 수신한 입력이 두개 이상의 언어로 구성됨을 결정할 수 있다.
단계 S1231에서 일 실시 예에 따른 디바이스(100)는 수신한 입력이 언어 입력이 아닌 경우 입력 방식에 대응되는 분석 방식으로 입력을 분석할 수 있다. 예를 들면, 입력이 박수를 한번 치는 소리 입력인 경우, 디바이스(100)는 수신한 소리 신호를 분석하여 사용자 입력이 박수를 한번 치는 소리임을 결정할 수 있다.
단계 S1232에서 일 실시 예에 따른 디바이스(100)는 단계 S1231에서의 분석 결과를 통해 사용자 입력이 나타내는 질의를 결정할 수 있다. 예를 들면 단계 S1231에서 분석한 결과 사용자 입력이 박수를 한번 치는 소리인 경우, 디바이스(100)는 박수를 한번 치는 소리에 대응되도록 미리 결정된 질의를 획득할 수 있다. 예를 들면, 디바이스(100)는 미리 결정된 대로 박수를 한번 치는 소리에 “현재 시간은?”이라는 질의를 대응시킬 수 있다.
단계 S1233에서 일 실시 예에 따른 디바이스(100)는 단계 S1232에서 결정된 질의에 대응하는 하나 이상의 응답을 결정할 수 있다. 예를 들면, 디바이스(100)는 단계 S1232에서 결정된 질의가 “기린이 무엇인가?”인 경우, 디바이스(100)에 저장된 응답들 중 기린에 대한 정보를 유아용으로 제공하는 응답과, 일반인 대상으로 제공하는 응답과, 전문가를 대상으로 제공하는 응답을 질의에 대응되는 응답으로 결정할 수 있다.
단계 S1240에서 일 실시 예에 따른 디바이스(100)는 수신한 입력이 언어입력인 경우 언어의 종류를 결정할 수 있다. 예를 들면, 디바이스(100)는 수신한 입력이 음성 입력인 경우, 음성을 분석하여 언어의 종류를 결정할 수 있다.
단계 S1250에서 일 실시 예에 따른 디바이스(100)는 수신한 입력에 대해서 자연어 분석을 수행할 수 있다. 예를 들면, 디바이스(100)는 수신한 언어 입력에 포함된 키워드가 무엇이 있는지, 문장의 구조는 어떠한지, 문장의 주어는 무엇인지 등을 결정할 수 있다.
단계 S1260에서 일 실시 예에 따른 디바이스(100)는 수신한 언어 입력이 의문문인지 여부를 결정할 수 있다. 예를 들면, 디바이스(100)는 단계 S1250에서 분석한 결과를 이용하여 수신한 언어 입력이 의문문 형식인지 여부를 결정할 수 있다.
단계 S1261에서 일 실시 예에 따른 디바이스(100)는 수신한 언어 입력이 의문문이 아니기 때문에 수신한 언어 입력을 분석하여 사용자 입력이 나타내는 질의를 결정할 수 있다.
단계 S1262에서 일 실시 예에 따른 디바이스(100)는 단계 S1261에서 결정된 질의에 대응하는 하나 이상의 응답을 결정할 수 있다. 하나 이상의 응답을 결정하는 방법은 단계 S1233을 참조할 수 있다.
단계 S1270에서 일 실시 예에 따른 디바이스(100)는 수신한 언어 입력이 의문문이므로, 수신한 언어 입력을 질의로 결정하고, 질의에 부합하는 하나 이상의 응답을 결정할 수 있다. 하나 이상의 응답을 결정하는 방법은 단계 S1233을 참조할 수 있다.
단계 S1280에서 일 실시 예에 따른 디바이스(100)는 단계 S1233, 단계 S1262 또는 단계 S1270에서 결정된 하나 이상의 응답 중 하나의 응답을 출력할 수 있다. 하나 이상의 응답 중 하나의 응답을 출력하는 방법은 단계 S230의 내용을 참조할 수 있다.
도 13은 일부 실시 예에 따른 디바이스(100)가 사용자에 대한 모델링을 설정하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 사용자에 대한 모델링을 수행할 수 있다. 예를 들면 디바이스(100)는 각각의 사용자에 대한 정보를 이용하여 각각의 사용자에 대한 응답 수준을 결정할 수 있다. 예를 들면, 제 3 사용자에 대한 정보를 이용하여 제 3 사용자를 20대이고 석사학위를 가진 디자인 전공자로 모델링할 수 있다.
일 실시 예에 따른 디바이스(100)가 사용자에 대한 모델링을 수행할 때 사용자에 대한 다양한 정보를 이용할 수 있다. 예를 들면, 사용자의 지적 수준, 사용자의 경험 수준, 사용자의 이해 수준, 사용자의 경력, 사용자의 연령, 사용자의 성별, 사용자의 직위, 사용자의 지역, 사용자의 서치 정보, 사용자의 SNS 활동 정보, 사용자의 유저 프로파일 정보, 사용자의 피드백 정보 등을 이용하여 디바이스(100)는 사용자에 대한 모델링을 수행할 수 있다. 디바이스(100)는 사용자에 대한 정보를 변하는 정보 또는 불변 정보로 나누어 관리할 수 있다.
사용자는 출력되는 응답에 대해 응답 수준을 재조정하여 줄 것을 요청하는 입력을 디바이스(100)에 입력할 수 있다. 일 실시 예에 따른 사용자의 피드백 정보는 사용자의 응답 수준 재조정 요청 입력을 포함할 수 있다.
일 실시 예에 따른 디바이스(100)는 각 사용자에 대해 모델링된 결과를 이용하여 각 사용자에 대한 응답 수준을 결정할 수 있다.
일 실시 예에 따른 서버(110)는 사용자에 대한 모델링을 수행할 수 있다. 예를 들면, 서버(110)는 제 3 사용자에 대한 정보를 이용하여 제 3 사용자를 20대, 석사, 디자인 전공자로 모델링할 수 있다.
일 실시 예에 따른 서버(110)가 사용자에 대한 모델링을 수행할 때 사용자에 대한 다양한 정보를 이용할 수 있다. 예를 들면, 사용자의 지적 수준, 사용자의 경험 수준, 사용자의 이해 수준, 사용자의 경력, 사용자의 연령, 사용자의 성별, 사용자의 직위, 사용자의 지역, 사용자의 서치 정보, 사용자의 SNS 활동 정보, 사용자의 유저 프로파일 정보, 사용자의 피드백 정보 등을 이용하여 서버(110)는 사용자에 대한 모델링을 수행할 수 있다. 서버(110)는 사용자에 대한 정보를 변하는 정보 또는 불변 정보로 나누어 관리할 수 있다.
서버(110)는 출력되는 응답에 대해 응답 수준을 재조정하여 줄 것을 요청하는 입력을 디바이스(100)를 통해 수신할 수 있다. 일 실시 예에 따른 사용자의 피드백 정보는 사용자의 응답 수준 재조정 요청 입력을 포함할 수 있다. 일 실시 예에 따른 사용자의 피드백 정보는 디바이스(100)를 통해 서버(110)로 전송될 수 있다.
일 실시 예에 따른 서버(110)는 각 사용자에 대해 모델링된 결과를 이용하여 각 사용자에 대한 응답 수준을 결정할 수 있다.
도 14는 일부 실시 예에 따른 디바이스(100)가 복수의 사용자로 구성된 사용자 그룹에 대한 모델링을 설정하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 복수의 사용자로 구성된 사용자 그룹에 대한 모델링을 수행할 수 있다. 예를 들면 디바이스(100)는 각각의 사용자에 대한 정보를 이용하여 각각의 사용자로 구성된 사용자 그룹에 대한 응답 수준을 결정할 수 있다. 예를 들면, 디바이스(100)는 사용자 그룹을 구성하는 사용자의 공통점 및 차이점에 중점을 두고 사용자 그룹에 대한 모델링을 수행할 수 있다. 예를 들면, 사용자 그룹을 구성하는 사용자들 중 디자인에 관심있는 사람이 75%, 영화를 즐겨보는 사람이 100%, 30대가 100%, 학부 출신이 25%인 경우, 디바이스(100)는 사용자 그룹을 디자인 및 영화에 관심있는 30대 모임으로 모델링할 수 있다.
일 실시 예에 따른 디바이스(100)가 사용자 그룹에 대한 모델링을 수행할 때 사용자 그룹을 구성하는 사용자들에 대한 다양한 정보를 이용할 수 있다. 예를 들면, 사용자들의 지적 수준, 사용자들의 경험 수준, 사용자들의 이해 수준, 사용자들의 경력, 사용자들의 연령, 사용자들의 성별, 사용자들의 직위, 사용자들의 지역, 사용자들의 서치 정보, 사용자들의 SNS 활동 정보, 사용자들의 유저 프로파일 정보, 사용자들의 피드백 정보 등을 이용하여 디바이스(100)는 사용자 그룹에 대한 모델링을 수행할 수 있다. 디바이스(100)는 사용자들에 대한 정보를 변하는 정보 또는 불변 정보로 나누어 관리할 수 있다.
사용자들은 출력되는 응답에 대해 응답 수준을 재조정하여 줄 것을 요청하는 입력을 디바이스(100)에 입력할 수 있다. 일 실시 예에 따른 사용자들의 피드백 정보는 사용자들의 응답 수준 재조정 요청 입력을 포함할 수 있다.
일 실시 예에 따른 디바이스(100)는 사용자 그룹 대해 모델링된 결과를 이용하여 사용자 그룹에 대한 응답 수준을 결정할 수 있다.
일 실시 예에 따른 서버(110)는 복수의 사용자로 구성된 사용자 그룹에 대한 모델링을 수행할 수 있다. 예를 들면 서버(110)는 각각의 사용자에 대한 정보를 이용하여 각각의 사용자로 구성된 사용자 그룹에 대한 응답 수준을 결정할 수 있다. 예를 들면, 서버(110)는 사용자 그룹을 구성하는 사용자의 공통점 및 차이점에 중점을 두고 사용자 그룹에 대한 모델링을 수행할 수 있다. 예를 들면, 사용자 그룹을 구성하는 사용자들 중 디자인에 관심있는 사람이 75%, 영화를 즐겨보는 사람이 100%, 30대가 100%, 학부 출신이 25%인 경우, 서버(110)는 사용자 그룹을 디자인 및 영화에 관심있는 30대 모임으로 모델링할 수 있다.
일 실시 예에 따른 서버(110)가 사용자 그룹에 대한 모델링을 수행할 때 사용자 그룹을 구성하는 사용자들에 대한 다양한 정보를 이용할 수 있다. 예를 들면, 사용자들의 지적 수준, 사용자들의 경험 수준, 사용자들의 이해 수준, 사용자들의 경력, 사용자들의 연령, 사용자들의 성별, 사용자들의 직위, 사용자들의 지역, 사용자들의 서치 정보, 사용자들의 SNS 활동 정보, 사용자들의 유저 프로파일 정보, 사용자들의 피드백 정보 등을 이용하여 서버(110)는 사용자 그룹에 대한 모델링을 수행할 수 있다. 서버(110)는 사용자들에 대한 정보를 변하는 정보 또는 불변 정보로 나누어 관리할 수 있다.
사용자들은 출력되는 응답에 대해 응답 수준을 재조정하여 줄 것을 요청하는 입력을 디바이스(100)에 입력할 수 있다. 일 실시 예에 따른 사용자들의 피드백 정보는 사용자들의 응답 수준 재조정 요청 입력을 포함할 수 있다. 일 실시 예에 따른 사용자의 피드백 정보는 디바이스(100)를 통해 서버(110)로 전송될 수 있다.
일 실시 예에 따른 서버(110)는 사용자 그룹 대해 모델링된 결과를 이용하여 사용자 그룹에 대한 응답 수준을 결정할 수 있다.
도 15는 일부 실시 예에 따른 디바이스(100)가 분할 화면을 통해 입력 및 출력을 디스플레이하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 화면 분할을 통해 질의 및 응답을 디스플레이할 수 있다.
예를 들면, 디바이스(100)는 디바이스(100)의 화면 중 일부분인 제 1 분할 화면(1510)에 사용자 입력이 나타내는 질의를 디스플레이할 수 있다. 예를 들면, 디바이스(100)가 수신한 음성 입력이 “날씨”인 경우 디바이스(100)는 음성 입력에 대응되는 질의로 “지금 날씨는?”이라는 질의를 획득하고, 획득한 질의를 제 1 분할 화면(1510)에 디스플레이할 수 있다. 디바이스는 기설정된 하나 이상의 응답 수준들 중에서 사용자의 수준에 대응하는 응답수준을 결정하고, 결정된 응답 수준에 따라 질의에 대한 응답을 출력할 수 있다. 예를 들면, 사용자의 수준이 성인 수준이라고 결정된 경우, 디바이스(100)는 성인 수준에 대응되는 포맷으로 현재 날씨를 제 2 분할 화면(1520)에 디스플레이할 수 있다.
도 16은 일부 실시 예에 따른 디바이스(100)가 화면 전환을 통해 입력 및 출력을 디스플레이하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 화면 전환을 통해 질의 및 응답을 디스플레이할 수 있다.
예를 들면, 디바이스(100)는 디바이스(100)의 제 1 화면(1610)에 사용자 입력이 나타내는 질의를 디스플레이할 수 있다. 예를 들면, 디바이스(100)가 수신한 제스쳐 입력이 하늘을 가리키는 제스쳐인 경우 디바이스(100)는 제스쳐 입력에 대응되는 질의로 “지금 날씨는?”이라는 질의를 획득하고, 획득한 질의를 제 1 화면(1610)에 디스플레이할 수 있다. 디바이스(100)는 기설정된 하나 이상의 응답 수준들 중에서 사용자의 수준에 대응하는 응답수준을 결정하고, 결정된 응답 수준에 따라 질의에 대한 응답을 출력할 수 있다. 예를 들면, 사용자의 수준이 성인 수준이라고 결정된 경우, 디바이스(100)는 성인 수준에 대응되는 포맷으로 현재 날씨를 제 2 화면(1620)에 디스플레이할 수 있다. 제 1 화면(1610)과 제 2 화면(1620)은 디바이스(100)의 동일한 화면에 대해서 시간의 흐름에 따라 변화되는 화면을 의미할 수 있다. 예를 들면, 제 1 화면(1610)의 디스플레이가 종료된 후 제 2 화면(1620)이 디스플레이될 수 있다.
도 17는 일부 실시 예에 따른 디바이스(100)가 말풍선 형태를 통해 입력 및 출력을 디스플레이하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 말풍선을 통해 질의 및 응답을 디스플레이할 수 있다.
예를 들면, 디바이스(100)는 디바이스(100)의 화면상에 1 말풍선(1710)에 사용자 입력이 나타내는 질의를 디스플레이할 수 있다. 예를 들면, 디바이스(100)가 수신한 텍스트 입력이 “날씨”인 경우 디바이스(100)는 텍스트 입력에 대응되는 질의로 “지금 날씨는?”이라는 질의를 획득하고, 획득한 질의를 제 1 말풍선(1710)에 디스플레이할 수 있다. 디바이스는 기설정된 하나 이상의 응답 수준들 중에서 사용자의 수준에 대응하는 응답수준을 결정하고, 결정된 응답 수준에 따라 질의에 대한 응답을 출력할 수 있다. 예를 들면, 사용자의 수준이 성인 수준이라고 결정된 경우, 디바이스(100)는 성인 수준에 대응되는 포맷으로 현재 날씨를 제 2 말풍선(1720)에 디스플레이할 수 있다.
도 18은 일부 실시 예에 따른 디바이스(100)가 아바타를 통해 입력 및 출력을 디스플레이하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 아바타를 통해 응답을 디스플레이할 수 있다.
예를 들면, 디바이스(100)는 디바이스(100)의 화면상에 사용자 입력이 나타내는 질의(1810)를 디스플레이할 수 있다. 예를 들면, 디바이스(100)가 수신한 음성 입력이 “날씨”인 경우 디바이스(100)는 음성 입력에 대응되는 질의로 “지금 날씨는?”이라는 질의를 획득하고, 획득한 질의(1810를 디스플레이할 수 있다. 디바이스는 기설정된 하나 이상의 응답 수준들 중에서 사용자의 수준에 대응하는 응답수준을 결정하고, 결정된 응답 수준에 따라 질의에 대한 응답을 출력할 수 있다. 예를 들면, 사용자의 수준이 어린이 수준이라고 결정된 경우, 디바이스(100)는 어린이 수준에 대응되는 포맷으로 현재 날씨를 아바타(1820)를 통해 디스플레이할 수 있다.
다른 실시 예에 따른 디바이스(100)는 메시지 및/또는 메일을 통해 응답을 제공할 수 있다. 예를 들면, 디바이스(100)는 출력할 응답을 메시지 형태로 출력할 수 있다. 다른 예로, 디바이스(100)는 출력할 응답에 대한 내용을 사용자의 메일로 전송할 수 있다.
다른 실시 예에 따른 디바이스(100)는 착용 가능한 형태로 제공될 수 있다. 예를 들면, 디바이스(100)는 글래스 형태일 수 있다. 디바이스(100)의 형태가 글래스 형태인 경우 디바이스(100)는 응답을 글래스 화면상에 디스플레이하는 방식으로 제공할 수 있다.
도 19는 일부 실시 예에 따른 디바이스(100)가 서버(110) 또는 다른 디바이스(1900)와 연동하여 동작하는 일례를 도시한 도면이다.
일 실시 예에 따른 디바이스(100)는 다른 디바이스(1900)와 연동하여 동작할 수 있다. 예를 들면, 디바이스(100)는 웨어러블 디바이스 형태로 구현되고, 다른 디바이스(1900)는 모바일 디바이스 형태로 구현될 수 있다.
도 19를 참조하면, 디바이스(100)는 모바일 디바이스(1900) 및 서버 중 적어도 하나와 네트워크를 통하여 통신 연결될 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 49에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다.
또한, 디바이스(100)는 연산 능력이 상대적으로 낮은 장치일 수 있으며, 이에 따라, 디바이스(100)는 모바일 디바이스(1900) 및/또는 서버(110)의 연산 능력을 활용함으로써, 사용자의 상황에 따라 특정 기능을 수행할 수 있다. 예를 들어, 모바일 디바이스(1900)에서 저장하고 있는 스케줄에 대한 정보를 디바이스(100)는 디바이스(100)에서 수신한 제스쳐 정보에 대한 응답으로 디스플레이할 수 있다.
도 20은 일부 실시 예에 따른 디바이스의 구성을 나타내는 블록도이다.
도 20에 따르면, 디바이스(100)는 디스플레이부(2050), 제어부(2000), 메모리(2010), GPS 칩(2020), 통신부(2030), 비디오 프로세서(2040), 오디오 프로세서(2070), 사용자 입력부(2060), 마이크부(2080), 촬상부(2085), 스피커부(2090), 움직임 감지부(2095) 중 적어도 하나를 포함 할 수 있다.
디스플레이부(2050)는 표시패널(2051) 및 표시 패널(2051)을 제어하는 컨트롤러(미도시)를 포함할 수 있다. 표시패널(2051)은 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode), PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 표시패널(2051)은 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 디스플레이부(2050)는 사용자 입력부(2060)의 터치 패널(2062)과 결합되어 터치 스크린(미도시)으로 제공될 수 있다. 예를 들어, 터치 스크린(미도시)은 표시 패널(2051)과 터치 패널(2062)이 적층 구조로 결합된 일체형의 모듈을 포함할 수 있다.
메모리(2010)는 내장 메모리(Internal Memory)(미도시) 및 외장 메모리(External Memory)(미도시) 중 적어도 하나를 포함할 수 있다.
내장 메모리는, 예를 들어, 휘발성 메모리(예를 들면, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등), 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 제어부(2000)는 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 제어부(2000)는 다른 구성요소로부터 수신하거나 생성된 데이터를 비휘발성 메모리에 보존할 수 있다.
외장 메모리는, 예를 들면, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 및 Memory Stick 중 적어도 하나를 포함할 수 있다.
메모리(2010)는 디바이스(100)의 동작에 사용되는 각종 프로그램 및 데이터를 저장할 수 있다. 예를 들어, 메모리(2010)에는 잠금 화면에 표시될 컨텐츠의 적어도 일부를 임시 또는 반영구적으로 저장할 수 있다.
제어부(2000)는 메모리(2010)에 저장된 컨텐츠의 일부가 디스플레이부(2050)에 표시되도록 디스플레이부(2050)를 제어할 수 있다. 다시 말하자면, 제어부(2000)는 메모리(2010)에 저장된 컨텐츠의 일부를 디스플레이부(2050)에 표시할 수 있다. 또는, 제어부(2000)는 디스플레이부(2050)의 일 영역에서 사용자 제스처가 이루어지면, 사용자의 제스처에 대응되는 제어 동작을 수행할 수 있다.
제어부(2000)는 RAM(2001), ROM(2002), CPU(2003), GPU(Graphic Processing Unit)(2004) 및 버스(2005) 중 적어도 하나를 포함 할 수 있다. RAM(2001), ROM(2002), CPU(2003) 및 GPU(2004) 등은 버스(2005)를 통해 서로 연결될 수 있다.
CPU(2003)는 메모리(2010)에 액세스하여, 메모리(2010)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(2010)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
ROM(2002)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 예로, 디바이스(100)는 턴 온 명령이 입력되어 전원이 공급되면, CPU(2003)가 ROM(2002)에 저장된 명령어에 따라 메모리(2010)에 저장된 OS를 RAM(2001)에 복사하고, OS를 실행시켜 시스템을 부팅시킬 수 있다. 부팅이 완료되면, CPU(2003)는 메모리(2010)에 저장된 각종 프로그램을 RAM(2001)에 복사하고, RAM(2001)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다. GPU(2004)는 디바이스(100)의 부팅이 완료되면, 디스플레이부(2050)의 영역에 UI 화면을 디스플레이한다. 구체적으로는, GPU(2004)는 컨텐츠, 아이콘, 메뉴 등과 같은 다양한 객체를 포함하는 전자문서가 표시된 화면을 생성할 수 있다. GPU(2004)는 화면의 레이아웃에 따라 각 객체들이 표시될 좌표 값, 형태, 크기, 컬러 등과 같은 속성 값을 연산한다. 그리고, GPU(2004)는 연산된 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. GPU(2004)에서 생성된 화면은 디스플레이부(2050)로 제공되어, 디스플레이부(2050)의 각 영역에 각각 표시될 수 있다.
GPS 칩(2020)은 GPS(Global Positioning System) 위성으로부터 GPS 신호를 수신하여, 디바이스(100)의 현재 위치를 산출할 수 있다. 제어부(2000)는 네비게이션 프로그램을 이용할 때나 그 밖에 사용자의 현재 위치가 필요할 경우에, GPS 칩(2020)을 이용하여 사용자 위치를 산출할 수 있다.
통신부(2030)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 통신부(2030)는 와이파이칩(2031), 블루투스 칩(2032), 무선 통신 칩(2033), NFC 칩(2034) 중 적어도 하나를 포함할 수 있다. 제어부(2000)는 통신부(2030)를 이용하여 각종 외부 기기와 통신을 수행할 수 있다.
와이파이 칩(2031), 블루투스 칩(2032)은 각각 Wi-Fi 방식, 블루투스 방식으로 통신을 수행할 수 있다. 와이파이 칩(2031)이나 블루투스 칩(2032)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩(2033)은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩(2034)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
비디오 프로세서(2040)는 통신부(2030)를 통해 수신된 컨텐츠 또는, 메모리(2010)에 저장된 컨텐츠에 포함된 비디오 데이터를 처리할 수 있다. 비디오 프로세서(2040)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
오디오 프로세서(2070)는 통신부(2030)를 통해 수신된 컨텐츠 또는, 메모리(2010)에 저장된 컨텐츠에 포함된 오디오 데이터를 처리할 수 있다. 오디오 프로세서(2070)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
제어부(2000)는 멀티미디어 컨텐츠에 대한 재생 프로그램이 실행되면 비디오 프로세서(2040) 및 오디오 프로세서(2070)를 구동시켜, 해당 컨텐츠를 재생할 수 있다. 스피커부(2090)는 오디오 프로세서(2070)에서 생성한 오디오 데이터를 출력할 수 있다.
사용자 입력부(2060)는 사용자로부터 다양한 명령어를 입력 받을 수 있다. 사용자 입력부(2060)는 키(2061), 터치 패널(2062) 및 펜 인식 패널(2063) 중 적어도 하나를 포함할 수 있다.
키(2061)는 디바이스(100)의 본체 외관의 전면부나 측면부, 배면부 등의 다양한 영역에 형성된 기계적 버튼, 휠 등과 같은 다양한 유형의 키를 포함할 수 있다.
터치 패널(2062)은 사용자의 터치 입력을 감지하고, 감지된 터치 신호에 해당하는 터치 이벤트 값을 출력할 수 있다. 터치 패널(2062)이 표시 패널(2051)과 결합하여 터치 스크린(미도시)을 구성한 경우, 터치 스크린은 정전식이나, 감압식, 압전식 등과 같은 다양한 유형의 터치 센서로 구현될 수 있다. 정전식은 터치 스크린 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 터치 스크린 표면에 터치되었을 때 사용자의 인체로 야기되는 미세 전기를 감지하여 터치 좌표를 산출하는 방식이다. 감압식은 터치 스크린에 내장된 두 개의 전극 판을 포함하여, 사용자가 화면을 터치하였을 경우, 터치된 지점의 상하 판이 접촉되어 전류가 흐르게 되는 것을 감지하여 터치 좌표를 산출하는 방식이다. 터치 스크린에서 발생하는 터치 이벤트는 주로 사람의 손가락에 의하여 생성될 수 있으나, 정전 용량 변화를 가할 수 있는 전도성 재질의 물체에 의해서도 생성될 수 있다.
펜 인식 패널(2063)은 사용자의 터치용 펜(예컨대, 스타일러스 펜(stylus pen), 디지타이저 펜(digitizer pen))의 운용에 따른 펜의 근접 입력 또는 터치 입력을 감지하고 감지된 펜 근접 이벤트 또는 펜 터치 이벤트를 출력할 수 있다. 펜 인식 패널(2063)은, 예로, EMR 방식으로 구현될 수 있으며, 펜의 근접 또는 터치에 의한 전자기장의 세기 변화에 따라 터치 또는 근접 입력을 감지할 수 있다. 상세하게는 펜 인식 패널(2063)은 그리드 구조를 가지는 전자 유도 코일 센서(미도시)와 전자 유도 코일 센서의 각 루프 코일에 순차적으로 소정의 주파수를 가지는 교류 신호를 제공하는 전자 신호 처리부(미도시)를 포함하여 구성될 수 있다. 이러한 펜 인식 패널(2063)의 루프 코일 근방에 공진회로를 내장하는 펜이 존재하면, 해당 루프 코일로부터 송신되는 자계가 펜 내의 공진회로에 상호 전자 유도에 기초한 전류를 발생시킨다. 이 전류를 기초로 하여, 펜 내의 공진 회로를 구성하는 코일로부터 유도 자계가 발생하게 되고, 펜 인식 패널(2063)은 이 유도 자계를 신호 수신 상태에 있는 루프 코일에서 검출하게 되어 펜의 접근 위치 또는 터치 위치가 감지될 수 있다. 펜 인식 패널(2063)은 표시 패널(2051)의 하부에 일정 면적, 예를 들어, 표시 패널(2051)의 표시 영역을 커버할 수 있는 면적을 가지고 마련될 수 있다.
마이크부(2080)는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환할 수 있다. 제어부(2000)는 마이크 부(2080)를 통해 입력되는 사용자 음성을 통화 동작에서 이용하거나, 오디오 데이터로 변환하여 메모리(2010)에 저장할 수 있다.
촬상부(2085)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬상할 수 있다. 촬상부(2085)는 전면 카메라, 후면 카메라와 같이 복수 개로 구현될 수도 있다.
촬상부(2085) 및 마이크부(2080)가 마련된 경우, 제어부(2000)는 마이크부(2080)를 통해 입력되는 사용자 음성이나 촬상부(2085)에 의해 인식되는 사용자 모션에 따라 제어 동작을 수행할 수도 있다. 예컨대, 디바이스(100)는 모션 제어 모드나 음성 제어 모드로 동작할 수 있다. 모션 제어 모드로 동작하는 경우, 제어부(2000)는 촬상부(2085)를 활성화시켜 사용자를 촬상하고, 사용자의 모션 변화를 추적하여 그에 대응되는 제어 동작을 수행할 수 있다. 음성 제어 모드로 동작하는 경우 제어부(2000)는 마이크부(2080)를 통해 입력된 사용자 음성을 분석하고, 분석된 사용자 음성에 따라 제어 동작을 수행하는 음성 인식 모드로 동작할 수 있다.
움직임 감지부(2095)는 디바이스(100)의 본체 움직임을 감지할 수 있다. 디바이스(100)는 다양한 방향으로 회전되거나 기울어질 수 있다. 이 때, 움직임 감지부(2095)는 지자기 센서, 자이로 센서, 가속도 센서 등과 같은 다양한 센서들 중 적어도 하나를 이용하여 회전 방향 및 각도, 기울기 등과 같은 움직임 특성을 감지할 수 있다.
그 밖에, 도 20에 도시하지는 않았으나, 실시예에는, 디바이스(100) 내에 USB 커넥터가 연결될 수 있는 USB 포트나, 헤드셋, 마우스, LAN 등과 같은 다양한 외부 단자와 연결하기 위한 다양한 외부 입력 포트, DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 DMB 칩, 다양한 센서 등을 더 포함할 수 있다.
전술한 디바이스(100)의 구성 요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 디바이스(100)는 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
도 21은 일부 실시 예에 따른 디바이스(100)의 구성을 설명하기 위한 블록도이다.
도 21을 참조하면, 일부 실시 예에 따른 디바이스(100)는 입력 수신부(2110), 제어부(2120) 및 출력부(2130)를 포함할 수 있다.
그러나 도시된 구성요소보다 많은 구성요소에 의해 디바이스(100)가 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 디바이스(100) 가 구현될 수도 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
도 20의 터치 패널(2062), 마이크부(2080), 촬상부(2085), 움직임 감지부(2095)는 디바이스(100)의 입력 수신부(2110)에 포함될 수 있다. 도 20의 제어부(2000)는 디바이스(100)의 제어부(2120)에 포함될 수 있다. 도 20의 디스플레이부(2050)는 디바이스(100)의 출력부(2130)에 포함될 수 있다.
일 실시 예에 따른 입력 수신부(2110)는 한명 이상의 사용자로부터 입력을 수신할 수 있다. 예를 들면 입력 수신부(2110)는 터치 입력, 키보드 입력, 음성 입력, 소리 입력, 버튼 입력, 제스쳐 입력 및 다중(multimodal) 입력 중 적어도 하나를 수신할 수 있다.
일 실시 예에 따른 입력 수신부(2110)는 카메라, 적외선 센서, 움직임 센서, 마이크, 터치 패널, 중력 센서, 가속도 센서 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른 디바이스(100)는 복수의 사용자로부터 사용자 입력을 수신할 수 있다. 예를 들면, 디바이스(100)는 복수의 사용자로 구성된 사용자 그룹으로부터 입력을 수신할 수 있다. 예를 들면, 디바이스(100)는 디바이스(100)에 포함된 센서를 통하여 복수의 사용자로부터 음성 입력을 수신할 수 있다.
일 실시 예에 따른 입력 수신부(2110)는 입력의 방식을 결정할 수 있다. 예를 들면 입력 수신부(2110)는 사용자로부터 수신되는 입력의 종류에 따라 입력 방식을 결정할 수 있다. 결정된 입력 방식에 따라 디바이스(100)는 사용자 입력을 수신하는 방식을 결정할 수 있다.
예를 들면, 입력 수신부(2110)가 디바이스(100)의 외부로부터 소리를 인식한 경우, 입력 수신부(2110)는 입력 방식을 소리 입력 방식으로 결정할 수 있다. 입력 수신부(2110)가 입력 방식을 소리 입력 방식으로 결정한 경우, 입력 수신부(2110)는 입력 수신부(2110) 내에 포함된 마이크를 통해 수신되는 소리 입력이 나타내는 질의를 획득할 수 있다.
일 실시 예에 따른 입력 수신부(2110)는 결정된 입력의 방식에 기초하여 입력을 수신할 수 있다. 예를 들면, 입력 수신부(2110)가 입력 방식을 제스쳐 입력 방식으로 결정한 경우, 입력 수신부(2110)는 입력 수신부(2110) 외부로부터 제스쳐 입력을 수신하고, 수신한 제스쳐 입력이 나타내는 질의를 획득할 수 있다.
일 실시 예에 따른 제어부(2120)는 입력 수신부(2110)에서 수신한 입력이 나타내는 질의를 획득할 수 있다. 일 실시 예에 따른 제어부(2120)는 수신한 입력이 나타내는 질의를 획득할 수 있다.
예를 들면 제어부(2120)는 수신한 입력으로부터 키워드를 추출하고, 추출된 키워드를 이용하여 수신한 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 제어부(2120)는 “음식점과 메뉴를 결정하자.” 라는 텍스트 입력을 수신한 경우, “음식점” 및 “메뉴” 라는 키워드를 추출하여, “현재 위치 주변의 인기 음식점의 메뉴는 무엇인가?” 라는 질의를 획득할 수 있다.
다른 예로, 제어부(2120)는 수신한 입력이 기설정된 입력에 대응되는 경우, 기설정된 입력이 나타내는 질의를 획득할 수 있다. 예를 들면, 제어부(2120)는 특정 사물을 가리키는 제스쳐 입력을 수신한 경우 “가리킴의 대상이 된 물체는 무엇인가?” 라는 질의를 획득할 수 있다. 다른 예로, 제어부(2120)는 하늘을 가리키는 제스쳐 입력을 수신한 경우 “오늘 날씨는 어떠한가?”라는 질의를 획득할 수 있다. 다른 예로, 제어부(2120)는 수화로 표현되는 제스쳐 입력을 수신한 경우 수화가 나타내는 의미를 분석하여 제스쳐 입력이 나타내는 질의를 획득할 수 있다. 다른 예로, 제어부(2120)는 “시간”이라는 텍스트 입력을 수신한 경우 “현재 시간은 몇 시인가?”라는 질의를 획득할 수 있다.
다른 예로 제어부(2120)는 수신한 입력 및 사용자 정보를 이용하여 수신한 입력이 나타내는 질의를 획득할 수 있다. 사용자 정보는 사용자의 위치 정보, 현재 시간 정보, 사용자에 대한 응답 히스토리 정보, 사용자의 연령대 정보 및 사용자의 지식 수준 정보 중 적어도 하나를 포함할 수 있다. 사용자에 대한 응답 히스토리 정보는 현재 사용자에 대한 입력 및 응답의 히스토리에 대한 정보를 의미할 수 있다. 예를 들면, 현재 사용자에 대해서 과거에 “현재 위치 주변의 인기 음식점 메뉴는 무엇인가?”라는 질의를 획득한 횟수가 소정 횟수 이상인 경우, 현재 사용자의 입력으로부터 “음식점”이라는 키워드만을 획득한 경우에도 “현재 위치 주변의 인기 음식점 메뉴는 무엇인가?”라는 질의를 획득할 수 있다. 다른 예로, 사용자 입력으로부터 획득한 키워드가 “집으로 가는 방법”인 경우 제어부(2120)는 새벽 시간대에는 “콜택시 전화 번호는 무엇인가?”라는 질의를 획득하고, 저녁 시간대에는 “현재 위치에서 집으로 갈 때 이용할 수 있는 버스 번호는 무엇인가?” 라는 질의를 획득할 수 있다.
다른 예로 제어부(2120)는 수신한 입력 및 복수의 사용자로 구성된 사용자 그룹을 구성하는 사용자들에 대한 사용자 정보를 이용하여 수신한 입력이 나타내는 질의를 획득할 수 있다. 사용자 정보는 사용자의 위치 정보, 현재 시간 정보, 사용자에 대한 응답 히스토리 정보, 사용자의 연령대 정보 및 사용자의 지식 수준 정보 중 적어도 하나를 포함할 수 있다. 사용자에 대한 응답 히스토리 정보는 현재 사용자에 대한 입력 및 응답의 히스토리에 대한 정보를 의미할 수 있다. 일 실시 예에 따른 출력부(2130)가 사용자 그룹에 대해 응답을 출력할 때, 제어부(2120)는 사용자 그룹을 구성하는 사용자들의 선호도를 반영할 수 있다. 예를 들면, 질의가 “추천할만한 회식 장소는?”인 경우, 제어부(2120)는 사용자 그룹에 포함된 사용자들에 대한 정보를 분석하여 가장 많은 사람이 선호하는 음식적을 응답으로 출력할 수 있다. 다른 예로, 질의가 “추천할만한 회식 장소는?”인 경우, 제어부(2120)는 과거에 회식 장소로 결정된 곳들 중 가장 평가가 좋았던 장소를 응답으로 출력할 수 있다.
일 실시 예에 따른 제어부(2120)는 수신한 입력에 대응되는 질의를 획득하지 못한 경우 사용자로부터 추가 입력을 수신할 수 있다.
예를 들면, 제어부(2120)는 수신한 입력에 대한 분석에 실패한 경우, 사용자에게 추가 입력을 인가할 것을 요청하는 화면을 디스플레이할 수 있다. 예를 들면, 제어부(2120)는 수신한 음성 입력으로부터 텍스트를 획득하지 못한 경우, 사용자에게 추가 입력을 인가할 것을 요청하는 화면을 디스플레이할 수 있다.
다른 예로, 제어부(2120)는 수신한 입력에 대응하는 질의가 복수개이고, 복수개의 질의에 대한 우선순위가 동일한 경우, 수신한 입력에 대응하는 하나의 질의를 결정하기 위해 사용자로부터 추가 입력을 수신할 수 있다.
제어부(2120)는 추가 입력을 수신한 경우, 초기에 수신한 입력 및 추가 입력에 기초하여 질의를 획득할 수 있다.
예를 들면, 제어부(2120)가 초기에 수신한 입력으로부터 획득한 키워드가 “현재”이고, 추가 추가 입력으로부터 획득한 키워드가 “시간”인 경우, “현재 시간은 몇 시인가?”라는 질의를 획득할 수 있다.
제어부(2120)는 기설정된 하나 이상의 응답 수준들 중에서 사용자의 수준에 대응되는 응답 수준을 결정할 수 있다.
일 실시 예에 따른 제어부(2120)는 기설정된 하나 이상의 응답 수준을 저장하고 있을 수 있다.
예를 들면, 제어부(2120)는 나이를 기준으로 하여 결정된 복수개의 응답 수준을 저장하고 있을 수 있다. 예를 들면, 제어부(2120)는 3세부터 100세까지 각 나이별로 응답 수준을 저장하고 있을 수 있다. 다른 예로, 제어부(2120)는 유아, 어린이, 청소년, 청년, 장년, 노년으로 구별되는 응답 수준을 저장하고 있을 수 있다.
다른 예로, 제어부(2120)는 지식 수준을 기준으로 하여 결정된 복수개의 응답 수준을 저장하고 있을 수 있다. 예를 들면, 제어부(2120)는 초졸, 중졸, 고졸, 대학교졸, 석사, 박사로 구별되는 응답 수준을 저장하고 있을 수 있다. 다른 예로, 제어부(2120)는 초급자, 중급자, 상급자, 전문가로 구별되는 응답 수준을 저장하고 있을 수 있다. 다른 예로, 제어부(2120)는 비전공자, 전공자, 전문가로 구별되는 응답 수준을 저장하고 있을 수 있다. 다른 예로, 제어부(2120)는 1부터 100까지의 각 수치에 대응되는 응답 수준을 저장하고 있을 수 있다.
일 실시 예에 따른 제어부(2120)는 사용자의 수준에 대응되는 응답 수준을 결정할 수 있다. 예를 들면, 제어부(2120)는 사용자의 연령대 정보 및 사용자의 지식 수준 정보 중 적어도 하나를 이용하여 응답 수준을 결정할 수 있다.
예를 들면, 제어부(2120)는 유아, 어린이, 청소년 청년, 장년, 노년으로 구별되는 응답 수준 중 하나를 사용자의 수준에 대응되는 응답수준으로 결정할 수 있다. 예를 들면, 사용자 입력이 어린이 음성인 경우, 제어부(2120)는 음성을 분석하여 사용자의 수준에 대응되는 응답 수준을 어린이 응답 수준으로 결정할 수 있다. 일 실시 예에 따른 제어부(2120)는 수신한 음성 입력의 특징을 분석하여 사용자의 연령대를 결정하고, 결정된 연령대에 기초하여 응답 수준을 결정할 수 있다. 예를 들면, 수신한 음성 입력의 특징이 어린이 목소리의 특징에 대응되는 경우, 제어부(2120)는 수신한 음성 입력에 대응되는 응답 수준을 어린이 응답 수준으로 결정할 수 있다. 다른 실시 예에 따른 제어부(2120)는 음성을 통해 음성이 나타내는 텍스트를 획득하고, 획득한 텍스트를 분석하여 응답 수준을 결정할 수 있다. 예를 들면, 획득한 텍스트가 어린이가 사용하는 단어를 포함하거나, 획득한 텍스트가 어린이가 사용하는 말투를 포함하는 경우, 제어부(2120)는 수신한 음성 입력에 대응되는 응답 수준을 어린이 응답 수준으로 결정할 수 있다.
다른 예로, 제어부(2120)는 미리 저장되거나 제어부(2120) 외부로부터 수신된 사용자의 연령대 정보 또는 사용자의 지식 수준 정보를 이용하여 미리 결정된 복수개의 응답 수준 중 하나를 사용자의 수준에 대응되는 응답 수준으로 결정할 수 있다. 예를 들면, 제어부(2120)는 입력을 인가하는 사용자의 지식 수준이 전문가 수준이라는 정보를 수신하고, 전문가 수준에 대응하는 응답 수준을 사용자의 수준에 대응되는 응답 수준으로 결정할 수 있다.
일 실시 예에 따른 제어부(2120)는 제어부(2120)에 저장되어 있는 데이터에 기초하여 각 사용자에 대한 응답 수준을 결정할 수 있다. 예를 들면, 사용자의 연령이나, 사용자의 학력에 대한 정보가 제어부(2120)에 저장되어 있는 경우, 제어부(2120)는 사용자에 대한 응답 수준을 사용자의 연령 및 학력에 대응되는 수준으로 설정할 수 있다.
다른 실시 예에 따른 제어부(2120)는 사용자로부터 수신한 입력에 기초하여 각 사용자에 대한 응답 수준을 결정할 수 있다. 예를 들면, 사용자로부터 사용자 수준을 결정하는 입력을 수신하여, 사용자에 대한 응답 수준을 결정할 수 있다. 다른 예로, 사용자로부터 수신한 입력을 분석하여, 사용자에 대한 응답 수준을 결정할 수 있다. 예를 들면, 제어부(2120)는 사용자의 음색을 분석하여 연령대를 결정하거나, 사용자가 사용하는 어휘의 난이도를 분석하여 사용자의 지식 수준을 결정할 수 있다.
일 실시 예에 따른 제어부(2120)는 응답 수준을 선택하기 위한 GUI를 제공할 수 있다.
예를 들면, 제어부(2120)는 1부터 10 중 하나의 숫자를 선택하는 GUI를 제공할 수 있다.
다른 예로, 제어부(2120)는 복수개의 응답 수준을 나타내는 복수개의 이미지를 제공할 수 있다. 예를 들면, 제어부(2120)는 캐릭터 이미지가 선택된 경우 어린이 수준을 응답 수준으로 결정하고, 풍경 이미지가 선택된 경우 성인 수준을 응답 수준으로 결정할 수 있다.
일 실시 예에 따른 제어부(2120)는 복수개의 응답 수준 중 특정 응답 수준을 선택 했을 때 출력될 것으로 예상되는 샘플 응답을 제공할 수 있다. 사용자는 출력되는 샘플 응답은 사용자가 복수개의 응답 수준 중 하나에 대한 선택 입력을 인가할 때 참조될 수 있다.
일 실시 예에 따른 출력부(2130)는 제어부(2120)에서 결정된 응답 수준에 기초하여 질의에 대한 응답을 출력할 수 있다.
일 실시 예에 따른 제어부(2120)는 질의에 대응하는 하나 이상의 응답을 결정할 수 있다. 예를 들면, “요즘 인기 있는 영화는?”이라는 질의에 대응하는 응답을 복수개 획득할 수 있다. 예를 들면, 유아에 대해서 인기가 있는 제 1 영화, 청소년에 대해서 인기가 있는 제 2 영화, 성인에 대해서 인기가 있는 제 3 영화가 “요즘 인기 있는 영화는?”이라는 질의에 대응하는 복수개의 응답일 수 있다.
일 실시 예에 따른 제어부(2120)는 결정된 응답 수준에 기초하여 획득한 질의에 대응하는 하나 이상의 응답 중 하나의 응답을 결정할 수 있다. 예를 들면 제어부(2120)는 “요즘 인기 있는 영화는?”이라는 질의에 대응하는 응답인 제 1 영화, 제 2 영화 및 제 3 영화 중 하나의 응답을 사용자 수준에 기초하여 결정할 수 있다.
일 실시 예에 따른 제어부(2120)는 사용자 정보를 획득할 수 있다. 일 실시 예에 따른 사용자 정보는 사용자의 위치 정보, 현재 시간 정보, 사용자에 대한 응답 히스토리 정보, 상기 사용자의 연령대 정보 및 상기 사용자의 지식 수준 정보 중 적어도 하나를 포함할 수 있다. 예를 들면, 제어부(2120)는 사용자 정보를 미리 저장하고 있을 수 있다. 다른 예로, 제어부(2120)는 사용자 정보를 수신하여 저장할 수 있다.
일 실시 예에 따른 응답 히스토리 정보는 사용자가 과거에 제공받은 응답에 대해 제공한 피드백 정보를 포함할 수 있다. 예를 들면 출력부(2130)가 사용자로부터 “음식점”이라는 텍스트를 수신하여 A 음식점을 응답으로 출력한 경우, 사용자는 텍스트 형태의 입력으로 B 음식점을 피드백 정보로 입력할 수 있다. 이 경우, 출력부(2130)는 이후에 “B 음식점”이라는 피드백 정보를 반영하여 응답을 출력할 수 있다. 예를 들면, 출력부(2130)는 이후에 동일한 “음식점”이라는 텍스트 입력에 대해서 B 음식점을 응답으로 출력할 수 있다.
피드백 정보는 다양한 입력 형태로 제어부(2120)에 입력될 수 있다. 예를 들면, 피드백 정보는 텍스트 입력, 제스쳐 입력, 음성 입력, 스케치 입력, 다중 입력 중 적어도 하나의 입력 방식으로 제어부(2120)에 입력될 수 있다. 각각의 입력 방식에 대한 구체적인 내용은 도 6 내지 도 11에서 후술한다.
일 실시 예에 따른 출력부(2130)는 제어부(2120)에서 결정된 응답 수준 및 사용자에 대한 정보 중 적어도 하나에 기초하여 질의에 대응하는 하나 이상의 응답 중 하나의 응답을 출력할 수 있다.
예를 들면 제어부(2120)는 “요즘 인기 있는 영화는?”이라는 질의에 대응하는 응답인 제 1 영화, 제 2 영화 및 제 3 영화 중 하나의 응답을 사용자 정보에 포함된 사용자 연령대 정보에 기초하여 결정할 수 있다.
일 실시 예에 따른 출력부(2130)는 결정된 응답을 출력할 수 있다. 예를 들면, 출력부(2130)는 결정된 응답을 텍스트, 음성, 이미지 및 동영상 중 적어도 하나의 방식으로 출력할 수 있다. 예를 들면 결정된 응답이 “17시 정각”인 경우, 출력부(2130)는 “17시 정각”이라는 텍스트를 디스플레이 할 수도 있고, “17시 정각”이라는 음성을 재생할 수도 있고, “17시 정각”을 나타내는 시계 이미지를 디스플레이할 수도 있고, 현재 시간을 나타내는 시계를 애니메이션 형태로 디스플레이할 수도 있다.
일 실시 예에 따른 출력부(2130)는 동일한 질의 및 동일한 응답 수준에 대응하여 상황에 따라 상이한 응답을 출력할 수 있다. 예를 들면, 출력부(2130)는 “현재 위치는?” 이라는 질의에 대응하여 처음에는 “서울”이라는 응답을 출력하고, 두번째 “현재 위치는?” 이라는 질의에 대해서는 “서울 도곡동”이라는 응답을 출력할 수 있다. 다른 예로, 출력부(2130)는 “날씨는?” 이라는 질의에 대응하여 처음에는 오늘의 날씨에 대한 응답을 출력하고, 두번째 “날씨는?” 이라는 질의에 대해서는 이번 주의 날씨에 대한 응답을 출력할 수 있다. 다른 예로, 출력부(2130)는 현재 시간 및/또는 현재 장소에 따라서 동일한 질의에 대하여 상이한 응답을 출력할 수 있다. 예를 들면, 동일한 사용자로부터 획득한 질의가 “집으로 가는 방법은?”인 경우 디바이스(100)는 새벽 시간대에는 “콜택시 전화”를 응답으로 출력하고, 저녁 시간대에는 “현재 위치에서 집으로 갈 때 이용할 수 있는 버스 번호”를 응답으로 출력할 수 있다.
다른 실시 예에 따른 출력부(2130)는 동일한 질의 및 동일한 응답 수준에 대응하여 동일한 응답을 출력할 수 있다. 예를 들면, 출력부(2130)는 “현재 위치는?” 이라는 질의에 대응하여 항상 현재 위치를 번지 단위까지 출력할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.