KR102445497B1 - Apparatus for generating lexical pattern and training sentence and operating method thereof - Google Patents
Apparatus for generating lexical pattern and training sentence and operating method thereof Download PDFInfo
- Publication number
- KR102445497B1 KR102445497B1 KR1020200175595A KR20200175595A KR102445497B1 KR 102445497 B1 KR102445497 B1 KR 102445497B1 KR 1020200175595 A KR1020200175595 A KR 1020200175595A KR 20200175595 A KR20200175595 A KR 20200175595A KR 102445497 B1 KR102445497 B1 KR 102445497B1
- Authority
- KR
- South Korea
- Prior art keywords
- sentence
- pattern
- weight
- words
- word
- 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/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
- Electrophonic Musical Instruments (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
학습 예문 및 패턴 생성 장치가 개시된다. 일 실시예는 입력 문장에 형태소 분석을 수행하여 상기 입력 문장을 복수의 단어들로 분리하고, 상기 분리된 단어들 중에서 개체명에 해당하는 타겟 단어를 인식하며, 상기 인식된 타겟 단어를 기준으로 하는 연결 단어의 가중치를 하나 이상의 설정값을 기초로 계산하고, 상기 연결 단어의 가중치 및 상기 하나 이상의 설정값을 기초로 상기 인식된 타겟 단어의 가중치를 계산하고, 상기 계산된 가중치들과 상기 입력 문장을 이용하여 하나 이상의 어휘 패턴을 생성한다.A learning example sentence and a pattern generating apparatus are disclosed. In one embodiment, the input sentence is divided into a plurality of words by performing morphological analysis, a target word corresponding to an entity name is recognized among the separated words, and the recognized target word is Calculate the weight of the connected word based on one or more set values, calculate the weight of the recognized target word based on the weight of the connected word and the one or more set values, and combine the calculated weights with the input sentence to create one or more lexical patterns.
Description
아래 실시예들은 학습 예문 및 어휘 패턴 생성에 관한 것이다.The following embodiments relate to learning example sentences and generating vocabulary patterns.
챗봇 서비스 등 다양하게 사용되는 문장의 의도를 정확하게 판단을 하기 위해 학습 예문들이 사용될 수 있다. Learning example sentences may be used to accurately determine the intention of variously used sentences, such as a chatbot service.
관련 선행기술로, 한국 등록특허공보 제10- 1757222호(발명의 명칭: 한글 문장에 대한 의역 문장 생성 방법, 출원인: 한국과학기술원)가 있다. 해당 등록특허공보에는 한글 문장에서 실질 형태소를 분류하고, 한글 문장에서 실질 형태소로 분류된 어근 어휘를 언어학적 자질에 근거하여 동의어로 치환하며, 한글 문장에서 형식 형태소를 분류하고, 동의어 치환된 한글 문장에서 형식 형태소로 분류된 조사 및 어미 어휘 중 적어도 어느 하나를 조사 및 어미 변형 규칙에 따라 문법적으로 변형하는 내용이 개시된다.As a related prior art, there is Korean Patent Publication No. 10- 1757222 (Title of the Invention: Method of Generating Paraphrased Sentences for Korean Sentences, Applicant: Korea Advanced Institute of Science and Technology). According to the registered patent publication, real morphemes are classified in Korean sentences, root words classified as real morphemes in Korean sentences are replaced with synonyms based on linguistic qualities, formal morphemes are classified in Korean sentences, and Korean sentences with synonyms are substituted. The content of grammatically transforming at least one of the pronoun and ending vocabularies classified as formal morphemes in
일 측에 따른 학습 예문 및 패턴 생성 장치의 동작 방법은 입력 문장에 형태소 분석을 수행하여 상기 입력 문장을 복수의 단어들로 분리하는 단계; 상기 분리된 단어들 중에서 개체명에 해당하는 타겟 단어를 인식하는 단계; 상기 인식된 타겟 단어를 기준으로 하는 연결 단어의 가중치를 하나 이상의 설정값을 기초로 계산하고, 상기 연결 단어의 가중치 및 상기 하나 이상의 설정값을 기초로 상기 인식된 타겟 단어의 가중치를 계산하는 단계; 및 상기 계산된 가중치들과 상기 입력 문장을 이용하여 하나 이상의 어휘 패턴을 생성하는 단계를 포함한다.According to one aspect, a method of operating an apparatus for generating a learning example sentence and a pattern includes performing morphological analysis on an input sentence to separate the input sentence into a plurality of words; recognizing a target word corresponding to an entity name from among the separated words; calculating a weight of the connected word based on the recognized target word based on one or more set values, and calculating a weight of the recognized target word based on the weight of the connected word and the at least one set value; and generating one or more vocabulary patterns using the calculated weights and the input sentence.
상기 계산하는 단계는 상기 연결 단어가 복수 개 있는 경우, 상기 복수 개의 연결 단어 중 첫번째 단어부터 상기 인식된 타겟 단어까지의 개수를 파악하는 단계; 상기 하나 이상의 설정값 및 상기 파악된 개수를 기초로 상기 복수 개의 연결 단어 각각의 가중치를 순차적으로 계산하는 단계; 및 상기 복수 개의 연결 단어 중 마지막 단어의 가중치, 상기 하나 이상의 설정값, 및 상기 파악된 개수를 이용하여 상기 인식된 타겟 단어의 가중치를 계산하는 단계를 포함할 수 있다.The calculating may include: when there are a plurality of connected words, determining the number from a first word among the plurality of connected words to the recognized target word; sequentially calculating a weight of each of the plurality of connected words based on the one or more set values and the identified number; and calculating the weight of the recognized target word using the weight of the last word among the plurality of connected words, the one or more set values, and the identified number.
상기 마지막 단어의 가중치, 상기 하나 이상의 설정값, 및 상기 파악된 개수를 이용하여 상기 인식된 타겟 단어의 가중치를 계산하는 단계는 제1 설정값과 상기 마지막 단어의 가중치에 곱셈을 수행하는 단계; 상기 곱셈의 결과와 상기 파악된 개수에 나눗셈을 수행하는 단계; 및 상기 나눗셈의 결과에 상기 제2 설정값을 합한 결과를 상기 인식된 타겟 단어의 가중치로 결정하는 단계를 포함할 수 있다.Calculating the weight of the recognized target word by using the weight of the last word, the one or more set values, and the identified number includes: performing multiplication by the first set value and the weight of the last word; performing division on the result of the multiplication and the determined number; and determining a result of adding the second set value to the result of the division as a weight of the recognized target word.
상기 제2 설정값은 상기 제1 설정값보다 클 수 있다.The second set value may be greater than the first set value.
상기 어휘 패턴을 생성하는 단계는 상기 입력 문장에서 상기 인식된 타겟 단어를 상기 개체명으로 치환하여 제1 문장을 생성하고 상기 제1 문장에 대응되는 제1 어휘 패턴을 생성하는 단계; 및 상기 복수 개의 연결 단어 각각의 가중치 중 최소 가중치를 가진 연결 단어를 상기 생성된 제1 문장에서 삭제하여 제2 문장을 생성하고, 상기 생성된 제2 문장에 대응되는 제2 어휘 패턴을 생성하는 단계를 포함할 수 있다.The generating of the vocabulary pattern may include: generating a first sentence by substituting the recognized target word in the input sentence with the entity name, and generating a first vocabulary pattern corresponding to the first sentence; and generating a second sentence by deleting a connection word having a minimum weight among the weights of each of the plurality of connection words from the generated first sentence, and generating a second vocabulary pattern corresponding to the generated second sentence. may include.
상기 어휘 패턴을 생성하는 단계는 상기 복수 개의 연결 단어 각각의 가중치 중 두번째로 작은 가중치를 가진 연결 단어를 상기 생성된 제2 문장에서 삭제하여 제3 문장을 생성하고, 상기 생성된 제3 문장에 대응되는 제3 어휘 패턴을 생성하는 단계를 포함할 수 있다.In the generating of the vocabulary pattern, a connecting word having the second smallest weight among the weights of each of the plurality of connecting words is deleted from the generated second sentence to generate a third sentence, and corresponding to the generated third sentence. and generating a third lexical pattern to be used.
상기 어휘 패턴을 생성하는 단계는 상기 어휘 패턴을 정규 표현식(regular expression)으로 생성하는 단계를 포함할 수 있다.The generating of the vocabulary pattern may include generating the vocabulary pattern as a regular expression.
상기 생성된 어휘 패턴, 상기 개체명에 관한 메타 정보, 및 어미 사전을 기초로 하나 이상의 학습 예문을 생성하는 단계를 더 포함할 수 있다.The method may further include generating one or more learning example sentences based on the generated vocabulary pattern, meta information about the entity name, and an ending dictionary.
상기 메타 정보는 상기 개체명에 관한 복수의 워드들을 포함할 수 있다.The meta information may include a plurality of words related to the entity name.
상기 하나 이상의 학습 예문을 생성하는 단계는 상기 생성된 어휘 패턴 내의 개체명을 상기 메타 정보 내의 하나 이상의 워드로 치환하고 상기 어미 사전을 이용하여 상기 생성된 어휘 패턴의 어미를 변환하는 단계를 포함할 수 있다.The generating of the one or more learning example sentences may include replacing the entity name in the generated vocabulary pattern with one or more words in the meta information and converting the ending of the generated vocabulary pattern using the ending dictionary. have.
컴퓨터 판독 가능한 기록매체에 저장된 소프트웨어로, 상기 동작 방법을 실행할 수 있다. As software stored in a computer-readable recording medium, the operating method can be executed.
일 측에 따른 학습 예문 및 패턴 생성 장치는 입력 문장에 형태소 분석을 수행하여 상기 입력 문장을 복수의 단어들로 분리하고, 상기 분리된 단어들 중에서 개체명에 해당하는 타겟 단어를 인식하며, 상기 인식된 타겟 단어를 기준으로 하는 연결 단어의 가중치를 하나 이상의 설정값을 기초로 계산하고, 상기 연결 단어의 가중치 및 상기 하나 이상의 설정값을 기초로 상기 인식된 타겟 단어의 가중치를 계산하고, 상기 계산된 가중치들과 상기 입력 문장을 이용하여 하나 이상의 어휘 패턴을 생성하는 컨트롤러를 포함한다.A learning example sentence and pattern generating apparatus according to one side performs morphological analysis on the input sentence to separate the input sentence into a plurality of words, recognizes a target word corresponding to an entity name from among the separated words, and the recognition Calculate the weight of the connected word based on the target word based on one or more set values, calculate the weight of the recognized target word based on the weight of the connected word and the at least one set value, and a controller for generating one or more lexical patterns by using the weights and the input sentence.
상기 컨트롤러는 상기 연결 단어가 복수 개 있는 경우, 상기 복수 개의 연결 단어 중 첫번째 단어부터 상기 인식된 타겟 단어까지의 개수를 파악하고, 상기 하나 이상의 설정값 및 상기 파악된 개수를 기초로 상기 복수 개의 연결 단어 각각의 가중치를 순차적으로 계산하며, 상기 복수 개의 연결 단어 중 마지막 단어의 가중치, 상기 하나 이상의 설정값, 및 상기 파악된 개수를 이용하여 상기 인식된 타겟 단어의 가중치를 계산할 수 있다.When there are a plurality of connection words, the controller determines the number from the first word among the plurality of connection words to the recognized target word, and based on the at least one set value and the identified number, the plurality of connection words The weight of each word may be sequentially calculated, and the weight of the recognized target word may be calculated using the weight of the last word among the plurality of connected words, the one or more set values, and the identified number.
상기 컨트롤러는 제1 설정값과 상기 마지막 단어의 가중치에 곱셈을 수행하고, 상기 곱셈의 결과와 상기 파악된 개수에 나눗셈을 수행하며, 상기 나눗셈의 결과에 상기 제2 설정값을 합한 결과를 상기 인식된 타겟 단어의 가중치로 결정할 수 있다.The controller multiplies the first set value and the weight of the last word, divides the result of the multiplication and the identified number, and recognizes the result of adding the second set value to the result of the division It can be determined by the weight of the target word.
상기 제2 설정값은 상기 제1 설정값보다 클 수 있다.The second set value may be greater than the first set value.
상기 컨트롤러는 상기 입력 문장에서 상기 인식된 타겟 단어를 상기 개체명으로 치환하여 제1 문장을 생성하고 상기 제1 문장에 대응되는 제1 어휘 패턴을 생성하고, 상기 복수 개의 연결 단어 각각의 가중치 중 최소 가중치를 가진 연결 단어를 상기 생성된 제1 문장에서 삭제하여 제2 문장을 생성하고, 상기 생성된 제2 문장에 대응되는 제2 어휘 패턴을 생성할 수 있다.The controller generates a first sentence by substituting the recognized target word in the input sentence with the entity name, generates a first lexical pattern corresponding to the first sentence, and generates a minimum weight of each of the plurality of connected words. A second sentence may be generated by deleting a connection word having a weight from the generated first sentence, and a second vocabulary pattern corresponding to the generated second sentence may be generated.
상기 컨트롤러는 상기 복수 개의 연결 단어 각각의 가중치 중 두번째로 작은 가중치를 가진 연결 단어를 상기 생성된 제2 문장에서 삭제하여 제3 문장을 생성하고, 상기 생성된 제3 문장에 대응되는 제3 어휘 패턴을 생성할 수 있다.The controller generates a third sentence by deleting a connection word having a second smallest weight among the weights of each of the plurality of connection words from the generated second sentence, and a third vocabulary pattern corresponding to the generated third sentence. can create
상기 컨트롤러는 상기 어휘 패턴을 정규 표현식으로 생성할 수 있다.The controller may generate the vocabulary pattern as a regular expression.
상기 컨트롤러는 상기 생성된 어휘 패턴, 상기 개체명에 관한 메타 정보, 및 어미 사전을 기초로 하나 이상의 학습 예문을 생성할 수 있다.The controller may generate one or more learning example sentences based on the generated vocabulary pattern, meta information about the entity name, and an ending dictionary.
상기 컨트롤러는 상기 생성된 어휘 패턴 내의 개체명을 상기 메타 정보 내의 하나 이상의 워드로 치환하고 상기 어미 사전을 이용하여 상기 생성된 어휘 패턴의 어미를 변환할 수 있다.The controller may replace the entity name in the generated vocabulary pattern with one or more words in the meta information and convert the ending of the generated vocabulary pattern using the ending dictionary.
실시예들은 다양한 딥러닝 모델을 학습 시키기 위해 필요한 예문들(또는 학습 데이터)을 쉽고 효율적으로 생성할 수 있다Embodiments can easily and efficiently generate example sentences (or learning data) necessary to train various deep learning models.
도 1 내지 도 2는 일 실시예에 따른 챗봇 시스템을 설명하기 위한 도면이다.
도 3 내지 도 6은 일 실시예에 따른 학습 예문 및 패턴 생성을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 학습 예문 및 패턴 생성 장치를 설명하기 위한 블록도이다.
도 8은 일 실시예에 따른 학습 예문 및 패턴 생성 장치의 동작 방법을 설명하기 위한 순서도이다. 1 to 2 are diagrams for explaining a chatbot system according to an embodiment.
3 to 6 are diagrams for explaining a learning example sentence and pattern generation according to an embodiment.
7 is a block diagram illustrating a learning example sentence and a pattern generating apparatus according to an embodiment.
8 is a flowchart for explaining a learning example sentence and an operating method of an apparatus for generating a pattern according to an embodiment.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be changed and implemented in various forms. Accordingly, the actual implementation form is not limited to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit described in the embodiments.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various elements, these terms should be interpreted only for the purpose of distinguishing one element from another. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected” to another component, it may be directly connected or connected to the other component, but it should be understood that another component may exist in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same components are assigned the same reference numerals regardless of the reference numerals, and overlapping descriptions thereof will be omitted.
도 1 내지 도 2는 일 실시예에 따른 챗봇 시스템을 설명하기 위한 도면이다.1 to 2 are diagrams for explaining a chatbot system according to an embodiment.
도 1을 참조하면, 챗봇 시스템(110)은 사용자로부터 자연어 질문을 수신할 수 있고, 자연어 질문에 대한 답변을 사용자에게 피드백할 수 있다. 일례로, 챗봇 시스템(110)은 사용자로부터 "한라산은 어때요?"의 자연어 질문을 수신하는 경우, 챗봇 시스템(110) 내의 의도 분석 부문(Natural Language Understand; NLU), 대화 관리 부문(Dialogue Management; DM), 및 응답 생성 부문(Natural Generation)을 통해 "제주도 중심부에 있으며, 아름다운 장관을 볼 수 있어요."의 답변을 사용자에게 피드백할 수 있다. Referring to FIG. 1 , the
챗봇 시스템(110)의 의도 분석 부분은 패턴 기반과 학습 기반으로 구동될 수 있는데, 도 2에 도시된 예와 같이 미리 데이터(또는 학습 예문들)를 학습한 모델을 이용함으로써 새로운 입력 문장을 임계치(threshold)와 비교할 수 있고, 새로운 입력 문장이 해당 임계치 이상이면 의도 추출 및 예측 결과를 사용자에게 제공할 수 있다.The intention analysis part of the
일 실시예는 입력 문장에서 개체명 단어를 중심으로 연결된 단어들의 가중치를 계산할 수 있으며, 계산된 가중치를 활용하여 입력 문장의 유사 문장들과 관련된 어휘 패턴들을 생성할 수 있다. 이에 따라, 일 실시예는 챗봇 서비스 뿐 아니라 다양한 학습 예문들을 필요로 하는 대화형 시스템, 기계 번역, 텍스트 분석 등 다양한 분야에 적극 활용될 수 있고, 다양한 딥러닝 모델을 학습 시키기 위해 필요한 대량의 학습 예문들을 생성할 수 있다. 이에 대해선 자세히 설명한다.According to an exemplary embodiment, weights of words connected with respect to the entity word in the input sentence may be calculated, and vocabulary patterns related to similar sentences of the input sentence may be generated by using the calculated weights. Accordingly, one embodiment can be actively used in various fields such as conversational systems, machine translation, and text analysis that require various learning examples as well as chatbot services, and a large amount of learning examples required to learn various deep learning models can create This will be described in detail.
도 3 내지 도 6은 일 실시예에 따른 학습 예문 및 패턴 생성을 설명하기 위한 도면이다.3 to 6 are diagrams for explaining a learning example sentence and pattern generation according to an embodiment.
도 3을 참조하면, 학습 예문 및 패턴 생성 장치(310)는 문장 "너무 아름다운 한라산이 그리워"를 입력 받을 수 있다. Referring to FIG. 3 , the learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 입력 문장 "너무 아름다운 한라산이 그리워"에 형태소 분석 및 품사 태깅을 수행할 수 있다. 달리 표현하면, 학습 예문 및 패턴 생성 장치(310)는 입력 문장을 형태소 단위로 분리할 수 있고 품사를 판단할 수 있다. 학습 예문 및 패턴 생성 장치(310)는 입력 문장 "너무 아름다운 한라산이 그리워"를 형태소 단위의 분리를 통해 "너무 아름다운 한라산 + 이 좋 + 아요"를 생성할 수 있고 품사 태깅을 통해 "너무/MAG", "아름다운/MM", "한라산/NNP" 등을 생성할 수 있다. 다른 일례로, 학습 예문 및 패턴 생성 장치(310)는 입력 문장 "어제 정동진에 갔었어요"에 형태소 분석 및 품사 태깅을 수행하여 "어제/MAG", "정동진/NNP", "에/JKB", 가/VV 등을 생성할 수 있다. 이러한 품사 태깅은 세종 품사 태그셋에 기초하여 수행될 수 있다.The learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 입력 문장을 분리하여 생성한 단어들 중에서 개체명에 해당하는 타겟 단어를 인식할 수 있다. 달리 표현하면, 학습 예문 및 패턴 생성 장치(310)는 주요 의미를 가진 단어를 인식할 수 있다. 일례로, 입력 문장 "너무 아름다운 한라산이 그리워" 내의 워드들 "너무", "아름다운", "한라산" 중에서 "한라산"은 개체명 location에 해당하므로, 학습 예문 및 패턴 생성 장치(310)는 개체명 인식을 통해 "한라산"을 타겟 단어로 인식할 수 있다. 실시예에 있어서, 학습 예문 및 패턴 생성 장치(310)는 개체명 "한라산"을 인식한 경우, "한라산"의 이전 단어들 중에서 "한라산"과 연결된 연결 단어를 식별할 수 있다. 일례로, 학습 예문 및 패턴 생성 장치(310)는 "한라산"의 이전 단어들 중 하나인 "아름다운"의 품사는 관형사로, "아름다운"의 품사를 통해 "아름다운"이 "한라산"을 수식하는 것으로 인지할 수 있다. 이에 따라, 학습 예문 및 패턴 생성 장치(310)는 "아름다운"을 "한라산"과 연결된 연결 단어로 식별할 수 있다. "한라산"의 이전 단어들 중 하나인 "너무"의 품사는 일반 부사로 "너무"는 "아름다운"을 수식할 수 있고 "한라산"을 직접 수식하지 않는다. 일 실시예에 있어서, 학습 예문 및 패턴 생성 장치(310)는 "너무"를 "한라산"과 (간접적으로) 연결된 연결 단어로 식별할 수 있다. 이에 따라, 학습 예문 및 패턴 생성 장치(310)는 입력 문장 "너무 아름다운 한라산이 그리워"에서 "너무"와 "아름다운" 각각을 "한라산"의 연결 단어로 식별할 수 있다.The learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 개체명을 기준으로 단어들 간의 유사도를 계산할 수 있다. 보다 구체적으로, 학습 예문 및 패턴 생성 장치(310)는 "한라산"을 타겟 단어(또는 개체명)로 인식한 경우, "한라산"의 가중치, "한라산"과 연결된 "아름다운"의 가중치, "아름다운"과 연결된 "너무"의 가중치를 아래 수학식 1을 통해 계산할 수 있다. The learning example sentence and
위 수학식 1에서, 는 단어(w i )의 이전 인접한 단어들의 가중치의 합으로, 단어(w i )의 가중치를 나타낼 수 있다. 달리 표현하면, 는 단어(w i )의 연결 단어들 각각의 가중치의 합을 나타낼 수 있다. 는 개체명(e i )까지의 인접한 단어들의 집합을 나타낼 수 있다. 는 단어(wj)로부터 개체명(e i )까지의 모든 단어의 개수를 나타낼 수 있다. 달리 표현하면, 는 개체명(e i )의 연결 단어들 첫번째 단어부터 개체명(e i )까지의 단어의 개수를 나타낼 수 있다. 는 단어(w j )의 가중치와 단어(w j )의 이전 인접한 단어의 가중치의 합을 나타낼 수 있다. In
위 수학식 1에서, 1은 단어(w i )의 설정값에 해당할 수 있고 0.8은 인접 단어의 설정값을 나타낼 수 있다. 위 수학식 1에서, 1 대신에 다른 상수가 활용 또는 대체될 수 있고 0.8 대신에 다른 상수가 활용 또는 대체될 수 있다.In
학습 예문 및 패턴 생성 장치(310)는 입력 문장으로부터 개체명(e i )의 연결 단어들의 집합 {너무, 아름다운}을 생성할 수 있다. 다시 말해, ={너무, 아름다운}일 수 있다. The learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 개체명(e i )까지 연결된 단어들 중 첫번째 단어부터 개체명(e i )까지의 단어의 개수(즉, )를 파악할 수 있다. 학습 예문 및 패턴 생성 장치(310)는 개체명 "한라산"의 연결 단어들 중 첫번째 단어인 "너무"로부터 "한라산"까지 총 3개의 단어가 있으므로, 를 3으로 파악할 수 있다. The learning example sentence and
도 4에 도시된 예를 참조하면서, "너무"의 가중치(α1), "아름다운"의 가중치(α2), 및 "한라산"의 가중치(α3)를 계산하는 것에 대해 설명한다.Referring to the example shown in FIG. 4 , calculation of the weight of “too” (α 1 ), the weight of “beautiful” (α 2 ), and the weight of “Mt. Halla” (α 3 ) will be described.
도 4를 참조하면, "학습 예문 및 패턴 생성 장치(310)는 "너무" 이전에 연결된 단어는 없으므로, "너무"의 가중치(α1)를 1로 계산할 수 있다. 다시 말해, "학습 예문 및 패턴 생성 장치(310)는 "한라산"의 연결 단어들 중 첫 번째 연결 단어 "너무"의 가중치(α1)를 1로 계산할 수 있다.Referring to FIG. 4 , “the learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 "아름다운"의 가중치(α2)를 1.266으로 계산할 수 있다. 다시 말해, "학습 예문 및 패턴 생성 장치(310)는 "한라산"의 연결 단어들 중 마지막 연결 단어 "아름다운"의 가중치(α2)를 1.266으로 계산할 수 있다. "아름다운"의 가중치(α2)는 "아름다운"과 연결된 "너무"의 가중치를 기초로 계산될 수 있다. "아름다운"의 가중치(α2)는 "아름다운"과 "너무" 사이의 연결 가중치(α2)로 달리 표현될 수 있다.The learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 "한라산"의 가중치(α3)를 1.337로 계산할 수 있다. "한라산"의 가중치(α3)는 "한라산"을 기준으로 하는 연결 단어들 "너무"와 "아름다운" 각각의 가중치를 기초로 계산될 수 있다. "한라산"의 가중치(α3)는 "한라산" 및 연결 단어들 사이의 연결 가중치(α3)로 달리 표현될 수 있다. 앞서 설명한 것과 같이, "한라산"은 개체명에 해당하므로 학습 예문 및 패턴 생성 장치(310)는 가중치 계산을 종료할 수 있다. 다시 말해, 학습 예문 및 패턴 생성 장치(310)는 개체명의 가중치가 계산되면 가중치 계산을 종료할 수 있다. The learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 계산된 가중치들과 입력 문장을 이용하여 하나 이상의 어휘 패턴을 생성할 수 있다. 도 5에 도시된 예를 참조하면, 학습 예문 및 패턴 생성 장치(310)는 입력 문장 "너무 아름다운 한라산이 좋아요."에서 "한라산"을 "개체명"으로 치환하여 제1 문장(510)을 생성할 수 있다. 도 5에 도시된 예와 같이, 학습 예문 및 패턴 생성 장치(310)는 입력 문장의 "한라산"을 "%location"으로 치환함으로써 제1 문장 "너무 아름다운 %location이 좋아요."(510)를 생성할 수 있다. 학습 예문 및 패턴 생성 장치(310)는 제1 문장(510)에 문자열의 시작을 의미하는 정규 표현식 기호(^)를 표기하여 제1 어휘 패턴(511)을 생성할 수 있다. 도 5에 도시된 예와 같이, 학습 예문 및 패턴 생성 장치(310)는 제1 어휘 패턴 "^너무.아름다운.%location.?좋$"(511)을 생성할 수 있다.The learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 재귀적(recursion)인 방식을 통해 유사 어휘 패턴을 생성할 수 있다. 도 5에 도시된 예와 같이, 학습 예문 및 패턴 생성 장치(310)는 제1 문장(510)에서 최소 가중치를 가진 "너무"를 제거하여 제2 문장(520)을 생성할 수 있고, 정규 표현식에서 바로 앞에 단어가 없거나 하나가 있음을 의미하는 기호(?)를 표기하여 제2 어휘 패턴(521)을 생성할 수 있다. 도 5에 도시된 예와 같이, 학습 예문 및 패턴 생성 장치(310)는 제2 문장 "아름다운 %location이 좋아요."(520)를 생성할 수고, 제2 어휘 패턴 ".?아름다운.%location.?좋$"(521)을 생성할 수 있다. 학습 예문 및 패턴 생성 장치(310)는 제2 문장(520)에서 두번째 최소 가중치를 가진 "아름다운"을 제거하여 제3 문장(530)을 생성할 수 있고, 정규 표현식에서 바로 앞에 단어가 없거나 하나 이상 반복을 의미하는 기호(*)를 표기하여 제3 어휘 패턴(531)을 생성할 수 있다. 도 5에 도시된 예와 같이, 학습 예문 및 패턴 생성 장치(310)는 제3 문장 "%location이 좋아요."(530)를 생성할 수고, 제3 어휘 패턴 ".*%location.?좋$"(531)을 생성할 수 있다.The learning example sentence and
위에서, 학습 예문 및 패턴 생성 장치(310)는 제1 문장(510) 내지 제3 문장(530)을 생성하는 것에 대해 설명하였으나, 이는 예시적인 사항일 뿐, 학습 예문 및 패턴 생성 장치(310)는 제1 문장(510) 내지 제3 문장(530) 중 적어도 하나를 변형하여 제4 문장, 제5 문장 등을 생성할 수 있고, 생성된 제4 문장, 제5 문장 등 각각의 어휘 패턴을 생성할 수 있다. In the above, the learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 개체명까지의 연결된 단어들이 입력 문장에서 모두 제거되었으므로, 어휘 패턴 생성을 종료할 수 있다. The learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 개체명과 관련된 메타 정보(또는 메타 사전)과 어미 사전을 이용하여 다양한 학습 예문을 생성할 수 있다. 도 6에 도시된 예와 같이, 학습 예문 및 패턴 생성 장치(310)는 메타 정보(610) 내의 여러 워드들 중 하나 이상을 "%location"과 치환하여 다양한 학습 예문을 생성할 수 있다. 또한, 학습 예문 및 패턴 생성 장치(310)는 어미 사전(620)을 이용하여 동사의 어미를 변환함으로써 다양한 용언의 학습 예문들을 생성할 수 있다. The learning example sentence and
도 7은 일 실시예에 따른 학습 예문 및 패턴 생성 장치를 설명하기 위한 블록도이다. 7 is a block diagram illustrating a learning example sentence and a pattern generating apparatus according to an embodiment.
도 7을 참조하면, 학습 예문 및 패턴 생성 장치(310)는 메모리(710) 및 컨트롤러(720)를 포함한다.Referring to FIG. 7 , the learning example sentence and
메모리(710)는 컨트롤러(720)의 동작에 필요한 데이터, 컨트롤러(720)의 동작 결과 등을 저장할 수 있다. The
컨트롤러(720)는 학습 예문 및 패턴 생성 장치(310)의 전체적인 동작을 제어한다.The
컨트롤러(720)는 입력 문장에 형태소 분석을 수행하여 입력 문장을 복수의 단어들로 분리할 수 있다. 일례로, 컨트롤러(720)는 입력 문장 "너무 아름다운 한라산이 그리워"에 형태 분석을 수행하여 "너무", "아름다운", "한라산" 등으로 분리할 수 있다. The
컨트롤러(720)는 분리된 단어들 중에서 개체명에 해당하는 타겟 단어를 인식할 수 있다. 일례로, 컨트롤러(720)는 개체명 인식을 수행하여 "한라산"을 타겟 단어로 인식할 수 있다.The
컨트롤러(720)는 인식된 타겟 단어를 기준으로 하는 연결 단어의 가중치를 하나 이상의 설정값을 기초로 계산할 수 있고, 해당 연결 단어의 가중치 및 하나 이상의 설정값을 기초로 타겟 단어의 가중치를 계산할 수 있다. The
보다 구체적으로, 컨트롤러(720)는 인식된 타겟 단어를 기준으로 하는 연결 단어가 복수 개 있는 경우, 복수 개의 연결 단어 중 첫번째 단어부터 타겟 단어까지의 개수를 파악할 수 있고, 하나 이상의 설정값 및 파악된 개수를 기초로 복수 개의 연결 단어 각각의 가중치를 순차적으로 계산할 수 있다. 일례로, "너무", "아름다운", "한라산"에서 타겟 단어 "한라산"을 기준으로 하는 연결 단어인 "너무"와 "아름다운"이 있다. 컨트롤러(720)는 첫번째 연결 단어인 "너무" 부터 타겟 단어 "한라산"까지의 총 3개의 워드가 있는 것을 파악할 수 있다. 컨트롤러(720)는 "너무" 이전에 연결된 단어가 없으므로, "너무"의 가중치를 제2 설정값(예를 들어, 위에서 설명한 1)으로 계산할 수 있다. 컨트롤러(720)는 "아름다운"의 가중치를 제1 설정값(예를 들어, 0.8)과 "너무"의 가중치 "1"에 곱셈을 수행하고, 곱셈의 결과와 파악된 개수 "3"에 나눗셈을 수행할 수 있으며, 나눗셈의 결과와 제2 설정값을 합한 것을 "아름다운"의 가중치로 결정할 수 있다. 다시 말해, 컨트롤러(720)는 1+(0.8×"너무"의 가중치)/3를 "아름다운"의 가중치로 결정할 수 있다. "아름다운"의 가중치의 계산 과정에 대해선 도 4에 도시되어 있으므로 상세한 설명을 생략한다. 제1 설정값을 0.8로 예를 들고 제2 설정값을 1로 예를 들었으나 이는 예시적인 사항일 뿐 제1 설정값과 제2 설정값 각각은 앞선 예로 제한되지 않는다. More specifically, when there are a plurality of connected words based on the recognized target word, the
컨트롤러(720)는 복수 개의 연결 단어 중 마지막 단어의 가중치, 하나 이상의 설정값, 및 파악된 개수를 이용하여 타겟 단어의 가중치를 계산할 수 있다. 일례로, 컨트롤러(720)는 복수 개의 연결 단어 중 마지막 단어 "아름다운"의 가중치와 제1 설정값에 곱셈을 수행하고, 곱셈의 결과와 파악된 개수 "3"에 나눗셈을 수행하며, 나눗셈의 결과와 제2 설정값을 합한 것을 타겟 단어 "한라산"의 가중치로 결정할 수 있다. 다시 말해, 컨트롤러(720)는 1+(0.8×"아름다운"의 가중치)/3를 "한라산"의 가중치로 결정할 수 있다. "한라산"의 가중치의 계산 과정에 대해선 도 4에 도시되어 있으므로 상세한 설명을 생략한다.The
컨트롤러(720)는 계산된 가중치들과 입력 문장을 이용하여 하나 이상의 어휘 패턴을 생성할 수 있다. 이 때, 컨트롤러(720)는 어휘 패턴을 정규 표현식으로 생성할 수 있다. 어휘 패턴은 문장 패턴으로 달리 표현될 수 있다. 위에서 설명한 것과 같이, 컨트롤러(720)는 입력 문장에서 타겟 단어를 개체명으로 치환하여 제1 문장(510)을 생성할 수 있고 제1 문장(510)에 대응되는 제1 어휘 패턴(511)을 생성할 수 있다. 컨트롤러(720)는 타겟 단어의 복수 개의 연결 단어 각각의 가중치 중 최소 가중치를 가진 연결 단어를 제1 문장(510)에서 삭제하여 제2 문장(520)을 생성할 수 있고, 제2 문장(520)에 대응되는 제2 어휘 패턴(521)을 생성할 수 있다. 컨트롤러(720)는 타겟 단어의 복수 개의 연결 단어 각각의 가중치 중 두번째로 작은 가중치를 가진 연결 단어를 제2 문장(520)에서 삭제하여 제3 문장(530)을 생성할 수 있고, 제3 문장(530)에 대응되는 제3 어휘 패턴(531)을 생성할 수 있다.The
컨트롤러(720)는 하나 이상의 어휘 패턴, 개체명에 관한 메타 정보, 및 어미 사전을 기초로 하나 이상의 학습 예문을 생성할 수 있다. 보다 구체적으로, 컨트롤러(720)는 어휘 패턴 내의 개체명을 메타 정보 내의 하나 이상의 워드로 치환하고 어휘 패턴의 어미를 어미 사전을 이용하여 변환할 수 있다. 이에 따라, 컨트롤러(720)는 다양한 학습 예문을 생성할 수 있다.The
도 1 내지 도 6을 통해 기술된 사항들은 도 7을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.Since the matters described with reference to FIGS. 1 to 6 may be applied to the matters described with reference to FIG. 7 , a detailed description thereof will be omitted.
도 8은 일 실시예에 따른 학습 예문 및 패턴 생성 장치의 동작 방법을 설명하기 위한 순서도이다. 8 is a flowchart for explaining a learning example sentence and an operating method of an apparatus for generating a pattern according to an embodiment.
도 8을 참조하면, 학습 예문 및 패턴 생성 장치(310)는 입력 문장에 형태소 분석을 수행하여 입력 문장을 복수의 단어들로 분리한다(810) .Referring to FIG. 8 , the learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 분리된 단어들 중에서 개체명에 해당하는 타겟 단어를 인식한다(820).The learning example sentence and
학습 예문 및 패턴 생성 장치(310)는 타겟 단어를 기준으로 하는 연결 단어의 가중치를 하나 이상의 설정값을 기초로 계산하고, 연결 단어의 가중치 및 하나 이상의 설정값을 기초로 타겟 단어의 가중치를 계산한다(830).The learning example sentence and
단계(830)에서, 학습 예문 및 패턴 생성 장치(310)는 타겟 단어를 기준으로 하는 연결 단어가 복수 개 있는 경우, 복수 개의 연결 단어 중 첫번째 단어부터 타겟 단어까지의 개수를 파악할 수 있다. 학습 예문 및 패턴 생성 장치(310)는 하나 이상의 설정값 및 파악된 개수를 기초로 복수 개의 연결 단어 각각의 가중치를 순차적으로 계산할 수 있다. 학습 예문 및 패턴 생성 장치(310)는 복수 개의 연결 단어 중 마지막 단어의 가중치, 하나 이상의 설정값, 및 파악된 개수를 이용하여 타겟 단어의 가중치를 계산할 수 있다. In
단계(830)에서, 학습 예문 및 패턴 생성 장치(310)는 타겟 단어를 기준으로 하는 연결 단어가 단수 개 있는 경우, 연결 단어와 타겟 단어의 총 개수를 2로 파악할 수 있고 연결 단어의 가중치를 "1"로 결정할 수 있다. 학습 예문 및 패턴 생성 장치(310)는 연결 단어의 가중치, 하나 이상의 설정값, 및 파악된 개수를 이용하여 타겟 단어의 가중치를 계산할 수 있다. 일례로, 학습 예문 및 패턴 생성 장치(310)는 1+(0.8×연결 단어의 가중치)/3를 타겟 단어의 가중치로 계산할 수 있다. In
학습 예문 및 패턴 생성 장치(310)는 계산된 가중치들과 입력 문장을 이용하여 하나 이상의 어휘 패턴을 생성한다(840). The learning example sentence and
도 1 내지 도 7을 통해 기술된 사항들은 도 8을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.Since the matters described with reference to FIGS. 1 to 7 may be applied to the matters described with reference to FIG. 8 , a detailed description thereof will be omitted.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the apparatus, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using a general purpose computer or special purpose computer. The processing device may execute an operating system (OS) and a software application running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in a computer-readable recording medium.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination, and the program instructions recorded on the medium are specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. may be Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or a plurality of software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, a person skilled in the art may apply various technical modifications and variations based thereon. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (19)
입력 문장에 형태소 분석을 수행하여 상기 입력 문장을 복수의 단어들로 분리하는 단계;
상기 분리된 단어들 중에서 개체명에 해당하는 타겟 단어를 인식하는 단계;
상기 인식된 타겟 단어를 기준으로 하는 연결 단어의 가중치를 하나 이상의 설정값을 기초로 계산하고, 상기 연결 단어의 가중치 및 상기 하나 이상의 설정값을 기초로 상기 인식된 타겟 단어의 가중치를 계산하는 단계; 및
상기 계산된 가중치들과 상기 입력 문장을 이용하여 하나 이상의 어휘 패턴을 생성하는 단계
를 포함하는,
학습 예문 및 패턴 생성 장치의 동작 방법.
In the operating method of the learning example sentence and the pattern generating apparatus,
separating the input sentence into a plurality of words by performing morphological analysis on the input sentence;
recognizing a target word corresponding to an entity name from among the separated words;
calculating a weight of the connected word based on the recognized target word based on one or more set values, and calculating a weight of the recognized target word based on the weight of the connected word and the at least one set value; and
generating one or more lexical patterns using the calculated weights and the input sentence
containing,
Learning example sentences and the operation method of the pattern generating device.
상기 계산하는 단계는,
상기 연결 단어가 복수 개 있는 경우, 상기 복수 개의 연결 단어 중 첫번째 단어부터 상기 인식된 타겟 단어까지의 개수를 파악하는 단계;
상기 하나 이상의 설정값 및 상기 파악된 개수를 기초로 상기 복수 개의 연결 단어 각각의 가중치를 순차적으로 계산하는 단계; 및
상기 복수 개의 연결 단어 중 마지막 단어의 가중치, 상기 하나 이상의 설정값, 및 상기 파악된 개수를 이용하여 상기 인식된 타겟 단어의 가중치를 계산하는 단계
를 포함하는,
학습 예문 및 패턴 생성 장치의 동작 방법.
According to claim 1,
The calculating step is
determining the number from a first word among the plurality of connected words to the recognized target word when there are a plurality of connected words;
sequentially calculating a weight of each of the plurality of connected words based on the one or more set values and the identified number; and
calculating the weight of the recognized target word using the weight of the last word among the plurality of connected words, the one or more set values, and the identified number;
containing,
Learning example sentences and the operation method of the pattern generating device.
상기 마지막 단어의 가중치, 상기 하나 이상의 설정값, 및 상기 파악된 개수를 이용하여 상기 인식된 타겟 단어의 가중치를 계산하는 단계는,
제1 설정값과 상기 마지막 단어의 가중치에 곱셈을 수행하는 단계;
상기 곱셈의 결과와 상기 파악된 개수에 나눗셈을 수행하는 단계; 및
상기 나눗셈의 결과에 제2 설정값을 합한 결과를 상기 인식된 타겟 단어의 가중치로 결정하는 단계
를 포함하는,
학습 예문 및 패턴 생성 장치의 동작 방법.
3. The method of claim 2,
Calculating the weight of the recognized target word using the weight of the last word, the one or more set values, and the identified number includes:
performing multiplication on the first set value and the weight of the last word;
performing division on the result of the multiplication and the determined number; and
determining a result of adding a second set value to the result of the division as a weight of the recognized target word
containing,
Learning example sentences and the operation method of the pattern generating device.
상기 제2 설정값은 상기 제1 설정값보다 큰,
학습 예문 및 패턴 생성 장치의 동작 방법.
4. The method of claim 3,
the second set value is greater than the first set value,
Learning example sentences and the operation method of the pattern generating device.
상기 어휘 패턴을 생성하는 단계는,
상기 입력 문장에서 상기 인식된 타겟 단어를 상기 개체명으로 치환하여 제1 문장을 생성하고 상기 제1 문장에 대응되는 제1 어휘 패턴을 생성하는 단계; 및
상기 복수 개의 연결 단어 각각의 가중치 중 최소 가중치를 가진 연결 단어를 상기 생성된 제1 문장에서 삭제하여 제2 문장을 생성하고, 상기 생성된 제2 문장에 대응되는 제2 어휘 패턴을 생성하는 단계
를 포함하는,
학습 예문 및 패턴 생성 장치의 동작 방법.
3. The method of claim 2,
The step of generating the vocabulary pattern comprises:
generating a first sentence by substituting the recognized target word in the input sentence with the entity name and generating a first vocabulary pattern corresponding to the first sentence; and
generating a second sentence by deleting a connecting word having a minimum weight among the weights of each of the plurality of connecting words from the generated first sentence, and generating a second vocabulary pattern corresponding to the generated second sentence;
containing,
Learning example sentences and the operation method of the pattern generating device.
상기 어휘 패턴을 생성하는 단계는,
상기 복수 개의 연결 단어 각각의 가중치 중 두번째로 작은 가중치를 가진 연결 단어를 상기 생성된 제2 문장에서 삭제하여 제3 문장을 생성하고, 상기 생성된 제3 문장에 대응되는 제3 어휘 패턴을 생성하는 단계
를 포함하는,
학습 예문 및 패턴 생성 장치의 동작 방법.
6. The method of claim 5,
The step of generating the vocabulary pattern comprises:
A third sentence is generated by deleting a connection word having a second smallest weight among the weights of each of the plurality of connection words from the generated second sentence, and a third vocabulary pattern corresponding to the generated third sentence is generated. step
containing,
Learning example sentences and the operation method of the pattern generating device.
상기 어휘 패턴을 생성하는 단계는,
상기 어휘 패턴을 정규 표현식(regular expression)으로 생성하는 단계
를 포함하는,
학습 예문 및 패턴 생성 장치의 동작 방법.
According to claim 1,
The step of generating the vocabulary pattern comprises:
Generating the vocabulary pattern as a regular expression (regular expression)
containing,
Learning example sentences and the operation method of the pattern generating device.
상기 생성된 어휘 패턴, 상기 개체명에 관한 메타 정보, 및 어미 사전을 기초로 하나 이상의 학습 예문을 생성하는 단계
를 더 포함하는,
학습 예문 및 패턴 생성 장치의 동작 방법.
According to claim 1,
Generating one or more learning example sentences based on the generated vocabulary pattern, meta information about the entity name, and a suffix dictionary
further comprising,
Learning example sentences and the operation method of the pattern generating device.
상기 메타 정보는 상기 개체명에 관한 복수의 워드들을 포함하고,
상기 하나 이상의 학습 예문을 생성하는 단계는,
상기 생성된 어휘 패턴 내의 개체명을 상기 메타 정보 내의 하나 이상의 워드로 치환하고 상기 어미 사전을 이용하여 상기 생성된 어휘 패턴의 어미를 변환하는 단계
를 포함하는,
학습 예문 및 패턴 생성 장치의 동작 방법.
9. The method of claim 8,
The meta information includes a plurality of words about the entity name,
The step of generating the one or more learning example sentences,
replacing the entity name in the generated vocabulary pattern with one or more words in the meta information and converting the ending of the generated vocabulary pattern using the ending dictionary
containing,
Learning example sentences and the operation method of the pattern generating device.
As software stored in a computer-readable recording medium, for executing any one of claims 1 to 9, the software stored in the computer-readable recording medium.
입력 문장에 형태소 분석을 수행하여 상기 입력 문장을 복수의 단어들로 분리하고, 상기 분리된 단어들 중에서 개체명에 해당하는 타겟 단어를 인식하며, 상기 인식된 타겟 단어를 기준으로 하는 연결 단어의 가중치를 하나 이상의 설정값을 기초로 계산하고, 상기 연결 단어의 가중치 및 상기 하나 이상의 설정값을 기초로 상기 인식된 타겟 단어의 가중치를 계산하고, 상기 계산된 가중치들과 상기 입력 문장을 이용하여 하나 이상의 어휘 패턴을 생성하는 컨트롤러
를 포함하는,
학습 예문 및 패턴 생성 장치.
In the learning example sentence and pattern generating apparatus,
Separating the input sentence into a plurality of words by performing morphological analysis on the input sentence, recognizing a target word corresponding to an entity name from among the separated words, and weighting the connected word based on the recognized target word is calculated based on one or more set values, a weight of the connected word and a weight of the recognized target word are calculated based on the one or more set values, and one or more weights are calculated using the calculated weights and the input sentence. A controller that generates a lexical pattern
containing,
Learning example sentences and pattern generating device.
상기 컨트롤러는,
상기 연결 단어가 복수 개 있는 경우, 상기 복수 개의 연결 단어 중 첫번째 단어부터 상기 인식된 타겟 단어까지의 개수를 파악하고, 상기 하나 이상의 설정값 및 상기 파악된 개수를 기초로 상기 복수 개의 연결 단어 각각의 가중치를 순차적으로 계산하며, 상기 복수 개의 연결 단어 중 마지막 단어의 가중치, 상기 하나 이상의 설정값, 및 상기 파악된 개수를 이용하여 상기 인식된 타겟 단어의 가중치를 계산하는,
학습 예문 및 패턴 생성 장치.
12. The method of claim 11,
The controller is
When there are a plurality of connection words, the number from the first word of the plurality of connection words to the recognized target word is determined, and based on the one or more setting values and the number of the connection words, each of the plurality of connection words is determined. calculating weights sequentially, calculating the weight of the recognized target word using the weight of the last word among the plurality of connected words, the one or more set values, and the identified number,
Learning example sentences and pattern generating device.
상기 컨트롤러는,
제1 설정값과 상기 마지막 단어의 가중치에 곱셈을 수행하고, 상기 곱셈의 결과와 상기 파악된 개수에 나눗셈을 수행하며, 상기 나눗셈의 결과에 제2 설정값을 합한 결과를 상기 인식된 타겟 단어의 가중치로 결정하는,
학습 예문 및 패턴 생성 장치.
13. The method of claim 12,
The controller is
The first set value and the weight of the last word are multiplied, the result of the multiplication and the determined number are divided, and the result of adding the second set value to the result of the division of the recognized target word determined by weight,
Learning example sentences and pattern generating device.
상기 제2 설정값은 상기 제1 설정값보다 큰,
학습 예문 및 패턴 생성 장치.
14. The method of claim 13,
the second set value is greater than the first set value,
Learning example sentences and pattern generating device.
상기 컨트롤러는,
상기 입력 문장에서 상기 인식된 타겟 단어를 상기 개체명으로 치환하여 제1 문장을 생성하고 상기 제1 문장에 대응되는 제1 어휘 패턴을 생성하고, 상기 복수 개의 연결 단어 각각의 가중치 중 최소 가중치를 가진 연결 단어를 상기 생성된 제1 문장에서 삭제하여 제2 문장을 생성하고, 상기 생성된 제2 문장에 대응되는 제2 어휘 패턴을 생성하는,
학습 예문 및 패턴 생성 장치.
13. The method of claim 12,
The controller is
A first sentence is generated by substituting the recognized target word in the input sentence with the entity name, a first vocabulary pattern corresponding to the first sentence is generated, and a minimum weight among the weights of each of the plurality of connected words is generated. generating a second sentence by deleting a connection word from the generated first sentence, and generating a second vocabulary pattern corresponding to the generated second sentence;
Learning example sentences and pattern generating device.
상기 컨트롤러는,
상기 복수 개의 연결 단어 각각의 가중치 중 두번째로 작은 가중치를 가진 연결 단어를 상기 생성된 제2 문장에서 삭제하여 제3 문장을 생성하고, 상기 생성된 제3 문장에 대응되는 제3 어휘 패턴을 생성하는,
학습 예문 및 패턴 생성 장치.
16. The method of claim 15,
The controller is
A third sentence is generated by deleting a connection word having a second smallest weight among the weights of each of the plurality of connection words from the generated second sentence, and a third vocabulary pattern corresponding to the generated third sentence is generated. ,
Learning example sentences and pattern generating device.
상기 컨트롤러는,
상기 어휘 패턴을 정규 표현식(regular expression)으로 생성하는,
학습 예문 및 패턴 생성 장치.
12. The method of claim 11,
The controller is
Generating the lexical pattern as a regular expression (regular expression),
Learning example sentences and pattern generating device.
상기 컨트롤러는,
상기 생성된 어휘 패턴, 상기 개체명에 관한 메타 정보, 및 어미 사전을 기초로 하나 이상의 학습 예문을 생성하는,
학습 예문 및 패턴 생성 장치.
12. The method of claim 11,
The controller is
generating one or more learning example sentences based on the generated vocabulary pattern, meta information about the entity name, and a suffix dictionary,
Learning example sentences and pattern generating device.
상기 메타 정보는 상기 개체명에 관한 복수의 워드들을 포함하고,
상기 컨트롤러는,
상기 생성된 어휘 패턴 내의 개체명을 상기 메타 정보 내의 하나 이상의 워드로 치환하고 상기 어미 사전을 이용하여 상기 생성된 어휘 패턴의 어미를 변환하는,
학습 예문 및 패턴 생성 장치.19. The method of claim 18,
The meta information includes a plurality of words about the entity name,
The controller is
replacing the entity name in the generated vocabulary pattern with one or more words in the meta information and converting the ending of the generated vocabulary pattern using the ending dictionary,
Learning example sentences and pattern generating device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200175595A KR102445497B1 (en) | 2020-12-15 | 2020-12-15 | Apparatus for generating lexical pattern and training sentence and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200175595A KR102445497B1 (en) | 2020-12-15 | 2020-12-15 | Apparatus for generating lexical pattern and training sentence and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220085489A KR20220085489A (en) | 2022-06-22 |
KR102445497B1 true KR102445497B1 (en) | 2022-09-21 |
Family
ID=82217038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200175595A KR102445497B1 (en) | 2020-12-15 | 2020-12-15 | Apparatus for generating lexical pattern and training sentence and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102445497B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3064403B2 (en) * | 1990-11-20 | 2000-07-12 | 日本電気株式会社 | Automatic knowledge base generation method |
JP2018073411A (en) | 2016-11-04 | 2018-05-10 | 株式会社リコー | Natural language generation method, natural language generation device, and electronic apparatus |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101962113B1 (en) * | 2017-03-28 | 2019-07-19 | (주)아크릴 | Device for extending natural language sentence and method thereof |
KR102143157B1 (en) * | 2018-11-26 | 2020-08-11 | 주식회사 솔트룩스 | System and method for generating paraphrase sentence based on ontology |
-
2020
- 2020-12-15 KR KR1020200175595A patent/KR102445497B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3064403B2 (en) * | 1990-11-20 | 2000-07-12 | 日本電気株式会社 | Automatic knowledge base generation method |
JP2018073411A (en) | 2016-11-04 | 2018-05-10 | 株式会社リコー | Natural language generation method, natural language generation device, and electronic apparatus |
Non-Patent Citations (1)
Title |
---|
문욱성 외 1인, "수식 관계를 이용한 검색 결과 랭킹 시스템과 향상된 검색 엔진 인터페이스를 통한 검색 과정의 효율성 향상", 한국정보과학회 언어공학연구회 학술발표 논문집, 2007.10., pp.250-253. 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220085489A (en) | 2022-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6870076B2 (en) | Neural machine translation system | |
CN110287480B (en) | Named entity identification method, device, storage medium and terminal equipment | |
CN109313719B (en) | Dependency resolution for generating text segments using neural networks | |
US20210035556A1 (en) | Fine-tuning language models for supervised learning tasks via dataset preprocessing | |
JP6778654B2 (en) | Word-splitting estimation model learning device, word-splitting device, method, and program | |
CN112185361B (en) | Voice recognition model training method and device, electronic equipment and storage medium | |
Fashwan et al. | SHAKKIL: an automatic diacritization system for modern standard Arabic texts | |
KR102564692B1 (en) | System and method for processing natural language using correspondence learning | |
KR102445497B1 (en) | Apparatus for generating lexical pattern and training sentence and operating method thereof | |
KR20200084945A (en) | Morpheme analysis apparatus with high accuracy to improve quality of search in korean natural language processing and operating method thereof | |
US20140278376A1 (en) | Systems and Methods for Generating Recitation Items | |
JP6545633B2 (en) | Word score calculation device, word score calculation method and program | |
JP6564709B2 (en) | Sentence rewriting device, method, and program | |
CN114896973A (en) | Text processing method and device and electronic equipment | |
JP2013109738A (en) | Semantic label application model learning device, semantic label application device, semantic label application model learning method and program | |
Labidi | New combined method to improve Arabic POS tagging | |
US20180033425A1 (en) | Evaluation device and evaluation method | |
Birshert et al. | Call Larisa Ivanovna: Code-Switching Fools Multilingual NLU Models | |
KR102194424B1 (en) | Method for restoring sentences and apparatus thereof | |
US20240143927A1 (en) | Method for generating summary and system therefor | |
US20230140338A1 (en) | Method and apparatus for document summarization | |
Chhetri et al. | Development of a morph analyser for Nepali noun token | |
JP2019087058A (en) | Artificial intelligence apparatus for specifying omission in sentence | |
JP5585961B2 (en) | Predicate normalization apparatus, method, and program | |
JP6915373B2 (en) | Evaluation program, evaluation method and evaluation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |