KR101114023B1 - 확장형 문서 검색을 위한 콘텐츠 전파 - Google Patents

확장형 문서 검색을 위한 콘텐츠 전파 Download PDF

Info

Publication number
KR101114023B1
KR101114023B1 KR1020050031308A KR20050031308A KR101114023B1 KR 101114023 B1 KR101114023 B1 KR 101114023B1 KR 1020050031308 A KR1020050031308 A KR 1020050031308A KR 20050031308 A KR20050031308 A KR 20050031308A KR 101114023 B1 KR101114023 B1 KR 101114023B1
Authority
KR
South Korea
Prior art keywords
documents
relevance
delete delete
search
instructions
Prior art date
Application number
KR1020050031308A
Other languages
English (en)
Other versions
KR20060045743A (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 KR20060045743A publication Critical patent/KR20060045743A/ko
Application granted granted Critical
Publication of KR101114023B1 publication Critical patent/KR101114023B1/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/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/328Management therefor
    • 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/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Abstract

확장형 문서 검색을 위한 컴퓨터-구현형 콘텐츠 전파(computer-implemented content propagation)를 제공하는 시스템 및 방법이 개시된다. 일 양상에 있어서, 하나 이상의 문서에 관한 참조 정보가 식별된다. 이러한 참조 정보는 상기 하나 이상의 문서를 포함하고 있는 데이터 소스와 무관한 하나 이상의 데이터 소스들로부터 식별된다. 그와 같은 참조 정보 근처에 위치한 메타데이터가 상기 하나 이상의 데이터 소스로부터 추출된다. 메타데이터에 있어서의 각 특징들과 상기 하나 이상의 문서들 중 관련 문서의 콘텐츠 간의 관련도(relevance)가 계산된다. 상기 하나 이상의 문서들 중 각 문서마다, 메타데이터의 관련 부분들이 그 각 부분의 특징들의 상기 관련도와 함께 해당 문서의 원래 콘텐츠로 인덱싱된다. 이러한 인덱싱은 하나 이상의 확장형 문서를 생성해낸다.
Figure R1020050031308
확장형 문서, 검색, 콘텐츠 전파, 메타데이터, 인덱싱

Description

확장형 문서 검색을 위한 콘텐츠 전파{CONTENT PROPAGATION FOR ENHANCED DOCUMENT RETRIEVAL}
도면에서, 구성 요소 도면 부호의 가장 좌측 자리 숫자는 그 구성 요소가 처음으로 나타난 도면을 표시한다.
도 1은 확장형 문서 검색을 위하여 콘텐츠 전파를 제공하는 예시적 시스템을 도시한 도면,
도 2는 확장형 문서 검색을 위하여 콘텐츠 전파를 제공하는 예시적 프로시저를 도시한 도면,
도 3은 확장형 문서 검색을 위하여 콘텐츠 전파를 제공하는, 이하 기술되는 시스템, 장치 및 방법이 전체적으로 또는 부분적으로 구현될 수 있는데 적합한 예시적인 컴퓨팅 환경을 도시한 도면,
도 4는 클러스터링을 위하여 이용될 수 있는 컴퓨터 환경의 일 실시예에 관한 블록도,
도 5는 이종 객체들을 클러스터링하기 위한 프레임워크의 일 실시예를 도시한 블록도,
도 6은 하이브리드 네트워크 모델(hybrid net model)에 관한 일 실시예를 도시한 블록도,
도 7은 인터넷으로 연결된 또 다른 예시적 컴퓨터 환경을 도시한 블록도,
도 8은 클러스터링 알고리즘의 일 실시예에 관한 흐름도,
도 9는 클러스터링 알고리즘의 일 실시예에 관한 흐름도,
도 10은 숨은 계층을 포함하는 이종 객체들을 클러스터링하기 위한 프레임워크의 또 다른 실시예를 도시한 블록도,
도 11은 클러스터링 알고리즘의 또 다른 실시예에 관한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
102: KB 호스팅 서버(들) 124: 메타데이터 추출
126: KBARI 128: 메타데이터
132: 검색 제공자 118: 원래의 KB 기사(들)
120: 확장형 KB 기사(들)
본 특허 출원은 "Reinforced Clustering of Multi-Type Data Objects for Search Term Suggestion"이라는 제목으로 2004년 4월 15일에 출원된 미국 특허출원 및 "Object Clustering Using Inter-Layer Links"라는 제목으로 2003년 1월 5일에 출원된 미국 특허출원 제10/427,548호와 관련되며, 상기 특허 출원 각각은 본 출원과 함께 본 출원의 양수인에게 함께 양도된 것으로서, 참조로써 본 명세서에 포함된다.
본 발명의 구현 내용은 데이터마이닝에 관한 것이다.
오늘날 첨단 기술 기업들은 일반적으로 소비자와 경영자가 그 기업의 기술 투자에 대해 최대의 가치를 얻을 수 있음을 확실히 하기 위하여 몇 가지 양상의 제품 지원(product support)을 제공한다. 예컨대, 소비자와 경영자의 요구 사항 충족에 도움이 되도록 다양한 소비자 및 비즈니스 지원 제공 및 전략적 IT 컨설팅 서비스가 제공될 수 있다. 지원 제공은 전화 지원, 현장 지원, 웹-기반형 지원 등이 있을 수 있다. 불행히도, 제품 지원 서비스는, 재정적 비용의 측면뿐만 아니라 솔루션을 찾아내는데 필요한 시간의 측면에서도 감당할 수 없을 만큼의 고비용이 될 수 있다. 예컨대, 현장 컨설팅 서비스는 일반적으로 매우 비용이 많이 들어서 기업이 아닌 대부분의 소비자들은 개별적으로 제품 컨설턴트나 수리 담당자를 고용할 수가 없다.
또한, 서비스가 자동화되는 경우, 예컨대 제품의 "사용법" (도움말) 및 수리 기사들을 포함한 지식 베이스의 온라인 검색을 통하여 서비스가 자동화되는 경우, 현재 문제되는 기사 집합을 소비자가 식별해내는데 걸릴 수 있는 시간이 감당할 수 없는 수준이 될 수 있다. 그 한 가지 이유는, 지식 베이스의 제품 수리 기사들이 일반적으로, 지원을 필요로 하는 해당 제품의 일상적 사용자가 아닌 전문적 필자, 벤더 등에 의하여 작성되기 때문이다. 이러한 경우, 사용자가 지식 베이스(KB; knowledge base) 콘텐츠 생성자(들)에 의하여 채택된 용어를 이용해서 검색 질의(search query)를 구성하지 않을 경우, 그 사용자로서는 현재 문제되는 임의의 지식 베이스 수리 정보를 찾아내는 것이 매우 어렵고 시간을 많이 소모하는 일이 될 것이다.
확장형 문서 검색을 위한 컴퓨터-구현형 콘텐츠 전파(computer-implemented content propagation)를 제공하는 시스템 및 방법이 개시된다. 일 양상에 있어서, 하나 이상의 문서에 관한 참조 정보가 식별된다. 이러한 참조 정보는 상기 하나 이상의 문서를 포함하고 있는 데이터 소스와 무관한 하나 이상의 데이터 소스들로부터 식별된다. 그와 같은 참조 정보 근처에 위치한 메타데이터가 상기 하나 이상의 데이터 소스로부터 추출된다. 메타데이터에 있어서의 각 특징들과 상기 하나 이상의 문서들 중 관련 문서의 콘텐츠 간의 관련도(relevance)가 계산된다. 상기 하나 이상의 문서들 중 각 문서마다, 메타데이터의 관련 부분들이 그 각 부분의 특징들의 상기 관련도와 함께 해당 문서의 원래 콘텐츠로 인덱싱된다. 이러한 인덱싱은 하나 이상의 확장형 문서를 생성해낸다.
개관
KB 기사는 고객이 "사용법" (도움말) 기사를 찾는 것을 돕기 위하여, 제품에 발생한 문제를 해결(수리)하기 위하여, 그리고/또는 이와 달리, 제품 개발을 위하여 작성된다. 최종 사용자가 고객의 질문을 직접적으로 다루고 있는 현재 문제가 된 KB 기사를 검색하고 획득하는 것이 더 쉬워질수록, 그 제품 및 그와 관련된 지원 인프라구조에 대한 고객의 만족이 더욱 커진다는 연구가 있다. 이러한 점에서, 다음 기술되는 시스템 및 방법은 여러 데이터 소스에 걸쳐 저장되어 있는 정보를 분석하여 KB 기사 관련 정보(KBARI; KB article related information)의 위치를 파악함으로써 콘텐츠 전파와 확장형 문서 검색을 제공한다. 그 데이터 소스에는, 예컨대 서비스 요구 저장소(service request storage repositories), 온라인 제품 및 개발자 지원 그룹 뉴스그룹 포스팅(online product and developer support group newsgroup postings), 검색 질의 클릭-스루 로그(search query click-thru log) 등이 포함된다.
KBARI에는, 예컨대 실질적으로 고유한 PS 문서(즉, KB 기사) ID, 특정 PS 기사(들)에 대한 하이퍼텍스트 링크, 특정 PS에 대한 URI(Universal Resource Identifier), 문서 제목 등이 포함된다. KBARI가 제품 서비스 요구(들) 및/또는 제품 개발자 지원 뉴스그룹에 의한 포스팅 중에서 발견되는 경우에는, 그 KBARI 근처의 텍스트가, 그 KBARI에 의하여 참조되는 PS/수리 기사(들)에 대해 의미상 및/또는 구문상 중요한 정보를 포함할 가능성이 있다. 그리고 그와 같은 텍스트는 (제품 문서화를 담당한 전문적 필자나 벤더에 의해서만이 아니라) 실제 문제 해결 시나리오에 있어서 최종 사용자 및/또는 제품 지원 서비스(PSS; product support service) 엔지니어(들)에 의하여 생성된 것일 수 있다.
예컨대, 서비스 요구(들)에 관한 PSS 로그에 속한 SR(service request)은 처음에 최종 사용자가 PSS 엔지니어에게 제출한 정보를 포함한 보존 문서(archived document)(예컨대, 하나 이상의 관련 이메일)이다. 즉, SR은 수리 시나리오 등과 같은 제품 관련 질문을 PSS 엔지니어에게 전달한다. 일반적으로 PSS 엔지니어가 그 SR에 응답한다. SR이 완결되기 이전에, PSS 엔지니어는 다음의 정보, 즉 제품, 해결된 문제점, 문제의 증상(예컨대, 동작과 결과), 원인, 및/또는 해결책에 관한 소정의 조합을 분명하게 식별할 수 있도록 SR 요약(summary)을 작성한다. 그러므로, SR은 KB 기사(106)에 대한 실질적으로 중요한 참조 및/또는 실제 문제 해결 시나리오에서 최종 사용자와 PSS 엔지니어에 의하여 생성된 제품 관련 정보를 보유할 수 있는 데이터를 포함한다.
뉴스그룹 포스팅과 관련하여, 엔티티 및 기업들은 대개 제품 및/또는 개발자 관련 뉴스그룹을 호스팅하여 최종 사용자에게 제품 개발 및 수리 이슈를 온라인 상에서 논의할 기회를 제공한다. 예컨대, 최종 사용자가 특정 제품에 관한 문제에 부딪힌 경우, 그 사용자는 그 문제를 밝히고 도움을 요구하는 대응 기사를 서버에 포스팅할 수 있다. 그와 같은 시나리오에서는, 해당 제품에 관한 애호가 및/또는 서비스 전문가 등을 비롯한 뉴스그룹 독자들이 그 요구에 대한 답을 포스팅할 수 있다. 소정의 서비스 요구와 관련하여, 뉴스그룹 포스팅에 직접적으로 또는 구문상 하나 이상의 KB 기사와 관련된 콘텐츠(예컨대, 링크, 참조 등)가 포함될 수 있다. 소정의 포스팅이 소정의 KB 기사를 참조하는 경우, 그와 같은 포스팅은 그 KB 기사에 관하여 잠재적으로 유용한 메타데이터를 제공한다.
질의 로그(들)와 관련하여, 최종 사용자는 종종 검색 엔진에 대해 (예컨대, 웹 사이트를 통해서) 특정 제품(들), 제품 작동 상태 수리 등에 관한 KB 기사(들)를 찾는 검색 질의를 제출한다. 서버, 예컨대 그 검색 엔진 및/또는 KB 데이터베이스를 호스팅하는 서버는 그 최종 사용자 질의와 최종 사용자에 의한 임의의 후속 적 클릭-스루 동작(들)을 기록한다. 소정의 질의가 소정의 KB 기사와 매우 빈번하게 관련되는 경우, 그 질의는 그 KB 기사를 위한 양질의 메타데이터일 가능성이 높다.
복수의 데이터 소스로부터 유래한 그와 같은 의미상 및/또는 구문상 관련 정보를 활용하기 위하여, 본 시스템과 방법은 그 위치를 알아낸 KBARI 근처의(예컨대, 이를 둘러싼) 텍스트를 추출한다. 그 추출된 텍스트를 분석하여 연관된 PS 기사(들)에 관한 특징 (키워드) 중요도 가중치(feature (keyword) importance weighting value)를 생성한다. (추출된 텍스트는 그 텍스트가 근접해 있는 KBARI에 의하여 표시되는 PS 기사(들)와 연관된다). 그 추출된 텍스트(이하에서는 "메타데이터"라고 부른다) 및 대응하는 특징 중요도 가중치가 연관된 PS 기사(들)의 원래 콘텐츠로 인덱싱되어 새로운, 즉 확장형 PS 기사(들)를 생성한다. 이러한 구현에 있어서, 원래의 PS 기사와 확장형 PS 기사 사이에는 일대일 대응 관계가 존재한다. 예컨대, 확장형 각 PS 기사마다 대응하는 비확장형, 즉 원래의 PS 기사가 존재한다. 또 다른 구현 예에서는, 그와 같은 일대일 대응 관계가 존재하지 않고, 원래의 PS 기사가 확장형 PS 기사로 교체될 수 있다.
최종 사용자로부터의 검색 질의 수신에 응답하여, 확장형 문서 검색을 위해서 콘텐츠 전파를 제공하는 본 시스템 및 방법은 그 검색 질의를 구성하는 용어(들)를 포함하는 임의의 PS 기사(들)(원래의 기사 및/또는 확장형 기사)를 검색해낸다. 검색된 원래의 PS 기사 및/또는 개선된 PS 기사의 관련도는 질의 용어 근접도와 인기도 기준에 따라 결정된다. 그 다음, 그 검색 결과가 이들 관련도 스코어에 따라 랭킹이 매겨진다. 최종 사용자에게 반환되는 문서의 관련도를 명확하게 제시하기 위하여 그 검색 결과로부터 발췌문들이 생성된다. 그 발췌문과 함께, 상기 랭킹 결과가 최종 사용자에게 전달된다.
일 구현에 있어서, 확장형 문서 검색을 위하여 콘텐츠 전파를 제공하는 시스템 및 방법은 또한 자동 PS 기사 생성을 위하여 새로운 PS 콘텐츠 식별(identification)을 조성한다. 확장형 문서 검색을 위하여 콘텐츠 전파를 제공하는 본 시스템 및 방법에 관한 이와 같은 특징 및 기타 다른 특징들에 관하여 이제부터 보다 상세히 기술할 것이다.
예시적 시스템
도면을 참조하면, 비슷한 참조번호는 비슷한 구성 요소를 나타내고 있으며, 본 발명에 따른 시스템 및 방법이 적합한 컴퓨팅 환경에서 구현되는 것으로 개시 및 도시되어 있다. 반드시 필요한 것은 아니지만, 본 시스템 및 방법은 일반적인 컴퓨터 실행가능 명령어, 예컨대 PC에 의하여 실행되는 프로그램 모듈 등의 문맥에서 기술되고 있다. 프로그램 모듈은 일반적으로 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 구성 요소, 데이터 구조 등을 포함한다. 본 시스템 및 방법이 전술한 바와 같은 문맥에서 기술되어 있지만, 이하에서 개시되는 행위와 동작들은 하드웨어로도 구현할 수 있다.
도 1은 확장형 문서 검색을 위하여 콘텐츠 전파를 제공하는 예시적인 시스템(100)을 도시하고 있다. 본 실시예에서, 시스템(100)은 네트워크(104)를 통하여 KB 기사(106)(데이터베이스) 데이터 소스(108-114)에 연결된 KB 호스팅 서버(들 )(102)와, 클라이언트 컴퓨팅 장치(116)를 포함한다. 네트워크(104)는 사무실, 기업 컴퓨터 네트워크, 인트라넷, 및 인터넷 등에서 흔한 일반적 WAN 및 LAN 통신 환경의 임의의 조합을 포함한다. KB 호스팅 서버(102)는 데이터 소스들(108-114)에 걸쳐 저장되어 있는 정보를 마이닝하고, 그 정보를 원래의 KB 기사(118)에 추가하여 새로운, 즉 확장형 KB 기사(120)를 만들어낸다. 본 실시예에서, 데이터 소스(108-114)에는, 예컨대 서비스 요구(들)(108), 뉴스그룹 포스팅(들)(110), 질의 로그(들)(112) 및/또는 기타 데이터 소스(들)(114)가 포함된다. 클라이언트 컴퓨팅 장치(116)의 최종 사용자로부터 KB 관련 검색 질의(122)를 수신함에 응답하여, KB 호스팅 서버(102)는 검색 질의(122)를 구성하는 용어(들)를 포함하는 원래의 KB 기사(들)(118) 및/또는 확장형 KB 기사(들)(120)를 검색한다. 클라이언트 컴퓨팅 장치(116)는 PC, 랩톱, 서버, 이동 컴퓨팅 장치(예컨대, 셀룰러 폰, PDA, 또는 핸드헬드 장치) 등과 같은 임의의 타입의 컴퓨팅 장치이다.
복수의 데이터 소스로부터 PS 문서 링크, ID 등을 마이닝
보다 구체적으로, KB 호스팅 서버(들)(102)의 메타데이터 추출 모듈(124)은 데이터 소스들(108-114)에 걸쳐 저장되어 있는 정보를 마이닝하여 KB 기사(106) 중 각각의 기사에 관련된 정보를 식별한다. 예시와 논의를 위하여, 이와 같이 식별된 정보를 KB 기사 관련 정보(KBARI)(126)라고 부른다. KBARI(126)는, 예컨대 실질적으로 고유한 KB 기사 ID(예컨대, GUID)와, 특정 KB 기사(들)에 대한 하이퍼텍스트 링크와, 특정 KB 기사(들)에 대한 URI(들) 등을 포함한다. 메타데이터 추출 모듈(124)이 PSS로부터의 서비스 요구(들)(108) 및/또는 제품 개발자 지원 뉴스그룹의 뉴스그룹 포스팅(110)에서 KBARI(126)의 위치를 알아내면, 그 KRARI(126) 근처의 텍스트가 그 KBARI(126)에 의하여 참조되는 원래의 KB 기사(들)(118)에 대해 의미상 그리고/또는 문맥상 중요한 정보를 포함할 가능성이 높다. 예컨대, 그와 같은 텍스트에는 기사 제목, 기사 키워드, 제품 문제점 기술 및 해결책 데이터 등이 포함될 수 있다. 또한, 그와 같은 텍스트는 제품 문서화를 담당한 전문적 필자나 벤더에 의해서만이 아니라 실제 문제 해결 시나리오에 있어서 최종 사용자 및/또는 PSS 엔지니어(들)에 의해서 생성된 것일 수도 있다.
특징 추출 및 중요도 가중화
데이터 소스(들)(108-114)로부터의 의미상 및/또는 구문상 관련된 KB 기사 정보를 활용하기 위하여, 메타데이터 추출 모듈(124)은 위치를 알아낸 KBARI(126) 근처의(예컨대, 이를 둘러싼) 텍스트를 추출해낸다. 설명을 위해서, 그와 같이 추출된 텍스트를 메타데이터(128)라고 표시한다. 검색 질의(122)를 구성하는 용어에 실질적으로 가장 많이 관련된 KB 기사(들)(106)를 최종 사용자에게 제공하기 위해서, 메타데이터 추출 모듈(124)은 메타데이터(128)를 분석하여 KB 기사(들)(106) 중 연관된 기사에 관한 특징 중요도(관련도) 가중치를 생성한다. (추출된 메타데이터(128)는 대응하는 KBARI(126)에 의해서 표시된 KB 기사(들)(106)와 연관된다).
보다 구체적으로, 메타데이터 추출 모듈(124)은 풀(full) 텍스트 검색 기법을 이용해서 메타데이터(128)의 각 특징들에 대해 상이한 관련도 가중치를 할당한다. 본 실시예에서는, 서비스 요구(108)에 관하여, 다른 서비스 요구 정보, 예컨대 문제 해결책 등의 정보에 할당된 가중치에 비하여 제목과 증상에 대해 더 큰 가 중치가 할당된다. 이는 사용자가 문제 해결책 정보보다는 문제의 증상으로 검색 질의를 구성할 가능성이 높기 때문이다. 또한, 특징 가중화는 특정한 KB 기사 참조(즉, KBARI(126)의 각 부분)가 그 문맥 안에서 식별된 횟수를 반영하거나, 참조 연령(reference age)의 함수 등일 수 있다. 그와 같은 특징 가중화는 또한 뉴스그룹 포스팅(들)(110)에도 적용된다.
질의 로그(들)(112)로부터 추출된 메타데이터(128)와 관련하여, 메타데이터 추출 모듈(124)은 먼저 다음의 정보, 즉 (a) 최종 사용자들에 의하여 KB 기사(106)를 검색하기 위해서 자주 작성된 검색 질의, (b) 뒤이어 선택된 KB 기사(106) 및/또는 (c) 그 선택된 기사에 관련된 임의의 기타 KB 기사(106)로 이루어진 소정의 조합을 식별함으로써 특징 분석과 가중화를 수행한다. 그 다음 메타데이터 추출 모듈(124)은 유사한 질의들로 이루어진 클러스터(질의 클러스터) 및 관련된 KB 기사들(106)로 이루어진 클러스터(즉, 기사 클러스터)를 생성함으로써 (a), (b) 및/또는 (c)와 연관된 희소(sparse) 클릭-스루 데이터를 처리(addressing)한다. 희소 클릭-스루 데이터는 대개 사용자가 검색 엔진으로부터 반환된 문서들 중 적은 수(예컨대, 하나 또는 둘)의 문서를 선택(즉, 클릭-스루)한 경우 발생한다. 설명을 위하여, 질의 클러스터(들) 및 기사 클러스터(들)가 또한 "기타 데이터"(130)의 각 부분(들)으로 표시된다. 유사한 질의들로 이루어진 클러스터와 관련 KB 기사로 이루어진 클러스터를 형성하기 위한 클러스터링 기법의 예는 이하의 부록 A(제목 "이종 객체들에 대한 예시적 클러스터링")에 더욱 상세히 개시되어 있다.
메타데이터(128)의 가중화된 특징들을 유지 및 관리하기 위하여, 메타데이터 추출 및 분석 모듈(124)은 메타데이터(128) 및 대응하는 특징 중요도 가중값(들)을 연관된 원래의 KB 기사(들)(118)의 원래의 콘텐츠로 인덱싱하여 새로운, 즉 확장형 KB 기사(들)(120)를 생성한다. (메타데이터(128)는 하나 이상의 각 KB 기사(들)(106)를 보충할 수 있도록 결정된, 하나 이상의 데이터 소스(108-114)로부터 마이닝된 데이터를 포함한다는 점을 상기하자). 본 실시예에 있어서는, 메타데이터(128)의 가중화된 특징들에 태그를 부착하여, 이 인덱스의 콘텐츠를 참조 및 검색하는데 XML 등의 마크업 언어를 이용할 수 있다. 일 실시예에서, 메타데이터(128)는 확장형 KB 기사(120) 내에서 반전된 인덱스로 인덱싱된다. 본 실시예에서는, 확장형 KB 기사(120)와 원래의 KB 기사(118) 사이에는 일대일 대응 관계가 있다. 예컨대, 각각의 확장형 KB 기사(120)마다, 대응하는 하나의 비확장형, 즉 원래의 KB 기사(118)가 존재한다. 이러한 일대일 대응 관계는 원래의 KB 기사들(118)로 이루어진 적어도 하나의 부분집합이 대응하는 하나의 확장형 KB 기사(120)를 가질 것임을 의미한다. 또 다른 실시예에서는, 그와 같은 일대일 대응 관계가 존재하지 않는다. 예컨대, 원래의 KB 기사(118)가 확장형 KB 기사(120)와 교체될 수 있다.
확장형 KB 기사 검색
검색 제공자(132)는 클라이언트 컴퓨팅 장치(116)의 최종 사용자로부터 KB 관련 검색 질의(122)를 수신한다. 검색 질의(122)를 이루는 용어(들)는 제품 조사 또는 수리 문의와 관련된다. 일 실시예에서, 검색 질의(122)는 XML로 구체화된 정보를 포함한다. 최종 사용자는 다종다양한 가능한 응용 프로그램(들)(134) 중 임의의 것을 이용하여 네트워크(104)를 통해 KB 호스팅 서버(들)(102)로 검색 질의 (122)를 전송한다. 그러한 응용 프로그램(들)(134)에는, 예컨대 웹 브라우저, 워드 프로세서, 이메일 및/또는 기타 다른 타입의 컴퓨터 프로그램 응용 프로그램(들)이 포함된다.
본 실시예에서, 검색 제공자(132)는 KB 호스팅 서버(102) 및 검색 엔진 기능성에 대해 원격의 응용 프로그램 엔트리 포인트를 제공한다. 이 엔트리 포인트는 KB 서버(102)와, 응용 프로그램(들)(134)의 다양한 아키텍처 구현 예들 중 임의의 것 사이의 통신을 가능하게 한다. 예컨대, 일 실시예에서, 엔트리 포인트는 웹 브라우저로 구현된 응용 프로그램(134)으로부터 전달되는 HTTP(Hypertext Transfer Protocol) 명령어를 지원한다. 또 다른 실시예에서, 엔트리 포인트는 SOAP(Simple Object Access Protocol) 등의 XML-기반형 메시지 교환 프로토콜을 지원한다. 응용 프로그램(들)(134)과 검색 제공자(132) 사이에서 필요로 되는 특정 타입의 통신 지원의 함수에 따라 기타 다른 엔트리 포인트 구현도 가능하다.
검색 질의(122) 수신에 응답하여, 검색 제공자(132)는 "기타 데이터"(130)의 각 부분으로서 도시되어 있는 스키마에 따라 검색 질의(122)의 데이터 포맷을 파싱하여 시행한다. 일 실시예에 있어서, 그와 같은 스키마는, 예컨대 클라이언트 컴퓨팅 장치(116)에 의해서 KB 호스팅 서버(102)로 업로드된다. 그 다음, 검색 제공자(132)는 KB 기사들(106)에 대해 풀-텍스트 검색을 수행하여 관련된 원래의 KB 기사(들)(118) 및/또는 확장형 KB 기사(들)(120)를 식별 및 검색한다. 설명과 논의를 위하여, 그와 같이 검색된 문서는 “기타 데이터”(130)의 각 부분으로 도시되어 있다.
검색된 문서 관련도 및 랭킹 동작
다음으로, 그 검색된 문서들의 관련도가 질의 용어 근접도 및 인기도 기준에 따라 결정된다. 용어 근접도와 관련하여, KB 기사(106)를 검색하기 위한 검색 질의(122)의 길이가 다른 유형의 질의(예컨대, 일반적인 웹 검색을 위하여 모델링된 질의)보다 더 길 수 있다. 이는 일반적으로 제품 수리 및/또는 조사 문의를 기술하는데 더 많은 단어/용어가 사용되기 때문이다. 이러한 점에서, 더 많은 용어를 포함할 수 있는 질의들에 있어서 되도록 많은 질의 용어 부분을 커버하는 KB 기사(106)를 찾아내기 위하여, 검색 제공자(132)는 용어 근접도를 이용해서 그 검색 질의(122)에 포함된 용어들을 가중화한다. 근접도 값은 다음과 같이 커브에 의해 풀-텍스트 검색 모듈에 의하여 출력된 유사도 값을 위한 가중화 인자로 변환된다.
Figure 112005019641459-pat00001
여기서, proximity는 근접도이고, α, β는 검색 질의(122)의 각 부분에 대한 상대적 가중치를 제어하기 위해서 구성된 파라미터이다. Hit 파라미터는 검색 질의(122)의 전체 모든 용어들에 대하여 그 검색 질의(122)를 구성하는 용어들이 문서 내에 존재할 퍼센티지를 나타낸다. EditDistance 파라미터는 질의와 문서 사이의 "오어순(misorder)"의 측정을 나타낸다. "오어순"이라는 용어와 관련하여, 예컨대 질의가 키워드 "information retrieval and data mining"을 포함하고, 문서는 "retrieval information and mining from data"를 포함하는 경우를 생각해볼 수 있 다. 이 예에서는 키워드 "information"과 "retrieval", 그리고"data"와 "mining"의 어순이 바뀌어 있다. 이를 해결하기 위하여, 질의와 대응 문서 간 유사도를 계산할 때 오어순의 키워드에 대해서는 페널티를 부여한다. 설명을 위하여, 용어 근접도 및 유사도 값이 "기타 데이터"(130) 내에 "관련도 스코어"라고 표시되어 있다.
검색 제공자(132)는 검색된 문서들에 대해, 관련도 스코어에 기초한 질의 용어 근접도에 따라, 그리고 그 식별된 문서(들)의 인기도에 따라, 랭킹을 부여한다. 일 실시예에서는, 식별된 KB 기사들(106)의 연령을 결정하고, 보다 최근의 기사(106)를 오래된 KB 기사(106)보다 "더 인기있는" 것으로 하여 더 큰 가중치를 할당함으로써 이를 달성한다. KB 기사(106)의 인기도를 결정하기가 매우 곤란한 또 다른 실시예에서는, 식별된 KB 기사(들)(106)의 인기도가 서비스 요청(들)(108) 및/또는 뉴스그룹 포스팅(들)(110)에 걸쳐 기사(들)가 참조된 횟수의 함수로써 결정된다. 기사가 참조된 횟수가 많을수록, 기사의 인기도가 커지고 그만큼 많은 횟수 참조되지 않은 기사에 비해 더 높게 랭킹된다. 뉴스그룹 포스팅(110)과 관련해서, KB 기사(106)의 인기도는 기사 참조의 빈도 및/또는 그 뉴스그룹에서 소정의 뉴스그룹 포스터 보급도(prevalence) 판정(특정 사용자가 많은 기사를 포스팅할수록, 그 사용자의 보급도가 높아짐)의 함수이다.
참조의 빈도가 적은 비교적 새로운 KB 기사(106)는 상대적으로 적은 인기도를 나타낼 것이다. 그러나 그 새로운 기사가 최종 사용자에게 매우 중요한 것일 수 있다. 따라서, 일 실시예에서, 검색 제공자(132)는 참조의 빈도와 연령의 인자 들을 결합하고, 다음과 같이 서로 다른 연령을 갖는 KB 기사들에 대해 인기도를 정규화한다.
Figure 112005019641459-pat00002
popularity는 인기도이고, I ref 는 참조 빈도에 의한 중요도를 나타낸다(참조 빈도가 높을수록, 결과적으로 중요도 값이 더 높다). I age 는 생성된 시각(released time)(기사의 연령)의 중요도를 나타낸다. 파라미터 α 및 β는 참조 빈도로부터의 중요도와 생성된 시각의 중요도 사이의 상대적 가중화를 나타내며, 이는 사전 지식에 의해서 지정될 수도 있고 그리고/또는 트레이닝 데이터로부터 학습될 수도 있다. KB 기사(106)가 새로울수록, 계산된 기사 중요도도 더 높다.
Figure 112005019641459-pat00003
검색 질의(122)를 구성하는 용어(들)를 포함하는 KB 기사(들)(106) 검색 결과는 계산된 중요도 값(각각은 "기타 데이터"(130)의 각 부분(들)으로 표시됨)의 함수에 따라 관련도가 있는 것으로 간주되거나, 랭킹이 부여된다.
검색 결과 발췌문 작성/강조
일 실시예에서, 최종 사용자들에게 제시되는 질의-관련 정보를 실질적으로 최대화하기 위하여, 검색 제공자(132)는 최상위에 랭킹된 하나 이상의 검색 문서에 대한 발췌문을 작성하여 최종 사용자에게 검색된 문서의 관련도가 검색 질의(122) 의 용어(들)와 관련된다는 점을 명백하게 표시[즉, 최종 사용자에게 식별된 소재(기사(들))가 얼마나 검색 질의(122)의 용어(들)과 관련되는지를 명백하게 표시]한다. 예시적 목적으로, 발췌문(들)이 기타 데이터(130)의 각 부분(들)으로 표현되어 있다. 발췌문을 작성하기 위해서, 검색 제공자(132)는 검색 질의(122)와 관련된 것으로 판정된 검색 KB 기사(106)에서 발췌문을 위한 하나 이상의 블록을 찾아내고, 그 하나 이상의 블록에 있어서 그 검색 질의(122)에 속한 임의의 용어를 강조한다. 검색 제공자(132)는 그 검색된 문서의 각 부분에 적용되는 구성 가능한 크기의 윈도우를 슬라이딩하여 그 하나 이상의 블록을 식별한다. 일 실시예에서, 슬라이딩 윈도우의 크기는 클라이언트 컴퓨팅 장치(116) 상에서 발췌문 디스플레이에 이용 가능한 UI 스페이스의 함수이다.
검색된 KB 기사(106)의 일부에 대해 그 슬라이딩 윈도우를 적용할 때마다, 검색 제공자(132)는 슬라이딩 윈도우로써 표시되는 텍스트가 보유한 질의-관련 정보의 양을 측정한다. 이러한 측정치가 "기타 데이터"(130)의 각 부분으로 표시되어 있다. 그 측정치에는 단어의 빈도, 확장형 질의 용어에 대한 단어의 근접도, 단어의 위치 등과 같은 정량적 기준에 기초한 값들이 포함된다. 검색 제공자(132)는 트레이닝된 분류자 모델("기타 데이터"(130) 참조)을 이용해서 이들 각기 다른 기준들을 결합하여 발췌문으로서 정보를 가장 많이 포함하는 블록을 얻는다. 따라서, 발췌문은 최종 사용자에게 그 식별된 KB 기사(106)의 관련도를 명백히 보여주게 된다.
트레이닝된 분류자 모델은 선형 회귀법(통계학에서는 고전적 학습 방법임)에 의하여 트레이닝된다. 선형 회귀법은 데이터에 맞는 직선으로 벡터 x 및 값 y의 관계를 설명하고자 시도한다. 그러한 선형 회귀법 모델은 다음을 가정한다.
Figure 112005019641459-pat00004
여기서, "잔차" e는 평균 0을 갖는 임의 변수이다. 계수 b j 는 제곱 잔차(square residual)의 합을 가능한 작게 하는 조건에 의해서 결정된다. 변수 x j 는 입력으로부터 직접 입력될 수도 있고, 아니면 입력으로부터, 예컨대 로그나 다항식과 같은 소정의 변환을 거친 것일 수도 있다.
검색 제공자(132)는 최상위에 랭킹된 검색 문서(들) 중 적어도 하나의 부분집합을 질의 응답(136)에 대한 대응 발췌문과 함께 캡슐화한다. 검색 제공자(132)는 질의 응답(136)을 클라이언트 컴퓨팅 장치(116)로 전달하여 제품 연구 및/또는 수리 문의를 해결하기 위해서 최종 사용자가 이를 이용할 수 있게 하고 프레젠테이션이 가능하도록 한다.
예시적 프로시저
도 2는 문서 검색을 확장하기 위한 콘텐츠 전파의 예시적 프로시저(200)를 도시하고 있다. 논의를 위하여, 상기 프로시저의 각 동작들을 도 1의 구성 요소들과 관련하여 설명한다. (도면에서 모든 참조번호는 그 구성 요소가 처음으로 소개된 도면의 번호로 시작한다). 블록(202)에서, 메타데이터 추출 모듈(124)(도 1)이 복수의 데이터 소스들(108-114) 중 각 데이터소스로부터 특정 KB 기사(106)와 연관 된 정보(지식 베이스 기사 관련 정보(KBARI)(126))를 식별해낸다. 블록(204)에서, 메타데이터 추출 모듈(124)은 블록(202)에서 식별된 정보 근처의 특징들을 추출해낸다. 블록(206)에서, 메타데이터 추출 모듈(124)은 그 추출된 특징들(메타데이터(128))을 분석하여 대응하는 각 연관 지식 베이스 기사들(106)에 대한 중요한 관련도를 측정한다. 블록(208)에서, 메타데이터 추출 모듈(124)은 그 추출된 특징들을 대응하는 관련도 스코어와 함께 연관된 각각의 지식 베이스 기사들(106)로 인덱싱한다. 이로써 새로운, 즉 확장형 지식 베이스 기사(120)가 생성된다.
블록(210)에서, 검색 제공자(132)는, 검색 질의(122) 수신에 응답하여, 검색 질의(122)를 구성하는 용어(들)를 포함하는 원래의 KB 기사(118) 및/또는 확장형 KB 기사(120)를 검색한다. 블록(212)에서, 검색 제공자(132)는 그 검색된 문서/기사 각각에 대한 검색 질의(122) 용어(들)의 관련도 스코어에 기초하여 그 문서/기사에 랭킹을 부여한다. 블록(214)에서, 검색 제공자(132)는 그 검색된 지식 베이스 기사들(106)에 관한 발췌문을 작성한다. 블록(216)에서, 검색 제공자(132)는 최종 사용자에게 그 랭킹 결과와 발췌문을 전달한다.
예시적 동작 환경
도 3은 확장형 문서 검색을 위한 콘텐츠 전파를 제공하는 도 1의 시스템(100) 및 도 2의 방법이 전체적으로 또는 부분적으로 구현될 수 있는데 적합한 컴퓨팅 환경(300)의 일 예를 도시하고 있다. 도 3은 확장형 문서 검색을 위하여 데이터 소스 콘텐츠 전파를 제공하는 앞서 기술된 시스템, 장치 및 방법이 (전체적으로 또는 부분적으로) 구현될 수 있는데 적합한 컴퓨팅 환경(300)의 일 예를 도시하 고 있다. 예시적 컴퓨팅 환경(300)은 적합한 컴퓨팅 환경의 일 예일 뿐이며, 본 명세서에서 개시된 시스템 및 방법의 기능성 또는 그 이용의 범위에 관하여 어떠한 제한도 가하고자 함이 아니다. 또한, 컴퓨팅 환경(300)이 그 컴퓨팅 환경(300)에 도시된 임의의 구성 요소나 이들의 조합과 관련하여 어떠한 종속성이나 요구 사항을 갖는 것으로 해석되어서도 안 된다.
본 명세서에 개시된 방법 및 시스템은 다른 다양한 범용 또는 특수 목적 컴퓨팅 시스템 환경이나 구성에서도 동작 가능하다. 이용하기 적합한 주지의 컴퓨팅 시스템, 환경 및/또는 구성의 예로는, PC, 서버 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서-기반형 시스템, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 장치들 중 임의의 것을 포함하는 분산형 컴퓨팅 환경 등이 포함된다. 이러한 프레임워크의 콤팩트한 부분집합 버전이 또한 핸드헬드 컴퓨터나 기타 컴퓨팅 장치 등의 제한된 리소스의 클라이언트로써 구현될 수도 있다. 본 발명은 통신 네트워크를 통하여 링크된 원격 프로세싱 장치에 의하여 태스크가 수행되는 분산형 컴퓨팅 환경에서 실시될 수 있다. 분산형 컴퓨팅 환경에서는, 프로그램 모듈이 지역 및 원격 메모리 저장 장치에 배치될 수 있다.
도 3을 참조하면, 확장형 문서 검색을 위하여 콘텐츠 전파를 제공하는 예시적 시스템에는 컴퓨터(310) 형태의 범용 컴퓨팅 장치가 포함된다. 다음에 기술된 컴퓨터(310)의 양상들은 클라이언트 컴퓨팅 장치(116)(도 1) 및/또는 KB 호스팅 서버(102)(도 1)의 예시적 구현이다. 컴퓨터(310)의 구성 요소로는, 프로세싱 유닛(320), 시스템 메모리(330), 및 시스템 메모리를 포함한 여러 시스템 구성 요소들 을 프로세싱 유닛(320)으로 연결하는 시스템 버스(321)가 포함되며, 이에 한정되는 것은 아니다. 시스템 버스(321)는 메모리 버스나 메모리 제어기, 주변 버스, 및 다양한 버스 아키텍처 중 임의의 아키텍처를 이용하는 로컬 버스를 포함한 여러 타입의 버스들 중 임의의 버스일 수 있다. 한정이 아니라 예로서, 그와 같은 아키텍처에는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, 확장형 ISA(EISA) 버스, VESA(Video Electronic Standards Association) 지역 버스, 및 메자닌(Mezzanine) 버스라고도 알려진 PCI(Peripheral Component Interconnect) 버스 등이 포함된다.
컴퓨터(310)는 대개 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(310)에 의해서 액세스될 수 있고, 휘발성 및 비휘발성 매체, 착탈식 및 고정식 매체 양자 모두를 포함한 임의의 이용 가능 매체일 수 있다. 한정이 아니라 예로서, 컴퓨터 판독 가능 매체에는 컴퓨터 저장 매체와 통신 매체가 포함된다. 컴퓨터 저장 매체에는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등의 정보를 저장하는 임의의 방법이나 기술로써 구현된 휘발성 및 비휘발성, 착탈식 및 고정식 매체가 포함된다. 컴퓨터 저장 매체에는 RAM, ROM, EEPROM, 플래시메모리 등의 메모리 기술, CD-ROM, DVD 등의 기타 광디스크 저장 장치, 자기 카세트, 자기 테이프, 자기디스크 저장 장치 등의 기타 자기 저장 장치, 또는 필요한 정보를 저장하는데 이용될 수 있고 컴퓨터(310)에 의해서 액세스될 수 있는 임의의 기타 매체가 포함된다.
통신 매체는 일반적으로 변조형 데이터 신호, 예컨대 반송파 또는 기타 전송 메커니즘에 의하여 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조형 데이터 신호"라는 용어는 하나 이상의 특징 집합을 갖는 신호로서 그 신호 내에 정보를 인코딩하는 방식으로 변형된 신호를 말한다. 한정이 아니라 예로서, 통신 매체에는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체가 포함된다. 상술한 매체들로 이루어진 임의의 조합도 컴퓨터 판독 가능 매체의 범위에 포함되어야 한다.
시스템 메모리(330)는 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체, 예컨대, ROM(331) 및 RAM(332)을 포함한다. 예컨대 스타트업 동안, 컴퓨터(310) 내부의 소자들 간에 정보 전송을 돕는 기본 루틴을 포함한 BIOS(333)가 일반적으로 ROM(331)에 저장되어 있다. RAM(332)은 대개 프로세싱 유닛(320)에 의해서 직접 액세스 가능하고 그리고/또는 바로 작동되는 데이터 및/또는 프로그램 모듈을 저장하고 있다. 한정이 아니라 예로서, 도 3은 운영 체제(334), 애플리케이션 (335), 기타 프로그램 모듈(336), 및 프로그램 데이터(337)를 도시하고 있다. 일 실시예에서는, 도 1을 함께 참조하면, 컴퓨터(310)는 KB 호스팅 서버(102)를 포함한다. 이러한 경우, 응용 프로그램(335)이 도 1의 프로그램 모듈(138)을 포함하며, 프로그램 데이터(337)가 KB 기사 관련 정보(KBARI)(126), 메타데이터(128), 및/또는 도 1의 "기타 데이터"(130)를 포함한다.
컴퓨터(310)는 또한 기타 착탈식/고정식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 한정이 아니라 예로서, 도 3은 고정식 비휘발성 자기 매체로 부터 판독하고 그에 기록하는 하드디스크 드라이브(341), 착탈식 비휘발성 자기디스크(352)로부터 판독하고 그에 대해 기록하는 자기디스크 드라이브(351), 그리고 착탈식 비휘발성 광디스크(356), 예컨대 CD ROM 또는 기타 광학 매체로부터 판독하고 그에 기록하는 광디스크 드라이브(355)를 도시하고 있다. 이러한 예시적 동작 환경에서 이용될 수 있는 또 다른 착탈식/고정식, 휘발성/비휘발성 컴퓨터 저장 매체로는, 자기 테이프 카세트, 플래시메모리 카드, DVD, 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등이 포함되며, 단 이에 한정되는 것은 아니다. 하드디스크 드라이브(341)는 대개 비휘발성 메모리 인터페이스, 예컨대 인터페이스(340)를 통하여 시스템 버스(321)로 연결되고 자기디스크 드라이브(351) 및 광디스크 드라이브(355)는 대개 착탈식 메모리 인터페이스, 예컨대 인터페이스(350)에 의하여 시스템 버스(321)로 연결된다.
도 3에 도시되고, 앞에서 설명한 드라이브 및 그와 연관된 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 컴퓨터(310)에 대한 데이터 저장소를 제공한다. 예를 들면 도 3에서, 하드 디스크 드라이브(341)는 운영 체제(344), 응용 프로그램(345), 기타 프로그램 모듈(346) 및 프로그램 데이터(347)를 저장하는 것으로 도시되어 있다. 이러한 구성 요소들은 운영 체제(334), 응용 프로그램(335), 기타 프로그램 모듈(336) 및 프로그램 데이터(337)와 같거나, 또는 다를 수 있다는 것에 유의하자. 운영 체제(344), 응용 프로그램(345), 기타 프로그램 모듈(346) 및 프로그램 데이터(347)는 최소한 그들이 별개의 사본임을 설명하기 위해 여기에서는 다른 번호로 표시되었다.
사용자는, 키보드(362) 및 일반적으로 마우스, 트랙볼 또는 터치패드로 지칭되는 포인팅 장치(pointing device)(361)와 같은 입력 장치를 통해서 컴퓨터(310)로 명령어 및 정보를 입력할 수 있다. 다른 입력 장치들(도시 생략)은 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이러한 그리고 기타 입력 장치들은 종종 시스템 버스(321)에 연결된 사용자 입력 인터페이스(360)를 통해 처리 유닛(320)에 접속되지만, 다른 인터페이스 및 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은 버스 구조에 의해 접속될 수도 있다.
모니터(391) 또는 다른 유형의 디스플레이 장치는 또한, 비디오 인터페이스(390)와 같은 인터페이스를 통해 시스템 버스(321)에 접속된다. 컴퓨터에는 모니터 외에도, 출력 주변 장치 인터페이스(395)를 통해 접속될 수 있는 스피커(397) 및 프린터(396)와 같은 다른 주변 출력 장치를 또한 포함할 수 있다.
컴퓨터(310)는 원격 컴퓨터(380)와 같은 하나 이상의 원격 컴퓨터에 논리적으로 접속되어 있는 네트워크 환경에서 운영될 수 있다. 비록 도 3에는 오직 한 개의 메모리 저장 장치(381)만이 도시되어 있지만, 원격 컴퓨터(380)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치(peer device) 또는 기타 공통 네트워크 노드(common network node)일 수 있으며, 일반적으로 컴퓨터(310)와 관련하여 상술한 요소들을 전부 또는 다수 포함한다. 도 3에 도시된 논리적 접속에는, LAN(local area network)(371) 및 WAN(wide area netwok)(373)이 포함되며, 다른 네트워크들도 또한 포함될 수 있다. 그러한 네트워크 환경은 사무실, 기업 영역의 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용될 경우, 컴퓨터(310)는 네트워크 인터페이스 또는 어댑터(370)를 통해서 LAN(371)에 접속된다. WAN 네트워크 환경에서 사용될 경우, 컴퓨터(310)는 일반적으로 모뎀(372) 또는 인터넷과 같은 WAN(373) 상에서 통신을 개설하기 위한 다른 수단들을 포함한다. 모뎀(372)은 내장형 또는 외장형일 수 있으며, 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해서 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(310) 또는 그 일부와 관련하여 도시된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 3은 원격 메모리 장치(381)에 상주하는 원격 응용 프로그램(385)을 도시하고 있는데, 이에 한정되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들 사이에 통신 링크를 개설하기 위한 다른 수단이 사용될 수 있다.
결론
비록 개선된 문서 검색을 위해 콘텐츠 전파를 제공하는 시스템 및 방법이, 구조적 특징 및/또는 방법론적 동작 또는 작용으로 특정된 언어로 설명되었지만, 첨부된 청구범위에서 한정된 구현이 반드시 설명된 특정 특징들 또는 작용으로 한정될 필요는 없다. 예를 들면, 비록 도 1의 시스템(100)은 개선된 KB 기사(106) 검색에 대하여 데이터 소스 콘텐츠 전파 관점에서 설명되었지만, 설명된 시스템 및 방법들은, 하나 이상의 독립 데이터 소스로부터 KB 또는 제품 지원 기사에 한정되지 않고, 임의의 유형의 참조된 문서로 찾아진 메타데이터를 전파하는데 사용될 수 있다. 예를 들면, 시스템(100)은, 다른 유형의 문서에 관한 링크, 참조, 제목, 문서 ID 등을 포함하는 데이터 소스에 걸쳐 개선된 문서 검색을 위해 콘텐츠 전파를 제공하는데 사용될 수 있다. 따라서 기술된 설명에 나타난 특정 특징들 및 작용들은 청구범위의 발명을 구현한 예의 형태로 개시된 것이다.
부록 A
이종 객체들에 대한 클러스터링
예시적인 클러스터링 시스템 및 방법에 대한 배경
클러스터링은 복수의 객체를 그룹화시키는 것을 포함하며, 검색 엔진 및 정보 마이닝과 같은 응용에서 사용된다. 클러스터링 알고리즘은 객체의 유사도를 기초로 객체를 그룹화시킨다. 예를 들면, 웹 페이지 객체는 그들의 콘텐츠, 링크 구조 또는 그들의 사용자 액세스 로그를 기초하여 클러스터링된다. 사용자를 클러스터링하는 것은 그들이 선택한 항목에 기초한다. 사용자 객체들은 그들의 액세스 히스토리에 기초하여 클러스터링된다. 사용자들에 관련된 항목들을 클러스터링하는 것은 전통적으로 그 항목을 선택한 사용자에 기초한다. 다양한 종류의 클러스터링 알고리즘이 공지되어 있다. 종래 기술의 클러스터링 알고리즘은 파티셔닝-기초 클러스터링(partitioning-based clustering), 계층적 클러스터링(hierarchical clustering) 및 밀도 기반 클러스터링(density-based clustering)을 포함한다.
사용자가 액세스한 웹 페이지의 콘텐츠 또는 액세스 패턴은 종종 웹 사용자를 클러스터링하기 위하여 사용자 프로파일을 형성하는데 사용된다. 그 다음, 전통적 클러스터링 기술이 채택된다. 공동 필터링(collaborative filtering)에서 클러스터링은 더 나은 추천/예측을 위해 사용자 또는 항목을 그룹화시키는데에도 사용된다.
이러한 종래의 클러스터링 알고리즘의 사용에는 일반적으로 몇 가지 제약이 따른다. 전통적인 클러스터링 기술들은 객체들의 개수 또는 이종 객체들 간의 링크의 개수가 너무나 적어서 효과적인 객체의 클러스터링을 달성할 수 없다는 점에서 데이터의 희소성 문제에 직면할 수 있다. 동종 클러스터링(homogeneous clustering)에서는, 분석되고 있는 데이터 집합이 동일한 유형의 객체들을 포함한다. 예를 들면, 동종 클러스터링이 웹 페이지 및 사용자에 기초하는 경우, 웹 페이지 객체 및 사용자 객체는 각각 별개로 클러스터링될 것이다. 만약 동종 클러스터링이 항목 및 사용자에 기초하는 경우, 항목 객체 및 사용자 객체는 각각 별개로 클러스터링될 것이다. 이러한 동종 클러스터링의 실시예들에 있어서, 다른 유형의 객체에 대한 고려 없이 동일한 유형의 객체들이 함께 클러스터링될 것이다.
종래의 이종 객체 클러스터링(heterogeneous object clustering)은 객체 집합들을 분리하여 클러스터링한다. 이종 객체 클러스터링은 각 객체 노드를 나타내는 평면 특징(flat features)으로서 오직 링크만을 사용한다. 종래의 이종 클러스터링에서는, 계층 내부 또는 계층 간 전체 링크 구조를 고려하지 않거나 또는 이들을 단순히 분리된 특징들로 취급한다.
예시적인 클러스터링 시스템 및 방법
클러스터링을 사용함으로써 혜택을 누릴 수 있는 (범용 컴퓨터인) 컴퓨터 환경(400)의 일 실시예가 도 4에 도시되어 있다. 컴퓨터 환경(400)은 메모리(402), 프로세서(404), 클러스터링 부분(408) 및 지원 회로(406)를 포함한다. 지원 회로는 컴퓨터 환경(400)의 별개의 구성요소가 정보(즉, 데이터 객체)를 전송할 수 있 게 하는 입/출력 회로 부분 및 디스플레이와 같은 장치들을 포함한다.
클러스터링은 클러스터링 부분(408) 내에서 수행된다. 클러스터링 부분(408)은 컴퓨터 환경의 프로세서(404) 및 메모리(402) 내에 통합될 수 있다. 예를 들면, 프로세서(404)는 각기 다른 객체를 클러스터링하는 클러스터링 알고리즘(메모리로부터 추출됨)을 처리한다. 메모리(402)(예컨대, 데이터베이스)는 클러스터링된 객체, 그와 관련된 프로그램들 및 클러스터링 알고리즘을 저장하는 역할을 하므로, 클러스터링된 객체가 추출(및 저장)될 수 있다. 컴퓨터 환경(400)은 독립 실행형(stand-alone) 컴퓨터, 네트워크 컴퓨터 시스템, 메인프레임 또는 임의의 공지되어 있는 다양한 컴퓨터 시스템으로서 구성될 수 있다. 본 명세서에서 개시된 몇몇 실시예들은 컴퓨터 환경의 응용례(인터넷으로부터 웹 페이지를 다운로드 받는 컴퓨터)를 설명하는 것이다. 본 명세서에서 설명된 개념들은, 임의의 공지된 유형의 컴퓨터 환경(400)에 적용될 수 있는 것으로 고안되어 있다.
본 설명은, 신뢰할만하다고 간주되는(즉, 사용자의 질의에 적용 가능한) 반환 결과의 퍼센트를 증가시키는 클러스터링 메커니즘을 제공한다. 클러스터링은 검색 툴, 정보 마이닝, 데이터 마이닝, 공동 필터링(collaborative filtering) 등과 같은 기술 영역에 적용될 수 있다. 검색 툴은, 각기 다른 정보의 필요성을 만족시키고, 개선된 검색 성능을 달성하는 능력 때문에 주목받아 왔다. 검색 툴은 웹 페이지, 사용자, 질의 등과 같은 컴퓨터의 측면에 관련되어 있다.
본 명세서는 데이터 객체를 클러스터링하기 위한 다양한 클러스터링 알고리즘의 실시예를 설명한다. 데이터 객체의 클러스터링이란 큰 집합의 데이터 객체를 더 많은 개수의 데이터 클러스터 또는 집합(이 더 많은 개수의 데이터 객체 클러스터 각각은 더 적은 수의 데이터 객체를 포함하는)으로 그룹화시키는 기술이다. 데이터 객체의 클러스터링된 그룹 내에 포함된 각 데이터 객체는 어떤 유사도를 가진다. 그러므로, 복수의 데이터 객체를 그룹화시키는 것을 클러스터링의 한 측면이라 볼 수 있다.
본 설명에서 설명되는 하나의 클러스터링 메커니즘은, 프레임워크 그래프의 일 실시예로서 도 5에 도시되어 있는 프레임워크 그래프(550)와 관련되어 있다. 별개 유형의 객체들이, 별개의 레벨 사이 또는 도 5의 프레임워크 그래프(550)에 도시된 상이한 레벨들 또는 노드 집합 P와 U 사이에서 클러스터링되는 통합형 클러스터링 메커니즘의 일부 실시예가 제공되어 있다. 또한, 본 명세서에서 설명하는 개념들은, 본 명세서에서 설명된 두 계층에 적용하는 대신, 셋 이상의 계층에 적용할 수 있다는 점에 유의하자. 또한, 각 노드 집합 P 및 U는 하나의 계층으로 간주될 수 있다. 본 설명에서, 용어 "통합형" 클러스터링은 이종 데이터의 클러스터링을 위한 기술에 적용된다. 노드 집합 P는 각각이 유사한 데이터 유형인 복수의 데이터 객체 p1, p2, p3,…,pi를 포함한다. 노드 집합 U는 각각이 유사한 데이터 유형인 복수의 데이터 객체 u1, u2, u3,…,uj를 포함한다. 각 노드 집합(P 또는 U) 상에 클러스터링된 객체의 데이터 유형은 동일하고, 따라서 각 노드 집합(P 또는 U) 내에 있는 데이터 객체는 동종이다. 노드 집합 P 내에 있는 데이터 객체 p1, p2, p3,…,pi의 유형은 노드 집합 U 내에 있는 데이터 객체 u1, u2, u3,…,uj의 유형과는 다 르다. 이와 같이, 노드 집합 P의 데이터 객체 유형들과 노드 집합 U의 데이터 객체 유형들은 서로 다르거나 이종이다. 본 명세서에서 몇몇 측면은, 동종 및 이종 데이터 유형의 객체로부터 입력(링크에 기초한)을 사용하여 클러스터링하기 위해서 제공된다.
본 명세서에서, 링크는 한 쌍의 데이터 객체 사이에 연장된 선으로써 도시되어 있다. 링크는 클러스터링 내에서 데이터 객체 쌍들 사이의 관계를 나타낸다. 한 예로, 링크는 웹 페이지 객체로부터 사용자 객체까지 연장하고, 사용자가 소정의 웹페이지를 선택하는 것을 나타낼 수 있다. 다른 예로, 링크는 웹 페이지 객체로부터 다른 웹 페이지 객체까지 연장하고, 별개의 웹 페이지 간의 관계를 나타낼 수 있다. 클러스터링의 일부 실시예에서, "링크"는 "에지(edge)"로 지칭된다. 본 명세서에서, 일반적인 용어 "링크"는 링크, 에지 또는 하나의 객체와 다른 객체를 연결하여 객체들 간의 관계를 기술하는 임의의 커넥터(connector)를 설명하는데 사용된다.
프레임워크 그래프(550) 내에 도시된 대로 별개의 유형의 객체들을 연관시키고, 별개의 유형의 객체를 클러스터링하는 것과 관련된, 다양한 유형의 링크(본 명세서에서 설명된 바와 같음)가 있다. 링크는 계층-간 링크(inter-layer link) 또는 계층-내부 링크(intra-layer link)로 분류될 수 있다. 계층-내부 링크(503 또는 505)는 프레임워크 그래프(550) 내에서 동일한 유형의 서로 다른 객체들 사이의 관계를 기술하는 링크의 한 형태이다. 계층-간 링크(504)는 프레임워크 그래프(550) 내에서 상이한 유형의 객체들 사이의 관계를 기술하는 링크의 한 형태이다. 도 5에 도시된 대로, 데이터 객체 u1, u2, u3,…,uj의 소정 객체들 사이에 연장된 복수의 계층-내부 링크(503)가 있다. 또한, 도 5에 도시된 실시예에서, 데이터 객체 p1, p2, p3,…,pi의 소정 객체들 사이에 연장된 복수의 계층-내부 링크(505)가 있다. 또한, 도 5에 도시된 실시예에서, 노드 집합 P 내의 데이터 객체 u1, u2, u3,…,uj의 소정 객체들과 노드 집합 U 내의 데이터 객체 p1, p2, p3,…,pi의 소정 객체들 사이에 연장된 복수의 계층-간 링크(504)가 있다. 계층-간 링크의 사용에 의해, 하나의 유형의 객체를 클러스터링하는 것이 다른 유형의 객체에 의해 영향을 받을 수 있다는 것을 알 수 있다. 예를 들면, 웹 페이지 객체를 클러스터링하는 것은 사용자 객체의 구성, 상태 및 특징에 의해 영향을 받을 수 있다.
데이터 객체들 사이의 관계는 어떤 방향으로든 향할 수 있기 때문에 링크 방향(도 5 및 도 6에서 링크(503, 504, 또는 505)에 화살촉 모양으로 표시됨)은 양방향으로 도시되어 있다. 링크는 예시적인 것으로 간주되며, 발명 사상을 한정하는 것은 아니다. 프레임워크 그래프(550)에서 그래프 내의 어떤 링크들은 좀 더 적절하게 한 방향으로 향할 수 있는데, 화살촉의 방향은 일반적으로 프레임워크의 동작에 영향을 주지 않는다. 프레임워크 그래프(550)는 노드 집합 P, 노드 집합 U 및 링크 집합 L로 이루어져 있다. 프레임워크 그래프(550) 내에서
Figure 112005019641459-pat00005
Figure 112005019641459-pat00006
Figure 112005019641459-pat00007
이고,
Figure 112005019641459-pat00008
인 두 유형의 데이터 객체를 나타낸다.
Figure 112005019641459-pat00009
Figure 112005019641459-pat00010
는 각각 노드 집합 P 및 U의 원소의 수이다.
Figure 112005019641459-pat00011
링크는 별개 유형의 객체들 사이에 도면 부호 504로 도시되어 있는 계층-간 링크(2개의 요소로 된 집합(2-tuple)을 구성함)이다. 각각 도면 부호 505 및 503인
Figure 112005019641459-pat00012
Figure 112005019641459-pat00013
링크는, 동일 유형의 객체 사이에 연장된 계층-내부 링크이다. 편의상, 계층-간 링크 집합(504) 및 계층-내부 링크 집합(503, 505)에 대해서 다른 도면 부호가 적용된다.
통합형 클러스터링을 사용하면, 링크가 객체들 간에 좀 더 완전히 이용됨으로써 클러스터링이 개선된다. 상이한 계층들에 있는 상이한 유형의 객체들의 클러스터링이 효과적인 클러스터링에 의해 강화된다. 객체들이 올바르게 클러스터링된 경우, 클러스터링 결과들은 좀 더 합리적이 되어야 한다. 클러스터링은 데이터 분석에 유용한 구조화된 정보를 제공한다.
프레임워크 그래프(550)는 복수의 유형의 객체 클러스터링을 도시하고 있는데, 각 유형의 객체는 실질적으로 동일한 것이다(예컨대, 한 유형은 웹 페이지, 사용자 그룹 또는 문서 그룹 등과 관련된다). 프레임워크 그래프(550) 내에서 각 객체 그룹의 유형은 일반적으로 다른 객체 그룹의 유형과 다르다.
개시된 클러스터링 기술은, 클러스터링할 때, 상이한(이종) 객체 유형들로부터 입력을 수신하고 고려한다. 본 설명의 한 측면은 고유의 상호 관계에 기초하는데, 여기서 클러스터링되고 있는 객체는 다른 객체에 대한 링크와 함께 제공된다. 각 객체를 연결하는 어떤 링크들(및 그러한 링크가 연결하는 객체)은, 그 객체에 대한 링크의 관련도를 반영하기 위해서 상이한 중요도로 가중치가 부여될 수 있다. 예를 들면, 클러스터링되고 있는 동일한 유형의 객체들은 다른 유형의 객체들보다 더 높은 중요도로 제공될 수 있다. 본 설명은, 상이한 객체들 또는 상이한 유형의 객체들에게 다양한 수준의 중요도가 할당될 수 있게 하는 메커니즘을 제공한다. 이렇게 상이한 객체들(또는 상이한 유형의 객체들)에 대해서 상이한 수준의 중요도를 할당하는 것은, 본 명세서에서 중요도 클러스터링으로 지칭한다. 상이한 객체들에 중요도 수준을 다르게 한 결과, 클러스터링 결과 및 효과가 개선된다.
이종 객체들을 클러스터링하기 위한 프레임워크 그래프(550)의 실시예는 도 5에 도시되어 있으며, 상이한 노드 집합들 P 또는 U는 상이한 객체 유형을 포함하는 상이한 계층을 나타낸다. 프레임워크 그래프(550)의 복수의 노드 집합(P 및 U가 도시되어 있음)은 클러스터링을 위한 기초(basis)를 제공한다. 이층 구조의 그래프(550)는 클러스터링될 데이터 객체의 집합을 포함한다. 각 객체 유형의 객체들(클러스터링 알고리즘에 따라 클러스터링될)은 "잠재(latent)" 클래스의 예로 간주될 수 있다. 소정 객체 노드들 사이에 연장된 링크들(503, 504 또는 505)은, 클러스터링에 의해 제공되는 객체 노드들 간의 내재된 관계를 반영한다. 본 명세서의 몇몇 실시예에서 기술되는 클러스터링을 위한 반복 투영 기술(iterative projecting technique)은, 데이터 유형이 상이한 객체들의 분리 클러스터링을 가능하게 하여 클러스터링 프로세스에 기여한다.
이종 유형의 객체들(및 이들과 관련된 링크들)은, 본 명세서에서 설명된 대로 반복 클러스터링 기술을 사용함으로써 강화된다. 반복 클러스터링 투영 기술은, 상이한 계층 내에 배치되어 있는 상이한 유형의 객체들로부터 클러스터링 정보 를 얻는 것에 의존하며, 이때 각 계층은 동종 유형의 객체를 포함한다. 클러스터링이 수렴할 때까지 링크 정보와 결합된 노드 정보가 클러스터링된 결과를 반복적으로 투영하고 전파하는데 사용된다(클러스터링 알고리즘은 계층들 사이에 제공된다). 한 유형의 객체에 대한 결과를 다른 유형의 객체에 대한 클러스터링 결과로 반복적으로 클러스터링하면, 데이터 희소성과 관련된 클러스터링의 난점을 줄일 수 있다. 이러한 반복적 투영에 의해, 한 계층 클러스터링 내에서 유사도의 측정은, 다른 유형의 클러스터들의 개별 그룹들 대신, 클러스터들 상에서 계산될 수 있다.
클러스터링을 위해서 사용될 수 있는 구조적 정보를 얻기 위해 상이한 종류의 노드 및 링크의 각 유형이 검토된다. 구조적 정보는, 예를 들면, 상이한 데이터 객체들을 연결하는 유형의 링크인지 여부(예컨대, 링크가 계층-간 링크인지 계층-내부 링크인지 여부)를 고려하여 얻어질 수 있다. 도 5에 표시된 대로, 각 객체의 유형은 자신의 노드 집합 P 또는 U에 의해 나타내진다.
도 5의 일반화된 프레임워크 그래프(550)가 특정 클러스터링 응용에 적용될 수 있다. 즉, 프레임워크 그래프(550)는 사용자 그룹에 대한 인터넷 상 웹 페이지의 그룹을 설명할 수 있다. 웹 페이지 계층은 노드 집합 P로서 그룹화되어 있다. 객체의 사용자 계층은 노드 집합 U로서 그룹화되어 있다. 프레임워크 그래프(550)는, 이층 구조의 프레임워크 그래프의 표현 내에 복수의 웹 페이지 객체 및 복수의 사용자 객체를 통합한다. 프레임워크 그래프(550)는 (일반화된 도 5의 프레임워크 그래프에 의해 그 아웃라인이 묘사된)상이한 유형의 객체 클러스터링이 가능하도록 링크(예컨대, 에지) 관계(504, 504, 505)를 사용한다. 중요도 수준이 상이한 노드 들을 학습하기 위하여, 클러스터링 절차가 진행되는 동안, 전체 데이터 집합의 링크 구조가 검토된다. 중요한 노드들이 좀 더 합리적으로 클러스터링되는 것을 보장하기 위하여, 클러스터링 과정에서 노드는 그의 중요도에 기초하여 가중치가 부여된다.
본 설명의 소정의 실시예들에서는, 링크 내의 클러스터들 사이의 링크(503, 504 및 505)가 보존된다. 보존된 링크는 객체들 사이가 아니라 객체의 클러스터들 사이에 연장된 링크이다. 예를 들면, 보존된 링크 하나는 웹 페이지 클러스터 와 사용자 클러스터 사이(원래 링크가 연장되어 있던 웹 페이지 객체와 사용자 객체 사이 대신)에 연장된다. 일부 실시예에서는, 추천(recommendation)과 같은 향후 다양한 응용을 위하여 프레임워크 그래프(550)에서 보존된 링크가 유지된다. 예컨대, 보존된 링크를 갖는 웹 페이지/사용자 클러스터링의 결과는 사용자 히트 양태의 요약 그래프로서 나타낼 수 있는데, 이는 사용자 히트(user's hit)에 대한 예측을 제공하는 것이다.
각각의 노드 p i u j 의 콘텐츠는 각각 벡터 f i g j 로 명명된다(도 5에는 도시되지 않음). 응용에 따라, 각 개별적인 노드 p i u j 는 콘텐츠 특징을 포함할 수 있다(또는 어떤 특징도 포함하지 않을 수 있다). 종래 방식의 클러스터링 기술은 노드 u j 와 무관하게 노드 p i 를 클러스터링한다. 반면, 본 명세서에서 설명되는 클러스터링 프레임워크(550)에서 노드 p i u j 는 그들의 상대적인 중요도에 기초하여 의존적으로 클러스터링된다. 클러스터링을 생성하기 위해 본 명세서에서 설 명된 클러스터링 알고리즘은, 각 클러스터 유형에 대하여 객체들 사이의 거리를 측정하기 위해 유사도 함수를 사용한다. 수식 (1)에 나타난 코사인-유사도 함수(cosine-similarity function)는 클러스터링에 사용될 수 있다.
Figure 112005019641459-pat00014
Figure 112005019641459-pat00015
f x
Figure 112005019641459-pat00016
f y 는 두 벡터의 내적(dot product)이다. 이는 fx, fy에서 동일한 구성 요소의 가중치 곱을 합한 것과 같다. s c 는 유사도가 콘텐츠 특징에 기초함을 표시한다; f x (i) f y (j)는 특징 벡터 f x f y i j번째 구성 요소이다. kx는 개별적인 특징 f x 내의 항목들의 개수이고, ky는 특징 f y 내의 항목들의 개수이다.
본 명세서에서, 노드 집합 P는 노드의 계층-내부 링크(503 및 505) 및 계층-간 링크(504)를 설명하기 위한 일 예로서 사용된다. 모든 데이터는 일련의 노드 쌍, 즉 링크(503 또는 505)에 의해 연결되는 것과 같은 계층-내부 노드 쌍 (p (1) , p (1) ), (p (2) , p (2) ),…[여기에서, p (1) p (2) p i 와 동일하고, 쌍 (p (1) , p (1) ), (p (2) , p (2) )는 둘 다 동종 계층 내의 한 노드를 나타낸다] 및 링크(504)에 의해 연결되는 계층-간 쌍 (p (1) , u (1) ), (p (2) , u (2) ),…을 포함한다고 가정한다. 그러므로, 한 쌍의 노드 (p i , p k ) 또는 (p i , u j ) 사이의 링크는 데이터 시리즈에서 하나 이상의 동일한 쌍의 발생을 나타낸다. 링크의 가중치는 그의 발생 빈도와 관련 있다.
본 설명에서, 두 개의 분리된 벡터는, 각 특정 노드에 대해 계층-간 링크(504) 및 계층-내부 링크(503, 505)의 특징을 나타낸다. 예를 들면, 계층-내부 링크(503, 505) 특징들은, 그 구성 요소가 동일 계층에 있는 다른 노드에 대응하는 벡터를 사용하여 나타낸다. 비교하자면, 계층-간 링크(504)는 그 구성 요소가 다른 계층에 있는 노드에 대응하는 벡터를 사용하여 나타낸다. 각 구성 요소는 대응 노드로부터의(또는 노드로의) 링크의 가중치를 표시하는 수치가 될 수 있다. 예를 들면, 노드 p 1 p 2 의 계층-간 링크(504) 특징(도 5에 도시)은 각각 [1, 0, 0, …, 0]T 및 [1, 1, 1, …, 0]T로 나타낼 수 있다.
그러므로, 대응하는 유사도 함수는 상술된 것처럼 코사인-유사도로 정의될 수 있다. 계층-내부 링크(503, 505) 특징에 대한 유사도 함수 s lx (x,y)는 노드 p 1 p 2 사이의 유사도를 결정하며, 이에 대한 적용은 다음의 수식 (3)에서 설명된다.
Figure 112005019641459-pat00017
비교하자면, 계층-간 링크(504) 특징에 대한 유사도 함수 s lx (x,y)는 노드 p 1 u 2 사이의 유사도를 결정하며, 이에 대한 적용은 다음의 수식 (4)와 같다.
Figure 112005019641459-pat00018
여기서, s11 및 s12는 유사도가 각각 계층-내부 및 계층-간 링크 특징에 기초함을 나타낸다: l x l y 는 노드 x 및 노드 y의 계층-내부 링크 특징 벡터이고, 반면 h x h y 는 노드 x 및 노드 y의 계층-간 링크 특징 벡터이다.
각 노드의 링크들을 집합으로 표현하고 자카드 계수(Jaccard coefficient)를 적용하는 것과 같이 링크 특징에 대한 다른 표시법 및 다른 유사도 측정법이 사용될 수 있다. 본 명세서에 설명된 실시예들에는 여러 가지 장점이 있다. 한 가지 장점은, 클러스터링 알고리즘의 소정의 실시예들은 가중화된 링크를 수용한다는 것이다. 나아가, k-수단 클러스터링 알고리즘(k-means clustering algorithm)과 같은 클러스터링 알고리즘은 클러스터링의 중심(centroid)의 계산을 용이하게 한다. 중심은 클러스터링된 객체의 특징 또는 일반화 값을 표시하기 위한 그 이후의 계산에 유용하다.
노드 x 및 노드 y의 전체 유사도 함수는, 수식 (5)에 나타난 대로 세 개의 가중치
Figure 112005019641459-pat00019
,
Figure 112005019641459-pat00020
Figure 112005019641459-pat00021
를 포함하는 세 개의 유사도에 대한 가중치가 부여된 합으로서 정의될 수 있다. 세 개의 가중치를 할당하기 위한 두 개의 공지 기술이 있다: 발견적 학습법(heuristically) 및 트레이닝(training)에 의한 것이다. 예를 들어 여분의 조율 데이터(tuning data)가 없는 경우, 가중치는 소정의 소망치로 수동으로 할당된다(예컨대, 알파 = 0.5, 베타 = 0.25 및 감마 = 0.25). 어떤 부가적인 조율 데이터가 있는 경우, 비교하자면, 가중치는, 그리디 알고리즘(greedy algorithm), 힐-클라이밍 알고리즘(hill-climbing algorithm)이나 몇몇 다른 유형의 로컬 또는 글로벌 개선 또는 최적화 프로그램을 이용하여 계산될 수 있다. 그리디 알고리즘은, 최종적으로 개선된(및 어떤 실시예에서는 최적화된) 해에 도달될 수 있도록 각 단계에서 각 요소의 개선을 모색하는 최적화 알고리즘의 한 유형을 지칭한다.
Figure 112005019641459-pat00022
여기서,
Figure 112005019641459-pat00023
이다.
이러한 계산을 이용하여, 노드들의 콘텐츠 및 노드의 유사도가 결정된다. 응용에 따라 세 변수들은 클러스터링 알고리즘에 대해 별개의 정보 값을 제공하기 위해 변형될 수 있다. 노드들의 이러한 콘텐츠 및 유사도는, 그 결과 검색의 기초로 사용될 수 있다.
이종 클러스터링의 많은 문제들은 종종 노드들의 중요도가 동일하지 않다는 동일한 특성을 공유한다. 이종 클러스터링의 예에는 웹 페이지/사용자 클러스터 링, 공동 필터링을 위한 항목/사용자 클러스터링 등이 포함된다. 이러한 응용에서, 좀 더 합리적인 클러스터링 결과를 얻는데에는 중요한 객체가 중요한 역할을 한다. 본 설명에서, 전체 데이터 집합의 링크 구조는 노드의 중요도를 학습시키는데에 사용된다. 노드 집합 P 및 U의 각 노드에 대해서, 예를 들면, p i u j 에 대해 링크 구조에 의한 중요도 가중치 ip i iu j 가 계산되며, 클러스터링 절차에서 사용된다.
클러스터링의 한 가지 관점은 링크 분석 알고리즘에 관련되어 있는데, 그에 대한 많은 실시예가 본 설명에 제공되어 있다. 링크 분석 알고리즘의 일 실시예에서, 도 6에 도시된 하이브리드 넷 모델(hybird net model)(600)이 구성된다. 하이브리드 넷 모델(600)을 사용할 때, 사용자 및 웹 페이지는 노드들의 예시적인 두 유형으로서 사용된다. 웹 페이지 및 사용자 유형의 객체를 포함하는 하이브리드 넷 모델의 도 6 실시예는, 특히 인터넷, 인트라넷 또는 다른 네트워크를 포함하는 클러스터링 유형에 대한 것이다. 링크는, 링크(605)에 의해 도시된 웹 페이지 하이퍼링크(hyperlinks)/상호작용(interactions), 링크(604)에 의해 도시된 사용자에서 웹 페이지로의 하이퍼링크/상호작용 및 링크(603)에 의해 도시된 사용자에서 사용자로의 하이퍼링크/상호작용을 포함한다. 도 6의 하이브리드 넷 모델(600)은, 링크(603, 604 및 605)에 의해 도시된 사용자와 웹 페이지의 내부 관계 및 상호 관계를 나타냄으로써 이러한 하이퍼링크/상호작용을 명시하고 있다.
사용자 집합(610) 내에 포함된 사용자들(608)의 일부 그룹이 주어진 경우, 사용자 집합(610)으로부터 임의의 노드가 방문했던 모든 웹 페이지들은 웹 페이지 집합(612)을 생성한다. 웹 페이지 집합(612)은 루트 웹 페이지 집합을 검색 엔진으로 송신함으로써 결정되며, 기본(base) 웹 페이지 집합을 획득한다. 도 6에서 화살표로 나타난 세 종류의 링크들은 별개의 의미를 갖는다. 웹 페이지 집합(612) 내에 포함된 화살표(605)로 나타낸 링크는 웹 페이지 간 하이퍼링크를 나타낸다. 사용자 집합(610) 내에 포함된 화살표(603)로 나타낸 링크는, 사용자 간 사회적 관계를 나타낸다. 사용자 집합(610) 및 웹 페이지 집합(612) 사이에 연장된 화살표(604)로 나타낸 링크는 사용자의 웹 페이지로의 방문 동작을 나타낸다. 화살표(604)로 나타낸 링크는 각 특정 웹 페이지에 대한 사용자의 평가를 나타내며, 따라서 웹 페이지의 권한(authority)/허브(hub) 스코어는 좀 더 신뢰할만할 것이다. 상이한 유형의 링크들(603, 604, 605)은 상이한 관계를 나타내기 때문에, 각 링크는 상이한 중요도로, 예를 들면 얼마나 자주 액세스되는가 또는 각 링크로 연결된 각 노드 쌍이 어떻게 관련되어 있는가에 따라서 가중치가 부여될 수 있다.
도 7은 인터넷을 사용하여 클러스터링을 수행하도록 구성된 컴퓨터 환경(400)의 일 실시예를 도시한다. 이러한 클러스터링의 한 가지 측면은 (관련된 계층-간 링크 및 계층-내부 링크를 포함하여) 사용자에 기초한 웹 페이지의 클러스터링을 포함할 수 있다. 컴퓨터 환경은 복수의 웹 사이트(750), 검색 엔진(752), 서버/프록시 부분(754), 모델링 모듈(756), 컴퓨팅 모듈(758) 및 제안(suggestion)/참조(reference) 부분(760)을 포함한다. 컴퓨터 환경(400)은 그래픽 사용자 인터페이스(graphic user interface, GUI)와 같은 것으로 사용자(762)와 인터페이스한 다. 컴퓨팅 모듈(758)은 클러스터링 알고리즘(그 중 일부 실시예는 반복 계산에 의존함)을 수행하는 반복 계산 부분(780)을 포함한다. 모델링 모듈(756)은 데이터를 수집하고 데이터(예컨대, 객체와 관련된 것)를 추적하기 위해 동작한다. 검색 엔진은 사용자 질의에 기초하여 검색 결과를 반환한다. 웹 사이트(750)는 사용자에게 제시되는 것처럼 데이터를 나타낸다. 서버/프록시는 클러스터링의 많은 부분을 수행하는 서버에게 질의 등을 통신한다. 제안/참조 부분(760)은 사용자가 클러스터링 알고리즘을 변형 또는 선택할 수 있게 한다.
모델링 모듈(756)은 이전 형식화 부분(prior formalization portion)(770), 웹 페이지 추출 부분(772) 및 사용자 추출 부분(774)을 포함한다. 부분들(770, 772 및 774)은 이전에 형식화되었거나(770), 웹 페이지로부터 추출되거나 또는 사용자로부터 추출된(762) 데이터를 제공 및/또는 추적하기 위해 구성되어 있다. 도 7에 도시된 컴퓨터 환경의 실시예는, 상술된 설명에서 설명되는 일 실시예인 링크 분석 알고리즘을 제공하도록 구성되어 있다.
클러스터링 알고리즘의 일 실시예는 두 유형의 페이지를 탐색함으로써 웹 그래프를 분석할 수 있다: 허브, 권한 및 사용자. 허브는, 특정 주제에 관련된 유용한 정보를 제공하는 다수의 다른 페이지를 링크하는 페이지이다. 권한 페이지는, 많은 수의 허브들에 관련된 페이지로 간주되는 것이다. 사용자는 권한 및 허브 중 하나에 각각 액세스한다. 이에 의해, 허브, 권한 및 사용자의 각 쌍은 상호 강화되는 관계가 된다. 클러스터링 알고리즘은 현재 링크 분석 알고리즘의 일부 실시예에서 사용되는 세 벡터들에 의존한다: 웹 페이지 권한 가중치 벡터 a, 허브 가중 치 벡터 h 사용자 벡터 u. 이러한 벡터들의 일부 측면들은 본 설명에서 설명된다.
다음의 가중치 계산과 관련된 다음 몇몇 용어들은 도 7과 같은 도면에 도시되어 있지 않으며, 대신 계산과 관련되어 있다. 일 실시예에서, 주어진 사용자 i에 대하여 사용자 가중치 u i 는 그/그녀의 인식 레벨을 표시한다. 웹 페이지 j에 대해서, 항 a j h j 는 각각 권한 가중치 및 허브 가중치를 의미한다. 일 실시예에서, 세 벡터의 각 하나(사용자 가중치 u, 웹 페이지 권한 가중치 a 및 허브 가중치 h)는 (1과 같은) 어떤 값으로 각각 초기화되어 있다. 다음, 모든 세 벡터 h, a u는 인터넷 사용에 기초하여 수식 (6), (7) 및 (8)에 각각 나타난 다음 계산을 고려하여 반복적으로 업데이트된다.
Figure 112005019641459-pat00024
Figure 112005019641459-pat00025
Figure 112005019641459-pat00026
여기서, p 및 q는 특정 웹 페이지를 나타내며, r은 특정 사용자를 나타낸다. 개시된 네트워크의 일부 실시예에서 두 유형의 링크가 있다: 상이한 페이지들 사이의 링크(하이퍼링크) 및 사용자와 페이지 사이의 링크(브라우징 패턴(browsing pattern)). A=[a ij ]는 세 벡터 h, a u 모두에 대한 기본 집합의 이웃 매트릭스를 나타낸다. 페이지 i가 페이지 j를 링크하는 경우 a ij =1, 또는 대안적으로 a ij =0임에 유의하자. V=[v ij ]는 웹 페이지 집합에 대한 사용자 집합의 방문 매트릭스이다. 사용자 i가 페이지 j를 방문하는 경우 v ij =1, 또는 대안적으로 v ij =0임을 고려한다. 또한, 다음과 같이 수식 (8), (10) 및 (11)이 주어진다.
Figure 112005019641459-pat00027
Figure 112005019641459-pat00028
Figure 112005019641459-pat00029
일 실시예에서, 수식 (9), (10) 및 (11)에 나타난 벡터 a, h, u에 대한 계산은, 의미 있는 결과를 제공하기 위해 수 회의 반복을 겪게 된다. 일부 실시예에서는 반복하기 전에, 벡터 a, h u 각각에 무작위 값이 할당된다. 각 반복 다음에 a, h u의 값은 변경되고, 다음 반복의 기초를 제공하기 위해 정규화될 것이다. 각 반복 다음, a, h u의 각 반복 값은 어떤 값에 개별적으로 수렴하는 경향이 있다. 사용자 가중치 u i 가 높은 사용자와 권한 가중치 a j 및/또는 허브 가중치 h j 가 높은 웹 페이지는 기록될 수 있다. 바람직한 실시예에서, 일부 개별적인 사용자 또는 웹 페이지 객체는 다른 개별적인 사용자 또는 웹 페이지 객체보다 더 높은 값을 할당받을 수 있다. 값이 더 높을수록, 더 큰 중요도가 그 객체에 할당된다.
이에 의해, 본 설명에서 설명된 클러스터링할 수 있는 링크 분석 알고리즘의 실시예는 웹 페이지 및 사용자 모두로부터의 반복적인 입력에 의존할 수 있다. 이와 같이, 사용자로부터의 가중치 부여된 입력은 웹 페이지의 클러스터링 알고리즘에 적용된다. 클러스터링을 위해 가중치 부여된 사용자 입력을 사용하면, 검색 결과의 정확도 및 클러스터링 알고리즘이 수행될 수 있는 속도가 개선된다.
본 명세서에서 설명된 링크 분석 알고리즘이 사용자에 기초하여 웹 페이지를 클러스터링하기 위한 클러스터링 알고리즘에 적용되었으나, 상기 링크 분석 알고리즘은 임의의 이종 클러스터링 알고리즘에 적용될 수 있다는 점에 유의하자. 이 가중화는, 본 명세서에서 설명된 대로 중요도를 갖는 클러스터링을 부분적으로 제공한다.
객체 유형을 클러스터링하는데 사용될 수 있는 클러스터링 알고리즘의 다양한 실시예들이 설명된다. 클러스터링 알고리즘은 클러스터링될 데이터 객체 간의 어떤 유사도에 기초하여 데이터 객체들의 자연스런 그룹들을 찾으려고 시도한다. 따라서, 클러스터링 알고리즘은 데이터 객체 상에 클러스터링 동작을 수행한다. 또한, 클러스터링 알고리즘의 일부 실시예는 데이터 집합의 중심을 찾는데, 이때 중심이란 그 파라미터 값이 클러스터 내의 모든 점의 파라미터 값들의 평균치를 나타내는 점이다. 클러스터의 멤버십(membership)을 결정하기 위하여, 대부분의 클 러스터링 알고리즘은 한 점과 클러스터 중심 간의 거리를 구한다. 클러스터링 알고리즘의 출력은, 기본적으로 각 클러스터 내 구성 요소들의 개수를 가지는 클러스터 중심에 대한 통계적 설명이다.
본 설명에서 클러스터링 알고리즘의 복수의 실시예가 설명된다. 양방향 k-수단 클러스터링 알고리즘은 클러스터링 프로세스의 상호 강화에 기초한다. 양방향 k-수단 클러스터링 알고리즘은 반복 클러스터링 알고리즘이다. 양방향 k-수단 클러스터링 알고리즘에서, 객체 중요도가 수식 (6)-(8) 또는 (9)-(11)에 의해 먼저 계산되고, 다음 그 결과는 다음의 반복 클러스터링 절차에 적용된다. 클러스터링 알고리즘은 정의된 유사도 함수에 기초하여 각 계층 내에서 객체를 클러스터링한다. 비록 k-수단, k-메도이드(k-medoid) 및 응집 계층적 수단(agglomerative hierarchical methods)과 같은 수많은 클러스터링 알고리즘이 사용될 수 있지만, 본 설명은 k-수단 클러스터링 알고리즘의 응용을 설명한다.
계산된 노드의 중요도 스코어를 적용하기 위한 몇몇 기술이 있다. 한 가지 기술은 기본 k-수단 클러스터링 알고리즘을 '가중치 부여된' k-수단 알고리즘으로 변형시키는 것을 포함한다. 변형된 k-수단 알고리즘에서, 주어진 클러스터의 중심은, 중요도 스코어를 결정하는 가중치 설정으로 특징들의 가중화된 합을 사용하여 계산된다. 이에 의해, 콘텐츠 및 링크 특징 양자에 대한 클러스터 중심을 생성하는데 있어서 중요도나 가중화가 더 높은 노드는 좀 더 강조된다. 다른 실시예는, 노드의 링크 가중치를 그 중요도 스코어로 변형하고, 그 다음 그 가중치 부여된 링크 특징을 유사도 함수에 사용하는 것을 포함한다. 이러한 방식에서는, 노드의 중 요도는 클러스터링 프로세스 내 링크 특징에만 반영된다.
클러스터링 알고리즘의 입출력의 일 실시예가 도 8 및 9에 도시되어 있다. 클러스터링 알고리즘에 대한 입력은 (노드의 콘텐츠 특징 fi 및 gj를 포함하는) 이층 구조의 프레임워크 그래프(550)를 포함한다. 클러스터링 알고리즘의 출력은 클러스터링을 반영하는 새로운 프레임워크 그래프(550)를 포함한다. 새로운 프레임워크 그래프의 특정 실시예에서는, 새로운 노드 위치로 변경된 이전 노드 각각의 변동이 도시될 수 있다.
클러스터링 알고리즘(850)의 일 실시예를 도시하는 흐름도가 도 8 및 9에 도시되어 있다. 클러스터링 알고리즘(850)은 (각 클러스터링 반복 전에) 최초의 프레임워크 그래프를 입력하는 단계(851)를 포함한다. 단계(852)에서, 고려되는 각 노드의 중요도가 수학식 6 내지 8 또는 9 내지 11을 사용하여 계산되거나 결정된다. 단계(854)에서, 클러스터링을 위하여 임의의 계층이 선택된다. 선택된 계층의 노드들은 단계(855)에서 적절한 방식으로(예를 들어, 콘텐츠 특징에 따라) 클러스터링된다. 특정 실시예에서는, 클러스터링을 개선하기 위하여 (도시되지 않은) 희망하는 필터링 알고리즘을 사용하여 노드들이 필터링될 수 있다. 단계(856)에서, 각 클러스터의 노드들은 하나의 노드로 병합된다. 이를테면, 만약 필터링 후에 두 개의 후보 노드가 존재한다면, 가장 인접한 두 개의 후보 노드가, 예를 들어, 두 후보 노드의 벡터값 평균에 의해 병합될 수 있다. 이러한 병합에 의해, 개별 노드들이 결합됨으로써, 고려되어야 하는 노드들의 수가 감소할 수 있다. 이와 같이, 병합 조작은 중복 및 준 중복(near-duplicates)의 발생을 감소시키는데 사용될 수 있다.
단계(857)에서, 병합에 기초하여 대응하는 링크가 업데이트된다. 단계(858)에서, 클러스터링 알고리즘은 클러스터링을 위하여 (임의의 선택된 계층으로부터) 두 번째 계층으로 전환한다(switches). 단계(960)에서, 두 번째 계층의 노드들이 그들의 콘텐츠 특징 및 업데이트된 링크 특징에 따라 클러스터링된다. 단계(961)에서, 각 클러스터의 노드들이 하나의 노드로 병합된다.
단계(962)에서, 다른 계층의 최초의 링크 구조 및 최초의 노드들이 복원된다. 단계(964)에서, 두 번째 계층의 각 클러스터의 노드들이 병합되고, 대응하는 링크가 업데이트된다. 단계(966)에서, 이러한 반복적인 클러스터링 프로세스가 컴퓨터 환경 내에서 지속된다. 단계(968)에서, 프레임워크 그래프(550)의 수정판이 출력된다.
초기 클러스터링 패스에서는, 단지 콘텐츠 특징만이 이용된다. 많은 경우에 있어서 링크 특징은 초기에는 너무 드물어서 클러스터링에 유용하지 않기 때문이다. 다음의 클러스터링 패스에서는, 클러스터링의 효율성을 강화하기 위하여 콘텐츠 특징 및 링크 특징이 결합된다. 콘텐츠 특징 및 링크 특징을 결합함으로써, 가중치(weights)가 다른 값으로 지정되고 결과가 비교될 수 있으며, 개선된 정확도를 갖는 클러스터링이 제공될 수 있다.
도 8 및 9와 관련하여 설명된 바와 같은 클러스터링 알고리즘은 많은 클러스터링 구현(embodiments)에 적용될 수 있다. 더 자세하게, 사용자에 의해 웹 페이 지가 액세스되는 방법에 기초한 웹 페이지의 클러스터링에 관한 일 실시예가 이제 설명된다. 사용자 계층의 노드와 웹 페이지 계층의 노드 사이를 연결하는 유형의 링크에서, 만약 uj로부터 pi로 하나의 링크가 존재하면, 사용자 uj는 웹 페이지 pi를 이전에 방문한 적이 있는 것이다. 링크의 가중치는 사용자 uj가 특정 시간에 페이지 pi를 방문할 확률을 의미하며, Pr(pi|uj)과 같이 표시된다. 이는, 수학식 12에 표현된 바와 같이, 관측된 데이터 내에서 숫자를 카운팅함으로써 간단하게 계산될 수 있다.
Figure 112005019641459-pat00030
여기서, P(uj)는 사용자 uj에 의해 이전에 방문된 페이지들의 집합이며, C(pi,uj)는 사용자 uj가 이전에 페이지 pi를 방문한 카운트를 나타낸다.
도 10의 프레임워크 그래프(550)의 일 실시예에서 도시된 바와 같은, 클러스터링 알고리즘의 일 실시예는 개념 계층 또는 숨은 계층을 포함한다. 도 10에서는, 간단함을 위하여, 도 5의 프레임워크 그래프에 도시된 계층-내부 링크(503 및 505)가 숨겨져 있다. 그러나 도 10에 도시된 바와 같은 프레임워크 그래프(550)의 실시예는, 계층-내부 링크 및 계층-간 링크의 임의의 조합에 의존할 수 있으며, 여전히 본 발명의 기재된 설명의 개념 내에 존재한다.
(도 10에 도시된 바와 같은 프레임워크 그래프(550)의 실시예에서) 숨은 계층(1070)은 웹 페이지 계층과 사용자 계층 사이에 위치한다. 숨은 계층(550)은, 최초의 노드 집합 P와 U 사이를 연결하는 링크와 비교했을 때 더 개선된 실현 모델링을 허용하는 추가적인 추상화 계층(이로부터 각각의 노드 집합 P 및 U로 링크가 연결됨)을 제공한다. (숨은 계층을 갖지 않는) 도 5에 도시된 바와 같은 프레임워크 그래프(550)의 실시예에서의 계층-간 링크(504) 중 하나는, 도 10에 도시된 바와 같은 프레임워크 그래프(550)의 실시예에서의 숨은 계층-간 링크의 쌍으로서 모델링될 수 있다. 숨은 계층-간 링크 중 하나는 노드 집합 P를 포함하는 웹 페이지 계층과 숨은 계층(1070) 사이를 연결하며, 숨은 계층-간 링크 중 하나는 사용자 계층과 숨은 계층(1070) 사이를 연결한다. 숨은 계층-간 링크에 의하여 숨은 계층의 노드로 연결되는 노드 집합 P 및 U 각각에서의 특정 웹 페이지 및 사용자도 마찬가지로, 도 10에 도시된 숨은 계층-간 링크 각각의 화살표 방향은 임의적이다.
노드 집합 P를 포함하는 웹 페이지 계층과 숨은 계층(1070) 사이를 연결하는 링크(즉, 숨은 계층-간 링크)는 어떻게 웹 페이지 p1, p2 등이 숨은 계층(1070)의 특정 개념 노드 P(c1), P(c2) 등에 속하는지를 표시한다. 사용자 계층과 숨은 계층(1070) 사이를 연결하는 링크(즉, 숨은 계층-간 링크)는 어느 정도 사용자 노드 u1, u2 등이 숨은 계층(1070) 내의 특정 개념 노드 P(c1), P(c2) 등에 관심이 있는지를 표시한다.
그러므로, 웹 페이지 계층과 개념 계층 사이를 연결하는 링크 각각은, 웹 페 이지 pi가 개념 카테고리 ck로 분류되는 확률을 나타내며, Pr(pi|ck)로 표시된다. 프레임워크 그래프에 의해 구현된 본 모델은, Naive Bayesian 분류에서 사용된 가정을 공유하여 서로 다른 단어는 조건부 독립으로 간주한다. 따라서 개념 ck는 정규 분포, 즉, 기대에 대한 벡터
Figure 112005019641459-pat00031
및 공분산(covariance)에 대한 벡터
Figure 112005019641459-pat00032
로 표현될 수 있다. Pr(pi|ck)의 값은 수학식 13과 같이 유도될 수 있다.
Figure 112005019641459-pat00033
여기서, wl,i는 l번째 단어에 대한 웹 페이지 pi의 가중치이다.
사용자 계층의 노드와 숨은 계층의 노드 사이를 연결하는 (Pr(ck|uj)으로 표시된) 링크들은 개념에 의해 반영된 카테고리에 대한 사용자의 관심을 반영한다. 따라서, 하나의 벡터 (Ij1, Ij2,…, Ijn),Ijk = Pr(ck|uj)는 각각의 사용자에 대응하며, 여기서 n은 숨은 개념의 숫자이다. 도 10에 도시된 링크는 사용자에 대한 벡터 모델로 고려될 수 있다. 벡터는 수학식 14에 나타낸 바와 같은 사용자의 사용 데이터에 의해 제약된다.
Figure 112005019641459-pat00034
따라서, Pr(ck|uj)의 값은 수학식 13으로부터 해답을 찾음으로써 얻을 수 있다.
간단하게, Pr(pi|uj) = Ri,j, Pr(pi|ck) = Si,k 및 Pr(ck|uj) = Tk,j라고 하자. 사용자 j는 수학식 15에 나타낸 바와 같이 개별적으로 고려될 수 있다.
Figure 112005019641459-pat00035
여기서, "|Page|"는 웹 페이지의 총 수이며, "|Concept|"는 숨은 개념의 총 수이다. |Page| 》|Concept| 이므로, Tk ,j의 최소 제곱 해답은 수학식 15를 사용하여 또는 택일적으로 수학식 16을 사용하여 풀 수 있다.
Figure 112005019641459-pat00036
여기서 "|User|"는 사용자의 총 숫자이다.
|User| 》|Concept| 이므로, 수학식 17에 나타낸 바와 같이 Si,k의 최소 제곱 해답 또한 구할 수 있다.
Figure 112005019641459-pat00037
기대에 대한 벡터
Figure 112005019641459-pat00038
를 얻은 후, 공분산에 대한 새로운 벡터
Figure 112005019641459-pat00039
가 계산될 수 있다. 도 10에서는 프레임워크 그래프(550)의 실시예는 노드 집합 P와 노드 집합 U 사이를 연결하는 것으로 도시되어 있지만, 노드 집합의 특정 콘텐츠가 본질적으로 설명적이며 임의의 노드 집합에 적용될 수 있음이 예견된다.
웹 페이지 객체가 사용자 객체에 기초하여 클러스터링되는 클러스터링 알고리즘의 일 실시예가, 도 11의 흐름도(1100)에 도시된 바와 같은 웹 페이지 클러스터링 알고리즘의 일 실시예와 관련하여 이하 설명된 바와 같이 약술될 수 있다.
1. 단계(1102)에 도시된 바와 같이 사용자들의 로그 그룹을 수집한다.
2. 수학식 12 및 도 11의 단계(1104)에 도시된 바와 같이, 사용자 uj가 특정 시간에 웹 페이지 pi를 방문할 확률 Pr(pi|uj)을 계산한다.
3. 도 11의 단계(1106)에서 숨은 개념 계층(도 10에 도시된 바와 같은 670)에 대한 노드의 숫자 |Concept|를 정의하고, 도 11의 단계(1108)에서 기대에 대한 벡터
Figure 112005019641459-pat00040
및 공분산에 대한 초기 벡터
Figure 112005019641459-pat00041
에 대하여 초기 파라미터를 임의적으로 할당한다.
4. 수학식 13 및 도 11의 단계(1110)에 도시된 바와 같이, 웹 페이지 pi가 개념 카테고리 ck로 분류될 확률을 나타내는 Pr(pi|ck)의 값을 계산한다.
5. 도 11의 단계(1112)에 도시된 바와 같이 수학식 15에 의해 유도될 수 있는, 사용자 노드와 숨은 계층 노드 사이의 링크에 대한 사용자의 관심을 나타내는 Pr(ck|uj)를 계산한다.
6. 도 11에 도시된 바와 같이, 수학식 13을 풀어서 위의 단계 4에서 결정된 바와 같은 웹 페이지가 개념 카테고리로 분류될 확률 Pr(pi|ck)을 업데이트한다.
7. 수학식 13에 나타낸 바와 같이 Pr(pi|ck)를 사용하여 숨은 개념 노드 각각에 대한 파라미터를 재추정한다.
8. 노드 집합의 값에 대한 일부 기초를 제공하기 위하여 수학식 13 및 15를 몇 번 반복한다(또는 최소한 모델이 안정적인 노드 집합 벡터 결과를 나타낼 때까지 반복한다).
확장형 문서 검색을 위한 컴퓨터-구현형 콘텐츠 전파(computer-implemented content propagation)를 제공하는 시스템 및 방법이 개시된다. 일 양상에 있어서, 하나 이상의 문서에 관한 참조 정보가 식별된다. 이러한 참조 정보는 상기 하나 이상의 문서를 포함하고 있는 데이터 소스와 무관한 하나 이상의 데이터 소스들로부터 식별된다. 그와 같은 참조 정보 근처에 위치한 메타데이터가 상기 하나 이상의 데이터 소스로부터 추출된다. 메타데이터에 있어서의 각 특징들과 상기 하나 이상의 문서들 중 관련 문서의 콘텐츠 간의 관련도(relevance)가 계산된다. 상기 하나 이상의 문서들 중 각 문서마다, 메타데이터의 관련 부분들이 그 각 부분의 특 징들의 상기 관련도와 함께 해당 문서의 원래 콘텐츠로 인덱싱된다. 이러한 인덱싱은 하나 이상의 확장형 문서를 생성해낸다.

Claims (52)

  1. 확장형 문서 검색을 위한 컴퓨터-구현형 콘텐츠 전파(computer-implemented content propagation)를 제공하는 방법으로서,
    하나 이상의 문서들에 관한 참조 정보를 식별하는 단계 - 하나 이상의 데이터 소스들로부터 식별된 상기 참조 정보는 상기 하나 이상의 문서들을 포함하는 데이터 소스와는 무관함 -;
    상기 참조 정보의 주위에 있는 메타데이터(metadata)를 추출하는 단계 - 상기 메타데이터는 상기 참조 정보와 의미상 또는 구문상 관련되어 있음 -;
    상기 하나 이상의 문서들 중 연관된 문서들의 콘텐츠에 대한 상기 메타데이터의 각각의 특징들 간의 관련도(relevance)를 계산하는 단계;
    상기 하나 이상의 문서들 중 각각의 문서에 대하여, 상기 메타데이터의 연관된 부분을 관련도 스코어와 함께 각각의 부분으로부터의 상기 특징들의 관련도를 갖고 상기 문서의 원래 콘텐츠에 인덱싱하는 단계 - 상기 인덱싱은 하나 이상의 확장형 문서들을 생성함 -;
    검색 질의에 기초하여 관련도 정보를 위치 지정하기 위하여 상기 하나 이상의 확장형 문서들을 분석하는 단계;
    상기 하나 이상의 확장형 문서들을 관련도 스코어들에 기초하여 랭킹을 부여하는 단계; 및
    상기 검색 질의에 기초하여, 상기 하나 이상의 확장형 문서들에 대해 랭킹된 결과 및 정보의 설명(snippet description)들을 전달하는 단계
    를 포함하며,
    상기 하나 이상의 데이터 소스들은 검색 질의 로그를 포함하며,
    상기 관련도를 계산하는 단계는,
    상기 검색 질의 로그로부터 검색 질의들을 식별하는 단계 - 상기 검색 질의들은 상기 데이터 소스를 검색하기 위하여 미리 정해진 발생 빈도(frequency of occurrence)보다 높은 발생 빈도(FOO)를 가짐 -;
    검색 질의 결과들로부터 최종 사용자에 의해 선택된 기사(들)를 결정하는 단계 - 상기 기사(들)는 상기 데이터 소스로부터의 것임 -; 및
    누락(missing)된 최종 사용자 선택(들)을 결정하는 단계 - 누락된 최종 사용자 선택은 상기 검색 질의 결과들 중에서 선택되지 않은 기사임 -
    를 더 포함하며,
    상기 누락된 최종 사용자 선택(들)을 결정하는 단계는, 이종 객체들의 특징들에 대한 중요도 측정들을 결정하기 위하여 계층간 링크들을 사용하여 상기 이종 객체들을 클러스터링하는 단계를 더 포함하며,
    상기 이종 객체는, 유사한 질의들의 제1 클러스터 및 관련된 문서들의 제2 클러스터를 포함하고,
    상기 유사한 질의들은, 상기 검색 질의 로그에서 식별되었으며, 상기 하나 이상의 문서들을 포함하는 검색 결과(들)와 연관되어 있고,
    상기 관련된 문서들은, 상기 관련된 문서들 중 개별 문서가 상기 검색 결과들로부터 최종 사용자에 의해 선택되었는지 여부와는 무관하게 상기 검색 결과(들)에서 식별되는 방법.
  2. 제1항에 있어서,
    상기 참조 정보는 상기 하나 이상의 문서들 중 한 문서와 연관된 고유한 문서 ID 또는 링크 중 적어도 하나를 포함하는 방법.
  3. 제1항에 있어서,
    상기 메타데이터는 기사의 제목(들), 제품 문제 컨텍스트(context), 또는 제품 문제 해결책 정보 중 적어도 하나를 포함하며,
    상기 관련도를 계산하는 단계는, 임의의 제품 문제 해결책 정보보다 더 큰 관련도를 나타내기 위하여, 상기 기사 제목(들) 또는 제품 문제 컨텍스트에 가중치를 부여하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 관련도를 계산하는 단계는, 상기 콘텐츠의 다른 메타데이터 특징들의 발생 빈도에 비해 상기 데이터 소스의 콘텐츠에서 더 큰 빈도로 발생하는 메타데이터의 특징(들)에 더 큰 관련도를 할당하는 단계를 더 포함하는 방법.
  5. 확장형 문서 검색을 위한 콘텐츠 전파를 제공하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 기억 매체로서, 상기 컴퓨터 실행가능 명령어들은,
    하나 이상의 문서들에 관한 참조 정보를 식별하는 명령어 - 하나 이상의 데이터 소스들로부터 식별된 상기 참조 정보는 상기 하나 이상의 문서들을 포함하는 데이터 소스와는 무관함 -;
    상기 참조 정보의 주위에 있는 메타데이터를 추출하는 명령어 - 상기 메타데이터는 상기 참조 정보와 의미상 또는 구문상 관련되어 있음 -;
    상기 하나 이상의 문서들 중 연관된 문서들의 콘텐츠에 대한 상기 메타데이터의 각각의 특징들 간의 관련도를 계산하는 명령어;
    상기 하나 이상의 문서들 중 각각의 문서에 대하여, 상기 메타데이터의 연관된 부분을 관련도 스코어와 함께 각각의 부분으로부터의 상기 특징들의 관련도를 갖고 상기 문서의 원래 콘텐츠에 인덱싱하는 명령어 - 상기 인덱싱은 하나 이상의 확장형 문서들을 생성함 -;
    검색 질의에 기초하여 관련도 정보를 위치 지정하기 위하여 상기 하나 이상의 확장형 문서들을 분석하는 명령어;
    상기 하나 이상의 확장형 문서들의 검색을 관련도 스코어들에 기초하여 랭킹을 부여하는 명령어; 및
    상기 검색 질의에 기초하여, 확장형 문서 검색에 대해 랭킹된 결과 및 정보의 설명들을 전달하는 명령어
    를 포함하며,
    상기 하나 이상의 데이터 소스들은 검색 질의 로그를 포함하며,
    상기 관련도를 계산하는 명령어는,
    상기 검색 질의 로그로부터 검색 질의들을 식별하는 명령어 - 상기 검색 질의들은 상기 데이터 소스를 검색하기 위하여 미리 정해진 발생 빈도보다 높은 발생 빈도(FOO)를 가짐 -;
    검색 질의 결과들로부터 최종 사용자에 의해 선택된 기사(들)를 결정하는 명령어 - 상기 기사(들)는 상기 데이터 소스로부터의 것임 -; 및
    누락된 최종 사용자 선택(들)을 결정하는 명령어 - 누락된 최종 사용자 선택은 상기 검색 질의 결과들 중에서 선택되지 않은 기사임 -
    를 더 포함하며,
    상기 누락된 최종 사용자 선택(들)을 결정하는 명령어는, 이종 객체들의 특징들에 대한 중요도 측정들을 결정하기 위하여 계층간 링크들을 사용하여 상기 이종 객체들을 클러스터링하는 명령어를 더 포함하며,
    상기 이종 객체는, 유사한 질의들의 제1 클러스터 및 관련된 문서들의 제2 클러스터를 포함하고,
    상기 유사한 질의들은, 상기 검색 질의 로그에서 식별되었으며, 상기 하나 이상의 문서들을 포함하는 검색 결과(들)와 연관되어 있고,
    상기 관련된 문서들은, 상기 관련된 문서들 중 개별 문서가 상기 검색 결과들로부터 최종 사용자에 의해 선택되었는지 여부와는 무관하게 상기 검색 결과(들)에서 식별되는 컴퓨터 판독가능 기억 매체.
  6. 제5항에 있어서,
    상기 참조 정보는 상기 하나 이상의 문서들 중 한 문서와 연관된 고유한 문서 ID 또는 링크 중 적어도 하나를 포함하는 컴퓨터 판독가능 기억 매체.
  7. 제5항에 있어서,
    상기 메타데이터는 기사의 제목(들), 제품 문제 컨텍스트, 또는 제품 문제 해결책 정보 중 적어도 하나를 포함하며,
    상기 관련도를 계산하는 명령어는, 임의의 제품 문제 해결책 정보보다 더 큰 관련도를 나타내기 위하여, 상기 기사 제목(들) 또는 제품 문제 컨텍스트에 가중치를 부여하는 명령어를 더 포함하는 컴퓨터 판독가능 기억 매체.
  8. 제5항에 있어서,
    상기 특징들은 상기 제1 클러스터 및 제2 클러스터의 각각의 노드들로 표현되며,
    상기 노드들의 각각에 대한 상기 중요도 측정(들)은, 상기 제1 클러스터 및 제2 클러스터의 객체들 간의 거리를 측정하는 유사도 함수에 기초하는 컴퓨터 판독가능 기억 매체.
  9. 확장형 문서 검색을 위한 콘텐츠 전파를 제공하는 컴퓨팅 장치로서,
    프로세서; 및
    상기 프로세서에 연결된 메모리
    를 포함하며,
    상기 메모리는, 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령어들을 포함하며, 상기 컴퓨터 프로그램 명령어들은,
    하나 이상의 문서들에 관한 참조 정보를 식별하는 명령어 - 하나 이상의 데이터 소스들로부터 식별된 상기 참조 정보는 상기 하나 이상의 문서들을 포함하는 데이터 소스와는 무관함 -;
    상기 참조 정보의 주위에 있는 메타데이터를 추출하는 명령어 - 상기 메타데이터는 상기 참조 정보와 의미상 또는 구문상 관련되어 있음 -;
    상기 하나 이상의 문서들 중 연관된 문서들의 콘텐츠에 대한 상기 메타데이터의 각각의 특징들 간의 관련도를 계산하는 명령어;
    상기 하나 이상의 문서들 중 각각의 문서에 대하여, 상기 메타데이터의 연관된 부분을 관련도 스코어와 함께 각각의 부분으로부터의 상기 특징들의 관련도를 갖고 상기 문서의 원래 콘텐츠에 인덱싱하는 명령어 - 상기 인덱싱은 하나 이상의 확장형 문서들을 생성함 -;
    검색 질의에 기초하여 관련도 정보를 위치 지정하기 위하여 상기 하나 이상의 확장형 문서들을 분석하는 명령어;
    상기 하나 이상의 확장형 문서의 검색을 관련도 스코어들에 기초하여 랭킹을 부여하는 명령어; 및
    상기 검색 질의에 기초하여, 확장형 문서의 검색에 대해 랭킹된 결과 및 정보의 설명들을 전달하는 명령어
    를 포함하며,
    상기 하나 이상의 데이터 소스들은 검색 질의 로그를 포함하며,
    상기 관련도를 계산하는 명령어는,
    상기 검색 질의 로그로부터 검색 질의들을 식별하는 명령어 - 상기 검색 질의들은 상기 데이터 소스를 검색하기 위하여 미리 정해진 발생 빈도보다 높은 발생 빈도(FOO)를 가짐 -;
    검색 질의 결과들로부터 최종 사용자에 의해 선택된 기사(들)를 결정하는 명령어 - 상기 기사(들)는 상기 데이터 소스로부터의 것임 -; 및
    누락된 최종 사용자 선택(들)을 결정하는 명령어 - 누락된 최종 사용자 선택은 상기 검색 질의 결과들 중에서 선택되지 않은 기사임 -
    를 포함하며,
    상기 누락된 최종 사용자 선택(들)을 결정하는 명령어는, 이종 객체들의 특징들에 대한 중요도 측정들을 결정하도록 계층간 링크들을 사용하여 상기 이종 객체들을 클러스터링하는 명령어를 더 포함하며,
    상기 이종 객체는, 유사한 질의들의 제1 클러스터 및 관련된 문서들의 제2 클러스터를 포함하고,
    상기 유사한 질의들은, 상기 검색 질의 로그에서 식별되었으며, 상기 하나 이상의 문서들을 포함하는 검색 결과(들)와 연관되어 있고,
    상기 관련된 문서들은, 상기 관련된 문서들 중 개별 문서가 상기 검색 결과들로부터 최종 사용자에 의해 선택되었는지 여부와는 무관하게 상기 검색 결과(들)에서 식별되는 컴퓨팅 장치.
  10. 제9항에 있어서,
    상기 참조 정보는 상기 하나 이상의 문서들 중 한 문서와 연관된 고유한 문서 ID 또는 링크 중 적어도 하나를 포함하는 컴퓨팅 장치.
  11. 제9항에 있어서,
    상기 메타데이터는 기사의 제목(들), 제품 문제 컨텍스트, 또는 제품 문제 해결책 정보 중 적어도 하나를 포함하며,
    상기 관련도를 계산하는 명령어는, 임의의 제품 문제 해결책 정보보다 더 큰 관련도를 나타내기 위하여, 상기 기사 제목(들) 또는 제품 문제 컨텍스트에 가중치를 부여하는 명령어를 더 포함하는 컴퓨팅 장치.
  12. 제9항에 있어서,
    상기 관련도를 계산하는 명령어는, 문서의 연령의 함수로서 상기 하나 이상의 문서들 중 하나의 문서에서 발견된 메타데이터의 특징(들)에 더 큰 가중치를 할당하는 명령어를 더 포함하는 컴퓨팅 장치.
  13. 확장형 문서 검색을 위한 콘텐츠 전파를 제공하는 컴퓨팅 장치로서,
    프로세서; 및
    상기 프로세서에 연결된 메모리
    를 포함하며,
    상기 메모리는, 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령어들을 포함하며, 상기 컴퓨터 프로그램 명령어들은,
    하나 이상의 문서들에 관한 참조 정보를 식별하는 명령어 - 하나 이상의 데이터 소스들로부터 식별된 상기 참조 정보는 상기 하나 이상의 문서들을 포함하는 데이터 소스와는 무관함 -;
    상기 참조 정보의 주위에 있는 메타데이터를 추출하는 명령어 - 상기 메타데이터는 상기 참조 정보와 의미상 또는 구문상 관련되어 있음 -;
    상기 하나 이상의 문서들 중 연관된 문서들의 콘텐츠에 대한 상기 메타데이터의 각각의 특징들 간의 관련도를 계산하는 명령어;
    상기 하나 이상의 문서들 중 각각의 문서에 대하여, 상기 메타데이터의 연관된 부분을 관련도 스코어와 함께 각각의 부분으로부터의 상기 특징들의 관련도를 갖고 상기 문서의 원래 콘텐츠에 인덱싱하는 명령어 - 상기 인덱싱은 하나 이상의 확장형 문서들을 생성함 -;
    검색 질의에 기초하여 관련도 정보를 위치 지정하기 위하여 상기 하나 이상의 확장형 문서들을 분석하는 명령어;
    상기 하나 이상의 확장형 문서의 검색을 관련도 스코어들에 기초하여 랭킹을 부여하는 명령어; 및
    상기 검색 질의에 기초하여, 확장형 문서의 검색에 대해 랭킹된 결과 및 정보의 설명들을 전달하는 명령어
    를 포함하며,
    상기 계산하는 명령어는, 이종 객체들의 특징들에 대한 중요도 측정들을 결정하도록 계층간 링크들을 사용하여 상기 이종 객체들을 클러스터링하는 명령어를 더 포함하며,
    상기 이종 객체는, 유사한 질의들의 제1 클러스터 및 관련된 문서들의 제2 클러스터를 포함하고,
    상기 유사한 질의들은, 상기 검색 질의 로그에서 식별되었으며, 상기 하나 이상의 문서들을 포함하는 검색 결과(들)와 연관되어 있고,
    상기 관련된 문서들은, 상기 관련된 문서들 중 개별 문서가 상기 검색 결과들로부터 최종 사용자에 의해 선택되었는지 여부와는 무관하게 상기 검색 결과(들)에서 식별되는 컴퓨팅 장치.
  14. 제13항에 있어서,
    상기 참조 정보는 상기 하나 이상의 문서들 중 한 문서와 연관된 고유한 문서 ID 또는 링크 중 적어도 하나를 포함하는 컴퓨팅 장치.
  15. 제13항에 있어서,
    상기 관련도를 계산하는 명령어는, 상기 콘텐츠의 다른 메타데이터 특징들의 발생 빈도에 비해 상기 데이터 소스의 콘텐츠에서 더 큰 빈도로 발생하는 메타데이터의 특징(들)에 더 큰 관련도를 할당하는 명령어를 더 포함하는 컴퓨팅 장치.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
KR1020050031308A 2004-04-15 2005-04-15 확장형 문서 검색을 위한 콘텐츠 전파 KR101114023B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/826,161 US7305389B2 (en) 2004-04-15 2004-04-15 Content propagation for enhanced document retrieval
US10/826,161 2004-04-15

Publications (2)

Publication Number Publication Date
KR20060045743A KR20060045743A (ko) 2006-05-17
KR101114023B1 true KR101114023B1 (ko) 2014-02-26

Family

ID=34939223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050031308A KR101114023B1 (ko) 2004-04-15 2005-04-15 확장형 문서 검색을 위한 콘텐츠 전파

Country Status (5)

Country Link
US (1) US7305389B2 (ko)
EP (1) EP1587009A3 (ko)
JP (1) JP4750456B2 (ko)
KR (1) KR101114023B1 (ko)
CN (1) CN100511224C (ko)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6831663B2 (en) * 2001-05-24 2004-12-14 Microsoft Corporation System and process for automatically explaining probabilistic predictions
JPWO2004034282A1 (ja) * 2002-10-10 2006-02-09 富士通株式会社 コンテンツ再利用管理装置およびコンテンツ再利用支援装置
US20050114382A1 (en) * 2003-11-26 2005-05-26 Lakshminarayan Choudur K. Method and system for data segmentation
US7827279B2 (en) * 2004-01-30 2010-11-02 Hewlett-Packard Development Company, L.P. Selecting nodes close to another node in a network using location information for the nodes
US20050278314A1 (en) * 2004-06-09 2005-12-15 Paul Buchheit Variable length snippet generation
US7716225B1 (en) 2004-06-17 2010-05-11 Google Inc. Ranking documents based on user behavior and/or feature data
US7827176B2 (en) 2004-06-30 2010-11-02 Google Inc. Methods and systems for endorsing local search results
US8825639B2 (en) * 2004-06-30 2014-09-02 Google Inc. Endorsing search results
US7593924B2 (en) 2004-09-20 2009-09-22 Microsoft Corporation Method, system, and apparatus for receiving and responding to knowledge interchange queries
US7707167B2 (en) * 2004-09-20 2010-04-27 Microsoft Corporation Method, system, and apparatus for creating a knowledge interchange profile
US7730010B2 (en) 2004-09-20 2010-06-01 Microsoft Corporation Method, system, and apparatus for maintaining user privacy in a knowledge interchange system
US20060212441A1 (en) * 2004-10-25 2006-09-21 Yuanhua Tang Full text query and search systems and methods of use
US20080077570A1 (en) * 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
KR20070089155A (ko) * 2004-11-17 2007-08-30 더 리젠트스 오브 더 유니이버시티 오브 캘리포니아 웹 페이지를 제공하기 위한 시스템 및 방법
US7765214B2 (en) * 2005-05-10 2010-07-27 International Business Machines Corporation Enhancing query performance of search engines using lexical affinities
JP4626483B2 (ja) * 2005-10-27 2011-02-09 ソニー株式会社 サーバ装置、データ処理方法、プログラムおよび通信方法
US7584159B1 (en) * 2005-10-31 2009-09-01 Amazon Technologies, Inc. Strategies for providing novel recommendations
US9495349B2 (en) * 2005-11-17 2016-11-15 International Business Machines Corporation System and method for using text analytics to identify a set of related documents from a source document
US20070112833A1 (en) * 2005-11-17 2007-05-17 International Business Machines Corporation System and method for annotating patents with MeSH data
US7668821B1 (en) 2005-11-17 2010-02-23 Amazon Technologies, Inc. Recommendations based on item tagging activities of users
US20070136400A1 (en) * 2005-12-13 2007-06-14 International Business Machines Corporation Method and apparatus for integrating user communities with documentation
US7664760B2 (en) * 2005-12-22 2010-02-16 Microsoft Corporation Inferred relationships from user tagged content
US8019763B2 (en) * 2006-02-27 2011-09-13 Microsoft Corporation Propagating relevance from labeled documents to unlabeled documents
US8001121B2 (en) * 2006-02-27 2011-08-16 Microsoft Corporation Training a ranking function using propagated document relevance
JP4783181B2 (ja) * 2006-03-13 2011-09-28 株式会社東芝 行動予測装置
US7933890B2 (en) * 2006-03-31 2011-04-26 Google Inc. Propagating useful information among related web pages, such as web pages of a website
US8699806B2 (en) * 2006-04-12 2014-04-15 Google Inc. Method and apparatus for automatically summarizing video
US8442973B2 (en) * 2006-05-02 2013-05-14 Surf Canyon, Inc. Real time implicit user modeling for personalized search
US8229156B1 (en) 2006-08-08 2012-07-24 Google Inc. Using curve invariants to automatically characterize videos
US8117197B1 (en) 2008-06-10 2012-02-14 Surf Canyon, Inc. Adaptive user interface for real-time search relevance feedback
US8195734B1 (en) 2006-11-27 2012-06-05 The Research Foundation Of State University Of New York Combining multiple clusterings by soft correspondence
US20080155305A1 (en) * 2006-12-22 2008-06-26 International Business Machines Corporation Collaborative problem determination based on graph visualization
US7822750B2 (en) * 2007-01-17 2010-10-26 Aptima, Inc Method and system to compare data entities
US8280877B2 (en) * 2007-02-22 2012-10-02 Microsoft Corporation Diverse topic phrase extraction
US9507858B1 (en) 2007-02-28 2016-11-29 Google Inc. Selectively merging clusters of conceptually related words in a generative model for text
US7849104B2 (en) * 2007-03-01 2010-12-07 Microsoft Corporation Searching heterogeneous interrelated entities
US8161040B2 (en) 2007-04-30 2012-04-17 Piffany, Inc. Criteria-specific authority ranking
WO2009038822A2 (en) * 2007-05-25 2009-03-26 The Research Foundation Of State University Of New York Spectral clustering for multi-type relational data
US8260787B2 (en) * 2007-06-29 2012-09-04 Amazon Technologies, Inc. Recommendation system with multiple integrated recommenders
US7949659B2 (en) * 2007-06-29 2011-05-24 Amazon Technologies, Inc. Recommendation system with multiple integrated recommenders
US8751507B2 (en) * 2007-06-29 2014-06-10 Amazon Technologies, Inc. Recommendation system with multiple integrated recommenders
US8566338B2 (en) 2007-09-21 2013-10-22 International Business Machines Corporation Automatically making changes in a document in a content management system based on a change by a user to other content in the document
JP4724701B2 (ja) * 2007-10-30 2011-07-13 日本電信電話株式会社 文章検索サーバコンピュータ,文章検索方法,文章検索プログラム,そのプログラムを記録した記録媒体
US20090132462A1 (en) * 2007-11-19 2009-05-21 Sony Corporation Distributed metadata extraction
US8145630B1 (en) 2007-12-28 2012-03-27 Google Inc. Session-based dynamic search snippets
JP4524702B2 (ja) * 2008-02-08 2010-08-18 コニカミノルタビジネステクノロジーズ株式会社 データ管理装置、検索条件情報管理方法、およびコンピュータプログラム
US7991650B2 (en) 2008-08-12 2011-08-02 Amazon Technologies, Inc. System for obtaining recommendations from multiple recommenders
US7991757B2 (en) * 2008-08-12 2011-08-02 Amazon Technologies, Inc. System for obtaining recommendations from multiple recommenders
US20100042610A1 (en) * 2008-08-15 2010-02-18 Microsoft Corporation Rank documents based on popularity of key metadata
US8140550B2 (en) * 2008-08-20 2012-03-20 Satyam Computer Services Limited Of Mayfair Centre System and method for bounded analysis of multimedia using multiple correlations
US9298722B2 (en) 2009-07-16 2016-03-29 Novell, Inc. Optimal sequential (de)compression of digital data
WO2011013007A2 (en) * 2009-07-29 2011-02-03 Purapharm International (Hk) Limited Ontological information retrieval system
JP5514486B2 (ja) * 2009-08-03 2014-06-04 株式会社日立製作所 Webページの関連性抽出方法、装置、及びプログラム
US20110119269A1 (en) * 2009-11-18 2011-05-19 Rakesh Agrawal Concept Discovery in Search Logs
KR101306667B1 (ko) * 2009-12-09 2013-09-10 한국전자통신연구원 지식 그래프 정제 장치 및 방법
US8782734B2 (en) * 2010-03-10 2014-07-15 Novell, Inc. Semantic controls on data storage and access
US20110238670A1 (en) * 2010-03-23 2011-09-29 Microsoft Corporation Crowd-sourcing and contextual reclassification of rated content
US8832103B2 (en) 2010-04-13 2014-09-09 Novell, Inc. Relevancy filter for new data based on underlying files
US9703895B2 (en) * 2010-06-11 2017-07-11 Microsoft Technology Licensing, Llc Organizing search results based upon clustered content
US8478740B2 (en) 2010-12-16 2013-07-02 Microsoft Corporation Deriving document similarity indices
US9798732B2 (en) 2011-01-06 2017-10-24 Micro Focus Software Inc. Semantic associations in data
US8880517B2 (en) 2011-02-18 2014-11-04 Microsoft Corporation Propagating signals across a web graph
US8423547B2 (en) 2011-04-08 2013-04-16 Microsoft Corporation Efficient query clustering using multi-partite graphs
US9721039B2 (en) * 2011-12-16 2017-08-01 Palo Alto Research Center Incorporated Generating a relationship visualization for nonhomogeneous entities
US9864817B2 (en) * 2012-01-28 2018-01-09 Microsoft Technology Licensing, Llc Determination of relationships between collections of disparate media types
JP5324677B2 (ja) * 2012-02-24 2013-10-23 株式会社日立製作所 類似文書検索支援装置及び類似文書検索支援プログラム
US8805848B2 (en) 2012-05-24 2014-08-12 International Business Machines Corporation Systems, methods and computer program products for fast and scalable proximal search for search queries
US10445415B1 (en) * 2013-03-14 2019-10-15 Ca, Inc. Graphical system for creating text classifier to match text in a document by combining existing classifiers
US20150032729A1 (en) * 2013-07-23 2015-01-29 Salesforce.Com, Inc. Matching snippets of search results to clusters of objects
US10223401B2 (en) 2013-08-15 2019-03-05 International Business Machines Corporation Incrementally retrieving data for objects to provide a desired level of detail
US20180203932A1 (en) * 2017-01-18 2018-07-19 International Business Machines Corporation Enhanced information retrieval
CN107220094B (zh) * 2017-06-27 2019-06-28 北京金山安全软件有限公司 页面加载方法、装置和电子设备
CN107357919A (zh) * 2017-07-21 2017-11-17 携程旅游网络技术(上海)有限公司 行为日志查询系统及方法
WO2019077405A1 (en) 2017-10-17 2019-04-25 Handycontract, LLC METHOD, DEVICE AND SYSTEM FOR IDENTIFYING DATA ELEMENTS IN DATA STRUCTURES
US11475209B2 (en) 2017-10-17 2022-10-18 Handycontract Llc Device, system, and method for extracting named entities from sectioned documents
WO2019232645A1 (en) * 2018-06-07 2019-12-12 Element Ai Inc. Unsupervised classification of documents using a labeled data set of other documents
CN109033280A (zh) * 2018-07-11 2018-12-18 平安科技(深圳)有限公司 日志搜索方法、系统、计算机设备和存储介质
US11372894B2 (en) * 2018-12-21 2022-06-28 Atlassian Pty Ltd. Associating product with document using document linkage data
WO2020243532A1 (en) * 2019-05-29 2020-12-03 Iron Mountain Incorporated Systems and methods for cloud content-based document clustering and classification integration
US20210056224A1 (en) * 2019-08-20 2021-02-25 Metricstream, Inc. Data access control in hierarchical multi-dimensional datasets
US20230281257A1 (en) * 2022-01-31 2023-09-07 Walmart Apollo, Llc Systems and methods for determining and utilizing search token importance using machine learning architectures

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0809197A2 (en) * 1996-05-22 1997-11-26 Matsushita Electric Industrial Co., Ltd. Hypertext document retrieving apparatus for retrieving hypertext documents relating to each other
WO1997049048A1 (en) * 1996-06-17 1997-12-24 Idd Enterprises, L.P. Hypertext document retrieval system and method
WO1999048028A2 (en) * 1998-03-16 1999-09-23 Globalbrain.Net Inc. Improved search engine
US20030208482A1 (en) * 2001-01-10 2003-11-06 Kim Brian S. Systems and methods of retrieving relevant information

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03122770A (ja) * 1989-10-05 1991-05-24 Ricoh Co Ltd キーワード連想文書検索方法
US5488725A (en) * 1991-10-08 1996-01-30 West Publishing Company System of document representation retrieval by successive iterated probability sampling
US5265065A (en) * 1991-10-08 1993-11-23 West Publishing Company Method and apparatus for information retrieval from a database by replacing domain specific stemmed phases in a natural language to create a search query
US5442778A (en) * 1991-11-12 1995-08-15 Xerox Corporation Scatter-gather: a cluster-based method and apparatus for browsing large document collections
US7251637B1 (en) * 1993-09-20 2007-07-31 Fair Isaac Corporation Context vector generation and retrieval
US5576954A (en) * 1993-11-05 1996-11-19 University Of Central Florida Process for determination of text relevancy
US5812134A (en) * 1996-03-28 1998-09-22 Critical Thought, Inc. User interface navigational system & method for interactive representation of information contained within a database
US6188776B1 (en) * 1996-05-21 2001-02-13 Interval Research Corporation Principle component analysis of images for the automatic location of control points
US6457004B1 (en) * 1997-07-03 2002-09-24 Hitachi, Ltd. Document retrieval assisting method, system and service using closely displayed areas for titles and topics
US5987460A (en) * 1996-07-05 1999-11-16 Hitachi, Ltd. Document retrieval-assisting method and system for the same and document retrieval service using the same with document frequency and term frequency
GB9701866D0 (en) * 1997-01-30 1997-03-19 British Telecomm Information retrieval
US6112202A (en) * 1997-03-07 2000-08-29 International Business Machines Corporation Method and system for identifying authoritative information resources in an environment with content-based links between information resources
US5819258A (en) * 1997-03-07 1998-10-06 Digital Equipment Corporation Method and apparatus for automatically generating hierarchical categories from large document collections
US6298351B1 (en) * 1997-04-11 2001-10-02 International Business Machines Corporation Modifying an unreliable training set for supervised classification
US6470307B1 (en) * 1997-06-23 2002-10-22 National Research Council Of Canada Method and apparatus for automatically identifying keywords within a document
US5845278A (en) * 1997-09-12 1998-12-01 Inioseek Corporation Method for automatically selecting collections to search in full text searches
US6003027A (en) * 1997-11-21 1999-12-14 International Business Machines Corporation System and method for determining confidence levels for the results of a categorization system
JPH11328724A (ja) * 1998-05-18 1999-11-30 Fuji Photo Film Co Ltd 3次元光メモリ
US6006225A (en) * 1998-06-15 1999-12-21 Amazon.Com Refining search queries by the suggestion of correlated terms from prior searches
US6742003B2 (en) * 2001-04-30 2004-05-25 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
US6598054B2 (en) * 1999-01-26 2003-07-22 Xerox Corporation System and method for clustering data objects in a collection
US6226408B1 (en) * 1999-01-29 2001-05-01 Hnc Software, Inc. Unsupervised identification of nonlinear data cluster in multidimensional data
US7225182B2 (en) 1999-05-28 2007-05-29 Overture Services, Inc. Recommending search terms using collaborative filtering and web spidering
US6711585B1 (en) * 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US6556983B1 (en) * 2000-01-12 2003-04-29 Microsoft Corporation Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space
US6615209B1 (en) 2000-02-22 2003-09-02 Google, Inc. Detecting query-specific duplicate documents
DE10029644B4 (de) 2000-06-16 2008-02-07 Deutsche Telekom Ag Verfahren zur Relevanzbewertung bei der Indexierung von Hypertext-Dokumenten mittels Suchmaschine
US6578032B1 (en) * 2000-06-28 2003-06-10 Microsoft Corporation Method and system for performing phrase/word clustering and cluster merging
US7490092B2 (en) * 2000-07-06 2009-02-10 Streamsage, Inc. Method and system for indexing and searching timed media information based upon relevance intervals
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US6560600B1 (en) * 2000-10-25 2003-05-06 Alta Vista Company Method and apparatus for ranking Web page search results
US6772120B1 (en) * 2000-11-21 2004-08-03 Hewlett-Packard Development Company, L.P. Computer method and apparatus for segmenting text streams
WO2002071243A1 (en) 2001-03-01 2002-09-12 Biowulf Technologies, Llc Spectral kernels for learning machines
US6892193B2 (en) * 2001-05-10 2005-05-10 International Business Machines Corporation Method and apparatus for inducing classifiers for multimedia based on unified representation of features reflecting disparate modalities
US20030065632A1 (en) * 2001-05-30 2003-04-03 Haci-Murat Hubey Scalable, parallelizable, fuzzy logic, boolean algebra, and multiplicative neural network based classifier, datamining, association rule finder and visualization software tool
JP3895955B2 (ja) * 2001-08-24 2007-03-22 株式会社東芝 情報検索方法および情報検索システム
US20030046389A1 (en) * 2001-09-04 2003-03-06 Thieme Laura M. Method for monitoring a web site's keyword visibility in search engines and directories and resulting traffic from such keyword visibility
US7167871B2 (en) * 2002-05-17 2007-01-23 Xerox Corporation Systems and methods for authoritativeness grading, estimation and sorting of documents in large heterogeneous document collections
JP3918664B2 (ja) * 2002-07-10 2007-05-23 ヤマハ株式会社 音響信号処理装置
JP2004054588A (ja) * 2002-07-19 2004-02-19 Just Syst Corp 文書検索装置、文書検索方法およびその方法をコンピュータに実行させるプログラム
US7136876B1 (en) * 2003-03-03 2006-11-14 Hewlett-Packard Development Company, L.P. Method and system for building an abbreviation dictionary
US20040249808A1 (en) * 2003-06-06 2004-12-09 Microsoft Corporation Query expansion using query logs
US7225184B2 (en) * 2003-07-18 2007-05-29 Overture Services, Inc. Disambiguation of search phrases using interpretation clusters
US7165119B2 (en) 2003-10-14 2007-01-16 America Online, Inc. Search enhancement system and method having rankings, explicitly specified by the user, based upon applicability and validity of search parameters in regard to a subject matter

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0809197A2 (en) * 1996-05-22 1997-11-26 Matsushita Electric Industrial Co., Ltd. Hypertext document retrieving apparatus for retrieving hypertext documents relating to each other
WO1997049048A1 (en) * 1996-06-17 1997-12-24 Idd Enterprises, L.P. Hypertext document retrieval system and method
WO1999048028A2 (en) * 1998-03-16 1999-09-23 Globalbrain.Net Inc. Improved search engine
US20030208482A1 (en) * 2001-01-10 2003-11-06 Kim Brian S. Systems and methods of retrieving relevant information

Also Published As

Publication number Publication date
EP1587009A3 (en) 2006-08-16
US20050234952A1 (en) 2005-10-20
EP1587009A2 (en) 2005-10-19
CN1694100A (zh) 2005-11-09
JP2005316999A (ja) 2005-11-10
CN100511224C (zh) 2009-07-08
KR20060045743A (ko) 2006-05-17
JP4750456B2 (ja) 2011-08-17
US7305389B2 (en) 2007-12-04

Similar Documents

Publication Publication Date Title
KR101114023B1 (ko) 확장형 문서 검색을 위한 콘텐츠 전파
US7289985B2 (en) Enhanced document retrieval
Chen et al. A survey on the use of topic models when mining software repositories
US8285702B2 (en) Content analysis simulator for improving site findability in information retrieval systems
Marinho et al. Social tagging recommender systems
US10755179B2 (en) Methods and apparatus for identifying concepts corresponding to input information
CN100465954C (zh) 用于搜索术语建议的多种类型数据的加强群集
US20050234973A1 (en) Mining service requests for product support
Gasparetti Modeling user interests from web browsing activities
Bislimovska et al. Textual and content-based search in repositories of web application models
Kumar World towards advance web mining: A review
Sharma et al. Web page ranking using web mining techniques: a comprehensive survey
Knap Towards Odalic, a Semantic Table Interpretation Tool in the ADEQUATe Project.
Xu et al. Building spatial temporal relation graph of concepts pair using web repository
CN101866340A (zh) 一种产品情报的在线检索和智能分析方法与系统
Luraschi et al. Mastering Spark with R: the complete guide to large-scale analysis and modeling
Oo Pattern discovery using association rule mining on clustered data
De Bonis et al. Graph-based methods for Author Name Disambiguation: a survey
Toraman et al. Discovering story chains: A framework based on zigzagged search and news actors
Zhang et al. Identification of factors predicting clickthrough in Web searching using neural network analysis
CN116569164A (zh) 在内容管理系统中对内容进行智能归类的系统和方法
Loia et al. Web navigation support by means of proximity‐driven assistant agents
Chen et al. Learning to evaluate and recommend query in restaurant search systems
Honick et al. Entification of Metadata for Knowledge‐Graph‐Guided Discovery
Spahiu Profiling Linked Data

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
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee