KR102254979B1 - 식별된 개체에 기반한 속성 값의 인출 기법 - Google Patents

식별된 개체에 기반한 속성 값의 인출 기법 Download PDF

Info

Publication number
KR102254979B1
KR102254979B1 KR1020167001063A KR20167001063A KR102254979B1 KR 102254979 B1 KR102254979 B1 KR 102254979B1 KR 1020167001063 A KR1020167001063 A KR 1020167001063A KR 20167001063 A KR20167001063 A KR 20167001063A KR 102254979 B1 KR102254979 B1 KR 102254979B1
Authority
KR
South Korea
Prior art keywords
computing device
attribute
entities
receiving
column
Prior art date
Application number
KR1020167001063A
Other languages
English (en)
Other versions
KR20160030942A (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 KR20160030942A publication Critical patent/KR20160030942A/ko
Application granted granted Critical
Publication of KR102254979B1 publication Critical patent/KR102254979B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)

Abstract

데이터 탐색 데이터(Data Finding Data: DFD) 검색의 수행을 가능하게 하는 다양한 기술이 본 문서에 서술된다. 예컨대, 질의 필드 내에 개체들을 입력하는 것, 개체들을 컴퓨터 실행가능 애플리케이션으로부터 선택하는 것 또는 유사한 것에 의해, 사용자는 개체들을 지정한다. 사용자는 관심 있는 개체들의 속성을 또한 지정한다. 개체들 및 속성에 기반하여 질의가 구성되고, 개체들 및 속성에 기반하여 테이블들을 찾기 위한 검색이 수행된다. 선택된 개체들에 대한 속성의 값들이 테이블 내에 식별되고, 속성의 값들이 반환된다.

Description

식별된 개체에 기반한 속성 값의 인출 기법{RETRIEVAL OF ATTRIBUTE VALUES BASED UPON IDENTIFIED ENTITIES}
컴퓨터 실행가능 스프레드시트(spreadsheet) 애플리케이션은 종래에 그 사용자가 테이블형 데이터(tabular data)를 체계화하고(organize) 분석할 수 있게 하도록 구성되어 있다. 일반적으로, 컴퓨터 실행가능 스프레드시트 애플리케이션의 스프레드시트는 행과 열로 배열된 다수의 셀(cell)들을 포함하는데, 각 셀은 각자의 값(또는 다른 셀 내의 데이터에 기반하여 값을 출력하는 함수)을 유지할 수 있다. 스프레드시트 애플리케이션의 사용자는 셀을 선택하고, 셀 내에 포함될 새로운 값을 지정하는 것에 의해서든 또는 셀에 대한 값을 계산하는 데 사용되는 함수를 수정하는 것에 의해서든, 그것의 콘텐트(content)를 수동으로 수정할 수 있다.
종래의 스프레드시트 애플리케이션은, 특히 사용자가 스프레드시트 애플리케이션에 의해 지원되는 기능(그리고 그러한 기능을 호출하는 명령)에 익숙한 경우에, 테이블형 데이터를 체계화하고 조작하기(manipulating)에 매우 적합하다. 일례에서, 사용자는 "SUM"과 같은 텍스트 명령(textual command)을 내리는 것 및 그 후 합산에 포함되기를 바라는 값을 포함하는 셀을 식별함으로써 각 복수의 셀 내의 값들이 합산되게 할 수 있다.
그러나, 종래의 스프레드시트 애플리케이션에서, 스프레드시트 애플리케이션 내에 이미 로드된(loaded) 것이 아닌 데이터로써 테이블을 증강하는(augment) 것은 힘든 일일 수 있다. 예컨대, 초보 사용자는 테이블을 스프레드시트 애플리케이션 내에 로드할 수 있는데, 여기서 테이블은 개체(entity)들의 열을 포함한다(가령, 개체는 사람, 장소 또는 사물을 나타내는 스트링(string)이다). 그러므로, 일례에서, 개체들의 열은 도시명, 주명, 회사명 등등을 포함할 수 있다. 확인될 수 있는 바와 같이, 사람, 장소 또는 사물은 속성(attribute)에 의해 기술될 수 있다. 예를 들면, 캘리포니아 주는 (가령, 어떤 연도의) 인구, (가령, 여러 해에 걸친) 평균 강우 등등과 같은 다수의 속성에 의해 기술될 수 있는데, 그 속성들은 각각 이들에 대응하는 값들을 가진다. 종래에는, 예컨대, 각각의 개체들에 대응하여 속성 값들의 열을 추가하기 위해 테이블을 증강하기 위하여, 사용자는 (가령, 종래의 검색 엔진의 사용을 통해) 원하는 속성 값들을 찾기 위한 검색을 수행하고, 그 속성 값들을 포함하는 데이터 소스(data source)(가령, 테이블 또는 테이블들의 세트)를 식별하며, 그 데이터 소스가 신뢰할 수 있는 것임을 판정하고, 이후 데이터를 식별된 소스로부터 테이블 내에 적절한 위치에 수동으로 전송한다. 이것은 시간이 걸리고 불만스러운 작업이 될 수 있음을 확인할 수 있다.
이하는 본 문서에 더욱 상세히 기술된 대상(subject matter)의 간략한 개요이다. 이 개요는 청구항의 범주에 관해 한정적인 것으로 의도되지 않는다.
데이터 탐색 데이터(Data Finding Data: DFD) 검색은 물론, DFD 검색 동안에 식별되는 데이터(가령, 테이블형 데이터)를 보고 조작하는 메커니즘에 관한 다양한 기술이 본 문서에 기술된다. 예시적인 실시예에서, 클라이언트 컴퓨팅 디바이스(client computing device) 상에서 실행되는 애플리케이션은 복수의 머신 판독가능(machine-readable) 개체를 포함할 수 있는데, 개체는 사람, 장소 또는 사물을 나타내는 스트링이다. 예컨대, 애플리케이션은 스프레드시트 애플리케이션일 수 있고, 개체들은 스프레드시트 애플리케이션 내에 로드되는 테이블의 열에 포함될 수 있다. 이후 클라이언트 컴퓨팅 디바이스는 개체들이 선택되었다는 표시(indication)를 (가령, 클라이언트 컴퓨팅 디바이스 상에서 실행되는 다른 프로그램 또는 사용자로부터) 수신할 수 있다. 나아가, 클라이언트 컴퓨팅 디바이스는 (옵션으로) 그 사용자 또는 프로그램에 의해 지정된 속성(가령, 개체들에 의해 나타내어진 사람들, 장소들 또는 사물들의 속성을 나타내는 스트링)을 수신할 수 있다.
그리고 애플리케이션은 개체들(그리고 속성)을 검색 시스템에 송신할 수 있다. 예컨대, 애플리케이션은 개체들을 포함하는 질의(query)를 구성할 수 있다. 다른 예에서, 애플리케이션은 개체들 및 속성을 검색 시스템에 송신할 수 있고, 검색 시스템은 질의를 구성할 수 있다. 검색 시스템은 질의에 기반하여 테이블들의 인덱스에 대한 검색(search over an index of tables)을 실행한다. 검색 시스템은 질의를 형성하는 데 사용된 개체들에 관한 것일 수 있는 속성들 및/또는 속성 값들(그리고 옵션으로는 식별된 속성 명칭)을 포함하는 소스 테이블을 식별할 수 있고, 소스 테이블의 적어도 일부분을 클라이언트 컴퓨팅 디바이스 상에서 실행되는 애플리케이션에 송신할 수 있다. 예시적인 실시예에서, 검색 시스템이 사용자에 의해 식별된 속성을 수신하는 경우, 검색 시스템은 지정된 개체들의 적어도 서브세트를 포함하는 소스 테이블을 식별할 수 있고, 지정된 속성의 값들을 소스 테이블로부터 추출할 수 있으며, 그러한 값들을 클라이언트 컴퓨팅 디바이스 상에서 실행되는 애플리케이션에 송신할 수 있다. 이후 속성 값들은, 개체들과의 적절한 상관(correlation)이 되어, 디스플레이 상에 제시되거나 컴퓨터 판독가능 저장 매체(computer-readable storage medium) 내의 테이블 내에 저장될 수 있다. 따라서, 개체들이 처음에 선택되었던 테이블은 사용자에 의해 식별된 속성의 값들로써 비교적 신속히 증강될 수 있다.
다른 예시적인 실시예에서, 개체들(그리고 옵션으로는 속성)을 수신하는 것에 응답하여, 검색 시스템은 개체들에 대해 속성의 값들을 포함하는 소스 테이블을 식별할 수 있고, 소스 테이블을 요약하는 테이블 스니펫(table snippet)을 생성할 수 있다. 테이블 스니펫은 예컨대 소스 테이블의 제목(title), 소스 테이블의 소스 위치(가령, 소스 테이블을 포함하는 웹 페이지의 URL) 및 그 테이블의 대표적 부분을 포함할 수 있다. 테이블 스니펫은 클라이언트 컴퓨팅 디바이스 상에서 실행되는 컴퓨터 실행가능 애플리케이션에 송신될 수 있는데, 이는 사용자에 의한 검토를 위해 디스플레이 상에 테이블 스니펫을 디스플레이할 수 있다. 사용자는 (테이블 스니펫에 의해 요약된) 소스 테이블의 임의의 콘텐트가 스프레드시트 애플리케이션 내에 로드된 테이블 내에 포함되어야 하는지(가령, 스프레드시트 애플리케이션 내에 로드된 테이블에 열이 추가되어야 하는지) 판정하기 위해 테이블 스니펫을 검토할 수 있다. 예를 들면, 테이블 스니펫은 스니펫 내에 요약된 열과 그래픽적인 관련(graphical relation)이 되어 배치된 선택가능한 버튼을 포함할 수 있다.
선택가능한 버튼이 사용자에 의해 선택되는 것에 응답하여, 열 내의 속성 값들은 스프레드시트 애플리케이션 내에 이입되고(imported) 테이블 내의 개체들과 적절히 정렬될 수 있으니 - 앞서 언급된 속성 값들을 포함하는 새로운 열로써 테이블을 증강시키게 되는 것이다. 테이블 스니펫은, 사용자에 의해 선택되는 경우 소스 테이블 중 더 많은 것으로 하여금 사용자에게 제시되게 하거나 브라우저로 하여금 소스 테이블을 포함하는 웹 페이지를 로드하게 하는 하이퍼링크 또는 버튼을 추가적으로 포함할 수 있다.
위의 개요는 본 문서에서 논의되는 시스템 및/또는 방법의 몇몇 양상의 기본적인 이해를 제공하기 위해서 단순화된 개요를 제시한다. 이 개요는 본 문서에서 논의되는 시스템 및/또는 방법의 광범위한 개관이 아니다. 그것은 중요한/결정적인 구성요소를 식별하거나 그러한 시스템 및/또는 방법의 범주를 기술하도록 의도된 것이 아니다. 그것의 유일한 목적은 몇몇 개념을 이후에 제시되는 더욱 상세한 설명에 대한 서두(prelude)로서 단순화된 형태로 제시하는 것이다.
도 1은 데이터 탐색 데이터(Data Finding Data: DFD) 검색을 수행하도록 구성되는 예시적인 시스템의 기능적 블록 다이어그램(functional block diagram)이다.
도 2는 식별된 개체들을 그에 대응하는 속성 값들로써 증강하도록 구성되는 예시적인 개체 증강기 시스템(entity augmentor system)의 기능적 블록 다이어그램이다.
도 3은 수신된 개체들에 기반하여 소스 테이블들을 식별하도록 구성되는 예시적인 검색 시스템의 기능적 블록 다이어그램이다.
도 4는 스프레드시트 애플리케이션 내에 로드된 테이블 내의 복수의 개체들의 선택을 보여주는 스프레드시트 애플리케이션의 예시적인 그래픽 사용자 인터페이스(graphical user interface)이다.
도 5는 선택된 개체들에 기반한 DFD 검색의 개시(initiation)를 가능하게 하는 스프레드시트 애플리케이션의 예시적인 그래픽 사용자 인터페이스이다.
도 6은 속성 값들을 이용한 개체들의 증강을 보여주는 스프레드시트 애플리케이션의 예시적인 그래픽 사용자 인터페이스이다.
도 7은 마우스 포인터(mouse pointer)가 스프레드시트 내의 셀 위에 호버링하는(hover) 것에 응답하여 제시될 수 있는 예시적인 데이터를 보여주는 스프레드시트 애플리케이션의 예시적인 그래픽 사용자 인터페이스이다.
도 8은 디스플레이 상에서의 테이블 스니펫들의 제시를 보여주는 스프레드시트 애플리케이션의 예시적인 그래픽 사용자 인터페이스인데, 테이블 스니펫들은 선택된 개체들에 관련된 속성 값들을 포함하는 각자의 소스 테이블들을 요약한다.
도 9는 예시적인 테이블 스니펫을 보여준다.
도 10은 콘텐트 페이지의 예시적인 그래픽 사용자 인터페이스인데, 콘텐트 페이지 내의 개체들은 DFD 검색의 수행을 개시하기 위해 선택될 수 있다.
도 11은 DFD 검색의 수행을 가능하게 하는 검색 엔진 버티컬(search engine vertical)의 예시적인 그래픽 사용자 인터페이스이다.
도 12는 사람들, 장소들 또는 사물들을 나타내는 그래픽 객체들을 드래그 앤 드롭하기(dragging and dropping)에 의해서 DFD 검색의 수행을 가능하게 하는 예시적인 그래픽 사용자 인터페이스를 보여준다.
도 13은 DFD 검색을 수행하기 위한 예시적인 방법론을 보여주는 흐름 다이어그램(flow diagram)이다.
도 14는 복수의 개체들을 포함하는 테이블을 개체들의 속성의 각각의 값들로써 증강하기 위한 예시적인 방법론을 보여주는 흐름 다이어그램이다.
도 15는 속성들의 순위화된 리스트(ranked list)를 디스플레이 상에 제시하기 위한 예시적인 방법론을 보여주는 흐름 다이어그램인데, 속성들의 순위화된 리스트는 복수의 식별된 개체들에 관련된다고 판명되는 것이다.
도 16은 선택된 개체들에 관련된다고 판명된 소스 테이블들을 각각 요약하는 테이블 스니펫들을 생성하기 위한 예시적인 방법론을 보여주는 흐름 다이어그램이다.
도 17은 속성들의 순위화된 리스트 내의 속성의 선택에 기반하여 테이블형 데이터를 증강하기 위한 예시적인 방법론을 보여주는 흐름 다이어그램이다.
도 18은 예시적인 컴퓨팅 시스템이다.
데이터 탐색 데이터(Data-Finding-Data: DFD) 검색에 관한 다양한 기술이 이제 도면을 참조하여 기술되는데, 여기에서 비슷한 참조 번호는 시종일관 비슷한 구성요소를 지칭하는 데에 사용된다. 다음의 서술에서, 설명의 목적으로, 하나 이상의 양상의 철저한 이해를 제공하기 위해서 다수의 특정 세부사항이 개진된다. 그러나, 그러한 양상(들)이 이들 특정 세부사항 없이 실시될 수 있음은 명백할 수 있다. 다른 사례에서, 잘 알려진 구조 및 디바이스는 하나 이상의 양상을 서술하는 것을 용이하게 하기 위해서 블록 다이어그램 형태로 도시된다. 또한, 어떤 시스템 컴포넌트에 의해 수행되는 것으로 서술된 기능은 다수의 컴포넌트에 의해 수행될 수 있음이 이해되어야 한다. 유사하게, 예를 들면, 한 컴포넌트가 다수의 컴포넌트에 의해 수행되는 것으로 기술된 기능을 수행하도록 구성될 수 있다.
더욱이, "또는"이라는 용어는 배타적인 "또는"보다는 포괄적인 "또는"을 의미하도록 의도된다. 즉, 달리 명시되지 않거나, 문맥으로부터 분명하지 않은 한, "X가 A 또는 B를 이용한다"라는 구절은 자연스러운 포괄적 순열(permutation)들 중 임의의 것을 의미하도록 의도된다. 즉, "X가 A 또는 B를 이용한다"라는 구절은 다음 사례들 중 임의의 것에 의해 충족된다: X가 A를 이용한다; X가 B를 이용한다; 또는 X가 A 및 B 양자 모두를 이용한다. 추가로, 단수 형태로 지향된다고 문맥으로부터 분명하거나 달리 명시되지 않는 한 이 출원 및 부기된 청구항에서 사용되는 바와 같은 "한" 또는 "일"이라는 관사는 일반적으로 "하나 이상"을 의미한다고 해석되어야 한다.
또한, 본 문서에서 사용되는 바와 같이, 용어 "컴포넌트" 및 "시스템"은, 프로세서에 의해 실행되는 경우 어떤 기능이 수행되게 하는 컴퓨터 실행가능 명령어로써 구성되는 컴퓨터 판독가능 데이터 스토리지(computer-readable data storage)를 망라하도록 의도된다. 컴퓨터 실행가능 명령어는 루틴, 함수 또는 유사한 것을 포함할 수 있다. 컴포넌트 또는 시스템은 단일 디바이스 상에 로컬화되거나(localized) 몇 개의 디바이스에 걸쳐 분산될(distributed) 수 있음이 또한 이해되어야 한다. 또한, 본 문서에서 사용되는 바와 같이, "예시적"이라는 용어는 어떤 것의 예시 또는 예로서의 역할을 하는 것을 의미하도록 의도된 것이며, 선호를 나타내도록 의도된 것이 아니다.
도 1을 참조하면, DFD 검색의 수행을 가능하게 하는 예시적인 시스템(100)이 보여진다. DFD는 검색을 수행하는 데 이용되는 질의가 애플리케이션 내에 로드된 데이터에 기반하는 검색을 나타낸다. 그러므로, DFD 검색에서, 애플리케이션 내에 로드된 데이터는 관련된 데이터의 위치를 파악하는(locate) 데에 이용된다.
시스템(100)은 클라이언트 컴퓨팅 디바이스(102)를 포함하는데, 이는 데스크톱 컴퓨팅 디바이스(desktop computing device), 모바일 컴퓨팅 디바이스(mobile computing device)(예를 들어 랩톱 컴퓨팅 디바이스(laptop computing device), 모바일 전화(mobile telephone), 태블릿 컴퓨팅 디바이스(tablet computing device), 착용가능 컴퓨팅 디바이스(wearable computing device) 등등), 또는 다른 적합한 클라이언트 컴퓨팅 디바이스이거나 이를 포함할 수 있다. 시스템(100)은 네트워크(106)를 거쳐서 클라이언트 컴퓨팅 디바이스(102)와 통신하는 서버 컴퓨팅 디바이스(server computing device)(104)를 더 포함한다. 네트워크(106)는 인터넷, 셀룰러 네트워크(cellular network) 등등일 수 있다.
클라이언트 컴퓨팅 디바이스(102)는 클라이언트 프로세서(108) 및 클라이언트 메모리(110)를 포함하는데, 여기서 클라이언트 프로세서(108)는 클라이언트 메모리(110) 내에 로드된 명령어를 실행하도록 구성된다. 클라이언트 메모리(110)는 내부에 로드된 애플리케이션(112)을 가질 수 있어서, 클라이언트 프로세서(108)는 애플리케이션(112)을 실행할 수 있다. 예시적인 실시예에서, 애플리케이션(112)은 스프레드시트 애플리케이션일 수 있다. 다른 예에서, 애플리케이션(112)은 스프레드시트 애플리케이션을 로드하도록 구성되는 웹 브라우저일 수 있다. 그러나, 애플리케이션(112)은 스프레드시트 애플리케이션 또는 스프레드시트 애플리케이션을 로드할 수 있는 애플리케이션(가령, 브라우저)인 것에 한정되지 않음이 이해되어야 한다. 예컨대, 애플리케이션(112)은 워드 프로세싱(word processing) 애플리케이션, 콘텐트를 사용자에게 제시하도록 구성되는 애플리케이션(가령, 뉴스 애플리케이션), 전용 이메일 애플리케이션, 인스턴트 메시징(instant messaging) 애플리케이션, 비디오 게임, 소셜 네트워킹(social networking) 애플리케이션 등등일 수 있다.
애플리케이션(112)은 개체 증강기 시스템(114)을 포함한다. 간략히, 애플리케이션(112)은 내부에 로드된 복수의 개체들을 가질 수 있고, 개체 증강기 시스템(114)은 개체들의 속성의 값들의 인출(retrieval)을 가능하게 한다. 더욱 상세히, 개체는 사람, 장소 또는 사물을 나타내는 컴퓨터 판독가능 스트링이다. 비한정적인 예에서, 애플리케이션(112)은 내부에 로드된 테이블을 갖는 스프레드시트 애플리케이션일 수 있는데, 테이블의 열은 나라들을 식별하는 개체들을 포함한다. 개체 증강기 시스템(114)은 나라들의 속성(가령, 인구, 평균 온도, 국내총생산(gross domestic product) 등등)의 값들의 인출을 가능하게 한다.
서버 컴퓨팅 디바이스(104)는 서버 프로세서(116) 및 서버 메모리(118)를 포함하는데, 서버 프로세서(116)는 서버 메모리(118) 내에 로드된 명령어를 실행한다. 서버 메모리(118)는 개체 증강기 시스템(114)으로부터 수신된 복수의 개체들(그리고 옵션으로는 속성)에 기반하여 DFD 검색의 수행을 가능하게 하는 검색 시스템(120)을 포함할 수 있다. 서버 컴퓨팅 디바이스(104)는 인덱스(index)(124)를 포함하는 데이터 스토어(122)를 포함하거나 이에 대한 액세스를 가지는데, 인덱스(124)는 소스 테이블들(가령, 소스 테이블들은 2차원 테이블들이거나 다차원 테이블들일 수 있음)의 검색가능한 인덱스(searchable index)이다. 인덱스(124)에 의해 인덱싱된(indexed) 소스 테이블들은 네트워크를 거쳐서 액세스가능할 수 있다. 예를 들면, 소스 테이블들은 인터넷을 거쳐서 액세스가능한 웹 페이지들 상의 테이블들일 수 있다. 그러므로, 검색 시스템(120)은 개체 증강기 시스템(114)으로부터 복수의 개체(그리고 옵션으로 속성)를 수신할 수 있고, 개체들에 관련된 한 소스 테이블 또는 소스 테이블들을 식별하기 위해 인덱스(124)에 대해서 검색을 실행할 수 있다. 예를 들면, 식별된 소스 테이블 또는 테이블들은 수신된 개체들의 적어도 서브세트 및 수신된 개체들의 서브세트에 각각 대응하는 속성 값들을 포함하는 행 또는 열을 포함할 수 있다.
도 1에 개진된 시스템(100)의 아키텍처는 예시적임이 이해되어야 한다. 예컨대, 검색 시스템(120)은 클라이언트 컴퓨팅 디바이스(102) 상의 클라이언트 메모리(110) 내에 로드된 애플리케이션(112)의 일부분일 수 있다. 다른 예에서, 인덱스(124)를 포함하는 데이터 스토어(122)는 클라이언트 컴퓨팅 디바이스(102)에 로컬(local)일 수 있다. 또 다른 예에서, 개체 증강기 시스템(114)은 서버 메모리(118) 내에 포함될 수 있다. 또 나아가, 개체 증강기 시스템(114), 검색 시스템(120) 및/또는 인덱스(124)는 클라이언트 컴퓨팅 디바이스(102) 및 서버 컴퓨팅 디바이스(104) 간에 분산될 수 있다.
시스템(100)의 예시적인 동작이 이제 개진된다. 클라이언트 메모리(110) 내에 로드되고 클라이언트 프로세서(108)에 의해 실행되는 애플리케이션(112)은 내부에 복수의 개체들을 가질 수 있는데, 이는 예컨대, 클라이언트 컴퓨팅 디바이스(102)의 디스플레이(도시되지 않음) 상에 디스플레이될 수 있다. 예를 들면, 애플리케이션(112)은 스프레드시트 애플리케이션일 수 있고, 복수의 개체들은 스프레드시트 애플리케이션의 스프레드시트의 열 내에 포함될 수 있다. 사용자는, 클라이언트 컴퓨팅 디바이스(102)를 위한 입력 메커니즘(가령, 마우스, 터치 감응 디스플레이(touch-sensitive display) 등등)의 활용을 통해, 복수의 개체들을 선택할 수 있고, 애플리케이션(112)은 복수의 개체들이 선택되었다는 표시를 수신할 수 있다. 개체 증강기 시스템(114)은 이후 복수의 개체들에 기반하여 DFD 검색이 수행되어야 한다는 표시를 수신할 수 있다. 예컨대, 개체 증강기 시스템(114)은 복수의 개체들 및 (옵션으로) 사용자에게 흥미로운 속성을 수신할 수 있다.
그 표시를 수신하는 것에 응답하여, 개체 증강기 시스템(114)은, 예시적인 실시예에서, DFD 검색을 수행하는 데 사용될 수 있는 질의를 구성할 수 있다. 개체 증강기 시스템(114)은 이후 클라이언트 컴퓨팅 디바이스(102)로 하여금 네트워크를 거쳐서 서버 컴퓨팅 디바이스(104)에 질의를 송신하게 할 수 있다. 질의는 예컨대 사용자에 의해 선택된 속성 및 개체들을 포함할 수 있다. 다른 예에서, 개체 증강기 시스템(114)은 개체들 및 속성(질의로서 형성되지 않음)이 서버 컴퓨팅 디바이스(104)에 송신되게 할 수 있다.
서버(104)는 클라이언트 컴퓨팅 디바이스(104)로부터 데이터를 수신하는데, 이는 검색 시스템(120)에 제공된다. 검색 시스템(120)이 질의로서 포맷화되지(formatted) 않은 개체들을 수신하는 경우, 검색 시스템(120)은 개체들(그리고 옵션으로 사용자에 의해 지정된 속성)에 기반하여 질의를 구성할 수 있다. 검색 시스템(120)은 질의에 기반하여 인덱스(124)를 검색한다. 검색 시스템(120)은, 인덱스(124)에 대한 검색의 실행에 기반하여, 질의에 관련되고 따라서 개체들에 관련된 적어도 하나의 소스 테이블을 식별한다. 예컨대, 그 적어도 하나의 소스 테이블은 복수의 개체들의 적어도 서브세트, 복수의 개체들 내의 개체들의 동의어 등등을 포함할 수 있다. 또한, 그 적어도 하나의 소스 테이블은 복수의 개체들의 속성의 값들을 포함할 수 있는데, 여기서 속성은 사용자에 의해 지정되었을 수 있다.
그 적어도 하나의 테이블을 식별하는 것에 응답하여, 검색 시스템(120)은 서버 컴퓨팅 디바이스(104)가 소스 테이블의 적어도 일부분을 클라이언트 컴퓨팅 디바이스(102)에 네트워크(106)를 거쳐서 송신하게 한다. 예컨대, 검색 시스템(120)은 서버 컴퓨팅 디바이스(104)로 하여금 식별된 소스 테이블 내의 속성의 값들을 클라이언트 컴퓨팅 디바이스(102)에 송신하게 할 수 있다. 개체 증강기 시스템(114)은 검색 시스템(120)에 의해 식별된 소스 테이블의 적어도 일부분(가령, 속성의 값들)을 수신하고, 사용자에 의해 선택된 복수의 개체들을 속성의 값들로써 증강한다. 예컨대, 애플리케이션(112)이 스프레드시트 애플리케이션이고 개체들이 스프레드시트의 열에 포함되는 경우, 개체 증강기 시스템(114)은 그러한 스프레드시트에 열을 추가하고 속성의 값들로써 그 열을 채울 수 있는데, 속성의 값들은 그것들 각자의 개체들과 적절히 정렬된다. 개체들을 그에 대응하는 각각의 속성 값들로써 증강하는 다른 예가 아래에 개진될 것이다.
이제 도 2로 넘어가면, 개체 증강기 시스템(114)의 기능적 블록 다이어그램이 보여진다. 개체 증강기 시스템(114)은 (가령, 사용자 또는 클라이언트 컴퓨팅 디바이스(102) 상에서 실행되는 컴퓨터 실행가능 애플리케이션으로부터) 복수의 개체들의 선택을 수신하는 입력 수신기 컴포넌트(input receiver component)(202)를 포함한다. 추가적으로, 옵션으로, 입력 수신기 컴포넌트(202)는 속성의 선택을 수신할 수 있는데, 개체 증강기 시스템(114)은 각각의 선택된 개체들을 위해 속성의 값들을 인출하는 것이다. 입력 수신기 컴포넌트(202)는 선택된 개체들 및 속성(만약 제공되는 경우)을 서버 컴퓨팅 디바이스(104)에 송신하는 송신기 컴포넌트(transmitter component)(204)를 포함할 수 있다. 이전에 나타낸 바와 같이, 다른 예시적인 실시예에서, 송신기 컴포넌트(204)는 선택된 개체들 및 속성(들)에 기반하여 질의를 구성하도록 구성될 수 있고, 질의를 서버 컴퓨팅 디바이스(104)에 송신하도록 또한 구성될 수 있다.
개체 증강기 시스템(114)은, 입력 수신기 컴포넌트(202)가 개체들의 선택을 수신하는 것에 응답하여, 속성(가령, 사용자에 의해 선택된 속성)의 값들을 수신하고 선택된 개체들을 위해 속성의 값들을 출력하도록 구성되는 출력 컴포넌트(output component)(206)를 더 포함한다. 예시적인 실시예에서, 출력 컴포넌트(206)는 검색 시스템(120)으로부터 소스 테이블의 적어도 일부분을 수신할 수 있는데, 속성의 값들은 소스 테이블의 그 일부분에 포함된다. 출력 컴포넌트(206)는 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 소스 테이블의 적어도 그 일부분을 디스플레이하도록 구성되는 디스플레이 컴포넌트(display component)(208)를 포함한다. 소스 테이블의 그 일부분의 디스플레이는 클라이언트 컴퓨팅 디바이스(102)의 사용자로 하여금, 예컨대 소스 테이블의 속성 값들을 스프레드시트 내에 로드하기 전에, 소스 테이블의 내용(contents)을 검토할 수 있게 한다.
본 문서에 더욱 상세히 기술될 바와 같이, 디스플레이 컴포넌트(208)는 소스 테이블의 다수의 상이한 파라미터들을 디스플레이할 수 있다. 예시적인 실시예에서, 디스플레이 컴포넌트(208)는 검색 시스템(120)에 의해 생성된 검색 결과들의 순위화된 리스트를 수신할 수 있는데, 검색 결과들의 순위화된 리스트는 앞서 언급된 소스 테이블을 나타내는 결과를 포함한다. 일례에 따르면, 검색 결과들은 각각의 소스 테이블들의 제목들, 각각의 소스 테이블들의 위치들(가령, URL), 소스 테이블 내의 속성들의 아이덴티티(identity)들, 소스 테이블 내 개체들의 아이덴티티들 및 유사한 것을 포함할 수 있다. 디스플레이 컴포넌트(208)는, 예를 들면, 사용자가 검색 결과들의 순위화된 리스트로부터 소스 테이블을 나타내는 검색 결과를 선택하였다는 표시를 수신할 수 있다. 그러한 표시를 수신하는 것에 응답하여, 디스플레이 컴포넌트(208)는 소스 테이블의 더 많은 것을 디스플레이할 수 있고, 소스 페이지를 포함하는 웹 페이지가 브라우저에 의해 로드되게 할 수 있으며, 기타 등등이다.
출력 컴포넌트(206)는 또한 선택된 개체들에 기반하여 검색 시스템(120)에 의해 식별되는 테이블의 프리뷰(preview)를 생성할 수 있는 프리뷰 생성기 컴포넌트(preview generator component)(210)를 포함할 수 있다. 위에서 나타내어진 바와 같이, 디스플레이 컴포넌트(208)는 각각의 소스 테이블들을 나타내는 검색 결과들의 순위화된 리스트를 디스플레이할 수 있다. 프리뷰 생성기 컴포넌트(210)는 사용자가 검색 결과에 관한 사전정의된 행동을 수행하였다는 표시(가령, 마우스 포인터로 호버링하는 것, 손가락으로 눌러서 잡고 있는 것, 음성 명령을 출력하는 것)를 수신할 수 있다. 그러한 행동의 검출은 프리뷰 생성기 컴포넌트(210)로 하여금 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 제시될 검색 결과에 의해 나타내어지는 소스 테이블의 프리뷰를 디스플레이하게 할 수 있다. 그러므로 클라이언트 컴퓨팅 디바이스(102)의 사용자는 검색 결과들의 순위화된 리스트 내에 나타내어진 소스 테이블들의 프리뷰들을 신속히 획득할 수 있다.
위에서 나타내어진 바와 같은 프리뷰 생성기 컴포넌트(210)에 관한 다른 예에서, 프리뷰 생성기 컴포넌트(210)는 검색 시스템(120)에 의해 식별된 소스 테이블의 프리뷰가 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 디스플레이되게 할 수 있다. 나아가, 프리뷰 생성기 컴포넌트(210)는 프리뷰 내에 보여지는 데이터를 조작하기 위한 컨트롤을 포함하도록 소스 테이블의 프리뷰를 생성할 수 있으니 - 예를 들면, 이들 컨트롤은 열, 행, 기타 등등에 따른 소스 테이블의 프리뷰 내의 값들의 정렬을 가능하게 할 수 있다. 나아가, 종래의 스프레드시트 애플리케이션의 필터링 능력이 프리뷰 생성기 컴포넌트(210)에 의해 가능하게 될 수 있다.
또 다른 예에서, 출력 컴포넌트(206)는 서버(104)로부터 복수의 테이블 스니펫을 수신할 수 있는데, 스니펫들은 송신기 컴포넌트(204)에 의해 서버(104)에 송신된 개체들에 관련된 것으로 검색 시스템(120)에 의해 식별된 각각의 소스 테이블들을 요약한다. 스니펫들은 예컨대 스니펫에 의해 요약된 테이블의 제목, 스니펫에 의해 요약된 소스 테이블의 위치, 스니펫에 의해 요약된 소스 테이블 내에 포함된 속성들 및 그러한 소스 테이블의 내용을 나타내는 소스 테이블의 일부분을 식별하는 데이터를 포함할 수 있다. 따라서, 클라이언트 컴퓨팅 디바이스(102) 상의 애플리케이션(112)이 클라이언트 컴퓨팅 디바이스(102)의 사용자로의 제시를 위해 속성 값들을 로드하게 하기 전에, 사용자는 소스 테이블의 내용이 믿을 만한지를 사용자가 확인하는 데 도움이 되고, 사용자가 속성을 선택하는 것을 돕는 등등의 정보를 제공받을 수 있다는 점을 알게 될 수 있다.
또 다른 예에서, 사용자는 속성을 식별하는 것 없이 개체들을 선택할 수 있고, (개체 증강기 시스템(114) 또는 검색 시스템(120)에 의해 구성되는) 결과적 질의는 이에 따라 구성될 수 있다. 서버(104)의 검색 시스템(120)은 개체들에 관련된 소스 테이블들을 식별할 수 있는데, 식별된 소스 테이블들은 여러 상이한 속성들(가령, 인덱스(124) 내에 나타내어진 바와 같은 개체들에 있어서 가장 자주 발생하는 속성들)에 대한 값들을 포함한다. 여러 속성들의 아이덴티티들이 검색 시스템(120)에 의해 출력되며, 사용자에게 여러 속성들을 드러내는(가령, 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 그러한 속성들을 디스플레이하는) 디스플레이 컴포넌트(208)에 의해 수신될 수 있다. 예를 들면, 디스플레이 컴포넌트(208)는 속성들이 선택가능함을 나타내도록(가령, 속성들을 하이퍼링크(hyperlink)하고, 버튼들이 속성들과 그래픽적인 관련이 되어 제시되게 하는 등등) 속성들을 디스플레이할 수 있다. 사용자는 디스플레이된 속성들 내의 적어도 하나의 속성을 선택할 수 있는데, 적어도 하나의 속성의 선택은 입력 수신기 컴포넌트(202)에 의해 수신된다. 입력 수신기 컴포넌트(202)는 이후 속성의 선택을 반영하도록 질의를 갱신하거나, 이후에 질의를 갱신하는 검색 시스템(120)에 속성을 송신한다. 검색 시스템(120)은 이후 선택된 개체들 및 선택된 속성에 기반하여 인덱스(124)를 검색한다.
출력 컴포넌트(206)는 사용자에 의해 선택된 속성의 값들로써 애플리케이션 내에 로드된 개체들을 증강하는 증강기 컴포넌트(augmentor component)(212)를 더 포함할 수 있다. 일례에서, 증강기 컴포넌트(212)는 새로운 열이 테이블에 추가되게 할 수 있고, 속성의 값들로써 그 열을 채울 수 있다. 증강기 컴포넌트(212)는 속성 값들을 그것들 각자의 개체들과 정렬한다. 다른 예에서, 클라이언트 컴퓨팅 디바이스(102)의 사용자가 개체들 내의 개체에 대해, 그 개체에 대한 속성의 값을 식별하는 것이 가능하도록, 증강기 컴포넌트(212)는 개체들 및 속성의 값들을 테이블로 된 형태로 포함하는 페이지(가령, 웹 페이지, 워드 프로세싱 페이지, 또는 유사한 것)를 생성할 수 있다.
이제 도 3을 참조하면, 검색 시스템(120)의 예시적인 기능적 블록 다이어그램이 보여진다. 검색 시스템(120)은 (가령, 개체 증강기 시스템(114)의 송신기 컴포넌트(204)로부터) 개체들을 수신하는 개체 수신기 컴포넌트(entity receiver component)(302)를 포함한다. 추가적으로, 개체 수신기 컴포넌트(302)는 클라이언트 컴퓨팅 디바이스(102)의 사용자에 의해 지정된 속성을 수신할 수 있다. 일례에 따르면, 개체 수신기 컴포넌트(302)는 개체들 및 (옵션으로) 속성의 수신에 응답하여 인덱스(124)에 대해서 실행될 질의를 구성할 수 있다.
검색 시스템(120)은 질의에 기반하여 인덱스(124)를 검색하고 인덱스(124) 내에 인덱싱된 소스 테이블의 적어도 일부분을 개체 증강기 시스템(114)에 반환하도록 구성된 검색 컴포넌트(search component)(304)를 더 포함한다. 검색 컴포넌트(304)는 질의에 관련된 소스 테이블들을 식별하기 위해 임의의 적합한 검색 알고리즘을 활용할 수 있다.
검색 컴포넌트(304)는 질의에 관련된 것으로 검색 컴포넌트(304)에 의해 식별된 테이블들을 순위화하는 테이블 순위화기 컴포넌트(table ranker component)(306)를 포함한다. 예시적인 실시예에서, 테이블 순위화기 컴포넌트(306)는 (질의 내에 나타내어진) 선택된 개체들에 관한 소스 테이블들의 포섭범위(coverage), 소스 테이블이 위치된 소스의 신뢰성, 기타 등등에 기반하여 소스 테이블들을 순위화할 수 있다.
검색 컴포넌트(304)는 검색 컴포넌트(304)에 의해 식별되고 테이블 순위화기 컴포넌트(306)에 의해 순위화된 소스 테이블의 적어도 일부분을 클라이언트 컴퓨팅 디바이스(102)의 개체 증강기 시스템(114)에 반환하는 반환기 컴포넌트(returner component)(308)를 더 포함할 수 있다. 예시적인 실시예에서, 반환기 컴포넌트(308)는 검색 결과들의 순위화된 리스트를 출력할 수 있는데, 검색 결과들은 테이블 순위화기 컴포넌트(306)에 의해 출력된 순위화(ranking)에 따라 순위화된 각각의 소스 테이블들을 나타낸다. 검색 결과들의 순위화된 리스트는 하이퍼링크, 테이블 스니펫 등등을 포함할 수 있다. 나아가, 반환기 컴포넌트(308)는 검색 컴포넌트(304)에 의해 식별된 소스 테이블들의 가장 관련 있는 부분들을 식별하도록 구성될 수 있다. 예컨대, 반환기 컴포넌트(308)는 소스 테이블의 일부분을 개체 증강기 시스템(114)에 반환할 수 있는데, 소스 테이블의 일부분은 가장 인기 있는 속성들, 선택된 개체들에 가장 관련 있는 것으로 여겨지는 속성 값들(가령, 클라이언트 컴퓨팅 디바이스(102)의 사용자에 의해 이전에 액세스되거나 조작된 데이터, 애플리케이션(112) 내에 로드된 테이블 내에 이미 존재하는 속성 값들 등등에 기반함)을 포함한다.
검색 컴포넌트(304)는 질의에 기반하여 검색 컴포넌트(304)에 식별된 소스 테이블들 내의 속성들을 순위화하는 속성 순위화기 컴포넌트(attribute ranker component)(310)를 옵션으로 포함할 수 있다. 속성 순위화기 컴포넌트(310)는 다음 중 하나 이상에 기반하여 속성들을 선택 및 순위화할 수 있다: 1) 클라이언트 컴퓨팅 디바이스(108) 상의 애플리케이션(112) 내에 로드된 데이터 내에 이미 나타내어진 속성들; 2) 속성의 값들이 포함된 소스 테이블의 신뢰성; 3) 속성의 인기(가령, 속성을 포함하는 인덱스(124) 내에 인덱싱된 다수의 테이블에 기반함), 또는 유사한 것. 반환기 컴포넌트(308)는 속성들의 순위화된 리스트를 개체 증강기 시스템(114)에 반환할 수 있다. 속성들의 순위화된 리스트는 클라이언트 컴퓨팅 디바이스(102)의 사용자에게 노출되거나 드러내질 수 있는데, 그는 이후 속성들의 순위화된 리스트로부터 속성을 선택할 수 있다. 선택된 속성은 서버 컴퓨팅 디바이스(104)에 송신되며, 선택된 속성에 기반하여 질의를 갱신할 수 있는 개체 수신기 컴포넌트(302)에 의해 수신될 수 있다. 선택된 개체들 내의 개체들 및 선택된 속성의 값들을 포함하는 소스 테이블들이 식별되도록, 이후 검색 컴포넌트(304)는 갱신된 질의를 사용하여 검색을 갱신할 수 있다. 테이블 순위화기 컴포넌트(306)는 소스 테이블들을 순위화하고, 반환기 컴포넌트(308)는 이후 (검색 결과들에 의해 나타내어지는 소스 테이블들의 각각의 부분들을 포함할 수 있는) 검색 결과들의 순위화된 리스트를 개체 증강기 시스템(114)에 반환할 수 있다.
도 4 내지 도 12를 집합적으로 참조하면, DFD 검색의 수행을 가능하게 하는 여러 예시적인 그래픽 사용자 인터페이스가 보여진다. 도 4 하나만을 참조하면, 스프레드시트 애플리케이션의 예시적인 그래픽 사용자 인터페이스(400)가 보여진다. 그러므로, 도 4에 도시된 예에서, 클라이언트 메모리(110) 내에 로드된 애플리케이션(112)은 스프레드시트 애플리케이션일 수 있다. 그래픽 사용자 인터페이스(400)는 행 및 열로 배열된 복수의 셀을 포함하는 스프레드시트(402)를 포함한다. 예시적인 그래픽 사용자 인터페이스(400)에서, 열 A 내지 열 F 및 행 1 내지 행 13이 묘사된다. 스프레드시트 애플리케이션의 그래픽 사용자 인터페이스는 그래픽 사용자 인터페이스(400)에 도시된 것보다 더 많거나 더 적은 열 및/또는 행을 묘사할 수 있음이 이해되어야 한다. 그래픽 사용자 인터페이스(400)는 다양한 선택가능한 버튼, 풀다운(pull-down) 메뉴, 데이터 입력 필드 및 유사한 것을 포함할 수 있는 툴바(toolbar)(404)를 또한 포함하는데, 그러한 특징들은 스프레드시트(402)에 포함된 데이터를 생성하는 것, 배열하는 것, 조작하는 것, 필터링하는 것 및 디스플레이하는 것을 가능하게 한다.
그래픽 사용자 인터페이스(400)는 클라이언트 컴퓨팅 디바이스(102)의 사용자에 의해 개진된 질의 세트를 수신하도록 구성된 질의 필드(406)를 더 포함한다. 질의 필드(406)와 그래픽적인 관련이 된 버튼(408)은 클라이언트 컴퓨팅 디바이스(102)의 사용자에 의해 선택되는 경우, 검색이 질의 필드(406) 내에 개진된 질의 세트에 기반하여 데이터에 대해서 수행되게 할 수 있다. 일례에 따르면, 검색은 (가령, 스프레드시트 애플리케이션 내에 로드된 데이터에 대해서) 로컬로 수행될 수 있다. 다른 예에서, 질의 필드(406) 내에 입력된 질의는 여러 개체들(그리고 옵션으로 속성)을 식별할 수 있으며, 버튼(408)이 선택되는 것에 응답하여 검색 시스템(120)에 송신될 수 있다. 그래픽 사용자 인터페이스(400)는, 선택되는 경우, 음성 입력의 수신을 가능하게 하기 위해 클라이언트 컴퓨팅 디바이스(102)의 마이크(microphone)를 활성화하는 버튼(410)을 더 포함한다. 음성 입력은 자연 언어 질의(natural language query), 스프레드시트(402) 내의 행 또는 열의 식별, 스프레드시트 내에 나타내어진 개체들의 식별 등등일 수 있다.
그래픽 사용자 인터페이스(400)는 열 A가 여러 개체들을 포함함을 묘사한다. 복수의 개체들(411)(열 A의 행 1 내지 행 8 내의 개체들)이 스프레드시트(402) 내에서 선택된 것으로 도시된다. 예를 들면, 복수의 개체들(411)을 선택하는 데 커서(cursor)(412)가 이용될 수 있다. 다른 예에서, 복수의 개체들(411)을 선택하는 데 터치 감응 디스플레이 상에서의 제스처가 이용될 수 있다. 또 다른 예에서, 복수의 개체들(411)은 (버튼(410)의 선택에 응답하여 제출된) 음성 입력을 통하여 선택될 수 있다. 다른 예에서, 복수의 개체들(411)은 질의 필드(406) 내에의 질의의 입력에 의해서 선택될 수 있다.
이제 도 5를 참조하면, 선택된 개체들(411)에 기반한 DFD 검색의 수행을 가능하게 하는 예시적인 그래픽 사용자 인터페이스(500)가 보여진다. 클라이언트 컴퓨팅 디바이스의 사용자는 선택된 개체들(411)에 기반하여 DFD 검색이 수행되어야 함을 나타내는 명령(가령, 우측 클릭(right-click), 제스처, 발화된 명령(spoken command) 등등)을 개진할 수 있다. 입력 수신기 컴포넌트(202)는 그러한 입력을 수신하고, 예컨대, 그 명령의 수신에 응답하여 팝업 윈도우(pop-up window)(502)가 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 디스플레이되게 할 수 있다. 팝업 윈도우(502)는 여러 선택가능한 옵션들을 포함할 수 있는데, 옵션들 중 하나는 DFD 검색을 개시할 수 있다. DFD 검색을 개시하기 위한 옵션은 커서(412)에 의해서, 터치 감응 디스플레이 상의 터치에 의해서, 음성 명령, 기타 등등에 의해서 선택될 수 있다. 입력 수신기 컴포넌트(202)가 팝업 윈도우(502) 내에 보여진 DFD 옵션의 선택을 수신하는 것에 응답하여, 수신기 컴포넌트(204)는 선택된 개체들(411)을 검색 시스템(120)에 송신(하거나 선택된 개체들(411)에 기반하여 질의를 구성하고 질의를 검색 시스템(120)에 송신)할 수 있다. 이 예에서, 사용자는 속성을 지정하지 않았다. 그러나, 속성의 사용자 지정의 수령을 가능하게 하는 메커니즘이 고려됨이 이해되어야 한다. 예컨대, 사용자는 입력 필드(406) 내에 속성을 지정할 수 있고, 팝업 윈도우(502)는 속성을 지정하기 위한 필드를 포함할 수 있고, 기타 등등이다.
이제 도 6을 참조하면, 속성 값들을 이용한 개체들(411)의 증강을 보여주는 그래픽 사용자 인터페이스(600)가 묘사된다. 전술된 바와 같이, 검색 시스템(120)은 (개체들(411) 및 지정된 속성에 기반하여 구성된) 질의에 기반하여 인덱스(124)를 검색하며, 속성의 값들(602)을 개체 증강기 시스템(114)에 반환할 수 있다. 증강기 컴포넌트(212)는 스프레드시트(402)의 열 B 내의 셀들을 개체들과 적절히 정렬된, 스프레드시트의 값들(602)로써 채우는 것에 의해 스프레드시트(402)를 속성의 값들(602)로써 증강할 수 있다. 그러므로, "VALUE 1"은 "ENTITY 1"에 대한 속성의 값이고, "VALUE 2"는 "ENTITY 2"에 대한 속성의 값이며, 기타 등등이다.
전술된 예에서, 증강기 컴포넌트(212)는 열 B 내의 셀들을 속성의 값들(602)로써 자동으로 채운다(가령, 사용자는 값들(602)이 스프레드시트(402) 내에 이입되기 전에 값들(602)을 검토하고 승인하지 않았음). 만약 사용자가 속성의 값들(602)이 마땅찮은 경우, 사용자는 "실행취소"(undo) 명령을 내리고 더욱 정제된 검색이 검색 시스템(120)에 의해 수행되게 할 수 있다. 나아가, 일례에서, 사용자는 속성을 지정할 필요가 없다. 오히려, 검색 시스템(120)은 속성을 자동으로 식별할 수 있다. 예를 들면, 검색 시스템(120)은 (가령, 선택된 개체들(411) 내의 개체들 및 "ATTRIBUTE 1" 양자 모두를 포함하는, 인덱스(124) 내의 인덱싱된 다수의 테이블들에 기반하여) "ATTRIBUTE 1"이 선택된 개체들(411)에 관련된 가장 인기 있는 속성임을 판정할 수 있다. 검색 컴포넌트(304)는 사용자 피드백(user feedback) 없이 그러한 속성을 선택하고 그러한 속성에 대한 값들을 개체 증강기 시스템(114)에 송신할 수 있으며, 증강기 컴포넌트(212)는 그러한 값들의 수신에 응답하여 속성 값들로써 스프레드시트(402)를 증강할 수 있다.
값들(602)로써 스프레드시트를 증강하는 것을 가능하게 하기 위하여, 검색 컴포넌트(304) 및/또는 증강기 컴포넌트(212)는 통합된 퍼지 결합식 열 이입(integrated fuzzy-joined column import)을 수행할 수 있다. 구체적으로, 검색 컴포넌트(304) 및/또는 증강기 컴포넌트(212)는 1) 스프레드시트 내의 선택된 개체들(411), 그리고 2) 선택된 개체들(411)의 적어도 서브세트를 포함하는 검색 컴포넌트(304)에 의해 식별된 소스 테이블의 열 간의 퍼지 결합(fuzzy join)을 수행할 수 있다. 예시적인 실시예에서, 그러한 퍼지 결합은 (선택된 개체들(411) 내의 것이든 또는 소스 테이블 내의 것이든) 개체들의 상이한 구문론적 및 의미론적 표현들에서의 철자 쓰기(spelling) 실수에 대해 강인할(robust) 수 있다. 예를 들면, 의미론적 동의어들이 그러한 동의어 개체들을 제공하는 별개의 디바이스로부터 인출될 수 있다. 검색 컴포넌트(304) 및/또는 증강기 컴포넌트(212)는 또한 퍼지 결합을 수행하는 경우에 이용가능한 구문론적 변환 규칙들을 포함할 수 있다. 이 퍼지 결합은 소스 테이블들 내의 개체들이 선택된 개체들(411)에 적절히 맵핑될 수 있게끔 하고, 따라서 적절한 속성 값들이 선택된 개체들(411)에 맵핑될 수 있게끔 한다.
이제 도 7을 참조하면, 스프레드시트 애플리케이션의 다른 예시적인 그래픽 사용자 인터페이스(700)가 묘사된다. 그래픽 사용자 인터페이스(700)에 도시된 바와 같이, 사용자는 DFD 검색 동안에 인출되었던 열 B로부터 속성 값을 선택한다. 예를 들면, 커서(412)는 "ENTITY 4"에 대한 "VALUE 4"를 포함하는 셀 B5 상에 호버링될 수 있다. 사용자가 셀 위에서 호버링하는 것에 응답하여, 셀 내의 속성 값에 관한 정보가 제시될 수 있다. 예컨대, 커서(412)가 셀 B5 상에서 호버링되는 것에 응답하여 팝업 윈도우(702) 내에 소스 테이블(이로부터 속성 값이 획득되었음)의 아이덴티티가 제시될 수 있다. 또한, 팝업 윈도우(702)는 "VALUE 4"에 대응하는 소스 테이블 내의 개체의 아이덴티티를 디스플레이할 수 있다. 이것은 선택된 개체들(411) 내의 개체가 소스 테이블 내에 상이하게 철자가 쓰였음(spelled)을 나타낼 수 있다. 일례에서, 셀 A5 내의 개체는 "Company"일 수 있으나, 소스 테이블 내의 대응하는 개체는 "CMPNY"로 철자가 쓰일 수 있다. 팝업 윈도우(702) 내의 정보에 기반하여, 클라이언트 컴퓨팅 디바이스(102)의 사용자는 퍼지 결합의 정확성, 개별적인 속성 값들의 정확성, 기타 등등을 검증할 수 있다.
이제 도 8을 참조하면, 스프레드시트 애플리케이션의 예시적인 그래픽 사용자 인터페이스(800)가 디스플레이된다. 그래픽 사용자 인터페이스(800)는 DFD 검색이 수행되는 것에 응답하여 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 제시될 수 있는 데이터의 묘사를 개진한다. 검색 시스템(120)은 그래픽 사용자 인터페이스(800)에서의 제시를 위해 검색 결과들(802)을 반환하고, 디스플레이 컴포넌트(208)는 검색 결과들(802)을 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 디스플레이한다. 앞서 나타내어진 바와 같이, 검색 결과들(802)는 검색 결과들의 순위화된 리스트를 포함할 수 있는데, 검색 결과들은 질의에 관련된 것으로 검색 시스템(120)에 의해 식별된 소스 테이블들을 나타낸다(여기서 질의는 선택된 개체들(411) 및 옵션으로는 사용자에 의해 지정된 적어도 하나의 속성에 기반함).
예를 들면, 검색 결과들(802)은 종래의 웹 검색 결과들과 유사한 방식으로 디스플레이될 수 있는데, 여기서 검색 결과들(802)은 검색 결과들에 의해 각각 나타내어지는 소스 테이블들로의 하이퍼링크들을 포함한다. 하이퍼링크의 선택은, 예컨대 웹 브라우저로 하여금 소스 테이블을 포함하는 웹 페이지를 로드하게 할 수 있다. 다른 예에서, 하이퍼링크의 선택은 프리뷰 생성기 컴포넌트(210)로 하여금 그래픽 사용자 인터페이스(800) 내의 대응하는 검색 결과에 의해 나타내어지는 소스 테이블의 프리뷰를 디스플레이하게 할 수 있다. 도시되지 않았으나, 검색 결과들(802)은 "무한정의" 스크롤하기(scrolling)를 가능하게 하는, 그것과 연관된 스크롤바(scrollbar)를 가질 수 있다. 그러므로, 사용자는 검색 결과들의 새로운 페이지들을 요청하는 것 대신에, 추가적인 검색 결과들을 제공받기 위해 스크롤한다. 예시적인 그래픽 사용자 인터페이스(800)에서, 검색 결과들(802)은 복수의 순위화된 테이블 스니펫(804 내지 810)을 포함할 수 있다. 테이블 스니펫들(804 내지 810)은 검색 시스템(120)에 의해 식별된 소스 테이블들을 각각 요약한다.
이제 도 9를 참조하면, 검색 결과들(802) 내에 포함될 수 있는 예시적인 테이블 스니펫(900)이 보여진다. 테이블 스니펫(900)은 1) 소스 테이블 제목, 2) 테이블 스니펫(900)에 의해 요약되는 소스 테이블의 위치(가령, 테이블이 입수될 수 있는 URL), 3) 테이블 스니펫(900)에 의해 요약되는 소스 테이블 내의 속성 값들을 갖는 속성들(가령, 임계 개수의 가장 인기 있는 속성, 선택된 개체들(411)에 가장 관련 있는 것으로 여겨지는 임계 개수의 속성, 그리고/또는 클라이언트 컴퓨팅 디바이스(102)의 사용자에 의해 제출된 속성들), 4) 개체 포섭범위 데이터(entity coverage data)(여기서 개체 포섭범위 데이터는 테이블 스니펫(900)에 의해 요약되는 소스 테이블 내에 또한 포함된 선택된 개체들(411) 내의 다수의 개체를 나타냄), 그리고 5) 테이블 스니펫(900)에 의해 요약되는 소스 테이블의 샘플 부분(902)(여기서 소스 테이블의 샘플 부분(902)은 검색 시스템(120)이 선택된 개체들(411)에 기반하여 소스 테이블을 식별한 이유에 대한 정보를 클라이언트 컴퓨팅 디바이스(102)의 사용자에게 제공할 수 있는 소스 테이블의 행들 및/또는 열들의 서브세트를 포함함)을 포함할 수 있으나 이를 포함하는 것에 한정되지 않는다. 예를 들면, 선택된 개체들(411) 내의 개체들 및/또는 그러한 개체들에 대한 속성 값들을 포함하는 행들 및/또는 열들이 부분(902) 내에 포함될 수 있다.
소스 테이블의 부분(902) 내의 행들 및/또는 열들은 소스 테이블 그 자체에 비할 때 상이하게 배열될 수 있음이 이해되어야 한다. 즉, 검색 시스템(120)은 클라이언트 컴퓨팅 디바이스(102) 내에 로드된 스프레드시트 내의 개체들의 배열에 대응하는 것으로 나타나도록 테이블 스니펫(900)을 생성할 수 있다. 이에 따라, 클라이언트 컴퓨팅 디바이스(102)의 사용자는 왜 검색 시스템(120)이 스니펫(900)에 의해 요약된 소스 테이블을 반환하였는지 비교적 신속히 시각적으로 확인할 수 있으며, 스니펫에 의해 요약된 소스 테이블 내의 속성 값들로써 스프레드시트(402)를 증강하는 것이 바람직한지를 또한 시각적으로 확인할 수 있다.
예시적인 실시예에서, 테이블 스니펫(900) 내에 열거된 속성들은 선택가능할 수 있다. 속성의 선택의 수신 시에, 테이블 스니펫(900)은 부분(902)이 개체들(가령, 선택된 개체(41) 내에도 포함된, 소스 테이블에 포함된 개체들)에 관한 속성의 값들을 강조하도록(highlight) 갱신될 수 있다. 다른 예에서, 속성의 선택은 질의가 정제되게 하고, 검색 시스템(120)으로 하여금 인덱스(124)에 대한 갱신된 검색을 수행하게 할 수 있다.
나아가 테이블 스니펫(900)에 의해 요약된 소스 테이블의 부분(902)의 각 행 및/또는 열에 대해, 각각의 그래픽 객체(graphical object)가 제시될 수 있는데, 그러한 그래픽 객체의 선택은 증강기 컴포넌트(212)로 하여금 각각의 행 및/또는 열 내의 속성의 값들로써 스프레드시트(402)를 증강하게 할 수 있다. 예컨대, 테이블 스니펫(900) 내에 보여진 소스 테이블의 부분(902)은 다섯 개의 열을 포함한다: 테이블 스니펫(900)에 의해 요약된 소스 테이블 내의 개체들을 나타내는 제1 열, 그리고 개체들의 각각의 속성들을 나타내는 네 개의 열. 네 개의 속성 열들 각각은 각각의 선택가능한 그래픽 객체를 포함할 수 있다. 그러므로, 테이블 스니펫(900)은 네 개의 속성 열들에 대응하는 선택가능한 그래픽 객체들(904 내지 910)을 포함한다. 일례에서, 그래픽 객체(904)의 선택의 수신에 응답하여, 선택된 개체들(411) 내의 개체들의, 속성 "ATTRIBUTE 1"의 속성 값들이 스프레드시트(402) 내에 로드되고 (예컨대, 도 6의 그래픽 사용자 인터페이스(600)에 도시된 바와 같이) 선택된 개체들(411)과 관련하여 그래픽적으로 묘사될 수 있다. 즉, 스프레드시트(402)의 열이 "ATTRIBUTE 1"에 대한 속성 열로 새로 채워질 수 있는데, 그 열은 속성 값들로써 채워진다.
테이블 스니펫(900)은, 선택되는 경우에, 테이블 스니펫(900)에 의해 요약된 소스 테이블 전체가 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 (가령, 스프레드시트 애플리케이션 내에, 웹 브라우저 내에, 워드 프로세싱 문서 내에, 기타 등등) 제시되게 할 수 있는 확장 버튼(expand button)(912)을 또한 포함할 수 있다. 예컨대, 소스 테이블은 스프레드시트 애플리케이션의 새로운 스프레드시트 내에 로드될 수 있다. 다른 예에서, 검색 결과들(802)은 테이블 스니펫(900)에 의해 요약된 테이블과 대체될 수 있다. 또한, 도시되지 않았으나, 테이블 스니펫(900)은 검색 시스템(120)으로 하여금 테이블 스니펫(900)에 의해 요약된 소스 테이블과 유사한 소스 테이블들을 식별하게 하도록 구성된 검색 버튼을 포함할 수 있다. 이후 검색 시스템(120)은 테이블 스니펫(900)에 의해 요약된 소스 테이블에 기반(하고 옵션으로는, 선택된 개체들(411) 및 클라이언트 컴퓨팅 디바이스(102)의 사용자에 의해 개진된 속성에 또한 기반)하는 검색 결과들을 제공할 수 있다.
더욱이, 도시되지 않았으나, 테이블 스니펫(900)은 히트 강조표시(hit highlighting)를 지원할 수 있다. 더욱 상세하게는, 테이블 스니펫(900)에 의해 나타내어진 테이블이 질의에 기반하여 인출되는데, 질의는 키워드(keyword)(들)를 포함한다. 키워드는, 테이블 스니펫(900)에 포함되는 경우에, 테이블 스니펫(900)에 의해 나타내어진 테이블 내에 키워드가 발생함을 나타내도록 강조될 수 있다. 그 위치는 스니펫(900)에 포함된 테이블의 제목, URL, 서브세트 등등 내에 있을 수 있다.
이제 도 10을 참조하면, 데이터 탐색 데이터 검색의 수행을 가능하게 하는 다른 예시적인 그래픽 사용자 인터페이스(1000)이다. 예시적인 그래픽 사용자 인터페이스(1000)는 스프레드시트 애플리케이션이 아닌, 클라이언트 컴퓨팅 디바이스(102)에 의해 실행되는 애플리케이션에 의해 제시될 수 있다. 예컨대, 그래픽 사용자 인터페이스(1000)는 워드 프로세싱 애플리케이션, 텍스트 편집 애플리케이션(text editing application), 이메일 애플리케이션, 소셜 네트워킹 애플리케이션, 인스턴트 메시징 애플리케이션, 뉴스 애플리케이션, 슬라이드 프리젠테이션 애플리케이션(slide presentation application), 또는 페이지 상에 콘텐트를 제시할 수 있는 다른 적합한 애플리케이션을 위한 것일 수 있다. 나타내어진 바와 같이, 페이지 상의 콘텐트는 여러 개체들(1001)(가령, 구분자(delimiter)들에 의해 분리됨)을 포함한다. 콘텐트 페이지의 콘텐트의 개체들(1001)(가령, 개체 1 내지 개체 6)을 선택하기 위해 임의의 적합한 선택 메커니즘이 이용될 수 있다. 예컨대, 클라이언트 컴퓨팅 디바이스(102)의 사용자는 커서(412)의 활용을 통해 개체들(1001)을 강조할 수 있다. 다른 예에서, 사용자는 음성 명령, 제스처, 또는 유사한 것에 의해서 개체들(1001)을 선택할 수 있다. 이후 사용자는 선택된 개체들(1001)(그리고 옵션으로는, 제공된 속성)에 기반하여 데이터 탐색 데이터 검색이 이용될 것이라는 표시를 개진할 수 있다. 역시, 예를 들면, 팝업 윈도우(1002)가 클라이언트 컴퓨팅 디바이스(102)의 디스플레이 상에 제시되게 하는, 선택된 개체들(1001)에 대한 우측 클릭하기에 의해 이 표시는 수신될 수 있다.
팝업 윈도우(1002) 내의 옵션들 중 하나는 선택된 개체들(1001)에 기반하여 DFD 검색을 수행하는 것일 수 있고, 그러한 옵션은 임의의 적합한 선택 메커니즘에 의해서 선택될 수 있다. 선택된 개체들(1001)(또는 선택된 개체들(1001)에 기반하여 구성된 질의)은 이후 검색 시스템(120)에 송신될 수 있는데, 이는 전술된 것과 유사한 방식으로 검색 결과들, 속성 값들, 기타 등등을 반환할 수 있다. 예시적인 실시예에서, 검색 시스템(120)은 새로운 페이지가 구성되게 할 수 있으며(가령, 웹 페이지, 워드 문서 등등) 새로운 페이지가 클라이언트 컴퓨팅 디바이스(102)에 송신되게 할 수 있는데, 결과적인 페이지는 선택된 개체들(1001) 및 사용자 및/또는 검색 시스템(120)에 의해 식별된 대응하는 속성 값들을 포함하는 테이블을 포함한다. 다른 예에서, 검색 시스템(120)으로부터의 선택된 개체들(1001)에 대한 속성 값들의 수신에 응답하여, 스프레드시트 애플리케이션이 클라이언트 컴퓨팅 디바이스(102)에서 개시되고 선택된 개체들(1001) 및 그에 대응하는 속성 값들로써 채워질 수 있다. 그러한 실시예에서, 사용자는 웹 페이지 상의 흥미 있는 테이블을 식별할 수 있으며, 흥미 있는 테이블 내의 개체들을 선택하고, 선택된 개체들(그리고 옵션으로 속성)을 사용하는 DFD 검색의 수행을 개시하며, 테이블로 하여금 DFD 검색에 기반하여 스프레드시트 애플리케이션 내에 자동으로 생성되게 할 수 있다(여기서 그 테이블은 사용자에 의해 선택된 개체들 및 검색 시스템(120)에 의해 식별되고 사용자에 의해 승인된 다른 테이블로부터의 속성 값들을 포함함).
이제 도 11을 참조하면, 다른 예시적인 그래픽 사용자 인터페이스(1100)가 묘사된다. 그래픽 사용자 인터페이스(1100)는 검색 엔진의 그래픽 사용자 인터페이스(가령, 검색 엔진의 특정한 버티컬(vertical))일 수 있다. 예컨대, 검색 엔진은 그래픽 사용자 인터페이스(1100) 내의 선택가능한 그래픽 객체들에 의해 나타내어질 수 있는 복수의 버티컬들을 포함할 수 있다. 예시적인 버티컬들은 선택가능한 객체들(1102 내지 1110)에 의해 나타내어지는 "WEB", "IMAGES", "VIDEOS", "NEWS" 및 "TABLES"일 수 있다. "WEB" 버티컬은 종래의 웹 검색의 수행을 가능하게 하고, "IMAGES" 버티컬은 이미지를 찾기 위한 검색의 수행을 가능하게 하며, "VIDEOS" 버티컬은 비디오를 찾기 위한 검색의 수행을 가능하게 하고, 기타 등등이다.
예시적인 그래픽 사용자 인터페이스(1100)에서, 사용자는 커서(412)로써 그래픽 객체(1110)를 선택하였는바, "TABLES" 버티컬이 선택되었다. "TABLES" 버티컬은 채워질 수 있는 적어도 두 개의 필드를 포함할 수 있다: 1) 사용자에 의해 지정된 개체 또는 개체들을 수신하도록 구성된 제1 필드(1112), 그리고 2) 제1 필드(112) 내에 입력된 개체 또는 개체들의 속성 또는 속성들을 수신하도록 구성된 제2 필드(1114). 나타내어진 바와 같이, 사용자는 구분자(가령, 세미콜론 또는 다른 적합한 구분자)에 의해 분리된 다수의 개체를 필드(1112) 내에 입력할 수 있다. 마찬가지로, 사용자는 구분자에 분리된 다수의 속성을 필드(1114) 내에 개진할 수 있다. 그래픽 사용자 인터페이스(1110) 내의 검색 버튼(1116)이 이후 선택될 수 있는데, 이는 송신기 컴포넌트(204)로 하여금 각각 필드(1112 및 1114) 내의 개체 및 속성을 검색 시스템(120)에 송신하게 (하거나 개체 증강기 시스템(114)으로 하여금 개체 및 속성에 기반하여 질의를 구성하고 질의를 검색 시스템(120)에 송신하게) 한다. 검색 시스템(120)은 전술된 방식으로 DFD 검색을 수행할 수 있다.
검색 시스템(120)은 이후 검색 결과를 반환할 수 있는데, 이는 검색 결과 필드(1118) 내에 디스플레이될 수 있다. 필드(1118) 내에 보여지는 검색 결과는 필드(1112) 내에 개진된 적어도 하나의 개체 및 필드(1114) 내에 개진된 속성의 적어도 하나의 값을 포함하는 것으로 식별된 소스 테이블의 부분일 수 있다. 다른 예에서, 검색 결과 필드(1118) 내의 검색 결과는 사용자에 의해 비교적 신속히 쓰일 수 있는 최종 결과를 형성하도록 함께 결합되는 다수의 테이블로부터 추출된 데이터를 포함할 수 있다. 예컨대, 제1 소스 테이블은 필드(1112) 내에 지정된 제1 개체를 포함하고 필드(1114) 내에 지정된 속성에 대한 속성 값을 가질 수 있는 반면, 제2 소스 테이블은 필드(1112) 내에 지정된 제2 개체 및 필드(1114) 내에 지정된 속성에 대한 값을 포함할 수 있다. 검색 시스템(120)은 제1 소스 테이블 및 제2 소스 테이블을 식별하고, 두 소스 테이블 각각으로부터 적절한 개체를 선택하며, 제1 소스 테이블 및 제2 소스 테이블의 조합에 기반하는 검색 결과를 생성할 수 있다. 사용자의 정보 필요는 검색 결과에 포함된 조합에 의해 충족된다.
이제 도 12를 참조하면, DFD 검색의 수행을 가능하게 하는 다른 예시적인 그래픽 사용자 인터페이스(1200)가 보여진다. 그래픽 사용자 인터페이스(1200)는 복수의 선택가능한 객체(1204 내지 1206)를 포함할 수 있는 제1 부분(1202)을 포함한다. 예컨대, 그러한 객체들(1204 내지 1206)은 웹 페이지 상에 포함될 수 있는데, 객체들(1204 내지 1206)은 구입가능한 항목들을 나타낼 수 있다. 사용자는 객체들(1204 내지 1206)을 스크롤하고, 적합한 선택 메커니즘에 의해서 객체 또는 객체들을 선택하며, 선택된 객체(들)를 작업공간 필드(workspace field)(1208)에 드래그할 수 있다. 예시적인 그래픽 사용자 인터페이스(1200)에서, 사용자는 객체(1204)에다가, 세 개의 추가적인 객체들(1210 내지 1214)도 선택하였다. 작업공간 필드(1208)는, 사용자에 의해 선택되는 경우, 송신기 컴포넌트(204)로 하여금 작업공간 필드(1208) 내의 개체들을, 전술한 바와 같이, 그 개체들에 기반하여 인덱스(124)에 대한 검색을 실행하는 검색 시스템(120)에 송신하게 하는 검색 버튼(1216)을 포함할 수 있다. 검색 결과는 작업공간 필드(1208) 내에 또는 다른 콘텐트 페이지 상에 제시될 수 있다.
도 4 내지 도 12 내에 묘사된 그래픽 사용자 인터페이스는 다양한 예를 제공하나, 많은 변형이 고려된다는 점이 이해되어야 한다. 예컨대, 그래픽 사용자 인터페이스(1100)는 DFD의 수행을 개시하기 위한 두 개의 필드를 묘사하나, DFD 검색은 단일 필드(가령, 질의 필드(406), 필드(1112) 등등)의 활용을 통해 개시될 수 있음이 이해되어야 한다. 그러한 예에서, 키워드 질의가 단일 필드 내에 입력될 수 있고, 검색 시스템(120)은 키워드 질의에 기반하여 테이블들의 순위화된 리스트를 반환할 수 있다. 필드 내에 개진된 질의는 묵시적 구조(implicit structure)를 포함할 수 있고, 검색 시스템(120)이 최적화된 질의의 어떤 클래스가 있을 수 있다. 예컨대, 예시적인 구조들은 순전한 키워드 질의(pure keyword query), 개체 전용 질의(entity only query), 다수 개체 질의(multiple entity query), 개념 질의(concept query), 개체-속성 질의(entity-attribute query) 및 유사한 것을 포함한다.
또한, 도 7에 묘사된 그래픽 사용자 인터페이스(700)는 셀을 선택할 때에 제시될 수 있는 데이터를 보여주나, 사용자는 특정한 열에 대한 정보를 획득하기를 바랄 수 있음이 이해되어야 한다. 예를 들면, 커서(412)는 그래픽 사용자 인터페이스(700) 내의 "B" 열 위에서 호버링하는 데 이용될 수 있는데, 이것은 팝업 윈도우(702)로 하여금 열 동의어들과 같은, 그 열에 관한 메타데이터를 제시하게 할 수 있다. 그러한 동의어들은 인덱스(124) 내에 인덱싱된 소스 테이블들 내에 존재할 수 있다.
또 다른 예에서, 예시적인 테이블 스니펫(900)은 그래픽 객체들(904 내지 910)을 포함하는 것으로 기술되었는데, 여기서 그래픽 객체들(904 내지 910) 중 하나가 선택되는 경우, 선택된 객체의 열 내의 속성 값들은 로드된 스프레드시트 내의 테이블에 부가된다. 그러나, 다른 예에서는, 데이터를 부가하는 드래그 앤 드롭 접근법(drag-and-drop approach)이 고려되는데, 여기서 사용자는 테이블 스니펫(900) 내의 특정한 열 또는 셀 값들을 선택하고, 그 열 또는 셀 값들을 스프레드시트 애플리케이션에 의해 로드된 스프레드시트(402) 내에 원하는 위치에 드래그하며, 원하는 포지션(들)에서 그 열 또는 셀 값들을 드롭한다. 속성 값들의 드래그 앤 드롭이 수행되는 경우, 속성 값들은 적절한 개체들에 대응하도록 자동으로 배열될 수 있다.
또한, 검색 시스템(120)이 속성들의 순위화된 리스트를 반환하는 실시예가 본 문서에 기술되었다. 다른 예에서, 리스트 형태로 속성들을 제공받는 것 대신에, 디스플레이 컴포넌트(208)는 선택된 개체들(411)에 대한 속성들의 태그 클라우드(tag cloud)를 디스플레이할 수 있는데, 개체들(411)에 대한 속성들(또는 속성들로부터의 키워드들)은 태그 클라우드 내에 포함된다. 태그 클라우드 내의 속성들은 (엔티티-속성 질의의 경우) 속성 명칭들로부터의 키워드들 및/또는 속성 명칭을 포함하는 식별된 소스 테이블의 개수에 비례하여 크기가 조정될 수 있다. 다른 예들이 곧 인식될 것이다.
도 13 내지 도 17은 DFD 검색에 관한 예시적인 방법론을 보여준다. 방법론들은 한 시퀀스(sequence)로 수행되는 일련의 행위인 것으로 도시되고 기술되나, 방법론들은 그 시퀀스의 순서에 의해 한정되지 않음이 이해되고 인식되어야 한다. 예컨대, 몇몇 행위는 본 문서에 기술된 것과는 상이한 순서로 일어날 수 있다. 추가로, 한 행위는 다른 행위와 동시적으로 일어날 수 있다. 또한, 몇몇 사례에서, 모든 행위가 본 문서에 기술된 방법론을 구현하는 데 요구되지는 않을 수 있다.
더욱이, 본 문서에 기술된 행위는 하나 이상의 프로세서에 의해 구현되고/되거나 컴퓨터 판독가능 매체 또는 매체들 상에 저장될 수 있는 컴퓨터 실행가능 명령어(computer-executable instructions)일 수 있다. 컴퓨터 실행가능 명령어는 루틴, 서브루틴, 프로그램, 실행의 쓰레드 및/또는 유사한 것을 포함할 수 있다. 또 나아가, 방법론의 행위의 결과는 컴퓨터 판독가능 매체 내에 저장되는 것, 디스플레이 디바이스 상에 디스플레이되는 것, 그리고/또는 유사한 것일 수 있다.
이제 도 13을 참조하면, DFD 검색의 수행을 가능하게 하는 예시적인 방법론(1300)이 보여진다. 방법론(1300)은 1302에서 시작하고, 1304에서 컴퓨터 판독가능 개체들이 수신되는데, 컴퓨터 판독가능 개체들은 공통 속성을 가진다. 일례에서, 컴퓨터 판독가능 개체들은 적합한 선택 메커니즘에 의해서 사용자가 개체들을 선택하는 것에 응답하여 수신될 수 있다. 1306에서, 개체들을 수신하는 것에 응답하여, 개체들은 검색 시스템에 송신된다. 앞서 나타내어진 바와 같이, 검색 시스템은 소스 테이블들을 인덱싱하는 인덱스에 대해서 검색하도록 구성되는데, 검색은 개체들에 기반한다.
1308에서, 공통 속성의 값들이 검색 시스템으로부터 수신되는데, 그 값들은 수신된 개체들에 각각 대응한다. 1310에서, 공통 속성의 값들을 수신하는 것에 응답하여, 공통 속성의 값들은 출력된다. 예컨대, 공통 속성의 값들은 검색 결과의 일부분으로서 제시될 수 있다. 다른 예에서, 공통 속성의 값들은 개체들을 포함하는 테이블에 부가될 수 있는데, 속성의 값들은 개체들에 각각 적절히 대응하도록 테이블 내에 배열된다. 방법론(1300)은 1312에서 완료한다.
이제 도 14를 참조하면, DFD 검색에 기반하여 인출되는 속성 값들로써 테이블형 데이터를 증강하는 것을 가능하게 하는 예시적인 방법론(1400)이 보여진다. 방법론(1400)은 1402에서 시작하고, 1404에서 복수의 컴퓨터 판독가능 개체들이 수신되는데, 개체들은 속성을 공유한다. 1406에서, 개체들을 수신하는 것에 응답하여, 개체들은 검색 시스템에 송신되는데, 검색 시스템은 컴퓨터 판독가능 소스 테이블들의 인덱스에 대해서 검색하도록 구성된다. 1408에서, 복수의 테이블 스니펫들이 검색 시스템으로부터 수신되는데, 테이블 스니펫들은 검색 시스템에 의해 식별된 소스 테이블들의 각각의 요약들이다. 1410에서, 복수의 테이블 스니펫들은 디스플레이 상에 디스플레이된다. 1412에서, 복수의 테이블 스니펫들로부터의 테이블 스니펫의 선택이 수신되고, 1414에서 개체들은 속성의 값들로써 증강되는데(향상되는데(enriched)), 그 값들은 테이블 스니펫에 의해 요약된 소스 테이블로부터 추출되고 1412에서의 테이블 스니펫의 선택에 기반하여 인출된다. 방법론(1400)은 1416에서 완료한다.
이제 도 15를 참조하면, 속성들의 순서화된 리스트(또는 속성들의 태그 클라우드) 내의 속성의 선택에 기반하여 속성 값들로써 개체들을 증강하는 것을 가능하게 하는 예시적인 방법론(1500)이 보여진다. 방법론(1500)은 1502에서 시작하고, 1504에서 개체들이 수신되는데, 그 개체들은 공통 속성을 가진다. 1506에서, 개체들을 수신하는 것에 응답하여, 개체들은 컴퓨터 판독가능 테이블들의 인덱스에 대해서 검색하도록 구성된 검색 시스템에 송신된다. 1508에서, 속성들이 검색 시스템으로부터 수신되는데, 그 속성들은 1504에서 수신된 개체들에 관한 것으로 식별된 것이다. 일례에서, 속성들은 속성들의 순위화된 리스트, 속성들의 태그 클라우드, 기타 등등으로서, 수신될 수 있다. 예컨대, 속성들은 1504에서 수신된 개체들을 포함하는 소스 테이블들(인덱스에 의해 인덱싱됨) 내에 가장 흔히 발생하는 속성들일 수 있다.
1510에서, 속성들을 수신하는 것에 응답하여, 속성들이 출력된다. 1512에서, 속성의 선택이 수신되고(가령, 사용자는 관심 있는 속성을 선택함), 1514에서, 속성의 선택을 수신하는 것에 응답하여, 개체들은 속성의 각각의 값들로써 증강된다. 더욱 상세하게는, 속성의 선택은 속성으로 하여금 인덱스에 의해 인덱싱된 소스 테이블들 내에서 속성 값들의 위치를 파악하는 데 속성 및 수신된 개체들을 활용하는 검색 시스템에 송신되게 할 수 있다. 이후 속성 값들은 반환되어 사용자에 의해 확정될 수 있고, 테이블형 데이터는 속성 값들로써 증강될 수 있다. 방법론(1500)은 1516에서 완료한다.
이제 도 16을 참조하면, 테이블 스니펫들의 동적 생성을 가능하게 하는 예시적인 방법론(1600)이 보여진다. 방법론(1600)은 1602에서 시작하고, 1604에서 컴퓨터 판독가능 개체들이 수신된다. 1606에서, 컴퓨터 판독가능 개체들을 수신하는 것에 응답하여, 컴퓨터 판독가능 소스 테이블들을 찾기 위한 검색이 개체들에 기반하여 실행된다. 즉, 개체들(또는 그것의 동의어들)을 포함하는 소스 테이블들의 위치가 파악된다. 나아가, 검색은 식별된 속성에 기반하여 실행될 수 있다. 1608에서, 테이블들의 순위화된 리스트가 검색에 기반하여 생성되고, 1610에서 테이블들의 순위화된 리스트 내의 각각의 테이블들에 대한 테이블 스니펫들이 생성된다. 1612에서, 테이블 스니펫들은 출력된다. 예컨대, 테이블 스니펫들은 스프레드시트 애플리케이션의 그래픽 사용자 인터페이스 내에 디스플레이될 수 있다. 방법론(1600)은 1614에서 완료한다.
이제 도 16을 참조하면, 속성들의 순위화된 리스트의 생성을 가능하게 하는 예시적인 방법론(1700)이 보여진다. 방법론(1700)은 1702에서 시작하고, 1704에서 컴퓨터 판독가능 개체들이 수신된다. 1706에서, 개체들을 수신하는 것에 응답하여, 개체들을 포함하는 컴퓨터 판독가능 테이블들을 찾기 위한 검색이 실행된다. 1708에서, 개체들에 관련된 속성들의 순위화된 리스트가 검색에 기반하여 생성된다. 1710에서, 속성들의 순위화된 리스트는 출력된다(가령, 클라이언트 컴퓨팅 디바이스에 송신됨). 1712에서, 속성들의 순위화된 리스트로부터의 속성의 선택이 수신되고, 1714에서 속성의 선택의 수신에 응답하여 각각의 개체들에 대한 속성의 값들이 출력된다. 방법론(1700)은 1716에서 완료한다.
이제 도 18을 참조하면, 본 문서에 개시된 시스템 및 방법론에 따라 사용될 수 있는 예시적인 컴퓨팅 디바이스(1800)의 고수준 예시가 보여진다. 예를 들면, 컴퓨팅 디바이스(1800)는 DFS 검색을 수행하는 경우의 사용을 위해 컴퓨터 판독가능 개체들 및/또는 속성들의 선택을 가능하게 하는 시스템 내에서 사용될 수 있다. 다른 예로서, 컴퓨팅 디바이스(1800)는 식별된 개체들 및 속성들에 기반하여 검색을 수행하는 것을 지원하는 시스템 내에서 사용될 수 있다. 컴퓨팅 디바이스(1800)는 메모리(memory)(1804) 내에 저장된 명령어를 실행하는 적어도 하나의 프로세서(processor)(1802)를 포함한다. 명령어는 예컨대 전술된 하나 이상의 컴포넌트에 의해 실행되는 것으로 기술된 기능을 구현하기 위한 명령어 또는 전술된 방법들 중 하나 이상을 구현하기 위한 명령어일 수 있다. 프로세서(1802)는 시스템 버스(system bus)(1806)를 거쳐서 메모리(1804)를 액세스할 수 있다. 실행가능 명령어를 저장하는 것에 더하여, 메모리(1804)는 또한 테이블형 데이터, 컴퓨터 판독가능 개체들, 속성 명칭들, 소스 테이블들의 인덱스 등등을 저장할 수 있다.
컴퓨팅 디바이스(1800)는 시스템 버스(1806)를 거쳐서 프로세서(1802)에 의해 액세스가능한 데이터 스토어(data store)(1808)를 추가적으로 포함한다. 데이터 스토어(1808)는 실행가능 명령어, 소스 테이블들, 소스 테이블들의 인덱스, 컴퓨터 판독가능 개체들 등등을 포함할 수 있다. 컴퓨팅 디바이스(1800)는 또한 외부 디바이스가 컴퓨팅 디바이스(1800)와 통신할 수 있게 하는 입력 인터페이스(input interface)(1810)를 포함한다. 예를 들면, 입력 인터페이스(1810)는 외부 컴퓨터 디바이스, 사용자 등등으로부터 명령어를 수신하는 데 사용될 수 있다. 컴퓨팅 디바이스(1800)는 또한 컴퓨팅 디바이스(1800)를 하나 이상의 외부 디바이스와 인터페이스하는 출력 인터페이스(output interface)(1812)를 포함한다. 예컨대, 컴퓨팅 디바이스(1800)는 출력 인터페이스(1812)에 의해서 텍스트, 이미지 등등을 디스플레이할 수 있다.
입력 인터페이스(1810) 및 출력 인터페이스(1812)를 통하여 컴퓨팅 디바이스(1800)와 통신하는 외부 디바이스는 실질적으로 임의의 유형의 사용자 인터페이스(사용자가 이와 상호작용할 수 있음)를 제공하는 환경 내에 포함될 수 있다는 점이 고려된다. 사용자 인터페이스 유형의 예는 그래픽 사용자 인터페이스, 자연적 사용자 인터페이스 등등을 포함한다. 예를 들면, 그래픽 사용자 인터페이스는 키보드, 마우스, 리모트 컨트롤, 또는 유사한 것과 같은 입력 디바이스(들)를 이용하는 사용자로부터 입력을 받고 디스플레이와 같은 출력 디바이스 상에 출력을 제공할 수 있다. 또한, 자연적 사용자 인터페이스는 사용자가 키보드, 마우스, 리모트 컨트롤 및 유사한 것과 같은 입력 디바이스에 의해 부과되는 제한사항이 없는 방식으로 컴퓨팅 디바이스(1800)와 상호작용하는 것이 가능하게 할 수 있다. 오히려, 자연적 사용자 인터페이스는 발화 인식(speech recognition), 터치 및 스타일러스 인식, 스크린 상에서의 제스처 인식 및 스크린에 인접한 제스처 인식 양자 모두, 에어 제스처(air gesture), 머리 및 눈 추적(head and eye tracking), 음성 및 발화, 비전(vision), 터치, 제스처, 머신 인텔리전스(machine intelligence) 등등에 의존할 수 있다.
추가적으로, 단일 시스템으로서 보여지나, 컴퓨팅 디바이스(1800)는 분산 시스템(distributed system)일 수 있음이 이해되어야 한다. 그러므로, 예를 들면, 여러 디바이스가 네트워크 연결에 의해서 통신할 수 있으며 컴퓨팅 디바이스(1800)에 의해 수행되는 것으로 기술된 작업들을 집합적으로 수행할 수 있다.
본 문서에 서술된 다양한 기능은 하드웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 만약 소프트웨어로 구현되는 경우, 기능은 컴퓨터 판독가능 매체 상의 하나 이상의 명령어 또는 코드로서 전해지거나 저장될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 저장 매체일 수 있다. 한정이 아니라 예로서, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학적 디스크 스토리지(optical disk storage), 자기적 디스크 스토리지(magnetic disk storage) 또는 다른 자기적 저장 디바이스, 또는 원하는 프로그램 코드를 명령어 또는 데이터 구조의 형태로 전달하거나 저장하는 데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 본 문서에 의해 사용되는 바와 같은 디스크(disk) 또는 디스크(disc)는 콤팩트 디스크(Compact Disc: CD), 레이저 디스크(laser disc), 광학적 디스크(optical disc), 디지털 다기능 디스크(Digital Versatile Disc: DVD), 플로피 디스크(floppy disk) 및 블루레이 디스크(Blu-ray Disc: BD)를 포함하는데, 디스크(disk)는 통상 자기적으로 데이터를 재현하고 디스크(disc)는 통상 레이저로써 광학적으로 데이터를 재현한다. 또한, 전파되는 신호(propagated signal)는 컴퓨터 판독가능 저장 매체의 범주 내에 포함되지 않는다. 컴퓨터 판독가능 매체는 또한 한 장소에서 다른 장소로의 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체를 포함한다. 예를 들면, 연결(connection)은 통신 매체일 수 있다. 예컨대, 만약 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블(coaxial cable), 광섬유 케이블(fiber optic cable), 꼬임쌍선(twisted pair), 디지털 가입자 회선(Digital Subscriber Line: DSL), 또는 적외선(infrared), 전파(radio) 및 마이크로파(microwave)와 같은 무선 기술을 사용하여 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 전파 및 마이크로파와 같은 무선 기술은 통신 매체의 정의 내에 포함된다. 위의 것들의 조합이 또한 컴퓨터 판독가능 매체의 범주 내에 포함되어야 한다.
대안적으로, 또는 추가로, 본 문서에 기능적으로 기술된 것은, 적어도 부분적으로는, 하나 이상의 하드웨어 로직 컴포넌트(hardware logic component)에 의해 수행될 수 있다. 한정하지 않고 예컨대, 사용될 수 있는 하드웨어 로직 컴포넌트의 예시적 유형은 필드 프로그램가능 게이트 어레이(Field-Programmable Gate Array: FPGA), 프로그램 특정 집적 회로(Program-Specific Integrated Circuit: ASIC), 프로그램 특정 표준 제품(Program-Specific Standard Product: ASSP), 시스템 온 칩 시스템(System-On-a-Chip system: SOC), 복합 프로그램가능 로직 디바이스(Complex Programmable Logic Device: CPLD) 등등을 포함한다.
전술된 것은 하나 이상의 실시예의 예를 포함한다. 물론, 앞서 언급된 양상을 서술하기 위한 목적으로 위 디바이스 또는 방법론의 모든 착상가능한 수정 및 변경을 서술하는 것이 가능하지 않지만, 통상의 기술자는 다양한 양상들의 많은 추가적 수정들과 순열(permutation)들이 가능함을 인식할 수 있다. 이에 따라, 기술된 양상은 부기된 청구항의 사상 및 범주 내에 속하는 모든 그러한 변경, 수정 및 변형을 포괄하도록 의도된다. 나아가, "포함한다"라는 용어가 상세한 설명에서든 또는 청구항에서든 사용되는 한, 그러한 용어는 "포함하는"(comprising)이 청구항 내의 전환어(transitional word)로서 이용되는 경우 해석되는 것과 같이 "포함하는"이라는 용어와 유사한 방식으로 포괄적이도록 의도된다.

Claims (15)

  1. 컴퓨팅 시스템으로서,
    프로세서와,
    상기 프로세서에 의해 실행되는 스프레드시트 애플리케이션(spreadsheet application)을 포함하는 메모리를 포함하되, 상기 스프레드시트 애플리케이션은 상기 프로세서에 의해 실행되는 경우 상기 프로세서로 하여금
    상기 컴퓨팅 시스템의 디스플레이 상에, 스프레드시트 애플리케이션의 그래픽 사용자 인터페이스 내의 스프레드시트를 디스플레이하는 것 - 상기 스프레드시트는 테이블을 포함하고, 상기 테이블은 개체들을 포함하는 열(column)을 포함하고, 개체는 사람, 장소 또는 사물을 나타내는 스트링(string)이고, 상기 열에서 상기 개체들에 의해 각각 나타내어진 사람들, 장소들 또는 사물들은 속성을 가짐 - 과,
    상기 스프레드시트 애플리케이션의 상기 그래픽 사용자 인터페이스를 통해 상기 테이블 내의 개체를 사용자가 선택했다는 표시를 수신하는 것과,
    상기 사용자가 상기 열로부터의 상기 선택된 개체에 기초하여 검색을 수행할 것을 요청했다는 표시를 수신하는 것과,
    상기 선택된 개체를 서버 컴퓨팅 디바이스로 송신하는 것 - 상기 서버 컴퓨팅 디바이스는 명령어로 프로그래밍되며, 상기 명령어는 상기 서버 컴퓨팅 디바이스에 의해 실행되는 경우 상기 서버 컴퓨팅 디바이스로 하여금 상기 선택된 개체에 기초하여 소스 테이블의 인덱스(index)에 대해서 검색하도록 함 - 과,
    상기 서버 컴퓨팅 디바이스로 상기 선택된 개체를 송신하는 것에 응답하여, 상기 서버 컴퓨팅 디바이스로부터 상기 속성에 대한 속성 값을 수신하는 것 - 상기 속성 값은 컴퓨터 판독가능한 상기 개체들의 속성에 대한 값임 - 과,
    상기 속성에 대한 속성 값을 수신하는 것에 응답하여, 상기 스프레드시트 애플리케이션의 상기 그래픽 사용자 인터페이스 내의 상기 스프레드시트가 다른 열을 포함하도록 업데이트되는 것 - 상기 다른 열은 상기 선택된 개체에 대응하도록 상기 속성 값이 디스플레이되도록 상기 속성 값으로 채워짐 -
    을 포함하는 동작들을 수행하도록 하는
    컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 컴퓨팅 시스템은 휴대폰 또는 태블릿 컴퓨팅 디바이스 중 하나인
    컴퓨팅 시스템.
  3. 제1항에 있어서,
    상기 동작들은,
    상기 서버 컴퓨팅 디바이스로부터 상기 속성 값을 수신하는 것 이전에, 상기 서버 컴퓨팅 디바이스로부터 테이블 스니펫들을 수신하는 것 - 상기 테이블 스니펫들은 상기 서버 컴퓨팅 디바이스에 의해 상기 선택된 개체에 관련된 것으로서 식별된 각자의 소스 테이블들을 요약함 - 과,
    상기 테이블 스니펫들을 수신하는 것에 응답하여 상기 스프레드시트 애플리케이션의 상기 그래픽 사용자 인터페이스에 상기 테이블 스니펫들을 디스플레이하는 것
    을 더 포함하는
    컴퓨팅 시스템.
  4. 제3항에 있어서,
    상기 동작들은,
    상기 테이블 스니펫들 내의 테이블 스니펫의 선택을 수신하는 것을 더 포함하되, 상기 속성 값은 상기 테이블 스니펫에 의해 요약된 소스 테이블에 포함되고, 상기 그래픽 사용자 인터페이스 내의 상기 스프레드시트는 상기 테이블 스니펫의 상기 선택의 수신에 응답하여 상기 다른 열을 포함하도록 업데이트되는
    컴퓨팅 시스템.
  5. 제4항에 있어서,
    상기 테이블 스니펫은 상기 테이블 스니펫에 의해 요약된 상기 소스 테이블의 제목, 상기 소스 테이블의 네트워크 위치를 식별하는 데이터, 및 상기 소스 테이블의 샘플 부분을 포함하고,
    질의 내의 키워드는, 상기 키워드가 상기 테이블 스니펫에서 발생하는 경우에, 상기 테이블 스니펫에서 상기 소스 테이블이 강조된 것을 찾는데 사용되는
    컴퓨팅 시스템.
  6. 제4항에 있어서,
    상기 동작들은,
    테이블 스니펫 내에 나타내어지는 열이 상기 테이블 스니펫들 중에서 선택되었음을 나타내는 표시를 수신하는 것을 더 포함하되, 상기 스프레드시트 애플리케이션의 상기 그래픽 사용자 인터페이스 내의 상기 스프레드시트가 다른 열을 포함하도록 업데이트하는 것은 상기 테이블 스니펫 내에 나타내어지는 열의 내용을 상기 다른 열에 추가하는 것을 포함하는
    컴퓨팅 시스템.
  7. 제1항에 있어서,
    상기 동작들은,
    상기 속성의 선택을 수신하는 것과,
    상기 개체들과 함께 상기 서버 컴퓨팅 디바이스에 상기 속성의 아이덴티티(identity)를 송신하는 것
    을 더 포함하는
    컴퓨팅 시스템.
  8. 제1항에 있어서,
    상기 스프레드시트 애플리케이션의 상기 업데이트된 그래픽 사용자 인터페이스에서 상기 열과 상기 다른 열은 인접하는
    컴퓨팅 시스템.
  9. 제1항에 있어서,
    상기 동작들은,
    상기 테이블 내의 개체를 사용자가 선택했다는 표시를 수신하는 것에 응답하여, 상기 스프레드시트 애플리케이션의 상기 그래픽 사용자 인터페이스 내에 팝업 윈도우를 디스플레이하는 것을 더 포함하고, 상기 팝업 윈도우는 상기 속성 값을 검색하기 위한 선택 가능한 옵션을 포함하고, 상기 사용자가 검색을 수행할 것을 요청했다는 표시를 수신하는 것은 상기 선택 가능한 옵션의 선택의 수신하는 것인
    컴퓨팅 시스템.
  10. 클라이언트 컴퓨팅 디바이스에서 실행되는 방법으로서,
    상기 클라이언트 컴퓨팅 디바이스의 디스플레이 상에, 스프레드시트 애플리케이션의 그래픽 사용자 인터페이스 내의 테이블을 디스플레이하는 단계 - 상기 테이블은 개체들을 포함하는 열을 포함하고, 개체는 사람, 장소 또는 사물을 나타내는 스트링이고, 상기 열에서 상기 개체들에 의해 각각 나타내어진 사람들, 장소들 또는 사물들은 속성을 가짐 - 와,
    상기 테이블의 상기 열 내의 개체를 상기 클라이언트 컴퓨팅 디바이스의 사용자가 선택했다는 표시를 수신하는 단계와,
    상기 클라이언트 컴퓨팅 디바이스의 사용자가 개체를 선택했다는 표시를 수신하는 것에 응답하여, 상기 개체를 서버 컴퓨팅 디바이스로 송신하는 단계 - 상기 서버 컴퓨팅 디바이스는 명령어로 프로그래밍되며, 상기 명령어는 상기 서버 컴퓨팅 디바이스에 의해 실행되는 경우 상기 서버 컴퓨팅 디바이스로 하여금 상기 선택된 개체에 기초하여 소스 테이블의 인덱스에 대해서 검색하도록 함 - 와,
    상기 서버 컴퓨팅 디바이스로부터 상기 선택된 개체에 대한 각각의 속성 값을 수신하는 단계 - 상기 속성 값은 상기 속성에 대한 값임 - 와,
    상기 속성 값을 수신하는 것에 응답하여, 상기 스프레드시트 애플리케이션의 그래픽 사용자 인터페이스를 상기 테이블이 다른 열을 포함하도록 업데이트하는 단계 - 상기 다른 열은 상기 속성 값을 포함하고, 상기 속성 값은 상기 속성 값을 갖는 상기 열 내의 개체에 대응하도록 상기 다른 열에 채워짐 -
    를 포함하는
    방법.
  11. 제10항에 있어서,
    상기 표시는,
    마우스 포인터(mouse pointer)에 의한 상기 개체들의 선택,
    상기 클라이언트 컴퓨팅 디바이스의 터치 감응 디스플레이(touch-sensitive display) 상에서 수행되는 제스처에 의한 상기 개체들의 선택, 또는
    상기 개체들을 식별하는 발화된 명령(spoken command)
    중 하나인,
    방법.
  12. 제10항에 있어서,
    상기 개체들을 상기 서버 컴퓨팅 디바이스에 송신하는 것에 응답하여, 상기 서버 컴퓨팅 디바이스로부터 상기 개체들의 속성들이 수신되고, 상기 속성들은 상기 속성을 포함하며, 상기 방법은
    상기 속성들로부터의 상기 속성의 선택을 수신하는 단계와,
    상기 속성들로부터의 상기 속성의 선택을 수신하는 것에 응답하여, 상기 속성을 상기 서버 컴퓨팅 디바이스에 송신하는 단계와,
    상기 속성을 상기 서버 컴퓨팅 디바이스에 송신하는 것에 응답하여 상기 서버 컴퓨팅 시스템으로부터 상기 속성 값들을 수신하는 단계를 더 포함하는,
    방법.
  13. 제10항에 있어서,
    상기 개체들을 상기 서버 컴퓨팅 디바이스에 송신하는 것에 응답하여, 상기 서버 컴퓨팅 디바이스로부터 테이블 스니펫들의 순위화된 리스트(ranked list)를 수신하는 단계 - 테이블 스니펫들의 상기 순위화된 리스트 내의 각 테이블 스니펫은 네트워크 연결에 의해서 액세스가능한 각자의 소스 테이블을 요약하고, 테이블 스니펫들의 상기 순위화된 리스트 내의 각 테이블 스니펫은 상기 각자의 소스 테이블에 대한 제목과, 상기 각자의 소스 테이블의 네트워크 위치와, 상기 각자의 소스 테이블의 대표적 부분을 포함함 - 와,
    상기 서버 컴퓨팅 디바이스로부터 상기 각각의 속성 값을 수신하기 이전에:
    상기 디스플레이 상에 테이블 스니펫들의 상기 순위화된 리스트를 디스플레이하는 단계와,
    테이블 스니펫들의 상기 순위화된 리스트 내의 테이블 스니펫의 선택을 수신하는 단계 - 상기 테이블 스니펫은 상기 속성 값들을 포함하는 소스 테이블을 요약함 - 와,
    상기 테이블 스니펫의 상기 선택을 수신하는 것에 응답하여, 상기 테이블 스니펫의 상기 선택을 상기 서버 컴퓨팅 디바이스에 송신하는 단계 - 상기 테이블 스니펫의 상기 선택을 상기 서버 컴퓨팅 디바이스에 송신하는 것에 응답하여 상기 서버 컴퓨팅 디바이스로부터 상기 각각의 속성 값들을 수신함 -
    를 더 포함하는
    방법.
  14. 제10항에 있어서,
    상기 업데이트된 그래픽 사용자 인터페이스에서 상기 열과 상기 다른 열은 서로 인접하는
    방법.
  15. 명령어를 포함하는 컴퓨터 판독가능 저장 매체를 포함하는 클라이언트 컴퓨팅 디바이스로서,
    상기 명령어는 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금
    스프레드시트 애플리케이션의 그래픽 사용자 인터페이스 내의 스프레드시트를 디스플레이하는 것 - 상기 스프레드시트는 테이블을 포함하고, 상기 테이블은 개체들을 포함하는 열을 포함하고, 개체는 사람, 장소 또는 사물을 나타내는 스트링이고, 상기 열에서 상기 개체들에 의해 각각 나타내어진 사람들, 장소들 또는 사물들은 속성을 가짐 - 과,
    상기 테이블 내의 개체의 선택을 수신하는 것과,
    상기 테이블 내의 상기 선택된 개체에 기초하여 검색을 수행할 것이라는 표시를 수신하는 것과,
    상기 선택된 개체 및 상기 속성을 서버 컴퓨팅 디바이스로 송신하는 것 - 상기 서버 컴퓨팅 디바이스는 상기 클라이언트 컴퓨팅 디바이스와 네트워크 통신을 수행하고 있으며, 상기 서버 컴퓨팅 디바이스는 상기 서버 컴퓨팅 디바이스에 의해 실행되는 경우 상기 서버 컴퓨팅 디바이스로 하여금 상기 선택된 개체 및 상기 속성에 기초하여 컴퓨터 판독가능 테이블에 대한 검색을 실행하도록 하는 명령어로 프로그래밍됨 - 과,
    상기 서버 컴퓨팅 디바이스로 상기 선택된 개체 및 상기 속성을 송신하는 것에 응답하여, 상기 개체에 각각 대응하는 상기 속성에 대한 값을 수신하는 것과,
    상기 속성에 대한 값을 수신하는 것에 응답하여, 상기 스프레드시트 애플리케이션의 상기 그래픽 사용자 인터페이스 내에 디스플레이된 상기 스프레드시트의 상기 테이블에 다른 열을 추가하는 것 - 상기 다른 열은 상기 속성에 대한 값을 포함하고, 상기 속성에 대한 값은 상기 열 내의 개체에 각각 맵핑되도록 상기 다른 열에 채워짐 -
    을 포함하는 동작들을 수행하게 하는 클라이언트 컴퓨팅 디바이스.
KR1020167001063A 2013-07-15 2014-07-14 식별된 개체에 기반한 속성 값의 인출 기법 KR102254979B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361846574P 2013-07-15 2013-07-15
US61/846,574 2013-07-15
US14/283,273 2014-05-21
US14/283,273 US10776375B2 (en) 2013-07-15 2014-05-21 Retrieval of attribute values based upon identified entities
PCT/US2014/046458 WO2015009587A2 (en) 2013-07-15 2014-07-14 Retrieval of attribute values based upon identified entities

Publications (2)

Publication Number Publication Date
KR20160030942A KR20160030942A (ko) 2016-03-21
KR102254979B1 true KR102254979B1 (ko) 2021-05-21

Family

ID=52277802

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167001063A KR102254979B1 (ko) 2013-07-15 2014-07-14 식별된 개체에 기반한 속성 값의 인출 기법
KR1020167001093A KR102334064B1 (ko) 2013-07-15 2014-07-14 음성 입력에 기초한 테이블형 데이터에 관한 연산의 수행 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167001093A KR102334064B1 (ko) 2013-07-15 2014-07-14 음성 입력에 기초한 테이블형 데이터에 관한 연산의 수행 기법

Country Status (17)

Country Link
US (2) US10776375B2 (ko)
EP (2) EP3022661A2 (ko)
JP (1) JP6480925B2 (ko)
KR (2) KR102254979B1 (ko)
CN (2) CN105408890B (ko)
AU (1) AU2014290354B2 (ko)
CA (1) CA2917471C (ko)
CL (1) CL2016000074A1 (ko)
HK (1) HK1217782A1 (ko)
IL (1) IL243379B (ko)
MX (1) MX2016000687A (ko)
MY (1) MY183509A (ko)
PH (1) PH12016500048A1 (ko)
RU (1) RU2683507C2 (ko)
SG (2) SG10201800225YA (ko)
WO (2) WO2015009587A2 (ko)
ZA (1) ZA201600278B (ko)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185477B1 (en) 2013-03-15 2019-01-22 Narrative Science Inc. Method and system for configuring automatic generation of narratives from data
US10630751B2 (en) * 2016-12-30 2020-04-21 Google Llc Sequence dependent data message consolidation in a voice activated computer network environment
US10776375B2 (en) 2013-07-15 2020-09-15 Microsoft Technology Licensing, Llc Retrieval of attribute values based upon identified entities
US9959265B1 (en) * 2014-05-08 2018-05-01 Google Llc Populating values in a spreadsheet using semantic cues
US20190065502A1 (en) * 2014-08-13 2019-02-28 Google Inc. Providing information related to a table of a document in response to a search query
US11314760B2 (en) 2014-09-24 2022-04-26 Oracle International Corporation Uploading external files and associating them with existing data models
US9875246B2 (en) 2014-10-02 2018-01-23 Liquid Presentation LLC System and method for generating and displaying a cocktail recipe presentation
US20160162582A1 (en) * 2014-12-09 2016-06-09 Moodwire, Inc. Method and system for conducting an opinion search engine and a display thereof
CN104809102B (zh) * 2015-04-01 2018-10-16 北京奇虎科技有限公司 一种基于输入的显示候选词的方法和装置
US10198471B2 (en) 2015-05-31 2019-02-05 Microsoft Technology Licensing, Llc Joining semantically-related data using big table corpora
US10360902B2 (en) 2015-06-05 2019-07-23 Apple Inc. Systems and methods for providing improved search functionality on a client device
US11423023B2 (en) 2015-06-05 2022-08-23 Apple Inc. Systems and methods for providing improved search functionality on a client device
US10769184B2 (en) 2015-06-05 2020-09-08 Apple Inc. Systems and methods for providing improved search functionality on a client device
US9911001B2 (en) * 2015-06-12 2018-03-06 Pearson Education, Inc. Automatic SQL query modification for data restriction
US10148808B2 (en) * 2015-10-09 2018-12-04 Microsoft Technology Licensing, Llc Directed personal communication for speech generating devices
US9679497B2 (en) 2015-10-09 2017-06-13 Microsoft Technology Licensing, Llc Proxies for speech generating devices
US10262555B2 (en) 2015-10-09 2019-04-16 Microsoft Technology Licensing, Llc Facilitating awareness and conversation throughput in an augmentative and alternative communication system
US20170116194A1 (en) 2015-10-23 2017-04-27 International Business Machines Corporation Ingestion planning for complex tables
US10963635B2 (en) 2015-11-02 2021-03-30 Microsoft Technology Licensing, Llc Extensibility of compound data objects
US11023668B2 (en) 2015-11-02 2021-06-01 Microsoft Technology Licensing, Llc Enriched compound data objects
US10713428B2 (en) 2015-11-02 2020-07-14 Microsoft Technology Licensing, Llc Images associated with cells in spreadsheets
US10318528B2 (en) 2016-02-25 2019-06-11 Microsoft Technology Licensing, Llc Query response using mapping to parameterized report
US11475026B2 (en) * 2016-02-26 2022-10-18 Douglas Schiller Value discrepancy visualization apparatus and method thereof
JP6455466B2 (ja) * 2016-03-02 2019-01-23 京セラドキュメントソリューションズ株式会社 表示操作装置およびプログラム
US10482132B2 (en) * 2016-03-16 2019-11-19 Microsoft Technology Licensing, Llc Contact creation and utilization
US9818406B1 (en) 2016-06-23 2017-11-14 Intuit Inc. Adjusting user experience based on paralinguistic information
KR102691889B1 (ko) * 2016-07-27 2024-08-06 삼성전자주식회사 전자 장치 및 그의 음성 인식 방법
KR20180024927A (ko) * 2016-08-31 2018-03-08 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
US10659398B2 (en) 2016-10-03 2020-05-19 Nohold, Inc. Interactive virtual conversation interface systems and methods
CN107977381B (zh) * 2016-10-24 2021-08-27 华为技术有限公司 数据配置方法、索引管理方法、相关装置以及计算设备
US10135989B1 (en) 2016-10-27 2018-11-20 Intuit Inc. Personalized support routing based on paralinguistic information
US10515632B2 (en) 2016-11-15 2019-12-24 At&T Intellectual Property I, L.P. Asynchronous virtual assistant
US11093494B2 (en) * 2016-12-06 2021-08-17 Microsoft Technology Licensing, Llc Joining tables by leveraging transformations
US10997227B2 (en) * 2017-01-18 2021-05-04 Google Llc Systems and methods for processing a natural language query in data tables
US10755053B1 (en) * 2017-02-17 2020-08-25 Narrative Science Inc. Applied artificial intelligence technology for story outline formation using composable communication goals to support natural language generation (NLG)
US10983853B2 (en) * 2017-03-31 2021-04-20 Microsoft Technology Licensing, Llc Machine learning for input fuzzing
KR102068182B1 (ko) * 2017-04-21 2020-01-20 엘지전자 주식회사 음성 인식 장치, 및 음성 인식 시스템
US10366690B1 (en) * 2017-05-15 2019-07-30 Amazon Technologies, Inc. Speech recognition entity resolution
US10331402B1 (en) * 2017-05-30 2019-06-25 Amazon Technologies, Inc. Search and knowledge base question answering for a voice user interface
US10334415B2 (en) 2017-06-16 2019-06-25 T-Mobile Usa, Inc. Voice user interface for device and component control
US10496363B2 (en) * 2017-06-16 2019-12-03 T-Mobile Usa, Inc. Voice user interface for data access control
US10449440B2 (en) * 2017-06-30 2019-10-22 Electronic Arts Inc. Interactive voice-controlled companion application for a video game
US10621317B1 (en) 2017-09-14 2020-04-14 Electronic Arts Inc. Audio-based device authentication system
US20190103111A1 (en) * 2017-10-03 2019-04-04 Rupert Labs Inc. ( DBA Passage AI) Natural Language Processing Systems and Methods
US11574287B2 (en) 2017-10-10 2023-02-07 Text IQ, Inc. Automatic document classification
US11372862B2 (en) * 2017-10-16 2022-06-28 Nuance Communications, Inc. System and method for intelligent knowledge access
US11132503B2 (en) * 2017-10-30 2021-09-28 Nohold, Inc. Query a system via natural language NLP2X
JP6954821B2 (ja) * 2017-12-11 2021-10-27 トヨタ自動車株式会社 対話管理装置及びプログラム
BR112020013363A2 (pt) 2017-12-27 2020-12-01 Allfast Fastening Systems prendedor de fixação
US10445422B2 (en) * 2018-02-09 2019-10-15 Microsoft Technology Licensing, Llc Identification of sets and manipulation of set data in productivity applications
CN108520745B (zh) * 2018-03-16 2020-10-02 北京云知声信息技术有限公司 设备画像信息的操作方法及装置
KR102508863B1 (ko) * 2018-03-19 2023-03-10 삼성전자 주식회사 전자 장치 및 상기 전자 장치로부터 수신된 데이터를 처리하는 서버
US10706236B1 (en) 2018-06-28 2020-07-07 Narrative Science Inc. Applied artificial intelligence technology for using natural language processing and concept expression templates to train a natural language generation system
US10902045B2 (en) * 2018-09-18 2021-01-26 Tableau Software, Inc. Natural language interface for building data visualizations, including cascading edits to filter expressions
EP3853714B1 (en) * 2018-09-18 2023-05-31 Tableau Software, Inc. Analyzing natural language expressions in a data visualization user interface
US11048871B2 (en) * 2018-09-18 2021-06-29 Tableau Software, Inc. Analyzing natural language expressions in a data visualization user interface
CA3117203A1 (en) 2018-10-23 2020-04-30 Yext, Inc. Knowledge search system
US11914659B2 (en) * 2018-12-10 2024-02-27 Trent Zimmer Data shaping system
KR102121975B1 (ko) * 2018-12-26 2020-06-11 주식회사 엘지씨엔에스 동기화 테이블을 통한 실제 데이터 제공 방법 및 데이터 관리 시스템
CN109783651B (zh) * 2019-01-29 2022-03-04 北京百度网讯科技有限公司 提取实体相关信息的方法、装置、电子设备和存储介质
CN110060674B (zh) * 2019-03-15 2022-02-01 重庆小雨点小额贷款有限公司 表格管理方法、装置、终端和存储介质
US10926173B2 (en) 2019-06-10 2021-02-23 Electronic Arts Inc. Custom voice control of video game character
CN110347690B (zh) * 2019-07-18 2022-08-09 网易(杭州)网络有限公司 一种计分板的数据索引方法和装置
US11176147B2 (en) * 2019-07-25 2021-11-16 Microsoft Technology Licensing, Llc Querying a relational knowledgebase that provides data extracted from plural sources
US11455339B1 (en) 2019-09-06 2022-09-27 Tableau Software, LLC Incremental updates to natural language expressions in a data visualization user interface
CN110555015B (zh) * 2019-09-09 2023-11-03 腾讯科技(深圳)有限公司 数据库实体管理方法、装置、电子设备及存储介质
US11074048B1 (en) 2020-04-28 2021-07-27 Microsoft Technology Licensing, Llc Autosynthesized sublanguage snippet presentation
KR20210133588A (ko) * 2020-04-29 2021-11-08 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법
US11327728B2 (en) 2020-05-07 2022-05-10 Microsoft Technology Licensing, Llc Source code text replacement by example
US11481195B2 (en) 2020-06-09 2022-10-25 Google Llc Synthesizing programs in a spreadsheet programming language
US11900080B2 (en) 2020-07-09 2024-02-13 Microsoft Technology Licensing, Llc Software development autocreated suggestion provenance
US11698933B1 (en) 2020-09-18 2023-07-11 Tableau Software, LLC Using dynamic entity search during entry of natural language commands for visual data analysis
US11301631B1 (en) 2020-10-05 2022-04-12 Tableau Software, LLC Visually correlating individual terms in natural language input to respective structured phrases representing the natural language input
CN116635931A (zh) * 2020-12-18 2023-08-22 三星电子株式会社 用于对音频查询进行解码的方法和系统
EP4298491A1 (en) * 2021-02-26 2024-01-03 Finicast, Inc. Apparatus and method for forming pivot tables from pivot frames
CN113205805B (zh) * 2021-03-18 2024-02-20 福建马恒达信息科技有限公司 一种语音插件辅助的表格便捷操作方法
US11941372B2 (en) 2021-04-01 2024-03-26 Microsoft Technology Licensing, Llc Edit automation using an anchor target list
US11875136B2 (en) 2021-04-01 2024-01-16 Microsoft Technology Licensing, Llc Edit automation using a temporal edit pattern
US12087286B2 (en) * 2021-05-06 2024-09-10 Microsoft Technology Licensing, Llc Scalable entities and patterns mining pipeline to improve automatic speech recognition
CN113221543B (zh) * 2021-05-07 2023-10-10 中国医学科学院医学信息研究所 一种医学术语整合方法及系统
US12001782B2 (en) * 2021-09-24 2024-06-04 Google Llc Personalized autonomous spreadsheets
US12001783B2 (en) * 2021-09-24 2024-06-04 Google Llc Autonomous spreadsheet creation
US11734365B1 (en) 2022-02-28 2023-08-22 Unlimidata Limited Knowledge-enriched item set expansion system and method
US11803599B2 (en) * 2022-03-15 2023-10-31 My Job Matcher, Inc. Apparatus and method for attribute data table matching
EP4303716A1 (en) * 2022-07-05 2024-01-10 Continental Automotive Technologies GmbH Method for generating data input, data input system and computer program

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125347A (en) * 1993-09-29 2000-09-26 L&H Applications Usa, Inc. System for controlling multiple user application programs by spoken input
US5701469A (en) 1995-06-07 1997-12-23 Microsoft Corporation Method and system for generating accurate search results using a content-index
WO1998009228A1 (en) 1996-08-29 1998-03-05 Bcl Computers, Inc. Natural-language speech control
US5926822A (en) * 1996-09-06 1999-07-20 Financial Engineering Associates, Inc. Transformation of real time data into times series and filtered real time data within a spreadsheet application
US6094635A (en) 1997-09-17 2000-07-25 Unisys Corporation System and method for speech enabled application
US6134563A (en) * 1997-09-19 2000-10-17 Modernsoft, Inc. Creating and editing documents
US5950167A (en) * 1998-01-26 1999-09-07 Lucent Technologies Inc. Screen-less remote voice or tone-controlled computer program operations via telephone set
DE19837102A1 (de) 1998-08-17 2000-02-24 Philips Corp Intellectual Pty Verfahren und Anordnung zum Durchführen einer Datenbankanfrage
WO2000021232A2 (en) * 1998-10-02 2000-04-13 International Business Machines Corporation Conversational browser and conversational systems
US6816837B1 (en) * 1999-05-06 2004-11-09 Hewlett-Packard Development Company, L.P. Voice macros for scanner control
AU6346400A (en) 1999-07-15 2001-02-05 Richard B. Himmelstein Communication device for efficiently accessing internet resources
KR20010095401A (ko) 2000-03-30 2001-11-07 정일봉 인터넷 웹사이트의 검색 및 출력방법
JP2001319046A (ja) 2000-05-08 2001-11-16 Ogaki Kyoritsu Bank Ltd 不動産担保物件管理方法、及び不動産担保物件管理装置、並びに不動産担保物件管理プログラムを記録した記録媒体。
GB2368929B (en) 2000-10-06 2004-12-01 Andrew Mather An improved system for storing and retrieving data
DE10060654C1 (de) 2000-12-06 2002-06-20 Varetis Ag Verfahren und Vorrichtung zur automatischen Auskunfterteilung mittels einer Suchmaschine
US6714939B2 (en) 2001-01-08 2004-03-30 Softface, Inc. Creation of structured data from plain text
US6832196B2 (en) 2001-03-30 2004-12-14 International Business Machines Corporation Speech driven data selection in a voice-enabled program
US6820075B2 (en) 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion
US6732090B2 (en) 2001-08-13 2004-05-04 Xerox Corporation Meta-document management system with user definable personalities
US20030110040A1 (en) * 2001-12-07 2003-06-12 Creative Logic Solutions Inc. System and method for dynamically changing software programs by voice commands
US20030120493A1 (en) * 2001-12-21 2003-06-26 Gupta Sunil K. Method and system for updating and customizing recognition vocabulary
RU2273879C2 (ru) 2002-05-28 2006-04-10 Владимир Владимирович Насыпный Способ синтеза самообучающейся системы извлечения знаний из текстовых документов для поисковых систем
KR100490406B1 (ko) 2002-07-11 2005-05-17 삼성전자주식회사 음성 명령어 처리 장치 및 방법
USH2189H1 (en) * 2002-10-21 2007-05-01 Oracle International Corporation SQL enhancements to support text queries on speech recognition results of audio data
US7805299B2 (en) * 2004-03-01 2010-09-28 Coifman Robert E Method and apparatus for improving the transcription accuracy of speech recognition software
US7350187B1 (en) 2003-04-30 2008-03-25 Google Inc. System and methods for automatically creating lists
US7127505B2 (en) 2003-08-15 2006-10-24 Internet Associates, Llc Methods, computer systems, and computer readable media for generating displays of sets of network addresses with status indicators
US20050050042A1 (en) * 2003-08-20 2005-03-03 Marvin Elder Natural language database querying
EP1569135A1 (en) 2004-01-19 2005-08-31 Sap Ag A database management system and a method of managing a database
US7613719B2 (en) * 2004-03-18 2009-11-03 Microsoft Corporation Rendering tables with natural language commands
US7613676B2 (en) * 2004-07-27 2009-11-03 Microsoft Corporation Generating a database model from natural language expressions of business rules
US20070055556A1 (en) * 2005-07-06 2007-03-08 Frank-Backman Elizabeth G Spreadsheet Generator
US7899258B2 (en) 2005-08-12 2011-03-01 Seiko Epson Corporation Systems and methods to convert images into high-quality compressed documents
US8234293B2 (en) 2005-09-08 2012-07-31 Microsoft Corporation Autocompleting with queries to a database
US7813942B2 (en) * 2005-10-04 2010-10-12 Rose Radiology, Llc After-hours radiology system
US20070219956A1 (en) * 2006-03-16 2007-09-20 Milton Michael L Excel spreadsheet parsing to share cells, formulas, tables, etc.
US20070220415A1 (en) 2006-03-16 2007-09-20 Morgan Mao Cheng Excel spreadsheet parsing to share cells, formulas, tables or entire spreadsheets across an enterprise with other users
US7730060B2 (en) 2006-06-09 2010-06-01 Microsoft Corporation Efficient evaluation of object finder queries
US20080016041A1 (en) 2006-07-14 2008-01-17 Frost Brandon H Spreadsheet-based relational database interface
US20080153465A1 (en) 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Voice search-enabled mobile device
US8886540B2 (en) * 2007-03-07 2014-11-11 Vlingo Corporation Using speech recognition results based on an unstructured language model in a mobile communication facility application
US8260809B2 (en) 2007-06-28 2012-09-04 Microsoft Corporation Voice-based search processing
ATE479983T1 (de) 2007-10-24 2010-09-15 Harman Becker Automotive Sys Verfahren und system zur spracherkennung zum durchsuchen einer datenbank
US20090319542A1 (en) 2008-06-19 2009-12-24 Pierre Jean Le Brazidec Systems and methods to automatically replace content in a range of spreadsheet cells with information from a database
US20150363478A1 (en) * 2008-07-11 2015-12-17 Michael N. Haynes Systems, Devices, and/or Methods for Managing Data
CN102667761B (zh) 2009-06-19 2015-05-27 布雷克公司 可扩展的集群数据库
US8015172B1 (en) 2009-07-03 2011-09-06 eBridge, Inc. Method of conducting searches on the internet to obtain selected information on local entities and provide for searching the data in a way that lists local businesses at the top of the results
CA2772746C (en) * 2009-08-31 2019-06-11 Exalead Trusted query system and method
US8972930B2 (en) * 2010-06-04 2015-03-03 Microsoft Corporation Generating text manipulation programs using input-output examples
US8812298B1 (en) * 2010-07-28 2014-08-19 Wolfram Alpha Llc Macro replacement of natural language input
US20120059655A1 (en) 2010-09-08 2012-03-08 Nuance Communications, Inc. Methods and apparatus for providing input to a speech-enabled application program
CN103229162B (zh) * 2010-09-28 2016-08-10 国际商业机器公司 使用候选答案逻辑综合提供问题答案
EP2622592A4 (en) * 2010-09-28 2017-04-05 International Business Machines Corporation Providing answers to questions using multiple models to score candidate answers
KR101172487B1 (ko) 2010-11-29 2012-08-14 엔에이치엔(주) 검색 결과 내에 첨부된 정보 데이터베이스에 기초한 검색 리스트 및 검색어 순위 제공 방법 및 시스템
US20120185787A1 (en) 2011-01-13 2012-07-19 Microsoft Corporation User interface interaction behavior based on insertion point
US8972387B2 (en) 2011-07-28 2015-03-03 International Business Machines Corporation Smarter search
AU2012232977A1 (en) 2011-09-30 2013-04-18 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US20130124194A1 (en) 2011-11-10 2013-05-16 Inventive, Inc. Systems and methods for manipulating data using natural language commands
US9443021B2 (en) 2011-12-30 2016-09-13 Microsoft Technology Licensing, Llc Entity based search and resolution
US9171081B2 (en) 2012-03-06 2015-10-27 Microsoft Technology Licensing, Llc Entity augmentation service from latent relational data
US8972324B2 (en) * 2012-07-25 2015-03-03 Toytalk, Inc. Systems and methods for artificial intelligence script modification
US20140052480A1 (en) * 2012-08-17 2014-02-20 Pilot Catastrophe Services, Inc. Voice activated database management via wireless handset
US9330090B2 (en) * 2013-01-29 2016-05-03 Microsoft Technology Licensing, Llc. Translating natural language descriptions to programs in a domain-specific language for spreadsheets
US20140358964A1 (en) * 2013-05-28 2014-12-04 International Business Machines Corporation Natural language processing (NLP) query formulation engine for a computing device
US10776375B2 (en) 2013-07-15 2020-09-15 Microsoft Technology Licensing, Llc Retrieval of attribute values based upon identified entities
US10198557B2 (en) * 2013-09-30 2019-02-05 Koninklijke Philips N.V. System and method for content-based medical macro sorting and search system
CN105934791B (zh) * 2014-01-31 2019-11-22 惠普发展公司,有限责任合伙企业 语音输入命令

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Alex Chitu, "Table Snippets in Google Search", googlesystem.com , 인터넷 출처: http://googlesystem.blogspot.com/2011/11/table-snippets-in-google-search.html (2011.11.07. 공개)*
Philipp Lenssen, "Google Spreadsheets Adds Import Functions, Auto-Fill", Blogoscoped.com, 인터넷 출처: http://blogoscoped.com/archive/2007-09-06-n41.html (2007.09.06. 공개)*

Also Published As

Publication number Publication date
CN105408890B (zh) 2021-07-13
IL243379B (en) 2019-07-31
EP3022660A2 (en) 2016-05-25
KR20160030943A (ko) 2016-03-21
HK1217782A1 (zh) 2017-01-20
ZA201600278B (en) 2017-05-31
RU2016100989A (ru) 2017-07-18
CN105493075B (zh) 2020-09-25
WO2015009587A3 (en) 2015-07-09
MX2016000687A (es) 2016-04-15
CN105493075A (zh) 2016-04-13
CA2917471A1 (en) 2015-01-22
CA2917471C (en) 2021-01-19
JP6480925B2 (ja) 2019-03-13
JP2016525253A (ja) 2016-08-22
SG10201800225YA (en) 2018-02-27
IL243379A0 (en) 2016-02-29
AU2014290354B2 (en) 2019-08-01
RU2683507C2 (ru) 2019-03-28
US20150019540A1 (en) 2015-01-15
RU2016100989A3 (ko) 2018-05-17
AU2014290354A1 (en) 2016-01-28
CN105408890A (zh) 2016-03-16
WO2015009586A2 (en) 2015-01-22
KR102334064B1 (ko) 2021-12-01
WO2015009587A2 (en) 2015-01-22
SG11201600105QA (en) 2016-02-26
US20150019216A1 (en) 2015-01-15
PH12016500048A1 (en) 2016-03-28
US10956433B2 (en) 2021-03-23
WO2015009586A3 (en) 2015-06-18
KR20160030942A (ko) 2016-03-21
CL2016000074A1 (es) 2016-10-07
US10776375B2 (en) 2020-09-15
EP3022661A2 (en) 2016-05-25
MY183509A (en) 2021-02-23

Similar Documents

Publication Publication Date Title
KR102254979B1 (ko) 식별된 개체에 기반한 속성 값의 인출 기법
US10599643B2 (en) Template-driven structured query generation
US10394420B2 (en) Computer-implemented method of generating a content recommendation interface
US9652550B2 (en) Indexing application pages of native applications
US20140115001A1 (en) Structured query generation
US8930342B2 (en) Enabling multidimensional search on non-PC devices
US9519703B2 (en) Refining search results for a compound search query
US20090100042A1 (en) System and method for enhancing search relevancy using semantic keys
AU2012340952A1 (en) Grouped search query refinements
US20190258691A1 (en) Method and system for controlling presentation of web resources in a browser window
US11797635B2 (en) Systems and methods for pre-loading object models
US11995139B2 (en) Knowledge attributes and passage information based interactive next query recommendation
US8458180B2 (en) Information exploration
US9697281B1 (en) Autocomplete search methods
US20200334315A1 (en) Enhanced document searching system and method
US11023519B1 (en) Image keywords
US20190018827A1 (en) Electronic content insertion systems and methods
US20140379706A1 (en) Content Management System with Chained Document Discovery
EP4420016A1 (en) Knowledge attributes and passage information based interactive next query recommendation
JPWO2009104430A1 (ja) 情報検索方法、情報検索装置、および情報検索プログラム

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