KR20220042092A - 서버 및 그의 제어 방법 - Google Patents

서버 및 그의 제어 방법 Download PDF

Info

Publication number
KR20220042092A
KR20220042092A KR1020220035383A KR20220035383A KR20220042092A KR 20220042092 A KR20220042092 A KR 20220042092A KR 1020220035383 A KR1020220035383 A KR 1020220035383A KR 20220035383 A KR20220035383 A KR 20220035383A KR 20220042092 A KR20220042092 A KR 20220042092A
Authority
KR
South Korea
Prior art keywords
content
user
voice input
server
electronic device
Prior art date
Application number
KR1020220035383A
Other languages
English (en)
Other versions
KR102456114B1 (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 KR1020220035383A priority Critical patent/KR102456114B1/ko
Publication of KR20220042092A publication Critical patent/KR20220042092A/ko
Priority to KR1020220131627A priority patent/KR102587051B1/ko
Application granted granted Critical
Publication of KR102456114B1 publication Critical patent/KR102456114B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43632Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4852End-user interface for client configuration for modifying audio parameters, e.g. switching between mono and stereo

Abstract

디스플레이 장치와 대화형 시스템을 구현하는 서버가 개시된다. 본 서버는 디스플레이 장치에서 수집한 사용자의 음성에 대응되는 텍스트 정보를 디스플레이 장치로부터 수신하는 통신부 및, 텍스트 정보로부터 발화 요소를 추출하고, 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 생성하여 컨텐츠에 대한 메타데이터를 항목 별로 구분하여 저장하는 외부 서버로 전송하도록 제어하는 제어부를 포함하며, 제어부는, 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하이면, 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 상기 쿼리를 생성한다.

Description

서버 및 그의 제어 방법 { SERVER AND METHOD FOR COMTROLLING THE SERVER }
본 발명은 서버 및 그의 제어 방법에 관한 것으로, 더욱 상세하게는 대화형 시스템을 구성하는 서버 및 그의 제어 방법에 관한 것이다.
전자 기술의 발달에 힘입어 다양한 종류의 디스플레이 장치가 개발되어 보급되고 사용자의 요구에 따라 점차 다양한 기능을 구비하게 되었다. 특히, TV의 경우, 최근에는 인터넷과 연결되어 인터넷 서비스까지 지원하고, 사용자는 TV를 통해 많은 수의 디지털 방송 채널까지 시청할 수 있게 되었다.
한편, 최근에는 디스플레이 장치를 조금 더 편리하고 직관적으로 제어하기 위하여 사용자의 음성을 통해 디스플레이 장치를 제어하는 기술이 개발되고 있다. 특히, TV의 경우, 사용자의 음성을 인식하고, 볼륨 조절 또는 채널 변경과 같이 사용자의 음성에 대응되는 기능을 수행할 수 있게 되었다.
그러나, 종래에는 사용자의 음성에 따라 컨텐츠를 검색하여 사용자에게 제공하지 못한다는 점에서 한계가 존재하였다.
본 발명은 상술한 필요성에 따른 것으로, 서버를 통해 대화형 시스템을 구성할 때, 컨텐츠를 효율적으로 검색할 수 있는 서버 및 그의 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 디스플레이 장치와 대화형 시스템을 구현하는 서버는 상기 디스플레이 장치에서 수집한 사용자의 음성에 대응되는 텍스트 정보를 상기 디스플레이 장치로부터 수신하는 통신부 및, 상기 텍스트 정보로부터 발화 요소를 추출하고, 상기 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 생성하여 컨텐츠에 대한 메타데이터를 항목 별로 구분하여 저장하는 외부 서버로 전송하도록 제어하는 제어부를 포함하며, 상기 제어부는, 상기 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하이면, 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 상기 쿼리를 생성한다.;
여기에서, 본 실시 예에 따른 서버는 상기 각 항목 내의 컨텐츠 구분 기준에 대한 정보를 저장하는 저장부를 더 포함하며, 상기 제어부는, 상기 컨텐츠 구분 기준에 대한 정보에 기초하여 상기 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하인지 여부를 판단할 수 있다.
또한, 상기 제어부는, 사용자 선호도 정보에 기초하여 상기 컨텐츠 검색 기준으로 추가하는 상기 기설정된 항목을 결정할 수 있다.
그리고, 상기 제어부는, 상기 기설정된 항목이 상기 컨텐츠 검색 기준으로 추가되어 생성된 상기 쿼리에 의해 컨텐츠 검색이 수행되지 않는 경우, 상기 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 재생성할 수 있다.
한편, 상기 컨텐츠 구분 기준이 기설정된 개수 이하인 항목은, 방송 타입 항목 및 화질 항목 중 적어도 하나일 수 있다.
또한, 상기 기설정된 항목은, 방송 시간 항목 및 방송 채널 항목 중 적어도 하나일 수 있다.
한편, 본 발명의 일 실시 예에 따른 디스플레이 장치와 대화형 시스템을 구현하는 서버의 제어 방법은 상기 디스플레이 장치에서 수집한 사용자의 음성에 대응되는 텍스트 정보를 상기 디스플레이 장치로부터 수신하는 단계, 상기 텍스트 정보로부터 발화 요소를 추출하고, 상기 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 생성하는 단계 및, 상기 생성된 쿼리를 컨텐츠에 대한 메타데이터를 항목 별로 구분하여 저장하는 외부 서버로 전송하는 단계를 포함하며, 상기 생성하는 단계는, 상기 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하이면, 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 상기 쿼리를 생성한다..
여기에서, 상기 생성하는 단계는, 기저장된 컨텐츠 구분 기준에 대한 정보에 기초하여 상기 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하인지 여부를 판단할 수 있다.
또한, 상기 생성하는 단계는, 사용자 선호도 정보에 기초하여 상기 컨텐츠 검색 기준으로 추가하는 상기 기설정된 항목을 결정할 수 있다.
그리고, 상기 생성하는 단계는, 상기 기설정된 항목이 상기 컨텐츠 검색 기준으로 추가되어 생성된 상기 쿼리에 의해 컨텐츠 검색이 수행되지 않는 경우, 상기 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 재생성할 수 있다.
한편, 상기 컨텐츠 구분 기준이 기설정된 개수 이하인 항목은, 방송 타입 항목 및 화질 항목 중 적어도 하나일 수 있다.
또한, 상기 기설정된 항목은, 방송 시간 항목 및 방송 채널 항목 중 적어도 하나일 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 사용자의 음성에서 추출된 발화 요소만으로 컨텐츠를 검색할 경우 많은 컨텐츠가 검색되어 컨텐츠 검색의 효율성이 낮아질 수 있는 문제점을 해소할 수 있다. 또한, 대화형 시스템을 이용하는 사용자는 디스플레이 장치와의 대화 횟수를 줄이면서 자신의 발화 의도에 부합하는 컨텐츠 검색 결과를 제공받을 수 있어 편의성이 향상될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 대화형 시스템을 설명하기 위한 도면,
도 2는 본 발명의 일 실시 예에 따른 디스플레이 장치에 대한 블록도,
도 3은 본 발명의 일 실시 예에 따른 제1 서버에 대한 블록도,
도 4는 본 발명의 일 실시 예에 따른 제2 서버에 대한 블록도,
도 5는 본 발명의 일 실시 예에 따른 구조화된 메타데이터의 일 예를 나타내는 도면,
도 6는 도 4에 도시된 제2 서버의 세부 구성을 설명하기 위한 블록도,
도 7은 본 발명의 일 실시 예에 따른 컨텐츠 검색 기준을 추가하는 방법의 일 예를 설명하기 위한 도면,
도 8 내지 도 9는 본 발명의 일 실시 예에 따라 디스플레이 장치에서 제공되는 UI 화면의 일 예를 도시한 도면들, 그리고
도 10은 본 발명의 일 실시 예에 따른 서버의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부된 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 대화형 시스템을 설명하기 위한 도면이다. 도 1에 도시된 바와 같이, 대화형 시스템(1000)은 디스플레이 장치(100), 제1 서버(200), 제2 서버(300) 및 외부 서버(400)를 포함한다. 여기에서, 제2 서버(300)은 대화형 인터페이스 장치로 명명할 수도 있다.
디스플레이 장치(100)는 디스플레이 장치(100)를 제어하기 위한 리모컨(미도시)에 의해 제어될 수 있다. 구체적으로, 디스플레이 장치(100)는 리모컨(미도시)로부터 수신된 리모컨 제어 신호에 대응되는 동작을 수행할 수 있다. 예를 들어, 디스플레이 장치(100)가 도 1과 같이 TV로 구현된 경우, 디스플레이 장치(100)는 리모컨(미도시)로부터 수신된 리모컨 제어 신호에 따라 전원 온/오프, 채널 전환, 볼륨 조절 등의 기능을 수행할 수 있다.
또한, 디스플레이 장치(100)는 사용자의 음성에 대응되는 다양한 동작을 수행할 수 있다.
구체적으로, 디스플레이 장치(100)는 사용자의 음성에 대응되는 기능을 수행하거나, 사용자의 음성에 대응되는 시스템 응답을 출력할 수 있다.
이를 위해, 디스플레이 장치(100)는 수집된 사용자의 음성을 제1 서버(200)로 전송한다. 제1 서버(200)는 디스플레이 장치(100)로부터 사용자의 음성이 수신되면, 수신된 사용자의 음성을 텍스트 정보(즉, 텍스트)로 변환하고 텍스트 정보를 디스플레이 장치(100)로 전송한다.
그리고, 디스플레이 장치(100)는 제1 서버(200)로부터 수신된 텍스트 정보를 제2 서버(300)로 전송한다. 제2 서버(300)는 디스플레이 장치(100)로부터 텍스트 정보가 수신되면, 수신된 텍스트 정보에 대응되는 응답 정보를 생성하여 디스플레이 장치(100)로 전송한다.
디스플레이 장치(100)는 제2 서버(300)로부터 수신된 응답 정보에 기초하여 다양한 동작을 수행할 수 있다. 여기에서, 응답 정보는 디스플레이 장치(100)가 특정 기능을 수행하기 위한 제어 명령 및 디스플레이 장치(100)에서 출력되는 시스템 응답과 관련된 다양한 정보를 포함할 수 있다.
구체적으로, 디스플레이 장치(100)는 사용자의 음성에 대응되는 기능을 수행할 수 있다. 즉, 디스플레이 장치(100)는 디스플레이 장치(100)에서 제공 가능한 기능 중 사용자의 음성에 대응되는 기능을 수행할 수 있다. 예를 들어, 디스플레이 장치(100)에 채널 전환을 위한 사용자의 음성이 입력되면, 제2 서버(300)는 디스플레이 장치(100)의 채널을 전환하기 위한 제어 명령을 디스플레이 장치(100)로 전송할 수 있다. 이에 따라, 디스플레이 장치(100)는 수신된 제어 명령에 기초하여 채널을 전환할 수 있다.
또한, 디스플레이 장치(100)는 사용자의 음성에 대응되는 시스템 응답을 출력할 수 있다. 여기에서, 시스템 응답은 음성 및 UI 화면 중 적어도 하나의 형태로 출력될 수 있다.
예를 들어, 디스플레이 장치(100)에 방송 프로그램의 검색을 요청하는 사용자의 음성이 입력되면, 제2 서버(300)는 발화 의도에 부합하는 컨텐츠를 검색하고, 검색 결과를 디스플레이 장치(100)로 전송할 수 있다. 이에 따라, 디스플레이 장치(100)는 발화 의도에 따라 검색된 컨텐츠에 대한 리스트를 포함하는 UI 화면을 디스플레이할 수 있다.
이와 같이, 디스플레이 장치(100)는 제2 서버(300)로부터 수신된 응답 정보에 기초하여, 사용자의 음성에 대응되는 다양한 동작을 수행할 수 있다.
한편, 제2 서버(300)는 사용자의 발화 의도가 컨텐츠의 검색과 관련된 경우, 외부 서버(400)를 통해 사용자의 발화 의도에 부합하는 컨텐츠를 검색하고, 검색 결과를 디스플레이 장치(100)로 전송할 수 있다.
여기에서, 외부 서버(400)는 메타데이터를 구조화하여(structured) 저장할 수 있다. 예를 들어, 외부 서버(400)는 EPG, Music, VOD, Photo, Application 등에 대한 메타데이터 정보를 구조화하여 저장하는 메타데이터 서버로 구현될 수 있다.
구체적으로, 외부 서버(400)는 컨텐츠에 대한 메타데이터를 항목(또는, 필드)별로 구분하고, 각 항목 내의 컨텐츠 구분 기준에 따라 컨텐츠에 대한 메타데이터를 구조화하여 저장할 수 있다. 여기에서, 항목은 컨텐츠에 대한 메타데이터를 구분하는 속성이고, 컨텐츠 구분 기준은 각 필드 내에서 컨텐츠를 구분하기 위한 세부 속성이 될 수 있다. 예를 들어, 항목이 방송 타입인 경우, 컨텐츠 구분 기준은 재방송, 본방송과 같이 방송 타입을 세분화할 수 있는 속성이 될 수 있다. 다른 예로, 항목이 화질인 경우, 컨텐츠 구분 기준은 HD(High Definition), SD(Standard Definition)와 같이 화질을 세분화할 수 있는 속성이 될 수 있다.
구체적으로, 제2 서버(300)는 텍스트 정보에서 발화 요소를 추출하고, 추출된 발화 요소를 이용하여 컨텐츠 검색을 위한 쿼리(query)를 생성할 수 있다. 이때, 제2 서버(300)는 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하이면, 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 쿼리를 생성하여 외부 서버(400)로 전송할 수 있다.
예를 들어, 사용자가 "재방송 프로그램 찾아줘"라고 발화한 경우를 가정한다. 이 경우, 제2 서버(300)는 수신된 텍스트 정보에서 "재방송"을 방송 타입과 관련된 발화 요소로 추출하고, 외부 서버(400)에 저장된 구조화된 메타데이터에서 방송 타입에 대한 컨텐츠 구분 기준을 판단한다. 방송 타입은 재방송 및 본방송과 같이 2개의 컨텐츠 구분 기준으로 구분되므로, 제2 서버(300)는 현재 사용자가 시청하는 방송 채널을 컨텐츠 검색 기준으로 추가하여 컨텐츠 검색을 위한 쿼리를 생성할 수 있다.
이에 따라, 외부 서버(400)는 제2 서버(300)로부터 수신된 쿼리에 따라, 재방송 중에서 현재 사용자가 시청하는 방송 채널에서 제공되는 방송 프로그램을 검색하고, 검색된 방송 프로그램에 대한 정보(가령, 타이틀, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널, 썸네일 중 적어도 하나)를 제2 서버(300)로 전송할 수 있다. 제2 서버(300)는 외부 서버(400)로부터 사용자의 음성에 대응되는 검색 결과가 수신되면, 디스플레이 장치(100)에서 사용자의 음성에 대응되는 시스템 응답을 출력하기 위한 응답 정보를 디스플레이 장치(100)로 전송할 수 있다. 이에 따라, 디스플레이 장치(100)는 "재방송 프로그램 찾아줘"와 같은 사용자의 음성에 대한 시스템 응답으로 재방송 중에서 현재 사용자가 시청하는 방송 채널에서 제공되는 방송 프로그램에 대한 리스트를 출력할 수 있다.
이와 같이, 본 발명의 일 실시 예에 따른 서버는 텍스트 정보로부터 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하이면, 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 쿼리를 생성할 수 있다. 이에 따라, 사용자의 음성에서 추출된 발화 요소만으로 컨텐츠를 검색할 경우 많은 컨텐츠가 검색되어 컨텐츠 검색의 효율성이 낮아질 수 있는 문제점을 해소할 수 있다.
한편, 도 1에서는 디스플레이 장치(100)가 TV인 것으로 도시하였으나 이는 일 예에 불과하다. 즉, 디스플레이 장치(100)는 TV뿐만 아니라, 스마트폰과 같은 휴대폰, 데스크탑 PC, 노트북, 네비게이션 등과 같은 다양한 전자 장치로 구현될 수 있다.
또한, 도 1에서 제1 서버(200) 및 제2 서버(300)가 별도의 서버로 구현되는 것으로 도시하였으나 이 역시 일 예에 불과하다. 즉, 제1 서버(200)와 제2 서버(300)를 포함하는 하나의 대화형 서버로 구현될 수 있음은 물론이다. 이와 같은 경우, 디스플레이 장치(100)는 대화형 서버로 사용자의 음성을 전송하며, 대화형 서버는 디스플레이 장치(100)로부터 수신된 사용자의 음성을 텍스트 정보로 변환하고, 변환된 텍스트 정보를 이용하여 발화 의도에 부합하는 컨텐츠를 검색할 수 있다. 이 경우, 대화형 서버는 텍스트 정보로부터 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하이면, 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 쿼리를 생성할 수 있다. 따라서, 제1 서버(200)와 제2 서버(300)를 포함하는 하나의 대화형 서버로 구현되는 경우, 디스플레이 장치(100)는 사용자의 음성을 대화형 서버로 전송할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 디스플레이 장치에 대한 블록도이다. 도 2와 같이, 디스플레이 장치(100)는 출력부(110), 음성 수집부(120), 제1 통신부(130), 제2 통신부(135), 저장부(140), 수신부(150), 신호 처리부(160), 리모컨 신호 수신부(171), 입력부(173), 인터페이스부(175) 및 제어부(180)를 포함할 수 있다.
도 2에서는 디스플레이 장치(100)에 포함될 수 있는 다양한 구성요소에 대하여 도시하였으나, 디스플레이 장치(100)가 반드시 전체 구성요소들을 포함하여야 하는 것은 아니며, 이들 구성요소만을 가지는 것으로 한정되는 것도 아니다. 즉, 디스플레이 장치(100)의 제품 종류에 따라 구성요소들 일부가 생략되거나 추가될 수 있고, 또는, 타 구성요소들로 대체될 수도 있음은 물론이다.
출력부(110)는 음성 및 영상 중 적어도 하나를 출력한다. 구체적으로, 출력부(110)는 음성 수집부(120)를 통해 수집된 사용자의 음성에 대응되는 시스템 응답을 음성 및 UI 화면 중 적어도 하나의 형태로 출력할 수 있다.
여기에서, UI 화면은 사용자의 음성에 대응되는 시스템 응답이 텍스트 형식으로 표현되거나, 사용자의 음성에 따라 검색된 검색 결과가 리스트 형식으로 표현될 수 있다.
이를 위해, 출력부(110)는 디스플레이부(111) 및 오디오 출력부(113)를 구비할 수 있다.
구체적으로, 디스플레이부(111)는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 또는 플라즈마 표시 패널(Plasma Display Panel, PDP) 등으로 구현될 수 있다.
디스플레이부(111)는 디스플레이 장치(100)를 통해 제공 가능한 다양한 디스플레이 화면을 제공할 수 있다. 특히, 디스플레이부(111)는 사용자의 음성에 대응되는 시스템 응답을 UI 화면으로 구성하여 디스플레이할 수 있다.
한편, 오디오 출력부(113)는 잭 등과 같은 출력 포트 또는 스피커 등으로 구현되어, 사용자의 음성에 대응되는 시스템 응답을 음성 형태로 출력할 수 있다.
또한, 출력부(110)는 다양한 컨텐츠를 출력할 수 있다. 여기에서, 컨텐츠는 방송 컨텐츠, VOD 컨텐츠 등을 포함할 수 있다. 예를 들어, 디스플레이부(111)는 컨텐츠를 구성하는 영상을 출력하고, 오디오 출력부(113)는 컨텐츠를 구성하는 오디오를 출력할 수 있다.
음성 수집부(120)는 사용자의 음성을 수집한다. 예를 들어, 음성 수집부(120)는 사용자의 음성을 수집하기 위한 마이크로 구현되며, 디스플레이 장치(100)에 내장되어 일체형을 이루거나, 디스플레이 장치(100)와 분리된 형태로 구현될 수 있다. 분리된 형태로 구현되는 경우, 음성 수집부(120)는 사용자가 손으로 쥐는 형태, 또는 식탁이나 테이블에 놓일 수 있는 형태로 구현될 수 있으며, 디스플레이 장치(100)와 유선 또는 무선 네트워크를 통하여 연결되어, 수집된 사용자의 음성을 디스플레이 장치(100)로 전송할 수 있다.
한편, 음성 수집부(120)는 수집된 음성이 사용자의 음성인지를 판단하고, 사용자의 음성에서 노이즈(예를 들어, 에어컨 소리, 청소기 소리, 음악 소리 등)를 필터링할 수도 있다.
예를 들어, 음성 수집부(120)는 아날로그 형태의 사용자 음성이 입력되면, 이를 샘플링하여 디지털 신호로 변환한다. 그리고, 음성 수집부(120)는 변환된 디지털 신호의 에너지를 계산하여, 디지털 신호의 에너지가 기설정된 값 이상인지 여부를 판단한다.
디지털 신호의 에너지가 기설정된 값 이상인 경우, 음성 수집부(120)는 디지털 신호에서 노이즈 성분을 제거하여 제1 통신부(130)로 전달한다. 이때, 노이즈 성분은 가정 환경에서 발생할 수 있는 돌발성 잡음으로써, 에어컨 소리, 청소기 소리, 음악 소리 등이 포함될 수 있다. 한편, 디지털 신호의 에너지가 기설정된 값 미만인 경우, 음성 수집부(120)는 디지털 신호에 별다른 처리 과정을 수행하지 않고, 다른 입력을 기다린다.
이에 따라, 사용자의 음성이 아닌 다른 소리에 의해 전체 오디오 처리 과정이 활성화되지 않아, 불필요한 전력 소모를 방지할 수 있다.
제1 통신부(130)는 제1 서버(도 1의 200)와 통신을 수행한다. 구체적으로, 제1 통신부(130)는 사용자의 음성을 제1 서버(200)로 전송하고, 사용자의 음성에 대응되는 텍스트 정보를 제1 서버(200)로부터 수신할 수 있다.
제2 통신부(135)는 제2 서버(도 1의 300)와 통신을 수행한다. 구체적으로, 제2 통신부(135)는 수신된 텍스트 정보를 제2 서버(300)로 전송하고, 텍스트 정보에 대응되는 응답 정보를 제2 서버(300)로부터 수신할 수 있다.
이를 위해, 제1 통신부(130) 및 제2 통신부(135)는 다양한 통신 방식을 이용하여 제1 서버(200) 및 제2 서버(300)와 통신을 수행할 수 있다.
예를 들어, 제1 통신부(130) 및 제2 통신부(135)는 유/무선 LAN(Local Area Network), WAN, 이더넷, 블루투스(Bluetooth), 지그비(Zigbee), USB(Universal Serial Bus), IEEE 1394, 와이파이(Wifi) 등을 이용하여, 제1 서버(200) 및 제2 서버(300)와 통신을 수행할 수 있다. 이를 위해, 제1 통신부(130) 및 제2 통신부(135)는 각 통신 방식에 대응되는 칩 또는 입력 포트 등을 구비할 수 있다. 예를 들어, 유선 LAN 방식으로 통신을 수행하는 경우, 제1 통신부(130) 및 제2 통신부(135)는 유선 LAN 카드(미도시) 및 입력 포트(미도시)를 구비할 수 있다.
한편, 상술한 실시 예에서는, 디스플레이 장치(100)가 제1 서버(200) 및 제2 서버(300)와 통신을 수행하기 위해, 별도의 통신부(130, 135)를 구비하는 것으로 설명하였으나 이는 일 예에 불과하다. 즉, 디스플레이 장치(100)는 하나의 통신 모듈을 통해 제1 서버(200) 및 제2 서버(300)와 통신을 할 수 있음은 물론이다.
또한, 상술한 실시 예에서는, 제1 통신부(130) 및 제2 통신부(135)는 제1 서버(200) 및 제2 서버(300)와 통신을 수행하는 것으로 설명하였으나, 이는 일 예에 불과하다. 즉, 제1 통신부(130) 및 제2 통신부(135)는 웹 서버(미도시)에 연결되어 웹 브라우징을 수행할 수도 있다.
저장부(140)는 디스플레이 장치(100)를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 메모리, HDD(Hard Disk Drive) 등으로 구현가능하다. 예를 들어, 저장부(140)는 제어부(180)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 제어부(180)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM 등을 구비할 수 있다. 또한 각종 참조 데이터를 저장하기 위한 EEROM(Electrically Erasable and Programmable ROM) 등을 더 구비할 수 있다.
수신부(150)는 다양한 컨텐츠를 수신한다. 여기에서, 컨텐츠는 방송 컨텐츠, VOD 컨텐츠 등을 포함할 수 있다.
구체적으로, 수신부(150)는 방송 네트워크를 이용하여 방송 프로그램을 전송하는 방송국 또는 인터넷을 이용하여 컨텐츠 파일을 전송하는 웹 서버로부터 컨텐츠를 수신할 수 있다.
*방송국으로부터 컨텐츠를 수신하는 실시 예의 경우에는, 수신부(150)는 튜너(미도시), 복조기(미도시), 등화기(미도시) 등과 같은 구성을 포함하는 형태로 구현될 수 있다. 반면, 웹 서버와 같은 소스로부터 컨텐츠를 수신하는 실시 예의 경우에는, 수신부(150)는 네트워크 인터페이스 카드(미도시)로 구현될 수 있다.
이와 같이, 수신부(150)는 실시 예에 따라 다양한 형태로 구현될 수 있다.
신호 처리부(160)는 수신부(150) 또는 인터페이스부(175)를 통해 수신된 컨텐츠가 출력부(110)를 통해 출력될 수 있도록 컨텐츠에 대한 신호처리를 수행한다.
구체적으로, 신호 처리부(160)는 컨텐츠에 포함된 영상에 대해 디코딩, 스케일링 및 프레임 레이트 변환 등의 동작을 수행하여, 디스플레이부(111)에서 출력 가능한 형태로 변환할 수 있다. 또한, 신호 처리부(160)는 컨텐츠에 포함된 오디오 신호에 대해 디코딩 등의 신호 처리를 수행하여 오디오 출력부(113)에서 출력 가능한 형태로 변환할 수 있다.
리모컨 신호 수신부(171)는 외부의 리모컨으로부터 리모컨 제어 신호를 수신한다. 제어부(180)는 리모컨 신호 수신부(171)에 수신된 리모컨 제어 신호에 기초하여, 다양한 동작을 실행할 수 있다. 예를 들어, 제어부(180)는 리모컨 신호 수신부(171)를 통해 수신된 제어 신호에 따라, 전원 온/오프, 채널 변경, 볼륨 조절 등의 기능을 실행할 수 있다.
입력부(173)는 다양한 사용자 명령을 입력받는다. 제어부(180)는 입력부(173)에서 입력된 사용자 명령에 대응되는 동작을 실행할 수 있다. 예를 들어, 제어부(180)는 입력부(173)에서 입력된 사용자 명령에 따라 전원 온/오프, 채널 변경, 볼륨 조절 등을 실행할 수 있다.
이를 위해, 입력부(173)는 입력 패널로 구현될 수 있다. 입력 패널은 터치패드(Touch Pad) 혹은 각종 기능키, 숫자키, 특수키, 문자키 등을 구비한 키패드(Key Pad) 또는 터치 스크린(Touch Screen) 방식으로 이루어질 수 있다.
인터페이스부(175)는 외부 기기(미도시)와 통신을 수행한다. 여기에서, 외부 기기(미도시)는 다양한 유형의 전자 장치로 구현되어, 디스플레이 장치(100)로 컨텐츠를 전송할 수 있다. 예를 들어, 디스플레이 장치(100)가 TV로 구현된 경우, 외부 기기(미도시)는 휴대폰, 셋탑박스, DVD 플레이어, 블루레이 디스크 플레이어, 게임기 등과 같이 디스플레이 장치(100)에 연결되어 기능을 수행할 수 있는 다양한 유형의 전자 장치로 구현될 수 있다.
예를 들어, 인터페이스부(175)는 HDMI, USB 등의 각종 유선 통신 방식 또는, 블루투스, 지그비 등의 무선 통신 방식에 따라 외부 기기(미도시)와 통신을 수행할 수 있다. 이를 위해, 인터페이스부(175)는 각 통신 방식에 대응되는 칩 또는 입력 포트 등을 구비할 수 있다. 예를 들어, HDMI 통신 방식에 따라 외부 기기(미도시)와 통신을 수행하는 경우, 인터페이스부(175)는 HDMI 포트를 구비할 수 있다.
제어부(180)는 디스플레이 장치(100)의 전반적인 동작을 제어한다. 즉, 제어부(180)는 출력부(110), 음성 수집부(120), 제1 통신부(130), 제2 통신부(135), 저장부(135), 수신부(150), 신호 처리부(160), 리모컨 신호 수신부(171), 입력부(173) 및 인터페이스부(175)의 동작을 제어할 수 있다. 제어부(180)는 CPU(central processing unit) 및 디스플레이 장치(100)를 제어하기 위한 모듈 및 데이터를 저장하는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.
구체적으로, 제어부(180)는 음성 수집부(120)를 통해 사용자의 음성을 수집하고, 수집된 사용자의 음성을 제1 서버(300)로 전송하도록 제1 통신부(130)를 제어할 수 있다. 그리고, 제어부(180)는 사용자의 음성에 대응되는 텍스트 정보가 수신되면, 수신된 텍스트 정보를 제2 서버(300)로 전송하도록 제2 통신부(135)를 제어할 수 있다.
한편, 제어부(180)는 사용자의 음성에 대응되는 응답 정보가 제2 서버(300)로부터 수신되면, 수신된 응답 정보에 기초하여 다양한 동작을 수행할 수 있다.
구체적으로, 제어부(180)는 수신된 응답 정보에 기초하여 사용자의 음성에 대응되는 기능을 실행할 수 있다.
이를 위해, 응답 정보는 디스플레이 장치(100)의 기능을 제어하기 위한 제어 명령을 포함할 수 있다. 여기에서, 제어 명령은 디스플레이 장치(100)에서 실행 가능한 기능들 중 사용자의 음성에 대응되는 기능을 실행하기 위한 명령을 포함할 수 있다. 이에 따라, 제어부(180)는 제2 서버(300)로부터 수신된 제어 명령에 기초하여, 사용자의 음성에 대응되는 기능이 실행되도록 디스플레이 장치(100)의 각 구성요소를 제어할 수 있다.
예를 들어, TV로 구현된 디스플레이 장치(100)가 "○번(채널 번호) 틀어줘"라는 사용자의 음성을 수집하면, 제2 서버(300)는 "○번(채널 번호) 틀어줘"라는 사용자의 음성에 포함된 발화 의도는 ○번(채널 번호)으로 채널 변경을 요청하는 것으로 판단하고, 판단된 발화 의도에 따라 ○번(채널 번호)으로 채널 변경을 변경하기 위한 제어 명령을 디스플레이 장치(100)로 전송할 수 있다. 이에 따라, 제어부(180)는 수신된 제어 명령에 기초하여 ○번(채널 번호)을 선국하고, 선국된 채널을 통해 제공되는 컨텐츠를 출력하도록 제어할 수 있다.
다만, 이는 일 예일 뿐, 제어부(180)는 수집된 사용자의 음성에 따라 전원 온/오프. 볼륨 조절 등 다양한 동작이 수행되도록 디스플레이 장치(100)의 각 구성요소를 제어할 수도 있다.
또한, 응답 정보는 디스플레이 장치(100)에서 출력되는 시스템 응답과 관련된 다양한 정보를 포함할 수 있다. 이 경우, 응답 정보는 사용자의 음성에 대응되는 시스템 응답을 출력하기 위한 제어 명령을 더 포함할 수 있다.
구체적으로, 컨텐츠 검색을 위한 발화 의도를 갖는 사용자의 음성이 디스플레이 장치(100)에서 수집된 경우, 제2 서버(300)는 사용자의 발화 의도를 판단하고, 판단된 발화 의도에 부합하는 컨텐츠를 검색할 수 있다. 그리고, 제2 서버(300)는 검색된 컨텐츠에 대한 정보 가령, 타이틀, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널, 썸네일 중 적어도 하나를 디스플레이 장치(100)로 전송할 수 있다.
이 경우, 제어부(180)는 수신된 정보를 이용하여 사용자의 음성에 대응되는 시스템 응답을 음성 및 UI 화면 중 적어도 하나의 형태로 출력할 수 있다. 상술한 예에서, 제어부(180)는 제2 서버(300)로부터 수신된 컨텐츠에 대한 정보를 이용하여 컨텐츠에 대한 리스트를 생성하고, 생성된 리스트를 포함하는 UI 화면을 출력할 수 있다. 이때, 제어부(180)는 검색된 컨텐츠에 대한 타이틀, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널, 썸네일 중 적어도 하나를 리스트에 부가할 수 있다.
한편, 응답 정보는 디스플레이 장치(100)에서 출력되는 시스템 응답이 텍스트 형식으로 표현된 시스템 응답 정보를 포함할 수도 있다. 이에 따라, 제어부(180)는 수신된 응답 정보를 이용하여 사용자의 음성에 대응되는 시스템 응답을 음성 및 UI 화면 중 적어도 하나의 형태로 출력하도록 출력부(110)를 제어할 수 있다.
예를 들어, 제어부(180)는 TTS(Text to Speech) 엔진을 이용하여, 텍스트 형식으로 표현된 시스템 응답 정보를 음성으로 변환하여 오디오 출력부(113)를 통해 출력할 수 있다. 여기에서, TTS 엔진은 텍스트를 음성으로 변환하기 위한 모듈로서, 종래 개시되어 있는 다양한 TTS 알고리즘을 이용하여 텍스트를 음성으로 변환할 수 있다. 또한, 제어부(150)는 시스템 응답 정보를 구성하는 텍스트가 포함되도록 UI 화면을 구성하여 디스플레이부(110)를 통해 출력할 수도 있다.
한편, 제어부(180)는 사용자 선호도 정보를 분석하고, 사용자 선호도 정보를 저장부(140)에 저장할 수 있다. 구체적으로, 제어부(180)는 전원 온 또는 채널 전환 명령이 입력될 때마다, EPG 정보에 기초하여 선국된 채널에서 제공되는 컨텐츠를 판단하고, 판단된 컨텐츠에 대한 타이틀, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널 중 적어도 하나에 대한 정보를 저장할 수 있다. 그리고, 제어부(180)는 전원 온 또는 입력 단자 변경 명령이 입력될 때마다, 인터페이스부(175)에 연결된 외부 기기(미도시)에서 제공되는 컨텐츠를 판단하고, 판단된 컨텐츠에 대한 타이틀, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널 중 적어도 하나에 대한 정보를 저장할 수 있다. 이를 위해, 제어부(180)는 외부 기기(미도시)에 저장된 컨텐츠에 대한 정보의 전송을 요청할 수도 있다.
그리고, 제어부(180)는 기설정된 횟수 이상 시청한 컨텐츠에 대한 타이틀, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널을 사용자가 선호하는 채널, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널로 판단하여, 저장부(140)에 저장할 수 있다. 그리고, 제어부(180)는 제2 서버(300)로부터 사용자 선호도 정보에 대한 요청 명령이 수신되면, 사용자 선호도 정보를 제2 서버(300)로 전송할 수 있다.
하지만, 이는 일 예일 뿐, 제어부(180)는 기설정된 이벤트에 따라 사용자 선호도 정보를 입력받기 위한 UI 화면을 디스플레이하고, UI 화면을 통해 입력된 사용자 선호도 정보를 저장부(140)에 저장할 수도 있다.
한편, 제어부(180)는 사용자가 현재 시청하고 있는 채널에 대한 정보를 제2 서버(300)로 전송할 수 있다. 예를 들어, 제어부(180)는 제2 서버(300)로부터 요청 명령이 수신되면, 수신부(150)를 통해 현재 선국된 채널을 판단하고 판단된 채널에 대한 정보를 제2 서버(300)로 전송할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 제1 서버에 대한 블록도를 나타낸다. 도 3에 도시된 바와 같이, 제1 서버(200)는 통신부(210) 및 제어부(220)를 포함한다.
통신부(210)는 디스플레이 장치(100)와 통신을 수행한다. 구체적으로, 통신부(210)는 디스플레이 장치(100)로부터 사용자의 음성을 수신하고, 사용자의 음성에 대응되는 텍스트 정보를 디스플레이 장치(100)로 전송할 수 있다. 이를 위해, 통신부(210)는 다양한 통신 모듈을 포함할 수 있다.
제어부(220)는 제1 서버(200)의 전반적인 동작을 제어한다. 특히, 제어부(220)는 디스플레이 장치(100)로부터 사용자의 음성이 수신되면, 사용자의 음성에 대응되는 텍스트 정보를 생성하고, 이를 디스플레이 장치(100)로 전송하도록 통신부(210)를 제어한다.
구체적으로, 제어부(220)는 STT(Speech to Text) 엔진을 이용하여, 사용자의 음성에 대응되는 텍스트 정보를 생성할 수 있다. 여기에서, STT 엔진은 음성 신호를 텍스트로 변환하기 위한 모듈로서, 종래 개시되어 있는 다양한 STT 알고리즘을 이용하여 음성 신호를 텍스트로 변환할 수 있다.
예를 들어, 제어부(220)는 수신된 사용자의 음성 내에서 사용자가 발화한 음성의 시작과 끝을 검출하여 음성 구간을 판단한다. 구체적으로, 제어부(220)는 수신된 음성 신호의 에너지를 계산하고, 계산된 에너지에 따라 음성 신호의 에너지 레벨을 분류하여, 동적 프로그래밍을 통해 음성 구간을 검출할 수 있다. 그리고, 제어부(220)은 검출된 음성 구간 내에서 음향 모델(Acoustic Model)을 기초로 음성의 최소 단위인 음소를 검출하여 음소 데이터를 생성하고, 생성된 음소 데이터에 HMM(Hidden Markov Model) 확률 모델을 적용하여 사용자의 음성을 텍스트로 변환할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 제2 서버에 대한 블록도를 나타낸다. 도 4에 도시된 바와 같이, 제2 서버(300)는 통신부(310) 및 제어부(320)를 포함한다.
통신부(310)는 디스플레이 장치(100)와 통신을 수행한다. 구체적으로, 통신부(310)는 디스플레이 장치(100)에서 수집한 사용자의 음성에 대응되는 텍스트 정보를 디스플레이 장치(100)로부터 수신할 수 있다. 그리고, 통신부(310)는 수신된 텍스트 정보에 대응되는 응답 정보를 디스플레이 장치(100)로 전송할 수 있다.
또한, 통신부(310)는 외부 서버(도 1의 400)와 통신을 수행한다. 구체적으로, 통신부(310)는 컨텐츠 검색을 위한 쿼리를 외부 서버(400)로 전송하고, 그에 따른 검색 결과를 외부 서버(400)로부터 수신할 수 있다.
이를 위해, 통신부(310)는 다양한 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(310)는 유/무선 LAN(Local Area Network), 이더넷(ethernet), 블루투스(Bluetooth), 지그비(Zigbee), USB(Universal Serial Bus), IEEE 1394, 와이파이(Wifi)등의 통신 방식을 통해 디스플레이 장치(100) 및 외부 서버(400)와 통신을 수행할 수 있다. 이를 위해, 통신부(310)는 각 통신 방식에 대응되는 칩 또는 입력 포트 등을 구비할 수 있다. 예를 들어, 유선 LAN 방식으로 통신을 수행하는 경우, 통신부(310)는 유선 LAN 카드(미도시) 및 입력 포트(미도시)를 구비할 수 있다.
하지만, 이는 일 예일 뿐, 통신부(310)는 디스플레이 장치(100) 및 외부 서버(400) 각각과 통신을 수행하기 위한 별도의 통신 모듈을 구비할 수도 있다.
제어부(320)는 제2 서버(300)의 전반적인 동작을 제어한다. 특히, 제어부(320)는 텍스트 정보로부터 발화 요소를 추출하고, 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 생성하여 외부 서버(400)로 전송할 수 있다. 여기에서, 외부 서버(400)는 컨텐츠에 대한 메타데이터를 항목 별로 구분하여 저장할 수 있다.
구체적으로, 제어부(320)는 디스플레이 장치(100)로부터 텍스트 정보가 수신되면, 텍스트 정보로부터 발화 요소를 추출하고 추출된 발화 요소를 이용하여 사용자의 발화 의도를 판단할 수 있다.
예를 들어, "재방송 프로그램 찾아줘"와 같은 텍스트 정보가 디스플레이 장치(100)로부터 수신된 경우를 가정한다. 이 경우, 제어부(320)는 기저장된 키워드를 이용하여 "재방송 프로그램 찾아줘"와 같은 텍스트 정보에서 방송 타입과 관련된 발화 요소인 "재방송 프로그램"이라는 용어를 추출할 수 있다. 그리고, 제어부(320)는 기저장된 키워드를 이용하여 "찾아줘"라는 용어는 검색 요청에 해당하는 것으로 판단하고, "재방송 프로그램 찾아줘"의 발화 의도는 재방송 프로그램에 대한 검색을 요청하는 것으로 판단할 수 있다.
이와 같이, 사용자의 발화 의도가 컨텐츠 검색과 관련된 경우, 제어부(320)는 추출된 발화 요소를 이용하여 컨텐츠 검색을 위한 쿼리를 생성할 수 있다. 이때, 제어부(320)는 추출된 발화 요소가 외부 서버(400)에 저장된 구조화된 메타데이터에서 매핑되는 항목 및 해당 항목의 컨텐츠 구분 기준을 판단한다.
그리고, 제어부(320)는 추출된 발화 요소가 매핑되는 항목의 컨텐츠 구분 기준에 기초하여, 추출된 발화 요소의 검색 속성의 유효성(attributes effectiveness check)을 판단한다. 구체적으로, 제어부(320)는 추출된 발화 요소가 매핑되는 항목 내의 컨텐츠 구분 기준의 개수가 기설정된 개수인지 여부에 따라, 컨텐츠 구분 기준의 개수가 기설정된 개수 이하이면 추출된 발화 요소가 검색 조건으로서 부적합한 것으로 판단할 수 있다. 여기에서, 기설정된 개수는 2개가 될 수 있으나, 이에 한정되는 것은 아니다.
추출된 발화 요소가 검색 조건으로서 부적합한 것으로 판단된 경우, 제어부(320)는 추출된 발화 요소와 의미상으로 독립적인 속성들(semantically orthogonal attributes) 중 적어도 하나를 컨텐츠 검색 기준으로 추가하여 쿼리를 생성할 수 있다. 여기에서, 의미상으로 독립적인 속성들은 컨텐츠 검색을 위한 사용자의 발화 의도를 해치지 않을 속성으로, 기설정되어 있을 수 있다.
구체적으로, 제어부(320)는 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하이면, 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 쿼리를 생성할 수 있다.
여기에서, 컨텐츠 구분 기준이 기설정된 개수 이하인 항목은 방송 타입 항목 및 화질 항목 중 적어도 하나일 수 있다. 또한, 기설정된 항목은 방송 시간 항목 및 방송 채널 항목 중 적어도 하나일 수 있다.
*이하에서는, 보다 구체적인 설명을 위해 외부 서버(400)가 도 5와 같이 메타데이터를 구조화하여 저장하는 경우를 가정하여 설명하도록 한다.
먼저, 외부 서버(400)는 컨텐츠에 대한 메타데이터를 항목 별로 구분할 수 있다. 여기에서, 항목은 메타데이터에 포함된 다양한 컨텐츠 정보로, 외부 서버(400)는 도 5와 같이, 타이틀, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널과 같은 항목으로 구분하여 메타데이터를 저장할 수 있다.
그리고, 외부 서버(400)는 각 항목 내의 컨텐츠 구분 기준에 따라 컨텐츠에 대한 메타데이터를 구조화하여 저장할 수 있다.
예를 들어, 외부 서버(400)는 도 5와 같이, 타이틀을 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 타이틀 항목(510), 출연자를 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 출연자 항목(520), 제작자를 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 제작자 항목(530), 장르를 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 장르 항목(540), 방송 타입을 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 방송 타입 항목(550), 방송 시간을 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 방송 시간 항목(560), 화질을 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 화질 항목(570), 시청 등급을 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 시청 등급 항목(580) 및 방송 채널을 컨텐츠 구분 기준으로 하여 컨텐츠에 대한 메타데이터를 구분한 시청 등급 항목(590)으로 구분하여 컨텐츠에 대한 메타데이터를 구조화하여 저장할 수 있다.
하지만, 이는 일 예일 뿐이며, 외부 서버(400)는 메타데이터를 구성하는 다양한 컨텐츠에 대한 정보를 이용하여 메타데이터를 구조화하여 저장할 수 있음은 물론이다.
이하에서는, 외부 서버(400)가 도 5와 같이 메타데이터를 구조화하여 저장한 경우, 제어부(320)에서 컨텐츠 검색을 위한 쿼리를 생성하는 방법을 설명하도록 한다.
예를 들어, "재방송 프로그램 찾아줘"와 같은 텍스트 정보가 디스플레이 장치(100)로부터 수신된 경우, 제어부(320)는 "재방송 프로그램 찾아줘"에서 "재방송 프로그램"을 발화 요소로 추출할 수 있다.
이 경우, "재방송 프로그램"은 방송 타입과 관련된 발화 요소로 구조화된 메타데이터에서 매핑되는 항목은 방송 타입 항목(550)에 해당된다. 이에 따라, 제어부(320)는 구조화된 메타데이터에서 방송 타입 항목(550) 내의 컨텐츠 구분 기준의 개수를 확인한다.
방송 타입 항목(550)은 본방송과 재방송 즉, 2개의 컨텐츠 구분 기준으로 구분되므로, 제어부(320)는 추출된 발화 요소가 매핑되는 항목 내의 컨텐츠 구분 기준의 개수가 기설정된 개수 이하인 것으로 판단하고, 추출된 발화 요소가 검색 조건으로서 부적합한 것으로 판단할 수 있다.
이와 같이, 추출된 발화 요소가 매핑되는 항목 내의 컨텐츠 구분 기준의 개수가 기설정된 개수 이하일 때 추출된 발화 요소가 검색 조건으로서 부적합한 것으로 판단하는 것은, 추출된 발화 요소만으로 컨텐츠를 검색할 경우 많은 컨텐츠가 검색되어 컨텐츠 검색의 효율성이 낮아지기 때문이다.
따라서, 제어부(320)는 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 컨텐츠 검색을 위한 쿼리를 생성할 수 있다. 구체적으로, 제어부(320)는 기설정된 항목 내의 검색 조건값을 설정하고, 설정된 검색 조건값과 추출된 발화 요소를 이용하여 컨텐츠 검색을 위한 쿼리를 생성할 수 있다.
여기에서, 기설정된 항목은 방송 시간 항목 및 방송 채널 항목 중 적어도 하나일 수 있다.
한편, 기설정된 각 항목마다 설정되는 조건값은 각 항목마다 기설정되어 있을 수 있다. 예를 들어, 방송 시간 항목의 경우 현재 시간부터 기설정된 시간(가령, 24시간) 이내에 방송되는 컨텐츠로 조건값이 기설정되어 있을 수 있고, 방송 채널 항목의 경우 사용자가 현재 시청하는 채널에서 방송되는 컨텐츠로 조건값이 기설정되어 있을 수 있다.
이에 따라, 방송 시간 항목을 컨텐츠 검색 기준으로 추가하는 경우, 제어부(320)는 방송 시간 항목에 대해 현재 시간부터 기설정된 시간 이내에 방송되는 컨텐츠를 조건값으로 설정할 수 있다. 그리고, 제어부(320)는 방송 시간은 24시간 이내이고 방송 타입은 재방송인 컨텐츠의 검색을 위한 쿼리를 생성하고, 생성된 쿼리를 외부 서버(400)로 전송할 수 있다.
이에 따라, 외부 서버(400)는 제2 서버(300)로부터 수신된 쿼리를 이용하여 컨텐츠 검색을 수행하고 검색 결과를 제2 서버(300)로 전송할 수 있다. 이때, 외부 서버(300)는 검색된 컨텐츠에 대한 정보(가령, 타이틀, 썸네일, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널 등 중 적어도 하나)를 검색 결과로 전송할 수 있다. 예를 들어, 현재 시간이 1월 7일 10시인 경우, 외부 서버(400)는 도 5와 같은 구조화된 메티데이터를 이용하여 검색된 컨텐츠에 대한 타이틀 정보인 Title_BBB, Title_CCC를 전송할 수 있다.
다른 한편, 방송 채널 항목을 컨텐츠 검색 기준으로 추가하는 경우, 제어부(320)는 방송 채널 항목에 대해 사용자가 현재 시청하는 채널에 대한 정보를 조건값으로 설정할 수 있다. 이를 위해, 제어부(320)는 디스플레이 장치(100)에서 현재 선국된 채널에 대한 정보를 요청하여, 사용자가 현재 시청하는 채널에 대한 정보를 수신받을 수 있다. 이에 따라, 디스플레이 장치(100)에서 현재 CH22를 선국하고 있는 경우, 제어부(320)는 방송 채널은 CH22이고 방송 타입은 재방송인 컨텐츠의 검색을 위한 쿼리를 생성하고, 생성된 쿼리를 외부 서버(400)로 전송할 수 있다.
이에 따라, 외부 서버(400)는 제2 서버(300)로부터 수신된 쿼리를 이용하여 컨텐츠 검색을 수행하고 검색 결과를 제2 서버(300)로 전송할 수 있다. 이때, 외부 서버(300)는 검색된 컨텐츠에 대한 정보(가령, 타이틀, 썸네일, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널 등 중 적어도 하나)를 검색 결과로 전송할 수 있다. 예를 들어, 외부 서버(400)는 도 5와 같은 구조화된 메티데이터를 이용하여 검색된 컨텐츠에 대한 타이틀 정보인 Title_III를 전송할 수 있다.
한편, 상술한 바와 같이, 컨텐츠 검색을 위한 추가 조건으로 방송 채널 항목 또는 방송 시간 항목을 부가하는 것은, 컨텐츠 검색을 위한 사용자의 발화 의도를 해치지 않기 위함이다. 즉, 상기의 예에서 사용자의 발화 의도는 단순히 재방송 프로그램에 대한 검색 요청이었다는 점에서, 타이틀, 출연자, 제작자, 장르 등과 같은 항목을 추가 조건으로 설정할 경우 사용자의 발화 의도를 해칠 우려가 있게 된다. 따라서, 사용자의 발화 의도를 해칠 염려가 적은 방송 채널 항목 또는 방송 시간 항목을 부가하게 되는 것이다.
한편, 제어부(320)는 외부 서버(400)로부터 수신된 검색 결과를 이용하여 응답 정보를 생성하고, 생성된 응답 정보를 디스플레이 장치(100)로 전송할 수 있다.
여기에서, 응답 정보는 디스플레이 장치(100)에서 출력되는 시스템 응답과 관련된 다양한 정보를 포함할 수 있다. 이 경우, 응답 정보는 사용자의 음성에 대응되는 시스템 응답을 출력하기 위한 제어 명령을 더 포함할 수 있다.
상술한 예와 같이, 디스플레이 장치(100)에서 "재방송 프로그램 찾아줘"를 수집한 경우, 제어부(320)는 외부 서버(400)로부터 수신된 컨텐츠에 대한 정보(가령, 타이틀, 썸네일, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널 등 중 적어도 하나)를 디스플레이 장치(100)로 전송할 수 있다. 이 경우, 제어부(320)는 컨텐츠에 대한 정보를 이용하여 컨텐츠 리스트를 출력하기 위한 제어 명령을 디스플레이 장치(100)로 전송할 수도 있다.
이에 따라, 디스플레이 장치(100)는 제2 서버(300)로부터 수신된 응답 정보에 기초하여 사용자의 음성에 대응되는 시스템 응답을 출력할 수 있다. 즉, 디스플레이 장치(100)는 컨텐츠 검색을 위한 사용자의 음성에 대해, 검색된 컨텐츠에 대한 리스트를 구성된 UI 화면을 출력할 수 있다. 이 경우, 디스플레이 장치(100)는 검색된 컨텐츠에 대한 정보(가령, 타이틀, 썸네일, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널 등 중 적어도 하나)를 리스트에 부가할 수 있다.
상술한 예에서, 디스플레이 장치(100)는 "재방송 프로그램 찾아줘"라는 사용자의 음성에 대해, 컨텐츠 BBB 및 컨텐츠 CCC로 구성된 리스트 또는, 컨텐츠 III로 구성된 리스트를 출력할 수 있다.
이와 같이, 본 발명의 일 실시 예에 따르면 추출된 발화 요소가 검색 조건으로서 부적합한 경우, 컨텐츠 검색 기준으로 자동으로 추가하여 컨텐츠 검색을 수행할 수 있다.
한편, 상술한 예에서는, 추출된 발화 요소에 매핑되는 항목이 방송 타입 항목인 경우를 설명하였으나, 이는 일 예에 불과하다. 즉, 화질 항목(570)은 HD와 SD 즉, 2개의 컨텐츠 구분 기준으로 구분되므로, 화질과 관련된 발화 요소가 추출된 경우, 추출된 발화 요소가 검색 조건으로서 부적합한 것으로 판단할 수도 있다.
또한, 상술한 예에서는 하나의 기설정된 항목을 컨텐츠 검색 기준으로 추가하는 것으로 설명하였으나, 이는 일 예에 불과하다. 즉, 제어부(320)는 복수의 기설정된 항목을 컨텐츠 검색 기준으로 추가할 수도 있다. 구체적으로, 제어부(320)는 방송 시간 항목과 방송 채널 항목 각각에 조건값을 설정하고, 설정된 복수의 조간값과 추출된 발화 요소를 이용하여 컨텐츠 검색을 위한 쿼리를 생성할 수 있다.
또한, 상술한 예에서는 기설정된 항목을 컨텐츠 검색 기준으로 추가하는 것으로 설명하였으나, 이는 일 예에 불과하다. 즉, 제어부(320)는 사용자 선호도 정보에 기초하여 컨텐츠 검색 기준으로 추가하는 기설정된 항목을 결정할 수도 있다. 여기에서, 사용자 선호도 정보는 사용자가 선호하는 채널, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널 중 적어도 하나를 포함할 수 있다. 이 경우, 사용자 선호도 정보는 디스플레이 장치(100)로부터 수신받을 수 있다.
일 예로, 사용자가 선호하는 장르가 영화인 경우를 가정한다. 이 경우, 제어부(320)는 장르 항목을 추가되는 컨텐츠 검색 기준으로 결정하고, 결정된 컨텐츠 검색 기준을 이용하여 컨텐츠 검색을 위한 쿼리를 생성할 수 있다. 즉, 상술한 예에서, 제어부(320)는 장르 항목에 대해 영화를 조건값으로 설정하고, 장르는 영화이고 방송 타입은 재방송인 컨텐츠의 검색을 위한 쿼리를 생성하고, 생성된 쿼리를 외부 서버(400)로 전송할 수 있다. 이에 따라, 외부 서버(400)는 도 5와 같은 구조화된 메티데이터를 이용하여 검색된 컨텐츠에 대한 타이틀 정보인 Title_HHH를 전송할 수 있다.
또한, 상술한 예에서는 추출된 발화 요소가 검색 기준으로 부적합한 경우, 컨텐츠 검색 기준으로 자동으로 추가하여 컨텐츠 검색을 수행하는 것으로 설명하였으나 이는 일 예에 불과하다. 즉, 제어부(320)는 컨텐츠 검색 기준의 추가 여부를 사용자에게 문의하고, 사용자의 답변에 기초하여 컨텐츠 검색 기준의 추가 여부를 결정할 수 있다.
구체적으로, 제어부(320)는 추출된 발화 요소가 검색 기준으로 부적합한 경우, 디스플레이 장치(100)에서 컨텐츠 검색 기준의 추가 여부에 대한 질문을 시스템 응답으로 출력하기 위한 응답 정보를 생성하여 디스플레이 장치(100)로 전송할 수 있다.
이 경우, 제어부(320)는 디스플레이 장치(100)에서 출력되는 시스템 응답을 텍스트 형식으로 표현하여 디스플레이 장치(100)로 전송할 수 있다. 예를 들어, 제어부(320)는 "말씀하신 조건은 검색하기에 부적합합니다. 방송 시간을 제안해서 검색해 드릴까요?"를 텍스트 형식으로 표현하여 디스플레이 장치(100)로 전송할 수 있다.
이에 따라, 디스플레이 장치(100)는 제2 서버(300)로부터 수신된 응답 정보에 기초하여 컨텐츠 검색 기준의 추가 여부에 대한 질문을 시스템 응답으로 출력할 수 있다. 예를 들어, 디스플레이 장치(100)는 "말씀하신 조건은 검색하기에 부적합합니다. 방송 시간을 제안해서 검색해 드릴까요?"를 포함하는 UI 화면을 출력할 수 있다.
그리고, 제어부(320)는 이후 수신된 텍스트 정보에 기초하여 컨텐츠 검색 조건을 추가하여 컨텐츠 검색을 수행할 수 있다. 가령, 제어부(320)는 "예"와 같은 텍스트 정보가 수신되면 기저장된 키워드에 기초하여 "예"라는 용어는 긍정의 의미에 해당하는 것으로 판단하고, 기설정된 항목을 컨텐츠 검색 조건으로 추가하여 컨텐츠 검색을 수행할 수 있다. 한편, 제어부(320)는 "아니요"와 같은 텍스트 정보가 수신되면 기저장된 키워드에 기초하여 "아니요"라는 용어는 부정의 의미에 해당하는 것으로 판단하고, 컨텐츠 검색 조건으로 추가함이 없이 추출된 발화 요소만을 이용하여 컨텐츠 검색을 수행할 수 있다.
또한, 상술한 예에서는 추출된 발화 요소가 검색 기준으로 부적합한 경우 컨텐츠 검색 기준으로 자동으로 추가하는 것으로 설명하였으나, 이는 일 예에 불과하다. 즉, 제어부(320)는 추출된 발화 요소에 따라 검색되는 컨텐츠가 없는 경우, 추출된 발화 요소의 일부만을 이용하여 컨텐츠 검색을 수행할 수도 있다.
예를 들어, "채널 7번에서 하는 모든 연령 시청 가능한 재방송 프로그램 찾아줘"와 같은 텍스트 정보가 디스플레이 장치(100)로부터 수신된 경우를 가정한다. 이 경우, 제어부(320)는 기저장된 키워드를 이용하여 "채널 7번에서 하는 모든 연령 시청 가능한 재방송 프로그램 찾아줘"와 같은 텍스트 정보에서 방송 채널과 관련된 발화 요소인 "채널 7번"이라는 용어를 추출하고, 시청 등급과 관련된 발화 요소인 "모든 연령"이라는 용어를 추출하고, 방송 타입과 관련된 발화 요소인 "재방송 프로그램"이라는 용어를 추출할 수 있다. 이에 따라, 제어부(320)는 "채널 7번에서 하는 모든 연령 시청 가능한 재방송 프로그램 찾아줘"의 발화 의도는 채널 7번에서 하는 모든 연령 시청 가능한 재방송 프로그램에 대한 검색을 요청하는 것으로 판단할 수 있다.
이 경우, 제어부(320)는 추출된 발화 요소를 이용하여 컨텐츠 검색을 위한 쿼리를 생성할 수 있다. 상술한 예에서, 제어부(320)는 방송 채널이 CH7이고 시청 등급이 모든 연령이고 방송 타입은 재방송인 컨텐츠의 검색을 위한 쿼리를 생성하고, 생성된 쿼리를 외부 서버(400)로 전송할 수 있다.
하지만, 외부 서버(400)가 도 5와 같은 구조화된 메타데이터를 갖는 경우, 제2 서버(300)로부터 수신된 쿼리를 만족하는 컨텐츠는 존재하지 않는다는 점에서, 외부 서버(400)는 검색 결과가 존재하지 않는 응답을 제2 서버(300)로 전송할 수 있다.
이 경우, 제어부(320)는 추출된 발화 요소에서 일부만을 이용하여 컨텐츠 검색을 위한 쿼리를 재차 생성할 수 있다. 구체적으로, 제어부(320)는 방송 시간 타입 및 방송 채널 타입 중 적어도 하나에 대응되는 추출된 발화 요소를 제거하고, 남은 발화 요소만을 이용하여 컨텐츠 검색을 위한 쿼리를 재차 생성할 수 있다. 상술한 예에서, 제어부(320)는 방송 채널, 시청 등급, 방송 타입 중 적어도 하나에 대응되는 발화 요소를 제거하고, 남은 발화 요소를 이용하여 컨텐츠 검색을 위한 쿼리를 재차 생성할 수 있다. 즉, 제어부(320)는 방송 채널에 대한 발화 요소를 제거하고 시청 등급이 모든 연령이고 방송 타입은 재방송인 컨텐츠의 검색을 위한 쿼리를 생성하거나, 시청 등급에 대한 발화 요소를 제거하고 방송 채널이 CH7이고 방송 타입은 재방송인 컨텐츠의 검색을 위한 쿼리를 생성하거나, 또는, 방송 타입에 대한 발화 요소를 제거하고 방송 채널이 CH7이고 시청 등급이 모든 연령인 컨텐츠의 검색을 위한 쿼리를 생성할 수 있다.
다른 한편, 제어부(320)는 기설정된 항목이 컨텐츠 검색 기준으로 추가되어 생성된 쿼리에 의해 컨텐츠 검색이 수행되지 않는 경우, 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 재생성할 수 있다. 즉, 제어부(320)는 추출된 발화 요소와 컨텐츠 검색 기준으로 추가된 검색 조건값을 모두 만족하는 컨텐츠가 존재하지 않는 경우, 추출된 발화 요소만을 이용하여 컨텐츠 검색을 위한 쿼리를 재차 생성할 수 있다.
상술한 예에서, 사용자가 현재 시청하는 채널이 2번인 것으로 가정한다. 이 경우, 제어부(320)는 방송 채널은 CH2이고 방송 타입은 재방송인 컨텐츠의 검색을 위한 쿼리를 생성하고, 생성된 쿼리를 외부 서버(400)로 전송할 수 있다.
하지만, 외부 서버(400)가 도 5와 같은 구조화된 메타데이터를 갖는 경우, 제2 서버(300)로부터 수신된 쿼리를 만족하는 컨텐츠는 존재하지 않는다는 점에서, 외부 서버(400)는 검색 결과가 존재하지 않는 응답을 제2 서버(300)로 전송할 수 있다. 이 경우, 제어부(320)는 추출된 발화 요소만을 이용하여 컨텐츠 검색을 위한 쿼리를 재차 생성할 수 있다. 즉, 상술한 예에서, 제어부(320)는 방송 타입이 재방송인 컨텐츠의 검색을 위한 쿼리를 생성하고, 생성된 쿼리를 외부 서버(400)로 전송할 수 있다.
도 6는 도 4에 도시된 제2 서버의 세부 구성을 설명하기 위한 블록도이다. 도 6에 따르면, 제2 서버(300)는 도 4에 도시된 구성요소 외에 저장부(330)를 더 포함할 수 있다. 한편, 도 6에 도시된 구성요소들 중 도 4에 도시된 구성요소와 중복되는 구성요소들은 그 기능이 동일하므로 자세한 설명은 생략하도록 한다.
저장부(330)는 각 항목 내의 컨텐츠 구분 기준에 대한 정보를 저장할 수 있다. 즉, 저장부(330)는 외부 서버(400)에 저장된 구조화된 메타데이터의 각 항목 및 각 항목을 구분하는 컨텐츠 구분 기준에 대한 정보를 저장할 수 있다. 이에 따라, 제어부(320)는 컨텐츠 구분 기준에 대한 정보에 기초하여 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하인지 여부를 판단할 수 있다.
또한, 저장부(330)는 디스플레이 장치(100)로부터 수신된 텍스트 정보를 이용하여 사용자의 발화 의도를 판단하기 위한 다양한 정보를 저장할 수 있다.
구체적으로, 저장부(330)는 디스플레이 장치(100)로부터 수신된 텍스트 정보를 이용하여, 사용자의 음성에서 목적 영역(domain), 목적 기능(user action), 주요 특징(slot) 등을 분석하기 위한 다양한 정보를 저장할 수 있다.
여기에서, 목적 영역은 "방송", "기기 제어" 등과 같이 사용자가 발화한 음성이 속하는 주제에 따라 구분될 수 있다. 그리고, 목적 기능은 "정보 출력", "기기 제어" 등과 같이 사용자의 발화 의도를 나타내며, 주요 특징은 목적 영역에 대한 개체 정보 즉, 목적 영역에서 의도하는 사용자의 발화 의도를 구체화할 수 있는 정보를 나타낸다.
구체적으로, 저장부(330)는 목적 영역에서 목적 기능을 분석하고 주요 특징을 추출하기 위한 키워드를 저장할 수 있다.
예를 들어, 저장부(330)는 방송 목적 영역에서 "추천해줘", "검색해줘", "찾아줘", "보여줘" 등과 같은 키워드는 목적 기능이 정보 검색에 대한 요청에 해당하고, 컨텐츠의 타이틀, 출연자, 제작자, 장르, 방송 타입, 방송 시간, 화질, 시청 등급, 방송 채널 등과 같이 컨텐츠와 관련되는 다양한 키워드를 저장하고, 각 키워드는 주요 특징에 해당한다는 정보를 저장할 수 있다. 구체적인 일 예로, "재방송 프로그램"이라는 용어는 방송 타입과 관련된 키워드이고, 이는 주요 특징에 해당한다는 정보를 저장할 수 있다.
다른 예로, 저장부(330)는 기기 제어 목적 영역에서 "틀어줘", "높여줘", "낮춰줘", "꺼줘", "실행해줘" 등과 같은 키워드는 목적 기능이 기기 제어에 대한 요청에 해당하고, 채널명, 채널 번호, 볼륨, 전원 등과 같이 기기 제어와 관련된 다양한 키워드를 저장하고, 각 키워드는 주요 특징에 해당한다는 정보를 저장할 수 있다.
또 다른 예로, 저장부(330)는 각 목적 영역에서 "예", "그래" 등과 같은 용어는 긍정의 의미를 갖는 키워드이고, "아니요", "싫어" 등과 같은 용어는 부정의 의미를 갖는 키워드에 해당한다는 정보를 저장할 수 있다.
또한, 저장부(330)는 말뭉치(corpus) 데이터베이스를 구비할 수 있다. 여기에서, 말뭉치 데이터베이스는 예문 및 그에 대한 답변을 저장하는 형태로 구현될 수 있다.
즉, 저장부(330)는 각 목적 영역별로 복수의 예문 및 각 예문에 대한 답변을 저장할 수 있다. 이 경우, 저장부(330)는 예문을 해석하기 위한 및 예문에 대응되는 답변을 각 예문마다 태깅(tagging)하여 저장할 수 있다.
예를 들어, 저장부(330)는 방송 목적 영역에서 "재방송 프로그램 찾아줘"라는 예문을 저장할 수 있다. 이 경우, 저장부(330)는 "재방송 프로그램 찾아줘"와 같은 예문을 해석하기 위한 정보를 해당 예문에 태깅하여 저장할 수 있다. 구체적으로, 저장부(330)는 "재방송 프로그램 찾아줘"와 같은 예문에서 "재방송 프로그램"은 주요 특징으로 방송 타입을 나타내며, "찾아줘"는 컨텐츠에 대한 검색 요청을 나타낸다는 정보를 해당 예문에 태깅하여 저장할 수 있다.
다른 예로, 저장부(330)는 기기 제어 목적 영역에서 "○번 틀어줘"와 같은 예문을 저장할 수 있다. 이 경우, 저장부(330)는 "○번 틀어줘"와 같은 예문을 해석하기 위한 정보를 해당 예문에 태깅하여 저장할 수 있다. 구체적으로, 저장부(330)는 "○번 틀어줘"와 같은 예문에서 "○번"은 주요 특징으로 채널 번호를 나타내며, "틀어줘"는 전원 오프 요청을 나타내는 정보를 해당 예문에 태깅하여 저장할 수 있다.
이에 따라, 제어부(320)는 저장부(330)에 저장된 정보를 이용하여 디스플레이 장치(100)로부터 수신된 텍스트 정보에서 발화 요소를 추출하고, 이를 이용하여 사용자의 발화 의도를 판단할 수 있다.
예를 들어, "재방송 프로그램 찾아줘"와 같은 텍스트 정보가 디스플레이 장치(100)로부터 수신된 경우를 가정한다. 이 경우, 제어부(320)는 "재방송 프로그램"이라는 용어는 방송 타입과 관련된 주요 특징이라는 점에서, "재방송 프로그램 찾아줘"에서 "재방송 프로그램"를 발화 요소로 추출할 수 있다. 그리고, 제어부(320)는 "추천해줘"는 목적 기능에서 정보 검색 요청에 해당하는 것으로 판단하고, "재방송 프로그램 찾아줘"의 발화 의도는 재방송 프로그램에 대한 검색을 요청하는 것으로 판단할 수 있다. 이 경우, 제어부(320)는 사용자의 음성이 검색이 부적합한 것으로 판단하고, 검색 조건을 추가하여 컨텐츠 검색을 위한 쿼리를 생성하여 외부 서버(400)로 전송할 수 있다. 그리고, 제어부(320)는 디스플레이 장치(100)에서 "재방송 프로그램 찾아줘"에 대응되는 시스템 응답을 출력하기 위한 응답 정보를 디스플레이 장치(100)로 전송할 수 있다.
다른 예로, "○번 틀어줘"와 같은 텍스트 정보가 디스플레이 장치(100)로부터 수신된 경우를 가정한다. 이 경우, 제어부(320)는 "○번"라는 용어는 채널 번호와 관련된 주요 특징이라는 점에서, "○번 틀어줘"에서 "○번"을 발화 요소로 추출할 수 있다. 그리고, 제어부(320)는 "틀어줘"는 목적 기능에서 채널 변경 요청에 해당하는 것으로 판단하고, "○번 틀어줘"의 발화 의도는 ○번으로 채널 변경 요청인 것으로 판단할 수 있다. 이 경우, 제어부(320)는 디스플레이 장치(100)가 채널을 ○번으로 변경하기 위한 제어 명령을 디스플레이 장치(100)로 전송할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 컨텐츠 검색 기준을 추가하는 방법의 일 예를 설명하기 위한 도면이다.
한편, 컨텐츠 검색 기준을 추가하는 방법에 대해서는 도 4 내지 도 6에서 구체적으로 설명한바 있다는 점에서, 본 도면에서는 개략적으로 설명하도록 한다.
제2 서버(300)는 사용자의 음성에 대응되는 텍스트 정보가 수신되면(S710), 사용자의 음성에서 발화 요소를 추출한다(S720). 그리고, 제2 서버(300)는 추출된 발화 요소의 검색 속성의 유효성을 판단한다(S730). 구체적으로, 제2 서버(300)는 추출된 발화 요소가 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하인지 여부에 기초하여 추출된 발화 요소의 검색 속성의 유효성을 판단할 수 있다.
이에 따라, 추출된 발화 요소가 검색 조건으로 적합한 것으로 판단되면(S730-Y), 제2 서버(300)는 추출된 발화 요소를 이용하여 컨텐츠 검색을 위한 쿼리를 생성하고, 생성된 쿼리를 정보 소스 즉, 외부 서버(400)로 전송할 수 있다.
한편, 추출된 발화 요소가 검색 조건으로 부적합한 것으로 판단되면(S730-N), 컨텐츠 검색 기준으로 추가할 항목을 판단할 수 있다(S740). 이 경우, 제2 서버(300)는 컨텐츠 검색 기준을 추가할지 여부를 사용자에게 문의하기 위한 질문을 생성하고(S750), 생성된 질문을 디스플레이 장치(100)를 통해 사용자에게 제공할 수도 있다. 그리고, 질문에 대한 답변에 기초하여, 컨텐츠 검색 기준을 추출된 발화 요소에 부가하거나, 추출된 발화 요소만으로 컨텐츠 검색을 위한 쿼리를 생성하고, 생성된 쿼리를 정보 소스 즉, 외부 서버(400)로 전송할 수 있다.
도 8 내지 도 9는 본 발명의 일 실시 예에 따라 디스플레이 장치에서 제공되는 UI 화면의 일 예를 도시한 도면들이다.
예를 들어, 도 8(a)와 같이, 사용자가 "재방송 프로그램 찾아줘"라고 발화한 경우를 가정한다.
이 경우, 디스플레이 장치(100)는 도 8(b)와 같이, 제2 서버(300)로부터 수신된 응답 정보에 기초하여, 컨텐츠에 대한 리스트를 포함하는 UI 화면(810)을 디스플레이할 수 있다. 이 경우, 컨텐츠에 대한 리스트는 방송 시간 및 방송 채널 중 적어도 하나가 컨텐츠 검색 기준으로 추가되어 검색된 컨텐츠에 대한 리스트일 수 있다.
한편, 도 9(a)와 같이, 사용자가 "재방송 프로그램 찾아줘"라고 발화한 경우를 가정한다.
이 경우, 디스플레이 장치(100)는 도 9(b)와 같이 제2 서버(300)로부터 수신된 응답 정보에 기초하여, 컨텐츠 검색 기준의 추가 여부를 문의하기 위한 UI 화면(910)을 디스플레이할 수 있다. 이에 따라, 도 9(c)와 같이, 사용자가 "예"라고 발화하면, 디스플레이 장치(100)는 제2 서버(300)로부터 수신된 응답 정보에 기초하여, 컨텐츠에 대한 리스트를 포함하는 UI 화면(920)을 디스플레이할 수 있다. 이 경우, 컨텐츠에 대한 리스트는 방송 시간이 컨텐츠 검색 기준으로 추가되어 검색된 컨텐츠에 대한 리스트일 수 있다.
도 10은 본 발명의 일 실시 예에 따른 서버의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 디스플레이 장치에서 수집한 사용자의 음성에 대응되는 텍스트 정보를 디스플레이 장치로부터 수신한다(S1010).
이후, 텍스트 정보로부터 발화 요소를 추출하고, 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 생성한다(S1020).
구체적으로, 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하이면, 기설정된 항목을 컨텐츠 검색 기준으로 추가하여 쿼리를 생성한다.
여기에서, 컨텐츠 구분 기준이 기설정된 개수 이하인 항목은 방송 타입 항목 및 화질 항목 중 적어도 하나일 수 있다. 또한, 기설정된 항목은, 방송 시간 항목 및 방송 채널 항목 중 적어도 하나일 수 있다.
이를 위해, 기저장된 컨텐츠 구분 기준에 대한 정보에 기초하여 추출된 발화 요소에 대응되는 항목 내의 컨텐츠 구분 기준이 기설정된 개수 이하인지 여부를 판단할 수 있다.
또한, 사용자 선호도 정보에 기초하여 컨텐츠 검색 기준으로 추가하는 상기 기설정된 항목을 결정할 수도 있다.
한편, 기설정된 항목이 컨텐츠 검색 기준으로 추가되어 생성된 쿼리에 의해 컨텐츠 검색이 수행되지 않는 경우, 추출된 발화 요소를 이용하여 컨텐츠를 검색하기 위한 쿼리를 재생성할 수 있다.
그리고, 생성된 쿼리를 컨텐츠에 대한 메타데이터를 항목 별로 구분하여 저장하는 외부 서버로 전송한다(S1030).
이에 대해서는, 기설정된 항목 또는, 사용자 선호도 정보 등을 고려하여 쿼리를 생성하는 방법에 대해서는 도 1 내지 도 9에서 상술한바 있다.
또한, 본 발명에 따른 제어 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 디스플레이 장치 및 서버에 대해 도시한 상술한 블록도에서는 버스(bus)를 미도시하였으나, 디스플레이 장치 및 서버에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 각 디바이스에는 상술한 다양한 단계를 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
300 : 제2 서버 310 : 통신부
320 : 제어부

Claims (20)

  1. 전자 장치에 있어서,
    수신부;
    통신부;
    상기 수신부를 통해 컨텐츠 신호를 수신하고,
    상기 컨텐츠 신호에 대응되는 컨텐츠가 디스플레이에 표시된 상태에서, 음성 수신부를 통해 사용자 음성 입력을 수신하고,
    상기 사용자 음성 입력이 컨텐츠 검색과 관련된 경우, 상기 사용자 음성 입력 및 상기 표시된 컨텐츠에 대응되는 정보에 기초한 검색 결과에 대응되는 데이터를 상기 통신부를 통해 서버로부터 수신하고, 상기 수신된 데이터를 처리하여 상기 검색 결과를 표시하고,
    상기 사용자 음성 입력이 상기 전자 장치의 기능 제어와 관련된 경우, 상기 사용자 음성 입력에 대응되는 기능을 수행하는 제어부;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 표시된 컨텐츠에 대응되는 정보는, 상기 컨텐츠의 채널에 대한 정보를 포함하는 전자 장치.
  3. 제2항에 있어서,
    상기 검색 결과는, 상기 채널에서 제공되는 적어도 하나의 컨텐츠에 대한 정보를 포함하는 전자 장치.
  4. 제3항에 있어서,
    상기 제어부는,
    상기 검색 결과에 기초하여 상기 적어도 하나의 컨텐츠를 포함하는 리스트를 상기 디스플레이에 출력하는 전자 장치.
  5. 제4항에 있어서,
    상기 리스트는,
    상기 적어도 하나의 컨텐츠의 명칭 및 썸네일 중 적어도 하나를 포함하는 전자 장치.
  6. 제1항에 있어서,
    상기 기능 제어와 관련된 상기 사용자 음성 입력은,
    상기 전자 장치의 채널을 변경하기 위한 사용자 음성 입력 및 상기 전자 장치의 볼륨을 조절하기 위한 사용자 음성 입력 중 적어도 하나를 포함하는 전자 장치.
  7. 제1항에 있어서,
    상기 제어부는,
    상기 사용자 음성 입력이 컨텐츠 검색과 관련된 경우, 상기 표시된 컨텐츠에 대응되는 데이터 및 상기 사용자 음성 입력에 대응되는 신호를 상기 통신부를 통해 상기 서버로 전송하는 전자 장치.
  8. 전자 장치의 제어 방법에 있어서,
    컨텐츠 신호를 수신하는 단계;
    상기 컨텐츠 신호에 대응되는 컨텐츠가 디스플레이에 표시된 상태에서, 사용자 음성 입력을 수신하는 단계;
    상기 사용자 음성 입력이 컨텐츠 검색과 관련된 경우, 상기 사용자 음성 입력 및 상기 표시된 컨텐츠에 대응되는 정보에 기초한 검색 결과에 대응되는 데이터를 서버로부터 수신하고, 상기 수신된 데이터를 처리하여 상기 검색 결과를 표시하는 단계; 및
    상기 사용자 음성 입력이 상기 전자 장치의 기능 제어와 관련된 경우, 상기 사용자 음성 입력에 대응되는 기능을 수행하는 단계;를 포함하는 제어 방법.
  9. 제8항에 있어서,
    상기 표시된 컨텐츠에 대응되는 정보는, 상기 컨텐츠의 채널에 대한 정보를 포함하는 제어 방법.
  10. 제9항에 있어서,
    상기 검색 결과는, 상기 채널에서 제공되는 적어도 하나의 컨텐츠에 대한 정보를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 검색 결과에 기초하여 상기 적어도 하나의 컨텐츠를 포함하는 리스트를 상기 디스플레이에 출력하는 단계;를 더 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 리스트는,
    상기 적어도 하나의 컨텐츠의 명칭 및 썸네일 중 적어도 하나를 포함하는 제어 방법.
  13. 제8항에 있어서,
    상기 기능 제어와 관련된 상기 사용자 음성 입력은,
    상기 전자 장치의 채널을 변경하기 위한 사용자 음성 입력 및 상기 전자 장치의 볼륨을 조절하기 위한 사용자 음성 입력 중 적어도 하나를 포함하는 제어 방법.
  14. 제8항에 있어서,
    상기 사용자 음성 입력이 컨텐츠 검색과 관련된 경우, 상기 표시된 컨텐츠에 대응되는 데이터 및 상기 사용자 음성 입력에 대응되는 신호를 상기 통신부를 통해 상기 서버로 전송하는 단계;를 더 포함하는 제어 방법.
  15. 전자 장치의 제어부에 의해 실행되는 경우 상기 전자 장치가 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체에 있어서,
    상기 동작은,
    컨텐츠 신호를 수신하는 단계;
    상기 컨텐츠 신호에 대응되는 컨텐츠가 디스플레이에 표시된 상태에서, 사용자 음성 입력을 수신하는 단계;
    상기 사용자 음성 입력이 컨텐츠 검색과 관련된 경우, 상기 사용자 음성 입력 및 상기 표시된 컨텐츠에 대응되는 정보에 기초한 검색 결과에 대응되는 데이터를 서버로부터 수신하고, 상기 수신된 데이터를 처리하여 상기 검색 결과를 표시하는 단계; 및
    상기 사용자 음성 입력이 상기 전자 장치의 기능 제어와 관련된 경우, 상기 사용자 음성 입력에 대응되는 기능을 수행하는 단계;를 포함하는 비일시적 컴퓨터 판독 가능 매체.
  16. 제15항에 있어서,
    상기 표시된 컨텐츠에 대응되는 정보는, 상기 컨텐츠의 채널에 대한 정보를 포함하는 비일시적 컴퓨터 판독 가능 매체.
  17. 제16항에 있어서,
    상기 검색 결과는, 상기 채널에서 제공되는 적어도 하나의 컨텐츠에 대한 정보를 포함하는 비일시적 컴퓨터 판독 가능 매체.
  18. 제17항에 있어서,
    상기 동작은,
    상기 검색 결과에 기초하여 상기 적어도 하나의 컨텐츠를 포함하는 리스트를 상기 디스플레이에 출력하는 단계;를 더 포함하는 비일시적 컴퓨터 판독 가능 매체.
  19. 제18항에 있어서,
    상기 리스트는,
    상기 적어도 하나의 컨텐츠의 명칭 및 썸네일 중 적어도 하나를 포함하는 비일시적 컴퓨터 판독 가능 매체.
  20. 제15항에 있어서,
    상기 기능 제어와 관련된 상기 사용자 음성 입력은,
    상기 전자 장치의 채널을 변경하기 위한 사용자 음성 입력 및 상기 전자 장치의 볼륨을 조절하기 위한 사용자 음성 입력 중 적어도 하나를 포함하는 비일시적 컴퓨터 판독 가능 매체.
KR1020220035383A 2020-11-18 2022-03-22 서버 및 그의 제어 방법 KR102456114B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220035383A KR102456114B1 (ko) 2020-11-18 2022-03-22 서버 및 그의 제어 방법
KR1020220131627A KR102587051B1 (ko) 2020-11-18 2022-10-13 서버 및 그의 제어 방법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020200154914A KR102265406B1 (ko) 2020-05-27 2020-11-18 서버 및 그의 제어 방법
KR1020210074953A KR102379049B1 (ko) 2020-11-18 2021-06-09 서버 및 그의 제어 방법
KR1020220035383A KR102456114B1 (ko) 2020-11-18 2022-03-22 서버 및 그의 제어 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210074953A Division KR102379049B1 (ko) 2020-11-18 2021-06-09 서버 및 그의 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220131627A Division KR102587051B1 (ko) 2020-11-18 2022-10-13 서버 및 그의 제어 방법

Publications (2)

Publication Number Publication Date
KR20220042092A true KR20220042092A (ko) 2022-04-04
KR102456114B1 KR102456114B1 (ko) 2022-10-19

Family

ID=73642106

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020200154914A KR102265406B1 (ko) 2020-05-27 2020-11-18 서버 및 그의 제어 방법
KR1020210074953A KR102379049B1 (ko) 2020-11-18 2021-06-09 서버 및 그의 제어 방법
KR1020220035383A KR102456114B1 (ko) 2020-11-18 2022-03-22 서버 및 그의 제어 방법
KR1020220131627A KR102587051B1 (ko) 2020-11-18 2022-10-13 서버 및 그의 제어 방법
KR1020230131913A KR20230146496A (ko) 2020-11-18 2023-10-04 서버 및 그의 제어 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020200154914A KR102265406B1 (ko) 2020-05-27 2020-11-18 서버 및 그의 제어 방법
KR1020210074953A KR102379049B1 (ko) 2020-11-18 2021-06-09 서버 및 그의 제어 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020220131627A KR102587051B1 (ko) 2020-11-18 2022-10-13 서버 및 그의 제어 방법
KR1020230131913A KR20230146496A (ko) 2020-11-18 2023-10-04 서버 및 그의 제어 방법

Country Status (1)

Country Link
KR (5) KR102265406B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080103780A1 (en) * 2006-10-31 2008-05-01 Dacosta Behram Mario Speech recognition for internet video search and navigation
KR20120054743A (ko) * 2010-11-22 2012-05-31 엘지전자 주식회사 멀티미디어 장치에서 음성과 제스쳐를 이용한 제어 방법 및 그에 따른 멀티미디어 장치
KR20120060692A (ko) * 2010-12-02 2012-06-12 삼성전자주식회사 디스플레이장치 및 컨텐츠 검색방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201923B2 (en) * 2005-10-04 2015-12-01 Robert Bosch Corporation Method and apparatus for organizing and optimizing content in dialog systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080103780A1 (en) * 2006-10-31 2008-05-01 Dacosta Behram Mario Speech recognition for internet video search and navigation
KR20120054743A (ko) * 2010-11-22 2012-05-31 엘지전자 주식회사 멀티미디어 장치에서 음성과 제스쳐를 이용한 제어 방법 및 그에 따른 멀티미디어 장치
KR20120060692A (ko) * 2010-12-02 2012-06-12 삼성전자주식회사 디스플레이장치 및 컨텐츠 검색방법

Also Published As

Publication number Publication date
KR20230146496A (ko) 2023-10-19
KR20200133697A (ko) 2020-11-30
KR102587051B1 (ko) 2023-10-10
KR20210071924A (ko) 2021-06-16
KR102379049B1 (ko) 2022-03-28
KR102265406B1 (ko) 2021-06-16
KR102456114B1 (ko) 2022-10-19
KR20220145302A (ko) 2022-10-28

Similar Documents

Publication Publication Date Title
US11700409B2 (en) Server and method for controlling server
EP2752846A1 (en) Dialogue-type interface apparatus and method for controlling the same
KR101309794B1 (ko) 디스플레이 장치, 디스플레이 장치의 제어 방법 및 대화형 시스템
US20140195244A1 (en) Display apparatus and method of controlling display apparatus
US20140195230A1 (en) Display apparatus and method for controlling the same
JP2014132756A (ja) ディスプレイ装置及びその制御方法
KR102379049B1 (ko) 서버 및 그의 제어 방법
KR102182689B1 (ko) 서버 및 그의 제어 방법
KR102118195B1 (ko) 서버 및 그의 제어 방법
KR102091006B1 (ko) 디스플레이 장치 및 그의 제어 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right