KR101472029B1 - 색인요소를 이용한 자연어 분석 방법 및 시스템 - Google Patents

색인요소를 이용한 자연어 분석 방법 및 시스템 Download PDF

Info

Publication number
KR101472029B1
KR101472029B1 KR20140116275A KR20140116275A KR101472029B1 KR 101472029 B1 KR101472029 B1 KR 101472029B1 KR 20140116275 A KR20140116275 A KR 20140116275A KR 20140116275 A KR20140116275 A KR 20140116275A KR 101472029 B1 KR101472029 B1 KR 101472029B1
Authority
KR
South Korea
Prior art keywords
syllable
sentence
index element
input
reference syllable
Prior art date
Application number
KR20140116275A
Other languages
English (en)
Inventor
김창환
Original Assignee
김창환
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김창환 filed Critical 김창환
Priority to KR20140116275A priority Critical patent/KR101472029B1/ko
Application granted granted Critical
Publication of KR101472029B1 publication Critical patent/KR101472029B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 자연어를 이용한 구문분석 방법에 관한 것으로, 특히 문장성분을 구분하는 특징이 되는 색인요소를 이용하고, 이를 이용한 입력파라미터를 인공신경망에 입력시키는 방법에 의하여 형태소 분석을 위한 데이터베이스를 구비하지 않더라도 자연어로 입력된 문장에 대하여 구문분석을 할 수 있는 시스템 및 방법에 관한 것이다.

Description

