KR101811468B1 - 톱-k 처리를 이용한 의미 보강 - Google Patents

톱-k 처리를 이용한 의미 보강 Download PDF

Info

Publication number
KR101811468B1
KR101811468B1 KR1020127034385A KR20127034385A KR101811468B1 KR 101811468 B1 KR101811468 B1 KR 101811468B1 KR 1020127034385 A KR1020127034385 A KR 1020127034385A KR 20127034385 A KR20127034385 A KR 20127034385A KR 101811468 B1 KR101811468 B1 KR 101811468B1
Authority
KR
South Korea
Prior art keywords
content
concept
keywords
concepts
knowledge database
Prior art date
Application number
KR1020127034385A
Other languages
English (en)
Other versions
KR20130120381A (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 KR20130120381A publication Critical patent/KR20130120381A/ko
Application granted granted Critical
Publication of KR101811468B1 publication Critical patent/KR101811468B1/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
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • 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/44Browsing; Visualisation therefor
    • G06F16/444Spatial browsing, e.g. 2D maps, 3D or virtual spaces
    • 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/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
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • 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/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

텍스트의 의미를 적절히 표현하는 것은 군집화, 텍스트들 사이의 의미 관련성을 계산하는 것, 및 검색을 비롯한 많은 데이터 마이닝 및 정보 검색 작업을 향상시키는 데 중요하다. 위키피디아로부터 도출된 개념 공간에서 텍스트를 표현하는 것은 그의 포괄성 및 전문 지식으로 인해 최근에 점점 더 많은 관심을 받고 있다. 이 개념-기반 표현은 BOW(bag of words) 모델로 추론될 수 없는 텍스트들 사이의 의미 관련성을 추출할 수 있다. 그렇지만, 위키피디아를 의미 해석기로서 사용하는 것에 대한 주된 장애물은 위키피디아로부터 도출되는 개념들의 순전한 크기가 텍스트를 개념 공간으로 효율적으로 매핑하는 것을 어렵게 만든다는 것이다. 텍스트의 의미에 가장 잘 매핑하는 개념을 사용함으로써 텍스트의 의미를 표현할 수 있는 효율적인 알고리즘이 입증되었다. 상세하게는, 이 방식은 먼저 주어진 텍스트에 가장 관련성 있는 대략적인 상위 k개 개념을 계산한다. 이들 개념은 이어서 주어진 텍스트의 의미를 표현하는 데 이용된다.

Description

톱-k 처리를 이용한 의미 보강{SEMANTIC ENRICHMENT BY EXPLOITING TOP-K PROCESSING}
관련 출원의 상호 참조
본 출원은 2010년 6월 3일자로 출원된 미국 가특허 출원 제61/351,252호, 2010년 6월 15일자로 출원된 미국 가특허 출원 제61/397,780호, 및 2010년 11월 12일자로 출원된 미국 가특허 출원 제61/456,774호(참조 문헌으로서 그 전체 내용이 포함됨)를 기초로 우선권을 주장한다.
발명의 기술분야
본 발명은 데이터 마이닝(data mining) 및 정보 검색에 관한 것으로서, 보다 구체적으로는, 데이터 마이닝 및 정보 검색에서 사용되는 키워드의 의미 해석에 관한 것이다.
BOW(bag of words) 모델은 종래의 텍스트-기반 응용부터 웹 및 소셜 미디어까지의 넓은 범위에 걸쳐 있는 다양한 영역에서 아주 효과적인 것으로 밝혀졌다. BOW를 사용한 정보 검색 시스템에서 부울, 확률 및 퍼지 모델을 비롯한 다수의 모델이 있지만, 단어-기반 벡터 모델이 문헌에서 가장 흔히 사용되는 것이다. 단어-기반 벡터 모델에서, u개의 상이한 단어를 갖는 사전 U가 주어진 경우, 문서는 u-차원 벡터
Figure 112012109279050-pct00001
로서 표현되고, 여기서 문서 단어에 대응하는 벡터 내의 그 위치만이 0보다 크게 설정되고, 모든 다른 위치는 0으로 설정되며, 그 결과 고차원 공간에서 극히 희소한 벡터의 집합체가 얻어진다.
BOW-기반 벡터 모델이 가장 보편적인 방식이지만, 이는 한계를 가지며, 이들 한계는 벡터의 희소성(sparsity) 및 단어들 간의 의미 관계 결여를 포함한다. 이들 한계를 극복하는 한 방식은 코퍼스에서 우세한 숨은 개념(latent concept)을 추출하기 위해 코퍼스에서 문서의 키워드를 분석하고 얻어진 숨은 개념 공간(latent concept-space)에서 문서를 모델링하는 것이다. 이들 기법이 텍스트-기반 응용 영역에서는 인상적인 결과를 생성하지만, 이들 기법은 얻어진 숨은 개념이 사람에 의해 구성된 지식과 상이하고, 따라서 사람 지식에 의해 이해될 수 없다는 점에서 여전히 한계를 가진다.
이 어려움을 해결하기 위한 가능한 해결책은 기존의 사람이 기여한 지식 데이터베이스[즉, 위키피디아(Wikipedia), 워드넷(WordNet), 및 오픈 디렉토리 프로젝트(Open Directory Project)]로부터 획득된 배경 지식으로 개별 문서를 보강(enrich)하는 것이다. 예를 들어, 위키피디아는 영어 버전에서 4백만개 초과의 항목을 담고 있는 웹 상의 가장 큰 무료 백과사전 중 하나이다. 위키피디아에서의 각각의 항목은 개념(주제)를 기술하고 있고, 각각의 개념은 적어도 하나의 카테고리에 속한다. 위키피디아는, 동의어 개념(synonymous concept)에 대해, 개념을 다른 개념으로 리디렉션시키는 리디렉션 페이지(redirect page)를 사용한다. 한편, 개념이 다의(polysemous)인 경우, 위키피디아는 다의 개념의 가능한 의미를 명확화 페이지(disambiguation page)에 디스플레이한다.
위키피디아는, 그의 포괄성 및 전문 지식으로 인해, 군집화, 분류, 단어 명확화, 사용자 프로필 생성, 및 주제 검출 등의 다양한 응용에 적용되어 왔으며, 여기서 위키피디아는 위키피디아의 개념에 기초하여 원래의 문서를 재해석(또는 보강)하는 의미 해석기로서 사용된다. 도 5에 도시된 바와 같이, 이러한 의미 재해석(500)은 키워드 공간(510)으로부터의 원래의 문서를 개념 공간(520)에 매핑하는 것과 같거나 그에 대응한다. 일반적으로, 원래의 사전과 개념 사이의 매핑은 (a) 개념을 키워드에 매칭시키는 것, 및 (b) 키워드를 이들 매칭된 개념으로 대체시키는 것에 의해 수행된다. 문헌에서, 이 프로세스는 흔히 원래의 키워드 행렬과 키워드 개념 행렬 간의 행렬 곱셈으로서 정의된다(도 5). 이러한 위키피디아-기반 재해석은 어쩌면 위키피디아 개념 공간에 매핑된 키워드가 의미 정보에 기반한 것이도록 할 수 있으며, 문서 분류 및 군집화를 비롯한 다양한 업무에서 유효성을 상당히 향상시킨다.
위키피디아와 같은 소스를 의미 해석기로서 이용하는 데 있어서의 주된 장애물은 효율성 문제로 인한 것이다. 순전히 위키피디아 항목의 크기(400만개 초과의 개념)만을 고려할 때, 위키피디아의 모든 가능한 개념에 기초하여 원래의 문서를 재해석하는 것은 엄청난 비용이 들 수 있다. 따라서, 이러한 의미 재해석을 위해 사용되는 기법들이 고속이어야 하는 것이 필수적이다.
보다 중요한 것은, 원래의 문서를 모든 가능한 위키피디아 개념으로 보강하는 것이, 예를 들어, 응용 레벨에서 부가의 오버헤드를 부과하는데, 그 이유는 보강된 문서가 아주 높은 차원에 대응하는 증강된 개념 공간에서 표현될 것이기 때문이다. 대부분의 응용은 문서가 모든 가능한 위키피디아 개념으로 표현될 것을 필요로 하지 않는데, 그 이유는 그 개념들이 주어진 문서에 똑같이 중요하지 않기 때문이다. 실제로, 중요하지 않은 개념은 혼잡스럽게 하는 경향이 있다. 따라서, 주어진 원래의 문서와 매칭하는 최상의 k개 개념을 위키피디아에서 효율적으로 찾아내고 이러한 k개 개념에 기초하여 그 문서를 의미적으로 재해석할 필요가 있다.
키워드 집합체를 나타내는 키워드 행렬이 주어진 경우, 주어진 키워드 질의에 매칭하는 최상의 k개 결과를 효율적으로 식별하는 것은 간단하지가 않다. 첫째, 키워드 행렬의 크기가 엄청나다. 둘째, 가장 잘 알려진 상위 k개 처리 방법을 이 문제점에 적용하는 데 있어서 키워드 행렬의 희소성은 제한 요인이 된다. 따라서, 목표는 주어진 문서 질의에 가장 관련성이 있는 대략적인 상위 k개 키워드를 계산하는 효율적인 메커니즘을 개발하는 것이다. 상세하게는, 사용자(응용 프로그램)-제공의 타당한 정확률(precision rate) 하에서 보이지 않는 객체의 점수를 효과적으로 추정하고 이들 예상 점수에 기초하여 대략적인 상위 k개 결과를 계산할 수 있는 SparseTopk 알고리즘이 제공된다.
일 실시예에 따르면, 키워드의 의미 해석 방법이 제공된다. 이 방법은, 의미 해석을 위한 하나 이상의 키워드를 획득하는 단계; 하나 이상의 키워드에 대한 지식 데이터베이스 내의 상위 k개 개념을 계산하는 단계; 및 상위 k개 개념을 사용하여 하나 이상의 키워드를 개념 공간에 매핑하는 단계를 포함한다.
다른 실시예에 따르면, 디스플레이된 콘텐츠에 대한 자동 영상 발견을 수행하는 시스템이 제공된다. 이 시스템은 주제 검출 모듈, 키워드 추출 모듈, 영상 발견 모듈, 및 제어기를 포함하고 있다. 주제 검출 모듈은 디스플레이되고 있는 콘텐츠의 주제를 검출하도록 구성되어 있다. 키워드 추출 모듈은 디스플레이되고 있는 콘텐츠의 주제로부터 질의어(query terms)를 추출하도록 구성되어 있다. 영상 발견 모듈은 질의어에 기초하여 영상을 발견하도록 구성되어 있고, 제어기는 주제 검출 모듈, 키워드 추출 모듈, 및 영상 발견 모듈을 제어하도록 구성되어 있다.
본 발명의 이들 및 기타 측면, 특징 및 이점이 첨부 도면과 관련하여 기술된 예시적인 실시예에 대한 이하의 상세한 설명으로부터 명백하게 될 것이다.
본 원리들이 이하의 예시적인 도면들을 참조하면 더 잘 이해될 수 있다.
도 1은 일 실시예에 따른, 비디오 및 오디오 콘텐츠를 가정으로 배포하는 것을 개략적으로 나타낸 시스템도;
도 2는 일 실시예에 따른, 대표적인 셋톱 박스 수신기의 추가적인 상세를 나타낸 시스템도;
도 3은 일 실시예에 따른, 셋톱 박스 수신기에서 수행되는 프로세스를 나타낸 도면;
도 4는 일 실시예에 따른, 의미 해석의 프로세스를 나타낸 흐름도;
도 5는 일 실시예에 따른, 의미 해석가 키워드 공간으로부터의 키워드를 개념 공간에 어떻게 매핑하는지를 나타낸 도면;
도 6은 일 실시예에 따른, 순위별 처리 방식에 의존하는 의미 해석의 일반 프레임워크를 나타낸 도면;
도 7은 일 실시예에 따른, 대략적인 상위 k개 개념을 계산하는 의사 코드의 일례를 나타낸 도면;
도 8은 키워드 공간으로부터의 키워드를 개념 공간에 매핑하는 의사 코드의 일례를 나타낸 도면.
본 원리들은 콘텐츠 검색에 관한 것으로서, 보다 구체적으로는 톱-k 기법을 사용한 검색에 사용되는 키워드의 의미 해석에 관한 것이다.
따라서, 당업자라면, 본 명세서에 명시적으로 기술되거나 도시되어 있지 않지만, 본 발명을 구현하고 또 본 발명의 사상 및 범위 내에 포함되는 다양한 구성들을 안출할 수 있다는 것을 잘 알 것이다.
본 명세서에 상술되는 모든 일례 및 조건적 표현은 기술을 발전시키기 위해 발명자들이 기여한 개념들 및 본 발명을 이해하는 데 도움을 주도록 교육적 목적을 위한 것이며, 이러한 구체적으로 상술된 일례들 및 조건들로 제한되지 않는 것으로 해석되어야 한다.
게다가, 본 발명의 원리, 측면 및 실시예는 물론 본 발명의 구체적인 일례를 상술하는 본 명세서의 모든 설명이 본 발명의 구조적 등가물 및 기능적 등가물 둘 다를 포괄하는 것으로 보아야 한다. 그에 부가하여, 이러한 등가물이 현재 공지된 등가물은 물론 장래에 개발되는 등가물, 즉 구조에 상관없이 동일한 기능을 수행하는 개발된 임의의 요소도 포함하는 것으로 보아야 한다.
따라서, 예를 들어, 당업자라면 본 명세서에 제공된 블록도가 본 발명을 구현하는 예시적인 회로의 개념도를 나타낸다는 것을 잘 알 것이다. 이와 마찬가지로, 어떤 플로우차트, 흐름도, 상태 천이도, 의사코드 등이, 사실상 컴퓨터 판독가능 매체에 표현되고 따라서 컴퓨터 또는 프로세서(이러한 컴퓨터 또는 프로세서가 명시적으로 도시되어 있든 그렇지 않든 간에)에 의해 실행될 수 있는 다양한 프로세스를 나타낸다는 것을 잘 알 것이다.
도면에 도시된 다양한 요소들의 기능이 전용 하드웨어는 물론 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어를 사용하여 제공될 수 있다. 프로세서에 의해 제공될 때, 이들 기능은 하나의 전용 프로세서에 의해, 하나의 공유 프로세서에 의해, 또는 복수의 개별 프로세서(이들 중 일부는 공유될 수 있음)에 의해 제공될 수 있다. 게다가, "프로세서" 또는 "제어기"라는 용어의 명시적 사용이 소프트웨어를 실행할 수 있는 하드웨어만을 말하는 것으로 해석되어서는 안되며, 디지털 신호 처리기(DSP), 하드웨어, 소프트웨어를 저장하는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 및 비휘발성 저장 장치(이에 한정되지 않음)를 암시적으로 포함할 수 있다.
기타 종래의 하드웨어(conventional hardware) 및/또는 커스텀 하드웨어(custom hardware)도 역시 포함될 수 있다. 이와 마찬가지로, 도면들에 도시된 임의의 스위치는 단지 개념적인 것이다. 이들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어 및 전용 로직의 상호작용을 통해, 또는 심지어 수동으로 수행될 수 있으며, 문맥으로부터 보다 구체적으로 이해되는 바와 같이 특정의 기법이 구현자에 의해 선택될 수 있다.
본 발명의 청구항에서, 지정된 기능을 수행하는 수단으로서 표현된 임의의 요소는, 예를 들어, a) 그 기능을 수행하는 회로 요소들의 조합 또는 b) 기능을 수행하기 위해 소프트웨어를 실행하는 적절한 회로와 결합된 임의의 형태의 소프트웨어(따라서, 펌웨어, 마이크로코드, 기타를 포함함)를 비롯하여, 그 기능을 수행하는 임의의 방식을 포함하는 것으로 보아야 한다. 이러한 청구항에 의해 정의된 본 발명은 다양한 인용된 수단들에 의해 제공된 기능들이 청구항이 요구하는 방식으로 결합되어 합해진다는 사실에 존재한다. 따라서, 그 기능들을 제공할 수 있는 어떤 수단이라도 본 명세서에 제공된 기능들과 등가인 것으로 간주된다.
본 명세서에서 본 발명의 "일 실시예" 또는 "실시예"는 물론 그의 다른 변형이라고 하는 것은 이 실시예와 관련하여 기술된 특정의 특징, 구조, 특성, 기타가 본 발명의 적어도 하나의 실시예에 포함되어 있다는 것을 의미한다. 따라서, 본 명세서에 걸쳐 여러 곳에서 나오는 "일 실시예에서" 또는 "실시예에서"라는 문구가 모두 동일한 실시예를 말하는 것은 아니다.
이제 도 1을 참조하면, 가정 또는 최종 사용자에게 콘텐츠를 배포하는 시스템(100)의 일 실시예의 블록도가 도시되어 있다. 콘텐츠는 영화 스튜디오 또는 프로덕션 하우스(production house) 등의 콘텐츠 소스(102)로부터 온 것이다. 콘텐츠는 2가지 형태 중 적어도 하나의 형태로 공급될 수 있다. 한 형태는 방송 형태의 콘텐츠일 수 있다. 방송 콘텐츠는 통상적으로 ABC(American Broadcasting Company), NBC(National Broadcasting Company), CBS(Columbia Broadcasting System) 등과 같은 미국 방송 서비스인 방송 제휴사 관리자(broadcast affiliate manager)(104)에 제공된다. 방송 제휴사 관리자는 콘텐츠를 수집하고 저장할 수 있으며, 배포 네트워크 1(106)로 도시된 배포 네트워크를 통한 콘텐츠의 배포를 스케줄링할 수 있다. 배포 네트워크 1(106)는 국립 센터로부터 하나 이상의 지방 또는 지역 센터로의 위성 링크 전송을 포함할 수 있다. 배포 네트워크 1(106)는 또한 공중파 방송, 위성 방송, 또는 케이블 방송 등의 지역 배포 시스템을 사용한 지역 콘텐츠 배포를 포함할 수 있다. 지역 배포된 콘텐츠는 사용자의 가정에 있는 수신측 장치(108)에 제공되며, 여기서 콘텐츠는 나중에 사용자에 의해 검색될 것이다. 수신측 장치(108)가 많은 형태를 취할 수 있고 셋톱 박스/DVR(digital video recorder), 게이트웨이, 모뎀 등으로서 구현될 수 있다는 것을 잘 알 것이다. 게다가, 수신측 장치(108)는 홈 네트워크에서 클라이언트 또는 피어 장치로서 구성되어 있는 부가의 장치를 포함하는 홈 네트워크 시스템에 대한 진입점 또는 게이트웨이로서 기능할 수 있다.
제2형태의 콘텐츠는 특수 콘텐츠라고 한다. 특수 콘텐츠는 프리미엄 시청(premium viewing), 유료 시청(pay-per-view), 또는 다른 방식으로 방송 제휴사 관리자에 제공되지 않는 기타 콘텐츠(영화, 비디오 게임 또는 기타 비디오 요소)로서 전달되는 콘텐츠를 포함할 수 있다. 많은 경우에, 특수 콘텐츠는 사용자에 의해 요청되는 콘텐츠일 수 있다. 특수 콘텐츠는 콘텐츠 관리자(110)에 배포된다. 콘텐츠 관리자(110)는, 예를 들어, 콘텐츠 공급자, 방송 서비스, 또는 배포 네트워크 서비스와 제휴하고 있는 인터넷 웹 사이트 등의 서비스 공급자일 수 있다. 콘텐츠 관리자(110)는 또한 인터넷 콘텐츠를 배포 시스템에 포함시킬 수 있다. 콘텐츠 관리자(110)는 별도의 배포 네트워크인 배포 네트워크 2(112)를 통해 콘텐츠를 사용자의 수신측 장치(108)로 배포할 수 있다. 배포 네트워크 2(112)는 고속 광대역 인터넷 유형 통신 시스템을 포함할 수 있다. 주목할 중요한 점은, 방송 제휴사 관리자(104)로부터의 콘텐츠가 또한 배포 네트워크 2(112)의 전부 또는 일부를 사용하여 배포될 수 있고, 콘텐츠 관리자(110)로부터의 콘텐츠가 배포 네트워크 1(106)의 전부 또는 일부를 사용하여 배포될 수 있다는 것이다. 그에 부가하여, 사용자는 또한 콘텐츠 관리자(110)에 의해 관리되는 콘텐츠를 꼭 가질 필요 없이 배포 네트워크 2(112)를 통해 인터넷으로부터 직접 콘텐츠를 획득할 수 있다.
개별적으로 배포되는 콘텐츠를 이용하는 몇 가지 구성이 가능할 수 있다. 한가지 가능한 방식에서, 특수 콘텐츠는 대안의 디스플레이, 구매 및 판매 옵션, 고화질 자료 등을 제공하는 방송 콘텐츠에 대한 증강으로서 제공된다. 다른 실시예에서, 특수 콘텐츠는 방송 콘텐츠로서 제공되는 어떤 프로그램 콘텐츠를 완전히 대체할 수 있다. 마지막으로, 특수 콘텐츠가 방송 콘텐츠와 완전히 분리되어 있을 수 있고, 사용자가 이용하고자 할 수 있는 미디어 대안에 불과할 수 있다. 예를 들어, 특수 콘텐츠는 방송 콘텐츠로서 아직 이용가능하지 않은 영화의 라이브러리일 수 있다.
수신측 장치(108)는 배포 네트워크 1 및 배포 네트워크 2 중 하나 또는 둘 다로부터 상이한 유형의 콘텐츠를 수신할 수 있다. 수신측 장치(108)는 콘텐츠를 처리하고, 사용자 기본 설정 및 명령에 기초하여 콘텐츠의 분리를 제공한다. 수신측 장치(108)는 또한 오디오 및 비디오 콘텐츠를 기록 및 재생하기 위한 하드 드라이브 또는 광 디스크 드라이브 저장 장치를 포함할 수 있다. 수신측 장치(108)의 동작 및 저장된 콘텐츠의 재생과 연관된 특징에 대한 추가적인 상세에 대해서는 도 2와 관련하여 이하에서 기술할 것이다. 처리된 콘텐츠는 주 디스플레이 장치(primary display device)(114)에 제공된다. 주 디스플레이 장치(114)는 종래의 2D 유형 디스플레이일 수 있거나, 다른 대안으로서, 진보된 3D 디스플레이일 수 있다.
수신측 장치(108)는 또한 제2화면 제어 장치, 예를 들어, 터치 스크린 제어 장치(116) 등과 같은 제2화면과 인터페이스할 수 있다. 제2화면 제어 장치(116)는 수신측 장치(108) 및/또는 디스플레이 장치(114)에 대한 사용자 제어를 제공하도록 구성되어 있을 수 있다. 제2화면 장치(116)는 또한 비디오 콘텐츠를 디스플레이할 수 있다. 비디오 콘텐츠는 사용자 인터페이스 항목 등의 그래픽 항목일 수 있거나, 디스플레이 장치(114)로 배포되는 비디오 콘텐츠의 일부분일 수 있다. 제2화면 제어 장치(116)는 적외선(IR) 또는 무선 주파수(RF) 통신 등의 임의의 공지된 신호 전송 시스템을 사용하여 수신측 장치(108)와 인터페이스할 수 있고, IRDA(infra-red data association) 표준, Wi-Fi, 블루투스, 기타 또는 임의의 다른 독점 프로토콜 등의 표준 프로토콜을 포함할 수 있다. 터치 스크린 제어 장치(116)의 동작에 대해 이하에서 더 상세히 기술할 것이다.
도 1의 일례에서, 시스템(100)은 또한 백엔드 서버(back end server)(118) 및 사용 데이터베이스(usage database)(120)를 포함하고 있다. 백엔드 서버(118)는 사용자의 사용 습관을 분석하고 그 사용 습관에 기초하여 추천을 하는 개인화 엔진(personalization engine)을 포함하고 있다. 사용 데이터베이스(120)는 사용자에 대한 사용 습관이 저장되는 곳이다. 어떤 경우에, 사용 데이터베이스(120)는 백엔드 서버(118)의 일부일 수 있다. 이 일례에서, 백엔드 서버(118)[는 물론 사용 데이터베이스(120)]는 시스템(100)에 연결되어 있고, 배포 네트워크 2(112)를 통해 액세스된다.
이제 도 2를 참조하면, 수신측 장치(200)의 실시예의 블록도가 도시되어 있다. 수신측 장치(200)는 도 1에 기술된 수신측 장치와 유사하게 동작할 수 있고, 게이트웨이 장치, 모뎀, 셋톱 박스, 또는 다른 유사한 통신 장치의 일부로서 포함될 수 있다. 도시된 장치(200)는 또한 오디오 장치 또는 디스플레이 장치를 비롯한 다른 시스템에 포함될 수 있다. 어느 경우든지, 시스템의 완벽한 동작을 위해 필요한 몇 가지 구성요소가, 기술 분야의 당업자에게 공지되어 있기 때문에, 간결함을 위해 도시되어 있지 않다.
도 2에 도시된 장치(200)에서, 콘텐츠가 입력 신호 수신기(202)에 의해 수신된다. 입력 신호 수신기(202)는 공중파, 케이블, 위성, 이더넷, 광섬유 및 전화선 네트워크를 비롯한 몇 가지 가능한 네트워크 중 하나를 통해 제공되는 신호를 수신, 복조, 및 디코딩하는 데 사용되는 몇 가지 공지된 수신기 회로 중 하나일 수 있다. 제어 인터페이스(222)를 통해 제공되는 사용자 입력에 기초하여, 원하는 입력 신호가 입력 신호 수신기(202)에 의해 선택되고 검색될 수 있다. 제어 인터페이스(222)는 터치 스크린 장치에 대한 인터페이스를 포함할 수 있다. 터치 패널 인터페이스(222)는 또한 휴대폰, 태블릿, 마우스, 고성능 리모콘(high end remote) 등과 인터페이스하도록 구성되어 있을 수 있다.
디코딩된 출력 신호는 입력 스트림 처리기(input stream processor)(204)에 제공된다. 입력 스트림 처리기(204)는 최종적인 신호 선택 및 처리를 수행하고, 콘텐츠 스트림에 대해 비디오 콘텐츠와 오디오 콘텐츠를 분리하는 것을 포함한다. 오디오 콘텐츠는 압축된 디지털 신호 등의 수신된 형식으로부터 아날로그 파형 신호로 변환하기 위해 오디오 처리기(206)에 제공된다. 아날로그 파형 신호는 오디오 인터페이스(208)에 제공되고, 또한 디스플레이 장치 또는 오디오 증폭기에도 제공된다. 다른 대안으로서, 오디오 인터페이스(208)는 HDMI(High-Definition Multimedia Interface) 케이블 또는 대안의 오디오 인터페이스[SPDIF(Sony/Philips Digital Interconnect Format) 등]를 사용하여 오디오 출력 장치 또는 디스플레이 장치에 디지털 신호를 제공할 수 있다. 오디오 인터페이스는 또한 하나 이상의 스피커 세트를 구동하는 증폭기를 포함할 수 있다. 오디오 처리기(206)는 또한 오디오 신호의 저장을 위한 임의의 필요한 변환을 수행한다.
입력 스트림 처리기(204)로부터의 비디오 출력은 비디오 처리기(210)에 제공된다. 비디오 신호는 몇 가지 형식 중 하나일 수 있다. 비디오 처리기(210)는, 필요에 따라, 입력 신호 형식에 기초하여, 비디오 콘텐츠의 변환을 제공한다. 비디오 처리기(210)는 또한 비디오 신호의 저장을 위한 임의의 필요한 변환을 수행한다.
저장 장치(212)는 입력에서 수신되는 오디오 및 비디오 콘텐츠를 저장한다. 저장 장치(212)는, 제어기(214)의 제어 하에서 그리고 또한 사용자 인터페이스(216) 및/또는 제어 인터페이스(222)로부터 수신된 명령[예컨대, 고속 감기(FF) 및 되감기(Rew) 등의 탐색 명령어]에 기초하여, 콘텐츠를 나중에 검색 및 재생하는 것을 가능하게 해준다. 저장 장치(212)는 하드 디스크 드라이브, 하나 이상의 대용량 집적 전자 메모리[SRAM(static RAM), 또는 DRAM(dynamic RAM)]일 수 있거나, CD(compact disk) 드라이브 또는 DVD(digital video disk) 드라이브 등의 교체가능 광 디스크 저장 시스템(interchangeable optical disk storage system)일 수 있다.
입력으로부터 또는 저장 장치(212)로부터 나오는, 비디오 처리기(210)로부터의 변환된 비디오 신호는 디스플레이 인터페이스(218)에 제공된다. 디스플레이 인터페이스(218)는 또한 디스플레이 신호를 앞서 기술된 유형의 디스플레이 장치에 제공한다. 디스플레이 인터페이스(218)는 RGB(red-green-blue) 등의 아날로그 신호 인터페이스일 수 있거나, HDMI 등의 디지털 인터페이스일 수 있다. 디스플레이 인터페이스(218)가, 이하에서 더 상세히 기술할 것인 바와 같이, 3차원 격자에 검색 결과를 제시하는 다양한 화면을 발생할 것임을 잘 알 것이다.
제어기(214)는 버스를 통해 장치(200)의 구성요소들[입력 스트림 처리기(202), 오디오 처리기(206), 비디오 처리기(210), 저장 장치(212) 및 사용자 인터페이스(216)를 포함함] 중 몇몇에 상호연결되어 있다. 제어기(214)는 입력 스트림 신호를 저장 장치 상에 저장하기 위한 또는 디스플레이하기 위한 신호로 변환하는 변환 프로세스를 관리한다. 제어기(214)는 또한 저장된 콘텐츠의 검색 및 재생을 관리한다. 게다가, 이하에서 기술할 것인 바와 같이, 제어기(214)는 콘텐츠의 검색 및, 상기한 바와 같이, 저장되거나 배포 네트워크를 통해 배포되는 콘텐츠를 표현하는 격자 디스플레이의 생성 및 조정을 수행한다.
제어기(214)는 또한 제어기(214)에 대한 정보 및 명령어 코드를 저장하는 제어 메모리(220)[RAM, SRAM, DRAM, ROM, PROM(programmable ROM), 플래시 메모리, EPROM(electronically programmable ROM), EEPROM(electronically erasable programmable ROM) 등을 포함함]에 결합되어 있다. 제어 메모리(220)는 제어기(214)에 대한 명령어를 저장할 수 있다. 제어 메모리는 또한 콘텐츠를 포함하는 그래픽 요소 등 요소들의 데이터베이스를 저장할 수 있다. 데이터베이스는 그래픽 요소의 패턴으로서 저장될 수 있다. 다른 대안으로서, 메모리는 그래픽 요소를 식별된 또는 그룹화된 메모리 장소에 저장하고, 그래픽 요소에 관련된 정보의 다양한 부분에 대한 메모리 장소를 식별하기 위해 액세스 또는 위치 테이블을 사용할 수 있다. 그래픽 요소의 저장에 관련된 부가의 상세에 대해 이하에서 기술할 것이다. 또한, 제어 메모리(220)의 구현은 단일 메모리 장치, 또는 다른 대안으로서, 공유 또는 공통 메모리를 형성하기 위해 서로 통신 연결 또는 결합되어 있는 2개 이상의 메모리 회로 등의 몇 가지 가능한 실시예를 포함할 수 있다. 또한, 메모리가 버스 통신 회로의 일부분 등의 다른 회로와 함께 더 큰 회로에 포함될 수 있다.
본 개시 내용의 사용자 인터페이스 프로세스는 고속 감기, 되감기 등의 기능을 표현하는 데 사용될 수 있는 입력 장치를 이용한다. 이것을 가능하게 해주기 위해, 터치 패널 장치 등의 제2화면 제어 장치는 수신측 장치(200)의 사용자 인터페이스(216) 및/또는 제어 인터페이스(222)를 통해 인터페이스할 수 있다.
도 3은 도 1 및 도 2와 관련하여 앞서 논의한 수신측 장치(106, 200) 등의 셋톱 박스(STB)(310)에서 의미 해석을 수행하는 데 수반되는 프로세스(300)의 한가지 가능한 실시예를 나타낸 것이다. 여기서, STB(310)는 콘텐츠 소스(102)로부터 콘텐츠(305)를 수신한다. 이어서, 다음과 같은 3 부분에서 콘텐츠(305)가 처리된다: 1) 키워드 수집(320), 2) 개념 수집(340), 3) 개념 처리(360). 키워드 수집(320)에서는, 콘텐츠(305)의 일부로서 제공되는 클로즈 캡션 데이터(close captioning data)를 수신, 포착 및 다른 방식으로 추출하기 위해 클로즈 캡션 추출기(Close Caption Extractor)(325)가 사용된다. 이어서, 문장의 주어 또는 목적어는 물론 전체 문구 등의 후보 문구 및 키워드를 탐색하기 위해 클로즈 캡션 데이터에서 문장 구조를 식별하기 위해 문장 세그먼트화기(Sentence Segmenter)(330)가 사용된다. 클로즈 캡션 내의 많은 문장에 대해, 주어 문구가 아주 중요하다. 그에 따라, 문장의 주부를 찾는 데 의존관계 파서(dependency parser)가 사용될 수 있고, 문장의 주부가 또한 후보 문구인 경우, 문장의 주부는 더 높은 우선순위를 부여받을 수 있다. 후보 키워드가 이어서 개념 수집(concept collection)(340)에서 관련성있는 개념을 찾아내는 데 사용된다. 이것은 또한 의미 해석기(350)가 후보 키워드를 개념에 매핑하는 데 사용되는 경우이다. 개념들이 이어서 개념 축적기(concept accumulator)(340)에 의해 그룹화될 수 있다. 얻어진 축적된 개념이 이어서 처리될 수 있다(360). 이것은 순위 지정(365) 및 사용자 프로필(370)을 생성하는 것 등의 기타 기능을 포함할 수 있다.
예를 들어, 사용자의 TV 시청 프로필을 생성하기 위해 세그먼트의 클로즈 캡션이 사용될 수 있고, 따라서 콘텐츠가 개인화될 수 있고 그로써 사용자에게 주어지는 추천의 품질을 향상시킬 수 있다. 광고와 매칭할 수 있는 것 또는 유사한 관심사를 가지는 친구를 제안하는 것 등의 정확하고 정보에 기반한 사용자 프로필을 생성하는 많은 다른 응용이 있다. 사용자의 TV 시청 습관으로부터 프로필을 생성하는 본 시스템이 직면하고 있는 주된 문제점은 정확한 데이터의 희소성 및 결여이다. 이 문제를 완화시키기 위해, 시청되는 TV 프로그램 세그먼트에 대응하는 클로즈 캡션 세그먼트가, 시청 시간 및 프로그램의 EPG 정보 등의 다른 메타데이터와 함께, 포착될 수 있다. 클로즈 캡션을 포착함으로써, 사용자의 관심사가 무엇인지를 이해하고 콘텐츠 기반 추천을 제공하는 기초를 제공하는 것이 가능하다. 게다가, 포착된 클로즈 캡션이 의미 해석기를 사용하여 개념 공간에 매핑될 때, 얻어진 프로필은 이해하고 이용하기에 더 직관적이다. 추가의 이점으로서, 저장될 필요가 있는 데이터의 양이 감소되는데, 그 이유는 전체 클로즈 캡션 세그먼트가 저장되지 않기 때문이다. 클로즈 캡션 세그먼트가 나타내는 상위 k개 개념만이 저장된다.
다른 일례에서, 의미 해석기에 의해 매핑되는 개념이 클로즈 캡션 데이터에 기초하여, 온라인(예컨대, 생방송/방송의 경우) 및 오프라인(예컨대, DVR의 경우) 둘 다에서, 비디오를 세그먼트화하는 데 사용할 수 있다. 각각의 세그먼트는 하나의 일관된 단위(예컨대, 저녁 뉴스에서의 타이거 우즈에 관한 세그먼트)이도록 일련의 개념을 포함해야만 한다. 비디오가 세그먼트화되면, 대응하는 클로즈 캡션 세그먼트가 개념 공간 및 얻어진 상위 k개 개념으로 주석이 붙여진 비디오에 매핑될 수 있다. 이것의 응용은 사람들이 이들 미니 클립을 친구와 공유하게 하거나 DVR에 저장하게 하거나 단순히 관심있는 것으로 태그를 붙이는 것일 것이다. 이것이 유용한 이유는, 사용자가 전체 비디오에 관심이 없거나 전체 비디오가 너무 커서 공유할 수 없거나 저작권 문제를 가질 수 있기 때문이다. 최근의 DVR은 생방송 일시정지/되감기 기능을 제공하기 위해 시청 중인 프로그램을 미리 녹화한다. 검출된 세그먼트 전후에 있는 짧은 시간 구간(+/- t 초)과 함께, 얻어진 세그먼트가 태깅 및/또는 저장 및/또는 공유될 수 있도록 세그먼트화 및 개념-매핑 알고리즘을 트리거하기 위해 이것이 추가적으로 증강될 수 있다.
다른 일례에서, 검색을 향상시키기 위해 이들 기법이 사용될 수 있다. 현재, 사용자는 관심의 프로그램을 찾기 위해 정확한 키워드를 사용하여 정보를 검색할 필요가 있다. 사용자가 무엇을 찾고 있는지를 정확히 알고 있는 경우에는 이것이 유용하지만, 정확한 키워드를 검색하는 것이 사용자의 관심을 끌지도 모르는 더 새롭고 더 흥미있는 콘텐츠를 발견하는 것을 방해한다. 이 문제를 해결하기 위해 의미 해석기가 사용될 수 있다. 개념 공간이 위키피디아로부터 도출될 수 있는데, 그 이유는 그것이 실제적인 목적에 대해 전체 사람 지식을 대표하는 것으로 생각될 수 있기 때문이다. 따라서, 이 공간에 표현되어 있는 임의의 문서가 동일한 개념을 사용하여 질의될 수 있다. 예를 들어, 사용자가 "폰지 사기(Ponzi Scheme)" 또는 "공급망(Supply Chain)" 등의 상위 레벨 지식을 사용하고 그 개념에 가장 관련성있는 미디어를 발견할 수 있을 것이다. 대응하는 미디어가 "폰지 사기" 또는 "공급망"에 정확히 매칭하는 어떤 키워드도 가지고 있지 않을지라도, 이 발견이 가능할 것이다. 게다가, 고정 필터(standing filter)를 설정함으로써, 임의의 들어오는 미디어가 개념 공간에 매핑될 수 있고, 개념이 고정 필터와 매칭하는 경우, 이러한 미디어가 시스템에 의한 추가의 동작을 위해 태깅될 수 있다. 사용자의 필터 규칙과 매칭하는 프로그램이 방송될 때, 사용자는 통지를 받고, 이를 저장, 브라우즈, 공유 또는 시청하기로 한다.
도 3의 일례에서, 프로세스가 STB(310)에서 수행되지만, 동일한 프로세스가 또한 콘텐츠 소스(102) 또는 서비스 공급자(104, 110)에서도 수행될 수 있다는 것을 잘 알 것이다. 어떤 경우에, 필요에 따라 또는 원하는 바에 따라, 상이한 장치 또는 장소 사이에서 부분들이 분할될 수 있다. 실제로, 많은 경우에, 의미 해석이 원격 서버에서 수행되고, 얻어진 개념이, 추가의 처리를 위해, 다시 STB(310), 콘텐츠 소스(102), 또는 서비스 공급자(104, 110)에 제공된다.
콘텐츠 소스(102)에서 처리하는 경우에, 콘텐츠가 생성될 때, 대응하는 클로즈 캡션 또는 자막 데이터가 개념 공간에 매핑된다. 추론된 개념이 이어서 (예컨대, MPEG-7 표준을 사용하는 경우) 미디어 멀티플렉스(media multiplex)에 별도의 스트림으로서 삽입된다. 장점은 프로세스가 미디어 파일마다 여러 번이 아니라 한번만 수행되면 된다는 것이다. 단점은 이 메타-데이터의 삽입, 추가의 처리 및 사용을 위한 표준이 개발될 필요가 있다는 것이다.
서비스 공급자(104 또는 110)에서 처리하는 경우에, 콘텐츠가 서비스 공급자의 네트워크를 통해 또는 클라우드에서 전송될 때 처리가 행해진다. 예를 들어, 서비스 공급자는 모든 들어오는 채널을 의미 해석기를 사용하여 처리하고 메타데이터를 적당한 방식으로(MPEG-7, 독점적 또는 웹 기반 기술을 사용하여) 삽입할 수 있다. 서비스 공급자는, 그의 STB가 이 메타데이터를 해석하고 추가로 처리할 수 있는 한, 표준 방식에 의존할 필요가 없다. 이 방식의 큰 장점은 복잡한 표준이 개발될 필요가 없고, 따라서 상이한 서비스 공급자를 구별하기 위해 이들 방식이 사용될 수 있다는 것이다.
이제 도 4를 참조하면, 상위 k개 개념을 사용하여 의미 해석을 수행하는 데 관여된 프로세스의 일 실시예를 나타낸 흐름도(400)가 도시되어 있다. 먼저, 의미 해석을 위해 하나 이상의 키워드가 획득된다(단계 410). 이어서, 하나 이상의 키워드가 지식 데이터베이스에서의 상위 k개 개념을 계산하는 데 사용된다(단계 420). 이어서, 키워드가 상위 k개 개념을 사용하여 개념 공간에 매핑될 수 있다(단계 430).
하나 이상의 키워드가 다수의 방식으로 획득될 수 있다. 도 3을 참조하여 상기한 바와 같이, 클로즈 캡션 데이터를 수반하는 키워드 추출을 사용하여 키워드가 획득될 수 있다. 다른 실시예에서, 요약, 프로그램 설명, 개요, 줄거리 등의 콘텐츠에 관련된 데이터로부터 키워드가 추출될 수 있다. 또 다른 실시예에서, 사용자는 검색어를 제공할 수 있다. 이하의 프로세스에 대한 설명에서, 키워드가 문서의 일부로서 제공된다.
상위 k개 개념을 계산하는 단계(단계 420) 및 개념 공간에 매핑하는 단계(단계 430)가 SparseTopk 알고리즘에 대한 설명과 함께 도 5 내지 도 8과 관련하여 이하에서 기술된다.
문제 정의
이 섹션에서, 문제가 정식으로 정의되고, 알고리즘을 개발 및 기술하는 데 사용되는 표기법이 도입된다.
모든 가능한 위키피디아 개념을 사용한 의미 재해석
Figure 112012109279050-pct00002
를 u개의 개별 단어를 갖는 사전이라고 하자. 위키피디아에서의 개념들이, 예를 들어, u x m c-개념 행렬 C(530)로 표현되고, 여기서 m은 위키피디아의 항목에 대응하는 개념의 수이고, u는 사전 내의 개별 단어의 수이다.
Figure 112012109279050-pct00003
를 제 r 개념 cr에서의 제i 키워드 ti의 가중치라고 하자.
Figure 112012109279050-pct00004
을 제r 개념 벡터라고 하자. 일반성을 잃지 않고, 각각의 개념 벡터
Figure 112012109279050-pct00005
가 단위 길이로 정규화되는 것으로 가정한다.
사전
Figure 112012109279050-pct00006
이 주어진 경우, 문서 d는 l 차원 벡터
Figure 112012109279050-pct00007
(515)로 표현된다.
키워드 개념 행렬 C(530) 및 문서 벡터
Figure 112012109279050-pct00008
가 주어지면, 모든 가능한 위키피디아 개념
Figure 112012109279050-pct00009
(525)으로 의미 재해석된(보강된) 문서 벡터가
Figure 112012109279050-pct00010
로서 정의된다.
행렬 곱셈의 정의에 의해, 벡터
Figure 112012109279050-pct00011
에서의 개념 cr의 기여분은 다음과 같이 계산된다:
Figure 112012109279050-pct00012
상위 k개 개념을 사용한 의미 재해석
도입부에서 언급한 바와 같이,
Figure 112012109279050-pct00013
의 모든 가능한 위키피디아 개념을 계산하는 것은 엄청난 비용이 들 수 있다. 따라서, 목표는 문서와 관련성있는 위키피디아 내의 최상의 k개 개념을 사용하여 문서를 재해석하는 것이다.
재해석된 문서
Figure 112012109279050-pct00014
가 주어지면,
Figure 112012109279050-pct00015
를 일련의 k개 개념이라고 하고, 따라서 이하가 성립한다:
Figure 112012109279050-pct00016
환언하면,
Figure 112012109279050-pct00017
Figure 112012109279050-pct00018
에 대한 기여분이 다른 것들보다 크거나 같은 k개 개념을 포함한다. 이어서, 그와 매칭하는 위키피디아 내의 상위 k개 개념에 기초한
Figure 112012109279050-pct00019
의 의미 재해석은
Figure 112012109279050-pct00020
으로서 정의되고, 여기서
Figure 112012109279050-pct00021
인 경우,
Figure 112012109279050-pct00022
이고,
그렇지 않은 경우,
Figure 112012109279050-pct00023
이다.
문제 정의: 대략적인 상위 k개 개념을 사용한 의미 재해석
주어진 문서와 관련성있는 최상의 k개 개념을 정확히 계산하는 것은 종종 키워드 개념 행렬 전체를 스캔하는 것을 필요로 하며, 이는 아주 비용이 많이 든다. 따라서, 추가적인 효율 이득을 달성하기 위해,
Figure 112012109279050-pct00024
가 다음과 같이 완화된다: 문서
Figure 112012109279050-pct00025
가 주어진 경우,
Figure 112012109279050-pct00026
에서의 적어도
Figure 112012109279050-pct00027
개 대답이
Figure 112012109279050-pct00028
에 속하도록
Figure 112012109279050-pct00029
를 일련의 k개 개념이라고 하고, 여기서
Figure 112012109279050-pct00030
이다. 이어서, 목적이 다음과 같이 정의된다:
문제 1 (
Figure 112012109279050-pct00031
를 사용한 의미 재해석) 키워드 개념 행렬 C, 문서 벡터
Figure 112012109279050-pct00032
, 및 대응하는 대략적인 최상의 k개 개념
Figure 112012109279050-pct00033
이 주어진 경우, 그와 매칭하는 위키피디아에서의 대략적인 상위 k개 개념에 기초한
Figure 112012109279050-pct00034
의 의미 재해석은
Figure 112012109279050-pct00035
로서 정의되고, 여기서
Figure 112012109279050-pct00036
인 경우,
Figure 112012109279050-pct00037
이고,
그렇지 않은 경우,
Figure 112012109279050-pct00038
이다.
환언하면, 원래의 문서 d가 단어 공간(510)으로부터 문서 d와 가장 잘 매핑하는 위키피디아에서의 대략적인 k개 개념으로 이루어진 개념 공간(520)에 대략적으로 매핑된다. 따라서, 이 문제에 대한 주된 난제는 이러한 대략적인 상위 k개 개념
Figure 112012109279050-pct00039
를 어떻게 효율적으로 식별하느냐이다. 이 문제를 해결하기 위해, 주어진 문서에 대한
Figure 112012109279050-pct00040
를 효율적으로 계산하는 새로운 순위별 처리 알고리즘이 제시된다.
에 대한 초보 해결책
이 섹션에서, 주어진 문서의 상위 k개 개념
Figure 112012109279050-pct00042
를 정확하게 계산하는 초보 방식(즉, 비현실적인 해결책)에 대해 먼저 기술한다.
전체 데이터를 스캔하는 것
이 문제에 대한 한가지 명백한 해결책은 u x m 키워드 개념 행렬 C(530) 전체를 스캔하고, 문서 벡터
Figure 112012109279050-pct00043
를 각각의 개념 벡터
Figure 112012109279050-pct00044
와 곱하며, 얻어진 점수
Figure 112012109279050-pct00045
(단,
Figure 112012109279050-pct00046
)를 내림차순으로 정렬하며, 최상의 k개 해결책만을 선택하는 것이다. 이 문제에 대한 더 유망한 해결책은, 키워드 개념 행렬에서의 대응하는 값이 0보다 큰 항목만을 스캔할 수 있게 해주는, IR 시스템에서 흔히 사용되는 반전된 인덱스를 이용하는 것이다. 양 방식은 아주 비용이 많이 드는데, 그 이유는 대부분의 자원을 최상의 k개 결과에 속하지 않을 유망하지 않은 데이터를 처리하는 데 낭비하기 때문이다.
임계값-기반 순위별 처리 방식
순위별 처리 또는 톱-k 처리에 대한 많은 수의 제안이 있었다. 앞서 언급한 바와 같이, TA(Threshold Algorithm), FA(Fagin's Algorithm), 및 NRA(No Repeating Algorithm) 등의 임계값-기반 알고리즘은 가장 잘 알려진 방법이다. 이들 알고리즘은, 정렬된 목록이 주어진 경우, 각각의 객체가 각각의 목록에서 단일 점수를 갖고, 각각의 목록 내의 독립적인 객체의 점수를 결합하는 집계 함수가 단조(monotone)[최소, 최대, (가중치) 합 및 곱 등]인 것으로 가정한다. 이들 단조 점수 함수는 그의 하위 점수에서 다른 것보다 우선하는 후보가 다른 것보다 나은 결합 점수를 가지도록 보장해주며, 이는 모든 목록을 스캔하는 것을 피하기 위해 상위 k개 계산 동안 조기에 종료하는 것을 가능하게 해준다. 일반적으로, TA(및 FA) 알고리즘은 2가지 액세스 방법 - 랜덤 액세스(random-access) 및 정렬 액세스(sorted- access) - 을 필요로 한다. 그렇지만, 문서-용어 행렬(document-term matrix) 등의 고차원 데이터(high-dimensional data)에 대한 랜덤 액세스를 지원하는 것은 엄청난 비용이 들 것이다. 따라서, NRA이 기초 프레임워크로서 이용되는데, 그 이유는 정렬 액세스 방법만을 필요로 하고, 따라서 개념 행렬 C 등의 고차원 데이터에 적합하기 때문이다.
개념 행렬에 대한 정렬된 역순 목록
u x m 키워드 개념 행렬 C(530)에 대한 정렬 액세스를 지원하기 위해, u개의 목록을 포함하는 역인덱스(inverted index)(610)가 생성된다(도 6). 각각의 키워드 ti에 대해, 대응하는 목록 Li는 일련의
Figure 112012109279050-pct00047
를 포함하고, 여기서
Figure 112012109279050-pct00048
는 위키피디아 개념 cr에서 키워드 ti의 가중치이다. 도 6에 도시된 바와 같이, 각각의 역순 목록은 0보다 큰 가중치를 가지는 개념만을 유지하고 있다. 정렬 액세스를 지원하기 위해 가중치의 값이 감소하는 순서로 이 역순 목록이 생성된다.
Figure 112012109279050-pct00049
를 계산하는 NRA-기반 방식
앞서 주어진
Figure 112012109279050-pct00050
의 정의로부터, 점수 함수가, 가중치 합으로서 정의되기 때문에, u개의 독립적인 목록에서 단조라는 것이 명백하다. 문서
Figure 112012109279050-pct00051
이 주어진 경우, NRA는 라운드 로빈 방식으로 입력 목록을 방문하고, 임계값 벡터
Figure 112012109279050-pct00052
를 갱신하며, 여기서
Figure 112012109279050-pct00053
는 목록 Li에서 판독된 마지막 가중치이다. 환언하면, 임계값 벡터는 입력 목록에서의 보이지 않는 인스턴스의 가중치에 관한 상한으로 이루어져 있다. 목록 Li에서 인스턴스
Figure 112012109279050-pct00054
를 판독한 후에, 의미 재해석된 문서 벡터
Figure 112012109279050-pct00055
에서 제r 위치의 가능한 최악의 점수는
Figure 112012109279050-pct00056
로서 계산되고,
여기서 KNr은 대응하는 가중치가 알고리즘에 의해 이전에 판독되었던 개념 벡터
Figure 112012109279050-pct00057
에서의 일련의 위치이다. 한편,
Figure 112012109279050-pct00058
에서의 제r 위치의 가능한 최상의 점수는 다음과 같이 계산된다:
Figure 112012109279050-pct00059
요약하면, 개념 벡터의 보이지 않는 항목이 0이라는 가정에 기초하여 가능한 최악의 점수가 계산되는 반면, 가능한 최상의 점수는 개념 벡터에서의 모든 보이지 않는 항목이 각각의 목록의 마지막 스캔 위치 이후에 나올 것을 가정하고 있다. NRA는 현재의 상위 k개 후보에서 가장 낮은 점수와 같은 기준 점수(cut off score) mink를 유지한다. NRA는 기준 점수 mink가 현재의 상위 k개 후보에 속하지 않는 가장 높은 최상의 개념 점수보다 클 때(또는 그와 같을 때) 계산을 중단할 것이다. 이 중단 조건이 항상 정확한 상위 k개 결과(즉, 이 경우에,
Figure 112012109279050-pct00060
)를 생성하도록 보장하지만, 이러한 중단 조건은 과도하게 비관적이고, 각각의 개념 벡터의 모든 미지의 값이 각각의 목록의 현재의 스캔 위치 이후에 판독되는 것으로 가정하고 있다. 그렇지만, 각각의 개념 벡터의 미지의 값이 아주 높은 확률로 0일 것으로 예상되는 희소 키워드 개념 행렬에 대해서는 특히 이러하지 않다. 따라서, NRA는 전체 목록을 스캔하는 것으로 끝날 수 있으며, 이는 아주 비용이 많이 들 것이다.
위키피디아 개념을 사용하여 문서를 효율적으로 해석하는 것
이 섹션에서, 위키피디아를 사용하는 효율적인 의미 해석기에 대한 알고리즘이 기술되어 있다. 제안된 알고리즘은 2개의 단계로 이루어져 있다: (1) 주어진 문서의 대략적인 상위 k개 개념
Figure 112012109279050-pct00061
를 계산하는 것, 및 (2)
Figure 112012109279050-pct00062
를 사용하여 원래의 문서를 개념 공간에 매핑하는 것.
단계 1: 대략적인 상위 k개 개념
Figure 112012109279050-pct00063
를 식별하는 것
상기한 바와 같이, 임계값-기반 알고리즘은 정렬 목록(sorted-list)이 주어지는 경우, 각각의 객체가 각각의 목록에서 단일 점수를 가진다는 가정에 기초하고 있다. NRA 알고리즘에서 보이지 않는 객체의 가능한 점수가 이 가정에 기초하여 계산된다. 그렇지만, 이 가정이 항목의 대부분이 0인 희소 키워드 개념 행렬에 대해서는 유효하지 않다. 따라서, 이 서브섹션에서, 먼저 희소 키워드 개념 행렬을 사용하여 보이지 않는 객체의 점수를 추정하는 방법이 기술되고 이어서 예상 점수를 이용하여 주어진 문서의 대략적인 상위 k개 개념을 획득하는 방법이 제시된다.
입력 목록의 수에 기초하여 경계를 추정하는 것
각각의 입력 목록에서 각각의 객체가 단일 점수를 가진다는 가정이 희소 키워드 개념 행렬에 대해서는 유효하지 않기 때문에, 이 서브섹션에서, 목표는 계산 동안 각각의 객체가 발견될 것으로 예상되는 경우 입력 목록의 수에 기초하여 경계를 정확하게 추정하는 것이다. 데이터 분포(즉, 확률 밀도 함수)를 근사화하기 위해 히스토그램이 보통 사용된다. 많은 기존의 대략적인 상위 k개 알고리즘은 입력 목록에 대한 히스토그램을 유지하고 히스토그램을 콘벌루션함으로써 미지의 객체의 점수를 추정한다. 일반적으로, 대략적인 방법이 정확한 방식보다 더 효율적이다. 그럼에도 불구하고, 키워드 개념 행렬에 대한 엄청난 수의 목록이 있는 것을 고려하여, 이러한 히스토그램을 유지하는 것 및 가능한 집계된 점수를 계산하기 위해 이들을 실행 시에 콘벌루션하는 것은 실행가능한 해결책이 아니다. 따라서, 추가적인 효율을 달성하기 위해, 이항 분포에 의존함으로써 각각의 역순 목록의 데이터 분포가 단순화된다(즉, 역순 목록이 주어진 개념을 포함하는 경우 또는 그렇지 않은 다른 경우). 이러한 단순화된 데이터 분포는 개념 행렬의 극도의 희소성으로 인해 상위 k개 결과의 품질을 그다지 감소시키지 않는다.
키워드 ti 및 키워드 개념 행렬 C가 주어진 경우, 대응하는 정렬 목록 Li의 길이가
Figure 112012109279050-pct00064
단,
Figure 112012109279050-pct00065
으로서 정의된다.
u x m 키워드 개념 행렬 C가 주어진 경우, 인스턴스
Figure 112012109279050-pct00066
가 Li에 있을 확률을
Figure 112012109279050-pct00067
로서 수식화한다.
일반적으로, 임계값-기반 알고리즘은 각각의 정렬 목록을 순차적으로 스캔한다. 알고리즘이 정렬 목록 Li로부터 처음 fi개의 인스턴스를 순차적으로 스캔하고 인스턴스
Figure 112012109279050-pct00068
가 스캔 동안 보이지 않는 것으로 가정할 수 있다. 이어서, 인스턴스
Figure 112012109279050-pct00069
가 목록 Li의 스캔되지 않은 부분(즉, 나머지
Figure 112012109279050-pct00070
개 인스턴스)에서 발견될 확률
Figure 112012109279050-pct00071
를 다음과 같이 계산할 수 있다:
Figure 112012109279050-pct00072
주목할 점은,
Figure 112012109279050-pct00073
가 각각의 객체가 각각의 입력 목록(즉,
Figure 112012109279050-pct00074
)에서 단일 점수를 갖는다는 가정 하에서 1이라는 것이다. 그렇지만, 키워드 개념 행렬은 극히 희소하고, 따라서, 대부분의 경우에,
Figure 112012109279050-pct00075
이 0에 가깝다.
문서 d 및 대응하는 u-차원 벡터
Figure 112012109279050-pct00076
이 주어진 경우. 게다가,
Figure 112012109279050-pct00077
가 주어지면,
Figure 112012109279050-pct00078
를 일련의 정렬 목록이고, 따라서
Figure 112012109279050-pct00079
단,
Figure 112012109279050-pct00080
이라고 하자.
환언하면,
Figure 112012109279050-pct00081
는 대응하는 단어가 주어진 문서 d에 나타나는 일련의 정렬 목록이다.
Figure 112012109279050-pct00082
에 있지 않은 다른 목록은 의미 재해석된 벡터
Figure 112012109279050-pct00083
의 계산에 기여하지 않는데, 그 이유는 원래의 벡터
Figure 112012109279050-pct00084
에서의 그의 대응하는 가중치가 0이기 때문이다(도 2).
게다가, 문서에서의 단어의 등장이 서로 독립적이라고 가정될 수 있다. 단어-독립 가정은 그의 단순함으로 인해 많은 응용에 의해 오랫동안 사용되어 왔다.
Figure 112012109279050-pct00085
를 어떤 목록에서도 아직까지 보이지 않은 개념 cr가 이후에
Figure 112012109279050-pct00086
에서의 정확히 n개의 목록에서 발견될 확률이라고 하자. 그러면, 이 확률이 다음과 같이 계산될 수 있다:
Figure 112012109279050-pct00087
여기서,
Figure 112012109279050-pct00088
이다.
게다가, 완전히 보이지 않는 개념 cr이 계산 동안
Figure 112012109279050-pct00089
에서의 최대 n개의 목록에서 발견될 확률인
Figure 112012109279050-pct00090
를 다음과 같이 계산할 수 있다:
Figure 112012109279050-pct00091
주목할 점은,
Figure 112012109279050-pct00092
가 항상 1이라는 것이다.
앞서 기술한 바와 같이, 목적은
Figure 112012109279050-pct00093
에서의 적어도
Figure 112012109279050-pct00094
개의 대답이 정확한 상위 k개 결과
Figure 112012109279050-pct00095
에 속하는 것을 만족시키는 대략적인 상위 k개 개념
Figure 112012109279050-pct00096
를 찾는 것이다. 응용 프로그램(또는 사용자)-제공 타당한 정확률
Figure 112012109279050-pct00097
가 주어진 경우, 완전히 이용가능하지 않은 개념 cr이 발견될 목록의 수에 기초하여 경계 br을 계산하기 위해, 선택된 값은 하기 식을 만족시키는 가장 작은 값 br이다:
Figure 112012109279050-pct00098
요약하면, br은 보이지 않는 개념 cr이 br개의 입력 목록보다 적을 확률이 타당한 정확률
Figure 112012109279050-pct00099
보다 더 높은 것을 만족시키는 가장 작은 값이다.
완전히 또는 부분적으로 보이지 않는 객체에 대한 예상 점수를 계산하는 것
임의의 완전히 보이지 않는 객체가 발견되는 목록의 수를 추정하면, 완전히(또는 부분적으로) 보이지 않는 객체의 예상 점수를 계산할 수 있다.
현재의 임계값 벡터
Figure 112012109279050-pct00100
및 원래의 문서 벡터
Figure 112012109279050-pct00101
가 주어지면, W를 다음과 같이 정의한다:
Figure 112012109279050-pct00102
이어서, 완전히 보이지 않는 개념 cr의 예상 점수는 하기의 식에 의해 경계가 정해지며,
Figure 112012109279050-pct00103
여기서 Wh는 W에서 h번째로 가장 높은 값이다.
역인덱스에서의 각각의 목록은 개념 ID보다는 가중치에 기초하여 정렬되고, 그 결과 톱-k 계산 동안 주어진 개념 cr의 부분적으로 이용가능한(보이는) 개념 벡터가 얻어진다. 따라서, 또한 부분적으로 보이는 객체의 예상 점수를 추정할 필요가 있다. cr을 부분적으로 보이는 개념이라고 하자. 게다가, KNr을 알고리즘이 이전에 알고 있던 가중치를 가지는 개념 벡터
Figure 112012109279050-pct00104
에서의 일련의 위치라고 하자. 이어서, 부분적으로 보이는 개념 cr의 예상 점수가 다음과 같이 정의된다:
Figure 112012109279050-pct00105
이면,
Figure 112012109279050-pct00106
이다.
그렇지 않은 경우,
Figure 112012109279050-pct00107
이다.
주목할 점은, cr이 발견될 입력 목록의 수에 대한 경계 br
Figure 112012109279050-pct00108
와 동일할 때, 임의의 완전히 또는 부분적으로 보이는 개념 cr의 예상 점수가 상기한 가능한 최상의 점수와 같다는 것이다. 그렇지만, 키워드 개념 행렬의 희소성은 예상 점수가 항상 가능한 최상의 점수보다 작도록 보장해준다.
알고리즘
도 7은 주어진 문서의 대략적인 상위 k개 개념
Figure 112012109279050-pct00109
를 효율적으로 계산하는 제안된 알고리즘에 대한 의사 코드를 나타낸 것이다. 알고리즘은 먼저 일련의 대략적인 상위 k개
Figure 112012109279050-pct00110
, 기준 점수 mink, 및 일련의 후보
Figure 112012109279050-pct00111
를 초기화한다. 임계값 벡터
Figure 112012109279050-pct00112
는 먼저
Figure 112012109279050-pct00113
로 설정된다. 처음에, 임의의 완전히 보이지 않는 개념의 예상 점수가, 이상에서(라인 1 내지 5에서) 기술된 바와 같이, 계산된다.
일반적으로, 임계값 알고리즘은 입력 목록을 라운드 로빈 방식으로 방문하거나 그에 액세스한다. 그렇지만, 입력 목록이 다양한 길이를 가지는 경우, 이 방식이 비효율적일 수 있는데, 그 이유는 대응하는 점수가 비교적 낮지만 짧은 목록에 속하기 때문에 먼저 판독되는 유망하지 않는 객체를 처리하기 위해 자원이 낭비되기 때문이다. 이 문제를 해결하기 위해, 완전히 이용가능하지 않은 개념의 예상 점수를 최소화하는 방식으로 입력 목록이 방문된다. 직관적으로, 이것은 알고리즘이 더 높은 기준 점수 mink를 제공함으로써 계산을 더 빨리 중단시킬 수 있게 해준다.
G어느 입력 목록이 그 다음 번에 알고리즘에 의해 판독될 것인지를 결정하기 위해 원래의 문서 벡터
Figure 112012109279050-pct00114
, 및 현재의 임계값 벡터
Figure 112012109279050-pct00115
가 주어지면, 목록 Li(라인 8)이 다음과 같도록 요망된다:
Figure 112012109279050-pct00116
상기 조건을 만족시키는 목록은 임의의 이용가능하지 않은 개념의 예상 점수를 최소화하도록 해주며, 따라서 조기 중단 조건을 알고리즘에 제공한다.
목록 Li에서 새로 보이는 인스턴스
Figure 112012109279050-pct00117
에 대해, 대응하는 최악의 점수
Figure 112012109279050-pct00118
가 계산되고, 후보 목록이
Figure 112012109279050-pct00119
를 사용하여 갱신된다(라인 9-11). 기본 점수 mink는, mink가 현재의 후보 집합
Figure 112012109279050-pct00120
에서 최악의 점수들 중 k번째로 가장 높은 값과 같도록, 선택된다(라인 12). 이어서 임계값 벡터가 갱신된다(라인 13).
라인 15와 라인 20 사이에서, 높은 확률로 상위 k개 결과에 있지 않을 유망하지 않는 개념이 후보 집합으로부터 제거된다. 현재의 후보 집합 내의 각각의 개념 cp에 대해, 이상에서 기술한 바와 같이, 대응하는 예상 점수
Figure 112012109279050-pct00121
가 계산된다. 주목할 점은, 현재의 후보 집합에서의 각각의 개념이 부분적으로 보이는 개념에 대응한다는 것이다. 부분적으로 보이는 개념 cp의 예상 점수
Figure 112012109279050-pct00122
가 기본 점수보다 작은 경우, 쌍
Figure 112012109279050-pct00123
이 현재의 후보 집합으로부터 제거되는데, 그 이유는 이 개념이 높은 확률로 최종적인 상위 k개 결과 내에 있을 것으로 예상되지 않기 때문이다(라인 18). 라인 21에서, 임의의 완전히 보이지 않는 개념의 예상 점수가 계산된다. 현재의 후보 집합이 k개 요소를 포함하고 완전히 보이지 않는 개념의 예상 점수가 기준 점수보다 작을 가능성이 있을 때 톱-k 계산이 중단된다(라인 7).
단계 2: 문서를 키워드 공간으로부터 개념 공간으로 매핑하는 것
주어진 문서의 대략적인 상위 k개 개념이 식별되면, 그 다음 단계는 원래의 문서를 키워드 공간으로부터 개념 공간으로 매핑하는 것이다. 도 8은
Figure 112012109279050-pct00124
를 사용하여 원래의 문서를 키워드 공간으로부터 개념 공간으로 매핑하는 의사 코드를 나타낸 것이다.
처음에, 의미 재해석된 벡터
Figure 112012109279050-pct00125
Figure 112012109279050-pct00126
로 설정된다(라인 1). 도 4의 알고리즘이 입력 목록 전체를 스캔하기 전에 종료하기 때문에,
Figure 112012109279050-pct00127
에서의 개념의 개념 벡터가 부분적으로 이용가능하다. 따라서,
Figure 112012109279050-pct00128
에서의 각각의 개념에 대해, 앞서 설명한 바와 같이, 부분적으로 보이는 개념 벡터를 사용하여 예상 점수를 추정할 필요가 있다. 이어서, 의미 재해석된 벡터
Figure 112012109279050-pct00129
에서의 대응하는 항목이 추정된 점수를 사용하여 갱신된다(라인 4). 마지막으로, 알고리즘은 의미 재해석된 문서 벡터
Figure 112012109279050-pct00130
를 반환한다(라인 6).
위키피디아의 개념에 기초하여 원래의 문서를 효율적으로 보강하는 새로운 의미 해석기가 기술되어 있다. 제안된 방식은 주어진 문서에 대해 위키피디아에서 가중 중요한 k개 개념을 효율적으로 식별하고 이들 개념을 이용하여 원래의 문서를 키워드 공간으로부터 개념 공간으로 매핑함으로써 원래의 문서를 의미적으로 보강할 수 있게 해준다. 실험 결과는 제안된 기법이 정확성을 그다지 감소시키지 않으면서 의미 재해석의 효율을 상당히 향상시킨다는 것을 보여준다.
본 발명의 이들 및 기타 특징들 및 이점들은 본 명세서에서의 개시 내용에 기초하여 당업자에 의해 용이하게 확인될 수 있다. 본 발명의 개시 내용이 다양한 형태의 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서, 또는 이들의 조합으로 구현될 수 있다는 것을 잘 알 것이다.
가장 양호하게는, 본 발명의 개시 내용이 하드웨어와 소프트웨어의 조합으로서 구현된다. 게다가, 소프트웨어는 프로그램 저장 장치에 유형으로 구현되는 애플리케이션 프로그램으로서 구현될 수 있다. 이 애플리케이션 프로그램은 임의의 적당한 아키텍처를 포함하는 기계에 업로드되어 이 기계에 의해 실행될 수 있다. 양호하게는, 이 기계는 하나 이상의 중앙 처리 장치(CPU), 랜덤 액세스 메모리(RAM), 및 입/출력(I/O) 인터페이스와 같은 하드웨어를 갖는 컴퓨터 플랫폼 상에 구현된다. 이 컴퓨터 플랫폼은 또한 운영 체제 및 마이크로명령어 코드(microinstruction code)도 포함할 수 있다. 본 명세서에 기술된 다양한 프로세스 및 기능이, CPU에 의해 실행될 수 있는, 마이크로명령어 코드의 일부이거나 애플리케이션 프로그램의 일부이거나, 이들의 임의의 조합일 수 있다. 그에 부가하여, 부가의 데이터 저장 장치 및 인쇄 장치와 같은 다양한 다른 주변 장치들이 컴퓨터 플랫폼에 연결되어 있을 수 있다.
또한, 첨부 도면에 도시된 시스템 구성요소들 및 방법들 중 일부가 양호하게는 소프트웨어로 구현되기 때문에, 시스템 구성요소들 또는 프로세스 기능 블록들 간의 실제 연결이 본 발명이 프로그램되는 방식에 따라 다를 수 있다는 것을 잘 알 것이다. 본 명세서의 개시 내용을 살펴보고, 당업자라면 본 발명의 이들 및 유사한 구현들 또는 구성들을 생각할 수 있을 것이다.
예시적인 실시예들이 첨부 도면을 참조하여 본 명세서에 기술되어 있지만, 본 발명이 이들 정확한 실시예로 제한되지 않고 또 다양한 변경 및 수정이 본 발명의 범위 또는 사상을 벗어나지 않고 당업자에 의해 행해질 수 있다는 것을 잘 알 것이다. 모든 이러한 변경 및 수정이 첨부된 청구항들에 기술된 본 발명의 범위 내에 포함되는 것으로 보아야 한다.

Claims (14)

  1. 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 장치에 의해 수행되는 방법으로서,
    검색을 위한 하나 이상의 키워드를 획득하는 단계;
    지식 데이터베이스에 액세스하는 단계로서, 상기 지식 데이터베이스는 콘텐츠로부터 생성되지 않은, 단계;
    SparseTopk 알고리즘을 이용하여 상기 하나 이상의 키워드에 대하여 상기 지식 데이터베이스 내의 상위 k개 개념을 계산하는 단계;
    상기 지식 데이터베이스로부터의 상기 계산된 상위 k개 개념을 사용하여 상기 하나 이상의 키워드를 개념 공간에 매핑하는 단계;
    상기 개념 공간에 기초하여 콘텐츠 검색을 수행하는 단계; 및
    상기 수행된 콘텐츠 검색에 기초하여 사용자에게 하나 이상의 콘텐츠 추천을 제공하는 단계를 포함하는, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 장치에 의해 수행되는 방법.
  2. 제1항에 있어서, 상기 상위 k개 개념을 계산하는 단계는
    입력 라인의 수에 기초하여 경계를 추정하는 단계; 및
    완전히 또는 부분적으로 보이지 않는 객체에 대한 예상 점수를 계산하는 단계를 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 장치에 의해 수행되는 방법.
  3. 제1항에 있어서, 상기 하나 이상의 키워드를 획득하는 단계는 콘텐츠와 함께 포함되어 있는 클로즈 캡션 데이터로부터 키워드를 추출하는 단계를 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 장치에 의해 수행되는 방법.
  4. 제1항에 있어서, 상기 매핑하는 단계는 상기 상위 k개 개념의 순위를 지정하는 단계를 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 장치에 의해 수행되는 방법.
  5. 제1항에 있어서, 상기 개념 공간에 기초하여 사용자 프로필을 생성하는 단계를 더 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 장치에 의해 수행되는 방법.
  6. 제1항에 있어서, 상기 개념 공간에 기초하여 세그먼트화 콘텐츠(segmenting content)를 생성하는 단계를 더 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 장치에 의해 수행되는 방법.
  7. 제1항에 있어서, 상기 개념 공간에 기초하여 필터링하는 단계를 더 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 장치에 의해 수행되는 방법.
  8. 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 시스템으로서,
    검색을 위한 하나 이상의 키워드를 획득하는 수신 장치; 및
    서버를 포함하되,
    상기 서버는,
    SparseTopk 알고리즘을 이용하여 상기 하나 이상의 키워드에 대하여 지식 데이터베이스 내의 상위 k개 개념을 계산하고,
    상기 지식 데이터베이스로부터의 상기 계산된 상위 k개 개념을 사용하여 상기 하나 이상의 키워드를 개념 공간에 매핑하고,
    상기 개념 공간에 기초하여 콘텐츠 검색을 수행하고,
    상기 수행된 콘텐츠 검색에 기초하여 사용자에게 하나 이상의 콘텐츠 추천을 제공하며,
    상기 지식 데이터베이스는 콘텐츠로부터 생성된 것이 아닌, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 시스템.
  9. 제8항에 있어서, 상기 수신 장치는
    클로즈 캡션 추출기(close caption extractor); 및
    문장 세그먼화기(sentence segmenter)를 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 시스템.
  10. 제8항에 있어서, 상기 서버는
    의미 해석기(semantic interpreter); 및
    개념 축적기(concept accumulator)를 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하는 시스템.
  11. 오디오, 비디오 및 웹 콘텐츠 중 적어도 하나를 검색하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 기록 매체로서, 상기 컴퓨터 프로그램은 컴퓨터 상에서 실행될 경우 컴퓨터로 하여금 이하의 단계들을 수행하도록 하되,
    검색을 위한 하나 이상의 키워드를 획득하는 단계;
    지식 데이터베이스에 액세스하는 단계로서, 상기 지식 데이터베이스는 콘텐츠로부터 생성되지 않은, 단계;
    SparseTopk 알고리즘을 이용하여 상기 하나 이상의 키워드에 대하여 상기 지식 데이터베이스 내의 상위 k개 개념을 계산하는 단계;
    상기 지식 데이터베이스로부터의 상기 계산된 상위 k개 개념을 사용하여 상기 하나 이상의 키워드를 개념 공간에 매핑하는 단계;
    상기 개념 공간에 기초하여 콘텐츠 검색을 수행하는 단계; 및
    상기 수행된 콘텐츠 검색에 기초하여 사용자에게 하나 이상의 콘텐츠 추천을 제공하는 단계를 수행하도록 하는 것인, 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 기록 매체.
  12. 오디오, 비디오 및 웹 콘텐츠를 검색하는 장치로서,
    정보 및 명령을 저장하는 메모리; 및
    상기 메모리와 통신하는 제어기를 포함하되,
    상기 제어기는
    검색을 위한 하나 이상의 키워드를 획득하고,
    SparseTopk 알고리즘을 이용하여 상기 하나 이상의 키워드에 대하여 지식 데이터베이스 내의 상위 k개 개념을 계산하고,
    상기 지식 데이터베이스로부터의 상기 계산된 상위 k개 개념을 사용하여 상기 하나 이상의 키워드를 개념 공간에 매핑하고,
    상기 개념 공간에 기초하여 콘텐츠 검색을 수행하고,
    상기 수행된 콘텐츠 검색에 기초하여 사용자에게 하나 이상의 콘텐츠 추천을 제공하며,
    상기 지식 데이터베이스는 콘텐츠로부터 생성된 것이 아닌, 오디오, 비디오 및 웹 콘텐츠를 검색하는 장치.
  13. 제12항에 있어서, 상기 제어기는,
    입력 라인의 수에 기초하여 경계를 추정하는 것; 및
    완전히 또는 부분적으로 보이지 않는 객체에 대한 예상 점수를 계산하는 것에 의해 상기 상위 k개 개념을 계산하도록 더 구성된 것인, 오디오, 비디오 및 웹 콘텐츠를 검색하는 장치.
  14. 제12항에 있어서, 상기 하나 이상의 키워드를 획득하는 것은, 콘텐츠와 함께 포함되어 있는 클로즈 캡션 데이터로부터 키워드를 추출하는 것을 포함하는 것인, 오디오, 비디오 및 웹 콘텐츠를 검색하는 장치.
KR1020127034385A 2010-06-03 2011-06-03 톱-k 처리를 이용한 의미 보강 KR101811468B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US35125210P 2010-06-03 2010-06-03
US61/351,252 2010-06-03
US39778010P 2010-06-17 2010-06-17
US61/397,780 2010-06-17
US45677410P 2010-11-13 2010-11-13
US61/456,774 2010-11-13
PCT/US2011/038991 WO2011153392A2 (en) 2010-06-03 2011-06-03 Semantic enrichment by exploiting top-k processing

Publications (2)

Publication Number Publication Date
KR20130120381A KR20130120381A (ko) 2013-11-04
KR101811468B1 true KR101811468B1 (ko) 2017-12-21

Family

ID=45067306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127034385A KR101811468B1 (ko) 2010-06-03 2011-06-03 톱-k 처리를 이용한 의미 보강

Country Status (6)

Country Link
US (1) US20130268261A1 (ko)
EP (1) EP2691845A4 (ko)
JP (1) JP5894149B2 (ko)
KR (1) KR101811468B1 (ko)
CN (1) CN103384883B (ko)
WO (1) WO2011153392A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190081670A (ko) * 2017-12-29 2019-07-09 (주)터보소프트 분산 처리 기반 공간 웹 객체 검색 시스템 및 이를 이용한 분산 처리 기반 공간 웹 객체 검색 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903712B1 (en) * 2011-09-27 2014-12-02 Nuance Communications, Inc. Call steering data tagging interface with automatic semantic clustering
CN102609449B (zh) * 2012-01-06 2014-05-07 华中科技大学 一种基于维基百科构建概念型知识地图的方法
US20150227505A1 (en) * 2012-08-27 2015-08-13 Hitachi, Ltd. Word meaning relationship extraction device
CN103631823B (zh) * 2012-08-28 2017-01-18 腾讯科技(深圳)有限公司 一种媒体内容推荐方法及设备
US20140152891A1 (en) * 2012-12-05 2014-06-05 Silicon Image, Inc. Method and Apparatus for Reducing Digital Video Image Data
KR101616031B1 (ko) * 2014-07-17 2016-04-28 동아대학교 산학협력단 위키피디아의 언어자원과 병렬 코퍼스를 이용한 교차언어 검색기의 질의어 번역 시스템 및 방법
US10354010B2 (en) 2015-04-24 2019-07-16 Nec Corporation Information processing system, an information processing method and a computer readable storage medium
US10423891B2 (en) * 2015-10-19 2019-09-24 International Business Machines Corporation System, method, and recording medium for vector representation of words in a language
CN105279264B (zh) * 2015-10-26 2018-07-03 深圳市智搜信息技术有限公司 一种文档的语义相关度计算方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010048172A1 (en) * 2008-10-20 2010-04-29 Cascaad Srl Social graph based recommender

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978274B1 (en) * 2001-08-31 2005-12-20 Attenex Corporation System and method for dynamically evaluating latent concepts in unstructured documents
US6847966B1 (en) * 2002-04-24 2005-01-25 Engenium Corporation Method and system for optimally searching a document database using a representative semantic space
US7085771B2 (en) * 2002-05-17 2006-08-01 Verity, Inc System and method for automatically discovering a hierarchy of concepts from a corpus of documents
US7610313B2 (en) * 2003-07-25 2009-10-27 Attenex Corporation System and method for performing efficient document scoring and clustering
US8612208B2 (en) * 2004-04-07 2013-12-17 Oracle Otc Subsidiary Llc Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query
US8140559B2 (en) * 2005-06-27 2012-03-20 Make Sence, Inc. Knowledge correlation search engine
US8898134B2 (en) * 2005-06-27 2014-11-25 Make Sence, Inc. Method for ranking resources using node pool
US20070106499A1 (en) * 2005-08-09 2007-05-10 Kathleen Dahlgren Natural language search system
US20080086490A1 (en) * 2006-10-04 2008-04-10 Sap Ag Discovery of services matching a service request
US7734623B2 (en) * 2006-11-07 2010-06-08 Cycorp, Inc. Semantics-based method and apparatus for document analysis
CN101251841B (zh) * 2007-05-17 2011-06-29 华东师范大学 基于语义的Web文档的特征矩阵的建立和检索方法
US9396262B2 (en) * 2007-10-12 2016-07-19 Lexxe Pty Ltd System and method for enhancing search relevancy using semantic keys
WO2009155281A1 (en) * 2008-06-17 2009-12-23 The Trustees Of Columbia University In The City Of New York System and method for dynamically and interactively searching media data
US8751218B2 (en) * 2010-02-09 2014-06-10 Siemens Aktiengesellschaft Indexing content at semantic level
US8924391B2 (en) * 2010-09-28 2014-12-30 Microsoft Corporation Text classification using concept kernel

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010048172A1 (en) * 2008-10-20 2010-04-29 Cascaad Srl Social graph based recommender

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190081670A (ko) * 2017-12-29 2019-07-09 (주)터보소프트 분산 처리 기반 공간 웹 객체 검색 시스템 및 이를 이용한 분산 처리 기반 공간 웹 객체 검색 방법
KR102036314B1 (ko) * 2017-12-29 2019-10-25 (주)터보소프트 분산 처리 기반 공간 웹 객체 검색 시스템 및 이를 이용한 분산 처리 기반 공간 웹 객체 검색 방법

Also Published As

Publication number Publication date
EP2691845A2 (en) 2014-02-05
JP5894149B2 (ja) 2016-03-23
WO2011153392A3 (en) 2013-12-27
US20130268261A1 (en) 2013-10-10
KR20130120381A (ko) 2013-11-04
CN103384883A (zh) 2013-11-06
EP2691845A4 (en) 2018-01-10
WO2011153392A2 (en) 2011-12-08
CN103384883B (zh) 2016-11-09
JP2014500528A (ja) 2014-01-09

Similar Documents

Publication Publication Date Title
KR101811468B1 (ko) 톱-k 처리를 이용한 의미 보강
US9253511B2 (en) Systems and methods for performing multi-modal video datastream segmentation
JP2021535458A (ja) 機械学習抽出物とセマンティックグラフとを使用して構造化データを作成し、検索、推奨および発見を促進するための方法およびシステム
US20160014482A1 (en) Systems and Methods for Generating Video Summary Sequences From One or More Video Segments
US8750681B2 (en) Electronic apparatus, content recommendation method, and program therefor
US9100701B2 (en) Enhanced video systems and methods
US10289737B1 (en) Media search broadening
US8478759B2 (en) Information presentation apparatus and mobile terminal
JP2019525272A (ja) 自然言語クエリのための近似的テンプレート照合
US20080097970A1 (en) Intelligent Video Summaries in Information Access
KR20140089876A (ko) 대화형 인터페이스 장치 및 그의 제어 방법
KR20130083829A (ko) 디스플레이된 텔레비전 컨텐츠에 대한 자동 이미지 디스커버리 및 추천
KR20150131297A (ko) 현재 플레이 중인 텔레비전 프로그램과 연관된 메타데이터를 식별하기 위해 오디오 스트림 사용
US9542395B2 (en) Systems and methods for determining alternative names
CN113194346A (zh) 一种显示设备
US20160085800A1 (en) Systems and methods for identifying an intent of a user query
JP2002108892A (ja) データ管理システム、データ管理方法、及び、記録媒体
WO2011106087A1 (en) Method for processing auxilary information for topic generation
JP5335500B2 (ja) コンテンツ検索装置及びコンピュータプログラム
CN109800326B (zh) 一种视频处理方法、装置、设备和存储介质
KR102265406B1 (ko) 서버 및 그의 제어 방법
KR102182689B1 (ko) 서버 및 그의 제어 방법
KR102667446B1 (ko) 서버 및 그의 제어 방법
Gibbon et al. Large-Scale Analysis for Interactive Media Consumption
Bursuc et al. OVIDIUS: an on-line video indexing universal system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right