KR102047200B1 - 데이터 스트림들의 실시간 자연어 처리 - Google Patents

데이터 스트림들의 실시간 자연어 처리 Download PDF

Info

Publication number
KR102047200B1
KR102047200B1 KR1020187007765A KR20187007765A KR102047200B1 KR 102047200 B1 KR102047200 B1 KR 102047200B1 KR 1020187007765 A KR1020187007765 A KR 1020187007765A KR 20187007765 A KR20187007765 A KR 20187007765A KR 102047200 B1 KR102047200 B1 KR 102047200B1
Authority
KR
South Korea
Prior art keywords
content
electronic device
content item
text
text stream
Prior art date
Application number
KR1020187007765A
Other languages
English (en)
Other versions
KR20180032665A (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 KR20180032665A publication Critical patent/KR20180032665A/ko
Application granted granted Critical
Publication of KR102047200B1 publication Critical patent/KR102047200B1/ko

Links

Images

Classifications

    • G06F17/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7844Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using original textual content or text extracted from visual content or transcript of audio data
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • G06F17/27
    • G06F17/28
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • 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/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8405Generation or processing of descriptive data, e.g. content descriptors represented by keywords

Abstract

본 명세서에는 자연어 처리를 사용하여 관련 콘텐츠를 식별 및 탐색하는 시스템 및 방법이 일반적으로 개시된다. 일 실시예는 스크립팅 명령들을 실행하여 자연어 처리 및 관련 콘텐츠 검색을 수행하고, 또한 사용자-인터랙티브 및 관련 콘텐츠를 획득 및 디스플레이하는 자동 방법들을 모두 가능하게 하는 다이내믹 인터페이스를 제공하도록 구성된 HTML5/JavaScript 사용자 인터페이스를 포함한다. 자연어 처리는 콘텐츠 세트와 관련된 텍스트의 하나 이상의 컨텍스트-센서티브(context-sensitive) 키 용어들을 추출할 수 있다. 관련 콘텐츠는 컨텍스트-센서티브(context-sensitive) 키 용어들을 포함하는 키워드 검색들을 사용하여 탐색 및 식별될 수 있다. 예를 들어, 자막들 또는 클로즈드 캡션으로부터 기원한 텍스트 등의 제 1 콘텐츠의 비디오와 관련된 텍스트가 사용됨으로써 제 2 콘텐츠의 비디오, 또는 제 3 콘텐츠의 텍스트와 같은 관련 콘텐츠를 검색 및 탐색하는 것을 수행할 수 있다.

Description

데이터 스트림들의 실시간 자연어 처리{REAL-TIME NATURAL LANGUAGE PROCESSING OF DATASTREAMS}
실시예들은 콘텐츠 처리 기술들 및 관련 소프트웨어 애플리케이션들의 사용과 관련된다. 일부 실시예들은 인터넷-관련 애플리케이션들 및 서비스들과 관련된 데이터 스트림들 및 디지털 콘텐츠 정보의 자연어 처리에 관한 것이다.
통상적으로 자연어 처리(Natural language processing; NLP)는 처리량이 매우 많고 스토리지를 많이 사용하는 컴퓨팅 활동이었다. 실제, 다양한 타입의 이 활동들은 다른 기능들, 예를 들어 NLP를 스피치-텍스트와 매칭시키고 대규모 컴퓨팅 및 스토리지 리소스들을 제공하는 클라우드 설치들로 마이그레이션 되어왔다. 그러나, 클라이언트-측 성능 및 로컬 스토리지가 증가함에 따라, NLP가 로컬 플랫폼들 상에서 사용될 수 있게 하는 것이 가능한 시스템들이 존재한다.
오늘날 NLP의 구현들은 통상적으로 C/C++와 같은 언어들을 사용하여 성능-중심의 관심 및 특정 하드웨어 및 운영 체제 환경으로 코드와 알고리즘들을 조정하는 능력을 반영하여 제공된다. 중요한 일 단점은 다수의 하드웨어 및 운영체제 구성들과 조합들로 인해 많은 NLP 구현들이 존재하며, 이것은 개발과, 최적화와, 지원에 대한 상당한 과제를 발생시킨다.
도 1은 예시적 실시예에 따라, 자연어 처리와 관련하여 복수의 디스플레이 디바이스들 간에 콘텐츠 디스플레이를 가능하게 하는 시스템 아키텍처의 예시를 제공한다.
도 2는 예시적 실시예에 따라, 콘텐츠 및 관련 콘텐츠 디스플레이들을 제공하는 디바이스들을 위한 디바이스 아키텍처의 예시를 제공한다.
도 3은 예시적 실시예에 따라, 자연어 처리를 사용하여 사용자에게 관련 콘텐츠를 제공하도록 구성된 HTML5/JavaScript가 가능한 그래픽 사용자 인터페이스의 예시를 제공한다.
도 4는 예시적 실시예에 따라, 멀티미디어 데이터 스트림에 의해 제공된 텍스트 데이터의 자연어 처리 방법을 도시한 플로우차트를 제공한다.
도 5는 예시적 실시예에 따라, 자연어에 의해 제공된 콘텐츠 용어들을 사용하여 관련 콘텐츠를 결정하는 방법을 도시한 플로우차트를 제공한다.
도 6은 하나 이상의 실시예들이 구현될 수 있는 예시적 머신을 도시한 블록도를 제공한다.
다음의 설명 및 도면들은 당업자가 이들을 실시 가능하도록 특정 실시예들을 충분하게 예시하고 있다. 다른 실시예들은 구조적, 논리적, 전기적, 처리적, 및 그 밖의 변형들을 포함할 수 있다. 일부 실시예들의 일부 및 특징은 다른 실시예들의 것에 포함되거나 대체될 수 있다. 청구항들에 기재된 실시예들은 그들 청구항들의 사용가능한 모든 균등물을 포괄한다.
본 발명은 NLP 및 동적 콘텐츠 전달 사양의 사용을 통해, 콘텐츠 검색 및 전달을 가능하게 하는 기술들 및 구성들을 예시한다. 일 실시예에서, NLP 엔진은 텍스트 콘텐츠의 스트림으로부터 유용한 단어들 및 어구들의 실시간 추출을 수행하도록 구성된다. 이 NLP 엔진에 대한 인터페이스는 W3C HTML5(Hypertext Markup Language specification version 5), EMCAScript-표준 스크립팅(예를 들어, JavaScript 또는 JScript), 및 JSON(JavaScript Object Notation)의 표준-기반 구현을 사용하여 제공된다. 이 인터페이스는 다수의 하드웨어 및 운영 체제 도메인들에 걸쳐 전송이 용이한 포맷으로 콘텐츠 아이템들의 선택 및 전달하는 것을 가능하게 하며, 클라이언트-측 디바이스들에서의 배치를 위한 특수 프로그래밍 또는 컴파일을 필요로 하지 않는다.
사용자를 위한 관련 콘텐츠를 결정, 탐색, 및 제공하기 위한 추가적 기술들 및 구성들이 본 명세서에서 기술되어 있다. 이들은 NLP 엔진 및 HTML5 인터페이스를 사용하여 (임의의 다수의 관계들에 기초하여) 제 1 콘텐츠 세트와 관련 있는 제 2 콘텐츠 세트를 전달하는 것을 포함한다. 예를 들어, (비디오와 같은) 제 1 콘텐츠 세트를 탐색 또는 제공한 결과로서, (다른 비디오, 또는 텍스트 콘텐츠와 같은)제 1 세트와 관련된 제 2 콘텐츠 세트가 사용자에게 탐색되거나 제공될 수 있다. 일 실시예에서, 제 2 콘텐츠 세트는, 제 1 콘텐츠 세트에 의해 제공된 텍스트 언어 용어들 및 문자열들에 대한 NLP를 수행함으로써 결정된다. 예를 들어, 멀티미디어 비디오, 자막, 또는 클로즈드 캡션(closed captioning)을 포함하는 제 1 콘텐츠 세트가 NLP 엔진에 제공됨으로써, 제 2 콘텐츠 세트를 결정하기 위한 NLP-추출 키워드들을 생성할 수 있다.
일 실시예의 다른 사용예에서, 콘텐츠 시스템은 미디어 콘텐츠 아이템들과 관련된 텍스트의 스트림을 결정하고, 텍스트의 스트림을 분석하고, 텍스트로부터 키워드들과 구문들을 캡처하고, 캡처링된 텍스트에서 추가 선택 및 분석을 수행할 수 있다. 이어서, NLP 엔진은 관심 대상인 언어 용어들을 분석하고 선택할 수 있다. 선택된 용어들은 다수의 방식들, 즉 검색 쿼리의 일부를 제공하여 관련 콘텐츠를 탐색하고, 중요한 사용자 영구 데이터를 식별하고, 컨텍스트-인식 동작들 및 데이터 검색을 위하여 텍스트 페이로드의 자연어 및 컨텍스트를 분석하고, 또는 메타데이터로서 사용하거나 다른 메타데이터로의 맵핑과 관련하여 사용하는 것을 포함하지만 이에 한정되지 않는다.
다양한 사용자 인터페이스들 및 엔진 구성들이 이러한 NLP 기술들과 관련하여 사용 및 설계될 수 있다. 다음의 개시 내용은 콘텐츠 시스템, NLP 엔진, (예를 들어, HTML5/JavaScript 기술들로 제시된) 콘텐츠 인터페이스, 콘텐츠 서비스들, 및 디스플레이 디바이스들에 관한 다수의 사용예들 및 구성들을 제공한다. 이들 실시예들의 기능들은 단일 시스템이나 디바이스, 별도의 디바이스들이나 하위 시스템들, 또는 다양한 순열의 하드웨어나 소프트웨어로 제공될 수 있다는 것을 알 수 있을 것이다. 따라서, 본 명세서에 제공된 사용예들은 각종 처리 및 디스플레이 요소들이 독립적으로 동작하는 것으로 기술할 수도 있지만, 그 각종 요소들이 특정 시스템 또는 디바이스 구성들에서 서로와 함께 사용될 것을 예정한다.
일 실시예에서, 관련 콘텐츠 디스플레이와 처리 환경은 JavaScript 및 동적 마크업 언어(예를 들어, HTML5) 해석을 구현하는 웹 브라우저와 같은 소프트웨어 애플리케이션들과 함께 제공된다. JavaScript/동적 마크업 언어가 가능한 브라우저에서 구현을 제공함으로써, (NLP와 같은) 콘텐츠 처리 요소들이 실시간으로 전개되어, 관련 웹 서비스들로부터 수신되는 콘텐츠 텍스트를 분석하고 대응하는 관련 콘텐츠 디스플레이를 제공할 수 있다. 브라우저는 하나 이상의 동적으로 실행된 웹페이지들 또는 웹 애플리케이션들(웹 앱(app)들) 내에서 수행되는 스크립트를 통해, 이러한 애플리케이션들을 렌더링하고 실행할 수 있다. 또한, 이 동적 스크립트 구성은, W3C HTML5/JavaScript 표준을 준수하는 임의 수의 웹페이지들 또는 웹 애플리케이션들로 통합될 수 있는 NLP 구현을 가능하게 한다.
도 1은 예시적 실시예에 따라, 자연어 처리와 관련하여 다수의 디스플레이 디바이스들 간의 콘텐츠를 제공하는 콘텐츠 환경(100)의 예시를 제공한다. 구체적으로, 콘텐츠 환경(100)은 NLP 엔진(112) 및 HTML5/JavaScript가 가능한 사용자 인터페이스(UI)(114)를 포함하는 콘텐츠 처리 시스템(110)의 사용을 도시한다. 다음 구성에 설명된 바와 같이, 콘텐츠 처리 시스템(110)은 처리된 텍스트 콘텐츠에 대에 대한 응답으로 사용자들에게 추가 관련 콘텐츠를 제공하도록 구성된다.
비디오 소스(120)는 데이터 소스(122)로부터 비디오 및 텍스트 콘텐츠를 획득하며, 수신자 디바이스들 텔레비전(130) 및 모바일 디바이스(132) 각각에 비디오 콘텐츠(124 및 126)를 제공한다. 비디오 콘텐츠(124)는 제공된 비디오 데이터와 관련된 텍스트 데이터, 예를 들어 비디오 데이터에 대응하는 텍스트 자막들 또는 클로즈드 캡션 데이터를 포함하는 것으로 예시된다. 비디오 콘텐츠(126)는 비디오 데이터만을 포함하는 것으로 예시된다.
또한, 비디오 소스(120)는 콘텐츠 처리 시스템(110)의 비디오 데이터에 대응하는 텍스트 콘텐츠(128)를 제공한다. 콘텐츠 처리 시스템(110)은 NLP 엔진(112)을 이용하여 텍스트 콘텐츠(128)를 처리함으로써, 관련 키워드들, 용어들, 문구들, 및 다른 자연어의 컨셉들을 관련 자연어 데이터로 도출한다. NLP 엔진(112)은 사용자 인터페이스에게 관련 자연어, 예를 들어 HTML5/JavaScript UI(114)를 제공한다.
HTML5/JavaScript UI(114)는 NLP 엔진(112)에 의해 도출된 관련 자연어 데이터에 기초하여 추가 비디오 콘텐츠를 획득하도록 구성된다. 이 관련 자연어 데이터는 비디오 콘텐츠의 오디오에 대응하는 텍스트(예를 들어, 클로즈드 캡션 텍스트 또는 자막들)로서, 비디오 소스(120)로부터 제공되는 비디오 콘텐츠(124, 126)와 관련된 컨셉의 텍스트 또는 하나 이상의 키워드들을 포함할 수 있다.
다르게는, 콘텐츠 처리 시스템(110)에 제공된 텍스트 콘텐츠(128)는 비디오 콘텐츠와 관련될 수 있지만, 직접적으로 비디오 콘텐츠의 오디오에 대응하지는 않는다. 예를 들어, 텔레비전(130)에 제공된 비디오 콘텐츠(124)가 특정배우가 출연하는 영화인 경우, 비디오 소스(120)로부터 수신되는 텍스트 콘텐츠(128)는 그 영화와 관련된 메타데이터를 포함할 수 있다. 메타데이터 필드들은 관련 키 용어들, 예를 들어 배우의 이름, 영화의 설명 및 장르, 또는 콘텐츠에 대한 사전-결정된 정보를 추출하기 위해, NLP 엔진(112)에 의해 처리될 수 있다. NLP 엔진(112)은 예를 들어, 동일한 배우를 포함하여 동일하거나 유사한 장르의 영화들과 같은 관련 추가 콘텐츠를 찾기 위해, 검색을 수행하는데 사용되는 키 용어들을 추출할 수 있다. 또한, 배우의 이름은 (다른 영화들, 배우 및 영화에 관한 리뷰들 및 뉴스들, 영화 클립 미리보기들 및 트레일러들, 배우 인터뷰들과 홍보자료들 등을 포함하여) 다른 타입의 멀티미디어 콘텐츠를 결정하는데 사용될 수 있다. 이러한 검색들은, 예를 들어 HTML5/JavaScript UI(114)에 의해 가능해지고 렌더링된 동적 웹사이트 또는 웹 애플리케이션 내에서, 콘텐츠 처리 시스템(110)에 의해 수행될 수 있다.
키 용어들을 결정할 시에, HTML5/JavaScript UI(114)는 사용자가 키 용어들을 이용하여 검색을 수행하고, 검색 결과들을 확인하고, 검색 결과들을 선택하는 능력을 제공할 수 있다. 예를 들어, 검색 결과의 사용자 선택은 비디오 소스(136)에서 사용가능한 특정 비디오 콘텐츠가 디스플레이를 위해 제시될 수 있게 할 수 있다. 이 관련 콘텐츠는 HTML5/JavaScript UI(114)에서 디스플레이를 위해 제시되될 수 있거나, 디스플레이 디바이스들(예를 들어, 텔레비전(130), 모바일 디바이스(132)) 중 하나에 스트리밍될 수 있다. 이들 동작들의 일부 또는 모두는, 예를 들어 자동으로 관련 검색들을 수행하거나, 자동으로 관련 콘텐츠를 획득 및 디스플레이하도록 자동화될 수 있다.
이에 따라, 비디오 소스(120)는 NLP 엔진(112)을 사용하여, 클로즈드 캡션, 자막들, 트랜스크립트 및 스크립트들, 메타 데이터, 리뷰들 및 요약들, 사용자 생성 콘텐츠 등을 포함하는 임의의 개수의 소스들 또는 포맷들로부터 도출된 텍스트 콘텐츠를 제공할 수 있다. 이와 마찬가지로, 콘텐츠 처리 시스템(110)은 비디오 소스(120)에 의해(예를 들어, 디스플레이 디바이스들(예를 들어, 텔레비전(130) 또는 모바일 디바이스(132))로 스트리밍된 비디오 프로그래밍을 식별하는 텍스트 메타데이터에 제공되는 경우, 인터넷 서비스로부터 비디오 프로그램의 트랜스크립트를 획득하는 것에 의해) 제공된 텍스트 데이터 및 키워드들에 기초하여 외부 소스들로부터 추가 텍스트 콘텐츠를 획득하도록 구성될 수 있다.
콘텐츠 처리 시스템(110)은 공개적으로 액세스할 수 있는 웹사이트들, 인터넷 콘텐츠 서비스들, 가입 미디어 제공자들(전화기, 무선, 또는 케이블 콘텐츠 서비스 등), 또는 다른 전자 데이터 소스들을 포함하는 임의의 다양한 소스들로부터 관련 콘텐츠를 탐색하고 생성할 수 있다. 이에 따라, 비디오 소스(136)는 선택적으로 관련 콘텐츠를 제공하며, 이 관련 콘텐츠는 제 1 콘텐츠의 소스, 비디오 소스(120)로부터 제공될 수도 있는 것으로 나타나 있다. 그러나, 다양한 OTA(over-the-air) 또는 로컬-처리형 소스들(예를 들어, DVD 또는 블루-레이 플레이어)이 디지털 또는 아날로그 포맷으로 데이터 소스(122)로부터의 콘텐츠를 발생시킬 수 있기 때문에, 비디오 소스(120)가 반드시 네트워크 비디오 소스로 한정되는 것은 아니다.
HTML5/JS UI(114)는 임의의 개수의 사용자-작동 가능한 디바이스들 및 세팅들, 및 원격이나 로컬로 실행되는 애플리케이션들에서 액세스되거나 구현될 수 있다. 예를 들어, HTML5/JS 사용자 인터페이스(114)는 텔레비전(130) 내의 온-스크린 애플리케이션으로서 제공될 수 있고, HTML5/JS 사용자 인터페이스(114)는 모바일 디바이스(132) 상에 설치된 단독형 애플리케이션과 관련하여 제공될 수 있고, HTML5/JS 사용자 인터페이스(114)는 컴퓨터 디바이스(134) 상에서 동작하는 웹 브라우저에 의해 액세스될 수 있다.
콘텐츠 처리 시스템(110)은 네트워크를 통해 HTML5/JS 사용자 인터페이스(114)를 제공하는 원격 서비스에 의해 제공될 수 있다. 콘텐츠 처리 시스템(110)은 다르게는 클라이언트-측 하드웨어 디바이스, 예를 들어 디스플레이 스크린에 커플링된 클라이언트 디바이스(예를 들어 셋-톱 케이블 박스 또는 텔레비전에 연결된 비디오 수신기), 또는 하나 이상의 컴퓨팅 시스템들에서 구현된 소프트웨어에 의해 수행되는 애플리케이션들, 컴포넌트들, 또는 모듈들에 의해 제공될 수 있다. 또한, 콘텐츠 처리 시스템의 양태들은 (인터넷에 연결된 텔레비전, 또는 스마트폰/태블릿 컴퓨팅 디바이스와 같은) 디스플레이 디바이스 상에서 처리 하드웨어를 사용하여 다이렉트로 수행될 수도 있다.
다양한 애플리케이션 프로그래밍 인터페이스들(application programming interface; API)들이 콘텐츠 처리 시스템(100)에 의해 제공, 액세스될 수 있으며, 그렇지 않은 경우 그것과 함께 사용될 수 있다. 예를 들어, 콘텐츠 처리 시스템(100)은 (예를 들어, 비디오 프로그램의 개시 또는 재개에 제공되고 있는) 디스플레이 디바이스들 상에서 디스플레이되고 있는 비디오에 대응하는 텍스트 콘텐츠와 함께, 비디오 소스(120) 또는 디스플레이 디바이스들(예를 들어, 텔레비전(130), 모바일 디바이스(132))로부터 텍스트 콘텐츠를 수신하도록 구성되는 API를 제공할 수 있다. 이전의 예로 돌아가서, 텔레비전의 클로즈드 캡션/자막 정보는 비디오 브로드캐스트 공급(feed)으로부터 클로닝되고, 실시간 처리를 위하여 콘텐츠 처리 시스템(110)에 제공될 수 있다. 이 시나리오의 텔레비전은 다른 디바이스(예컨대, 텔레비전과 동일한 환경에서 동작 가능한 인터넷-연결형 태블릿 PC, 사용자가 디스플레이되어 있는 비디오 콘텐츠에 대한 많은 것을 학습할 수 있게 하는 사용자-동작가능한 그래픽 사용자 인터페이스를 제공하는 태블릿 PC) 상에서 작동하는 콘텐츠 처리 시스템(110)으로, 텍스트의 실시간 데이터스트림을 송신하기 위한, 서버로서 작동할 수 있다.
일 실시예에서, 콘텐츠 처리 시스템(110)은 사용자 경험을 렌더링하고 입/출력(I/O) 동작 등을 처리하는 네이티브 HTML5/JavaScript 애플리케이션의 이용에 의해, JavaScript 및 HTML5 컨스트럭트들을 사용하여 텍스트 스트림을 처리한다. 이에 따라, NLP 엔진(112), HTML5/JS UI(114), 및 다른 컴포넌트들을 포함하는, 콘텐츠 처리 시스템(110)의 일부 또는 모두는 다이내믹 스크립팅 환경에서 적용가능한 컴포넌트들을 실행하는 라이트웨이트 웹-기반 애플리케이션(lightweight web-based application)을 통해 제공될 수 있다. 이러한 HTML5/JavaScript UI(114)의 특징은 디스플레이 디바이스들(예를 들어, 텔레비전(130), 모바일 디바이스(132)의 임의의 조합) 또는 컴퓨팅 디바이스 상에서 실행될 수 있다.
도 2는 예시적 실시예에 따른 자연어 처리와 관련하여 콘텐츠 및 관련 콘텐츠 디스플레이들을 제공하는 디바이스들에 대한 디바이스 아키텍처의 예시를 제공한다. 구체적으로, 텔레비전(202) 및 태블릿(204) 디바이스들 각각은 콘텐츠(206) 및 관련 콘텐츠(208)를 디스플레이하도록 구성된다. 도시된 예에서, 관련 콘텐츠(208)는 콘텐츠(206)와 관련되며, 사용자가 관심을 가질 수 있는 추가 또는 부가적인 콘텐츠의 디스플레이의 역할을 한다.
도시된 바와 같이, 텔레비전(202)은 각각 콘텐츠(206)와 관련된 오디오 및 비디오의 출력을 위한 오디오 스피커들(210) 및 디스플레이 스크린(212)을 제공한다. 텔레비전(202)은 그래픽 UI(나타내지 않음)와 관련하여 제공될 수 있는, HTML5 애플리케이션(216)의 동작을 위해 더 구성된다. HTML5 애플리케이션(216)은 웹 브라우저, 단독형 애플리케이션, 또는 콘텐츠 기능을 제공하기 위해 텔레비전에서 실행되는 명령들의 세트 등을 포함할 수 있다.
HTML5 애플리케이션(216)은 제어 클라이언트(214) 및 콘텐츠 처리 클라이언트(218)를 더 포함한다. 제어 클라이언트(214)는 콘텐츠 처리 시스템(224)과 관련하여 명령들을 수신하고, 예를 들어 콘텐츠 처리 시스템(224)으로부터 수신된 명령들에 대응하여 콘텐츠의 상이한 세트를 제공하거나 일부 사용자 지향적 활동을 수행하도록 구성될 수 있다. 콘텐츠 처리 클라이언트(218)는 콘텐츠 처리 시스템(224)에 특정 콘텐츠 정보(예를 들어, 텔레비전(202) 상에 제공되고 있는 콘텐츠(206)의 클로즈드 캡션 텍스트, 또는 콘텐츠(206)와 관련된 메타데이터)를 제공하도록 구성될 수 있다.
또한 도시된 바와 같이, 태블릿(204)은 디스플레이 스크린(220)을 제공하며, 스피커들(나타내지 않음)을 사용하여 오디오 출력을 제공할 수 있다. 태블릿(204)은 콘텐츠 처리 시스템에게 콘텐츠 기능을 제공하기 위한 HTML5 애플리케이션(222)의 동작, 구체적으로는 웹 브라우저, 단독형 애플리케이션, 또는 태블릿 상에서 실행되는 명령들의 세트 등의 동작을 위해 구성된다.
구체적으로, HTML5 애플리케이션(222)은 콘텐츠 처리 시스템(224)의 기능들을 실행하기 위한 스크립트 환경을 제공하는 웹 브라우저를 포함할 수 있다. 콘텐츠 처리 시스템(224)의 기능들은 HTML5 애플리케이션(222) 내에서 개시되고 잠재적으로 수행되는, NLP (226), 검색 로직(228)을 포함할 수 있다. 예를 들어, 스크립트 환경을 제공하는 웹 브라우저는 스트립트가 가능한 NLP 엔진과 함께 스크립트 명령들을 실행하도록 구성될 수 있다.
텔레비전(202)과 태블릿(204) 간의 통신은 로컬 영역 네트워크(local area network; LAN), 예를 들어 무선 라우터(230)에 의해 가능해지는 무선 네트워크에 의해 가능해질 수 있다. 예를 들면, 텔레비전(202)은, 예를 들어 콘텐츠(206)와 관련된 실시간 텍스트 트랜스크립션을 제공하기 위해, LAN을 통하여 텍스트 및 메타데이터 콘텐츠를 포함하는 데이터를 태블릿(204)에게 전달할 수 있다. 태블릿(204)의 콘텐츠 처리 시스템(224)은 (NLP(226)를 사용하여) 이러한 데이터를 수신하고 처리하도록 기능할 수 있으며, 관련 콘텐츠(208)를 탐색 및 검색하는 검색 로직(228)을 이용하여 각종 질의들을 시작할 수 있다.
관련 콘텐츠(208)는 사용자에게 로컬 또는 원격에 있는 임의의 개수의 콘텐츠 소스들로부터 검색될 수 있다. 도시된 바와 같이, 인터넷 웹 서비스들에의 연결(240)은 정보 검색 제공자(250), 뉴스 또는 동적 콘텐츠 제공자(252), 소셜 미디어 소스(254), 쇼핑 정보 소스(256), 및 비디오 콘텐츠 소스(258)를 포함하는 관련 콘텐츠(208)에 대한 잠재적 인터넷 웹 서비스들로, 무선 라우터(230)를 통해 제공된다. 관련 콘텐츠(208)는 하나 또는 다수의 이들 소스들로부터 제공될 수 있다. 예를 들어, 관련 콘텐츠(208)는 비디오 콘텐츠 소스(258)로부터 획득되고, 텔레비전(202) 상의 콘텐츠(206)의 디스플레이로부터 발생한 클로즈드 캡션 키워드들에 대한 NLP를 수행한 결과로 결정된 인터넷-스트리밍 비디오에 의해 제공될 수 있다.
도 2에 도시된 바와 같이, 관련 콘텐츠(208)의 디스플레이가 태블릿(204) 상에서 발생하며, 콘텐츠(206)의 디스플레이는 별도의 디바이스(텔레비전(202)) 상에서 발생한다. 관련 콘텐츠(208)의 디스플레이는, 예를 들어 PIP(picture-in-picture) 디스플레이들, 스크린 오버레이들, 또는 이와 유사한 디스플레이 기술들을 사용하여 동시에 또는 그 이후에 원본 콘텐츠와 동일한 디바이스 상에서 발생할 수 있다는 것이 이해될 것이다.
API는 텔레비전(202)으로부터 통신들을 수신하기 위해 콘텐츠 처리 시스템(224)에 의해 제공될 수 있다. 예를 들어, 텔레비전(202)은 태블릿(204)에 연결되어, 태블릿(204)과 메시지들을 수신 및 송신하고, 연결이 더 이상 필요하지 않을 경우에 연결을 분리하도록 구성되기 때문에, 클로즈드 캡션 텍스트 스트림은 태블릿(204)으로 송신될 수 있다. 텔레비전(202)과 태블릿(204) 사이에 교환된 메시지들은 임의의 개수의 포맷들을 포함할 수 있다.
일 실시예에서, 텍스트 데이터는 HTML5 애플리케이션(214, 222)에서의 사용을 위해 JSON-분석할 수 있는 포맷으로 콘텐츠 처리 시스템(224)에 제공된다. 예를 들어, 텍스트 콘텐츠의 포맷은 다음과 같이 제공될 수 있다.
{meta: 'title' | 'transcript' | 'tags' | 'summary', content: 'some text' | ['tagl', 'tag2', ...] }
이 예시적 포맷에서, '타이틀(title)' 값은 비디오 콘텐츠에 대한 타이틀을 제공할 수 있고, '트랜스크립트(transcript)' 값은 비디오 콘텐츠에 대한 텍스트의 일부 또는 전부의 트랜스크립트를 제공할 수 있고, '태그들' 값은 비디오 콘텐츠와 관련된 하나 이상의 텍스트 태그들 또는 키워드들을 제공할 수 있고, '요약(summary)' 값은 사용자에 의해 판독하기 위한 비디오 콘텐츠의 텍스트 요약을 제공할 수 있고, '콘텐츠'에서 '일부 텍스트' 값은 텍스트 콘텐츠의 표시를 제공할 수 있고, '태그1' , '태그2'를 포함한 배열은 추가 콘텐츠를 획득하는데 사용되는 데이터 용어들이나 문구의 목록을 제공할 수 있다.
JSON 포맷 내에 텍스트 데이터를 제공하는 것은 JavaScript/EMCAScript 컴프리헨딩 플랫폼이 비디오 콘텐츠와 관련된 텍스트 콘텐츠를 수신하고 이와 상호작용하는 것을 가능하게 한다. JSON 내의 구조와 신텍스는, 애플리케이션들이 그들이 수신한 것을 이해하고 적절하게 페이로드를 사용하는 것을 용이하게 한다. 이에 따라, 소프트웨어에 구현된 NLP 엔진 및 HTML5/JS UI와 같은 콘텐츠 처리 시스템의 각종 컴포넌트들은 이러한 데이터의 결과들을 프로세스, 사용, 및 디스플레이하도록 구성될 수 있다.
예를 들어, 콘텐츠 처리 시스템은 JSON-포맷 문자열들을 파싱하는 추출기 또는 다른 텍스트 파싱 컴포넌트를 제공할 수 있으며, 주제 콘텐츠에 관한 관련 메타데이터 및 트랜스크립트 라인들을 결정할 수 있다. 콘텐츠의 디스플레이 이전에, 키워드들은 상황에 맞는 키워드들을 결정하는 프로그램 태그들 또는 타이틀들과 같은 메타데이터로부터 추출될 수 있다. 콘텐츠의 디스플레이 동안 일 라인마다에 수신될 수 있는 트랜스크립트 텍스트(예를 들어, 클로즈드 캡션 또는 자막)에 있어서, 콘텐츠 처리 시스템은 그것이 수신될 정보를 큐잉(queuing)하고, 관련 정보가 탐색 및 결정될 수 있는 더 크고 유용한 관련 문구들을 구축할 수 있다.
다음의 NLP 기술들은 JavaScript 및 JavaScript-기반 NLP 엔진을 사용하여 구현될 수 있다. 다음에 설명되는 NLP 기술들의 변형들은 콘텐츠 처리 시스템에 전개된 NLP 엔진과 관련하여 구현될 수 있다는 것은 명백할 것이다.
텍스트 데이터의 용어들에 대한 적절한 컨텍스트를 획득하기 위해, 품사 태깅(tagging)이 텍스트 데이터에 적용될 수 있다. 예를 들어, 품사 태깅은 트랜스크립트의 라인들에 있는 단어들을 태깅(품사 할당)하는데 사용될 수 있다. 아래에 설명되는 바와 같이, 본 기재의 NLP 구성과 함께 사용될 수 있는 품사 태깅에 대한 접근 방법은 여러 가지가 있다.
자동화 텍스트 태깅 동작을 위해 사용할 수 있는 소프트웨어 애플리케이션의 비-제한적인 일 예는 EngTagger(영어 품사 Tagger Library, RubyForge에 의해 배포된 오픈 소프트웨어 프로젝트), 확률 기반, 룩업 딕셔너리(lookup dictionary)에 기초하여 영어 텍스트에 품사 태그를 할당하는 코퍼스-트레인드 태거(corpus-trained tagger) 및 확률 값들의 세트이다. EngTagger는 JavaScript를 이용하여 사용자 휴대성을 제공하며, 이에 따라 본 기재의 HTML5/JavaScript 운영 환경과 함께 통합될 수 있다.
NLP와 함께 수행될 수 있는 태깅의 일 타입은 유니그램(unigram) 태깅을 포함한다. 유니그램 태깅은 단일의 정보 조각(일반적으로 단일 단어)을 사용하여, 렉시콘에서 조회하여, 관련성에 대해 가장 가능한 태그를 결정한다. 코퍼스(corpus)를 감안할 때, 렉시콘(lexicon)은 코퍼스에서 특정 품사로서 단어 발생 횟수를 카운트한 단어들의 결과인, 각각의 코퍼스 단어가 생성될 수 있다. 예를 들어, "피터"는 코퍼스에서 고유명사로서 110회 태깅될 수 있고, "let"과 같은 단어들은 10회의 명사 및 83회 동사로 태깅될 수 있다. 이 정보로부터, 품사는 문장에 할당될 수 있다.
유니그램 태깅을 이용하여 품사를 할당하기 위해, 문장은 먼저 개별 토큰들로(예를 들어, 토크 나이저(tokenizer)의 사용으로) 분할될 수 있다. 그 후에, 텍스트는 유니그램 태깅을 수행한 태거를 통해 실행된다. 문장에 대한 유니그램 태깅의 결과는 예를 들어 다음과 같이 포맷될 수 있다.
I/PPvP walked/VBD the/DET dog/NN this/DET morning NN before/IN work/NN ./PP
이 태그들의 세트는 몇몇 표준에 따라 규정될 수 있다. 예시를 위해 제공되는 가능한 태그들의 서브세트는 다음을 포함하며, 이에 한정되지 않는다: PRP = determiner, possessive second; VBD = verb, past tense; DET = determiner; NN = noun (singular); IN = preposition or conjunction; PP = punctuation, sentence terminator.
NLP에서 태깅과 함께 사용하기 위한 다른 기술은 바이그램(bigram) 태깅의 사용을 포함한다. 이러한 형태의 태깅은 알고리즘에 더 많은 지능을 추가하는데 사용된다. 단지 (단어에 속할 수 있는 가능한 품사의 세트로부터) 가장 가능한 품사를 적용하는 것이 아니라, 확률은 이전의 태그에 대하여 결정된다. 이에 따라, 단어에 대한 가장 가능한 태그는 실제로 이전의 단어의 태그가 X이었던 것을 고려하면, 가장 가능한 태그이다.
바이그램 태깅을 수행하기 위해, 제 2 데이터 세트는 한 태그로부터 다른 태그로 전환(transition)될 확률을 나타내는데 사용될 수 있다. 이러한 확률들은 코퍼스의 태그 시퀀스들에 대한 태거를 트레이닝 하는 것에 의해 도출될 수 있다. 예를 들어 EngTagger 라이브러리로부터 제공되는, 태그 전환 데이터 세트는 NLP 엔진에 의해 사용될 수 있다. NLP 엔진은 이 데이터 세트를 원본 태그 확률 세트와 함께 조합할 수 있으며, 텍스트 문장에 대하여 데이터 세트들 모두 적용할 수 있다. 이 기술은 비터비 알고리즘(Viterbi algorithm)의 변형과 함께 사용됨으로써 태깅 정확도를 개선할 수 있다.
NLP 프로세싱과 함께 사용될 수 있는 다양한 다른 태깅 모델들 및 예들이 존재한다. 이것들은 일반 표현들과 비교하여 태깅하는 것, 변환 규칙과 결합하여 태깅하는 것, 가능성이 높은 태그 시퀀스들에 기초하여 태깅하는 것, 및 그 밖의 모델들을 포함한다. 임의의 개수의 간단하거나 광범위한 접근 방법들이 HTML5/JavaScript UI를 구현하는 콘텐츠 처리 시스템들 및 클라이언트들과 함께 NLP 기술들에서 사용될 수 있다.
텍스트 태깅에 대한 응답으로, 특정 용어들의 시퀀스들, 예를 들어 하나 이상의 단수 또는 복수 명사들이 식별될 수 있다. 예를 들어, 시퀀스들은 고유 명사들 간의 선택 접속사(예를 들어, "및(and)") 또는 전치사(예를 들어 "의(of)”)로, NNP(고유 명사, 단수) 및 NNP들(고유 명사, 복수) 태그들의 시퀀스를 찾는 것에 의해 수행될 수 있다. 다른 기술들은 청크 파싱(chunk parsing) 방법들의 상세 구현과 함께 사용될 수 있다.
키워드 태깅 이외의 기술들은 텍스트 시퀀스들에서 컨텍스트 및 키워드들 및 구문들의 중요성을 획득하는데 사용될 수 있다. 이들은, 예를 들어 구문이 트랜스크립트 내에서“중요”한지 여부를 결정하는데 도움이 되도록 하기 위해, 전체 트랜스크립트 내에서 각 시퀀스가 발생하는 카운트 횟수를 고려하는 것을 포함할 수 있다.
일반적으로 이전의 태깅 기술들은 NLP 환경에서 무료로 인덱싱을 가능하게 하는 하나의 접근방식을 기술한다. 무료 인덱싱은 임의의 텍스트의 처리를 가능하게 하지만, 다수의 부적합 용어들을 획득할 수 있거나, 반대로 적합한 관련 용어들을 무시할 수 있다(예를 들어, 그들이 동의어일지라도, 다른 키 구문들로 취급되는“노트북” 및 “랩톱”). 인덱싱의 적합성을 개선하기 위한 하나의 접근방식은 “제어된 인덱싱”으로 알려져 있으며, 이것은 알려진 구문들을 색인 용어들로 매핑한다(예를 들어, “노트북” 및 “랩톱”은 단일 키 공유 구문“랩톱”을 트리거할 수 있다).
키 구문이 추출되면, NLP 엔진은 청취자에게 새로운 키 구문들을 통지하거나 그 용어들과 관련하여 다른 적절한 처리를 수행하도록 구성될 수 있다. 예를 들어, 텍스트 추출기는 새로운 키 구문의 결과로서 콘텐츠 처리 시스템으로부터 “newKeyPhrase”이벤트를 개시하고 또한 발행된 모든 키 구문에 대한“keyPhraseCounted" 이벤트를 개시하도록 구성될 수 있다. 이벤트 청취자들은 이러한 텍스트 처리 이벤트들의 발생을 수신하여, 검색 쿼리들을 수행하고 또한 사용자 프롬프트들을 제공하는 것과 같은 적절한 행동으로 응답하도록 구성될 수 있다. 이벤트들의 관찰자들은 그 정보를 사용하거나 그것을 무시하는 것으로 결정할 수 있다. 따라서, 그러한 실시예에서, 잠재적인 키워드들을 찾고 쿼리들을 검색하는 것은 소스들을 검색하기 위해 제공하기 위해 어떤 쿼리들을 선택하는 것으로부터 독립적으로 수행된다.
더 향상된 기능은 키 구문 이벤트들에 대하여 더 많은 데이터를 부가하는 것을 포함할 수 있다. 예를 들어, NLP와 함께, 예를 들어 콘텐츠 처리 시스템은 텍스트 내에 명명이 되어 있는(named) 엔티티들을 찾을 수 있으며, 분류로 임의의 키 구문들을 마킹할 수 있다(예를 들어, “장소”, “사람”, “조직”). 다른 컨텍스트-기반 용어들이 NLP동안에 부가될 수 있다.
NLP를 수행하는 것은 콘텐츠가 풍부한 환경에서, 잠재적으로 적합한 다양한 키 구문들 및 용어들을 검색할 수 있지만, NLP 시스템에 의해 검출된 모든 용어들 및 구문들이 콘텐츠의 탐색 또는 검색을 위해 적절하거나 바람직하진 않을 수도 있다. 따라서, 추가적인 선택 기준이 처리 시스템에 의해 사용됨으로써, 콘텐츠를 탐색하거나 검색하기 위해 서치 쿼리들에 대해 식별된 키 용어들 및 구문들을 사용할 것인지 여부를 결정할 수 있다.
예를 들어, 쿼리 선택은 키 용어 또는 구문이 검색 쿼리로 사용할 가치가 있는지 여부를 결정하는 다양한 필터들을 사용할 수 있다. 이 결정을 내릴 수 있도록 하기 위해서, 쿼리 선택기는 키 구문들, 키 구문이 트랜스크립트에서 발생한 횟수 또는 텍스트 목록, 및 현재 프로그램에 의해 제공된 콘텐츠를 감안할 수 있으며, 이것들은 지금까지 발견한 모든 검색 결과들, 검색 결과들로부터 생성된 임의의 문서들(각 스템(stem)의 텍스트 및 횟수에 대한 스테밍된 버전을 포함), 검색된 임의의 이전 쿼리들, 및 지금까지의 전체 트랜스크립트 또는 텍스트 목록을 (디폴트로) 포함한다. 키 구문을 쿼리로서 선택할지의 여부를 결정하기 위해, 다수의 필터들이 동시에 적용될 수 있다.
콘텐츠 처리 시스템은 검색(원본 콘텐츠를 획득하는 검색을 포함)으로 이미 사용된 키 용어들 및 구문들을 추적함으로써, 동일한 키 용어가 한번 보다 많이 검색되지 않도록 구성될 수 있다. 또한 각 후보키(명사) 구문에 대하여 가중치(weight)가 적용될 수도 있다. 예를 들어, 이러한 가중치는 다음으로부터 설정될 수 있다.
발생 횟수 * (구문 내의 단어 개수 * 구문 내의 단어 개수)
콘텐츠 처리 시스템은 어떤 설정 값 이상, 예를 들어 3 이상의 가중치를 가진 구문들만을 검색하도록 구성될 수 있다. 이러한 값은 단일 단어 고유 명사 구문에 대한 3번의 조회가 발생하고, 2 개의 단어 명사 구문에는 한번만 발생하는 것이 필요할 수 있다. 이 접근방식은 특히 “풍부한 엔티티(entity rich)”텍스트 상에서, 합리적인 결과들, 예를 들어 콘텐츠의 논-픽션 트랜스크립트들을 생성하게 된다.
쿼리 선택은 또한 잠재적인 쿼리들, 예를 들어 NLP에 의해 생성된 키 구문들의 구조로부터 도움을 받을 수 있다. 다른 실시예에서는, 고유 명사들의 외부 요소들에 대한 명명된 엔티티 추출 및 청크 파싱이 NLP 기술들과 함께 사용될 수도 있다.
또한, NLP 기술은 키 구문들을 선택할 때 컨텍스트를 획득하는 것을 시도할 수 있다. 예를 들어, 어떤 구문들이 이전 검색어의 일부 또는 전체와 오버랩되는지를 결정하는 NLP 엔진으로부터 키 구문들을 분석함으로써, NLP 엔진은 그 구문들의 컨텍스트를 도출할 수 있다. 이것은 구문들 중 다수의 스트림들(또는 콘텐츠 아이템들)에 걸쳐 링키지들 및 스레드들을 생성하고, 그들 간의 공통의 컨텍스트를 식별하게 된다. 이러한 기술은 복수의 콘텐츠 세트들(예를 들어, 다큐멘터리 시리즈)을 분석하고 단어들과 구문들에 대한 정의의 통상적인 범위를 설정하기 위해 사용자가 관심있는 주제를 식별하는 경우에 적용될 수 있다. 예를 들어, 세그먼트에서 반복적으로 사용되는 단어들은 일부 컨텍스트와 관련될 수 있다(예를 들어 음악 다큐멘터리에서 “베이스 기타”인 “베이스”대 자연 다큐멘터리에 사용될 수 있는 “베스 물고기”에서 사용된 용어“베스”).
다양한 사용 케이스들이 하나 이상의 소스들로부터 관련 콘텐츠를 결정하도록 본 기재의 자연어 처리 기술들을 구현할 수 있다. 단일 키워드에 대한 "베스트 매치(best match)"의 콘텐츠를 찾으려고 시도하는 콘텐츠 검색 엔진과는 대조적으로, 본 기재의 NLP 기술들은 다수의 키워드들로부터의 콘텐츠의 컨텍스트에 기초하여, 사용자를 위해 유용하고 흥미로운 관련 콘텐츠의 세트들을 제공하도록 적응될 수 있다. "관련" 콘텐츠를 탐색할 경우, NLP 기술은 약간 관련된 컨셉들을 식별하는데 사용될 수 있으며, 이 컨셉들은 반드시 가장 빈번하게 사용되는 단어에 대한 단순 키워드 검색으로부터 획득되는 것은 아니다. 장르 또는 다른 큰 콘텐츠 분류 내의 콘텐츠의 컨텍스트를 결정하는 것은, NLP 기술들이 시프팅 컨텍스트를 가진 미디어(예를 들어, 복수의 콘텐츠 세그먼트들을 제공하는 뉴스 비디오 프로그램들)를 위해 특히 유용할 수 있게 한다.
예를 들어, 뉴스 비디오 프로그램 콘텐츠의 프리젠테이션에서, 비디오의 컨텍스트는 자막 또는 클로즈드 캡션 텍스트와 관련하여 결정될 수 있다. 이와 마찬가지로, 프로그램을 설명하는 텍스트 데이터, 또는 프로그램과 관련된 MPEG(Moving Picture Experts Group) 포맷 메타데이터는 컨텍스트를 결정하는 텍스트 소스로 사용될 수 있다. 미디어의 컨텍스트는, 예를 들어 프로그램의 장르/디스크립션으로부터 프로그램을 시청하도록 이전에 결정될 수 있다. 또한, NLP 기술들은 추가적인 관련 콘텐츠 또는 사용자-중심의 활동을 결정하기 위해 트위터, 플리커, 위키피디아 등과 같은 콘텐츠 및 소셜 미디어 사이트들을 통해 키 용어들의 잠재적 쿼리들을 결정하는데 사용될 수 있다. 이러한 쿼리들은 콘텐츠를 동적으로 획득하고 전달하기 위해 HTML5/JS 인터페이스 내에 통합될 수 있다.
NLP의 결과로 결정된 관련 콘텐츠는 수동 또는 자동 기능의 임의의 조합으로, 임의의 개수의 형태들 또는 포맷들로 제공될 수 있다. 예를 들어, 관련 콘텐츠는 유사한 타입의 콘텐츠의 검색 결과들과, 검색들을 수행하거나 웹사이트들을 방문하는 사용자 프롬프트들과, 관련 광고들과, 관련 사용자 상호작용 디스플레이들 및 기능 상호작용들과, 관련 메타데이터의 상호작용들을 포함할 수 있다.
도 3은 예시적 실시예에 따라, 자연어 처리와 관련하여 결정된 관련 콘텐츠에 기초하여, 사용자에 대한 관련 콘텐츠를 제공하도록 인에이블되는 HTML5/JavaScript 가능한 그래픽 사용자 인터페이스 윈도우(300)의 예시를 제공한다. 도시된 바와 같이, 그래픽 사용자 인터페이스 윈도우(302)는 타이틀 패널(304) 및 디스플레이 패널들(306, 312, 및 318)을 포함한다. 각각의 디스플레이 패널들(306, 312, 318)은 NLP로부터 도출된 키워드들의 결과로 결정된 특정 관련 콘텐츠 디스플레이와 함께, 다양한 소스들로부터 일부 관련 콘텐츠의 그래픽 디스플레이를 제공한다.
예를 들어, 사용자가 자동차 안전 다큐멘터리를 시청하는 경우(타이틀(324)로 표시), 이 다큐멘터리 프로그램과 관련된 텍스트 콘텐츠, 예를 들어 클로즈드 캡션, 자막, 및 프로그래밍 메타데이터로부터 다양한 키워드들이 도출될 수 있다. 프로그램을 보고, 텍스트의 스트림을 획득하는 경우, 텍스트에서 발생한 다양한 키 용어 단어들 및 구문들(예를 들어, 사고 (326), 자동차 안전 테스트(328), 방어 운전(330))이 도출될 수 있다. 예를 들어 용어 "자동차(car)" 및 "자동차(automobile)"는 동의어이고, "방어 운전"은 "범죄" 또는 모터 스포츠와는 아무 상관이 없는 자동차와 관련하여 발생하는 인간 활동을 의미하기 때문에, 키 용어들(326, 328, 330)은 컨텍스트에 민감할 수 있다.
키 용어들(326, 328, 330)은 사용자 입력을 위해 디스플레이될 수 있으며, 예를 들어 하나 이상의 키워드의 커서 선택에 의하여 관련 콘텐츠를 디스플레이하도록 상호작용될 수 있다. 다르게는, 키워드들은 하나 이상의 디스플레이 패널들(306, 312, 318)에 콘텐츠 또는 콘텐츠 링크들을 자동으로 생성하도록 사용될 수 있다. 디스플레이 패널들은 원본 콘텐츠의 공통 주제는 자동차 안전 다큐멘터리이지만, "안전 테스트", "자동차 수리" 및 "자동차 구매"와 같은 관련 주제들은 사용자의 관심 관련 콘텐츠일 수 있다는 것을 보여준다.
구체적으로는, 패널(306)은 예를 들어 사용자에 의해 선택될 수 있는 소셜 미디어 서비스로부터, 비디오의 일러스트레이션(310) 및 디스크립션(308)을 제공한다. 패널(312)은, 사용자에 의해 선택될 수 있는 온라인 백과 사전 항목의 일러스트레이션(316) 및 디스크립션(314)을 제공한다(예를 들어, 콘텐츠의 스냅샵 또는 발췌). 패널(318)은, 예를 들어 온라인 서점에서, 사용자에 의해 구매될 수 있는 상품 또는 서비스들의 일러스트레이션(322) 및 디스크립션(320)을 제공한다.
각각의 패널들(306, 312, 318)은 비디오, 애니메이션들, 로고들, 및 다른 동적 콘텐츠의 형태로 향상된 일러스트레이션들을 제공하는데 사용될 수 있다. 도 3에 도시된 사용자 인터페이스 윈도우(302)에 의해 승인된 사용자 상호작용은 임의의 개수의 형태들, 예를 들어 화면 선택, 탐색 버튼들, 키보드 또는 음성 명령들 등을 포함할 수 있다. 또한, 도 3에 도시된 사용자 인터페이스는 태블릿 컴퓨터와 같은 휴대용 모바일 컴퓨팅 환경에 제공되고, 관심있는 관련 콘텐츠를 탐색하고 선택하는 사용자 터치 명령들 및 제스처들을 수용하도록 적응될 수 있다.
도 4는 예시적 실시예에 따라, 멀티미디어 데이터 스트림에 의해 제공된 텍스트 데이터의 자연어 처리를 위한 방법(400)을 도시한 플로우차트를 제공한다. 이러한 프로세스(400)의 성능은 이전에 설명된 콘텐츠 처리 시스템 및 NLP 엔진을 이용하여 전체적으로 또는 부분적으로 발생할 수 있다.
동작(410)에 도시된 바와 같이, 콘텐츠와 관련된 텍스트 스트림은 NLP를 위해 액세스된다. 이 텍스트 스트림은 콘텐츠 처리 시스템에 (예를 들어, 특정 멀티미디어 콘텐츠의 재생 중에) 미디어 디바이스에 의해 제공될 수 있으며, 일부 데이터 소스로부터 콘텐츠 처리 시스템에 의해 검색될 수 있다. 텍스트 스트림은 즉시 또는 지연 처리를 NLP 엔진에게 직접 또는 간접적으로 제공될 수 있다.
동작(420)에서, 태그들 및 태깅 기술들은 텍스트 스트림으로부터 텍스트 요소들에 적용된다. 예를 들어, 이전에 설명된 인-그램(in-gram) 태깅 기술들은 NLP 엔진에 의해 적용되어 텍스트로부터 스피치의 아티클과 태그들을 연결할 수 있다. 다른 실시예들에서, NLP 엔진에 제공된 텍스트 스트림은 처리 이전에 부분적으로 또는 전체적으로 태깅될 수 있다.
동작(430)에서, 텍스트 요소들은 스피치의 아티클 태깅 또는 다른 색인 기준에 기초하여 NLP 엔진에 의해 인덱스된다. 예를 들어, 인덱싱은 고유명사로 태깅된 텍스트 요소들에 대한 발생 횟수를 식별할 수 있다. 인덱싱의 결과들은 텍스트 요소들로부터, 키 용어들, 예를 들어 고유 명사들 또는 구문들을 식별하는 동작(440)에 사용될 수 있다. 예를 들어, 키 용어들은 동작(430)의 인덱싱에 의해 표시된 바와 같이, 사전정의된 빈도로 발생한 (또는 발생의 일부 결정된 횟수를 초과한) 텍스트 요소들로 식별될 수 있다.
동작(450)에서, 키 용어들의 콘텐츠가 식별된다. 예를 들어, 특정 키 용어들은 서로 동의어나 반의어가 될 수 있고, 컨텍스트-센서티브 텍스트 처리는 관련 콘텐츠를 찾는데 적절한 컨텍스트를 결정하고, 키 용어들을 제거, 통합, 또는 증가시키는데 사용될 수 있다. 또한, 컨텍스트 정보는, 콘텐츠의 타입(예를 들어, 비디오 또는 오디오와 같은 특정 콘텐츠 타입)이 텍스트 스트림을 제공하는 원본 콘텐츠에 가장 관련되고 적절한 지를 식별하기 위해, 키 용어들로부터 도출될 수 있다. 다양한 처리 알고리즘들이 컨텍스트들을 탐색하여 도출하고, 어떤 키 용어들이 가장 가치가 있는지를 결정하는데 사용될 수 있다.
동작(460)에서, 키 용어들은 관련 콘텐츠를 탐색하거나 획득하는 동작들과 관련하여 사용될 수 있다. 예를 들어, 키 용어들은 추가 관련 콘텐츠를 제공하고 스트리밍하기 위해, 콘텐츠 제공자로부터 인터넷 검색들과 함께 사용될 수 있다. 콘텐츠의 다양한 목록 및 추천사항들이 또한 키 용어와 함께 획득될 수 있으며, 이에 따라 콘텐츠를 더 선택하고 스트리밍하는 능력을 사용자에게 제공한다.
관련 콘텐츠의 탐색, 검색, 및 디스플레이는 본 명세서에서 더 설명되는 바와 같이 HTML5/JavaScript 호환 환경에서 발생할 수 있다.
도 5는 예시적 실시예에 따라, 자연어에 의해 제공된 콘텐츠 용어들을 사용하여 관련 콘텐츠를 결정하기 위한 방법(500)을 도시한 플로우차트를 제공한다. 동작(510)에 도시된 바와 같이, 제 1 콘텐츠와 관련된 텍스트는 처리를 위해 수신된다. 이 텍스트는 하나 이상의 API들과 관련된 디바이스에 의해 제공될 수 있으며, 또는 이 텍스트는 일부 제 1 콘텐츠의 통지 또는 검출에 대한 응답으로 처리 시스템에 의해 검색될 수 있다.
동작(520)에서, NLP는 (예를 들어, 도 4에 도시된 프로세스에 수행된 바와 같이) 제 1 콘텐츠와 관련된 텍스트 상에서 수행된다. 자연어 처리는 관련 콘텐츠의 결정에 유용한 단어들 및 구문들과 같은 키 텍스트 용어들을 도출한다.
동작(530)은 키 텍스트 용어들을 사용하여 관련 콘텐츠를 결정하도록 수행된다. 관련 콘텐츠는 처리 시스템에 의해 액세스 가능한 텍스트 인덱스와 관련하여 제공될 수 있다. 관련 콘텐츠는 또한 키 용어들을 사용하여 제공된 검색 서비스에 대한 쿼리와, 처리 시스템에 의해 액세스 가능한 검색 서비스와 관련하여 제공될 수 있다.
동작(530)의 성능에 대한 응답으로, 관련 콘텐츠 아이템 또는 관련 콘텐츠 아이템들의 그룹과 같은 관련 콘텐츠가 결정된다. 일부 실시예들에서, 또한 사용자의 선택은, 예를 들어 사용자에게 잠재적 관련 콘텐츠의 목록을 제시한 결과로부터 관련 콘텐츠의 디스플레이 또는 사용을 진행하기 전에 처리될 수 있다. 동작(540)에서, 사용자의 선택이 수신되어 관련 콘텐츠로부터 제 2 콘텐츠를 선택한다. 일 실시예에서, 사용자의 선택은 선호도의 형태로 사전-설정되며, 그 선호도에 기초하여 제 2 콘텐츠의 자동 전달 또는 디스플레이를 야기한다. 다른 실시예에서, UI(또는 UI 내의 프롬프트들)는 제 2 콘텐츠의 사용자 선택을 수락하기 위하여 제공된다.
마지막으로, 동작(550)에서, (제 1 콘텐츠에 관련된) 제 2 콘텐츠가 사용자에게 제공된다. 제 2 콘텐츠는 제 1 콘텐츠와 관련된 동일한 디스플레이 또는 미디어 출력에 제공될 수 있으며, 다르게는 제 2 콘텐츠는 제 1 콘텐츠와 관련된 상이한 디스플레이 또는 미디어 출력에 제공될 수 있다. 예를 들어, 사용자가 텔레비전에 제 1 콘텐츠를 디스플레이하는 경우, 제 2 콘텐츠는 동시 또는 그 이후에 텔레비전의 디스플레이에 제공될 수 있거나, 제 2 콘텐츠는 텔레비전과 관계없이 작동하는 모바일 디바이스의 디스플레이에 동시 또는 그 이후에 제공될 수 있다.
앞서 설명한 기술들은 임의의 개수의 처리 시스템과 디바이스들과 함께 수행될 수 있으며, 본 명세서에 설명된 언어 처리의 구성들 또는 알고리즘들에 한정되지 않는다. 텍스트 콘텐츠는 또한 데이터의 텍스트 스트림과 무관한 콘텐츠로부터 획득될 수 있다. 예를 들어, 비디오 콘텐츠와 관련된 텍스트는 음성 및 스피치 인식, 광학 문자 및 이미지 텍스트 인식, 및 시스템 구현 언어 번역을 포함하는 임의의 개수의 자동화된 기술들의 조합에 의해 획득될 수 있다.
앞서의 예들 중 일부가 텔레비전 프로그램들과 같은 멀티미디어 동영상 콘텐츠를 참조하여 제공되었지만, 본 기술들과 관련하여 이러한 콘텐츠에 수행된 처리는 광범위한 단일-미디어 및 멀티미디어 데이터 및 포맷들로 확장될 수 있다. 이것은 3D(three-dimensional) 디스플레이 콘텐츠(예를 들어, 3D 영상), 텍스트 콘텐츠(예를 들어, 전자책들, 기사들, 및 다른 출판물들), 정적인 영상 콘텐츠(예를 들어, 사진들), 오디오 콘텐츠(예를 들어, 음악 및 라디오)를 포함할 수 있다. 또한, 사용자에게 탐색되어 제공된 관련 콘텐츠는 사용자에게 탐색되어 제공되는 원본 콘텐츠와는 상이한 포맷일 수 있다(예를 들어, 원본 텍스트 콘텐츠 대응하여 비디오 관련 콘텐츠, 및 그 반대도 가능). 또한, NLP 및 사용자 인터페이스 기술들은, 사용자들에게 (비디오 또는 오디오 형태, 또는 다른 것) 콘텐츠를 디스플레이, 촉진, 또는 출력할 수 있는 임의의 개수의 전자 디바이스들에 의한 동작을 위해 구성될 수 있다.
다른 적용가능한 네트워크 구성들은 본 기재의 통신 네트워크의 범위 내에 포함될 수 있다. 예들이 무선 로컬 영역 네트워크 구성 및 광역 인터넷 네트워크 연결을 참조하여 제공되었지만, 통신은 또한 임의의 개수의 개인 영역 네트워크들, 로컬 영역 네트워크(local area network; LAN)들, 및 광역 네트워크(wide area network; WAN)들을 이용하여, 유선 또는 무선 전송 매체들의 임의의 조합을 이용하여 가능하게 될 수 있다는 것이 이해될 것이다.
실시예들은 하드웨어, 펌웨어, 및 소프트웨어 중의 하나 또는 그 조합으로 구현될 수 있다. 실시예들은 또한, 본 명세서에 설명된 동작들을 수행하도록 적어도 하나의 프로세서에 의해 판독되고 실행될 수 있는, 적어도 하나의 컴퓨터 판독가능 저장 디바이스에 저장된 명령들로서 구현될 수 있다. 컴퓨터 판독가능 저장 디바이스는 머신(예를 들어, 컴퓨터, 스마트폰, 전자 디바이스)이 판독할 수 있는 형태로 정보를 저장하기 위한 임의의 비-일시적 메커니즘을 포함할 수 있다. 예를 들어, 컴퓨터 판독가능 저장 디바이스는 ROM(read-only memory), RAM(random-access memory), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스들, 및 다른 저장 디바이스들 및 매체를 포함할 수 있다. 일부 실시예들에서, 본 명세서에 설명된 전자 디바이스들 및 컴퓨팅 시스템들은 하나 이상의 프로세서들을 포함할 수 있으며, 컴퓨터 판독가능 저장 디바이스상에 저장된 명령들로 구성될 수 있다.
도 6은 본 명세서에 논의된 임의의 하나 이상의 방법을 실행할 수 있는 일 예시적 머신를 도시한 블록도이다. 다른 실시예들에서, 머신은 독립 실행형 디바이스로 동작하거나, 다른 머신들에 연결(예를 들어, 네트워크로 연결)될 수 있다. 네트워크 배치에서, 머신은 서버-클라이언트 네트워크 환경들에서 서버 또는 클라이언트 머신 중의 하나의 용량에서 작동할 수 있거나, 피어-투-피어(또는 분산) 네트워크 환경들에서 피어 머신으로서 작용할 수 있다. 머신은 PC(personal computer), 태블릿 PC, 셋톱 박스(set-top box; STB), PDA(Personal Digital Assistant), 휴대 전화, 웹 어플라이언스, 네트워크 라우터, 스위치 또는 브리지, 또는 그 머신에 의해 수행할 동작을 지정하는 명령들을 실행할 수 있는 임의의 머신(순차 또는 기타)일 수 있다. 또한, 단 하나의 머신이 도시되어 있지만, 용어 "머신"은 또한 본 명세서에 논의된 임의의 하나 이상의 방법을 수행하기 위해 개별적으로 또는 공동으로 수행하는 명령들의 세트(또는 다수의 세트들)를 실행하는 머신들의 임의의 컬렉션(collection)을 포함하도록 취하여야한다.
예시적 컴퓨터 시스템(600)은 버스(608)를 통해 서로 통신하는 프로세서(602)(예를 들어, CPU(central processing unit), GPU(graphics processing unit) 또는 양쪽 모두), 메인 메모리(604), 및 정적 메모리(606)를 포함할 수 있다. 컴퓨터 시스템(600)은 또한 비디오 디스플레이 유닛(610), 알파뉴메릭 입력 디바이스(612)(예를 들어, 키보드), 및 UI 내비게이션 디바이스(614)(예를 들어, 마우스)를 포함할 수 있다. 일 실시예에서, 비디오 디스플레이(610), 입력 디바이스(612), 및 UI 내비게이션 디바이스(614)는 터치 스크린 디스플레이이다. 컴퓨터 시스템(600)은 추가적으로 저장 디바이스(616)(예를 들어, 드라이브 유닛), 신호 발생 디바이스(618)(예를 들어 스피커), (하나 이상의 안테나들(628), 송수신기들, 또는 다른 무선 통신 하드웨어를 포함하거나, 그것과 작동 가능하게 통신할 수 있는) 네트워크 인터페이스 디바이스(620), 및 하나 이상의 센서들(나타내지 않음), 예를 들어 GPS(global positioning system) 센서, 나침반, 가속도계, 또는 다른 센서를 포함할 수 있다.
저장 디바이스(616)는 본 명세서에 설명된 하나 이상의 방법, 기능들에 의해 구현 또는 이용되는 데이터 구조들 및 명령들(624) 중의 하나 이상의 세트들(예를 들어, 소프트웨어)을 저장하는 적어도 하나의 머신-판독가능 매체(622)를 포함한다. 명령들(624)은 또한 머신 판독가능 매체를 구성하는 메인 메모리(604), 정적 메모리(606) 및 프로세서(602)에 의해, 그 실행 동안에 메인 메모리(604), 정적 메모리(606), 및/또는 프로세서(602) 및/또는 컴퓨터 시스템(600) 내에서 완전하게 또는 적어도 부분적으로 상주할 수도 있다.
머신 판독가능 매체(622)가 단일 매체로 예시적 실시예에 도시되어 있지만, 용어 "머신 판독가능 매체"는 하나 이상의 명령들(624)을 저장하는 단일 매체 또는 복수의 매체(예를 들어, 중앙 집중식 또는 분산 데이터베이스, 및/또는 관련 캐시 및 서버)를 포함할 수 있다. 용어 "머신 판독가능 매체”는 또한 머신에 의해 실행되는 명령들을 저장, 인코딩 또는 전송하고, 머신이 본 발명의 하나 이상의 방법론을 수행하게 하거나, 이러한 명령들에 의해 이용되거나 그것과 관련된 데이터 구조들을 저장, 인코딩 또는 전송을 할 수 있는, 임의의 타입의 매체를 포함하도록 취하여야 한다. 따라서, 용어 "머신 판독가능 매체"는 솔리드-스테이트 메모리들, 및 광학 및 자기 미디어를 포함하도록 취해져야 하며, 이에 한정되지 않는다. 머신 판독가능 매체의 특정 예들은 반도체 메모리 디바이스들(예를 들어, EPROM(Electrically Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory)) 및 플래시 메모리 디바이스들(예를 들어, 내부 하드 디스크 및 탈착 가능한 디스크와 같은 자기 디스크들, 광 자기 디스크, 및 CD-ROM 및 DVD-ROM 디스크들)을 포함하는 비-휘발성 메모리를 포함한다.
명령들(624)은 또한 다수의 잘 알려진 전송 프로토콜들(예를 들어, HTTP) 중의 어느 것을 이용한 네트워크 인터페이스 디바이스(620)를 통해, 송신 매체를 사용하여 통신 네트워크(626)를 통해 송신되거나 수신될 수 있다. 통신 네트워크들의 예들로는 LAN, WAN, 인터넷, 휴대 전화 네트워크들, POTS(Plain Old Telephone) 네트워크들, 및 무선 데이터 네트워크들(예를 들어, Wi-Fi, 3G, 및 4G LTE/LTE-A 또는 WiMAX 네트워크들)을 포함한다. 용어 “전송 매체”는 머신에 의해 실행되는 명령들을 저장, 인코딩, 또는 전송할 수 있는 임의의 무형의 매체를 포함하도록 취해져야 하며, 이러한 소프트웨어의 통신을 용이하게 하는 디지털 또는 아날로그 통신들 신호들 또는 다른 무형의 매체를 포함한다.
본 기재의 방법, 시스템, 및 디바이스 실시예들의 추가 예들은 다음의 구성들을 포함하며, 이에 한정되지 않는다. 다음의 비한정적인 예들 각각은 단독으로 존재할 수 있거나, 또는 임의의 순열로 조합될 수 있거나, 또는 아래에서 또는 본 발명의 전반에 걸쳐 제공되는 다른 예들 중의 하나 이상과 조합될 수도 있다.
예 1은 적어도 하나의 프로세서와, 복수의 인스트럭션들을 저장하는 적어도 하나의 메모리 디바이스를 포함하는 디바이스를 포함하며, 상기 복수의 인스트럭션들은, 상기 프로세서에 의해 실행 시에, 상기 프로세서로 하여금, 하나 이상의 미디어 콘텐츠 아이템들로부터 획득된 텍스트의 자연어 처리(natural language processing)를 수행하여 컨텍스트-관련 용어(context-relevant term)들을 식별하는 동작과, 상기 컨텍스트-관련 용어들을 사용하여 하나 이상의 콘텐츠 소스들로부터 하나 이상의 관련 콘텐츠 아이템들을 탐색하는 동작과, 다이내믹 브라우저 그래픽 사용자 인터페이스(dynamic browser graphical user interface)에서 상기 관련 콘텐츠 아이템들을 식별하는 동작을 수행하도록, 상기 다이내믹 브라우저 그래픽 사용자 인터페이스에서 스크립팅 명령(scripting command)들을 실행한다.
예 2에서, 예 1의 청구대상은, 상기 다이내믹 브라우저 그래픽 사용자 인터페이스에서 상기 미디어 콘텐츠 아이템들을 디스플레이하는 것을 선택적으로 포함할 수 있다.
예 3에서, 예 1-2 중의 하나 또는 임의의 조합의 청구대상은, 상기 미디어 콘텐츠 아이템의 디스플레이가 제 2 디바이스를 사용하는 사용자에게 제공되며, 상기 관련 콘텐츠 아이템들의 디스플레이는 상기 미디어 콘텐츠 아이템들의 디스플레이로 조정되는 것을 선택적으로 포함할 수 있다.
예 4에서, 예 1-3 중의 하나 또는 임의의 조합의 청구대상은, 상기 다이내믹 브라우저 그래픽 사용자 인터페이스에서 실행되는 상기 스크립팅 명령들은 자바스크립트(JavaScript) 인스트럭션들을 실행하여 수행되며, 상기 다이내믹 브라우저 그래픽 사용자 인터페이스는 하나 이상의 웹페이지들 또는 웹 애플리케이션들이 HTML5 마크업 언어 표준을 준수하게 하는 것을 선택적으로 포함할 수 있다.
예 5는 예 1-4 중의 하나 또는 임의의 조합의 청구대상을 포함하거나 선택적으로 조합될 수 있으며, 컴퓨팅 디바이스에 의해 수행되는 방법으로서, 그래픽 사용자 인터페이스 내의 클라이언트-측 스크립팅 명령들을 실행하는 것에 의해 콘텐츠와 관련된 텍스트의 자연어 처리를 수행하는 단계와, 컨텍스트-센서티브(context-sensitive) 키 용어들을 사용하여 하나 이상의 콘텐츠 소스들로부터 관련 콘텐츠를 결정하는 단계와, 상기 그래픽 사용자 인터페이스에서 관련 콘텐츠를 사용자에게 디스플레이하는 단계를 포함하고, 상기 자연어 처리를 수행하는 단계는, 상기 텍스트에서 복수의 키 용어 후보들을 식별하는 단계와, 상기 텍스트 내의 사용에 기초하여 상기 키 용어 후보들로부터 컨텍스트-센서티브(context-sensitive) 키 용어들을 선택하는 단계를 포함하는 방법을 포함한다.
예 6에서, 예 5의 청구대상은, 상기 그래픽 사용자 인터페이스는 브라우저이며, 상기 그래픽 사용자 인터페이스에서 관련 콘텐츠를 디스플레이하는 것은, 상기 브라우저를 사용하여 HTML5 마크업 언어 표준들을 준수하는 웹페이지 또는 웹 애플리케이션에서 상기 관련 콘텐츠의 디스플레이를 제공하는 것을 선택적으로 포함할 수 있다.
예 7에서, 예 5-6 중의 하나 또는 임의 조합의 청구대상은, 상기 클라이언트-측 스크립팅 명령들을 실행하는 것은, 상기 그래픽 사용자 인터페이스 내의 하나 이상의 자바스크립트(JavaScript) 스크립팅 명령들을 사용하여 상기 텍스트의 자연어 처리를 수행하는 것을 선택적으로 포함할 수 있다.
예 8에서, 예 5-7 중의 하나 또는 임의의 조합의 청구대상은, 상기 텍스트에서 복수의 키 용어 후보들을 식별하는 것은, 하나 이상의 사전결정된 기준을 만족시키는 상기 텍스트 내의 하나 이상의 고유 명사들 및 어구들로부터 키 용어 후보들을 선택하는 것을 선택적으로 포함할 수 있다.
예 9에서, 예 5-8 중의 하나 또는 임의의 조합의 청구대상은, 상기 텍스트에서 복수의 키 용어 후보들을 식별하는 것이, 상기 텍스트에 액세스하는 것과, 상기 텍스트에 대한 하나 이상의 품사를 태깅(tagging)하고, 상기 품사에 의한 단어들의 빈도에 기초하여 상기 텍스트를 인덱싱(indexing)하고, 상기 텍스트의 인덱싱을 사용하여 어구들 및 고유 명사들로부터 키 용어 후보들을 결정하는 것을 포함하고, 상기 키 용어 후보들로부터 컨텍스트-센서티브(context-sensitive) 키 용어들을 선택하는 것은, 상기 텍스트 내에서 상기 키 용어 후보들의 컨텍스트를 결정하는 것과, 상기 텍스트 내의 하나 이상의 다른 키 용어 후보들과 공통인 텍스트를 갖는 키 용어 후보들을 선택하는 것을 선택적으로 포함할 수 있다.
예 10에서, 예 5-9 중의 하나 또는 임의의 조합의 청구대상은, 상기 그래픽 사용자 인터페이스에서 관련 콘텐츠를 사용자에게 디스플레이하는 것은, 상기 콘텐츠의 디스플레이와 동시에 일어나는 것을 선택적으로 포함할 수 있다.
예 11에서, 예 5-10 중의 하나 또는 임의의 조합의 청구대상은, 상기 콘텐츠 및 상기 관련 콘텐츠 각각은 상기 그래픽 사용자 인터페이스에 디스플레이되며, 상기 그래픽 사용자 인터페이스는 사용자에 의해 동작가능한 동일한 디스플레이 디바이스에 제공되는 것을 선택적으로 포함할 수 있다.
예 12에서, 예 5-11 중의 하나 또는 임의의 조합의 청구대상은, 상기 관련 콘텐츠를 결정하는 것이, 상기 하나 이상의 콘텐츠 소스들로부터 관련 콘텐츠를 검색하는 것을 포함하고, 상기 검색은 컨텍스트-센서티브(context-sensitive) 키 용어들을 포함하는 것을 선택적으로 포함할 수 있다.
예 13에서, 예 5-12 중의 하나 또는 임의의 조합의 청구대상은, 상기 콘텐츠는 비디오를 포함하고, 상기 콘텐츠와 관련된 텍스트는, 상기 비디오와 관련된 비디오 트랜스크립트(video transcription), 자막(subtitle) 텍스트, 또는 클로즈드 캡션(closed captioning) 텍스트 중의 하나 이상을 포함하는 것을 선택적으로 포함할 수 있다.
예 14는 예 1-13 중의 하나 또는 임의의 조합의 청구대상을 포함하거나 이와 선택적으로 조합할 수 있으며, 컴퓨터 판독가능 인스트럭션들을 구비한 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 판독가능 인스트럭션들은, 컴퓨터에 의한 실행 시에, 상기 컴퓨터로 하여금, 상기 그래픽 사용자 인터페이스로 제공된 스크립팅 인스트럭션들을 사용하여, 텍스트의 자연어 처리를 수행함으로써 하나 이상의 콘텐츠 용어들을 추출하도록 하되, 상기 텍스트는 제 1 콘텐츠 세트와 관련되고, 상기 콘텐츠 용어들을 사용하여 하나 이상의 쿼리들을 수행함으로써 관련 콘텐츠 세트를 탐색 및 획득하도록 하고, 상기 그래픽 사용자 인터페이스에서 상기 관련 콘텐츠를 디스플레이하도록 구성되는 그래픽 사용자 인터페이스를 제공하게 야기하는 컴퓨터 판독가능 저장 매체를 포함한다.
예 15에서, 예 14의 청구대상은, 상기 그래픽 사용자 인터페이스가 브라우저이며, 상기 관련 콘텐츠의 디스플레이는 하나 이상의 웹페이지들이 상기 관련 콘텐츠를 포함하게 하는 것에 의해 제공되며, 상기 웹페이지들은 HTML5 마크업 언어 표준들을 준수하는 사용자-인터랙티브 디스플레이를 제공하는 상기 관련 콘텐츠를 포함하는 것을 선택적으로 포함할 수 있다.
예 16에서, 예 14-15 중의 하나 또는 임의의 조합의 청구대상은, 상기 브라우저에 상기 제 1 콘텐츠를 디스플레이하도록, 상기 제 1 콘텐츠의 디스플레이는 하나 이상의 웹페이지들 또는 웹 애플리케이션들이 상기 제 1 콘텐츠를 포함하게 하는 것에 의하여 제공되고, 상기 웹페이지들 또는 웹 애플리케이션들은 HTML5 마크업 언어 표준들을 준수하는 사용자-인터랙티브 디스플레이를 제공하는 것을 선택적으로 포함할 수 있다.
예 17에서, 예 14-16 중의 하나 또는 임의의 조합의 청구대상은, 상기 제 1 콘텐츠 세트와 관련된 텍스트가 상기 콘텐츠와 관련된 실시간 데이터스트림에 의해 제공되는 것을 선택적으로 포함할 수 있다.
예 18에서, 예 14-17 중의 하나 또는 임의의 조합의 청구대상은, 상기 데이터스트림이 클로즈드 캡션 텍스트, 자막 텍스트, 또는 메타데이터 중의 하나 이상으로부터 제공되는 것을 선택적으로 포함할 수 있다.
예 19에서, 예 14-18 중의 하나 또는 임의의 조합의 청구대상은, 상기 그래픽 사용자 인터페이스에 제공되는 상기 스크립팅 인스트럭션들은, 자바스크립트 가능한 디스플레이 환경에서 실행되도록 구성된 자바스크립트 인스트럭션들인 것을 선택적으로 포함할 수 있다.
예 20은 예 1-19 중의 하나 또는 임의의 조합의 청구대상을 포함하거나 선택적으로 조합될 수 있으며, 시스템으로서, 사용자에게 제 1 콘텐츠 세트를 출력하도록 구성된 출력 디바이스와, 상기 제 1 콘텐츠 세트와 관련된 텍스트로부터 관련 콘텐츠를 제공하도록 구성된 콘텐츠 처리 시스템을 포함하고, 상기 콘텐츠 처리 시스템은, 상기 제 1 콘텐츠 세트와 관련된 용어들을 결정하도록 구성된 자연어 처리 컴포넌트로서, 상기 자연어 처리는 스크립팅 명령들을 사용하여 수행되는, 상기 자연어 처리 컴포넌트와, 상기 제 1 콘텐츠 세트와 관련된 용어들을 사용하여, 상기 제 1 콘텐츠 세트와 관련된 제 2 콘텐츠 세트를 결정하도록 구성된 콘텐츠 검색 컴포넌트와, 사용자 인터페이스 내에서 상기 사용자에게 상기 제 2 콘텐츠 세트를 제공하도록 구성된 사용자 인터페이스 컴포넌트로서, 상기 사용자 인터페이스는 마크업 언어를 사용하여 상기 사용자에게 동적으로 생성되는 디스플레이를 제공하는, 상기 사용자 인터페이스 컴포넌트를 포함하는 시스템을 포함한다.
예 21에서, 예 20의 청구대상은, 상기 제 1 콘텐츠 세트 및 상기 제 1 콘텐츠 세트와 관련된 텍스트를 제공하는 제 1 콘텐츠 소스와, 상기 제 2 콘텐츠 세트를 제공하는 제 2 콘텐츠 소스를 선택적으로 더 포함할 수 있다.
예 22에서, 예 20-21 중의 하나 또는 임의의 조합의 청구대상은, 상기 출력 디바이스는 상기 사용자에게 상기 사용자 인터페이스 및 상기 제 2 콘텐츠 세트를 출력하도록 더 구성되는 것을 선택적으로 포함할 수 있다.
예 23에서, 예 20-22 중의 하나 또는 임의의 조합의 청구대상은, 상기 사용자에게 상기 사용자 인터페이스 및 상기 제 2 콘텐츠 세트를 출력하도록 구성되는 제 2 출력 디바이스를 더 포함하는 것을 선택적으로 포함할 수 있다.
예 24에서, 예 20-23 중의 하나 또는 임의의 조합의 청구대상은, 상기 콘텐츠 검색 및 상기 자연어 처리는 상기 사용자 인터페이스 내에서 실행되는 스크립팅을 사용하여 수행되며, 상기 콘텐츠 처리 시스템은 상기 출력 디바이스의 프로세서에서 실행되는 소프트웨어 인스트럭션들에 의해 제공되는 것을 선택적으로 포함할 수 있다.
본 요약은 독자가 기술적 개시의 본질 및 요지를 확인할 수 있도록 제공된다. 이것은 그것이 청구항의 범위 또는 의미를 제한 또는 방해하는데 사용되지 않을 것이라는 이해와 함께 제출된다. 다음의 청구항들은 본 상세한 설명에 통합되며, 각각의 청구항은 개별 실시예로서 독립적으로 사용될 수 있다.

Claims (27)

  1. 제 1 전자 디바이스로부터 제공되는 미디어 콘텐츠 아이템에 관련된 콘텐츠를 출력하기 위해 제 2 스크린 디바이스에 의해 수행되는 방법으로서,
    상기 제 1 전자 디바이스로부터 텍스트 스트림을 수신하는 단계 - 상기 텍스트 스트림은 상기 미디어 콘텐츠 아이템의 자막 텍스트에 대응하고, 상기 미디어 콘텐츠 아이템은 상기 제 1 전자 디바이스에 의해 표시되고 있는 비디오 콘텐츠를 포함하며, 상기 비디오 콘텐츠는 상기 제 1 전자 디바이스로부터 상기 제 2 스크린 디바이스로 제공되지 않음 - 와,
    상기 제 1 전자 디바이스로부터 텍스트 스트림을 수신하는 것에 응답하여, 상기 텍스트 스트림을 처리하는 단계 - 상기 처리는 상기 제 1 전자 디바이스에 의해 표시되고 있는 상기 비디오 콘텐츠와 관련된 텍스트 스트림으로부터 용어 세트를 식별하고 상기 용어 세트 내의 발생 빈도에 기초하여 상기 용어 세트로부터 컨텍스트 관련 용어를 선택함 - 와,
    상기 텍스트 스트림의 처리에 응답하여, 상기 선택된 컨텍스트 관련 용어를 사용하여 콘텐츠 소스로부터 관련된 콘텐츠 아이템을 식별하는 단계와,
    상기 제 2 스크린 디바이스의 그래픽 사용자 인터페이스에서 상기 관련된 콘텐츠 아이템을 표시하는 단계 - 상기 비디오 콘텐츠가 상기 제 1 전자 디바이스에 의해 표시되는 것에 응답하여, 상기 관련된 콘텐츠 아이템이 상기 제 2 스크린 디바이스에 의해 표시됨 - 를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 관련된 콘텐츠 아이템을 표시하는 단계는, 상기 제 1 전자 디바이스 상의 상기 비디오 콘텐츠의 표시의 시작과 동시에, 또는 상기 제 1 전자 디바이스 상의 상기 비디오 콘텐츠의 표시의 시작으로부터 일정 시간 이후에, 상기 관련된 콘텐츠 아이템을 상기 제 2 스크린 디바이스 상에 자동으로 표시하는 단계를 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 관련된 콘텐츠 아이템을 식별하는 단계는 상기 콘텐츠 소스로부터 관련 콘텐츠에 대한 검색을 자동으로 수행하는 단계를 포함하고, 상기 검색은 상기 컨텍스트 관련 용어를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 관련된 콘텐츠 아이템에 대한 링크를 표시하는 단계를 더 포함하되,
    상기 관련된 콘텐츠 아이템의 표시는 상기 관련된 콘텐츠 아이템에 대한 링크의 사용자 선택에 응답하여 상기 그래픽 사용자 인터페이스에 제공되며, 상기 관련된 콘텐츠 아이템에 대한 링크의 표시는 브라우저에 제공되는
    방법.
  5. 제 1 항에 있어서,
    상기 관련된 콘텐츠 아이템은 추가의 미디어 콘텐츠에 대한 적어도 하나의 링크를 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 텍스트 스트림을 처리하는 단계는, 상기 텍스트 스트림에서 특정 품사로서의 단어의 사용 빈도에 기초하여 상기 컨텍스트 관련 용어로부터 키 용어 세트를 도출하는 단계와, 상기 미디어 콘텐츠 아이템과 관련된 메타데이터 내의 단어와의 매칭에 기초하여 상기 키 용어 세트를 순위화(ranking)하는 단계를 더 포함하는
    방법.
  7. 제 1 항에 있어서,
    상기 텍스트 스트림은 상기 비디오 콘텐츠와 관련된 비디오 트랜스크립션(video transcription), 자막 또는 클로즈드 캡션(closed captioning) 텍스트 중 적어도 하나로부터 획득된 텍스트 콘텐츠를 포함하는
    방법.
  8. 제 1 항에 있어서,
    상기 텍스트 스트림은 무선 로컬 영역 네트워크(local area network; LAN) 접속을 통해 상기 제 1 전자 디바이스로부터 수신되는
    방법.
  9. 제 1 항에 있어서,
    상기 제 1 전자 디바이스는 텔레비전이고, 상기 제 2 스크린 디바이스는 휴대용 전자 디바이스이며, 상기 휴대용 전자 디바이스는 태블릿 컴퓨터, 모바일 전화기 또는 랩탑 컴퓨터의 포맷인
    방법.
  10. 제 2 스크린 디바이스로서,
    디스플레이 스크린과,
    적어도 하나의 프로세서와,
    복수의 명령어를 저장하는 적어도 하나의 메모리 디바이스를 포함하되,
    상기 복수의 명령어는 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 제 1 전자 디바이스로부터 제공되는 미디어 콘텐츠 아이템에 관련된 콘텐츠를 출력하기 위한 동작을 수행하게 하며,
    상기 동작은,
    상기 제 1 전자 디바이스로부터 텍스트 스트림을 수신 - 상기 텍스트 스트림은 상기 미디어 콘텐츠 아이템의 자막 텍스트에 대응하고, 상기 미디어 콘텐츠 아이템은 상기 제 1 전자 디바이스에 의해 표시되고 있는 비디오 콘텐츠를 포함하며, 상기 비디오 콘텐츠는 상기 제 1 전자 디바이스로부터 상기 제 2 스크린 디바이스로 제공되지 않음 - 하고,
    상기 제 1 전자 디바이스로부터 텍스트 스트림을 수신하는 것에 응답하여, 상기 텍스트 스트림의 처리를 개시 - 상기 처리는 상기 제 1 전자 디바이스에 의해 표시되고 있는 상기 비디오 콘텐츠와 관련된 텍스트 스트림으로부터 용어 세트를 식별하고 상기 용어 세트 내의 발생 빈도에 기초하여 상기 용어 세트로부터 컨텍스트 관련 용어를 선택함 - 하며,
    상기 텍스트 스트림의 처리에 응답하여, 상기 선택된 컨텍스트 관련 용어를 사용하여 콘텐츠 소스로부터 관련된 콘텐츠 아이템을 식별하고,
    상기 제 2 스크린 디바이스의 그래픽 사용자 인터페이스에서 상기 관련된 콘텐츠 아이템을 출력- 상기 비디오 콘텐츠가 상기 제 1 전자 디바이스에 의해 표시되는 것에 응답하여, 상기 관련된 콘텐츠 아이템이 상기 제 2 스크린 디바이스에 의해 표시됨 - 하는 것인
    제 2 스크린 디바이스.
  11. 제 10 항에 있어서,
    상기 관련된 콘텐츠 아이템을 출력하는 동작은, 상기 제 1 전자 디바이스 상의 상기 비디오 콘텐츠의 표시의 시작과 동시에, 또는 상기 제 1 전자 디바이스 상의 상기 비디오 콘텐츠의 표시의 시작으로부터 일정 시간 이후에, 상기 관련된 콘텐츠 아이템을 상기 제 2 스크린 디바이스 상에 자동으로 표시하는 것을 포함하는
    제 2 스크린 디바이스.
  12. 제 10 항에 있어서,
    상기 관련된 콘텐츠 아이템을 식별하는 동작은 상기 콘텐츠 소스로부터 관련 콘텐츠에 대한 검색을 자동으로 수행하는 것을 포함하고, 상기 검색은 상기 컨텍스트 관련 용어를 포함하는
    제 2 스크린 디바이스.
  13. 제 10 항에 있어서,
    상기 프로세서는 상기 관련된 콘텐츠 아이템에 대한 링크를 출력하는 추가 동작을 수행하되,
    상기 관련된 콘텐츠 아이템의 출력은 상기 관련된 콘텐츠 아이템에 대한 링크의 사용자 선택에 응답하여 상기 그래픽 사용자 인터페이스에 제공되며, 상기 관련된 콘텐츠 아이템에 대한 링크의 출력은 브라우저에 제공되는
    제 2 스크린 디바이스.
  14. 제 10 항에 있어서,
    상기 관련된 콘텐츠 아이템은 추가의 미디어 콘텐츠에 대한 적어도 하나의 링크를 포함하는
    제 2 스크린 디바이스.
  15. 제 10 항에 있어서,
    상기 텍스트 스트림의 처리는, 상기 텍스트 스트림에서 특정 품사로서의 단어의 사용 빈도에 기초하여 상기 컨텍스트 관련 용어로부터 키 용어 세트를 도출하는 것과, 상기 미디어 콘텐츠 아이템과 관련된 메타데이터 내의 단어와의 매칭에 기초하여 상기 키 용어 세트를 순위화하는 것을 더 포함하는
    제 2 스크린 디바이스.
  16. 제 10 항에 있어서,
    상기 텍스트 스트림은 상기 비디오 콘텐츠와 관련된 비디오 트랜스크립션, 자막 또는 클로즈드 캡션 텍스트 중 적어도 하나로부터 획득된 텍스트 콘텐츠를 포함하는
    제 2 스크린 디바이스.
  17. 제 10 항에 있어서,
    상기 텍스트 스트림은 무선 로컬 영역 네트워크(LAN) 접속을 통해 상기 제 1 전자 디바이스로부터 수신되는
    제 2 스크린 디바이스.
  18. 제 10 항에 있어서,
    상기 제 1 전자 디바이스는 텔레비전이고, 상기 제 2 스크린 디바이스는 휴대용 전자 디바이스이며, 상기 휴대용 전자 디바이스는 태블릿 컴퓨터, 모바일 전화기 또는 랩탑 컴퓨터의 포맷인
    제 2 스크린 디바이스.
  19. 제 1 전자 디바이스로부터 제공되는 미디어 콘텐츠 아이템에 관련된 콘텐츠를 출력하기 위한 복수의 명령어를 포함하는 적어도 하나의 비일시적 머신 판독가능 저장 매체로서,
    상기 복수의 명령어는, 제 2 스크린 디바이스의 프로세서 회로를 사용하여 실행되는 것에 응답하여, 상기 프로세서 회로로 하여금,
    상기 제 1 전자 디바이스로부터 텍스트 스트림을 수신 - 상기 텍스트 스트림은 상기 미디어 콘텐츠 아이템의 자막 텍스트에 대응하고, 상기 미디어 콘텐츠 아이템은 상기 제 1 전자 디바이스에 의해 표시되고 있는 비디오 콘텐츠를 포함하며, 상기 비디오 콘텐츠는 상기 제 1 전자 디바이스로부터 상기 제 2 스크린 디바이스로 제공되지 않음 - 하고,
    상기 제 1 전자 디바이스로부터 텍스트 스트림을 수신하는 것에 응답하여, 상기 텍스트 스트림을 처리 - 상기 처리는 상기 제 1 전자 디바이스에 의해 표시되고 있는 상기 비디오 콘텐츠와 관련된 텍스트 스트림으로부터 용어 세트를 식별하고 상기 용어 세트 내의 발생 빈도에 기초하여 상기 용어 세트로부터 컨텍스트 관련 용어를 선택함 - 하며,
    상기 텍스트 스트림의 처리에 응답하여, 상기 선택된 컨텍스트 관련 용어를 사용하여 콘텐츠 소스로부터 관련된 콘텐츠 아이템을 식별하고,
    상기 제 2 스크린 디바이스의 그래픽 사용자 인터페이스에서 상기 관련된 콘텐츠 아이템을 표시 - 상기 비디오 콘텐츠가 상기 제 1 전자 디바이스에 의해 표시되는 것에 응답하여, 상기 관련된 콘텐츠 아이템이 상기 제 2 스크린 디바이스에 의해 표시됨 - 하는 것을 포함하는 동작을 수행하게 하는
    머신 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 관련된 콘텐츠 아이템을 표시하는 것은, 상기 제 1 전자 디바이스 상의 상기 비디오 콘텐츠의 표시의 시작과 동시에, 또는 상기 제 1 전자 디바이스 상의 상기 비디오 콘텐츠의 표시의 시작으로부터 일정 시간 이후에, 상기 관련된 콘텐츠 아이템을 상기 제 2 스크린 디바이스 상에 자동으로 표시하는 것을 포함하는
    머신 판독가능 저장 매체.
  21. 제 19 항에 있어서,
    상기 관련된 콘텐츠 아이템을 식별하는 것은 상기 콘텐츠 소스로부터 관련 콘텐츠에 대한 검색을 자동으로 수행하는 것을 포함하고, 상기 검색은 상기 컨텍스트 관련 용어를 포함하는
    머신 판독가능 저장 매체.
  22. 제 19 항에 있어서,
    상기 동작은 상기 관련된 콘텐츠 아이템에 대한 링크를 표시하는 것을 더 포함하되,
    상기 관련된 콘텐츠 아이템의 표시는 상기 관련된 콘텐츠 아이템에 대한 링크의 사용자 선택에 응답하여 상기 그래픽 사용자 인터페이스에 제공되며, 상기 관련된 콘텐츠 아이템에 대한 링크의 표시는 브라우저에 제공되는
    머신 판독가능 저장 매체.
  23. 제 19 항에 있어서,
    상기 관련된 콘텐츠 아이템은 추가의 미디어 콘텐츠에 대한 적어도 하나의 링크를 포함하는
    머신 판독가능 저장 매체.
  24. 제 19 항에 있어서,
    상기 텍스트 스트림을 처리하는 것은, 상기 텍스트 스트림에서 특정 품사로서의 단어의 사용 빈도에 기초하여 상기 컨텍스트 관련 용어로부터 키 용어 세트를 도출하는 것과, 상기 미디어 콘텐츠 아이템과 관련된 메타데이터 내의 단어와의 매칭에 기초하여 상기 키 용어 세트를 순위화하는 것을 더 포함하는
    머신 판독가능 저장 매체.
  25. 제 19 항에 있어서,
    상기 텍스트 스트림은 상기 비디오 콘텐츠와 관련된 비디오 트랜스크립션, 자막 또는 클로즈드 캡션 텍스트 중 적어도 하나로부터 획득된 텍스트 콘텐츠를 포함하는
    머신 판독가능 저장 매체.
  26. 제 19 항에 있어서,
    상기 텍스트 스트림은 무선 로컬 영역 네트워크(LAN) 접속을 통해 상기 제 1 전자 디바이스로부터 수신되는
    머신 판독가능 저장 매체.
  27. 제 19 항에 있어서,
    상기 제 1 전자 디바이스는 텔레비전이고, 상기 제 2 스크린 디바이스는 휴대용 전자 디바이스이며, 상기 휴대용 전자 디바이스는 태블릿 컴퓨터, 모바일 전화기 또는 랩탑 컴퓨터의 포맷인
    머신 판독가능 저장 매체.
KR1020187007765A 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리 KR102047200B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/067623 WO2013100978A1 (en) 2011-12-28 2011-12-28 Real-time natural language processing of datastreams

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020157019776A Division KR20150091185A (ko) 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리

Publications (2)

Publication Number Publication Date
KR20180032665A KR20180032665A (ko) 2018-03-30
KR102047200B1 true KR102047200B1 (ko) 2019-11-20

Family

ID=48698220

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020157019776A KR20150091185A (ko) 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리
KR1020167008857A KR101777981B1 (ko) 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리
KR1020187007765A KR102047200B1 (ko) 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리
KR1020147017918A KR20140097516A (ko) 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020157019776A KR20150091185A (ko) 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리
KR1020167008857A KR101777981B1 (ko) 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147017918A KR20140097516A (ko) 2011-12-28 2011-12-28 데이터 스트림들의 실시간 자연어 처리

Country Status (8)

Country Link
US (2) US9710461B2 (ko)
EP (2) EP2798529B1 (ko)
JP (1) JP5922255B2 (ko)
KR (4) KR20150091185A (ko)
CN (2) CN104025077B (ko)
BR (1) BR112014016260A8 (ko)
TW (1) TWI493363B (ko)
WO (1) WO2013100978A1 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2798529B1 (en) 2011-12-28 2019-08-14 Intel Corporation Real-time natural language processing of datastreams
US9280520B2 (en) 2012-08-02 2016-03-08 American Express Travel Related Services Company, Inc. Systems and methods for semantic information retrieval
KR102081925B1 (ko) * 2012-08-29 2020-02-26 엘지전자 주식회사 디스플레이 디바이스 및 스피치 검색 방법
US9582572B2 (en) 2012-12-19 2017-02-28 Intel Corporation Personalized search library based on continual concept correlation
US9715533B2 (en) 2013-07-02 2017-07-25 Ebay Inc. Multi-dimensional search
US20150149616A1 (en) * 2013-11-27 2015-05-28 Institute For Information Industry Server and share link management method thereof
FR3014279A1 (fr) * 2013-11-29 2015-06-05 Orange Fourniture d'acces a des contenus, en particulier a des articles de presse
US9594737B2 (en) * 2013-12-09 2017-03-14 Wolfram Alpha Llc Natural language-aided hypertext document authoring
US9615122B2 (en) 2014-01-30 2017-04-04 Echostar Technologies L.L.C. Methods and apparatus to synchronize second screen content with audio/video programming using closed captioning data
US9876848B1 (en) 2014-02-21 2018-01-23 Twitter, Inc. Television key phrase detection
US20150356101A1 (en) * 2014-06-05 2015-12-10 Mobli Technologies 2010 Ltd. Automatic article enrichment by social media trends
US9760554B2 (en) 2014-10-31 2017-09-12 International Business Machines Corporation Incorporating content analytics and natural language processing into internet web browsers
US9916008B2 (en) 2015-01-12 2018-03-13 International Business Machines Corporation Microfluidics three-dimensional touch screen display
US10509829B2 (en) 2015-01-21 2019-12-17 Microsoft Technology Licensing, Llc Contextual search using natural language
US9984424B2 (en) * 2015-02-23 2018-05-29 International Business Machines Corporation Populating a new community for a social network
KR101785780B1 (ko) 2015-06-11 2017-10-16 한국 한의학 연구원 건강 정보 제공 시스템 및 방법
US10025773B2 (en) 2015-07-24 2018-07-17 International Business Machines Corporation System and method for natural language processing using synthetic text
CN106470349A (zh) * 2015-08-21 2017-03-01 中国科学院声学研究所 一种智能电视中html5视频的提取和操控优化方法
EP3378060A4 (en) * 2015-11-17 2019-01-23 Ubergrape GmbH DETECTION OF ASYNCHRONOUS CLAIM IN TEXT-BASED NEWS
US10235367B2 (en) 2016-01-11 2019-03-19 Microsoft Technology Licensing, Llc Organization, retrieval, annotation and presentation of media data files using signals captured from a viewing environment
CN105578222B (zh) * 2016-02-01 2019-04-12 百度在线网络技术(北京)有限公司 一种信息推送方法和装置
US9965469B2 (en) 2016-03-23 2018-05-08 International Business Machines Corporation Dynamic token translation for network interfaces
KR102557574B1 (ko) 2016-05-17 2023-07-20 엘지전자 주식회사 디지털 디바이스 및 그 제어 방법
US10904188B2 (en) * 2016-06-28 2021-01-26 International Business Machines Corporation Initiating an action based on a determined navigation path data structure
US10503832B2 (en) * 2016-07-29 2019-12-10 Rovi Guides, Inc. Systems and methods for disambiguating a term based on static and temporal knowledge graphs
US9961100B2 (en) 2016-07-29 2018-05-01 Accenture Global Solutions Limited Network security analysis system
CN109937417A (zh) 2016-08-09 2019-06-25 瑞普科德公司 用于电子记录的上下文检索的系统和方法
US11709996B2 (en) * 2016-12-30 2023-07-25 Meta Platforms, Inc. Suggesting captions for content
CN107678778B (zh) * 2017-03-14 2019-12-13 平安科技(深圳)有限公司 基于Hybrid的兼容方法、适配件、运行装置及系统
US10540671B2 (en) 2017-04-10 2020-01-21 Wildfire Systems, Inc. Messaging gateway monetization system
US10643230B2 (en) 2017-04-10 2020-05-05 Wildfire Systems, Inc. Monetization system for images
US10169770B2 (en) 2017-04-10 2019-01-01 Wildfire Systems, Inc. Digital communications monetization system
US10229427B2 (en) * 2017-04-10 2019-03-12 Wildfire Systems, Inc. Virtual keyboard trackable referral system
US10733622B1 (en) 2017-04-10 2020-08-04 Wildfire Systems, Inc. Application user interface monetization system
CN111164676A (zh) 2017-11-15 2020-05-15 英特尔公司 经由环境语境采集进行的语音模型个性化
KR20190056119A (ko) * 2017-11-16 2019-05-24 삼성전자주식회사 디스플레이장치 및 그 제어방법
US11941033B2 (en) * 2017-11-27 2024-03-26 Affirm, Inc. Method and system for syntactic searching
US10496382B2 (en) * 2018-02-22 2019-12-03 Midea Group Co., Ltd. Machine generation of context-free grammar for intent deduction
KR102281882B1 (ko) * 2018-03-23 2021-07-27 엔이디엘.콤 잉크. 실-시간 오디오 스트림 검색 및 제시 시스템
US11295783B2 (en) * 2018-04-05 2022-04-05 Tvu Networks Corporation Methods, apparatus, and systems for AI-assisted or automatic video production
US10930278B2 (en) * 2018-04-09 2021-02-23 Google Llc Trigger sound detection in ambient audio to provide related functionality on a user interface
TWI663594B (zh) * 2018-04-19 2019-06-21 陳伯豪 根據視訊或音訊之聲音提供語言學習資訊之行動裝置、伺服器及系統
US20190347068A1 (en) * 2018-05-10 2019-11-14 Microsoft Technology Licensing, Llc Personal history recall
US11455497B2 (en) 2018-07-23 2022-09-27 Accenture Global Solutions Limited Information transition management platform
CN109086397B (zh) * 2018-07-28 2022-05-17 重庆柚瓣家科技有限公司 基于查询维度的动态报表生成方法
KR101949154B1 (ko) * 2018-09-17 2019-02-18 (주)투비소프트 Json을 이용하여 데이터셋의 구조를 변환하는 전자 장치 및 그의 동작 방법
US10853398B2 (en) * 2018-11-13 2020-12-01 Adobe Inc. Generating three-dimensional digital content from natural language requests
US11170044B2 (en) 2019-01-02 2021-11-09 International Business Machines Corporation Personalized video and memories creation based on enriched images
US11250872B2 (en) 2019-12-14 2022-02-15 International Business Machines Corporation Using closed captions as parallel training data for customization of closed captioning systems
US11176329B2 (en) 2020-02-18 2021-11-16 Bank Of America Corporation Source code compiler using natural language input
US11250128B2 (en) 2020-02-18 2022-02-15 Bank Of America Corporation System and method for detecting source code anomalies
CN111445902B (zh) * 2020-03-27 2023-05-30 北京字节跳动网络技术有限公司 数据收集方法、装置、存储介质及电子设备
US11574217B2 (en) 2020-06-24 2023-02-07 Bank Of America Corporation Machine learning based identification and classification of database commands
KR102470248B1 (ko) 2021-02-08 2022-11-25 주식회사 페이커즈 위조품 식별을 위한 자연어 처리 방법 및 위조품 탐지 시스템
US20220028391A1 (en) * 2021-07-15 2022-01-27 ATOS Global IT Solutions and Services Private Limited Method for processing a video file comprising audio content and visual content comprising text content
TWI823815B (zh) * 2023-05-10 2023-11-21 犀動智能科技股份有限公司 摘要產生方法及系統與電腦程式產品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164460A1 (en) 2007-12-21 2009-06-25 Samsung Elcetronics Co., Ltd. Digital television video program providing system, digital television, and control method for the same

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0147210B1 (ko) * 1994-07-15 1998-09-15 이헌조 별도의 표시장치를 구비한 캡션 브이시알의 자막처리장치 및 자막처리방법
US6141678A (en) * 1998-04-29 2000-10-31 Webtv Networks, Inc. Presenting information relating to a program by recognizing text in closed captioning data
US6751776B1 (en) * 1999-08-06 2004-06-15 Nec Corporation Method and apparatus for personalized multimedia summarization based upon user specified theme
US6569206B1 (en) 1999-10-29 2003-05-27 Verizon Laboratories Inc. Facilitation of hypervideo by automatic IR techniques in response to user requests
US7046914B2 (en) 2001-05-01 2006-05-16 Koninklijke Philips Electronics N.V. Automatic content analysis and representation of multimedia presentations
TWI223162B (en) 2002-03-25 2004-11-01 Hsin-Chia Fu Method and computer system for automatic generation of multimedia WWW news contents from broadcast news video
GB0207791D0 (en) * 2002-04-04 2002-05-15 Koninkl Philips Electronics Nv Digital remote control device
CN101127899B (zh) * 2002-04-12 2015-04-01 三菱电机株式会社 提示信息描述方法
US20050073608A1 (en) * 2003-10-02 2005-04-07 Stone Christopher J. Method and system for passing closed caption data over a digital visual interface or high definition multimedia interface
JP4423327B2 (ja) * 2005-02-08 2010-03-03 日本電信電話株式会社 情報通信端末、情報通信システム、情報通信方法、情報通信プログラムおよびそれを記録した記録媒体
CN100517322C (zh) * 2006-02-10 2009-07-22 联想(北京)有限公司 媒体转换装置和方法
US8209724B2 (en) * 2007-04-25 2012-06-26 Samsung Electronics Co., Ltd. Method and system for providing access to information of potential interest to a user
US8200688B2 (en) * 2006-03-07 2012-06-12 Samsung Electronics Co., Ltd. Method and system for facilitating information searching on electronic devices
US20070244902A1 (en) * 2006-04-17 2007-10-18 Microsoft Corporation Internet search-based television
CN101021857A (zh) * 2006-10-20 2007-08-22 鲍东山 基于内容分析的视频搜索系统
US7640272B2 (en) * 2006-12-07 2009-12-29 Microsoft Corporation Using automated content analysis for audio/video content consumption
US20080162454A1 (en) * 2007-01-03 2008-07-03 Motorola, Inc. Method and apparatus for keyword-based media item transmission
US20080183681A1 (en) * 2007-01-29 2008-07-31 Samsung Electronics Co., Ltd. Method and system for facilitating information searching on electronic devices
US20080201434A1 (en) 2007-02-16 2008-08-21 Microsoft Corporation Context-Sensitive Searches and Functionality for Instant Messaging Applications
US20080235580A1 (en) * 2007-03-20 2008-09-25 Yahoo! Inc. Browser interpretable document for controlling a plurality of media players and systems and methods related thereto
US8005826B1 (en) * 2007-04-30 2011-08-23 Google Inc. Identifying media content in queries
US8484192B1 (en) * 2007-04-30 2013-07-09 Google Inc. Media search broadening
JP5196635B2 (ja) * 2007-08-28 2013-05-15 日本放送協会 ビデオコンテンツ再生端末およびビデオコンテンツ再生プログラム
US20090083260A1 (en) * 2007-09-21 2009-03-26 Your Truman Show, Inc. System and Method for Providing Community Network Based Video Searching and Correlation
US8793256B2 (en) * 2008-03-26 2014-07-29 Tout Industries, Inc. Method and apparatus for selecting related content for display in conjunction with a media
US8145648B2 (en) * 2008-09-03 2012-03-27 Samsung Electronics Co., Ltd. Semantic metadata creation for videos
US20100121973A1 (en) * 2008-11-12 2010-05-13 Yuliya Lobacheva Augmentation of streaming media
KR100973214B1 (ko) * 2008-12-19 2010-07-30 엔에이치엔(주) 프로그램 방송 중 검색 서비스를 제공하는 방법 및 장치
JP5189481B2 (ja) 2008-12-26 2013-04-24 Kddi株式会社 映像関連情報提示装置、映像関連情報提示システムおよび映像関連情報提示装置の制御プログラム
JP5344937B2 (ja) * 2009-01-20 2013-11-20 ヤフー株式会社 テレビ番組のメタ情報に基づく検索方法、検索システム、及び検索ターム生成装置
US20100211605A1 (en) * 2009-02-17 2010-08-19 Subhankar Ray Apparatus and method for unified web-search, selective broadcasting, natural language processing utilities, analysis, synthesis, and other applications for text, images, audios and videos, initiated by one or more interactions from users
US9170700B2 (en) * 2009-05-13 2015-10-27 David H. Kaiser Playing and editing linked and annotated audiovisual works
US20110047163A1 (en) * 2009-08-24 2011-02-24 Google Inc. Relevance-Based Image Selection
KR20120099064A (ko) * 2009-10-29 2012-09-06 톰슨 라이센싱 멀티스크린 대화형 스크린 아키텍쳐
US20110119595A1 (en) * 2009-11-19 2011-05-19 Telegent Systems USA, Inc. Apparatus and Method for Browser Based Integration of Broadcast Television and Internet Content
JP5617247B2 (ja) * 2010-01-14 2014-11-05 ソニー株式会社 データ記憶装置およびプログラム
US8799765B1 (en) * 2010-02-01 2014-08-05 Inkling Systems, Inc. Systems for sharing annotations and location references for same for displaying the annotations in context with an electronic document
US8996496B2 (en) * 2010-02-18 2015-03-31 Mobitv, Inc. Retrieval and display of related content using text stream data feeds
US8918803B2 (en) * 2010-06-25 2014-12-23 At&T Intellectual Property I, Lp System and method for automatic identification of key phrases during a multimedia broadcast
KR101700365B1 (ko) * 2010-09-17 2017-02-14 삼성전자주식회사 미디어 컨텐츠 관련 정보 제공 방법, 이 방법을 수행할 수 있는 디바이스와 서버 및 저장 매체
US9659313B2 (en) * 2010-09-27 2017-05-23 Unisys Corporation Systems and methods for managing interactive features associated with multimedia content
EP2798529B1 (en) 2011-12-28 2019-08-14 Intel Corporation Real-time natural language processing of datastreams

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164460A1 (en) 2007-12-21 2009-06-25 Samsung Elcetronics Co., Ltd. Digital television video program providing system, digital television, and control method for the same

Also Published As

Publication number Publication date
KR101777981B1 (ko) 2017-09-13
WO2013100978A1 (en) 2013-07-04
BR112014016260A2 (pt) 2017-06-13
JP5922255B2 (ja) 2016-05-24
US10366169B2 (en) 2019-07-30
EP3557442A1 (en) 2019-10-23
KR20180032665A (ko) 2018-03-30
CN104025077A (zh) 2014-09-03
KR20140097516A (ko) 2014-08-06
KR20160043132A (ko) 2016-04-20
TW201346595A (zh) 2013-11-16
KR20150091185A (ko) 2015-08-07
CN107704449B (zh) 2021-09-07
US20150019203A1 (en) 2015-01-15
EP2798529A1 (en) 2014-11-05
EP2798529B1 (en) 2019-08-14
US9710461B2 (en) 2017-07-18
JP2015501059A (ja) 2015-01-08
CN107704449A (zh) 2018-02-16
CN104025077B (zh) 2017-10-27
TWI493363B (zh) 2015-07-21
US20180067925A1 (en) 2018-03-08
BR112014016260A8 (pt) 2017-07-04
EP2798529A4 (en) 2015-11-04

Similar Documents

Publication Publication Date Title
US10366169B2 (en) Real-time natural language processing of datastreams
US11636146B2 (en) Content analysis to enhance voice search
US20220138211A1 (en) Approximate template matching for natural language queries
US9088830B2 (en) Method for virtual channel management, network-based multimedia reproduction system with virtual channel, and computer readable storage medium
US8005826B1 (en) Identifying media content in queries
US9235323B2 (en) Techniques for management and presentation of content
US10289737B1 (en) Media search broadening
US20150293996A1 (en) Methods, systems, and media for searching for video content
US20080183681A1 (en) Method and system for facilitating information searching on electronic devices
JP2014500528A (ja) Top−k処理を活用した意味の充実
CN107515870B (zh) 一种搜索方法和装置、一种用于搜索的装置
US20120323900A1 (en) Method for processing auxilary information for topic generation
US20230177265A1 (en) Electronic apparatus recommending content-based search terms and control method thereof
US20160353176A1 (en) Contextual content programming
JP6440459B2 (ja) 検索装置、検索方法及び検索プログラム
JP2008027258A (ja) データ表示装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant