KR20200067180A - 대형 데이터베이스들에서의 시맨틱 검색을 위한 방법들 및 시스템 - Google Patents

대형 데이터베이스들에서의 시맨틱 검색을 위한 방법들 및 시스템 Download PDF

Info

Publication number
KR20200067180A
KR20200067180A KR1020207013284A KR20207013284A KR20200067180A KR 20200067180 A KR20200067180 A KR 20200067180A KR 1020207013284 A KR1020207013284 A KR 1020207013284A KR 20207013284 A KR20207013284 A KR 20207013284A KR 20200067180 A KR20200067180 A KR 20200067180A
Authority
KR
South Korea
Prior art keywords
documents
features
query
text
document
Prior art date
Application number
KR1020207013284A
Other languages
English (en)
Inventor
벨라 로란트 코박스
아코스 야거
Original Assignee
네겐트로픽스 소프트베르 제트알티.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네겐트로픽스 소프트베르 제트알티. filed Critical 네겐트로픽스 소프트베르 제트알티.
Publication of KR20200067180A publication Critical patent/KR20200067180A/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/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법을 제공하며, 이 소스 문서 데이터베이스는 고유 문서 식별자에 의해 식별되는 문서들을 포함하며, 이 방법은, 텍스트-포함 질의의 텍스트 컴포넌트를 판독하는 단계; 미리정의된 특징 추출 모델(feature extraction model)을 사용하여 질의의 텍스트 컴포넌트로부터 질의 특징들의 세트를 생성하는 단계; 복수의 질의 특징들에 기반하여 훈련 특징들의 세트를 생성하는 단계; 미리정의된 특징 추출 모델을 사용하여 소스 문서들의 적어도 일부로부터 획득된 문서 특징들의 세트 및 훈련 특징들을 이용하여 훈련가능한 분류기를 훈련시키는 단계; 미리정의된 선택 방식에 따라, 분류를 위한 복수의 소스 문서들을 선택하는 단계; 선택된 문서들의 특징들을 획득하는 단계; 선택된 문서들의 특징들을 사용함으로써, 선택된 소스 문서들을 상이한 관련성 클래스들로 분류하는 단계 ─적어도 하나의 관련성 값은 각각의 선택된 문서와 연관됨 ─; 적어도 하나의 연관된 그 관련성 값에 기반하여, 분류된 문서들을 정렬된 리스트에 순위화하는 단계; 및 순위화된 문서들의 식별자들의 정렬된 리스트를 컴퓨터-판독가능 메모리에 저장하는 단계를 포함한다.

Description

대형 데이터베이스들에서의 시맨틱 검색을 위한 방법들 및 시스템
본 개시내용은 일반적으로 자연어(natural language) 처리에 관한 것으로, 보다 구체적으로는 시맨틱 검색 엔진(semantic search engine)을 사용하여 대형 문서 데이터베이스들에서 콘텐츠들을 검색하는 것에 관한 것이다.
전자 또는 지면(paper-based) 문서들에서 특정 콘텐츠들을 찾는 요구가 점점 더 증가하고 있고, 그리고 전자 문서 생성, 저장 및 배포의 도입으로 인해 그리고 제한된 수의 또는 무제한된 수의 사용자들이 이러한 문서들을 이용 가능하게 함으로써, 월드 와이드 웹("웹" 또는 "인터넷") 및 다른 인트라넷들 상에서 전자 형태로 점점 더 많은 양의 문서들이 액세스될 수 있다. 적절한 검색 툴들을 갖춘 컴퓨터들이 사용된다고 하더라도, 특정 콘텐츠가 있는 문서의 검색 및 문서 리트리벌(retrieval)은 다소 시간 소모적인 업무일 수 있다.
US 7,249,121 문서는 검색 질의 내에서 시맨틱 유닛들의 식별을 위한 다양한 방법들 및 시스템을 개시한다. 코퍼스(corpus)를 검색하기 위한 검색 엔진은, 검색 질의에서의 다수의 용어들을 단일 시맨틱 유닛으로서 분류함으로써 결과들의 관련성을 향상시킨다. 검색 엔진의 시맨틱 유닛 로케이터는, 일반적으로 질의 내의 개별 용어들에 기반하여 질의와 관련된 문서들의 서브세트를 생성한다. 그런 다음, 질의로부터의 잠재적 시맨틱 유닛들을 정의하는 검색 용어들의 조합들이 문서들의 서브세트에 대해 평가되어, 어떤 검색 용어들의 조합들이 시맨틱 유닛으로 분류되어야 하는지 결정한다. 결과적인 시맨틱 유닛들은 검색의 결과들을 세분화(refine)하는 데 사용된다. 이 솔루션은 의미론적으로(semantically) 의미있는 텍스트 유닛에 해당하는 합성어(compound)들의 보다 정확한 식별을 제공하지만, 관련된 문서들의 세트가 간단한 방식으로, 즉 코퍼스의 인덱스에 대한 질의 키워드들 또는 키 텍스트의 다양한 서브세트들의 비교에 기반하여 결정된다는 단점이 여전히 존재한다.
현재의 검색 엔진들은 대형 문서 데이터베이스들을 효율적으로 검색하지 못한다. 많은 경우들에서, 많은 양의 텍스트를 구문분석(parse)할 필요가 있기 때문에, 문서 데이터베이스 검색들은 번거롭고, 시간 소모적이며, 유한 프로세서 자원들을 비효율적으로 사용한다. 또한, 많은 현재의 검색 엔진들은 의미 있거나 동적인 순서로 결과들을 순위화(rank)하지 못한다.
다수의 플랫폼들에 걸쳐 그리고 다수의 디지털 포맷들로 디지털 데이터의 분산이 증가함으로 인해, 프로세서 시간 및 자원들을 보다 효율적으로 사용하는 시맨틱 검색 기법들을 제공하고 질의 엔티티에 의해 검색된 텍스트-기반 콘텐츠에 대한 결과 세트의 관련성을 추가로 향상시키는 것이 기술분야에 필요하다. 결과들의 관련성의 향상을 통해, 종래의 시맨틱 검색 엔진들에 관한 특정 콘텐츠 검색을 위한 검색 질의들의 수를 줄여, 인터넷 또는 인트라넷과 같은 서빙 데이터 통신 네트워크를 사용하여 수행되는 검색들의 대역폭 요구를 감소시키는 것이 필요하다.
개시된 실시예들은 전자 토큰들 및 토큰화된 디바이스들을 사용하여 전자 거래(electronic transaction)들을 관리하기 위한 시스템들 및 방법들을 제공한다. 본 발명은 특히 청구항 1에 따른 컴퓨터-구현(computer-implemented) 방법, 청구항 11에 따른 처리 시스템, 청구항 14에 따른 컴퓨터-판독가능 매체, 및 청구항 15에 따른 시스템을 제공한다. 바람직한 실시예들은 종속항들에 기재되어 있다.
소스 문서들 및 질의 텍스트들의 매우 간결한 표현으로 인해, 본원의 시맨틱 검색 엔진 솔루션의 메모리 및 저장 요구들은 알려진 시맨틱 검색 엔진들의 메모리 및 저장 요구보다 상당히 낮다.
본 개시내용의 일 양상은 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법에 관한 것으로, 이 소스 문서 데이터베이스는 각각 고유 문서 식별자에 의해 식별되는 문서들을 포함하며, 이 방법은 처리 시스템에 의해 수행되는 다음의 단계들: 텍스트-포함 질의의 텍스트 컴포넌트를 판독하는 단계; 미리정의된 특징 추출 모델(feature extraction model)을 사용하여 질의의 텍스트 컴포넌트로부터 질의 특징들의 세트를 생성하는 단계; 복수의 질의 특징들에 기반하여 훈련 특징들의 세트를 생성하는 단계; 미리정의된 특징 추출 모델을 사용하여 소스 문서들의 적어도 일부로부터 획득된 문서 특징들의 세트 및 훈련 특징들을 이용하여 훈련가능한 분류기를 훈련시키는 단계; 미리정의된 선택 방식(predefined selection scheme)에 따라, 분류를 위한 복수의 소스 문서들을 선택하는 단계; 선택된 문서들의 특징들을 획득하는 단계; 훈련된 분류기에 의해, 선택된 문서들의 특징들을 사용함으로써, 선택된 소스 문서들을 상이한 관련성 클래스들로 분류하는 단계 ─적어도 하나의 관련성 값은 각각의 선택된 문서와 연관됨 ─; 적어도 하나의 연관된 관련성 값에 기반하여, 분류된 문서들을 정렬된 리스트에 순위화하는(ranking) 단계; 및 순위화된 문서들의 식별자들의 정렬된 리스트를 컴퓨터-판독가능 메모리에 저장하는 단계를 포함한다.
본 개시내용의 다른 양상은, 문서 데이터베이스에서 시맨틱 검색을 수행하기 위한 처리 시스템에 관한 것이며, 이 시스템은 적어도 하나의 프로세서 디바이스를 포함하며, 이 적어도 하나의 프로세서 디바이스는: 텍스트-포함 질의를 수신하고 텍스트-포함 질의로부터 텍스트 컴포넌트를 생성하도록 구성된 질의 인터페이스; 질의의 텍스트-컴포넌트로부터 질의 특징들의 세트를 생성하도록 구성된 토크나이저 컴포넌트(tokenizer component); 의미론적으로 관련된 문서들의 식별자들의 정렬된 리스트를 생성하도록 구성된 검색 엔진 컴포넌트 ―검색 엔진은 질의의 텍스트 컴포넌트에 대한 선택된 문서들의 세트의 관련성(relevancy)을 평가하도록 구성된 분류기 컴포넌트, 및 분류된 문서들의 관련성에 기반하여, 분류된 문서들의 식별자들의 정렬된 리스트를 생성하도록 구성된 순위화 컴포넌트를 포함함―; 및 관련된 문서들의 식별자들의 정렬된 리스트를 저장하기 위한 컴퓨터-판독가능 메모리를 포함한다.
본 개시내용의 다른 양상은 위에서의 두 양상들과 관련된 특징을 갖는, 컴퓨터-판독가능, 특히 비-일시적 매체에 관한 것이다.
본 개시내용의 다른 양상은 하나 이상의 프로세서 디바이스들, 및 명령들을 저장하는 하나 이상의 저장 디바이스들을 포함하는 시스템에 관한 것이며, 이 명령들은, 하나 이상의 프로세서 디바이스들에 의해 실행될 때, 하나 이상의 프로세서 디바이스들로 하여금, 본 개시내용의 제1 양상에 따른 방법의 단계들을 수행하게 하도록 동작가능하다.
다른 개시된 실시예들과 일치하게, 컴퓨터-판독가능 저장 매체, 특히 비-일시적 컴퓨터-판독가능 저장 매체는, 적어도 하나의 프로세서 디바이스에 의해 실행될 때, 본원에 설명된 방법들 중 임의의 것을 수행하는 프로그램 명령들을 저장할 수 있다.
전술한 일반적인 설명 및 다음의 상세한 설명은 단지 예시적이고 설명적인 것이며 청구항들을 제한하는 것은 아니다.
첨부된 도면들은 몇 가지 실시예들을 예시하며, 설명들과 함께, 개시된 원리들을 설명하는 기능을 한다. 도면들에서,
도 1a는 본 개시내용에 따른 처리 시스템에 의해 수행될 시맨틱 검색을 위한 데이터베이스들을 구축하도록 구성된 전처리(pre-processing) 시스템의 컴포넌트들을 예시하는 개략적인 블록도이다.
도 1b는 본 개시내용에 따른 처리 시스템의 기본 컴포넌트들을 예시하는 개략적인 블록도이다.
도 1c는 본 개시내용에 따른 처리 시스템의 기본 컴포넌트들 및 다양한 선택적 컴포넌트들을 예시하는 개략적인 블록도이다.
도 2는 본 개시내용에 따라 텍스트 문서들의 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법의 주요 단계들을 예시하는 흐름도이다.
도 3은 본 개시내용에 따른 방법의 선택적 단계들을 예시하는 흐름도이다.
도 4는 본 개시내용에 따른 방법의 선택적 단계들을 예시하는 흐름도이다.
도 5는 본 개시내용에 따른 방법의 선택적 단계들을 예시하는 흐름도이다.
도 6은 본 개시내용에 따른 방법의 선택적 단계들을 예시하는 흐름도이다.
도 7은 본 개시내용에 따른 검색 방법의 실시예의 단계들을 예시하는 흐름도이다.
도 8은 본 개시내용에 따른 검색 방법의 다른 실시예의 단계들을 예시하는 흐름도이다.
도 9는 본 개시내용에 따른 검색 방법의 다른 실시예의 단계들을 예시하는 흐름도이다.
본 개시내용의 다음의 상세한 설명은 첨부된 도면들을 참조한다. 이 상세한 설명은 본 발명을 제한하지 않는다. 대신, 본 발명의 범위는 첨부된 청구항들 및 등가물들에 의해 정의된다.
본원에서 설명되는 바와 같이, 토크나이저 컴포넌트가 질의 텍스트로부터 의미론적으로 특징적인 특징들을 추출하고, 관련된 문서들의 세트가 질의 텍스트의 특징적인 특징들을 사용하여 선택되며, 그런 다음 훈련가능한 분류기 컴포넌트가 소스 문서들의 선택된 세트를 그들의 관련성과 관련하여 평가하는 데 사용되고, 평가된 문서들은 그 관련성에 의해 리스트에 정렬된다.
본원에서 사용되는 바와 같이, "특징적인 특징(characteristic feature)"이란 용어들는 텍스트의 시맨틱 콘텐츠를 표현하는 인공 2진 코드들의 세트를 의미하며, 상기 코드들은 텍스트의 2진 표현에 적절한 변환 동작을 적용함으로써 제공된다. 텍스트의 2진 표현으로부터 특징적인 특징들로의 변환은, 이후 더 상세히 설명되는 바와 같이, 다양한 모델링 기법들에 따라 수행될 수 있다.
또한, "콘텐츠 특징들", "질의 특징들" 및 "훈련 특징"이라는 용어는 특정한 종류의 특징적인 특징들로서 사용된다. 특히, 콘텐츠 특징들은 소스 문서들의 콘텐츠를 표현하는 데 사용되고, 질의 특징들은 질의 텍스트의 콘텐츠를 표현하는 데 사용되고, 훈련 특징들은 일부 실시예들에 따른 방법의 분류 단계에서 사용하기 위해 질의 특징들로부터 도출되는 특징적인 특징들이다.
위에서 언급된 특징적인 특징들의 사용으로 인해, 소스 문서들 및 질의 텍스트들은 종래의 솔루션들에 대해 훨씬 더 간결한 형태로 표현될 수 있고, 이는 검색 엔진의 메모리 및 저장 요건들을 상당히 감소시킨다.
검색 데이터베이스들을 구축하기 위한 전처리 시스템
도 1a는 본 개시내용에 따른 처리 시스템에 의해 수행될 시맨틱 검색을 위한 데이터베이스들을 구축하도록 구성된 전처리 시스템의 컴포넌트들을 예시하는 개략적인 블록도이며, 여기서 기본 컴포넌트들은 실선 화살표들로 연결되며, 선택적인 컴포넌트들은 점선 화살표들로 연결된다.
도 1a에 도시된 전처리 시스템은 포맷 변환기 컴포넌트(111)를 포함하며, 이 포맷 변환기 컴포넌트(111)는 소스 문서 데이터베이스(110)로부터 종이 문서들 및 전자 문서들 양자 모두를 수신하도록 구성될 수 있고 미리정의된 디지털 형태로, 예를 들어, 일반 텍스트 포맷(plain text format)으로 텍스트 문서들을 생성하기 위해 소스 문서들을 처리하도록 구성될 수 있다. 이들 텍스트 문서들은 본원에서 포맷화된 텍스트 문서들로 지칭될 것이다. 포맷 변환기 컴포넌트(111)는 종이 문서들을 디지털화하기 위한 광학 스캐너, 스캔된 문서로부터 미리정의된 텍스트 포맷의 전자 문서를 생성하기 위한 광학 문자 인식(OCR: optical character recognition)과 같은 텍스트 인식 프로그램, 오디오 파일로부터 미리정의된 텍스트 포맷의 전자 문서를 생성하기 위한 오디오 텍스트 인식 애플리케이션, 및/또는 임의의 타입의 종이 또는 전자 소스 문서들로부터, 포맷화된 텍스트 문서들을 생성하는 데 사용될 수 있는 다른 적절한 하드웨어 및 소프트웨어 툴들을 포함할 수 있다.
본 개시내용의 문맥에서, 전자 문서들은, 예를 들어, 편집가능한 또는 편집불가능한 텍스트 파일들, 텍스트 콘텐츠를 갖는 이미지 파일들, 디스플레이된 텍스트 콘텐츠 또는 오디오 텍스트 콘텐츠를 갖는 비디오 파일들, 및/또는 가청(audible) 텍스트 콘텐츠를 갖는 오디오 파일들과 같은 임의의 종류의 텍스트-포함 미디어 파일을 포함할 수 있다. 종이 문서들은, 예를 들어, 텍스트 정보를 포함하는 임의의 종류의 인쇄된 또는 수기된(hand-written) 문서를 포함할 수 있다.
포맷 변환기 컴포넌트(111)에 의해 생성된 포맷화된 텍스트 문서들은 차후의 사용을 위해 문서 저장소(126)에 저장될 수 있다. 바람직한 실시예에서, 메타데이터, 예를 들어, 원본 파일 이름, 생성 날짜, 작성자 관련 정보, 물리적 또는 액세스 위치, 페이지 번호, 문서 제목 등은 적어도, 연관된 포맷화된 텍스트 문서들에 대한 소스 문서들의 서브세트로부터 생성 및/또는 획득될 수 있다. 이들 메타데이터는 메타데이터 저장소(128)에 저장될 수 있다.
문서 저장소(126)는 또한, 포맷화된 텍스트 문서들을 저장하도록 구성될 수 있다. 포맷화된 텍스트 문서들을 저장하는 것은, 이들 문서들이, 예를 들어, 이전에 적용된 것과는 상이한 기법을 사용하여, 이들 문서들로부터 특징적인 특징들의 새로운 세트를 생성하기 위해 다시 처리될 수 있다는 장점을 가질 수 있다. 단어 가방 모델(bag-of-words model)에서, 특징적인 특징은 분석된 텍스트에서의 특정 단어의 발생 가능성으로서 정의될 수 있으며; n-그램 모델(n-gram model) 또는 k-스킵-n-그램 모델(k-skip-n-gram model)에서, 특징적인 특징은 분석된 텍스트에서의 'n'개의 단어들로 구성된 다양한 단어 세트들의 발생 가능성으로서 정의될 수 있으며, 여기서 'n'의 값은 2, 3 또는 그 이상일 수 있으며; 벡터 공간 모델에서, 특징적인 특징은 분석된 텍스트의 더 긴 부분 또는 단어에 할당된 하나 이상의 가중치 벡터들로부터 도출되는 코드들로서 정의될 수 있다.
미리정의된 형태로 포맷 변환기 컴포넌트(111)에 의해 생성된 포맷화된 텍스트 문서들은, 포맷 변환기 컴포넌트(111)에 의해 제공되는 디지털화된 텍스트 문서들 각각으로부터 특징적인 특징들의 세트를 생성하도록 구성된 토크나이저(112)에 포워딩된다. 일부 실시예들에서, 토크나이저(112)는 또한, 이후 설명되는 바와 같이, 검색 프로세스 동안 질의의 검색 텍스트로부터 특징적인 특징들의 세트를 생성하도록 구성될 수 있다. 토크나이저(112)는 또한, 포맷화된 텍스트 문서들을, 블록들, 예를 들어, 문장들, 단락들, 섹션들 및/또는 다른 유닛들로 분할하기 위해, 그리고 개별 텍스트 블록들에 대한 분할 정보를 문서 저장소(126)에 저장하기 위해 사용될 수 있다.
전처리 시스템의 바람직한 실시예에 따르면, 디지털화된 텍스트 문서들의 특징적인 특징들은, 토크나이저(112)로부터, 인덱스 데이터베이스(146)와 동작하는 관계에 있게 구성되는 인덱스 구축기 컴포넌트(113)에 포워딩될 수 있다. 인덱스 데이터베이스(146)는 바람직하게는 2개의 볼륨들, 특히 포워드 인덱스(forward index) 데이터베이스(147) 및 리버스 인덱스(reverse index) 데이터베이스(148)를 포함한다. 다른 실시예들에서, 인덱스 데이터베이스(146)는 단일 볼륨 또는 복수의 볼륨들을 포함할 수 있다. 포워드 인덱스 데이터베이스(147)는 복수의 콘텐츠 특징 리스트들을 포함할 수 있으며, 여기서 각각의 특징 리스트는 특정 문서 또는 특정 문서 부분(예를 들어, 텍스트 블록)에 속한다. 리버스 인덱스 데이터베이스(148)는 문서들 또는 문서 부분들(예를 들어, 텍스트 블록들)의 복수의 식별자 리스트들을 포함할 수 있으며, 여기서 각각의 문서 리스트 또는 블록 리스트는 Feature_ID에 의해 식별되는 특정 콘텐츠 특징에 속한다. 인덱스 데이터베이스에서, 문서들 각각은 고유 식별자(Doc_ID)에 의해 식별될 수 있고, (이용가능한 경우) 텍스트 블록들 각각은 고유 식별자(Block_ID)에 의해 식별될 수 있고, 콘텐츠 특징들 각각은 고유 식별자(Feature_ID)에 의해 식별될 수 있다. 이러한 데이터베이스들의 사용 및 이점들은 아래에서 상세히 설명될 것이다.
인덱스 데이터베이스(146)는 인덱스 구축기 컴포넌트(113)에 의한 검색 이전에, 예를 들어, 시맨틱 검색을 수행하는 처리 시스템의 동작을 시작하기 전에 생성될 수 있다. 데이터베이스 생성 페이즈(phase)에서, 인덱스 구축기 컴포넌트(113)는 문서들의 콘텐츠 특징들을 처리하고 적절한 특징 리스트들, 문서 리스트들 및/또는 블록 리스트들을 생성하며, 이들 모두는 인덱스 데이터베이스(146)의 개개의 볼륨에 저장될 것이다. 일부 실시예들에 있어서, 데이터베이스 생성 페이즈에서, 인덱스 구축기 컴포넌트(113)는 문서들의 식별된 블록들을 처리할 수 있다.
인덱스 데이터베이스(146)의 사용은 유리한데, 이는 인덱스 데이터베이스(146)의 사용이 검색 프로세스의 속도를 상당히 증가시킬 수 있기 때문이다. 인덱스 데이터베이스의 사용으로 인해, 각각의 검색 질의 동작에서 소스 문서들의 반복된 전처리가 회피될 수 있고 상당한 컴퓨팅 파워(computing power)가 절약될 수 있다.
시맨틱 검색을 수행하는 처리 시스템
도 1b는 본 개시내용에 따라 소스 문서들에서 시맨틱 검색을 수행하기 위해 사용되는 처리 시스템의 기본 컴포넌트들의 개략적인 블록도를 도시한다. 처리 시스템은 통신 네트워크에 통합될 수 있으며, 이 통신 네트워크를 통해, 처리 시스템의 검색 기능들이 다른 처리 시스템들 또는 디바이스들로부터 액세스될 수 있다. 통신 네트워크는 인터넷, 회사 인트라넷, 또는 컴퓨터들, 랩톱들, 태블릿들, 스마트 폰들, PDA들 등과 같은 프로세서 디바이스들 상에서 실행되는 애플리케이션 프로그램들과 상호작용하는 임의의 다른 적절한 통신 네트워크일 수 있다.
처리 시스템은, 가변 길이의 텍스트를 검색 텍스트(또한 질의 텍스트로도 지칭됨)로서 수신하도록 그리고 텍스트를 위에서 언급된 토크나이저(112)에 포워딩하도록 구성된 질의 인터페이스(117)를 포함한다. 질의 인터페이스(117)는, 애플리케이션 프로그래밍 인터페이스(API: application programming interface)(132)를 통해 리트리빙 컴퓨터 프로그램으로부터 또는 사용자 인터페이스(131)를 통해 사용자로부터 직접, 질의 엔티티로부터의 검색 텍스트를 수신한다. 사용자 인터페이스(131)는 사용자가 적어도 텍스트 포맷으로 검색 질의를 입력하는 것을 허용하도록 구성될 수 있고, 그리고 사용자 인터페이스(131)는, 검색 툴의 사용을 용이하게 하고, 검색 결과들을 보다 효과적으로 제시하게 하고, 사용자 인터페이스의 맞춤화(customization)를 허용하는 등의 다른 선택적인 기능들을 제공하도록 추가로 구성될 수 있다. 바람직한 실시예에서, 사용자 인터페이스(131)는, 사용자가 텍스트-포함 미디어 파일, 예를 들어, 텍스트 포함 오디오 파일, 이미지 파일 및/또는 비디오 파일을 지정하는 것을 허용하도록 구성될 수 있으며, 이들로부터, 질의 텍스트가 전처리 페이즈에서 수행된 것과 동일한 방식으로 추출될 수 있다.
질의 인터페이스(117)에 의해 직접 수신되거나 입력 텍스트-포함 미디어 파일로부터 생성된 질의 텍스트는, 소스 문서 데이터베이스(110)를 사용하여 질의 텍스트로부터 특징적인 특징들의 세트를 생성하는 토크나이저(112)에 포워딩된다. 일부 실시예들에서, 특징적인 특징들의 세트는 전처리 페이즈에서 구축된 인덱스 데이터베이스(146)를 사용하여 질의 텍스트로부터 생성될 수 있다.
그런 다음, 질의 텍스트로부터 획득된 특징적인 특징들(즉, 질의 특징들)은 검색 엔진(115)에 포워딩된다. 검색 엔진(115)은 검색 용어에 대한 복수의 선택된 문서들의 관련성을 평가하기 위한 분류기 컴포넌트(151) 및 선택된 문서들을 그들의 관련성에 의해 (예를 들어, 분류기 컴포넌트에 의해 생성된 관련성의 스코어들을 사용함으로써) 순위화하기 위해 사용되는 순위화 컴포넌트(152)를 포함할 수 있다. 일부 실시예들에서, 검색 엔진(115)은 인덱스 데이터베이스(146)에 커플링될 수 있고, 이 인덱스 데이터베이스(146)로부터, 검색 엔진(115)이 적어도, 분류 프로세스를 위한 문서 식별자들 및 콘텐츠 특징들을 리트리브한다.
이 문맥에서 "관련성"은, 질의 텍스트의 콘텐츠 및/또는 반환된 문서들의 콘텐츠 간의 콘텐츠-유사성 또는 다른 종류의 밀접한 시맨틱 관계를 포함하는, 그러나 이에 제한되지 않는, 팩터들에 기반하여 정의될 수 있다.
도 1c에 도시된 바와 같이, 일부 실시예들에서, 검색 엔진(115)은, 분류된 문서들의 메타데이터가 문서들의 순위화 품질을 향상시키기 위해 또는 반환된 문서들에 관한 사용자-판독가능 정보(예를 들어, 전자 문서의 URL, 종이 문서의 발행자, 문서 제목 등)를 갖는 문서 결과 리스트를 생성하기 위해 사용되도록 의도되는 경우, 메타데이터 저장소(128)에 커플링될 수 있다.
검색 엔진(115)은 또한, 도 1c에 예시된 바와 같이, 토크나이저(112)에 의해 제공되는 특징적인 특징들을 사용하여 특징적인 특징들의 확장된 세트를 생성하는 특징 확장기 컴포넌트(114)로부터 추가적인 특징적인 특징들을 수신할 수 있다. 일부 실시예들에서, 특징 확장기 컴포넌트(114)는 인덱스 데이터베이스(146)에 커플링될 수 있다.
검색 엔진(115)은 문서 식별자들의 정렬된 리스트를 출력한다. 일부 실시예들에서, 검색 엔진(115)은 해당 통합 문서들의 식별을 포함하는 관련된 문서들의 블록 식별자들의 정렬된 리스트를 출력할 수 있다. 그런 다음, 반환된 결과 리스트이 도 1b 및 도 1c에 도시된 바와 같이 메모리(160)에 저장된다. 결과 리스트가 또한 결과 리스트 작성기(170)에 포워딩될 수 있고, 이 결과 리스트 작성기(170)는 문서 식별자들 및/또는 블록 식별자들 및 메타데이터 저장소에 순위화된 문서들에 대해 저장된 메타데이터를 사용하여, 반환된 관련된 문서들 또는 문서 부분들(예를 들어, 서지사항 데이터(bibliographic data), URL 등)의 위에서 언급되고 처리되는, 사용자-판독가능 리스트를 생성하며, 이로써 사용자 또는 질의 컴퓨터 프로그램이 요구에 따라 순위화된 문서들 중 임의의 문서에 액세스하거나 이를 다운로드하도록 허용된다. 그런 다음, 이 처리된 리스트의 문서들은, 도 1c에 도시된 바와 같이, 질의 인터페이스(117)에 포워딩될 수 있고, 이 질의 인터페이스(117)는 차례로, 처리된 리스트를 사용자 인터페이스(131)를 통해 질의 사용자에게 또는 API(132)를 통해 질의 컴퓨터 프로그램에 출력할 수 있다. 사용자 인터페이스(131)는 또한, 처리된 리스트를 디스플레이 디바이스 상에서, 사용자에게 디스플레이할 수 있다.
본 개시내용에 따른 처리 시스템이, 프로세서, 데이터베이스들 또는 메모리와 같은 다수의 하드웨어 컴포넌트들, 및 검색 엔진, 인터페이스 컴포넌트 등과 같은 다수의 소프트웨어 컴포넌트를 포함하는 통합된 컴퓨팅 플랫폼으로서 설명되었지만, 당업자들은, 다양한 하드웨어 또는 소프트웨어 컴포넌트들이 2개 이상의 협력(co-operating) 처리 디바이스들에서 및/또는 2개 이상의 협력 소프트웨어 컴포넌트들 의해 구현될 수 있으며, 이는 본 개시내용에 따른 처리 시스템의 위에서 논의된 필수 기능들 모두를 함께 제공한다는 것을 인식할 것이다. 당업자들은 처리 시스템의 하드웨어 또는 소프트웨어 컴포넌트들 중 임의의 컴포넌트가 검색 툴의 더 빠른 동작을 달성하기 위해 동시에 동작되고 증배될 수 있다는 것을 추가로 인식할 것이다.
검색 프로세스
일부 실시예들에 따른 시맨틱 검색 툴의 동작이 이제 도 2 내지 도 6을 참조로 설명될 것이며, 여기서 도 2는 본 개시내용에 따른 시맨틱 검색 방법의 기본 단계들의 흐름도이며, 도 3 내지 도 6은 본 개시내용의 방법의 다양한 선택적 단계들을 예시하는 흐름도들이다.
문서 저장소 및 메타데이터 저장소 구축
일부 실시예들에서, 검색 툴의 동작은 적어도, 복수의 포맷화된 텍스트 문서들(이들 중에서, 관련된 문서들이 검색 질의를 사용하여 탐색될 수 있음)을 포함하는 문서 저장소의 존재를 가정한다. 문서 저장소는, 소스 문서 데이터베이스, 예를 들어, 회사 문서 저장소, 콘텐츠-특정 개인용 또는 공용 데이터베이스, 및/또는 인터넷과 같은 통신 네트워크를 통한 액세스가 제한된 또는 제한되지 않은 임의의 타입의 문서들을 포함하는 임의의 다른 데이터베이스를 사용하여 구축될 수 있다. 일부 실시예들에서, 소스 문서 데이터베이스는 인터넷을 통해 자유롭게 액세스가능한 전자 문서들의 미리정의된 세트일 수 있다.
일부 실시예들에서, 문서 저장소를 구축하는 것(즉, 소스 문서들을 획득하고 및 전처리하고, 포맷화된 텍스트 문서들을 문서 저장소에 업로딩하는 것)은 검색 환경을 확립하기 위한 별도의 선택적 단계일 수 있다. 검색 환경을 확립하는 바람직한 실시예의 단계들은 도 3의 흐름도에 예시된다.
도 3에 도시된 바와 같이, 우선, 복수의 소스 문서들, 예를 들어, 인쇄된 및/또는 수기된 종이 문서들 및 전자 문서들이 미리정의된 포맷(예를 들어, 일반 텍스트)의 포맷화된 텍스트 문서들로 변환된다. 전자 소스 문서들은 편집가능한 또는 편집불가능한 텍스트 문서들, 이미지 문서들, 결합된 텍스트-이미지 문서들, 텍스트-포함 오디오, 이미지 또는 비디오 파일들 등을 포함할 수 있다. 일부 실시예들에서, 종이 문서들이, 단계(301)에서, 광학 스캐너에 의해 디지털화될 수 있고, 그런 다음 스캔된 문서들의 텍스트 부분들이, 단계(302)에서, 광학 문자 인식(OCR: optical character recognitio)을 거쳐(subject) 텍스트 문서들을 생성할 수 있다. 종이 문서들 내의 이미지 객체들은 이미지들로서 스캔될 수 있고 디지털화된 텍스트 문서들에 이미지 객체들로서 통합될 수 있거나, 또는 이미지 객체들에 대한 텍스트 참조가 이미지들 대신 스캔된 종이 문서들의 텍스트에 삽입될 수 있다. 유사하게, 전자 문서가, 텍스트 내에 원본 이미지 객체들을 유지하는 것 또는 그 대신 텍스트 참조를 텍스트에 삽입하는 것을 옵션으로, 단계(303a)에서, 포맷화된 텍스트 문서로 디지털방식으로 변환될 수 있다. 텍스트-포함 미디어 파일이 질의로서 입력되는 경우, 미디어 파일의 텍스트 컴포넌트가 단계(303b)에서 추출되어, 미리정의된 포맷의 텍스트 문서로 변환될 수 있다.
그런 다음, 포맷화된 텍스트 문서들이, 단계(304)에서, 고유 문서 식별자(Doc_ID)와 함께 문서 저장소에 저장될 수 있다. 포맷화된 텍스트 문서들이, 단계(308)에서, 토크나이저에 의해 텍스트 블록들로 분할되면, 포맷화된 텍스트 문서들의 개별 텍스트 블록들 각각은 고유 블록 식별자(Block_ID)에 의해 식별될 수 있고, 그리고 이 식별자들이 임의의 다른 분할 정보와 함께, 단계(309)에서, 문서 저장소에 또한 저장될 수 있다. 분할 정보는 정해진 문서의 식별된 텍스트 블록들과 소스 문서 간의 할당 관계를 포함할 수 있다. 일부 실시예들에서, 소스 문서의 모든 블록들에는 고유 식별자가 제공된다. 다른 실시예들에서, 의미있는 시맨틱 검색들을 위한 유용한 정보를 포함할 것으로 추정되는 블록들만이 고유하게 식별된다. 예를 들어, 일부 실시예들에서, 콘텐츠 표들, 도면 리스트들, 공개 세부사항들 등은, 고유하게 식별될 필요가 없는 별도의 텍스트 블록들을 형성할 수 있다.
일부 실시예들에서, 단계(305)에서 소스 문서들로부터 메타데이터를 획득하는 것은 전처리 페이즈의 선택적 단계이다. 메타데이터는 소스 문서들로부터 추출될 수 있고 그리고/또는 메타데이터는 지면 및/또는 전자 소스 문서들의 물리적 또는 다른 특성들로부터 생성될 수 있다. 메타데이터는, 예를 들어, 원본 문서 이름(예를 들어, 파일 이름), 생성 또는 최종 수정 일자, 문서의 작성자, 문서의 물리적 또는 URL 위치, 페이지 번호, 원본 문서/파일 포맷, 문서 제목 등을 포함할 수 있다. 메타데이터가 획득되면, 메타데이터는 메타데이터 저장소에 업로드되며, 그리고 결과 리스트를 준비하고, 검색 엔진에 의해 실행되는 순위화 알고리즘을 정밀하게 조정하기 위해 사용될 수 있다.
메타데이터 저장소는 문서 저장소의 생성과 함께 구축될 수 있다. 소스 문서들의 메타데이터는, 단계(306)에서, 파라미터(Doc_ID)에 의해 식별되는 연관된 포맷화된 텍스트 문서들에 대한 참조들과 함께 메타데이터 저장소에 저장될 수 있다.
위에서 논의한 바와 같이, 바람직한 실시예에서, 소스 문서들이, 단계(307)에서, 디지털 형태로 문서 저장소에 저장될 수 있다.
소스 문서들로부터 특징적인 특징들 추출
시맨틱 검색은 (전처리 페이즈에서) 소스 문서들로부터 얻어지는 특정 시맨틱 정보의 사용 및 (검색 페이즈에서) 검색 질의의 텍스트에 기반할 수 있다. 시맨틱 정보는 특징적인 특징들의 세트에 의해 표현될 수 있다. 소스 문서들 또는 문서 부분들의 특징적인 특징들은 콘텐츠 특징들로 지칭되는 반면, 검색 질의 텍스트의 특징적인 특징들은 질의 특징들로 지칭된다.
특징적인 특징들은, 토크나이저에 의해, 포맷화된 텍스트 문서들(콘텐츠 특징들 참조) 및 텍스트 질의들(질의 특징들 참조)로부터 생성될 수 있다.
먼저, 도 2의 흐름도에 도시된 바와 같이, 포맷화된 텍스트 문서들이, 단계(200)에서, 토크나이저에 의해 판독된다. 그런 다음, 이들 문서의 콘텐츠 특징들이, 단계(202)에서 토크나이저에 의해 생성된다. 검색 방법의 바람직한 실시예에서, 생성된 콘텐츠 특징들이, 단계(204)에서, 위에서 논의된 문서 특징 리스트들, 블록 특징 리스트들 및/또는 블록 리스트들을 생성하는 인덱스 구축 컴포넌트에 의해 처리된다. 그런 다음, 이들 리스트들이, 단계(206)에서, 인덱스 데이터베이스에 저장될 수 있다. 이전 단계들(200 내지 206)은 전처리 페이즈 내에서 수행된다.
소스 문서들의 특징적인 특징들(즉, 콘텐츠 특징들)은 처리 알고리즘에 의해 연관된 포맷화된 텍스트 문서들의 분석된 텍스트로부터 획득되고, 2진 형태로 2진 벡터들로서 또는 2진 행렬들(2차원 이상의 행렬들)로서 표현된다. 콘텐츠 특징들은, 예를 들어, 텍스트 문서들의 잘 알려진 시맨틱 모델링 기법들인,단어 가방 모델, n-그램 모델, k-스킵-n-그램 모델 또는 벡터 공간 모델에 따라 표현될 수 있다.
예를 들어, 단어 가방 모델에서, 특징적인 특징은 분석된 텍스트에서의 특정 단어의 발생 가능성으로서 정의되며; n-그램 모델 또는 k-스킵-n-그램 모델에서, 특징적인 특징은 분석된 텍스트에서 'n'개의 단어들로 구성된 다양한 단어 세트들의 발생 가능성으로서 정의되며, 여기서 'n'의 값은 2, 3 또는 그 이상일 수 있으며; 벡터 공간 모델에서, 특징적인 특징은 분석된 텍스트의 더 긴 부분 또는 단어에 할당된 하나 이상의 가중치 벡터들로부터 도출되는 코드들로서 정의된다.
콘텐츠 특징들의 수의 제한이 고려되는 경우, 텍스트의 특징적인 특징들의 수를 감소시키기 위해 다양한 공지 기법들이 사용될 수 있다. 이러한 제한 기법들은, 특히, 불용어(stop word) 필터링 방법, 관련없는 특징적인 특징들을 제거하는 단어 빈도-역 문서 빈도(tf-idf : term frequency-inverse document frequency) 방법, 또는 정해진 텍스트에 대해 생성된 특징적인 특징들의 전체 리스트에서 더 높은 관련성의 특징적인 특징들을 선택하는 데 사용될 수 있는 카이-스퀘어(chi-square) 방법을 포함한다.
인덱스 데이터베이스 구축
토크나이저가 포맷화된 텍스트 문서를 판독했고 연관된 소스 문서의 콘텐츠 특징들을 생성했다면, 특정 문서와 연관된 콘텐츠 특징들(소위 문서 특징들)의 리스트는, 위에서 논의된 바와 같이, 단계(204)에서 이들 특징들을 다양한 리스트들로 처리하는 인덱스 구축기 컴포넌트에 포워딩될 수 있다. 인덱스 구축기 컴포넌트는, 단계(206)에서, 인덱스 데이터베이스에, 특히 그의 포워드 인덱스 데이터베이스에 문서 특징 리스트를 저장할 수 있다. 일부 실시예들에서, 포맷화된 텍스트 문서들이 토크나이저에 의해 블록들로 분할되는 경우, 인덱스 구축기 컴포넌트는 또한, 단계(206)에서, 인덱스 데이터베이스의 포워드 인덱스 데이터베이스에, 식별된 블록들(소위 블록 특징들) 각각에 대한 콘텐츠 특징들의 리스트(또한, 블록 특징 리스트로서 지칭됨)를 저장할 수 있다.
단계(204)에서, 인덱스 구축기 컴포넌트는 또한, 포워드 인덱스 데이터베이스에 저장된 문서 특징 리스트들로부터 리버스 인덱스 데이터베이스를 생성할 수 있다. 리버스 인덱스 데이터베이스는 복수의 문서 리스트들을 포함할 수 있으며, 문서 리스트의 각각의 엘리먼트는 특정 문서 특징과 연관된 해당 문서들의 식별자들을 포함한다. 리버스 문서 리스트들은, 단계(206)에서, 인덱스 구축기 컴포넌트에 의해 인덱스 데이터베이스의 리버스 인덱스 데이터베이스에 저장될 수 있다.
인덱스 구축기 컴포넌트는 복수의 블록 리스트들을 추가로 생성할 수 있고, 이 리스트의 각각의 엘리먼트는 특정 블록 특징과 연관된 해당 (이전에 식별된) 블록들의 식별자들을 포함한다. 이용가능한 경우, 블록 리스트들은 또한, 단계(206)에서, 인덱스 구축기 컴포넌트에 의해 인덱스 데이터베이스의 리버스 인덱스 데이터베이스에 저장될 수 있다.
일부 실시예들에서, 인덱스를 구축하는 상기 단계는 생략될 수 있다. 그러나, 인덱스 데이터베이스를 구축하는 것은, 특히 대형 문서 데이터베이스에서의 시맨틱 검색에서 검색 프로세스의 속도를 상당히 증가시킬 수 있다. 인덱스 구축 단계 부재시, 그리고 결과적으로 인덱스 데이터베이스를 사용하지 않으면, 검색 프로세스는 계속 수행될 수 있지만, 검색 방법론에 따라, 분류될 문서들의 세트를 결정하는 데 필요한 해당 문서 특징들을 획득하기 위해, 각각의 검색에서 전체 소스 데이터베이스의 단일 판독 또는 반복된 판독이 필요할 것이다.
질의 텍스트로부터 특징적인 특징들 추출
질의 텍스트의 특징적인 특징(즉, 질의 특징들)은 소스 문서들의 콘텐츠 특징들과 관련하여 위에서 언급된 것과 동일한 방식으로 질의 텍스트로부터 얻어진다. 질의 특징들은, 예를 들어, 텍스트들의 잘 알려진 시맨틱 모델링 기법들인, 단어 가방 모델, n-그램 모델 또는 벡터 공간 모델에 따라 표현될 수 있다. 일부 실시예들에서, 특징적인 특징들의 시맨틱 표현들은 간단한 질의 단어들에 사용될 수 있다. 일부 실시예들에서, 특징적인 특징들의 시맨틱 표현들은 더 긴 질의 텍스트들에 유리할 수 있다.
일부 실시예들에서, 위에서 논의된 검색 질의들의 2진 특징적인 특징들의 수 및 크기를 적당한 범위들내에서 유지하기 위해, 검색 질의의 텍스트의 허용된 길이는 미리결정된 크기로 제한될 수 있다.
포워드 인덱스 데이터베이스, 리버스 인덱스 데이터베이스 및/또는 메타데이터 저장소를 포함하는 인덱스 데이터베이스 및 문서 저장소가 소스 문서들에 기반하여 구축되었다면, 검색 툴은 입력 텍스트 질의를 사용하여 시맨틱 검색을 수행할 수 있다. 검색 페이즈의 단계들이 또한 도 2에 도시된다.
단계(210)에서, 소스 문서들 중에서 시맨틱 검색이 요구되는 텍스트 또는 텍스트-포함 미디어 파일을 리트리빙 컴퓨터 프로그램이 제공한 후에 또는 사용자에게 프롬프팅한 후에, 질의 텍스트가 질의 입력의 타입에 따라 질의 인터페이스에 의해 판독되거나 생성되고, 토크나이저에 포워딩되며, 토크나이저는 차례로, 단계(212)에서, 질의 텍스트에 대한 특징적인 특징들(즉, 질의 특징들)의 세트를 생성한다.
일 실시예에서, 질의 텍스트는 개별 단어들(예를 들어, "모바일", "폰", "가격") 또는 특정 메타데이터(예를 들어, "제이슨 스미스", "옥스포드 출판부")를 포함하며, 여기서 단어들은 전체 텍스트 검색들을 위해 사용된다. 일부 실시예들에서, 메타데이터는 소스 문서들의 미리할당된 속성들에 기반하여 문서들을 검색하는 데 사용된다. 질의 단어들은 문서들의 메타데이터로부터 획득될 수 있고, 그리고 통계 기준으로 생성될 수 있거나 임의의 공지된 텍스트 분석 기법에 의해 소스 문서들의 콘텐츠로부터 추출될 수 있다. 일부 실시예들에서, 질의 단어들은 검색 질의에서 지정되고 사용자들에 의해 정의될 수 있다.
입력 단어들이 특정 상황(예를 들어, "XY 운영 시스템을 위한 모바일 폰 애플리케이션들")에서 서로 시맨틱 관계에 있는 경우, 질의 텍스트는 또한, 질의 구문으로 불리는 일관성있는 단어 세트들(coherent sets of words)의 형태로 표현될 수 있다.
일 실시예에서, 질의 텍스트는 이용가능한 문서의 텍스트 부분일 수 있고 그리고 미리정의된 텍스트 포맷으로(예를 들어, 일반 텍스트 포맷으로) 문서로부터 복사되고, 그런 다음 사용자 인터페이스의 질의 창에 붙여질 수 있다.
일부 실시예들에서, 질의 입력은 완전한 미디어 파일일 수 있거나 또는 디스플레이된 또는 가청의 텍스트 정보를 포함하는 미디어 파일의 일부일 수 있다.
일부 실시예들에서, 의미있는 텍스트는 오디오, 이미지 또는 비디오 파일 내의 인식가능한 텍스트 정보 또는 문서의 특정 부분 (예를 들어, 하나 이상의 단락들)이며, 이에 대해 유사한 콘텐츠를 갖는 다른 문서들이 소스 문서 데이터베이스에서 탐색된다. 의미있는 텍스트는 또한, 사용자 인터페이스를 통해 사용자에 의해 고유하게 입력되는 실질적으로 일관성있는 텍스트일 수 있다.
분류기를 훈련시키기 위한 훈련 특징들 생성
질의 특징들이 토크나이저에 의해 생성된 후, 질의 특징들이 검색 엔진에 포워딩된다. 단계(220)에서 질의 특징 세트를 사용하여 훈련 특징들을 생성함으로써, 훈련 특징 세트를 이용한 훈련을 위해 먼저 분류기 컴포넌트가 준비된다. 훈련 특징 세트는 아래에서 설명되는 바와 같이 다양한 방식들에 따라 검색 엔진에 의해 생성될 수 있다.
제1 예시적인 방식에서, 훈련 특징 세트는 질의 특징들의 이전에 획득된 세트와 동일한 것으로 정의된다.
포맷화된 텍스트 문서들을 블록들로 분할하는 선행 프로세스를 가정하는 다른 예시적인 방식에서, 예를 들어, 검색을 위해 단지 일부 단어들 또는 짧은 질의 구문들만을 지정할 경우, 다소 적은 수의 질의 특징들을 산출하는 질의들에 대해, 질의 특징들의 수는 증가되어야 한다. 이 예시적인 방식은, 도 4에 도시된 바와 같이, 검색 엔진에 의해 수행되는 다음의 단계들: 단계(402)에서, 질의 특징들 중 적어도 하나와 연관된 모든 블록들의 식별자들(Block_ID)을 획득하는 단계; 및 단계(406)에서, 선택된 블록들 각각과 연관된 특징들을 획득하는 단계을 포함할 수 있다.
검색 툴이 더 빠른 검색을 하기 위해 포워드 인덱스 데이터베이스 및 리버스 인덱스 데이터베이스를 갖는 인덱스 데이터베이스를 사용하는 경우, 블록 식별자들은 상기 단계(402)에서 리버스 인덱스 데이터베이스로부터 리트리브될 수 있고, 블록 특징들은 상기 단계(406)에서 포워드 인덱스 데이터베이스로부터 리트리브될 수 있다. 그러나, 인덱스 데이터베이스의 부재시, 요구되는 블록 식별자들 및 블록 특징들은, 검색 동안, 전체 문서 데이터베이스를 판독하고 처리함으로써 획득될 수 있다.
그런 다음, 선택된 블록들과 연관된 특징들의 결과 세트는 훈련 특징 세트인 것으로 정의될 수 있다. 일부 실시예들에서, 훈련 특징들의 확장된 세트는 또한 질의 특징들을 포함할 수 있고, 이로써 특징들(즉, 추가 단락 특징들)이 기존 질의 특징들에 부가될 수 있고, 여기서 부가적인 특징들은 기존 질의 특징들과 밀접한 시맨틱 관계에 있을 수 있다.
일부 실시예들에서, 포워드 또는 리버스 인덱스 데이터베이스로부터의 리트리벌에 의해 반환된 리스트는, 다수의 리스트들이 하나 이상의 공통 엘리먼트들과 함께 반환되더라도, 단일 인스턴스에서 임의의 식별자 또는 특징을 포함할 수 있다.
분류기 훈련
검색 엔진의 분류기 컴포넌트는, 단계(230)에서, 훈련 특징 세트를 사용하여 모든 각각의 질의에서 훈련될 수 있다. 분류기 컴포넌트는 소스 문서들의 관련성에 대응하는 적어도 하나의 출력 클래스를 가지며, 이의 특징들은 문서들의 순위화시에 분류기 컴포넌트에 제시된다. 하나의 출력 클래스의 경우, 소위 1-클래스 분류 또는 단항(unary) 분류는 분류기 컴포넌트에 의해 수행되며, 여기서 훈련 특징들만이 분류기 컴포넌트를 훈련시키는 데 사용된다. 전형적으로, 분류기를 구현하기 위해 SVM 또는 뉴럴 네트워크가 사용될 수 있다. 바람직한 실시예에서, 분류기 컴포넌트는 정확히 2개의 클래스들을 가지며, 제1 클래스는 관련 특징들(즉, 훈련 특징들)에 대응하며 제2 클래스는 비-관련 특징들(훈련 특징들과 상이한 특징들 중 임의의 것 또는 전부)에 대응한다. 적절한 알고리즘은 전형적으로, 문서의 관련성을 결정하기 위한, 의사결정 트리(Decision tree), 랜덤 포레스트(Random forests), 나이브 베이즈, 뉴럴 네트워크들, SVM과 같은 공통 2진 분류기들을 포함한다. 문서의 관련성 값은 제1 클래스와 연관된 값으로서 정의될 수 있다. 다른 실시예들에서, 분류기 컴포넌트는 3개 이상의 클래스들을 갖는다. 분류기 컴포넌트가 2개의 관련성 클래스들, 즉 제1 클래스 및 제2 클래스를 갖는 것으로 가정하여, 훈련 절차가 아래에서 설명될 것이다. 그러나, 당업자들은 이러한 기법들을 기초로 추론하여(extrapolate) 다른 분류기들의 훈련을 수행할 수 있다.
일부 실시예들에서, 훈련 절차는 2개의 페이즈들을 포함한다. 제1 페이즈에서, 분류기 컴포넌트는 관련 특징들을 학습하도록 훈련될 수 있다. 질의 특징들로부터 이전에 생성된 훈련 특징 세트는, 훈련 특징들이 속하는 제1 클래스를 지정하는 분류기 컴포넌트에 제시될 수 있다.
제2 페이즈에서, 분류기 컴포넌트는, 복수의 문서 특징들을 비-관련 특징들이 속하는 제2 클래스를 지정하는 분류기 컴포넌트에 제시함으로써, 비-관련 특징들을 학습하도록 훈련될 수 있다. 문서 특징들의 제시된 세트는 인덱스 데이터베이스에 저장된 모든 상이한 문서 특징들을 포함할 수 있거나, 또는 문서 특징들의 세트는 인덱스 데이터베이스에 저장된 문서 특징들의 미리정의된 서브세트만을 포함할 수 있다. 예를 들어, 훈련의 제2 페이즈에서 사용되는 문서 특징들의 세트는, 훈련의 제1 페이즈에서 사용되는 훈련 특징 세트의 문서 특징들을 제외하고, 인덱스 데이터베이스의 모든 문서 특징들을 포함할 수 있다.
분류기 컴포넌트를 훈련시키는 위에서 언급된 2개의 페이즈들은 검색 엔진에 의해 사용되는 분류기의 타입에 따라 임의의 순서로 또는 심지어 동시에 수행될 수 있다.
분류를 위한 문서들 선택
분류기 컴포넌트가 인덱스 데이터베이스로부터 선택된 문서 특징들의 세트 및 질의 특징들을 기반으로 생성된 훈련 특징들을 이용하여 훈련되었다면, 검색 엔진은 문서 저장소에 임의의 수의 문서들을 분류할 수 있다. 분류를 위해, 포맷화된 텍스트 문서들의 세트가, 단계(240)에서, 문서 저장소로부터 선택된다. 분류 프로세스에서, 분류기 컴포넌트는 선택된 문서들의 문서 특징들을 평가하여, 각각의 관련성 클래스에 속하는 것과 관련하여 각각의 선택된 문서에 대한 관련성 값을 생성한다. 분류될 문서들의 세트는 다양한 방식들로 선택될 수 있다.
제1 예시적인 접근법에서, 모든 소스 문서들이 분류된다. 모든 소스 문서들의 분류는 수백만 개의 문서들을 갖는 대형 문서 저장소에서는 과도하게 시간 소모적일 수 있다. 그러나, 모든 소스 문서들의 분류는 가장 정확한 검색을 산출할 것이다.
다른 예시적인 접근법에서, 소스 문서들의 감소된 세트가 분류되며, 이는 보다 빠른 분류를 허용한다. 문서들은 다양한 방식들에 의한 분류를 위해 선택될 수 있으며, 이중 2가지 방식들이 예들로서 이후에 소개된다.
선택 방식의 일 실시예에서, 훈련 특징들 중 적어도 하나를 포함하는 문서들이 선택된다. 바람직한 실시예에서, 선택된 문서들은 가장 가능한 훈련 특징들을 포함한다. 훈련 특징들은, i) (예를 들어, 분류기 컴포넌트를 훈련시키기 위해 상당한 수의 특징들이 획득될 수 있는 경우) 질의 특징들 자체들, 및/또는 ii) (예를 들어, 질의 텍스트로부터 분류기 컴포넌트를 훈련시키기 위한 충분한 특징들이 획득되지 않는 경우) 질의 특징들의 확장된 세트를 포함할 수 있다. 선택된 문서들이 서로 밀접한 시맨틱 관계에 있는 이러한 선택 방식의 실시예는, 단계(502)에서, 질의 특징들 중 적어도 하나와 연관된 문서들의 식별자들(Doc_ID)을 획득하는 단계를 포함한다.
검색 방법의 바람직한 실시예에서, 상기 단계(502)에서, 가장 가능한 질의 특징들과 개별적으로 연관된 해당 문서들만의 식별자들이 획득된다. 대안적으로, 모든 질의 특징들과 연관된 해당 문서들이 또한 선택될 수 있지만, 이 접근법은 소스 문서들의 다소 제한된 세트를 산출하여 검색의 속도를 증가시킬 수 있지만, 검색 정확도를 저하시킬 수 있다.
검색 툴이 더 빠른 검색을 하기 위해 포워드 인덱스 데이터베이스 및 리버스 인덱스 데이터베이스를 갖는 인덱스 데이터베이스를 사용하는 경우, 문서 식별자들이, 상기 단계(502)에서, 리버스 인덱스 데이터베이스로부터 리트리브될 수 있다. 그러나, 인덱스 데이터베이스의 부재시, 요구되는 블록 식별자들은 단지, 검색 동안, 전체 소스 문서 데이터베이스를 판독하고 처리함으로써 획득될 수 있다.
선택 방식의 다른 실시예에서, 분류를 위해 선택된 문서들은 적어도 하나의 특징을, 그러나 바람직하게는 질의 특징들의 확장된 세트 중 가장 가능한 특징들을 포함한다. 선택 방식의 이 실시예는 위에서 설명된 선택 방법보다 문서들의 더 큰 세트를 생성하고, 이로써 선택된 문서들이 의미론적으로 더 넓은 도메인을 커버한다. 도 6에 도시된 바와 같이, 제2 선택 방식의 다음의 단계는, 단계(602)에서, 질의 특징들의 확장된 세트 중의 특징들 중 적어도 하나와 연관된 문서들의 식별자들(Doc_ID)을 획득하는 검색 엔진에 의해 수행될 수 있다.
검색 툴이 더 빠른 검색을 하기 위해 포워드 인덱스 데이터베이스 및 리버스 인덱스 데이터베이스를 갖는 인덱스 데이터베이스를 사용하는 경우, 문서 식별자들 및 블록 식별자들은 상기 단계들(602 및 610)에서, 각각, 리버스 인덱스 데이터베이스로부터 리트리브될 수 있지만, 블록 특징들은, 상기 단계(606)에서, 포워드 인덱스 데이터베이스로부터 리트리브될 수 있다. 그러나, 인덱스 데이터베이스의 부재시, 요구되는 블록 식별자들 및 특징들은 단지, 검색 동안, 전체 소스 문서 데이터베이스를 판독하고 처리함으로써 획득될 수 있다.
위에서 논의된 바와 같이, 다음의 분류 단계에서, 모든 문서들 또는 바람직하게는, 감소된 수의 문서들만이 관련성 평가를 위해 선택된다.
문서들 분류
문서들을 분류하는 경우, 각각의 이전에 선택된 문서의 모든 문서 특징들이 정해진 문서의 관련성과 관련하여 그 정해진 문서를 평가하기 위해 분류기 컴포넌트에 제시된다. 이를 위해, 선택된 문서들의 문서 특징들은 소스 문서 데이터베이스로부터 모든 문서들을 판독함으로써 획득될 수 있거나, 또는 바람직하게는, 소스 문서들의 문서 특징들이, 단계(245)에서, 포워드 인덱스 데이터베이스로부터 리브트브될 수 있다. 그런 다음, 단계(250)에서, 이렇게 획득된 문서 특징들이 문서들을 평가하기 위해 이전에 훈련된 분류기 컴포넌트에 제시된다.
분류의 결과로서, 분류기 컴포넌트는, 각각의 분류된 문서에 대해, 하나 이상의 관련성 값들, 예를 들어, 스코어들, 확률들, 논리 값들 등을 출력하며, 여기서 특정 문서에 할당되는 적어도 하나의 관련성 값은 문서가 상이한 관련성 클래스들에 속하는 범위를 표현한다. 예를 들어, 2개의 관련성 클래스들(즉, 의미론적으로 관련된 문서들에 대한 제1 클래스 및 의미론적으로 비-관련된 문서들에 대한 제2 클래스)이 분류기 컴포넌트에 정의되는 경우, 문서들은 특정 범위에 대해 이 양자 모두의 클래스들로 분류될 것이다. 이는, 특정 문서에 대해 제1 클래스의 관련성 값이 제2 클래스의 관련성 값보다 더 높은 관련성으로 정의된 경우, 정해진 문서가 질의 텍스트에 대해 관련이 있는 것으로 간주되며, 그렇지 않은 경우 이는 관련이 없는 것으로 간주된다는 것을 의미한다. 분류기 컴포넌트에 의해 생성된 관련성 값(들)은 정수들, 부동 소수점 값들(예를 들어, 스코어 값들), 논리 값들(예를 들어, 참 및 거짓), 또는 벡터 또는 이의 행렬의 형태로 표현될 수 있으며, 여기서 관련성 값들의 타입 및 범위는 검색 엔진에서 사용되는 분류기의 타입에 의존한다.
분류기 컴포넌트 내에서, 다음의 타입들의 훈련가능한 분류기들, 특히, 나이브 베이즈 분류기, 서포트 벡터 머신(SVM: Support Vector Machine) 분류기, 다항 로지스틱 회귀분석(Multinomial Logistic Regression) 분류기, 히든 마르코프 모델(Hidden Markov model) 분류기, 뉴럴 네트워크 분류기, k-최근접 이웃(k-Nearest Neighbors) 분류기 등이 사용될 수 있다.
특징적인 특징들(즉, 각각, 콘텐츠 특징들 및 질의 특징들)에 의한 소스 문서들 및 질의 텍스트들의 표현은, 종래의 시맨틱 검색 엔진들에서 행해진 것처럼 단어-기준으로 선택된 문서들의 전체 텍스트를 분석할 필요가 없기 때문에, 선택된 소스 문서들의 매우 효율적인 분류를 허용하지만, 그 특징적인 특징들만이 콘텐츠 분석을 위해 사용된다. 일부 실시예들에서, 이 특성은 검색을 더 빠르게 하고 그의 메모리 요구들을 상당히 감소시킨다. 또한, 소스 문서들은 (종래의 시맨틱 검색 엔진들에서는 필요한 바와 같이) 분류를 위해 영구적으로 저장될 필요가 없고, 따라서 상당한 저장 용량이 또한 절약될 수 있다.
분류된 문서들의 순위화
분류기 컴포넌트가 선택된 문서들의 분류를 마무리한 후에, 분류된 문서들은, 단계(260)에서, 검색 엔진의 순위화 컴포넌트를 사용하여 관련성에 의해 정렬된다. 관련성에 의해 문서들을 정렬하기 위해, 특정 검색 툴의 타입에 따라 다양한 방식들이 사용될 수 있다.
하나의 예시적인 방식에서, 각각의 클래스의 관련성 값이 순위화될 문서들을 위해 고려된다. 각각의 분류된 문서에 대해, 연관된 상이한 관련성 클래스들의 값들은, 의미론적으로 관련된 문서들의 정렬된 리스트를 생성하기 위해, 미리결정된 알고리즘에 따라 가중될 수 있다.
바람직한 예시적인 방식에서, 관련성 클래스들 중 하나에만 속하는 관련성 값들이 문서들을 순위화하는 데 사용된다. 예를 들어, 2개의 관련성 클래스들이 정의된 경우, 높은 관련성을 정의하는 클래스의 관련성 값들만이 순위화 컴포넌트에 의해 고려된다.
따라서, 검색 프로세스의 최종 결과는, 검색 질의에 대한 그 관련성에 의해 정렬되는 분류된 소스 문서들을 지정하는 문서 식별자들의 정렬된 리스트이다. 이 리스트는, 단계(270)에서, 컴퓨터-판독가능 메모리에 저장된다.
관련된 문서들의 식별자들의 정렬된 리스트는, 질의 사용자 또는 질의 컴퓨터 프로그램에 의해 해석될 수 있는 포맷으로 문서들의 리스트를 생성하기 위해, 결과 리스트 작성기 컴포넌트에 의해 추가로 처리될 수 있다. 처리된 문서 리스트는 문서 식별자들(또는 블록 식별자들) 및 메타데이터 저장소에 저장된 메타데이터를 사용하여 결과 리스트 작성기 컴포넌트에 의해 생성될 수 있다. 처리된 리스트는 반환된 문서들 또는 문서 부분들에 관한 액세스 정보 및 다른 유용한 정보, 예를 들어, 특정 서지사항 데이터, 전자 문서들의 URL, 문서 제목 등을 포함할 수 있다. 이 처리된 리스트로 인해, 질의 사용자 또는 질의 컴퓨터 프로그램은, 요구에 따라, 순위화된 문서들 중 임의의 하나 이상에 액세스하거나 이를 다운로드할 수 있다. 문서들의 이 처리된 리스트는 질의 인터페이스에 포워딩될 수 있으며, 이 질의 인터페이스는, 차례로, 사용자 인터페이스를 통해 사용자에게 또는 API를 통해 질의 컴퓨터 프로그램에 리스트를 포워딩한다.
일부 실시예들에서, 순위화 컴포넌트는 또한, 시맨틱들과 관련하여 관련된 문서들의 보다 정확한 순위화를 제공하기 위해, 이용가능한 경우, 문서들의 메타데이터를 사용할 수 있다. 예를 들어, 문서들의 작성자의 이름, 또는 문서들의 메타데이터로부터 획득되는 과학 또는 기술의 분야는 질의 텍스트의 콘텐츠를 고려하여 그 관련성을 추가로 증가(또는 심지어 감소)시킬 수 있다.
검색 동작들의 예들
제1 예에서, 소위 유사성 검색의 단계들이 도 7을 참조로 설명된다. 검색은 더 긴 일관성있는 텍스트들(예를 들어, 학술지들, 책들, 공문서들 등 중 선택된 부분들)에 기반하여 시맨틱 검색들에 최적화된다.
이 예시적인 검색의 제1 단계로서, 질의 텍스트가, 단계(700)에서, 질의 인터페이스로부터 수신된다. 그런 다음, 단계(712)에서, 토크나이저에 내장된 미리결정된 방식 또는 모델에 의해 질의 텍스트로부터 질의 특징들이 생성된다. 질의 특징들은 단계(720)에서의 훈련 특징들인 것으로 정의되고, 분류기 컴포넌트가, 단계(730)에서, 이러한 특징들을 이용하여 훈련된다.
분류를 위해, 질의 특징들 중 적어도 하나를 포함하지만, 바람직하게는 가장 가능한 질의 특징들을 포함하는 문서들이 분류를 위해 선택된다. 먼저, 이들 문서들의 식별자들(Doc_ID)이, 단계 (742)에서, 예를 들어, 인덱스 데이터베이스가 이용가능한 경우, 인덱스 데이터베이스의 리버스 인덱스 데이터베이스로부터 문서 식별자들을 리트리브함으로써 획득된다. 이 예에서, 단계(742)는 상기 선택적 단계(502)에 대응한다. 선택된 문서들의 문서 특징들이, 단계(745)에서, 예를 들어, 포워드 인덱스 데이터베이스로부터 이들을 리브트리브함으로써 획득된다.
이전에 훈련된 분류기 컴포넌트는, 단계(750)에서, 선택된 문서들을, 그들의 문서 특징들을 사용하여 관련성에 의해 분류하는 데 사용된다. 그런 다음, 분류된 문서들이, 단계(760)에서, 미리결정된 순위화 알고리즘을 사용하여, 선택적으로는 분류된 문서들과 연관된 메타데이터를 또한 고려하여, 분류기 컴포넌트에 의해 생성된 관련성 값들에 기반하여 정렬된다. 정렬된 관련된 문서들의 식별자들의 리스트가, 단계(770)에서, 컴퓨터-판독가능 메모리에 저장된다.
제2 예에서, 소위 키워드 검색의 단계들이 도 8을 참조로 설명된다. 이 검색은, 소스 문서 데이터베이스의 제한된 부분만이 탐색되도록 의도되는 경우, 제한된 수의 키워드들, 통상적으로 사용자가 추측하는 몇 개의 단어들에 기반하는 시맨틱 검색들에 최적화된다.
제1 단계에서, 질의의 키워드들이, 단계(800)에서, 질의 인터페이스로부터 수신된다. 다음, 질의 특징들이, 단계(810)에서, 특정 키워드들로부터 생성된다. 결과적인 질의 특징들은 키워드들 자체(어떠한 변환도 사용하지 않음)일 수 있거나, 또는 질의 특징들은 위에서 언급된 미리결정된 방식 또는 모델 중 임의의 것을 사용함으로써 키워드들로부터 얻어질 수 있다. 이 예에서, 질의 특징들의 수는 분류기 컴포넌트의 적절한 훈련에 충분하지 않을 가능성이 있기 때문에, 훈련 특징 세트로서 사용될 질의 특징들의 확장된 세트를 생성하기 위해, 질의 특징들의 세트의 확장이 수행되어야 한다. 특징 확장의 단계들(812 및 816)은, 도 4를 참조하여 위에서 설명된 단계들(402 및 406)에 대응한다. 이에 따라, 먼저, 질의 특징들 중 적어도 하나와 연관된 블록들의 식별자들(Block_ID)이, 단계(812)에서, 획득되고, 그런 다음, 선택된 블록들 각각과 연관된 모든 블록 특징들이, 단계(816)에서, 획득된다. 선택된 블록과 연관된 이런 블록 특징들의 세트는 질의 특징들의 확장된 세트로서 정의되며, 훈련 특징 세트로서 사용된다.
다시 이 예에서, 인덱스 데이터베이스가 이용가능한 경우, 선택된 블록들의 블록 식별자들이, 단계(812)에서, 리버스 인덱스 데이터베이스로부터 블록 식별자들을 리트리브함으로써 획득되며, 그리고 블록 특징들이, 단계(816)에서, 포워드 인덱스 데이터베이스로부터 블록 특징들을 리트리브함으로써 획득된다.
그런 다음, 분류기 컴포넌트가, 단계(830)에서, 확장된 훈련 특징들을 이용하여 훈련된다.
분류를 위해, 질의 특징들 중 적어도 하나를 포함하지만, 바람직하게는 가장 가능한 질의 특징들을 포함하는 문서들이, 단계(842)에서, 선택된다. 선택적으로, 질의 특징들의 확장된 세트 중의 특징들 중 적어도 하나를 포함하는 문서들이 선택될 수 있어, 소스 문서들의 선택 도메인이 훨씬 더 커질 수 있다. 인덱스 데이터베이스가 이용가능한 경우, 인덱스 데이터베이스의 리버스 인덱스 데이터베이스로부터 적절한 문서들의 식별자들(Doc_ID)을 리트리브함으로써, 문서 선택이 이루어질 수 있다. 그런 다음, 선택된 문서들의 문서 특징들이, 단계(845)에서, 분류기를 훈련시키기 위해 획득된다. 예를 들어, 인덱스 데이터베이스가 이용가능한 경우, 문서 특징들이 포워드 인덱스 데이터베이스로부터 리트리브될 수 있다.
이전에 훈련된 분류기 컴포넌트는, 단계(850)에서, 선택된 문서들을 그들의 문서 특징들을 사용하여 관련성에 의해 분류하는 데 사용된다. 그런 다음, 분류된 문서들이, 단계(860)에서, 미리결정된 순위화 알고리즘을 사용하여, 선택적으로는 분류된 문서들과 연관된 메타데이터를 또한 고려하여, 분류기 컴포넌트에 의해 생성된 관련성 값들에 기반하여 정렬된다. 정렬된 관련된 문서들의 식별자들의 리스트가, 단계(870)에서, 컴퓨터-판독가능 메모리에 저장된다.
제3 예에서, 소위 연관 검색의 단계들이 도 9를 참조로 설명된다. 이 검색은, 소스 문서 데이터베이스의 더 많은 부분이 탐색되도록 의도되는 경우, 제한된 수의 키워드들, 통상적으로 사용자가 추측하는 몇 개의 단어들에 기반하는 시맨틱 검색들에 최적화된다.
제1 단계에서, 질의 텍스트가, 단계(900)에서, 질의 인터페이스로부터 수신된다. 그런 다음, 단계(910)에서, 질의 특징들이 수신된 질의 단어들로부터 생성된다. 질의 특징들은 입력 텍스트의 단어들 자체(어떠한 변환도 사용하지 않음)일 수 있거나, 또는 질의 특징들은 위에서 언급된 미리결정된 방식 또는 모델 중 임의의 것을 사용함으로써 질의 텍스트로부터 얻어질 수 있다. 다시 이 예에서, 질의 특징들의 수는 분류기 컴포넌트의 적절한 훈련에 충분하지 않을 가능성이 있기 때문에, 훈련 특징 세트로서 정의된 질의 특징들의 확장된 세트를 생성하기 위해, 질의 특징들의 세트의 확장이 수행되어야 한다. 따라서, 이 방법의 단계들(912 및 916)은, 각각, 도 4를 참조하여 위에서 설명된 단계들(402 및 406)에 대응한다. 이에 따라, 먼저, 질의 특징들 중 적어도 하나와 연관된 모든 블록들의 식별자들(Block_ID)이, 단계(912)에서, 예를 들어, 인덱스 데이터베이스가 이용가능한 경우, 인덱스 데이터베이스의 리버스 인덱스 데이터베이스로부터 이들을 리트리브함으로써 획득된다. 따라서, 선택된 블록들의 리스트가 생성된다. 다음, 선택된 블록들 각각과 연관된 모든 블록 특징들이, 단계(916)에서, 예를 들어, 인덱스 데이터베이스가 이용가능한 경우, 인덱스 데이터베이스의 포워드 인덱스 데이터베이스로부터 블록 특징들을 리트리브함으로써 획득된다. 선택된 블록들과 연관된 블록 특징들의 세트는 확장된 훈련 특징 세트로서 정의되며, 훈련 특징 세트로서 사용될 것이다.
그런 다음, 분류기 컴포넌트가, 단계(930)에서, 확장된 훈련 특징들을 이용하여 훈련된다.
분류를 위해, 모든 소스 문서들 또는 소스 문서들의 감소된 세트가 소스 문서 데이터베이스로부터 선택된다. 후자의 경우, 분류될 문서들이, 단계(932)에서, 선택되며, 이는 도 6을 참조로 위에서 설명된 단계(602)에 대응한다.
분류를 위해 선택된 문서들의 세트를 갖는 경우, 선택된 문서의 문서 특징들이, 단계(945)에서, 예를 들어, 인덱스 데이터베이스가 이용가능한 경우, 포워드 인덱스 데이터베이스로부터 이들을 리트리브함으로써 획득된다.
단계들(932 내지 942)에서 선택된 문서들을 사용하여 분류가 수행된다. 이전에 훈련된 분류기 컴포넌트가, 단계(950)에서, 선택된 문서들을, 입력으로서 그들의 문서 특징들을 사용하여 관련성에 의해 분류하는 데 사용된다. 그런 다음, 분류된 문서들이, 단계(960)에서, 미리결정된 순위화 알고리즘을 사용하여, 선택적으로는 분류된 문서들과 연관된 메타데이터를 또한 고려하여, 분류기 컴포넌트에 의해 생성된 관련성 값들에 기반하여 정렬된다. 정렬된 관련된 문서들의 식별자들의 리스트가, 단계(970)에서, 컴퓨터-판독가능 메모리에 저장된다.
본원에서 설명된 시스템들 및 방법들은, 프로세서 시간 및 자원들을 보다 효율적으로 사용하는 그리고 질의 엔티티에 의해 검색된 텍스트-기반 콘텐츠에 대한 결과 세트의 관련성을 더욱 향상시키는 시맨틱 검색 기법들을 제공한다. 일부 실시예들에서, 시맨틱 검색 기법들은 문서들의 양방향 인덱싱을 사용하는 고급 기법의 문서들의 분류를 활용함으로써 종래기술의 시맨틱 검색 엔진들을 향상시킨다. 이러한 향상들로 인해, 본 발명의 검색 엔진은 인터넷 또는 인트라넷과 같은 서빙 통신 네트워크를 통한 검색들의 대역폭 요구를 상당히 감소시키며, 또한 검색 엔진의 저장 및 메모리 요구들을 감소시킨다. 시맨틱 검색 엔진의 실시예들은 전체 텍스트 검색들에 특히 유리하다.
본 발명의 바람직한 실시예들에 대한 이전 설명은 예시 및 설명을 제공하지만, 본 발명을 개시된 정확한 형태로 제한하거나 또는 이를 총망라하는 것으로 의도되지 않는다. 상기 교시들에 비추어 수정들 및 변형들이 가능하거나 또는 이 수정들 및 변형들이 본 개시내용의 실시로부터 획득될 수 있다. 특히, 본 발명의 예시적인 방법들은 일련의 동작들으로서 설명되지만, 동작들의 순서는 본 발명에 부합하는 다른 구현들에서 달라질 수 있다. 특히, 비-의존적 동작들은 임의의 순서로 또는 동시에 수행될 수 있다.
본 발명의 범위는 청구항들 및 그 등가물에 의해 정의된다.
본 발명에 따른 검색 엔진의 동작이 이제 특정 예를 통해 예시될 것이다. 이 예에서, 검색 엔진은 단항 분류기를 사용하는 것으로 가정된다. 특징적인 특징은 소스 문서들의 텍스트에서 특정 단어가 발생할 확률로서 정의된다. 분류기 컴포넌트의 출력은 단일 클래스에 속하는 문서 특징 세트의 백분율 값들로서 정의된다. 검색 엔진은 복수의 소스 문서들로 이전에 채워진 인덱스 데이터베이스를 사용하는 것으로 추가로 가정된다.
검색을 위해 사용자가 지정한 질의 텍스트가 "전기 자동차"라고 하자. 검색 엔진의 토크나이저 컴포넌트가 질의 텍스트의 개별 단어들을 기초로 다음의 질의 특징들을 획득한다:
특징 ID 단어 확률
1 전기 0,5
2 자동차 0,5
비교적 적은 수의 질의 특징들로 인해, 더 높은 정확도를 위해서는 추가적인 특징적인 특징들이 필요하여, 검색 엔진의 특징 확장자 컴포넌트가 질의 텍스트의 단어들을 포함하는 소스 문서들의 해당 부분들을 사용하여 훈련 특징들의 더 큰 세트를 생성한다. 이러한 문서 부분들이 처리되어, 질의 특징들의 확장된 세트가 훈련 특징으로서 획득된다. 본 예에서, 다음의 문서 부분들이 처리된다:
" 포르쉐의 전기 자동차는 테슬라보다 나을 것이다,...”
" 테슬라는 100,000개가 조금 넘게 납품되었고, 이는 전기 자동차 회사의 기록이었다."
"...또한, 테슬라 파워팩 ( Powerpack ) 축전지도 만들었다...”
"...자동차는 한 번의 배터리 충전으로 40 마일을 주행하도록 설계되었다.”
"... VW Up. 전기 자동차 판매량을 3배로 늘릴 수 있는, 프랑스에서 ...”
이렇게 획득된 특징적인 특징들은 함께 훈련 특징들의 세트를 형성한다:
훈련 특징 ID 단어 확률
1 배터리 (0.01)
2 자동차 (0.05)
3 차량 (0.003)
4 테슬라 (0.02)
5 vw (0.005)
6 전기 (0.08)
7 르노 (0.002)
8 마일 (0.0009)
9 드라이브 (0.001)
10 충전기 (0.005)
11 포르쉐 (0.01)
다음, 검색 엔진은 위에서의 훈련 특징들 중 임의의 것을 포함하는 해당 문서들을 인덱스 데이터베이스로부터 선택한다. 이러한 문서들은 그들의 제목에 의해 아래에서 식별된다:
11월에 르노 캉구 ZE 출시
진델핑엔에 배터리 공장들을 건설하는 다임러
포르쉐의 세련된 충전기가 단 15 분만에 EV를 파워업할 것이다
폭스바겐 그룹은 제1 웨이브에 천만 대의 전기차들을 만들 계획이다
애스턴 마틴의 최초의 전기 스포츠카 라피드 E 소개
검색 엔진은 이제 분류기 컴포넌트에 의해 상기 문서들의 분류를 수행하고, 그런 다음 분류기 컴포넌트의 출력 값을 기초로 문서들을 순위화한다. 이에 따라, 질의 텍스트와의 그 관련성에 대한 문서들의 가정된 순서는 다음과 같을 수 있다: 순위 문서 제목 클래스에 속할 백분율
1. 포르쉐의 세련된 충전기가 단 15분만에 EV를 파워업할 것이다 93%
2. 진델핑엔에 배터리 공장들을 건설하는 다임러 90%
3. 애스턴 마틴의 최초의 전기 스포츠카 라피드 E 소개 86%
4. 폭스 바겐 그룹은 제1 웨이브에 천만 대의 전기차를 만들 계획이다 83%
5. 11월에 르노 캉구 ZE 출시 82%

Claims (15)

  1. 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법으로서,
    상기 소스 문서 데이터베이스는 각각 고유 문서 식별자에 의해 식별되는 문서들을 포함하며,
    상기 방법은,
    텍스트-포함 질의(text-containing query)의 텍스트 컴포넌트를 판독하는 단계;
    미리정의된 특징 추출 모델(predefined feature extraction model)을 사용하여 상기 질의의 텍스트 컴포넌트로부터 질의 특징들의 세트를 생성하는 단계;
    복수의 질의 특징들에 기반하여 훈련 특징들의 세트를 생성하는 단계;
    미리정의된 특징 추출 모델을 사용하여 소스 문서들의 적어도 일부로부터 획득된 문서 특징들의 세트 및 상기 훈련 특징들을 이용하여 훈련가능한 분류기를 훈련시키는 단계;
    미리정의된 선택 방식에 따라, 분류를 위한 복수의 소스 문서들을 선택하는 단계;
    상기 선택된 문서들의 특징들을 획득하는 단계;
    상기 훈련된 분류기에 의해, 상기 선택된 문서들의 특징들을 사용함으로써, 상기 선택된 소스 문서들을 상이한 관련성 클래스들(classes of relevance)로 분류하는 단계 ─적어도 하나의 관련성 값은 각각의 선택된 문서와 연관됨 ─;
    상기 적어도 하나의 관련성 값에 기반하여, 상기 분류된 문서들을 정렬된 리스트에 순위화하는(ranking) 단계; 및
    상기 순위화된 문서들의 식별자들의 정렬된 리스트를 컴퓨터-판독가능 메모리에 저장하는 단계
    를 포함하는, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  2. 제1항에 있어서,
    질의 엔티티는 사용자 인터페이스 및 애플리케이션 프로그래밍 인터페이스 중 적어도 하나를 포함하는, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 훈련 특징들을 상기 질의 특징들과 동일한 것으로 정의하는 단계를 더 포함하는, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 분류 이전에,
    상기 소스 문서 데이터베이스에 저장된 문서들의 적어도 일부를 블록들로 분할하는 단계 ─각각의 블록은 블록 식별자에 의해 고유하게 식별됨─; 및
    각각의 블록에 대해 복수의 블록 특징들을 생성하는 단계
    를 더 포함하는, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 분류를 위한 문서들을 선택하는 단계는, 질의 특징들의 확장된 세트 중의 특징들 중 적어도 하나와 연관된 상기 소스 문서들의 식별자를 획득하는 단계를 포함하는, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 훈련 특징 세트를 생성하는 단계는,
    상기 질의 특징들 중 적어도 하나와 연관된 블록들의 식별자를 획득하는 단계;
    이전에 선택된 블록들 각각과 연관된 블록 특징들을 획득하여, 질의 특징들의 확장된 세트를 생성하는 단계; 및
    상기 질의 특징들의 확장된 세트가 상기 훈련 특징 세트인 것으로 정의하는 단계
    를 포함하는, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 분류를 위한 문서들을 선택하는 단계는,
    상기 소스 문서 데이터베이스에 저장된 모든 문서들을 선택하는 단계; 또는
    상기 질의 특징들 중 적어도 하나와 연관된 상기 소스 문서들의 식별자를 획득하는 단계
    를 포함하는, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 텍스트-포함 질의는 인쇄된 종이 문서, 수기된(hand-written) 종이 문서, 편집가능한 또는 편집불가능한 전자 텍스트 문서, 텍스트 콘텐츠를 갖는 이미지 파일, 디스플레이된 텍스트 콘텐츠 또는 오디오 텍스트 콘텐츠를 갖는 비디오 파일, 또는 가청(audible) 텍스트 콘텐츠를 갖는 오디오 파일 중 임의의 것을 포함하는, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 특징 추출 모델은, 단어 가방 모델(bag-of-words model), 연속적인 단어 가방 모델, 연속적인 공간 언어 모델, n-그램 모델, 스킵-그램 모델, 및 벡터 공간 모델 중 하나인, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 훈련가능한 분류기는, 나이브 베이즈(Naive Bayes) 분류기, 서포트 벡터 머신(SVM:Support Vector Machine) 분류기, 다항 로지스틱 회귀분석(Multinomial Logistic Regression) 분류기, 히든 마르코프 모델(Hidden Markov model) 분류기, 뉴럴 네트워크 분류기, k-최근접 이웃(k-Nearest Neighbours) 분류기, 및 최대 엔트로피(Maximum Entropy) 분류기 중 하나인, 소스 문서 데이터베이스에서 시맨틱 검색을 수행하는 컴퓨터-구현 방법.
  11. 문서 데이터베이스에서 시맨틱 검색을 수행하기 위한 프로세싱 시스템으로서,
    적어도 하나의 프로세서 디바이스를 포함하며,
    상기 적어도 하나의 프로세서 디바이스는,
    텍스트-포함 질의를 수신하고 상기 텍스트-포함 질의로부터 텍스트 컴포넌트를 생성하도록 구성된 질의 인터페이스;
    상기 질의의 텍스트-컴포넌트로부터 질의 특징들의 세트를 생성하도록 구성된 토크나이저 컴포넌트(tokenizer component);
    의미론적으로(semantically) 관련된 문서들의 식별자들의 정렬된 리스트를 생성하도록 구성된 검색 엔진 컴포넌트 ─ 상기 검색 엔진은,
    상기 질의의 텍스트 컴포넌트에 대해 선택된 문서들의 세트의 관련성(relevancy)을 평가하도록 구성된 분류기 컴포넌트, 및
    분류된 문서들의 관련성에 기반하여, 상기 분류된 문서들의 식별자들의 정렬된 리스트를 생성하도록 구성된 순위화 컴포넌트를 포함함─; 및
    상기 관련된 문서들의 상기 식별자들의 정렬된 리스트를 저장하기 위한 컴퓨터-판독가능 메모리
    를 포함하는, 문서 데이터베이스에서 시맨틱 검색을 수행하기 위한 프로세싱 시스템.
  12. 제11항에 있어서,
    상기 소스 문서들과 연관된 복수의 메타데이터를 저장하도록 구성된 메타데이터 저장소를 더 포함하는, 문서 데이터베이스에서 시맨틱 검색을 수행하기 위한 프로세싱 시스템.
  13. 제11항 또는 제12항에 있어서,
    상기 토크나이저에 의해 제공되는 상기 질의 특징들을 사용하여 질의 특징들의 확장된 세트를 생성하도록 구성된 특징 확장기 컴포넌트를 더 포함하는, 문서 데이터베이스에서 시맨틱 검색을 수행하기 위한 프로세싱 시스템.
  14. 적어도 하나의 프로세서 디바이스로 하여금, 제1항 내지 제10항 중 어느 한 항에 따른 소스 문서 데이터베이스에서 시맨틱 검색을 위한 방법을 수행하게 하는 명령들을 저장하는 컴퓨터-판독가능 매체.
  15. 하나 이상의 프로세서 디바이스들, 및 명령들을 저장하는 하나 이상의 저장 디바이스들을 포함하는 시스템으로서,
    상기 명령들은, 상기 하나 이상의 프로세서 디바이스들에 의해 실행될 때, 상기 하나 이상의 프로세서 디바이스들로 하여금, 제1항 내지 제10항 중 어느 한 항에 따른 방법을 수행하게 하도록 동작가능한, 시스템.
KR1020207013284A 2017-10-10 2018-10-09 대형 데이터베이스들에서의 시맨틱 검색을 위한 방법들 및 시스템 KR20200067180A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/729,296 US20190108276A1 (en) 2017-10-10 2017-10-10 Methods and system for semantic search in large databases
US15/729,296 2017-10-10
PCT/IB2018/057807 WO2019073376A1 (en) 2017-10-10 2018-10-09 METHODS AND SYSTEM FOR SEMANTIC SEARCH IN LARGE DATABASES

Publications (1)

Publication Number Publication Date
KR20200067180A true KR20200067180A (ko) 2020-06-11

Family

ID=64267862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207013284A KR20200067180A (ko) 2017-10-10 2018-10-09 대형 데이터베이스들에서의 시맨틱 검색을 위한 방법들 및 시스템

Country Status (8)

Country Link
US (2) US20190108276A1 (ko)
EP (1) EP3695324A1 (ko)
JP (1) JP2020537268A (ko)
KR (1) KR20200067180A (ko)
CN (1) CN111213140A (ko)
AU (1) AU2018349276A1 (ko)
CA (1) CA3078585A1 (ko)
WO (1) WO2019073376A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182433B1 (en) 2014-07-25 2021-11-23 Searchable AI Corp Neural network-based semantic information retrieval
US11087088B2 (en) * 2018-09-25 2021-08-10 Accenture Global Solutions Limited Automated and optimal encoding of text data features for machine learning models
WO2020166569A1 (ja) * 2019-02-14 2020-08-20 昭和電工株式会社 文書検索装置、文書検索システム、文書検索プログラム及び文書検索方法
US20220092130A1 (en) * 2019-04-11 2022-03-24 Mikko Kalervo Vaananen Intelligent search engine
CN110222194B (zh) * 2019-05-21 2022-10-04 深圳壹账通智能科技有限公司 基于自然语言处理的数据图表生成方法和相关装置
CN110765230B (zh) * 2019-09-03 2022-08-09 平安科技(深圳)有限公司 一种法律文本存储方法、装置、可读存储介质及终端设备
US11501067B1 (en) * 2020-04-23 2022-11-15 Wells Fargo Bank, N.A. Systems and methods for screening data instances based on a target text of a target corpus
US11941497B2 (en) * 2020-09-30 2024-03-26 Alteryx, Inc. System and method of operationalizing automated feature engineering
US10930272B1 (en) * 2020-10-15 2021-02-23 Drift.com, Inc. Event-based semantic search and retrieval
US20220237195A1 (en) * 2021-01-23 2022-07-28 Anthony Brian Mallgren Full Fidelity Semantic Aggregation Maps of Linguistic Datasets
CN113781155B (zh) * 2021-04-27 2023-11-03 北京京东振世信息技术有限公司 一种订单数据的处理方法、装置和系统
US11252113B1 (en) 2021-06-15 2022-02-15 Drift.com, Inc. Proactive and reactive directing of conversational bot-human interactions
WO2024075086A1 (en) * 2022-10-07 2024-04-11 Open Text Corporation System and method for hybrid multilingual search indexing
CN116680422A (zh) * 2023-07-31 2023-09-01 山东山大鸥玛软件股份有限公司 一种多模态题库资源查重方法、系统、装置及存储介质
CN117909299B (zh) * 2024-03-19 2024-05-10 电子科技大学 一种动态分级数据拆分系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134588A (ja) * 1999-11-04 2001-05-18 Ricoh Co Ltd 文書検索装置
US7249121B1 (en) 2000-10-04 2007-07-24 Google Inc. Identification of semantic units from within a search query
US20050187913A1 (en) * 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
JP4879593B2 (ja) * 2006-01-30 2012-02-22 株式会社野村総合研究所 特許分析システム及び特許分析プログラム
US20090287626A1 (en) * 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query generation
US8924314B2 (en) * 2010-09-28 2014-12-30 Ebay Inc. Search result ranking using machine learning
CN103649905B (zh) * 2011-03-10 2015-08-05 特克斯特怀茨有限责任公司 用于统一信息表示的方法和系统及其应用
US20140006012A1 (en) * 2012-07-02 2014-01-02 Microsoft Corporation Learning-Based Processing of Natural Language Questions
WO2014040263A1 (en) * 2012-09-14 2014-03-20 Microsoft Corporation Semantic ranking using a forward index
US9069857B2 (en) * 2012-11-28 2015-06-30 Microsoft Technology Licensing, Llc Per-document index for semantic searching
US11675795B2 (en) * 2015-05-15 2023-06-13 Yahoo Assets Llc Method and system for ranking search content
US11314831B2 (en) * 2016-04-25 2022-04-26 Google Llc Allocating communication resources via information technology infrastructure

Also Published As

Publication number Publication date
EP3695324A1 (en) 2020-08-19
US20190108276A1 (en) 2019-04-11
CN111213140A (zh) 2020-05-29
AU2018349276A1 (en) 2020-05-28
US20220261427A1 (en) 2022-08-18
WO2019073376A1 (en) 2019-04-18
JP2020537268A (ja) 2020-12-17
CA3078585A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
US20220261427A1 (en) Methods and system for semantic search in large databases
Wang et al. Learning to reduce the semantic gap in web image retrieval and annotation
Manjari et al. Extractive Text Summarization from Web pages using Selenium and TF-IDF algorithm
CN105005564A (zh) 一种基于问答平台的数据处理方法和装置
JP2013541793A (ja) マルチモード検索クエリー入力手法
CN107844493B (zh) 一种文件关联方法及系统
CN115270738B (zh) 一种研报生成方法、系统及计算机存储介质
CN108875065B (zh) 一种基于内容的印尼新闻网页推荐方法
CN109460477B (zh) 信息收集分类系统和方法及其检索和集成方法
CN108228612B (zh) 一种提取网络事件关键词以及情绪倾向的方法及装置
CN111475725A (zh) 用于搜索内容的方法、装置、设备和计算机可读存储介质
CN115563313A (zh) 基于知识图谱的文献书籍语义检索系统
CN111651675B (zh) 一种基于ucl的用户兴趣主题挖掘方法及装置
Anoop et al. A topic modeling guided approach for semantic knowledge discovery in e-commerce
Colace et al. A query expansion method based on a weighted word pairs approach
CN105574004A (zh) 一种网页去重方法和设备
Zukuan et al. An efficient content based image retrieval scheme
CN113516202A (zh) Cbl特征提取与去噪的网页精准分类方法
CN111931026A (zh) 一种基于词性扩展的搜索优化方法及系统
CN117688140B (zh) 文档查询方法、装置、计算机设备和存储介质
KR100932046B1 (ko) 도서 검색 방법 및 도서 검색 시스템
AU2021100441A4 (en) A method of text mining in ranking of web pages using machine learning
Sedghpour et al. Web document categorization using naive bayes classifier and latent semantic analysis
Wen et al. Automatic Web page classification using various features
Joorabchi et al. A new method for bootstrapping an automatic text classification system utilizing public library resources

Legal Events

Date Code Title Description
A201 Request for examination