KR102430625B1 - 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법 - Google Patents

자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102430625B1
KR102430625B1 KR1020187018501A KR20187018501A KR102430625B1 KR 102430625 B1 KR102430625 B1 KR 102430625B1 KR 1020187018501 A KR1020187018501 A KR 1020187018501A KR 20187018501 A KR20187018501 A KR 20187018501A KR 102430625 B1 KR102430625 B1 KR 102430625B1
Authority
KR
South Korea
Prior art keywords
user
query
response
delete delete
media guidance
Prior art date
Application number
KR1020187018501A
Other languages
English (en)
Other versions
KR20190034490A (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 로비 가이드스, 인크.
Publication of KR20190034490A publication Critical patent/KR20190034490A/ko
Application granted granted Critical
Publication of KR102430625B1 publication Critical patent/KR102430625B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • User Interface Of Digital Computer (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

질문들 및 대답들을 사용하여 자연어 질의에 대한 실행 경로를 결정하고, 질문들 및 대답들 내의 엔티티들 및 사용자의 피드백에 기초하여 지식 그래프에서 경로를 선택함으로써 종래의 대화 시스템들의 단점들을 해결하는 시스템들 및 방법들이 설명된다. 일부 양태들에서, 설명된 시스템들 및 방법들은 상호작용 미디어 안내 애플리케이션에 제시되는 자연어 질의에 대한 실행 경로를 결정하는 것을 제공한다. 상호작용 미디어 안내 애플리케이션은 사용자로부터 입력 엔티티 및 미지의 용어를 포함하는 질의를 수신한다. 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 질의에 대한 복수의 가능한 응답을 검색한다. 상호작용 미디어 안내 애플리케이션은 사용자로부터의 피드백에 기초하여 복수의 가능한 응답 중 올바른 응답을 결정한다. 상호작용 미디어 안내 애플리케이션은 올바른 응답에 기초하여 질의에 대한 실행 경로를 선택한다.

Description

자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법
종래의 시스템들에서, 사용자들은 텔레비전 프로그램들 및 스포츠 스코어들과 같은 다양한 미디어 및 정보에 액세스한다. 종종 사용자는 핸즈프리 인터페이스를 사용하여, 예를 들어 음성 제어를 사용하여 정보를 서치하기를 원할 수 있다. 종래의 시스템들은 사용자가 음성 커맨드를 사용하여 서치를 수행하는 것을 가능하게 할 수 있다. 그러나 일부 시스템들은 고정된 수의 서치 질의만을 인식하는데, 이는 입력 음성 서치들이 고정 질의들 자체에 직접 매칭되기 때문이다. 다른 시스템들은 미리 지정된 규칙들 또는 모델들을 사용하여 사용자 질의에서 지정된 엔티티들에 관한 사용자의 의도를 결정하려고 시도한다. 그러나 이러한 사용자 경험은 통상적인 사용자에게는 성가시고 비직관적일 수 있다.
발명의 요약
질문들 및 대답들을 사용하여 자연어 질의에 대한 실행 경로를 결정하고, 질문들 및 대답들 내의 엔티티들 및 사용자의 피드백에 기초하여 지식 그래프에서 경로를 선택함으로써 종래의 대화 시스템들의 단점들을 해결하는 시스템들 및 방법들이 설명된다. 시스템들 및 방법들은 사용자 디바이스, 원격 서버 또는 다른 적절한 디바이스 상에서 실행되는 상호작용 미디어 안내 애플리케이션을 통해 구현될 수 있다. 상호작용 미디어 안내 애플리케이션의 일부 부분들이 하나의 디바이스 상에서 실행되는 반면에 상호작용 미디어 안내 애플리케이션의 다른 부분들이 다른 디바이스 상에서 실행되도록, 상호작용 미디어 안내 애플리케이션이 다수의 디바이스 상에 부분적으로 구현될 수 있다.
일부 양태들에서, 설명된 시스템들 및 방법들은 상호작용 미디어 안내 애플리케이션에 제시된 자연어 질의에 대한 실행 경로를 결정하는 것을 제공한다. 상호작용 미디어 안내 애플리케이션은 사용자로부터 입력 엔티티 및 미지의 용어를 포함하는 질의를 수신한다. 예를 들어 "누가 Titanic을 감독했나요(Who directed Titanic)"라는 질의는 입력 엔티티 "The Titanic" 및 미등록 용어"감독했나요(directed)"를 포함할 수 있다. 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 질의에 대한 복수의 가능한 응답을 검색한다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 "Leonardo DiCaprio", "Kate Winslet" 및 "James Cameron"을 포함하는 입력 엔티티와 그래프 연결을 갖는 엔티티들에 기초하여 가능한 응답들을 검색할 수 있다.
상호작용 미디어 안내 애플리케이션은 사용자로부터의 피드백에 기초하여 복수의 가능한 응답 중 올바른 응답을 결정한다. 예를 들어, 사용자에게 가능한 응답들이 제시되고, 사용자는 올바른 응답, 즉 "James Cameron"을 선택한다. 상호작용 미디어 안내 애플리케이션은 올바른 응답에 기초하여 질의에 대한 실행 경로를 선택한다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 질의에 대한 실행 경로를 입력 엔티티로부터 올바른 응답까지의 감독 에지(director edge)로서 선택한다. 이러한 학습은 "누가 Batman을 감독했나요"와 같은 유사한 형태의 임의의 질의에 대답하도록 일반화될 수 있다.
일부 실시예들에서, 사용자는 질의에 대한 가능한 응답들에 대한 부분적인, 잘못된 또는 모호한 피드백을 제공한다. 상호작용 미디어 안내 애플리케이션은 동일하거나 유사한 질의를 다수의 사용자에게 제시하고, 가장 가능성 있는 실행 경로를 선택할 수 있다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 세 명의 다른 사용자에게 질의를 제시하거나 상이한 시간들에 동일한 사용자에게 세 번 질의를 제시할 수 있다. 사용자가 선택한 응답들 중 2개는 입력 엔티티로부터 올바른 응답까지의 감독 에지를 질의에 대한 실행 경로로서 나타낼 수 있다. 상호작용 미디어 안내 애플리케이션은 입력 엔티티로부터 올바른 응답까지의 감독 에지를 실행 경로로서 선택할 수 있는데, 이는 이것이 가장 가능성 있는 옵션이기 때문이다.
일부 양태들에서, 설명된 시스템들 및 방법들은 상호작용 미디어 안내 애플리케이션에 제시되는 자연어 질의에 대한 실행 경로를 결정하는 것을 제공한다. 상호작용 미디어 안내 애플리케이션은 사용자로부터 입력 엔티티 및 미지의 용어를 포함하는 질의를 수신한다. 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 질의에 대한 제1 가능한 응답 및 제2 가능한 응답을 검색한다. 제1 가능한 응답은 질의에 대한 제1 실행 경로를 통해 도출되고, 제2 가능한 응답은 질의에 대한 제2 실행 경로를 통해 도출된다. 상호작용 미디어 안내 애플리케이션은 표시를 위해 제1 가능한 응답 및 제2 가능한 응답 중 적어도 하나를 포함하는 상호작용 미디어 안내 스크린을 생성한다. 상호작용 미디어 안내 애플리케이션은 사용자로부터 제1 가능한 응답 및 제2 가능한 응답 중 적어도 하나에 대한 피드백을 나타내는 입력을 수신한다. 상호작용 미디어 안내 애플리케이션은 피드백에 기초하여 질의에 대한 올바른 응답을 결정한다. 상호작용 미디어 안내 애플리케이션은 올바른 응답에 기초하여 질의에 대한 제1 실행 경로 및 제2 실행 경로 중 하나를 선택한다.
예를 들어, 상호작용 미디어 안내 애플리케이션은 입력 엔티티 "Morgan Freeman" 및 "Academy Award" 및 미등록 용어"수상했나요(win)"를 포함하는 질의 "Morgan Freeman이 어떤 영화에서 Academy Award를 수상했나요(For which movie did Morgan Freeman win an Academy Award)"를 수신할 수 있다. 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 가능한 응답들의 2개의 세트, 즉 Morgan Freeman이 아카데미 상 후보였던 영화들(예를 들어, "Shawshank Redemption", "Invictus", "Driving Miss Daisy" 및 "Million Dollar Baby")에 대응하는 제1 세트 및 Morgan Freeman이 아카데미 상 수상자였던 영화(예를 들어, "Million Dollar Baby")에 대응하는 제2 세트를 검색할 수 있다. 상호작용 미디어 안내 애플리케이션은 표시를 위해 가능한 응답들의 세트들을 포함하는 상호작용 미디어 안내 스크린을 생성할 수 있다. 추가로 또는 대안으로, 상호작용 미디어 안내 애플리케이션은 자연어 회화 "Shawshank Redemption을 말하시나요"를 사용하여 응답할 수 있다.
상호작용 미디어 안내 애플리케이션은 Million Dollar Baby가 올바른 응답이라는 피드백을 나타내는 입력을 사용자로부터 수신할 수 있다. 대안으로 또는 추가로, 상호작용 미디어 안내 애플리케이션은 Shawshank Redemption이 올바른 응답이 아니라는 피드백을 나타내는 입력을 사용자로부터 수신할 수 있다. 상호작용 미디어 안내 애플리케이션은 피드백에 기초하여 질의에 대한 올바른 응답을 결정할 수 있다. 상호작용 미디어 안내 애플리케이션은 올바른 응답인 Million Dollar Baby에 기초하여 이 질의에 대한 실행 경로를 선택할 수 있다. 이러한 방식으로, 상호작용 미디어 안내 애플리케이션은 올바른 응답을 검색하기 위해 지식 그래프를 탐색하는 것과 관련하여 유사한 형태를 갖는 이러한 질의 및/또는 질의들을 평가하는 방법을 학습할 수 있다.
일부 실시예들에서, 제1 가능한 응답은 입력 엔티티로부터 제1 가능한 응답까지의 지식 그래프 내의 하나 이상의 노드를 탐색함으로써 제1 실행 경로를 통해 도출된다. 예를 들어, 제1 가능한 응답 "Shawshank Redemption"은 입력 엔티티로부터 올바른 응답까지의 후보 에지를 탐색함으로써 제1 실행 경로를 통해 도출될 수 있다.
일부 실시예들에서, 제2 가능한 응답은 입력 엔티티로부터 제2 가능한 응답까지의 지식 그래프 내의 하나 이상의 노드를 탐색함으로써 제2 실행 경로를 통해 도출된다. 예를 들어, 제2 가능한 응답 "Million Dollar Baby"는 입력 엔티티로부터 올바른 응답까지의 수상자 에지를 탐색함으로써 제2 실행 경로를 통해 도출될 수 있다.
일부 실시예들에서, 피드백을 나타내는 사용자로부터의 입력은 상호작용 미디어 안내 스크린으로부터의 제1 가능한 응답 및 제2 가능한 응답 중 하나의 선택을 포함한다. 예를 들어, 사용자로부터의 입력은 가능한 응답들의 제1 및 제2 세트를 표시하는 상호작용 미디어 안내 스크린으로부터의 "Million Dollar Baby"의 선택을 나타낼 수 있다.
일부 실시예들에서, 상호작용 미디어 안내 애플리케이션은 제1 가능한 응답 및 제2 가능한 응답 중 하나의 사용자 선택을 올바른 응답으로 할당함으로써 질의에 대한 올바른 응답을 결정한다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 "Million Dollar Baby"의 사용자 선택을 올바른 응답으로 할당할 수 있다.
일부 실시예들에서, 피드백을 나타내는 사용자로부터의 입력은 제1 가능한 응답이 올바르다는 지시 및 제1 가능한 응답이 올바르지 않다는 지시 중 하나를 포함한다. 예를 들어, "Shawshank Redemption을 말하시나요"에 응답하여, 사용자로부터의 입력은 Shawshank Redemption이 잘못된 응답이라는 피드백을 나타낼 수 있다.
일부 실시예들에서, 상호작용 미디어 안내 애플리케이션은 피드백이 제1 가능한 응답이 올바르다는 지시를 포함하는 경우에 제1 응답을 올바른 응답으로 할당하고, 피드백이 제1 가능한 응답이 올바르지 않다는 지시를 포함하는 경우에 제2 응답을 올바른 응답으로 할당함으로써 질의에 대한 올바른 응답을 결정한다. 예를 들어, "Shawshank Redemption을 말하시나요"에 응답하여 그리고 다른 가능한 응답이 "Million Dollar Baby"인 경우, 상호작용 미디어 안내 애플리케이션은 Million Dollar Baby를 올바른 응답으로 할당할 수 있는데, 이는 사용자로부터의 피드백이 Shawshank Redemption이 잘못된 응답이라는 지시를 포함하기 때문이다.
일부 실시예들에서, 질의는 제1 질의로서 참조되고, 입력 엔티티는 제1 입력 엔티티로서 참조되고, 올바른 응답은 제1 올바른 응답으로 참조된다. 상호작용 미디어 안내 애플리케이션은 사용자로부터 제1 질의와 형태가 유사하고 제2 입력 엔티티 및 미지의 용어를 포함하는 제2 질의를 수신한다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 질의 "Matthew McConaughey이 어떤 영화에서 Academy Award를 수상했나요"를 수신할 수 있다. 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 제1 질의에 대한 선택된 실행 경로에 기초하여 제2 질의에 대한 제2 올바른 응답을 검색한다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터, 선택된 실행 경로에 기초하여 올바른 응답 "Dallas Buyers Club"을 검색할 수 있다.
일부 실시예들에서, 선택된 실행 경로는 입력 엔티티로부터 올바른 응답까지의 지식 그래프 내의 하나 이상의 노드의 탐색을 포함한다. 예를 들어, 선택된 실행 경로는 입력 엔티티로부터 올바른 응답까지의 수상자 에지를 탐색하는 것을 포함할 수 있다.
일부 실시예들에서, 상호작용 미디어 안내 애플리케이션은 제2 입력 엔티티로부터 제2 올바른 응답까지의 지식 그래프 내의 하나 이상의 노드들을 탐색함으로써 제1 질의에 대한 선택된 실행 경로에 기초하여 제2 질의에 대한 제2 올바른 응답을 검색한다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 입력 엔티티로부터 올바른 응답까지의 수상자 에지를 탐색함으로써 선택된 실행 경로에 기초하여 올바른 응답 "Dallas Buyers Club"을 검색할 수 있다.
일부 종래의 시스템들은 고정된 수의 서치 질의만을 인식하는데, 이는 입력 음성 서치들이 고정된 질의들 자체에 직접 매칭되기 때문이다. 다른 종래의 시스템들은 미리 지정된 규칙들 또는 모델들을 사용하여 사용자의 질의에서 지정된 엔티티들에 관한 사용자의 의도를 결정하려고 시도한다. 그러나 이러한 사용자 경험은 통상적인 사용자에게는 성가시고 비직관적일 수 있다. 설명된 시스템들 및 방법들은 질문들 및 대답들을 사용하여 자연어 질의에 대한 실행 경로를 결정하고, 질문들 및 대답들 내의 엔티티들 및 사용자의 피드백에 기초하여 지식 그래프에서 경로를 선택함으로써 종래의 대화 시스템들의 단점들을 해결한다. 종래의 시스템들과 달리, 설명된 시스템들 및 방법들은 질의의 의도를 결정할 필요가 없다. 대신, 시스템들 및 방법들은 "누가 Titanic을 감독했나요"와 같은 질의에 대한 실행 경로를 일반화하고 학습하여, "누가 Batman을 감독했나요"와 같은 유사한 형태의 임의의 질의에 대답한다. 이러한 방식으로, 시스템들 및 방법들은 올바른 응답을 검색하기 위해 지식 그래프를 탐색하는 것과 관련하여 유사한 형태를 갖는 이러한 질의 및/또는 질의들을 평가하는 방법을 학습할 수 있다.
전술한 시스템들, 방법들, 장치들 및/또는 양태들은 본 개시에서 설명되는 다른 시스템들, 방법들, 장치들 및/또는 양태들에 적용될 수 있거나 그들에 따라 사용될 수 있다는 점에 유의해야 한다.
본 개시의 상기 및 다른 목적들 및 이점들은 첨부된 도면들과 관련하여 이루어지는 다음의 상세한 설명을 고려할 때 명백할 것이며, 도면들 전반에서 동일한 참조 부호들은 동일한 요소들을 나타낸다.
도 1은 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 의해 생성된 디스플레이 스크린의 예시적인 예를 도시한다.
도 2는 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 의해 생성된 디스플레이 스크린의 다른 예시적인 예를 도시한다.
도 3은 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 의해 생성된 디스플레이 스크린의 또 다른 예시적인 예를 도시한다.
도 4는 본 개시의 일부 실시예들에 따른 지식 그래프의 서브세트의 예시적인 시각적 표현을 도시한다.
도 5는 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 의해 생성된 디스플레이 스크린의 또 다른 예시적인 예를 도시한다.
도 6은 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 의해 생성된 디스플레이 스크린의 또 다른 예시적인 예를 도시한다.
도 7은 본 개시의 일부 실시예들에 따른 예시적인 사용자 장비 디바이스의 블록도이다.
도 8은 본 개시의 일부 실시예들에 따른 예시적인 미디어 시스템의 블록도이다.
도 9는 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 제시되는 자연어 질의에 대한 실행 경로를 결정하기 위한 예시적인 프로세스의 흐름도이다.
도 10은 본 개시의 일부 실시예들에 따른 사용자로부터의 피드백에 따라 사용자 질의에 대한 올바른 응답을 결정하기 위한 예시적인 프로세스의 흐름도이다.
질문들 및 대답들을 사용하여 자연어 질의에 대한 실행 경로를 결정하고, 질문들 및 대답들 내의 엔티티들 및 사용자의 피드백에 기초하여 지식 그래프에서 경로를 선택함으로써 종래의 대화 시스템들의 단점들을 해결하는 시스템들 및 방법들이 설명된다. 시스템들 및 방법들은 사용자 디바이스(예를 들어, 도 7의 사용자 장비 디바이스(700)), 원격 서버(예를 들어, 도 8의 서버(816 또는 818)) 또는 다른 적절한 디바이스 상에서 실행되는 상호작용 미디어 안내 애플리케이션을 통해 구현될 수 있다. 상호작용 미디어 안내 애플리케이션의 일부 부분들이 하나의 디바이스 상에서 실행되는 반면에 상호작용 미디어 안내 애플리케이션의 다른 부분들이 다른 디바이스 상에서 실행되도록, 상호작용 미디어 안내 애플리케이션이 다수의 디바이스 상에 부분적으로 구현될 수 있다.
일부 양태들에서, 설명된 시스템들 및 방법들은 제어 회로(예를 들어, 도 7의 제어 회로(704)) 상에서 실행되는 상호작용 미디어 안내 애플리케이션에 제시된 자연어 질의에 대한 실행 경로를 결정하는 것을 제공한다. 제어 회로는 사용자로부터 입력 엔티티 및 미지의 용어를 포함하는 질의를 수신한다. 예를 들어 "누가 Titanic를 감독했나요"라는 질의는 입력 엔티티 "The Titanic" 및 미등록 용어"감독했나요"를 포함할 수 있다. 제어 회로는 지식 그래프로부터 질의에 대한 복수의 가능한 응답을 검색한다. 예를 들어, 제어 회로는 "Leonardo DiCaprio", "Kate Winslet" 및 "James Cameron"을 포함하는 입력 엔티티와 그래프 연결을 갖는 엔티티들에 기초하여 가능한 응답들을 검색할 수 있다.
제어 회로는 사용자로부터의 피드백에 기초하여 복수의 가능한 응답 중 올바른 응답을 결정한다. 예를 들어, 사용자에게 가능한 응답들이 제시되고, 사용자는 올바른 응답, 즉 "James Cameron"을 선택한다. 제어 회로는 올바른 응답에 기초하여 질의에 대한 실행 경로를 선택한다. 예를 들어, 제어 회로는 질의에 대한 실행 경로를 입력 엔티티로부터 올바른 응답까지의 감독 에지로서 선택한다. 이러한 학습은 "누가 Batman을 감독했나요"와 같은 유사한 형태의 임의의 질의에 대답하도록 일반화될 수 있다.
일부 실시예들에서, 사용자는 질의에 대한 가능한 응답들에 대한 부분적인, 잘못된 또는 모호한 피드백을 제공한다. 제어 회로는 동일하거나 유사한 질의를 다수의 사용자에게 제시하고, 가장 가능성 있는 실행 경로를 선택할 수 있다. 예를 들어, 제어 회로는 세 명의 다른 사용자에게 질의를 제시하거나 상이한 시간들에 동일한 사용자에게 세 번 질의를 제시할 수 있다. 사용자가 선택한 응답들 중 2개는 입력 엔티티로부터 올바른 응답까지의 감독 에지를 질의에 대한 실행 경로로서 나타낼 수 있다. 제어 회로는 입력 엔티티로부터 올바른 응답까지의 감독 에지를 실행 경로로서 선택할 수 있는데, 이는 이것이 가장 가능성 있는 옵션이기 때문이다.
일부 종래의 시스템들은 고정된 수의 서치 질의만을 인식하는데, 이는 입력 음성 서치들이 고정된 질의들 자체에 직접 매칭되기 때문이다. 다른 종래의 시스템들은 미리 지정된 규칙들 또는 모델들을 사용하여 사용자의 질의에서 지정된 엔티티들에 관한 사용자의 의도를 결정하려고 시도한다. 그러나 이러한 사용자 경험은 통상적인 사용자에게는 성가시고 비직관적일 수 있다. 설명된 시스템들 및 방법들은 질문들 및 대답들을 사용하여 자연어 질의에 대한 실행 경로를 결정하고, 질문들 및 대답들 내의 엔티티들 및 사용자의 피드백에 기초하여 지식 그래프에서 경로를 선택함으로써 종래의 대화 시스템들의 단점들을 해결한다. 종래의 시스템들과 달리, 설명된 시스템들 및 방법들은 질의의 의도를 결정할 필요가 없다. 대신, 시스템들 및 방법들은 "누가 Titanic을 감독했나요"와 같은 질의에 대한 실행 경로를 일반화하고 학습하여, "누가 Batman을 감독했나요"과 같은 유사한 형태의 임의의 질의에 대답한다. 이러한 방식으로, 시스템들 및 방법들은 올바른 응답을 검색하기 위해 지식 그래프를 탐색하는 것과 관련하여 유사한 형태를 갖는 이러한 질의 및/또는 질의들을 평가하는 방법을 학습할 수 있다.
도 1은 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 의해 생성된 디스플레이 스크린(100)의 예시적인 예를 도시한다. 상호작용 미디어 안내 애플리케이션은 입력 엔티티 "Morgan Freeman" 및 "Academy Award"를 포함하는 질의(102) "Morgan Freeman이 어떤 영화에서 Academy Award를 수상했나요"를 수신할 수 있다. 이 예에서, 상호작용 미디어 안내 애플리케이션은 이전에 유사한 질의에 대해 훈련되었으며, 지식 그래프로부터 검색하고, 표시를 위해 올바른 응답(104) "Million Dollar Baby"를 생성한다. 상호작용 미디어 안내 애플리케이션은 사용자로부터 유사한 질의에 대해 이전에 훈련된 것과 형태가 유사하고 입력 엔티티 및 미지의 용어를 포함하는 질의(102)를 수신할 수 있다. 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 이전에 유사한 질의에 대해 훈련된 것에 대한 선택된 실행 경로에 기초하여 질의(102)에 대한 올바른 응답을 검색할 수 있다. 상호작용 미디어 안내 애플리케이션은 선택된 실행 경로에 기초하여 올바른 응답(104) "Million Dollar Baby"를 지식 그래프로부터 검색할 수 있다.
도 2는 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 의해 생성된 디스플레이 스크린(200)의 또 다른 예시적인 실시예를 도시한다. 상호작용 미디어 안내 애플리케이션은 입력 엔티티 "Morgan Freeman" 및 "Academy Award"를 포함하는 질의(202) "Morgan Freeman이 어떤 영화에서 Academy Award를 수상했나요"를 수신할 수 있다. 이 예에서, 상호작용 미디어 안내 애플리케이션은 유사한 질의에 대해 아직 훈련되지 않았다. 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 질의에 대한 제1 가능한 응답 및 제2 가능한 응답을 검색할 수 있다. 제1 가능한 응답은 질의에 대한 제1 실행 경로를 통해 도출되고, 제2 가능한 응답은 질의에 대한 제2 실행 경로를 통해 도출된다(아래에서 도 4와 관련하여 더 설명됨). 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 가능한 응답들의 2개의 세트, 즉 Morgan Freeman이 아카데미 상 후보였던 영화들(예를 들어, "Shawshank Redemption", "Invictus", "Driving Miss Daisy" 및 "Million Dollar Baby")에 대응하는 제1 세트 및 Morgan Freeman이 아카데미 상 수상자였던 영화(예를 들어, "Million Dollar Baby")에 대응하는 제2 세트를 검색할 수 있다.
상호작용 미디어 안내 애플리케이션은 표시를 위해 가능한 응답들(204) 중 하나, 예를 들어 "Million Dollar Baby"를 포함하는 상호작용 미디어 안내 스크린을 생성할 수 있다. 추가로 또는 대안으로, 상호작용 미디어 안내 애플리케이션은 자연어 회화 "Million Dollar Baby를 말하시나요"을 사용하여 응답할 수 있다. 상호작용 미디어 안내 애플리케이션은 Million Dollar Baby가 올바른 응답이라는 피드백을 나타내는 입력을 사용자로부터 수신할 수 있다. 상호작용 미디어 안내 애플리케이션은 피드백에 기초하여 질의에 대한 올바른 응답을 결정할 수 있다. 상호작용 미디어 안내 애플리케이션은 올바른 응답에 대응하는 질의에 대한 실행 경로를 선택할 수 있다. 이러한 방식으로, 상호작용 미디어 안내 애플리케이션은 올바른 응답을 검색하기 위해 지식 그래프를 탐색하는 것과 관련하여 유사한 형태를 갖는 이러한 질의 및/또는 질의들을 평가하는 방법을 학습할 수 있다.
일부 실시예들에서, 피드백을 나타내는 사용자로부터의 입력은 제1 가능한 응답이 올바르다는 지시 및 제1 가능한 응답이 올바르지 않다는 지시 중 하나를 포함한다. 예를 들어, "Shawshank Redemption을 말하시나요"에 응답하여, 사용자로부터의 입력은 Shawshank Redemption이 잘못된 응답이라는 피드백을 나타낼 수 있다.
일부 실시예들에서, 상호작용 미디어 안내 애플리케이션은 피드백이 제1 가능한 응답이 올바르다는 지시를 포함하는 경우에 제1 응답을 올바른 응답으로 할당하고, 피드백이 제1 가능한 응답이 올바르지 않다는 지시를 포함하는 경우에 제2 응답을 올바른 응답으로 할당함으로써 질의에 대한 올바른 응답을 결정한다. 예를 들어, "Shawshank Redemption을 말하시나요"에 응답하여 그리고 다른 가능한 응답이 "Million Dollar Baby"인 경우, 상호작용 미디어 안내 애플리케이션은 Million Dollar Baby를 올바른 응답으로 할당할 수 있는데, 이는 사용자로부터의 피드백이 Shawshank Redemption이 잘못된 응답이라는 지시를 포함하기 때문이다.
도 3은 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 의해 생성된 디스플레이 스크린(300)의 다른 예시적인 예를 도시한다. 상호작용 미디어 안내 애플리케이션은 입력 엔티티 "Morgan Freeman" 및 "Academy Award"를 포함하는 질의(302) "Morgan Freeman이 어떤 영화에서 Academy Award를 수상했나요"를 수신할 수 있다. 이 예에서, 상호작용 미디어 안내 애플리케이션은 유사한 질의에 대해 아직 훈련되지 않았다. 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 질의에 대한 제1 가능한 응답 및 제2 가능한 응답을 검색할 수 있다. 제1 가능한 응답은 질의에 대한 제1 실행 경로를 통해 도출되고, 제2 가능한 응답은 질의에 대한 제2 실행 경로를 통해 도출된다(아래에서 도 4와 관련하여 더 설명됨). 상호작용 미디어 안내 애플리케이션은 지식 그래프로부터 가능한 응답들의 2개의 세트, 즉 Morgan Freeman이 아카데미 상 후보였던 영화들(예를 들어, "Shawshank Redemption", "Invictus", "Driving Miss Daisy" 및 "Million Dollar Baby")에 대응하는 제1 세트 및 Morgan Freeman이 아카데미 상 수상자였던 영화(예를 들어, "Million Dollar Baby")에 대응하는 제2 세트를 검색할 수 있다.
상호작용 미디어 안내 애플리케이션은 표시를 위해 가능한 응답들(304 및 306)을 포함하는 상호작용 미디어 안내 스크린을 생성할 수 있다. 상호작용 미디어 안내 애플리케이션은 사용자로부터 가능한 응답들에 대한 피드백을 나타내는 입력을 수신할 수 있다. 피드백을 나타내는 사용자로부터의 입력은 상호작용 미디어 안내 스크린으로부터의 제1 가능한 응답 및 제2 가능한 응답 중 하나의 선택을 포함할 수 있다. 사용자는 옵션(308)을 통해 자신의 선택을 확인하거나 옵션(310)을 통해 자신의 선택을 취소할 수 있다. 예를 들어, 사용자로부터의 입력은 제1 및 제2 가능한 응답들을 표시하는 상호작용 미디어 안내 스크린으로부터의 "Million Dollar Baby"의 선택을 나타낼 수 있다. 상호작용 미디어 안내 애플리케이션은 피드백에 기초하여 질의에 대한 올바른 응답을 결정할 수 있다. 상호작용 미디어 안내 애플리케이션은 가능한 응답들 중 하나의 사용자 선택을 올바른 응답으로 할당함으로써 질의에 대한 올바른 응답을 결정할 수 있다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 "Million Dollar Baby"의 사용자 선택을 올바른 응답으로 할당할 수 있다. 상호작용 미디어 안내 애플리케이션은 올바른 응답에 대응하는 질의에 대한 실행 경로를 선택할 수 있다.
도 4는 본 개시의 일부 실시예들에 따른 노드들(402-416)을 포함하는 지식 그래프(400)의 서브세트의 예시적인 시각적 표현을 도시한다. 사용자 질의에 대한 하나 이상의 가능한 응답은 입력 엔티티로부터 제1 가능한 응답까지의 지식 그래프 내의 노드들(402-416) 중 하나 이상을 탐색함으로써 실행 경로들을 통해 도출된다. 도 1 내지 도 3과 관련하여 논의된 예시적인 질의 "Morgan Freeman이 어떤 영화에서 Academy Award를 수상했나요"를 취하면, 제1 가능한 응답 "Shawshank Redemption"은 입력 엔티티 "Morgan Freeman"(404)으로부터 가능한 응답 "Shawshank Redemption"까지의 후보 에지를 중간 노드(410)를 통해 탐색함으로써 실행 경로를 통해 도출될 수 있다. 유사하게, 제2 가능한 응답 "Million Dollar Baby"은 입력 엔티티 "Morgan Freeman"(404)으로부터 가능한 응답 "Million Dollar Baby"까지의 수상자 에지를 중간 노드(402)를 통해 탐색함으로써 실행 경로를 통해 도출될 수 있다. 질의에 대한 올바른 응답에 대응하는 선택된 실행 경로는 입력 엔티티로부터 올바른 응답까지의 지식 그래프 내의 노드들(412-416) 중 하나 이상의 탐색을 포함할 수 있다. 예를 들어, 선택된 실행 경로는 입력 엔티티로부터 올바른 응답까지의 수상자 에지를 탐색하는 것을 포함할 수 있다.
일부 실시예들에서, 자연어 질의 "Morgan Freeman이 어떤 영화에서 Academy Award를 수상했나요"는 SPARQL 질의로서 표현될 수 있다. SPARQL(SPARQL 프로토콜 및 RDF 질의 언어의 반복 약성어)은 데이터베이스들에 대한 의미론적 질의 언어인 RDF(Resource Description Framework) 질의 언어이다. SPARQL은 RDF 포맷으로 저장된 데이터를 검색하고 조작할 수 있다. 추가적인 정보가 SPARQL 웹사이트 www.w3.org/TR/sparql11-query에서 더 상세하게 설명되며, 이에 따라 그 전체가 본 명세서에 참고로 통합된다.
이 예시적인 예에서는, 가능한 응답들의 2개의 명령어들 가능성 1(Million Dollar Baby) 및 가능성 2(Shawshank Redemption, Driving Miss Daisy, Invictus, Million Dollar Baby)가 있다. 가능한 응답들의 각각의 세트에 대한 SPARQL 질의는 가능한 응답들의 세트에 대응하는 실행 경로를 나타낼 수 있다. 가능한 대답들의 각각의 세트에 대한 SPARQL 질의들은 다음과 같이 표현될 수 있다.
가능성 1: Million Dollar Baby
Figure 112018063758383-pct00001
가능성 2: Shawshank Redemption, Driving Miss Daisy, Invictus , Million Dollar Baby
Figure 112018063758383-pct00002
예를 들어, 도 3에서, 상호작용 미디어 안내 스크린으로부터의 "Million Dollar Baby"의 선택을 나타내는 사용자로부터의 입력에 이어서, 상호작용 미디어 안내 애플리케이션은 질의에 대한 올바른 응답을 "Million Dollar Baby"로 결정할 수 있다. 상호작용 미디어 안내 애플리케이션은 올바른 응답 "Million Dollar Baby"에 대응하는 SPARQL 질의를 선택함으로써 올바른 응답에 대응하는 질의에 대한 실행 경로를 선택할 수 있다.
임의의 주어진 콘텐츠 전달 시스템에서 사용자들에게 이용 가능한 콘텐츠의 양은 상당할 수 있다. 결과적으로, 많은 사용자는 사용자들이 콘텐츠 선택들을 효율적으로 내비게이트하고 그들이 원할 수 있는 콘텐츠를 쉽게 식별할 수 있게 하는 인터페이스를 통한 미디어 안내의 형태를 원한다. 그러한 안내를 제공하는 애플리케이션은 본 설명서에서 상호작용 미디어 안내 애플리케이션 또는 때때로 상호작용 미디어 안내 애플리케이션 또는 안내 애플리케이션으로 지칭된다.
상호작용 미디어 안내 애플리케이션들은 이들이 안내를 제공하는 콘텐츠에 따라 다양한 형태들을 취할 수 있다. 상호작용 미디어 안내 애플리케이션의 통상적인 하나의 타입은 상호작용 텔레비전 프로그램 안내이다. 상호작용 텔레비전 프로그램 안내들(때때로 전자 프로그램 안내들로 지칭됨)은 특히 사용자들이 많은 타입의 콘텐츠 또는 미디어 자산들을 내비게이트하고 찾을 수 있게 하는 공지된 안내 애플리케이션들이다. 상호작용 미디어 안내 애플리케이션들은 사용자가 콘텐츠를 내비게이트하고 찾고 선택할 수 있게 하는 그래픽 사용자 인터페이스 스크린들을 생성할 수 있다. 본 명세서에 언급되는 바와 같이, "미디어 자산" 및 "콘텐츠"라는 용어는 텔레비전 프로그래밍은 물론, 유료 시청(pay-per-view) 프로그램들, (주문형 비디오(VOD) 시스템들에서와 같은) 주문형(on-demand) 프로그램들, 인터넷 콘텐츠(예를 들어, 스트리밍 콘텐츠, 다운로드 가능한 콘텐츠, 웹 캐스트들 등), 비디오 클립들, 오디오, 콘텐츠 정보, 그림들, 회전 이미지들, 문서들, 재생 리스트들, 웹 사이트들, 기사들, 서적들, 전자 서적들, 블로그들, 채팅 세션들, 소셜 미디어, 애플리케이션들, 게임들 및/또는 임의의 다른 미디어 멀티미디어 및/또는 이들의 조합과 같은 전자적으로 소비 가능한 사용자 자산을 의미하는 것으로 이해되어야 한다. 안내 애플리케이션들은 또한 사용자들이 콘텐츠를 내비게이트하고 찾을 수 있게 한다. 본 명세서에 언급되는 바와 같이, "멀티미디어"라는 용어는 전술한 적어도 2개의 상이한 콘텐츠 형태, 예를 들어 텍스트, 오디오, 이미지들, 비디오 또는 상호작용 콘텐츠 형태들을 이용하는 콘텐츠를 의미하는 것으로 이해되어야 한다. 콘텐츠는 사용자 장비 디바이스들에 의해 기록, 재생, 표시 또는 액세스될 수 있지만, 라이브 공연의 일부일 수도 있다.
상호작용 미디어 안내 애플리케이션 및/또는 본 명세서에서 논의되는 실시예들 중 임의의 것을 수행하기 위한 임의의 명령어들은 컴퓨터 판독 가능 미디어 상에 인코딩될 수 있다. 컴퓨터 판독 가능 미디어는 데이터를 저장할 수 있는 임의의 미디어를 포함한다. 컴퓨터 판독 가능 미디어는 전파되는 전기 또는 전자기 신호들을 포함하지만 이에 한정되지 않는 일시적 미디어일 수 있거나, 휘발성 및 비휘발성 컴퓨터 메모리 또는 저장 디바이스들, 예를 들어 하드 디스크, 플로피 디스크, USB 드라이브, DVD, CD, 미디어 카드들, 레지스터 메모리, 프로세서 캐시들, 랜덤 액세스 메모리(RAM) 등을 포함하지만 이에 한정되지 않는 비일시적 미디어일 수 있다.
인터넷, 모바일 컴퓨팅 및 고속 무선 네트워크들의 출현과 더불어, 사용자들은 그들이 전통적으로 하지 못했던 사용자 장비 디바이스들 상의 미디어에 액세스하고 있다. 본 명세서에서 언급되는 바와 같이, "사용자 장비 디바이스", "사용자 장비", "사용자 디바이스", "전자 디바이스", "전자 장비", "미디어 장비 디바이스" 또는 "미디어 디바이스"라는 문구는 텔레비전, 스마트 TV, 셋톱 박스, 위성 텔레비전을 핸들링하기 위한 통합 수신기 디코더(IRD), 디지털 저장 디바이스, 디지털 미디어 수신기(DMR), 디지털 미디어 어댑터(DMA), 스트리밍 미디어 디바이스, DVD 플레이어, DVD 레코더, 연결형 DVD, 로컬 미디어 서버, BLU-RAY 플레이어, BLU-RAY 레코더, 퍼스널 컴퓨터(PC), 랩탑 컴퓨터, 태블릿 컴퓨터, WebTV 박스, 퍼스널 컴퓨터 텔레비전(PC/TV), PC 미디어 서버, PC 미디어 센터, 핸드헬드 컴퓨터, 고정 전화, 개인 휴대 단말기(PDA), 모바일 전화, 휴대용 비디오 플레이어, 휴대용 음악 플레이어, 휴대용 게임기, 스마트폰, 또는 임의의 다른 텔레비전 장비, 컴퓨팅 장비 또는 무선 디바이스, 및/또는 이들의 조합과 같이 전술한 콘텐츠를 액세스하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 일부 실시예들에서, 사용자 장비 디바이스는 전면 대향 스크린 및 배면 대향 스크린, 다수의 전면 스크린 또는 다수의 각진 스크린을 가질 수 있다. 일부 실시예들에서, 사용자 장비 디바이스는 전면 대향 카메라 및/또는 배면 대향 카메라를 가질 수 있다. 이러한 사용자 장비 디바이스들 상에서, 사용자들은 텔레비전을 통해 이용 가능한 동일한 콘텐츠를 내비게이트하고 찾을 수 있다. 결과적으로, 이러한 디바이스들 상에서도 미디어 안내가 이용 가능할 수 있다. 제공되는 안내는 텔레비전을 통해서만 이용 가능한 콘텐츠, 하나 이상의 다른 타입의 사용자 장비 디바이스를 통해서만 이용 가능한 콘텐츠 또는 텔레비전 및 하나 이상의 다른 타입의 사용자 장비 디바이스 양자를 통해 이용 가능한 콘텐츠에 대한 것일 수 있다. 상호작용 미디어 안내 애플리케이션들은 온라인 애플리케이션들(즉, 웹 사이트에서 제공됨)로서 또는 사용자 장비 디바이스들 상의 독립형 애플리케이션들 또는 클라이언트들로서 제공될 수 있다. 상호작용 미디어 안내 애플리케이션들을 구현할 수 있는 다양한 디바이스들 및 플랫폼들이 아래에서 더 상세하게 설명된다.
상호작용 미디어 안내 애플리케이션의 기능들 중 하나는 미디어 안내 데이터를 사용자들에게 제공하는 것이다. 본 명세서에 언급되는 바와 같이, "미디어 안내 데이터" 또는 "안내 데이터"라는 문구는 안내 애플리케이션을 동작시키는 데 사용되는 콘텐츠 또는 데이터와 관련된 임의의 데이터를 의미하는 것으로 이해되어야 한다. 예를 들어, 안내 데이터는 프로그램 정보, 안내 애플리케이션 설정들, 사용자 선호들, 사용자 프로파일 정보, 미디어 리스트들, 미디어 관련 정보(예를 들어, 방송 시간들, 방송 채널들, 제목들, 설명들, 등급 정보(예를 들어, 부모 제어 등급들, 평론가 등급들 등), 장르 또는 카테고리 정보, 배우 정보, 방송사들 또는 제공자들의 로고들에 대한 로고 데이터 등), 미디어 포맷(예를 들어, 표준 화질, 고화질, 3D 등), 주문형 정보, 블로그들, 웹 사이트들, 및 사용자가 원하는 콘텐츠 선택들을 내비게이트하고 찾는 데 도움이 되는 임의의 다른 타입의 안내 데이터를 포함할 수 있다.
도 5 및 도 6은 미디어 안내 데이터를 제공하는 데 사용될 수 있는 예시적인 디스플레이 스크린들을 도시한다. 도 5 및 도 6에 도시된 디스플레이 스크린들은 임의의 적절한 사용자 장비 디바이스 또는 플랫폼 상에 구현될 수 있다. 도 5 및 도 6의 디스플레이들은 풀 스크린 디스플레이들로서 예시되지만, 표시되는 콘텐츠 위에 완전히 또는 부분적으로 오버레이될 수도 있다. 사용자는 디스플레이 스크린 내에 제공된 선택 가능한 옵션(예를 들어, 메뉴 옵션, 리스트 옵션, 아이콘, 하이퍼링크 등)을 선택하거나 원격 제어 또는 다른 사용자 입력 인터페이스 또는 디바이스 상의 전용 버튼(예를 들어, GUIDE 버튼)을 누름으로써 콘텐츠 정보에 액세스하기 위한 소망을 지시할 수 있다. 사용자의 지시에 응답하여, 상호작용 미디어 안내 애플리케이션은 여러 가지 방식 중 하나의 방식으로, 예를 들어 그리드 내의 시간 및 채널에 의해, 시간에 의해, 채널에 의해, 소스에 의해, 콘텐츠 타입에 의해, 카테고리(예를 들어, 영화들, 스포츠, 뉴스, 어린이, 또는 프로그래밍의 다른 카테고리들)에 의해 또는 다른 미리 정의된, 사용자 정의된 또는 다른 조직화 기준들에 의해 조직화된 미디어 안내 데이터를 갖는 디스플레이 스크린을 제공할 수 있다.
도 5는 단일 디스플레이 내의 상이한 콘텐츠 타입들에 대한 액세스도 가능하게 하는 시간 및 채널에 의해 배열된 프로그램 리스트 디스플레이(500)의 예시적인 그리드를 도시한다. 디스플레이(500)는 (1) 각각의 채널/콘텐츠 타입 식별자(열 내의 셀임)가 이용 가능한 상이한 채널 또는 콘텐츠 타입을 식별하는 채널/콘텐츠 타입 식별자들(504)의 열; 및 (2) 각각의 시간 식별자(행 내의 셀임)가 프로그래밍의 시간 블록을 식별하는 시간 식별자들(506)의 행을 갖는 그리드(502)를 포함할 수 있다. 그리드(502)는 또한 프로그램 리스트(508)와 같은 프로그램 리스트들의 셀들을 포함하며, 각각의 리스트는 리스트의 관련 채널 및 시간에 제공되는 프로그램의 제목을 제공한다. 사용자 입력 디바이스를 이용하여, 사용자는 하이라이트 영역(510)을 이동시킴으로써 프로그램 리스트들을 선택할 수 있다. 하이라이트 영역(510)에 의해 선택된 프로그램 리스트에 관한 정보는 프로그램 정보 영역(512)에서 제공될 수 있다. 영역(512)은 예를 들어 프로그램 제목, 프로그램 설명, (적용 가능한 경우에) 프로그램이 제공되는 시간, (적용 가능한 경우에) 프로그램을 제공하는 채널, 프로그램 등급 및 다른 원하는 정보를 포함할 수 있다.
상호작용 미디어 안내 애플리케이션은 선형 프로그래밍(예를 들어, 미리 결정된 시간에 복수의 사용자 장비 디바이스로 전송되도록 스케줄링되고 스케줄에 따라 제공되는 콘텐츠)에 대한 액세스를 제공하는 것에 더하여, 비선형 프로그래밍(예를 들면, 사용자 장비 디바이스가 언제든지 액세스할 수 있고 스케줄에 따라 제공되지 않는 콘텐츠)에 대한 액세스도 제공할 수 있다. 비선형 프로그래밍은 주문형 콘텐츠(예를 들어, VOD), 인터넷 콘텐츠(예를 들어, 스트리밍 미디어, 다운로드 가능한 미디어 등), 국지적으로 저장된 콘텐츠(예를 들어, 전술한 임의의 사용자 장비 디바이스 또는 다른 저장 디바이스에 저장된 콘텐츠), 또는 다른 시간 독립적인 콘텐츠를 포함하는 상이한 콘텐츠 소스들로부터의 콘텐츠를 포함할 수 있다. 주문형 콘텐츠는 영화들 또는 특정 콘텐츠 제공자(예를 들어, "The Sopranos" 및 "Curb Your Enthusiasm"을 제공하는 HBO On Demand)에 의해 제공되는 임의의 다른 콘텐츠를 포함할 수 있다. HBO ON DEMAND는 Time Warner Company L.P. 등이 소유하는 서비스 마크이고, THE SOPRANOS 및 CURB YOUR ENTHUSIASM은 Home Box Office, Inc.가 소유하는 상표들이다. 인터넷 콘텐츠는 채팅 세션 또는 웹 캐스트와 같은 웹 이벤트들, 또는 인터넷 웹 사이트 또는 다른 인터넷 액세스(예를 들어, FTP)를 통해 스트리밍 콘텐츠 또는 다운로드 가능한 콘텐츠로서 주문형으로 이용 가능한 콘텐츠를 포함할 수 있다.
그리드(502)는 주문형 리스트들(514), 기록된 콘텐츠 리스트(516) 및 인터넷 콘텐츠 리스트(518)를 포함하는 비선형 프로그래밍에 대한 미디어 안내 데이터를 제공할 수 있다. 상이한 타입들의 콘텐츠 소스들로부터의 콘텐츠에 대한 미디어 안내 데이터를 결합하는 디스플레이는 때때로 "혼합 미디어" 디스플레이로 지칭된다. 디스플레이(500)와 다른, 표시될 수 있는 미디어 안내 데이터의 타입들의 다양한 치환들은 사용자 선택 또는 안내 애플리케이션 정의(예를 들어, 기록 및 방송 리스트들만의 표시, 주문형 및 방송 리스트들만의 표시 등)에 기초할 수 있다. 예시된 바와 같이, 리스트들(514, 516 및 518)은 그리드(502)에 표시된 전체 시간 블록에 걸치는 것으로 도시되어, 이들 리스트의 선택이 주문형 리스트들, 기록된 리스트들 또는 인터넷 리스트들 각각에 전용화된 디스플레이에 대한 액세스를 제공할 수 있음을 나타낸다. 일부 실시예들에서, 이들 콘텐츠 타입에 대한 리스트들은 그리드(502)에 직접 포함될 수 있다. 사용자가 내비게이션 아이콘들(520) 중 하나를 선택하는 것에 응답하여 추가적인 미디어 안내 데이터가 표시될 수 있다. (사용자 입력 디바이스 상의 화살표 키를 누르는 것은 내비게이션 아이콘들(520)을 선택하는 것과 유사한 방식으로 표시에 영향을 줄 수 있다.)
디스플레이(500)는 또한 비디오 영역(522) 및 옵션 영역(526)을 포함할 수 있다. 비디오 영역(522)은 사용자가 사용자에 의해 현재 이용 가능하거나, 이용 가능해지거나, 이용 가능했던 프로그램들을 보고/보거나 미리 보는 것을 가능하게 할 수 있다. 비디오 영역(522)의 콘텐츠는 그리드(502)에 표시된 리스트들 중 하나에 대응하거나, 그와 별개일 수 있다. 비디오 영역을 포함하는 그리드 디스플레이들은 때때로 PIG(picture-in-guide) 디스플레이들로서 지칭된다. PIG 디스플레이들 및 그들의 기능들은 2003년 5월 13일자로 허여된 Satterfield 등의 미국 특허 제6,564,378호 및 2001년 5월 29일자로 허여된 Yuen 등의 미국 특허 제6,239,794호에서 더 상세하게 설명되며, 이에 따라 그들 전체가 본 명세서에서 참고로 통합된다. PIG 디스플레이들은 본 명세서에 설명된 실시예들의 다른 상호작용 미디어 안내 애플리케이션 디스플레이 스크린들에 포함될 수 있다.
옵션 영역(526)은 사용자가 상이한 타입들의 콘텐츠, 상호작용 미디어 안내 애플리케이션 디스플레이들 및/또는 상호작용 미디어 안내 애플리케이션 특징들에 액세스하는 것을 가능하게 할 수 있다. 옵션 영역(526)은 디스플레이(500)(및 본 명세서에 설명된 다른 디스플레이 스크린들)의 일부일 수 있거나, 온-스크린 옵션을 선택하거나 사용자 입력 디바이스 상의 전용 또는 할당 가능 버튼을 누름으로써 사용자에 의해 호출될 수 있다. 옵션 영역(526) 내의 선택 가능한 옵션들은 그리드(502) 내의 프로그램 리스트들과 관련된 특징들과 관련될 수 있거나 메인 메뉴 디스플레이로부터 이용 가능한 옵션들을 포함할 수 있다. 프로그램 리스트들과 관련된 특징들은 다른 방송 시간들, 또는 프로그램을 수신하고, 프로그램을 기록하고, 프로그램의 연속 기록을 가능하게 하고, 프로그램 및/또는 채널을 즐겨 찾기로 설정하고, 프로그램을 구매하는 방법들의 서치 또는 다른 특징들을 포함할 수 있다. 메인 메뉴 디스플레이에서 이용 가능한 옵션들은 서치 옵션들, VOD 옵션들, 부모 제어 옵션들, 인터넷 옵션들, 클라우드 기반 옵션들, 디바이스 동기화 옵션들, 보조 스크린 디바이스 옵션들, 다양한 타입들의 미디어 안내 데이터 디스플레이들에 액세스하는 옵션들, 프리미엄 서비스에 가입하는 옵션들, 사용자 프로필을 편집하는 옵션들, 브라우즈 오버레이에 액세스하는 옵션들 또는 다른 옵션들을 포함할 수 있다.
상호작용 미디어 안내 애플리케이션은 사용자의 선호들에 기초하여 개인화될 수 있다. 개인화된 상호작용 미디어 안내 애플리케이션은 사용자가 표시들 및 특징들을 맞춤화하여 상호작용 미디어 안내 애플리케이션에 대한 개인화된 "경험"을 생성하는 것을 가능하게 한다. 이러한 개인화된 경험은 사용자가 이러한 맞춤화들을 입력하는 것을 가능하게 함으로써 그리고/또는 상호작용 미디어 안내 애플리케이션이 다양한 사용자 선호들을 결정하기 위해 사용자 활동을 모니터링함으로써 생성될 수 있다. 사용자들은 안내 애플리케이션에 로그인하거나 그들 자신을 식별시킴으로써 그들의 개인화된 안내 애플리케이션에 액세스할 수 있다. 상호작용 미디어 안내 애플리케이션의 맞춤화는 사용자 프로파일에 따라 이루어질 수 있다. 맞춤화는 프레젠테이션 스킴들(예를 들어, 표시들의 컬러 스킴, 텍스트의 폰트 크기 등), 표시되는 콘텐츠 리스트들의 양태들(예를 들어, HDTV만 또는 3D 프로그래밍만, 즐겨 찾는 채널 선택들에 기초하는 사용자 지정 방송 채널들, 채널들, 추천 콘텐츠 등의 표시의 재배열), 원하는 기록 특징들(예를 들어, 특정 사용자들에 대한 기록 또는 연속 기록들, 기록 품질 등), 부모 제어 설정들의 변경, 인터넷 콘텐츠의 맞춤화된 프레젠테이션(예를 들어, 소셜 미디어 콘텐츠, 이메일, 전자적으로 전달된 기사들 등의 프레젠테이션) 및 다른 원하는 맞춤화들을 포함할 수 있다.
상호작용 미디어 안내 애플리케이션은 사용자가 사용자 프로파일 정보를 제공할 수 있게 하거나 사용자 프로파일 정보를 자동으로 편집할 수 있다. 상호작용 미디어 안내 애플리케이션은 예를 들어 사용자가 액세스하는 콘텐츠 및/또는 사용자가 안내 애플리케이션을 이용하여 행할 수 있는 다른 상호작용들을 모니터링할 수 있다. 또한, 상호작용 미디어 안내 애플리케이션은 (예를 들어, www.allrovi.com과 같이 사용자가 액세스하는 인터넷 상의 다른 웹 사이트들로부터, 사용자가 액세스하는 다른 상호작용 미디어 안내 애플리케이션들로부터, 사용자가 액세스하는 다른 상호작용 애플리케이션들로부터, 사용자의 다른 사용자 장비 디바이스로부터) 특정 사용자와 관련된 다른 사용자 프로필들의 전부 또는 일부를 획득할 수 있고/있거나, 상호작용 미디어 안내 애플리케이션이 액세스할 수 있는 다른 소스들로부터 사용자에 관한 정보를 획득할 수 있다. 결과적으로, 사용자는 사용자의 상이한 사용자 장비 디바이스들에 걸쳐 통합된 안내 애플리케이션 경험을 제공받을 수 있다. 이러한 타입의 사용자 경험은 도 8과 관련하여 아래에서 더 상세히 설명된다. 추가적인 개인화된 상호작용 미디어 안내 애플리케이션 특징들은 2005년 7월 11일자로 출원된 Ellis 등의 미국 특허 출원 공개 제2005/0251827호, 2007년 1월 16일자로 허여된 Boyer 등의 미국 특허 제7,165,098호, 2002년 2월 21일에 출원된 Ellis 등의 미국 특허 출원 공개 제2002/0174430호에 더 상세히 설명되어 있으며, 이에 따라 그들 전체가 본 명세서에 참고서 통합된다.
미디어 안내를 제공하기 위한 다른 디스플레이 배열이 도 6에 도시되어 있다. 비디오 모자이크 디스플레이(600)는 콘텐츠 타입, 장르 및/또는 다른 조직화 기준들에 기초하여 조직화된 콘텐츠 정보에 대한 선택 가능한 옵션들(602)을 포함한다. 디스플레이(600)에서, 텔레비전 리스트 옵션(604)이 선택되고, 따라서 방송 프로그램 리스트들로서 리스트들(606, 608, 610 및 612)을 제공한다. 디스플레이(600)에서, 리스트들은 커버 아트, 콘텐츠로부터의 스틸 이미지들, 비디오 클립 미리 보기들, 콘텐츠로부터의 라이브 비디오, 또는 리스트에서 미디어 안내 데이터에 의해 설명되는 콘텐츠를 사용자에게 나타내는 다른 타입들의 콘텐츠를 포함하는 그래픽 이미지들을 제공할 수 있다. 각각의 그래픽 리스트는 또한 텍스트를 동반하여, 리스트와 관련된 콘텐츠에 대한 추가적인 정보를 제공할 수 있다. 예를 들어, 리스트(608)는 미디어 부분(614) 및 텍스트 부분(616)을 포함하는 2개 이상의 부분을 포함할 수 있다. 미디어 부분(614) 및/또는 텍스트 부분(616)은 풀 스크린으로 콘텐츠를 보거나, 미디어 부분(614)에 표시된 콘텐츠와 관련된 정보를 보기 위해(예를 들어, 비디오가 표시되는 채널에 대한 리스트들을 보기 위해) 선택될 수 있다.
디스플레이(600) 내의 리스트들은 상이한 크기들을 갖지만(즉, 리스트(606)는 리스트들(608, 610 및 612)보다 큼), 원할 경우에는 모든 리스트들이 동일한 크기일 수 있다. 리스트들은 콘텐츠 제공자가 원하는 대로 또는 사용자 선호들에 기초하여 사용자에 대한 관심도들을 나타내거나 소정 콘텐츠를 강조하도록 상이한 크기들을 갖거나 그래픽으로 강조될 수 있다. 콘텐츠 리스트들을 그래픽으로 강조하기 위한 다양한 시스템들 및 방법들은 예를 들어 2009년 11월 12일자로 출원된 Yates의 미국 특허 출원 공개 제2010/0153885호에서 논의되며, 이에 따라 그 전체가 본 명세서에 참고로 통합된다.
사용자들은 그들의 사용자 장비 디바이스들 중 하나 이상으로부터 콘텐츠 및 상호작용 미디어 안내 애플리케이션(및 위에서 그리고 아래에서 설명되는 그의 디스플레이 스크린들)에 액세스할 수 있다. 도 7은 예시적인 사용자 장비 디바이스(700)의 일반화된 실시예를 도시한다. 사용자 장비 디바이스의 보다 구체적인 실시예가 도 8과 관련하여 이하 논의된다. 사용자 장비 디바이스(700)는 입출력(이하, "I/O") 경로(702)를 통해 콘텐츠 및 데이터를 수신할 수 있다. I/O 경로(702)는 처리 회로(706) 및 저장소(708)를 포함하는 제어 회로(704)에 콘텐츠(예를 들어, 방송 프로그래밍, 주문형 프로그래밍, 인터넷 콘텐츠, 근거리 통신망(LAN) 또는 광역 네트워크(WAN)를 통해 이용 가능한 콘텐츠 및/또는 다른 콘텐츠) 및 데이터를 제공할 수 있다. 제어 회로(704)는 I/O 경로(702)를 사용하여 커맨드들, 요청들 및 다른 적절한 데이터를 송신 및 수신하는 데 사용될 수 있다. I/O 경로(702)는 제어 회로(704)(및 특히 처리 회로(706))를 하나 이상의 통신 경로(아래에서 설명됨)에 연결할 수 있다. I/O 기능들은 이들 통신 경로 중 하나 이상에 의해 제공될 수 있지만, 도 7에서는 도면을 지나치게 복잡하게 하지 않기 위해 단일 경로로서 도시된다.
제어 회로(704)는 처리 회로(706)와 같은 임의의 적절한 처리 회로에 기초할 수 있다. 본 명세서에서 언급되는 바와 같이, 처리 회로는 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 프로그래밍 가능 논리 디바이스, 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC) 등에 기초하는 회로를 의미하는 것으로 이해되어야 하며, 멀티 코어 프로세서(예를 들어, 듀얼 코어, 쿼드 코어, 헥사 코어 또는 임의의 적절한 수의 코어) 또는 수퍼 컴퓨터를 포함할 수 있다. 일부 실시예들에서, 처리 회로는 다수의 개별 프로세서 또는 처리 유닛, 예를 들어 다수의 동일한 타입의 처리 유닛(예를 들어, 2개의 인텔 코어 i7 프로세서) 또는 다수의 상이한 프로세서(예를 들어, 인텔 코어 i5 프로세서 및 인텔 코어 i7 프로세서)에 걸쳐 분산될 수 있다. 일부 실시예들에서, 제어 회로(704)는 메모리(즉, 저장소(708))에 저장된 상호작용 미디어 안내 애플리케이션에 대한 명령어들을 실행한다. 특히, 제어 회로(704)는 상호작용 미디어 안내 애플리케이션에 의해 위에서 그리고 아래에서 설명되는 기능들을 수행하도록 지시될 수 있다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 미디어 안내 표시들을 생성하도록 제어 회로(704)에 명령어들을 제공할 수 있다. 일부 구현들에서, 제어 회로(704)에 의해 수행되는 임의의 액션은 상호작용 미디어 안내 애플리케이션으로부터 수신된 명령어들에 기초할 수 있다.
클라이언트-서버 기반 실시예들에서, 제어 회로(704)는 안내 애플리케이션 서버 또는 다른 네트워크들 또는 서버들과 통신하기에 적합한 통신 회로를 포함할 수 있다. 전술한 기능을 수행하기 위한 명령어들은 안내 애플리케이션 서버에 저장될 수 있다. 통신 회로는 케이블 모뎀, 통합 서비스 디지털 네트워크(ISDN) 모뎀, 디지털 가입자 라인(DSL) 모뎀, 전화 모뎀, 이더넷 카드, 또는 다른 장비와의 통신을 위한 무선 모뎀, 또는 임의의 다른 적절한 통신 회로를 포함할 수 있다. 이러한 통신은 인터넷 또는 임의의 다른 적절한 통신 네트워크들 또는 경로들(이는 도 8과 관련하여 더 상세히 설명됨)을 수반할 수 있다. 또한, 통신 회로는 사용자 장비 디바이스들의 피어 대 피어 통신 또는 서로 멀리 떨어진 위치들에 있는 사용자 장비 디바이스들의 통신을 가능하게 하는 회로를 포함할 수 있다(아래에서 더 상세히 설명됨).
메모리는 제어 회로(704)의 일부인 저장소(708)로서 제공되는 전자 저장 디바이스일 수 있다. 본 명세서에서 언급되는 바와 같이, "전자 저장 디바이스" 또는 "저장 디바이스"라는 문구는 랜덤 액세스 메모리, 판독 전용 메모리, 하드 드라이브들, 광학 드라이브들, 디지털 비디오 디스크(DVD) 레코더들, 컴팩트 디스크(CD) 레코더들, BLU-RAY 디스크(BD) 레코더들, BLU-RAY 3D 디스크 레코더들, 디지털 비디오 레코더들(DVR, 때때로 퍼스널 비디오 레코더 또는 PVR이라고 함), 고체 상태 디바이스들, 양자 저장 디바이스들, 게이밍 콘솔들, 게이밍 미디어 또는 임의의 적합한 고정식 또는 이동식 저장 디바이스들 및/또는 이들의 임의 조합과 같이 전자 데이터, 컴퓨터 소프트웨어 또는 펌웨어를 저장하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 저장소(708)는 전술한 미디어 안내 데이터뿐만 아니라 본 명세서에서 설명되는 다양한 타입들의 콘텐츠를 저장하는 데 사용될 수 있다. 비휘발성 메모리도 (예를 들어, 부트업 루틴 및 다른 명령어들을 개시하기 위해) 사용될 수 있다. 도 8과 관련하여 설명된 클라우드 기반 저장소는 저장소(708)를 보완하기 위해 또는 저장소(708) 대신에 사용될 수 있다.
제어 회로(704)는 비디오 생성 회로 및 튜닝 회로, 예를 들어 하나 이상의 아날로그 튜너, 하나 이상의 MPEG-2 디코더 또는 다른 디지털 디코딩 회로, 고화질 튜너들, 또는 임의의 다른 적절한 튜닝 또는 비디오 회로들 또는 그러한 회로들의 조합을 포함할 수 있다. (예를 들어, 저장을 위해 무선, 아날로그 또는 디지털 신호들을 MPEG 신호들로 변환하기 위한) 인코딩 회로도 제공될 수 있다. 제어 회로(704)는 또한 콘텐츠를 사용자 장비(700)의 바람직한 출력 포맷으로 상향 변환 및 하향 변환하기 위한 스케일러 회로를 포함할 수 있다. 회로(704)는 또한 디지털 및 아날로그 신호들 사이에서 변환하기 위한 디지털/아날로그 변환기 회로 및 아날로그/디지털 변환기 회로를 포함할 수 있다. 튜닝 및 인코딩 회로는 사용자 장비 디바이스에 의해 콘텐츠를 수신하고, 표시, 재생 또는 기록하는 데 사용될 수 있다. 튜닝 및 인코딩 회로는 또한 안내 데이터를 수신하는 데 사용될 수 있다. 예를 들어, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 해독, 스케일러 및 아날로그/디지털 회로를 포함하는, 본 명세서에서 설명되는 회로는 하나 이상의 범용 또는 특수 프로세서 상에서 실행되는 소프트웨어를 사용하여 구현될 수 있다. 동시 튜닝 기능들(예를 들면, 시청 및 기록 기능들, PIP(picture-in-picture) 기능들, 다중 튜너 기록 등)을 처리하기 위해 다수의 튜너가 제공될 수 있다. 저장소(708)가 사용자 장비(700)와 별개의 디바이스로서 제공되는 경우, (다수의 튜너를 포함하는) 튜닝 및 인코딩 회로는 저장소(708)와 관련될 수 있다.
사용자는 사용자 입력 인터페이스(710)를 사용하여 제어 회로(704)에 명령어들을 송신할 수 있다. 사용자 입력 인터페이스(710)는 원격 제어, 마우스, 트랙볼, 키패드, 키보드, 터치 스크린, 터치 패드, 스타일러스 입력, 조이스틱, 음성 인식 인터페이스 또는 다른 사용자 입력 인터페이스들과 같은 임의의 적절한 사용자 인터페이스일 수 있다. 디스플레이(712)는 독립형 디바이스로서 제공되거나 사용자 장비 디바이스(700)의 다른 요소들과 통합될 수 있다. 예를 들어, 디스플레이(712)는 터치 스크린 또는 터치 감지 디스플레이일 수 있다. 이러한 상황들에서, 사용자 입력 인터페이스(710)는 디스플레이(712)와 통합되거나 결합될 수 있다. 디스플레이(712)는 모니터, 텔레비전, 모바일 디바이스용 액정 디스플레이(LCD), 비정질 실리콘 디스플레이, 저온 폴리실리콘 디스플레이, 전자 잉크 디스플레이, 전기 영동 디스플레이, 액티브 매트릭스 디스플레이, 전기 습윤 디스플레이, 전기 유체 디스플레이, 음극선관 디스플레이, 발광 다이오드 디스플레이, 전자 발광 디스플레이, 플라즈마 디스플레이 패널, 고성능 어드레싱 디스플레이, 박막 트랜지스터 디스플레이, 유기 발광 다이오드 디스플레이, 표면 전도 전자 발광기 디스플레이(SED), 레이저 텔레비젼, 탄소 나노 튜브들, 양자 도트 디스플레이, 간섭계 변조기 디스플레이, 또는 시각적 이미지들을 표시하기 위한 임의의 다른 적절한 장비 중 하나 이상일 수 있다. 일부 실시예들에서, 디스플레이(712)는 HDTV 가능형 디스플레이일 수 있다. 일부 실시예들에서, 디스플레이(712)는 3D 디스플레이일 수 있고, 상호작용 미디어 안내 애플리케이션 및 임의의 적합한 콘텐츠가 3D로 표시될 수 있다. 비디오 카드 또는 그래픽 카드는 디스플레이(712)에 대한 출력을 생성할 수 있다. 비디오 카드는 3D 장면들 및 2D 그래픽들의 가속 렌더링, MPEG-2/MPEG-4 디코딩, TV 출력, 또는 다수의 모니터를 연결하기 위한 능력과 같은 다양한 기능들을 제공할 수 있다. 비디오 카드는 제어 회로(704)와 관련하여 전술한 임의의 처리 회로일 수 있다. 비디오 카드는 제어 회로(704)와 통합될 수 있다. 스피커들(714)은 사용자 장비 디바이스(700)의 다른 요소들과 통합된 것으로서 제공될 수 있거나 독립형 유닛들일 수 있다. 디스플레이(712) 상에 표시된 비디오들 및 다른 콘텐츠의 오디오 컴포넌트들은 스피커들(714)을 통해 재생될 수 있다. 일부 실시예들에서, 오디오는 스피커들(714)을 통해 오디오를 처리 및 출력하는 수신기(도시되지 않음)에 배포될 수 있다.
안내 애플리케이션은 임의의 적합한 아키텍처를 사용하여 구현될 수 있다. 예를 들어, 이것은 사용자 장비 디바이스(700) 상에 완전히 구현된 독립형 애플리케이션일 수 있다. 이러한 접근법에서, 애플리케이션의 명령어들은 국지적으로(예를 들어, 저장소(708)에) 저장되며, 애플리케이션에 의해 사용되는 데이터는 (예를 들어, 대역외 피드로부터, 인터넷 자원으로부터 또는 다른 적절한 접근법을 사용하여) 주기적으로 다운로드된다. 제어 회로(704)는 저장소(708)로부터 애플리케이션의 명령어들을 검색하고, 본 명세서에서 논의된 디스플레이들 중 임의의 것을 생성하기 위해 명령어들을 처리할 수 있다. 처리된 명령어들에 기초하여, 제어 회로(704)는 입력이 입력 인터페이스(710)로부터 수신될 때 어떤 액션을 수행할지를 결정할 수 있다. 예를 들어, 입력 인터페이스(710)가 업/다운 버튼이 선택되었음을 지시할 때, 처리된 명령어들에 의해 디스플레이 상에서의 커서의 상하 이동이 지시될 수 있다.
일부 실시예들에서, 상호작용 미디어 안내 애플리케이션은 클라이언트-서버 기반 애플리케이션이다. 사용자 장비 디바이스(700) 상에 구현된 씨크(thick) 또는 씬(thin) 클라이언트에 의해 사용되는 데이터는 사용자 장비 디바이스(700)에 원격적인 서버에 요청들을 발행함으로써 주문형으로 검색된다. 클라이언트-서버 기반 안내 애플리케이션의 일례에서, 제어 회로(704)는 원격 서버가 제공하는 웹 페이지를 해석하는 웹 브라우저를 실행한다. 예를 들어, 원격 서버는 애플리케이션에 대한 명령어들을 저장 디바이스에 저장할 수 있다. 원격 서버는 회로(예를 들어, 제어 회로(704))를 사용하여 저장된 명령어들을 처리하고, 위에서 그리고 아래에서 설명되는 표시들을 생성할 수 있다. 클라이언트 디바이스는 원격 서버에 의해 생성된 표시들을 수신할 수 있고, 장비 디바이스(700) 상에 표시들의 콘텐츠를 국지적으로 표시할 수 있다. 이러한 방식으로, 명령어들의 처리는 결과적인 표시들이 장비 디바이스(700) 상에서 국지적으로 제공되는 동안 서버에 의해 원격적으로 수행된다. 장비 디바이스(700)는 입력 인터페이스(710)를 통해 사용자로부터 입력들을 수신하고, 대응하는 표시들을 처리 및 생성하기 위해 이들 입력을 원격 서버에 전송할 수 있다. 예를 들어, 장비 디바이스(700)는 업/다운 버튼이 입력 인터페이스(710)를 통해 선택되었음을 나타내는 통신을 원격 서버에 전송할 수 있다. 원격 서버는 그러한 입력에 따라 명령어들을 처리하고, 입력에 대응하는 애플리케이션의 표시(예를 들어, 커서를 위/아래로 이동시키는 표시)를 생성할 수 있다. 이어서, 생성된 표시는 사용자에게 프레젠테이션하기 위해 장비 디바이스(700)로 전송된다.
일부 실시예들에서, 상호작용 미디어 안내 애플리케이션은 (제어 회로(704)에 의해 실행되는) 해석기 또는 가상 기계에 의해 다운로드되고 해석되거나 달리 실행된다. 일부 실시예들에서, 안내 애플리케이션은 ETV 2진 교환 포맷(EBIF)으로 인코딩되고, 적절한 피드의 일부로서 제어 회로(704)에 의해 수신되고, 제어 회로(704) 상에서 실행되는 사용자 에이전트에 의해 해석될 수 있다. 예를 들어, 안내 애플리케이션은 EBIF 애플리케이션일 수 있다. 일부 실시예들에서, 안내 애플리케이션은 제어 회로(704)에 의해 실행되는 로컬 가상 기계 또는 다른 적절한 미들웨어에 의해 수신되고 실행되는 일련의 자바 기반 파일들에 의해 정의될 수 있다. 그러한 실시예들 중 일부(예를 들어, MPEG-2 또는 다른 디지털 미디어 인코딩 스킴들을 사용하는 것들)에서, 안내 애플리케이션은 예를 들어 프로그램의 MPEG 오디오 및 비디오 패킷들과 함께 MPEG-2 객체 캐러셀(carousel) 내에 인코딩되어 전송될 수 있다.
도 7의 사용자 장비 디바이스(700)는 도 8의 시스템(800)에서 사용자 텔레비전 장비(802), 사용자 컴퓨터 장비(804), 무선 사용자 통신 디바이스(806), 또는 비휴대용 게이밍 기계와 같이 콘텐츠에 액세스하기에 적합한 임의의 다른 타입의 사용자 장비로서 구현될 수 있다. 간략화를 위해, 이들 디바이스는 본 명세서에서 집합적으로 사용자 장비 또는 사용자 장비 디바이스들로 지칭될 수 있으며, 전술한 사용자 장비 디바이스들과 실질적으로 유사할 수 있다. 상호작용 미디어 안내 애플리케이션이 구현될 수 있는 사용자 장비 디바이스들은 독립형 디바이스로서 기능할 수 있거나 디바이스들의 네트워크의 일부일 수 있다. 디바이스들의 다양한 네트워크 구성들이 구현될 수 있으며, 아래에서 더 상세히 설명된다.
도 7과 관련하여 전술한 시스템 특징들 중 적어도 일부를 이용하는 사용자 장비 디바이스는 단독으로는 사용자 텔레비전 장비(802), 사용자 컴퓨터 장비(804) 또는 무선 사용자 통신 디바이스(806)로서 분류되지 않을 수 있다. 예를 들어, 사용자 텔레비전 장비(802)는 일부 사용자 컴퓨터 장비(804)와 같이 인터넷 콘텐츠에 액세스할 수 있게 하는 인터넷 인에이블드 장비일 수 있는 반면, 사용자 컴퓨터 장비(804)는 일부 텔레비전 장비(802)와 같이 텔레비전 프로그래밍에 대한 액세스를 가능하게 하는 튜너를 포함할 수 있다. 상호작용 미디어 안내 애플리케이션은 다양한 상이한 타입들의 사용자 장비 상에서 동일한 레이아웃을 가질 수 있거나 사용자 장비의 표시 성능들에 맞춰질 수 있다. 예를 들어, 사용자 컴퓨터 장비(804) 상에서, 안내 애플리케이션은 웹 브라우저에 의해 액세스되는 웹 사이트로서 제공될 수 있다. 다른 예에서, 안내 애플리케이션은 무선 사용자 통신 디바이스들(806)을 위해 축소될 수 있다.
시스템(800)에는, 통상적으로 2개 이상의 각각의 타입의 사용자 장비 디바이스가 존재하지만, 도 8에서는 도면을 지나치게 복잡하게 하지 않기 위해 각각 하나만이 도시된다. 또한, 각각의 사용자는 2개 이상의 타입의 사용자 장비 디바이스 및 또한 2개 이상의 각각의 타입의 사용자 장비 디바이스를 이용할 수 있다.
일부 실시예들에서, 사용자 장비 디바이스(예를 들어, 사용자 텔레비전 장비(802), 사용자 컴퓨터 장비(804), 무선 사용자 통신 디바이스(806))는 "제2 스크린 디바이스"로 지칭될 수 있다. 예를 들어, 제2 스크린 디바이스는 제1 사용자 장비 디바이스 상에 제시되는 콘텐츠를 보완할 수 있다. 제2 스크린 디바이스 상에 제시되는 콘텐츠는 제1 디바이스 상에 제시되는 콘텐츠를 보완하는 임의의 적합한 콘텐츠일 수 있다. 일부 실시예들에서, 제2 스크린 디바이스는 제1 디바이스의 설정들 및 표시 선호들을 조정하기 위한 인터페이스를 제공한다. 일부 실시예들에서, 제2 스크린 디바이스는 다른 제2 스크린 디바이스와 상호작용하거나 소셜 네트워크와 상호작용하기 위해 구성된다. 제2 스크린 디바이스는 제1 디바이스와 동일한 방에, 제1 디바이스와 다른 방이지만, 동일한 집 또는 건물에 또는 제1 디바이스와 다른 건물에 배치할 수 있다.
또한, 사용자는 가정내 디바이스들 및 원격 디바이스들에 걸쳐 일관된 상호작용 미디어 안내 애플리케이션 설정들을 유지하기 위해 다양한 설정들을 설정할 수 있다. 설정들은 본 명세서에서 설명된 것들은 물론, 채널 및 프로그램 즐겨 찾기들, 안내 애플리케이션이 프로그래밍 추천들을 행하기 위해 이용하는 프로그래밍 선호들, 표시 선호들 및 다른 바람직한 안내 설정들을 포함한다. 예를 들어, 사용자가 자신의 사무실에 있는 자신의 퍼스널 컴퓨터 상의 예를 들어 웹 사이트 www.allrovi.com 상에 채널을 즐겨 찾기로 설정하면, 동일한 채널이 사용자의 가정내 디바이스들(예를 들어, 사용자 텔레비전 장비 및 사용자 컴퓨터 장비)뿐만 아니라, 원할 경우에는 사용자의 모바일 디바이스들 상에도 즐겨 찾기로서 나타날 것이다. 따라서, 하나의 사용자 장비 디바이스 상에서 이루어진 변경들은 동일하거나 상이한 타입의 사용자 장비 디바이스인지에 관계없이 다른 사용자 장비 디바이스 상에서의 안내 경험을 변경할 수 있다. 또한, 이루어진 변경들은 사용자가 입력한 설정들뿐만 아니라 안내 애플리케이션에 의해 모니터링되는 사용자 활동에도 기초할 수 있다.
사용자 장비 디바이스들은 통신 네트워크(814)에 결합될 수 있다. 즉, 사용자 텔레비전 장비(802), 사용자 컴퓨터 장비(804) 및 무선 사용자 통신 디바이스(806)는 각각 통신 경로들(808, 810 및 812)을 통해 통신 네트워크(814)에 결합된다. 통신 네트워크(814)는 인터넷, 모바일 전화 네트워크, 모바일 음성 또는 데이터 네트워크(예를 들어, 4G 또는 LTE 네트워크), 케이블 네트워크, 공중 교환 전화 네트워크, 또는 다른 타입들의 통신 네트워크 또는 통신 네트워크들의 조합들을 포함하는 하나 이상의 네트워크일 수 있다. 경로들(808, 810 및 812)은 개별적으로 또는 함께 위성 경로, 광섬유 경로, 케이블 경로, 인터넷 통신들(예를 들어, IPTV), (예를 들어, 방송 또는 다른 무선 신호들을 위한) 자유 공간 연결들을 지원하는 경로, 또는 임의의 다른 적합한 유선 또는 무선 통신 경로 또는 이러한 경로들의 조합과 같은 하나 이상의 통신 경로를 포함할 수 있다. 경로(812)는 도 8에 도시된 예시적인 실시예에서 무선 경로임을 나타내기 위해 점선들로 도시되며, 경로들(808 및 810)은 유선 경로들임을 나타내기 위해 실선들로 도시된다(그러나 이들 경로는 원한다면 무선 경로들일 수 있다). 사용자 장비 디바이스들과의 통신은 이들 통신 경로 중 하나 이상에 의해 제공될 수 있지만, 도 8에서는 도면을 지나치게 복잡하게 하지 않기 위해 단일 경로로 도시된다.
사용자 장비 디바이스들 사이에는 통신 경로들이 도시되지 않지만, 이들 디바이스들은 경로들(808, 810, 812)과 관련하여 전술한 것들과 같은 통신 경로들은 물론, USB 케이블들, IEEE 1394 케이블들, 무선 경로들(예를 들어, 블루투스, 적외선, IEEE 802-11x 등) 또는 유선 또는 무선 경로들을 통한 다른 단거리 통신과 같은 다른 단거리 점대점 통신 경로들을 통해 서로 직접 통신할 수 있다. BLUETOOTH는 Bluetooth SIG, INC. 소유의 인증 마크이다. 사용자 장비 디바이스들은 또한 통신 네트워크(814)를 통한 간접 경로를 통해 서로 직접 통신할 수 있다.
시스템(800)은 각각 통신 경로들(820 및 822)을 통해 통신 네트워크(814)에 결합된 콘텐츠 소스(816) 및 미디어 안내 데이터 소스(818)를 포함한다. 경로들(820 및 822)은 경로들(808, 810 및 812)과 관련하여 전술한 임의의 통신 경로를 포함할 수 있다. 콘텐츠 소스(816) 및 미디어 안내 데이터 소스(818)와의 통신은 하나 이상의 통신 경로를 통해 교환될 수 있지만, 도 8에는 도면을 지나치게 복잡하게 하지 않기 위해 단일 경로로 도시된다. 또한, 콘텐츠 소스(816) 및 미디어 안내 데이터 소스(818) 각각이 2개 이상 존재할 수 있지만, 도 8에는 도면을 지나치게 복잡하게 하지 않기 위해 각각 하나만이 도시된다. (이들 소스 각각의 상이한 타입들이 아래에서 논의된다.) 원할 경우, 콘텐츠 소스(816) 및 미디어 안내 데이터 소스(818)는 하나의 소스 디바이스로서 통합될 수 있다. 사용자 장비 디바이스들(802, 804, 806)과의 소스들(816 및 818) 간의 통신은 통신 네트워크(814)를 통하는 것으로 도시되지만, 일부 실시예들에서 소스들(816 및 818)은 경로들(808, 810, 812)과 관련하여 전술한 것들과 같은 통신 경로들(도시되지 않음)을 통해 사용자 장비 디바이스들(802, 804, 806)과 직접 통신할 수 있다.
콘텐츠 소스(816)는 텔레비전 배포 설비, 케이블 시스템 헤드엔드, 위성 배포 설비, 프로그래밍 소스들(예를 들어, NBC, ABC, HBO 등과 같은 텔레비전 방송국들), 중개 배포 시설들 및/또는 서버들, 인터넷 제공자들, 주문형 미디어 서버들 및 다른 콘텐츠 제공자들을 포함하는 하나 이상의 타입의 콘텐츠 배포 장비를 포함할 수 있다. NBC는 National Broadcasting Company, Inc. 소유의 상표이고, ABC는 American Broadcasting Company, Inc. 소유의 상표이며, HBO는 Home Box Office, Inc 소유의 상표이다. 콘텐츠 소스(816)는 콘텐츠의 개시자(예를 들어, 텔레비전 방송국, 웹캐스트 제공자 등)일 수 있거나, 콘텐츠의 개시자가 아닐 수 있다(예를 들어, 주문형 콘텐츠 제공자, 다운로드용 방송 프로그램들의 콘텐츠의 인터넷 제공자 등). 콘텐츠 소스(816)는 케이블 소스들, 위성 제공자들, 주문형 제공자들, 인터넷 제공자들, 오버-더-탑(over-the-top) 콘텐츠 제공자들 또는 다른 콘텐츠 제공자들을 포함할 수 있다. 콘텐츠 소스(816)는 또한 임의의 사용자 장비 디바이스로부터 원격 위치에 상이한 타입들의 콘텐츠(사용자에 의해 선택된 비디오 콘텐츠를 포함함)를 저장하는 데 사용되는 원격 미디어 서버를 포함할 수 있다. 콘텐츠를 원격 저장하고, 원격 저장된 콘텐츠를 사용자 장비에 제공하기 위한 시스템들 및 방법들은 2010년 7월 20일자로 허여된 Ellis 등의 미국 특허 제7,761,892호와 관련하여 더 상세히 논의되며, 이에 따라 그 전체가 본 명세서에 참고로 통합된다.
미디어 안내 데이터 소스(818)는 전술한 미디어 안내 데이터와 같은 미디어 안내 데이터를 제공할 수 있다. 임의의 적절한 접근법을 사용하여 사용자 장비 디바이스들에 미디어 안내 데이터가 제공될 수 있다. 일부 실시예들에서, 안내 애플리케이션은 데이터 피드(예를 들어, 연속 피드 또는 세류 피드)를 통해 프로그램 안내 데이터를 수신하는 독립형 상호작용 텔레비전 프로그램 안내일 수 있다. 프로그램 스케줄 데이터 및 다른 안내 데이터는 대역내 디지털 신호를 사용하여, 대역외 디지털 신호를 사용하여 또는 임의의 다른 적절한 데이터 전송 기술에 의해 텔레비전 채널 측파대 상에서 사용자 장비에 제공될 수 있다. 프로그램 스케줄 데이터 및 다른 미디어 안내 데이터는 다수의 아날로그 또는 디지털 텔레비전 채널 상에서 사용자 장비에 제공될 수 있다.
일부 실시예들에서, 미디어 안내 데이터 소스(818)로부터의 안내 데이터는 클라이언트-서버 접근법을 사용하여 사용자들의 장비에 제공될 수 있다. 예를 들어, 사용자 장비 디바이스가 서버로부터 미디어 안내 데이터를 풀링할 수 있거나, 서버가 사용자 장비 디바이스로 미디어 안내 데이터를 푸싱할 수 있다. 일부 실시예들에서, 사용자 장비에 상주하는 안내 애플리케이션 클라이언트는 필요할 때, 예를 들어 안내 데이터가 실효된 때 또는 사용자 장비 디바이스가 사용자로부터 데이터 수신 요청을 수신할 때 안내 데이터를 획득하기 위해 소스(818)와의 세션들을 개시할 수 있다. 임의의 적절한 빈도로(예를 들어, 연속적으로, 매일, 사용자 지정 기간에, 시스템 지정 기간에, 사용자 장비로부터의 요청에 응답하여, 기타 등등으로) 미디어 안내가 사용자 장비에 제공될 수 있다. 미디어 안내 데이터 소스(818)는 사용자 장비 디바이스들(802, 804 및 806)에 상호작용 미디어 안내 애플리케이션 자체 또는 상호작용 미디어 안내 애플리케이션에 대한 소프트웨어 업데이트들을 제공할 수 있다.
일부 실시예들에서, 미디어 안내 데이터는 시청자 데이터를 포함할 수 있다. 예를 들어, 시청자 데이터는 현재 및/또는 과거의 사용자 활동 정보(예를 들어, 사용자가 통상적으로 어떤 콘텐츠를 시청하는지, 사용자가 어느 시간에 콘텐츠를 시청하는지, 사용자가 소셜 네트워크와 상호작용하는지의 여부, 사용자가 정보를 게시하기 위해 언제 소셜 네트워크와 상호작용하는지, 사용자가 통상적으로 어떤 타입의 콘텐츠를 시청하는지(예를 들어, 유료 TV 또는 무료 TV), 무드, 뇌 활동 정보 등)를 포함할 수 있다. 미디어 안내 데이터는 또한 가입 데이터를 포함할 수 있다. 예를 들어, 가입 데이터는 주어진 사용자가 어떤 소스들 또는 서비스들에 가입하는지 및/또는 주어진 사용자가 어떤 소스들 또는 서비스들에 이전에 가입했으나 나중에 액세스를 종료했는지(예를 들어, 사용자가 프리미엄 채널들에 가입했는지 여부, 사용자가 프리미엄 레벨의 서비스들을 추가했는지 여부, 사용자가 인터넷 속도를 증가시켰는지 여부)를 식별할 수 있다. 일부 실시예들에서, 시청자 데이터 및/또는 가입 데이터는 1년 넘는 기간 동안 주어진 사용자의 패턴들을 식별할 수 있다. 미디어 안내 데이터는 주어진 사용자가 서비스/소스에 대한 액세스를 종료할 가능성을 나타내는 스코어를 생성하는 데 사용되는 모델(예를 들어, 생존자 모델)을 포함할 수 있다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 주어진 사용자가 특정 서비스 또는 소스에 대한 액세스를 종료할지의 가능성을 나타내는 값 또는 스코어를 생성하기 위해 모델을 사용하여 시청자 데이터를 가입 데이터와 함께 처리할 수 있다. 특히, 더 높은 스코어는 사용자가 특정 서비스 또는 소스에 대한 액세스를 종료할 것이라는 더 높은 레벨의 신뢰를 나타낼 수 있다. 스코어에 기초하여, 상호작용 미디어 안내 애플리케이션은 스코어에 의해 지시된 특정 서비스 또는 소스를 사용자가 액세스를 종료할 가능성이 있는 것으로서 유지하도록 사용자를 유도하는 프로모션들을 생성할 수 있다.
상호작용 미디어 안내 애플리케이션들은 예를 들어 사용자 장비 디바이스들 상에 구현된 독립형 애플리케이션들일 수 있다. 예를 들어, 상호작용 미디어 안내 애플리케이션은 저장소(708)에 저장되고 사용자 장비 디바이스(700)의 제어 회로(704)에 의해 실행될 수 있는 소프트웨어 또는 실행 가능한 명령어들의 세트로서 구현될 수 있다. 일부 실시예들에서, 상호작용 미디어 안내 애플리케이션들은 클라이언트 애플리케이션만이 사용자 장비 디바이스 상에 상주하고 서버 애플리케이션이 원격 서버에 상주하는 클라이언트-서버 애플리케이션들일 수 있다. 예를 들어, 상호작용 미디어 안내 애플리케이션들은 일부는 사용자 장비 디바이스(700)의 제어 회로(704) 상에 클라이언트 애플리케이션으로서 그리고 일부는 원격 서버의 제어 회로 상에서 실행되는 서버 애플리케이션(예를 들어, 미디어 안내 데이터 소스(818))으로서 원격 서버 상에 구현될 수 있다. (미디어 안내 데이터 소스(818)와 같은) 원격 서버의 제어 회로에 의해 실행될 때, 상호작용 미디어 안내 애플리케이션은 안내 애플리케이션 표시들을 생성하고, 생성된 표시들을 사용자 장비 디바이스들로 전송하도록 제어 회로에 지시할 수 있다. 서버 애플리케이션은 사용자 장비 상의 저장을 위해 데이터를 전송하도록 미디어 안내 데이터 소스(818)의 제어 회로에 지시할 수 있다. 클라이언트 애플리케이션은 안내 애플리케이션 표시들을 생성하도록 수신 사용자 장비의 제어 회로에 지시할 수 있다.
사용자 장비 디바이스들(802, 804 및 806)에 전달되는 콘텐츠 및/또는 미디어 안내 데이터는 오버-더-탑(OTT) 콘텐츠일 수 있다. OTT 콘텐츠 전달은 위에서 설명된 임의의 사용자 장비 디바이스를 포함하는 인터넷 인에이블드 사용자 디바이스들이 케이블 또는 위성 연결들을 통해 수신되는 콘텐츠 외에도 위에 설명된 콘텐츠를 포함하여 인터넷을 통해 전송되는 콘텐츠를 수신할 수 있게 한다. OTT 콘텐츠는 인터넷 서비스 제공자(ISP)가 제공하는 인터넷 연결을 통해 전달되지만, 제삼자가 콘텐츠를 배포한다. ISP는 콘텐츠의 시청 능력, 저작권 또는 재배포를 담당하지 않을 수 있으며, OTT 콘텐츠 제공자가 제공하는 IP 패킷들만을 전송할 수 있다. OTT 콘텐츠 제공자들의 예들은 IP 패킷들을 통해 오디오 및 비디오를 제공하는 YOUTUBE, NETFLIX 및 HULU를 포함한다. Youtube는 Google Inc. 소유의 상표이고, Netflix는 Netflix Inc. 소유의 상표이며, Hulu는 Hulu, LLC 소유의 상표이다. OTT 콘텐츠 제공자들은 추가로 또는 대안으로 전술한 미디어 안내 데이터를 제공할 수 있다. OTT 콘텐츠 제공자들은 콘텐츠 및/또는 미디어 안내 데이터 외에도 상호작용 미디어 안내 애플리케이션들(예를 들어, 웹 기반 애플리케이션들 또는 클라우드 기반 애플리케이션들)을 배포할 수 있거나, 콘텐츠는 사용자 장비 디바이스 상에 저장된 상호작용 미디어 안내 애플리케이션들에 의해 표시될 수 있다.
미디어 안내 시스템(800)은 콘텐츠에 액세스하고 미디어 안내를 제공하기 위해 사용자 장비 디바이스들 및 콘텐츠 및 안내 데이터의 소스들이 서로 통신할 수 있는 다수의 접근법 또는 네트워크 구성을 예시하도록 의도된다. 본 명세서에 설명된 실시예들은 이들 접근법 중 어느 하나 또는 서브세트에서, 또는 콘텐츠를 전달하고 미디어 안내를 제공하기 위한 다른 접근법들을 사용하는 시스템에서 적용될 수 있다. 다음의 4개의 접근법은 도 8의 일반화된 예의 특정 예시들을 제공한다.
하나의 접근법에서, 사용자 장비 디바이스들은 홈 네트워크 내에서 서로 통신할 수 있다. 사용자 장비 디바이스들은 전술한 단거리 점대점 통신 스킴들을 통해, 홈 네트워크 상에 제공된 허브 또는 다른 유사한 디바이스를 통한 간접 경로들을 통해, 또는 통신 네트워크(814)를 통해 서로 직접 통신할 수 있다. 단일 가정 내의 다수의 개인 각각은 홈 네트워크 상에서 상이한 사용자 장비 디바이스들을 동작시킬 수 있다. 결과적으로, 다양한 미디어 안내 정보 또는 설정들이 상이한 사용자 장비 디바이스들 사이에서 통신되는 것이 바람직할 수 있다. 예를 들어, 2005년 7월 11일자로 출원된 Ellis 등의 미국 특허 공개 제2005/0251827호에 더 상세히 설명된 바와 같이, 사용자들이 홈 네트워크 내에서 상이한 사용자 장비 디바이스들 상에서 일관된 상호작용 미디어 안내 애플리케이션 설정들을 유지하는 것이 바람직할 수 있다. 홈 네트워크 내의 상이한 타입들의 사용자 장비 디바이스들은 또한 서로 통신하여 콘텐츠를 전송할 수 있다. 예를 들어, 사용자는 사용자 컴퓨터 장비로부터 휴대용 비디오 플레이어 또는 휴대용 음악 플레이어로 콘텐츠를 전송할 수 있다.
제2 접근법에서, 사용자들은 그들이 콘텐츠에 액세스하여 미디어 안내를 획득하는 여러 타입의 사용자 장비를 가질 수 있다. 예를 들어, 일부 사용자들은 가정내 및 모바일 디바이스들에 의해 액세스되는 홈 네트워크들을 가질 수 있다. 사용자들은 원격 디바이스 상에 구현된 상호작용 미디어 안내 애플리케이션을 통해 가정내 디바이스들을 제어할 수 있다. 예를 들어, 사용자들은 그들의 사무실의 퍼스널 컴퓨터 또는 PDA 또는 웹 인에이블드 모바일 전화와 같은 모바일 디바이스를 통해 웹 사이트 상에서 온라인 상호작용 미디어 안내 애플리케이션에 액세스할 수 있다. 사용자는 온라인 안내 애플리케이션 상에서 다양한 설정들(예를 들어, 기록, 미리 알림 또는 다른 설정들)을 설정하여 사용자의 가정내 장비를 제어할 수 있다. 온라인 안내는 사용자 장비를 직접 또는 사용자의 가정내 장비 상의 상호작용 미디어 안내 애플리케이션과 통신하여 제어할 수 있다. 사용자 장비 디바이스들이 서로 원격 위치들에 있는 경우에 사용자 장비 디바이스들이 통신하기 위한 다양한 시스템들 및 방법들이 예를 들어 2011년 10월 25일자로 허여된 Ellis 등의 미국 특허 제8,046,801호에서 논의되며, 이에 따라 그 전체가 본 명세서에 참고로 통합된다.
제3 접근법에서, 가정 내부 및 외부의 사용자 장비 디바이스들의 사용자들은 그들의 상호작용 미디어 안내 애플리케이션을 사용하여 콘텐츠에 액세스하기 위해 콘텐츠 소스(816)와 직접 통신할 수 있다. 특히, 가정 내에서, 사용자 텔레비전 장비(802) 및 사용자 컴퓨터 장비(804)의 사용자들은 상호작용 미디어 안내 애플리케이션에 액세스하여 바람직한 콘텐츠를 내비게이트하고 찾을 수 있다. 또한, 사용자들은 무선 사용자 통신 디바이스들(806)을 사용하여 가정 외부의 상호작용 미디어 안내 애플리케이션에 액세스하여 바람직한 콘텐츠를 내비게이트하고 찾을 수 있다.
제4 접근법에서, 사용자 장비 디바이스들은 클라우드 컴퓨팅 환경에서 동작하여 클라우드 서비스들에 액세스할 수 있다. 클라우드 컴퓨팅 환경에서, 콘텐츠 공유, 저장 또는 배포를 위한 다양한 타입의 컴퓨팅 서비스들(예를 들어, 비디오 공유 사이트들 또는 소셜 네트워킹 사이트들)이 "클라우드"라고 하는 네트워크 액세스 가능한 컴퓨팅 및 저장 자원들의 집합에 의해 제공된다. 예를 들어, 클라우드는 통신 네트워크(814)를 통해 인터넷과 같은 네트워크를 통해 연결된 다양한 타입의 사용자들 및 디바이스들에 클라우드 기반 서비스들을 제공하는, 중앙에 또는 분산된 위치들에 위치할 수 있는 서버 컴퓨팅 디바이스들의 집합을 포함할 수 있다. 이들 클라우드 자원은 하나 이상의 콘텐츠 소스(816) 및 하나 이상의 미디어 안내 데이터 소스(818)를 포함할 수 있다. 추가로 또는 대안으로, 원격 컴퓨팅 사이트들은 사용자 텔레비전 장비(802), 사용자 컴퓨터 장비(804) 및 무선 사용자 통신 디바이스(806)와 같은 다른 사용자 장비 디바이스들을 포함할 수 있다. 예를 들어, 다른 사용자 장비 디바이스들은 비디오 또는 스트리밍 비디오의 저장된 사본에 대한 액세스를 제공할 수 있다. 이러한 실시예들에서, 사용자 장비 디바이스들은 중앙 서버와 통신하지 않고 피어 대 피어 방식으로 동작할 수 있다.
클라우드는 사용자 장비 디바이스들에 대해 많은 예 중에서 특히 콘텐츠 저장, 콘텐츠 공유 또는 소셜 네트워킹 서비스들과 같은 서비스들에 대한 액세스는 물론, 전술한 임의의 콘텐츠에 대한 액세스를 제공한다. 서비스들은 클라우드 컴퓨팅 서비스 제공자들을 통해 또는 온라인 서비스들의 다른 제공자들을 통해 클라우드에서 제공될 수 있다. 예를 들어, 클라우드 기반 서비스들은 콘텐츠 저장 서비스, 콘텐츠 공유 사이트, 소셜 네트워킹 사이트 또는 사용자 소스 콘텐츠를 연결된 디바이스들 상에서 다른 사람들이 볼 수 있도록 배포하는 다른 서비스들을 포함할 수 있다. 이러한 클라우드 기반 서비스들은 사용자 장비 디바이스가 콘텐츠를 국지적으로 저장하고 국지적으로 저장된 콘텐츠에 액세스하는 것이 아니라 콘텐츠를 클라우드에 저장하고 클라우드로부터 콘텐츠를 수신하는 것을 가능하게 할 수 있다.
사용자는 콘텐츠를 기록하기 위해 캠코더들, 비디오 모드를 갖는 디지털 카메라들, 오디오 레코더들, 모바일 전화들 및 핸드헬드 컴퓨팅 디바이스들과 같은 다양한 콘텐츠 캡처 디바이스들을 사용할 수 있다. 사용자는 예를 들어 콘텐츠 캡처 특징을 갖는 사용자 컴퓨터 장비(804) 또는 무선 사용자 통신 디바이스(806)로부터 직접 클라우드 상의 콘텐츠 저장 서비스에 콘텐츠를 업로드할 수 있다. 대안으로, 사용자는 먼저 사용자 컴퓨터 장비(804)와 같은 사용자 장비 디바이스로 콘텐츠를 전송할 수 있다. 콘텐츠를 저장하는 사용자 장비 디바이스는 통신 네트워크(814) 상의 데이터 전송 서비스를 사용하여 클라우드에 콘텐츠를 업로드한다. 일부 실시예들에서, 사용자 장비 디바이스 자체는 클라우드 자원이고, 다른 사용자 장비 디바이스들은 사용자가 콘텐츠를 저장한 사용자 장비 디바이스로부터 직접 콘텐츠에 액세스할 수 있다.
클라우드 자원들은 예를 들어 웹 브라우저, 상호작용 미디어 안내 애플리케이션, 데스크탑 애플리케이션, 모바일 애플리케이션, 및/또는 이들의 액세스 애플리케이션들의 임의의 조합을 사용하여 사용자 장비 디바이스에 의해 액세스될 수 있다. 사용자 장비 디바이스는 애플리케이션 전달을 위해 클라우드 컴퓨팅에 의존하는 클라우드 클라이언트일 수 있거나, 사용자 장비 디바이스는 클라우드 자원들에 액세스하지 않는 소정의 기능을 가질 수 있다. 예를 들어, 사용자 장비 디바이스 상에서 실행되는 일부 애플리케이션들은 클라우드 애플리케이션들, 즉 인터넷을 통해 서비스로서 전달되는 애플리케이션들일 수 있는 반면, 다른 애플리케이션들은 사용자 장비 디바이스 상에 저장 및 실행될 수 있다. 일부 실시예들에서, 사용자 디바이스는 다수의 클라우드 자원으로부터 동시에 콘텐츠를 수신할 수 있다. 예를 들어, 사용자 디바이스는 하나의 클라우드 자원으로부터 오디오를 스트리밍하면서 제2 클라우드 자원으로부터 콘텐츠를 다운로드할 수 있다. 또는, 사용자 디바이스는 더 효율적인 다운로드를 위해 다수의 클라우드 자원으로부터 콘텐츠를 다운로드할 수 있다. 일부 실시예들에서, 사용자 장비 디바이스들은 도 7과 관련하여 설명된 처리 회로에 의해 수행되는 처리 동작들과 같은 처리 동작들을 클라우드 자원들을 사용할 수 있다.
본 명세서에서 언급되는 바와 같이, "~에 응답하여"라는 용어는 ~의 결과로서 개시되는 것을 말한다. 예를 들어, 제2 액션에 응답하여 수행되는 제1 액션은 제1 액션과 제2 액션 사이의 틈새 단계들을 포함할 수 있다. 본 명세서에서 언급되는 바와 같이, "~에 직접 응답하여"라는 용어는 ~에 의해 유발되는 것을 말한다. 예를 들어, 제2 액션에 직접 응답하여 수행되는 제1 액션은 제1 액션과 제2 액션 사이에 틈새 단계들을 포함하지 않을 수 있다.
도 9는 본 개시의 일부 실시예들에 따른 상호작용 미디어 안내 애플리케이션에 제시되는 자연어 질의에 대한 실행 경로를 결정하기 위한 제어 회로(예컨대, 제어 회로(704))의 예시적인 프로세스(900)의 흐름도이다. 일부 실시예들에서, 이 알고리즘은 처리 회로(예를 들어, 처리 회로(706))에 의해 디코딩되어 실행될 명령어들의 세트로서 비일시적 저장 매체(예를 들어, 저장 디바이스(708)) 상에 인코딩될 수 있다. 처리 회로는 또한 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 해독, 스케일링, 아날로그/디지털 변환 회로 등과 같은 제어 회로(704) 내에 포함된 다른 하위 회로들에 명령어들을 제공할 수 있다.
단계 902에서, 제어 회로(704)는 자연어 질의에 대한 실행 경로를 선택하기 위한 프로세스를 개시한다.
단계 904에서, 제어 회로(704)는 입력 엔티티 및 미지의 용어를 포함하는 질의를 사용자로부터 수신한다. 예를 들어, 제어 회로(704)는 입력 엔티티 "Morgan Freeman" 및 "Academy Award" 및 미등록 용어"수상했나요"를 포함하는 질의 "Morgan Freeman이 어떤 영화에서 Academy Award를 수상했나요"를 수신할 수 있다.
단계 906에서, 제어 회로(704)는 지식 그래프로부터 질의에 대한 제1 가능한 응답 및 제2 가능한 응답을 검색한다. 제1 가능한 응답은 질의에 대한 제1 실행 경로를 통해 도출되고, 제2 가능한 응답은 질의에 대한 제2 실행 경로를 통해 도출된다. 예를 들어, 제어 회로(704)는 지식 그래프로부터 가능한 응답들의 2개의 세트, 즉 Morgan Freeman이 아카데미 상 후보였던 영화들(예를 들어, "Shawshank Redemption", "Invictus", "Driving Miss Daisy" 및 "Million Dollar Baby")에 대응하는 제1 세트 및 Morgan Freeman이 아카데미 상 수상자였던 영화(예를 들어, "Million Dollar Baby")에 대응하는 제2 세트를 검색할 수 있다.
일부 실시예들에서, 제1 가능한 응답은 입력 엔티티로부터 제1 가능한 응답까지의 지식 그래프 내의 하나 이상의 노드를 탐색함으로써 제1 실행 경로를 통해 도출된다. 예를 들어, 제1 가능한 응답 "Shawshank Redemption"은 입력 엔티티로부터 올바른 응답까지의 후보 에지를 탐색함으로써 제1 실행 경로를 통해 도출될 수 있다.
일부 실시예들에서, 제2 가능한 응답은 입력 엔티티로부터 제2 가능한 응답까지의 지식 그래프 내의 하나 이상의 노드를 탐색함으로써 제2 실행 경로를 통해 도출된다. 예를 들어, 제2 가능한 응답 "Million Dollar Baby"는 입력 엔티티로부터 올바른 응답까지의 수상자 에지를 탐색함으로써 제2 실행 경로를 통해 도출될 수 있다.
단계 908에서, 제어 회로(704)는 표시를 위해 제1 가능한 응답 및 제2 가능한 응답 중 적어도 하나를 포함하는 상호작용 미디어 안내 스크린을 생성한다. 예를 들어, 제어 회로(704)는 표시를 위해 가능한 응답들의 세트들을 포함하는 상호작용 미디어 안내 스크린을 생성할 수 있다. 추가로 또는 대안으로, 제어 회로(704)는 자연어 회화 "Shawshank Redemption을 말하시나요"를 사용하여 응답할 수 있다.
단계 910에서, 제어 회로(704)는 사용자로부터 제1 가능한 응답 및 제2 가능한 응답 중 적어도 하나에 대한 피드백을 나타내는 입력을 수신한다. 예를 들어, 제어 회로(704)는 Million Dollar Baby가 올바른 응답이라는 피드백을 나타내는 입력을 사용자로부터 수신할 수 있다. 대안으로 또는 추가로, 제어 회로(704)는 Shawshank Redemption이 올바른 응답이 아니라는 피드백을 나타내는 입력을 사용자로부터 수신할 수 있다.
일부 실시예들에서, 피드백을 나타내는 사용자로부터의 입력은 상호작용 미디어 안내 스크린으로부터의 제1 가능한 응답 및 제2 가능한 응답 중 하나의 선택을 포함한다. 예를 들어, 사용자로부터의 입력은 가능한 응답들의 제1 및 제2 세트를 표시하는 상호작용 미디어 안내 스크린으로부터의 "Million Dollar Baby"의 선택을 나타낼 수 있다.
일부 실시예들에서, 피드백을 나타내는 사용자로부터의 입력은 제1 가능한 응답이 올바르다는 지시 및 제1 가능한 응답이 올바르지 않다는 지시 중 하나를 포함한다. 예를 들어, "Shawshank Redemption을 말하시나요"에 응답하여, 사용자로부터의 입력은 Shawshank Redemption이 잘못된 응답이라는 피드백을 나타낼 수 있다.
단계 912에서, 제어 회로(704)는 피드백에 기초하여 질의에 대한 올바른 응답을 결정한다. 예를 들어, 제어 회로(704)는 피드백에 기초하여 Million Dollar Baby를 질의에 대한 올바른 응답으로 결정할 수 있다.
일부 실시예들에서, 제어 회로(704)는 제1 가능한 응답 및 제2 가능한 응답 중 하나의 사용자 선택을 올바른 응답으로 할당함으로써 질의에 대한 올바른 응답을 결정한다. 예를 들어, 제어 회로(704)는 "Million Dollar Baby"의 사용자 선택을 올바른 응답으로 할당할 수 있다.
일부 실시예들에서, 제어 회로(704)는 피드백이 제1 가능한 응답이 올바르다는 지시를 포함하는 경우에 제1 응답을 올바른 응답으로 할당하고, 피드백이 제1 가능한 응답이 올바르지 않다는 지시를 포함하는 경우에 제2 응답을 올바른 응답으로 할당함으로써 질의에 대한 올바른 응답을 결정한다. 예를 들어, "Shawshank Redemption을 말하시나요"에 응답하여 그리고 다른 가능한 응답이 "Million Dollar Baby"인 경우, 제어 회로(704)는 Million Dollar Baby를 올바른 응답으로 할당할 수 있는데, 이는 사용자로부터의 피드백이 Shawshank Redemption이 잘못된 응답이라는 지시를 포함하기 때문이다.
단계 914에서, 제어 회로(704)는 올바른 응답에 기초하여 질의에 대한 제1 실행 경로 및 제2 실행 경로 중 하나를 선택한다. 예를 들어, 제어 회로(704)는 올바른 응답 Million Dollar Baby에 기초하여 이 질의에 대한 실행 경로를 선택할 수 있다.
이러한 방식으로, 제어 회로(704)는 올바른 응답을 검색하기 위해 지식 그래프를 탐색하는 것과 관련하여 유사한 형태를 갖는 이 질의 및/또는 질의들을 평가하는 방법을 학습할 수 있다.
일부 실시예들에서, 질의는 제1 질의로서 참조되고, 입력 엔티티는 제1 입력 엔티티로서 참조되며, 올바른 응답은 제1 올바른 응답으로 참조된다. 제어 회로(704)는 사용자로부터 제1 질의와 형태가 유사하고 제2 입력 엔티티 및 미지의 용어를 포함하는 제2 질의를 수신한다. 예를 들어, 제어 회로(704)는 질의 "Matthew McConaughey가 어떤 영화에서 Academy Award를 수상했나요"를 수신할 수 있다. 제어 회로(704)는 지식 그래프로부터 제1 질의에 대한 선택된 실행 경로에 기초하여 제2 질의에 대한 제2 올바른 응답을 검색한다. 예를 들어, 제어 회로(704)는 지식 그래프로부터 선택된 실행 경로에 기초하여 올바른 응답 "Dallas Buyers Club"을 검색할 수 있다.
일부 실시예들에서, 선택된 실행 경로는 입력 엔티티로부터 올바른 응답까지의 지식 그래프 내의 하나 이상의 노드의 탐색을 포함한다. 예를 들어, 선택된 실행 경로는 입력 엔티티로부터 올바른 응답까지의 수상자 에지를 탐색하는 것을 포함할 수 있다.
일부 실시예들에서, 제어 회로(704)는 제2 입력 엔티티로부터 제2 올바른 응답까지의 지식 그래프 내의 하나 이상의 노드를 탐색함으로써 제1 질의에 대한 선택된 실행 경로에 기초하여 제2 질의에 대한 제2 올바른 응답을 검색한다. 예를 들어, 제어 회로(704)는 지식 그래프로부터 입력 엔티티로부터 올바른 응답까지의 수상자 에지를 탐색함으로써 선택된 실행 경로에 기초하여 올바른 응답 "Dallas Buyers Club"을 검색할 수 있다.
도 9의 단계들 또는 설명들은 본 개시의 임의의 다른 실시예와 함께 사용될 수 있는 것으로 고려된다. 또한, 도 9의 알고리즘과 관련하여 설명된 설명들은 본 개시의 목적들을 촉진하기 위해 대안적인 순서들로 또는 병렬로 행해질 수 있다. 예를 들어, 시스템 또는 방법의 지연을 줄이거나 속도를 높이기 위해 조건문들 및 논리적 평가들은 임의의 순서 또는 병렬로 또는 동시에 수행될 수 있다. 추가적인 예로서, 일부 실시예들에서, 변수의 여러 인스턴스가 다수의 논리 프로세서 스레드를 사용하여 병렬로 평가될 수 있거나, 알고리즘은 분기 예측을 통합함으로써 향상될 수 있다. 또한, 도 9의 프로세스는 적절하게 구성된 소프트웨어 및 하드웨어의 조합으로 구현될 수 있으며, 도 7 및 도 8과 관련하여 설명된 임의의 디바이스 또는 장비는 프로세스의 하나 이상의 부분을 구현하는 데 사용될 수 있다는 점에 유의해야 한다.
도 10은 본 개시의 일부 실시예들에 따른 사용자로부터의 피드백에 따라 사용자 질의에 대한 올바른 응답을 결정하기 위한 제어 회로(예컨대, 제어 회로(704))의 예시적인 프로세스(1000)의 흐름도이다. 일부 실시예들에서, 이 알고리즘은 처리 회로(예를 들어, 처리 회로(706))에 의해 디코딩되어 실행될 명령어들의 세트로서 비일시적 저장 매체(예를 들어, 저장 디바이스(708)) 상에 인코딩될 수 있다. 처리 회로는 또한 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 해독, 스케일링, 아날로그/디지털 변환 회로 등과 같은 제어 회로(704) 내에 포함된 다른 하위 회로들에 명령어들을 제공할 수 있다.
단계 1002에서, 제어 회로(704)는 사용자의 피드백에 기초하여 질의에 대한 올바른 응답을 결정하는 프로세스를 시작한다.
단계 1004에서, 제어 회로(704)는 제1 가능한 응답만이 표시를 위해 생성되었는지를 결정한다. 이 실시예에서, 사용자는 제1 가능한 응답이 올바르다는 지시 또는 제1 가능한 응답이 올바르지 않다는 지시를 포함하는 피드백을 제공한다. 대안으로, 제1 가능한 응답 및 제2 가능한 응답 양자가 사용자에게 표시하기 위해 생성될 수 있다.
제1 가능한 응답만이 표시를 위해 생성된 경우, 단계 1006에서, 제어 회로(704)는 사용자의 피드백이 제1 가능한 응답을 올바른 응답으로 지시하는지를 결정한다. 제1 가능한 응답이 올바른 응답으로 지시되는 경우, 단계 1008에서, 제어 회로(704)는 제1 가능한 응답을 올바른 응답으로 할당한다. 제1 가능한 응답이 올바르지 않은 응답으로 지시되는 경우, 단계 1010에서, 제어 회로(704)는 제2 가능한 응답을 올바른 응답으로 할당한다. 즉, 제어 회로(704)는 피드백이 제1 가능한 응답이 올바르다는 지시를 포함하는 경우 제1 응답을 올바른 응답으로 할당하고, 피드백이 제1 가능한 응답이 올바르지 않다는 지시를 포함하는 경우 제2 응답을 올바른 응답으로 할당함으로써, 질의에 대한 올바른 응답을 결정한다. 예를 들어, "Shawshank Redemption을 말하시나요"에 응답하여 그리고 다른 가능한 응답이 "Million Dollar Baby"인 경우, 제어 회로(704)는 Million Dollar Baby를 올바른 응답으로 할당할 수 있는데, 이는 사용자로부터의 피드백이 Shawshank Redemption이 잘못된 응답이라는 지시를 포함하기 때문이다.
제1 가능한 응답 및 제2 가능한 응답이 표시를 위해 생성되는 경우, 단계 1012에서, 제어 회로(704)는 가능한 응답들 중 하나의 사용자 선택을 올바른 응답으로 수신한다. 단계 1014에서, 제어 회로(704)는 사용자 선택 응답을 올바른 응답으로 할당하고, 제어 회로(704)는 사용자로부터 제1 가능한 응답 및 제2 가능한 응답 중 적어도 하나에 대한 피드백을 나타내는 입력을 수신한다. 즉, 피드백을 나타내는 사용자로부터의 입력은 상호작용 미디어 안내 스크린으로부터의 제1 가능한 응답 및 제2 가능한 응답 중 하나의 선택을 포함한다. 예를 들어, 사용자로부터의 입력은 가능한 응답들의 제1 및 제2 세트를 표시하는 상호작용 미디어 안내 스크린으로부터의 "Million Dollar Baby"의 선택을 나타낼 수 있다.
도 10의 단계들 또는 설명들은 본 개시의 임의의 다른 실시예와 함께 사용될 수 있는 것으로 고려된다. 또한, 도 10의 알고리즘과 관련하여 설명된 설명들은 본 개시의 목적들을 촉진하기 위해 대안적인 순서들로 또는 병렬로 행해질 수 있다. 예를 들어, 시스템 또는 방법의 지연을 줄이거나 속도를 높이기 위해 1004 및 1006에서의 그것들과 같은 조건문들 및 논리적 평가들은 임의의 순서 또는 병렬로 또는 동시에 수행될 수 있다. 추가적인 예로서, 일부 실시예들에서, 변수의 여러 인스턴스가 다수의 논리 프로세서 스레드를 사용하여 병렬로 평가될 수 있거나, 알고리즘은 분기 예측을 통합함으로써 향상될 수 있다. 또한, 도 10의 프로세스는 적절하게 구성된 소프트웨어 및 하드웨어의 조합으로 구현될 수 있으며, 도 7 및 도 8과 관련하여 설명된 임의의 디바이스 또는 장비는 프로세스의 하나 이상의 부분을 구현하는 데 사용될 수 있다는 점에 유의해야 한다.
전술한 프로세스들은 한정이 아니라 예시적인 것으로 의도된다. 이 분야의 기술자는 본 발명의 범위를 벗어나지 않고 본 명세서에서 논의된 프로세스들의 단계들이 생략, 수정, 결합 및/또는 재배열될 수 있고, 임의의 추가 단계들이 수행될 수 있다는 것을 알 것이다. 더 일반적으로, 상기 개시는 한정이 아니라 예시적인 것으로 의도된다. 이어지는 청구항들만이 본 발명이 포함하는 것에 대한 경계들을 설정하는 것으로 의도된다. 또한, 임의의 일 실시예에서 설명된 특징들 및 제한들은 본 명세서의 임의의 다른 실시예에 적용될 수 있으며, 일 실시예와 관련된 흐름도들 또는 예들은 적절한 방식으로 임의의 다른 실시예와 결합될 수 있거나, 상이한 순서들로 행해질 수 있거나, 병렬로 행해질 수 있다는 점에 유의해야 한다. 또한, 본 명세서에 설명된 시스템들 및 방법들은 실시간으로 수행될 수 있다. 또한, 전술한 시스템들 및/또는 방법들은 다른 시스템들 및/또는 방법들에 적용될 수 있거나 그들에 따라 사용될 수 있음에 유의해야 한다.

Claims (51)

  1. 상호작용 미디어 안내 애플리케이션에 제시되는 자연어 질의(natural language query)에 대한 실행 경로를 결정하기 위한 방법으로서,
    사용자로부터 입력 엔티티 및 미등록 용어를 포함하는 제1 질의를 수신하는 단계;
    지식 그래프(knowledge graph)로부터, 상기 제1 질의에 대한 제1 가능한 응답 및 제2 가능한 응답을 검색(retrieve)하는 단계 - 상기 제1 가능한 응답은 상기 제1 질의에 대한 제1 실행 경로를 통해 도출되고, 상기 제2 가능한 응답은 상기 제1 질의에 대한 제2 실행 경로를 통해 도출됨 -;
    표시를 위해 상기 제1 가능한 응답 및 상기 제2 가능한 응답 중 적어도 하나를 포함하는 상호작용 미디어 안내 스크린을 생성하는 단계;
    상기 제1 가능한 응답 및 상기 제2 가능한 응답 중 적어도 하나에 대한 피드백을 나타내는 상기 사용자로부터의 입력을 수신하는 단계;
    상기 피드백에 기초하여 상기 제1 질의에 대한 올바른(correct) 응답을 결정하는 단계;
    상기 올바른 응답에 기초하여 상기 제1 질의에 대한 상기 제1 실행 경로 및 상기 제2 실행 경로 중 하나를 선택하는 단계; 및
    상기 제1 질의와 상이한 제2 질의에 응답하여, 상기 지식 그래프로부터, 상기 제1 질의에 대한 상기 선택된 실행 경로에 따라 상기 제2 질의에 대한 응답을 검색하는 단계
    를 포함하는, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  2. 제1항에 있어서,
    상기 제1 가능한 응답은 상기 입력 엔티티로부터 상기 제1 가능한 응답까지의 상기 지식 그래프 내의 하나 이상의 노드를 탐색(traverse)함으로써 상기 제1 실행 경로를 통해 도출되는 것인, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  3. 제1항에 있어서, 상기 제2 가능한 응답은 상기 입력 엔티티로부터 상기 제2 가능한 응답까지의 상기 지식 그래프 내의 하나 이상의 노드를 탐색함으로써 상기 제2 실행 경로를 통해 도출되는 것인, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  4. 제1항에 있어서, 피드백을 나타내는 상기 사용자로부터의 입력은 상기 상호작용 미디어 안내 스크린으로부터의 상기 제1 가능한 응답 및 상기 제2 가능한 응답 중 하나의 선택을 포함하는 것인, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  5. 제4항에 있어서, 상기 제1 질의에 대한 상기 올바른 응답을 결정하는 단계는 상기 제1 가능한 응답 및 상기 제2 가능한 응답 중 상기 하나의 사용자 선택을 상기 올바른 응답으로서 할당하는 단계를 포함하는 것인, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  6. 제1항에 있어서, 피드백을 나타내는 상기 사용자로부터의 입력은 상기 제1 가능한 응답이 올바르다는 지시(indication) 및 상기 제1 가능한 응답이 올바르지 않다는 지시 중 하나를 포함하는 것인, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  7. 제6항에 있어서, 상기 제1 질의에 대한 상기 올바른 응답을 결정하는 단계는,
    상기 피드백이 상기 제1 가능한 응답이 올바르다는 지시를 포함하는 경우에 상기 제1 가능한 응답을 상기 올바른 응답으로서 할당하는 단계;
    상기 피드백이 상기 제1 가능한 응답이 올바르지 않다는 지시를 포함하는 경우에 상기 제2 가능한 응답을 상기 올바른 응답으로서 할당하는 단계
    를 포함하는 것인, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  8. 제1항에 있어서, 상기 선택된 실행 경로는 상기 입력 엔티티로부터 상기 올바른 응답까지의 상기 지식 그래프 내의 하나 이상의 노드의 탐색을 포함하는 것인, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  9. 제8항에 있어서, 상기 제1 질의에 대한 상기 선택된 실행 경로에 따라 상기 제2 질의에 대한 응답을 검색하는 단계는 제2 입력 엔티티로부터 상기 제2 질의에 대한 응답까지의 상기 지식 그래프 내의 하나 이상의 노드를 탐색하는 단계를 포함하는 것인, 자연어 질의에 대한 실행 경로를 결정하기 위한 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
KR1020187018501A 2016-07-29 2017-07-28 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법 KR102430625B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/223,155 US10380169B2 (en) 2016-07-29 2016-07-29 Systems and methods for determining an execution path for a natural language query
US15/223,155 2016-07-29
PCT/US2017/044332 WO2018022970A1 (en) 2016-07-29 2017-07-28 Systems and methods for determining an execution path for a natural language query

Publications (2)

Publication Number Publication Date
KR20190034490A KR20190034490A (ko) 2019-04-02
KR102430625B1 true KR102430625B1 (ko) 2022-08-08

Family

ID=59579927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187018501A KR102430625B1 (ko) 2016-07-29 2017-07-28 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US10380169B2 (ko)
EP (1) EP3391254A1 (ko)
JP (1) JP7114467B2 (ko)
KR (1) KR102430625B1 (ko)
AU (1) AU2017302614A1 (ko)
CA (1) CA2999091A1 (ko)
WO (1) WO2018022970A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11170768B2 (en) * 2017-04-17 2021-11-09 Samsung Electronics Co., Ltd Device for performing task corresponding to user utterance
US11263405B2 (en) * 2018-10-10 2022-03-01 Healthpointe Solutions, Inc. System and method for answering natural language questions posed by a user
CN109614501B (zh) * 2018-12-13 2020-09-25 浙江工商大学 一种基于知识图谱的工业隐患规范化上报方法及系统
CN109902149B (zh) * 2019-02-21 2021-08-13 北京百度网讯科技有限公司 查询处理方法和装置、计算机可读介质
US11200222B2 (en) 2019-04-24 2021-12-14 International Business Machines Corporation Natural language interface databases
KR102252459B1 (ko) 2019-09-18 2021-05-14 주식회사 솔트룩스 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템
CN111147375A (zh) * 2019-12-31 2020-05-12 秒针信息技术有限公司 一种网络操作方法、装置、计算机设备和介质
DE112020006904T5 (de) * 2020-05-21 2023-01-12 Mitsubishi Electric Corporation Inferenzvorrichtung, Aktualisierungsverfahren und Aktualisierungsprogramm
US20220327393A1 (en) * 2020-09-08 2022-10-13 Fmr Llc Systems and methods for a digital ecosystem

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010017159A1 (en) 2008-08-05 2010-02-11 Beliefnetworks, Inc. Systems and methods for concept mapping
KR101208964B1 (ko) * 2012-05-17 2012-12-07 한국과학기술정보연구원 온톨로지 기반 사용자 의도에 따른 정보 제공 방법 및 그 서버
JP5226401B2 (ja) 2008-06-25 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書データの検索を支援する装置及び方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
ES2342593T3 (es) 1998-07-17 2010-07-09 United Video Properties, Inc. Sistema de guia interactivo de programas de television que tienen multiples dispositivos dentro de una casa.
US7165098B1 (en) 1998-11-10 2007-01-16 United Video Properties, Inc. On-line schedule system with personalization features
KR100896725B1 (ko) 2001-02-21 2009-05-11 유나이티드 비디오 프로퍼티즈, 인크. 복수의 프로그램 가이드 제공 방법, 프로그램 버퍼링 방법 및 시스템
US20100153885A1 (en) 2005-12-29 2010-06-17 Rovi Technologies Corporation Systems and methods for interacting with advanced displays provided by an interactive media guidance application
US8732208B2 (en) * 2010-04-19 2014-05-20 Facebook, Inc. Structured search queries based on social-graph information
US9928484B2 (en) * 2011-06-24 2018-03-27 Facebook, Inc. Suggesting tags in status messages based on social context
US9183279B2 (en) * 2011-09-22 2015-11-10 International Business Machines Corporation Semantic questioning mechanism to enable analysis of information architectures
US8996555B2 (en) * 2012-11-26 2015-03-31 Sap Se Question answering framework for structured query languages
JP6343337B2 (ja) * 2013-03-15 2018-06-13 ニューラ ラブス コーポレイション 知識への1段階アクセスを提供する適応ユーザインターフェースを有する知的インターネットシステム
US20150112818A1 (en) * 2013-10-22 2015-04-23 Google Inc. Content item selection criteria generation
US20150169758A1 (en) * 2013-12-17 2015-06-18 Luigi ASSOM Multi-partite graph database
US9460215B2 (en) * 2013-12-19 2016-10-04 Facebook, Inc. Ranking recommended search queries on online social networks
US9477760B2 (en) * 2014-02-12 2016-10-25 Facebook, Inc. Query construction on online social networks
US9754210B2 (en) 2014-04-01 2017-09-05 Microsoft Technology Licensing, Llc User interests facilitated by a knowledge base
US10127316B2 (en) * 2014-08-08 2018-11-13 Facebook, Inc. Identifying and processing recommendation requests
US9703859B2 (en) * 2014-08-27 2017-07-11 Facebook, Inc. Keyword search queries on online social networks
US10031912B2 (en) * 2014-12-29 2018-07-24 International Business Machines Corporation Verification of natural language processing derived attributes
US10147047B2 (en) * 2015-01-07 2018-12-04 International Business Machines Corporation Augmenting answer keys with key characteristics for training question and answer systems
WO2016131045A1 (en) * 2015-02-13 2016-08-18 Thomson Reuters Global Resources Systems and methods for natural language question answering and analysis
US10078651B2 (en) 2015-04-27 2018-09-18 Rovi Guides, Inc. Systems and methods for updating a knowledge graph through user input
US10586156B2 (en) * 2015-06-25 2020-03-10 International Business Machines Corporation Knowledge canvassing using a knowledge graph and a question and answer system
US20180032930A1 (en) * 2015-10-07 2018-02-01 0934781 B.C. Ltd System and method to Generate Queries for a Business Database
US10248689B2 (en) * 2015-10-13 2019-04-02 International Business Machines Corporation Supplementing candidate answers
US10289729B2 (en) * 2016-03-17 2019-05-14 Google Llc Question and answer interface based on contextual information
US20170330080A1 (en) * 2016-05-13 2017-11-16 Cognitive Scale, Inc. Universal Cognitive Graph Architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5226401B2 (ja) 2008-06-25 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書データの検索を支援する装置及び方法
WO2010017159A1 (en) 2008-08-05 2010-02-11 Beliefnetworks, Inc. Systems and methods for concept mapping
KR101208964B1 (ko) * 2012-05-17 2012-12-07 한국과학기술정보연구원 온톨로지 기반 사용자 의도에 따른 정보 제공 방법 및 그 서버

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김난주 외 3인, 사용자 질의 의미 해석을 위한 온톨로지 지식 기반 검색, 디지털융복합연구 2014, Vol.12, no.6, pp.245-252. 1부.*

Also Published As

Publication number Publication date
KR20190034490A (ko) 2019-04-02
US10380169B2 (en) 2019-08-13
JP7114467B2 (ja) 2022-08-08
AU2017302614A1 (en) 2018-07-12
WO2018022970A1 (en) 2018-02-01
US20180032514A1 (en) 2018-02-01
CA2999091A1 (en) 2018-02-01
JP2019526081A (ja) 2019-09-12
EP3391254A1 (en) 2018-10-24

Similar Documents

Publication Publication Date Title
KR102430625B1 (ko) 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법
US11477529B2 (en) Methods and systems for distributing media guidance among multiple devices
KR102402910B1 (ko) 제2 유저의 뷰잉 활동에 기초하여 제2 유저에 대한 플레이리스트에 포함시키기 위한 미디어 자산을 제1 유저에게 추천하기 위한 방법 및 시스템
US9858265B1 (en) Systems and methods for determining context switching in conversation
US11714846B2 (en) Systems and methods for executing a supplemental function for a natural language query
KR20200101934A (ko) 음성 데이터 및 미디어 소비 데이터에 기초하여 사용자들을 식별하기 위한 시스템들 및 방법들
US9532100B2 (en) Systems and methods for selecting sound logos for media content
US20150314201A1 (en) Methods and systems for controlling media guidance application operations during video gaming applications
CA3069506A1 (en) Methods and systems for playing back indexed conversations based on the presence of other people

Legal Events

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