KR20160136442A - Computer generated natural language outputs in question answer systems - Google Patents
Computer generated natural language outputs in question answer systems Download PDFInfo
- Publication number
- KR20160136442A KR20160136442A KR1020167029845A KR20167029845A KR20160136442A KR 20160136442 A KR20160136442 A KR 20160136442A KR 1020167029845 A KR1020167029845 A KR 1020167029845A KR 20167029845 A KR20167029845 A KR 20167029845A KR 20160136442 A KR20160136442 A KR 20160136442A
- Authority
- KR
- South Korea
- Prior art keywords
- response
- sentence
- sentence structure
- output
- natural language
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G06F17/3043—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G06F17/2881—
-
- G06F17/30604—
-
- G06F17/30654—
-
- G06F17/30684—
-
- G06F17/30864—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/027—Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
자연 언어 출력을 발생하는 방법, 컴퓨터 시스템 및 컴퓨터 저장 매체가 제공된다. 트리플의 집합은 음성 쿼리 및 응답을, 음성 쿼리에 대한 출력 응답으로서 사용될 수 있는 문장 구조에 매핑하기 위해 사용될 수 있다. 문장 구조는 소정의 트리플 집합에만 적당하다. 하나 이상의 제약조건은 문장 구조가 정확한 상황에서만 적용되는 것을 확실히 하기 위해 트리플의 집합과 연관될 수 있다. 유효 문장 구조가 되기 위해, 문장 구조와 연관된 각각의 제약조건이 만족되어야 한다. 만일 각각의 제약조건이 만족되면, 문장 구조는 유효이고 출력 응답에 대한 형식으로서 사용될 수 있다. 만일 각각의 제약조건이 만족되지 않으면, 유효 문장 구조가 만족될 때까지 트리플 집합과 연관된 추가의 문장 구조가 평가될 수 있다. 만일 문장 구조가 유효하지 않으면 출력이 발생되지 않는다.Methods for generating natural language output, computer systems, and computer storage media are provided. The set of triples can be used to map voice queries and responses to a sentence structure that can be used as an output response to a voice query. The sentence structure is suitable only for a predetermined triple set. One or more constraints may be associated with a set of triples to ensure that the sentence structure is applied only in the correct context. To become a valid sentence structure, each constraint associated with the sentence structure must be satisfied. If each constraint is satisfied, the sentence structure is valid and can be used as a form for the output response. If each constraint is not satisfied, the additional sentence structure associated with the triple set can be evaluated until the valid sentence structure is satisfied. If the sentence structure is invalid, no output is generated.
Description
본 발명은 질의 응답 시스템에서의 컴퓨터 발생형 자연 언어 출력에 대한 것이다.The present invention relates to a computer generated natural language output in a query response system.
자연 언어 발생은 일반적으로 지식 베이스로부터의 트리플(triple)의 집합을 이용하여 수행된다. 트리플은 유효한 자연 언어 문장으로 컴파일된다. 사용자가 장치에 대하여 구두로 행한 쿼리(query)에 대한 응답으로 자연 언어 문장 출력을 원하는 것이 점차 보편화되고 있다. 가끔, 자연스럽게 표현되는 말로 하는 쿼리에 응답하여, 되돌아오는 자연 언어 문장 응답은 부정확하거나 로보틱(robotic)하고 자연스럽지 않은 음향이다.Natural language generation is generally performed using a set of triples from a knowledge base. Triples are compiled into valid natural language statements. It is increasingly common for a user to output a natural language sentence in response to a verbal query to the device. Sometimes, in response to a query that is spontaneously expressed, the natural language sentence response that comes back is inaccurate, robotic, and unnatural.
이 요약은 뒤의 상세한 설명 부분에서 더 구체적으로 설명하는 개념들의 선택을 간단한 형태로 소개하기 위해 제공된다. 이 요약은 청구된 주제의 핵심적인 특징 또는 본질적인 특징을 식별하기 위한 것으로 의도되지 않고, 또한 청구된 주제의 범위를 결정함에 있어서의 보조자로서 사용되는 것으로 의도되지 않는다.This summary is provided to introduce a selection of concepts in a simplified form that are more fully described in the detailed description which follows. This summary is not intended to identify key features or essential features of the claimed subject matter and is not intended to be used as an aid in determining the scope of the claimed subject matter.
본 발명의 실시형태는 특히 자연 언어 출력을 발생하는 시스템, 방법 및 컴퓨터 저장 매체에 관한 것이다. 언급한 바와 같이, 본 발명은 출력이 말하여질 때 잘 흐르는 문장이라는 점에서 정확하고(또는 유효하고) 자연스런 음향인 자연 언어 출력을 발생하고자 하는 것이다. 지식 베이스 트리플은 자연 언어 출력으로 변환될 수 있는 기계 판독가능 언어로 쿼리를 표현하기 위해 사용될 수 있다. 트리플은 특정 트리플에 대하여 사용하기에 적당한 하나 이상의 문장 구조와 연관될 수 있다. 여기에서 사용되는 문장 구조는 일반적으로 대체 가능한 하나 이상의 변수를 포함한 예시적인 문맥 자유 문장 형식을 말한다. 트리플 및/또는 문장 구조는 하나 이상의 제약조건(constraint)과 또한 연관될 수 있다. 여기에서 사용하는 제약조건은 일반적으로 변수에 대하여 대체 가능한 값의 유형을 제한하는 규칙을 말한다. 문장 구조는 그 문장 구조와 연관된 제약조건이 만족될 때 출력 응답으로서 사용될 수 있고, 이에 대해서는 후술한다.Embodiments of the present invention are particularly directed to systems, methods and computer storage media for generating natural language output. As noted, the present invention seeks to produce a natural language output that is accurate (or valid) natural sound in that it is a well-flowing sentence when the output is spoken. Knowledge base triples can be used to represent queries in a machine-readable language that can be translated into natural language output. A triple may be associated with one or more sentence structures suitable for use with a particular triple. The sentence structure used herein refers to an exemplary context free sentence format that typically includes one or more substitutable variables. The triple and / or sentence structure may also be associated with one or more constraints. The constraints used here generally refer to rules that restrict the types of values that can be substituted for variables. The sentence structure can be used as an output response when the constraint associated with the sentence structure is satisfied, as will be described later.
따라서, 일 실시형태에 있어서, 본 발명은 하나 이상의 컴퓨팅 장치에 의해 실행된 때 자연 언어 출력을 발생하는 방법을 수행하는 컴퓨터 실행가능 명령어로 구체화된 하나 이상의 컴퓨터 저장 매체와 관련된다. 상기 방법은 사용자로부터 쿼리를 수신하는 단계와; 쿼리에 대한 응답을 식별하는 단계와; 상기 응답을 지식 베이스로부터의 구조화 데이터에 매핑하는 단계와; 상기 구조화 데이터와 연관된 문장 구조를 식별하는 단계와; 문장 구조와 연관된 하나 이상의 제약조건이 만족되는지 확인하는 단계와; 하나 이상의 제약조건을 각각 만족시킬 때 쿼리에 대한 출력 응답을 문장의 형태로 전달하는 단계를 포함한다.Thus, in one embodiment, the invention relates to one or more computer storage media embodied in computer-executable instructions for performing a method of generating a natural language output when executed by one or more computing devices. The method includes receiving a query from a user; Identifying a response to the query; Mapping the response to structured data from a knowledge base; Identifying a sentence structure associated with the structured data; Confirming that at least one constraint associated with the sentence structure is satisfied; And delivering an output response for the query in the form of a statement when each of the one or more constraints is satisfied.
또 다른 실시형태에 있어서, 본 발명은 자연 언어 출력을 발생하는 컴퓨터 시스템에 관련된다. 시스템은 하나 이상의 프로세서 및 하나 이상의 컴퓨터 저장 매체를 구비한 자연 언어 엔진과 연관된 컴퓨팅 장치와; 상기 자연 언어 엔진과 결합된 데이터 저장부를 포함하고, 상기 자연 언어 엔진은 쿼리에 대한 응답을 식별하고, 상기 응답을 지식 베이스로부터의 구조화 데이터에 매핑하고, 상기 구조화 데이터와 연관된 문장 구조를 식별하고, 문장 구조와 연관된 하나 이상의 제약조건을 식별하고, 쿼리에 대한 출력 응답을 문장의 형태로 전달한다.In another embodiment, the invention relates to a computer system for generating natural language output. A system includes a computing device associated with a natural language engine having one or more processors and one or more computer storage media; Wherein the natural language engine identifies a response to a query, maps the response to structured data from a knowledge base, identifies a sentence structure associated with the structured data, Identifies one or more constraints associated with the sentence structure, and conveys the output response for the query in the form of a sentence.
다른 하나의 실시형태에 있어서, 본 발명은 자연 언어 출력을 발생하는 컴퓨터화 방법과 관련된다. 이 방법은 사용자로부터 쿼리를 수신하는 단계와; 음성 입력 쿼리에 대한 응답을 식별하는 단계와; 상기 응답을 트리플의 집합에 매핑하는 단계와; 상기 트리플의 집합과 연관된 적어도 하나의 규칙- 이 적어도 하나의 규칙은 트리플의 집합과 연관된 문맥 자유 문법 문장 구조 및 상기 문맥 자유 문법 문장과 연관된 적어도 하나의 제약조건을 포함한 것임 -을 식별하는 단계와; 적어도 하나의 제약조건이 만족되는지 결정하는 단계와; 상기 문맥 자유 문법 문장과 연관된 적어도 하나의 제약조건이 만족된다고 결정한 때 음성 입력 쿼리에 대한 음성 출력 응답을 문장으로 전달하는 단계를 포함한다.In another embodiment, the invention relates to a computerized method of generating a natural language output. The method includes receiving a query from a user; Identifying a response to the speech input query; Mapping the response to a set of triples; At least one rule associated with the set of triples, the at least one rule comprising a context free grammar sentence structure associated with a set of triples and at least one constraint associated with the context free grammar sentence; Determining if at least one constraint is satisfied; And delivering a speech output response to the speech input query to the sentence when determining that at least one constraint associated with the context free grammar sentence is satisfied.
본 발명은 첨부 도면을 참조하면서 이하에서 상세히 설명된다.
도 1은 본 발명의 실시형태를 구현하는데 사용하기에 적합한 예시적인 컴퓨팅 환경의 블록도이다.
도 2는 본 발명의 실시형태를 구현하는데 사용하기에 적합한 자연 언어 출력을 발생하기 위한 예시적인 시스템의 블록도이다.
도 3은 본 발명의 실시형태에 따른, 자연 언어 출력을 발생하기 위한 예시적인 방법의 흐름도이다.
도 4는 본 발명의 실시형태에 따른, 자연 언어 출력을 발생하는 예시적인 방법의 흐름도이다.
도 5는 본 발명의 실시형태에 따른, 자연 언어 출력을 발생하는 예시적인 방법의 흐름도이다.The present invention is described in detail below with reference to the accompanying drawings.
1 is a block diagram of an exemplary computing environment suitable for use in implementing an embodiment of the invention.
2 is a block diagram of an exemplary system for generating a natural language output suitable for use in implementing an embodiment of the present invention.
3 is a flow diagram of an exemplary method for generating a natural language output, in accordance with an embodiment of the present invention.
4 is a flow diagram of an exemplary method for generating a natural language output, in accordance with an embodiment of the present invention.
5 is a flow diagram of an exemplary method for generating a natural language output, in accordance with an embodiment of the present invention.
본 발명의 주제가 법적 요건을 충족시키도록 여기에서 구체적으로 설명된다. 그러나 설명 자체는 본 특허의 범위를 한정하는 것으로 제한되지 않는다. 그보다, 본 발명자들은 청구되는 주제가 다른 현재의 기술 또는 미래의 기술과 함께, 이 명세서에서 설명하는 것과 유사한 다른 단계들 또는 단계들의 조합을 포함하는 다른 방식으로 또한 실시될 수 있다고 생각하고 있다. 더욱이, 비록 용어 "단계" 및/또는 "블록"은 사용되는 다른 방법 요소들을 내포하도록 여기에서 사용될 수 있지만, 이 용어들은 개별 단계들의 순서가 명시적으로 설명되지 않는 한, 및 명시적으로 설명된 때를 제외하고, 여기에서 개시된 각종 단계들 간에 임의의 특정 순서를 암시하는 것으로 해석하지 말아야 한다.The subject matter of the present invention is specifically described herein to meet legal requirements. However, the description itself is not limited to limiting the scope of the present patent. Rather, the inventors contemplate that the claimed subject matter may also be practiced in other ways, including other steps or combinations of steps similar to those described in this specification, along with other current or future techniques. Furthermore, although the terms "step" and / or "block" may be used herein to encompass other method elements that are used, they are used interchangeably unless the order of the individual steps is explicitly stated, It should not be interpreted as implying any particular order between the various steps disclosed herein.
여기에서 설명하는 기술의 각종 양태는 일반적으로, 다른 무엇보다도 특히, 자연 언어 출력을 발생하는 시스템, 방법 및 컴퓨터 저장 매체에 관한 것이다. 본 발명은 출력이 말하여질 때 잘 흐르는 문장이라는 점에서 정확하고(또는 유효하고) 자연스런 음향인 자연 언어 출력을 발생하는 것과 관련된다. 지식 베이스 트리플은 기계 판독가능 언어로 쿼리를 표현하기 위해 사용될 수 있다. 트리플은 특정 트리플에 대하여 사용하기에 적당한 문장 구조와 연관될 수 있다. 여기에서 사용되는 문장 구조는 일반적으로 대체 가능한 하나 이상의 변수를 포함한 예시적인 문맥 자유 문장 형식을 말한다. 트리플 및/또는 문장 구조는 하나 이상의 제약조건과 또한 연관될 수 있다. 여기에서 사용하는 제약조건은 일반적으로 변수에 대하여 대체 가능한 값의 유형을 제한하는 규칙을 말한다. 문장 구조는 그 문장 구조와 연관된 제약조건이 만족된 때 출력 응답으로서 사용될 수 있다.Various aspects of the techniques described herein generally relate to, among other things, systems, methods, and computer storage media that generate natural language output. The present invention relates to generating a natural language output that is accurate (or valid) and natural sound in that the output is a well-flowing sentence when spoken. Knowledge base triples can be used to represent queries in a machine-readable language. A triple can be associated with a sentence structure suitable for use with a particular triple. The sentence structure used herein refers to an exemplary context free sentence format that typically includes one or more substitutable variables. The triple and / or sentence structure may also be associated with one or more constraints. The constraints used here generally refer to rules that restrict the types of values that can be substituted for variables. The sentence structure can be used as an output response when the constraint associated with the sentence structure is satisfied.
본 발명의 실시형태의 개관을 간단히 설명하였고, 본 발명의 실시형태를 구현할 수 있는 예시적인 운영 환경이 본 발명의 각종 양태에 대한 일반적인 상황(context)을 제공하기 위해 이하에서 설명된다. 일반적으로 도면, 특히 먼저 도 1을 참조하면, 본 발명의 실시형태를 구현하기 위한 예시적인 운영 환경이 도시되어 있고 전체적으로 컴퓨팅 장치(100)로서 표시되어 있다. 그러나 컴퓨팅 장치(100)는 적당한 컴퓨팅 환경의 일 예이고, 본 발명의 실시형태의 사용 또는 기능의 범위에 대하여 임의의 제한을 주는 것으로 의도되지 않는다. 컴퓨팅 장치(100)는 예시된 컴포넌트들의 임의의 하나 또는 그 조합에 관한 임의의 종속성 또는 필요조건을 갖는 것으로 해석되지 않아야 한다.An overview of an embodiment of the present invention is briefly described and an exemplary operating environment in which embodiments of the present invention may be implemented is described below to provide a general context for various aspects of the present invention. Referring generally to the drawings and particularly to FIG. 1, an exemplary operating environment for implementing an embodiment of the present invention is shown and generally designated as
발명의 실시형태는 개인용 정보 단말기, 스마트폰, 태블릿 PC 또는 다른 핸드헬드 장치와 같은 컴퓨터 또는 다른 기계에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 사용 가능 또는 컴퓨터 실행가능 명령어를 포함한 컴퓨터 코드 또는 기계 사용 가능 명령어의 일반적인 관계로 설명될 수 있다. 일반적으로, 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상적 데이터 유형을 구현하는 코드를 말한다. 발명의 실시형태는 핸드헬드 장치, 가전제품, 범용 컴퓨터, 특수 용도 컴퓨팅 장치 등을 포함한 다양한 시스템 구성으로 실시될 수 있다. 발명의 실시형태는 또한 태스크들이 통신 네트워크를 통해 연결된 원격 처리 장치에 의해 수행되는 분산형 컴퓨팅 환경에서 실시될 수 있다. 분산형 컴퓨팅 환경에 있어서, 프로그램 모듈은 메모리 저장 장치를 포함한 국부 및 원격 컴퓨터 저장 매체에 위치될 수 있다.Embodiments of the invention may be implemented as computer code or machine-executable instructions, including computer-usable or computer-executable instructions, such as program modules, executed by a computer, such as a personal digital assistant, smartphone, tablet PC or other handheld device, As shown in FIG. Generally, program modules, including routines, programs, objects, components, data structures, etc., refer to code that performs a particular task or implements a particular abstract data type. Embodiments of the invention may be practiced with a variety of system configurations including handheld devices, consumer electronics, general purpose computers, special purpose computing devices, and the like. Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located on local and remote computer storage media including memory storage devices.
다시, 도 1을 참조하면, 컴퓨팅 장치(100)는 메모리(112), 하나 이상의 프로세서(114), 하나 이상의 프리젠테이션 컴포넌트(116), 하나 이상의 입/출력(I/O) 포트(118), 하나 이상의 I/O 컴포넌트(120) 및 예시적인 전원장치(122)를 직접 또는 간접적으로 결합하는 버스(110)를 포함한다. 버스(110)는 하나 이상의 버스(예를 들면, 어드레스 버스, 데이터 버스 또는 이들의 조합)를 대표한다. 비록 도 1의 각종 블록이 명확성을 위해 선으로 도시되어 있지만, 사실상 이 블록들은 반드시 실제적일 필요가 없고 논리적 컴포넌트들을 표시한다. 예를 들면, I/O 컴포넌트로 되는 디스플레이 장치와 같은 프리젠테이션 컴포넌트를 생각할 수 있다. 또한, 프로세서는 메모리를 구비한다. 본 발명자들은 이러한 것들이 기술의 특징임을 인식하고 도 1의 도면이 본 발명의 하나 이상의 실시형태와 함께 사용될 수 있는 예시적인 컴퓨팅 장치의 단지 예임을 반복한다. "워크스테이션", "서버", "랩톱", "핸드헬드 장치" 등과 같은 카테고리들은 모두 도 1의 범위 내에 있기 때문에 이들을 구별하여 설명하지 않고 "컴퓨팅 장치"로 인용한다.1,
컴퓨팅 장치(100)는 전형적으로 각종의 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨팅 장치(100)에 의해 접근 가능한 임의의 가용 매체일 수 있고 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터 저장 매체와 통신 매체를 포함하고, 컴퓨터 저장 매체는 신호 자체를 배제한다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 저장 매체는, 비제한적인 예를 들자면, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 장치, 또는 원하는 정보를 저장하기 위해 사용할 수 있고 컴퓨팅 장치(100)에 의해 접근될 수 있는 임의의 다른 매체를 포함한다. 컴퓨터 저장 매체는 신호 자체를 포함하지 않는다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 반송파 또는 다른 운송 메커니즘과 같은 피변조 데이터 신호로 구체화하고 임의의 정보 전달 매체를 포함한다. 용어 "피변조 데이터 신호"는 그 특성 집합을 하나 이상 갖는 신호 또는 신호 내의 정보를 인코드하는 그러한 방식으로 변경된 신호를 의미한다. 비제한적인 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다. 전술한 것들의 임의 조합도 또한 컴퓨터 판독가능 매체의 범위에 포함되어야 한다.
메모리(112)는 휘발성 및/또는 비휘발성 메모리의 형태인 컴퓨터 저장 매체를 포함한다. 메모리는 분리형, 비분리형 또는 이들의 조합일 수 있다. 예시적인 하드웨어 장치는 반도체 메모리, 하드 드라이브, 광디스크 드라이브 등을 포함한다. 컴퓨팅 장치(100)는 메모리(112) 또는 I/O 컴포넌트(120)와 같은 각종 엔티티로부터 데이터를 판독하는 하나 이상의 프로세서를 포함한다. 프리젠테이션 컴포넌트(116)는 사용자 또는 다른 장치에게 데이터 표시를 제시한다. 예시적인 프리젠테이션 컴포넌트는 디스플레이 장치, 스피커, 프린팅 컴포넌트, 진동 컴포넌트 등을 포함한다.
I/O 포트(118)는 I/O 컴포넌트(120)를 비롯한 다른 장치에 컴퓨팅 장치(100)가 논리적으로 결합되게 하며, 상기 I/O 컴포넌트(120) 중의 일부는 내장될 수 있다. 예시적인 I/O 컴포넌트는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, 프린터, 무선 장치, 스타일러스와 키보드 및 마우스와 같은 컨트롤러, 내추럴 사용자 인터페이스(natural user interface, NUI) 등을 포함한다. NUI는 사용자에 의해 발생된 에어 제스처(air gesture), 음성 또는 다른 생리적 입력을 처리한다. 이러한 입력은 검색 프리픽스(search prefix), 검색 요청, 의도 제안(intent suggestion)과 상호작용하는 요청, 엔티티 또는 서브엔티티와 상호작용하는 요청, 또는 컴퓨팅 장치(100)에 의해 제시되는 광고, 엔티티 또는 명확화 타일, 동작, 검색 이력 등과 상호작용하는 요청으로서 해석될 수 있다. 이러한 요청은 추가의 처리를 위해 적당한 네트워크 요소에 전송될 수 있다. NUI는 컴퓨팅 장치(100)의 디스플레이와 연관된 스피치 인식, 터치 및 스타일러스 인식, 안면 인식, 생체 인식, 화면 위 또는 화면 부근에서의 행동 인식, 에어 제스처, 머리 및 눈 추적, 및 터치 인식 등의 임의 조합을 구현한다. 컴퓨팅 장치(100)는 행동 검출 및 인식을 위해 입체 카메라 시스템, 적외선 카메라 시스템, RGB 카메라 시스템 및 이들의 조합과 같은 깊이 카메라를 구비할 수 있다. 게다가, 컴퓨팅 장치(100)는 움직임 검출을 가능하게 하는 가속도계 또는 자이로스코프를 구비할 수 있다. 가속도계 또는 자이로스코프의 출력은 몰입 증강 현실 또는 가상 현실을 연출하기 위해 컴퓨팅 장치(100)의 디스플레이에 제공된다.The I /
여기에서 설명하는 주제의 각종 양태는 컴퓨팅 장치에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 관계로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상적 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 여기에서 설명하는 주제의 각종 양태는 또한 태스크들이 통신 네트워크를 통해 연결된 원격 처리 장치에 의해 수행되는 분산형 컴퓨팅 환경에서 실시될 수 있다. 분산형 컴퓨팅 환경에 있어서, 프로그램 모듈은 메모리 저장 장치를 포함한 국부 및 원격 컴퓨터 저장 매체에 위치될 수 있다.Various aspects of the subject matter described herein may be described in the general context of computer-executable instructions, such as program modules, being executed by a computing device. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Various aspects of the subject matter described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located on local and remote computer storage media including memory storage devices.
비록 용어 "서버"가 여기에서 가끔 사용되지만, 이 용어는 검색 엔진, 웹 브라우저, 클라우드 서버, 하나 이상의 컴퓨터에 분산된 하나 이상 처리의 집합, 하나 이상의 독립형 저장 장치, 하나 이상의 다른 컴퓨팅 또는 저장 장치의 집합, 전술한 것들의 하나 이상의 조합 등을 또한 포함할 수 있다.Although the term "server" is sometimes used herein, the term refers to a search engine, a web browser, a cloud server, a set of one or more processes distributed on one or more computers, one or more standalone storage devices, Combinations, combinations of one or more of the foregoing, and the like.
이제, 도 2를 참조하면, 본 발명의 실시형태를 사용할 수 있는 예시적인 컴퓨팅 시스템(200)을 보인 블록도가 도시되어 있다. 일반적으로 컴퓨팅 시스템(200)은 자연 언어 출력이 발생되는 환경을 나타낸다.Referring now to FIG. 2, a block diagram illustrating an
도시 생략된 다른 컴포넌트들도 있지만, 컴퓨팅 시스템(200)은 일반적으로 네트워크(202), 사용자 장치(204), 데이터베이스(206) 및 자연 언어 엔진(208)을 포함한다. 네트워크(202)는 비제한적인 예를 들자면 하나 이상의 근거리 통신망(LAN) 및/또는 광역 통신망(WAN)을 포함할 수 있다. 이러한 네트워킹 환경은 사무소, 기업형 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔한 것이다. 따라서 네트워크(202)는 여기에서 더 이상 설명하지 않는다.
데이터베이스(206)는 데이터를 저장할 수 있는 임의 유형의 데이터 저장 장치일 수 있다. 그래서 데이터베이스(206)는 데이터의 온라인 저장소(repository)일 수 있다. 데이터베이스는 컴퓨터 네트워크에서 흔한 것이고, 따라서 여기에서 더 이상 설명하지 않는다.The
사용자 장치(204)는 음성 입력 쿼리를 전송하고 음성 출력 쿼리를 수신할 수 있는 임의의 컴퓨팅 장치일 수 있다. 예를 들면, 도 1의 컴퓨팅 장치(100)는 예시적인 사용자 장치일 수 있다. 특정 실시형태에서, 사용자 장치(204)는 모바일 폰이다.
자연 언어 엔진(208)은 본 발명을 구현할 수 있는 임의의 장치일 수 있다. 자연 언어 엔진(208)은 특히 쿼리에 응답하여 자연 언어 출력을 컴파일하도록 구성될 수 있다. 일 실시형태에 있어서, 자연 언어 출력은 문장(예를 들면, 사용자 장치(204)가 판독한 문장)의 형태로 된 구두 응답이다. 일 실시형태에 있어서, 단일 문장은 자연 언어 출력이다. 대안적인 실시형태에 있어서, 복수의 문장이 출력될 수 있다. 자연 언어 엔진(208)은 수신 컴포넌트(210), 식별 컴포넌트(212), 매핑 컴포넌트(214), 구성 컴포넌트(216), 제약조건 검증기(218) 및 통신 컴포넌트(220)를 포함할 수 있다.The
수신 컴포넌트(210)는 특히 하나 이상의 쿼리를 수신하도록 구성될 수 있다. 쿼리는 예를 들면 사용자 장치(204)를 통해 사용자에 의해 입력될 수 있다. 실시형태에 있어서, 쿼리는 음성 입력 쿼리이고, 이것은 쿼리가 키보드를 통한 입력이 아니라 사용자의 말에 의한 입력임을 의미한다. 그러나 쿼리는 일부 예에서 키보드를 통한 입력일 수 있다.The receiving
앞에서 언급한 바와 같이 음성 입력 쿼리는 사용자의 말에 의해 행하여질 수 있다. 음성 입력 쿼리는 자연 언어 형식으로 말해질 수 있다. 다시 말해서, 음성 입력 쿼리는 전형적으로 사용자가 예컨대 다른 사람에게 자연스럽게 묻는 것과 같은 질문 형식으로 제공된다. 그래서 음성 입력 쿼리의 의미는 파서(parser)(도시 생략됨)에 의해 식별될 수 있다. 어의론적 의미에 대한 검색 쿼리의 파싱은 업계에 공지되어 있고, 쿼리의 의미를 식별하기 위해 당업자가 알고 있는 임의의 방법을 이용할 수 있다. 쿼리의 의미를 식별하는 것은 쿼리에 응답하여 식별된 응답이 정확하게 될 가능성을 증가시킨다.As mentioned above, the voice input query can be performed by the user. Speech input queries can be spoken in a natural language format. In other words, the speech input query is typically provided in the form of a question such that the user naturally asks the other person, for example. Thus, the meaning of the speech input query can be identified by a parser (not shown). The parsing of search queries for semantic meaning is well known in the art, and any method known to those skilled in the art may be used to identify the meaning of the query. Identifying the meaning of the query increases the likelihood that the identified response in response to the query will be correct.
식별 컴포넌트(212)는 특히 음성 입력 쿼리에 대한 응답을 식별하도록 구성될 수 있다. 식별 컴포넌트(212)는 응답을 식별하기 위해 (파서에 의해 식별된) 음성 입력 쿼리의 의미를 이용할 수 있다. 응답은 데이터베이스(206)로부터 식별될 수 있다. 예시적인 음성 입력 쿼리:응답 쌍은 다음과 같다.The
음성 입력 쿼리: 톰 행크스의 직업이 뭐니?Voice input query: What is Tom Hanks' job?
응답: 배우Answer: Actor
이 예에서 파서는 소스 엔티티(즉, 톰 행크스)의 직업을 식별함으로써 음성 입력 쿼리의 의미를 식별할 수 있다.In this example, the parser can identify the meaning of the speech input query by identifying the job of the source entity (i.e., Tom Hanks).
매핑 컴포넌트(214)는 특히 음성 입력 쿼리에 대한 응답을 지식 베이스의 구조화 데이터에 매핑하도록 구성될 수 있다. 이 구조화 데이터는 하나 이상의 트리플일 수 있다. 여기에서 사용하는 트리플의 집합은 주어, 술어 및 목적어의 그루핑을 말한다. 응답을 트리플의 집합에 매핑하면 자연 언어 음성 입력 쿼리 및 응답을 자연 언어 엔진(208)이 판독할 수 있는 형식으로 변환한다.The
상기 예와 관련하여, 트리플의 집합은 다음과 같을 수 있다.With respect to the above example, the set of triples may be as follows.
톰 행크스, 직업, 배우Tom Hanks, profession, actor
트리플의 집합은 또한 다음과 같이 보일 수 있다.The set of triples can also look like this:
톰 행크스, 현재 직업, 배우Tom Hanks, Current Occupation, Actor
톰 행크스는 주어이고, 직업 또는 현재 직업은 술어이고, 배우는 목표(target) 또는 목적어이다.Tom Hanks is the subject, the occupation or current job is the predicate, and the actor is the target or object.
응답이 트리플의 집합에 매핑되면, 시스템(200)은 트리플의 집합에 대한 문장 구조를 식별할 수 있다. 구성 컴포넌트(216)는 특히 트리플의 집합과 연관된 하나 이상의 문장 구조를 식별하도록 구성될 수 있다. 전술한 바와 같이, 문장 구조는 값으로 대체될 수 있는 하나 이상의 변수를 포함한 예시적인 문맥 자유 문장 형식이다. 다시 말해서, 변수는 문맥으로 대체될 수 있다. 각각의 문장 구조가 소정 집합의 상황하에서만 유효하기 때문에 임의의 트리플 집합과 연관된 유효 문장 구조의 유한 집합이 있다.If the response is mapped to a set of triples, the
상기 열거한 트리플 집합(즉, 톰 행크스, 현재 직업, 배우)과 연관될 수 있는 예시적인 문장 구조는 다음과 같다.An exemplary sentence structure that can be associated with the triple set listed above (i.e., Tom Hanks, current job, actor) is as follows.
[소스 엔티티 ID] 현재 직업은 [목표 엔티티 ID]이다.[Source Entity ID] The current job is [Target Entity ID].
이 예에서, 변수는 [소스 엔티티 ID]와 [목표 엔티티 ID]이다. 소스 엔티티 ID는 톰 행크스로 교체되고 목표 엔티티 ID는 배우로 교체되어 다음과 같은 문장 출력을 산출할 수 있다.In this example, the variables are [Source Entity ID] and [Target Entity ID]. The source entity ID is replaced by Tom Hanks, and the target entity ID is replaced by an actor, yielding the following sentence output:
출력: 톰 행크스의 현재 직업은 배우이다.Output: Tom Hanks' current job is actor.
문장 구조는 트리플의 집합 및 제약조건들의 집합과 연관될 수 있다. 앞에서 언급한 바와 같이, 제약조건은 여기에서 일반적으로 변수에 대하여 대체될 수 있는 값의 유형을 제한하는 규칙들을 말한다. 제약조건은 문장 구조가 특정의 트리플 집합에만 적용할 수 있는 것을 확실히 하기 위해 사용된다. 예를 들면, 상기 문장 구조The sentence structure can be associated with a set of triples and a set of constraints. As mentioned earlier, constraints refer to rules that generally limit the types of values that can be substituted for variables. The constraint is used to ensure that the sentence structure can only be applied to a particular triple set. For example,
[소스 엔티티 ID] 현재 직업은 [목표 엔티티 ID]이다.[Source Entity ID] The current job is [Target Entity ID].
는 다음과 같은 트리플 집합에 적용할 수 없다.Can not be applied to the following triple sets.
톰 행크스, 키, 6피트Tom Hanks, Key, 6 feet
이 트리플 집합은 톰 행크스의 키에 관한 음성 입력 쿼리와 명확히 연관된다. 따라서, 현재 직업을 세부화하는 문장 구조는 관련되지 않는다. 제약조건 검증은 유효 문장 구조가 음성 출력 응답으로 선택되는 것을 보장한다.This triple set is clearly associated with a voice input query about Tom Hanks' key. Thus, the sentence structure that details the current job is not relevant. The constraint validation ensures that the valid sentence structure is selected as the speech output response.
제약조건 검증기(218)는 특히 문장 구조와 연관된 하나 이상의 제약조건을 검증하도록 구성될 수 있다. 하나 이상의 문장 구조가 식별되면, 그 문장 구조와 연관된 제약조건들을 평가하여 제약조건들이 만족되는지 확인한다. 문장 구조를 음성 출력 응답으로서 사용하기 위하여, 문장 구조와 연관된 각각의 제약조건이 만족되어야 한다. 만일 각각의 제약조건이 만족되지 않으면, 모든 제약조건들이 만족되는 문장 구조가 식별될 때까지 다른 문장 구조를 평가할 수 있다. 예컨대, 하기의 예를 보자.The constraint validator 218 may be specifically configured to validate one or more constraints associated with the sentence structure. If more than one statement structure is identified, the constraints associated with the statement structure are evaluated to ensure that the constraints are satisfied. In order to use the sentence structure as a speech output response, each constraint associated with the sentence structure must be satisfied. If each constraint is not satisfied, the other sentence structure can be evaluated until a statement structure in which all constraints are satisfied is identified. For example, consider the following example.
음성 입력 쿼리: 톰 행크스의 키는 얼마니?Voice Input Query: How high is Tom Hanks?
응답: 6피트Answer: 6 feet
트리플: 톰 행크스, 키, 6피트Triple: Tom Hanks, Key, 6 feet
이 트리플은 하기의 문장 구조와 연관될 수 있다.This triple can be associated with the following sentence structure.
[소스 엔티티 ID]는 키가 [목표 엔티티 ID] 피트이다.[Source Entity ID] is the key whose [Target Entity ID] is pit.
이 문장 구조는 특히 하기의 제약조건과 연관될 수 있다.This sentence structure can be particularly related to the following constraints.
제약조건 1: [소스 엔티티 ID] = 사람Constraint 1: [Source Entity ID] = Person
제약조건 2: [목표 엔티티 ID] = 숫자Constraint 2: [target entity ID] = number
이 예에서, [소스 엔티티 ID]는 톰 행크스(즉, 사람)이고 [목표 엔티티 ID]는 6(즉, 숫자)이다. 따라서, 각각의 제약조건 1과 2가 만족된다. 이 경우에, 제약조건 검증기(218)는 각각의 제약조건이 만족된다고 결정하고 문장 구조가 유효 무장 구조라고 식별한다. 제약조건은 주어, 목적어, 술어, 주어와 목적어 간의 관계 등을 제한할 수 있다.In this example, [Source Entity ID] is Tom Hanks (i.e., person) and [Target Entity ID] is 6 (i.e., a number). Therefore, constraint conditions 1 and 2 are satisfied. In this case, the constraint validator 218 determines that each constraint is satisfied and identifies the statement structure as a valid armed structure. Constraints can limit subject, object, predicate, relationship between subject and object.
대안적으로, 만일 문장 구조가 유효 문장 구조가 아닌 것으로 밝혀지면(예를 들면, 문장 구조와 연관된 각 제약조건들이 만족되지 않으면), 문장 구조는 음성 출력 응답으로서 사용할 유효 문장 구조로서 선택되지 않을 것이다. 그 상황에서는 트리플의 집합과 연관된 다른 문장 구조가 식별되고 그 문장 구조와 연관된 제약조건들이 검증될 수 있다. 만일 유효 문장 구조가 식별되지 않으면 출력이 전달되지 않는다.Alternatively, if the sentence structure is found not to be a valid sentence structure (e.g., each constraint associated with the sentence structure is not satisfied), the sentence structure will not be selected as a valid sentence structure to use as a speech output response . In that situation, other sentence structures associated with the set of triples are identified and the constraints associated with the sentence structure can be verified. If no valid sentence structure is identified, the output is not delivered.
통신 컴포넌트(220)는 특히 음성 출력 응답을 전달하도록 구성될 수 있다. 음성 출력 응답은 단일 문장 또는 복수의 문장일 수 있다. 예를 들면, 전술한 예에 있어서, 음성 출력 응답은 "톰 행크스는 키가 6피트이다"일 수 있다. 통신 컴포넌트(220)는 이 음성 출력 응답을 사용자 장치(204)에 전송할 수 있다.The
일 실시형태에 있어서, 통신 컴포넌트(220)는 검색 결과 페이지와 함께 음성 출력 응답을 전달할 수 있다. 예를 들면, 음성 출력 응답 "톰 행크스는 키가 6피트이다"는 말로 전달(될 뿐만 아니라 텍스트로 전달)될 수 있고 이때 검색 결과 페이지도 또한 제시된다. 검색 결과 페이지는 음성 출력 응답에 대한 소스일 수 있다.In one embodiment,
일 실시형태에 있어서, 등급화 컴포넌트(도시 생략됨)는 특히 2개 이상의 문장 구조가 유효일 때 문장 구조들을 등급 짓도록 구성될 수 있다. 예를 들어서 만일 문장이 출생지와 출생일을 포함한 응답을 위하여 음성 입력 쿼리에 대한 응답으로 구성되어야 하면, 먼저 출생일을 말하고 그 다음에 출생지를 말하는 것이 바람직할 수 있다. 예를 들면, "톰 행크스의 출생지 및 출생일"의 음성 입력 쿼리에 대하여 출력 응답은 "톰 행크스는 1956년 7월 9일에 콩코드 시티에서 태어났다"일 수 있다. 이 문장 구조는 출생지를 먼저 나열하는 것보다 더 나은 흐름으로 간주될 수 있다. 등급화 컴포넌트는 상위 등급의 문장 구조가 선택되도록 시스템(200)에 구축된 각종 선호도 및/또는 규칙에 기초하여 문장 구조를 등급짓도록 구성될 수 있다.In one embodiment, the grading component (not shown) may be configured to rank sentence structures especially when two or more sentence structures are in effect. For example, if a sentence is to be composed in response to a speech input query for a response that includes the place of birth and the date of birth, it may be desirable to first say the date of birth and then say the place of birth. For example, the output response for a voice input query of "Tom Hanks ' s birth and birth date " may be" Tom Hanks was born in Concord City on July 9, 1956 ". This sentence structure can be regarded as a better flow than first listing the place of birth. The grading component may be configured to rank the sentence structure based on various preferences and / or rules established in the
응용시에, 음성 입력 쿼리가 수신된다. 예시적인 음성 입력 쿼리는 "톰 행크스의 부인은 누구니?"일 수 있다. 이 쿼리에 대한 응답은 "리타 윌슨"이다. 이 음성 입력 쿼리 및 응답은 "톰 행크스, 결혼, 리타 윌슨"처럼 보이는 트리플 집합에 매핑될 수 있다. 이 응답 및 트리플과 연관된 문장 구조가 식별될 수 있다. 예시적인 관련 문장 구조는 하기와 같을 수 있다.In application, a speech input query is received. An exemplary speech input query may be "Who is Tom Hanks' wife?" The answer to this query is "Rita Wilson". This voice input query and response can be mapped to a triple set that looks like "Tom Hanks, marriage, Rita Wilson". This response and the sentence structure associated with the triple can be identified. An exemplary related sentence structure may be as follows.
[소스 엔티티 ID]는 [토큰] 이래로 [목표 엔티티 ID]와 현재 결혼상태이다.The [Source Entity ID] is the [Target Entity ID] and the current marital status since [Token].
그 다음에 문장 구조와 연관된 제약조건들의 집합이 식별된다. 이 특수 문장에 대한 제약조건들의 집합은 다음과 같다.A set of constraints associated with the sentence structure is then identified. The set of constraints for this special sentence is:
제약조건 1: 소스 엔티티 ID = 사람Constraint 1: Source Entity ID = Person
제약조건 2: 목표 엔티티 ID = 사람Constraint 2: Target Entity ID = Person
제약조건 3: 종료일 없는 소스 엔티티 ID와 목표 엔티티 ID 간의 결혼Constraint 3: Marriage between Source Entity ID and Target Entity ID without end date
제약조건 4: 토큰(token): 년Constraint 4: token: year
제약조건 3은 종료일이 없을 때 현재 결혼으로 문장 구조를 제한한다. 이 예에서 소스 엔티티 ID는 톰 행크스(즉, 사람)이고, 목표 엔티티 ID는 리타 윌슨(즉, 사람)이며, 결혼은 이들이 1988년(즉, 토큰) 이후 결혼 상태이기 때문에 종료일은 없다. 따라서, 모든 제약조건은 만족되고 문장 구조는 유효인 것으로 식별될 수 있다. 음성 출력 응답은 "톰 행크스는 1988년 이래로 리타 윌슨과 현재 결혼 상태이다"일 수 있다.Constraint 3 restricts the sentence structure to the current marriage when there is no end date. In this example, the source entity ID is Tom Hanks (i.e., a person), the target entity ID is Rita Wilson (i.e., a person), and the marriage has no end date because they are married after 1988 (i.e., a token). Thus, all constraints are satisfied and the sentence structure can be identified as valid. The voice output response could be "Tom Hanks is currently married to Rita Wilson since 1988".
추가의 문장이 음성 출력 응답에 추가될 수 있다. 추가의 문장은 쿼리의 의미에 기초하여 요구될 수 있다. 예를 들면, 전부인에 대하여 알기 위해 톰 행크스의 부인에 대하여 묻는 것이 누군가에게는 유용할 수 있다. 추가의 트리플 집합이 음성 입력 쿼리와 연관될 수 있다. 예를 들면, 추가의 트리플 집합은 "톰 행크스, 이전 결혼, 사만타 루이스"와 같이 보일 수 있다. 추가의 문장은 문장 구조와 연관될 수 있다. 잠재적 문장 구조를 식별할 때, 2개의 문장이 함께 흐르도록 1차 문장 구조(즉, "[소스 엔티티 ID]는 [토큰] 이래로 [목표 엔티티 ID]와 현재 결혼 상태이다.")가 식별될 수 있다. 후속 문장 구조는 "[소스 엔티티 ID]는 [토큰]부터 [토큰]까지 [목표 엔티티 ID]와 이전에 결혼했다"일 수 있다. 이 문장 구조와 연관된 제약조건은 다음과 같을 수 있다.Additional sentences can be added to the voice output response. Additional statements may be required based on the semantics of the query. For example, asking about Tom Hanks' wife to find out about the ex-wife can be useful to anyone. Additional triple sets may be associated with the speech input query. For example, an additional triple set can look like "Tom Hanks, Previous Marriage, Samantha Lewis". Additional sentences can be associated with the sentence structure. When identifying a potential sentence structure, the primary sentence structure (ie, "[source entity ID] is the [target entity ID] and current marital status since [token]]" can be identified so that the two sentences flow together have. The subsequent sentence structure may be "[Source Entity ID]" from [Token] to [Token] with [Target Entity ID]. " The constraints associated with this sentence structure may be as follows.
제약조건 1: 소스 엔티티 ID = 사람Constraint 1: Source Entity ID = Person
제약조건 2: 목표 엔티티 ID = 사람Constraint 2: Target Entity ID = Person
제약조건 3: 토큰 = 년Constraint 3: Token = years
제약조건 4: 소스 엔티티 ID와 목표 엔티티 ID 간의 결혼 종료일Constraint 4: The marriage end date between the source entity ID and the target entity ID
추가의 제약조건은 소스 엔티티 ID가 이전 문장에서와 동일한 소스 엔티티 ID이고 목표 엔티티 ID가 이전 문장에서의 목표 엔티티 ID와 다르도록 문장 구조를 더욱 좁히기 위해 제시될 수 있다.The additional constraint can be presented to further narrow the sentence structure such that the source entity ID is the same source entity ID as in the previous sentence and the target entity ID is different from the target entity ID in the previous sentence.
이 예에서의 각각의 제약조건은 톰 행크스와 사만타 루이스가 둘 다 결혼하였고 결혼 종료일을 가진 사람이기 때문에 만족된다. 따라서, 음성 출력 응답은 "톰 행크스는 1978년부터 1987년까지 사만타 루이스와 이전에 결혼했다"일 수 있다. 일 실시형태에 있어서, 후속 문장은 동일한 엔티티를 다시 설명하기보다는 대명사와 연관될 수 있다. 예를 들면, "톰 행크스는 1988년 이래로 리타 윌슨과 현재 결혼 상태이다. 톰 행크스는 1978년부터 1987년까지 사만타 루이스와 이전에 결혼했다"라고 하기보다, 출력은 그 대신 "톰 행크스는 1988년 이래로 리타 윌슨과 현재 결혼 상태이다. 그는 1978년부터 1987년까지 사만타 루이스와 이전에 결혼했다"라고 될 수 있다.Each constraint in this example is satisfied because both Tom Hanks and Samantha Lewis are married and have a marriage end date. Thus, the voice output response could be "Tom Hanks was previously married to Samant Lewis from 1978 to 1987". In one embodiment, subsequent sentences may be associated with pronouns rather than re-describing the same entity. For example, "Tom Hanks has been married to Rita Wilson since 1988. Tom Hanks was previously married to Samantha Lewis from 1978 to 1987." He has since married Rita Wilson, who had previously married Samantha Lewis from 1978 to 1987. "
추가의 예는 X가 Y 그룹의 이전 멤버인지 묻는 음성 입력 쿼리일 수 있다. 이 음성 입력 쿼리와 연관된 문장 구조는 "[소스 엔티티 ID]는 [목표 엔티티 ID]의 이전 멤버이다"일 수 있다. 이 예에 대한 예시적인 제약조건은 다음과 같을 수 있다.A further example may be a speech input query asking if X is a previous member of the Y group. The sentence structure associated with this speech input query may be "[Source Entity ID] is a previous member of [Target Entity ID] ". An exemplary constraint for this example may be:
제약조건 1: 소스 엔티티 ID = 사람Constraint 1: Source Entity ID = Person
제약조건 2: 목표 엔티티 ID = 정당Constraint 2: Target entity ID = party
제약조건 3: 소스 엔티티 ID는 더 이상 목표 엔티티 ID의 멤버가 아니다.Constraint 3: The source entity ID is no longer a member of the target entity ID.
제약조건들은 문장 구조가 적당한 상황에서 유효 문장 구조로서만 선택되는 것을 보장한다. 정당의 이전 멤버에 대하여 묻는 상기 예에 있어서, 순자산(net worth)(예를 들면, [소스 엔티티 ID] 순자산은 [토큰]이다)에 관한 문장 구조는 소스가 더 이상 목표의 멤버가 아니라고 하는 제약조건 3이 충족되지 않기 때문에 선택되지 않을 것이다.The constraints ensure that the sentence structure is selected only as a valid sentence structure in the appropriate context. In the above example of asking for a previous member of a party, the sentence structure for a net worth (e.g., [source entity ID] net asset is [token]) is a constraint that the source is no longer a member of the target It will not be selected because condition 3 is not satisfied.
이제, 도 3을 참조하면, 자연 언어 출력을 발생하는 예시적인 방법(300)의 흐름도가 도시되어 있다. 블록 302에서, 쿼리가 수신된다. 쿼리는 음성 입력 쿼리일 수 있다. 쿼리는 또한 텍스트 입력일 수 있다. 블록 304에서, 쿼리에 대한 응답이 식별된다. 이것은 쿼리의 의미에 기초를 둘 수 있다. 블록 306에서, 쿼리와 응답이 트리플의 집합에 매핑된다. 트리플의 집합은 기계 판독 가능한 방식으로 응답을 표시하고 자연 언어 출력으로 번역될 수 있다. 블록 308에서, 트리플의 집합과 연관된 규칙이 식별된다. 규칙은 하나 이상의 문장 구조 및 각 문장 구조와 연관된 하나 이상의 제약조건을 포함할 수 있다. 연관된 하나 이상의 문장 구조 및 하나 이상의 제약조건은 블록 310에서 식별된다. 블록 312에서, 제약조건들이 만족되는지 결정한다. 문장 구조와 연관된 각 제약조건은 문장 구조가 유효 문장 구조로 되기 위해 만족되어야 한다. 제약조건들이 만족되지 않는다는 결정에 기초하여, 방법(300)은 다른 문장 구조 및 연관된 평가 대상 제약조건들을 식별하기 위해 블록 310으로 되돌아간다. 이 과정은 유효 문장 구조가 식별되거나 평가 대상의 문장 구조가 더 이상 없을 때까지 계속된다. 만일 유효 문장 구조가 식별되지 않으면 출력이 발생되지 않을 것이다.Referring now to FIG. 3, a flow diagram of an
제약조건들이 만족된다는 결정에 기초해서, 블록 314에서 문장 구조가 유효로서 식별된다. 블록 316에서, 출력이 유효 문장 구조의 형식으로 전달된다. 출력은 단일 문장뿐이거나 복수의 문장일 수 있다. 출력은 출력이 사용자에게 말하여지도록 음성 출력일 수 있다.Based on the determination that the constraints are satisfied, the statement structure is identified as valid in
이제, 도 4를 참조하면, 자연 언어 출력을 발생하는 예시적인 방법(400)의 흐름도가 도시되어 있다. 블록 402에서, 쿼리가 수신된다. 쿼리는 음성 입력 쿼리일 수 있다. 블록 404에서, 쿼리에 대한 응답이 식별된다. 블록 406에서, 응답이 구조화 데이터에 매핑된다. 일 실시형태에 있어서, 구조화 데이터는 트리플의 집합이다. 블록 408에서, 응답 및 트리플의 집합과 연관된 문장 구조가 식별된다. 블록 410에서, 문장 구조와 연관된 하나 이상의 제약조건이 만족되는 것으로서 식별된다. 하나 이상의 제약조건이 만족된다고 식별한 때, 블록 412에서 출력 응답이 문장의 형태로 전달된다.Referring now to FIG. 4, a flow diagram of an
이제, 도 5를 참조하면, 자연 언어 출력을 발생하는 예시적인 방법(500)의 흐름도가 도시되어 있다. 블록 502에서, 음성 입력 쿼리가 수신된다. 음성 쿼리 입력은 트리플의 집합과 연관된 지식 그래프 경로에 대하여 해석 또는 파싱될 수 있다. 블록 504에서, 음성 입력 쿼리에 대한 응답이 식별된다. 응답은 해석된 지식 그래프 경로에 기초를 둘 수 있다. 블록 506에서, 응답과 쿼리가 트리플의 집합에 매핑된다. 트리플의 집합은 지식 그래프 경로와 연관될 수 있다. 블록 508에서, 트리플의 집합과 연관된 적어도 하나의 규칙이 식별된다. 적어도 하나의 규칙은 트리플의 집합과 연관된 하나 이상의 문장 구조 및 하나 이상의 문장 구조와 연관된 하나 이상의 제약조건을 포함한다. 실시형태에 있어서, 문장 구조는 모든 응답 트리플 제약조건을 만족시키는 문맥 자유 문법 문장이다. 블록 510에서, 적어도 하나의 제약조건이 만족되는지 결정한다. 적어도 하나의 제약조건이 만족되지 않는다고 결정한 때, 블록 514에서 문맥 자유 문법 문장이 유효하지 않은 것으로 식별되고 추가의 문장 구조가 평가될 수 있다. 추가의 문장 구조는 유효 문장 구조가 식별되거나 평가를 위해 식별되는 임의의 문장 구조가 더 이상 없을 때까지 평가될 수 있다. 그 다음에, 유효 문장 구조가 식별되면 최종 문장이 구성된다.Referring now to FIG. 5, a flow diagram of an
적어도 하나의 제약조건이 만족된다고 결정한 때, 블록 512에서 문장 구조가 유효 문장 구조로서 식별된다. 유효 문장 구조가 식별된 때, 블록 516에서, 음성 출력 응답이 전달된다.When it is determined that at least one constraint is satisfied, at
지금까지 본 발명을 특정 실시형태와 관련하여 설명하였지만, 이러한 실시형태는 모든 점에서 제한하는 것보다는 예시하는 것으로 의도된다. 본 발명이 속하는 기술 분야의 당업자에게는 본 발명의 범위로부터 벗어나지 않고 대안적인 실시형태가 가능할 것이다.While the invention has been described in connection with specific embodiments thereof, such embodiments are intended to be illustrative rather than limiting in all respects. Alternative embodiments will be apparent to those skilled in the art without departing from the scope of the present invention.
Claims (10)
사용자로부터 음성 입력 쿼리(query)를 수신하는 단계;
상기 음성 입력 쿼리에 대한 응답을 식별하는 단계;
상기 응답을, 구조화 데이터를 저장하도록 배열된 지식 베이스로부터의 상기 구조화 데이터에 매핑하는 단계로서, 이 매핑은 상기 응답을 자연 언어 엔진에 의해 사용되는 기계 판독가능 언어로 변환하는 것인, 상기 매핑하는 단계;
상기 응답이 매핑되는 상기 구조화 데이터와 연관된 문장 구조를 식별하는 단계;
상기 응답이 매핑되는 상기 구조화 데이터를 상기 문장 구조로 배열하는 단계;
유효 문장 구조만이 출력되도록 상기 문장 구조와 연관된 하나 이상의 제약조건이 만족되는지 확인하는 단계;
상기 하나 이상의 제약조건을 각각 만족시킬 때 상기 쿼리에 대한 출력 응답을 문장의 형태로 전달하는 단계
를 포함한, 자연 언어 출력 구성 방법.In a method for configuring natural language output in a server,
Receiving a voice input query from a user;
Identifying a response to the speech input query;
Mapping the response to the structured data from a knowledge base arranged to store structured data, the mapping converting the response to a machine readable language used by a natural language engine; step;
Identifying a sentence structure associated with the structured data to which the response is mapped;
Arranging the structured data to which the response is mapped into the sentence structure;
Confirming that at least one constraint associated with the sentence structure is satisfied such that only a valid sentence structure is output;
Delivering an output response for the query in the form of a statement when each of the one or more constraints is met;
To construct a natural language output.
상기 구조화 데이터는 하나 이상의 트리플(triple) 집합인 것인, 자연 언어 출력 구성 방법.The method according to claim 1,
Wherein the structured data is one or more triple sets.
상기 출력 응답은 웹 검색 결과 페이지와 함께 1 문장의 음성 출력인 것인, 자연 언어 출력 구성 방법.The method according to claim 1,
Wherein the output response is a one-sentence speech output along with a web search result page.
상기 출력 응답은 텍스트 출력을 더 포함한 것인, 자연 언어 출력 구성 방법.The method of claim 3,
Wherein the output response further comprises a text output.
하나 이상의 프로세서 및 하나 이상의 컴퓨터 저장 매체를 구비한 자연 언어 엔진과 연관된 컴퓨팅 장치;
상기 자연 언어 엔진과 결합된 데이터 저장부를 포함한 메모리
를 포함하고,
상기 자연 언어 엔진은,
쿼리에 대한 응답을 식별하고;
상기 응답을 상기 자연 언어 엔진에 의해 사용되는 기계 판독가능로 변환하고;
상기 응답을, 구조화 데이터를 저장하도록 배열된 지식 베이스로부터의 상기 구조화 데이터에 매핑하고;
상기 구조화 데이터와 연관된 문장 구조를 식별하고;
유효 문장 구조만이 출력되도록 상기 문장 구조와 연관된 하나 이상의 제약조건이 만족되는지를 확인하고;
상기 구조화 데이터를 그 구조화 데이터와 연관된 문장 구조로 배열함으로써 문장을 구성하며;
상기 쿼리에 대한 출력 응답을 문장의 형태로 전달하는 것인, 자연 언어 출력 발생 시스템.A system for generating a natural language output in response to a query,
A computing device associated with a natural language engine having one or more processors and one or more computer storage media;
A memory including a data storage unit coupled with the natural language engine;
Lt; / RTI >
The natural language engine includes:
Identify the response to the query;
Translating the response to machine readable used by the natural language engine;
Map the response to the structured data from a knowledge base arranged to store the structured data;
Identify a sentence structure associated with the structured data;
Checking whether at least one constraint associated with the sentence structure is satisfied such that only a valid sentence structure is output;
Construct a sentence by arranging the structured data in a sentence structure associated with the structured data;
Wherein the output of the query is sent in the form of a sentence.
상기 쿼리의 의미를 식별하도록 구성된 쿼리 파서를 더 포함한, 자연 언어 출력 발생 시스템.6. The method of claim 5,
Further comprising a query parser configured to identify the semantics of the query.
상기 구조화 데이터는 트리플의 집합인 것인, 자연 언어 출력 발생 시스템.6. The method of claim 5,
Wherein the structured data is a set of triples.
상기 자연 언어 엔진은 상기 문장 구조와 연관된 하나 이상의 제약조건이 만족된 때 출력 응답을 전달하는 것인, 자연 언어 출력 발생 시스템.6. The method of claim 5,
Wherein the natural language engine conveys an output response when one or more constraints associated with the sentence structure are satisfied.
상기 자연 언어 엔진은, 문장 구조와 연관된 각각의 제약조건을 가진 상기 문장 구조가 만족될 때까지 복수의 문장 구조들을 평가하도록 구성된 것인, 자연 언어 출력 발생 시스템.6. The method of claim 5,
Wherein the natural language engine is configured to evaluate a plurality of sentence structures until the sentence structure with each constraint associated with the sentence structure is satisfied.
사용자로부터 쿼리 - 상기 쿼리는 상기 사용자로부터의 음성 입력 쿼리임 - 를 수신하는 단계;
상기 음성 입력 쿼리에 대한 응답을 식별하는 단계;
상기 응답을 트리플의 집합에 매핑하는 단계로서, 이 매핑은 상기 응답을 자연 언어 엔진에 의해 사용되는 기계 판독가능 언어로 변환하는 것인, 상기 매핑하는 단계;
상기 트리플의 집합과 연관된 적어도 하나의 규칙을 식별하는 단계로서, 상기 적어도 하나의 규칙은 트리플의 집합과 연관된 문맥 자유 문법 문장 구조 및 상기 문맥 자유 문법 문장 구조와 연관된 적어도 하나의 제약조건을 포함하는 것인, 상기 적어도 하나의 규칙을 식별하는 단계;
상기 트리플의 집합을, 이 트리플의 집합과 연관된 문백 자유 문법 문장으로 배열함으로써 초기 문장을 구성하는 단계;
상기 문맥 자유 문법 문장 구조와 연관된 적어도 하나의 제약조건이 만족되는지 결정하는 단계; 및
상기 문맥 자유 문법 문장 구조와 연관된 적어도 하나의 제약조건이 만족된다고 결정한 때 상기 음성 입력 쿼리에 대한 음성 출력 응답을 최종 문장으로 전달하는 단계
를 포함한, 자연 언어 출력 발생 컴퓨터화 방법.A computerized method for generating natural language output in sentence form,
Receiving a query from a user, the query being a speech input query from the user;
Identifying a response to the speech input query;
Mapping the response to a set of triples, the mapping converting the response to a machine-readable language used by a natural language engine;
Identifying at least one rule associated with the set of triples, wherein the at least one rule comprises at least one constraint associated with a context free grammar sentence structure associated with a set of triples and the context free grammar sentence structure, Identifying the at least one rule;
Constructing an initial sentence by arranging the set of triples in a sentence-free grammar sentence associated with the set of triples;
Determining if at least one constraint associated with the context free grammar sentence structure is satisfied; And
Delivering a speech output response to the speech input query to a final sentence when determining that at least one constraint associated with the context free grammar sentence structure is satisfied
A natural language output generating computerized method, including:
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/224,430 US9542928B2 (en) | 2014-03-25 | 2014-03-25 | Generating natural language outputs |
| US14/224,430 | 2014-03-25 | ||
| PCT/US2015/021621 WO2015148278A1 (en) | 2014-03-25 | 2015-03-20 | Computer generated natural language outputs in question answer systems |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20160136442A true KR20160136442A (en) | 2016-11-29 |
| KR102345455B1 KR102345455B1 (en) | 2021-12-29 |
Family
ID=52815306
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020167029845A Active KR102345455B1 (en) | 2014-03-25 | 2015-03-20 | Computer generated natural language outputs in question answer systems |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9542928B2 (en) |
| EP (1) | EP3123359A1 (en) |
| KR (1) | KR102345455B1 (en) |
| CN (1) | CN106164894B (en) |
| WO (1) | WO2015148278A1 (en) |
Families Citing this family (99)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9456054B2 (en) | 2008-05-16 | 2016-09-27 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
| US8923293B2 (en) | 2009-10-21 | 2014-12-30 | Palo Alto Research Center Incorporated | Adaptive multi-interface use for content networking |
| US8762134B2 (en) | 2012-08-30 | 2014-06-24 | Arria Data2Text Limited | Method and apparatus for situational analysis text generation |
| US9336193B2 (en) | 2012-08-30 | 2016-05-10 | Arria Data2Text Limited | Method and apparatus for updating a previously generated text |
| US8762133B2 (en) | 2012-08-30 | 2014-06-24 | Arria Data2Text Limited | Method and apparatus for alert validation |
| US9405448B2 (en) | 2012-08-30 | 2016-08-02 | Arria Data2Text Limited | Method and apparatus for annotating a graphical output |
| US9135244B2 (en) | 2012-08-30 | 2015-09-15 | Arria Data2Text Limited | Method and apparatus for configurable microplanning |
| US9600471B2 (en) | 2012-11-02 | 2017-03-21 | Arria Data2Text Limited | Method and apparatus for aggregating with information generalization |
| WO2014076524A1 (en) | 2012-11-16 | 2014-05-22 | Data2Text Limited | Method and apparatus for spatial descriptions in an output text |
| WO2014076525A1 (en) | 2012-11-16 | 2014-05-22 | Data2Text Limited | Method and apparatus for expressing time in an output text |
| US10115202B2 (en) | 2012-12-27 | 2018-10-30 | Arria Data2Text Limited | Method and apparatus for motion detection |
| WO2014102569A1 (en) | 2012-12-27 | 2014-07-03 | Arria Data2Text Limited | Method and apparatus for motion description |
| GB2524934A (en) | 2013-01-15 | 2015-10-07 | Arria Data2Text Ltd | Method and apparatus for document planning |
| US9946711B2 (en) | 2013-08-29 | 2018-04-17 | Arria Data2Text Limited | Text generation from correlated alerts |
| US9244894B1 (en) * | 2013-09-16 | 2016-01-26 | Arria Data2Text Limited | Method and apparatus for interactive reports |
| US9396181B1 (en) | 2013-09-16 | 2016-07-19 | Arria Data2Text Limited | Method, apparatus, and computer program product for user-directed reporting |
| US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
| US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
| US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
| US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
| US9716622B2 (en) | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
| US9473576B2 (en) | 2014-04-07 | 2016-10-18 | Palo Alto Research Center Incorporated | Service discovery using collection synchronization with exact names |
| US9542648B2 (en) * | 2014-04-10 | 2017-01-10 | Palo Alto Research Center Incorporated | Intelligent contextually aware digital assistants |
| US10664558B2 (en) | 2014-04-18 | 2020-05-26 | Arria Data2Text Limited | Method and apparatus for document planning |
| US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
| US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
| US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
| US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
| US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
| US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
| US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
| US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
| US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
| US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
| US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
| US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
| US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
| US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
| US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
| US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
| US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
| US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
| US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
| US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
| US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
| US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
| US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
| US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
| US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
| US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
| US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
| US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
| US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
| US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
| US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
| US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
| US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
| US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
| US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
| US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
| US10003507B2 (en) | 2016-03-04 | 2018-06-19 | Cisco Technology, Inc. | Transport session state protocol |
| US10264099B2 (en) | 2016-03-07 | 2019-04-16 | Cisco Technology, Inc. | Method and system for content closures in a content centric network |
| US9832116B2 (en) | 2016-03-14 | 2017-11-28 | Cisco Technology, Inc. | Adjusting entries in a forwarding information base in a content centric network |
| US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
| US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
| US10033639B2 (en) | 2016-03-25 | 2018-07-24 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
| US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
| US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
| US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
| US10027578B2 (en) | 2016-04-11 | 2018-07-17 | Cisco Technology, Inc. | Method and system for routable prefix queries in a content centric network |
| US10404450B2 (en) | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
| US10320675B2 (en) | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
| US10547589B2 (en) | 2016-05-09 | 2020-01-28 | Cisco Technology, Inc. | System for implementing a small computer systems interface protocol over a content centric network |
| US10084764B2 (en) | 2016-05-13 | 2018-09-25 | Cisco Technology, Inc. | System for a secure encryption proxy in a content centric network |
| US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
| US10103989B2 (en) | 2016-06-13 | 2018-10-16 | Cisco Technology, Inc. | Content object return messages in a content centric network |
| US10305865B2 (en) | 2016-06-21 | 2019-05-28 | Cisco Technology, Inc. | Permutation-based content encryption with manifests in a content centric network |
| US11232136B2 (en) | 2016-06-27 | 2022-01-25 | Google Llc | Contextual voice search suggestions |
| US10148572B2 (en) | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
| US10009266B2 (en) | 2016-07-05 | 2018-06-26 | Cisco Technology, Inc. | Method and system for reference counted pending interest tables in a content centric network |
| US9992097B2 (en) | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
| US10122624B2 (en) | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
| US10069729B2 (en) | 2016-08-08 | 2018-09-04 | Cisco Technology, Inc. | System and method for throttling traffic based on a forwarding information base in a content centric network |
| US10956412B2 (en) | 2016-08-09 | 2021-03-23 | Cisco Technology, Inc. | Method and system for conjunctive normal form attribute matching in a content centric network |
| US10445432B1 (en) | 2016-08-31 | 2019-10-15 | Arria Data2Text Limited | Method and apparatus for lightweight multilingual natural language realizer |
| US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
| US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
| US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
| US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
| US10467347B1 (en) | 2016-10-31 | 2019-11-05 | Arria Data2Text Limited | Method and apparatus for natural language document orchestrator |
| US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
| US11593668B2 (en) | 2016-12-27 | 2023-02-28 | Motorola Solutions, Inc. | System and method for varying verbosity of response in a group communication using artificial intelligence |
| US10051442B2 (en) * | 2016-12-27 | 2018-08-14 | Motorola Solutions, Inc. | System and method for determining timing of response in a group communication using artificial intelligence |
| US10929759B2 (en) | 2017-04-06 | 2021-02-23 | AIBrain Corporation | Intelligent robot software platform |
| US11151992B2 (en) | 2017-04-06 | 2021-10-19 | AIBrain Corporation | Context aware interactive robot |
| US10810371B2 (en) | 2017-04-06 | 2020-10-20 | AIBrain Corporation | Adaptive, interactive, and cognitive reasoner of an autonomous robotic system |
| US10963493B1 (en) * | 2017-04-06 | 2021-03-30 | AIBrain Corporation | Interactive game with robot system |
| US10839017B2 (en) | 2017-04-06 | 2020-11-17 | AIBrain Corporation | Adaptive, interactive, and cognitive reasoner of an autonomous robotic system utilizing an advanced memory graph structure |
| JP2021068109A (en) * | 2019-10-21 | 2021-04-30 | 富士ゼロックス株式会社 | Information processing device and program |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7376645B2 (en) * | 2004-11-29 | 2008-05-20 | The Intellection Group, Inc. | Multimodal natural language query system and architecture for processing voice and proximity-based queries |
| US20100057463A1 (en) * | 2008-08-27 | 2010-03-04 | Robert Bosch Gmbh | System and Method for Generating Natural Language Phrases From User Utterances in Dialog Systems |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6529889B1 (en) * | 1999-07-27 | 2003-03-04 | Acappella Software, Inc. | System and method of knowledge architecture |
| US20030191625A1 (en) * | 1999-11-05 | 2003-10-09 | Gorin Allen Louis | Method and system for creating a named entity language model |
| US6675159B1 (en) * | 2000-07-27 | 2004-01-06 | Science Applic Int Corp | Concept-based search and retrieval system |
| US6983239B1 (en) | 2000-10-25 | 2006-01-03 | International Business Machines Corporation | Method and apparatus for embedding grammars in a natural language understanding (NLU) statistical parser |
| US7003445B2 (en) * | 2001-07-20 | 2006-02-21 | Microsoft Corporation | Statistically driven sentence realizing method and apparatus |
| US7209876B2 (en) * | 2001-11-13 | 2007-04-24 | Groove Unlimited, Llc | System and method for automated answering of natural language questions and queries |
| US20060155530A1 (en) | 2004-12-14 | 2006-07-13 | International Business Machines Corporation | Method and apparatus for generation of text documents |
| US8719005B1 (en) * | 2006-02-10 | 2014-05-06 | Rusty Shawn Lee | Method and apparatus for using directed reasoning to respond to natural language queries |
| US7962323B2 (en) | 2007-03-07 | 2011-06-14 | Microsoft Corporation | Converting dependency grammars to efficiently parsable context-free grammars |
| CN101174259A (en) * | 2007-09-17 | 2008-05-07 | 张琰亮 | Intelligent interactive request-answering system |
| US8374859B2 (en) | 2008-08-20 | 2013-02-12 | Universal Entertainment Corporation | Automatic answering device, automatic answering system, conversation scenario editing device, conversation server, and automatic answering method |
| US9805020B2 (en) * | 2009-04-23 | 2017-10-31 | Deep Sky Concepts, Inc. | In-context access of stored declarative knowledge using natural language expression |
| US9110882B2 (en) | 2010-05-14 | 2015-08-18 | Amazon Technologies, Inc. | Extracting structured knowledge from unstructured text |
| US9406020B2 (en) | 2012-04-02 | 2016-08-02 | Taiger Spain Sl | System and method for natural language querying |
| US8914419B2 (en) * | 2012-10-30 | 2014-12-16 | International Business Machines Corporation | Extracting semantic relationships from table structures in electronic documents |
| US20150127323A1 (en) * | 2013-11-04 | 2015-05-07 | Xerox Corporation | Refining inference rules with temporal event clustering |
-
2014
- 2014-03-25 US US14/224,430 patent/US9542928B2/en active Active
-
2015
- 2015-03-20 EP EP15715031.9A patent/EP3123359A1/en not_active Ceased
- 2015-03-20 CN CN201580015901.0A patent/CN106164894B/en active Active
- 2015-03-20 WO PCT/US2015/021621 patent/WO2015148278A1/en not_active Ceased
- 2015-03-20 KR KR1020167029845A patent/KR102345455B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7376645B2 (en) * | 2004-11-29 | 2008-05-20 | The Intellection Group, Inc. | Multimodal natural language query system and architecture for processing voice and proximity-based queries |
| US20100057463A1 (en) * | 2008-08-27 | 2010-03-04 | Robert Bosch Gmbh | System and Method for Generating Natural Language Phrases From User Utterances in Dialog Systems |
Also Published As
| Publication number | Publication date |
|---|---|
| US9542928B2 (en) | 2017-01-10 |
| KR102345455B1 (en) | 2021-12-29 |
| WO2015148278A1 (en) | 2015-10-01 |
| CN106164894B (en) | 2019-03-29 |
| EP3123359A1 (en) | 2017-02-01 |
| US20150279348A1 (en) | 2015-10-01 |
| CN106164894A (en) | 2016-11-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102345455B1 (en) | Computer generated natural language outputs in question answer systems | |
| CN114631091B (en) | Semantic representation of the structure ontology used in assistant systems | |
| JP6657124B2 (en) | Session context modeling for conversation understanding system | |
| CN106462608B (en) | Improving Knowledge Source Personalization for Language Models | |
| US9846896B2 (en) | Aggregation of rating indicators | |
| CN107408385B (en) | Developer voice action system | |
| CN114787814A (en) | Reference resolution | |
| US10102191B2 (en) | Propagation of changes in master content to variant content | |
| KR20230029582A (en) | Using a single request to conference in the assistant system | |
| WO2014108004A1 (en) | Method and system for identifying microblog user identity | |
| US20150193447A1 (en) | Synthetic local type-ahead suggestions for search | |
| TW202301080A (en) | Multi-device mediation for assistant systems | |
| TW202301081A (en) | Task execution based on real-world text detection for assistant systems | |
| US20150286685A1 (en) | Reference resolution | |
| US20150286723A1 (en) | Identifying dominant entity categories | |
| JP2025514668A (en) | Personalized Probabilistic Models | |
| CN117421401A (en) | Dialogue processing method and device, electronic equipment and storage medium | |
| CN106462629A (en) | Direct answer triggering in search | |
| CN113204613B (en) | Address generation method, device, equipment and storage medium | |
| US20190325322A1 (en) | Navigation and Cognitive Dialog Assistance | |
| KR20170048008A (en) | Apparatus for analyzing intention of query and method thereof | |
| KR20160055059A (en) | Method and apparatus for speech signal processing | |
| US9785650B2 (en) | Flexible content display | |
| US11720587B2 (en) | Method and system for using target documents camouflaged as traps with similarity maps to detect patterns | |
| JP6448006B2 (en) | Method, computer program and system for changing relevance of documents and / or search queries |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 5 |