KR20060064533A - System and method for processing natural language request - Google Patents
System and method for processing natural language request Download PDFInfo
- Publication number
- KR20060064533A KR20060064533A KR1020050118040A KR20050118040A KR20060064533A KR 20060064533 A KR20060064533 A KR 20060064533A KR 1020050118040 A KR1020050118040 A KR 1020050118040A KR 20050118040 A KR20050118040 A KR 20050118040A KR 20060064533 A KR20060064533 A KR 20060064533A
- Authority
- KR
- South Korea
- Prior art keywords
- natural language
- time
- sentence
- frame
- space
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Abstract
본 발명은 자연어 문장 처리 방법 및 자연어 문장 처리 시스템에 관한 것이다. 본 발명에 따르면, 입력되는 자연어 문장을 형식화된 구조로 표현하여 의미를 해석하고 응답하기 위해 자연어 문장을 처리할 때, 문장 종류별 프레임이 정의되어 있어, 입력되는 자연어 문장의 종류에 기초하여 종류에 따른 프레임을 통해 자연어 문장이 형식화된다. 자연어 명령이 형식적으로 표현하면 명령어가 담고 있는 의미를 프로그램 등을 통해 명확하게 파악할 수 있다. 즉, 자연어 명령을 형식 표현 언어로 변환한 뒤 해석하여, 원래 자연어 명령을 통해 사용자가 요구한 바가 무엇인지 정확하게 파악할 수 있다. 따라서 사용자에게 필요한 서비스를 자동적으로 제공할 수 있다. 본 발명에 따르면 사람과 컴퓨터간의 인터페이스, 사람과 로봇간의 인터페이스 등에 있어서, 자연어를 이용하여 편리하고 자연스럽게 컴퓨터, 장치 로봇등을 조작할 수 있다.The present invention relates to a natural language sentence processing method and a natural language sentence processing system. According to the present invention, when processing a natural language sentence to interpret and respond to the meaning by expressing the input natural language sentence in a formalized structure, the frame for each sentence type is defined, according to the type based on the type of natural language sentence to be input Natural sentences are formalized through frames. When the natural language command is expressed formally, the meaning of the command can be clearly understood through a program. That is, the natural language command can be converted into a formal expression language and interpreted, so that the user can accurately grasp what the user requests through the original natural language command. Therefore, the service required by the user can be automatically provided. According to the present invention, it is possible to operate a computer, a device robot, etc. conveniently and naturally using natural language in an interface between a person and a computer and an interface between a person and a robot.
자연어, 형식화, 프레임, 명령, 로봇 Natural Language, Formatting, Frames, Command, Robot
Description
도 1은 본 발명의 실시예에 따른 형식화 표현 언어의 프레임 구조이다1 is a frame structure of a formalized expression language according to an embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 자연어 문장 처리 방법의 흐름도이다.2 is a flowchart of a natural-language sentence processing method according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 자연어 문장 처리 시스템의 구성도이다.3 is a block diagram of a natural language sentence processing system according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 질의 응답 시스템의 구성도이다.4 is a block diagram of a query response system according to an embodiment of the present invention.
본 발명은 자연어 문장을 처리하는 방법에 관한 것으로, 보다 구체적으로 입력되는 자연어 문장을 형식화된 구조로 표현하여 의미를 해석하고 응답하기 위한 자연어 문장 처리 방법 및 자연어 문장 처리 시스템에 관한 것이다.The present invention relates to a method for processing a natural language sentence, and more particularly, to a natural language sentence processing method and a natural language sentence processing system for interpreting and responding to a meaning by expressing an input natural language sentence in a formalized structure.
종래 자연어 문장을 로봇 혹은 컴퓨터 프로그램의 제어를 위한 형식화된 구조로 표현하는 방법에는 두 가지가 있었다. 첫째 심층적인 자연어 처리 기법을 적용하여 하나의 자연어 문장을 하나 또는 복수개의 논리문(Logic Sentence)로 표현하는 방법과 둘째, 보다 단편적 능률적인 자연어 처리 기법을 적용하여 하나의 자연어 문장을 프레임(frame)구조로 표현하는 방법이 있었다.There are two methods of expressing natural language sentences in a formal structure for controlling a robot or a computer program. First, in-depth natural language processing technique is used to express one natural sentence into one or more logic sentences, and second, more fragmentary and efficient natural language processing technique is used to frame one natural sentence. There was a way to express it as a structure.
논리문으로 표현하는 기술의 대표적 예로는 담화 표현 구조(Discourse Representation Structure, DRS)가 있는데, DRS는 문장을 구문 분석 트리로 분석한 뒤 트리를 훑어가면서 최소 변환 단위로 논리문으로 변환해 나가는 기법인 DRT(Discourse Representation Theory)에서 사용하는 문장 형식화 언어이다. 다음은 DRT의 간단한 예이다.A representative example of the technique of expressing logic statements is Discourse Representation Structure (DRS), which is a technique that analyzes a sentence as a parsing tree and scans the tree and transforms it into logical statements with the minimum conversion unit. A sentence formatting language used in DRT (Discourse Representation Theory). The following is a simple example of a DRT.
DRS는 원 자연어 문장의 의미를 가장 잘 보존할 수 있고 프롤로그(Prolog)와 같은 논리 프로그래밍 언어로 손쉽게 변환 빛 처리가 가능하다는 장점을 지닌다. 그러나, 문장을 구문 분석하는 것 자체가 큰 비용이 들고 오류가 많다. 특히 한국어 구문분석은 더욱 어렵고 오류가 많은 것으로 알려져 있어, 실용화가 어려운 상황이다.DRS has the advantage that it can best preserve the meaning of the original natural language sentence and can be easily converted to light processing by a logic programming language such as Prolog. However, parsing the sentence itself is expensive and error-prone. In particular, Korean syntax parsing is known to be more difficult and error-prone, making it difficult to put to practical use.
프레임 구조를 이용하여 자연어 문장을 형식화하는 대표적 예로는 PAR (Par ameterized Action Representation)이 있다. PAR은 사용자의 다양한 명령을 포괄적으로 잘 표현할 수 있는 많은 필드를 포함한 복잡한 구조체를 활용하여 사용자의 명령을 표현하는 방법이다. 다음은 PAR를 이용한 문장 형식화의 예이다.A representative example of formatting natural language sentences using a frame structure is PAR (Par ameterized Action Representation). PAR is a method of expressing a user's command by using a complex structure including many fields that can comprehensively express various commands of the user. The following is an example of sentence formatting using PAR.
- 원 문장: A cobbler sold a pair of boots to a hiker.-Original Sentence: A cobbler sold a pair of boots to a hiker.
- PAR 표현:(SELLING (ACTOR = A COBBLER) (PATIENT = A BOOT) (RECIPIENT = A HIKER)) PAR expression: (SELLING (ACTOR = A COBBLER) (PATIENT = A BOOT) (RECIPIENT = A HIKER))
예에서 보듯이,PAR은 SELLING과 같은 사전 정의된 프레임(Frame)을 통해 행위를 구분하고, ACTOR, PATIENT, RECIPIENT와 같은 특정 행위 관련 슬롯(Slot)들을 사전 정의해 놓음으로써 문장을 표현하도록 한다. 문장으로부터 프레임을 만드는 것은 논리문을 만드는 것에 비해 간단한데, 비교적 단순한 구문 분석으로도 프레임을 만들 수 있다. As shown in the example, PAR classifies behavior through predefined frames such as SELLING, and expresses sentences by pre-defining specific behavior related slots such as ACTOR, PATIENT, and RECIPIENT. Creating a frame from a sentence is simpler than making a logic statement, but you can also create a frame with relatively simple parsing.
그러나, PAR은 행위별로 프레임을 사전에 정의해 놓아야 하고, 프레임 별로 슬롯을 사전 정의해 놓음으로서 표현력이 떨어진다는 단점이 있다. 사전에 프레임 구조를 정의해 놓지 않은 행위에 대해서는 표현이 불가능하기 때문이다. 더불어 PAR은 행위 묘사에 국한된 표현력을 지니고 있어 질의문(Query)을 표현하기 어렵다는 단점도 있다. 즉, 다양한 사용자의 명령을 표현하기에는 적절하지 않다.However, PAR has a disadvantage in that expressiveness is deteriorated by predefining a frame for each action and a slot for each frame. This is because it is impossible to express behaviors that do not define a frame structure beforehand. In addition, PAR has a power of expression that is limited to the description of behavior, which makes it difficult to express a query. That is, it is not appropriate to express various user commands.
따라서, 본 발명이 이루고자 하는 기술적 과제는 로봇이나 컴퓨터 프로그램의 제어 등에 있어서 사용자의 다양한 언어들을 간단한 구조의 형식으로 표현하여 처리할 수 있도록 하는데 있다.Therefore, the technical problem to be achieved by the present invention is to be able to express and process various languages of the user in the form of a simple structure in the control of a robot or a computer program.
상기 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 자연어 문장 처리 방법은, 입력되는 자연어 문장을 형식화된 구조로 표현하여 의미를 해석하고 응답하기 위한 자연어 문장 처리 방법으로서,a)입력되는 자연어 문장의 종류를 판단하는 단계; 및 b)문장 종류별로 미리 정의된 프레임을 통해 입력된 자연어 문장을 형식화하는 단계를 포함한다.Natural language sentence processing method according to an aspect of the present invention for achieving the above technical problem, as a natural language sentence processing method for interpreting and responding to the meaning by expressing the input natural language sentence in a formal structure, a) Determining the type; And b) formatting the natural language sentence input through a predefined frame for each sentence type.
또, 본 발명의 특징에 따른 자연어 문장 처리 시스템은, 입력되는 자연어 문장을 형식화된 구조로 표현하여 의미를 해석하고 응답하기 위한 자연어 문장 처리 시스템으로서, 입력되는 자연어의 문장 종류를 구분하여 문장 종류별로 미리 정의된 프레임을 통해 자연어 문장을 형식화하는 자연어 처리 모듈을 포함한다.In addition, the natural language sentence processing system according to the characteristics of the present invention is a natural language sentence processing system for interpreting and responding to the meaning by expressing the input natural language sentences in a formalized structure, by dividing the types of sentences of the input natural language by sentence type A natural language processing module for formatting natural language sentences through a predefined frame is included.
이하 첨부도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
그리고 이하에서는 설명의 편의를 위해 자연어 명령을 단순한 형식구조로 표현하여 처리하는 시스템으로서, 사용자 명령에 대한 실시간 응답성이 중요한 로봇 시스템을 예로 들어 설명하나, 본 발명의 응용범위 및 그에 따른 권리범위가 이에 한정되는 것은 아님은 당연하다.In the following description, a system for expressing and processing natural language commands in a simple format structure for convenience of explanation is described as an example of a robot system in which real-time responsiveness to a user command is important. Of course, this is not limited.
또, 이하에서는 본 발명의 특징에 따르는 자연어 문장에 대한 형식화 표현을 FURRL(Formalized User Request Representation Language)라고 부르기도 한다. 이때, 상기 용어는 설명의 편의를 위해 부여된 용어로서, 본 발명의 권리범위가 상기 용어에 의해 한정되는 것이 아님 또한 분명하다.In addition, hereinafter, a formalized expression for a natural language sentence according to a feature of the present invention is called a FURRL (Formalized User Request Representation Language). At this time, the term is a term given for convenience of description, it is also clear that the scope of the present invention is not limited by the term.
FURRL은 프레임 구조로 정의될 수 있고, 단순명령, 조건명령 및 질의문을 표현할 수 있는데, 각 문장 부류의 예는 다음과 같다.FURRL can be defined in a frame structure, and can express simple commands, conditional commands, and query statements. Examples of each sentence class are as follows.
(1)단순 명령 : TV 켜, 이리 와, 1분 후에 창문 열어 등(1) Simple command: turn on the TV, come on, open the window after 1 minute, etc.
(2)조건 명령 : 비오면 깨워줘, 추우면 보일러 켜, 내일 비오면 11시에 깨워줘 등(2) Condition Command: Wake if it rains, turn on the boiler if it's cold, wake up at 11 o'clock if it rains tomorrow, etc.
(3)질의문 : 내일 서울 날씨 좋아? 경부고속국도 막혀? 집에 누구 있어? 등(3) Question: Do you like the weather in Seoul tomorrow? Is Gyeongbu Express Station blocked? Who's at home? Etc
상기 각 문장 부류에 대하여 FURRL은 다음과 같이 세 개의 프레임을 제공할 수 있다.For each sentence class, FURRL can provide three frames:
(1)Action : 단순명령을 표현하기 위한 프레임이다.(1) Action: Frame for expressing simple command.
(2)ConditionAction : 조건 명령을 표현하기 위한 프레임이다.(2) ConditionAction: Frame to express condition instruction.
(3)Query : 질의문을 표현하기 위한 프레임이다.(3) Query: Frame for expressing query statement.
단순명령과 질의문은 형식문 구조상 하나의 프레임으로 표현되므로 동일하나, 조건 명령은 한 문장에 두 가지 요소, 즉 조건(Condition)과 명령(Action)을 포함하여 두 종류의 프레임으로 표현될 수 있다. 조건 명령의 두 프레임을 각각 조건과 명령을 표현할 수 있다.Simple commands and query statements are the same because they are expressed in one frame in the structure of a formal statement, but condition commands can be expressed in two types of frames, including two elements in one sentence: condition and action. . Two frames of conditional commands can represent conditions and commands, respectively.
Action, CondtionAction, Query 세 프레임의 내부구조는 도 1에 도시된 바와 같다.The internal structure of three frames of Action, CondtionAction, and Query is as shown in FIG.
ConditionAction은 내부에 하위 프레임인 Condition과 Action을 포함하고, Action, Condition, Query는 각각 동일한 슬롯을 포함하는데, 각 슬롯들의 상세한 내용은 이하와 같다.ConditionAction includes subframes Condition and Action, and Action, Condition, and Query each include the same slot. Details of each slot are as follows.
<슬롯명세><Slot specification>
(1) Theme(주제 개념)(1) Theme
주제 개념은 문장의 핵심 주제가 되는 개념을 포함하는데, 다음은 몇가지 예이다.Topic concepts include concepts that are the core subject of a sentence. Here are some examples:
(2) Assistive Theme(보조 개념)(2) Assistive Theme
보조 개념은 문장에서 주제 개념을 보조하여 개념의 범위를 한정하는 개념으로, 다음은 몇가지 예이다.Auxiliary concepts are concepts that limit the scope of the concept by subsidizing the subject concept in the sentence. Here are some examples:
(3) Theme Time(주제 시간)(3) Theme Time
주제 시간은 문장에서 주제 개념을 수식하는 시간 개념을 포함하며, 예는 아 래와 같다.Topic time includes the concept of time that modifies the concept of a topic in a sentence. An example is shown below.
(4) Theme Space(주제 공간)(4) Theme Space
주제 공간은 주제 개념을 수식하는 공간 개념을 포함하여, 예는 아래와 같다.The subject space includes a spatial concept that modifies the subject concept. An example is as follows.
(5) Object(객체 개념)(5) Object
객체 개념은 주제와 밀접한 관계를 갖는 객체 개념을 포함하여, 행위의 대상, 행위의 주체등 다양한 문장 구성 개념들이 객체가 될 수 있다. 다음은 그 예이다.The object concept includes an object concept that is closely related to the subject, and various sentence construct concepts such as the object of the action and the subject of the action may be the object. Here is an example:
(6) Object Time(객체 시간)(6) Object Time
객체시간은 객체 개념을 수식하는 시간 개념을 포함하며, 예는 아래와 같다.Object time includes the concept of time that modifies the concept of objects.
(7) Object Space(객체 공간)(7) Object Space
객체 공간은 객체 개념을 수식하는 공간 개념을 포함하며, 아래는 그 예이다.Object space includes the concept of space that modifies the concept of objects.
(8) Object Identity(객체 구별 개념)(8) Object Identity
객체 구별 개념은 객체 개념의 개념 범위를 한정하는 개념으로서, 보조 테마와 유사한 기능을 하며, 예는 아래와 같다.The object discrimination concept is a concept that limits the conceptual scope of the object concept, and functions similar to the auxiliary theme. An example is as follows.
(9) Modality(양상)(9) Modality
양상은 허용, 금지, 가능성 등 사용자 명령의 양상을 표현하는데, 양상을 표현하는 어휘는 아래와 같다.Aspects express aspects of user commands such as allow, prohibit, and possibility. The vocabulary expressing aspects is as follows.
<시공간 표현><Space-time expression>
FURRL에서 시공간 지식은 시공간 관련 슬롯의 값으로, 시공간 표현 술어(Predicate)와 시공간 개념을 결합하여 표현된다. 시공간 개념은 특정 시간이나 공간을 지칭하는 개념으로서, '지금', '어제', '생일', '집', '서울' 등을 포함한다. 시공간 표현 술어는 시공간 개념을 '수식'하는 개념을 표현한다. '~전에', '~후에', '~뒤에' 등과 같은 개념들이 시공간 술어로 표현된다.In FURRL, space-time knowledge is a value of a space-time related slot and is expressed by combining a space-time expression predicate and a space-time concept. The concept of space-time refers to a specific time or space, and includes 'now', 'yesterday', 'birthday', 'house', and 'seoul'. The space-time expression predicate expresses the concept of 'formula' on the concept of space-time. Concepts such as before, after, and after are expressed in space-time predicates.
(1) 시간 표현 술어(1) time expression predicate
시간 개념 표현에 사용가능한 술어는 아래에 나열한 바와 같다.Predicates that can be used to express time concepts are listed below.
시간 개념은 다음과 같이 몇 가지 서로 다른 부류로 나눌 수 있는데, 각 부류는 표현하는 시간의 의미가 서로 달라 표현 양식도 달라져야 한다. 시간을 표현하는 개념은 아래와 같이 세 가지 부류로 나누어 볼 수 있다.The concept of time can be divided into several different categories, each of which must have different meanings of time and different forms of expression. The concept of time can be divided into three categories:
(1) 정량적 시점 시간 : 오후 1시, 1월 20일, 2004년 등(1) Quantitative point in time: 1 pm, January 20, 2004, etc.
(2) 정량적 구간 시간 : 2분, 2시간, 3일등(2) Quantitative interval time: 2 minutes, 2 hours, 3 days, etc.
(3) 정성적 시간 : 아침, 저녁, 어제, 그제 등(3) Qualitative time: morning, evening, yesterday, yesterday, etc.
이 중 (1), (2)는 시간을 정량적으로 표현하고, (3)은 상용 어휘를 이용하여 정성적으로 다소 애매하게 시간을 표현한다. 시점 시간과 구간 시간의 구별은 시간 개념이 특정 시점을 가리키느냐, 아니면 임의 길이의 시간 구간을 가리키느냐에 따라 다르다.Among these, (1) and (2) express time quantitatively, and (3) express time somewhat qualitatively using commercial vocabulary. The distinction between time point and segment time depends on whether the concept of time refers to a specific point in time or a time interval of arbitrary length.
시점 시간과 구간 시간은 아래와 같이 DateTime 과 Duration 프레임으로 표현될 수 있다.The start time and the interval time can be expressed as DateTime and Duration frames as shown below.
(2) 시점 시간과 구간 시간의 구분(2) Division of time point and section time
시점 시간과 구간 시간은 때때로 문장 내에서 결정하기 어려운 때가 있다. 먼저 FURRL은 로봇이나 대화형 에이전트 등에게 내리는 간단한 명령을 형식적으로 표현하기 위한 구문 구조라는 점을 전제로, 시점 시간과 공간 시간의 구분을 시간 표현 어휘에 대한 깊이 있는 의미 해석없이 간단한 구별 규칙을 통해 구별 가능하도록 할 수 있다.The time point and the segment time are sometimes difficult to determine within a sentence. First, assuming that FURRL is a syntactic structure for formally expressing simple commands to robots or interactive agents, the distinction between viewpoint time and space time is based on simple distinction rules without in-depth interpretation of time expression vocabulary. It can be distinguishable.
손쉽고 명확한 구간 시간 구별을 위해 구간 시간으로 해석되어야 할 패턴을 정하고, 이외의 시간 표현은 시점 시간으로 표현하도록 구성될 수 있다. 아래는 구간 시간과 시점시간을 구별하기 위한 패턴의 예이다.For easy and clear section time discrimination, the pattern to be interpreted as the section time is determined, and other time representations may be configured to represent the view point time. The following is an example of a pattern for distinguishing the segment time from the viewpoint time.
-FURRL 정의에 나타나듯이, 구간 시간은 항상 정량적 시간만을 포함하고, 정성적 시간을 포함하지 않는다.As shown in the -FURRL definition, the edge time always contains only quantitative time, not qualitative time.
-구간시간은 어미에 ~후에, ~전에, ~마다 만 붙는다.-The segment time is attached to the ending of the before, before, and every time.
-패턴 1 : 단일 시간 패턴으로, 아래와 같은 시간어휘를 동반하는 표현은 모두 구간 시간으로 간주한다.-Pattern 1: A single time pattern. All expressions with the following time vocabulary are considered interval time.
a. ~분 : 3분 후에, 5분 전에a. ~ Minutes: 3 minutes later, 5 minutes before
b. ~초 : 30초 후에, 20초 전에b. ~ Sec: after 30 seconds, 20 seconds before
c ~시간 : 1시간 후에, 2시간 전에c ~ time: 1 hour later, 2 hours before
d. ~일 : 1일 후에, 2달 전에d. ~ Day: 1 day later, 2 months ago
e. ~달 : 1달 후에, 2달 전에e. ~ Month: After 1 month, 2 months before
f. ~개월 : 1개월 전에, 3개월 후에f. ~ Month: One month before, three months later
g. ~년 : 1년 전에, 2000년 후에, 10000년 전에(이 때, 시점 시간으로 연도를 표현하려면 2000년 이후에, 1970년 이전에로 명령해야 한다)g. ~ Year: 1 year ago, 2000 years ago, 10000 years ago (when expressing year in time point, order after 2000, before 1970)
-패턴 2 : 복합 시간 표현인 경우, 구간 시간 표현 패턴 외의 패턴을 포함하면 시점 시간으로 해석되어야 한다. 다음은 복합 시간 표현의 몇 가지 예이다.-Pattern 2: In the case of a compound time expression, if a pattern other than the interval time expression pattern is included, it should be interpreted as a viewpoint time. Here are some examples of compound time representations.
a. 3시간 2분 전에 (구간시간표현)a. 3 hours 2 minutes ago (expression of segment time)
b. 3시 2분 전에 (시점시간표현)b. Before 3:02 (expression of time)
c. 3분 20초 후에 (구간시간표현)c. After 3 minutes and 20 seconds (expression of segment time)
d. 3시 3분 20초 후에 (시점시간표현)d. After 3:03:20 (expression of time)
e. 4달 5일 후에 (구간시간표현)e. After 4 months and 5 days (expression of segment time)
f. 4월 5일 후에 (시점시간표현)f. After April 5 (time expression)
g. 3개월 20일 전에 (구간시간표현)g. 3 months 20 days before (expression of segment time)
h. 3월 20일 전에 (시점시간표현)h. Before March 20 (time expression)
i. 1920년 5달 후에 (구간시간표현)i. After 5 months in 1920 (expressing segment time)
j. 1920년 5월 후에 (시점시간표현)j. After May 1920 (time expression)
k. 3일 4시간 후에 (구간시간표현)k. 4 hours after 3 days (expression of segment time)
l. 3일 4시 후에 ( 시점시간표현)l. After 3 days and 4 o'clock
(3) 시점 시간 표현의 예(3) Example of time point representation
다음 표는 시점 시간을 포함하는 명령어 몇 가지와 명령어에 포함된 시간 정보에 대한 형식 표현을 나타낸다.The following table shows some of the commands, including the time point, and a formal representation of the time information contained in the command.
(4)구간 시간 표현의 예(4) Example of segment time expression
다음 표는 구간 시간을 표현하는 명령어 몇 가지와 명령어에 포함된 시간 정보에 대한 형식 표현을 제시한다.The following table shows some of the commands that represent the edge time and the formal representation of the time information contained in the command.
(5) 공간 표현 술어(5) spatial expression predicates
또한, 시간 표현의 경우와 마찬가지로 공간을 표현하는 술어도 필요한데, 아래 표는 공간 관련 지식을 표현하는데 사용되는 술어 목록이다.Also, as in the case of time expression, a predicate that expresses space is also required. The table below is a list of predicates used to express knowledge related to space.
상술한 바를 기초로, FURRL을 이용하여 자연어 명령이 어떻게 형식화되는지 예를 들면 다음과 같다. Based on the foregoing, an example of how a natural language instruction is formatted using FURRL is as follows.
이 때, 실시예 테이블에서는 편의상 슬롯 이름을 약자로 기재하였으며, 슬롯별 약자는 다음 테이블과 같다.At this time, in the embodiment table, the slot name is abbreviated for convenience, and the abbreviation for each slot is as follows.
다음은 문장 형식화 예들이다. 형식화 표현 문장들에 등장하는 각종 슬롯값들은 좌측의 해당 문장의 의미를 표현하기에 적합한 영단어를 조합하여 제시한 것으로, 본 발명의 특징에 따르는 형식화 언어를 직접적으로 가리키는 것은 아니다. 이하의 예를 통해 다양한 자연어 명령이 어떻게 효과적으로 FURRL 프레임 구조로 표현될 수 있는지 살필 수 있다.The following are examples of sentence formatting. The various slot values appearing in the formal expression sentences are presented by combining English words suitable for expressing the meaning of the corresponding sentence on the left side, and do not directly indicate the formal language according to the features of the present invention. The following example shows how various natural language commands can be effectively represented by a FURRL frame structure.
이하, 도 2를 참조하여 본 발명의 실시예에 따른 자연어 문장 처리 방법을 정리하여 설명한다.Hereinafter, a natural language sentence processing method according to an exemplary embodiment of the present invention will be described with reference to FIG. 2.
우선, 자연어 문장의 종류별로 프레임이 정의되는데, 예를 들어 상술한 바와 같이 자연어 문장을 크게 단순 명령, 조건 명령 및 질의문으로 분류하고 Action 프레임은 단순 명령을 표현하기 위한 프레임으로, ConditionAction 프레임은 조건 명령을 표현하기 위한 프레임으로, Query프레임은 질의문을 표현하기 위한 프레임으로 정의할 수 있다(S100). First, a frame is defined for each type of natural language sentence. For example, as described above, the natural language sentence is largely classified into a simple command, a condition command, and a query statement. As a frame for expressing a command, a Query frame may be defined as a frame for expressing a query statement (S100).
이 때, Action 프레임과 Query 프레임은 각각 하나의 프레임으로, ConditionAction 프레임은 Condition과 Action 두가지 프레임으로 표현될 수 있다. In this case, the Action frame and the Query frame may be represented as one frame, and the ConditionAction frame may be expressed as two frames, Condition and Action.
각각의 프레임은 하나 이상의 슬롯을 포함하는데, 예를 들어, Theme, Assistive Theme, Thematic Time, Thematic Space, Object, Object Identity, Object Cardinality, Object Time, Object Space, Modality 슬롯을 포함할 수 있다. Each frame includes one or more slots, for example, the Theme, Assistive Theme, Thematic Time, Thematic Space, Object, Object Identity, Object Cardinality, Object Time, Object Space, Modality slots.
또한, 시공간 관련 슬롯의 값은 시공간 표현 술어와 시공간 개념을 결합 설정하여 표현된다. 예를 들어 시간 표현 술어로는 Before, After, At, From, To, Every 등이 있으며, 함께 사용되는 시간 개념은 정량적 시점 시간, 정량적 구간 시간, 정성적 시간으로 분류될 수 있다. 그리고, 시점 시간과 구간 시간은 각각 DateTime 프레임과 Duration 프레임으로 표현될 수 있다. 또, 공간 표현 술어로는 space:From, space:To, space:At등을 예로 들 수 있다. In addition, the value of the space-time-related slot is expressed by combining the space-time expression predicate and the space-time concept. For example, the time expression predicates include Before, After, At, From, To, Every, and the like. The time concept used together may be classified into quantitative viewpoint time, quantitative interval time, and qualitative time. The time point and the section time may be represented by DateTime frames and Duration frames, respectively. Space expression predicates include space: From, space: To, space: At, and so on.
각 프레임와 슬롯에 대한 자세한 내용은 이미 언급하였으므로 여기에서는 생 략한다.Details of each frame and slot have already been mentioned, so they are omitted here.
다음, 사용자로부터 자연어 문장이 입력되면(S101), 입력된 문장의 종류에 따른 프레임을 통해, 자연어 문장이 형식화 표현 문장으로 변환된다. Next, when the natural language sentence is input from the user (S101), the natural language sentence is converted into a formalized expression sentence through a frame according to the type of the input sentence.
예를 들어, 입력된 문장이 조건 명령인 경우, ConditionAction 프레임을 통해 자연어 문장이 형식화된다. 이 때, ConditionAction 프레임은 또다시 Condition 프레임과 Action 프레임을 포함하므로, 조건 명령의 경우, Condition 프레임과 Action 프레임을 통해 형식화 된다(S103, S107).For example, when the input sentence is a condition command, the natural sentence is formatted through a ConditionAction frame. At this time, since the ConditionAction frame further includes a Condition frame and an Action frame, in the case of a condition command, the ConditionAction frame is formatted through the Condition frame and the Action frame (S103 and S107).
보다 구체적으로, "내일 아침 비가 오면 깨워줘"라는 자연어가 입력된 경우, 상기 문장은 조건 명령으로서 ConditionAction 프레임을 통해 형식화된다. 이 때, 조건에 해당하는 "내일 아침 비가 오면"은 Condition 프레임을 통해서, 명령에 해당하는 "깨워줘"는 Action 프레임을 각각 형식화된다.More specifically, when a natural language of "wake up when it rains tomorrow morning" is input, the sentence is formatted through a ConditionAction frame as a condition command. At this time, if the "morning tomorrow morning" corresponding to the condition through the Condition frame, "wake up" corresponding to the action action frame is formatted.
"내일 아침 비가 오면"에서 "오면"은 "주제 개념" , "비"는 "객체 개념" , "내일"과 "아침"은 "주제시간"이고, 시점 시간으로서 시간 표현 술어로는 "At"이사용되므로, 다음과 같이 표현될 수 있다."When it rains tomorrow morning", "When it comes to" is "topic concept", "rain" is "object concept", "tomorrow" and "morning" are "topic time", and the time expression as "At" Since is used, it can be expressed as follows.
Condition(theme=fall, object=rain, theme time=At(tommorrow), theme time=At(morning))Condition (theme = fall, object = rain, theme time = At (tommorrow), theme time = At (morning))
그리고, "깨워줘"에서 "깨워줘"는 "주제 개념"이므로 다음과 같이 표현될 수 있다.In addition, since "wake up" in "wake up" is a "topic concept", it can be expressed as follows.
Action(theme=wake)Action (theme = wake)
따라서, "내일 아침 비가 오면 깨워줘"는 다음과 같이 표현될 수 있다.Thus, "Wake up when it rains tomorrow morning" can be expressed as:
ConditionAction(Condition( theme = fall, object = rain, theme time = At(tommorrow, theme time = At (morning))ConditionAction (Condition (theme = fall, object = rain, theme time = At (tommorrow, theme time = At (morning))
Action(theme=wake)) Action (theme = wake))
또, 입력 문장이 단순 명령 혹은 질의어인 경우, 각각 Action 프레임 혹은 Query 프레임을 통해서 형식화된다(S103, S105).In addition, when the input sentence is a simple command or query word, it is formatted through an Action frame or a Query frame, respectively (S103 and S105).
보다 구체적으로, "부엌으로 와"라는 자연어가 입력된 경우, 상기 문장은 단순 명령으로서 Action 프레임을 통해 형식화된다. More specifically, when the natural language "come to the kitchen" is input, the sentence is formatted through the Action frame as a simple command.
이 때, "부엌으로 와"에서 "와"는 "주제 개념", "부엌"은 "주제 공간", 공간 표현 술어로는 "space:To"가 사용되므로 상기 단순 명령은 다음과 같이 표현될 수 있다.In this case, since the "and" and "and" are "topic", "kitchen" is "topic space", and "space: To" is used as a space expression predicate, the simple command may be expressed as follows. have.
Action(theme=come, theme space=space:To(kitchen))Action (theme = come, theme space = space: To (kitchen))
또는, "내일 비 와?" 라는 자연어가 입력된 경우, 상기 문장은 질의어로서 Query 프레임을 통해 형식화된다.Or, "Will it rain tomorrow?" When a natural language is input, the sentence is formatted through a Query frame as a query word.
이 때, "내일 비 와?"에서 "와"는 "주제 개념", "비"는 "객체 개념", "내일"은 "주제 시간"이며, 시점 시간의 시간 표현 술어로서 At이 사용될 수 있으므로, 상기 질의어는 다음과 같이 표현될 수 있다.In this case, "W" in "tomorrow rain?" "W" is "topic concept", "Rain" is "object concept", "tomorrow" is "topic time", At can be used as a time expression predicate of the time point The query term may be expressed as follows.
Query(theme=fall, object=rain, theme time=At(tommorrow)) Query (theme = fall, object = rain, theme time = At (tommorrow))
이와 같이, 자연어 명령을 단순한 형식 구조로 표현할 수 있어, 문장 분석 및 형식화의 효율성을 높일 수 있다. 특히, 비교적 단순한 명령이 주류를 이루고 실시간 응답성이 중요한 경우, 로봇이나 대화형 에이전트 등에 본 발명의 특징에 따른 자연어 명령 처리 방법이 적용될 경우, 자연어 명령에 대한 응답성을 향상시킬 수 있다.In this way, the natural language command can be expressed in a simple form structure, thereby improving the efficiency of sentence analysis and formatting. In particular, when a relatively simple command is mainstream and real-time responsiveness is important, when the natural language command processing method according to the characteristics of the present invention is applied to a robot or an interactive agent, the responsiveness to the natural language command can be improved.
즉, 도 3에 도시된 바와 같이, 자연어 명령 처리 시스템은, 자연어 인식 모듈(100), 자연어 처리 모듈(200) 및 응답모듈(300)을 포함할 수 있다.That is, as shown in FIG. 3, the natural language command processing system may include a natural
자연어 인식 모듈(100)은 입력되는 자연어 문장에 대해 별도의 변환 처리를 하지 않고 자연어 처리 모듈(200)에 전달할 수 있다.The natural
자연어 처리 모듈(200)은 문장 분석 모듈(201)과 형식문 변환 모듈(203)을 포함하여, 자연어 인식 모듈(100)로부터 전달받은 자연어 문장을 단순한 형식 구조로 표현할 수 있다.The natural
보다 구체적으로 문장 분석 모듈(201)은 입력된 자연어 문장의 종류를 판단하는데, 상술한 예에 따르면, 단순 명령, 조건 명령, 질의문 여부를 판단할 수 있다.More specifically, the
형식문 변환 모듈(203)은, 문장 분석 모듈이 판단한 자연어 문장의 종류에 따라 해당 프레임을 통해 자연어 문장을 단순한 형식 구조로 표현할 수 있다. 예를 들어, 자연어 문장이 단순 명령인 경우 Action 프레임을 통해서, 자연어 문장이 조건 명령인 경우 ConditionAction 프레임을 통해서, 질의어인 경우 Query 프레임을 통해서 단순한 형식 구조로 표현할 수 있으며, 각 프레임 및 프레임을 구성하는 슬롯들에 대한 설명은 이미 상술하였으므로 생략한다.The formal
응답 모듈(300)은 자연어 처리 모듈(200)로부터 단순한 형식 구조로 표현된 문장 정보를 전달 받아, 문장 정보를 해석하고 요구 사항에 따른 적절한 응답을 제공할 수 있다. 이 때, 본 발명에 따르면, 자연어 문장을 형식문으로 변환하는 속도를 높일 수 있으며, 그 결과 응답 모듈의 문장 해석 및 그에 따른 응답 속도 또한 높일 수 있으므로, 시스템에 대한 사용자 편의성이 증가된다.The
보다 구체적으로 도 4에 도시된 바와 같이, 본 발명의 특징에 따른 실시예로서 질의 응답 시스템을 설명할 수 있다.More specifically, as shown in FIG. 4, the question answering system may be described as an embodiment according to the features of the present invention.
질의 응답 시스템은, 자연어 처리 모듈(200) 및 자연어 인식 모듈(100)의 구체적인 예로서 음성 인식 모듈을 포함할 수 있고, 또 응답 모듈(300)의 구체적 예로서, 목표 설정 모듈, 플래닝 모듈, 플랜 실행 모듈 및 음성 발화 모듈을 포함할 수 있다.The question and answer system may include a speech recognition module as a specific example of the natural
음성 인식 모듈은 사용자로부터 전송되는 음성 명령을 인식하여 자연어 문장을 자연어 처리 모듈(200)에 전달한다.The voice recognition module recognizes a voice command transmitted from the user and transmits the natural language sentence to the natural
자연어 처리 모듈(200)은 앞서 상술한 바와 같이 자연어 문장의 종류에 따라 Action 프레임, ConditionAction 프레임 혹은 Query 프레임을 통해 자연어 문장을 단순한 형식 구조로 표현한다.As described above, the natural
목표 설정 모듈은 자연어 처리 모듈(200)로부터 전달 받은 형식문 문장을 통해 사용자 명령의 의미를 해석하여, 사용자 명령에 대한 응답으로서 시스템이 처리해야할 목표를 설정한다The goal setting module interprets the meaning of a user command through a format sentence sentence received from the natural
플래닝 모듈은 목표 설정 모듈로부터 전달받은 시스템 목표 명세를 기초로, 목표 수행을 위한 시스템의 서비스 플래닝을 실행하고, 플랜 실행 모듈은 서비스 플래닝에 따른 프로세스를 실행한다.The planning module executes the service planning of the system for performing the goal based on the system goal specification received from the goal setting module, and the plan execution module executes the process according to the service planning.
즉, 본 시스템에 따르면, 사용자의 명령을 입력으로 받아서 그 의미를 알아내고, 사용자의 요구 사항이 무엇인지 파악하여 사용자에게 적절한 응답을 줄 수 있으며, 특히, 지능형 로봇과 같이 자연어 명령을 통한 인터페이스가 필수적인 시스템인 경우, 사용자 편의성은 극대화될 수 있다.In other words, according to the present system, the user's command can be received as an input, the meaning of the user's requirements can be determined, and the user's requirements can be given to the user. In the case of an essential system, user convenience can be maximized.
이상 설명한 바는 본 발명의 실시예에 불과한 것으로, 본 발명의 권리범위가 이에 한정되는 것은 아니며, 당업자들에게 자명한 사항에 대해 다양한 응용이 가능함은 물론이며, 예를 들어, 본 발명에 사용되는 프레임의 종류 및 프레임을 이루는 슬롯의 구성이 상술한 바로 한정되는 것은 아니다. 본 발명의 권리범위는 후술할 특허청구범위 기재사항 및 그 균등사항으로 인정되는 모든 기술적 구성요소를 포함할 것이다.What has been described above is only an embodiment of the present invention, and the scope of the present invention is not limited thereto, and various applications can be made to those skilled in the art, for example, used in the present invention. The type of the frame and the configuration of the slots forming the frame are not limited to those described above. The scope of the present invention will include all technical components recognized as the claims described below and equivalents thereof.
상술한 바와 같이 본 발명에 따르면, 사용자의 명령에 대해 복잡하고 정확한 구문 분석 없이도 형식문 표현이 가능하도록 형식문의 구조를 단순화하고 직관화할 수 있다. 따라서 사용자 명령문의 변환에 대한 실시간성을 제고시킬 수 있고 기술의 실용성을 향상시킬 수 있다. As described above, according to the present invention, the structure of a formal statement can be simplified and intuitively expressed so that a formal statement can be expressed without complicated and accurate parsing of a user's command. Therefore, it is possible to improve the real-time for the conversion of user statements and improve the practicality of the technology.
또한, PAR과 같이 표현 대상 행위에 종속적이지 않은 보편적 표현 구조를 통해 보다 손쉬운 표현력 확장이 이루어질 수 있다. 따라서, 보다 많은 종류의 문항을 형식화하여 처리할 수 있다.In addition, the expression power can be easily expanded through a universal expression structure that is not dependent on the behavior of the expression, such as PAR. Therefore, more kinds of questions can be formalized and processed.
그 결과, 사용자의 명령을 이해하고 의미 있는 응답을 제공해야 하는 시스템의 서비스 구축이 용이해지고 사용자 인터페이스가 향상된다.As a result, it is easy to build services of the system that must understand user commands and provide meaningful responses, and the user interface is improved.
즉, 자연어 명령을 단순한 형식 구조로 표현하여 처리할 수 있어 자연어 문장 분석 및 형식화에 있어서 효율성과 정확성을 높일 수 있으며, 비교적 단순한 명령이 주류를 이루고 실시간 응답성이 중요한 로봇, 대화형 에이전트 등에 응용하여 사용자 편의성을 향상시킬 수 있다.In other words, natural language commands can be expressed and processed in a simple format structure, which increases efficiency and accuracy in natural language sentence analysis and formatting, and is applied to robots, interactive agents, etc. where relatively simple commands are mainstream and real-time responsiveness is important. User convenience can be improved.
Claims (27)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050118040A KR100740978B1 (en) | 2004-12-08 | 2005-12-06 | System and method for processing natural language request |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040103038 | 2004-12-08 | ||
KR20040103038 | 2004-12-08 | ||
KR1020050118040A KR100740978B1 (en) | 2004-12-08 | 2005-12-06 | System and method for processing natural language request |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060064533A true KR20060064533A (en) | 2006-06-13 |
KR100740978B1 KR100740978B1 (en) | 2007-07-19 |
Family
ID=37160067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050118040A KR100740978B1 (en) | 2004-12-08 | 2005-12-06 | System and method for processing natural language request |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100740978B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100812109B1 (en) * | 1999-10-19 | 2008-03-12 | 소니 일렉트로닉스 인코포레이티드 | Natural language interface control system |
WO2019088638A1 (en) * | 2017-11-03 | 2019-05-09 | 주식회사 머니브레인 | Method, computer device and computer readable recording medium for providing natural language conversation by timely providing substantial reply |
WO2019088383A1 (en) * | 2017-11-03 | 2019-05-09 | 주식회사 머니브레인 | Method and computer device for providing natural language conversation by providing interjection response in timely manner, and computer-readable recording medium |
KR20190105175A (en) * | 2018-02-22 | 2019-09-16 | 삼성전자주식회사 | Electronic device and Method for generating Natural Language thereof |
KR20210085859A (en) * | 2019-12-31 | 2021-07-08 | 주식회사 하나금융티아이 | Method and appartus for generalize query pattern |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05120274A (en) * | 1991-10-25 | 1993-05-18 | Sanyo Electric Co Ltd | Natural language processing method |
JPH0793364A (en) * | 1993-09-24 | 1995-04-07 | Nippon Telegr & Teleph Corp <Ntt> | Sentence form converting device |
JP3353578B2 (en) * | 1995-11-02 | 2002-12-03 | 日本電気株式会社 | Natural language processing system |
KR100289065B1 (en) * | 1997-10-14 | 2001-05-02 | 정선종 | Method for processing natural query language for searching commodity information of electronic commerce |
-
2005
- 2005-12-06 KR KR1020050118040A patent/KR100740978B1/en not_active IP Right Cessation
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100812109B1 (en) * | 1999-10-19 | 2008-03-12 | 소니 일렉트로닉스 인코포레이티드 | Natural language interface control system |
WO2019088638A1 (en) * | 2017-11-03 | 2019-05-09 | 주식회사 머니브레인 | Method, computer device and computer readable recording medium for providing natural language conversation by timely providing substantial reply |
WO2019088383A1 (en) * | 2017-11-03 | 2019-05-09 | 주식회사 머니브레인 | Method and computer device for providing natural language conversation by providing interjection response in timely manner, and computer-readable recording medium |
CN111556999A (en) * | 2017-11-03 | 2020-08-18 | 财富智慧股份有限公司 | Method, computer device and computer readable storage medium for providing natural language dialogue by providing substantive answers in real time |
US11302332B2 (en) | 2017-11-03 | 2022-04-12 | Deepbrain Ai Inc. | Method, computer device and computer readable recording medium for providing natural language conversation by timely providing substantial reply |
US11481443B2 (en) | 2017-11-03 | 2022-10-25 | Deepbrain Ai Inc. | Method and computer device for providing natural language conversation by providing interjection response in timely manner, and computer-readable recording medium |
CN111556999B (en) * | 2017-11-03 | 2023-11-28 | 株式会社明芒科技 | Method, computer device and computer readable storage medium for providing natural language dialogue by providing substantive answer in real time |
KR20190105175A (en) * | 2018-02-22 | 2019-09-16 | 삼성전자주식회사 | Electronic device and Method for generating Natural Language thereof |
US11657237B2 (en) | 2018-02-22 | 2023-05-23 | Samsung Electronics Co., Ltd. | Electronic device and natural language generation method thereof |
KR20210085859A (en) * | 2019-12-31 | 2021-07-08 | 주식회사 하나금융티아이 | Method and appartus for generalize query pattern |
Also Published As
Publication number | Publication date |
---|---|
KR100740978B1 (en) | 2007-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10810371B2 (en) | Adaptive, interactive, and cognitive reasoner of an autonomous robotic system | |
US11816435B1 (en) | Applied artificial intelligence technology for contextualizing words to a knowledge base using natural language processing | |
US8117022B2 (en) | Method and system for machine understanding, knowledge, and conversation | |
US20200251091A1 (en) | System and method for defining dialog intents and building zero-shot intent recognition models | |
US20180239758A1 (en) | Method and system for machine comprehension | |
KR100740978B1 (en) | System and method for processing natural language request | |
TWI588816B (en) | A language interaction method | |
US10839017B2 (en) | Adaptive, interactive, and cognitive reasoner of an autonomous robotic system utilizing an advanced memory graph structure | |
JP2018088242A (en) | Data processing apparatus, method, and program | |
US20160154631A1 (en) | Method and system for machine comprehension | |
US20200097265A1 (en) | Method and system for machine comprehension | |
KR101916174B1 (en) | Method and apparatus for processing language based on machine learning | |
RU2741622C2 (en) | Voice control system | |
Pramanick et al. | Enabling human-like task identification from natural conversation | |
KR20200063886A (en) | Natural language processing based call center support system and method | |
KR20190131270A (en) | The syntax grammar rules automatic generation method of understanding user query intention | |
Jia et al. | Learning concepts through conversations in spoken dialogue systems | |
Pramanick et al. | Your instruction may be crisp, but not clear to me! | |
Lee et al. | A goal‐driven approach for service request modeling | |
Wessel et al. | An ontology-based dialogue management system for virtual personal assistants | |
Kuhn | Keyword classification trees for speech understanding systems | |
JP2002215661A (en) | Interface knowledge response system in natural language | |
CN111798847A (en) | Voice interaction method, server and computer-readable storage medium | |
CN111538810A (en) | Data generation method and device, electronic equipment and storage medium | |
Shen et al. | SkillBot: Towards automatic skill development via user demonstration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20120710 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130624 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |