KR20160127707A - 온라인 서비스의 지원을 위한 자원 생성 방법 - Google Patents

온라인 서비스의 지원을 위한 자원 생성 방법 Download PDF

Info

Publication number
KR20160127707A
KR20160127707A KR1020167001062A KR20167001062A KR20160127707A KR 20160127707 A KR20160127707 A KR 20160127707A KR 1020167001062 A KR1020167001062 A KR 1020167001062A KR 20167001062 A KR20167001062 A KR 20167001062A KR 20160127707 A KR20160127707 A KR 20160127707A
Authority
KR
South Korea
Prior art keywords
concepts
category
categories
concept
level
Prior art date
Application number
KR1020167001062A
Other languages
English (en)
Other versions
KR101778901B1 (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 KR20160127707A publication Critical patent/KR20160127707A/ko
Application granted granted Critical
Publication of KR101778901B1 publication Critical patent/KR101778901B1/ko

Links

Images

Classifications

    • 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/954Navigation, e.g. using categorised browsing
    • G06F17/30598
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • 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/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • 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
    • G06F17/30312
    • G06F17/30699
    • G06F17/3071
    • G06F17/30873

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)
  • Computational Linguistics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

카테고리들 내에 편성된 개념들의 데이터베이스를 분석하는 시스템 및 방법이 제공되며, 각각의 개념은 개념들 사이의 수치적 관계를 결정하고 카테고리들에 대한 계층구조를 결정하기 위한 온라인 텍스트 문서이다.

Description

