KR20200112386A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20200112386A
KR20200112386A KR1020190032762A KR20190032762A KR20200112386A KR 20200112386 A KR20200112386 A KR 20200112386A KR 1020190032762 A KR1020190032762 A KR 1020190032762A KR 20190032762 A KR20190032762 A KR 20190032762A KR 20200112386 A KR20200112386 A KR 20200112386A
Authority
KR
South Korea
Prior art keywords
metadata
information
meta data
content
data
Prior art date
Application number
KR1020190032762A
Other languages
English (en)
Inventor
박세훈
김민경
전영균
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190032762A priority Critical patent/KR20200112386A/ko
Priority to US17/431,366 priority patent/US11893068B2/en
Priority to PCT/KR2020/001083 priority patent/WO2020197071A1/ko
Publication of KR20200112386A publication Critical patent/KR20200112386A/ko

Links

Images

Classifications

    • 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/25Integrating or interfacing systems involving database management systems
    • 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
    • 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
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/71Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전자 장치가 개시된다. 전자 장치는 메모리 및 복수의 데이터 소스 각각으로부터 수신된 메타 데이터를 메모리에 저장하고, 복수의 데이터 소스 중 제1 데이터 소스로부터 수신된 제1 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제1 정보를 획득하고, 제2 데이터 소스로부터 수신된 제2 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제2 정보를 획득하고, 제1 정보 및 제2 정보 간 유사도에 기초하여 제1 메타 데이터 및 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 제1 메타 데이터 및 제2 메타 데이터에 기초하여 생성된 통합 메타 데이터를 컨텐츠에 맵핑하여 메모리에 저장하는 프로세서를 포함한다.

Description

전자 장치 및 그 제어 방법 {Electronic device and control method thereof}
본 개시는 복수의 메타 데이터를 수신하여 관리하는 전자 장치 및 그 제어 방법에 관한 것이다.
하나의 컨텐츠에 대해 서로 다른 생산자에 의해 생성된 메타 데이터가 존재하며 이러한 메타 데이터의 형식은 상이할 수 있다. 예를 들어, 도 1과 같이 A 영화라는 하나의 컨텐츠에 대해 A 데이터 소스(생산자)가 생성한 메타 데이터의 형식은 B 데이터 소스(생산자)가 생성한 메타 데이터의 형식과 상이하다.
또한, 하나의 컨텐츠(A 컨텐츠)에 대한 서로 다른 메타 데이터는 형식이 상이할 뿐만 아니라 포함된 필드 값도 상이할 수 있다. 예를 들어, A 데이터 소스로부터 생성된 메타 데이터에는 배우 정보가 포함되어 있지 않고, B 데이터 소스로부터 생성된 메타 데이터에는 출시 년도가 포함되지 않을 수 있다.
이 경우, A 데이터 소스로부터 생성된 메타 데이터에서 배우 정보로 검색하는 경우 A 컨텐츠는 검색되지 않는 문제점이 있었다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은, 복수의 메타 데이터로부터 속성을 획득하여 하나의 컨텐츠에 대한 복수의 메타 데이터를 하나로 통합하는 전자 장치를 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 메모리 및 복수의 데이터 소스 각각으로부터 수신된 메타 데이터를 상기 메모리에 저장하고, 상기 복수의 데이터 소스 중 제1 데이터 소스로부터 수신된 제1 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제1 정보를 획득하고, 제2 데이터 소스로부터 수신된 제2 메타 데이터에 포함된 복수의 속성 정보 중 상기 기설정된 속성에 대응되는 제2 정보를 획득하고, 상기 제1 정보 및 상기 제2 정보 간 유사도에 기초하여 상기 제1 메타 데이터 및 상기 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 메타 데이터 및 상기 제2 메타 데이터에 기초하여 생성된 통합 메타 데이터를 상기 컨텐츠에 맵핑하여 상기 메모리에 저장하는 프로세서를 포함할 수 있다.
상기 프로세서는, 제3 데이터 소스로부터 수신된 제3 메타 데이터가 상기 제2 메타 데이터와 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 메타 데이터 및 상기 제3 메타 데이터에 포함된 속성 정보에 기초하여 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별하고, 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 내지 제3 메타 데이터에 기초하여 생성된 통합 메타 데이터를 상기 컨텐츠에 맵핑하여 상기 메모리에 저장할 수 있다.
상기 프로세서는, 상기 제1 메타 데이터 및 상기 제3 메타 데이터에 포함된 속성 정보 중 상기 기설정된 속성과 상이한 속성에 대응되는 속성 정보에 기초하여 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별할 수 있다.
상기 프로세서는, 상기 제1 메타 데이터에 포함되고 상기 제2 메타 데이터에 포함되지 않은 속성에 대응되는 속성 정보를 상기 통합 메타 데이터에 포함시켜 상기 통합 메타 데이터를 생성할 수 있다.
상기 기설정된 속성은, 컨텐츠의 타이틀(title), 타입, 제작 연도, 인물 정보, 제작자 정보 또는 국가 정보 중 적어도 하나를 포함할 수 있다.
상기 프로세서는, 상기 제1 정보 및 상기 제2 정보 간 텍스트 유사도 또는, 상기 제1 정보 또는 상기 제2 정보 중 적어도 하나에 포함된 별명(alias) 정보에 기초하여 상기 제1 정보 및 상기 제2 정보 간 유사도를 식별할 수 있다.
상기 프로세서는, LCS(Longest Common Subsequence), N-Gram, Soundex, 또는 Levenshtein(Edit) Distance와 같은 알고리즘 중 적어도 하나를 포함하는 알고리즘에 기초하여 상기 텍스트 유사도를 식별할 수 있다.
상기 프로세서는, 외부 검색 엔진으로부터 필터링된 상기 제1 메타 데이터 및 상기 제2 메타 데이터를 획득하며, 상기 제1 메타 데이터 및 상기 제2 메타 데이터는, 상기 복수의 속성 정보 중 기설정된 속성에 대응되는 정보 간 유사도에 기초하여 필터링될 수 있다.
상기 프로세서는, 상기 제1 및 제2 메타 데이터에 포함된 컨텐츠 타입 정보에 기초하여 상기 복수의 속성 정보 각각에 상이한 가중치를 부여하여 상기 유사도를 식별할 수 있다.
상기 프로세서는, 외부 장치로부터 컨텐츠 검색 요청이 수신되면, 상기 통합 메타 데이터에 기초하여 상기 컨텐츠 검색 요청에 대응되는 컨텐츠를 검색하여 제공할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 제어 방법은, 복수의 데이터 소스 각각으로부터 수신된 메타 데이터를 저장하는 단계, 상기 복수의 데이터 소스 중 제1 데이터 소스로부터 수신된 제1 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제1 정보를 획득하고, 제2 데이터 소스로부터 수신된 제2 메타 데이터에 포함된 복수의 속성 정보 중 상기 기설정된 속성에 대응되는 제2 정보를 획득하는 단계, 상기 제1 정보 및 상기 제2 정보 간 유사도에 기초하여 상기 제1 메타 데이터 및 상기 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 식별하는 단계 및 상기 제1 메타 데이터 및 상기 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 메타 데이터 및 상기 제2 메타 데이터에 기초하여 생성된 통합 메타 데이터를 상기 컨텐츠에 맵핑하여 저장하는 단계를 포함할 수 있다.
상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별하는 단계는, 제3 데이터 소스로부터 수신된 제3 메타 데이터가 상기 제2 메타 데이터와 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 메타 데이터 및 상기 제3 메타 데이터에 포함된 속성 정보에 기초하여 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별할 수 있다.
상기 컨텐츠에 맵핑하여 저장하는 단계는, 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 내지 제3 메타 데이터에 기초하여 생성된 통합 메타 데이터를 상기 컨텐츠에 맵핑하여 저장할 수 있다.
상기 메타 데이터인지 여부를 식별하는 단계는, 상기 제1 메타 데이터 및 상기 제3 메타 데이터에 포함된 속성 정보 중 상기 기설정된 속성과 상이한 속성에 대응되는 속성 정보에 기초하여 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별할 수 있다.
상기 컨텐츠에 맵핑하여 저장하는 단계는, 상기 제1 메타 데이터에 포함되고 상기 제2 메타 데이터에 포함되지 않은 속성에 대응되는 속성 정보를 상기 통합 메타 데이터에 포함시켜 상기 통합 메타 데이터를 생성할 수 있다.
상기 기설정된 속성은, 컨텐츠의 타이틀(title), 타입, 제작 연도, 인물 정보, 제작자 정보 또는 국가 정보 중 적어도 하나를 포함할 수 있다.
상기 동일한 컨텐츠에 대한 메타 데이터인지 식별하는 단계는, 상기 제1 정보 및 상기 제2 정보 간 텍스트 유사도 또는, 상기 제1 정보 또는 상기 제2 정보 중 적어도 하나에 포함된 별명(alias) 정보에 기초하여 상기 제1 정보 및 상기 제2 정보 간 유사도를 식별할 수 있다.
상기 동일한 컨텐츠에 대한 메타 데이터인지 식별하는 단계는, LCS(Longest Common Subsequence), N-Gram, Soundex, 또는 Levenshtein(Edit) Distance와 같은 알고리즘 중 적어도 하나를 포함하는 알고리즘에 기초하여 상기 텍스트 유사도를 식별할 수 있다.
상기 제1 정보 및 제2 정보를 획득하는 단계는, 외부 검색 엔진으로부터 필터링된 상기 제1 메타 데이터 및 상기 제2 메타 데이터를 획득하며, 상기 제1 메타 데이터 및 상기 제2 메타 데이터는, 상기 복수의 속성 정보 중 기설정된 속성에 대응되는 정보 간 유사도에 기초하여 필터링될 수 있다.
상기 동일한 컨텐츠에 대한 메타 데이터인지 식별하는 단계는, 상기 제1 및 제2 메타 데이터에 포함된 컨텐츠 타입 정보에 기초하여 상기 복수의 속성 정보 각각에 상이한 가중치를 부여하여 상기 유사도를 식별할 수 있다.
전자 장치의 제어 방법은, 외부 장치로부터 컨텐츠 검색 요청이 수신되면, 상기 통합 메타 데이터에 기초하여 상기 컨텐츠 검색 요청에 대응되는 컨텐츠를 검색하여 제공하는 단계를 더 포함할 수 있다.
상술한 바와 같이 본 개시의 다양한 실시 예에 따르면, 복수의 메타 데이터를 교차 확인(cross-check)하여 하나의 컨텐츠에 대한 메타 데이터를 정확하게 식별할 수 있다.
또한, 하나의 컨텐츠에 대한 복수의 메타 데이터를 통합하여 통합된 메타 데이터에는 하나의 컨텐츠에 대한 다양한 정보가 포함될 수 있다. 따라서, 전자 장치는 사용자가 일 조건에 따라 컨텐츠를 검색하는 경우 이에 대응되는 다양하고 정확한 컨텐츠를 제공할 수 있다.
도 1은 하나의 컨텐츠에 대해 다양한 형식의 메타 데이터를 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 시스템을 나타내는 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 블록도이다.
도 4는 전자 장치의 세부 구성을 설명하기 위한 블록도이다.
도 5는 본 개시의 일 실시 예에 따라 복수의 데이터 소스가 3개 이상인 경우 유사도를 식별하는 동작을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 후보 메타 데이터를 비교하여 동일한 컨텐츠에 대한 메타 데이터를 식별하는 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 통합 메타 데이터의 기설정된 형식의 예를 나타내는 도면이다.
도 8은 본 개시의 일 실시 예에 따른 통합 메타 데이터를 생성하기 위한 각 단계의 동작을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
A 및/또는 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 시스템을 나타내는 도면이다.
전자 시스템(1000)은 전자 장치(100), 데이터 소스(200) 및 타 전자 장치(300)를 포함한다.
전자 장치(100)는 데이터 소스(200)로부터 수신된 적어도 하나의 컨텐츠에 대한 메타 데이터를 컨텐츠 별로 통합하는 장치이며, 서버로 구현될 수 있다. 즉, 전자 장치(100)는 컨텐츠의 통합 메타 데이터를 생성하는 장치일 수 있다. 전자 장치(100)는 복수의 메타 데이터를 통합할 수 있는 장치이면 다양한 형태로 구현될 수 있으며, 예를 들어, 스마트폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 셋탑 박스, 미디어 박스, TV 등으로 구현될 수도 있다.
데이터 소스(200)는 전자 장치(100)로 적어도 하나의 컨텐츠에 대한 메타 데이터를 전송하는 장치이며, 메타 데이터를 생성 또는 관리하는 장치일 수 있다. 데이터 소스(200)는 서버로 구현될 수 있다. 하나의 컨텐츠에 대해 복수의 데이터 소스(200-1, 200-2) 각각이 서로 다른 형식의 메타 데이터를 생성하고 생성된 메타 데이터를 전자 장치(100)로 전송할 수 있다. 예를 들어, 하나의 컨텐츠에 대한 메타 데이터는 csv, json, xml 형식 등으로 다양할 수 있다. 또한, 데이터 소스(200)는 일 예로, 컨텐츠와 관련된 데이터 베이스를 관리하는 IMDBTM, Rotten TomatoesTM 등으로 구현될 수 있다.
타 전자 장치(300)는 전자 장치(100)로 컨텐츠와 관련된 정보를 요청하여 수신된 정보를 제공하는 장치이다. 타 전자 장치(300)는 TV, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, PDA, PMP(portable multimedia player), DVD 플레이어, MP3 플레이어, 카메라, 웨어러블 장치 등으로 구현될 수 있다.
예를 들어, 타 전자 장치(300)가 TV로 구현되는 경우를 상정한다. 사용자로부터 특정 영화의 타이틀 정보가 TV로 입력되는 경우 TV는 해당 타이틀 정보를 전자 장치(100)로 전송하고, 전자 장치(100)는 저장된 메타 데이터로부터 해당 타이틀에 대응되는 영화 컨텐츠 정보를 획득하여 TV로 전송할 수 있다. 이후, TV는 획득된 영화 컨텐츠 정보를 디스플레이를 통해 제공할 수 있다.
한편, 이하에서는 첨부된 도면들을 참조하여 동일한 컨텐츠에 대한 복수의 메타 데이터를 통합하는 실시 예를 상세하게 설명한다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 블록도이다.
도 3에 따르면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.
메모리(110)는 프로세서(120)와 전기적으로 연결되며, 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다.
메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현되고, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따라, 메모리(110)는 데이터 소스(200)로부터 수신된 메타 데이터를 저장할 수 있다. 또한, 메모리(110)는 본 개시의 일 실시 예에 따라 생성되는 통합 메타 데이터를 저장할 수 있다.
프로세서(120)는 메모리(110)와 전기적으로 연결되며, 전자 장치(100)의 전반적인 동작을 제어한다.
본 개시의 일 실시 예에 따라, 프로세서(120)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서, AI(Artificial Intelligence) 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(120)는 메모리(110)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.
본 개시의 일 실시 예에 따르면, 프로세서(120)는 복수의 데이터 소스(200) 각각으로부터 수신된 메타 데이터를 메모리(110)에 저장할 수 있다. 여기서, 메타 데이터는 속성 정보라고도 하며, 대량의 정보 가운데에서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해 일정한 규칙에 따라 콘텐츠에 대하여 부여되는 데이터이다. 예를 들어 메타 데이터는 콘텐츠 타이틀, 타입, 위치, 내용, 캐스트, 작성자에 관한 정보, 권리 조건, 이용 조건, 이용 내역 등을 포함할 수 있다. 데이터 소스(200)는 메타 데이터를 생성 또는 관리 중 적어도 하나일 장치일 수 있다. 예를 들어, 컨텐츠의 메타 데이터를 생성하고 관리하는 IMDBTM, Rotten TomatoesTM가 데이터 소스(200)의 일 예일 수 있다. 한편, 각 데이터 소스(200)로부터 제공되는 메타 데이터에 대응되는 컨텐츠는 각 데이터 소스(200)에 구비된 데이터 베이스에 저장되거나, 외부 데이터 베이스 서버에 저장될 수 있다.
프로세서(120)는 복수의 데이터 소스(200)로부터 수신된 복수의 메타 데이터에 기초하여 적어도 하나의 컨텐츠에 대한 통합 메타 데이터를 생성할 수 있다. 즉, 프로세서(120)는 복수의 데이터 소스(200)로부터 수신된 서로 다른 형식의 복수의 메타 데이터에 포함된 다양한 정보를 통합한 형태의 통합 메타 데이터를 생성할 수 있다.
이를 위해, 프로세서(120)는 복수의 데이터 소스(200) 중 제1 데이터 소스로부터 수신된 제1 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제1 정보를 획득할 수 있다. 또한, 프로세서(120)는 제2 데이터 소스로부터 수신된 제2 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제2 정보를 획득할 수 있다. 여기서, 제2 정보를 획득하는데 이용되는 속성은 제1 정보를 획득하는데 이용되는 속성과 동일한 속성일 수 있다. 예를 들어, 프로세서(120)는 제1 메타 데이터에 포함된 각 필드에 대응되는 위치 정보 또는 식별 정보 중 적어도 하나에 기초하여 특정 속성을 포함하는 필드를 식별하고, 식별된 필드에 포함된 필드 값에 기초하여 속성 정보를 획득할 수 있다.
여기서, 속성은 컨텐츠의 타이틀(title), 타입, 제작 연도, 인물 정보(이름, 생년월일, 직업, 출생 국가, 필모그래피 정보), 제작자 정보, 국가 정보 등을 포함할 수 있으며, 속성 정보는 속성에 대응되는 필드 값으로부터 획득되는 정보일 수 있다. 예를 들어, 속성이 제작 연도인 경우, 속성 정보는 2019년일 수 있으며, 속성이 타이틀인 경우, 속성 정보는 아일랜드(예를 들어, 영화 제목)일 수 있다.
또한, 기설정된 속성이란 동일한 컨텐츠에 관한 복수의 메타 데이터를 식별하기 위한 속성일 수 있다. 기설정된 속성은 상이한 형식의 메타 데이터들 대부분에 포함된 속성으로, 제조자 등에 의해 기설정되어 있을 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 사용자에 의해 변경되거나, 전자 장치(100)의 사용 히스토리에 기초하여 변경될 수 있다. 일 예로, 기설정된 속성은 컨텐츠의 타이틀(title), 타입, 제작 연도, 인물 정보, 제작자 정보 또는 국가 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 기설정된 속성이 컨텐츠의 타이틀인 경우, 프로세서(120)는 제1 메타 데이터에 포함된 컨텐츠 타이틀인 제1 정보 및 제2 메타 데이터에 포함된 컨텐츠 타이틀인 제2 정보를 비교하여 동일한 컨텐츠에 대한 메타 데이터인지를 식별할 수 있다.
구체적으로, 프로세서(120)는 제1 정보 및 제2 정보 간 유사도에 기초하여 제1 메타 데이터 및 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 제1 정보 및 제2 정보 간 텍스트 유사도에 기초하여 제1 정보 및 제2 정보 간 유사도를 식별할 수 있다. 예를 들어, 기설정된 속성이 타이틀인 경우 제1 정보 및 제2 정보는 컨텐츠 타이틀의 텍스트일 수 있다. 프로세서(120)는 제1 정보 및 제2 정보의 타이틀 텍스트가 동일한 경우뿐만 아니라 유사한 경우에도 유사도가 임계치 이상인 경우라면 동일한 타이틀로 식별할 수 있다. 예를 들어, 텍스트가 동일하나 띄어쓰기나 하이픈 등에 인해 동일한 텍스트로 인식되지 않더라도 프로세서(120)는 제1 정보 및 제2 정보 간 유사도가 임계치 이상이면 동일한 타이틀로 식별할 수 있다. 또는, 프로세서(120)는 띄어쓰기, 하이픈, 아포스트로피, 따옴표 등을 제외하고 텍스트 간 유사도를 식별할 수 있다. 또한, 프로세서(120)는 텍스트의 대/소문자는 구별하지 않고 텍스트의 유사도를 식별할 수 있다.
한편, 프로세서(120)는 LCS(Longest Common Subsequence), N-Gram, Soundex, 또는 Levenshtein(Edit) Distance와 같은 알고리즘 중 적어도 하나를 포함하는 알고리즘에 기초하여 텍스트 유사도를 식별할 수 있다. 따라서, 프로세서(120)는 동일한 정보임에도 불구하고 표기 방식, 오자, 생략된 철자 등으로 인해 다른 정보로 판단될 수 있는 경우를 감소시킬 수 있다.
다른 실시 예에 따르면, 프로세서(120)는 제1 정보 또는 제2 정보 중 적어도 하나에 포함된 별명(alias) 정보에 기초하여 제1 정보 및 제2 정보 간 유사도를 식별할 수 있다. 예를 들어, 기설정된 속성이 타이틀인 경우 제1 정보 및 제2 정보는 컨텐츠 타이틀의 텍스트일 수 있다. 제1 정보 및 제2 정보의 타이틀 텍스트가 다르더라도 제2 정보가 제1 정보의 별명(alias)인 경우, 프로세서(120)는 제1 정보 및 제2 정보를 동일한 타이틀로 식별할 수 있다. 예를 들어, 제1 정보에 해당되는 타이틀이 "AAA"이고 제2 정보에 해당되는 타이틀이 "BBB"이며, "BBB"는 "AAA"의 별명인 경우, 프로세서(120)는 제1 정보 및 제2 정보를 동일한 정보로 식별할 수 있다. 즉, 프로세서(120)는 제1 정보 및 제2 정보 간 텍스트가 상이하더라도 별명 관계에 있는 경우 제1 정보 및 제2 정보는 동일한 것으로 식별할 수 있다. 여기서, 별명은 해당 명칭의 약어, 변경된 명칭 등을 포함할 수 있다.
한편, 제1 메타 데이터 및 제2 메타 데이터는 csv, json, xml 등으로 파일 형식이 상이할 수 있으므로, 각 형식에 따라 기설정된 속성을 획득할 수 있는 복수의 모듈이 전자 장치(100)에 구비될 수 있다.
한편, 프로세서(120)는 제1 및 제2 메타 데이터에 포함된 복수의 속성 정보 각각에 상이한 가중치를 부여하여 유사도를 식별할 수 있다. 예를 들어, 컨텐츠의 타이틀 속성은 다른 속성에 비해 다른 컨텐츠와 상대적으로 용이하게 구별될 수 있는 속성이므로 타이틀 속성 정보에 상대적으로 높은 가중치를 부여할 수 있다. 또한, 국가 정보가 같더라도 상이한 컨텐츠는 다수 존재하므로 다른 속성에 비해 국가 정보에 상대적으로 낮은 가중치를 부여할 수 있다. 따라서, 국가 정보가 동일한 경우보다 타이틀 정보가 동일한 경우에 유사도가 높게 식별될 수 있다.
또한, 프로세서(120)는 제1 및 제2 메타 데이터에 포함된 컨텐츠 타입 정보에 기초하여 복수의 속성 정보 각각에 상이한 가중치를 부여하여 유사도를 식별할 수도 있다. 예를 들어, 영화 컨텐츠의 제작자 수는 상대적으로 적으므로, 프로세서(120)는 영화 컨텐츠인 경우 제작자 정보에 상대적으로 높은 가중치를 부여할 수 있다. 또한, 인물에 관한 메타 데이터인 경우, 프로세서(120)는 생년월일 정보에 상대적으로 높은 가중치를 부여할 수 있다.
한편, 프로세서(120)는 제1 메타 데이터 및 제2 메타 데이터로부터 기설정된 복수의 속성에 대응되는 정보를 획득하여 유사도를 식별할 수 있다. 예를 들어, 제1 메타 데이터 및 제2 메타 데이터에 포함된 컨텐츠 타이틀 및 타입 정보를 획득하여 유사도를 식별할 수 있다. 일 예로, 제1 메타 데이터 및 제2 메타 데이터로부터 획득된 컨텐츠 타이틀이 "AAA"로 동일하나, 제1 메타 데이터에 포함된 컨텐츠 타입은 영화이고, 제2 메타 데이터에 포함된 컨텐츠 타입은 드라마인 경우 프로세서(120)는 제1 메타 데이터 및 제2 메타 데이터를 상이한 컨텐츠에 대한 메타 데이터로 식별할 수 있다.
한편, 프로세서(120)는 제1 메타 데이터 및 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 제1 메타 데이터 및 제2 메타 데이터에 기초하여 통합 메타 데이터를 생성할 수 있다.
구체적으로, 프로세서(120)는 제1 메타 데이터에 포함되고 제2 메타 데이터에 포함되지 않은 속성에 대응되는 속성 정보를 통합 메타 데이터에 포함시켜 통합 메타 데이터를 생성할 수 있다. 예를 들어, 제1 메타 데이터 및 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 상정한다. 제1 메타 데이터에는 제작 연도에 관한 속성이 포함되어 있으나 제2 메타 데이터에는 제작 연도에 관한 속성이 포함되어 있지 않은 경우, 프로세서(120)는 통합 메타 데이터에 제작 연도에 관한 속성 정보를 포함시켜 통합 메타 데이터를 생성할 수 있다. 또한, 제1 메타 데이터에 포함된 타이틀이 "AAA"이고 제2 메타 데이터에 포함된 타이틀이 "AA-A"인 경우, 프로세서(120)는 "AAA" 및 "AA-A"를 해당 컨텐츠의 타이틀 속성에 포함시켜 통합 메타 데이터를 생성할 수 있다. 따라서, 통합 메타 데이터가 생성된 이후 "AA-A"로 컨텐츠 검색 요청이 입력되는 경우, 프로세서(120)는 "AAA" 및 "AA-A"에 대응되는 컨텐츠에 관한 정보를 제공할 수 있다.
또한, 프로세서(120)는 제1 메타 데이터 및 제2 메타 데이터에 양립 불가한 속성 정보가 있는 경우, 외부 서버에 질의하거나 사용자로부터 선택된 속성 정보를 통합 메타 데이터에 포함시킬 수 있다.
또한, 프로세서(120)는 제1 메타 데이터 및 제2 메타 데이터에 동일한 속성 정보가 있는 경우 불필요한 중복을 제거하여 통합 메타 데이터를 생성할 수 있다. 예를 들어, 제1 메타 데이터에는 "햄릿, 오델로"가 포함되어 있고, 제2 메타 데이터에는 "오델로, 로미오와 줄리엣"이 포함되어 있는 경우, 프로세서(120)는 통합 메타 데이터에 "오델로"가 중복되지 않도록 처리할 수 있다.
프로세서(120)는 기설정된 메타 데이터의 형식(포맷)에 제1 메타 데이터 및 제2 메타 데이터를 포함시켜 통합 메타 데이터를 생성할 수 있다. 따라서, 복수의 데이터 소스(200)로부터 수신된 서로 다른 형식의 메타 데이터를 하나의 형식을 통일시켜 통합 메타 데이터를 생성할 수 있다.
프로세서(120)는 통합된 메타 데이터를 컨텐츠에 맵핑하여 메모리(110)에 저장할 수 있다.
한편, 복수의 데이터 소스(200)가 3개 이상인 경우를 상정한다. 즉, 비교해야하는 메타 데이터가 3개 이상인 경우를 상정한다.
프로세서(120)는 제3 데이터 소스로부터 수신된 제3 메타 데이터가 제2 메타 데이터와 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 제1 메타 데이터 및 제3 메타 데이터에 포함된 속성 정보에 기초하여 제1 내지 제3 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별할 수 있다. 즉, 프로세서(120)는 제1 메타 데이터 및 제2 메타 데이터를 비교하고, 제2 메타 데이터 및 제3 메타 데이터를 비교하여 동일한 컨텐츠의 메타 데이터로 식별되면 제1 메타 데이터 및 제3 메타 데이터를 비교하지 않고 제1 내지 제3 메타 데이터를 동일한 컨텐츠의 후보 메타 데이터로 식별할 수 있다. 이와 같이, 일차적으로 동일한 컨텐츠에 대한 후보 메타 데이터를 필터링하여 메타 데이터 간 비교하는 시간이 감소될 수 있다.
이후, 제1 메타 데이터 및 제3 메타 데이터를 비교하여 동일한 컨텐츠의 메타 데이터로 식별되면, 프로세서(120)는 제1 내지 제3 메타 데이터를 동일한 컨텐츠에 대한 메타 데이터로 식별할 수 있다. 구체적으로, 프로세서(120)는 제1 메타 데이터 및 제3 메타 데이터에 포함된 속성 정보 중 기설정된 속성과 상이한 속성에 대응되는 속성 정보에 기초하여 제1 내지 제3 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별할 수 있다.
제1 메타 데이터 및 제3 메타 데이터는 각각 제2 메타 데이터의 기설정된 속성 정보를 비교하여 후보 메타 데이터로 식별된 메타 데이터이므로 제1 메타 데이터 및 제3 메타 데이터의 기설정된 속성 정보는 유사할 수 있다. 따라서, 프로세서(120)는 기설정된 속성 정보와 상이한 속성 정보에 기초하여 제1 메타 데이터 및 제3 메타 데이터를 비교할 수 있다.
한편, 프로세서(120)는 제1 메타 데이터 및 제3 메타 데이터뿐만 아니라 제1 메타 데이터 및 제2 메타 데이터를 재차 비교하고, 제2 메타 데이터 및 제3 메타 데이터를 재차 비교할 수 있다. 다만, 프로세서(120)는 이전에 제1 메타 데이터 및 제2 메타 데이터, 및 제2 메타 데이터 및 제3 메타 데이터의 기설정된 속성에 기초하여 비교를 하였으므로 기설정된 속성과 상이한 속성에 기초하여 재차 비교를 할 수도 있다.
한편, 제1 내지 제3 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 프로세서(120)는 제1 내지 제3 메타 데이터에 기초하여 생성된 통합 메타 데이터를 컨텐츠에 맵핑하여 메모리(110)에 저장할 수 있다.
한편, 일차적으로 동일한 컨텐츠에 대한 후보 메타 데이터를 필터링하는 일 예에 대해서는 도 5에서 자세히 설명하도록 한다.
도 5는 본 개시의 일 실시 예에 따라 복수의 데이터 소스가 3개 이상인 경우 유사도를 식별하는 동작을 설명하기 위한 도면이다.
도 5에서는 복수의 데이터 소스(200)가 3개인 경우를 상정한다. 즉, 비교해야되는 메타 데이터가 3개인 경우를 상정한다. 구체적으로, 프로세서(120)는 제1 데이터 소스, 제2 데이터 소스 및 제3 데이터 소스로부터 각각 복수의 메타 데이터를 수신할 수 있다. 예를 들어, 프로세서(120)는 제1 데이터 소스로부터 데이터 A, 데이터 B, 데이터 C 등을 수신하고, 제2 데이터 소스로부터 데이터 1, 데이터 2, 데이터 3 등을 수신하고, 제3 데이터 소스로부터 데이터 a, 데이터 b, 데이터 c 등을 수신하는 경우를 상정한다. 여기서, 하나의 데이터 소스로부터 수신된 데이터는 서로 다른 컨텐츠의 메타 데이터일 수 있다. 예를 들어, 제1 데이터 소스로부터 수신된 데이터 A, 데이터 B, 데이터 C는 서로 다른 컨텐츠의 메타 데이터이다.
한편, 3개 이상의 데이터 소스로부터 메타 데이터를 수신한 경우, 프로세서(120)는 동일한 컨텐츠에 대한 메타 데이터를 식별하는 작업을 수행할 수 있다. 다만, 프로세서(120)가 수신된 모든 메타 데이터에 포함된 기설정된 속성 정보의 유사도를 식별하는 작업을 수행하는 경우 상대적으로 많은 시간이 요구될 수 있다. 따라서, 프로세서(120)는 크로스 체크(cross-check) 방식으로 모든 메타 데이터에 포함된 속성 정보 간 유사도를 식별하지 않을 수 있다. 예를 들어, 데이터 A 및 데이터 3이 동일한 컨텐츠에 대한 메타 데이터로 식별되고, 데이터 3 및 데이터 a가 동일한 컨텐츠에 대한 메타 데이터로 식별되면, 프로세서(120)는 데이터 A 및 데이터 a를 별도로 비교하지 않고 데이터 A, 데이터 3 및 데이터 a를 동일한 컨텐츠에 대한 후보 메타 데이터로 식별할 수 있다. 여기서, 데이터 A, 데이터 3 및 데이터 a는 각각 상술한 제1 메타 데이터, 제2 메타 데이터 및 제3 메타 데이터에 대응될 수 있다.
다시 말해, 프로세서(120)는 제1 데이터 소스로부터 수신된 복수의 메타 데이터를 제2 데이터 소스로부터 수신된 복수의 메타 데이터와 비교하고, 제2 데이터 소스로부터 수신된 복수의 메타 데이터를 제3 데이터 소스로부터 수신된 복수의 메타 데이터와 비교하여 동일한 컨텐츠의 메타 데이터로 식별되는 후보 메타 데이터를 결정할 수 있다. 프로세서(120)는 제1 데이터 소스로부터 수신된 복수의 메타 데이터를 제3 데이터 소스로부터 수신된 복수의 메타 데이터와 비교하지 않음으로써 작업 시간이 단축되고, 프로세서(120)의 연산량이 감소될 수 있다.
즉, 프로세서(120)는 후보 메타 데이터에 포함된 메타 데이터를 모두 1대1로 비교하는 크로스 체크 방식을 이용하여 동일한 컨텐츠의 메타 데이터를 식별할 수 있다.
도 5와 같이 프로세서(120)는 이와 같은 방식에 기초하여 컨텐츠 A의 메타 데이터로 식별되는 후보 메타 데이터로 데이터 A, 데이터 3, 데이터 a를 식별하고, 컨텐츠 B의 메타 데이터로 식별되는 후보 메타 데이터로 데이터 B, 데이터 1, 데이터 C를 식별하고, 컨텐츠 C의 메타 데이터로 식별되는 후보 메타 데이터로 데이터 C, 데이터 2, 데이터 b를 식별할 수 있다.
다만, 프로세서(120)는 제1 데이터 소스로부터 수신된 복수의 메타 데이터를 제3 데이터 소스로부터 수신된 복수의 메타 데이터와 비교하지 않았으므로 후보 메타 데이터로 식별된 복수의 메타 데이터는 동일한 컨텐츠의 메타 데이터가 아닐 수도 있다. 따라서, 프로세서(120)는 크로스 체크 방식으로 후보 메타 데이터에 포함된 기설정된 속성 정보 간 유사도를 비교하여 동일한 컨텐츠에 대한 메타 데이터인지 여부를 재 검토할 수 있다. 이에 관하여는 도 6에서 자세히 설명한다.
도 6은 본 개시의 일 실시 예에 따른 후보 메타 데이터를 비교하여 동일한 컨텐츠에 대한 메타 데이터를 식별하는 동작을 설명하기 위한 도면이다.
도 6에서는 도 5에서 컨텐츠 A의 후보 메타 데이터로 식별된 데이터 A, 데이터 3, 데이터 a를 비교하는 동작을 설명한다.
프로세서(120)는 데이터 A 및 데이터 a를 비교할 수 있다. 구체적으로, 프로세서(120)는 데이터 A 및 데이터 a에 포함된 기설정된 속성과 상이한 속성에 대응되는 속성 정보 간 유사도를 식별할 수 있다. 데이터 A 및 데이터 a는 각각 데이터 3과 기설정된 속성 정보를 비교하여 후보 메타 데이터로 식별된 메타 데이터이므로 데이터 A 및 데이터 a의 기설정된 속성 정보는 유사할 수 있다. 따라서, 프로세서(120)는 기설정된 속성 정보와 상이한 속성 정보에 기초하여 데이터 A 및 데이터 a를 비교할 수 있다. 예를 들어, 데이터 A 및 데이터 a는 각각 데이터 3과 타이틀 정보에 기초하여 후보 메타 데이터로 식별되었으므로, 데이터 A 및 데이터 a의 타이틀 정보는 유사할 수 있다. 따라서, 프로세서(120)는 데이터 A 및 데이터 a의 타이틀 정보가 아닌 일 예로, 컨텐츠의 타입 정보를 비교할 수 있다. 데이터 A에 포함된 컨텐츠의 타입 정보가 영화이고, 데이터 a에 포함된 컨텐츠의 타입 정보가 드라마인 경우 프로세서(120)는 데이터 A 및 데이터 a가 상이한 컨텐츠의 메타 데이터임을 식별할 수 있다. 이 경우, 프로세서(120)는 데이터 3에 포함된 타입 정보에 기초하여 데이터 A 및 데이터 a 중 하나를 식별할 수 있다. 예를 들어, 데이터 3에 포함된 컨텐츠 타입 정보가 영화인 경우, 프로세서(120)는 데이터 a를 제외하고 데이터 A 및 데이터 3을 컨텐츠 A의 메타 데이터로 식별할 수 있다. 이후, 프로세서(120)는 데이터 A 및 데이터 3에 기초하여 컨텐츠 A의 통합 메타 데이터를 생성하고 생성된 통합 메타 데이터를 컨텐츠 A에 맵핑하여 메모리(110)에 저장할 수 있다.
한편, 프로세서(120)는 데이터 A 및 데이터 a 뿐만 아니라 데이터 A 및 데이터 3을 재차 비교하고, 데이터 3 및 데이터 a를 재차 비교할 수 있다. 다만, 프로세서(120)는 이전에 데이터 A 및 데이터 3, 및 데이터 3 및 데이터 a의 기설정된 속성에 기초하여 비교를 하였으므로 기설정된 속성과 상이한 속성에 기초하여 재차 비교를 할 수 있다. 예를 들어, 프로세서(120)는 기설정된 속성인 타이틀로 후보 메타 데이터를 식별한 경우, 인물 정보에 기초하여 데이터 A 및 데이터 3, 및 데이터 3 및 데이터 a를 비교할 수 있다. 즉, 프로세서(120)는 기설정된 속성과 상이한 속성에 기초하여 후보 메타 데이터 간 재 비교를 수행하므로 동일한 컨텐츠의 메타 데이터인지 여부의 정확도를 높일 수 있다.
한편, 프로세서(120)는 데이터 A 및 데이터 a는 기설정된 속성으로 비교할 수도 있음은 물론이다.
다만, 데이터 소스(200)의 개수가 많은 경우 토너먼트 방식으로 후보 메타 데이터를 비교할 수도 있다. 예를 들어, 6개의 후보 메타 데이터(A, B, C, D, E, F)가 식별된 경우, 프로세서(120)는 A:B, C:D, E:F와 같이 3번의 비교를 수행하고, A:B의 결과와 C:D의 결과에 기초하여 비교를 수행하고, A:B:C:D 의 결과와 E:F의 결과에 기초하여 비교를 수행하여 유사도를 식별할 수 있다.
도 3으로 돌아와서, 프로세서(120)는 외부 검색 엔진으로부터 필터링된 제1 메타 데이터 및 제2 메타 데이터를 획득할 수 있다. 여기서, 제1 메타 데이터 및 제2 메타 데이터는 복수의 속성 정보 중 기설정된 속성에 대응되는 정보 간 유사도에 기초하여 필터링된 데이터 일 수 있다. 구체적으로, 프로세서(120)는 복수의 데이터 소스(200)로부터 수신된 모든 메타 데이터를 외부 검색 엔진으로 전송하고, 외부 검색 엔진은 복수의 속성 정보 중 기설정된 속성에 대응되는 정보 간 유사도에 기초하여 임계 값 이상인 메타 데이터를 전자 장치(100)로 전송할 수 있다.
즉, 제1 메타 데이터 및 제2 메타 데이터는 외부 검색 엔진으로부터 사전에 필터링된 데이터로서 프로세서(120)는 동일 컨텐츠에 대한 메타 데이터일 확률이 증가된 메타 데이터 간 비교를 통해 통합 메타 데이터를 생성하는데 소요되는 시간을 단축시킬 수 있다. 외부 검색 엔진을 통해 필터링된 메타 데이터를 비교함으로써 프로세서(120)의 연산량도 감소될 수 있다. 한편, 외부 검색 엔진은 예를 들어, 타이틀 정보가 일치하는 메타 데이터들을 필터링하여 전자 장치(100)로 전송할 수 있다.
여기서, 외부 검색 엔진은 TF-IDF(Term Frequency - Inverse Document Frequency)을 이용하여 Full Text Search가 가능하여 대량의 정보를 빠르게 처리할 수 있는 엔진일 수 있다.
한편, 프로세서(120)는 외부 장치(300)로부터 컨텐츠 검색 요청이 수신되면, 통합 메타 데이터에 기초하여 컨텐츠 검색 요청에 대응되는 컨텐츠를 검색하여 제공할 수 있다. 예를 들어, A 컨텐츠의 제1 메타 데이터에 포함된 타이틀 정보가 "AAA"인 경우, "AA-A"로 컨텐츠 검색 요청이 입력되면 프로세서(120)는 A 컨텐츠를 검색할 수 없었다. 다만, 본 개시의 일 실시 예에 따라 통합 메타 데이터가 생성되어 "AAA" 및 "AA-A"가 모두 컨텐츠 A의 타이틀로 통합 메타 데이터에 포함될 수 있다. 따라서, "AA-A"로 컨텐츠 검색 요청이 입력되더라도 프로세서(120)는 이에 대응되는 A 컨텐츠를 식별하여 외부 장치(300)로 제공할 수 있다.
즉, 일 컨텐츠의 통합 메타 데이터가 생성되어 메타 데이터에 포함된 속성 및 속성 정보가 상대적으로 증가함에 따라, 외부 장치(300)로부터 입력되는 사용자 요청에 대응되는 응답 정보의 정확도가 상승할 수 있다.
도 4는 전자 장치의 세부 구성을 설명하기 위한 블록도이다.
도 4에 따르면, 전자 장치(100)는 메모리(110), 프로세서(120), 통신 인터페이스(130) 및 사용자 입력부(140)를 포함한다. 도 4에 도시된 구성 중 도 3에 도시된 구성과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
프로세서(120)는 메모리(110)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다. 프로세서(120)는 영상에 대응되는 그래픽 처리를 위한 그래픽 프로세서(Graphic Processing Unit, 122)를 포함할 수 있다. 프로세서(120)는 코어(core, 미도시)와 GPU(122)를 포함하는 SoC(System On Chip)로 구현될 수 있다. 프로세서(120)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다.
한편, 프로세서(120)는 메인 CPU(121), GPU(122), NPU(123)를 포함한다.
메인 CPU(121)는 메모리(110)에 액세스하여, 메모리(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(110)에 저장된 각종 프로그램, 컨텐츠 데이터 등을 이용하여 다양한 동작을 수행한다. 특히, 일 실시 예에 따르면, 메인 CPU(121)가 ROM에 저장된 명령어에 따라 메모리(110)에 프로그램을 RAM에 복사하고, RAM에 액세스하여 해당 프로그램을 실행시킬 수 있다.
GPU(122)는 그래픽처리를 위한 고성능의 처리장치에 해당할 수 있으며, 메모리를 빠르게 처리하고 바꾸어 화면으로 출력할 프레임 버퍼 안의 영상 생성을 가속하도록 설계된, 전문화된 전자 회로일 수 있다. 또한, GPU(122)는 VPU(Visual Processing Unit)를 의미할 수 있다.
NPU(123)는 AI 칩셋(또는 AI 프로세서)에 해당할 수 있으며 AI 가속기(AI accelerator)일 수 있다. NPU(123)는 딥뉴럴네트워크 수행에 최적환 된 프로세서 칩에 해당할 수 있다. 한편, NPU(123)는 GPU(122)를 대신하여 딥러닝 모델을 실행하는 처리 장치에 해당할 수 있으며, NPU(123)는 GPU(122)와 함께 딥러닝 모델을 실행하는 처리 장치에 해당할 수도 있다.
통신 인터페이스(130)는 데이터 소스(200) 및 외부 장치(300)와 통신할 수 있는 구성이다. 구체적으로, 통신 인터페이스(130)는 복수의 데이터 소스(200) 각각으로부터 메타 데이터를 수신할 수 있다. 또한, 통신 인터페이스(130)는 외부 장치(300)로부터 컨텐츠 검색 요청에 관한 신호를 수신하고, 검색 요청에 대응되는 응답 정보를 외부 장치(300)로 전송할 수 있다.
통신 인터페이스(130)는 와이파이 모듈(미도시), 블루투스 모듈(미도시), LAN(Local Area Network) 모듈, 무선 통신 모듈(미도시) 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다. 무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 이더넷(Ethernet), USB(Universal Serial Bus), MIPI CSI(Mobile Industry Processor Interface Camera Serial Interface), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다. 다만 이는 일 실시 예에 불과하며 통신 인터페이스(130)는 다양한 통신 모듈 중 적어도 하나의 통신 모듈을 이용할 수 있다.
사용자 입력부(140)는 다양한 사용자 명령 및 정보를 입력 받기 위한 구성이다. 프로세서(120)는 사용자 입력부(140)를 통해 입력된 사용자 명령에 대응되는 기능을 실행하거나, 사용자 입력부(140)를 통해 입력된 정보를 메모리(110)에 저장할 수도 있다.
사용자 입력부(140)는 기설정된 속성 정보를 사용자로부터 입력 받을 수 있다. 또한, 사용자 입력부(140)는 메타 데이터에 복수의 컨텐츠 타이틀 정보가 포함된 경우 복수의 컨텐츠 타이틀 중 외부 디스플레이 장치에 표시되는 컨텐츠 타이틀 정보를 입력 받을 수 있다.
사용자 입력부(140)는 사용자 명령을 음성 형태로 수신하기 위해 마이크(미도시)를 포함하거나, 사용자 명령을 터치로 입력 받기 위한 디스플레이(터치스크린)으로 구현될 수 있다.
디스플레이는 터치패드와 상호 레이어 구조를 이루는 터치스크린 형태로 구현될 수 있다. 여기서, 터치스크린은 터치 입력 위치 및 면적뿐만 아니라 터치 입력 압력까지도 검출할 수 있도록 구성될 수 있다.
또한, 사용자 입력부(140)는 전자 장치(100)를 제어하기 위한 별도의 제어 장치(미도시)로부터 사용자 명령 또는 작업에 대한 정보가 포함된 신호를 입력 받을 수도 있다.
도 7은 본 개시의 일 실시 예에 따른 통합 메타 데이터의 기설정된 형식의 예를 나타내는 도면이다.
전자 장치(100)는 도 1과 같이 하나의 컨텐츠에 대해 서로 다른 형식(포맷)으로 생성된 복수의 메타 데이터를 기설정된 메타 데이터의 형식으로 통합하여 통합 메타 데이터를 생성할 수 있다.
도 7과 같이, 전자 장치(100)는 컨텐츠 또는 프로그램의 기설정된 포맷(공통 포맷)을 이용하여 컨텐츠 또는 프로그램의 통합 메타 데이터를 생성하고, 사람의 기설정된 포맷(공통 포맷)을 이용하여 사람의 통합 메타 데이터를 생성할 수도 있다. 다만, 도 7에 도시된 포맷은 기설정된 포맷의 일 예일 뿐 이에 한정되는 것은 아니다.
도 8은 본 개시의 일 실시 예에 따른 통합 메타 데이터를 생성하기 위한 각 단계의 동작을 설명하기 위한 도면이다.
전자 장치(100)는 복수의 데이터 소스(200) 각각으로부터 메타 데이터를 수신할 수 있다. 도시된 데이터 A, 데이터 B 및 데이터 C는 각 데이터 소스(200)로부터 수신된 메타 데이터를 의미하며 복수 개일 수 있다. 이후, 전자 장치(100)는 수신된 메타 데이터에서 기설정된 속성 정보를 획득 또는 추출할 수 있다. 예를 들어, 전자 장치(100)는 데이터 A에 포함된 적어도 하나의 메타 데이터, 데이터 B에 포함된 적어도 하나의 메타 데이터 및 데이터 C에 포함된 적어도 하나의 메타 데이터로부터 기설정된 속성 정보에 해당되는 제1 정보, 제2 정보 및 제3 정보를 획득할 수 있다.
이후, 전자 장치(100)는 제1 정보 및 제2 정보 간 유사도를 식별하고, 제2 정보 및 제3 정보 간 유사도를 식별하는 매칭 단계를 수행할 수 있다. 전자 장치(100)는 매칭 단계를 수행하여 하나의 컨텐츠에 대한 후보 메타 데이터를 식별할 수 있다. 이후, 전자 장치(100)는 후보 메타 데이터 간 크로스 체크 방식을 통해 비교하는 리뷰 단계를 수행할 수 있다. 구체적으로, 전자 장치(100)는 제1 정보 및 제3 정보를 기설정된 속성과 상이한 속성에 기초하여 비교할 수 있다. 또한, 전자 장치(100)는 제1 정보 및 제2 정보를 기설정된 속성과 상이한 속성에 기초하여 재 비교하고, 제2 정보 및 제3 정보를 기설정된 속성과 상이한 속성에 기초하여 비교할 수 있다. 즉, 리뷰 단계는 제1 내지 제3 정보를 크로스 체크 방식으로 비교하여 하나의 컨텐츠에 대한 메타 데이터인지 여부의 정확도를 증가시키는 단계일 수 있다.
이후, 전자 장치(100)는 하나의 컨텐츠에 대한 복수의 메타 데이터를 통합하여 통합 메타 데이터를 생성할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 복수의 데이터 소스(200) 각각으로부터 수신된 메타 데이터를 저장할 수 있다(S910).
전자 장치(100)는 복수의 데이터 소스 중 제1 데이터 소스로부터 수신된 제1 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제1 정보를 획득하고, 제2 데이터 소스로부터 수신된 제2 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제2 정보를 획득할 수 있다(S920).
여기서, 기설정된 속성은 컨텐츠의 타이틀(title), 타입, 제작 연도, 인물 정보, 제작자 정보 또는 국가 정보 중 적어도 하나를 포함할 수 있다.
한편, 전자 장치(100)는 외부 검색 엔진으로부터 필터링된 제1 메타 데이터 및 제2 메타 데이터를 획득하며, 제1 메타 데이터 및 제2 메타 데이터는 복수의 속성 정보 중 기설정된 속성에 대응되는 정보 간 유사도에 기초하여 필터링된 데이터일 수 있다.
전자 장치(100)는 제1 정보 및 제2 정보 간 유사도에 기초하여 제1 메타 데이터 및 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 식별할 수 있다(S930).
구체적으로, 전자 장치(100)는 제1 정보 및 제2 정보 간 텍스트 유사도 또는, 제1 정보 또는 제2 정보 중 적어도 하나에 포함된 별명(alias) 정보에 기초하여 제1 정보 및 제2 정보 간 유사도를 식별할 수 있다. 예를 들어, 전자 장치(100)는 LCS(Longest Common Subsequence), N-Gram, Soundex, 또는 Levenshtein(Edit) Distance와 같은 알고리즘 중 적어도 하나를 포함하는 알고리즘에 기초하여 텍스트 유사도를 식별할 수 있다.
또한, 전자 장치(100)는 제1 및 제2 메타 데이터에 포함된 컨텐츠 타입 정보에 기초하여 복수의 속성 정보 각각에 상이한 가중치를 부여하여 유사도를 식별할 수 있다.
전자 장치(100)는 제1 메타 데이터 및 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 제1 메타 데이터 및 제2 메타 데이터에 기초하여 생성된 통합 메타 데이터를 컨텐츠에 맵핑하여 저장할 수 있다(S940).
예를 들어, 전자 장치(100)는 제1 메타 데이터에 포함되고 제2 메타 데이터에 포함되지 않은 속성에 대응되는 속성 정보를 통합 메타 데이터에 포함시켜 통합 메타 데이터를 생성할 수 있다.
한편, 전자 장치(100)는 외부 장치로부터 컨텐츠 검색 요청이 수신되면, 통합 메타 데이터에 기초하여 컨텐츠 검색 요청에 대응되는 컨텐츠를 검색하여 제공할 수 있다.
한편, 복수의 데이터 소스(200)가 3개 이상인 경우, 즉 비교해야되는 메타 데이터가 3개 이상인 경우를 상정한다. 예를 들어, 제1 내지 제3 메타 데이터를 비교해야 하는 경우를 상정한다.
전자 장치(100)는 제1 정보 및 제2 정보 간 유사도에 기초하여 제1 메타 데이터 및 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 식별할 수 있다.
전자 장치(100)는 제3 데이터 소스로부터 수신된 제3 메타 데이터가 제2 메타 데이터와 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 제1 메타 데이터 및 제3 메타 데이터에 포함된 속성 정보에 기초하여 제1 내지 제3 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별할 수 있다. 구체적으로, 전자 장치(100)는 제1 메타 데이터 및 제3 메타 데이터에 포함된 속성 정보 중 기설정된 속성과 상이한 속성에 대응되는 속성 정보에 기초하여 제1 내지 제3 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별할 수 있다.
전자 장치(100)는 제1 내지 제3 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 제1 내지 제3 메타 데이터에 기초하여 생성된 통합 메타 데이터를 컨텐츠에 맵핑하여 저장할 수 있다.
각 단계의 상세 동작에 대해서는 상술한 바 있으므로 자세한 설명은 생략하도록 한다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 전자 장치 110 : 메모리
120 : 프로세서 130 : 통신 인터페이스
140 : 사용자 입력부 200 : 데이터 소스
300 : 외부 장치 1000 : 전자 시스템

Claims (20)

  1. 메모리; 및
    복수의 데이터 소스 각각으로부터 수신된 메타 데이터를 상기 메모리에 저장하고,
    상기 복수의 데이터 소스 중 제1 데이터 소스로부터 수신된 제1 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제1 정보를 획득하고,
    제2 데이터 소스로부터 수신된 제2 메타 데이터에 포함된 복수의 속성 정보 중 상기 기설정된 속성에 대응되는 제2 정보를 획득하고,
    상기 제1 정보 및 상기 제2 정보 간 유사도에 기초하여 상기 제1 메타 데이터 및 상기 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 메타 데이터 및 상기 제2 메타 데이터에 기초하여 생성된 통합 메타 데이터를 상기 컨텐츠에 맵핑하여 상기 메모리에 저장하는 프로세서;
    를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    제3 데이터 소스로부터 수신된 제3 메타 데이터가 상기 제2 메타 데이터와 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 메타 데이터 및 상기 제3 메타 데이터에 포함된 속성 정보에 기초하여 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별하고,
    상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 내지 제3 메타 데이터에 기초하여 생성된 통합 메타 데이터를 상기 컨텐츠에 맵핑하여 상기 메모리에 저장하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 메타 데이터 및 상기 제3 메타 데이터에 포함된 속성 정보 중 상기 기설정된 속성과 상이한 속성에 대응되는 속성 정보에 기초하여 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 메타 데이터에 포함되고 상기 제2 메타 데이터에 포함되지 않은 속성에 대응되는 속성 정보를 상기 통합 메타 데이터에 포함시켜 상기 통합 메타 데이터를 생성하는, 전자 장치.
  5. 제1항에 있어서,
    상기 기설정된 속성은,
    컨텐츠의 타이틀(title), 타입, 제작 연도, 인물 정보, 제작자 정보 또는 국가 정보 중 적어도 하나를 포함하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 정보 및 상기 제2 정보 간 텍스트 유사도 또는, 상기 제1 정보 또는 상기 제2 정보 중 적어도 하나에 포함된 별명(alias) 정보에 기초하여 상기 제1 정보 및 상기 제2 정보 간 유사도를 식별하는, 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    LCS(Longest Common Subsequence), N-Gram, Soundex, 또는 Levenshtein(Edit) Distance 알고리즘 중 적어도 하나를 포함하는 알고리즘에 기초하여 상기 텍스트 유사도를 식별하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    외부 검색 엔진으로부터 필터링된 상기 제1 메타 데이터 및 상기 제2 메타 데이터를 획득하며,
    상기 제1 메타 데이터 및 상기 제2 메타 데이터는,
    상기 복수의 속성 정보 중 기설정된 속성에 대응되는 정보 간 유사도에 기초하여 필터링되는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 및 제2 메타 데이터에 포함된 컨텐츠 타입 정보에 기초하여 상기 복수의 속성 정보 각각에 상이한 가중치를 부여하여 상기 유사도를 식별하는, 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    외부 장치로부터 컨텐츠 검색 요청이 수신되면, 상기 통합 메타 데이터에 기초하여 상기 컨텐츠 검색 요청에 대응되는 컨텐츠를 검색하여 제공하는, 전자 장치.
  11. 복수의 데이터 소스 각각으로부터 수신된 메타 데이터를 저장하는 단계;
    상기 복수의 데이터 소스 중 제1 데이터 소스로부터 수신된 제1 메타 데이터에 포함된 복수의 속성 정보 중 기설정된 속성에 대응되는 제1 정보를 획득하고, 제2 데이터 소스로부터 수신된 제2 메타 데이터에 포함된 복수의 속성 정보 중 상기 기설정된 속성에 대응되는 제2 정보를 획득하는 단계;
    상기 제1 정보 및 상기 제2 정보 간 유사도에 기초하여 상기 제1 메타 데이터 및 상기 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인지 식별하는 단계; 및
    상기 제1 메타 데이터 및 상기 제2 메타 데이터가 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 메타 데이터 및 상기 제2 메타 데이터에 기초하여 생성된 통합 메타 데이터를 상기 컨텐츠에 맵핑하여 저장하는 단계;
    를 포함하는 전자 장치의 제어 방법.
  12. 제11항에 있어서,
    상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별하는 단계는,
    제3 데이터 소스로부터 수신된 제3 메타 데이터가 상기 제2 메타 데이터와 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 메타 데이터 및 상기 제3 메타 데이터에 포함된 속성 정보에 기초하여 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별하고,
    상기 컨텐츠에 맵핑하여 저장하는 단계는,
    상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인 것으로 식별되면, 상기 제1 내지 제3 메타 데이터에 기초하여 생성된 통합 메타 데이터를 상기 컨텐츠에 맵핑하여 저장하는, 제어 방법.
  13. 제12항에 있어서,
    상기 메타 데이터인지 여부를 식별하는 단계는,
    상기 제1 메타 데이터 및 상기 제3 메타 데이터에 포함된 속성 정보 중 상기 기설정된 속성과 상이한 속성에 대응되는 속성 정보에 기초하여 상기 제1 내지 제3 메타 데이터가 상기 동일한 컨텐츠에 대한 메타 데이터인지 여부를 식별하는, 제어 방법.
  14. 제11항에 있어서,
    상기 컨텐츠에 맵핑하여 저장하는 단계는,
    상기 제1 메타 데이터에 포함되고 상기 제2 메타 데이터에 포함되지 않은 속성에 대응되는 속성 정보를 상기 통합 메타 데이터에 포함시켜 상기 통합 메타 데이터를 생성하는, 제어 방법.
  15. 제11항에 있어서,
    상기 기설정된 속성은,
    컨텐츠의 타이틀(title), 타입, 제작 연도, 인물 정보, 제작자 정보 또는 국가 정보 중 적어도 하나를 포함하는, 제어 방법.
  16. 제11항에 있어서,
    상기 동일한 컨텐츠에 대한 메타 데이터인지 식별하는 단계는,
    상기 제1 정보 및 상기 제2 정보 간 텍스트 유사도 또는, 상기 제1 정보 또는 상기 제2 정보 중 적어도 하나에 포함된 별명(alias) 정보에 기초하여 상기 제1 정보 및 상기 제2 정보 간 유사도를 식별하는, 제어 방법.
  17. 제16항에 있어서,
    상기 동일한 컨텐츠에 대한 메타 데이터인지 식별하는 단계는,
    LCS(Longest Common Subsequence), N-Gram, Soundex, 또는 Levenshtein(Edit) Distance 알고리즘 중 적어도 하나를 포함하는 알고리즘에 기초하여 상기 텍스트 유사도를 식별하는, 제어 방법.
  18. 제11항에 있어서,
    상기 제1 정보 및 제2 정보를 획득하는 단계는,
    외부 검색 엔진으로부터 필터링된 상기 제1 메타 데이터 및 상기 제2 메타 데이터를 획득하며,
    상기 제1 메타 데이터 및 상기 제2 메타 데이터는,
    상기 복수의 속성 정보 중 기설정된 속성에 대응되는 정보 간 유사도에 기초하여 필터링되는, 제어 방법.
  19. 제11항에 있어서,
    상기 동일한 컨텐츠에 대한 메타 데이터인지 식별하는 단계는,
    상기 제1 및 제2 메타 데이터에 포함된 컨텐츠 타입 정보에 기초하여 상기 복수의 속성 정보 각각에 상이한 가중치를 부여하여 상기 유사도를 식별하는, 제어 방법.
  20. 제11항에 있어서,
    외부 장치로부터 컨텐츠 검색 요청이 수신되면, 상기 통합 메타 데이터에 기초하여 상기 컨텐츠 검색 요청에 대응되는 컨텐츠를 검색하여 제공하는 단계;
    를 더 포함하는, 제어 방법.
KR1020190032762A 2019-03-22 2019-03-22 전자 장치 및 그 제어 방법 KR20200112386A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190032762A KR20200112386A (ko) 2019-03-22 2019-03-22 전자 장치 및 그 제어 방법
US17/431,366 US11893068B2 (en) 2019-03-22 2020-01-22 Electronic device and control method thereof
PCT/KR2020/001083 WO2020197071A1 (ko) 2019-03-22 2020-01-22 전자 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190032762A KR20200112386A (ko) 2019-03-22 2019-03-22 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20200112386A true KR20200112386A (ko) 2020-10-05

Family

ID=72608563

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190032762A KR20200112386A (ko) 2019-03-22 2019-03-22 전자 장치 및 그 제어 방법

Country Status (3)

Country Link
US (1) US11893068B2 (ko)
KR (1) KR20200112386A (ko)
WO (1) WO2020197071A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200112386A (ko) * 2019-03-22 2020-10-05 삼성전자주식회사 전자 장치 및 그 제어 방법

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332478B2 (en) * 1998-10-01 2012-12-11 Digimarc Corporation Context sensitive connected content
EP1349080A1 (en) * 2002-03-26 2003-10-01 Deutsche Thomson-Brandt Gmbh Methods and apparatus for using metadata from different sources
GB2395805A (en) * 2002-11-27 2004-06-02 Sony Uk Ltd Information retrieval
US7302437B2 (en) * 2004-12-23 2007-11-27 Microsoft Corporation Methods, systems, and computer-readable media for a global video format schema defining metadata relating to video media
JP2007142492A (ja) 2005-11-14 2007-06-07 Sharp Corp 番組情報処理装置、番組情報処理方法、番組情報処理プログラム、および記録媒体
US8364720B2 (en) * 2005-12-21 2013-01-29 Digimarc Corporation Content metadata directory services
US7962937B2 (en) * 2006-08-01 2011-06-14 Microsoft Corporation Media content catalog service
WO2008018080A2 (en) * 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
US7849050B2 (en) * 2007-01-29 2010-12-07 Business Objects Data Integration, Inc. Apparatus and method for analyzing impact and lineage of multiple source data objects
JP2008204198A (ja) 2007-02-20 2008-09-04 Skyit Corp 情報提供システム、及び、情報提供プログラム
US8468212B2 (en) * 2007-08-08 2013-06-18 Silicon Image, Inc. Network repository for metadata
US20090249446A1 (en) * 2007-10-22 2009-10-01 Paul Thomas Jenkins Method and system for managing enterprise content
US8126881B1 (en) * 2007-12-12 2012-02-28 Vast.com, Inc. Predictive conversion systems and methods
US9154386B2 (en) * 2008-06-06 2015-10-06 Tdi Technologies, Inc. Using metadata analysis for monitoring, alerting, and remediation
US8452855B2 (en) * 2008-06-27 2013-05-28 Yahoo! Inc. System and method for presentation of media related to a context
US8554800B2 (en) * 2008-07-30 2013-10-08 Portool Ltd. System, methods and applications for structured document indexing
US8605996B2 (en) * 2008-12-16 2013-12-10 Microsoft Corporation Sentiment classification using out of domain data
US8316396B2 (en) * 2009-05-13 2012-11-20 Tivo Inc. Correlation of media metadata gathered from diverse sources
EP2524327B1 (en) * 2010-01-13 2017-11-29 Ab Initio Technology LLC Matching metadata sources using rules for characterizing matches
GB2486002A (en) * 2010-11-30 2012-06-06 Youview Tv Ltd Media Content Provision
US9100377B2 (en) * 2010-12-09 2015-08-04 Fujifilm North America Corporation System and method for providing caching and pre-fetch of assets/media
US8335801B2 (en) * 2010-12-17 2012-12-18 Fanhattan Llc System and method for matching content between sources
US8819064B2 (en) * 2011-02-07 2014-08-26 Yahoo! Inc. Method and system for data provenance management in multi-layer systems
US9589072B2 (en) * 2011-06-01 2017-03-07 Microsoft Technology Licensing, Llc Discovering expertise using document metadata in part to rank authors
US9135311B2 (en) * 2012-03-20 2015-09-15 Tagboard, Inc. Gathering and contributing content across diverse sources
US9262469B1 (en) * 2012-04-23 2016-02-16 Monsanto Technology Llc Intelligent data integration system
US9351043B2 (en) * 2012-09-18 2016-05-24 Centurylink Intellectual Property Llc Metadata system for real-time updates to electronic program guides
US9031975B2 (en) * 2012-11-06 2015-05-12 Rockwell Automation Technologies, Inc. Content management
US9355193B2 (en) * 2012-11-06 2016-05-31 Rockwell Automation Technologies, Inc. Object design data model
US9594812B2 (en) * 2013-09-09 2017-03-14 Microsoft Technology Licensing, Llc Interfaces for accessing and managing enhanced connection data for shared resources
US9058375B2 (en) * 2013-10-09 2015-06-16 Smart Screen Networks, Inc. Systems and methods for adding descriptive metadata to digital content
US10853356B1 (en) * 2014-06-20 2020-12-01 Amazon Technologies, Inc. Persistent metadata catalog
US9766882B2 (en) * 2015-07-08 2017-09-19 Dspace Digital Signal Processing And Control Engineering Gmbh Computer-implemented method for editing data object variants
US20170103164A1 (en) * 2015-10-12 2017-04-13 PokitDok, Inc. System and method for dynamic autonomous transactional identity management
US10394801B2 (en) * 2015-11-05 2019-08-27 Oracle International Corporation Automated data analysis using combined queries
US10579628B2 (en) * 2015-12-17 2020-03-03 The Nielsen Company (Us), Llc Media names matching and normalization
US10579627B2 (en) * 2016-01-08 2020-03-03 Microsoft Technology Licensing, Llc Database operation using metadata of data sources
US11698990B2 (en) * 2016-04-29 2023-07-11 Privitar Limited Computer-implemented privacy engineering system and method
KR20180025091A (ko) * 2016-08-30 2018-03-08 주식회사 첨단 콘텐츠 매핑 방법 및 이를 위한 컴퓨터 프로그램
US10698869B2 (en) * 2016-09-27 2020-06-30 Bank Of America Corporation System and method for data structure migration control
JP2018092324A (ja) 2016-12-01 2018-06-14 日本放送協会 コンテンツ同定装置及びプログラム
US11281732B2 (en) * 2018-08-02 2022-03-22 Microsoft Technology Licensing, Llc Recommending development tool extensions based on media type
US20200077151A1 (en) * 2018-08-30 2020-03-05 Disney Enterprises, Inc. Automated Content Recommendation Using a Metadata Based Content Map
US11176196B2 (en) * 2018-09-28 2021-11-16 Apple Inc. Unified pipeline for media metadata convergence
KR20200112386A (ko) * 2019-03-22 2020-10-05 삼성전자주식회사 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
US11893068B2 (en) 2024-02-06
US20220147582A1 (en) 2022-05-12
WO2020197071A1 (ko) 2020-10-01

Similar Documents

Publication Publication Date Title
US9275020B2 (en) Tracking changes among similar documents
EP3113043B1 (en) Method, device and host for updating metadata stored in columns in distributed file system
US10826980B2 (en) Command process load balancing system
CN112400165B (zh) 利用无监督学习来改进文本到内容建议的方法和系统
US20160224617A1 (en) System and method for providing search service using tags
CN108536745B (zh) 基于Shell的数据表提取方法、终端、设备及存储介质
US9846714B2 (en) Database device
CN106469022A (zh) 存储驱动器的存储管理方法和系统
US9639340B2 (en) System and method of loading virtual machines
US9652416B2 (en) Storage device for performing in-storage computing operations, method of operation the same, and system including the same
US20180329873A1 (en) Automated data extraction system based on historical or related data
US20240111775A1 (en) Apparatus and Techniques for Contextual Search of a Storage System
US8881174B2 (en) Computing device and function module management method
US11893068B2 (en) Electronic device and control method thereof
US9576008B2 (en) System and method for search indexing
US10649743B2 (en) Application developing method and system
US20210110038A1 (en) Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence
US20160125019A1 (en) Apparatus and method for processing a query
US10678853B2 (en) Aligning visual content to search term queries
EP3293643B1 (en) Paging mechanism for in-memory data management system
US20230237095A1 (en) Metadata for Graph Connected Databases
US11961334B2 (en) Biometric data storage using feature vectors and associated global unique identifier
US11455326B2 (en) Efficient storage and retrieval of textual data
CN116992831A (zh) 语句处理方法及装置
US11507620B2 (en) Self-transforming content objects