색인요소를 이용한 자연어 분석 방법 및 시스템{Natural language-based syntax analysis method using index element and system thereof}
본 발명은 색인요소를 이용한 자연어 분석 방법 및 시스템에 관한 것으로, 구체적으로, 미리 설정된 색인요소들 중 어떤 색인요소가 사용되었는지를 판단하고, 이 정보를 이용하여 학습된 인공신경망을 이용하여 대상이 되는 문장의 구문분석을 하는 방법 및 시스템에 관한 것이다.
사용자가 입력한 정보를 이용하여 그 정보에 해당하는 처리 동작을 수행하는 작업은 컴퓨팅 작업에서 많은 부분을 차지하고 있다.
이러한 작업이 적용되는 대표적인 분야로는 사용자가 입력한 정보를 이용하여 사용자가 원하는 정보를 검색하는 분야, 사용자가 입력한 정보에 대응되는 명령이 수행되도록 하는 작업 등이 있다.
종래에는 이러한 검색이나 명령 처리 수행을 위해서는 주어진 형식에 맞는 정보를 입력하여야 했으나, 최근에는 사용자가 대화체의 문장을 입력하더라도 자연어 분석을 통하여 사용자의 의도를 추정하고, 그 추정된 의도에 따라 검색, 명령 수행, 사용자가 입력한 문장에 대답이 될 수 있는 채팅 내용 출력 등이 이루어지도록 하고 있다.
초기의 자연어 분석은 사용자가 입력한 문장을 형태소 분석하여 핵심이 되는 단어를 추출하고 추출된 단어를 OR 연산하는 방식으로 이루어졌으나, 점차 발전되어 구문분석을 수행하고, 그 구문분석에 더하여 의미분석을 수행하여여 보다 사용자의 의도를 명확히 파악하는 방향으로 발전이 되어 가고 있다.
구문분석을 하는 과정은 먼저 사용자가 입력한 문장에서 형태소들을 추출하고, 각 형태소의 품사, 의미와 위치를 이용하여 각 형태소가 어떤 문장성분으로 사용되었는지를 판단한다.
이렇게 구문분석을 하고 난 후에는 각 형태소를 의미는 단어의 의미 및 구문분석된 내용을 바탕으로 의미분석을 하여 최종적으로 사용자의 의도를 추측하게 된다.
구문분석을 하는 과정에서 처음하는 과정은 각 형태소를 추출하고, 그 형태소의 품사 등을 추출하는 것으로, 이러한 작업을 위해서는 형태소를 이룰 수 있는 각 단어의 기본형 및 그 단어의 변화할 수 있는 형태를 모두 저장한 데이터베이스가 있어야만 가능하다.
따라서, 구문분석만을 위해서도 대량의 데이터베이스가 필요하게 되고, 데이터베이스에 있지 않은 단어가 사용되는 경우에는 구문분석이 어렵게 된다는 단점이 있었다.
또한 형태소를 기준으로 구문분석을 하는 경우에는 단어의 의미와 위치만을 이용하여 구문분석을 하기 때문에 오류가 많이 발생하거나 구문분석이 어려운 경우가 많이 발생한다는 단점이 있었다.
특허문헌 1. 한국공개특허공보 제2002-27088호(2002.4.13 공개) (구문분석에 의거한 자연어처리기술 및 응용) 요약, 발명의 배경이 되는 기술, 청구항 1
상기한 문제를 해결하기 위해서 본 발명에서는 형태소를 이용하지 않고, 문장성분을 구분하기 위한 색인요소를 기준으로 구문분석을 수행할 수 있는 자연어 처리방법 및 시스템을 제공하는 것을 목적으로 한다.
또한, 상기한 문제를 해결하기 위해서 본 발명에서는 상기한 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위해서 본 발명은 분석될 문장을 입력받는 문장입력부; 상기 입력된 문장을 구성하는 음절 중 어느 하나의 음절을 기준음절로 설정하는 기준음절설정부; 상기 문장 중에서, 문장성분을 구분하기 위한 특징을 나타낼 수 있는 요소인 색인요소가 포함된 경우 상기 포함된 색인요소의 종류 및 상기 설정된 기준음절을 기준으로 상기 색인 요소의 위치를 나타내는 정보를 포함하는 입력파라미터를 생성하는 입력파라미터생성부; 및 상기 생성된 입력파라미터를 상기 색인요소의 위치 및 종류에 따라 구문분석을 하도록 학습된 인공신경망의 입력값으로 하여 상기 기준음절이 포함된 어절에 대한 구문분석을 수행하는 구문분석부;를 포함하는 것을 특징으로 하는 자연어분석시스템을 제공한다.
또한, 상기한 목적을 달성하기 위해서 본 발명은 분석될 문장을 입력받는 단계; 상기 입력된 문장을 구성하는 음절 중 어느 하나의 음절을 기준음절로 설정하는 단계; 상기 문장 중에서, 문장성분을 구분하기 위한 특징을 나타낼 수 있는 요소인 색인요소가 포함된 경우 상기 포함된 색인요소의 종류 및 상기 설정된 기준음절을 기준으로 상기 색인 요소의 위치를 나타내는 정보를 포함하는 입력파라미터를 생성하는 단계; 및 상기 생성된 입력파라미터를 기 색인요소의 위치 및 종류에 따라 구문분석을 하도록 학습된 인공신경망의 입력값으로 하여 상기 기준음절이 포함된 어절에 대한 구문분석을 수행하는 단계;를 포함하는 것을 특징으로 하는 자연어분석방법을 제공한다.
여기서, 상기 기준음절설정부는 상기 기준음절을 이용한 구문분석이 완료되면, 상기 입력된 문장 중 기준음절로 설정되지 않았던 다른 음절을 새로운 기준음절로 설정하고, 상기 입력파라미터생성부 및 상기 구문분석부는 상기 새로 설정된 기준음절을 기준으로 입력파라미터의 생성 및 구문분석을 수행하는 것이 바람직하다.
또한, 상기 기준음절설정부는 문장에 포함된 음절의 순서에 따라 순차적으로 기준음절이 설정되도록 할 수 있다.
또한, 상기 색인요소는 은', '는', '이', '가', '을', '를', '다' 중 적어도 하나 이상을 포함하는 것이 바람직하며, 반드시 하나의 음절로 구성되는 것이 아니라 음절의 일부를 구성하는 요소일 수도 있다.
또한, 상기 입력파라미터는 상기 기준음절과 상기 문장에 포함된 색인요소의 간격을 나타내는 정보를 더 포함할 수 있다.
한편, 상기한 목적을 달성하기 위해서 본 발명은 상기한 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명에 따르면, 색인요소만을 이용하여 구문분석을 함으로, 구문분석을 위해 별도의 데이터베이스가 필요없어 분석시스템이 경량화되고, 또한 형태소를 기준으로 분석을 하는 경우에 비하여 높을 효율을 이루는 장점이 있다.
도 1은 본 발명의 구성을 도시한 블록도
도 2는 본 발명의 방법을 도시한 흐름도
도 3은 본 발명에서 입력파라미터를 생성하는 예를 설명하기 위한 도면
도 4는 본 발명에서 입력파라미터를 생성하는 예를 설명하기 위한 도면
도 5는 본 발명에서 인공신경망을 학습시키기 위한 과정을 도시한 흐름도
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다.
한편 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 자연어 분석 시스템의 구성을 도시한 블록선도이다.
본 발명의 시스템은 문장입력부(110), 기준음절설정부(120), 입력파라미터생성부(130) 및 구문분석부(140)를 포함하여 구성된다.
문장입력부(110)는 사용자로부터 자연어분석을 위한 문장을 입력받는다.
문장을 입력받는 방법은 키입력 등을 통하여 입력을 받을 수도 있고, 음성인식방법을 통하여 입력받을 수도 있으며, 사용자가 터치스크린 등에 직접 쓴 글자를 인식하는 방법으로 입력받을 수도 있는 등 그 방법에 제한은 없다.
각각의 입력방법 자체는 본 발명이 속한 기술분야에서 널리 알려진 기술에 해당하므로 구체적인 기술에 대한 설명은 생략한다.
본 발명에서 문장이란 온전하게 문장성분을 다 구비한 문장뿐만 아니라 불완전하게 구성된 문장이나, 단어 하나로 이루어진 경우도 포함하는 것으로 한다.
기준음절설정부(120)는 문장입력부(110)에서 입력된 문장에 대하여 기준음절을 설정한다.
기준음절은 그 기준음절이 속한 문장성분이 주어, 목적어 등 어떤 문장성분에 해당하는지를 판단할 때 기준이 되는 음절이다.
기준음절설정부(120)는 입력된 문장에서 음절단위로 이동하며, 어느 하나의 음절을 기준음절로 설정하여 후술하는 입력파라미터생성부(130)에 의해 기준음절별로 입력 파라미터가 생성되도록 하고, 그에 따라 구문분석부(140)에서 그 기준음절이 속한 문장성분에 대한 판단이 내려지도록 한다.
기준음절설정부(120)는 입력된 문장의 음절 전체에 대하여 기준음절 상태인 과정을 거치도록 할 수도 있고, 입력된 문장 중 일부의 음절에 대해서만 기준음절 상태가 되도록 할 수도 있다.
입력된 문장 중 일부의 음절만이 기준음절이 되도록 하는 경우에는 색인요소를 기준으로 색인요소 사이에 위치한 하나의 음절 또는 색인요소 사이의 하나의 음절과 색인요소에 해당하는(혹은 포함하는) 하나의 음절만을 기준음절로 설정하도록 할 수 있을 것이다.
이에 대해서는 분석 과정을 설명하면서 더 자세히 설명한다.
입력파라미터생성부(130)는 각각의 기준음절을 기준으로 구문분석부(140)에 입력될 입력파라미터를 생성한다.
입력파라미터를 생성하는 과정은 다음과 같다.
도 3은 본 발명에서 입력파라미터를 생성하는 과정의 일 예를 도시한 것이다.
도 3에서 입력파라미터를 생성하기 위하여 입력된 문장은 도 3에서 도시된 바와 같이 '엄마는 외계인이 아니다'이다.
본 발명의 시스템에는 색인요소가 지정되어 있다.(특히, 입력파라미터생성부(130) 및 구문분석부(140))
본 발명에서 색인요소는 문장 내에서 문장성분의 특징을 나타낼 수 있는 구성요소를 나타내는 것으로, '은', '는', '이', '가', '을', '를', '다'와 같은 음절이 이용될 수 있다.
상기한 색인요소 중 '은, 는, 이, 가'의 경우에는 그 색인요소를 포함하는 앞부분의 몇 개의 음절이 주어를 구성할 될 확률이 높으며, '을, 를'의 경우에는 그 색인요소를 포함하는 앞부분의 몇 개의 음절이 목적어를 구성할 될 확률이 높으며, '다'의 경우에는 그 색인요소를 포함하는 앞부분의 몇 개의 음절이 서술어를 구성할 확률이 높을 것이다.
위의 예에서는 하나의 음절이 하나의 색인요소를 구성하는 경우만을 예로 들었지만, 그보다 작은 단위나 큰 단위로 색인요소가 구성되도록 하는 것도 가능할 것이다.
예를 들어, '넌'이라는 단어에서 '-ㄴ'의 경우에는 그 색인요소를 포함하는 음절이 주어가 될 확률이 높게 되므로, '-ㄴ'도 하나의 색인요소로 인정될 수 있을 것이다.
이 색인요소는 시스템 설계자에 의해 설정이 되며, 반드시 색인요소의 수가 고정되어 있을 필요는 없으며, 시스템마다 각기 다른 종류와 다른 수의 색인요소가 이용될 수 있을 것이다.
다만, 어떤 색인요소를 이용하여 시스템을 구성하느냐에 따라 자연어 분석을 위한 시스템의 성능은 달라질 수 있을 것이다. 또한, 색인요소의 수에 따라 생성되는 입력파라미터의 수는 달라지고, 구문분석부(140)에 구비되는 신경회로망의 구성도 달라지게 된다.
입력파라미터생성부(130)는 기준음절을 기준으로 문장 내 포함된 색인요소의 종류 및 위치를 나타내는 배열의 형태로 입력파라미터를 생성한다.
도 3의 경우를 예로 들어 설명한다.
도 3의 첫 번째 표는 기준음절설정부(120)가 '엄마는 외계인이 아니다'라는 문장 중 첫 번째 음절인 '엄'을 기준음절로 설정하였을 때, 입력파라미터생성부(130)에 의해 입력파라미터가 생성된 예를 도시한 것이다.
도 3에서 제1방향은 기준음절로부터 시작하여 오른쪽(뒷방향)으로 이동하는 방향이고, 제2방향은 기준음절로부터 시작하여 왼쪽방향(앞방향)으로 이동하는 방향을 나타낸다. 또한 기준음절자체라고 표기된 부분은 기준음절이 색인요소를 포함하고 있는지를 나타내는 것이다.
그리고, '1'인 경우는 해당하는 방향에 해당하는 색인요소가 존재한다는 것을 의미하고, '0'인 경우는 해당하는 방향에 해당하는 색인요소가 존재한다는 것을 의미한다.
다시 도 3으로 돌아가서, 도 3의 첫 번째 표를 보면 '엄'을 기준음절로 했을 때 문장 내 포함된 색인요소의 종류 및 위치를 나타낸다.
'엄'자 이후에 문장 내에 구비된 색인요소에 해당하는 음절은 '는', '이', '다'가 있으며, 이러한 이유로 제1방향에서 상기한 색인요소에 대응되는 값으로 1이 할당되고, 나머지 색인요소에는 0이 할당되었다.
제2방향으로 보면, '엄'자 앞에는 아무 음절이 위치하지 않으므로 색인요소도 존재하지 않고, 따라서 제2방향에 해당하는 배열은 모두 0의 값을 가지게 된다.
기준음절이 색인요소 자체인지 판단하는 배열에서는 '엄'자가 색인요소가 아니므로, 모든 색인요소에 대응되는 값이 0이 된다.
도 3의 두 번째 표를 보면, '마'자가 기준음절로 설정되었는데, '엄'자와 '마'자는 모두 앞뒤에 위치한 색인요소가 동일하므로 첫 번째 표에서 발생한 배열과 동일한 배열이 생성되게 된다.
도 3의 세 번째 표를 보면, '는'자가 기준음절로 설정되었는데, '는'자는 색인요소에 해당되게 된다.
이에 따라, 제1방향의 입력파라미터의 배열 중 '는'이 기준음절 뒤에 존재하는지를 나타내는 값은 0이 되었고, 색인요소가 기준음절자체인지 여부를 나타내는 입력파라미터의 배열에 '는'에 해당하는 값은 1이 된다.
도 3의 네 번째 표를 보면 '외'자가 기준음절로 설정되었는데, 이 경우 '외'자 앞부분에는 색인요소 '는'이 존재하게 되므로, 제2방향에 색인요소가 존재하는지 여부를 나타내는 입력파라미터 중 '는'에 해당하는 값이 1이 된다.
도 3에서는 4개의 경우만을 예로 들었지만, 기준음절설정부(120)는 '엄마는 외계인이 아니다'의 문장을 구성하는 10개 음절 각각을 순차적으로 기준음절로 설정할 것이고, 입력파라미터생성부(130)는 각각의 10개의 경우에 구문분석부(140)로 입력될 입력파라미터를 생성하게 될 것이다.
이 경우에도 기준음절설정부(120)에서 10개의 음절 전체를 다 기준음절로 설정하는 것이 아니라, 색인요소를 기준으로 색인요소 사이에 있는 위치한 음절 중 하나만을(혹은 그 하나와 색인요소를 포함하는 음절) 기준음절로 설정하고, 그 다음에 기준음절을 설정할 때에는 다음 색인요소 사이에 위치한 음절 중 하나(또는 그 하나와 색인요소를 포함하는 음절)를 기준음절로 잡도록 할 수도 있을 것이며, 이 경우에 입력파라미터생성부(130)는 기준음절설정부(120)에서 설정한 기준음절의 수만큼 입력파라미터를 생성하게 될 것이다.
예를 들어, 기준음절설정부(120)에서 최초에 발견되는 색인요소인 '는' 앞에 위치한 '엄' 또는 '마'중의 하나를 기준음절로 잡아서 입력파라미터생성부(130)를 통하여 입력파라미터를 생성한 후에는, 색인요소인 '는'을 기준음절로 잡거나, '는'과 두 번째 나오는 색인요소인 '이' 사이에 위치한 '외', '계', '인'중 하나의 음절을 기준음절로 잡을 수 있고, 입력파라미터생성부(130)는 그렇게 설정된 기준음절을 중심으로 입력파라미터를 생성할 수 있을 것이다.
한편, 도 3에서는 문장 내에 포함되는 색인요소의 종류 및 위치만을 입력파라미터로 표현할 수 있었다.
여기서, 위치는 색인요소가 기준음절 앞에 위치하는지, 색인요소가 기준음절자체에 포함되는지, 색인요소가 기준음절 뒤에 위치하는지 여부를 나타내는 것이다.
여기서 더 나아가, 입력파라미터가 기준음절과 색인요소의 간격을 나타내는 정보도 포함되도록 할 수도 있다.
예를 들어, 입력파라미터의 값을 단순히 0 또는 1로 하지 않고, 기준음절과 색인요소간의 거리차를 0~1 사이의 값으로 매핑한 값으로 나타낼 수 있을 것이다.
도 4는 이러한 예를 도시한 것으로, 도 3의 첫 번째 표의 값을 변경한 예를 도시한 것이다.
도 4에서 보듯이, '엄'을 기준음절로 하였을 때, '엄'에서 문장끝까지는 9글자의 간격이 있고, 처음 나오는 '는'의 경우에는 '엄'자와 2글자 간격이 있으므로, 입력파라미터로 주어지는 값을 0.22가 된다.
동일한 방법으로, '이'에 주어지는 입력파라미터의 값은 0.66이 되고, 마지막 글자인 '다'에 주어지는 입력파라미터의 값은 1이 된다.
이와 같은 값으로 입력파라미터를 생성하면, 어떤 색인요소가 사용되었고, 그 색인요소가 기준음절을 기준으로 앞에 존재하는지, 뒤에 존재하는지만을 나타내는 정보에 더해 해당 색인요소의 문장 내에서의 정확한 위치(및 순서)도 나타낼 수 있게 되므로 보다 더 정확성 높은 분석이 가능하게 된다.
구문분석부(140)에 입력되는 입력파라미터는 각 기준음절을 이용하여 생성되는 배열에 포함된 값들이 된다.
예를 들어, 도 3에서 '엄'을 기준음절로 했을 때의 입력파라미터는 {(0, 1, 1, 0, 0, 0, 1), (0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0)}로 총 21개의 입력파라미터가 된다(괄호'( )'는 구분의 편의를 위해 삽입한 것이다).
그러나, 입력파라미터의 값 및 형태는 색인요소의 종류 및 위치를 나타낼 수 있고, 신경회로망의 입력값이 될 수 있는 형태이기만 하면 되며, 반드시 하나의 형태만이 가능한 것은 아니다.
구문분석부(140)는 입력파라미터생성부(130)에서 생성된 입력파라미터값들을 입력받아서 해당 문장의 문장의 구문분석을 수행한다.
구문분석부(140)는 신경회로망으로 구성되며, 학습을 통하여 입력파라미터가 입력되었을 때, 해당되는 기준음절이 속하는 문장성분이 무엇인지를 연산하게 된다.
예를 들어, '-이 -다'의 형태로 색인요소가 있는 것으로 판단되는 경우에는 '-이'부분은 주어가 될 확률이 높을 것이다. 그러나, 도 3에서 예를 들은 '엄마는 외계인이 아니다'와 같이 '-는 -이 -다'와 같이 색인요소가 위치한 경우에는, 비록 뒷부분이 '-이 -다'의 형태로 색인요소가 위치하였지만, 앞의 예에서와 달리 '-이'부분이 주어가 되지 않고 보어가 된다.
이렇게 동일하게 색인요소가 위치하더라도 다른 색인요소의 영향으로 문장성분이 바뀔 수 있게 된다.
따라서, 문장을 구성하는 문장성분이 알려진 다수의 문장을 인공신경망에 입력시켜 그 인공신경망을 학습시킨 인공신경망을 구성하는 각각의 노드의 조건 및 가중치를 설정한 인공신경망이 본 발명의 구문분석부(140)를 구성하게 된다.
구문분석부(140)를 구성하는 인공신경망을 학습시키는 과정을 도 5에 도시하였다.
인공신경망을 학습시키기 위해서 필요한 구성요소는 도 1에서와 동일하지만, 구문분석부에 구비된 인공신경망이 구문분석을 하는 것이 아니라 이미 분석이 완료된 문장을 이용하여 학습을 한다는 점이 다르다.
먼저, 분석이 완료된 문장을 문장입력부(110)를 통하여 입력한다(501).
기준음절설정부(120)는 입력된 문장 중 첫 번째 음절을 기준음절로 설정하고(502), 입력파라미터생성부(130)는 기준음절을 기준으로 도 3 또는 도 4와 같은 방법으로 입력파라미터를 생성한다(503).
그 다음 생성된 입력파라미터를 구문분석부(140)를 구성하는 인공신경망에 입력한 후, 출력된 값과 입력된 문장에 미리 분석된 값을 비교하여 역전파알고리즘(Back propagation) 알고리즘 등을 이용하여 인공신경망의 학습을 하게 된다(504).
한 음절에 대하여 학습이 완료되면 그 다음 음절을 기준음절로 설정하여(506) 동일한 이러한 과정을 거치게 되며, 문장의 끝가지 인공신경망을 학습을 하게 되면(505), 하나의 문장에 대한 학습을 종료하고 다른 문장에 대한 학습을 하게 된다(507).
이렇게 다수의 문장에 대한 학습을 통하여 인공신경만을 구성하는 노드의 조건 및 가중치 등을 재설정하게 되고, 이렇게 학습된 인공신경망은 구문분석부(140)를 구성하게 된다.
한편, 구문분석부(140)는 각 음절을 기준음절로 해서 분석된 결과, 하나의 어절을 구성하는 각각의 음절에 대하여 각기 다른 결과가 나온 경우에는 보다 높은 값을 나타낸 음절의 결과가 최종 결과값이 되도록 할 수 있다.
예를 들어, 인공신경망의 출력노드가 주어를 나타내는 노드(1번 노드), 보어를 나타내는 노드(2번 노드), 서술어를 나타내는 노드(3번 노드), 이렇게 3개의 노드가 있다고 가정할 때, 도 3의 예에서 보어를 구성하는 '외계인'부분에서 '외'를 기준음절로 해서 분석을 한 경우 1번 노드(주어)의 값이 0.8, 2번 노드(보어)의 값이 0.7, 3번 노드(서술어)의 값이 0.2가 나와서, '외'가 포함된 어절의 문장성분이 주어인 것으로 결과가 나오고, '인'을 기준음절로 해서 분석을 한 경우 1번 노드(주어)의 값이 0.6, 2번 노드(보어)의 값이 0.9, 3번 노드(서술어)의 값이 0.2가 나와서, '인'가 포함된 어절의 문장성분이 보어인 것으로 결과가 나와서, 양 음절의 결과가 다르게 나왔을 때 '외'를 포함한 어절을 주어로 판단하게 한 1번 노드의 값은 0.8이고, '인'을 포함한 어절을 보어로 판단하게 한 2번 노드의 값은 0.9로, '인'에 대한 결과값(0.9)이 더 높게 나왔으므로, '외계인'이 포함된 어절은 보어로 판단한다.
도 2는 본 발명의 방법을 도시한 흐름도이다.
도 2의 방법은 기본적으로 앞에서 예를 들은 도 5의 방법과 유사하지만, 분석완료된 문장을 이용하여 인공신경망을 학습을 시키는 것이 아니라, 학습된 인공신경망을 이용하여 입력된 문장에 대한 분석결과를 도출한다는 점에서 도 5에서의 방법과 차이가 있다.
먼저, 문장입력부(110)는 사용자로부터 분석을 하고자 하는 문장을 입력받는다(201).
문장을 입력받는 방법은 키입력 등을 통하여 입력을 받을 수도 있고, 음성인식방법을 통하여 입력받을 수도 있으며, 사용자가 터치스크린 등에 직접 쓴 글자를 인식하는 방법으로 입력받을 수도 있는 등 그 방법에 제한은 없다는 점은 앞에서 설명한 바와 같다.
또한, 본 발명에서 문장이란 온전하게 문장성분을 다 구비한 문장뿐만 아니라 불완전하게 구성된 문장이나, 단어 하나로 이루어진 경우도 포함할 수 있다는 점도 앞에서 설명한 바와 같다.
기준음절설정부(120)는 문장입력부(110)에 입력된 문장 중 처음으로 기준을 삼을 음절을 기준음절로 설정한다(202), 대개의 경우 처음으로 기준을 삼을 음절을 문장의 처음에 나오는 음절이 될 것이다.
기준음절은 그 기준음절이 속한 문장성분이 주어, 목적어 등 어떤 문장성분에 해당하는지를 판단할 때 기준이 되는 음절이라는 점은 앞에서 설명한 바와 같다.
입력파라미터생성부(130)는 설정된 기준음절을 기준으로 문장에 포함된 색인요소의 종류 및 위치를 나타내는 값들의 집합인 입력파라미터를 생성한다(203).
이 입력파라미터는 도 3 또는 도 4에 기재된 방식 등을 이용하여 나타낼 수 있으며, 단순히 색인요소의 종류 및 기준음절을 기준으로 위치한 방향만이 나타나도록 할 수도 있으며(도 3), 기준음절을 기준으로 간격까지 나타내도록 할 수도 있다는 점(도 4)도 앞에서 설명한 바와 같다.
또한, 도 3 또는 도 4와 다른 방식도 가능하며, 이 경우 생성된 입력파라미터는 인공신경망의 각 입력노드에 입력이 가능한 형태이고, 기준음절을 기준으로 색인요소의 종류 및 위치를 나타낼 수만 있으면 된다는 점도 앞에서 설명한 바와 같다.
한편, 색인요소는 문장에 대한 구문분석을 위하여 시스템 설계자에 의해 설정되는 요소이며, '은', '는', '이', '가', '을', '를', '다'와 같이 문장성분의 특징을 나타낼 수 있는 요소로 구성되어 있고, 하나의 음절이 색인요소을 구성할 수도 있지만, 복수의 음절이 색인요소를 구성하도록 할 수도 있고, '-ㄴ'과 같이 완전한 글자가 아닌 글자의 일부분이 될 수도 있다는 점도 앞에서 설명한 바와 같다.
색인요소의 수에 따라 생성되는 입력파라미터의 수는 달라지고, 구문분석부(140)에 구비되는 신경회로망의 구성도 달라지게 된다는 점도 앞에서 설명한 바와 같다.
도 3과 같이 7개의 색인요소를 이용하는 경우에는 21개의 입력파라미터가 생성되며, 따라서 구문분석부(140)에 구비되는 인공신경망은 21개의 입력노드를 가지게 될 것이다.
구문분석부(140)는 입력파라미터생성부(130)에서 생성된 입력파라미터를 학습된 인공신경망의 입력값으로 하여, 기준음절이 포함된 어절의 문장성분을 나타내는 값을 출력한다(204).
기준음절설정부(120)는 문장의 끝까지 각 기준음절을 기준으로 한 구문분석이 완료되었는지를 확인하고(205), 완료되지 않았으면 다음 기준음절을 설정한다(206).
다음으로 기준이 되는 음절은 이전에 기준이 되었던 음절 다음에 위치한 음절이 될 수 있다.
그러나, 반드시 그렇지는 않으며 색인요소들을 기준으로 색인요소 사이에 하나의 음절만이 기준음절이 되도록 할 수도 있고, 색인요소들 사이의 하나의 음절과 색인요소가 포함된 음절만 기준음절이 되도록 할 수도 있다는 점은 앞에서 설명한 바와 같다.
이렇게 다음 기준음절이 설정되면, 단계(203) 이후의 과정을 다시 반복하게 된다.
문장의 전체에 대하여 기준음절을 기준으로 한 분석이 완료되면, 구문분석부(140)는 전체 문장에 대한 분석결과를 출력한다.
전체 문장에 대한 분석결과는 각 음절이 속하는 어절의 문장성분 등의 구문분석한 결과를 합치는 과정이며, 만약 동일 어절에 속하는 서로 다른 두 음절을 기준음절로 했을 때의 결과가 다른 경우에는 인공신경망을 통하여 출력된 값을 비교하여 보다 정확성이 높은 것으로 판단된 결과값을 가지는 음절의 결과값이 이용되도록 할 수 있다는 점은 앞에서 설명한 바와 같다.
본 발명의 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.

