KR101419623B1 - 검색 키워드로부터 문서 데이터를 검색하는 방법, 그 컴퓨터 시스템 및 컴퓨터 프로그램 - Google Patents

검색 키워드로부터 문서 데이터를 검색하는 방법, 그 컴퓨터 시스템 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR101419623B1
KR101419623B1 KR1020127016208A KR20127016208A KR101419623B1 KR 101419623 B1 KR101419623 B1 KR 101419623B1 KR 1020127016208 A KR1020127016208 A KR 1020127016208A KR 20127016208 A KR20127016208 A KR 20127016208A KR 101419623 B1 KR101419623 B1 KR 101419623B1
Authority
KR
South Korea
Prior art keywords
document data
keyword
search
score
data
Prior art date
Application number
KR1020127016208A
Other languages
English (en)
Other versions
KR20120113736A (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 KR20120113736A publication Critical patent/KR20120113736A/ko
Application granted granted Critical
Publication of KR101419623B1 publication Critical patent/KR101419623B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)

Abstract

본 발명은, 검색 키워드로부터 문서 데이터를 검색하는데 있어서, 상관을 보다 폭 넓은 콘텍스트에서 적절하게 발견하는 방법을 제공한다. 본 발명은, 검색 키워드로 문서 데이터를 검색하는 방법을 제공한다. 상기 방법은, 문서 데이터 각각이 문서 데이터를 클러스터링 또는 분류하기 위한 클러스터 또는 클래스에 속하는 스코어 또는 확률을 제 1의 벡터로서 계산하는 단계와, 검색 키워드가 입력됨에 따라, 상기 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드가 상기 클러스터 또는 클래스에 속하는 스코어 또는 확률을 제 2의 벡터로서 계산하는 단계와, 상기 제 1의 벡터 각각과 상기 제 2 벡터와의 내적(內積)을 계산하는 단계로서, 상기 계산된 내적 값이 상기 문서 데이터의 상기 검색 키워드에 대한 스코어인, 상기 계산하는 단계와, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터와, 상기 스코어가 소정의 문턱 값 이상 또는 상기 스코어가 상위 소정 비율에 포함되는 문서 데이터로부터 상관 값을 구하는 단계를 포함한다.

Description

검색 키워드로부터 문서 데이터를 검색하는 방법, 그 컴퓨터 시스템 및 컴퓨터 프로그램{METHOD OF SEARCHING FOR DOCUMENT DATA FILES BASED ON KEYWORDS, AND COMPUTER SYSTEM AND COMPUTER PROGRAM THEREOF}
본 발명은, 검색 키워드로부터 문서 데이터를 검색하는 방법, 그 컴퓨터 시스템 및 컴퓨터 프로그램에 관한 것이다.
컴퓨터 네트워크의 보급이나 컴퓨터 시스템의 고성능화에 의해, 방대한 전자화 문서 데이터(이하, 문서 데이터라고 한다)에의 액세스가 쉽게 되었다. 문서 데이터의 검색은, 이것들의 방대한 문서 데이터 중에서 필요한 문서 데이터를 발견하는 것을 가능하게 한다. 문서 데이터의 검색은, 여러 가지의 대상에 대해서 수행된다. 예를 들면, 인터넷 브라우저에 있어서 서치 엔진의 경우, 세계에 분산된 서버 또는 중개 서버(프록시 서버라고도 한다) 상의 Web 페이지가 검색 대상이 된다. 또, 기업에 있어서는, 기업 활동 중에서 축적된 문서 데이터가 검색 대상이 된다. 문서 데이터의 검색의 대표적인 방법으로서, 검색 키워드와, 문서 데이터 중의 단어 또는 프레이즈(phrase) 사이의 상관 관계(correlation)을 해석하여, 검색 키워드와 동시 발생 상관 관계에 있는(in co-occurrence correlation) 단어 또는 프레이즈를 발견하는 방법이 있다. 예를 들면, 단어 “IBM”(IBM사의 등록 상표)에 관련성이 높은 문서 데이터는 단어 “IBM”(IBM사의 등록 상표)과 상관이 강한 단어 또는 프레이즈를 상기 상관이 강한 단어 또는 프레이즈에 근거하여 발견함으로써, 검색 대상으로부터 적절하게 발견하는 것이 가능하다. 문서 데이터의 한가지 검색 방법은, 예를 들면, 하기 비특허문헌에 기재되어 있다.
Christopher D. Manning, et al., "An Introduction to Information Retrieval", Chapters 6, 14, 16 and 18, Cambridge University Press, April 1, 2009
본 발명은, 검색 키워드로부터 문서 데이터를 검색하는데 있어, 보다 폭넓은 콘텍스트(broader context)에서 상관(correlation)을 적절하게 발견하는 방법을 제공한다.
본 발명은, 검색 키워드로부터, 상기 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드와 상관을 가지고, 자연 언어에 의한 현상의 기술(description of phenomena)인 문서 데이터를 검색하는 방법을 제공한다. 상기 방법은 컴퓨터에 아래의 단계를 실행시키는 것을 포함한다. 상기 단계는: 상기 문서 데이터 각각이 문서 데이터를 클러스터링 또는 분류하기 위한 클러스터 또는 클래스에 속하는 제 1 스코어 또는 확률을 제 1의 벡터로서 계산하는 단계; 검색 키워드가 입력됨에 따라, 상기 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드가 상기 클러스터 또는 클래스에 속하는 제 2 스코어 또는 확률을 제 2의 벡터로서 계산하는 단계; 상기 제 1의 벡터 각각과 상기 제 2의 벡터와의 내적(inner product)을 계산하는 단계로서, 상기 계산된 내적 값이 상기 문서 데이터의 상기 검색 키워드에 대한 제 3 스코어인, 상기 계산하는 단계; 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터와, 상기 제 3 스코어가 소정의 문턱 값 이상(equal to or more than a predetermined threshold) 또는 상기 제 3 스코어가 상위 소정 비율(predetermined high-ranking proportion)에 포함되는 문서 데이터로부터 상관 값을 구하는 단계를 포함한다.
본 발명은 또, 검색 키워드로부터, 상기 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드와 상관을 가지고, 자연 언어에 의한 현상의 기술인 문서 데이터를 검색하는 컴퓨터 시스템을 제공한다. 상기 컴퓨터 시스템은: 상기 문서 데이터 각각이 문서 데이터를 클러스터링 또는 분류하기 위한 클러스터 또는 클래스에 속하는 제 1 스코어 또는 확률을 제 1의 벡터로서 계산하는 제 1의 계산부; 검색 키워드가 입력됨에 따라, 상기 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드가 상기 클러스터 또는 클래스에 속하는 제 2 스코어 또는 확률을 제 2의 벡터로서 계산하는 제 2의 계산부; 상기 제 1의 벡터 각각과 상기 제 2의 벡터와의 내적을 계산하는 제 3의 계산부로서, 상기 계산된 내적 값이 상기 문서 데이터의 상기 검색 키워드에 대한 제 3 스코어인, 상기 제 3의 계산부; 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터와, 상기 제 3 스코어가 소정의 문턱 값 이상 또는 상기 제 3 스코어가 상위의 소정 비율에 포함되는 문서 데이터로부터 상관 값을 구하는 상관 값 계산부를 포함한다.
본 발명의 하나의 실시 예에 있어서, 상기 상관 값 계산부는, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터의 제 1의 데이터 세트, 상기 제 3 스코어가 소정의 문턱 값 이상 또는 상기 제 3 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트, 및 상기 제 1의 데이터 세트와 상기 제 2의 데이터 세트와의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트로부터 상관 값을 구한다. 또한, 본 발명의 하나의 실시 예에 있어서, 상기 상관 값 계산부는, 예를 들면 아래의 식 (20)의 상관 함수에 따라 상관 값을 구한다.
본 발명의 하나의 실시 예에 있어서, 상기 상관 값 계산부는, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터 제 1의 데이터 세트, 상기 제 3 스코어가 소정의 문턱 값 이상 또는 상기 제 3 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트, 상기 검색 키워드 또는 관련 키워드를 포함하는 문서 데이터의 제 3의 데이터 세트, 및 상기 제 1의 데이터 세트와 상기 제 2의 데이터 세트와의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트로부터 상관 값을 구한다. 본 발명의 하나의 실시 예에 있어서, 상기 상관 값 계산부는, 예를 들면 아래의 식( 26)의 상관 함수에 따라 상관 값을 구한다.
본 발명은 또, 컴퓨터에, 상기 방법의 각 단계를 실행시키는 컴퓨터 프로그램을 제공한다.
종래 기술인 키워드 검색 방법에서는 발견되는 문서 데이터가 없어서 검색 결과가 얻을 수 없는 경우에도, 본 발명의 실시 예에 따른 검색 방법에서는 필요한 문서 데이터를 정확하게 검색하는 것이 가능하다.
[도 1a] 문서 데이터의 클러스터링 또는 분류를 포함하는, 색인 데이터 베이스의 작성의 흐름을 나타낸다.
[도 1b] 문서 데이터의 검색의 개요의 흐름을 나타낸다.
[도 1c] 자연 언어 해석의 개요의 흐름을 나타낸다.
[도 1d] 문서 데이터의 내부 표현과 쿼리의 내부 표현의 매칭에 의한 검색의 한 예를 나타낸다.
[도 2] 도 1a의 단계(101~103)의 내용을, 문서 데이터의 구체 예를 이용하여 설명한 것이다.
[도 3a] 복수의 문서 데이터의 클러스터링 제 1의 실시 예의 개념도이다.
[도 3b] 복수의 문서 데이터의 클러스터링 제 2의 실시 예의 개념도이다.
[도 3c] 복수의 문서 데이터의 클러스터링 제 3의 실시 예의 개념도이다.
[도 4a] 검색 키워드 B를 포함하는 문서 데이터의 데이터 세트와 키워드 A를 포함하는 문서 데이터의 데이터 세트로부터, 중복하는 문서 데이터의 데이터 세트를 추출하는 개념도를 나타낸다.
[도 4b] 도 4a의 키워드 A가 패싯 키워드 A인 경우에, 패싯 키워드를 포함하는 문서 데이터의 데이터 세트와 검색 키워드를 포함하는 문서 데이터의 데이터 세트와의 관계를 나타낸다.
[도 4c] 도 4b의 패싯 카운트를 이용하여, 패싯 키워드 A와 검색 키워드와의 상관 값을 계산하고, 검색 키워드와 상관이 강한 키워드를 검출하는 개념도를 나타낸다.
[도 4d] 도 4b의 패싯 카운트를 이용하여, 검색 키워드와 상관이 강한 키워드를 검출하기 위해 사용할 색인을 작성하기 위한 흐름을 나타낸다.
[도 4e] 도 4d에 있어서 작성된 색인을 사용하여, 검색 키워드와의 상관 검출의 흐름을 나타낸다.
[도 5a] 개념 검색의 흐름을 나타낸다.
[도 5b] 도 5a의 개념 검색에 있어서, 문서 데이터의 검색의 구체 예를 나타낸다.
[도 5c] 도 5a의 개념 검색에 있어서, 문서 데이터의 검색 및 쿼리의 각 벡터 및 내적의 개념도를 나타낸다.
[도 5d] 벡터 공간 내의 문서 벡터의 개념도를 나타낸다.
[도 6a] 본 발명의 실시 예인 제 1의 실시 예의 검색 방법의 개념도를 나타낸다.
[도 6b] 패싯 카운트를 이용하여, 검색 키워드와 상관이 강한 패싯 키워드를 검출하는 개념도를 나타낸다.
[도 6c] 도 6a의 제 1의 실시 예의 검색 방법을 위해 사용할 색인을 작성하기 위한 흐름을 나타낸다.
[도 6d] 도 6c에 있어서 작성된 색인을 사용하여, 도 6a의 제 1의 실시 예의 검색 방법에서 상관을 검출하는 흐름을 나타낸다.
[도 6e] 도 6c에 있어서 작성된 색인을 사용하여, 도 6a의 제 1의 실시 예의 검색 방법에서 상관을 검출하는 흐름을 나타낸다.
[도 7a] 본 발명의 실시 예인 제 2의 실시 예의 검색 방법의 개념을 나타낸다.
[도 7b] 도 6c와 유사한 방법으로 작성된 색인을 사용하여, 도 7a의 제 2의 실시 예의 검색 방법에서 상관을 검출하는 흐름을 나타낸다.
[도 7c] 도 6c와 유사한 방법으로 작성된 색인을 사용하여, 도 7a의 제 2의 실시 예의 검색 방법에서 상관을 검출하는 흐름을 나타낸다.
[도 8a] 본 발명의 실시 예에 따른, 문서 데이터 처리부 및 색인 부여부를 갖춘 컴퓨터 시스템 도를 나타낸다.
[도 8b] 본 발명의 실시 예에 따른, 검색부를 갖춘 검색 서버의 시스템 도를 나타낸다.
[도 9] 본 발명의 실시 예에 있어서, 도 8a 및 도 8b의 각 시스템이 가진 컴퓨터 하드웨어의 블록 도를 나타낸다.
[도 10] 키워드 검색 방법, 및 본 발명인 제 1의 실시 예의 검색 방법 및 본 발명인 제 2의 검색 방법에 따른 검색 결과를 나타낸다.
본 발명의 실시 예에 있어서, 문서 데이터란, 자연 언어에 의한 현상의 기술이다. 바꿔 말하면, 문서 데이터는, 현실의 세계에서 발생한 현상을 문서에서 전자적으로 만든 것이다. 현상은, 이벤트라고도 한다. 문서 데이터는 전자화되어 있어, 기계 판독 가능하다. 문서 데이터는, 텍스트 세그먼트를 가질 수 있다. 문서 데이터는 또, 주제(subject)를 키로서 특정할 수 있는 하나의 통합의 데이터일 수 있다. 문서 데이터는, 예를 들면 인터넷 상 웹(Web) 페이지, 혹은 기업의 제품 사고 리포트, 전화 접수 리포트, 1건의 뉴스, 기술 문서 등이 될 수 있지만 이것에 한정되지 않는다. 하나의 문서 데이터는 물리적인 하나의 데이터 파일에 대응할 필요는 없다. 즉, 문서 데이터는, 물리적으로는 하나의 데이터 파일 중 일부 또는 전부일 수 있다. 물리적인 하나의 데이터 파일은, 문서 데이터의 집합을 포함할 수 있다. 문서 데이터는, 예를 들면, 서버의 기억 장치 또는 네트워크를 통하여 접속된 네트워크 기억 장치, 또는 스토리지 에어리어 네트워크(SAN) 내의 문서 데이터 베이스 중에 데이터 파일로서 저장될 수 있다. 저장 형식은, 특별히 한정되지 않지만, 플레인 텍스트, HTML, 또는 XML로 기술될 수 있다. 문서 데이터는, 예를 들면, 여러 서버로부터 크롤러(crawler)(도 8a의 805)에 의해 정기적으로 또는 집중적으로 수집된다.
본 발명의 실시 예에 있어서, 문서 데이터의 집합이란, 1, 또는 2 이상의 문서 데이터를 포함하는 데이터 세트를 말한다. 문서 데이터의 집합은, 물리적으로는 하나 이상의 데이터 파일 중 일부 또는 전부일 수 있다.
본 발명의 실시 예에 있어서, 검색 키워드란, 문서 데이터 검색을 위해 적어도 하나의 단어(이하, 검색 단어라고도 한다), 적어도 하나의 프레이즈(이하, 검색 프레이즈라고 한다), 또는 그것들의 조합이다. 검색 키워드는, 유저에 의해 입력되던가, 혹은, 컴퓨터에 의해 자동적으로 입력될 수 있다. 단어는, 언어 음(speech sound)과 의미(meaning)와 문법 상의 기능(grammatical function)을 가진 최소의 언어 단위이며, 그 품사는 특별히 묻지 않는다. 프레이즈는, 일반적으로, 문법적으로 배치된 2개 이상의 단어들을 나타내며, 문장에서 1단위로서 활동하는 것이다. 특히 영어에 있어서, 프레이즈는, 2개 이상의 단어의 연속이며, 정 동사와 그 주어를 포함하지 않고, 하나의 품사의 기능을 하는 성분을 포함한다. 검색 키워드의 유저에 의한 입력은, 하나 이상의 단어, 하나 이상의 프레이즈, 또는 그것들의 조합을, 예를 들면 브라우저 또는 어플리케이션 상의 검색 키워드 입력란에 입력하는 것에 의해 수행될 수 있다. 컴퓨터에 의한 검색 키워드의 입력은, 예를 들면 유저가 열람하고 있는 웹 내용에 근거하여 하나 이상의 단어, 하나 이상의 프레이즈, 또는 그것들의 조합을 검출하는 것에 의해 수행된다. 입력된 검색 키워드는 예를 들면 자동적으로 쿼리(예를 들면 SQL)로 변환된다. 변환된 쿼리는, 검색 서버 또는 중간 서버에 송신된다.
본 발명의 실시 예에 있어서, 검색 키워드에 관련된 관련 키워드란, 검색 키워드와 관련성이 강한 적어도 하나의 단어, 또는 적어도 하나의 프레이즈, 또는 그것들의 조합이며, 예를 들면 검색 키워드와 동시 발생하는(co-occuring) 키워드를 말한다. 동시 발생이란, 어떤 문서 데이터에 있어서, 임의의 적어도 2개의 키워드가 동시에 발생하는 것을 말한다. 동시 발생 상관은, 키워드 간의 관련성의 정도를 나타낸다. 관련 키워드는, 미리 문서 데이터 중의 임의의 키워드, 예를 들면 발생 빈도가 높은 키워드에 근거하여 추출되어, 예를 들면 사전에 등록된다. 등록 임의의 키워드가 장래적으로 유저에 의해 검색 키워드로서 입력된다. 그리고, 상기 검색 키워드에 관련 키워드가 상기 사전으로부터 선택된다.
단어의 동시 발생 상관은, 예를 들면, 단어 A가 발생하는 문서 데이터의 집합과, 단어 B가 발생하는 문서 데이터의 집합이 있는 경우에, 아래의 식 1에 따라 구해진다. 단어 A가 발생하는 문서 데이터는, 단어 A를 포함하는 문서 데이터와 동일 의미이다. 같은 방법으로, 단어 B가 발생하는 문서 데이터는 단어 B를 포함하는 문서 데이터와 동일 의미이다.
Figure 112012049734611-pct00001
또, 단어가 복수인 경우, 상기 단어의 동시 발생 상관은, 예를 들면, 식 1에 있어서 단어 A를 복수의 단어{1, 2, …, n}으로 대체한 후, 아래의 식 2에 따라 구한다.
Figure 112012049734611-pct00002
또, 단어가 복수인 경우의 다른 방법은, 식 1에서 구한 개개의 단어의 동시 발생 상관의 적(product)으로서 평가하는 것이다. 적(積)으로서 평가한 경우, 상관이 없는 경우에 1이 되기 때문에, 그 결과를 단어의 수 n으로 나눌 필요는 없다.
또, 다른 방법으로서, 문서 데이터 수를 이용하는 경우, 단어의 동시 발생 상관은 아래 식 3에 따라 구해진다.
Figure 112012049734611-pct00003
또, 다른 방법으로서, 키워드 1~n 각각과 단어의 동시 발생 상관을 구하여, 그것들의 합으로 평가하는 경우, 단어의 동시 발생 상관은 아래의 식 4에 따라 구해진다. 또한, 합으로 평가하는 경우, 키워드의 수 N에 의해 차가 나오지 않도록 합의 결과를 키워드의 수 N으로 나눌 필요가 있다.
Figure 112012049734611-pct00004
식 (4)에 있어서, α1 은 키워드 1과 단어의 동시 발생이며, α2는 키워드 2와 단어의 동시 발생이며, αn은 키워드 n과 단어의 동시 발생이다.
동시 발생 상관은, 상관이 없는 경우에 그 값이 1이다.
또한, 동시 발생 상관을 구하기 위한 문서 데이터의 집합을 코퍼스(corpus)라고 한다. 코퍼스의 문서 데이터의 집합은, 검색 대상의 문서 데이터의 집합과 같을 수도 혹은 서로 다를 수도 있다. 하지만, 어떤 키워드에 적절한 관련 키워드를 얻기 위해서, 코퍼스는, 검색 대상의 문서 데이터의 집합과 같은 언어이고 또 검색 대상의 문서 데이터와 동일 또는 유사한 분야에 속하는 문서 데이터의 집합인 것이 바람직하다. 예를 들면, 검색 대상의 문서 데이터가 자동차의 사고인 경우, 코퍼스는 사고 보고를 정리한 보고서 데이터일 수 있다.
본 실시 예에 있어서, 클러스터링(clustering)이란, 문서 데이터 간의 유사도 또는 거리에 근거하여, 문서 데이터를 그룹으로 나누는 것을 말한다. 문서 데이터의 집합을 클러스터링 하여서 만들어지는 그룹 또는 문서 데이터의 집합을 클러스터링 하기 위한 그룹을 클러스터라고도 부른다. 문서 데이터는 키워드의 집합이기 때문에, 문서 데이터의 집합을 클러스터링 한다는 것은, 키워드를 클러스터링 하는 일이기도 하다. 상기 그룹으로 나눠진 문서 데이터의 집합을 검색 대상으로 함에 의해서, 하나 하나의 문서 데이터를 검색 대상으로 하는 것보다도, 유저가 필요로 하는 문서 데이터를 효율적으로 추출하는 것이 가능하다. 각 클러스터는 특정의 말 또는 프레이즈만으로 만들어질 뿐 아니라, 전형적인 단어 또는 프레이즈의 집합일 수 있다. 일반적으로는, 각 클러스터에, 상기 클러스터를 특징 짓는 단어 또는 프레이즈의 스코어가 부여된 집합이 정의된다.
문서 데이터 간의 유사도는, 문서 데이터가 2개 주어졌을 때에 상기 2개에 대해 결정되는 실수(real number)로 표시된다. 이 값이 클수록 2개의 문서 데이터는 비슷하다고 가정된다. 문서 데이터의 클러스터링에서, 유사도는, 예를 들면 문서 데이터 중의 공통의 키워드에 근거하여 구해진다. 유사도가 높은 문서 데이터를 그룹화하는 것으로 클러스터가 작성될 수 있다.
문서 데이터 간의 거리란, 유클리드 공간에서 2개의 문서 데이터 간의 거리를 나타낸다. 거리를 정의하기 위해서는, 우선 공간을 정의할 필요가 있다. 공간에서는 각 단어를 각 차원으로 하고, 문서 데이터를, 상기 문서 데이터 내에 발생하는 단어의 수, 또는 tf
Figure 112012049734611-pct00005
idf를 좌표로 하는 점으로서 플롯 한다. 그리고, 2개의 문서 데이터 간의 거리를 단순히 유클리드 공간에서 2개의 점의 거리에 의해, 그 간격을 계산한다. 거리가 가까운 문서 데이터를 그룹화하는 것으로 클러스터가 작성될 수 있다. 상기 tf
Figure 112012049734611-pct00006
idf는, 빈출 단어(frequent word)로부터의 기여를 줄이도록, 문서 데이터 내에서의 단어의 발생 수 tf(frequency tf)에 단어를 포함하는 문서 데이터의 수의 역수(inverse) 또는 대수의 역수(inverse of logarithm)를 곱한 것이다.
문서 데이터 간의 유사도에 관한 하나의 정의가, 거리의 역수이다. 유사도는 대소 관계(size relationship)를 유지할 수 있으면 유클리드 공간의 거리로서 정의할 필요는 없다. 예를 들면 구면 상의 2점의 중심각(central angle)으로서도 또한 정의할 수 있다. 따라서 유사도는 다양한 형태로 구현하는 것이 가능하다.
유사도 또는 거리에 의한 문서의 클러스터링은, 크게 나누어서 아래의 4개의 단계를 포함한다.
단계(1) 해석 처리부(도 8a의 806)는, 문서 데이터에 대해서, 형태소 해석(morphological analysis)을 수행하여, 문서 데이터를 키워드들로 분할한다. 형태소 해석의 방법으로서, 규칙에 의한 형태소 해석과 확률적 언어 모델을 이용하는 방법이 있다. 확률적 언어 모델에 의한 형태소 해석은, 예를 들면 히던 마르코브니코브 모델(hidden Markovnikov model)에 의한 방법이다. 본 발명의 실시 예에 있어서, 형태소 해석 엔진은, 시판되는 입수 가능한 것을 이용할 수 있다. 문서 데이터의 클러스터링에는, 많은 경우 문서 데이터를 표현하기 위해 문서를 구성하는 키워드의 중요도를 포함하는 벡터가 사용된다. 상기 벡터의 표현을 위해서, 문서 데이터에 있어서 키워드들은 서로 분할될 필요가 있다. 상기 분할을 위해서, 예를 들면 일본어, 중국어, 한국어의 문서 데이터의 경우에는, 상기 형태소 해석이 수행된다. 또, 예를 들면 영어의 문서 데이터의 경우에는, 단어와 단어와의 사이를 띄어 놓기(스페이스) 때문에 문장을 형태소로 나누는 것은 일본어와 비교하면 비교적 간단하지만, 형태소 또는 합성어의 품사를 구별하는 것은 필요하다.
단계(2) 클러스터링부(도 8A의 806)는, 문서 데이터를 상기 각 중요도를 포함하는 벡터로서 나타낸다. 문서 데이터 Di에서 문서 벡터 di의 각 속성 값 di k(k=1, 2, …, n)으로는, 아래의 식5~7에 나타낸 tf
Figure 112012049734611-pct00007
idf(term frequency
Figure 112012049734611-pct00008
inverse document frequency) 값이 이용된다. tf
Figure 112012049734611-pct00009
idf는, tf(단어의 발생 빈도) 및 idf(역 발생 빈도)의 2개의 지표에 근거하여 구해진다.
Figure 112012049734611-pct00010
Figure 112012049734611-pct00011
Figure 112012049734611-pct00012
여기서, 각 벡터는, di의 길이가 1이 되도록 정규화(normalized)된다.
상기 벡터는, 벡터 공간 모델 상에서 표현된다. 벡터 공간 모델은, 상기 벡터를 사용하여 문서 데이터를 표현하는 검색 모델이다.
단계(3) 클러스터링부는, 문서 데이터 간의 유사도 또는 거리를 정의한다. 문서 데이터의 클러스터링을 위해, 문서 데이터끼리가 얼마나 닮았는지 하는 지표로서, 유사도 또는 거리를 정의할 필요가 있다. 상기 정의를 위한 방법은, 클러스터링의 대상이 되는 문서 데이터에 따라 서로 다르다. 유사도 또는 거리를 구하는 방법으로는, (1) 계층적 클러스터링, (2) 비 계층적 클러스터링(k-means), (3) 주성분 분석 등의 차원 축약 법, (4) 확률 모델에 근거하는 방법, 및 (5) 그래프 이론에 근거하는 방법 등이 있다. 본 발명의 실시 예에서는, 유사도 또는 거리를 구하는 방법은, 클러스터링 대상이 되는 문서 데이터에 따라 적절히 선택될 수 있지만, 상기 (1)~(5)의 방법에 한정되는 것은 아니다.
문서 데이터 Di 및 Dj의 문서 벡터를 각각 di 및 dj라 하면, 그것들 문서 데이터 사이의 유사도 s(di , dj)는, 아래 식 8에 나타낸 것처럼 하기 di와 dj가 만드는 각도의 코사인으로 나타낼 수 있다.
Figure 112012049734611-pct00013
단계(4) 클러스터링부는, 상기 유사도를 이용하여, 클러스터링을 수행한다.
(1) 상기 계층적 클러스터링에서는, 예를 들면, 상기 식 8에서 구해지는 유사도를 이용하여, 이하의 알고리즘에 의해 클러스터를 형성하는 것이 가능하다.
단계(1) 클러스터링부는, 개개의 문서 데이터를 각각 하나의 클러스터로 한다.
단계(2) 클러스터링부는, 클러스터의 집합 중에서, 유사도가 최대가 되는 클러스터의 쌍을 구한다.
단계(3) 클러스터링부는, 상기 클러스터의 쌍 간의 유사도가 문턱 값 이하라면, 클러스터링을 종료한다. 한편, 클러스터링부는, 상기 클러스터의 쌍 간의 유사도가 문턱 값 이상이면, 상기 쌍의 클러스터를 합하여, 하나의 클러스터로 한다. 클러스터링부는, 단계(2)로 리턴하여, 단계(2) 및 단계(3)을 반복한다.
클러스터의 쌍 간의 유사도는, 예를 들면 하기 식 9에 나타낸 최장거리 법에 의해 구해질 수 있다. 최장거리 법에서는, 예를 들면, 클러스터 Gi 및 Gj 간의 유사도에는, Gi에 속하는 임의의 문서 데이터의 문서 벡터 x와 Gj 에 속하는 임의의 문서 데이터의 문서 벡터 y 사이의 유사도 중, 최소의 유사도를 상기 클러스터 간의 유사도로 한다.
Figure 112012049734611-pct00014
(2) 상기 비 계층적 클러스터링에서는, 예를 들면, k-means 법을 이용할 수 있다. k-means 법에서는, 이하의 알고리즘에 의해 클러스터를 형성하는 것이 가능하며.
클러스터의 분할 수는 k라고 하고, 문서 데이터의 수는 m, 클러스터 W에 포함되는 문서 데이터의 수는 N(W)라고 한다.
단계(1) 클러스터링부는, k개의 초기 클러스터를 미리 결정하는 방식으로 설정한다.
단계(2) 클러스터링부는, 아래의 식 10에 따라, 문서 데이터 Di를 클러스터 W에 이동한 경우의 오차의 증가량 e(i, W)를 계산하고, 그 최소값을 가진 클러스터 W에 문서 데이터 Di를 이동한다.
Figure 112012049734611-pct00015
단, D(i, W)는, 문서 데이터 Di와 클러스터 W와의 거리이며, 아래의 식 11~12에 의해 정의된다.
Figure 112012049734611-pct00016
Figure 112012049734611-pct00017
단계(3) 클러스터링부는, 어떤 클러스터로부터 다른 클러스터에의 문서 데이터의 이동이 없으면 종료한다. 한편, 클러스터링부는, 문서 데이터의 이동이 있으면, 단계(2)로 리턴 한다.
(3) 상기 차원 축약 법으로서, 예를 들면, 잠재 의미 분석(Latent Semantic Analytics; LSA)이 있다. LSA는, 잠재적 의미 색인 또는 잠재 의미 인덱스(Latent Semantic Indexing; LSI)라고도 불린다. LSA에서는, 각 문서 데이터에 있어서 키워드의 발생 빈도를 나타내는 문서 단어 매트릭스(document-word mtrix)를 이용한다. 문서 단어 매트릭스에서는 희소행렬(sparse matrix)을 사용하는데, 열은 단어 또는 프레이즈에 대응하고, 행은 문서 데이터에 대응한다. 상기 행렬의 각 성분의 중요도 부여로서, 예를 들면 상기 tf.idf가 이용된다. LSA는, 이 희소 행렬을 단어 또는 프레이즈와 어떤 개념 사이의 관계 및 문서 데이터 간의 관계로 변환한다. 이것에 의해, 키워드는, 개념을 통하여 문서 데이터와 간접적으로 관련된다. LSA의 실제 구현의 예는, 예를 들면 Boosting 알고리즘에 근거한, IBM(IBM사의 등록 상표)의 Info Sphere(IBM사의 상표) Classification Module이다.
또, 문서 데이터를 벡터로서 표현하지 않고 클러스터링 하는 것도 가능하다. 예를 들면 공인 인수(the number of co-citations) 또는 서지 결합(bibliographic coupling) 등을 측정함으로써, 문서 데이터 간의 유사도를 구할 수 있다. 유사도가 정의되면, 적절한 클러스터링 방법으로 클러스터링을 하는 것이 가능하다.
본 발명의 실시 예에 있어서, 분류(classification)란, 컴퓨터에 의해 자동적으로 또는 사람의 손에 의해 주도적으로, 문서 데이터를 그룹으로 나누는 것을 말한다. 문서 데이터의 집합을 분류함으로써 만들어지는 그룹 또는 문서 데이터의 집합을 분류하기 위한 그룹을 클래스라고도 부른다.
분류는, 예를 들면, 방정식으로 표현된 모델, 룰로 표현된 모델, 확률로 표현된 모델, 매칭을 수행하는 모델에 따라 수행된다. 방정식으로 표현된 모델은, 예를 들면 판별분석(discriminant analysis)이다. 룰로 표현된 모델은, 예를 들면 룰 베이스(rule base) 또는 의사 결정 분지도(decision tree)이다. 확률로 표현된 모델은, 예를 들면 베이스 네트워크(Bayesian network)이다. 매칭을 수행하는 모델은, 예를 들면 자기 조직화 맵(self-organizing maps)이다.
또한, 문서 데이터의 클러스터링은, 처리 대상이 되는 각 문서 데이터에 클래스(라벨이라고도 한다)가 주어지지 않고, 준비된 문서 데이터의 키워드로부터 클래스가 정의되는 교사 없는 학습(unsupervised learning)에 속한다. 즉, 상기 클러스터링은, 사전에 클래스를 정의하는 것이 아니라, 데이터 공간의 정의를 수행하여 존재하는 문서 데이터 간의 유사도 또는 거리에 의해 그룹화 하는 것에 의해 수행된다. 한편, 문서 데이터의 분류는, 대상이 되는 각 문서 데이터에 클래스가 주어지는 교사 있는 학습(supersized learning)에 속한다. 분류에서는, 문서 데이터 중에 하나의 키워드(목적 변수(target variable), 교사 신호(supervisory signal))에 주목한다.
본 발명의 실시 예에 있어서, 상기 문서 데이터 각각이 클러스터 또는 클래스에 속하는 스코어 또는 확률이란, 상기 클러스터 또는 클래스에 상기 문서 데이터 각각이 속하는 스코어 또는 확률을 말한다. 확률은 0~100%로 나타낸다. 스코어는 예를 들면 점수로 나타낸다.
본 발명의 실시 예에 있어서, 제 1의 벡터란, 문서 데이터가 상기 클러스터 또는 상기 클래스에 속하는 스코어 또는 확률을 벡터로서 나타낸 것이다. 제 1의 벡터는, 상기 스코어 또는 확률을 예를 들면 0~1의 실수로 변환된 값으로 나타낼 수 있다.
본 발명의 실시 예에 있어서, 제 2의 벡터란, 검색 키워드 또는 관련 키워드가 상기 클러스터 또는 상기 클래스에 속하는 스코어 또는 확률을 벡터로서 나타낸 것이다. 제 2의 벡터는, 상기 스코어 또는 확률을 예를 들면 0~1의 실수로 변환된 값으로 나타낼 수 있다. 제 2의 벡터는, 문서 데이터 베이스에서 준비된 문서 데이터에는 관계없이 평가되는 파라미터다.
본 발명의 실시 예에 있어서, 내적(inner product)이란, 문서 데이터 각각에 대한 제 1의 벡터 각각과, 검색 키워드에 대한 제 2의 벡터에 대해서, 어떤 값(스칼라)을 정하는 연산이다. 제 1의 벡터를 x=[x1,x2,…,xn]로 하고, 제 2의 벡터를 y=[y1,y2,…,yn]로 한 경우, 상기 제 1의 벡터와 상기 제 2의 벡터와의 내적 값은 아래의 식 13에 따라 구해진다. 내적 값은, 제 1의 벡터 각각에 대해 구해진다.
Figure 112012049734611-pct00018
본 발명의 실시 예에 있어서, 상관 값은, 검색 키워드와 상관이 강한 패싯 키워드(facet keyword)를 검출하기 위해서, 혹은, 검색 키워드 및 개념 검색의 결과로서 얻어지는 문서 데이터와 상관이 강한 패싯 키워드를 검출하기 위해 이용된다. 상관 값이 높을수록, 검색 키워드와 상관이 강하다.
본 발명의 실시 예에 있어서, 제 1의 실시 예의 검색 방법은, 제 1의 실시 예의 상관 값을 구함으로써 수행된다. 제 1의 실시 예의 상관 값은, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터의 제 1의 데이터 세트와, 상기 스코어가 소정의 문턱 값 이상 또는 상기 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트와, 상기 제 1의 데이터 세트와 상기 제 2의 데이터 세트의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트로부터 구해진다. 이 경우, 상관 값은 상관 함수를 이용하여 계산된다. 상기 상관 함수는, 예를 들면 아래의 식 20의 상관 함수에 따라 구해진다.
본 발명의 실시 예에 있어서, 제 2의 실시 예의 검색 방법은, 제 2의 실시 예의 상관 값을 구함으로써 수행된다. 제 2의 실시 예의 상관 값은, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터의 제 1의 데이터 세트와, 상기 스코어가 소정의 문턱 값 이상 또는 상기 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트와, 상기 검색 키워드 또는 관련 키워드를 포함하는 문서 데이터의 제 3의 데이터 세트와, 상기 제 1의 데이터 세트와 상기 제 2의 데이터 세트의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트로부터 구해진다. 이 경우, 상관 값은 상관 함수를 이용하여 계산된다. 상기 상관 함수는, 예를 들면 아래의 식 26의 상관 함수에 따라 구해진다.
본 발명의 실시 예에 있어서, 분류 키워드 세트란, 패싯 키워드라고도 불린다. 패싯이란 정보의 단면(viewpoints)이다. 패싯에서는, 복수의 속성 값들(패싯 값들)이 메타 데이터로서 사용된다. 본 발명에 있어서, 분류 키워드 세트는, 복수의 패싯 키워드(단순히, 패싯 키워드라고도 한다)이다. 패싯 키워드는, 예를 들면, 사전 중의 단어 또는 프레이즈 세트를 그대로 사용할 수 있다. 이와 달리, 패싯 키워드는, 예를 들면 유저에 의해 사전 중의 단어 또는 프레이즈로부터 선택될 수 있다. 패싯 키워드의 선택은, 예를 들면, 어플리케이션의 트리 상에서 표시된 패싯 키워드를 유저가 선택하도록 함으로써 수행된다. 패싯 키워드는 또, 유저가 반드시 직접적으로 선택할 필요가 없고, 컴퓨터에 의해 자동적으로 선택시킬 수도 있다.
본 발명의 실시 예에 있어서, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터란, 문서 데이터의 집합 중, 패싯 키워드를 포함하는 문서 데이터(제 1의 문서 데이터)이다. 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터의 제 1의 데이터 세트란, 상기 제 1의 문서 데이터로부터 만들어지는 집합체이다.
본 발명의 실시 예에 있어서, 스코어가 소정의 문턱 값 이상 또는 스코어 상위 소정 비율에 포함되는 문서 데이터란, 문서 데이터의 집합 중, 제 1의 벡터와 제 2의 벡터와의 내적 값(스코어)이 소정의 문턱 값 이상의 문서 데이터(제 2의 문서 데이터), 또는, 문서 데이터의 집합 중, 상기 스코어가 상위 소정 비율에 포함되는 문서 데이터(제 2의 문서 데이터)이다. 스코어가 소정의 문턱 값 이상 또는 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트란, 상기 제 2의 문서 데이터로부터 만들어지는 집합체이다.
본 발명의 실시 예에 있어서, 검색 키워드 또는 관련 키워드를 포함하는 문서 데이터란, 문서 데이터의 집합 중, 검색 키워드를 포함하는 문서 데이터 또는 관련 키워드를 포함하는 문서 데이터(제 3의 문서 데이터)이다. 검색 키워드 또는 관련 키워드를 포함하는 문서 데이터의 제 3의 데이터 세트란, 상기 제 3의 문서 데이터로부터 만들어지는 집합체이다.
본 발명의 실시 예에 있어서, 제 1의 데이터 세트와 제 2의 데이터 세트와의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트란, 상기 제 1의 데이터 세트와 상기 제 2의 데이터 세트의 양쪽에 존재하는 본서 데이터로부터 만들어지는 집합체이다.
이하, 도 1a~도 5d에 있어서 본 발명의 실시 예에서 사용되는 기술을 설명하고, 다음으로 도6a~도 10에 있어서 본 발명의 실시 예를 설명한다. 본 실시 예는, 본 발명의 예시적인 실시 예를 설명하기 위한 것이며, 본 발명의 범위를 여기에서 나타낸 것에 한정할 의도는 없다는 것을 이해해주길 바란다. 또, 이하의 도면을 통하여, 특별히 부정하지 않는 한, 동일한 부호는, 동일한 대상을 나타낸다.
또한, 도 1a는, 문서 데이터의 클러스터링 또는 분류를 포함하는, 색인 데이터 베이스의 작성의 흐름을 나타낸다.
A. 색인 데이터 베이스의 작성
색인 데이터 베이스(114)의 작성에서는, 문서 데이터(111)로부터 단어 및 프레이즈를 추출하고(101), 문서 데이터를 클러스터링 또는 분류하고(102), 그리고 검색 키워드로부터 상기 검색 키워드를 포함하는 문서 데이터를 특정하기 위한 색인의 작성을 수행한다(103). 색인으로서, 단어 또는 프레이즈가 문서 데이터에 부여된다. 또한, 문서 데이터가 클러스터 또는 클래스에 속하는 스코어 또는 확률은, 문서 데이터에 메타 데이터로서 부여되는 것이다. 이하, 색인 데이터 베이스의 작성을 도 1a의 단계(101~103)에 따라 설명한다.
단계(101)에서는, 컴퓨터 내의 자연 언어 해석을 처리하는 해석 처리부(도 8a의 806)가, 준비된 문서 데이터(111)의 자연 언어 해석을 수행한다. 문서 데이터(111)는, 예를 들면 문서 데이터 베이스를 저장하는 기억 장치 또는 그 외의 기록 매체에 저장되어 있다. 자연 언어 해석은, 예를 들면, 도 1c에 나타낸 것처럼 아래 4개의 단계로부터 구성된다: 형태소 해석(121), 구문 분석(122), 의미 분석(123) 및 문맥 해석(124). 자연 언어 해석은, 예를 들면, 시판되는 자연 언어 해석 어플리케이션 소프트웨어를 사용하여 수행할 수 있다. 예를 들면, 자연 언어 해석 엔진은, IBM(IBM사의 등록 상표) Omni Find(IBM사의 등록 상표) Enterprise Edition의 일부의 기능으로서 구현된다. 상기 해석 처리부는, 문서 데이터가 입력되면 또는 문서 데이터를 취득하면, 상기 문서 데이터(111)로부터 단어를 추출한다. 상기 추출에는, 단어 사전(112) 및 단어의 추출 룰(113)이 사용된다. 단어 사전(112)은, 자연 언어 해석에 의해 문서 데이터로부터 단어를 추출하기 위해 사용되는 사전이다. 단어 사전은, 예를 들면, 문서 데이터의 내용의 분야 또는 상기 내용에 유사한 분야의 사전을 사용할 수 있다. 추출 룰(113)은, 자연 언어 해석에 의해 문서 데이터로부터 단어를 추출하기 위해 사용되는 규칙 또는 규정이다. 자연 언어 해석에서는, 단어 사전(112)을 사용하여, 상기 추출된 단어에 품사 정보를 더 부가한다. 그리고, 해석 처리부는, 품사 정보가 부가된 단어 및 추출 룰(113)에 근거하여 프레이즈를 더 추출할 수 있다.
단계(102)에서, 상기 컴퓨터 내의 클러스터링부는, 문서 데이터 베이스에 저장된 문서 데이터(111)를 클러스터링 또는 분류한다. 문서 데이터의 클러스터링에서는, 문서 데이터 간의 유사도 또는 거리에 근거하여, 문서 데이터를 그룹으로 나눈다. 문서 데이터의 분류에서는, 컴퓨터에 의해 자동적으로 또는 사람의 손에 의해 수동적으로, 문서 데이터를 그룹으로 나눈다. 클러스터링 또는 분류에서, 문서 데이터마다, 각 클러스터의 스코어가 구해진다. 상기 스코어를 구하는 방법은, 클러스터링 또는 분류의 알고리즘에 따라 서로 다르다. 바꿔 말하면, 스코어를 정의하는 것이 상기 알고리즘이다. 예를 들면 단어 공간에 맵핑(mapping) 방법에서는, 각 클러스터 각각은, 단어 공간에 있어서, 클러스터를 대표하는 점으로서 정의되고, 또 각 문서 데이터도 점으로서 정의된다. 상기 맵핑 방법의 경우, 점간 거리의 역수를 스코어로 할 수 있다. 다른 방법으로는, 점을 벡터로 고려하여, 내적으로 정의하는 방법이다. 또 다른 방법으로는, 단어의 발생 빈도를 통계적인 확률로 간주하여, 베이스의 규칙으로 확률을 구하고, 스코어로 하는 방법이 있다. 클러스터링의 구체 예는, 도 3a ~ 도 3c를 이용하여 별도로 설명하겠다.
단계(103)에서, 상기 컴퓨터 내의 색인 부여부(도 8a의 807)는, 검색 대상인 문서 데이터를 내부에서 처리할 수 있는 형식(내부 표현)(도 1d의 132를 참조)으로 변환한다. 이 내부 표현을 색인이라고도 한다. 색인 부여부는, 문서 데이터(111)로부터 추출된 단어 또는 프레이즈(이하, 키워드라고 한다)를 색인으로서, 색인 데이터 베이스(114)에 보존한다. 또, 색인 부여부는, 문서 데이터마다, 각 클러스터의 스코어를 가진 문서 목록을 작성한다. 상기 문서 목록은, 색인 데이터 베이스(114)에 보존될 수 있고, 다른 데이터 베이스로서 기록 매체 내에 보존될 수도 있다. 각 문서 데이터의 각 클러스터 스코어를 문서 목록에 모두 보존하면 과잉이 되고(redundant), 데이터 량이 많아진다. 따라서, 스코어가 소정의 문턱 값보다도 큰 스코어 또는 소정의 비율을 가진 클러스터의 스코어만 문서 목록 중에 보존하고, 그외 다른 클러스터의 스코어는 제로로 간주되도록 해도 좋다.
단계(101~103)를 반복함으로써, 색인 데이터 베이스(114)는 작성된다. 색인 데이터 베이스(114)가 작성됨으로써, 유저로부터 입력된 또는 컴퓨터에 의해 작성된 검색 키워드에 근거하여, 색인 데이터 베이스(114)를 이용한 문서 데이터의 검색이 가능해진다. 문서 데이터의 검색의 개요를 도 1b에 나타낸다.
색인의 작성은, 검색의 효율화 또는 목적에 따라, 상기 단계(103)에 있어서 설명한 것처럼 컴퓨터에 의해 자동적으로 색인을 작성할 수 있지만, 검색의 효율화 또는 목적에 따라 수동으로 색인을 작성할 수 있다. 색인은, 유저로부터 입력된 또는 컴퓨터에 의해 작성된 쿼리와의 매칭에 사용하기 위해, 문서 데이터의 내용을 잘 나타내는 것이 중요하다.
컴퓨터에 의한 자동적인 색인의 작성은, 검색 대상인 문서 데이터로부터 자동적으로 단어를 추출하여, 예를 들면 상기 단어의 품사 또는 통계적인 정보에 근거하여 자동적으로 색인을 상기 문서 데이터에 관련 지어, 상기 검색 키워드를 색인 데이터 베이스에 등록하는 방법이다. 일본어에서는, 영어와 같이 띄어 쓰기 되어 있지 않기 때문에, 문서 데이터 중의 단어를 자동적으로 분할할 필요가 있다. 상기 분할을 위해서, 상기 형태소 해석이 사용될 수 있다. 분할에 의해서, 복합어인 경우, 조사 및 조동사와 같은 기능어를 색인으로부터 삭제하여, 독립 단어(independent word)와 같이 의미를 가진 내용 단어(content word)만을 색인으로서 색인 데이터 베이스(114)에 등록할 수 있다.
또한, 자동적인 색인의 작성을 위해서 n그램 색인을 사용할 수 있다. n그램 색인에서는, 분할된 단어가 없고, 문장의 선두로부터 1자씩 밀려나가면서 연속하는 n문자를 색인으로 하는 n그램 색인이 사용될 수 있다. 하지만, n그램 색인에서는, 의미가 없는 색인도 작성될 수 있다.
또한, 자동적인 색인의 작성을 위해서, 중요도를 사용할 수 있다. 중요도는, 상기 문서 데이터로부터 추출된 색인이, 상기 색인이 포함된 문서 데이터의 내용과 얼마나 밀접하게 관련되어 있는지를 나타낸다. 상기 중요도가 검색 키워드에 부여됨으로써, 보다 적절한 문서 데이터의 검색이 가능하다. 문서 데이터의 중요도는, 통상, 상기 검색 키워드가 포함되는 문서 데이터에 의해 서로 다를 수 있다.
중요도의 계산 방법은, 예를 들면 tf
Figure 112012049734611-pct00019
idf가 이용된다. tf란, 색인의 문서 데이터 내의 발생 빈도이며, 어떤 키워드가 문서 데이터 중에서 많이 존재할수록 중요하다고 판단된다. 즉, 발생 빈도의 값이 큰 색인일수록 문서 데이터 내에서 중요하다는 것을 나타내고 있다. df란, 문서 데이터의 집합 중에서 색인이 발생하는 문서 데이터의 수이며, idf는 그 역수이다. tf
Figure 112012049734611-pct00020
idf에서는, 문서 데이터의 집합에 있어서, 특정의 키워드가 어떤 특정의 문서 데이터에 많이 발생하는 경우에는 상기 키워드는 중요하지만, 한편 상기 특정의 키워드가 문서 데이터의 집합 중에 어느 문서 데이터에도 나타나는 경우에는 중요도가 내려간다 라고 하는 성질을 나타낸다. 이 성질을 이용하여, 색인에 중요도를 부여할 수 있다.
td
Figure 112012049734611-pct00021
idf에 의한 상기 중요도 부여를 사용하여, 부여된 검색 키워드의 중요도가 높은 문서 데이터가 우선적으로 검색 결과로서 추출될 수 있다.
색인의 수동작성(manual creation)이란, 예를 들면 데이터 베이스 관리자가 문서 데이터의 내용을 보고, 검색을 위해 중요하다고 생각하는 단어 또는 프레이즈를 문서로부터 빼내어, 상기 단어 또는 프레이즈를 색인으로 하는 방법이다.
도 1b는, 문서 데이터의 검색의 개요의 흐름을 나타낸다.
B. 문서 데이터의 검색
문서 데이터의 검색은, 상기 도 1a에서 작성된 색인 데이터 베이스(114)를 사용하여 수행한다(104). 이하, 문서 데이터의 검색을 도 1b의 단계(104~105)에 따라 설명한다.
단계(104)에서, 검색 서버는, 유저 단말에 입력된 쿼리(115)를, 예를 들면 네트워크를 통하여 수신한다. 쿼리는, 예를 들면 검색 식으로서 나타낸다. 검색 식은, 검색 키워드를 가지고 있다. 검색 서버 내의 색인 부여부는, 쿼리를 시스템 내부에서 처리할 수 있는 형식(내부 표현)(도 1d의 131을 참조)으로 변환한다. 검색 서버 내의 검색부는, 색인 데이터 베이스(114)에 액세스하여, 예를 들면 쿼리의 내부 표현(131)과 문서 데이터의 내부 표현(도 1d의 132)을 매칭함으로써 (도 1d의 104를 참조), 상기 쿼리를 만족하는 검색 결과를 얻을 수 있다. 검색 서버는, 유저 단말에 검색 결과를 송신한다.
단계(105)에서, 유저 단말은, 상기 검색 결과를 그 표시 장치 상에 표시한다. 검색 결과는, 예를 들면, 문서 데이터가 목록으로서 표시되며, 바람직하게는 문서 데이터의 목록이 쿼리와 상관 값이 큰 순으로 표시된다.
또한, 검색 서버와 유저 단말은 동일일 수 있다. 유저 단말과 검색 서버가 동일인 경우, 유저 단말은 유저로부터 입력된 또는 컴퓨터에 의해 작성된 쿼리를 수신하면, 상기 유저 단말의 색인 부여부는, 쿼리를 시스템 내부에서 처리할 수 있는 형식(내부 표현)으로 변환한다(도 1d의 131을 참조). 유저 단말 내의 검색부는, 색인 데이터 베이스(114)에 액세스하고, 상기 쿼리를 만족하는 검색 결과를 얻는다. 유저 단말은, 상기 검색 결과를 그 표시 장치 상에 표시한다.
도 1c는, 자연 언어 해석의 개요의 흐름을 나타낸다.
자연 언어 해석은, 해석 처리부에 의해 수행된다. 해석 처리부는, 형태소 해석 처리부, 구문 해석 처리부, 의미 해석 처리부, 및 문맥 해석 처리부를 갖추고 있다.
단계(121)에서, 형태소 해석 처리부가, 문서 데이터(111)의 문절(clauses)을 형태소 해석한다. 형태소 해석에서, 활용법(conjugations)이 이용 정보(usuage information)로서 사용된다. 형태소 해석에서, 활용된 단어(conjugated words)는 원형(base form)으로 돌아가고, 문서 데이터로부터 추출된 모든 단어에 품사가 할당된다. 형태소 해석에서, 예를 들면, 상기 문절 내의 단어의 배열 순서가 형태론적으로 정확한 결과만이 사용될 수 있다.
단계(122)에서, 구문 해석 처리부(syntax analysis unit)가, 상기 형태소 해석된 결과를 이용하여, 구문 해석한다. 구문해석에서, 예를 들면, 문서 데이터에 따른 각 언어의 문법이 이용 정보로서 사용되어, 구문 구조(syntactic structure)가 추출된다. 구문 구조란, 문장이 가진 규칙적 배열 구조이다. 구문 해석에서, 예를 들면, 문법을 이용하여, 단어 또는 프레이즈 사이의 수식 관계가 해석되어, 문장의 구문 구조를 얻을 수 있다.
단계(123)에서, 의미 해석 처리부(semantic analysis unit)가, 단어 또는 프레이즈가 가진 의미 정보를 사전을 이용하여, 단어, 프레이즈 또는 문장의 의미를 추출한다. 의미 해석에서, 형태소 해석 및 구문 해석에서 발생한 애매성이 해소된다.
단계(124)에서, 문맥 해석 처리부(context analysis unit)가, 의미 해석의 결과를 이용하여, 문맥 해석을 수행한다. 문맥 해석에서, 예를 들면 명사구의 해석, 동사구의 해석이 수행된다. 명사구의 해석에서, 중심이 되는 명사를 개념화하고, 상기 명사를 수식하고 있는 정보를 통합한다. 동사구의 해석에서, 동사를 개념화하고, 그리고 부사 등의 수식어를 통합한 후에, 명사구의 심층격(deep case)과 함께 동사구에 대한 통합이 수행된다(슬롯 필링).
이상의 단계(121)~단계(124)에 의해, 자연 언어 해석의 이해 결과(116)가 얻어진다.
도 1d는, 문서 데이터의 내부 표현과 쿼리의 내부 표현과의 매칭에 의한 검색의 한 예를 나타낸다.
단계(104)에서, 검색부는, 쿼리(115)로부터 작성된 쿼리의 내부 표현(131)과, 문서 데이터 각각의 내부 표현(132)을 매칭하고, 상기 쿼리에 일치하는 문서 데이터의 검색을 수행한다.
단계(105)에서, 검색부는, 일치한 문서 데이터의 검색 결과를, 예를 들면 목록 형식으로 표시 장치 상에 표시한다.
도 2는, 도 1a의 단계(101~103)의 내용을, 문서 데이터의 구체 예를 이용하여 설명한 것이다.
문서 데이터(211)의 구체 예에서, 오리지널 문서 데이터 1(221)을 이용하여 설명한다. 오리지널 문서 데이터 1(221)의 내용은, 다음과 같다: “마주오는 차를 피하려고, 핸들을 강하게 꺾다. 일시 2007/07/07 7:00AM”.
단계(201~203)가, 도 1a의 단계(101~103)에 각각 대응한다.
단계(201)에서는, 해석 처리부(도 8a의 806)는, 오리지널 문서 데이터 1(221)의 자연 언어 해석을 한다. 그 결과는 다음과 같다: “마주오는 차(명사) 피하다(동사) 핸들(명사) 강하게(부사) 꺾다(동사)”(222). 자연 언어 해석에 의해, 활용되고 있는 단어는 원형으로 돌려놓았다. 또, 자연 언어 해석에 의해, 각 단어에 품사가 할당되어 있다.
단계(202)에서, 클러스터링부(도 8A의 806)는, 문서 데이터(211)를 클러스터링 또는 분류한다.
도 2에 나타낸 클러스터 1~3 각각은, 문서 데이터에 포함되는 단어 전부를 참조하여, 공통단어가 많은 것끼리를 클러스터링 한 것이다. 도 2에서는, 클러스터 1~3의 각 스코어가 나타내어져 있다(223). 클러스터 1~3의 각 스코어(223)는, 오리지널 문서 데이터 1이 각 클러스터에 속하는 스코어를 나타내고 있다. 예를 들면, 문서 데이터의 집합이 교통 사고 보고에 관한 것인 경우, 클러스터 1은 “운전 미스에 의한 사고”, 클러스터 2는 “엔진의 고장에 의한 사고”, 및 클러스터 3은 “비 등에 의한 사고”이다. 하지만, 클러스터에는, 예를 들면 반드시 인간이 보았을 때 의미가 없는 클러스터도 존재한다. 또한, 클러스터는, 일반적으로, 예를 들면 tf
Figure 112012049734611-pct00022
idf를 이용하여, 어떤 문서 데이터에도 발생하는 빈출(頻出) 단어로부터의 기여는 작아지도록 하였다. 또, 각 클러스터는 특정의 단어 또는 프레이즈만으로 되어 있지 않다. 예를 들면, 문서 데이터의 집합이 상기 교통 사고 보고에 관한 것인 경우, “운전 미스에 의한 사고”의 클러스터 1에서는 예를 들면 “핸들” 및 “브레이크”가 현저한 단어로서 나타나고, 그리고 “엔진의 고장에 의한 사고”의 클러스터 2에서는 예를 들면 “오일” 및 “개스킷”이 현저한 단어로서 나타난다.
단계(203)에서, 색인 부여부(도 8a의 807)은, 문서 데이터(201)의 색인인 단어 또는 프레이즈(224)를 색인 데이터 베이스(214) 내에 보존한다. 색인 데이터 베이스(214)는 또한, 문서 목록(225)를 저장할 수 있다. 단어 프레이즈 색인(224)은, 문서 데이터(111)로부터 추출된 단어 또는 프레이즈를 색인으로 가지고 있다. 또한, 단어 프레이즈 색인(224)은 문서 데이터의 작성일인 날짜를 색인으로서 가지고 있을 수 있다. 날짜는 문서 데이터의 색인으로서 필수는 아니지만, 단어 또는 프레이즈 이외에, 문서 데이터의 작성일 등의 문서 데이터의 메타 데이터로서 이용 가능한 것은 색인화 될 수 있다. 문서 데이터의 작성일은, 예를 들면, 특정의 기간 내에 작성된 문서 데이터로 검색 대상을 한정해서 해석하고 싶은 경우에 유용하다. 문서 목록(225)는, 문서 데이터마다, 각 클러스터에 있어서 스코어를 기록한다. 문서 목록(225)에서는, 오리지널 문서 데이터 1에 대한 클러스터 1~3의 스코어의 큰 것만을 보존하고, 다른 클러스터의 스코어를 제로(0)로 간주하여 보존하지 않아도 된다. 왜냐하면, 실제로는, 문서 목록(225) 내에 모든 클러스터의 스코어를 보존하면 과잉이 되고(redundant), 문서 목록의 파일 사이즈가 커질 뿐이기 때문이다. 따라서, 문서 목록(225) 내에 큰 스코어를 가진 클러스터의 스코어만을 보존하고, 다른 클러스터의 스코어를 제로로 간주한다. 문서 목록(225) 내에는, 오리지널 문서 데이터 1~n 각각에 대한 각 클러스터의 스코어가 보존되어 있다.
도 3a는, 복수의 문서 데이터의 클러스터링의 제 1의 실시 예의 개념도를 나타낸다.
제 1의 실시 예는, 각 단어의 발생 빈도를 독립한 차원으로 간주하여, 벡터 공간 모델에 문서 데이터를 플롯 하여 클러스터링 하는 방법이다. 벡터 공간 모델은 단어 공간이라고도 불린다.
본 벡터 공간 모델에서는, 단어 1의 발생 빈도가 X축, 단어 2의 발생 빈도가 Y축, 및 단어 3의 발생 빈도가 화살표로 나타낸 축으로 나타내고 있다. 따라서, 도 3a에서 나타낸 벡터 공간 모델은 3차원이다. 또한, 단어가 N개(N은 정수) 있는 경우에는, N차원이 된다. 단어가 1억 개 있는 경우에는 N이 1억이므로, 그 벡터 공간 모델은 1억 차원이다.
본 제 1의 실시 예에서는, 예를 들면 아래의 단계에 따라 클러스터링을 수행한다.
단계(1) 문서 데이터가 주어지면, 문서 데이터에서 지정된 속성 또는 문서 데이터에서 사용되는 문자 코드로부터, 문서 데이터의 언어가 (예를 들면, 일본어, 영어 또는 중국어) 결정된다.
단계(2) 특정된 언어용의 사전을 이용하여, 형태소 해석을 수행하고, 문서 데이터 중 모든 단어 또는 프레이즈를 추출한다. 또한, 사전에 없는 단어는 미지의 단어로서, 추출한다. 이렇게 하여서, 하나의 문서 데이터에 대해서, 상기 문서 데이터에 포함되는 단어 또는 프레이즈 목록과 각각의 단어 또는 프레이즈 발생 빈도의 일람표가 작성된다.
단계(3) 상기 일람표를 이용하여, 문서 데이터마다의 단어 목록의 합집합을 구한다. 이 목록의 단어 각각이, 도 3a에 나타내는 벡터 공간 모델의 차원이 된다. 예를 들면, 전부 1억개의 단어 또는 프레이즈를 추출하였다고 하면, 벡터 공간 모델은 1억 차원이 된다. 각 문서 데이터가 이 벡터 공간 모델의 점으로서, 상기 모델 내에 각각 플롯 된다.
단계(4) 상기 플롯 된 점 간의 거리에 근거하여, 각각의 문서 데이터가 클러스터링 된다. 그것에 의하여, 어떤 범위 내에 있는 문서 데이터의 그룹이 클러스터링 된다.
상기 클러스터링의 알고리즘으로서, 예를 들면, LSI/LSA, LDA(Latent Dirichlet Allocation) 또는 k-means가 사용될 수 있다.
도 3a에 있어서, 클러스터링에 의해, 문서 데이터는 그룹 1~4(301~304)로 그룹이 나누어져 있다.
도 3b는, 복수의 문서 데이터의 클러스터링의 제 2의 실시 예의 개념도를 나타낸다.
제 2의 실시 예는, 공통하는 단어의 발생 빈도에 의해 문서 데이터를 클러스터링 하는 방법이다.
도 3b에 있어서, 상기 제 1의 실시 예와 같은 방법으로, 단어 1의 발생 빈도가 X축, 단어 2의 발생 빈도가 Y축, 단어 3의 발생 빈도가 화살표로 나타내는 축, …, 및 단어 N의 발생 빈도가 N축(도시하지 않음)으로 나타내고 있다.
예를 들면, 단어로서, “세포”, “DNA” 및 “산”이 추출된 경우, “세포”, “DNA” 및 “산”은 각각, 단어 I, J 및 K이다(0≤I, J, K≤N). 제 2의 실시 예에 있어서도, 상기 제 1의 실시 예와 같은 방법으로, 각 문서 데이터가 벡터 공간 모델 내에서 각각 플롯 된다. 제 2의 실시 예에서, 문서 데이터가 반드시 여러 분야 별로 나누어질 필요는 없다. 제 2의 실시 예를 이용하여, 클러스터링이 가능한 이유는 다음과 같다. 상기에 기술한 것처럼, 예를 들면 전부 1억 개의 단어 또는 프레이즈를 추출해내었다고 하면, 벡터 공간 모델은 1억 차원이다. 하지만, 1억 차원의 벡터 공간에 문서 데이터를 점으로서 플롯 하면 상당히 드문드문한 상태가 된다. 같은 토픽을 취급하는 문서 데이터끼리는 공통의 단어를 포함할 가능성이 높기 때문에, 같은 토픽을 취급하는 각 문서 데이터는 어떤 공간에 편재(偏在)할 가능성이 높다. 예를 들면, 바이오 관계의 문서 데이터에서는, 동영상 기술 관계에서 언급되는 단어 또는 프레이즈가 적다. 따라서, 바이오 관계의 문서 데이터의 집합과 동영상 기술의 문서 데이터의 집합이 벡터 공간 모델 내에서 분리되는 것이 기대된다.
도 3b에 있어서, 클러스터링에 따라, 문서 데이터는, 그룹 1(세포, DNA, 산, …)이라고 하는 바이오 관계의 문서 데이터의 집합(311), 그룹 2(동영상, 녹화, MPEG, …)라고 하는 동영상 기술 관계의 문서 데이터의 집합(312), 그룹 3(전자, 트랜지스터, 전하, …)이라고 하는 전자 관계의 문서 데이터의 집합(313) 및 그룹 4(액체, 유체, 밸브, …) 제어 기술 관계의 문서 데이터의 집합(314)으로 그룹을 나누고 있다.
도 3c는, 복수의 문서 데이터의 클러스터링의 제 3의 실시 예의 개념도를 나타낸다.
제 3의 실시 예는, 각 클러스터의 중심의 각 단어의 발생 빈도에 의한 문서 데이터를 클러스터링 하는 방법이다.
도 3c에 있어서, 상기 제 1의 실시 예와 같은 방법으로, 단어 1의 발생 빈도가 X축, 단어 2의 발생 빈도가 Y축, 단어 3의 발생 빈도가 화살표 방향, …, 및 단어 N의 발생 빈도가 N축(도시하지 않음)으로 나타내고 있다.
벡터 공간 모델 내의 점의 그룹(클러스터)을, 중요도를 가진 실점(material points)의 집합으로 간주하면, 그 실점의 중심(barycenter)이 존재한다. 이 중심이 클러스터의 중심이다. 상기 중요도에 대해서, 각 점이 균일한 중요도를 가진다고 해도 좋고, 또는 점마다 tf
Figure 112012049734611-pct00023
idf를 이용하여 중요도를 부여해도 좋다. 중요도가 균일한 경우, 중심의 정의는 각각의 실점의 좌표의 평균이다.
제 3의 실시 예에 있어서도, 상기 제 1의 실시 예와 같이, 문서 데이터가 벡터 공간 모델 내에 각각 플롯 된다. 그 다음에 대해서는, 어떤 알고리즘을 이용하는지에 따라 어떻게 클러스터링 할지는 서로 달라진다. 알고리즘으로서, 당 업자에게 잘 알려진 관용의 방법이 사용될 수 있다.
도 3c에 있어서, 클러스터링에 따라, 문서 데이터는, 그룹 1(세포, DNA, 산, …)(321), 그룹 2(동영상, 녹화, MPEG, …)(322), 그룹 3(전자, 트랜지스터, 전하, …)(323), 및 그룹 4(액체, 유체, 밸브, …)(324)로 그룹이 나누어진다.
도 4a는, 검색 키워드 B를 포함하는 문서 데이터의 데이터 세트와 키워드 A를 포함하는 문서 데이터의 데이터 세트로부터, 중복하는 문서 데이터의 데이터 세트를 추출하는 개념도를 나타낸다.
도 4a에서는, 모든 문서 데이터 D(401), 검색 키워드 B를 포함하는 문서 데이터의 집합(402) 및 키워드 A를 포함하는 문서 데이터의 집합(403)을 나타내고 있다. 도 4a의 예에서는 검색 키워드 B를 포함하는 문서 데이터의 집합(402)과 키워드 A를 포함하는 문서 데이터의 집합(403)과의 일부가 공통된다(406). 상기 공통 부분(406)은, 검색 키워드 B를 포함하는 문서 데이터의 집합 및 키워드 A를 포함하는 문서 데이터의 집합의 공통 부분이다. 한편, 원(402) 중 부분(404)은, 검색 키워드 B를 포함하는 문서 데이터의 집합이고 또 공통 부분(406)을 포함하지 않는 부분이다. 원(403) 중 부분(405)은, 키워드 A를 포함하는 문서 데이터의 집합이고 또 공통 부분(406)을 포함하지 않는 부분이다.
상관 함수 F는, 공통 부분(406)의 문서 데이터의 수가 기대 값보다도 큰지(1보다 큰지), 또는 작은지(1이하)를 알기 위해 이용한다. 상관 함수 F는, 도 4a에 있어서 사용되는 부호를 이용하여 나타낸 경우, 하기 식 14 또는 식 15의 상관 함수 F에 따라 구해진다.
Figure 112012049734611-pct00024
Figure 112012049734611-pct00025
상관 함수 F에 따라 구해지는 상관 값이 기대 값보다도 크다고 하는 것은 검색 키워드 B와 키워드 A와의 사이에 상관(인과 관계)이 있어, 서로에게 관련하고 있다는 것을 나타낸다.
도 4b는, 도 4a의 키워드 A가 패싯 키워드 A인 경우에, 패싯 키워드를 포함하는 문서 데이터의 데이터 세트와 검색 키워드를 포함하는 문서 데이터의 데이터 세트와의 관계를 나타낸다.
패싯 카운트(facet counting)는, 키워드 검색을 위해 표준적으로 사용되는 방법이다. 카운트란, 문서 데이터의 수를 세는 것이다. 패싯 카운트를 주변에 가까운 예로 설명한다, 예를 들면 인터넷 쇼핑의 사이트에 있어서 상품명을 입력하여 검색하면, 가격대별 또는 메이커별로 상기 상품의 수가 표시되도록 하는 경우가 있다. 이것에 의해, 그 상품이 대체로 어느 정도의 가격으로 판매되어 있는지, 또는, 어떤 메이커가 그 상품을 다수 판매하고 있는지 등의 정보를 얻을 수 있다.
패싯 키워드 카운트에서는, 주어진 검색 키워드 B를 포함하는 문서 데이터의 집합에 대해서, 패싯 키워드로서 지정된 키워드 A의 집합(이하, 패싯 키워드 A라고도 한다)의 각각의 요소(키워드)가 포함되는 문서 데이터의 수를 센다. 그렇게 하여서, 패싯 키워드 A 중에서, 검색 키워드 B에 대해 현저한 키워드를 찾는 것이 가능하다.
도 4b에서는, 패싯 키워드 A가 여러 가지로 변경된 경우에, 검색 키워드 B를 포함하는 문서 데이터의 집합에 대해서, 상기 변경된 패싯 키워드 A의 각각의 요소(키워드)가 어느 정도의 발생 빈도로 문서 데이터에 포함되는지를 나타낸다.
도 4b의 검색 키워드 B를 포함하는 문서 데이터의 집합(402)은, 도 4a의 검색 키워드 B를 포함하는 문서 데이터의 집합(402)과 동일하다.
도 4b에서는, 패싯 키워드 A를 포함하는 문서 데이터의 집합을 원(403A, 403B 및 403C)으로 나타낸다. 도 4b의 패싯 키워드 A를 포함하는 문서 데이터의 집합(403A, 403B 및 403C)은, 도 4a의 키워드 A를 포함하는 문서 데이터의 집합(403)에 대응한다. 또한, 도 4b에서는 스페이스의 상황 상, 3개의 원을 기재하고 있는 것뿐이며, 패싯 키워드가 N개(N은 정수) 있으면, N개의 원((403A~403N)이 있다. 패싯 키워드 A는 예를 들면, a1,a2, 및 a3(…an) 이다. 이 경우, 원(403A)이 a1을 포함하는 문서 데이터의 집합이며, 원(403B)이 a2를 포함하는 문서 데이터의 집합이고, 및 원(403C)이 a3을 포함하는 문서 데이터의 집합이다. 도 4b에서는, 패싯 키워드 A를 바꿈으로써, 각 원(403A, 403B 및 403C)의 중심(407A, 407B 및 407C)이 이동하는 것이 나타내어져 있다. 그리고, 상기 이동의 결과, 검색 키워드 B를 포함하는 문서 데이터의 집합(402)와 패싯 키워드 A를 포함하는 문서 데이터의 각 집합(403A, 403B 및 403C)과의 공통 부분(406A, 406B 및 406C)이 이동해 가는 모양을 알 수 있다(도 4b의 오른쪽의). 상기 공통 부분이 이동한다고 하는 것은, 공통 부분에 있는 문서 데이터와, 상기 공통 부분에 포함되는 문서 데이터의 수(발생 빈도)가 변화해 가는 것을 의미한다. 도 4c에서 설명한 것처럼 각 패싯 키워드와 검색 키워드와의 상관 값을 계산함으로써, 검색 키워드 B에 대해서 상관 값이 큰 패싯 키워드의 집합을 추출하는 것이 가능하다.
도 4c는, 도 4b의 패싯 카운트를 이용하여, 패싯 키워드 A와 검색 키워드의 상간 값을 계산하고, 검색 키워드와 상관이 강한 키워드를 검출하는 개념도를 나타낸다.
패싯 키워드 A의 1~4가 각각, MPEG(411), 푸리에 변환(412), 유기 EL(413) 및 홀로그램(414)이라고 하자. 패싯 키워드는, 예를 들면, 문서 데이터에 포함되는 특수 명사이다.
도 4c에 나타낸 가로가 긴 장방형(411, 412, 및 413)이, 도 4b의 예를 들면 (403A), (403B) 및 (403C)에 각각 상당한다. 또한, 도 4b에서는, 도 4c에 (414)에 대응하는 기재가 없을 뿐이다.
점선 화살표(415)는, 검색 키워드 B에 대해서, 패싯 키워드 A를 바꾸어 가는 것을 나타낸다.
패싯 키워드 A 각각에 대해서, 쿼리 중의 검색 키워드 B와의 상관 값은, 예를 들면, 아래의 식 16의 상관 함수
Figure 112012049734611-pct00026
및 식 17 내지 식 19에 따라 구해진다. 아래의 식에 의하면, 문서 데이터가 개념 검색의 결과로서 얻어지는 문서 데이터의 집합(616)에 포함되어 있는지 또는 포함되어 있지 않은지는, 0 또는 1(포함된다/ 포함되지 않는다)의 두 값으로 나타낸다.
Figure 112012049734611-pct00027
Figure 112012049734611-pct00028
는,
Figure 112012049734611-pct00029
Figure 112012049734611-pct00030
로 나눈 값이다.
Figure 112012049734611-pct00031
는, 식 17에 따라 구해진다.
Figure 112012049734611-pct00032
는, 식 18에 따라 구해진다.
Figure 112012049734611-pct00033
는, 식 19에 따라 구해진다.
Figure 112012049734611-pct00034
s는, 패싯 키워드이다.
d는, 문서 데이터이다.
Figure 112012049734611-pct00035
는, 패싯 키워드s가, 문서 데이터 d에 포함되는 경우는 1이며, 그 이외의 경우는 0이다.
N은, 문서 데이터의 총수이다.
따라서,
Figure 112012049734611-pct00036
는, 패싯 키워드s가 문서 데이터 d에 포함되는 총수를 문서 데이터의 총수 N으로 나눈 값이다.
Figure 112012049734611-pct00037
t는, 검색 키워드이다.
Figure 112012049734611-pct00038
는, 검색 키워드 t가, 문서 데이터 d에 포함되는 경우는 1이며, 그 이외의 경우는 0이다.
따라서,
Figure 112012049734611-pct00039
는, 검색 키워드 t가 문서 데이터 d에 포함되는 스코어의 총수를 문서 데이터의 총수 N으로 나눈 값이다.
Figure 112012049734611-pct00040
Figure 112012049734611-pct00041
는, 검색 키워드 t 및 패싯 키워드s의 양쪽이 문서 데이터 d에 포함되는 스코어의 총수를 문서 데이터 N으로 나눈 값이다.
Figure 112012049734611-pct00042
는, 검색 키워드 t가 문서 데이터에 포함되는 것과 패싯 키워드s가 문서 데이터에 포함되는 것이 인과 관계가 없는 경우에, 통계적으로 1이 되어, 동시 발생(共起)의 관계가 있는 경우에 1보다도 큰 값을 취한다.
따라서, 상기 식 16~식 19에 패싯 키워드 A 및 검색 키워드 B를 적용하여,
Figure 112012049734611-pct00043
를 계산하고, 패싯 키워드 A를 여러 가지로 변화시켰을 때에, 상기 상관 값이 큰 패싯이, 검색 키워드 B에 대해 상관이 강한 키워드이다.
도 4d는, 도 4b의 패싯 카운트를 이용하여, 검색 키워드와 상관이 강한 키워드를 검출하기 위해 사용할 색인을 작성하기 위한 흐름을 나타낸다.
단계(421)에서, 색인의 작성을 개시한다. 색인의 작성을 위해서, 이하에서는, 해석 처리부(도 8a의 806) 또는 색인 부여부(도 8a의 807)가 사용되지만 이것에 한정되는 것은 아니다.
단계(422)에서, 해석 처리부는, 문서 데이터(431)를 기억 장치로부터 메모리 내에 리드한다(read).
단계(423)에서, 해석 처리부는, 문서 데이터에서 지정된 속성 또는 문서 데이터에서 이용되는 문자 코드로부터, 사전 또는 패싯 정의를 포함하는 사전(432)을 사용하여 문서 데이터의 언어를 감지한다. 사전에는, 단어 또는 패싯 정의가 등록되어 있지만, 언어의 감지에는 패싯 정의는 관계없기 때문에, 언어의 감지를 위해 패싯 정의를 포함하지 않는 사전을 이용할 수 있다.
단계(424)에서, 해석 처리부는, 특정된 언어용의 사전(432)을 이용하여 형태소 해석을 수행하고, 문서 데이터 중의 모든 단어 또는 프레이즈를 검출한다. 예를 들면 일본국 특허청이라고 하는 말이 있는 경우에, 사전(432)을 사용하여 일본국, 특허청으로 분석한다. 하지만, 사전이 없으면, 일본국에서 구분되는 것인지, 일본국특 에서 구분되는 것인지가 알 수 없게 된다. 패싯 정의는, 이러한 것 중에 특히 지정된 흥미가 있는 단어만이 패싯 키워드로서 정의된 것으로, 그 이외의 단어를 무시하기 위한 것이다.
단계(425)에서, 색인 부여부는, 검출된 단어 혹은 프레이즈를 색인으로 하여 문서 데이터에 색인을 부여한다. 색인은, 예를 들면, 색인 데이터 베이스(433)에 저장된다. 또, 색인 부여부는 또, 상기 검출된 단어 또는 프레이즈의 중요도를 메타 데이터로서 색인에 부수하여 보관할 수 있다.
단계(426)에서는, 문서 데이터(431) 모두에 대해서, 상기 단계(422~425)를 반복하여, 색인의 작성을 종료한다.
도 4e는, 도 4d에 있어서 작성된 색인을 사용하여, 검색 키워드와의 상관 검출의 흐름을 나타낸다.
단계(441)에서, 검색부는, 상관 감지를 개시한다.
단계(442)에서, 검색부는, 유저로부터 입력된 또는 컴퓨터에 의해 작성된 검색 키워드 t를 수신하고, 메모리 또는 기억 장치에 저장한다. 검색 키워드는, 1이상의 단어, 1이상의 프레이즈, 혹은 그것들의 조합(긴 문서이어도 된다)이며, 예를 들면 SQL 내에 들어가 있다.
단계(443)에서, 검색부는, 색인 데이터 베이스(433) 중의 색인을 이용하여, 모든 문서 데이터의 목록 A를 취득한다. 색인에는, 모든 단어 또는 프레이즈가 사전식 순서로(in the lexicographic order)열거되어 있고, 각 단어 또는 프레이즈에 대해서, 그것을 포함하는 문서 데이터의 목록을 얻을 수 있다. 목록 A는, 예를 들면, 문서 데이터를 식별하기 위한 식별자(ID) 및 해당하는 단어 또는 프레이즈가 상기 문서 데이터 중에서 발생하는 장소의 정보를 포함한다. 상기 목록 A의 취득에 의해, 목록 A의 길이를 알 수 있다. 목록 A의 길이란, 모든 문서 데이터(431)의 수를 나타낸다.
단계(444)에서, 검색부는, 색인 데이터 베이스(433) 중의 색인을 이용하여, 검색 키워드 t를 포함한 문서 데이터의 목록 B를 취득한다. 상기 목록 B 취득에 의해, 목록 B의 길이를 알 수 있다. 목록 B의 길이란, 검색 키워드 t를 포함하는 문서 데이터의 수를 나타낸다.
단계(445)에서, 검색부는, 색인 데이터 베이스(433) 중의 색인을 이용하여, 패싯 키워드마다, 그 키워드s를 포함하는 문서 데이터의 목록C[s]를 취득한다. 패싯 키워드로서, 패싯으로서 정의되는 모든 키워드가 사용된다. 또한, 패싯으로서 정의되지 않는 경우, 패싯 키워드로서, 사전(432) 중의 모든 단어가 사용된다.
단계(446)에서, 검색부는, 목록 A의 길이, 목록 B의 길이, 목록 C[s]의 길이 로부터, 패싯 키워드마다의 상관 값을 계산한다. 상관 값은, 예를 들면, 상기 식 16~식 19에 따라 구해진다. 상기 상관 값의 값이 클수록, 검색 키워드와 상관성이 강한 키워드이다.
단계(447)에서는, 검색부는, 상관 감지를 종료한다.
도 5a~도 5d에서는, 개념 검색을 설명한다.
개념 검색에서는, 문서 데이터 베이스에 축적되는 문서 데이터에 대한 문서 벡터를 사전에 준비해 둔다. 그리고, 실제로 개념 검색을 수행할 때에, 쿼리로서 입력된 검색 키워드를 해석하여 구하는 문서 벡터와, 상기 사전에 준비해 둔 각 문서 벡터와의 내적을 구한다. 그 결과, 쿼리로서 입력된 검색 키워드와의 상관성이 높은 문서 데이터가, 문서 데이터 베이스로부터 추출된다. 그리고, 상관성이 높은 순으로, 추출된 문서 데이터 목록이 표시된다. 개념 검색은, 아래의 유리한 점을 갖는다.
(1) 검색 식을 만들지 않고도 문장으로 검색할 수 있다.
(2) 미리 수동으로 사전을 준비해 둘 필요가 없다.
개념 검색에서는, 단어 또는 프레이즈의 의미에 관한 정보를 처리하기 위해, 벡터라고 불리는 데이터 형식을 정의하여 사용한다. 상기 벡터를 문서 벡터라고도 한다. 문서 벡터는, 예를 들면 도 5d에 있어서 화살표로 나타낸다. 문서 벡터는, 예를 들면 N차원의 벡터 공간 내(도 5d의 531)에서 정의되어, 그 방향이 단어 또는 프레이즈의 의미를 나타내고 있다. N은 정수이고, 예를 들면 1억개 있을 수 있다.
개념 검색에서는, 키워드의 집합이 벡터로 변환되기 때문에, 키워드의 수와는 관계없다.
도 5a는, 개념 검색의 흐름을 나타낸다.
개념 검색에서는, 아래의 순서에 의해, 주어진 단어 또는 프레이즈에 관련한 문서 데이터를 발견한다.
단계(501~503)은, 개념 검색을 위한 색인의 작성을 나타낸다.
단계(501)는, 도 1a의 단계(101)에 대응한다. 단계(501)에서, 해석 처리부(도 8a의 806)는, 문서 데이터(511)의 자연 언어 해석을 수행하고, 상기 문서 데이터로부터 단어 또는 프레이즈를 추출한다.
단계(502)는, 도 1a의 단계(102)에 대응한다. 단계(502)에서, 클러스터링부는, 문서 데이터(511)를 클러스터링 또는 분류한다. 상기 클러스터링 또는 분류에 의해, 예를 들면, 단어(종축) x 클러스터(횡축)의 스코어 표가 생긴다.
단계(503)는, 도 1a의 단계(103)에 대응한다. 단계(503)에서, 색인 부여부(도 8a의 807)는, 클러스터링이 이용되는 경우, 문서 데이터(511) 각각이 클러스터에 속하는 스코어 또는 확률을, 상기 스코어 표를 참조하여 구한다. 색인 부여부는, 분류가 이용되는 경우, 문서 데이터(511) 각각이 클래스에 속하는 스코어 또는 확률을, 상기 스코어 표를 참조하여 구한다. 상기 스코어 또는 확률을, 이하, 제 1의 벡터라고 한다. 또한, 상기 스코어 또는 확률은, 적절하게, 제 1의 벡터에 적당한 값이 되도록 변환될 수 있다. 예를 들면, 제 1의 벡터의 값이 0~1의 사이의 실수가 되도록 변환될 수 있다.
단계(504~505)는, 개념 검색에 의한 검색을 나타낸다.
단계(504)에서, 검색 서버는, 유저 단말에 입력된 쿼리(515)를, 예를 들면 네트워크를 통하여 수신한다. 검색 서버는, 상기 쿼리를 수신하면, 상기 검색 키워드에 관련된 관련 키워드를 구할 수 있다. 검색 서버는, 검색 키워드 또는 검색 키워드에 관련된 관련 키워드에 대해서도, 상기 검색 키워드 또는 관련 키워드가 상기 클러스터 또는 상기 분류에 속하는 스코어 또는 확률을, 상기 스코어 표를 참조하여 구한다. 상기 스코어 또는 확률을, 이하, 제 2의 벡터로 한다. 또한, 상기 스코어 또는 확률은, 적절하게, 제 2의 벡터에 적당한 값이 되도록 변환될 수 있다. 예를 들면, 제 2의 벡터의 값이 0~1의 사이의 실수가 되도록 변환될 수 있다.
단계(505)에서는, 문서 데이터 각각에 대한 제 1의 벡터와, 검색 키워드에 대한 제 2의 벡터와의 내적을 계산한다. 상기 각 내적의 값을, 각 문서 데이터의 상기 쿼리에 대한 스코어로 한다. 상기 스코어에 근거하여, 스코어 순으로, 문서 데이터를 검색 결과(516)로서 표시한다.
또, 상기 스코어에 문턱 값을 설정하여, 상기 문턱 값보다 작은 값은 검색 결과(516)로부터 제외하는 처리를 수행할 수 있다.
도 5b는, 도 5a의 개념 검색에 있어서, 문서 데이터의 검색의 구체 예를 나타낸다.
개념 검색에서는, 아래의 순서에 의해, 문서 데이터의 검색을 수행한다.
단계(504)는, 도 1b의 단계(104)에 대응한다. 단계(504)에서, 검색 서버는, 유저 단말에 입력된 쿼리(115)를, 예를 들면, 네트워크를 통하여 수신한다. 검색부는, 상기 쿼리(115)를 수신하면, 상기 검색 키워드에 관련된 관련 키워드를 구할 수 있다. 검색 서버는, 상기 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드에 대해서, 벡터(제 2의 벡터)를 산출한다.
단계(505)는, 단계(504)와 같이, 도 1B의 단계(104)에 대응한다. 단계(505)에서, 검색 서버는, 상기 각 문서 데이터(523, 524)의 제 1 벡터와, 검색 키워드 또는 관련으로부터의 제 2의 벡터와의 내적을 각각 구한다(525, 526). 그리고, 구해진 내적의 값을 검색 키워드에 대한 각 문서 데이터의 스코어라 한다. 상기 스코어가 높으면 높을수록, 문서 데이터와의 상관성이 높다. 또한, 문서 데이터 2에서는 클러스터 2의 스코어가 클러스터 1의 스코어보다도 높지만, 각 클러스터는 스코어 순으로 소트되어 있는 게 아니라, 상기 문서 데이터가 각 클러스터에 어느 정도의 정확도로 속하고 있는지를 나타내고 있다.
단계(506)에서는, 유저 단말 또는 유저 단말로서 기능하는 검색 서버는, 상기 스코어에 근거하여, 스코어 순으로 문서 데이터를 검색 결과로서 표시 장치 상에 표시한다. 또, 스코어에 문턱 값을 설정하여, 상기 값보다 작은 값은 표시로부터 제외하도록 할 수 있다. 검색 결과는, 예를 들면, 문서 데이터가 목록으로서 표시되고, 바람직하게는 문서 데이터의 목록이 스코어가 높은 순으로 표시된다.
도 5c는, 도 5a의 개념 검색에 있어서, 문서 데이터 및 쿼리의 각 벡터 배열에 내적의 개념도를 나타낸다.
복수의 문서 데이터(531 및 532) 각각은, 단어 또는 프레이즈를 포함한다.
문서 데이터 1(531)로부터의 벡터(534)(제 1의 벡터)는, 클러스터마다의 스코어를 가지고 있다. 클러스터의 수는, 예를 들면, k-means의 경우 k개(k는 정수)이다. 벡터(534)의 각 스코어는, 예를 들면, 클러스터 1에 대해 0.99이며, 클러스터 2에 대해 0.82이다. 같은 방법으로, 문서 데이터 2(532)로부터의 벡터(535)(제 1의 벡터)는, 클러스터마다의 스코어를 가지고 있다. 벡터(535)의 스코어는, 예를 들면, 클러스터 1에 대해 0.72이며, 클러스터 2에 대해서 0.89이다. 이 스코어를 어떻게 정의할 지는, 사용하는 알고리즘에 따라 다르고, 여러 가지의 값이 사용될 수 있다. 상기 스코어는, 예를 들면, 상기 문서 데이터를 N차원의 문서 공간에 배치한 경우에 있어서, 각 클러스터에 대한 해당 문서 데이터의 각도일 수도 있다. 예를 들면 실제로는 내각 각도에서는, 떨어져 있을수록 스코어가 커지기 때문에, 스코어는, 예를 들면
Figure 112012049734611-pct00044
라고 정의될 수 있다.
쿼리(533)로부터의 벡터(536)(제 2의 벡터)는, 클러스터마다의 스코어를 가지고 있다. 벡터(536)의 각 스코어는, 예를 들면, 클러스터 1에 대해 0.89이며, 클러스터 2에 대해 0.76이다.
스칼라 1(537)이, 문서 데이터 1(531)의 제 1의 벡터(534)와 쿼리(533)의 제 2의 벡터(536)와의 내적이다. 스칼라 2(538)가, 문서 데이터 2(532)의 제 1의 벡터(535)와 쿼리(533)의 제 2의 벡터(536)와의 내적이다.
도 5d는, 벡터 공간 내의 문서 벡터의 개념도를 나타낸다.
도 5d의 예에서는, 4개의 카테고리(생화학, 정보 처리 공학, 전자 공학, 기계 공학) 중 어떤 것에 속하는 각 단어에 대한 벡터를 나타내고 있다. 2개의 문서 데이터 사이의 상관도는, 상기 2개의 문서 데이터 각각에 대한 문서 벡터의 내적으로서 정의된다. 벡터 공간 내에서, 2개의 문서 벡터의 방향이 가까우면 가까울수록, 즉 내적의 값이 높으면 높을수록 상기 2개의 문서는 그 상관도가 높다고 말할 수 있다.
도 6a는, 본 발명의 실시 예인 제 1의 실시 예의 검색 방법의 개념을 나타낸다.
제 1의 실시 예의 검색 방법은, 개념 검색의 결과로서 얻어지는 문서 데이터의 집합과, 패싯 키워드 A를 포함하는 문서 데이터의 집합으로부터 상관 값을 계산하고, 검색 키워드에 대해서 상관이 강한 패싯 키워드를 검출하는 방법이다.
도 6a는, 모든 문서 데이터 D(601), 개념 검색의 결과로서 얻어지는 문서 데이터의 집합(602) 및 패싯 키워드 A를 포함하는 문서 데이터의 집합(603A~603C)을 각각 나타낸다.
개념 검색의 결과로서 얻어지는 문서 데이터의 집합(602)은, 검색 키워드 B에 의한 개념 검색의 결과로서 얻어지는 문서 데이터의 집합이며, 검색 키워드 B와의 상관성이 높은 문서 데이터이다. 도 6a에 기재된 (Score>S for B)라는 표현은, 검색 키워드 B에 대한 스코어가 소정의 값보다도 큰 문서 데이터의 집합이라는 것을 의미한다. 검색 키워드 B에 의한 개념 검색은, 상기 도 5a~도 5d에 나타낸 방법에 의해 수행된다. 상기 문서 데이터의 집합(602)은, 검색 키워드 B에 강하게 관련되어 있다. 하지만, 상기 문서 데이터의 집합(602)은, 반드시 검색 키워드 B를 포함한다고 할 수 없고, 반대로 검색 키워드 B를 포함하는 문서 데이터가 반드시 상기 문서 데이터의 집합(602)에 포함된다고도 할 수 없다.
패싯 키워드 A를 포함하는 문서 데이터의 집합을 원(603A, 603B 및 603C)으로 나타낸다. 또한, 도면에서는 스페이스의 상황 상, 3개의 원을 기재하고 있는 것뿐, 패싯 키워드가 N개(N은 정수) 있으면, N개의 원(603A~603N)이 있다. 패싯 키워드 A는 예를 들면,
Figure 112012049734611-pct00045
, 및
Figure 112012049734611-pct00046
이다. 이 경우, 원(603A)이
Figure 112012049734611-pct00047
을 포함하는 문서 데이터의 집합이며, 원(603B)이
Figure 112012049734611-pct00048
를 포함하는 문서 데이터의 집합이고, 및 원(603C)이
Figure 112012049734611-pct00049
을 포함하는 문서 데이터의 집합이다. 도 6a에서는, 패싯 키워드 A를 바꾸어 가는 것으로, 각 원(603A, 603B 및 603C)의 중심(607A, 607B 및 607C)이 이동하는 것이 나타내어져 있다. 그리고, 상기 이동의 결과 개념 검색의 결과로서 얻어지는 문서 데이터의 집합(602)와 패싯 키워드 A를 포함하는 문서 데이터의 각 집합(603A, 603B 및 603C)과의 공통 부분(606A, 606B 및 606C)이 이동해 가는 모양을 알 수 있다. 상기 공통 부분이 이동한다고 하는 것은, 공통 부분에 있는 문서 데이터와, 그 공통 부분에 포함되는 문서 데이터의 수(발생 빈도)가 변화해 가는 것을 의미한다. 도 6b에서 설명하는 것처럼 각 패싯 키워드 A와 검색 키워드 B와의 상관 값을 계산하는 것에 의해, 검색 키워드 B에 대해서 상관 값이 큰 패싯 키워드의 집합을 추출하는 것이 가능하다.
도 6b는, 패싯 카운트를 이용하여, 검색 키워드와 상관이 강한 패싯 키워드를 검출하는 개념도를 나타낸다.
패싯 키워드 A는, 예를 들면, 패싯 키워드 1~n(n은 정수)을 포함한다. 예를 들면 패싯 키워드 1~4 각각이, MPEG(611), 푸리에 변환(612), 유기 EL(613) 및 홀로그램(614)이라고 하자. 이 예의 경우, 패싯 키워드 A는, 애니메이션 처리에 관한 문서 데이터에 포함되는 특수 명사이다.
도 6b에 나타낸 가로가 긴 장방형(611, 612, 및 613)이, 도 6a의 예를 들면 패싯 키워드 A를 포함하는 문서 데이터의 집합(603A, 603B 및 603C)에 각각 상당한다. 또한, 도 6a에서는, 도 6b에 나타낸 가로가 긴 장방형(614)에 대응하는 패싯 키워드 4를 포함하는 문서 데이터의 집합(603D)을 나타내지 않은 것뿐이다.
점선 화살표(615)는, 개념 검색의 결과로서 얻어지는 문서 데이터의 집합에 대해서, 패싯 키워드 A를 패싯 키워드 1~4로 바꾸어 가는 것을 나타낸다. 즉, 점선 화살표(615)는, 도 6a의 원의 중심(607A~607C)이 순차 이동하는 것과 같다.
도 6b에 나타낸 각 패싯 키워드 A상의 장방형(616)이, 검색 키워드 B에 대해서 개념 검색으로 수가 줄어든 문서 데이터의 집합을 나타낸다. 장방형(616)은, 도 6a의 개념 검색의 결과로서 얻어지는 문서 데이터의 집합(602)에 대응한다.
패싯 키워드 A에 대해 추출된 문서 데이터(611~614)로부터 추출된, 개념 검색의 결과로서 얻어진 개념이 일치하는 문서 데이터는, 예를 들면, 개념 검색에서 내적 값이 큰 것부터 작은 것의 순서로 수가 줄어든 문서 데이터의 집합이다.
다른 실시 예로서, 패싯 키워드 A 각각에 대한, 쿼리 중의 검색 키워드 B와의 상관 값은, 예를 들면, 아래의 식 20의
Figure 112012049734611-pct00050
및 식 21~식 25에 따라 구해진다. 또한, 문서 데이터가 개념 검색의 결과로서 얻어지는 문서 데이터의 집합에 포함되어 있는지 또는 포함되어 있지 않은지는, 0 또는 1(포함된다/ 포함되지 않는다)의 두 값이 아니라, 0~1의 사이의 실수가 된다. 따라서, 개념 검색의 결과로서 얻어지는 문서 데이터의 집합과 문서 데이터의 경계는 애매하게 된다.
Figure 112012049734611-pct00051
Figure 112012049734611-pct00052
는,
Figure 112012049734611-pct00053
Figure 112012049734611-pct00054
으로 나눈 값이다.
Figure 112012049734611-pct00055
는, 식 22에 따라 구해진다.
Figure 112012049734611-pct00056
는, 식 24에 따라 구해진다.
Figure 112012049734611-pct00057
s는, 패싯 키워드이다.
k는, 클러스터의 총수이다. k는 정수이다.
Figure 112012049734611-pct00058
는, 패싯 키워드s가 각 클러스터에 속하는 스코어이다.
|s는, 패싯 키워드s의 벡터의 정의이다.
Figure 112012049734611-pct00059
Figure 112012049734611-pct00060
는, 패싯 키워드s와 개념적으로 일치하는 단어가 문서 데이터에 발생하는 확률이며, 상기 확률은 스코어에 의해 연속적으로 평가된다.
d는, 문서 데이터이다.
N은, 문서 데이터의 총수이다.
<s|d>는, 문서 데이터 d에 대해서, 패싯 키워드s와의 내적이다. 내적<s|d>는,
Figure 112012049734611-pct00061
(단, ∑는 i=1, 2, …, k에 대한 합이다.)라고 정의된다.
Figure 112012049734611-pct00062
는, 패싯 키워드s와 문서 데이터 d의 스코어의 내적을 문서 데이터의 총수 N으로 나눈 값이다.
Figure 112012049734611-pct00063
t는, 검색 키워드이다.
Figure 112012049734611-pct00064
는, 검색 키워드 t가 각 클러스터에 속하는 각 스코어이다.
|t는, 검색 키워드 t의 벡터 정의이다.
Figure 112012049734611-pct00065
Figure 112012049734611-pct00066
는, 검색 키워드와 개념적으로 일치하는 단어가 문서 데이터에 발생하는 확률이며, 상기 확률은 스코어에 의해 연속적으로 평가된다.
<t|d>는, 문서 데이터 d에 대해서, 검색 키워드 t와의 내적이다. 내적<t|d>는,
Figure 112012049734611-pct00067
(단, ∑는 i=1, 2, …, k에 대한 합이다.)라고 정의된다.
Figure 112012049734611-pct00068
는, 검색 키워드 t와 문서 데이터 d의 스코어의 내적을 문서 데이터의 총수 N으로 나눈 값이다.
Figure 112012049734611-pct00069
Figure 112012049734611-pct00070
는, 검색 키워드와 개념적으로 일치하는 단어와, 패싯 키워드s와 개념적으로 일치하는 단어와의 쌍방이 발생하는 확률이다.
구해진 패싯 키워드는, 검색 키워드 B에 대해 상관이 강한 패싯 키워드이다.
도 6c는, 도 6a의 제 1의 실시 예의 검색 방법을 위해 사용할 색인을 작성하기 위한 흐름을 나타낸다.
단계(621)에서, 색인의 작성을 개시한다. 색인의 작성을 위해, 이하에서는, 해석 처리부(도 8a의 806) 또는 색인 부여부(도 8a의 807)가 사용되지만 이것에 한정되는 것은 아니다.
단계(622)에서, 해석 처리부는, 문서 데이터(631)를 기억 장치로부터 메모리 내에 리드한다.
단계(623)에서, 해석 처리부는, 문서 데이터에서 지정된 속성 또는 문서 데이터에서 이용되는 문자 코드로부터, 사전 또는 패싯 정의를 포함하는 사전(632)을 사용하여 문서 데이터의 언어를 감지한다.
단계(624)에서, 해석 처리부는, 특정된 언어용의 사전(632)을 이용하여 형태소 해석을 수행하고, 문서 데이터 중의 모든 단어 또는 프레이즈를 검출한다.
단계(625)에서, 색인 부여부는, 문서 데이터가 속하는 클러스터 또는 클래스를 검출한다. 검출된 클러스터 또는 클래스의 정보는, 문서 데이터에 관련되어 클러스터 데이터 베이스(633)에 기억된다.
단계(626)에서, 색인 부여부는, 모든 문서 데이터 각각에 대해서, 각 문서 데이터가 클러스터 또는 클래스에 속하는 스코어(제 1의 벡터)를 구한다. 구해진 스코어는, 문서 데이터 스코어 데이터 베이스(634)에 저장된다.
단계(627)에서, 색인 부여부는, 검출된 단어 또는 프레이즈를 색인으로 문서 데이터에 색인을 부여한다. 색인은, 예를 들면, 색인 데이터 베이스(635)에 저장된다. 색인 부여부는 또, 문서 데이터의 메타 정보로서, 상기 스코어를 색인에 부수하여 보관한다. 색인 부여부는 또, 상기 검출된 단어 또는 프레이즈의 중요도를 메타 데이터로서 색인에 부수하여 보관할 수 있다.
단계(628)에서, 문서 데이터(631) 전부에 대해, 상기 단계(622~627)를 반복하고, 색인의 작성을 종료한다.
도 6d 및 도 6e는, 도 6c에 있어서 작성된 색인을 사용하여, 도 6a의 제 1의 실시 예의 검색 방법으로 상관을 검출하는 흐름을 나타낸다.
단계(641)에서, 검색부는, 상관 감지를 개시한다.
단계(642)에서, 검색부는, 유저로부터 입력된 또는 컴퓨터에 의해 작성된 검색 키워드 t를 수신하고, 메모리 또는 기억 장치에 저장한다. 검색부는, 검색 키워드 t를 수신하면, 상기 검색 키워드에 관련된 관련 키워드를 추출할 수 있다. 검색 키워드는, 예를 들면 쿼리 안에 포함되어 있다.
단계(643)에서, 검색부는 클러스터 데이터 베이스(633)로부터 클러스터 정보를 리드하고, 상기 검색 키워드 t 또는 상기 검색 키워드에 관련된 관련 키워드에 대해서, 클러스터마다 스코어(제 2의 벡터)를 산출한다. 클러스터마다의 스코어란, 검색 키워드 또는 관련 키워드가 각각의 클러스터에 속하는 스코어이다.
단계(644)에서, 검색부는, 색인 데이터 베이스(635) 중의 색인을 이용하여, 모든 문서 데이터의 목록 A를 취득한다. 목록 A는, 예를 들면, 문서 데이터를 식별하기 위한 식별자(ID) 및 해당하는 단어 또는 프레이즈가 상기 문서 데이터 중에서 발생하는 장소의 정보를 포함한다. 상기 목록 A의 취득에 의해, 목록 A의 길이를 알 수 있다. 목록 A의 길이란, 모든 문서 데이터(631)의 수를 나타낸다.
단계(645)에서, 검색부는, 문서 데이터 스코어 데이터 베이스(634)로부터, 목록 A 상의 문서 데이터의 클러스터마다 스코어를 리드한다.
단계(646)에서, 검색부는, 검색 키워드 t의 클러스터마다의 스코어와 상기 문서 데이터의 클러스터의 스코어로부터 개념 일치의 정도를 스코어로서 구한다. 개념 일치의 정도의 스코어는, 단계(647)에서 사용된다.
단계(647)에서, 검색부는, 단계(646)에서 구해진 개념 일치의 정도의 스코어가 소정의 값보다 큰 문서 데이터를 검색 결과 목록 B(636)에 추가한다.
단계(648)에서, 검색부는, 문서 목록 A의 전부에 대해서, 단계(645~647)를 경유했는지를 확인한다. 문서 목록 A의 끝이 아닌 경우, 단계(645)로 리턴 한다. 한편, 문서 목록 A의 끝인 경우, 단계(649)(도 6E)로 진행한다.
단계(649)에서, 검색부는, 색인 데이터 베이스(635) 중의 색인을 이용하여, 패싯 키워드마다, 그 키워드s를 포함하는 문서 데이터의 목록C[s]를 취득한다. 패싯 키워드로서, 패싯으로 정의되는 모든 키워드가 사용된다. 또한, 패싯으로 정의되지 않는 경우, 패싯 키워드로서, 사전(432) 중의 모든 단어가 사용된다.
단계(650)에서, 검색부는, 목록 A의 길이, 목록 B의 길이, 목록C[s]의 길이, 및 목록 B와 목록 C[s]의 공통 부분(적 집합)의 길이로부터, 패싯 키워드마다의 상관 값을 계산한다. 상관 값은, 예를 들면, 상기 식 20의
Figure 112012049734611-pct00071
및 식 21~식 25에 따라 구해진다.
단계(651)에서, 검색부는, 상관 감지를 종료한다.
도 7a는, 본 발명의 실시 예인 제 2의 실시 예의 검색 방법의 개념을 나타낸다.
제 2의 실시 예의 검색 방법은, 도 6a의 제 1의 실시 예의 검색 방법에, 검색 키워드 B를 포함하는 문서 데이터의 집합을 조합한 하이브리드 이다. 즉, 제 2의 실시 예의 검색 방법은, 개념 검색의 결과로서 얻어지는 문서 데이터의 집합과, 패싯 키워드A를 포함하는 문서 데이터의 집합과, 검색 키워드 B를 포함하는 문서 데이터의 집합으로부터 상관 값을 계산하고, 검색 키워드 및 개념 검색의 결과로서 얻어지는 문서 데이터와 상관이 강한 패싯 키워드를 검출하는 방법이다.
도 7a는, 모든 문서 데이터 D(701), 검색 키워드 B를 포함하는 문서 데이터의 집합(702), 개념 검색의 결과로서 얻어지는 문서 데이터의 집합(703) 및 패싯 키워드 A를 포함하는 문서 데이터의 집합(704)을 각각 나타낸다. 또한, 도 7a에서는, 패싯 키워드 A를 포함하는 문서 데이터의 집합(704)을 하나의 원(704)으로 나타내고 있는데, 도 7a에 있어서도, 도 6a와 같이, 패싯 키워드 A를 포함하는 문서 데이터의 집합은, 패싯 키워드 A의 수에 따라 복수의 원으로 나타낼 수 있다. 즉, 패싯 키워드가 N개라면, N개의 원(704A~704N)이 나타난다. 패싯 키워드 A를 바꾸어 감으로써, 각 원(704A, 704B 및 704C)의 중심(708A, 708B 및 708C)이 이동한다(도시하지 않음).
도 7a에 나타낸 영역 1, 2 및 3의 관계를 벤 다이어그램으로 나타내면 다음과 같다.
영역 1은, 집합(702) 및 집합(704)의 공통 부분으로부터, 집합(702), 집합(703) 및 집합(704)의 공통 부분을 뺀 것이다.
영역 2는, 집합(702), 집합(703) 및 집합(704)의 공통 부분이다.
영역 3은, 집합(703) 및 집합(704)의 공통 부분으로부터, 집합(702), 집합(703) 및 집합(704)의 공통 부분을 뺀 것이다.
상기 집합(702, 703 및 704)의 공통 부분(영역 1, 영역 2 및 영역 3)의 상관 값은, 하기 식 26에 나타낸 상관 함수
Figure 112012049734611-pct00072
에 따라 구해진다.
Figure 112012049734611-pct00073
a 및 n은 조절 가능한 파라미터다. 식 26에 있어서, 영역 1, 2 및 3으로부터의 기여의 중요도는, a 및 n의 파라미터로 조절될 수 있다.
Figure 112012049734611-pct00074
는, 식 16 및 식 17~식 19에 있어서 설명하였다.
Figure 112012049734611-pct00075
는, 식 20 및 식 21~식 25에 있어서 설명하였다.
식 26에 있어서, a의 값을 크게 하면, 개념은 일치하고, 키워드는 포함되지 않은 문서 데이터로부터의 기여도가 크게 반영된다.
식 26에 있어서, n의 값을 크게 하면, 개념이 일치하지 않는 문서 데이터로부터의 기여를 막을 수 있다.
영역 1은, 패싯 키워드 A와 검색 키워드 B를 포함하지만, 개념적으로 적절하지 않은 문서 데이터의 집합이다. 즉, 상관 관계가 없다.
영역 2는, 패싯 키워드 A와 검색 키워드 B를 포함하고, 또한 개념적으로도 적절하다. 즉, 상관 관계가 강하다.
영역 3은, 패싯 키워드 A를 포함하고, 검색 키워드 B를 포함하지 않지만, 개념적으로는 적절하다. 즉, 상관 관계가 있다.
다음으로 검색 키워드 관점으로부터, 영역 1~영역 3의 각 특징을 기술하겠다.
영역 1은, 검색 키워드 B를 포함하지만, 개념적으로 일치하지 않는 문서 데이터의 데이터 세트이다. 개념적으로 일치하지 않는 문서 데이터의 세트란, 검색 키워드에 관련하는 단어 및 프레이즈를 (거의)포함하지 않는다는 뜻이다. 따라서, 영역 1은, 해석 대상으로서는 바람직하지 않은 문서 데이터의 데이터 세트를 포함한다.
영역 2는 검색 키워드 B를 포함하고, 개념적으로도 일치한다. 개념적으로 일치한다는 것은, 검색 키워드에 관련하는 단어 또는 프레이즈를 많이 포함한다는 뜻이다. 따라서, 영역 2는, 상당히 바람직한 문서 데이터의 데이터 세트를 포함한다.
영역 3은, 검색 키워드 B를 포함하지 않지만, 개념적으로 일치하는 문서 데이터의 데이터 세트이다. 개념적으로 일치한다는 것은, 상기에서 기술한대로, 검색 키워드에 관련하는 단어 또는 프레이즈를 많이 포함한다는 뜻이다. 따라서, 영역 3은, 바람직한 문서 데이터의 데이터 세트를 포함한다.
도 7a의 제 2의 실시 예의 검색 방법을 위해 사용할 색인을 작성하기 위한 흐름은, 도 6c의 제 1의 실시 예의 검색 방법을 위해 사용할 색인을 작성하기 위한 흐름과 기본적으로 같기 때문에, 본 명세서에서는 그 기재를 생략한다.
도 7b 및 도 7c는, 도 6c와 같은 방법으로 하여 작성된 색인을 사용하여, 도 7a의 제 2의 실시 예의 검색 방법으로 상관을 검출하는 흐름을 나타낸다.
단계(731)에서, 검색부는, 상관 감지를 개시한다.
단계(732)에서, 검색부는, 유저로부터 입력된 또는 컴퓨터에 의해 작성된 검색 키워드 t를 수신하고, 메모리 또는 기억 장치에 저장한다. 검색부는, 검색 키워드 t를 수신하면, 상기 검색 키워드 t에 관련된 관련 키워드를 구할 수 있다. 검색 키워드는, 예를 들면 쿼리 안에 포함되어 있다.
단계(733)에서, 검색부는, 색인 데이터 베이스(635) 중의 색인을 이용하여, 모든 문서 데이터의 목록 A를 취득한다. 상기 목록 A의 취득에 의하여, 목록 A의 길이를 알 수 있다. 목록 A의 길이란, 모든 문서 데이터(631)의 수를 나타낸다.
단계(734)에서, 검색부는, 색인 데이터 베이스(635) 중의 색인을 이용하여, 검색 키워드 t를 포함하는 문서 데이터의 목록 B를 취득한다. 상기 목록 B 취득에 의하여, 목록 B의 길이를 알 수 있다. 목록 B의 길이란, 검색 키워드 t를 포함하는 문서 데이터의 수를 나타낸다.
단계(735)에서, 검색부는, 색인 데이터 베이스(635) 중의 색인을 이용하여, 패싯 키워드마다, 그 키워드s를 포함하는 문서 데이터의 목록 C[s]를 취득한다.
단계(736)에서, 검색 서버는, 클러스터 데이터 베이스(633)로부터 클러스터 정보를 리드하고, 상기 검색 키워드 t 또는 상기 검색 키워드에 관련된 관련 키워드에 대해서, 클러스터마다의 스코어(제 2의 벡터)를 산출한다.
단계(737)에서, 검색부는, 문서 데이터 스코어 데이터 베이스(634)로부터, 목록 A 상의 문서 데이터의 클러스터마다 스코어를 리드한다.
단계(738)에서, 문서 데이터 d에 대해서, 검색 키워드 t, 및, 패싯 키워드s의 각각에 대해서, 내적<t|d> 및 내적<s|d>를 구한다. 벡터의 정의는, 아래의 식27~식 29에서 나타내었다.
Figure 112012049734611-pct00076
Figure 112012049734611-pct00077

Figure 112012049734611-pct00078
Figure 112012049734611-pct00079

Figure 112012049734611-pct00080
Figure 112012049734611-pct00081

Figure 112012049734611-pct00082
(단, ∑는 i=1, 2, …, k에 대한 합이다.)
Figure 112012049734611-pct00083
(단, ∑는 i=1, 2, …, k에 대한 합이다.)
단계(739)에서, 검색부는, 문서 목록 A의 모두에 대해서, 단계(737~738)을 경유했는지를 확인한다. 문서 목록 A의 끝이 아닌 경우, 검색부는 단계(737)로 리턴 한다. 한편, 문서 목록 A의 끝인 경우, 검색부는 단계(740)(도 7c)으로 진행한다.
단계(740)에서, 검색부는, 모든 문서 데이터 d에 대해 구한 <t|d> 및 <s|d>, 목록 A의 길이, 목록 B의 길이, 목록 C[s]의 길이, 및 목록 B와 목록 C[s]의 공통 부분(적 집합)의 길이로부터, t와 s의 상관 값을 구한다. 상관 값은, 예를 들면, 식 27에 따라 구해진다.
단계(741)에서, 검색부는, 상관 감지를 종료한다.
도 8a는, 본 발명의 실시 예에 따른, 문서 데이터 처리부 및 색인 부여부를 갖춘 컴퓨터의 시스템 도를 나타낸다.
본 발명의 실시 예에 따른 시스템은 색인 작성을 위한 컴퓨터(801)(이하, 색인 작성 컴퓨터라고 한다), 색인 작성 컴퓨터(801)에 네트워크를 통하여 접속되는 1 또는 그 이상의 서버(802a~802n) 및 1개 또는 그 이상의 검색 서버(803), 및 검색 서버에 네트워크를 통하여 접속된 유저 단말(804)을 갖추고 있다.
색인 작성 컴퓨터(801)는, 크롤러(805), 문서 데이터 처리부(806), 색인 부여부(807), 캐시(808), 및 섬네일 처리부(thumbnail processing unit)(809)를 갖추고 있다.
크롤러(805)는, 각 서버(802a~802n)로부터 문서 데이터(810), 예를 들면 Web 페이지의 수집 처리를 수행한다. 크롤러(805)는, 로봇 또는 스파이더 라고도 불린다. 크롤러(805)는, 수집한 문서 데이터(810)를, 예를 들면 기억 장치(도시 하지 않음)에 저장한다.
크롤러는 또, 문서 데이터(810)를 캐시(808)에 저장한다.
문서 데이터 처리부(806)는, 해석 처리부 및 클러스터링부를 포함한다. 해석 처리부는, 자연 언어 해석을 처리한다. 클러스터링부는, 문서 데이터를 클러스터링 또는 분류한다.
색인 부여부(807)는, 문서 데이터(810)의 텍스트 색인, 패싯 색인, 섬네일 색인을 작성한다. 이것들의 각 색인은, 색인 데이터 베이스(835)에 저장된다. 각각의 색인은 검색 런타임(search runtime)(811)에 의해 이용된다. 텍스트 색인과 패싯 색인을 구별하는 것은 실제 구현 디자인을 위해서 이며, 같을 수도 있다. 검색 런타임은, 색인 작성 컴퓨터(801) 상, 또는 다른 서버 상에 위치할 수 있다. 검색 런타임(811)이 다른 서버 상에 있는 경우, 색인 데이터 베이스(835)는 그 다른 서버 상에 복사된다. 또는, 색인 작성 컴퓨터(801)와 다른 서버가, 색인 데이터 베이스(835)에 액세스할 수 있도록, 스토리지 에어리어 네트워크(SAN)의 공유 디스크 상에 색인 데이터 베이스를 배치할 수도 있다.
색인 부여부(807)는 또, 클러스터 데이터 베이스(833), 문서 데이터 스코어 데이터 베이스(834) 및 색인 데이터 베이스(835)에, 클러스터 정보, 문서 데이터가 클러스터 또는 클래스에 속하는 스코어 또는 확률(제 1의 벡터), 및 색인 데이터를 각각 저장한다.
섬네일 처리부(809)는, 캐시에 저장된 문서 데이터(810)의 메타 데이터에 근거하여, 상기 문서 데이터를 화면에 아이콘으로서 표시하기 위한 섬네일을 작성한다. 메타 데이터란, 예를 들면, 문서의 종류, 내용을 특정하기 위한 데이터이다. 검색 서버(803)는, 유저 단말(804)로부터의 쿼리를 수신하여, 문서 데이터(810)를 검색하고, 그 검색 결과를 유저 단말(804)에 송신한다.
도 8b는, 본 발명의 실시 예에 따른, 검색부를 갖춘 검색 서버의 시스템 도를 나타낸다.
검색 서버(803)는, 검색부(821)를 포함한다. 검색 서버(803)는 또, 검색 서버(803)가 유저 단말로서 기능하고 있는 경우에는, 검색 결과 표시부(823)를 포함한다. 검색 서버(803)가 유저 단말(804)에 검색 결과를 송신하는 경우에, 검색 서버(803)는 검색 결과 송신부(822)를 포함한다. 검색부(821)는, 클러스터 데이터 베이스(833), 문서 데이터 스코어 데이터 베이스(834) 및 색인 데이터 베이스(835) 각각으로부터의 클러스터 정보, 문서 데이터의 스코어 및 색인 데이터를 이용하여, 문서 데이터의 검색을 수행한다. 검색부(821)는 또, 개념 일치의 정도의 스코어가 소정의 값보다도 큰 문서 데이터를 검색 결과 목록을 위한 기억 장치(836)에 저장한다.
도 9는, 본 발명의 실시 예에 있어서, 도 8a 및 도 8b의 각 시스템의 컴퓨터 하드웨어의 블록 도를 나타낸다.
컴퓨터(901)는, CPU(902)와 메인 메모리(903)를 포함하고, 이것들은 버스(904)에 접속된다. CPU(902)는 바람직하게는, 32비트 또는 64비트의 아키텍처에 근거하는 것이고, 예를 들면, 인텔사의 Xeon(상표) 시리즈, Core(상표) 시리즈, Atom(상표) 시리즈, Pentium(등록 상표) 시리즈, Celeron(상표) 시리즈, ADM사의 Phenom(상표) 시리즈, Athlon(상표) 시리즈, Turion(상표) 시리즈 및 Sempron(상표) 등을 사용할 수 있다. 버스(904)에는, 디스플레이 컨트롤러(905)를 통하여, TFT 모니터 등의 디스플레이(906)가 접속된다. 디스플레이(906)는, 컴퓨터 시스템의 관리를 위해, 통신 회선을 통하여 네트워크에 접속된 컴퓨터 시스템에 대한 정보와, 그 컴퓨터 시스템 상에서 동작 중의 소프트웨어에 대한 정보를, 적당한 그래픽 인터페이스에서 표시하기 위해 사용된다. 버스(904)에는 또, IDE 또는 S-ATA 컨트롤러(907)를 통하여, 하드 디스크 또는 실리콘 디스크(908)와, CD-ROM, DVD 드라이브 또는 BD 드라이브(909)가 접속된다.
하드 디스크(908)에는, 오퍼레이팅 시스템, 어플리케이션 프로그램 및 데이터가, 메인 메모리(903)에 로드 가능하도록 기억된다.
CD-ROM, DVD 또는 BD 드라이브(909)는, 필요에 따라, CD-ROM, DVD-ROM 또는 BD로부터 프로그램을 하드 디스크 또는 실리콘 디스크(908)에 추가적으로 인스톨하기 위해 사용된다. 버스(904)에는 또, 키보드 마우스 컨트롤러(910)를 통하여, 키보드(911) 및 마우스(912)가 접속된다.
통신 인터페이스(914)는, 예를 들면, 이더넷(등록 상표) 프로토콜에 따른다. 통신 인터페이스(914)는, 통신 컨트롤러(913)를 통하여 버스(904)에 접속되고, 컴퓨터(901)를 통신 회선(915)에 물리적으로 접속하는 역할을 담당하고, 컴퓨터 시스템의 오퍼레이팅 시스템의 통신 기능의 TCP/IP 통신 프로토콜에 대하여, 네트워크 인터페이스 층을 제공한다. 또한, 통신 회선은, 유선 LAN 환경, 혹은 예를 들면 IEEE802. 11a/b/g/n 등의 무선 LAN 접속 규격에 근거하는 무선 LAN 환경도 될 수 있다.
도 10은, 키워드 검색 방법, 및 본 발명인 제 1의 실시 예의 검색 방법 및 본 발명인 제 2의 실시 예의 검색 방법에 따른 검색 결과를 나타낸다.
문서 데이터는, 20만 건으로 하였다. 또한, 상기 결과에 있어서, 검출된 키워드에 부수하여 표시되는 숫자는 상관 함수에 따라 구해진 상관 값이다. 따라서, 상기 숫자는, 기대 값보다도 몇 배 많이 발생하였는지를 계측한다. 예를 들면, 모든 문서 데이터가 100만 건 있고, 키워드가 1건의 빈도로 발생하는 경우를 고려해보자. 문서 데이터의 집합을 검색에 의해 수를 좁혀서, 1천 건에 1건의 빈도로 발생했다고 하자. 이 경우, 상관 값은 1000이다. 따라서, 상관 값은, 수백 또는 수천의 값일 수 있다.
종래 기술인 키워드 검색 방법에 의한 검색 결과를 표(1001)에 나타낸다. 본 발명인 제 1의 실시 예의 검색 방법에 의한 검색 결과를 표(1002)에 나타낸다. 본 발명인 제 2의 실시 예의 검색 방법에 의한 검색 결과를 표(1003)에 나타낸다.
키워드 검색 방법(1001)에서는, 20만 건 중의 문서 데이터로부터, 검색 키워드가 "비디오" 1개인 경우 3675건 히트하고(1001A), 검색 키워드가 "비디오, 영화" 2개인 경우 693건 히트하고(1001B), 검색 키워드가 "비디오, 영화, 고밀도" 3개인 경우 12건 히트하였다(1001C). 상기 키워드 검색에 의한 방법에서는, 키워드의 수가 추가되는 것에 따라, 검색되는 문서 데이터의 수가 극단적으로 감소하고, 해석에 충분한 문서 데이터를 얻을 수 없었다.
한편, 본 발명인 제 1의 실시 예의 검색 방법에서는, 검색 키워드가 "비디오" 1개인 경우 21401건 히트하고(1002A), 검색 키워드가 "비디오, 영화, 고밀도" 3개인 경우 11004건 히트하였다(1002B).
또, 본 발명인 제 2의 실시 예의 검색 방법에서는, 키워드 검색과 본 발명인 제 1의 실시 예(개념 검색)의 결과를 합친 것처럼 된다. 검색 키워드가 적은 경우(상기 1개의 경우), 검색 결과는, 키워드 검색의 결과가 많이 반영된다(1003A). 한편, 검색 키워드가 많아지면, 제 1의 실시 예의 결과가 많이 반영된다(1003B).
이상과 같이, 본 발명인 제 1의 실시 예 및 제 2의 실시 예에 의한 검색에서는, 키워드 검색 방법에 비해, 보다 폭 넓은 콘텍스트에서 상관을 적절하게 발견하는 것이 가능하였다.
또한, 본 발명인 제 1의 실시 예의 검색 방법에서는, 문서 데이터의 집합이 개념 일치의 스코어의 문턱 값에 의해, 문서 데이터가 추출되어 집합에 들어간 것인지 아닌지는 0(거짓) 또는 1(참)에서 확실히 알 수 있다. 그 때문에, 집합에 속하는 문서 데이터의 수(히트 수)는 결정된다. 한편, 본 발명인 제 2의 실시 예에서는, 이 경계는 명확히 정의되지 않고, 모든 문서 데이터로부터 기여가 0~1의 사이의 실수로 나타나기 때문에 상관 값이 영향을 받는다. 그 때문에, 집합에 속하는 문서 데이터의 수(히트 수)는 애매하게 된다. 따라서, 제 2의 실시 예의 검색 결과에서는 집합에 속하는 문서 데이터의 수를 "(전부)"로서 표시한다(1003A 및 1003B).

Claims (10)

  1. 검색 키워드(search keyword) 또는 상기 검색 키워드에 관련된 관련 키워드와 상관(correlation)을 가지며, 자연 언어에 의한 현상의 기술(description of phenomena in a natural language)인 문서 데이터를, 검색 키워드로, 검색하는 방법으로서, 상기 방법은 컴퓨터에,
    상기 문서 데이터 각각이 문서 데이터를 클러스터링(clustering) 또는 분류하기 위한 클러스터 또는 클래스에 속하는 제 1 스코어(score) 또는 확률을 제 1의 벡터로서 계산하는 단계;
    검색 키워드가 입력됨에 따라, 상기 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드가 상기 클러스터 또는 클래스에 속하는 제 2 스코어 또는 확률을 제 2의 벡터로서 계산하는 단계;
    상기 제 1의 벡터 각각과 상기 제 2의 벡터의 내적(inner product)을 계산하는 단계로서, 상기 계산된 내적 값이 대응하는 문서 데이터의 상기 검색 키워드에 대한 제 3 스코어인, 상기 계산하는 단계;
    분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터와, 상기 제 3 스코어가 소정의 문턱 값(a predetermined threshold) 이상 또는 상기 제 3 스코어가 상위 소정 비율(a predetermined high-ranking proportion)에 포함되는 문서 데이터로부터 상관 값(correlation value)을 구하는 단계를 실행시키는 것을 포함하는,
    방법.
  2. 청구항 1에서, 상기 상관 값이, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터의 제 1의 데이터 세트와, 상기 제 3 스코어가 소정의 문턱 값 이상 또는 상기 제 3 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트와, 상기 제 1의 데이터 세트 및 상기 제 2의 데이터 세트의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트로부터 구해지는
    방법.
  3. 청구항 2에서, 상기 상관 값이 아래에 기술된 함수
    Figure 112012049734611-pct00084
    에 따라 구해지는 방법:
    Figure 112012049734611-pct00085

    Figure 112012049734611-pct00086

    Figure 112012049734611-pct00087

    Figure 112012049734611-pct00088

    여기서,
    s는, 패싯 키워드이고,
    t는, 검색 키워드이고,
    d는, 문서 데이터이고,
    N은, 문서 데이터의 총수이고,
    <s|d>는,
    Figure 112012049734611-pct00089
    이고(단, ∑는, i=1, 2, …, k에 대한 합이다),
    <t|d>는,
    Figure 112012049734611-pct00090
    이고(단, ∑는, i=1, 2, …, k에 대한 합이다),
    k는 클러스터의 총수이며, 정수이다.
  4. 청구항 1에서, 상기 상관 값이, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터의 제 1의 데이터 세트와, 상기 제 3 스코어가 소정의 문턱 값 이상 또는 상기 제 3 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트와, 상기 검색 키워드 또는 관련 키워드를 포함하는 문서 데이터의 제 3의 데이터 세트와, 상기 제 1의 데이터 세트 및 상기 제 2의 데이터 세트의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트로부터 구해지는
    방법.
  5. 청구항 4에서, 상기 상관 값이 아래의 상관 함수
    Figure 112012049734611-pct00091
    에 따라 구해지는
    방법:
    Figure 112012049734611-pct00092

    여기서, a 및 n은 조절 가능한 파라미터이며,
    Figure 112012049734611-pct00093

    Figure 112012049734611-pct00094

    Figure 112012049734611-pct00095

    Figure 112012049734611-pct00096

    여기서,
    s는, 패싯 키워드이고,
    t는, 검색 키워드이고,
    d는, 문서 데이터이고,
    N은, 문서 데이터의 총수이고,
    Figure 112012049734611-pct00097
    는, 패싯 키워드s가, 문서 데이터 d에 포함되는 경우는 1이며, 그 이외의 경우는 0이며,
    Figure 112012049734611-pct00098
    는, 검색 키워드 t가, 문서 데이터 d에 포함되는 경우는 1이며, 그 이외의 경우는 0이며,

    Figure 112012049734611-pct00099

    Figure 112012049734611-pct00100

    Figure 112012049734611-pct00101

    Figure 112012049734611-pct00102

    여기서,
    s는, 패싯 키워드이고,
    t는, 검색 키워드이고,
    d는, 문서 데이터이고,
    N은, 문서 데이터의 총수이고,
    <s|d>는,
    Figure 112012049734611-pct00103
    이고(단, ∑는, i=1, 2, …, k에 대한 합이다),
    <t|d>는,
    Figure 112012049734611-pct00104
    이고(단, ∑는, i=1, 2, …, k에 대한 합이다),
    k는 클러스터의 총수이며, 정수이다.
  6. 청구항 1에서, 문서 데이터를 기억 장치 내에 준비하는 단계를 더 포함하는
    방법.
  7. 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드와 상관을 가지며, 자연 언어에 의한 현상의 기술인 문서 데이터를, 검색 키워드로, 검색하는 컴퓨터 시스템으로서,
    상기 문서 데이터 각각이 문서 데이터를 클러스터링 또는 분류하기 위한 클러스터 또는 클래스에 속하는 제 1 스코어 또는 확률을 제 1의 벡터로서 계산하는 제 1의 계산부;
    검색 키워드가 입력됨에 따라, 상기 검색 키워드 또는 상기 검색 키워드에 관련된 관련 키워드가 상기 클러스터 또는 클래스에 속하는 제 2 스코어 또는 확률을 제 2의 벡터로서 계산하는 제 2의 계산부;
    상기 제 1의 벡터 각각과 상기 제 2의 벡터의 내적(內積)을 계산하는 제 3의 계산부로서, 상기 계산된 내적 값이 대응하는 문서 데이터의 상기 검색 키워드에 대한 제 3 스코어인, 상기 제 3의 계산부;
    분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터와, 상기 제 3 스코어가 소정의 문턱 값 이상 또는, 상기 제 3 스코어가 상위의 소정 비율에 포함되는 문서 데이터로부터 상관 값을 구하는 상관 값 계산부를 포함하는
    컴퓨터 시스템.
  8. 청구항 7에서, 상기 상관 값이, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터의 제 1의 데이터 세트와, 상기 제 3 스코어가 소정의 문턱 값 이상 또는 상기 제 3 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트와, 상기 제 1의 데이터 세트 및 상기 제 2의 데이터 세트의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트로부터 구해지는
    컴퓨터 시스템.
  9. 청구항 7에서, 상기 상관 값이, 분류 키워드 세트의 개개의 키워드를 포함하는 문서 데이터의 제 1의 데이터 세트와, 상기 제 3 스코어가 소정의 문턱 값 이상 또는 상기 제 3 스코어가 상위 소정 비율에 포함되는 문서 데이터의 제 2의 데이터 세트와, 상기 검색 키워드 또는 문턱 값 키워드를 포함하는 문서 데이터의 제 3의 데이터 세트와, 상기 제 1의 데이터 세트 및 상기 제 2의 데이터 세트의 양쪽에 존재하는 문서 데이터의 공통의 데이터 세트로부터 구해지는
    컴퓨터 시스템.
  10. 컴퓨터에 로드되어 실행될 때, 청구항 제 1항 내지 제 6항 중 어느 하나의 항에 기재된 방법의 각 단계를 실행시키는 컴퓨터 프로그램 코드를 포함하는
    컴퓨터 판독가능 매체.
KR1020127016208A 2009-12-09 2010-09-10 검색 키워드로부터 문서 데이터를 검색하는 방법, 그 컴퓨터 시스템 및 컴퓨터 프로그램 KR101419623B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2009-279619 2009-12-09
JP2009279619 2009-12-09
PCT/JP2010/065631 WO2011070832A1 (ja) 2009-12-09 2010-09-10 検索キーワードから文書データを検索する方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
KR20120113736A KR20120113736A (ko) 2012-10-15
KR101419623B1 true KR101419623B1 (ko) 2014-07-15

Family

ID=44083037

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127016208A KR101419623B1 (ko) 2009-12-09 2010-09-10 검색 키워드로부터 문서 데이터를 검색하는 방법, 그 컴퓨터 시스템 및 컴퓨터 프로그램

Country Status (7)

Country Link
US (2) US8380714B2 (ko)
JP (1) JP5448105B2 (ko)
KR (1) KR101419623B1 (ko)
CN (1) CN102640152B (ko)
DE (1) DE112010004087T5 (ko)
GB (1) GB2488925A (ko)
WO (1) WO2011070832A1 (ko)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539359B2 (en) * 2009-02-11 2013-09-17 Jeffrey A. Rapaport Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
JP5448105B2 (ja) 2009-12-09 2014-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索キーワードから文書データを検索する方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム
US20120042263A1 (en) 2010-08-10 2012-02-16 Seymour Rapaport Social-topical adaptive networking (stan) system allowing for cooperative inter-coupling with external social networking systems and other content sources
EP2678774A4 (en) * 2011-02-24 2015-04-08 Lexisnexis Division Of Reed Elsevier Inc METHOD FOR ELECTRONIC DOCUMENT SEARCHING AND GRAPHICAL DISPLAY OF THE ELECTRONIC DOCUMENT SEARCH
US8676937B2 (en) * 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
US9298816B2 (en) 2011-07-22 2016-03-29 Open Text S.A. Methods, systems, and computer-readable media for semantically enriching content and for semantic navigation
US8832057B2 (en) * 2011-12-02 2014-09-09 Yahoo! Inc. Results returned for list-seeking queries
TWI467411B (zh) * 2011-12-20 2015-01-01 Ind Tech Res Inst 文件處理方法與系統
US9672493B2 (en) * 2012-01-19 2017-06-06 International Business Machines Corporation Systems and methods for detecting and managing recurring electronic communications
US20130212093A1 (en) 2012-02-15 2013-08-15 International Business Machines Corporation Generating visualizations of a display group of tags representing content instances in objects satisfying a search criteria
JP5567049B2 (ja) * 2012-02-29 2014-08-06 株式会社Ubic 文書分別システム及び文書分別方法並びに文書分別プログラム
CN102662952B (zh) * 2012-03-02 2015-04-15 成都康赛信息技术有限公司 一种基于层次的中文文本并行数据挖掘方法
ES2611177T3 (es) * 2012-03-15 2017-05-05 Cortical.Io Gmbh Procedimientos, aparatos y productos para el procesamiento semántico de texto
US9069768B1 (en) 2012-03-28 2015-06-30 Emc Corporation Method and system for creating subgroups of documents using optical character recognition data
US8832108B1 (en) * 2012-03-28 2014-09-09 Emc Corporation Method and system for classifying documents that have different scales
US9396540B1 (en) 2012-03-28 2016-07-19 Emc Corporation Method and system for identifying anchors for fields using optical character recognition data
US8843494B1 (en) 2012-03-28 2014-09-23 Emc Corporation Method and system for using keywords to merge document clusters
US9360982B2 (en) 2012-05-01 2016-06-07 International Business Machines Corporation Generating visualizations of facet values for facets defined over a collection of objects
US20130311409A1 (en) * 2012-05-18 2013-11-21 Veetle, Inc. Web-Based Education System
US9304738B1 (en) * 2012-06-14 2016-04-05 Goolge Inc. Systems and methods for selecting content using weighted terms
US9442959B2 (en) * 2012-06-28 2016-09-13 Adobe Systems Incorporated Image search refinement using facets
CN103870973B (zh) * 2012-12-13 2017-12-19 阿里巴巴集团控股有限公司 基于电子信息的关键词提取的信息推送、搜索方法及装置
CN103902535B (zh) * 2012-12-24 2019-02-22 腾讯科技(深圳)有限公司 获取联想词的方法、装置及系统
US8983930B2 (en) * 2013-03-11 2015-03-17 Wal-Mart Stores, Inc. Facet group ranking for search results
US9165053B2 (en) * 2013-03-15 2015-10-20 Xerox Corporation Multi-source contextual information item grouping for document analysis
CN103324664B (zh) * 2013-04-27 2016-08-10 国家电网公司 一种基于傅里叶变换的文档相似判别方法
EP3012748A4 (en) * 2013-07-30 2017-05-10 Nippon Telegraph and Telephone Corporation Information management device, and information management method
US9588978B2 (en) 2013-09-30 2017-03-07 International Business Machines Corporation Merging metadata for database storage regions based on overlapping range values
EP3055790B1 (en) * 2013-10-08 2018-07-25 Spotify AB System, method, and computer program product for providing contextually-aware video recommendation
US8792909B1 (en) * 2013-12-04 2014-07-29 4 Info, Inc. Systems and methods for statistically associating mobile devices to households
CN103744835B (zh) * 2014-01-02 2016-12-07 上海大学 一种基于主题模型的文本关键词提取方法
US9519687B2 (en) 2014-06-16 2016-12-13 International Business Machines Corporation Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices
WO2016086159A2 (en) * 2014-11-26 2016-06-02 Vobis, Inc. Systems and methods to determine and utilize conceptual relatedness between natural language sources
US10042887B2 (en) 2014-12-05 2018-08-07 International Business Machines Corporation Query optimization with zone map selectivity modeling
US11182350B2 (en) * 2014-12-09 2021-11-23 International Business Machines Corporation Intelligent XML file fragmentation
US9928232B2 (en) * 2015-02-27 2018-03-27 Microsoft Technology Licensing, Llc Topically aware word suggestions
CN104765862A (zh) * 2015-04-22 2015-07-08 百度在线网络技术(北京)有限公司 文档检索的方法和装置
US10102272B2 (en) * 2015-07-12 2018-10-16 Aravind Musuluri System and method for ranking documents
WO2017064705A1 (en) 2015-10-14 2017-04-20 Minereye Ltd. Method of identifying and tracking sensitive data and system thereof
US9589237B1 (en) 2015-11-17 2017-03-07 Spotify Ab Systems, methods and computer products for recommending media suitable for a designated activity
US10372731B1 (en) 2015-11-25 2019-08-06 Minereye Ltd. Method of generating a data object identifier and system thereof
US10049208B2 (en) * 2015-12-03 2018-08-14 Bank Of America Corporation Intrusion assessment system
TWI571756B (zh) 2015-12-11 2017-02-21 財團法人工業技術研究院 用以分析瀏覽記錄及其文件之方法及其系統
US9875258B1 (en) * 2015-12-17 2018-01-23 A9.Com, Inc. Generating search strings and refinements from an image
CN105654125A (zh) * 2015-12-29 2016-06-08 山东大学 一种视频相似度的计算方法
US10860646B2 (en) 2016-08-18 2020-12-08 Spotify Ab Systems, methods, and computer-readable products for track selection
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
US9715495B1 (en) 2016-12-15 2017-07-25 Quid, Inc. Topic-influenced document relationship graphs
US11087745B2 (en) * 2016-12-20 2021-08-10 Nippon Telegraph And Telephone Corporation Speech recognition results re-ranking device, speech recognition results re-ranking method, and program
KR101880275B1 (ko) 2017-01-09 2018-08-16 김선중 생물학적 체계 정보 검색 시스템 및 방법
KR101991923B1 (ko) * 2017-03-21 2019-06-21 김선중 키워드 계층 구조를 이용한 생물학적 체계정보 검색 장치 및 방법
US10585928B2 (en) * 2017-04-13 2020-03-10 International Business Machines Corporation Large scale facet counting on sliced counting lists
US11074280B2 (en) * 2017-05-18 2021-07-27 Aiqudo, Inc Cluster based search and recommendation method to rapidly on-board commands in personal assistants
WO2019035765A1 (en) * 2017-08-14 2019-02-21 Dathena Science Pte. Ltd. METHODS, AUTOMATIC LEARNING ENGINES AND FILE MANAGEMENT PLATFORM SYSTEMS FOR CONTENT AND DATA CONTEXT-SENSITIVE CLASSIFICATION AND FOR SECURITY MALFUNCTION DETECTION
CN108280225B (zh) * 2018-02-12 2021-05-28 北京吉高软件有限公司 一种语义检索方法及检索系统
WO2019244276A1 (ja) * 2018-06-20 2019-12-26 楽天株式会社 検索システム、検索方法、及びプログラム
WO2019244277A1 (ja) * 2018-06-20 2019-12-26 楽天株式会社 検索システム、検索方法、及びプログラム
WO2020060718A1 (en) * 2018-08-22 2020-03-26 Three10 Solutions, Inc. Intelligent search platforms
US10922271B2 (en) 2018-10-08 2021-02-16 Minereye Ltd. Methods and systems for clustering files
CN110032639B (zh) 2018-12-27 2023-10-31 中国银联股份有限公司 将语义文本数据与标签匹配的方法、装置及存储介质
JP7192507B2 (ja) * 2019-01-09 2022-12-20 富士フイルムビジネスイノベーション株式会社 情報処理装置、及び情報処理プログラム
JP7343311B2 (ja) * 2019-06-11 2023-09-12 ファナック株式会社 文書検索装置及び文書検索方法
JP2021056830A (ja) * 2019-09-30 2021-04-08 沖電気工業株式会社 概念構造抽出装置、プログラム及び方法
TWI715236B (zh) * 2019-10-04 2021-01-01 中華電信股份有限公司 語音主題分類之系統與方法
KR102085217B1 (ko) * 2019-10-14 2020-03-04 (주)디앤아이파비스 특허문서의 유사도 판단 방법, 장치 및 시스템
KR102300352B1 (ko) * 2019-10-14 2021-09-09 (주)디앤아이파비스 중요도 스코어를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템
KR102383965B1 (ko) * 2019-10-14 2022-05-11 (주)디앤아이파비스 유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템
US20210224264A1 (en) * 2020-01-17 2021-07-22 nference, inc. Systems and methods for mapping a term to a vector representation in a semantic space
US11475222B2 (en) 2020-02-21 2022-10-18 International Business Machines Corporation Automatically extending a domain taxonomy to the level of granularity present in glossaries in documents
US11436413B2 (en) * 2020-02-28 2022-09-06 Intuit Inc. Modified machine learning model and method for coherent key phrase extraction
US11531708B2 (en) * 2020-06-09 2022-12-20 International Business Machines Corporation System and method for question answering with derived glossary clusters
US11734626B2 (en) * 2020-07-06 2023-08-22 International Business Machines Corporation Cognitive analysis of a project description
CN112100213B (zh) * 2020-09-07 2022-10-21 中国人民解放军海军工程大学 船舶设备技术数据搜索排序方法
US20220121881A1 (en) * 2020-10-19 2022-04-21 Fulcrum Global Technologies Inc. Systems and methods for enabling relevant data to be extracted from a plurality of documents
US11734318B1 (en) 2021-11-08 2023-08-22 Servicenow, Inc. Superindexing systems and methods

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092831A (ja) 1999-09-21 2001-04-06 Toshiba Corp 文書検索装置及び文書検索方法
JP2004287781A (ja) 2003-03-20 2004-10-14 Mitsubishi Electric Corp 重要度算出装置
JP2005050135A (ja) 2003-07-29 2005-02-24 Nippon Telegr & Teleph Corp <Ntt> 情報検索システムおよび情報検索方法と、プログラムおよび記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02235176A (ja) * 1989-03-09 1990-09-18 Ricoh Co Ltd 概念検索装置
EP1156430A2 (en) * 2000-05-17 2001-11-21 Matsushita Electric Industrial Co., Ltd. Information retrieval system
JP3573688B2 (ja) * 2000-06-28 2004-10-06 松下電器産業株式会社 類似文書検索装置及び関連キーワード抽出装置
JP4342575B2 (ja) * 2007-06-25 2009-10-14 株式会社東芝 キーワード提示のための装置、方法、及びプログラム
US8024324B2 (en) * 2008-06-30 2011-09-20 International Business Machines Corporation Information retrieval with unified search using multiple facets
JP5448105B2 (ja) 2009-12-09 2014-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索キーワードから文書データを検索する方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092831A (ja) 1999-09-21 2001-04-06 Toshiba Corp 文書検索装置及び文書検索方法
JP2004287781A (ja) 2003-03-20 2004-10-14 Mitsubishi Electric Corp 重要度算出装置
JP2005050135A (ja) 2003-07-29 2005-02-24 Nippon Telegr & Teleph Corp <Ntt> 情報検索システムおよび情報検索方法と、プログラムおよび記録媒体

Also Published As

Publication number Publication date
US9122747B2 (en) 2015-09-01
JPWO2011070832A1 (ja) 2013-04-22
US20120330977A1 (en) 2012-12-27
CN102640152A (zh) 2012-08-15
WO2011070832A1 (ja) 2011-06-16
US20110137921A1 (en) 2011-06-09
KR20120113736A (ko) 2012-10-15
CN102640152B (zh) 2014-10-15
GB2488925A (en) 2012-09-12
JP5448105B2 (ja) 2014-03-19
US8380714B2 (en) 2013-02-19
GB201209093D0 (en) 2012-07-04
DE112010004087T5 (de) 2012-10-18
GB2488925A9 (en) 2016-05-11

Similar Documents

Publication Publication Date Title
KR101419623B1 (ko) 검색 키워드로부터 문서 데이터를 검색하는 방법, 그 컴퓨터 시스템 및 컴퓨터 프로그램
US11573996B2 (en) System and method for hierarchically organizing documents based on document portions
JP5284990B2 (ja) キーワードの時系列解析のための処理方法、並びにその処理システム及びコンピュータ・プログラム
US8180781B2 (en) Information processing apparatus , method, and computer-readable recording medium for performing full text retrieval of documents
US9589208B2 (en) Retrieval of similar images to a query image
EP2823410B1 (en) Entity augmentation service from latent relational data
US20110112995A1 (en) Systems and methods for organizing collective social intelligence information using an organic object data model
US20110295857A1 (en) System and method for aligning and indexing multilingual documents
CN106599072B (zh) 一种文本聚类方法及装置
KR20160149050A (ko) 텍스트 마이닝을 활용한 순수 기업 선정 장치 및 방법
KR20180129001A (ko) 다언어 특질 투영된 개체 공간 기반 개체 요약본 생성 방법 및 시스템
Rousseau Graph-of-words: mining and retrieving text with networks of features
Omri Effects of terms recognition mistakes on requests processing for interactive information retrieval
Kanavos et al. Topic categorization of biomedical abstracts
CN116414939B (zh) 基于多维度数据的文章生成方法
Miloševic A multi-layered approach to information extraction from tables in biomedical documents
Stankov et al. Enhanced cross-domain document clustering with a semantically enhanced text stemmer (SETS)
Thaker et al. A novel approach for extracting and combining relevant web content
Gope A Study on Knowledge Extraction from Official Bangla Documents
Sarasvady Towards a distributed federated architecture for digital documents
WO2014003543A1 (en) Method, system and computer program for generating a query representation of a document, and querying a document retrieval system using said query representation
Pramodh et al. A Novel approach for Document Clustering using Concept Extraction
CN113761227A (zh) 文本数据的搜索方法和装置
Johnson Methods for domain-specific information retrieval

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
FPAY Annual fee payment

Payment date: 20170628

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5