온라인 서비스의 지원을 위한 자원 생성 방법{GENERATING RESOURCES FOR SUPPORT OF ONLINE SERVICES}
관련 출원
이 출원은 2013년 11월 27일자 출원된 미국 가출원 제61/910,000호의 우선권 이익을 주장하며, 상기 특허문헌의 내용은 그 전체가 참조에 의해 여기에 포함된다.
기술분야
본 발명은 일반적으로는 데이터베이스 처리(database processing)에 관한 것이며, 더욱 구체적으로는 데이터베이스 내 개념들의 유사(similarity)에 가중치를 부여하기 위해 카테고리들 내에 조직화된 개념들을 가진 데이터베이스의 처리에 관한 것이다.
만일 사용자에게 추천하기 위해 사용자 상호작용이 지능적으로 처리될 수 있다면 온라인 서비스의 인기를 높일 수 있을 것이다. 예를 들면, 웹 페이지 서버에서 실행되는 애플리케이션은 사용자들의 현재 이용에 기초하여 사용자에게 추가 웹페이지를 추천할 수 있다. 그와 관련하여, "New York" 또는 "Madonna" 등과 같은 개념들에 대해 방대한 양의 정보를 제공하는 "위키피디아(Wikipedia)와 같은 거의 백과사전식 데이터베이스가 현재 존재한다. 만일 그와 같은 데이터베이스들이 개념들 사이의 관계를 판정하기 위해 자동으로 분석될 수 있다면, 사용자에 대한 추천은 더욱 정확해질 것이며, 이것은 사용자 상호작용 및 연대를 지원한다.
온라인 데이터베이스 내 개념들 사이의 관계의 발견은 이와 같이 매우 가치있기 때문에, 그와 같은 관계 분석을 제공하기 위해 상당한 노력이 시도되고 있다. 그러나 안타깝게도 현재의 분석은 특정한 데이터베이스에 대하여 건별로만 개발되어 왔다. 그와 같은 애플리케이션들은 일반적으로 단일 언어 사용에만 유효하며 다른 언어로 전환하는 것이 어렵거나 불가능하다. 따라서 개념 관계에 대한 종래 애플리케이션들에서의 자원의 갱신은 상당한 양의 수동 개입을 수반한다.
따라서 데이터베이스 내 개념들 사이의 관계를 발견하기 위해 데이터베이스를 처리할 수 있는 애플리케이션에 대한 필요가 당해 기술분야에 존재한다.
일 측면으로, 카테고리들 내에 편성된 개념들의 데이터베이스를 분석하는 시스템이 제공된다. 이 시스템은, 각각의 카테고리에 대해, 상기 카테고리가 제1 개념들을 직접 포함하는 제1레벨 카테고리인 개념들 중 제1 개념들의 개수, 상기 카테고리가 그 다음에 제2 개념들을 포함하는 상기 카테고리들의 다른 카테고리들의 멤버인 제2 개념들을 통해서만 제2 개념들을 포함하는 상기 개념들 중 제2 개념들의 개수, 및 상기 카테고리가 제n 레벨 카테고리인 상기 개념들 중 제n 개념들의 개수까지 계속해서 카운트하는 단계를 포함하는 방법을 수행하며, n은 다원적인(plural) 양의 정수임이다. 또한, 상기 방법은, 각각의 카테고리에 대해, 가장 높은 카운트를 가진 레벨을 상기 카테고리가 가진 것으로 분류하는 단계를 포함한다. 최종적으로, 상기 방법은, 각각의 레벨에서 분류된 각각의 카테고리에 대해, 가장 의미 있는 개념들을 가진 각각의 레벨에 대해 한 세트의 분류된 카테고리들을 결정하기 위해 적어도 상기 카테고리의 개념들의 페이지 순위에 기초하여 상기 가장 의미 있는 개념들을 가진 분류된 카테고리들을 결정하는 행위를 포함한다.
도 1a는 본 발명의 일 실시예에 있어서 개념들 및 카테고리들 사이의 관계를 판정하기 위해 데이터베이스를 분석하도록 설정된 시스템을 위한 모듈들의 집합을 도시한다.
도 1b는 도 1a의 시스템을 위한 추가 모듈들을 도시한다.
도 2는 도 1a의 시스템에 의해 분석된 데이터베이스 내 한 세트의 카테고리들에 대한 사이클을 도시한다.
도 3a는 도 1a의 시스템에 의해 분석된 데이터베이스에 대한 카테고리 계층구조를 판정함에 있어서 제1 개념에 대한 카운팅 프로세스를 도시한다.
도 3b는 또 다른 개념에 적용되는 도 3a의 카운팅 프로세스를 도시한다.
도 4는 본 발명의 일 실시예에 있어서 카테고리들 내에 편성된 개념들을 가진 데이터베이스를 분석하는 방법에 대한 흐름도이다.
도 5는 도 1a 및 도 1b의 시스템을 구현하기 위해 구성될 수 있는 예시적인 컴퓨터 시스템을 위한 블럭도이다.
본 발명의 실시예들 및 그 이점들은 다음의 상세한 설명을 참조함으로써 가장 잘 이해될 수 있다. 도면들 중 하나 이상에서 도시된 같은 요소들을 확인하기 위해 같은 참조번호들이 사용되었다.
아래에서 제시된 상세한 설명은 첨부한 도면들과 함께 다양한 구성들의 설명으로서 의도되며, 여기서 설명된 개념들이 실행될 수 있는 유일한 구성을 나타내는 것을 의도하지 않는다. 상세한 설명은 다양한 개념들의 완전한 이해를 제공할 목적으로 구체적인 상세를 포함한다. 그러나 이 개념들은 이러한 구체적인 상세 없이도 실행될 수 있음은 당해 기술분야의 통상의 기술자에게는 명백할 것이다. 어떤 실시예에서는, 그와 같은 개념을 불명료하게 하는 것을 피하기 위해 기존의 구조체들 및 구성요소들이 블럭도 내에 도시되어 있다.
추가의 온라인 자원을 제공하기 위한 백과사전식 데이터베이스의 개념적 분석은 통계적 접근과 다르다. 예를 들면, 상업적 웹사이트를 호스팅하는 애플리케이션은, 일단 한 항목이 구매되면 애플리케이션이 동일한 항목을 구입한 다른 사용자에 의해 역시 구매된 관련된 항목들을 제안할 수 있도록, 구매를 통계적으로 리뷰하는 것이 전형적이다. 그러나 그와 같은 분석은 항목 그 자체나, 관련된 항목들에 대한 그것의 개념적 관계와 관련이 없다. 여기서 개시되는 시스템 및 방법은 사용자의 웹 검색의 과거 행동을 그냥 사용하는 대신에 데이터베이스를 분석하여 데이터베이스 내 개념들의 상호관련성을 숫자에 의해 특징짓는다. 이와 같이, 만일 사용자가 주어진 개념으로 웹페이지를 읽고 있으면, 관련된 개념들을 가진 웹페이지들이 사용자에게 지능적으로 추천될 수 있다.
본 명세서에서 사용된 용어 "개념(concept)"은, 데이터베이스 내의 다른 개념들에 대한 링크들을 포함할 수 있는, 상기 개념과 관련된 텍스트 정보를 가진 데이터베이스 엔터티(entity)이다. 개념 데이터베이스의 예는 "위키피디아"이며, 이 경우 각각의 개념은 아티클(article)로서 표시된다. 이 아티클들은 카테고리들 내에 편성된다. 각각의 카테고리는 관련된 아티클들의 집합이다. 다음의 분석이 위키피디아 내 개념들의 분석에 전용될 것이지만, 여기에 개시되는 분석은 개념들을 가진 임의의 데이터베이스에 널리 적용될 수 있음을 이해할 것이며, 상기 개념들 각각은 데이터베이스 내 다른 개념들에 대한 링크를 포함하는 텍스트 데이터베이스 입력항목이다. 개념과 유사한 것은 스프레드시트 데이터베이스 내의 레코드(record)이다. 통상적으로, 각각의 레코드는 다수의 필드(fields)를 포함하는 스프레드시트 내 행(row)이다. 따라서 데이터베이스 엔터티 또는 "개념"과 관련된 단어들은 스프레드시트 데이터베이스의 행(또는 레코드)을 위한 필드들과 유사하다.
여기에서 개시된 자원 생성을 수행하는 시스템이 개시된다. 이 시스템은 다수의 모듈을 포함한다. 각각의 모듈은 단일 컴퓨터 또는 컴퓨터들의 집합으로 구현될 수 있다. 대안으로, 각각의 모듈은 ASIC 또는 설정된 FPGA(field programmable gate array)를 사용하여 구현될 수 있다. 도 1a는 예시적 시스템(100)의 하이-레벨 개관을 보여준다. 시스템(100)은 데이터베이스(105)로부터 자원을 생성하는 동작을 한다. 이하의 설명에서 데이터베이스(105)는 위키피디아로 가정하지만 유사한 데이터베이스들이 시스템(100)에 의해 동일한 방식으로 분석될 수 있음을 이해할 것이다. 위키피디아에서, 어떤 아티클들은 개념에 전용되지 않는다. 예를 들면, "New York"에 대한 인터넷 검색은 뉴욕주에 대한 텍스트 아티클에 전용된 위키피디아 페이지로 안내될 것이다. 그러나 다른 위키피디아 페이지들은 대신 중의해소(disambiguation) 페이지이다. 예를 들면, 용어 "Madonna"는 그것이 장소, 팝스타, 또는 종교적 인물을 의미할 수 있기 때문에 모호하다. 그와 같은 모호한 개념들에 대해서, 위키피디아는 동일한 이름을 공유하는 다양한 개념들의 리스트를 가진 "중의해소 페이지"를 제공할 수 있다. 그와 같은 중의해소 페이지 자체는 한 개념과 다른 개념의 관계에 대한 정보를 제공하지 않으므로 시스템(100)은 리스트(120) 내에 모든 위키피디아 중의해소 페이지 또는 레퍼런스를 확인하기 위해 중의해소 페이지 추출기 모듈(110)을 포함할 수 있다.
위키피디아는 각각의 별개 웹 페이지 또는 아티클에 대한 참조번호를 제공한다. 그 참조번호에 의해 모든 개념 및 카테고리를 확인하기 위해, 시스템(100)은 페이지 파서(parser) 추출기 필터 모듈(115)을 포함하며, 이것은 개념 리스트(125)를 생성한다. 이 개념 리스트(125)는 위키피디아 내 모든 개념들의 리스트이며(즉 별개의 웹 페이지들), 상기 중의해소 페이지들을 포함한다. 또한, 모듈(115)은 위키피디아를 위한 모든 카테고리들의 리스트를 생성한다. 그와 관련하여, 위키피디아아 내 각각의 실체(중의해소 페이지가 아님)는 하나 이상의 카테고리를 리스트한다. 예를 들면, "New York"에 대한 위키피디아 페이지는, 이 개념이 6개의 위키피디아 카테고리들, 즉 "Former British Colonies", "New York", "States of the United States", "Mid-Atlantic", "Northeastern United States", 및 "States of the East Coast of the United States"에 포함되는 것을 표시한다. 이 예시적 카테고리들의 세트에 의해 제시된 것과 같이, 개념은 별개의 "New York" 개념 및 카테고리에 의해 제시된 것과 같은 카테고리일 수도 있다. 각각의 카테고리는 하나 이상의 개념을 포함하며, 그것은 위키피디아 내 특정한 토픽에 대한 텍스트 콘텐츠의 웹 페이지들 또는 별개의 아티클들에 해당할 수 있다.
파서 추출기 필터 모듈(115)은 또한 개념 레퍼런스 맵(concept reference map)(140)을 생성한다. 그와 관련하여, 위키피디아 내 각각의 개념은 다른 위키피디아 개념들에 대한 하이퍼링크를 포함할 수 있다. 개념 레퍼런스 맵(140)은 위키피디아 내 각각의 개념에 대해 다른 개념들에 대한 모든 그와 같은 레퍼런스들을 리스트한다. 그러나 일부 하이퍼링크들은 하이퍼링크 내 텍스트 레퍼런스에 의해 표시된 개념을 참조하지 않음을 주목해야 한다. 예를 들면, "New York"에 대해 전술한 위키피디아 페이지는, "세 번째로 인구가 많은" 개념 대신에 "인구에 의한 미국 주 및 영토의 리스트"의 개념을 가리키는 웹페이지로 연결되는 "세 번째로 인구가 많은"의 하이퍼링크를 포함한다. 여기서 사용된 것과 같이, 대응 개념과 다르게 표현되는 하이퍼링크를 통한 하나의 개념으로부터 또 다른 개념의 참조는 전환(redirect)으로 표시된다. 모듈(115)은 또한, 각각의 개념에 대해서, 상기 개념이 다른 개념들에 대해 가질 수 있는 임의의 전환을 리스트하기 위해 개념 전환 맵을 생성한다. 이하에서 더욱 상세히 설명되는 바와 같이, 그와 같은 전환들은, 관련된 개념들을 확인하기 위해 사용되는, 주어진 개념을 위한 동의어들에 대한 추가 정보를 제공한다.
개념 레퍼런스 맵(140)은, 각각의 개념에 대해서, 중의해소 페이지들을 포함하는 모든 참조된 개념을 확인한다. 상기 중의해소 페이지들은 리스트(120) 내에 이미 확인되기 때문에, 중의해소 모듈(145)은, 어떤 중의해소 레퍼런스들도 포함하지 않는 참조된 실체 개념들만 리스트하는 여과된 개념 레퍼런스 맵(150)을 형성하기 위해 개념 레퍼런스 맵(140)을 손쉽게 여과할 수 있다. 여과된 개념 레퍼런스 맵(150)은 위키피디아 내에 주어진 실체 개념을 또 다른 실체 개념과 관련시키기 위해 전술한 것과 같은 다수의 방법으로 사용될 수 있다. 다음 설명에서 사용되는 용어 "개념"은 간략화를 위해 실체 개념들(중의해소 페이지가 아닌 개념)을 지칭하는 것으로 이해될 것이다.
주목할 것은 위키피디아의 영어판이 대응 개념들에 안내되는 3백4십만개 이상의 아티클을 가진다는 것이다. 그와 같은 엄청난 개수의 개념들은 근본적으로 원시 형태로 관리할 수 없다. 그러나 여기에 개시된 방법 및 시스템은 이 복잡성을 해결하며 따라서 만일 사용자가 주어진 개념에 대한 흥미를 표시하면, 여과된 개념 레퍼런스 맵(150)으로부터 결정된 관련된 개념들이 사용자에게 확인될 수 있다. 사용자가 위키피디아와 관련이 없는 서버에 요청을 하거나 웹-페이지를 검색할 때 이러한 기법의 힘을 주목해야 한다. 그러나 그와 같은 애플리케이션에 대한 사용자의 입력은 개념을 확인하기 위해 분석될 것이다. 이 개념들은 그 다음에 관련된 개념들을 확인하기 위해 처리될 것이다. 그러기 위해서, 시스템(100)은 유사도 연산모듈(155)을 포함할 수 있다. 개념들 사이의 관계를 숫자로 특징짓기 위해서 다양한 알고리즘들이 모듈(155)에 의해 실행될 수 있다. 예를 들면, 모듈(155)은, 각각의 개념에 대해서, 해당 개념과 모든 나머지 개념들과의 유사 추정을 계산하기 위해서 개념 레퍼런스 맵(150)을 사용할 것이다. 예를 들면, 주어진 개념 A와 또 다른 개념 B 사이의 유사를 판정하는 문제를 생각해보자. 모듈(155)은 먼저 개념 A에 의해 참조된 개념들(RC(A)로 표시됨)과 개념 B에 의해 참조된 개념들(RC(B)로 표시됨) 사이에 어떤 교집합(교차부분)(intersection)이 존재하는지 판정할 것이다(RC(A) ∩ RC(B)로 표현됨). 만일 이 참조된 개념들 사이에 교집합이 존재하지 않으면, 개념 A와 개념 B 사이에 관계가 없는 것으로 간주된다. 만일 교집합이 존재하면, 모듈(155)은 또한 RC(A)와 RC(B)의 합집합(union)을 계산하며(RC(A) ∪ RC(B)로 표현됨), 개념 A와 개념 B 사이의 유사 점수를 제공하기 위해 식 -log((RC(A) ∩ RC(B)/RC(A) ∪ RC(B))을 판정한다. 그와 같은 유사 점수는 개념들 사이의 유사에 반비례하며, 가장 밀접하게-관련된 개념들은 참조된 개념들의 교집합에 대응하는 것으로 간주되고 참조된 개념들의 합집합에 대해서도 같다(로그의 밑에 관계없이 log 1은 0이다). 교집합이 합집합에 비해 더 작아질 때, 결과적인 비율의 로그는 점점 더 음이 되며 따라서 상기 로그의 반대는 점점 더 양이 된다. 따라서 각각의 개념에 대해, 관련된 개념들의 정렬된 점수(ordered score)가 생성될 수 있다. 어떤 실시예에서는, 주어진 개념에 대해 가장 밀접하게-관련된 개념들의 서브셋(subset)을 결정하기 위해 상기 정렬된 점수에 문턱값이 적용될 수 있다. 문턱값의 적용 여부에 관계없이, 유사도 연산모듈은 이런 방식으로 위키피디아 내 각각의 개념에 대해 관련된 개념들의 정렬된 리스트(165)를 생성할 것이다. 유사도 연산모듈(155)은 방금 설명한 로그 공식과 함께 또는 대신에 대안적인 알고리즘을 실행할 수도 있다. 예를 들면, 유사도 연산모듈(155)은 개념들 사이의 수치적 유사도를 연산하기 위해 PMI 공식 또는 자카드 공식(Jaccard formula)을 사용할 수 있다. 또한, 유사도 연산모듈(155)은, 카테고리 내의 추가 멤버들을 관련된 개념들로 선택하기 위해, 주어진 개념의 카테고리 멤버십을 사용할 수도 있다.
유사도 연산모듈(155)을 통해 유사한 개념들을 결정하기 위해 여과된 개념 레퍼런스 맵(150)을 처리하는 외에, 시스템(100)은 개념 중요도 연산모듈(160)을 포함할 수 있다. 일 실시예에서, 개념 중요도 연산모듈(160)은 주어진 개념의 중요도를 결정하기 위해 페이지 순위(Page Rank) 알고리즘을 사용할 수 있다. 당해 기술분야에서 알려진 바와 같이, 페이지 순위 알고리즘은, 주어진 개념에 연결되는 다른 개념들로부터로의 인바운드(inbound) 링크들에 적용되는 재귀(recursive) 프로세스이다. 따라서 위키피디아 내 각각의 개념에는, 랭크된(ranked) 개념 리스트(170) 내에 축적될 때, 페이지 순위 점수가 모듈(160)에 의해 주어질 수 있다. 애플리케이션에서, 랭크된 개념 리스트(170)는 덜 중요한 개념들을 여과하기 위해 어떤 문턱값에 따라 여과될 수 있다. 사용자가 다수의 개념을 포함하는 웹페이지를 검색해야 한다면, 그것들의 페이지 순위 점수가 원하는 문턱값을 초과하는지 판정함으로써, 더 중요한 개념들이 확인될 수 있다. 주목할 것은, 그와 같은 여과는, 시스템(100)과 주어진 사용자의 상호작용에 의해 제공되는 개념들에 관련되는 개념들의 개수를 감소시키는 점에서, 제한적이라는 것이다. 반면, 주어진 개념에 대해 관련된 개념들을 찾기 위한 리스트(165)의 응용은, 시스템(100)과 사용자의 상호작용에 관련되는 개념들의 개수를 증가시키는 점에서, 확장성이 있다. 그 점에서, 시스템(100)과 사용자의 "상호작용"은 시스템(100)에 어떤 콘텐츠의 제공을 포함하는 것으로 여기서 정의된다. 이 콘텐츠는 "Find Italian Restaurants in Palo Alto"와 같은 음성 질의 또는 텍스트 기반 질의일 수 있다. 또는, 상기 콘텐츠는 사용자가 현재 검색하고 있는 주어진 웹페이지 또는 뉴스 아티클의 텍스트일 수 있다. 이 콘텐츠가 어떻게 제공되는지에 관계 없이, 시스템(100)은 콘텐츠에 대한 관련된 개념들 및 카테고리들을 판정하기 위해 그것을 분석할 것이다. 리스트(165)는 관련된 개념들의 개수를 확장시키는 반면 랭크된 개념 리스트(170)는 관련된 개념들의 개수를 축소시키기 때문에, 이 리스트들은 시스템(100)과 사용자의 상호작용에 관하여 관련된 개념들의 개수를 먼저 확장시키고(또는 축소시키고) 다음에 축소시키기 위해(또는 확장시키기 위해) 반복적으로 사용될 수 있다.
또한 시스템(100)은 도 1b에 도시된 것과 같은 계층구조 추출기 필터 모듈(185)을 포함할 수 있으며, 카테고리-카테고리 관계뿐만 아니라 각각의 카테고리 내에 포함된 개념들을 리스트하는, 위키피디아로부터의 카테고리 링크 파일(175)을 처리한다. 따라서, 모듈(185)은, 각각의 카테고리에 대한 개념들을 리스트하는 개념-카테고리 맵(191)을 추출하고, 또한 다른 카테고리들에 포함된 카테고리들 확인하는 카테고리-카테고리 맵(192)을 추출할 수 있다. 카테고리들을 확인하는 것과 관련하여 한 가지 문제는, 독립적인 편집자들의 커뮤니티에 의해 형성되어 공개되는 위키피디아와 같은 데이터베이스가 장황하거나 중복된 카테고리들을 가질 수 있다는 것이다. 예를 들면, 하나의 카테고리는 "Computer Science"로 명명되는 반면 또 다른 카테고리는 "Computer science"로 명명될 수 있다. 그와 같은 중복된 카테고리들은 예를 들면, 어떤 대문자도 갖지 않은 카테고리 이름들에 대해 문자열(string)을 비교함으로써, 모듈(185)에 의해 병합될 수 있다. 따라서 모듈(185)은 중복 카테고리들을 여과하는 기능을 한다. 주목할 것은 리스트(192) 내에서 확인된 카테고리-카테고리 관계들이, 카테고리들의 예시적인 세트(200)에 대해 도 2에 도시된 것과 같이, 순환적일 수 있다는 것이다. 구체적으로, "체코공화국-슬로바키아 관계"의 카테고리(205)는 "체코슬로바키아"의 카테고리(210)를 포함하지만 그 다음에 그 자체가 "체코공화국의 상호관계"의 카테고리(235) 내에 포함된 카테고리이다. 마찬가지로, 카테고리(235)는 그 다음에 "체코공화국의 외교관계"의 카테고리(230) 내에 포함되고, 상기 카테고리(230)는 그 다음에 "체코공화국의 정부"의 카테고리(225) 및 "체코공화국의 정치"의 카테고리(220) 내에 포함된다. 마지막으로, 카테고리(220)는 "체코공화국"의 카테고리(215) 내에 포함되고, 카테고리(215)는 이어서 전술한 카테고리(205) 내에 포함된다. 이러한 순환성은 이하에서 추가로 설명되는 카테고리 계층구조를 판정하는데 있어서 문제점을 나타낸다.
또한 시스템(100)은 시스템(100)과 사용자의 상호작용에 기초하여 다른 개념들 및 카테고리들을 추천함에 있어서 그것들의 노출통계(viewing statistics)에 의해 결정된 것과 같은 개념들의 인기를 사용할 수 있다. 예를 들면, 시스템(100)은 도 1b에 도시된 것과 같은 인기추출모듈(190)을 포함할 수 있으며, 이것은 위키피디아에 의해 제공되는 시간당 노출통계 파일(180)을 처리하여 인기-가중된 개념 리스트(195)를 생성한다. 리스트(195)는, 시스템(100)과 사용자의 상호작용에 기초하여 확인되는 개념들의 개수를 선택하거나 감소시키는 것과 관련하여 랭크된 개념 리스트(170)와 함께 또는 대신에 사용될 수 있다.
시스템(100)에 의해 생성된 개념들 및 그것들의 카테고리들의 다양한 리스트 및 순위는, 시스템(100)과 사용자의 상호작용에 관련된 자원(개념 및 카테고리)을 생성하기 위해 아주 유리한 방식으로 사용될 수 있다. 예를 들면, 개념-카테고리 맵(191)은 사용자의 상호작용에 의해 확인된 중요한 개념들을 포함하는 카테고리들을 확인하기 위해 사용될 수 있다. 그와 관련하여, 주목할 것은, 개념들과 카테고리들 사이의 관계는, 어떤 개념들은 그것들이 다른 카테고리들에 포함되는 것에 의해서만 주어진 카테고리에 포함되는 점에서, 계층적이라는 것이다. 예를 들어, 다시 도 2를 참조하면, "체코슬로바키아의 해체"의 개념은 카테고리(205) 내에 포함된 위키피디아 아티클들 중 하나이다. 따라서 카테고리(205)는 이 개념에 관하여는 "제1레벨"로 간주될 수 있다. 그러나 카테고리(235)가 카테고리(205)를 포함하더라도 동일 개념이 카테고리(235)의 직접적인 멤버는 아니다. 그렇지만, 카테고리(235)와 "체코슬로바키아의 해체"의 개념 사이의 이러한 간접적인 관계는 중요한 관련 개념들을 확인하기 위해 시스템(100)에 의해 유리하게 사용될 수도 있다. 이 개념은 카테고리(235)로부터 제거된 단지 하나의 카테고리이기 때문에, 카테고리(235)는 상기 "체코슬로바키아의 해체" 개념에 관하여는 "제2레벨"로 간주될 수 있다. 그 다음에, 카테고리(230)는 제3레벨 카테고리인 반면 카테고리(225)는 동일 개념에 관하여 제4레벨 카테고리가 될 수 있다. 따라서 시스템(100)은 개념들의 전체 세트(200)에 걸쳐 작용하여 주어진 개념에 관하여 그것들의 레벨을 결정할 수 있다. 그러나 세트(200)의 순환적 성질은, 카테고리(205)가 "체코슬로바키아의 해체"의 개념을 직접 포함할 뿐만 아니라 이 동일 개념에 관하여 제8레벨 카테고리이기도 하다는 점에서, 문제를 제공한다. 마찬가지로, 카테고리(205)는, 만일 시스템(100)이 세트(200)에 의해 형성된 사이클을 무한정 계속해서 반복한다면, 제15레벨 카테고리로 간주될 수도 있다. 주어진 사이클의 카테고리들에 대한 이러한 막연한 순환을 방지하기 위해, 각각의 그와 같은 순환 세트는 사이클 내 카테고리-카테고리 관계들 중 하나를 끊음으로써 비순환으로 만들어야 한다. 예를 들면, 만일 카테고리(215)가 더 이상 카테고리(220)를 포함하지 않는 것으로 간주되면(사이클 내 에지의 삭제), 세트(200)는 더 이상 순환적이지 않으므로 결과적인 카테고리들에 대한 계층구조는 확정적이고 한정된다. 대안으로, 만일 카테고리(220)가 세트(200)로부터 삭제되면(사이클 내 노드 및 그 에지들의 삭제), 결과적인 계층구조는 역시 확정적이고 한정된다. 에지 또는 노드의 그와 같은 삭제는 의미에 기초한다. 예를 들면, 카테고리(210)는 더는 존재하지 않는 나라인 "체코슬로바키아"에 관계되며 따라서 이 노드와 그 에지들은 삭제될 것이다. 그와 같은 삭제는 오늘날의 여행 및 관광을 위해서는 정확할 수 있지만 만일 시스템(100)과 사용자의 질문 또는 상호작용이 역사에 관련된다면, 당연히 바람직하지 않을 수도 있다. 그러나 전형적인 데이터베이스는 그와 같은 순환적인 배열의 카테고리들을 비교적 적게 가질 것임을 인식할 것이다. 예를 들면, 위키피디아의 영어판은 400,000개 이상의 카테고리들을 갖지만 그와 같은 사이클은 단지 20 내지 30개 정도이다. 따라서 조작하는 사람은 상당한 부담을 일으키지 않으면서 그러한 비교적 작은 한 세트의 사이클들 어떻게 분쇄할 것인지 적절한 의미 결정(semantic decision)을 할 수 있을 것이다.
모든 카테고리들이 어떻게 비순환으로 만들어지는지에 관계없이, 결과적인 비순환 카테고리들은, 도 3a 및 도 3b에 도시된 것과 같이, 그것들의 계층구조를 결정하기 위해 유리하게 분석될 수 있다. 이 계층구조에 관하여, 도 3a의 개념(300)과 같은 개념들이 0 레벨로 간주된다. 카테고리(305)는 개념(300)을 직접 포함하기 때문에, 카테고리(305)는 개념(300)에 관하여 제1 레벨 카테고리로 간주될 수 있다. 마찬가지로, 카테고리(310)는 개념(300)을 직접 포함하지 않지만, 카테고리(305)가 그 다음에 카테고리(310) 내에 포함되기 때문에, 이 개념(300)을 간접으로 포함한다. 카테고리(310)는 카테고리(305)에 비해 계층구조에서 단지 "한 레벨" 더 높기 때문에, 카테고리(310)는 카테고리(300)에 관하여 제2 레벨 카테고리로 간주될 수 있다. 그러나 도 3b에 도시된 것과 같이, 또 다른 개념(315)이 카테고리(310)의 직접적인 멤버이므로 카테고리(310)는 카테고리(315)에 관하여는 제1 레벨 카테고리이다. 카테고리(310)와 같은 주어진 카테고리는 한 개념에 관하여 한 레벨일 수 있지만 또 다른 개념에 관하여 또 다른 레벨일 수 있다는 애매모호함을 주목해야 한다. 이 애매모호함은 한 카테고리를 다른 카테고리와 직접 비교하는 것을 불가능하게 하는데, 이는 카테고리의 상대적 유용성이 계층구조에서 더 높이 이동할수록 감소하기 때문이다. 예를 들어, "모든 개념들"의 카테고리가 너무 포괄적이어서 그것이 포함하는 개념들에 대해 어떤 유용한 정보도 제공할 수 없는 경우를 생각할 수 있다. 더 높은 레벨 카테고리들일수록 그것들이 포함하는 개념들에 대해서 더 적은 정보를 제공한다. 따라서 계층구조는 어떤 레벨에서 임의로 종료될 수 있다. 예를 들면, 시스템(100)은 일 실시예에서 불과 4레벨 카테고리를 계산할 수 있다.
카테고리 계층구조에서 추가 레벨들을 계산함에 있어서 문턱값이 어디에 있는지에 관계없이, 레벨의 애매모호함은 한 카테고리와 다른 카테고리의 직접 비교에 문제를 일으킨다. 구체적으로는, 1레벨 카테고리들은 2레벨 카테고리들보다 그것들의 개념들에 대하여 더 많은 정보를 포함할 것이므로(그 다음 2레벨 카테고리들은 3레벨 카테고리들보다 더 많은 정보를 제공하고, 등등), 1레벨 카테고리들의 순위부여(ranking)는 주어진 1레벨 카테고리를 오직 다른 1레벨 카테고리들과 비교함으로써만 가장 정확히 수행된다. 마찬가지로, 2레벨 카테고리 비교는 다른 2레벨 카테고리들과만 비교되어야 하며, 그렇게 계속되어야 한다. 그러나 주어진 카테고리가 어떤 레벨을 차지하는지의 애매모호함으로 인하여, 원시 카테고리들에 대해 동일 레벨 비교를 하는 것은 불가능하다. 이러한 애매모호함을 해결하기 위해, 시스템(100)은 도 1a에 도시된 것과 같은 카테고리 순위 연산모듈(136)을 포함할 수 있다. 다시 도 3a 및 도 3b를 참조하면, 모듈(136)은, 각각의 개념에 대해서, 카테고리를 직접적으로 또는 간접적으로 포함하는 임의의 카테고리들의 상대적 레벨을 결정하기 위해, 개념-카테고리 맵(191)과 카테고리-카테고리 맵(192)을 사용할 수 있다. 주어진 카테고리 내에 (직접 또는 간접으로) 포함되는 횟수에 관하여 각각의 개념에 대해 카운트(count)가 결정된다. 예를 들면, 도 3a의 개념(300)은 카테고리들(305, 306)에 직접 포함된다. 따라서 카테고리들(305, 306)의 각각은 1레벨 분류에 관하여 1의 카운트를 얻는다. 반면, 개념(300)은 카테고리들(305, 306) 양자를 통한 카테고리(310)의 간접적인 멤버이므로 카테고리(310)는 2레벨 분류에 관하여 2의 카운트를 얻는다. 또 하나의 카테고리(미도시)가 카테고리(310)를 포함한다면, 그 카테고리는 3레벨 분류에 관하여 2의 카운트를 얻게 되며, 그렇게 계속될 것이다. 따라서 각각의 개념은 그 개념을 직접 또는 간접으로 포함하는 카테고리들의 레벨 분류에 대해서 "투표(vote)"하는 것으로 생각될 수 있으며, 이 경우 투표는, 도 3a에 도시된 것과 같이, 결과적으로 대응하는 카테고리들에 주어지는 카운트가 된다. 개념 단위로 수행된 이러한 레벨 분류에서, 카테고리가 대응 개념을 직접 포함한다면, 그 카테고리에는 1레벨 분류에 대하여 카운트가 주어진다. 반대로, 주어진 카테고리가 대응 개념을 통해서만 그 대응 개념을 간접 포함하고, 그 대응 개념은, 그 다음에 각각이 상기 대응 개념을 포함하는 하나 이상의 카테고리에 직접 포함된다면, 상기 주어진 카테고리에는 2레벨 분류에 대하여 카운트가 주어진다. 마찬가지로, 주어진 개념이 대응 개념을 통해서만 그 대응 개념을 간접 포함하고, 그 대응 개념이 하나 이상의 제1 카테고리에 직접 포함되고, 이 하나 이상의 제1 카테고리가 그 다음에 하나 이상의 제2 카테고리에 포함되고, 이 하나 이상의 제2 카테고리가 그 다음에 상기 주어진 개념에 포함된다면, 상기 주어진 개념에는 3-레벨 분류에 대하여 카운트가 주어진다. 이와 같이, 각각의 추가 레벨 분류는 개재하는 카테고리를 통해 또 하나의 "홉(hop)"을 수반한다.
개념(315)으로부터의 카운트가 도 3b에 도시되어 있다. 이 경우에 있어서, 카테고리(305)는 1레벨 분류에 관하여 또 하나의 카운트를 얻는다. 개념(300)에 관한 2레벨 분류와 달리, 카테고리(310)는 개념(315)이 카테고리(310)에 직접 포함되므로 개념(315)으로부터의 1레벨 분류에 관하여 카운트를 얻는다. 상기 분류에 관해서 개념들(300, 315) 사이의 충돌은 각각의 개념으로부터의 카운트의 총수(이것은 전술한 바와 같이 주어진 분류 레벨에 대한 투표와 유사하다)에 의해 결정된다. 예를 들면, 모든 개념들이 모듈(136)에 의해 처리된 후, 주어진 카테고리가 1레벨에 30개 카운트를, 2레벨에 132개 카운트를, 3레벨에 20개 카운트를, 4레벨에 0개 카운트를 가진다고 가정하자. 가장 높은 카운트는 2레벨이므로, 모듈(136)은 이 동일 카테고리가 1레벨과 3레벨에도 카운트를 구비했더라도 상기 카테고리를 2레벨로 분류할 것이다. 이와 같이 모든 카테고리들이 분류되면, 모듈(136)은 그 다음에 상기 분류된 카테고리들을 카테고리 순위 맵(137) 내에 리스트한다. 그러나 주목할 것은 위키피디아의 영어판은 400,000개 이상의 카테고리를 가진다는 것이다. 모듈(136)에 의해 이 모든 카테고리들이 분류되더라도, 카테고리 순위 맵(137)은 주어진 이 다수의 카테고리들을 사용하기에는 여전히 다루기에 힘들 것이다. 따라서, 모듈(136)은 랭크된 개념 맵(170)을 사용하여 상기 분류된 카테고리들을 여과할 수 있다. 예를 들면, 모듈(136)은 주어진 분류 카테고리 내 모든 개념들에 대해 개념 순위의 평균을 구하고 그 평균을 문턱값과 비교한다. 그러면 모듈(136)은 원하는 문턱값을 초과하는 분류된 카테고리들만을 카테고리 순위 맵(137)에 포함할 것이다. 카테고리 순위 맵(137)의 주목할 만한 유용성을 생각해보면, 처음으로, 위키피디아와 같은 데이터베이스 내의 광범위한 카테고리들이, 각각의 여과된 레벨이 의미 있게 랭크된 개념들을 가진 카테고리들을 포함하도록, 여과된 레벨들로 지능적으로 분류된다.
그 다음에, 시스템(100)으로부터 결과적으로 얻어진 자원들은, 시스템(100)과 사용자의 상호작용에 대응하는 관련 개념들 및 카테고리들을 확인하기 위해 다수의 방법으로 적용될 수 있다. 예를 들면, 사용자가 현재 이용하고 있는 웹페이지에 대응하는 텍스트 문서가 시스템(100)에 제공된다고 가정하자. 일반적으로, 기계가 서면을 이해하는 것은 만만찮은 일이며, 특히 그 서류의 단어 수가 증가될 때는 더욱 그렇다. 그러나 시스템(100)은, 위키피디아에 관련이 없는 문서에서 중요하고 관련 있는 것을 가깝게 반영할만큼 위키피디아는 지식의 방대한 집합체이므로, 문서를 사람이 이해할 수 있도록 프록시로서 위키피디아와 같은 데이터베이스를 사용한다. 예를 들면, 시스템(100)은 데이터베이스(105) 내의 개념들에 대한 반전된 인덱스를 생성하도록 구성될 수 있다. 그 다음, 사용자 문서 내의 단어들은 상기 아티클과 가장 관련이 있는 개념들을 찾기 위해 상기 반전된 인덱스에 대해서 처리된다. 그 다음, 전술한 바와 같이, 이 개념들은 맵(165)을 사용하여 확장되고 맵(170)을 사용하여 축소된다. 또한, 결과적인 카테고리들에 대응하는 카테고리 순위 맵(137)으로부터의 카테고리들 역시 확인될 수 있다. 이런 식으로, 사용자의 문서를 위한 관련 개념들 및 카테고리들의 리스트가 시스템(100)에 의해 거의 실시간으로 손쉽게 생성된다. 시스템(100)은 같은 방식으로 생성된 관련 개념들 및 카테고리들을 가진 다른 문서들의 데이터베이스에 연결될 수 있다. 사용자의 문서로부터의 관련 개념들 및 카테고리들을 그것의 문서 데이터베이스 내 문서들을 위한 대응하는 개념들 및 카테고리들과 비교함으로써, 시스템(100)은 사용자에게 관련 문서들을 지능적으로 신속하게 제시할 수 있으며, 이것은 시스템(100)과 사용자의 상호 작용과 만족을 크게 향상시킨다. 따라서 문서 분석의 복잡성은, 사용자에게 관련 문서들을 지능적으로 지적하기 위해 상기 문서의 사용자 이해를 위한 프록시로서 위키피디아와 같은 독립적인 데이터베이스의 미리-분석된 구조를 사용함으로써 해결된다. 이제, 시스템과 사용자의 상호작용에 관련된 개념들 및 카테고리들을 찾기 위해 데이터베이스를 분석하는 방법을 설명할 것이다.
이제 도 4를 참조하면, 개념들 및 카테고리들 사이의 관계를 찾기 위해 데이터베이스를 분석하는 예시적 방법을 위한 흐름도가 제공된다. 이 방법은, 각각의 카테고리에 대해, 카테고리가 제1 개념을 직접 포함하는 제1레벨 카테고리인 개념들 중 제1 개념들의 개수, 제2 개념들을 그 다음에 포함하는 카테고리들 중 다른 카테고리들의 멤버들인 제2 개념들을 통해서만 상기 카테고리가 제2 개념들을 포함하는 개념들 중 제2 개념들의 개수, 및 상기 카테고리가 제n 레벨 카테고리인 개념들 중 제n 개념들의 개수까지 계속해서 카운팅하는 단계(400)를 포함하며, 여기서 n은 다원적인 양의 정수이다. 도 3a 및 도 3b에서 개념(300, 315)에 관하여 특정한 레벨에 속하는 것으로 카테고리들(305, 306, 310)을 카운팅하는 것은 단계(400)의 예이며, 이 경우에 n은 2가 될 것이다. 그러나 n은 임의의 양의 정수이고 필요에 따라 증가될 수 있음을 이해할 것이다. 예를 들면, 다른 실시예에서 상기 정수 n은 4 이상일 수 있다.
상기 방법은 또한, 각각의 카테고리에 대해, 가장 높은 카운트를 가진 레벨을 그 카테고리가 가진 것으로 분류하는 단계(405)를 포함한다. 가장 큰 카운트를 기초로 카테고리 순위 연산모듈(136)에 의해 n개 레벨 중 각각의 레벨들로 카테고리들을 분류하는 것은 단계(405)의 일 예이다. 마지막으로, 상기 방법은, 각각의 레벨로 분류된 각각의 카테고리에 대해, 가장 의미있는 개념들을 가진 각각의 레벨에 대해 한 세트의 분류된 카테고리들을 결정하기 위해 적어도 카테고리들의 개념들의 페이지 순위를 기초로 가장 의미 있는 개념들을 가진 분류된 카테고리들을 결정하는 단계(410)를 포함한다. 모듈(136)에 의한 카테고리 순위 맵(137)의 형성에 관하여 전술한 것과 같이 개념들의 페이지 순위에 따라서 분류된 카테고리들을 여과하는 것은 단계(410)의 일 예이다.
전술한 것과 같이, 시스템(100)은 하나 이상의 컴퓨터를 사용하여 구현되거나 대신에 설정된 FPGA 또는 ASIC(s)을 사용하여 실시될 수 있다. 시스템(100)을 위한 하나 이상의 모듈을 구현하기 위한 적당한 컴퓨터 시스템(500)이 도 5에 도시되어 있다. 관리자는 디스플레이(511), 키보드(504), 및 오디오/비디오 I/O(505)를 사용하여 시스템(500)을 구성할 수 있다. 시스템(500)은 버스(502)를 통해 명령들의 메모리(514)에 연결된 하나 이상의 프로세서를 포함한다. 버스(502)는 네트워크 인터페이스(506) 및 통신 링크(518)를 통해 인터넷과 같은 네트워크(550)에도 연결된다. 이런 식으로, 시스템(500)에 의해 호스트된 웹페이지상의 문서의 텍스트, 텍스트 검색 질의, 또는 구술된 검색 질의와 같은 사용자의 상호작용은 네트워크(550)로부터 시스템(500)에 의해 손쉽게 수신될 수 있다. 여기서 설명된 다양한 모듈들을 구현하기 위해 프로세서(512)에 의해 실행되는 메모리(514)에 저장된 명령들은 Java 또는 다른 적당한 프로그래밍 언어들로 작성될 수 있다.
당해 기술분야의 통상의 기술자는 이제 가까이에 있는 특정한 애플리케이션에 의해 본 발명의 범위와 사상을 벗어나지 않으면서 본 발명 장치의 사용 방법과 재료, 장치, 구성에 있어서 다양한 수정, 치환, 변경이 이루어질 수 있음을 이해할 것이다. 이것으로부터, 본 발명의 범위는 여기서 설명된 특정한 실시예들에 제한되는 것이 아니며, 상기 실시예들은 단지 설명을 위한 예시일 뿐이고, 첨부된 청구항들과 그것들의 기능적 균등물에 완전히 상당하는 것으로 이해되어야 한다.

Claims (20)

  1. 카테고리들로 조직화된 온라인 텍스트 개념들의 데이터베이스를 위해 기계-구현된 방법에 있어서,
    각각의 카테고리에 대해, 상기 카테고리가 제1 개념들을 직접 포함하는 제1레벨 카테고리인 개념들 중 제1 개념들의 개수, 상기 카테고리가 그 다음에 제2 개념들을 포함하는 상기 카테고리들의 다른 카테고리들의 멤버인 제2 개념들을 통해서만 제2 개념들을 포함하는 상기 개념들 중 제2 개념들의 개수, 및 계속해서 상기 카테고리가 제n 레벨 카테고리인 상기 개념들 중 제n 개념들의 개수까지 카운트하는 단계;
    각각의 카테고리에 대해, 가장 높은 카운트를 가진 레벨을 가진 것으로 상기 카테고리를 분류하는 단계;
    각각의 레벨에서 분류된 각각의 카테고리에 대해, 가장 의미 있는 개념들을 가진 각각의 레벨에 대해 한 세트의 분류된 카테고리들을 결정하기 위해 적어도 상기 카테고리의 개념들의 페이지 랭크에 기초하여 상기 가장 의미 있는 개념들을 가진 분류된 카테고리들을 결정하는 단계;
    를 포함하고,
    상기 n은 다원적인(plural) 양의 정수인, 기계-구현된 방법.
  2. 제 1 항에 있어서,
    상기 카테고리들의 서브셋은 순환 구조를 가지며,
    상기 카테고리들을 분류하기 전에 상기 카테고리들의 서브셋에 대해 상기 순환 구조를 깨는 단계를 추가로 포함하는, 기계-구현된 방법.
  3. 제 1 항에 있어서,
    각각의 개념에 대해서, 각각의 개념에 대해 참조된 개념들의 맵을 생성하기 위해 상기 개념이 하이퍼링크되는 모든 다른 개념들을 확인하는 단계를 추가로 포함하는, 기계-구현된 방법.
  4. 제 3 항에 있어서,
    사용자로부터 입력을 받는 단계;
    상기 입력에 의해 제시된 제1세트의 개념들을 확인하기 위해 상기 입력을 분석하는 단계; 및
    상기 제1세트의 개념들에 관련된 추가 개념들을 확인하기 위해 상기 참조된 개념들의 맵을 통해 상기 제1세트의 개념들을 참조하는 단계;
    를 추가로 포함하는, 기계-구현된 방법.
  5. 제 1 항에 있어서,
    상기 온라인 텍스트 개념의 데이터베이스는 위키피디아를 포함하는, 기계-구현된 방법.
  6. 제 5 항에 있어서,
    각각의 개념에 대한 페이지 랭크를 결정하기 위해 각각의 개념에 대해 페이지 랭크(Page Rank) 알고리즘을 적용하는 단계를 추가로 포함하는, 기계-구현된 방법.
  7. 제 6 항에 있어서,
    사용자로부터 입력을 받는 단계;
    상기 입력에 의해 제시된 제1 세트의 개념들을 확인하기 위해 상기 입력을 분석하는 단계; 및
    의미 있는 페이지 랭크를 가진 감소된 세트의 개념들을 형성하기 위해 상기 제1 세트 내의 각각의 개념들이 문턱 페이지 랭크 개념을 초과하는지 여부에 따라 상기 제1 세트의 개념들을 감소시키는 단계;
    를 추가로 포함하는, 기계-구현된 방법.
  8. 제 7 항에 있어서,
    각각의 개념에 대해 사용 인기도를 확인하기 위해 상기 데이터베이스에 대한 사용 통계를 분석하는 단계를 추가로 포함하고,
    감소된 세트의 개념들을 형성하기 위해 제1 세트의 개념들을 감소시키는 상기 단계는, 사용 인기도 문턱을 초과하는 사용 인기도를 가진 제1 세트 내의 개념들만이 상기 감소된 세트의 개념들에 속하도록, 상기 사용 인기도 문턱을 상기 제1 세트의 개념들에 적용하는 단계를 추가로 포함하는, 기계-구현된 방법.
  9. 제 2 항에 있어서,
    모든 대문자화되지 않은 문자들을 사용함으로써 각각의 카테고리로부터 문자열을 형성하는 단계;
    동일한 문자열(string)을 가진 카테고리들을 확인하기 위해 상기 모든 카테고리들로부터의 문자열들을 비교하는 단계; 및
    동일한 문자열을 가진 모든 카테고리들을 단일의 대응하는 통합된 카테고리로 통합하는 단계;
    를 추가로 포함하는, 기계-구현된 방법.
  10. 제 5 항에 있어서,
    각각의 개념으로부터 반전된 인덱스를 형성하는 단계를 추가로 포함하는, 기계-구현된 방법.
  11. 제 10 항에 있어서,
    사용자로부터 텍스트 입력을 받는 단계; 및
    상기 텍스트 입력에 관련된 한 세트의 개념들을 확인하기 위해 상기 텍스트 입력 내의 단어들을 상기 반전된 인덱스와 비교하는 단계;
    를 추가로 포함하는, 기계-구현된 방법.
  12. 제 10 항에 있어서,
    상기 관련된 개념들을 포함하는 분류된 카테고리들의 감소된 세트를 확인하기 위해 가장 의미 있는 개념들을 가진 각각의 레벨에 대해 상기 분류된 카테고리들의 세트와 상기 관련된 개념들을 비교하는 단계를 추가로 포함하는, 기계-구현된 방법.
  13. 제 12 항에 있어서,
    사용자의 텍스트 입력에 관련 있는 콘텐츠를 사용자에게 제시하기 위해 상기 분류된 카테고리들의 감소된 세트 및 상기 관련된 개념들의 세트을 사용하는 단계를 추가로 포함하는, 기계-구현된 방법.
  14. 각각의 개념으로부터 참조된 개념들까지의 상기 참조된 개념들과 나머지 모든 개념들 사이의 교차 부분을 확인하여 모든 개념들 사이의 유사-가중된 개념 관계를 결정하기 위해 상기 참조된 개념들의 맵을 분석하는 단계를 추가로 포함하는, 기계-구현된 방법.
  15. 프로그램 명령들이 저장된 컴퓨터로 읽을 수 있는 유형의 매체로서, 하나 이상의 프로세서에 의한 상기 프로그램 명령들의 실행 시 상기 하나 이상의 프로세서는,
    카테고리들 내에 편성된 온라인 텍스트 개념들의 데이터베이스에 대해, 각각의 카테고리에 대해, 상기 카테고리가 제1 개념들을 직접 포함하는 제1레벨 카테고리인 개념들 중 제1 개념들의 개수, 상기 카테고리가 그 다음에 제2 개념들을 포함하는 상기 카테고리들의 다른 카테고리들의 멤버인 제2 개념들을 통해서만 제2 개념들을 포함하는 상기 개념들 중 제2 개념들의 개수, 및 계속해서 상기 카테고리가 제n 레벨 카테고리인 상기 개념들 중 제n 개념들의 개수까지 카운트하는 단계로서, 상기 n은 다원적인 양의 정수이며;
    각각의 카테고리에 대해, 가장 높은 카운트를 가진 레벨을 가진 것으로 상기 카테고리를 분류하는 단계;
    각각의 레벨에서 분류된 각각의 카테고리에 대해, 가장 의미 있는 개념들을 가진 각각의 레벨에 대해 한 세트의 분류된 카테고리들을 결정하기 위해 적어도 상기 카테고리의 개념들의 페이지 랭크에 기초하여 상기 가장 의미 있는 개념들을 가진 분류된 카테고리들을 결정하는 단계;
    를 수행하는, 컴퓨터로 읽을 수 있는 유형의 매체.
  16. 제 15 항에 있어서,
    상기 하나 이상의 프로세서에 의한 상기 프로그램 명령들의 실행 시 상기 하나 이상의 프로세서는,
    각각의 개념에 대해, 각각의 개념에 대한 참조된 개념들의 맵을 생성하기 위해 상기 개념이 링크되는 모든 다른 개념들을 확인하는 단계를 추가로 수행하는, 컴퓨터로 읽을 수 있는 유형의 매체.
  17. 제 16 항에 있어서,
    상기 하나 이상의 프로세서에 의한 상기 프로그램 명령들의 실행 시 상기 하나 이상의 프로세서는,
    사용자로부터 입력을 받는 단계;
    상기 입력에 의해 제시된 제1세트의 개념들을 확인하기 위해 상기 입력을 분석하는 단계; 및
    상기 제1세트의 개념들에 관련된 추가 개념들을 확인하기 위해 상기 참조된 개념들의 맵을 통해 상기 제1세트의 개념들을 참조하는 단계;
    를 추가로 수행하는, 컴퓨터로 읽을 수 있는 유형의 매체.
  18. 각각의 별도의 개념에 관련되고 카테고리들로 배열되는 온라인 텍스트 페이지들의 데이터베이스에 대해, 각각의 개념에 대해, 각각의 개념에 대한 모든 참조된 개념들을 리스트하는 개념 레퍼런스 맵을 생성하기 위해 상기 개념이 하이퍼링크되는 모든 다른 개념들을 확인하는 파서 모듈;
    동일하게 표현되지만(phrased) 다른 텍스트 페이지들에 대응하는 개념들을 리스트하는 상기 데이터베이스 내의 모든 중의해소(disambiguation) 페이지들을 확인하는 중의해소 페이지 추출기 모듈; 및
    중의해소 페이지들을 제거하여 여과된 개념 레퍼런스 맵을 형성하기 위해 상기 참조된 개념들의 맵을 여과하는 중의해소 모듈; 및
    적어도 각각의 개념에 대한 참조된 개념들과 유사-가중된 개념들에 대한 참조된 개념들 사이의 교차부분을 기초로, 각각의 개념에 대해서, 유사-가중된 개념들의 리스트를 확인하기 위해 상기 여과된 개념 레퍼런스 맵을 처리하는 유사도 연산 모듈;
    을 포함하는, 시스템.
  19. 제 18 항에 있어서,
    상기 입력에 관련된 한 세트의 개념들을 확인하기 위해 사용자로부터의 입력을 처리하고, 또한 상기 개념들의 세트에 관련된 한 세트의 개념들을 확인하기 위해 상기 유사-가중된 개념들의 리스트에 대하여 상기 개념들의 세트를 처리하는, 시스템.
  20. 제 18 항에 있어서,
    각각의 카테고리에 대해, 상기 카테고리가 제1 개념들을 직접 포함하는 제1레벨 카테고리인 개념들 중 제1 개념들의 개수, 상기 카테고리가 그 다음에 제2 개념들을 포함하는 상기 카테고리들의 다른 카테고리들의 멤버인 제2 개념들을 통해서만 제2 개념들을 포함하는 상기 개념들 중 제2 개념들의 개수, 및 계속해서 상기 카테고리가 제n 레벨 카테고리인 상기 개념들 중 제n 개념들의 개수까지 카운트하고(여기서, n은 다원적인(plural) 양의 정수임);
    각각의 카테고리에 대해, 가장 높은 카운트를 가진 레벨을 가진 것으로 상기 카테고리를 분류하고;
    각각의 레벨에서 분류된 각각의 카테고리에 대해, 가장 의미 있는 개념들을 가진 각각의 레벨에 대해 한 세트의 분류된 카테고리들을 결정하기 위해 적어도 상기 카테고리의 개념들의 페이지 랭크에 기초하여 상기 가장 의미 있는 개념들을 가진 분류된 카테고리들을 결정하는;
    카테고리 랭크 연산 모듈을 추가로 포함하는, 시스템.
KR1020167001062A 2013-11-27 2014-11-25 온라인 서비스의 지원을 위한 자원 생성 방법 KR101778901B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361910000P 2013-11-27 2013-11-27
US61/910,000 2013-11-27
PCT/US2014/067479 WO2015081131A1 (en) 2013-11-27 2014-11-25 Generating resources for support of online services

Publications (2)

Publication Number Publication Date
KR20160127707A true KR20160127707A (ko) 2016-11-04
KR101778901B1 KR101778901B1 (ko) 2017-09-26

Family

ID=53199616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167001062A KR101778901B1 (ko) 2013-11-27 2014-11-25 온라인 서비스의 지원을 위한 자원 생성 방법

Country Status (6)

Country Link
US (1) US9646099B2 (ko)
EP (1) EP3074890A4 (ko)
JP (1) JP6440733B2 (ko)
KR (1) KR101778901B1 (ko)
CN (1) CN105378729A (ko)
WO (1) WO2015081131A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11610248B1 (en) * 2019-06-19 2023-03-21 Amazon Technologies, Inc. Type ambiguity detection system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415283B1 (en) * 1998-10-13 2002-07-02 Orack Corporation Methods and apparatus for determining focal points of clusters in a tree structure
US8229957B2 (en) * 2005-04-22 2012-07-24 Google, Inc. Categorizing objects, such as documents and/or clusters, with respect to a taxonomy and data structures derived from such categorization
US20070027772A1 (en) * 2005-07-28 2007-02-01 Bridge Well Incorporated Method and system for web page advertising, and method of running a web page advertising agency
CN1794240A (zh) * 2006-01-09 2006-06-28 北京大学深圳研究生院 基于自然语言理解的计算机信息检索系统及其检索方法
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US7860855B2 (en) * 2007-02-13 2010-12-28 Sap Ag Method and system for analyzing similarity of concept sets
KR20130001726A (ko) * 2010-02-19 2013-01-04 톰슨 라이센싱 개선된 콘텐츠 검색
US8595234B2 (en) * 2010-05-17 2013-11-26 Wal-Mart Stores, Inc. Processing data feeds
US8725739B2 (en) * 2010-11-01 2014-05-13 Evri, Inc. Category-based content recommendation
CN102129479B (zh) * 2011-04-29 2013-01-02 南京邮电大学 一种基于概率潜在语义分析模型的万维网服务发现方法

Also Published As

Publication number Publication date
KR101778901B1 (ko) 2017-09-26
EP3074890A1 (en) 2016-10-05
US9646099B2 (en) 2017-05-09
JP6440733B2 (ja) 2018-12-19
US20160026723A1 (en) 2016-01-28
WO2015081131A1 (en) 2015-06-04
JP2016538676A (ja) 2016-12-08
CN105378729A (zh) 2016-03-02
EP3074890A4 (en) 2017-09-06

Similar Documents

Publication Publication Date Title
US10002330B2 (en) Context based co-operative learning system and method for representing thematic relationships
US9864808B2 (en) Knowledge-based entity detection and disambiguation
US10146862B2 (en) Context-based metadata generation and automatic annotation of electronic media in a computer network
CA2470864C (en) Information resource taxonomy
US20110264997A1 (en) Scalable Incremental Semantic Entity and Relatedness Extraction from Unstructured Text
CN110232126B (zh) 热点挖掘方法及服务器和计算机可读存储介质
Rosaci Finding semantic associations in hierarchically structured groups of Web data
US20120239657A1 (en) Category classification processing device and method
Wang et al. On publishing chinese linked open schema
WO2012091541A1 (en) A semantic web constructor system and a method thereof
Spahiu et al. Topic profiling benchmarks in the linked open data cloud: Issues and lessons learned
KR101778901B1 (ko) 온라인 서비스의 지원을 위한 자원 생성 방법
Moumtzidou et al. Discovery of environmental nodes in the web
Tourné et al. Evaluating tag filtering techniques for web resource classification in folksonomies
Kotenko et al. The intelligent system for detection and counteraction of malicious and inappropriate information on the Internet
KR20140135100A (ko) 시맨틱 매쉬업 기술을 이용한 프로그램 제공 방법
Lalitha et al. Potential Web Content Identification and Classification System using NLP and Machine Learning Techniques
Singhal et al. Leveraging web resources for keyword assignment to short text documents
Saikumar et al. A Lite-SVM Based Semantic Search Model for Bigdata Analytics in Smart Cities
Campos et al. Extracting Context Data from User Reviews for Recommendation: A Linked Data Approach.
Al-Hamami et al. Development of an opinion blog mining system
Ajitha et al. EFFECTIVE FEATURE EXTRACTION FOR DOCUMENT CLUSTERING TO ENHANCE SEARCH ENGINE USING XML.
Arora et al. Survey on different ranking algorithms along with their approaches
Al-Jarrah et al. Resolving conflict of interests and recommending expert reviewers for academic publications using linked open data
Caraballo et al. DRX: A LOD dataset interlinking recommendation tool

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant