KR100969447B1 - 자연 언어 커맨드에 따른 표 렌더링 - Google Patents
자연 언어 커맨드에 따른 표 렌더링 Download PDFInfo
- Publication number
- KR100969447B1 KR100969447B1 KR1020050022166A KR20050022166A KR100969447B1 KR 100969447 B1 KR100969447 B1 KR 100969447B1 KR 1020050022166 A KR1020050022166 A KR 1020050022166A KR 20050022166 A KR20050022166 A KR 20050022166A KR 100969447 B1 KR100969447 B1 KR 100969447B1
- Authority
- KR
- South Korea
- Prior art keywords
- natural language
- language input
- delete delete
- data
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
본 발명은 소프트웨어 애플리케이션을 조작하고 데이터 소스에 저장된 데이터를 처리하기 위한 방법에 관한 것이다. 본 방법은 자연 언어 입력을 수신하고 자연 언어 입력을 분석해서 그 안에 포함된 구문 정보를 식별하는 단계를 포함한다. 자연 언어 입력의 일부분들은 구문 정보 및 자연 언어 입력을 근거로 스키마의 커맨드 객체 및 엔티티 객체와 관련된다. 본 방법은 또한 스키마 및 자연 언어 입력의 관련 부분들을 근거로 행렬표로 데이터 소스로부터의 데이터를 렌더링하는 단계를 포함한다.
데이터 소스, 자연 언어, 구문 정보, 스키마, 표
Description
도 1은 컴퓨팅 시스템 환경의 블록도.
도 2는 사용자 입력을 근거로 표를 렌더링하기 위한 시스템의 블록도.
도 3은 일례의 스키마의 블록도.
도 4는 표를 렌더링하기 위한 일례의 방법의 플로우챠트.
도 5는 사용자로부터의 입력을 수신하고 표 정보를 렌더링하기 위한 사용자 인터페이스의 스크린샷.
<도면의 주요 부분에 대한 부호의 설명>
202 : 사용자 인터페이스 모듈
204 : 표 생성 모듈
206 : 해석 모듈
208 : 데이터베이스
220 : 스키마
222 : 커맨드 객체
224 : 프레임 객체
226, 228, 230 : 엔티티 객체
본 발명은 사용자 입력을 애플리케이션 커맨드로 분석함으로써 소프트웨어 애플리케이션을 조작하는 방법에 관한 것이다. 특히, 본 발명은 데이터베이스와 같은 데이터 소스로부터의 정보를 렌더링하는 커맨드로 사용자 입력을 분석하는 것에 관한 것이다.
전형적인 컴퓨터 시스템에서, 사용자 입력은 고정 포맷을 갖는 사용자 응답들의 엄밀한 집합으로 제한되어 왔다. 예를 들어, 커맨드 라인 인터페이스에 있어서, 사용자 입력은 가능한 인수의 제한된 특정 도메인으로부터 선택된 인수 및 싱글 커맨드를 유일하게 식별하는 특정 형태여야만 한다. 유사하게, 그래픽 사용자 인터페이스에 있어서, 오직 제한된 집합의 옵션만이 사용자에게 제공되며, 개발자가 제한된 집합의 사용자 입력의 각각의 특정 사용자 입력에 대한 제한된 집합의 커맨드 또는 엔티티로 구성된 사용자 입력 도메인을 정의하는 것은 비교적 수월하다.
사용자를 허용된 입력 또는 응답의 엄밀한 집합으로 제한함으로써, 컴퓨터 시스템들은 사용자 또는 오퍼레이터로부터 상당한 레벨의 스킬을 요구했다. 컴퓨터 시스템에서 실행되는 애플리케이션에 의해 인식되는 특정 입력으로 실행될 희망 태스크를 지적으로 번역하는 것은 전형적으로 사용자의 책임이었다. 컴퓨터 시스템의 유용성을 확장하기 위해, 애플리케이션에 자연 언어(NL) 인터페이스를 제공하 려는 노력이 진행되어 왔다. 자연 언어 인터페이스는 제한된 입력 집합을 넘어서 애플리케이션의 기능을 확장하며 자연 언어 포맷의 입력에 컴퓨터 시스템을 개방한다. 자연 언어 인터페이스는 비교적 모호하고 고도한 문맥을 근거로 하는 자연 언어를 컴퓨터 애플리케이션이 요구하는 정확하고 엄밀한 집합의 입력들로 번역할 책임이 있다.
데이터베이스와 같은 데이터 소스로부터의 정보를 렌더링하기 위해 자연 언어 입력을 분석하는 것은 데이터 소스의 커스터마이즈드 속성으로 인해 또한 데이터 소스로부터의 정보를 렌더링하는 다수의 방법들로 인해 어려울 수 있다. 특히, 데이터 소스에 저장된 정보를 분석하기 위한 표 렌더링은 어떤 정보가 렌더링되어야 하며 어떻게 렌더링할 것인지를 정의하는 사용자로부터의 특정 명령에 따라 실행된다. 이러한 성가신 인터페이스로 인해, 다수의 사용자는 유용한 데이터 분석을 위한 표 렌더링에 어려움을 갖는다. 데이터 소스 정보로부터 표를 생성 및 렌더링하기 위해 사용자에게 친숙한 인터페이스를 제공함으로써, 정보가 분석될 수 있는 보다 효율적인 도구가 제공된다.
본 발명은 구조화된 데이터 소스에 저장된 데이터를 처리하는 것을 포함하는, 소프트웨어 애플리케이션 조작 방법에 관한 것이다. 본 방법은 자연 언어 입력을 수신하고 자연 언어 입력을 분석해서 그 안에 포함된 구문 정보를 식별하는 단계를 포함한다. 자연 언어 입력의 일부분들은 구문 정보 및 자연 언어 입력을 근거로 스키마의 커맨드 객체 및 엔티티 객체와 관련된다. 본 방법은 또한 스키마 및 자연 언어 입력의 관련 부분을 근거로 행렬표로 데이터 소스로부터의 데이터를 렌더링하는 단계를 포함한다.
본 발명의 다른 양상은 차원 및 차원과 관련된 값을 포함하는 구조화된 데이터 소스의 데이터를 처리하기 위한 명령을 갖는 컴퓨터 판독 가능 매체에 관한 것이다. 명령은 자연 언어 입력을 수신하고 표를 렌더링하도록 적응된 사용자 인터페이스 모듈을 포함한다. 표 생성 모듈은 차원 및 값에 액세스하고 차원 및 값을 렌더링하기 위한 스키마를 정의하도록 적응된다. 또한, 해석 모듈은 자연 언어 입력의 용어를 데이터 소스의 차원에 대응하는 스키마의 엔티티 객체와 관련시키고 자연 언어 입력, 차원 및 스키마를 근거로 데이터 소스의 데이터를 어떻게 렌더링할 것인지에 대한 후보 해석을 생성하도록 적응된다.
본 발명의 또 다른 양상은 자연 언어 입력 수신을 포함해서 애플리케이션을 구동하기 위해 정보를 처리하는 방법에 관한 것이다. 자연 언어 입력은 그 안에 포함된 구문 정보를 식별하기 위해 분석된다. 본 방법은 또한 구문 정보 및 자연 언어 입력을 근거로 커맨드 객체 및 엔티티 객체를 식별하기 위해 스키마에 액세스하는 단계 및 커맨드 객체 및 엔티티 객체를 근거로 애플리케이션과 관련된 액션을 실행하는 단계를 포함한다.
도 1은 본 발명이 구현될 수도 있는 적합한 컴퓨팅 시스템 환경의 일례를 도시한다. 컴퓨팅 시스템 환경(100)은 단지 적합한 컴퓨팅 환경의 하나의 일례이며 본 발명의 사용 범위 또는 기능에 임의의 한계를 제시하는 의도가 아니다. 컴퓨팅 환경(100)은 일례의 오퍼레이팅 환경(100)에 도시된 컴포넌트 중 임의의 한 컴포넌트 또는 그 결합물과 관련해서 임의의 종속성 또는 요구 사항을 갖는 것으로 해석돼서는 안된다.
본 발명은 다수의 다른 범용 또는 특별 용도의 컴퓨팅 시스템 환경 또는 구성에 의해 동작될 수 있다. 본 발명에 의해 사용되기에 적합할 수도 있는 공지된 컴퓨팅 시스템, 환경 및/또는 구성의 일례들은 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩탑 디바이스, 멀티프로세서 시스템, 마이크로프로세서-베이스 시스템, 셋탑 박스, 프로그래머블 컨수머 일렉트로닉스, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전화 시스템, 상술된 시스템 또는 디바이스 중 임의의 시스템 또는 디바이스를 포함하는 분산 컴퓨팅 환경 등을 포함하는데, 이들로만 제한되지 않는다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈들과 같은 컴퓨터 실행 가능 명령들의 일반적인 문맥으로 기술될 수도 있다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 실행하거나 특정 추상 데이터 타입들을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 연결된 원격 처리 장치들에 의해 태스크들이 실행되는 분산 컴퓨팅 환경에서 구현될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 메모리 기억 장치들을 포함해서 로컬 및 원격 컴퓨터 기억 매체들 모두에 위치할 수도 있다. 프로그램 및 모듈에 의해 실행되는 태스크는 도면들을 참조해서 후술된다. 본 기술 분야에 숙련된 자들은 임의의 형태의 컴퓨터 판독 가능 매체에 기록될 수 있는 프 로세서 실행 가능 명령들로서 기술 및 도면들을 구현할 수 있다.
도 1을 참조하면, 본 발명을 구현하기 위한 일례의 시스템이 컴퓨터(110) 형태의 범용 컴퓨팅 디바이스를 포함한다. 컴퓨터(110)의 컴포넌트들은 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트들을 프로세싱 유닛(120)에 결합시키는 시스템 버스(121)를 포함할 수도 있는데, 이들로만 제한되지 않는다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 다양한 버스 아키텍처들 중 임의의 아키텍처를 사용하는 로컬 버스를 포함하는 수개의 타입의 버스 구조 중 임의의 버스 구조일 수 있다. 예를 들어, 버스 아키텍처들은 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메저닌 버스로 공지된 PCI(Peripheral Component Interconnect) 버스를 포함하는데, 이들로만 제한되지 않는다.
컴퓨터(110)는 통상 다양한 컴퓨터 판독 가능 매체들을 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 유용한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 제거 가능 및 제거 불가능 매체를 모두 포함한다. 예를 들어, 컴퓨터 판독 가능 매체는 컴퓨터 기억 매체 및 통신 매체를 포함할 수도 있는데, 이들로만 제한되지는 않는다. 컴퓨터 기억 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보를 기억하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 제거 가능 및 제거 불가능 매체들을 모두 포함한다. 컴퓨터 기억 매체들은 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 다른 광 디스크 스토리지, 자기 카셋트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 기억 장치들, 또는 희망 정보를 기억하는데 사용될 수 있고 컴퓨터(110)에 의해 액세스될 수 있는 임의의 다른 매체들을 포함하는데, 이들로만 제한되지 않는다. 통신 매체는 통상 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메카니즘과 같이 변조된 데이터 신호로 된 다른 데이터를 포함하며, 임의의 정보 전달 매체들을 포함한다. 용어 "변조된 데이터 신호"는 정보를 신호로 인코드하는 방식으로 설정되거나 변경된 특징들 중 하나 이상의 특징을 갖는 신호를 의미한다. 예를 들어, 통신 매체는, 유선 네트워크 또는 다이렉트-와이어드 커넥션과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체들과 같은 무선 매체를 포함하는데, 이들로만 제한되지 않는다. 상술된 바들의 임의의 결합도 컴퓨터 판독 가능 매체 범위 내에 포함된다.
시스템 메모리(130)는 ROM(131) 및 RAM(132)과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 기억 매체들을 포함한다. 예를 들어, 시동 중과 같이, 컴퓨터(110) 내의 소자들 간의 정보 전송을 돕는 기본 루틴들을 포함하는 기본 입출력 시스템(BIOS; 133)은 통상 ROM(131)에 기억된다. RAM(132)은 통상 즉시 액세스될 수 있으며 프로세싱 유닛(120)에 의해 현재 동작 중인 데이터 및/또는 프로그램 모듈들을 포함한다. 도 1은 예를 들어, 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 다른 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만, 이들로만 제한되지 않는다.
컴퓨터(110)는 또한 다른 제거 가능/제거 불가능, 휘발성/비휘발성 컴퓨터 기억 매체들을 포함할 수도 있다. 도 1은 단지, 예를 들어, 제거 불가능 비휘발성 자기 매체 판독 또는 기록용 하드 디스크 드라이브(141), 제거 가능 비휘발성 자기 디스크(152) 판독 또는 기록용 자기 디스크 드라이브(151), 및 CD-ROM 또는 다른 광 매체들과 같은 제거 가능 비휘발성 광 디스크(156) 판독 또는 기록용 광 디스크 드라이브(155)를 도시한 것으로, 단지 일례이다. 일례의 오퍼레이팅 환경에서 사용될 수 있는 다른 제거 가능/제거 불가능, 휘발성/비휘발성 컴퓨터 기억 매체는 자기 테이프 카셋트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하는데, 이들로만 제한되지 않는다. 하드 디스크 드라이브(141)는 통상 인터페이스(140)와 같은 제거 불가능 메모리 인터페이스를 통해 시스템 버스(121)에 연결되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상 인터페이스(150)와 같은 제거 가능 메모리 인터페이스에 의해 시스템 버스(121)에 연결된다.
상술되고 도 1에 도시된 드라이브 및 관련 컴퓨터 기억 매체들은 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 및 컴퓨터(110)용 다른 데이터를 위한 스토리지를 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 다른 프로그램 모듈(146), 및 프로그램 데이터(147)를 기억하는 것으로 도시되어 있다. 상기 컴포넌트들은 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 다른 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일할 수도 상이할 수도 있음을 주지하라. 오퍼레이팅 시 스템(144), 애플리케이션 프로그램(145), 다른 프로그램 모듈(146) 및 프로그램 데이터(147)는 최소한 상이한 복사본들임을 설명하기 위해 상이한 번호들이 주어진다.
사용자는 키보드(162), 마이크로폰(163), 및 포인팅 디바이스(161)와 같은 입력 장치들을 통해 컴퓨터(110)에 커맨드 및 정보를 입력할 수도 있다. 상기 포인팅 디바이스(161)는 예를 들면, 마우스, 트랙볼 또는 터치 패드이다. 다른 입력 장치들(도시되지 않음)은 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수도 있다. 고유 사용자 인터페이스 애플리케이션에 있어서, 사용자는 음성, 육필, 게이즈(눈 이동) 및 다른 제스처들을 사용해서 컴퓨터와 통신할 수도 있다. 고유 사용자 인터페이스를 용이하게 하기 위해, 컴퓨터는 마이크로폰, 라이팅 패드, 카메라, 모션 센서, 및 사용자 제스처를 포착하기 위한 다른 장치들을 포함한다. 여타 입력 장치들은 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은 다른 인터페이스 및 버스 구조들에 의해 연결될 수도 있다. 모니터(191) 또는 다른 타입의 디스플레이 디바이스가 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터 외에, 컴퓨터들은 종종 출력 주변 인터페이스(195)를 통해 연결될 수도 있는 스피커(197) 및 프린터(196)와 같은 다른 주변 출력 장치들을 포함할 수도 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터들로의 로지컬 커넥션들을 사용해서 네트워크 환경에서 동작할 수도 있다. 원격 컴퓨터 (180)는 퍼스널 컴퓨터, 핸드헬드 디바이스, 서버, 루터, 네트워크 PC, 피어 디바이스, 또는 다른 공통 네트워크 노드일 수 있으며, 컴퓨터(110)와 관련해서 상술된 소자들 중 다수 또는 전부를 통상 포함한다. 도 1에 도시된 로지컬 커넥션들은 근거리 통신망(LAN; 171) 및 광역 통신망(WAN; 173)을 포함하는데, 다른 네트워크들을 포함할 수도 있다. 네트워크 환경은 사무실에서 흔한 것으로, 기업간 컴퓨터 네트워크, 인트라넷 및 인터넷이다.
LAN 네트워크 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워크 환경에서 사용될 때, 컴퓨터(110)는 인터넷과 같은 WAN(173)을 통한 통신 설정을 위해 모뎀(172) 또는 다른 수단을 통상 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 다른 적합한 메카니즘을 통해 시스템 버스(121)에 접속될 수도 있다. 네트워크 환경에서, 컴퓨터(110)와 관련해서 도시된 프로그램 모듈, 또는 그 일부는 원격 메모리 기억 장치에 기억될 수도 있다. 예를 들어, 도 1은 원격 컴퓨터(180)에 상주하는 것으로 원격 애플리케이션 프로그램(185)을 도시하고 있지만, 이들로만 제한되지 않는다. 도시된 네트워크 커넥션들은 단지 설명을 목적으로 한 것으로, 컴퓨터들 간에 통신 링크를 설정하는 다른 수단이 사용될 수도 있음을 알 것이다.
통상, 애플리케이션 프로그램(135)은 커맨드 라인을 통해 사용자와 상호 작용하거나 사용자 입력 인터페이스(160)를 통해 그래픽 사용자 인터페이스(GUI)와 상호 작용한다. 그러나, 컴퓨터 시스템 용도를 간소화하고 확장하려고 노력할 때, 사용자로부터 자연 언어 입력을 수신할 수 있는 입력들이 개발되어 왔다. 자연 언어 또는 음성과 대조적으로, 그래픽 사용자 인터페이스는 정확하다. 잘 설계된 그래픽 사용자 인터페이스는 통상 모호한 참조들을 생성하지 않거나 또는 인터페이스(160)를 통해 수신된 입력의 특정 해석을 확인하기 위해 기본 애플리케이션을 요구하지 않는다. 예를 들어, 인터페이스가 정확하기 때문에, 사용자가 입력에 대한 질의(즉, "'ok' 버튼을 클릭했는가")를 받는 요구 사항은 통상 없다. 통상, 그래픽 사용자 인터페이스를 위해 설계된 객체 모델은 매우 기계적이며 구현상 엄밀하다.
그래픽 사용자 인터페이스로부터의 입력과 대조적으로, 자연 언어 질의 또는 커맨드는 입력 객체 모델에 대한 단지 하나의 함수 콜이 아닌 함수 콜 시리즈로 종종 번역된다. 전형적인 라인 입력 또는 그래픽 사용자 인터페이스의 엄밀한 기계적 한계들과 대조적으로, 자연 언어는 모호성을 해결하기 위해 종종 무의식적으로 인간 대화자들이 서로의 지능에 의존하는 통신 수단이다. 사실, 자연 언어는 기계적이지 않기 때문에 정확하게 "자연적"이라고 간주된다. 인간 대화자들은 발언(utterance) 주위의 임의의 수의 도메인들에 관한 문맥 정보 및 큐를 근거로 모호성을 해결한다. 인간 대화자들의 경우, "금요일 리뷰 미팅에서 의사록(minutes)을 발송하라"는 문장은 임의의 설명이 필요 없이 완전하게 이해할만한 문장이다. 그러나, 기계의 기계적 관점에서 볼 때, 정확하게 어떤 다큐먼트 및 어떤 미팅과 관련되는 것인지, 및 다큐먼트가 정확하게 누구에게 송신돼야하는지와 같은 특정 세부 사항들이 지정돼야만 한다.
본 발명은 애플리케이션 및 관련 액션을 구동하기 위해 자연 언어 입력을 해 석하는 것과 관련된다. 스키마는 애플리케이션과 관련된 액션을 개시할 뿐만 아니라 자연 언어 입력의 해석을 구동하기 위해 정의될 수 있다. 따라서, 스키마는 사용자에 의해 애플리케이션 자체 및 자연 언어 입력의 구문 해석과 상호 작용한다. 본 기술 분야에 숙련된 자들이 아는 바와 같이, 스키마는 개별 코드일 수도 있으며 애플리케이션 코드와 함께 포함될 수 있다. 본 발명의 양상들은 향상된 자연 언어 인터페이스를 사용자에게 제공하기 위해 다수의 상이한 환경들에서 사용될 수 있다. 본 발명의 양상들을 사용할 수 있는 하나의 특정 환경은 데이터베이스와 같은 구조화된 데이터 소스로부터 정보를 렌더링하는 것을 포함한다. 스키마는 예를 들어, 행렬표 또는 싱글 셀을 렌더링하는데 사용될 수 있다. 정보의 싱글 셀이 렌더링되는 경우에, 정보는 표 포맷에 데이터를 제공하는 대신 자연 언어로 제공된 질문에 대한 응답일 수 있다. 예를 들어, 사용자는 "1999년에 캘리포니아는 얼마나 많은 청구액을 지불했는가"를 입력할 수 있다. 사용자가 답을 찾기 위해 대량의 데이터를 정독할 필요가 없도록 응답 "3482"가 제공될 수 있다.
도 2는 사용자로부터 자연 언어 입력을 분석하고 자연 언어 입력을 근거로 표 정보를 렌더링하기 위한 시스템의 블록도를 도시한다. 시스템(200)은 사용자 인터페이스 모듈(202), 표 생성 모듈(204), 해석 모듈(206) 및 데이터베이스(208)를 포함한다. 데이터베이스(208)가 일례의 데이터 소스임을 주지할 필요가 있다. 데이터 소스는 SQL 데이터베이스, OLAP 큐브 또는 마이크로소프트 엑셀 워크시트와 같은 다수의 형태들을 취할 수 있다. 사용자는 표 생성과 관련된 커맨드, 질문 또는 다른 입력 형태로 사용자 인터페이스 모듈(202)에 자연 언어 입력을 제공한다. 예를 들어, 사용자는 "항공기 및 행선지에 대한 년도별 총수익을 보여주시오" 또는 "1999년도 737편의 총수익이 얼마였는가" 또는 간단히 "이익"을 제공할 수도 있다. 사용자 인터페이스 모듈(202)은 자연 언어 입력을 수신해서 표 생성 모듈(204)에 제공한다.
표 생성 모듈(204)은 표를 렌더링할 때 사용될 수 있는 다양한 커맨드에 대한 관련 속성 및 커맨드 스키마를 정의한다. 예를 들어, 커맨드는 생성, 보여주기, 추가, 숨기기, 하이라이트, 필터, 클리어 등을 포함할 수 있으며, 커맨드를 더 정의하는 속성들을 포함한다. 커맨드는 또한 표를 인쇄하고 데이터베이스(208)의 데이터로부터 차트를 생성하는 것을 포함할 수 있다. 스키마는 입력의 해석을 구동하기 위해 해석 모듈(206)에 제공될 수 있다. 대안으로, 스키마는 정보의 싱글 셀을 렌더링하는데 사용될 수 있다. 표 생성 모듈(204)은 해석 모듈(206)을 사용해서, 표 생성을 위해 실행되는 액션을 구동하는 정의된 스키마 및 인터페이스 모듈(202)로부터 수신된 자연 언어 입력을 근거로 어떤 정보가 렌더링돼야만 하는지를 결정하는데 도움이 된다. 표 생성 모듈(204)은 데이터베이스(208)에 저장된 항목에 대응하는 단어 및/또는 구를 식별하기 위해 데이터베이스(208)에 액세스하고 해석 모듈(206)에 제공한다.
해석 모듈(206)은 사용자에게 렌더링하기 위한 어떤 정보의 후보 구문 해석들을 생성하기 위해 사용자 입력, 스키마 및 데이터베이스 단어 및 구를 분석한다. 사용자 입력의 구문 분석이 먼저 실행되어 사용자가 렌더링되기를 원하는 것을 해석하기 위해 구문 정보를 제공한다. 예를 들어, 입력의 명명 엔티티는 사용자가 페이지로서, 행렬로서, 또는 표의 데이터 영역 내에서 렌더링되기를 희망하는 용어를 신호해줄 수 있다. 음성 파트를 식별하고, 용어의 부분 매치를 수용하고 및/또는 매치를 위해 음성의 특정 파트를 의존하고, 형태학 대안(morphological alternatives; 예를 들어, "region" 및 "regional")을 식별하고, 명칭의 연관성(concatenation of names; 예를 들어, "home owner" 및 "homeowner")을 분석하고, 날짜 표준화(예를 들어, "1/1/04" 및 "January 1, 2004"), 유의어를 통한 동의어 식별, 바뀐 단어 순서 허용(예를 들어, "total revenue" 및 "revenue total") 및 랭킹 방법과 같은 다른 구문 기술들이 사용될 수 있다. 값들의 부정(예를 들어, 숨기기), 비교급(예를 들어, 임계값 보다 큰 값) 등과 같은 다른 구문 정보가 해석 모듈(206)에 의해 식별될 수 있다.
구문 정보 및 스키마를 사용해서, 해석 모듈(206)은 자연 언어 입력의 하나 이상의 태스크들을 스키마의 커맨드 객체와 관련시키고 자연 언어 입력의 다른 정보를 하나 이상의 프레임 객체들 및/또는 스키마의 하나 이상의 엔티티 객체들과 관련시킨다. 스키마는 또한 다른 엔티티들을 표시하고 객체들의 속성들을 기술할 수 있는 디노터(denoter) 및 제한 객체들과 같은 다른 객체들을 포함할 수 있다. 자연 언어 입력이 일단 스키마의 객체들과 관련되면, 후보 해석들이 분석되고 표 생성 모듈(204)에 송신된다.
하나의 일례의 실시예에서, 사용자 인터페이스 모듈(202)은 워싱톤주 레드몬드의 마이크로소프트 코포레이션에 의해 제공된 마이크로소프트 엑셀과 같은 스프레드시트 애플리케이션일 수 있다. 스프레드시트 애플리케이션은 모든 타입들의 데이터베이스 정보를 처리 및 렌더링하도록 구성될 수 있다. 예를 들어, 스프레드시트 애플리케이션은 온라인 분석 프로세싱(OLAP) 렌더링 툴일 수 있다. OLAP는 사용자가 쉽게 또한 선택적으로 다양한 방법들로 데이터베이스로부터 데이터를 추출 및 볼 수 있게 해주는 프로세싱 방법에 관한 것이다. OLAP 데이터 모델에서, 정보는 개념적으로 큐브들로 보여지는데, 이는 기술 카테고리(차원들) 및 양적인 값(측정값)으로 구성된다. 다차원 데이터 모델은 사용자들이 복합 질의들을 공식화하고, 리포트에서 데이터를 배열하고, 요약에서 상세 데이터로 전환하고, 데이터를 의미있는 부집합들로 필터링 또는 분할하는 것을 간단하게 한다. 예를 들어, 판매 정보를 포함하는 큐브의 차원들은 시간, 지리, 제품, 채널, 조직화 및 시나리오(예산 또는 실졔)를 포함할 수 있다. 측정값들은 달러 세일, 유닛 세일, 재고품, 인원 수, 수입 및 지출을 포함할 수 있다.
OLAP 데이터 모델의 각각의 차원 내에서, 데이터는 데이터에 대한 상세 레벨들을 표현하는 계층으로 조직화될 수 있다. 예를 들어, 시간 차원 내에는, 년도, 월, 일과 같은 레벨들이 있을 수 있으며; 유사하게, 지리 차원내에는, 국가, 지역, 주 및 시와 같은 레벨들이 있을 수 있다. OLAP 데이터 모델의 특정 인스턴스는 계층의 각각의 레벨에 대해 특정 값들을 갖는다. OLAP 데이터를 보는 사용자는 보다 상세한 정보를 보기 위해 또는 보다 덜 상세한 정보를 보기 위해 레벨들을 올리거나 내린다.
본 발명의 한 실시예에서, 사용자에 의해 제공된 자연 언어 입력은 OLAP 큐브 차원들을 근거로 마이크로소프트 엑셀과 같은 스프레드시트 애플리케이션에서 PivotTable을 생성하는 것으로 분석될 수 있다. PivotTable은 대량의 데이터를 요약할 수 있는 인터액티브 표이다. 표를 렌더링하는 인터액티브 인터페이스는 사용자가 데이터베이스(208)의 데이터의 상이한 요약들을 보고, 상이한 페이지들을 디스플레이함으로써 데이터를 필터링하고 및/또는 데이터베이스 정보와 관련된 세부 사항들을 디스플레이하도록 정보의 행렬을 사용자가 회전할 수 있게 해준다. PivotTable은 소스 데이터로부터 정보의 다수의 행들을 각각 요약하는 필드들을 포함한다. PivotTable은 또한 표의 특정 셀들의 합산, 카운팅 및/또는 평균화와 같은 요약 기능을 사용해서 데이터를 요약할 수 있다. PivotTable을 생성하기 위해, 사용자는 표 생성 모듈(204)을 호출할 수 있다. 한 실시예에서, 표 생성 모듈(204)은 표 정보 렌더링에 관한 정보를 입력하도록 사용자에게 안내하는 위저드(wizard)이다.
상기 실시예에서, 표 생성 모듈(204)은 PivotTable을 생성 및 수정하는데 유용한 액션을 근거로 스키마를 정의할 수 있다. 스키마는 커맨드, 프레임 및 엔티티 객체들의 계층으로서 표현될 수 있다. 다른 객체들은 디노터, 명명된 엔티티 및 제한 객체들을 포함할 수 있다. 커맨드 객체는 태스크 및 액션을 식별하고, 프레임 객체는 데이터가 디스플레이되는 방법과 관련된 액션을 식별하고, 엔티티 객체는 데이터를 식별한다. 상기 객체들의 특정 인스턴스들이 정보 렌더링을 구현하는데 사용될 수 있다. 인스턴스들은 희망하는 경우 베이스 클래스로부터 속성들을 계승할 수 있다. 스키마는 표 생성 모듈(204)이 표 생성을 위해 데이터에 대한 액션들을 실행하는데 사용되며 또한 해석 모듈(206)이 사용자 입력 해석을 구동하는데 사용된다.
도 3은 표의 축들 간의 데이터 필드 이동에 사용되는 일례의 스키마의 블록도이다. 스키마(220)는 실례로서 "이동축" 커맨드인 커맨드 객체(222)를 포함한다. 커맨드 객체(222)는 "이동축" 프레임인 관련된 프레임 객체(224)를 포함한다. 프레임 객체(224)는 3개의 관련 엔티티 객체들(226, 228, 230)을 포함한다. 프레임 객체(224)는 엔티티 객체들(226, 228, 230) 각각을 커맨드 객체(222)와 관련시킨다. 엔티티 객체들은 데이터베이스(208)의 데이터와 관련된다. 한 실시예에서, 엔티티 객체들은 렌더링되는 열 또는 행과 관련될 수 있다. 본 실시예에서, 엔티티 객체(226)는 본 명세서에서 필드 엔티티이며 이동될 데이터의 필드를 지정하는 디폴트 엔티티이다. 따라서, 사용자 입력의 해석이 커맨드 객체(222)의 커맨드를 실행하는데 필요한 특정 엔티티를 분석하지 않으면, 필드 엔티티(226)가 다양한 규칙들을 근거로 할 수 있는 디폴트 값으로 분석된다. 엔티티 객체(228)는 데이터를 렌더링하는 축을 정의하는 목표 엔티티이다. 엔티티 객체(230)는 상이한 축으로 이동될 현 필드를 정의하는 소스 엔티티이다.
도 4는 사용자에게 표를 렌더링해주는 일례의 방법의 플로우챠트이다. 방법(250)은 표 생성 모듈이 호출되는 단계(252)에서 시작한다. 표 생성 모듈은 단계(254)에서 사용자 입력으로부터의 용어들을 매치하는데 사용될 데이터베이스(208)의 차원, 레벨, 측정값 및/또는 멤버에 대응하는 데이터베이스 용어 및/또는 구에 액세스할 수 있다. 식별된 데이터베이스 용어들은 표 생성 모듈(204)의 성능을 향상시키기 위해 차후에 사용되도록 히스토리에 유지될 수 있다. 단계(256)에서, 자연 언어 입력이 사용자로부터 수신된다. 자연 언어 입력은 키보드 입력으로부터의 텍스트, 음성 데이터 및/또는 육필 데이터를 포함하는 임의의 형태일 수 있으며, 영어, 독일어, 프랑스어, 스페인어, 일본어 등을 포함하는 임의의 언어로 되어 있을 수 있다.
자연 언어 입력이 주어지면, 입력의 구문 분석이 단계(258)에서 실행되어 입력과 관련된 구문 정보를 식별할 수 있다. 사용자 입력의 후보 해석들이 구문 정보를 근거로 유도될 수 있으며, 사용자 입력의 부분들을 상술된 스키마의 부분들과 관련시킨다. 커맨드가 명백하게 자연 언어 입력으로 표현될 필요가 없으며, 입력에 암시될 수 있음을 주지할만하다. 예를 들어, "apples and bananas"라는 입력은 "show" 커맨드와 함께 사용됨을 암시할 수 있다. 후보 해석들을 사용해서, 표 후보 기술들이 단계(262)에서 렌더링될 수 있다. 표 후보 기술들은 사용자에게 친숙한 인터액티브 인터페이스를 생성하도록 다수의 형태를 취할 수 있다. 예를 들어, 해석 및/또는 표 프리뷰는 사용자가 타이핑하는 동안 제공되어, 입력에서 인식된 용어들이 하이라이트될 수 있으며, 다수의 표 구성들(예를 들어, 행 또는 열로서의 엔티티)이 제공될 수 있으며, 표 후보 기술들의 자연 언어 기술이 리스트로 제공될 수 있고, 모호한 용어 대안들이 팝업 메뉴로 제공될 수 있다.
또한, 사용자는 후보 기술들의 국부적 모호성을 선택할 수 있다. 예를 들어, 사용자가 입력에서 "sales"를 입력하면, 후보 기술들 중 하나는 데이터베이스(208)의 파트인 "number of sales" 용어를 포함할 수 있으며 용어 "sales"와 동등시할 수 있다. 국부적 모호성을 해결하기 위해 인터액티브 방법을 제공함으로써, 사용자는 "number of sales"를 "sales"와 동등한 것으로 선택할 수 있다. 상기 정 보(예를 들어, "sales"와 "number of sales"를 동등시함)는 유지되어 차후 해석들을 구동하는데 사용될 수 있다.
사용자가 표 후보 기술들 중 하나를 선택하면, 특정 표는 단계(266)에서 렌더링된다. 대안으로, 희망하는 경우, 용어가 인식되거나 변경이 사용자 입력에서 발생할 때 표는 "on-the-fly"로 렌더링될 수 있다. 또한, 자연 언어 입력의 일부분은 용어를 인식하고 용어를 사용자 타입으로서 가시적으로 나타내는데 사용될 수 있다. 예를 들어, 인식된 용어는 사용자 타입으로서 하이라이트될 수 있다. 표가 렌더링되었으면, 사용자는 표를 변경하거나 새로운 표를 렌더링하라는 하나의 다른 커맨드 또는 다수의 커맨드를 제공함으로써 표를 변경할 수도 있다. 단계(268)에서 다른 커맨드는 예를 들어, 표의 일부분을 하이라이트하고, 행렬을 숨기고 및/또는 추가하며, 다른 커맨드 뿐만 아니라 정보를 정렬 및 필터링하는데 사용될 수 있다. 단계(266)에서 새로운 표가 렌더링될 수 있다.
도 5는 본 발명의 실시예에 따라 사용되는 일례의 인터페이스(300)를 도시한다. 인터페이스(300)는 데이터베이스(208)로부터의 정보를 행렬표로 디스플레이하기 위한 표 디스플레이(302)를 포함한다. 본 실시예에서, 다양한 타입의 항공기에 대한 총수익이 지역별로 도시되어 있다. 윈도(304)는 사용자가 표 기술들을 보도록 제공되며, 표 생성 모듈(204)에 의해 사용된 자연 언어 입력을 제공한다. 윈도(304)는 디스플레이(302)에 현재 디스플레이된 표의 콘텐츠를 기술하는 표 기술(306)을 포함한다. 또한, 표를 생성하기 위한 입력의 일례(308)가 제공된다. 사용자는 표를 렌더링하기 위해 텍스트를 필드(310)로 입력할 수도 있다. 후보 기술 들(312)이 또한 상술된 바와 같이 사용자가 리스트에서 후보들 중 하나를 쉽게 선택할 수 있도록 리스트로 사용자에게 제공될 수 있다. 또한, 버튼(314)이 사용자가 특정 표 레이아웃을 선택하도록 제공될 수 있다. 예를 들어, 버튼(314)은 차원을 열에서 행으로 전환할 수 있다. 한 실시예에서, 가변 레이아웃의 수(또는 구성)는 자연 언어 입력의 용어들의 순서를 근거로 제한될 수 있다.
도 4에 도시된 일례에서, 사용자는 입력 필드(310)에서 "항공기 및 지역별로 수익을 보여달라"는 자연 언어 입력을 제공했다. 표 생성 모듈(204)은 데이터베이스(208)로부터의 용어들에 액세스해서, 차원들 "총수익", "항공기 타입" 및 "지역 명칭"을 식별했다. 해석 모듈(206)은 필드(310)의 입력 및 데이터베이스(208)의 차원들을 사용해서 입력을 분석하고 "항공기 타입 및 지역 명칭별로 총수익을 보여달라"(312)는 후보 기술을 제공한다.
이러한 해석을 사용자가 선택할 때, 현 기술(306) 및 표 디스플레이(302)는 선택된 표 및 관련 기술을 보여주도록 갱신된다. 그 후 사용자는 디스플레이(302)의 표와 관련되거나 새로운 표와 관련된 다른 자연 언어 커맨드를 필드(310)에서 입력할 수 있다. 예를 들어, 사용자는 "호주 숨기기", "747편만을 보여달라", "$10,000을 초과한 수익들을 하이라이트하라" 등을 제공할 수 있다. 본 일례에서, 애플리케이션은 각각 호주 열을 숨기고, 항공기 타입 747과 관련된 데이터만을 갖도록 표를 렌더링하며, $10,000 보다 큰 총수익 값들을 하이라이트한다.
상술된 실시예들의 결과로서, 행렬표로 데이터베이스와 같은 데이터 소스로부터 정보를 렌더링하기 위한 자연 언어 인터페이스가 제공된다. 인터페이스는 사 용자가 보다 쉽게 데이터 분석에 사용되는 표들을 생성 및 렌더링할 수 있게 해준다. 따라서, 표를 렌더링해서 데이터를 분석하는 것은 보다 시간 효율적이고 사용자에게 친숙한 방법으로 실행될 수 있다.
본 발명이 특정 실시예들을 참조해서 기술되었지만, 본 기술 분야에 숙련된 자들은 본 발명의 원리 및 범위 내에서 세부 사항이 변경될 수도 있음을 알 것이다.
본 발명에 의해, 데이터 소스 정보로부터 표들을 생성 및 렌더링하는 사용자에게 친숙한 인터페이스가 제공됨으로써, 정보가 분석될 수 있는 보다 효율적인 도구가 제공된다.
Claims (40)
- 컴퓨터 저장 매체에 저장된 구조화된 데이터 소스(structured data source)로부터 검색된 데이터를 처리하는 방법으로서,자연 언어 입력(natural language input)을 수신하는 단계;상기 자연 언어 입력에 포함된 구문 정보(semantic information)를 식별하기 위해 상기 자연 언어 입력을 분석하는 단계;상기 구문 정보와 상기 자연 언어 입력에 기초하여 상기 자연 언어 입력의 부분을 스키마(schema)의 엔티티 객체(entity object), 프레임 객체(frame object) 및 커맨드 객체(command object)와 관련시키는 단계 - 상기 커맨드 객체는 커맨드를 상기 구조화된 데이터 소스로부터 검색되었고 렌더링을 위해 지정된 데이터를 렌더링하는 것과 연관되어 있는 복수의 커맨드로부터 식별하고, 상기 프레임 객체는 데이터를 렌더링하기 위한 배열을 식별하며, 상기 엔티티 객체는 상기 커맨드 객체와 상기 프레임 객체에 기초하여 렌더링될 상기 지정된 데이터와 연관됨 - ;및상기 자연 언어 입력에 제공된 상기 구문 정보에 대한 복수의 후보 해석에 기초하여 복수의 후보 표 - 상기 후보 표의 각각은 상기 스키마 및 상기 자연 언어 입력의 관련 부분에 기초하여 행렬을 각각 포함함 - 에서 상기 지정된 데이터를 렌더링하는 단계를 포함하는, 데이터 처리 방법.
- 제1항에 있어서,상기 구조화된 데이터 소스에서의 차원과 관련되는 단어 및 구를 식별하기 위해 상기 구조화된 데이터 소스에 액세스하는 단계를 더 포함하는, 데이터 처리 방법.
- 제2항에 있어서,상기 액세스하는 단계는 상기 구조화된 데이터 소스에서의 레벨 및 값과 관련되는 단어 및 구를 식별하는 단계를 더 포함하는, 데이터 처리 방법.
- 제1항에 있어서,상기 커맨드 객체는 데이터를 렌더링하기 위해 실행되는 태스크(task)와 연관되는, 데이터 처리 방법.
- 제1항에 있어서,수신된 추가 커맨드를 기초로 상기 표를 변경하는 단계를 더 포함하는, 데이터 처리 방법.
- 제1항에 있어서,상기 자연 언어 입력을 입력하기 위해 사용자에게 인터액티브 인터페이스(interactive interface)를 제공하는 단계를 더 포함하는, 데이터 처리 방법.
- 제6항에 있어서,사용자가 상기 자연 언어 입력을 입력하는 동안 상기 자연 언어 입력에서 인식된 용어를 나타내는 것 또는 상기 자연 언어 입력에서 구문 정보에 대한 후보 해석을 제공하는 것 중 하나 이상을 실행하는 단계를 더 포함하는, 데이터 처리 방법.
- 제1항에 있어서,상기 표의 정보에 대한 자연 언어 기술(natural language description)을 렌더링하는 단계를 더 포함하는, 데이터 처리 방법.
- 제1항에 있어서,차후 사용을 위해 렌더링된 이전 표의 이력(history)을 유지하는 단계를 더 포함하는, 데이터 처리 방법.
- 제1항에 있어서,상기 자연 언어 입력의 부분을 상기 구조화된 데이터 소스와 관련되는 단어 및 구와 관련시키는 단계를 더 포함하는, 데이터 처리 방법.
- 제1항에 있어서,상기 분석하는 단계는 상기 자연 언어 입력에서 모호한 용어를 식별하고 상기 모호한 용어를 위한 후보 대체 용어를 제공하는 단계를 더 포함하는, 데이터 처리 방법.
- 애플리케이션을 구동하기 위해 정보를 처리하는 방법으로서,자연 언어 입력을 입력하기 위해 사용자에게 인터액티브 인터페이스를 제공하는 단계;상기 자연 언어 입력을 수신하는 단계;상기 자연 언어 입력에 포함된 구문 정보를 식별하기 위해 상기 자연 언어 입력을 분석하는 단계;상기 구문 정보 및 상기 자연 언어 입력을 기초로, 상기 애플리케이션에서 실행된 커맨드를 식별하는 커맨드 객체, 컴퓨터 저장 매체에 저장된 데이터 소스로부터 검색된 데이터를 렌더링하는 방식을 식별하는 프레임 객체 및 상기 애플리케이션에 의한 사용을 위해 지정된 상기 검색된 데이터의 부분과 관련되는 엔티티 객체를 식별하기 위해 스키마에 액세스하는 단계; 및상기 커맨드 객체, 상기 프레임 객체 및 상기 엔티티 객체에 기초하여 상기 애플리케이션과 관련되는 액션을 실행하는 단계를 포함하고,상기 액션은 상기 자연 언어 입력에 제공된 상기 구문 정보에 대한 복수의 후보 해석에 기초하여 복수의 후보 표의 각각으로 상기 지정된 모든 데이터를 렌더링하는 것을 포함하고,상기 후보 표의 각각으로 렌더링하는 것은 상기 프레임 객체가 상기 엔티티 객체에 의해 식별된 상기 지정된 데이터 중 어떤 부분이 열(column)에 디스플레이되고 상기 엔티티 객체에 의해 식별된 상기 지정된 데이터 중 어떤 부분이 행(row)에 디스플레이되는지를 정의하도록 상기 프레임 객체가 상기 엔티티 객체를 상기 커맨드 객체와 관련시키는 것을 포함하는, 정보 처리 방법.
- 컴퓨터 저장 매체에 저장된 데이터 소스로부터 검색된 정보를 디스플레이하는 방법으로서,사용자로부터 제1 자연 언어 입력을 수신하는 단계;상기 제1 자연 언어 입력에 포함된 구문 정보를 식별하기 위해 상기 제1 자연 언어 입력을 분석하는 단계;상기 구문 정보 및 상기 제1 자연 언어 입력에 기초하여 상기 제1 자연 언어 입력의 부분을 스키마의 엔티티 객체, 프레임 객체 및 커맨드 객체와 관련시키는 단계;상기 커맨드 객체, 상기 프레임 객체 및 상기 엔티티 객체의 함수로서 상기 데이터 소스로부터 검색된 데이터를 설명하는 행렬표를 상기 사용자에게 디스플레이하는 단계;상기 행렬표를 참조하는 상기 사용자로부터의 제2 자연 언어 입력을 수신하는 단계;상기 제2 자연 언어 입력에 기초하여 상기 스키마를 변경하는 단계; 및상기 행렬표의 이전에 디스플레이된 상기 데이터의 배열을 상기 변경된 스키마의 함수로 수정하고 수정된 테이블에서 새롭게 배열된 상기 데이터를 상기 사용자에게 디스플레이하는 단계를 포함하는, 정보 디스플레이 방법.
- 제13항에 있어서,상기 제1 자연 언어 입력 또는 상기 제2 자연 언어 입력 중 하나의 부분을 상기 데이터 소스와 관련되는 단어 및 구와 관련시키는 단계를 더 포함하는, 정보 디스플레이 방법.
- 제13항에 있어서,상기 제2 자연 언어 입력은 상기 스키마의 상기 커맨드 객체와 상이한 커맨드를 포함하는, 정보 디스플레이 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/804,815 | 2004-03-18 | ||
US10/804,815 US7613719B2 (en) | 2004-03-18 | 2004-03-18 | Rendering tables with natural language commands |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060043741A KR20060043741A (ko) | 2006-05-15 |
KR100969447B1 true KR100969447B1 (ko) | 2010-07-14 |
Family
ID=34838946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050022166A KR100969447B1 (ko) | 2004-03-18 | 2005-03-17 | 자연 언어 커맨드에 따른 표 렌더링 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7613719B2 (ko) |
EP (1) | EP1577797A3 (ko) |
JP (1) | JP2005267647A (ko) |
KR (1) | KR100969447B1 (ko) |
CN (1) | CN1670733B (ko) |
AU (1) | AU2005200962B2 (ko) |
BR (1) | BRPI0500943A (ko) |
CA (1) | CA2501254A1 (ko) |
MX (1) | MXPA05002951A (ko) |
RU (1) | RU2380747C2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10679618B2 (en) | 2016-11-03 | 2020-06-09 | Samsung Electronics Co., Ltd. | Electronic device and controlling method thereof |
US11521038B2 (en) | 2018-07-19 | 2022-12-06 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255791B2 (en) | 2000-11-29 | 2012-08-28 | Dov Koren | Collaborative, flexible, interactive real-time displays |
US20060250369A1 (en) * | 2005-05-09 | 2006-11-09 | Keim Oliver G | Keyboard controls for customizing table layouts |
US20070055556A1 (en) * | 2005-07-06 | 2007-03-08 | Frank-Backman Elizabeth G | Spreadsheet Generator |
AU2006308779B2 (en) * | 2005-10-31 | 2012-03-08 | Think Software Pty Ltd. | Interacting with a computer-based management system |
US8694319B2 (en) | 2005-11-03 | 2014-04-08 | International Business Machines Corporation | Dynamic prosody adjustment for voice-rendering synthesized data |
US9361622B2 (en) * | 2006-12-28 | 2016-06-07 | Oracle International Corporation | Multi-dimensioned data hierarchies |
KR100865481B1 (ko) * | 2007-05-14 | 2008-10-27 | 엔에이치엔(주) | 삼차원으로 구조화된 데이터 모델을 이용하여 데이터를분산 관리하는 방법 |
US8090746B2 (en) * | 2007-11-29 | 2012-01-03 | Sap Aktiengeselleschaft | System and method for maintaining consistent behavior when in different table modes |
US8312366B2 (en) * | 2009-02-11 | 2012-11-13 | Microsoft Corporation | Displaying multiple row and column header areas in a summary table |
US20100228752A1 (en) * | 2009-02-25 | 2010-09-09 | Microsoft Corporation | Multi-condition filtering of an interactive summary table |
US8375056B2 (en) | 2010-02-26 | 2013-02-12 | International Business Machines Corporation | Optimizing data cache when applying user-based security |
US8392442B2 (en) * | 2010-04-15 | 2013-03-05 | Dee Gee Holdings, Llc | Method and computer program product for creating content management systems |
EP2455844A1 (en) * | 2010-11-10 | 2012-05-23 | Michael Rabben | Computerized method to associatively and efficiently select elements in textual electronic lists and to operate computer-implemented programs using natural language commands |
US8589336B1 (en) * | 2011-04-25 | 2013-11-19 | Netapp, Inc. | Framework for automated storage processes and flexible workflow |
RU2580022C2 (ru) * | 2011-08-31 | 2016-04-10 | Общество С Ограниченной Ответственностью "Базелевс Инновации" | Визуализация текста на естественном языке |
WO2013188540A1 (en) * | 2012-06-12 | 2013-12-19 | Grant Street Group, Inc. | Practical natural-language human-machine interfaces |
US11176523B2 (en) | 2012-06-24 | 2021-11-16 | Harms Software, Inc. | System and method for intelligent conversation-based appointment tool |
US10706047B2 (en) * | 2012-10-22 | 2020-07-07 | Sap Se | Boolean content search |
US9171066B2 (en) | 2012-11-12 | 2015-10-27 | Nuance Communications, Inc. | Distributed natural language understanding and processing using local data sources |
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 |
US10776375B2 (en) * | 2013-07-15 | 2020-09-15 | Microsoft Technology Licensing, Llc | Retrieval of attribute values based upon identified entities |
US10282407B1 (en) | 2013-08-21 | 2019-05-07 | The United States Of America, As Represented By The Secretary Of The Navy | Method for filtering data to generate a balance sheet |
US9594737B2 (en) * | 2013-12-09 | 2017-03-14 | Wolfram Alpha Llc | Natural language-aided hypertext document authoring |
CN104881414A (zh) * | 2014-02-28 | 2015-09-02 | 国际商业机器公司 | 数据展示方法和系统 |
US20160124937A1 (en) * | 2014-11-03 | 2016-05-05 | Service Paradigm Pty Ltd | Natural language execution system, method and computer readable medium |
US20170177716A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Technologies for semantic interpretation of user input by a dialogue manager |
US10318528B2 (en) | 2016-02-25 | 2019-06-11 | Microsoft Technology Licensing, Llc | Query response using mapping to parameterized report |
US10817527B1 (en) * | 2016-04-12 | 2020-10-27 | Tableau Software, Inc. | Systems and methods of using natural language processing for visual analysis of a data set |
GB201616990D0 (en) * | 2016-10-06 | 2016-11-23 | Microsoft Technology Licensing Llc | User interface |
WO2019087194A1 (en) * | 2017-11-05 | 2019-05-09 | Walkme Ltd. | Chat-based application interface for automation |
CN111191431A (zh) * | 2018-10-29 | 2020-05-22 | 百度在线网络技术(北京)有限公司 | 一种根据自然语言指令生成报表的方法及系统 |
US10963135B2 (en) * | 2019-03-15 | 2021-03-30 | Oracle International Corporation | Language-based manipulation of data visualizations |
CN110413767A (zh) * | 2019-08-05 | 2019-11-05 | 浙江核新同花顺网络信息股份有限公司 | 基于自然语言生成呈递内容的系统及方法 |
US11379577B2 (en) | 2019-09-26 | 2022-07-05 | Microsoft Technology Licensing, Llc | Uniform resource locator security analysis using malice patterns |
US11509667B2 (en) | 2019-10-19 | 2022-11-22 | Microsoft Technology Licensing, Llc | Predictive internet resource reputation assessment |
US11163760B2 (en) | 2019-12-17 | 2021-11-02 | Mastercard International Incorporated | Providing a data query service to a user based on natural language request data |
US11431751B2 (en) | 2020-03-31 | 2022-08-30 | Microsoft Technology Licensing, Llc | Live forensic browsing of URLs |
CN114912427A (zh) * | 2021-02-10 | 2022-08-16 | 微软技术许可有限责任公司 | 响应于用户输入的数据表分析 |
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 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990031784A (ko) * | 1997-10-14 | 1999-05-06 | 정선종 | 전자상거래 상품정보 검색용 자연언어 질의어 처리방법 |
EP1120720A2 (en) | 2000-01-19 | 2001-08-01 | Lucent Technologies Inc. | User interface for data presentation systems |
WO2001095145A1 (en) * | 2000-06-06 | 2001-12-13 | Sonera Oyj | Service provision in a communications network |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05324713A (ja) * | 1992-05-20 | 1993-12-07 | Hitachi Ltd | 自然語処理方法および自然語処理システム |
JPH0744638A (ja) * | 1993-07-29 | 1995-02-14 | Nec Corp | 表データ検索装置 |
US5960384A (en) * | 1997-09-03 | 1999-09-28 | Brash; Douglas E. | Method and device for parsing natural language sentences and other sequential symbolic expressions |
US6574661B1 (en) * | 1997-09-26 | 2003-06-03 | Mci Communications Corporation | Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client |
JPH11259524A (ja) * | 1998-03-06 | 1999-09-24 | Omron Corp | 情報検索システム、情報検索システムにおける情報処理方法および記録媒体 |
JP2002523828A (ja) * | 1998-08-24 | 2002-07-30 | ビーシーエル コンピューターズ, インコーポレイテッド | 適応型自然言語インターフェース |
KR100681989B1 (ko) * | 1998-08-31 | 2007-02-15 | 소니 가부시끼 가이샤 | 자연 언어 처리 장치 및 방법 |
FR2806183B1 (fr) * | 1999-12-01 | 2006-09-01 | Cartesis S A | Dispositif et procede pour la consolidation instantanee, l'enrichissement et le "reporting" ou remontee d'information dans une base de donnees multidimensionnelle |
KR20020045343A (ko) * | 2000-12-08 | 2002-06-19 | 오길록 | 표준화된 문장 구문구조 및 의미구조에 기반한 정보생성/검색 장치 및 그 방법 |
JP2002259443A (ja) * | 2001-02-28 | 2002-09-13 | Ricoh Co Ltd | 文書管理システム、文書検索方法および文書検索プログラム |
US7269788B2 (en) * | 2001-06-29 | 2007-09-11 | Versata Development Group, Inc. | Extensibility and usability of document and data representation languages |
US7283951B2 (en) * | 2001-08-14 | 2007-10-16 | Insightful Corporation | Method and system for enhanced data searching |
US20050043940A1 (en) * | 2003-08-20 | 2005-02-24 | Marvin Elder | Preparing a data source for a natural language query |
-
2004
- 2004-03-18 US US10/804,815 patent/US7613719B2/en active Active
-
2005
- 2005-03-02 AU AU2005200962A patent/AU2005200962B2/en not_active Ceased
- 2005-03-14 EP EP05101973A patent/EP1577797A3/en not_active Ceased
- 2005-03-16 MX MXPA05002951A patent/MXPA05002951A/es active IP Right Grant
- 2005-03-17 RU RU2005107522/09A patent/RU2380747C2/ru not_active IP Right Cessation
- 2005-03-17 CA CA002501254A patent/CA2501254A1/en not_active Abandoned
- 2005-03-17 KR KR1020050022166A patent/KR100969447B1/ko active IP Right Grant
- 2005-03-18 BR BR0500943-0A patent/BRPI0500943A/pt not_active IP Right Cessation
- 2005-03-18 CN CN2005100592202A patent/CN1670733B/zh not_active Expired - Fee Related
- 2005-03-18 JP JP2005080087A patent/JP2005267647A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990031784A (ko) * | 1997-10-14 | 1999-05-06 | 정선종 | 전자상거래 상품정보 검색용 자연언어 질의어 처리방법 |
EP1120720A2 (en) | 2000-01-19 | 2001-08-01 | Lucent Technologies Inc. | User interface for data presentation systems |
WO2001095145A1 (en) * | 2000-06-06 | 2001-12-13 | Sonera Oyj | Service provision in a communications network |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10679618B2 (en) | 2016-11-03 | 2020-06-09 | Samsung Electronics Co., Ltd. | Electronic device and controlling method thereof |
US11908465B2 (en) | 2016-11-03 | 2024-02-20 | Samsung Electronics Co., Ltd. | Electronic device and controlling method thereof |
US11521038B2 (en) | 2018-07-19 | 2022-12-06 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
CA2501254A1 (en) | 2005-09-18 |
JP2005267647A (ja) | 2005-09-29 |
CN1670733B (zh) | 2011-07-13 |
KR20060043741A (ko) | 2006-05-15 |
RU2005107522A (ru) | 2006-08-27 |
RU2380747C2 (ru) | 2010-01-27 |
US7613719B2 (en) | 2009-11-03 |
AU2005200962A1 (en) | 2005-10-06 |
EP1577797A2 (en) | 2005-09-21 |
EP1577797A3 (en) | 2006-11-08 |
US20050210061A1 (en) | 2005-09-22 |
MXPA05002951A (es) | 2006-05-25 |
AU2005200962B2 (en) | 2010-06-03 |
BRPI0500943A (pt) | 2005-11-08 |
CN1670733A (zh) | 2005-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100969447B1 (ko) | 자연 언어 커맨드에 따른 표 렌더링 | |
US10698977B1 (en) | System and methods for processing fuzzy expressions in search engines and for information extraction | |
US12032905B2 (en) | Methods and systems for summarization of multiple documents using a machine learning approach | |
US11995407B2 (en) | Analyzing underspecified natural language utterances in a data visualization user interface | |
US12099500B2 (en) | Processing a logical query | |
Lucassen et al. | Extracting conceptual models from user stories with Visual Narrator | |
US20190384762A1 (en) | Computer-implemented method of querying a dataset | |
JP5744873B2 (ja) | トラステッドクエリのシステムおよび方法 | |
US20070174350A1 (en) | Transparent Search Query Processing | |
KR20160030943A (ko) | 음성 입력에 기초한 표 데이터에 관한 연산의 수행 기법 | |
Smith et al. | Corpus tools and methods, today and tomorrow: Incorporating linguists’ manual annotations | |
US11868343B2 (en) | Utilizing autocompletion as a data discovery scaffold for supporting visual analysis | |
US11842154B2 (en) | Visually correlating individual terms in natural language input to respective structured phrases representing the natural language input | |
US20230376185A1 (en) | Visual Autocompletion for Geospatial Queries | |
US11829889B2 (en) | Processing method and device for data of well site test based on knowledge graph | |
Dąbrowski et al. | Mining and searching app reviews for requirements engineering: Evaluation and replication studies | |
Hampson et al. | CULTURA: A metadata-rich environment to support the enhanced interrogation of cultural collections | |
US12093265B2 (en) | Semantics based data and metadata mapping | |
US8965750B2 (en) | Acquiring accurate machine translation | |
US12067368B1 (en) | Using semantic models determined based on data source and context in a natural language interface for visual data analysis | |
Bolek et al. | Selected Aspects of Using Text Mining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130628 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140627 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160616 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170616 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190617 Year of fee payment: 10 |