Claims (13)

  1. 분석될 문장을 입력받는 문장입력부;
    상기 입력된 문장을 구성하는 음절 중 어느 하나의 음절을 기준음절로 설정하는 기준음절설정부;
    상기 문장 중에서, 문장성분을 구분하기 위한 특징을 나타낼 수 있는 요소인 색인요소가 포함된 경우 상기 포함된 색인요소의 종류 및 상기 설정된 기준음절을 기준으로 상기 색인 요소의 위치를 나타내는 정보를 포함하는 입력파라미터를 생성하는 입력파라미터생성부; 및
    상기 생성된 입력파라미터를 상기 색인요소의 위치 및 종류에 따라 구문분석을 하도록 학습된 인공신경망의 입력값으로 하여 상기 기준음절이 포함된 어절에 대한 구문분석을 수행하는 구문분석부;를 포함하는 것을 특징으로 하는 자연어분석시스템.
  2. 제1항에 있어서, 상기 기준음절설정부는 상기 기준음절을 이용한 구문분석이 완료되면, 상기 입력된 문장 중 기준음절로 설정되지 않았던 다른 음절을 새로운 기준음절로 설정하고,
    상기 입력파라미터생성부 및 상기 구문분석부는 상기 새로 설정된 기준음절을 기준으로 입력파라미터의 생성 및 구문분석을 수행하는 것을 특징으로 하는 자연어분석시스템.
  3. 제2항에 있어서, 상기 기준음절설정부는 문장에 포함된 음절의 순서에 따라 순차적으로 기준음절이 설정되도록 하는 것을 특징으로 하는 자연어분석시스템.
  4. 제1항에 있어서, 상기 색인요소는 은', '는', '이', '가', '을', '를', '다' 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 자연어분석시스템.
  5. 제1항에 있어서, 상기 색인요소는 음절의 일부를 구성하는 요소인 것을 특징으로 하는 자연어분석시스템.
  6. 제1항에 있어서, 상기 입력파라미터는 상기 기준음절과 상기 문장에 포함된 색인요소의 간격을 나타내는 정보를 더 포함하는 것을 특징으로 하는 자연어분석시스템.
  7. 분석될 문장을 입력받는 단계;
    상기 입력된 문장을 구성하는 음절 중 어느 하나의 음절을 기준음절로 설정하는 단계;
    상기 문장 중에서, 문장성분을 구분하기 위한 특징을 나타낼 수 있는 요소인 색인요소가 포함된 경우 상기 포함된 색인요소의 종류 및 상기 설정된 기준음절을 기준으로 상기 색인 요소의 위치를 나타내는 정보를 포함하는 입력파라미터를 생성하는 단계;
    상기 생성된 입력파라미터를 기 색인요소의 위치 및 종류에 따라 구문분석을 하도록 학습된 인공신경망의 입력값으로 하여 상기 기준음절이 포함된 어절에 대한 구문분석을 수행하는 단계;를 포함하는 것을 특징으로 하는 자연어분석방법.
  8. 제7항에 있어서, 상기 자연어분석방법은
    상기 기준음절을 이용한 구문분석이 완료되면, 상기 입력된 문장 중 기준음절로 설정되지 않았던 다른 음절을 새로운 기준음절로 설정하여 상기 입력파라미터를 생성하는 단계 및 상기 구문분석을 수행하는 단계를 수행하는 것을 특징으로 하는 자연어분석방법.
  9. 제8항에 있어서, 상기 새로운 기준음절을 설정할 때에는 문장에 포함된 음절의 순서에 따라 순차적으로 기준음절이 설정되도록 하는 것을 특징으로 하는 자연어분석방법.
  10. 제7항에 있어서, 상기 색인요소는 '은', '는', '이', '가', '을', '를', '다' 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 자연어분석방법.
  11. 제7항에 있어서, 상기 색인요소는 음절의 일부를 구성하는 요소인 것을 특징으로 하는 자연어분석방법.
  12. 제7항에 있어서, 상기 입력파라미터는 상기 기준음절과 상기 문장에 포함된 색인요소의 간격을 나타내는 정보를 더 포함하는 것을 특징으로 하는 자연어분석방법.
  13. 제7항 내지 제12항 중 어느 한 항에 기재된 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR20140116275A 2014-09-02 2014-09-02 색인요소를 이용한 자연어 분석 방법 및 시스템 KR101472029B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140116275A KR101472029B1 (ko) 2014-09-02 2014-09-02 색인요소를 이용한 자연어 분석 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140116275A KR101472029B1 (ko) 2014-09-02 2014-09-02 색인요소를 이용한 자연어 분석 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101472029B1 true KR101472029B1 (ko) 2014-12-16

Family

ID=52678664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140116275A KR101472029B1 (ko) 2014-09-02 2014-09-02 색인요소를 이용한 자연어 분석 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101472029B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190119839A (ko) * 2018-04-13 2019-10-23 강원대학교산학협력단 신경망을 이용해 다양한 문체를 포함한 문장 생성 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100835706B1 (ko) 2007-07-09 2008-06-05 한국과학기술정보연구원 자동 색인을 위한 한국어 형태소 분석 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100835706B1 (ko) 2007-07-09 2008-06-05 한국과학기술정보연구원 자동 색인을 위한 한국어 형태소 분석 시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190119839A (ko) * 2018-04-13 2019-10-23 강원대학교산학협력단 신경망을 이용해 다양한 문체를 포함한 문장 생성 방법
KR102051807B1 (ko) 2018-04-13 2019-12-04 강원대학교 산학협력단 신경망을 이용해 다양한 문체를 포함한 문장 생성 방법

Similar Documents

Publication Publication Date Title
US7035789B2 (en) Supervised automatic text generation based on word classes for language modeling
KR102013230B1 (ko) 구문 전처리 기반의 구문 분석 장치 및 그 방법
JP7108675B2 (ja) 意味マッチング方法、装置、電子機器、記憶媒体及びコンピュータプログラム
US20150154305A1 (en) Method of automated discovery of topics relatedness
RU2679988C1 (ru) Извлечение информационных объектов с помощью комбинации классификаторов
JP5071373B2 (ja) 言語処理装置、言語処理方法および言語処理用プログラム
US20200342052A1 (en) Syntactic graph traversal for recognition of inferred clauses within natural language inputs
JP6605672B2 (ja) マルチラウンド入力によるサーチ方法、システム及び端末機器
US9940321B2 (en) System for machine translation
CN105512105A (zh) 语义解析方法和装置
EP4364044A1 (en) Automated troubleshooter
Antony et al. A survey of advanced methods for efficient text summarization
JP2016164707A (ja) 自動翻訳装置及び翻訳用モデル学習装置
Simionescu Graphical grammar studio as a constraint grammar solution for part of speech tagging
KR101472029B1 (ko) 색인요소를 이용한 자연어 분석 방법 및 시스템
Mills et al. Modeling natural language sentences into SPN graphs
Arwidarasti et al. Converting an Indonesian constituency treebank to the Penn treebank format
CN114201957A (zh) 文本情感分析方法、装置及计算机可读存储介质
US20180011833A1 (en) Syntax analyzing device, learning device, machine translation device and storage medium
CN113468875A (zh) 一种面向SCADA系统自然语言交互接口语义分析的MNet方法
Nevzorova et al. Corpus management system: Semantic aspects of representation and processing of search queries
Shree et al. A novel approach to Sandhi splitting at Character level for Kannada Language
CN115248846B (zh) 文本识别方法、设备、介质
CN115577090B (zh) 基于成语理解的语音对话方法、装置、设备及存储介质
Dissanayake et al. Enhancing conversational ai model performance and explainability for sinhala-english bilingual speakers

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181112

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191201

Year of fee payment: 6